词向量与Embedding究竟是马航究竟怎么回事事

如何产生好的词向量-爱编程
如何产生好的词向量
如何产生好的词向量?
词向量、词嵌入(,)也称分布式表示(),想必任何一个做的研究者都不陌生。如今词向量已经被广泛应用于各自任务中,研究者们也提出了不少产生词向量的模型并开发成实用的工具供大家使用。在使用这些工具产生词向量时,不同的训练数据,参数,模型等都会对产生的词向量有所影响,那么如何产生好的词向量对于工程来说很重要。中科院自动化所的来斯惟博士对此进行了详细的研究。本篇博客也是我阅读来博士发表的论文《》和其博士论文的笔记,并结合自己平时实验的经验总结出来的,希望对大家在训练词向量时有所帮助。
词的表示技术
在来博士的博士论文中概述了现有的主要词表示技术,我在此也先简单进行介绍。
独热表示技术(早期传统的表示技术)
分布表示技术(与独热表示技术相对应,基于分布式假说即上下文相似的词,其语义也相似,把信息分布式地存储在向量的各个维度中的表示方法,具有紧密低维,捕捉了句法、语义信息特点)
基于矩阵的分布表示
基于聚类的分布表示
通过聚类手段构建词与其上下文之间的关系。代表模型:布朗聚类()。
基于神经网络的分布表示(这是我们下面要研究的主要方法,在此介绍几种代表性模型)
神经网络语言模型()
双线性语言模型()
工具中的两个模型
在上面模型的在输入层是直接进行求和,这样并没有考虑词之前的序列顺序,所以来博士把直接求和改为了词向量之间的顺序拼接来保存序列顺序信息。
模型理论比较
各种模型的实验对比分析
整个实验是围绕下面几个问题进行的
如何选择合适的模型?
训练语料的大小及领域对词向量有什么影响?
如何选择训练词向量的参数?
词向量维度
词向量的语言学特性
词义相关性数据集,词对语义打分。皮尔逊系数评价。
同义词检测数据集,个单选题。准确率评价
单词语义类比个问题。。准确率
单词句法类比个问题。。准确率
词向量用作特征
基于平均词向量的文本分类数据集,分类。准确率评价
命名实体识别数据集,作为现有系统的额外特征。值
词向量用作神经网络模型的初始值
基于卷积的文本分类斯坦福情感树库数据集,词向量不固定。准确率
词性标注华尔街日报数据集,等人提出的。准确率
实验结果(红色字体为博主自己总结,黑色字体为论文结论)
对于评价语言学特性的任务,通过上下文预测目标词的模型,比上下文与目标词联合打分的模型效果更好。
对于实际的自然语言处理任务,各模型的差异不大,选用简单的模型即可。
简单模型在小语料上整体表现更好,而复杂的模型需要更大的语料作支撑。
同领域的语料,一般语料越大效果越好
领域内的语料对相似领域任务的效果提升非常明显,但在领域不契合时甚至会有负面作用。
在自然语言任务上,同领域的语料效果明显差,但是以上扩大语料,任务结果的差异较小。
规模和领域的权衡
语料的领域纯度比语料规模更重要。(特别是在任务领域的语料比较小时,加入大量其他领域的语料可能会有很负面的影响)
根据词向量的损失函数选择迭代次数不合适。
条件允许的话,选择目标任务的验证集性能作为参考标准。
具体任务性能指标趋势一样,可以选简单任务的性能峰值。
使用工具中的默认参数,次差不多。
词向量维度
对于分析词向量语言学特性的任务,维度越大效果越好。
对于提升自然语言处理任务而言,维词向量通常就足够好。(这里我觉得只能说是某些任务,不过趋势是一致的,随着词向量维度的增加,性能曲线先增长后趋近于平缓,甚至下降)
选择一个合适的模型。复杂的模型相比简单的模型,在较大的语料中才有优势。(在工具中我一般使用模型)
选择一个合适领域的语料,在此前提下,语料规模越大越好。使用大规模的语料进行训练,可以普遍提升词向量的性能,如果使用领域内的语料,对同领域的任务会有显著的提升。(训练语料不要过小,一般使用同领域语料达到规模)
训练时,迭代优化的终止条件最好根据具体任务的验证集来判断,或者近似地选取其它类似的任务作为指标,但是不应该选用训练词向量时的损失函数。(迭代参数我一般使用根据训练语料大小,一般选用次)
词向量的维度一般需要选择维及以上,特别当衡量词向量的语言学特性时,词向量的维度越大,效果越好。(一般根据具体任务进行实验,最后根据性能和实验需使用的时间选择合适的词向量维度)
主要参考文献
来斯惟基于神经网络的词和文档语义向量表示方法研究中科院自动化所,博士论文,
版权所有 爱编程 (C) Copyright 2012. . All Rights Reserved.
闽ICP备号-3
微信扫一扫关注爱编程,每天为您推送一篇经典技术文章。您正在使用IE低版浏览器,为了您的雷锋网账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
发私信给小东
导语:谷歌高维数据可视化工具Embedding Projector开源,从此数据可视化变得异常简单。
同步到新浪微博
当月热门文章
为了您的账户安全,请
您的邮箱还未验证,完成可获20积分哟!
您的账号已经绑定,现在您可以以方便用邮箱登录当前位置: →
谷歌 Embedding Projector 开源,高维数据可视化变得超简单!
雷锋网消息,最近谷歌开源了网页版数据可视化工具Embedding Projector,该项目作为Tensorflow的一部分,能对高维数据进行可视化展示与分析。以下是雷锋网整理编译的谷歌研究院介绍内容,未经许可不得转载。
最近机器学习界可谓是硕果累累,从图像识别、语言翻译再到医疗诊断,可谓让人大开眼界。随着机器学习的广泛应用,探索模型是如何理解数据这一问题正在变得越来越重要,但是数据通常是用成百上千维的向量表示,因此我们需要一个专门的工具来探索、研究这个数据高维空间。
为了使大家能够更加直观的研究数据,我们开源了我们自己研发的网页版数据可视化工具Embedding Projector,这个可视化工具是TensorFlow的一部分,可以用来对高维数据进行可视化展示与分析,此外还有一个单一版,这个版本不需要安装TensorFlow,便可直接运行,大家可以去 projector.tensorflow.org 下载。
  嵌入探索
通常我们需要训练的数据是不能直接作为机器学习算法的输入的,我们应当将这些数据(例如:词语、声音、视频等数据)表示成一种机器可以理解(处理)的数据形式。我们使用的是嵌入方法,即将数据表示成一个向量,这个向量包含了数据各个方面的信息。例如,在自然语言中,两个意思相近的词会映射到同一向量空间中两个不同的点,但这两个点的位置应该是相近的。
Embedding Projector这个工具使用起来很简单,它可以实现数据的2D或3D效果展示。轻点鼠标,便可实现数据的旋转、缩放。我们按照word2vec教程在TensorFlow上训练了一些词向量,将这些词向量通过我们的工具进行可视化展示,点击图中任意一点(表示词向量的点),那么通过这种算法算出的,与这个词语义相关的词以及其向量空间距离就会罗列出来。它给我们提供了一种非常重要的探究算法性能的方法。下图展示了&important&这个词在向量空间中的语义相近点
  降维方法
Embedding Projector提供了三种常用的数据降维方法,这些方法可以使复杂数据可视化变的简单一些。具体为以下三种:PCA,、t-SNE、custom linear projections。PCA用在探究数据内部结构、发现数据重要维度信息上;t-SNE用于探究数据的周围信息、确定其与哪些周围数据属于同类(聚类效果),确保向量保留了数据的含义信息。custom linear projections用于确定数据含义的&方向&(在生成模型中,统一数据,正式语气与非正式语气其含义是不同的,加入这些因素可以提高机器学习模型的适应性)。
下图是在一个35K的电子邮件常用短语数据集上,使用custom linear projection方法得出的与&See attachments&相邻的100个点
此外在Embedding Projector网站上还有一些数据集,你可以去网站下载,然后试一下我们的可视化软件,如果你想公开你的训练结果,这很简单,你只需要单击软件的&Publish&按钮,便可以实现训练结果的共享了。我们希望Embedding Projector在机器学习应用方面,对研发人员有所帮助,也希望帮助大家更好理解,机器学习算法是如何对数据进行解释的。如果想了解更多的细节,请参看这里。
关注官方微信
扫一扫分享本文到朋友圈
联系我们:
&(发送邮件时,请把#换成@)
投稿信箱:
&(发送邮件时,请把#换成@)
企业网版权所有

我要回帖

更多关于 马航究竟怎么回事 的文章

 

随机推荐