← 返回信息流
AI 资讯Hacker News·11 小时前

WikiLambda 项目迎来终极版本发布

原标题:WikiLambda the Ultimate

速览

WikiLambda 项目正式推出其终极版本,标志着该开源平台在知识图谱构建与代码协作领域的重要进展。该项目致力于通过标准化的方式整合全球知识资源,促进开发者与研究人员的高效协作。此次更新强化了底层架构的稳定性与扩展性,为未来 AI 训练数据的结构化处理提供了更坚实的基础。

AI 深度解读

WikiLambda 的终极困境:维基百科基金会寻找“完美语言”的尝试与局限

背景

这篇文章是对发表在学术期刊《AI & Society》上的一篇论文的深度解读,该论文由 Michael Falk(WikiHistories 项目成员)撰写。文章标题为《WikiLambda the Ultimate: The Wikimedia Foundation’s Search for the Perfect Language》(WikiLambda 的终极:维基百科基金会寻找完美语言之旅)。

要理解这篇论文,首先需要了解其背后的三个核心 Wikimedia 项目及其相互关系:

  1. Wikidata:一个协作式知识库,存储结构化的数据和事实。
  2. Wikifunctions:2023 年推出的最新 Wikimedia 项目,是一个协作编辑的计算机函数库。
  3. Abstract Wikipedia:自 2020 年以来,维基百科基金会一直在开发的一个“语言无关”版本的维基百科。

Abstract Wikipedia 依赖于 Wikifunctions,进而依赖于 Wikilambda 来实现其核心功能。简单来说,Wikilambda 是一种编程语言(MediaWiki 软件的扩展),它利用 Wikifunctions 从 Abstract Wikipedia 中获取结构化数据,并将其翻译成各种自然语言。

Michael Falk 的论文运用“批判性代码研究”(Critical Code Studies)的方法,审视了 Wikilambda 这一项目。论文的核心论点是:Wikilambda 试图创造一种“完美语言”,但通过对比历史上其他创造“完美语言”的尝试,论文认为 Wikilambda 无法实现其既定目标,且其开发者对潜在用户的假设存在偏差。

核心内容

1. “完美语言”的定义与历史困境

论文引用了翁贝托·艾柯(Umberto Eco)1995年的著作《寻找完美语言》(The Search for the Perfect Language),区分了两种理想语言:

  • 完美语言(Perfect Language):能够镜像物体的真实本质。它将世界分析为基本组成部分,并提供重建世界的手段。每个词对应自然的一个真实组成部分,每个语法规则对应自然将基本元素组合成复杂实体的方式。
  • 通用语言(Universal Language):每个人都能或应该使用的语言。例如,在自然语言中,世界语(Esperanto)是一个例子;在编程语言中,BASIC、Logo、Python 和 Scratch 旨在成为 universally accessible(普遍可访问)的语言。

艾柯指出,历史上许多此类项目都失败了,因为语言难以与象征意义割裂,或者需要巨大的学习成本,却未能提供其承诺的连接优势。例如,世界语并未成为通用语(lingua franca)。研究人员指出,尽管标准语言在逻辑概念和智力吸引力上具有优势,但英语凭借其自身的怪癖,最接近国际通用语的地位。即使是最简单、逻辑严密的标准,也难以取代不完美但功能强大的“现实生活”系统。

2. Wikilambda 的双重理想主义

Falk 认为,Wikilambda 试图同时创造两种理想语言:

  • 模板语言(Template Language):用于 Abstract Wikipedia,旨在既能完美表达任何事实,又能被全球写作者普遍访问。
  • 编程语言 Wikilambda:为了实现上述模板语言,Abstract Wikipedia 团队开发了 Wikilambda。开发者声称,Wikilambda 是“通用”的,因为它打破了英语的霸权;它是“完美”的,因为它实际上不是一种传统意义上的语言。

如果 Wikilambda 确实是在创造理想语言,那么它就面临着与艾柯记录的其他许多项目相同的失败风险。

3. 语言作为“通道”的谬误

论文首先引用了 The Signpost 2023年的一篇报道,指出评估发现 Wikilambda 项目“面临重大的失败风险”。

在第二部分中,Falk 分析了 Wikilambda 将语言视为“通道”的观点,即:“当我们说话或写作时,我们将‘内容’打包进句子,然后由接收者解开并提取内容。” Falk 反驳称,语言不能这样简化,因为人类使用隐喻和不同的认知结构来理解世界。

4. 打破英语霸权与“Z-number”机制

Wikilambda 主张其“通用性”的主要论据是打破英语的霸权。大多数编程语言(如 JavaScript)使用英语词汇(如 objects, functions, if-statements),这迫使初学者在编程前先学习英语,被认为是不公平的。

为了解决这个问题,Wikilambda 不使用单词来表示计算的组成部分,而是为每个部分分配一个 Z-numberZ-key(存储在 Wikifunctions 数据库中)。当用户访问函数界面时,系统会将这些 Z-number 和 Z-key 翻译成用户偏好的语言。

Falk 指出,Wikilambda 开发者将此做法正当化为防止系统复制帝国主义和西方思维。然而,这与其将语言视为简单事实通道的观点直接矛盾。此外,Falk 强调,由于英语是事实上的通用语,开发者社区转向英语是为了跨越语言障碍进行讨论。

5. 函数编排器(Function Orchestrator)与抽象困境

在第四部分,Falk 深入探讨了“函数编排器”(function orchestrator),分析了开发者为描述其新语言所发明的抽象概念。

  • 编排隐喻orchestrate 函数接受 Wikilambda 代码(ZObject)、配置设置(invariants)和 ImplementationSelector(实现选择器)。它的任务是运行代码,并使用选择器在数据库中的可用“实现”之间进行选择。
  • 与传统编程的区别:传统编程语言通常对每个动作只有一种执行方式(例如,只有一个加法函数)。如果有多种方式(例如,一个快速但不精确的除法,一个慢速但精确的除法),通常由程序员决定使用哪一种。而在 Wikilambda 中,每个操作可能有多种执行方式,选择权交给了“编排器”,而非程序员。

Falk 指出,开发者试图通过创造新的抽象来使 Wikilambda 摆脱传统的编程隐喻和结构。然而,由于抽象程度过高,语言设计经常失败,不得不回归到默认的编程惯例。

关键要点

  • 项目定位:Wikilambda 是 Abstract Wikipedia 和 Wikifunctions 的技术基石,旨在将结构化的 Wikidata 数据转化为多种自然语言。
  • 核心论点:Michael Falk 的论文认为,Wikilambda 本质上是在尝试创造一种“完美”且“通用”的理想语言,但这在理论和实践上都面临巨大挑战。
  • 语言观冲突:Wikilambda 开发者将语言视为简单的“内容通道”,并试图通过 Z-number 机制消除英语霸权;但批评者指出,这种观点忽略了语言的隐喻性和复杂性,且其反英语霸权的立场与其将语言视为中立通道的假设相矛盾。
  • 技术实现:通过引入“函数编排器”和“实现选择器”,Wikilambda 试图将代码执行的选择权从程序员转移到系统层面,以实现高度的抽象和自动化。
  • 历史教训:回顾世界语等历史案例,任何试图通过逻辑设计取代自然演化形成的语言系统(无论是自然语言还是编程语言)都面临巨大阻力,因为现有系统(如英语或主流编程语言)虽不完美但功能强大且生态成熟。
  • 现实风险:论文引用早期评估指出,Wikilambda 项目面临“实质性失败风险”,其高抽象层级导致设计经常失效,不得不回归传统编程模式。

意义与影响

这篇解读揭示了维基百科基金会(Wikimedia Foundation)在技术愿景与现实落地之间的张力。Abstract Wikipedia 的愿景宏大——创建一个语言无关的维基百科,从而消除语言壁垒,让全人类的知识得以无障碍共享。然而,实现这一愿景的技术路径(Wikilambda)却陷入了“完美语言”的陷阱。

  1. 对技术乐观主义的反思:Wikilambda 的尝试反映了科技领域常见的“技术解决主义”倾向,即认为通过更先进的语言设计或算法可以解决复杂的社会语言学问题(如英语霸权)。但论文指出,语言不仅仅是信息的载体,更是文化、权力和认知的体现,无法通过简单的代码抽象来剥离。
  2. 开源与协作模式的挑战:Wikifunctions 和 Wikilambda 依赖于全球志愿者的协作。如果语言设计过于抽象或违背开发者的直觉习惯(如强制使用 Z-number 而非直观词汇),将极大增加协作门槛,导致项目难以维持。
  3. **AI 与自然语言处理(NLP
查看原文 →en.wikipedia.org