Python NLTK/NLP构建多对多/多标签主题分类器
我有一个人类标记的语料库,包含5000多个主题索引的XML文档。它们的大小从几百KB到几百MB不等。与手稿相比短文的。它们都被索引到了段落级别。我很幸运有这样一个语料库,我正在努力教自己一些NLP的概念。诚然,我才刚刚开始。到目前为止,只阅读免费提供的NLTK书籍,略读雅各布斯(?)NLTK食谱。我喜欢尝试一些想法 有人向我建议,也许,我可以使用双图并使用朴素贝叶斯分类来标记新文档。我觉得这是错误的做法。一个朴素的贝叶斯(naivebayes)精通于一种真/假关系,但要在我的分层标记集上使用它,我需要为每个标记构建一个新的分类器。将近1000个。我有足够的内存和处理器来完成这项任务,但对结果表示怀疑。然而,我将首先尝试这种方法,以满足某些人的要求。我可能会在接下来的一两天内完成这项工作,但我预测准确率很低 所以我的问题有点开放。很大程度上,由于学科的性质以及对我的数据的普遍不熟悉,很可能很难给出准确的答案Python NLTK/NLP构建多对多/多标签主题分类器,python,statistics,nlp,machine-learning,nltk,Python,Statistics,Nlp,Machine Learning,Nltk,我有一个人类标记的语料库,包含5000多个主题索引的XML文档。它们的大小从几百KB到几百MB不等。与手稿相比短文的。它们都被索引到了段落级别。我很幸运有这样一个语料库,我正在努力教自己一些NLP的概念。诚然,我才刚刚开始。到目前为止,只阅读免费提供的NLTK书籍,略读雅各布斯(?)NLTK食谱。我喜欢尝试一些想法 有人向我建议,也许,我可以使用双图并使用朴素贝叶斯分类来标记新文档。我觉得这是错误的做法。一个朴素的贝叶斯(naivebayes)精通于一种真/假关系,但要在我的分层标记集上使用它,
对于文本分类,tf idf向量工作良好,但您尚未指定具体任务。文档上的任何元数据也可能起作用;试着做一些简单的统计分析。如果数据的任何特征在某些类中比在其他类中更频繁地出现,那么它可能是一个有用的特征。我知道您有两个任务要解决。第一个问题是,您希望根据主题(?)对文章进行标记,因此可以将文章分为多个类别/类别,因此存在多标签分类问题。有几种算法可用于解决多标签分类问题-请查阅文献。当我处理类似的问题时,我发现这篇文章非常有用: 您要解决的第二个问题是在论文中标记作者、性别和文档类型。这是一个多类问题-每个类都有两个以上的潜在值,但所有文档都有这些类的一些值
我认为,作为第一步,理解多类别和多标签分类之间的区别是很重要的 看看语料库中文档之间的标准化压缩距离是否与标记相关会很有趣。因此,我没有直接的任务。有点像把我的脚放在水里。我想做的是利用我的人类标记语料库,看看我是否能够在段落级别自动标记分层本体。@matchew:然后使用任何看起来相关的功能,尝试多种设置并评估它们。没有看到数据就无法判断什么是相关的。谢谢你的帮助。非常感谢。我理解问题的复杂性,但也许我应该扩大范围。人们可能追求什么类型的特征提取。我更喜欢tf idf而不是bi-grams。但是其他的东西通常是有用的。我知道没有正确的答案。另外,我将把这个问题留待几天,希望能鼓励更多人讨论我的问题。@matchew:文档功能的其他选项包括潜在Dirichlet分配的输出或其他主题检测模型和元数据,如作者/标题(可能已学习)相对于文本本身增强它们的权重。您还可以考虑将文本进行词干化/转换,或者将其转换成单词/POS对,而不只是单词。您还可以在其中的几个空间上使用多个分类器,但是您需要一种方法来组合这些分类器。(使用SVM或MaxEnt代替NB也可以提高分类器的准确性。)非常感谢您提供的所有信息。我还有最后两个问题。1.您是否知道NLP上的任何资源提供了一个填充良好的邮件列表/留言板/IRC频道。我反对未来的问题,但这并不是为我的开放式问题和随后的长时间讨论而设计的。2.有点长,所以我会在后续回复中回答。