相关疑难解决方法(0)

如何获得给出偏移ID的WordNet synset?

我有一个WordNet synset偏移(例如id="n#05576222").鉴于此偏移,我如何使用Python获取synset?

python nlp nltk wordnet python-2.7

14
推荐指数
3
解决办法
9176
查看次数

如何使用Python NLTK计算WordNet中两个形容词之间的最短路径(测地)距离?

使用几种内置的相似性度量可以轻松地计算WordNet中两个同义词集之间的语义相似性,例如:

synset1.path_similarity(synset2)
Run Code Online (Sandbox Code Playgroud)

synset1.lch_similarity(synset2),Leacock-Chodorow相似度

synset1.wup_similarity(synset2),吴帕尔默相似

(如此处所示)

然而,所有这些都利用了WordNet的分类关系,这些关系是名词和动词的关系.形容词和副词通过同义词,反义词和属性相关联.如何衡量两个形容词之间的距离(跳数)?

我尝试过path_similarity(),但正如预期的那样,它会返回'None':

from nltk.corpus import wordnet as wn
x = wn.synset('good.a.01')
y = wn.synset('bad.a.01')


print(wn.path_similarity(x,y))
Run Code Online (Sandbox Code Playgroud)

如果有任何方法来计算一个形容词与另一个形容词之间的距离,那么指出它将会非常感激.

python nlp nltk wordnet cosine-similarity

5
推荐指数
1
解决办法
2197
查看次数

从synset returns error - Python获取同义词

我正在尝试使用Wordnet获取给定单词的同义词.问题是尽管我做的和写在这里一样:在这里,它返回错误.

这是我的代码:

from nltk.corpus import wordnet as wn
import nltk

dog = wn.synset('dog.n.01')
print dog.lemma_names

>>> <bound method Synset.lemma_names of Synset('dog.n.01')>


for i,j in enumerate(wn.synsets('small')):
    print "Synonyms:", ", ".join(j.lemma_names)

>>> Synonyms: 
    Traceback (most recent call last):
      File "C:/Users/Python/PycharmProjects/PribliznostneVyhladavanie/testy.py", line 38, in         <module>
    print "Synonyms:", ", ".join(j.lemma_names)
TypeError
Run Code Online (Sandbox Code Playgroud)

我唯一想要的是说出一个单词并获得同义词列表.有谁知道什么是错的?

编辑:我尝试了另一个建议,我在这里找到stackoverflow.它也不起作用.

syns = wn.synsets('car')
print [l.name for s in syns for l in s.lemmas]

>>> TypeError: 'instancemethod' object is not iterable
Run Code Online (Sandbox Code Playgroud)

python nlp nltk wordnet

2
推荐指数
1
解决办法
3104
查看次数

标签 统计

nlp ×3

nltk ×3

python ×3

wordnet ×3

cosine-similarity ×1

python-2.7 ×1