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

一种确定相似语句的方法、装置及电子设备

文献发布时间:2023-06-19 13:29:16


一种确定相似语句的方法、装置及电子设备

技术领域

本申请涉及数据处理领域,尤其涉及一种确定相似语句的方法、装置及电子设备。

背景技术

对于当前的一些问答系统以及检索系统,本质都是在计算用户端输入问句与系统存储的多个问句之间的相近程度。如果用户端输入问句和系统存储的某个问句很相似,系统则直接返回该问句对应的答案至用户端。

目前的匹配模型使用了较为粗糙的字面匹配模型,当用户端输入一个问句,现有的匹配模型首先会对这个问句进行分词,得到该问句的分词序列,再将分词序列中所有的词语作为关键词,去知识库里查找包含这些关键词的所有问句,知识库中包括系统存储的问题与答案,将其作为结果返回给系统,没有考虑用户端输入问句的意图,因此该结果与用户端输入问句的期望结果有较大差异,导致返回的问答结果不准确,从而影响用户的体验。

发明内容

本申请提供了一种确定相似语句的方法、装置及电子设备,通过对相似语句进行意图分类,将意图识别文本中的相似语句转化为向量,在进行相似语句的匹配时,通过意图识别文本快速定位到输入语句的相似语句,保证匹配到的相似语句是符合用户意图的语句,减少了大量与用户意图不符合的相似语句,提高了返回至用户端的相似语句的准确度。

第一方面,本申请提供了一种确定相似语句的方法,所述方法包括:

在接收到用户端输入的第一语句时,将所述第一语句放入包含意图识别文本的初始文本库中进行匹配,获得所述第一语句的N个相似语句,其中,N为正整数;

计算N个相似语句中每个相似语句与所述第一语句的相似度值;

按照相似度值由大到小的规律对相似语句进行排序,并将排序后的相似语句返回至用户端。

在一种可能的设计中,将所述第一语句放入包含意图识别文本的初始文本库中进行匹配,包括:

将标准语句库中的每个语句添加标签以及将标准语句库中的每个语句转化为特征向量,其中,标签包含关键字标签和/或关键词标签,标准语句库为去除标点符号以及未识别字符的语句;

在所述标准语句库中将特征向量对应的语句按照预设规则进行分类,将分类后的语句作为所述意图识别文本;

将所述第一语句放入包含意图识别文本的初始文本库中进行匹配。

在一种可能的设计中,将标准语句库中的每个语句转化为特征向量,包括:

获取每个语句的关键词和/或关键字标签,根据所述语句的关键字和/或关键词标签的所属类型生成类型名称集;

提取标准语句库中每个语句的关键字和/或关键词所属类型的类型名称,将所述类型名称与所有类型名称集进行匹配并将匹配结果转化为第一向量,以及将标准语句库中的每个语句转化为第二向量;

将第一向量以及第二向量进行组合得到特征向量。

在一种可能的设计中,将标准语句库中的每个语句转化为第二向量,包括:

去除每个语句的标签中的部分标签,获得纯文本语句;

将纯文本语句转化为预设维数的第二向量。

第二方面,本申请提供了一种确定相似语句的装置,所述装置包括:

获取模块,用于按照在接收到用户端输入的第一语句时,将所述第一语句放入包含意图识别文本的初始文本库中进行匹配,获得所述第一语句的N个相似语句;

计算模块,用于计算N个相似语句中每个相似语句与所述第一语句的相似度值;

排序模块,用于按照相似度值由大到小的规律对相似语句进行排序,并将排序后的相似语句返回至用户端。

在一种可能的设计中,所述获得模块,具体用于将标准语句库中的每个语句添加标签以及将标准语句库中的每个语句转化为特征向量,其中,标签包含关键字标签和/或关键词标签,标准语句库为去除标点符号以及未识别字符的语句,在所述标准语句库中将特征向量对应的语句按照预设规则进行分类,将分类后的语句作为所述意图识别文本,将所述第一语句放入包含意图识别文本的初始文本库中进行匹配。

在一种可能的设计中,所述获得模块,还用于获取每个语句的关键词和/或关键字标签,根据所述语句的关键字和/或关键词的所属类型生成类型名称集,提取标准语句库中每个语句的关键字和/或关键词标签所属类型的类型名称,将所述类型名称与所有类型名称集进行匹配并将匹配结果转化为第一向量,以及将标准语句库中的每个语句转化为第二向量,将第一向量以及第二向量进行组合得到特征向量。

在一种可能的设计中,所述获得模块,还用于去除每个语句的标签中的部分标签,获得纯文本语句,将纯文本语句转化为预设维数的第二向量。

第三方面,本申请提供了一种电子设备,包括:

存储器,用于存放计算机程序;

处理器,用于执行所述存储器上所存放的计算机程序时,实现上述的一种确定相似语句的方法步骤。

第四方面,一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的一种确定相似语句的方法步骤。

上述第一方面至第四方面中的各个方面以及各个方面可能达到的技术效果请参照上述针对第一方面或第一方面中的各种可能方案可以达到的技术效果说明,这里不再重复赘述。

附图说明

图1为本申请提供的一种确定相似语句方法步骤的流程图;

图2为本申请提供的一种确定相似语句装置的结构示意图;

图3为本申请提供的一种电子设备的结构示意图。

具体实施方式

在以往的技术中,匹配模型采用的是较为粗糙的字面匹配模型,当用户端输入一个问句时,匹配模型会将这个问句进行分词操作,获得该问句的分词序列,再将分词序列中所有的词语作为关键词,去知识库里查找包含这些关键词的所有问句,获得字面相似度较高的相似语句,将该相似语句返回至用户端,由于没有考虑到用户的意图,所以返回的相似语句不符合用户的意图,造成返回的相似语句与用户期待的结果存在较大差异的问题,从而影响用户的体验。

为了解决上述的问题,本申请实施例提供了一种确定相似语句的方法,用以实现匹配到的相似语句符合用户的意图,提高了返回至用户端的相似语句的准确度。其中,本申请实施例所述方法和装置基于同一技术构思,由于方法及装置所解决问题的原理相似,因此装置与方法的实施例可以相互参见,重复之处不再赘述。

下面结合附图,对本申请实施例进行详细描述。

参照图1,本申请提供了一种确定相似语句的方法,该方法可以提高返回至用户端的相似语句的准确度,该方法的实现流程如下:

步骤S1:在接收到用户端输入的第一语句时,将所述第一语句放入包含意图识别文本的初始文本库中进行匹配,获得所述第一语句的N个相似语句。

在接收用户端输入的第一语句之前,为了实现返回至用户端的相似语句符合用户的意图,需要提前构建意图识别文本,再将意图识别文本置于初始文本库中,构建意图识别文本的具体过程如下:

意图识别文本由语句组成,因此需要获取原始语句样本,原始语句样本可以从智能客服机器人的问答语料以及搜索引擎的数据库中获取,在本申请实施例中,由于原始语句样本的来源具有多样性,这里不做过多解释。

获取到原始语句样本后,对原始语句样本中的每个语句进行预处理,预处理的方式可以为删除每个语句中的标点符号以及未识别字符,将删去标点符号以及未识别字符的语句放入标准语句库中,将标准语句库中的语句根据语义相似度进行两两配对,将两个语义相似度高的语句作为一个句对存储在标准语句库中,同时,为了确保搜索引擎中语句的多样性以及完整性,将标准语句库中的语句存储进搜索引擎中,因此用户端在输入语句时,搜索引擎中的语句可以作为查询的候选集。

在获得标准语句库后,为了快速定位到符合用户意图的相似语句,首先,需要对标准语句库中的每个语句添加标签,标签包含关键字标签和/或关键词标签,在本申请实施例中,标签的类型可以为M个,M为正整数,对每个语句的不同位置作上标记,并且,需要按照预设规则对标准语句库中的语句进行分类,预设规则可以为相同意图,作上标记以及分类完成的语句如表1的形式存储在标准文本库中,表1如下所示:

表1

在表1中,按照预设规则分类后,将标准语句库中的语句划分为意图1、意图2等,其中,税务和电子普票为关键词,[X]和[Y]为关键词标签,{‘entity’:B}为关键词的所属类型,在本申请实施例中,标准语句库中的语句可以划分为意图1、意图2等,也可以为划分为其他标识,每个意图对应的语句至少为一个,关键字和/或关键词标签后要表示出关键字和/或关键词标签的所属类型,由于数据过多,其他语句的存储可以参考表1,这里不做过多阐述。

对标准语句库中的每个语句作上标记后,为了系统更好的对语句进行识别,需要提取每个语句的特征向量,特征向量由第一向量以及第二向量组成,生成第一向量的具体过程如下:

获取标准语句库中每个语句的关键字和/或关键词标签的所属类型作为类型名称,提取关键字和/或关键词标签所属类型对应的关键字和/或关键词标签,将关键字和/或关键词标签对应的关键字和/或关键词作为类型名称中的元素,根据类型名称以及类型名称中的元素形成类型名称集,存储的类型名称以及类型名称中的元素如表2所示:

表2

在表2中存储了大量的类型名称以及类型名称对应的元素,由于数据过多,在本申请实施例中,类型名称以及类型名称对应的元素不依次列出,其他的类型名称以及类型名称对应的元素的存储方式可参考表2。

通过查找表2,能够获得每个语句中的关键字和/或关键词的所属类型,在用户端输入语句的匹配阶段,提取输入语句的关键词所属类型的第一向量,能够在意图识别文本中排除部分与用户端输入语句的所属意图的语句无关的相似语句,因此可以用第一向量表示相似语句所属标签的具体类型,达到缩小符合用户意图的相似语句的匹配范围的目的。

在本申请实施例中,为了得到第一向量,因此需要读取标签所属类型的数量,获取每个标签所属类型的类型名称,得到与标签所属类型数量一致的类型名称集。

在获得与标签所属类型数量一致的类型名称集后,用第一向量记录标准语句库中每个语句的关键字和/或关键词对应的标签的所属类型,若语句中有某一类型的标签,则在第一向量的对应位置上记为1,若语句中无某一类型的标签,则在第一向量的对应位置上记为0。

比如:标签的类型为A、B、C,标签的类型的数量为3,第一向量表示为[A,B,C],其中,若匹配的x语句中有标签A,则x语句对应的第一向量表示为[1,0,0];若匹配的y语句中有标签B,C,则y语句对应的第一向量表示为[0,1,1]。

获得标准语句库中每个语句的第一向量的同时,由于每个语句的特征向量由第一向量以及第二向量组成,因此,还需要获取每个语句的第二向量,第二向量为语句的向量表示形式,为了提取第二向量,将表1中每个语句的标签以及标签的所属类型删除,删除每个语句中的标签以及标签的所属类型后,获得纯文本语句,纯文本语句如表3所示:

表3

在获得纯文本句后,通过mitie开源工具将纯文本语句转化为向量形式,获得每个语句的第二向量。

获得第二向量之后,将第一向量与第二向量进行组合,得到语句的特征向量。

比如:x语句对应的第一向量为[1,1,0],x语句对应的纯文本向量为[0.1,0.2,......,0.8],x语句对应的特征向量为[0.1,0.2,......,0.8,1,1,0]。

按照上述方法,计算出标准语句库中每个语句的特征向量,将特征向量输入分类模型中,按照相同意图构建特征向量与意图的关联,获得包含关联的向量与意图的意图识别文本。

获得意图识别文本后,将意图识别文本置于初始文本库中,在接收到用户端输入的第一语句时,将第一语句放入初始文本库中进行匹配,获得第一语句的N个相似语句。在本申请实施例中,需要进行说明的是,第一语句在初始文本库中匹配到的相似语句来源于意图识别文本中的语句。

通过上述的方式,将意图识别文本中的语句作上标记并且进行分类,将杂乱的语句按照不同的意图进行归类,有利于快速锁定某一意图对应的语句,在匹配阶段,有利于缩小查找的范围,避免匹配出大量的无效语句。

步骤S2:计算N个相似语句中每个相似语句与所述第一语句的相似度值。

获得第一语句的N个相似语句之后,需要将第一语句以及N个相似语句转化为语义向量,第一语句转化为语义向量的步骤参考以上获得第二向量的方法,由于将第一语句转化为语义向量时的步骤描述与上述描述的内容有大量的重复,为了避免重复性内容过多,这里不作具体阐述。

将第一语句转化为语义向量形式之后,通过以下公式计算每个相似语句与第一语句的相似度,具体公式如下:

q·D

其中,q=[x

由于相似度的计算属于已经公开的技术,所以在本申请实施例中不作过多的阐述。

步骤S3:按照相似度值由大到小的规律对相似语句进行排序,并将排序后的相似语句返回至用户端。

通过上述描述的方法,在初始文本库中置入意图识别文本,将意图识别文本中的语句转化为向量形式,在匹配阶段,可以快速缩小用户输入语句的相似语句的查找范围,节省了匹配的时间,并且意图识别文本中的语句按照不同的意图进行划分,当用户端输入第一语句时,确保返回至用户端的相似语句符合用户的意图,提高了返回至用户端的相似语句的准确度。

基于本申请所提供的方法,在接收到用户端输入的第一语句时,将所述第一语句放入包含意图识别文本的初始文本库中进行匹配,获得所述第一语句的N个相似语句,计算N个相似语句中每个相似语句与所述第一语句的相似度值,按照相似度值由大到小的规律对相似语句进行排序,并将排序后的相似语句返回至用户端。通过上述的方法,将意图识别文本中的语句作上标记并进行分类,将意图识别文本中的语句转化为向量的形式,在语句匹配阶段,通过意图识别模型快速定位到语句的类别,从而避免了对全部语句进行检索造成匹配时间长的问题以及返回至用户端的相似语句不符合用户意图的问题,提高了返回至用户端的相似语句的准确度。

基于同一发明构思,本申请实施例中还提供了一种确定相似语句的装置,该确定相似语句的装置用于实现了一种确定相似语句方法的功能,参照图2,所述装置包括:

获取模块201,用于按照在接收到用户端输入的第一语句时,将所述第一语句放入包含意图识别文本的初始文本库中进行匹配,获得所述第一语句的N个相似语句;

计算模块202,用于计算N个相似语句中每个相似语句与所述第一语句的相似度值;

排序模块203,用于按照相似度值由大到小的规律对相似语句进行排序,并将排序后的相似语句返回至用户端。

在一种可能的设计中,所述获取模块201,具体用于将标准语句库中的每个语句添加标签以及将标准语句库中的每个语句转化为特征向量,其中,标签包含关键字标签和/或关键词标签,标准语句库为去除标点符号以及未识别字符的语句,在所述标准语句库中将特征向量对应的语句按照预设规则进行分类,将分类后的语句作为所述意图识别文本,将所述第一语句放入包含意图识别文本的初始文本库中进行匹配。

在一种可能的设计中,所述获取模块201,还用于获取每个语句的关键词和/或关键字标签,根据所述语句的关键字和/或关键词的所属类型生成类型名称集,提取标准语句库中每个语句的关键字和/或关键词标签所属类型的类型名称,将所述类型名称与所有类型名称集进行匹配并将匹配结果转化为第一向量,以及将标准语句库中的每个语句转化为第二向量,将第一向量以及第二向量进行组合得到特征向量。

在一种可能的设计中,所述获得模块201,还用于去除每个语句的标签中的部分标签,获得纯文本语句,将纯文本语句转化为预设维数的第二向量。

基于同一发明构思,本申请实施例中还提供了一种电子设备,所述电子设备可以实现前述一种确定相似语句的装置的功能,参考图3,所述电子设备包括:

至少一个处理器301,以及与至少一个处理器301连接的存储器302,本申请实施例中不限定处理器301与存储器302之间的具体连接介质,图3中是以处理器301和存储器302之间通过总线300连接为例。总线300在图3中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线300可以分为地址总线、数据总线、控制总线等,为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。或者,处理器301也可以称为控制器,对于名称不做限制。

在本申请实施例中,存储器302存储有可被至少一个处理器301执行的指令,至少一个处理器301通过执行存储器402存储的指令,可以执行前文论述的一种确定相似语句的方法。处理器301可以实现图2所示的装置中各个模块的功能。

其中,处理器301是该装置的控制中心,可以利用各种接口和线路连接整个该控制设备的各个部分,通过运行或执行存储在存储器302内的指令以及调用存储在存储器302内的数据,该装置的各种功能和处理数据,从而对该装置进行整体监控。

在一种可能的设计中,处理器301可包括一个或多个处理单元,处理器301可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器301中。在一些实施例中,处理器301和存储器302可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。

处理器301可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的一种确定相似语句方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器302作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器302可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器302是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器302还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。

通过对处理器301进行设计编程,可以将前述实施例中介绍的一种确定相似语句方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图1所示的实施例的一种确定相似语句的步骤。如何对处理器301进行设计编程为本领域技术人员所公知的技术,这里不再赘述。

基于同一发明构思,本申请实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行前文论述的一种确定相似语句方法。

在一些可能的实施方式中,本申请提供一种确定相似语句的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在装置上运行时,程序代码用于使该控制设备执行本说明书上述描述的根据本申请各种示例性实施方式的一种确定相似语句方法中的步骤。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

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

技术分类

06120113692771