gpt4 book ai didi

python - 使用 WordNet 和 NLTK 替换语料库中的同义词 - python

转载 作者:行者123 更新时间:2023-11-30 23:54:23 29 4
gpt4 key购买 nike

尝试编写简单的 python 脚本,该脚本将使用 NLTK 查找并替换 txt 文件中的同义词。

以下代码给我错误:

Traceback (most recent call last):
File "C:\Users\Nedim\Documents\sinon2.py", line 21, in <module>
change(word)
File "C:\Users\Nedim\Documents\sinon2.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)

最佳答案

这不是非常有效,并且不会取代单个同义词。因为每个单词可能有多个同义词。您可以选择,

from nltk.corpus import wordnet as wn
from nltk.corpus.reader.plaintext import PlaintextCorpusReader


corpus_root = 'C://Users//tester//Desktop//'
wordlists = PlaintextCorpusReader(corpus_root, '.*')


for word in wordlists.words('test.txt'):
synonymList = set()
wordNetSynset = wn.synsets(word)
for synSet in wordNetSynset:
for synWords in synSet.lemma_names:
synonymList.add(synWords)
print synonymList

关于python - 使用 WordNet 和 NLTK 替换语料库中的同义词 - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5148377/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com