我是NLP的新手,刚刚第一次这样做。 我正在努力解决问题。
我的问题是我有一些手动标记的文件:
doc1 - categoryA, categoryB
doc2 - categoryA, categoryC
doc3 - categoryE, categoryF, categoryG
.
.
.
.
docN - categoryX
这里我有一组固定的类别,任何文档都可以包含任意数量的标签。 我想使用此输入训练分类器,以便可以自动执行此标记过程。
由于
答案 0 :(得分:4)
您要做的事情称为多向监督文本分类(或分类)。知道要问的正确问题是问题的一半。
至于如何做到这一点,这里有两个参考:
答案 1 :(得分:3)
大多数分类器都适用于Bag of word model。有多种用例可以得到预期的结果。
通过更改不同的输入参数并检查结果,尝试最常用的多项式幼稚基础分类。
尝试使用ML Naive base(http://scikit-learn.org/0.11/modules/naive_bayes.html)
您可以查看句子分类器以及考虑句子结构。考虑到ngram概念,您可以尝试使用2,3,4,5克模型并检查结果的变化。计数矢量化器允许ngram,请查看此链接,例如 - http://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html
基于数据集功能,不是单个分类器最适合您的场景,您必须查看最适合您的不同用例。
最初的方法是,使用scikit learn开始使用简单的分类器。
将每个类别作为培训类,并使用此类
对于任何输入docX,具有训练模型的分类器
threshold
概率不同,如果匹配阈值,则将该类别视为该输入类的结果。答案 2 :(得分:0)
不清楚你尝试过的是什么或者你正在使用什么编程语言但是大多数人都建议尝试使用文档向量,单词包进行文本分类(只要文档中有单词可以帮助分类)
以下是一些可以帮助您入门的简单工具
Weka http://www.cs.waikato.ac.nz/ml/weka/ (GUI & Java)
NLTK http://www.nltk.org (Python)
Mallet http://mallet.cs.umass.edu/ (command line & Java)
NUML http://numl.net/ (C#)