当前位置: 首页 > 面试题库 >

如何检查句子是否正确(Python中的简单语法检查)?

章光华
2023-03-14
问题内容

如何检查句子在Python中是否有效?

例子:

I love Stackoverflow - Correct
I Stackoverflow love - Incorrect

问题答案:

查看NLTK。他们支持语法,您可以使用语法来分析句子。您可以定义语法,也可以使用提供的语法以及无上下文的解析器。如果句子解析,那么它具有有效的语法;如果没有,那就没有。这些语法可能没有最广泛的覆盖范围(例如,它可能不知道如何处理StackOverflow之类的单词),但是这种方法可以让您明确说明语法中有效或无效的内容。
NLTK本书的第8章介绍了解析,并应解释您需要了解的内容。

一种替代方法是为覆盖面广的解析器(如Stanford解析器或C&C)编写python接口。这些是统计分析器,即使他们以前没有看过所有单词或语法结构,也能够理解句子。缺点是有时解析器仍会返回语法错误的句子的解析,因为它将使用统计信息来做出最佳猜测。

因此,这实际上取决于您的目标是什么。如果要非常精确地控制被认为是语法的内容,请对NLTK使用上下文无关的解析器。如果需要鲁棒性和广泛的覆盖范围,请使用统计分析器。



 类似资料:
  • 问题内容: 我有一堆字符,想删除所有不是’#’‘的字符。“ E”和“ G”。 我试图用这个: 但是遇到了不兼容类型的问题。 问题答案:

  • 问题内容: 我正在寻找一种简单的方法来检查某个字符串是否是正确拼写的英语单词。例如,“ looked”将返回True,而“ hurrr”将返回False。我不需要拼写建议或任何拼写纠正功能。只是一个简单的函数,它需要一个字符串并返回一个布尔值。 问题答案: 两种可能的方法: 有自己的文件,其中包含所有有效的单词。将文件加载到集合中并比较每个单词以查看它是否存在(集合中的单词) (更好的方法)使用P

  • 问题内容: 我是编程和处理函数的新手,如果一个句子中存在一个单词,该函数将返回true。我尝试了该方法,但是后来我也遇到了这种方法的一个问题: 假设我的句子是 如果我们看一下这个词用的方法,那么它将返回因为存在而应该是正确的输出为不存在的词,但作为一种模式。 我该如何解决此问题?到目前为止,我正在使用的代码是: 注意: 这个词只是一个例子,显示了我目前的方法中的一个问题,并不是我必须一直工作,这个

  • 例如 在laravel中,我可以用什么函数来解决这个问题?

  • 问题内容: 我想检查Python程序中英语词典中是否有单词。 我相信可能会采用nltk wordnet接口,但是我不知道如何将其用于如此简单的任务。 将来,我可能想检查单词的单数形式是否在字典中(例如,属性->属性->英语单词)。我将如何实现? 问题答案: 要获得更大的功能和灵活性,请使用专用的拼写检查库,例如。有一个教程,或者您可以直接学习: 带有一些词典(en_GB,en_US,de_DE,f

  • 然而,switchIfEmpty的工作有点出乎意料,因为它总是被调用,即使数据库中有对象。 是否可以只使用toObservable()将Maybe转换为Observable? 是否有另一种方法来检查Maybe will是否为空,然后对其执行操作?