前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从 n-gram 到 RNN 做的那些优化改进

从 n-gram 到 RNN 做的那些优化改进

作者头像
double
发布2018-06-04 17:26:54
1.5K1
发布2018-06-04 17:26:54
举报
文章被收录于专栏:算法channel算法channel算法channel

题图:jordan-steranka-645051-unsplash

语言模型是指已知 n 个连续单词预测第 n+1 个单词的模型,完成这项工作的系统称为语言系统。一个 n-gram 组是指 n 个连续的单词片断,常见的有: unigrams 是指 一个单词为一组,'the', 'students', 'opened', 'their';bigrams 是指两个单词为一组: 'the students', 'students opened', 'opened their';trigrams 是指三个单词为一组:' the students opend', 'students opened their' ; 4grams 是指将四个单词组为一组:'the students opened their' .

n-gram 定义下的语言模型,简称为 n-gram 语言模型。假设第 t+1 个单词wt+1 依赖于前 n-1 个单词。在这个假设下,wt+1 出现的概率为:前 n-1 个单词出现的情况下 wt+1出现的概率。怎么计算它呢? 若已经一个很大的预料库,分别统计 n-1 个连续单词出现的次数,统计结果显示出现了100 次。这 n-1 个单词后出现单词 wt+1 为 books 的次数为 20 次,则说明 n-gram 模型下出现下一个单词:books 的概率为 0.2;wt+1 为 laptops 出现了 25 次,则表明 n-gram 下 前 n-1 个单词下一个单词为 laptops 的概率高于 books.

n-gram 语言模型预测比较直观,但是,它有明显的弱点。如果语料库中没有出现 n-1 个单词片,分母为 0; 如果没有出现 n-1个单词和 wt+1的组合,分子为 0;需要加载 O(e^n) 量级的 n-gram 到内存,单词数和 n-gram 数为指数关系。

固定时间窗的神经网络语言模型,a fixed-window neural language model. 如下的三层神经网络,输入为 one-hot 的单词序列,输出为下一个单词的概率分布。

这个三层神经网络解决了 n-gram 模型的稀疏问题和存储问题。但是它每一个输入片段的长度为固定的,并且每一个 n-gram 输入的权重 w 非共享。这些问题限制了此网络模型的通用性,毕竟强制指定输入的长度是不科学的。

接下来,RNN 登场了,它解决了以上三层神经网络架构出现的问题。

RNN 网络的 W 是共享的,并且输入序列的长度是任意的。以下这张PPT 完整地展现了 RNN 的实际应用,xi 是经过 one-hot 编码的向量,经过 嵌入词向量函数 E 映射后得到词向量 ei,输入RNN 的输入层,经过隐含层,和 softmax 输出层得到下一个单词的概率分布图,如右上角所示。

RNN这种网络结构已经很完美了,RNN 网络理论上可以记忆很多时步前的信息,但是实践表明这些信息很难传递下去。

限于篇幅,明天的推送会送上 RNN 网络的训练推导的详细过程。祝大家劳动节快乐!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员郭震zhenguo 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档