使用WordNet和NLTK替换语料库中的同义词 - python
试着编写简单的python脚本,它将使用NLTK来查找和替换txt文件中的同义词。
以下代码给出了错误:
Traceback (most recent call last):
File "C:UsersNedimDocumentssinon2.py", line 21, in <module>
change(word)
File "C:UsersNedimDocumentssinon2.py", line 4, in change
synonym = wn.synset(word + ".n.01").lemma_names
TypeError: can only concatenate list (not "str") to list
这是代码:
from nltk.corpus import wordnet as wn
def change(word):
synonym = wn.synset(word + ".n.01").lemma_names
if word in synonym:
filename = open("C:/Users/tester/Desktop/test.txt").read()
writeSynonym = filename.replace(str(word), str(synonym[0]))
f = open("C:/Users/tester/Desktop/test.txt", 'w')
f.write(writeSynonym)
f.close()
f = open("C:/Users/tester/Desktop/test.txt")
lines = f.readlines()
for i in range(len(lines)):
word = lines[i].split()
change(word)
没有找到相关结果
已邀请:
2 个回复
程琶
为陡土
第二,
返回一个字符串列表,而你的
函数似乎一次只能操作一个单词。这就是导致例外的原因。你的
实际上就是一个清单。 如果要处理该行上的每个单词,请将其显示为: