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

标签 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'参数语料库。但在这种情况下,它的使用仅限于这两个语料库,不是吗?如何将它用于自己的语料库(当然,假设它是 NER 标记的)。

最佳答案

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

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

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

关于python - NLTK 关系提取 - relextract.extract_rels 中的自定义语料库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38221147/

相关文章:

python - 使用 Python 3 导入 f2py 模块时 undefined symbol

python - 将类映射到 Pandas 一种热门编码

nlp - 使用 Mallet 加载模型并对输入进行分类

Python re.split() 与 nltk word_tokenize 和 sent_tokenize

python - 简单的留言簿 django : __init__() takes 1 positional argument but 2 were given

python - 操作两个列表的最简洁方法,在 python 中返回列表列表

java - Perl 或 Java 情感分析

elasticsearch - 如何测量单词或非常短的文本之间的相似性

Python:如何在文本中找到 n-gram 模式?

python - 将 Wordnet 语义映射到 Verbnet