CN111538908B - 搜索排序方法、装置、计算机设备和存储介质 - Google Patents
搜索排序方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111538908B CN111538908B CN202010570799.3A CN202010570799A CN111538908B CN 111538908 B CN111538908 B CN 111538908B CN 202010570799 A CN202010570799 A CN 202010570799A CN 111538908 B CN111538908 B CN 111538908B
- Authority
- CN
- China
- Prior art keywords
- search
- sorted
- recall
- sentence
- sentences
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 239000013598 vector Substances 0.000 claims abstract description 225
- 239000011159 matrix material Substances 0.000 claims abstract description 123
- 230000002452 interceptive effect Effects 0.000 claims abstract description 60
- 238000012163 sequencing technique Methods 0.000 claims abstract description 14
- 238000012549 training Methods 0.000 claims description 96
- 238000004364 calculation method Methods 0.000 claims description 45
- 238000004422 calculation algorithm Methods 0.000 claims description 32
- 238000003062 neural network model Methods 0.000 claims description 29
- 230000015654 memory Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 12
- 238000013140 knowledge distillation Methods 0.000 claims description 12
- 230000011218 segmentation Effects 0.000 claims description 12
- 238000003066 decision tree Methods 0.000 claims description 9
- 238000013528 artificial neural network Methods 0.000 claims description 7
- 230000003993 interaction Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 26
- 238000005516 engineering process Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000003058 natural language processing Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 5
- 206010008479 Chest Pain Diseases 0.000 description 4
- 230000036541 health Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 241000519995 Stachys sylvatica Species 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000009795 derivation Methods 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
- 230000000694 effects Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000000214 mouth Anatomy 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation 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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- 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
-
- 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/3331—Query processing
-
- 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/35—Clustering; Classification
- G06F16/355—Class or cluster creation or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种搜索排序方法、装置、计算机设备和存储介质。所述方法包括:获取搜索语句和对应的各个待排序召回语句。分别将搜索语句和各个待排序召回语句向量化,得到搜索语句向量和各个待排序召回语句向量,计算搜索语句向量分别与各个待排序召回语句向量的相似度,得到各个相似特征。基于搜索语句和各个待排序召回语句进行文本匹配,得到各个文本匹配特征。计算搜索语句和各个待排序召回语句对应的各个自注意力矩阵,基于自注意力矩阵计算得到各个交互特征。基于文本匹配特征、相似特征和交互特征计算搜索语句分别与各个待排序召回语句的相关程度。根据相关程度得到各个待排序召回语句的排序结果。采用本方法能够提高排序结果的精确性。
Description
技术领域
本申请涉及互联网技术领域,特别是涉及一种搜索排序方法、装置、计算机设备和存储介质。
背景技术
随着搜索引擎技术的发展,出现了搜索排序技术,在搜索引擎中,通常包括召回和排序两大步,搜索排序技术则是将召回的结果进行排序后返回给用户,以更好地展示搜索结果,方便用户点击。
然而,目前的搜索排序技术通常是使用搜索语句与召回语句的相似度来进行排序,然而这种使用相似度来进行排序的方法存在召回结果排序质量低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高召回结果排序质量的搜索排序方法、装置、计算机设备和存储介质。
一种搜索排序方法,所述方法包括:
获取搜索语句和对应的各个待排序召回语句;
分别将搜索语句和各个待排序召回语句向量化,得到搜索语句向量和各个待排序召回语句向量,计算搜索语句向量分别与各个待排序召回语句向量的相似度,得到各个相似特征;
基于搜索语句和各个待排序召回语句进行文本匹配,得到各个文本匹配特征;
计算搜索语句和各个待排序召回语句对应的各个自注意力矩阵,基于自注意力矩阵计算得到各个交互特征;
基于文本匹配特征、相似特征和交互特征计算搜索语句分别与各个待排序召回语句的相关程度;
根据搜索语句分别与各个待排序召回语句的相关程度得到各个待排序召回语句的排序结果。
在其中一个实施例中,在根据初始相关程度和节点相关程度计算得到各个特征节点对应的特征贡献度之后,还包括:
获取目标特征和对应的目标特征贡献度,当目标特征贡献度超过预设阈值时,修正目标特征,目标特征是指导致出现错误排序结果的特征。
一种搜索排序装置,所述装置包括:
语句获取模块,用于获取搜索语句和对应的各个待排序召回语句;
相似特征计算模块,用于分别将搜索语句和各个待排序召回语句向量化,得到搜索语句向量和各个待排序召回语句向量,计算搜索语句向量分别与各个待排序召回语句向量的相似度,得到各个相似特征;
文本特征得到模块,用于基于搜索语句和各个待排序召回语句进行文本匹配,得到各个文本匹配特征;
交互特征计算模块,用于计算搜索语句和各个待排序召回语句对应的各个自注意力矩阵,基于自注意力矩阵计算得到各个交互特征;
相关程度计算模块,用于基于文本匹配特征、相似特征和交互特征计算搜索语句分别与各个待排序召回语句的相关程度;
排序模块,用于根据搜索语句分别与各个待排序召回语句的相关程度得到各个待排序召回语句的排序结果。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取搜索语句和对应的各个待排序召回语句;
分别将搜索语句和各个待排序召回语句向量化,得到搜索语句向量和各个待排序召回语句向量,计算搜索语句向量分别与各个待排序召回语句向量的相似度,得到各个相似特征;
基于搜索语句和各个待排序召回语句进行文本匹配,得到各个文本匹配特征;
计算搜索语句和各个待排序召回语句对应的各个自注意力矩阵,基于自注意力矩阵计算得到各个交互特征;
基于文本匹配特征、相似特征和交互特征计算搜索语句分别与各个待排序召回语句的相关程度;
根据搜索语句分别与各个待排序召回语句的相关程度得到各个待排序召回语句的排序结果。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取搜索语句和对应的各个待排序召回语句;
分别将搜索语句和各个待排序召回语句向量化,得到搜索语句向量和各个待排序召回语句向量,计算搜索语句向量分别与各个待排序召回语句向量的相似度,得到各个相似特征;
基于搜索语句和各个待排序召回语句进行文本匹配,得到各个文本匹配特征;
计算搜索语句和各个待排序召回语句对应的各个自注意力矩阵,基于自注意力矩阵计算得到各个交互特征;
基于文本匹配特征、相似特征和交互特征计算搜索语句分别与各个待排序召回语句的相关程度;
根据搜索语句分别与各个待排序召回语句的相关程度得到各个待排序召回语句的排序结果。
上述搜索排序方法、装置、计算机设备和存储介质,通过获取搜索语句和对应的各个待排序召回语句,然后计算搜索语句和对应的各个待排序召回语句的相似特征、文本匹配特征和交互特征,使用相似特征、文本匹配特征和交互特征计算搜索语句分别与各个待排序召回语句的相关程度,从而能够使得到的相关程度更加准确,然后使用相关程度得到各个待排序召回语句的排序结果,从而提高了排序结果的精确性,即提高了召回结果的排序质量。
附图说明
图1为一个实施例中搜索排序方法的应用环境图;
图2为一个实施例中搜索排序方法的流程示意图;
图3为一个实施例中文本匹配的流程示意图;
图4为另一个实施例中文本匹配的流程示意图;
图5为一个具体实施例中文本匹配的架构示意图;
图6为一个实施例中训练句向量化模型的流程示意图;
图7为一个具体实施例中训练句向量化模型的架构示意图;
图8为一个实施例中得到当前交互特征的流程示意图;
图9为一个实施例中计算当前交互特征的流程示意图;
图10为一个实施例中计算相关程度的流程示意图;
图11为一个实施例中计算特征贡献度的流程示意图;
图12为一个具体实施例中展示健康问答结果的页面示意图;
图13为一个具体实施例中搜索排序方法的流程示意图;
图14为一个具体实施例中搜索排序方法的架构示意图;
图15为另一个具体实施例中展示健康问答结果的页面示意图;
图16为一个具体实施例中展示视频搜索结果的页面示意图;
图17为一个具体实施例中A/B测试结果的对照示意图;
图18为一个实施例中搜索排序方法装置的结构框图;
图19为一个实施例中计算机设备的内部结构图;
图20为另一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
人工智能(Artificial Intelligence, AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
自然语言处理(Nature Language processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
本申请实施例提供的方案涉及人工智能的文本处理、语义理解等技术,具体通过如下实施例进行说明:
本申请提供的搜索排序方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102获取到用户输入的搜索语句并发送到服务器104中,服务器104接收到搜索语句,根据搜索语句得到对应的各个待排序召回语句。服务器104分别将搜索语句和各个待排序召回语句向量化,得到搜索语句向量和各个待排序召回语句向量,计算搜索语句向量分别与各个待排序召回语句向量的相似度,得到各个相似特征。服务器104基于搜索语句和各个待排序召回语句进行文本匹配,得到各个文本匹配特征。服务器104计算搜索语句和各个待排序召回语句对应的各个自注意力矩阵,基于自注意力矩阵计算得到各个交互特征。服务器104基于文本匹配特征、相似特征和交互特征计算搜索语句分别与各个待排序召回语句的相关程度。服务器104根据搜索语句分别与各个待排序召回语句的相关程度得到各个待排序召回语句的排序结果,服务器104将各个待排序召回语句和对应的排序结果返回终端102,终端102按照排序结果对各个待排序召回语句进行展示。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种搜索排序方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤202,获取搜索语句和对应的各个待排序召回语句。
其中,搜索语句是指用户的搜索语句,用于进行相关信息的查询。该搜索语句是文字。召回语句是指根据搜索语句召回的语句,是用户想要搜索的结果语句,比如,可以是相关文章的标题、相关视频的标题和相关图片的标题等等。待排序召回语句是指需要进行排序的召回语句。
具体地,服务器接收到用户发送的通过搜索语句进行查找的指令时,获取到搜索语句,根据搜索语句进行召回,获取到召回结果的标题,将召回结果的标签作为各个待排序召回语句。
步骤204,分别将搜索语句和各个待排序召回语句向量化,得到搜索语句向量和各个待排序召回语句向量,计算搜索语句向量分别与各个待排序召回语句向量的相似度,得到各个相似特征。
其中,向量化是指将自然语言表示成能够表达自身语义的向量,可以使用文本表示算法将搜索语句和各个待排序召回语句进行向量化,文本表示算法包括基于向量空闲模型的方法、基于主题模型的方法、基于神经网络的方法等等。相似度用于表示搜索语句向量与待排序召回语句向量的相似性,可以使用相似度算法计算相似度,相似度算法包括但不限于欧几里得距离算法、余弦相似度算法、皮尔逊相关系数算法、杰卡德相似系数算法等等。相似特征是根据搜索语句与对应的待排序召回语句之间的相似性得到的特征。
具体地,服务器将搜索语句向量化得到搜索语句向量,分别将各个待排序召回语句向量化得到对应的待排序召回语句向量。服务器计算搜索语句向量与每个待排序召回语句向量之间的相似度,将得到的相似度作为搜索语句与对应待排序召回语句之间的相似特征。在一个实施例中,也可以计算向量间的点积得到相似度。
步骤206,基于搜索语句和各个待排序召回语句进行文本匹配,得到各个文本匹配特征。
其中,文本匹配是指对搜索语句和待排序召回语句进行是否为同义语句的匹配。文本匹配特征是指搜索语句与待排序召回语句进行文本匹配得到的文本匹配度对应的特征,该文本匹配度用于衡量搜索语句与待排序召回语句为同义语句的程度,程度越高,搜索语句与待排序召回语句为同义语句的概率就越高。
具体地,服务器将搜索语句和每个待排序召回语句进行文本匹配,得到文本匹配度,将文本匹配度作为搜索语句与对应待排序召回语句之间的文本匹配特征。
步骤208,计算搜索语句和各个待排序召回语句对应的各个自注意力矩阵,基于自注意力矩阵计算得到各个交互特征。
其中,自注意力矩阵是指使用自注意机制得到搜索语句和待排序召回语句对应的矩阵。在自然语言处理中,自注意力机制指的是学习一句话内部各个词汇之间的相互指代关系,从而更好得表征一句话。
具体地,计算搜索语句与每个待排序召回语句对应的自注意力矩阵,该自注意力矩阵中每一维代表对应位置词之间的相似度。从自注意力矩阵中为搜索语句中每个词查找待排序召回语句中最相近的词,并从自注意力矩阵中为待排序召回语句中每个词查找搜索语句中最相近的词,得到该搜索语句与待排序召回语句对应的交互特征。
步骤210,基于文本匹配特征、相似特征和交互特征计算搜索语句分别与各个待排序召回语句的相关程度。
其中,相关程度用于表征搜索语句与待排序召回语句的相似性,相关程度越高,相似性越高,则说明排序越前。
具体地,服务器基于文本匹配特征、相似特征和交互特征使用搜索排序算法计算出各个待排序召回语句与搜索语句的相关程度,其中,搜索排序算法是指搜索引擎中对搜索结果进行排序的算法包括但不限于LambdaMart(一种Listwise类型的 LTR(Learning toRank,排序学习)算法,它基于LambdaRank算法和 MART算法,将搜索引擎结果排序问题转化为回归决策树问题)算法、GBRank(利用梯度提升树实现排序的算法)、RankNet(一种Listwise类型的 LTR 算法)和RankSVM(一种Listwise类型的 LTR 算法)。
步骤212,根据搜索语句分别与各个待排序召回语句的相关程度得到各个待排序召回语句的排序结果。
具体地,服务器根据搜索语句分别与各个待排序召回语句的相关程度对各个待排序召回语句从大到小进行排序,得到各个待排序召回语句的排序结果。服务器然后将各个待排序召回语句按照排序结果返回给用户终端进行展示。
在一个实施例中,该搜索排序方法也可以应用于图1中的终端中,具体来说:终端获取搜索语句和并从服务器中获取到对应的各个待排序召回语句。终端分别将搜索语句和各个待排序召回语句向量化,得到搜索语句向量和各个待排序召回语句向量,计算搜索语句向量分别与各个待排序召回语句向量的相似度,得到各个相似特征。基于搜索语句和各个待排序召回语句进行文本匹配,得到各个文本匹配特征。计算搜索语句和各个待排序召回语句对应的各个自注意力矩阵,基于自注意力矩阵计算得到各个交互特征。基于文本匹配特征、相似特征和交互特征计算搜索语句分别与各个待排序召回语句的相关程度。根据搜索语句分别与各个待排序召回语句的相关程度得到各个待排序召回语句的排序结果。终端按照各个待排序召回语句的排序结果进行搜索语句对应搜索结果的展示。
在上述搜索排序方法中,通过获取搜索语句和对应的各个待排序召回语句,然后计算搜索语句和对应的各个待排序召回语句的相似特征、文本匹配特征和交互特征,使用相似特征、文本匹配特征和交互特征计算搜索语句分别与各个待排序召回语句的相关程度,从而能够使得到的相关程度更加准确,然后使用相关程度得到各个待排序召回语句的排序结果,从而提高了排序结果的精确性,即提高了召回结果的排序质量。
在一个实施例中,步骤204,即分别将搜索语句和各个待排序召回语句向量化,得到搜索语句向量和各个待排序召回语句向量,包括步骤:
将搜索语句输入到句向量化模型中进行向量化,得到搜索语句向量。分别将各个待排序召回语句输入到句向量化模型中进行向量化,得到各个待排序召回语句向量。句向量化模型是指根据向量化训练语句使用神经网络算法进行知识蒸馏后得到的。
其中,向量化训练语句是用于句向量化模型训练的语句。知识蒸馏是指通过教师-学生网络结构,通过具体任务训练小模型来学习大模型的特征表示,训练小模型的过程称为知识蒸馏。神经网络算法包括但不限于Bi-LSTM(Bi-directional Long Short-TermMemory,双向长短期记忆网络)算法。
具体地,服务器预先根据向量化训练语句使用神经网络算法进行知识蒸馏,从而训练得到的句向量化模型,然后将训练好的句向量化模型进行部署并使用。在使用时,将搜索语句输入到句向量化模型中进行向量化,得到搜索语句向量。然后将各个待排序召回语句输入到句向量化模型中进行向量化,得到各个待排序召回语句向量。
在上述实施例中,通过使用句向量化模型进行向量化,由于句向量化模型是通过知识蒸馏训练得到的,能够提供减少计算量,提高计算速度,提升效率。
在一个实施例中,如图3所示,步骤206,基于搜索语句和各个待排序召回语句进行文本匹配,得到各个文本匹配特征,包括:
步骤302,从各个待排序召回语句确定当前待排序召回语句,将搜索语句和当前待排序召回语句输入到文本匹配模型中进行文本匹配,得到搜索语句与当前待排序召回语句的文本匹配度。
步骤304,将文本匹配度作为搜索语句与当前待排序召回语句对应的文本匹配特征;文本匹配模型是根据文本匹配训练语句使用句向量化模型进行文本匹配训练后得到的。
其中,当前待排序召回语句是指当前要与搜索语句进行文本匹配的语句。句向量化模型是指根据向量化训练语句使用神经网络算法进行知识蒸馏后得到的模型。文本匹配训练语句是指用于进行文本匹配模型训练的语句,包括同义语句和非同义语句,同义语句是指具有相同含义的语句,非同义语句是指具有不同含义的语句。
具体地,服务器预先训练好文本匹配模型,然后进行部署并使用。在训练文本匹配模型时,直接使用句向量化模型进行训练,即在句向量化模型后添加用于进行文本匹配的结构,得到新的模型,然后使用文本匹配训练语句对新的模型进行训练,当训练完成时,得到文本匹配模型。然后服务器将从各个待排序召回语句确定当前待排序召回语句,将搜索语句和当前待排序召回语句输入到文本匹配模型中进行文本匹配,得到搜索语句与当前待排序召回语句的文本匹配度,然后将文本匹配度作为搜索语句与当前待排序召回语句之间的文本匹配特征,使用文本匹配模型得到每个待排序召回语句对应的文本匹配特征。
在上述实施例中,通过文本匹配模型将搜索语句与各个待排序召回语句进行文本匹配,将得到的文本匹配度作为文本匹配特征,提高了得到文本匹配特征的效率。
在一个实施例中,如图4所示,步骤302,将搜索语句和当前待排序召回语句输入到文本匹配模型中进行文本匹配,得到搜索语句与当前待排序召回语句的文本匹配度,包括步骤:
步骤402,将搜索语句向量化,得到搜索语句向量,并将当前待排序召回语句向量化,得到当前待排序召回语句向量。
其中,文本匹配模型中包括文本向量化网络和文本匹配网络,其中,文本向量化网络用于进行文本向量化,文本匹配网络用语进行计算文本匹配度。
具体地,服务器将搜索语句和当前待排序召回语句通过文本向量化网络进行向量化,得到搜索语句向量和当前待排序召回语句向量。
步骤404,基于搜索语句向量与当前待排序召回语句向量进行向量运算,得到运算结果向量。
其中,向量运算是指向量间的基本运算,该基本运算包括但不限于加法、减法、数乘、数量积、向量积和绝对值。
具体地,使用搜索语句向量与当前待排序召回语句向量进行向量运算,得到运算结果向量。
步骤406,将搜索语句向量、当前待排序召回语句向量和运算结果向量进行拼接,得到目标拼接特征,基于目标拼接特征进行文本匹配,得到搜索语句与当前待排序召回语句的文本匹配度。
其中,拼接是指将向量连接起来。目标拼接特征是指将搜索语句向量、当前待排序召回语句向量和运算结果向量进行拼接后得到的特征。
具体地,服务器将搜索语句向量、当前待排序召回语句向量和运算结果向量进行拼接,得到目标拼接特征,将目标拼接特征输入到文本匹配网络中进行文本匹配,得到搜索语句与当前待排序召回语句的文本匹配度。
在一个具体的实施例中,如图5所示,为文本匹配的架构示意图,其中,输入1为搜索语句,输入2为待排序召回语句。将输入1和输入2输入到文本向量化网络中进行向量化,得到搜索语句向量为,得到当前待排序召回语句向量为,则搜索语句向量和当前待排序召回语句向量的数量积为,绝对值为,将数量积和绝对值作为运算结果向量。则得到的目标拼接特征为,将目标拼接特征输入到文本匹配网络中进行文本匹配,得到搜索语句与当前待排序召回语句的文本匹配度。
在上述实施例中,通过计算得到运算结果向量,然后将搜索语句向量、当前待排序召回语句向量和运算结果向量进行拼接,得到目标拼接特征,将目标拼接特征输入到文本匹配网络中进行文本匹配,能够避免文本匹配模型是通过句向量模型训练从而带来的效果损失,提升文本匹配的精确性。
在一个实施例中,文本匹配模型的生成包括以下步骤:
获取句向量化模型,根据句向量化模型得到初始文本匹配模型;获取文本匹配训练语句,文本匹配训练语句包括同义语句和非同义语句,将同义语句和非同义语句输入到初始文本匹配模型中进行训练,当训练完成时,得到文本匹配模型。
其中,初始文本匹配模型是在句向量化模型后添加用于进行文本匹配的网络结构得到模型。训练完成是指训练达到最大迭代次数或者损失函数的值达到预设阈值。
具体地,服务器获取到已训练的句向量化模型,根据句向量化模型得到初始文本匹配模型,然后获取到文本匹配训练语句,文本匹配训练语句包括同义语句和非同义语句,将同义语句和非同义语句输入到初始文本匹配模型中进行训练,当训练完成时,得到文本匹配模型,使用句向量化模型训练文本匹配模型,提高了文本匹配模型的训练效率。
在一个实施例中,如图6所示,句向量化模型的生成包括以下步骤:
步骤602,获取向量化训练语句,将向量化训练语句分词,得到分词结果,获取分词结果对应的训练词向量。
其中,向量化训练语句是用于进行向量模型训练的语句。分词是指将一个语句进行切分,得到一个个单独的词。训练词向量是指训练语句中的词对应的向量。
具体地,服务器获取到向量化训练语句,将向量化训练语句分词,得到分词结果。然后服务器获取分词结果对应的训练词向量,比如,可以通过词典来获取词向量,通过用于对词进行向量化的模型来获取词向量等等。
步骤604,将训练词向量输入到初始神经网络模型中和已训练的向量化模型中进行前向计算,得到输出的第一向量和第二向量。
其中,初始神经网络模型是指在知识蒸馏中的学生网络模型。已训练的向量化模型是指在知识蒸馏中的教师网络模型。前向计算是指模型根据输入得到输出的过程。第一向量是指训练词向量通过初始神经网络模型进行计算得到的输出向量,第二向量是指训练词向量通过已训练的向量化模型进行计算得到的输出向量。
具体地,服务器将训练词向量同时输入到初始神经网络模型中和已训练的向量化模型中进行前向计算,得到输出的第一向量和第二向量。
步骤606,基于第一向量和第二向量使用预设损失函数计算损失值。
其中,预设损失函数是指预先设置好的损失函数,用于计算第一向量和第二向量之间的损失值。该损失值用于表征第一向量和第二向量之间的差值。
具体地,服务器使用第一向量和第二向量使用预设损失函数计算损失值。
步骤608,判断训练得到的损失值是否符合预设条件,当符合预设条件时,执行步骤610a,当未符合预设条件时,执行步骤610b并返回步骤604执行。
步骤610b,根据损失值对初始神经网络模型进行反向传播更新,得到更新模型参数的神经网络模型。将更新模型参数的神经网络模型作为初始神经网络模型,并返回步骤604执行。
步骤610a,将已训练的神经网络模型作为句向量化模型。
其中,预设条件是指预先设置好的损失值阈值。
具体地,服务器判断计算得到的损失值是否小于损失值阈值,当损失值未小于损失值阈值时,说明训练还未完成,此时,服务器根据损失值对初始神经网络模型进行反向传播更新,即使用损失值更新初始神经网络模型中的模型参数,得到更新模型参数的神经网络模型,并将更新模型参数的神经网络模型作为初始神经网络模型,并返回步骤604执行。当损失值小于损失值阈值时,说明训练完成,此时,将最后一次迭代的神经网络模型作为句向量化模型。然后将句向量化模型进行部署,然后进行使用。
在一个实施例中,步骤606,即基于第一向量和第二向量使用预设损失函数计算损失值,包括步骤:
计算第一向量和第二向量的相似度,并计算相似度和预设第一常量之和,得到目标和值。计算目标和值与预设第二常量的比值,比较预设第一常量与比值,得到损失值。
其中,相似度是根据第一向量和第二向量使用相似度算法计算得到的,相似度算法包括但不限于余弦相似度算法、欧式距离算法等。预设第一常量是指预先设置好的常量,用于与相似度求和。预设第二常量是指预先设置好的常量,用于与目标和值进行相比。该预设第一常量和预设第二常量可以相同,也可以不同。
具体地,服务器计算第一向量和第二向量的相似度,然后计算相似度与预设第一常量的和,得到目标和值,将目标和值与预设第二常量进行相比,得到比值,比较预设第一常量与比值,比如,使用预设第二常量减去比值,得到损失值。
在一个具体的实施例中,如图7所示,进行知识蒸馏训练句向量化模型的架构示意图。具体来说;
将向量化的训练数据同时输入到BERT(Bidirectional Encoder Representationfrom Transformers,Transformer的双向编码器表示)模型和Bi-LSTM模型中,其中,BERT模型为已训练的向量化模型,是教师网络。Bi-LSTM模型是要进行训练的向量化模型,是学生网络。此时,得到输出的Bi-LSTM向量和BERT向量,并使用自定义损失函数计算损失值,其中,自定义损失函数可以如下公式(1)所示:
此时,计算得到损失值时,当损失值未小于预设阈值时,使用损失值对Bi-LSTM模型进行优化,然后在进行训练,当损失值小于预设阈值时,得到训练完成的Bi-LSTM模型,该Bi-LSTM模型可以进行向量化。对Bi-LSTM模型进行微调后可以使Bi-LSTM模型用于四种自然语言处理的下游任务:文本匹配、句向量表示、文本分类和聚类。
在上述实施例中,通过知识蒸馏的方法训练得到句向量化模型,能够使得到的句向量化模型在使用时,提高计算效率,从而满足线上时延要求。
在一个实施例中,如图8所示,步骤208,即计算搜索语句和各个待排序召回语句对应的各个自注意力矩阵,基于各个自注意力矩阵计算得到各个交互特征,包括:
步骤802,从各个待排序召回语句确定当前待排序召回语句,分别将搜索语句和当前待排序召回语句分词,得到各个搜索词和各个当前待排序召回词。
其中,当前待排序召回语句是指当前需要进行词向量化的待排序召回语句。
具体地,服务器从各个待排序召回语句随机选取当前待排序召回语句,然后将搜索语句和当前待排序召回语句进行分词,得到搜索语句对应的各个搜索词和当前待排序召回语句对应的各个当前待排序召回词。
步骤804,将各个搜索词输入到词向量化模型中向量化,得到搜索词矩阵,并将各个当前待排序召回词输入到词向量化模型中向量化,得到当前待排序召回词矩阵。
其中,词向量化模型用于对词进行向量化,比如,可以使用词嵌入模型将单词转换为计算机能够理解的向量或矩阵形式。
具体地,服务器将各个搜索词输入到词向量化模型中向量化,得到搜索词矩阵,然后将各个当前待排序召回词输入到词向量化模型中向量化,得到当前待排序召回词矩阵。
步骤806,计算搜索词矩阵与当前待排序召回词矩阵的乘积,得到搜索语句和当前待排序召回语句对应的目标自注意力矩阵。
具体地,服务器计算矩阵相乘结果,即计算搜索词矩阵与当前待排序召回词矩阵的乘积,就得到了搜索语句和当前待排序召回语句对应的目标自注意力矩阵。
步骤808,计算目标自注意力矩阵对应的行特征和列特征,并计算目标自注意力矩阵对应的矩阵特征。
其中,行特征是根据目标自注意力矩阵中各个行中元素得到的。列特征是根据目标自注意力矩阵中各个列中元素得到的。矩阵特征是根据目标自注意力矩阵中各个元素得到的。
具体地,服务器根据目标自注意力矩阵中各个行的元素计算得到行特征,然后根据各个列的元素计算得到列特征,最后,根据计算得到的行特征和列特征进一步计算得到的矩阵特征。
在一个实施例中,如图9所示,步骤808,包括:
步骤808A,从目标自注意力矩阵中得到各个矩阵行对应的目标行值,计算各个目标行值的和,得到行特征。
步骤808B,从目标自注意力矩阵中得到各个矩阵列对应的目标列值,计算各个目标列值的和,得到列特征。
其中,目标行值是指从矩阵行中选取的最大值。目标列值是指从矩阵列中选取的最大值。
具体地,服务器从目标自注意力矩阵中选取到各个矩阵行对应的目标行值,即获取到每个矩阵行中的最大值,然后计算各个目标行值的和,将该和作为行特征。同时,从目标自注意力矩阵中选取到各个矩阵列对应的目标列值,即获取到每个矩阵列中的最大值,然后计算各个目标列值的和,将该和作为列特征。
步骤808C,从各个目标行值中确定最终目标行值,从各个目标列值中确定最终目标列值,计算最终目标行值与最终目标列值之和,得到矩阵特征。
具体地,最终目标行值是指各个目标行值中的最大值,最终目标列值是指各个目标列值中的最大值,服务器计算最终目标行值与最终目标列值的和,得到矩阵特征。在一个实施例中,可以将各个目标行值的和与各个目标列值的和进行相加,将相加结果作为矩阵特征。
步骤810,将行特征、列特征和矩阵特征进行拼接,得到搜索语句和当前待排序召回语句对应的当前交互特征。
具体地,服务器将行特征、列特征和矩阵特征进行拼接,得到搜索语句和当前待排序召回语句对应的当前交互特征。
在一个具体的实施例中,查询语句包含5个词,每个词对应的词向量为512维,则查询词矩阵则为5 x 512维,同理,若当前待排序召回语句包含10个词,每个词对应的词向量512维,当前待排序召回词矩阵则为10 x 512。将两个矩阵做乘法之后,得到自注意力矩阵则为5 x 10维,其中,自注意力矩阵中每个元素数字用于表征对应位置的查询语句中词与当前待排序召回语句中词之间的相似度。从查询语句的角度出发,即按照行选取自注意力矩阵中的最大值,计算每个行最大值的和,得到一维行特征,从当前待排序召回语句的角度出发,即按照列选取自注意力矩阵中的最大值,计算每个列最大值的和,得到一维列特征。然后从整体出发,按照行和列分别选取自注意力矩阵中的最大值,计算所有最大值的和,得到一维矩阵特征,则根据一维行特征、一维列特征和一维矩阵特征得到三维的当前交互特征。
在上述实施例中,通过计算行特征、列特征和矩阵特征,根据行特征、列特征和矩阵特征进行拼接得到当前交互特征,使得到的当前交互特征能够更加的准确。
在一个实施例中,步骤210,即基于文本匹配特征、相似特征和交互特征计算搜索语句分别与各个待排序召回语句的相关程度,包括步骤:
从搜索语句中提取搜索语句特征,并从各个待排序召回语句提取待排序召回语句特征。基于搜索语句特征、待排序召回语句特征、文本匹配特征、相似特征和交互特征计算搜索语句分别与各个待排序召回语句的相关程度。
其中,搜索语句特征是指搜索语句对应的特征,包括搜索语句中实体数量特征和搜索语句搜索频率特征。实体数量特征是指搜索语句中实体出现的数量对应的特征。搜索语句搜索频率特征是指用户在进行搜索的频率对应的特征。待排序召回语句特征是指待排序召回语句对应的特征,包括待排序召回语句中的实体数量特征和待排序召回语句中词频特征等,词频特征是指待排序召回语句中的词在所有待排序召回语句出现的次数与所有待排序召回语句的数量的比值。在一个实施例中,待排序召回语句特征还包括以待排序召回语句为标题的文档对应的特征,比如,文档中最大词频特征,最小词频特征、标点占比特征等等。
具体地,服务器从搜索语句中提取到搜索语句特征,并从各个待排序召回语句提取到待排序召回语句特征。将搜索语句特征、待排序召回语句特征、文本匹配特征、相似特征和交互特征进行拼接,然后根据拼接结果计算搜索语句分别与各个待排序召回语句的相关程度。
在上述实施例中,通过提取到搜索语句特征和待排序召回语句特征,使用搜索语句特征、待排序召回语句特征、文本匹配特征、相似特征和交互特征共同计算相关程度,提高了得到相关程度的准确性。
在一个实施例中,如图10所示,步骤210即基于文本匹配特征、相似特征和交互特征计算搜索语句分别与各个待排序召回语句的相关程度,包括:
步骤1002,将文本匹配特征、相似特征和交互特征进行拼接,得到拼接后的特征。
步骤1004,将拼接后的特征输入到搜索排序模型中进行计算,得到搜索语句与待排序召回语句的相关程度;搜索排序模型是根据排序训练数据使用回归决策树进行训练后得到的。
其中,排序训练数据是用于训练搜索排序模型的语句,包括训练搜索语句、相关的训练召回语句和未相关的训练召回语句。回归决策树是进行搜索排序的算法,使用回归决策树训练得到的搜索排序模型能够预测搜索语句和待排序召回语句的相关程度。
具体地,服务器预先使用回归决策树建立搜索排序初始模型,然后使用排序训练数据对搜索排序初始模型进行训练,当训练达到最大迭代次数或者训练的损失阈值达到预设阈值时,训练完成得到搜索排序模型。然后将搜索排序模型进行部署,从而是服务器能够使用该搜索排序模型。在使用时,服务器先将文本匹配特征、相似特征和交互特征进行拼接,得到拼接后的特征,然后将拼接后的特征输入到搜索排序模型中进行计算,得到输出的计算结果,即得到搜索语句与待排序召回语句的相关程度。
在本实施例中,通过搜索排序模型计算搜索语句与待排序召回语句的相关程度,能够提高得到相关程度的准确性。
在一个实施例中,如图11所示,在步骤1004步骤之后,即在将拼接后的特征输入到搜索排序模型中进行计算,得到搜索语句与待排序召回语句的相关程度之后,还包括:
步骤1102,获取搜索排序模型中根特征节点对应的初始相关程度,根据初始相关程度和拼接后的特征计算得到搜索排序模型中各个特征节点对应的节点相关程度;
其中,初始相关程度是指预先设置好的决策树中根节点对应的相关程度。从决策树的根节点出发,进行决策的路径中,经过每一个特征节点后,模型的相关程度会有相应的变化,直到最终决策路径完毕,输出模型预测出的相关程度。节点相关程度是指拼接后的特征经过该对应的特征节点进行计算后输出的相关程度。
具体地,服务器在使用搜索排序模型计算相关程度时,同时计算出经过的路径中每个特征节点输出的节点相关程度。即根据初始相关程度和拼接后的特征计算得到搜索排序模型中各个特征节点对应的节点相关程度。
步骤1104,根据初始相关程度和节点相关程度计算得到各个特征节点对应的特征贡献度。
其中,特征贡献度是指该特征节点对计算出的最终的相关程度作出的贡献,特征贡献度越高,说明该特征节点越重要。
具体地,服务器计算初始相关程度与每个特征节点对应的节点相关程度的差值,将该差值作为特征节点对应的特征贡献度。在一个具体地实施例中,服务器使用如下公式(2)计算特征贡献度:
其中,表示根节点对应的相关程度,k表示特征的个数。表示经过第k个特征节点时,得到的输出的相关程度,x是指特征节点对应的特征。然后,对得到的各个特征节点对应的特征贡献度进行归一化,根据归一化对各个特征节点按照从大到小进行排序,得到排序结果。获取到排序结果中topN的特征节点对应的特征节点值、特征节点名称和特征节点输出的相关程度。该topN是指排序前N的特征节点,N为常量,是人为设置的,比如输出前三名的特征节点对应的特征节点值、特征节点名称、特征节点输出的相关程度到用户终端,方便用户进行查看。
在本实施例中,通过根据初始相关程度和拼接后的特征计算得到搜索排序模型中各个特征节点对应的节点相关程度,根据初始相关程度和节点相关程度计算得到各个特征节点对应的特征贡献度,从而能够使用户得知影响排序结果的特征,从而能够对排序结果进行解释,提高了可解释性,该可解释性是指在机器学习中,使用者通常除了需要知道模型的预测结果,还需要知道产生该结果对应的原因,即知道哪些特征对预测结果的影响比较高。
在一个实施例中,在步骤1104之后,即在根据初始相关程度和节点相关程度计算得到各个特征节点对应的特征贡献度之后,还包括步骤:
获取目标特征和对应的目标特征贡献度,当目标特征贡献度超过预设阈值时,修正目标特征,目标特征是指导致出现错误排序结果的特征。
其中,目标特征是指在排序时导致排序发生错误的特征。目标特征贡献度是指目标特征对应的特征贡献度。预设阈值是指预先设置好的特征贡献度阈值,当超过时,说明该错误特征严重影响排序结果,需要马上进行修正,当未超过时,说明该错误特征对排序结果影响较小,此时,可以稍后进行修正。
具体地,服务器获取到目标特征和对应的目标特征贡献度,当目标特征贡献度超过预设阈值时,修正目标特征。在一个实施例中,获取到所有特征贡献度的排序结果,当目标特征贡献度在该排序结果的预先设置好的排序顺序之前时,修正目标特征数。比如,目标特征贡献度排在所有特征贡献度的前三中,此时说明该错误特征严重影响排序结果需要马上进行修正,方便用户发现出现错误预测结果的原因并方便用户进行对应的修正,提高了效率。
在一个具体的实施例中,如图12所示,用户得到搜索排序结果的页面示意图,其中,用户在进行健康问答时,输入搜索语句“口腔内有白斑”,终端显示搜索排序结果,其中,该页面中将实体(图中加黑字体)数为1的结果排在了实体数为2的结果之前,说明实体数特征在排序时出现了错误,此时,由于实体数特征的特征贡献度超过了预设阈值,则对实体数特征进行修正。比如,是通过命名实体识别模型(NER,Named Entity Recognition)识别到实体,从而得到实体数特征时,则需要使用该错误结果和对应的正确结果去更新命名实体识别模型中的参数,从而能够使更新后的命名实体识别模型识别得到正确的实体结果,从而将实体数为2的结果展示在实体数据为1的结果之前,从而使排序结果正常。
在一个具体的实施例中,如图13所示,提供一种搜索排序方法的流程示意图,具体包括:
步骤1302,获取搜索语句和对应的各个待排序召回语句。
步骤1304,将搜索语句输入到句向量化模型中进行向量化,得到搜索语句向量。分别将各个待排序召回语句输入到句向量化模型中进行向量化,得到各个待排序召回语句向量。计算搜索语句向量分别与各个待排序召回语句向量的相似度,得到各个相似特征。
步骤1306,从各个待排序召回语句向量中确定当前待排序召回语句向量,基于搜索语句向量与当前待排序召回语句向量进行向量运算,得到运算结果向量。
步骤1308,将搜索语句向量、当前待排序召回语句向量和运算结果向量进行拼接,得到目标拼接特征,基于目标拼接特征进行文本匹配,得到搜索语句与当前待排序召回语句的文本匹配度,将文本匹配度作为搜索语句与当前待排序召回语句对应的文本匹配特征。重复步骤1306到步骤1308计算得到搜索语句与各个待排序召回语句对应的文本匹配特征。
步骤1310,从各个待排序召回语句确定当前待排序召回语句,分别将搜索语句和当前待排序召回语句分词,得到各个搜索词和各个当前待排序召回词。将各个搜索词输入到词向量化模型中向量化,得到搜索词矩阵,并将各个当前待排序召回词输入到词向量化模型中向量化,得到当前待排序召回词矩阵。
步骤1312,计算搜索词矩阵与当前待排序召回词矩阵的乘积,得到搜索语句和当前待排序召回语句对应的目标自注意力矩阵。
步骤1314,从目标自注意力矩阵中得到各个矩阵行对应的目标行值,计算各个目标行值的和,得到行特征。从目标自注意力矩阵中得到各个矩阵列对应的目标列值,计算各个目标列值的和,得到列特征。从各个目标行值中确定最终目标行值,从各个目标列值中确定最终目标列值,计算最终目标行值与最终目标列值之和,得到矩阵特征
步骤1316,将行特征、列特征和矩阵特征进行拼接,得到搜索语句和当前待排序召回语句对应的交互特征。重复步骤1310到步骤1316计算得到搜索语句与各个待排序召回语句对应的交互特征。
步骤1318,从搜索语句中提取搜索语句特征,并从各个待排序召回语句提取待排序召回语句特征。将搜索语句和当前待排序召回语句对应的搜索语句特征、待排序召回语句特征、文本匹配特征、相似特征和交互特征进行拼接,得到拼接后的特征,将拼接后的特征输入到搜索排序模型中进行计算,得到搜索语句与当前待排序召回语句的相关程度。依次使用搜索排序模型计算得到各个待排序召回语句与搜索语句的相关程度。
步骤1320,根据搜索语句分别与各个待排序召回语句的相关程度得到各个待排序召回语句的排序结果。
在一个具体的实施例中,如图14所示,提供一种搜索排序方法的架构示意图,具体来说:
查询语句和召回语句分别通过句向量化模型进行向量化,然后进行点积计算,得到句向量相似度,将句向量相似度作为相似特征。并将查询语句和召回语句输入到文本匹配模型中,得到文本匹配度,将文本匹配度作为文本匹配特征。同时将查询语句和召回语句分别通过词向量化模型进行向量化,得到查询词矩阵和召回词矩阵,计算查询词矩阵和召回词矩阵的点积,得到自注意力矩阵,然后获取到自注意力矩阵中每列中的最大值并计算和,每行中的最大值并计算和,同时计算自注意力矩阵的范数作为矩阵特征,从而得到交互特征。然后将相似特征,文本匹配特征、交互特征以及其他计算得到的特征进行拼接后输入到搜索排序模型中进行得分的计算,即得到该查询语句和召回语句相关程度。通过搜索语句和每个召回语句对应的得分,将得分按照从大到小进行排序,得到召回语句的排序结果,根据排序结果进行搜索结果的返回。
本申请还提供一种应用场景,该应用场景应用上述的搜索排序方法。具体地,该搜索排序方法在该应用场景的应用如下:
如图15所示,为用户通过健康问答应用程序搜索“左胸口刺痛”的搜索结果的页面示意图。具体来说,用户在搜索栏输入“左胸口刺痛”进行搜索,用户将搜索语句“左胸口刺痛”发送到服务器,服务器进行召回,得到各个召回文档对应的标题,将各个标题作为待排序召回语句。然后对各个待排序召回语句进行排序,即获取搜索语句和对应的各个待排序召回语句。分别将搜索语句和各个待排序召回语句向量化,得到搜索语句向量和各个待排序召回语句向量,计算搜索语句向量分别与各个待排序召回语句向量的相似度,得到各个相似特征。基于搜索语句和各个待排序召回语句进行文本匹配,得到各个文本匹配特征。计算搜索语句和各个待排序召回语句对应的各个自注意力矩阵,基于自注意力矩阵计算得到各个交互特征。基于文本匹配特征、相似特征和交互特征计算搜索语句分别与各个待排序召回语句的相关程度。根据搜索语句分别与各个待排序召回语句的相关程度得到各个待排序召回语句的排序结果。然后按照各个待排序召回语句的排序结果将各个召回文档发送给用户终端,用户终端按照各个待排序召回语句的排序结果将搜索“左胸口刺痛”的搜索结果进行展示。
本申请还另外提供一种应用场景,该应用场景应用上述的搜索排序方法。具体地,该搜索排序方法在该应用场景的应用如下:
用户使用教育培训应用程序搜索视频,如图16所示,为用户搜索“计算机专业课程”视频的页面示意图,其中,用户通过在搜索栏输入“计算机专业课程”进行视频搜索,用户将搜索语句“计算机专业课程”发送到服务器,服务器进行视频召回,得到各个召回视频对应的标题,将各个标题作为待排序召回语句。然后对各个待排序召回语句进行排序,即获取搜索语句和对应的各个待排序召回语句。分别将搜索语句和各个待排序召回语句向量化,得到搜索语句向量和各个待排序召回语句向量,计算搜索语句向量分别与各个待排序召回语句向量的相似度,得到各个相似特征。基于搜索语句和各个待排序召回语句进行文本匹配,得到各个文本匹配特征。计算搜索语句和各个待排序召回语句对应的各个自注意力矩阵,基于自注意力矩阵计算得到各个交互特征。基于文本匹配特征、相似特征和交互特征计算搜索语句分别与各个待排序召回语句的相关程度。根据搜索语句分别与各个待排序召回语句的相关程度得到各个待排序召回语句的排序结果。然后按照各个待排序召回语句的排序结果将各个召回视频发送给用户终端,用户终端按照各个待排序召回语句的排序结果将搜索“计算机专业课程”的视频进行展示。
在一个具体的实施例中,通过A/B测试上述实施例中的搜索排序方法,如图17所示,为在A/B测试时从1月20日到2月16日期间用户点击搜索结果的对照示意图,其中,统计了使用成熟的现有搜索排序算法的用户点击数和用户点击率,以及使用本申请搜索排序方法后用户对搜索结果的点击数和用户点击率。A/B测试的测试结果如下表1所示:
表1A/B测试结果对照表
[0001] 排序算法 | [0002] 文章推出量 | [0003] 文章点击量 | [0004] 点击率 |
[0005] 现有算法 | [0006] 2622 | [0007] 1252 | [0008] 47.7% |
[0009] 本申请 | [0010] 2699 | [0011] 1389 | [0012] 51.5% |
其中,文章推出量是指用户搜索时服务器召回的文章数量,文字点击量是指用户点击搜索结果的数量。明显的,本申请用户点击率提高了3.8%。即通过A/B测试证明了本申请搜索排序方法进一步提升了搜索排序的精准性,从而能够提升用户点击率,方便用户使用。
应该理解的是,虽然图2-4、6、8-11和13的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4、6、8-11和13中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图18所示,提供了一种搜索排序装置1800,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:语句获取模块1802、相似特征计算模块1804、文本特征得到模块1806、交互特征计算模块1808、相关程度计算模块1810和排序模块1812,其中:
语句获取模块1802,用于获取搜索语句和对应的各个待排序召回语句;
相似特征计算模块1804,用于分别将搜索语句和各个待排序召回语句向量化,得到搜索语句向量和各个待排序召回语句向量,计算搜索语句向量分别与各个待排序召回语句向量的相似度,得到各个相似特征;
文本特征得到模块1806,用于基于搜索语句和各个待排序召回语句进行文本匹配,得到各个文本匹配特征;
交互特征计算模块1808,用于计算搜索语句和各个待排序召回语句对应的各个自注意力矩阵,基于自注意力矩阵计算得到各个交互特征;
相关程度计算模块1810,用于基于文本匹配特征、相似特征和交互特征计算搜索语句分别与各个待排序召回语句的相关程度;
排序模块1812,用于根据搜索语句分别与各个待排序召回语句的相关程度得到各个待排序召回语句的排序结果。
在一个实施例中,相似特征计算模块1804,包括:
向量化单元,用于将搜索语句输入到句向量化模型中进行向量化,得到搜索语句向量;分别将各个待排序召回语句输入到句向量化模型中进行向量化,得到各个待排序召回语句向量;句向量化模型是指根据向量化训练语句使用神经网络算法进行知识蒸馏后得到的。
在一个实施例中,文本特征得到模块1806,包括:
文本匹配度得到单元,用于从各个待排序召回语句确定当前待排序召回语句,将搜索语句和当前待排序召回语句输入到文本匹配模型中进行文本匹配,得到搜索语句与当前待排序召回语句的文本匹配度;
特征得到单元,用于将文本匹配度作为搜索语句与当前待排序召回语句对应的文本匹配特征;文本匹配模型是根据文本匹配训练语句使用句向量化模型进行文本匹配训练后得到的。
在一个实施例中,文本匹配度得到单元还用于将搜索语句向量化,得到搜索语句向量,并将当前待排序召回语句向量化,得到当前待排序召回语句向量;基于搜索语句向量与当前待排序召回语句向量进行向量运算,得到运算结果向量;将搜索语句向量、当前待排序召回语句向量和运算结果向量进行拼接,得到目标拼接特征,基于目标拼接特征进行文本匹配,得到搜索语句与当前待排序召回语句的文本匹配度。
在一个实施例中,搜索排序装置1800,还包括:
模型得到模块,用于获取句向量化模型,根据句向量化模型得到初始文本匹配模型;
匹配训练模块,用于获取文本匹配训练语句,文本匹配训练语句包括同义语句和非同义语句,将同义语句和非同义语句输入到初始文本匹配模型中进行训练,当训练完成时,得到文本匹配模型。
在一个实施例中,搜索排序装置1800,还包括:
训练语句获取模块,用于获取向量化训练语句,将向量化训练语句分词,得到分词结果,获取分词结果对应的训练词向量;
前向计算模块,用于将训练词向量输入到初始神经网络模型中和已训练的向量化模型中进行前向计算,得到输出的第一向量和第二向量;
损失值计算模块,用于基于第一向量和第二向量使用预设损失函数计算损失值;
反向更新模块,用于当损失值未符合预设条件时,根据损失值对初始神经网络模型进行反向传播更新,得到更新模型参数的神经网络模型;
迭代模块,用于将更新模型参数的神经网络模型作为初始神经网络模型,并返回将训练词向量输入到初始神经网络模型中和已训练的向量化模型中进行前向计算,得到输出的第一向量和第二向量的步骤执行,直到训练得到的损失值符合预设条件时,将已训练的神经网络模型作为句向量化模型。
在一个实施例中,损失值计算模块还用于计算第一向量和第二向量的相似度,并计算相似度和预设第一常量之和,得到目标和值;计算目标和值与预设第二常量的比值,比较预设第一常量与比值,得到损失值。
在一个实施例中,交互特征计算模块1808,包括:
分词模块,用于从各个待排序召回语句确定当前待排序召回语句,分别将搜索语句和当前待排序召回语句分词,得到各个搜索词和各个当前待排序召回词;
词向量化模块,用于将各个搜索词输入到词向量化模型中向量化,得到搜索词矩阵,并将各个当前待排序召回词输入到词向量化模型中向量化,得到当前待排序召回词矩阵;
矩阵计算模块,用于计算搜索词矩阵与当前待排序召回词矩阵的乘积,得到搜索语句和当前待排序召回语句对应的目标自注意力矩阵;
特征计算模块,用于计算目标自注意力矩阵对应的行特征和列特征,并计算目标自注意力矩阵对应的矩阵特征;
交互特征得到模块,用于将行特征、列特征和矩阵特征进行拼接,得到搜索语句和当前待排序召回语句对应的当前交互特征。
在一个实施例中,特征计算模块还用于从目标自注意力矩阵中得到各个矩阵行对应的目标行值,计算各个目标行值的和,得到行特征;从目标自注意力矩阵中得到各个矩阵列对应的目标列值,计算各个目标列值的和,得到列特征;从各个目标行值中确定最终目标行值,从各个目标列值中确定最终目标列值,计算最终目标行值与最终目标列值之和,得到矩阵特征。
在一个实施例中,相关程度计算模块1810,包括:
特征提取模块,用于从搜索语句中提取搜索语句特征,并从各个待排序召回语句提取待排序召回语句特征;
相关程度得到模块,用于基于搜索语句特征、待排序召回语句特征、文本匹配特征、相似特征和交互特征计算搜索语句分别与各个待排序召回语句的相关程度。
在一个实施例中,相关程度计算模块1810,包括:
特征拼接模块,用于将文本匹配特征、相似特征和交互特征进行拼接,得到拼接后的特征;
计算模块,用于将拼接后的特征输入到搜索排序模型中进行计算,得到搜索语句与待排序召回语句的相关程度;搜索排序模型是根据排序训练数据使用回归决策树进行训练后得到的。
在一个实施例中,搜索排序装置1800,还包括:
特征贡献度计算模块,用于获取搜索排序模型中根特征节点对应的初始相关程度,根据初始相关程度和拼接后的特征计算得到搜索排序模型中各个特征节点对应的节点相关程度;根据初始相关程度和节点相关程度计算得到各个特征节点对应的特征贡献度。
在一个实施例中,搜索排序装置1800,还包括:
修正模块,用于获取目标特征和对应的目标特征贡献度,当目标特征贡献度超过预设阈值时,修正目标特征,目标特征是指导致出现错误排序结果的特征。
关于搜索排序装置的具体限定可以参见上文中对于搜索排序方法的限定,在此不再赘述。上述搜索排序装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图19所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储召回数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种搜索排序方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图20所示。该计算机设备包括通过***总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种搜索排序方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图19和图20中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (16)
1.一种搜索排序方法,其特征在于,所述方法包括:
获取搜索语句和对应的各个待排序召回语句;
分别将所述搜索语句和所述各个待排序召回语句向量化,得到搜索语句向量和各个待排序召回语句向量,计算所述搜索语句向量分别与所述各个待排序召回语句向量的相似度,得到各个相似特征;
基于所述搜索语句和所述各个待排序召回语句进行文本匹配,得到各个文本匹配特征,包括:从所述各个待排序召回语句向量中确定当前待排序召回语句向量,基于所述搜索语句向量与所述当前待排序召回语句向量进行向量运算,得到运算结果向量,将所述搜索语句向量、所述当前待排序召回语句向量和所述运算结果向量进行拼接,得到目标拼接特征,基于所述目标拼接特征进行文本匹配,得到所述搜索语句与所述当前待排序召回语句的文本匹配度,将所述文本匹配度作为所述搜索语句与所述当前待排序召回语句对应的文本匹配特征;
计算所述搜索语句和所述各个待排序召回语句对应的各个自注意力矩阵,基于所述自注意力矩阵计算得到各个交互特征;
基于所述文本匹配特征、所述相似特征和所述交互特征计算所述搜索语句分别与所述各个待排序召回语句的相关程度;
根据所述搜索语句分别与所述各个待排序召回语句的相关程度得到所述各个待排序召回语句的排序结果。
2.根据权利要求1所述的方法,其特征在于,所述分别将所述搜索语句和所述各个待排序召回语句向量化,得到搜索语句向量和各个待排序召回语句向量,包括:
将所述搜索语句输入到句向量化模型中进行向量化,得到所述搜索语句向量;
分别将所述各个待排序召回语句输入到所述句向量化模型中进行向量化,得到所述各个待排序召回语句向量;所述句向量化模型是指根据向量化训练语句使用神经网络算法进行知识蒸馏后得到的。
3.根据权利要求1所述的方法,其特征在于,所述基于所述搜索语句和所述各个待排序召回语句进行文本匹配,得到各个文本匹配特征,包括:
从所述各个待排序召回语句确定当前待排序召回语句,将所述搜索语句和所述当前待排序召回语句输入到文本匹配模型中进行文本匹配,得到所述搜索语句与所述当前待排序召回语句的文本匹配度;
将所述文本匹配度作为所述搜索语句与所述当前待排序召回语句对应的文本匹配特征;所述文本匹配模型是根据文本匹配训练语句使用句向量化模型进行文本匹配训练后得到的。
4.根据权利要求3所述的方法,其特征在于,所述将所述搜索语句和所述当前待排序召回语句输入到文本匹配模型中进行文本匹配,得到所述搜索语句与所述当前待排序召回语句的文本匹配度,包括:
将所述搜索语句向量化,得到搜索语句向量,并将所述当前待排序召回语句向量化,得到当前待排序召回语句向量;
基于所述搜索语句向量与所述当前待排序召回语句向量进行向量运算,得到运算结果向量;
将所述搜索语句向量、所述当前待排序召回语句向量和所述运算结果向量进行拼接,得到目标拼接特征,基于所述目标拼接特征进行文本匹配,得到所述搜索语句与所述当前待排序召回语句的文本匹配度。
5.根据权利要求4所述的方法,其特征在于,所述文本匹配模型的生成包括以下步骤:
获取句向量化模型,根据所述句向量化模型得到初始文本匹配模型;
获取文本匹配训练语句,所述文本匹配训练语句包括同义语句和非同义语句,将所述同义语句和非同义语句输入到所述初始文本匹配模型中进行训练,当训练完成时,得到所述文本匹配模型。
6.根据权利要求2至5任意一项所述的方法,其特征在于,所述句向量化模型的生成包括以下步骤:
获取向量化训练语句,将所述向量化训练语句分词,得到分词结果,获取所述分词结果对应的训练词向量;
将所述训练词向量输入到初始神经网络模型中和已训练的向量化模型中进行前向计算,得到输出的第一向量和第二向量;
基于所述第一向量和第二向量使用预设损失函数计算损失值;
当所述损失值未符合预设条件时,根据所述损失值对所述初始神经网络模型进行反向传播更新,得到更新模型参数的神经网络模型;
将所述更新模型参数的神经网络模型作为初始神经网络模型,并返回将所述训练词向量输入到初始神经网络模型中和已训练的向量化模型中进行前向计算,得到输出的第一向量和第二向量的步骤执行,直到训练得到的损失值符合所述预设条件时,将已训练的神经网络模型作为句向量化模型。
7.根据权利要求6所述的方法,其特征在于,所述基于所述第一向量和第二向量使用预设损失函数计算损失值,包括:
计算所述第一向量和所述第二向量的相似度,并计算所述相似度和预设第一常量之和,得到目标和值;
计算所述目标和值与预设第二常量的比值,比较所述预设第一常量与所述比值,得到所述损失值。
8.根据权利要求1所述的方法,其特征在于,所述计算所述搜索语句和所述各个待排序召回语句对应的各个自注意力矩阵,基于所述各个自注意力矩阵计算得到各个交互特征,包括:
从所述各个待排序召回语句确定当前待排序召回语句,分别将所述搜索语句和所述当前待排序召回语句分词,得到各个搜索词和各个当前待排序召回词;
将所述各个搜索词输入到词向量化模型中向量化,得到搜索词矩阵,并将所述各个当前待排序召回词输入到所述词向量化模型中向量化,得到当前待排序召回词矩阵;
计算所述搜索词矩阵与所述当前待排序召回词矩阵的乘积,得到所述搜索语句和所述当前待排序召回语句对应的目标自注意力矩阵;
计算所述目标自注意力矩阵对应的行特征和列特征,并计算所述目标自注意力矩阵对应的矩阵特征;
将所述行特征、所述列特征和所述矩阵特征进行拼接,得到所述搜索语句和所述当前待排序召回语句对应的当前交互特征。
9.根据权利要求8所述的方法,其特征在于,所述计算所述目标自注意力矩阵对应的行特征和列特征,并计算所述目标自注意力矩阵对应的矩阵特征,包括:
从所述目标自注意力矩阵中得到各个矩阵行对应的目标行值,计算各个目标行值的和,得到所述行特征;
从所述目标自注意力矩阵中得到各个矩阵列对应的目标列值,计算各个目标列值的和,得到所述列特征;
从所述各个目标行值中确定最终目标行值,从所述各个目标列值中确定最终目标列值,计算所述最终目标行值与所述最终目标列值之和,得到所述矩阵特征。
10.根据权利要求1所述的方法,其特征在于,所述基于所述文本匹配特征、所述相似特征和所述交互特征计算所述搜索语句分别与所述各个待排序召回语句的相关程度,包括:
从所述搜索语句中提取搜索语句特征,并从所述各个待排序召回语句提取待排序召回语句特征;
基于所述搜索语句特征、所述待排序召回语句特征、所述文本匹配特征、所述相似特征和所述交互特征计算所述搜索语句分别与所述各个待排序召回语句的相关程度。
11.根据权利要求1所述的方法,其特征在于,所述基于所述文本匹配特征、所述相似特征和所述交互特征计算所述搜索语句分别与所述各个待排序召回语句的相关程度,包括:
将所述文本匹配特征、所述相似特征和所述交互特征进行拼接,得到拼接后的特征;
将所述拼接后的特征输入到搜索排序模型中进行计算,得到所述搜索语句与所述待排序召回语句的相关程度;所述搜索排序模型是根据排序训练数据使用回归决策树进行训练后得到的。
12.根据权利要求11所述的方法,其特征在于,在所述将所述拼接后的特征输入到搜索排序模型中进行计算,得到所述搜索语句与所述待排序召回语句的相关程度之后,还包括:
获取所述搜索排序模型中根特征节点对应的初始相关程度,根据所述初始相关程度和所述拼接后的特征计算得到所述搜索排序模型中各个特征节点对应的节点相关程度;
根据所述初始相关程度和所述节点相关程度计算得到所述各个特征节点对应的特征贡献度。
13.根据权利要求12所述的方法,其特征在于,在所述根据所述初始相关程度和所述节点相关程度计算得到所述各个特征节点对应的特征贡献度之后,还包括:
获取目标特征和对应的目标特征贡献度,当所述目标特征贡献度超过预设阈值时,修正所述目标特征,目标特征是指导致出现错误排序结果的特征。
14.一种搜索排序装置,其特征在于,所述装置包括:
语句获取模块,用于获取搜索语句和对应的各个待排序召回语句;
相似特征计算模块,用于分别将所述搜索语句和所述各个待排序召回语句向量化,得到搜索语句向量和各个待排序召回语句向量,计算所述搜索语句向量分别与所述各个待排序召回语句向量的相似度,得到各个相似特征;
文本特征得到模块,用于基于所述搜索语句和所述各个待排序召回语句进行文本匹配,得到各个文本匹配特征,包括:从所述各个待排序召回语句向量中确定当前待排序召回语句向量,基于所述搜索语句向量与所述当前待排序召回语句向量进行向量运算,得到运算结果向量,将所述搜索语句向量、所述当前待排序召回语句向量和所述运算结果向量进行拼接,得到目标拼接特征,基于所述目标拼接特征进行文本匹配,得到所述搜索语句与所述当前待排序召回语句的文本匹配度,将所述文本匹配度作为所述搜索语句与所述当前待排序召回语句对应的文本匹配特征;
交互特征计算模块,用于计算所述搜索语句和所述各个待排序召回语句对应的各个自注意力矩阵,基于所述自注意力矩阵计算得到各个交互特征;
相关程度计算模块,用于基于所述文本匹配特征、所述相似特征和所述交互特征计算所述搜索语句分别与所述各个待排序召回语句的相关程度;
排序模块,用于根据所述搜索语句分别与所述各个待排序召回语句的相关程度得到所述各个待排序召回语句的排序结果。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至13中任一项所述的方法的步骤。
16.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至13中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010570799.3A CN111538908B (zh) | 2020-06-22 | 2020-06-22 | 搜索排序方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010570799.3A CN111538908B (zh) | 2020-06-22 | 2020-06-22 | 搜索排序方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111538908A CN111538908A (zh) | 2020-08-14 |
CN111538908B true CN111538908B (zh) | 2020-10-20 |
Family
ID=71979746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010570799.3A Active CN111538908B (zh) | 2020-06-22 | 2020-06-22 | 搜索排序方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111538908B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112287655A (zh) * | 2020-09-30 | 2021-01-29 | 北京三快在线科技有限公司 | 匹配文本去重方法、装置、电子设备 |
CN112182166B (zh) * | 2020-10-29 | 2023-03-10 | 腾讯科技(深圳)有限公司 | 一种文本匹配方法、装置、电子设备及存储介质 |
CN112329467B (zh) * | 2020-11-03 | 2022-09-30 | 腾讯科技(深圳)有限公司 | 地址识别方法、装置、电子设备以及存储介质 |
CN112329954B (zh) * | 2020-11-04 | 2024-06-11 | 中国平安人寿保险股份有限公司 | 物品召回方法、装置、终端设备及存储介质 |
CN112395405B (zh) * | 2020-12-30 | 2021-04-27 | 支付宝(杭州)信息技术有限公司 | 查询文档排序方法、装置及电子设备 |
CN113312548B (zh) * | 2021-05-17 | 2022-05-03 | 浙江大学 | 基于知识蒸馏的信息检索方法 |
CN113407767A (zh) * | 2021-06-29 | 2021-09-17 | 北京字节跳动网络技术有限公司 | 确定文本相关性的方法、装置、可读介质及电子设备 |
CN113343132B (zh) * | 2021-06-30 | 2022-08-26 | 北京三快在线科技有限公司 | 一种模型训练的方法、信息展示的方法及装置 |
CN113688280B (zh) * | 2021-07-19 | 2024-04-05 | 广州荔支网络技术有限公司 | 一种排序方法、装置、计算机设备和存储介质 |
CN113627496A (zh) * | 2021-07-27 | 2021-11-09 | 交控科技股份有限公司 | 道岔转辙机故障预测方法、装置、电子设备和可读存储介质 |
CN113961765B (zh) * | 2021-10-21 | 2023-12-19 | 北京百度网讯科技有限公司 | 基于神经网络模型的搜索方法、装置、设备和介质 |
CN114003772A (zh) * | 2021-11-05 | 2022-02-01 | 北京爱奇艺科技有限公司 | 一种视频搜索方法、装置、电子设备及存储介质 |
CN114186023B (zh) * | 2021-12-07 | 2023-05-26 | 北京金堤科技有限公司 | 针对特定搜索场景的搜索处理方法、装置、设备及介质 |
CN114238798A (zh) * | 2021-12-14 | 2022-03-25 | 中国平安财产保险股份有限公司 | 基于神经网络的搜索排序方法、***、设备及存储介质 |
CN114491318B (zh) * | 2021-12-16 | 2023-09-01 | 北京百度网讯科技有限公司 | 目标信息的确定方法、装置、设备以及存储介质 |
CN114329225B (zh) * | 2022-01-24 | 2024-04-23 | 平安国际智慧城市科技股份有限公司 | 基于搜索语句的搜索方法、装置、设备及存储介质 |
CN114708117A (zh) * | 2022-03-21 | 2022-07-05 | 广东电网有限责任公司 | 融合先验知识的用电安全检查评级方法、装置及设备 |
CN115168436B (zh) * | 2022-07-20 | 2023-08-08 | 贝壳找房(北京)科技有限公司 | 查询信息处理方法、电子设备及可读存储介质 |
CN115344680B (zh) * | 2022-08-17 | 2023-06-27 | 中电金信软件有限公司 | 一种获取查询结果的方法及装置 |
CN115329749B (zh) * | 2022-10-14 | 2023-01-10 | 成都数之联科技股份有限公司 | 一种语义检索的召回和排序联合训练方法及*** |
CN115563394B (zh) * | 2022-11-24 | 2023-03-28 | 腾讯科技(深圳)有限公司 | 搜索召回方法、召回模型训练方法、装置和计算机设备 |
CN117725324B (zh) * | 2024-02-08 | 2024-05-24 | 腾讯科技(深圳)有限公司 | 地图搜索方法及装置、电子设备、存储介质、程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108269012A (zh) * | 2018-01-12 | 2018-07-10 | 中国平安人寿保险股份有限公司 | 风险评分模型的构建方法、装置、存储介质及终端 |
CN108875074A (zh) * | 2018-07-09 | 2018-11-23 | 北京慧闻科技发展有限公司 | 基于交叉注意力神经网络的答案选择方法、装置和电子设备 |
CN109766427A (zh) * | 2019-01-15 | 2019-05-17 | 重庆邮电大学 | 一种基于堆叠Bi-LSTM网络和协同注意力的虚拟学习环境智能问答方法 |
CN110674271A (zh) * | 2019-08-27 | 2020-01-10 | 腾讯科技(深圳)有限公司 | 一种问答处理方法及装置 |
CN111259647A (zh) * | 2020-01-16 | 2020-06-09 | 泰康保险集团股份有限公司 | 基于人工智能的问答文本匹配方法、装置、介质及电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001306090A (ja) * | 2000-04-25 | 2001-11-02 | Sharp Corp | 対話装置および方法、音声制御装置および方法、ならびにコンピュータを対話装置および音声制御装置として機能させるためのプログラムをそれぞれ記録したコンピュータ読取可能な記録媒体 |
US11409791B2 (en) * | 2016-06-10 | 2022-08-09 | Disney Enterprises, Inc. | Joint heterogeneous language-vision embeddings for video tagging and search |
CN106997376B (zh) * | 2017-02-28 | 2020-12-08 | 浙江大学 | 一种基于多级特征的问题和答案句子相似度计算方法 |
CN111259113B (zh) * | 2020-01-15 | 2023-09-19 | 腾讯科技(深圳)有限公司 | 文本匹配方法、装置、计算机可读存储介质和计算机设备 |
-
2020
- 2020-06-22 CN CN202010570799.3A patent/CN111538908B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108269012A (zh) * | 2018-01-12 | 2018-07-10 | 中国平安人寿保险股份有限公司 | 风险评分模型的构建方法、装置、存储介质及终端 |
CN108875074A (zh) * | 2018-07-09 | 2018-11-23 | 北京慧闻科技发展有限公司 | 基于交叉注意力神经网络的答案选择方法、装置和电子设备 |
CN109766427A (zh) * | 2019-01-15 | 2019-05-17 | 重庆邮电大学 | 一种基于堆叠Bi-LSTM网络和协同注意力的虚拟学习环境智能问答方法 |
CN110674271A (zh) * | 2019-08-27 | 2020-01-10 | 腾讯科技(深圳)有限公司 | 一种问答处理方法及装置 |
CN111259647A (zh) * | 2020-01-16 | 2020-06-09 | 泰康保险集团股份有限公司 | 基于人工智能的问答文本匹配方法、装置、介质及电子设备 |
Non-Patent Citations (2)
Title |
---|
S2SA-BiLSTM:面向法律纠纷智能问答***的深度学习模型;涂海等;《小型微型计算机***》;20190531;第1034-1039页 * |
基于深度学习的答案融合方法研究;栾克鑫;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180215;第I138-2910页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111538908A (zh) | 2020-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111538908B (zh) | 搜索排序方法、装置、计算机设备和存储介质 | |
CN110046304B (zh) | 一种用户推荐方法和装置 | |
CN111708873B (zh) | 智能问答方法、装置、计算机设备和存储介质 | |
CN106980683B (zh) | 基于深度学习的博客文本摘要生成方法 | |
Zhou et al. | SVD-based incremental approaches for recommender systems | |
CN108875074B (zh) | 基于交叉注意力神经网络的答案选择方法、装置和电子设备 | |
CN111209738B (zh) | 一种联合文本分类的多任务命名实体识别方法 | |
CN101079026B (zh) | 文本相似度、词义相似度计算方法和***及应用*** | |
US6173275B1 (en) | Representation and retrieval of images using context vectors derived from image information elements | |
CN109376222B (zh) | 问答匹配度计算方法、问答自动匹配方法及装置 | |
CN111444344B (zh) | 实体分类方法、装置、计算机设备和存储介质 | |
CN109213853B (zh) | 一种基于cca算法的中文社区问答跨模态检索方法 | |
CN111581545B (zh) | 一种召回文档的排序方法及相关设备 | |
CN111898374B (zh) | 文本识别方法、装置、存储介质和电子设备 | |
CN112015868A (zh) | 基于知识图谱补全的问答方法 | |
CN113011172B (zh) | 文本处理方法、装置、计算机设备和存储介质 | |
CN111782826A (zh) | 知识图谱的信息处理方法、装置、设备及存储介质 | |
CN110390106B (zh) | 基于双向关联的语义消歧方法、装置、设备及存储介质 | |
CN112800205B (zh) | 基于语义变化流形分析获取问答相关段落的方法、装置 | |
CN112380344A (zh) | 文本分类的方法、话题生成的方法、装置、设备及介质 | |
CN112131261B (zh) | 基于社区网络的社区查询方法、装置和计算机设备 | |
CN114492451B (zh) | 文本匹配方法、装置、电子设备及计算机可读存储介质 | |
CN111506596B (zh) | 信息检索方法、装置、计算机设备和存储介质 | |
CN112434134A (zh) | 搜索模型训练方法、装置、终端设备及存储介质 | |
CN109086463A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40027447 Country of ref document: HK |