【发布时间】:2018-12-06 14:29:17
【问题描述】:
我正在尝试在 Python 中开发一个简单的算法来从文本中删除停用词,但我遇到了带有重音的单词的问题。我正在使用以下代码:
import io
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
from unicodedata import normalize
import sys
reload(sys)
sys.setdefaultencoding('utf8')
stop_words = set(stopwords.words('portuguese'))
file1 = open("C:\Users\Desktop\Test.txt")
print("File open")
line = file1.read()
words = line.split()
#convert the words to lower case
words = [word.lower() for word in words]
print("Running!")
for r in words:
if r not in stop_words:
appendFile = open('finalText.txt','a')
appendFile.writelines(" "+r)
appendFile.close()
print("Finished!")
使用以下测试文件运行代码时:
E É Á A O Ó U Ú
我有这个输出:
É Á Ó Ú
它似乎无法识别重读单词,并且对 utf-8 使用“setdefaultencoding”不起作用,有谁知道我可以用来解决这个问题的解决方案吗?
【问题讨论】: