CN110046298A - 一种查询词推荐方法、装置、终端设备及计算机可读介质 - Google Patents
一种查询词推荐方法、装置、终端设备及计算机可读介质 Download PDFInfo
- Publication number
- CN110046298A CN110046298A CN201910334170.6A CN201910334170A CN110046298A CN 110046298 A CN110046298 A CN 110046298A CN 201910334170 A CN201910334170 A CN 201910334170A CN 110046298 A CN110046298 A CN 110046298A
- Authority
- CN
- China
- Prior art keywords
- query word
- training set
- task
- retrieval tasks
- query
- 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.)
- Granted
Links
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/9532—Query formulation
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Abstract
本发明提供了一种查询词推荐方法及装置,包括:获取按照预设的长度对以用户在时刻t输入的字符串为前缀的补全查询词进行排序而得到初步排序列表;标记信息系统的搜索日志中的训练集中的每对数据的相关度;对所述训练集中的每个查询词按照所述查询词所属的检索任务进行检索任务标记;基于所述检索任务标记,计算所述训练集中与各个查询词相关的排序特征值;根据所述相关度和所述排序特征值,以机器学习方法对所述训练集中的每对数据进行训练,以生成排序模型;根据所述排序模型对所述初步排序列表进行重新排列,以得到推荐排序列表,从而可使本发明实施例面对复杂的检索任务提高查询词推荐的准确性。
Description
技术领域
本发明属于检索技术领域,具体是涉及到一种查询词推荐方法、装置、终端设备及计算机可读介质。
背景技术
已有研究对雅虎(Yahoo!)搜索日志进行分析后发现,有10%的搜索会话包含服务于复杂检索任务的查询词,并且这些查询词占总数比例超过25%。然而,查询词自动推荐研究普遍认为用户执行的检索任务包含于一个搜索会话之内,它们将用户的搜索历史划分为若干个搜索会话,并根据同一个搜索会话内的查询词分析用户的信息需求。这种方法虽然能够很好地为简单检索任务推荐相关的查询词,但是却无法帮助用户识别及完成跨搜索会话的、复杂的检索任务。
发明内容
有鉴于此,本发明实施例提供一种查询词推荐方法、装置、终端设备及计算机可读介质,能够面对复杂的检索任务提高查询词推荐的准确性。
本发明实施例的第一方面提供了一种查询词推荐方法,所述查询词推荐方法包括:
获取按照预设的长度对以用户在时刻t输入的字符串为前缀的补全查询词进行排序而得到初步排序列表;
标记信息系统的搜索日志中的训练集中的每对数据的相关度;所述每对数据包括查询词前缀和与所述查询词前缀对应的查询词;
对所述训练集中的每个查询词按照所述查询词所属的检索任务进行检索任务标记;
基于所述检索任务标记,计算所述训练集中与各个查询词相关的排序特征值;
根据所述相关度和所述排序特征值,以机器学习方法对所述训练集中的每对数据进行训练,以生成排序模型;
根据所述排序模型对所述初步排序列表进行重新排列,以得到推荐排序列表。
本发明实施例的第二方面提供了一种查询词推荐装置,所述查询词推荐装置包括:
获取模块,用于获取按照预设的长度对以用户在时刻t输入的字符串p为前缀的补全查询词进行排序而得到初步排序列表;
相关度标记模块,用于标记信息系统的搜索日志中的训练集中的每对数据的相关度;所述每对数据包括查询词前缀和与所述查询词前缀对应的查询词;
任务标记模块,用于对所述训练集中的每个查询词按照所述查询词所属的检索任务进行检索任务标记;
计算模块,用于基于所述任务标记模块得到的所述检索任务标记,计算所述训练集中与各个查询词相关的排序特征值;
生成模块,用于根据所述相关度标记模块标记的所述相关度和所述计算模块计算得出的所述排序特征值,以机器学习方法对所述训练集中的每对数据进行训练,以生成排序模型;
推荐模块,用于根据所述生成模块生成的所述排序模型对所述初步排序列表进行重新排列,以得到推荐排序列表。
本发明实施例的第三方法提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述查询词推荐方法的步骤。
本发明实施例的第四方面提供了一种计算机可读介质,所述计算机可读介质存储有计算机程序,所述计算机程序被处理执行时实现上述查询词推荐方法的步骤。
本发明实施例可获取按照预设的长度对以用户在时刻t输入的字符串p为前缀的补全查询词进行排序而得到初步排序列表,再基于对训练集中的数据的相关度标记及检索任务标记,及相关特征值的计算,通过机器学习方法对所述训练集Qtrain中的每对数据进行训练,以生成本发明实施例提供的排序模型,最后可根据所述排序模型对所述初步排序列表进行重新排列,以得到推荐排序列表,从而可面对复杂的检索任务提高查询词推荐的准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种查询词推荐方法的流程图;
图2是本发明实施例提供的用户搜索历史的层次结构图;
图3是本发明实施例提供的LTP和Task-ALL各自对简单检索任务的推荐性能表示图;
图4是本发明实施例提供的LTP和Task-ALL各自对复杂检索任务的推荐性能;
图5是本发明实施例提供的查询词推荐装置的结构框图。
图6是本发明实施例提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
请参阅图1,图1是本发明实施例提供的查询词推荐方法的流程图。如图1所示,本实施例的查询词推荐方法主要包括以下步骤:
S101:获取按照预设的长度对以用户在时刻t输入的字符串为前缀的补全查询词进行排序而得到初步排序列表。
在本发明实施例中,可利用一定的方法对C(p)中的查询词进行排序,得到长度为Klist的初步排序列表List(p)。其中,C(p)为以用户在时刻t输入的字符串(以p表示)为前缀的补全查询词的集合,这里的一定的方法可以包括,例如,热门度排序模型(MPC)方法、基于学习的个性化排序模型(LTP)方法,MPC方法和LTP方法同现有技术,故在此不再赘述。由于机器学习方法的计算复杂度较高,用该方法对所有补全查询词进行排序会耗费较长的时间并占用大量的内存。因此对于每一个查询词前缀,我们先对排名靠前的Klist个查询词进行排序,后续再用机器学习方法对它们进行重新排序。
S102:标记信息系统的搜索日志中的训练集中的每对数据的相关度。
在本发明实施例中,所述每对数据包括查询词前缀和与所述查询词前缀对应的查询词。具体地,为了与其他基于机器学习的查询词自动推荐方法保持一致,可认为用户最终输入的查询词q*是唯一正确的预测查询词。对于所述训练集Qtrain中的每一个查询词前缀ptrain及每一个与所述查询词前缀ptrain对应的查询词q,可按照公式(1)标记相关度r:
S103:对所述训练集中的每个查询词按照所述查询词所属的检索任务进行检索任务标记。
在本发明实施例中,由于不同文献对搜索会话和检索任务的定义有些许差别,为了清楚起见,我们对这两个概念做如下形式化定义:
搜索会话的定义为:已知用户u的搜索历史Qu和时间阈值τtime,一个搜索会话S是用户u连续提交的若干个查询词所构成的集合,并且对于有|ti-tj|≤τtime且|tj-tk|>τtime,其中,qi、qj和qk为不同地查询词,ti、tj和tk分别为查询词qi、qj和qk对应的查询时刻。
检索任务的定义为:已知用户u的搜索历史Qu,一个检索任务T是Qu中查询词的一个最大子集,并且T中的所有查询词均服务于某个特定的信息需求。
基于上述两个定义,我们将用户搜索历史划分为如图2所示的层次结构。可以看到,用户根据信息需求形成检索任务,为完成检索任务而提交相应的查询词,而查询词则组成了用户的搜索历史。其中一个检索任务可能包含一个或多个搜索会话,而一个搜索会话可能包含服务于一个或多个检索任务的查询词。目前检索任务的识别主要靠人工标记和用户案例分析,而这需要耗费大量的时间和精力,不适用于挖掘大规模数据集中的检索任务。在对AOL数据集进行分析的过程中我们发现,属于同一个检索任务的查询词大多拥有相同的词项或属于同一语义类别。因此,通过计算用户搜索历史中两两查询词<qi,qj>之间的文本相似度simtext(qi,qj)和语义相似度simsemantic(qi,qj),可以自动判断qi和qj是否属于同一个检索任务:
Ptask(qi,qj)=λ·simtext(qi,qj)+(1-λ)·simsemantic(qi,qj) (2)
其中,Ptask(qi,qj)表示查询词qi和查询词qj服务于同一检索任务的概率,simtext(qi,qj)和simsemantic(qi,qj)分别表示查询词qi和查询词qj之间的文本相似度和语义相似度,λ为可调参数,具体地,simtext(qi,qj)和simsemantic(qi,qj)可分别利用N-gram相似度(N=3)和word2vec(一群用来产生词向量的相关模型)进行计算;当Ptask(qi,qj)≥τtask时,对查询词qi和查询词qj标记相应的检索任务ID;其中,τtask为预设的判断阈值。具体地,对于满足Ptask(qi,qj)≥τtask的查询词对<qi,qj>,可按照如下规则标记检索任务ID:
(1)若qi和qj中的任意一个已经分配了检索任务ID,则用该ID标记另一个查询词。
(2)若qi和qj均未分配检索任务ID,则用一个新的检索任务ID标记qi和qj。
S104:基于所述检索任务标记,计算所述训练集Qtrain中与各个查询词相关的排序特征值。
在本发明实施例中,基于所述检索任务标记,并根据所述训练集Qtrain中的各个查询词(可理解为与查询词前缀对应的候选查询词或补全查询词)对应的用户的搜索历史,计算所述训练集Qtrain中与各个查询词相关的排序特征值;所述排序特征值包括:搜索历史层次的排序特征、检索任务层次的排序特征、搜索会话层次的排序特征,各个具体的排序特征如表1所示。
表1
其中,特征H-NumSess和H-NumQuer的值越大,表示用户的搜索历史越为丰富,反映出该用户更习惯于借助信息系统获得相关资讯。通常情况下,用户提交的查询词越多,他正在完成复杂的检索任务的可能性就越大。而特征H-CandFreq则代表用户对特定查询词的兴趣偏好,它的值越大,代表用户对候选查询词q的关注度越高,在后续的搜索中,q被再次查询的概率也越高。检索任务层次的排序特征是为了探究候选查询词与用户曾经进行的检索任务和正在进行的检索任务之间的关联程度。在实际的搜索过程中,检索任务特别是复杂的检索任务,往往是互相交叉的,用户经常返回之前的检索任务并继续提交与之相关的查询词。而这一行为由特征T-CandBegn和T-CandEnd来捕获,若q是用户曾经进行的检索任务的起始或结束查询词,则相应的特征值为1,反之则为0。搜索会话层次的排序特征是为了分析用户在一段时间内的连续搜索行为。在对AOL数据集进行分析时我们发现,一个搜索会话的开端很有可能是一个新的检索任务的起始。特征S-QuerBegn的值为0表示当前查询时刻t与用户上一个查询词提交时间之间的间隔超过了预设的时间阈值τtime,为1则表示未超过。此外,当前查询时刻t与搜索会话开始时刻之间的时间间隔越长,表示用户正在执行复杂的检索任务的概率越高,我们以秒为单位计算特征S-QuerGap的值。查询词层次的排序特征是为了计算候选查询词与用户历史查询词之间的文本和语义相似度。其中特征Q-NumChar和Q-NumTerm表示候选查询词的内在属性。用户在完成检索任务的过程中,通常会对查询词进行修改,主要表现为词项的增加和删除。因此我们用特征Q-LevenDis、Q-JacrdDis、和Q-NumComm来捕获这一行为,这三个特征的计算式如下:
其中,tS表示当前搜索会话S的开始时刻,DisLeven(q,qi)表示训练集Qtrain中的查询词q与用户历史查询词qi之间的编辑距离(Levenshtein distance),DisJacrd(q,qi)表示所述查询词q与用户历史查询词qi之间的杰卡德距离(Jaccard distance),W(q)表示q的词项集合。此外,服务于同一检索任务的查询词通常属于同一主题,因此它们之间的语义相似度较高,我们用特征Q-SemtcSim来识别与检索任务语义相关的查询词:
其中vq表示所述查询词q经过word2vec处理后得到的向量表示。
S105:根据所述相关度和所述排序特征值,以机器学习方法对所述训练集中的每对数据进行训练,以生成排序模型。
具体地,首先可通过机器训练的方式将每个查询词的排序特征值代入相关训练函数中,再使所述训练函数的值趋向于所述每个查询词对应的相关度(即r等于1或0),以得到与所述训练函数相关的权重参数,进而得到本发明实施例的排序模型(可称为Task-QAC)。
S106:根据所述排序模型对所述初步排序列表进行重新排列,以得到推荐排序列表。
在本发明实施例中,可根据S105中生成的所述排序模型对步骤S101中得到的初步排序列表进行重新排列,以得到最终的推荐排序列表。具体地,可先计算所述初步排序列表中的各个以用户在时刻t输入的字符串p为前缀的补全查询词的排序特征值,再将计算得出的排序特征值分别代入S105中训练出的训练函数中,并基于与训练函数相关的权重参数,即可得到用户在时刻t输入的字符串p为前缀的每个补全查询词的预测相关度,最后按照预测相关度的高低,可对初步排序列表中的补全查询词进行重新排列,得到最终的推荐排序列表。
下面用于验证本发明实施例提供的排序模型的性能的有关实验:
使用公开的美国在线(AmericanOnline,AOL)搜索日志作为实验所用的数据集。可按照如下步骤对原始数据进行预处理:
(1)以τtime=30min为界限将所有用户的搜索历史分隔为搜索会话。
(2)删除了搜索会话中包含URL字符串(如www.,http,.com,.net,.edu,.gov等)和特殊字符(如#,$,&,!,@等)的查询词。
(3)删除了没有对应点击文档的查询词,以确保用户提交的查询词带有明确的目的性。
(4)删除了数据集中频率最高的前100个查询词,因为频率较高的查询词,例如Google,Wikipedia,经常出现在用户的搜索历史中但却与检索任务无直接关系,它们会干扰检索任务的识别。
(5)保留了拥有10个以上搜索会话并且提交了总数超过50个查询词的用户,以确保学习排序模型的训练效果。
(6)根据公式(5.3),以λ=0.7,τtask=0.6对用户的查询词标记检索任务ID,然后将每个用户提交的前75%的查询词划分至训练集Qtrain,剩余25%的查询词划分至测试集Qtest。
为了评估各个排序模型的性能,可采用采用平均倒数排序(Mean ReciprocalRank,MRR)和前k个推荐查询词的命中率(Success Rate@top k,SR@k)对排序结果进行量化。同时,在对不同排序模型的评价指标值进行两两对比时,还可采用了t-test(T测试)进行显著性水平测试。由于MRR、SR@k和t-test同现有技术,故在此不再赘述。
在实验中可将本发明实施例提供的排序模型与下列基准排序模型进行对比:
(1)热门度排序模型(MPC)。
(2)基于学习的个性化排序模型(LTP),它根据用户的搜索历史和个人信息提出了一系列排序特征,并利用兰博达-马特(Lambda-MART)方法对MPC返回的排序结果进行重新排序。
与此同时,为了更加全面地分析本发明提出的排序模型,可分别采用表1中历史层次、检索任务和搜索会话层次、查询词层次、所有排序特征进行训练和测试,并称相应的排序模型为:Task-H、Task-TS、Task-Q和Task-ALL。
由于Lambda-MART方法被认为是机器学习中最优秀的方法之一,因此可采用该方法来训练排序模型。而关于参数设置,在实验中可将决策树的数量固定设为1000。对于实验中所有的排序模型,我们首先用MPC方法返回频率最高的前10个补全查询词,即Klist=10,然后再用排序模型对它们进行重新排序。若用户最终提交的查询词q*不在MPC返回的补全查询词集合中,则重排序问题变得毫无意义,因此可删除了q*不在初始排序列表中的情况。对测试集中的每个查询词,都会给出它的前缀长度由1至5进行变化时所对应的补全查询词推荐列表。
表2比较了本申请提供的排序模型Task-QAC与两个基准模型MPC和LTP的性能。表2中列出了对于不同长度的前缀,各个模型生成的排序结果所对应的MRR值,以及总体MRR得分。其中,基准模型和所有排序模型在各个情况下的最佳结果分别用下划线和加粗进行表示。Task-QAC与最佳基准排序模型LTP的显著性检测结果标记在相应MRR值的右上角。从表5.3中我们可以看到,在所有排序模型中,MPC排序结果的准确率最低,而Task-ALL的准确率最高。对于两个基准模型,LTP在所有前缀长度情况下的MRR值均明显高于MPC,且前者的总体MRR值相较于后者提高了近17.5%。这表明,LTP的排序特征能够反映查询词和用户信息需求之间的关联关系,使得LTP在对初始排序列表进行重新排序时,将用户的目标查询词提至靠前的位置,从而显著提高MRR值。对于本申请提供的Task-QAC的四种不同形式,我们观察到除Task-Q以外,Task-H、Task-TS、Task-ALL的MRR值均大幅超过最佳基准模型LTP。具体来说,Task-Q在所有前缀长度下的MRR值均小于LTP,且LTP的总体MRR值高出Task-Q近11%。我们推测造成Task-Q排序性能欠佳的原因是Task-Q使用的排序特征Q-LevenDis、Q-JacrdDis、Q-NumComm、Q-SemtcSim的值均是基于一个搜索会话内的短期查询历史计算所得,而根据前文分析可知,搜索会话通常仅包含1-2个查询词,因此这四个排序特征的值在大多数情况下均为0,故不能为重排序提供更多有用信息,导致仅以短期搜索记录进行排序的Task-Q在准确率上不如利用了长期搜索记录的LTP。另一方面,Task-H、Task-TS、Task-ALL在所有情况下的MRR值相对于LTP均有大幅度的提升,分别为15%、14%、17%,并且该提升在显著性水平αtest=0.01上是统计显著的。这表明相比于其他排序特征,基于用户长期搜索历史的特征和与检索任务相关的特征,在查询词自动推荐排序上更具优势。
表2
对比Task-QAC的四种排序模型之间的性能,很显然,Task-ALL的排序准确率最高,这表明总体考虑所有层次的排序特征能达到最佳的推荐效果。此外,Task-H在所有情况下的MRR值均高于Task-S,而它们两个模型的MRR值又明显高于Task-Q,这再一次印证了对于查询词自动推荐排序而言,长期的搜索记录比短期的搜索记录更加有效。
此外,将测试集中的检索任务划分为两个部分:包含1-4个查询词的简单检索任务集合,包含5个及以上查询词的复杂检索任务集合。并对比了LTP和Task-ALL在这两个集合上的推荐结果所对应的SR@k(k=1,2,3)得分,请参阅图3和图4,其中图3为LTP和Task-ALL各自对简单检索任务的推荐性能(即SR@k得分),图4为LTP和Task-ALL各自对复杂检索任务的推荐性能(即SR@k得分),总体而言,随着k值的增加,两个排序模型的评价指标值均呈现逐渐上升的趋势。这是由于当k=1时,目标查询词排在最靠前的位置才代表推荐成功。而当k=3时,目标查询词排在前3名都表示推荐成功。故随着成功命中条件的不断放宽,查询词的推荐成功率会逐渐增加。其中,Task-ALL对简单检索任务和复杂检索任务的查询词推荐成功率均远高于LTP,表明Task-ALL中的排序特征能准确识别与当前检索任务有关的查询词,从而帮助用户完成不同复杂程度的检索任务。此外,通过对比图3和图4,可发现两个排序模型在复杂检索任务集合上的SR@k值均小于简单检索任务集合。这是由于复杂检索任务通常包含了多个方面,且时间跨度较长,对其进行查询词自动推荐的难度更大。相较于简单检索任务,LTR在复杂检索任务中的SR@k得分平均减少2.4%,而Task-ALL减少1.3%。这说明Task-ALL对于不同复杂程度的任务都能给出比LTR更为准确的查询词推荐列表,具有较好的鲁棒性。
在本发明的一个实施例中,为了考察各排序特征的重要性,请参见表3,可按照降序列出了训练完毕后Task-H、Task-TS、Task-Q、Task-ALL的各个排序特征所对应的权重值。
表3
首先可分析仅使用部分层次的特征进行机器学习的排序模型。对于Task-H,H-CandFreq的权重值为0.6762,而权重值排名第二的H-NumSess仅为0.1534,这反映出H-CandFreq主导了Task-H的整个排序过程,并表明用户对某些查询词的兴趣偏好对识别同一个检索任务的查询词中非常有效。对于Task-TS,S-QuerGap的权重值最高,这表明当前查询时刻与搜索会话开始时刻之间的时间间隔越长,用户正在执行检索任务的可能性就越高。此外,T-CandBegn和T-CandEnd的权重约为S-QuerBegn的4-5倍,表明若查询词出现在用户以往的检索任务中,则它很有可能与当前的检索任务相关。对于Task-Q,各个排序特征的权重值的分布较为均等,其中Q-NumChar和Q-LevenDis的权重值最大,表明查询词之间的文本相似度越高,它们属于同一检索任务的概率越大。
将所有层次的排序特征综合考虑,可发现对于Task-ALL,Q-LevenDis的权重值最高,即相同检索任务的查询词在文本上更为接近。值得一提的是,仅以查询词层次的特征进行机器学习的排序模型(Task-Q),其推荐准确率是Task-QAC中最低的,但是Task-ALL权重值最大的三个特征中,有两个来自于查询词层次,即Q-LevenDis和Q-SemtcSim。
在图1提供的查询词推荐方法中,可获取按照预设的长度对以用户在时刻t输入的字符串p为前缀的补全查询词进行排序而得到初步排序列表,再基于对训练集中的数据的相关度标记及检索任务标记,及相关特征值的计算,通过机器学习方法对所述训练集Qtrain中的每对数据进行训练,以生成本发明实施例提供的排序模型,最后可根据所述排序模型对所述初步排序列表进行重新排列,以得到推荐排序列表,从而可面对复杂的检索任务提高查询词推荐的准确性。
请参阅图5,图5是本发明实施例提供的查询词推荐装置的结构框图。如图5所示,本实施例的查询词推荐装置50包括获取模块501、相关度标记模块502、任务标记模块503、计算模块504、生成模块505和推荐模块506。获取模块501、相关度标记模块502、任务标记模块503、计算模块504、生成模块505和推荐模块506分别用于执行图1中的S101、S102、S103、S104、S105和S106中的具体方法,详情可参见图1的相关介绍,在此仅作简单描述:
获取模块501,用于获取按照预设的长度对以用户在时刻t输入的字符串p为前缀的补全查询词进行排序而得到初步排序列表。
相关度标记模块502,用于标记信息系统的搜索日志中的训练集中的每对数据的相关度;所述每对数据包括查询词前缀和与所述查询词前缀对应的查询词。
任务标记模块503,用于对所述训练集中的每个查询词按照所述查询词所属的检索任务进行检索任务标记。
计算模块504,用于基于所述任务标记模块503得到的所述检索任务标记,计算所述训练集中与各个查询词相关的排序特征值
生成模块505,用于根据所述相关度标记模块502标记的所述相关度和所述计算模块504计算得出的所述排序特征值,以机器学习方法对所述训练集中的每对数据进行训练,以生成排序模型。
推荐模块506,用于根据所述生成模块505生成的所述排序模型对所述初步排序列表进行重新排列,以得到推荐排序列表。
图5提供的查询词推荐装置,可获取按照预设的长度对以用户在时刻t输入的字符串p为前缀的补全查询词进行排序而得到初步排序列表,再基于对训练集中的数据的相关度标记及检索任务标记,及相关特征值的计算,通过机器学习方法对所述训练集Qtrain中的每对数据进行训练,以生成本发明实施例提供的排序模型,最后可根据所述排序模型对所述初步排序列表进行重新排列,以得到推荐排序列表,从而可面对复杂的检索任务提高查询词推荐的准确性。
图6是本发明一实施例提供的终端设备的示意图。如图6所示,该实施例的终端设备6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62,例如进行查询词推荐的程序。所述处理器60执行所述计算机程序62时实现上述方法实施例中的步骤,例如,图1所示的S101至S103。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功能,例如图5所示模块501至506的功能。
示例性的,所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在终端设备6中的执行过程。例如,所述计算机程序62可以被分割成同步模块、汇总模块、获取模块、返回模块(虚拟装置中的模块),各模块具体功能如下:
获取模块501,用于获取按照预设的长度对以用户在时刻t输入的字符串为前缀的补全查询词进行排序而得到初步排序列表。
相关度标记模块502,用于标记信息系统的搜索日志中的训练集中的每对数据的相关度;所述每对数据包括查询词前缀和与所述查询词前缀对应的查询词。
任务标记模块503,用于对所述训练集中的每个查询词按照所述查询词所属的检索任务进行检索任务标记。
计算模块504,用于基于所述任务标记模块503得到的所述检索任务标记,计算所述训练集中与各个查询词相关的排序特征值
生成模块505,用于根据所述相关度标记模块502标记的所述相关度和所述计算模块504计算得出的所述排序特征值,以机器学习方法对所述训练集中的每对数据进行训练,以生成排序模型。
推荐模块506,用于根据所述生成模块505生成的所述排序模型对所述初步排序列表进行重新排列,以得到推荐排序列表。
所述终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。终端设备6可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图4仅仅是终端设备6的示例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所述处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61可以是终端设备6的内部存储单元,例如终端设备6的硬盘或内存。所述存储器61也可以是终端设备6的外部存储设备,例如所述终端设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括终端设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及终端设备6所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种查询词推荐方法,其特征在于,所述查询词推荐方法包括:
获取按照预设的长度对以用户在时刻t输入的字符串为前缀的补全查询词进行排序而得到初步排序列表;
标记信息系统的搜索日志中的训练集中的每对数据的相关度;所述每对数据包括查询词前缀和与所述查询词前缀对应的查询词;
对所述训练集中的每个查询词按照所述查询词所属的检索任务进行检索任务标记;
基于所述检索任务标记,计算所述训练集中与各个查询词相关的排序特征值;
根据所述相关度和所述排序特征值,以机器学习方法对所述训练集中的每对数据进行训练,以生成排序模型;
根据所述排序模型对所述初步排序列表进行重新排列,以得到推荐排序列表。
2.根据权利要求1所述的查询词推荐方法,其特征在于,标记信息系统的搜索日志中的训练集中的每对数据的相关度,包括:
对于所述训练集中的每一个查询词前缀及每一个与所述查询词前缀对应的查询词,按照公式(1)标记相关度r:
其中,q为所述查询词前缀对应的查询词,q*为用户最终输入的查询词。
3.根据权利要求1所述的查询词推荐方法,其特征在于,所述对所述训练集中的每个查询词按照所述查询词所属的检索任务进行检索任务标记,包括:
通过公式(2)计算所述训练集中的两个不同查询词服务于同一检索任务的概率:
Ptask(qi,qj)=λ·simtext(qi,qj)+(1-λ)·simsemantic(qi,qj) (2)
其中,Ptask(qi,qj)表示查询词qi和查询词qj服务于同一检索任务的概率,simtext(qi,qj)和simsemantic(qi,qj)分别表示查询词qi和查询词qj之间的文本相似度和语义相似度,λ为可调参数;
当Ptask(qi,qj)≥τtask时,对查询词qi和查询词qj标记相应的检索任务ID;其中,τtask为预设的判断阈值。
4.根据权利要求1所述的查询词推荐方法,其特征在于,所述基于所述检索任务标记,计算所述训练集中与各个查询词相关的排序特征值,包括:
基于所述检索任务标记,并根据所述训练集中的各个查询词对应的用户的搜索历史,计算所述训练集中与各个查询词相关的排序特征值;所述排序特征值包括:搜索历史层次的排序特征、检索任务层次的排序特征、搜索会话层次的排序特征。
5.根据权利要求1~4中任一项所述的查询词推荐方法,其特征在于,所述根据所述相关度和所述排序特征值,以机器学习方法对所述训练集中的每对数据进行训练,以生成排序模型,包括:
通过机器训练的方式将每个查询词的排序特征值代入相关训练函数中;
使所述训练函数的值趋向于所述每个查询词对应的相关度,以得到与所述训练函数相关的权重参数。
6.一种查询词推荐装置,其特征在于,所述查询词推荐装置包括:
获取模块,用于获取按照预设的长度对以用户在时刻t输入的字符串p为前缀的补全查询词进行排序而得到初步排序列表;
相关度标记模块,用于标记信息系统的搜索日志中的训练集中的每对数据的相关度;所述每对数据包括查询词前缀和与所述查询词前缀对应的查询词;
任务标记模块,用于对所述训练集中的每个查询词按照所述查询词所属的检索任务进行检索任务标记;
计算模块,用于基于所述任务标记模块得到的所述检索任务标记,计算所述训练集中与各个查询词相关的排序特征值;
生成模块,用于根据所述相关度标记模块标记的所述相关度和所述计算模块计算得出的所述排序特征值,以机器学习方法对所述训练集中的每对数据进行训练,以生成排序模型;
推荐模块,用于根据所述生成模块生成的所述排序模型对所述初步排序列表进行重新排列,以得到推荐排序列表。
7.根据权利要求6所述的查询词推荐装置,其特征在于,所述相关度标记模块具体用于:
对于所述训练集中的每一个查询词前缀及每一个与所述查询词前缀对应的查询词,按照公式(1)标记相关度r:
其中,q为所述查询词前缀对应的查询词,q*为用户最终输入的查询词。
8.根据权利要求6所述的查询词推荐装置,其特征在于,所述任务标记模块具体用于:
通过公式(2)计算所述训练集中的两个不同查询词服务于同一检索任务的概率:
Ptask(qi,qj)=λ·simtext(qi,qj)+(1-λ)·simsemantic(qi,qj) (2)
其中,Ptask(qi,qj)表示查询词qi和查询词qj服务于同一检索任务的概率,simtext(qi,qj)和simsemantic(qi,qj)分别表示查询词qi和查询词qj之间的文本相似度和语义相似度,λ为可调参数;
当Ptask(qi,qj)≥τtask时,对查询词qi和查询词qj标记相应的检索任务ID;其中,τtask为预设的判断阈值。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1~5中任一项所述方法的步骤。
10.一种计算机可读介质,所述计算机可读介质存储有计算机程序,其特征在于,所述计算机程序被处理执行时实现如权利要求1~5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910334170.6A CN110046298B (zh) | 2019-04-24 | 2019-04-24 | 一种查询词推荐方法、装置、终端设备及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910334170.6A CN110046298B (zh) | 2019-04-24 | 2019-04-24 | 一种查询词推荐方法、装置、终端设备及计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110046298A true CN110046298A (zh) | 2019-07-23 |
CN110046298B CN110046298B (zh) | 2021-04-13 |
Family
ID=67279007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910334170.6A Active CN110046298B (zh) | 2019-04-24 | 2019-04-24 | 一种查询词推荐方法、装置、终端设备及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110046298B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111222058A (zh) * | 2020-01-06 | 2020-06-02 | 百度在线网络技术(北京)有限公司 | 查询自动补全的方法、装置、设备和计算机存储介质 |
CN112528157A (zh) * | 2020-12-24 | 2021-03-19 | 北京百度网讯科技有限公司 | 建立排序模型的方法、查询自动补全的方法及对应装置 |
CN112800314A (zh) * | 2021-01-26 | 2021-05-14 | 浙江香侬慧语科技有限责任公司 | 搜索引擎询问自动补全的方法、系统、存储介质及设备 |
CN111507366B (zh) * | 2019-11-07 | 2021-06-08 | 马上消费金融股份有限公司 | 推荐概率模型的训练方法、智能补全方法及相关装置 |
CN113139106A (zh) * | 2021-05-07 | 2021-07-20 | 杭州世平信息科技有限公司 | 一种保密检查的事件审核方法和装置 |
CN113360796A (zh) * | 2021-05-20 | 2021-09-07 | 北京三快在线科技有限公司 | 数据排序方法及装置、数据排序模型训练方法及装置 |
CN113505273A (zh) * | 2021-05-24 | 2021-10-15 | 平安银行股份有限公司 | 基于重复数据筛选的数据排序方法、装置、设备及介质 |
CN117171577A (zh) * | 2023-11-02 | 2023-12-05 | 之江实验室 | 一种高性能算子选择的动态决策方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62247480A (ja) * | 1986-04-19 | 1987-10-28 | Ricoh Co Ltd | 文字認識後処理方式 |
US20130189654A1 (en) * | 2012-01-16 | 2013-07-25 | Adjelia Learning, Inc. | Vocabulary learning system and method |
CN103729351A (zh) * | 2012-10-10 | 2014-04-16 | 阿里巴巴集团控股有限公司 | 查询词推荐方法及装置 |
CN103870505A (zh) * | 2012-12-17 | 2014-06-18 | 阿里巴巴集团控股有限公司 | 一种查询词推荐方法和查询词推荐系统 |
CN105138576A (zh) * | 2015-07-29 | 2015-12-09 | 百度在线网络技术(北京)有限公司 | 一种用于在移动搜索中提供推荐输入序列的方法和装置 |
CN107122469A (zh) * | 2017-04-28 | 2017-09-01 | 中国人民解放军国防科学技术大学 | 基于语义相似度与时效性频率的查询推荐排序方法与装置 |
CN108427756A (zh) * | 2018-03-16 | 2018-08-21 | 中国人民解放军国防科技大学 | 基于同类用户模型的个性化查询词补全推荐方法和装置 |
-
2019
- 2019-04-24 CN CN201910334170.6A patent/CN110046298B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62247480A (ja) * | 1986-04-19 | 1987-10-28 | Ricoh Co Ltd | 文字認識後処理方式 |
US20130189654A1 (en) * | 2012-01-16 | 2013-07-25 | Adjelia Learning, Inc. | Vocabulary learning system and method |
CN103729351A (zh) * | 2012-10-10 | 2014-04-16 | 阿里巴巴集团控股有限公司 | 查询词推荐方法及装置 |
CN103870505A (zh) * | 2012-12-17 | 2014-06-18 | 阿里巴巴集团控股有限公司 | 一种查询词推荐方法和查询词推荐系统 |
CN105138576A (zh) * | 2015-07-29 | 2015-12-09 | 百度在线网络技术(北京)有限公司 | 一种用于在移动搜索中提供推荐输入序列的方法和装置 |
CN107122469A (zh) * | 2017-04-28 | 2017-09-01 | 中国人民解放军国防科学技术大学 | 基于语义相似度与时效性频率的查询推荐排序方法与装置 |
CN108427756A (zh) * | 2018-03-16 | 2018-08-21 | 中国人民解放军国防科技大学 | 基于同类用户模型的个性化查询词补全推荐方法和装置 |
Non-Patent Citations (3)
Title |
---|
RAID SAABNI等: "Fast Key-Word Searching via Embedding and Active-DTW", 《2011 INTERNATIONAL CONFERENCE ON DOCUMENT ANALYSIS AND RECOGNITION》 * |
林裕杰等: "Geeking_基于胜者表的体育新闻搜索引擎系统", 《林裕杰》 * |
林裕杰等: "Geeking_基于胜者表的体育新闻搜索引擎系统", 《集成技术》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111507366B (zh) * | 2019-11-07 | 2021-06-08 | 马上消费金融股份有限公司 | 推荐概率模型的训练方法、智能补全方法及相关装置 |
CN111222058A (zh) * | 2020-01-06 | 2020-06-02 | 百度在线网络技术(北京)有限公司 | 查询自动补全的方法、装置、设备和计算机存储介质 |
WO2021139209A1 (zh) * | 2020-01-06 | 2021-07-15 | 百度在线网络技术(北京)有限公司 | 查询自动补全的方法、装置、设备和计算机存储介质 |
CN112528157A (zh) * | 2020-12-24 | 2021-03-19 | 北京百度网讯科技有限公司 | 建立排序模型的方法、查询自动补全的方法及对应装置 |
CN112528157B (zh) * | 2020-12-24 | 2024-04-26 | 北京百度网讯科技有限公司 | 建立排序模型的方法、查询自动补全的方法及对应装置 |
CN112800314A (zh) * | 2021-01-26 | 2021-05-14 | 浙江香侬慧语科技有限责任公司 | 搜索引擎询问自动补全的方法、系统、存储介质及设备 |
CN113139106A (zh) * | 2021-05-07 | 2021-07-20 | 杭州世平信息科技有限公司 | 一种保密检查的事件审核方法和装置 |
CN113360796A (zh) * | 2021-05-20 | 2021-09-07 | 北京三快在线科技有限公司 | 数据排序方法及装置、数据排序模型训练方法及装置 |
CN113505273A (zh) * | 2021-05-24 | 2021-10-15 | 平安银行股份有限公司 | 基于重复数据筛选的数据排序方法、装置、设备及介质 |
CN113505273B (zh) * | 2021-05-24 | 2023-08-22 | 平安银行股份有限公司 | 基于重复数据筛选的数据排序方法、装置、设备及介质 |
CN117171577A (zh) * | 2023-11-02 | 2023-12-05 | 之江实验室 | 一种高性能算子选择的动态决策方法及装置 |
CN117171577B (zh) * | 2023-11-02 | 2024-03-22 | 之江实验室 | 一种高性能算子选择的动态决策方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110046298B (zh) | 2021-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110046298A (zh) | 一种查询词推荐方法、装置、终端设备及计算机可读介质 | |
JP7343568B2 (ja) | 機械学習のためのハイパーパラメータの識別および適用 | |
WO2019214245A1 (zh) | 一种信息推送方法、装置、终端设备及存储介质 | |
US9767144B2 (en) | Search system with query refinement | |
US9286548B2 (en) | Accurate text classification through selective use of image data | |
CN112035599B (zh) | 基于垂直搜索的查询方法、装置、计算机设备及存储介质 | |
CN109189990B (zh) | 一种搜索词的生成方法、装置及电子设备 | |
CN105653562B (zh) | 一种文本内容与查询请求之间相关性的计算方法及装置 | |
WO2011037603A1 (en) | Searching for information based on generic attributes of the query | |
WO2014148948A1 (ru) | Способ отбора эффективных вариантов в поисковых и рекомендательных системах (варианты) | |
CN110334356A (zh) | 文章质量的确定方法、文章筛选方法、以及相应的装置 | |
CN106951503A (zh) | 信息提供方法、装置、设备以及存储介质 | |
CN105069077A (zh) | 搜索方法及装置 | |
CN110990533A (zh) | 确定查询文本所对应标准文本的方法及装置 | |
CN115470338B (zh) | 一种基于多路召回的多场景智能问答方法和系统 | |
Li et al. | A hybrid model for experts finding in community question answering | |
CN112632261A (zh) | 智能问答方法、装置、设备及存储介质 | |
CN110309293A (zh) | 文本推荐方法和装置 | |
CN110737432A (zh) | 一种基于词根表的脚本辅助设计方法及装置 | |
Kaur | Web content classification: A survey | |
WO2018205391A1 (zh) | 信息检索准确性评估方法、系统、装置及计算机可读存储介质 | |
Revindasari et al. | Traceability between business process and software component using Probabilistic Latent Semantic Analysis | |
CN105608183A (zh) | 一种提供聚合类型回答的方法和装置 | |
JP2020071678A (ja) | 情報処理装置、制御方法、プログラム | |
CN109242690A (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 |