一种词的表示方法、装置、设备及计算机可读存储介质

文档序号:661725 发布日期:2021-04-27 浏览:1次 >En<

阅读说明:本技术 一种词的表示方法、装置、设备及计算机可读存储介质 (Word representation method, device, equipment and computer readable storage medium ) 是由 李小涛 游树娟 于 2019-10-25 设计创作,主要内容包括:本申请实施例公开了一种词的表示方法、装置、设备及计算机可读存储介质,其中,所述方法包括:获取待表示词的词根;当训练好的向量模型中不存在所述待表示词的词根对应的向量表示时,以单纯词为分解粒度对所述待表示词进行分解,得到单纯词集合;根据所述向量模型获取所述单纯词集合中各个单纯词的向量表示;根据所述各个单纯词的向量表示,确定所述待表示词的词向量表示。(The embodiment of the application discloses a word representation method, a word representation device, word representation equipment and a computer readable storage medium, wherein the method comprises the following steps: acquiring a root of a word to be represented; when vector representation corresponding to the root of the word to be represented does not exist in the trained vector model, decomposing the word to be represented by taking a simple word as decomposition granularity to obtain a simple word set; obtaining the vector representation of each simple word in the simple word set according to the vector model; and determining word vector representation of the word to be represented according to the vector representation of each simple word.)

一种词的表示方法、装置、设备及计算机可读存储介质

技术领域

本申请实施例涉及数据处理技术领域,涉及但不限于一种词的表示方法、装置、设备及计算机可读存储介质。

背景技术

词向量(word embedding)是词语的特征表示,通过语义词典或机器学习技术将每个词语表示为固定长度的向量。目前,词向量模型在语义网、信息检索、数据挖掘、信息集成、知识管理、文本分类、语音识别、词义消歧等领域发挥着越来越重要的作用。

罕见词(rare words)又称稀有词或生僻词,是指较少被使用或不经常出现的词。现有技术中,通常以词向量算法训练词的向量表示或借助外部语义词典(WordNet)来推测罕见词的词向量。其中,在词向量算法训练词中,以一个词语在语料库中所出现位置的上下文词语集合作为神经网络的输入,经过不断迭代得到中心词的向量化表达。但是对于罕见词,由于语料库中出现频率较低,难以得到充分的训练,使得罕见词语义表达的准确性相对非罕见词出现大幅下降,甚至无法得到罕见词的词向量;而借助WordNet来推测罕见词的词向量时,受限于WordNet的收录范围,一旦罕见词没有在WordNet出现,借助WordNet来推测罕见词的词向量方法就不会再起作用,而本身WordNet包含的是通用领域中的常见词语,对于一些领域专属词并没有收录。现有技术并没有很好的得到罕见词的词向量的方法,即使能得到罕见词的向量表示,其语义表达准确性也较低。

发明内容

有鉴于此,本申请实施例提供一种词的表示方法、装置、词的表示设备及计算机可读存储介质。

本申请实施例的技术方案是这样实现的:

第一方面,本申请实施例提供一种词的表示方法,所述方法包括:

获取待表示词的词根;

当训练好的向量模型中不存在所述待表示词的词根对应的向量表示时,以单纯词为分解粒度对所述待表示词进行分解,得到单纯词集合;

根据所述向量模型获取所述单纯词集合中各个单纯词的向量表示;

根据所述各个单纯词的向量表示,确定所述待表示词的词向量表示。

第二方面,本申请实施例提供一种词的表示装置,包括:

第一获取模块,用于获取待表示词的词根;

分解模块,用于当训练好的向量模型中不存在所述待表示词的词根对应的向量表示时,以单纯词为分解粒度对所述待表示词进行分解,得到单纯词集合;

第二获取模块,用于根据所述向量模型获取所述单纯词集合中各个单纯词的向量表示;

确定模块,用于根据所述各个单纯词的向量表示,确定所述待表示词的词向量表示。

第三方面,本申请实施例提供一种词的表示设备,所述设备包括:

处理器;以及

存储器,用于存储可在所述处理器上运行的计算机程序;

其中,所述计算机程序被处理器执行时实现上述所述词的表示方法的步骤。

第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述所述的词的表示方法的步骤。

本申请实施例提供的词的表示方法、装置、设备及计算机可读存储介质,当待表示词(如罕见词)的词根不在训练好的向量模型中时,将待表示词分解得到单纯词集合,通过在向量模型获取单纯词集合中各个单纯词的向量表示进而确定待表示的词。因单纯词仅有一个词义,通过单纯词对应的向量表示来获取待表示词的向量表示,从而实现了待表示词的词向量的语义更准确的表达。

附图说明

在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。

图1为相关技术中提供的CBOW模型的结构示意图;

图2为相关技术中提供的Skip-gram模型的结构示意图;

图3为本申请实施例提供的词的表示方法流程示意图;

图4为本申请实施例提供的改进的CBOW模型结构示意图;

图5为本申请实施例中提供的获取单纯词集合中各个单纯词的向量表示的流程示意图;

图6为本申请实施例提供的词的表示方法流程示意图;

图7为本申请实施例提供的词的表示装置的组成结构示意图;

图8为本申请实施例提供的词的表示设备的组成结构示意图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

如果申请文件中出现“第一/第二”的类似描述则增加以下的说明,在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

为了更好地理解本申请实施例中提供的词的表示方法、装置、设备及计算机可读存储介质,首先,对相关技术中的词表示方法的实现方式及存在的问题进行分析说明。

词向量的表示方法主要分为独热表示(One-hot representation)和分布式表示(Distributed representation)两种,其中,分布式表示是目前表示词语特征的最常用方式。

分布式表示的词向量模型中,最为知名的是词到向量(word2vec,word tovector)模型。word2vec是Google推出的一款基于深度学习(Deep Learning)的开源的学习工具。word2vec是通过在给定语料库上训练一个模型,将单词转换成向量形式的工具。词向量具有良好的语义特性,是表示词语特征的常用方式。词向量每一维的值代表一个具有一定的语义和语法上解释的特征。通过词向量训练,可以把对文本内容的处理简化为向量空间中的向量运算,计算出向量空间上词与词之间的相关度,来表示词语语义上的相关度。

word2vec包含了两种训练模型,分别为连续词带(CBOW,Continuous Bag-Of-Words)模型和跳字(Skip-gram)模型。图1为相关技术中CBOW模型的结构示意图,如图1所示,所述模型包括输入层101、映射层102和输出层103。CBOW模型是通过上下文来预测当前词,Skip-gram模型则是通过当前词来预测其上下文。如图1所示,CBOW模型的输入层101为当前词wt的上下文,包括w(t-2),w(t-1),w(t+1),w(t+2)的词向量,映射层102的输入为上下文的词向量的累加和,在输出层103输出wt的词向量。

图2为相关技术中Skip-gram模型的结构示意图,如图2所示,所述模型包括:输入层201、映射层202和输出层203,Skip-gram模型的输入层201为wt,映射层202对wt的上下文进行预测,从而在输出层203输出其上下文:w(t-2),w(t-1),w(t+1),w(t+2),也即Skip-gram模型与CBOW模型的映射方式是相反的。其中,CBOW模型和Skip-gram模型均基于神经网络模型。

以CBOW模型为例:

CBOW模型优化的目标函数是:

其中C为语料库,Context(w)表示词w的上下文,即w周边的词的集合。以映射层为NEG模型为例,已知词w的上下文Context(w),需要预测w,对于给定的Context(w),词w就是一个正样本,其它词就是负样本,对于一个给定的样本(Context(w),w),进行最大化处理:

其中,NEG(w)为负样本集,正样本标签为1,负样本标签为0,其概率计算如下:

其中,xw表示Context(w)的各词的词向量之和,θu∈Rm表示词u的一个辅助向量,即模型要训练的参数,σ(x)函数为sigmoid函数,其定义为:

将式(3)带入公式(1),最终的目标函数为:

利用随机梯度上升法对(6)进行求解得:

于是,参数θu和上下文词向量的更新公式为:

在利用CBOW模型进行训练词的分布式表示时,以一个词语在语料库中所有出现位置的上下文词语集合作为神经网络的输入,经过不断迭代得到中心词的向量化表示,但是对于罕见词,由于语料库中出现频率较低,难以得到充分的训练,使得罕见词语义表示的准确性相对非罕见词大幅下降,甚至无法得到罕见词的词向量。以word2vec算法为例,通常采用词频大于或等于5的词语来训练词向量,因此无论在CBOW模型还是Skip-gram模型中,都不包含词频小于5的词语的分布式表示。

针对此问题,相关技术中,提出了一种子词(subword)信息加强的词向量与文本分类模型(FastText)。FastText模型将每个词语分解为多个汉语语言模型(N-Gram)字符串,并同时训练N-Gram向量和词向量之后将词向量和出现在该词中的所有N-Gram对应的向量求和作为最终的词向量。以2-Gram的FastText模型为例,“book”的词向量是2-Gram集合{“bo”,“oo”,“ok”}中所有2-Gram对应的向量和模型中“book”的词向量的叠加。对于一个罕见词,首先将其分解为多个子词,然后获取FastText模型对应的子词向量,进而将子词向量的和作为该罕见词的词向量。该方法能够借助子词向量信息增强罕见词的词向量表示。

还有一种方法是借助WordNet来推测罕见词的词向量。对于一个罕见词,首先在WordNet中检索对应的语义信息,包括词义解释信息、例句信息、与罕见词存在语义关联的词语(同义词、上位词、下位词等),然后将这些语义信息包含的词语的词向量进行叠加,从而得到罕见词的分布式表示。

在FastText方法中,罕见词的词向量通过子词向量叠加实现。但是一些单纯词与其子词之间没有相关性,例如词语“choke”和子词“hok”。而这种情况,使得罕见词语义表达的准确性相对非罕见词出现大幅下降。而且很多罕见词包含的子词同样是罕见词,训练的子词向量模型中,同样不包含这些子词。例如一些领域专属词汇的子词也是罕见词,如iight,scaldabiberon等词语,因此无法得到罕见词的词向量。

而借助WordNet来推测罕见词的词向量的方法受限于语义词典WordNet的收录范围,一旦罕见词没有在WordNet出现,借助WordNet来推测罕见词的词向量的方法就不起作用。而WordNet包含的是通用领域的常见词语,对于一些领域专属词并没有收录,此时罕见词的向量将无法得到。

基于相关技术所存在的问题,本申请实施例提供一种词的表示方法,本实施例提供的方法可以通过计算机程序来实现,该计算机程序在执行的时候,完成本实施例提供的方法中各个步骤。在一些实施例中,该计算机程序可以被词的表示设备中的处理器执行。

图3为本申请实施例提供的词的表示方法流程示意图,如图3所示,所述方法应用于词的表示设备,所述方法包括:

步骤S301,获取待表示词的词根(stem)。

本申请实施例中,所述待表示词可以为罕见词,也可以为常用词,以罕见词为例,罕见词(rare words)又称稀有词或生僻词,是指较少被使用或不经常出现的词,所述罕见词可以是合成词、形变词和领域专属词中的一种。本申请实施例中,通常可以通过语料库中词语的词频来判断一个词语是否为罕见词,词频为在该语料库中出现的次数。示例性的,可以设定在语料库中词语的词频小于5的词语为罕见词,而词频大于或等于5的词语为常用词。

本申请实施例中,当得到待表示词时,词的表示设备可以提取该待表示词的词根。

以英语罕见词为例,英语单词构词法的核心部分在于词根,词的意义主要是由组成单词的词根体现出来的。词根可以单独构成词,也可以彼此组合成词,通过前缀后缀来改变单词的词性和意义。也就是说,单词一般由三部分组成:词根、前缀和后缀。词根决定单词意思,前缀改变单词词义,后缀决定单词词性。例如:refrigerating提取其词根是“refriger”。

在一些实施例中,提取待表示词的词根得到的还是其本身,例如:scaldabiberon经过词根提取后得到的仍然是它本身。

在一些实施例中,在步骤S301之前,所述词的表示设备还用于接收待表示词。

步骤S302,当训练好的向量模型中不存在所述待表示词的词根对应的向量表示时,以单纯词为分解粒度对所述待表示词进行分解,得到单纯词集合。

本申请实施例中,所述训练好的向量模型中包括词向量和词根向量。本申请实施例中,在向量模型中搜索是否存在提取到的词根所对应的向量表示,示例性的,refrigerating提取其词根是“refriger”,此时可以通过搜索在所述向量模型中是否有“refriger”的向量表示。

本申请实施例中,所述单纯词由一个语素构成,即一个单纯词只能表示一个意思,不能拆开。示例性的,take、come、back、man、make等都是单纯词。本申请实施例中,分解粒度即为将待表示词分解的最小单位,待表示词以单纯词为分解粒度分解时,可以分解为一个或多个单纯词,从而得到单纯词集合。换句话说,在该步骤中得到的单纯词集合中可以包括一个或多个单纯词。当单纯词集合中只包括一个单纯词时,这个单纯词也即为该待表示词本身。

在一些实施例中,当所述向量模型中存在所述待表示词的词根对应的向量表示时,获取所述待表示词的词根对应的向量表示;并进一步根据所述词根对应的向量表示,确定所述待表示词的词向量表示。示例性的,待表示词为refrigerating,可以通过词根提取得到其词根refriger。通过在训练好的向量模型中查找refriger的向量从而确定出待表示词的向量表示,即V(“refrigerating”)=V(“refriger”),此时,本方法流程结束。

步骤S303,根据所述向量模型获取所述单纯词集合中各个单纯词的向量表示。

本申请实施例中,词的表示设备根据所述向量模型获取所述单纯词集合中各个单纯词的向量表示时,可以通过单纯词来获取向量模型中所述单纯词的向量表示,也可以通过单纯词的词根来获取各个单纯词向量表示,还可以通过单纯词和单纯词的词根来获取各个单纯词的向量表示。

本申请实施例中,当单纯词集合中包括的单纯词为多个时,获取各个单纯词的词向量表示;当得到的单纯词集合中包括的单纯词为一个时,可以将该待表示词通过转换为待表示词的近义词或同义词,再将待表示词的同义词进行分解来得到多个单纯词,进而获得多个单纯词的向量表示。

步骤S304,根据所述各个单纯词的向量表示,确定所述待表示词的词向量表示。

本申请实施例中,步骤S304在实现时,可以是将各个单纯词的向量表示进行累加,从而确定所述待表示词的词向量表示。

示例性的:robotcleaner的词向量表示:

V(“robotcleaner”)=V(“robot”)+V(“cleaner”)。

scaldabiberon的词向量表示:

V(“scaldabiberon”)=V(“bottle”)+V(“warmer”)

通过上述的词的表示方法,当待表示词(如罕见词)的词根不在训练好的向量模型中时,将待表示词分解得到单纯词集合,在向量模型中获取单纯词集合中各个单纯词的向量表示进而确定待表示的词。因单纯词仅有一个词义,通过单纯词对应的向量表示来获取待表示词的向量表示,从而实现了待表示词的词向量的语义更准确的表达。

在一些实施例中,在步骤S302之前,所述方法还包括:获得训练好的向量模型。

本申请实施例中,在确定待表示词的表示时,需要利用待表示词的词根,因此需要得到待表示词的各个词根的向量表示。多个词语通常共用一个词根,并且有时候词根是一个新词,例如词语“produced”和“producing”的词根均为“produc”,但“produc”并不是语料库词典中的词。因此,本申请实施例中,训练好的向量模型可以是一种改进的CBOW模型,该训练好的向量模型能够同时训练词向量和词根向量。

图4为本申请实施例提供的改进的CBOW模型结构示意图,如图4所示,该模型包括:输入层401、映射层402和输出层403,其中,在输入层401中输入的是待表示词wt的上下文和上下文词语的词根,其中,上下文包括:“w(t-2),w(t-1),w(t+1),w(t+2)”;上下文的词根包括:“stem(w(t-2))、stem(w(t-1))、stem(w(t+1))、stem(w(t+2))”。映射层402的输入为上下文的词向量的累加和以及上下文词语的词根向量的累加和。输出层403输出的是待表示词wt的词向量。在每次随机梯度上升迭代求解过程,同时更新上下文的词语向量和词根向量,从而最终得到收敛后的改进的CBOW模型(在一些实施例中,该改进的CBOW模型也可以称为词语与词根向量模型(WSE,Word and Stem Embedding),利用这一改进的CBOW模型,不仅能够得到语料库词汇表中每个单词的词向量(word embedding),还能够得到每个单词词根的向量(stem embedding)。

在一些实施例中,步骤S302:当训练好的向量模型中不存在所述待表示词的词根对应的向量表示时,以单纯词为分解粒度对所述待表示词进行分解,得到单纯词集合,可以通过以下步骤实现:

步骤S3021,词的表示设备以单纯词为分解粒度对所述待表示词进行分解,得到第一分解结果。

本申请实施例中,当一个待表示词可以分解为多个单纯词时,即待表示词是由两个或两个以上的单纯词构成的待表示词,那么该待表示词为合成词,也就是说合成词以单纯词为分解粒度分解时,至少得到两个单纯词。例如,robotcleaner可以分解为robot和cleaner,那么得到的单纯词集合包括robot和cleaner。

在一些实施例中,对待表示词进行分解时,得到的还是待表示词本身,也就是说待表示词本身就是单纯词。例如:scaldabiberon经过词形分解之后得到的仍然是它本身,那么单纯词集合中只包括待表示词本身。

步骤S3022,词的表示设备判断所述第一分解结果中的单纯词是否为所述待表示词。

本申请实施例中,当词的表示设备判断所述第一分解结果中的单纯词为待表示词时,即表示该待表示词不能进行分解,执行步骤S3023;当词的表示设备判断所述第一分解结果中的单纯词不是待表示词时,即表征该待表示词可以分解,执行步骤S3026。

步骤S3023,词的表示设备将所述待表示词转换为第二语种,得到第二语种待表示词。

本申请实施例中,第一语种与第二语种不同。所述将待表示词转换为第二语种,可以是将待表示词进行翻译。示例性的,第一语种可以为英文,第二语种为中文,也即将英文的待表示词翻译为中文待表示词,举例来说,待表示词为scaldabiberon,将该待表示词翻译为中文,得到热奶器,那么热奶器即为第二语种待表示词。

本申请实施例中,步骤S3023在实现时,可以通过调用翻译网站的应用程序接口(API,Application Programming Interface)来进行翻译,以得到第二语种待表示词。

步骤S3024,词的表示设备将所述第二语种待表示词转换为第一语种,得到目标词。

本申请实施例中,所述目标词与所述待表示词为第一语种。将第二语种待表示词转换为第一语种,可以是将第二语种的待表示词翻译为第一语种的目标词。承接上述举例,将热奶器翻译为英文,得到bottle warmer,此时将bottle warmer作为目标词。也就是说,将英文的待表示词经过翻译得到中文,再将中文进行反向翻译,得到英文的目标词。本申请实施例中,目标词可以认为是该待表示词的同义词或同义短语。

步骤S3025,词的表示设备将所述目标词进行分解,得到第二分解结果,并根据所述第二分解结果中的单纯词得到单纯词集合,此步骤流程结束。

本申请实施例中,将目标词进行分解也是以单纯词为分解粒度对所述目标词进行分解。示例性的,将目标词bottle warmer分解为bottle和warmer,此时得到的单纯词集合包括:bottle和warmer。

步骤S3026,词的表示设备获取所述第一分解结果中的单纯词。

示例性的,robotcleaner分解为robot和cleaner后,第一分解结果为robot和cleaner。

步骤S3027,词的表示设备根据所述第一分解结果中的单纯词得到单纯词集合。

示例性的,将单纯词集合确定为包括robot和cleaner。

本申请实施例中,当训练好的向量模型中不存在所述待表示词的词根对应的向量表示时,通过单纯词为分解粒度对待表示词进行分解,从而确定出单纯词集合;当待表示词不能进行分解时,获取待表示词的同义词或同义短语,并将该同义词或同义短语进行分解,从而确定出单纯词集合。

图5为本申请实施例中提供的获取单纯词集合中各个单纯词的向量表示的流程示意图,如图5所示,所述步骤S303:根据所述向量模型获取所述单纯词集合中各个单纯词的向量表示,可以通过以下步骤实现:

步骤S3031,词的表示设备获取所述单纯词集合中的第i个单纯词。

本申请实施例中,i=1,2,…,N,所述单纯词集合中共有N个单纯词。

本申请实施例中,单纯词集合可以是基于第一分解结果确定的,也可以是基于第二分解结果确定的。

步骤S3032,词的表示设备判断在所述向量模型中是否存在所述第i个单纯词对应的向量表示。

本申请实施例中,当在所述向量模型中存在所述第i个单纯词对应的向量表示时,执行步骤S3033;当所述向量模型中不存在所述第i个单纯词的向量表示时,执行步骤S3034。

步骤S3033,词的表示设备获取所述第i个单纯词的向量表示。

本申请实施例中,通过依次获取单纯词集合中的各个单纯词的向量表示,即可以获得单纯词集合中所有单纯词对应的向量表示,当获得单纯词集合中所有单纯词对应的向量表示时,该步骤流程结束。

步骤S3034,词的表示设备提取所述第i个单纯词的词根。

本申请实施例中,提取第i个单词的词根和上述提取待表示词的词根的方法相同,在此不做赘述。

步骤S3035,词的表示设备判断在所述向量模型中是否存在所述第i个单纯词的词根对应的向量表示。

本申请实施例中,当在所述向量模型中存在所述第i个单纯词的词根对应的向量表示时,执行步骤S3036。当在所述向量模型中不存在所述第i个单纯词的词根对应的向量表示时,执行步骤S3037。

步骤S3036,词的表示设备将所述词根对应的向量表示确定为所述第i个单纯词的向量表示。

步骤S3037,词的表示设备将所述单纯词的向量表示确定为预设向量。

本申请实施例中,可能出现单纯词的词根也不在向量模型中的情况,可以将所述单纯词的向量表示确定为0向量。

本申请实施例中,通过单纯词或单纯词的词根来获取该单纯词对应的向量表示,进而获取到单纯词集合中各个单纯词的向量表示。如此避免了现有技术中因获取方式单一而不能获取待表示词的向量表示的问题。由于单纯词仅有一个词义,因此通过单纯词对应的向量表示来获取待表示词的向量表示,使得获取的待表示词的向量表示的语义信息更为准确。

本申请实施例再提供一种词的表示方法,以罕见词为例,图6为本申请实施例中提供的词的表示方法流程示意图,如图6所示,所述方法包括:

步骤S601,词的表示设备初始化罕见词的向量V为0向量。

步骤S602,词的表示设备提取罕见词w的词根。

本申请实施例中,将w的词根表示为ws。

步骤S603,词的表示设备判断在WSE模型中是否存在ws的词根向量。

本申请实施例中,如在WSE模型中存在ws的词根向量时,执行步骤S618,如在WSE模型中不存在ws的词根向量,则执行步骤S604。

步骤S604,词的表示设备对罕见词w进行词形分解,得到分解后的单纯词集合W。

步骤S605,词的表示设备判断W集合中单词(也即单纯词)数量是否等于1。

本申请实施例中,如果W集合中的单词数量等于1,表示罕见词w本身为单纯词,不能进行词形分解,此时执行步骤S606,如果W集合中的单词数量不等于1,则执行步骤S609。

步骤S606,词的表示设备将罕见词w从语言L1翻译到语言L2,翻译结果为S1。

本申请实施例中,在步骤S606之前还包括:确定罕见词w的语言类别为L1,再确定中间语言类别为L2,其中,L2≠L1,例如L1为英文,L2为中文。

本申请实施例中,词的表示设备可以通过调用翻译网站的API来进行翻译。

步骤S607,词的表示设备将翻译结果S1从语言L2反向翻译到语言L1,得到翻译结果S2。

步骤S608,词的表示设备对翻译结果S2进行词形分解。

步骤S609,词的表示设备得到的单纯词集合W。

步骤S610,词的表示设备依次选取单纯词集合W中的单纯词w0,以在WSE模型中获取w0的向量表示M[w0]。

步骤S611,词的表示设备判断在WSE模型中是否存在w0的向量表示M[w0]。

本申请实施例中,如果在WSE模型中存在M[w0],则执行步骤S612,如果在WSE模型中不存在M[w0],则执行步骤S613。

步骤S612,词的表示设备将M[w0]累加到向量V=V+M[w0]。

本申请实施例中,V可以是在初始化V为0向量的基础上经过累加后得到的向量表示。也就是说,本申请实施例中,向量V是动态变化的,当得到一个单纯词的向量表示时,将该单纯词的向量表示叠加到向量V。本申请实施例中,当步骤S612结束后执行步骤S617。

步骤S613,词的表示设备提取w0的词根ws0,以获取词根向量M[ws0]。

步骤S614,词的表示设备判断在WSE模型中是否存ws0的向量表示M[ws0]。

本申请实施例中,如果在WSE模型中不存在M[ws0],则执行步骤S615。如果在WSE模型中存在M[ws0],则执行步骤S616。

步骤S615,词的表示设备将M[ws0]记为0向量表示。

步骤S616,词的表示设备将M[ws0]累加到V=V+M[ws0]。

步骤S617,词的表示设备判断W中的单纯词是否选取完毕。

本申请实施例中,如没有选取完毕,则执行步骤S610,如选取完毕,则执行步骤S619。

步骤S618,词的表示设备确定V=M[ws]。

步骤S619,词的表示设备返回向量V作为罕见词w的分布式表示,此时流程结束。

示例性的,罕见词“robotcleaner”词向量可通过词形分解表示为两个单纯词词向量的加和:

V(“robotcleaner”)=V(“robot”)+V(“cleaner”)。

罕见词“refrigerating”可以通过词根提取表示为其词根refriger在WSE模型中的向量:

V(“refrigerating)=V(“refriger”);

罕见词“scaldabiberon”经过词根提取和词形分解之后得到的仍然是它本身,需要通过双向翻译得到其向量描述,假设中间语言为中文,那么首先将“scaldabiberon”翻译为中文,得到翻译结果,也即“热奶器”,然后再将“热奶器”反向翻译为英语,得到“bottlewarmer”。将“bottle warmer”经过词形分解,得到“bottle”和“warmer”两个单纯词,最后通过“bottle”和“warmer”这两个单纯词的词向量进行叠加,得到“scaldabiberon”的分布式表示:

V(“scaldabiberon”)=V(“bottle”)+V(“warmer”)

本申请实施例提出的一种词的表示方法,综合利用了词形分解、词根提取和双向翻译,能够实现罕见词的同义词向量表达,并且使用的预训练模型为WSE模型,由于WSE模型不再是单纯的词向量模型,而是基于文本语料库训练词语与词根向量模型,因此WSE模型不仅能够得到文本语料库的词汇表中每个单词的词向量,还能够得到每个单词词根的向量。本申请实施例中,表达罕见词的最小语义元素为一个完整的词语或者词根,相对FastText为代表的基于子词向量模型的方法,每个组成单元具有更明确的语义信息,能够更完整地表达原罕见词的词义。相对基于知识库的方法,本申请实施例提供的词的表示方法不受限于知识库的收录范围,具有更好的罕见词覆盖率,能够为更大范围的词提供向量推理表示。另外,本申请实施例提供的词的表示方法能够更好地表达领域专属词这种罕见词的语义信息,而且还适用于不同领域,具有更好地普适性。

基于前述的实施例,本申请实施例提供一种词的表示装置,该装置包括的各模块、以及各模块包括的各单元,可以通过计算机设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU,Central ProcessingUnit)、微处理器(MPU,Microprocessor Unit)、数字信号处理器(DSP,Digital SignalProcessing)或现场可编程门阵列(FPGA,Field Programmable Gate Array)等。

图7为本申请实施例提供的词的表示装置的组成结构示意图,如图7所示,所述词的表示装置700包括第一获取模块701、分解模块702、第二获取模块703和第一确定模块704。其中:

第一获取模块701,用于获取待表示词的词根。

分解模块702,用于当训练好的向量模型中不存在所述待表示词的词根对应的向量表示时,以单纯词为分解粒度对所述待表示词进行分解,得到单纯词集合。

第二获取模块703,用于根据所述向量模型获取所述单纯词集合中各个单纯词的向量表示。

第一确定模块704,用于根据所述各个单纯词的向量表示,确定所述待表示词的词向量表示。

在一些实施例中,所述分解模块702包括:第一分解单元、第一转换单元、第二转换单元和第二分解单元。其中:

第一分解单元,用于以单纯词为分解粒度对所述待表示词进行分解,得到第一分解结果。

第一转换单元,用于当确定所述第一分解结果中的单纯词为所述待表示词时,将所述待表示词转换为第二语种,得到第二语种待表示词。

第二转换单元,用于将所述第二语种待表示词转换为第一语种,得到目标词;其中,所述目标词与所述待表示词为第一语种。

第二分解单元,用于将所述目标词进行分解,得到第二分解结果,并根据所述第二分解结果中的单纯词得到单纯词集合。

在一些实施例中,所述装置700还包括:第三获取模块和第二确定模块。

其中:

第三获取模块,用于当确定所述第一分解结果中的单纯词不是待表示词时,获取所述第一分解结果中的单纯词。

第二确定模块,用于根据所述第一分解结果中的单纯词得到单纯词集合。

在一些实施例中,第二获取模块703,进一步包括:第一获取单元、第一判断单元和第二获取单元。其中:

第一获取单元,用于获取所述单纯词集合中的第i个单纯词,i=1,2,…,N,所述单纯词集合中共有N个单纯词。

第一判断单元,用于判断在所述向量模型中是否存在所述第i个单纯词对应的向量表示。

第二获取单元,用于当在所述向量模型中存在所述第i个单纯词对应的向量表示时,获取所述第i单纯词的向量表示。

在一些实施例中,第二获取模块703,还包括:第一提取单元、第二判断单元和第一确定单元。其中:

第一提取单元,用于当所述向量模型中不存在所述第i个单纯词的向量表示时,提取所述第i个单纯词的词根。

第二判断单元,用于判断在所述向量模型中是否存在所述第i个单纯词的词根对应的向量表示。

第一确定单元,用于当在所述向量模型中存在所述第i个单纯词的词根对应的向量表示时,将所述词根对应的向量表示确定为所述第i个单纯词的向量表示。

在一些实施例中,第二获取模块703,还包括:

第二确定单元,用于当在所述向量模型中不存在所述第i个单纯词的词根对应的向量表示时,将所述单纯词的向量表示确定为预设向量。

在一些实施例中,所述装置700还包括:第四获取模块和第三确定模块。

其中:

第四获取模块,用于当所述向量模型中存在所述待表示词的词根对应的向量表示时,获取所述待表示词的词根对应的向量表示。

第三确定模块,用于根据所述词根对应的向量表示,确定所述待表示词的词向量表示。

以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的词的表示方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,ReadOnly Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。

相应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现上述实施例中提供的词的表示方法中的步骤。

本申请实施例提供一种词的表示设备,图8为本申请实施例提供的词的表示设备的组成结构示意图,如图8所示,所述词的表示设备800包括:一个处理器801、至少一个通信总线802、用户接口803、至少一个外部通信接口804和存储器805。其中,通信总线802配置为实现这些组件之间的连接通信。其中,用户接口803可以包括显示屏,外部通信接口804可以包括标准的有线接口和无线接口。其中,所述处理器801,配置为执行存储器中存储的词的表示程序,以实现以上述实施例提供的词的表示方法中的步骤

以上词的表示设备和存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请词的表示设备和存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台AC执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

21页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于文本向量化的故障停电抢修事中处置参考方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!