信息查找方法、装置、电子设备及可读存储介质与流程

文档序号:22084134发布日期:2020-09-01 19:50阅读:126来源:国知局
信息查找方法、装置、电子设备及可读存储介质与流程

本申请涉及信息搜索技术领域,具体而言,涉及一种信息查找方法、装置、电子设备及可读存储介质。



背景技术:

在智能客服系统中,一般是通过智能客服根据用户输入的咨询信息在数据库中查找相关的答复信息,然后将答复信息返回给用户。其中,目前进行相关答复信息查找的方式是将用户输入的咨询信息与数据库中的每个文本信息进行相关度匹配,最后获取相关度较大的一些文本信息作为答复信息反馈给用户,但是这种方式由于数据库中的数据量可能很大,所以,若要计算每个文本信息与咨询信息的相关度后才能获得最后反馈给用户的答复信息,显然会造成查找过程时间较长,导致反馈的效率较低。



技术实现要素:

有鉴于此,本申请实施例的目的在于提供一种信息查找方法、装置、电子设备及可读存储介质,以提高信息查找效率。

第一方面,本申请实施例提供了一种信息查找方法,所述方法包括:获取用户输入的业务咨询信息;提取所述业务咨询信息中的m个词组,m为大于等于2的整数;将每个词组与预先建立的关键词组索引表进行匹配,确定所述m个词组中有n个目标关键词在所述关键词组索引表中,n为小于等于m的正整数;基于预设关键词组与预设文档之间的对应关系,确定每个目标关键词对应的答复文档,获得包含每个目标关键词对应的答复文档的答复文档集;计算每个目标关键词与所述答复文档集中的每个答复文档之间的匹配率;基于每个目标关键词对应的匹配率,从所述答复文档集中筛选获得与所述业务咨询信息匹配的至少一个目标答复文档。

在上述实现过程中,通过将业务咨询信息中对应的m个词组与预先建立的关键词索引表进行匹配,从而可以快速找到n个目标关键词对应的答复文档,在根据每个关键词与每个答复文档的匹配率从答复文档集中筛选获得与业务咨询信息匹配的至少一个目标答复文档,从而可以基于用户输入的业务咨询信息快速查找到对应的答复文档反馈给用户,以此提高了信息查找的效率。

可选地,计算每个目标关键词与所述答复文档集中的每个答复文档之间的匹配率,包括:计算每个目标关键词与所述答复文档集中的每个答复文档的词频-逆向文件频率tf-idf值,获得每个目标关键词对应的tf-idf值。

在上述实现过程中,将计算获得的tf-idf值作为每个目标关键词与每个答复文档的匹配率,从而可以快速且准确获得对应的匹配率。

可选地,基于每个目标关键词对应的匹配率,从所述答复文档集中筛选获得与所述业务咨询信息匹配的至少一个目标答复文档之后,还包括:基于每个目标关键词对应的tf-idf值对所述至少一个目标答复文档进行排序,获得排序后的至少一个目标答复文档。

在上述实现过程中,通过对至少一个目标答复文档进行排序,从而可以将与业务咨询信息匹配率高的目标答复文档排在前面,使得用户可以更加快速找到相要的答复信息。

可选地,获得排序后的至少一个目标答复文档之后,还包括:利用学习排序模型ltr对所述至少一个目标答复文档进行再次排序,获得最终排序后的至少一个目标答复文档。

可选地,利用学习排序模型ltr对所述至少一个目标答复文档进行再次排序,获得最终排序后的至少一个目标答复文档,包括:利用ltr模型中的评分函数对所述至少一个目标答复文档与所述业务咨询信息的相关度进行打分,获得每个目标答复文档的相关度得分;根据每个目标答复文档的相关度得分获得所述至少一个目标答复文档对应的不同排列组合的概率;基于所述不同排列组合对应的概率获得最终排序后的至少一个目标答复文档。

在上述实现过程中,由于ltr模型是一种机器学习模型,其可以获得目标答复文档的不同排序组合,从中可选择与业务咨询信息最相关的排序组合,使得排在越前面的目标答复文档为与业务咨询信息最相关的答复文档,所以,通过ltr模型对至少一个目标答复文档进行再次排序,使得用户可以更加快速找到相要的答复信息。

可选地,提取所述业务咨询信息中的m个词组,包括:对所述业务咨询信息进行分词处理,获得多个词组;对所述多个词组根据预设停留词表进行去停留词处理,获得m个词组。

在上述实现过程中,通过对业务咨询信息进行分词处理,在进行去停留词处理,从而可以删除一些无用的停留词,使得在后续进行词组匹配时,可以减少数据匹配量。

第二方面,本申请实施例提供了一种信息查找装置,所述装置包括:

咨询信息获取模块,用于获取用户输入的业务咨询信息;

词组提取模块,用于提取所述业务咨询信息中的m个词组,m为大于等于2的整数;

匹配模块,用于将每个词组与预先建立的关键词组索引表进行匹配,确定所述m个词组中有n个目标关键词在所述关键词组索引表中,n为小于等于m的正整数;

答复文档获取模块,用于基于预设关键词组与预设文档之间的对应关系,确定每个目标关键词对应的答复文档,获得包含每个目标关键词对应的答复文档的答复文档集;

匹配率计算模块,用于计算每个目标关键词与所述答复文档集中的每个答复文档之间的匹配率;

文档筛选模块,用于基于每个目标关键词对应的匹配率,从所述答复文档集中筛选获得与所述业务咨询信息匹配的至少一个目标答复文档。

可选地,所述匹配率计算模块,具体用于计算每个目标关键词与所述答复文档集中的每个答复文档的词频-逆向文件频率tf-idf值,获得每个目标关键词对应的tf-idf值。

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

排序模块,用于基于每个目标关键词对应的tf-idf值对所述至少一个目标答复文档进行排序,获得排序后的至少一个目标答复文档。

可选地,所述排序模块,还用于利用学习排序模型ltr对所述至少一个目标答复文档进行再次排序,获得最终排序后的至少一个目标答复文档。

可选地,所述排序模块,还用于利用ltr模型中的评分函数对所述至少一个目标答复文档与所述业务咨询信息的相关度进行打分,获得每个目标答复文档的相关度得分;根据每个目标答复文档的相关度得分获得所述至少一个目标答复文档对应的不同排列组合的概率;基于所述不同排列组合对应的概率获得最终排序后的至少一个目标答复文档。

可选地,所述词组提取模块,具体用于对所述业务咨询信息进行分词处理,获得多个词组;对所述多个词组根据预设停留词表进行去停留词处理,获得m个词组。

第三方面,本申请实施例提供一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的所述方法中的步骤。

第四方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面提供的所述方法中的步骤。

本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种电子设备的示例性硬件和软件组件的示意图;

图2为本申请实施例提供的一种信息查找方法的流程图;

图3为本申请实施例提供的一种ltr模型中获得评分函数的示意图;

图4为本申请实施例提供的一种信息查找装置的结构框图。

具体实施方式

下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

图1为本申请实施例提供的一种电子设备100的示例性硬件和软件组件的示意图。例如,处理器可以用于电子设备100上,并且用于执行本申请中的功能。

电子设备100可以是通用计算机或特殊用途的计算机,两者都可以用于实现本申请的图像处理方法。本申请尽管仅示出了一个计算机,但是为了方便起见,可以在多个类似平台上以分布式方式实现本申请描述的功能,以均衡处理负载。

例如,电子设备100可以包括连接到网络的网络端口110、用于执行程序指令的一个或多个处理器120、通信总线130、和不同形式的存储介质140,例如,磁盘、rom、或ram,或其任意组合。示例性地,计算机平台还可以包括存储在rom、ram、或其他类型的非暂时性存储介质、或其任意组合中的程序指令。根据这些程序指令可以实现本申请的方法。电子设备100还包括计算机与其他输入输出设备(例如键盘、显示屏)之间的输入/输出(input/output,i/o)接口150。

为了便于说明,在电子设备100中仅描述了一个处理器。然而,应当注意,本申请中的电子设备100还可以包括多个处理器,因此本申请中描述的一个处理器执行的步骤也可以由多个处理器联合执行或单独执行。例如,若电子设备100的处理器执行步骤a和步骤b,则应该理解,步骤a和步骤b也可以由两个不同的处理器共同执行或者在一个处理器中单独执行。例如,第一处理器执行步骤a,第二处理器执行步骤b,或者第一处理器和第二处理器共同执行步骤a和b。

请参照图2,图2为本申请实施例提供的一种信息查找方法的流程图,该方法应用于上述的电子设备,所述方法包括如下步骤:

步骤s110:获取用户输入的业务咨询信息。

在智能问答系统中,一般是机器人和用户进行交互的方式完成机器人和用户之间的信息交互,用户若想要咨询某个信息,可在智能问答系统中输入需咨询的信息,即业务咨询信息,机器人可对用户输入的业务咨询信息进行语义理解,然后可向用户反馈与用户输入的业务咨询信息相关的信息。

业务咨询信息可以是任何用户想咨询的信息,例如网约车系统中,用户输入的业务咨询信息一般是关于订单的相关信息,如“关于某笔订单为啥没有结束”、“订单怎么结束”、“忘记添加高速费怎么办”等一些咨询信息,智能问答系统可以基于这些咨询信息向用户反馈对应的答复信息。

步骤s120:提取所述业务咨询信息中的m个词组。

用户输入的业务咨询信息一般是一句话,所以,为了获取该业务咨询信息对应的答复信息,可以先对业务咨询信息进行处理,获得业务咨询信息中的m个词组,m为大于等于2的整数。

如用户输入的业务咨询信息为“我在系统上忘记添加高速费了怎么办”,提取该业务咨询信息中的m个词组为“我、在、系统、上、忘记、添加、高速费、怎么办”。

步骤s130:将每个词组与预先建立的关键词组索引表进行匹配,确定所述m个词组中有n个目标关键词在所述关键词组索引表中。

在智能问答系统中的数据库中预先建立有关键词组索引表,关键词组索引表是指为关键词与预设文档之间的对应关系,即每个关键词对应多一个预设文档的标识号,这些预设文档是指该关键词在哪些文档中出现即可作为该关键词对应的预设文档,如下述表1(即关键词组索引表)所示:

表1

将上述获得的m个词组中的每个词组与关键词组索引表进行匹配,获得n个目标关键词在关键词组索引表中,例如上述获得的m个词组“系统、忘记、添加、高速费、怎么办”,将这些词组与关键词组索引表中的各个预设关键词组进行匹配,获得n个目标关键词,如“系统”这个词没有在关键词索引表中,所以,最终获得的n个目标关键词为“忘记、添加、高速费、怎么办”,n为小于等于m的正整数。

步骤s140:基于预设关键词组与预设文档之间的对应关系,确定每个目标关键词对应的答复文档,获得包含每个目标关键词对应的答复文档的答复文档集。

在关键词组索引表中存储有各个预设关键词组与预设文档之间的对应关系,如表1所示,所以,可以确定每个目标关键词对应的答复文档,如目标关键词“忘记”对应的答复文档的标识号为“12,113,332,391...3398,5671”,目标关键词“添加”对应的答复文档的标识号为“34,37,56,88...3456,5443”,目标关键词“高速费”对应的答复文档的标识号为“23,26,67,121...4533,5122”,目标关键词“怎么办”对应的答复文档的标识号为“76,89,231,443...4398,5231”,通过答复文档的标识号可以找到对应的答复文档,所以,通过该方式,可以获得包含每个目标关键词对应的答复文档的答复文档集。

标识号可以是文档在数据库中的位置,即在数据库中,预先对每个预设文档进行编号,然后对每个预设文档进行预设关键词组提取,所以可以获得所有预设文档对应的预设关键词组集合,然后分别统计预设关键词组集合中每个预设关键词组在哪些文档出现过,构建预设关键词组-预设文档的标识号的对应关系,该对应关系如上表1所示,为了后续快速找到与用户输入的业务咨询信息相关的答复文档,构建的预设关键词组-预设文档的标识号的对应关系为倒排索引表。

由于智能系统在建立关键词组索引表时是针对不同的应用场景建立的,如网约车场景中,由于一般都是关于订单相关的咨询信息,所以数据库中获取的预设文档不会太多,则建立的关键词组索引表也不会太复杂,从而在进行答复文档查找时,可以快速找到对应的答复文档。

步骤s150:计算每个目标关键词与所述答复文档集中的每个答复文档之间的匹配率。

步骤s160:基于每个目标关键词对应的匹配率,从所述答复文档集中筛选获得与所述业务咨询信息匹配的至少一个目标答复文档。

在上述获得答复文档集后,为了对答复文档集中的答复文档进行删选,可以计算每个目标关键词与每个答复文档之间的匹配率,获得每个目标关键词对应的匹配率,如对于文档1,可以计算上述的多个目标关键词与文档1的匹配率,将这些目标关键词与文档1的匹配率进行相加可获得业务咨询信息与文档1的匹配率,由此方式,可以获得业务咨询信息与每个答复文档之间的匹配率。

然后将这些匹配率进行排序,匹配率高的表示对应的答复文档与业务咨询信息最匹配,所以可设置一个匹配率阈值,获取高于匹配率阈值的对应的答复文档作为至少一个目标答复文档。

所以,本实施例中,通过将业务咨询信息中对应的m个词组与预先建立的关键词索引表进行匹配,从而可以快速找到n个目标关键词对应的答复文档,在根据每个关键词与每个答复文档的匹配率从答复文档集中筛选获得与业务咨询信息匹配的至少一个目标答复文档,从而可以基于用户输入的业务咨询信息快速查找对应的答复文档反馈给用户,提高信息查找及信息反馈的效率。

另外,上述获得业务咨询信息中的m个词组的方式可以为:对用户输入的业务咨询信息进行分词处理,获得多个词组,对多个词组根据预设停留词表进行去停留词处理,获得m个词组。

具体地,可以采用的分词方法有:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法等。

下面分别对上述的三种分词方法进行介绍。

基于字符串匹配的分词方法:该方法又称机械分词方法,它是按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功(即识别出一个词)。

按照扫描方向的不同,字符串匹配分词方法可以分为正向匹配和逆向匹配;按照不同长度优先匹配的情况,可以分为最大(最长)匹配和最小(最短)匹配;按照是否与词性标注过程相结合,可以分为单纯分词方法和分词与词性标注相结合的一体化方法,常用的字符串匹配方法有如下几种:正向最大匹配法、逆向最大匹配法、最小切分法和双向最大匹配法。

在基于字符串匹配的分词方法的基础上还有一种正向最大增字匹配分词算法,正向最大增字匹配分词算法实现思想是准备一个分词的词典,然后利用算法对输入的语句(如业务咨询信息)进行从左到右进行扫描,其目的是将业务咨询信息中的字符串与词典中的词条进行逐个匹配。匹配字段是从一个字开始,匹配中不断增字,直到匹配不下去为止,每一轮结束得到的结果,取最大的可以匹配成功的当前匹配字段,例如,输入的业务咨询信息为“我在系统上忘记添加高速费怎么办”,词典中有“系统”、“忘记”、“添加”、“高速”、“高速费”等词,然后从“我”字开始,向后依次扫描,分别取“我”、“我在”、“我在系”等进行匹配,词典中最长的匹配字符串是“我”,那么该词被切分出来,接下来从“在”字开始扫描,重复上述操作,结果为“我/在/系统/上/忘记/添加/高速费/怎么办”,由此可对业务咨询新进行分词处理,获得多个词组。

基于字符串匹配的分词方法的优点是速度快,时间复杂度可以保持在o(n),实现简单,效果较佳。

基于理解的分词方法:该方法是通过让计算机模拟人对句子的理解,达到识别词的效果。其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。通常包括三部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断,即它模拟了人对句子的理解过程。这种分词方法需要使用大量的语音知识和信息。

基于统计的分词方法:该方法是在给定大量已经分词的文本的前提下,利用统计机器学习模型学习词语切分的规律,即训练,从而实现对未知文本的切分。例如最大概率分词方法和最大熵分词方法等。其中,主要的统计机器学习模型有:n元文法模型、隐马尔科夫模型、最大熵模型、条件随机场模型等。

在实际应用中,基于统计的分词系统都需要使用分词词典来进行字符串匹配分词,同时使用统计方法是把一些新词,即将字符串频率统计和字符串匹配结合起来,既发挥匹配分词切分速度快、效率高的特点,又利用了无词典分词结合上下文识别生词、自动消除歧义的优点。

另外,还可利用分词工具进行分词,常用的分词工具有jieba分词、snownlp分词、thulac分词、nlpir分词系统等分词工具。

在采用上述方法获得多个词组后,然后可以将获得的多个词组根据预设的停留词表进行去停留词处理,得到m个词组。其中,可根据停用词表自动过滤掉没有实际意义的词汇,如介词、冠词、语气助词、副词、连接词以及标点等,如上述获得的多个词组为“我/在/系统/上/忘记/添加/高速费/怎么办”,然后进行去停留词获得的m个词组为“系统、忘记、添加、高速费、怎么办”。

另外,作为一种实施方式,计算每个目标关键词与答复文档集中每个答复文档之间的匹配率的方式可以为:计算每个目标关键词与答复文档集中的每个答复文档的词频-逆向文件频率(termfrequency–inversedocumentfrequency,简称tf-idf),获得每个目标关键词对应的tf-idf值。

其中,tf-idf是一种统计方法,用以评估一字词对于一个文档集或一个语料库中的其中一份文档的重要程度,字词的重要性随着它在文档中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。

tf-idf的主要思想是:如果某个词或短语在一篇文档中出现的频率tf高,并且在其他文档中很少出现,则认为此词语具有很好的类别区分能力,适合用来分类。tf-idf实际上是tf*idf,tf词频(termfrequency),idf逆向文件频率(inversedocumentfrequency)。tf表示词在文档d中出现的频率,idf的主要思想是:如果包含词条t的文档越少,idf越大,则说明词条t具有很好的类别区分能力。如果某一类文档c中包含词条t的文档数为m,而其它类包含t的文档总数为k,显然所有包含t的文档数n=m+k,当m大的时候,按照idf公式得到的idf的值会小,就说明该词条t类别区分能力不强。所以在实际应用中,如果一个词条在一个类的文档中频繁出现,则说明该词条能够很好代表这个类的文本的特征,这样的词条应该给它们赋予较高的权重,并选来作为该类文本的特征词以区别与其它类文档。

具体地,获取每个目标关键词对应的tf-idf值首先计算并获得每个目标关键词在每个答复文档中词频tf,词频tf=某个目标关键词在某个答复文档中的出现次数/该答复文档的总词数,其计算公式为其中ni,j是该目标关键词在所属答复文档中出现的次数,分母表示在该答复文档中所有字词的出现次数之和,如目标关键词“高速费”在文档id为23的答复文档中的出现次数为400次,该答复文档的总词数为1600,则该目标关键词“高速费”的词频tf=400/1600=0.25。然后再获取该目标关键词的逆向文件频率idf,逆向文件频率idf=log(数据库的文档总数/包含该目标关键词的文档数+1),其计算公式为其中|d|表示数据库中的文档总数,|{j:ti∈dj}|表示包含该目标关键词的文档数,如数据库中的文档总数为8000,包含目标关键词“高速费”的答复文档数为200,所以该目标关键词的idf=log(8000/200)=1.6,再基于该目标关键词的词频tf及逆文档频率idf,获取该目标关键词的tf-idf值,即目标关键词的tf-idf值=词频tf*逆文档频率idf,即该上述的目标关键词“高速费”对应的tf-idf值等于0.4。

通过上述方式可获得每个目标关键词与每个答复文档的tf-idf值,该tf-idf值可作为每个目标关键词与每个答复文档之间的匹配率,tf-idf值越大,匹配率越高,所以可以基于每个目标关键词对应的tf-idf值可获得至少一个目标答复文档,如将每个目标关键词对应的tf-idf值相乘获得的值可作为业务咨询信息与答复文档之间的匹配率,所以,可以根据该匹配率从答复文档集中筛选出大于预设匹配率阈值的答复文档作为至少一个目标答复文档。

为了使得用户可以快速找到与业务咨询信息相关的答复文档,还可基于每个目标关键词对应的tf-idf值对至少一个答复文档进行排序,获得排序后的至少一个目标答复文档。

例如,基于每个目标关键词对应的tf-idf值获得业务咨询信息与答复文档之间的匹配率,如对于上述获得的目标关键词“忘记、添加、高速费、怎么办”,其中,对于目标答复文档1,“忘记”对应的tf-idf值为0.4,“添加”对应的tf-idf值为0.5,“高速费”对应的tf-idf值为0.3,“怎么办”对应的tf-idf值为0.7,所以,该业务咨询信息与答复文档1的匹配率为0.4*0.5*0.3*0.7=0.042,按此方式,可获得业务咨询信息与每个目标答复文档之间的匹配率,如若获得有4个目标答复文档,包括:目标答复文档1、目标答复文档2、目标答复文档3和目标答复文档4,业务咨询信息分别与这4个目标答复文档的匹配率分别0.042、0.05、0.033、0.078,按照匹配率的高低对目标答复文档进行排序,其排序结果为:目标答复文档4、目标答复文档2、目标答复文档1、目标答复文档该排序结果即为排序后的目标答复文档。

在上述实现过程中,将计算获得的tf-idf值作为每个目标关键词与每个答复文档的匹配率,从而可以快速且准确获得对应的匹配率。

之后可以将按照上述排序方式后获得的至少一个目标答复文档输出给用户,即排在最前面的可能是与用户输入的业务咨询信息相关的答复文档,用户可基于该反馈的目标答复文档中查找并获得用户想要的答复信息。

由于按照上述排序方式获得的排序后的目标答复文档可能排在前面的目标答复文档并不是用户想要的答复信息,所以,还可以利用学习排序模型(learningtorank,简称ltr)对至少一个目标答复文档进行再次排序,获得最终排序后的至少一个目标答复文档。

由于ltr模型是一种机器学习模型,其可以获得目标答复文档的不同排序组合,从中可选择与业务咨询信息最相关的排序组合,使得排在越前面的目标答复文档为与业务咨询信息最相关的答复文档,所以,通过ltr模型对至少一个目标答复文档进行再次排序,使得用户可以更加快速找到相要的答复信息。

具体地,ltr模型是一种监督学习的排序方法,在采用ltr模型对目标答复文档进行排序前,还需对ltr模型进行训练,在训练过程中,需要标准训练集,选定ltr方法,确定损失函数,以最小化损失函数为目标进行优化即可得到ltr模型的相关参数;在预测排序过程,是将待排序的答复文档输入到训练后的ltr模型中,即可得到排序结果的相关得分,利用该得分进行排序即可得到待排序的答复文档的最终排序。

本实施例中,ltr方法采样文档列表方法,该方法是将每个查询对应的所有搜索结果列表作为一个训练样例,根据训练样例训练得到最优评分函数,对应新的查询,评分函数对每个文档进行打分,然后根据得分由高到低排序,即为最终的排序结果。

而最优评分函数的获取可以基于搜索结果排列组合的概率分布情况来训练获得,如图3所示,对应查询q(即业务咨询信息),假设返回的答复文档为a、b、c三个文档,这三篇文档可以产生6种排列方式,对应评分函数f,对三篇文档进行相关度打分,得到f(a)、f(b)、f(c),根据这三个值可以计算6种排列组合情况各自的概率值。

如图3中所示,假设评分函数g是由人工标记得到的标准答案对应的评分函数,而训练过程是试图找到一个评分函数f,使得f产生的打分和人工的打分尽可能相同。假设存在两个其他评分函数h和f,它们的计算方法已知,对应的搜索排列组合概率分布如图2所示,可知,f比h更接近于虚拟的最优函数g,所以,训练过程就是在尽可能的函数种寻找最接近虚拟函数g的那个函数f,排序预测时用该评分函数f进行打分。

训练过程中,可以在用户海量日志中随机抽取一部分,可以对这些日志进行语义标注,然后进行人工标注判断,即对每个返回的结果打出与用户输入的业务咨询信息相关度的一个分段,如0,1,2,3,其中,3是最相关,0是完全相关。

所以,本实施例中利用ltr模型对至少一个目标答复文档进行再次排序,获得最终排序后的至少一个目标答复文档,包括:利用ltr模型中的评分函数对至少一个目标答复文档与业务咨询信息的相关度进行打分,获得每个目标答复文档的相关度得分,然后根据每个目标答复文档的相关度得分获得至少一个目标答复文档对应的不同排列组合的概率,基于该不同排列组合对应的概率获得最终排序后的至少一个目标答复文档。

具体地,可以利用训练过程获得的最优评分函数对每个目标答复文档进行相关度打分,每个目标答复文档的相关度得分代表了其与业务查询信息的相关度。假设n是目标答复文档的排序列表中其中一种排列,φ(.)是一个递增并且恒大于零的函数,那么,排列组合的概率为:

其中,sπ(j)表示排列在第j个位置的目标答复文档的相关度得分,假如,有三个目标答复文档{1,2,3},评分函数为s=(s1,s2,s3),若排列组合π=<1,2,3>和π'=<3,2,1>,按照上述排列组合的概率计算公式可以计算出这两种排列组合的概率,对于三个目标答复文档其有六种排列组合方式,所以,可以计算出每种排列组合方式的概率,由此可将不同排列组合的概率构成一个概率分布,且所有的排列组合的概率之和等于1。

由于对于任意的排序列表,在前一个目标答复文档相关度得分高于后面一个目标答复文档相关度得分的情况下,如果两者交换位置,将会得到一个更加低值的概率分布,所以,按照不同排列组合的概率可选择其中概率最大的排列组合作为最终排序后的目标答复文档,如对于排列组合为π'=<3,2,1>时其概率最大,则可将目标答复文档按照排列组合的顺序进行排序,由此获得最终排序后的至少一个目标答复文档。

另外,在上述任一实施例的基础上,在获得至少一个目标答复文档之后,可以向用户输出该至少一个目标答复文档,即可以向用户输出最终排序后的至少一个目标答复文档,由此,排在最前面的目标答复文档可能是与用户输入的业务咨询信息相关的答复信息,也可能是用户最想要的答复信息,所以,用户可以从最终排序后的目标答复文档中更加容易获得想要的答复信息,使得用户无需再去浏览更多的信息即可找到想要的答复信息,以此提升了用户体验。

请参照图4,图4为本申请实施例提供的一种信息查找装置200的结构框图,所述装置包括:

咨询信息获取模块210,用于获取用户输入的业务咨询信息;

词组提取模块220,用于提取所述业务咨询信息中的m个词组,m为大于等于2的整数;

匹配模块230,用于将每个词组与预先建立的关键词组索引表进行匹配,确定所述m个词组中有n个目标关键词在所述关键词组索引表中,n为小于等于m的正整数;

答复文档获取模块240,用于基于预设关键词组与预设文档之间的对应关系,确定每个目标关键词对应的答复文档,获得包含每个目标关键词对应的答复文档的答复文档集;

匹配率计算模块250,用于计算每个目标关键词与所述答复文档集中的每个答复文档之间的匹配率;

文档筛选模块260,用于基于每个目标关键词对应的匹配率,从所述答复文档集中筛选获得与所述业务咨询信息匹配的至少一个目标答复文档。

可选地,所述匹配率计算模块250,具体用于计算每个目标关键词与所述答复文档集中的每个答复文档的词频-逆向文件频率tf-idf值,获得每个目标关键词对应的tf-idf值。

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

排序模块,用于基于每个目标关键词对应的tf-idf值对所述至少一个目标答复文档进行排序,获得排序后的至少一个目标答复文档。

可选地,所述排序模块,还用于利用学习排序模型ltr对所述至少一个目标答复文档进行再次排序,获得最终排序后的至少一个目标答复文档。

可选地,所述排序模块,还用于利用ltr模型中的评分函数对所述至少一个目标答复文档与所述业务咨询信息的相关度进行打分,获得每个目标答复文档的相关度得分;根据每个目标答复文档的相关度得分获得所述至少一个目标答复文档对应的不同排列组合的概率;基于所述不同排列组合对应的概率获得最终排序后的至少一个目标答复文档。

可选地,所述词组提取模块220,具体用于对所述业务咨询信息进行分词处理,获得多个词组;对所述多个词组根据预设停留词表进行去停留词处理,获得m个词组。

本申请实施例提供一种可读存储介质,所述计算机程序被处理器执行时,执行如图2所示方法实施例中电子设备所执行的方法过程。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。

综上所述,本申请实施例提供一种信息查找方法、装置、电子设备及可读存储介质,该方法通过将业务咨询信息中对应的m个词组与预先建立的关键词索引表进行匹配,从而可以快速找到n个目标关键词对应的答复文档,在根据每个关键词与每个答复文档的匹配率从答复文档集中筛选获得与业务咨询信息匹配的至少一个目标答复文档,从而可以基于用户输入的业务咨询信息快速查找到对应的答复文档反馈给用户,以此提高了信息查找的效率。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-oklymemory)、随机存取存储器(ram,rakdomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

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

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