平行语句库的创建方法、设备及计算机可读存储介质与流程

文档序号:15888518发布日期:2018-11-09 19:49阅读:143来源:国知局
平行语句库的创建方法、设备及计算机可读存储介质与流程

本发明涉及自然语言处理技术领域,尤其涉及一种平行语句库的创建方法、设备及计算机可读存储介质。

背景技术

平行语句可应用在机器翻译领域,平行语句可用在不同语种之间,用多个不同语种句子表达相同的语义;平行语句也可用在同一语种下,用多个不同表述的句子表达相同的语义。例如,“a产品的介绍”、“a产品是什么”以及“a产品怎么样”等都表示同一个语义,但是表述不同。由于自然语言本身的复杂性,某一个相同的语义可能会有多种不同的句子表述,这些不同的句子表述会对计算机理解句子的真实意图造成很大困难。尤其在智能问答领域,知识库的标准qa(questionandanswer,问题和答案)有限,因此对问题的描述也很有限。但是不同用户对同一语义问题的问法变化较大,例如词的不同、顺序不同、口语化等都增加了将用户所问问题映射到标准问题的难度。为了尽可能匹配到标准问题,需要尽可能多的为标准问题添加平行语句,尽可能多样化的描述标准问题。

目前为标准问题添加平行语句的方法是人工撰写,即以标准问题为基础,依靠知识库编辑人员的经验,编写尽可能多的不同表述的句子。例如,标准问题是“a产品介绍”,编辑人员可添加的平行语句包括:“a产品是什么”、“a产品怎么样”、“什么是a产品”等。但是人工撰写标准问题的平行语句效率低、且需要依赖编辑人员的经验,从而导致所编辑的平行语句与真实用户所问的问题存在差异。



技术实现要素:

本发明的主要目的在于提供一种平行语句库的创建方法、设备及计算机可读存储介质,旨在解决现有的在创建平行语句过程中,需要人工撰写标准问题对应的平行语句,导致编写平行语句效率低下,所编辑的平行语句与真实用户所问的问题存在差异的技术问题。

为实现上述目的,本发明提供一种平行语句库的创建方法,所述平行语句库的创建方法包括步骤:

当侦测到创建平行语句库的创建指令后,根据所述创建指令获取预设时长内用户触发的有效问句;

计算所述有效问句中每个词的词向量,根据所述词向量确定所述有效问句的句向量;

根据所述句向量对所述有效问句进行聚类,以确定各个所述有效问句对应的主题类;

将所述有效问句对应的主题类添加到预设的平行语句库中。

优选地,所述将所述有效问句对应的主题类添加到预设的平行语句库中的步骤之后,还包括:

当侦测到查询所述平行语句库的查询指令后,根据所述查询指令获取预设的标准问句;

在所述平行语句库中查找与所述标准问句对应的待推荐平行语句;

将所述待推荐平行语句显示在显示界面中,并检测是否侦测到确认所述待推荐平行语句为所述标准问句的平行语句的确认指令;

若侦测到所述确认指令,则将所述待推荐平行语句添加至所述标准问句所在的主题类中。

优选地,所述在所述平行语句库中查找与所述标准问句对应的待推荐平行语句的步骤包括:

计算所述标准问句与所述平行语句库中每一所述主题类主句之间的相似度;

获取与所述标准问句相似度大于第一预设阈值的主句对应的主题类,记为目标主题类;

获取所述目标主题类中与所述标准问句之间的相似度大于第二预设阈值的平行语句,得到待推荐平行语句。

优选地,所述获取所述目标主题类中与所述标准问句之间的相似度大于第二预设阈值的平行语句,得到待推荐平行语句的步骤之前,还包括:

确定所述目标主题类中已推荐过的平行语句、携带有预设标注信息的平行语句;

所述获取所述目标主题类中与所述标准问句之间的相似度大于第二预设阈值的平行语句,得到待推荐平行语句的步骤包括:

获取所述目标主题类中除所述已推荐过的平行语句、携带有预设标注信息的平行语句外,与所述标准问句之间的相似度大于第二预设阈值的平行语句,得到待推荐平行语句。

优选地,所述将所述有效问句对应的主题类添加到预设的平行语句库中的步骤包括:

确定所述有效问句对应主题类中的主句,记为第一主句,并获取预设的平行语句库中各个主题类的主句,记为第二主句;

计算所述第一主句和所述第二主句之间的相似度,并获取所述相似度中的最大值;

若所述最大值大于或者等于第二预设阈值,则将所述第一主句所在主题类中的有效问句添加至所述最大值对应的第二主句所在的主题类中;

若所述最大值小于所述第二预设阈值,则将所述第一主句所在的主题类作为新的主题类添加至所述平行语句库中。

优选地,所述确定所述有效问句对应主题类中的主句,记为第一主句的步骤包括:

获取所述有效问句对应主题类中各个有效问句的显示频数;

获取各个主题类中显示频数最高的有效问句,将所述显示频数最高的有效问句记为对应主题类的第一主句。

优选地,所述计算所述第一主句和所述第二主句之间的相似度的步骤包括:

将所述第一主句和所述第二主句转换成对应的第一向量序列和第二向量序列;

将所述第一向量序列和所述第二向量序列输入至预设的双向长短期记忆网络中,以得到所述第一主句和所述第二主句之间的相似度。

优选地,所述计算所述有效问句中每个词的词向量,根据所述词向量确定所述有效问句的句向量的步骤包括:

计算所述有效问句中每个词的词向量,根据所述词向量确定每一所述有效问句中所有词的词向量均值或词向量中值;

将所述词向量均值或所述词向量中值作为所述有效问句的句向量。

此外,为实现上述目的,本发明还提供一种平行语句库的创建设备,所述平行语句库的创建设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的平行语句库的创建程序,所述平行语句库的创建程序被所述处理器执行时实现如上所述的平行语句库的创建方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有平行语句库的创建程序,所述平行语句库的创建程序被处理器执行时实现如上所述的平行语句库的创建方法的步骤。

本发明通过获取预设时长内的有效问句,对有效问句进行聚类,确定各个有效问句对应的主题类,将有效问句对应的主题类添加到平行语句库中,实现了平行语句库的自动创建,不需要人工创建平行语句库,提高了平行语句的生成效率,并以真实用户触发的问句作为创建平行语句库的基础,使所创建平行语句库中的平行语句符合真实用户的问句模式,降低了平行语句与真实用户问句模式之间的差异性,提高了通过知识库回答用户问题的准确率。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的结构示意图;

图2为本发明平行语句库的创建方法第一实施例的流程示意图;

图3为本发明平行语句库的创建方法第二实施例的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的结构示意图。

需要说明的是,图1即可为平行语句库的创建设备的硬件运行环境的结构示意图。本发明实施例平行语句库的创建设备可以是pc,便携计算机等终端设备。

如图1所示,该平行语句库的创建设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的平行语句库的创建设备结构并不构成对平行语句库的创建设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及平行语句库的创建程序。其中,操作系统是管理和控制平行语句库的创建设备硬件和软件资源的程序,支持平行语句库的创建程序以及其它软件或程序的运行。

在图1所示的平行语句库的创建设备中,用户接口1003主要用于获取用户输入的有效问句、操作指令、以及输出提示信息等;网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信,如查找待回答问题对应的答案;而处理器1001可以用于调用存储器1005中存储的平行语句库的创建程序,并执行以下操作:

当侦测到创建平行语句库的创建指令后,根据所述创建指令获取预设时长内用户触发的有效问句;

计算所述有效问句中每个词的词向量,根据所述词向量确定所述有效问句的句向量;

根据所述句向量对所述有效问句进行聚类,以确定各个所述有效问句对应的主题类;

将所述有效问句对应的主题类添加到预设的平行语句库中。

进一步地,所述将所述有效问句对应的主题类添加到预设的平行语句库中的步骤之后,处理器1001还可以用于调用存储器1005中存储的平行语句库的创建程序,并执行以下步骤:

当侦测到查询所述平行语句库的查询指令后,根据所述查询指令获取预设的标准问句;

在所述平行语句库中查找与所述标准问句对应的待推荐平行语句;

将所述待推荐平行语句显示在显示界面中,并检测是否侦测到确认所述待推荐平行语句为所述标准问句的平行语句的确认指令;

若侦测到所述确认指令,则将所述待推荐平行语句添加至所述标准问句所在的主题类中。

进一步地,所述在所述平行语句库中查找与所述标准问句对应的待推荐平行语句的步骤包括:

计算所述标准问句与所述平行语句库中每一所述主题类主句之间的相似度;

获取与所述标准问句相似度大于第一预设阈值的主句对应的主题类,记为目标主题类;

获取所述目标主题类中与所述标准问句之间的相似度大于第二预设阈值的平行语句,得到待推荐平行语句。

进一步地,所述获取所述目标主题类中与所述标准问句之间的相似度大于第二预设阈值的平行语句,得到待推荐平行语句的步骤之前,处理器1001还可以用于调用存储器1005中存储的平行语句库的创建程序,并执行以下步骤:

确定所述目标主题类中已推荐过的平行语句、携带有预设标注信息的平行语句;

所述获取所述目标主题类中与所述标准问句之间的相似度大于第二预设阈值的平行语句,得到待推荐平行语句的步骤包括:

获取所述目标主题类中除所述已推荐过的平行语句、携带有预设标注信息的平行语句外,与所述标准问句之间的相似度大于第二预设阈值的平行语句,得到待推荐平行语句。

进一步地,所述将所述有效问句对应的主题类添加到预设的平行语句库中的步骤包括:

确定所述有效问句对应主题类中的主句,记为第一主句,并获取预设的平行语句库中各个主题类的主句,记为第二主句;

计算所述第一主句和所述第二主句之间的相似度,并获取所述相似度中的最大值;

若所述最大值大于或者等于第二预设阈值,则将所述第一主句所在主题类中的有效问句添加至所述最大值对应的第二主句所在的主题类中;

若所述最大值小于所述第二预设阈值,则将所述第一主句所在的主题类作为新的主题类添加至所述平行语句库中。

进一步地,所述确定所述有效问句对应主题类中的主句,记为第一主句的步骤包括:

获取所述有效问句对应主题类中各个有效问句的显示频数;

获取各个主题类中显示频数最高的有效问句,将所述显示频数最高的有效问句记为对应主题类的第一主句。

进一步地,所述计算所述第一主句和所述第二主句之间的相似度的步骤包括:

将所述第一主句和所述第二主句转换成对应的第一向量序列和第二向量序列;

将所述第一向量序列和所述第二向量序列输入至预设的双向长短期记忆网络中,以得到所述第一主句和所述第二主句之间的相似度。

进一步地,所述计算所述有效问句中每个词的词向量,根据所述词向量确定所述有效问句的句向量的步骤包括:

计算所述有效问句中每个词的词向量,根据所述词向量确定每一所述有效问句中所有词的词向量均值或词向量中值;

将所述词向量均值或所述词向量中值作为所述有效问句的句向量。

基于上述的结构,提出平行语句库的创建方法的各个实施例。平行语句库的创建方法应用于平行语句库的创建设备,平行语句库的创建设备可为pc,便携计算机等终端设备。为了描述的简便,在以下平行语句库的创建方法的各个实施例中,省略平行语句库的创建设备这个执行主体。

参照图2,图2为本发明平行语句库的创建方法较佳实施例的流程示意图。

本发明实施例提供了平行语句库的创建方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

平行语句库的创建方法包括:

步骤s10,当侦测到创建平行语句库的创建指令后,根据所述创建指令获取预设时长内用户触发的有效问句。

当侦测到创建平行语句库的创建指令后,根据创建指令获取预设时长内用户触发的有效问句。其中,该创建指令由平行语句库的创建设备根据定时任务定时触发,该定时任务对应的时长可根据具体需要而设置。如可设置为每间隔10天、15天或者30天等。预设时长可设置为与定时任务对应的时长一致,或者设置为与定时任务不一致。有效问句为符合问句条件的问句,有效问句为预设时长内用户在智能问答系统中所问的问题。其中,智能问答系统可应用于平行语句库的创建中,它可以自动回答用户所提的问题。智能问答系统包括平行语句库和知识库,在知识库中存储有标准问句。

获取预设时长内有效问句的过程为:获取数据库中预设时长内的问句,判断所获取的问句的字符数是否在预设范围内,以及判断所获取的问句是否全是数字和/或全部是字母。若所获取的问句的字符数在预设范围内,且所获取的问句未含有数字和/或字母,或者只含有部分数字和/或部分字母,则确定所获取的问句为有效问句。若所获取的问句的字符数未在预设范围内,和/或所获取的问句全部都是字母和/或数字,则确定所获取的问句为无效问句。其中,预设范围可根据具体需要而设置,如可设置为6个字符至40个字符,或者设置为8个字符至50个字符等。

进一步地,还可以判断所获取的问句是否存在非法字符,如判断所获取的问句是否存在脏话。若所获取的问句存在脏话,则确定所获取的问句为无效问句。

进一步地,为了减少计算有效问句的词向量的计算量,在获取到有效问句后,删除有效问句中的空格、数字编号等无用信息。如当某个有效问句为“1、a产品怎么样”,则删除该有效问句中的编号“1”和符号“、”。

步骤s20,计算所述有效问句中每个词的词向量,根据所述词向量确定所述有效问句的句向量。

当获取到有效问句后,对有效问句进行分词,得到有效问句中的各个词,并计算有效问句中每个词的词向量,根据该词向量确定有效问句的句向量。其中,对有效问句进行分词的分词算法包括但不限于基于词典的分词算法、基于统计的分词算法和基于规则的分词算法。在本申请的实施例中,通过word2vec计算有效问句中每个词的词向量。word2vec可以在百万数量级的词典和上亿的数据集上进行高效地训练,word2vec工具得到的训练结果——词向量(wordembedding),可以很好地度量词与词之间的相似性。在word2vec中,word2vec主要分为cbow(continuousbagofwords)和skip-gram两种模型。cbow是从原始语句推测目标字词,cbow模型等价于一个词袋模型的向量乘以一个embedding矩阵,从而得到一个连续的embedding向量;而skip-gram正好相反,是从目标字词推测出原始语句。可以理解的是,在本实施例中,语言处理工具也可为其它可以实现与word2vec同样功能的工具。

进一步地,步骤s20包括:

步骤a,计算所述有效问句中每个词的词向量,根据所述词向量确定每一所述有效问句中所有词的词向量均值或词向量中值。

步骤b,将所述词向量均值或所述词向量中值作为所述有效问句的句向量。

当计算出有效问句中每个词的词向量后,根据词向量对应确定每一有效问句中所有词的词向量均值或词向量中值。在确定有效问句中所有词的词向量均值过程中,将有效问句中所有词的词向量对应的值相加,然后除以该有效问句中词的数量,对应得到词向量均值。在确定有效问句中所有词的词向量中值过程中,将有效问句中所有词向量的模按照从小到大的顺序排序,取排列在中间的模对应词向量作为词向量中值。

当确定有效问句中所有词的词向量均值或词向量中值后,将词向量均值或者词向量中值对应作为有效问句的句向量。进一步地,也可获取有效问句中所有词向量模的最大值或者最小值,将词向量模的最大值或最小值对应的词向量对应作为有效问句的句向量。

如当某个有效问句有7个词时,对应的词向量分别为时(在计算过程中,都是以各个向量的模来进行计算),则可将作为该有效问句的句向量。若根据这7个词的词向量模按照从小到大的顺序排序后,所得排序结果为:则确定为该有效问句的句向量。

步骤s30,根据所述句向量对所述有效问句进行聚类,以确定各个所述有效问句对应的主题类。

当确定有效问句的句向量后,根据各个有效问句的句向量对所获取的有效问句进行聚类,得到各个有效问句对应的簇,以确定各个有效问句对应的主题类。可以理解的是,一个簇为一个主题类,每个簇中的有效问句表达同一个语义。对有效问句进行聚类就是对有效问句进行分类,即将所获取的有效问句按照语义进行分类,将表达同一语义的有效问句划分为同一类。需要说明的是,任意两个簇之间,即任意两个主题类之间的聚类中心相似度应小于预设阈值,聚类中心为对应主题类中作为聚类基准的有效问句,聚类中心对应的有效问句可根据具体需要预先设置好。预设阈值可根据具体需要而设置,在本实施例中不做具体限制。

其中,根据各个有效问句的句向量对所获取的有效问句进行聚类所用的聚类算法包括但不限于k-means(k均值)聚类、均值漂移聚类、基于密度的聚类方法(dbscan)和用高斯混合模型(gmm,adaptivebackgroundmixturemodelsforreal-timetracking)的最大期望(em,expectationmaximizationalgorithm)聚类。

步骤s40,将所述有效问句对应的主题类添加到预设的平行语句库中。

当确定所获取的有效问句对应的主题类后,将有效问句对应的主题类添加到预设的平行语句库中。可以理解的是,在将有效问句对应的主题类添加到预设的平行语句库中,是将该主题类中所包含的有效问句作为一个主题类添加至预设的平行语句库中。在预设的平行语句库中,已经存在有不同主题类的平行语句。平行语句库是由平行语句对应的主题类组成的,一个主题类中包括至少两种表示同一个语义,但表述不同的平行语句。

进一步地,步骤s40包括:

步骤c,确定所述有效问句对应主题类中的主句,记为第一主句,并获取预设的平行语句库中各个主题类的主句,记为第二主句。

进一步地,当确定所获取的有效问句对应的主题类后,确定有效问句对应主题类中的主句,并将有效问句对应主题类的主句记为第一主句,以及获取预设的平行语句库中已有主题类的主句,并将平行语句库中主题类的主句记为第二主句。

进一步地,所述确定所述有效问句对应主题类中的主句,记为第一主句的步骤包括:

步骤c1,获取所述有效问句对应主题类中各个有效问句的显示频数。

进一步地,确定有效问句对应主题类的主句的过程为:获取有效问句对应主题类中各个有效问句的显示频数,即获取所确定的主题类中所有有效问句的显示频数。其中,显示频数为该有效问句在预设时长内被用户询问的次数,即当一个用户问一次该有效问句时,在对应有效问句的计数器上加1。

步骤c2,获取各个主题类中显示频数最高的有效问句,将所述显示频数最高的有效问句记为对应主题类的第一主句。

当获取到主题类中各个有效问句的显示频数后,获取各个主题类中显示频数最高的有效问句,并将显示频数最高的有效问句记为对应主题类的主句,即将显示频数最高的有效问句记为对应主题类的第一主句。

进一步地,为了提高确定第一主句的准确率,在获取到各个主题类中显示频数最高的有效问句后,将显示频数最高的有效问句记为目标主句,并判断各个主题类中是否存在至少两个目标主句。若某个主题类中存在至少两个目标主句,则获取该主题类中目标主句的字数,将目标主句字数多的目标主句记为该主题类的第一主句;若各个主题类中都只存在一个目标主句,则将该目标主句记为该主题类的第一主句。

进一步地,在确定主题类对应的第一主句过程中,还可直接获取各个主题类中的有效问句的显示频数和字数,然后根据显示频数和字数之间的权重对应计算各个有效问句的分值,将得分最高的有效问句记为对应主题类的第一主句。其中,显示频数和字数之间的权重可根据具体需要而设置,如可将显示频数和字数之间的权重设置为6:4,或者设置为7:3等。不同的显示频数和字数对应着不同的分数。

步骤d,计算所述第一主句和所述第二主句之间的相似度,并获取所述相似度中的最大值。

当确定第一主句和第二主句后,计算第一主句和第二主句之间的相似度,并获取第一主句和第二主句之间相似度的最大值。需要说明的是,预设的平行语句库中含有至少两个主题类,一个主题类有一个主句,由于平行语句库中存在至少两个主题类,因此,在本实施例中至少存在两个第二主句。第一主句的个数与所确定的有效问句对应的主题类的个数相等。如当根据所获取的有效问句确定的主题类有3个,则第一主句的个数也为3个;当根据所获取的有效问句确定的主题类有5个,则第一主句的个数也为5个。

进一步地,步骤d包括:

步骤d1,将所述第一主句和所述第二主句转换成对应的第一向量序列和第二向量序列。

进一步地,计算第一主句和第二主句之间相似度的过程为:将第一主句转成第一向量序列,以及将第二主句转成第二向量序列。具体地,可通过word2vec工具将第一主句和第二主句转换成对应的第一向量序列和第二向量序列。在通过word2vec工具将第一主句和第二主句转换成对应的第一向量序列和第二向量序列过程中,可按照第一主句和第二主句中各个词的排列顺序,将各个词的词向量进行排列,得到对应的第一向量序列和第二向量序列。

步骤d2,将所述第一向量序列和所述第二向量序列输入至预设的双向长短期记忆网络中,以得到所述第一主句和所述第二主句之间的相似度。

当得到第一向量序列和第二向量序列后,将第一向量序列和第二向量序列输入至预设的双向长短期记忆网络(lstm,longshort-termmemory)中,得到双向长短期记忆网络输出的值。可以理解的是,双向长短期记忆网络输出的值即为第一主句和第二主句之间的相似度。其中,双向长短期记忆网络是预先创建好的。在创建双向长短期记忆网络过程中,获取相似语料库。在相似语料库中,已经由相应的用户为每两个句子之间设置对应的相似度值。如“今天天气很好”和“今天天气晴朗”相似度值为1;“今天天气很好”和”今天天气很差”相似度值为0。在本实施例中,双向长短期记忆网络输出的值的范围为0至1,双向长短期记忆网络输出的值越高,表示两个句子之间的越相似。

在获取到相似语料库后,将语料库中的任意两个句子转换成对应的向量序列,输入至双向长短期记忆网络中,使双向长期短期记忆网络输出与这两个句子对应的相似度值,以构建双向长短期记忆网络。

步骤e,若所述最大值大于或者等于第二预设阈值,则将所述第一主句所在主题类中的有效问句添加至所述最大值对应的第二主句所在的主题类中。

步骤f,若所述最大值小于所述第二预设阈值,则将所述第一主句所在的主题类作为新的主题类添加至所述平行语句库中。

当确定第一主句和第二主句之间相似度的最大值后,判断第一主句和第二主句之间的相似度最大值是否大于或者等于第二预设阈值。若第一主句和第二主句之间相似度的最大值大于或者等于第二预设阈值,则将第一主句所在主题类中的有效问句添加至最大值对应的第二主句所在的主题类中;若第一主句和第二主句之间相似度的最大值小于第二预设阈值,则将第一主句所在的主题类作为新的主题类添加至平行语句库中。可以理解的是,在将第一主句所在的主题类作为新的主题类添加至平行语句库中,是将第一主句所在的主题类中所有的有效问句作为新的主题类添加至平行语句库中。其中,第二预设阈值可根据具体需要而设置,在本实施例中不做具体限制。

如当存在3个第一主句a1、a2和a3,存在3个第二主句b1、b2和b3时,在计算第一主句和第二主句之间的相似度后,会得到9个相似度,分别为a1与b1、b2、b3之间的相似度,a2与b1、b2、b3之间的相似度和a3与b1、b2、b3之间的相似度。若在a1与b1、b2、b3之间的相似度中,a1和b1之间相似度的值为最大值,记为第一最大值;在a2与b1、b2、b3之间的相似度中,a2和b3之间相似度的值为最大值,记为第二最大值;在a3与b1、b2、b3之间的相似度中,a3和b2之间相似度的值为最大值,记为第三最大值,且第一最大值和第二最大值大于或者等于第二预设阈值,第三最大值小于第二预设阈值,则将a1所在的主题类a01中的有效问句添加至b1所在的主题类中,将a2所在的主题类a02中的有效问句添加至b3所在的主题类中,将a3所在的主题类a03作为平行语句库中新的主题类。

进一步地,当确定各个有效问句对应的主题类后,也可以不考虑平行语句库中已有的主题类,直接将所确定的主题类添加至平行语句库中。

本实施例通过获取预设时长内的有效问句,对有效问句进行聚类,确定各个有效问句对应的主题类,将有效问句对应的主题类添加到平行语句库中,实现了平行语句库的自动创建,不需要人工创建平行语句库,提高了平行语句的生成效率,并以真实用户触发的问句作为创建平行语句库的基础,使所创建平行语句库中的平行语句符合真实用户的问句模式,降低了平行语句与真实用户问句模式之间的差异性,提高了通过知识库回答用户问题的准确率。

进一步地,提出本发明平行语句库的创建方法第二实施例。

所述平行语句库的创建方法第二实施例与所述平行语句库的创建方法第一实施例的区别在于,参照图3,平行语句库的创建方法还包括:

步骤s50,当侦测到查询所述平行语句库的查询指令后,根据所述查询指令获取预设的标准问句。

实时或者定时检测是否侦测到查询平行语句库的查询指令。当侦测到查询平行语句库的查询指令后,根据该查询指令获取预设的标准问句。其中,标准问句可根据具体需要而设置,一个主题类可存在一个或者多个标准问句。

步骤s60,在所述平行语句库中查找与所述标准问句对应的待推荐平行语句。

当获取到标准问句后,在平行语句库中查找与标准问句对应的待推荐平行语句。可以理解的是,当获取到标准问句后,确定标准问句所在的主题类,将该主题类中的平行语句作为标准问句对应的待推荐平行语句。

进一步地,步骤s60包括:

步骤h,计算所述标准问句与所述平行语句库中每一所述主题类主句之间的相似度。

进一步地,在平行语句库中查找与标准问句对应的待推荐平行语句的过程可为:获取平行语句库中每一主题类的主句,并计算标准问句与平行语句库中每一主题类的主句之间的相似度。计算标准问句与平行语句库中每一主题类的主句之间的相似度所用的算法与计算第一主句和第二主句之间的相似度算法一致,在本实施例中不再赘述。

在获取平行语句库中主题类的主句过程中,可判断平行语句库中每一主题类中各个平行语句是否携带主句标识。若某个平行语句携带主句标识,则确定携带主句标识的平行语句为对应主题类的主句。其中,主句标识的具体表现形式可根据具体需要而设置,在本实施例中不做限制。

步骤i,获取与所述标准问句相似度大于第一预设阈值的主句对应的主题类,记为目标主题类。

当计算出标准问句与平行语句库中每一主题类主句之间的相似度后,判断各个主题类主句与标准问句之间的相似度是否大于第一预设阈值,若主题类的主句与标准问句之间的相似度大于第一预设阈值,则获取与标准问句之间相似度大于第一预设阈值的主句对应的主题类,将与标准问句之间的相似度大于第一预设阈值的主句对应的主题类记为目标主题类。其中,第一预设阈值可根据具体需要而设置,第一预设阈值可与第二预设阈值相等,也可与第二预设阈值不相等。可以理解的是,目标主题类可为一个或者多个。

步骤j,获取所述目标主题类中与所述标准问句之间的相似度大于第二预设阈值的平行语句,得到待推荐平行语句。

当确定目标主题类后,获取目标主题类中的平行语句,并计算目标主题类中平行语句与标准问句之间的相似度,并确定目标主题类中,平行语句与标准问句之间的相似度大于第二预设阈值对应的平行语句,得到待推荐平行语句。需要说明的是,与标准问句之间的相似度大于第二预设阈值的平行语句即为待推荐平行语句。计算标准问句与目标主题类的平行语句之间的相似度所用的算法与计算第一主句和第二主句之间的相似度算法一致,在本实施例中不再赘述。

如若确定目标主题类为p,标准问句为q时,若目标主题类中存在p1、p2、p3、p4、p5和p6这6个平行语句,但只有p1、p3和p4与q之间的相似度大于第二预设阈值,则确定p1、p3和p4为待推荐平行语句。

步骤s70,将所述待推荐平行语句显示在显示界面中,并检测是否侦测到确认所述待推荐平行语句为所述标准问句的平行语句的确认指令。

当得到待推荐平行语句后,将待推荐平行语句显示在显示界面中,并检测是否侦测到确认待推荐平行语句为标准问句的平行语句的确认指令。其中,该确认指令是由触发查询指令对应的用户所触发的。当将待推荐平行语句显示在显示界面中后,输出提示信息,以根据该提示信息提示确认待推荐平行语句是否为标准问句的平行语句。如可在显示界面中显示“接受”和“不接受”对应的按钮,当侦测到点击“接受”按钮的点击操作时,确定待推荐平行语句为标准问句的平行语句;当侦测到点击“不接受”按钮的点击操作时,确定待推荐平行语句不是标准问句的平行语句。

进一步地,为了便于查询用户快速查找到标准问句的平行语句,在将待推荐平行语句显示在显示界面过程中,计算各个待推荐平行语句与标准问句之间的相似度,将待推荐平行语句按照各个待推荐平行语句与标准问句之间相似度的大小,从大到小显示在显示界面中。若存在与标准问句相似度相同的待推荐平行语句,则获取与标准问句相似度相同的待推荐平行语句在某个时间段内的显示频数,将显示频数大的待推荐平行语句显示在显示频数小的待推荐平行语句之前。进一步地,检测待推荐平行语句是否携带预设标识。若待推荐平行语句携带有预设标识,则将携带预设标识的待推荐平行语句显示在最前面;若未存在携带预设标识的待推荐平行语句,则将待推荐平行语句按照各个待推荐平行语句与标准问句之间相似度的大小,从大到小显示在显示界面中。其中,若某个待推荐平行语句携带有预设标识,则表明该待推荐平行语句被标注用户标注为“相同”,表示该待推荐平行语句与其所在的目标主题类的主句语义相同。预设标识的具体表现形式可根据具体需要而设置,在本实施例中不做限制。

步骤s80,若侦测到所述确认指令,则将所述待推荐平行语句添加至所述标准问句所在的主题类中。

若侦测到确认待推荐平行语句为标准问句的平行语句的确认指令,则将确认指令对应的待推荐平行语句添加至标准问句所在的主题类中;若未侦测到确认待推荐平行语句为标准问句的平行语句的确认指令,则不将确认指令对应的推荐平行语句添加至标准问句所在的主题类中。

本实施例通过在侦测到查询指令后,获取预设的标准问句,在平行语句库中确定该标准问句对应的平行语句,以快速生成标准问句对应的平行语句。

进一步地,提出本发明平行语句库的创建方法第三实施例。

所述平行语句库的创建方法第三实施例与所述平行语句库的创建方法第一或第二实施例的区别在于,平行语句库的创建方法还包括:

步骤k,确定所述目标主题类中已推荐过的平行语句、携带有预设标注信息的平行语句。

当确定目标主题类后,确定目标主题类中已推荐过的平行语句、携带有预设标注信息的平行语句。在本实施例中,已推荐过的平行语句、携带有预设标注信息的平行语句分别用不同的标识信息来表示。如在目标主题类中,若某个平行语句携带“01”的标识信息,则确定该平行语句为已推荐过的平行语句;若某个平行语句携带“11”的标识信息,则确定该平行语句为携带预设标注信息的平行语句。其中,携带预设标注信息的平行语句为被对应的标注用户标注为“不同”的平行语句,表示该平行语句与其所在的主题类的主句语义不同。

步骤j包括:

步骤j1,获取所述目标主题类中除所述已推荐过的平行语句、携带有预设标注信息的平行语句外,与所述标准问句之间的相似度大于第二预设阈值的平行语句,得到待推荐平行语句。

当确定目标主题类中已推荐过的平行语句、携带有预设标注信息的平行语句后,获取目标主题类中除已推荐过的平行语句、携带有预设标注信息的平行语句外,与标准问句之间相似度大于第二预设阈值的平行语句,将与标准问句之间相似度大于第二预设阈值的平行语句作为待推荐平行语句。

本实施例通过在得到待推荐平行语句之前,确定目标主题类中已推荐过的平行语句、携带有预设标注信息的平行语句,在确定待推荐平行语句过程中,不考虑目标主题类中已推荐过的平行语句、携带有预设标注信息的平行语句,以减少得到待推荐平行语句过程中的计算量,提高了确定待推荐平行语句的速度。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有平行语句库的创建程序,所述平行语句库的创建程序被处理器执行时实现如上所述的奖励发送方法的步骤。

本发明计算机可读存储介质具体实施方式与上述平行语句库的创建方法各实施例基本相同,在此不再赘述。

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

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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