AICon上海「Agent与多模态解决方案专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

蚂蚁金服公开最新基于笔画的中文词向量算法

  • 2019-09-09
  • 本文字数:2375 字

    阅读完需:约 8 分钟

蚂蚁金服公开最新基于笔画的中文词向量算法

AAAI 2018 论文 | 蚂蚁金服公开最新基于笔画的中文词向量算法


导读:词向量算法是自然语言处理领域的基础算法,在序列标注、问答系统和机器翻译等诸多任务中都发挥了重要作用。词向量算法最早由谷歌在 2013 年提出的 word2vec,在接下来的几年里,该算法也经历不断的改进,但大多是仅适用于拉丁字符构成的单词(比如英文),结合中文语言特性的词向量研究相对较少。本文介绍了蚂蚁金服人工智能部与新加坡科技大学一项最新的合作成果:cw2vec——基于汉字笔画信息的中文词向量算法研究,用科学的方法揭示隐藏在一笔一划之间的秘密。


AAAI 大会(Association for the Advancement of Artificial Intelligence),是一年一度在人工智能方向的顶级会议之一,旨在汇集世界各地的人工智能理论和领域应用的最新成果。该会议固定在每年的 2 月份举行,由 AAAI 协会主办。


第 32 届 AAAI 大会-AAAI 2018 将于 2 月 2 号-7 号在美国新奥尔良召开,其中蚂蚁金服人工智能部和新加坡科技大学合作的一篇基于汉字笔画信息的中文词向量算法研究的论文“cw2vec: Learning Chinese Word Embeddings with Stroke n-grams”被高分录用(其中一位审稿人给出了满分,剩下两位也给出了接近满分的评价)。我们将在 2 月 7 日在大会上做口头报告(Oral),欢迎大家一起讨论交流。


单个英文字符(character)是不具备语义的,而中文汉字往往具有很强的语义信息。不同于前人的工作,我们提出了“n 元笔画”的概念。所谓“n 元笔画”,即就是中文词语(或汉字)连续的 n 个笔画构成的语义结构。



图 1 n 元笔画生成的例子


如上图,n 元笔画的生成共有四个步骤。比如说,“大人”这个词语,可以拆开为两个汉字“大”和“人”,然后将这两个汉字拆分成笔画,再将笔画映射到数字编号,进而利用窗口滑动产生 n 元笔画。其中,n 是一个范围,在上述例子中,我们将 n 取值为 3, 4 和 5。


在论文中我们提出了一种基于 n 元笔画的新型的损失函数,如下:



其中,W 和 C 分别为当前词语和上下文词语,σ是 sigmoid 函数,T(w)是当前词语划窗内的所有词语集合,D 是训练语料的全部文本。为了避免传统 softmax 带来的巨大计算量,这篇论文也采用了负采样的方式。C’为随机选取的词语,称为“负样例”,λ是负样例的个数,而则表示负样例 C’按照词频分布进行的采样,其中语料中出现次数越多的词语越容易被采样到。相似性 sim(·,·)函数被按照如下构造:



其中,为当前词语对应的一个 n 元笔画向量,而是其对应的上下文词语的词向量。这项技术将当前词语拆解为其对应的 n 元笔画,但保留每一个上下文词语不进行拆解。S(w)为词语 w 所对应的 n 元笔画的集合。在算法执行前,这项研究先扫描每一个词语,生成 n 元笔画集合,针对每一个 n 元笔画,都有对应的一个 n 元笔画向量,在算法开始之前做随机初始化,其向量维度和词向量的维度相同。



图 2 算法过程的举例


如上图所示,对于“治理 雾霾 刻不容缓”这句话,假设此刻当前词语恰好是“雾霾”,上下文词语是“治理”和“刻不容缓”。首先将当前词语“雾霾”拆解成 n 元笔画并映射成数字编码,然后划窗得到所有的 n 元笔画,根据设计的损失函数,计算每一个 n 元笔画和上下文词语的相似度,进而根据损失函数求梯度并对上下文词向量和 n 元笔画向量进行更新。


为了验证这项研究提出的 cw2vec 算法的效果,在公开数据集上,与业界最优的几个词向量算法做了对比:



图 3 实验结果


上图中包括 2013 年谷歌提出的 word2vec 的两个模型 skipgram 和 cbow,2014 年斯坦福提出的 GloVe 算法,2015 年清华大学提出的基于汉字的 CWE 模型,以及 2017 年最新发表的基于像素和偏旁的中文词向量算法,可以看出 cw2vec 在 word similarity,word analogy,以及文本分类和命名实体识别的任务中均取得了一致性的提升。同时,这篇文章也展示了不同词向量维度下的实验效果:



图 4 不同词向量维度下的实验结果


上图为不同维度下在 word analogy 测试集上的实验结果,左侧为 3cosadd,右侧为 3cosmul 的测试方法。可以看出这项算法在不同维度的设置下均取得了不错的效果。此外,也在小规模语料上进行了测试:



图 5 小训练数据下的实验结果


上图是仅选取 20%中文维基百科训练语料,在 word similarity 下测试的结果,skipgram, cbow 和 GloVe 算法由于没有利用中文的特性信息进行加强,所以在小语料上表现较差,而其余四个算法取得了不错的效果,其中 cw2vec 的算法在两个数据集上均取得的了最优效果。



图 6 案例分析结果


为了更好的探究不同算法的实际效果,这项研究专门选取了两个词语做案例分析。第一个是环境相关的“水污染”,然后根据词向量利用向量夹角余弦找到与其语义最接近的词语。GWE 找到了一些和“污”字相关的词语,比如“污泥”,“污渍”和“污垢”,而 JWE 则更加强调后两个字“污染”GloVe 找到了一些奇怪的相近词语,比如“循环系统”,“神经系统”。CWE 找到的相近词语均包含“水”和“污”这两个字,猜测是由于其利用汉字信息直接进行词向量加强的原因。此外,只有 cw2vec 找到了“水质”这个相关词语,分析认为是由于 n 元笔画和上下文信息对词向量共同作用的结果。第二个例子,特别选择了“孙悟空”这个词语,该角色出现在中国的名著《西游记》和知名日本动漫《七龙珠》中,cw2vec 找到的均为相关的角色或著作名称。


作为一项基础研究成果,cw2vec 在蚂蚁和阿里的诸多场景上也有落地。在智能客服、文本风控和推荐等实际场景中均发挥了作用。此外,不单单是中文词向量,对于日文、韩文等其他语言也进行类似的尝试,相关的发明技术专利已经申请近二十项。


我们希望能够在基础研究上追赶学术界、有所建树,更重要的是,在具体的实际场景之中,能够把人工智能技术真正的赋能到产品里,为用户提供更好的服务。


本文转载自公众号蚂蚁金服科技(ID:Ant-Techfin)。


原文链接:


https://mp.weixin.qq.com/s/cu0vUuY1meRyTy9wtKMmnw


2019-09-09 09:251822
用户头像

发布了 150 篇内容, 共 36.7 次阅读, 收获喜欢 38 次。

关注

评论

发布
暂无评论
发现更多内容

云速ERP(WeLink认证版)上线,加速中小微企业数字化经营创新

科技云未来

通过Jenkins构建CI/CD实现全链路灰度

阿里巴巴中间件

阿里云 云原生 jenkins 全链路灰度

【荣耀开发者服务平台—百亿曝光扶持等你来】智慧服务快应用卡片接入指南(下)

荣耀开发者服务平台

前端 手机 新手指南 安卓 honor

Trending热榜关闭前,我把Github今年最火Java面试题汇总扒下来了

Java全栈架构师

Java 程序员 面试 程序人生 八股文

英特尔oneAPI工具大幅提升腾讯云数据库MySQL的性能

科技之家

行业内对低代码开发是什么看法?

优秀

低代码开发

小六六学Netty系列之unix IO模型

自然

Netty 网络 9月月更

云脉芯联自研RDMA技术成果公开亮相ODCC峰会

科技热闻

上(市场篇)| 量子计算与开源软件

启科量子开发者官方号

Java培训值不值得?

小谷哥

学完Java培训后有哪些就业机会呢

小谷哥

Qt | 实现基于Qt WebEngine Widgets的网页浏览器

YOLO.

c++ qt 9月月更

小六六学Netty系列之Java 零拷贝

自然

Netty 网络 9月月更

2022年应届毕业生就业率惨淡怎么办?不要错过多金的数据科学行业

雨果

数据分析师 数据科学 数据工程师

揭秘 · 机器人酒店

澳鹏Appen

人工智能 nlp 语音识别 数据标注 语音标注

Qt | 按钮控件的使用 QRadioButton

YOLO.

c++ qt 9月月更

软件测试 | 测试开发 | python中的asyncio使用详解与异步协程的处理流程分析

测吧(北京)科技有限公司

软件测试 测试

下(应用篇)| 量子计算与开源软件

启科量子开发者官方号

计算机网络——时延、时延带宽积

StackOverflow

计算机网络 编程‘ 9月月更

Linux云主机安全入侵排查步骤

京东科技开发者

Linux 安全 云主机 排查方法 云主机安全

港股交易系统解决方案/券商APP该何去何从?

软件开发大鱼V15988750073

证券 基金 港股交易系统开发 证券交易系统 港股多账户系统

粤港澳大湾区第一届量子科技与产业应用研讨会在穗成功举办

启科量子开发者官方号

启科量子离子阱全系列教学模拟机多版本满足客户需求

启科量子开发者官方号

SpringBoot源码 | prepareEnvironment方法解析

六月的雨在InfoQ

源码 springboot 源码刨析 SpringBoot实战 9月月更

Qt | 实现获取网站图标和网页缩放 QWebEngineView

YOLO.

c++ qt 9月月更

启科量子出席首届量子计算产业峰

启科量子开发者官方号

量子计算与PKS信创体系首次融合,实现算力跨越

启科量子开发者官方号

java培训哪里比较好?

小谷哥

数学基础查可以参加Java培训

小谷哥

Qt | 按钮控件的使用 QToolButton

YOLO.

c++ qt 9月月更

小六六学Netty系列之Netty群聊

自然

Netty 网络 9月月更

蚂蚁金服公开最新基于笔画的中文词向量算法_文化 & 方法_Geek_cb7643_InfoQ精选文章