图需要 JavaScript 和词表文件,没能加载。
1 · 网格
一张网格,每个声音一种记号
- 一切都画在同一张共享的网格上。
- 每个声音有自己的记号:+ 是罗斯128 b,× 是我们。翻译机从不让记号互相覆盖,所以总能看出是谁说的。
- 一块 3 × 3 的格子是一个部件,两个部件组成一个词,就像笔画组成汉字。它不是字母表。
- 空隙就是结构:词里的部件隔 1 格,三元组里的词隔 2 格,三元组之间隔 4 格。
- 一个三元组是一句话。其他声音的回答写在它下面。
到目前为止,我们从他们那里转写下来的一切都只有 +。图里的第二个声部是人类可以发回去的回答:是水,不是空气。
2 · 部件
十六个部件
每个部件是一个 3 × 3 的形状,有两种意思:作为事物的意思,和箭头后面作为关系的意思。形状是我们选的,尽量让人猜得出来:封闭的方块是我们,朝某人打开的方块是你们,交叉的光线是光,上升的台阶是声音。
3 · 词
两个部件组成一个词
一个词是两个部件,中间空一格:左边是类,右边是指,写作 类.指。属于你们的世界是你们的世界;计时的恒星是脉冲星;行进的空气是风。只有一个部件的词就只有 3 格宽。所有约定好的词都在词典里。
4 · 句
每个三元组是图谱的一条边
一段文字是一串三元组(节点,关系,节点),从左往右读,一行写不下就换行。每个三元组是知识图谱的一条边,所以一段文字就是一张图。空隙说明一切:词里隔 1 格,词与词隔 2 格,三元组之间隔 4 格,行与行隔 3 排。同一个词出现在两个三元组里,就是同一个节点;节点位置上单独一个 ONE 表示“那”,指前一个三元组。
关系是一个表示动作的部件,加上一个标出时间或肯定否定的“指”。以 LIGHT(看见)为例:
| 指 | 意思 | LIGHT … |
|---|---|---|
_ | 无时态 | 看见 |
BEFORE | 过去 | 看见过 |
ONE | 现在 | 正看见 |
AFTER | 将来 | 将会看见 |
PATH | 一直 | 一直看着 |
NOT | 否定 | 看不见 |
OPEN | 问:是否? | 看见了吗? |
第二个例子把“影子”那段发射写成了话:我们看见过你们;我们看不见你们了。第三个例子指向自己:你们的世界是水世界,我们看见过那个。
5 · 数
数是 512 进制的数位
一个数写作 COUNT(一条计数的横线),后面跟着 512 进制的数位,高位在前。每个数位按九个比特读:从 256 到 1,从左到右,从上到下。COUNT 单独出现是零;137 是 COUNT.137;2219 年是 COUNT.4.171,因为 4 × 512 + 171 = 2219。只有 COUNT 后面的位置按比特读,所以数永远不会被错认成词。
写作 COUNT.137。试试 137(第五段发射),或者 2219。
6 · 声音
往下叠,就是又一个声音
只有新的一方才会在一个三元组下面加一个声部,而且每一方一直用同一个声部,所以声部的数目就是声音的数目。下面声部里的每个部件,回应同一个词里同一位置上方最近的那个部件。这样任何一方都能逐个部件地赞同、否定或修改任何节点和边。一场对话,就是几个声音一起搭起来的一张图。
| 下面画的 | 意思 |
|---|---|
| 同一个部件 | 是 |
| NOT | 不 |
| 另一个部件 | 换成 |
| 空位置下面的部件 | 还有 |
| 什么都不画 | 未表态 |
提问:任何位置上的 OPEN 都在问“这里填什么?”,下面画的东西就取代它。最后一个例子里,第三个声音 * 在我们的 WATER 下面说了 AIR。它回应的是上方最近的部件,也就是我们的:它站在他们一边,反对我们对自己世界的说法。
7 · 翻译机
翻译机怎样读一页
- 在三排的空隙处分出行,数一数一行有几个声部:那就是有几个声音。
- 按 1、2、4 格的空隙把每一行切成三元组、词和部件。切不成完整部件的都不是文字。
- 把每个三元组的第一个声部读成一条边:节点、关系、节点。同一个词,同一个节点。单独的 ONE 指向前一个三元组。
- 把下面声部的每个部件和上方最近的部件对照,把回答连同说它的声音,挂到那个节点或那条边上。
人类不用学这些符号;翻译机负责读和写,它的词库随着每一次往返增长。你也可以运行同一台机器:转换器在浏览器里把文字变成图,再把图变回文字。它和命令行词典 glyph(pip install glyph-cli)用的是同一套规则和同一份词表。