流派分类文件

时间:2017-03-21 09:07:33

标签: machine-learning nlp classification text-classification categorization

我正在寻找图书馆的任何机器学习或其他什么并不重要,这将有助于我对我所拥有的内容进行分类。基本上我的内容是写的文章,我想知道哪些是政治或运动bla bla所以我对它们进行了分类。

我正在尝试openNLP,但无法让它按照我的需要运行,还有什么可以解决我的需求吗?

我想我需要使用自然语言处理NLP进行某种机器学习,但是我找不到能够完成我工作的东西。

2 个答案:

答案 0 :(得分:1)

这是 天真的实施 ,但您可以进一步即兴发挥。要对类别下的段落进行分类,首先尝试提取特定主题的训练数据的唯一词。

例如:使用 NLTK 从段落集合中提取关于体育的唯一单词并将其存储在集合中。然后类似地为其他主题做它并将它们存储在集合中。现在减去集合中的常用单词,以便您现在可以找到可能代表特定主题的特定唯一单词。

所以,现在当你输入一个段落时,它应该给你一个热门的输出。 现在 合并列表中的所有唯一字词。

现在,在分析段落时,如果找到这些词,只需将它们设为1。

比如,在分析了您的第一段后,您可能会得到结果,

[0,0,1,0,1,...... 1,0,0] - >因此,这表示找到位置3中的唯一单词等等。

因此,您的训练数据将作为 单热编码的输入和输出。 即,如果你有三个类别,如果你的第一个段落属于第一个主题,那么结果就像[1,0,0]。

收集许多输入和结果进行训练,然后用新输入进行测试。你会在它适合的主题上获得更高的概率。

您可以使用 基本神经网络 和正常的softmax丢失功能进行训练。这可能需要一个小时的时间。

一切顺利。

答案 1 :(得分:0)

我建议使用两种方法,这取决于您的数据:

首先,如果您已经知道文本数据中将包含多少个类,例如体育与政治与科学。在这种情况下,您可以使用监督学习算法(SVM,MLP,LR ..)。

在第二种情况下,您不知道您将在数据中遇到多少课程,最好使用无监督学习算法LDA或LSI,它将对具有相似主题的文档进行聚类,您将只必须手动检查每个群集中的一些文档并为其分配标签。

对于您的数据表示,您可以使用SKlearnSPARK计数器来创建BoW(Bag of Word)向量以提供给您的学习算法。

如果你的词汇量很大,我会补充说它是最好的(内存效率更高,速度更快)来使用scipy稀疏向量。