掌桥专利:专业的专利平台
掌桥专利
首页

一种基于流形排序的未登录词处理方法、装置及存储介质

文献发布时间:2023-06-19 11:14:36


一种基于流形排序的未登录词处理方法、装置及存储介质

技术领域

本发明涉及智能问答,特别涉及一种基于流形排序的未登录词处理方法、装置及存储介质。

背景技术

在传统技术中,针对未登录词的处理方法主要有基于规则的方法和基于统计的方法。基于规则的方法综合未登录词的词性、前缀词素以及后缀词素等信息来为未登录词分配最可能的标签,这种方法的准确率一般较低;基于统计的方法是统计大量语料中的未登录词并将其表示放入一个词表中,然后在其他语料中遇到该词就使用这些未登录词在词表中的表示,这种方法的缺点是时间成本高,并且还是解决不了层出不穷的新词;在其它领域如机器翻译还有使用同义词来代替未登录词等方法,但这些方法都没有解决建表成本高等问题。

发明内容

为解决上述技术问题,本发明提供一种基于流形排序的未登录词处理方法、装置及存储介质,具体的技术方案如下:

一方面,提供一种基于流形排序的未登录词处理方法,包括:

获取语料训练集和未登录词;

根据所述语料训练集构建代价词典;

根据所述代价词典和所述未登录词生成子词序列;

使用流形排序法对所述子词序列进行排序,以获取最优子词;

输出所述最优子词作为所述处理结果。

优选地,所述根据所述代价词典和所述未登录词生成子词序列具体包括:

将所述未登录词按字符拆分,获取未登录词字符组;

根据所述代价词典,计算所述未登录词字符组的代价数组及其总代价;

对所述未登录词进行拆分,获取临时未登录词字符组;

根据所述代价词典,计算所述临时未登录词字符组的临时代价数组及临时代价;

判断所述总代价是否小于所述临时代价,若是,将所述临时未登录词字符组添加到的各字符的代价和添加到所述代价数组中,否则,所述临时未登录词字符组的总代价添加到所述代价数组中;

不断使用不同的拆分方法拆分所述未登录词,直到所述未登录词的所有拆分方式被遍历完毕。

优选地,根据所述语料训练集构建所述代价词典具体包括:

使用奇夫定律处理所述语料训练集以构建所述代价词典。

优选地,所述使用流形排序法对所述子词序列进行排序具体包括:

计算所述子词序列中所有的特征词词频,以构建词频序列y;

根据预设条件和所述子词序列构建条件共现度矩阵W;

根据所述条件共现度矩阵W计算对称归一化的相似度矩阵N;

根据所述相似度矩阵N和所述词频序列y、迭代函数迭代计算以获取所述词频序列y的相似度排序结果;

将所述相似度排序结果中最相似的子词作为最优子词。

进一步优选地,所述预设条件为

进一步优选地,所述根据所述条件共现度矩阵W计算对称归一化的相似度矩阵N具体包括:

根据D

进一步优选地,所述迭代函数为f(t-1)=αNf(t)+(1-α)y,其中,α的值域为[0,1],所述迭代函数收敛于

进一步优选地,所述流形排序法基于优化函数,

另一方面,提供一种电子装置,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器,用于执行所述存储器上所存放的计算机程序,实现所述一种基于流形排序的未登录词处理方法。

另一方面,一种存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现所述一种基于流形排序的未登录词处理方法。

本发明至少包括以下一项技术效果:

(1)通过使用动态规划的方法对未登录词进行分词得到子词序列,之后通过对子词序列使用流形排序算法进行排序,得到最优子词,使用该子词的向量来表示此未登录词,有效减小智能问答中未登录词信息流失的问题;

(2)通过使用动态规划的方法对未登录词进行分词得到子词序列,之后通过对子词序列使用流形排序算法进行排序,得到最优子词,使用该子词的向量来表示此未登录词,相对于传统技术性而言,有效的减少了建表成本。

附图说明

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

图1为本发明实施例1的流程示意图;

图2为本发明实施例2的流程示意图;

图3为本发明实施例3的流程示意图;

图4为本发明的整体结构示意图;

图5为本发明的动态规划流程示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所述描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素、组件和/或集合的存在或添加。

为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘出了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。

还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。

实施例1:

如图1、3所示,本实施例提供一种基于流形排序的未登录词处理方法,包括:

S1:获取语料训练集和未登录词;

S2:根据所述语料训练集构建代价词典;

S3:根据所述代价词典和所述未登录词生成子词序列;

S4:使用流形排序法对所述子词序列进行排序,以获取最优子词;

S5:输出所述最优子词作为所述处理结果。

未登录词指的是智能问答系统中词表里没有记录的词语,智能问答系统使用向量词表表示单词,词表中每个单词都有一个对应的向量,相近词语的向量相似度也相似,但因为网络新词很多,所以存在未登录词。在传统技术中,针对未登录词的处理方法主要有基于规则的方法和基于统计的方法。基于规则的方法综合未登录词的词性、前缀词素以及后缀词素等信息来为未登录词分配最可能的标签,这种方法的准确率一般较低;基于统计的方法是统计大量语料中的未登录词并将其表示放入一个词表中,然后在其他语料中遇到该词就使用这些未登录词在词表中的表示,这种方法的缺点是时间成本高,并且还是解决不了层出不穷的新词;在其它领域如机器翻译还有使用同义词来代替未登录词等方法,但这些方法都没有解决建表成本高等问题。

故在本实施例中,使用动态规划的方法对未登录词进行分词得到子词序列,之后通过对子词序列使用流形排序算法进行排序,得到最优子词,使用该子词的向量来表示此未登录词。

优选地,根据所述语料训练集构建所述代价词典具体包括:使用奇夫定律处理所述语料训练集以构建所述代价词典。

具体而言,首先,获取语料训练集和未登录词,语料训练集可以为英文的,也可以为中文的,或者是其他类型的语种,在实际的使用过程中,一般通过爬虫程序来获取语料以构建语料训练集,然后根据词频对语料训练集进行排序,然后根据奇夫定律则构建代价词典,具体而言,奇夫定律则具体为频率排名第一的单词出现的频率大约是排名第二位单词的两倍,而排名第二位的单词则是出现排名第四单词的两倍,单词的代价计算公式为:Cost

然后再根据代价词典和未登录词生成子词序列,进而得到一个子词序列,最后根据流形排序算法对子词序列进行排序,最后取排名中得分最高的单词做最优子词。流形排序是一种基于样本数据集的流形分布假设的排序算法,该算法是一个半监督学习的方法,即对于一个图模型,给定一些种子结点,根据结点之间的内在流形结构对每个结点进行排序,得到每个结点的最终排序得分。流形排序方法根据多个语料之间的流形结构对单词之间的相似度进行计算,首先根据语料库的结构,对流形结构图中的各结点做相似度排序。相似性排序的主要思想是对每个结点计算该节点与其它结点的相似度,此过程实质上是一种图学习的过程。流形排序算法用上述过程计算相似度最后进行排序,主要由图初始化及相似度计算与排序两个模块组成,也就是说,根据流形排序方法,综合考虑统和语义结构两个维度的信息,为多个候选词进行重要度排序。

在实施效果上,通过对比本实施例选取的子词与未登录词的向量夹角对比,可以看出得到的新向量与原未登录词的相似度相比以前的方法高很多,并且降低了系统中大量的未登录词,证明了本实施例的有效性。

下表为未登录词与其子词的向量夹角对比

下表为两个数据集上未登陆词比例:

通过对比其他实施例,本实施例在智能问答关系抽取任务上的准确率也有所提高:

通过时间性能试验,本实施例在两个数据集上分别有5.4S(12.3%)和5.9S(14.2)的提升。

关系抽取时间:

在本实施例中,通过信息对比实验以及智能问答匹配实验,证明了本方案得到的子词向量的相似度与原词相似度非常高,且使整个智能问答系统的准确率得到了有效的提高。

实施例2:

如图2、4、5所示,本实施例提供一种基于流形排序的未登录词处理方法,具体包括:

S1:获取语料训练集和未登录词;

S2:根据所述语料训练集构建代价词典;

S3-1:将所述未登录词按字符拆分,获取未登录词字符组;

S3-2:根据所述代价词典,计算所述未登录词字符组的代价数组及其总代价;

S3-3:对所述未登录词进行拆分,获取临时未登录词字符组;

S3-4:根据所述代价词典,计算所述临时未登录词字符组的临时代价数组及临时代价;

S3-5:判断所述总代价是否小于所述临时代价,若是,进入S3-6;否则,进入S3-7;

S3-6:将所述临时未登录词字符组添加到的各字符的代价和添加到所述代价数组中;

S3-7:所述临时未登录词字符组的总代价添加到所述代价数组中;

S3-8:判断所述未登录词的所有拆分方式是否被遍历完毕,否则,回到S3-3;

S4:使用流形排序法对所述子词序列进行排序,以获取最优子词;

S5:输出所述最优子词作为所述处理结果。

在本实施例中,使用动态规划的方法进行字词序列的生成,以未登录词“whitecoffee”为例。

首先计算该词的代价数组,置代价数组第一位C_array[0]为0,然后计算第一个字符“w”的代价,并与该字符所有可能的字符串的代价相比较,取最小的放入代价数组,例如“w”只有一种情况,所以C_array[1]为Cost[w]=9.2273224,第二个字符“h”的代价因为有两个字符串的情况“w”+“h”和“wh”,而Cost[w]+Cost[h]=9.2273224+8.7860027=18.0133,取其中最小值13.096018351,以此类推可得到未登录词“whitecoffee”的代价数组:[[0,9.227322400521313,13.096018351828421,19.67032970796061,13.599631067643815,8.262530146419405,15.902117370952112,17.530582158440907,19.058702043470937,24.217757342685466,29.297030357217277,18.52940269533045]]。

然后回溯恢复代价最低的字符串,可获得“whitecoffee”的C_space为:[(37.16763962063627,1),(36.00038961153261,2),(30.252829901108456,3),(inf,4),(inf,5),(18.52940269533045,6),(inf,7),(inf,8),(inf,9),(inf,10),(inf,11)],inf代表词表中无该词,所以代价为无限大,最后取代价最小的值(18.52940269533045,6)为分隔处,可获得第一个子词“coffee”,以此类推得到最优子词序列[white,coffee]。

实施例3:

如图3、4、5所示,本实施例提供一种基于流形排序的未登录词处理方法,具体包括:

S1:获取语料训练集和未登录词;

S2:根据所述语料训练集构建代价词典;

S3:根据所述代价词典和所述未登录词生成子词序列;

S4-1:计算所述子词序列中所有的特征词词频,以构建词频序列y;

S4-2:根据预设条件和所述子词序列构建条件共现度矩阵W;其中,所述预设条件为

S4-3:根据所述条件共现度矩阵W计算对称归一化的相似度矩阵N;优选地,根据D

S4-4:根据所述相似度矩阵N和所述词频序列y、迭代函数迭代计算以获取所述词频序列y的相似度排序结果;进一步优选地,所述迭代函数为f(t-1)=αNf(t)+(1-α)y,其中,α的值域为[0,1],所述迭代函数收敛于

S4-5:将所述相似度排序结果中最相似的子词作为最优子词;

S5:输出所述最优子词作为所述处理结果。

在本实施例中,流形算法的具体的内容如下:

输入:子词序列、语料词频。

输出:子词重要性排序。

step1:计算序列中所有特征词词频,并将词频序列作为特征词初始重要性排序y。

step2:按照

step3:按照D

step4:结合相似度矩阵N以及在step1中初始化的排序y,根据函数f(t+1)=αNf(t)+(1-α)y不断迭代计算出最终子词重要性排序。

具体如下:

各候选词的重要度基于词频进行初始化,关于词频的介绍,已在本文2.1节中详细阐述。已有研究发现,相比于如IG、CHI等传统监督学习方法,词频排序的特征词选择方法的效果反而更加突出。本方法根据统计维基百科语料的词频给候选词进行初始化,有:

y=[y

式中:y

通过结合语料中候选词的语义信息与位置信息构建语料网络图G=(V,E),其中V表示语料d的单词列表,其中每个单词表示语料图G中的一个结点v;E表示各个边e的集合,每条边e连接各个结点v,两个结点之间是否存在边取决于以下两点:①在原语料某一段落中是否有同时出现两个结点对应的特征词的情况出现;②比较两个结点条件共现度是否超过算法提前设定的阈值。条件共现度矩阵方法是魏伟等于2019年提出的一种词共现表示方法。相比于传统的词共现表示,条件共现度矩阵方法增加了对语料语义粒度信息和事实在相同段落中的相关词表示等因素的考量,也就是它保存了更多的语义结构信息,使得稳定性和效果都得到了比较明显的提升。条件共现度矩阵方法在传统方法的框架上计算候选词相对语料特征空间的条件概率。使用矩阵W=(ccodm

式中:p(B|A)表示候选词A与候选词B的共现概率,p(A)为候选词A在语料c里出现的几率,使用com

式中:S为语料c中的所有段落,f

初始化语料网络图G之后,记W=(ccodm

二次排序的本质是转移了语料图结构中候选词的权值。候选词以一定的概率将该词的重要度传递给与该词有边相连的多个候选词。使用词频来为语料中单词重要度进行初始化:y=[y

f(t+1)=αNf(t)+(1-α)y

式中:α的值域为[0,1]。候选词列表最初通过词频排序,在之后的每次计算中根据α计算重要度然后传递给邻接的所有单词。根据以上方法不断迭代,直到算法收敛,收敛结果为:

进一步优选地,所述流形排序法基于优化函数,

实施例4:

本实施例提供一种电子装置,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器,用于执行所述存储器上所存放的计算机程序,实现所述一种基于流形排序的未登录词处理方法。

所述设备可以为桌上型计算机、笔记本、掌上电脑、平板型计算机、手机、人机交互屏等设备。所述设备可包括,但不仅限于处理器、存储器。本领域技术人员可以理解,仅仅是设备的示例,并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,示例性的:设备还可以包括输入/输出接口、显示设备、网络接入设备、通信总线、通信接口等。通信接口和通信总线,还可以包括输入/输出接口,其中,处理器、存储器、输入/输出接口和通信接口通过通信总线完成相互间的通信。该存储器存储有计算机程序,该处理器用于执行存储器上所存放的计算机程序,实现上述实施例中的方法。

所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器可以是所述设备的内部存储单元,示例性的:设备的硬盘或内存。所述存储器也可以是所述设备的外部存储设备,示例性的:所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器还可以既包括所述设备的内部存储单元也包括外部存储设备。所述存储器用于存储所述计算机程序以及所述设备所需要的其他程序和数据。所述存储器还可以用于暂时地存储已经输出或者将要输出的数据。

通信总线是连接所描述的元素的电路并且在这些元素之间实现传输。示例性的,处理器通过通信总线从其它元素接收到命令,解密接收到的命令,根据解密的命令执行计算或数据处理。存储器可以包括程序模块,示例性的,内核(kernel),中间件(middleware),应用程序编程接口(Application Programming Interface,API)和应用。该程序模块可以是有软件、固件或硬件、或其中的至少两种组成。输入/输出接口转发用户通过输入/输出接口(示例性的,感应器、键盘、触摸屏)输入的命令或数据。通信接口将该设备与其它网络设备、用户设备、网络进行连接。示例性的,通信接口可以通过有线或无线连接到网络以连接到外部其它的网络设备或用户设备。无线通信可以包括以下至少一种:无线保真(WiFi),蓝牙(BT),近距离无线通信技术(NFC),全球卫星定位系统(GPS)和蜂窝通信等等。有线通信可以包括以下至少一种:通用串行总线(USB),高清晰度多媒体接口(HDMI),异步传输标准接口(RS-232)等等。网络可以是电信网络和通信网络。通信网络可以为计算机网络、因特网、物联网、电话网络。设备可以通过通信接口连接网络,设备和其它网络设备通信所用的协议可以被应用、应用程序编程接口(API)、中间件、内核和通信接口至少一个支持。

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

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

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

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序发送指令给相关的硬件完成,所述的计算机程序可存储于一介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述介质可以包括:能够携带所述计算机程序的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,示例性的:在某些司法管辖区,根据立法和专利实践,计算机可读的介质不包括电载波信号和电信信号。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的程序模块完成,即将所述装置的内部结构划分成不同的程序单元或模块,以完成以上描述的全部或者部分功能。实施例中的各程序模块可以集成在一个处理单元中,也可是各个单元单独物理存在,也可以两个或两个以上单元集成在一个处理单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序单元的形式实现。另外,各程序模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。

实施例5:

本实施例提供一种存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现所述一种基于流形排序的未登录词处理方法。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

相关技术
  • 一种基于流形排序的未登录词处理方法、装置及存储介质
  • 一种基于信号槽的线程间的事件处理方法、装置及存储介质
技术分类

06120112858922