大家好,又见面了,我是你们的朋友全栈君。
一、前言
词向量、词嵌入或者称为词的分布式表示,区别于以往的独热表示,已经成为自然语言任务中的一个重要工具,对于词向量并没有直接的方法可以评价其质量,下面介绍几种间接的方法。
二、评价方法
对于词向量的评价更多还是应该考虑对实际任务的收益,脱离的实际任务很难确定A模型就一定比B好,毕竟词向量方法更多是一种工具。
1、语义相关性任务
这个任务用来评价词向量模型在两个词之间的语义相关性,如:学生与作业,中国与北京等。
具体方法由监督模式实现,首先需要一份如下的标记文件,一般可以由人工标注:
学生 上课 0.78
教师 备课 0.8
...
上述文件代表了词语之间的语义相关性,我们利用标注文件与训练出来的词向量相似度进行比较,如:词向量之间的cos距离等,确定损失函数,便可以得到一个评价指标。
但这种方法首先需要人力标注,且标注的准确性对评价指标影响非常大。
2、语义类比任务
这个任务词向量来考察不同单词间的语义关系能力,一般给定三个词,如a、b、c,要求寻找a+b = c + ?任务中最相似的词,一般使用向量间距离来进行寻找,如:
queen-king+man=women
同样需要准备标记文件,根据寻找出来的词的正确率判断词向量的质量。
3、文本分类任务
这个任务利用词向量构成文本向量,一般采用求和平均的方式,之后利用构成的文本向量进行文本分类,根据分类的准备率等指标衡量词向量的质量。
三、模型优化
1、模型
对于自然语言处理任务,在模型效果相差不大的情况下,选用简单的模型。
同样,复杂的模型对于大规模的语料效果更为明显,小语料尽量用简单模型。
2、语料
选用与自然语言任务同领域的语料,提升效果会非常明显,在一定语料规模范围内,语料越大,效果越好;如果使用不同领域的语料,甚至会有反面效果。
在语料的选择上,同领域的语料比大规模的其他领域语料重要。
3、向量维度
向量维度太小难以表现出语义的复杂度,一般更大的维度的向量表现能力更强,综合之下,50维的向量可以胜任很多任务。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/136392.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...