命名实体识别(NER)是否仅支持名词?能否用于识别形容词类自定义实体?
自定义NER与词表匹配方案选型参考
关于NER的词性限制问题
spaCy的NER模型本身不对实体的词性做限制,只要你标注足够的符合要求的语料,它完全可以学习到形容词、动词等非名词性实体的特征,不存在只能识别名词的问题。但NER的核心优势是处理需要结合上下文判断、边界不固定的实体,对于固定词汇的识别场景,用NER的投入产出比很低。
你的场景的方案选择建议
优先选「手动维护词表+自定义扩展」的场景
如果你要识别的临床形容词满足以下条件,优先用词表方案:
- 词汇边界固定,都是单个形容词,没有零散的组合表述
- 词汇歧义低,在你的业务语料中,只要出现这类词就属于临床相关范畴,不需要结合上下文区分语义
- 词汇量可控,后续新增的词汇量不会无限制扩张
这个方案的优势非常明显:
- 实现成本极低,你只需要把整理好的词表导入spaCy的
PhraseMatcher或者Matcher,匹配到对应词汇后给token设置自定义属性,比如token._.is_clinical_adj,全程不需要标注训练语料、调参 - 准确率完全可控,不会出现NER模型常见的漏标、误标问题,只要词表维护到位,结果100%符合预期
- 迭代效率高,后续新增临床形容词只需要更新词表,不需要重新训练模型
适合选用自定义NER的场景
只有当你遇到以下情况时,再考虑训练自定义NER:
- 同一个形容词在不同上下文里语义不同,需要结合语境判断是否属于临床相关,比如"the patient is depressed"里的depressed是临床相关,"the depressed decoration style"里的depressed就不属于
- 你要识别的临床相关表述不止是单个形容词,还有很多组合短语,比如"persistent anxious state"这类边界不固定的表述
- 词表无法覆盖所有目标词汇,需要模型具备泛化能力识别未登录的同类型形容词
内容的提问来源于stack exchange,提问作者jitters
相关产品推荐
相关产品推荐

