赞
踩
一. 概述
在之前介绍过的卷积神经网络计算中,前一个输入和后一个输入之间是没有关联关系的。但很多任务需要利用序列关系做处理。例如在自然语言处理中,需要理解一句话的时候,单独的只理解每一个词语是不行的,我们需要处理的是这些词连接起来的整体序列。为了解决这一问题,就诞生了循环神经网络(Recurrent Neural Network,RNN)。
二. 语言模型
首先回顾一下之前分享过的语言模型内容,语言模型(Language model)是自然语言处理的重要技术。自然语言处理中最常见的数据是文本数据。我们可以把一段自然语言文本看作一段离散的时间序列。假设一段长度为T的文本中的词依次为w1,w2,...,wT,那么在离散的时间序列中,wt(1≤t≤T)可看作在时间步(time step)t的输出或标签。给定一个长度为T的词的序列w1, w2,...,wT,语言模型将计算该序列的概率:
P(w1, w2,...,wT)
公式1:语言模型表达式
语言模型可用于提升机器翻译的性能。如果对英文“you go first”逐词翻 译成中文的话,可能得到“你走先”“你先走”等排列方式的文本序列。如果语言模型判断出“你先走”的概率大于其他排列方式的文本序列的概率,我们就可以把“you go first”翻译成“你先走”。
既然语言模型很有用,那该如何计算它呢?假设序列w1, w2,...,wT中的每个词是依次生成的,我们有:
P(w1, w2, . . . , wT )=∏ T t=1 P(wt | w1, . . . , wt−1).
公式2:语言模型展开式
例如,一段含有4个词的文本序列的概率 P(w1, w2, w3, w4) &#
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。