第 22卷第 7期2023年 7月
Vol.22 No.7
Jul.2023软件导刊
Software Guide
基于综合相似度的短文本匹配算法研究
陈乐1,王超1,邹全2,王丹2,朱喜楠2
(1.航天智慧能源研究院;2.上海航天能源股份有限公司,上海 201201)
摘要:针对基于词袋模型的传统短文本匹配算法存在特征词空间高维稀疏,且相较长文本而言,上下文语义信息
薄弱,使得特征词语义信息模糊,从而造成匹配精度较低等问题,提出融合语义相似度和概率相关度的短文本匹配算
法。首先采用截断奇异值分解和余弦相似度计算短文本间的语义相似度;然后引入特征词语义维度的信息
熵和标准
差作为特征词的深层语义区分度,并采用特征词的深层语义区分度改进最佳匹配,从而使用改进最佳匹配计算短文
本间的概率相关度;最后使用语义相似度和概率相关度的调和平均进行短文本匹配。实验表明,所提算法相比传统
算法在匹配准确率方面提高了11.22%,F1分数提高了10.5%。
关键词:TF-IDF;最佳匹配;潜在语义分析;截断奇异值分解;余弦相似度
DOI:10.11907/rjdk.221929开放科学(资源服务)标识码(OSID):
中图分类号:TP301.6  文献标识码:A文章编号:1672-7800(2023)007-0071-08
Research on Short Text Matching Algorithm Based on Comprehensive
Similarity
CHEN Le1, WANG Chaoqun1, ZOU Quan2, WANG Dan2, ZHU Xinan2
(1.Aerospace Smart Energy Research Institute;
2.Shanghai Aerospace Energy Co., Ltd , Shanghai 201201,China)
Abstract:The traditional short text matching algorithm based on bag-of-words model has high-dimensional sparseness in feature word space. Compared with long texts, the contextual semantic information of short texts is weak, which makes the semantic information of feature words ambiguous. Problems such as low matching accuracy are reflected. First, Semantic similarity between short texts is calculated by truncated sin‐gular value decomposition and cosine similarity. Secondly, the deep semantic discrimination of feature words is introduced by the information entropy and standard deviation of the semantic dimension of feature words. The best match is improved by deep semantic discrimination of fea‐ture words. The probabilistic relevance between short texts is calculated by the improved best match. Finally, short text matching is performed using the harmonic mean of semantic similarity and probabilistic relatedness. Experiments show that the algorithm proposed in this paper im‐proves the matching accuracy by 11.22% and the F1 score by 10.5% compared with the traditional algorithm.
Key Words:TF-IDF; best matching; latent semantic analysis; truncated singular value decomposition; cosine similarity
0 引言
随着自然语言处理技术的不断进步,文本相似度的研究愈发广泛,其中短文本匹配研究尤为突出[1]。例如,在各类问答系统中,当用户对问题进行简短描述后,系统需要从海量信息网络中精确匹配相应答案[2],这就需要各类数据系统的支持,而系统间的数据匹配往往需要以用户或对象的简短本文描述来辅助[3-4],因此短文本的精确匹配具有重大现实意义。
目前常用短文本匹配方法包括基于短文本语义空间的余弦相似度[5-6]和基于词袋空间的BM25评分[7]。短文本匹配的首要工作是文本数据的结构化表示,而词袋模型是应用最广泛、技术最成熟的文本表示方法。短文本经过词袋表示后可直接采用BM25模型计算概率相关度,亦可以采用矩阵分解技术将词袋模型转化至语义空间,然后采
收稿日期:2022-08-09
作者简介:陈乐(1995-),男,航天智慧能源研究院工程师,研究方向为机器学习与文本挖掘;王超(1979-),男,航天智慧能源研究院研究员,研究方向为信息系统集成设计;邹全(1985-),男,上海航天能源股份有限公司工程师,研究方向为大数据系统架构设计;王丹(1985-),女,上海航天能源股份有限公司工程师,研究方向为数据预处理技术;朱喜楠(1988-),男,上海航天能源股份有限公司工程师,研究方向为信息系统集成设计。本文通讯作者:陈乐。
2023 年软件导刊
用余弦相似度计算短文本间的语义相似度。
国内外学者针对上述两种方式已有诸多研究与应用。王云飞等[8]将词重叠、Jaccard、词频—逆文本频率(Term
Frequency-Inverse Document Frequency, TF-IDF)和潜在语义分析4种相似度评估方法应用于装配工作指令的评估,发现Jaccard方法模拟装配工作指令的相似度高于其他3种方法,但对同义或多义词不敏感;潜在语义分析方法同样对同义词或多义词不敏感度,但可用于检索自由文本的装备工作指令,避免了TF-IDF方法依赖于装配工作指令数据库的弊端;张玉芳等[9]将潜在语义分析模型参数概率化,有效解决了参数随机初始化问题,对后续文本聚类和文本匹配效果均有改善作用;王永智等[10]利用潜在语义分析进行特征抽取,消除了多义词和同义词在文本表示时造成的误差,使得文本分类具有更高精度;李楠等[11]采用BM25算法计算句子相似度,并与文本特征评分相加,通过选择评分最高的前几个句子便可简单高效地生成新闻摘要;陈乐乐等[12]利用BM25算法计算测试需求文本与测试样本文本的相似度得分,以此检测问题报告的正确性,实验结果表明该算法可有效提高去假和去重效率。
近年来,随着深度学习技术的不断发展,文本语义相似度计算与深度学习的融合也越来越紧密。例如,Wu 等[13]将长短期记忆网络(Long Short-Term Memory,LSTM)应用于文本相似度计算中,其同
时拥有短期和长期记忆,可获得文本的上下文语义信息,但缺乏重要信息的区分度,使得文本中的所有信息都具有相同权重;周圣凯[14]采用深度学习方法计算短文本语义相似度,将训练后的深度学习模型作为文本编码器对文本编码,然后计算编码后文本向量间的距离,最终将获得的距离数值作为文本相似度计算值。深度学习技术对训练样本具有较为严格的限制,对于长短不一的短文语料可能需要采用第三方语料库进行文本扩充,且对样本量需求较大,这对于特定领域的短文本匹配影响较大,如工控、制造和仿真等,因为这些领域的样本量较小,文本扩充难度较大。为克服短文本特征空间高维稀疏和语义空间信息薄弱的缺点,本文综合考虑潜在语义分析技术与BM25技术的优点和普适性,对二者进行有机结合,同时对BM25技术的内生缺陷加以分析改进,得到短文本综合相似度计算模型,以期提高文本相似度。
1 相关模型
1.1 词袋模型
词袋模型将每个文本向量化,向量中的每个维度即是文本集合中的所有特征词,其属性值可以是该词在对应文本中是否出现、出现频率,或者是加权值[15-16]。构建词袋模型最常用的方式之一便是TF-IDF,其是词频和逆文本频率两个度量指标的组合,其中词频表示一个特征词在对应文本中的出现次数,计算方式为:
tf(w,D)=f w N D(1)式中,tf(w,D)表示文本D中词w的频率,f w D表示文本D中词w的出现次数,N D表示文本D总词数。
逆文本频率表示包含某特征词的文本数与总文本数的比率,计算方式为:
idf(w,D)=1+log N
1+df()w(2)式中,idf(w,D)表示文本D中词w的逆文本频率,N表示文本集合的总篇数,df(w)表示存在词w的文本数。
将文本的词频向量与词的逆文本频率相乘,并进行L2规范化,可以得到最终的tfidf特征向量,计算方式为:
tfidf=tf
()
w,D×idf()
w,D
tf()
w,D×idf()
w,D
(3)式中,  ·表示欧几里得L2范数。
1.2 潜在语义模型
潜在语义分析运用矩阵分解技术从繁杂的文字数据中出词汇和文本所拥有的潜在语义关联性[17-18],其将原始特征词的词袋表示转化至潜在语义空间,在潜在语义空间中可以计算词汇间、文本间、词汇与文本间的语义相似度。词袋模型转潜在语义空间的过程如图1所示。可以看出,在原始词袋模型空间中,电脑和计算机被视为正交,即特征词之间相互独立,该假设显然不满足现实情况,但在转换后的语义空间中,电脑和计算机被视为语义层面的相似词汇。
截断奇异值分解(Truncated Singular Value Decomposi‐tion, TSVD)是潜在语义分析中最常用的矩阵分解技术之一[19],非常适用于基于TF-IDF模型所得特征词矩阵的分解,其分解示意如图2所示。
TSVD的数学描述为:
电脑
语义A
语义
B
Fig. 1 Process of bag of words model to latent semantic space
图1 词袋模型转潜在语义空间的过程
n
X U
k
⨯⨯
Fig. 2 TSVD matrix decomposition diagram
图2 TSVD矩阵分解示意
··72
第 7 期陈乐,王超,邹全,等:基于综合相似度的短文本匹配算法研究X ≈X k =U k Σk V T k
(4)
式中,X 表示原始特征词矩阵,X k 表示仅取前k 个奇异值所重构的特征词矩阵,U k 、V T k 分别表示具有k 个特征的文本语义空间和特征词语义空间,Σk 表示奇异值的对角矩阵。
2 短文本相似度计算
短文本相似度计算主要包含文本语义相似度和文本概率相关性计算两个方面,二者均基于原始文本语料的词袋表示。原始文本语料通过中文分词、英文词根还原和去停用词等预处理工作后,再经过TF-IDF 模型处理便可得到词袋表示。假设词袋表示为X ,由n 篇短文本的m 个特征词构成,第i 篇短文本的第j 个特征词的tfidf 值为x i ·j ,则X 表示为:
X =éëêêêêêêêêêêêêùû
úú
úúúúúúúúúúx 1·1  x 1·2  ⋯  x 1·m -1    x 1·m x 2·1  x 2·2  ⋯ x 2·m -1    x 2·m                  ⋯x n -1·1 x n -1·2 ⋯ x n -1·m -1 x n -1·m x n ·1    x n ·2  ⋯ x n ·m -1  x n ·m (5)
2.1 文本语义相似度
TSVD 模型通过指定k 个语义特征,将基于TF-IDF 模
型的词袋表示转至至低维语义空间,该空间中既包含特征词汇的语义表示,也包含文本的语义表示。将词袋表示X 经TSVD 分解可得到:
X ≈X k =U k Σk V T k
(6)
X ≈X k =éëêêêùûúúúu 1·1 ⋯ u 1·k      ⋯u n ·1 ⋯ u n ·k ×éëêêêêêêùûúúúúú
úΣ1 ⋯ 0    ⋯0  ⋯ Σk ×éëêêêùû
úúúv 1·1
⋯ v 1·m      ⋯
v k ·1 ⋯ v k ·m (7)在k 维语义空间中,U k 表示各文本的语义特征,V T k 表示特征词的语义特征。在度量文本或特征词之间的语义相似程度时,余弦相似度是非常有效的指标,常用于文本
拼写检查。余弦相似度通过计算U k 中各个文本k 维语义特征的余弦夹角来度量彼此的相似性,度量方式示意如图3所示,其中u 1和u 2夹角接近0°,余弦相似度接近1,彼此相似;u 1和u 3夹角接近90°,余弦相似度接近0,彼此不相似;u 1和u 4夹角接近180°,
余弦相似度接近-1,彼此不相似且相反。
短文本k 维语义特征余弦相似度计算方式为:
cs (u i ,u j )
=
∑z =1
k u
i ·z
u j ·z
∑z =1
k u 2i ·z
∑z =1
k
u
2
j ·z
(8)
式中,cs (u i ,u j )
∈[-1, 1]表示文本i 与文本j 的余弦
相似度,u i ·z 表示文本i 在语义空间第z 维的语义值,u j ·z 表示文本j 在语义空间第z 维的语义值。
2.2 改进文本概率相关性
BM25是基于词袋模型的文本检索技术,其通过输入
查询检索匹配文本,输入查询可以是单个文本,也可以是文本的集合[20]。BM25是一种基于概率相关性的模型,由一组完整的评分函数组合而成,计算公式为:
bm 25(x i ,x j )
=
∑q =1
m idf ()x
i ·q
·
f ()x i ·q ,x j ·()
k 1+1
f ()x i ·q
,x j
+k 1
·(
)
1-b +b ·
||x j
avgdl
(9)
式中,bm 25(x i ,x j )
表示文本x i 与文本x j 的概率相关性得分。
BM25公式主要由两部分构成:①文本x i =
(x
i ⋅1
,x i ⋅2,…,x i ⋅q )
中每个特征词x i ⋅q 的权重。该部分直接
基于文本语料集合,采用IDF 模型计算特征词的权重idf (x i ·q )
;②文本x i 中每个特征词x i ⋅q 与文本语料库各文本x j 的概率相关性。该部分综合考量文本x i 的特征词x i ·q 在
语料库文本x j 中的出现频率、语料库文本x j 的总长度和语料库文本平均词项长度。f (
x i ·q ,x j )
表示语料库文本x j 中特征词x i ·q 的频率,|x j |
表示文本x j 的总长度(词项个数),avgdl 表示语料库文本平均词项长度。此外,
还有两个超参数k 1和b ,其中k 1通常在[1.2,2.0]范围内,b 通常取值为0.75。
BM25计算公式的第②部分仅采用f (
x i ·q ,x j )
计算短文
本x j 所含特征词x i ·q 的频率,这种纯统计计算方式使得特征词缺乏语义层面的区分度,即无法区分含有相近语义特征词的文本相似度。例如,若文本x i 与文本x j 存在相似特征词,但不存在完全一致的特征词,将导致f (
x i ·q ,x j )
频率为0,则bm 25(x i ,x j )
得分为0,因此需要对BM25
计算公式加以修正,融入文本特征词的语义区分度考量。特征词语义区分度主要体现在两个方面,一是特征词非零语义维度的个数,即词袋模型经过矩阵分解后特征词语义空间的非零维度个数,这表明特征词所含语义信息的丰富程度可以
1
Fig. 3 Schematic representation of text semantic feature similarity
measure
图3 文本语义特征相似性度量示意
·
·
73
2023 年
软件导刊使用特征词语义维度的信息熵来衡量;二是非零语义维度的分布大小,这表明特征词各语义维度的表达强度可以使用特征词语义维度的方差来衡量。特征词语义区分度λ(x i ·q )
的计算公式为:
λ(x i ·q
)=
σ()v k i ⋅q
entropy ()
v k
i ⋅q
(10)
式中,v
k
i ⋅q
表示特征词x i ·q 在k 维语义空间的特征向
量,σ(v
k
i ⋅q
)表示特征词语义特征向量的标准差,计算方式
如(11)所示;entropy (v k i ⋅q
)表示特征词语义特征向量的信
息熵,计算方式如(12)所示。
σ(v k i ⋅q )
=
(11)
式(11)中,v
j
i ⋅q
表示特征词x i ·q 在k 维语义空间的第j 维
属性值,v ˉk i ⋅q 表示特征词x i ·q 的k 维语义特征平均值;
σ(v k i ⋅q )
用于衡量v k i ⋅q 在各语义维度的数值分布情况,
若σ(v k
i ⋅q
)较小,则表示v k i ⋅q 语义分布较为均匀,特征词含义总体趋于一致;若σ(v k i ⋅q
)较大,则表示v k i ⋅q
语义分布较为
分散,特征词含义总体差别较大。在文本匹配过程中,特征词含义差别较大的特征词应给予较高权重,故将σ(v k i ⋅q )
作为λ(x i ·q )计算公式的分子。
entropy (v k i ⋅q )
=-
(
|
|v k
i ⋅q
≠0
k
log |
|v 0
k
2
+
|
|v k i ⋅q
=0
k
log |
|v 0
k
2
)
(12)
式(12)中,|v k i ⋅q
|
≠0
表示k 维语义特征中属性值不为0
的特征个数,|v k i ⋅q
|
=0
表示k 维语义特征中属性值为0的特
征个数;entropy (v k i ⋅q )
用于衡量v k
i ⋅q 语义信息的倾斜情况,
若entropy (v k i ⋅q )较小,则表示v k i ⋅q 语义维度更偏向非零情
况;若entropy (v k
i ⋅q
)较大,则表示v
k
i ⋅q
语义维度在非零和偏
零之间均匀分布。在文本匹配过程中,语义维度更偏向非零情况的特征词应给予更高权重,故作为将entropy (v k i ⋅q )
作为λ(x i ·q )
计算公式的分母。
为避免当f (
x i ·q ,x j )
为零的情况下文本间的相似度无法衡量,结合BM25计算公式及特征词语义区分度计算公式可以得到修正后的Modified BM25计算公式,表示为:
mBm 25(x i ,x j )=
∑q =1
m idf ()x i ·q
·
()f ()x i ·q
,x j
+λ()x i ⋅q
·()k 1
+1f ()x i ·q
,x j
+k 1
·(
)
1-b +b ·
||x j
avgdl
(13)
3 基于综合相似度的短文本匹配算法
由前文可知,短文本k 维语义特征余弦相似度为
cs (u i ,u j )
,短文本改进BM25概率相关度为mBm 25(x i ,x j )
为综合考量短文本间的语义相似度和概率相关度,基于分类指标查准率与查全率融合得到F1综合评价指标的思想对两类得分进行调和平均,如此可以保障只有在两类得分均较高的情况下短文本的综合相似度才会高,计算方式为:
Cs -mBm 25(d i ,d j )
=
2
1
cs ()
d i ,d j
+
1
bm 25()
d i ,d j
(14)
短文本综合相似度计算流程如图4所示,首先对短文本语料进行预处理,包括中文分词、英文词根还原、关键词提取等,通过TF-IDF 模型将短文本的非结构化数据转为结构化数据,即词袋模型;然后通过TSVD 模型将词袋表示转化至语义空间,并计算短文本间的语义相似度,另一方面通过改进MBM25技术计算短文本间的概率相关度;最后对两类相似度得分进行调和平均,得到综合相似度得分。
计算完成短文本间的综合相似度后即可通过构建成对短文本相似度矩阵进行最佳匹配,基于综合相似度的短文本匹配算法步骤为:
输入:词袋表示X =(
x 1,x 2,…,x n )
,x i 表示m 维特征词向量;
奇异值个数k ;MBM25超参数k 1和b 1.使用TSVD 模型对X 进行矩阵分解,保留k 维的文本语义矩阵U k 和特征词语义矩阵V T k 。
2.for u n ⋅k ∈U k  do#
文本语义空间相似度
Fig. 4 Short text comprehensive similarity calculation process
图4 短文本综合相似度计算流程
··74
第 7 期陈乐,王超,邹全,等:基于综合相似度的短文本匹配算法研究3.cs (u i ,u j )
=
k u
i ·z
u j ·z
5.for v i ⋅q ∈T
k
6. σ(v k i ⋅q )
=
7. entropy (v k i ⋅q )
=-|
|v k i ⋅q
≠0
k
log |
|v 0
k
2
+
|
|v k i ⋅q
=0
k
log |
|v 0
k
2
)
8.λ(x i ·q )
=σ()v k i ⋅q
entropy ()
v k
i ⋅d for
10.for x i ,x j ∈X  do # 改进bm25概率相关度11.mBm 25(x i ,x j )=∑q =1m idf ()
x i ·q ·
()f ()x i ·q
,x j
+λ()x i ⋅q
·()
k 1
+1f ()x i ·q
,x j
+k 1
·(
)
1-b +b ·
||x j
avgdl
13.for d i ,d j ∈X  do # 综合相似度14. Cs -mBm 25(d i ,d j )
=2
1
cs ()
d i ,d j
+
1
bm 25()
d i ,d j
输出:短文本综合相似度矩阵
4 实验验证与结果分析
4.1 数据集
Chinese-STS-B (Chinese Semantic Textual Similarity B )
数据集常用于短文本句义相似性匹配实验,根据句子对的相似性程度分为6个分数等级,分数为5的句子对完全等
价,分数为0的句子对完全不一致。为得到更为准确的评估结果,本文将分数为4-5的句子对标记为1,将分数为0-1的句子对标记为0。标注过程中首先对评分为4-5的句子对进行过滤,随后统一写入标签1;然后对评分为0-1的句子对进行过滤,随后统一写入标签0;分数介于2-3之间的句子对则直接予以舍弃。
最终累计提取句子对4 473对,其中标记为1的句子对为1 875对,标记为0的句子对为2 598对。数据格式示例为:
"sen1": "女人切豆腐。","sen2": "一个女人在切豆腐。","label": 1
}{
"sen1": "有人在喂动物。",
"sen2": "有人在弹钢琴。",
"label": 0
4.2 评价指标
短文本匹配模型的性能可采用匹配准确率衡量,即正确匹配的文本对占所有文本对比率,准确率越高,匹配模
型性能越好。匹配准确率(Acc )计算方式为:
Acc =N label =1+N label =0
N
(15)
式中,N 表示短文本对总数,N label =1表示正确匹配标签为1的文本对数,N label =0表示正确匹配标签为0的文本对数。
本文将短文本对分为标签1和标签0两类,故采用F 1
分数精细衡量匹配模型对两类短文本对的匹配性能,计算方式为:
Precision =N label =1
N label =1+N
ˉlabel =1(16)Recall =N label =1
N label =1+N
ˉlabel =0(17)
F 1=2·
Precision ·Recall
Precision +Recall
(18)
式中,N
ˉlabel =1表示错误预测匹配标签为1的短文本数,N
ˉlabel =0表示错误预测匹配标签为0的短文本。4.3 结果分析
由于本文模型是文本语义相似度和概率相关度的综合运用,为验证其有效性,将其与4种模型进行比较,分别为:基于语义特征空间的短文本余弦相似度TSVD (Cosine Similarity )是一种经典的文本匹配模型,具有较好的语义识别性;基于词袋空间的短文本BM25概率相关度TF-IDF (BM25)模型使用概率统计模型,具有较好的稳定性;为了证明深度学习技术在特定领域少量短文本匹配方面的局限性,
引入DSSM (Deep Structured Semantic Model )框架(代码已开源),该模型需要的训练样本量较大,且文本长度较长时训练效果较好;仅修正BM25概率模型的匹配模型TF-IDF (Modified BM25)克服了传统概率统计中的缺陷,
匹配完备性更好。
truncated模型用什么软件在进行短文本匹配测试前需要先设置算法描述中的超参数,即TSVD 的k ,以及BM25中的k 1和b 。使用TSVD 模型进行特征词语义提取时需要预先指定语义空间的维度,即k 值,一般来说指定k 个奇异值的累计可解释方差贡献率需占全部可解释方差贡献率的85%以上。因此,本文以85%作为累计可解释方差贡献率的最低阈值(Thresh‐old ),以最低阈值对应的k 作为后续短文本匹配测试的超参数。
可解释累计方差贡献率随k 的变化曲线如图5所示。可以看出,随着奇异值k 不断增加,可解释累计方差贡献率也呈平滑曲线模式不断增加,当k =600时,可解释累计方差贡献率达到最低阈值,因此本文选取的最佳k 值为600。
·
·75

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。