分布式检索技术

2024-12-07

分布式检索技术(精选9篇)

分布式检索技术 篇1

1 引言

随着网络技术的快速发展,网络视频数量飞速增长,人们对视频检索的需求日益增加。目前国内外已经研发出了基于内容的视频检索系统,例如IBM Almaden研究中心开发的QBIC(QueryByImageContent)系统、美国哥伦比亚大学研究的VideoQ系统以及国内清华大学研究的TV-FI(TsinghuaVideoFind It)系统等。基于内容的视频检索系统在其技术和性能上的原因离实际应用尚需时日[1],目前Google、Baidu等搜索引擎提供的视频检索方法主要是根据用户输入的关键词和视频提供者为视频标注的元数据信息[2]进行匹配。当前的搜索引擎一般采用集群负载均衡技术构建集中式搜索引擎系统[3],这使得当网络上的视频搜索请求高并发时系统的入口服务器很容易成为系统的瓶颈。对等网络(Peer-to-Peer,P2P)由于其具有很好的可扩展性、健壮性和负载均衡性等特点逐渐发展起来并且技术日渐成熟[4]。为此本文研究了基于对等网络的分布式视频检索系统以此改善传统视频检索系统的性能该系统中,首先对视频进行相关处理,包括基于文本的视频场景分割、镜头关键帧抽取和语义类别标注[5]等,得到视频片段及相应描述文本,这部分工作更详细的内容可参考文献[5]。本文重点介绍利用对等网络平台、分布式数据存储技术和消息组播技术构建分布式视频查询系统,主要包括视频片段及描述文本的分布式存储、索引库构建、P2P网络中查询请求消息组播和索引搜索等。

本文第2节为整个视频检索系统介绍;第3节重点介绍分布式视频索引库的构建,包括分布式存储和索引查询过程;第4节给出查询优化机制,包括同义扩展查询、查询串自动提示以及缩略语提示等;第5节为视频检索系统的实现。另外在不同P2P节点数和不同响应时间限制条件下进行实验并分析实验结果;第6节为总结和未来工作展望。

2 P 2P分布式视频检索系统结构

近几年,P2P研究热兴起,财富杂志更将P2P列为影响Internet未来的四项科技之一。P2P技术可以理解为网络参与者共享他们的部分资源(处理能力、存储能力、通信能力等),这些共享资源通过网络提供内容和服务,能被其它对等节点(Peer)直接访问而无需经过中间实体。网络中的参与者既是资源提供者(Server),又是资源获取者(Client)。

P2P网络中的节点必须以某种方式组成一个有机的整体,即覆盖网络(Overlay)。P2P覆盖网络的拓扑结构有中心化、全分布非结构化、全分布式结构化和半分布式四种[6]。全分布式结构化P2P网络由于没有中心式服务器,所有节点既是服务器又是客户机,真正做到网络对等以及高效快速的资源定位等优点为本文所采用。本文中的视频检索系统构建于微软研究院和美国Rice大学研究开发的Pastry分布式平台之上,它是全分布结构化的P2P网络。FreePastry作为Rice大学的一个项目,是Pastry的开源实现。

本节主要介绍分布式视频检索系统结构,同时给出系统所使用的分布式平台Pastry。

2.1 分布式视频检索系统

图1为视频检索系统总的结构图。

电影视频进入本文的视频检索系统后,首先经过视频分析获取视频描述文档,该描述文档被送往视频管理作为系统中的一个管理对象。电影视频数据依据场景分为多个片段并存储。同时根据视频描述文档生成用于检索整个电影视频及其包含的场景片段的文本文档文本文档进入索引库创建倒排索引以支持用户基于关键字的快速视频检索。本文中提到的“视频分析、标注文档生成”等更详细的内容可参考文献[5]。

系统分布式视频索引库和查询消息组播是在开源软件FreePastry、PAST、Scribe之上的二次开发实现。分布式视频索引器和搜索器在Lucene之上实现。系统主要部分为服务器端,提供索引文档的生成和存储、查询消息的组播、同义扩展和输入提示,其中输入提示涉及到客户端部分。客户端主要为用户提供查询接口功能。后面各节详细介绍各部分内容。

2.2 Pastry平台

Pastry是一个大规模可扩展的分布式对象定位和路由的P2P底层网络系统,它是通过互联网连接的多个节点组成的自组织覆盖网,在应用层进行消息路由和对象定位。Pastry具有很好的分布式控制、自组织、自适应和可扩展能力,可用来支持大量的对等应用,例如全球海量的数据存储和共享等。有关Pastry更详细的内容可参考Antony和Peter等人的文章[7]。

3 分布式视频索引库构建、存储和查询

使用文献[5]中的方法获得视频片段及对应的语义描述文本后,需要对文本建立索引并存储索引到分布式网络节点上。同时对用户的查询请求在P2P节点间进行组播,根据用户输入的查询串进行模糊查询,获取存储有用户请求的视频片段的节点信息,对视频片段进行排序后返回给用户对应的视频链接。本文对FreePastry研究者在Pastry基础之上开发的数据持久存储工具PAST和应用层组播协议Scribe进行二次开发,有机组织构建分布视频查询平台,用以完成对视频索引文档进行存储和查询消息组播。另外在Apache软件基金会jakarta开发的开源软件Lucene[8]基础之上开发搜索引擎,完成对索引库检索。

3.1 索引库的建立和存储

文本文档的基本查找方法为顺序扫描文本即“顺序查找”。该方法不需要对文档集合中的信息做任何形式的预处理。用户查询时,直接在文档中进行字符串简单匹配,方法简单,容易实现。但是当需要查找的文件大小及数量很大时这种查找方法的效率比较低。文档的另一种搜索方法是建立索引。当文档的数量很大且文档中的信息相对稳定时,建立索引可以大大提高搜索时的效率。索引建立的方法有倒排索引、后缀数组和签名文件等多种[9],其中倒排索引技术广泛应用于信息检索系统中。本文使用倒排索引技术构建视频文档索引库。

同时本文采用PAST工具将获得的索引文档存储到P2P网络上。PAST是一个大规模持久化的存储工具[10],构建于Pastry之上,是互联网中节点组成的覆盖网。PAST网络中的每个节点均有一个唯一的128-bit长的节点标识,同时,对于存储于PAST网络上的文件都有一个唯一的160-bit长的文件标识。PAST网络中的节点或用户可以进行文件存储文件和回收等操作。另外,PAST统计性地将文件存储到节点,平衡网络负载。PAST维护用户指定的文件冗余度,保证当网络中有节点失效或离开后文件副本数量不变[11]。

采用文献[5]中的方法,索引库获得视频及场景标注文本文档后,对每个文档创建倒排索引并添加到索引表中。对于获取的每个标注文本文档(用D表示),设置其冗余度为k(即在P2P网络中保存该文档文件的k个副本)后将文档提交给PAST存储,并由PAST维护k个副本在节点加入和退出时保持不变。k≥1且可根据网络中物理节点的数量正比例调整。假设PAST分配节点A和B存储该文档,A、B节点接收及存储文档后,节点上的索引器单元完成工作:(1)对文档中所包含的文本内容进行中文分词处理[12],并去除停用词,获得文档关键词集;(2)统计每个词(用t表示)在文档中的出现频率,建立文档的前向索引表,结构如表1所示;(3)将每个词的信息添加到如表2所示的后向(倒排)索引表中,如果该词已经存在则在对应表项中追加文档名称和词频否则新建单词表项。

如果某个节点退出网络或失效,PAST将该节点存储的文件在别的节点上增加一个备份。假设节点A失效,PAST从B处复制doc到节点C,则节点C在收到doc后,其上的索引器单元为文档doc创建倒排索引。通过上述机制,保证每个文档在网络中至少有两个倒排索引副本,防止由于节点失效带来的索引丢失。同时可以通过调用PAST提供的存储空间回收操作,删除存储的视频及索引信息。

图2给出了分布式索引库的系统结构图。服务接口层响应外部的服务请求,包含文档入库、文档删除、文档更新和文档搜索等。服务接口层收到这些请求后根据请求类型交由搜索器或索引器进行处理。索引器负责对文本文档建立倒排索引并在下层PAST的支持下在整个索引库的多个节点中进行冗余存储,索引器同时也是文档删除和文档更新操作的入口。搜索器根据查询字符串在整个索引库的倒排索引中查找对应的文档并根据相关性对搜索结果进行排序,返回结果给服务接口层。

3.2 索引查询

系统提供用户查询接口。当系统获取到用户的查询请求后,对查询消息进行优化,Scribe网络向索引库中任一服务节点转发该优化后的查询消息。服务节点中的外部接口索引库中发起该查询响应过程,并综合最终的搜索结果返回给检索接口。

Scribe[12]是一个大规模去中心化的应用层组播协议,构建于Pastry之上,具有可扩展性、容忍Internet故障、低时延和有效利用网络资源的特性。Scribe为组通信协议,所以视频检索系统中的各个节点均需加入一个组播组内,这些查询消息才能在各节点间传递。

在Scribe网络中,查询过程如下:

步骤1:首先外部服务接口通过调用Scribe的多播通信服务将来自外部的查询字符串发送给所在组的所有服务节点,节点中的搜索器单元接收该查询字符串后启动以下处理:

步骤2:对查询串进行分词和去停用词处理,获得单词串;

步骤3:为每个词在倒排索引表中找到包含它的文档及该词在每个文档中的出现次数;

步骤根据查找结果计算找到的文档相对于查询串相关度得分;

步骤5:将搜索到的文档及相关度得分返回给发起本次查询节点的外部接口作为本搜索器的搜索结果;

步骤6:外部查询接口综合其他服务节点发送的搜索结果排序后将搜索结果返回给检索接口。

为缩短响应时间,可以设定外部接口返回结果时间门限值,到达时间时外部服务接口必须将已获得的搜索结果返回给检索接口,对于后续收到的搜索结果再行发送给检索接口。检索接口将结果格式化后返回给用户。一般查询结果较多,检索接口并不将检索结果一次返回,而是先给用户返回相关度最高的若干条记录,之后再根据用户的请求返回其它记录。检索接口对检索结果进行了缓存。

3.3 搜索结果排序

本文基于文档空间向量模型(VSM,VectorSpaceModel)对搜索结果进行排序。VSM将文档和用户查询串转化为向量形式,对于所有文档和用户查询都映射到文本向量空间。用户查询和被检索文档两者的相关度可用向量余弦相似度度量[13],从而将信息检索转化为向量空间的向量匹配问题。

系统中对每个包含查询关键词的文档都计算相关度值,并根据该值进行排序即可获得文档与查询字符串的相关度排序结果。

4 查询优化机制

通常情况下,用户会输入他想查询的视频片段的相关信息,比如导演姓名、视频中的主要演员姓名或者对话等等。但是难以避免会出现以下几种情况:

一是用户输入错别字或者同音字,例如把“师傅”输入为“师父”。特别是国外演员的姓名,他们都是音译过来的,输入时很容易跟电影中的不一样;

二是用户对想搜索的内容不是很清楚,只知道大概的内容。这时他可能会输入同义词进行查询;

三是用户可能会输入一些常见的英文缩略语,比如“NBA”,“NASA”等;

这就要求检索系统能够进行模糊查询。在对用户输入的查询串进行分词和去停用词后,本文根据得到的查询串进行同义扩展,即如果检索系统对这些查询串没有返回记录或者记录很少,则查询其同义词。同时,在用户输入的过程中进行同音和缩略语提示,以提高用户输入的准确率和查询效率。

4.1 基于中文WordNet的同义扩展查询

美国普林斯顿大学感知科学实验室开发的WordNet是基于英文词汇语义网络的一部在线词典数据库[14]。它将英文中的名词、动词、形容词和副词组织成为同义词集(synsets),每个集合表示一个基本的词汇概念,然后在这些概念之上建立包括同义关系、反义关系、上/下位关系等多种词汇语义关系。目前成功应用于自然语言处理、计算机语言学等多个领域。东南大学计算机科学与工程学院高志强等在英文WordNet的基础之上研究开发了中文WordNet[15],并且部分开放中文数据库词典。本文采用中文WordNet词典,完成同义词扩展查询功能。图3为同义扩展流程。

本文使用中科院计算技术研究所开发的中文分词工具ICTCLAS对查询串进行分词,并去停用词得到查询关键词组(t1,t2,t3,...)。如果系统返回0条查询结果或者查询结果很少,则对查询关键词组里面的每个词进行同义扩展,得到由每个词的同义词组组成的集合其中(t11,t12,t13,...)为t1的同义词组,后面依次为t2,t3,...的同义词组。将各个同义词组中的词进行组合形成新的查询串,以扩大查询范围,提高查询准确率。

4.2 JavaScript实现查询串提示

用户在输入查询串的时候可能会出现输入同音字和缩略语的情况,为了提高用户输入准确率,本文使用JavaScript技术实现检索接口的输入提示功能。

首先将汉字拼音词典分汉字、拼音和多音等多个字段存入数据库。当用户在检索接口的文本框中输入时,JavaScribt实时将用户输入发送到服务器端。服务器在收到用户输入时查询数据库,得到与用户输入同音的词组,作为输入提示返回到检索接口供用户选择,达到提高输入准确率的目的。

同时将常见缩略语和查询高频词存入数据库中,同样可以做到缩略语和高频词的查询提示功能。此功能类似于baidu和google搜索引擎的输入智能提示。

5 实验及分析

前面详细介绍了系统各个部分所使用的方法与技术,下面为实验结果及分析。

系统包含3台普通服务器,即系统中P2P节点的数量为3,同时设置系统中文件冗余度为2。系统节点数为1及不同响应时间时系统的查全率如图4所示。

从图中可以看出系统只有一个服务节点时其查全率与响应时间基本成正比响应时间超过后系统的查全率超过90%。再启动一个机器加入系统,测试此时系统查全率,图4给出了系统节点数为2时的测试结果。从图5可以看出响应时间门限值超过125ms时系统的查全率稳定在90%以上,说明系统节点数量增加后查询的响应速度有所加快,这一点也可从图6得到验证。图6是系统节点数为3时的测试结果,此时在响应时间超过75ms后系统的查全率已超过90%。

同时,本文还测试了系统查询结果的准确率情况。在系统的索引库中只要有与用户要查询内容相同的文档,则返回结果几乎100%准确,即此时的查准率为100%。如果对用户输入的查询串系统返回结果为0或者太少,此时系统将进行扩展查询,即模糊查询,实验结果如表3所示。

表3中可以看出,经过扩展查询后提高了查询准确率。

上述实验结果及分析可知基于P2P分布式视频检索系统在稳定性、查全率、查询的准确率等性能上比较好。同时由于系统索引库是基于P2P技术构建的,与基于集群的大规模系统要求服务节点集中放置及节点间需用高速网络连接相比,本文系统具有实施成本低易于部署等优点。

6 总结和展望

随着宽带网络技术的迅猛发展,网络视频媒体服务已经成为最重要的互联网服务之一,且量激剧增加。如何有效地从海量视频数据中找到感兴趣的视频片段,成为当前迫切需要解决的问题。由于P2P网络良好的可扩展性、稳健性和负载均衡性,在一定程度可以解决海量视频存储和由于高并发检索请求带来的集群式搜索瓶颈问题。本文研究了基于P2P网络的视频检索系统,当P2P网络中的节点数量增加时,系统的检索效率会得到提高同时系统中采用模糊查询及输入提示技术提高了检索命中率

分布式检索技术 篇2

随着全球信息化的不断深入,网上社科信息资源日益丰富。但由于网上信息资源高度分散、数字信息的易拷贝等特点导致信息重复率高,无序性更为突出。所发布的社科信息没有统一的管理和规范,加之现有的检索工具智能化程度较低,导致信息查询困难,大大影响了网上社科信息资源的利用效率。了解目前网上社科信息资源的分布情况,加快和扩大网上信息资源开发利用的进度和规模,利用信息网络共享社科信息资源,弥补目前普遍面临的信息资源短缺的问题,已经迫在眉睫。

分布式检索及相关理论 篇3

在信息检索领域, 特别是网络信息检索领域, 一些采用集中式信息方式的网络信息检索系统当负载增大时, 用户的查询请求往往难以得到及时响应。为此, 采用分布式信息方式构建分布式信息检索系统可以在一定程度上解决所面临的问题。同时, 由于信息资源建设任务的庞大和繁重很多检索系统只能独立完成某领域或某方面的资源建设工作, 但用户却往往需要全面的资源服务。而分布式检索系统可以提供一种整合不同信息资源, 提供集成信息服务的可能, 即在信息资源分散建设的环境下, 提供集成的、全面的信息服务。

1.1 分布式计算

所谓分布式计算就是两个或多个软件互相共享信息, 这些软件既可以在同一台计算机上运行, 也可以在通过网络连接起来的多台计算机上运行。它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分, 然后把这些部分分配给许多计算机进行处理, 最后把这些计算结果综合起来得到最终的结果。分布式计算比其它算法具有以下几个优点: (1) 稀有资源可以共享。 (2) 通过分布式计算可以在多台计算机上平衡计算负载。 (3) 可以把程序放在最适合运行它的计算机上。

其中, 共享稀有资源和平衡负载是分布式计算的核心思想之一。

1.2 分布式检索

利用分布式计算进行信息检索称为分布式检索[2]。与并行检索相比, 分布式检索的主要特点是: (1) 分布式检索通常处理的是地理位置分散的异构数据, 不同地理位置计算机系统间通讯的开销比较大, 因此分布式检索中应该尽量避免不同地理位置计算机系统之间的通讯操作。就通讯本身而言, 由于不同系统的异构性, 分布式检索系统中通常采用TCP/IP协议来实现通讯而并行检索中处理器之间的通讯可以通过共享内存来实现。 (2) 分布式检索的数据规模相对较大, 每个节点的处理能力又不尽相同。因此, 分布式检索通常只选择某些数据子集进行检索, 而不像并行检索那样, 需要返回每个数据子集的结果。 (3) 分布式检索的对象的异构性使得统一描述和访问成为必须要考虑的问题[3]。

2 分布式检索系统结构

分布式的总体结构为如何并行的定义和解决问题, 提供极大的灵活性。检索系统在分布式计算机网络中实现的最简单的方法是通过多任务处理的使用。分布式系统里的每个处理器都彼此分开了, 每个处理器上运行独立的搜索引擎系统。搜索引擎对单个的查询不进行合作, 但是他们可以共同拥有代码库和数据。对搜索引擎的查询请求是由检索代理来管理, 它接受终端用户的查询要求, 并将其分发给所有可利用的搜索引擎。

分布式信息检索系统在系统的结构设计中充分考虑了信息搜索的速度、信息服务的质量, 以及系统的管理、维护、更新等因素, 采取了有选择的协作机制, 并且利用用户的反馈调整系统的运行。当系统获得用户的查询请求后, 先查询本地信息库并返回结果, 如果用户要求更多的信息, 系统就会根据用户对已有信息的满意程度选择下一个查询对象, 可能是本地信息库, 也可能是远程搜索引擎[5]。

3 分布式检索系统的实现框架

分布式信息检索系统的建立和实现需要以一个软件结构框架为基础[6]。目前, 有多个标准和产品支持这样的大型信息系统的开发, 这些产品主要有以下几种。

3.1 基于Z 3 9.5 0的体系结构

基于Z39.50协议的分布式信息检索系统的核心有两个部分: (1) 索引数据库:用来存放网上资源索引的数据库, 它具备Z3950协议访问接口。 (2) 用户访问接口:通过Z39.50网关把信息提供给用户的接口。

该体系结构的分布式检索系统可以按照以下方式工作:用户的查询请求由浏览器通过HTTP请求发给Web服务器;Web服务器通过HTTP_Z39.50协议转换网关把HTTP请求转换为Z39.50请求, 发给本域的Z39.50服务器, 进而访问索引库得到查询结果。如果在本域的Z39.50服务器找不到所需信息或者用户在最初的查询请求中就指定了查询其他域, HTTP_Z39.50协议转换网关会把39.50请求发给其他域的Z39.50服务器, 并负责收集所有Z39.50服务器返回的查询结果, 整合后统一以HTML页面的形式返回给用户浏览器。

3.2 基于Java/CORBA的架构

Ja va/C ORB A的架构是组件技术的一种类型。组件技术是面向对象技术的最新发展, 它具有开放性、集成性、灵活性、模块性、可管理性、安全性、透明性等特点。组件技术为分布式异构环境中的多组织域信息处理服务之间的互联提供了技术支持, 以此为基础可以有效地实现分布式系统中的公共服务系统、基础组件、组装框架、数据表达规范、数据传输协议及服务器定位等关键技术。分布式对象是组件技术核心。

参考文献

[1]姚树宇, 赵少东.一种使用分布式技术的搜索引擎[J].计算机应用与软件, 2005, 1 (1) :127~129.

[2]耿骞, 刘畅.分布式检索系统及其体系结构[J].国家图书馆学刊, 2004, 2:69.

[3]http://www.ibm.com/developerworks/cn/linux/cluster/cluster_system/base/part2/index2.html.

[4]David Hawking, Nick Craswell, VeryLarge Scale Retrieval and Web Search.CSIRO, GPO Box 664.Canberra ACT, Australia.May, 2004.

[5]周斌, 刘波, 杨岳湘.Z39.50.协议的原理及其在分布式检索中的应用[J].计算机工程, 2002, 28 (9) :5~7.

信息检索技术论文 篇4

信息检索技术论文

[摘要]通过对近年来计算机科学、人工智能、专利文献加工等领域的发展进行总结,从多语言混合检索、分类检索、语义检索、图像检索以及辅助技术五个方面介绍专利文献计算机检索技术的最新发展。机器翻译技术和多边共同分类体系的完善有助于提高计算机检索效率、消除语言障碍,而语义检索、图像检索和文献自动处理技术的发展有望使面向不同层次用户的计算机智能化检索系统得以实现。

[关键词]专利文献 计算机检索 语义检索 图像检索

1、前言

近年来,计算机技术、语言学以及人工智能技术的发展促进了整个信息检索技术领域的发展,专利文献的计算机检索技术正成为情报检索领域研究的热点。下文拟从多语言混合检索、分类检索、语义检索、图像检索以及辅助技术五个方面介绍专利文献计算机检索技术的最新发展。

2、多语言混合检索

专利文献是由各国、各地区专利局或世界知识产权局出版的官方文献,因此一般以各局官方语言出版。虽然大部分专利文献是英语文献,但是仍然存在大量日文、中文、德文、法文及其他语种的文献。出版语言的多样性给专利文献的检索和利用带来了极大的障碍,要实现多语言混合检索,机器翻译是必不可少的技术。目前一些专利局在其上推出了机器翻译系统,例如我国国家知识产权局提供有汉英机器翻译,日本特许厅提供有日英机器翻译,韩国知识产权局提供有韩英机器翻译等,上述网络机器翻译系统对其他国家的用户阅读方便和使用本国专利文献起到了帮助作用。

随着计算机技术的发展,机器翻译的技术也迅速发展,从传统的基于规则的机器翻译扩展到了基于实例或模版的机器翻译、统计机器翻译等。尤其是近年来语言学和人工智能技术的发展,以语义描述或以知识描述为特征的智能机器翻译系统正逐步成为研究的热点。专利文献作为一种特殊的科技文献,由于其具有特定的句法和语言结构,同时例如权利要求书等具有法律公示性文件的作用,这对翻译的准确性提出了更高的要求,已有研究者通过在机器翻译系统内集成多个翻译引擎、对不同特点的内容使用不同引擎翻译的方式来提高翻译质量。

已有的机器翻译系统基本局限于单篇文献的机器翻译,无法实现真正的多语言混合检索。多语言混合检索系统不仅可以允许混合语言的检索式,而且同一个检索式还可以对不同语言的专利文献进行检索,其实现方式主要有如下三种:翻译检索式、翻译文献或者两者相结合的混合式。翻译检索式的工作量小,比较适合于因特网检索,但由于检索式通常缺乏语境,翻译难度较大;翻译文献的方式虽然有利于提高翻译质量,进而有利于文献检索,但存在的主要问题是翻译量太大、翻译时间长。

3、分类检索

分类号一直是专利文献检索的重要手段。目前除了基本涵盖各国专利文献的国际专利分类(IPC)之外,美国专利商标局、日本特许厅和欧洲专利局各自都有自己的分类体系,分别是UC、FI/FT和ECLA。IPC虽然通用,但存在分类标准不统一、分类条目不够完备、文献分类更新不及时等缺陷,导致使用IPC检索的效果欠佳。UC和FI/FT分别只能检索美国和日本的专利文献,ECLA虽然能够检索到多国的文献,但仍然不能有效地检索日本、韩国、中国等国的专利文献。

为改善这种局面,美国、日本和欧洲自2000年即开始了“三边分类和谐计划”,该计划旨在推进ECLA、UC和FI三个分类体系的融合以增强分类号检索的功能,同时对现有IPC分类体系提出改进建议。依据2009年召开的第27次三边会议,韩国知识产权局已经加入上述计划,而中国国家知识产权局也以观察国的身份参与这项工作。此外,近年来美国专利商标局、日本特许厅、欧洲专利局、韩国知识产权局和中国国家知识产权局五局积极开展合作,其中一个重要的合作项目是“共同的分类”。该项目的实施将有利于提高分类的一致性,扩展或细化部分技术领域的分类,进而提高检索的效率和质量。

不管是美日欧三方开展的“三边分类和谐计划”,还是五局共同开展的“共同的分类”项目,都必将推进专利文献分类体系的进一步发展,实现真正意义上的“基于检索的分类”,进一步增强分类号在专利文献计算机检索中的作用。

4、语义检索

当前专利文献检索的主要手段为关键词和分类号检索,而由于一词多义、一义多词,专利文献撰写、加工和翻译质量不一以及关键词的机械匹配等问题,本质上决定了其查全率和查准率受限制。随着计算技术、人工智能、自然语言处理等技术的发展,搜索引擎的智能化有望从根本上提高现有检索系统的检索质量。

搜索引擎的智能化具体表现为语义检索,也称为知识检索或概念检索。语义检索是对检索条件、信息组织及检索结果显示赋予一定语义成分的一种新的检索方式。语义检索的本质在于以语义为对象进行搜索,而不是对字符串进行简单的机械匹配,因此可避免关键词匹配检索中由于词和义不对应所导致的问题。

语义检索过程一般包括对被检索的文档以及输入的检索式进行语义分析和匹配处理。这种语义分析处理依赖于词汇的语义描述技术以及分别用于词义鉴别和词汇过滤的语义识别技术和词汇链算法。可以通过诸如WordNet等语义词典对词汇实现较完备的语义描述,保证人和机器对词汇的理解一致。

最新发展的潜在语义索引通过将文献搜索过程中的向量空间模型和奇异值分解相结合,可以揭示文档中的词间关系,因而适于构建专利文献搜索引擎”…。利用语义进行检索还可以将专利文献中的非技术性信息考虑在内,例如将特定的技术概念和申请人、发明人等信息进行语义联系。此外,语义检索还可以从用户角度出发,考虑用户的检索需求,从而为诸如查新、侵权等不同目的的检索提供相应的结果。

近年来国内一些开发商也纷纷提供具有语义检索功能的专利文献检索系统,例如东方灵盾开发的专利检索系统和Patenticst网站。Patentics网站除了可以实现传统的关键词检索功能,还支持语义检索,仅通过输入检索所针对的专利文献号,即可自动对其进行语义分析、文献检索,并对结果进行相关度排序。当前专利文献检索领域还未广泛应用语义检索,但随着研究的深入,相信未来的搜索引擎不仅能利用语义技术提高检索的效率,还有望能对检索结果进行分析、评价,甚至自动生成检索报告。

5、图像检索

根据对图像检索所使用方法的特征可以分为基于文本的图像检索法(TBIR)和基于内容的图像检索法(cBIR)。专利文献一般都带有大量的附图,包括机械结构或化学结构式附图、电路图、方框图、流程图或曲线图等。与传统的关键词检索和分类号检索相比,CBIR更加直观、快速,而且可以克服因文字表述差异而导致的漏检,因此它正在成为专利文献检索领域的研究热点。专利文献的附图都是黑白二元图像(本文

所称专利是指发明和实用新型专利,不包括外观设计专利),不存在颜色和纹理等特征,因此专利文献的图像检索主要是基于形状和区域的图像特征。

虽然目前还没有成熟的专利文献图像检索系统,但一些研究机构已经开发出若干可专门用于专利文献的图像检索原型系统,例如IIT Kanpur的PATseek、Informatics and Telematics Institute的PatMediat以及LTUtechnologies公司的ImageSeeker等。PATseek专门针对美国专利文献进行图像检索,而PatMedia网站上的试验系统仅针对欧洲专利局的专利文献,这两个图像检索系统都可实现直接输入待检索的图像,系统自动进行相似度匹配,直接提供专利附图,同时还可以进行基于文本的图像检索。

典型的专利图像检索系统包括专利文献处理部分和图像检索部分,如图1所示:

文献处理部分又进一步包括文献预处理和视觉、文本元数据提取和索引两部分。前者是找出文献中的图形和对应的文字描述;后者则是进一步进行图像特征分析和文本分析,分别提取基本的图像特征以及能够表示图形含义的高层语义特征的关键词,由此分别形成索引后的图形特征矢量库、图像库、文本描述关键词库和知识库。在图像检索部分,基于上述提取的元数据,进行图像相似度匹配,同时还可以基于文本进行图像检索。与一般领域的图形检索相比,由于专利文献中每幅图形一般都对应有文字描述,即使不再进行人工标注或自动标注,都能提取到较好的高层语义特征,这对提高专利文献图形检索的准确性非常有帮助。

目前,专利文献图像检索系统仅处于试验阶段,只能对数量非常少的特定专利文献进行检索,且检索结果相关度还不是很高,但由于图像检索具有其他任何检索方式都不具备的优点,相信随着人们对专利文献图像检索技术的进一步研究以及语义检索技术的进一步发展,实现高精度的图像检索必将成为现实。

6、辅助技术

高质量的专利文献是提高检索质量的基础。专利文献分类、标引和摘要改写是专利文献加工的主要内容。传统的专利文献加工方法主要依赖于人工,其成本高且速度受限制,质量不统一。随着人工智能和计算机技术的发展,开始出现对专利文献进行自动分类、自动标引、自动摘要和自动聚类。

专利文献自动分类已经在欧洲、美国、日本得到了广泛的研究和尝试。例如欧洲专利局已经利用自然语言处理的相关技术实现了专利文献的自动初分类;对日本专利文献自动分类研究表明,对于使用K临近算法进行自动分类的情况下,先将专利文献按部分结构化为语义单元可以提高74%的效率。

PATExpert代表了目前较先进的专利文献自动处理技术的发展,通过基于语义网的语义处理技术实现了面向内容的专利文献自动处理,其中的一个主要技术是利用一定的语义表示结构实现专利文献知识层面的表达。该系统可以执行的处理任务包括:专利文献内容和元数据的自动抽取;全文、图像、相关性搜索引擎;专利文献的自动分类和聚类;面向多语言的辅助理解工具;专利价值自动评估等。

国内有一些研究机构开展了大量的基于IPC体系的专利文献自动分类的研究,这些研究大部分集中在统计分类技术。近年来随着人工智能技术的兴起,基于人工智能或语义的专利文献自动分类发展迅速,例如上文提到的Patentics试验系统也开始尝试对专利文献进行自动分类。

中文专利文献的自动处理仍处于研究阶段,虽然国外专利文献自动处理已经积累了许多宝贵经验,但由于中文表述的特殊性,许多技术还待消化和开发,例如汉语词汇之间的分词技术是制约自动标引质量的一个障碍。随着信息处理自动化相关技术的发展,专利文献的自动分类、自动标引、自动聚类和自动摘要正在逐步由半自动走向全自动化,这给搜索引擎的发展带来了极大的便利。同时,利用语义技术实现基于内容的自动处理将是未来的发展主流,也是提高专利文献自动处理质量的主要手段。

7、结语

分布式检索技术 篇5

相对于传统信息检索方法而言, 分布式检索可对大容量数据进行检索, 突破了计算机数据容量限制的瓶颈, 并大幅度提升了数据信息检索的速度与效率。在传统数据信息检索过程中可能会受到机器本身的影响, 从而降低数据服务水平, 然而分布式数据信息检索却克服了这一缺点, 使得数据服务更为稳定。

1 Haddoop技术概述

从特征性来看Hadoop架构与分布式数据检索具有一定的契合性, 因此以Hadoop技术为基础来进行分布式数据搜索引擎构建可充分发挥分布式检索的作用。Hadoop具有高度容错性, 可在低廉硬件上进行部署。同时Hadoop具备了高吞吐量, 因此在大数据集应用程序访问过程中可保持较好的稳定性, 换句话说利用Hadoop可降低POSIX的限制, 并以流形式对文件系统数据进行访问。在Hadoop中HDFS及Map Reduce是最为核心的两部分构件, 前者可对相关数据进行有效存储, 后者则保证了大量数据计算的稳定性。基于上述核心构件的作用可将Hadoop视作为一个平台, 并且Hadoop本身具备了良好的扩展性, 可发挥软件框架的作用。

2 基于Hadoop的分布式数据搜索引擎构建分析

从大环境来看, 在日常数据检索过程中, 大多数用户都是借助于搜索引擎来完成数据检索, 换句话说搜索引擎已经成为了数据检索最为有效的途径之一, 下文便对基于Hadoop的分布式数据搜索引擎构建展开探讨, 并以此为切入对分布式数据检索分析。

搜索引擎主要由3个部分构成即分布式爬行子系统、索引子系统以及检索子系统, 具体如图2所示。

单从子系统来看, 它们彼此之间是相互独立存在的, 但可借助接口进行相互连接, 因此三个子系统又可保持密切的联系。所有子系统均采取Map Reduce并行方式运行。其中爬行子系统主要功能是对网页进行采集, 当然这个过程中需要借助Http协议实现。索引子系统会对网页进行细致化解析, 并结合解析结果构建索引。检索子系统为用户提供了查询及搜索平台, 当检索子系统收到用户请求时会对请求信息进行处理, 同时会向用户反馈查询结果。。

2.1 分布式爬行子系统

通常情况下会将分布式爬行子系统入口归纳为Crawler类, 在分布式爬行子系统初始运行时, 日志中会及时记录爬行时间, 然后便开始对URL筛选模块、URL分割模块及解析模块等子模块按顺序进行调用, 达成爬行任务目标。其具体流程如下:筛选URL (URL筛选模块、URL分割模块) →获取网页 (分布式网页获取模块) →网页解析 (分布式网页解析模块) →规范链接 (链接过滤模块) →存储数据 (分布式数据储存模块) 。在上述过程中需要注意的是Hadoop对数据处理的方式具有一定的特殊性, 在Map Reduce并行处理的前提下数据是以<key, value>的数据对方式存在, , 如果应用JAVA语言汇编时则无法将此类对象作为key, 因此需要借助相关包装方法来弥补这一缺陷, 从而实现compare To () 方法。

2.2 分布式索引子系统

分布式索引子系统具体运行流程具体如下:转换文本格式 (文档统一处理模块) →索引分词 (中文分词模块) →网页评分 (评分模块) →索引 (索引生成模块) 。在该流程中首先需要对信息格式进行统一化, 通过应用通用Document Handler接口及插件保证各类文档如PDF、TXT等均能读取。在信息读取后经由分词模块对信息进行精细化处理, 从而保证索引的效率与精确度, 通过利用Itel Chinese Analyzer来达到分词目的。评分模块主要是对用户搜索行为进行分析, 并以TF-IDF或Page Rank策略来分析用户索引习惯, 从而对检索匹配网页进行排序, 方便于用户快速获取所需网页内容。索引生成模块则是分布式索引子系统的核心组成, 在该模块的作用下借助Index Generator类得到索引字段或构建文档对象, 以便用户经由查询模块对索引信息进行搜索。

2.3 分布式查询子系统

分布式查询子系统主要包括前台查询界面、查询器两个模块。该子系统的稳定性直接关系到用户的体验性与使用满意程度。本研究中以JSP来构建查询前台, 先利用search.html页面对用户查询信息进行采集, 然后对其进行包装并提交。然后search.jsp会对字符串进行提取, 并且Search Bean会以这些字符串作为对象进行相关查询。最后将查询结果进行整合, 并以列表方式反馈于用户。查询器则可对Lucene中的类代用, 借助Map Reduce方式完成查询任务。

3 结语

Hadoop为分布式数据搜索引擎提供了有力的技术基础, 在本研究中基于Hadoop的分布式数据搜索引擎主要由分布式爬行子系统、分布式索引子系统以及分布式查询子系统构成, 在各子系统以及模块的作用下可保证系统能够稳定运行。此类搜索引擎为分布式计算提供了良好的应用空间, 未来将得到更高层次的发展。

参考文献

[1]王俊生, 施运梅, 张仰森.基于Hadoop的分布式搜索引擎关键技术[J].北京信息科技大学学报 (自然科学版) , 2011 (04) .

[2]唐世庆, 李云龙, 田凤明, 胡海荣.基于Hadoop的云计算与存储平台研究与实现[J].四川兵工学报, 2014 (08) .

分布式检索技术 篇6

1.1 智能Agent的概念

所谓Agent是指一类在特定环境下能感知环境,并能自治地运行以代表其设计者或使用者实现一系列目标的计算实体或程序。而智能Agent是人工智能技术、分布式计算技术及神经网络技术等多门技术相结合的产物[1]。

1.2 智能Agent的特性

1) 自治性

Agent可以在没有人类直接干预的情况下进行操作,并且可以控制自身的行为和内部状态。

2) 协作性

多个Agent之间可以通过Agent通信语言相互协作,共同完成一个大的任务。

3) 自适应性

Agent可以感知他们的环境,并能对其变化作出及时的反应。

4) 主动性

Agent不仅能够对所处的环境作出简单的反应,而且能够通过学习陈列出用户感兴趣的模型,使得主动服务成为可能。

5) 自组织性

多个Agent可以物理分布于不同的机器,且可以自组织自己的行为。

6) 移动性

移动性是指具有跨平台持续运行、自我控制移动能力、模拟人类行为关系,并能提供一定人类智能服务。

1.3 多智能Agent系统

所谓多智能Agent系统是指在一个系统中有多个Agent,他们通过Agent通信语言相互协作,共同完成一个大的任务,从而大幅度提高了系统的性能。多智能Agent的协作求解问题的能力超过单个Agent,这是其产生的主要原因[2],在MAS中,数据是分散或分布的,计算过程是异步、并发或并行的。

2 分布式智能移动Agent信息检索系统

2.1 搜索引擎的发展现状

2.1.1 搜索引擎的分类

· 按照信息搜索方法和服务提供方式的不同,搜索引擎系统 可以分为三大类:目录式搜索引擎、机器人搜索引擎、元搜索引擎。

· 按照搜索引擎覆盖的范围,可分为通用型(如Googel)、专题型(如专门收集法律信息的LawCrawler)和特殊型搜索引擎(如查询地图的Webseek和检索文件的Archie FileZ)。

· 从是否有人参与索引过程,可分为人工搜索引擎和智能搜索引擎。

· 按检索分布情况来分,可分为集中式搜索引擎和分布式搜索引擎(如WebAnts和NWI)。

2.1.2 目前搜索引擎存在的问题

尽管搜索引擎对人们的信息查询起到了很大的作用,但同时我们应该看到,搜索引擎技术的发展没能跟上因特网上呈几何级数爆炸性增长的信息的速度[3]。总的来说,目前搜索引擎存在的突出问题主要表现在:

1) 搜索精度差 大多数搜索引擎求全而不求精,用户输入关键词后,会出来一大批网站索引,其中真正有用的并不多。

2) 搜索导航能力差 很多情况下,用户本身无法准确地表达自己的兴趣,在这种情况下,系统的导航能力的作用就显得尤为突出。

3) 针对性差 没有针对不同的用户建立并存储不同的兴趣模型;

4) 一般不具备学习能力,智能性较差

3 系统结构及工作流程

3.1 系统结构

系统中设置有五种Agent,注册Agent(RA)、移动Agent(MA)、用户Agent(UA)、工作Agent(WA)和过滤Agent(FA)。一个系统中有且仅有一个RA,至少有一个MA,每个服务器中至少有一个UA。其中各种Agent的职能如下:

· RA:主要负责注册和注销各种Agent,派遣移动Agent(MA)到异地服务器。

· MA:主要负责携带用户的查询条件和相关信息移动到指定的服务器。

· UA:主要负责与用户交互,将用户的请求反映给系统,并在最后将系统的查询结果返回给用户,充当用户与系统间中介的角色。

· WA:主要负责信息检索,对数据库中的数据执行信息检索程序来进行查询工作。

· FA:FA从WA处得到检索的结果,并根据过滤算法和用户的信息需求进行过滤,滤掉重复的网页、无意义网页和非兴趣网页等。

3.2 系统工作流程

其工作流程可描述如下(见图1):

1) 系统初始化阶段,所有的活跃Agent均到RA注册。

2) 用户通过UA向本地服务器S1提出查询请求。

3) S1根据一定的策略生成多个MA,RA将这些带着查询请 求和相关信息的MA派往到异地的各个站点。

4) 异地的服务器创建一个相应的WA,根据MA带来的信息进行查询工作,并将结果返回给MA带回S1, 交给本地的FA。

5) FA负责将收集到的异地的查询信息和本地搜索的结果进行综合整理,并将整理后的结果提交给UA。

6) UA将结果返回给用户。

7) RA将不再需要的Agent进行注销,至此一次检索任务完成。

4 系统关键技术

4.1 用户兴趣模型及Agent的自学习方法

系统为每个用户建立一个用户兴趣模型[4],其中记录着用户感兴趣的主题对象和其对应的权值(越感兴趣的主题,其对象对应的权值越高)。最初所有对象的权值都是一样的,随着对用户兴趣了解程度的提高,各对象的权值也发生变化,越感兴趣的主题,其相应对象的权值越高,而用户不再感兴趣的主题,其对应的对象应该从兴趣模型中移除掉。通常,权值过一段时间会自动降低,所以,如果没有兴趣迹象的话,主题对象的权值就会一直降低,当降到一定的程度就会被移除(类似于操作系统中的最近最少使用替换规则——LRL)。

Agent通常有三种方法来学习用户的兴趣。

a) 通过观察用户来学习 系统使用一个记忆模型来记录用户输入的关键字以及选择的主题,通过分析模型进行分析,将分析结果记入用户的兴趣模型,以备后用,即Agent从用户日常的浏览行为和用户提供的样本中进行了学习。

b) 从用户的反馈中学习 在多Agent系统引入相关性回馈技术,当查询结果呈现给用户时,用户可以显式地作出反馈,如“我很满意”、“我不满意”、“一般”等;而且,如果用户仅仅将需要的页面内容存到本地存储器的话,系统也可以记录这种隐式的反馈,通过分析模型的分析将结果记入用户兴趣模型。

c) 通过训练来学习 如果使用该系统的用户是他感兴趣主题领域的专家,他可以修改主题树,例如加入新的主题,删除现存的某个主题等,系统可以记录这些变化,更新主题树分支并修改相应的兴趣模型。

4.2 Agent副本和虚拟环境技术

该系统设计中用到MA,为了使系统更完善,我们应该考虑系统的安全问题。主要包括两个方面:一方面要保证系统操作环境不被恶意的Agent破坏;另一方面要防止MA被操作环境损坏[5]。为此,我们提出了如下的解决方法:MA在进入一个系统的时候先注册,然后创建该MA的一个副本,和一个虚拟系统环境,让Agent副本在虚拟环境中试运行,如果运行完毕双方都正常的话就让真正的Agent到真实的系统环境下运行,如果有一方在运行完毕后报告错误的话就制止此次活动。该方法可以保证检索过程的安全性,但是缺点是会影响检索的速度。

4.3 多目标决策制定技术

由于在网络上实现检索有多种性能指标,而且一个性能指标的提高往往会导致其他性能指标的降低,于是就应该根据用户对各性能指标的不同要求程度(紧迫程度)进行选择——即多目标的决策制定。因为各决策过程中不能对各性能指标用数字加以精确的衡量,于是,我们在系统中用到模糊算法来解决这个问题。假设i为用户关心的各个性能指标,Wi代表性能指标i的权值,于是有:

0<=Wi<=1 且iWi=1

用户可以自己设置各个Wi的值,只要满足上式就可以,且越是用户关心的性能i, 其对应的Wi的值越大。然后根据模糊算法得出结论,即用户选择哪套检索策略即可。

5 小 结

本文中针对现在搜索引擎存在的问题提出了一系列解决方案:利用MA到异地服务器执行检索任务来提高检索速度,利用FA对检索的结果进行过滤来提高检索精度,为了解决MA和系统的安全问题,又引入了虚拟环境和Agent副本的方法,但这同时影响到系统的查询速度,于是我们又提出多目标决策制定的方法——模糊算法来针对不同的用户采取不同的检索策略。然而模糊算法不能精确描述问题,这也是今后要研究的热点。

参考文献

[1]刘大有,杨鲲,陈建中.Agent研究现状与发展趋势.软件学报,2000,11(3):315-321.

[2]张玉芳,熊忠阳,吴中福.智能Agent在网络中的应用.计算机应用研究,2000(11):52-62.

[3]王浩鸣,张日贤,吴志军,等.基于智能Agent的中文元搜索引擎模型研究.计算机工程与应用,2005,31:154-156.

[4]林强.基于智能Agent的用户个性化检索系统的实现.图书馆学研究,2005(5):7-10.

分布式检索技术 篇7

随着现代社会信息量的急剧增长,各种以Internet为载体的电子信息愈来愈多,如何有效、快速、准确地在海量信息中查找所需要的信息,已经成为人们的重要需求。全文检索是一种非常有效的信息检索技术,它使人们可以在各种文本中搜索包含指定关键字的文本。全文检索极大地提高了从海量数据中检索或查找特定信息的速度和效率。

全文检索经历了单机、C/S结构到B/S结构的发展历程。随着Internet的飞速发展,基于B/S结构的全文检索技术正得到日益广泛的应用。相对C/S结构来说,B/S具有瘦客户机、易于升级与管理、具有较高的鲁棒性能等特点,但是很难实现复杂的业务和满足文本处理、分析等需求。

本文基于Lucene.NET和.NET Remoting 研究并实现了一种面向海量文本数据的分布式全文检索系统,把Lucene.NET的索引和检索功能封装为.NET Remoting对象,使用.NET Remoting对分布的远程对象进行集成,实现分布式的全文索引与检索。实验说明本系统实现了海量文本的快速索引和检索,适合于门户网站及部门间等的海量文本资源的检索。通过扩展,系统可以适应C/S和B/S这两种应用需求。

1 Lucene.Net全文检索引擎

Lucene.Net是基于Apache基金会jakarta的项目Lucene的二次开发,目的是能够在.Net环境下应用Lucene的强大的全文索引和检索功能。它提供了简单的函数接口,可以方便地嵌入到各种应用中实现全文索引与检索功能。

1.1 Lucene.Net的组成

图1为Lucene.Net组成结构图。

Lucene.Net.Index 模块 主要实现索引文件的读写接口,通过该模块可以实现索引文件的创建和添加、删除以及读写等。

Lucene.Net.Search模块 主要提供了检索接口。通过该模块可以输入检索条件,得到查询结果集,与Lucene.Net.QueryParser配合还可以支持查询条件间的与、或、非、属于等复合查询。

Lucene.Net.Analysis 模块 主要用于分词。分词的工作由Analyzer 的扩展类来实现,由于Lucene.Net自带的 StandardAnalyzer类的分词算法比较简单,只实现了简单的二元分词,其效果较差,我们需要实现自己的中文词法分析器。

Lucene.Net.Document 模块 封装了对文档对象的定义,是对所有文档的抽象。

Lucene.Net.QueryParser查询分析器 提供检索接口,把用户的输入转化为query对象以便查询。

1.2 Lucene.Net的优点

Lucene.Net由于其优秀的性能在各个领域都得到了广泛的应用[5]。除了高效快速,Lucene.Net还具有以下突出的优点[4]:

(1) 索引文件格式独立于应用平台,Lucene.Net 定义了一套以8位字节为基础的索引文件格式,使得不同平台的应用能够共享建立的索引文件。

(2) 增量索引和批量索引,Lucene.Net可以进行增量的索引,对于大量数据进行批量索引,并且提供了用于优化批量索引和小批量的增量索引的接口。

(3) Lucene.Net并没有指定数据源的格式,而是提供了一个通用的结构(Document对象)来接受文件的输入,因此输入的数据源可以是: 数据库、Word文档、PDF文档、HTML文档。

(4) Lucene.Net支持多个字段的索引,通过控制要索引的域,可以索引文档的任何属性,包括日期、作者、摘要等,并且可以选择是否对某个字段进行词法分析,即分词[1]。

2 .NET Remoting 框架

.NET Remoting 是一个丰富的、可扩展的框架,它使得处于不同AppDomain、不同进程和不同机器上的对象可以实现无缝通信。它可用于网络上不同计算机的基于CLR的不同应用程序之间的通信,也可用于在相同计算机上基于CLR的不同应用之间的通信。因为可能使用不同的传输协议(例如SOAP和TCP),应用程序可以使用二进制编码,也可以使用XML文件,因此这是一个非常灵活的架构。其框架如图2所示。

.NET Remoting中通过通道(Channel)来实现两个应用程序域之间的对象通信。首先,客户端通过通道访问服务器端对象,以获得服务端对象的代理。服务器端对象也就是通常所说的远程对象。对于客户程序来说,代理提供了与远程对象完全一样的方法和属性。当代理的方法调用时,就会创建消息,然后将这些消息串行化并发送到客户通道中。通过代理,客户端应用程序就可以如同使用本地对象一样来操作远程对象。.Net Remoting包括的核心元素有[5,8]:

应用程序域 应用程序域是.NET运行库的逻辑进程表示,任何实际的操作系统进程可以包含多个应用程序域。

通道 用以实现应用程序域之间的通信,.NET Remoting通过通道穿越.NET Remoting边界传输序列化的消息对象。.NET Remoting基础设施提供了两种类型的通道,可以用于为分布式应用程序提供传输机制:支持TCP协议的TCPChannel 和支持HTTP协议的HTTPChannel。

远程对象 是指从MarshalByRefobject类派生,且运行于调用方应用程序域之外的对象。在构建多层分布式应用程序时,该对象用于实现业务逻辑层。

代理对象 作为远程对象的代表,代理对象确保对代理进行的所有调用都能够转发到正确的远程对象实例,并将结果返回到客户端。客户端通过调用代理对象实现对远程对象的访问。

3 系统设计与实现

分布式全文检索系统包括分布式索引、分布式检索和负载均衡几个部分,本文开发的系统需要对各种文档、资料进行全文检索,所以文档必须同时考虑在文件服务器和数据库里存储,这样使系统具有高度的扩展性,充分发挥软硬件的性能,实现快速索引和检索。系统利用Lucene.Net优秀的索引和检索性能实现检索和索引的远程对象,即把检索和索引功能实现为.NET Remoting远程对象,远程对象分布在各个索引引擎和检索服务器上,系统通过.NET Remoting对各远程对象进行调度和集成。

系统结构如图 3所示,系统包括三个服务。

3.1 全文索引服务

全文索引服务对数据库和文件服务器里的文档进行索引,建立索引文件,主要包括:

数据库网关 数据库网关定时从数据库里把存储的各类文档检索出来,提交给全文索引引擎,其中包括文档的各种属性信息。全文索引引擎对各种文档建立索引。

文件加载进程 文件加载进程定时从文件服务器的目录加载新的文档,提交给全文索引引擎。

索引作业调度进程 索引作业调度进程对数据库网关和文件加载进程提交的索引作业进行调度,它保存当前各个索引引擎的负载信息,把索引作业分配给当前任务最少的索引引擎,有效利用各个索引节点的硬件性能。

全文索引引擎 如图4所示,引擎是分布在各个索引服务器上的远程对象,负责对提交的各类文档建立索引。引擎采用Lucene.Net实现,引擎对文档及其各种属性信息建立索引。引擎由索引作业调度进程调度,该进程拥有索引引擎的远程代理,可以动态地调用服务器上的远程索引对象对文档进行索引。

3.2 全文检索服务

全文检索服务接收客户端的检索请求,检索各个索引节点的索引文件,合并检索结果并对结果进行排序。如图5所示,全文检索服务是分布在各检索服务器上的.NET Remoting远程对象,当用户发送检索请求时,负载均衡进程选择负载最轻的服务器,获取其上的远程检索对象进行检索,该远程对象检索各个索引节点,把检索结果返回给用户。

这里涉及一个检索的并行性问题,有以下两种选择:

(1) 把检索请求分发给各检索服务器让每个服务器分别在一个或者几个索引节点检索,再将检索结果进行合并。

(2) 把检索请求分发给负载最轻的检索服务器,让其在每个索引节点检索然后把结果返回给用户。

第一种方案对单个检索请求的检索速度比较快,但第二个方案对于大量并发检索请求的检索速度比第一个快。如果主要要求单个检索的速度,可以选择第一种方案,在所开发的系统中,由于要考虑大量并发的检索请求,在该系统中主要采用第二种方案。

3.3 负载均衡服务

负载均衡服务负责对检索进行调度,它保存当前系统的负载信息,自动把检索请求分配给负载最轻的全文检索服务器。负载均衡服务拥有这些信息:当前可用服务器队列,各服务器平均检索速度,各服务器最近一次执行任务的时间。

本系统基于这样的均衡策略:

(1) 接收检索请求,从当前可用服务器队列中找到空闲时间最长的服务器。

(2) 从(1)中得到的服务器中选择平均检索速度最快的服务器,若平均检索速度一样,则随机选择其中一台服务器。

(3) 从(2)中选择的服务器上获取远程检索对象,发送检索请求。

(4) 修改所选服务器的最近一次执行任务的时间。

3.4 系统运行流程

系统由两个相对独立的流程组成:

索引流程 数据库网关和文件加载进程从数据库或者文件服务器加载没有建立索引的文件,提交给作业调度进程,作业调度进程选择一台或者多台索引服务器,获取该服务器上的远程对象,把文件提交给远程对象,由远程对象对其进行索引。其中作业调度进程一直在后台运行,一旦有索引任务提交立即对任务进行分发。

检索流程 首先用户通过客户端提交检索请求,负载均衡服务获取请求,根据各检索服务器的负载情况和检索速度选择合适的服务器,获取该服务器上的远程对象,把检索请求提交给远程对象,由远程对象根据请求检索索引文件返回检索结果。

4 实验结果

系统采用开放源代码的中科院ICTCLAS分词组件作为Lucene.Net的词法分析器,并对ICTCLAS进行了部分优化。部署环境为四台IBM X3500服务器,其中两台作为检索服务器,另外两台作为索引服务器,为实验系统的性能以三台PC机模拟检索客户端,PC机上分别运行数量不定的检索线程,通过统计检索的平均时间来衡量系统对并发访问的响应速度。

测试数据是笔者搜集的大量纯文本文件,针对不同文本量进行索引,结果如图6所示。

由实验得到系统平均索引速度约为2.078G/min,并且索引所耗时间几乎呈线性增长,文本量的增加没有对索引速度造成影响。

为测试检索速度,系统使用约50G文本的索引文件对不同数量的并发客户端进行测试,结果如图7所示。

限于PC机的性能,PC机上所运行的检索线程不能太多,但系统对5000个客户端的平均反应时间小于10毫秒,这样的速度已经满足快速检索的需求。

实验结果说明系统具有良好的索引和检索性能,满足快速索引和检索的需求。系统把分布在不同地方和网络的软硬件资源集成起来,实现了计算的并行与分布性,提高了索引和检索的速度。

5 结 论

本文基于Lucene.Net和.NET Remoting设计并开发了一个分布式的全文检索系统,创新性地把.NET Remoting应用于全文检索,实现了一个高效快速的全文检索系统。系统具有高效快速、分布式的特点;系统充分利用了软硬件资源,实现快速的索引和检索。存在的问题在于系统未对检索的算法进行优化,使系统在查全率和查准率上相对一般基于Lucene.Net的全文检索系统没有明显提高。

该系统在军队某部信息管理系统中得到了很好的应用,同时该系统也为海量文本检索提供了一个良好的解决方案。

参考文献

[1]张校乾,金玉玲,侯丽波.一种基于Lucene检索引擎的全文数据库的研究与实现[J].现代图书情报技术,2005(2):40-41.

[2]张英武,杜凯,杨树强,等.分式海量文本检索系统研究[J].微电子学与计算,2006(23):20-22.

[3]蔡建超,郭一平,王亮.基于Lucene.Net校园网搜索引擎的设计与实现[J].计算机技术与发展,2006(11):73-74.

[4]赵汀,孟祥武.基于Lucene.Net的中文全文数据库设计与实现[J].计算机工程与应用,2003(20):179-181.

[5]马俊,杨开英,彭玉卓,等.NET Remoting与分布式计算[J].计算机技术与发展,2007(2):118-120.

[6]马保国,王文丰,侯存军,等.基于.NET Remoting的分布式系统实现[J].计算机技术与发展,2006(3):50-52.

[7]林碧英,赵锐,陈良臣.基于Lucene的全文检索引擎研究与应用[J].计算机技术与发展,2007(5):184-187.

分布式检索技术 篇8

近几十年来,随着计算机技术的迅速发展,现代CAD系统提供强大的工具创建和编辑工程图,如AutoCAD、UG、CATIA。虽然在工程图应用领域重用过去的工程图已经成为一种惯例,但是在当前CAD系统中并没有提供相应的自动检索机制。据资料估计,在产品开发中约有80%的设计为变形设计和自适应设计,其中约有40%是重用过去的部件设计,40%对已有部件稍作修改,而全新的设计仅占20%[1]。由此可知,已有的工程图资料是企业进行新产品设计和开发的重要依据和基础,准确地检索出工程图信息对于进行新产品的设计具有重要的意义。

图形形状的相似性比较是模式识别与图形检索领域的主要研究内容,目前有多种图形形状的相似性比较算法。常用的轮廓描述子是傅里叶描述子(Fourier descriptor,FD)[2],傅里叶描述子具有选择和比例不变性的特点,用于描述工程图形的外轮廓。Legendre[3]描述子是正交描述子,具有比例不变性的优点,但是其不具有图形旋转不变性。形状分布算法是由Osada[4,5]等率先提出,主要用于三维模型的形状特征提取,可以很好的描述三维形状的几何特征,而二维形状可以看作是三维形状在二维空间中的投影,那么通过改进三维形状分布方法,可以设计出一种二维形状分布算法,其必然能够很好地描述二维形状的几何特征。基于上述思想,本文提出了一种基于形状分布的工程图形整体相似性检索方法。

1 基于形状分布的工程图整体相似性检索方法总体思路

工程图形整体相似性检索与2 D图形形状识别相对应。本文定义工程图形整体相似性检索为:给定一个工程图A和一个工程图库L={Bi|0≤i≤n},如何计算工程图A与Bi之间的相似性,即D(A,Bi),并且找到最相似的k个工程图。在检索过程中,寻找一个合适的图形形状描述符是工程图整体相似性检索效果的关键。本文从统计学角度提出通过从工程图图形上采集采样点的形状分布算法,其总体思路如图1所示。

2 形状分布算法主要步骤

2.1 选择形状分布函数

选择形状函数的目的是提取二维图形的形状信号,理想的形状函数所提取的形状信号具有变换不变性,即相同的工程图图形对旋转、平移和缩放等变换具有相同的形状信号。本文选用D2[4,5]形状分布函数,其分布曲线是一些规范化的形状,如图2所示。通常,不同的图形对应的分布是不一样的,且连续改变的工程图图形对D2分布的影响是连续的。

2.2 计算统计数据

在设计好形状函数之后计算统计数据。一般来讲,给定一个图形,随机计算图形上任意两点的距离的复杂度非常大,根据统计理论,可以通过随机采样来解决。而要实施随机采样,就必须解决三个关键问题:一是如何对图形进行表示才能设计出合理的随机采样方法;二是如何设计合理的随机采样方法;三是随机采样多少个数据点才能充分反映图形的形状特征,而且计算量在可接受的范围内。下面给出上述三个问题的解决方法。

1)工程图形的离散化表示

一个工程图形由一些基本的几何元素组成,如线段、圆弧、圆、样条曲线等。为了更好更有效的对工程图形进行数据点采样,本文将工程图形离散化为由一系列线段组成的集合。对于圆弧、圆、样条曲线由一系列线段去近似。这样一个工程图形可以表示为:

其中n为S中线段的个数,(xi,yi)与(xi+1,yi+1)分别为线段的起点与终点。

2)数据点的随机采样方法

合理的随机采样方法不仅能够反映图形的总体形状特征,还要充分体现图形局部的细节特征。为此,本文设计了一种基于查表算法的数据点采样方法,该方法基于图形的离散化表示,其详细步骤如下:

1)计算二维工程图形S中所有线段的总长度。每相加一个线段,就将该长度存入表T中,其大小为n,其中图形线段的个数为n-1,则表T可以表示为一个线性数组,如式(1)所示。

其中L表示两个点之间的欧氏距离。

2)随机产生一个实数r(0≤r≤tn-1);然后采用著名的二分法查找法找到值r在表T中的位置,该位置记为((xm,ym),(xm+1,ym+1))。

3)随机产生一个实数l(0≤l≤1),根据式(2),可以获得一个采样数据点(xk,yk),并且将其存入数据点采样向量A。

4)重复执行2)与3)2N次获得N个无偏数据采样点对。

从统计学理论角度来讲,采样点的数量越多,就越能反映三视图的形状特征。但是采样点越多,则计算量越大,需要的计算时间就越长,效率越低。因此,二者是矛盾的,必须寻找一个平衡点,即采样点的数目既能充分反映图形的形状特征,又能将计算量控制在可接受的范围内。

为了获取该平衡点,选取不同数目的采样点进行实验,实验结果如图3所示,其中横坐标代表采样点的数目,纵坐标代表采样过程所需时间或不同数目的采样点描述图形形状的准确度。从图3可以看出,当采样点数目为103个时,即N=103效果比较好,即此时不仅能够充分反映图形的准确度,而且采样过程所需时间又在可接受的范围内。

2.3 构造形状分布曲线

本文采用统计理论对随机信号进行参数化,并且对随机点对之间的距离值进行统计,生成一个形状直方图。对于不同大小的工程图形,其距离值跨度很大,因此需要对形状分布直方图的尺度进行归一化。本文以D2距离的平均值的1/50作为区间长度,统计落在第i个区间的点对距离数量为Ni,以i的值作为横轴,纵轴可以表示为100×Ni/499500,由此构建形状直方图,如图4(a)所示,通过对形状直方图的拟合形成形状分布曲线图,如图4(b)所示。随机信号参数化的结果即把工程图形的形状信号参数化成为一个形状分布直方图(离散的)或形状分布曲线图(连续的)。

2.4 相似性度量

通过计算工程图形上任意两点之间的距离并进行统计,工程图形的形状特征被映射成为一个形状分布曲线,这样,工程图形之间的相似性比较就可以转化为形状分布曲线之间的距离度量。距离越大,工程图形之间的差别就越大,反义亦然。两个分布之间的距离包括Minkowski距离、x2统计距离、二次距离等,本文采用EMD距离。

EMD距离是一种有效且正在被越来越广泛使用的集合间或向量间距离计算方式[6]。它能只通过一次线性规划计算出两个具有不等(或相等)权值分布的不同(或相同)大小的集合或向量的距离。该算法产生于物理学,线性规划中的运输问题可作为其具体求解算法。

形象的解释EMD距离算法就是:空间S中分布着M堆土Pi,i=1,…,M,每堆土的质量为wpi,同时分布有N个土坑Qi,i=1,…,N,每个坑可以装土的质量为wqi。把所有土填到这些坑内,做的功表示为:

其中d(Pi,Qj)表示第i堆土到第j个坑的距离,称其为基本距离或单位代价。fij表示从第i堆土到第个坑的土的质量。d(Pi,Qj)fij表示把第i堆土中质量为fij的土运到第j个坑所做的功。式(3)满足如下约束:

约束1说明,每次搬运的质量大于零时才做功。约束2说明,从第i堆土运到各个坑的土的质量总和,一定不会大于该堆土的质量。约束3说明从各堆土运到第j个坑的土的质量总和,一定不会大于该坑所能容纳的土的质量。

从上述定义,不难把工程图形的相似性度量问题转化为EMD距离计算问题。当测量两个工程图形的距离时,把其中一个工程图形的形状分布分量映射成土堆,另一个工程图形的形状分布分量映射成土坑,则两个工程图形之间的距离,就是把所有的土填入坑内,在选择最佳路径的情况下,做功的最小值。因此,两个工程图形形状分布的EMD距离定义为:

式(4)的分母是归一化因子。分子同线性规划中运输问题的目标函数完全一致,约束条件也可以转换为运输问题的约束条件的标准形式,因此可以很方便地应用运输问题的标准算法求解。

3 实例验证与讨论

为了验证本文所提出的基于形状分布的工程图形整体相似性检索方法的有效性,我们构建了一个工程图库,该工程图库包括轴类、盘类、箱体类等各类零件模型共300个,工程图形的数据格式统一采用DXF标准格式,以Microsoft Visual Studio 2008为集成开发环境验证本文算法。基于该模型库,我们进行了如下两个方面的实验。

实验1:形状分布算法实例分析。给定一个图形,从工程图库中检索出与其最相似的5个图形,其结果如表1所示。从表1可以看出,本文方法能够实现工程图形的整体相似性检索,能够检索出所有与检索图形整体相似的图形(共4个),与人的相似性感知结论相同。

实验2:工程图整体相似性检索算法检索性能比较.为了验证本文算法的检索性能,将本文方法与文献[2][7]方法进行比较,其中“D2”代表本文的D2形状分布算法,“Fourier”代表文献[2]中提出的基于傅里叶描述子的工程图整体相似性检索算法,“Hough transform”代表文献[7]中提出的方法。图5绘制了三种方法的查全率—查准率曲线(PR曲线),从图5可以看出,本文提出的基于形状分布的工程图形整体相似性检索方法的检索性能优于文献[2][7]中的方法。

4 结束语

本文提出了一种基于形状分布的工程图形整体相似性检索方法,并将其应用到工程图模型的相似性评价中。该方法首先对工程图形进行无偏采样,将一个工程图形表达为一个形状分布曲线,将工程图形的整体相似性匹配问题转化为两个工程图模型的形状分布曲线比较问题,然后采用EMD距离计算出两个图形间的相似性。实验结果显示,本文算法能够实现工程图形的整体相似性检索,并且形状分布算法检索性能优于文献[2][7]所提出的方法。

在下一阶段研究中,我们将对工程图模型构建索引描述子,依据索引描述子对模型进行分类,在此基础上进一步改进本文算法,提高检索效率;将本文算法与工程语义相结合,不但利用工程图的空间关系和几何信息,而且利用工程图所包含的语义信息,使其更有利于设计人员设计新产品。

参考文献

[1]王玉,刑渊,阮雪榆.机械产品设计重用策略研究[J].机械工程学报,2002,38(5):145~148.

[2]Tabbone S,Wending L,Tombre K.Matching of graphical sy-mbols in line-drawing images using angular signatureinformation[J].Int J Doc Anal Recog,2003,6(2):115-125.

[3]Yun G E,Shu H Z,Luo L M.A new way of linear registrationusing the legendre orthogonal moment and applicationin 2-value image data[J].Acta Electronica Sinica,2001,29(1):54-56.

[4]Osada R,Funkhouser T,Chazelle B,Dobkin D.Shape distri-bution[J].ACM Trans Graph,2002,21(4):807-832.

[5]Osada R,Funkhouser T,Chazelle B,er al.Matching 3d Modelswith Shape Distributions[C]//International Conference onShape Modeling and Applications.Geneba:IEEE ComputerSociety Press,2001:154-166.

[6]Y.Rubner,C.Tomasi,L.J.Guibas,The earth mover's distanceas a metric for image retrieval[J].International Journal ofComputer Vision,2000,40(2):99-121.

音频检索技术概述 篇9

随着互联网和移动通信技术的发展, 越来越多的人能够更加方便、快捷、经济地通过网络查找和传输各种信息。基于文本的信息检索已经无法满足现代的人们的需求, 图像图形信息和音频信息检索应运而生。

音频信息作为一种重要的信息载体, 相比图像、图形和文本信息有其独特的便利和优越性。音频信息检索技术有着广泛的应用前景: (l) 它是智能语音系统的核心技术, 用户可通过该技术方便快捷地获取所需的信息; (2) 它可以实现对网络中的媒体, 例如网上电视, 音视频等的音频信息进行实时检索、审查和有效监控, 对各种数字音频产品的版权保护, 如音乐的版权保护, 即搜索未经授权的使用等; (3) 它在音频信息分类与统计技术的研究中也扮演着重要的角色, 如在广播电视新闻节目、数字图书馆等内容中包含着大量的语音、音乐等信息, 使用音频信息检索技术可以有效地对这些信息进行分类、统计与检索, 更好地管理、存储与高效利用这些资源。此外, 它还可应用于网络管理、信息安全以及军事刑侦等诸多领域。

2 音频检索技术

2.1 音频及音频内容

音频泛指人类能够听到的所有声音。人耳能够听见的声波频率范围是20Hz~20 000Hz, 其中语音频率大约分布在300Hz~4 000Hz之间, 而音乐和其他自然声响则是全范围分布。

音频的内容从整体上来看可以分成三个等级:最底层的物理样本级、中间层的声学特征级和最高层的语义级。在物理样本级, 音频内容呈现的是媒体流形式, 其中包含原始音频数据和注册数据 (如采样频率、量化精度和压缩编码方法等) [1]。用户可以通过时间刻度检索或调用音频的样本数据, 如常用的音频录放软件Cool Edit。中间层是声学特征级。声学特征是从音频数据中自动抽取的, 它可以分为物理特征 (Physical Feature) 和感觉特征 (Perceptual Feature) , 前者包括音频的基频、幅度和共振峰结构等, 后者表达用户对音频的感知, 例如音调、响度和音色等, 可直接用于检索。最高层是语义级, 是音频内容、音频对象的概念描述, 在这个级别上, 音频的内容可以是语音识别、辨别后的结果 (文本) 、音乐旋律和叙事说明等。

2.2 主要的音频检索技术

早期对于音频信息的检索, 主要是采用文本检索技术, 即通过人工方式输入音频的属性和描述 (例如文件名、文件格式等文本信息) 来进行检索, 但其局限性非常明显:首先, 互联网信息庞杂, 充斥着许多未标注、错误标注文件名等文本信息的音频数据, 而如要正确标注互联网所有音频数据显然非人力所及;其次, 许多现实的应用需要使用音频数据本身的感知内容, 而这种感知内容通过简单的文件名等文本标注无法体现, 如音乐的旋律、音调、音质等[2]。再次, 即便针对于语音信息, 比如新闻记录、谈话记录等, 通过文本检索技术也仅仅是检索其文件标注, 而不能检索其内容。

为了解决上述问题, 基于内容的音频检索 (Content-Based Audio Retrieval, CBAR) 应运而生。它主要研究如何利用音频信息的幅度、频谱等物理特征, 响度、音高、音色等听觉特征和音频类别、语义等特征实现音频信息检索[3]。由于起步晚、数据复杂、研究难度大等原因, 基于内容的音频信息检索技术和文本检索技术相比仍存在很大差距, 还有大量问题亟待解决。

2.3 音频检索系统的基本框架

音频的听觉特性决定其查询方式不同于常规的信息检索系统。基于内容的音频检索, 该方法是从媒体数据总体取出特定的信息线索, 建立音频数据表示方法和数据模型, 采用有效和可靠的查询处理算法, 使得用户可以在智能化的查询接口的辅助下, 从大量存储数据库中的媒体进行查找, 检索出与接收的音频信号具有相似特征的媒体数据出来。它实际上是一种相似查询, 是检索出与用户指定的要求非常相似的所有声音。其检索系统的基本框架如图1所示:首先是建立数据库:对音频数据进行特征提取, 将特征装入特征库部分, 并通过特征对数据聚类, 然后将聚类信息装入聚类参数库部分。数据库建立以后就可以进行音频信息检索。在查询接口上, 用户可以采用以下形式提交查询: (1) 示例查询方式 (Query by example) :用户通过查询界面选择一个声音查询例子, 并设定属性值, 然后提交查询。如查询与飞机的轰鸣声相似的所有声音。 (2) 拟声查询方式:用户发出与要查找的声音性质相似的声音来表达查询要求。如用户可以发出“嗡嗡”声来查找蜜蜂或电气嘈杂声。 (3) 主观特征:用个人的描述语言来描述声音。这需要训练系统理解这些描述术语的含义, 如用户可能要寻找“欢快”的声音。用户提交查询后, 系统对用户提交的内容进行提取特征, 结合属性值确定查询特征矢量, 并对特征矢量进行模糊聚类, 然后检索引擎对特征矢量与聚类参数集进行匹配, 最后按相关性排序后通过查询接口返回给用户[4]。

2.4 音频检索系统的核心技术

音频检索技术中最关键的主要是音频内容识别、获取与分类、音频特征提取 (音频内容的描述) 和音频分割与分类和特征相似度匹配四个部分。首先是预处理阶段对输入的音频进行格式转换 (在此实现多采样率支持, 多格式支持 (wav, mp3, rm) , 转换为系统内部统一格式) [5]。

其次音频特征提取是整个音频检索最核心的技术, 它是在音频内容获取的基础之上进行的, 同时是进一步进行音频特征相似度匹配的必要前提, 特征提取是指寻找原始音频信号的表达形式, 提取出能代表原始信号的数据形式.与文本检索中的特征是关键字不同, 在音频数据中提取特征有两种方法, 一种是提取听觉感知特征如音调、音高等。另一种是计算非感知特征或者称物理特征, 如对数倒频谱系数、线性预测系数。要抽取特征和属性, 通常要对数据库中的多媒体数据项进行预处理。所有这些提取出来的特征被用来表征音频数据流, 在检索过程中, 是对这些特征和属性而不是对信息项本身进行搜索和比较, 所以特征抽取的质量决定着检索效果。

由于音频信息是时间序列的数据流, 为了对持续时间很长的音频直接进行处理, 选择在其特征发生突变的地方进行分割, 把连续多媒体数据流分成不同长度的数据片段, 即音频分割, 然后对分割好的数据片段进行处理。音频数据流分割基本是根据所提取的音频低层物理特征完成的, 所分割出来音频数据只是些物理单元, 需要对这些物理单元进行识别分类, 将它们归属成事先定义好的不同语义类, 这由音频识别分类这一步完成。根据音频的特征值可将音频进行分类, 在这一步中, 可以对分割出来的音频物理单元进行组分, 如将切分出来的音频分类为静音、音乐和语音、环境音等, 也可以进行某一事件或某一人物的精细分类, 如“暴力”事件、“演讲”事件等。常见的分类方法是:首先计算输入音频片段的频谱中心, 如果其频谱中心值比预先设定的阈值高, 则认为它是音乐, 否则它是语音, 但由于有的音乐也具有低的频谱中心值, 因此, 它也可能是音乐。其次, 计算静音比, 如果它的静音比低, 则认为它是音乐, 否则, 认为它是语音或独奏音乐。最后计算平均过零率ZCR, 如果它有着非常高的ZCR可变性, 则它是语音, 否则它是独奏音乐。

最后就是对识别出来的语义类建立索引, 进行检索。建立索引可以有三个途径:

(1) 用文字形成的抽象概念描述这些类别, 这样用户必须通过文字查询音频数据。

(2) 用音频特征建立索引, 查询时用户提交的是对特征的描述, 如对音频能量描述的“音调”。

(3) 提交一个音频例子, 提取这个音频例子的特征, 按照前面介绍的音频例子识别方法判断这个音频例子属于那一类, 然后把识别出的这类所包含的若干个样本按序返回给用户, 这是基于例子的音频检索。基于例子的音频检索遵循概率排队的规则, 根据用户的查询需要, 基于检索模型对查询样本和库中音频分别计算音频的相关特征, 并比较相似性, 最后按相似性值由大到小排列库中音频, 完成一个查询过程。

3 音频的检索模式

根据音频的特性, 可以将音频划分为三种:语音、音乐和其他声响。相应的音频检索可以分为三种主要的模式:语音检索、音乐检索和波形声音检索。语音检索是指以语音为中心的检索, 采用语音识别等处理技术进行检索, 例如有关电话记录、会议录音的检索等。音乐检索是以音乐为中心的检索, 充分利用音乐的音符和旋律等音乐特性来进行检索, 例如音乐作品的检索等。波形声音检索主要以波形文件为对象的检索, 依据声学特征来检索。后两者都是利用更一般性的音频分析, 以适合更广泛的音频媒体。

3.1 语音检索技术

基于语音技术的检索目前较成熟的有:利用大词汇语音识别技术进行检索、子词单元检索、关键词识别检索、对说话人的辨认进行分割检索。

(1) 利用大词汇语音识别技术进行检索

这种方法是利用自动语音识别 (ASR) 技术把语音转换为文本, 从而可以采用文本检索方法进行检索。虽然好的连续语音识别系统在小心地操作下可以达到90%以上的词语正确度, 但在实际应用中, 如电话和新闻产播等, 其识别率并不高。即使这样, ASR识别出来的脚本仍然对语音信息的检索有用, 这是因为检索任务只是匹配包含在音频数据中的查询词句, 而不是要求得到一篇可读性好的文章。

(2) 子词单元检索

当语音识别系统处理无限制主题的大范围语音资料时, 其识别性能会变差, 尤其当一些专业词汇 (如人名、地点) 不在系统词库中时。一种变通的方法是利用子词 (Sub-Word) 索引单元, 当执行查询时, 用户的查询首先被分解为子词单元, 然后将这些单元的特征与库中预先计算好的特征进行匹配。

(3) 关键词识别检索

在无约束的语音中自动检测词或短语通常称为关键词的发现 (Spotting) 。利用该技术, 识别或标记出长段录音或音轨中反映用户感兴趣的事件, 这些标记就可以用于检索。如通过捕捉体育比赛解说词中“进球”的词语可以标记进球的内容。

(4) 对说话人的辨认进行分割

这种技术是简单地辨别出说话人口音的差别, 而不是识别出说的是什么。它在合适的环境中可以做到非常准确。利用这种技术, 可以根据说话人的变化分割录音, 并建立录音索引。如用这种技术检测视频或多媒体资源的声音轨迹中的说话人的变化, 建立索引和确定某种类型的结构 (如对话) 。例如, 分割和分析会议录音, 分割的区段对应于不同的说话人, 可以方便地直接浏览长篇的会议资料。

3.2 音乐检索技术

基于内容的音乐检索涉及音乐旋律的表达、音乐旋律的特征提取、用户查询构造、音乐旋律匹配以及音乐数据库构造等很多方面的问题, 这些问题的解决是建立一个完整、有效的音乐检索系统的关键。基于内容的音乐检索通常采用下面通用的步骤: (1) 音乐旋律的表达.即音频信号的预处理; (2) 通过对音乐旋律的特征提取, 形成查询索引; (3) 对音乐数据库中的音乐建立音频索引; (4) 用户查询构造; (5) 根据查询索引和数据库中音频索引之间的相似性, 对音乐片段进行检索。基于内容的音乐检索主要是基于音频特征 (如节奏、音符、乐器) 矢量匹配和近似音调匹配。计算机对信息的表达归根结底是种状态表达, 要将听觉感知的信息借助计算机进行存储与检索, 这不仅依靠用户本身感官与表达的一致性, 也依靠统计的度量算法的选用, 因此, 基于内容的音频检索只能是一种相似性检索, 而无法实现传统的精确匹配检索。虽然研究人员已在基于内容的音乐检索技术方面做了大量的研究, 但是为了满足大容量数据库和www检索的要求还有许多工作要做。

3.3 波形检索

其他音频检索是以波形声音为对象的检索, 这里的音频可以是汽车发动机声、雨声、鸟叫声, 也可以是语音和音乐等, 这些音频都统一用声学特征来检索。虽然ASR可以对语音内容给出有价值的线索, 但是, 还有大量其他的音频数据需要处理, 从声音效果到动物叫声以及合成声音等[6]。因此, 对于一般的音频, 仅仅有语音技术是不够的, 使用户能从大型音频数据库中或一段长录音中找到感兴趣的音频内容是音频检索要做的事。音频数据的训练、分类和分割方便了音频数据库的浏览和查找, 基于样例的音频检索为用户提供高级的音频查询接口。

4 音频检索的研究现状与不足

音频检索日益成为国内外研究的热点, 目前较成熟的研究包括美国的Muscle Fish系统;IBM的Via voice系统;马里兰 (Maryland) 大学的Voice Graph系统和Android系统的Voice Actions;苹果公司的siri智能语音控制系统, 以及国内的金立手机的语音控制系统和ARS系统。

Muscle Fish是较早推出的较为完整的原型系统。它通过直接对音频进行波形特征分析, 得到声学参数如音高、音强、音长、带宽等, 形成相应的N维特征矢量, 并以此作为比较和聚类的依据。

Via voice和Voice Actions主要是语音识别系统, 用户可通过话筒输入语音信息, 就可以让计算机执行相应的命令, 包括搜寻相应的信息, 打开软件, 写报告等等。Voice Actions提供了非常坚实可靠的声音识别引擎, 它的高识别度令人称奇。不过, 这两个系统也和过去的所有语音命令系统一样, 要求说的话要具备严格的语法结构和格式, 否则系统将无法识别。

苹果公司i OS系统自带的Siri和前者类似, 也是一款以语音识别为基础的系统, 但相比前者, 它不仅拥有较完善的语音识别功能, 可以通过声控搜寻相关信息, 执行某些命令, 其最大的特点则是在人机互动方面, Siri可以针对客户的询问进行语音回答, 回答的内容不至于答非所问, 更重要的是, 可以抛弃繁琐的语法结构, 甚至思维模式也可以混乱, Siri会结合上下文结构去理解, 它还会从人类语言史的角度出发, 利用人工智能系统去分析, 并在绝大多数情况下领会用户的意思。而更加人性化的特点是, 一旦你开始和Siri进入一段对话, 它甚至能理解许多含义模糊或者引申的语义, 所以在一定意义上说, Siri是一款智能控制系统。而Voice Actions做不到这样的事情, 因为它只是一个声控命令软件, 而并非人工智能。

Voice Graph结合基于内容和基于说话人的查询, 检索已知的说话人和词语, 并设计了一种音频图示查询接口。

国产的金立语音王手机自带的金立语音控制系统和ARS也是一种基于内容的音频检索系统, 金立语音控制系统主要是中文的语音识别, 在识别的基础上实现某些手机功能的操作, 使用范围狭窄, 仅仅适用于操作金立手机上的相关功能, 对语音的识别也很有限。而ARS系统通过提取音调、音强、亮度、带宽、过零率等5个特征, 对数据进行分类和处理。操作过程首先判定其是否为音频, 而后进行语言识别以判定采用何种音频检索模式。

上述几个系统中Muscle Fish、Voice Graph和ARS虽然都是基于内容的音频检索系统, 但都有各自的不足, 如Muscle Fish虽然直接进行波形检索, 但他只对笑声、铃声、电话声等16类特定的声音有较高的准确率, 而对于这16类特定声音的检索性能的好坏还依赖于哼唱输入信号的音调跟踪的准确性, 只有当在相邻的音符之间插入一个停顿时才能获得很高的性能。而Voice Graph使用的准确度也非常有限, 而ARS和金立语音识别主要是针对中文语音, 识别的范围也十分有限, 对于音乐和其他波形的准确率都有待提升。Siri在语音识别方面算是十分完善的, 支持中文、英文、法文等十多种语言的识别和控制, 但是同样的对其他音频都不能进行处理。

基于内容的音频检索还处于不成熟的领域, 基于语音识别的语音索引和检索相对比较容易, 但是没有任何词汇限制的一般主题的语音识别性能仍有待改进。对于音乐检索, 主要是基于音频特征矢量匹配和近似音调匹配, 这方面许多研究已经做了大量工作, 然而对于一般情况下如何感知音乐和音频以及关于音乐片段之间的相似性比较, 还有许多工作要做。

5 总结与展望

本文介绍了音频检索系统的框架, 主要的检索技术和检索模式和相关的问题, 虽然许多研究对音频检索技术做了大量探讨, 但基于内容的音频检索还处在起步阶段, 该研究领域与信号处理、人感知心理研究和模式识别等学科都紧密相连。为了使计算机能像人那样对音频语义实现自动理解, 对音频信息就行搜索, 还有许多急待解决的问题, 如高层概念和底层特征的关联, 以实现音频语义的计算机自动抽取;网络大量数据的高效处理检索;音乐旋律的结构化检索等。此外, 对音频特征的表示、音频信息的聚类以及特征信息的挖掘都有待进一步的发展。

参考文献

[1]黄卫平, 肖健宇, 张大方.多媒体数据库的关键技术:特征的提取与索引.计算机工程与应用, 2003, 39 (11) :194~196

[2]邢伟利.基于内容的音频检索技术研究与实现[D].西安:西北大学.2004

[3]李国辉等.基于内容的检索[N].计算机世界专题, 1998, 05:26

[4]李恒峰, 李国辉.基于内容的音频检索与分类[J].计算机工程与应用, 2000, 07:54~56

[5]刘伟成, 孙吉红.基于内容的图像信息检索综述[J].情报科学, 2001, (4) :431-437

上一篇:地方知识产权管理体制下一篇:七年级文言文的教学