machine-learning - NLP 命名实体识别
问题描述
我是 NLP 新手。我想使用命名实体识别算法从文本中提取名称和位置,而不使用任何库。
例子:
美国航空公司表示将开通直飞班加罗尔的航班。
回答:
Entity: American Airlines
Location: Bengaluru
命名实体的最佳实践是什么?是否像将所有名称和位置存储在 CSV 文件中并与句子进行比较?
解决方案
正如 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
推荐阅读
- java - 从第三方战争依赖中删除 jar 文件
- javascript - 如何在 jquery rails 中读取文件
- ios - 从 iOS 应用扩展发出网络请求返回错误:“找不到具有指定主机名的服务器”
- java - Apache Lucene Query 遍历所有查询/术语
- flutter - BlocListener 不会在状态更改时构建小部件
- java - 为什么循环中的“中断”不起作用
- signature - 尝试检索 transloadit 中的程序集列表时出现 INVALID_SIGNATURE 错误
- python - 如何在字符串的python脚本中执行函数
- css - 如何在反应引导中使徽标响应
- r - 陷入无限循环,我看到的问题在哪里?