搜索引擎技术在网站图书检索中的应用
2014-08-13金安
金安
出版社网站建设的核心价值在于及时、全面、准确地发布本社的图书产品信息,并将其传递给目标客户,从而发挥网络营销作用。随着出版社网站建设的深入,产品信息愈加丰富,网站建设水平将更多的体现在对信息的组织和其所提供的使用功能上,最终目标是提高信息传递的效率。
对于一个大型的科技出版社,其产品涉及的学科门类纷繁,品种数量众多,内容层次不一;同时,读者群体遍布科学技术的各个领域,且专业分工明细,但阅读能力却分布于不同层次。因此,读者在寻找适合自己的图书产品时,就产生了“多对多”的矛盾,信息传递在此出现了“瓶颈”。如何突破这个“多对多”的瓶颈,实现“一对一”,即一位读者一次性找到符合检索定义的一类图书产品的所有信息,成为本研究的目标。
几年来,我们围绕网站信息组织和功能技术两个方面开展工作,以期实现上述“一对一”的目标。在信息组织方面,完成了产品分类与导航体系的建设。在功能技术方面,开展了搜索引擎应用技术研究,并对网站内容进行了结构化处理(碎片化)。这些实践探索,已经取得了初步成果。
传统的图书检索方式,是基于已知书名的,不外乎书名查询和组合查询两类。其中组合查询需要明确的查询条件,一般只适用于条件限制严格和已知信息较丰富的情况,其准确性与查询条件的多少成正相关,在并不确知书名或其他条件信息的情况下就不适用;且如果查询条件之一输入有误,就得不到预期的结果,因此有较大局限性。而书名查询又因为有以下两类问题,而存在较大的不确定性。
书名中不一定包含内容主题,或是书名与内容无直接关联。例如《谁动了我的奶酪》并不是一本关于食品的书,而《国家健康报告》也与体检或医疗无关。此外,还有许多专业性的词汇也不会出现在书名中,因为在确定书名时需要考虑有较广泛的读者覆盖。
书名中的一些连接字(或符号)输入的不准确,会导致检索没有结果,尽管这些并非关键字,如“和、与、及、的”等以及“破折号(——)、顿号(、)、冒号(:) ”等。
出版社的生存与发展主要依靠新的出版物,因此出版社网站的宣传营销工作应该主要围绕新书展开,所以新书推介功能就显得尤为重要。但这与已知书名的传统查询方式产生了矛盾。如何响应读者基于内容主题(而不是书名)的检索需求,并能够快速地提供相关度很高的查询结果,是我们潜心钻研的课题。为此,我们开发了自己的图书搜索引擎。
图书搜索引擎是一个网络应用软件系统,它能够接受用户通过浏览器提交的搜索文本(词组或短语),在可接受的时间内返回一个与该用户搜索匹配的网页信息列表,这个列表中的每一个条目至少包含书名及其网址链接,同时依其相关程度自动排序。
搜索引擎技术在大型电子商务网站应用的比较普遍,但在出版社网站上却几乎没有看到,读者比较在这两类网站上的购书体验时,明显感到出版社网站的功能落后。其实,到访出版社网站的人,大多是受到出版社品牌感召的忠实读者,奔着获得更具专业特色的经典图书而来。为他们提供优质高效的检索工具和服务,不仅是出版社品牌的直接体现,更起到了留住这部分忠实读者,同时减少潜在客户流失的“吸附”作用。努力提高网站的“粘度”是我们的重要理念之一,开发适用于出版社网站的图书搜索引擎,是该理念指导下的一个重要技术措施。这项工作有三个关键要素:
匹配——相关性评价。即如何定义和评价我们认为内容与搜索条件匹配的那些图书与该搜索条件之间的相关性程度。这种评价必须是量化的,否则将无法进行精确的比较判断。将书的内容(及其他属性)纳入搜索范围比仅从书名中搜索,准确程度有了质的飞跃,这是决定搜索质量的关键要素。量化算法随之成为搜索引擎的技术核心。
可接受的时间——响应时间。对于在Web上向广大用户提供服务的软件来说,响应时间不能太长,通常可以接受的量级是“秒”级。
取词——自动分词(切词)处理。用户的搜索条件一般是词的组合或自然语言短语,搜索引擎必须理解这些对搜索条件的描述。但是汉语不同于英语,英语的词与词之间以空格分开,汉语的词之间没有分隔符,这对计算机处理造成了困难,所以必须使用中文信息处理系统——自动分词系统,才能将一串字符分解为若干规范化的主题词,同时也过滤掉当中的无价值字符。同理,对图书内容的加工处理也是如此。
由此可知,应用搜索引擎技术,必须首先对网站的图书内容等信息,进行结构化的加工处理,就是大家常说的“碎片化”,这是不可或缺的基础性工作。
下面谈谈搜索引擎到底是如何工作的,大家就知道它为什么能够大幅提高搜索的质量和效率了。其工作流程依次分为三个步骤:
信息采集。相对于流通领域的电商网站而言,出版社网站具有得天独厚的内容资源优势,可用于支持自己产品的精确定义。这其中不仅包括内容简介、章节目录、样章(甚至全文)等可以用于词频的定量计算,还有CIP数据中的主题词、分类号,以及作者名、自定义分类名等定性资源,这些资源可以为相关性评价提供完整的数据支持。因此,广泛地采集这些信息,充分利用本社产品的数据资源,构建全方位的评价体系,是保证和提高搜索引擎质量的基础与前提。同时,通过保持较高的采集频率,及时将新书信息抓取入库,还可以达到宣传推广新书的目的。
预处理。这是生成中间数据的准备过程,也是运算量最大的阶段,包括建立内容索引库和倒排索引表。其工作过程是将一本书的可取内容和属性信息,转化为一组权重不同的索引词的集合,然后将书到索引词的映射转化为索引词到书的映射,生成倒排文件(包括倒排表和索引词表),用于下一步的检索服务。其中由内容到索引词集合的转化,就是我们说的“碎片化”。这一过程既需要中文自动分词技术的支持,也需要对分词对象选择和权重设置等具有一定的经验。
检索服务。这是直接与用户交互的过程,也是限制搜索引擎性能的瓶颈。该过程包括四个环节:接受用户输入的搜索主题词或短语,运行检索并获得相应的匹配结果,计算评价匹配者的相关性程度,最后依次显示给用户。即,首先对用户输入的搜索语句进行切分取词,然后分别从索引词表和倒排索引表中检索出包含这些主题词的图书记录,再依据各主题词的权重进行量化计算和汇总比较,从而确定所有可匹配图书的相关性程度排序,最后生成有序的结果列表页面显示给用户。其中起决定性作用的是相关性评价算法,它的优劣直接关系到搜索引擎的质量和效率。
评价算法与出版物的特性及内容有密切关系,需要结合本社特点反复调试,通过不断优化,一定可以摸索出最具本社产品特色的算法模型。下面介绍一下我社建立相关性评价算法模型的思路与经验:
该模型采用计分方式,依得分多少分段排序。得分的计算是依据所匹配词的词频和权重,分级的依据是匹配度,是根据经验修正后建立起来的统计模型。
首先,根据出版社网站的产品数据结构和功能架构,采集尽可能多的可用于描述图书内容的信息,如章节目录、内容简介、样章、CIP数据中的主题词和分类号、作译者名、自定义分类名等,并将它们分为定量词和定性词两类,分别赋予不同的权重,而具体的权重值需根据经验不断修正,一个基本原则是定性词的权重分略高于定量词最高词频的平均值。
然后,计算出所匹配词的权重与词频的乘积之和,同时记录下匹配度——匹配词数与输入分词总数之比,再依据这两项数据进行综合评价,得到相关性分级结果列表,即匹配度为100%的按得分由高到低在前面依次排列,匹配度低于100%的也依得分多少,但排在后面。
这一模型从我社自身内容特点出发,经反复修正和优化,已经达到如下三点设计目标:
保证相关度高的图书全部出现在列表的第1-2页;
在线使用时,每次检索耗时0.5-2秒,平均耗时1秒;
相关度排序基本与客观实际一致。
搜索引擎技术的应用开发,至能够成功上线运行的程度,还只是完成了基本任务。其后续的优化和运行维护工作还有许多,这项长期性工作主要包括两个方面:
新书入库和新词识别。不断地推出新书,是出版社网站的任务使命。除了在相关频道进行宣传推荐以外,能够及时出现在搜索引擎的结果列表中,也是很有推荐意义的。这就需要我们的预处理工作必须与新书上线同步进行,如果网站每天都有新书发布,那么,预处理工作就需要每天进行。由于预处理的运算量非常之大,所以一般应安排在夜间自动运行。以我社在库品种为例,预处理得到的索引记录已达350多万条。同时,新书中涌现的新词也十分重要,只有及时地将这些新词识别出来,才能保证以后此类新书的内容可以被正确切分。
算法和权重值的不断优化。随着社会和科技进步以及出版社的发展,出版领域将不断扩展。而每当出版物涉及一个新的范畴以后,必然带来内容结构和特点的变化。因此之前确定的算法、参数、权重值等都需要同步进行适应性调整。另外,随着信息技术和人工智能的发展,算法和建模理论正在迅速完善和提高过程中,这将给我们提供许多指导和借鉴,优化工作就有了方向。所以,运维工作的另一方面内容就是应当根据产品结构的变化及技术的发展,适时地对搜索引擎的效果和效率做出评价,以选择时机进行优化升级,使其不断完善和提高。
出版社网站的图书搜索引擎技术开发,是我社在数字出版理念指导下,进行的一次改善读者产品搜索体验的实践,从中积累了经验,达到了预期目的。但同时也感到,还有许多可以继续努力提高的空间,随着信息技术的进步以及各方面条件的完善,我们有信心取得新的飞跃。
(作者单位系科学出版社)