分类:词汇-含义矩阵
最近发现“词汇-含义矩阵”是语言中非常核心的一个东西,可以做点好玩的工作。实际上,所谓的机器翻译就是把两种语言的“词汇-含义矩阵”辗转相乘——先从一种语言的词汇变成含义,再用这个含义变成另一种语言的词汇。学习语言的过程也就是学会这个矩阵的过程,从词汇到含义的接收,以及从含义到词汇的表达。
当然,狭义的词汇-含义矩阵是单词和含义的联系,更一般的词汇-含义矩阵可以是n-gram和含义的联系。或者说,反过来,用n-gram当做环境来更明确地在这个环境下确定“词汇-含义矩阵”的元素的值——也就是一个单词在周围其他词不同的时候,含义可能不同。
“词汇-含义矩阵”
在语言研究中,有一个叫做“词汇-含义矩阵”的东西非常关键。其本质是一个加权二分网,一类顶点是词汇,另一类顶点是含义或者说现实世界的事物概念。如果一个词汇能够表示某一个含义,则在这两个顶点之间建立一条连边。如果仅仅考虑边的存在性,则记做[math]\displaystyle{ A=\left(a^{w}_{m}=、0,1\right)_{W\times M} }[/math]。但是,为了描述更加完整的信息,实际上,我们最好能够用两个条件概率,也就是[math]\displaystyle{ P\left(w|m\right) }[/math]和[math]\displaystyle{ P\left(m|w\right) }[/math]。如果我们假设实际上在语言使用中,给定一个含义之后,对词汇的选择是任意的,则[math]\displaystyle{ P\left(w|m\right)=\frac{a^{w}_{m}}{\sum_{c} a^{c}_{m}} }[/math]。类似地,如果给定一个词汇,所表达的含义是在可能的范围内任意的,则[math]\displaystyle{ P\left(m|w\right)=\frac{a^{w}_{m}}{\sum_{o} a^{w}_{o}} }[/math]。也就是说,有向加权网络[math]\displaystyle{ P\left(w|m\right) }[/math]和[math]\displaystyle{ P\left(m|w\right) }[/math]在简化假设的条件下,是由无向无权网络[math]\displaystyle{ A }[/math]来决定的。当然,在考虑了实际情况之后,这个简单的函数关系就不存在了,但是,至少,[math]\displaystyle{ P\left(w|m\right) }[/math]和[math]\displaystyle{ P\left(m|w\right) }[/math]在结构上还是[math]\displaystyle{ A }[/math]来决定,是没问题的,也就是只有[math]\displaystyle{ A }[/math]不为零的哪些边上,[math]\displaystyle{ P\left(w|m\right) }[/math]和[math]\displaystyle{ P\left(m|w\right) }[/math]才会不为零。这三个矩阵实际上是可以从实际文本中统计出来的。
一旦有了这两个条件概率,我们就可以得到,[math]\displaystyle{ P\left(w\right)=\sum_{m} P\left(w|m\right)P\left(m\right) }[/math],以及[math]\displaystyle{ P\left(m\right)=\sum_{w} P\left(m|w\right)P\left(w\right) }[/math],也就是说,[math]\displaystyle{ P\left(w\right), P\left(w|m\right), P\left(m|w\right), P\left(m\right) }[/math]不是独立的,两个矩阵互逆(广义逆),两个向量通过矩阵相联系。
但是,从实际文本中统计这个矩阵有一定的困难。第一个困难在于矩阵[math]\displaystyle{ A }[/math]的获得。不过,目前已经有类似于WordNet之类的数据库来给出[math]\displaystyle{ A }[/math]了。第二个困难在于向量[math]\displaystyle{ P\left(w\right), P\left(m\right) }[/math]的获得。前者还比较简单。后者就需要对文本的每一个词做含义标记,非常难。第三个困难在于条件概率矩阵[math]\displaystyle{ P\left(w|m\right) }[/math]([math]\displaystyle{ P\left(m|w\right) }[/math]就简单看做广义逆)的获得。这个需要做好文本的每一个词的含义标记,然后来统计条件概率。非常难。
也就是,
- 困难一:[math]\displaystyle{ P\left(m\right) }[/math]的获得。
- 困难二:[math]\displaystyle{ \lt math\gt P\left(w|m\right) }[/math]的获得。
困难的解决
对于困难一,是不是有做了标注的语料?或者简单粗暴地用word2vec的矢量空间维数来解决——当然,能够遭到一种最优矢量维数就更好:也就是说,我就假设独立的意思就是这么多个了,然后,看看,后续的研究是不是就能做,并且,其结果一定程度上不受这个选择的影响。
对于困难二,是不是可以从方程组[math]\displaystyle{ P\left(w\right)=\sum_{m} P\left(w|m\right)P\left(m\right) }[/math],以及[math]\displaystyle{ P\left(m\right)=\sum_{w} P\left(m|w\right)P\left(w\right) }[/math]中,通过已知的[math]\displaystyle{ P\left(w\right), P\left(m\right) }[/math]求出来?
下一步工作
- 看看从上面的方程组求出来两个互为广义逆的矩阵的技术
- 看看问题一的两个可能的解决方案
- 对算出来的矩阵做后续研究来检验:例如分析语言的效率[1]
参考文献
- ↑ Mikhail Prokopenko, Nihat Ay1, Oliver Obst and Daniel Polani, Phase transitions in least-effort communications
本分类目前不含有任何页面或媒体文件。