有许多工具和论文可用,它们使用基本的句子分隔符来执行此任务。
此类工具包括
-
OpenNLP
-
NLTK
可能还有其他工具。它们主要关注
(a) 如果是句号,则句子结束。(b) 如果前面的标记在我手动编译的缩写列表中,则不结束句子。(c) 如果下一个标记是大写字母,则句子结束。
有几篇论文提出了在ASR文本中进行SBD的技术
http://pdf.aminer.org/000/041/703/experiments_on_sentence_boundary_detection.pdf
http://www.icsd.aegean.gr/lecturers/kavallieratou/publications_files/icpr_2000.pdf
http://www.icsd.aegean.gr/lecturers/kavallieratou/publications_files/icpr_2000.pdf
是否有工具可以对模糊的句子进行句子检测,例如
-
约翰是演员,他的父亲史密斯先生是西北地区的顶级城市医生(2个句子)
-
自由女神像在哪里,它的高度是多少,它背后的历史是什么?(3个句子)
回答:
你想要做的是识别复合句中的独立从句。复合句是至少包含两个由并列连词连接的独立从句的句子。目前没有现成的工具可以做到这一点,但你可以通过使用成分解析树来以高精度识别复合句。
不过要小心。轻微的语法错误可能会导致解析树非常错误!例如,如果你对第一个例子使用Berkeley解析器(演示页面:http://tomato.banatao.berkeley.edu:8080/parser/parser.html),解析树并不是你所期望的,但将其改为“约翰是一个演员,他的父亲…”,你可以看到解析树整齐地分为S CC S
结构:
现在,你只需将每个句子标签S
视为一个独立从句!
遗憾的是,问题处理得不好,你可以用第二个例子来检查。