本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

除了自然语言处理,你还可以用Word2Vec做什么?(2)

时间:2017-08-03 15:53来源:668论坛 作者:www.wzatv.cc 点击:
为了解决这个问题,我们通过一个小技巧采用 Word2Vec 把分类特征转换为数量相当少的可用连续特征。为了阐述这个想法,我们以「exercise_id」为例来说明:

为了解决这个问题,我们通过一个小技巧采用 Word2Vec 把分类特征转换为数量相当少的可用连续特征。为了阐述这个想法,我们以「exercise_id」为例来说明:exercise_id 是一个分类特征,它能够告诉我们被解答过的练习题是哪一个。为了能够使用 Word2Vec,我们提供一个语料库,也就是将要输入到我们的算法中的一系列句子。然而,原始的特征只是一个 ID 的列表而已,它本质上并不是语料库:它的顺序完全是随机的,相近的 ID 也并没有携带着其相邻的 ID 任何信息。我们的技巧包括把某个老师布置的一次作业看做一个「句子」,atv,也就是一连串的 exercise_id。结果就是,所有的 ID 会很自然地以等级、章节等标签被收集在一起,然后 Word2Vec 可以直接在这些句子上面开始学习练习的嵌入(exercise embedding,对应于 Word embedding)。

事实上,正是由于这些人为的句子我们才得以使用 Word2Vec,并得到了很漂亮的结果:

除了自然语言处理,你还可以用Word2Vec做什么?

根据级别着色的练习嵌入(exercise embedding)(用 PCA 方法得到了 3 个主成分,就是图中的 3 维空间);图中的 6e, 5e, 4e, 3e, 2e, 1e 以及 tm 是法国学生的水平,与美国的 6th, 7th, 8th, 9th, 10th,11th 和 12th 等价。

如我们所看到的的,结果性嵌入是有结构的。事实上,练习的 3D 投影云是螺旋形的,高级别的练习紧跟在较低级别的后面。这也意味着嵌入成功地学会了区分不同级别的练习题目,并且把练习题目重新分组,具有相似级别的被放在了一起。但是这还不是全部,使用非线性的降维技术之后,我们可以将整个嵌入降维成一个具有相同特征的实值变量。换句话说,我们得到了一个关于练习复杂度的特征,6 年级(6th)最小,随着练习越来越复杂,这个变量越来越大,直到 12 年级达到该变量的最大值。

更有甚者,正如 Mikolov 在英语单词上做到的一样,嵌入还习得了练习之间的关系:

除了自然语言处理,你还可以用Word2Vec做什么?

上图展示了我们的嵌入能够学习到的关系的一些实例。所以当我们问「一个数字相加的练习之于一个数字相减的练习,正如一个时间相加的练习之于......?」之后,嵌入给出了如下的答案:「一个时间相减的练习」。具体而言,这意味着如果我们提出这个问题:嵌入 [减(数字)Substract(Numbers)] --嵌入 [加(数字),Add(Numbers)],并把它添加到学生练习的嵌入中,其中学生被要求来做时间的加法(例如,小时、分钟等等),那么与之最接近的一个嵌入就是包含时间减法的练习。

结论

总之,词嵌入技术在将文本数据转换成便于机器学习算法直接使用的实值向量时是有用的,尽管词嵌入技术主要用在自然语言处理的应用中,例如机器翻译,但是我们通过给出特定的用在 Kwyk 中的例子展示了这些技术在分类特征处理中也有用武之地。然而,为了使用诸如 Word2Vec 这样的技术,你必须建立一个语料库——也就是说,一组句子,其中的标签已经被排列好了,所以其语境也是已经隐式创建好了。上述实例中,我们使用在网站上给出的作业来创建练习的「句子」,并且学习练习嵌入。结果就是,我们能够得到新的数字特征,这些特征能够成功地学习练习之间的关系,比它们被打上的那组原始标签更加有用。

向 Christophe Gabar 致谢,他是我们 Kwyk 的开发人员之一,他提出了把 word2vec 用在分类特征上的思想。

原文链接:https://medium.com/towards-data-science/a-non-nlp-application-of-word2vec-c637e35d3668

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容