版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huanghaocs/article/details/77935556
什么是语言模型
本文参考维基百科语言模型 language model
统计语言模型是一个单词序列上的概率分布,对于一个给定长度为m的序列,它可以为整个序列产生一个概率
目前在自然语言处理相关应用非常广泛,如语音识别(speech recognition) , 机器翻译(machine translation), 词性标注(part-of-speech tagging), 句法分析(parsing)等。传统方法主要是基于统计学模型,最近几年基于神经网络的语言模型也越来越成熟。
Unigram models
Unigram models也即一元文法模型,它是一种上下文无关模型。该模型仅仅考虑当前词本身出现的概率,而不考虑当前词的上下文环境。概率形式为
以一篇文档为例,每个单词的概率只取决于该单词本身在文档中的概率,而文档中所有词出现的概率和为1,每个词的概率可以用该词在文档中出现的频率来表示,如下表中
Terms | Probability |
---|---|
a | 0.1 |
world | 0.2 |
likes | 0.05 |
we | 0.03 |
share | 0.26 |
… | … |
对于这篇文档中,所有概率和相加为1,即
n-gram models
n-gram models也即n元语言模型,针对一个句子
Neural language models
神经语言模型使用连续表示或词汇Embedding来进行预测。 已神经网络为基础来训练模型。
这里未完待续。。。