一种自动问答模板匹配的方法及装置与流程

文档序号:11155360阅读:835来源:国知局
一种自动问答模板匹配的方法及装置与制造工艺

本发明涉及信息处理领域,尤其涉及一种自动问答模板匹配的方法及装置。



背景技术:

随着服务行业的多样化,越来越多用户咨询和反馈的解答工作应运而生。例如,互联网行业的售后服务或者客户服务。由于用户数量的指数增长,采用人工的方式对所有用户的咨询进行反馈已无法满足需求,并且用户的问题大多集中在某些特定的知识点上,人工回复往往是进行重复性地劳动。在此背景下,自动问答(Question Answering,QA)系统应运而生,QA是指根据用户输入的自然语言问题自动输出对应的答案。

现有技术中,自动问答系统中包括问答模板数据库,模板库中包括若干个模板问题和答案。根据问答模板数据库对用户输入的问题进行匹配。具体地,用户输入问题后,系统根据用户的问题进行分词,得到问题的关键字集合,然后根据关键字集合计算用户的问题与问答模板数据库中各个问题的语义相似度,将最大相似度对应模板问题的答案输出给用户。对于问答模板数据库内容庞大的情况,现有的匹配的算法需要对用户问题与问答模板数据库中问题进行一一匹配并计算相似度,计算过程复杂导致反馈时间延迟,效率较低,。

综上所述,现有的自动问答系统的模板匹配效率较低,在问答模板数据库庞大的场景下适应度较低。



技术实现要素:

本发明提供一种自动问答模板匹配的方法及装置,用以解决现有技术中自动问答系统的模板匹配效率较低,在问答模板数据库庞大的场景下适应度较低的问题。

本发明实施例提供一种自动问答模板匹配的方法,包括:

确定待解答问题对应的第一分词集合;

根据分词模板数据库,确定所述第一分词集合中每个分词对应的模板问题集合,所述分词模板数据库包括预设的各分词对应的模板问题集合;

根据每个分词对应的模板问题集合的公共子集,确定所述待解答问题的匹配模板问题。

较佳地,所述根据每个分词对应的模板问题集合的公共子集,确定所述待解答问题的匹配模板问题,包括:

若所述公共子集包含一个元素,则将所述一个元素对应的模板问题确定为所述待解答问题的匹配模板问题;

若所述公共子集包含多个元素,则确定每个元素对应的模板问题与所述待解答问题的汉明距离,将所述汉明距离最小的模板问题作为所述待解答问题的匹配模板问题。

较佳地,所述根据每个分词对应的模板问题集合的公共子集,确定所述待解答问题的匹配模板问题,包括:

若所述公共子集为空集,则输出无法识别所述待解答问题的提示信息。

较佳地,所述分词模板数据库还包括预设的各分词对应答案集合,所述根据每个分词对应的模板问题集合的公共子集,确定所述待解答问题的匹配模板问题之后,还包括:

根据所述分词模板数据库,确定所述待解答问题的匹配模板问题对应的答案,并输出所述答案。

较佳地,所述接收待解答问题,确定所述待解答问题对应的第一分词集合,包括:

根据多模匹配算法,确定所述待解答问题的第二分词集合;

根据所述第二分词集合查找所述分词模板数据库中预设的各分词,确定所述第一分词集合。

本发明实施例还提供一种自动问答模板匹配的装置,包括:

分词集合确定模块:用于接收待解答问题,确定所述待解答问题对应的第一分词集合;

问题集合确定模块:用于根据分词模板数据库,确定所述第一分词集合中每个分词对应的模板问题集合,所述分词模板数据库包括预设的各分词对应的模板问题集合;

匹配问题确定模块:用于根据每个分词对应的模板问题集合的公共子集,确定所述待解答问题的匹配模板问题。

较佳地,所述匹配问题确定模块,具体用于:

若所述公共子集包含一个元素,则将所述一个元素对应的模板问题确定为所述待解答问题的匹配模板问题;

若所述公共子集包含多个元素,则确定每个元素对应的模板问题与所述待解答问题的汉明距离,将所述汉明距离最小的模板问题作为所述待解答问题的匹配模板问题。

较佳地,所述匹配问题确定模块,具体用于:

若所述公共子集为空集,则输出无法识别所述待解答问题的提示信息。

较佳地,所述分词模板数据库还包括预设的各分词对应答案集合,所述匹配问题确定模块,还用于:

根据所述分词模板数据库,确定所述待解答问题的匹配模板问题对应的答案,并输出所述答案。

较佳地,所述分词集合确定模块,具体用于:

根据多模匹配算法,确定所述待解答问题的第二分词集合;

根据所述第二分词集合查找所述分词模板数据库中预设的各分词,确定所述第一分词集合。

本发明实施例提供的一种自动问答模板匹配的方法及装置,首先确定待解答问题对应的第一分词集合;然后根据分词模板数据库,确定第一分词集合中每个分词对应的模板问题集合,所述分词模板数据库包括预设的各分词对应的模板问题集合;最后根据每个分词对应的模板问题集合的公共子集,确定待解答问题的匹配模板问题。本发明实施例提供的自动问答模板匹配的方法及装置,通过确定待解答问题对应各分词的模板问题集合的子集,得到待解答问题的匹配问题,不需要对用户问题与问答模板数据库中问题进行一一匹配并计算相似度,提高了自动问答系统的模板匹配效率和准确度。

附图说明

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

图1为本发明实施例提供的一种模板库的预处理方法流程示意图;

图2为本发明实施例提供的一种自动问答模板匹配的方法流程示意图;

图3为本发明实施例提供的一种自动问答模板匹配的方法流程图;

图4为本发明实施例提供的一种自动问答模板匹配的装置结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明实施例提供的自动问答模板匹配的方法及装置应用于自动问答系统中。问答系统中包括模板库BASE-SET,模板库BASE-SET中包括若干个问答的模板,BASE-SET={(Q1,A1),(Q2,A2)….}。每个问答的模板由(Q,A)数据对构成,其中Q代表模板问题,A代表该模板问题对应的答案。

具体地,Q是由一系列的模板问题组成,模板问题既可以是一句话,也可以是带有特定标签的模板;A可以是简单的应答答案,也可以是一个逻辑处理程序。例如:

Q1:第一家全国性股份制商业银行?

A1:交通银行

Q2:<BankName>的营业时间?

A2:逻辑处理:查找<BankName>的营业时间。

Q3:<BankName>的信用卡<Date>的优惠信息?

A3:逻辑处理:查找<BankName>的信用卡在<Date>的优惠信息。

Q4:转账给<Person>,<Money>?

A4:逻辑处理:执行转账给<Person>,<Money>的操作。

本发明实施例提供的自动问答模板匹配的系统首先需要对模板库BASE-SET进行预处理,如图1所示,为本发明实施例提供的模板库的预处理方法流程示意图,包括:

步骤101:对于模板库中的每个问答模板进行编号。

步骤102:对每一个问题模板切割成片段。

具体地切割方法为:提取每一个问题模板Q中的标签,例如<BankName>、<Date>等;然后对除标签以外的部分进行分词操作,删除无意义词(例如“的”、“和”等)、多字符通配符“*”、单字符通配符“?”、符号“,”等,得到至少一个字符串。例如:

Q1:第一家全国性股份制商业银行

切割结果:第一家全国性股份制商业银行

Q2:<BankName>的信用卡<Date>的优惠信息

切割结果:<BankName>信用卡<Date>优惠

Q3:转账给<Person><Money>

切割结果:转账<Person><Money>

步骤103:根据切割后的各片段确定分词模板数据库。

具体地,分词模板数据库Diction={W1,W2,W3,…,Wn},其中W表示切割的片段信息,具体可以为字符串、标签等。例如,Diction={第一家,全国性,……股份制商业银行,<BankName>,信用卡,<Date>,优惠,转账,<Person>,<Money>}。

步骤104:根据每个片段在分词模板数据库中建立倒排索引。

具体地,建立倒排索引即确定各片段对应的模板问题集合,其中,索引的关键字key可以为标签或字符串的片段内容,或者片段内容的哈希值,关键字对应的值为模板库中每个问答模板QA的编号。例如,倒排索引可以为:

片段W1 问题模板Q1 问题模板Q3 问题模板Qk……

片段W2 问题模板Q1 问题模板Q2 问题模板Qh……

……

片段Wk 问题模板Q2 问题模板Qc3 问题模板Qx……

……

片段Wx 问题模板Q3 问题模板Q6 问题模板Q10……

在对模板库进行预处理之后,得到分词模板数据库。下面对本发明实施例提供的自动问答模板匹配的方法进行详细说明。如图2所示,为本发明实施例提供的一种自动问答模板匹配的方法流程示意图,包括:

步骤201:确定待解答问题对应的第一分词集合。

具体地,首先根据多模匹配算法(例如Wu_Manber算法),确定待解答问题Qn的第二分词集合{W1,W2,Wk,Wx……}。根据所述第二分词集合查找分词模板数据库中预设的各分词,确定第一分词集合{W1,W2,Wk……}。

例如,待回答问题Qn为“第一家全国性股份制商业银行的位置?”,根据Wu_Manber算法,得到第二分词集合为{第一家全国性股份制商业银行位置},然后在分词模板数据库的预设分词中查找第二分词集合中的各分词,找到分词“第一家”、“全国性”、“股份制商业银行”,则将{第一家全国性股份制商业银行}作为第一分词集合。

步骤202:根据分词模板数据库,确定第一分词集合中每个分词对应的模板问题集合。

其中,分词模板数据库包括预设的各分词对应的模板问题集合,以及各模板问题对应的答案。具体地,根据待回答问题Qn包含的第一分词集合{W1,W2,Wk……},在分词模板数据库中找到对应的模板问题集合{Q-Set1,Q-Set2,Q-Set k……}。例如,

W1:Q-Set 1={Q1,Q3,Qa,…};

W2:Q-Set 2={Q2,Q3,Qb,…};

Wk:Q-Set k={Q2,Q3,Qc,…};……

步骤203:根据每个分词对应的模板问题集合的公共子集,确定待解答问题的匹配模板问题。

具体地,首先确定待回答问题Qn中每个分词对应的模板问题集合的公共子集Q-SET,Q-SET为{Q-Set1},{Q-Set2},{Q-Set k}等的子集,该子集Q-Set为用户提出的待回答问题Qn的匹配模板问题。

进一步地,若公共子集包含一个元素,则将该一个元素对应的模板问题确定为待解答问题的匹配模板问题。

如步骤202中的举例,若公共子集Q-Set={Q3},则将模板问题Q3作为待解答问题Qn的匹配模板问题。

进一步地,若公共子集包含多个元素,则确定每个元素对应的模板问题与待解答问题的汉明距离,将汉明距离最小的模板问题作为待解答问题的匹配模板问题。

如步骤202中的举例,若公共子集Q-Set={Q3,Qx,Qy},则分别计算模板问题Q3,Qx,Qy与待解答问题的汉明距离,若其中模板问题Qx的汉明距离最小,则将模板问题Qx作为待解答问题Qn的匹配模板问题。

进一步地,若公共子集为空集,则输出无法识别待解答问题的提示信息。

需要说明的是,在确定出待解答问题Qn的匹配模板问题之后,还需要根据所述分词模板数据库中各模板问题对应的答案,确定待解答问题Qn的匹配模板问题对应的答案,并输出该答案。

例如,待解答问题Qn为:第一家全国性股份制商业银行的位置?,最后确定出待解答问题Qn的匹配模板问题为Q1:第一家全国性股份制商业银行?,以及该模板问题Q1对应的A1:交通银行。

本发明实施例提供的一种自动问答模板匹配的方法,首先确定待解答问题对应的第一分词集合;然后根据分词模板数据库,确定第一分词集合中每个分词对应的模板问题集合,所述分词模板数据库包括预设的各分词对应的模板问题集合;最后根据每个分词对应的模板问题集合的公共子集,确定待解答问题的匹配模板问题。本发明实施例提供的自动问答模板匹配的方法,通过对模板问题进行预处理后在内存中建立倒排索引。对于用户输入的待解答问题,通过多模匹配算法快速检索到模板库中对应的候选模板问题集,然后在候选模板问题集中公共子集。由于候选模板问题集合相对于整个问答模板集合来说小很多,且不需要对待解答问题与问答模板数据库中问题进行一一匹配并计算相似度,提高了自动问答系统的模板匹配效率和准确度。

本发明实施例还提供一种自动问答模板匹配的方法,如图3所示,为本发明实施例提供的一种自动问答模板匹配的方法流程图,包括:

步骤301:用户输入问题Qn。

步骤302:通过Wu_Manber算法确定问题Qn包含的分词集合;

具体地,首先根据多模匹配算法Wu_Manber算法,确定用户输入问题Qn包含的分词集合{W1,W2,Wk,Wx……}。

步骤303:根据问题Qn包含的分词集合查找分词模板数据库中预设的各分词,确定问题Qn的候选分词集合。

具体地,根据用户输入问题Qn包含的分词集合{W1,W2,Wk,Wx……}查找分词模板数据库中预设的各分词,确定候选分词集合为{W1,W2,Wk……}。

例如,待回答问题Qn为“第一家全国性股份制商业银行的位置?”,根据Wu_Manber算法,得到分词集合{第一家全国性股份制商业银行位置},然后在分词模板数据库的预设分词,找到分词“第一家”、“全国性”、“股份制商业银行”,则将{第一家全国性股份制商业银行}作为候选分词集合。

步骤304:根据分词模板数据库,确定候选分词集合中每个分词对应的模板问题集合。

其中,分词模板数据库包括预设的各分词对应的模板问题集合,以及各模板问题对应的答案。具体地,根据待回答问题Qn包含的第一分词集合{W1,W2,Wk……},在分词模板数据库中找到对应的模板问题集合{Q-Set1,Q-Set2,Q-Set k……}。例如,

W1:Q-Set 1={Q1,Q3,Qa,…};

W2:Q-Set 2={Q2,Q3,Qb,…};

Wk:Q-Set k={Q2,Q3,Qc,…};……

步骤305:确定待回答问题中每个分词对应的模板问题集合的公共子集的数量。

具体地,首先确定待回答问题Qn中每个分词对应的模板问题集合的公共子集Q-SET,Q-SET为{Q-Set1},{Q-Set2},{Q-Set k}等的子集,该子集Q-Set为用户提出的问题Qn的匹配模板问题。

步骤306:判断公共子集的数量。若公共子集的数量为0,则执行步骤307;若公共子集的数量为1则执行步骤308;若公共子集的数量大于1,则执行步骤309。

步骤307:输出无法识别用户输入的问题Qn的提示信息。

步骤308:将该公共子集对应的模板问题确定为问题Qn的匹配模板问题,继续执行步骤310。

例如,如步骤304中的举例,若公共子集Q-Set={Q3},则将模板问题Q3作为问题Qn的匹配模板问题。

步骤309:确定每个集合对应的模板问题与问题Qn的汉明距离,将汉明距离最小的模板问题作为问题Qn的匹配模板问题。继续执行步骤310。

如步骤202中的举例,若公共子集Q-Set={Q3,Qx,Qy},则分别计算模板问题Q3,Qx,Qy与问题Qn的汉明距离,若其中模板问题Qx的汉明距离最小,则将模板问题Qx作为问题Qn的匹配模板问题。

步骤310:确定问题Qn的匹配模板问题对应的答案,并输出答案。

具体地,在确定出问题Qn的匹配模板问题之后,还需要根据所述分词模板数据库中各模板问题对应的答案,确定问题Qn的匹配模板问题对应的答案,并输出该答案。

例如,问题Qn为:第一家全国性股份制商业银行的位置?,最后确定出问题Qn的匹配模板问题为Q1:第一家全国性股份制商业银行?,以及该模板问题Q1对应的A1:交通银行。则输出答案:交通银行。

基于同样的发明构思本发明实施例还提供一种自动问答模板匹配的装置,如图4所示,为本发明实施例提供一种自动问答模板匹配的装置结构示意图,包括:

分词集合确定模块401:用于接收待解答问题,确定所述待解答问题对应的第一分词集合;

问题集合确定模块402:用于根据分词模板数据库,确定所述第一分词集合中每个分词对应的模板问题集合,所述分词模板数据库包括预设的各分词对应的模板问题集合;

匹配问题确定模块403:用于根据每个分词对应的模板问题集合的公共子集,确定所述待解答问题的匹配模板问题。

较佳地,所述匹配问题确定模块403,具体用于:

若所述公共子集包含一个元素,则将所述一个元素对应的模板问题确定为所述待解答问题的匹配模板问题;

若所述公共子集包含多个元素,则确定每个元素对应的模板问题与所述待解答问题的汉明距离,将所述汉明距离最小的模板问题作为所述待解答问题的匹配模板问题。

较佳地,所述匹配问题确定模块403,具体用于:

若所述公共子集为空集,则输出无法识别所述待解答问题的提示信息。

较佳地,所述分词模板数据库还包括预设的各分词对应答案集合,所述匹配问题确定模块403,还用于:

根据所述分词模板数据库,确定所述待解答问题的匹配模板问题对应的答案,并输出所述答案。

较佳地,所述分词集合确定模块401,具体用于:

根据多模匹配算法,确定所述待解答问题的第二分词集合;

根据所述第二分词集合查找所述分词模板数据库中预设的各分词,确定所述第一分词集合。

本发明实施例提供的一种自动问答模板匹配的装置,首先确定待解答问题对应的第一分词集合;然后根据分词模板数据库,确定第一分词集合中每个分词对应的模板问题集合,所述分词模板数据库包括预设的各分词对应的模板问题集合;最后根据每个分词对应的模板问题集合的公共子集,确定待解答问题的匹配模板问题。本发明实施例提供的自动问答模板匹配的装置,通过确定待解答问题对应各分词的模板问题集合的子集,得到待解答问题的匹配问题,不需要对用户问题与问答模板数据库中问题进行一一匹配并计算相似度,提高了自动问答系统的模板匹配效率和准确度。

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

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

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

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

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

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