自然语言处理——5.1 语言模型(基本概念)
2018-10-03 本文已影响17人
SpareNoEfforts
n 元文法(n-gram)模型
- 当n=1 时,即出现在第i 位上的基元wi 独立于历史。一元文法也被写为uni-gram 或monogram;
- 当n=2 时, 2-gram (bi-gram) 被称为1阶马尔可夫链;
- 当n=3 时, 3-gram(tri-gram)被称为2阶马尔可夫链,
依次类推。
为了保证条件概率在 i=1 时有意义,同时为了保证句子内所有字符串的概率和为 1,即,,可以在句子首尾两端增加两个标志: 。
不失一般性,对于 的 , 可以分解为:
其中, 表示词序列 , 从 开始, 为 为 。
应用1-音字转换问题
给定拼音串:ta shi yan jiu sheng wu de
可能的汉字串:踏实研究生物的、他实验救生物的、他使烟酒生物的、他是研究生物的… …
CString = {踏实研究生物的, 他实验救生物的,他是研究生物的, 他使烟酒生雾的,… …}
如果使用 2-gram:
p(CString1) =p(踏实|<BOS>)×p(研究|踏实)×p(生物|研究)×p(的|生物)×p(<EOS>|的)
p(CString2) =p(他|<BOS>)×p(实验|他)×p(救|实验)×p(生物|救)×p(的|生物)×p(<EOS>|的)
……
如果汉字的总数为:N:
- 一元语法:
1)样本空间为 N
2)只选择使用频率最高的汉字 - 2元语法:
1)样本空间为 N2
2)效果比一元语法明显提高户 估计对汉字而言四元语法效果会好一些户 智能狂拼、微软拼音输入法基于 n-gram.
应用2-汉语分词问题
给定汉字串:他是研究生物的。
可能的汉字串:
1)他|是|研究生|物|的
2)他|是|研究|生物|的
如果采用2元文法:
p(Seg1) =p(他|<BOS>)×p(是|他)×p(研究生|是)×p(物|研究生)×p(的|物)×p(的|<EOS>)
p(Seg2) = p(他|<BOS>)×p(是|他)×p(研究|是)×p(生物|研究)×p(的|生物)×p(的|<EOS>)