CN109766417B - 一种基于知识图谱的文学编年史问答系统的构建方法 - Google Patents
一种基于知识图谱的文学编年史问答系统的构建方法 Download PDFInfo
- Publication number
- CN109766417B CN109766417B CN201811455685.3A CN201811455685A CN109766417B CN 109766417 B CN109766417 B CN 109766417B CN 201811455685 A CN201811455685 A CN 201811455685A CN 109766417 B CN109766417 B CN 109766417B
- Authority
- CN
- China
- Prior art keywords
- query
- data
- user
- sparql
- gate
- 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.)
- Expired - Fee Related
Links
- 238000010276 construction Methods 0.000 title claims abstract description 13
- 238000004458 analytical method Methods 0.000 claims abstract description 40
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000013528 artificial neural network Methods 0.000 claims abstract description 17
- 238000012549 training Methods 0.000 claims abstract description 8
- 238000003062 neural network model Methods 0.000 claims abstract description 7
- 238000013461 design Methods 0.000 claims abstract description 6
- 238000013507 mapping Methods 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 18
- 239000013598 vector Substances 0.000 claims description 15
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 238000013500 data storage Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 5
- 230000002457 bidirectional effect Effects 0.000 claims description 3
- 238000013506 data mapping Methods 0.000 claims description 3
- 238000012886 linear function Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 claims description 3
- 230000002085 persistent effect Effects 0.000 claims description 3
- 238000005308 sum rule Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 4
- 238000011160 research Methods 0.000 abstract description 4
- 230000000694 effects Effects 0.000 abstract description 2
- 230000003993 interaction Effects 0.000 abstract description 2
- 230000001737 promoting effect Effects 0.000 abstract 1
- 238000011161 development Methods 0.000 description 7
- 230000018109 developmental process Effects 0.000 description 7
- AYFVYJQAPQTCCC-UHFFFAOYSA-N Threonine Natural products CC(O)C(N)C(O)=O AYFVYJQAPQTCCC-UHFFFAOYSA-N 0.000 description 1
- 239000004473 Threonine Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于知识图谱的文学编年史问答系统的构建方法:以中国文学编年史相关的结构化数据为基础,结合自上而下创建的文学编年史本体结构,构建了文学编年史垂直领域的知识图谱;设计了语义解析框架,包含了两种用户问题解析的模块,一个是基于正则与规则,一个是基于神经网络;将问题解析得到的结果组织成对应的SPARQL查询语句,在构建的知识图谱中搜索对应的结果;将结果组织为回复,返回给用户;设计实现了网页端和微信公众号服务,作为系统与用户交互的窗口;设计实现了用户使用日志与反馈收集模块,将相关数据用于迭代训练神经网络模型,增强模型的泛化能力;本发明可以直接处理用户的自然语言查询,返回精准的结果,对提升知识获取效率、促进中国文化研究等方面均有重要作用。
Description
技术领域
本发明涉及问答系统,尤其涉及一种基于知识图谱的文学编年史问答系统的构建方法。
背景技术
问答系统是信息检索系统的一种高级形式,它能回答用户用自然语言提出的问题;问答系统能够满足用户对快速、准确地获取信息的需求;不同于现有的搜索引擎,问答系统返回用户的不再是基于关键词匹配的相关文档排序,而是精准的自然语言形式的答案;问答系统可分为基于阅读理解的问答系统、基于社区问答对的问答系统以及基于知识图谱的问答系统;
知识图谱多是以实体、关系为基本单元所组成的图结构;基于这样的结构化的知识,分析用户自然语言问题的语义,进而在已构建的结构化知识图谱中通过检索、匹配或推理等手段,获取正确答案,这一任务称之为知识库问答(Question Answering overKnowledge Base,KBQA);这一问答范式由于已经在数据层面通过知识图谱的构建对于文本内容进行了深度挖掘与理解,能够有效地提升问答的准确性;知识库问答系统在回答用户问题时,需要正确理解用户所提的自然语言问题,抽取其中的关键语义信息,然后在已有单个或多个知识库中通过检索、推理等手段获取答案并返回给用户;知识库问答所涉及的技术包括:词法分析、句法分析、语义分析、信息检索、逻辑推理、语言生成等;按照问答领域划分,知识库问答又可分为限定领域的知识库问答和开放域的知识库问答;
知识图谱的构建涉及到本体建模,也称为数据建模;本体建模分为自顶向下和自底向上两种方式;开放域知识图谱的本体构建通常用自底向上的方法,自动地从知识图谱中抽取概念、概念层次和概念之间的关系;领域知识图谱多采用自顶向下的方法来构建本体;一方面,相对于开放域知识图谱,领域知识图谱涉及的概念和范围都是固定或者可控的;另一方面,对于领域知识图谱,我们要求其满足较高的精度,通常依靠领域专家通过自顶向下的方式来构建本体。
语义解析是问答系统的一个关键技术问题;知识库问答要回答用户的问题,首先就要正确理解用户所提问题的语义内容;面对结构化知识库,需要将用户问题转化为结构化的查询语句,进而在知识图谱进行查询、推理等操作,获取正确答案;因此,对于用户问题的语义解析是知识库问答研究所面临的首要科学问题。具体过程需要分析用户问题中的语义单元与知识图谱中的实体、概念进行链接,并分析问句中这些语义单元之间的语义关系,将用户问题解析成为知识图谱中所定义的实体、概念、关系所组成的结构化语义表示形式。
发明内容
本发明的目的是为了解决现有文学编年史知识获取系统效率过低等缺点,而实现的一种基于知识图谱的文学编年史问答系统。
为了实现上诉目的,本发明采用了如下技术方案:
基于知识图谱的文学编年史问答系统的构建方法包括如下步骤:
1)预处理数据:设计关系型数据库ER图,获取文学编年史相关的结构化数据,转存数据于自定义schema数据库中;
2)本体建模:根据文学编年史涉及的概念、实体,自上而下构建垂直领域的本体结构;
3)数据格式转换:利用创建的本体,创建映射文件;将关系型数据库中的结构化数据转为RDF格式;
4)数据存储及查询服务:利用第三方开源软件存储RDF数据,并启用SPARQL查询终端提供接口;
5)语义解析:通过基于正则与规则的方法对用户查询进行语义解析,若解析失败,则采用基于神经网络的方法解析用户查询;
6)SPARQL查询:根据语义解析的结果构建SPARQL查询,对知识图谱进行搜索得到相应结果返回用户;
7)日志反馈收集:收集用户使用日志和用户反馈用于定位失败的案例,改进系统功能;将日志作为标注数据,迭代训练神经网络模型,提升泛化性能。
优选的,所述的预处理数据,具体步骤为:
2.1设计关系型数据库ER图
ER图主要包括人物表格、地点表格、作品表格和职位表格;ER图也包含了表格之间的关系,主要包含人物之间的亲属关系、人物之间的非亲属关系、人物与地点之间的关系、人物与作品的关系;
2.2结构化数据获取
收集结构化数据,对数据进行去重,繁简转化操作;将数据导入已设计好schema的mysql数据库中。
优选的,所述的本体建模,具体步骤为:
利用开源的本体编辑软件protégé设计本体结构;结合mysql数据库的表结构,自上而下地构建文学编年史垂直领域本体结构;设定属性的domain和range;指定属性的特性,用于知识的推理。
优选的,所述的数据格式转换,具体步骤为:
4.1创建映射文件
采用第三方开源软件d2rq的数据映射配置规范;撰写配置文件,将mysql数据库的表映射到本体结构对应的类别下;其次,针对该表的每个字段,编写映射代码将其映射到本体结构中对应的属性;对数据库的每个表结构执行上述相同的操作流程;
4.2数据转换
借用d2rq提供的转换工具dump-rdf,结合所撰写的配置文件,将mysql中的结构化数据转换为RDF格式的数据。
优选的,所述的数据存储及查询服务,具体步骤为:
5.1数据存储
采用开源的JAVA语义网和链接数据框架Jena作为RDF数据存储和查询的后端;利用Jena提供的原生高性能三元组存储组件TDB持久化RDF数据;使用Jena提供的命令行工具tdbloader为RDF数据建立索引和存储;
5.2查询服务
利用Jena提供的Fuseki组件来查询RDF数据;将构建的本体文件放置在Fuseki服务对应的配置文件目录下;通过脚本fuseki-server启动Fuseki服务。
优选的,所述的基于正则与规则的方法具体为:
将用户查询中的每个词作为一个对象;该对象拥有两个基本属性:词汇与词性;利用开源工具REfO定义匹配规则;当拥有特定词汇或词性的组合出现时,一条规则匹配成功,执行预设的函数;针对每条用户查询,首先利用开源分词工具Jieba对用户查询进行分词和词性标注,得到一个对象列表;其次与预定义的规则逐一匹配;匹配成功,则执行对应的函数;匹配失败,则采用基于神经网络的方法;
所述的基于神经网络的方法具体为:
将用户查询语义解析分解为两个子问题:命名实体识别与短文本分类;采用BiLSTM+CRF网络结构来解决命名实体识别问题;LSTM每个单元的具体实现如下:
it=σ(Wxixt+Whiht-1+bi)
ft=σ(Wxfxt+Whfht-1+bf)
ot=σ(Wxoxt+Whoht-1+bo)
ct=ftct-1+ittanh(wxcxt+whcht-1+bc)
ht=ottanh(ct)
其中σ代表sigmoid函数;it,ft,ot,ct分别代表t时刻的输入门、遗忘门、输出门和记忆单元,大小与隐藏单元一致;Wxi、Wxf、Wxo、wxc分别代表任一时刻输入门、遗忘门、输出门和记忆单元关于输入的参数;Whi、Whf、Who、whc分别代表任一时刻输入门、遗忘门、输出门和记忆单元关于隐藏单元的参数;bi、bf、bo、bc分别代表任一时刻输入门、遗忘门、输出门和记忆单元的偏置;xt代表当前时刻的输入;ht-1代表上一个时刻的隐藏单元;利用双向LSTM结构获取当前时刻之前和之后的特征;经过LSTM抽取的特征作为CRF模型的输入,解码得到当前时刻字符的标签;
ci=f(w·xi:i+h-1+b)
其中ci是每次卷积操作得到的特征,f是一种非线性函数;该卷积应用于所有的查询子序列{X1:h,X2:h+1,……,Xn-h+1:n},最后得到如下特征图:
c=[c1,c2,……,cn-h+1]
采用卷积核大小分别为3,4,5的卷积核各100个,将每个卷积核得到的特征值进行拼接,最终得到一个长度为300的特征向量;对该特征向量进行全接连操作,加上softmax函数求得每个属性的概率。
优选的,所述的SPARQL查询,具体步骤为:
7.1构建SPARQL查询
若步骤5)中采用基于正则和规则的方法进行语义解析,则为每一条规则构造对应的SPARQL查询模板;当用户查询与某条规则匹配时,将匹配的实体和属性填入到相应的SPARQL模板当中;
若步骤5)中采用基于神经网络的方法进行语义解析,则本发明结合BiLSTM+CRF模型识别的实体名和TextCNN模型得到的属性类别构造SPARQL查询;在SPARQL查询中加入了筛选机制解决实体重名的情况:优先返回属性更多的实体所对应的结果;
7.2搜索返回结果
通过第三方库SPARQLWrapper向Fuseki终端发送查询请求;解析返回的查询结果;若存在多个答案,将其进行拼接;将最终答案返回给用户;若语义解析失败或者查询返回结果为空,随机选取一条预定义的回答返回给用户。
优选的,所述的日志反馈收集,具体步骤为:
8.1日志反馈收集
利用mongodb数据库存储用户使用日志;根据语义解析返回的处理状态,将使用日志分别存储在表示查询成功、无对应结果、解析失败三个表中;将用户反馈的查询存入表示结果错误的表中;
8.2模型迭代训练
表示查询成功的表所存储的数据作为正确的标注数据;存储的字段包含用户id、用户查询、解析的SPARQL语句、答案、解析方式、查询包含的实体、查询所指属性;设定阈值,每当新增的数据超过该阈值则重新训练BiLSTM+CRF与TextCNN两个神经网络模型。
本发明还可以服务器后端开发、网页端开发和微信公众号服务开发的步骤,具体为:
9.1服务器后端开发
服务器后端基于web.py框架进行开发,同时为网页端和微信公众号服务提供支持;整合了获取用户请求,处理用户请求,返回处理结果的功能;实现收集用户反馈和使用日志的功能;
9.2网页端开发
前端界面的开发基于HTML5、CSS和JavaScript;前端界面的控件主要包括:查询输入框、查询提交框、答案呈现框、反馈按钮、反馈弹窗以及系统使用说明浮窗;
9.3微信公众号服务开发
实现解析微信转发的用户请求,处理用户文字请求,包装系统回复为微信指定格式的功能。
本发明系统与现有系统相比具有以下效果:
1.该系统基于文学编年史知识图谱,可以返回用户更精准的回答,提升用户获取特定知识的效率;搜索引擎返回相关问题的排序文档,用户为了获得目标信息,需要在文档中做进一步的信息筛选;该系统基于知识图谱所建模的结构化知识,能够直接返回用户查询的信息,不需要用户做后续的信息过滤操作。
2.该系统结合了两种语义解析方法,提升了系统语义解析的泛化性,能够更准确地解析用户查询的语义;具体而言,基于正则和规则的方法主要考虑了系统的准确性,由于本系统处理的是文学编年史领域的问题,我们能够对常见的用户问题做一定的收集和归纳;成功解析此类问题,则可以覆盖大部分用户提问;对于规则之外的问题,该系统利用基于神经网络的方法,所训练的模型具有一定泛化性,能够覆盖一些少见的问题。
3.该系统基于收集的用户使用日志和反馈信息可以迭代地训练神经网络语义解析模型,能够进一步提升模型的泛化性能;具体而言,用户的每一次查询都将记录在日志反馈收集模块中;假若用户没有反馈错误,我们可以认定系统给出了正确的答案;将这些数据作为标注数据,训练基于神经网络的模型,可以提升模型的泛化能力。
4.该系统具有一定的推理能力,有助于文学编年史领域的研究;比如,知识图谱中存在这样的数据:<苏迈,父亲,苏轼>,<苏轼,父亲,苏洵>,同时存在这样的规则:“父亲的父亲是爷爷”;该系统所构建的本体即可用于此类知识的推理;即使知识图谱中没有<苏迈,爷爷,苏洵>这样的知识,系统也可以通过推理得到该知识;该特性能够节省总结知识的时间,加速相关学者在此领域的研究。
附图说明
图1是本发明的文学编年史本体结构图;
图2是本发明的问答系统架构图;
图3是本发明的问答系统流程图;
图4是本发明的问答系统网页端界面;
图5是本发明的问答系统微信公众号界面。
具体实施方式
依据图1-5,本发明的具体实施步骤如下:
1)预处理数据:设计关系型数据库ER图,获取文学编年史相关的结构化数据,转存数据于自定义schema数据库中;
2)本体建模:根据文学编年史涉及的概念、实体,自上而下构建垂直领域的本体结构;
3)数据格式转换:利用创建的本体,创建映射文件;将关系型数据库中的结构化数据转为RDF格式;
4)数据存储及查询服务:利用第三方开源软件存储RDF数据,并启用SPARQL查询终端提供接口;
5)语义解析:通过基于正则与规则的方法对用户查询进行语义解析,若解析失败,则采用基于神经网络的方法解析用户查询;
6)SPARQL查询:根据语义解析的结果构建SPARQL查询,对知识图谱进行搜索得到相应结果返回用户;
7)日志反馈收集:收集用户使用日志和用户反馈用于定位失败的案例,改进系统功能;将日志作为标注数据,迭代训练神经网络模型,提升泛化性能。
所述步骤1)为:
2.1设计关系型数据库ER图
ER图中独立概念表格主要包括人物、地点、作品、职位;ER图也包含了独立概念之间的关系,包含人物之间的非亲属关系、人物与之间之间的关系、人物与作品的关系等;总计20个表格;
2.2结构化数据获取
利用哈佛大学开源的中国历代人物传记数据库(The China BiographicalDatabase,CBDB)作为知识图谱的数据源,其收录了422,600人的传记资料,这些人主要出自七世纪至十九世纪,数据用sqlite数据库存储;对数据进行去重,繁简转化等操作;根据CBDB提供的表结构说明,将数据导入已设计好的mysql数据库中。
所述步骤2)为:
利用开源的本体编辑软件protégé设计本体结构;结合mysql数据库的表结构,共创建14个主类,24个主对象属性,39个主数据属性;设定属性的domain和range;指定属性的特性,如:相反关系,用于知识的推理。
所述步骤3)为:
4.1创建映射文件
本发明采用第三方开源软件d2rq的数据映射配置规范;撰写配置文件,将mysql数据库的表映射到本体结构对应的类别下;其次,针对该表的每个字段,编写映射代码将其映射到本体结构中对应的属性;对数据库的每个表结构执行上述相同的操作流程;
4.2数据转换
借用d2rq提供的转换工具dump-rdf,结合所撰写的配置文件,将mysql中的结构化数据转换为RDF格式的数据。
所述步骤4)为:
5.1数据存储
本发明采用免费开源的JAVA语义网和链接数据框架Jena作为RDF数据存储和查询的后端;利用Jena提供的原生高性能三元组存储组件TDB持久化RDF数据;使用Jena提供的命令行工具tdbloader为RDF数据建立索引和存储。
5.2查询服务
利用Jena提供的Fuseki组件来查询RDF数据;将构建的本体文件放置在Fuseki服务对应的配置文件目录下;通过脚本fuseki-server启动fuseki服务。
所述步骤5)为:
6.1基于正则与规则的方法
此方法将用户查询中的每个词作为一个对象;该对象拥有两个基本属性:词汇与词性;利用开源工具REfO定义一系列匹配规则;当拥有特定词汇或词性的组合出现时,一条规则匹配成功,执行预设的函数;针对每条用户查询,首先利用开源分词工具Jieba对用户查询进行分词和词性标注,得到一个对象列表;其次与预定义的规则逐一匹配;匹配成功,则执行对应的函数;匹配失败,则失败错误代码;
6.2基于神经网络的方法
此方法将用户查询语义解析分解为两个子问题:命名实体识别与短文本分类;本发明采用BiLSTM+CRF网络结构来解决命名实体识别问题;LSTM每个单元的具体实现如下:
it=σ(Wxixt+Whiht-1+bi)
ft=σ(Wxfxt+Whfht-1+bf)
ot=σ(Wxoxt+Whoht-1+bo)
ct=ftct-1+ittanh(wxcxt+whcht-1+bc)
ht=ottanh(ct)
其中σ代表sigmoid函数;i,f,o,c分别代表输入门、遗忘门、输出门和记忆单元,大小与隐藏单元一致;带下标的W与b是每个门对应的参数;xt代表当前时刻的输入;ht-1代表上一个时刻的隐藏单元;利用双向LSTM结构获取当前时刻之前和之后的特征;经过LSTM抽取的特征作为CRF模型的输入,解码得到当前时刻字符的标签;
ci=f(w·xi:i+h-1+b)
其中ci是每次卷积操作得到的特征,f是一种非线性函数;该卷积应用于一系列可能的查询子序列{X1:h,X2:h+1,……,Xn-h+1:n},最后得到如下特征图:
c=[c1,c2,……,cn-h+1]
采用卷积核大小分别为3,4,5的卷积核各100个,将每个卷积核得到的特征值进行拼接,最终得到一个长度为300的特征向量;对该特征向量进行全接连操作,加上softmax函数求得每个属性的概率。
所述步骤6)为:
7.1构建SPARQL查询
针对基于正则和规则的方法,本发明为每一条规则构造对应的SPARQL查询模板;当用户查询与某条规则匹配时,将匹配的实体和属性填入到相应的SPARQL模板当中;针对基于神经网络的方法,本发明结合BiLSTM+CRF模型识别的实体名和TextCNN模型得到的属性类别构造SPARQL查询;在SPARQL查询中加入了简单的筛选机制解决实体重名的情况:优先返回属性更多的实体所对应的结果;
7.2搜索返回结果
通过第三方库SPARQLWrapper向Fuseki终端发送查询请求;解析返回的查询结果;若存在多个答案,将其进行拼接;将最终答案返回给用户;若语义解析失败或者查询返回结果为空,随机选取一条预定义的回答返回给用户。
所述步骤7)为:
8.1日志反馈收集
利用mongodb数据库存储用户使用日志;根据语义解析返回的处理状态,将使用日志分别存储在表示查询成功、无对应结果、解析失败三个表中;将用户反馈的查询存入表示结果错误的表中;
8.2模型迭代训练
表示查询成功的表所存储的数据作为正确的标注数据;存储的字段包含用户id、用户查询、解析的SPARQL语句、答案、解析方式、查询包含的实体、查询所指属性;设定阈值,每当新增的数据超过该阈值则重新训练BiLSTM+CRF与TextCNN两个神经网络模型。
实施例
下面结合本技术的方法详细说明实施该实例的具体步骤,如下:
1.根据问答系统涉及的领域设计关系型数据库mysql的ER图;ER图包含了人物、地点、作品、职位、人物之间非亲属关系、人物与地点关系、人物和作品关系、人物和除授关系等20个表;人物表包含了id、人名、姓氏、名字、性别、过世年龄、民族、郡望、朝代、出生年份、去世年份、出生月份、去世月份、出生日、过世日等27个字段;对中国历代人物传记数据库(CBDB)中的结构化数据进行筛选、清理、繁简转化等操作;将整理的数据一一对应导入到已创建好schema的mysql数据库中。
2.根据问答系统涉及的领域和已创建好的ER图,利用开源软件protégé建立文学编年史本体结构;该本体包含人物、地点、作品等14个主类,亲属关系、非亲属关系等24个主对象属性,姓名、朝代等39个主数据属性,如图1所示;导出本体文件。
3.按照开源软件d2rq配置文件规范,编写映射文件;将mysql数据库的每个表映射到本体结构对应的类别下;其次,针对每个表的每个字段,编写映射代码将其映射到本体结构中对应的属性;使用d2rq提供的dump-rdf工具将mysql数据库中的结构化数据转换为RDF格式。
4.利用Jena的工具tdbloader对第3步中得到的RDF数据文件建立索引并存储;将保存的本体文件复制一份放置在Jena Fuseki配置文件目录下;执行fuseki-server脚本启动SPARQL终端查询服务。
5.利用基于正则和规则的语义解析方法解析用户查询;如果解析成功,通过预定义的SPARQL模板进行查询;存在对应答案,则返回给用户,否则返回预定义的回复;如果解析失败,利用基于神经网络的方法继续解析用户查询;BiLSTM+CRF网络得到查询中的实体,TextCNN网络得到查询涉及的关系;如果解析成功,通过SPARQL进行查询;存在对应答案,则返回给用户,否则返回预定义的回复。
6.问答系统的整体架构如图2所示,用户查询流程图如图3所示;网页端的用户交互界面如图4所示,图5展示了用户通过微信端公众号和系统交互的过程。
7.用户使用系统过程中,后台持续收集日志和反馈,迭代训练神经网络语义解析模型。
Claims (7)
1.一种基于知识图谱的文学编年史问答系统的构建方法,其特征在于包括如下步骤:
1)预处理数据:设计关系型数据库ER图,获取文学编年史相关的结构化数据,转存数据于自定义schema数据库中;
2)本体建模:根据文学编年史涉及的概念、实体,自上而下构建垂直领域的本体结构;
3)数据格式转换:利用创建的本体,创建映射文件;将关系型数据库中的结构化数据转为RDF格式;
4)数据存储及查询服务:利用第三方开源软件存储RDF数据,并启用SPARQL查询终端提供接口;
5)语义解析:通过基于正则与规则的方法对用户查询进行语义解析,若解析失败,则采用基于神经网络的方法解析用户查询;
所述的基于正则与规则的方法具体为:
将用户查询中的每个词作为一个对象;该对象拥有两个基本属性:词汇与词性;利用开源工具REfO定义匹配规则;当拥有特定词汇或词性的组合出现时,一条规则匹配成功,执行预设的函数;针对每条用户查询,首先利用开源分词工具Jieba对用户查询进行分词和词性标注,得到一个对象列表;其次与预定义的规则逐一匹配;匹配成功,则执行对应的函数;匹配失败,则采用基于神经网络的方法;
所述的基于神经网络的方法具体为:
将用户查询语义解析分解为两个子问题:命名实体识别与短文本分类;采用BiLSTM+CRF网络结构来解决命名实体识别问题;LSTM每个单元的具体实现如下:
it=σ(Wxixt+Whiht-1+bi)
ft=σ(Wxfxt+Whfht-1+bf)
ot=σ(Wxoxt+Whoht-1+bo)
ct=ftct-1+ittanh(wxcxt+whcht-1+bc)
ht=ottanh(ct)
其中σ代表sigmoid函数;it,ft,ot,ct分别代表t时刻的输入门、遗忘门、输出门和记忆单元,大小与隐藏单元一致;Wxi、Wxf、Wxo、wxc分别代表任一时刻输入门、遗忘门、输出门和记忆单元关于输入的参数;Whi、Whf、Who、whc分别代表任一时刻输入门、遗忘门、输出门和记忆单元关于隐藏单元的参数;bi、bf、bo、bc分别代表任一时刻输入门、遗忘门、输出门和记忆单元的偏置;xt代表当前时刻的输入;ht-1代表上一个时刻的隐藏单元;利用双向LSTM结构获取当前时刻之前和之后的特征;经过LSTM抽取的特征作为CRF模型的输入,解码得到当前时刻字符的标签;
ci=f(w·xi:i+h-1+b)
其中ci是每次卷积操作得到的特征,f是一种非线性函数;该卷积应用于所有的查询子序列{X1:h,X2:h+1,……,Xn-h+1:n},最后得到如下特征图:
c=[c1,c2,……,cn-h+1]
采用卷积核大小分别为3,4,5的卷积核各100个,将每个卷积核得到的特征值进行拼接,最终得到一个长度为300的特征向量;对该特征向量进行全接连操作,加上softmax函数求得每个属性的概率;
6)SPARQL查询:根据语义解析的结果构建SPARQL查询,对知识图谱进行搜索得到相应结果返回用户;
7)日志反馈收集:收集用户使用日志和用户反馈用于定位失败的案例,改进系统功能;将日志作为标注数据,迭代训练神经网络模型,提升泛化性能。
2.根据权利要求1中所述的构建方法,其特征在于所述的预处理数据,具体步骤为:
2.1设计关系型数据库ER图
ER图包括人物表格、地点表格、作品表格和职位表格;ER图也包含了表格之间的关系,包含人物之间的亲属关系、人物之间的非亲属关系、人物与地点之间的关系、人物与作品的关系;
2.2结构化数据获取
收集结构化数据,对数据进行去重,繁简转化操作;将数据导入已设计好schema的mysql数据库中。
3.根据权利要求1所述的构建方法,其特征在于所述的本体建模,具体步骤为:
利用开源的本体编辑软件protégé设计本体结构;结合mysql数据库的表结构,自上而下地构建文学编年史垂直领域本体结构;设定属性的domain和range;指定属性的特性,用于知识的推理。
4.根据权利要求1所述的构建方法,其特征在于所述的数据格式转换,具体步骤为:
4.1创建映射文件
采用第三方开源软件d2rq的数据映射配置规范;撰写配置文件,将mysql数据库的表映射到本体结构对应的类别下;其次,针对该表的每个字段,编写映射代码将其映射到本体结构中对应的属性;对数据库的每个表结构执行上述相同的操作流程;
4.2数据转换
借用d2rq提供的转换工具dump-rdf,结合所撰写的配置文件,将mysql中的结构化数据转换为RDF格式的数据。
5.根据权利要求1所述的构建方法,其特征在于所述的数据存储及查询服务,具体步骤为:
5.1数据存储
采用开源的JAVA语义网和链接数据框架Jena作为RDF数据存储和查询的后端;利用Jena提供的原生高性能三元组存储组件TDB持久化RDF数据;使用Jena提供的命令行工具tdbloader为RDF数据建立索引和存储;
5.2查询服务
利用Jena提供的Fuseki组件来查询RDF数据;将构建的本体文件放置在Fuseki服务对应的配置文件目录下;通过脚本fuseki-server启动Fuseki服务。
6.根据权利要求1所述的构建方法,其特征在于所述的SPARQL查询,具体步骤为:
7.1构建SPARQL查询
若步骤5)中采用基于正则和规则的方法进行语义解析,则为每一条规则构造对应的SPARQL查询模板;当用户查询与某条规则匹配时,将匹配的实体和属性填入到相应的SPARQL模板当中;
若步骤5)中采用基于神经网络的方法进行语义解析,则结合BiLSTM+CRF模型识别的实体名和TextCNN模型得到的属性类别构造SPARQL查询;在SPARQL查询中加入了筛选机制解决实体重名的情况:优先返回属性更多的实体所对应的结果;
7.2搜索返回结果
通过第三方库SPARQLWrapper向Fuseki终端发送查询请求;解析返回的查询结果;若存在多个答案,将其进行拼接;将最终答案返回给用户;若语义解析失败或者查询返回结果为空,随机选取一条预定义的回答返回给用户。
7.根据权利要求1所述的构建方法,其特征在于所述的日志反馈收集,具体步骤为:
8.1日志反馈收集
利用mongodb数据库存储用户使用日志;根据语义解析返回的处理状态,将使用日志分别存储在表示查询成功、无对应结果、解析失败三个表中;将用户反馈的查询存入表示结果错误的表中;
8.2模型迭代训练
表示查询成功的表所存储的数据作为正确的标注数据;存储的字段包含用户id、用户查询、解析的SPARQL语句、答案、解析方式、查询包含的实体、查询所指属性;设定阈值,每当新增的数据超过该阈值则重新训练BiLSTM+CRF与TextCNN两个神经网络模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811455685.3A CN109766417B (zh) | 2018-11-30 | 2018-11-30 | 一种基于知识图谱的文学编年史问答系统的构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811455685.3A CN109766417B (zh) | 2018-11-30 | 2018-11-30 | 一种基于知识图谱的文学编年史问答系统的构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109766417A CN109766417A (zh) | 2019-05-17 |
CN109766417B true CN109766417B (zh) | 2020-11-24 |
Family
ID=66451141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811455685.3A Expired - Fee Related CN109766417B (zh) | 2018-11-30 | 2018-11-30 | 一种基于知识图谱的文学编年史问答系统的构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109766417B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110275947A (zh) * | 2019-05-23 | 2019-09-24 | 中国人民解放军战略支援部队信息工程大学 | 基于命名实体识别的特定领域知识图谱自然语言查询方法及装置 |
CN113408000A (zh) * | 2019-07-17 | 2021-09-17 | 海南鑫镁科技有限公司 | 一种适用于仲裁案件档案查询的可信云平台查询方法 |
CN110489610B (zh) * | 2019-08-14 | 2022-02-08 | 北京海致星图科技有限公司 | 一种知识图谱实时查询解决方案 |
CN111209738B (zh) * | 2019-12-31 | 2021-03-26 | 浙江大学 | 一种联合文本分类的多任务命名实体识别方法 |
CN111324709B (zh) * | 2020-02-10 | 2021-08-13 | 广西师范大学 | 基于学科知识图谱和卷积神经网络的智能答疑方法 |
CN111611378A (zh) * | 2020-05-15 | 2020-09-01 | 金日泽 | 行为训练对话控制方法、系统、存储介质、程序、终端 |
CN111897859B (zh) * | 2020-09-30 | 2021-01-05 | 知学云(北京)科技有限公司 | 一种面向企业在线教育的大数据智能报表平台 |
CN113360518B (zh) * | 2021-06-07 | 2023-03-21 | 哈尔滨工业大学 | 一种基于多源异构数据的层次本体构造方法 |
CN113407688B (zh) * | 2021-06-15 | 2022-09-16 | 西安理工大学 | 一种基于知识图谱的勘察规范智能问答系统的建立方法 |
CN113641805B (zh) * | 2021-07-19 | 2024-05-24 | 北京百度网讯科技有限公司 | 结构化问答模型的获取方法、问答方法及对应装置 |
CN113886482B (zh) * | 2021-12-07 | 2022-03-08 | 北京华云安信息技术有限公司 | 面向图数据库的数据自动入库方法、装置和设备 |
CN114637766B (zh) * | 2022-05-18 | 2022-08-26 | 山东师范大学 | 基于自然资源产业链知识图谱的智能问答方法及系统 |
CN115827844B (zh) * | 2022-12-12 | 2023-08-08 | 之江实验室 | 一种基于Sparql语句生成的知识图谱问答方法和系统 |
CN116340584B (zh) * | 2023-05-24 | 2023-08-11 | 杭州悦数科技有限公司 | 一种自动生成复杂图数据库查询语句服务的实现方法 |
CN116610791B (zh) * | 2023-07-20 | 2023-09-29 | 中国人民解放军国防科技大学 | 针对结构化信息的基于语义分析的问答方法、系统及设备 |
CN117632098B (zh) * | 2024-01-25 | 2024-04-23 | 中国建筑设计研究院有限公司 | 一种基于aigc的建筑智能设计系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868313B (zh) * | 2016-03-25 | 2019-02-12 | 浙江大学 | 一种基于模板匹配技术的知识图谱问答系统及方法 |
CN107766483A (zh) * | 2017-10-13 | 2018-03-06 | 华中科技大学 | 一种基于知识图谱的交互式问答方法及系统 |
-
2018
- 2018-11-30 CN CN201811455685.3A patent/CN109766417B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN109766417A (zh) | 2019-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109766417B (zh) | 一种基于知识图谱的文学编年史问答系统的构建方法 | |
US11790006B2 (en) | Natural language question answering systems | |
CN110399457B (zh) | 一种智能问答方法和系统 | |
US20220382752A1 (en) | Mapping Natural Language To Queries Using A Query Grammar | |
CN109472033B (zh) | 文本中的实体关系抽取方法及系统、存储介质、电子设备 | |
CN110633409B (zh) | 一种融合规则与深度学习的汽车新闻事件抽取方法 | |
CA3098802C (en) | Systems and methods for generating a contextually and conversationally correct response to a query | |
CN113076431B (zh) | 机器阅读理解的问答方法、装置、计算机设备及存储介质 | |
US20110093467A1 (en) | Self-indexing data structure | |
WO2020010834A1 (zh) | 一种faq问答库泛化方法、装置及设备 | |
CN104216913A (zh) | 问题回答框架 | |
US20230030086A1 (en) | System and method for generating ontologies and retrieving information using the same | |
CN112925901B (zh) | 一种辅助在线问卷评估的评估资源推荐方法及其应用 | |
CN114153994A (zh) | 医保信息问答方法及装置 | |
CN117688189B (zh) | 一种融合知识图谱、知识库和大型语言模型的问答系统构建方法 | |
CN109522396B (zh) | 一种面向国防科技领域的知识处理方法及系统 | |
Tapsai | Information processing and retrieval from CSV file by natural language | |
CN110276080A (zh) | 一种语义处理方法和系统 | |
CN111553160A (zh) | 一种获取法律领域问句答案的方法和系统 | |
CN115114420A (zh) | 一种知识图谱问答方法、终端设备及存储介质 | |
CN114840685A (zh) | 一种应急预案知识图谱构建方法 | |
CN118132719A (zh) | 一种基于自然语言处理的智能对话方法及系统 | |
Francia et al. | Towards conversational OLAP | |
Ferrández et al. | A framework for enriching Data Warehouse analysis with Question Answering systems | |
CN117609468A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20201124 |
|
CF01 | Termination of patent right due to non-payment of annual fee |