繁体   English   中英

在实践中命名实体识别

[英]Named Entity Recognition in practice

我是NLP的新手,想学习,并且想更好地了解如何在实践中实现命名实体识别(NER),例如在流行的python库(例如spaCy)中

我了解其背后的基本概念,但我怀疑我缺少一些细节。 从文档中,我不清楚例如对文本和注释数据进行了多少预处理; 以及使用什么统计模型。

您是否知道:

  • 为了工作,在训练模型之前,文本必须经过分块处理,对吗? 否则它将无法执行任何有用的操作?
  • 在训练模型之前,文本和注释是否通常已标准化? 这样,如果命名实体位于句子的开头或中间,它仍然可以工作?
  • 特别是在spaCy中,如何具体实施? 是HMM,CRF还是用于构建模型的其他东西?

抱歉,这很琐碎,我很难找到有关NER实现的易于阅读的文档。

https://spacy.io/models/en#en_core_web_md中,他们说了English multi-task CNN trained on OntoNotes 所以我想这就是他们获取网元的方式。 您可以看到管道是

标记器,解析器,ner

并在此处了解更多信息: https : //spacy.io/usage/processing-pipelines 我会尝试删除不同的组件,然后看看会发生什么。 这样,您可以看到什么取决于什么。 我很确定NER取决于标记器,但不确定是否需要解析器。 当然,所有这些都需要标记器

我不明白你的第二点。 如果一个实体在句子的开头或中间处很好,那么NER系统应该能够抓住它。 我看不到您如何在文本上下文位置使用“ normalize ”一词。

关于模型,他们提到了多任务CNN,所以我想CNN是NER的模型。 有时人们在顶部使用CRF,但他们没有提到它,所以可能就是这样。 根据他们的表现数字,这已经足够了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM