首页> 中国专利> 一种基于歧义消解的搜索方法及装置

一种基于歧义消解的搜索方法及装置

摘要

本发明提供了一种基于歧义消解的搜索方法及装置,其中所述方法包括:A.预先从搜索日志中提取歧义词以及所述歧义词对应的义项;B.获取用户输入的搜索词;C.判断所述搜索词与所述步骤A中提取的歧义词是否匹配,如果是,则在向所述用户返回搜索结果时根据所述搜索词对应的义项对所述搜索结果进行展示。通过上述方式,本发明能够提高搜索效率。

著录项

  • 公开/公告号CN103279504A

    专利类型发明专利

  • 公开/公告日2013-09-04

    原文格式PDF

  • 申请/专利权人 百度在线网络技术(北京)有限公司;

    申请/专利号CN201310170900.6

  • 发明设计人 黄际洲;

    申请日2013-05-10

  • 分类号G06F17/30(20060101);

  • 代理机构北京鸿德海业知识产权代理事务所(普通合伙);

  • 代理人袁媛

  • 地址 100085 北京市海淀区上地十街10号百度大厦

  • 入库时间 2024-02-19 20:08:03

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-11-05

    授权

    授权

  • 2016-04-27

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20130510

    实质审查的生效

  • 2013-09-04

    公开

    公开

说明书

【技术领域】

本发明涉及搜索技术,特别涉及一种基于歧义消解的搜索方法及装置。

【背景技术】

在现有的搜索引擎中,没有考虑如何满足搜索词存在歧义的搜索请求的问题。以图片搜索引擎为例,在搜索引擎获取到用户的搜索词后,只会向用户返回与该搜索词关联度最大的图片,如果该搜索词存在歧义,则用户为了找到自己需要的图片,要么需要在众多图片中进行辨识,要么需要重新对搜索词进行限定。

从上述介绍中可以看出,现有技术对用户一方和搜索引擎服务器一方均存在缺陷。对用户而言,由于难以快速满足自己的需求,搜索的效率较低,对搜索引擎服务器而言,由于需要多次响应用户请求,服务器负担也较大。

【发明内容】

本发明所要解决的技术问题是提供一种基于歧义消解的搜索方法及装置,以提高搜索效率,降低服务器负担。

本发明为解决技术问题而采用的技术方案是提供一种基于歧义消解的搜索方法,包括:A.预先从搜索日志中提取歧义词以及所述歧义词对应的义项;B.获取用户输入的搜索词;C.判断所述搜索词与所述步骤A中提取的歧义词是否匹配,如果是,则在向所述用户返回搜索结果时根据所述搜索词对应的义项对所述搜索结果进行展示。

根据本发明之一优选实施例,所述方法在所述步骤B前进一步包括:D.计算所述歧义词对应的各义项的需求热度;并且所述步骤C中,在向所述用户返回搜索结果时根据所述搜索词对应的义项及各义项的需求热度对所述搜索结果进行展示。

根据本发明之一优选实施例,所述步骤A包括:A1.以会话为单位对搜索日志进行切分;A2.按照预设的提取规则,从切分得到的各会话中提取歧义词以及所述歧义词对应的候选义项;A3.按照预设的归一化策略,对所述歧义词对应的候选义项进行归一化处理。

根据本发明之一优选实施例,所述步骤D包括:D1.计算归一化处理后各义项对应的会话占比和点击占比,其中所述会话占比是指一个义项对应的会话数以及该义项所属歧义词对应的会话数之间的比值,所述点击占比是指所述搜索日志中,由一个义项所属歧义词引起的点击页面里与该义项之间具有关联关系的点击页面被点击的次数,以及由该义项所属歧义词引起的点击页面被点击的次数之间的比值;D2.根据下列公式计算各义项的需求热度:

Totle_Score=λ1*Session_Score+λ2*CT_Score,其中Totle_Score表示一个义项的需求热度,Session_Score表示该义项的会话占比,CT_Score表示该义项的点击占比,λ1和λ2分别表示该义项的会话占比和点击占比对应权重。

根据本发明之一优选实施例,所述步骤C中在对所述搜索结果进行展示时,将所述搜索词对应的义项按照需求热度从高至低排列,以作为所述搜索结果的引导词;或者,将所述搜索结果按照所述搜索词对应的义项进行分类,并按照各义项的需求热度从高到低对各类搜索结果进行排列。

本发明还提供了一种基于歧义消解的搜索装置,包括:提取单元,用于预先从搜索日志中提取歧义词以及所述歧义词对应的义项;接收单元,用于获取用户输入的搜索词;展示单元,用于判断所述搜索词与所述提取单元提取的歧义词是否匹配,如果是,则在向所述用户返回搜索结果时根据所述搜索词对应的义项对所述搜索结果进行展示。

根据本发明之一优选实施例,所述装置进一步包括热度计算单元,用于计算所述歧义词对应的各义项的需求热度;并且所述展示单元在向所述用户返回搜索结果时根据所述搜索词对应的义项及各义项的需求热度对所述搜索结果进行展示。

根据本发明之一优选实施例,所述提取单元包括:切分子单元,用于以会话为单位对搜索日志进行切分;提取子单元,用于按照预设的提取规则,从切分得到的各会话中提取歧义词以及所述歧义词对应的候选义项;合并子单元,用于按照预设的归一化策略,对所述歧义词对应的候选义项进行归一化处理。

根据本发明之一优选实施例,所述热度计算单元包括:占比计算子单元,用于计算归一化处理后各义项对应的会话占比和点击占比,其中所述会话占比是指一个义项对应的会话数以及该义项所属歧义词对应的会话数之间的比值,所述点击占比是指所述搜索日志中,由一个义项所属歧义词引起的点击页面里与该义项之间具有关联关系的点击页面被点击的次数,以及由该义项所属歧义词引起的点击页面被点击的次数之间的比值;热度计算子单元,用于根据下列公式计算各义项的需求热度:Totle_Score=λ1*Session_Score+λ2*CT_Score,其中Totle_Score表示一个义项的需求热度,Session_Score表示该义项的会话占比,CT_Score表示该义项的点击占比,λ1和λ2分别表示该义项的会话占比和点击占比对应权重。

根据本发明之一优选实施例,所述展示单元在对所述搜索结果进行展示时,将所述搜索词对应的义项按照需求热度从高至低排列,以作为所述搜索结果的引导词;或者,将所述搜索结果按照所述搜索词对应的义项进行分类,并按照各义项的需求热度从高到低对各类搜索结果进行排列。

由以上技术方案可以看出,由于本发明预先通过对搜索日志进行处理,从搜索日志中提取到歧义词以及歧义词对应的义项,因此,能够在用户的搜索过程中对用户搜索词进行有针对性的反馈,从而提高了用户的搜索效率,降低了服务器负担。值得注意的是,本发明提取歧义词以及歧义词对应义项的过程是根据搜索日志中的信息自动实现的,由于搜索日志中的信息能够反映随时间变化而产生的词语的语义变化,因此,本发明中提取的歧义词及其义项更具时效性,与人工制定的歧义词表相比,本发明对歧义词搜索的满足度更高。

【附图说明】

图1为本发明中基于歧义消解的搜索方法的实施例一的流程示意图;

图2为本发明中对搜索结果进行展示的一个实施例的示意图;

图3为本发明中对搜索结果进行展示的另一个实施例的示意图;

图4为本发明中基于歧义消解的搜索方法的实施例二的流程示意图;

图5为本发明中基于歧义消解的搜索装置的实施例一的结构示意框图;

图6为本发明中提取单元201的一个实施例的结构示意框图;

图7为本发明中基于歧义消解的搜索装置的实施例二的结构示意框图;

图8为本发明中热度计算单元204的一个实施例的结构示意框图。

【具体实施方式】

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

本发明的方法,可用于垂直搜索领域,如图片搜索、视频搜索等,也可以用于通用搜索领域,为了方便说明,下面的实施例均以图片搜索为例进行介绍。

请参考图1,图1为本发明中基于歧义消解的搜索方法的实施例一的流程示意图。图1所示的S11是预先在线下实施的步骤,S12和S13则是在线上实施的步骤。需要指出的是,线上实施是指实施过程具有与用户行为相交互的特点,即该过程是对用户行为进行即时反馈的过程,而线下实施过程则因为不需要与用户行为相交互,可在线上实施过程之前的任意时刻实施。

在本实施例中,步骤S11包括步骤S111、S112和S113。

其中步骤S111:以会话(session)为单位对搜索日志进行切分。

搜索日志是记录大量用户在线上搜索时发生的搜索行为的文件,在搜索日志中,记录了每个用户每次搜索行为发生的时间、该次搜索行为使用的搜索词以及该次搜索行为对应的搜索动作(如翻页、主动修改)等信息。会话指的是同一用户在一定的时间间隔内发生的搜索行为的集合。作为一种方式,如果将一定的时间间隔限定为15分钟,则同一用户在15分钟内发生的搜索行为的集合就构成了一个会话。请参考表1,表1为一个会话的实施例的示意结构:

表1

时间搜索词搜索动作13:54:08三叶草13:54:19三叶草紫色植物主动修改

按照上述会话的定义,搜索日志可以被切分为若干数量的会话,利用这些会话,可以在步骤S112中提取到歧义词及其对应的候选义项。

步骤S112:按照预设的提取规则,从切分得到的各会话中提取歧义词及其对应的候选义项。

上述提取规则,可以是人工对搜索日志进行分析后总结的规则,也可以是通过机器学习方法自动得到的规则,本发明对此不进行限定。下面提供一种提取规则,以方便理解步骤S112的实施过程。

该提取规则为:将同时满足下列条件一和条件二的会话中的在先搜索词作为歧义词,在后搜索词作为该歧义词对应的候选义项。

条件一:同一会话中的在先搜索词为名词,且在后搜索词由该名词和另一名词短语构成。

条件二:同一会话中的在后搜索词与在先搜索词之间的时间间隔不超过45秒,且在后搜索词对应的搜索动作为主动修改。

通过统计数据证实,由条件一和条件二共同限定的提取规则效果最优,能够有效提高获取到的歧义词及其对应候选义项的准确率。

下面通过具体会话实例对步骤S112的提取过程进行说明。假设搜索日志经切分后有10个会话,分别用表2至表11表示:

表2

时间query搜索动作09:00:43三叶草09:01:01阿迪达斯三叶草主动修改

表3

时间query搜索动作10:20:05三叶草10:20:41三叶草adidas主动修改

表4

时间query搜索动作13:44:53三叶草13:44:59韩剧三叶草主动修改

表5

时间query搜索动作17:59:54三叶草17:59:59三叶草日剧主动修改

表6

时间query搜索动作21:04:10三叶草21:04:29韩剧三叶草主动修改

表7

时间query搜索动作12:16:23三叶草12:16:45三叶草植物主动修改

表8

时间query搜索动作18:59:20三叶草18:59:32三叶草漫画主动修改

表9

时间query搜索动作10:59:28三叶草11:00:14草药三叶草主动修改

表10

时间query搜索动作15:58:58三叶草16:00:13植物三叶草主动修改

表11

时间query搜索动作13:54:08三叶草13:54:19三叶草紫色植物主动修改

按照上述提取规则,可以从表2至表11所示的会话实施例中提取到歧义词“三叶草”,并且其对应的候选义项有“阿迪达斯”、“adidas”、“韩剧”、“日剧”、“植物”、“漫画”、“草药”、“紫色植物”。

在步骤S112得到候选义项之后,执行步骤S113就能够得到歧义词对应的义项。

步骤S113:按照预设的归一化策略,对歧义词对应的候选义项进行归一化处理。

步骤S113中可采用的归一化策略至少包括但不限于以下任意一种:

策略一:将语义上有上下位关系的义项合并到上位,例如“草药”的上位是“植物”,草药就被合并至“植物”。

策略二:将合成的名词短语,合并到被其包含的名词上,例如“紫色植物”被合并到“植物”。

策略三:将具有相同含义的义项合并,例如将“adidas”合并到“阿迪达斯”。

经过归一化处理后,可以得到歧义词“三叶草”对应的义项有“阿迪达斯”、“韩剧”、“日剧”、“植物”、“漫画”。

根据上述介绍可以理解,步骤S11在线下可以提取大量的歧义词以及其对应的义项,这些歧义词及其义项是确定在线上对用户搜索结果如何进行展示的依据。

具体地,假设步骤S12中获取到用户输入的搜索词为“三叶草”,则在步骤S13中,由于该搜索词与步骤S11得到的歧义词“三叶草”相匹配,因此在步骤S13中将依据搜索词“三叶草”对应的义项对搜索结果进行展示。

在一个实施例中,步骤S13中根据搜索词对应的义项对搜索结果进行展示的具体方式为:将搜索词对应的义项作为搜索结果的引导词。请参考图2,图2为本发明中对搜索结果进行展示的一个实施例的示意图。在图2所示的实施例中,“阿迪达斯”、“韩剧”、“日剧”等义项成为了搜索结果的引导词。在另一个实施例中,步骤S13中根据搜索词对应的义项对搜索结果进行展示的具体方式为:将搜索结果按照搜索词对应的义项进行分类展示。其中,将搜索结果按照搜索词对应的义项进行分类可以有多种方式,例如,计算各义项在搜索结果对应页面中的出现率,出现率最高的义项就是该搜索结果对应类别。又或者计算搜索结果对应页面与各义项的语义相似度,相似度最高的义项就是该搜索结果对应类别。请参考图3,图3为本发明中对搜索结果进行展示的另一个实施例的示意图。在图3所示的实施例中,搜索结果是分类展示的,用户可以直接选取自己需要的结果而不需要再点击引导词。

对有若干个义项的歧义词,其每个义项对应的需求热度并不一定相同。以“三叶草”为例,有可能大多数用户搜索该词语时,都是想了解与韩剧三叶草相关的信息,而很少有用户对植物三叶草感兴趣。因此,在本发明方法的另一个实施例中,还进一步对歧义词各义项的需求热度进行了计算,以更好地满足绝大多数用户的需要,提高搜索效率。

请参考图4,图4为本发明中基于歧义消解的搜索方法的实施例二的流程示意图。本实施例中步骤S21与实施例一中的步骤S11是类似的,但是为了在线上过程中更好地对搜索结果进行展示,本实施例在线下实施过程中进一步包括了步骤S22。通过步骤S22可以得到歧义词的各义项的需求热度。

在一个实施例中,步骤S22具体包括步骤S221和步骤S222:

步骤S221:计算归一化处理后各义项对应的会话占比和点击占比,其中会话占比是一个义项对应的会话数以及该义项所属歧义词对应的会话数之间的比值,所述点击占比是指所述搜索日志中,由一个义项所属歧义词引起的点击页面里与该义项之间具有关联关系的点击页面被点击的次数,以及由该义项所属歧义词引起的点击页面被点击的次数之间的比值。

例如通过表2至表11,可以计算“三叶草”的各义项对应的会话占比如表12所示:

表12

为了说明如何计算点击占比,假设搜索日志中记录的由歧义词“三叶草”引起的点击页面如表13所示,其中由歧义词“三叶草”引起的点击页面是指用户在以“三叶草”为搜索词进行搜索后点击了的搜索结果页面。

表13

由表13可以看出,歧义词“三叶草”引起的点击页面有页面A至页面F,因此“三叶草”引起的点击页面被点击的次数就是页面A至页面F被点击的次数之和,即等于50。而点击页面与一个义项之间是否具有关联关系,可以通过计算该点击页面与这个义项之间的语义相似度来确定,与该点击页面的语义相似度最高的义项可认为与该点击页面之间具有关联关系。此外也可以通过计算各义项在点击页面中的出现次数来确定点击页面与各义项之间的关联关系,例如一个义项在一个点击页面中出现次数最多,则该义项与该点击页面具有关联关系。

表13所示的点击页面在确定关联的义项后如表14所示:

表14

对于无法确定关联义项的点击页面可以抛弃不参与后续计算,因此对表14的数据进行整理后,可以得到表15所示的各义项的点击占比:

表15

歧义词“三叶草”的各义项点击占比植物0.2阿迪达斯0.6韩剧0.1漫画0.06

在步骤S222中,将根据下列公式对各义项的需求热度进行计算:Totle_Score=λ1*Session_Score+λ2*CT_Score,其中Totle_Score表示一个义项的需求热度,Session_Score表示该义项的会话占比,CT_Score表示该义项的点击占比,λ1和λ2分别表示该义项的会话占比和点击占比对应权重。

λ1和λ2通过样本训练得到,可以采用梯度下降等方法,训练过程就是连续迭代,不停调整λ1和λ2的值,以达到在标准训练集合上,目标函数效果最优。假设最终的λ1=1,λ2=3,则歧义词“三叶草”的各义项的需求热度如表16所示:

表16

义项Session_ScoreCT_ScoreTotle_Score阿迪达斯0.20.62.0植物0.40.21.0韩剧0.20.10.5漫画0.10.060.28日剧0.100.1

以上对本实施例中步骤S22如何计算各义项的需求热度的方式进行了介绍。值得注意的是,本实施例中线下实施的步骤S21和S22也可以以一定的时间间隔重复实施。因为词语的含义有可能随着时间变化而发生改变,原来没有歧义的词语后来可能出现了歧义,这在搜索日志中可以体现出来。以一定的时间间隔重复实施步骤S21和S22,就能够及时发现那些新出现的歧义词并将之提取出来。优选地,可以制定重复实施的时间间隔为一天。

由于本实施例在线下实施的步骤中获知了各义项的需求热度,因此在线上实施的步骤S24中对搜索结果进行展示时,可以将搜索词对应的义项按照需求热度从高至低排列,以作为搜索结果的引导词。请参考图2,图2中义项“阿迪达斯”、“韩剧”、“漫画”、“日剧”就是按照需求热度从高到低排列的。又或者,在步骤S24中对搜索结果进行展示时,可以将搜索结果按照搜索词对应的义项进行分类,并按照各义项的需求热度从高到低对各类搜索结果进行排列。请参考图3,图3中搜索结果不仅按照搜索词对应的义项进行了分类,并且各类别出现的顺序与该类别对应义项的需求热度是对应的,义项的需求热度越高,则该义项对应类别的搜索结果排在越前,这样能够更好地满足大多数用户的需求,减少点击次数,提高搜索效率。

请参考图5,图5为本发明中基于歧义消解的搜索装置的实施例一的结构示意框图。

其中提取单元201,用于预先从搜索日志中提取歧义词以及歧义词对应的义项。

接收单元202,用于获取用户输入的搜索词。

展示单元203,用于判断所述搜索词与所述提取单元提取的歧义词是否匹配,如果是,则在向所述用户返回搜索结果时根据所述搜索词对应的义项对所述搜索结果进行展示。

请参考图6,图6为本发明中提取单元201的一个实施例的结构示意框图。

其中,切分子单元2011,用于以会话为单位对搜索日志进行切分。搜索日志是记录大量用户在线上搜索时发生的搜索行为的文件,在搜索日志中,记录了每个用户每次搜索行为发生的时间、该次搜索行为使用的搜索词以及该次搜索行为对应的搜索动作(如翻页、主动修改)等信息。会话指的是同一用户在一定的时间间隔内发生的搜索行为的集合。作为一种方式,如果将一定的时间间隔限定为15分钟,则同一用户在15分钟内发生的搜索行为的集合就构成了一个会话。

按照上述会话的定义,切分单元2011可以将搜索日志切分为若干数量的会话,利用这些会话,提取子单元2012就可以提取到歧义词及其对应的候选义项。

提取子单元2012,用于按照预设的提取规则,从切分得到的各会话中提取歧义词及其候选义项。上述提取规则,可以是人工对搜索日志进行分析后总结的规则,也可以是通过机器方法自动学习得到的规则,本发明对此不进行限定。优选的,提取规则为将同时满足下列条件一和条件二的会话中的在先搜索词作为歧义词,在后搜索词作为该歧义词对应的候选义项。

条件一:同一会话中的在先搜索词为名词,且在后搜索词由该名词和另一名词短语构成。

条件二:同一会话中的在后搜索词与在先搜索词之间的时间间隔不超过45秒,且在后搜索词对应的搜索动作为主动修改。

合并子单元2013,用于按照预设的归一化策略,对歧义词对应的候选义项进行归一化处理。具体地,归一化策略至少包括但不限于以下任意一种:

策略一:将语义上有上下位关系的义项合并到上位。

策略二:将合成的名词短语,合并到被其包含的名词上。

策略三:将具有相同含义的义项合并。

请继续参考图5。图5所示的展示单元203在对搜索结果进行展示时,一种方式为将搜索词对应的义项作为搜索结果的引导词。展示单元203在对搜索结果进行展示时,另一种方式是将搜索结果按照搜索词对应的义项进行分类展示。

请参考图7,图7为本发明中基于歧义消解的搜索装置的实施例二的结构示意框图。与图5所示的实施例相比,本实施例进一步包括热度计算单元204,用于计算歧义词对应的各义项的需求热度。

请参考图8,图8为本发明中热度计算单元204的一个实施例的结构示意框图。其中,占比计算子单元2041,用于计算归一化处理后各义项对应的会话占比和点击占比,其中所述会话占比是指一个义项对应的会话数以及该义项所属歧义词对应的会话数之间的比值,所述点击占比是指所述搜索日志中,由一个义项所属歧义词引起的点击页面里与该义项之间具有关联关系的点击页面被点击的次数,以及由该义项所属歧义词引起的点击页面被点击的次数之间的比值。热度计算子单元2042,用于根据下列公式计算各义项的需求热度:

Totle_Score=λ1*Session_Score+λ2*CT_Score,其中Totle_Score表示一个义项的需求热度,Session_Score表示该义项的会话占比,CT_Score表示该义项的点击占比,λ1和λ2分别表示该义项的会话占比和点击占比对应权重。

在图8所示的实施例中,展示单元203在对搜索结果进行展示时,一种方式是将搜索词对应的义项按照需求热度从高至低排列,以作为搜索结果的引导词。展示单元203在对搜索结果进行展示时,另一种方式是将搜索结果按照搜索词对应的义项进行分类,并按照各义项的需求热度从高到低对各类搜索结果进行排列。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号