使用机器学习对大文本进行分类

2024-03-29 01:56:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个大的xls文档,其中每一行都包含一个问题id、它的描述和expl的类别:category 1-a-a1

我正在尝试建立一个机器学习模型,帮助我根据类别对文档进行分类。我们的目标是为每个新条目(又称新问题描述)定义其各自的类别。在

限制条件: 我有超过10个类别,也是层次结构(类别1有不同的子类别,每个子类别有不同的子类别)。我在考虑分级分类或多类分类,但不知道。在

描述功能是一个长文本。我在想多项式逻辑回归,但我读到它需要数值数据。我需要把文档中使用的所有单词都编成字典来给它一个数值吗?这是正确的选择吗?在

我还想对每个新条目进行评分,以便对最近的类进行分类(对于新的描述X,类别2-B-b1给出80%的分数)


Tags: 文档模型机器id目标定义a1分类
2条回答

一个好的方法是将.xls文件转换为pandas数据帧,并使用fasttexthttps://fasttext.cc/创建一个文本分类模型,任何新文本都将被分类到其各自的类别中。 请参阅https://github.com/facebookresearch/fastText以获取正确的文档。在

您可以使用的策略之一是Bernoulli naivebayes(https://en.wikipedia.org/wiki/Naive_Bayes_classifier)。在

这是一个简单的数学方程,它允许你将问题简化为每个类别的单词频率的简单列表。在

一旦您为已知属于适当类别的文本建立了一个有意义的词频基线,该公式将能够为新文本返回每个类别中匹配的概率。在

这可以给出一个非常大的单词x类别矩阵,但是每个元素的处理非常简单。根据您的容量和性能要求,可以对公式进行优化,将计算限制在实际出现在文本中的单词,从而分类并跳过与其他单词相关的因素,这些单词之前已经见过,但在文本中没有出现(如果Bernoulli分类器与您的解决方案相关,我可以详细说明这一点)。请注意,在Python中可能存在该分类器的现有实现(我还没有检查过)。在

相关问题 更多 >