跳到主要内容

给数据写说明书 — 元数据、三种词表与穷尽性/特异性

这一章讲三件事: 元数据从哪来(三种来路)、往哪挂(三种词表)、好不好怎么量 (穷尽性与特异性)。它是全书最「值钱」的一章:第 08 章以后讲的搜索成败, 都在这一章的功课里决定好了。

1. 先看现象:表明明在目录里,就是搜不到

一个实施目录后最常见的吐槽:「目录里明明有这张表,搜『销售』就是搜不出来。」

原因不神秘。第 01 章说过,目录自动采集的元数据只有名称、创建日期、负责人、列名这些事实。 这些事实不会告诉你「这张表跟销售活动有什么关系」。书里的判断毫不客气: 域里的数据组织得好不好,直接决定目录的成败——没挂上相关元数据的资产, 会慢慢淹没在数据总量里,「它们不会出现在终端用户的搜索里」1

判断(我们的,不是书里的): 目录上线的第一年,最大的工作量不是接数据源, 是写描述。这是几乎所有实施团队低估的一项:接源是周级的工程活, 写描述是年级的组织活——因为它的真正成本在第 03 章那张角色梯上(谁负责写、谁审核)。 如果错,会错在: 如果团队把预算全花在连接器上,目录会变成一份自动生成的清单: 结构好看,搜起来一文不值。

2. 元数据到底是什么:同时存在于两个地方的数据

流行定义说元数据是「关于数据的数据」。书里嫌它不到位,给了一个更准的定义:

元数据是「同时存在于两个地方的数据」——既在源头(真实的表、文件),又在指向源头的工具里(目录)2

这个定义妙在哪?它把元数据的命门说了出来:元数据不能脱离它指的数据单独存在, 而且它必须真的「住在」目录里才起作用。目录里的每一样东西都是元数据, 全部指向别的数据源里的数据。

元数据按来路分三种3:

来路是什么够用吗
源里自带的技术元数据 + 业务元数据(下一节)只是最低限描述
目录里加的描述、人员、术语才是搜索的抓手
两者兼有大多数资产的真实状态

自带的:技术元数据与业务元数据

技术元数据是数据在创建和存在过程中自动附着的:存在哪个源、谁建的、何时建的、什么格式。 书里的例子:一份 Qlik Sense 报表,HR 部门的分析员建于 2021 年 12 月 13 日,基于 JavaScript 与 QEXT 文件4

业务元数据是用人类语言写的描述:表名、列名、数据类型的定义5

注意一个容易踩的坑:「自带」的业务元数据(比如列名)往往取的是机器视角的名字—— CUST_NODT_AMT。它们是事实,但离搜索者的语言还差一步。 书里的原话:自带的元数据只是最低限描述——「有它你才能把事实搞对, 但单靠它,目录没法为终端用户给出相关的搜索体验——人们找不到想找的东西」6

加的:描述、人员、术语

描述(description):书里要求至少写两层—— 主要用途(这份数据在源系统里实际用来干什么)和 次要用途(数据提供者给潜在消费者出的主意:它还能拿来干什么)7。 次要用途这层最常被漏掉,而它恰恰是把「数据」变成「可用数据」的那一步。

人员:第 03 章那七级角色梯,就是挂在这里的——书里把它们列为资产页上 「应当列出的相关人员」8

术语:下一节的主角。

3. 三种词表:自由、域、全局

词表(glossary,书里也译作术语表)就是公司业务词汇的清单,把词挂在资产上, 让「按话题搜」成为可能——书里说这是提升可发现性的关键手段9。 书里把词表分成三种管控等级,等级由低到高,恰好对应三种经典的信息组织形态10:

自由词表 = folksonomy(民间标签)。没有任何规则,人人可以创建标签、想怎么用怎么用—— 就是社交媒体上的 #hashtag(话题标签):#puppies(小狗)、#ootd(今日穿搭)、#metoo11。 别因为它在社交媒体上看着像玩具就轻视它:书里明确说,folksonomy 能用完全独特的角度描述数据, 补上中央团队永远想不到的切角12

域词表 = taxonomy(分类词表)。由一个域里的小群人商定,有层级、有正式语言。 标签是自由联想,#ootd 在这里被正式化为「日常衣物」,并且出现窄词/宽词: 「日常衣物」比「衣物」窄、比「下雨天的日常衣物」宽;网上购物常用的分面 (选「蓝色」+选「连衣裙」,拼出一件具体商品)也属于这一级13

全局词表 = thesaurus(叙词表)。管控最高,而且换了一种结构思路:不再是树,是簇。 簇心叫首选词(PT,preferred term),周围挂着:变体词(VT,同义词,比如把 #ootd 收编为 「日常衣物」的变体)、相关词(RT,raincoat 雨衣这种自由联想)、窄词(NT)、宽词(BT—— 「衣物」)。它不在一棵总树里,簇心自己说了算14

[BT] 衣物

[VT] #ootd ──[PT] 日常衣物 ──[RT] 雨衣

[NT] 下雨天的日常衣物
图说:thesaurus 的簇结构:PT 居中,四个方向各管一种关系。来自原书的同一个例子。

控制与偏见:一对容易被搞反的判断

书里在这里放了一段少见的清醒话:管控严不严,和客观不客观没有关系。 管控高只带来一致的表达(同一个词全库同一个意思),词表照样充满主观与偏见——作者引了 Melissa Adler 对(美国)国会图书馆编目实践中性别与种族偏见的研究作证15。 所以他给的实施口诀是反直觉的:「你必须在'毫无控制'和'严格控制'之间同时兼得」—— folksonomy 负责长尾与意外角度,thesaurus 负责主干与一致性,三种都要16

一个容易混淆的近邻:数据字典。 数据字典是更基础的工具:列个清单,写上栏位名 和「这列存的是什么类型的数据」;而词表是对这些数据的解释,把数据放进公司知识的上下文里17。 数据字典答「这列是什么」,词表答「这列在公司里意味着什么」。

4. 主走查:一把词表救不救得活一个域

现在把三种词表放回域架构(第 04 章)里,走一遍书里给的质量检查。这套检查有两把尺子18:

  • 穷尽性(exhaustivity):词表本身覆盖这个域覆盖得够不够深、够不够宽——这是词表的理想状态,由域分析定;
  • 特异性(specificity):实际打标时,词表里的词有没有真的被用上——这是使用状态。

场景:H&M 的全局词表里,关于建材只有一个词——「木头(Wood)」。 书里直接判了死刑:所有 H&M 设计的房子都是木头的,一个「Wood」词什么也区分不了—— 奥斯陆郊外的家庭住宅用的是山毛榉还是松树?斯德哥尔摩市中心那栋大楼是不是橡木? 穷尽性太低,词表在功能上根本没法用来刻画这个域,搜索自然也不工作19

好,补词。假设词表补成 {Wood, Beech(山毛榉), Oak(橡木), Pine(松树)},穷尽性达标了。 事情还是会砸,砸在第二把尺子上:如果打标的人图省事,所有建材数据一律只挂「Wood」——

词表:{Wood, Beech, Oak, Pine} 穷尽性:高(词够细)
打标实况:全部只挂 Wood 特异性:低(细词没用上)

搜「Oak」→ 零命中;搜「Wood」→ 几百条分不开的噪声
书里的原话:搜索「本可以」工作(词表有合适的词),
但它「没有」工作(那些词没被用上)[^20]

书里把两把尺子拼成一张 2×2 矩阵:双高、双低、一高一低——四种状态里只有「双高」能用20。 它还顺手给了三个自查题,读者可以现在就替自己的目录答一遍: 如果一份数据被打了笼统的宽词、而词表里明明有更细的词,好搜吗? 如果一个域只划了几个特别宽的子域,还能浏览着找到特别细分的数据吗? 搜个宽泛词,回来的全是特别专门的数据,你敢信自己搜对了吗?21

这三道题的答案是全书搜索章(第 08 章)的伏笔:穷尽性高会抬高查全率、压低查准率—— 两把尺子在搜索数学里会再见面。

5. AI 帮倒忙的两个坑

本章开头说了「写描述是人工活」,但第二版明明标题里就有 AI——AI 到底能不能代劳? 书里的答案是:能,但有两个专坑写描述这件事的陷阱22

坑一:同义反复(tautology)。 让 AI 给 Customer 列写描述,它写出: 「这是一张含有一个描述客户的列的表」。读着通顺,毫无价值—— 它把已有元数据复述了一遍,没有任何区分度,只会给搜索制造噪声(一堆不相干的命中)23。 书里给的判断标准值得抄下来:人工元数据必须服务于(正向)区分—— 让潜在的搜索命中互相站得开;零区分度的描述就是搜索垃圾24

坑二:伪本体(false ontology)。 有厂商会推销:「我们用 AI 扫描你们的 SOP、邮件、 聊天记录,自动生成一张知识图谱当元模型」。书里的警告非常重: 别听。目录的元模型通常「小而极珍贵」,值得花那点手工打造的时间—— 手工元模型反而是后面一切 AI 用例的加速器25。 (道理在第 04 章已经埋好:元模型是定义「允许哪些实体、哪些关系」的图纸, 图纸错了每一层都要跟着错;让它从噪声文本里自动长出来,等于把图纸交给一台没有判断力的机器。)

元模型可以改:图谱目录的三个特性

既然元模型这么承重,什么时候该动它?书里把话题接到知识图谱上:KG 式目录 必须建在图数据库上,元模型因此有三个特性——可视化(整张图看得见、可浏览)、 可扩展(随时加新实体类型、新关系)、可搜索(能用 SPARQL、Cypher、GraphQL 这类 图查询语言直接查)26。书里的 H&M 例子:给元模型加一组「木材旅程」实体—— 从砍伐、板材入库,到用进哪栋建筑27

6. 作者的判断与证据

书里给了方法与出处的:

  • 三种词表(folksonomy/taxonomy/thesaurus)是信息科学的成熟分类,书里给了 #ootd、 日常衣物、雨衣等同一套贯穿例子;
  • 穷尽性/特异性这对概念来自信息科学的域分析传统,书里推荐 Smiraglia 的书入门28

作者的立场:

  • 「写描述是目录成败的分水岭」——经验判断,没有具体数字;
  • 「AI 生成的元模型不可信」——立场鲜明,但没有展示失败案例;考虑本书的 O'Reilly–Actian 合作背景(作者任职于数据管理厂商),「元模型要手工打造」 这个论断与他的行业位置有利益关联,读时值得留一分清醒。

判断(我们的,不是书里的): 「伪本体」警告的方向是对的,但理由值得补一条更硬的: 自动生成的图谱没有责任人——第 03 章的角色梯上找不到它,错了没人认账, 也没人维护;而手工元模型天然长在团队的组织结构里。选型时问一句 「这张图谱错了谁改」,比争论「AI 生成准不准」更能切中要害。 如果错,会错在: 如果厂商的自动生成方案后来真的配上了完整的人工审核闭环, 这条警告的力道就要打折——书里反对的其实是「无人审核的自动生成」,不是「自动」本身。

7. 边界与局限

  • 「描述写多细」没有标准答案。 穷尽性靠域分析定,而域分析怎么做,书里只给了入门书单, 没给步骤。
  • folksonomy 的治理成本被一笔带过。 自由标签的重复、歧义(第 10 章的 promotion 例子 会撞上)书里留到了后面;在试读版范围内,「三种都要」的口号缺少落地细节。
  • 数据产品一笔带过。 书里强调数据产品直接落在域里、不依附任何应用, 并说「数据产品正在革命数据工程」——但展开章(第 8–9 章)不在试读版里29
  • 「元数据质量 ≠ 数据质量」。 书里刻意只管前者;数据源里的数据本身烂不烂, 是另一门学科(脚注提了 FAIR 这类标准)30

8. 可带走的

  1. 元数据的准确定义:同时存在于两个地方的数据(源头 + 指向源头的目录);
  2. 自带元数据(技术+业务)只是最低限描述;搜索的抓手全靠目录里加的那部分;
  3. 描述至少两层:主要用途 + 次要用途——后者是给潜在消费者的使用建议,最常被漏;
  4. 三种词表都要:folksonomy 长尾、taxonomy 层级、thesaurus 簇;管控严 ≠ 更客观;
  5. 词表质量两把尺:穷尽性(词够不够细)× 特异性(词用没用了),只有双高可用;
  6. AI 描述的头号坑是同义反复:复述元数据、零区分度,等于搜索噪声;
  7. 元模型别让 AI 自动生成:小而珍贵,手工打造;没有责任人的图谱不能要;
  8. KG 目录的元模型可视化、可扩展、可搜索——改元模型本身是日常操作,不是禁区。

9. 原文地图

主题原书章原文位置
域内组织决定成败第 2 章text/14-fm-organizing-data-in-the-domains.txt:24(搜「success or a failure」)
元数据=同时存在两处第 2 章text/14-fm-organizing-data-in-the-domains.txt:36(搜「two places at the same time」)
三种来路第 2 章text/14-fm-organizing-data-in-the-domains.txt:57(搜「derived from the data source」)
技术元数据与 Qlik 例第 2 章text/14-fm-organizing-data-in-the-domains.txt:70(搜「Technical metadata」) · text/14-fm-organizing-data-in-the-domains.txt:72(搜「business analyst in the HR department」)
业务元数据=人类语言第 2 章text/14-fm-organizing-data-in-the-domains.txt:74(搜「human language」)
最低限描述第 2 章text/14-fm-organizing-data-in-the-domains.txt:76(搜「minimum description」)
描述:主要/次要用途第 2 章text/14-fm-organizing-data-in-the-domains.txt:86(搜「Primary usage」)
词表打标提升可发现性第 2 章text/14-fm-organizing-data-in-the-domains.txt:111(搜「increases the discoverability」)
三种词表第 2 章text/14-fm-organizing-data-in-the-domains.txt:117(搜「Free glossary」)
folksonomy 与 #hashtag第 2 章text/14-fm-organizing-data-in-the-domains.txt:123(搜「folksonomy」) · text/14-fm-organizing-data-in-the-domains.txt:127(搜「#metoo」)
taxonomy 层级与分面第 2 章text/14-fm-organizing-data-in-the-domains.txt:131(搜「Taxonomies have a hierarchy」) · text/14-fm-organizing-data-in-the-domains.txt:141(搜「faceted approach」)
thesaurus 簇与 PT第 2 章text/14-fm-organizing-data-in-the-domains.txt:147(搜「preferred term」) · text/14-fm-organizing-data-in-the-domains.txt:151(搜「raincoat」)
无控制与控制兼得第 2 章text/14-fm-organizing-data-in-the-domains.txt:158(搜「strive for both no control」)
受控≠客观(Adler)第 2 章text/14-fm-organizing-data-in-the-domains.txt:163(搜「Library of Congress」)
数据字典≠词表第 2 章text/15-fm-knowledge-graph-powered-data-catalogs.txt:1(搜「data dictionary」)
KG 目录建在图数据库上第 2 章text/15-fm-knowledge-graph-powered-data-catalogs.txt:16(搜「graph database」)
元模型可视/可扩展/可搜索第 2 章text/15-fm-knowledge-graph-powered-data-catalogs.txt:18(搜「The metamodel is visual」) · text/15-fm-knowledge-graph-powered-data-catalogs.txt:27(搜「SPARQL」)
H&M 木材旅程扩展第 2 章text/15-fm-knowledge-graph-powered-data-catalogs.txt:32(搜「inventoried as lumber」)
元数据质量定义第 2 章text/16-fm-data-assets-and-data-products.txt:41(搜「metadata quality」) · text/16-fm-data-assets-and-data-products.txt:46(搜「not on the quality of the data」)
穷尽性与域分析第 2 章text/16-fm-data-assets-and-data-products.txt:54(搜「exhaustivity」)
Wood 词表太粗第 2 章text/16-fm-data-assets-and-data-products.txt:69(搜「Was it beech」)
特异性=实际用量第 2 章text/16-fm-data-assets-and-data-products.txt:80(搜「Specificity is the usage」) · text/16-fm-data-assets-and-data-products.txt:88(搜「specificity is low」)
2×2 矩阵与三道自查题第 2 章text/16-fm-data-assets-and-data-products.txt:98(搜「four scenarios」) · text/16-fm-data-assets-and-data-products.txt:104(搜「very special」)
AI 两个坑总起第 2 章text/12-fm-using-ai-to-organize-data.txt:9(搜「avoiding tautologies」)
同义反复例与区分度第 2 章text/12-fm-using-ai-to-organize-data.txt:12(搜「tautological」) · text/12-fm-using-ai-to-organize-data.txt:19(搜「discrimination」)
伪本体与手工元模型第 2 章text/12-fm-using-ai-to-organize-data.txt:32(搜「extremely precious」) · text/12-fm-using-ai-to-organize-data.txt:33(搜「craft them by hand」)
元数据承载公司知识第 1 章text/07-fm-the-core-functionality-of-a-data-catalog.txt:134(搜「knowledge universe」)

Footnotes

  1. 出处:「Organizing Data in the Domains」第 24 段(text/14-fm-organizing-data-in-the-domains.txt:24,搜「success or a failure」)。

  2. 出处:「Organizing Data in the Domains」第 36 段(text/14-fm-organizing-data-in-the-domains.txt:36,搜「two places at the same time」)。

  3. 出处:「Organizing Data in the Domains」第 57 段(text/14-fm-organizing-data-in-the-domains.txt:57,搜「derived from the data source」)。

  4. 出处:「Organizing Data in the Domains」第 72 段(text/14-fm-organizing-data-in-the-domains.txt:72,搜「business analyst in the HR department」)。

  5. 出处:「Organizing Data in the Domains」第 74 段(text/14-fm-organizing-data-in-the-domains.txt:74,搜「human language」)。

  6. 出处:「Organizing Data in the Domains」第 76 段(text/14-fm-organizing-data-in-the-domains.txt:76,搜「minimum description」)。

  7. 出处:「Organizing Data in the Domains」第 86 段(text/14-fm-organizing-data-in-the-domains.txt:86,搜「Primary usage」)。

  8. 出处:「Organizing Data in the Domains」第 89 段(text/14-fm-organizing-data-in-the-domains.txt:89,搜「relevant persons who should be listed」)。

  9. 出处:「Organizing Data in the Domains」第 111 段(text/14-fm-organizing-data-in-the-domains.txt:111,搜「increases the discoverability」)。

  10. 出处:「Organizing Data in the Domains」第 117 段(text/14-fm-organizing-data-in-the-domains.txt:117,搜「Free glossary」)。

  11. 出处:「Organizing Data in the Domains」第 127 段(text/14-fm-organizing-data-in-the-domains.txt:127,搜「#metoo」)。

  12. 出处:「Organizing Data in the Domains」第 129 段(text/14-fm-organizing-data-in-the-domains.txt:129,搜「completely unique ways」)。

  13. 出处:「Organizing Data in the Domains」第 131 段(text/14-fm-organizing-data-in-the-domains.txt:131,搜「Taxonomies have a hierarchy」)与第 141 段(text/14-fm-organizing-data-in-the-domains.txt:141,搜「faceted approach」)。

  14. 出处:「Organizing Data in the Domains」第 147 段(text/14-fm-organizing-data-in-the-domains.txt:147,搜「preferred term」)至第 155 段;雨衣作相关词见第 150 段(搜「raincoat」)。

  15. 出处:「Organizing Data in the Domains」第 163 段(text/14-fm-organizing-data-in-the-domains.txt:163,搜「Library of Congress」)。Adler 的书是《Cruising the Library: Perversities in the Organization of Knowledge》(Fordham University Press, 2017)。

  16. 出处:「Organizing Data in the Domains」第 158 段(text/14-fm-organizing-data-in-the-domains.txt:158,搜「strive for both no control」)。

  17. 出处:「Knowledge Graph Powered Data Catalogs」第 1 段(text/15-fm-knowledge-graph-powered-data-catalogs.txt:1,搜「data dictionary」)。

  18. 出处:「Data Assets and Data Products」第 54 段(text/16-fm-data-assets-and-data-products.txt:54,搜「exhaustivity」)与第 80 段(text/16-fm-data-assets-and-data-products.txt:80,搜「Specificity is the usage」)。

  19. 出处:「Data Assets and Data Products」第 69 段(text/16-fm-data-assets-and-data-products.txt:69,搜「Was it beech」)与第 72 段(text/16-fm-data-assets-and-data-products.txt:72,搜「searching for data won't work」)。

  20. 出处:「Data Assets and Data Products」第 98 段(text/16-fm-data-assets-and-data-products.txt:98,搜「four scenarios」)。

  21. 出处:「Data Assets and Data Products」第 104 段(text/16-fm-data-assets-and-data-products.txt:104,搜「very special」)。

  22. 出处:「Using AI to Organize Data」第 9 段(text/12-fm-using-ai-to-organize-data.txt:9,搜「avoiding tautologies」)。

  23. 出处:「Using AI to Organize Data」第 17 段(text/12-fm-using-ai-to-organize-data.txt:17,搜「nothing but an obstacle」)。

  24. 出处:「Using AI to Organize Data」第 19 段(text/12-fm-using-ai-to-organize-data.txt:19,搜「discrimination」)。

  25. 出处:「Using AI to Organize Data」第 32 段(text/12-fm-using-ai-to-organize-data.txt:32,搜「extremely precious」)与第 33 段(text/12-fm-using-ai-to-organize-data.txt:33,搜「craft them by hand」)。

  26. 出处:「Knowledge Graph Powered Data Catalogs」第 18 段(text/15-fm-knowledge-graph-powered-data-catalogs.txt:18,搜「The metamodel is visual」)与第 27 段(text/15-fm-knowledge-graph-powered-data-catalogs.txt:27,搜「SPARQL」)。

  27. 出处:「Knowledge Graph Powered Data Catalogs」第 32 段(text/15-fm-knowledge-graph-powered-data-catalogs.txt:32,搜「inventoried as lumber」)。

  28. 出处:「Data Assets and Data Products」第 57 段(text/16-fm-data-assets-and-data-products.txt:57,搜「domain analysis」):书里推荐 Smiraglia 的书,称其列有域分析的常用方法。

  29. 出处:「Data Assets and Data Products」第 32 段(text/16-fm-data-assets-and-data-products.txt:32,搜「autonomous containers」)。

  30. 出处:「Data Assets and Data Products」第 76 段(text/16-fm-data-assets-and-data-products.txt:76,搜「interwoven and made measurable」):书脚注明确说本书不讨论数据源本身的数据质量,并提及 FAIR(findable, accessible, interoperable, reusable)标准。