python - NLTK。判断一个句子是否为疑问句

标签 python nlp nltk

我正在尝试检测一个句子是问题还是陈述。除了在句子末尾寻找问号外,还有其他方法可以检测到这一点吗?我正在处理 Twitter 帖子,人们不一定会遵循 Twitter 上的问号等良好做法。

如果nltk,我也可以引用其他图书馆。现在可以工作了。

最佳答案

一个简单的方法是解析一个句子并寻找分配给它的标签。例如,解析“有没有办法做到这一点?”这句话。使用 Stanford 解析器将返回:

(ROOT
  (SQ (VBZ Is)
    (NP (EX there))
    (NP
      (NP (DT any) (JJ other) (NN way))
      (S
        (VP (TO to)
          (VP (VB do)
            (NP (DT this))))))
    (. ?)))

其中 SQ 表示“反转的是/否问题,或 wh 问题的主要条款,在 SBARQ 中的 wh 短语之后”。另一个例子:

(ROOT
  (SBARQ
    (WHNP (WP What))
    (SQ (VBZ is)
      (NP
        (NP (DT the) (NN capital))
        (PP (IN of)
          (NP (NNP Scotland)))))
    (. ?)))

其中 SBARQ 表示“由 wh-word 或 wh-phrase 引入的直接问题”。从 Python 调用外部解析器并处理其输出非常简单,例如检查 this Python interface斯坦福 NLP 工具。

关于python - NLTK。判断一个句子是否为疑问句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17879551/

相关文章:

tensorflow - Google Colab - 训练时 session 崩溃错误

python - 什么会导致 WordNetCorpusReader 没有属性 LazyCorpusLoader?

python - 重新排列点列表以达到它们之间的最短距离

python - Scrapy 立即写入 csv

python - 将 Sklearn 的 CountVectorizer 词汇表设置为短语字典

python - 修复奇怪引理的必要条件?

python - 需要帮助在词干后再次连接我的标记和短语以形成字符串

Python3 NAT打洞

python - 逆文档频率公式

nlp - 英语词形还原数据库?