只有正面句子的分类训练

时间:2016-10-17 19:42:37

标签: nlp pos-tagger

我正在启动一个项目来构建一个自动事实检查分类器,我对要遵循的过程有一些疑问。

我有一个约1000个句子的数据库,每个句子都是一个事实检查结果。为了建立一个有监督的机器学习模型,我需要有一大组带有真/假结果的标记句子,这取决于它是否是一个事实检查候选句子。这需要花费大量的时间和精力,所以我想首先得到结果(我猜的准确度较低)而不这样做。

我的想法是使用已标记的正面句子并将PoS标记器应用于它们。这将为我提供有趣的信息,以发现一些模式,如最常见的单词(例如:提升,增加,赢得)和帖子标签(例如过去/现在时的动词,时间和数字)。

通过这个结果,我正在考虑分配权重以分析新的未分类句子。问题是权重分配将由我以“启发式”方式完成。最好使用PoS标记器的结果来训练一些以更复杂的方式分配概率的模型。

如果有办法实现这个目的,你能给我一些指示吗?

我读到了最大熵分类器和统计解析器,但我真的不知道它们是否是正确的选择。

编辑(我认为提供更多细节会更好):

使用PoS标记器解析句子将为我提供有关每个句子的有用信息,允许我过滤它们并使用一些自定义指标对它们进行加权。

例如:

贫困人口比五年前多一百万人 - >指示事实检查候选句子:现在时,动词,数字和日期,(比)比较。

我们将在第二年将GDP增加3% - >指示非事实检查候选句子:它是将来时(指示某种预测)

1 个答案:

答案 0 :(得分:4)

这种情况经常发生在真正的句子在数据中相对罕见的情况下。

1)获得一个类似于你最终将要分类的句子语料库。语料库将包含真句和假句。将它们标记为虚假或非事实检查。我们假设他们都是假的,即使我们知道情况并非如此。您希望创建的真/假数据的比率大致为其实际分布(如果可能的话)。因此,如果实际数据中有10%为真,那么假定的假案例为90%或9,000,即1000个真实。如果您不知道分布,那么只需10倍或更多。

2)使用交叉验证训练逻辑回归分类器,即数据的最大熵。跟踪持有数据的高得分误报。

3)重新注释误报,直到任何得分都有可能成为真正的积极因素。这有望清除您假定的错误数据。

4)继续运行此过程,直到您不再改进分类器。

5)要获得“事实检查单词”,请确保您的特征提取器正在向分类器提供单词并查找与真实类别正相关的单词 - 任何体面的逻辑回归分类器都应提供特征权重某种方式。我当然使用LingPipe。

6)我没有看到PoS(词性)如何帮助解决这个问题。

这种方法无法找到与训练数据非常不同的真实实例,但它可以正常工作。

Breck的

相关问题