大模型◆ AI 生成 · 已溯源
OpenAI 的实体消歧方案:不背实体,而是用约 100 个「类型」拼出词义

结论前置 / TL;DR
OpenAI 构建了一套实体消歧系统:由神经网络逐一判断一个词是否属于约 100 个「自动发现、非互斥」的类型,再用类型组合推断该词到底指哪个对象。相比逐实体记忆,这种「类型中间层」更泛化、更省、更稳,对检索、知识图谱与 RAG 的消歧环节有借鉴意义。
结论先行
同一个词可能指向多个对象(比如「苹果」是水果还是公司?「Jordan」是人名还是国家?)。OpenAI 的做法很巧:不让模型死记每个实体,而是让它判断这个词属于哪些「类型」,再用类型组合定位词义。
它是怎么工作的
- 系统自动发现约 100 个「类型」——注意是「自动发现」,不是人工预设的分类。
- 这些类型是非互斥的:一个词可以同时属于多个类型(如「巴黎」既是「城市」又是「地名」还可能是「人名」)。
- 对给定的词,神经网络逐一判断它是否属于每个类型;由这些「是/否」的组合,推断它具体指代哪个对象。
为什么这个思路更好
- 更泛化:类型是比实体更抽象的中间表示。学会了「城市」「公司」「人名」这些类型,就能迁移到从未见过的具体实体上——而逐实体记忆学不会新词。
- 更省、更稳:实体数以百万计且不断新增;类型只有约 100 个且相对稳定。用少量稳定的类型去组合,比维护海量实体表更轻、更鲁棒。
- 贴近真实语义:非互斥设计承认了语言的模糊性——现实中一个词本就可能同时属于多个范畴。
对工程的启发
对做检索、知识图谱、RAG 的团队,「先判类型、再定实体」是一种可借鉴的消歧范式:
- 在 RAG 里,query 里的歧义词若能先归到类型,检索的精度和召回都能改善。
- 在知识图谱构建中,类型层能作为实体链接的中间锚点,减少直接匹配的噪声。
这类「用可迁移的中间表示替代死记硬背」的思路,也是很多现代表示学习方法的共同底色。