无法删除停用词;自然语言处理



>我有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])

现在,您需要重新考虑代码的其余部分。你有一个完整的句子列表,而不仅仅是一个。使用像上面这样的循环,这样你就可以一次检查一个句子的单词。

相关内容

  • 没有找到相关文章

最新更新