我正在尝试对客户邮件进行分类。
- 邮件是快乐的还是悲伤的(情绪分析)
- 邮件是否与计费相关
我正在使用Python3,我认为我必须使用nltk和scikitNLTK -将有助于理解和阅读文本,我相信Scikit -将进行分类(快乐,悲伤和计费与否)
训练数据集1:A few phrases…从一个单词到一个5到6个单词的句子。(1代表高兴,0代表不高兴)……下面的几个例子
- 好. . 1
- 棒. . 1
- 可怕. . 0
- 混乱…0
- 放慢…0
训练数据集2:几个短语表示计费相关问题…(以下几个例子)
- 关于我的账单的问题 <
- 账单费用/gh>
- 我的账单太高了
- 付款拒绝
从概念的角度来看,这似乎是直截了当的我在哪里可以找到一些基本的代码,告诉我
- 如何使用自己的培训数据
- 我如何将电子邮件文本加载为输入并吐出快乐或悲伤的答案…
关于您的数据集,您的方法几乎是基于词典的,因为项目包含很少的单词。
对于计费,基于词典的方法应该是一个好主意。你应该重视邮件的主题。
对于情感分析,您有两个选择:
机器学习:在这种情况下,你应该使用更大的数据集(在我看来,每个项目应该是一个完整的电子邮件)。您可以按照本教程实现朴素贝叶斯分类器。
基于词汇的方法:情感分析有几个词汇,例如SentiWordNet(可从
nltk.download()
下载),MPQA, SentiStrength, WordNet-Affect通过WNAffect,…预处理:标记化(nltk.word_tokenize()
)和词性标注(nltk.pos_tag(text)
)。你还应该考虑否定(极性转换是一个很好的方法来管理否定)。
机器学习提供最好的结果,所以如果你有足够的注释电子邮件,这是一个不错的选择。