Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用WordNet查找两个单词是否为同义词_Python_Loops_Wordnet_Synset - Fatal编程技术网

Python 使用WordNet查找两个单词是否为同义词

Python 使用WordNet查找两个单词是否为同义词,python,loops,wordnet,synset,Python,Loops,Wordnet,Synset,我的线圈有问题。如果这个意义上的任何引理与word2匹配,我需要它只打印一次“同义词”,否则“不是同义词”,但只打印一次 from nltk.corpus import wordnet as wn word1 = 'motorcar' word2 = 'automobile' for syn in wn.synsets(word1): for lemma in syn.lemma_names(): if lemma == word2 and lemma != word

我的线圈有问题。如果这个意义上的任何引理与word2匹配,我需要它只打印一次“同义词”,否则“不是同义词”,但只打印一次

from nltk.corpus import wordnet as wn

word1 = 'motorcar'
word2 = 'automobile'

for syn in wn.synsets(word1):
    for lemma in syn.lemma_names():
        if lemma == word2 and lemma != word1:
            print('Synonyms')
        elif all(syn.lemma_names()) != word2:
            print('not synonyms')

通常的模式是在循环外初始化变量,然后在循环结束时报告结果。大概是这样的:

from nltk.corpus import wordnet as wn

word1 = 'motorcar'
word2 = 'automobile'

for syn in wn.synsets(word1):
    is_synonym = False
    for lemma in syn.lemma_names():
        if lemma == word2 and lemma != word1:
            is_synonym = True
    print('Synonyms' if is_synonym else 'not synonyms')

通常的模式是在循环外初始化变量,然后在循环结束时报告结果。大概是这样的:

from nltk.corpus import wordnet as wn

word1 = 'motorcar'
word2 = 'automobile'

for syn in wn.synsets(word1):
    is_synonym = False
    for lemma in syn.lemma_names():
        if lemma == word2 and lemma != word1:
            is_synonym = True
    print('Synonyms' if is_synonym else 'not synonyms')

相同的结果,但将所有引理列表合并到一个名为“名称”的列表中,而不是使用pivot boolean:

from nltk.corpus import wordnet as wn

word1 = 'motorcar'
word2 = 'automobile'

names = []
for syn in wn.synsets(word1):
    for lemma in syn.lemma_names():
        names.append(lemma)

print('Synonyms' if word2 in names else 'not synonyms')

相同的结果,但将所有引理列表合并到一个名为“名称”的列表中,而不是使用pivot boolean:

from nltk.corpus import wordnet as wn

word1 = 'motorcar'
word2 = 'automobile'

names = []
for syn in wn.synsets(word1):
    for lemma in syn.lemma_names():
        names.append(lemma)

print('Synonyms' if word2 in names else 'not synonyms')

我最近编写并发布了一个名为的Python库,可以用来查找同义词、反义词和单词的定义

from wordhoard import synonyms

word1 = 'motorcar'
word2 = 'automobile'

synonym_list = synonyms.query_wordnet(word1)
find_word = [word for word in synonym_list if word == word2]

if find_word is not None:
   print(f'{word2} is a synonym of {word1}')
   # print output
   automobile is a synonym of motorcar.
else:
   print(f'{word2} is not a synonym of {word1}')
我发现wordnet非常有限。例如,这些是wordnet中motorcar的同义词:

WordPald设计用于查询其他来源。例如,下面的查询返回单词motorcar的128个同义词


如果您决定使用WordPald,请告诉我它在您的用例中是如何工作的。

我最近编写并发布了一个名为的Python库,可用于查找同义词、反义词和单词定义

from wordhoard import synonyms

word1 = 'motorcar'
word2 = 'automobile'

synonym_list = synonyms.query_wordnet(word1)
find_word = [word for word in synonym_list if word == word2]

if find_word is not None:
   print(f'{word2} is a synonym of {word1}')
   # print output
   automobile is a synonym of motorcar.
else:
   print(f'{word2} is not a synonym of {word1}')
我发现wordnet非常有限。例如,这些是wordnet中motorcar的同义词:

WordPald设计用于查询其他来源。例如,下面的查询返回单词motorcar的128个同义词


如果您决定使用WordPald,请让我知道它如何适用于您的用例。

Hi!我不确定你需要什么。。。您是否已经尝试在
print('Synonyms')
之后放置
break
return
?对我来说(使用“流行”数据集),它输出
非同义词非同义词同义词非同义词非同义词
嗨!我不确定你需要什么。。。您是否已经尝试在
print('Synonyms')
之后放置
break
return
?对我来说(使用“流行”数据集),它输出
非同义词非同义词同义词非同义词非同义词