文本语义相似度匹配方法、装置、电子设备及存储介质与流程

文档序号:28701413发布日期:2022-01-29 13:11阅读:87来源:国知局
文本语义相似度匹配方法、装置、电子设备及存储介质与流程

1.本发明涉及人工智能技术领域,尤其涉及一种文本语义相似度匹配方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.文本语义相似度匹配是自然语言处理领域的关键技术,常见的自然语言处理任务,如机器翻译、问答系统和网页搜索等,都可以归结为文本语义相似度匹配的问题。一般来说,根据文本长度的不同,可以将文本语义相似度匹配问题分为三类:短文本-短文本语义匹配、长文本-长文本语义匹配和长文本-短文本语义匹配。在不同的文本语义匹配类型中,需要采取不同的解决方案,才能取得更不错的效果。而当下的问题是:仅计算文本对的单一相似度,未考虑文本对中的文本在不同篇幅下的相似度,会使得文本语义不够充分,导致文本语义匹配不够准确。例如,短文本-短文本语义匹配中,仅计算两个短文本的相似度。因此,在实际应用中,会出现由于文本语义不够充分导致文本语义匹配计算不准确的问题。


技术实现要素:

3.本技术提供了一种文本语义相似度匹配方法、装置、电子设备及存储介质,以解决文本语义匹配计算不准确的问题。
4.第一方面,本技术提供了一种文本语义相似度匹配方法,所述方法包括:获取待匹配文本对,对所述待匹配文本对进行数据清洗及语言类型检测,得到具有语言类型标签的原始文本对;根据所述语言类型标签,计算所述原始文本对的文本长度,并根据所述文本长度对所述原始文本对进行长短类型文本对映射,得到短文本对及长文本对;计算所述短文本对的第一相似度,以及计算所述长文本对的第二相似度,对所述第一相似度及所述第二相似度进行加权计算,并将计算得到的加权相似度作为所述待匹配文本对的相似度匹配结果。
5.详细地,所述对所述待匹配文本对进行数据清洗及语言类型检测,得到具有语言类型标签的原始文本对,包括:对所述待匹配文本对中的文本数据进行数据异常检测,并剔除检测到的异常的文本数据,得到去异常文本对;利用预设的语言检测工具对所述去异常文本对进行语言类型检测,对检测完成的去异常文本对进行语言类型标注,得到所述具有语言类型标签的原始文本对。
6.详细地,所述根据所述文本长度对所述原始文本对进行长短类型文本对映射之前,所述方法还包括:获取预设数量的原始训练文本对,对所述原始训练文本对进行数据清洗处理,得到标准训练文本对;利用所述标准训练文本对分别对预构建的第一神经网络及预构建的第二神经网
络进行端到端的模型训练,得到第一文本映射模型及第二文本映射模型。
7.详细地,所述根据所述文本长度对所述原始文本对进行长短类型文本对映射,得到短文本对及长文本对,包括:根据所述文本长度判断所述原始文本对中两个文本的文本类型;利用所述第一文本映射模型将判断为长文本的文本映射为短文本;或利用所述第二文本映射模型将判断为短文本的文本映射为长文本;汇总映射前及映射后的文本,得到所述短文本对及长文本对。
8.详细地,所述根据所述文本长度判断所述原始文本对中两个文本的文本类型,包括:判断所述原始文本对中文本的文本长度是否大于等于预设的文本阈值;若文本的文本长度大于等于所述文本阈值,则文本类型判断为长文本;若文本的文本长度小于所述文本阈值,则文本类型判断为短文本。
9.详细地,所述计算所述短文本对的第一相似度,包括:利用lstm-dssm模型的输入层对所述短文本对中的文本进行向量转化,得到第一向量及第二向量;利用所述lstm-dssm模型的表示层分别对所述第一向量及第二向量进行向量解析,得到第一潜层语义向量及第二潜层语义向量;利用所述lstm-dssm模型的匹配层计算所述第一潜层语义向量及所述第二潜层语义向量的相似度,并将所述相似度作为所述第一相似度。
10.详细地,所述计算所述长文本对的第二相似度,包括:分别对所述长文本对中的文本进行特征选取,并根据选取的特征构建第一候选事件集合及第二候选事件集合;将所述第一候选事件集合及所述第二候选事件集合进行向量化处理,得到第一候选向量集合及第二候选向量事件集合;分别对所述第一候选向量集合及所述第二候选向量事件集合中的向量进行筛选,得到第一事件实例集合及第二事件实例集合;分别对所述第一事件实例集合及第二事件实例集合中的事件实例进行聚类,并计算两个事件实例集合中最靠近聚类中心的事件实例的事件相似度,并将所述事件相似度作为所述第二相似度。
11.第二方面,本技术提供了一种文本语义相似度匹配装置,所述装置包括:原始文本对构建模块,用于获取待匹配文本对,对所述待匹配文本对进行数据清洗及语言类型检测,得到具有语言类型标签的原始文本对;标准文本对构建模块,用于根据所述语言类型标签,计算所述原始文本对的文本长度,并根据所述文本长度对所述原始文本对进行长短类型文本对映射,得到短文本对及长文本对;文本语义匹配模块,用于计算所述短文本对的第一相似度,以及计算所述长文本对的第二相似度,对所述第一相似度及所述第二相似度进行加权计算,并将计算得到的加权相似度作为所述待匹配文本对的相似度匹配结果。
12.第三方面,提供了一种文本语义相似度匹配设备,包括处理器、通信接口、存储器
和通信总线,其中,处理器、通信接口、存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现第一方面任一项实施例所述的文本语义相似度匹配方法的步骤。
13.第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项实施例所述的文本语义相似度匹配方法的步骤。
14.本技术实施例提供的上述技术方案与现有技术相比具有如下优点:本发明通过对待匹配文本对进行数据清洗及语言类型检测,可以剔除无意义的字符,提高数据处理速率,同时对不同语言进行检测,根据语言类型标签来计算原始文本对的文本长度,提高了文本长度计算的准确率。并且,根据所述文本长度对所述原始文本对进行长短类型文本对映射,得到短文本对及长文本对,通过对短文本对及长文本对的相似度进行加权计算,充分考虑了待匹配文本对中两个文本在不同文本篇幅尺度下的相似度,提高了文本语义匹配计算的准确率。因此本发明提出的文本语义相似度匹配方法、装置、电子设备及计算机可读存储介质,可以解决文本语义匹配计算不准确的问题。
附图说明
15.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
16.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
17.图1为本技术实施例提供的一种文本语义相似度匹配方法的流程示意图;图2为本技术实施例提供的一种文本语义相似度匹配装置的模块示意图;图3为本技术实施例提供的一种实现文本语义相似度匹配方法的电子设备的结构示意图。
具体实施方式
18.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
19.图1为本技术实施例提供的一种文本语义相似度匹配方法的流程示意图。在本实施例中,所述文本语义相似度匹配方法包括:s1、获取待匹配文本对,对所述待匹配文本对进行数据清洗及语言类型检测,得到具有语言类型标签的原始文本对。
20.本发明实施例中,所述待匹配文本对可以为不同的nlp任务中的长文本或短文本,如信息检索、机器翻译、问答系统、复述问题及对话系统等。所述待匹配文本对包括短-短文本对、长-长文本对及长-短文本对。
21.详细地,所述对所述待匹配文本对进行数据清洗及语言类型检测,得到具有语言类型标签的原始文本对,包括:对所述待匹配文本对中的文本数据进行数据异常检测,并剔除检测到的异常的文本数据,得到去异常文本对;利用预设的语言检测工具对所述去异常文本对进行语言类型检测,对检测完成的去异常文本对进行语言类型标注,得到所述具有语言类型标签的原始文本对。
22.其中,所述语言类型检测包括中文检测及英文检测。
23.本发明实施例中,可以通过正则表达式检测所述文本数据中是否包含一些无意义的字符或者多余的标点符号,并将检测到的无意义的字符或者多余的标点符号,进行剔除。同时,由于中文英文的文本数据处理方式不一样,因此,本发明实施例可以使用python中的第三方库,如langdetect等对所述初始文本对进行语言类型的检测,例如,包含第一文本texta及第二文本textb的初始文本对context_pair{texta, textb}经过语言检测后,第一文本texta及第二文本textb均为中文。
24.s2、根据所述语言类型标签,计算所述原始文本对的文本长度,并根据所述文本长度对所述原始文本对进行长短类型文本对映射,得到短文本对及长文本对。
25.本发明实施例中,由于不同类型文本的文本长度计算方法不同,因此通过所述语言类型标签来计算不同语言的原始文本对的文本长度。其中,对于语言类型标签为英文来说,所述文本长度是单词的个数,对于语言类型标签为中文来说,所述文本长度是字的个数。详细地,本发明实施例中,可以通过函数len(text)计算得到标准文本对的文本长度。
26.详细地,本发明另一可选实施例中,所述根据所述文本长度对所述原始文本对进行长短类型文本对映射之前,所述方法还包括:获取预设数量的原始训练文本对,对所述原始训练文本对进行数据清洗处理,得到标准训练文本对;利用所述标准训练文本对分别对预构建的第一神经网络及预构建的第二神经网络进行端到端的模型训练,得到第一文本映射模型及第二文本映射模型。
27.本发明一可选实施例中,所述数据清洗与s1中数据清洗的步骤类似,在此不再赘述。所述第一文本映射模型用于将长文本映射为短文本,所述第二文本映射模型用于将短文本映射为长文本,所述第一神经网络和第二神经网络可以为深度神经网络(dnn),例如,以第一神经网络的训练为例,第一神经网络包括输入层、隐藏层及输出层,获取500对语义相同的长文本与短文本对作为原始训练文本对,经过数据清洗得到500对长-短文本对作为训练样本,其中,表示长文本,表示短文本,将作为输入向量,作为输出向量,需要利用这m个样本训练出一个模型,当有新的文本时,可以预测得到对应的,即将长文本映射为短文本。首先将输入向量输入到输出层,通过预设的损失函数(均方差损失等)不断调整隐藏层及输出层的参数,直至让所有的训练样本输入计算出的输出尽可能的等于或很接近样本输出,得到所述第一文本映射模型。
28.本发明另一可选实施例中,第二文本映射模型的训练方法与第一文本映射模型的训练方法类似,仅需互换输入向量及输出向量即可,在此不再赘述。
29.具体地,所述根据所述文本长度对所述原始文本对进行长短类型文本对映射,得到短文本对及长文本对,包括:根据所述文本长度判断所述原始文本对中两个文本的文本类型;利用所述第一文本映射模型将判断为长文本的文本映射为短文本;或利用所述第二文本映射模型将判断为短文本的文本映射为长文本;汇总映射前及映射后的文本,得到所述短文本对及长文本对。
30.进一步地,所述根据所述文本长度判断所述原始文本对中两个文本的文本类型,包括:判断所述原始文本对中文本的文本长度是否大于等于预设的文本阈值;若文本的文本长度大于等于所述文本阈值,则文本类型判断为长文本;若文本的文本长度小于所述文本阈值,则文本类型判断为短文本。
31.本发明一可选实施例中,所述预设的文本阈值可以设置为300。
32.例如,len(texta)≥300且len(textb) ≥300,则texta和textb都是长文本,文本对为长-长文本对; len(texta)<300且len(textb) <300,则texta和textb都是短文本,文本对为短-短文本对; len(texta)<300、len(textb)≥300,或len(textb)<300、len(texta)≥300,则文本对为长-短文本对。
33.本发明实施例中,由于原始文本对中的第一文本及第二文本的长度可能不一样,利用所述第一文本映射模型将长文本映射为短文本,利用第二文本映射模型将短文本映射为长文本,从而对于任意类型的原始文本对均可以得到两个文本对,即短-短文本对(短文本对)及长-长文本对(长文本对)。
34.s3、计算所述短文本对的第一相似度,以及计算所述长文本对的第二相似度,对所述第一相似度及所述第二相似度进行加权计算,并将计算得到的加权相似度作为所述待匹配文本对的相似度匹配结果。
35.一般来说,文本越长,语义的重要性就越高,因此,处理长、短文本的模型是不一样的,针对不同类型的文本对使用不同的匹配策略计算语义相似度计算,可以提高计算的准确性。
36.本发明实施例中,可以使用lstm-dssm(long short term memory-deep structured semantic models)模型等对所述短文本对进行相似度匹配。所述lstm-dssm模型可以不用分词,直接计算两个文本语义相似度。所述lstm-dssm模型包括输入层、表示层及匹配层,其中,输入层用来把句子映射到一个向量空间里并输入到表示层的 dnn(deep neural networks,深度神经网络)中;表示层采用lstm模型的方式,来获取到文本的上下文信息,得到语义向量;匹配层通过计算两者的语义向量的余弦距离来得到匹配结果。
37.详细地,所述计算所述短文本对的第一相似度,包括:利用lstm-dssm模型的输入层对所述短文本对中的文本进行向量转化,得到第一向量及第二向量;利用所述lstm-dssm模型的表示层分别对所述第一向量及第二向量进行向量解析,得到第一潜层语义向量及第二潜层语义向量;利用所述lstm-dssm模型的匹配层计算所述第一潜层语义向量及所述第二潜层语义向量的相似度,并将所述相似度作为所述第一相似度。
38.本发明一可选实施例中,可以利用下述余弦公式计算所述第一潜层语义向量及所述第二潜层语义向量的相似度:其中,为所述短文本对中的第一文本,为所述短文本对中的第二文本,为第一潜层语义向量,表示第二潜层语义向量。
39.本发明一可选实施例中,在所述lstm-dssm模型的输入层中,对英文和中文的处理方式不同,对于英文处理:通过词散列(word hashing),比如可以用letter-trigrams(可替代技术)来将每个单词映射到向量空间,这样做的好处不仅可以压缩空间,达到降维的效果,例如,50万个词的one-hot向量空间可以通过letter-trigram压缩为一个3万维的向量空间;对于中文处理:中文一般需要分词,但是往往在分词阶段就会引入误差。故这里不分词,而是仿照英文的处理方式,以字为单位进行向量映射处理。例如,常用的单字大约是1.5万个,而常用的双字则到达了百万级别,出于向量空间的考虑,直接采用字向量(one-hot)作为输入,向量空间约为1.5万维。
40.本发明一可选实施例中,表示层采用lstm模型的方式,这样可以确保向量获取到了文本的上下文信息。即把输入层的整个句子向量送入lstm,通过lstm,得出最后输出的状态向量,作为潜层语义向量。
41.本发明一可选实施例中,匹配层采用余弦距离来计算第一文本(texta)及第二文本(texta)的匹配结果。
42.本发明实施例中,由于短-短类型的文本对的文本长度较小,通过使用lstm-dssm模型,不用进行分词,直接进行向量转化,再计算相似度的方式可以减少了误差的输入,提高文本对的计算准确率。
43.详细地,所述计算所述长文本对的第二相似度,包括:分别对所述长文本对中的文本进行特征选取,并根据选取的特征构建第一候选事件集合及第二候选事件集合;将所述第一候选事件集合及所述第二候选事件集合进行向量化处理,得到第一候选向量集合及第二候选向量事件集合;分别对所述第一候选向量集合及所述第二候选向量事件集合中的向量进行筛选,得到第一事件实例集合及第二事件实例集合;分别对所述第一事件实例集合及第二事件实例集合中的事件实例进行聚类,并计算两个事件实例集合中最靠近聚类中心的事件实例的事件相似度,并将所述事件相似度作为所述第二相似度。
44.本发明一可选实施例中,所述计算所述长文本对的第二相似度包括:步骤a、对所述长文本对中的两个长文本分别进行分词、标注等处理,在分词的基础上选取句子的特征(包括长度、位置、命名实体的数量、词语的数量、时间的个数等),得到第一候选事件集合及第二候选事件集合。本发明实施例中,只有当一个句子含有事件特征时才构成候选事件,否则为非候选事件(相当于有了标签);步骤b、在所述特征的基础上,利用vsm(vector space model,向量空间模型)对所述候选事件集合进行向量表示,并选用svm(支持向量机)或者利用常用的经过预训练的网络,如cnn等,完成事件实例的筛选,得到第一事件实例集合及第二事件实例集合;
步骤c、最后采用k-均值方法算法对所述第一事件实例集合及第二事件实例集合进行聚类,得到k个类,其中,每个类表示的是同一个文本中不同实例的集合,选取每个类中最靠近中心点的事件实例作为对文本的描述,并计算相似度作为第二相似度。
45.本发明实施例中,对于长-长类型的文本对,通过语义压缩(计算事件实例)的方式,将长文本转换为短文本,再进行匹配计算,提高了匹配计算的效率及准确率。
46.进一步地,所述对所述第一相似度及所述第二相似度进行加权计算,包括:利用下述加权公式计算所述第一相似度及所述第二相似度的加权相似度:其中,为所述加权相似度,、为预设的权重,为所述第一相似度,为所述第二相似度。
47.本发明实施例中,通过将两个相似度加权相加得到加权相似度,可以同时利用两个端到端模型进行训练的结果,充分考虑了待匹配文本对中两个文本在不同文本篇幅尺度下的相似度,提高了文本语义匹配的准确度。
48.本发明通过对待匹配文本对进行数据清洗及语言类型检测,可以剔除无意义的字符,提高数据处理速率,同时对不同语言进行检测,根据语言类型标签来计算原始文本对的文本长度,提高了文本长度计算的准确率。并且,根据所述文本长度对所述原始文本对进行长短类型文本对映射,得到短文本对及长文本对,通过对短文本对及长文本对的相似度进行加权计算,充分考虑了待匹配文本对中两个文本在不同文本篇幅尺度下的相似度,提高了文本语义匹配计算的准确率。因此本发明提出的文本语义相似度匹配方法,可以解决文本语义匹配计算不准确的问题。
49.如图2所示,本技术实施例提供了一种文本语义相似度匹配装置10的模块示意图,所述文本语义相似度匹配装置10,包括:所述标准文本对构建模块11、所述文本对类型判断模块12和所述策略匹配及相似度计算模块13。
50.所述原始文本对构建模块11,用于获取待匹配文本对,对所述待匹配文本对进行数据清洗及语言类型检测,得到具有语言类型标签的原始文本对;所述标准文本对构建模块12,用于根据所述语言类型标签,计算所述原始文本对的文本长度,并根据所述文本长度对所述原始文本对进行长短类型文本对映射,得到短文本对及长文本对;所述文本语义匹配模块13,用于计算所述短文本对的第一相似度,以及计算所述长文本对的第二相似度,对所述第一相似度及所述第二相似度进行加权计算,并将计算得到的加权相似度作为所述待匹配文本对的相似度匹配结果。
51.详细地,本技术实施例中所述文本语义相似度匹配装置10中的各模块在使用时采用与上述的图1中所述的文本语义相似度匹配方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
52.如图3所示,本技术实施例提供了一种电子设备,包括处理器111、通信接口112、存储器113和通信总线114,其中,处理器111、通信接口112、存储器113通过通信总线114完成相互间的通信;存储器113,用于存放计算机程序;在本技术一个实施例中,处理器111,用于执行存储器113上所存放的程序时,实现
前述任意一个方法实施例提供的文本语义相似度匹配方法,包括:获取待匹配文本对,对所述待匹配文本对进行数据清洗及语言类型检测,得到具有语言类型标签的原始文本对;根据所述语言类型标签,计算所述原始文本对的文本长度,并根据所述文本长度对所述原始文本对进行长短类型文本对映射,得到短文本对及长文本对;计算所述短文本对的第一相似度,以及计算所述长文本对的第二相似度,对所述第一相似度及所述第二相似度进行加权计算,并将计算得到的加权相似度作为所述待匹配文本对的相似度匹配结果。
53.上述通信总线114可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线114可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
54.通信接口112用于上述电子设备与其他设备之间的通信。
55.存储器113可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器113还可以是至少一个位于远离前述处理器111的存储装置。
56.上述的处理器111可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
57.本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任意一个方法实施例提供的文本语义相似度匹配方法的步骤。
58.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。
59.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在
涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
60.以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1