法律状态公告日
法律状态信息
法律状态
2013-12-18
未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20120704 终止日期:20121026 申请日:20101026
专利权的终止
2012-07-04
授权
授权
2011-03-23
实质审查的生效 IPC(主分类):G06F17/30 申请日:20101026
实质审查的生效
2011-02-09
公开
公开
技术领域
本发明涉及一种搜索信息排序方法,具体涉及一种基于仿真特定领域的仿真信息自动排序方法,属于计算机建模与仿真领域领域。
背景技术
美国国防部DoD在制定建模与仿真主计划MSMP时就提出了构建建模与仿真资源库系统MSRR(Modeling & Simulation Resource Repository)计划,其目的就是要提供建模与仿真应用中资源管理、访问、浏览和检索的工具,提高建模与仿真资源的重用性和共享性,增进系统开发的效率和可靠性。美国现有的MSRR系统由DMSO、联合C4ISR决策支持中心、美国陆军、美国空军等7家相关机构的节点组成,以模型和仿真应用资源为核心。
对于仿真资源用户来说,通常关心的是仿真领域相关的仿真信息、文档等,但是通用的检索或搜索引擎中的排序方法并没有考虑到其应用领域的特点,一方面,通用的排序方法中采用通用词库来实现排序过程中的分词工作,它缺乏仿真领域的专有名词,这些名词就会被分割成普通的词汇,并不符合仿真领域的需求;另一方面,目前的排序过程中没有考虑到与仿真应用的相关度,通常返回给用户的结果多半是与仿真领域无关的信息,这为仿真资源用户带来很多困扰。另外,通用排序中采用的相关度计算方法中的向量空间模型(VSM)与布尔模型,一是需要词汇之间具有独立性,并且其向量的相关操作缺乏理论验证,大都是经验公式;二是难于建立查询表述方式,查询结果无序,无法判断相关文档的相关程度。由此可见,作为特定的仿真应用领域,由于数据存储方式多种多样,资源之间存在着层次、相联等特有的相关性,以文件等多种形式存储于分布式的资源库中;并且,随着仿真应用的发展,仿真资源种数、数量越来越多,存储的分布式环境越来越广等,当信息量大到一定程度时,系统的整体性能有着显著的下降,这与越来越强调响应速度的仿真应用极为不符,很难满足仿真应用领用的应用需求。
因此,有必要提供针对仿真领域特点的自动排序方法,为构建专用的仿真资源搜索引擎提供必需的技术支持,提高检索时仿真资源相关文档的相关度,使仿真资源用户可以快速检索到所需要的信息,以提高仿真应用系统性能。
发明内容
本发明的目的是针对现有通用排序方法的不足,提供一种基于仿真领域的结果排序方法,为实现仿真结果的搜索、管理等功能提供底层支持,使仿真资源用户可以快速检索到所需要的信息。
本发明提供了一种基于仿真特定领域的仿真信息自动排序方法,包括以下步骤:
一、基于仿真资源的特点,定义仿真领域的仿真因子Wf,并基于Wf定义文件的重要因子和分割的重要因子:
其中,lf表示分割(Division)中文本的长度,μf表示分割的加权系数,如表1所示:
表1分割权重分配表
Wj是某个分割中词j的权重,定义如下:
Wj=coe×Tjf 公式(2)
其中coe为词的类别系数,coe的取值要根据该词在仿真领域专业词库中的权重分配表中的位置来确定,仿真领域专业词库权重分配表如表2所示;Tjf表示词j在分割中出现的次数;m为分割中包含的词的个数;
表2仿真领域专业词库权重分配表
分割的重要因子division.boost和文件的重要因子file.boost的定义分别如下:
其中,file.boost表示一个文件的重要因子,而division.boosti表示文件中第i个分割的重要因子,n表示此文件共包含n个分割;
二、在通用中文词库基础上,增加一个仿真领域的专有名词词库,并根据这两个词库将待排序文档分割为若干个与排序有关的相关词;
三、计算每个待排序文档的相关性,具体步骤为:
(1)将文件划分为不同的分割,包括标题区(Title)、摘要区(Abstract)、主体区(Body),针对文件每一个分割建立相对应的分割字符集,分割字符集是当前文件分割包含的相关词和查询式对应分割包含的相关词的并集;
(2)获得待排序文档每个分割的相关度序列s和对应的要查询的文件分割的相关度序列q,设分割对应的分割字符集包含的相关词的数目为n,则s和q的长度均为n,即s=(x1x2x3.....xn),q=(y1y2y3.....yn),序列中的每一位用0或者1表示文件信息的状态,如果文件分割不包含分割字符集当前位置的词,则取值0,如文件分割包含字符集里的对应的分量,产生(0,1.5*Tjf)范围内的随机数,如果该数落在(0,Wi)中,取值1,否则取值0;其中Wi为分割字符集当前位置的词的权重;
(3)通过以下公式计算待排序文档每个分割的相关度:
其中,xi,yi分别是待排序文件中分割的相关度序列s和对应的要查询的文件分割的相关度序列q在第i个位置的值;division.boostk是文件中第k个分割的重要因子;tfi,j是相关词i在文件中的出现频率,通过计算得到,TermFreq为相关词在文件中出现的次数,TermNum为文件的总词语数;idfi是相关词i的逆文件频率,通过计算得到,numFiles为总文件数,fileFreq为出现该相关词的文件数;
(4)在求出所有分割的相关度之后,通过加权求和的方式计算整个文件的相关度,文件的相关度S的计算公式如下:
其中,ti表示第i个文件,共m个分割,μfk表示文件中第k个分割所带的权值,Srk代表第k个分割所计算出的分割相关度的值,为体现每个文件的不同权重,利用因子file.boost来表示具体某个文件的重要性;
四、根据相关度计算结果,实现基于仿真领域的排序。
有益效果
1)本发明提出的基于仿真特定领域的仿真结果自动排序方法,可以准确地检索出仿真应用相关的信息。
2)本发明提出的基于仿真特定领域的仿真结果自动排序方法,具有简单、易行、高效的特点,非常适合目前广泛流行的分布式仿真应用。
3)本发明中采用了并行排序的思想,加快了运算速度,从而可以适应仿真规模的不断扩大。
附图说明
图1是基于仿真特定领域的仿真结果自动排序方法总体流程图。
图2是仿真领域专业词库权重分配图。
具体实施方式
下面结合附图,具体说明本发明的优选实施方式。
附图1是本实施例所采用的基于仿真特定领域的仿真结果自动排序方法总体流程图。首先建立仿真因子,并通过仿真因子导出两个重要因子:文件的重要因子和分割的重要因子;然后基于改造过的词库之上建立相似度计算模型,计算结果相似度;最后将结果根据相似度的计算结果排序。
现有的仿真结果信息都可以转换为统一格式的文件来进行表示的,所以,仿真信息的排序可以看作是对文件中关键词,也就是与仿真信息相关的词的相关度的排序。
本实施方式的具体步骤包括:
1、按照发明内容所述,定义仿真领域的仿真因子Wf,并基于Wf定义分割的重要因子division.boost和文件的重要因子file.boost;在得到某个分割中词i的权重Wi时,根据图2得到该词的类别系数coe,最终仿真专业词的权重是从根开始到最终分类逐级权重的乘积。图2是仿真领域专业词库权重分配图。如图所示,由顶层节点“仿真资源”开始,每一层的每一个节点都代表一类仿真领域的专业词汇,并且每一个节点都拥有一个权值,如果文档中某个节点落入到图中某个节点所覆盖的范围内,则该词的类别系数coe由该节点到顶端节点所经过的节点路径的所有权值相乘得到的乘积表示。例如,“钓鱼岛”一词落入“地理,海洋”所在的节点区域,则该词的权重结果为1*1.4*1.3*1.1=2.002;而“海军军力”一词落入“军力描述”所在的节点区域,则该词的权重计算结果为1*1.1*1.2=1.32。
2.为了实现排序中仿真领域专业词汇的准确分析,我们基于仿真领域建立仿真领域专业词库。在通用中文词库基础上,我们加入一个仿真领域的专有名词词库,其中的通用中文词库与专有名词词库并不重叠,这样,既可以实现对仿真专业信息文档的准确分词,又可以保持原有信息文档切分的正确性。
分词过程将排序信息的文档分割为若干个与排序有关的相关词,包括仿真领域的专业相关词,排序过程就是根据这些相关词来实现仿真信息的排序。
3.在面向仿真应用的特定领域的排序结果,需要将与仿真领域最相关的结果排在最前面,所以,在排序具体实现之前,需要对排序信息的仿真领域相关度进行计算。根据前面建立的仿真因子公式,通过以下步骤建立相关度计算模型:
(1)将文件划分为不同的分割,包括标题区(Title)、摘要区(Abstract)、主体区(Body),针对文件每一个分割建立相对应的分割字符集,分割字符集是当前文件分割包含的相关词和查询式对应分割包含的相关词的并集;
例如,待排序文档的标题区包含“仿真资源库综合管理系统”这段文字,查询式的标题区包含“仿真资源”,则分割字符集为“仿真资源仿真资源库综合管理系统”。
(2)获得待排序文档每个分割的相关度序列s和对应的要查询的文件分割的相关度序列q,设分割对应的分割字符集包含的相关词的数目为n,则s和q的长度均为n,即s=(x1x2x3.....xn),q=(y1y2y3.....yn),序列中的每一位用0或者1表示文件信息的状态,如果文件分割不包含分割字符集当前位置的词,则取值0,如文件分割包含字符集里的对应的分量,产生(0,1.5*Tjf)范围内的随机数,如果该数落在(0,Wi)中,取值1,否则取值0;其中Wi为分割字符集当前位置的词的权重;
仍以上例情况说明,s序列和q序列在不考虑随机分布的情况分别为(11111)、(10000)。注意在序列中为1的位置实际取值取决于每次生成随机数的分布。
(3)通过以上方法可得到各个分割的相关度序列si,假定某分割字符集中字符数量是n个,相关度序列si=(x1x2x3.....xn),要查询的查询式相对应的分割相关度序列q=(y1y2y3.....yn)。则该分割相关度Srk计算公式如下:
其中xi,yi分别是相关度序列sk和查询式q的相关度序列在第i个位置的值,wi,k,wi,q分别是xi,yi对应的相关因子,division.boostk是文件中第k个分割的重要因子。且:
wi,k=tfi,j×idfi 公式(6)
wi,q=idfi 公式(7)
其中,tfi,j是相关词i在文件tj中的出现频率,idfi是相关词i的逆文件频率。将公式(6)、(7)代入公式(5),得到新的分割相关度Srk计算公式如下:
(4)在求出所有分割的相关度之后,通过加权求和的方式计算整个文件的相关度。为体现每个文件的不同权重,利用因子file.boost来表示具体某个文件的重要性。文件的相关度S的计算公式如下:
其中,ti表示第i个文件,共m个分割,μfk表示文件中第k个分割所带的权值,Srk代表第k个分割所计算出的分割相关度的值。在实际处理过程中,使用公式8和公式9进行相关度的计算。
4.最后,在相关度计算结果的基础上,实现面向仿真应用的自动排序。
由于排序结果中排在最前的结果必然与相关词最相关,其必然是一个大根堆,所以为了基于相关度计算结果实现排序,本实施方式在计算每个相关文档的相关度之前,先初始化一个堆(Heap)来保存计算结果,并以相关度作为键(key),以文件编号作为值(value),将得到的相关度与当前文件编号写入堆中,直到所有文件都遍历完成。
遍历结束后,再从堆中将所需要的前n个文件的文件编号输出。这样根据按相关度排序的文件编号,便可以在索引中找到文件的相应信息。
在本实施方式中计算文件相关度与排序实际处于同一个过程,也就是在计算文件相关度的同时直接进行排序。
本发明不仅限于以上实施例,对上面描述的实施例所作的变化不会脱离本发明的主旨。凡是利用本发明的设计思路,做一些简单变化的设计,都应计入本发明的保护范围之内。
机译: 实验室复杂操作指导过程的仿真与自动化方法,包括实现基于软件的基础设施仿真,以及实现指导系统与仿真之间的双向数据传输
机译: 基于仿真系统的房地产房地产和信息提供系统的三维仿真系统
机译: 特定领域的语言仿真器,用于模拟威胁演员和对抗性策略,技术和程序