只有正面句子的分类训练

Classification training with only positive sentences

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

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

我的想法是使用已经标记好的肯定句并对它们应用 PoS 标记器。这会给我一些有趣的信息来发现一些模式,比如最常见的词(例如:raised、increase、won)和 post 标签(例如 past/present 时态、时间和数字中的动词)。

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

请问有什么办法可以指点一下吗?

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

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

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

例如:

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

我们将在次年将 GDP 增加 3% -> 表示 NOT 事实核查候选句子:它是将来时(表示某种预测)

当真实句子在数据中相对较少时,这种情况经常发生。

1) 获取类似于您最终要分类的句子的语料库。语料库将包含真句和假句。将它们标记为虚假或非事实核查。我们假设它们都是错误的,即使我们知道事实并非如此。如果可能的话,您希望创建的 true/false 数据的比率与其实际分布大致相同。因此,如果在真实数据中有 10% 为真,那么您假设的假案例为 90% 或 9,000,而 1,000 个为真。如果您不知道分布,则将其设为 10 倍或更多。

2) 通过交叉验证对数据训练逻辑回归分类器,也就是最大熵。跟踪保留数据的高分误报。

3) 将误报重新注释为对可能是真阳性有意义的分数。这有望清除您假定的虚假数据。

4) 保持 运行 这个过程,直到你不再改进分类器。

5) 要得到你的 "fact check words" 然后确保你的特征提取器正在向你的分类器提供词并寻找那些与真实类别正相关的词——任何体面的逻辑回归分类器都应该提供该特征以某种方式称重。我使用 LingPipe,当然可以。

6) 我看不出 PoS(词性)如何帮助解决这个问题。

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

布雷克