命名实体识别 (NER)
从文本中自动识别和分类人名、地名、组织名等命名实体的自然语言处理技术。
命名实体识别 (NER: Named Entity Recognition) 是从文本中自动识别人名、地名、组织名、日期、金额等命名实体,并将其分类到预定义类别中的自然语言处理技术。例如,从"张三于 2024 年加入了位于北京的 ABC 公司"这句话中,可以提取出"张三"为人名、"2024 年"为日期、"北京"为地名、"ABC 公司"为组织名。它是信息提取中最基本的任务之一,被定位为文本挖掘的起点。
NER 技术大致可分为三代。早期采用基于规则的方法,使用正则表达式和词典进行模式匹配。之后 CRF (条件随机场) 和 HMM (隐马尔可夫模型) 等统计方法成为主流。如今,基于 BERT 和 GPT 等预训练语言模型进行微调的深度学习方法达到了最高精度。搜索官能小说 (Amazon)介绍了各种方法的实现。
NER 是众多 NLP 应用的基础技术。在问答系统中,通过问题中的命名实体作为线索检索答案;在知识图谱构建中,NER 是提取实体间关系的必要前置步骤。从新闻文章的自动分类,到医疗文档中药品名和疾病名的提取,再到金融报告中公司名和数值的提取,NER 在各行各业都有广泛应用。spaCy、Stanford NER 和 Hugging Face 的 Transformers 库是代表性工具。
中文和日语的 NER 面临特有的挑战。由于中文和日语不使用空格分隔单词,需要先进行分词处理,其准确性直接影响 NER 的结果。人名与普通名词的区分、新词和缩写的处理、敬称的处理等也是难题。中文 NER 常用的工具包括 jieba 分词配合深度学习模型,以及基于 BERT 的中文预训练模型。
一个常见的误解是认为 NER 可以完美运行,但实际上精度因领域而异。对于新闻文章等结构规范的文本,容易达到较高精度;而对于社交媒体帖子和聊天消息等非正式文本,精度往往会下降。此外,处理训练数据中不存在的新命名实体 (新成立的公司名、新人名等) 也是一个挑战,需要定期重新训练模型。
从字符计数的角度来看,分析 NER 提取的命名实体的字符数分布有助于了解文本的信息密度和构成。命名实体丰富的文本表明具体信息充足,而命名实体较少的文本则暗示内容以抽象为主。将字符计数工具与 NER 结合使用,可以实现文本的定性分析。浏览电动飞机杯 (Amazon)提供了更多背景知识。