美文网首页NLP
自然语言处理——5.1 语言模型(基本概念)

自然语言处理——5.1 语言模型(基本概念)

作者: SpareNoEfforts | 来源:发表于2018-10-03 20:50 被阅读17次

    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,即\sum\nolimits_s {p(s) = 1},,可以在句子首尾两端增加两个标志: <BOS> w_1 w_2 … w_m<EOS>

    不失一般性,对于n>2n-gramp(s) 可以分解为:p(s) = \mathop \prod \limits_{i = 1}^{m + 1} p({\omega _i}|\omega _{i - n + 1}^{i - 1})
    其中,w_j 表示词序列 w_i … w_j ,w_i-n+1, 从w_0 开始,w_0<BOS>,w_{m+1}<EOS>

    应用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>)

    相关文章

      网友评论

        本文标题:自然语言处理——5.1 语言模型(基本概念)

        本文链接:https://www.haomeiwen.com/subject/ciszoftx.html