用字符串中随机选择的同义词替换单词?

Replacing a word by randomly selected synonyms in a string?

我在 Python 中找到了以下代码,它在做同样的工作,但它只替换为手动选择的同义词。

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

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

如果我正确理解你的问题,你需要的是 select 列表中的随机元素。这可以在 python 中完成,如下所示:

import random
random.choice (synonyms)

已回答 here