CN113157873B - 一种基于模板匹配和深度学习的知识库问答系统构建方法 - Google Patents
一种基于模板匹配和深度学习的知识库问答系统构建方法 Download PDFInfo
- Publication number
- CN113157873B CN113157873B CN202110098202.4A CN202110098202A CN113157873B CN 113157873 B CN113157873 B CN 113157873B CN 202110098202 A CN202110098202 A CN 202110098202A CN 113157873 B CN113157873 B CN 113157873B
- Authority
- CN
- China
- Prior art keywords
- question
- constructing
- matching
- template
- layer
- 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.)
- Active
Links
- 238000010276 construction Methods 0.000 title claims abstract description 15
- 238000013135 deep learning Methods 0.000 title claims abstract description 14
- 239000013598 vector Substances 0.000 claims description 23
- 238000000605 extraction Methods 0.000 claims description 15
- 238000013527 convolutional neural network Methods 0.000 claims description 12
- 238000012549 training Methods 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 8
- 238000005034 decoration Methods 0.000 claims description 7
- 238000002372 labelling Methods 0.000 claims description 5
- 238000013528 artificial neural network Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000011160 research Methods 0.000 abstract description 3
- 238000000034 method Methods 0.000 description 14
- 238000003058 natural language processing Methods 0.000 description 13
- 238000011176 pooling Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 9
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000003068 static effect Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 4
- 239000000243 solution Substances 0.000 description 4
- 230000000153 supplemental effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 239000012535 impurity Substances 0.000 description 3
- 229910052742 iron Inorganic materials 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000001746 injection moulding Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Animal Behavior & Ethology (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于模板匹配和深度学习的知识库问答系统构建方法,包括:包括如下步骤:S1:设计和构建问答模板,设计问答模板时,必须具有问答完备性,用户可能问到的问题都必须含有对应的一个问答模板,这部分要求设计人员对业务问题的充分调研;S2:设计和构建本体图谱,根据实体数据和关系数据、场景业务和意图模板来设计本体图谱;S3:构建标记层;S4:构建触发层;S5:构建匹配层;S6:构建对齐层;S7:构建查询层。本发明,使用模板匹配和模型预测结合、ES搜索和模型预测结合的方式,使得问答系统的覆盖率和准确率更高,增强了问答系统的健壮性,本发明考虑了问句的多样性,扩大了问答的范围和形式,使得问答系统变得更加丰富。
Description
技术领域
本发明涉及人工智能自然语言处理技术领域,具体为一种基于模板匹配和深度学习的知识库问答系统构建方法。
背景技术
当下基于知识库的问答系统有两大类:基于模板的问答系统和基于模型推断的问答系统。基于模板的问答系统准确率高,但是需要提前编写业务场景相关的问答模板,而且难以覆盖用户灵活多变的问句;基于模型的问答系统虽然可以覆盖更多的问句形式和内容,但是往往依赖于场景相关的大量训练数据,导致实际应用时不能达到理想的效果程度。
除了问答系统的主要解决方式之外,当下的问答系统都没有形成一个完整的处理流程,而且也没有针对答案的图数据搜索和装饰给出一个比较好的解决方法。
例如,现有公告号为CN112071429A的发明专利,其公开了一种基于知识图谱的医疗自动问答系统构建方法,包括:对医疗领域知识图谱中的实体、关系以及属性进行预定义;获取医疗领域数据,根据所预定义的医疗领域知识图谱,利用数据自动标注算法对医疗领域数据进行标注;利用知识图谱构建模型对所述标注数据进行知识图谱的构建,得到医疗领域知识图谱;利用对话编码器将用户的对话文本进行编码,得到对话文本编码数据;利用基于知识图谱的强化学习网络对文本编码数据进行路径推断,得到用户的意图路径,意图路径所指向的知识图谱结果即为自动问答结果。其还构建了一种基于知识图谱的医疗自动问答系统,实现了医疗领域的自动问答。
但是上述发明专利仍然存在一下缺陷:
1、上述发明专利仅仅是解决医疗领域内的一种知识问答方法,难以结合各个领域的具体场景进行更加灵活地构建问答系统;
2、上述发明专利采用编码和强化学习路径推断得到用户意图,导致问答的准确率不高。
3、上述发明专利中的问答系统只能回答知识库问句对应的固有模板答案,难以给出具体的数量答案。
发明内容
本发明的目的在于提供一种基于模板匹配和深度学习的知识库问答系统构建方法,可将塑料颗粒中残留的铁质杂物吸附,达到除去塑料颗粒中残留的铁质杂物的目的,可避免铁质杂物进入注塑机而导致注塑机损坏的不良现象发生,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种基于模板匹配和深度学习的知识库问答系统构建方法,包括如下步骤:
S1:设计和构建问答模板,设计问答模板时,必须具有问答完备性,用户可能问到的问题都必须含有对应的一个问答模板,这部分要求设计人员对业务问题的充分调研;
S2:设计和构建本体图谱,根据实体数据和关系数据、场景业务和意图模板来设计本体图谱,便于高效访问图数据库得到答案;
S3:构建标记层,将公司名称、时间、地点业务所涉及到的实体标记为对应的标记形成标记层;
S4:构建触发层,使用触发机制,缩小匹配范围,触发机制分为意图触发和问题触发,用户输入不规范、用户输入过于灵活,用户输入的部分词语同义词过多,使用意图分类作为触发机制的补充手段,对问句进行意图模型分类,打一个标签,需根据业务提前设计好标签和对应问题分类,该部分使用TextCNN模型来预测分类;
S5:构建匹配层,定义正则表达式变量以及导入词典集合文件;
S6:构建对齐层,包括ES搜索和模型预测;
S7:构建查询层,将实例化的模板查询语句提交图数据库进行查询,图查询语句所返回的查询结果类型统一为:Array[Map[String,Any]];
S8:构建装饰层,对查询结果进行解析并装饰。
进一步的,在步骤S3中,当问句中可能含有两个有顺序的实体,则训练标注模型来识别有顺序的索引1实体和索引2实体。
进一步的,在步骤S4中,TextCNN模型中的TextCNN神经网络主要以CNN 网络对文本信息进行特征的抽取,把词向量的维度和文本的长度当成另一个维度用于构成一个矩阵,CNN网络用于在文本进行卷积核的计算或者文本的特征抽取,将TextCNN使用预先训练好的词向量作Embedding Layer,将数据集里的词表征成一个向量,用于得到一个嵌入矩阵MM,MM里的每一行都是词向量,所述MM是静态的或者非静态的,或者根据反向传播更新,TextCNN中的实现具体过程是多个卷积核对文本进行滑动获取语义特征,而CNN中的卷积核是能保留特征之间的相对位置的,因为卷积核是滑动的,从左至右滑动,因此捕获到的特征也是如此顺序排列,所以它在结构上已经记录了相对位置信息了,但是卷积层后面立即接上Pooling层的话,Max Pooling的操作逻辑是:从一个卷积核获得的特征向量里只选中并保留最强的那一个特征,所以到了Pooling层,位置信息就被损失掉了(信息损失),因此在对应需要捕获文本的词序信息特征时,Pooling层应该需要添加上位置信息。
进一步的,所述正则表达式变量的定义为:能够重复使用正则表达式,方便编写正则模板;导入词典集合文件为定义一个正则表达式变量表示文件中的词语皆可表示,比如${weather}表示天气文件中的各类天气如晴天、阴天和雨天,则“今天是${weather}吗”转换为“今天是[晴天|阴天|雨天]吗”;如果匹配到多个正则,使用优先级或文本匹配作为正则匹配的补充手段,如果匹配不到正则,使用文本匹配作为正则匹配的补充手段,该部分使用BERT 模型编码句子向量,然后使用COS余弦计算句子之间的相似度。
进一步的,所述BERT模型具体如下:
BERT模型的全称是:Bidirectional Encoder Representations fromTransformer。从名字中可以看出,BERT模型的目标是利用大规模无标注语料训练、获得文本的包含丰富语义信息的Representation,即:文本的语义表示,然后将文本的语义表示在特定NLP任务中作微调,最终应用于该NLP任务。BERT本质上是一个两段式的NLP模型。第一个阶段叫做:Pre-training,跟WordEmbedding类似,利用现有无标记的语料训练一个语言模型。第二个阶段叫做:Fine-tuning,利用预训练好的语言模型,完成具体的NLP下游任务。BERT是一个强大的预训练,因其超大的参数量和较强的特征提取能力,能够从海量的语料中学习到一些语言学和一定程度的语义信息。
进一步的,GQ类型包括查询实体集合和查询关系集合。
与现有技术相比,本发明的有益效果是:
1、本发明是构建和介绍一种通用的构建场景的问答系统方法,可以结合各个领域的具体场景进行更加灵活地构建问答系统。
2、本发明综合利用了先验知识库和最流行的深度学习模型对用户意图进行判断,从而提高问答的准确率。
3、本发明可以通过用户配置和数据库查询回答出更加具体的答案细节;
4、本发明采用以ES搜索匹配为主、以模型预测为辅的结合方式。 elasticsearch简写ES,ES是一个高扩展、开源的全文检索和分析引擎,它可以准实时地快速存储、搜索、分析海量的数据,全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。全文搜索搜索引擎数据库中的数据。以ES搜索匹配为主,使得实体对齐更加准确和快速;以模型预测为辅,弥补ES搜索可能匹配不到的缺陷,关于构建查询语句,本发明定义了图数据库查询的语句形式,用JSON格式表示,这也使得在扩展图数据库时能够很容易地修改和兼容。
附图说明
图1为本发明的BiLSTM+CRF模型架构示意图;
图2为本发明的本体设计实体的架构示意图;
图3为本发明的问答系统架构的架构示意图;
图4为本发明的问答模板示例的示意图;
图5为本发明的TextCNN模型的架构示意图;
图6为本发明的BERT模型的架构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-6,本发明提供一种技术方案:
一种基于模板匹配和深度学习的知识库问答系统构建方法,包括如下步骤:
S1:设计和构建问答模板,设计问答模板时,必须具有问答完备性,用户可能问到的问题都必须含有对应的一个问答模板,这部分要求设计人员对业务问题的充分调研,问答模板示例如图4所示;
S2:设计和构建本体图谱,根据实体数据和关系数据、场景业务和意图模板来设计本体图谱,便于高效访问图数据库得到答案,本体设计示例如图2 所示。
S3:构建标记层,将公司名称、时间、地点业务所涉及到的实体标记为对应的标记形成标记层;
问句中可能含有两个有顺序的实体,那么也可以训练标注模型来识别有顺序的索引1实体和索引2实体。当然也可以通过设计正则模板在一定程度上解决这个问题;
S4:构建触发层,正则模板可能会有很多,如果都去匹配,效率太慢,因此使用触发机制,缩小匹配范围,从而提高匹配效率,触发机制分为意图触发和问题触发,用户输入不规范、用户输入过于灵活,用户输入的部分词语同义词过多,使用意图分类作为触发机制的补充手段,对问句进行意图模型分类,打一个标签,需根据业务提前设计好标签和对应问题分类,该部分使用TextCNN模型来预测分类;
TextCNN模型结构如图5所示,具体流程如下所述:
TextCNN神经网络主要以CNN网络对文本信息进行特征的抽取,在图像的处理上,CNN的特征抽取能力是非常强的。我们把词向量的维度和文本的长度当成另一个维度是可以构成一个矩阵的,于是,CNN便可以在文本进行卷积核的计算(文本的特征抽取)。此时,卷积核的大小就相当于N-Gram的特征了。 TextCNN使用预先训练好的词向量作EmbeddingLayer。对于数据集里的所有词,因为每个词都可以表征成一个向量,因此我们可以得到一个嵌入矩阵MM, MM里的每一行都是词向量。这个MM可以是静态的,也就是固定不变。可以是非静态的,也就是可以根据反向传播更新。TextCNN中的实现步骤中是有Max Pooling的一步的。具体过程是多个卷积核对文本进行滑动获取语义特征,而 CNN中的卷积核是能保留特征之间的相对位置的,因为卷积核是滑动的,从左至右滑动,因此捕获到的特征也是如此顺序排列,所以它在结构上已经记录了相对位置信息了。但是卷积层后面立即接上Pooling层的话,Max Pooling的操作逻辑是:从一个卷积核获得的特征向量里只选中并保留最强的那一个特征,所以到了Pooling层,位置信息就被损失掉了(信息损失)。因此在对应需要捕获文本的词序信息特征时,Pooling层应该需要添加上位置信息;
S5:构建匹配层,定义正则表达式变量以及导入词典集合文件;
定义正则表达式变量:能够重复使用正则表达式,方便编写正则模板。
导入词典集合文件:定义一个正则表达式变量表示文件中的词语皆可表示,比如${weather}表示天气文件中的各类天气如晴天、阴天和雨天,则“今天是${weather}吗”转换为“今天是[晴天|阴天|雨天]吗”。
如果匹配到多个正则,使用优先级或文本匹配作为正则匹配的补充手段。如果匹配不到正则,使用文本匹配作为正则匹配的补充手段。本部分使用BERT 模型编码句子向量,然后使用COS余弦计算句子之间的相似度。BERT模型如图6所示,具体解释如下所述:
BERT模型的全称是:Bidirectional Encoder Representations fromTransformer。从名字中可以看出,BERT模型的目标是利用大规模无标注语料训练、获得文本的包含丰富语义信息的Representation,即:文本的语义表示,然后将文本的语义表示在特定NLP任务中作微调,最终应用于该NLP任务。BERT本质上是一个两段式的NLP模型。第一个阶段叫做:Pre-training,跟WordEmbedding类似,利用现有无标记的语料训练一个语言模型。第二个阶段叫做:Fine-tuning,利用预训练好的语言模型,完成具体的NLP下游任务。BERT是一个强大的预训练,因其超大的参数量和较强的特征提取能力,能够从海量的语料中学习到一些语言学和一定程度的语义信息;
S6:构建对齐层,包括ES搜索和模型预测;比如数据库中的实体企业是全称,用户输入问句后抽取到的实体可能是简称、也有可能是部分,或错别字;通过使用ES引擎来实现实体对齐这个功能。另外考虑公司名字后面的“公司”或“有限公司”等会严重影响查询性能,在ES建索引时就去除名字后面的字或者在搜索查询时去除搜索词中的共有性词;
S7:构建查询层,将实例化的模板查询语句提交图数据库进行查询,图查询语句所返回的查询结果类型统一为:Array[Map[String,Any]];
GQ类型主要有查询实体集合和查询关系集合。
查询实体集合有以下形式(实体和关系都可以有过滤条件,类型过滤和属性过滤):
类型+属性=>实体
实体+关系=>实体
实体+关系+实体+关系=>实体
查询关系集合有以下形式:
实体+实体=>关系
GQ模板:含有形式参数的GQ模板用JSON表示。实体所表示的地方用$num 表示,num对应于正则表达式中实体的位置(从1开始)。
type(String):GQ类型;
patterns(Array[JSON]):顶点和边的链式表示,即vertex1-edge1-vertex2,按顺序书写;顶点和边都用json表示:
name(String):即vertex1、edge1、vertex2
type(String):顶点或边的类型,用逗号分隔
filters(Array[JSON]):筛选条件集合,包含四个字段:field、operator、 value、type。
target(JSON):返回的对象和计算类型,具体如下所示:
name(String):返回的即vertex1、edge1、vertex2
type(String):顶点或边的类型,用逗号分隔
aggregate(String):指定查询集合的聚合类型,包含sum、max、min
fields(Array[String]):指定顶点或边的属性值字段,用逗号分隔
查询语句如下所示:
{"type":"1","patterns":[{"name":"vertex1","type":"Comapny","filters":[{"field":"name","operator":"=","value":"${1}","type":"string"}]}],"target":{"name":"vertex1","aggregate":"","type":"Company", "fields":"capital"}};
{"type":"2","patterns":[{"name":"vertex1","type":"Person","fil ters":[{"field":"name","operator":"=","value":"${1}","type":"string"}]},{"name":"edge1","type":"invest"},{"name":"vertex2","type":"Company"}],"target":{"name":"vertex2","aggregate":"","type":"Company","fields":"name"}}
S8:构建装饰层,对查询结果进行解析并装饰。
进一步的,在步骤S3中,当问句中可能含有两个有顺序的实体,则训练标注模型来识别有顺序的索引1实体和索引2实体,用JSON表示,装饰语句示例如下所示:
{"headFormat":"${1}投资的公司有:\n@{*}"}
装饰具体由下面两部分组成:
headFormat(String):指定答案的标题格式,可以使用两种形式数据:
1、正则表达式所抽取出的实体值,用“${num}”表示,num表示对应位置的值,从1开始;
2、图查询整体结果,用“@{*}”表示。
rowFormat(String):指定答案中图查询结果每一条记录的装饰格式,可以使用两种形式数据:
1、正则表达式所抽取出的实体值,用“${num}”表示,num表示对应位置的值,从1开始;
2、图查询每条记录。对于aggregate类型,只有“${A1}”一种表示;对于fields类型,用“@{Fnum}”表示,num表示对应GQ模板target中fields 的字段索引,从1开始。
进一步的,在步骤S4中,TextCNN模型中的TextCNN神经网络主要以CNN 网络对文本信息进行特征的抽取,把词向量的维度和文本的长度当成另一个维度用于构成一个矩阵,CNN网络用于在文本进行卷积核的计算或者文本的特征抽取,将TextCNN使用预先训练好的词向量作Embedding Layer,将数据集里的词表征成一个向量,用于得到一个嵌入矩阵MM,MM里的每一行都是词向量,所述MM是静态的或者非静态的,或者根据反向传播更新,TextCNN中的实现具体过程是多个卷积核对文本进行滑动获取语义特征,而CNN中的卷积核是能保留特征之间的相对位置的,因为卷积核是滑动的,从左至右滑动,因此捕获到的特征也是如此顺序排列,所以它在结构上已经记录了相对位置信息了,但是卷积层后面立即接上Pooling层的话,Max Pooling的操作逻辑是:从一个卷积核获得的特征向量里只选中并保留最强的那一个特征,所以到了Pooling层,位置信息就被损失掉了(信息损失),因此在对应需要捕获文本的词序信息特征时,Pooling层应该需要添加上位置信息。
进一步的,所述正则表达式变量的定义为:能够重复使用正则表达式,方便编写正则模板;导入词典集合文件为定义一个正则表达式变量表示文件中的词语皆可表示,比如${weather}表示天气文件中的各类天气如晴天、阴天和雨天,则“今天是${weather}吗”转换为“今天是[晴天|阴天|雨天]吗”;如果匹配到多个正则,使用优先级或文本匹配作为正则匹配的补充手段,如果匹配不到正则,使用文本匹配作为正则匹配的补充手段,该部分使用BERT 模型编码句子向量,然后使用COS余弦计算句子之间的相似度。
进一步的,所述BERT模型具体如下:
BERT模型的全称是:Bidirectional Encoder Representations fromTransformer。从名字中可以看出,BERT模型的目标是利用大规模无标注语料训练、获得文本的包含丰富语义信息的Representation,即:文本的语义表示,然后将文本的语义表示在特定NLP任务中作微调,最终应用于该NLP任务。BERT本质上是一个两段式的NLP模型。第一个阶段叫做:Pre-training,跟WordEmbedding类似,利用现有无标记的语料训练一个语言模型。第二个阶段叫做:Fine-tuning,利用预训练好的语言模型,完成具体的NLP下游任务。BERT是一个强大的预训练,因其超大的参数量和较强的特征提取能力,能够从海量的语料中学习到一些语言学和一定程度的语义信息。
关于用户问句的解析,实体抽取通过BiLSTM+CRF模型来解决。命名实体识别(NER)是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。命名实体识别是信息提取、问答系统、句法分析、机器翻译等应用领域的重要基础工具,作为结构化信息提取的重要步骤。LSTM的优点是能够通过双向的设置学习到观测序列(输入的字)之间的依赖,在训练过程中,LSTM能够根据目标(比如识别实体)自动提取观测序列的特征,但是缺点是无法学习到状态序列(输出的标注)之间的关系,要知道,在命名实体识别任务中,标注之间是有一定的关系的,比如B类标注(表示某实体的开头)后面不会再接一个B类标注,所以LSTM在解决NER这类序列标注任务时,虽然可以省去很繁杂的特征工程,但是也存在无法学习到标注上下文的缺点。条件随机场可以把label的上下文学出来。CRF的优点就是能对隐含状态建模,学习状态序列的特点,但它的缺点是需要手动提取序列特征。所以一般的做法是,在LSTM后面再加一层CRF,以获得两者的优点。把CRF 接到LSTM上面,把LSTM在time_step上把每一个hidden_state的向量输入给CRF,让LSTM负责在CRF的特征限定下,依照新的损失函数,学习出一套新的非线性变换空间。如图1所示,BiLSTM层的输入表示该单词对应各个类别的分数。如W0,BiLSTM节点的输出是1.5(B-Person),0.9(I-Person),0.1(B-Organization),0.08(I-Organization)and 0.05(O)。这些分数将会是CRF层的输入。所有的经BiLSTM层输出的分数将作为CRF层的输入,类别序列中分数最高的类别就是我们预测的最终结果。
对用户意图的分析问题,本发明采用以模板匹配为主、以模型预测为辅的结合方式。以模板匹配为主,使得问答意图分析更加准确;以模型预测为辅,弥补模板匹配可能匹配不到的缺陷。
对于实体对齐,本发明采用以ES搜索匹配为主、以模型预测为辅的结合方式。elasticsearch简写ES,ES是一个高扩展、开源的全文检索和分析引擎,它可以准实时地快速存储、搜索、分析海量的数据。全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。全文搜索搜索引擎数据库中的数据。以ES 搜索匹配为主,使得实体对齐更加准确和快速;以模型预测为辅,弥补ES搜索可能匹配不到的缺陷。
关于构建查询语句,本发明定义了图数据库查询的语句形式,用JSON格式表示,这也使得在扩展图数据库时能够很容易地修改和兼容。
如图3所示,本实施例以北京海致星图科技有限公司举例说明本发明构建的基于模板匹配和深度学习的知识库问答系统的使用流程。
综上所述,本发明使用模板匹配和模型预测结合、ES搜索和模型预测结合的方式,使得问答系统的覆盖率和准确率更高,增强了问答系统的健壮性。
本发明考虑了问句的多样性,扩大了问答的范围和形式,使得问答系统变得更加丰富。
本发明中未涉及部分均与现有技术相同或可采用现有技术加以实现。尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (6)
1.一种基于模板匹配和深度学习的知识库问答系统构建方法,其特征在于,包括如下步骤:
S1:设计和构建问答模板,设计问答模板时,必须具有问答完备性,用户问到的问题都必须含有对应的一个问答模板;
S2:设计和构建本体图谱,根据实体数据和关系数据、场景业务和意图模板来设计本体图谱;
S3:构建标记层,将公司名称、时间、地点业务所涉及到的实体标记为对应的标记形成标记层;
S4:构建触发层,使用触发机制,缩小匹配范围,触发机制分为意图触发和问题触发,使用意图分类作为触发机制的补充手段,对问句进行意图模型分类,打一个标签,需根据业务提前设计好标签和对应问题分类,该部分使用TextCNN模型来预测分类;
S5:构建匹配层,定义正则表达式变量以及导入词典集合文件;
S6:构建对齐层,包括ES搜索和模型预测;
S7:构建查询层,将实例化的模板查询语句提交图数据库进行查询,图查询语句所返回的查询结果类型统一为:Array[Map[String,Any]],其中,Map[String,Any]表示JSON对象,String表示JSON字符串,Any表示JSON数组;
S8:构建装饰层,对查询结果进行解析并装饰。
2.根据权利要求1所述的基于模板匹配和深度学习的知识库问答系统构建方法,其特征在于:在步骤S3中,当问句中含有两个有顺序的实体,则训练标注模型来识别有顺序的索引1实体和索引2实体。
3.根据权利要求1所述的基于模板匹配和深度学习的知识库问答系统构建方法,其特征在于:在步骤S4中,TextCNN模型中的TextCNN神经网络以CNN网络对文本信息进行特征的抽取,把词向量的维度和文本的长度当成另一个维度用于构成一个矩阵,CNN网络用于在文本进行卷积核的计算或者文本的特征抽取,将TextCNN使用预先训练好的词向量作Embedding Layer,将数据集里的词表征成一个向量,用于得到一个嵌入矩阵MM,。
4.根据权利要求1所述的基于模板匹配和深度学习的知识库问答系统构建方法,其特征在于:所述正则表达式变量的定义为:能够重复使用正则表达式,方便编写正则模板;导入词典集合文件为定义一个正则表达式变量表示文件中的词语皆可表示;如果匹配到正则,使用优先级或文本匹配作为正则匹配的补充手段,如果匹配不到正则,使用文本匹配作为正则匹配的补充手段,该部分使用BERT模型编码句子向量,然后使用COS余弦计算句子之间的相似度。
5.根据权利要求4所述的基于模板匹配和深度学习的知识库问答系统构建方法,其特征在于:所述BERT模型具体如下:
BERT模型的目标是利用大规模无标注语料训练、获得文本的包含丰富语义信息的Representation,即:文本的语义表示,然后将文本的语义表示在特定NLP任务中作微调,最终应用于该NLP任务。
6.根据权利要求1所述的基于模板匹配和深度学习的知识库问答系统构建方法,其特征在于:GQ类型包括查询实体集合和查询关系集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110098202.4A CN113157873B (zh) | 2021-01-25 | 2021-01-25 | 一种基于模板匹配和深度学习的知识库问答系统构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110098202.4A CN113157873B (zh) | 2021-01-25 | 2021-01-25 | 一种基于模板匹配和深度学习的知识库问答系统构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113157873A CN113157873A (zh) | 2021-07-23 |
CN113157873B true CN113157873B (zh) | 2024-05-28 |
Family
ID=76878766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110098202.4A Active CN113157873B (zh) | 2021-01-25 | 2021-01-25 | 一种基于模板匹配和深度学习的知识库问答系统构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113157873B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114817497B (zh) * | 2022-04-13 | 2024-12-20 | 西安电子科技大学 | 一种基于意图识别与模板匹配的混合问答方法 |
CN116303923A (zh) * | 2022-12-16 | 2023-06-23 | 北京海致星图科技有限公司 | 一种知识图谱问答方法、装置、计算机设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007073697A1 (fr) * | 2005-12-28 | 2007-07-05 | Wenyin Liu | Procede et systeme internet a question-reponse interactif utilisateur |
CN108509519A (zh) * | 2018-03-09 | 2018-09-07 | 北京邮电大学 | 基于深度学习的通用知识图谱增强问答交互系统及方法 |
WO2019153522A1 (zh) * | 2018-02-09 | 2019-08-15 | 卫盈联信息技术(深圳)有限公司 | 智能交互方法、电子装置及存储介质 |
CN110633409A (zh) * | 2018-06-20 | 2019-12-31 | 上海财经大学 | 一种融合规则与深度学习的汽车新闻事件抽取方法 |
CN111159385A (zh) * | 2019-12-31 | 2020-05-15 | 南京烽火星空通信发展有限公司 | 一种基于动态知识图谱的无模板通用智能问答方法 |
CN112002411A (zh) * | 2020-08-20 | 2020-11-27 | 杭州电子科技大学 | 一种基于电子病历的心脑血管病知识图谱问答方法 |
CN112100344A (zh) * | 2020-08-18 | 2020-12-18 | 淮阴工学院 | 一种基于知识图谱的金融领域知识问答方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10678816B2 (en) * | 2017-08-23 | 2020-06-09 | Rsvp Technologies Inc. | Single-entity-single-relation question answering systems, and methods |
-
2021
- 2021-01-25 CN CN202110098202.4A patent/CN113157873B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007073697A1 (fr) * | 2005-12-28 | 2007-07-05 | Wenyin Liu | Procede et systeme internet a question-reponse interactif utilisateur |
WO2019153522A1 (zh) * | 2018-02-09 | 2019-08-15 | 卫盈联信息技术(深圳)有限公司 | 智能交互方法、电子装置及存储介质 |
CN108509519A (zh) * | 2018-03-09 | 2018-09-07 | 北京邮电大学 | 基于深度学习的通用知识图谱增强问答交互系统及方法 |
CN110633409A (zh) * | 2018-06-20 | 2019-12-31 | 上海财经大学 | 一种融合规则与深度学习的汽车新闻事件抽取方法 |
CN111159385A (zh) * | 2019-12-31 | 2020-05-15 | 南京烽火星空通信发展有限公司 | 一种基于动态知识图谱的无模板通用智能问答方法 |
CN112100344A (zh) * | 2020-08-18 | 2020-12-18 | 淮阴工学院 | 一种基于知识图谱的金融领域知识问答方法 |
CN112002411A (zh) * | 2020-08-20 | 2020-11-27 | 杭州电子科技大学 | 一种基于电子病历的心脑血管病知识图谱问答方法 |
Non-Patent Citations (6)
Title |
---|
A building regulation question answering system: A deep learning methodology;Botao zhong 等;Advanced Engineering Informatics;20201001;1-11 * |
Deep Learning Approaches for Question Answering System;Yashvardhan Sharma 等;Procedia Computer Science;20181231;785-794 * |
基于文献知识抽取的专题知识库构建研究――以中药活血化瘀专题知识库为例;马雨萌 等;情报学报;20190524(第05期);482-491 * |
基于深度学习的医药知识图谱问答系统构建研究;黄魏龙;中国优秀硕士学位论文全文数据库 医药卫生科技辑;20200115;E054-95 * |
张香玲 等.基于随机游走的实体类型补全方法.计算机学报.(第10期),2352-2366. * |
自然语言处理中的语义关系与句法模式互发现;梁娜 等;计算机应用研究;20080815(第08期);2295-2298 * |
Also Published As
Publication number | Publication date |
---|---|
CN113157873A (zh) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109271505A (zh) | 一种基于问题答案对的问答系统实现方法 | |
CN109460479A (zh) | 一种基于事理图谱的预测方法、装置和系统 | |
WO2020074786A1 (en) | System for searching natural language documents | |
CN115048447B (zh) | 一种基于智能语义补全的数据库自然语言接口系统 | |
WO2020074787A1 (en) | Method of searching patent documents | |
CN117453851A (zh) | 基于知识图谱的文本索引增强问答方法及系统 | |
CN113157873B (zh) | 一种基于模板匹配和深度学习的知识库问答系统构建方法 | |
CN118333059A (zh) | 一种基于知识图谱的数据整合方法 | |
CN112328800A (zh) | 自动生成编程规范问题答案的系统及方法 | |
CN111930793A (zh) | 目标行为挖掘与检索分析方法、系统、计算机设备及应用 | |
CN105677637A (zh) | 智能问答系统中抽象语义库的更新方法及更新装置 | |
CN114661914A (zh) | 一种基于深度学习和知识图谱的合同审查方法、装置、设备和存储介质 | |
CN115858750A (zh) | 基于自然语言处理的电网技术标准智能问答方法及系统 | |
CN116756266A (zh) | 基于外部知识和主题信息的服装文本摘要生成方法 | |
CN117573882A (zh) | 一种基于多源异构数据的农业多模态智能检索技术及系统 | |
CN111666374A (zh) | 一种在深度语言模型中融入额外知识信息的方法 | |
CN118779439B (zh) | 基于检索增强的问答方法、装置、设备及存储介质 | |
CN114003773A (zh) | 一种基于自构建多场景的对话追踪方法 | |
Schaeffer et al. | Olaf: An ontology learning applied framework | |
CN113626574A (zh) | 一种信息查询方法及系统及装置及介质 | |
CN118332082A (zh) | 一种基于对比学习技术的代码摘要增强代码搜索方法 | |
CN116681382A (zh) | 物料清单的数据抓取方法、系统以及可读存储介质 | |
CN115796280B (zh) | 一种适用于金融领域高效可控的实体识别实体链接系统 | |
KR102605931B1 (ko) | 복수의 서로 다른 데이터베이스 상의 정형 데이터와 비정형 데이터를 처리하는 방법 및 이러한 방법을 제공하는 데이터 처리 플랫폼 | |
Deng et al. | Image Semantic Analysis and Application Based on Knowledge Graph |
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 |