如何找出一个句子是否是一个疑问句(疑问句)?

是否有开源Java库/算法可用于查找特定文本是否是问题?

我正在研究一个问答系统,该系统需要分析用户输入的文本是否是一个问题。

我认为可以通过使用开源NLP库来解决此问题,但显然它比简单的语音标记更为复杂。因此,如果有人可以改用现有的开源NLP库来告诉算法,那也很好。

如果您知道使用数据挖掘解决此问题的库/工具包,也请告诉我。尽管很难获得足够的数据来进行培训,但是我将能够使用堆栈交换数据进行培训。

回答:

在问题的句法解析中,正确的结构应为:

(SBARQ (WH+ (W+) ...)

(SQ ...*

(V+) ...*)

(?))

因此,使用任何可用的语法解析器,带有SBARQ节点且具有嵌入式SQ(可选)的树将作为输入表示问题的指示。WH +节点(WHNP / WHADVP /

WHADJP)包含问题词干(谁/什么/何时/何地/为什么/如何),并且SQ包含倒置短语。

即:

(SBARQ 

(WHNP

(WP What))

(SQ

(VBZ is)

(NP

(DT the)

(NN question)))

(. ?))

当然,拥有大量的前置子句会导致解析错误(可以解决),以及确实写得不好的问题。例如,该帖子的标题“如何找出一个句子是否是一个问题?”

将具有SBARQ,但没有SQ。

以上是 如何找出一个句子是否是一个疑问句(疑问句)? 的全部内容, 来源链接: utcz.com/qa/420315.html

回到顶部