一种语言模型得分的生成方法及装置与流程

文档序号:17264533发布日期:2019-03-30 09:54阅读:206来源:国知局
一种语言模型得分的生成方法及装置与流程

本申请涉及自然语言处理技术领域,尤其涉及一种语言模型得分的生成方法及装置。



背景技术:

现有的语言模型包括ngram语言模型和循环神经网络(recurrentneuralnetwork,rnn)语言模型,可以在文本预测、文本校对以及语音识别(比如对演讲、访谈、辩论等长语音数据进行的语音识别)等应用场景中,使用语言模型计算相关文本的各个词语的语言模型得分,也即各个词语的概率得分,用以确定该文本是否属于一段合理的自然语言。

但是,现有的语言模型得分生成方法,仅仅考虑文本中的词语在一定范围内(比如该词语之前的2~4个词)的词语搭配关系,从而导致生成的语言模型得分不准确。



技术实现要素:

本申请实施例的主要目的在于提供一种语言模型得分的生成方法及装置,能够提高文本中各个词语的得分的准确性。

本申请实施例提供了一种语言模型得分的生成方法,包括:

利用预先构建的表达记忆库,生成目标文本中的每个词语的语言模型得分;

其中,所述表达记忆库存储了所述目标文本所属领域中的各个关键词分别对应的第一向量表达结果、以及每一关键词的各个关联词分别对应的第二向量表达结果。

可选的,所述第一向量表达结果包括:根据对应关键词生成的向量表达结果;和/或,根据对应关键词的周边词语生成的该对应关键词的向量表达结果,其中,该对应关键词以及该对应关键词的周边词语属于所述目标文本所属领域中的样本文本;

所述第二向量表达结果包括:根据对应关联词生成的向量表达结果;和/或,根据对应关联词的周边词语生成的该对应关联词的向量表达结果,其中,该对应关联词以及该对应关联词的周边词语属于所述目标文本所属领域中的样本文本。

可选的,所述利用预先构建的表达记忆库,生成目标文本中的每个词语的语言模型得分,包括:

将所述目标文本中的每个词语作为目标词语;

利用预先构建的语言模型生成所述目标词语的向量表达结果;

根据所述目标词语的向量表达结果以及所述表达记忆库中存储的向量表达结果,生成所述目标词语的语言模型得分。

可选的,按照下述方式构建所述表达记忆库:

利用预先构建的关键词关联库,构建所述表达记忆库;

其中,所述关键词关联库中存储了各个领域的多个关键词、以及分别与每个关键词对应的目标关联词集,所述目标关联词集中包括对应关键词的多个关联词。

可选的,所述利用预先构建的关键词关联库,构建所述表达记忆库,包括:

确定所述目标文本所属的领域;

从所述关键词关联库中,筛选出所述领域内的各个关键词以及各个关键词分别对应的目标关联词集,形成一个关键词关联集;

构建所述表达记忆库,使所述表达记忆库包括所述关键词关联集中的每一词语以及每一词语的向量表达结果。

可选的,按照下述方式构建所述关键词关联库:

获取大量的样本文本;

对于每一样本文本,从该样本文本中挑选出该样本文本所属领域内的关键词,并使挑选出的每一关键词对应同一个初始关联词集,所述初始关联词集包括该样本文本中的各个非关键词;

将不同样本文本中的相同关键词对应的各个初始关联词集进行合并,得到每一不同关键词唯一对应的一个目标关联词集;

由各个不同的关键词以及每一关键词对应的目标关联词集,形成所述关键词关联库。

可选的,按照下述方式构建所述关键词关联库:

收集大量的样本文本;

对于每一样本文本,从该样本文本中挑选出该样本文本所属领域内的关键词,并使挑选出的每一关键词对应同一个初始关联词集,所述初始关联词集包括该样本文本中的各个非关键词;

将不同样本文本中的相同关键词对应的各个初始关联词集进行合并,得到每一不同关键词唯一对应的一个目标关联词集;

剔除每一目标关联词集中的与对应关键词具有低关联性的非关键词;

由各个不同的关键词以及经剔除操作后的每一关键词对应的目标关联词集,形成所述关键词关联库。

可选的,所述剔除每一目标关联词集中的与对应关键词具有低关联性的非关键词,包括:

对于每一目标关联词集,将该目标关联词集对应的关键词称为基准词,并将该目标关联词集中的每一非关键词分别称为待处理词;

对于每一待处理词,根据所述待处理词对应的第一参数和第二参数,生成表征所述待处理词与所述基准词的相关程度的关联权重,所述第一参数为所述待处理词所属的目标关联词集的个数,所述第二参数为所述待处理词在相应文本中的出现次数,所述相应文本包括所述待处理词与所述基准词共同所属的各个样本文本;

根据所述关联权重,剔除或保留该目标关联词集中的所述待处理词。

本申请实施例还提供了一种语言模型得分的生成装置,包括:

模型得分生成单元,用于利用预先构建的表达记忆库,生成目标文本中的每个词语的语言模型得分;

其中,所述表达记忆库存储了所述目标文本所属领域中的各个关键词分别对应的第一向量表达结果、以及每一关键词的各个关联词分别对应的第二向量表达结果。

可选的,所述第一向量表达结果包括:根据对应关键词生成的向量表达结果;和/或,根据对应关键词的周边词语生成的该对应关键词的向量表达结果,其中,该对应关键词以及该对应关键词的周边词语属于所述目标文本所属领域中的样本文本;

所述第二向量表达结果包括:根据对应关联词生成的向量表达结果;和/或,根据对应关联词的周边词语生成的该对应关联词的向量表达结果,其中,该对应关联词以及该对应关联词的周边词语属于所述目标文本所属领域中的样本文本。

可选的,所述模型得分生成单元包括:

目标词语获得子单元,用于将所述目标文本中的每个词语作为目标词语;

表达结果生成子单元,用于利用预先构建的语言模型生成所述目标词语的向量表达结果;

模型得分生成子单元,用于根据所述目标词语的向量表达结果以及所述表达记忆库中存储的向量表达结果,生成所述目标词语的语言模型得分。

可选的,所述装置还包括:

记忆库构建单元,用于利用预先构建的关键词关联库,构建所述表达记忆库;

其中,所述关键词关联库中存储了各个领域的多个关键词、以及分别与每个关键词对应的目标关联词集,所述目标关联词集中包括对应关键词的多个关联词。

可选的,所述记忆库构建单元包括:

领域确定子单元,用于确定所述目标文本所属的领域;

关联集形成子单元,用于从所述关键词关联库中,筛选出所述领域内的各个关键词以及各个关键词分别对应的目标关联词集,形成一个关键词关联集;

记忆库构建子单元,用于构建所述表达记忆库,使所述表达记忆库包括所述关键词关联集中的每一词语以及每一词语的向量表达结果。

可选的,所述装置还包括:

样本文本获取单元,用于获取大量的样本文本;

关联词集挑选单元,用于对于每一样本文本,从该样本文本中挑选出该样本文本所属领域内的关键词,并使挑选出的每一关键词对应同一个初始关联词集,所述初始关联词集包括该样本文本中的各个非关键词;

关联词集获得单元,用于将不同样本文本中的相同关键词对应的各个初始关联词集进行合并,得到每一不同关键词唯一对应的一个目标关联词集;

第一关联库形成单元,用于由各个不同的关键词以及每一关键词对应的目标关联词集,形成所述关键词关联库。

可选的,所述装置还包括:

样本文本获取单元,用于获取大量的样本文本;

关联词集挑选单元,用于对于每一样本文本,从该样本文本中挑选出该样本文本所属领域内的关键词,并使挑选出的每一关键词对应同一个初始关联词集,所述初始关联词集包括该样本文本中的各个非关键词;

关联词集获得单元,用于将不同样本文本中的相同关键词对应的各个初始关联词集进行合并,得到每一不同关键词唯一对应的一个目标关联词集;

非关键词剔除单元,用于剔除每一目标关联词集中的与对应关键词具有低关联性的非关键词;

第二关联库形成单元,用于由各个不同的关键词以及经剔除操作后的每一关键词对应的目标关联词集,形成所述关键词关联库。

可选的,所述非关键词剔除单元包括:

关联词集处理子单元,用于对于每一目标关联词集,将该目标关联词集对应的关键词称为基准词,并将该目标关联词集中的每一非关键词分别称为待处理词;

关联权重生成子单元,用于对于每一待处理词,根据所述待处理词对应的第一参数和第二参数,生成表征所述待处理词与所述基准词的相关程度的关联权重,所述第一参数为所述待处理词所属的目标关联词集的个数,所述第二参数为所述待处理词在相应文本中的出现次数,所述相应文本包括所述待处理词与所述基准词共同所属的各个样本文本;

非关键词剔除子单元,用于根据所述关联权重,剔除或保留该目标关联词集中的所述待处理词。

本申请实施例还提供了一种语言模型得分的生成设备,包括:处理器、存储器、系统总线;

所述处理器以及所述存储器通过所述系统总线相连;

所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述语言模型得分的生成方法中的任意一种实现方式。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述语言模型得分的生成方法中的任意一种实现方式。

本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述语言模型得分的生成方法中的任意一种实现方式。

本申请实施例提供的一种语言模型得分的生成方法及装置,可以利用预先构建的表达记忆库,生成目标文本中的每个词语的语言模型得分,其中,表达记忆库存储了目标文本所属领域中的各个关键词分别对应的第一向量表达结果、以及每一关键词的各个关联词分别对应的第二向量表达结果。可见,本申请实施例在生成目标文本的得分时,考虑了该目标文本所属领域中各个关键词的向量表达结果以及与各个关键词相关的各个关联词对应的向量表达结果,从而能够更准确地生成目标文本中各个词语的得分。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种语言模型得分的生成方法的流程示意图;

图2为本申请实施例提供的构建的表达记忆库m的结构示意图;

图3为本申请实施例提供的生成目标词语的语言模型得分的示意图;

图4为本申请实施例提供的利用预先构建的关键词关联库u构建表达记忆库m的流程示意图;

图5为本申请实施例提供的构建关键词关联库u的流程示意图之一;

图6为本申请实施例提供的构建关键词关联库u的流程示意图之二;

图7为本申请实施例提供的一种语言模型得分的生成装置的组成示意图。

具体实施方式

在实际应用中,当需要利用语言模型(比如ngram语言模型、rnn语言模型等)预测某文本中各个词语分别对应的概率得分时,即,预测各个词语的语言模型得分时,仅仅考虑了该文本中的每一词语在一定范围内(比如该词语之前的2~4个词语)的词语搭配关系,而没有考虑“词语之间的常识关联性”,从而导致生成的各个词语的语言模型得分不准确。

其中,“词语之间的常识关联性”指的是两个词语之间有很强的绑定关系。例如,若前文中出现了“微软”,则后续文本内容中“gaici”的发音对应的词即为“盖茨”,而不是“该词”,无论“微软”与“盖茨”这两个词之间的距离有多远(比如间隔10个词语)。但目前的语言模型得分的生成方法,并未考虑这种词语之间的关联性。例如,对于文本“微软是全球最大的软件公司,因而它的创始人盖茨很多年都是全球首富。”来讲,因为词语“微软”位于词语“盖茨”前面比较远的距离,而现有的语言模型很容易将“盖茨”预测为常见的词“该词”,从而导致“盖茨”的语言模型得分不准确。

为解决上述缺陷,本申请实施例提供了一种语言模型得分的生成方法,利用预先构建的表达记忆库,来生成一个文本中的每个词语的语言模型得分,其中,该表达记忆库中存储了该文本所属领域中各个关键词分别对应的向量表达结果,以及与各个关键词之间具有常识关联性的各个关联词分别对应的向量表达结果。可见,由于该表达记忆库中存储了每一领域关键词及其对应的各个关联词,因此,在利用该表达记忆库生成词语的语言模型得分时,考虑了词语之间的常识关联性,从而在生成文本中各个词语的语言模型得分时,能够提高得分结果的准确性。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

第一实施例

参见图1,为本实施例提供的一种语言模型得分的生成方法的流程示意图,该方法包括以下步骤:

s101:利用预先构建的表达记忆库,生成目标文本中的每个词语的语言模型得分。

在本实施例中,将采用本实施例生成得分的任一文本定义为目标文本。并且,本实施例不限制目标文本的语种类型,比如,目标文本可以是中文文本、或英文文本等;本实施例也不限制目标文本的长度,比如,目标文本可以是句子文本、也可以是篇章文本;本实施例也不限制目标文本的类型,比如,目标文本可以是采访、会议、演讲、辩论等应用场景对应识别出的文本。

在本实施例中,将预先构建的表达记忆库定义为m,该表达记忆库m中存储了目标文本所属领域中的各个关键词分别对应的第一向量表达结果、以及与每一关键词相关的各个关联词分别对应的第二向量表达结果。如图2所示,其示例性的示出了表达记忆库m的组成示意图,该表达记忆库m可以是利用预先构建的语言模型(比如rnn语言模型)生成的不同词语的词语表达向量构成的。

例如,假设目标文本所属领域为科技领域,则该领域中的关键词可以包括“微软”、“谷歌”、“华为”等。而与“微软”相关的关联词可以包含“office”、“盖茨”、“操作系统”等;与“华为”相关的关联词可以包含“麒麟”、“5g”、“交换机”等。所以,表达记忆库m中可以存储“微软”、“谷歌”、“华为”等各领域关键词对应的向量表达结果,以及“微软”的关联词“office”、“盖茨”、“操作系统”以及“华为”的关联词“麒麟”、“5g”、“交换机”等对应的向量表达结果。

其中,目标文本所属的领域,可以通过用户输入来直接确定,也可以利用自动领域判断方法对目标文本所属的领域进行自动判断,比如,可以利用文档主题生成模型(latentdirichletallocation,简称lda)、tf-idf或fasttext等方法进行判断。

在本实施例中,由于表达记忆库m中记录了目标文本所属领域的关键词与其各个关联词之间的对应关系,因此,在生成目标文本中各个词语的语言模型得分时,可以根据表达记忆库m中的这些具有关联性的词语的向量表达结果生成得分,即考虑了词语之间的常识关联性,故而,可以更准确地生成各个词语的语言模型得分。

需要说明的是,上述表达记忆库m的具体构建过程请参见第二实施例的相关介绍。

此外,需要说明的是,现有的语言模型,除了没有考虑“词语之间的常识关联性”,也没有利用到“文本上下文中的一些相似信息”,从而导致生成的各个词语的语言模型得分不够准确。其中,“文本上下文中的一些相似信息”指的是在同一个场景下,两个相似的前文内容,它们后面出现的词语很可能是同一个词语,例如,若文本中前面有一个句子是“来到这片美丽富饶的东北平原”,则在后文另外一个句子“在这片广阔、富饶又肥沃的____上”中,很容易猜测出横线上缺少的词语即为“东北平原”。但目前的语言模型并未考虑文本上下文中的这些相似信息,因此,会进一步导致词语的语言模型得分不准确。

为解决上述因未利用“文本上下文中的一些相似信息”而导致的得分不准确的问题,在本实施例的一种实现方式中,关于表达记忆库m中存储的每一关键词的第一向量表达结果以及每一关联词的第二向量表达结果,其包含了目标文本中的上下文信息。具体地,第一向量表达结果包括:根据对应关键词生成的向量表达结果,和/或,根据对应关键词的周边词语生成的该对应关键词的向量表达结果,其中,该对应关键词以及该对应关键词的周边词语属于所述目标文本所属领域中的样本文本,该样本文本可以是目标文本或目标文本所属领域中的非目标文本;类似地,第二向量表达结果包括:根据对应关联词生成的向量表达结果;和/或,根据对应关联词的周边词语生成的该对应关联词的向量表达结果,其中,该对应关联词以及该对应关联词的周边词语属于所述目标文本所属领域中的样本文本,该样本文本可以是目标文本或目标文本所属领域中的非目标文本。这样,表达记忆库m中可以存储目标文本中的关键词及其关联词的向量表达结果、和/或存储一个或多个非目标文本中的关键词及其关联词的向量表达结果。

在本实现方式中,第一向量表达结果可以包括根据对应关键词生成的向量表达结果,该向量表达结果指的是该关键词的词向量,其表征了该关键词本身的语义信息。和/或,第一向量表达结果还可以包括根据对应关键词的周边词语生成的该对应关键词的向量表达结果,其中,该关键词及其周边词语可以是目标文本中的词语,也可以是目标文本所属领域中的非目标文本中的词语,其周边词语可以是该关键词之前的几个词语,比如之前的2~4个词语,可以理解的是,由于该关键词在同一目标文本中可能出现一次或多次,因此,可以根据该关键词所在的不同位置,生成该关键词的不同的向量表达结果,此外,对于该关键词的每一向量表达结果,由于该向量表达结果是利用语言模型生成的,则该向量表达结果即为该关键词对应隐层的前一个隐层输出的隐层向量。

举例说明:以关键词“微软”为例,如图2所示,表达记忆库m存储的关于关键词“微软”的第一向量表达结果,可以包括通过向量生成方法生成的“微软”的词向量,比如,通过word2vec方法生成的“微软”的词向量,定义为s。进一步地,假设关键词“微软”所属的目标文本为“…….,微软员工的office充满高科技气息,…….,他们在这里创造出office产品”,则第一向量表达结果还可以包括根据“微软”之前的几个词语(比如之前的2-4个词语)生成的“微软”的语义表达结果,定义为s1,以rnn语言模型构建表达记忆库m为例,s1即为关键词“微软”对应隐层的前一个隐层输出的隐层向量。

在本实现方式中,第二向量表达结果可以包括根据对应关联词生成的向量表达结果,该向量表达结果指的是该关联词的词向量,其表征了该关联词本身的语义信息。和/或,第二向量表达结果还可以包括根据对应关联词的周边词语生成的该对应关联词的向量表达结果,其中,该关联词及其周边词语可以是目标文本中的词语,也可以是目标文本所属领域中的非目标文本中的词语,其周边词语可以是该关联词之前的几个词语,比如之前的2~4个词语,可以理解的是,由于该关联词在同一目标文本中可能出现一次或多次,因此,可以根据该关联词所在的不同位置,生成该关键词的不同的向量表达结果,此外,对于该关联词的每一向量表达结果,由于该向量表达结果可以是利用神经网络语言模型生成的,如rnn语言模型,则该向量表达结果即为该关联词对应隐层的前一个隐层输出的隐层向量。

举例说明:以关键词“微软”的关联词“office”为例,如图2所示,表达记忆库m存储的关于关联词“office”的第二向量表达结果,可以包括通过向量生成方法生成的“office”的词向量,比如,通过word2vec方法生成“office”的词向量,定义为h。进一步地,假设关联词“office”所属的目标文本为上述“…….,微软员工的office充满高科技气息,…….,他们在这里创造出office产品”,则第二向量表达结果还可以包括根据文本中第一个“office”及其之前的几个词语(比如之前的2-4个词语)生成的关联词“office”的语义表达结果,定义为ht,如图2所示,以rnn语言模型构建表达记忆库m为例,ht即为关联词“office”对应隐层的前一个隐层(即“的”对应的隐层)输出的隐层向量;类似的,第二向量表达结果还可以包括根据文本中第二个“office”及其之前的几个词语(比如之前的2-4个词语)生成的关联词“office”的语义表达结果,定义为ht+13,如图2所示,以rnn语言模型构建表达记忆库m为例,ht+13即为关联词“office”对应隐层的前一个隐层(即“创造出”对应的隐层)输出的隐层向量。

在本实施例的一种实现方式中,本步骤s101可以包括以下步骤a-c:

步骤a:将目标文本中的每个词语作为目标词语。

在本实现方式中,可以将目标文本进行分词处理,得到各个词语,这里,将每个词语定义为目标词语。例如,如图2所示,假设该目标文本为“微软员工的office充满高科技气息,…….,他们在这里创造出office产品。”,则该目标文本的各个词语包括“微软”、“员工”、“的”、“office”、“充满”、“高科技气息”…..“他们”、“在”、“这里”、“创造出”、“office”、“产品”,其中的每一词语即为目标词语。

步骤b:利用预先构建的语言模型生成目标词语的向量表达结果。

在本实施例中,通过步骤a将目标文本中的每个词语作为目标词语后,可以利用预先构建的语言模型,生成各个目标词语的向量表达结果,需要说明的是,此处采用的语言模型与构建表达记忆库m时采用的语言模型是一致的,比如,均可以采用rnn语言模型,则模型生成的目标词语的向量表达结果即为该目标词语对应隐层的前一个隐层输出的隐层向量,定义为hi。

步骤c:根据目标词语的向量表达结果以及表达记忆库m中存储的向量表达结果,生成该目标词语的语言模型得分。

在本实施例中,通过步骤b利用预先构建的语言模型生成目标词语的向量表达结果后,可以根据该目标词语的向量表达结果以及预先构建的表达记忆库m中存储的关于该目标词语的向量表达结果,生成该目标词语的语言模型得分。

具体地,可以利用softmax进行归一化调整,计算出该目标词语的语言模型得分,具体的计算公式如下:

其中,p3表示目标文本中第i个目标词语xi的语言模型得分;t表示表达记忆库m中的总词数;hi表示语言模型生成的目标词语xi的向量表达结果,比如神经网络语言模型生成的该目标词语xi对应隐层的前一个隐层输出的隐层向量;ht表示表达记忆库m中存储的目标词语xi的向量表达结果;xt表示ht在表达记忆库m中对应的目标词语xi;hj表示表达记忆库m中存储的第j个词语的向量表达结果;θ表示一个平滑因子。

在公式(1)中,可以采用余弦距离、欧拉距离等计算方式,计算hi与ht之间的相似度、以及hi与hj之间的相似度。

在公式(1)中,θ用于调整目标词语xi的语言模型得分p3与词向量间相似度之间的正比关系,其中,词向量间相似度,指的是语言模型生成的目标词语xi的向量表达结果hi与记忆库m中该目标词语xi的向量表达结果ht之间的相似度、以及语言模型生成的目标词语xi的向量表达结果hi与记忆库m中第j个词语的向量表达结果hj之间的相似度。θ越大,词向量间相似度就越大,基于此,当hi与ht之间的相似度较高时,则该目标词语xi的语言模型得分p3就越高,反之亦然。

需要说明的是,当目标词语xi在表达记忆库m中存在多个时,比如图2中的“office”,则需要将“office”的各个向量表达结果hi提取出来,并通过公式(1)参与计算。然而,当在表达记忆库m中找不到对应的目标词语xi时,比如“的”等无意义词汇,则可以将其对应的语言模型得分取为0,或者取为接近0的数值。

可见,由于表达记忆库m中预先存储了目标文本中各个词语对应的向量表达结果,因此,在计算词语的语言模型得分时,可以基于表达记忆库m结合考虑与该词语距离较远的词语(即两个词语之间间隔了较多的词语,比如10个词语,说明两个词语之间的距离较远)的信息,因此,可以提高词语的语言模型得分的准确性。

综上,本实施例提供的语言模型得分的生成方法,可以利用预先构建的表达记忆库,生成目标文本中的每个词语的语言模型得分,其中,该表达记忆库存储了目标文本所属领域中的各个关键词分别对应的第一向量表达结果、以及每一关键词的各个关联词分别对应的第二向量表达结果。可见,本申请实施例在生成目标文本的得分时,考虑了该目标文本所属领域中各个关键词的向量表达结果以及与各个关键词相关的各个关联词对应的向量表达结果,从而能够更准确地生成目标文本中各个词语的语言模型得分。

第二实施例

本实施例将对第一实施例中提及的表达记忆库m的具体构建过程进行介绍。

实际应用中,虽然相同的词语可以出现在不同的上下文中,但在特定的领域场景中、或特定人使用一些词语时,一些词语的出现位置和出现环境往往是相同或相似的。比如在科技领域中,对于包含关键词“微软”的文本,“gaici”的发音对应词往往就是“盖茨”而不是“该词”。但是,现有的语言模型比如rnn语言模型,虽然它能根据上文历史来更好地区分不同词语的语义,但由于模型训练语料的规模不限定,rnn语言模型只能对这些词语的词向量用一个平均化的权重来计算各个词语的概率得分,而忽略了其中的细微差别,从而导致各个词语的概率得分不准确,即各个词语的语言模型得分不准确。

为此,在本实施例中,可以使用表达记忆库m预先存储目标文本中各个词语对应的向量表达结果ht,以便后续再计算目标文本的各个词语的语言模型得分时,可以利用该词语通过rnn模型生成的向量表达结果hi与表达记忆库m中该词语的一个或多个向量表达结果ht进行得分计算,以提高该词语的得分准确性。

在本实施例的一种实现方式中,构建表达记忆库m的过程具体可以包括:利用预先构建的关键词关联库,构建表达记忆库m。

在本实现方式中,可以利用预先构建的关键词关联库,构建表达记忆库m,其中,关键词关联库中存储了各个领域的多个关键词、以及分别与每个关键词对应的目标关联词集,该目标关联词集中包括对应关键词的多个关联词,这里,将关键词关联库定义为u。例如,关键词关联库u中可以存储科技领域的关键词“微软”,以及与关键词“微软”对应的关联词“比尔盖茨”、“雷蒙德”、“操作系统”、“office”等组成的目标关联词集,类似的,关键词关联库u中还可以存储体育领域的关键词“篮球”,以及与关键词“篮球”对应的关联词“姚明”、“朱芳雨”、“走步”等组成的目标关联词集,等等。

进而,可以根据关键词关联库u存储的各个领域的多个关键词、以及分别与每个关键词对应的目标关联词集,构建表达记忆库m,参见图4,其示出了本实施例提供的利用预先构建的关键词关联库u构建表达记忆库m的流程示意图,接下来,以目标文本“微软员工的office充满高科技气息,…….,他们在这里创造出office产品。”为例,对表达记忆库m的构建流程进行说明,该流程包括以下步骤:

s401:确定目标文本所属的领域。

可以通过用户输入的方式,或者利用lda、tf-idf或fasttext等自动领域判断方法,对目标文本所属的领域进行自动判断,从而确定出目标文本所属的领域,比如科技领域。

s402:从关键词关联库u中,筛选出目标文本所属的领域内的各个关键词以及各个关键词分别对应的目标关联词集,形成一个关键词关联集。

通过步骤s401确定出目标文本所属的领域后,比如领域l,可以从预先构建的关键词关联库u中,筛选出该领域l内的各个关键词、以及分别与每个关键词(即筛选出的关键词)对应的目标关联词集,以形成一个关键词关联集,这里,将该关键词关联集定义为b。

接下来,本实施例将通过下述步骤s501-s504和步骤s601-s605分别对关键词关联库u的两种构建方式进行介绍。

在第一种构建方式中,参见图5,其示出了本实施例提供的构建关键词关联库u的流程示意图之一,该流程包括以下步骤:

s501:获取大量的样本文本。

在本实施例中,为了更加简单、快捷的构建一个覆盖范围广、内容丰富的关键词关联库u,首先可以获取到大量具有完整内容的篇章文本,比如,可以获取到大量会议录音的识别文本,或者采访录音的识别文本,再或者从网络上收集到的各类文本数据,例如新闻文本、热点评论文本等,将每一篇章文本作为样本文本。进一步地,也可以按照词数将每一篇章文本拆分成多个连续的片段文本,并将每一片段文本作为样本文本。需要说明的是,样本文本的具体获取方式可根据实际情况进行设置,本申请对此不进行限定。

s502:对于每一样本文本,从该样本文本中挑选出该样本文本所属领域内的关键词,并使挑选出的每一关键词对应同一个初始关联词集,其中,初始关联词集包括该样本文本中的各个非关键词。

通过步骤s501获取到大量的样本文本后,对于每一样本文本,首先,可以利用现有或未来出现的分词方法,对每一样本文本进行分词处理,比如可以基于条件随机场的方法对每一样本文本进行分词处理,以得到每个样本文本包含的各个分词词语。然后,再通过向量生成方法生成各个分词词语的词向量,比如,可以通过word2vec方法生成各个分词词语的词向量。接着,再通过对每一样本文本所包含的各个词语进行聚类或计算词频(统计样本文本中包含的每一不同词语的个数)等方式,挑选出一些离聚类中心较近或出现频率较高的词语,作为对应样本文本所属领域内的关键词,这样,每一样本文本中可以包括一个或多个关键词。然后,在每一样本文本中,将该样本文本中除各个关键词以外的其他词语均定义为非关键词,这样,该样本文本即对应一个非关键词集合,这里,将该非关键词集合定义为初始关联词集,使该样本文本中的每一关键词均与该初始关联词集对应,即,将该初始关联词集中的非关键词作为对应关键词的候选关联词。

举例说明:以样本文本“微软员工的office充满高科技气息,他们可以在办公室的任何位置轻松地连接互联网。他们在这里创造出office产品。”为例,通过上述方法,可以得到该样本文本所属领域内的关键词包括“微软”、“高科技”、“互联网”,而该样本文本中其他词均为非关键词,且这些非关键词组成了一个初始关联词集,分别与关键词“微软”、“高科技”、“互联网”相对应,即,这三个关键词对应了同一个初始关联词集。

s503:将不同样本文本中的相同关键词对应的各个初始关联词集进行合并,得到每一不同关键词唯一对应的一个目标关联词集。

通过步骤s502从每一样本文本中挑选出该样本文本所属领域内的关键词,并使挑选出的每一关键词对应同一个初始关联词集后,可以将不同样本文本中的相同关键词对应的各个初始关联词集进行合并,得到每一不同关键词唯一对应的一个目标关联词集。例如,假设样本文本a中包含关键词“微软”,对应的初始关联词集为集合a,样本文本b中也包含关键词“微软”,对应的初始关联词集为集合b,则可以将集合a和集合b合并为集合c,得到关键词“微软”唯一对应的目标关联词集,即关键词“微软”唯一对应的集合c,其中,该集合c中包含了集合a和集合b中的所有不同的非关键词。

s504:由各个不同的关键词以及每一关键词对应的目标关联词集,形成所述关键词关联库。

通过步骤s503得到每一不同关键词唯一对应的一个目标关联词集后,即可利用各个不同的关键词以及每一关键词各自对应的目标关联词集,构成关键词关联库u。可以理解的是,由于s501获取的大量样本文本可能涉及了多个不同的领域,故而,该关键词关联库u包含了不同领域内的各个不同的关键词,以及每一关键词各自对应的目标关联词集。例如,该关键词关联库u可以包含科技领域内的关键词“微软”和“华为”,以及“微软”对应的包含“office”、“盖茨”、“操作系统”等词语的目标关联词集和“华为”对应的包含“麒麟”、“5g”、“交换机”等词语的目标关联词集。

在第二种构建方式中,参见图6,其示出了本实施例提供的构建关键词关联库u的流程示意图之二,该流程包括以下步骤:

s601:获取大量的样本文本。

s602:对于每一样本文本,从该样本文本中挑选出该样本文本所属领域内的关键词,并使挑选出的每一关键词对应同一个初始关联词集,其中,初始关联词集包括该样本文本中的各个非关键词。

s603:将不同样本文本中的相同关键词对应的各个初始关联词集进行合并,得到每一不同关键词唯一对应的一个目标关联词集。

需要说明的是,步骤s601-步骤s603与上述步骤s501--步骤s503一致,相关之处请参见上述步骤s501-步骤s503的介绍,在此不再赘述。

s604:剔除每一目标关联词集中的与对应关键词具有低关联性的非关键词。

通过步骤s603得到每一不同关键词唯一对应的一个目标关联词集后,为了优化关键词关联库u的构成,可以剔除每一目标关联词集中的与对应关键词具有低关联性的非关键词,从而可以滤掉那些基本无意义的词语、或者与对应关键词无明显相关性的词语。

举例说明:假设关键词“微软”对应的目标关联词集包括了“office”、“盖茨”、“操作系统”、“小明”等非关键词语,关键词“华为”对应的目标关联词集包含了“麒麟”、“5g”、“交换机”、“他们”、“的”等非关键词语。则可以将这两个目标关联词集中与对应关键词关联性较低的非关键词语剔除,比如,可以将关键词“微软”对应的目标关联词集中与“微软”关联性较低的非关键词语“小明”剔除,同理,可以将关键词“华为”对应的目标关联词集中与“华为”关联性较低的非关键词语“他们”、“的”剔除。

在本实施例的一种实现方式中,本步骤s604具体可以包括下述步骤s6041-s6043:

s6041:对于每一目标关联词集,将该目标关联词集对应的关键词称为基准词,并将该目标关联词集中的每一非关键词分别称为待处理词。

在本实施例中,将对每一目标关联词集进行相同方式的处理,后续内容将以其中的一个目标关联词集为例进行说明,比如目标关联词集1。

举例说明:假设目标关联词集1包括关键词“微软”,可以将该关键词“微软”称为基准词,将该目标关联词集1中的每一非关键词分别称为待处理词。

s6042:对于每一待处理词,根据该待处理词对应的第一参数和第二参数,生成表征该待处理词与基准词的相关程度的关联权重。

通过步骤s6041得到目标关联词集中的每一待处理词后,可以计算出每一待处理词对应的第一参数和第二参数,即,每一待处理词分别对应包括第一参数和第二参数的参数组合。

在本实施例中,将对目标关联词集中的每一待处理词进行相同方式的处理,后续内容将以其中的一个待处理词为例进行说明,比如待处理词1。

其中,关于待处理词1对应的第一参数,第一参数指的是待处理词1所属的目标关联词集的个数。比如,假设待处理词“产品”所属的各个目标关联词集,分别是关键词“微软”、“谷歌”、“华为”各自唯一对应的一个目标关联词集,则待处理词1“产品”所属的目标关联词集的个数为3个,即待处理词1“产品”的第一参数为3。

其中,关于待处理词1对应的第二参数,第二参数指的是待处理词1在相应文本中的出现次数,其中,相应文本包括了该待处理词1与基准词共同所属的各个样本文本。比如,假设待处理词1为“office”,基准词为“微软”,且“office”在二者共同所属的样本文本m中出现了1次、在二者共同所属的样本文本n中出现了3次,则可以得到待处理词“office”的第二参数为4。

在计算出目标关联词集1中第i个待处理词(比如上述待处理词1)的第一参数和第二参数后,可通过下述公式(2),计算出表征第i个待处理词与基准词的相关程度的关联权重:

其中,vi是表征第i个待处理词与基准词的相关程度的关联权重,其表征了第i个待处理词与基准词的相关程度的高低,vi越大,表明第i个待处理词与基准词的相关程度越高,即二者关系越密切,反之,则表明第i个待处理词与基准词的相关程度越低;ni表示第i个待处理词对应的第二参数;n表示所有样本文本包含的总词数;di表示第i个待处理词对应的第一参数。

s6043:根据该该待处理词对应的关联权重,剔除或保留该目标关联词集中的该待处理词。

通过步骤s6042计算出目标关联词集1中的待处理词1对应的关联权重vi后,可以将该关联权重vi与预先设定的权重阈值进行比较,若关联权重vi小于该权重阈值,则从目标关联词集1中去除待处理词1,反之,则保留该待处理词1。

s605:由各个不同的关键词以及经剔除操作后的每一关键词对应的目标关联词集,形成所述关键词关联库。

通过步骤s604剔除了每一目标关联词集中的与对应关键词具有低关联性的非关键词后,可以由各个不同的关键词以及经剔除操作后的每一关键词对应的目标关联词集,构成关键词关联库u。

s403:构建表达记忆库,使该表达记忆库包括所述关键词关联集中的每一词语以及每一词语的向量表达结果。

当通过步骤s402构建了一个关键词关联集b后,便可以构建表达记忆库m,该表达记忆库m中包括关键词关联集b中的每一词语以及每一词语的向量表达结果,即,包括第一实施例中提及的目标文本所属领域中的各个关键词分别对应的第一向量表达结果、以及每一关键词的各个关联词分别对应的第二向量表达结果。进一步地,当通过第一实施例中的s101来利用预先构建的表达记忆库m,生成目标文本中的每个词语的语言模型得分时,为了使得分结果更准确,表达记忆库m中除了可以包括基于目标文本中的各个词语生成的向量表达结果(即表征对应词语的语义信息的词向量),还可以包括通过语言模型生成的目标文本的各个词语的向量表达结果(即对应词语的前一隐层输出的隐层向量)。

其中,关于表达记忆库m中存储的“通过语言模型生成的目标文本的各个词语的向量表达结果”,可以采用以下两种方式之一进行存储(第一种在线存储方式和第二种离线存储方式):

在第一种在线存储方式中,由于在执行第一实施例中的步骤s101的过程中,即通过语言模型,依次给出目标文本中每一词语的语言模型得分的过程中,因语言模型会依次生成目标文本中每一词语对应的向量表达结果,因此,可以实时的将当前词语对应的向量表达结果更新到表达记忆库m中。例如,如图2所示,仍以目标文本为“微软员工的office充满高科技气息,…….,他们在这里创造出office产品。”为例,通过语言模型,可以得到该目标文本中每个词语对应的向量表达结果(即每个词语对应隐层的前一个隐层输出的隐层向量),比如,当得到“微软”的向量表达结果时,便将其更新到表达记忆库m中,当得到“员工”的向量表达结果时,便将其更新到表达记忆库m中,….,当得到第一个“office”的向量表达结果时,便将其更新到表达记忆库m中,……,当得到第二个“office”的向量表达结果时,便将其更新到表达记忆库m中。

这样,便可以基于表达记忆库m的实时更新结果,通过公式(1)给出目标文本中每一词语的语言模型得分。如图2所示,以第一个“office”为例,当通过步骤s101使语言模型生成第一个“office”的向量表达结果后,将该向量表达结果更新到表达记忆库m中,并且,根据表达记忆库m存储的“office”的词向量以及模型生成的该第一个“office”的向量表达结果,通过公式(1)计算出第一个“office”的语言模型得分;再以第二个“office”为例,当通过步骤s101使模型生成第二个“office”的向量表达结果后,将该向量表达结果更新到表达记忆库m中,并且,根据表达记忆库m存储的“office”的词向量、第一个“office”的向量表达结果以及模型生成的该第二个“office”的向量表达结果,通过公式(1)计算出第二个“office”的语言模型得分。

在第二种离线存储方式中,可以在执行第一实施例中的步骤s101之前,预先获取目标文本,并通过语言模型预先生成目标文本中每一词语的向量表达结果,并将各个向量表达结果存储到表达记忆库m中。

这样,便可以基于表达记忆库m的存储结果,通过公式(1)给出目标文本中每一词语的语言模型得分。如图2所示,仍以第一个“office”为例,当通过步骤s101使语言模型生成第一个“office”的向量表达结果后,根据表达记忆库m存储的“office”的词向量、第一个“office”的向量表达结果、第二个“office”的向量表达结果以及模型生成的该第一个“office”的向量表达结果,通过公式(1)计算出第一个“office”的语言模型得分;类似地,再以第二个“office”为例,当通过步骤s101使语言模型生成第二个“office”的向量表达结果后,根据表达记忆库m存储的“office”的词向量、第一个“office”的向量表达结果、第二个“office”的向量表达结果以及模型生成的该第二个“office”的向量表达结果,通过公式(1)计算出第二个“office”的语言模型得分。

综上,本实施例预先构建了存储有目标文本所属领域中各个关键词分别对应的向量表达结果以及与各个关键词之间具有常识关联性的各个关联词分别对应的向量表达结果的表达记忆库m,从而在利用该表达记忆库m,生成目标文本中的每个词语的语言模型得分时,能够提高目标文本中各个词语得分的准确性。

第三实施例

本实施例将对一种语言模型得分的生成装置进行介绍,相关内容请参见上述方法实施例。

参见图7,为本实施例提供的一种语言模型得分的生成装置的组成示意图,该装置700包括:

模型得分生成单元701,用于利用预先构建的表达记忆库,生成目标文本中的每个词语的语言模型得分;

其中,所述表达记忆库存储了所述目标文本所属领域中的各个关键词分别对应的第一向量表达结果、以及每一关键词的各个关联词分别对应的第二向量表达结果。

在本实施例的一种实现方式中,所述第一向量表达结果包括:根据对应关键词生成的向量表达结果;和/或,根据对应关键词的周边词语生成的该对应关键词的向量表达结果,其中,该对应关键词以及该对应关键词的周边词语属于所述目标文本所属领域中的样本文本;

所述第二向量表达结果包括:根据对应关联词生成的向量表达结果;和/或,根据对应关联词的周边词语生成的该对应关联词的向量表达结果,其中,该对应关联词以及该对应关联词的周边词语属于所述目标文本所属领域中的样本文本。

在本实施例的一种实现方式中,所述模型得分生成单元701包括:

目标词语获得子单元,用于将所述目标文本中的每个词语作为目标词语;

表达结果生成子单元,用于利用预先构建的语言模型生成所述目标词语的向量表达结果;

模型得分生成子单元,用于根据所述目标词语的向量表达结果以及所述表达记忆库中存储的向量表达结果,生成所述目标词语的语言模型得分。

在本实施例的一种实现方式中,所述装置700还包括:

记忆库构建单元,用于利用预先构建的关键词关联库,构建所述表达记忆库;

其中,所述关键词关联库中存储了各个领域的多个关键词、以及分别与每个关键词对应的目标关联词集,所述目标关联词集中包括对应关键词的多个关联词。

在本实施例的一种实现方式中,所述记忆库构建单元包括:

领域确定子单元,用于确定所述目标文本所属的领域;

关联集形成子单元,用于从所述关键词关联库中,筛选出所述领域内的各个关键词以及各个关键词分别对应的目标关联词集,形成一个关键词关联集;

记忆库构建子单元,用于构建所述表达记忆库,使所述表达记忆库包括所述关键词关联集中的每一词语以及每一词语的向量表达结果。

在本实施例的一种实现方式中,所述装置700还包括:

样本文本获取单元,用于获取大量的样本文本;

关联词集挑选单元,用于对于每一样本文本,从该样本文本中挑选出该样本文本所属领域内的关键词,并使挑选出的每一关键词对应同一个初始关联词集,所述初始关联词集包括该样本文本中的各个非关键词;

关联词集获得单元,用于将不同样本文本中的相同关键词对应的各个初始关联词集进行合并,得到每一不同关键词唯一对应的一个目标关联词集;

第一关联库形成单元,用于由各个不同的关键词以及每一关键词对应的目标关联词集,形成所述关键词关联库。

在本实施例的一种实现方式中,所述装置还包括:

样本文本获取单元,用于获取大量的样本文本;

关联词集挑选单元,用于对于每一样本文本,从该样本文本中挑选出该样本文本所属领域内的关键词,并使挑选出的每一关键词对应同一个初始关联词集,所述初始关联词集包括该样本文本中的各个非关键词;

关联词集获得单元,用于将不同样本文本中的相同关键词对应的各个初始关联词集进行合并,得到每一不同关键词唯一对应的一个目标关联词集;

非关键词剔除单元,用于剔除每一目标关联词集中的与对应关键词具有低关联性的非关键词;

第二关联库形成单元,用于由各个不同的关键词以及经剔除操作后的每一关键词对应的目标关联词集,形成所述关键词关联库。

在本实施例的一种实现方式中,所述非关键词剔除单元包括:

关联词集处理子单元,用于对于每一目标关联词集,将该目标关联词集对应的关键词称为基准词,并将该目标关联词集中的每一非关键词分别称为待处理词;

关联权重生成子单元,用于对于每一待处理词,根据所述待处理词对应的第一参数和第二参数,生成表征所述待处理词与所述基准词的相关程度的关联权重,所述第一参数为所述待处理词所属的目标关联词集的个数,所述第二参数为所述待处理词在相应文本中的出现次数,所述相应文本包括所述待处理词与所述基准词共同所属的各个样本文本;

非关键词剔除子单元,用于根据所述关联权重,剔除或保留该目标关联词集中的所述待处理词。

进一步地,本申请实施例还提供了一种语言模型得分的生成设备,包括:处理器、存储器、系统总线;

所述处理器以及所述存储器通过所述系统总线相连;

所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述语言模型得分的生成方法的任一种实现方法。

进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述语言模型得分的生成方法的任一种实现方法。

进一步地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述语言模型得分的生成方法的任一种实现方法。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本申请各个实施例或者实施例的某些部分所述的方法。

需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1