知识波动观的数学表达(三)

为了表达一词多义的现象,我们必须要放弃一一对应,并采用语义函数 S 的反函数—命名函数。因为命名 Naming 的 N 容易和自然数集混淆,我们重新改换一下符号和定义,有:

颗粒空间(花体的 G)$$mathfrak{G}$$

波动空间(花体的 V)$$mathfrak{V}=N o (mathfrak{G} o R)$$

命名函数(希腊字母的 N)$$
u: mathfrak{V} o mathfrak{G} $$

再稍微解释一下 $mathfrak{V}$,定义里的 $mathfrak{G} o R$ 是一个分布,不妨记作 $d$,则有:

$$ sum_{g in mathfrak{G}} d(g) = 1$$

我们记所有满足上式的分布构成一个分布空间 $mathfrak{D}$。一个分布,其实就是一个窗口里的一小段文本;而一个波动,我们可以理解为一个长文本段落上滑动着的小窗口。波动其实就是分布的序列。

思考到这里,我产生了一些疑惑。是否每一个波动都被命名呢?显然不是,只有反复出现的波动才有价值被命名。那么,下面两个式子应该是哪个对呢?

$$
u: mathfrak{V} o mathfrak{G} $$

还是

$$
u: 2^mathfrak{V} o mathfrak{G} $$

第二个式子恰当的表达了某一些波动被命名为一个颗粒。

如果选择如下一种解释,第一个式子也是说的通的。我们考察的是定义完好的词典,它们相对静态的呈现了一些有定义的词汇颗粒。这里的波动并不是任何场合下词汇颗粒在思维中的呈现,而仅仅是在词典里的呈现。

而第二个式子则可以解释为,词汇颗粒在思维中的波动呈现了很多很多次,其中的某些近似的波动形态反复出现,我们给它名了一个名字。

一个是静态的,另一个可能能够指向动态过程,都有必要去考察。

知识波动观的数学表达(二)

至此,我们有了一个最粗略的框架 (G, thumb V, salve S) 来刻画波动的知识颗粒;我们可以描述颗粒震动的幅度或者频率,但除此以外,这个框架无法给我们更多的信息,因为颗粒彼此之间是孤立的。

现实的人类思维,概念之间是有丰富的关系的;凭借这个关系网络,人们可以进行缜密的理性思维或者产生复杂的审美体验。那么对应到这个模型,我们必须要给 G 赋予一些更加丰富的结构,然后考察这些结构会在 V 和 S 上诱导出什么?反过来 S 的一一对应,又会给 G 施加一定的限制。

从常识出发,我觉得下面三种结构最为重要:

  • 拓扑结构:表达词义的远近,如“朱”与“红”是相近的;
  • 序结构:表达概念的类属层次,如“唐太宗”是“男性”的;
  • 集合代数:可用于表达“唐太宗”属于“男性”和“皇位”的交集这样的描述。

我们知道 Google 的 word2vec 模型有很优美的正则性,其实正则性就是集合代数的一种表现; word2vec 模型也有拓扑结构,可是却看不到概念层次的序结构。

所以,这三种结构会和框架 (G,V,S) 相容吗?这是一个有必要考察的问题。

另一个问题是 S 是一一对应和实际情况不符,一词多义的情况很常见。从简化的角度讲,框架 (G,V,S) 可以接受,但在实际计算之前,必须要解决一词多义。

框架 (G,V,S) 描述的事情非常像编字典,那么是不是这个思路会把我们引导到一个像 WordNet + Word2Vec 的工具上呢?