大多数句子分割器都能够将文本流分割到正确的位置。
我正在寻找能够决定某些文字是否为句子的模型。
答案 0 :(得分:4)
简单的解决方案:使用解析器(例如,Stanford Parser,它是免费的和Java,但有很多选项)来解析句子。如果解析器返回一个解析树(即,如果它找到一些合适的结构),则将其称为句子。如果没有,那就说不是。这种方法不需要您付出额外的努力。
需要注意的是,就其本质而言,统计解析器可能会为实际不合语法的句子返回“最佳猜测”解析。因此,在该方案下,不合语法的句子有可能显示为“ok”。
另一方面,如果您希望根据您的系统非常具体地了解是或不是正确的语法,您可以编写自己的上下文 - 自由语法(CFG),然后使用基于CFG的解析器来解析句子(你可以找到一个或实现CKY算法或其他东西)。这将告诉您正好该句子是否符合您提供的语法规范。
当然,这个问题涉及“what does it mean to be a sentence”的危险主题,许多语言学家会为此而战。它还侧重于语法句子的问题,这些问题似乎并不意味着诸如“Colorless green ideas sleep furiously.”或其他许多语义问题。