CN115687567A - 一种不需要标注数据的短文本搜索相似长文本方法 - Google Patents

一种不需要标注数据的短文本搜索相似长文本方法 Download PDF

Info

Publication number
CN115687567A
CN115687567A CN202211257970.0A CN202211257970A CN115687567A CN 115687567 A CN115687567 A CN 115687567A CN 202211257970 A CN202211257970 A CN 202211257970A CN 115687567 A CN115687567 A CN 115687567A
Authority
CN
China
Prior art keywords
text
short
long
texts
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.)
Pending
Application number
CN202211257970.0A
Other languages
English (en)
Inventor
曹肖攀
张峻崎
范鹏
麻存义
顾太龙
赵凯文
张喜强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Wanwei Information Technology Co Ltd
Original Assignee
China Telecom Wanwei Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Telecom Wanwei Information Technology Co Ltd filed Critical China Telecom Wanwei Information Technology Co Ltd
Priority to CN202211257970.0A priority Critical patent/CN115687567A/zh
Publication of CN115687567A publication Critical patent/CN115687567A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于自然语言搜索处理技术领域,具体涉及一种不需要标注数据的短文本搜索相似长文本方法。即根据一批未进行标注的原始长文本,进行分句、关键词提取、建立长短句映射关系、长短句关系对作为输入源;长短句关系对分别进行长文本编码和短文本编码,分别得到文本特征表示;模型学习,利用对比学习CLIP手段,使得一个批次训练数据存在长短句映射关系的余弦相似度最大,否则尽量小,不存在长短句映射关系的余弦相似度最小,每次保存模型后,将数据打乱,增大负样本出现的概率。本发明创新点主要体现在:将关键词抽取和基于CLIP架构的对比学习技术结合,实现了一种完全无需对用户数据进行标注就可以实现基于深度学习语义表示的搜索模式,同时采用gMLP作为文本编码器,可以有效的用于知识检索。

Description

一种不需要标注数据的短文本搜索相似长文本方法
技术领域
本发明属于自然语言搜索处理技术领域,具体涉及一种不需要标注数据的短文本搜索相似长文本方法。
背景技术
文本搜索是指应用程序接收用户输入文本,并向使用者返回搜索结果的过程。一般包括文本与文本之间的搜索、图片与文本之间的搜索推荐等。而短文本搜索长文本这样的任务在推荐搜索、聊天机器人、知识问答等领域中应用场景中意义重大。基于深度学习的短文本搜索长文本已经逐渐成为业界的主流,但是数据标注耗费大量的人力资源,同时繁琐的标注工作降低人们的幸福感,而且目前相关技术中提供的分词+全文检索的搜索方案,难以为用户提供较好的反馈,这成为有监督深度学习短文本搜索长文本的痛点和难点。本发明提出了一种不需要标注数据的短文本搜索长文本技术方案有效的解决了这一问题。
发明内容
本发明提供一种不需要标注数据的短文本搜索相似长文本的技术方案,至少在一定程度上克服了相关技术中的有监督方案初期难以标注数据的技术问题。本发明的其他特性和优势将通过以下的详细描述变得清晰,或部分通过具体实施进行说明。
本发明提出了一种不需要标注数据的短文本搜索长文本技术方案,具体包括如下步骤:
步骤1,文本数据处理:将数据进行相对应的处理,以保证数据不受其它额外特征的影响;具体的,文本数据中存在各种各样的不符合标准文本的噪音文本,例如文本中存在HTML标签、空白文本、重复多个字词、大小写不统一,对一些常见的噪音进行处理,包括但不限于过滤HTML标签、大小写统一、文本编码格式统一、空白字符去除、删除重复字符,将噪音文本处理成比较干净的文本数据;
步骤2,关键词抽取:依据自定义算法或三方工具对数据中的每条文本进行关键词抽取的操作,以得到每个文本的关键词列表;例如现有一系列文本即多个文本,使用jieba分词工具对每个文本进行分词形成一个个词语,统计各个词语的词频,词语在文本中的出现频率,计算idf逆文档频率,进行统计存储,当出现新的文本时,依旧进行分词,统计词频,再与事先统计好的idf值计算tfidf值,分值较高则为该文本关键词,取多个,即可得到关键词列表;
步骤3,分句并筛选短句:将每条数据按照自定义标点符号进行分割,得到一个个短句,再将短句中存在关键词的短句筛选出来作为输入短文本集合;本案中规定长文本为不经分句的每条数据,即原文本数据,短文本即对原文本数据按标点符号进行分割的每个句子,特别的,对于文本数据中没有标点符号可供分句时,则短文本和长文本都为该条数据文本;
步骤4,生成关系对:将步骤3中的每条文本的短句集合依次与对应的长文本建立一一对应的映射关系,做为模型输入源;
步骤5,文本编码表示:将步骤4中的输入源的长短文本分别输入长文本编码器和短文本编码器,具体的,长文本编码器和短文本编码器按照约定,都采用相同结构的gMLP编码器结构,即采用6层相同的block块,每个块包括多头自注意力层、归一化残差连接层、前馈神经网络层和归一化残差连接层,最终通过这样的长短文本编码器分别得到长短文本的文本语义编码表示;
步骤6,训练模型:将步骤5中的长短文本编码表示输入模型,根据已设定好的网络结构和损失函数优化等进行模型训练;
步骤7,文本预测:将用户输入的短文本通过短文本编码器做语义表示,经过模型搜索最相似的长文本,最终得到输出结果。
本发明的技术方案,具有如下优点:不需要标注数据即可进行深度学习短文本搜索长文本模型的训练,解决了项目前期因数据匮乏,需要大量标注人员进行标注,导致的效率低下等问题。
短文本搜索长文本技术广泛应用于知识检索领域,比如现在有一批人工智能领域的相关技术文章 ,当用户输入一段人工智能领域的一小段知识,能够推荐相关的人工智能领域的技术文本,从而能够方便用户快速掌握自己所需要的知识。本发明提出了一种不需要标注数据的短文本搜索相似长文本的技术方案,即根据一批未进行标注的原始长文本,进行分句、关键词提取、建立长短句映射关系、长短句关系对作为输入源;长短句关系对分别进行长文本编码和短文本编码,分别得到文本特征表示;模型学习,利用对比学习CLIP手段,使得一个批次训练数据存在长短句映射关系的余弦相似度最大,否则尽量小,不存在长短句映射关系的余弦相似度最小,每次保存模型后,将数据打乱,增大负样本出现的概率。本发明创新点主要体现在:将关键词抽取和基于CLIP架构的对比学习技术结合,实现了一种完全无需对用户数据进行标注就可以实现基于深度学习语义表示的搜索模式,同时采用gMLP作为文本编码器,可以有效的用于知识检索。
附图说明
图1为本发明的整体网络结构架构图;
图2为gMLP文本编码器使用流程。
具体实施方案
下面将结合附图1和2对本发明的技术方案做进一步说明。
本发明提出了一种不需要标注数据的短文本搜索长文本技术方案,具体包括如下步骤:
步骤1,文本数据处理:将数据进行相对应的处理,以保证数据不受其它额外特征的影响;具体的,文本数据中存在各种各样的不符合标准文本的噪音文本,例如文本中存在HTML标签、空白文本、重复多个字词、大小写不统一,对一些常见的噪音进行处理,包括但不限于过滤HTML标签、大小写统一、文本编码格式统一、空白字符去除、删除重复字符,将噪音文本处理成比较干净的文本数据;
步骤2,关键词抽取:依据自定义算法或三方工具对数据中的每条文本进行关键词抽取的操作,以得到每个文本的关键词列表;例如现有一系列文本即多个文本,使用jieba分词工具对每个文本进行分词形成一个个词语,统计各个词语的词频,词语在文本中的出现频率,计算idf逆文档频率,进行统计存储,当出现新的文本时,依旧进行分词,统计词频,再与事先统计好的idf值计算tfidf值,分值较高则为该文本关键词,取多个,即可得到关键词列表;
步骤3,分句并筛选短句:将每条数据按照自定义标点符号进行分割,得到一个个短句,再将短句中存在关键词的短句筛选出来作为输入短文本集合;本案中规定长文本为不经分句的每条数据,即原文本数据,短文本即对原文本数据按标点符号进行分割的每个句子,特别的,对于文本数据中没有标点符号可供分句时,则短文本和长文本都为该条数据文本;
步骤4,生成关系对:将步骤3中的每条文本的短句集合依次与对应的长文本建立一一对应的映射关系,做为模型输入源;
步骤5,文本编码表示:将步骤4中的输入源的长短文本分别输入长文本编码器和短文本编码器,具体的,长文本编码器和短文本编码器按照约定,都采用相同结构的gMLP编码器结构,即采用6层相同的block块,每个块包括多头自注意力层、归一化残差连接层、前馈神经网络层和归一化残差连接层,最终通过这样的长短文本编码器分别得到长短文本的文本语义编码表示;
步骤6,训练模型:将步骤5中的长短文本编码表示输入模型,根据已设定好的网络结构和损失函数优化等进行模型训练;
步骤7,文本预测:将用户输入的短文本通过短文本编码器做语义表示,经过模型搜索最相似的长文本,最终得到输出结果。
在步骤1中,所述相对应的操作具体方法为:将数据文本进行大小写统一、文本编码格式统一、空白字符去除操作对文本进行降噪处理,免去这些特征对后续结果的影响。
在步骤2中,所述关键词抽取具体方法为:使用tf-idf算法计算每个文本中的词的重要程度(tf为词频,idf为所有文档的逆文档频率,tf-idf则为两项乘积),按重要程度排序,选取一定数量的关键词作为该条文本候选关键词集合。
在步骤3中,所述分句具体操作为:预先定义好的分割符,即相关标点符号,一般取句号、感叹号、分号等,以这些作为分隔符对文本进行分句操作,特别地,当文本中没有标点符号作为分隔符时,则使用原始文本作为分句后的结果;所述筛选短句具体操作为:将步骤2中的关键词列表作为基准,依次判断短句中是否存在相关关键词,若有则保留该短句,否则去除该条不相关的短句,从而获得最终的短句集合。
在步骤4中,所述生成关系对具体操作为:设每条文本为x,x分句后的的短句列表为[x1,x2,x3,...,xn],则该条文本生成的关系对即为(x1,x)、(x2,x)、(x3,x)等短文本长文本的关系对,每一条文本都进行相关操作,最终得到一系列的短文本-长文本关系对,来作为编码前的文本输入源。
在步骤5中,所述文本编码表示具体操作为:将关系对中的长文本和短文本经过初始文本嵌入操作,即文本向量化,分别输入两个文本编码器,分别为长文本编码器和短文本编码器,两个文本编码器都是用gMLP网络结构来进行编码表示,此时数据维度大小分别为[batch_size, max_len_long, d_model],[batch_size, max_len_short, d_model];让数据经过多层gMLP特征提取器得到输出表示,此时数据维度大小分别为[batch_size, max_len_long, d_model],[batch_size, max_len_short, d_model];然后将输出表示的第一个token的向量作为文本编码器整体的语义表示(取第一个,是因为经过gMLP架构的编码器后,输出向量的第一个token的向量表示通常可以作为文本整体的语义表示来使用;也因为以此来消除一个维度的表示对于后续张量计算来说更加方便),此时输出向量的维度变为了[batch_size, d_model],再将第二个维度,同时除以该维度的2范数(2范数用以向量归一化),最终得到长短文本对应的文本语义表示。。参数说明:batch_size为批量文本数量;max_len_long为所设定的输入长文本编码器模型的最大文本序列长度;max_len_short为所设定的输入短文本编码器模型的最大文本序列长度;d_model为文本特征表示的维度。
在步骤6中,所述具体操作方法为:通过步骤5得到的长短文本语义表示向量维度均为[batch_size,d_model],将短文本的文本语义表示维度不变,长文本语义表示维度进行转置,则长文本语义表示维度变为[d_model,batch_size],此时将长短文本语义表示向量进行张量相乘计算,得到维度为[batch_size,batch_size]的张量,这个张量的对角线元素即为短文本和对应的长文本之间的余弦相似度,而模型优化目标就是使得对角线元素的值每一个都最大,其他位置的值都最小。(对角线元素,则是正样本的相似度,非对角线元素,就是所谓负样本的相似度,即是一个关系对的样本就是正样本),模型的损失函数使用堆成的交叉熵损失函数,通过这样的目标和损失函数,来通过数据进行模型训练,最终得到模型参数。
在步骤7中,根据权利要求1所述方法,其特征在于:在步骤S6中,所述具体操作方法为:通过步骤S5得到的长短文本语义表示向量维度均为[batch_size,d_model],将短文本的文本语义表示张量大小为[d_model,batch_size]通过faiss搜索工具搜索最相似的相似度最高的语义向量,并取出该向量对应索引的对应长文本,即完成短文本搜索长文本任务。

Claims (7)

1.一种不需要标注数据的短文本搜索相似长文本技术方案,其特征在于:所述搜索方法主要包括:
S1、文本数据预处理,文本数据中存在不符合标准文本的噪音文本,文本中存在HTML标签、空白文本、重复多个字词、大小写不统一等噪音文本,对噪音进行处理,过滤HTML标签、大小写统一文本编码格式统一、空白字符去除、删除重复字符,将噪音文本处理成比较干净的文本数据;
S2、关键词抽取,依据第三方工具jieba等对数据中的每条文本进行关键词抽取的操作,以得到每个文本的关键词列表;一系列文本即多个文本,使用jieba分词工具对每个文本进行分词形成一个个词语,统计各个词语的词频,词语在文本中的出现频率,计算idf逆文档频率,进行统计存储,当出现新的文本时进行分词,统计词频,再与事先统计好的idf值计算tfidf值,分值较高则为该文本关键词,取多个,即可得到关键词列表;
S3、分句并筛选短句,将每条数据按照自定义标点符号进行分割,得到一个个短句,再将短句中存在关键词的短句筛选出来作为输入短文本集合;此处长文本为不经分句的每条数据,即原文本数据,短文本即对原文本数据按标点符号进行分割的每个句子,对于文本数据中没有标点符号可供分句时,则短文本和长文本都为该条数据文本,在模型中约定短文本输入模型的最大长度为25,长文本输入模型的最大长度为200;
S4、生成长短文本映射关系对,将步骤S3中的每条文本的短句集合依次与对应的长文本建立一一对应的映射关系,做为模型输入源;
S5、文本编码表示,将步骤S4中的输入源的长短文本分别输入长文本编码器和短文本编码器,具体的,长文本编码器和短文本编码器采用相同结构的gMLP编码器结构,采用6层相同的block块,每个块包括多头自注意力层、归一化残差连接层、前馈神经网络层和归一化残差连接层,通过长短文本编码器分别得到长短文本的文本语义编码表示,gMLP具有空间投影门控单元,该空间投影门控单元比Transformer中多头注意力机制计算量少,通过一层层的编码,每个文本中的token能够通过该门控单元感受到其他token信息;
S6、 训练模型,将步骤S5中的长短文本编码表示输入模型,根据已设定好的网络结构和损失函数优化等进行模型训练,使得短文本和对应所在的长文本的语义表示向量的余弦相似度尽量为1,而该短文本和对应不在的长文本语义表示向量的余弦相似度尽量为0,最终完成模型保存;
S7、文本搜索,将用户的所有长文本通过长文本编码器全部做语义表示,并离线存储好;将用户输入的短文本通过短文本编码器做语义表示,经过模型搜索最相似的长文本,最终得到输出结果。
2.根据权利要求1所述一种基于语义的不需标注数据的短文本搜索长文本方法,其特征在于:步骤S2中关键词抽取具体方法为:使用tf-idf算法计算每个文本中的词的重要程度,tf为词频,idf为所有文档的逆文档频率,tf-idf则为两项乘积,选取多个的关键词作为该条文本候选关键词集合。
3.根据权利要求1所述一种基于语义的不需标注数据的短文本搜索长文本方法,其特征在于:在步骤S3中分句具体操作为:预先定义好的分割符,即相关标点符号,一般取句号、感叹号、分号,作为分隔符对文本进行分句操作,当文本中没有标点符号作为分隔符时,则使用原始文本作为分句后的结果;所述筛选短句具体操作为:将步骤S2中的关键词列表作为基准,依次判断短句中是否存在相关关键词,若有则保留该短句,否则去除该条不相关的短句,从而获得最终的短句集合。
4.根据权利要求1所述一种基于语义的不需标注数据的短文本搜索长文本方法,其特征在于:在步骤S4中生成关系对具体操作为:设每条文本为x,x分句后的的短句列表为[x1,x2,x3,...,xn],则该条文本生成的关系对即为(x1,x)、(x2,x)、(x3,x)等短文本长文本的关系对,每一条文本都进行自身短句和自身的映射操作,最终得到一系列的短文本-长文本映射关系对,来作为编码前的文本输入源。
5.根据权利要求1所述一种基于语义的不需标注数据的短文本搜索长文本方法,其特征在于:在步骤S5中文本编码表示具体操作为:将关系对中的长文本和短文本经过初始文本嵌入操作,即文本向量化,分别输入两个文本编码器,分别为长文本编码器和短文本编码器,两个文本编码器都是用gMLP网络结构来进行编码表示,分别输入长短文本输入编码器前的数据张量维度分别为[batch_size, max_len_long],[batch_size, max_len_short];让长短文本数据分别经过多层gMLP特征提取器得到输出表示,此时语义表示张量维度分别为[batch_size, max_len_long, d_model],[batch_size, max_len_short, d_model];然后将输出表示的第一个token的向量作为文本编码器整体的语义表示,此时输出张量的维度变为了[batch_size, d_model],再将第二个维度,同时除以该维度的2范数,2范数用以向量归一化,得到最终的长短文本对应的文本语义表示;参数说明:batch_size为批量文本数量;max_len_long为所设定的输入长文本编码器模型的最大文本序列长度;max_len_short为所设定的输入短文本编码器模型的最大文本序列长度;d_model为文本特征表示的维度。
6.根据权利要求1所述一种基于语义的不需标注数据的短文本搜索长文本方法,其特征在于:在步骤S6中具体操作方法为:通过步骤S5得到的长短文本语义表示向量维度均为[batch_size,d_model],将短文本的文本语义表示张量不变,长文本语义表示张量进行转置,则长文本语义表示维度变为[d_model,batch_size],此时将长短文本语义表示进行张量相乘计算,得到维度为[batch_size,batch_size]的张量,这个张量的对角线元素即为短文本和对应的长文本之间的余弦相似度,而模型优化目标就是使得对角线元素的值最大,其他位置的值最小,对角线元素,则是正样本的相似度,非对角线元素,就是所谓负样本的相似度,即是一个关系对的样本就是正样本,模型的损失函数使用堆成的交叉熵损失函数,通过这样的目标和损失函数,来通过数据进行模型训练,最终得到模型参数。
7.根据权利要求1所述一种基于语义的不需标注数据的短文本搜索长文本方法,其特征在于:在步骤S6中具体操作方法为:通过步骤S5得到的长短文本语义表示向量维度均为[batch_size,d_model],将短文本的文本语义表示张量大小为[d_model,batch_size]通过faiss搜索工具搜索最相似的相似度最高的语义向量,并取出该向量对应索引的对应长文本,即完成短文本搜索长文本任务。
CN202211257970.0A 2022-10-14 2022-10-14 一种不需要标注数据的短文本搜索相似长文本方法 Pending CN115687567A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211257970.0A CN115687567A (zh) 2022-10-14 2022-10-14 一种不需要标注数据的短文本搜索相似长文本方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211257970.0A CN115687567A (zh) 2022-10-14 2022-10-14 一种不需要标注数据的短文本搜索相似长文本方法

Publications (1)

Publication Number Publication Date
CN115687567A true CN115687567A (zh) 2023-02-03

Family

ID=85065814

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211257970.0A Pending CN115687567A (zh) 2022-10-14 2022-10-14 一种不需要标注数据的短文本搜索相似长文本方法

Country Status (1)

Country Link
CN (1) CN115687567A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115861663A (zh) * 2023-03-01 2023-03-28 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 一种基于自监督学习模型的文档图像内容比对方法
CN116092479A (zh) * 2023-04-07 2023-05-09 杭州东上智能科技有限公司 一种基于对比文本-音频对的文本韵律生成方法和系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115861663A (zh) * 2023-03-01 2023-03-28 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 一种基于自监督学习模型的文档图像内容比对方法
CN116092479A (zh) * 2023-04-07 2023-05-09 杭州东上智能科技有限公司 一种基于对比文本-音频对的文本韵律生成方法和系统
CN116092479B (zh) * 2023-04-07 2023-07-07 杭州东上智能科技有限公司 一种基于对比文本-音频对的文本韵律生成方法和系统

Similar Documents

Publication Publication Date Title
CN107798140B (zh) 一种对话系统构建方法、语义受控应答方法及装置
CN110275936B (zh) 一种基于自编码神经网络的相似法律案例检索方法
CN110020438A (zh) 基于序列识别的企业或组织中文名称实体消歧方法和装置
CN111291188B (zh) 一种智能信息抽取方法及系统
CN115687567A (zh) 一种不需要标注数据的短文本搜索相似长文本方法
CN111428490B (zh) 一种利用语言模型的指代消解弱监督学习方法
CN111680494A (zh) 相似文本的生成方法及装置
CN110781290A (zh) 一种长篇章结构化文本摘要提取方法
CN114153971B (zh) 一种含错中文文本纠错识别分类设备
CN115759119B (zh) 一种金融文本情感分析方法、系统、介质和设备
CN113065349A (zh) 基于条件随机场的命名实体识别方法
CN112926340A (zh) 一种用于知识点定位的语义匹配模型
Ma et al. Joint pre-trained Chinese named entity recognition based on bi-directional language model
CN115840815A (zh) 基于指针关键信息的自动摘要生成方法
CN114169325B (zh) 基于词向量表征的网页新词发现和解析方法
CN113157914B (zh) 一种基于多层循环神经网络的文档摘要提取方法及系统
CN112668318A (zh) 基于时间序列的作品作者识别方法
Datta et al. A comprehensive analytical study of traditional and recent development in natural language processing
Nezhadi et al. Text language identification using signal processing techniques
CN117875268B (zh) 一种基于分句编码的抽取式文本摘要生成方法
CN117971990B (zh) 一种基于关系感知的实体关系提取方法
CN114036946B (zh) 一种文本特征提取及辅助检索的系统及方法
CN118551024B (zh) 问题回答方法、装置、存储介质及网关系统
CN117933254B (zh) 基于多特征融合与渐进对比的中文实体关系抽取方法
CN115630642A (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