【发布时间】:2019-06-03 20:14:40
【问题描述】:
我正在开发一个文本分类程序。我的训练数据是 700 多个文本类别,每个类别包含 1-350 个文本短语。总共 16k+ 短语。需要分类的数据是文本短语。我想对数据进行分类,因此它给了我 5 个最相似的类别。训练数据有很多常用词。
我的第一次尝试是使用 github 上的这个库来使用朴素贝叶斯定理,因为这个库非常易于使用,并且允许我将训练数据加载为字符串。但是其他用户报告了问题,当我尝试对我的数据进行分类时,我的输入要么分类错误,要么未分类。
https://github.com/ptnplanet/Java-Naive-Bayes-Classifier
所以我认为库是问题所在,所以我会尝试不同的库并研究 k 意味着聚类,因为我的数据方差很大。
所以当我查看其他库时,它们都需要输入和训练数据作为向量矩阵。我查看了 word2vec 和 td-idf 来转换文本向量。我了解 tf-idf,并且与其他文档相比,我可以得到这个词的权重。但是如何使用它将输入数据分类?每个类别都会是一个文档吗?还是所有类别都是一个文档?
编辑:数据样本
SEE_BILL-查看账单
SEE_BILL-账单余额
SEE_BILL-我的账单在哪里
SEE_BILL-找不到账单
PAY_BILL-支付账单
PAY_BILL-付款
PAY_BILL-余额不足
PAY_BILL-删除余额
PAST_BILL-上次帐单
PAST_BILL-上一个帐单
PAST_BILL-历史账单
PAST_BILL-去年的账单
【问题讨论】:
标签: java machine-learning classification svm text-classification