CN113157873B - 一种基于模板匹配和深度学习的知识库问答系统构建方法 - Google Patents

一种基于模板匹配和深度学习的知识库问答系统构建方法 Download PDF

Info

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
Application number
CN202110098202.4A
Other languages
English (en)
Other versions
CN113157873A (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.)
Beijing Haizhi Xingtu Technology Co ltd
Original Assignee
Beijing Haizhi Xingtu 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 Beijing Haizhi Xingtu Technology Co ltd filed Critical Beijing Haizhi Xingtu Technology Co ltd
Priority to CN202110098202.4A priority Critical patent/CN113157873B/zh
Publication of CN113157873A publication Critical patent/CN113157873A/zh
Application granted granted Critical
Publication of CN113157873B publication Critical patent/CN113157873B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • 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/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • 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/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (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)
  • Evolutionary Computation (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Databases & Information Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Animal Behavior & Ethology (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (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类型包括查询实体集合和查询关系集合。
CN202110098202.4A 2021-01-25 2021-01-25 一种基于模板匹配和深度学习的知识库问答系统构建方法 Active CN113157873B (zh)

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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116303923A (zh) * 2022-12-16 2023-06-23 北京海致星图科技有限公司 一种知识图谱问答方法、装置、计算机设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
CN107992597B (zh) 一种面向电网故障案例的文本结构化方法
CN109271505A (zh) 一种基于问题答案对的问答系统实现方法
CN104408173A (zh) 一种基于b2b平台的核心关键词自动提取方法
US20210350125A1 (en) System for searching natural language documents
US20220004545A1 (en) Method of searching patent documents
CN112328800A (zh) 自动生成编程规范问题答案的系统及方法
CN112036178A (zh) 一种配网实体相关的语义搜索方法
CN116303971A (zh) 面向桥梁管养领域的少样本表格问答方法
CN114077673A (zh) 一种基于btbc模型的知识图谱构建方法
CN114661914A (zh) 一种基于深度学习和知识图谱的合同审查方法、装置、设备和存储介质
CN114860942B (zh) 文本意图分类方法、装置、设备及存储介质
CN111400449B (zh) 一种正则表达式抽取方法及装置
CN115858750A (zh) 基于自然语言处理的电网技术标准智能问答方法及系统
CN116383352A (zh) 一种基于知识图谱的零样本构建领域智能问答系统的方法
CN116340530A (zh) 基于机械知识图谱的智能设计方法
CN113157873B (zh) 一种基于模板匹配和深度学习的知识库问答系统构建方法
CN114841353A (zh) 一种融合句法信息的量子语言模型建模系统及其应用
CN117313850A (zh) 一种信息抽取及知识图谱构建系统及方法
CN116681382A (zh) 物料清单的数据抓取方法、系统以及可读存储介质
CN116225525A (zh) 一种结合用户反馈和深度学习的代码补全方法
CN116756266A (zh) 基于外部知识和主题信息的服装文本摘要生成方法
CN115033706A (zh) 一种知识图谱自动补全和更新的方法
CN114969087A (zh) 基于多视角特征解耦的nl2sql方法和装置
CN114003773A (zh) 一种基于自构建多场景的对话追踪方法
Zhong et al. Chinese named entity recognition based on gated graph neural network

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