如何找出一个句子是否是一个疑问句(疑问句)?
是否有开源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