大多数句子分割器都能够在正确的位置分割文本流。
我正在寻找一个模型来决定某些文本是否是句子。
最佳答案
简单的解决方案:使用解析器(例如,Stanford Parser,它是免费的并且是Java的,但有很多选项)来解析句子。如果解析器返回一个解析树(即,如果它找到一些合适的结构),则将其称为句子。如果没有,那就说不是。这种方法不需要您付出额外的努力。
需要注意的是,就其本质而言,统计解析器可能会为实际上不符合语法的句子返回“最佳猜测”解析。因此,在此方案下,不合语法的句子可能会显示为“ok”。
另一方面,如果您想根据您的系统非常具体地了解什么是或不是正确的语法,您可以编写自己的上下文 -自由语法(CFG),然后使用基于 CFG 的解析器来解析句子(你可以找到一个或实现 CKY 算法或其他东西)。这将准确告诉您该句子是否符合您提供的语法规范。
当然,这个问题涉及到“what does it mean to be a sentence”这个危险的话题,许多语言学家会为这个话题与你争论。它还回避了似乎没有任何意义的语法句子问题,例如“Colorless green ideas sleep furiously.”或无数其他语义问题。
关于java - 句子识别/检测: decide whether some text is a sentence or not,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10435702/