Esempio n. 1
0
 def __init__(self, wordnet, dict_filename, rels_filename):
     self._wordnet = wordnet
     self._G = wordnet.G
     self._dict_filename = data_path(dict_filename)
     self._rels_filename = data_path(rels_filename)
Esempio n. 2
0
File: ukb.py Progetto: emin20/nlpkit
 def __init__(self, wordnet, dict_filename, rels_filename):
     self._wordnet = wordnet
     self._G = wordnet.G
     self._dict_filename = data_path(dict_filename)
     self._rels_filename = data_path(rels_filename)
Esempio n. 3
0
 def __init__(self, dannet_path):
     self.dannet_path = data_path(dannet_path)
     self.dannet = Dannet()
     self._words = {}
     self._wordsense_ids = count()
Esempio n. 4
0
                             if k in ['inheritance_comment', 'taxonomic'])
            edge_attr['type'] = row['name2']
            self._add_edge_unless_dup(row['synset_id'], row['value'],
                                      edge_attr)
            if row['name2'] in self.REVERSE_RELATIONS:
                reverse_edge_attr = dict(edge_attr)
                reverse_edge_attr['type'] = self.REVERSE_RELATIONS[
                    row['name2']]
                self._add_edge_unless_dup(row['value'], row['synset_id'],
                                          reverse_edge_attr)

        self._load_rows(
            "relations.csv",
            "synset_id name name2 value taxonomic inheritance_comment",
            _load_relation)

    def _add_edge_unless_dup(self, src_n, target_n, edge_attr):
        # Avoid the duplicate edges that are seemingly present in the input data
        if src_n in self.dannet.S.edge and target_n in self.dannet.S.edge[
                src_n]:
            if any(e['type'] == edge_attr['type']
                   for e in self.dannet.S.edge[src_n][target_n].values()):
                return
        self.dannet.S.add_edge(src_n, target_n, attr_dict=edge_attr)


if __name__ == '__main__':
    path = data_path('wordnets/dannet/1.4')
    loader = DannetLoader(path)
    loader.load()
    d = loader.dannet
Esempio n. 5
0
 def __init__(self, wordnet, path):
     self._wordnet = wordnet
     self._G = wordnet.G
     self._path = data_path(path)
Esempio n. 6
0
 def __init__(self, dannet_path):
     self.dannet_path = data_path(dannet_path)
     self.dannet = Dannet()
     self._words = {}
     self._wordsense_ids = count()
Esempio n. 7
0
        #             (http://wordnet.dk/download_html). Available only in
        #             Danish. Only relevant for the hyponymOf relation.
        #  inheritance_comment: A synset inherits relations from hypernyms
        #             If a relation is inherited rather than supplied for the
        #             particular synset, a text comment will state from which
        #             synset the relation stems.
        def _load_relation(row):
            # Link to Princeton Wordnet. Could possibly be imported as an empty node
            if row['value'].startswith("ENG"):
                return
            edge_attr = dict((k,v) for k,v in row.items() if k in ['inheritance_comment', 'taxonomic'])
            edge_attr['type'] = row['name2']
            self._add_edge_unless_dup(row['synset_id'], row['value'], edge_attr)
            if row['name2'] in self.REVERSE_RELATIONS:
                reverse_edge_attr = dict(edge_attr)
                reverse_edge_attr['type'] = self.REVERSE_RELATIONS[row['name2']]
                self._add_edge_unless_dup(row['value'], row['synset_id'], reverse_edge_attr)
        self._load_rows("relations.csv", "synset_id name name2 value taxonomic inheritance_comment", _load_relation)

    def _add_edge_unless_dup(self, src_n, target_n, edge_attr):
        # Avoid the duplicate edges that are seemingly present in the input data
        if src_n in self.dannet.S.edge and target_n in self.dannet.S.edge[src_n]:
            if any(e['type'] == edge_attr['type'] for e in self.dannet.S.edge[src_n][target_n].values()):
                return
        self.dannet.S.add_edge(src_n, target_n, attr_dict=edge_attr)

if __name__ == '__main__':
    path = data_path('wordnets/dannet/1.4')
    loader = DannetLoader(path)
    loader.load()
    d = loader.dannet