【问题标题】:Causal Sentences Extraction Using NLTK python使用 NLTK python 的因果句提取
【发布时间】:2012-10-15 14:59:36
【问题描述】:

我正在从水上事故报告中提取因果语句。我在这里使用 NLTK 作为工具。我通过采用 20 个因果句子结构手动创建了我的 regExp 语法 [参见下面的示例]。构造的语法是类型

grammar = r'''Cause: {<DT|IN|JJ>?<NN.*|PRP|EX><VBD><NN.*|PRP|VBD>?<.*>+<VBD|VBN>?<.*>+}'''

现在该语法在测试集上具有 100% 的召回率(我构建了自己的玩具数据集,其中包含 50 个因果句子和 50 个非因果句子),但精度较低。我想问一下:

  1. 如何训练 NLTK 自动构建正则表达式语法 提取特定类型的句子。
  2. 有没有人尝试过提取因果句。例子 因果句是:

    • 村里的卫生条件很差,因此她不得不 健康问题。

    • 她村里的水不干净,为此她饱受折磨 来自寄生虫。

    • 由于村里的卫生条件差,她出现了健康问题。 我只想从a中提取上述类型的句子 大文本。

【问题讨论】:

    标签: nlp nltk


    【解决方案1】:

    与本书的作者进行了简短的讨论:“Python Text Processing with NLTK 2.0 Cookbook”,Mr.Jacob Perkins。他说,“句子的通用语法非常困难。我想看看你是否能找到常见的标签模式并使用它们。但你基本上是通过正则表达式匹配进行分类。解析通常用于在一个句子, 或产生一个句子的深度解析树, 但你只是想识别/提取句子, 这就是为什么我认为分类是一种更好的方法. 当你尝试这个时, 考虑将标记的单词作为特征, 因为语法可能很重要。”接受他的建议,我查看了我的因果句子,我发现这些句子有类似的词

    consequently
    as a result
    Therefore
    as a consequence
    For this reason
    For all these reasons
    Thus
    because
    since
    because of
    on account of
    due to
    for the reason
    so, that
    

    这些词确实在一个句子中连接了因果关系。使用这些连接器现在很容易提取因果句子。详细报告可以在arxiv上找到:https://arxiv.org/pdf/1507.02447.pdf

    【讨论】:

      猜你喜欢
      • 2017-10-25
      • 2020-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-29
      • 2017-03-14
      • 2019-03-16
      相关资源
      最近更新 更多