CN111104492A - 一种基于层次化Attention机制的民航领域自动问答方法 - Google Patents
一种基于层次化Attention机制的民航领域自动问答方法 Download PDFInfo
- Publication number
- CN111104492A CN111104492A CN201910884388.9A CN201910884388A CN111104492A CN 111104492 A CN111104492 A CN 111104492A CN 201910884388 A CN201910884388 A CN 201910884388A CN 111104492 A CN111104492 A CN 111104492A
- Authority
- CN
- China
- Prior art keywords
- question
- answer
- word
- data
- model
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000007246 mechanism Effects 0.000 title claims abstract description 22
- 238000010276 construction Methods 0.000 claims abstract description 8
- 238000012549 training Methods 0.000 claims description 38
- 239000013598 vector Substances 0.000 claims description 20
- 238000013135 deep learning Methods 0.000 claims description 13
- 230000011218 segmentation Effects 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000011156 evaluation Methods 0.000 claims description 11
- 230000009193 crawling Effects 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 10
- 238000011161 development Methods 0.000 claims description 9
- 230000018109 developmental process Effects 0.000 claims description 9
- 238000012360 testing method Methods 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 7
- 230000002457 bidirectional effect Effects 0.000 claims description 6
- 230000014509 gene expression Effects 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 6
- 238000011176 pooling Methods 0.000 claims description 6
- 239000007787 solid Substances 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 238000013480 data collection Methods 0.000 claims description 4
- 230000001419 dependent effect Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 4
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 3
- 230000004913 activation Effects 0.000 claims description 3
- 238000013210 evaluation model Methods 0.000 claims description 3
- 238000005457 optimization Methods 0.000 claims description 3
- 230000001502 supplementing effect Effects 0.000 claims description 2
- 229910000831 Steel Inorganic materials 0.000 claims 1
- 239000000463 material Substances 0.000 claims 1
- 239000010959 steel Substances 0.000 claims 1
- 238000013528 artificial neural network Methods 0.000 abstract description 4
- 239000000284 extract Substances 0.000 abstract description 4
- 230000008447 perception Effects 0.000 abstract description 3
- 230000001737 promoting effect Effects 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 8
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 229940050561 matrix product Drugs 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/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 or dialogue systems
-
- 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
Abstract
本发明公开了一种基于层次化Attention机制的民航领域自动问答方法,首先,从官方渠道获取数据,构建民航领域中英文双语常见问答数据库、开放域问题‑答案对数据库以及航班信息数据库;其次,设计并实现了基于层次化Attention机制的深度神经网络对新问题自动抽取答案,用于数据库的扩充,该网络可以逐层捕捉问题与篇章之间的关系,并对于一个语句可以同时启用多个聚焦点,解决了序列过长时的远距离依赖问题,增加模型感知视野,关注全局信息;最后,建立智慧机场自动问答系统平台,可以从语音、文本两个渠道进行自动问答,实现面向旅客的智能化服务,推进智慧机场的建设。
Description
技术领域
本发明涉及一种基于深度学习技术的民航领域自动问答方法,属于自然语言文字信息处理领域。
背景技术
自动问答技术是一种基于自然语言处理技术和信息检索技术的智能搜索技术。它允许用户以自然语言的方式提问,并直接返回给用户所需的答案。传统常见的方法包括基于规则、基于统计以及基于深度学习的方法。
随着深度学习在自然语言处理领域的迅速发展,预训练的语言模型从大规模的人类语言知识库中学习到了较为通用的语义表示,引入更多的先验知识,能够从语义层面理解自然语言,这为自动问答技术的发展提供了技术支撑。
现有的文本问答系统主要由三部分组成:问题解析模块、信息抽取模块以及答案获取模块。问题解析模块对输入的问题进行基本的自然语言处理操作,例如分析问题的语义类型以及对问题进行分类或关键词扩展等;信息抽取模块根据问题从对应得文档库中检索出候选的文本内容,例如从搜索引擎中抽取相关文档;答案获取模块从检索到的文本中抽取或生成问题所对应的答案。
大部分的自动问答研究工作专注于在相关文档中查找给定的事实性问题的精确答案,而对于非事实性的问题(如how,why类型),自动问答系统目前还没有取得理想的效果。现有的技术中,Match-LSTM(Match-Long Short Term Memory)结合Answer-Pointer的方法效果较好,Match-LSTM负责生成篇章对应的表示向量并确保该向量充分考虑了问题和篇章的匹配程度,Answer-Pointer负责基于篇章标注答案的开始以及结束位置。随着Attention机制的广泛应用,双向Attention机制在自动问答领域得到了发展,双向Attention机制可以计算问题到文本以及文本到问题两个方向的注意力表示,最终融合这两个表示得到文本的最终表示。以及利用双向LSTM对<问题,答案>对的语义匹配特征进行提取得到融合深度匹配特征的答案选择模型。
目前,我国智慧机场技术主要集中在电子信息技术上,机场广泛应用电子信息技术实现航线、广播等智能化控制和信息化管理。基于目前智慧民航的发展现状,旅客在机场内自助办理业务和查询信息的方式还不够完善,不利于航信参与到旅客服务智能化的过程中。
发明内容
本发明的目的在于结合深度学习技术,采用层次化Attention机制研究应用于民航领域的自动问答模型。充分利用开放域问答数据对模型进行预训练来弥补领域特定数据不足的固有缺陷,借助层次化Attention机制构建模型,捕获问题和篇章之间的交互关系。经过实验证明,该方法能够较好的发现并提取高质量的潜在语义特征,较大幅度提高了答案获取的准确率。
为实现上述目的,本发明采用的技术方案为一种基于层次化Attention机制的民航领域自动问答方法,该方法包括如下技术步骤,
首先从公开评测的中英文自动问答任务中收集训练数据,从航空公司官网上采集常见问题数据;然后构建数据库,包括各航空公司民航领域中文问答数据、民航领域常见英文问答数据、开放域常见问答数据以及航班信息数据;接着构建模型,分为词嵌入层、语义编码层以及答案选择层,对数据库的数据进行补充;最后搭建民航领域问答平台。
(1)数据集
①开放域数据集及评价指标
开放域数据集采用斯坦福公开的阅读理解数据集SQuAD V1.1(StanfordQuestion Answering Dataset)。该开放域数据集包含10万个三元组,三元组分别为问题、原文、答案。原文来自于536篇维基百科的文章,问题和答案的构建是通过众包的方式,标注人员提出最多5个基于文章内容的问题并提供正确答案,且答案在原文中出现。阅读理解数据集SQuAD中的答案不再是单个实体或者单词,而可能是短语或短句,使得其答案预测更难。阅读理解数据集SQuAD包括公开的训练集和开发集,以及一个隐藏的测试集,并采用封闭式测评,提供排行榜,用于公布结果和排名对比。
SQuAD官方采用两个评价指标评价参评模型性能,一个是Exact Match(EM),一个是(Macro-average)F1 score,这里简称F1。EM衡量模型预测的答案和正确答案完全一致的百分比。F1值用来衡量模型预测的答案和标准答案单词的交集大小。采用F1值作为模型的评价指标,如公式所示:
这里Recall指召回率,Precision指准确率。M表示测试集样本的数量,a′i表示模型预测的答案,表示样本标准答案,i表示第i个问题。表示a′i与相等的个数,即真正预测准确的个数,表示所有真正正确的个数,count(a′i)表示预测是准确的个数。
②民航领域数据采集
a.航班状态数据
数据采集字段包括航空公司、航班号、最低价格、起飞时间、起飞机场、降落时间、降落机场、飞行时长和准点率。
网络爬虫是应用最为广泛的搜索引擎信息搜索技术之一。以Python及其框架Scrapy环境为基础,设置多个节点对海量航班数据进行对以上字段的并行获取与处理。
Scrapy是一个开源和协作的框架,其最初是为了页面抓取(网络抓取)所设计的,使用它可以以快速、简单、可扩展的方式从网站中提取所需的数据。但目前Scrapy的用途十分广泛,可用于如数据挖掘、监测和自动化测试等领域,也可以应用在获取API所返回的数据(例如Amazon Associates Web Services)或者通用的网络爬虫。
对于航班信息的采集,采用聚焦爬虫,根据既定的要求,有目的的筛选所有符合要求的字段进行爬取,并根据要求只提取需要的文本信息,再根据一定的搜索策略获取下一个需要爬取的字段进行爬取。
b.收集航空公司常见问题数据
对于航空公司常见问题数据问题-答案对的收集,同样采用编写爬虫的方式进行抽取。但由于不同网页的结构也不同,所以通过正则表达式的方式来编写一个通用爬虫提取以上URL中的“在线客服”模块中所给出的常见问题和答案。
c.中文开放域问答数据
对超过10万个常见问题,导入百度搜索引擎进行搜索,将页面返回的第一个链接中的答案作为该问题的答案。由于考虑到有的问题会检索不到答案,所以采用关键词重叠的手段,如果提取的答案涵盖问题中50%的词汇,则提取该答案,若低于该指标,则丢弃该问题。由于提取的答案含有部分噪声数据,对结果进行了人工加工,问题-答案对数据量达到13万左右。
(2)数据库构建
①各航空公司民航领域问答
qa_company(航空公司,编号,Q,A)
【实体表】
②民航领域常见英文问答
qa_english(question,answer)
③开放域常见问答
qa_chinese(question,answer)
④航班信息
ticket(采集时间,航空公司,航班号,最低价格,起飞时间,起飞机场,到达时间,到达机场,飞行时长,准点率)
(3)模型构建
模型结构分为三层:词嵌入层、语义编码层以及答案选择层。
①词嵌入层
a.字符级词嵌入。使用一维卷积操作对矩阵进行卷积操作,使用最大池化操作对每一个卷积核操作并将多个卷积核的最大池化结果串联成向量,表示基于字符级的词嵌入。
b.基于Glove的词嵌入。Glove模型在8400亿单词组成的训练数据上训练了一个通用的词向量,使用Glove预训练的词向量将词表中的每一个单词映射到300维的线性空间中。
将二者拼接起来表示每一个词的分布式表示,公式如下所示。其中Q表示拼接后得到的问题表示,P表示拼接后得到的篇章表示;表示由一维卷积得到的问题表示,表示由一维卷积得到的篇章表示,;使用GloVe得到字符级别的词嵌入表示,表示问题,表示篇章。其中m表示问题的词个数,n表示篇章的词个数,t表示当前的词,q表示问题中的词,p表示篇章中的词。
②语义编码层
将问题和文章分别通过双向LSTM结构,并与嵌入层得到的特征进行拼接,通过Attention机制得到问题依赖的篇章表示。语义编码层的输入分别是维度为dq的篇章和同样维度的问题组成的‘key-value’对。计算篇章中每个单词和问题中每个单词的相似度,将该相似度作为权重,然后通过加权求和的方式得到篇章的对其表示。具体计算如下公式所示:
其中Z是归一化因子,pt表示篇章编码矩阵中第t个单词的分布式表示,和都来自问题,表示问题中第i个单词的分布式表示。利用pt作为查询,通过pt与各个计算内积并归一化的方式,得到与各个的相似度,然后加权求和,将pt重新编码。问题和篇章得到的最终表示由和表示。
③答案选择层
答案选择层负责对篇章中的每一个单词进行预测,计算其属于答案开始和结束的概率。同时将问题表示进行自注意力学习,从而形成问题表示,并将该表示作为联合输入答案选择单元进行位置预测。具体计算公式如下:
由于抽取式模型旨在从篇章中抽取一个片段作为答案。因此结束位置必须位于开始位置之后。在得到了开始位置后,将结束位置的计算作为开始位置的条件概率进行计算,公式如下所示,其中表示开始位置的篇章表示,pE表示结束位置概率:
(4)模型训练及检测
在模型训练中,采用开放域数据集SQuAD的训练集对模型进行训练,其开发集用于计算F1值以便保存最好模型。
使用Stanford CoreNLP工具对问题和文章进行分词处理;对于词嵌入,使用预训练的词向量GloVe作为每个单词的初始输入,同时在训练阶段进行微调。对于未登录词,使用全零向量进行填充;对每一层来说,LSTM的隐层大小设置为75,同时对每一层均使用了大小为0.50的dropout。模型训练过程中使用的优化算法为Adam,学习率大小为0.001,β1=0.9和β2=0.999。采用的深度学习框架为Pytorch,采用一块NAVIDA 1080Ti(11G)训练模型。
(5)民航领域问答
在民航领域问答中,对旅客提出的问题进行分词处理,对于中文问题将字符串分为几个单词,根据单词词性将其中的名词、动词等词性的单词进行模糊匹配,对于英文问题则是以空格作为自然分界符的。
附图说明
为使本发明的目的,方案更加通俗易懂,下面将结合附图对本发明进一步说明。
图1为本发明所使用的基于深度学习的自助问答模型结构;
图2为问题答案匹配过程。
具体实施方式
以下结合附图和实施例对本发明进行详细说明。
目前基于RNN深度神经网络自动问答技术受固有顺序特性的限制妨碍了训练并行化,训练和推理过程都相对较慢,而且无法进行篇章远距离依赖信息捕捉。对比循环神经网络结构,所设计的基于层次化Attention机制的深度神经网络模型对于一个语句可以同时启用多个聚焦点,而不必局限于序列串行处理,解决了序列过长时的远距离依赖问题,增加模型感知视野,关注全局信息。
利用多粒度的词嵌入挖掘文本所涵盖的潜在语义特征,发现更高质量的特征。依赖Attention机制描绘输入和输出之间的全局依赖关系,分层分别提取词级、句子级的语义信息,从而使答案抽取过程可以充分利用篇章的语境信息。
通过交互式Attention机制进行软对齐,捕捉问题与篇章之间的交互信息,充分考虑篇章信息计算候选答案的概率,从而提高答案抽取准确率。
优化后的模型可设置较大的批处理参数,单位时间内可以训练更多的数据,从而提升模型性能。采用领域自适应训练方式,利用迁移学习提升模型的泛化能力,在包含较多训练样本的开放域数据集上进行预训练,再在民航领域数据集上进行微调,从而弥补特定领域训练数据不足的缺陷。
该模型是用于民航领域的自动问答的深度学习框架,可以捕捉深层次语义信息,实现深度语言理解、训练并行化以及高准确率答案抽取。本发明面向智慧机场的自动问答技术展开研究,多渠道采集输入数据,包括语音与文本等形式,构建问答知识获取资源,并实现智慧机场自动问答的智能化服务,通过深度学习等技术,从海量的多种类型数据中识别问题和答案,实现智能化的问答原型系统。目前大部分关于自动问答的研究工作主要是在相关文档中查找给定的事实性问题的精确答案。对于非事实性的问题,如:how等类型,自动问答系统并没有取得理想的效果。本发明综合运用语音识别技术与语言语义蕴涵推理关系实现机场问答知识资源的构建,由基于Attention机制的深度学习技术实现问题回答,进一步推进智慧机场的智能化服务。
本发明主要实现了基于深度学习的民航自动问答系统设计,基于层次化Attention机制的深度神经网络,逐层捕捉问题与篇章之间的关系,并对于一个语句可以同时启用多个聚焦点,解决了序列过长时的远距离依赖问题,增加模型感知视野,关注全局信息。实现民航领域自动问答,包括各航空公司的常见民航领域问答、航班信息的相关查询、开放域的常见问答,为旅客提供智慧机场的智能化服务。
本发明主要的发明内容如下:
首先,针对民航领域数据进行全方位采集整理,主要包括如下方面:
(1)民航公司中英文双语常见问答,采用通用爬虫提取航空公司官方网站“在线客服”模块中所给出的常见问题和答案;
(2)开放域问题-答案对采集自SQuAD开放域问答数据集,整理出用于模型训练的数据集;
(3)航班信息数据采用聚焦爬虫进行获取,包含航空公司、航班号、最低价格、起飞时间、起飞机场、降落时间、降落机场、飞行时长、准点率字段,用于航班信息检索查询服务。
其次,对问答数据库进行构建,主要工作如下:
(1)建立民航领域中英文双语常见问答数据库,包含航公公司、问题及匹配答案,共600条以上,可进行定期更新;
(2)建立开放域问题-答案对数据库,包含开放域问题及匹配答案,共13万条以上,可进行定期更新;
(3)建立航班信息数据库,包含航空公司、航班号、最低价格、起飞时间、起飞机场、降落时间、降落机场、飞行时长、准点率,可实时更新。
第三,文本分词及数据预处理,主要工作如下:
(1)分词采用“结巴”分词技术,该技术主要是基于统计词典,构造一个前缀词典;然后利用前缀词典对输入句子进行切分,得到所有的切分可能,根据切分位置,构造一个有向无环图;通过动态规划算法,计算得到最大概率路径,也就得到了最终的切分形式。
(2)在模型训练前,对开放域数据集进行拆分,整理得到训练集、开发集、测试集,并对一些补充数据进行人工标注。
第四,基于层次化Attention机制的自动问答模型构建,具体工作如下:
利用深度学习框架实现,可针对新问题从篇章中提取答案,用于数据资源扩充。模型主要包括三层:
(1)词嵌入层:可以得到对每个单词字符级以及词级的嵌入表示。问题和篇章分别由若干个单词组成,我们定义表示问题,表示篇章。问题和篇章中的每一个单词wi均由若干个字符组成,我们定义字符级别的单词分布式表示矩阵为wi={c1,c2,...,ck}。每一个字符ci(i=1...k)的分布式表示由一维卷积得到,表示问题,表示篇章。使用GloVe得到字符级别的词嵌入表示,表示问题,表示篇章。进一步,对这两种表示进行拼接分别得到问题和篇章的最终表示。
(2)语义编码层:利用Attention机制将问题与文章机型交互式编码得到问题依赖的篇章表示。由于Attention机制完全基于矩阵的内积计算,因此可以由高度优化的矩阵乘积代替:
该公式中P=linear(Up)∈Rn*d,Qkey=linear(Uq)∈Rm*d,Qvalue=linear(Uq)∈Rm*d,linear=Relu(Wx+b)是一个非线性变换函数。
(3)答案选择层对篇章中每个单词进行预测计算得到答案开始和结束的概率。采用Highway Network对篇章中的每一个单词进行预测,计算其属于答案开始概率pS和结束概率pE。同时将问题表示进行自注意力学习,从而形成问题表示,并将该表示作为联合输入答案选择单元进行位置预测。
第五,模型的训练及检测,主要内容如下:
(1)基于SQuAD开放域数据集对模型进行训练,调整参数;
(2)F1值作为评价指标,在开发集上进行检测,在固定训练次数情况下,保存F1值最高的模型作为训练好的模型。
实施例
(1)数据集
①开放域数据集及评价指标
开放域数据集采用斯坦福公开的阅读理解数据集SQuAD V1.1(StanfordQuestion Answering Dataset)。该数据集包含10万个(问题,原文,答案)三元组。原文来自于536篇维基百科的文章,问题和答案的构建主要是通过众包的方式,让标注人员提出最多5个基于文章内容的问题并提供正确答案,且答案在原文中出现。SQuAD中的答案不再是单个实体或者单词,而可能是短语或短句,使得其答案预测更难。SQuAD数据集包括公开的训练集和开发集,以及一个隐藏的测试集,并采用了封闭式测评,提供排行榜,用于公布结果和排名对比。具体数据统计如表1所示。
表1 SQuAD数据集分布
SQuAD官方采用两个评价指标评价参评模型性能,一个是Exact Match(EM),一个是(Macro-average)F1 score。EM衡量模型预测的答案和正确答案完全一致的百分比。F1值用来衡量模型预测的答案和标准答案单词的交集大小。采用F1值作为模型的评价指标,如公式所示:
这里Recall指召回率,Precision指准确率。M表示测试集样本的数量,a′i表示模型预测的答案,表示样本标准答案,i表示第i个问题。表示a′i与相等的个数,即真正预测准确的个数,表示所有真正正确的个数,count(a′i)表示预测是准确的个数。
②民航领域数据采集
a.航班状态数据
数据采集主要字段包括航空公司、航班号、最低价格、起飞时间、起飞机场、降落时间、降落机场、飞行时长、准点率。
网络爬虫是应用最为广泛的搜索引擎信息搜索技术之一。以Python及其框架Scrapy环境为基础,设置多个节点对海量航班数据进行对以上字段的并行获取与处理。
Scrapy是一个开源和协作的框架,其最初是为了页面抓取(网络抓取)所设计的,使用它可以以快速、简单、可扩展的方式从网站中提取所需的数据。但目前Scrapy的用途十分广泛,可用于如数据挖掘、监测和自动化测试等领域,也可以应用在获取API所返回的数据(例如Amazon Associates Web Services)或者通用的网络爬虫。
对于航班信息的采集,采用聚焦爬虫,根据既定的要求,有目的的筛选所有符合要求的字段进行爬取,并根据要求只提取需要的文本信息,再根据一定的搜索策略获取下一个需要爬取的字段进行爬取。
b.收集主要航空公司常见问题数据
对于航空公司常见问题数据问题-答案对的收集,同样采用编写爬虫的方式进行抽取。但由于不同网页的结构也不同,所以通过正则表达式的方式来编写一个通用爬虫提取以上URL中的“在线客服”模块中所给出的常见问题和答案。
c.中文开放域问答数据
对超过10万个常见问题,导入百度搜索引擎进行搜索,将页面返回的第一个链接中的答案作为该问题的答案。由于考虑到有的问题会检索不到答案,所以采用关键词重叠的手段,如果提取的答案涵盖问题中50%的词汇,则提取该答案,若低于该指标,则丢弃该问题。由于提取的答案含有部分噪声数据,对结果进行了人工加工,问题-答案对数据量达到13万左右。
(2)数据库构建
①各航空公司民航领域问答
qa_company(航空公司,编号,Q,A)
【实体表】
②民航领域常见英文问答
qa_english(question,answer)
【实体表】
列名 | 类型 | 属性 |
question | text(10000) | 常见英文问题 |
answer | text(10000) | 问题所对应答案 |
③开放域常见问答
qa_chinese(question,answer)
【实体表】
列名 | 类型 | 属性 |
question | text(10000) | 常见开放域问题 |
answer | text(10000) | 问题所对应答案 |
④航班信息
ticket(采集时间,航空公司,航班号,最低价格,起飞时间,起飞机场,到达时间,到达机场,飞行时长,准点率)
【实体表】
(3)模型构建
模型结构主要分为三层:词嵌入层、语义编码层以及答案选择层。
①词嵌入层
a.字符级词嵌入。使用一维卷积操作对矩阵进行卷积操作,使用最大池化操作对每一个卷积核操作并将多个卷积核的最大池化结果串联成向量,表示基于字符级的词嵌入。
b.基于Glove的词嵌入。Glove模型在8400亿单词组成的训练数据上训练了一个通用的词向量,使用Glove预训练的词向量将词表中的每一个单词映射到300维的线性空间中。
将二者拼接起来表示每一个词的分布式表示,公式如下所示。其中Q表示拼接后得到的问题表示,P表示拼接后得到的篇章表示;表示由一维卷积得到的问题表示,表示由一维卷积得到的篇章表示,;使用GloVe得到字符级别的词嵌入表示,表示问题,表示篇章。其中m表示问题的词个数,n表示篇章的词个数,t表示当前的词,q表示问题中的词,p表示篇章中的词。
②语义编码层
将问题和文章分别通过双向LSTM结构,并与嵌入层得到的特征进行拼接,通过Attention机制得到问题依赖的篇章表示。该层的输入分别是维度为dq的篇章和同样维度的问题组成的‘key-value’对。计算篇章中每个单词和问题中每个单词的相似度,将该相似度作为权重,然后通过加权求和的方式得到篇章的对其表示。具体计算如下公式所示:
其中Z是归一化因子,pt表示篇章编码矩阵中第t个单词的分布式表示,和都来自问题,表示问题中第i个单词的分布式表示。该式表明利用pt作为query,通过pt与各个计算内积并归一化的方式,得到与各个的相似度,然后加权求和,将pt重新编码。问题和篇章得到的最终表示由和表示。
③答案选择层
该层负责对篇章中的每一个单词进行预测,计算其属于答案开始和结束的概率。同时将问题表示进行自注意力学习,从而形成问题表示,并将该表示作为联合输入答案选择单元进行位置预测。具体计算如公式如下:
由于抽取式模型旨在从篇章中抽取一个片段作为答案。因此结束位置必须位于开始位置之后。在得到了开始位置后,将结束位置的计算作为开始位置的条件概率进行计算,公式如下所示,其中表示开始位置的篇章表示,pE表示结束位置概率:
(4)模型训练及检测
在模型的训练中,采用开放域数据集SQuAD的训练集对模型进行训练,其开发集用于计算F1值以便保存最好模型。
使用Stanford CoreNLP工具对问题和文章进行分词处理;对于词嵌入,使用预训练的词向量GloVe作为每个单词的初始输入,同时在训练阶段进行微调。对于未登录词,使用全零向量进行填充;对每一层来说,LSTM的隐层大小设置为75,同时对每一层均使用了大小为0.50的dropout。模型训练过程中使用的优化算法为Adam,学习率大小为0.001,β1=0.9和β2=0.999。采用的深度学习框架为Pytorch,采用一块NAVIDA 1080Ti(11G)训练模型。
(5)民航领域问答
在民航领域问答中,对旅客提出的问题进行分词处理,对于中文问题将字符串分为几个单词,根据单词词性将其中的名词、动词等词性的单词进行模糊匹配,对于英文问题则是以空格作为自然分界符的。如表所示为其中三个航空公司中常见民航领域问题示例,表所示为对一些问题进行分词的结果以及在结果中所选取的单词,图2所示为对问题进行处理的过程。利用匹配表达式对输入的问题和数据库中的问题进行匹配,数据库中问题和答案一一对应,匹配到的问题所对应的答案即是返回给用户的答案。
Claims (8)
1.一种基于层次化Attention机制的民航领域自动问答方法,其特征在于:该方法包括如下技术步骤,
首先从公开评测的中英文自动问答任务中收集训练数据,从航空公司官网上采集常见问题数据;然后构建数据库,包括各航空公司民航领域中文问答数据、民航领域常见英文问答数据、开放域常见问答数据以及航班信息数据;接着构建模型,分为词嵌入层、语义编码层以及答案选择层,对数据库的数据进行补充;最后搭建民航领域问答平台。
2.根据权利要求1所述的一种基于层次化Attention机制的民航领域自动问答方法,其特征在于:数据集包括如下,
①开放域数据集及评价指标
开放域数据集采用斯坦福公开的阅读理解数据集SQuAD V1.1;
SQuAD官方采用两个评价指标评价参评模型性能,一个是Exact Match,简称EM,一个是Macro-averageF1 score,简称F1;EM衡量模型预测的答案和正确答案完全一致的百分比;F1值用来衡量模型预测的答案和标准答案单词的交集大小;采用F1值作为模型的评价指标,如公式所示:
这里Recall指召回率,Precision指准确率;M表示测试集样本的数量,a'i表示模型预测的答案,表示样本标准答案,i表示第i个问题;表示a'i与相等的个数,即真正预测准确的个数,表示所有真正正确的个数,count(a'i)表示预测是准确的个数;
②民航领域数据采集
a.航班状态数据
数据采集字段包括航空公司、航班号、最低价格、起飞时间、起飞机场、降落时间、降落机场、飞行时长和准点率;
以Python及其框架Scrapy环境为基础,设置多个节点对海量航班数据进行对以上字段的并行获取与处理;
对于航班信息的采集,采用聚焦爬虫,根据既定的要求,有目的的筛选所有符合要求的字段进行爬取,并根据要求只提取需要的文本信息,再根据搜索策略获取下一个需要爬取的字段进行爬取;
b.收集航空公司常见问题数据
对于航空公司常见问题数据问题-答案对的收集,同样采用编写爬虫的方式进行抽取;但由于不同网页的结构也不同,所以通过正则表达式的方式来编写一个通用爬虫提取以上URL中的“在线客服”模块中所给出的常见问题和答案;
c.中文开放域问答数据
采用关键词重叠的手段,如果提取的答案涵盖问题中50%的词汇,则提取该答案,若低于该指标,则丢弃该问题;由于提取的答案含有部分噪声数据,对结果进行了人工加工,问题-答案对数据量达到13万。
3.根据权利要求2所述的一种基于层次化Attention机制的民航领域自动问答方法,其特征在于:数据库构建包括如下,
①各航空公司民航领域问答
qa_company(航空公司,编号,Q,A)
【实体表】
②民航领域常见英文问答
qa_english(question,answer)
③开放域常见问答
qa_chinese(question,answer)
④航班信息
ticket(采集时间,航空公司,航班号,最低价格,起飞时间,起飞机场,到达时间,到达机场,飞行时长,准点率)。
4.根据权利要求3所述的一种基于层次化Attention机制的民航领域自动问答方法,其特征在于:模型构建包括如下,
模型结构分为三层:词嵌入层、语义编码层以及答案选择层;
①词嵌入层
a.字符级词嵌入;使用一维卷积操作对矩阵进行卷积操作,使用最大池化操作对每一个卷积核操作并将多个卷积核的最大池化结果串联成向量,表示基于字符级的词嵌入;
b.基于Glove的词嵌入;Glove模型在8400亿单词组成的训练数据上训练了一个通用的词向量,使用Glove预训练的词向量将词表中的每一个单词映射到300维的线性空间中;
将二者拼接起来表示每一个词的分布式表示,公式如下所示;其中Q表示拼接后得到的问题表示,P表示拼接后得到的篇章表示;表示由一维卷积得到的问题表示,表示由一维卷积得到的篇章表示;使用GloVe得到字符级别的词嵌入表示,表示问题,表示篇章;其中m表示问题的词个数,n表示篇章的词个数,t表示当前的词,q表示问题中的词,p表示篇章中的词;
②语义编码层
将问题和文章分别通过双向LSTM结构,并与嵌入层得到的特征进行拼接,通过Attention机制得到问题依赖的篇章表示;语义编码层的输入分别是维度为dq的篇章和同样维度的问题组成的‘key-value’对;计算篇章中每个单词和问题中每个单词的相似度,将该相似度作为权重,然后通过加权求和的方式得到篇章的对其表示;具体计算如下公式所示:
其中Z是归一化因子,pt表示篇章编码矩阵中第t个单词的分布式表示,和都来自问题,表示问题中第i个单词的分布式表示;利用pt作为查询,通过pt与各个计算内积并归一化的方式,得到与各个的相似度,然后加权求和,将pt重新编码;问题和篇章得到的最终表示由和表示;
③答案选择层
答案选择层负责对篇章中的每一个单词进行预测,计算其属于答案开始和结束的概率;同时将问题表示进行自注意力学习,从而形成问题表示,并将该表示作为联合输入答案选择单元进行位置预测;具体计算公式如下:
由于抽取式模型旨在从篇章中抽取一个片段作为答案;因此结束位置必须位于开始位置之后;在得到了开始位置后,将结束位置的计算作为开始位置的条件概率pE进行计算,公式如下所示,其中表示开始位置的篇章表示,pE表示结束位置概率:
5.根据权利要求4所述的一种基于层次化Attention机制的民航领域自动问答方法,其特征在于:模型训练及检测包括如下,
在模型训练中,采用开放域数据集SQuAD的训练集对模型进行训练,其开发集用于计算F1值以便保存模型。
6.根据权利要求5所述的一种基于层次化Attention机制的民航领域自动问答方法,其特征在于:民航领域问答包括如下,
在民航领域问答中,对旅客提出的问题进行分词处理,对于中文问题将字符串分为几个单词,根据单词词性将其中的名词、动词词性的单词进行模糊匹配,对于英文问题则是以空格作为自然分界符。
7.根据权利要求5所述的一种基于层次化Attention机制的民航领域自动问答方法,其特征在于:
使用Stanford CoreNLP工具对问题和文章进行分词处理;对于词嵌入,使用预训练的词向量GloVe作为每个单词的初始输入,同时在训练阶段进行微调;对于未登录词,使用全零向量进行填充;对每一层来说,LSTM的隐层大小设置为75,同时对每一层均使用了大小为0.50的dropout;模型训练过程中使用的优化算法为Adam,学习率大小为0.001,β1=0.9和β2=0.999。
8.根据权利要求5所述的一种基于层次化Attention机制的民航领域自动问答方法,其特征在于:采用的深度学习框架为Pytorch,采用一块NAVIDA 1080 Ti(11G)训练模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910884388.9A CN111104492B (zh) | 2019-09-19 | 2019-09-19 | 一种基于层次化Attention机制的民航领域自动问答方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910884388.9A CN111104492B (zh) | 2019-09-19 | 2019-09-19 | 一种基于层次化Attention机制的民航领域自动问答方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111104492A true CN111104492A (zh) | 2020-05-05 |
CN111104492B CN111104492B (zh) | 2023-12-19 |
Family
ID=70421319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910884388.9A Active CN111104492B (zh) | 2019-09-19 | 2019-09-19 | 一种基于层次化Attention机制的民航领域自动问答方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111104492B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112100348A (zh) * | 2020-09-01 | 2020-12-18 | 武汉纺织大学 | 一种多粒度注意力机制的知识库问答关系检测方法及系统 |
CN117235243A (zh) * | 2023-11-16 | 2023-12-15 | 青岛民航凯亚系统集成有限公司 | 民用机场大语言模型训练优化方法及综合服务平台 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103198155A (zh) * | 2013-04-27 | 2013-07-10 | 俞志晨 | 一种基于移动终端的智能问答交互系统及方法 |
CN105608218A (zh) * | 2015-12-31 | 2016-05-25 | 上海智臻智能网络科技股份有限公司 | 智能问答知识库的建立方法、建立装置及建立系统 |
WO2017210634A1 (en) * | 2016-06-03 | 2017-12-07 | Maluuba Inc. | Iterative alternating neural attention for machine reading |
CN108932349A (zh) * | 2018-08-17 | 2018-12-04 | 齐鲁工业大学 | 医疗自动问答方法及装置、存储介质、电子设备 |
CN108959246A (zh) * | 2018-06-12 | 2018-12-07 | 北京慧闻科技发展有限公司 | 基于改进的注意力机制的答案选择方法、装置和电子设备 |
CN109492227A (zh) * | 2018-11-16 | 2019-03-19 | 大连理工大学 | 一种基于多头注意力机制和动态迭代的机器阅读理解方法 |
CN109766423A (zh) * | 2018-12-29 | 2019-05-17 | 上海智臻智能网络科技股份有限公司 | 基于神经网络的问答方法及装置、存储介质、终端 |
CN110083682A (zh) * | 2019-04-19 | 2019-08-02 | 西安交通大学 | 一种基于多轮注意力机制的机器阅读理解答案获取方法 |
-
2019
- 2019-09-19 CN CN201910884388.9A patent/CN111104492B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103198155A (zh) * | 2013-04-27 | 2013-07-10 | 俞志晨 | 一种基于移动终端的智能问答交互系统及方法 |
CN105608218A (zh) * | 2015-12-31 | 2016-05-25 | 上海智臻智能网络科技股份有限公司 | 智能问答知识库的建立方法、建立装置及建立系统 |
WO2017210634A1 (en) * | 2016-06-03 | 2017-12-07 | Maluuba Inc. | Iterative alternating neural attention for machine reading |
CN108959246A (zh) * | 2018-06-12 | 2018-12-07 | 北京慧闻科技发展有限公司 | 基于改进的注意力机制的答案选择方法、装置和电子设备 |
CN108932349A (zh) * | 2018-08-17 | 2018-12-04 | 齐鲁工业大学 | 医疗自动问答方法及装置、存储介质、电子设备 |
CN109492227A (zh) * | 2018-11-16 | 2019-03-19 | 大连理工大学 | 一种基于多头注意力机制和动态迭代的机器阅读理解方法 |
CN109766423A (zh) * | 2018-12-29 | 2019-05-17 | 上海智臻智能网络科技股份有限公司 | 基于神经网络的问答方法及装置、存储介质、终端 |
CN110083682A (zh) * | 2019-04-19 | 2019-08-02 | 西安交通大学 | 一种基于多轮注意力机制的机器阅读理解答案获取方法 |
Non-Patent Citations (9)
Title |
---|
JIANPENG CHENG: "Long Short-Term Memory-Networks for Machine Reading", pages 119 - 120 * |
MINJOON SEO: "Bidirectional Attention Flow for Machine Comprehension" * |
李亚慧: "机器阅读理解模型中的关键问题研究" * |
杨国峰;杨勇;: "基于BERT的常见作物病害问答系统问句分类", 计算机应用, no. 06 * |
梁小波: "N-Reader:基于双层Self-attention的机器阅读理解模型" * |
王立胜: "基于多级语义表示和混合注意力机制的机器阅读理解研究" * |
谢志文: "基于深度学习的知识库问答技术研究" * |
陈玫;蒙祖强;: "面向医学知识的中文分词词典设计与实现", no. 11, pages 190 - 118 * |
顾健伟 等: "基于双向注意力流和自注意力结合的机器阅读理解", 南京大学学报 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112100348A (zh) * | 2020-09-01 | 2020-12-18 | 武汉纺织大学 | 一种多粒度注意力机制的知识库问答关系检测方法及系统 |
CN117235243A (zh) * | 2023-11-16 | 2023-12-15 | 青岛民航凯亚系统集成有限公司 | 民用机场大语言模型训练优化方法及综合服务平台 |
Also Published As
Publication number | Publication date |
---|---|
CN111104492B (zh) | 2023-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109271529B (zh) | 西里尔蒙古文和传统蒙古文双文种知识图谱构建方法 | |
CN113642330A (zh) | 基于目录主题分类的轨道交通规范实体识别方法 | |
CN111831789B (zh) | 一种基于多层语义特征提取结构的问答文本匹配方法 | |
CN113806563B (zh) | 面向多源异构建筑人文史料的建筑师知识图谱构建方法 | |
CN108874896B (zh) | 一种基于神经网络和幽默特征的幽默识别方法 | |
Huang et al. | Expert as a service: Software expert recommendation via knowledge domain embeddings in stack overflow | |
CN113742733B (zh) | 阅读理解漏洞事件触发词抽取和漏洞类型识别方法及装置 | |
CN111966812A (zh) | 一种基于动态词向量的自动问答方法和存储介质 | |
CN113569001A (zh) | 文本处理方法、装置、计算机设备及计算机可读存储介质 | |
CN114417851A (zh) | 一种基于关键词加权信息的情感分析方法 | |
CN116796744A (zh) | 一种基于深度学习的实体关系抽取方法及系统 | |
CN111104492B (zh) | 一种基于层次化Attention机制的民航领域自动问答方法 | |
CN116992007A (zh) | 基于问题意图理解的限定问答系统 | |
CN111581365B (zh) | 一种谓词抽取方法 | |
Kusumaningrum et al. | Deep learning-based application for multilevel sentiment analysis of Indonesian hotel reviews | |
CN117390198A (zh) | 构建电力领域科技知识图谱的方法、装置、设备及介质 | |
CN113342964B (zh) | 一种基于移动业务的推荐类型确定方法及系统 | |
Zadgaonkar et al. | An Approach for Analyzing Unstructured Text Data Using Topic Modeling Techniques for Efficient Information Extraction | |
Mansurova et al. | Named entity extraction from semi-structured data using machine learning algorithms | |
Mozafari et al. | Attention-based pairwise multi-perspective convolutional neural network for answer selection in question answering | |
CN111159405B (zh) | 基于背景知识的讽刺检测方法 | |
Ramadhon et al. | N-Gram and K-Nearest Neighbor Algorithm for Sentiment Analysis on Capital Relocation | |
CN113220864A (zh) | 智能问答数据处理系统 | |
Ariyanto et al. | Semantic Role Labeling for Information Extraction on Indonesian Texts: A Literature Review | |
Alwaneen et al. | Stacked dynamic memory-coattention network for answering why-questions in Arabic |
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 |