小编典典

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

algorithm

是否有开源Java库/算法可用于查找特定文本是否是问题?
我正在研究一个问答系统,该系统需要分析用户输入的文本是否是一个问题。
我认为可以通过使用开源NLP库来解决此问题,但显然它比简单的语音标记更为复杂。因此,如果有人可以改用现有的开源NLP库来告诉算法,那也很好。
如果您知道使用数据挖掘解决此问题的库/工具包,也请告诉我。尽管很难获得足够的数据来进行培训,但是我将能够使用堆栈交换数据进行培训。


阅读 629

收藏
2020-07-28

共1个答案

小编典典

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

(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。

2020-07-28