CN115114493A - 基于问题匹配的智能问答系统实现方法及装置 - Google Patents
基于问题匹配的智能问答系统实现方法及装置 Download PDFInfo
- Publication number
- CN115114493A CN115114493A CN202110283675.1A CN202110283675A CN115114493A CN 115114493 A CN115114493 A CN 115114493A CN 202110283675 A CN202110283675 A CN 202110283675A CN 115114493 A CN115114493 A CN 115114493A
- Authority
- CN
- China
- Prior art keywords
- question
- questions
- user
- similarity
- cluster
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90332—Natural language query formulation or dialogue systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于问题匹配的智能问答系统实现方法及装置,包括将问答知识库中的问题划分成多个问题簇,每个问题簇包括一个标准问题和与其相关的若干个拓展问题;对问答知识库中的问题和用户问题进行处理,将问题的文本信息转换为高维空间中的向量表示,得到基于向量表示的问答知识库和用户问题,对用户问题和问答知识库中的标准问题进行相似度计算,得到相似的问题作为候选问题,计算各候选问题的相似度并进行排序,将相似度最高的候选问题的答案作为用户问题的答案返回给用户。通过将问题文本信息进行向量表示,利用向量之间的相似度来判断用户问题和知识库中问题的相关程度,从而能快速的匹配出问答知识库中问题的答案。
Description
技术领域
本发明属于计算机信息技术领域,尤其是涉及一种基于问题匹配的智能问答系统实现方法及装置。
背景技术
智能问答系统是自然语言处理领域的一种典型应用,用户输入问题后,智能问答系统经过一系列的处理后给出与问题相关的答案。随着人工智能技术的发展,在大规模的互联网数据和自然语言处理技术的支撑下,智能问答系统被用于科技、教育、生活、购物等各种和人们日常生活息息相关的领域中,以前的人工客服已逐渐被智能问答系统所替代。
目前的智能问答系统往往是通过用户提出的问题中的关键词,与知识库中的问题进行匹配,然后将相关的答案反馈给用户。但是这种方式往往不能准确有效的解决用户提出的问题。
发明内容
本发明要解决的技术问题是怎样能够准确有效的根据用户提出的问题从知识库中找到答案,提出了一种基于问题匹配的智能问答系统实现方法及装置。
为解决上述技术问题,本发明所采用的技术方案是:
一种基于问题匹配的智能问答系统实现方法,包括以下步骤:
步骤1:将问答知识库中的问题划分成多个问题簇,每个问题簇包括一个标准问题和与其相关的若干个拓展问题,每个问题簇内的问题都具有相同的答案;
所述标准问题是指问题的文字描述较正式,或者不会导致歧义的简洁描述,所述拓展问题是指对标准问题的拓展,是对标准问题的不同描述方式,但本质上所要表达的信息和描述的问题与标准问题相同,所述标准问题及其相关的拓展问题对应的答案相同,所述标准问题和拓展问题在对问答知识库中的问题进行处理时进行标注;
步骤2:对问答知识库中各问题簇中的问题进行处理,将问题的文本信息转换为高维空间中的向量表示,得到基于向量表示的问答知识库;
步骤3:获取用户提出的问题,并对用户问题进行处理,将用户问题的文本信息转换为高维空间中的向量表示,得到基于向量表示的用户问题;
步骤4:对用户问题和问答知识库中的标准问题进行相似度计算,取相似度最高的前Top_k个标准问题作为候选问题;
步骤5:对所述前Top_k个候选问题,从问答知识库中获取与每个候选问题所在的问题簇内的拓展问题,对用户问题和每个问题簇内的拓展问题分别计算相似度,将用户问题与拓展问题相似度最高值作为用户问题和每个候选问题的相似度,
步骤6:将用户问题和所有候选问题的相似度进行从高到低的排序,并将各相似度值与预先设定的阈值进行比较,删除相似度低于阈值的候选问题;
步骤7:若所有的候选问题与用户问题的相似度都低于人工专家设定的阈值,则智能问答系统当前无法回答该用户问题,需要反馈给人工专家,对智能问答系统的问答知识库进行补充;
若候选问题与用户问题的相似度高于预先设定的阈值,则将相似度最高的候选问题的答案作为用户问题的答案返回给用户。
本发明还提供了一种基于问题匹配的智能问答系统实现装置,包括以下模块:
问题簇划分模块:用于将问答知识库中的问题划分成多个问题簇,每个问题簇包括一个标准问题和与其相关的若干个拓展问题,每个问题簇内的问题都具有相同的答案;
所述标准问题是指问题的文字描述较正式,或者不会导致歧义的简洁描述,所述拓展问题是指对标准问题的拓展,是对标准问题的不同描述方式,但本质上所要表达的信息和描述的问题与标准问题相同,所述标准问题及其相关的拓展问题对应的答案相同,所述标准问题和拓展问题在对问答知识库中的问题进行处理时进行标注;
问答知识库问题处理模块:用于对问答知识库中各问题簇中的问题进行处理,将问题的文本信息转换为高维空间中的向量表示,得到基于向量表示的问答知识库;
用户问题获取模块:用于获取用户提出的问题,并对用户问题进行处理,将用户问题的文本信息转换为高维空间中的向量表示,得到基于向量表示的用户问题;
候选问题选取模块:用于对用户问题和问答知识库中的标准问题进行相似度计算,取相似度最高的前Top_k个标准问题作为候选问题;
候选问题相似度计算模块:对所述前Top_k个候选问题,从问答知识库中获取与每个候选问题相关的拓展问题,对用户问题和每个候选问题的相关拓展问题分别计算相似度,将用户问题与拓展问题相似度最高值作为用户问题和每个候选问题的相似度;
相似度排序模块:将用户问题和所有候选问题的相似度进行从高到低的排序,并将各相似度值与预先设定的阈值进行比较,删除相似度低于阈值的候选问题;
答案输出模块:用于在所有的候选问题与用户问题的相似度都低于人工专家设定的阈值,则智能问答系统当前无法回答该用户问题,需要反馈给人工专家,对智能问答系统的问答知识库进行补充;
若候选问题与用户问题的相似度高于预先设定的阈值,则将相似度最高的候选问题的答案作为用户问题的答案返回给用户。
本发明还提供了另外一种基于问题匹配的智能问答系统实现方法,包括以下步骤:
S1:将问答知识库中的问题划分成多个问题簇,每个问题簇包括一个标准问题和与其相关的若干个拓展问题,每个问题簇内的问题都具有相同的答案;
所述标准问题是指问题的文字描述较正式,或者不会导致歧义的简洁描述,所述拓展问题是指对标准问题的拓展,是对标准问题的不同描述方式,但本质上所要表达的信息和描述的问题与标准问题相同,所述标准问题及其相关的拓展问题对应的答案相同,所述标准问题和拓展问题在对问答知识库中的问题进行处理时进行标注;
S2:对问答知识库中的所有问题进行处理,将问题的文本信息转换为高维空间中的向量表示,得到基于向量表示的问答知识库;
S3:对问答知识库中各问题簇中问题进行拆分与合并,得到拆分或合并后的各问题簇的中心向量,所述中心向量为问题簇中各个问题向量的平均值;
S4:获取用户问题,对用户问题进行处理,将用户问题的文本信息转换为高维空间中的向量表示,得到基于向量表示的用户问题;
S5:对用户问题的向量与问答知识库中各问题簇的中心向量计算相似度,选择前Top_K个相似度最高的中心向量所在的问题簇作为候选问题簇;
S6:计算用户问题与候选问题簇中各个问题的相似度,并将最高的相似度值作为用户问题与该问题簇的相似度,由此重新得到用户问题与各候选问题簇相似度,并从高到低进行排序;
S7:将各问题簇的相似度值与预先设定的阈值进行比较,丢弃小于阈值的候选问题簇,选择其中相似度最高的候选问题簇的标准问题作为用户问题匹配到的标准问题,将相似度最高的候选问题簇的答案作为用户问题的答案,同时选择剩下的候选问题簇中的相似度高的Top_M各问题作为相似问题推荐给用户。
采用上述技术方案,本发明具有如下有益效果:
本发明提供的一种基于问题匹配的智能问答系统实现方法及装置,通过将问题文本信息转换为高维空间中的向量表示,利用向量之间的相似度来判断用户问题和问答知识库中问题的相关程度,使用预先设定的阈值判断问答知识库中的问题是否和用户问题对同一现象或情况的表述,当问答知识库中的问题和用户问题是表述同一现象或情况时,即能以很高信度的将问答知识库中的问题的答案认为是能够解决用户问题的答案。本发明能够有效的提高智能问答系统在回答用户问题时的准确率。实验证明本发明所述的智能问答系统比其它的智能问答系统的准确率高5%左右。
附图说明
图1为本发明系统流程图;
图2为文本处理模块;
图3为用户问题与问题簇中心向量之间的位置关系,(a)为用户问题与分散的问题簇中心向量之间的位置关系,(b)为用户问题与拆分后的问题簇中心向量之间的位置关系。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
图1示出了本发明一种基于问题匹配的智能问答系统实现方法的具体实施例,包括以下步骤:
步骤1:将问答知识库中的问题划分成多个问题簇,每个问题簇包括一个标准问题和与其相关的若干个拓展问题,每个问题簇内的问题都具有相同的答案;
所述标准问题是指问题的文字描述较正式,或者不会导致歧义的简洁描述,所述拓展问题是指对标准问题的拓展,是对标准问题的不同描述方式,但本质上所要表达的信息和描述的问题与标准问题相同,所述标准问题及其相关的拓展问题对应的答案相同,所述标准问题和拓展问题在对问答知识库中的问题进行处理时进行标注;
步骤2:对问答知识库中各问题簇中的问题进行处理,将问题的文本信息转换为高维空间中的向量表示,得到基于向量表示的问答知识库;
本实施例中,对问答知识库中的问题和用户问题进行处理,处理指的是对问题的文本数据进行预处理,如图2所示的文本处理示意图,包括对符号进行处理,对字符进行对齐,对文本进行分词、改写和实体识别。
将问答知识库中的问题和用户问题的文本信息转换为高维空间中的向量表示的方法是:
对文本信息进行特征抽取,将文本信息转换为高维空间中的向量表示。
对文本信息进行特征抽取的方法是word2vec算法或transformers算法;
所述word2vec算法对文本信息中的单词进行向量表示,通过对不同单词给予不同的权重,根据对文本信息中所有单词的向量进行加权求和得到每个问题的向量表示;
所述transformers算法直接对每个问题进行向量表示,该算法获取用户问题和问答知识库中问题的文本中字或者单词之间的隐含关系,然后对每个问题进行向量表示。
步骤3:获取用户提出的问题,并对用户问题进行处理,将用户问题的文本信息转换为高维空间中的向量表示,得到基于向量表示的用户问题;
步骤4:对用户问题和问答知识库中的标准问题进行相似度计算,取相似度最高的前Top_k个标准问题作为候选问题;
步骤5:对所述前Top_k个候选问题,从问答知识库中获取与每个候选问题所在的问题簇内的拓展问题,对用户问题和每个问题簇内的拓展问题分别计算相似度,将用户问题与拓展问题相似度最高值作为用户问题和每个候选问题的相似度,
步骤6:将用户问题和所有候选问题的相似度进行从高到低的排序,并将各相似度值与预先设定的阈值进行比较,删除相似度低于阈值的候选问题;
步骤7:若所有的候选问题与用户问题的相似度都低于人工专家设定的阈值,则智能问答系统当前无法回答该用户问题,需要反馈给人工专家,对智能问答系统的问答知识库进行补充;
若候选问题与用户问题的相似度高于预先设定的阈值,则将相似度最高的候选问题的答案作为用户问题的答案返回给用户。
本实施例通过将问题文本信息转换为高维空间中的向量表示,利用向量之间的相似度来判断用户问题和问答知识库中问题的相关程度,使用预先设定的阈值判断问答知识库中的问题是否和用户问题对同一现象或情况的表述,当问答知识库中的问题和用户问题是表述同一现象或情况时,即能以很高信度的将问答知识库中的问题的答案认为是能够解决用户问题的答案。本发明能够有效的提高智能问答系统在回答用户问题时的准确率。
实施例二、
本发明还提供了一种基于问题匹配的智能问答系统实现装置,包括以下模块:
问题簇划分模块:用于将问答知识库中的问题划分成多个问题簇,每个问题簇包括一个标准问题和与其相关的若干个拓展问题,每个问题簇内的问题都具有相同的答案;
所述标准问题是指问题的文字描述较正式,或者不会导致歧义的简洁描述,所述拓展问题是指对标准问题的拓展,是对标准问题的不同描述方式,但本质上所要表达的信息和描述的问题与标准问题相同,所述标准问题及其相关的拓展问题对应的答案相同,所述标准问题和拓展问题在对问答知识库中的问题进行处理时进行标注;
问答知识库问题处理模块:用于对问答知识库中各问题簇中的问题进行处理,将问题的文本信息转换为高维空间中的向量表示,得到基于向量表示的问答知识库;
用户问题获取模块:用于获取用户提出的问题,并对用户问题进行处理,将用户问题的文本信息转换为高维空间中的向量表示,得到基于向量表示的用户问题;
候选问题选取模块:用于对用户问题和问答知识库中的标准问题进行相似度计算,取相似度最高的前Top_k个标准问题作为候选问题;
候选问题相似度计算模块:对所述前Top_k个候选问题,从问答知识库中获取与每个候选问题相关的拓展问题,对用户问题和每个候选问题的相关拓展问题分别计算相似度,将用户问题与拓展问题相似度最高值作为用户问题和每个候选问题的相似度;
相似度排序模块:将用户问题和所有候选问题的相似度进行从高到低的排序,并将各相似度值与预先设定的阈值进行比较,删除相似度低于阈值的候选问题;
答案输出模块:用于在所有的候选问题与用户问题的相似度都低于人工专家设定的阈值,则智能问答系统当前无法回答该用户问题,需要反馈给人工专家,对智能问答系统的问答知识库进行补充;
若候选问题与用户问题的相似度高于预先设定的阈值,则将相似度最高的候选问题的答案作为用户问题的答案返回给用户。
实施例三、
由于实施例一和实施例二需要将用户问题与问答知识库中各问题簇中的标准问题相似度比较,但是在匹配的准确度上仍然有待提高,为此
本发明提供了另外一种基于问题匹配的智能问答系统实现方法,包括以下步骤:
S1:将问答知识库中的问题划分成多个问题簇,每个问题簇包括一个标准问题和与其相关的若干个拓展问题,每个问题簇内的问题都具有相同的答案;
所述标准问题是指问题的文字描述较正式,或者不会导致歧义的简洁描述,所述拓展问题是指对标准问题的拓展,是对标准问题的不同描述方式,但本质上所要表达的信息和描述的问题与标准问题相同,所述标准问题及其相关的拓展问题对应的答案相同,所述标准问题和拓展问题在对问答知识库中的问题进行处理时进行标注;
S2:对问答知识库中的所有问题进行处理,将问题的文本信息转换为高维空间中的向量表示,得到基于向量表示的问答知识库;
S3:对问答知识库中各问题簇中问题进行拆分与合并,得到拆分或合并后的各问题簇的中心向量,所述中心向量为问题簇中各个问题向量的平均值;
拆分与合并的方法是:
当一个问题簇中问题的向量表示在高维空间中的分布过于分散时,使用自定义的层次聚类算法对问题簇进行拆分,具体为:对问题簇内所有问题的向量表示计算簇内方差,得到整个问答知识库各个问题簇的簇内方差的分布,当问题簇的簇内方差小于预设的阈值时则认为该问题簇内的问题不需要进行拆分,反之则将当前问题簇拆分成两个子问题簇,计算子问题簇的簇内方差,并将该簇内方差与预设的阈值进行比较,直到问题簇拆分得到的每个子问题簇的簇内方差都不大于预设的阈值,所述过于分散指的是问题簇内的簇内方差大于预设的阈值。
如图3所示,问题簇1对应的向量为Q1,Q1-1、Q1-2、Q1-3、Q1-4分别为问题簇1内的问题,问题簇2对应的向量为Q2,Q2-1、Q2-2分别为问题簇2内的问题,用户问题向量为Q,虚线所描述的向量为每个问题簇的中心向量。当两个问题簇的问题在高维空间中的向量表示如图3(a)所示时,用户问题向量Q与问题簇1的中心向量Q1更近,但是在高维空间中,用户问题向量Q事实上更靠近于问题簇2,导致该问题产生的原因是问题簇1中问题的文本描述差异过大,导致问题簇1分布在高维空间中的多个位置,而不是集中在一处,使其各个问题离问题簇的中心向量距离过远,同时该中心向量也不能有效的描述问题簇的语义信息,所以需要对问题簇进行拆分。拆分后的问题簇如图3(b)所示,问题簇1被拆分为2个子问题簇Q1和Q1',Q1-1、Q1-2被拆分成一个子问题簇,Q1-3、Q1-4被拆分成子问题簇Q1'内的问题Q1'-1、Q1'-2,可以很清晰的看出用户问题Q和问题簇Q2的中心向量更近,也符合真实情况。
当多个问题簇中问题的向量表示在高维空间中的分布过于集中时,需要人工专家对问答知识库中的这些问题进行人工审核,以判断多个问题簇所描述的文本信息是否相同或者高度相似,若相同或者高度相似,则需要将这多个问题簇合并为一个问题簇,所述过于集中是指问题簇内的簇内方差小于某一预设值。
S4:获取用户问题,对用户问题进行处理,将用户问题的文本信息转换为高维空间中的向量表示,得到基于向量表示的用户问题;
本实施例中,无论是对用户问题,还是对问答知识库中的问题进行向量表示,本实施例采用word2vec算法或transformers算法进行向量表示。
S5:对用户问题的向量与问答知识库中各问题簇的中心向量计算相似度,选择前Top_K个相似度最高的中心向量所在的问题簇作为候选问题簇;
本实施例中,在计算相似度时,由于存在问答知识库中问题簇的数量过多的情况,一般超过十万,在该情况下直接循环的计算余弦相似度或者使用向量和矩阵的乘法计算余弦相似度会存在计算时间过长的问题。为解决该问题,使用高维空间近似最邻近算法来计算相似度,具体为:对问答知识库中问题簇的中心向量构建图结构索引;根据用户问题的向量表示,在图结构中索引查找离用户问题向量最近的Top_K个向量,Top_K个向量即为相似度最高的问题簇得到候选问题簇的中心向量。通过实验,使用高维空间近似最邻近算法来实现余弦相似度计算能够有效的减少95%以上的计算时间,计算结果的误差在5%以内。
S6:计算用户问题与候选问题簇中各个问题的相似度,并将最高的相似度值作为用户问题与该问题簇的相似度,由此重新得到用户问题与各候选问题簇相似度,并从高到低进行排序;
S7:将各问题簇的相似度值与预先设定的阈值进行比较,丢弃小于阈值的候选问题簇,选择其中相似度最高的候选问题簇的标准问题作为用户问题匹配到的标准问题,将相似度最高的候选问题簇的答案作为用户问题的答案,同时选择剩下的候选问题簇中的相似度高的Top_M各问题作为相似问题推荐给用户。
本实施例通过使用各问题簇的中心向量与用户问题向量进行相似度计算,由于中心向量是问题簇内各问题向量的平均值,因此其能更好的代表一个问题簇,相比于实施例一和实施例二中的标准问题向量,本实施例在选取前Top_K个向量时更有代表性,因此在进行问题匹配时也更加精确。此外本实施例考虑到问题簇的分散或集中情况,采取了将问题簇拆分或合并,使得问题簇的划分更加合理。
实施例四:
使用前三个实施例中的方法,由于word2vec算法和transformers在对问答知识库中的问题和用户问题进行向量表示时提取得特征不同,使用word2vec算法构建的向量表示,其候选问题簇代表了根据问题的关键词信息获取到的离用户问题相似度最高的问题簇;使用transformers算法构建的向量表示,其候选问题簇代表了根据问题基于词顺序的语义信息获取到的离用户问题相似度最高的问题簇。其在进行问题匹配时使用单独的一种算法进行向量表示以及相似度计算进行匹配,精确度仍然不高,为此,在实施例三各步骤的基础上做了以下改进:
在S2中对问答知识库中的问题使用word2vec和transformers两种不用的算法分别构建问题的向量表示,得到两组问答知识库中的问题向量表示,
在S4中对用户问题使用word2vec和transformers两种不用的算法分别构建用户问题的向量表示,
在S5中对用户问题的向量表示分别与两组问答知识库中各问题簇的中心向量计算相似度,分别在两组问答知识库的问题向量表示中选择选择前Top_K个相似度最高的问题簇得到两组候选问题簇;由于使用了word2vec和transformers两种不用的算法构建问题的向量表示,所以在计算余弦相似度时,最终会得到两组不完全相同的候选问题簇。两组候选问题簇为互补关系,不构成冲突。
在S6中计算用户问题与两组候选问题簇中各个问题的相似度,并将最高的相似度值作为用户问题与该问题簇的相似度,由此重新得到用户问题与各候选问题簇在语义信息上的相似度,并从高到低进行排序;使用jaro距离来计算用户问题和两组候选问题簇中的各个问题计算字符相似度,选择最大值作为用户问题和问题簇的字符相似度;根据用户问题与两组候选问题簇计算的基于word2vec向量的语义相似度、基于transformers向量的语义相似度,和基于jaro距离的字符相似度计算用户问题与各问题簇的综合相似度,
所述综合相似度是指:
S=a(m*S1+n*S2)+b*S3
其中a、b、m、n为权重系数,S1为基于word2vec向量的语义相似度,S2为基于transformers向量的语义相似度,S3为基于jaro距离的字符相似度;
由于已经通过高维空间近似最邻近算法获取到两组和用户问题相似度最高的Top_K个候选问题簇,将搜索空间减少到一个很小的范围内,所以此时不再需要在降低精度的情况下对相似度计算进行加速。使用用户问题的向量表示和候选问题簇内各个问题的向量表示构成的矩阵,计算用户问题与问题簇中每个问题的相似度,并将最高的相似度值作为用户问题与该问题簇的相似度,由此重新得到用户问题与各候选问题簇在语义信息上的相似度,并从高到低进行排序。
本实施例中考虑了word2vec算法构建的向量表示,代表了根据问题的关键词信息,也考虑了transformers算法构建的向量表示,代表了根据问题基于词顺序的语义信息,另外也考虑了问题在文本字符上的相似度,对从三个不同方面进行相似度的考量得到综合相似度,使得相似度的可信度更高,因此其在问题匹配时的精确度更高。
对用户问题和问答知识库中的问题,还需要考虑其在字面上的相似度,即用户问题和问答知识库中的问题在在字符上的相同程度,当两个问题的文本描述完全相同时,字符相似度为1;反之完全不同时则字符相似度为0。
本实施例中在计算字符相似度时,使用jaro距离来计算用户问题和问答知识库中问题的字符相似度。类似与语义相似度,计算字符相似度时,仍然是对用户问题和两组候选问题簇中的各个问题进行计算,选择其中最大值作为用户问题和问题簇的字符相似度。
本实施例通过使用综合相似度进行比较,全面考虑了不同向量表示方法的优缺点,并且还考虑了字面上的相似度,因此,其在进行问题相似度比较时,会更加精确。
在S7中将各问题簇的综合相似度值与预先设定的阈值进行比较,丢弃小于阈值的候选问题簇,选择其中相似度最高的候选问题簇的标准问题作为用户问题匹配到的问题,选取相似度最高的问题簇的答案作为用户问题的答案,同时选择剩下的候选问题簇中的相似度高的Top_M各问题作为相似问题推荐给用户。
本发明能够有效的提高智能问答系统在回答用户问题时的准确率。实验证明本发明所述的智能问答系统比其它的智能问答系统的准确率高5%左右。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (12)
1.一种基于问题匹配的智能问答系统实现方法,其特征在于,包括以下步骤:
步骤1:将问答知识库中的问题划分成多个问题簇,每个问题簇包括一个标准问题和与其相关的若干个拓展问题,每个问题簇内的问题都具有相同的答案;
所述标准问题是指问题的文字描述较正式,或者不会导致歧义的简洁描述,所述拓展问题是指对标准问题的拓展,是对标准问题的不同描述方式,但本质上所要表达的信息和描述的问题与标准问题相同,所述标准问题及其相关的拓展问题对应的答案相同,所述标准问题和拓展问题在对问答知识库中的问题进行处理时进行标注;
步骤2:对问答知识库中各问题簇中的问题进行处理,将问题的文本信息转换为高维空间中的向量表示,得到基于向量表示的问答知识库;
步骤3:获取用户提出的问题,并对用户问题进行处理,将用户问题的文本信息转换为高维空间中的向量表示,得到基于向量表示的用户问题;
步骤4:对用户问题和问答知识库中的标准问题进行相似度计算,取相似度最高的前Top_k个标准问题作为候选问题;
步骤5:对所述前Top_k个候选问题,从问答知识库中获取与每个候选问题相关的拓展问题,对用户问题和每个候选问题的相关拓展问题分别计算相似度,将用户问题与拓展问题相似度最高值作为用户问题和每个候选问题的相似度,
步骤6:将用户问题和所有候选问题的相似度进行从高到低的排序,并将各相似度值与预先设定的阈值进行比较,删除相似度低于阈值的候选问题;
步骤7:若所有的候选问题与用户问题的相似度都低于人工专家设定的阈值,则智能问答系统当前无法回答该用户问题,需要反馈给人工专家,对智能问答系统的问答知识库进行补充;
若候选问题与用户问题的相似度高于预先设定的阈值,则将相似度最高的候选问题的答案作为用户问题的答案返回给用户。
2.根据权利要求1所述的实现方法,其特征在于,所述文本信息转换为高维空间中的向量表示的方法是:
对文本信息进行特征抽取,将文本信息转换为高维空间中的向量表示。
3.根据权利要求2所述的实现方法,其特征在于,所述对文本信息进行特征抽取的方法是word2vec算法或transformers算法;
所述word2vec算法对文本信息中的单词进行向量表示,通过对不同单词给予不同的权重,根据对文本信息中所有单词的向量进行加权求和得到每个问题的向量表示;
所述transformers算法直接对每个问题进行向量表示,该算法获取用户问题和问答知识库中问题的文本中字或者单词之间的隐含关系,然后对每个问题进行向量表示。
4.根据权利要求1所述的实现方法,其特征在于,还包括步骤8:将其它相似度高于预先设定阈值的候选问题作为推荐问题反馈给用户。
5.根据权利要求4所述的实现方法,其特征在于,步骤3中的相似度计算是指将用户问题向量表示与问答知识库中的问题向量表示计算余弦相似度。
6.根据权利要求1所述的实现方法,其特征在于,步骤1和步骤2中对问题进行处理是指对问题的文本数据进行预处理,包括对符号进行处理,对字符进行对齐,对文本进行分词、改写和实体识别。
7.一种基于问题匹配的智能问答系统实现装置,其特征在于:包括以下模块:
问题簇划分模块:用于将问答知识库中的问题划分成多个问题簇,每个问题簇包括一个标准问题和与其相关的若干个拓展问题,每个问题簇内的问题都具有相同的答案;
所述标准问题是指问题的文字描述较正式,或者不会导致歧义的简洁描述,所述拓展问题是指对标准问题的拓展,是对标准问题的不同描述方式,但本质上所要表达的信息和描述的问题与标准问题相同,所述标准问题及其相关的拓展问题对应的答案相同,所述标准问题和拓展问题在对问答知识库中的问题进行处理时进行标注;
问答知识库问题处理模块:用于对问答知识库中各问题簇中的问题进行处理,将问题的文本信息转换为高维空间中的向量表示,得到基于向量表示的问答知识库;
用户问题获取模块:用于获取用户提出的问题,并对用户问题进行处理,将用户问题的文本信息转换为高维空间中的向量表示,得到基于向量表示的用户问题;
候选问题选取模块:用于对用户问题和问答知识库中的标准问题进行相似度计算,取相似度最高的前Top_k个标准问题作为候选问题;
候选问题相似度计算模块:对所述前Top_k个候选问题,从问答知识库中获取与每个候选问题相关的拓展问题,对用户问题和每个候选问题的相关拓展问题分别计算相似度,将用户问题与拓展问题相似度最高值作为用户问题和每个候选问题的相似度;
相似度排序模块:将用户问题和所有候选问题的相似度进行从高到低的排序,并将各相似度值与预先设定的阈值进行比较,删除相似度低于阈值的候选问题;
答案输出模块:用于在所有的候选问题与用户问题的相似度都低于人工专家设定的阈值,则智能问答系统当前无法回答该用户问题,需要反馈给人工专家,对智能问答系统的问答知识库进行补充;
若候选问题与用户问题的相似度高于预先设定的阈值,则将相似度最高的候选问题的答案作为用户问题的答案返回给用户。
8.一种基于问题匹配的智能问答系统实现方法,其特征在于,包括以下步骤:
S1:将问答知识库中的问题划分成多个问题簇,每个问题簇包括一个标准问题和与其相关的若干个拓展问题,每个问题簇内的问题都具有相同的答案;
所述标准问题是指问题的文字描述较正式,或者不会导致歧义的简洁描述,所述拓展问题是指对标准问题的拓展,是对标准问题的不同描述方式,但本质上所要表达的信息和描述的问题与标准问题相同,所述标准问题及其相关的拓展问题对应的答案相同,所述标准问题和拓展问题在对问答知识库中的问题进行处理时进行标注;
S2:对问答知识库中的所有问题进行处理,将问题的文本信息转换为高维空间中的向量表示,得到基于向量表示的问答知识库;
S3:对问答知识库中各问题簇中问题进行拆分与合并,得到拆分或合并后的各问题簇的中心向量,所述中心向量为问题簇中各个问题向量的平均值;
S4:获取用户问题,对用户问题进行处理,将用户问题的文本信息转换为高维空间中的向量表示,得到基于向量表示的用户问题;
S5:对用户问题的向量与问答知识库中各问题簇的中心向量计算相似度,选择前Top_K个相似度最高的中心向量所在的问题簇作为候选问题簇;
S6:计算用户问题与候选问题簇中各个问题的相似度,并将最高的相似度值作为用户问题与该问题簇的相似度,由此重新得到用户问题与各候选问题簇相似度,并从高到低进行排序;
S7:将各问题簇的相似度值与预先设定的阈值进行比较,丢弃小于阈值的候选问题簇,选择其中相似度最高的候选问题簇的标准问题作为用户问题匹配到的标准问题,将相似度最高的候选问题簇的答案作为用户问题的答案,同时选择剩下的候选问题簇中的相似度高的Top_M各问题作为相似问题推荐给用户。
9.根据权利要求8所述的实现方法,其特征在于,S3中对问答知识库中各问题簇中问题进行拆分与合并的方法是:
当一个问题簇中问题的向量表示在高维空间中的分布过于分散时,使用自定义的层次聚类算法对问题簇进行拆分,具体为:对问题簇内所有问题的向量表示计算簇内方差,得到整个问答知识库各个问题簇的簇内方差的分布,当问题簇的簇内方差小于预设的阈值时则认为该问题簇内的问题不需要进行拆分,反之则将当前问题簇拆分成两个子问题簇,计算子问题簇的簇内方差,并将该簇内方差与预设的阈值进行比较,直到问题簇拆分得到的每个子问题簇的簇内方差都不大于预设的阈值,所述过于分散指的是问题簇内的簇内方差大于预设的阈值;
当多个问题簇中问题的向量表示在高维空间中的分布过于集中时,需要人工专家对问答知识库中的这些问题进行人工审核,以判断多个问题簇所描述的文本信息是否相同或者高度相似,若相同或者高度相似,则需要将这多个问题簇合并为一个问题簇,所述过于集中是指问题簇内的簇内方差小于某一预设值。
10.根据权利要求8所述的实现方法,其特征在于,
在S2中对问答知识库中的问题使用word2vec和transformers两种不用的算法分别构建问题的向量表示,得到两组问答知识库中的问题向量表示,
在S4中对用户问题使用word2vec和transformers两种不用的算法分别构建用户问题的向量表示,
在S5中对用户问题的向量表示分别与两组问答知识库中各问题簇的中心向量计算相似度,分别在两组问答知识库中选择选择前Top_K个相似度最高的问题簇得到两组候选问题簇;
在S6中计算用户问题与两组候选问题簇中各个问题的相似度,并将最高的相似度值作为用户问题与该问题簇的相似度,由此重新得到用户问题与各候选问题簇在语义信息上的相似度,并从高到低进行排序;使用jaro距离来计算用户问题和两组候选问题簇中的各个问题计算字符相似度,选择最大值作为用户问题和问题簇的字符相似度;根据用户问题与两组候选问题簇计算的基于word2vec向量的语义相似度、基于transformers向量的语义相似度,和基于jaro距离的字符相似度计算用户问题与各问题簇的综合相似度,
所述综合相似度是指:
S=a(m*S1+n*S2)+b*S3
其中a、b、m、n为权重系数,S1为基于word2vec向量的语义相似度,S2为基于transformers向量的语义相似度,S3为基于jaro距离的字符相似度;
在S7中将各问题簇的综合相似度值与预先设定的阈值进行比较,丢弃小于阈值的候选问题簇,选择其中相似度最高的候选问题簇的标准问题作为用户问题匹配到的问题,选取相似度最高的问题簇的答案作为用户问题的答案,同时选择剩下的候选问题簇中的相似度高的Top_M各问题作为相似问题推荐给用户。
11.根据权利要求10所述的实现方法,其特征在于,S5中在计算相似度时,使用高维空间近似最邻近算法来计算相似度。
12.根据权利要求11所述的实现方法,其特征在于,所述高维空间近似最邻近算法是指对问答知识库中问题簇的中心向量构建图结构索引;根据用户问题的向量表示,在图结构中索引查找离用户问题向量最近的Top_K个中心向量,Top_K个中心向量所在的问题簇即为相似度最高的Top_K个问题簇。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110283675.1A CN115114493A (zh) | 2021-03-17 | 2021-03-17 | 基于问题匹配的智能问答系统实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110283675.1A CN115114493A (zh) | 2021-03-17 | 2021-03-17 | 基于问题匹配的智能问答系统实现方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115114493A true CN115114493A (zh) | 2022-09-27 |
Family
ID=83323103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110283675.1A Pending CN115114493A (zh) | 2021-03-17 | 2021-03-17 | 基于问题匹配的智能问答系统实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115114493A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117235238A (zh) * | 2023-11-13 | 2023-12-15 | 广东蘑菇物联科技有限公司 | 问答方法、装置、存储介质及计算机设备 |
CN117851578A (zh) * | 2024-03-06 | 2024-04-09 | 中国铁塔股份有限公司 | 一种信息服务方法、装置及电子设备 |
-
2021
- 2021-03-17 CN CN202110283675.1A patent/CN115114493A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117235238A (zh) * | 2023-11-13 | 2023-12-15 | 广东蘑菇物联科技有限公司 | 问答方法、装置、存储介质及计算机设备 |
CN117235238B (zh) * | 2023-11-13 | 2024-03-08 | 广东蘑菇物联科技有限公司 | 问答方法、装置、存储介质及计算机设备 |
CN117851578A (zh) * | 2024-03-06 | 2024-04-09 | 中国铁塔股份有限公司 | 一种信息服务方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110162593B (zh) | 一种搜索结果处理、相似度模型训练方法及装置 | |
CN112035599B (zh) | 基于垂直搜索的查询方法、装置、计算机设备及存储介质 | |
CN109918487A (zh) | 基于网络百科全书的智能问答方法和系统 | |
CN112819023B (zh) | 样本集的获取方法、装置、计算机设备和存储介质 | |
CN112270188B (zh) | 一种提问式的分析路径推荐方法、系统及存储介质 | |
CN111858896B (zh) | 一种基于深度学习的知识库问答方法 | |
CN110895559A (zh) | 模型训练、文本处理方法、装置以及设备 | |
CN115470338B (zh) | 一种基于多路召回的多场景智能问答方法和系统 | |
CN113298197B (zh) | 数据聚类方法、装置、设备及可读存储介质 | |
CN113934830A (zh) | 文本检索模型训练、问答检索方法、装置、设备及介质 | |
CN112307182B (zh) | 一种基于问答系统的伪相关反馈的扩展查询方法 | |
CN112434134B (zh) | 搜索模型训练方法、装置、终端设备及存储介质 | |
CN114329029B (zh) | 对象检索方法、装置、设备及计算机存储介质 | |
CN112148831B (zh) | 图文混合检索方法、装置、存储介质、计算机设备 | |
CN113672718B (zh) | 基于特征匹配和领域自适应的对话意图识别方法及系统 | |
CN113342958B (zh) | 问答匹配方法、文本匹配模型的训练方法和相关设备 | |
CN115114493A (zh) | 基于问题匹配的智能问答系统实现方法及装置 | |
CN113220864B (zh) | 智能问答数据处理系统 | |
CN112131876A (zh) | 一种基于相似度确定标准问题的方法及系统 | |
CN116150335A (zh) | 一种军事场景下文本语义检索方法 | |
CN111858984A (zh) | 一种基于注意力机制哈希检索的图像匹配方法 | |
CN114358109A (zh) | 特征提取模型训练、样本检索方法、装置和计算机设备 | |
CN113722512A (zh) | 基于语言模型的文本检索方法、装置、设备及存储介质 | |
CN113392191B (zh) | 一种基于多维度语义联合学习的文本匹配方法和装置 | |
CN111581364A (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 |