1
はnltkでかなり新しいです。彼らはWordNetのデータベース内の同じSYSNETに属しているかどうかを確認する方法はあり2つの単語を指定すると、それらが同じsynset内にあるかどうかを調べる
- W1およびW2二つの単語を考える:私は、私が現在働いている 問題への解決策を見つけるためにしようとしていますか?
- また、特定の単語を含むsysnetsのリストを見つけることは可能ですか?
ありがとうございます。
はnltkでかなり新しいです。彼らはWordNetのデータベース内の同じSYSNETに属しているかどうかを確認する方法はあり2つの単語を指定すると、それらが同じsynset内にあるかどうかを調べる
ありがとうございます。
また、 という単語を含むsysnetsのリストを見つけることは可能ですか?
はい:
>>> for ss in wn.synsets(car):
... assert 'car' in ss.lemma_names()
...
>>> for ss in wn.synsets(car):
... print 'car' in ss.lemma_names(), ss.lemma_names()
...
True [u'car', u'auto', u'automobile', u'machine', u'motorcar']
True [u'car', u'railcar', u'railway_car', u'railroad_car']
True [u'car', u'gondola']
True [u'car', u'elevator_car']
True [u'cable_car', u'car']
:我々はwn.synsets(car)
からすべてのsynsetに補題を見れば
>>> from nltk.corpus import wordnet as wn
>>> auto, car = 'auto', 'car'
>>> wn.synsets(auto)
[Synset('car.n.01')]
>>> wn.synsets(car)
[Synset('car.n.01'), Synset('car.n.02'), Synset('car.n.03'), Synset('car.n.04'), Synset('cable_car.n.01')]
は、私たちが "車" を見つけることは補題の一つとして存在します注:補題は必ずしも表面語ではありません。Stemmers vs Lemmatizersを参照してください。また、この情報はhttps://github.com/alvations/pywsd/blob/master/pywsd/utils.py#L66(免責事項:恥知らずプラグ)二つの単語のW1およびW2を考える
は、彼らがWordNetのデータベース内の同じSYSNETに属している かどうかを確認する方法はありますか?
はい:
>>> from nltk.corpus import wordnet as wn
>>> auto, car = 'auto', 'car'
>>> wn.synsets(auto)
[Synset('car.n.01')]
>>> wn.synsets(car)
[Synset('car.n.01'), Synset('car.n.02'), Synset('car.n.03'), Synset('car.n.04'), Synset('cable_car.n.01')]
>>> auto_ss = set(wn.synsets(auto))
>>> car_ss = set(wn.synsets(car))
>>> car_ss.intersection(auto_ss)
set([Synset('car.n.01')])