Python NLTK/NLP构建多对多/多标签主题分类器

Python NLTK/NLP构建多对多/多标签主题分类器,python,statistics,nlp,machine-learning,nltk,Python,Statistics,Nlp,Machine Learning,Nltk,我有一个人类标记的语料库,包含5000多个主题索引的XML文档。它们的大小从几百KB到几百MB不等。与手稿相比短文的。它们都被索引到了段落级别。我很幸运有这样一个语料库,我正在努力教自己一些NLP的概念。诚然,我才刚刚开始。到目前为止,只阅读免费提供的NLTK书籍,略读雅各布斯(?)NLTK食谱。我喜欢尝试一些想法 有人向我建议,也许,我可以使用双图并使用朴素贝叶斯分类来标记新文档。我觉得这是错误的做法。一个朴素的贝叶斯(naivebayes)精通于一种真/假关系,但要在我的分层标记集上使用它,

我有一个人类标记的语料库,包含5000多个主题索引的XML文档。它们的大小从几百KB到几百MB不等。与手稿相比短文的。它们都被索引到了段落级别。我很幸运有这样一个语料库,我正在努力教自己一些NLP的概念。诚然,我才刚刚开始。到目前为止,只阅读免费提供的NLTK书籍,略读雅各布斯(?)NLTK食谱。我喜欢尝试一些想法

有人向我建议,也许,我可以使用双图并使用朴素贝叶斯分类来标记新文档。我觉得这是错误的做法。一个朴素的贝叶斯(naivebayes)精通于一种真/假关系,但要在我的分层标记集上使用它,我需要为每个标记构建一个新的分类器。将近1000个。我有足够的内存和处理器来完成这项任务,但对结果表示怀疑。然而,我将首先尝试这种方法,以满足某些人的要求。我可能会在接下来的一两天内完成这项工作,但我预测准确率很低

所以我的问题有点开放。很大程度上,由于学科的性质以及对我的数据的普遍不熟悉,很可能很难给出准确的答案

  • 什么样的分类器适合此任务。如果我错了,那么Bayes可以用于多种真/假操作

  • 对于这样的任务,我应该进行什么样的特征提取。我对大人物没什么期望

  • 每个文件还包含一些引用信息,包括作者、作者性别m、f、mix(m&f)和其他(政府研究所等)、文件类型、出版日期(16美分至当前)、人类分析员和一些其他一般元素。我也很感激一些有用的描述性任务,以帮助更好地调查性别偏见、分析师偏见等数据。但我意识到这有点超出了这个问题的范围

    什么样的分类器适合此任务。如果我错了,那么Bayes可以用于多种真/假操作

    您可以轻松地构建一个多标签分类器,它可以区分该类和所有其他类。对应分类器产生正值的类是组合分类器的输出。您可以使用朴素贝叶斯算法来实现此算法或任何其他算法。(你也可以利用NB的概率输出和阈值玩把戏,但NB的概率估计是出了名的糟糕;只有它在其中的排名才有价值。)

    对于这样的任务,我应该进行什么样的特征提取


    对于文本分类,tf idf向量工作良好,但您尚未指定具体任务。文档上的任何元数据也可能起作用;试着做一些简单的统计分析。如果数据的任何特征在某些类中比在其他类中更频繁地出现,那么它可能是一个有用的特征。

    我知道您有两个任务要解决。第一个问题是,您希望根据主题(?)对文章进行标记,因此可以将文章分为多个类别/类别,因此存在多标签分类问题。有几种算法可用于解决多标签分类问题-请查阅文献。当我处理类似的问题时,我发现这篇文章非常有用:

    您要解决的第二个问题是在论文中标记作者、性别和文档类型。这是一个多类问题-每个类都有两个以上的潜在值,但所有文档都有这些类的一些值


    我认为,作为第一步,理解多类别和多标签分类之间的区别是很重要的

    看看语料库中文档之间的标准化压缩距离是否与标记相关会很有趣。因此,我没有直接的任务。有点像把我的脚放在水里。我想做的是利用我的人类标记语料库,看看我是否能够在段落级别自动标记分层本体。@matchew:然后使用任何看起来相关的功能,尝试多种设置并评估它们。没有看到数据就无法判断什么是相关的。谢谢你的帮助。非常感谢。我理解问题的复杂性,但也许我应该扩大范围。人们可能追求什么类型的特征提取。我更喜欢tf idf而不是bi-grams。但是其他的东西通常是有用的。我知道没有正确的答案。另外,我将把这个问题留待几天,希望能鼓励更多人讨论我的问题。@matchew:文档功能的其他选项包括潜在Dirichlet分配的输出或其他主题检测模型和元数据,如作者/标题(可能已学习)相对于文本本身增强它们的权重。您还可以考虑将文本进行词干化/转换,或者将其转换成单词/POS对,而不只是单词。您还可以在其中的几个空间上使用多个分类器,但是您需要一种方法来组合这些分类器。(使用SVM或MaxEnt代替NB也可以提高分类器的准确性。)非常感谢您提供的所有信息。我还有最后两个问题。1.您是否知道NLP上的任何资源提供了一个填充良好的邮件列表/留言板/IRC频道。我反对未来的问题,但这并不是为我的开放式问题和随后的长时间讨论而设计的。2.有点长,所以我会在后续回复中回答。