CN112559723A - 一种基于深度学习的faq检索式问答构建方法及系统 - Google Patents

一种基于深度学习的faq检索式问答构建方法及系统 Download PDF

Info

Publication number
CN112559723A
CN112559723A CN202011584447.XA CN202011584447A CN112559723A CN 112559723 A CN112559723 A CN 112559723A CN 202011584447 A CN202011584447 A CN 202011584447A CN 112559723 A CN112559723 A CN 112559723A
Authority
CN
China
Prior art keywords
question
answer
questions
text
faq
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
Application number
CN202011584447.XA
Other languages
English (en)
Other versions
CN112559723B (zh
Inventor
孙永毫
蒙碧军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Guoli Education Technology Co ltd
Original Assignee
Guangdong Guoli Education Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Guoli Education Technology Co ltd filed Critical Guangdong Guoli Education Technology Co ltd
Priority to CN202011584447.XA priority Critical patent/CN112559723B/zh
Publication of CN112559723A publication Critical patent/CN112559723A/zh
Application granted granted Critical
Publication of CN112559723B publication Critical patent/CN112559723B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/355Class or cluster creation or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供的一种基于深度学习的FAQ检索式问答构建方法及系统,包括以下步骤:步骤S1,获取用户问题,并整理与所述用户问题相关的文档内容;步骤S2,构建训练集和测试集;步骤S3,在测试集和训练集的基础上,增强数据;步骤S4,模型建立及迭代优化;步骤S5,模型建立完之后,设置问答系统,用户任意问问题,系统会根据神经网络模型预测该问题属于哪一类,进而给出相应的答案;相比于传统方法,深度文本匹配模型能够从大量的样本中自动提取出词语之间的关系,并能结合短语匹配中的结构信息和文本匹配的层次化特性,发掘传统模型很难发掘的隐含在大量数据中含义不明显的特征,更精细地描述文本匹配问题。

Description

一种基于深度学习的FAQ检索式问答构建方法及系统
【技术领域】
本发明涉及教育技术领域,尤其是一种基于深度学习的FAQ检索式问答构建方法及系统。
【背景技术】
知识库有两种含义:一种是指专家系统设计所应用的规则集合,包含规则所联系的事实及数据,它们的全体构成知识库,这种知识库是与具体的专家系统有关,不存在知识库的共享问题,另一种是指具有咨询性质的知识库,这种知识库是共享的,不是一家所独有的,从今后的发展来看,巨型知识库将会出现,还依赖于硬件及软件条件的发展,下一代计算机所应考虑的重要问题之一是知识库的设计,以知识库为背景的知识库机及共管理系统构设计,知识库的概念来自两个不同的领域,一个是人工智能及其分支-知识工程领域,另一个是传统的数据库领域,由人工智能(AI)和数据库(DB)两项计算机技术的有机结合,促成了知识库系统的产生和发展。
自从krizhevsky等人提出基于深度学习理论的深度卷积神经网络Alexnet后,识别领域进入了新的纪元。深度卷积神经网络通过卷积运算由浅入深的提取知识的不同层次的特征,并通过学习算法使网络自动的调节卷积核的参数进行学习,在知识分类和识别上已经取得了显著效果。
但现有根据问题检索知识库和问答知识库,根据检索结果将答复发送给答复反馈模块,答复反馈模块用于将答复通过语言、文字或者照片反馈给用户,解决了现有通过搜索引擎获取医疗知识耗时且信息准确性难判的问题,然而现有知识库的检索存在以下不足:1)、在对知识库内的信息进行采集刷新的过程中,系统无法对收集的信息和知识进行的分类、整理,导致信息和知识不能有序化保存在知识库内,使用较为混乱,导致在检索的过程中,影响检索的速度。2)、通过组织用户对系统答复结果进行审阅修改,并依据其审阅修改不断完善更新知识库,由于系统答复结果繁杂,会耗费了用户大量的精力和时间,同时人工审阅修改降低了知识库的更新速度,不利于其发展。
如何将深度卷积神经网络技术与知识库相结合,从大量的样本中自动提取出词语之间的关系,发掘传统模型很难发掘的隐含在大量数据中含义不明显的特征,是目前迫切需要解决的一项技术问题。
【发明内容】
本发明提供一种基于深度学习的FAQ检索式问答构建方法及系统,深度文本匹配模型能够从大量的样本中自动提取出词语之间的关系,并能结合短语匹配中的结构信息和文本匹配的层次化特性,发掘隐含在大量数据中含义不明显的特征,更精细地描述文本匹配问题。
为达到上述明目的,采用的技术方案如下:
一种基于深度学习的FAQ检索式问答构建方法,包括以下步骤:
步骤S1,获取用户问题,并整理与所述用户问题相关的文档内容;
步骤S2,构建训练集和测试集;
步骤S3,在测试集和训练集的基础上,增强数据;
步骤S4,模型建立及迭代优化;
步骤S5,模型建立完之后,设置问答系统,用户任意问问题,系统会根据神经网络模型预测该问题属于哪一类,进而给出相应的答案。
进一步地,所述步骤S1中,对于有大量问答记录的场景,问答记录里面包括很多高频的知识点,所述高频的知识点包括问题和答案;
所述高频的知识点对应的问法通常并不唯一,即知识库的结构为一个问题集合对应同一个答案,其针对FAQ数据有以下三种数据类型:
(1)、标准问q:FAQ中问题的标准用户query;
(2)、答案A:FAQ中标准问对应的标准回答;
(3)、相似问q1,q2…:跟标准问语义相似可用同一答案回答的query;
其中,标准问q、对应答案A、以及该标准问q对应的所有相似问q1,q2,…,一起组成一个知识点。
进一步地,所述步骤S1中,需要建立一个更加合理的知识库,要求每个知识点只包含一个意图,且知识点之间没有交叉、歧义、冗余等容易造成混淆的因素;
而且,所述知识库的标注为每个FAQ积累一定数量的有代表性的相似问。
进一步地,所述步骤S1的后期持续维护包括:新FAQ发现,以及原FAQ的合并、拆分和纠正等。
进一步地,所述步骤S2中,具体包括以下步骤:
测试集构造:将相似问中的第一条相似问q1作为query,从FAQ知识库的所有知识点中通过Lucene召回30个知识点作为候选集;
训练集构造:包含两部分,一部分是正例的构造,另一部分是负例的构造,所述正例的构造和所述负例的构造中数据的构造方式将直接影响到最终的效果;
在正例的构造中,因为每个知识点的第一个相似问是作为测试集中出现的,所以在构造训练集的时候排除掉所有知识点中的第一条相似问q1;这样,有多于2个相似问的知识点、还有多于的其他相似问可以用来构造训练集;将这些识点中的标准问和从相似问的第二条开始(即[q2,q3,…,qn])可以按照不同方式构造出正例和负例。
进一步地,所述步骤S2中,在训练集正例的构造中,去除所有知识点中的第一条相似问q1,其他相似问及标准问两两组合成正例pair对;对于相似问多的知识点进行剪切。
进一步地,所述步骤S2中,训练集负例的构造方式包括:按Jaccard距离召回、按Lucene召回、从其他知识点中随机选择和按照正例中各问题出现的比例从其他知识点中采样选择,以及每个句子和句子中的名词/动词构成pair对;而针对知识点分布不均衡的问题,对相似问很多的知识点进行相似问剪切。
进一步地,所述步骤S3中,由于深度学习需要较多的数据,为了增强数据,采用以下策略:
交换两个句子之间的顺序;
对句子进行分词,重新组合生成新的句子;
打乱句子的顺序,随机抽取句子。
进一步地,所述步骤S4中,模型的基本框架一般都是将待匹配的两个句子分别使用两个encoder来获取对应context信息,然后将二者的context信息进行匹配,得到匹配后的特征信息;或者模型的基本框架在匹配之后的特征后面加上一些其他的传统文本特征,将所有这些特征进行concat;模型的基本框架最后接上softmax层,做最终的分类;模型建立及迭代优化具体包括以下步骤:
步骤S41,Embedding层:使用word2vec训练词向量;
首先,基于Word2vec工具,分别将词向量转化为问题词向量和答案词向量,从而得到问答文本集合所对应的问题词向量矩阵Q=(q1,q2,…,qL)和答案词向量A=(a1,a2,…,am),其中,L和m分别为问答文本集合中题和答案的数量,qi(1≤i≤L)为第i个问题所对应的列向量,aj(1≤j≤m)为第j个答案所对应的列向量;
接着,把问题词向量矩阵Q和答案词向量A输入到LSTM网络中去训练学习词序序列的语义特征信息,为了便于并行矩阵的计算,本发明中输入的长度选定一个最大值,句子中的词语较少则用0补充,大于最大的词语长度的句子则会截掉,模型中所有权重W和偏置b随机初始化为U(-0.05,+0.05)均匀分布;
在学习过程中,首先通过LSTM网络内部的遗忘门ft来决定LSTM网络从细胞单元状态中丢弃哪些信息,同时,t时刻的词语会读取t-1个隐藏层的输出h t-1和当前时刻输入词向量q t,以及输入一个在0到1之间的偏置b f,并传递给t-1时刻的细胞单元状态C t-1,其计算方式为:ft=σ(W f[q t,h t-1]+b f),其中σ为Sigmoid激励函数,W f为遗忘门杈重矩阵;
其次,通过输入门i t来决定什么值需要进行更新,其计算公式表示为:i t=σ(Wi[q t,h t-1]+b i),其中σ为Sigmoid激励函数,W i为输入门杈重矩阵,b i为0到1之间的偏置;
然后,根据Tanh非线性激活函数来创建候选值其计算公式表示为:
Figure BDA0002864521410000051
其中W c为候选杈重矩阵,b c为0到1之间的偏置;在此基础上,更新t时刻的细胞单元内部状态C t,其计算公式为:
Figure BDA0002864521410000052
最后,计算并获取输出门的向量为Ot,其计算公式为:Ot=σ(W o[q t,h t-1]+bo),其中σ为Sigmoid激励函数,W o为输出门杈重矩阵,b o为0到1之间的偏置,以及LSTM网络隐藏层的输出值h t,其计算公式为:h t=Ot*tanh(C t);
步骤S42,Encoder层:卷积具有局部特征提取的功能;
用CNN来提取句子中类似n-gram的关键信息,考虑文本的上下文信息,将LSTM网络的输出结果作为输入到CNN网络中,去学习更深层次的句子n-gram局部特征信息;
设定卷积窗口大小为k,相邻的词向量拼接矩阵为Z,卷积核数为c,那么卷积的过程如下:
G=f(W Z+b),
其中,f是ReLU激活函数,W和b为随机正态分布初始化U(0,0.05)的杈重矩阵和偏置;
经过卷积操作后,可以得到问题文本的深层词向量矩阵DQ和答案文本的深层词向量矩阵DA。
步骤S43,匹配层(Matching):在得到两个句子的表示后,要针对两个句子的表示进行matching操作;
获得的问题文本深层词向量矩阵DQ和答案文本深层词向量矩阵DA,计算问答文本对中每对词之间的一个匹配程度矩阵S,计算方式如下:
S(i,j)=Tanh(DQi⊙ADj)
其中Tanh为非线性激活函数,DQi表示问题文本中第i个词向量,DAj表示答案文本中第j个词向量,⊙为向量点乘,S(i,j)表示问题文本第i个词与答案文本第j个词之间的语义匹配分数;
接着,对匹配程度矩阵S做行级的最大池化,并生成向量gq,其中第i个值表示问题文本第i个词对答案的重要性程度,同时,对匹配程度矩阵S做列级的最大池化,并生成向量ga,其中第j个值表示答案文本第j个词对问题的重要性程度;
然后,分别对gq和ga选取最大的p个值,分别把这p个值对应的词语重新输入到LSTM网络中,并选取最后时刻的隐藏层输出,分别得到维度为h的语义特征向量Oq和Oa,从而根据Oq与Oa来计算向量间的空间距离值作为问题文本和答案文本匹配的程度。
一种基于深度学习的FAQ检索式问答系统,包括:
问答模块,用于接收用户的输入问题,并对所述输入问题进行预处理;所述预处理过程包括构建训练集和构建测试集、并在构建训练集和构建测试集的基础上增强数据,将预处理后的所述输入问题发送至深度学习模块;
深度学习模块,用于提取所述预处理后的输入问题中的特征信息,并根据所述特征信息生成对应的问题词向量,并根据预设的问题分类模型、问题匹配模型和问题词向量信息,从知识库模块中获取相匹配的标准问题及精确度较高的答案,并将精确度较高的答案返回至问答模块;
所述知识库模块,用于判断知识库中是否存在与未识别问题对应的标准问题,并在所述知识库中存在与所述未识别问题对应的标准问题时,对与所述未识别问题对应的标准问题进行标注,并在所述知识库中不存在与所述未识别问题对应的标准问题时,根据未识别问题创建新标准问题,并对所述新标准问题进行标注,同时补充新标准问题对应的标准答案;
所述深度学习模块还用于根据标注的与所述未识别问题对应的标准问题及匹配答案模型化训练。
本发明的优点:
本发明相比于传统方法,深度文本匹配模型能够从大量的样本中自动提取出词语之间的关系,并能结合短语匹配中的结构信息和文本匹配的层次化特性,发掘传统模型很难发掘的隐含在大量数据中含义不明显的特征,更精细地描述文本匹配问题。
【说明书附图】
图1是本发明中FAQ检索式问答构建方法流程图;
图2是本发明的模型构建框架图;
图3是本发明中FAQ检索式问答系统各模块之间的关系图。
【具体实施方式】
下面通过具体实例对本发明的内容作进一步的说明。
第一方面:一种基于深度学习的FAQ检索式问答构建方法,如图1和图2所示,包括以下步骤:
步骤S1,获取用户问题,并整理与所述用户问题相关的文档内容;
在步骤S1中,对于有大量问答记录的场景,例如智能客服,问答记录里面包括很多高频的知识点,所述高频的知识点包括问题和答案;
该高频的知识点对应的问法通常并不唯一,即知识库的结构为一个问题集合对应同一个答案,其针对FAQ数据有以下三种数据类型:
(1)、标准问q:FAQ中问题的标准用户query;
(2)、答案A:FAQ中标准问对应的标准回答;
(4)、相似问q1,q2…:跟标准问语义相似可用同一答案回答的query;
其中,标准问q、对应答案A、以及该标准问q对应的所有相似问q1,q2,…,一起组成一个知识点。
同时,需要建立一个更加合理的知识库,要求每个知识点只包含一个意图,且知识点之间没有交叉、歧义、冗余等容易造成混淆的因素;而且,所述知识库的标注为每个FAQ积累一定数量的有代表性的相似问。以及步骤S1的后期持续维护包括:新FAQ发现,以及原FAQ的合并、拆分和纠正等。
步骤S2,构建训练集和测试集;
测试集构造:将相似问中的第一条相似问q1作为query,从FAQ知识库的所有知识点中通过Lucene召回30个知识点作为候选集;
训练集构造:包含两部分,一部分是正例的构造,另一部分是负例的构造,所述正例的构造和所述负例的构造中数据的构造方式将直接影响到最终的效果;
在正例的构造中,因为每个知识点的第一个相似问是作为测试集中出现的,所以在构造训练集的时候排除掉所有知识点中的第一条相似问q1;这样,有多于2个相似问的知识点、还有多于的其他相似问可以用来构造训练集;将这些识点中的标准问和从相似问的第二条开始(即[q2,q3,…,qn])可以按照不同方式构造出正例和负例。
在训练集正例的构造中,去除所有知识点中的第一条相似问q1,其他相似问及标准问两两组合成正例pair对;对于相似问多的知识点进行剪切。
训练集负例的构造方式包括:按Jaccard距离召回、按Lucene召回、从其他知识点中随机选择和按照正例中各问题出现的比例从其他知识点中采样选择,以及每个句子和句子中的名词/动词构成pair对;而针对知识点分布不均衡的问题,对相似问很多的知识点进行相似问剪切。
步骤S3,在测试集和训练集的基础上,增强数据;
由于深度学习需要较多的数据,为了增强数据,采用以下策略:
交换两个句子之间的顺序;
对句子进行分词,重新组合生成新的句子;
打乱句子的顺序,随机抽取句子。
步骤S4,模型建立及迭代优化;
模型的基本框架一般都是将待匹配的两个句子分别使用两个encoder来获取对应context信息,然后将二者的context信息进行匹配,得到匹配后的特征信息;或者模型的基本框架也可以在匹配之后的特征后面加上一些其他的传统文本特征,将所有这些特征进行concat;模型的基本框架最后接上softmax层,做最终的分类;如图2所示的模型的框架图,模型建立及迭代优化具体包括以下步骤:
步骤S41,Embedding层:使用word2vec训练词向量;
首先,基于Word2vec工具,分别将词向量转化为问题词向量和答案词向量,从而得到问答文本集合所对应的问题词向量矩阵Q=(q1,q2,…,qL)和答案词向量A=(a1,a2,…,am),其中,L和m分别为问答文本集合中题和答案的数量,qi(1≤i≤L)为第i个问题所对应的列向量,aj(1≤j≤m)为第j个答案所对应的列向量;
接着,把问题词向量矩阵Q和答案词向量A输入到LSTM网络中去训练学习词序序列的语义特征信息,为了便于并行矩阵的计算,本发明中输入的长度选定一个最大值,句子中的词语较少则用0补充,大于最大的词语长度的句子则会截掉,模型中所有权重W和偏置b随机初始化为U(-0.05,+0.05)均匀分布;
在学习过程中,首先通过LSTM网络内部的遗忘门ft来决定LSTM网络从细胞单元(cell)状态中丢弃哪些信息,同时,t时刻的词语会读取t-1个隐藏层的输出h t-1和当前时刻输入词向量q t,以及输入一个在0到1之间的偏置b f,并传递给t-1时刻的细胞单元状态C t-1,其计算方式为:ft=σ(W f[q t,h t-1]+b f),其中σ为Sigmoid激励函数,W f为遗忘门杈重矩阵;
其次,通过输入门i t来决定什么值需要进行更新,其计算公式表示为:i t=σ(Wi[q t,h t-1]+b i),其中σ为Sigmoid激励函数,W i为输入门杈重矩阵,b i为0到1之间的偏置;
然后,根据Tanh非线性激活函数来创建候选值其计算公式表示为:
Figure BDA0002864521410000111
其中W c为候选杈重矩阵,b c为0到1之间的偏置;在此基础上,更新t时刻的细胞单元内部状态C t,其计算公式为:
Figure BDA0002864521410000112
最后,计算并获取输出门的向量为Ot,其计算公式为:Ot=σ(W o[q t,h t-1]+bo),其中σ为Sigmoid激励函数,W o为输出门杈重矩阵,b o为0到1之间的偏置,以及LSTM网络隐藏层的输出值h t,其计算公式为:h t=Ot*tanh(C t);
步骤S42,Encoder层:卷积具有局部特征提取的功能;
用CNN来提取句子中类似n-gram的关键信息,考虑文本的上下文信息,将LSTM网络的输出结果作为输入到CNN网络中,去学习更深层次的句子n-gram局部特征信息;
设定卷积窗口大小为k,相邻的词向量拼接矩阵为Z,卷积核数为c,那么卷积的过程如下:
G=f(W Z+b),
其中,f是ReLU激活函数,W和b为随机正态分布初始化U(0,0.05)的杈重矩阵和偏置;
经过卷积操作后,可以得到问题文本的深层词向量矩阵DQ和答案文本的深层词向量矩阵DA。
步骤S43,匹配层(Matching):在得到两个句子的表示后,要针对两个句子的表示进行matching操作;
获得的问题文本深层词向量矩阵DQ和答案文本深层词向量矩阵DA,计算问答文本对中每对词之间的一个匹配程度矩阵S,计算方式如下:
S(i,j)=Tanh(DQi⊙ADj)
其中Tanh为非线性激活函数,DQi表示问题文本中第i个词向量,DAj表示答案文本中第j个词向量,⊙为向量点乘,S(i,j)表示问题文本第i个词与答案文本第j个词之间的语义匹配分数;
接着,对匹配程度矩阵S做行级的最大池化,并生成向量gq,其中第i个值表示问题文本第i个词对答案的重要性程度,同时,对匹配程度矩阵S做列级的最大池化,并生成向量ga,其中第j个值表示答案文本第j个词对问题的重要性程度;
然后,分别对gq和ga选取最大的p个值,分别把这p个值对应的词语重新输入到LSTM网络中,并选取最后时刻的隐藏层输出,分别得到维度为h的语义特征向量Oq和Oa,从而根据Oq与Oa来计算向量间的空间距离值作为问题文本和答案文本匹配的程度。
步骤S5,模型建立完之后,设置问答系统,用户任意问问题,系统会根据神经网络模型预测该问题属于哪一类,进而给出相应的答案。
第二方面,该基于深度学习的FAQ检索式问答系统,如图2和图3所示,包括:
问答模块,用于接收用户的输入问题,并对输入问题进行预处理;预处理过程包括构建训练集和构建测试集、并在构建训练集和构建测试集的基础上增强数据,将预处理后的所述输入问题发送至深度学习模块;
深度学习模块,用于提取预处理后的输入问题中的特征信息,并根据特征信息生成对应的问题词向量,并根据预设的问题分类模型、问题匹配模型和问题词向量信息,从知识库模块中获取相匹配的标准问题及精确度较高的答案,并将精确度较高的答案返回至问答模块;
知识库模块,用于判断知识库中是否存在与未识别问题对应的标准问题,并在知识库中存在与未识别问题对应的标准问题时,对与未识别问题对应的标准问题进行标注,并在知识库中不存在与未识别问题对应的标准问题时,根据未识别问题创建新标准问题,并对新标准问题进行标注,同时补充新标准问题对应的标准答案;
该深度学习模块还用于根据标注的与未识别问题对应的标准问题及匹配答案模型化训练。
本发明相比于传统方法,深度文本匹配模型能够从大量的样本中自动提取出词语之间的关系,并能结合短语匹配中的结构信息和文本匹配的层次化特性,发掘传统模型很难发掘的隐含在大量数据中含义不明显的特征,更精细地描述文本匹配问题。
以上所述实施例只是为本发明的较佳实施例,并非以此限制本发明的实施范围,除了具体实施例中列举的情况外;凡依本发明之方法及原理所作的等效变化,均应涵盖于本发明的保护范围内。

Claims (10)

1.一种基于深度学习的FAQ检索式问答构建方法,其特征在于,包括以下步骤:
步骤S1,获取用户问题,并整理与所述用户问题相关的文档内容;
步骤S2,构建训练集和测试集;
步骤S3,在测试集和训练集的基础上,增强数据;
步骤S4,模型建立及迭代优化;
步骤S5,模型建立完之后,设置问答系统,用户任意问问题,系统会根据神经网络模型预测该问题属于哪一类,进而给出相应的答案。
2.根据权利要求1所述的一种基于深度学习的FAQ检索式问答构建方法,其特征在于,所述步骤S1中,对于有大量问答记录的场景,问答记录里面包括很多高频的知识点,所述高频的知识点包括问题和答案;
所述高频的知识点对应的问法通常并不唯一,即知识库的结构为一个问题集合对应同一个答案,其针对FAQ数据有以下三种数据类型:
(1)、标准问q:FAQ中问题的标准用户query;
(2)、答案A:FAQ中标准问对应的标准回答;
(3)、相似问q1,q2…:跟标准问语义相似可用同一答案回答的query;
其中,标准问q、对应答案A、以及该标准问q对应的所有相似问q1,q2,…,一起组成一个知识点。
3.根据权利要求2所述的一种基于深度学习的FAQ检索式问答构建方法,其特征在于,所述步骤S1中,需要建立一个更加合理的知识库,要求每个知识点只包含一个意图,且知识点之间没有交叉、歧义、冗余容易造成混淆的因素;
而且,所述知识库的标注为每个FAQ积累一定数量的有代表性的相似问。
4.根据权利要求2所述的一种基于深度学习的FAQ检索式问答构建方法,其特征在于,所述步骤S1的后期持续维护包括:新FAQ发现,以及原FAQ的合并、拆分和纠正。
5.根据权利要求1所述的一种基于深度学习的FAQ检索式问答构建方法,其特征在于,所述步骤S2中,具体包括以下步骤:
测试集构造:将相似问中的第一条相似问q1作为query,从FAQ知识库的所有知识点中通过Lucene召回30个知识点作为候选集;
训练集构造:包含两部分,一部分是正例的构造,另一部分是负例的构造,所述正例的构造和所述负例的构造中数据的构造方式将直接影响到最终的效果;
在正例的构造中,因为每个知识点的第一个相似问是作为测试集中出现的,所以在构造训练集的时候排除掉所有知识点中的第一条相似问q1;这样,有多于2个相似问的知识点、还有多于的其他相似问可以用来构造训练集;将这些识点中的标准问和从相似问的第二条开始(即[q2,q3,…,qn])可以按照不同方式构造出正例和负例。
6.根据权利要求5所述的一种基于深度学习的FAQ检索式问答构建方法,其特征在于,所述步骤S2中,在训练集正例的构造中,去除所有知识点中的第一条相似问q1,其他相似问及标准问两两组合成正例pair对;对于相似问多的知识点进行剪切。
7.根据权利要求5所述的一种基于深度学习的FAQ检索式问答构建方法,其特征在于,所述步骤S2中,训练集负例的构造方式包括:按Jaccard距离召回、按Lucene召回、从其他知识点中随机选择和按照正例中各问题出现的比例从其他知识点中采样选择,以及每个句子和句子中的名词/动词构成pair对;而针对知识点分布不均衡的问题,对相似问很多的知识点进行相似问剪切。
8.根据权利要求1所述的一种基于深度学习的FAQ检索式问答构建方法,其特征在于,所述步骤S3中,由于深度学习需要较多的数据,为了增强数据,采用以下策略:
交换两个句子之间的顺序;
对句子进行分词,重新组合生成新的句子;
打乱句子的顺序,随机抽取句子。
9.根据权利要求1所述的一种基于深度学习的FAQ检索式问答构建方法,其特征在于,所述步骤S4中,模型的基本框架一般都是将待匹配的两个句子分别使用两个encoder来获取对应context信息,然后将二者的context信息进行匹配,得到匹配后的特征信息;或者模型的基本框架在匹配之后的特征后面加上一些其他的传统文本特征,将所有这些特征进行concat;模型的基本框架最后接上softmax层,做最终的分类;模型建立及迭代优化具体包括以下步骤:
步骤S41,Embedding层:使用word2vec训练词向量;
首先,基于Word2vec工具,分别将词向量转化为问题词向量和答案词向量,从而得到问答文本集合所对应的问题词向量矩阵Q=(q1,q2,…,qL)和答案词向量A=(a1,a2,…,am),其中,L和m分别为问答文本集合中题和答案的数量,qi(1≤i≤L)为第i个问题所对应的列向量,aj(1≤j≤m)为第j个答案所对应的列向量;
接着,把问题词向量矩阵Q和答案词向量A输入到LSTM网络中去训练学习词序序列的语义特征信息,为了便于并行矩阵的计算,输入的长度选定一个最大值,句子中的词语较少则用0补充,大于最大的词语长度的句子则会截掉,模型中所有权重W和偏置b随机初始化为U(-0.05,+0.05)均匀分布;
在学习过程中,首先通过LSTM网络内部的遗忘门ft来决定LSTM网络从细胞单元状态中丢弃哪些信息,同时,t时刻的词语会读取t-1个隐藏层的输出ht-1和当前时刻输入词向量qt,以及输入一个在0到1之间的偏置bf,并传递给t-1时刻的细胞单元状态Ct-1,其计算方式为:ft=σ(Wf[qt,ht-1]+bf),其中σ为Sigmoid激励函数,Wf为遗忘门杈重矩阵;
其次,通过输入门it来决定什么值需要进行更新,其计算公式表示为:it=σ(Wi[qt,ht-1]+bi),其中σ为Sigmoid激励函数,Wi为输入门杈重矩阵,bi为0到1之间的偏置;
然后,根据Tanh非线性激活函数来创建候选值其计算公式表示为:
Figure FDA0002864521400000041
其中Wc为候选杈重矩阵,bc为0到1之间的偏置;在此基础上,更新t时刻的细胞单元内部状态Ct,其计算公式为:
Figure FDA0002864521400000042
最后,计算并获取输出门的向量为Ot,其计算公式为:Ot=σ(Wo[qt,ht-1]+bo),其中σ为Sigmoid激励函数,Wo为输出门杈重矩阵,bo为0到1之间的偏置,以及LSTM网络隐藏层的输出值ht,其计算公式为:ht=Ot*tanh(Ct);
步骤S42,Encoder层:卷积具有局部特征提取的功能;
用CNN来提取句子中类似n-gram的关键信息,考虑文本的上下文信息,将LSTM网络的输出结果作为输入到CNN网络中,去学习更深层次的句子n-gram局部特征信息;
设定卷积窗口大小为k,相邻的词向量拼接矩阵为Z,卷积核数为c,那么卷积的过程如下:
G=f(WZ+b),
其中,f是ReLU激活函数,W和b为随机正态分布初始化U(0,0.05)的杈重矩阵和偏置;
经过卷积操作后,可以得到问题文本的深层词向量矩阵DQ和答案文本的深层词向量矩阵DA。
步骤S43,匹配层(Matching):在得到两个句子的表示后,要针对两个句子的表示进行matching操作;
获得的问题文本深层词向量矩阵DQ和答案文本深层词向量矩阵DA,计算问答文本对中每对词之间的一个匹配程度矩阵S,计算方式如下:
S(i,j)=Tanh(DQi⊙ADj)
其中Tanh为非线性激活函数,DQi表示问题文本中第i个词向量,DAj表示答案文本中第j个词向量,⊙为向量点乘,S(i,j)表示问题文本第i个词与答案文本第j个词之间的语义匹配分数;
接着,对匹配程度矩阵S做行级的最大池化,并生成向量gq,其中第i个值表示问题文本第i个词对答案的重要性程度,同时,对匹配程度矩阵S做列级的最大池化,并生成向量ga,其中第j个值表示答案文本第j个词对问题的重要性程度;
然后,分别对gq和ga选取最大的p个值,分别把这p个值对应的词语重新输入到LSTM网络中,并选取最后时刻的隐藏层输出,分别得到维度为h的语义特征向量Oq和Oa,从而根据Oq与Oa来计算向量间的空间距离值作为问题文本和答案文本匹配的程度。
10.一种基于深度学习的FAQ检索式问答系统,其特征在于,包括:
问答模块,用于接收用户的输入问题,并对所述输入问题进行预处理;所述预处理过程包括构建训练集和构建测试集、并在构建训练集和构建测试集的基础上增强数据,将预处理后的所述输入问题发送至深度学习模块;
深度学习模块,用于提取所述预处理后的输入问题中的特征信息,并根据所述特征信息生成对应的问题词向量,并根据预设的问题分类模型、问题匹配模型和问题词向量信息,从知识库模块中获取相匹配的标准问题及精确度较高的答案,并将精确度较高的答案返回至问答模块;
所述知识库模块,用于判断知识库中是否存在与未识别问题对应的标准问题,并在所述知识库中存在与所述未识别问题对应的标准问题时,对与所述未识别问题对应的标准问题进行标注,并在所述知识库中不存在与所述未识别问题对应的标准问题时,根据未识别问题创建新标准问题,并对所述新标准问题进行标注,同时补充新标准问题对应的标准答案;
所述深度学习模块还用于根据标注的与所述未识别问题对应的标准问题及匹配答案模型化训练。
CN202011584447.XA 2020-12-28 2020-12-28 一种基于深度学习的faq检索式问答构建方法及系统 Active CN112559723B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011584447.XA CN112559723B (zh) 2020-12-28 2020-12-28 一种基于深度学习的faq检索式问答构建方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011584447.XA CN112559723B (zh) 2020-12-28 2020-12-28 一种基于深度学习的faq检索式问答构建方法及系统

Publications (2)

Publication Number Publication Date
CN112559723A true CN112559723A (zh) 2021-03-26
CN112559723B CN112559723B (zh) 2024-05-28

Family

ID=75034129

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011584447.XA Active CN112559723B (zh) 2020-12-28 2020-12-28 一种基于深度学习的faq检索式问答构建方法及系统

Country Status (1)

Country Link
CN (1) CN112559723B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113486152A (zh) * 2021-07-16 2021-10-08 上海淇馥信息技术有限公司 一种业务知识库构建方法、装置和电子设备
CN115795018A (zh) * 2023-02-13 2023-03-14 广州海昇计算机科技有限公司 一种面向电网领域的多策略智能搜索问答方法及系统
CN116028596A (zh) * 2023-03-27 2023-04-28 云筑信息科技(成都)有限公司 一种实体匹配分块的实现方法
CN117540004A (zh) * 2024-01-10 2024-02-09 安徽省优质采科技发展有限责任公司 基于知识图谱和用户行为的工业领域智能问答方法及系统
CN117725148A (zh) * 2024-02-07 2024-03-19 湖南三湘银行股份有限公司 一种基于自学习的问答词库更新方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004086549A (ja) * 2002-08-27 2004-03-18 Just Syst Corp Faq検索システム、方法及びプログラム
US20050187919A1 (en) * 2003-12-11 2005-08-25 Matsushita Electric Industrial Co., Ltd. FAQ search engine
CN107329967A (zh) * 2017-05-12 2017-11-07 北京邮电大学 基于深度学习的问答系统以及方法
CN108874949A (zh) * 2018-06-05 2018-11-23 北京玄科技有限公司 基于业务语料的意图分类方法、装置及智能问答方法
CN109033270A (zh) * 2018-07-09 2018-12-18 深圳追科技有限公司 一种基于人工客服日志自动构建客服知识库的方法
CN109101579A (zh) * 2018-07-19 2018-12-28 深圳追科技有限公司 客服机器人知识库歧义检测方法
US20190073416A1 (en) * 2016-11-14 2019-03-07 Ping An Technology (Shenzhen) Co., Ltd. Method and device for processing question clustering in automatic question and answering system
CN110111787A (zh) * 2019-04-30 2019-08-09 华为技术有限公司 一种语义解析方法及服务器
CN110362684A (zh) * 2019-06-27 2019-10-22 腾讯科技(深圳)有限公司 一种文本分类方法、装置及计算机设备
WO2020010834A1 (zh) * 2018-07-13 2020-01-16 众安信息技术服务有限公司 一种faq问答库泛化方法、装置及设备
CN112035652A (zh) * 2020-10-30 2020-12-04 杭州云嘉云计算有限公司 一种基于机器阅读理解的智能问答交互方法及系统

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004086549A (ja) * 2002-08-27 2004-03-18 Just Syst Corp Faq検索システム、方法及びプログラム
US20050187919A1 (en) * 2003-12-11 2005-08-25 Matsushita Electric Industrial Co., Ltd. FAQ search engine
US20190073416A1 (en) * 2016-11-14 2019-03-07 Ping An Technology (Shenzhen) Co., Ltd. Method and device for processing question clustering in automatic question and answering system
CN107329967A (zh) * 2017-05-12 2017-11-07 北京邮电大学 基于深度学习的问答系统以及方法
CN108874949A (zh) * 2018-06-05 2018-11-23 北京玄科技有限公司 基于业务语料的意图分类方法、装置及智能问答方法
CN109033270A (zh) * 2018-07-09 2018-12-18 深圳追科技有限公司 一种基于人工客服日志自动构建客服知识库的方法
WO2020010834A1 (zh) * 2018-07-13 2020-01-16 众安信息技术服务有限公司 一种faq问答库泛化方法、装置及设备
CN109101579A (zh) * 2018-07-19 2018-12-28 深圳追科技有限公司 客服机器人知识库歧义检测方法
CN110111787A (zh) * 2019-04-30 2019-08-09 华为技术有限公司 一种语义解析方法及服务器
CN110362684A (zh) * 2019-06-27 2019-10-22 腾讯科技(深圳)有限公司 一种文本分类方法、装置及计算机设备
CN112035652A (zh) * 2020-10-30 2020-12-04 杭州云嘉云计算有限公司 一种基于机器阅读理解的智能问答交互方法及系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113486152A (zh) * 2021-07-16 2021-10-08 上海淇馥信息技术有限公司 一种业务知识库构建方法、装置和电子设备
CN115795018A (zh) * 2023-02-13 2023-03-14 广州海昇计算机科技有限公司 一种面向电网领域的多策略智能搜索问答方法及系统
CN116028596A (zh) * 2023-03-27 2023-04-28 云筑信息科技(成都)有限公司 一种实体匹配分块的实现方法
CN116028596B (zh) * 2023-03-27 2023-08-18 云筑信息科技(成都)有限公司 一种实体匹配分块的实现方法
CN117540004A (zh) * 2024-01-10 2024-02-09 安徽省优质采科技发展有限责任公司 基于知识图谱和用户行为的工业领域智能问答方法及系统
CN117540004B (zh) * 2024-01-10 2024-03-22 安徽省优质采科技发展有限责任公司 基于知识图谱和用户行为的工业领域智能问答方法及系统
CN117725148A (zh) * 2024-02-07 2024-03-19 湖南三湘银行股份有限公司 一种基于自学习的问答词库更新方法

Also Published As

Publication number Publication date
CN112559723B (zh) 2024-05-28

Similar Documents

Publication Publication Date Title
CN109885672B (zh) 一种面向在线教育的问答式智能检索系统及方法
CN108363743B (zh) 一种智能问题生成方法、装置和计算机可读存储介质
CN107798140B (zh) 一种对话系统构建方法、语义受控应答方法及装置
CN112559723B (zh) 一种基于深度学习的faq检索式问答构建方法及系统
CN111325029B (zh) 一种基于深度学习集成模型的文本相似度计算方法
US7295965B2 (en) Method and apparatus for determining a measure of similarity between natural language sentences
CN107562792A (zh) 一种基于深度学习的问答匹配方法
CN112347268A (zh) 一种文本增强的知识图谱联合表示学习方法及装置
CN112115238A (zh) 一种基于bert和知识库的问答方法和系统
CN113221567A (zh) 司法领域命名实体及关系联合抽取方法
CN111966812B (zh) 一种基于动态词向量的自动问答方法和存储介质
CN111274790B (zh) 基于句法依存图的篇章级事件嵌入方法及装置
Cai et al. Intelligent question answering in restricted domains using deep learning and question pair matching
CN113569001A (zh) 文本处理方法、装置、计算机设备及计算机可读存储介质
CN115564393A (zh) 一种基于招聘需求相似度的职位推荐方法
CN112148832A (zh) 一种基于标签感知的双重自注意力网络的事件检测方法
CN113196277A (zh) 用于检索自然语言文档的系统
CN113761208A (zh) 一种基于知识图谱的科技创新资讯分类方法和存储设备
CN115310551A (zh) 文本分析模型训练方法、装置、电子设备和存储介质
CN112926325A (zh) 基于bert神经网络的中文人物关系抽取构建方法
CN111581364B (zh) 一种面向医疗领域的中文智能问答短文本相似度计算方法
CN115795018B (zh) 一种面向电网领域的多策略智能搜索问答方法及系统
Peng et al. MPSC: A multiple-perspective semantics-crossover model for matching sentences
CN112989830A (zh) 一种基于多元特征和机器学习的命名实体识别方法
CN115797795A (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
CB02 Change of applicant information
CB02 Change of applicant information

Country or region after: China

Address after: 519000 room 367, floor 1, Zone C, building 24, Gangwan 1 science and Technology Innovation Park, Jintang Road, Tangjiawan Town, high tech Zone, Zhuhai, Guangdong Province (centralized office area)

Applicant after: GUANGDONG GUOLI EDUCATION TECHNOLOGY Co.,Ltd.

Address before: 519000 room 105-40499, No.6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province (centralized office area)

Applicant before: GUANGDONG GUOLI EDUCATION TECHNOLOGY Co.,Ltd.

Country or region before: China

GR01 Patent grant
GR01 Patent grant