CN109635098A - 一种智能问答方法、装置、设备及介质 - Google Patents
一种智能问答方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN109635098A CN109635098A CN201811565877.XA CN201811565877A CN109635098A CN 109635098 A CN109635098 A CN 109635098A CN 201811565877 A CN201811565877 A CN 201811565877A CN 109635098 A CN109635098 A CN 109635098A
- Authority
- CN
- China
- Prior art keywords
- answer
- sequence
- question
- typical
- probability
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种智能问答方法,包括:确定问题序列,包括待回答的问题及其相邻的前N个问题,将每个问题映射到知识库得到对应的标准问题,生成标准问题序列,将其作为观测序列,根据观测序列和隐马尔可夫模型,确定出现概率最大的隐藏状态序列,其用于表征观测序列中每个问题各自对应的问题场景类别,基于此,可以确定待问答的问题对应的问题场景类别,进而确定与待回答的问题对应的答案并进行问题答复。一方面用户无需按照业务流程进行提问,也无需先手动选择具体场景,即可得到相同问题的正确答案,提高了用户体验,另一方面,当业务流程发生变更,更新隐马尔可夫模型即可满足需求,维护成本较低。本申请还公开了对应的装置、设备及介质。
Description
技术领域
本申请涉及人工智能技术领域,具体涉及一种智能问答方法、装置、设备以及介质。
背景技术
智能问答系统是信息检索系统的一种高级形式,它能用准确、简洁的自然语言回答用户用自然语言所提出的问题,现阶段,智能问答系统不仅可以回答知识类的问题,还可以用于医疗、教育、生活、科技等各种与人们生活息息相关的领域,大幅提升人们获取信息的效率。
目前智能问答系统,在实际应用中需要解决“相同问题”的问题,所述“相同问题”是指,由于不同场景下可能会出现相同问题,但答案却完全不一样的情况,因此,智能问答系统针对用户输入的相同问题,需要判断该相同问题属于哪一个场景,进而给出对应的答案。目前智能问答系统解决“相同问题”的方法主要有以下两种:
一种方法是,由人工按照业务流程对知识库中的问题进行人工配置,这样,在每个场景下问题会按照业务流程排序,如此,相同问题在不同场景下会存在与其相关的特定问题,这样,用户必须按照业务流程中问题顺序进行提问,才能得到相同问题对应的正确答案。这种方法限制了用户必须按照业务流程进行提问,用户不能随意提问,用户体验不好,另外,该方法需要花费大量人工成本定制业务流程,并且一旦知识库更新,业务流程也会被影响,维护成本也非常高。
另一种方法是,在用户提出问题之前,先给出各种场景的选项供用户选择,进而结合该用户所选择的场景以及用户提出的问题给出对应的答案。这种方法要求用户每次提问之前都必须先选择具体场景,而且在场景种类很多时,用户体验非常不好。
发明内容
本申请实施例提供了一种智能问答方法,其能够基于智能问答系统中问题的上下文关系,利用隐马尔可夫模型实现对相同问题所属场景自动分类,简化了用户操作,提高了用户体验。对应地,本申请还提供了一种智能问答装置、设备以及计算机可读存储介质。
有鉴于此,本申请第一方面提供了一种智能问答方法,所述方法包括:
确定问题序列,所述问题序列包括待回答的问题及其相邻的前N个问题,N为正整数;
将所述问题序列中每个问题映射到知识库得到每个问题各自对应的标准问题;
根据所述每个问题各自对应的标准问题生成所述问题序列对应的标准问题序列,将该标准问题序列作为观测序列;
根据所述观测序列和隐马尔可夫模型,确定出现概率最大的隐藏状态序列,所述隐藏状态序列用于表征所述观测序列中每个问题各自对应的问题场景类别;
根据所述隐藏状态序列中待问答的问题对应的问题场景类别,确定与所述待回答的问题对应的答案,并根据所述答案进行问题答复。
本申请第二方面提供一种智能问答装置,所述装置包括:
第一确定模块,用于确定问题序列,所述问题序列包括待回答的问题及其相邻的前N个问题,N为正整数;
映射模块,用于将所述问题序列中每个问题映射到知识库,得到每个问题各自对应的标准问题;
观测序列生成模块,用于根据所述每个问题各自对应的标准问题,生成所述问题序列对应的标准问题序列,将该标准问题序列作为观测序列;
第二确定模块,用于根据所述观测序列和隐马尔可夫模型,确定出现概率最大的隐藏状态序列,所述隐藏状态序列用于表征所述观测序列中每个问题各自对应的问题场景类别;
答复模块,用于根据所述隐藏状态序列中待问答的问题对应的问题场景类别,确定与所述待回答的问题对应的答案,并根据所述答案进行问题答复。
本申请第三方面提供一种设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令,执行如上述第一方面所述的智能问答方法的步骤。
本申请第四方面提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行上述第一方面所述的智能问答方法。
本申请第五方面提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行上述第一方面所述的智能问答方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种智能问答方法,该方法是基于待回答的问题与其相邻的前N个问题之间的上下文关系,结合隐马尔可夫模型实现问题场景类别的自动预测,进而实现问题答复。具体地,确定包括用户提出的待回答的问题及其相邻的前N个问题在内的问题序列,将问题序列中每个问题映射到知识库,得到每个问题各自对应的标准问题,从而生成标准问题序列,将该标准问题序列作为观测序列,基于观测序列和隐马尔可夫模型确定出现概率最大的隐藏状态序列,该隐藏状态序列即用于表征观测序列中每个问题各自对应的问题场景类别,基于隐藏状态序列中待回答问题对应的问题场景类别,能够准确地确定出与待回答问题对应的答案,基于该答案进行问题答复。一方面用户无需按照业务流程中问题顺序进行提问,也无需先手动选择具体场景,即可得到相同问题的正确答案,提高了用户体验,另一方面,针对不同业务或者业务流程发生变更,更新隐马尔可夫模型即可满足需求,维护成本较低。
附图说明
图1为本申请实施例中一种智能问答方法的场景架构图;
图2为本申请实施例中一种智能问答方法的流程图;
图3为本申请实施例中一种智能问答方法的流程图;
图4为本申请实施例中智能问答方法在办公系统中的应用场景示意图;
图5为本申请实施例中智能问答方法在导诊系统中的应用场景示意图;
图6为本申请实施例中一种智能问答装置的结构示意图;
图7为本申请实施例中一种用于智能问答的设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
针对现有技术中用户必须按照业务流程中问题顺序进行提问或者必须在提问之前先选择具体场景导致的用户不能随意提问,用户体验不佳的技术问题,本申请考虑到待回答的问题及其相邻的前N个问题之间的上下文关联关系,提出了一种基于隐马尔可夫模型对问题场景类别进行预测,从而实现智能问答的方法,首先,确定问题序列,该问题序列包括用户提出的待回答的问题及其相邻的前N个问题,将问题序列中每个问题映射到知识库得到每个问题各自对应的标准问题,从而生成标准问题序列,将该标准问题序列作为观测序列,基于观测序列和隐马尔可夫模型确定出现概率最大的隐藏状态序列,该隐藏状态序列即用于表征观测序列中每个问题各自对应的问题场景类别,基于隐藏状态序列中待回答问题对应的问题场景类别,能够准确地确定出与待回答问题对应的答案,基于该答案进行问题答复。
一方面用户无需按照业务流程中问题顺序进行提问,也无需先手动选择具体场景,即可得到相同问题的正确答案,提高了用户体验,另一方面,针对不同业务或者业务流程发生变更,更新隐马尔可夫模型即可满足需求,维护成本较低。
可以理解,本申请提供的智能问答方法能够应用于数据处理设备,该数据处理设备可以是任意包含处理器如中央处理器(Central Processing Unit/Processor,CPU)的设备。在具体实现时,数据处理设备可以是终端,包括但不限于现有的、正在研发的或将来研发的智能手机、平板电脑、膝上型个人计算机、桌面型个人计算机、人工智能机器人等,当然,数据处理设备也可以是服务器。需要说明的是,该数据处理设备可以是独立的终端设备或者服务器,也可以是多个终端设备或者多个服务器形成的集群。
本申请提供的智能问答方法以应用程序或软件的形式存储于数据处理设备,数据处理设备通过执行上述应用程序或软件,以实现本申请提供的智能问答方法。为了方便介绍,后文均以终端作为数据处理设备,对本申请提供的智能问答方法进行介绍。
为了使得本申请的技术方案更加清楚、易于理解,下面将结合具体场景对本申请提供的智能问答方法进行介绍。参见图1所示的智能问答方法的场景架构图,该场景中包括人工智能机器人10,其中,用户通过人工智能机器人10依次提出多个问题,具体包括待回答的问题Qn+1及其相邻的前N个问题Q1至Qn,N为正整数,考虑到问题之间的上下文关系,人工智能机器人10启用本申请的智能问答方法,先对Qn+1对应的问题场景类别进行预测,然后基于问题场景类别确定出与Qn+1对应的答案,并基于该答案进行问题答复。
其中,人工智能机器人10在确定问题序列,该问题序列包括用户提出的至少两个问题,即Q1至Qn+1,将Q1至Qn+1分别映射到知识库得到每个问题对应的标准问题,即O1至On+1,根据O1至On+1生成观测序列,再根据观测序列和隐马尔可夫模型,确定出现概率最大的隐藏状态序列,该隐藏状态序列用于表征所述观测序列中每个问题各自对应的问题场景类别,如此,实现了对Qn+1对应的问题场景类别的预测。
接下来,将从终端的角度对本申请提供的智能问答方法进行介绍。参见图2所示的智能问答方法的流程图,该方法包括:
S201:确定问题序列。
其中,所述问题序列包括待回答的问题及其相邻的前N个问题,N为正整数。在实际应用时,N可以根据实际需求而设置。需要说明的是,针对任意一种业务,待回答的问题与在该问题之前的问题之间的关联性往往随着距离的增大而减小,当距离增大到一定程度时,问题之间的关联性可以趋近于0,基于此,可以认为待回答的问题与在该问题之前的有限个问题相关,对应地,N可以设置为小于5的正整数。
作为本申请实施例的一个示例,N可以设置为4,如此,终端可以获取用户提出的当前问题,并从历史问答记录中,获取用户在当前问题之前所提出前四个问题,根据当前问题和前四个问题确定问题序列。
S202:将所述问题序列中每个问题映射到知识库得到每个问题各自对应的标准问题,根据每个问题各自对应的标准问题生成问题序列对应的标准问题序列,将该标准问题序列作为观测序列。
观测序列(obervation sequence)是指观测状态形成的序列。在问答系统中,用户提出的问题是可以被直接观测到的,因此,终端可以基于用户提出的问题序列,确定各个问题对应的观测状态,基于该观测状态,可以生成对应的观测序列。
在实际应用中,用户提出问题的形式具有多样性,如果直接将问题序列作为观测序列,则会导致观测序列的维度较高,在后续建立观测状态相关矩阵时容易出现高维稀疏的现象,进而影响问题场景分类的准确性。因此,终端需要将问题序列中的每个问题映射到知识库,得到每个问题各自对应的标准问题,根据每个问题各自对应的标准问题生成问题序列对应的标准问题序列,将该标准问题序列作为观测序列。如此,可以有效降低观测序列的维度,避免出现高维稀疏的现象,提高场景分类的准确性。
在将问题映射到知识库中得到与问题对应的标准问题时,考虑到问题与其标准问题之间的强相关性,终端可以基于问题与知识库中问答对的相似度实现问题映射。具体地,知识库中包括多个问答对,每个问答对中包括标准问题及其对应的标准答案,终端计算问题与知识库中每个问答对的相似度,若存在相似度大于预设阈值的问答对,则选择相似度最大的问答对中的标准问题作为该问题对应的标准问题。
在实际应用时,若不存在相似度大于预设阈值的问答对,则终端可以基于同义词词典对该问题进行词替换得到该问题对应的替换问题,然后计算该替换问题与所述知识库中每个问答对的相似度,若存在与替换问题的相似度大于预设阈值的问答对,则选择相似度最大的问答对中的标准问题作为该问题对应的标准问题。若不存在与替换问题的相似度大于预设阈值的问答对,终端可以再次执行词替换操作,重新执行计算相似度以及判断是否存在与替换问题的相似度大于预设阈值的问答对的步骤。若遍历词序列均不存在相似度大于预设阈值的问答对,则可以将该问题从问题序列中删除。
其中,问题与问答对的相似度可以通过问题对应的词向量以及问答对对应的词向量之间的距离进行表征。词向量之间的距离可以是余弦距离,也可以是欧氏距离,本实施对此不作限定。在具体实现时,针对知识库中每个问答对,终端可以基于词频-逆向文件频率(term frequency–inverse document frequency,TF-IDF)算法,确定每个问答对对应的词序列,其中,词序列包括m个关键词,这m个关键词为该问答对中各个分词的词频-逆向文件频率值由高到低顺序排序时排序靠前的m个分词,m为正整数;终端可以根据每个问答对对应的词序列和问题对应的词序列,确定每个问答对对应的词向量和问题对应的词向量;然后计算每个问答对对应的词向量和所述问题对应的词向量之间的距离,作为每个问答对与所述问题的相似度。
下面结合具体示例进行说明。假设用户提出问题序列表示为(Q1、Q2…Qn),n为大于或者等于2的正整数,针对任意一个问题Qi,对其进行分词处理可以确定该问题对应的词序列为Q(W1,W2,…Wn)。知识库中包括多个问答对,一个问答对包括一个标准问题及其对应的标准答案;针对每个问答对K,对其进行分词处理可以确定该问答对对应的词序列为K(K1,K2,…Kn)。需要说明的是,问题对应的词序列和问答对对应的词序列中分词个数都取决于文本本身,两者的分词个数没有具体限定,上述词序列中的n仅是为了便于描述。
为了减少计算量,需要筛选出能够表征其语义特征的m个关键词以重新形成该问答对对应的词序列K(K1,K2,…Km)。
具体筛选过程如下:
针对上述问答对对应的词序列K(K1,K2,…Kn)中任意一个分词Kj,按照如下公式(1)计算其对应的tf-idf值:
其中,TF(Kj)表示Kj在问答对K中出现的词频,DF(Kj)表示在知识库中包含词Kj的问答对的数目,L表示知识库中问答对的个数。
在确定出各个分词的tf-idf值后,终端按照由高到低顺序排序,选取排序靠前的m个分词形成新的词序列K(K1,K2,…Km),基于问答对对应的词序列K和问题对应的词序列Q可以确定问答对对应的词向量和问题对应的词向量然后通过如下公式(2)计算问题的词向量和问答对的词向量两者的余弦距离作为问题Q与问答对K的相似度:
其中,Z表示用户提出的问题对应的词序列Q(Q1,Q2,……Qn)和问答对对应的词序列K(K1,K2,…Km)中分词并集的分词个数;表示问题对应的词向量的第i个元素,表示问答对对应的词向量的第i个元素,i为介于1至Z的正整数。
针对问题序列中的任意一个问题Qi,根据上文所述的相似度计算方法计算其与知识库中问答对的相似度,若存在相似度大于预设阈值α的问答对,则表征问题与知识库中的问答对匹配,可以将匹配的问答对中的标准问题作为该问题对应的标准问题Oi。若匹配的问答对在知识库中是唯一的,则可以将其标准问题标记为unique,若匹配的问答对在知识库中不唯一,则可以选择相似度最大的问答对中的标准问题作为该问题对应的标准问题Oi,并将该标准问题标记为multi。
若不存在相似度大于α的问答对,则终端可以基于同义词词典,对问题Qi的词序列Q(W1,W2,…Wn)中的分词逐个执行词替换操作,然后计算替换问题与知识库中问答对的相似度,若存在与替换问题相似度大于α的问答对,则选择相似度最大的问答对中的标准问题作为该问题对应的标准问题Oi,若不存在,则针对下一分词执行词替换操作,并重新执行确定标准问题的步骤,若遍历所述词序列,仍无法匹配到知识库中的标准问题,则将Qi对应的标准问题Oi标记为unknow。在将用户提出的问题序列中的所有问题映射到知识库,将问题序列中对应的标准问题标识为unknown的项删除,将剩余项对应的标准问题组成的序列作为观测序列,应用到隐马尔可夫模型。
需要说明的是,在实际应用中,终端也可以不进行筛选操作,在对问答对进行分词处理得到词序列K(K1,K2,…Kn)后,直接根据问答对的词序列K(K1,K2,…Kn)确定问答对对应的词向量,然后计算问答对对应的词向量和问题对应的词向量的距离作为问答对与所述问题的相似度,以便根据该相似度确定问题对应的标准问题。
S203:根据所述观测序列和隐马尔可夫模型,确定出现概率最大的隐藏状态序列。
隐马尔可夫模型(Hidden Markov Model,HMM)是一种关于时序的概率模型,其描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,也即隐藏状态序列(statesequence),再由各个状态生成一个观测随机序列也即观测序列的过程。
在本实施例中,观测序列用于表征用户提出的问题,而隐藏状态序列用于表征所述观测序列中每个问题各自对应的问题场景类别。其中,问题场景类别用于标识问题对应的业务场景,例如,在旅游网站的问答系统中,问题场景类别可以是天气查询、景点查询等,在办公系统的问答系统中,问题场景类别可以是地区、部门等,医疗领域的分诊导诊系统中,问题场景类别可以是各个科室,如内科、外科等。
在已知隐马尔可夫模型和观测序列的情况下,终端可以将观测序列代入隐马尔可夫模型,求解出现可能性最大的隐藏状态序列。其中,终端在进行求解时,可以得到一组隐藏状态序列,终端可以从中确定出现概率最大的隐藏状态序列。
为了方便表述,可以将隐藏状态利用字符S表示,并根据下标区分不同隐藏状态。例如,隐藏状态S={S1,S2,S3…,Sn},即表征问题对应的问题场景类别可以是S1,S2,S3…,Sn这n种状态中的一种。隐藏状态序列即是上述隐藏状态中的至少一种所形成的序列。
S204:根据所述隐藏状态序列中待问答的问题对应的问题场景类别,确定与所述待回答的问题对应的答案,并根据所述答案进行问题答复。
可以理解,在确定出现概率最大的隐藏状态序列后,终端可以从中确定待回答的问题对应的问题场景类别,在进行问题答复时,终端可以基于待回答的问题对应的问题场景类别,从知识库中搜索对应的答案,并根据该答案进行问题答复。
需要说明的是,根据上述答案进行问题答复可以有多种实现方式。一种实现方式为,在显示屏上显示答案对应的文本内容,另一种实现方式为,通过播放器播放答案对应的语音内容,在有些情况下,还可以将上述两种实现方式相结合,如此,可以满足不同用户的需求。
由上可知,本申请实施例提供了一种智能问答方法,该方法是基于待回答的问题与其相邻的前N个问题之间的上下文关系,结合隐马尔可夫模型实现问题场景类别的自动预测,进而实现问题答复。具体地,确定包括用户提出的待回答的问题及其相邻的前N个问题在内的问题序列,将问题序列中每个问题映射到知识库,得到每个问题各自对应的标准问题,从而生成标准问题序列,将该标准问题序列作为观测序列,基于观测序列和隐马尔可夫模型确定出现概率最大的隐藏状态序列,该隐藏状态序列即用于表征观测序列中每个问题各自对应的问题场景类别,基于隐藏状态序列中待回答问题对应的问题场景类别,能够准确地确定出与待回答问题对应的答案,基于该答案进行问题答复。一方面用户无需按照业务流程中问题顺序进行提问,也无需先手动选择具体场景,即可得到相同问题的正确答案,提高了用户体验,另一方面,针对不同业务或者业务流程发生变更,更新隐马尔可夫模型即可满足需求,维护成本较低。
在图2所示实施例中,终端所采用的隐马尔可夫模型是预先生成的。在具体实现时,终端可以采集智能问答系统的历史问答记录,根据该历史问答记录生成隐马尔可夫模型。接下来,将结合具体实施例对隐马尔可夫模型的生成过程进行详细介绍。
参见图3所示的智能问答方法的流程图,该实施例是在图2所示实施例基础上的改进,图3所示实施例仅就与图2所示实施例区别之处进行重点说明,该方法还包括:
S301:采集智能问答系统的第一历史问答记录。
第一历史问答记录中记录有用户提出的第一历史问题、所述第一历史问题映射到所述知识库中所对应的标准问题以及所述第一历史问题对应的问题场景类别。具体地,终端可以采集一个用户在不同时刻的问答记录作为第一历史问答记录,也可以采集不同用户在指定时间周期的问答记录作为第一历史问答记录。在实际应用中,终端一般采集不同用户的问答记录,以确保数据的多样性。
在实际应用中,若第一历史问题对应的标准问题具有唯一性,也即在知识库中不存在相同问题时,则将该标准问题所属的问题场景类别作为第一历史问题的问题场景类别,若第一历史问题对应标准问题不具有唯一性,也即在知识库中存在相同问题,则可以选择该相同问题所属的问题场景类别中优先级较高的问题场景类别作为第一历史问题对应的问题场景类别。
S302:根据所述第一历史问题对应的标准问题以及所述第一历史问题对应的问题场景类别,统计生成各个问题场景类别之间的转移概率、各个问题场景类别下出现各个问题的第一出现概率以及各个问题场景类别的第二出现概率。
针对各个问题场景类别之间的转移概率,终端可以基于各个场景类别出现的频次,以及场景类别之间转换的频次确定各个问题场景类别之间的转移概率。具体地,终端可以根据第一历史问答记录中第一历史问题对应的问题场景类别,统计第一问题场景类别的出现频次,并且在当前问题属于第一问题场景类别的问答记录中统计下一问题为第二场景类别的出现频次,然后将下一问题为第二场景类别的出现频次与第一问题场景类别的出现频次的比值作为由第一问题场景类别向第二问题场景类别转移的转移概率。
针对各个问题场景类别下出现各个问题的第一出现概率,终端可以按照问题场景类别对第一历史问答记录中的问题进行分类,针对每一问题场景类别,分别确定该问题场景类别下问题出现总频次,以及该问题场景类别下各个问题对应的标准问题出现的频次,然后计算标准问题出现的频次与该问题场景类别下问题总频次的比值,作为该问题场景类别下出现各个问题的第一出现概率。
针对各个问题场景类别的第二出现概率,终端可以根据第一历史问答记录统计问题出现总频次,并统计各个问题场景类别出现频次,然后针对每一个问题场景类别,将该问题场景类别出现频次与问题出现总频次的比值作为该问题场景类别的第二出现概率。
下面结合具体示例进行说明。例如,终端采集到200条历史问答记录,这200条历史问答记录中标注有每个问题对应的标准问题以及问题场景类别,终端基于标注数据统计得到问题场景类别为S1的记录有30条,问题场景类别为S2的记录有50条,问题场景类别为S3的记录有70条……问题场景类别为Sn的记录有60条,也即问题出现总频次为200,S1出现频次为30,S2出现频次为50,S3出现频次为70,Sn出现频次为60,如此,可以得到S1的第二出现概率为30/200=0.15,S2的第二出现概率为50/200=0.4,在此不再一一赘述。
基于问题场景类别为S1的问答记录,终端分别统计其下一问题属于各问题场景类别的记录数,在该示例中,下一问题属于S1的记录有3条,下一问题为S2的记录有9,下一问题属于S3的记录有6条,则由S1向S1转移的转移概率为3/30=0.1,由S1向S2转移的转移概率为9/30=0.3。其他问题场景类别之间的转移概率可以参照该示例进行计算,在此不再赘述。
基于终端问题场景类别为S1的问答记录,终端分别统计其下一问题对应的标准问题的记录数,在该示例中,下一问题的标准问题为O1的记录有6条,下一问题的标准问题为O2的记录有3条,则在S1场景下,问题Q1的第一出现概率为6/30=0.2,问题Q2的第一出现概率为3/30=0.1。该问题场景类别下其他问题出现的第一出现概率和其他问题场景类别下各问题出现的第一出现概率可以参照该示例进行计算,在此不再一一例举。
S303:根据所述转移概率生成隐藏状态转移概率矩阵,根据所述第一出现概率生成观测状态转移概率矩阵,并根据所述第二出现概率生成初始状态概率向量。
由于隐藏状态表征问题场景类别,因此,终端可以将各个问题场景类别之间的转移概率作为隐藏状态之间的转移概率,并基于该转移概率生成隐藏状态转移概率矩阵。
为了方便表述,将隐藏状态转移概率矩阵记作A。作为本申请的一个示例,隐藏状态转移概率矩阵A可以表示为:
其中,第一行表示由状态S1分别转移至状态S1、S2…Sn的概率,同理,第二行表示由状态S2分别转移至状态S1、S2…Sn的概率,以此类推,第n行表示由状态Sn分别转移至S1、S2…Sn的概率。
由于观测状态能够表征用户提出的问题,因此,终端可以将各个问题场景类别下出现各个问题的第一出现概率作为观测状态的转移概率,并基于该转移概率生成观测状态转移概率矩阵。
为了方便表述,将观测状态转移概率矩阵记作B。作为本申请的一个示例,观测状态转移概率矩阵B可以表示为:
其中,第一行表示问题场景类别为S1时,问题O1、问题02、问题O3、问题O4…问题Om出现的概率为0.1、0.1、0.4、0.2…0.1,第二行表示问题场景类别为S2时,问题O1、问题02、问题O3、问题O4…问题Om出现的概率,依此类推,第n行表示问题场景为Sn时,问题O1、问题02、问题O3、问题O4…问题Om出现的概率。
由于隐藏状态表征问题场景类别,因此,终端可以将各个问题场景类别的第二出现概率作为各个隐藏状态对应的初始状态概率,并基于该初始状态概率生成初始状态概率向量。
为了方便表述,初始状态概率向量可以用π表示。若S1、S2、S3…Sn出现的概率为0.15、0.2、0.35…0.3,则初始状态概率向量π=[0.15,0.2,0.35…0.3]。
S304:根据所述隐藏状态转移概率矩阵、所述观测状态转移概率矩阵以及所述初始状态概率向量,生成隐马尔可夫模型。
具体地,针对任意一个隐藏状态序列,终端可以将初始隐藏状态出现概率依次与下一隐藏状态的条件概率相乘,将该乘积作为该隐藏状态序列出现的概率。其中,下一隐藏状态的条件概率是指当前隐藏状态下,出现指定的下一隐藏状态的概率。
以隐藏状态序列(S1',S2',S3',…Sn')为例进行说明,针对该隐藏状态序列,其初始隐藏状态为S1',其对应挂观测状态为O1,则初始隐藏状态出现概率具体为π(S1')*p(O1/S1'),此时,下一状态为S2',其对应的观测状态为O2,则S2'的条件概率为p(S2'/S1')*p(O2/S2'),当前状态为S2'时,S3'的条件概率为p(S3'/S2')*p(O3/S3'),依次类推,当前状态为Sn'-1时,Sn'的条件概率为p(Sn'/Sn'-1)*p(On/Sn'),将初始概率与下一状态的条件概率依次相乘,即可得到隐藏状态序列的出现概率,具体可以参见如下公式:
其中,π(S1')表示问题场景类别S1'对应的初始概率,也即S1'对应的第二出现概率,p(O1/S1')表示问题场景类别为S1'时,问题O1的发生概率,也即S1'场景类别下出现问题O1的第一出现概率,p(Si'/Si'-1)表示问题场景类别为Si'-1时,问题场景类别Si'的发生概率,也即由Si'-1场景类别向Si'场景类别转移的转移概率。
基于此,终端可以将初始状态概率向量π、隐藏状态转移概率矩阵A和观测状态转移概率矩阵B为参数的模型作为隐马尔可夫模型,用于对问题对应的问题场景类别进行预测。
以上为本申请实施例提供的一种智能问答方法的具体实现方式,在该实现方式中,主要对隐马尔可夫模型的生成进行了详细说明。需要说明的是,在确定隐马尔可夫模型的参数后,可以一直基于该参数对应的马尔可夫模型对问题对应的问题场景类别进行预测,也可以利用使用过程中新产生的问答记录更新马尔可夫模型的参数,并基于更新后的马尔可夫模型对问题场景类别进行预测。
针对隐马尔可夫模型的更新,本申请实施例提供了一种实现方式。具体地,终端周期性地采集智能问答系统运行所述隐马尔克夫模型所统计的第二历史问答记录,该第二历史问答记录中记录有第二历史问题、所述第二历史问题映射到所述知识库中所对应的标准问题以及所述第二历史问题对应的问题场景类别;然后,终端根据当前周期所采集的所述第二历史问题对应的标准问题以及所述第二历史问题对应的问题场景类别,统计生成各个问题场景类别之间的转移概率以及各个问题场景类别的出现概率;根据所述转移概率生成隐藏状态转移概率矩阵,并根据所述出现概率生成初始状态概率向量;根据所述隐藏状态转移概率矩阵、所述观测状态转移概率矩阵以及所述初始状态概率向量,生成当前周期对应的隐马尔可夫模型;并利用当前周期对应的隐马尔可夫模型,更新上一周期对应的隐马尔可夫模型。
其中,统计各个问题场景类别之间的转移概率、各个场景类别下出现各个问题的第一出现概率和各个场景类别下的第二出现概率,根据上述概率生成因此状态转移概率矩阵、观测状态转移概率矩阵、初始状态向量,以及根据上述概率矩阵和初始概率状态向量生成当前周期对应的隐马尔可夫模型的具体实现可以参见图3所示实施例相关内容描述,在此不再赘述。
还需要说明的是,更新周期可以根据实际需求而设置,例如可以设置为半年或一年。
为了使得本申请的技术方案更加清楚、易于理解,下面将结合具体应用场景对本申请实施例的智能问答方法进行介绍。
一个应用场景为办公系统,参见图4所示的智能问答方法在办公系统中的应用场景示意图,该应用场景中包括笔记本电脑410,该笔记本电脑410中存储有与办公系统对应的知识库,其知识库中配置多个问答对,例如有如下问答对:
沈阳分类下配置问答对:
问:A园区在哪?
答:A园区在沈阳市浑南新区
大连分类下配置问答对:
问:B园区在哪?
答:B园区在大连市中山区
汽车电子部门分类下:
问:HR邮箱?
答:汽车电子部门HR张三,邮箱zhangsan@neu.com
先行产品研发部门分类下:
问:HR邮箱?
答:先行产品研发部门HR李四,邮箱lisi@neu.com
此时,知识库中出现了相同问题,即HR邮箱。
由于在实际的场景中,汽车电子部门和行政部门位于沈阳A园区,而先行产品研发部门位于大连B园区,经过知识库的积累后发现,先前问题属于沈阳分类时,后一个问题的分类是汽车电子分类的概率要远大于先前问题属于沈阳时,后一个问题属于先行产品研发部门分类的概率。
所以,当用户预先提问了属于沈阳分类下问题的时候,如界面411所示,再询问HR邮箱这个问题时,根据隐马尔可夫模型的计算,优先返回“汽车电子”分类下的HR张三的邮箱,如界面412所示,如此满足了用户的需求。
另一个应用场景为医疗领域下的分诊导诊系统,参见图5所示的智能问答方法在分诊导诊系统中的应用场景示意图,该应用场景中包括分诊导诊系统510,在该分诊导诊系统510中,用户提问频率较高的问题即为“我要去哪挂号”,所以几乎每个科室的分类下,都会有该问题存在,从而出现相同问题的冲突。
用户首先输入“头疼,发烧”,此时,由于“上呼吸道感染”分类下的头疼和发烧首次出现的概率最高,系统第一轮会将该问题的分类设置为“上呼吸道感染”此时如果用户提问“我要去哪挂号”,系统会将回复用户:“您属于上呼吸道感染,请挂内科急诊”,具体可以参见界面511。
此时,如果用户继续输入“腹痛”,系统将再次计算,在“肠胃科”分类下,有“发烧”和“腹痛”问题,在“肠胃科”分类下,有“发烧”和“腹痛”问题,此时由于从“上呼吸道感染”分类到“肠胃科”的分类的出现概率小于从“肠胃科”到“肠胃科”分类的概率,系统此时判断用户输入的两个问题对应的隐含状态序列为:“肠胃科”,“肠胃科”,故此时如果用户再提问“我要去哪挂号”,则系统将回复用户:“您属于急性肠胃炎,请挂肠胃科急诊”,具体可以参见界面512。
以上为本申请实施例提供的智能问答方法的一些具体实现方式,基于此,本申请实施例还提供了对应的装置,下面将从功能模块化的角度,对本申请实施例提供的装置进行介绍。
参见图6所示的智能问答装置的一个结构示意图,该装置600包括:
第一确定模块610,用于确定问题序列,所述问题序列包括待回答的问题及其相邻的前N个问题,N为正整数;
映射模块620,用于将所述问题序列中每个问题映射到知识库,得到每个问题各自对应的标准问题;
观测序列生成模块630,用于根据所述每个问题各自对应的标准问题,生成所述问题序列对应的标准问题序列,将该标准问题序列作为观测序列;
第二确定模块640,用于根据所述观测序列和隐马尔可夫模型,确定出现概率最大的隐藏状态序列,所述隐藏状态序列用于表征所述观测序列中每个问题各自对应的问题场景类别;
答复模块650,用于根据所述隐藏状态序列中待问答的问题对应的问题场景类别,确定与所述待回答的问题对应的答案,并根据所述答案进行问题答复。
可选的,所述装置600还包括:
第一采集模块,用于采集智能问答系统的第一历史问答记录,所述第一历史问答记录中记录有用户提出的第一历史问题、所述第一历史问题映射到所述知识库中所对应的标准问题以及所述第一历史问题对应的问题场景类别;
第一统计模块,用于根据所述第一历史问题对应的标准问题以及所述第一历史问题对应的问题场景类别,统计生成各个问题场景类别之间的转移概率、各个问题场景类别下出现各个问题的第一出现概率以及各个问题场景类别的第二出现概率;
第一生成模块,用于根据所述转移概率生成隐藏状态转移概率矩阵,根据所述第一出现概率生成观测状态转移概率矩阵,并根据所述第二出现概率生成初始状态概率向量;
所述第一生成模块,还用于根据所述隐藏状态转移概率矩阵、所述观测状态转移概率矩阵以及所述初始状态概率向量,生成隐马尔可夫模型。
可选的,所述装置还包括第三确定模块,用于;
若所述第一历史问题对应的标准问题在所述知识库中不存在相同问题时,则将该标准问题所属的问题场景类别作为所述第一历史问题对应的问题场景类别;
若所述第一历史问题对应的标准问题在所述知识库中存在相同问题时,选择该相同问题所属的问题场景类别中优先级最高的问题场景类别,作为所述第一历史问题对应的问题场景类别。
可选的,所述装置还包括:
第二采集模块,用于周期性地采集所述智能问答系统运行所述隐马尔克夫模型所统计的第二历史问答记录,所述第二历史问答记录中记录有第二历史问题、所述第二历史问题映射到所述知识库中所对应的标准问题以及所述第二历史问题对应的问题场景类别;
第二统计模块,用于根据当前周期所采集的所述第二历史问题对应的标准问题以及所述第二历史问题对应的问题场景类别,统计生成各个问题场景类别之间的转移概率、各个问题场景类别下出现各个问题的第一出现概率以及各个问题场景类别的第二出现概率;
第二生成模块,用于根据所述转移概率生成隐藏状态转移概率矩阵,根据所述第一出现概率生成观测状态转移概率矩阵,并根据所述出现概率生成初始状态概率向量;
所述第二生成模块,还用于根据所述隐藏状态转移概率矩阵、所述观测状态转移概率矩阵以及所述初始状态概率向量,生成当前周期对应的隐马尔可夫模型;
更新模块,用于利用当前周期对应的隐马尔可夫模型,更新上一周期对应的隐马尔可夫模型。
可选的,所述映射模块620具体用于:
计算问题与所述知识库中每个问答对的相似度,所述问答对中包括标准问题及其对应的标准答案;
若存在相似度大于预设阈值的问答对,则选择相似度最大的问答对中的标准问题作为该问题对应的标准问题。
可选的,所述映射模块620还用于:
若不存在相似度大于预设阈值的问答对,则基于同义词词典对该问题进行词替换得到该问题对应的替换问题,则针对该替换问题,计算该替换问题与所述知识库中每个问答对的相似度;
若存在与所述替换问题的相似度大于预设阈值的问答对,则选择相似度最大的问答对中的标准问题作为该问题对应的标准问题。
可选的,所述映射模块620在计算问题与所述知识库中每个问答对的相似度时,具体用于:
针对所述知识库中每个问答对,基于词频-逆向文件频率TF-IDF算法,确定每个问答对对应的词序列,所述词序列包括m个关键词,所述m个关键词为该问答对中各个分词的词频-逆向文件频率值由高到低顺序排序时排序靠前的m个分词,所述m为正整数;
根据每个问答对对应的词序列和所述问题对应的词序列,确定每个问答对对应的词向量和所述问题对应的词向量;
计算每个问答对对应的词向量和所述问题对应的词向量之间的距离,作为每个问答对与所述问题的相似度。
可选的,所述第一确定模块610具体用于:
获取用户提出的当前问题,并从历史问答记录中,获取所述用户在所述当前问题之前所提出的前四个问题;
根据所述当前问题和所述前四个问题,确定问题序列。
可选的,所述答复模块650具体用于:
在显示屏上显示所述答案对应的文本内容;和/或,
通过播放器播放所述答案对应的语音内容。
由上可知,本申请实施例提供了一种智能问答装置,该装置基于待回答的问题与其相邻的前N个问题之间的上下文关系,结合隐马尔可夫模型实现问题场景类别的自动预测,进而实现问题答复。具体地,确定包括用户提出的待回答的问题及其相邻的前N个问题在内的问题序列,将问题序列中每个问题映射到知识库,得到每个问题各自对应的标准问题,从而生成标准问题序列,将该标准问题序列作为观测序列,基于观测序列和隐马尔可夫模型确定出现概率最大的隐藏状态序列,该隐藏状态序列即用于表征观测序列中每个问题各自对应的问题场景类别,基于隐藏状态序列中待回答问题对应的问题场景类别,能够准确地确定出与待回答问题对应的答案,基于该答案进行问题答复。一方面用户无需按照业务流程中问题顺序进行提问,也无需先手动选择具体场景,即可得到相同问题的正确答案,提高了用户体验,另一方面,针对不同业务或者业务流程发生变更,更新隐马尔可夫模型即可满足需求,维护成本较低。
本申请实施例还提供了一种设备,该设备具体可以为终端,用于实现本申请提供的智能问答方法。如图7所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括销售终端(英文全称:Point of Sales,英文缩写:POS)、车载电脑、迎宾机器人、分诊导诊机器人等任意终端设备,以终端为分诊导诊机器人为例:
图7示出的是与本申请实施例提供的终端相关的部分结构的框图。参考图7,分诊导诊机器人包括:存储器710、处理器720、输入单元730、显示单元740以及电源750。可选的,分诊导诊机器人还可以包括音频电路760。本领域技术人员可以理解,图7中示出的分诊导诊机器人的结构并不构成对分诊导诊机器人的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图7对分诊导诊机器人的各个构成部件进行具体的介绍。
存储器710可用于存储软件程序以及模块,处理器720通过运行存储在存储器710的软件程序以及模块,从而执行分诊导诊机器人的各种功能应用以及数据处理。存储器710可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据分诊导诊机器人的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器710可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器720是分诊导诊机器人的控制中心,利用各种接口和线路连接整个分诊导诊机器人的各个部分,通过运行或执行存储在存储器710内的软件程序和/或模块,以及调用存储在存储器710内的数据,执行分诊导诊机器人的各种功能和处理数据,从而对分诊导诊机器人进行整体监控。可选的,处理器720可包括一个或多个处理单元;优选的,处理器720可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器720中。
输入单元730可用于接收输入的数字或字符信息,以及产生与分诊导诊机器人的用户设置以及功能控制有关的键信号输入。具体地,输入单元730可包括触控面板731以及其他输入设备732。触控面板731,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板731上或在触控面板731附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板731可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器780,并能接收处理器780发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板731。除了触控面板731,输入单元730还可以包括其他输入设备732。具体地,其他输入设备732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元740可用于显示由用户输入的信息或提供给用户的信息以及分诊导诊机器人的各种菜单。显示单元740可包括显示面板741,可选的,可以采用液晶显示器(英文全称:Liquid Crystal Display,英文缩写:LCD)、有机发光二极管(英文全称:OrganicLight-Emitting Diode,英文缩写:OLED)等形式来配置显示面板741。进一步的,触控面板731可覆盖显示面板741,当触控面板731检测到在其上或附近的触摸操作后,传送给处理器720以确定触摸事件的类型,随后处理器720根据触摸事件的类型在显示面板741上提供相应的视觉输出。虽然在图7中,触控面板731与显示面板741是作为两个独立的部件来实现分诊导诊机器人的输入和输入功能,但是在某些实施例中,可以将触控面板731与显示面板741集成而实现分诊导诊机器人的输入和输出功能。
分诊导诊机器人还包括给各个部件供电的电源750(比如电池),优选的,电源可以通过电源管理系统与处理器720逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
音频电路760、扬声器761,传声器762可提供用户与手机之间的音频接口。音频电路760可将接收到的音频数据转换后的电信号,传输到扬声器761,由扬声器761转换为声音信号输出;另一方面,传声器762将收集的声音信号转换为电信号,由音频电路760接收后转换为音频数据,再将音频数据输出处理器720处理后,将音频数据输出至存储器710以便进一步处理。
尽管未示出,分诊导诊机器人还可以包括摄像头、蓝牙模块、无线保真(WIreless-Fidelity,Wi-Fi)模块、射频电路(radio frequency,RF)、传感器等,在此不再赘述。
在本申请实施例中,该终端所包括的处理器720还具有以下功能:
确定问题序列,所述问题序列包括待回答的问题及其相邻的前N个问题,N为正整数;
将所述问题序列中每个问题映射到知识库得到每个问题各自对应的标准问题;
根据所述每个问题各自对应的标准问题生成所述问题序列对应的标准问题序列,将该标准问题序列作为观测序列;
根据所述观测序列和隐马尔可夫模型,确定出现概率最大的隐藏状态序列,所述隐藏状态序列用于表征所述观测序列中每个问题各自对应的问题场景类别;
根据所述隐藏状态序列中待问答的问题对应的问题场景类别,确定与所述待回答的问题对应的答案,并根据所述答案进行问题答复。
可选的,处理器720还用于执行本申请实施例提供的智能问答方法中任意一种实现方式的步骤。
本申请实施例还提供一种计算机可读存储介质,用于存储程序代码,该程序代码用于执行前述各个实施例所述的一种智能问答方法中的任意一种实施方式。
本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的一种智能问答方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种智能问答方法,其特征在于,所述方法包括:
确定问题序列,所述问题序列包括待回答的问题及其相邻的前N个问题,N为正整数;
将所述问题序列中每个问题映射到知识库得到每个问题各自对应的标准问题;
根据所述每个问题各自对应的标准问题生成所述问题序列对应的标准问题序列,将该标准问题序列作为观测序列;
根据所述观测序列和隐马尔可夫模型,确定出现概率最大的隐藏状态序列,所述隐藏状态序列用于表征所述观测序列中每个问题各自对应的问题场景类别;
根据所述隐藏状态序列中待问答的问题对应的问题场景类别,确定与所述待回答的问题对应的答案,并根据所述答案进行问题答复。
2.根据权利要求1所述的智能问答方法,其特征在于,所述方法还包括:
采集智能问答系统的第一历史问答记录,所述第一历史问答记录中记录有用户提出的第一历史问题、所述第一历史问题映射到所述知识库中所对应的标准问题以及所述第一历史问题对应的问题场景类别;
根据所述第一历史问题对应的标准问题以及所述第一历史问题对应的问题场景类别,统计生成各个问题场景类别之间的转移概率、各个问题场景类别下出现各个问题的第一出现概率以及各个问题场景类别的第二出现概率;
根据所述转移概率生成隐藏状态转移概率矩阵,根据所述第一出现概率生成观测状态转移概率矩阵,并根据所述第二出现概率生成初始状态概率向量;
根据所述隐藏状态转移概率矩阵、所述观测状态转移概率矩阵以及所述初始状态概率向量,生成隐马尔可夫模型。
3.根据权利要求2所述的智能问答方法,其特征在于,所述第一历史问题对应的问题场景类别是通过以下方式确定的:
若所述第一历史问题对应的标准问题在所述知识库中不存在相同问题时,则将该标准问题所属的问题场景类别作为所述第一历史问题对应的问题场景类别;
若所述第一历史问题对应的标准问题在所述知识库中存在相同问题时,选择该相同问题所属的问题场景类别中优先级最高的问题场景类别,作为所述第一历史问题对应的问题场景类别。
4.根据权利要求1所述的智能问答方法,其特征在于,所述方法还包括:
周期性地采集所述智能问答系统运行所述隐马尔克夫模型所统计的第二历史问答记录,所述第二历史问答记录中记录有第二历史问题、所述第二历史问题映射到所述知识库中所对应的标准问题以及所述第二历史问题对应的问题场景类别;
根据当前周期所采集的所述第二历史问题对应的标准问题以及所述第二历史问题对应的问题场景类别,统计生成各个问题场景类别之间的转移概率、各个问题场景类别下出现各个问题的第一出现概率以及各个问题场景类别的第二出现概率;
根据所述转移概率生成隐藏状态转移概率矩阵,根据所述第一出现概率生成观测状态转移概率矩阵,并根据所述出现概率生成初始状态概率向量;
根据所述隐藏状态转移概率矩阵、所述观测状态转移概率矩阵以及所述初始状态概率向量,生成当前周期对应的隐马尔可夫模型;
利用当前周期对应的隐马尔可夫模型,更新上一周期对应的隐马尔可夫模型。
5.根据权利要求1至4中任一项所述的智能问答方法,其特征在于,通过以下方式将问题映射到知识库中得到与问题对应的标准问题:
计算问题与所述知识库中每个问答对的相似度,所述问答对中包括标准问题及其对应的标准答案;
若存在相似度大于预设阈值的问答对,则选择相似度最大的问答对中的标准问题作为该问题对应的标准问题。
6.根据权利要求5所述的智能问答方法,其特征在于,所述方法还包括:
若不存在相似度大于预设阈值的问答对,则基于同义词词典对该问题进行词替换得到该问题对应的替换问题,则针对该替换问题,计算该替换问题与所述知识库中每个问答对的相似度;
若存在与所述替换问题的相似度大于预设阈值的问答对,则选择相似度最大的问答对中的标准问题作为该问题对应的标准问题。
7.根据权利要求5所述的智能问答方法,其特征在于,所述计算问题与所述知识库中每个问答对的相似度,包括:
针对所述知识库中每个问答对,基于词频-逆向文件频率TF-IDF算法,确定每个问答对对应的词序列,所述词序列包括m个关键词,所述m个关键词为该问答对中各个分词的词频-逆向文件频率值由高到低顺序排序时排序靠前的m个分词,所述m为正整数;
根据每个问答对对应的词序列和所述问题对应的词序列,确定每个问答对对应的词向量和所述问题对应的词向量;
计算每个问答对对应的词向量和所述问题对应的词向量之间的距离,作为每个问答对与所述问题的相似度。
8.根据权利要求1至3中任一项所述的智能问答方法,其特征在于,所述确定问题序列,包括:
获取用户提出的当前问题,并从历史问答记录中,获取所述用户在所述当前问题之前所提出的前四个问题;
根据所述当前问题和所述前四个问题,确定问题序列。
9.一种智能问答装置,其特征在于,所述装置包括:
第一确定模块,用于确定问题序列,所述问题序列包括待回答的问题及其相邻的前N个问题,N为正整数;
映射模块,用于将所述问题序列中每个问题映射到知识库,得到每个问题各自对应的标准问题;
观测序列生成模块,用于根据所述每个问题各自对应的标准问题,生成所述问题序列对应的标准问题序列,将该标准问题序列作为观测序列;
第二确定模块,用于根据所述观测序列和隐马尔可夫模型,确定出现概率最大的隐藏状态序列,所述隐藏状态序列用于表征所述观测序列中每个问题各自对应的问题场景类别;
答复模块,用于根据所述隐藏状态序列中待问答的问题对应的问题场景类别,确定与所述待回答的问题对应的答案,并根据所述答案进行问题答复。
10.一种设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-6任一项所述的智能问答方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811565877.XA CN109635098B (zh) | 2018-12-20 | 2018-12-20 | 一种智能问答方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811565877.XA CN109635098B (zh) | 2018-12-20 | 2018-12-20 | 一种智能问答方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109635098A true CN109635098A (zh) | 2019-04-16 |
CN109635098B CN109635098B (zh) | 2020-08-21 |
Family
ID=66076031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811565877.XA Active CN109635098B (zh) | 2018-12-20 | 2018-12-20 | 一种智能问答方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109635098B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110297897A (zh) * | 2019-06-21 | 2019-10-01 | 科大讯飞(苏州)科技有限公司 | 问答处理方法及相关产品 |
CN110362601A (zh) * | 2019-06-19 | 2019-10-22 | 平安国际智慧城市科技股份有限公司 | 元数据标准的映射方法、装置、设备及存储介质 |
CN110442690A (zh) * | 2019-06-26 | 2019-11-12 | 重庆兆光科技股份有限公司 | 一种基于概率推理的询问优化方法、系统和介质 |
CN110750632A (zh) * | 2019-10-21 | 2020-02-04 | 闽江学院 | 一种改进的中文alice智能问答方法及系统 |
CN110990546A (zh) * | 2019-11-29 | 2020-04-10 | 中国银行股份有限公司 | 智能问答语料库更新方法和装置 |
CN111125329A (zh) * | 2019-12-18 | 2020-05-08 | 东软集团股份有限公司 | 一种文本信息筛选方法、装置及设备 |
CN112035620A (zh) * | 2020-08-31 | 2020-12-04 | 康键信息技术(深圳)有限公司 | 医疗查询系统的问答管理方法、装置、设备及存储介质 |
CN112699224A (zh) * | 2019-10-22 | 2021-04-23 | 中信百信银行股份有限公司 | 问答对话方法、装置、电子设备及计算机可读存储介质 |
CN112860874A (zh) * | 2021-03-24 | 2021-05-28 | 北京百度网讯科技有限公司 | 问答交互方法、装置、设备和存储介质 |
CN113379399A (zh) * | 2021-08-13 | 2021-09-10 | 南京新一代人工智能研究院有限公司 | 一种基于状态转移概率模型的rpa组件推荐方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1734445A (zh) * | 2004-07-26 | 2006-02-15 | 索尼株式会社 | 用于对话的方法、装置和程序及其中存储程序的存储介质 |
KR20110018140A (ko) * | 2009-08-17 | 2011-02-23 | 한국전자통신연구원 | 문서정보 학습기반 통계적 hmm 품사 태깅 장치 및 그 방법 |
US20110208730A1 (en) * | 2010-02-23 | 2011-08-25 | Microsoft Corporation | Context-aware searching |
CN103544496A (zh) * | 2012-07-12 | 2014-01-29 | 同济大学 | 基于空间与时间信息融合的机器人场景识别方法 |
CN105893208A (zh) * | 2016-03-31 | 2016-08-24 | 城云科技(杭州)有限公司 | 基于隐半马尔可夫模型的云计算平台系统故障预测方法 |
CN106409289A (zh) * | 2016-09-23 | 2017-02-15 | 合肥华凌股份有限公司 | 语音识别的环境自适应方法、语音识别装置和家用电器 |
CN106557462A (zh) * | 2016-11-02 | 2017-04-05 | 数库(上海)科技有限公司 | 命名实体识别方法和系统 |
CN108595494A (zh) * | 2018-03-15 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 答复信息的获取方法及装置 |
CN108900432A (zh) * | 2018-07-05 | 2018-11-27 | 中山大学 | 一种基于网络流行为的内容感知方法 |
-
2018
- 2018-12-20 CN CN201811565877.XA patent/CN109635098B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1734445A (zh) * | 2004-07-26 | 2006-02-15 | 索尼株式会社 | 用于对话的方法、装置和程序及其中存储程序的存储介质 |
KR20110018140A (ko) * | 2009-08-17 | 2011-02-23 | 한국전자통신연구원 | 문서정보 학습기반 통계적 hmm 품사 태깅 장치 및 그 방법 |
US20110208730A1 (en) * | 2010-02-23 | 2011-08-25 | Microsoft Corporation | Context-aware searching |
CN103544496A (zh) * | 2012-07-12 | 2014-01-29 | 同济大学 | 基于空间与时间信息融合的机器人场景识别方法 |
CN105893208A (zh) * | 2016-03-31 | 2016-08-24 | 城云科技(杭州)有限公司 | 基于隐半马尔可夫模型的云计算平台系统故障预测方法 |
CN106409289A (zh) * | 2016-09-23 | 2017-02-15 | 合肥华凌股份有限公司 | 语音识别的环境自适应方法、语音识别装置和家用电器 |
CN106557462A (zh) * | 2016-11-02 | 2017-04-05 | 数库(上海)科技有限公司 | 命名实体识别方法和系统 |
CN108595494A (zh) * | 2018-03-15 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 答复信息的获取方法及装置 |
CN108900432A (zh) * | 2018-07-05 | 2018-11-27 | 中山大学 | 一种基于网络流行为的内容感知方法 |
Non-Patent Citations (4)
Title |
---|
A. AYDIN ALATAN等: "Multimodal emotion recognition with evolutionary computation for human-robot interaction", 《MULTIMEDIA TOOLS AND APPLICATIONS》 * |
EUGÉNIO RIBEIRO等: "The Influence of Context on Dialogue Act Recognition", 《ARXIV:1506.00839 HTTPS://ARXIV.ORG/ABS/1506.00839》 * |
周小强等: "交互式问答的关系结构体系及标注", 《中文信息学报》 * |
魏宇虹等: "一种基于HMM模型的音频场景分析技术", 《计算机工程与应用》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110362601A (zh) * | 2019-06-19 | 2019-10-22 | 平安国际智慧城市科技股份有限公司 | 元数据标准的映射方法、装置、设备及存储介质 |
CN110297897A (zh) * | 2019-06-21 | 2019-10-01 | 科大讯飞(苏州)科技有限公司 | 问答处理方法及相关产品 |
CN110442690B (zh) * | 2019-06-26 | 2021-08-17 | 重庆兆光科技股份有限公司 | 一种基于概率推理的询问优化方法、系统和介质 |
CN110442690A (zh) * | 2019-06-26 | 2019-11-12 | 重庆兆光科技股份有限公司 | 一种基于概率推理的询问优化方法、系统和介质 |
CN110750632A (zh) * | 2019-10-21 | 2020-02-04 | 闽江学院 | 一种改进的中文alice智能问答方法及系统 |
CN110750632B (zh) * | 2019-10-21 | 2022-09-09 | 闽江学院 | 一种改进的中文alice智能问答方法及系统 |
CN112699224A (zh) * | 2019-10-22 | 2021-04-23 | 中信百信银行股份有限公司 | 问答对话方法、装置、电子设备及计算机可读存储介质 |
CN112699224B (zh) * | 2019-10-22 | 2024-05-17 | 中信百信银行股份有限公司 | 问答对话方法、装置、电子设备及计算机可读存储介质 |
CN110990546A (zh) * | 2019-11-29 | 2020-04-10 | 中国银行股份有限公司 | 智能问答语料库更新方法和装置 |
CN110990546B (zh) * | 2019-11-29 | 2023-11-17 | 中国银行股份有限公司 | 智能问答语料库更新方法和装置 |
CN111125329A (zh) * | 2019-12-18 | 2020-05-08 | 东软集团股份有限公司 | 一种文本信息筛选方法、装置及设备 |
CN111125329B (zh) * | 2019-12-18 | 2023-07-21 | 东软集团股份有限公司 | 一种文本信息筛选方法、装置及设备 |
CN112035620A (zh) * | 2020-08-31 | 2020-12-04 | 康键信息技术(深圳)有限公司 | 医疗查询系统的问答管理方法、装置、设备及存储介质 |
CN112860874A (zh) * | 2021-03-24 | 2021-05-28 | 北京百度网讯科技有限公司 | 问答交互方法、装置、设备和存储介质 |
CN113379399A (zh) * | 2021-08-13 | 2021-09-10 | 南京新一代人工智能研究院有限公司 | 一种基于状态转移概率模型的rpa组件推荐方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109635098B (zh) | 2020-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109635098A (zh) | 一种智能问答方法、装置、设备及介质 | |
CN108280458B (zh) | 群体关系类型识别方法及装置 | |
CN110009052A (zh) | 一种图像识别的方法、图像识别模型训练的方法及装置 | |
Rombach et al. | Core-periphery structure in networks | |
CN108595497B (zh) | 数据筛选方法、装置及终端 | |
CN110276075A (zh) | 模型训练方法、命名实体识别方法、装置、设备及介质 | |
CN109829433A (zh) | 人脸图像识别方法、装置、电子设备及存储介质 | |
CN104915351B (zh) | 图片排序方法及终端 | |
CN108038183A (zh) | 结构化实体收录方法、装置、服务器和存储介质 | |
CN107610770A (zh) | 用于自动化诊断的问题生成系统和方法 | |
CN110033851A (zh) | 信息推荐方法、装置、存储介质及服务器 | |
CN107077505A (zh) | 自动模式不匹配检测 | |
CN109903773A (zh) | 音频处理方法、装置及存储介质 | |
CN109582778A (zh) | 一种智能问答方法、装置、设备及介质 | |
CN111914113A (zh) | 一种图像检索的方法以及相关装置 | |
CN111353299B (zh) | 基于人工智能的对话场景确定方法和相关装置 | |
CN108228720B (zh) | 识别目标文字内容和原图相关性的方法、系统、装置、终端、及存储介质 | |
CN108875090B (zh) | 一种歌曲推荐方法、装置和存储介质 | |
CN110019777A (zh) | 一种信息分类的方法及设备 | |
CN110488990A (zh) | 输入纠错方法及装置 | |
CN113505256B (zh) | 特征提取网络训练方法、图像处理方法及装置 | |
CN109993234A (zh) | 一种无人驾驶训练数据分类方法、装置及电子设备 | |
US20130006906A1 (en) | Knowledge Transfer in Smart Environments | |
CN112750529A (zh) | 智能医疗问诊装置、设备及介质 | |
CN104977038B (zh) | 使用与关联存储器耦合的运动感测设备识别移动 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |