CN113987161A - 一种文本排序方法及装置 - Google Patents
一种文本排序方法及装置 Download PDFInfo
- Publication number
- CN113987161A CN113987161A CN202111254933.XA CN202111254933A CN113987161A CN 113987161 A CN113987161 A CN 113987161A CN 202111254933 A CN202111254933 A CN 202111254933A CN 113987161 A CN113987161 A CN 113987161A
- Authority
- CN
- China
- Prior art keywords
- text
- recommended
- texts
- search
- word
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012163 sequencing technique Methods 0.000 claims abstract description 76
- 239000013598 vector Substances 0.000 claims description 102
- 238000012549 training Methods 0.000 claims description 41
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 13
- 230000007246 mechanism Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 11
- 230000002457 bidirectional effect Effects 0.000 claims description 9
- 230000015654 memory Effects 0.000 claims description 9
- KUEUWHJGRZKESU-UHFFFAOYSA-N Niceritrol Chemical compound C=1C=CN=CC=1C(=O)OCC(COC(=O)C=1C=NC=CC=1)(COC(=O)C=1C=NC=CC=1)COC(=O)C1=CC=CN=C1 KUEUWHJGRZKESU-UHFFFAOYSA-N 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 6
- 238000012804 iterative process Methods 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 5
- 238000000638 solvent extraction Methods 0.000 claims 1
- 238000013473 artificial intelligence Methods 0.000 abstract description 4
- 238000004422 calculation algorithm Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 18
- 238000012360 testing method Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- 238000009826 distribution Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 238000013136 deep learning model Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 238000003058 natural language processing Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 238000012552 review 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/338—Presentation of query results
-
- 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/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- 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/335—Filtering based on additional data, e.g. user or group profiles
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及人工智能技术领域,提供一种文本排序方法及装置,通过两次排序,提高排序结果的准确性。具体的,根据搜索请求中的至少一个搜索词在每个推荐文本的各个预设文本域中的词频,以及预设文档域对应的权重,确定搜索文本与各推荐文本之间的词义相似度,使得词与词之间的相关度更能反映推荐文本主体内容与搜索词的相关性,从而根据多个词义相似度,对各推荐文本进行初始排序时,排序结果更加满足用户的搜索意图;初始排序后,根据各推荐文本之间的语义信息,采用训练好的目标文本排序模型,对初始排序后的各推荐文本进行目标排序,提高了模型的排序效率,且由于目标排序时利用了各推荐文本之间的语义信息,排序后的结果更准确性。
Description
技术领域
本申请涉及人工智能技术领域,公开了一种文本排序方法及装置。
背景技术
语义搜索是从海量的文本集中筛选出符合搜索意图的有限文本集合,并有序的展示给用户,且对在线搜索引擎的响应速度有较高的要求,一般为毫秒级。
目前,常用的文本排序方法主要是:基于用户输入的搜索词,采用倒排文本索引的方式,从原始文本集合中匹配出与搜索词相关的多个推荐文本,利用搜索引擎自带的排序算法,计算各推荐文本中的关键词分别与搜索词的相关性得分,按照分数的高低对多个搜索文本进行排序。
搜索引擎自带的排序算法在进行词与词之间的相关性计算时,将推荐文本作为一个整体进行分析,导致词义相似度计算不准确,进而响应了排序结果;并且,搜索词与关键词的词义相似度仅反映搜索文本与推荐文本的浅层关联,基于搜索词与关键词的相关性得分进行的排序,导致排序结果的准确性较低。
发明内容
本申请实施例提供一种文本排序方法及装置,用以提高文本排序的准确性和文本排序的效率。
第一方面,本申请实施例提供了一种文本排序方法,所述方法包括:
响应于目标对象发送的搜索请求,根据所述搜索请求携带的搜索文本中的至少一个搜索词,从原始文本集合中筛选出多个推荐文本;
根据所述至少一个搜索词在每个推荐文本的各个预设文本域中的词频,以及所述预设文本域对应的权重,确定所述搜索文本与各推荐文本之间的词义相似度;
根据多个词义相似度,对各推荐文本进行初始排序;
根据各推荐文本之间的语义信息,采用训练好的目标文本排序模型,对初始排序后的各推荐文本进行目标排序。
可选的,所述各个预设文本域至少包括主题域、关键词域和统计域,所述各个预设文本域是通过以下方式确定的:
采用训练好的主题模型,为每个推荐文本标记主题标签,得到每个推荐文本的主题域;以及
根据预先生成的关键词词库,对每个推荐文本进行分词,根据每个推荐文本中的关键词与相应推荐文本的信息熵,生成每个推荐文本的关键词域;以及
根据每个推荐文本的文本长度,生成每个推荐文本的统计域。
可选的,所述搜索文本与一个推荐文本之间的词义相似度的计算公式如下:
其中,qi表示搜索文本中的第i个搜索词,di表示与第i个搜索词相关的一个推荐文本,0.5为调教系数,N为推荐文本的总数,O为各搜索词相关的推荐文本总数量,ni为第i个搜索词对应的推荐文本总数量,ri为与第i个搜索词相关的推荐文本数量,k1为调节因子,u为一个推荐文本中预设文档域的个数,wk为第k个预设文档域对应的权重,fui为第i个搜索词在预设文档域中的词频,fi u为第i个搜索词在预设文档域中的总词频,Bu为预设文档域的长度,ulu为每个预设文档域的实际长度,uvulu为各预设文档域的平均长度,bu为每个预设文档域的长度调节因子。
可选的,所述根据各推荐文本之间的语义信息,采用训练好的目标排序模型,对初始排序后的各推荐文本进行目标排序,包括:
根据初始排序后的各推荐文本的特征向量,以及初始排序后的各推荐文本之间的双向语义信息,分别对初始排序后的各推荐文本进行编码,得到初始排序后的各推荐文本的编码向量;
采用多头注意力机制,对初始排序后的各推荐文本的编码向量进行调整,并进行正则化表示;
根据正则化表示后的各推荐文本的编码向量,确定初始排序后的各推荐文本的截断位置集合,并确定所述截断位置集合中各个截断位置的概率;
根据各个截断位置的概率,对初始排序后的各推荐文本进行目标排序。
可选的,通过以下方式确定初始排序后的各推荐文本各自的特征向量:
针对初始排序后的各推荐文本中的一个推荐文本:
将所述搜索文本与所述一个推荐文本之间的词义相似度,作为所述一个推荐文本的第一特征向量;
计算所述一个推荐文本与相邻推荐文本之间的语义相似度;
根据所述一个推荐文本的基本特征以及对应的语义相似度,生成所述一个推荐文本的第二特征向量;
将所述第一特征向量和所述第二特征向量进行拼接,得到所述一个推荐文本的特征向量。
可选的,所述采用多头注意力机制,对初始排序后的各推荐文本的编码向量进行调整,包括:
针对初始排序后的各推荐文本中的一个推荐文本:
计算所述一个推荐文本分别与N-1个推荐文本的语义相似度,N为所述多个推荐文本的总数;
根据所述一个推荐文本对应的N-1个语义相似度,确定所述一个推荐文本对应的注意力系数;
根据所述注意力系数,调整所述一个推荐文本的编码向量,并对调整的编码向量进行正则化表示。
可选的,所述目标文本排序模型,是通过以下方式训练得到的:
获取训练样本集合;
基于所述训练样本集合,对待训练的文本排序模型进行多次迭代训练,获得目标文本推荐模型,其中,每次迭代过程中,执行以下操作:
将所述训练样本集合中的多个推荐文本样本,以及每个推荐文本样本的真实标签输入到所述待训练的文本排序模型,通过所述待训练的文本排序模型,对所述多个推荐文本样本的特征向量进行处理,得到每个推荐文本样本对应的预测标签;其中,所述真实标签用于表征所述推荐文本样本与相应搜索文本的语义相似度;
根据每个推荐文本样本对应的预测标签,确定所述多个推荐文本样本的预测截断位置;
根据真实标签,确定所述预测截断位置的预测截断损失值;
根据所述预测截断损失值,对所述待训练的文本排序模型进行参数调整。
第二方面,本申请实施例提供一种文本排序装置,包括:
响应模块,用于响应于目标对象发送的搜索请求,根据所述搜索请求携带的搜索文本中的至少一个搜索词,从原始文本集合中筛选出多个推荐文本;
相似度计算模块,用于根据所述至少一个搜索词在每个推荐文本的各个预设文本域中的词频,以及所述预设文本域对应的权重,确定所述搜索文本与各推荐文本之间的词义相似度;
第一排序模块,用于根据多个词义相似度,对各推荐文本进行初始排序;
第二排序模块,用于根据各推荐文本之间的语义信息,采用训练好的目标文本排序模型,对初始排序后的各推荐文本进行目标排序。
可选的,还包括文本域划分模块,用于:
采用训练好的主题模型,为每个推荐文本标记主题标签,得到每个推荐文本的主题域;以及
根据预先生成的关键词词库,对每个推荐文本进行分词,根据每个推荐文本中的关键词与相应推荐文本的信息熵,生成每个推荐文本的关键词域;以及
根据每个推荐文本的文本长度,生成每个推荐文本的统计域。
可选的,所述搜索文本与一个推荐文本之间的词义相似度的计算公式如下:
其中,qi表示搜索文本中的第i个搜索词,di表示与第i个搜索词相关的一个推荐文本,0.5为调教系数,N为推荐文本的总数,O为各搜索词相关的推荐文本总数量,ni为第i个搜索词对应的推荐文本总数量,ri为与第i个搜索词相关的推荐文本数量,k1为调节因子,u为一个推荐文本中预设文档域的个数,wk为第k个预设文档域对应的权重,fui为第i个搜索词在预设文档域中的词频,fi u为第i个搜索词在预设文档域中的总词频,Bu为预设文档域的长度,ulu为每个预设文档域的实际长度,uvulu为各预设文档域的平均长度,bu为每个预设文档域的长度调节因子。
可选的,所述第二排序模块具体用于:
根据初始排序后的各推荐文本的特征向量,以及初始排序后的各推荐文本之间的双向语义信息,分别对初始排序后的各推荐文本进行编码,得到初始排序后的各推荐文本的编码向量;
采用多头注意力机制,对初始排序后的各推荐文本的编码向量进行调整,并进行正则化表示;
根据正则化表示后的各推荐文本的编码向量,确定初始排序后的各推荐文本的截断位置集合,并确定所述截断位置集合中各个截断位置的概率;
根据各个截断位置的概率,对初始排序后的各推荐文本进行目标排序。
可选的,所述第二排序模块具体用于:
针对初始排序后的各推荐文本中的一个推荐文本:
将所述搜索文本与所述一个推荐文本之间的词义相似度,作为所述一个推荐文本的第一特征向量;
计算所述一个推荐文本与相邻推荐文本之间的语义相似度;
根据所述一个推荐文本的基本特征以及对应的语义相似度,生成所述一个推荐文本的第二特征向量;
将所述第一特征向量和所述第二特征向量进行拼接,得到所述一个推荐文本的特征向量。
可选的,所述第二排序模块具体用于:
针对初始排序后的各推荐文本中的一个推荐文本:
计算所述一个推荐文本分别与N-1个推荐文本的语义相似度,N为所述多个推荐文本的总数;
根据所述一个推荐文本对应的N-1个语义相似度,确定所述一个推荐文本对应的注意力系数;
根据所述注意力系数,调整所述一个推荐文本的编码向量,并对调整的编码向量进行正则化表示。
可选的,还包括训练模块,用于:
获取训练样本集合;
基于所述训练样本集合,对待训练的文本排序模型进行多次迭代训练,获得目标文本推荐模型,其中,每次迭代过程中,执行以下操作:
将所述训练样本集合中的多个推荐文本样本,以及每个推荐文本样本的真实标签输入到所述待训练的文本排序模型,通过所述待训练的文本排序模型,对所述多个推荐文本样本的特征向量进行处理,得到每个推荐文本样本对应的预测标签;其中,所述真实标签用于表征所述推荐文本样本与相应搜索文本的语义相似度;
根据每个推荐文本样本对应的预测标签,确定所述多个推荐文本样本的预测截断位置;
根据真实标签,确定所述预测截断位置的预测截断损失值;
根据所述预测截断损失值,对所述待训练的文本排序模型进行参数调整。
第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现文本排序方法。
本申请的上述实施例中,通过初始排序和目标排序两次排序,提高了排序结果的准确性,具体的,响应于搜索请求,从原始文本集合中筛选出与至少一个搜索词相关的多个推荐文本,利用文本的结构化特征,将推荐文本分为不同的文本域,考虑到不同文本域中的词汇与文本主体内容的锲合度,为不同的文本域设置了不同的权重,因此,在对各推荐文本进行初始排序时,根据至少一个搜索词在每个推荐文本的各个预设文本域中的词频,以及预设文档域对应的权重,确定搜索文本与各推荐文本之间的词义相似度,使得词与词之间的相关度更能反映推荐文本主体内容与搜索词的相关性,从而根据多个词义相似度,对各推荐文本进行初始排序时,排序结果更加满足用户的搜索意图;并且,对各推荐文本进行初始排序后,根据各推荐文本之间的语义信息,采用训练好的目标文本排序模型,对初始排序后的各推荐文本进行目标排序,提高了模型的排序效率,且由于目标排序时利用了各推荐文本之间的语义信息,使得目标排序后的各推荐文本之间的相关度更强,排序的结果更准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的语义搜索系统结构图;
图2为本申请实施例提供的语义搜索系统的整体框架图;
图3为本申请实施例提供的目标文本排序模型的迭代训练方法流程图;
图4A为本申请实施例提供的预测截断位置示意图;
图4B为本申请实施例提供的真实截断位置和预测截断位置的对比图;
图5为本申请实施例提供的文本排序的方法流程图;
图6为本申请实施例提供的目标文本排序模型的结构图;
图7A为本申请实施例提供的目标排序方法流程图;
图7B为本申请实施例提供的特征向量提取流程图;
图7C为本申请实施例提供的编码方法示意图;
图8为本申请实施例提供的初始排序和目标排序后的结果图;
图9为本申请实施例提供的文本排序装置结构图;
图10为本申请实施例提供的电子设备的结构图。
具体实施方式
为使本申请的目的、实施方式和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
基于本申请描述的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所附权利要求保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
为清楚描述本申请的实施例,下面对本申请中的名词给出解释说明。
语义搜索:是指搜索引擎不再局限于用户输入的请求语句的字面语义,而是透过现象看本质,准确地捕捉到用户输入的请求语句背后的深层语义,并以捕捉到的深层语义进行搜索,从而返回最符合用户搜索意图的搜索结果。
初始排序:简称为粗排序,是指基于给定的搜索词,与搜索请求对应推荐文本的各个文本域加权计算词义相似度得分,然后按照分数高低进行排序。
目标排序:简称为精排序,是指根据初始排序后的推荐文本之间的语义信息,通过深度学习模型,计算出推荐文本与搜索词的语义相似度,基于语义相似度,对初始排序后的结果进行二次排序。
Transformer模型:引入了注意力(Attention)机制,抛弃了传统的encoder-decoder模型必须结合CNN或者RNN的固有模式,相对于seq2seq模型,减少了计算量,提高了并行运行效率的同时,还提高了运行结果的准确性。
BERT模型:Bidirectional Encoder Representations from Transformer的简称,Bert模型为双向Transformer的编码网络(Encoder),引入了掩码语言模型(MaskedLanguage Model,MLE)及下一句子预测(Next sentence Predication,NSP)两个预训练任务,利用大规模无标注语料训练、获得文本的包含丰富语义信息的语义表示(Representation),然后将文本的语义表示在特定自然语言处理(Natural LanguageProcessing,NLP)任务中进行微调(Fine_tune),最终应用于该特定NLP任务。
微调:在下游任务中,通常需要对下游具体任务对应的样本数据进行训练,来微调基本模型参数,然后将微调好的模型运用到具体的下游任务之中。
下面对本申请的设计思想进行说明。
对语义搜索的结果进行排序是聚合检索的核心功能模块之一,通过语义搜索,可以让用户查询包含搜索词以外更多语义强相关的推荐文本,而对推荐文本的准确排序,可以使用户迅速了地找到自己需要的文本。
目前,基于词与词之间的相关性进行排序的方式,未考虑到推荐文本之间的语义信息,导致排序的结果不准确;并且,通常的,同一文本的不同部分描述的侧重点不同,因此,不同部分的关键词与文本主体内容的契合度也不同,若将推荐文本作为一个整体考虑,则无法体现不同部分的关键词对主体内容的贡献,使得排序后的结果不能满足用户的搜索意图。
鉴于此,本申请实施例提供一种文本排序方法及装置,使用词义相似度对搜索请求的召回结果进行了初始排序,使用语义相似度对初始排序的结果进行二次排序,从而提高了排序结果的准确性。具体的,在初始排序时,考虑到文本逐渐由非结构化过渡到结构化,按垂直结构,将推荐文本分为多个文本域,且为每个文本域设置了不同的权重,按各文本域的权重对相应文本域中的词汇与搜索词进行加权计算,得到搜索文本与各推荐文本之间的词义相似度,按各个词义相似度,对各推荐文本进行初始排序,相对于将推荐文本作为一个整体分析,词义相似度更能反映推荐文本的主体内容与搜索的相关性,从而提高了排序结果的准确性;并且,根据推荐文本之间的语义信息,采用深度学习模型,对初始排序后的推荐文本进行二次排序,相对于直接使用深度学习模型进行排序,提高了深度学习模型的排序效率。
为了更清楚地理解本申请的设计思路,以下对本申请实施例的应用场景进行示例介绍;请参见图1,提供一种语义搜索排序系统的结构示意图,该系统中包括智能终端100和服务器200,其中,智能终端100可以但不局限于包括图1中的台式计算机100-1或智能手机100-2等,在智能终端100上可以安装有搜索程序110,可以但不局限于包括图1中的搜索程序110-1或搜索程序110-2等,服务器200上安装有语义搜索排序系统的服务器侧的应用程序;智能终端100和服务器200之间互相通信。
目标对象打开智能终端100上的搜索程序110,在搜索程序110的输入框中输入搜索文本并发送搜索请求,服务器200接收到搜索请求后,获取搜索文本中的搜索词,基于搜索词,从数据库300的原始文本集合中筛选出多个推荐文本,排序后发送给智能终端100;智能终端100将排序后的推荐文本展示给目标对象。
上述服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统(如可以但不局限于包括图中示意出的服务器200-1至200-3),还可以是云服务技术中提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的多个云服务器。
上述智能终端100可以是移动终端、固定终端或便携式终端,例如移动手机、站点、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者其任意组合,包括这些设备的配件和外设或者其任意组合。
上述数据库300可以是MySQL数据库、Redis数据库、MongoDB数据库。
基于图1的应用场景,本申请实施例提供的语义搜索排序的整体框架图如图2所示,原始文本集合中的每个文本对应一个索引,搜索引擎接收到搜索请求后,获取搜索文本中的搜索词,采用倒排索引的方式,从原始文本集合中筛选出包含搜索词的多个推荐文本;采用排序算法(如:BM25算法)计算搜索词分别与各推荐文本中的关键词的语义相似度,基于语义相似度,对各推荐文本进行初始排序,将排序后的结果输入预先训练好的目标文本排序模型,基于各推荐文本之间的语义信息,对各推荐文本进行二次排序,得到最终的推荐文本排序结果。
下面对本申请实施例中涉及的目标文本排序模型的训练过程进行详细描述。
首先,获取用于训练目标文本推荐模型的训练样本集合。本申请实施例中,训练样本集合中包含办公领域、考勤流程和规范、办公助手以及报销流程等场景的搜索日志,搜索日志数量达到3万以上,搜索日志包括搜索文本和用户行为,其中,用户行为包括点击行为、浏览时长、跳转目标等。经过数据处理和人工审核,整理出标准的搜索文本样本和推荐文本样本数据集超过2万对,并根据搜索文本样本与推荐文本样本的相关性为推荐文本样本标记真实标签。其中,真实标签用于表征推荐文本样本与相应搜索文本的语义相似度。
例如:推荐文本样本1与搜索文本1相关,则推荐文本样本1的真实标签记为“1”,推荐文本样本2与搜索文本1不相关,则推荐文本样本2的真实标签记为“0”。
进一步地,基于获取的训练样本集合,对待训练的文本排序模型进行多次迭代训练,获得目标文本推荐模型。
随着深度学习的不断发展,深度学习模型在自然语言处理领域有所应用。例如基于自注意力机制的Transformer模型,相对于传统的encoder-decoder模型,Transformer模型有较强的语义特征提取能力,以及长距离特征捕获能力,且可以并行训练。
在Transformer模型的基础上,发展了BERT模型。BERT模型引在下游任务中的应用主要有两种方式:即Featrue-based和Finetune-based。其中,Featrue-based方法对文本进行向量表示,Feature-based方法基于表示的文本向量,计算文本语义相似度、向量召回等任务。
本申请实施例以BERT模型为例训练目标文本排序模型,迭代训练时,为了更好的学习模型参数,本申请实施例考虑因样本标签改变而改变模型输出结果的情况,同时,保证参数优化过程简单有效。其中,模型训练的核心问题可理解为:基于给定的搜索文本q,得到能够表示输出文本分布的截断位置的概率(如,自定义矩阵)。
模型训练过程中,在对模型参数进行优化时,本申请实施例用带惩罚函数的最大似然估计(Maximum Likelihood Estimation,MLE)分布替狄利克雷分布,以提高优化目标。
具体实施时,每次迭代过程参见图3:
S301:将训练样本集合中的多个推荐文本样本,以及每个推荐文本样本的真实标签输入到待训练的文本排序模型,通过待训练的文本排序模型,对多个推荐文本样本的特征向量进行处理,得到每个推荐文本样本对应的预测标签。
在S301中,通过待训练的文本排序模型提取推荐文本样本的特征向量,基于提取的特征向量,计算推荐文本样本与相应搜索文本样本的语义相似度,若语义相似度大于设定的阈值,表明推荐文本样本与搜索文本样本相关,将推荐文本样本的预测标签标记为“1”,否则,表明推荐文本样本与搜索文本样本不相关,将推荐文本样本的预测标签标记为“0”。
S302:根据每个推荐文本样本对应的预测标签,确定多个推荐文本样本的预测截断位置。
如图4A所示,假设推荐文本样本1的预测标签y为“1”,推荐文本样本2的预测标签y为“1”,推荐文本样本3的预测标签y为“0”,推荐文本样本4的预测标签y为“1”,推荐文本样本5的预测标签y为“1”,则预测在推荐文本样本3处截断,截断位置记为break。
S303:根据真实标签,确定预测截断位置对应的截断损失值。
如图4B所示,根据各推荐文本样本的真实标签,理应在推荐文本样本4处截断,但实际预测的却是在推荐文本样本3处截断,因此,可根据真实标签确定的真实截断位置确定预测截断位置的截断损失值。
具体实施时,基于惩罚函数s,正则化计算惩罚分数,得到预测截断位置的概率分布函数:
其中,pbreak表示各推荐文本样本在预测截断位置break处被截断的惩罚概率,B为预测截断位置的总数,y表示各推荐文本样本的预测标签,sbreak(y)表示各推荐文本样本在预测截断位置break处被截断的惩罚分数,τ为控制y取值范围度量的超参数。
进一步地,采用MLE方法,以真实样本标签对应的真实截断位置为参考,学习预测截断位置的预测截断损失值,损失值采用对数似然,计算公式如下:
lmle=-∑breakδbreak′*logpbreak(D;θ) 公式2
其中,D表示各推荐文本样本组成的集合,θ表示文本排序模型的参数,δbreak′表示各推荐文本样本的真实标签对应的真实截断位置break′的狄利克雷分布,在真实截断位置break′处,δbreak=1,其它位置时δbreak=0。
由公式2可知,MLE方法将各推荐文本样本(包括与搜索文本样本不匹配的推荐文本样本)同等对待,这样忽略了各推荐文本样本在真实截断位置break′处的真实分布状态,会造成模型的训练过程和测试过程不一致的问题。
为了解决上述文本,本申请实施例根据各推荐文本样本的真实标签确定的真实截断位置,来确定各推荐文本样本的真实部分状态,计算公式如下:
其中,qbreak′表示各推荐文本样本在真实截断位置break′处被截断的惩罚概率,B为真实截断位置的总数,y*表示各推荐文本样本的真实标签,sbreak′(y*)表示各推荐文本样本在真实截断位置break′处被截断的惩罚分数,τ为控制y*取值范围度量的超参数。
得到qbreak′后,用公式3中的qbreak′替换掉公式2中的δbreak′,从而解决模型训练和测试不一致的问题。
通过更新公式2的损失值计算公式,使模型输出的各推荐文本样本的分布接近带惩罚项的正态分布,提高模型的优化结果。
S304:根据预测截断损失值,对待训练的文本排序模型进行参数调整。
在S304中,lmle对文本排序模型的参数θ进行调整,直至达到最大迭代次数或满足预设的收敛条件时,停止调整,得到训练好的目标文本排序模型。
得到训练的目标文本排序模型后,本申请实施例通过测试样本集合对目标文本排序模型进行了测试,测试结果的评估指标记为F1@break,公式如下:
其中,ND表示测试样本集合中测试推荐文本的数量,y*表示测试推荐文本的真实标签,break表示测试样本集合中的测试推荐文本的截断位置,B为测试样本集合的截断位置总数,δ表示狄利克雷函数。
为验证目标文本排序模型的优越性,本申请实施例以办公领域、考勤流程和规范、办公助手以及报销流程等场景的搜索日志文件为例,测试了目标文本排序模型的排序结果,具体测试情况如下表:
表1、各算法模型的排序结果
由表1可知,本申请实施例提供的BM25算法和目标文本排序模型优于搜索引擎自带的BM25算法,本申请的BM25算法在下文中进行详细介绍。
本申请实施例在测试过程发现,采用目标文本排序模型排序后的结果中,排序靠前的测试推荐文本中,不仅局限于包括搜索词的文本,还包括与搜索词相关的文本。
例如,搜索词“出差”的搜索结果中,排序靠前的文本还包含与“出差”语义相关的“报销”文本;搜索词“考勤”的搜索结果中,排序靠前的文本还包含与“考勤”语义相关的“打卡”文本、“补签”文本;搜索词“年休假”的搜索结果中,排序靠前的文本还包含与“年休假”语义相关的“参加工作时间”文本。
在本申请的实施例中,得到训练好的目标文本排序模型后,应用目标文本排序模型实现本申请实施例提供的文本排序方法。
请参照图5,表示本申请实施例设计的文本排序方法,应用于语义搜索排序系统,该程序由搜索引擎的服务器执行,具体如下:
S501:响应于目标对象发送的搜索请求,根据搜索请求携带的搜索文本中的至少一个搜索词,从原始文本集合中筛选出多个推荐文本。
在S501中,服务器接收到目标对象发送的搜索请求后,获取搜索请求携带的搜索文本,对搜索文本进行分词,提取搜索文本中的至少一个搜索词,根据提取的至少一个搜索词,采用倒排文本索引的方式,从原始文本集合中筛选出包含至少一个搜索词的多个推荐文本。
S502:根据至少一个搜索词在每个推荐文本的各个预设文本域中的词频,以及预设文本域对应的权重,确定搜索文本与各推荐文本之间的词义相似度。
基于词与词之间的相关性进行排序的算法有很多,代表性的有词频-逆文档频率(Term Frequency–Inverse Document Frequency,TF-IDF)算法、BM25算法等。本申请实施例以BM25算法为基础,对BM25进行一定的改进,将推荐文本划分为多个预设文本域,同时考虑了不同预设文本域对排序的贡献程度不一样,通过算法学习各个预设文本域的权重,基于划分的预设文本域及相应的权重,对各推荐文本进行初始排序。
具体实施时,在S502中,得到多个推荐文本后,将每个推荐文本划分为多个预设文本域,其中,预设文本域包括但不限于主题域、关键词域、文档域。
针对主题域,采用训练好的主题模型,如隐含狄利克雷分布(Latent DirichletAllocation,LDA)模型,为每个推荐文本标记主题标签,得到每个推荐文本的主题域。
例如,针对办公领域的第一推荐文本,提取到的主题标签包括贷款、存款、利息,则第一推荐文本的主题域为{贷款、存款、利息}。
针对关键词域,根据预先生成的关键词词库,对每个推荐文本进行分词,根据每个推荐文本中的关键词与相应推荐文本的信息熵,生成每个推荐文本的关键词域。其中,信息熵可反映关键词与相应推荐文本的主体内容的相关度。
以第一推荐样本为例,提取的关键词有贷款、房贷、车贷,贷款与第一推荐文本的信息熵为0.5,房贷与第一推荐文本的信息熵为0.8,车贷与第一推荐文本的信息熵为0.2,则第一推荐文本的关键词域为{贷款、房贷}。
可选的,关键词词库中的关键词可采用关键词提取算法从收集的训练样本集合中提取,以提高分词的准确性。
针对统计域,根据每个推荐文本的文本长度,生成每个推荐文本的统计域。
例如,第一推荐文本的文本长度为100字节,前28字节在描述当前贷款的背景信息,中间67字节在描述房贷的计算方式,后5字节在对房贷形式进行总结。通常人们对背景信息以及总结部分的关注度较低,因此,可确定第一推荐文本的统计域为中间67字节。
将每个推荐文本换分为多个预设文本域后,采用词频-逆文档频率(TermFrequency–Inverse Document Frequency,TF-IDF)算法,统计至少一个搜索词在各个预设文本域中的词频,结合预先学习的每个预设文本于的权重,确定搜索文本与各推荐文本之间的词义相似度。改进后的BM25算法计算词义相似度的公式为:
其中,qi表示搜索文本中的第i个搜索词,di表示与第i个搜索词相关的一个推荐文本,0.5为调教系数,N为推荐文本的总数,O为各搜索词相关的推荐文本总数量,ni为第i个搜索词对应的推荐文本总数量,ri为与第i个搜索词相关的推荐文本数量,k1为调节因子,u为一个推荐文本中预设文档域的个数,wk为第k个预设文档域对应的权重,fui为第i个搜索词在预设文档域中的词频,fi u为第i个搜索词在预设文档域中的总词频,Bu为预设文档域的长度,ulu为每个预设文档域的实际长度,uvulu为各预设文档域的平均长度,bu为每个预设文档域的长度调节因子。
S503:根据多个词义相似度,对各推荐文本进行初始排序。
在S503中,基于公式7计算的搜索文本中的搜索词,与各推荐文本中词汇的词义相似度,对各推荐文本进行初始排序,其中,相应推荐为本对应的语义相似度越高,排列的位置越靠前。
针对目标对象输入的搜索文本,初始排序后的结果表2所示。
表2、搜索文本对应的初始排序后的结果
文本索引 | 词义相似度 | 初始排序结果 |
3 | 0.72 | 推荐文本3 |
1 | 0.713 | 推荐文本1 |
4 | 0.7 | 推荐文本4 |
2 | 0.697 | 推荐文本2 |
5 | 0.68 | 推荐文本5 |
… | … | … |
S504:根据各推荐文本之间的语义信息,采用训练好的目标文本排序模型,对初始排序后的各推荐文本进行目标排序。
本申请的实施例中,目标文本排序模型的结构如图6所示,主要包括编码层(Encoding Layer)、注意力层(Attention Layer)、决策层(Decision Layer)。其中,编码层使用两层双向的长短时记忆网络(Long Short-Term Memory,LSTM)作为编码器,提取前后推荐文本之间隐藏的语义信息,结合推荐文本各自的特征向量,对各推荐文本进行编码。注意层旨在捕捉各推荐文本之间的长距离依赖关系,特别是,在初始排序后的各推荐文本中,多头注意机制允许文本直接和任何其它文本相关联,每个推荐文本都与其它推荐文本关联后,计算每个推荐文本和其他推荐文本之间的注意力系数,根据注意力系数,对推荐文本自身的特征向量进行调整。对于每一个搜索文本q,在相应的多个推荐文本中,决策层需要计算出合适的截断位置,本申请实施例为了获得各推荐文本在各截断位置的概率,在决策层采用多层感知机(Multilayer Perceptron,MLP)网络和softmax函数。
基于上述目标文本排序模型,对各推荐文本进行目标排序,参见图7A:
S701:根据初始排序后的各推荐文本的特征向量,以及初始排序后的各推荐文本之间的双向语义信息,分别对初始排序后的各推荐文本进行编码,得到初始排序后的各推荐文本的编码向量。
针对初始排序后的各推荐文本中的一个推荐文本j,特征向量的提取过程参见图7B:
S7011:将搜索文本与一个推荐文本之间的词义相似度,作为一个推荐文本的第一特征向量。
利用BM25算法进行初始排序时,已经获得了搜索文本与一个推荐文本之间的词义相似度,在S7011中,将词义相似度作为一个推荐文本的第一特征向量,记为Ej。
S7012:计算一个推荐文本与相邻推荐文本之间的语义相似度。
在S7012中,采用doc2vec模型,提取一个推荐文本以及该推荐文本的相邻推荐文本的基本特征,包括文本长度、不重复的词语个数等,并对提取的基本特征进行向量表示,得到一个推荐文本以及相邻推荐文本的基本特征向量后,计算一个推荐文本与相邻推荐文本的余弦值,得到语义相似度。
S7013:根据一个推荐文本的基本特征以及对应的语义相似度,生成一个推荐文本的第二特征向量,记为Fj。
在S7013中,将基本特征和语义相似度作为一个推荐文本的第二特征向量。
S7014:将第一特征向量和第二特征向量进行拼接,得到一个推荐文本的特征向量。
在S7014中,一个推荐文本的特征向量记为xj=[Ej|Fj]。
基于图7B所示的流程,得到各推荐文本的特征向量后,输入至目标文本排序模型的编码层,结合编码层提取各推荐文本之间隐藏的双向语义信息进行编码,得到初始排序后的各推荐文本的编码向量hj。
S702:采用多头注意力机制,对初始排序后的各推荐文本的编码向量进行调整,并进行正则化表示。
假设初始排序后的各推荐文本的总数为N,针对初始排序后的各推荐文本中的一个推荐文本j,编码向量的调整过程参见图7C:
S7021:计算一个推荐文本分别与N-1个推荐文本的语义相似度。
在S7021中,根据各推荐文本的编码向量,计算一个推荐文本分别与其余N-1个推荐文本的余弦值,得到一个推荐文本与其余N-1个推荐文本的语义相似度。
S7022:根据一个推荐文本对应的N-1个语义相似度,确定一个推荐文本对应的注意力系数。
在S7022中,基于多头注意力机制,根据一个推荐文本对应的N-1个语义相似度,计算该推荐文本对应的注意力系数,计算公式如下:
其中,H表示模型中头的个数,Qj、Kj、Vj∈Rt ×(t/n)分别表示第j个注意力头的查询矩阵,键矩阵,值矩阵, 分别表示第j个注意力头的查询矩阵权重,键矩阵权重,值矩阵权重,R表示实数集,t表示维度。
S7023:根据注意力系数,调整一个推荐文本的编码向量,并对调整的编码向量进行正则化表示。
在S7023中,得到一个推荐文本的注意力系数后,根据注意力系数调整该推荐文本的编码向量,调整公式为:
Mj=concatenation(headj)WH 公式11
其中,Mj为第j个推荐文本调整后的编码向量,WH∈Rt×t,R表示实数集,t表示维度。
调整后得到了一个推荐文本的精细化向量表示,对调整的编码向量进行正则化表示。
本申请的实施例中,各个推荐文本正则化的表示公式为:
M’=layerNorm(M+H) 公式12
M=multiHeadAttention(H)=concatenation(head1,…,headj)WH 公式13
S703:根据正则化表示后的各推荐文本的编码向量,确定初始排序后的各推荐文本的截断位置集合,并确定截断位置集合中各个截断位置的概率。
在S703中,在决策层采用MLP网络和softmax函数,根据正则化表示后的编码向量,确定各个截断位置的概率,计算公式如下:
p=softmax(MLP(M′)) 公式14
S704:根据各个截断位置的概率,对初始排序后的各推荐文本进行目标排序。
如图8所示,截断位置集合中有两个截断位置,分为记为break1和break2,被截断的两个推荐文本表示语义相关性较弱,即推荐文本1与推荐文本2和推荐文本3的语义相似度较低,推荐文本2与推荐文本4和推荐文本5的语义相似度较低,因此,将推荐文本1和推荐文本2向下移,将推荐文本4和推荐文本5向上移,最终展示给目标对象的推荐文本的序列为推荐文本3->推荐文本4->推荐文本5->推荐文本1->推荐文本2->…。
本申请的实施例中,对BM25算法进行了改进,将推荐文本划分为多个预设文本域,并为每个预设文本域设置了权重,从而突出不同预设文本域中的词汇对排序的不同贡献,使得基于预设文本域计算的词与词之间的相似度进行初始排序时,排序的结果更准确;通过BM25算法的初始排序,为目标文本排序模型召回了多个推荐文本,解决了深度学习算法在大数据集上运行效率低的弊端,即使在文本数据量上亿的情况下,也能满足在线搜索毫秒级的响应;且在目标文本排序模型中,使用多头注意力机制,通过注意力和掩码动态编码变长序列,同时通过多头将语义向量划分多个空间,解决了长距离依赖、无位置偏差、可并行计算等,既解决了语义表示能力,也加快了模型的运算速度,提高了排序效率。
同时,本申请实施例采用了初始排序和目标排序两次排序的思想,不仅提高了排序结果的准确性,还解决了基于词与词之间的词义相似度难以匹配出的满足用户搜索意图的文档。
例如,搜索“新基建”相关的文本时,排序后的文本中包含与“新基建”相关的“区块链”、“5G”等推荐文本,使用搜索引擎自带的排序算法,则排序后的文本中不包含“区块链”、“5G”等推荐文本。
基于同一发明构思,本申请实施例提供一种文本排序装置,参见图9,包括:
响应模块901,用于响应于目标对象发送的搜索请求,根据搜索请求携带的搜索文本中的至少一个搜索词,从原始文本集合中筛选出多个推荐文本;
相似度计算模块902,用于根据至少一个搜索词在每个推荐文本的各个预设文本域中的词频,以及预设文本域对应的权重,确定搜索文本与各推荐文本之间的词义相似度;
第一排序模块903,用于根据多个词义相似度,对各推荐文本进行初始排序;
第二排序模块904,用于根据各推荐文本之间的语义信息,采用训练好的目标文本排序模型,对初始排序后的各推荐文本进行目标排序。
可选的,还包括文本域划分模块905,用于:
采用训练好的主题模型,为每个推荐文本标记主题标签,得到每个推荐文本的主题域;以及
根据预先生成的关键词词库,对每个推荐文本进行分词,根据每个推荐文本中的关键词与相应推荐文本的信息熵,生成每个推荐文本的关键词域;以及
根据每个推荐文本的文本长度,生成每个推荐文本的统计域。
可选的,搜索文本与一个推荐文本之间的词义相似度的计算公式如下:
其中,qi表示搜索文本中的第i个搜索词,di表示与第i个搜索词相关的一个推荐文本,0.5为调教系数,N为推荐文本的总数,O为各搜索词相关的推荐文本总数量,ni为第i个搜索词对应的推荐文本总数量,ri为与第i个搜索词相关的推荐文本数量,k1为调节因子,u为一个推荐文本中预设文档域的个数,wk为第k个预设文档域对应的权重,fui为第i个搜索词在预设文档域中的词频,fi u为第i个搜索词在预设文档域中的总词频,Bu为预设文档域的长度,ulu为每个预设文档域的实际长度,uvulu为各预设文档域的平均长度,bu为每个预设文档域的长度调节因子。
可选的,第二排序模块904具体用于:
根据初始排序后的各推荐文本的特征向量,以及初始排序后的各推荐文本之间的双向语义信息,分别对初始排序后的各推荐文本进行编码,得到初始排序后的各推荐文本的编码向量;
采用多头注意力机制,对初始排序后的各推荐文本的编码向量进行调整,并进行正则化表示;
根据正则化表示后的各推荐文本的编码向量,确定初始排序后的各推荐文本的截断位置集合,并确定截断位置集合中各个截断位置的概率;
根据各个截断位置的概率,对初始排序后的各推荐文本进行目标排序。
可选的,第二排序模块904具体用于:
针对初始排序后的各推荐文本中的一个推荐文本:
将搜索文本与一个推荐文本之间的词义相似度,作为一个推荐文本的第一特征向量;
计算一个推荐文本与相邻推荐文本之间的语义相似度;
根据一个推荐文本的基本特征以及对应的语义相似度,生成一个推荐文本的第二特征向量;
将第一特征向量和第二特征向量进行拼接,得到一个推荐文本的特征向量。
可选的,第二排序模块904具体用于:
针对初始排序后的各推荐文本中的一个推荐文本:
计算一个推荐文本分别与N-1个推荐文本的语义相似度,N为多个推荐文本的总数;
根据一个推荐文本对应的N-1个语义相似度,确定一个推荐文本对应的注意力系数;
根据注意力系数,调整一个推荐文本的编码向量,并对调整的编码向量进行正则化表示。
可选的,还包括训练模块906,用于:
获取训练样本集合;
基于训练样本集合,对待训练的文本排序模型进行多次迭代训练,获得目标文本推荐模型,其中,每次迭代过程中,执行以下操作:
将训练样本集合中的多个推荐文本样本,以及每个推荐文本样本的真实标签输入到待训练的文本排序模型,通过待训练的文本排序模型,对多个推荐文本样本的特征向量进行处理,得到每个推荐文本样本对应的预测标签;其中,真实标签用于表征推荐文本样本与相应搜索文本的语义相似度;
根据每个推荐文本样本对应的预测标签,确定多个推荐文本样本的预测截断位置;
根据真实标签,确定预测截断位置的预测截断损失值;
根据预测截断损失值,对待训练的文本排序模型进行参数调整。
作为一种实施例,图9中的装置可以用于本申请实施例提供的文本排序方法,并能实现相同的技术效果,在此不再赘述。
上述装置作为硬件实体的一个实例如图10所示的电子设备,该电子设备包括处理器1001、存储器1002以及至少一个外部通信接口1003;上述处理器1001、存储器1002以及外部通信接口1003均通过总线1004连接。
存储器1002中存储有计算机程序;
处理器1001执行该计算机程序时实现前文论述的一种文本排序方法。
图10中是以一个处理器1001为例,但是实际上不限制处理器1001的数量。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (15)
1.一种文本排序方法,其特征在于,所述方法包括:
响应于目标对象发送的搜索请求,根据所述搜索请求携带的搜索文本中的至少一个搜索词,从原始文本集合中筛选出多个推荐文本;
根据所述至少一个搜索词在每个推荐文本的各个预设文本域中的词频,以及所述预设文本域对应的权重,确定所述搜索文本与各推荐文本之间的词义相似度;
根据多个词义相似度,对各推荐文本进行初始排序;
根据各推荐文本之间的语义信息,采用训练好的目标文本排序模型,对初始排序后的各推荐文本进行目标排序。
2.如权利要求1所述的方法,其特征在于,所述各个预设文本域至少包括主题域、关键词域和统计域,所述各个预设文本域是通过以下方式确定的:
采用训练好的主题模型,为每个推荐文本标记主题标签,得到每个推荐文本的主题域;以及
根据预先生成的关键词词库,对每个推荐文本进行分词,根据每个推荐文本中的关键词与相应推荐文本的信息熵,生成每个推荐文本的关键词域;以及
根据每个推荐文本的文本长度,生成每个推荐文本的统计域。
3.如权利要求1所述的方法,其特征在于,所述搜索文本与一个推荐文本之间的词义相似度的计算公式如下:
其中,qi表示搜索文本中的第i个搜索词,di表示与第i个搜索词相关的一个推荐文本,0.5为调教系数,N为推荐文本的总数,O为各搜索词相关的推荐文本总数量,ni为第i个搜索词对应的推荐文本总数量,ri为与第i个搜索词相关的推荐文本数量,k1为调节因子,u为一个推荐文本中预设文档域的个数,wk为第k个预设文档域对应的权重,fui为第i个搜索词在预设文档域中的词频,fi u为第i个搜索词在预设文档域中的总词频,Bu为预设文档域的长度,ulu为每个预设文档域的实际长度,uvulu为各预设文档域的平均长度,bu为每个预设文档域的长度调节因子。
4.如权利要求1所述的方法,其特征在于,所述根据各推荐文本之间的语义信息,采用训练好的目标排序模型,对初始排序后的各推荐文本进行目标排序,包括:
根据初始排序后的各推荐文本的特征向量,以及初始排序后的各推荐文本之间的双向语义信息,分别对初始排序后的各推荐文本进行编码,得到初始排序后的各推荐文本的编码向量;
采用多头注意力机制,对初始排序后的各推荐文本的编码向量进行调整,并进行正则化表示;
根据正则化表示后的各推荐文本的编码向量,确定初始排序后的各推荐文本的截断位置集合,并确定所述截断位置集合中各个截断位置的概率;
根据各个截断位置的概率,对初始排序后的各推荐文本进行目标排序。
5.如权利要求4所述的方法,其特征在于,通过以下方式确定初始排序后的各推荐文本各自的特征向量:
针对初始排序后的各推荐文本中的一个推荐文本:
将所述搜索文本与所述一个推荐文本之间的词义相似度,作为所述一个推荐文本的第一特征向量;
计算所述一个推荐文本与相邻推荐文本之间的语义相似度;
根据所述一个推荐文本的基本特征以及对应的语义相似度,生成所述一个推荐文本的第二特征向量;
将所述第一特征向量和所述第二特征向量进行拼接,得到所述一个推荐文本的特征向量。
6.如权利要求4所述的方法,其特征在于,所述采用多头注意力机制,对初始排序后的各推荐文本的编码向量进行调整,包括:
针对初始排序后的各推荐文本中的一个推荐文本:
计算所述一个推荐文本分别与N-1个推荐文本的语义相似度,N为所述多个推荐文本的总数;
根据所述一个推荐文本对应的N-1个语义相似度,确定所述一个推荐文本对应的注意力系数;
根据所述注意力系数,调整所述一个推荐文本的编码向量,并对调整的编码向量进行正则化表示。
7.如权利要求1-6中任一项所述的方法,其特征在于,所述目标文本排序模型,是通过以下方式训练得到的:
获取训练样本集合;
基于所述训练样本集合,对待训练的文本排序模型进行多次迭代训练,获得目标文本推荐模型,其中,每次迭代过程中,执行以下操作:
将所述训练样本集合中的多个推荐文本样本,以及每个推荐文本样本的真实标签输入到所述待训练的文本排序模型,通过所述待训练的文本排序模型,对所述多个推荐文本样本的特征向量进行处理,得到每个推荐文本样本对应的预测标签;其中,所述真实标签用于表征所述推荐文本样本与相应搜索文本的语义相似度;
根据每个推荐文本样本对应的预测标签,确定所述多个推荐文本样本的预测截断位置;
根据真实标签,确定所述预测截断位置的预测截断损失值;
根据所述预测截断损失值,对所述待训练的文本排序模型进行参数调整。
8.一种文本排序装置,其特征在于,包括:
响应模块,用于响应于目标对象发送的搜索请求,根据所述搜索请求携带的搜索文本中的至少一个搜索词,从原始文本集合中筛选出多个推荐文本;
相似度计算模块,用于根据所述至少一个搜索词在每个推荐文本的各个预设文本域中的词频,以及所述预设文本域对应的权重,确定所述搜索文本与各推荐文本之间的词义相似度;
第一排序模块,用于根据多个词义相似度,对各推荐文本进行初始排序;
第二排序模块,用于根据各推荐文本之间的语义信息,采用训练好的目标文本排序模型,对初始排序后的各推荐文本进行目标排序。
9.如权利要求8所述的装置,其特征在于,还包括文本域划分模块,用于:
采用训练好的主题模型,为每个推荐文本标记主题标签,得到每个推荐文本的主题域;以及
根据预先生成的关键词词库,对每个推荐文本进行分词,根据每个推荐文本中的关键词与相应推荐文本的信息熵,生成每个推荐文本的关键词域;以及
根据每个推荐文本的文本长度,生成每个推荐文本的统计域。
10.如权利要求8所述的装置,其特征在于,所述搜索文本与一个推荐文本之间的词义相似度的计算公式如下:
其中,qi表示搜索文本中的第i个搜索词,di表示与第i个搜索词相关的一个推荐文本,0.5为调教系数,N为推荐文本的总数,O为各搜索词相关的推荐文本总数量,ni为第i个搜索词对应的推荐文本总数量,ri为与第i个搜索词相关的推荐文本数量,k1为调节因子,u为一个推荐文本中预设文档域的个数,wk为第k个预设文档域对应的权重,fui为第i个搜索词在预设文档域中的词频,fi u为第i个搜索词在预设文档域中的总词频,Bu为预设文档域的长度,ulu为每个预设文档域的实际长度,uvulu为各预设文档域的平均长度,bu为每个预设文档域的长度调节因子。
11.如权利要求8所述的装置,其特征在于,所述第二排序模块具体用于:
根据初始排序后的各推荐文本的特征向量,以及初始排序后的各推荐文本之间的双向语义信息,分别对初始排序后的各推荐文本进行编码,得到初始排序后的各推荐文本的编码向量;
采用多头注意力机制,对初始排序后的各推荐文本的编码向量进行调整,并进行正则化表示;
根据正则化表示后的各推荐文本的编码向量,确定初始排序后的各推荐文本的截断位置集合,并确定所述截断位置集合中各个截断位置的概率;
根据各个截断位置的概率,对初始排序后的各推荐文本进行目标排序。
12.如权利要求11所述的装置,其特征在于,所述第二排序模块具体用于:
针对初始排序后的各推荐文本中的一个推荐文本:
将所述搜索文本与所述一个推荐文本之间的词义相似度,作为所述一个推荐文本的第一特征向量;
计算所述一个推荐文本与相邻推荐文本之间的语义相似度;
根据所述一个推荐文本的基本特征以及对应的语义相似度,生成所述一个推荐文本的第二特征向量;
将所述第一特征向量和所述第二特征向量进行拼接,得到所述一个推荐文本的特征向量。
13.如权利要求11所述的装置,其特征在于,所述第二排序模块具体用于:
针对初始排序后的各推荐文本中的一个推荐文本:
计算所述一个推荐文本分别与N-1个推荐文本的语义相似度,N为所述多个推荐文本的总数;
根据所述一个推荐文本对应的N-1个语义相似度,确定所述一个推荐文本对应的注意力系数;
根据所述注意力系数,调整所述一个推荐文本的编码向量,并对调整的编码向量进行正则化表示。
14.如权利要求8-13中任一项所述的装置,其特征在于,还包括训练模块,用于:
获取训练样本集合;
基于所述训练样本集合,对待训练的文本排序模型进行多次迭代训练,获得目标文本推荐模型,其中,每次迭代过程中,执行以下操作:
将所述训练样本集合中的多个推荐文本样本,以及每个推荐文本样本的真实标签输入到所述待训练的文本排序模型,通过所述待训练的文本排序模型,对所述多个推荐文本样本的特征向量进行处理,得到每个推荐文本样本对应的预测标签;其中,所述真实标签用于表征所述推荐文本样本与相应搜索文本的语义相似度;
根据每个推荐文本样本对应的预测标签,确定所述多个推荐文本样本的预测截断位置;
根据真实标签,确定所述预测截断位置的预测截断损失值;
根据所述预测截断损失值,对所述待训练的文本排序模型进行参数调整。
15.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项权利要求所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111254933.XA CN113987161A (zh) | 2021-10-27 | 2021-10-27 | 一种文本排序方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111254933.XA CN113987161A (zh) | 2021-10-27 | 2021-10-27 | 一种文本排序方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113987161A true CN113987161A (zh) | 2022-01-28 |
Family
ID=79742439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111254933.XA Pending CN113987161A (zh) | 2021-10-27 | 2021-10-27 | 一种文本排序方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113987161A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114443989A (zh) * | 2022-01-30 | 2022-05-06 | 北京百度网讯科技有限公司 | 排序方法、排序模型的训练方法、装置、电子设备及介质 |
CN116805044A (zh) * | 2023-08-17 | 2023-09-26 | 北京睿企信息科技有限公司 | 一种标签的获取方法、电子设备及存储介质 |
CN118295968A (zh) * | 2022-08-01 | 2024-07-05 | 荣耀终端有限公司 | 文件搜索方法和相关装置 |
JP7518927B2 (ja) | 2022-01-30 | 2024-07-18 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | ソーティング方法、ソーティングモデルのトレーニング方法、装置、電子機器及び記憶媒体 |
-
2021
- 2021-10-27 CN CN202111254933.XA patent/CN113987161A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114443989A (zh) * | 2022-01-30 | 2022-05-06 | 北京百度网讯科技有限公司 | 排序方法、排序模型的训练方法、装置、电子设备及介质 |
CN114443989B (zh) * | 2022-01-30 | 2023-02-03 | 北京百度网讯科技有限公司 | 排序方法、排序模型的训练方法、装置、电子设备及介质 |
WO2023142406A1 (zh) * | 2022-01-30 | 2023-08-03 | 北京百度网讯科技有限公司 | 排序方法、排序模型的训练方法、装置、电子设备及介质 |
JP7518927B2 (ja) | 2022-01-30 | 2024-07-18 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | ソーティング方法、ソーティングモデルのトレーニング方法、装置、電子機器及び記憶媒体 |
CN118295968A (zh) * | 2022-08-01 | 2024-07-05 | 荣耀终端有限公司 | 文件搜索方法和相关装置 |
CN116805044A (zh) * | 2023-08-17 | 2023-09-26 | 北京睿企信息科技有限公司 | 一种标签的获取方法、电子设备及存储介质 |
CN116805044B (zh) * | 2023-08-17 | 2023-11-17 | 北京睿企信息科技有限公司 | 一种标签的获取方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309427B (zh) | 一种对象推荐方法、装置及存储介质 | |
CN111753060B (zh) | 信息检索方法、装置、设备及计算机可读存储介质 | |
CN109840287B (zh) | 一种基于神经网络的跨模态信息检索方法和装置 | |
CN110442777B (zh) | 基于bert的伪相关反馈模型信息检索方法及系统 | |
CN111046941B (zh) | 一种目标评论检测方法、装置、电子设备和存储介质 | |
CN113987161A (zh) | 一种文本排序方法及装置 | |
CN113627447B (zh) | 标签识别方法、装置、计算机设备、存储介质及程序产品 | |
CN108073568A (zh) | 关键词提取方法和装置 | |
CN110232109A (zh) | 一种网络舆情分析方法以及系统 | |
CN112989212B (zh) | 媒体内容推荐方法、装置和设备及计算机存储介质 | |
CN112148831B (zh) | 图文混合检索方法、装置、存储介质、计算机设备 | |
CN109635157A (zh) | 模型生成方法、视频搜索方法、装置、终端及存储介质 | |
CN112380421A (zh) | 简历的搜索方法、装置、电子设备及计算机存储介质 | |
CN114329181A (zh) | 一种题目推荐方法、装置及电子设备 | |
CN117494815A (zh) | 面向档案的可信大语言模型训练、推理方法和装置 | |
CN113934835B (zh) | 结合关键词和语义理解表征的检索式回复对话方法及系统 | |
CN112925983A (zh) | 一种电网资讯信息的推荐方法及系统 | |
CN116956915A (zh) | 实体识别模型训练方法、装置、设备、存储介质及产品 | |
CN116842934A (zh) | 一种基于持续学习的多文档融合深度学习标题生成方法 | |
CN113157892B (zh) | 用户意图处理方法、装置、计算机设备及存储介质 | |
CN115269998A (zh) | 信息推荐方法、装置、电子设备及存储介质 | |
CN115455152A (zh) | 写作素材的推荐方法、装置、电子设备及存储介质 | |
CN114820134A (zh) | 一种商品信息召回方法、装置、设备和计算机存储介质 | |
CN114443904A (zh) | 视频查询方法、装置、计算机设备及计算机可读存储介质 | |
CN113761123A (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 |