支持极性区分和多义的词向量生成方法及装置与流程

文档序号:15981750发布日期:2018-11-17 00:24阅读:156来源:国知局

本申请涉及机器学习技术领域,尤其涉及一种支持极性区分和多义的词向量生成方法及装置。

背景技术

词向量是通过语言数字化,让计算机理解人类语言的一种词语表示方式。词向量能够通过一定维度的向量来表示一个词语,并揭示该词与其他词之间的关联关系,例如[0.792,-0.177,-0.107,0.109,-0.542,……],词向量一般由词向量训练模型中cbow、skip、glove等方法训练得出,词向量中各维度的具体值,根据收集的语料以及语料的训练方式确定。词向量可以应用在智能问答或文本分类过程中,通过对文本信息与词向量进行匹配,确定文本信息的含义。

实际文本信息处理过程中,单个词语会对应多种语义,为了计算机能够识别,每种语义通过多个义元来表示。义元是一种最基本,不易于再分割意义的语义单元。例如,词语“苹果”,至少就表示两种语义,即苹果公司和水果,其中,苹果公司语义下对应多个义元,如:特定牌子、电脑等,而水果语义下对应的义元为:树、水果。实际使用中,收集每个词语以及词语对应下的语义和义元可以构成能够直接调用的资源文件,如由oec、同义词词林、hownet等提供的资源文件。现有技术中,通过训练方法得到的词向量,是以收集的训练语料中目标词的出现情况对词语的语义进行整理。当目标词具有一词多义时,词向量中不能够充分体现目标词的多个语义,使得应用此词向量进行智能问答或文本分类时,不能准确的匹配目标词在使用语境中的真实语义。

另外,在实际文本信息处理的过程中,通常需要根据两个词的词向量之间距离来确定对应词语之间的语义关联性,例如,通过欧式距离或余弦距离来确定词语之间的距离,一般认为距离最近的两个词语的语义相近。但使用上述方法得到的词向量进行匹配时,在真实语义上距离近的词包含一些语义相反的反义词。例如,“提高”和“降低”与“信用卡额度”的距离都很近,通过上述词向量模型进行匹配时,可能会造成误判的情况,即将提高信用卡额度、升高信用卡额度匹配到降低信用卡额度上。



技术实现要素:

本申请提供了一种支持极性区分和多义的词向量生成方法及装置,以解决传统方法构建的词向量在具有一词多义及反义词情况下容易匹配错误的问题。

第一方面,本申请提供一种支持极性区分和多义的词向量生成方法,包括:

获取当前业务场景下的词向量模型和资源文件,所述资源文件包括当前业务场景下多个语义对应的义元;

根据所述词向量模型确定目标词对应的原始词向量;提取所述目标词在所述资源文件中对应的语义信息,所述语义信息包括多个语义下的义元以及每个义元出现的次数;

根据所述语义信息以及设定的目标词计算值确定运算权重;

根据所述运算权重,对所述原始词向量中每一维的值分别进行加权求和运算,生成所述目标词对应的新词向量。

可选的,根据所述语义信息以及设定的目标词计算值确定运算权重,包括:

根据所述语义信息,统计当前目标词对应的所有语义下,义元以及每个义元出现的次数;

根据所有所述义元出现的总次数,以及与所述目标词计算值的和,确定权重计算的总值;

分别计算每个义元在所述语义信息中出现的次数与所述总值的比值,确定每个义元的运算权重以及目标词的运算权重。

可选的,根据所述语义信息以及设定的目标词计算值确定运算权重,包括:

统计所述语义信息中,包含义元数量最多的语义对应的所有义元以及每个义元出现的次数;

根据所有所述义元在包含义元数量最多的语义下出现的总次数,以及与所述目标词计算值的和,确定权重计算的总值;

分别计算每个义元出现的次数与所述总值的比值,确定每个义元的运算权重以及目标词的运算权重。

可选的,所述目标词计算值根据所述目标词的区别判断程度,等于1或者等于所述语义信息中所有义元出现次数的总和。

可选的,根据所述运算权重,对所述原始词向量中每一维的值分别进行加权求和运算,生成所述目标词对应的新词向量,包括,在所述词向量模型中提取义元对应的词向量,并根据下式及所述运算权重,对所述原始词向量中每一维的值分别进行加权求和运算,生成所述目标词对应的新词向量:

新词向量中第n维的值x0n=xan×wa+xbn×wb+xcn×wc+……+xn×w;

式中:xan为义元a对应词向量中第n维的值,wa为义元a的运算权重;xbn为义元b对应词向量中第n维的值,wb为义元b的运算权重;xn为目标词对应词向量中第n维的值,w为目标词的运算权重。

第二方面,本申请提供一种支持极性区分和多义的词向量生成方法,包括:

获取当前业务场景下的词向量模型和资源文件,以及获取包含目标词的语句文本,所述资源文件包括当前业务场景下多个语义对应的义元;

根据所述词向量模型确定所述目标词对应的原始词向量;提取所述目标词在所述资源文件中对应的语义信息,所述语义信息包括多个语义下的义元以及每个义元出现的次数;

在所述语句文本中确定所述目标词的临近词集,所述邻近词集为所述语句文本中与所述目标词邻近的多个词语集合;

根据所述邻近词集与所述语义信息,确定与所述目标词在当前业务场景下的最关联语义,以及所述最关联语义下对应的每个义元出现次数;

根据所述最关联语义下每个义元出现次数和设定的目标词计算值确定每个义元的运算权重以及目标词的运算权重;

根据所述运算权重,对所述原始词向量中每一维的值分别进行加权求和运算,生成所述目标词对应的新词向量。

可选的,根据所述邻近词集与所述语义信息,确定与所述目标词在当前业务场景下的最关联语义,包括:

设定窗口值,根据所述窗口值,在所述语句文本中提取所述目标词的邻近词集,所述邻近词集包括位于所述目标词之前的前文词,以及位于所述目标词之后的后文词;

根据所述原始词向量,分别计算所述邻近词集中每个前文词、每个后文词与每个所述义元之间的词语距离;

根据所述词语距离确定每个语义下的距离平均值;

对比每个语义下的距离平均值,确定所述距离平均值中最小值对应的语义为所述目标词的最关联语义。

可选的,根据所述最关联语义下每个义元出现次数和设定的目标词计算值确定运算权重,包括:

根据所述语义信息,统计所述最关联语义下的义元,以及每个义元出现的次数;

根据所有所述义元在所述最关联语义下出现的总次数,以及与所述目标词计算值的和,确定权重计算的总值;

分别计算每个义元出现的次数与所述总值的比值,确定每个义元以及目标词的运算权重。

第三方面,本申请提供一种支持极性区分和多义的词向量生成装置,包括:

获取单元,用于获取当前业务场景下的词向量模型和资源文件,所述资源文件包括当前业务场景下多个语义对应的义元;

原始词向量确定单元,用于根据所述词向量模型确定目标词对应的原始词向量;提取所述目标词在所述资源文件中对应的语义信息,所述语义信息包括每个语义下的义元以及每个义元出现的次数;

运算权重确定单元,用于根据所述语义信息以及设定的目标词计算值确定运算权重;

新词向量生成单元,用于根据所述运算权重,对所述原始词向量中每一维的值分别进行加权求和运算,生成所述目标词对应的新词向量。

第四方面,本申请提供一种支持极性区分和多义的词向量生成装置,包括:

信息获取单元,用于获取当前业务场景下的词向量模型和资源文件,以及获取包含目标词的语句文本,所述资源文件包括当前业务场景下多个语义对应的义元;

原始词向量确定单元,用于根据所述词向量模型确定所述目标词对应的原始词向量;提取所述目标词在所述资源文件中对应的语义信息,所述语义信息包括每个语义下的义元以及每个义元出现的次数;

临近词集确定单元,用于在所述语句文本中确定所述目标词的临近词集,所述邻近词集为所述语句文本中与所述目标词邻近的多个词语集合;

最关联语义确定单元,用于根据所述邻近词集与所述语义信息,确定与所述目标词在当前业务场景下的最关联语义,以及所述最关联语义下对应的每个义元出现次数;

运算权重确定单元,用于根据所述最关联语义下每个义元出现次数和设定的目标词计算值确定每个义元的运算权重以及目标词的运算权重;

新词向量生成单元,用于根据所述运算权重,对所述原始词向量中每一维的值分别进行加权求和运算,生成所述目标词对应的新词向量。

由以上技术方案可知,本申请提供一种支持极性区分和多义的词向量生成方法及装置,在实际应用中,所述方法根据当前业务场景下已建立的词向量和资源文件,对目标词词向量中各维度的值进行加权运算,生成新词向量。方法分别通过对资源文件中所有义元数、包含义元数量最多的语义下的义元数,以及与包含目标词的语句文本中最关联语义下的义元数,确定新词向量中各维度值的运算权重,从而根据运算权重在目标词与义元的词向量之间进行加权求和,获得新词向量。

本申请提供的词向量生成方法,能够根据已构建的词向量模型和资源文件,动态生成新词向量,所生成的新词向量能够更加准确的反应实际业务场景的语义特点,并且由于在加权运算过程中,以语义信息作为基础确定运算权重,因此可以显著的改善反义词和一词多义情况对匹配结果的影响,解决传统方法构建的词向量在具有一词多义及反义词情况下容易匹配错误的问题。

附图说明

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

图1为一种支持极性区分和多义的词向量生成方法流程示意图;

图2为本申请实施例一确定运算权重的流程示意图;

图3为本申请实施例二确定运算权重的流程示意图;

图4为本申请实施例中词向量生成装置的结构示意图;

图5为另一种支持极性区分和多义的词向量生成方法流程示意图;

图6为本申请实施例三确定最关联语义的流程示意图;

图7为本申请实施例三确定运算权重的流程示意图;

图8为本申请实施例中另一个词向量生成装置的结构示意图。

具体实施方式

下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的系统和方法的示例。

在本申请提供的技术方案中,所述当前业务场景是指具体业务活动归属的业务领域,如金融、理财、保险、科技、网络等。对于不同的业务场景,往往用到的文本信息具有很大差异,相应的文本信息中使用的词语语义也具有多样化的特点。因此,为了能够使计算机在不同的业务场景下,理解业务活动中所使用文本信息,从而实现智能问答、文本分类等自动处理过程,需要通过对文本信息中的各个词汇进行数字化,即通过词向量的方式将词语进行表示。

本申请中,词向量对应的词语被称之为目标词,即目标词是存在于当前业务场景的文本信息中的,例如“我想买一个苹果电脑”中的“苹果”。在智能问答或文本分类过程中所使用到的词向量,是通过机器学习的方式,以业务场景下收集的大量文本信息为训练语料进行训练,从而得到能够反应目标词语义以及目标词与其他词语之间关联关系的向量。词向量一般经过降维后,维度不会太高,根据具体的业务场景以及收集到的训练语料有关,例如常见的词向量维度为50维或100维。

需要说明的是,本申请中所提到的语义是指一个词语所包含的多个实际含义,例如“苹果”,一般认为包含两个语义,一种是“植物”,另一种是“苹果公司”,每个语义对应多个词语来表现,每个用来表现语义的词语就是一个义元,例如,“植物”这一语义下,可以通过“水果”、“树”等来表示。因此,在本申请提供的技术方案中,资源文件是特指一种词语集合。在资源文件中,包含业务场景下的全部词语,并且每个词语按照“词语-语义-义元”的结构进行排列,构成一个巨大的文本文件(txt),常表现为如下结构:

“的22功能词构助4定向射击用具部件”;

“了22功能词动助1完毕”;

“是41是1存在3示同意表示词语1特定”;

……

“苹果35携带样式值特定牌子电脑能1水果3树水果生殖”

……

以第一行数据为例,“的”就是本申请中的目标词,目标词后的第一个数字,代表目标词具有的语义数量,即“的”具有2个语义。目标词“的”之后的数字表示一种语义下包含的义元数量,即“的”的第一个语义包含2个义元,“功能词”和“构助”;“的”的第二个语义包含4个义元,“定向”、“射击”、“用具”和“部件”,通过这样的结构,可以将目标词的全部语义进行描绘,并且能够确定不同语义的义元。

基于以上内容提供的资源文件和词向量,本申请提供一种支持极性区分和多义的词向量生成方法,以改善目标词在具有一词多义和反义词对词向量匹配结果的影响,具体包括以下实施例。

实施例一

参见图1,为一种支持极性区分和多义的词向量生成方法流程示意图。本实施例中,根据资源文件生成词向量的方法包括以下步骤:

s101:获取当前业务场景下的词向量模型和资源文件,所述资源文件包括当前业务场景下多个语义对应的义元。

本实施例中,在确定了需要处理的文本信息属于哪种业务领域以后,首先需要获取当前业务场景下的词向量模型,一般可通过在服务器或数据库中调用已经建立好的词向量模型。这里的词向量模型是指由大量的词向量构成的集合,即通过训练语料,及当前业务场景中业务文档中出现的各词语之间的关联关系,得到的每个词语对应词向量构成的集合。

资源文件由于涵盖了全部词语的语义,因此其数据量非常巨大,为了便于数据的调用,在本申请提供的技术方案中,所述资源文件为当前业务场景下多个义元组成的文本。即在本申请中,可以只调用与当前业务场景对应的资源文件,对于那些与当前业务场景无关的词语,可在进行词向量的生成过程中不予考虑,从而减少数据处理量,便于实现动态生成词向量。

进一步地,由于资源文件的构建方式存在差异,资源文件的表现形式也存在着巨大的不同,例如,有些资源文件是由义元词语和数字构成的文本文件,有些资源文件则是以字段和值的形式构成的数据库文件。因此,在调用相应的资源文件过程中,可以根据当前业务场景的特定对资源文件中的内容进行筛选,确定符合当前业务场景下词语的语义和义元。

例如,对于文本形式的资源文件,可以在调用前,根据当前业务场景中的词语对资源文件中的内容进行检索,并提取出在当前业务场景中,能够用到的词语,对应的资源文件结构的数据,再将提取的数据汇总,构成用于当前业务场景,但总体大小比整个资源文件小的新资源文件。在后续的进一步生成词向量的过程中,只调用建立的新资源文件即可。

s102:根据所述词向量模型确定目标词对应的原始词向量;提取所述目标词在所述资源文件中对应的语义信息,所述语义信息包括多个语义下的义元以及每个义元出现的次数。

本实施例中,在获取了词向量模型后根据词向量模型确定目标词对应的词向量,由于确定的词向量是已经构建好的词向量,因此在本申请中称之为原始词向量。确定原始词向量的同时,本实施例还提取资源文件中目标词对应的语义信息,为了便于后续确定权重,提取的语义信息中包括义元和义元出现的次数。

例如,目标词“到”,其对应的资源文件结构为:

“到61功能词2功能词幅度2功能词达成1前往1到达1细心”;

根据上述资源文件结构,在提取语义信息时,得到义元及义元的出现次数为:“功能词”-3次、“幅度”-1次、“达成”-1次、“前往”-1次、“前往”-1次、“到达”-1次、“细心”-1次。

在确定了词向量模型并提取了语义信息后,本申请提供的技术方案需要根据词向量模型和语义信息确定生成词向量的运算权重,即:

s103:根据所述语义信息以及设定的目标词计算值确定运算权重。

进一步地,参见图2,本实施例中,根据所述语义信息以及设定的目标词计算值可以按照以下方式确定运算权重:

s1031:根据所述语义信息,统计当前目标词对应的所有语义下,义元以及每个义元出现的次数;

s1032:根据所有所述义元出现的总次数,以及与所述目标词计算值的和,确定权重计算的总值;

s1033:分别计算每个义元在所述语义信息中出现的次数与所述总值的比值,确定每个义元的运算权重以及目标词的运算权重。

本实施例中,确定运算权重需要对确定的语义信息下,所有语义下的义元和义元出现的次数进行统计,确定所有义元出现的总次数,再根据目标词计算值确定运算过程中的权值总值,再根据每个义元的出现次数与权值总值的比值确定,义元的运算权重。

在本申请提供的技术方案中,所述目标词计算值根据所述目标词的区别判断程度,等于1或者等于所述语义信息中所有义元出现次数的总和。即,如果在实际匹配过程中已构建的词向量匹配到语义相近的词较多,要求生成的词向量在目标词的判断上要具有区别性,因此在这种情况下,可以将所述目标词计算值设置为等于语义信息中所有义元出现次数的总和;如果在实际匹配过程中,不注重目标词的区别性,则在运算时取所述目标词计算值为1即可。

例如:目标词为“到”,在获取资源文件以及对应的语义信息后,根据语义信息统计目标词“到”对应的所有语义下,义元以及每个义元出现的次数,即:

“功能词”-3次、“幅度”-1次、“达成”-1次、“前往”-1次、“前往”-1次、“到达”-1次、“细心”-1次;

再计算目标词下,全部义元出现的总次数,即:

义元出现的总次数为:3+1+1+1+1+1+1=8。如果取目标词计算值为所有义元出现次数的总和,即为8,则计算出权值总值为:8+8=16。

根据计算的权值总值和每个义元的出现次数,计算权重,即:

义元对应词语的权重分别为:“功能词”权重wa=3/16,“幅度”权重为wb=1/16,“达成”权重为wc=1/16,……;

同时计算出目标词的权重w=8/16。

s104:根据所述运算权重,对所述原始词向量中每一维的值分别进行加权求和运算,生成所述目标词对应的新词向量。

本实施例中,得到运算权重后,可以根据得到的所有权重值以及每个词语的词向量值,确定目标词对应的新词向量,即:

新词向量的第一维的值x01=xa1×wa+xb1×wb+xc1×wc+……+x1×w;

新词向量的第二维的值x02=xa2×wa+xb2×wb+xc2×wc+……+x2×w;

……

新词向量的第n维的值x0n=xan×wa+xbn×wb+xcn×wc+……+xn×w;

示例地,如果在当前业务场景中目标词“到”的词向量为[0.563,0.727,-0.165,0.328,0.265,……];

义元对应词语“功能词”的词向量为[0.423,0.187,0.598,0.856,-0.796,……];

义元对应词语“幅度”的词向量为[0.598,0.326,-0.224,0.852,0.367,……];

依次确定所有义元的词向量,则可计算出新词向量中所有维度上的数值,即:

新词向量的第一维的值x01=0.423×3/16+0.598×1/16+……+0.563×8/16;

新词向量的第二维的值x02=0.187×3/16+0.326×1/16+……+0.727×8/16;

由以上技术方案可知,本实施例中词向量生成方法,在对原始词向量进行加权求和计算过程中,根据资源文件中,目标词的全部语义和义元出现的次数,从而改变了原始词向量中义元与目标词之间的距离,可以获得更符合当前业务场景的词向量,便于在后续应用中匹配准确的语义。

实施例二

本实施例与实施例一的区别在于,如图3所示,根据所述语义信息以及设定的目标词计算值确定运算权重的步骤中,包括:

s201:统计所述语义信息中,包含义元数量最多的语义对应的所有义元以及每个义元出现的次数;

s202:根据所有所述义元在包含义元数量最多的语义下出现的总次数,以及与所述目标词计算值的和,确定权重计算的总值;

s203:分别计算每个义元出现的次数与所述总值的比值,确定每个义元的运算权重以及目标词的运算权重。

本实施例中,确定运算权重需要对确定的语义信息下,包含义元数量最多的语义进行选取,即,可通过比较资源文件中各语义对应的数值进行识别和提取,逐一比较全部语义下这一数值的大小,从而选取出包含义元数量最多的语义。再对数量最多的语义下,对应的义元和义元出现的次数进行统计,确定所有义元出现的总次数。根据目标词计算值确定运算过程中的权值总值,再根据每个义元的出现次数与权值总值的比值确定,义元的运算权重。

需要说明的是,通过资源文件获取目标词对应义元个数最多的语义时,如果目标词对应资源文件中,语义中义元个数相同,或者义元数最多语义有多个时,在多个语义中选择第一个或者随机选取一个即可。进一步地,可以根据义元,在当前业务中出现的频率来确定选择选取哪个语义进行权重计算。

例如,目标词“到”,其对应的资源文件结构为:

“到61功能词2功能词幅度2功能词达成1前往1到达1细心”;

其中,包含义元数量最多的语义分别为“2功能词幅度”和“2功能词达成”,选择第一个语义进行计算,则确定对应语义中义元的出现次数为:

“功能词”-1次,“幅度”-1次;

相应地,计算出所有所述义元在包含义元数量最多的语义下出现的总次数为1+1=2,如果取目标词计算值为所有义元出现次数的总和,即为8,则计算出权值总值为:8+2=10。

根据计算的权值总值和每个义元的出现次数,计算权重,即:

义元对应词语的权重分别为:“功能词”权重wa=1/10,“幅度”权重为wb=1/10,目标词“到”的权重为w=8/10。再根据上述计算公式,对原始词向量进行加权求和,得到新词向量中,每一维对应的值。

由以上技术方案可知,本申请实施例二通过在资源文件中确定义元数量最多的语义,再根据包含义元数量最多的语义,逐一确定加权求和的权重,从而获得新词向量。相对于实施例一,本实施例可以在保证获得新词向量的同时,减少数据的计算和提取量,便于快速获得新词向量,实现词向量的动态生成。

基于以上两个实施例,本申请提供一种支持极性区分和多义的词向量生成装置,如图4所示,所示词向量生成装置包括:

获取单元1,用于获取当前业务场景下的词向量模型和资源文件,所述资源文件包括当前业务场景下多个语义对应的义元;

原始词向量确定单元2,用于根据所述词向量模型确定目标词对应的原始词向量;提取所述目标词在所述资源文件中对应的语义信息,所述语义信息包括每个语义下的义元以及每个义元出现的次数;

运算权重确定单元3,用于根据所述语义信息以及设定的目标词计算值确定运算权重;

新词向量生成单元4,用于根据所述运算权重,对所述原始词向量中每一维的值分别进行加权求和运算,生成所述目标词对应的新词向量。

上述两个实施例,适用于根据单个词生成新词向量的情况,能够改善反义词对后续匹配结果的影响。为了获得能够反应实际语义的新词向量,在实际应用中,还可以在生成词向量的过程中,以目标词的实际应用场景作为参考。

实施例三

参见图5,本实施例中,生成词向量的方法包括以下步骤:

s301:获取当前业务场景下的词向量模型和资源文件,以及获取包含目标词的语句文本,所述资源文件包括当前业务场景下多个语义对应的义元;

s302:根据所述词向量模型确定所述目标词对应的原始词向量;提取所述目标词在所述资源文件中对应的语义信息,所述语义信息包括多个语义下的义元以及每个义元出现的次数;

s303:在所述语句文本中确定所述目标词的临近词集,所述邻近词集为所述语句文本中与所述目标词邻近的多个词语集合;

s304:根据所述邻近词集与所述语义信息,确定与所述目标词在当前业务场景下的最关联语义,以及所述最关联语义下对应的每个义元出现次数;

s305:根据所述最关联语义下每个义元出现次数和设定的目标词计算值确定每个义元的运算权重以及目标词的运算权重;

s306:根据所述运算权重,对所述原始词向量中每一维的值分别进行加权求和运算,生成所述目标词对应的新词向量。

由以上步骤可知,本实施例与上述实施例的区别在于,在获取当前业务场景下的词向量模型和资源文件的同时,还获取包含目标词的语句文本。语句文本可以来源于当前业务场景中所使用的业务文档,即通过标点符号或者段落格式对业务文档进行断句,获得多个语句文本,从而在多个语句文本中提取出包含目标词的那一句。

本实施例中,在获取了包含目标词的语句文本以后,可在语句文本中确定所述目标词的临近词集,以便根据邻近词集与所述语义信息,确定与所述目标词在当前业务场景下的最关联语义,以及所述最关联语义下对应的每个义元出现次数。临近词集是指在语句文本的目标词前后,设定范围内的词语构成的集合。即,在获取了包含目标词的语句文本后,使用智能分词工具对语句文本进行分割,得到多个词语组成的分词结果,并从分词结果中选择符合要求的词语构成临近词集。

进一步地,如图6所示,根据所述邻近词集与所述语义信息,确定与所述目标词在当前业务场景下的最关联语义,包括:

s3031:设定窗口值,根据所述窗口值,在所述语句文本中提取所述目标词的邻近词集,所述邻近词集包括位于所述目标词之前的前文词,以及位于所述目标词之后的后文词;

s3032:根据所述原始词向量,分别计算所述邻近词集中每个前文词、每个后文词与每个所述义元之间的词语距离;

s3033:根据所述词语距离确定每个语义下的距离平均值;

s3034:对比每个语义下的距离平均值,确定所述距离平均值中最小值对应的语义为所述目标词的最关联语义。

本实施例中,在对含有目标词的语句文本进行分词后,设定一个窗口值。设定的窗口值,可以人为进行设定,也可以根据对语句文本的长度进行自动设定。由于在多数情况下,目标词相邻位置的词语最可能和目标词之间存在语义关联,因此在实际应用中,窗口值往往比较小。例如,可以选择1或者2。当窗口值为1时,在语句文本的分词结果中,提取目标词的前一个词为前文词,提取目标词的后一个词为后文词;当窗口值为2时,在语句文本的分词结果中,提取目标词的前两个词为前文词,提取目标词的后两个词为后文词。需要说明的是,当目标词在语句文本的句首或句尾时,则相应的只提取后文词和前文词,作为判断的依据。

在确定了前文词和后文词以后,本申请提供的技术方案可根据义元,以及前文词和后文词的词向量,确定各义元与前文词、后文词的关联关系。确定的依据为词向量之间的距离,为了便于区分,本实施例中称之为词语距离。词向量之间的距离越小,则说明两个词之间的关联性越高,在实际判断过程中,可以通过欧式距离或余弦距离的计算方式进行确定。

为了获得前文词、后文词与目标词各语义之间的关联关系,在本实施例中,先分别对每个义元词向量与前文词之间的距离进行判断,再对每个语义下,多个义元与前文词的距离取平均值,同样的方式再计算出后文词与每个语义下的多个义元的距离平均值,最后将两次得到的平均值再次计算取平均值,如此依次计算,得到每一个语义下的距离平均值。

例如,目标词为“苹果”,语句文本为“我想买一个苹果电脑”;

对语句文本进行分词,得到分词结果为“我/想/买/一个/苹果/电脑”,如果设定窗口值为1,则前文词为“一个”,后文词为“电脑”;

在资源文件中,确定目标词“苹果”的资源文件结构为:

“苹果35携带样式值特定牌子电脑能1水果3树水果生殖”;

可见,目标词“苹果”主要包括3个语义,即“5携带样式值特定牌子电脑能”、“1水果”、“3树水果生殖”。

依次对语义中义元与前文词进行距离计算,即:计算“携带”对应的词向量与“一个”对应的词向量之间的距离;计算“样式值”对应的词向量与“一次”之间的距离……,在计算了“能”与“一次”之间的距离后,对计算得到的距离求平均值。

再依次对语义中义元与后文词进行距离计算,即:计算“携带”与“电脑”,“样式值”与“电脑”……得到后文词对应的距离平均值。

最后根据两次计算的距离平均值再进行平均值计算,得到“5携带样式值特定牌子电脑能”对应语义下的距离平均值。最后对比每个语义下的距离平均值,确定所述距离平均值中最小值对应的语义为所述目标词的最关联语义。

进一步地,在确定了最关联语义后,如图7所示,本申请根据所述最关联语义下每个义元出现次数和设定的目标词计算值确定运算权重,包括:

s3051:根据所述语义信息,统计所述最关联语义下的义元,以及每个义元出现的次数;

s3052:根据所有所述义元在所述最关联语义下出现的总次数,以及与所述目标词计算值的和,确定权重计算的总值;

s3053:分别计算每个义元出现的次数与所述总值的比值,确定每个义元以及目标词的运算权重。

由以上步骤可知,本实施例在确定运算权重的步骤与上述实施例基本相同,区别在于根据语义信息统计最关联语义下义元出现的次数,再根据义元在最关联语义中出现的次数与设定的目标词计算值确定权值总值,以至于确定最关联语义下每个义元的运算权重。最后,本实施例根据原始词向量,义元的词向量以及所计算得到的运算权重,计算新词向量,计算的步骤与上述实施例相同,此处不再赘述。

进一步地,由于本实施例在生成新词向量时,可以根据词语距离确定目标词在当前业务场景下的真实语义,因此本实施例还可以直接对目标词的语义进行判断,具体为:

根据邻近词集中前文词与多个语义下义元之间的距离ai(x),以及后文词与多个语义下义元之间的距离bi(y),确定每个语义对应的距离值。再从每个语义对应的距离值中,确定距离最小的语义为当前业务场景下,目标词的真实语义。

其中,距离值包括余弦距离值cosθ和欧式距离d,当计算的距离值为余弦距离值时:

当计算的距离值为欧式距离时:

即,在本实施例中,可以通过确定目标词与语义对应义元之间的距离确定出目标词的真实含义,以便在匹配过程中直接进行调用。

例如,语句文本“我想买一个苹果电脑”,其中,目标词“苹果”与各语义之间的距离分别为:

语义1距离:0.52552,对应义元“携带样式值特定牌子电脑能”;

语义2距离:0.6278,对应义元“水果”;

语义3距离:0.64891,对应义元“树水果生殖”;

可见,目标词与语义1的距离最近,因此其真实语义确定为“携带样式值特定牌子电脑能”对应的语义。

基于实施例三,本申请还提供一种支持极性区分和多义的词向量生成装置,如图8所示,所示装置包括:

信息获取单元1,用于获取当前业务场景下的词向量模型和资源文件,以及获取包含目标词的语句文本,所述资源文件包括当前业务场景下多个语义对应的义元;

原始词向量确定单元2,用于根据所述词向量模型确定所述目标词对应的原始词向量;提取所述目标词在所述资源文件中对应的语义信息,所述语义信息包括每个语义下的义元以及每个义元出现的次数;

临近词集确定单元5,用于在所述语句文本中确定所述目标词的临近词集,所述邻近词集为所述语句文本中与所述目标词邻近的多个词语集合;

最关联语义确定单元6,用于根据所述邻近词集与所述语义信息,确定与所述目标词在当前业务场景下的最关联语义,以及所述最关联语义下对应的每个义元出现次数;

运算权重确定单元3,用于根据所述最关联语义下每个义元出现次数和设定的目标词计算值确定每个义元的运算权重以及目标词的运算权重;

新词向量生成单元4,用于根据所述运算权重,对所述原始词向量中每一维的值分别进行加权求和运算,生成所述目标词对应的新词向量。信息获取单元1,用于获取当前业务场景下的词向量模型和资源文件,以及获取包含目标词的语句文本,所述资源文件为当前业务场景下多个语义对应义元组成的文本;

由以上技术方案可知,本申请提供一种支持极性区分和多义的词向量生成方法及装置,在实际应用中,所述方法根据当前业务场景下已建立的词向量和资源文件,对目标词词向量中各维度的值进行加权运算,生成新词向量。方法分别通过对资源文件中所有义元数、包含义元数量最多的语义下的义元数,以及与包含目标词的语句文本中最关联语义下的义元数,确定新词向量中各维度值的运算权重,从而根据运算权重在目标词与义元的词向量之间进行加权求和,获得新词向量。

本申请提供的词向量生成方法,能够根据已构建的词向量模型和资源文件,动态生成新词向量,所生成的新词向量能够更加准确的反应实际业务场景的语义特点,并且由于在加权运算过程中,以语义信息作为基础确定运算权重,因此可以显著的改善反义词和一词多义情况对匹配结果的影响,解决传统方法构建的词向量在具有一词多义及反义词情况下容易匹配错误的问题。

本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本申请的保护范围。

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