语言模型

mac2022-07-05  27

NLP之语言模型

什么是语言模型

好的,下面我们先来看一看什么叫做语言模型。假设我们有这么一句话,“我爱我的祖国”,通过分词,我们将这句话分解为如下短词语 “我” “爱” “我的” “祖国”。根据语料库统计数据,我们可以知道“我”、“爱”,“我的”,“祖国”这些短语分别出现的概率P(“我”)、P(“爱”)、P(“我的”)、P(“祖国”)。要想知道“我爱我的祖国”出现的概率,即是求解P(“我”,“爱”,“我的”,“祖国”)的概率大小。根据概率乘法公式原则P(“我”,“爱”,“我的”,“祖国”)=P(“我”)*P(“爱”|“我”)*P(“我的”|“我”,“爱”)*P(“祖国”|“我”,“爱”,“我的”)。故语言模型就是要想知道一句话出现的概率,概率大说明这句话越接近正确的语言使用习惯,通过求解各个短语在已知词语的条件下的条件概率的乘积。 我们来看一下公式,S代表sentence,一句话;W代表Word,一个词语 P(S)=P(W1,W2,W3,…Wn)=P(W1)P(W2|W1)P(W3|W1,W2)…P(Wn|W1,W2,W3…Wn-1)

模型缺陷

上面公式求解存在两个弊端 一、参数太大,后面出现的每一个词语都要考虑到之前所出现的词语。如P(“祖国”|“我”,“爱”,“我的”),祖国这个词的出现需要考虑到前面出现过的“我”、“爱”、“我的”,这些词语,造成参数太多 二、数据稀疏,依然如P(“祖国”|“我”,“爱”,“我的”),概率可能会更加接近与0了,甚至有的一句完整的句子可能仅出现一次,概率无线接近与0

模型改进

一元模型 该模型假设每一个词语出现与否都是独立的,即该词语的出现与其他词语出现与否没有关系。P(S)=P(W1)*P(W2)…P(Wn) 二元模型 我们假设一个词语的出现仅与这个词语之前的一个词语有关,如P("祖国“|”我的“)表示祖国这个词语出现仅与”我的“这个词语出现与否有关,这就叫二元语言模型。 三元模型 假设一个词语的出现与否跟该词之前的两个词语出现与否有关,如P("祖国“|”爱“,”我的“)表示祖国这个词语出现仅与”爱“和”我的“这两个词语出现与否有关,这就叫三元语言模型。 N元模型 根据以上的规律,N元模型代表一个词语的出现与之前的N-1个单词出现与否有关 以上几种语言模型,最常使用的有二元、三元模型。一元模型假设太过强烈,每个词语之间没有相关性,这不太符合语法,没有考虑到词与词之间的关联;三元以上的模型,计算量太大,数据过于稀疏,概率会接近于0

最新回复(0)