当前位置: 首页 > news >正文

自然语言处理分享系列-词向量空间中的高效表示估计(三)

目录

一、结果

关键术语说明

1.1 任务描述

评估方法

关键细节

2.2 准确率最大化

2.3 模型架构对比

2.4 大规模模型的并行训练

关键术语说明

技术细节补充

2.5 微软研究院句子补全挑战

跳字模型的性能探索

结果对比与改进

二、已学习关系的示例

三、结论

四、后续工作


上一篇文章:自然语言处理分享系列-词向量空间中的高效表示估计(二)

一、结果

为了比较不同版本词向量的质量,以往的研究通常采用表格展示示例词及其最相似的词汇,通过直观对比进行评估。尽管容易证明“法国”与“意大利”等国家名称具有相似性,但在更复杂的相似性任务中评估这些向量则困难得多。

已有研究指出,词与词之间可能存在多种相似性关系。例如,“big”与“bigger”的关系类似于“small”与“smaller”的关系;另一类关系则体现在“big - biggest”和“small - smallest”的词对中。若将具有相同关系的两组词对视为一个问题,则可提出如下问题:“与‘small’存在类似‘biggest’与‘big’关系的词是什么?”

值得注意的是,这类问题可通过简单的词向量代数运算解答。例如,要找到与“small”保持类似“biggest - big”关系的词,只需计算向量

X = vector(”biggest”) − vector(”big”) + vector(”small”)
随后在向量空间中搜索与X余弦距离最近的词作为答案(搜索时需排除问题中的输入词)。若词向量训练得当,此方法可准确找到正确答案(如“smallest”)。

实验表明,当基于海量数据训练高维词向量时,所得向量能捕捉细微的语义关系,例如城市与其所属国家的关系(如“法国 : 巴黎 = 德国 : 柏林”)。此类蕴含语义关系的词向量可提升现有自然语言处理应用(如机器翻译、信息检索和问答系统),并为未来潜在应用提供基础。

关键术语说明

  • 余弦距离(cosine distance):衡量向量方向差异的指标,值越小表示相似度越高。
  • 代数运算:此处指通过向量加减模拟词义关系(如类比推理)。

1.1 任务描述

为了评估词向量的质量,构建了一个包含五类语义问题和九类句法问题的综合测试集。表1展示了每类问题的两个示例。测试集共计8869个语义问题和10675个句法问题。每类问题的生成分为两步:首先人工创建一组相似词对,随后通过连接两个词对形成大量问题。例如,整理68个美国主要城市及其所属州的列表,随机选取两个词对组合生成约2.5K个问题。测试集仅包含单词语料(如“纽约”等多词实体未纳入)。

评估方法

通过计算向量最近邻与问题中正确答案的精确匹配来判断正确性(同义词视为错误)。由于模型未引入词法形态信息,理论上无法达到100%准确率。但词向量在此测试集的表现与实际应用效果应呈正相关。未来可通过融合词语结构信息(尤其针对句法问题)进一步提升性能。

关键细节

  • 问题类型:语义(5类)、句法(9类)
  • 数据规模:语义问题8869条,句法问题10675条
  • 生成逻辑:基于词对组合(如“城市-州”关系随机配对)
  • 评估标准:严格匹配正确答案,不考虑同义词
  • 局限性:未处理多词实体,未引入词法分析

2.2 准确率最大化

采用谷歌新闻语料库进行词向量训练,该语料库包含约60亿词例。词汇表大小限制为最高频的100万词。显然,这是一个时间受限的优化问题,因为增加数据量或提高词向量维度通常能提升准确率。为快速评估模型架构的最佳选择,首先在训练数据子集上测试模型,词汇表限制为最高频的3万个词。表2展示了CBOW架构下不同词向量维度和递增训练数据量的结果。

数据表明,超过某个临界点后,增加维度或训练数据仅带来边际收益。因此,必须同步提升词向量维度和训练数据量。尽管这一结论看似显而易见,但需注意当前流行做法是在较大数据量上训练词向量,但维度不足(如50-100维)。根据公式4,训练数据量翻倍与向量维度翻倍对计算复杂度的提升影响相近。

表2和表4的实验采用随机梯度下降和反向传播,共进行3个训练周期。初始学习率设为0.025,并按线性递减策略在最后一个周期结束时趋近于零。

2.3 模型架构对比

采用相同训练数据和640维词向量设置,首先对比不同模型架构生成词向量的效果。后续实验使用新版语义-句法词汇关系测试集的全部题目(不限于3万词表),同时包含文献[20]提出的侧重句法相似性的测试集结果。训练数据来自多个LDC语料库(详见文献[18]:3.2亿词,8.2万词表),此前基于单CPU训练的循环神经网络语言模型耗时约8周。本研究使用DistBelief并行训练框架,以前8个词为历史窗口训练同等640隐藏单元的前馈NNLM(因此NNLM参数量多于RNNLM,其投影层尺寸为640×8)。

表3显示,RNN词向量(如文献[20]所用)在句法类问题上表现良好。NNLM词向量显著优于RNN——这符合预期,因为RNNLM的词向量直接连接至非线性隐藏层。CBOW架构在句法任务上优于NNLM,语义任务表现相当;Skip-gram在句法任务上略逊于CBOW(但仍优于NNLM),而在语义测试部分远超其他模型。

进一步评估单CPU训练的模型并与公开词向量对比(见表4)。CBOW模型在谷歌新闻数据子集上训练约1天,Skip-gram模型耗时约3天。后续实验仅采用单轮训练(线性递减学习率至零)。表5表明,对双倍数据单轮训练的效果优于同数据三轮迭代,且能小幅提速。

2.4 大规模模型的并行训练

前文提到,已在名为DistBelief的分布式框架中实现了多种模型。以下展示了在Google News 6B数据集上的训练结果,采用小批量异步梯度下降及自适应学习率方法Adagrad[7]。训练期间使用了50至100个模型副本。由于数据中心机器与其他生产任务共享,CPU核心数为估算值,实际使用量可能存在波动。

需注意,分布式框架的开销导致CBOW模型和Skip-gram模型的CPU使用率比单机实现时更为接近。结果详见表6。


关键术语说明

  • DistBelief:谷歌开发的分布式机器学习框架,支持大规模模型训练。
  • Adagrad:自适应学习率优化算法,适用于稀疏数据。
  • 模型副本(Replicas):并行训练的模型实例,用于加速计算。
  • CPU核心估算:实际资源受共享环境动态影响。

技术细节补充

  • 异步梯度下降:参数更新无需等待所有副本同步,提升训练速度。
  • 开销影响:分布式通信成本使CBOW与Skip-gram的CPU使用差异缩小。

    2.5 微软研究院句子补全挑战

    2.5 部分提到的微软句子补全挑战是一项旨在推进语言建模及其他自然语言处理技术发展的任务。该任务包含1040个句子,每个句子缺失一个单词,目标是从五个合理选项中选择与句子其余部分最连贯的词。已有多种技术在此数据集上进行了性能测试,包括N-gram模型、基于LSA的模型、对数双线性模型,以及当前保持最高准确率55.4%的循环神经网络组合模型。

    跳字模型的性能探索

    在跳字模型架构的实验中,首先基于提供的5000万单词训练了640维模型。随后通过输入句子中的未知词并预测其周围所有单词,计算测试集中每个句子的得分。最终句子得分为这些独立预测得分的总和,依据得分选择最可能的句子。

    结果对比与改进

    表7展示了部分先前结果与新结果的简要对比。虽然跳字模型单独表现未超越LSA相似性,但其得分与循环神经网络语言模型得分具有互补性。加权组合后,准确率提升至58.9%(开发集59.2%,测试集58.7%),创造了新的最佳性能记录。

    二、已学习关系的示例

    表8展示了遵循不同关系的词语组合。采用上述方法:通过减去两个词向量来定义关系,并将结果添加到另一个词上。例如,巴黎 - 法国 + 意大利 = 罗马。可以看出准确度较高,但仍有明显改进空间(若采用完全匹配的评估标准,表8的结果仅约60%)。

    在更大规模数据集和更高维度上训练的词向量预计表现更优,并推动创新应用的发展。另一种提升准确度的方法是提供多个关系示例。当使用十个示例而非单个示例构建关系向量时(通过平均多个向量),最佳模型在语义-句法测试中的准确率绝对提升了约10%。

    词向量运算还可应用于其他任务。例如,通过计算一组词的平均向量并找出最远距离的词向量,能高效识别列表中的异常词,这类问题常见于人类智力测试。显然,这些技术仍有大量探索空间。

    三、结论

    本文研究了不同模型在句法和语义语言任务中生成的词向量表示质量。研究发现,相较于流行的神经网络模型(包括前馈和循环神经网络),通过简单的模型架构即可训练出高质量的词向量。由于计算复杂度大幅降低,可以从更庞大的数据集中计算出高精度的高维词向量。借助 DistBelief 分布式框架,CBOW 和 Skip-gram 模型甚至可以在包含一万亿单词的语料库上训练,词汇量基本不受限制。这一规模比此前同类模型的最佳结果高出几个数量级。

    词向量在 SemEval-2012 任务 2 [11] 中展现出显著优势,其性能远超此前最优方法。公开可用的 RNN 词向量结合其他技术,使斯皮尔曼等级相关系数较之前最佳结果提升了 50% 以上 [31]。基于神经网络的词向量此前已应用于多项自然语言处理任务,例如情感分析 [12] 和复述检测 [28]。可以预见,本文描述的模型架构将为这些应用带来改进。

    当前研究表明,词向量可成功应用于知识库中事实的自动扩展,以及现有事实的正确性验证。机器翻译实验的结果同样极具前景。未来,将本文技术与潜在关系分析 [30] 等方法进行比较也值得探索。相信本文构建的全面测试集将助力研究社区改进现有词向量评估技术。高质量词向量有望成为未来自然语言处理应用的重要基础模块。

    四、后续工作

    本文初稿完成后,发布了支持单机多线程的C++代码,用于实现连续词袋模型和skip-gram架构的词向量训练。训练速度较原文报告有显著提升,在典型超参数设置下可达每小时数十亿词的处理量。

    同时发布了超过140万个命名实体的词向量表示,训练语料规模逾千亿词。部分后续研究成果将发表于NIPS 2013会议论文[21]。


    本篇论文讲解到此就暂告一段落~后续会有持续的分享。 

      http://www.dtcms.com/a/474085.html

      相关文章:

    • 网页做网站的尺寸最新永久ae86tv最新
    • java的StringJoiner用法
    • 作业、工时、工作中心的一些配置杂记
    • 陇南做网站网站网站建设的原则有哪些
    • 网站建设费用价格明细表有道云笔记 同步 wordpress
    • Uniapp微信小程序开发:微信小程序支付功能后台代码
    • 制作网站谁家做的好怎样搞网络营销
    • win7winlogon调试指南winlogon!SignalManagerResetSignal需要运行多少次
    • QT 中的元对象系统(六):connect函数详解
    • 扬州建设集团招聘信息网站电子商务网站开发 当当网
    • Java基于SpringBoot的智慧校园管理系统小程序【附源码、文档说明】
    • 建设工程 法律 网站黑彩网站建设需要什么东西
    • Sora 2 上手指南:多模态视频生成 + API 实战
    • 量子纠缠连接宇宙的神秘纽带
    • 如何制作ppt视频教程WordPress加速优化方案
    • LeetCode:652. 寻找重复的子树
    • IP白名单配置:使用/24子网掩码是否有效?
    • TVM在RISC-V芯片的异构加速
    • 中区网站建设深圳最好的公司排名
    • 用cmd命令修改适配器ip
    • C#中结构(Struct)
    • 长春市网站建设深圳建设工程交易服务网老网站
    • 做视频网站用什么云盘好手机网站打开很慢
    • 沈阳市网站建设企业网站费用估算
    • 构建AI智能体:六十一、信息论完全指南:从基础概念到在大模型中的实际应用
    • SLAM | 视觉SLAM中的退化问题:定义、成因、表现与解决方案
    • 【YOLO 模型进阶】(2)YOLO v1 超详解:从网络架构到优缺点剖析
    • 临近做网站wordpress邮件美化
    • 海外营销网站建设wordpress 站内通知
    • ESP32 VSCode开发环境配置