自然语言处理中传统词向量表示VS深度学习语言模型(一)
此博客内容是本人在学习自然语言模型中的一些学习和总结,之所以记录下来,也是自己对相关知识的一种巩固,正所谓好记性不如烂笔头。好啦!闲话不多说,开始进入正题!
随着近几年deep learning 的发展,已在图像、视频、语音、自动驾驶等领域得到了空前的发展和进步,与此同时,在NLP领域,deep learning 的应用也是与日俱增。虽然目前仍然存在着一些诟病和困难,但是不可否认deep learning给NLP领域注入了新的血液,产生了不少的研究成果。
本文,旨在对NLP领域的词向量问题作一些梳理,首先我们来看看,人类是怎么来理解语言的,以及机器对自然语言的理解应该如何完成?
1 认知语言学
认知语言学(cognitive linguistics)是认知科学(cognitive science)与语言学交叉的一个研究分支,是研究人脑的思维、心智、智能、推理和认识等认知机理及其对语言进行分析和理解过程的一门学问。人脑处理语言的能力十分强大,可以快速、准确地阅读和理解各种类型的文本,即使文本中含有少量的错误,也不影响正常的理解,而且对语言的理解是增量式的,可以不断地将当前阅读的词汇语义与上文的含义进行整合,形成新的含义,并可在一定程度上推断下文的内容。另外,人脑在语言理解时只利用有限的记忆空间就可处理与当前词汇距离较远的词汇。如何对这些特性进行数学建模和模拟,一直是神经语言学家和计算语言学家关注的问题。
而语言认知计算模型就是刻画人脑语言认知和理解过程的形式化模型。理想情况下,希望建立可计算的、复杂度可控的数学模型,以便在计算机系统上实现对人脑语言理解过程的模拟。尤其近几年随着人工智能研究的再度兴起,人们在对人脑理解语言的生物过程尚不清楚的情况下,也在尝试通过模拟人脑神经系统的结构和功能,或者借鉴人脑的某些认知行为(记忆、编码、搜索、概念形成、缺省推理、隐喻投射、概念整合等)的表现,或受人脑某些功能和表现的启发,建立实用、有效的自然语言处理模型或方法,实现所谓的“类脑语言信息处理”。
2 语言表示
2.1 什么是语言表示
2.2 符号化的离散表示
2.3 嵌入式的连续表示
这种连续的表示方式最常用的就是Distributed Representation(分布式表示),Distributed representation 最早由 Hinton在 1986 年提出。它是一种低维实数向量,这种向量一般长成这个样子:
[-0.1223,0.5561,0.7768,-0.2991,...]
向量的维度一般以50-200维比较常见。当然,向量的维度是可以自己定的。Distributed representation的思想是将语言的潜在语法或语义特征分散式地存储在一组神经元中,可以用稠密、低维、连续的向量来表示,也叫嵌入(Embeddings)。不同的深度学习技术通过不同的神经网络模型来对字、词、短语、句子以及篇章进行建模。除了可以更有效地进行语义计算之外,Distributed representation也可以使特征表示和模型变得更加紧凑。将词语映射到一个新的空间中,并以多维的连续实数向量进行表示叫做“Word Represention”或“Word Embedding”。自从21世纪以来,人们逐渐从原始的词向量稀疏表示法过渡到现在的低维空间中的密集表示。用稀疏表示法在解决实际问题时经常会遇到维数灾难,并且语义信息无法表示,无法揭示word之间的潜在联系。而采用低维空间表示法,不但解决了维数灾难问题,并且挖掘了词语之间的关联属性,从而提高了向量语义上的准确度。
向量之间的距离通常使用欧氏距离或者cos余弦距离进行计算。使用分布式表示,将所有的词语投射到低维的空间中,使得相似语义的词语距离越近,比如“计算机”和“电脑”应该在低维空间中距离应该大于“计算机”和“面包”之间的距离。
3 词向量模型
a) LSA矩阵分解模型
采用线性代数中的奇异值分解方法,选取前几个比较大的奇异值所对应的特征向量将原矩阵映射到低维空间中,从而达到词矢量的目的。
b) PLSA 潜在语义分析概率模型
从概率学的角度重新审视了矩阵分解模型,并得到一个从统计,概率角度上推导出来的和LSA相当的词矢量模型。
c) LDA 文档生成模型
按照文档生成的过程,使用贝叶斯估计统计学方法,将文档用多个主题来表示。LDA不只解决了同义词的问题,还解决了一次多义的问题。目前训练LDA模型的方法有原始论文中的基于EM和 差分贝叶斯方法以及后来出现的Gibbs Samplings 采样算法。
d) Word2Vec 模型
最近几年刚刚火起来的算法,通过神经网络机器学习算法来训练N-gram 语言模型,并在训练过程中求出word所对应的vector的方法。
在接下来的文章中,主要来介绍word2vec模型,以及如何训练自己的word2vec模型,敬请关注。本文是个人第一篇博客,写的不好或者有错误的地方望大家指出,并与本人联系,对NLP感兴趣的同学也可以与本人联系,相互学习。本人邮箱:1179632655@qq.com。
特别感谢:
1.[Algorithm & NLP] 文本深度表示模型——word2vec&doc2vec词向量模型
2.中文信息处理发展报告(2016)
3.Deep Learning in NLP (一)词向量和语言模型
自然语言处理中传统词向量表示VS深度学习语言模型(一)相关推荐
- CV中,传统视觉算法 vs 深度学习算法
计算机视觉中, 传统视觉算法,侧重于提取,识别容易量化的特征:颜色.面积.圆度.矩形度,角度.长度等. 深度学习算法,侧重于难于量化的特征:例如瑕疵. 传统视觉算法都是基于人为特征提取得到样本特征库去 ...
- 注意力机制-深度学习中的注意力机制+注意力机制在自然语言处理中的应用
1 深度学习中的注意力机制 https://mp.weixin.qq.com/s?__biz=MzA4Mzc0NjkwNA==&mid=2650783542&idx=1&sn= ...
- 认识机器学习与深度学习
目录 1. 认识机器学习 1.1 什么是机器学习? 1.2 机器学习可以解决的问题 1.3 机器学习的基础知识 2. 认识深度学习 2.1 什么是深度学习? 2.2 深度学习能做什么? 2.3 深度学 ...
- 深度学习 (五)cbow、skip-gram of word2vec
介绍 NLP 自然语言处理即让计算机理解学会人类语言,让计算机像人一样能有分辨能力.语言交流能力,并为我们服务产生价值的一种研究方向,从发展历史来说经过了很多代人的努力,向我们的目标更近了一步,从传统 ...
- 这38篇原创文章,带我入门深度学习!
这38篇原创文章带我入门卷积神经网络,循环神经网络和强化学习,希望对您有帮助. 37. 深度学习算法(第37期)----如何用强化学习玩游戏? 36. 深度学习算法(第36期)----强化学习之时 ...
- 深度学习:词嵌入之word2vec
http://blog.csdn.net/pipisorry/article/details/76147604 word2vec简介 深度学习在自然语言处理中第一个应用:训练词嵌入.Google 的 ...
- 复旦大学黄萱菁教授:自然语言处理中的表示学习
AI TIME欢迎每一位AI爱好者的加入! 比尔·盖茨曾说:"语言理解是人工智能皇冠上的明珠."在语音交互的AI时代,自然语言处理(NLP)发挥着不可替代的作用.深度学习的出现与发 ...
- 《Python自然语言处理-雅兰·萨纳卡(Jalaj Thanaki)》学习笔记:08 自然语言处理中的机器学习方法
08 自然语言处理中的机器学习方法 8.1 机器学习的基本概念 8.1.1 ML类型 8.1.2 ML 监督学习 8.1.3 无监督学习 8.1.4 强化学习 8.2 自然语言处理应用的开发步骤 8. ...
- 深度学习 VS 传统计算机视觉
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转载自:机器之心 作者:Niall O' Mahony等 | ...
最新文章
- 如何在StackOverflow上获得第一个标签徽章-以及为什么它很重要。
- 线程的挂起是错误的概念实际是线程的阻塞,挂起只针对进程,将进程挂起会将进程从内存空间交换到磁盘空间的过程
- Linux help websites
- Altiris 7.1 插件
- Hadoop学习全程记录——在Eclipse中运行第一个MapReduce程序
- Map实现java缓存机制的简单实例
- 尚硅谷_JavaScript_学习笔记
- maven安装遇到的坑
- github上的python爬虫_python爬虫入门(2):让你的github项目火起来
- python tkinter grid布局
- Transfer-Encoding
- CISSP重点知识总结1
- 【学习笔记】Java工程师成神之路-基础篇
- 废旧 Android 手机如何改造成 Linux 服务器
- 《嵌入式系统 – NUC980 IoT应用开发实战指南(基于RT-Thread系统)》第3章 NUC980 IoT I2C实践
- 京东登录页面html代码_如何制作一个简单的HTML登录页面(附代码)
- 做网站要服务器和什么软件,做网站的软件有哪些,自己建网站要用到哪些软件?...
- Facebook创始人扎克伯格呼吁加强互联网监管
- 微信提醒事项功能怎么设置
- 十大护眼灯品牌什么牌子好?盘点护眼灯品牌排行前十名
热门文章
- 计算机怎么解除c盘用户权限,电脑c盘没有权限如何恢复_win10系统c盘没有管理员权限怎么设置-系统城...
- urllib库(二)parse模块:urlparse()/urlsplit(),parse_qs()/parse_qsl(),urlunparse()/urlunsplit(),urlencode()
- RTX2080ti显卡+win10+安装Tensorflow-gpu
- 电脑录音文件删除怎么找回——告诉你3个专业方法
- 水晶报表插件下载地址
- linux网络流量统计,linux下网络流量监控统计
- AspNetCore 3.1(ABP.Next)集成MiniProfile(简要)
- 一步一步使用ABP框架搭建正式项目系列教程之本地化详解
- 西北乱跑娃 --- 持续稳定的isbn接口
- VMWare workstation 和 player区别