网站开发招聘年薪,教资注册网址,算命网站建设开发,苏州市建设局招标网站为了弥补 One-Hot 独热编码的维度灾难和语义鸿沟以及 BOW 词袋模型丢失词序信息和稀疏性这些缺陷#xff0c;将词表示成一个低维的实数向量#xff0c;且相似的词的向量表示是相近的#xff0c;可以用向量之间的距离来衡量相似度。 N-gram 统计语言模型是用来计算句子概率的…为了弥补 One-Hot 独热编码的维度灾难和语义鸿沟以及 BOW 词袋模型丢失词序信息和稀疏性这些缺陷将词表示成一个低维的实数向量且相似的词的向量表示是相近的可以用向量之间的距离来衡量相似度。 N-gram 统计语言模型是用来计算句子概率的概率模型即某一个词的出现由其前面每一个词出现的概率决定。假设一个长度为N的句子句子 S(X1,...,XN)那么这个句子的概率也就是这 N 个词共同出现的概率如下 N的取值名称含义1Unigram当前词出现的概率仅仅与自身相关2Bigram当前词出现的概率仅仅与前面的1个词相关3Trigram当前词出现的概率仅仅与前面的2个词相关.........NN-gram当前词出现的概率仅仅与前面的(N-1)个词相关 例如长度为4的序列X1, X2, X3, X4 在Ungram、Bigram和Trigram中的概率分别为 P(X1, X2, X3, X4) P(X1)P(X2)P(X3)P(X4) P(X1, X2, X3, X4) P(X1)P(X2|X1)P(X3|X2)P(X4|X3) P(X1, X2, X3, X4) P(X1)P(X2|X1)P(X3|X1, X2)P(X4|X2, X3) 随着 N 的取值越大N-gram 模型在理论上越精确但是也越复杂需要的计算量和训练语料数据量也就越大并且精度提升的不够明显所以在实际的任务中很少使用 n3 的语言模型。 例如使用一个含有三句话的微型语料库而且需要在这三句话的前后分别加上开始符BOS和结束符 EOS目的是为了让以某一词为条件的所有概率加起来是 1从而保证这确实是一个合法的概率分布接下来我们来看语料 BOS我爱你EOS
BOS我爱她EOS
BOS她爱你EOSBOSBegining Of Sequence代表序列开始。 EOSEnd Of Sequence代表序列结束。 利用 Bi-gram 计算各个词出现的概率 单词 BOS 出现的次数3次单词 我 出现的次数2次单词 爱 出现的次数3次单词 你 出现的次数2次单词 她 出现的次数2次单词 EOS 出现的次数3次二元组 我爱 出现的次数2次二元组 爱你 出现的次数2次二元组 她爱 出现的次数1次二元组 爱她 出现的次数1次二元组 BOS我 出现的次数2次二元组 BOS她 出现的次数1次二元组 你EOS 出现的次数2次二元组 她EOS 出现的次数1次 利用 Bi-gram 计算相邻两个词先后出现的概率 P(我|BOS) Count(BOS我) / Count(BOS) 2/3P(她|BOS) Count(BOS她) / Count(BOS) 1/3P(爱|我) Count(我爱) / Count(我) 1P(EOS|你) Count(你EOS) / Count(你) 1P(你|爱) Count(爱你) / Count(爱) 2/3P(她|爱) Count(爱她) / Count(爱) 1/3P(爱|她) Count(她爱) / Count(她) 1/2P(EOS|她) Count(她EOS) / Count(她) 1/2. 这样我们就完成了 Bi-gram 各个概率值的计算整个句子的概率就是挑选出对应的概率相乘即可。 P(BOS我爱你EOS) P(我|BOS) × P(爱|我) × P(你|爱) × P(EOS|你) 2/3 × 1 × 2/3 ×1 4/9P(BOS我爱她EOS) P(我|BOS) × P(爱|我) × P(她|爱) × P(EOS|你) 2/3 × 1 × 1/3 ×1 2/9P(BOS她爱你EOS) P(她|BOS) × P(爱|她) × P(你|爱) × P(EOS|你) 1/3 × 1 × 1 × 2/3 2/9 N-gram 语言模型使用统计频次来近似概率值可能会出现数据稀疏问题 如果分子为0估计的概率值为0由于连乘的方式会导致最终计算出句子的概率值为0如果分母为0分母为0计算的公式将没有任何意义