我已经开发了一个文本分类脚本,与nltk本书第6章中的示例非常相似。我想将客户的响应归类为“订购”,“计费”等存储桶。
我有一些我标记为训练集的答案。为简单起见,让我仅给出两个训练数据示例:
“订购新产品很容易”:“订购”
“我的帐单不正确”:“开票”
在训练了NB分类器之后,假设我对以下文档进行了分类:“此区域的服务很臭”。
分类器会给它一个标签,无论是订购还是开票,尽管二者都没有出现在训练数据中的任何单词,所以我需要知道是否有意义。
我看过_proba_dict并认为我可以使用_proba_dict来确定它是否很好,但是我还没有真正找到使用它的可靠方法。例如,有时两个标签的数字都非常低,这是您在本示例中所期望的,而其他时候则不会。
再进一步,我们可能希望将多个标签分配给单个文档。考虑:“订购很容易,但是计费是一场噩梦”。在这种情况下,我可能希望将其标记为订购和计费。再次,我认为我可以使用概率来确定一个以上的标签是否合适,但是我仍然没有看到如何做的。
任何建议将不胜感激!
谢谢
乔恩
答案 0 :(得分:0)
我认为最简单的方法是添加第三个类别“ NONE”(NONE),该类别表示不计费也不订购,并在此类上添加一些句子。然后,您将遇到一个三类问题,您的系统将能够确定文档是否与开票或订购无关。
如果要允许多标签,第一种方法可以是使用三类分类器,并对开票和订购的概率设置阈值。但是,这并不是最佳选择。
如果您想进行真正的多标签预测,则有一篇文章介绍了完整的NLP管道here