>我有csv文件,其中包含2列"投诉详细信息"和"处置代码"。我想将投诉详细信息分为8 类不同的处理代码,例如"门从内部锁定"、"供应商错误"、"钥匙或锁丢失"......数据集如图所示。在此处输入图像描述
什么是分类和查找准确性的好方法。
最初,我正在尝试从投诉详细信息中删除停用词,然后使用朴素贝叶分类器
代码如下:
import csv
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
your_list=[]
with open('H:/Project/rash.csv', 'r') as f:
reader = csv.reader(f)
your_list = list(reader)
print(your_list)
stop_words=set(stopwords.words("english"))
words= word_tokenize(your_list)
filteredSent=[]
for w in words:
if w not in stop_words:
filteredSent.append()
print(filteredSent)
但是我收到以下错误:-
对于 self._lang_vars.period_context_re().finditer(text) 中的匹配:类型错误:预期的字符串或类似字节的对象
您的代码永远不会到达停用词,因为错误是由于误用word_tokenize()
造成的。它需要在单个字符串上调用,而不是在整个数据集上调用。您可以像这样标记数据:
for row in your_list:
row[0] = word_tokenize(row[0])
现在,您需要重新考虑代码的其余部分。你有一个完整的句子列表,而不仅仅是一个。使用像上面这样的循环,这样你就可以一次检查一个句子的单词。