解析句子时检测标点符号错误

时间:2015-01-08 08:03:33

标签: stanford-nlp

我目前正在测试stanfordNLP,更准确地说是coreNLP来解析一堆评论。在我的第一次测试期间,由于我的输入字符串有一个标点符号错误,我遇到了句子检测/分裂的小问题。

这里是输入:

  

我们带了两个房间,发现酒店很愉快。工作人员非常   很有帮助。因为我们没时间,我们没有吃早餐。

正如你所看到的那样,第二句中的标点符号在点之后缺少一个空格,因此coreNLP没有检测到有3个句子而是2个而是处理了令牌" help.We"作为名词。

有没有办法在预处理或其他方面检测和纠正这些标点符号错误,以便coreNLP能够正确检测3个句子?

是否还有其他与我应该寻找的类似的警告?

谢谢!

1 个答案:

答案 0 :(得分:1)

据我所知,在CoreNLP中自动执行此操作没有任何实用工具。句子拆分器是一个基于规则的工具,没有考虑到这个问题。

您可以通过几种不同的方式进行预处理来修复它。您必须选择最适合您的用例/精确度需求的路线:

  • 强力(replace('.', '. ')
  • 基于规则(replace('.', '. ') unless preceding_token =~ /Mr|Mrs|Ms/等)
  • 概率(构建一个分类器,用于评估每个潜在的句子 - 最终字符,实际上表示句子是否最终)