Python 使用WordNet查找两个单词是否为同义词
我的线圈有问题。如果这个意义上的任何引理与word2匹配,我需要它只打印一次“同义词”,否则“不是同义词”,但只打印一次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
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
?对我来说(使用“流行”数据集),它输出非同义词非同义词同义词非同义词非同义词