我正在从水上事故报告中提取因果语句。我在这里使用 NLTK 作为工具。我通过采用 20 个因果句子结构手动创建了我的 regExp 语法 [参见下面的示例]。构造的语法是类型
grammar = r'''Cause: {<DT|IN|JJ>?<NN.*|PRP|EX><VBD><NN.*|PRP|VBD>?<.*>+<VBD|VBN>?<.*>+}'''
现在语法在测试集上有 100% 的召回率(我建立了自己的玩具数据集,有 50 个因果句子和 50 个非因果句子),但精度很低。我想问一下:
- 如何训练 NLTK 自动构建正则表达式语法以提取特定类型的句子。
有没有人尝试过提取因果句子。示例因果句是:
村里的卫生条件很差,因此她有健康问题。
她村里的水不干净,因此她患上了寄生虫。
由于村里的卫生条件差,她有健康问题。我只想从大文本中提取上述类型的句子。