CN114595306A - 基于距离感知自注意力机制和多角度建模的文本相似度计算***及方法 - Google Patents
基于距离感知自注意力机制和多角度建模的文本相似度计算***及方法 Download PDFInfo
- Publication number
- CN114595306A CN114595306A CN202210094494.9A CN202210094494A CN114595306A CN 114595306 A CN114595306 A CN 114595306A CN 202210094494 A CN202210094494 A CN 202210094494A CN 114595306 A CN114595306 A CN 114595306A
- Authority
- CN
- China
- Prior art keywords
- similarity
- text
- word
- modeling
- vector
- 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
- 230000007246 mechanism Effects 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000004364 calculation method Methods 0.000 title claims abstract description 30
- 230000008447 perception Effects 0.000 title claims abstract description 15
- 230000002452 interceptive effect Effects 0.000 claims abstract description 18
- 239000013598 vector Substances 0.000 claims description 84
- 238000011176 pooling Methods 0.000 claims description 21
- 230000002776 aggregation Effects 0.000 claims description 18
- 238000004220 aggregation Methods 0.000 claims description 18
- 238000010276 construction Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 12
- 238000012549 training Methods 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 9
- 230000003993 interaction Effects 0.000 claims description 8
- 238000007781 pre-processing Methods 0.000 claims description 8
- 230000004913 activation Effects 0.000 claims description 6
- 239000013604 expression vector Substances 0.000 claims description 5
- 239000011159 matrix material Substances 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 3
- 239000000654 additive Substances 0.000 claims description 2
- 230000000996 additive effect Effects 0.000 claims description 2
- 230000004927 fusion Effects 0.000 claims description 2
- 238000013507 mapping Methods 0.000 claims description 2
- 230000003213 activating effect Effects 0.000 claims 1
- 238000013527 convolutional neural network Methods 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000003058 natural language processing Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000002146 bilateral effect Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013519 translation Methods 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/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3335—Syntactic pre-processing, e.g. stopword elimination, stemming
-
- 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
- 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/35—Clustering; Classification
-
- 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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Molecular Biology (AREA)
- Evolutionary Biology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于距离感知自注意力机制和多角度建模的文本相似度计算***及方法,对于两个文本P和Q,借助Word2vec、BiLSTM、距离感知自注意力机制以及多角度相建模完成文本相似度计算,首先使用Word2ve得到文本P和Q的词表示,通过BiLSTM捕获上下文表示;然后利用距离感知的自注意力机制来进一步抽取文本特征,接着利用交互注意力机制来对文本P和Q进行交互建模,最后再提出多角度相似度建模的方法从不同层面对文本P和Q进行相似度建模,得到最终相似度。本发明通过基于距离感知的自注意力机制和多角度相似度建模架构,增强了对文本语义建模的能力,提高了文本对相似度计算的准确率,模型结构简单、性能高效、鲁棒性强,易于在实践中推广使用。
Description
技术领域
本发明涉及计算机文本信息处理技术领域,涉及文本间相似度计算方法,具体涉及一种基于距离感知自注意力机制和多角度建模的文本相似度计算***及方法。
背景技术
近年来随着移动互联网的蓬勃发展以及智能设备的普及,人们在工作生活中更加依赖于互联网,也因此涌现了大量基于互联网的服务平台,例如搜索引擎、博客、智能客服等等。这些服务为人们带来了便利,也产生了海量的数据,尤其是文本数据,例如人们在使用搜索引擎时产生的查询和响应数据,客服和用户之间的问答数据,博客中大量的相似性文章数据等等。然而,简单的依靠人工是无法从海量的网络数据中快速有效地获取人们所需要的信息的,因此计算机自动地进行信息抽取和挖掘技术应运而生,也因此发展出许多文本的自动化、智能化处理的理论和技术,包括信息检索、数据挖掘、机器翻译等等,而文本相似度算法是这些技术的核心技术之一。
自然语言处理领域的文本相似度旨在计算两个文本在语义上的相似程度,因此也叫文本匹配算法,通常两个文本的两个文本的相似度越高,说明它们越匹配;两个文本相似度越低,说明它们越不匹配。因此文本相似度算法的重点在于研究两段文本之间的语义关系,例如判断两段文本是否表达相同的含义。文本相似度算法是多个自然语言处理(NLP)和信息检索任务的基本任务。
在文本信息检索中,文本相似度算法可以计算用户查询文本和海量文本数据的关联程度,帮助用户快速准确的找到所需要的信息;在智能问答中,短文本匹配常用于从问答数据库中找到与给定问题文本最相似的问题,然后返回其对用的答案;在社区问答中,短文本匹配算法能够处理相似的问题和答案,维护问答社区的洁净,保障用户良好体验。由于短文本文本较短,噪声多,不规范,因此如何准确地判断两个短文本之间的语义关系是一项充满挑战的研究。
现有的文本相似度计算方法主要包括:基于手工特征的方法、基于单一语义表示的神经网络方法和基于匹配聚合的神经网络方法。其中基于手工特征的方法通常利用词袋模型、TF-IDF等方法构建文本的向量表示,接着再利用余弦相似度计算两个文本向量之间的相似度。然而这类方法通常难以捕获到文本的语义特征,并且导致文本的特征向量语义稀疏,此外,这类方法还忽略了两个文本之间的交互信息,因此相似度计算的准确率低。
随着深度学习和各种神经网络的兴起如CNN,LSTM,GRU等,深度神经网络在解决文本相似度计算问题取得了一定成功,基于神经网络的相似度计算方法分为单一语义表示架构和匹配聚合架构。单一语义表示框架将两个文本使用相同结构共享参数的网络进行编码,获得文本的向量表示形式,然后使用相似度度量方法来评估其语义相似度分数。基于单一语义表示架构的方法更易于训练,因此其处理速度将非常快,适用于需要快速响应的大多数任务。然而这种方式仅从全局角度考虑文本表示,在编码过程中没有考虑两个文本的相互作用,这使得模型难以更有效得捕获两个文本之间的语义相似度关系。另一种架构是匹配聚合网络架构,它使用匹配和聚合方法对两个文本的对齐关系进行建模,这种方法通常使用注意力机制来建模句间的对齐关系。然而这类方法虽然捕捉了两个文本之间的对齐关系,但随着模型的不断深入,在提取两个文本之间的交互信息时,在一定程度上忽略了文本单一语义的重要性。
综上,上述方法虽然能够捕获到文本的语义向量,进而进行文本之间的相似度计算,然而难以抽取更深层次的语义特征的同时提取两个文本之间的交互信息,此外,从多种角度对特征抽取后的文本向量进行相似度度量,也会影响最终文本对<P、Q>相似度计算的准确性。
发明内容
为了解决现有技术存在的文本对<P、Q>相似度计算缺陷或者不足,本发明的目的在于,提供一种基于距离感知自注意力机制和多角度建模的文本相似度计算***及方法。
为了实现上述任务,本发明采用如下技术方案予以实现:
一种基于距离感知自注意力机制和多角度建模的文本相似度计算***,至少包括依次相连的词表示模块、上下文表示模块、增强语义建模模块、软对齐模块、多角度相似性建模模块和相似度结果输出模块,其中:
词表示模块:用于输入文本P和Q,得到预处理后的文本对<P,Q>,接着使用预先训练的词嵌入得到文本对<P,Q>通过中每个词的词向量,并且进一步融合字符嵌入和精确匹配标记特征;
所述的词表示模块中的文本预处理和词训练的实现方法是:首先对原始的文本P和Q进行分词、去除停用词,得到预处理后的文本对<P,Q>;接着使用Word2vec算法训练预处理得到文本P和Q的词向量矩阵,为了使得词向量特征丰富,同时融合字符嵌入表示和精确匹配标记特征;
上下文表示模块:用于对文本对<P,Q>中每个词的词向量进行上下文编码,得到<P,Q>编码后的上下文表示向量;
构建方法是:对于词嵌入表示得到的文本对<P,Q>,将其送入双层BiLSTM网络中进行上下文编码,得到文本对<P,Q>的上下文表示<hp,hq>;
增强语义建模模块:用于分别对文本P和Q建模,抽取出文本P和Q的更深层次的语义特征;
软对齐模块:用于建模文本对<P,Q>之间的交互信息,对两个文本的语义向量进行增强表示;
构建方法是:在抽取增强语义表示的同时,对文本对<P,Q>使用交互注意力机制Co-attention来计算两个文本之间的软对齐关系,抽取得到的对齐后的特征为<h′p,h′q>;
多角度相似性建模模块:用于从多个不同角度对文本P和Q的语义向量进行相似度计算;
构建方法是:首先融合软对齐和增强语义建模特征得到<vp,vq>,接着同时利用逐元素相似度、双线性距离以及余弦相似度计算特征向量<vp,vq>之间的多角度聚合向量v。
相似度结果输出模块:用于将文本对<P,Q>多角度相似性建模后的聚合向量经过池化操作,再得到最终的相似度分数,最后将文本对的相似度数值转换为具体的分数输出;
构建方法是:首先融合软对齐和增强语义建模特征得到<vp,vq>,接着同时利用逐元素相似度、双线性距离以及余弦相似度计算特征向量<vp,vq>之间的多角度聚合向量v。
本发明还公开了一种基于距离感知自注意力机制和多角度建模的文本相似度计算方法,包括如下步骤:
步骤S1:对原始文本P和Q分别进行分词、去除停用词预处理,将预处理后的文本对<P,Q>利用Word2vec模型预训练得到文本对<P,Q>的词向量,同时加入随机初始化后送入GRU学习的文本对<P,Q>字符嵌入表示以及文本P和Q之间的精确匹配标记;
步骤S2:将词嵌入表示后的文本对<P,Q>利用双层BiLSTM进行编码,得到文本对<P,Q>的上下文表示;
步骤S3:使用提出的距离感知自注意力机制Distance-aware Self-attention对文本P和Q分别编码,捕获文本P和Q的深层次特征,进而得到文本对<P,Q>增强的语义向量表示;
步骤S4:利用交互注意力机制Co-attention对文本P和Q建模,捕获文本P和Q之间的交互信息;
步骤S5:利用多角度相似性建模算法,同时利用逐元素相似度、双线性距离以及余弦相似度从多个不同的角度计算增强特征向量之间的相似度,得到多角度相似度聚合向量;
步骤S6:将多角度相似度聚合向量进行最大池化和平均池化,抽取出关键特征,再送入到全连接层和softmax中计算最终的相似度分值,最终转换为具体的相似度分数并输出。
上述基于距离感知自注意力机制和多角度建模的文本相似度计算方法,应用制成任意一种计算机可读指令的存储介质。当所述计算机可读指令被一个或多个处理器执行该存储介质时,使得一个或多个处理器执行所述基于距离感知自注意力机制和多角度建模的文本相似度计算方法。
本发明与现有技术相比,带来的有益的技术效果在于:
1、提出改进的距离感知自注意力机制Distance-aware Self-attention对文本对进行更深层次的语义特征抽取,能够有效地对文本进行增强表示,提高相似度计算准确率。
2、提出了一种多角度相似性建模方法,从不同角度捕获文本对之间的相似性和差异性,获得了更丰富的聚合信息,提高了相似度计算效果。
3、在词表示中同时融合特征抽取后的字符嵌入以及丰富的精确匹配标记特征,从改善词表示的层面上也改进了相似度计算性能。
4、模型结构简单、性能高效、鲁棒性强,易于在实践中推广使用
附图说明
图1是本发明的基于距离感知自注意力机制和多角度建模的文本相似度计算***结构示意图。
图2是本发明的基于距离感知自注意力机制和多角度建模的文本相似度计算方法具体流程图。
图3是本发明的基于距离感知自注意力机制的结构示意图。
以下结合附图和实施例对本发明作进一步详细说明。
具体实施方式
参见图1,本实施例给出一种基于距离感知自注意力机制和多角度建模的文本相似度计算***,至少包括依次相连的词表示模块、上下文表示模块、增强语义建模模块、软对齐模块、多角度相似性建模模块和相似度结果输出模块,其中:
词表示模块:用于输入文本P和Q,得到预处理后的文本对<P,Q>,接着则使用预先训练的词嵌入得到文本对<P,Q>通过中每个词的词向量,并且进一步融合字符嵌入和精确匹配标记特征;
上下文表示模块:用于对文本对<P,Q>中每个词的词向量进行上下文编码,得到<P,Q>编码后的上下文表示向量;
增强语义建模模块:用于分别对文本P和Q建模,抽取出文本P和Q的更深层次的语义特征;
软对齐模块:用于建模文本对<P,Q>之间的交互信息,对两个文本的语义向量进行增强表示;
多角度相似性建模模块:用于从多个不同角度对文本P和Q的语义向量进行相似度计算;
相似度结果输出模块:用于将文本对<P,Q>多角度相似性建模后的聚合向量经过池化操作,再得到最终的相似度分数,最后将文本对的相似度数值转换为具体的分数输出。
所述的词表示模块中文本预处理和词训练的实现方法是:首先对原始的文本P和Q进行分词、去除停用词,得到预处理后的文本对<P,Q>;接着使用Word2vec算法训练预处理得到文本P和Q的词向量矩阵,为了使得词向量特征丰富,同时融合字符嵌入表示和精确匹配标记特征。
所述的上下文表示模块构建方法是:对于词嵌入表示得到的文本对<P,Q>,将其送入双层BiLSTM网络中进行上下文编码,得到文本对<P,Q>的上下文表示<hp,hq>。
所述的增强语义建模模块构建方法是:提出一种基于距离感知的自注意力机制Distance-aware Self-attention,来对上下文建模后的表示<hp,hq>进一步抽取更深层次的语义特征,建模后的特征向量表示为
所述的软对齐模块构建方法是:在抽取增强语义表示的同时,对文本对<P,Q>使用交互注意力机制Co-attention来计算两个文本之间的软对齐关系,抽取得到的对齐后的特征为<h′p,h′q>。
所述的多角度相似性建模模块构建方法是:首先融合软对齐和增强语义建模特征得到<vp,vq>,接着同时利用逐元素相似度、双线性距离以及余弦相似度计算特征向量<vp,vq>之间的多角度聚合向量v。
最终,所述的相似度结果输出模块,将多角度聚合向量v进行最大池化和平均池化得到池化后的向量vavg和vmax,最后拼接后送入全连接层和softmax层得到最终文本对<P,Q>的相似度分数,再转换为具体的分数输出。
参见图2所示:本发明还公开了一种基于距离感知自注意力机制和多角度建模的文本相似度计算方法,包括如下步骤:
步骤S1:对文本P和Q分别进行预处理,接着对预处理后的文本对<P,Q>通过Word2vec算法预训练得到词嵌入后加入字符嵌入和精确匹配标记,得到最终的词表示;
步骤S2:将嵌入表示后的文本对<P,Q>送入双层BiLSTM网络中学习文本对<P,Q>的上下文表示;
步骤S3:使用提出的距离感知自注意力机制Distance-aware Self-attention对上下文表示后的文本对<P,Q>进一步抽取出深层次的语义特征。
步骤S4:使用交互注意力机制Co-attention抽取出文本对<P,Q>之间的软对齐关系。
步骤S5:提出多角度相似性建模算法,同时利用逐元素相似度、双线性距离以及余弦相似度从多个不同的角度计算增强特征向量之间的相似度,得到多角度相似度聚合向量。
步骤S6:将多角度相似度聚合向量进行最大池化和平均池化,抽取出关键特征,再送入到全连接层和softmax中计算最终的相似度分值,最终转换为具体的分数并输出。
以下结合本发明的基于距离感知自注意力机制和多角度建模的文本相似度算法的各个分步骤,进一步解释说明本发明的整体技术构思。
步骤S1:步骤S1包含四个步骤:
步骤S1.1:首先采用Jieba分词工具对文本对<P,Q>进行分词,再去除停用词;
步骤S1.2:接着对预处理后的文本对采用Word2vec算法预训练得到300维单词-向量矩阵,获得每个单词到300维词向量的映射,记为ew;
步骤S1.3:将随机初始化的字符嵌入送入RNN中来学习字符嵌入ec,字符特征ec可以为某些OOV(Out Of Vocabulary)单词提供额外信息;
步骤S1.4:加入精确匹配标记特征f,如果在另一个句子中找到相同的单词,则完全匹配标志f将被激活,精确匹配标记可以帮助理解文本;最终文本对<P,Q>的词表示分别表示为<pw,qw>;公式如下:
步骤S2:使用BiLSTM网络对两个输入的文本对<P,Q>进行编码,BiLSTM可以提取句子的上下文特征并可以存储长距离信息,为简化模型,仅使用两层BiLSTM编码句子并共享参数,得到文本对<P,Q>的上下文表示<hp,hq>,其中:
步骤S3:采用距离感知自注意力机制Distance-aware Self-attention对文本对<P,Q>进行更深层次的编码,如图3所示,步骤S3提出的距离感知自注意力机制Distance-aware Self-attention进一步包含三个步骤:
步骤S3.1:采用多维“token2token”自我注意机制Self-attention分别对文本P和Q进行编码,对于这种文本对语义相似度算法,其实通过几个关键词信息就可以判断文本对之间的语义关系。因此,为了强调文本中某些词的重要性以及加强单一文本底层特征的提取,使用了自我注意机制Self-attention来捕获文本中每个词的上下文信息。
对于P或Q的上下文表示h=[h1,h2,…,hl],h指的是两层BiLSTM编码得到的上下文表示,hi表示的是BiLSTM在时间i上输入句子所生成的隐藏状态,Self-attention对上下文表示h进行编码得到增强后的表示h′。其中:
s(hi,hj)=σ((W1hi+W2hj+b)/c) (6)
其中,s(hi,hj)是相似度函数,是用来计算hi和hj之间的依赖关系,即计算文本中两个词之间的相似度关系,这里使用加性注意力机制。W1,是可学习的参数,σ是激活函数。此外,c是标量,设置c=1并使用tanh作为激活函数σ。
步骤S3.2:针对文本对相似度算法,提出新的掩码相似度算法s(hi,hj)′应用于自我注意机制Self-attention中。主要是考虑到文本中每个词应该对其距离更近的词给予更多地关注,而对距离越远的词给予越少的关注,使得计算文本对<P,Q>之间的相似度更加准确;进而构造掩码矩阵Mij,自动地控制文本中词与词之间相似度的分数;掩码相似度算法s(hi,hj)′如下式:
s(hi,hj)′=σ((W1hi+W2hj+b)/c)+Mij (7)
f(i,j)=-|i-j| (9)
其中,f(i,j)是一个关于位置i和j的距离函数,k是一个正的常数,k被设置为3。当|i-j|<k时,Mij的值为0。表示当i和j之间的距离小于k时不改变原来的相似度s(i,j)的值;这其实也是借鉴了双向n-gram的思想,也就是说,对当前词进行统计或者计算时只考虑这个词前面n个词和它后面n个词。当|i-j|≥k且i≠j时,Mij定义为f(i,j),f(i,j)是一个和|i-j|呈负相关变化的函数,当i和j之间的距离越大,f(i,j)则越小,因此原来相似度s(i,j)相应变得更小。此外,之所以当i≠j时,Mij为负无穷大,是因为要忽略词自身的影响,因为词和自身之间的相似度肯定是最大的,当给它们赋予一个负无穷大的值以后,那么自身所占的权重则为0。
步骤S4进一步包含以下两个步骤:
步骤S4.1:使用一种基于交互注意力机制Co-attention的软对齐方式来计算获得文本对<P,Q>之间的对齐依赖关系。针对文本对<P,Q>的上下文表示<hp,hq>,采用交互注意力机制Co-attention算法计算它们之间的对齐向量表示<h′p,h′q>;其中:
式中,Wc、Wd是可学习的参数,eij用来计算文本P和Q的上下文表示的点积,得到相似性得分。输出向量h′p和h′q是通过对另一个文本的表示进行加权求和计算得到的,该总和由当前位置和另一个文本中相应位置之间的相似性分数加权得到。
步骤S5:步骤S5分为四个步骤:
步骤S5.1:首先计算两个增强语义向量<vp,vq>的余弦相似度m1,得到相似度向量m1。余弦相似度需要对两个句子的每个维度的词与词之间的相似度进行计算,再对所有维度的相似度求和,得到的是词与词之间在所有维度空间上的整体相似度表现。
m1的表达式如下:
m1=cosine similarity(vp,vq) (15)
步骤S5.2:计算两个增强语义向量<vp,vq>的双线性距离m2,双线性距离实际上在Attention相似度分数的计算中使用的比较多,本质上是点积运算,实际上计算的是向量级别的相似性,也就说考虑的是整个句子的角度,并且由于它使用了一个可学习参数W1和激活函数σ,能学习到更多有用的信息。
m2的表达式如下:
m2=σ(vpW1)·vq (16)
步骤S5.3:计算两个增强语义向量<vp,vq>逐元素相似度m3,逐元素匹配从元素的角度考虑相似性。<vp,vq>是文本P和Q的增强语义表示,类似于图像的张量图。正如图片中每个“像素”都有不同的值。由于不同词的重要性不同,对应的值也不同。因此,对于不同的值来计算差异和相似度可以学习到更好的文本之间的关系。
m3的表达式如下:
m3=Concat(vp,vq,vp+vq;vp-vq,|vp-vq|,vp*vq) (17)
步骤S5.4:最终的聚合向量v为余弦相似度m1、双线性距离m2以及逐元素相似度m3融合的结果。
v的表达式如下:
v=concate[m1;m2;m3] (18)
步骤S6分为以下两个步骤:
步骤S6.1:将最终的匹配使用平均池化和最大池化,以获取相应的向量表示形式,得到最终的输出语义向量o。平均池化可以用来聚合全局语义,而最大池化则表示导入语义特征。
vmax=[max1<i<nvi] (20)
o=concate[vavg;vmax] (21)
步骤S6.2:将步骤S6.1得到输出语义向量o,输入到多层感知机和softmax中得到最终的相似度分数similarity<P,Q>如下式所示:
similarity<P,Q>=MLP(o)(22)
为了验证本实施例的基于距离感知自注意力机制和多角度建模的文本相似度计算方法的有效性,发明人设计了一组评估实验,利用两个文本相似度判断的数据集来衡量两个文本的语义相似度,即BQ和LCQMC语料库。
公开数据集BQ语料库是用于文本对语义相似度判断的中文银行问题对数据集,包含来在线银行真实客户服务日志,该数据集包括100,000个训练集,10,000个验证集,10,000个测试集。
公开数据集LCQMC是哈尔滨工业大学在自然语言处理国际顶会COLING2018构建的问题语义匹配数据集,是从百度知识收集的开放域中文数据集,该数据集包括239,000个训练集,8,400个验证集,12,500个测试集。
这两个公开数据集的目标是判断两个问题文本的语义是否相同,如果两个问题文本表达相同的含义或者具有相同的意图,那么这两个文本在语义上是对等的,标记为1,否则,这两个文本语义不对等,标记为0。
因此,发明人所设计的实验的目的是判断两个问题文本是否具有相同的语义,预测出两个文本对的标签,和真实标签进行对比,计算预测成功的准确率。因此,在和其他发明或者其他人提出的方法进行对比时,所采用的评价指标是分类准确率Accuracy。
在BQ和LCQMC数据集上准确率计算结果对比如下表所示。
对比模型 | LCQMC | BQ |
(1)Text-CNN | 72.8 | 68.52 |
(2)BiLSTM | 76.1 | 73.51 |
(3)BiMPM | 83.4 | 81.85 |
(4)ESIM | 84.0 | 81.7 |
(5)DIIN | 84.47* | 81.41 |
our | 86.8 | 84.1 |
上表显示了模型在LCQMC和BQ两个中文数据集上的性能与近几年当前的优秀的文本相似度模型的对比,包括Text-CNN,BiLSTM,BIMPM,ESIM,DIIN,模型在这两个数据集上均达到了当前最佳的性能。其中Text-CNN是用于文本分类的卷积神经网络(CNN)模型。BiMPM是用于自然语言文本匹配的良好性能的双边多视角匹配模型,DIIN是用于自然语言推理的密交互推理网络,通过从交互空间中分层抽取语义特征,实现对句子对的高层次理解。
在LCQMC数据集中,本实施例给出的模型高出句子匹配模型DIIN将近2.4%,高出ESIM2.8%,和BIMPM相比提高了3.4%,在BQ数据集中,模型和BiMPM、ESIM、DIIN相比分别提高了2.2%、2.4%以及2.7%。
尽管Text-CNN利用CNN单元来捕获文本的局部特征,而BiLSTM模型利用BiLSTM单元来捕获文本的长距离依赖特征,但它们都属于单一语义表示框架,也就是说它们没有考虑到两个输入的文本之间的复杂相互作用。BiMPM、ESIM以及DIIN是文本相似度算法领域中较好的基于交互型的模型并且功能强大,都是利用Attention机制获得两个文本之间的交互作用。
和上述模型相比,本实施例给出的模型仍然比它们高出不少,这是因为本实施例的技术方案不仅利于交互注意力机制Co-attention提取文本间对齐关系,还提出了基于距离感知自注意力机制Distance-aware self-attention,能够有效地从文本特征提取的角度改善算法效果。实验表明,本实施例的基于距离感知自注意力机制和多角度建模的文本相似度算法十分有效。
Claims (10)
1.一种基于距离感知自注意力机制和多角度建模的文本相似度计算***,其特征在于,至少包括依次相连的词表示模块、上下文表示模块、增强语义建模模块、软对齐模块、多角度相似性建模模块和相似度结果输出模块,其中:
词表示模块:用于输入文本P和Q,得到预处理后的文本对<P,Q>,接着使用预先训练的词嵌入得到文本对<P,Q>通过中每个词的词向量,并且进一步融合字符嵌入和精确匹配标记特征;
所述的词表示模块中的文本预处理和词训练的实现方法是:首先对原始的文本P和Q进行分词、去除停用词,得到预处理后的文本对<P,Q>;接着使用Word2vec算法训练预处理得到文本P和Q的词向量矩阵,为了使得词向量特征丰富,同时融合字符嵌入表示和精确匹配标记特征;
上下文表示模块:用于对文本对<P,Q>中每个词的词向量进行上下文编码,得到<P,Q>编码后的上下文表示向量;
构建方法是:对于词嵌入表示得到的文本对<P,Q>,将其送入双层BiLSTM网络中进行上下文编码,得到文本对<P,Q>的上下文表示<hp,hq>;
增强语义建模模块:用于分别对文本P和Q建模,抽取出文本P和Q的更深层次的语义特征;
软对齐模块:用于建模文本对<P,Q>之间的交互信息,对两个文本的语义向量进行增强表示;
构建方法是:在抽取增强语义表示的同时,对文本对<P,Q>使用交互注意力机制Co-attention来计算两个文本之间的软对齐关系,抽取得到的对齐后的特征为<h′p,h′q>;
多角度相似性建模模块:用于从多个不同角度对文本P和Q的语义向量进行相似度计算;
构建方法是:首先融合软对齐和增强语义建模特征得到<vp,vq>,接着同时利用逐元素相似度、双线性距离以及余弦相似度计算特征向量<vp,vq>之间的多角度聚合向量v;
相似度结果输出模块:用于将文本对<P,Q>多角度相似性建模后的聚合向量经过池化操作,再得到最终的相似度分数,最后将文本对的相似度数值转换为具体的分数输出;
构建方法是:首先融合软对齐和增强语义建模特征得到<vp,vq>,接着同时利用逐元素相似度、双线性距离以及余弦相似度计算特征向量<vp,vq>之间的多角度聚合向量v。
2.如权利要求1所述基于距离感知自注意力机制和多角度建模的文本相似度计算***,其特征在于,所述的相似度结果输出模块,将多角度聚合向量v进行最大池化和平均池化得到池化后的向量vavg和vmax,最后拼接后送入全连接层和softmax层得到最终文本对<P,Q>的相似度分数,再转换为具体的分数输出。
3.一种基于距离感知自注意力机制和多角度建模的文本相似度计算方法,包括如下步骤:
步骤S1:对文本P和Q分别进行预处理,接着对预处理后的文本对<P,Q>通过Word2vec算法预训练得到词嵌入后加入字符嵌入和精确匹配标记,得到最终的词表示;
步骤S2:将词嵌入表示后的文本对<P,Q>利用双层BiLSTM进行编码,得到文本对<P,Q>的上下文表示;
步骤S3:使用距离感知自注意力机制Distance-aware Self-attention对文本P和Q分别编码,捕获文本P和Q的深层次特征,进而得到文本对<P,Q>增强的语义向量表示;
步骤S4:使用交互注意力机制Co-attention对文本P和Q建模,捕获文本P和Q之间的交互信息;
步骤S5:利用多角度相似性建模算法,同时利用逐元素相似度、双线性距离以及余弦相似度从多个不同的角度计算增强特征向量之间的相似度,得到多角度相似度聚合向量;
步骤S6:将多角度相似度聚合向量进行最大池化和平均池化,抽取出关键特征,再送入到全连接层和softmax中计算最终的相似度分值,最终转换为具体的相似度分数并输出。
4.如权利要求3所述的方法,其特征在于:所述的步骤S1进一步包含以下四个步骤:
步骤S1.1:首先采用Jieba分词工具对文本对<P,Q>进行分词,再去除停用词;
步骤S1.2:接着对预处理后的文本对采用Word2vec算法预训练得到300维单词-向量矩阵,获得每个单词到300维词向量的映射,记为ew;
步骤S1.3:将随机初始化的字符嵌入送入RNN中来学习字符嵌入ec,字符特征ec可以为某些OOV单词提供额外信息;
步骤S1.4:加入精确匹配标记特征f,如果在另一个句子中找到相同的单词,则完全匹配标志f将被激活,精确匹配标记帮助理解文本;最终文本对<P,Q>的词表示分别表示为<pw,qw>;公式如下:
6.如权利要求3所述的方法,其特征在于:所述步骤S3的具体实现进一步包含以下三个步骤:
步骤S3.1:采用多维“token2token”自我注意机制Self-attention分别对文本P和Q进行编码,捕获文本P和Q中每个词的上下文信息;
对于P或Q的上下文表示h=[h1,h2,...,hl],h指的是两层BiLSTM编码得到的上下文表示,hi表示的是BiLSTM在时间i上输入句子所生成的隐藏状态,自我注意机制Self-attention对上下文表示h进行编码得到增强后的表示h′;公式如下:
s(hi,hj)=σ((W1hi+W2hj+b)/c) (6)
其中,s(hi,hj)是相似度函数,是用来计算hi和hj之间的依赖关系,即计算文本中两个词之间的相似度关系,这里使用加性注意力机制;是可学习的参数,σ是激活函数,c是标量,设置c=1并使用tanh作为激活函数σ;
步骤S3.2:针对文本对相似度算法,采用距离掩码相似度算法s(hi,hj)′应用于自我注意机制Self-attention中,进而构造掩码矩阵Mij,自动地控制文本中词与词之间相似度的分数;s(hi,hj)′的公式如下:
s(hi,hj)′=σ((W1hi+W2hj+b)/c)+Mij (7)
f(i,j)=-|i-j| (9)
其中,f(i,j)是一个关于位置i和j的距离函数,k是一个正的常数,k被设置为3;当|i-j|<k时,Mij的值为0,表示当i和j之间的距离小于k时不改变原来的相似度s(i,j)的值;
当|i-j|≥k且i≠j时,Mij定义为f(i,j),f(i,j)是一个和|i-j|呈负相关变化的函数,当i和j之间的距离越大,f(i,j)则越小,因此原来相似度s(i,j)相应变得更小;
此外,之所以当i≠j时,Mij为负无穷大,是因为要忽略词自身的影响,因为词和自身之间的相似度肯定是最大的,当给它们赋予一个负无穷大的值以后,那么自身所占的权重则为0;
7.如权利要求3所述的方法,其特征在于:所述的步骤S4进一步包含以下两个步骤:
步骤S4.1:使用了一种交互注意力机制Co-attention的软对齐方式来计算获得文本对<P,Q>之间的对齐依赖关系。针对文本对<P,Q>的上下文表示<hp,hq>,采用交互注意力机制Co-attention算法计算它们之间的对齐向量表示<h′p,h′q>;其中:
式中,Wc、Wd是可学习的参数,eij用来计算文本P和Q的上下文表示的点积,得到相似性得分。输出向量h′p和h′q是通过对另一个文本的表示进行加权求和计算得到的,该总和由当前位置和另一个文本中相应位置之间的相似性分数加权得到;
8.如权利要求3所述的方法,其特征在于:所述的步骤S5进一步分为以下四个步骤:
步骤S5.1:首先计算两个增强语义向量<vp,vq>的余弦相似度m1,得到相似度向量m1;余弦相似度需要对两个句子的每个维度的词与词之间的相似度进行计算,再对所有维度的相似度求和,得到的是词与词之间在所有维度空间上的整体相似度表现;
m1=cosine similarity(vp,vq) (15)
步骤S5.2:计算两个增强语义向量<vp,vq>的双线性距离m2,双线性距离实际上在Attention相似度分数的计算中使用的比较多,本质上是点积运算,实际上计算的是向量级别的相似性,即考虑的是整个句子的角度,并且由于它使用了一个可学习参数W1和激活函数σ,能学习到更多有用的信息;
m2=σ(vpW1)·vq (16)
步骤S5.3:计算两个增强语义向量<vp,vq>逐元素相似度m3,逐元素匹配从元素的角度考虑相似性。<vp,vq>是文本P和Q的增强语义表示,类似于图像的张量图;由于不同词的重要性不同,对应的值也不同;因此,对于不同的值来计算差异和相似度可以学习到更好的文本之间的关系;
m3=Concat(vp,vq,vp+vq;vp-vq,|vp-vq|,vp*vq) (17)
步骤S5.4:最终的聚合向量v为余弦相似度m1、双线性距离m2以及逐元素相似度m3融合的结果:
v=concate[m1;m2;m3] (18)
10.权利要求3至9其中任一所述的基于距离感知自注意力机制和多角度建模的文本相似度计算方法,用于制备计算机可读指令的存储介质。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210094494.9A CN114595306B (zh) | 2022-01-26 | 2022-01-26 | 基于距离感知自注意力机制和多角度建模的文本相似度计算***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210094494.9A CN114595306B (zh) | 2022-01-26 | 2022-01-26 | 基于距离感知自注意力机制和多角度建模的文本相似度计算***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114595306A true CN114595306A (zh) | 2022-06-07 |
CN114595306B CN114595306B (zh) | 2024-04-12 |
Family
ID=81806962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210094494.9A Active CN114595306B (zh) | 2022-01-26 | 2022-01-26 | 基于距离感知自注意力机制和多角度建模的文本相似度计算***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114595306B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116108158A (zh) * | 2023-04-13 | 2023-05-12 | 合肥工业大学 | 在线互动问答文本特征构造方法和*** |
CN116663523A (zh) * | 2023-05-19 | 2023-08-29 | 杭州众章数据科技有限公司 | 多角度增强网络的语义文本相似度计算方法 |
CN116680420A (zh) * | 2023-08-02 | 2023-09-01 | 昆明理工大学 | 基于知识表示增强的低资源跨语言文本检索方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110781680A (zh) * | 2019-10-17 | 2020-02-11 | 江南大学 | 基于孪生网络和多头注意力机制的语义相似度匹配方法 |
CN112101043A (zh) * | 2020-09-22 | 2020-12-18 | 浙江理工大学 | 一种基于注意力的语义文本相似度计算方法 |
CN112232053A (zh) * | 2020-09-16 | 2021-01-15 | 西北大学 | 一种基于多关键词对匹配的文本相似度计算***、方法、及存储介质 |
WO2021159613A1 (zh) * | 2020-02-14 | 2021-08-19 | 深圳壹账通智能科技有限公司 | 文本语义相似度的分析方法、装置及计算机设备 |
WO2021164199A1 (zh) * | 2020-02-20 | 2021-08-26 | 齐鲁工业大学 | 基于多粒度融合模型的中文句子语义智能匹配方法及装置 |
-
2022
- 2022-01-26 CN CN202210094494.9A patent/CN114595306B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110781680A (zh) * | 2019-10-17 | 2020-02-11 | 江南大学 | 基于孪生网络和多头注意力机制的语义相似度匹配方法 |
WO2021159613A1 (zh) * | 2020-02-14 | 2021-08-19 | 深圳壹账通智能科技有限公司 | 文本语义相似度的分析方法、装置及计算机设备 |
WO2021164199A1 (zh) * | 2020-02-20 | 2021-08-26 | 齐鲁工业大学 | 基于多粒度融合模型的中文句子语义智能匹配方法及装置 |
CN112232053A (zh) * | 2020-09-16 | 2021-01-15 | 西北大学 | 一种基于多关键词对匹配的文本相似度计算***、方法、及存储介质 |
CN112101043A (zh) * | 2020-09-22 | 2020-12-18 | 浙江理工大学 | 一种基于注意力的语义文本相似度计算方法 |
Non-Patent Citations (3)
Title |
---|
张仰森;周炜翔;张禹尧;吴云芳;: "一种基于情感计算与层次化多头注意力机制的负面新闻识别方法", 电子学报, no. 09, 15 September 2020 (2020-09-15) * |
胡艳霞;王成;李弼程;李海林;吴以茵;: "基于多头注意力机制Tree-LSTM的句子语义相似度计算", 中文信息学报, no. 03, 15 March 2020 (2020-03-15) * |
郭浩;许伟;卢凯;唐球;: "基于CNN和BiLSTM的短文本相似度计算方法", 信息技术与网络安全, no. 06, 10 June 2019 (2019-06-10) * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116108158A (zh) * | 2023-04-13 | 2023-05-12 | 合肥工业大学 | 在线互动问答文本特征构造方法和*** |
CN116108158B (zh) * | 2023-04-13 | 2023-07-28 | 合肥工业大学 | 在线互动问答文本特征构造方法和*** |
CN116663523A (zh) * | 2023-05-19 | 2023-08-29 | 杭州众章数据科技有限公司 | 多角度增强网络的语义文本相似度计算方法 |
CN116680420A (zh) * | 2023-08-02 | 2023-09-01 | 昆明理工大学 | 基于知识表示增强的低资源跨语言文本检索方法及装置 |
CN116680420B (zh) * | 2023-08-02 | 2023-10-13 | 昆明理工大学 | 基于知识表示增强的低资源跨语言文本检索方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114595306B (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111325028B (zh) | 一种基于深度分层编码的智能语义匹配方法和装置 | |
CN114595306B (zh) | 基于距离感知自注意力机制和多角度建模的文本相似度计算***及方法 | |
WO2021031480A1 (zh) | 文本生成方法和装置 | |
CN112100351A (zh) | 一种通过问题生成数据集构建智能问答***的方法及设备 | |
CN110826338B (zh) | 一种单选择门与类间度量的细粒度语义相似识别的方法 | |
CN110427461A (zh) | 智能问答信息处理方法、电子设备及计算机可读存储介质 | |
CN113569001A (zh) | 文本处理方法、装置、计算机设备及计算机可读存储介质 | |
CN113297364B (zh) | 一种面向对话***中的自然语言理解方法及装置 | |
CN111814454A (zh) | 一种社交网络上的多模态网络欺凌检测模型 | |
CN112115253B (zh) | 基于多视角注意力机制的深度文本排序方法 | |
CN116097250A (zh) | 用于多模式文档理解的布局感知多模式预训练 | |
CN111310439A (zh) | 一种基于深度特征变维机制的智能语义匹配方法和装置 | |
CN112232053A (zh) | 一种基于多关键词对匹配的文本相似度计算***、方法、及存储介质 | |
CN112597302B (zh) | 基于多维评论表示的虚假评论检测方法 | |
CN114549850B (zh) | 一种解决模态缺失问题的多模态图像美学质量评价方法 | |
AU2019101138A4 (en) | Voice interaction system for race games | |
CN108256968A (zh) | 一种电商平台商品专家评论生成方法 | |
CN116662500A (zh) | 一种基于bert模型与外部知识图谱的问答***构建方法 | |
CN116414962A (zh) | 一种基于注意力机制的问答匹配方法 | |
CN116975350A (zh) | 图文检索方法、装置、设备及存储介质 | |
CN114997181A (zh) | 一种基于用户反馈修正的智能问答方法及*** | |
CN116258147A (zh) | 一种基于异构图卷积的多模态评论情感分析方法及*** | |
CN116010553A (zh) | 一种基于双路编码和精确匹配信号的观点检索*** | |
CN116187349A (zh) | 一种基于场景图关系信息增强的视觉问答方法 | |
CN115222048A (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 |