def get_top_level_phrases()

in modeling/coval/conll/mention.py [0:0]


    def get_top_level_phrases(self, root, valid_tags):
        terminal_shortest_depth = float('inf')
        top_level_valid_phrases = []
        min_spans = set()
        
        if root and root.isTerminal and self.is_a_valid_terminal_node(root.tag, root.pos):
            self.min_spans.add((root.tag, root.index))

        elif root and root.children:
            for node in root.children:
                if node:
                    if node.isTerminal and self.is_a_valid_terminal_node(node.tag, node.pos):
                        self.min_spans.add((node.tag, node.index))
            if not self.min_spans:           
                for node in root.children:
                    if node.children and node.tag[0:2] in valid_tags:
                        top_level_valid_phrases.append(node)

        return top_level_valid_phrases