本发明实施例涉及计算机技术领域,具体涉及一种词汇义原的自动预测方法及装置。
背景技术:
句子是由一个个词汇组成,来表达不同的意思,而不同的词汇有它的特殊性也有他们的相似性,hownet用来刻画不同词汇的这些特点。hownet由人工标注,对大部分常见的词汇标注了它的义原,而义原相对于词汇是一个更小的集合,它表示了词汇更基本的一些意义,不同的义原组合可以表示不同的词汇,比如:古董店的义原包括:场所,商业,买,卖,珍宝和过去。而古董店的定义则可以由这些义原来刻画:买卖过去的珍宝的商业场所就是古董店。义原有很多好的特点,比如根据两个词汇的义原的交集来判断这两个词汇的相似度,可以用于更好的生成词向量以用于自然语言处理中更多的任务。
虽然义原有很多好的性质,但是义原的标注是件非常费时费力的事情。hownet已经诞生十多年了,最开始是由很多语言专家带头标注的,但是随着信息技术的快速发展,词汇的数量呈爆炸性地增长,而如何高效快速准确地为这些新产生的词汇标注义原就成了一个不得不解决的问题,亟需一种义原的自动构建模型而不是手工标注,既可以保证义原具有相同的特征,也能够避免人标注产生的偏差。
技术实现要素:
由于现有技术存在上述问题,本发明实施例提出一种词汇义原的自动预测方法及装置。
第一方面,本发明实施例提出一种词汇义原的自动预测方法,包括:
根据每个预设词汇的词向量,计算各未知义原词汇与每个已知义原词汇的向量距离;
根据各向量距离和距离阈值,选择至少一个目标已知义原词汇作为各未知义原词汇的备选义原集合;
根据备选义原集合中各目标已知义原词汇的义原向量,计算得到各未知义原词汇的各义原的分数;
根据分数阈值和各义原的分数,得到各未知义原词汇的第一义原向量;
其中,所述预设词汇包括已知义原词汇和未知义原词汇。
可选地,所述方法还包括:
获取预设义原,根据随机梯度下降法和所述预设义原计算得到每个预设词汇的词向量。
可选地,所述根据分数阈值和各义原的分数,得到各未知义原词汇的义原向量之后,还包括:
根据预设义原向量和未知义原词汇向量,得到义原词汇矩阵;
根据所述义原词汇矩阵,计算得到所述义原词汇矩阵的共现矩阵;
根据随机梯度下降法分别对所述义原词汇矩阵和所述共现矩阵进行分解,得到第二义原向量;
根据所述未知义原词汇向量和所述第二义原向量,计算得到目标值;
根据所述目标值和所述第一义原向量,计算得到目标义原向量;
其中,所述义原词汇矩阵由0和1表示,1表示对应的词汇包括对应的义原,0表示对应的词汇不包括对应的义原。
可选地,所述根据随机梯度下降法分别对所述义原词汇矩阵和所述共现矩阵进行分解,得到第二义原向量,具体包括:
根据随机梯度下降法和损失函数分别对所述义原词汇矩阵和所述共现矩阵进行分解,得到第二义原向量;
其中,所述损失函数为:
w为所述未知义原词汇向量,s为s'分别为第一预设义原向量和第二预设义原向量,λ为预设系数,mws、cst、w、s分别为所述义原词汇矩阵、所述共现矩阵、所述未知义原词汇向量和所述第一预设义原向量中的元素,bw为所述未知义原词汇向量的偏置,bs为所述第一预设义原向量的偏置。
第二方面,本发明实施例还提出一种词汇义原的自动预测装置,包括:
距离计算模块,用于根据每个预设词汇的词向量,计算各未知义原词汇与每个已知义原词汇的向量距离;
义原集合确定模块,用于根据各向量距离和距离阈值,选择至少一个目标已知义原词汇作为各未知义原词汇的备选义原集合;
义原分数计算模块,用于根据备选义原集合中各目标已知义原词汇的义原向量,计算得到各未知义原词汇的各义原的分数;
义原向量确定模块,用于根据分数阈值和各义原的分数,得到各未知义原词汇的第一义原向量;
其中,所述预设词汇包括已知义原词汇和未知义原词汇。
可选地,所述装置还包括:
词向量计算模块,用于获取预设义原,根据随机梯度下降法和所述预设义原计算得到每个预设词汇的词向量。
可选地,所述装置还包括:
义原词汇矩阵获取模块,用于根据预设义原向量和未知义原词汇向量,得到义原词汇矩阵;
共现矩阵计算模块,用于根据所述义原词汇矩阵,计算得到所述义原词汇矩阵的共现矩阵;
矩阵分解模块,用于根据随机梯度下降法分别对所述义原词汇矩阵和所述共现矩阵进行分解,得到第二义原向量;
目标值计算模块,用于根据所述未知义原词汇向量和所述第二义原向量,计算得到目标值;
目标义原向量计算模块,用于根据所述目标值和所述第一义原向量,计算得到目标义原向量;
其中,所述义原词汇矩阵由0和1表示,1表示对应的词汇包括对应的义原,0表示对应的词汇不包括对应的义原。
可选地,所述矩阵分解模块具体用于根据随机梯度下降法和损失函数分别对所述义原词汇矩阵和所述共现矩阵进行分解,得到第二义原向量;
其中,所述损失函数为:
l=∑w∈w,s∈s(w·(s+s')+bw+bs-mws)2+λ∑s,t∈s(s·t-cst)2
w为所述未知义原词汇向量,s为s'分别为第一预设义原向量和第二预设义原向量,λ为预设系数,mws、cst、w、s分别为所述义原词汇矩阵、所述共现矩阵、所述未知义原词汇向量和所述第一预设义原向量中的元素,bw为所述未知义原词汇向量的偏置,bs为所述第一预设义原向量的偏置。
由上述技术方案可知,本发明实施例通过未知义原词汇与每个已知义原词汇的向量距离确定各未知义原词汇的备选义原集合,进一步计算备选义原集合中各义原的分数,并由此得到各未知义原词汇的第一义原向量,可以自动地对未知义原词汇进行准确地义原预测,减轻手工标注的压力,并减少由不同人标注对结果产生的可能偏差。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1为本发明一实施例提供的一种词汇义原的自动预测方法的流程示意图;
图2为本发明一实施例提供的“古董店”词汇的义原示意图;
图3为本发明一实施例提供的“apple”词汇的义原示意图;
图4为本发明一实施例提供的备选义原集合进行选择的流程示意图;
图5为本发明一实施例提供的一种词汇义原的自动预测装置的结构示意图。
具体实施方式
下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
图1示出了本实施例提供的一种词汇义原的自动预测方法的流程示意图,包括:
s101、根据每个预设词汇的词向量,计算各未知义原词汇与每个已知义原词汇的向量距离。
其中,所述预设词汇包括已知义原词汇和未知义原词汇。
具体地,首先对一个大的语料库统计各个词汇的词频以及不同词汇之间的上下位关系;然后利用随机梯度下降实现共现矩阵分解以得到词汇的词向量。
共现矩阵蕴含了丰富的文本信息以及词与词之间的相互关系,通过矩阵分解降维,得到词汇的低维表示依然可以很好地体现词汇与词汇之间的相互关系。
每个预设词汇的义原向量的内容如图2和3所示,图2为中文的“古董店”包括的义原,图3为英文的“apple”包括的义原。
s102、根据各向量距离和距离阈值,选择至少一个目标已知义原词汇作为各未知义原词汇的备选义原集合。
对于未知义原词汇,备选义原集合的选择如图4所示,在向量空间中找若干个离它最近的已知义原词汇,把他们的义原作为备选义原集合。并且需要根据词汇间的距离,给这些义原打分。
具体地,首先对于每个新词计算它与已知义原向量的词汇的距离;并且选择最近的若干个词汇。对于选出来的最近的词汇,计算它们的义原对于新词的权重。
假设一个词汇和新词越近,那么这个词汇的义原更可能是新词的义原,所以对于任意一个义原,它对于一个新词,能得到的分数可以如下表示:
其中w表示新词,s表示一个义原,w是所有已知义原词汇的集合,mvs表示词汇v是否有义原s,有则为1,否则为0,得到的pr(s|w)越高,s越可能是v的义原。
实际上,真正地计算上述过程要复杂很多,由于归一化的向量之间的距离在(-1,1)之间,所以不能很好地区分不同的义原,所以我们让距离越近的词汇的义原有更大的权重,我们引入超参数p,对于第k近的词汇,乘上pk使得不同词汇的义原之间的区分度更大,并且乘上一个指数衰减的系数保证了pr(s|w)在一定的范围内,不会发散。
s103、根据备选义原集合中各目标已知义原词汇的义原向量,计算得到各未知义原词汇的各义原的分数。
s104、根据分数阈值和各义原的分数,得到各未知义原词汇的第一义原向量。
具体地,词汇往往与它相似的词共享义原,比如中国和美国都共享“专”,“国家”等义原,但是很多词往往有自己的义原,所以提出了本实施例提供的方法,既能从相近的词学到义原,也能学习到特有的义原。
本实施例通过未知义原词汇与每个已知义原词汇的向量距离确定各未知义原词汇的备选义原集合,进一步计算备选义原集合中各义原的分数,并由此得到各未知义原词汇的第一义原向量,可以自动地对未知义原词汇进行准确地义原预测,减轻手工标注的压力,并减少由不同人标注对结果产生的可能偏差。
进一步地,在上述方法实施例的基础上,所述方法还包括:
s100、获取预设义原,根据随机梯度下降法和所述预设义原计算得到每个预设词汇的词向量。
其中,预设义原包括1400个常见的义原。
进一步地,在上述方法实施例的基础上,所述根据分数阈值和各义原的分数,得到各未知义原词汇的义原向量之后,还包括:
s105、根据预设义原向量和未知义原词汇向量,得到义原词汇矩阵;
其中,所述义原词汇矩阵由0和1表示,1表示对应的词汇包括对应的义原,0表示对应的词汇不包括对应的义原。
s106、根据所述义原词汇矩阵,计算得到所述义原词汇矩阵的共现矩阵;
义原与义原的共现矩阵蕴含了丰富的义原之间的关系,就如同词汇的共现矩阵可以用于生成词向量,义原共现矩阵也能辅助生成更好的义原向量。
s107、根据随机梯度下降法分别对所述义原词汇矩阵和所述共现矩阵进行分解,得到第二义原向量;
具体地,首先计算词汇与义原的01矩阵;然后计算义原与义原的共现矩阵;最后利用随机梯度下降的方法分解以上两个矩阵来得到义原向量。
s108、根据所述未知义原词汇向量和所述第二义原向量,计算得到目标值;
s109、根据所述目标值和所述第一义原向量,计算得到目标义原向量;
进一步地,在上述方法实施例的基础上,s107具体包括:
根据随机梯度下降法和损失函数分别对所述义原词汇矩阵和所述共现矩阵进行分解,得到第二义原向量;
其中,所述损失函数为:
l=∑w∈w,s∈s(w·(s+s′)+bw+bs-mws)2+λ∑s,t∈s(s·t-cst)2
w为所述未知义原词汇向量,s为s′分别为第一预设义原向量和第二预设义原向量,λ为预设系数,mws、cst、w、s分别为所述义原词汇矩阵、所述共现矩阵、所述未知义原词汇向量和所述第一预设义原向量中的元素,bw为所述未知义原词汇向量的偏置,bs为所述第一预设义原向量的偏置。
通过梯度下降使得l降低从而得到一个好的义原向量表示,最后可以用如下函数来计算一个新词与一个义原的可能关系:
pr(s|w)=∑v∈wcos(v,w)mvs+λcos(w,s)
目前还没有义原的自动预测模型,现有的方式是通过人来手工标注,耗时耗力,而且标注效果因人而异,会对义原的准确性产生较大的影响。本实施例可以利用现有的标注数据来自动预测义原,使用hownet的一部分数据作为测试集来测试,可以发现,本实施例的结果和人工标注有很大程度的重合,准确度较高。并且,本实施例的模型能够发现一些hownet中并没有标记出的推荐义元,而这些新发现的候选义原结果也具有相当的正确性。
图5示出了本实施例提供的一种词汇义原的自动预测装置的结构示意图,所述装置包括:距离计算模块501、义原集合确定模块502、义原分数计算模块503和义原向量确定模块504,其中:
所述距离计算模块501用于根据每个预设词汇的词向量,计算各未知义原词汇与每个已知义原词汇的向量距离;
所述义原集合确定模块502用于根据各向量距离和距离阈值,选择至少一个目标已知义原词汇作为各未知义原词汇的备选义原集合;
所述义原分数计算模块503用于根据备选义原集合中各目标已知义原词汇的义原向量,计算得到各未知义原词汇的各义原的分数;
所述义原向量确定模块504用于根据分数阈值和各义原的分数,得到各未知义原词汇的第一义原向量;
其中,所述预设词汇包括已知义原词汇和未知义原词汇。
具体地,所述距离计算模块501根据每个预设词汇的词向量,计算各未知义原词汇与每个已知义原词汇的向量距离;所述义原集合确定模块502根据各向量距离和距离阈值,选择至少一个目标已知义原词汇作为各未知义原词汇的备选义原集合;所述义原分数计算模块503根据备选义原集合中各目标已知义原词汇的义原向量,计算得到各未知义原词汇的各义原的分数;所述义原向量确定模块504根据分数阈值和各义原的分数,得到各未知义原词汇的第一义原向量。
本实施例通过未知义原词汇与每个已知义原词汇的向量距离确定各未知义原词汇的备选义原集合,进一步计算备选义原集合中各义原的分数,并由此得到各未知义原词汇的第一义原向量,可以自动地对未知义原词汇进行准确地义原预测,减轻手工标注的压力,并减少由不同人标注对结果产生的可能偏差。
进一步地,在上述装置实施例的基础上,所述装置还包括:
词向量计算模块,用于获取预设义原,根据随机梯度下降法和所述预设义原计算得到每个预设词汇的词向量。
进一步地,在上述装置实施例的基础上,所述装置还包括:
义原词汇矩阵获取模块,用于根据预设义原向量和未知义原词汇向量,得到义原词汇矩阵;
共现矩阵计算模块,用于根据所述义原词汇矩阵,计算得到所述义原词汇矩阵的共现矩阵;
矩阵分解模块,用于根据随机梯度下降法分别对所述义原词汇矩阵和所述共现矩阵进行分解,得到第二义原向量;
目标值计算模块,用于根据所述未知义原词汇向量和所述第二义原向量,计算得到目标值;
目标义原向量计算模块,用于根据所述目标值和所述第一义原向量,计算得到目标义原向量;
其中,所述义原词汇矩阵由0和1表示,1表示对应的词汇包括对应的义原,0表示对应的词汇不包括对应的义原。
进一步地,在上述装置实施例的基础上,所述矩阵分解模块具体用于根据随机梯度下降法和损失函数分别对所述义原词汇矩阵和所述共现矩阵进行分解,得到第二义原向量;
其中,所述损失函数为:
l=σw∈w,s∈s(w·(s+s')+bw+bs-mws)2+λσs,t∈s(s·t-cst)2
w为所述未知义原词汇向量,s为s'分别为第一预设义原向量和第二预设义原向量,λ为预设系数,mws、cst、w、s分别为所述义原词汇矩阵、所述共现矩阵、所述未知义原词汇向量和所述第一预设义原向量中的元素,bw为所述未知义原词汇向量的偏置,bs为所述第一预设义原向量的偏置。
本实施例所述的词汇义原的自动预测装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。