首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

中英文词向量评测理论与实践

阅读大概需要5分钟

跟随小博主,每天进步一丢丢

导读

最近在做词向量相关工作,训练的词向量如何进行评测?本文将从业界使用最广泛的两个评测任务进行阐述,包括相似度任务(word similarity task)和词汇类比任务(word analogy task),这里已经写好了相关评测脚本

Word_Similarity_and_Word_Analogy

https://github.com/bamtercelboo/Word_Similarity_and_Word_Analogy

包括中文词向量评测脚本和英文V词向量评测脚本,方便大家使用。

相关知识

对于词向量好坏的评测,业界最常用的也是最快的评测方式是计算词之间的相似度任务(word similarity task)和与之相关的是词汇类比任务(word analogy task),然而,近两年来,词向量仅仅在这两个任务上进行评测已经不再得到公认,要想得到公认,词向量的好坏需要应用到具体任务中进行评测,包括句子分类,文本分类,词性标注(Part-of-Speech tagging),命名实体识别(NER)等,但是这两个任务还是最基本的评测,词向量的相关论文中也会进行这部分的实验。

Word Similarity Task

什么是Word Similarity?

这个任务的目的是评估词向量模型在两个词之间的语义紧密度和相关性的能力,例如男人与女人,男孩与女孩,中国与北京这些词对之间的相似度。

评价指标

在词相似度任务上,一般采用斯皮尔曼等级相关系数(ρ)(Spearman's rank correlation coefficient)作为评价指标,简写为rho,它是衡量两个变量的依赖性的指标,它利用单调方程评价两个统计变量的相关性。 如果数据中没有重复值, 并且当两个变量完全单调相关时,斯皮尔曼相关系数则为 +1 或 −1 。对于样本容量为 n 的样本,相关系数 ρ 的计算如下图:

评价指标计算

1、首先,我们有一个金标文件(wordsim-240.txt),这份文件标注了两个词之间的相似度分数,是由人工标注的,类似于下面:

2、我们根据词向量计算两个词之间的余弦值(cos)作为词的相似度分数,然后计算金标分数与余弦值分数之间的斯皮尔曼相关系数。

3、代码:

Word Analogy Task

什么是Word Analogy?

这个任务考察了用词向量来推断不同单词之间的语义关系的能力。在这个任务中,三个单词 a ,b 和 s 被给出,目标是推断出第四个单词 t 满足”a 是 b,t 和 s 是相似的“。

如何得到类似的词

例如,我们要完成一句话,巴黎到法国像罗马到()?巴黎与法国,这两个词之间是有语义关系的(巴黎是法国的首都),那么,根据第三个词(罗马),我们可以推断出是意大利吗?

我们可以根据矢量的加减来做到这一点!这是因为这些单词在空间上具有特定的关系,如下图:

从上图我们可以发现:

由此我们可以根据词向量得到类似词汇:

Demo

上文已经把简单的理论进行了阐述,相关代码在这里

Word_Similarity_and_Word_Analogy

https://github.com/bamtercelboo/Word_Similarity_and_Word_Analogy

这份代码包括中文词向量评测脚本以及英文词向量评测脚本,更多的细节,可以查看README。

对于英文词向量,Faruqui, Manaal, 和 Chris Dyer 建立了一份词向量评测系统

Word2vec Demo

可以在这份系统上进行评测,我已经把这个系统的后台代码进行完善封装放在了github上面

en_embedding_similarity

https://github.com/bamtercelboo/Word_Similarity_and_Word_Analogy/tree/master/en_embedding_similarity

可以直接使用这份脚本评测。

References

[1] Word2vec Demo

[2] Faruqui, Manaal, and Chris Dyer. “Community evaluation and exchange of word vectors at wordvectors. org.” Proceedings of 52nd Annual Meeting of the Association for Computational Linguistics: System Demonstrations. 2014.

[3] Playing with word vectors

https://medium.com/swlh/playing-with-word-vectors-308ab2faa519

[4] 斯皮尔曼等级相关系数

https://zh.wikipedia.org/wiki/%E6%96%AF%E7%9A%AE%E5%B0%94%E6%9B%BC%E7%AD%89%E7%BA%A7%E7%9B%B8%E5%85%B3%E7%B3%BB%E6%95%B0

IELTS a bit

ulterioradj. 将来的,较远的;在那边的;隐秘不明的

accustomvt. 使习惯于

fabricn. 织物;布;组织;构造;建筑物

tameadj. 驯服的;平淡的;乏味的;服从的

vt. 驯养;使变得平淡;制服

vi. 变得驯服

n. (Tame)人名;塔梅

reinforcementn. 加固;增援;援军;加强

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180513G01K0Z00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券