5.1 N-GRAM介绍

N-Gram是基于一个假设:第n个词出现不前n-1个词相关,而不其他 任何词不相关。(这也是隐马尔可夫当中的假设。)整个句子出现的概 率就等于各个词出现的概率乘积。各个词的概率可以通过语料中统计计 算得到。假设句子T是有词序列w1,w2,w3…wn组成,用公式表示N- Gram语言模型如下:

• P(T)=P(w1)p(w2)p(w3)p(wn)=p(w1)p(w2|w1)*p(w3|w1w2) *p(wn|w1w2w3…)

  1. 一般常用的N-Gram模型是Bi-GramTri-Gram。分别用公式表示如下:
  2. Bi-Gram:
  3. P(T)=p(w1|begin)*p(w2|w1)*p(w3|w2)***p(wn|wn-1)
  4. Tri-Gram:
  5. P(T)=p(w1|begin1,begin2)*p(w2|w1,begin1)*p(w3|w2w1)***p(wn|
  6. wn-1,wn-2)
  7. 注意上面概率的计算方法:P(w1|begin)=以w1为开头的所有句子/句
  8. 子总数;p(w2|w1)=w1,w2同时出现的次数/w1出现的次数。以此类推。

举个经典的二元语言模型(Bi-gram)例子:

5.1

二元语言模型实例(左为语料库中词频和词序列,右为“I want to eat Chinese food”概率计算过程):

5.2

N-GRAM的用处

  1. N-Gram(有时也称为N元模型)是自然语言处理中一个非常重要的概
  2. 念,通常在NLP中,人们基于一定的语料库,可以利用N-Gram来预计
  3. 或者评估一个句子是否合理。
  4. N-gram对中文词性标注(part of speech, POS)、中文分词(Word
  5. Segmentation)有很好的效果。中文分词和POS是中文文本分析中非
  6. 常重要的一环,因此在此作为N-gram的应用简要介绍。此外,基于N-
  7. gram还出现了更多有价值的语言模型,如NNLMCBOW等。

5.2 N-GRAM生成词语对

看代码

5.3 TF-IDF算法介绍及应用

概念

  1. TF/IDF(term frequencyinverse document frequency)用以评估字词
  2. 对于一个文件集其中一份文件的重要程度。==字词的重要性==随着它在文件中出
  3. 现的次数成正比增加,随着它在语料库中出现的频率下降。
  4. 词频 (term frequency, TF) 词语在文件中出现的次数,一般进行归一化,防
  5. 止长文件数字过大。
  6. 逆向文件频率 (inverse document frequency, IDF) 是一个词语普遍重要性
  7. 的度量。总文件数除以包含该词语文件数,再将得到的商取对数。
  8. 结论:在某特定文件内的高频率词语,但是该词语在整个文件集合中在较少
  9. 文件中出现,TF-IDF值较高。

公式

5.3

应用举例

• 1)关键词提取

• 2)句子相似度计算

• 3)其他算法的前置算法

TF-IDF文章相似度计算流程:

• A、使用TF-IDF算法,分别找出两篇文章的关键词;

• B、分别取每篇文章TF/IDF值top15(戒者其他值)的词,合并成一个集合,计算该集合下,每篇文章关键词的相对词频;

• C、分别生成两篇文章的词频向量;

• D、计算两个向量的余弦相似度,值越大就表示越相似。

  1. S1:香蕉和苹果都是水果。
  2. S2:香蕉和苹果都是水果,也是常见的水果。
  3. 1)分词:S1:香蕉/和/苹果/都/是/水果/。 S2:香蕉/和/苹果/都/是
  4. /水果/,/也/是/常见/的/水果/。
  5. 2)合并所有的词为集合(无重复词)(香蕉 苹果 常见
  6. 水果 也)
  7. 3)计算每个句子词频向量:
  8. v1=[1,1,1,1,1,0,0,1,0],v2=[1,1,1,1,2,1,1,2,1]
  9. 4)计算余弦相似度

5.4