是否有开源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。