CN113239148B - 基于机器阅读理解的科技资源检索方法 - Google Patents
基于机器阅读理解的科技资源检索方法 Download PDFInfo
- Publication number
- CN113239148B CN113239148B CN202110525848.6A CN202110525848A CN113239148B CN 113239148 B CN113239148 B CN 113239148B CN 202110525848 A CN202110525848 A CN 202110525848A CN 113239148 B CN113239148 B CN 113239148B
- Authority
- CN
- China
- Prior art keywords
- text
- word
- vector
- model
- sentence
- 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
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/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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
- G06F40/216—Parsing using statistical methods
-
- 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
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- 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/044—Recurrent networks, e.g. Hopfield 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)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本发明公开一种基于机器阅读理解的科技资源检索方法,依次对文本进行噪声去除、中文文本分词、停用词去除以及科技文本的词向量处理;处理后的文本采用n‑gram的TF‑IDF的文本匹配方法,通过计算文本中词的词频TF、逆文本频率IDF和词的顺序信息,最终计算文本与关键词之间的相似度得分,进而确定相关文本;匹配后的文本采用机器阅读理解方法,将机器阅读理解模型融入到检索模型中,通过理解文本中的内容返回检索结果。该检索方法不仅充分考虑了文本中词的频率TF和逆文本频率IDF,还充分考虑了词的顺序信息,进而充分理解文本语义,实现更加精准的文本匹配,而且增加模型理解的能力,通过理解文本中的内容返回更加准确的检索结果,提高用户的检索效率。
Description
技术领域
本发明属于数据检索技术领域,具体涉及一种基于机器阅读理解的科技资源检索方法。
背景技术
科技服务业是现代服务业的重要组成部分,是实现科技创新引领产业升级、推动经济向中高端水平迈进的关键一环,对于深入实施创新驱动发展战略、推动经济提质增效升级具有重要意义。在发达国家,知识密集性服务业是科技服务业的典型代表,其中,以研究开发、知识产权、科技咨询等为代表的科技资源是科技服务的主要利用对象与源泉。
科技资源检索技术在各行业技术及科研人员中均有普遍的应用需求,如为支持企业技术研发人员开展创新设计而进行的专利检索、为满足企业技术需求合作寻求而进行的成果转化供需匹配检索、为支持科技项目研发而开展的知识文献与相关项目检索等等。但是,目前科技资源的检索效率与准确率并不高,是导致各界科技研发重复投入、无效投入的主要因素之一,致使各界科研力量浪费巨大。如一方面大量企业的难点技术寻求合作难,另一方面现有大量科研成果却又难以找到合适的应用结合点,落地转化困难,而造成两者矛盾的主要原因是技术资源供需匹配检索能力不足;另据权威专利机构统计,目前科研人员申报的发明专利中有66%以上是因其新颖性、创新点不足或重复而不能获得授权,这与专利申报初期对现有专利相关性检索的覆盖面和准确性不够有较大关系。因此,有效、准确的科技资源检索对支撑各界科研工作尤为重要。
现有对科技资源的检索方式主要是通过用户输入查询关键词,得到一系列相关结果,再由人工筛选判断后找到合适的检索结果,使得检索结果冗余、不准确,且耗时耗力。现有方法的主要问题是缺乏对实际需求的匹配和对科技文本资源语义的理解。由于科技资源不同于日常普通的生活和生产资源,具有显著的专业性、知识性和复杂性,关键词检索法无法对其特性进行理解,结果也就难以满足科技资源服务的需求。因此,理解科技文本资源语义,并匹配科技资源服务的实际需求是科技资源检索的迫切需求和主要任务。
发明内容
本发明所要解决的技术问题便是针对上述现有技术的不足,提供一种基于机器阅读理解的科技资源检索方法,该检索方法实现更加精准的文本匹配,而且将机器阅读理解模型融入到检索模型中,增加模型理解的能力,通过理解文本中的内容返回更加准确的检索结果,提高用户的检索效率。
本发明所采用的技术方案是:基于机器阅读理解的科技资源检索方法,包括以下步骤:
(1)文本预处理:依次对文本进行噪声去除、中文文本分词、停用词去除以及科技文本的词向量处理;
(2)文本匹配模型:处理后的文本采用n-gram的TF-IDF的文本匹配方法,通过计算文本中词的词频TF、逆文本频率IDF和词的顺序信息,最终计算文本与关键词之间的相似度得分,进而确定相关文本;
(3)机器阅读理解模型:匹配后的文本采用机器阅读理解方法,将机器阅读理解模型融入到检索模型中,通过理解文本中的内容返回检索结果。
现有国内外面向科技资源的检索主流方法仍然是通过传统检索方法进行。主要借助Web信息资源检索技术进行科技资源、科技类文献的检索,其主要包括直接访问信息源搜索、利用检索工具进行相关科技资源检索、通过电子邮箱定制搜索等几种检索途径。由于科技文本资源是科技资源最为普遍的存在形式,面向科技文本资源的检索核心是解决文本信息获取的方法。
如图1所示为目前科技文本资源检索的具体操作流程,首先通过用户通过输入查询关键词,利用科技文本检索工具进行相关信息检索,并返回一系列相关列表,用户再进一步进行筛选。
为解决科技文本资源检索过程中的需求匹配与语义理解问题,重点研究支持科技文本资源挖掘应用的科技资源检索方法,提出一种基于机器阅读理解的科技资源检索方法,包括以下步骤:
(1)文本预处理:依次对文本进行噪声去除、中文文本分词、停用词去除以及科技文本的词向量处理;针对科技文本数据源存在噪音大、专业词汇多等特点,以及中文文本存在停用词等问题,完成科技文本预处理,具体主要包括去除文本噪声、分词、去停用词、训练词向量等,为后序科技文本检索工作提供数据保证和形式化支持。
(2)文本匹配模型:处理后的文本采用n-gram的TF-IDF的文本匹配方法,通过计算文本中词的词频TF、逆文本频率IDF和词的顺序信息,最终计算文本与关键词之间的相似度得分,进而确定相关文本;通过对n-gram算法的引入,不仅能获取科技文本词的词频TF和逆文本频率IDF,还能充分考虑词序问题,提高了相关文本匹配的准确率。
(3)机器阅读理解模型:匹配后的文本采用机器阅读理解方法,将机器阅读理解模型融入到检索模型中,通过理解文本中的内容返回检索结果。目前的检索方法首先计算输入的关键词与科技文本的相关程度,然后根据科技文本的相关程度获得一系列排名靠前的科技文本,用户需通过逐一阅读来获得最终的科技信息。该方法由于在科技文本检索过程中只通过计算文本的相关度,并未对科技文本中的内容进行理解,致使文本的返回结果不准确。本发明在输入查询后,分别经过模型内部编码模块、匹配模块及预测模块获取相应文本查询结果作为输出。编码模块作用是提取问题和文本特征,匹配模块作用是加强查询词与文本交互,预测模块作用是获取查询结果。
本方案针对现有科技资源检索存在返回结果冗余、不精确等问题,在对科技文本资源特点以及检索方法问题分析的基础上,研究并提出基于机器阅读理解的科技文本检索总体技术实现方案,该方案分别针对科技文本匹配及文本理解需求两方面开展研究。
本方案针对检索模型不具备多文档推理能力问题,提出基于分层注意力指针网络的推理方法。该方法应用于机器阅读理解模型的推理模块中,此方法采用分层注意力机制分别对词级别和句子级别进行注意力匹配,采用指针网络进行句子推理。本文在中文和英文数据集上进行了模型的多个对比实验,验证了该方法的有效性。
进一步地,噪声去除采用python的内置模块re正则化对科技文本进行噪音去除。
进一步地,科技文本的词向量处理采用Word2vec进行词向量训练最终获得词向量。
进一步地,文本匹配模型基于一个假设,即第N个词的出现只与前N-1个词有关,整个句子的概率为各个词概率的乘积,假设有W句子序列w1w2w3wn,则通过n-gram语言模型表示如式(4-20):
P(W)=P(w1|begin)P(w2|w1)P(w2|w1w2)...P(wn|w1w2w3...wn-1) (4—20)
在n-gram模型中,采用的形式为Bi-gram、Tri-gram、four-gram或five-gram,其中Bi-gram、Tri-gram进行滑动的窗口宽度分别为2和3,其具体计算公式如式(4-21)、(4-22):
P(W)=P(w1|begin)P(w2|w1)P(w3|w2)...P(wn|wn-1) (4-21)
P(W)=P(w1|begin1begin2)P(w2|begin1w1)...P(wn|wn-2wn-1) (4-22)
其中,在进行TF-IDF计算过程中,首先计算词频TF,即一个词在文本中出现的次数,为了便于不同长度文本之间的比较,对TF进行了标准化,其计算公式如(4-23):
IDF为逆文档频率,其计算公式如式(4-24):
式中,N为语料库中的文档总数,nw为包含词w的文档数,nw+1的目的是防止w不出现在任何文档中导致分母为0;
TF-IDF即是将TF与IDF相乘作为词的特征权值,其计算公式如式(4-25):
TF-IDF=TF*IDF (4-25)
对于文本匹配任务,在获取文本的特征权值之后,需要通过相似度计算确定词与文本的相关性,主要通过余弦相似性计算得到,其定义如式(4-26):
式中,qj代表第j个特征词的权重,wij代表第i篇文档第j个词的权重,k代表空间维度。
进一步地,机器阅读理解模型主要由编码模块、匹配模块、推理模块、答案预测模块构成。编码模块中首先分别获得上下文和问题的词向量和字符向量Wc、Wq、Vc、Vq,词向量采用预训练的GloVe词向量;通过使用CNN获得每个字符的字符向量;之后将获得的词向量和字符向量进行拼接,其具体计算公式如式(4-27)~(4-30):
Wc,Wq=GloVe(C,Q) (4-27)
Vc,Vq=Conv1D(C,Q) (4-28)
C1i=[Wci;Vci] (4-29)
Q1j=[Wqi;Vqi] (4-30)
式(4-27)中GloVe表示采用预训练的GloVe词向量,Conv1D表示使用CNN进行一维卷积,C1i表示通过第i个词的词向量与第i个词的字符向量进行拼接后的结果,通过计算最终获得一个新的向量C1和Q1,C1∈R1w*dw Q1∈Rmw*dw,lw是上下文C的长度,mw是问题Q的长度,dw是词向量的维度;在获得上下文C和问题Q的词向量C1、Q1之后,分别将C1和Q1传入到一个双向RNN中,分别获得上下文向量C2、Q2,,C2∈R1w*2dc,Q2∈R1w*2dc,dc是一层RNN的输出单元个数,其计算公式如式(4-31)~(4-33):
匹配模块中将获得的C2、Q2传入双向注意力模型,将上下文的第i个词向量表示为C2i,问题的第j个词向量表示为Q2j,因此获得上下文的第i个词向量和问题的第j个词向量的注意力如下式:
αij=w1*C2i+w2*Q2j+w3*(C2i⊙Q2j) (4-34)
式中,w1、w2和w3是通过学习获得的向量,⊙代表按元素相乘,得到每个词经注意力计算之后的上下文向量C3i:
同理,得到每个词经注意力计算之后的问题向量Q3j:
最后将得到经过C2i、C3i、C2i⊙C3i和Q3i⊙C3i拼接的词向量Cp,将获得的向量依次传入到一个双向RNN和self-attention中,得到向量C4,C4∈Rlw*dc,其具体拼接计算公式如式(4-40):
Cp=[C2iC3i;C2i⊙C3i;Q3i⊙C3i](4-40)
在得到拼接后的词向量Cp后,将其传入到双向GRU,通过双向GRU得到向量CR,其具体计算公式如式(4-41)~(4-43):
式中分别代表双向GRU中两个方向上的编码向量,最终对进行拼接得到向量CRj,其中j代表第j个词;在得到经过双向GRU输出的向量CR后,将向量传入到self-attention中,其具体计算公式如式(4-44):
式中Q=K=V=CR,其中dk为向量CR的维度,通过self-attention最终获得向量C4。
进一步地,推理模块中在进行句子推理的过程中,需要将上下文分割成各个句子进行处理,得到经过分割后的句子c5(i),c5(i)=[C4,j1(i),C4,j2(i)],其中,j1(i)代表第i个句子第一个词的索引,j2(i)代表第i个句子最后一个词的索引,c5(i)∈R(j2(i)-j1(i)),j2(i)-j1(i)代表第i个句子的长度;将分割后的句子传入到句子推理模块,将分割后的句子c5(i)传入到双向RNN中,将双向RNN的输出结果与问题向量Q2做attention匹配,并通过加权求和得到句子向量,得到c6(i)如下:
oj=vgtanh(W4c5(i)j+W5Q2) (4-45)
式中,i为句子索引,再将上下文中得到的各个句子向量c6(i)输入到新一层的双向RNN中,以获得最新的向量表示c7(i),在此基础上,通过一个单向的RNN来训练指针网络,并循环的进行句子推理,计算方式如式(4-48)~(4-50):
αi=softmax(ai) (4-49)
式中,Z(t)为单向RNN输出的向量;
综上,形成各个推理句子生成的概率,计算方式如式(4-51)、(4-52):
p(it|i1,...,it-1)=softmax(ut) (4-52)
vT p,Wp1,Wp2,vT g,Wg1,Wg2通过训练获得,在每个时间步骤t,解码过程都会经过两轮attention计算,第一次和c7(i)做attention计算,获得上下文向量e,第二次再和c7(i)做一次attention,计算出句子推理的概率。
进一步地,答案预测模块用于获取问题的答案,通过确定答案的起始位置Pstart和答案的终止位置Pend,最终通过获取起始位置Pstart与终止位置Pend之间的片段,作为机器阅读理解答案,以匹配模块的输出后向量C4,C4∈R(1w*dc),作为输入,经Bi-GRU进行训练再一次解决上下文依赖关系,再利用softmax函数计算文本起始位置Pstart和终止位置Pend的概率确定最终的答案输出,其具体计算公式如式(4-53)~(4-57):
式中Cp为经过Bi-GRU的输出结果,WT pstart、WT pend为能训练的参数,最终训练的损失函数为式(4-58):
式中P1 start、P1 end为真实起始位置和终止位置。
本发明的有益效果在于:
1、本发明实现对科技文本资源的精准检索,在语义及推理方面具有优势,能提高检索模型的准确率、提升检索效率和有效性,为实现科技资源数据的分享与服务提供支撑。
2、本发明在文本匹配过程中不仅充分考虑了文本中词的频率TF和逆文本频率IDF,还充分考虑了词的顺序信息,进而充分理解文本语义,实现更加精准的文本匹配。
3、本发明将机器阅读理解模型融入到检索模型中,增加模型理解的能力,通过理解文本中的内容返回更加准确的检索结果,提高用户的检索效率。
附图说明
图1为现有科技资源检索操作流程示意图;
图2为RNN原理示意图;
图3为LSTM的网络结构图;
图4为GRU结构图;
图5为双向循环神经网络;
图6为在WikiMovies数据集上的实验结果示意图;
图7为在WebQuestions数据集上的实验结果示意图;
图8为在SQuAD数据集上的实验结果示意图;
图9为在Distractor Setting数据集中的实验结果示意图;
图10为HotpotQA数据集Fullwiki Setting结果示意图;
图11为HAPN1实验结果示意图;
图12为HAPN2实验结果示意图;
图13为HAPN3实验结果示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,目前主要采用基于统计的科技文本资源检索方法实现相关科技文本的检索,通过计算文本中的词频和逆文本频率实现相关文本获取,存在文本匹配准确率低、理解能力弱且不具备推理能力等问题,具体表现如下:
(1)文本匹配准确率低:现有方法中,文本匹配仅仅通过传统基于统计方法计算文本中词频、逆文本频率,但是文本中词序发上变化后,文本中词频、逆文本频率相同语义却不同,通过此方法进行文本匹配后获得结果将会导致错误结果,严重影响文本匹配准确率。
(2)文本理解程度低,缺乏深层理解:目前科技文本检索仅仅基于统计的文本匹配方法获取文本,分别计算文本中词频、逆文本频率,不具备文本理解、分析能力,无法对文本进行更深层次理解分析,最终影响文本检索的准确率。
(3)文本推理能力弱、不能实现多文档推理:科技文本检索存在无法直接找到合适结果的情况,需要在科技文本资源中进行相互推理,通过多文档推理获取正确检索结果。但目前的检索工具无法实现多文档推理,导致返回错误的检索信息。
综上,现有的科技资源检索方法还处于初级阶段,在文本匹配过程中不能够充分考虑词序问题。此外,现有方法不具备文本理解和推理能力,无法分析理解多篇文档。因此,提出并设计一种基于机器阅读理解的科技资源检索技术方案具有重要意义。
根据以上对支持科技资源共享的科技文本检索需求、科技文本资源特点以及科技文本检索方法的现状与问题分析,本方案提出了基于机器阅读理解的科技资源检索方法,并进行模型搭建和试验。
如图2至图5所示,基于机器阅读理解的科技资源检索方法,首先需要进行文本预处理,具体为依次对文本进行噪声去除、中文文本分词、停用词去除以及科技文本的词向量处理,为后序的基于阅读理解的文本检索工作提供数据的质量保证和形式化支持。在进行检索模型的训练过程中,原始科技文本数据是不能被直接用于模型的训练的,其原因在于检索模型无法直接识别文本中的词组。此外,由于文本中存在的大量停用词会对模型训练产生干扰,使模型无法达到较高的训练水平。因此,需要对科技文本数据进行预处理。
通过对科技文本数据进行预处理,为后续的文本匹配及机器阅读理解提供数据支撑。在进行科技文本数据预处理过程中,首先对文本进行噪音处理以去除掉对训练模型无用的数据;然后进行分词处理,即将文本句子切分成一个个词;接下来去除停用词,去除停用词目的主要是为了去除对文本语义贡献小的词;最后对各个词进行向量化表示,本文采用Word2vec进行词向量训练最终获得词向量。
在进行检索模型的训练过程中,拥有高质量的训练语料可以达到很好的模型训练效果,使检索模型在检索过程中能够更加精准的获取到相应的检索结果。然而目前存在的科技文本数据中含有噪音数据,即对于模型训练无用的数据,例如科技文本数据中的作者信息、基金项目、期刊名称、年份等信息,以上文本信息对于模型训练将会产生干扰。因此,本方案采用正则化方法对文本进行噪音去除,清洗掉对模型训练无用的数据,正则化方法的具体实现包括词形还原和词干提取,词形还原是将各种形式的句子表述还原为最简形式,词干提取是对词的词干或词根进行提取。采用python的内置模块re正则化对科技文本进行噪音去除。
科技文本数据清洗后需要对中文句子进行分词、去除停用词。分词的目的是模型无法识别中文句子中的各个词,因此需要对文本进行分词预处理;去除停用词的主要目的是去除文本中对语义信息贡献小的词,提高运算速度。目前常用的中文分词方法主要分为两种,第一种是基于规则的分词方法,即通过人工构建规则,对于符合规则的片段进行分割,进而得到分词结果;第二种是基于统计的分词方法,其分词理念是将词看作由各个字组成,如果句子中的某些字通过频率统计发现经常连在一起,则认为这些连在一起的字为一个词。基于规则的中文分词方法在操作上一般简便高效,但是词典维护方面需要耗费大量人力物力,同时在处理未登录词方面表现亦不是很好。
分词作为NLP领域的底层技术对后续任务起到很大影响。为了达到更好的分词效果,有很多效果较好的分词工具,例如HanLP、结巴分词、pyltp-哈工大等分词工具。根据各个分词工具的分词效果进行比较,发现在分词综合准确率和分词速度方面pyltp-哈工大分词工具的性能比较好,因此优先使用pyltp-哈工大分词工具进行科技文本数据分词。除分词外,还需要对数据文本中存在的停用词进行去除,停用词是不具有重要含义的词汇,其对于句子的语义贡献程度较弱,并且会干扰模型的训练。为了减少存储空间、降低计算成本,防止停用词干扰,需要将停用词去掉。本方案分别使用哈工大的停用词表去除语料中含有的停用词。
科技文本是一种非结构化的文本数据,检索模型不能够直接处理文本信息,需要将文本信息转化成向量表示,检索模型通过向量进行计算。文本的向量化表示要分为词袋模型和基于神经网络的文本向量化模型,词袋模型又包括One-hotRepresentation、TF-IDF模型、浅语义分析模型,基于神经网络的文本向量化表示模型又包括Neural NetworkLanguage Model和Word2vec模型。One-hot Representation通过将语料库中所有词汇总得到N个词汇,并将语料库中每个文档生成一个N维的向量,且向量以0、1的形式填充,当N维向量某一个位置出现1时,则为某个词的指定向量表示;TF-IDF模型在生成词向量过程中,不仅考虑了词的词频,还考虑了逆文档频率,以更好的刻画文本的向量表示,但是在文本向量表示过程中,One-hot Representation和TF-IDF模型生成的词向量都存在维度爆炸的问题,当词向量的维度非常大,易导致向量矩阵非常稀疏,且计算非常复杂。
随着深度学习的发展,Neural Network Language Model和Word2vec模型在文本向量化表示中得到广泛应用。Neural Network Language Model为一个三层的神经网络语言模型,其有效的解决了数据稀疏的问题,并且相比于传统的统计语言模型,神经网络的非线性能力拥有更好的泛化能力。然而Neural Network LanguageMode也存在一定问题,既在进行词向量的训练过程中Neural Network Language Mode只能处理定长序列、缺少灵活性,并且训练速度慢。Word2vec作为目前最受欢迎的词向量训练工具对NLP领域起到了巨大推动作用,相比于其他词向量表示方法,其拥有较高灵活性、训练速度快等优点,为NLP领域各个方向提供了很好的技术支撑。
Word2vec算法模型,分别是CBOW模型和Skip-gram模型。CBOW词向量计算方法是通过输入上下文词w(t-2)、w(t-1)、w(t+1)、w(t+2)来预测词w(t)的概率,其计算公式如式(3-1)~(3-3)所示,式中E为词向量矩阵,W为权值矩阵,N为词汇数。
h=E(w(t-2)+w(t-1)+w(t+1)+w(t+2)) (3-1)
e=Wh (3-2)
Skip-gram词向量计算方法与CBOW词向量计算方法相反,既模型通过输入词w(t),预测输出w(t-2)、w(t-1)、w(t+1)、w(t+2)的概率,其计算公式如式(3-4)~(3-6)所示,式中E为词向量矩阵,W为权值矩阵,N为词汇数。
h=E(w(t)) (3-4)
e=Wh (3-5)
针对检索过程中科技文本匹配准确率低的问题,提出基于n-gram的TF-IDF文本匹配方法,针对现有检索模型对文本缺乏深层理解的问题,提出机器阅读理解算法,针对科技文本资源检索模型需要通过多篇文档相互推理才能确定最终结果,但存在推理能力不足的问题,提出基于分层注意力指针网络的推理方法。
循环神经网络(Rerrent Neural Network,RNN)由于擅长处理序列数据,在自然语言处理领域被广泛使用。根据循环神经网络内部结构对其进行划分,目前常用的网络分别是RNN、LSTM(Long short-term memory)和GRU(Gate RecurrentUnit),其中,LSTM和GRU是RNN的一种变体,能够很好的解决序列数据的长距离依赖问题,由图2可知,RNN能够处理具有序列性质的数据,即在t时刻输入数据xt时仍会将t-1时刻的输出作为t时刻的输入,如式(4-1)~(4-5)是RNN在处理每个时间步骤的计算公式,式中ht-1代表t-1时刻模型的输出,xt代表t时刻的输入,tanh为激活函数,Whh、Wxh、Why为权重矩阵,通过训练获得。
at=f(ht-1,xt) (4-1)
f(x)=tanh(x) (4-2)
at=f(Whh·ht-1,Wxh·xt) (4-3)
at=tanh(Whh·ht-1,Wxh·xt) (4-4)
ht=Why·at (4-5)
随着序列数据变长,RNN在处理序列数据过程中的能力不足,不能很好解决序列数据长距离依赖问题,其原因在于RNN处理长距离序列数据时会出现梯度消失,导致RNN只能拥有短期记忆。为此,长短期记忆网络(LSTM)被提出,如图3为LSTM的网络结构图。LSTM能够很好的解决序列数据长距离依赖问题,由图可知,LSTM不同于RNN,其引入了细胞状态Ct和三个门结构:输入门、遗忘门、输出门,输入门it用于控制当前输入信息的输入量,遗忘门ft用于控制上一时刻信息的遗忘程度,输出门ot用于当前时刻控制细胞状态的输出量。LSTM在某个时间步t的计算公式如式(4-6)~(4-11)
ft=σ(Wf·[ht-1,xt]+bf) (4-6)
it=σ(Wi·[ht-1,xt]+bi) (4-7)
Ct=tanh(WC·[ht-1,xt]+bC) (4-8)
Ct=ft*Ct-1+it*Ct (4-9)
ot=σ(Wo·[ht-1,xt]+bo) (4-10)
ht=ot*tanh(Ct) (4-11)
相比LSTM,GRU内部拥有两个“门控”单元。因此,GRU训练参数更少,能够在较短的时间内完成训练。通过对比GRU和LSTM最终的训练效果,发现GRU能够达到和LSTM相似的训练效果,所以在考虑计算能力与时间成本的情况下本文选择使用GRU搭建机器阅读理解模型,如图4为GRU结构图。图中zt表示更新门,rt表示重置门,更新门用于控制前一个时刻信息带入当前时刻状态的程度,重置门用于控制前一状态被写入当前候选集的信息量,其计算公式如式(4-12)~(4-15)
zt=σ(Wz·[ht-1,xt]) (4-12)
rt=σ(Wr·[ht-1,xt]) (4-13)
RNN、LSTM和GRU在对序列问题进行处理时,只进行单向处理即在处理t时刻数据时只考虑t时刻之前的信息,但对于文本分析理解任务,通过学习未来时刻的信息有助于理解上下文语义,因此,双向循环神经网络被引入该类任务的应用,如图5为双向循环神经网络。如图可知,由于双向循环神经网络充分考虑了上下文信息,可以提高对上下文信息理解的准确性。
注意力机制是借鉴了人类的注意力方式而被提出,如人类在观看一幅照片的过程中,易被照片中的局部位置所吸引并投入更多的注意力,而有选择的去忽略照片的其他位置。注意力机制在自然语言处理领域具有广泛的应用需求和场景,例如在处理机器阅读理解任务时,需要对全文进行深度理解分析,加入注意力机制后,模型可以有针对性的对最相关的部分进行重点理解分析,而对与问题无关的部分投入更少的注意力,以此来降低文本中不相关内容的干扰,进而得到更准确的理解分析结果。Attention计算过程主要分为三步:第一步将Query与Key进行相似度计算并得到权重,第二步通过softmax函数对得到的权重进行归一化,第三步将键值与对应的权重进行加权求和得到最终的Attention,其计算公式如式(4-16)~(4-18)
Fi=similarityfunc(Q,Ki) (4-16)
目前在机器阅读理解任务中,自注意力机制和双向注意力网络被广泛使用。注意力机制(Self-Attention)计算公式如式(4-19),相比传统的Attention模型,其特殊点在于问题向量与键值向量和值向量相同,即Q=K=V,因此将其命名为自注意力机制,为了防止Q与K在点乘后结果过大对其除以进行约束,dk为Query向量维度。
双向注意力网络(Bi-attention)主要是为了实现文本Context与问题Query之间的交互,即通过计算query-to-context和context-to-query双向的信息实现信息互补,进而加深对文本理解。
综上,根据自注意力机制和双向注意力网络的特点与优势,本方案在处理机器阅读理解算法过程中将同时采用Self-Attention和Bi-attention两种注意力机制,不仅可以对文本进行分析理解,还可以在文本与问题之间进行双向理解,有助于增强理解的效果。
在进行科技资源检索过程中,根据用户输入的关键词,文本匹配算法能通过匹配计算获得最相关的文本,因此,文本匹配是其中的关键环节。目前在文本匹配算法中,由于词频-逆文档频率算法可以在短时间内为用户匹配到相关的文本,应用最为普遍。TF-IDF算法的主要实现过程是通过计算特征词在文本中的词频和逆文档频率,并通过乘积计算出关键词的权重,最后通过相似度计算,获得查询关键词与文档的相关程度。
但是TF-IDF算法在文本匹配过程中,由于只统计文本中词的频率TF以及逆文本频率IDF,缺乏对顺序信息的获取。而顺序信息又往往会对语义信息产生较大影响,因为文本中同样的字的位置顺序不同时其向量表示可能相同,但文本语义却可能完全不同。例如“我送给妈妈一束花”和“妈妈送给我一束花”两个文本句子得到的向量表示相同,但语义却恰恰相反。因此不考虑字的位置顺序对语义产生的影响必然会造成文本的匹配错误。本方案采用基于n-gram的TF-IDF的算法对文本进行匹配,此算法在文本匹配过程中不仅充分考虑了文本中词的频率TF和逆文本频率IDF,还充分考虑了字的顺序信息,进而增强文本语义理解能力。
n-gram是基于统计语言模型的算法,其基本思想是将文本内容按照字节为N的滑动窗口进行滑动,最终形成大小为N的字节片段,每个字节片段成为gram,此模型基于一个假设,即第N个词的出现只与前N-1个词有关,整个句子的概率为各个词概率的乘积,假设有W句子序列w1w2w3wn,则通过n-gram语言模型表示如式(4-20):
P(W)=P(w1|begin)P(w2|w1)P(w3|w1w2)...P(wn|w1w2w3...wn-1) (4-20)
在n-gram模型中,采用的形式为Bi-gram、Tri-gram、four-gram或five-gram等,但在n-gram实际应用中很少有n>5的情况。Bi-gram、Tri-gram进行滑动的窗口宽度分别为2和3,其具体计算公式如式(4-21)、(4-22):
P(W)=P(w1|begin)P(w2|w1)P(w3|w2)...P(wn|wn-1) (4-21)
P(W)=P(w1|begin1begin2)P(w2|begin1w1)...P(wn|wn-2wn-1) (4-22)
通过实验对比发现,Bi-gram相比于Tri-gram具有更高文本匹配准确率,因此本文采用Bi-gram模型,即设定滑动窗口的宽度为2。
综上,本方案设计了基于n-gram的TF-IDF文本匹配的具体实现流程,文本匹配的具体流程如下:
首先采用pyltp-哈工大分词工具进行分词,得到分词结果,并对数据进行清洗去除停用词,提高文本匹配准确率;然后采用滑动窗口大小为2的滑动窗口对分词结果进行滑动,得到滑动后的结果:再将得到的Bi-gram结果通过TF-IDF方法进行相似度计算。
在进行TF-IDF计算过程中,首先计算词频TF,即一个词在文本中出现的次数。一般情况下,由于在文中出现次数越多的词往往越能够表征文档的主要信息,因此TF值越大就越能反映文档内容,所以给予更大的权值。为了便于不同长度文本之间的比较,对TF进行了标准化,其计算公式如(4-23):
IDF为逆文档频率,其反映了特征词在文档集的分布情况,当特征词在文档集出现的次数越多时IDF值越低,其作用是用于衡量特征词对不同文档的区分能力,其计算公式如式(4-24):
式中,N为语料库中的文档总数,nw为包含词w的文档数,nw+1的目的是防止w不出现在任何文档中导致分母为0;TF-IDF即是将TF与IDF相乘作为词的特征权值,特征权值越大,表明该词更能表征文本的主要信息。其计算公式如式(4-25):
TF-IDF=TF*IDF (4-25)
对于文本匹配任务,在获取文本的特征权值之后,需要通过相似度计算确定词与文本的相关性,主要通过余弦相似性计算得到,其定义如式(4-26):
式中,qj代表第j个特征词的权重,wij代表第i篇文档第j个词的权重,k代表空间维度,通过cos函数计算特征向量之间的夹角,夹角越小说明特征向量越相似。
为了提高检索模型的理解能力及文本推理能力,本方案在进行文本匹配后引入机器阅读理解模型并提出了分层注意力指针网络方法,针对检索模型不具备多文档推理能力的问题,提出基于分层注意力指针网络的推理方法。
本方案提出分层注意力指针网络的机器阅读理解模型框架,主要包括编码模块、匹配模块、推理模块和答案预测模块四部分。模型的输入是上下文C和问题Q,首先通过编码模块对上下文C和问题Q进行编码,以充分获得上下文C和问题Q的主要信息;在获得编码向量后,将通过匹配模块对上下文C和问题Q的编码向量进行匹配,使后续在答案预测过程中能够充分考虑上下文中与问题相关的信息。推理模块采用本文提出的分层注意力指针网络,在推理过程中能够既考虑上下文中每个词及每个句子对于答案生成的贡献程度;答案预测模块用于预测答案的起始位置和末位置,最终确定答案。本模型框架的创新点在于句子推理过程中采用分层注意力指针网络提高了模型的推理能力。其中,HierarchicalAttention分别对词级别和句子级别进行attention匹配,最终通过Pointer Networks根据预测概率的高低,以实现句子的推理。
编码模块的主要作用是将上下文C和问题Q进行编码,获得上下文和问题的主要信息。编码模块中首先分别获得上下文和问题的词向量和字符向量Wc、Wq、Vc、Vq,词向量采用预训练的GloVe词向量;通过使用CNN获得每个字符的字符向量;之后将获得的词向量和字符向量进行拼接,其具体计算公式如式(4-27)~(4-30):
Wc,Wq=GloVe(C,Q) (4-27)
Vc,Vq=Conv1D(C,Q) (4-28)
C1i=[Wci;Vci] (4-29)
Q1j=[Wqi;Vqi] (4-30)
式(4-27)中GloVe表示采用预训练的GloVe词向量,ConvlD表示使用CNN进行一维卷积,C1i表示通过第i个词的词向量与第i个词的字符向量进行拼接后的结果,通过计算最终获得一个新的向量C1和Q1,C1∈Rlw*dwQ1∈Rmw*dw,lw是上下文C的长度,mw是问题Q的长度,dw是词向量的维度;
在获得上下文C和问题Q的词向量C1、Q1之后,分别将C1和Q1传入到一个双向RNN中,分别获得上下文向量C2、Q2,,C2∈Rlw*2dc,Q2∈Rlw*2dc,dc是一层RNN的输出单元个数,其计算公式如式(4-31)~(4-33):
匹配模块主要用于是将编码后的原文和问题进行相互匹配,使问题和上下文的信息相融合。此匹配模块中将获得的C2、Q2传入双向注意力模型,将上下文的第i个词向量表示为C2i,问题的第j个词向量表示为Q2j,因此获得上下文的第i个词向量和问题的第j个词向量的注意力如下式:
αij=w1*C2i+w2*Q2j+w3*(C2i⊙Q2j) (4-34)
式中,w1、w2和w3是通过学习获得的向量,⊙代表按元素相乘,得到每个词经注意力计算之后的上下文向量C3i:
同理,得到每个词经注意力计算之后的问题向量Q3j:
最后将得到经过C2i、C3i、C2i⊙C3i和Q3i⊙C3i拼接的词向量Cp,将获得的向量依次传入到一个双向RNN和self-attention中,得到向量C4,C4∈Rlw*dc,其具体拼接计算公式如式(4-40):
Cp=[C2i;C3i;C2i⊙C3i;Q3i⊙C3i] (4-40)
在得到拼接后的词向量Cp后,将其传入到双向GRU,其目的是再一次实现上下文中的信息捕捉,通过双向GRU得到向量CR,其具体计算公式如式(4-41)~(4-43):
式中分别代表双向GRU中两个方向上的编码向量,最终对进行拼接得到向量CRj,其中j代表第j个词;在得到经过双向GRU输出的向量CR后,将向量传入到self-attention中,以突出上下文中对回答问题贡献大的词,使模型能够更加准确地回复问题,其具体计算公式如式(4-44):
式中Q=K=V=CR,其中dk为向量CR的维度,通过self-attention最终获得向量C4。
为了提高模型的推理能力,本方案引入了分层注意力指针网络,模型通过Hierarchical Attention和Pointer Networks实现对于上下文中每个词和每个句子的匹配,通过获得每个词和每个句子对于答案生成的重要程度,精准进行句子推理,提高了模型的推理能力。
推理模块的作用是实现句子之间的相互推理。由于在进行句子推理的过程中,需要将上下文分割成各个句子进行处理,因此得到经过分割后的句子c5(i),c5(i)=[C4,j1(i),C4,j2(i)],其中,j1(i)代表第i个句子第一个词的索引,j2(i)代表第i个句子最后一个词的索引,c5(i)∈R(j2(i)-j1(i)),j2(i)-j1(i)代表第i个句子的长度。然后,将分割后的句子传入到句子推理模块,该模块中的分层注意力指针网络,结合了用于文本分类的HierarchicalAttention思想和Pointer Networks的思想。其中,PointerNetworks的基本结构由seq2seq框架与attention结合形成,在seq2seq框架中,当获得encoder之后的向量后,通过attention计算各个encoder之后的向量权重,在进行权重概率计算之后选择概率最大的对应输出;Hierarchical Attention的主要思想是进行不同层级的attention计算,即先进行词级的attention计算再进行句子级的attention计算。将分割后的句子c5(i)传入到双向RNN中,将双向RNN的输出结果与问题向量Q2做attention匹配,并通过加权求和得到句子向量,得到c6(i)如下:
oj=vgtanh(W4c5(i)j+W5Q2) (4-45)
式中,i为句子索引,再将上下文中得到的各个句子向量c6(i)输入到新一层的双向RNN中,以获得最新的向量表示c7(i),在此基础上,通过一个单向的RNN来训练指针网络,并循环的进行句子推理,计算方式如式(4-48)~(4-50):
αi=softmax(ai) (4-49)
式中,Z(t)为单向RNN输出的向量;
综上,形成各个推理句子生成的概率,计算方式如式(4-51)、(4-52):
p(it|i1,...,it-1)=softmax(ut) (4-52)
vT p,Wp1,Wp2,vT g,Wg1,Wg2通过训练获得,在每个时间步骤t,解码过程都会经过两轮attention计算,第一次和c7(i)做attention计算,获得上下文向量e,第二次再和c7(i)做一次attention,计算出句子推理的概率。
答案预测模块用于获取问题的答案,其原理为:通过确定答案的起始位置Pstart和答案的终止位置Pend,最终通过获取起始位置Pstart与终止位置Pend之间的片段,作为机器阅读理解答案,具体过程为:以匹配模块的输出后向量C4,C4∈R(1w*dc),作为输入,经Bi-GRU进行训练再一次解决上下文依赖关系,再利用softmax函数计算文本起始位置Pstart和终止位置Pend的概率确定最终的答案输出,其具体计算公式如式(4-53)~(4-57):
式中Cp为经过Bi-GRU的输出结果,WT pstart、WT pend为能训练的参数,最终训练的损失函数为式(4-58):
式中P1 start、P1 end为真实起始位置和终止位置。通过此模块可以确定最终的答案范围,最终的输出结果既为整个机器阅读理解模型对于文本分析理解的结果。
对提出的基于机器阅读理解的科技资源检索方法进行实验和性能评估,主要介绍实验数据集、算法参数设置和实验环境、评价指标,并通过对比实验结果分析验证该方法性能。为验证本文设计的科技文本检索方法的有效性,将其应用于科技文本数据上进行了实验。
对基于n-gram的TF-IDF文本匹配方法进行实验,通过该方法在各个数据集进行实验验证,证明此算法的有效性。
本实验采用WebQuestions、WikiMovies、SQuAD数据集。其中,WebQuestions数据集在2013年提出,共包括5810条问答对,分为简单问题和多条推理问题,数据集中训练集包括3778条数据,测试集包括2032条数据;WikiMovies数据集共包括96K条问答对,其中测试集包括9952条问答对;SQuAD数据集在2018年发布,其数据中每个问题都可以通过段落中的某一句进行回答,此数据集拥有超过10万问答对,其中测试集拥有10570条问答对。如下表为各个数据集数据情况。
本实验采用top5召回率Rec和top 5match作为评价指标。其中top 5match表示返回的5篇文章中能够匹配到查询内容的数量,top5召回率表示返回文档中含有所需查询内容所占文章总数的比例,其计算公式如式(5-1)、(5-2)
式中Rec代表top5召回率,Que代表用户输入的查询内容,当返回的5篇文本中含有用户需要的查询内容时ri=1,否则ri=0,N代表文本总数,通过式(5-1)、(5-2)可知,当Rec较大时表示文本匹配模型能够正确的获取到相似的文本,即返回结果的准确率高。如下表分别为此实验环境和参数设置情况。
实验环境
实验参数设置
实验采用Ubuntu20.04操作系统,利用pytorch编程语言进行编程,由于在进行文本匹配过程中,按照相似度排名在前5的文本准确率更高,所以本实验将返回文本参数设置为5;如下表分别为对比模型在不同数据集上的实验结果。
WikiMovies数据集实验结果
WebQuestions数据集实验结果
SQuAD数据集实验结果
从实验情况看,基于基于Bi-gram的TF-IDF算法在top 5召回率Rec和top 5match方面,相比于传统的TF-IDF方法都有一定幅度提升。
为了说明本文提出的n-gram方法中n的取值对文本匹配top 5准确率Rec和top5match的影响,分别在WebQuestions、WikiMovies、SQuAD数据集上进行实验。在每个数据集进行实验时分别取不同的n值进行试验对比,实验结果如图6、图7、图8所示。
如图6所示,在WikiMovies数据集上的实验中,当n-gram的n取值为2时,即滑动窗口的宽度为2时,Rec值和top 5match最高,其中Rec达到58.36,top 5match达到6118,。而当n取其他值时,如n=1,n=3,n=4,n=5时,文本匹配模型的Rec值和top 5match都有不同程度的下滑,并且随着n的取值越大文本匹配模型的Rec值和top 5match在依次下降,文本匹配模型不能够准确的匹配到相关文本。
如图7所示为基于n-gram的TF-IDF的文本匹配方法在WebQuestions数据集上的实验结果。如图可知,文本匹配模型依然在n取值为2时的Rec值和top 5match值最高,其中当n取值为2时的Rec值相比于排名第二的Rec值相差0.65个百分点,当n取值为2时的top5match值相比于排名第二的top 5match值相差115。
图8为模型在SQuAD数据集上的实验结果,如图可知,当n取值为2时,文本匹配模型的Rec值为67.33%,文本匹配模型的top 5match值为8003,在所有取不同n值的实验结果中,该结果取得了最好的效果。如下表为通过采用基于n-gram的TF-IDF的文本匹配方法的具体检索结果。
如表可知,本文提出的文本匹配模型根据匹配得分排名前5篇相关文档返回结果,该结果作为后续机器阅读理解的输入文本,经机器阅读理解模型进行理解分析后,最终得到精准的检索结果。
机器阅读理解模型实验验证,本实验采用HotpotQA数据集进行实验,该数据集包括11.3万条问答对,能更好的说明利用多文档进行推理的实验情况。数据集中问题类型构建:采用启发式的方法确定问题类型。首先确定数据中问题的中心词,由于HotpotQA数据集包含比较问句和是非问句两类,因此将疑问词、连词和助动词视为疑问词,又根据疑问句通常涉及以疑问词开头的关系从句的特点,当在问题的前三个词中可以找到问题中心词时,将其定义为疑问句中的第一个疑问词,否则将其定义为最后一个疑问词。然后通过提取问题中心词右边最多2个标记的单词来确定问题类型,如果标记是一些常见的介词则提取左边的标记,通过此方法确定问题的类型。数据集中答案类型:数据集中的答案类型非常广泛,包括人物、日期、数量、艺术词汇等名称,具体所占比重如下表所示。
HotpotQA数据集包含Distractor Setting数据集和Fullwiki Setting数据集,并且都有两个子任务,(1)答案预测,(2)句子推理;每个子任务都有评估指标来进行评价,分别是抽取精度EM和F1值,通过比较EM和F1来比较模型的优劣,本实验分别在DistractorSetting数据集和Fullwiki Setting数据集进行实验,并得到对应的F1值和EM值。
本实验主要采用的评价指标为F1值和EM(Exact match)值,这两个指标都忽略标点和冠词(a,an,the)。Exact match.指标用于衡量与任何一个基本事实完全相符的预测结果所占的百分比。
F1 score.评价指标用于度量预测结果和真实答案之间的平均重叠程度。将预测结果和真实答案作为词向量包计算其F1。对问题的所有答案取最大的F1值,然后对所有问题求平均值,F1的计算方式如式(5-4):
式中,P为准确率即预测正确的正例数据占预测为正例数据的比例;R为召回率即预测为正例的数据占实际为正例数据的比例;P、R计算公式如式(5-5)、(5-6):
式中TP代表正样本被预测为正的数量,FP表示正样本被预测为负的样本数量,FN表示样本中负样本被预测为正的样本数量。
通过计算模型的EM和F1值确定机器阅读理解模型对文本的理解分析能力,EM值和F1值越大表示模型的抽取精度越高,能够准确地在文本中确定答案所在位置,即能够准确地对文本进行机器阅读理解。
本实验采用Pytorch深度学习框架,PyCharm实验软件,在GPU环境下进行实验,模型的具体参数如下表所示:
模型在训练过程中,采用预训练的GloVe词向量,字符向量使用CNN,通过一维卷积神经网络获得字符向量,并将词向量和字符向量拼接作为机器阅读理解模型的输入。由于在分层注意力指针网络中需要对上下文中的每个词和每个句子进行attention匹配,所以在模型训练过程中需要首先对上下文进行句子划分,以获得上下文中各个独立的句子。模型在训练过程中Batch size大小设置为24,优化函数采用Adam优化函数,学习率设置为0.001。通过采用以上参数进行实验,最终得到实验结果。实验的baseline模型采用官方baseline模型,为了说明分层注意力指针网络的有效性,将实验结果与baseline模型进行比较,最终得到DistractorSetting数据集和Fullwiki Setting数据集上的实验结果,分别如图9、图10所示。
如图9可知,在HotpotQA的Distractor Setting数据集中,分层注意力指针网络模型在答案预测和句子推理的方面的评测指标中均优于Baseline模型,F1值相比于baseline模型提高约12个点,EM值提升了约13个点。
如图10可知,在HotpotQA的Fullwiki Setting数据集中,分层注意力指针网络模型在答案预测和句子推理的方面的评测指标均优于Baseline模型,F1值相比于baseline模型提升了约7个点,EM值相比于baseline模型提升了约6个点。
通过以上实验对比发现,本文引入的分层注意力指针网络能够明显提升机器阅读理解模型的性能,F1值和EM值都有了较大幅度的提升。
为了进一步说明引入的分层注意力指针网络对于句子推理的有效性,在HotpotQA的Distractor Setting数据集进行实验,观察模型在答案预测及句子推理方面的表现。实验观察答案预测部分指针网络对模型的影响情况,仅在答案预测部分使用指针网络的模型记为HAPN1,实验与baseline模型进行比较结果如图11所示。如图11可知,通过改变答案预测部分,使用简单的指针网络对答案预测有一定幅度提升,提升了约3个百分点,说明相比于RNN网络,指针网络能够更加准确地确定答案的起始位置和终止位置,准确地获取了答案的片段,在一定程度上提升了机器阅读理解模型的性能。
为了验证模型对句子推理的表现,将baseline模型中的推理部分换成分层注意力指针网络,通过引入分层注意力指针网络实验结果如图12。如图12的实验结果可以明显看出,在句子推理过程中,相比baseline模型,引入分层注意力指针网络后在Sup Fact的EM值提升了约15个百分点,F1提升了约7个百分点,最终的F1和EM指标同样也有大幅度提升。为了更加详细的证明分层注意力指针网络在句子推理过程中的有效性,接下来将验证分析分层注意力指针网络中attention对于句子推理的影响,分层注意力指针网络采用了两层attention,第一层主要和上下文中的每个词进行attention匹配,第二层主要和上下文中句子进行attention匹配,因此将attention层数减少,只采用一层attention,即只通过和上下文中的每个词进行attention匹配,以进行推理,模型记为HAPN3,实验结果如图13所示,如图13可知,降低分层注意力指针网络中attention的层数,则模型句子推理效果有所下降,这说明减少attention会导致匹配模型不能从更多空间范围去注意有助于答案生成的推理句子,同时说明了分层注意力指针网络具有从多方面匹配上下文有用信息的能力。
本文还基于所提出的模型进行了答案预测实验,通过实验预测结果可以看出本文提出的分层注意力指针网络能够很准确的进行句子推理。
通过以上实验结果发现,在模型引入分层注意力指针网络的情况下,模型能够在句子推理过程中进行分层attention匹配和多空间考虑。首先和上下文中的每个词进行attention匹配,再和上下文中的每个句子进行attention匹配,并结合指针网络依次抽取推理句子,最终提高了机器阅读理解模型的可推理性。
本章对本文提出的基于机器阅读理解的科技资源检索方法在公开数据集上进行实验,首先利用公开数据集分别对基于n-gram的TF-IDF文本匹配模型和机器阅读理解模型进行是实验验证,通过对比实验评价指标证明基于n-gram的TF-IDF文本匹配模型和机器阅读理解模型能够完成文本匹配任务和机器阅读理解任务;接下来进行应用验证,利用课题组提供的中文科技文本数据进行了实验验证,验证了本文方法的有效性,在此基础上进行了实际的检索预测和测试,结果表明,本文方法具有可实践性。
以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (4)
1.基于机器阅读理解的科技资源检索方法,其特征在于,包括以下步骤:
(1)文本预处理:依次对文本进行噪声去除、中文文本分词、停用词去除以及科技文本的词向量处理;
(2)文本匹配模型:处理后的文本采用ngram 的TFIDF的文本匹配方法,通过计算文本中词的词频 TF 、逆文本频率 IDF和词的顺序信息,最终计算文本与关键词之间的相似度得分,进而确定相关文本;
(3)机器阅读理解模型:匹配后的文本采用机器阅读理解方法,将机器阅读理解模型融入到检索模型中,通过理解文本中的内容返回检索结果;
在步骤(1)中噪声去除采用python 的内置模块 re 正则化对科技文本进行噪音去除;在步骤(1)中科技文本的词向量处理采用 Word2vec 进行词向量训练最终获得词向量;
所述步骤(2)中模型基于一个假设,即第 N 个词的出现只与前 N1 个词有关,整个句子的概率为各个词概率的乘积,假设有 W 句子序列 w1w2w3wn,则通过 ngram 语言模型表示如式 (420):
在 ngram 模型中,采用的形式为 Bigram、Trigram、fourgram 或fivegram, 其中Bigram、Trigram 进行滑动的窗口宽度分别为 2 和 3,其具体计算公式如式 (421)、(422):
其中,在进行 TFIDF 计算过程中,首先计算词频 TF,即一个词在文本中出现的次数,为了便于不同长度文本之间的比较,对 TF 进行了标准化,其计算公式如 (423):
IDF 为逆文档频率,其计算公式如式 (424):
式中,N 为语料库中的文档总数,nw 为包含词 w 的文档数,nw+1 的目的是防止 w 不出现在任何文档中导致分母为 0;
TFIDF 即是将 TF 与 IDF 相乘作为词的特征权值,其计算公式如式 (425):
对于文本匹配任务,在获取文本的特征权值之后,需要通过相似度计算确定词与文本的相关性,主要通过余弦相似性计算得到,其定义如式 (426):
式中,qj 代表第 j 个特征词的权重,wij 代表第 i 篇文档第 j 个词的权重,k 代表空间维度;
所述步骤(3)中机器阅读理解模型主要由编码模块、匹配模块、推理模块、答案预测模块构成;
所述编码模块中首先分别获得上下文和问题的词向量和字符向量 Wc、Wq、Vc、Vq,词向量采用预训练的 GloVe 词向量;通过使用 CNN 获得每个字符的字符向量;之后将获得的词向量和字符向量进行拼接,其具体计算公式如式 (427)~(430):
式 (427) 中GloVe表示采用预训练的GloVe词向量,Conv1D表示使用CNN进行一维卷积,C1i表示通过第i个词的词向量与第i个词的字符向量进行拼接后的结果,通过计算最终获得一个新的向量C1和Q1,C1∈Rlw∗dw Q1 ∈Rmw∗dw ,lw 是上下文C的长度,mw是问题Q的长度,dw是词向量的维度;
在获得上下文C和问题Q的词向量C1、Q1之后,分别将C1和Q1传入到一个双向RNN中,分别获得上下文向量 C2、Q2,,C2∈Rlw∗2dc,Q2∈Rlw∗2dc,dc是一层 RNN 的输出单元个数,其计算公式如式 (431)~(433):
2.根据权利要求1所述的基于机器阅读理解的科技资源检索方法,其特征在于,所述匹配模块中将获得的C2、Q2传入双向注意力模型,将上下文的第i个词向量表示为C2i,问题的第j个词向量表示为Q2j,因此获得上下文的第i个词向量和问题的第j个词向量的注意力如下式:
式中,w1、w2 和 w3 是通过学习获得的向量,⊙ 代表按元素相乘,得到每个词经注意力计算之后的上下文向量 C3i:
同理,得到每个词经注意力计算之后的问题向量 Q3j:
最后将得到经过 C2i、C3i、C2i⊙ C3i 和 Q3i⊙ C3i 拼接的词向量 Cp,将获得的向量依次传入到一个双向 RNN 和 selfattention 中,得到向量C4,C4∈ Rlw∗dc,其具体拼接计算公式如式 (440):
在得到拼接后的词向量 Cp 后,将其传入到双向 GRU,通过双向 GRU 得到向量 CR,其具体计算公式如式 (441)~(443):
式中分别代表双向GRU中两个方向上的编码向量,最终对进行拼接得到向量 CRj,其中j代表第j个词;在得到经过双向 GRU 输出的向量CR后,将向量传入到selfattention 中,其具体计算公式如式 (444):
式中 Q=K=V=CR,其中 dk 为向量CR的维度,通过 selfattention 最终获得向量C4。
3.根据权利要求2所述的基于机器阅读理解的科技资源检索方法,其特征在于,所述推理模块中在进行句子推理的过程中,需要将上下文分割成各个句子进行处理,得到经过分割后的句子 c5(i) ,c5(i) =[C4,j1(i),C4,j2(i)],其中,
j1(i) 代表第i个句子第一个词的索引,j2(i)代表第i个句子最后一个词的索引,c5(i)∈R (j2(i)−j1(i)), j2(i)− j1(i) 代表第i个句子的长度;将分割后的句子传入到句子推理模块,将分割后的句子c5(i)传入到双向 RNN 中,将双向 RNN 的输出结果与问题向量Q2做attention 匹配,并通过加权求和得到句子向量,得到c6(i)如下:
式中,i为句子索引,再将上下文中得到的各个句子向量 c6(i)输入到新一层的双向 RNN中,以获得最新的向量表示 c7(i),在此基础上,通过一个单向的 RNN 来训练指针网络,并循环的进行句子推理,计算方式如式 (448)~(450):
式中,Z(t) 为单向 RNN 输出的向量;
综上,形成各个推理句子生成的概率,计算方式如式 (451)、(452):
vT p, Wp1, Wp2, vT g, Wg1, Wg2通过训练获得,在每个时间步骤 t,解码过程都会经过两轮 attention 计算,第一次和 c7(i) 做 attention 计算,获得上下文向量 e,第二次再和c7(i) 做一次 attention,计算出句子推理的概率。
4.根据权利要求3所述的基于机器阅读理解的科技资源检索方法,其特征在于,所述答案预测模块用于获取问题的答案,通过确定答案的起始位置 Pstart和答案的终止位置 Pend,最终通过获取起始位置 Pstart与终止位置 Pend之间的片段,作为机器阅读理解答案,以匹配模块的输出后向量 C4,C4∈ R (lw∗dc),作为输入,经 BiGRU 进行训练再一次解决上下文依赖关系,再利用 softmax 函数计算文本起始位置Pstart和终止位置Pend的概率确定最终的答案输出,其具体计算公式如式 (453)~(457):
式中 Cp 为经过 BiGRU 的输出结果,WT pstart、WT pend 为能训练的参数,最终训练的损失函数为式 (458):
式中 P1 start 、P1 end 为真实起始位置和终止位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110525848.6A CN113239148B (zh) | 2021-05-14 | 2021-05-14 | 基于机器阅读理解的科技资源检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110525848.6A CN113239148B (zh) | 2021-05-14 | 2021-05-14 | 基于机器阅读理解的科技资源检索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113239148A CN113239148A (zh) | 2021-08-10 |
CN113239148B true CN113239148B (zh) | 2022-04-05 |
Family
ID=77134297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110525848.6A Active CN113239148B (zh) | 2021-05-14 | 2021-05-14 | 基于机器阅读理解的科技资源检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113239148B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113641793B (zh) * | 2021-08-16 | 2024-05-07 | 国网安徽省电力有限公司电力科学研究院 | 一种针对电力标准的长文本匹配优化的检索系统 |
CN114706978B (zh) * | 2022-03-08 | 2024-08-27 | 东风汽车集团股份有限公司 | 用于车机的信息检索方法及系统 |
CN115860925A (zh) * | 2023-02-19 | 2023-03-28 | 广东德澳智慧医疗科技有限公司 | 一种基于人工智能负债数据智能查询和投资管理系统 |
CN117112811B (zh) * | 2023-09-27 | 2024-08-23 | 数据空间研究院 | 一种基于相似度的专利检索方法、检索系统及存储介质 |
CN117093729B (zh) * | 2023-10-17 | 2024-01-09 | 北方健康医疗大数据科技有限公司 | 一种基于医疗科研信息的检索方法、系统及检索终端 |
CN117763088B (zh) * | 2023-12-22 | 2024-07-12 | 数据空间研究院 | 一种基于关键注意力机制的专利信息的相似度计算方法 |
CN117892331B (zh) * | 2024-03-14 | 2024-05-24 | 山东仁正认证技术有限公司 | 一种科技成果共享平台的数据安全存储方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109086303B (zh) * | 2018-06-21 | 2021-09-28 | 深圳壹账通智能科技有限公司 | 基于机器阅读理解的智能对话方法、装置、终端 |
CN109492227A (zh) * | 2018-11-16 | 2019-03-19 | 大连理工大学 | 一种基于多头注意力机制和动态迭代的机器阅读理解方法 |
CN110162684B (zh) * | 2019-05-07 | 2021-06-25 | 中国电子科技集团公司第二十八研究所 | 基于深度学习的机器阅读理解数据集构建以及评估方法 |
CN112445887B (zh) * | 2019-08-29 | 2024-05-03 | 南京大学 | 基于检索的机器阅读理解系统的实现方法及装置 |
CN110705295B (zh) * | 2019-09-11 | 2021-08-24 | 北京航空航天大学 | 基于关键词提取的实体名消岐方法 |
CN110619123B (zh) * | 2019-09-19 | 2021-01-26 | 电子科技大学 | 一种机器阅读理解方法 |
CN110647629B (zh) * | 2019-09-20 | 2021-11-02 | 北京理工大学 | 一种多粒度答案排序的多文档机器阅读理解方法 |
CN110866102A (zh) * | 2019-11-07 | 2020-03-06 | 浪潮软件股份有限公司 | 检索处理方法 |
CN112434720B (zh) * | 2020-10-22 | 2023-08-29 | 暨南大学 | 一种基于图注意力网络的中文短文本分类方法 |
CN112347223B (zh) * | 2020-11-03 | 2023-09-22 | 平安科技(深圳)有限公司 | 文档检索方法、设备及计算机可读存储介质 |
-
2021
- 2021-05-14 CN CN202110525848.6A patent/CN113239148B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113239148A (zh) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113239148B (zh) | 基于机器阅读理解的科技资源检索方法 | |
CN111310438B (zh) | 基于多粒度融合模型的中文句子语义智能匹配方法及装置 | |
Zhong et al. | A building regulation question answering system: A deep learning methodology | |
CN104834747B (zh) | 基于卷积神经网络的短文本分类方法 | |
CN108874896B (zh) | 一种基于神经网络和幽默特征的幽默识别方法 | |
CN109902159A (zh) | 一种基于自然语言处理的智能运维语句相似度匹配方法 | |
CN110674252A (zh) | 一种面向司法领域的高精度语义搜索系统 | |
CN106970910A (zh) | 一种基于图模型的关键词提取方法及装置 | |
CN110263343B (zh) | 基于短语向量的关键词抽取方法及系统 | |
CN114065758A (zh) | 一种基于超图随机游走的文档关键词抽取方法 | |
CN110347796A (zh) | 向量语义张量空间下的短文本相似度计算方法 | |
CN113064999B (zh) | 基于it设备运维的知识图谱构建算法、系统、设备及介质 | |
CN116342167B (zh) | 基于序列标注命名实体识别的智能成本度量方法和装置 | |
CN113761890A (zh) | 一种基于bert上下文感知的多层级语义信息检索方法 | |
CN114547230A (zh) | 一种智能行政执法案例信息抽取和案由认定方法 | |
CN117574898A (zh) | 基于电网设备的领域知识图谱更新方法及系统 | |
CN115438709A (zh) | 基于代码属性图的代码相似性检测方法 | |
CN112417170A (zh) | 面向不完备知识图谱的关系链接方法 | |
CN114742069A (zh) | 一种代码相似度检测方法及装置 | |
Dai et al. | An N-ary tree-based model for similarity evaluation on mathematical formulae | |
Mansour et al. | Text vectorization method based on concept mining using clustering techniques | |
Neji et al. | A novel conceptual weighting model for semantic information retrieval | |
Ivanov et al. | Automatic generation of a large dictionary with concreteness/abstractness ratings based on a small human dictionary | |
Tian et al. | A multi‐label social short text classification method based on contrastive learning and improved ml‐KNN | |
CN113869065A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220315 Address after: 610000 No. 2006 West Yuan Road, Chengdu high tech Zone (West District), Sichuan Applicant after: University of Electronic Science and Technology of China Address before: Room 1906, 19 / F, building 37, east yard, No. 5, Section 2, Jianshe North Road, Chenghua District, Chengdu, Sichuan 610051 Applicant before: Liao Weizhi Applicant before: Ye Guanglei |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |