2016-03-24 21 views

cevap

1

Python nltk'da wordnet arabirimini deneyebilirsiniz.

WordNet'in her synset ile

yineleme ve en üst hypernym mesafesinde olacaktır:

>>> wn.synset('dog.n.1') 
Synset('dog.n.01') 
>>> wn.synset('dog.n.1').hypernym_paths() 
[[Synset('entity.n.01'), Synset('physical_entity.n.01'), Synset('object.n.01'), Synset('whole.n.02'), Synset('living_thing.n.01'), Synset('organism.n.01'), Synset('animal.n.01'), Synset('chordate.n.01'), Synset('vertebrate.n.01'), Synset('mammal.n.01'), Synset('placental.n.01'), Synset('carnivore.n.01'), Synset('canine.n.02'), Synset('dog.n.01')], [Synset('entity.n.01'), Synset('physical_entity.n.01'), Synset('object.n.01'), Synset('whole.n.02'), Synset('living_thing.n.01'), Synset('organism.n.01'), Synset('animal.n.01'), Synset('domestic_animal.n.01'), Synset('dog.n.01')]] 

bulmak için:

>>> from nltk.corpus import wordnet 
>>> from nltk.corpus import wordnet as wn 
>>> max(max(len(hyp_path) for hyp_path in ss.hypernym_paths()) for ss in wn.all_synsets()) 
20 

üst en hypernym bir synset olası yolu bulmak için en fazla bir synset:

>>> max(len(hyp_path) for hyp_path in wn.synset('dog.n.1').hypernym_paths()) 
14 
İlgili konular