CN102073725B - 结构化数据的搜索方法和实现该搜索方法的搜索引擎系统 - Google Patents
结构化数据的搜索方法和实现该搜索方法的搜索引擎系统 Download PDFInfo
- Publication number
- CN102073725B CN102073725B CN 201110004810 CN201110004810A CN102073725B CN 102073725 B CN102073725 B CN 102073725B CN 201110004810 CN201110004810 CN 201110004810 CN 201110004810 A CN201110004810 A CN 201110004810A CN 102073725 B CN102073725 B CN 102073725B
- Authority
- CN
- China
- Prior art keywords
- data
- search
- query word
- word expression
- search engine
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种搜索引擎系统,其包括结构化数据存储库、需求分析模块、和搜索组件。其中结构化数据存储库用于存储结构化数据,结构化数据包括与若干属性标签对应的属性值;该存储库内还存储有语义模板,语义模板包括有属性标签。需求分析模块,用于接收来自于客户端的查询词表达式,根据查询词表达式确定相应的语。搜索组件用于搜索结构化数据存储库以获取所要搜索的结构化数据。本发明的搜索引擎系统通过语义模板来分析用户的搜索表达式,以确切地了解用户最想要的需求,并给用户一个能够满足其需求的最适合的方式展现,从而使用户得到良好的使用体验,提高搜索效率,节约网络流量。
Description
技术领域
本发明涉及搜索引擎技术,尤其涉及一种结构化数据的搜索方法和实现该搜索方法的搜索引擎系统。
背景技术
互联网的飞速发展为人们提供了一个全新的信息存储、加工、传递和使用的载体,网络信息也迅速成为了人们获取知识和信息的主要渠道之一。而如此规模的信息资源在将人类占有的几乎所有知识纳入其中的同时,也给资源的使用者带来了如何充分开发和利用的问题。搜索引擎正是在这一需求下应运而生,它协助网络用户在互联网上查找信息。具体地,搜索引擎根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户。
目前的搜索引擎在互联网上搜集信息时主要是通过网页之间的静态链接关系来收集数据。然而,互联网上大部分内容信息是存储在网络数据库中的,也就是说,目前搜索引难以通过网页抓取的方式获取其全部的信息内容,所以,当前的搜索引擎也不能索引到或不能在返回的搜索结果中显示这些内容,因此对用户来说这部分内容是隐藏的。但是,这部分隐藏的内容对于用户又是非常重要的,例如股票数据、人民币汇率、天气预报、电视节目表等,可以看出,这些隐藏的内容大部分都是结构化的数据。所以,如何使搜索引擎能够搜索到互联网上的各种信息,即包括结构化的和非结构化的信息,是搜索引擎技术发展所面临的主要问题。
此外,现有的通用搜索引擎在确定网页和搜索需求的相关性时,主要是通过对网页进行分析,得到网页的权威性,再结合网页的一些因子综合进行排序。这种排序或许能够满足一般用户的需求,然而对于一些特殊需求的用户可能就没有办法满足了。例如招聘搜索、机票搜索、软件搜索、商品搜索等,由于这类用户需要的结果比较明确或者具有唯一性,所以通用搜索引擎返回的大堆结果对于这类用户而言可能就显得并不相关或并不全面。当然,用户可以通过相关领域的垂直搜索引擎来获得较为准确和全面的搜索结果,但是,用户的搜索需求往往是多样化的,如果每个搜索都需要通过相应的垂直搜索引擎,显然无法给用户带来良好的使用体验。
有鉴于此,有必要对现有的搜索引擎予以改进,以解决上述问题。
发明内容
本发明的目的在于提供一种结构化数据的搜索方法,其能够通过分析用户的搜索条件来确切地获取用户最想要的信息,并给用户一个能够满足其需求的最适合的方式展现,从而使用户得到良好的使用体验。
本发明的目的还在于提供一种实现上述搜索方法的搜索引擎系统。
为实现上述发明目的之一,本发明的一种结构化数据的搜索方法,所述结构化数据包括与若干属性标签对应的属性值,其包括如下步骤:
接收来自于客户端的查询词表达式;
对查询词表达式进行分词以获得若干词项的集合,并与若干结构化数据存储库匹配词典匹配,以确定所述词项的集合中是否包含至少一个结构化数据存储库的特征短语;如果能够匹配特征短语,则对相应结构化数据存储库和网页存储库进行搜索,如果不能够匹配特征短语,则对网页存储库进行搜索,搜索方法包括:
根据所述查询词表达式确定相应的语义模板,所述语义模板包括属性标签;
根据所述语义模板分析所述查询词表达式,以确定所要搜索的结构化数据;
搜索并获取所要搜索的结构化数据。
作为本发明进一步改进,所述查询词表达式分析步骤包括分析出和语义模板中属性标签对应的属性值,从而确定包含有所述属性值的数据为所要搜索的数据。
作为本发明进一步改进,所述查询词表达式分析步骤还包括根据语义模板分析出所要搜索的属性标签;该方法还包括从所述获取的数据中抽取与所述所要搜索的属性标签对应的属性值,并将所述属性值返回给客户端。
作为本发明进一步改进,所述查询词表达式分析步骤包括:根据语义模板确定和语义模板中的属性标签对应的词项,并给所述词项标注相应的属性标签。
作为本发明进一步改进,该方法还包括:在查询词表达式分析的步骤后还包括对查询词表达式进行优化的步骤。
作为本发明进一步改进,所述查询词表达式优化的步骤包括区间筛选操作、和/或语义扩展操作、和/或分词操作。
作为本发明进一步改进,该方法还包括根据数据的相关度权值来对搜索获取的数据进行排序。
作为本发明进一步改进,所述数据的相关度权值根据数据文本的基础知识的相关性来确定。
作为本发明进一步改进,所述数据的相关度权值根据数据的特定特征的重要性来确定。
作为本发明进一步改进,该方法还包括对排序后的数据进行打散操作。
作为本发明进一步改进,该方法还包括根据所述查询词表达式搜索获取与查询词相关的网页文档,并将所述网页文档和所述搜索获取的结构化数据合成后返回给客户端。
作为本发明进一步改进,所述网页文档是通过访问互联网链接结构而预先搜集到的。
作为本发明进一步改进,该方法还包括生成用户查询日志,并根据用户查询日志获得所述语义模板。
为实现上述另一发明目的,本发明的一种搜索引擎系统,其包括:
结构化数据存储库,用于存储结构化数据,所述结构化数据包括与若干属性标签对应的属性值;该存储库内还存储有语义模板,所述语义模板包括有属性标签;
需求分析模块,用于接收来自于客户端的查询词表达式,根据所述查询词表达式确定相应的语义模板,并根据所述语义模板分析该查询词表达式,以确定所要搜索的结构化数据,以及用于对查询词表达式进行分词以获得若干词项的集合,并与若干结构化数据存储库匹配词典匹配,以确定所述词项的集合中是否包含至少一个结构化数据存储库的特征短语;如果能够匹配特征短语,则对相应结构化数据存储库和网页存储库进行搜索,如果不能够匹配特征短语,则对网页存储库进行搜索;
搜索组件,用于搜索结构化数据存储库以获取所要搜索的结构化数据。
作为本发明进一步改进,所述需求分析模块对查询词表达式的分析包括:分析出和语义模板中的属性标签对应的属性值,从而确定包含有所述属性值的数据为所要搜索的数据。
作为本发明进一步改进,所述需求分析模块对查询词表达式的分析还包括根据语义模板分析出所要搜索的属性标签;所述搜索组件还用于从所述获取的数据中抽取与所述所要搜索的属性标签对应的属性值,并将所述属性值返回给客户端。
作为本发明进一步改进,所述需求分析模块对查询词表达式的分析包括:根据语义模板确定和语义模板中的属性标签对应的词项,并给所述词项标注相应的属性标签。
作为本发明进一步改进,所述需求分析模块还用于对查询词表达式进行优化。
作为本发明进一步改进,所述需求分析模块对查询词表达式的优化包括区间筛选操作、和/或语义扩展操作、和/或分词操作。
作为本发明进一步改进,所述搜索组件还用于根据数据的相关度权值来对搜索获取的数据进行排序。
作为本发明进一步改进,所述数据的相关度权值根据数据文本的基础知识的相关性来确定。
作为本发明进一步改进,所述数据的相关度权值根据数据的特定特征的重要性来确定。
作为本发明进一步改进,所述搜索组件还用于对排序后的数据进行打散操作。
作为本发明进一步改进,该系统还包括网页存储库,用于存储通过访问互联网链接结构而抓取的网页文档;所述搜索组件还用于搜索网页存储库以获取与所述查询词表达式相关的网页文档。
作为本发明进一步改进,该系统还包括合成模块,用于将获取的网页文档和结构化数据合成后返回给客户端。
作为本发明进一步改进,该系统还包括用户界面,用于记录用户查询日志,所述语义模板根据用户查询日志而获得。
作为本发明进一步改进,所述结构化数据通过预定的数据交互协议从特定领域网站获取。
与现有技术相比,本发明的有益效果是:本发明的搜索引擎系统通过语义模板来分析用户的搜索表达式,以确切地了解用户最想要的需求,并给用户一个能够满足其需求的最适合的方式展现,从而使用户得到良好的使用体验,提高搜索效率,节约网络流量。
附图说明
图1是本发明的搜索引擎系统搜索结构化数据的一具体实施方式的工作原理框图;
图2是本发明的搜索引擎系统搜索通用网页的一具体实施方式的工作原理框图;
图3是本发明的搜索引擎系统搜索结构化数据和通用网页的一具体实施方式的工作原理框图;
图4是本发明的搜索引擎系统的结构化数据存储库中摘要式数据的一具体实施方式;
图5是本发明的搜索引擎系统展现搜索结果的一具体实施方式;
图6是图1所示的搜索引擎系统的结构化数据引入的工作流程图;
图7是图3所示的搜索引擎系统执行搜索的工作流程图;
图8是图3所示的搜索引擎系统对查询表达式进行分析的一具体实施方式中的工作流程图;
图9是图3所示的搜索引擎系统对查询表达式进行分析的另一具体实施方式中的工作流程图;
图10是图3所示的搜索引擎系统对搜索结果进行排序和展现的工作流程图。
具体实施方式
以下将结合附图所示的各实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所轻易做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
图1所示的是本发明的搜索引擎系统100在一具体实施方式中搜集和检索结构化数据的工作原理框图。本实施方式中,网站站长将结构化数据以规范的形式主动提交给搜索引擎系统100,从而搜索引擎系统可响应客户端40的浏览器41请求而提供结构化数据搜索的服务。其中,搜索引擎系统100可以包括一个或多个用来存储和管理结构化数据、并响应搜索请求的网络服务器实体。客户端40可以包括一个或多个用户终端设备,如个人计算机、笔记本电脑、无线电话、个人数字处理(PDA)、或其它计算机装置和通信装置。
这些服务器和终端设备在架构上都包含一些基本组件,如总线、处理装置、存储装置、一个或多个输入/输出装置、和通信接口等。总线可以包括一个或多个导线,用来实现服务器或终端设备各组件之间的通信。处理装置包括各类型的用来执行指令、处理进程或线程的处理器或微处理器。存储装置可以包括存储动态信息的随机访问存储器(RAM)等动态存储器,和存储静态信息的只读存储器(ROM)等静态存储器,以及包括磁或光学记录介质与相应驱动的大容量存储器。输入装置供用户输入信息到服务器或终端设备,如键盘、鼠标、手写笔、声音识别装置、或生物测定装置等。输出装置包括用来输出信息的显示器、打印机、扬声器等。通信接口用来使服务器或终端设备与其它系统或装置进行通信。通信接口之间可通过有线连接、无线连接、或光连接连接到网络中,使搜索引擎系统100、客户端40间能够通过网络实现相互间的通信。网络可以包括局域网(LAN)、广域网(WAN)、电话网络如公共交换电话网(PSTN)、企业内部的互联网、因特网、或上述这些网络的结合等。服务器和终端设备上均包含有用来管理系统资源、控制其它程序运行的操作系统软件,以及用来实现特定功能模块的应用软件。
如图1所示,搜索引擎系统100整体上可分为离线部分和在线部分。在离线部分,系统会事先搜集一批结构化数据,并以某种方式存放在系统中,系统包括结构化数据推送平台15、对引入的结构化数据进行分析的分析器16、记录用户查询信息的用户查询日志数据库、对用户查询日志进行分析的日志分析器18、和结构化数据存储库20。结构化数据的提供者可以为任何人,在本实施方式中,数据的提供者为一些行业网站的站长,站长通过结构化数据推送平台15将结构化数据包推送给搜索引擎系统100。这儿结构化数据平台15是指站长和搜索引擎系统100之间可通过一份预定的数据交互协议来进行结构化数据的交互。本实施方式中,该协议为sitemap(站点地图)协议。具体地,站长会按照sitemap协议的规范将要提交的结构化数据拼装成一份xml(Extensible Markup Language,可扩展置标语言)格式的文件,放到自己的服务器硬盘上,然后将存放地址提交给搜索引擎系统100。
以上为某一招聘网站按照sitemap协议规范提交的xml文件格式的样例。可以看出,文件除了包括所要提交的结构化数据之外,通常还会包含url(Universal Resource Locator,统一资源定位符)链接地址、页面最后修改时间、页面抓取更新周期、以及相对于其它页面的优先权等信息。搜索引擎系统100会根据站长提交的文件地址以及文件中包含的抓取更新周期抓取该文件。抓取更新周期可以为一天、一个小时、或者是每天的指定时间(如每天的4:00、12:00、19:00三个时间点)。在抓取时,会比较本次修改时间和上次修改时间,如果时间一样就会跳过,如果时间不一样,分析器16就会分析这次数据和上次数据的不同,并将更新后的数据存入结构化数据存储库20中。
分析器16用于对获取的结构化数据进行处理,然后将处理后的数据存入结构化数据存储库20中。分析器16对结构化数据的处理包括摘要式处理,如果提交的数据本身属于摘要式结构数据(如图4所示),可作为搜索返回的摘要直接显示,则可以将这种数据直接存储到摘要库中,同时会在网页库中进行备份。分析器16对结构化数据的处理包括将不同格式的数据统一成同一格式。如提交的日期数据格式为1970/05/26,分析器16将其统一为月-日-年的格式,即05-26-1970。分析器16对结构化数据的处理还包括对数据进行分词操作并建立索引库。本领域普通技术人员所熟知的是,通过分词操作可将文本拆分成包含多个词项的集合。分词方法可以是基于字符串匹配的分词方法,或者是基于统计的分词方法。以基于字符串匹配的分词方法为例,分析器16可按一定的策略将待分词的文本与预置的词典中的词项进行匹配,若在词典中找到某个字符串,则匹配成功,即将文本中的该词项分离出来。参考之前的xml文件样例,文件中title是“城市销售代表(温州/宁波)”,则分析器16首先会滤去该条文本中的标点符号,然后通过分词操作获得“城市”、“销售”、“代表”、“温州”、“宁波”等词项的集合。当然,对于同一文本,依据不同的分词策略或词典被切分获得的词项可能会不同,如“销售代表”也可以不被进一步切分。为便于搜索,分析器16会为数据建立倒排索引,即建立索引词项到网页的映射,形成包含索引词表和倒排表的倒排索引文件,然后将该倒排索引文件存储到结构化数据存储库20中的索引库中。
分析器16还用于确定数据的相关度权值。分析器16可以根据数据文本的基础知识的相关性来确定相关度权值。例如,两条商品的结构化数据的索引词项分别包括“手机”和“手机配件”,而用户在搜索“手机”时这两条数据都会被召回,但根据文本的基础知识理解,“手机”的数据比“手机配件”的数据更相关,应该是在返回的结果列表中“手机”的数据比“手机配件”的数据更靠前。因此,在确定数据的相关度权值时,会对“手机配件”的数据作一定的降权处理,以确保相关的搜索结果尽量靠前。分析器16还可以根据数据的特定特征的重要性来确定相关度权值。例如,对于明星的数据,可以根据明星的知名度来确定相关度权值;对于商品的数据,可以根据商品的热销程度或不同类别下的网站权威度来确定相关度权值;对于软件的数据,可以根据软件的知名度、网站权威度、下载速度、最近下载量等来确定相关度权值。对于不同行业的结构化数据,其特定特征不同,而对于这些特征的赋权,可以通过机器学习的方式而不断优化。
结构化数据存储库20中网页库除被用于存储网页和摘要式数据之外,还被用于定期地全量更新索引库,以优化索引结构、淘汰已经失效的数据。如每天凌晨1点,系统会触发全量更新,对网页库中的数据进行分析,并更新索引库。结构化数据存储库20中还包括语义模板。该语义模板是日志分析器18通过分析用户查询日志数据库17后获得的具有一定结构的查询词表达式模板。通常,一个语义模板代表一类相同或近似结构的查询词表达式。配合参照图4所示的明星结构化数据示例。其中第一行为属性标签,如“姓名”、“性别”、“生日”等,接下来每一行代表一条结构化数据中与各属性标签对应的属性值。语义模板中包括有属性标签,例如,查询词表达式为“刘德华身高”,则对应的语义模板为“[D:姓名][D:身高]”,其中包括“姓名”和“身高”两个属性标签。关于如何根据语义模板来进行搜索,后文将结合工作流程做详细描述。
搜索引擎系统100的在线部分主要包括搜索组件11和用户界面13。其中用户界面13通过客户端40的浏览器软件41展现,用于供用户输入查询词表达式,并按特定展现方式显示搜索结果列表;此外,在搜索结束后,还用于记录用户的查询信息,如查询词表达式、搜索时间等,并将其存入用户查询日志数据库17中。搜索组件11用于响应客户端30的搜索请求,将搜索结果返回给客户端40。搜索组件11包括搜索模块111和排序模块112。搜索模块111可以接收用户的查询请求,该查询请求中包含有查询词表达式。搜索模块111根据将查询词表达式与语义模板匹配,以确定相应的语义模板,并据此分析查询词表达式,找到相应的索引词以及每个索引词对应的倒排表,从而获得相关的数据集合。排序模块112根据预先确定的数据相关度权值顺序排列搜索到的数据,而后获得搜索结果列表。后文将会对结构化数据的搜索过程做详细描述。
图2从概念上演示了搜索引擎系统100执行通用搜索的功能组件框图。所谓通用搜索,即检索通过互联网链接结构抓取的网页文档。搜索引擎系统100整体上同样可分为离线部分和在线部分。在离线部分,系统会事先搜集一批网页,并以某种方式存放在系统中,系统包括网页抓取器191、索引器192、和网页存储库30。
网页抓取器191是根据一定的策略通过网页之间的超链接关系来一个个抓取网页的程序。具体的,网页抓取器191从初始的URL库中获得输入,解析URL中标明的网络服务器地址,然后建立连接、发送请求、和接收数据,将获得的网页数据储存到网页存储库30的网页库中并建立本地文档集合,然后从其中提取链接以进行下一步的抓取动作,如此循环往复直到所有的URL抓取完为止。网页抓取器191所依据的抓取策略包括广度优先策略和深度优先策略。索引器192用于对本地文档集合进行分析并建立索引。例如通过分词从文档的全文中抽取词项,然后过滤除去高频词或低频词,以及对词项进行同义词转换以获得索引词集合,最后将网页到索引词的映射转化为索引词到网页的映射,形成包含索引词表和倒排表的倒排文件并存储在网页存储库30的索引库中。
本实施方式中,搜索引擎系统100的在线部分同样包括搜索组件11用户界面13。与图1所示的实施方式类似,用户界面13用于供用户输入查询词表达式,并按特定展现方式显示搜索结果列表。搜索组件11同样包括搜索模块111和排列模块112。搜索模块111可以接收用户的查询请求,该查询请求中包含有查询词表达式。搜索模块111生成查询词表,然后与网页存储库30中的索引词表进行匹配,找到相应的索引词以及每个索引词对应的倒排表,从而获得与查询词相关的网页文档集合。排序模块112根据预先确定的每个文档与查询词之间的相关度将搜索到的网页文档顺序排列,然后将列表返回给客户端。
图3是本发明的搜索引擎系统100对结构化数据和普通网页文档进行综合搜索的一具体实施方式的工作原理框图。本实施方式中,系统100包括若干结构化数据存储库,如招聘数据存储库21、明星数据存储库22、和软件数据存储库23。关于每一存储库中的结构化数据的引入,与图1所示的实施方式相同,后文也会结合图6所示的工作流程做进一步描述。系统100还包括用于存储通过访问互联网链接结构抓取的网页文档的网页存储库30。关于网页存储库30中的网页文档的抓取,与图2所示的实施方式相同,此处不再予以赘述。搜索引擎系统100的在线检索部分10包括搜索组件11、需求分析模块12、用户界面13、和合成模块14。其中搜索组件11同样包括搜索模块和排序模块,其对结构化数据存储库21、22、23的搜索与图1所示的实施方式相同,对网页存储库30的搜索与图2所示的实施方式相同。需求分析模块12主要用于判断查询请求中是否包含结构化数据的查询需求,并当存在该需求时还用于对查询词表达式进行相应处理,后文将会进行详细的描述。用户界面13的功能与上述实施方式中相同,合成模块14用于将结构化数据的检索结果和网页文档的检索结果合成后后通过用户界面13展现给用户。图5揭示一种具体的形式。其中用户界面13包括查询词表达式输入框131、查询确认键132、搜索结果列表133、以及包含在搜索结果列表中的结构化数据结果中间页134。后文将会对合成显示做详细的描述。
图6是本发明的搜索引擎系统中结构化数据引入的一具体实施方式的工作流程图。如前所述,搜索引擎系统100可以通过预定的数据交互协议获取由行业网站提交的结构化数据(步骤511)。然后对获取的数据进行处理(步骤512),包括摘要式处理、筛选式处理、分词和索引型处理。处理后的数据会存入摘要库,并备份到网页库,索引文件存入索引库;系统100还可以定期利用网页库中的数据对索引库进行全量更新(步骤513),以优化索引结构。系统100还可以根据数据文本的基础知识的相关性、和数据的特定特征的重要性来确定数据相关度的权值(步骤514)。此外,系统100还能够通过分析用户查询日志来确定代表同一类查询词表达式的语义模板。
图7为本发明的搜索引擎系统执行网页文档和结构化数据综合搜索的概要的工作流程图。系统100通过用户界面13接收到包含查询词表达式的查询请求(步骤521)。需求识别模块12判断该查询请求中是否包含潜在的结构化数据的查询需求(步骤522),即分析查询词表达式中是否包含一些特定行业数据存储库的特征短语。具体地,需求分析模块12可以先对查询词表达式进行分词以获得若干词项的集合,然后与数据库匹配词典匹配,以确定该词项的集合中是否包含相关数据存储库的特征短语。例如,对于招聘数据存储库21,招聘动词、职位名、或公司名可以作为相应的特征短语;对于明星数据存储库22,明星的姓名或星座可以作为相应的特征短语;而对于软件数据存储库23,软件名、版本信息、下载动词等可以作为相应的特征短语。如果能够匹配特征短语,则表明有需要对相应结构化数据存储库进行搜索;反之,则无。如果需要进行结构化数据的查询,则搜索组件11同时搜索相应的结构化数据存储库20和网页存储库30,并将搜索到的结构化数据集合和网页文档集合分别排序;如果不需要进行结构化数据的查询,则搜索组件搜索网页存储库30以获得相关的网页文档集合,并进行排序(步骤523)。合成模块14将排序后的网页文档和结构化数据合成搜索结果列表,通过用户界面13在客户端40展现(步骤524)。当然,如果不需要执行结构化数据的搜索,合成模块14直接将网页文档列表作为搜索结果列表返回给客户端40。在其它实施方式中,可能搜索到的结构化数据是唯一的,则直接将该数据与网页文档列表合成后返回给客户端40。
图8所示的是搜索引擎系统执行网页文档和结构化数据综合搜索的过程中,对已确定的相应结构化数据库进行搜索的一具体实施方式中的工作流程图。首先,需求分析模块12会判断是否有与查询表达式相匹配的语义模板(步骤531)。如果有,则输出所匹配的模板信息;如果无,则推出结构化数据的搜索。当语义模板确定后,需求分析模块接下来对查询词表达式进行分析(步骤532),该分析步骤包括根据查询词表达式分词后的各词项所在的词序确定相关语义模板中对应的属性标签,并进行标注。例如,“最近北京司机招聘”对应的语义模板为“[D:时间][D:地点][D:职位][D:招聘词];其中,“最近”对应的属性标签为[D:时间],“北京”对应的属性标签为[D:地点],“司机”对应的属性标签为[D:职位]。由于有些词项尚不能符合搜索的要求,或为了获得尽可能全的搜索结果,需求分析模块还会对查询词表达式进行优化(步骤533)。该优化的步骤包括区间筛选操作,如上述的“近期”可以先将其转换为“近一个月”,然后确定最近一个月的日期区间。查询词表达式优化的步骤还包括语义扩展操作。如查询词中包括“百度”,则会进一步扩展成英文“baidu”;又如查询词中包括“招行”,则还会将该词扩展为“招商银行”。查询词表达式优化的步骤还包括更细化的分词操作,如将“高级工程师”进一步切分为“高级”和“工程师”。上述优化操作前及优化操作后所确定的词项,均会传递给搜索组件11来进行检索。搜索组件11所得到的查询词项为与相关属性标签对应的属性值,而所要搜索的数据即包含这些属性值的数据,从而根据这些属性值可筛选出相关的数据集合(步骤534)。
图9所示的是对已确定的相应结构化数据库进行搜索的另一具体实施方式中的工作流程图。有些查询请求的结果比较明确,在这种情况下,用户最想获得的最终的答案,而不是包含查询词的一堆网页。例如,查询表达式是“刘德华身高”,其实用户就想知道刘德华身高的数据,而现有的搜索引擎往往返回的搜索结果是包含“刘德华”和“身高”这两个词项的网页,而网页中可能并不包含,刘德华身高的数据,而且即使包含,用户也需要点击浏览后才能得到其想要的答案。本实施方式可有效地解决上述问题。首先,需求分析模块12确定相关的语义模板(步骤541)。如“刘德华身高”对应语义模板为“[D:姓名][D:身高]”。然后,根据该语义模板分析查询词表达式(步骤542),即分析出所要搜索的属性标签。如[D:姓名]=刘德华,该属性标签已有对应的属性值,因此所要搜索的属性标签为[D:身高],而提交给搜索组件11进行搜索的索引词项为“刘德华”。搜索组件11根据“刘德华”查询倒排表获得相关的数据集合(步骤543),该集合包括如图4所示的摘要性数据,也包括与这条数据关联的url链接。本实施方式中,该数据集合仅包含一条数据,当然在其它实施方式中,数据集合可能包含若干条数据。如查询“白羊座的男明星”,则会获得多个男明星的数据。还是以“刘德华身高”为例,如图4所示的摘要性数据信息,其中关于“刘德华”的数据包括刘德华的身高、生日、星座等,但用户最想知道的还是“身高”的信息,所以搜索组件11会将对应所要搜索的属性标签的属性值提取出来(步骤544),并返回结果。如将刘德华数据中[D:身高]对应的属性值174cm提取出来,然后通过合成模块14返回给客户端40,从而展现给用户最想要结果。
图10是搜索引擎系统对搜索结果进行排序和展现的一具体实施方式的工作流程图。在获得结果数据集合后,搜索组件11会根据各数据相关度的权值来进行相应的排序(步骤551)。如前所述,该权值可以根据数据文本的基础知识的相关性来确定,或根据数据的特定特征的重要性来确定。由于获得的结果数据可能来源于不同的网站,如搜索到的招聘数据来源于不同的招聘网站,在相关度计算时,有可能会出现来源于某一家网站的数据相关度较高,如此会导致搜索结果列表的前几页都有可能是同一家网站的数据,显然,这样无法使用户全面了解所有相关的数据,而且对于其它网站来讲也不公平。为此,在排序后,搜索组件11还会根据一定的策略对排序后的结果执行打散操作(步骤552),即在搜索结果的每一页,均显示来源不同的数据。具体地,可以将结果划分为几段,在每一段结果中可以适当改变数据的顺序,从而确保每一页都有来源不同的数据结果。
本实施方式中,由于需要和网页文档的搜索结果合成显示,在结构化数据集合经排序、打散操作后,合成模块14可以将首页结果列表中最靠前的几条数据(如5条)合为一个中间结果(步骤553),并与网页文档的搜索结果合成后展现(步骤554)。关于该中间结果在整个搜索结果中的位置,可以根据结构化数据的排序算法确定,也可以根据网页文档的排序算法来确定,当然也可以根据除此之外的其它算法来确定。此外,中间结果在被点击后会展现成中间页,该中间页会显示更多的结构化数据结果,如20条。该中间页还提供结构化数据的进一步查询。
本发明的搜索引擎系统通过预定的数据交互协议获取结构化数据,方便了结构化数据的抓取和更新,并提高了搜索引器系统的资源覆盖面。此外,用户在使用通用搜索引擎时,系统能够识别潜在的结构化数据搜索的需求,并对结构化数据和普通网页文档进行综合搜索,从而为用户提供全面、准确的搜索结果。
本发明的搜索引擎系统通过语义模板来分析用户的搜索表达式,以确切地了解用户最想要的需求,并给用户一个能够满足其需求的最适合的方式展现,从而使用户得到良好的使用体验。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
Claims (27)
1.一种结构化数据的搜索方法,所述结构化数据包括与若干属性标签对应的属性值,其特征在于,该方法包括如下步骤:
接收来自于客户端的查询词表达式;
对查询词表达式进行分词以获得若干词项的集合,并与若干结构化数据存储库匹配词典匹配,以确定所述词项的集合中是否包含至少一个结构化数据存储库的特征短语;如果能够匹配特征短语,则对相应结构化数据存储库和网页存储库进行搜索,如果不能够匹配特征短语,则对网页存储库进行搜索,搜索方法包括:
根据所述查询词表达式确定相应的语义模板,所述语义模板包括属性标签;
根据所述语义模板分析所述查询词表达式,以确定所要搜索的结构化数据;
搜索并获取所要搜索的结构化数据。
2.根据权利要求1所述的搜索方法,其特征在于,所述查询词表达式分析步骤包括分析出和语义模板中属性标签对应的属性值,从而确定包含有所述属性值的数据为所要搜索的数据。
3.根据权利要求1或2所述的搜索方法,其特征在于,所述查询词表达式分析步骤还包括根据语义模板分析出所要搜索的属性标签;该方法还包括从所述获取的数据中抽取与所述所要搜索的属性标签对应的属性值,并将所述属性值返回给客户端。
4.根据权利要求1所述的搜索方法,其特征在于,所述查询词表达式分析步骤包括:根据语义模板确定和语义模板中的属性标签对应的词项,并给所述词项标注相应的属性标签。
5.根据权利要求1或4所述的搜索方法,其特征在于,该方法还包括:在查询词表达式分析的步骤后还包括对查询词表达式进行优化的步骤。
6.根据权利要求5所述的搜索方法,其特征在于,所述查询词表达式优化的步骤包括区间筛选操作、和/或语义扩展操作、和/或分词操作。
7.根据权利要求1所述的搜索方法,其特征在于,该方法还包括根据数据的相关度权值来对搜索获取的数据进行排序。
8.根据权利要求7所述的搜索方法,其特征在于,所述数据的相关度权值根据数据文本的基础知识的相关性来确定。
9.根据权利要求7所述的搜索方法,其特征在于,所述数据的相关度权值根据数据的特定特征的重要性来确定。
10.根据权利要求7所述的搜索方法,其特征在于,该方法还包括对排序后的数据进行打散操作。
11.根据权利要求1所述的搜索方法,其特征在于,该方法还包括根据所述查询词表达式搜索获取与查询词相关的网页文档,并将所述网页文档和所述搜索获取的结构化数据合成后返回给客户端。
12.根据权利要求11所述的搜索方法,其特征在于,所述网页文档是通过访问互联网链接结构而预先搜集到的。
13.根据权利要求1所述的搜索方法,其特征在于,该方法还包括生成用户查询日志,并根据用户查询日志获得所述语义模板。
14.一种搜索引擎系统,其特征在于,该搜索引擎系统包括:
结构化数据存储库,用于存储结构化数据,所述结构化数据包括与若干属性标签对应的属性值;该存储库内还存储有语义模板,所述语义模板包括有属性标签;
需求分析模块,用于接收来自于客户端的查询词表达式,根据所述查询词表达式确定相应的语义模板,并根据所述语义模板分析该查询词表达式,以确定所要搜索的结构化数据,以及用于对查询词表达式进行分词以获得若干词项的集合,并与若干结构化数据存储库匹配词典匹配,以确定所述词项的集合中是否包含至少一个结构化数据存储库的特征短语;如果能够匹配特征短语,则对相应结构化数据存储库和网页存储库进行搜索,如果不能够匹配特征短语,则对网页存储库进行搜索;
搜索组件,用于搜索结构化数据存储库以获取所要搜索的结构化数据。
15.根据权利要求14所述的搜索引擎系统,其特征在于,所述需求分析模块对查询词表达式的分析包括:分析出和语义模板中的属性标签对应的属性值,从而确定包含有所述属性值的数据为所要搜索的数据。
16.根据权利要求14或15的搜索引擎系统,其特征在于,所述需求分析模块对查询词表达式的分析还包括根据语义模板分析出所要搜索的属性标签;所述搜索组件还用于从所述获取的数据中抽取与所述所要搜索的属性标签对应的属性值,并将所述属性值返回给客户端。
17.根据权利要求14所述的搜索引擎系统,其特征在于,所述需求分析模块对查询词表达式的分析包括:根据语义模板确定和语义模板中的属性标签对应的词项,并给所述词项标注相应的属性标签。
18.根据权利要求14或17所述的搜索引擎系统,其特征在于,所述需求分析模块还用于对查询词表达式进行优化。
19.根据权利要求18所述的搜索引擎系统,其特征在于,所述需求分析模块对查询词表达式的优化包括区间筛选操作、和/或语义扩展操作、和/或分词操作。
20.根据权利要求14所述的搜索引擎系统,其特征在于,所述搜索组件还用于根据数据的相关度权值来对搜索获取的数据进行排序。
21.根据权利要求20所述的搜索引擎系统,其特征在于,所述数据的相关度权值根据数据文本的基础知识的相关性来确定。
22.根据权利要求20所述的搜索引擎系统,其特征在于,所述数据的相关度权值根据数据的特定特征的重要性来确定。
23.根据权利要求20所述的搜索引擎系统,其特征在于,所述搜索组件还用于对排序后的数据进行打散操作。
24.根据权利要求14所述的搜索引擎系统,其特征在于,该系统还包括网页存储库,用于存储通过访问互联网链接结构而抓取的网页文档;所述搜索组件还用于搜索网页存储库以获取与所述查询词表达式相关的网页文档。
25.根据权利要求24所述的搜索引擎系统,其特征在于,该系统还包括合成模块,用于将获取的网页文档和结构化数据合成后返回给客户端。
26.根据权利要求14所述的搜索引擎系统,其特征在于,该系统还包括用户界面,用于记录用户查询日志,所述语义模板根据用户查询日志而获得。
27.根据权利要求14所述的搜索引擎系统,其特征在于,所述结构化数据通过预定的数据交互协议从特定领域网站获取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110004810 CN102073725B (zh) | 2011-01-11 | 2011-01-11 | 结构化数据的搜索方法和实现该搜索方法的搜索引擎系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110004810 CN102073725B (zh) | 2011-01-11 | 2011-01-11 | 结构化数据的搜索方法和实现该搜索方法的搜索引擎系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102073725A CN102073725A (zh) | 2011-05-25 |
CN102073725B true CN102073725B (zh) | 2013-05-08 |
Family
ID=44032264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110004810 Active CN102073725B (zh) | 2011-01-11 | 2011-01-11 | 结构化数据的搜索方法和实现该搜索方法的搜索引擎系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102073725B (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020083B (zh) * | 2011-09-23 | 2016-06-15 | 北京百度网讯科技有限公司 | 需求识别模板的自动挖掘方法、需求识别方法及对应装置 |
CN105956137B (zh) * | 2011-11-15 | 2019-10-01 | 阿里巴巴集团控股有限公司 | 一种搜索方法、搜索装置及一种搜索引擎系统 |
CN102436502A (zh) * | 2011-12-14 | 2012-05-02 | 清华大学 | 搜索系统 |
CN103365903B (zh) * | 2012-04-05 | 2019-03-26 | 北京百度网讯科技有限公司 | 一种为搜索引擎获取结构化数据的方法、装置与系统 |
CN102799668A (zh) * | 2012-07-12 | 2012-11-28 | 杜继俊 | 招聘职位信息处理方法及系统 |
CN103714078A (zh) * | 2012-09-29 | 2014-04-09 | 百度在线网络技术(北京)有限公司 | 网页更新内容的提供方法、系统及装置 |
CN104077320B (zh) * | 2013-03-29 | 2019-12-17 | 北京百度网讯科技有限公司 | 一种用于生成待发布信息的方法和装置 |
CN104239021B (zh) * | 2013-06-21 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 搜索引擎查询串的生成方法和装置以及搜索引擎系统 |
CN104035955B (zh) * | 2014-03-18 | 2018-07-10 | 北京百度网讯科技有限公司 | 搜索方法和装置 |
CN104035980B (zh) * | 2014-05-26 | 2017-08-04 | 王和平 | 一种面向结构化医药信息的检索方法和系统 |
CN105468621A (zh) * | 2014-09-04 | 2016-04-06 | 上海尧博信息科技有限公司 | 一种专利检索用语义解码系统 |
CN104252533B (zh) * | 2014-09-12 | 2018-04-13 | 百度在线网络技术(北京)有限公司 | 搜索方法和搜索装置 |
CN104268283A (zh) * | 2014-10-21 | 2015-01-07 | 浪潮集团有限公司 | 一种自动解析互联网网页的方法 |
CN104462279B (zh) * | 2014-11-26 | 2018-05-18 | 北京国双科技有限公司 | 分析对象特征信息的获取方法和装置 |
CN104598617A (zh) * | 2015-01-30 | 2015-05-06 | 百度在线网络技术(北京)有限公司 | 一种搜索结果展示方法及装置 |
CN105045684B (zh) * | 2015-07-16 | 2018-06-15 | 北京京东尚科信息技术有限公司 | 索引切换和索引控制的方法及装置 |
CN105183809A (zh) * | 2015-08-26 | 2015-12-23 | 成都布林特信息技术有限公司 | 一种云平台数据查询方法 |
CN105677864A (zh) * | 2016-01-08 | 2016-06-15 | 国网冀北电力有限公司 | 电网调度结构化数据的检索方法及装置 |
CN106547810B (zh) * | 2016-03-31 | 2019-07-02 | 北京安天网络安全技术有限公司 | 一种流量存储快速索引的方法和系统 |
CN106227774B (zh) * | 2016-07-15 | 2019-09-20 | 海信集团有限公司 | 信息搜索方法及装置 |
CN106227891A (zh) * | 2016-08-24 | 2016-12-14 | 广东华邦云计算股份有限公司 | 一种基于模式的商品查询短文本语义处理方法 |
WO2018106261A1 (en) * | 2016-12-09 | 2018-06-14 | Google Llc | Preventing the distribution of forbidden network content using automatic variant detection |
CN108319614A (zh) * | 2017-01-18 | 2018-07-24 | 百度在线网络技术(北京)有限公司 | 信息获取方法、装置和系统 |
CN106874684B (zh) * | 2017-03-03 | 2019-03-12 | 浙江禾连网络科技有限公司 | 一种图像标注系统及方法 |
CN107092642A (zh) * | 2017-03-06 | 2017-08-25 | 广州神马移动信息科技有限公司 | 一种信息搜索方法、设备、客户端设备及服务器 |
CN107193858B (zh) * | 2017-03-28 | 2018-09-11 | 福州金瑞迪软件技术有限公司 | 面向多源异构数据融合的智能服务应用平台和方法 |
CN110363605B (zh) * | 2018-04-10 | 2024-07-26 | 北京京东尚科信息技术有限公司 | 信息搜索方法和装置及计算机可读存储介质 |
CN111897836A (zh) * | 2020-07-03 | 2020-11-06 | 中国建设银行股份有限公司 | 一种搜索系统、方法及存储介质 |
CN112307395A (zh) * | 2020-08-10 | 2021-02-02 | 北京沃东天骏信息技术有限公司 | 用于生成网站地图的方法和装置 |
CN113672825A (zh) * | 2021-09-09 | 2021-11-19 | 北京搜狗科技发展有限公司 | 一种搜索结果展示方法、装置和用于搜索结果展示的装置 |
CN114328521A (zh) * | 2021-12-24 | 2022-04-12 | 中国农业银行股份有限公司 | 索引库的更新方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6697818B2 (en) * | 2001-06-14 | 2004-02-24 | International Business Machines Corporation | Methods and apparatus for constructing and implementing a universal extension module for processing objects in a database |
US8065383B2 (en) * | 2004-05-17 | 2011-11-22 | Simplefeed, Inc. | Customizable and measurable information feeds for personalized communication |
US7933900B2 (en) * | 2005-10-23 | 2011-04-26 | Google Inc. | Search over structured data |
CN100530187C (zh) * | 2007-01-12 | 2009-08-19 | 宋晓伟 | 搜索请求转换为查询语句的方法 |
CN101334784B (zh) * | 2008-07-30 | 2011-06-15 | 施章祖 | 计算机辅助报告与知识库产生的方法 |
CN101582073A (zh) * | 2008-12-31 | 2009-11-18 | 北京中机科海科技发展有限公司 | 一种基于领域本体的智能检索系统及方法 |
CN101526898A (zh) * | 2009-04-17 | 2009-09-09 | 武汉大学 | 面向语义Web服务程序设计的语义数据表示和处理方法 |
-
2011
- 2011-01-11 CN CN 201110004810 patent/CN102073725B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102073725A (zh) | 2011-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102073725B (zh) | 结构化数据的搜索方法和实现该搜索方法的搜索引擎系统 | |
CN102073726B (zh) | 搜索引擎系统的结构化数据的引入方法和装置 | |
CN102004794B (zh) | 搜索引擎系统及其实现方法 | |
US9384245B2 (en) | Method and system for assessing relevant properties of work contexts for use by information services | |
CN1934569B (zh) | 集成有用户注释的搜索系统和方法 | |
CN102822815B (zh) | 用于利用浏览器历史进行动作建议的方法和系统 | |
US7895595B2 (en) | Automatic method and system for formulating and transforming representations of context used by information services | |
CN100501730C (zh) | 提供具有搜索查询拓宽的用户接口 | |
CN101452453B (zh) | 一种输入法网址导航的方法和一种输入法系统 | |
CN100394427C (zh) | 网络搜寻系统及方法 | |
CN102253936B (zh) | 记录用户访问商品信息的方法及搜索方法和服务器 | |
CN100514323C (zh) | 用于自动提取副标题信息的系统和方法 | |
US8239387B2 (en) | Structural clustering and template identification for electronic documents | |
CN102737021B (zh) | 搜索引擎及其实现方法 | |
EP1587009A2 (en) | Content propagation for enhanced document retrieval | |
US20070198727A1 (en) | Method, apparatus and system for extracting field-specific structured data from the web using sample | |
CN102722498A (zh) | 搜索引擎及其实现方法 | |
CN101114294A (zh) | 自助式智能垂直搜索方法 | |
CN103425714A (zh) | 一种搜索方法和系统 | |
CN110188291B (zh) | 基于代理日志的文档处理 | |
CN102722501A (zh) | 搜索引擎及其实现方法 | |
CN108416034B (zh) | 基于金融异构大数据的信息采集系统及其控制方法 | |
CN102722499A (zh) | 搜索引擎及其实现方法 | |
JP4962980B2 (ja) | クリックログを用いた検索結果分類装置及び方法 | |
JP2011034399A (ja) | Webページの関連性抽出方法、装置、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |