首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从一组文档中分类标注句子的最佳方法

从一组文档中分类标注句子的最佳方法
EN

Stack Overflow用户
提问于 2013-09-19 20:39:13
回答 2查看 3.4K关注 0票数 7

我有一个分类问题,我需要找到最好的方法来解决它。我有一套培训文档,文档中的一些句子和/或段落都有标记。并不是所有的句子/段落都有标签。一个句子或段落可能有多个标签/标签。我想做的是做一些模型,如果给出一个新的文件,它将为文件中的每一个句子/段落提供建议的标签。理想情况下,它只会给我高概率的建议。

如果我使用像nltk NaiveBayesClassifier这样的词,结果会很差,我认为这是因为它没有考虑到培训文档中的“未标注”句子,它将包含许多类似于标记句的单词和短语。这些文件是法律/金融性质的,其中充满了法律/金融术语,其中大部分应在分类模式中贴现。

是否有比朴素贝叶斯更好的分类算法,或者除了训练集的标记数据之外,还有什么方法将未标注的数据推入朴素贝叶斯?

EN

回答 2

Stack Overflow用户

发布于 2013-09-23 10:54:48

下面是我要做的,稍微修改一下您现有的方法:为每个可能的标记和每个句子训练一个分类器。将不表示该标记的所有句子作为标记的否定句(这将隐式计算未标记的示例)。对于一个新的测试句子,运行所有的n个分类器,并保留超过某个阈值的类作为新句子的标签。

我可能会用些别的东西,而不是天真的贝斯。如果你想要概率性的东西,逻辑回归(MaxEnt)是显而易见的选择:如果你不关心概率(我认为你现在不这么做),那么SVM是非常强大的。

这确实是一项序列标注任务,理想情况下,你也可以从附近的句子中加入预测.但据我所知,CRFs/StructSVM或其他允许实例具有多个标签的序列标记方法没有原则扩展。

票数 3
EN

Stack Overflow用户

发布于 2013-09-19 21:02:07

有没有办法将未标注的数据转化为朴素的贝叶斯?

在“标记”和“未标记”数据之间没有区别,朴素贝叶斯构建简单的条件概率,特别是P(label|attributes)P(no label|attributes),因此它在很大程度上基于已使用的处理管道,但我非常怀疑它实际上忽略了未标记的部分。如果出于某种原因,并且您不想修改代码,那么您也可以在所有剩余的文本段中引入一些人为的标签"no label“。

有没有比朴素贝叶斯更好的分类算法?

是的,NB实际上是最基本的模式,有几十种更好(更强、更一般)的模式,它们在文本标记方面取得了更好的效果,包括:

  • 隐马尔可夫模型
  • 条件随机场
  • 一般情况下,-Probabilistic图形模型
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18904498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档