关于python 3.x:用字符串中随机选择的同义词替换单词?

Replacing a word by randomly selected synonyms in a string?

我在python中发现了以下代码,它们执行相同的工作,但只替换为手动选择的同义词。

1
2
3
4
5
6
7
8
9
10
11
12
import nltk
from nltk.corpus import wordnet
synonyms = []
string="i love winter season"

for syn in wordnet.synsets("love"):
    for l in syn.lemmas():
        synonyms.append(l.name())
print(synonyms)    
rep=synonyms[2]    
st=string.replace("love",rep, 1)
print(st)

rep=synonyms[2] will be taking any synonym at index 2

我要用随机选择的同义词替换所选单词?


如果我正确理解您的问题,您需要从列表中选择一个随机元素。这可以在python中完成,如下所示:

1
2
import random
random.choice (synonyms)

正如这里的回答