统计语言模型的优点
统计语言模型是自然语言处理(NLP)的基础模型,它从概率统计角度出发,解决自然语言上下文相关的特性。以下是统计语言模型的优点:
1.描述语言的概率分布
统计语言模型能够描述词、语句乃至整个文档的不同语法单元的概率分布,从而衡量某句话或词序列是否符合所处语言环境下的日常行文方式。
2.适用于大规模自然语言处理应用
统计语言模型对于复杂的大规模自然语言处理应用有着非常重要的价值,它能够有助于提取出自然语言中的内在规律,从而提高语音识别、机器翻译、文档分类、光学字符识别等自然语言应用的表现。
3.简单高效
计算的复杂度并不高,训练过程其实只是计算统计量,速度很快,一般能在几分钟内就完成,预测阶段的速度自然也没什么问题。
4.工具现成
统计语言模型的工具如kenlm值得拥有,c++的原生接口,python则是在c++的基础上包了一层,只是预测的话python足够,训练的话则需要c++自己编译。
5.高频case处理的好
基于统计概率的方法,所以对涉及高频样本的分析,效果非常好。
统计语言模型的缺点
尽管统计语言模型有上述优点,但它也存在一些缺点:
1.缺乏长期依赖
只能建模到前n1个词,无法建模更远的关系。
2.样本依赖
需要多样的、尽可能准确的数据才能训练有效的模型。极端情况下,即使有1亿条文本,如果全都一样,那么这个样本其实也是没用的。
3.无法存储足够多足够有深度的语义信息
这让模型失去了泛化能力、推断能力。单纯的基于统计频次,泛化能力差。
4.数据稀疏
随着n的增大,参数空间呈指数增长,数据稀疏,难免会出现OOV的问题。
5.计算复杂度高
当句子的长度很长的时候,我们后面计算的许多ngram词组的频率几乎接近于0,效率非常低。
6.无法建模词之间的相似度
有时候两个具有某种相似性的词,如果一个词经常出现在某段词之后,那么也许另一个词出现在这段词后面的概率也比较大。Ngram语言模型无法建模更远的关系。