特别是,我正在寻找可以区分完整句子和类似句子的语法结构(如从句和短语)的东西。如果共享具有此功能的库也将非常有帮助,但即使是指向论文的链接也将不胜感激。
例如-我希望为以下字符串返回“False”:
“通过每日醋栗,”
“等雨停”
'查看更多请返回网站主页。'
'* * *'
我希望为以下内容返回“True”:
“这是一个完整的句子。”
“不幸的是,我认为不会有半条命3。”
谢谢!
特别是,我正在寻找可以区分完整句子和类似句子的语法结构(如从句和短语)的东西。如果共享具有此功能的库也将非常有帮助,但即使是指向论文的链接也将不胜感激。
例如-我希望为以下字符串返回“False”:
“通过每日醋栗,”
“等雨停”
'查看更多请返回网站主页。'
'* * *'
我希望为以下内容返回“True”:
“这是一个完整的句子。”
“不幸的是,我认为不会有半条命3。”
谢谢!
要考虑所有示例,请首先检查文本是否完全是英文(其他人暗示的解决方案)。
如果是,那么有一个问题是什么构成了“完整的英语句子”。
从您的(两个)样本中,可以推断出应该有一个与它相关的有限形式的主语和动词。为了引起对一些“边缘情况”的关注:
“去!”
“完毕!”
要检查主谓是否存在,您可以尝试解析 - 确定文本的句法结构,但由于这仍然是一项棘手的任务,您可以使用词性标记(实际上是形态分析加消歧,但 PoS 标记使其成为名称用于任务)。例如,SpaCy 这样做https://spacy.io/usage/linguistic-features (它实际上也进行依赖解析,但错误率会高于使用“仅”PoS 标记)。
然后,您可以检查输出是否存在有限形式的动词 - SpaCy 标记集 ( https://spacy.io/api/annotation#pos-tagging ) 中的 VBZ 中的 VBD、VBP。
如前所述,已经有相关的库,但是如果你想更深入地研究,我建议你看看一个叫做 Naive Bayes 的东西。
这是一个任何人都可以理解的简单算法,如果这引起了你的注意并且你想要更复杂的东西,那么搜索 RNN 和 LSTM ......
玩得开心。