如何规范化命名实体识别提取的关键字

问题描述 投票:0回答:1

我正在尝试使用 NER 从职位发布中提取关键字(标签)。这可以是

React, AWS, Team Building, Marketing
.

的任何内容

在 SpaCy 中训练自定义模型后,我遇到了一个问题 - 提取的标签未在所有数据中统一/规范化。

例如,如果职位发布是关于

frontend development
,NER可以通过多种方式(取决于职位描述)提取关键字
frontend
,例如:
Frontend
Front End
Front-End
front-end
和等等。

是否有一种可靠的方法来标准化/统一提取的关键字?所有的关键词都直接进入数据库,每个关键词的所有变体,我最终会得到太多的噪音。

解决该问题的一种方法是创建映射,例如:

"Frontend": ["Front End", "Front-End", "front-end"]

但这种方法似乎不太聪明。也许在 SpaCy 本身有一个选项来规范化标签?

python nlp spacy named-entity-recognition
1个回答
0
投票

当然这些简单的规则可以快速帮助你折叠类似的

s
字符串:

  • s.lower()
  • s.replace("-", " ")
  • s.replace(" ", "")

有几个 语音算法 例如 变音符, 擅长折叠“听起来相似”的变体 成一个单一的基础实体。

频繁的二元语法分析可以帮助您识别 表示单个实体的常见双词短语。

Spacy 的

token.lemma_
token.text
可以帮助词干提取。

学习,例如“React”和“Frontend”或多或少是同义词 在这种情况下需要更重的权重方法,例如 word2vec, WordNet, 或像 ChatGPT 这样的法学硕士。

© www.soinside.com 2019 - 2024. All rights reserved.