如何找出一个句子是否是一个问题(疑问句)?
data-mining
java
nlp
5
0

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

参考资料:
Stack Overflow
收藏
评论
共 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 AskGo
京ICP备20001863号