马 爽
(中国社会科学院 民族学与人类学研究所,北京 100081)
网络搜索引擎一般由搜索器、分析器、索引器、检索器、用户接口五个关键部分组成(见图1)。按照网络搜索引擎结构,针对少数民族文字的特点,分别对少数民族文字网络搜索引擎开发的难点问题与关键技术进行阐述。
图1 网络搜索引擎结构图
互联网上的信息是海量且动态的,这时就需要利用搜索器在互联网上不停地漫游、发现和搜集信息,并将信息储存到本地。由于搜索器是自动且有一定策略的程序,故称其为Robot或Spider,为了提高工作效率,搜索器通常采用分布式、并行计算技术。虽然目前互联网上的少数民族文字网页数量多、更新快,但是遇到汉文、少数民族文字以及其他文字夹杂出现,如网页标题是少数民族文字,而内容是大量的汉文等类似情况时,如果搜索引擎不对网页分析判断而全部进行搜集,将导致采集结果的不理想。因此必须首先对网页文字进行识别和判定,以提高采集的准确率,需要根据少数民族文字的自身特点选择一些关键特征来进行判断。搜索器中主要涉及的关键技术有网站自动发现与采集技术,以及网页文字识别技术。
网站的自动发现需要建立搜索引擎爬行器,首先将已知的少数民族文字网站进行统计建表,收集它们的种子URL地址(首页地址)等信息。爬行器首先获取网站的首页,对页面中所链接的网页按照少数民族文字网页识别方案进行识别,自动抓取所需网页并利用正则表达式解析HTML 网页完成网页采集工作,最后通过选择适当的存储策略建立少数民族文字网页数据库,完成网页的存储工作。
在浩如烟海的网页中,搜索引擎首先需要识别和判定网页所使用的文字,并从众多网页中过滤掉非选定的文种,如中、英文或其他少数民族文字等。有如下几种方法:根据HTML中的字体信息判定:检索网页源代码的字体属性font face,css标签font-family中是否存在少数民族文字字体,如国内藏文网站的编码大多是班智达和同元编码,班智达编码藏文网页常见字体类型有:BZDBT,BZDMT,BZDHT等;同元编码藏文网页常见字体类型有:TIBETBT,TIBETFG,TIBETCT,TIBETZT,TIBETHT 等;藏文编码字符集扩充集A 的常见字体有: TibetABt,TibetAHt,TibetAYt等;国外的Sambhota 编码常见的字体类型有 dedris-a,deris-b 等。如果存在某种少数民族文字字体中的一种,则判定该网页为此种少数民族文字网页。但是在实际操作中,在源代码中规范标注字体信息的仅为少数,因此可以利用少数民族文字本身的特点在源代码中查找该种少数民族文字高频字进行判定,如藏文可利用音节点和高频音节是否满足一定阈值来判定是否为藏文网页。
搜索器储存的本地信息将利用分析器进行分析以便索引,搜索引擎检索结果的质量一定程度上取决于检索词汇分词的准确度。对于英文来说一个字就是一个词, 而且词与词之间有空格作为标记, 所以计算机分析的时候不需要再做分词。而少数民族文字情况较为复杂,如维吾尔文与英文类似,采用空格作为自然分隔符,而藏文等少数民族文字的词汇之间没有明显的分割标志,词汇的界定缺乏自然标准,因此在信息检索时应首先解决检索词的切分问题。
分析器主要涉及的关键技术是自动分词技术。分词是搜索引擎处理用户检索要求的第一步,分词的准确度直接影响着搜索引擎检索结果的质量,自动分词技术也是少数民族文字信息处理中一项不可缺少的基础性工作。少数民族文字需要按照不同文字的特征分别进行分词技术的研究,如维吾尔文是一种黏着性语言,这一类语言中,词是最小的独立运用的语言单位,维吾尔文句子是由单词和单词组成,单词间以空格分开,从右向左书写,所以分词方法跟英文一样用空格来分开;又如彝文可通过建立制定分词词表,采用正向最大匹配算法实现自动分词技术[1];再如藏文的分词经历了字典匹配、规则、深度计算等过程,研究者提出了藏文分词的一些算法、歧义和未登录词的解决、一种基于格助词和连续特征(BCCF)的书面藏文自动分词方案、藏文自动分词中紧缩词的识别与还原、融合无监督特征的藏文分词等方法,实现了SegT,班智达藏文自动分词、央金藏文分词等系统,并制定了《信息处理用藏文分词规范》国家标准[2]。
由索引器将储存的信息抽取出索引项,包括网页的URL、编码类型、页面关键词、更新时间等建立索引数据库。我国虽然已经发布了一系列少数民族文字信息技术的国家标准并参与制定了相关的国际标准(ISO/IEC 10646),但由于旧标准的优势和人们的使用习惯等原因,新标准的推行仍然是一项长期的工作,比如目前藏文在国内流行的主要有华光编码、班智达编码、同元编码等,国外有Sambhota,TIDMBA等多种编码体系。少数民族文字网页编码的多样性和复杂性,对网页的存储和资源数据库的构建造成了很大的困难。与此同时,少数民族文字编码间的相互转换也成了阻碍民族文字网络搜索引擎开发的众多问题之一。索引器主要涉及的关键技术是网页文字编码识别技术和网页文字编码转换技术。
可按照如下几种方法对网页文字编码进行识别与判定:
(1)非重叠区域的编码识别方法:一般的少数民族文字的各种编码间通常具有交叉和重叠的区域,可利用网页的编码包含在非重叠区域中的概率是否满足阈值来判定其字符是否属于该编码字符集;
(2)高频编码出现概率的编码识别方法:可先对每种编码进行分析统计,在文本中查找某编码的高频编码,如果出现概率满足一定阈值,则判定为该种编码;
(3)基于贝叶斯分类的编码识别方法:通过计算网页中存在的特征字符串编码概率的大小,对应概率越大,就越可能属于某种编码类型。
由于少数民族文字各种字符编码方案之间互相不兼容,使用不同输入系统输入的文档和网页不能相互转换共享,众多的字符编码方案对少数民族文字信息化进程带来了很大的障碍,公众迫切需要编码转换软件来实现少数民族文字各种字符编码方案的互相转换,同时也需要利用编码转换工具将众多的编码转换成标准的编码类型,以便于最终网页的统一存储。如蒙古文的一种编码转换方案为:可先把蒙古文单词用最小字素串表示,然后根据蒙古文正字法词典所标注的发音把每一个单词转换为名义字符串表示,再根据名义字符串与国际编码一一对应的规则,把该蒙古文单词表示成国际标准码字符串[3]。
检索器根据用户输入的关键词在索引数据库中查找出相关文档,进行文档与查询的相关度评价,返回相关度符合某一阈值的文档集合,并对将要输出的结果进行排序。为了提高检索结果的质量,能够更准确更快地将结果信息反馈给用户,还应该对检索结果进行排序工作,从索引库中查询出文档后,如何进行文档与查询的相关度评价,针对少数民族文字的特点选择何种排序算法也是难点之一。检索器主要涉及的关键技术是查重技术和排序技术:
(1)查重技术:在抓取和解析 HTML少数民族文字网页的时候,如果只是进行网页的URL查重,那么对于如网站转载信息、网页的URL不同,但是内容却相同的网页大量存在,这就需要提取网页特征对网页的相似度进行检测计算,用以去掉重复的网页检索结果。
(2)排序技术:为了提高检索结果的质量,能够更准确更快地将结果信息反馈给用户,还应该对检索结果进行排序工作,目前比较流行的网页排序算法有:词频位置加权排序法,Direct Hit算法以及PageRank 算法等,这需要在以后的工作中通过比对和改进排序算法来优化检索结果。
用户接口的作用是为用户提供可视化的查询输入和结果输出界面,提供用户相关性反馈机制。在输出界面中,综合相关信息和网页级别形成相关度数值, 然后进行排序, 相关度越高,排名越靠前,最后由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。目前大多数支持多语言检索的搜索引擎,实质上只是多个单一语言模式检索的融合,用户输入的查询语言与返回的检索结果语言必须一致,如果需要多语种的网页检索结果,则必须输入多种语言,这无疑加大了用户搜索的困难。只有实现输入单一语言,检索多语言的结果才可以保证检索结果的全面。
用户接口主要涉及的关键技术是跨语言信息检索技术。为了跨越语言上的障碍,消除因语言差异而导致的信息检索困难,从而诞生了跨语言信息检索技术的概念,跨语言信息检索(cross-language information retrieval)是指用户以自己熟悉的一种语言提交检索,系统检索出符合用户需求的包含多个语种的相关检索结果。系统可将用户提交的查询词翻译成系统支持的多种语言, 再对不同语言的信息进行查询。如用户需要利用中文作为查询词检索出相应的藏文和英文结果,系统可按照词典将用户提交的中文检索词翻译成目标语种藏文和英文,然后进行检索,检索的结果页面也应按照需要翻译为相应的语言。
综上,少数民族文字信息处理技术还处于发展前期,标准化的工作尚未完成,目前许多网站所使用的文字编码互不相通,各网站之间不能兼容,网站开发水平参差不齐,页面代码不够规范等等,都使得少数民族文字搜索引擎的开发比汉文搜索引擎的开发更为困难,开发一个检索结果准确、全面的少数民族文字网络搜索引擎对少数民族文字互联网资源的检索以及民族问题舆情分析等方面的工作都有着重大意义。少数民族文字网络搜索引擎距离成为统一稳定的多语种语言平台仍需进行大量工作,如提高网页文字及编码识别的准确度,现有网页识别以及编码识别算法中阈值的选取都是依靠现有的统计资料在试验中人为随机取值,然后做对比,选取合适的值。这和网页样本数量有很大的依赖关系,可能在样本量增多和其他变动的情况下,阈值的大小和适合度也会随机改变。因此在后续的工作中如何改进网页识别算法,使其对阈值的选取依赖性变低,对于提高网页识别的准确率很重要。再如提高跨语言信息搜索的准确度:用户查询语句依靠字典翻译的方式虽然直观、简便,但是由于用户提交的查询提问式通常很短,缺乏必要的语境,翻译的准确性尚不能令人满意,这时需要通过采取一定的策略, 在忠于用户的查询目的前提下,对其查询提问式进行适当扩充。除查询翻译之外,还可以利用文献翻译,非翻译方式(潜语义索引),以及基于本体的方法来提高查询的准确度。