我有一个用scala编写的apachespark应用程序,它对接收到的输入数据进行一些基本处理。输入数据是文本文件中的句子。我需要把有购买意向的分类。例如,如果句子是这样的:“我在哪里能买到一只蓝色的鞋子?”,那么这就算作一只。我可以用什么分类器/ml程序来构建这个?scala/java工具是合适的。我是nlp/ml的新手。谢谢你的帮助。
nmpmafwu1#
您的应用程序本质上是一个二进制分类问题。因此,您需要:准备标记数据作为训练数据集:如果每个句子有购买意图,则标记为1,如果没有,则标记为0。特征转换:你需要把自然语言句子转换成数字特征。请参考tf-idf方法。至于二元分类器,你实际上有多种选择,如朴素贝叶斯,支持向量机,决策树等,请检查spark文档的支持分类器。
3htmauhk2#
看看这个线程:基于apachespark朴素贝叶斯的文本分类然而,这根线已经有将近1年的历史了。现在spark中需要更多的支持,请参见术语频率、标记器和停止词移除器
2条答案
按热度按时间nmpmafwu1#
您的应用程序本质上是一个二进制分类问题。因此,您需要:
准备标记数据作为训练数据集:如果每个句子有购买意图,则标记为1,如果没有,则标记为0。
特征转换:你需要把自然语言句子转换成数字特征。请参考tf-idf方法。
至于二元分类器,你实际上有多种选择,如朴素贝叶斯,支持向量机,决策树等,请检查spark文档的支持分类器。
3htmauhk2#
看看这个线程:基于apachespark朴素贝叶斯的文本分类
然而,这根线已经有将近1年的历史了。现在spark中需要更多的支持,请参见术语频率、标记器和停止词移除器