使用 NLP 自动对用户描述进行分类

数据挖掘 数据挖掘 分类 nlp 分类数据
2021-10-02 09:12:43

我有大量关于我公司拥有的产品的客户投诉文件,我想对这些描述进行数据分析,并为每个描述标记一个类别。

例如:我需要从客户投诉中弄清楚我的产品的软件硬件方面的投诉数量。目前,我正在使用 excel 进行数据分析,这确实需要大量的手动工作来获得投诉的标签名称。

NLP 中有没有办法构建和训练模型来自动化这个过程?在过去的几天里,我一直在阅读有关 NLP 的资料,看起来 NLP 有很多很好的功能可以在解决这个问题方面取得领先。有人可以指导我使用 NLP 解决这个问题的方式吗?

2个回答

处理此问题的一种方法是使用“监督分类”。在此模型中,您手动对数据子集进行分类并使用它来训练您的算法。然后,您将剩余的数据输入到您的软件中以对其进行分类。

这是通过 NLTK for Python (nltk.org) 完成的。

如果您只是在寻找“硬件”和“软件”之类的字符串,这是一个简单的用例,您可能会使用“特征提取器”获得不错的结果,它会通知您的分类器文档中哪些短语是相关的。

虽然可以实现一种自动查找关键字的方法,但听起来您已经有了一个列表,因此您可以跳过该步骤并只使用您知道的标签。(如果您的结果第一次不令人满意,您可以稍后尝试)。

这是入门的概述。如果你对最初的结果不满意,你可以通过引入更复杂的方法来改进你的分类器,例如句子分割、对话行为类型的识别和决策树。天空是极限(或者更有可能,你的时间是极限)!

更多信息在这里

Sheldon 是对的,这听起来像是一个相当典型的监督分类用例。如果您的所有客户投诉都是软件或硬件(即,零个人投诉涵盖这两个类别,并且零在这两个类别之外),那么您所需要的只是一个二元分类器,它使事情变得比其他方式更简单。

如果您正在寻找支持此类功能的基于 Java 的 NLP 工具包,您应该查看Stanford Classifier ——它在 GPL 下作为开源软件获得许可。

他们的 wiki 页面应该可以帮助您开始使用分类器——请记住,正如 Sheldon 所提到的,您需要手动注释大量数据样本作为训练集。