“碎片化”在网站图书检索中的应用
2014-10-30金安
金安
伴随着读者在互联网上以自定义主题(词组或短语)为条件,进行相关图书信息搜索的需求越来越多,传统的检索方式由于不适应自然语言的结构而明显落伍,用户希望网站的搜索引擎,能够提供基于内容的、更新更快且更加完备的相关书目信息资源,这就对我们出版社网站的信息架构——信息的组织方式和处理模式——提出了新的挑战。
我们知道,读者自定义的搜索主题是用自然语言表述的,因而必然是由字和词按一定规则构成,当然还可能包含一些符号或标点。再观察我们的图书内容,也同样是由这些基本元素构成的。要想在两者之间建立起联系,并寻找对应关系,就应当从这些基本单元入手。由于汉语中的词比单个字具有更加完整的含义,所以我们把词作为基本的构成单元对待。将描述或构成图书内容的文本,拆分成具有独立含义的词,是寻找内容相关性的基本前提。而这一过程,就是我们所说的“碎片化”。那么,需要对哪些内容对象进行碎片化?碎片化过程依据什么进行?使用什么工具进行碎片化?到底碎片化到什么程度?碎片化是如何影响搜索引擎性能的?碎片化加工可以一劳永逸吗?本文分别来探讨这些问题。
一、碎片化对象选择问题
碎片化就是对文本进行切分,作为一种技术手段,其应用对象的选择一定要与功能目标相一致。所以,我们首先要选择能够最全面描述图书内容的文本,这就是章节目录,其次是内容简介。因为目录中有的词,正文中一定有,而且多是比较重要的词。这对于以内容检索为目的的相关性判断,就可以达到基本要求了。当然,如果有全文,可以使检索的范围更全面,以致不漏掉任何一个词,但同时也会使运算量成几何级数的递增,这一点与数字出版的要求不同,在线搜索功能对性能近乎苛求,所以我们未将正文列入切分范畴。还有,如果有样章,我们可不可以将其作为碎片化对象呢?这要具体分析一下是什么样的样章。一般科技类图书的第一章大多为概述,其后的各章将分别论述很具体的内容。那么,这类概述类的章节最适合作为碎片化对象,而其他表述具体内容的章节,会因其只突出部分特定内容,而造成与该内容相关性高的误判,所以不应做这种选择。还有一个要点值得注意,就是对于整个系统而言,选择对象的原则只能有一个。
二、碎片化过程依据什么进行
即对内容切分时应依据什么标准。要想让计算机像人一样,在充分理解自然语言的基础上,对文本进行合理切分,目前还有很长的路要走,这是计算语言学或人工智能研究的课题。但是,不完全理解并不代表不能切分,我们可以根据规则和经验,依据已有的资源,在掌握一定的自然语言规律的基础上,完成基本正确的切分。虽然这种切分不是基于对自然语言的充分理解,会有一些歧义产生,但应用实践的结果表明,对于本文探讨的以内容检索为目标的应用,这种切分方式是可以满足功能需求的,准确性是我们可接受的。我们在吸取前人经验的基础上,实践过两种切分方式,并分别应用于不同场合。
基于字符匹配的切分方法。即按照一定的策略,将对象文本中的汉字组合(字符串)与一个充分大的词典中的词条进行对照匹配,如果能在词典中找到完全相同的字符串,就能识别出这个词。当然,上述的取词策略非常重要(以后还会谈到)。
基于频率统计的切分方法。直观的看,字的稳定组合就形成了词,因此在上下文中,相邻两字同时出现(共现)的次数越多,就越有可能是词。所以字与字相邻共现的频率能够很好的反映它们成词的可信度。实践中,我们可以通过概率方法将这种相对频度计算出来,当共现概率超过一定数值时,我们就认为这些字构成了一个词。这里有一个前提需要大家注意,就是用于计算共现概率的样本文档(我们称之为语料库),必须与我们产品的实际内容相吻合,这一点很重要。
上述两种方法为我们进行内容信息的碎片化处理,提供了可行的依据和标准。
三、使用什么工具进行碎片化
在碎片化的方法和参数确定下来以后,我们就可以进行切分操作了,这里离不开两个重要工具。
词库。这是切分时依据的标准。汉语词汇是海量的,我们可以把它分为通用词和专用词两大类,因而就需要有通用词库和专用(业)词库。一般通用词库可以选择标准的或权威机构提供的,词汇量6万-10万个的基本可以够用。
中文自动分词系统。这是一个计算机文本处理的软件工具。我们利用它在内容切分过程中实现如下功能:将文本中两个标点符号之间的汉字,按照我们定义的标准或规则,切分成若干个独立的词汇,并过滤掉其余无意义的单字,再将多次出现的词汇合并,同时记录下该词出现的频率。这样,原本连续的文档,就分解为若干独立的词汇及词频记录,形象地表述就是被“碎片化”了。当然,上述切分是有不同方式的,从左向右的逐字取词称为正向匹配,而从右向左的称为反向匹配,实践表明,反向匹配的正确率高于正向匹配,歧义出现的也比较少。还有,根据取词长度的不同,存在由最大匹配至最小匹配的多种组合方式。在最终决定采取何种切分策略时,应本着在运算速度可接受的前提下,尽可能提高分词质量的原则,不过这可能需要反复进行摸索与评测。
四、碎片化的程度应如何把握
搜索引擎的工作机制是将我们碎片化了的内容,与用户输入的描述搜索条件的语句进行对比匹配,因而,也必须对该搜索条件语句进行碎片化。由于这些条件都是以自然语言形式表述的,所以,要做到完全正确的切分难度很大。一旦切分错误,将带来后续检索和判断的一系列问题,无法保证搜素引擎的质量。鉴于目前的计算机技术尚不能做到对自然语言的完全正确理解,所以,我们只能采取充分匹配的方法,穷尽从最小匹配至最大匹配的所有可能,而不漏掉任何一个词。我们称之为“多粒度”方法。当然,这个原则也必须同样应用到我们对内容的碎片化上。之后的问题,就是如何确定最大匹配值,即最大词长,这与我们的内容有关。大多数情况下,到访出版社网站的客户,其对内容的需求多是与该社出版领域相吻合的,就是说,用户的搜索习惯与出版物的内容特点是有相关性的。所以结论是,碎片化的程度,还要兼顾本社产品的内容特点。
五、碎片化对搜索引擎性能的影响
碎片化是搜索引擎进行检索和判断的基础和前提。经过基本的碎片化加工以后,我们可以从出现频率的角度,定量地考察各相关词汇(称为索引词)与内容的相关度,但实践表明,这还不够。由于我们并没有对正文的全部进行碎片化处理,就忽略了章节内容(长短不同)对图书整体相关性产生的影响。因此,我们需要挖掘一些能够定性描述图书核心内容的关键词,来补偿或校正这一影响。既然这些词起的是定性作用,那么我们就要赋予其较大的权重,相当于它们所代表的内容以高于平均值的频率出现在总体内容中。实践证明,这一措施对提高搜索引擎的质量做出了重要贡献。那么,到哪里去提取这些描述图书核心内容的关键词(也称为特征项)呢?我们把焦点瞄准了网站的产品数据库。经筛选,我们把CIP关键词、中图法分类、自定义分类、作译者名、书名、ISBN列为特征项,进行同样的切分,并赋予高权重。因而,我们所讲的碎片化是对所有内容(包括定量的和定性的两部分)而言的广义碎片化。总而言之,碎片化的方式、对象和标准对搜索引擎的性能有重大影响。
六、碎片化是与内容生产永久相伴的
碎片化加工不能一劳永逸,只要新书的生产不停顿,就不断会有新的内容,在经过碎片化处理后,被加入到索引数据库中,否则,搜索引擎就无法检索到它们。正是由于这些新书不断地出现在搜索引擎的结果列表中,网站的新书推荐有了新的途径。因为在新书上市的初期,读者在尚不了解新书信息的情况下,是不可能用书名去进行查询的。而当他们进行主题搜索时,无意中发现了许多新书信息,这势必引起读者的关注,使他们产生阅读的冲动。所以,碎片化处理已成为与新书发布同步的网站日常作业。同时,新书内容中不断涌现的新词,也是我们丰富和完善专业词库的主要来源。
碎片化作为内容结构化处理的一种方式,是我们在出版社网站上的首次尝试,还仅仅是一些探索和实践。在其构思、设计、测试、实施和运维的过程中,我们总结出如下三点基本经验。
专业词库建设,是最重要的基础工作,必须持之以恒的做好。
词库是碎片化加工的必备工具,如果没有专业词库,就无法保证具有自身特点的内容被正确的切分,搜索引擎将显得很不专业,无法发挥出版社网站的资源优势。而专业词库的建设可以有依据词典生成、购买定型产品和基于语料库的统计识别三种途径。我们选择的是第三种,即构建自己的语料库用于词频统计及筛选,该方法不仅花费少、影响因素少,而且能够最大限度地利用本出版社的内容资源,也最切合自身内容特点,并且为以后的扩充和升级词库创造了条件。
必须结合出版社自身特点,并不断总结经验,优化完善。
任何新理论新技术,都不能拿来机械地直接使用,而必须考虑应用对象的特点。出版社有自己的出版领域、产品特色、内容特点、资源形式、数据结构、人才优势,这些都是确定方案及参数的依据和基础。关键在于如何与技术设计相结合,经不断总结经验、测试修改、优化完善,一定可以达到实用化水平。但这是一个逐步实现的过程。
理论与实践、信息技术与出版业务必须紧密结合。
信息技术飞速发展,我们应不断学习和掌握新的理论知识,同时又要敢于实践,才能将创新思想转化为创新实践,从而推动行业的信息化水平不断提高。同时,新技术的应用还要找准突破点,在出版业务有需求、信息技术有可能的结合点上下功夫,就能够取得成功。在开发过程中,既要有突破性的创新逻辑构思,又要兼顾业务需求在模型算法中的合理实现。
网站信息的碎片化加工,是我们在内容结构化处理领域的一次尝试,其目标是为搜索引擎提供结构化的数据基础,是在探索和实现计算机理解自然语言——这一宏伟愿景过程中的一次实践探索。 (作者单位系科学出版社)