CN112182154B - 一种利用个人词向量消除关键词歧义的个性化搜索模型 - Google Patents
一种利用个人词向量消除关键词歧义的个性化搜索模型 Download PDFInfo
- Publication number
- CN112182154B CN112182154B CN202011021940.0A CN202011021940A CN112182154B CN 112182154 B CN112182154 B CN 112182154B CN 202011021940 A CN202011021940 A CN 202011021940A CN 112182154 B CN112182154 B CN 112182154B
- Authority
- CN
- China
- Prior art keywords
- query
- word
- personalized
- user
- representation
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- 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
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明通过人工智能领域的方法,实现了一种利用个人词向量消除关键词歧义的个性化搜索模型,包括预训练词向量模块、个性化排序模型、在线更新模块三部分。通过为每个用户设置用户个人的词向量矩阵,得到查询和文档的个性化词向量表示,再通过注意力机制获得查询和文档的上下文表示以及基于会话的查询意图表示。然后,通过搭建一个多任务框架,利用个性化排序和查询重构两个任务来联合训练个人词向量和排序模型。并且为使个人词向量包含用户的最新兴趣,设计三种在线调整词向量的方法。通过上述手段,实现了直接计算查询和文档个性化表示的匹配得分、帮助消除查询关键词的歧义、明确用户的查询意图、提高计算文档个性化得分效率的技术效果。
Description
技术领域
本发明涉及人工智能领域,尤其涉及一种利用个人词向量消除关键词歧义的个性化搜索模型。
背景技术
在日常生活中,搜索引擎的应用越来越广泛,人们对于搜索结果的要求也越来越高。搜索结果个性化对于有歧义的查询来说非常重要,针对同一个查询为具有不同兴趣爱好的用户返回不同的搜索结果可以极大地提升用户使用搜索引擎的体验。个性化搜索是为了解决用户输入的查询具有歧义这一普遍存在的问题而提出的,主要是基于用户的兴趣针对同一个查询为不用的用户返回不一样的检索结果。那么,实现个性化搜索的关键就在于如何挖掘用户的兴趣以推断用户当前查询所表达的查询意图。目前已有的方法主要通过为用户建立兴趣画像来明确用户兴趣。建模用户兴趣画像的方法有很多,根据画像是否是通过学习获得的可以将现有方法分为以下两大类:传统个性化搜索模型和基于学习的个性化搜索模型。
传统的个性化搜索模型主要采用两种方法来获得用户兴趣画像。一种是利用话题模型(Topic Model)从用户历史点击过的文档中抽取话题,并根据这些话题在话题空间中建立用户的兴趣画像[1,2]。另一种则是采用特征工程,从用户的查询历史中抽取一系列与用户兴趣相关的特征来构成用户兴趣的表示向量[3]。然而,这些传统方法都是基于经验对用户兴趣进行建模,对于特征合理性和有效性的要求极高,而且得到的兴趣向量涵盖范围也很有限。为了解决这些问题,一系列基于学习(深度学习)的个性化搜索模型陆续被提出。其中一部分模型不显式地设计特征来表示用户兴趣,而是直接从用户的查询日志中学习得到用户兴趣的表示向量[6];还有一部分模型则是直接利用单个用户的查询日志作为训练数据来训练满足个性化搜索的个人搜索模型[4,5]。
此外,在建立用户画像的基础上,也有一些研究工作从其他角度出发来提升个性化搜索的效果。比如,利用对抗生成网络来增强个性化搜索模型的训练数据[8];利用强化学习框架来跟踪用户和搜索引擎的整个交互过程,以便捕捉用户兴趣动态变化的性质并持续地更新个性化排序模型[9];捕捉用户在查询过程中的再查找(Re-finding)行为来辅助当前查询排序[7,10]等。
目前已有的个性化搜索模型大部分都是先基于用户的查询历史构建用户兴趣画像,然后再计算文档与用户兴趣画像的匹配程度来实现重排。这些模型不是从明确用户使用当前查询本身想要表达的查询意图出发,而是利用用户兴趣画像来辅助实现个性化排序。其实很多查询关键词通常具有歧义,拥有不同知识背景和兴趣爱好的用户对同一个查询关键词往往有各自不同的理解,在使用相同的查询关键词时想要表达的查询意图也不相同。比如查询关键词“苹果”,一个果农通常了解和使用的是“水果苹果”这一层含义,而如果是一个IT工程师则倾向于了解和使用“苹果公司、苹果产品”这一层含义。因此,对于不同的用户而言,同一个查询关键词所具有的语义应该是不同的。
我们希望直接从查询本身出发,获得查询关键词的个性化表示向量,以此消除查询关键词的歧义、明确用户个人的查询意图来达到个性化的效果。这样就可以直接利用查询的个性化表示向量与文档向量进行匹配来计算个性化得分,不需要维护用户长期的查询历史和用户兴趣画像,在一定程度上节约了计算时间和存储空间。
发明内容
为此,本发明提出了一种利用个人词向量消除关键词歧义的个性化搜索模型,包括预训练词向量模块、个性化排序模型、在线更新算法三部分;
所述预训练词向量模块通过预训练模型在用户个人的查询历史上训练得到每个用户的个人词向量矩阵,所述个人的查询历史包括所述用户历史输入的一系列查询以及在每个历史查询的点击文档集和未点击文档集,所述预训练模型通过用于捕捉语义信息的上下文预测任务和用于挖掘用户兴趣的点击预测任务来得到包含用户兴趣和关注语义的个人词向量;
所述个性化排序模型应用所述个人词向量,对于输入的查询和候选文档,通过文本表示模块得到不同粒度的查询和文本表示,进而通过基于会话的查询意图表示模块,根据当前查询会话内的短期历史查询获得基于会话的查询意图表示向量,之后通过文本匹配排序模块使用KNRM匹配模型来计算查询和文档之间的个性化匹配得分,基于匹配得分对所有候选文档进行排序得到当前查询下的个性化文档列表,应用基于文档对的LambdaRank算法来训练排序模型,同时利用查询重构模块构建多任务框架来帮助个性化排序以及模型的训练;所述在线更新算法短时间内基于线下训练好的模型结合在线调整方式,利用用户最新发出的查询来适当的更新所述个人词向量矩阵,使得所述个人词向量矩阵中能够蕴含最新的用户兴趣,为了保证个性化排序模型整体的最优性,在较长时间的在线调整之后,则利用当前所有的现有数据来重新训练个性化排序模型;
系统最终输出在当前查询下该文档的个性化匹配得分,以及文档的个性化排序列表。
所述个性化词向量层利用单词和对应的用户编号两个标识来标志一个单词,在不同用户个人词向量中的同一个单词被标志成单词与用户信息的组合,并在所有用户的整体查询日志上构建全局词汇表,通过去掉全局词汇表中的停用词、去掉在用户个人查询日志中出现次数小于特定次数的单词、去掉单词的交叉熵小于阈值的单词的规则筛选全局词汇表中的单词来为每个用户构建个人词汇表:所述单词的交叉熵以WordEntropy表示,计算公式如下:
ClickEntropy(q)=∑d∈D(q)-P(d|q)log2P(d|q)
其中Q(w)表示包含单词w的所有查询的集合,D(q)表示在查询q下点击文档的集合,P(d|q)是在查询q下点击文档d的概率,Clicks(q,d)表示用户在查询q下点击文档d的次数,Clicks(q,·)则表示用户在查询q下点击的文档总数;通过对用户个人词汇表中的单词进行筛选,我们可以有效地控制个人词向量的存储空间和训练词向量的计算量;对于查询日志非常少的用户,参照基于用户的协同过滤算法来寻找兴趣相似的用户,并基于相似用户和自己的查询日志来训练个人词向量,用户ui和uj之间的兴趣相似度Wij计算如下:
N(ui)和N(uj)分别代表用户ui和uj点击过的文档的集合,N(d)是点击过文档d的用户的集合。
所述训练预测模型的所述上下文预测任务通过设置上下文窗口的大小k,预测目标词的序号t,将目标词wt前后各k个词作为输入,即{wt-k,...,wt-1,wt+1,...,wt+k},通过个性化词向量层后得到每个词的向量表示{vt-k,...,vt-1,vt+1,...,vt+k},并计算上下文词向量的平均值c,然后将上下文表示c通过一个多层感知机函数计算得到目标词的预测概率P(wt|{wt-k,...,wt-1,wt+1,...,wt+k}),并使用负采样方法来计算这个任务的损失函数Lcontext。
所述预训练模型的所述用于挖掘用户兴趣的点击预测任务利用日志中记录的点击行为来捕捉更精确的关于用户兴趣的信息,任务输入为当前查询q,一个候选文档d以及用户当前的搜索历史H={q1,q2,...,qN},通过个性化词向量层后,所有的查询和文档都被表示为向量,对于搜索历史,应用两个自注意力层来挖掘用户兴趣,首先,查询历史中的每一个查询通过一个自注意力机制层和一个全连接层得到历史查询的表示hi,每个查询包括所有的查询关键词和点击文档中词汇,即则所述历史查询的表示为:
其中MS(·)表示多头自注意力函数,f(·)表示全连接层。之后,将所有历史查询的表示再通过一个多头自注意力层得到用户查询过程的上下文表示向量ci:
ci=f(MS(h1,h2,...,hN))
最后,用一个基于当前查询的注意力机制来融合所有历史查询,得到用户兴趣的表示向量Pu:
对于当前输入的查询q和候选文档d,将其通过个性化词向量层和一个MLP层得到各自的表示向量,最后,计算候选文档与当前查询q以及用户兴趣表示Pu的匹配得分来预测用户的点击行为,匹配得分通过余弦相似度计算得到:
p(yc|(q,d,H))=softmax(f(score(q,d),score(Pu,d))).
损失函数Lclick为交叉熵损失,通过最小化两部分损失函数LcontextLclick来优化预训练模型,获得用户个人词向量。
所述在线更新模块的所述在线调整方式可以采用按阶段更新、按会话更新或按查询更新三种方式,所述按阶段更新中,第一步在线下用当前所有的用户查询历史训练好一个模型;第二步规定一个阶段的时长,在这个时间内我们只收集所有的用户点击行为,但是不调整词向量;第三步在本阶段结束后,根据收集的用户点击行为来调整对应用户的个人词向量,同时保持排序模型中的其他参数不变,不断重复第二步和第三步操作,使得词向量始终包含最近的查询历史中体现的用户兴趣;所述按会话更新中,采用与所述按阶段更新方式相同的步骤,但以查询会话为时间间隔来更新词向量;所述按查询更新方式采用与所述按阶段更新方式相同的步骤,但以查询为间隔来更新词向量。
所述个性化排序模型中的所述文本表示模块利用个性化词向量层,将查询和文档映射到高维向量空间并获得四种不同的文本表示向量,从而得到不同粒度和角度的查询和文档表示,所述文本表示向量包括:
Personalized Word Representation(个性化词向量表示):输入用户的查询,通过对应用户的个人词向量矩阵会得到查询的个性化词向量表示Pq∈Rdim×|q|,其中每个词的词向量只包含用户感兴趣或者已知的词义;
Personalized Contextual Representation(个性化上下文表示):在个性化词向量表示后面加上一个多头自注意力层对其进行处理,得到查询的个性化上下文表示CPq∈Rdim×|q|,CPq计算过程如下:首先将查询的个性化词向量表示Pq用不同的线性函数处理成dq,dk,dv维,其中q,k,v分别表示注意力机制中的query,key和value,然后对处理后的query,key和value实施注意力机制,得到维度为dv的结果,并采用多头自注意力层,同时有多个自注意力函数进行上面两步操作,得到多个结果,最后,将多个结果拼接起来经过一个全连接层得到查询最终的个性化上下文表示CPq,具体的计算方法为:
CPq=Concat(head1,head2,...,headh)WA
和WA都是线性函数的参数;
Global Word Representation(全局词向量表示):通过全局词向量,获得查询和文档的全局词向量表示Gq∈Rdim×|q|,Gd∈Rdim×|d|;
Global Contextual Representation(全局上下文表示):利用多头注意力层对全局词向量表示进行处理,得到查询和文档的全局上下文表示向量CGq∈Rdim×|q|,CGd∈Rdim ×|d|。
所述个性化排序模型中的所述基于会话的查询意图表示模块根据当前会话中的历史查询计算会话级的查询意图表示SPq,定义SM为当前的查询会话,nM为所述当前的查询会话中历史查询的数目,每个查询下有若干个点击文档,即:其中的每个词都用个人词向量进行表示,用一个多头自注意力函数处理每个历史查询中的查询和点击文档的所有词,得到上下文表示向量/>然后利用一个MLP层为每个历史查询计算上下文表示向量的加权和得到查询表示/>最后计算当前查询q对SM中每个历史查询的注意力得分,并获得基于会话的查询意图表示SPq,具体计算过程为:
WPq=f(Pq)。
所述个性化排序模型中的所述文本匹配排序模块使用匹配模型K-NRM来计算匹配得分,对于查询的个性化词向量表示Pq和文档词向量Gd,首先构建一个相似度矩阵SP,其中每个元素是查询中第i个词/>和文档中第j个词/>的个性化词向量之间的余弦相似度,然后,利用多个RBF核函数从相似度矩阵SP中抽取查询和文档之间的多层级匹配特征,具体计算方式如下:
|q|表示查询的长度,K表示不同RBF核函数的数目,μk,σk分别是第k个核函数的均值和方差,得到一系列查询和文档的匹配特征之后,使用一个激活函数为tanh()的多层感知机来组合以上所有特征并计算查询和文档个性化词向量表示之间的匹配得分fP(q,d):
和bP为多层感知机的参数,
之后,再用三个参数不同的K-NRM模块来计算其他查询和文档表示向量之间的匹配得分,得到个性化上下文表示的匹配得分fCP(q,d)、全局词向量表示之间的匹配得分fG(q,d)和全局上下文表示之间的匹配得分fCG(q,d),具体的计算过程为:
对于查询的个性化上下表示CPq和文档上下文向量CGd,首先构建一个相似度矩阵SCP,然后利用RBF核函数抽取匹配特征,
对于查询的全局词向量表示Gq和文档词向量Gd,构建一个相似度矩阵SG,
对于查询的全局上下文表示CGq和文档上下文向量GGd,构建一个相似度矩阵SCG,
基于会话的查询意图表示和文档向量之间的匹配得分fSP(q,d)为两者之间的余弦相似度,即fSP(q,d)=cos(SPq,MLP(Gd));
之后,进一步计算查询重构模块中重构得到的查询表示向量h|q|和文档d之间的匹配得分为fQR(q,d)=cos(h|q|,MLP(Gd))。引入98维的点击特征和相关性特征输入一个以tanh()为激活函数的多层感知机中计算相关性得分fr,最后,用一个多层感知机组合以上所有7个得分得到该文档最终的个性化得分f(q,d)=MLP(fP(q,d),fCP(q,d),fG(q,d),fCG(q,d),fSP(q,d),fQR(q,d),fr);
选择用一个基于文档对的学习排序算法LambdaRank来训练整个个性化排序模型,首先,在各个用户的查询日志上构建文档对作为训练数据,其中用户点击的文档为正例,用户跳过的文档为负例,进而计算交换列表中的两个文档对评价指标造成的差值作为该文档对的λ,最后的损失函数为文档对中两个文档相对关系的概率分布的交叉熵与λ的乘积,表示如下:
是文档di比文档dj相关性高的真实概率,p(i>j)是排序模型预测的概率,由文档相关性得分的差score(di)-score(dj)经过logistic函数正则化之后得到。
所述个性化排序模型中设置所述查询重构模块构建多任务框架,与个性化排序任务同时进行训练,采用“编码器-解码器”结构来完成查询的重构,在编码器部分,首先将当前查询的个性化词向量表示Pq输入一个GRU中计算每一步的隐状态取出最后一步的隐状态h|q|作为用户真实查询意图的表示向量,这一意图表示向量同时被用于与文档向量计算匹配得分fQR(q,d)来帮助个性化文档排序,在查询重构部分,采用带有注意力机制的GRU作为解码器,目标序列中的每一个词基于当前隐状态st、前面已经解码得到的词序列{o1,o2,...,ot-1}和利用注意力函数计算的上下文向量ct进行预测,并通过softmax函数映射到词汇表上的概率分布,
p(ot|{o1,o2,...,ot-1},h|q|)=softmax(W[st,ct]+b)
其中隐状态st=GRU(st-1,ot-1,ct),上下文向量 函数a()是简单的点积计算或感知机,目标序列的生成概率p(o)是其中每个词预测概率的乘积,
通过最小化目标序列的负对数生成概率训练查询重构模块,整个多任务模型通过最小化负对数概率和文档对损失来联合进行训练。
本发明所要实现的技术效果在于:
在排序模型中为每个用户都保留了个人词向量,并严格筛选其中包含的词汇,仅保留少部分用户使用过并且具有歧义的词,节省了空间和计算资源。通过将用户兴趣嵌入到个性化的词向量表示中,模型在进行个性化排序时不需要再分析用户的长期查询历史建立用户画像,可以直接计算查询和文档个性化表示之间的匹配得分,提高了效率。并且,对于个性化搜索,本申请的模型包含用户兴趣的个人词向量可以帮助消除查询关键词的歧义,明确用户的查询意图;同时,模型提高了计算文档个性化得分的效率。
附图说明
图1预训练模型结构图;
图2模型结构图
具体实施方式
以下是本发明的优选实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于此实施例。
为了实现上述的发明目的,本发明提供了一种利用个人词向量消除关键词歧义的个性化搜索模型。
由于有很多独立的用户使用搜索引擎,表示为u1,u2,...。在当前时刻T,每个用户ui有个人的查询历史包括该用户历史输入的一系列查询/>以及在每个历史查询qi,j下的点击文档集/>和未点击文档集/>其中/>表示历史查询序列/>中包含的总查询数。受到会话查询相关工作的启发,我们也关注用户的短期查询历史,即当前的查询会话SM。SM包括若干个历史查询/>nM是当前查询会话中的总查询数。现在用户ui输入一个查询q,非个性化搜索引擎返回一个候选文档列表D={d1,d2,...},个性化搜索模型需要根据用户个人的查询意图来调整候选文档列表中的文档顺序,为用户返回更符合其兴趣爱好的查询结果。
预训练词向量
用户兴趣主要反映在用户历史输入的查询和每个查询下的点击文档中,因此,获得包含用户兴趣的个人词向量最直接的方法就是基于对应用户的查询日志语料训练个性化词向量模型。然而,基本的语言模型致力于学习语料中包含的语义信息和语言模式,但是难以学习到关于用户兴趣的信息。记录在查询日志中的用户点击行为能够反映用户的兴趣和偏好信息,所以我们特别设计了一个预训练模型,通过两个任务来得到包含用户兴趣和关注语义的个人词向量。这两个任务分别是用于捕捉语义信息的上下文预测任务和用于挖掘用户兴趣的点击预测任务。预训练模型的整体结构展示在图1中,其中设置了个性化词向量层。
个性化词向量层
个性化词向量层中是要为每个用户单独训练的个人词向量矩阵。我们利用两个标识(单词,对应的用户编号)来标志一个每个单词,因而在不同用户词向量中的同一个单词会被标志成不同的单词。比如,用户ui个人词向量下的单词“Apple”被表示为“Apple+ui”,而“Apple+uj”则表示用户uj个人词向量下的单词“Apple”。每个用户的个人词向量都只用该用户的查询日志进行训练,因此训练得到的个人词向量不包括该词多种不同的含义,而是主要只包括该用户查询过或者感兴趣的语义。
我们还需要确定每个用户个人词向量矩阵中需要包括哪些单词。在所有用户的整体查询日志上,我们可以构建一个全局词汇表,但是在每个个人词向量矩阵中维持全局词汇表中的所有单词存在两个问题:(1)大部分全局词汇表中的单词在个人日志中出现的频率都很低,甚至没有出现过,没必要浪费大量的内存空间为每个用户维持一个完整的全局词汇表;(2)全局词汇表中的一部分单词可能不具有歧义,不需要单独训练个性化词向量,可以只为这部分单词训练共享的全局词向量。因此,我们按照如下规则筛选全局词汇表中的单词来为每个用户构建个人词汇表:
1、去掉全局词汇表中的停用词;
2、去掉在用户个人查询日志中出现次数小于C次的单词;
3、去掉WordEntropy值小于阈值ent的单词。
我们定义WordEntropy为单词的交叉熵,是所有包含该单词的查询点击熵的平均值,计算公式如下:
ClickEntropy(q)=∑d∈D(q)-P(d|q)log2P(d|q),
其中Q(w)表示包含单词w的所有查询的集合,D(q)表示在查询q下点击文档的集合。P(d|q)是在查询q下点击文档d的概率,Clicks(q,d)表示用户在查询q下点击文档d的次数,Clicks(q,·)则表示用户在查询q下点击的文档总数。。通过对用户个人词汇表中的单词进行筛选,我们可以有效地控制个人词向量的存储空间和训练词向量的计算量。
由于各个用户的日志数据量非常不均匀,有的用户查询日志非常少,因此我们也可以利用若干个相似用户的查询日志一起来训练词向量。我们参照基于用户的协同过滤算法来寻找兴趣相似的用户,用户ui和uj之间的兴趣相似度Wij计算如下:
N(ui)和N(uj)分别代表用户ui和uj点击过的文档的集合,N(d)是点击过文档d的用户的集合。
上下文预测任务
在用户的搜索日志中,我们假设出现在输入查询和点击文档中的关键词表达的使用已经了解或者感兴趣的词义。我们参考经典的语言模型CBOW通过上下文预测任务在用户的个人搜索日志上学习个性化词义表示。k表示上下文窗口的大小,t表示预测目标词的序号。输入是目标词wt前后各k个词,即{wt-k,...,wt-1,wt+1,...,wt+k},通过个性化词向量层后得到向量表示{vt-k,...,vt-1,vt+1,...,vt+k}。我们计算上下文词向量的平均值为c,然后将上下文表示c通过一个MLP层计算得到目标词的预测概率P(wt|{wt-k,...,wt-1,wt+1,...,wt+k})。我们使用负采样方法来计算这个任务的损失函数Lcontext。
点击预测任务
除了上面的上下文预测任务,我们还提出了一个点击预测任务,利用日志中记录的点击行为来捕捉更精确的关于用户兴趣的信息。在个性化搜索中,我们认为用户是否点击一个文档不仅仅取决于查询和文档之间广义上的相关性,同时也与用户搜索历史中体现出来的用户兴趣相关。因此,我们基于用户输入的当前查询和搜索历史来预测用户的点击行为。输入为当前查询q,一个候选文档d以及用户当前的搜索历史H={q1,q2,...,qN}。通过个性化词向量层后,所有的查询和文档都被表示为向量。对于搜索历史,我们应用两个自注意力层来挖掘用户兴趣。首先,查询历史中的每一个查询通过一个自注意力机制层和一个全连接层得到历史查询的表示hi,每个查询包括所有的查询关键词和点击文档中词汇,即
其中MS(·)表示多头自注意力函数,f(·)表示全连接层。之后,所有历史查询的表示再通过一个多头自注意力层得到用户查询过程的上下文表示向量ci.
ci=f(MS(h1,h2,...,hN)).
最后,用一个基于当前查询的注意力机制来融合所有历史查询,得到用户兴趣的表示向量Pu.
对于当前输入的查询q和候选文档d,我们将其通过个性化词向量层和一个MLP层得到各自的表示向量。最后,我们计算候选文档与当前查询q以及用户兴趣表示Pu的匹配得分来预测用户的点击行为,如下:
p(yc|(q,d,H))=softmax(f(score(q,d),score(Pu,d))).
我们将这个任务看做一个点击和不点击文档的二分类任务,损失函数Lclick为交叉熵损失。通过最小化两个损失函数Lcontext和Lclick来训练预训练模型。
利用这两个预训练任务来联合优化词向量预训练模型,得到包含用户兴趣和感兴趣的语义信息的个性化词向量。
个性化排序模型
通过预训练阶段后,我们得到了每个用户的个人词向量。我们进一步设计了一个个性化排序模型,利用用户个人词向量来消除查询关键词的歧义并明确用户的查询意图。在排序模型中,我们可以保持个人词向量固定不更新,也可以利用对应用户的数据动态更新词向量。除了个人词向量,其中也包括在所有用户的查询日志上训练的全局词向量。排序模型的整体结构如图2所示,我们将其分为四个主要部分。第一部分,通过文本表示模块我们得到不同粒度的查询和文本表示;第二部分,我们根据当前查询会话内的历史查询获得基于会话的查询意图表示向量;第三部分,使用KNRM匹配模型来计算查询和文档之间的匹配得分,应用基于文档对的LambdaRank算法来训练模型;最后,我们设计了一个查询重构模块,并构建所任务架构来帮助个性化排序。
文本表示模块
利用个性化词向量层,我们可以将查询和文档映射到高维向量空间并获得它们的文本表示向量,一共包括四种不同的文本表示向量。由于个人词向量适用于反映用户兴趣的,我们只考虑用个人词向量来表示查询,而文档是供所有用户使用的,因此仍然用全局词向量来表示。
(1)Personalized Word Representation(个性化词向量表示):输入用户的查询,通过对应用户的个人词向量矩阵会得到查询个性化词向量表示Pq∈Rdim×|q|。其中每个词的词向量只包含用户感兴趣或者已知的词义,实现了词级别的个性化。
(2)Personalized Contextual Representation(个性化上下文表示):为了捕捉查询上下文之间的交互信息并获得查询级别的个性化向量表示以更进一步地明确用户的查询意图,我们在个性化词向量表示后面加上一个多头自注意力层对其进行处理,得到查询的个性化上下文表示CPq∈Rdim×|q|。CPq计算过程如下:首先,我们将查询的个性化词向量表示Pq用不同的线性函数处理成dq,dk,dv维,其中q,k,v分别表示注意力机制中的query,key和value。然后对处理后的query,key和value实施注意力机制,得到维度为dv的结果。我们采用多头自注意力层,同时有多个自注意力函数进行上面两步操作,得到多个结果。最后,将多个结果拼接起来经过一个全连接层得到查询最终的个性化上下文表示CPq。具体的计算公式包括:
CPq=Concat(head1,head2,...,headh)WA,
和WA都是线性函数的参数。
(3)Global Word Representation(全局词向量表示):在实际的搜索场景中,每个用户的兴趣都是多变的,知识也是在不断增长的。比如前面的例子中提到的IT工程师,在大多数情况下,他输入“Apple”这个关键词是想要查询苹果公司或者苹果电子产品。但是也不可避免他有时是希望使用“苹果”的其他含义,比如苹果水果,这一含义在历史中从来没有使用过。因此,除了个性化的文本表示之外,我们同时也关注查询和文档的全局表示。通过全局词向量,我们获得了查询和文档的全局词向量表示Gq∈Rdim×|q|,Gd∈Rdim×|d|。
(4)Global Contextual Representation(全局上下文表示):与PersonalizedContextual Representation的计算过程相同,我们利用多头注意力层对全局词向量表示进行处理,得到查询和文档的全局上下文表示向量CGq∈Rdim×|q|,CGd∈Rdim×|d|。
通过以上四种不同的文本表示向量,我们得到了不同粒度和角度的查询和文档表示,有助于我们对文档进行个性化排序。
基于会话的查询意图表示
在上一部分,我们已经利用个人词向量表示和上下文表示来明确当前查询中关键词的具体含义,但是很多查询都很短甚至只包含一个词,仅基于当前查询的上下文来消除歧义是不够的的。因此,我们需要更进一步地明确当前查询的具体意图。根据现有文献,我们知道用户在一个搜索会话中的查询意图通常都是一致的,我们定义为用户的短期兴趣。我们可以根据当前会话中的历史查询计算会话级的查询意图表示SPq。根据问题定义,在当前的查询会话SM中,一共有nM个历史查询,每个查询下有若干个点击文档,即:其中的每个词都用个人词向量进行表示。我们用一个多头自注意力函数处理每个历史查询(包括查询和点击文档中的所有词),得到上下文表示向量CHW∈/>然后,利用一个MLP层为每个历史查询计算上下文表示向量的加权和得到查询表示/>最后,我们计算当前查询q对SM中每个历史查询的注意力得分,并获得基于会话的查询意图表示SPq。
WPq=f(Pq).
文本匹配排序模块
获得上一部分所描述的查询和文档的个性化以及全局表示后,我们可以计算查询和文档的个性化匹配得分来对候选文档集实现重排序。在提出的模型中,我们使用匹配模型K-NRM来计算匹配得分。对于查询的个性化词向量表示Pq和文档词向量Pd,我们首先构建一个相似度矩阵SP,其中每个元素是查询中第i个词/>和文档中第j个词/>的个性化词向量之间的余弦相似度。然后,我们利用多个RBF核函数从相似度矩阵SP中抽取查询和文档之间的多层级匹配特征。具体计算方式如下:
|q|表示查询的长度,K表示不同RBF核函数的数目。μk,σk分别是第k个核函数的均值和方差。通过以上计算得到一系列查询和文档的匹配特征之后,我们使用一个激活函数为tanh()的多层感知机来组合以上所有特征并计算查询和文档个性化词向量表示之间的匹配得分fP(q,d):
和bP为多层感知机的参数。
与上面个性化词向量之间匹配得分的计算过程相同,我们再用三个参数不同的KNRM模块来计算其他查询和文档表示向量之间的匹配得分,得到个性化上下文表示的匹配得分fCP(q,d)、全局词向量表示之间的匹配得分fG(q,d)和全局上下文表示之间的匹配得分fCG(q,d)。基于会话的查询意图表示和文档向量之间的匹配得分fSP(q,d)为两者之间的余弦相似度,fSP(q,d)=cos(SPq,MLP(Gd))。
除了以上查询和文档之间的交互匹配得分之外,我们还计算了查询重构模块中重构得到的查询表示向量h|q|和文档d之间的匹配得分fQR(q,d)=cos(h|q|,MLP(Gd))。同时,我们也引入了一些点击特征和相关性特征来帮助文档排序,一共引入了98维特征。我们将这些特征输入一个以tanh()为激活函数的多层感知机中计算相关性得分。最后,用一个多层感知机组合以上所有7个得分得到该文档最终的个性化得分
f(q,d)=MLP(fP(q,d),fCP(q,d),fG(q,d),fCG(q,d),fSP(q,d),fQR(q,d),fr)。
我们选择用一个基于文档对的学习排序算法LambdaRank来训练个性化排序模型。首先,我们在用户的查询日志上构建文档对作为训练数据,其中用户点击的文档为正例,用户跳过的文档为负例。并且我们计算交换列表中的两个文档对评价指标造成的差值作为该文档对的λ,最后的损失函数为文档对中两个文档相对关系的概率分布的交叉熵与λ的乘积,表示如下:
是文档di比文档dj相关性高的真实概率,p(i>j)是排序模型预测的概率,由文档相关性得分的差score(di)-score(dj)经过logistic函数正则化之后得到。
查询重构模块
日常使用搜索引擎的绝大多数用户都是非专业人员,他们很难直接用准确的查询关键词来表达自己的查询意图。在本文的模型中,我们能够得到包含用户兴趣的个性化查询表示向量,因此我们能够基于此个性化表示来推断用户真实的查询意图,并对用户的查询进行重构来提升个性化排序的效果,反过来也能够促进用户个人词向量的学习。从这个动机出发,我们在模型中设置了查询重构模块并搭建多任务框架将其与个性化排序任务同时进行训练。由于我们没有人工标注的表达用户真实查询意图的重构查询,我们只能参考查询推荐任务中的做法,认为当前查询会话下的后一个查询相比于当前查询能够更好地表达用户的查询意图,并用后一个查询作为查询重构任务的监督信息。参考了许多查询生成模型,在本文中我们采用“编码器-解码器”结构来完成查询的重构。在编码器部分,首先将当前查询的个性化词向量表示Pq输入一个GRU中计算每一步的隐状态 取出最后一步的隐状态h|q|作为用户真实查询意图的表示向量,这一意图表示向量同时被用于与文档向量计算匹配得分fQR(q,d)来帮助个性化文档排序。在查询重构部分,我们采用带有注意力机制的GRU作为解码器,目标序列中的每一个词基于当前隐状态st、前面已经解码得到的词序列{o1,o2,...,ot-1}和利用注意力函数计算的上下文向量ct进行预测,并通过softmax函数映射到词汇表上的概率分布。
p(ot|{o1,o2,...,ot-1},h|q|)=softmax(W[st,ct]+b)
其中隐状态st=GRU(st-1,ot-1,ct),上下文向量 函数a()可以是简单的点积计算也可以是感知机。目标序列的生成概率p(o)是其中每个词预测概率的乘积。
我们通过最小化目标序列的负对数生成概率训练查询重构模块。整个多任务模型通过最小化负对数概率和文档对损失来联合进行训练。
在线更新
我们在模型中为每个用户设置了个人词向量,利用用户的查询历史训练模型后,个人词向量中已经包含了查询历史中体现的用户兴趣。但是在实际的应用场景中,用户会不断地输入新的查询,这些查询可能体现出新的用户兴趣。为了确保模型中的用户个人词向量蕴含最新的用户兴趣,我们应该时刻根据用户新输入的查询来对用户个人词向量进行调整,此时可以保持排序模型的其他参数固定不变。为此,我们设计了三种不同的在线调整方式:
按阶段更新:第一步,在线下用当前所有的用户查询历史训练好一个模型;第二步,规定一个阶段的时长,在这个时间内我们只收集所有的用户点击行为,但是不调整词向量;第三步,在本阶段结束后,根据收集的用户点击行为来调整对应用户的个人词向量,同时保持排序模型中的其他参数不变。不断重复第二步和第三步操作,使得词向量始终包含最近的查询历史中体现的用户兴趣。
按会话更新:以上方法是以一个固定的时间为间隔调整词向量,但是在信息检索中,我们通常会认为一个查询会话是反映用户查询意图和短期兴趣的时间单位。因此,与上一个方法的操作步骤相同,我们提出以查询会话为间隔来更新词向量。
按查询更新:在很多个性化搜索的工作中都将用户兴趣划分为长期用户兴趣和短期兴趣,其中短期兴趣体现在一个查询会话内部,而上面以会话为单位更新的方式可能会忽略这种短期兴趣对后续查询的影响,因此我们也设计了一种以查询为间隔来更新词向量的方式,希望能够更精确地捕捉到用户的兴趣。
以上几种方法都是基于线下训练好的模型,利用用户最新发出的查询来适当的更新个性化的词向量,使得词向量中能够蕴含最新的用户兴趣。但是这种增量调整的方式可能很难使模型达到全局最优的效果,长时间微调之后模型的效果可能会逐渐下降。因此我们提出在短时间内可以通过以上几种方式来对模型持续地进行调整,但是经过一段时间后可以在原来的基础上加上新的训练数据在线下重新训练一个全局最优的模型。这样能够既保证模型的效果,又达到较高的效率。
Claims (3)
1.一种利用个人词向量消除关键词歧义的个性化搜索模型,其特征在于:包括预训练词向量模块、个性化排序模型、在线更新算法三部分;
所述预训练词向量模块通过预训练模型在用户个人的查询历史上训练得到每个用户的个人词向量矩阵,所述个人的查询历史包括所述用户历史输入的一系列查询以及在每个历史查询的点击文档集和未点击文档集,所述预训练模型通过用于捕捉语义信息的上下文预测任务和用于挖掘用户兴趣的点击预测任务来得到包含用户兴趣和关注语义的个人词向量;
所述个性化排序模型应用所述个人词向量,对于输入的查询和候选文档,通过文本表示模块得到不同粒度的查询和文本表示,进而通过基于会话的查询意图表示模块,根据当前查询会话内的短期历史查询获得基于会话的查询意图表示向量,之后通过文本匹配排序模块使用KNRM匹配模型来计算查询和文档之间的个性化匹配得分,基于匹配得分对所有候选文档进行排序得到当前查询下的个性化文档列表,应用基于文档对的LambdaRank算法来训练排序模型,同时利用查询重构模块构建多任务框架来帮助个性化排序以及模型的训练;所述在线更新算法短时间内基于线下训练好的模型结合在线调整方式,利用用户最新发出的查询来适当的更新所述个人词向量矩阵,使得所述个人词向量矩阵中能够蕴含最新的用户兴趣,为了保证个性化排序模型整体的最优性,在较长时间的在线调整之后,则利用当前所有的现有数据来重新训练个性化排序模型;
系统最终输出在当前查询下候选文档的个性化匹配得分,以及文档的个性化排序列表;
所述预训练模型的所述用于挖掘用户兴趣的点击预测任务利用日志中记录的点击行为来捕捉更精确的关于用户兴趣的信息,任务输入为当前查询q,一个候选文档d以及用户当前的搜索历史H={q1,q2,…,qN},通过个性化词向量层后,所有的查询和文档都被表示为向量,对于搜索历史,应用两个自注意力层来挖掘用户兴趣,首先,查询历史中的每一个查询通过一个自注意力机制层和一个全连接层得到历史查询的表示hi,每个查询包括所有的查询关键词和点击文档中词汇,即则所述历史查询的表示为:
其中MS(·)表示多头自注意力函数,f(·)表示全连接层;之后,将所有历史查询的表示再通过一个多头自注意力层得到用户查询过程的上下文表示向量ci:
ci=f(MS(h1,h2,…,hN))
最后,用一个基于当前查询的注意力机制来融合所有历史查询,得到用户兴趣的表示向量Pu:
对于当前输入的查询q和候选文档d,将其通过个性化词向量层和一个MLP层得到各自的表示向量,最后,计算候选文档与当前查询q以及用户兴趣表示Pu的匹配得分来预测用户的点击行为,匹配得分通过余弦相似度计算得到:
p(yc|(q,d,H))=softmax(f(score(q,d),score(Pu,d)))
损失函数Lclick为交叉熵损失,通过最小化两部分损失函数Lcontext+Lclick来优化预训练模型,获得用户个人词向量;
所述在线更新算法的所述在线调整方式可以采用按阶段更新、按会话更新或按查询更新三种方式,所述按阶段更新中,第一步在线下用当前所有的用户查询历史训练好一个模型;第二步规定一个阶段的时长,在这个时间内我们只收集所有的用户点击行为,但是不调整词向量;第三步在本阶段结束后,根据收集的用户点击行为来调整对应用户的个人词向量,同时保持排序模型中的其他参数不变,不断重复第二步和第三步操作,使得词向量始终包含最近的查询历史中体现的用户兴趣;所述按会话更新中,采用与所述按阶段更新方式相同的步骤,但以查询会话为时间间隔来更新词向量;所述按查询更新方式采用与所述按阶段更新方式相同的步骤,但以查询为间隔来更新词向量;
所述个性化排序模型中的所述文本表示模块利用个性化词向量层,将查询和文档映射到高维向量空间并获得四种不同的文本表示向量,从而得到不同粒度和角度的查询和文档表示,所述文本表示向量包括:Personalized Word Representation(个性化词向量表示):输入用户的查询,通过对应用户的个人词向量矩阵会得到查询的个性化词向量表示Pq∈Rdim×|q|,其中每个词的词向量只包含用户感兴趣或者已知的词义;
Personalized Contextual Representation(个性化上下文表示):在个性化词向量表示后面加上一个多头自注意力层对其进行处理,得到查询的个性化上下文表示CPq∈Rdim ×|q|,CPq计算过程如下:首先将查询的个性化词向量表示Pq用不同的线性函数处理成dq,dk,dv维,其中q,k,v分别表示注意力机制中的query,key和value,然后对处理后的query,key和value实施注意力机制,得到维度为dv的结果,并采用多头自注意力层,同时有多个自注意力函数进行上面两步操作,得到多个结果,最后,将多个结果拼接起来经过一个全连接层得到查询最终的个性化上下文表示CPq,具体的计算方法为:
CPq=Concat(head1,head2,…,headh)WA
和WA都是线性函数的参数;
Global Word Representation(全局词向量表示):通过全局词向量,获得查询和文档的全局词向量表示Gq∈Rdim×|q|,Gd∈Rdim×|d|;
Global Contextual Representation(全局上下文表示):利用多头注意力层对全局词向量表示进行处理,得到查询和文档的全局上下文表示向量CGq∈Rdim×|q|,CGd∈Rdim×|d|;
所述个性化排序模型中的所述基于会话的查询意图表示模块根据当前会话中的历史查询计算会话级的查询意图表示SPq,定义SM为当前的查询会话,nM为所述当前的查询会话中历史查询的数目,每个查询下有若干个点击文档,即:其中的每个词都用个人词向量进行表示,用一个多头自注意力函数处理每个历史查询中的查询和点击文档的所有词,得到上下文表示向量/>然后利用一个MLP层为每个历史查询计算上下文表示向量的加权和得到查询表示/>最后计算当前查询q对SM中每个历史查询的注意力得分,并获得基于会话的查询意图表示SPq,具体计算过程为:
WPq=f(Pq);
所述个性化排序模型中的所述文本匹配排序模块使用匹配模型K-NRM来计算匹配得分,对于查询的个性化词向量表示Pq和文档词向量Gd,首先构建一个相似度矩阵SP,其中每个元素是查询中第i个词/>和文档中第j个词/>的个性化词向量之间的余弦相似度,然后,利用多个RBF核函数从相似度矩阵SP中抽取查询和文档之间的多层级匹配特征,具体计算方式如下:
|q|表示查询的长度,K表示不同RBF核函数的数目,μk,σk分别是第k个核函数的均值和方差,得到一系列查询和文档的匹配特征之后,使用一个激活函数为tanh()的多层感知机来组合以上所有特征并计算查询和文档个性化词向量表示之间的匹配得分fP(q,d):
和bP为多层感知机的参数,
之后,再用三个参数不同的K-NRM模块来计算其他查询和文档表示向量之间的匹配得分,得到个性化上下文表示的匹配得分fCP(q,d)、全局词向量表示之间的匹配得分fG(q,d)和全局上下文表示之间的匹配得分fCG(q,d),具体的计算过程为:
对于查询的个性化上下表示CPq和文档上下文向量CGd,首先构建一个相似度矩阵SCP,然后利用RBF核函数抽取匹配特征,
对于查询的全局词向量表示Gq和文档词向量Gd,构建一个相似度矩阵SG,
对于查询的全局上下文表示GCq和文档上下文向量GGd,构建一个相似度矩阵SCG,
基于会话的查询意图表示和文档向量之间的匹配得分fSP(q,d)为两者之间的余弦相似度,即fSP(q,d)=cos(SPq,MLP(Gd));
之后,进一步计算查询重构模块中重构得到的查询表示向量h|q|和文档d之间的匹配得分为fQR(q,d)=cos(h|q|,MLP(Gd));引入98维的点击特征和相关性特征,输入一个以tanh()为激活函数的多层感知机中计算相关性得分fr,最后,用一个多层感知机组合以上所有7个得分得到该文档最终的个性化得分f(q,d)=MLP(fP(q,d),fCP(q,d),fG(q,d),fCG(q,d),fSP(q,d),fQR(q,d),fr);
选择用一个基于文档对的学习排序算法LambdaRank来训练整个个性化排序模型,首先,在各个用户的查询日志上构建文档对作为训练数据,其中用户点击的文档为正例,用户跳过的文档为负例,进而计算交换列表中的两个文档对评价指标造成的差值作为该文档对的λ,最后的损失函数为文档对中两个文档相对关系的概率分布的交叉熵与λ的乘积,表示如下:
是文档di比文档dj相关性高的真实概率,p(i>j)是排序模型预测的概率,由文档相关性得分的差score(di)-score(dj)经过logistic函数正则化之后得到;
所述个性化排序模型中设置所述查询重构模块构建多任务框架,与个性化排序任务同时进行训练,采用“编码器—解码器”结构来完成查询的重构,在编码器部分,首先将当前查询的个性化词向量表示Pq输入一个GRU中计算每一步的隐状态取出最后一步的隐状态h|q|作为用户真实查询意图的表示向量,这一意图表示向量同时被用于与文档向量计算匹配得分fQR(q,d)来帮助个性化文档排序,在查询重构部分,采用带有注意力机制的GRU作为解码器,目标序列中的每一个词基于当前隐状态st、前面已经解码得到的词序列{o1,o2,…,ot-1}和利用注意力函数计算的上下文向量ct进行预测,并通过softmax函数映射到词汇表上的概率分布,
p(ot|{o1,o2,…,ot-1},h|q|)=softmax(W[st,ct]+b)
其中隐状态st=GRU(st-1,ot-1,ct),上下文向量 函数a()是简单的点积计算或感知机,目标序列的生成概率p(o)是其中每个词预测概率的乘积,
通过最小化目标序列的负对数生成概率训练查询重构模块,整个多任务模型通过最小化负对数概率和文档对损失来联合进行训练。
2.根据权利要求1所述的一种利用个人词向量消除关键词歧义的个性化搜索模型,其特征在于:所述个性化词向量层利用单词和对应的用户编号两个标识来标志一个单词,在不同用户个人词向量中的同一个单词被标志成单词与用户信息的组合,并在所有用户的整体查询日志上构建全局词汇表,通过去掉全局词汇表中的停用词、去掉在用户个人查询日志中出现次数小于特定次数的单词、去掉单词的交叉熵小于阈值的单词的规则筛选全局词汇表中的单词来为每个用户构建个人词汇表:
所述单词的交叉熵以WordEntropy表示,计算公式如下:
ClickEntropy(q)=∑d∈D(q)-P(d|q)log2P(d|q)
其中Q(w)表示包含单词w的所有查询的集合,D(q)表示在查询q下点击文档的集合,P(d|q)是在查询q下点击文档d的概率,Clicks(q,d)表示用户在查询q下点击文档d的次数,CLicks(q,·)则表示用户在查询q下点击的文档总数;通过对用户个人词汇表中的单词进行筛选,我们可以有效地控制个人词向量的存储空间和训练词向量的计算量;对于查询日志非常少的用户,参照基于用户的协同过滤算法来寻找兴趣相似的用户,并基于相似用户和自己的查询日志来训练个人词向量,用户ui和uj之间的兴趣相似度Wij计算如下:
N(ui)和N(uj)分别代表用户ui和uj点击过的文档的集合,N(d)是点击过文档d的用户的集合。
3.根据权利要求2所述的一种利用个人词向量消除关键词歧义的个性化搜索模型,其特征在于:所述预训练模型的所述上下文预测任务通过设置上下文窗口的大小k,预测目标词的序号t,将目标词wt前后各k个词作为输入,即{wt-k,…,wt-1,wt+1,…,wt+k},通过个性化词向量层后得到每个词的向量表示{vt-k,…,vt-1,vt+1,…,vt+k},并计算上下文词向量的平均值c,然后将上下文表示c通过一个多层感知机函数计算得到目标词的预测概率P(wt|{wt-k,…,wt-1,wt+1,…,wt+k}),并使用负采样方法来计算这个任务的损失函数Lcontext。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011021940.0A CN112182154B (zh) | 2020-09-25 | 2020-09-25 | 一种利用个人词向量消除关键词歧义的个性化搜索模型 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011021940.0A CN112182154B (zh) | 2020-09-25 | 2020-09-25 | 一种利用个人词向量消除关键词歧义的个性化搜索模型 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112182154A CN112182154A (zh) | 2021-01-05 |
CN112182154B true CN112182154B (zh) | 2023-10-10 |
Family
ID=73944508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011021940.0A Active CN112182154B (zh) | 2020-09-25 | 2020-09-25 | 一种利用个人词向量消除关键词歧义的个性化搜索模型 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112182154B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113032549B (zh) * | 2021-05-31 | 2021-09-10 | 北京明略昭辉科技有限公司 | 一种文档排序方法、装置、电子设备及存储介质 |
CN113378243B (zh) * | 2021-07-14 | 2023-09-29 | 南京信息工程大学 | 一种基于多头注意力机制的个性化联邦学习方法 |
CN113516837B (zh) * | 2021-07-21 | 2022-09-23 | 重庆大学 | 一种基于多源信息融合的城市火灾判断方法、系统及其存储介质 |
CN113761934B (zh) * | 2021-07-29 | 2023-03-31 | 华为技术有限公司 | 一种基于自注意力机制的词向量表示方法及自注意力模型 |
CN114974228B (zh) * | 2022-05-24 | 2023-04-11 | 名日之梦(北京)科技有限公司 | 一种基于分级识别的快速语音识别方法 |
CN117669513B (zh) * | 2024-01-30 | 2024-04-12 | 江苏古卓科技有限公司 | 一种基于人工智能的数据管理系统及方法 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001031479A1 (en) * | 1999-10-27 | 2001-05-03 | Zapper Technologies Inc. | Context-driven information retrieval |
CN104462357A (zh) * | 2014-12-08 | 2015-03-25 | 百度在线网络技术(北京)有限公司 | 实现个性化搜索的方法和装置 |
WO2017041372A1 (zh) * | 2015-09-07 | 2017-03-16 | 百度在线网络技术(北京)有限公司 | 基于人工智能的人机交互方法和系统 |
CN106709040A (zh) * | 2016-12-29 | 2017-05-24 | 北京奇虎科技有限公司 | 一种应用搜索方法和服务器 |
CN106776869A (zh) * | 2016-11-28 | 2017-05-31 | 北京百度网讯科技有限公司 | 基于神经网络的搜索优化方法、装置以及搜索引擎 |
CN108073576A (zh) * | 2016-11-09 | 2018-05-25 | 上海诺悦智能科技有限公司 | 智能搜索方法、搜索装置以及搜索引擎系统 |
CN109189904A (zh) * | 2018-08-10 | 2019-01-11 | 上海中彦信息科技股份有限公司 | 个性化搜索方法及系统 |
CN109522393A (zh) * | 2018-10-11 | 2019-03-26 | 平安科技(深圳)有限公司 | 智能问答方法、装置、计算机设备和存储介质 |
CN110309255A (zh) * | 2018-03-07 | 2019-10-08 | 同济大学 | 一种融入实体描述分布式表示的实体搜索方法 |
CN111125538A (zh) * | 2019-12-31 | 2020-05-08 | 中国人民大学 | 一个利用实体信息增强个性化检索效果的搜索方法 |
WO2020108608A1 (zh) * | 2018-11-29 | 2020-06-04 | 腾讯科技(深圳)有限公司 | 搜索结果处理方法、装置、终端、电子设备及存储介质 |
CN111291069A (zh) * | 2018-12-07 | 2020-06-16 | 北京搜狗科技发展有限公司 | 一种数据处理方法、装置和电子设备 |
CN111310023A (zh) * | 2020-01-15 | 2020-06-19 | 中国人民大学 | 基于记忆网络的个性化搜索方法及系统 |
CN111552767A (zh) * | 2019-02-11 | 2020-08-18 | 阿里巴巴集团控股有限公司 | 搜索方法、搜索装置以及计算机设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7818315B2 (en) * | 2006-03-13 | 2010-10-19 | Microsoft Corporation | Re-ranking search results based on query log |
US8538959B2 (en) * | 2010-07-16 | 2013-09-17 | International Business Machines Corporation | Personalized data search utilizing social activities |
US10089576B2 (en) * | 2015-07-28 | 2018-10-02 | Microsoft Technology Licensing, Llc | Representation learning using multi-task deep neural networks |
US10268646B2 (en) * | 2017-06-06 | 2019-04-23 | Facebook, Inc. | Tensor-based deep relevance model for search on online social networks |
US20190103111A1 (en) * | 2017-10-03 | 2019-04-04 | Rupert Labs Inc. ( DBA Passage AI) | Natural Language Processing Systems and Methods |
US10853395B2 (en) * | 2018-09-24 | 2020-12-01 | Salesforce.Com, Inc. | Extraction of keywords for generating multiple search queries |
-
2020
- 2020-09-25 CN CN202011021940.0A patent/CN112182154B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001031479A1 (en) * | 1999-10-27 | 2001-05-03 | Zapper Technologies Inc. | Context-driven information retrieval |
CN104462357A (zh) * | 2014-12-08 | 2015-03-25 | 百度在线网络技术(北京)有限公司 | 实现个性化搜索的方法和装置 |
WO2017041372A1 (zh) * | 2015-09-07 | 2017-03-16 | 百度在线网络技术(北京)有限公司 | 基于人工智能的人机交互方法和系统 |
CN108073576A (zh) * | 2016-11-09 | 2018-05-25 | 上海诺悦智能科技有限公司 | 智能搜索方法、搜索装置以及搜索引擎系统 |
CN106776869A (zh) * | 2016-11-28 | 2017-05-31 | 北京百度网讯科技有限公司 | 基于神经网络的搜索优化方法、装置以及搜索引擎 |
CN106709040A (zh) * | 2016-12-29 | 2017-05-24 | 北京奇虎科技有限公司 | 一种应用搜索方法和服务器 |
CN110309255A (zh) * | 2018-03-07 | 2019-10-08 | 同济大学 | 一种融入实体描述分布式表示的实体搜索方法 |
CN109189904A (zh) * | 2018-08-10 | 2019-01-11 | 上海中彦信息科技股份有限公司 | 个性化搜索方法及系统 |
CN109522393A (zh) * | 2018-10-11 | 2019-03-26 | 平安科技(深圳)有限公司 | 智能问答方法、装置、计算机设备和存储介质 |
WO2020108608A1 (zh) * | 2018-11-29 | 2020-06-04 | 腾讯科技(深圳)有限公司 | 搜索结果处理方法、装置、终端、电子设备及存储介质 |
CN111291069A (zh) * | 2018-12-07 | 2020-06-16 | 北京搜狗科技发展有限公司 | 一种数据处理方法、装置和电子设备 |
CN111552767A (zh) * | 2019-02-11 | 2020-08-18 | 阿里巴巴集团控股有限公司 | 搜索方法、搜索装置以及计算机设备 |
CN111125538A (zh) * | 2019-12-31 | 2020-05-08 | 中国人民大学 | 一个利用实体信息增强个性化检索效果的搜索方法 |
CN111310023A (zh) * | 2020-01-15 | 2020-06-19 | 中国人民大学 | 基于记忆网络的个性化搜索方法及系统 |
Non-Patent Citations (4)
Title |
---|
End-to-End Neural Ad-hoc Ranking with Kernel Pooling;Chenyan Xiong;《Proceedings of the 40th International ACM SIGIR Conference on Research and Development in Information Retrieval》;55–64 * |
Learning to Rank with Selection Bias in Personal Search;Xuanhui Wang;《Proceedings of the 39th International ACM SIGIR conference on Research and Development in Information Retrieval》;115–124 * |
基于点击数据分析的个性化搜索引擎研究;蔺继国;《中国优秀硕士学位论文全文数据库 信息科技》;I138-2639 * |
基于递归神经网络与注意力机制的动态个性化搜索算法;周雨佳;窦志成;葛松玮;文继荣;;计算机学报(第05期);60-74 * |
Also Published As
Publication number | Publication date |
---|---|
CN112182154A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112182154B (zh) | 一种利用个人词向量消除关键词歧义的个性化搜索模型 | |
Zhou et al. | A comprehensive survey on pretrained foundation models: A history from bert to chatgpt | |
CN111581510B (zh) | 分享内容处理方法、装置、计算机设备和存储介质 | |
US9965717B2 (en) | Learning image representation by distilling from multi-task networks | |
US6687696B2 (en) | System and method for personalized search, information filtering, and for generating recommendations utilizing statistical latent class models | |
CN111611361A (zh) | 抽取式机器智能阅读理解问答系统 | |
US11996116B2 (en) | Methods and systems for implementing on-device non-semantic representation fine-tuning for speech classification | |
CN111581545B (zh) | 一种召回文档的排序方法及相关设备 | |
CN112182373B (zh) | 一种基于上下文表示学习的性化搜索方法 | |
CN114519145A (zh) | 一种基于图神经网络挖掘用户长短期兴趣的序列推荐方法 | |
CN113297364A (zh) | 一种面向对话系统中的自然语言理解方法及装置 | |
Chen et al. | Deep neural networks for multi-class sentiment classification | |
CN111125538A (zh) | 一个利用实体信息增强个性化检索效果的搜索方法 | |
CN109918477A (zh) | 一种基于变分自编码器的分布式检索资源库选择方法 | |
US20230237093A1 (en) | Video recommender system by knowledge based multi-modal graph neural networks | |
Reddy et al. | Convolutional recurrent neural network with template based representation for complex question answering | |
Chawla | Application of convolution neural network in web query session mining for personalised web search | |
US11941360B2 (en) | Acronym definition network | |
CN117312500A (zh) | 一种基于ann和bert的语义检索模型建立方法 | |
Parker et al. | Named entity recognition through deep representation learning and weak supervision | |
Zhao et al. | Finding answers from the word of god: Domain adaptation for neural networks in biblical question answering | |
CN112579739A (zh) | 基于ELMo嵌入与门控自注意力机制的阅读理解方法 | |
CN113641789B (zh) | 基于分层融合多头注意力网络和卷积网络的观点检索方法及系统 | |
CN114595370A (zh) | 模型训练、排序方法、装置、电子设备及存储介质 | |
CN115422369B (zh) | 基于改进TextRank的知识图谱补全方法和装置 |
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 |