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

How to check if string is a valid inquiry

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

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

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

我很想获得一个现有的 js 库(或移植一些东西)来为我做这件事。我已经四处寻找了一段时间,但一无所获。

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

compromise.js

太棒了! :-)

编辑:

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

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

npm install compromise

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

var nlp = require('compromise');
var containsQuestion = nlp(myString).questions().data().length === 1;

(如上例,多题也得出否定结果)