让搜索跨越语言的鸿沟 谈跨语言信息检索技术

日期: 栏目:老域名优势 浏览:16 评论:0

  跨语言信息检索,是信息检索领域中的一个研究课题。近10几年来 ,由于互联网的飞速发展,这方面的研究受到了学术界的广泛重视。将这项技术应用于搜索,可以帮助我们查找到更多的有用信息 ,例如外语相关页面、多语言页面以及语言无关的资源(如图片)等等 。这些信息可以大大丰富搜索的结果,满足用户多样的需求。在跨语言信息检索的研究中,有一些研究成果已经趋于成熟 ,达到可以应用的状态。事实上,Yahoo和Google在5,6年前就已经开始提供多语言的搜索服务 。毫无疑问 ,在这方面他们已经走在了世界的前列。目前,百度的各项国际化业务正在如火如荼的开展,对跨语言技术来说 ,正是用武之地。相信不久的将来 ,它将会在搜索国际化进程中扮演举足轻重的角色 。来,就让我们一探究竟吧。

  假如你搜索“中菲黄岩岛对峙”,如果你是一个普通用户 ,你想知道的可能是这个事件的历史渊源和发展动态;如果你是一个文艺用户,你想知道的可能是中国愤青们的爱国言论。没问题,现有的中文搜索完全可以满足你的需求 。

  但是 ,如果你是一个XX用户,你对中国网站的内容不满足,很想知道外国的媒体是怎么报道的 ,外国民众是怎么谈论这个事件的。那么不好意思,中文搜索引擎就无能为力了。这是因为,中文搜索引擎都是中文作为基础来构建的 ,它往往只收录了中文数据,只考虑了中文的特性,只考虑了该中国网民的需求 。但是 ,当我们想要做跨语言搜索时 ,搜索就变得困难了 。且不说我们没有抓取那么多外文数据。即使我们有数据了,由于不同语言之间的巨大差异,以及各个国家各种各样的网络习惯 ,我们也很难精准地搜索到相关的外文信息。也就是说,语言的不同给搜索带来了一道鸿沟 。

  那么,这道鸿沟就不能跨越了么?当然不是。事实上很多年前人们就已经开始考虑这个问题了。在学术界 ,对这个问题有个专有名词,叫跨语言信息检索(Cross-Language Information Retrieval) 。早在上个世纪60年代,现代信息检索的奠基人 ,美国康奈尔大学的Salton教授发表了一篇《Automatic processing of foreign language documents》,首先打开了跨语言信息检索的大门。但是由于那个时代还没有互联网,研究也只能停留在简单实验阶段 ,甚至跨语言信息检索的概念还没有正式提出。到了上世纪90年代,美国国家标准技术研究所(National Institute of Standards and Technology)和美国情报局前沿研发活动中心(Advanced Research and Development Activity center of the U.S. Department of Defense)联合举办了信息检索领域最重要的会议——“TREC ”会议(The Text REtrieval Conference) 。到了1996年,在瑞士所举办的SIGIR-96会议中 ,首次出现了以跨语检索为研究主题的研讨会。而到了2000年 ,欧盟成立了“跨语言评估论坛”(Cross Language Evaluation Forum),每年定期举办跨语检索研讨会,并且推动跨语检索技术评比。从此 ,跨语言信息检索变成了信息检索领域的一个炙手可热的研究课题,无数英雄豪杰参与其中 。

  闲话少说,我们该进入正题了:对于跨语言信息检索问题该如何解决呢?接下来让我们揭开它的面纱。

  在说跨语言信息检索之前 ,我们先回顾一下经典信息检索是怎样做的,如图1所示:首先,对于用户的query ,我们要对它进行特征提取,使之变成一个特征向量,用于匹配文档。其次 ,对于已经抓取的文档,我们也对它进行特征提取,并给予这些特征一些权重 ,来表示它们的重要程度 。再次 ,我们对query的特征和文档的特征进行相似度计算,来判断哪些文档跟query相关,哪些不相关 。信息检索最常用的相似度计算方法是求cosine ,其它还可以从语义主题的角度去描述相似性,这个就不详细介绍了。有了相似度,我们可以根据相似度对文档进行排序 ,并将最相关的一些作为检索结果。对于检索结果,用户可能会提供一些反馈,比如用户的点击 。这些反馈可以告诉我们 ,在搜索结果里面哪些是用户需要的。这些信息可以用来衡量检索的效果,来对检索模型进一步提升。

  在信息检索的流程中,我们可以看出跨语言检索的难点:当query的语言和文档的语言不同时 ,query和文档的特征空间是不同的 。中文的特征集合(某个中文词语出现与否)与英文的特征集合(某个英文词语出现与否)的交集极少,这导致原有的相似度计算方式在跨语言时失效了。

  那么这个问题怎么解决呢?

  对于跨语言,我们自然而然想到的一种方式就是:翻译。我们可以通过翻译的方式把一个语言的词语映射到另一语言上 ,从而让query和文档处于同一个特征空间中 ,然后再利用单语下的检索模型进行检索和排序,这样就可以实现跨语言检索了 。

  Query翻译——把query翻译到文档的语言下,然后用这些翻译后的query在文档中进行检索。对于query中的词语 ,我们可以选择若干可能的翻译,用于扩大召回。这可以看作是一种query扩展 。

  文档翻译——把文档翻译到query的语言下,然后用原有query对翻译的文档进行检索。文档的翻译一般是在线下进行的。一篇源语言的文档通过自动的翻译(如机器翻译)变换成一篇目标语言下的文档 。

评论留言

暂时没有留言!

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。