自然语言处理|语言模型介绍

01

回顾

昨天说到自然语言处理中如何将词语转化为词向量,主要用 Distributed Representation 思想,比如谷歌的word2vec就是其中思想下的实现方法之一,关于这篇总结,请参考:

深度学习|自然语言处理之词To词向量

下面,总结自然语言处理中的语言模型,那么何为语言模型?语言模型是用来判断某句话是不是按照某种语言的习惯正确表达出来的,比如,我已经吃过饭,是一句符合汉语习惯的话,那么,吃过饭我已经,就不是一句符合习惯的表达,那么如何让机器判断出,

  • 我已经吃过饭,
  • 吃过饭我已经,

哪个是更可能表达准确的句子呢?

下面就来说说语言模型相关的算法。

02

语言模型

首先分析下如何让机器做出判断那句话出现的概率更高的解决思路,一般地,我们假定已经正确地将一句话进行分词了,也就是说,这句话有下面4个词语组成:

已经

吃过

那么问题就化简为 判断 P(我已经吃过饭),P(吃过饭我已经),哪个概率大,哪个就是更符合习惯的。

这个问题就是语言模型需要解决的问题,下面介绍几种求解这个概率的算法。

1 N-gram模型

前者概率的计算方法:P(我)*(已经 | 我) * P( 吃过|我,已经) *P(饭|我,已经,吃过),转化为计算这个概率,这种假定是人为某个词的出现,与前面出现的词相关,这种模型称为N-gram模型。

N-gram模型,对以上的概率乘积做了一步简化,利用马尔科夫链的假设,即当前这个词仅仅跟前面 n 个有限的词相关,因此也就不必追溯到最开始的那个词,这样便可以大幅缩减计算的长度。即

如果 n 取为 2,就是一个二元模型(bigram model),即前一个词出现的情况下当前词出现的概率乘积,比如已经后面出现吃过的概率:

2 N-pos模型

N-gram 模型主要缺点需要大规模的文本训练,同时假定第i个词出现概率条件依赖它前几个词。实际上,许多词出现的概率是条件依赖于它前面词的语法功能。N-pos模型,将词按照其语法功能进行分类,由这些词类决定下一个词出现的概率。这样的词类成为词性(Part-of-Speech,简称为POS)。记住,这个语言模型,关注的是词所属的此类,比如统计了某个语料库,最后有3个词类:名次,动词,形容词;而“吃过”这个词出现的概率就等于动词出现的概率乘以这个词在动词类中出现的概率。

3 基于决策树的语言模型

考虑了相近的概率分布,例如英语中(动词,冠词)和(介词,冠词)的概率分布情况相近。因此,决策树模型,利用这种数据点的特征,举例说明吧,训练语料库中出现一个词wi,它的前一个词为wi-1,这样一个数据点(wi-1,wi)=(已经,吃过)。在关于上下文信息的问题集中都是这样的提问:“它前一个词的词性是名词(词性标号)吗?”,通过回答提问进入下一级子节点,直到叶节点为止。

4 动态语言模型

以上介绍的这3种语言模型,都属于静态语言模型,都是预先从训练语料库中估算好的。实际上,在自然语言中,经常出现这样现象:某些在文本中通常很少出现的词,在某一局部文本中突然大量地出现。能够根据词在局部文本中出现的情况,动态地调整语言模型中的概率分布数据的语言模型,使之成为动态、自适应或者基于缓存的语言模型,这种混合模型可以有效地避免数据稀疏的问题。

以上就是几种常用的语言模型算法。

原文发布于微信公众号 - 算法channel(alg-channel)

原文发表时间:2017-12-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习之旅

应用:数据预处理-异常值处理

举个例子:以下一组用户用车月花费:100,110,90,80,200,120,115,月花费的均值在116左右,标准差在39左右,理论上用户的分布应该在116±...

11120
来自专栏人工智能头条

微软资深研究员详解基于交错组卷积的高效DNN | 公开课笔记

15910
来自专栏量子位

深度学习在推荐系统上的应用

作者:陈仲铭 量子位 已获授权编辑发布 转载请联系原作者 深度学习最近大红大紫,深度学习的爆发使得人工智能进一步发展,阿里、腾讯、百度先后建立了自己的AI La...

40450
来自专栏人工智能

自然语言处理 语言模型介绍

01 — 回顾 昨天说到自然语言处理中如何将词语转化为词向量,主要用Distributed Representation 思想,比如谷歌的word2vec就是其...

32570
来自专栏算法channel

深度学习|自然语言处理之词To词向量

01 — 回顾 总结了几种常用的深度学习算法:CNN,RNN之LSTM,GRU,关于这部分的介绍请参考: 深度学习|卷积神经网络(CNN)介绍(前篇) 深度学习...

31840
来自专栏机器学习算法与Python学习

干货 | 8个方法解决90%的NLP问题

14930
来自专栏AI研习社

2017 知乎看山杯从入门到第二

利用一个暑假的时间,做了研究生生涯中的第一个正式比赛,最终排名第二,有些小遗憾,但收获更多的是成长和经验。我们之前没有参加过机器学习和文本相关的比赛,只是学过一...

30670
来自专栏机器之心

从大间隔分类器到核函数:全面理解支持向量机

319100
来自专栏WeaponZhi

机器学习一:线性回归

视频及 PPT 原教程:https://pan.baidu.com/s/1geFro9H 密码:50sc 线性回归中维基百科的定义如下:

16650
来自专栏人工智能头条

详细解读谷歌新模型 BERT 为什么嗨翻 AI 圈

今天带来的这篇文章,详细的讲解了 BERT 以及和其他模型之间的区别。由深思考人工智能(iDeepWise Artificial Intelligence)投稿...

25120

扫码关注云+社区

领取腾讯云代金券