基于本体的动漫资源检索系统分析与设计.doc

上传人:文库蛋蛋多 文档编号:3940653 上传时间:2023-03-28 格式:DOC 页数:10 大小:952.50KB
返回 下载 相关 举报
基于本体的动漫资源检索系统分析与设计.doc_第1页
第1页 / 共10页
基于本体的动漫资源检索系统分析与设计.doc_第2页
第2页 / 共10页
基于本体的动漫资源检索系统分析与设计.doc_第3页
第3页 / 共10页
基于本体的动漫资源检索系统分析与设计.doc_第4页
第4页 / 共10页
基于本体的动漫资源检索系统分析与设计.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《基于本体的动漫资源检索系统分析与设计.doc》由会员分享,可在线阅读,更多相关《基于本体的动漫资源检索系统分析与设计.doc(10页珍藏版)》请在三一办公上搜索。

1、基于本体的动画素材检索系统分析与设计一、 项目概述本项目实现面向动画素材(包括人物造型、道具、二维场景、三维场景、原画(即线稿)、色稿等)的检索系统。根据事先建立的领域本体,该系统为每个资源文件建立对应的语义特征文件,并将资源文件及其特征文件存入系统当中,然后基于这些特征文件建立语义索引以便加速检索。当系统收到用户输入的受限中文查询语句时,先对该查询请求进行规范化处理,然后根据本体对其进行概念扩展,再将得到的概念和实例集合作为语义索引与原先建立的语义索引进行匹配,最终将搜索到的资源返回给用户,结束查询。二、 系统要求1. 对于查询请求,具有较好的查准率和查全率,较快的检索速度;2. 能方便用户

2、将要标注的资源及标注结果存入系统;3. 能够较为快速的响应多个(不少于20个)客户端的请求;4. 三、 系统限制1. 各种素材及系统所需的各种资源由数据库统一管理;2. 当系统扩展为网络检索时,所有客户端拥有相同的程序界面;3. 四、 系统框架 五、 系统概述与各组成部分功能说明1. 概述当用户以受限中文语句提交查询请求后,自然语言模块对该查询请求进行规范化处理,并将规范的查询词集合提交给检索请求重构器;检索请求重构器首先对查询词集合中每个词语赋予不同的语义权重,然后访问概念关联数据库,提取每个查询词的相关概念,实现概念扩展,然后将扩展后的概念集合(或实例)提交给检索引擎;检索引擎访问语义索引

3、库(根据标注系统所建立的特征文件库构建),根据事先建立的语义索引查找与用户查询词相关的资源,将检索结果排序后返回给用户。2. 系统各组成部分功能1) 本体服务器构建基于开源工具包Jena的推理引擎,利用JenaAPI将owl格式的星城记本体存入开源数据库MySQL中;接收来自概念扩展器的查询词(概念),推理引擎从MySQL中读入本体模型到内存,基于一定的查询词优化机制进行概念扩展,并将扩展后的概念集合返回给概念扩展器。领域本体由概念以及概念之间的关联组成,一个概念通常存在多个关联概念,两个概念之间可能存在多种不同的关联。Jena的API包为OWL的数据库操作、文件操作和推理机操作提供支持。Je

4、na对本体中的每个概念进行概念扩展,本体服务器通过Jena对整个本体进行概念扩展以建立概念关联数据库。2) 资源入库与标注系统依据星城记本体,针对不同的对象和时空关系,构造相应的语义模板,并将之存入语义模板库;语义标注器利用其特征提取模块对动画制作过程中产生的各种素材(包括角色造型、道具、二维场景、三维场景、线稿(即原画)、色稿等)进行素材的低层物理特征自动提取,并依据特定的语义模板对素材进行高层语义标识;将包含素材对应的低层语义标识和高层语义标识的特征文件存入特征文件库。3) 自然语言理解模块接收来自用户界面的以受限中文语句形式提交的查询请求,然后分词与词性标注模块调用中文分词工具ICTCL

5、AS对查询请求进行切分和词性标注,并将处理后的结果提交给词汇规范化处理模块;依据本体概念表,词汇规范化处理模块对每个查询词进行合法性检查。若查询词为本体中的概念和实例,则标识该查询词有效。若查询词为本体中某概念的同义词或近义词,则将该查询词映射为本体中对应的同义词或近义词概念。否则,将查询请求不合法的信息反馈给用户界面;当收到来自词汇规范化处理模块的查询请求后,历史请求处理模块访问历史访问数据库。若历史访问数据库存在该查询请求的记录,则直接从数据库中取出与该查询请求对应的检索结果并将之提交给用户界面,并通知词汇处理模块此次检索请求已经完成。若历史访问数据库未能匹配查询请求,则通知词汇处理模块将

6、规范化处理的查询请求提交给检索请求重构器。4) 检索请求重构器通过调用本体服务器,概念扩展器对本体中的每个概念进行概念扩展,并将扩展结果(关联概念及其语义距离)存入概念关联数据库中;当收到来自自然语言处理模块的规范化查询请求,词项分析与赋权模块根据每个查询词的词性和词汇之间的位置关系和动作关系,给每个查询词赋予特定的语义层次和相应权重,并将查询请求提交给查询重构模块;查询重构模块针对每个查询词调用概念扩展器,获得每个查询词相关的概念集合,然后将每个概念对应的实例集合及其权重与语义距离提交给检索引擎;当接收到来自查询重构模块的概念扩展请求,概念扩展器访问概念关联数据库,提取与该概念关联的所有概念

7、及其语义距离,并将之返回给查询重构模块。5) 检索引擎语义索引构造器从特征文件库中提取每个特征文件,通过对特征文件的分析,提取其中的语义标识,并将建立的语义索引存入语义索引库中;当接收来自检索请求重构器的检索实例集簇(集簇中每个实例集合对应一个概念,因而含有一个对应的语义权重和语义距离),查询请求检索器依据特定的权重计算策略,按照权重由高到低的顺序构造提问词串(从每个实例集合中提取一个实例所组成的新实例集合),然后访问语义索引库,找到对应资源的存放路径,进一步从素材资源库中提取出检索结果;结果排序模块依据特定的评分排序逻辑对检索结果进行筛选和排序,并将最终的查询结果提交给用户界面。6) 资源数

8、据库系统采用Ocacle对本系统中的历史访问数据库、概念关联数据库、特征文件库、语义索引库、素材资源库、语义模板库进行统一存储、管理和访问,并构建基于Hibernate架构的数据库管理层。六、 分析级类图七、 设计级类图1. 检索请求与本体更新类图:2. 资源标注类图(略,彭杨工作)八、 详细对象设计QueryWord类:保存将用户检索请求切分后的检索词。l name:检索词名字;l category:检索词词性;l weight:检索词权重;l isConcept:检索词是否为概念。isConcept为0,则为概念;isConcept为1,则为实例;否则,说明该检索词无法判断其类别;l re

9、latedConcept:若检索词为概念则存放相关概念可变数组地址;否则该对象引用为空。初始值为空。QueryResult类:保存检索请求的结果。用配置文件的形式来指定查询结果存放在磁盘中的位置。l queryString:规范化处理后的查询请求字符串;l resultLocation:以目录的形式存放检索结果;l +getQueryString():返回查询请求字符串;l +getResult():返回存放检索结果的目录对象。ConceptRelationship类:对应于数据库中的概念关联表。concept为源概念,relatedConcept为关联概念,relationName为两个概念

10、之间的关联名称,semanticDistance为两个概念之间的语义距离。HistoryQueryManager类:对QueryResult对象进行管理,保存用户近recordLength次检索结果。实现时检索结果并没有用数据库存储,而是用文件夹存放每次的检索结果。l compareString:规范化后的用户检索请求;l maxLength:指定可保存的检索结果次数。用配置文件设置;l currentLength:指示当前所保存的历史结果次数;l queryResults:可变数组,存放历史检索结果。l +setLength():参数historyNum为可最多保存的历史检索结果次数。作用是

11、设置私有变量length的值;l +isHistoryQuery():参数queryCheck是待测试的用户查询词集合;返回类型为File;当不是历史检索请求时,File对象引用为null,否则为指向检索结果的File对象引用;l +addQueryHistory():参数queryString为新检索请求,参数result为存放检索结果的File对象(代指文件夹)。无返回值。作用是将当前检索结果加入历史检索信息中;l +addQueryHistory():参数query为新检索请求所对应的检索词集合,参数result为存放检索结果的File对象(代指文件夹)。无返回值。作用是将当前检索结果加

12、入历史检索信息中;l -getQueryString():参数sourceQuery为用户查询词集合。返回值为检索请求字符串。作用是得到用户查询词名字组成的字符串,即检索请求字符串。被isHistoryQuery()调用;l -getQueryResult():参数name为欲取得的历史检索请求名字。作用为返回name所指定的历史检索请求。被isHistoryQuery()调用;l -removeQueryHistory():参数queryName为待删除的历史检索请求。作用为删除queryName所指定的历史信息,若queryName为null,则删除第一条历史信息。被addQueryHis

13、tory()调用;l -removeAllHistory():无参数。作用为删除所有的历史检索信息。目前系统似乎用不着该方法;l -contains():参数queryString为检索请求名字。作用为判断queryString所指定的检索请求是否为存在于历史检索信息中。目前系统似乎用不着该方法。ICTCLAS类:对中文句子进行切词和词性标记。l cutSentence():参数stringName为需要切分的语句。返回值为QueryWord对象的集合。作用是调用计算所的切词工具ICTCLAS,对stringName进行切词和词性标记,并将结果封装在QueryWord对象。DatabaseAc

14、cess接口:为系统各部份访问数据库提供统一规范,并达到解藕的目的。l isConcept():参数conceptName为待判断的概念名。返回值为本体中对应的概念名。作用为在数据库的同义词表中判断conceptName所代表的概念是否存在,若存在或是同义词,则以本体中对应概念的名称返回,否则以空字符串返回;l isIndividual():参数individualName为待判断的实例名。返回值为该实例在本体中的直接概念名。作用是在数据库的实例映射表中查找是否存在该实例,若是,则返回该实例的直接概念名,否则返回空字符串;l getRelatedConcept():参数conceptName为

15、待扩展的概念名。返回值为ConceptRelationship类型的可变数组。作用是根据数据库中的概念关联表对conceptName所指的概念进行概念扩展。l storeRelatedConcept():参数relationship为ConceptRelationship类的对象。无返回值。作用是将relationship所指的概念关联存入数据库中的概念关联表中。OntologyServer类:负责对本体和推理机进行管理,根据本体建立概念关联表。l buildRelationDB():参数ontologyAddress为本体*.owl文件路径。无返回值。作用是根据ontologyAddress

16、所指的本体建立概念关联表。RequestPreprocessor类:对用户输入的字符串进行切分和词性标记;根据同义词表和实例映射表,判断每个检索词是否为本体中的概念(或实例)。若检索词为本体中概念的同义词,则用本体中概念替换之。l +standardizeQuery():参数query为待规范化的查询请求字符串。返回值为QueryWord类型的可变数组。作用为对私有属性requestString所指示的中文字符串进行切词和词性标记,调用接口DatabaseAccess来判断每个查询词是概念还是实例,并将结果记录在类QueryWord的属性name、category和isConcept当中。调用

17、ICTCLAS.cutSentence()、DatabaseAccess.isConcept()、DatabaseAccess.isIndividual();l +isHistory():功能和HistoryQueryManager.isHistoryQuery()一样,目的是割断类ResourceQueryRequest和类HistoryQueryManager之间的依赖关系。RequestReconstructor类:负责对规范化的查询词进行概念扩展。l expandConcept():参数queryWord为查询词。返回值bool类型。作用是对queryWord所指的查询词进行概念扩展,

18、并将概念扩展可变数组的对象引用存入queryWord的属性relatedConcept当中。SearchingEngine类:根据检索请求中的实例和概念(包括扩展概念)进行资源检索。l +searchResult():参数request为经过规范化处理和概念扩展后的查询请求。无返回值(也可将检索结果交给上层对象显示,有待讨论)。作用是根据一定的查询词排序算法对待检索的查询词的权重进行排序,然后根据已建立的语义索引进行资源检索;l -storeResult():将本体检索的结果存入历史访问信息中。ResourceQueryRequest类:处理用户的查询请求。l -queryName:待处理的查

19、询请求名;l -queryRequest:查询请求对应的查询词集合。该属性同时保存规范化处理后的查询词集合以及概念扩展后的查询词集合;l +handleRequest():参数query为待处理的查询请求。无返回值。作用是根据query所指的查询请求进行资源检索,过程是先调用RequestPreprocessor.standardizeQuery()将查询请求规范化处理,再调用RequestPreprocessor.isHistory()判断该查询请求是否为历史信息。若是,则根据得到的存放检索结果的文件夹地址(File对象引用)显示结果,结束查询;否则,进行以下步骤:1、调用RequestRe

20、constructor.expandConcept()对查询请求中的概念进行扩展;2、将规范化处理过的、并进行概念扩展的查询词集合提交给SearchEngine类,进行资源检索。OntologyUpdatingRequest类:根据新本体重构概念关联表。l handleRequest():参数newOntologyAddress为新本体(*.owl文件)在文件系统中的路径。无返回值。作用是根据newOntologyAddress所指的本体重构概念关联表。九、 系统动态模型1. 用例图:2. 资源检索序列图:3. 本体更新序列图:十、 数据库设计说明:历史访问信息没有用数据库保存,而是用文件系统保存在用户的本地磁盘上。实例(individual)直接概念(nearestConcept)实例映射表同义词(synonym)概念(concept)同义词表概念(concept)关联概念(relatedConcept)关系名称(relationName)语义距离(semanticDistance)概念关联表

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号