NLP:检查一个检测到的句子是否是一个完整的句子。

5

在我的NLP项目中,我构建了自己的模型来识别PDF文档中的句子。现在我想检查提取出的句子是否是完整的句子。在我的研究过程中,我已经遇到了这个问题,那里提供的解决方案允许相当多的误报。有没有人可以给我一些提示,如何检查一个句子是否是完整的句子?


这听起来像是一个没有简单答案的研究问题。 - polm23
1个回答

8
这是一个不太容易的问题,因此没有一种方法适用于每种情况。你还应该考虑到,无论使用什么解析器,都可能会合并或拆分原始文档中的句子,而这些句子在解析后不再是完整的句子。
通常,与纯规则-based 方法相比,你可以使用在CoLA(语言可接受性语料库)任务上预训练的模型。这些模型尝试将句子/文档分类为“语言可接受”和“语言不可接受”的类别。
在huggingface的模型中心,有几个针对此问题进行了预训练的变压器模型,例如,这是Facebook RoBERTa模型的微调版本的推理API: 正确的句子 错误的句子 你应该查看模型的训练方式,特别是在项目符号/半句子等方面,因为一些得分可能会令人惊讶。你可能希望将模型结果与基于规则的方法相结合,例如:“如果分数为0.95或更高,并且句子至少有4个单词并以'.'、'?'或'!'结束,则该句可接受。” 你可以查看模型+基于规则的方法组合产生的句子,并不断修改规则,直到结果符合您的要求。

首先,非常感谢您详细的回答和建议!是的,尤其是项目要点对我来说很有趣。也许我应该补充一下,我的分析文档都来自于正式语言领域。 - bolli

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接