0

大多数句子拆分器都能够在正确的位置拆分文本流。

我正在寻找一个模型来决定某些文本是否是句子

4

1 回答 1

4

简单的解决方案:使用解析器(例如,斯坦福解析器,它是免费的和 Java,但有很多选择)来解析句子。如果解析器返回一个解析树(即,如果它找到了一些合适的结构),则称它为一个句子。如果不是,那就说不是。这种方法不需要您付出额外的努力。

需要注意的是,就其本质而言,统计解析器可能会为实际上不合语法的句子返回“最佳猜测”解析。因此,在此方案下,不合语法的句子可能显示为“ok”。

另一方面,如果您想根据您的系统非常具体地了解什么是正确语法,您可以编写自己的上下文无关语法 (CFG),然后使用基于 CFG 的解析器来解析句子(你可以找到一个或实现 CKY 算法或其他东西)。这将准确地告诉您句子是否符合您提供的语法规范。

当然,这个问题涉及到许多语言学家会为之争执的“句子是什么意思”这个危险的话题。它还回避了似乎没有任何意义的语法句子问题,例如“无色的绿色想法疯狂地睡觉。 ”或无数其他语义问题。

于 2012-05-03T16:43:57.983 回答