Notes · 2025.09.13

图谱 schema 先写小

实体关系整理。

1 min · rag

第一版 schema 我写得很全,实体类型排了一屏。图是空的。字段一多,没人填,抽取也抽不齐。Humanitelligence 这条线上我参与知识图谱 schema 设计与实体关系整理。官网 human-intelligence.cn。我是张恒基,实习生。句子里不出现「主导」。先写小,图里才可能有边。

空图不是检索服务坏了

图谱检索对「谁负责、属于哪套制度、接口依赖谁」这类问题有用。有用的前提是图里有这些节点和边。没有,图谱列就是空结果。空结果该诚实显示。诚实之后,原因经常是 schema 太大:类型分得比业务说话还细,抽取模型不敢填,人也懒得补。懒得补的字段,设计时就该删。删掉的类型可以以后再加。先加的类型会占着抽取预算,把真正常用的关系挤掉。

常用的关系在企业库里往往很土:文档—条款、系统—接口、角色—权限、术语—别名。土关系能回答一批真问题。真问题进评测集。评测集上图谱列如果长期空,不要先换图数据库。先看 schema 有没有人能填。人能填的 schema,字段名要像业务在用的词,不像论文里的本体。论文本体很完整。完整在企业库里会空。

我整理实体关系时,把「想有的」和「库里能落到」分成两列。想有的列可以长。能落到的列必须短。短列才进上线 schema。上线 schema 一长,错误案例分析会变成「缺失字段」的重复劳动。重复劳动看起来很忙,忙的是设计债。

评测集要专门打关系题

向量检索吃转述。关键词吃编号。图谱吃关系。评测集如果全是「某条款怎么说」,图谱列会一直像多余。多余的错觉会让人把图丢掉。丢掉之后,真正的关系题只能靠人在文档里爬。爬得动的时候用不到图。爬不动的时候图已经空了。空了再救,要重新抽。重新抽比一开始写小贵。

错误案例比正确案例有用。正确案例会让人以为链路已经稳了。稳了的错觉下,schema 会偷偷变大。变大来自一次次「再加一种实体吧」。再加的那一种,往往只有两三份文档能填。两三份填不满一类节点。一类空节点会把图检索的噪声抬高。噪声抬高,关系题也会脏。脏了不要先怪图查询。先把空类删掉。

我输出可复现实验记录:schema 版本、抽取配置、评测问题、三列召回、错误案例编号。编号对不上原文的,先记引用问题,再记 schema 问题。引用问题来自切片和偏移。schema 问题来自类型和关系。两类混在一个「图谱不准」里,会改错地方。改错地方的一周,图还是空,窗口也可能被无辜回滚。

实习生把小写清楚,不把大写进简历

参与设计和整理,贡献已经具体。具体不能膨胀成「负责知识图谱」。负责两个字在企业项目里有人签。签字的人不是我。我的简历上这条实习写智能知识科技、企业 RAG、schema、评测对照。写完就停。停的位置在参与。参与过的 schema 如果后来被改大或改小,都正常。正常不需要我在介绍里锁定第一版。

TextGuard 的检测、明察的论文图、这边的企业图谱,都可能用到实体这个词。词相同,图的目的不同。企业图谱服务于内部问答和权限内的引用。论文图谱服务于科研诚信里的谱系。检测侧几乎不靠这张企业图。三张图不要画成一张。画成一张,schema 会再次变大。变大,空图会回来。

官网可以讲知识工程。schema 的字段表不需要进官网。字段表一公开,就会有人按公开的那一版来问为什么缺。缺是因为我们先写小。先写小这件事对外不好听,对内能用。能用的 schema 比完整的 schema 更接近一张有边的图。有边,图谱列才有资格和向量列对照。没边,对照是浪费。

字段多了就没人填

我收到的限制来自那张空图:schema 先写小。小到业务能填、抽取能齐、评测里的关系题能打到边。再大的本体,填不进去就是装饰。装饰性的图谱在周报里很好看,在工单里帮不上忙。帮不上忙的设计,实习生不该坚持把它写全。写全的那一屏,我后来删掉了大半。删完,边才出现。