CN115510826A - 基于多路召回和esim精排的表格相关性推荐方法 - Google Patents
基于多路召回和esim精排的表格相关性推荐方法 Download PDFInfo
- Publication number
- CN115510826A CN115510826A CN202210975825.XA CN202210975825A CN115510826A CN 115510826 A CN115510826 A CN 115510826A CN 202210975825 A CN202210975825 A CN 202210975825A CN 115510826 A CN115510826 A CN 115510826A
- Authority
- CN
- China
- Prior art keywords
- model
- input
- recall
- esim
- name
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/247—Thesauruses; Synonyms
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于多路召回和ESIM精排的表格相关性推荐方法,首先对输入表进行预处理,清洗表名、字段中的噪声内容,并整理成模型的输入格式;然后使用jaccard相似度、BM25算法、预训练词向量模型对输入表的文本进行多路召回,寻找每个算法下与输入表最相似的若干候选表;将多种召回结果进行合并,使用投票策略做初步的粗排;将粗排结果格式化为模型输入并送入ESIM模型进行预测,模型将对输入进行精排序,并按照相似程度从大到小输出为表推荐结果。本发明解决了现有技术中判断语义相似能力的不足、单词语序导致的错误、文本推荐的机械化流程和低效率的技术问题。
Description
技术领域
本发明主要涉及文本内容相似度以及自然语言处理的推荐算法领域。
背景技术
现有技术,对一张未知输入表格,仅能通过人的自然理解和简单的字符匹配去查找与其相似的表格内容。步骤如下:
1、观察表名和字段内容,通过字典等业务资源提取出关键词。
2、通过统计方法或字符串对比方法查找与输入表表名最相似的表。
3、使用集合相似度方法对比输入表的字段集合和标准表字段集合的相似度。
4、将2、3两者结果进行合并,输出与输入表最相似的完整标准表。
这种方法基于文本的硬匹配,通常会带来以下问题:
1、首先没有考虑到因为单词语序对整个文本的的影响,如“目录版本”和“版本目录”,两者的关键信息分别是“版本”和“目录”,但是在匹配过程中则会忽略这一语序信息;
2、其次硬匹配带来的最大问题就是近义词或语义相关的文本在匹配上的遗漏(比如“学校”和“教育”,“公安”和“警察”等),导致近似的文本往往得不到体现和输出。
3、现有技术在实际应用过程中效率较低,并且准确度往往得不到保证。
因此由于上述原因的阐述,会导致对非标准化或文本自由度较高数据的推荐结果有很大误差。
发明内容
针对现有技术存在的问题,为了弥补传统算法的不足,本发明提供了一种基于多路召回和ESIM精排的表格相关性推荐方法,解决了现有技术中判断语义相似能力的不足、单词语序导致的错误、文本推荐的机械化流程和低效率的技术问题。
为解决上述技术问题,本发明采用了以下技术方案:一种基于多路召回和ESIM精排的表格相关性推荐方法,包括以下步骤:
步骤S1,对输入表进行预处理,清洗去除表名或字段中的噪声内容,并整理成模型的输入格式;
步骤S2,通过jaccard相似系数、BM25算法、预训练词向量模型分别对输入表的文本进行多路召回,得到每种算法下与输入表最相似的若干候选表;
步骤S3,将步骤S2得到多种召回结果进行合并,使用投票策略做初步的粗排;
步骤S4,将步骤S3得到的粗排结果格式化为模型输入,并送入ESIM模型进行预测,模型对输入进行精排序,并按照相似程度从大到小输出为表推荐结果。
进一步的,步骤S2中所述通过jaccard相似系数的算法对输入表的文本进行多路召回的具体过程如下:
首先,由表名、字段中文名、数据元标识符的jieba分词组成分别得到STG表和ODS表的关键词集合,并以STG表和ODS表的关键词集合作为输入;
然后,通过式(1)计算STG表和所有ODS的jaccard相似系数J(A,B)并进行排序,得到相似程度最高的top-k个召回结果;
进一步的,步骤S2中所述预训练词向量算法,根据单词词性赋予不同权重,通过加权求和的方式得到文本的向量表示,并以向量余弦距离来度量表之间的相似程度。
进一步的,所述预训练词向量算法的具体过程如下:
(1)首先,提取表格特征向量,按照粒度划分生成不同粒度下的特征向量,并进行拼接,形成单张表的表征向量;所述表征向量包括表粒度和字段粒度,表粒度表示表中文名和表名概述,字段粒度表示字段中文名,字段描述,数据源和限定词;
(2)内部权重:对表名和字段部分分别进行分词并获取词向量,对词向量根据词性赋予不同的词性权重,将这些带权向量累加得到对应的表名向量和字段向量;
(3)外部权重:外部权重是将表名向量和字段向量分别赋予不同的权重,并通过式(2)计算整个表的向量vectable,
vectable=wi*vecname+wj*vecfield (2)
vecname为表名的向量表示;wi表示表名向量所占权重;vecfield为字段的向量表示;wj表示字段向量所占权重;
(4)最后,通过计算STG表表示向量与ODS候选表集合的表示矩阵的余弦相似度,并从大到小输出top-k个召回结果。
进一步的,步骤S2中所述BM25算法的具体过程如下:给定STG表和ODS表候选集,通过计算STG中每个单词的分数并累加,得到ODS表与文档之间的得分,得分越大则相似度越高,并根据相似度从大到小排序得到top-k个召回结果。
进一步的,计算STG中每个单词的分数时,通过使用表名和字段的所有切词结果作为语料的全语料模型,和/或通过只使用表名切词结果作为语料的表名模型。
进一步的,当STG字段缺失时,采用表名模型;当STG信息完整时,同时采用表名模型和全语料模型计算得分,根据得分从大到小排序得到top-k个召回结果。
进一步的,步骤S3中,对所有的多种召回结果按照统计频次进行初筛,选取统计频次最高的top-k个找回结果作为候选表集合。
进一步的,步骤S4中,基于ESIM文本排序模型对步骤S3经过初筛的候选表集合进行精排序,具体方法如下:
对于输入层,将原始的文本对调整为单个STG和对应的候选项集,并标注对应的正例索引;损失函数以list-wise最大正例似然函数作为损失函数loss,如式(3)所示:
式中,logits为模型最终的分类预测值,targets为真实排序样本标签,其默认为长度为top_k的列表,正例为1,负例为0;
经过模型训练,对于输入的STG表和召回的ODS候选表集合,输出每个位置的ODS表对应的概率值,根据概率值进行降序排序,即作为相似度排序结果。
有益效果:相对于现有技术,本发明解决了现有技术中判断语义相似能力的不足、单词语序导致的错误、文本推荐的机械化流程和低效率的技术问题。
附图说明
图1为本发明实施例所述基于jaccard相似系数计算的召回方法的流程示意图;
图2为本发明实施例所述基于词向量方法的相似度计算的找回方法的流程示意图;
图3为本发明实施例所述表向量生成流程示意图;
图4为本发明实施例所述基于bm25算法计算的找回方法的流程示意图;
图5为本发明实施例所述ESIM网络的结构示意图;
图6为本发明实施例所述最终表格推荐流程示意图。
具体实施方式
下面结合附图并以具体实施例,进一步阐明本发明。应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
术语解释:
STG表:即输入的非标准化表格,需要进行推荐的文本对象。
ODS表:即推荐候选表,本发明中实现将STG推荐到ODS中的某些候选表。
jaccard系数:杰卡德系数,是一种度量集合相似度的方法。
Embedding:嵌入表示(词/字向量),将文本转换成的一种向量表示,用于模型计算。
BM25:Best Match算法,文本检索领域中评价文档之间相关性的算法。
ESIM:Ehanced LSTM for Natural Language Inference(基于增强LSTM的文本推理模型),是一种文本匹配领域的深度学习算法。
LSTM:Long Short-Term Memory(长短期记忆网络),是一种时间递归神经网络,在文本翻译、文档摘要等大多数自然语言处理任务中有广泛应用。
Softmax:一种深度学习中常用的函数,又称归一化函数,目的是将多分类结果以概率的形式进行展现。
Attention:attention机制也称为注意力机制,在深度学习中广泛应用,目的是为了让模型的关注点更集中在样本的某些重要特征上,并在这些特征上投入更多的学习资源,并抑制其他的无用信息。
数据元:表格字段中文名的核心含义,由相关资源给出。
限定词:表格字段中文名的描述性含义,与数据元一起构成字段的完整中文含义,由相关资源给出。
本发明目的在于对上传的STG表进行推荐,输出相关程度最高的ODS表。
输入:STG的json数据,包括表英文名、表中文名、字段信息。
输出:与STG输入最相似的ODS候选表。
为实现上述目的,本发明以文本召回和排序的文本任务,建立召回+精排序的推荐流程。因此整体设计思路分为以下两个阶段:
一、召回阶段
召回阶段利用三种召回方法分别对输入的STG表进行召回,对结果以投票方案进行粗排,输出最相似的top k个召回结果。三种召回方法分别为:
a.基于jaccard系数的方法
给定集合A,B,jaccard系数定义为A,B交集大小与A,B并集大小的比值,公式如下:
具体到文本推荐任务中,基于jaccard相似系数的方法以STG表和ODS表关键词集合为输入。关键词集合由表名、字段中文名、数据元标识符的jieba分词组成,作为表示单张表的特征信息。通过计算STG与所有ODS的jaccard相似系数并对其排序,得到相似程度最高的top k个召回结果。
b.基于权重分配的词向量方法
基于权重分配的词向量方法是以预训练词向量模型为基础,根据单词词性赋予不同权重,通过加权求和的方式得到文本的向量表示,并以向量余弦距离来度量表之间的相似程度。
在提取表格的向量表征方面,由于单张表格包含的中文信息较多,故按照粒度划分为表粒度和字段粒度。通过生成不同粒度下的特征向量,并对其进行拼接,形成单张表的表征向量。不同粒度的中文信息包含如下:
表1表格粒度信息说明
如图2所示,基于权重分配的词向量方法使用表名向量和字段向量两个部分,实现相似度的计算,并采用两种权重方案,具体描述如下:
1.内部权重(Static Weight):
对表名和字段部分分别进行分词并获取词向量,对词向量根据词性赋予不同的词性权重,将这些带权向量累加得到对应的表名向量和字段向量。
2.外部权重(Dynamic Weight)
外部权重是将表名向量和字段向量分别赋予不同的权重,计算整个表的表示向量vectable,公式如下:
vectable=wi*vecname+wj*vecfield (2)
vecname为表名的向量表示;wi表示表名向量所占权重;vecfield为字段的向量表示;wj表示字段向量所占权重;
如上所述,单张表的向量生成过程如图3所示例:
基于权重分配的词向量方法通过计算STG表表示向量与ODS候选表集合的表示矩阵的余弦相似度,并从大到小输出top-k个召回结果。
c.基于bm25算法的方法
bm25算法是一种文本检索领域基于概率检索模型提出的一种常见算法,用于评价词和文档之间的相关性。bm25算法在本发明适用场景下可以解释为:给定STG表和ODS表候选集,通过计算STG中每个单词t的分数并累加,得到ODS表与文档之间的得分,得分越大则相似度越高。
应用到表推荐算法中的计算流程如图4的bm25算法召回流程所示:
这里用到两个BM25模型,全语料模型使用表名和字段的所有切词结果作为语料,表名模型则只利用表名切词。两个模型根据输入的STG表进行选择。
1)当STG字段缺失时,则只使用表名模型进行计算。
2)当STG信息完整时,则会对两个模型都计算得分,取topk个最大得分结果后合并输出。
由于以上三种方法侧重的角度各不相同,基于jaccard系数的方法侧重挖掘文本集合之间的重复程度用于计算jaccard相似度;基于词向量的方法通过在大规模语料上预训练词向量,基于表征向量计算consine相似度,更侧重于表格文本的语义表示;而bm25算法是基于单词词频特征的一种概率检索方法,用于计算单词t与STG、ODS的相似度并得到相似度分数。
综上所述,每种方法均可以作为独立召回模块输出候选结果,也可以对各自的召回结果进行投票,将票数最多的top-k结果用于排序模型的输入。
二、文本排序阶段
文本的排序模型主要用到ESIM作为精排模型。ESIM(Ehanced LSTM for NaturalLanguage Inference),是一种专门用作自然语言推断的LSTM模型。ESIM结合BiLSTM和attention机制,以成对文本作为输入,得到一个文本匹配的二分类模型,输出通过softmax激活函数映射到[0,1]区间,作为文本的相似度度量。其网络结构如图5所示:
经召回阶段计算,可以得到3*top_k个召回结果,并且与输入表越相似,在召回结果中重复度越高。因此对召回结果的初筛采用统计频次的方法,选取top_k个频次最高的召回结果作为候选表集合。排序模型选择优化后的ESIM对候选集合进行精排序。
ESIM是一种文本匹配模型,原始模型本质上适用于二分类任务,通过对损失函数和输入层进行调整,将ESIM适用于top-k分类任务中。
对于输入层,将原始的文本对调整为单个STG和对应的候选项集,并标注对应的正例索引。损失函数使用list-wise最大正例似然函数作为损失函数,公式如下:
式中,f为log_softmax(对数softmax);logits为模型最终的分类预测值;targets为真实排序样本标签,默认为长度为top_k的列表,正例为1,负例为0(如[1,0,1,0,0]表示位置0,2处ODS为正例,其他为负例。
经过模型训练,对于输入的STG表和召回的ODS候选表集合,模型会输出每个位置的ODS表对应的概率值,根据概率值进行降序排序,即作为相似度排序结果。最终表格推荐的整体排序流程如图6所示。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
Claims (9)
1.一种基于多路召回和ESIM精排的表格相关性推荐方法,其特征在于包括以下步骤:
步骤S1,对输入表进行预处理,清洗去除表名或字段中的噪声内容,并整理成模型的输入格式;
步骤S2,通过jaccard相似系数、BM25算法、预训练词向量模型分别对输入表的文本进行多路召回,得到每种算法下与输入表最相似的若干候选表;
步骤S3,将步骤S2得到多种召回结果进行合并,使用投票策略做初步的粗排;
步骤S4,将步骤S3得到的粗排结果格式化为模型输入,并送入ESIM模型进行预测,模型对输入进行精排序,并按照相似程度从大到小输出为表推荐结果。
3.根据权利要求1所述基于多路召回和ESIM精排的表格相关性推荐方法,其特征在于:步骤S2中所述预训练词向量算法,根据单词词性赋予不同权重,通过加权求和的方式得到文本的向量表示,并以向量余弦距离来度量表之间的相似程度。
4.根据权利要求3所述基于多路召回和ESIM精排的表格相关性推荐方法,其特征在于:所述预训练词向量算法的具体过程如下:
(1)首先,提取表格特征向量,按照粒度划分生成不同粒度下的特征向量,并进行拼接,形成单张表的表征向量;所述表征向量包括表粒度和字段粒度,表粒度表示表中文名和表名概述,字段粒度表示字段中文名,字段描述,数据源和限定词;
(2)内部权重:对表名和字段部分分别进行分词并获取词向量,对词向量根据词性赋予不同的词性权重,将这些带权向量累加得到对应的表名向量和字段向量;
(3)外部权重:外部权重是将表名向量和字段向量分别赋予不同的权重,并通过式(2)计算整个表的向量vectable,
vectable=wi*vecname+wj*vecfield (2)
vecname为表名的向量表示;wi表示表名向量所占权重;vecfield为字段的向量表示;wj表示字段向量所占权重;
(4)最后,通过计算STG表表示向量与ODS候选表集合的表示矩阵的余弦相似度,并从大到小输出top-k个召回结果。
5.根据权利要求1所述基于多路召回和ESIM精排的表格相关性推荐方法,其特征在于:步骤S2中所述BM25算法的具体过程如下:给定STG表和ODS表候选集,通过计算STG中每个单词的分数并累加,得到ODS表与文档之间的得分,得分越大则相似度越高,并根据相似度从大到小排序得到top-k个召回结果。
6.根据权利要求5所述基于多路召回和ESIM精排的表格相关性推荐方法,其特征在于:计算STG中每个单词的分数时,通过使用表名和字段的所有切词结果作为语料的全语料模型,和/或通过只使用表名切词结果作为语料的表名模型。
7.根据权利要求6所述基于多路召回和ESIM精排的表格相关性推荐方法,其特征在于:当STG字段缺失时,采用表名模型;当STG信息完整时,同时采用表名模型和全语料模型计算得分,根据得分从大到小排序得到top-k个召回结果。
8.根据权利要求1所述基于多路召回和ESIM精排的表格相关性推荐方法,其特征在于:步骤S3中,对所有的多种召回结果按照统计频次进行初筛,选取统计频次最高的top-k个找回结果作为候选表集合。
9.根据权利要求8所述基于多路召回和ESIM精排的表格相关性推荐方法,其特征在于:步骤S4中,基于ESIM文本排序模型对步骤S3经过初筛的候选表集合进行精排序,具体方法如下:
对于输入层,将原始的文本对调整为单个STG和对应的候选项集,并标注对应的正例索引;损失函数以list-wise最大正例似然函数作为损失函数loss,如式(3)所示:
式中,logits为模型最终的分类预测值,targets为真实排序样本标签,其默认为长度为top_k的列表,正例为1,负例为0;
经过模型训练,对于输入的STG表和召回的ODS候选表集合,输出每个位置的ODS表对应的概率值,根据概率值进行降序排序,即作为相似度排序结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210975825.XA CN115510826A (zh) | 2022-08-15 | 2022-08-15 | 基于多路召回和esim精排的表格相关性推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210975825.XA CN115510826A (zh) | 2022-08-15 | 2022-08-15 | 基于多路召回和esim精排的表格相关性推荐方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115510826A true CN115510826A (zh) | 2022-12-23 |
Family
ID=84502959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210975825.XA Pending CN115510826A (zh) | 2022-08-15 | 2022-08-15 | 基于多路召回和esim精排的表格相关性推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115510826A (zh) |
-
2022
- 2022-08-15 CN CN202210975825.XA patent/CN115510826A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110222160B (zh) | 智能语义文档推荐方法、装置及计算机可读存储介质 | |
CN108959270B (zh) | 一种基于深度学习的实体链接方法 | |
CN106599032B (zh) | 一种结合稀疏编码和结构感知机的文本事件抽取方法 | |
CN111190997B (zh) | 一种使用神经网络和机器学习排序算法的问答***实现方法 | |
CN104794169B (zh) | 一种基于序列标注模型的学科术语抽取方法及*** | |
CN110619051B (zh) | 问题语句分类方法、装置、电子设备及存储介质 | |
CN109299228B (zh) | 计算机执行的文本风险预测方法及装置 | |
CN111159485B (zh) | 尾实体链接方法、装置、服务器及存储介质 | |
CN107608999A (zh) | 一种适用于自动问答***的问句分类方法 | |
CN110674252A (zh) | 一种面向司法领域的高精度语义搜索*** | |
CN108038099B (zh) | 基于词聚类的低频关键词识别方法 | |
Kaur | Incorporating sentimental analysis into development of a hybrid classification model: A comprehensive study | |
CN112559684A (zh) | 一种关键词提取及信息检索方法 | |
CN112307182B (zh) | 一种基于问答***的伪相关反馈的扩展查询方法 | |
CN111581364B (zh) | 一种面向医疗领域的中文智能问答短文本相似度计算方法 | |
CN112307364B (zh) | 一种面向人物表征的新闻文本发生地抽取方法 | |
CN115309872B (zh) | 一种基于Kmeans召回的多模型熵加权检索方法及*** | |
CN114691864A (zh) | 文本分类模型训练方法及装置、文本分类方法及装置 | |
Liu et al. | Open intent discovery through unsupervised semantic clustering and dependency parsing | |
CN112069312A (zh) | 一种基于实体识别的文本分类方法及电子装置 | |
CN114818717A (zh) | 融合词汇和句法信息的中文命名实体识别方法及*** | |
CN111159405B (zh) | 基于背景知识的讽刺检测方法 | |
CN114491062B (zh) | 一种融合知识图谱和主题模型的短文本分类方法 | |
CN115952292A (zh) | 多标签分类方法、装置及计算机可读介质 | |
CN114493783A (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 |