文章目录
一、语言模型
语言模型可以说是自然语言处理中最重要的模型。语言模型可以看做是一个函数,用于计算一个句子出现的概率,即语言模型可以判断某一句话从语法上是否通顺(是不是人话),从语义上是否有歧义。在很多时候,我们都要度量一句话的出现概率,一句话的出现概率等同于一句话语法的流畅程度。通过语言模型,我们可以知道:
P L M ( 今 天 天 气 真 不 错 ) > P L M ( 真 不 错 天 气 今 天 ) P L M ( 全 民 A I 是 趋 势 ) > P L M ( 全 民 趋 势 是 A I ) P_{LM}(今天天气真不错)>P_{LM}(真不错天气今天)\\P_{LM}(全民AI是趋势)>P_{LM}(全民趋势是AI) PLM(今天天气真不错)>PLM(真不错天气今天)PLM(全民AI是趋势)>PLM(全民趋势是AI)
语言模型可以用于语音识别,机器翻译。
那么,如何计算每句话出现的概率?每句话出现的概率等于单词序列出现的概率。
P L M ( s ) = P L M ( w 1 , w 2 , . . . , w n ) P_{LM}(s)=P_{LM}(w_1,w_2,...,w_n) PLM(s)=PLM(w1,w2,...,wn)
根据链式法则,可以表示为
P L M ( s ) = P L M ( w 1 , w 2 , . . . , w n ) = P L M ( w 1 ) P L M ( w 2 ∣ w 1 ) . . . P L M ( w n ∣ w 1 w 2 . . . w n − 1 ) P_{LM}(s)=P_{LM}(w_1,w_2,...,w_n)=P_{LM}(w_1)P_{LM}(w_2|w_1)...P_{LM}(w_n|w_1w_2...w_{n-1}) PLM(s)=PLM(w1,w2,...,wn)=PLM(w1)PLM(w2∣w1)...PLM(