如何检查字符串是否是有效的查询

Jam*_*key 2 javascript string string-parsing

我需要确保某些字符串是有效的问题。我正在考虑如何自己写这个,但在没有相当限制的情况下,它实际上是一个相当复杂的分析,而且我确信以前一定已经做过很多次了。

我不只是谈论以疑问词开头并以问号结尾。例如,我希望所有这些都通过:

  1. 大峡谷大吗?
  2. 我知道峡谷通常都很大,但是大峡谷大吗?
  3. 我刚才在想,大峡谷是大峡谷吗?

我很想拥有一个现有的 js 库(或移植一些东西)来为我做这件事。我已经环顾了一段时间但一无所获。

  • PS 我不得不在标题中使用“询问”一词,因为“问题”一词被禁止。

Jam*_*key 5

Alex K 在我的问题下的评论中给了我所需的确切答案。

妥协.js

惊人的!:-)

编辑:

根据要求,这是一个工作示例。

在安装了npm 的终端中,输入以下内容:

npm install compromise
Run Code Online (Sandbox Code Playgroud)

现在要测试字符串 (myString) 是否包含问题,您可以使用以下命令:

var nlp = require('compromise');
var containsQuestion = nlp(myString).questions().data().length === 1;
Run Code Online (Sandbox Code Playgroud)

(在上述情况下,多次提问也会导致否定结果)