于再富,袁 满
(东北石油大学 计算机与信息技术学院,黑龙江 大庆 163318)
信息检索是人们获取信息和知识的主要途径,随着网络的高速发展和普及,当今社会已经进入智能时代和大数据时代,信息已从以前的单一性,变为多元化、海量化。如今人们对信息的需求急剧增加,如何能在最短的时间内得到全面、准确的结果,成为人们关注的焦点。与此同时,随着经济全球化的发展以及世界各国频繁交流沟通,各种文化彼此之间相互交流、相互融合。人们如何快速准确的得到并理解非母语的信息成为传统信息检索面临的难题。因此跨语言信息检索(CLIR:Cross-Language Information Retrieval)随之产生,跨语言信息检索是指以一种语言检索出其他语言信息资源的检索方法[1]。在国外,康奈尔大学早在1969年就进行了跨语言信息检索实验,但是该术语首次出现在文献标题中则是计算机情报检索专家Salton教授在1973年发表的一篇论文[2]。后来,Monti等[3]通过知识驱动的方法建立了一种基于本体的跨语言信息检索系统,其可半自动地将自然语言映射到形式语言,实现了多种语言的自然语言查询翻译。Di等[4]研究设计了在特定语言的本体中映射数据和元数据,并用英语和意大利语做实验,验证了方法的可行性。国内,对于跨语言信息检索的研究主要集中在构建语义模型方面,郑德权等[5]根据本体和统计学的方法构建了语义模型,并利用NTCIR-3 workshop中英数据集进行试验,取得了不错的结果。司莉等[6]通过本体及检索功能模块设计并建立了一个基于数字出版领域本体的中英跨语言信息检索模型,并且试验成功。
目前,国内外对跨语言信息检索系统实现方法虽然多种多样,但大部分主要以本体论和统计学的方法构建跨语言信息检索模型。基于统计学的方法主要可以解决源语言与目标语言映射时的歧义问题,但不能保证具有语义性,由于本体可以在语义层面对概念进行描述,因此笔者综合了两种方法,结合统计学和本体论各自的优点建立跨语言信息检索模型。
1.1.1 跨语言信息检索的实现方法
不同语言之间的匹配问题,即如何将源语言与目标语言建立准确的映射关系是跨语言信息检索的难点问题。目前,跨语言信息检索中提问词与文档匹配技术主要分为4类[7]。
1)文档翻译。此方法是将文档翻译成为用户输入的查询源语言。此方法解决了用户对目标文档不能阅读理解的问题以及语境问题。由于翻译文档工作量巨大,虽然这个方法在实验环境下效果优于提问式翻译,但实际并不适用[8]。
2)中间语言翻译。此方法利用中间语言将用户的输入和检索文档转换为同一逻辑格式,或转换为第3种语言,避免了直接翻译导致的语义偏离。一般当源语言与目标语言不能直接互译时采用此方法,但此方法需要大量的转换计算,因此响应性和可靠性相对较低。
3)提问式翻译。此方法是指将用户输入的概念语言翻译成文档的语言,然后再进行单语言信息检索。此方法的优点在于实现时经济简单,难点在于如何解决消岐、建库问题以及用户对于目标文档的阅读理解问题。
4)不翻译。目前不翻译的方法主要是构建双语或多语训练集,再进行分析获得文档与提问词的映射关系,然后进行单语言信息检索。目前主要有语义标注的方法、本体的方法和同源匹配的方法等。
不同的实现方法有不同的规则和优点,但同样也面临不同的问题。基于提问式的信息检索面临的问题主要是当用户使用信息检索系统时,通常输入的都是关键词或简短的句子,没有上下文有关语境支持,信息检索系统很难做出语义关联性判断,并不能很好的表达用户的需求想法,因此检索系统反馈的结果也不尽人意。因此查询扩展(Query Expansion)一词被提出,查询扩展结合了计算机语言学和信息学等多种技术方法,将用户输入的原始概念进行扩展、修正得到新的概念,然后把新的概念作为输入检索系统的查询初值,利用查询扩展这种方法可以弥补用户输入的缺陷。
1.1.2 源语言与文档翻译技术
通过上述跨语言信息检索的实现方法可知,跨语言信息检索的核心主要是翻译,翻译是实现跨语言信息检索的核心,目前国内外相关跨语言信息检索的实现与应用中,主要有以下4种翻译方法。
1)基于机器翻译的方法。基于机器翻译目的就是将用户的提问语言翻译为目标文档语言或将目标文档翻译为用户提问的语言,然后再进行单语言信息检索[9]。由于机器翻译是基于计算机语言学等原理设计的,但因各种语言对应不同的语法规则,所以翻译的质量也参差不齐。随着基于统计学的机器翻译不断地完善,目前翻译的可靠性相对较高,并且容易使用。
2)基于词典翻译的方法。基于词典的翻译方法主要是利用双语或多语词典将用户的提问语言与目标语言建立映射。该方法虽然准确率提高很多,但双语词典或多语词典的构建周期太长,费时费力,很难构建出面向领域全面并且实时更新的词典。
3)基于语料库的方法。语料库是指将大量相关信息经过半自动或自动整理构建的可以被计算机使用的数据集合。语料库一般分为平行语料库和可比语料库,基于语料库的方法需通过平行语料库中的互译对、可比语料库相似主题词组的映射关系,提取出翻译结果或者过滤翻译后产生的歧义翻译项[10]。语料库的建立初期目的是为了自然语言处理和机器翻译,所以将其用于跨语言信息检索所得的效果相对较差。
4)词典与语料库混合方法。该方法结合了基于词典翻译和基于语料库翻译两种方法各自的优点。首先对基于提问式方法采用词典进行翻译,翻译后可能会出现多个结果或结果模棱两可的情况,此时,再利用专业语料库中相关术语过滤翻译结果。该方法虽然具有基于词典翻译和基于语料库翻译各自的优点,但构建词典和语料库都是浩大工程。
笔者在基于提问式翻译的基础上采用统计机器翻译。基于统计机器翻译实现跨语言信息检索的方法就是源语言使用经过大量平行语料训练建立的统计机器翻译模型得到翻译结果即目标语言,从而实现跨语言信息检索。但是机器翻译不能对源语言和目标语言在语义层面进行扩展,因此语义关联性较差。针对以上问题笔者在基于提问式统计机器翻译的基础上引入本体,本体包含大量语义关系,可以解决语义关联度问题以及结果反馈的准确性问题。
1.2.1 词汇本体
本体可以理解为概念及概念之间关系的规范化、形式化、可共享和明确化的描述[11],可以从概念的层次让机器理解和处理用户的输入。由于本体具有丰富的语义概念关系,可以保证概念之间通过概念链、关系链互相连接,因此可以用来查询扩展。另外,王惠等[12]在汉语框架网络本体的研究中,指出语义型词典作为语言信息处理的基础,应用于机器翻译、自然语言接口、文献检索、信息自动提取、语音识别与合成、文字识别、中文输入、词义消歧、文本校对、语料库加工等多种处理领域。并将例如WordNet、HowNet、同义词词林、汉语言框架此类语义型词典称为词汇本体。它们和传统的按字母顺序组织词汇信息的词典不同,其更多地从词汇的概念角度出发,将具有相同、相近含义或具有一定关联度的词汇聚集在一起,从单词、句法的层面提取语义信息,并将这些信息以网状形式呈现,使计算机能像人一样的理解和利用其中的信息[13]。下面是对WordNet、同义词词林以及BabelNet的简单阐述。
1)WordNet。WordNet是由Princeton大学的心理学家、语言学家和计算机工程师等联合设计的一种基于认知语言学的英语词典[14]。WordNet是根据词义而不是词形组织词汇信息的,因此可以说WordNet是一部语义词典,其中包含同义关系、反义关系、上下位关系和整体部分关系等,因此可以称之为词汇本体。WordNet将词汇分为5类:名词、动词、形容词、副词和虚词(功能词)。其中名词包含11个基本类如表1所示,动词包含15个基本类如表2所示,形容词主要分为两类:描写性形容词和关系性形容词。
表1 WordNet名词基本类表
表2 WordNet动词基本类表
目前WordNet已经达到3.1版本,包含155 327个字和175 979个同义词组合,总共207 016个字检测对[15],各个概念之间通过复杂的词汇关系、语义关系等相互关联形成庞大的语义网络。
图1 同义词词林5层结构
2)同义词词林。《同义词词林》最初是由梅家驹等人于1983年编纂而成的,后由哈尔滨工业大学信息检索研究实验室更新修改后并发布《哈工大信息检索研究室同义词词林扩展版》1.0版,其共含有77 343条词语,是目前涵盖汉语词汇量最大的本体词汇表[16]。该词汇表按照树状的层次结构组织词条,将77 343条词语分成12个大类,97个中类以及1 400个小类。每个小类中,根据词义的远近和相关性分为若干个段落,然后又细分成若干行,同一行的词语词义相近或相关性较强。同义词词林5层结构如图1所示。
《同义词词林》按3层编码规则组织,编码规则如表3所示,第8个编码位有3种表示,“=”表示相等、同义关系。末尾的“#”表示不等,属于词群中的相关词语。末尾的“@”代表独立在词典中既没有相关词,也没有同义词。
表3 同义词词林编码规则
3)BabelNet。BabelNet是由罗马大学计算机科学系的计算语言学实验室所创建的,其将维基百科链接到WordNet以自动映射的方式构建了多语词汇语义网络和本体,如图2所示。BabelNet(v3.7)已覆盖了271种语言并且包含了大约1 400万个同义词集和7.46亿个词义,目前已经为4.0版本,涵盖284种语言,包含近1 600万个同义词和大约8.33亿个词义[17]。BabelNet提供了多种语言的概念和命名实体,并包含了它们之间的丰富的语义关系,在处理语义相关性、多语词义消岐、自然语言处理和神经网络训练等方面均发挥强大作用。
图2 BabelNet构建图
1.2.2 语义关联度算法实现
本体包含大量的概念之间的关系,如相等关系、上下位关系和互斥关系等,因此笔者使用多本体解决查询扩展中语义偏离的问题。利用多本体设计语义关联度算法并构建语义权重模型,再将语义权重模型结合下文中的Okapi BM25F模型实现语义关联排序算法。语义关联度算法实现步骤如下:
Step1 将用户输入初始词a赋予最高权值au;
Step2 a的翻译结果b按照在各个翻译器出现的频率依次赋予不同的权值{b1,b2,…,bu};
Step3 将a经过同义词林扩展的结果c按照语义相似度依次赋予不同的权值{c1,c2,…,cu};
Step4 将b经过WordNet扩展的结果d按照语义相似度进行依次赋予不同的权值{d1,d2,…,du};
Step5 将c,d经过BabelNet处理依次赋予不同的权值{e1,e2,…,eu}。
通过以上方法,即可根据扩展词汇之间不同的语义关联程度赋予不同的权值,词汇带有的权值即可表示为与用户原始输入的相关程度,再将带有权值的词输入到信息检索模型,最后排序结果反馈给用户。
检索系统中的检索模型用来确定一个文档相对于一个查询的相关度,检索模型在检索系统中通常处于核心地位[18]。根据以上研究,笔者提出基于提问式统计机器翻译融合多本体的多语言信息检索模型,模型主要包含用户输入、查询扩展、数据组织、检索排序及结果展示5个部分。模型整体架构如图3所示。
图3 跨语言信息检索架构图
1)查询扩展首先是对用户的输入使用IKAnalyzer进行分词,IKAnalyzer是Java语言开发的开源轻量级中文分词器,其特有正向迭代最细粒度切分算法,支持细粒度和智能分词两种分词模式,并且用户可自定义扩展词典,而且其拥有高速切分处理能力。
2)分词后再对分词结果使用统计机器翻译,本模型共使用谷歌、百度、欧米、爱词霸、腾讯、有道、搜狗和Trycan8种机器翻译,目的是保证全面和准确的映射。
3)将翻译结果与两个词汇本体结合进行扩展并赋予权值,目的是为了保证语言映射的过程中减少语义损失。
4)将扩展结果结合BabelNet增加语义关联进一步改变权值,被赋予权值的结果使用BM25F信息检索模型进行检索匹配,将结果排序反馈给用户。
笔者排序算法是将上文的语义权重模型与基于概率检索Okapi BM25F模型进行整合改进。传统的Okapi BM25F是在Okapi BM25模型的基础上将结构化数据拆分为各个域,例如:一篇新闻拆分为标题、记者、新闻事件、落款,显然标题是对整篇报道的总结概括,因此将标题域权重升高。经过查询拓展之后得到的拓展结果,与用户初始输入的关键词已经有语义距离,因此对查询拓展后的结果使用基于多语本体的语义权重模型进行权重调整,再将其架构在Okapi BM25F模型上,从而得到排序结果。Okapi BM25F计算方式如下
(1)
(2)
(3)
通过以上方法构建的排序算法保证了检索反馈的结果与用户的理想结果较高的契合度。使用BabelNet和Okapi BM25F模型减少了查询拓展后语义的损失,增加了信息检索过程中输入与目标文档的关联匹配程度,使结果更符合用户的需求。
笔者的原型系统是基于Lucene搭建的Java Web工程,lucene是一套开源的用于全文检索的程序,它提供了完整的索引引擎以及查询引擎,并采用基于Scrapy+Selenium+BeautifulSoup的爬虫方法,爬取Wiki中100个国家的中英文对应介绍,共两百个文档对该系统进行测试。当用户输入“俄罗斯”时系统反馈结果如图4所示。
图4 检索结果
然后通过传统的基于机器翻译的跨语言信息检索模型与笔者的基于统计机器翻译和本体的跨语言信息检索模型的对比分析,验证该模型的有效性。实验中,选取“日本”、“美国”、“俄罗斯”、“中国”、“法国”、“英国”和“意大利”等7个词语作为输入关键词进行实验分析。
现有的信息检索系统主要的评价指标包括查全率(召回率)、查准率、系统对用户的友好程度等。查全率和查准率的计算公式分别如下
W=(Rn+Wn)×100%
(4)
A=(Rn+Sn)×100%
(5)
其中W为查全率,A为查准率,Rn为检索出的符合用户要求的相关结果数,Wn为检索库中的符合用户要求的总信息量,Sn为检索出的信息总量。
查全率和查准率通常保持一种相反关系,因此通常在评价IR系统时保持两者中的一个为适当的值,改变另一个条件,以观察IR系统的参数变化。目前TREC和CLEF对于跨语言信息检索的评价指标为平均查准率(MAP:Mean Average Precision)[20]。其计算公式为
图5 检索结果效果对比图
(6)
其中M为平均查准率,Q为提问式的数量,A(q)表示第q个查询的平均查准率。平均查准率可以反映出IR系统对系统用户的贡献价值。
通过实验,得到笔者的基于本体论的方法与传统的基于机器翻译的方法查准率对比如图5所示,通过数据可以直观地看出无论查准率还是平均查准率,笔者方法均优于传统基于机器翻译的方法。
笔者针对传统跨语言信息检索中的语义关联性较差等问题,将本体引入提问式统计翻译的跨语言信息检索模型,从而构建了基于本体的提问式统计翻译的跨语言信息检索模型。该方法将WordNet、同义词词林、BabelNet本体引入,从而丰富了信息检索中的语义关联性;最后通过爬虫获取wiki中有关100个国家的200条中英文对照数据进行试验,并通过平均查准率对该模型与原始信息检索模型进行对比分析,结果显示,笔者提出的基于提问式统计翻译并融合本体的跨语言信息检索模型优于传统的基于机器翻译的跨语言信息检索模型。