判断文本输入的语法有效性



我正在寻找一些方法来确定文本输入是否采用有效句子的形式;如果没有,我想向用户提供一个警告。我想警告用户的输入示例:

"狗帽能啊!">

slkjds dsak">

这似乎是一个困难的问题,因为语法通常来自textbank,并且提供的句子输入中的单词可能不会出现在语法中。解析器似乎也会假设文本输入是由有效的英语单词组成的。(这只是我从斯坦福NLP的GUI工具中得到的简单启示)。我的问题如下:

  1. 是否有一些工具可以扫描文本输入并确定它是否由有效的英语单词组成,或者至少提供一个概率?如果没有,我可以写这个,只是想知道它是否已经存在。我认为这是确定语法正确性之前的第一步。
  2. 我的理解是,判断一个句子是否语法正确,只需尝试解析句子,看看是否可能。这准确吗?是否有概率解析器在遇到歧义时提供一定程度的置信度?(例如,专有名词不被识别)
  3. 我不太想问最后一个问题,因为我在十多年前就看到有人问过这个问题,但是关于NLTK是否有一个基本的、现成的语法有什么更新吗?我知道英语并不简单,但我真的只是想解析相对简单的单句输入。

谢谢!

首先是在语言可接受性语料库(CoLA)任务上训练的分类模型。最近有几篇博客文章介绍了如何为这项任务微调HuggingFace (python)的BERT模型。下面就是这样一篇博客文章。你还可以在HuggingFace模型动物园中找到各种BERT口味的可乐模型。

最新更新