专利名称:搜索引擎及其实现方法
技术领域:
本发明涉及搜索引擎技术,尤其涉及一种可扩展同义搜索查询的搜索引擎及其实现方法。
背景技术:
互联网的飞速发展为人们 提供了一个全新的信息存储、加工、传递和使用的载体,网络信息也迅速成为了人们获取知识和信息的主要渠道之一。而如此规模的信息资源在将人类占有的几乎所有知识纳入其中的同时,也给资源的使用者带来了如何充分开发和利用的问题。搜索引擎正是在这一需求下应运而生的,它协助网络用户在互联网上查找信息。具体地,搜索引擎根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供搜索服务,将用户搜索相关的信息展示给用户。搜索引擎提供的在线搜索服务通常是基于关键词的搜索,即用户通过搜索引擎的输入框输入查询表达式,搜索引擎进行查询并返回包含这些关键词的结果网页。由于不同用户的知识背景或使用习惯不同,对同一事物搜索所使用的关键词可能也会不同,再加上自然语言中本身就存在很多同义词或近义词,所以仅基于用户提供的关键词来搜索是不够的。目前,很多搜索引擎都具有扩展查询的功能,如同义扩展查询。当搜索引擎接收到用户输入的原始查询表达式后,会对其进行分词操作,并识别分词后的词条集合中是否有潜在的同义词对。具体地,搜索引擎会将切分后的词条和预定的同义词词库进行匹配,判断这些词条中是否存在同义词的,如果是,则会在同义词的基础上扩展搜索查询,并将扩展的查询结果和原始的查询结果合并后返回显示给用户。从而,为用户提供了更多相关的搜索结果。目前,搜索引擎都会在查询结果中对用户输入的查询词进行标红处理,从而可以供用户快速地定位所需要查找的信息。当然,对于同义扩展查询结果中的同义词也会标红或用不同于原词标红的其它颜色进行展示,如美国公开专利申请US2008/0208835A所示。然而,有些原词和同义词的相似程度较低,如“土豆”和“马铃薯”,对于这种相似程度比较低的同义词进行标红的话,会给用户带来突兀感。这种情况下,用户在浏览搜索结果时,猛一看还以为搜索引擎出错了,从而会给用户带来不良的使用体验。有鉴于此,有必要对现有的搜索引擎予以改进,以解决上述问题。
发明内容
本发明的目的在于提供一种搜索引擎,其能够根据同义词和原词的相似度等级在搜索结果中对同义词进行相适应的展示,从而在供用户快速定位所需信息的同时避免给用户带来突兀感,以提升用户的使用体验。本发明的目的还在于提供一种上述搜索引擎的实现方法。为实现上述发明目的之一,本发明的一种搜索引擎的实现方法,其包括如下步骤接收用户搜索的原始查询式;
分析所述原始查询式,以获取存在于原始查询式中的原词以及该原词的同义词,并且将所述同义词替代原始查询式中的原词以获得同义查询式;根据所述原始查询式和同义查询式搜索并获得查询结果;判断所述同义词与原词的相似度等级,并根据所述相似度等级确定查询结果中同义词的展示方式。 作为本发明的进一步改进,所述同义词的展示方式包括对同义词进行特定颜色的展示。作为本发明的进一步改进,所述特定颜色包括红色。作为本发明的进一步改进,所述同义词的展示方式包括对同义词进行特定字体的展示。作为本发明的进一步改进,所述特定字体包括粗体或斜体。作为本发明的进一步改进,所述相似度等级的判断包括判断原词和同义词是否属于专有名词缩写、或数字变换、或地域词变换;或判断原词和同义词的语义相似度、或词形相似度、或编辑距离是否大于或等于预定阈值。作为本发明的进一步改进,所述相似度等级至少包括相似度等级较高的第一等级和相似度等级较低的第二等级。作为本发明的进一步改进,所述相似度等级还包括相似度等级比第二等级低的第
三等级。作为本发明的进一步改进,所述特定颜色的标注对应的相似度等级高于所述特定字体的标注对应的相似度等级,所述特定字体的标注对应的相似度等级高于不标注对应的相似度等级。作为本发明的进一步改进,所述判断相似度等级的步骤包括判断原词和同义词是否属于专有名词缩写、或数字变换、或地域词变换;如果是,则相似度等级为第一等级。作为本发明的进一步改进,所述判断相似度等级的步骤还包括当判断相似度等级非第一等级时,继续判断原词和同义词的语义相似度、或词形相似度、或编辑距离是否大于或等于预定阈值;如果是,则相似度等级为第二等级。为实现上述另一目的,本发明的一种搜索引擎,其包括搜索组件,所述搜索组件包括查询分析模块,用于接收用户搜索的原始查询式,分析所述原始查询式,以获取存在于原始查询式中的原词以及该原词的同义词,并且将所述同义词替代原始查询式中的原词以获得同义查询式;搜索模块,用于根据所述原始查询式和同义查询式搜索并获得查询结果;相似度等级分析模块,用于判断所述同义词与原词的相似度等级;以及展示模块,用于根据所述相似度等级确定查询结果中同义词的展示方式。作为本发明的进一步改进,所述同义词的展示方式包括对同义词进行特定颜色的展示。作为本发明的进一步改进,所述特定颜色包括红色。作为本发明的进一步改进,所述同义词的展示方式包括对同义词进行特定字体的展示。
作为本发明的进一步改进,所述特定字体包括粗体或斜体。作为本发明的进一步改进,所述相似度等级的判断包括判断原词和同义词是否属于专有名词缩写、或数字变换、或地域词变换;或判断原词和同义词的语义相似度、或词形相似度、或编辑距离是否大于或等于预定阈值。作为本发明的进一步改进,所述相似度等级至少包括相似度等级较高的第一等级和相似度等级较低的第二等级。作为本发明的进一步改进,所述相似度等级还包括相似度等级比第二等级低的第
三等级。作为本发明的进一步改进,所述特定颜色的标注对应的相似度等级高于所述特定字体的标注对应的相似度等级,所述特定字体的标注对应的相似度等级高于不标注对应的相似度等级。 作为本发明的进一步改进,所述相似度等级分析模块判断相似度等级的操作包括判断原词和同义词是否属于专有名词缩写、或数字变换、或地域词变换;如果是,则相似度等级为第一等级。作为本发明的进一步改进,所述相似度等级分析模块判断相似度等级的操作还包括当判断相似度等级非第一等级时,继续判断原词和同义词的语义相似度、或词形相似度、或编辑距离是否大于或等于预定阈值;如果是,则相似度等级为第二等级。与现有技术相比,本发明的有益效果是搜索引擎通过辨别同义词和原词的相似度等级,来对搜索结果中的同义词进行相适应的展示,从而在供用户快速定位所需信息的同时避免给用户带来突兀感,进而提升用户的使用体验。
图I是本发明的搜索引擎的第一实施方式的工作原理框图;图2是图I所示的搜索引擎挖掘同义语境的工作流程图;图3是图I所示的搜索引擎执行同义扩展查询的工作流程图;图4是本发明的搜索引擎的第二实施方式的工作原理框图;图5是图4所示的搜索引擎执行同义扩展查询的工作流程图;图6是本发明的搜索引擎的第三实施方式的工作原理框图;图7是图6所示的搜索引擎执行同义扩展查询的工作流程图;图8是本发明的搜索引擎的第四实施方式的工作原理框图;图9是图8所示的搜索引擎执行同义扩展查询的工作流程图;图10是图8所示的搜索引擎判断同义词相似度等级,并对同义词进行相应展示的一具体实施方式
中的工作流程图。
具体实施例方式以下将结合附图所示的各实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。图I所示的是本发明的搜索引擎100的第一实施方式的工作原理框图。本实施方式中,搜索引擎100根据一定的策略从互联网上搜集网页,在对网页进行组织和处理后,可响应客户端20的浏览器21请求而提供搜索查询的服务。其中,搜索引擎100可以包括一个或多个用来存储和管理数据、并响应搜索请求的网络服务器实体。客户端20可以包括一个或多个用户终端设备,如个人计算机、笔记本电脑、无线电话、个人数字处理(PDA)、或其它计算机装置和通信装置。这些服务器和终端设备在架构上都包含一些基本组件,如总线、处理装置、存储装置、一个或多个输入/输出装置、和通信接口等。总线可以包括一个或多个导线,用来实现服务器或终端设备各组件之间的通信。处理装置包括各类型的用来执行指令、处理进程或线程的处理器或微处理器。存储装置可以包括存储动态信息的随机访问存储器(RAM)等动态存储器,和存储静态信息的只读存储器(ROM)等静态存储器,以及包括磁或光学记录介质与相应驱动的大容量存储器。输入装置供用户输入信息到服务器或终端设备,如键盘、鼠标、手写笔、声音识别装置、或生物测定装置等。输出 装置包括用来输出信息的显示器、打印机、扬声器等。通信接口用来使服务器或终端设备与其它系统或装置进行通信。通信接口之间可通过有线连接、无线连接、或光连接连接到网络中,使搜索引擎100、客户端20间能够通过网络实现相互间的通信。网络可以包括局域网(LAN)、广域网(WAN)、电话网络如公共交换电话网(PSTN)、企业内部的互联网、因特网、或上述这些网络的结合等。服务器和终端设备上均包含有用来管理系统资源、控制其它程序运行的操作系统软件,以及用来实现特定功能模块功能的应用软件或程序指令。如图I所示,搜索引擎100可执行同义扩展查询,其整体上可分为离线部分和在线部分。在离线部分,搜索引擎100包括可存储网页数据和同义词对信息的数据存储库12、索引器13、网页抓取器14、记录用户查询信息的用户查询日志数据库16、以及对用户查询日志进行分析的日志分析器17。网页抓取器14是根据一定的策略通过网页之间的超链接关系来一个个抓取网页的程序。在具体的实施方式中,网页抓取器14从初始的URL (Universal ResourceLocator,统一资源定位符)库中根据一定的调度策略选取所要抓取的URL,解析URL中标明的网络服务器地址,然后建立连接、发送请求、和接收数据,将获得的网页数据储存到数据存储库12的网页库122中并建立本地文档集合,然后从其中提取链接以进行下一步的抓取动作,如此循环往复直到所有的URL抓取完为止。网页抓取器14选取URL所依据的调度策略可以包括广度优先策略、深度优先策略、反向链接数策略等;抓取方式可以是累积式抓取,也可以是增量式抓取。索引器13用于对本地文档集合进行分析并建立索引。例如通过分词从文档的全文中抽取词条,然后过滤除去高频词或低频词,以获得索引词集合,最后将网页到索引词的映射转化为索引词到网页的映射,形成包含索引词表和倒排表的倒排文件并存储在数据存储库12的索引库121中。对网页文档进行分词的方法包括基于词典的分词方法、基于理解的分词方法、和基于统计的分词方法。其中比较常见的基于词典的分词方法又包括正向最大切分法、逆向最大切分法、和最少切分法。于本发明中,同义词是指名称不同但表达的意思相同或相近的词条,即多个词条表达相同或相近的意思,则这些词条互为同义词。本实施方式中,同义词库123包括同义词对应表1231和同义语境库1232。其中同义词对应表1231中预先指定了不同字词和其同义词的对应关系,如通过预先统计获得的原词和其同义词的对应关系表。该对应表还可以通过分析用户的历史查询点击数据来进行不断的更新。例如,当被点击的查询结果网页的标题中包含某原词的同义词但并未出现原词,且这种情形出现的频次较高,则将该原词和同义词确定为同义词对并添加入同义词对应表1231中。图2所示的是搜索引擎100挖掘同义词对的同义语境的一具体实施方式
的工作流程。于本发明中,同义语境是指同义词对中原词出现的语义环境,其用来表明该同义词对所适用的语义环境,即在该语义环境下,同义词适合替换原词来进行同义扩展查询。在本实施方式中,同义语境是通过分析用户查询日志来获得的。用户查询日志数据库17是在每次搜索结束后,用来记录用户的查询点击数据,如查询词表达式、搜索时间、返回的结果列表、以及被点击的结果网页等。参照图2并配合参照图I所示,日志分析器17分析用户查询日志数据库16中包含的历史的用户查询式和点击数据(步骤411),包括分析历史的查询式以及响应于特定查询式而返回的并被点击访问的查询结果网页。接下来,日志分析器17会识别这些数据中是否存在某个同义词对的同义语境,如果是,则记录并存储到同义语境库1232中。具体地,日志分析器17首先会基于同义词对应表1231判断某一历史查询式中是 否包含原词,如果是,则获取包含该原词和相应同义词的同义词对。例如,历史查询式为“鱼香肉丝怎么做”,日志分析器17基于同义词对应表1231判断该查询式中存在“怎么做”的原词(将“鱼香肉丝怎么做”切分为“鱼香肉丝”和“怎么做”两个词条,然后将这两个词条与同义词对应表中的原词进行匹配,从而找到“怎么做”的原词),并获得了相应同义词对{ “怎么做”,“菜谱”}。随后,日志分析器17判断针对该查询式,用户点击访问的网页标题中是否包含了同义词但不包含原词,如果是,则记录该同义词对的同义语境。例如,针对查询式“鱼香肉丝怎么做”,用户点击过标题为“鱼香肉丝菜谱”的网页,则日志分析器17就会执行记录同义语境的操作。同义语境至少包含该历史查询式,如“鱼香肉丝怎么做”;也可以包含该历史查询式中原词的紧邻词,如“鱼香肉丝”;或者是两者都记录作为同义词对{ “怎么做”,“菜谱” }的同义语境。其中,紧邻词可以位于原词前,也可以位于原词后;紧邻词也可以是空词条,即原始查询式中仅包含原词,不存在紧邻词。上述实施方式中,同义语境是通过历史的用户行为获得,但在其它实施方式中,同义语境也可以根据网页的锚文本来确定。锚文本即网页的超链接中包含的文本信息。例如,网页画· sina. com. cn被引用的地方超链文本有“新浪网首页”、“新浪首页”、“sina首页”,那么这几个文字段会被记录下来作为同义词对{ “新浪网”,“新浪” }的同义语境。此夕卜,同义语境也可以根据网页标题中的并列段来确定。例如,price. mycarl68. com/search,asp factoryid = 135这个网址的标题为“华晨宝马报价、华晨宝马价格 深圳汽车大世界网”。则通过分隔符,该标题可以被切分为多个并列的词条片段“华晨宝马报价”“华晨宝马价格” “深圳汽车大世界网”,而前两个片段包含同义词对{ “价格”,“报价”}中的“价格”和“报价”,那么这两个片段也可以作为该同义词对的同义语境。参照图2所示,在同义语境挖掘的过程中,用户的点击行为并不一定都是完全合理的,也就是说,用户在浏览搜索结果的过程中可能会无心点击一些不相关的结果,在这种情况下记录的同义语境就不会准确。所以为消除这种情形造成的负面影响,日志分析器17还会统计同义语境被记录的频次,并且,只有当频次大于或等于一个预先确定的频次阈值时,这个同义语境才会保留确定为相应同义词对的同义语境,也就是说,过滤掉低频的同义语境(步骤413)。如图I所示,搜索引擎100的在线部分主要包括搜索组件11和用户界面15。其中用户界面15通过客户端20的浏览器软件21展现,用于供用户输入查询式,并按预定展现方式显示搜索结果列表;此外,在搜索结束后,还用于记录用户的查询信息,并将其存入用户查询日志数据库16中。搜索组件11用于响应客户端30的搜索请求,将搜索结果返回给客户端20。本实施方式中,搜索组件11包括搜索模块111、查询分析模块112、和结果合成模块113。对于普通的原始查询(不包含扩展查询),查询分析模块112通常用于对当前接收到的原始查询式进行分词操作,获得查询词集合,并生成查询词表。搜索模块111在接收到查询词表后,与数据索引库121中的索引词表进行匹配,找到相应的索引词以及每个索引词对应的倒排表,从而获得与查询词相关的网页文档集合。结果合成模块113根据预先确定的每个文档与查询词之间的相关度权值将搜索到的网页文档顺序排列,然后将结果列表通过用户界面15返回给客户端。
以下结合图3所示的工作流程来说明搜索引擎100根据同义语境在线执行同义扩展查询的详细步骤。查询分析模块112通过用户界面15接收到当前用户搜索的原始查询式(步骤421),然后分析查询式(步骤422),包括对原始查询式进行分词操作。需要说明的是,本实施方式中的分词方法是基于词典的正向最大切分法,而该词典由同义语境包含的词条片段构造而成。前已述及,历史查询式会被作为同义语境记录,而历史查询式的片段长度要大于该查询式被切分后的词条的长度,所以,采用正向最大切分法可确保一旦当前的原始查询式中包含历史查询式的片段,则该片段会被率先切分出来,从而提高了后续的计算的准确率。例如,在同义语境挖掘阶段,历史查询式是“今天诺基亚多少钱”,则在记录同义词对{ “多少钱”,“价格” }的同义语境时,历史查询式“今天诺基亚多少钱”和紧邻词“诺基亚”都会作为同义语境记录下来。而当前的原始查询式是“谁知道今天诺基亚多少钱”,按照正向最大切分法,同义语境词典中最长的片段“今天诺基亚多少钱”长度是8,则查询分析模块112从左到右扫描当前的原始查询式,判断长度为8的短语是否出现在同义语境词典中,当发现“今天诺基亚多少钱”匹配时,就会将其先切分出来,如此,“诺基亚”就不会作为单独的关键词切分出来。在步骤422中,查询分析模块112还会将原始查询式切分后得到的词条集合与同义词库123匹配,获得潜在同义词对和该同义词对的同义语境,该潜在同义词对中包含了存在于原始查询式中包含的原词,以及与该原词对应的同义词。接下来,查询分析模块112判断同义语境和原始查询式是否匹配(步骤423)。在本实施方式中,查询分析模块112会计算同义语境和原始查询式的匹配度,当匹配度的值处于预先确定的匹配度区间内时,则确定同义语境和原始查询式匹配,即表明当前原始查询式的语义环境适合采用同义词替换原词来执行扩展查询。匹配度的计算可以根据原词始查询式除去原词后的长度,及同义语境的长度来确定。以下是本实施方式中,当原始查询式的长度大于原词的长度(即q古orig)时,匹配度M的计算公式
η
VTermCountiρ )上.
M (oris, syn) --—-, q 弇 oris
TermCount{q) — TermCount{orig)其中TermCount (q)表示原始查询式的长度,TermCount (orig)表示原始查询式中原词的长度,TermC0Unt(Pi)表示第i个同义语境的长度。因为这种情况下,原始查询式中会存在非同义语境的词,因此M是处于
之间的值。预先设定一个匹配度阈值Θ,则当M的值处于[Θ,1]时,表明同义语境和原始查询式匹配,则将同义词替换原始查询式中的原词以获得同义查询式,随后搜索模块111根据原始查询式和同义查询式搜索获得原始查询结果的网页集合及同义查询结果网页的集合(步骤424),结果合成模块113根据预定的合并策略合并原始查询和同义查询的结果(步骤425)。关于结果合并策略,将在后文中做详细描述。当M的值处于[O,Θ]时,表明同义语境和原始查询式不匹配,即在这种语义环境下,不适合用同义词替代原词,接下来搜索模块111只会根据原始查询式来执行搜索并获得原始查询结果的网页集合(步骤426),而后结果合成模块113根据预先确定的每个网页与原始查询式之间的相关度权值获得搜索结果列表(步骤425)。当原始查询式仅包含原词(即q = orig)时,匹配度M= 1,则用同义词之间替换原始查询式,而后执行步骤424和步骤425。搜索引擎通过对当前用户查询需求的语义环境分析,以确定是否适用同义词变换来执行同义扩展查询,从而确保同义扩展查询的准确率,使扩展查询尽量符合用户的需求,进而确保用户具有良好的使用体验。
图4和图5揭示了本发明搜索引擎的第二实施方式。相比第一实施方式,本实施方式的搜索引擎200主要通过判断同义查询结果的转义概率,来调整同义查询结果在最后展现给用户的搜索结果列表中的位置。如图4所示,搜索引擎200包括搜索组件11、数据存储库12、索引器13、抓取器14、和用户界面15。数据存储库12、索引器13、抓取器14、和用户界面15等功能模块与上述实施方式基本相同,所以申请人在此不再予以赘述。本实施方式中,搜索组件11包括搜索模块111、查询分析模块112、和重合度计算及结果合并模块114。以下结合图5对本实施方式的搜索引擎执行同义扩展查询做详细说明。首先,查询分析模块112接收用户的原始查询式(步骤431)。接下来,分析查询式(步骤432),包括对原始查询式进行分词操作以获得查询词集合,基于同义词库123识别原始查询式中的原词并获得包含原词和其同义词的同义词对,并直接将同义词替换原词以获得同义查询式。搜索模块111根据原始查询式和同义查询式搜索获得原始查询结果的网页集合及同义查询结果网页的集合(步骤433)。接下来,重合度计算及结果合并模块114计算原始查询结果与同义查询结果中网页的重合度(步骤434)。该重合度主要是用来反应原始查询结果和同义查询结果的中相同网页的数量,如果相同网页的数量足够多,表明同义查询结果和原始查询结果比较接近,则同义查询结果出现转义的概率较小;反之,则表明同义查询结果出现转义的概率较大,需要对同义查询结果进行打压以避免不符合用户搜索需求的结果出现在结果列表的前列。重合度的计算可以采用多种方式,如仅计算原始查询结果和同义查询结果中重合的网页的数量Iui n U2 I,即确定相同的URL数量。作为优选的方式,重合度的计算还包括确定原始查询结果的网页数量和同义查询结果的网页数量中较少的一个Min(|Ul|,|U2|);然后重合度I(U1,U2) = IUl n U2|/Min(|Ul|,U2|)。或者在其它实施方式中,重合度的计算还包括计算原始查询结果的网页数量和同义查询结果的网页数量的总和Iui U U2 ;然后重合度I(U1,U2) = Ul n U2|/|U1 U U2|。当重合度的值计算出来后,会判断该值是否处于预定的重合度区间内以确定是否需要打压同义查询结果,而后确定同义查询结果在搜索结果列表中的位置并输出合并后的结果(步骤435)。以重合度计算方式I (U1,U2)=|U1 n U2|/Min(|Ul|,|U2|)为例,重合度的值I为处于
之间的浮点数。预先设定一个重合度阈值σ,则当I处于[σ,1]时,表明原始查询结果和同义查询结果的重合度较高,这种情况下,不需要打压同义查询结果,只需按照预先确定的每个网页的相关度权值来合并原始和同义查询的结果。当I处于
时,表明原始查询结果和同义查询结果的重合度较低,同义查询结果的转义概率较大,这时就需要打压同义查询结果。打压的方式可以是对同义查询结果中网页的相关度权值做降权处理,从而使同义查询结果在合并后的搜索结果列表中处于较后的位置;或者将同义查询结果插入到搜索结果列表的特定页之后,如将同义查询结果调整到搜索结果列表的第二页;此外,也可以将同义查询结果调整到原始查询结果的后面,即同义查询结果出现在搜索结果列表的最后面。搜索引擎通过判断原始查询结果和同义查询结果的重合度,来确定同义查询结果出现转义的概率,并在转义概率较大时,打压同义查询结果,以避免不符合用户搜索需求的结果出现在搜索结果列表的前列,从而确保用户具有良好的使用体验。本实施方式中,在用同义词替换原词执行同义扩展查询前,并不必须采用实施方式一所提到的通过 同义语境判断来确定是否进行同义词替换,然而,本领域的普通技术人员可以轻易想到的是,如果本实施方式结合第一实施方式,即在同义词替换前先执行同义语境的判断,然后在同义查询结果出来后根据原始和同义查询结果的重合度合并搜索结果,显然这样可以获得更加准确的搜索结果,从而进一步提升用户体验。图6和图7揭示了本发明搜索引擎的第三实施方式。本实施方式是基于同义查询结果,进一步通过分析同义查询结果网页的语义主题分布来判断同义查询结果的转义概率,进而调整同义查询结果在最后展现给用户的搜索结果列表中的位置。如图6所示,与第一实施方式类似,搜索引擎300包括搜索组件11、数据存储库12、索引器13、抓取器14、用户界面15、用户查询日志数据库16、日志分析器17。其中索引器13、抓取器14、用户界面
15、用户查询日志数据库16、日志分析器17等功能模块与第一实施方式中相同,申请人在此不再予以赘述。本实施方式中,搜索组件11包括搜索模块111、查询分析模块112、结果合成模块113、以及转义判定模块115。数据存储库12包含有索引库121、网页库122、同义词库123、以及网页语义主题库124。其中索引库121、网页库122、同义词库123与第一实施方式中相同,申请人在此不再予以赘述。搜索引擎300还包括一主题分析模块18,本实施方式中,该主题分析模块18包含一概率潜在语义分析(Probabilitistic Latent SemanticAnalysis,下称 PLSA)模型。PLSA模型是一种自然语言处理的工具,其主要用于分析文档的潜在语义。一个文档可以被表示为一组词的集合,但由于同义词的存在,词并不是文档的最基本组成元素,所以,可以认为在词与文档之间还有一个潜在的语义层面,即主题。例如,用户输入的查询式为“瑞士军刀绿颜色”,由于{ “绿颜色”,“绿色” }为同义词对,所以可以用“绿色”替换“绿颜色”来执行同义扩展查询,但这时召回的结果可能会包含标题为“系统瑞士军刀-完美卸载V2007绿色版”的网页。这是因为“瑞士军刀绿颜色”对应的主题为“物品”,而“系统瑞士军刀-完美卸载V2007绿色版”对应的主题为“软件”,显然,搜索引擎还无法理解这些隐含的主题。PLSA模型是一种通过计算文档中共现词的分布来分析潜在语义主题的主题模型,其在文档和词之间引入一个潜在的语义层,该潜在语义层由η个潜在语义主题构成。假设文档与词之间是相互独立的,则文档与词共同出现的概率由它们与主题之间的概率关系来决定。因此,通过PLSA模型可计算出文档或词与潜在语义主题之间的关系。基于此,本实施方式中可以通过PLSA模型获得同义语境和同义查询结果网页的语义主题分布,并计算两者的匹配度以确定同义查询结果的转义概率。接下来将作详细描述。如图6所示,主题分析模块18从网页库122中获取网页,去掉网页中的边框广告等干扰词,然后提取能够代表该网页的关键词集合。随后,主题分析模块18通过PLSA模型计算获得表示该网页的语义主题分布的网页-潜在语义主题向量S2= {s21, s22,…,s2n},其中s2n表示该网页在第η个语义主题上的概率分值。本实施方式中,网页语义主题分布的获取是在离线状态下获得,即主题分析模块18分析所有被抓取的网页,获得其语义主题分布,然后存储入网页语义主题库124中。当然,该过程也可以是在在线搜索的状态下获得,即当同义查询结果获得后,主题分析模块18仅分析查询结果中的网页,然后将这些网页的语义主题分布交给转义判定模块115来判断。本实施方式中,同义语境语义主题分布的获取是在线实现的。当查询分析模块112切分原始查询式获得关键词集合后,主题分析模块18获取该关键词集合,并且从同义语境库1232中获得相应的同义语境包含的词条 集合。然后,将关键词集合与同义语境的词条集合合在一起,交给PLSA模型计算并获得表示该同义语境的语义主题分布的同义语境-潜在语义主题向量SI = {sll, sl2,…sln},其中sin是指同义语境在第η个语义主题上的概率值。当得到向量SI后,主题分析模块18将其交给转义判定模块115来判断SI和S2的相似度。关于判断的步骤,将会在后文做详细地描述。接下来将配合图7详细介绍本实施方式中搜索引擎300执行同义扩展查询的详细步骤。首先,查询分析模块112接收到用户搜索的原始查询式(步骤441),然后对该原始查询式进行分析(步骤442)。查询分析模块112会对原始查询式进行分词操作,如同第一实施方式,分词操作是基于同义语境构建的词典做最大正向切分。经分词操作后获得原始关键词集合,一方面,查询分析模块112将原始关键词集合交给搜索模块111执行原始查询(步骤449),并获得原始查询结果(步骤450)。另一方面,查询分析模块112基于同义词库123识别原始查询式中包含的原词,并获得相应的潜在同义词对及该潜在同义词对的同义语境。分析查询模块112在获得上述数据后,可以直接用同义词替换原词以获得同义查询式,并交给搜索模块111执行同义扩展查询(步骤443)。作为优选的实施方式中,在执行同义词替换操作前,可以先判断是否符合原词的同义语境,如果符合的话,再执行同义替换的操作,如此可进一步提高同义查询结果的准确率。关于根据同义语境的匹配度判断来执行同义词替换的操作,已在第一实施方式中做了详细描述,申请人在此不再语义赘述。此夕卜,查询分析模块112还将原始关键词集合交给主题分析模块18,由其通过PLSA模型计算并获得同义语境的语义主题分布(步骤447),计算的结果交给转义判定模块115。搜索模块111执行同义查询获得同义查询结果(步骤444)后,转义判定模块115根据同义查询结果从网页语义主题库中获得结果网页的语义主题分布,即网页-潜在语义主题的向量S2 = {s21,s22,…,s2n}(步骤445)。另一方面,转义判定模块115从主题分析模块得到了同义语境的语义主题分布,即同义语境-潜在语义主题的向量SI = {sll,sl2, -slnh接下来,转义判定模块115判断两个语义主题分布的匹配度,即计算两个向量SI、S2的相似度(步骤446);而后根据匹配度过滤同义查询结果(步骤448),即确定同义查询结果的打压方式,并据此合并原始查询和同义查询的结果,生成搜索结果列表(步骤451)。关于两个向量的相似度计算有多种,如内积相似度、余弦相似度等。以下是利用余弦相似度计算向量SI和S2之间相似度的计算公式的示例。
权利要求
1.一种搜索引擎的实现方法,其特征在于,该方法包括如下步骤 接收用户搜索的原始查询式; 分析所述原始查询式,以获取存在于原始查询式中的原词以及该原词的同义词,并且将所述同义词替代原始查询式中的原词以获得同义查询式; 根据所述原始查询式和同义查询式搜索并获得查询结果; 判断所述同义词与原词的相似度等级,并根据所述相似度等级确定查询结果中同义词的展示方式。
2.根据权利要求I所述的搜索引擎的实现方法,其特征在于,所述同义词的展示方式包括对同义词进行特定颜色的展示。
3.根据权利要求2所述的搜索引擎的实现方法,其特征在于,所述特定颜色包括红色。
4.根据权利要求I所述的搜索引擎的实现方法,其特征在于,所述同义词的展示方式包括对同义词进行特定字体的展示。
5.根据权利要求4所述的搜索引擎的实现方法,其特征在于,所述特定字体包括粗体或斜体。
6.根据权利要求I所述的搜索引擎的实现方法,其特征在于,所述相似度等级的判断包括判断原词和同义词是否属于专有名词缩写、或数字变换、或地域词变换;或判断原词和同义词的语义相似度、或词形相似度、或编辑距离是否大于或等于预定阈值。
7.根据权利要求I所述的搜索引擎的实现方法,其特征在于,所述相似度等级至少包括相似度等级较高的第一等级和相似度等级较低的第二等级。
8.根据权利要求7所述的搜索引擎的实现方法,其特征在于,所述相似度等级还包括相似度等级比第二等级低的第三等级。
9.根据权利要求7所述的搜索引擎的实现方法,其特征在于,所述特定颜色的标注对应的相似度等级高于所述特定字体的标注对应的相似度等级,所述特定字体的标注对应的相似度等级高于不标注对应的相似度等级。
10.根据权利要求7所述的搜索引擎的实现方法,其特征在于,所述判断相似度等级的步骤包括判断原词和同义词是否属于专有名词缩写、或数字变换、或地域词变换;如果是,则相似度等级为第一等级。
11.根据权利要求10所述的搜索引擎的实现方法,其特征在于,所述判断相似度等级的步骤还包括当判断相似度等级非第一等级时,继续判断原词和同义词的语义相似度、或词形相似度、或编辑距离是否大于或等于预定阈值;如果是,则相似度等级为第二等级。
12.一种搜索引擎,其特征在于,搜索引擎包括搜索组件,所述搜索组件包括 查询分析模块,用于接收用户搜索的原始查询式,分析所述原始查询式,以获取存在于原始查询式中的原词以及该原词的同义词,并且将所述同义词替代原始查询式中的原词以获得同义查询式; 搜索模块,用于根据所述原始查询式和同义查询式搜索并获得查询结果; 相似度等级分析模块,用于判断所述同义词与原词的相似度等级;以及 展示模块,用于根据所述相似度等级确定查询结果中同义词的展示方式。
13.根据权利要求12所述的搜索引擎,其特征在于,所述同义词的展示方式包括对同义词进行特定颜色的展示。
14.根据权利要求13所述的搜索引擎,其特征在于,所述特定颜色包括红色。
15.根据权利要求12所述的搜索引擎,其特征在于,所述同义词的展示方式包括对同义词进行特定字体的展示。
16.根据权利要求15所述的搜索引擎,其特征在于,所述特定字体包括粗体或斜体。
17.根据权利要求12所述的搜索引擎,其特征在于,所述相似度等级的判断包括判断原词和同义词是否属于专有名词缩写、或数字变换、或地域词变换;或判断原词和同义词的语义相似度、或词形相似度、或编辑距离是否大于或等于预定阈值。
18.根据权利要求12所述的搜索引擎,其特征在于,所述相似度等级至少包括相似度等级较高的第一等级和相似度等级较低的第二等级。
19.根据权利要求18所述的搜索引擎,其特征在于,所述相似度等级还包括相似度等级比第二等级低的第三等级。
20.根据权利要求18所述的搜索引擎,其特征在于,所述特定颜色的标注对应的相似度等级高于所述特定字体的标注对应的相似度等级,所述特定字体的标注对应的相似度等级高于不标注对应的相似度等级。
21.根据权利要求18所述的搜索引擎,其特征在于,所述相似度等级分析模块判断相似度等级的操作包括判断原词和同义词是否属于专有名词缩写、或数字变换、或地域词变换;如果是,则相似度等级为第一等级。
22.根据权利要求21所述的搜索引擎,其特征在于,所述相似度等级分析模块判断相似度等级的操作还包括当判断相似度等级非第一等级时,继续判断原词和同义词的语义相似度、或词形相似度、或编辑距离是否大于或等于预定阈值;如果是,则相似度等级为第二等级。
全文摘要
本发明提供一种搜索引擎,其用于接收用户搜索的原始查询式;分析所述原始查询式,以获取存在于原始查询式中的原词以及该原词的同义词,并且将所述同义词替代原始查询式中的原词以获得同义查询式;根据所述原始查询式和同义查询式搜索并获得查询结果;判断所述同义词与原词的相似度等级,并根据所述相似度等级确定查询结果中同义词的展示方式。搜索引擎通过辨别同义词和原词的相似度等级,来对搜索结果中的同义词进行相适应的展示,从而在供用户快速定位所需信息的同时避免给用户带来突兀感,进而提升用户的使用体验。
文档编号G06F17/30GK102722498SQ20111007969
公开日2012年10月10日 申请日期2011年3月31日 优先权日2011年3月31日
发明者呼大为 申请人:北京百度网讯科技有限公司