N-gram语言模型
该模型基于这样一种假设,第n个词的出现只与前面N-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积。这些概率可以通过直接从语料中统计N个词同时出现的次数得到。常用的是二元的Bi-Gram和三元的Tri-Gram。
目的1: 用来明确语义
比如当“MIKE LOVE YOU " 跟"YOU LOVE MIKE"
两句话时用binary weighting ,countvec,TF-IDF时,就变成同个句子了,明确不了语义。
因此引入N-gram.
例如2-gram建索引:
Mike love 1
love you 2
you love 3
love ike 4
则”MIKE LOVE YOU" 的向量表示为 [1,1,0,0]
"YOU LOVE MIKE"的向量表示为[0,0,1,1]
因此可以区别出语义。
目的2:
一句话(词组)出现的概率
如Unigram/1-gram
P(MARY LIKES TOO)=P(TOO|MARK,LIKES)*P(LIKES|MARY)*P(MARY)
=P(TOO)*P(LIKES)*P(MARY)
如Unigram/2-gram
P(Mary likes too) =P(TOO|MAKE,LIKES)*P(LIKES|MARY)*P(MARY)
=P(TOO|LIKES)*P(LIKES|MARRY)*P(MARY)
优点:考虑了词的顺序
缺点:词表的膨胀,词表会变得很大。