首页 > 解决方案 > NLP 命名实体识别

问题描述

我是 NLP 新手。我想使用命名实体识别算法从文本中提取名称和位置,而不使用任何库。

例子:

美国航空公司表示将开通直飞班加罗尔的航班。

回答:

Entity: American Airlines
Location: Bengaluru

命名实体的最佳实践是什么?是否像将所有名称和位置存储在 CSV 文件中并与句子进行比较?

标签: machine-learningnlpstanford-nlpnamed-entity-recognition

解决方案


正如 Manjur 所说,如今最好的选择是深度学习。最常见的是 BERT,即用于语言理解和变体的深度双向变压器的预训练。这些是 Transformers 编码器的变体,它比解码器(如 GPT)更适合提取信息。

这些模型对 NER 等任务使用微调。事实上,它们已经是针对 Localizations 和 Persons 的微调版本。例如,您可以在 Spacy 中找到实现。但是,如果您想要更高的准确性,并且您有使用 pytorch 或 tensorflow、预处理语料库的经验,并且您已经标记了要使用的数据(它们也存在仅具有这些实体的数据集),那么您可以自己对其进行微调。

图书馆: https ://medium.com/@b.terryjack/nlp-pretrained-named-entity-recognition-7caa5cd28d7b#:~:text =

不同的方法和 SOTA:https ://primer.ai/blog/a-new-state-of-the-art-for-named-entity-recognition/

使用 CSV 使用 BERT 实现 NER 的整个实现(它来自 Kaggle,因此您也可以下载数据集):https ://www.kaggle.com/abhishek/entity-extraction-model-using-bert-pytorch


推荐阅读