我从水事故报告中提取因果句.我在这里使用NLTK作为工具.我通过采用20个因果句结构手动创建了我的regExp语法[见下面的例子].构造的语法是类型的
grammar = r'''Cause: {<DT|IN|JJ>?<NN.*|PRP|EX><VBD><NN.*|PRP|VBD>?<.*>+<VBD|VBN>?<.*>+}'''
Run Code Online (Sandbox Code Playgroud)
现在语法在测试集上有100%回忆(我用50个因果句和50个非因果句构建了我自己的玩具数据集),但精度很低.我想问一下:
有没有人试图提取因果句子.例句因果句是:
村里的卫生设施很差,结果她有健康问题.
她的村庄里的水不纯净.因此,她患有寄生虫.
由于村里卫生条件差,她有健康问题.我想从大文本中只提取上述类型的句子.
与该书的作者进行了简短的讨论:"使用NLTK 2.0 Cookbook进行Python文本处理",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
Run Code Online (Sandbox Code Playgroud)
这些话确实将句子中的因果联系起来.使用这些连接器现在很容易提取因果句子.有关arxiv的详细报告:https://arxiv.org/pdf/1507.02447.pdf
| 归档时间: |
|
| 查看次数: |
1704 次 |
| 最近记录: |