使用 NLTK ieer 或 conll2000 语料库训练 NER 语料库

Train corpus for NER with NLTK ieer or conll2000 corpus

我一直在尝试为特定域和新实体训练命名实体识别模型。好像还没有完整的适合这个的pipeline,需要使用不同的包。

我想给NLTK一个机会。我的问题是,如何使用 ieer 语料库训练 NLTK NER 来分类和匹配新实体?

我当然会提供 IOB 格式的训练数据,例如:

We PRP B-NP
saw VBD O
the DT B-NP
yellow JJ I-NP
dog NN I-NP

估计得自己打标签了

当我有这种格式的文本文件时,接下来我该做什么?使用 ieer 语料库或更好的语料库 conll2000 训练我的数据的步骤是什么?

我知道那里有一些文档,但我不清楚在标记了训练语料库之后要做什么。

我想使用 NLTK,因为我想使用 relextract() 函数。

请指教

谢谢

nltk 提供了你需要的一切。阅读 nltk 书的第 6 章 Learning to Classify Text. It gives you a worked example of classification. Then study sections 2 and 3 from Chapter 7,它向您展示了如何使用 IOB 文本并编写分块分类器。虽然示例应用程序不是命名实体识别,但代码示例几乎不需要更改即可工作(当然,您需要自定义特征函数才能获得不错的性能。)

您还可以使用 nltk 的标注器(或其他标注器)将 POS 标记添加到您的语料库中,或者您可以抓住机会并尝试在没有词性标记的数据上训练分类器(只是 IOB命名实体类别)。我的猜测是词性标注会提高性能,如果在训练数据上使用与评估(并最终用于生产)相同的词性标注器,您实际上会好得多。