CN111859138B - 搜索方法及装置 - Google Patents
搜索方法及装置 Download PDFInfo
- Publication number
- CN111859138B CN111859138B CN202010731110.0A CN202010731110A CN111859138B CN 111859138 B CN111859138 B CN 111859138B CN 202010731110 A CN202010731110 A CN 202010731110A CN 111859138 B CN111859138 B CN 111859138B
- Authority
- CN
- China
- Prior art keywords
- user
- target
- search
- collaborative filtering
- document
- 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 25
- 238000001914 filtration Methods 0.000 claims abstract description 127
- 238000012163 sequencing technique Methods 0.000 claims abstract description 26
- 239000013598 vector Substances 0.000 claims description 93
- 238000012549 training Methods 0.000 claims description 42
- 230000006399 behavior Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000006071 cream Substances 0.000 description 2
- 241000208421 Ericaceae Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000003746 feather Anatomy 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
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/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/9536—Search customisation based on social or collaborative filtering
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供搜索方法及装置,以为个性化信息缺失的用户提供个性化搜索结果。上述方法包括:获取目标用户当前输入的目标搜索词;根据目标搜索词召回文档;若目标用户的个性化信息缺失,根据预置的协同过滤对应关系,确定与目标用户对应的协同过滤用户;其中,协同过滤对应关系包括:个性化信息缺失的用户与搜索特征相似的协同过滤用户之间的对应关系;任一协同过滤用户为个性化信息完整的用户;与目标用户对应的协同过滤用户为目标协同过滤用户;根据目标协同过滤用户的个性化信息,对召回的文档进行排序,得到排序结果;返回排序结果作为针对目标用户的个性化搜索结果。
Description
技术领域
本发明涉及计算机领域,特别涉及搜索方法及装置。
背景技术
目前的通用搜索引擎大部分对同样的搜索词提供同样的搜索结果,但是在社区内容或者商品搜索的背景下,即使是同样的搜索词,不同的用户寻求的搜索结果可能不尽相同。以搜索词“衬衫”,不同性别、年龄的用户,其寻求的搜索结果是不同的。
事实上,同一搜索词搜索到(召回)的文档是相同的,但对召回的文档进行不同的排序,则会形成不同的搜索结果。对于个性化信息(例如性别、年龄等)缺失的用户,现有的搜索方式无法为其提供个性化搜索结果。
发明内容
有鉴于此,本发明提供搜索方法及装置,以为个性化信息缺失的用户提供个性化搜索结果。
为了实现上述发明目的,本发明提供以下技术方案:
一种搜索方法,包括:
获取目标用户当前输入的目标搜索词;
根据所述目标搜索词召回文档;
若所述目标用户的个性化信息缺失,根据预置的协同过滤对应关系,确定与所述目标用户对应的协同过滤用户;其中,所述协同过滤对应关系包括:个性化信息缺失的用户与搜索特征相似的协同过滤用户之间的对应关系;任一协同过滤用户为个性化信息完整的用户;与所述目标用户对应的协同过滤用户为目标协同过滤用户;
根据所述目标协同过滤用户的个性化信息,对召回的文档进行排序,得到排序结果;
返回所述排序结果作为针对所述目标用户的个性化搜索结果。
可选的,个性化信息缺失的用户为第一用户,个性化信息完整的用户为第二用户;在所述根据预置的协同过滤对应关系,确定所述目标用户对应的协同过滤用户之前,所述方法还包括:为每一所述第一用户确定搜索特征最相似的n个第二用户作为协同过滤用户;n为自然数;存储每一所述第一用户与协同过滤用户之间的对应关系。
可选的,任一第一用户以第一用户P表示;所述为每一所述第一用户确定搜索特征最相似的n个第二用户作为协同过滤用户包括:计算所述第一用户P的搜索特征向量与各第二用户的搜索特征向量之间的相似度;其中,所述第一用户P的搜索特征向量根据所述第一用户P的历史搜索词生成,所述第二用户的搜索特征向量根据所述第二用户的历史搜索词生成;将相似度最高的n个第二用户确定为所述第一用户P的协同过滤用户;所述存储每一第一用户与协同过滤用户之间的对应关系包括:存储所述第一用户P与各协同过滤用户之间的对应关系,以及,存储所述第一用户P与各协同过滤用户之间的相似度。
可选的,所述根据所述目标协同过滤用户的个性化信息,对召回的文档进行排序包括:使用排序学习模型根据所述协同过滤用户的个性化信息,对召回的各文档进行评分,得到各文档对应的得分;按照得分对各文档进行排序。
可选的,任一召回的文档以文档Q表示;所述使用所述排序学习模型根据所述目标协同过滤用户的个性化信息,对召回的各文档进行评分,得到各文档对应的得分包括:根据所述目标协同过滤用户的个性化信息生成针对所述文档Q的目标个性化搜索特征向量;其中,所述目标个性化搜索特征向量包括:所述目标协同过滤用户的个性化信息向量、所述目标搜索词的特征向量、所述文档Q的文档特征向量,以及所述目标搜索词与所述文档Q的匹配度;将针对所述文档Q的目标个性化搜索特征向量输入所述排序学习模型,由所述排序学习模型输出所述文档Q对应的得分。
可选的,所述n不小于2;所述根据所述目标协同过滤用户的个性化信息生成针对所述文档Q的目标个性化搜索特征向量包括:根据n个目标协同过滤用户的个性化信息,生成针对所述文档Q的n个目标个性化搜索特征向量;所述将针对所述文档Q的目标个性化搜索特征向量输入所述排序学习模型,由所述排序学习模型输出所述文档Q对应的得分包括:将所述n个目标个性化搜索特征向量输入所述排序学习模型,得到所述文档Q对应的n个分值;以各目标协同过滤用户与所述目标用户间的相似度作为权重,对所述文档Q对应的n个分值进行加权求和,得到的加权求和结果为所述文档Q的得分。
可选的,个性化信息完整的用户为第二用户;在根据所述目标用户的协同过滤用户的个性化信息,对召回的文档进行排序之前,所述方法还包括:根据第二用户的搜索记录和个性化信息生成训练样本;其中,一条搜索记录包括:历史搜索词,历史文档,以及对所述历史文档的操作行为;所述历史文档为根据所述历史搜索词召回的文档中的一个文档;所述操作行为包括:点击、浏览和响应中的至少一种;所述训练样本包括所述第二用户的个性化信息向量、所述历史搜索词的特征向量、所述历史文档的文档特征向量,所述历史搜索词与所述历史文档的匹配度,以及,标定分值;所述匹配度表征了所述历史文档与所述历史搜索词间的匹配程度;所述标定分值根据所述操作行为计算得到;使用所述训练样本训练得到所述排序学习模型。
一种搜索装置,包括:
获取单元,用于获取目标用户当前输入的目标搜索词;
召回单元,用于根据所述目标搜索词召回文档;
排序单元,用于:
若所述目标用户的个性化信息缺失,根据预置的协同过滤对应关系,确定与所述目标用户对应的协同过滤用户,以及,根据所述目标协同过滤用户的个性化信息,对召回的文档进行排序,得到排序结果;其中,所述协同过滤对应关系包括:个性化信息缺失的用户与搜索特征相似的协同过滤用户之间的对应关系;任一协同过滤用户为个性化信息完整的用户;
返回单元,用于返回所述排序结果作为针对所述目标用户的个性化搜索结果。
可选的,还包括离线数据处理单元,用于:为每一第一用户确定搜索特征最相似的n个第二用户作为协同过滤用户,以及,存储每一所述第一用户与协同过滤用户之间的对应关系;其中,n为自然数;所述第一用户为个性化信息缺失的用户,所述第二用户为个性化信息完整的用户。
可选的,在根据所述目标用户的协同过滤用户的个性化信息,对召回的文档进行排序之前,所述装置还包括训练单元,用于:根据第二用户的搜索记录和个性化信息生成训练样本;其中,一条搜索记录包括:历史搜索词,历史文档,以及对所述历史文档的操作行为;所述历史文档为根据所述历史搜索词召回的文档中的一个文档;所述操作行为包括:点击、浏览和响应中的至少一种;所述训练样本包括所述第二用户的个性化信息向量、所述历史搜索词的特征向量、所述历史文档的文档特征向量,所述历史搜索词与所述历史文档的匹配度,以及,标定分值;所述匹配度表征了所述历史文档与所述历史搜索词间的匹配程度;所述标定分值根据所述操作行为计算得到;任一所述第二用户为个性化信息完整的用户;使用所述训练样本训练得到排序学习模型;其中,所述排序学习模型用于执行根据所述目标协同过滤用户的个性化信息,对召回的文档进行排序的操作。
可见,在本发明实施例中,针对个性化信息缺失的目标用户,会确定与之搜索特征相似且个性化信息完整的协同过滤用户,利用协同过滤用户的个性化信息对召回的文档进行排序,得到排序结果。这样,即使目标用户的个性化信息缺失,也可得到相对准确的个性化搜索结果,从而解决了现有搜索方式无法为个性化信息缺失的用户提供个性化搜索结果的问题。
附图说明
图1a为本发明实施例提供的应用场景示意图;
图1b为本发明实施例提供的服务器端的示例性结构图;
图2为本发明实施例提供的搜索装置的示例性结构图;
图3为本发明实施例提供的搜索方法的示例性流程图;
图4为本发明实施例提供的搜索方法的另一示例性流程图;
图5为本发明实施例提供的历史搜索记录的两种用途示意图。
具体实施方式
本发明实施例公开了搜索方法及搜索装置(例如搜索服务器、搜索引擎),以为个性化信息缺失的用户提供个性化搜索结果。
本发明实施例所提供的搜索方法及装置可应用于各种需要提供个性化搜索结果的场景。
一种示例性的应用场景可参见图1a所示:
用户登录生活方式分享社区/电商平台/购物网站等的客户端(例如APP、浏览器等),通过客户端输入目标关键词(例如“衬衫”),相应的服务器端会根据目标关键词召回文档,对召回的文档进行排序后,向客户端返回排序结果。
请参见图1b,服务器端示例性得可包括:web服务器101、搜索服务器102、数据库103,此外,还可包括训练服务器104。
其中,web服务器101为前端(前台),负责与客户端通信。
搜索服务器102、数据库103、训练服务器104等为后端。
搜索服务器102可为客户端提供个性化搜索服务。
具体的,搜索服务器102在召回文档后,针对个性化信息缺失的用户,会确定与之搜索特征相似且个性化信息完整的协同过滤用户,利用协同过滤用户的个性化信息对召回的文档进行排序,得到排序结果。这样,即使目标用户的个性化信息缺失,也可得到相对准确的个性化搜索结果。
训练服务器104可用于为搜索服务器102使用的排序算法进行训练或提供训练用的样本,训练好后的排序算法可用于预测召回文档的排序顺序。
在一个示例中,对文档排序可使用排序学习模型(例如lambdaMart模型等),在训练时,可使用用户的个性化信息对排序学习模型进行训练,训练好后的排序学习模型即可用于预测召回文档的排序顺序。当然,在训练出模型后,后续还可进一步对排序学习模型进行动态优化,以实现更优的排序效果。
数据库103可用于存储文档、倒排索引、用户的搜索日志(记录)、用户的个性化信息等等。当然,数据库103也可进一步包括多个子数据库,用于存放不同种类或用途的数据。
此外,需要说明的是,也可使用同一服务器同时实现上述搜索服务器102和web服务器101的功能,或同时实现上述搜索服务器102和训练服务器104的功能,或同时实现web服务器101、搜索服务器102和训练服务器104的功能。
下面介绍搜索装置(搜索服务器)的内部结构,搜索装置的一种示例性结构如图2所示,包括:
获取单元1,用于获取目标用户当前输入的目标搜索词;
召回单元2,用于根据目标搜索词召回文档;
排序单元3,用于若上述目标用户的个性化信息缺失,根据预置的协同过滤对应关系,确定与该目标用户对应的协同过滤用户,以及,根据协同过滤用户的个性化信息,对召回的文档进行排序,得到排序结果;
返回单元4,用于返回上述排序结果作为针对该目标用户的个性化搜索结果。
本文后续将结合具体的实施例对上述各单元的操作进行详细介绍。
下面将基于上面所述的本发明涉及的共性方面,对本发明实现个性化搜索的实施例进行进一步详细说明。
图3示出了由上述搜索装置(搜索服务器102、搜索引擎)执行的搜索方法的一种示例性流程,至少可包括如下步骤:
S1:获取目标用户当前输入的目标搜索词。
任一在线输入搜索内容的用户均为目标用户。
用户是以用户标识(ID)进行区分的。即使以游客身份访问,也会为游客分配临时的用户ID,并保持一段时间内不改变。
从使用者角度看,其所进行的操作是在客户端提供的搜索界面(搜索框)中输入搜索内容,例如输入文字,或者上传一段语音,一帧图片、一段视频等。
当然,输入的文字、语音、图片或视频,最终会由客户端或服务器端转化为文本,也即,目标搜索词。
并且,若由服务器端转化,可具体由前述的web服务器101或搜索服务器102转化。
需要说明的是,“目标搜索词”中的“目标”并不特指某一搜索词,而是表明了用户的意图,用户的“目标”。
例如,用户输入了文字“衬衫”,那么文本形式的“衬衫”就是目标搜索词;而若用户输入了“眼霜”,那么文本形式的“眼霜”就是目标搜索词。
在一个示例中,可由前述的获取单元1来执行步骤S1。
具体的,获取单元1可从客户端或web服务器101处获取目标搜索词或搜索内容。
若获取的是搜索内容,获取单元1可将其转化为文本形式,从而得到目标搜索词。
S2:根据上述目标搜索词召回(搜索)文档。
在一个示例中,可由前述的召回单元2执行步骤S2。
具体的,召回单元2可根据预先建立的倒排索引来召回所有与目标搜索词匹配的文档。
所谓的倒排索引,也常被称为反向索引、置入档案或反向档案,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。它是文档检索系统中最常用的数据结构。通过倒排索引,可以根据单词(也即目标搜索词)快速获取包含这个单词的文档列表。
建立倒排索引一般为离线操作,可由搜索装置或其他专门的服务器,(离线)对所有的文档分词后建立。
需要说明的是,“召回”是匹配过滤的意思,比如目标搜索词为“口红”,返回给用户的文档均应包含“口红”或“口红”的同/近义词(例如唇膏),并且这些文档是合法的,或者高于质量线的,其他的文档则不应该被这次搜索返回。
S3:判断目标用户的个性化信息是否缺失,若是,进入S4,否则进入S6。
具体的,可根据目标用户的用户ID向数据库查询其个性化信息,进而判断其是否完整。
上述个性化信息也可理解为个人画像,其内容示例性地包括但不限于:性别、年龄、所在地区,偏好类别(例如是偏好美容类文档还是电子产品类文档),浏览习惯(例如是喜欢图片多的文档,还是文字多的文档)等等。
上述个性化信息可由用户填写或修改得到,也可通过用户的操作行为分析得到。或者,可结合用户填写的个人信息和对其操作行为的分析而得到。
本实施例对于个性化信息缺失的目标用户,以及个性化信息完整的目标用户,在文档排序上会采取不同的处理方式,因此,需要判断目标用户的个性化信息是否缺失。
S4:根据预置的协同过滤对应关系,确定与目标用户对应的协同过滤用户。
本步骤对应的是目标用户的个性化信息缺失的情况,在此情况下,可根据预置的协同过滤对应关系,确定与目标用户对应的协同过滤用户。为称呼方便,可将与目标用户对应的协同过滤用户称为目标协同过滤用户。
上述协同过滤对应关系包括:个性化信息缺失的用户与搜索特征相似的协同过滤用户之间的对应关系,并且,任一协同过滤用户为个性化信息完整的用户。
可将个性化信息缺失的用户称为第一用户,将个性化信息完整的用户称为第二用户,显然,协同过滤用户均为第二用户。
可预先为每一第一用户确定搜索特征最相似的n个(n为自然数)第二用户作为协同过滤用户,并存储每一第一用户与相应的协同过滤用户之间的对应关系,即得到上述协同过滤对应关系。
举例来讲,假定n=3,有100个第一用户,则可预先为这100个第一用户中的每一个都确定3个搜索特征相似的第二用户,协同过滤对应关系则包括这100个第一用户与相应的协同过滤用户(第二用户)间的对应关系。
若个性化信息缺失的目标用户也为上述100个第一用户之一,则可根据协同过滤对应关系确定相应的协同过滤用户。
需要说明的是,建立协同过滤对应关系一般为离线操作,可由搜索装置或其他专门的服务器执行。本文后续将具体介绍如何建立协同过滤对应关系。
S5:根据目标协同过滤用户的个性化信息,对召回的文档进行排序,得到排序结果,进入S7;
在一个示例中,可使用排序学习模型根据协同过滤用户的个性化信息,对召回的各文档进行评分,得到各文档对应的得分;再按照得分(由大到小)对各文档进行排序。
举例来讲,假定共召回3个文档(文档1-3),排序学习模型可对文档1-3进行评分。
假定文档1-3的得分分别是a1,a2,a3,并且,a2最大,a3最小。则排序结果是:文档2、文档1、文档3。这样,返回给目标用户后,排在第一位的是文档2,排在最后一位的是文档3。
得分可以理解成用户在搜索词下对每个文档的兴趣度的预测,根据得分对文档进行排序就可以把用户越可能感兴趣的文档放在越前面。
本文后续将详细介绍如何得到各文档对应的得分。
S6:根据目标用户的个性化信息,对召回的文档进行排序,得到排序结果,进入S7;
本步骤对应的是目标用户的个性化信息完整的情况,在此情况下,直接使用目标用户的个性化信息对文档进行排序,即可得到个性化搜索结果。
可由前述的排序单元3执行上述步骤S3-S6。
S7:返回排序结果作为针对目标用户的个性化搜索结果。
可由前述的返回单元4执行步骤S7。
可见,在本发明实施例中,针对个性化信息完整的用户,会利用其个性化信息对召回的文档进行排序,得到排序结果。而针对个性化信息缺失的目标用户,会确定与之搜索特征相似且个性化信息完整的协同过滤用户,利用协同过滤用户的个性化信息对召回的文档进行排序,得到排序结果。这样,即使目标用户的个性化信息缺失,也可得到相对准确的个性化搜索结果,从而提供了鲁棒的个性化搜索。
上述步骤S1-S7均为线上部分。在实际应用中,为实现个性化搜索,除了线上操作,还需有离线操作的配合。下面,将介绍实现个性化搜索的具体的技术实现。
图4示出了上述搜索方法的另一种示例性流程,其可包括:
离线部分:
Soffline401:对所有的文档分词后建立倒排索引。
可选用Elastic Search等开源工具建立倒排索引。
在一个示例中,可由搜索装置或其他专门的服务器执行步骤Soffline401。
Soffline402:根据第二用户的搜索记录和个性化信息生成训练样本。
在一个示例中,可根据历史搜索日志获得一定量的搜索记录。
历史搜索日志记录了各用户以哪一搜索词(以q表示)进行搜索,然后在老的搜索结果下该用户对哪些文档(以d表示)进行了点击、浏览等操作。
一条搜索记录包括:用户ID、历史搜索词,历史文档,以及对该历史文档的操作行为,而操作行为包括:点击、浏览和响应中的至少一种。
这里的历史文档指的是根据历史搜索词所召回的文档中的其中一个。
进一步的,上述“响应”可包括分享、点赞、留言(评论)中的至少一种。
举例来讲,用户01键入“口红”这一(搜索词),召回3个文档a1-a3,用户对文档a1进行了点击、浏览,对文档a2进行了点击、浏览和点赞,对文档a3进行了点击,则历史搜索日志中将对这些信息进行记录,可根据日志获取3条搜索记录。因此,一条搜索记录也可称为:一条用户-搜索词-行为(u-q-d)数据。
此外,在搜索记录中也可记载历史搜索词与历史文档的匹配度。上述匹配度表征了历史文档与历史搜索词间的匹配程度(或相似度)。
例如,历史搜索词为“a牌手机续航能力如何”,文档1标题为“a牌手机续航能力好”、文档2标题为“a牌手机质量如何”,这两个文档与历史搜索词的匹配度是不同的。
在另一示例中,搜索日志本身即是搜索记录。
根据一条搜索记录可生成一个训练样本,每一训练样本包含了如下内容:
(1)第二用户的个性化信息向量。
需要说明的是,由于一条搜索记录中会有用户ID,所以可通过用户ID从数据库中查询到相应的个性化信息。
个性化信息向量是根据个性化信息生成的。
前述提及了个性化信息包括:性别、年龄、所在地区,偏好类别、浏览习惯。在生成个性化信息向量的过程,对部分或全部的个性化信息需要进行数值化和离散化:
例如性别,可能需要数值化,在一个示例中,可以“0”代表男,“1”代表女;在另一个示例中,可针对男女设置两个特征(feather),其中一个feather为“男”,其下数值可取“0”或“1”,另一个feather为“女”,其下数值可取“0”或“1”。
例如年龄可能需要离散化。
举例来讲,在一个示例中,16岁以下用“0”表示,16到40岁以“1”表示,40岁以上以“2”表示等。
在另一个示例中,可设置三个特征(feather),分别对应“16岁以下”、“16到40岁”和“40岁以上”。这三个feather下的取值可为“0”或“1”。
(2)历史搜索词的特征向量;
在一个示例中,历史搜索词的特征可包括长度和热度等,相应的,历史搜索词的特征向量可包括具体的长度值和热度值。
或者,也可对长度和热度进行离散化表示,在此不作赘述。
(3)历史文档的文档特征向量。
在一个示例中,文档特征可包括文档的长度、点击率等,相应的,文档特征向量可包括具体的长度值和点击率。
或者,也可对长度和点击率进行离散化表示,在此不作赘述。
(4)历史搜索词与历史文档的匹配度。
在一个示例中,也可对匹配度进行离散化表示,在此不作赘述。
(5)标定分值。
标定分值根据对历史文档的操作行为计算得到。
例如,点击得1分,浏览得2分,点赞得5分,最后将第二用户针对一个文档的所有操作的得分相加,作为标定分值。
举个更具体的例子,若对第二用户对文档1进行了点击和浏览,则标定分值为3。
当然,若在历史搜索中,第二用户对某文档没做任何操作,则其标定分值为0。
训练样本中所包括的前4项组成个性化搜索特征向量,可以x表示,标定分值可以y表示,则一个训练样本可表示为(x,y)。
此外,上述个性化搜索特征向量中也可包括数值化的历史搜索词。
使用多个训练样本,就可以训练一个y=f(x)的函数,也就是排序学习模型。
在一个示例中,可由训练服务器执行步骤Soffline402。
Soffline403:使用训练样本训练得到排序学习模型。
示例性的,排序学习模型可为lambdaMart模型,可采用开源工具ranklib、lightGbm进行训练等。
在一个示例中,可由训练服务器执行步骤Soffline403。
训练过程可参见现有的训练方式,在此不作赘述。
Soffline404:收集每一用户的历史搜索词,生成该用户的搜索特征向量。
具体的,可将每一用户的历史搜索词用向量空间模型(VSM)或者Embedding模型表示成向量(可称为搜索特征向量)。
以用户A为例,假定其有100个历史搜索词,会对这100个历史搜索词进行数值化,得到100个数值,这100个数值组成用户A对应的搜索特征向量。
所有用户的搜索特征向量会构成一个用户-搜索词的特征矩阵。
需要说明的是,这里的所有用户包括所有第一用户和第二用户。
另外,历史搜索词可从历史搜索记录(u-q-d数据)中获取,图5示出了历史搜索记录的两种用途。
在一个示例中,可由搜索装置或其他专门的服务器执行步骤Soffline404。
Soffline405:根据搜索特征向量,为每一第一用户确定搜索特征最相似的n个第二用户作为协同过滤用户。
可将任一第一用户表示为第一用户P。
在一个示例中,可通过如下步骤实现为第一用户P确定协同过滤用户:
步骤A:计算第一用户P的搜索特征向量与各第二用户的搜索特征向量之间的相似度,并将相似度最高的n个第二用户确定为第一用户P的协同过滤用户。
其中,相似度计算可以采用Cosine距离等。
本领域技术人员可灵活设计n的取值,例如,1、3、4等。
步骤B:存储第一用户P与各协同过滤用户之间的对应关系,以及,存储第一用户P与各协同过滤用户之间的相似度。
上述离线部分所涉及的操作可周期性执行,例如一周、半月、一月做一次。
在一个示例中,可由搜索装置或其他专门的服务器执行步骤Soffline405。
线上部分:
Sonline41:获取目标用户当前输入的目标搜索词,得用离线时建立的倒排索引召回与之匹配的文档。
相关描述请参见前述的S1和S2,在此不作赘述。
Sonline42:判断目标用户的个性化信息是否完整,若是,进入Sonline43,否则进入Sonline45。
可根据目标用户的用户ID查询其个性化信息,进而判断其是否完整。
相关描述请参见前述的S3,在此不作赘述。
Sonline43:使用排序学习模型根据目标用户的个性化信息,对召回的各文档进行评分,得到各文档对应的得分。
任一召回的文档可表示为文档Q。
下面,将以文档Q为例,介绍如何对召回的各文档进行评分。
在一个示例中,可根据目标用户的个性化信息生成文档Q的个性化搜索特征向量,再将文档Q对应的个性化搜索特征向量输入排序学习模型,排序学习模型即可输出文档Q对应的得分。
个性化搜索特征向量可包括:
1)目标用户的个性化信息向量。
目标用户的个性化信息向量与前述训练样本中的个性化信息向量相类似,在此不作赘述。
2)目标搜索词的特征向量;
目标搜索词的特征向量与前述训练样本中历史搜索词的特征向量相类似,在此不作赘述。
3)文档Q的文档特征向量。
文档Q的文档特征向量与前述训练样本中历史文档的特征向量相类似,在此不作赘述。
4)目标搜索词与文档Q的匹配度。
匹配度介绍请参见前述训练样本中对匹配度的介绍,在此不作赘述。
Sonline44:按照得分对各文档进行排序,得到排序结果,跳至Sonline48。
步骤Sonline44与前述的步骤S5相类似,在此不作赘述。
Sonline45:根据预置的协同过滤对应关系,确定目标用户的协同过滤用户(目标协同过滤用户)。
步骤Sonline44与前述的步骤S4相类似,在此不作赘述。
Sonline46:根据目标协同过滤用户的个性化信息生成针对每一召回的文档的目标个性化搜索特征向量,将每一召回的文档的目标个性化搜索特征向量输入排序学习模型,由排序学习模型输出每一召回的文档对应的得分。
对于n=1的情况(也即仅有一个目标协同过滤用户),其评分方式与步骤Sonline43中介绍的相类似,在此不作赘述。
但若n>1,则在评分时会有所不同。可将任一召回的文档以文档Q表示,下面将以文档Q为例,介绍如何根据n个目标协同过滤用户的个性化信息对召回的各文档进行评分:
步骤a:根据n个目标协同过滤用户的个性化信息,生成针对文档Q的n个目标个性化搜索特征向量。
假定n=3,则会分别根据3个目标协同过滤用户的个性化信息,生成针对文档Q的3个目标个性化搜索特征向量。
假定3个目标协同过滤用户分别为用户u1-u3,则根据用户u1的个性化信息生成的目标个性化搜索特征向量H1包括:
1)用户u1的个性化信息向量。
2)目标搜索词的特征向量;
3)文档Q的文档特征向量。
4)目标搜索词与文档Q的匹配度。
同理,根据用户u2的个性化信息生成的目标个性化搜索特征向量H2包括:
1)用户u2的个性化信息向量。
2)目标搜索词的特征向量;
3)文档Q的文档特征向量。
4)目标搜索词与文档Q的匹配度。
根据用户u3的个性化信息生成的目标个性化搜索特征向量H3包括:
1)用户u3的个性化信息向量。
2)目标搜索词的特征向量;
3)文档Q的文档特征向量。
4)目标搜索词与文档Q的匹配度。
通过对比可知,3个目标个性化搜索特征向量在个性化信息向量部分是不同的,其他3项是相同的。
步骤b:将n个目标个性化搜索特征向量输入排序学习模型,得到文档Q对应的n个分值。
以n=3为例,沿用前例,将目标个性化搜索特征向量H1-H3输入排序学习模型,则排序学习模型会针对文档Q得到3个分值,这3个分值表征了3个协同过滤用户对文档Q的感兴趣程度。
步骤c:以各目标协同过滤用户与目标用户间的相似度作为权重,对文档Q对应的n个分值进行加权求和,得到的加权求和结果为文档Q的得分。
以n=3为例,针对文档Q,假定3个目标协同过滤用户的分值分别为p1-p3,而这3个目标协同过滤用户与目标用户间的相似度是s1-s3,则文档Q的最终得分是:s1*p1+…+s3*p3。
Sonline47:按照得分对各文档进行排序,得到排序结果。
步骤Sonline47与前述的步骤S5相类似,在此不作赘述。
可由前述的排序单元3执行步骤Sonline42-Sonline47。
Sonline48:返回排序结果作为针对目标用户的个性化搜索结果。
可由前述的返回单元4执行步骤Sonline48。步骤Sonline48与前述的步骤S7相类似,在此不作赘述。
综上,在本实施例中,在排序学习模型中加入用户的个性化信息,基于个性化信息对召回的文档进行排序,提供个性化搜索结果,从而提高了搜索的满意度。
同时,针对个性化信息缺失的用户,利用协同过滤的思想也能生成相对准确的个性化的搜索结果,要优于对于个性化信息缺失的用户采用默认值代替的现有搜索方式,因为后者只能对这些用户提供相对固定的搜索结果,不具备个性化。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (5)
1.一种搜索方法,其特征在于,包括:
获取目标用户当前输入的目标搜索词;
根据所述目标搜索词召回文档;
若所述目标用户的个性化信息缺失,根据预置的协同过滤对应关系,确定与所述目标用户对应的协同过滤用户;其中,所述协同过滤对应关系包括:个性化信息缺失的用户与搜索特征相似的协同过滤用户之间的对应关系;任一协同过滤用户为个性化信息完整的用户;与所述目标用户对应的协同过滤用户为目标协同过滤用户;所述个性化信息包括个人画像;
其中,所述协同过滤对应关系的获得过程,包括:将个性化信息缺失的用户以第一用户表示;将个性化信息完整的用户以第二用户表示;计算所述第一用户的搜索特征向量与各第二用户的搜索特征向量之间的相似度;其中,所述第一用户的搜索特征向量根据所述第一用户的历史搜索词生成,所述第二用户的搜索特征向量根据所述第二用户的历史搜索词生成;将相似度最高的n个第二用户确定为所述第一用户的协同过滤用户;n为自然数;存储所述第一用户与各协同过滤用户之间的对应关系,以及,存储所述第一用户与各协同过滤用户之间的相似度;
根据所述目标协同过滤用户的个性化信息,对召回的文档进行排序,得到排序结果;
其中,所述根据所述目标协同过滤用户的个性化信息,对召回的文档进行排序,得到排序结果,包括:
对每个所述召回的文档,根据所述目标协同过滤用户的个性化信息,生成针对所述文档的目标个性化搜索特征向量;将所述目标个性化搜索特征向量输入排序学习模型,得到所述文档对应的分值;以各目标协同过滤用户与所述目标用户间的相似度作为权重,对所述文档对应的分值进行加权求和,得到的加权求和结果为所述文档的得分;按照得分对所述召回的文档进行排序,得到所述排序结果;
返回所述排序结果作为针对所述目标用户的个性化搜索结果。
2.如权利要求1所述的方法,其特征在于,
任一召回的文档以文档Q表示;
使用所述排序学习模型根据所述目标协同过滤用户的个性化信息,对召回的各文档进行评分,得到各文档对应的得分包括:
根据所述目标协同过滤用户的个性化信息生成针对所述文档Q的目标个性化搜索特征向量;其中,所述目标个性化搜索特征向量包括:所述目标协同过滤用户的个性化信息向量、所述目标搜索词的特征向量、所述文档Q的文档特征向量,以及所述目标搜索词与所述文档Q的匹配度;
将针对所述文档Q的目标个性化搜索特征向量输入所述排序学习模型,由所述排序学习模型输出所述文档Q对应的得分。
3.如权利要求1所述的方法,其特征在于,
个性化信息完整的用户为第二用户;
在根据所述目标用户的协同过滤用户的个性化信息,对召回的文档进行排序之前,所述方法还包括:
根据第二用户的搜索记录和个性化信息生成训练样本;其中,一条搜索记录包括:历史搜索词,历史文档,以及对所述历史文档的操作行为;所述历史文档为根据所述历史搜索词召回的文档中的一个文档;所述操作行为包括:点击、浏览和响应中的至少一种;所述训练样本包括所述第二用户的个性化信息向量、所述历史搜索词的特征向量、所述历史文档的文档特征向量,所述历史搜索词与所述历史文档的匹配度,以及,标定分值;所述匹配度表征了所述历史文档与所述历史搜索词间的匹配程度;所述标定分值根据所述操作行为计算得到;
使用所述训练样本训练得到所述排序学习模型。
4.一种搜索装置,其特征在于,包括:
获取单元,用于获取目标用户当前输入的目标搜索词;
召回单元,用于根据所述目标搜索词召回文档;
排序单元,用于:
若所述目标用户的个性化信息缺失,根据预置的协同过滤对应关系,确定与所述目标用户对应的协同过滤用户,以及,根据所述目标协同过滤用户的个性化信息,对召回的文档进行排序,得到排序结果;其中,所述协同过滤对应关系包括:个性化信息缺失的用户与搜索特征相似的协同过滤用户之间的对应关系;任一协同过滤用户为个性化信息完整的用户;与所述目标用户对应的协同过滤用户为目标协同过滤用户;所述个性化信息包括个人画像;
其中,所述排序单元在根据所述目标协同过滤用户的个性化信息,对召回的文档进行排序,得到排序结果时,具体用于:对每个所述召回的文档,根据所述目标协同过滤用户的个性化信息,生成针对所述文档的目标个性化搜索特征向量;将所述目标个性化搜索特征向量输入排序学习模型,得到所述文档对应的分值;以各目标协同过滤用户与所述目标用户间的相似度作为权重,对所述文档对应的分值进行加权求和,得到的加权求和结果为所述文档的得分;按照得分对所述召回的文档进行排序,得到所述排序结果;
离线数据处理单元,用于计算第一用户的搜索特征向量与各第二用户的搜索特征向量之间的相似度;其中,所述第一用户的搜索特征向量根据所述第一用户的历史搜索词生成,所述第二用户的搜索特征向量根据所述第二用户的历史搜索词生成;将相似度最高的n个第二用户确定为所述第一用户的协同过滤用户;存储所述第一用户与各协同过滤用户之间的对应关系,以及,存储所述第一用户与各协同过滤用户之间的相似度;其中,n为自然数;所述第一用户为个性化信息缺失的用户,所述第二用户为个性化信息完整的用户;
返回单元,用于返回所述排序结果作为针对所述目标用户的个性化搜索结果。
5.如权利要求4所述的装置,其特征在于,
在根据所述目标用户的协同过滤用户的个性化信息,对召回的文档进行排序之前,所述装置还包括训练单元,用于:
根据第二用户的搜索记录和个性化信息生成训练样本;其中,一条搜索记录包括:历史搜索词,历史文档,以及对所述历史文档的操作行为;所述历史文档为根据所述历史搜索词召回的文档中的一个文档;所述操作行为包括:点击、浏览和响应中的至少一种;所述训练样本包括所述第二用户的个性化信息向量、所述历史搜索词的特征向量、所述历史文档的文档特征向量,所述历史搜索词与所述历史文档的匹配度,以及,标定分值;所述匹配度表征了所述历史文档与所述历史搜索词间的匹配程度;所述标定分值根据所述操作行为计算得到;任一所述第二用户为个性化信息完整的用户;
使用所述训练样本训练得到排序学习模型;其中,所述排序学习模型用于执行根据所述目标协同过滤用户的个性化信息,对召回的文档进行排序的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010731110.0A CN111859138B (zh) | 2020-07-27 | 2020-07-27 | 搜索方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010731110.0A CN111859138B (zh) | 2020-07-27 | 2020-07-27 | 搜索方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111859138A CN111859138A (zh) | 2020-10-30 |
CN111859138B true CN111859138B (zh) | 2024-05-14 |
Family
ID=72947479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010731110.0A Active CN111859138B (zh) | 2020-07-27 | 2020-07-27 | 搜索方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111859138B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282832B (zh) * | 2021-06-10 | 2024-10-25 | 北京爱奇艺科技有限公司 | 一种搜索信息的推荐方法、装置、电子设备及存储介质 |
CN114238798A (zh) * | 2021-12-14 | 2022-03-25 | 中国平安财产保险股份有限公司 | 基于神经网络的搜索排序方法、系统、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049474A (zh) * | 2011-10-25 | 2013-04-17 | 微软公司 | 搜索查询和文档相关数据翻译 |
CN103123653A (zh) * | 2013-03-15 | 2013-05-29 | 山东浪潮齐鲁软件产业股份有限公司 | 基于贝叶斯分类学习的搜索引擎检索排序方法 |
CN104484380A (zh) * | 2014-12-09 | 2015-04-01 | 百度在线网络技术(北京)有限公司 | 个性化搜索方法及装置 |
CN107885749A (zh) * | 2016-09-30 | 2018-04-06 | 南京理工大学 | 本体语义扩展与协同过滤加权融合的工艺知识检索方法 |
CN108427756A (zh) * | 2018-03-16 | 2018-08-21 | 中国人民解放军国防科技大学 | 基于同类用户模型的个性化查询词补全推荐方法和装置 |
-
2020
- 2020-07-27 CN CN202010731110.0A patent/CN111859138B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049474A (zh) * | 2011-10-25 | 2013-04-17 | 微软公司 | 搜索查询和文档相关数据翻译 |
CN103123653A (zh) * | 2013-03-15 | 2013-05-29 | 山东浪潮齐鲁软件产业股份有限公司 | 基于贝叶斯分类学习的搜索引擎检索排序方法 |
CN104484380A (zh) * | 2014-12-09 | 2015-04-01 | 百度在线网络技术(北京)有限公司 | 个性化搜索方法及装置 |
CN107885749A (zh) * | 2016-09-30 | 2018-04-06 | 南京理工大学 | 本体语义扩展与协同过滤加权融合的工艺知识检索方法 |
CN108427756A (zh) * | 2018-03-16 | 2018-08-21 | 中国人民解放军国防科技大学 | 基于同类用户模型的个性化查询词补全推荐方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111859138A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9171078B2 (en) | Automatic recommendation of vertical search engines | |
CN110321422A (zh) | 在线训练模型的方法、推送方法、装置以及设备 | |
US8463779B2 (en) | Representative keyword selection | |
KR100923505B1 (ko) | 사용자 관심도를 반영한 정보검색 랭킹 시스템 및 그 방법 | |
EP1995669A1 (en) | Ontology-content-based filtering method for personalized newspapers | |
CN108334632B (zh) | 实体推荐方法、装置、计算机设备和计算机可读存储介质 | |
US8032469B2 (en) | Recommending similar content identified with a neural network | |
WO2011080899A1 (ja) | 情報推薦方法 | |
US20110041075A1 (en) | Separating reputation of users in different roles | |
CN112380331A (zh) | 信息推送的方法和装置 | |
MXPA05009467A (es) | Sistemas, metodos, e interfaces para proporcionar busqueda personalizada y acceso de informacion. | |
JPWO2012118087A1 (ja) | レコメンダシステム、レコメンド方法、及びプログラム | |
CN101137980A (zh) | 识别、提取、捕获和均衡专业技术和知识的方法和装置 | |
CN111159341A (zh) | 基于用户投资理财偏好的资讯推荐方法及装置 | |
CN111859138B (zh) | 搜索方法及装置 | |
Wang et al. | CROWN: a context-aware recommender for web news | |
CN112328889A (zh) | 推荐搜索词确定方法、装置、可读介质及电子设备 | |
CN112818037A (zh) | 图书推荐系统和方法 | |
CN117786217A (zh) | 一种基于Mamba架构的高可信度时序数据预测方法 | |
CN110334281B (zh) | 一种结合用户行为的图书推荐方法、装置、设备及介质 | |
CN113901324A (zh) | 一种搜索对象排序方法、装置、设备及存储介质 | |
JP2009187384A (ja) | 検索装置、検索方法、検索プログラム、および、記録媒体 | |
KR20100129667A (ko) | 웹 마이닝 기반 상황지식 추출 장치 및 방법과 이를 이용한 상황인지 모바일 광고 시스템 | |
CN118245682B (zh) | 基于用户画像的图书馆个性化资源推荐方法 | |
CN118520174B (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 |