本文章节选自《数学之美》——吴军。
统计语言模型:
S表示一连串特定顺序排列的词W1、W2、W3,……,而机器对于语言的识别从某种程度上来说,就是想知道S在文本中出现的可能性。
P(S)= P(W1)P(W2|W1)P(W3|W1W2)……P(WN|W1W2……),现假设任何一个词出现的概率都只与前一个词有关(马尔可夫假设)。那么,可以得到P(S)= P(W1)P(W2|W1)P(W3|W2)……P(WN|WN-1)。——其中P(Wi|Wi-1)=P(Wi,Wi-1)/P(Wi)中文分词
- 最少词数理论分词:一句话应该分成数量最少的词串。
用统计语言模型解决分析二义性:
假定S有三种分法:
A1A2A3……
B1B2B3……
C1C2C3……
选择对应P(S)最大的那个。隐含马尔可夫模型在语言处理中的应用
当我们观测到语音信号 o1,o2,o3 时,我们要根据这组信号推测出发送的句子 s1,s2,s3。显然,我们应该在所有可能的句子中找最有可能性的一个。用数学语言来描述,就是在已知 o1,o2,o3,…的情况下,求使得条件概率P (s1,s2,s3,…|o1,o2,o3….) 达到最大值的那个句子 s1,s2,s3,…当然,上面的概率不容易直接求出,于是我们可以间接地计算它。利用贝叶斯公式并且省掉一个常数项,可以把上述公式等价变换成P(o1,o2,o3,…|s1,s2,s3….) * P(s1,s2,s3,…)其中P(o1,o2,o3,…|s1,s2,s3….) 表示某句话 s1,s2,s3…被读成 o1,o2,o3,…的可能性, 而P(s1,s2,s3,…) 表示字串 s1,s2,s3,…本身能够成为一个合乎情理的句子的可能性,所以这个公式的意义是用发送信号为 s1,s2,s3…这个数列的可能性乘以 s1,s2,s3…本身可以一个句子的可能性,得出概率。
注:s1s2s3是一个马尔可夫链
oi只由si决定,即P(o1,o2,o3,…|s1,s2,s3….) = P(o1|s1) P(o2|s2)P(o3|s3)…。
信息论在信息处理中的应用
“ 互信息”是信息熵的引申概念,它是对两个随机事件相关性的度量。
信息论中另外一个重要的概念是“相对熵”,在有些文献中它被称为成“交叉熵”。在英语中是
Kullback-Leibler Divergence, 是以它的两个提出者库尔贝克和莱伯勒的名字命名的。相对
熵用来衡量两个正函数是否相似,对于两个完全相同的函数,它们的相对熵等于零。在自然
语言处理中可 以用相对熵来衡量两个常用词(在语法上和语义上)是否同义,或者两篇文
章的内容是否相近等等。如何确定网页和查询词的相关性:
“关键词的频率”,或者“单文本词汇频率”(Term Frequency) = 关键词频数/总词数 (单个网页中),对于关键词W1W2W3……,对应的网页相关性即为TF1+TF2+TF3+…
若某些key在很少网页中出现,则其权重应该很大,若某些key在较多网页中出现,则其权重较小,逆文本频率指数(IDF)= log(D/Dw)。(D:全部网页数,Dw:key出现网页数)。
此时相关性= ΣTF*IDF矩阵运算和文本处理中的分类问题:
分类的关键是相关性,我们首先对文本计算出它们的内容词的向量,然后计算两个向量之间的夹角,但这种算法计算量过大。
另一种办法是使用奇异值分解(singular value decomposition),具体步骤如下:
用一个原始大矩阵来描述一系列文档,矩阵每一行代表一个文档,每一列代表一个单词,每个元素是该文档中该单词的TF/IDF。
将A分解为三个小矩阵相乘,A = X B Y
X:每一行代表意思相关的一类词,其中每个元素表示这类词中每个词的重要性(相关性),数值越大越相关。B:表示类词和文章雷之间的相关性。。Y:的每一列表示同一主题一类文章,其中每个元素表示这类文章中每篇文章的相关性。 因此, 我们只要对关联矩阵 A 进行一次奇异值分解,w 我们就可以同时完成了近义词分类和文章的分类。(同时得到每类文章和每类词的相关性)。