NLTK关系提取 - relextract.extract_rels中的自定义语料库

时间:2016-07-06 09:54:18

标签: python nlp nltk

我了解到NLTK中有一个内置函数可以根据以下内容从NER标记的句子中提取关系:

   import re

   IN = re.compile(r'.*\bin\b(?!\b.+ing\b)')

   for fileid in ieer.fileids():
       for doc in ieer.parsed_docs(fileid):
           for rel in relextract.extract_rels('ORG', 'LOC', doc, corpus='ieer', pattern = IN):
               print(relextract.rtuple(rel))

对于一般用途来说,我似乎非常有希望,但我知道relextract.extract_rels仅接受'ieer''conll2002'参数corpus。但在这种情况下,它的使用仅限于这两个语料库,不是吗?如何将它用于自己的语料库(当然,假设它是NER标记的)。

2 个答案:

答案 0 :(得分:1)

这应该是一个评论,但我没有足够的声誉。

您可以将自定义语料库作为doc参数传递给它后标记并转换为分块树列表。对于自定义语料库,您应该使用corpus='ace'

例如,在this answer中,他们使用extract_rels标记自定义语料库。

答案 1 :(得分:0)

r'.*\bin\b(?!\b.+ing\b)'正则表达式究竟代表什么?我无法消除。