GEUL不否定维基数据,而是站在维基数据之上。


没有词典就无法创造语言

语言需要词汇表。

韩语有韩语词典。 英语有英语词典。 编程语言有标准库。

人工语言也是如此。 实体列表、关系列表、属性列表。 “三星电子"在这种语言中对应什么编码? “首都(capital)“这种关系对应什么编码? 有了词汇表才能写句子。

词汇表怎么构建? 有两种方式。

从零开始构建。 或者直接利用已有的。


从零开始构建:CYC的教训

CYC项目始于1984年。

目标是将通用常识知识形式化并存储。 本体论从头设计。 定义概念、定义关系、定义规则。 由专家手工录入。

三十年过去了。 数百万条规则被录入。

然而,要覆盖世界的知识,这远远不够。 每个领域都需要单独设计本体论。 跨领域的一致性难以维持。 每当出现新概念,就必须修改本体论。 修改与现有规则冲突的情况屡见不鲜。

CYC证明的不是可能性,而是局限性。 由少数专家设计世界的本体论, 一旦规模扩大就无法维持。


已有的东西:维基数据

维基数据(Wikidata)始于2012年。

由维基媒体基金会运营的结构化知识库。 任何人都可以编辑。 截至2024年,拥有超过1亿个实体。 超过1万个属性。 数十亿条陈述。 支持300多种语言的标签。

CYC用专家团队30年未能达到的规模, 维基数据用社区在10年内实现了。

看看维基数据提供了什么。

实体标识符。 Q-ID。三星电子是Q20718。首尔是Q8684。李舜臣是Q217300。全球唯一标识符,与语言无关。

属性标识符。 P-ID。“总部所在地"是P159。“成立日期"是P571。“人口"是P1082。关系和属性被唯一标识。

层级结构。 P31(instance of)和P279(subclass of)构成类型层级。“首尔 → 城市 → 人类聚居地 → 地理实体。“世界的分类体系通过这两个属性来表达。

多语言标签。 Q20718的中文标签是"三星电子”,英文标签是"Samsung Electronics”,日文标签是"サムスン電子”。标识符唯一,名称因语言而异。

社区验证。 数百万编辑者。反破坏检测。来源要求。虽不完美,但比少数专家更具扩展性。

没有理由从头构建这些。


GEUL的词汇表来自维基数据

GEUL的SIDX(Semantic-aligned Index)是64位语义对齐标识符。 比特本身包含语义信息。 仅看高位比特,就能判断"这是人、地点还是组织”。

SIDX码本——哪种比特模式对应哪种含义——从维基数据中提取。

过程如下。

第一步:类型提取。 从维基数据中提取所有作为P31(instance of)宾语使用的Q-ID。 这就是"类型"列表。 “人类(Q5)"、“城市(Q515)"、“国家(Q6256)"、“企业(Q4830453)"…… 统计每种类型被使用了多少次——即实例数。

第二步:层级构建。 提取类型之间的P279(subclass of)关系。 “城市 → 人类聚居地 → 地理实体 → 实体。” 由此形成类型的树形结构。 识别根节点、叶节点和中间节点。 检测并处理多重继承——一个类型属于多个父类型的情况。

第三步:比特分配。 树的结构决定比特模式的前缀关系。 属于同一父类型的子类型共享相同前缀。 “城市"和"城镇"共享"人类聚居地"的前缀。

实例数影响比特长度。 高频类型获得更高效的编码。 与霍夫曼编码原理相同:高频者分配短码。


维基数据提供了什么

在这个过程中,维基数据提供了三样东西。

分类体系。 对"世界上有哪些种类的事物"的回答。 CYC由专家团队来设计。 GEUL从维基数据中提取。 将数百万编辑者用10年达成共识的分类体系, 转化为比特树。

频率统计。 对"世界上每种事物有多少"的回答。 如果人类实体有900万个而小行星有100万个, 那么"人类"这一类型就应该获得比"小行星"更高效的编码。 实际使用频率决定编码设计。

标识符映射。 维基数据的Q-ID与GEUL的SIDX之间的映射。 Q20718(三星电子)在SIDX中对应哪种比特模式? 有了这个映射,维基数据的知识就能转换为GEUL, GEUL的陈述也能反向转换为维基数据。


维基数据未提供的

维基数据是词典。词典不是语言。

词典提供词汇列表。 语言提供用词汇造句的语法。

维基数据未提供的,正是GEUL所补充的部分。

从事实到主张。 维基数据的基本单位是事实(Fact)。 “首尔的人口为974万。” 非真即假。

GEUL的基本单位是主张(Claim)。 “根据A,首尔的人口约为974万。(确信度0.9,时间点2023年)” 谁在主张、确定性有多高、基于何时——这些都嵌入在陈述中。 这一区别在为什么是主张而非事实中详细讨论。

动词限定词。 维基数据没有表达动词细微差别的位置。 在"李舜臣在鸣梁海战中获胜"中, 时态、体、证据性、语气、确信度在哪里? 在维基数据中,这些通过限定符部分表达, 但没有系统化的动词限定体系。

GEUL拥有28位动词限定符系统。 13个维度——时态、体、极性、证据性、语气、意志性、确信性等—— 结构性地嵌入每一条陈述中。

16位压缩。 维基数据的表示不是为上下文窗口设计的。 JSON-LD、RDF、SPARQL。 机器可读,但token效率不高。

GEUL以16位字为单位设计。 与LLM的token一一映射。 这是以上下文窗口有限为前提的表示体系。 这在为什么MD/JSON/XML不行中已经讨论过。

上下文管道。 维基数据是存储库。GEUL是管道的一部分。 澄清、验证、过滤、一致性检查、探索——本系列讨论的一切, 都在GEUL的结构化表示之上运行。 维基数据没有这个管道。 也不需要。因为维基数据的目的不同。


词典与语言的关系

总结如下。

维基数据是世界的词汇表。 哪些实体存在, 哪些关系存在, 哪些类型存在以及它们如何分类。 数百万人用10年构建了它。

GEUL在这个词汇表之上构建语法。 词汇表的分类体系 → SIDX的比特树。 词汇表的频率统计 → 比特分配的优先级。 词汇表的标识符 → 与SIDX的映射。

并补充词汇表所缺少的。 主张的结构。动词的限定。token级别的压缩。上下文管道。

没有维基数据能构建GEUL吗? 可以。像CYC一样从头设计本体论即可。 但那是30年前的尝试,结果已经摆在眼前。

因为维基数据的存在,GEUL不设计本体论。 而是转化已有的共识。


摘要

人工语言需要词汇表。 从头构建词汇表是CYC的尝试,30年证明了其局限性。

维基数据是世界的词汇表,拥有超过1亿个实体、超过1万个属性和数十亿条陈述。 由数百万编辑者用10年构建。

GEUL的SIDX码本从维基数据中提取。 P31的实例频率决定比特分配, P279的层级结构构成比特树的骨架。

维基数据是词典,GEUL是语言。 词典提供词汇,语言提供语法。 GEUL在维基数据的词汇表之上构建主张结构、动词限定、16位压缩和上下文管道。

GEUL不否定维基数据。 它站在维基数据之上。