著录项信息
专利名称 | 一种基于领域知识的语义查询扩展方法 |
申请号 | CN200810116729.X | 申请日期 | 2008-07-16 |
法律状态 | 权利终止 | 申报国家 | 暂无 |
公开/公告日 | 2010-01-20 | 公开/公告号 | CN101630314 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 中国科学院自动化研究所 | 申请人地址 | 北京市海淀区中关村东路95号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中国科学院自动化研究所 | 当前权利人 | 中国科学院自动化研究所 |
发明人 | 杨一平;马良俊;高一波;卢朋;陈琳;任禾 |
代理机构 | 中科专利商标代理有限责任公司 | 代理人 | 梁爱荣 |
摘要
本发明公开了一种基于领域知识的语义查询扩展方法,包括:以概念表达和知识树体系为基础,构建领域知识;对用户的查询短语进行初步语义分析,形成语义项列表;利用初步语义分析的结果,以领域知识为基础,构建带有扩展类型和扩展权重的语义图;计算语义图中每个顶点到初始顶点间的语义距离;根据语义距离,确定语义项列表中每一项的可扩展项;最后依靠“与”“或”逻辑关系合并所有可扩展项,得到表示用户查询意向的语义项集合,并提交搜索系统进行搜索。本发明计算时间短,充分利用了领域知识,新增加的扩展语义项与原查询短语之间具有明确的语义关系,能有效的提高搜索系统的查全率和查准率。
1.一种基于领域知识的语义查询扩展方法,其特征在于:包括如下步骤:
步骤S1:根据对领域知识和用户查询语句特征的分析,构建领域知识库,形成描述领域知识的领域知识库;
步骤S2:利用领域知识库内容,对用户输入的查询语句进行初步语义处理,获得一个语义项列表;
步骤S3:利用语义项列表,结合领域知识库内容,对语义项列表中的每一语义项生成语义图;
步骤S4:根据语义图中顶点间的语义距离计算公式,计算每个语义图中各顶点与初始顶点间的语义距离,通过设定阈值,选择可扩展顶点,作为查询扩展的可扩展项;
步骤S5:根据语义项列表中各语义项的逻辑关系,归并由每个语义图确定的可扩展项,将所获得的可扩展项提交搜索系统进行查询,并对搜索系统的查询结果进行分析;
步骤S6:参考搜索系统查询结果的召回率和准确率,调节语义图中用于计算语义距离的各可变参数,重新组织领域知识库内的知识;
所述初步语义处理是依赖于领域知识库,对用户输入的查询语句进行处理,处理步骤如下:
步骤S21:扫描查询语句,通过字符结构匹配寻找查询语句与属性提取规则匹配的结构,提取得到查询语句拥有该属性的知识树的节点和概念,增加到语义项列表中;
步骤S22:将查询语句中经过步骤S21属性提取后,将剩余的未识别语句部分进行命名实体识别,获得的命名实体,将命名实体增加到语义项列表中;
步骤S23:将查询语句中经过步骤S22命名实体识别后,将剩余的未识别语句部分进行分词,将每个分词获得的汉语词汇对应的概念增加到语义项列表中;查找与这些概念相关的知识树的节点,获得知识树的节点,将获得的知识树的节点增加到语义项列表中;最后,没有识别的字符串作为一个整体增加到语义项列表中;最终获得一个语义项列表,其中每一项的类型是概念、知识树的节点、命名实体、字符串四种中的一种。
2.如权利要求1所述的基于领域知识的语义查询扩展方法,其特征在于:所述语义图,是在初步语义处理获得的语义项列表结果的基础上,形成具有权值和关联性的以字符串、概念、命名实体和知识树的节点为顶点的语义图,语义图形式用一个二元组SDG={V,E}表示,链接顶点i和顶点j的边Eij表示为Eij={vi,vj,w,r},一次语义扩展计算生成一个以上的语义图,语义图的个数由语义项列表中包含的项数决定;每个语义图的初始顶点为语义项列表中的各语义项;语义图的生成由初始顶点开始,对于语义图的每个顶点,在领域知识库内,在满足领域知识库的语义图生成规则约束前提下,凡满足r所表示关系的知识树的节点、概念、命名实体均增加为该顶点的子顶点,直到该顶点不再能增加新的子顶点为止,上述中,V表示语义图顶点,语义图顶点内容是字符串、知识树的节点、概念和命名实体;
E表示语义图的边,链接各个顶点,vi和vj是Eij链接的两个顶点,w是边的权重,权重的值域为[0,1],r表示扩展类型,即两个顶点之间的关系包括知识树的节点的上下位关系、知识树的节点的整体与局部关系、知识树的节点的属性与特征关系、概念的相似关系和知识树包含关系。
3.如权利要求2所述的基于领域知识的语义查询扩展方法,其特征在于:采用编辑或机器学习的手段从语料库中获得所述领域知识库中的知识树,用来描述领域知识的层次性和具体内容,根据在语义距离计算中发挥的作用,知识树分为核心知识树和支撑知识分类树;核心知识树用来描述领域内主要知识点间的语义关系,语义支撑知识分类树描述知识节点的属性名称和属性值的语义关系,所述知识树的形式化表示为:
<知识树>::=<知识树名称><顶层节点>*
<知识树名称>::=<字符串>
<顶层节点>::=<节点>*
<节点>::=<序列号><节点名称><节点概念>[<父类节点>][与父节点关系][<子类节点>*][<节点属性>]
<序列号>::=<字符串>
<节点名称>::=<字符串>
<节点概念>::=<语义表达>
<语义表达>::=<概念>|<语义约束>|<语义状态>|<语义逻辑>
<父类节点>::=<节点>
<与节点关系>::=<上下位关系>|<整体与局部关系>
<子类节点>::=<节点>
<节点属性>::=<属性名称><属性值>
<属性名称>::=<概念>|<复合概念>
<属性值>::=<符号>
<符号>::=<整数>|<字符串>|<浮点数>|<日期>|<语义表达>
其中:*表示出现一次或者多次,|表示或,[]表示可选。
4.如权利要求1所述的基于领域知识的语义查询扩展方法,其特征在于:所述语义距离是对语义相似性和语义关联性的同一化处理,设语义图扩展计算的一个中间顶点Vi,其中i≥0,i表示当前顶点到语义图起始顶点的最短扩展步数,则顶点Vi相对于初始顶点的语义距离定义Si为:
其中,Tn表示从初始顶点扩展到顶点Vi过程中第n步扩展的类型的影响因子,是可变参数,Tn取值范围[0,1],当i=0时,Tn=1;k和λ分别表示一个常数,是一个可变参数;
m是加扩展势加速衰减因子,m为不小于2的正整数,为可变参数;
语义图中的任两个顶点Vi、Vj之间的语义距离用Sij表示:
i>j,i和j均表示该顶点到初始顶点的最短扩展步数,Tn’表示从初始顶点扩展到顶点Vi过程中第n步扩展的扩展类型的影响因子;Tn表示从初始顶点扩展到顶点Vj过程中第n步扩展的扩展类型的影响因子。
5.如权利要求1所述的基于领域知识的语义查询扩展方法,其特征在于:所述的属性提取,是针对能够由词语的组合顺序确定的属性,根据属性提取规则,选择属性计算函数,确定用户输入所针对属性内容中属性的名称,并利用属性计算函数计算出该属性的属性值的取值范围;其中,属性提取规则的一般形式为:
IF(C1,C2C3…Cn)THEN Att(ai,val(ai,x))
Result:CK={ck∈CK|ai∈ck.AttriList and ck.Attri(ai).value∈val(ai,x)},上述属性提取规则的意义是,当用户输入满足词汇短语组合C1,C2,…Cn的形式时,由属性提取规则推理得到,其查询的属性是对应的目标概念或者知识节点为CK,其中CK均具有属性ai,且属性ai的属性值在属性计算函数val(ai,x)确定的区间之内;其中,ck满足ck∈{CONCEPT or KNOWNODES},CONCEPT表示概念,KNOWNODES表示知识树知识节点,Ci是用户查询输入短语中的一种词汇短语组合形式,所述的C1,C2,…Cn间取逻辑“或”,所述的Att(ai,val(ai,x))表示属性ai的属性值的范围由属性计算函数val(ai,x)确定,所述的ck.AttriList表示ck的所有属性列表;ck.Attri(ai).Value表示ck的属性列表中属性名为ai属性值。
6.如权利要求1所述的基于领域知识的语义查询扩展方法,其特征在于:所述领域知识库包括概念库,其具有一复合概念单元和简单概念单元,所述的复合概念单元,将所述简单概念单元存储的简单概念经过语义复合运算获得复合概念并存储,从概念库中抽取具有层次关系的简单概念和复合概念,按照层次关系组成表达领域知识的知识树,从概念库中抽取同义词形成同义概念库。
7.如权利要求6所述的基于领域知识的语义查询扩展方法,其特征在于:所述简单概念,是通过编辑或语料库机器学习获得简单概念属性和属性值,简单概念用{属性,关系}二元组表示;属性是由{属性名,属性值}表示的二元组;属性名称的类型是简单概念或复合概念,属性值的类型是概念、数字、字符串、数组、时间或布尔值;关系包括父子继承关系和部分组成关系两类。
一种基于领域知识的语义查询扩展方法\n技术领域\n[0001] 本发明属于计算机领域,涉及到自然语言处理的应用技术,具体针对网络搜索引擎,提出一种基于领域知识的语义查询扩展方法。\n背景技术\n[0002] 随着因特网的发展,美国的搜索引擎使用率达到90%,在中国2008年也同样达到了72.4%,因特网使用者越来越倾向于通过检索获取自己所需要的资源。以搜索引擎为代表的互联网公共信息服务正在蓬勃发展。在通用搜索引擎市场被谷歌、微软、雅虎、百度等著名公司垄断的情况下,新的搜索算法和搜索技术不断涌现,个性化、专业化、深入化的垂直搜索正在成为搜索引擎发展的又一个亮点,涌现了如酷讯、搜房、和讯搜索等垂直搜索引擎。\n[0003] Craig Silverstein、王继民等学者通过对大规模搜索引擎实际查询语义距离记录的分析得出的结论是:无论是中文还是英文用户,在使用搜索引擎进行检索的过程中,输入的查询关键字长度一般是3-4个词,甚至更短。但是,脱离了自然语言的语义关联性,单纯地依赖3-4个词的描述,难以准确地把握用户的检索意图,获取理想的搜索结果。\n[0004] 针对这个问题,研究者们提出了新的想法:运用查询扩展技术来帮助用户扩充和组织新的查询词,以便更加准确地描述用户的查询需要,提高检索的查全率和准确率。目前,查询扩展作为搜索引擎的新兴技术,越来越广泛地吸引了业界的关注。\n[0005] 查询扩展方法可以分为手动查询扩展和自动查询扩展两类。手动查询扩展需要用户的大量干预,或者对所查询领域具有深入的了解,不适宜面向大规模普通用户。自动查询扩展工作,主要使用权重或者联合的搜索技术进行扩展,通常与具体的查询过程形成强耦合,难于将方法与内容分离开来。目前,搜索引擎多倾向于采用后一种方法。\n[0006] 自动查询扩展又可以分为全局的查询扩展和局部的查询扩展。局部查询扩展是从第一次查询的返回结果中抽取某一部分文档,对检索词和文档进行重新计算,再生成新的检索词,再次进行检索。已经证明这种方法对信息检索的效果有所改善,但存在的问题是,如果在一次查询的结果集中选取的是与用户查询无关的内容,或者前一次查询效果不佳时,那么此方法将无法获得更好的结果。并且,二次查询将影响搜索引擎的效率。基于全局的查询扩展方法通常建立同义词典或者相关语义词典,利用词典对用户的查询词进行相应的扩展。词典可以自动、手工或二者结合的方式建立。全局查询扩展方式不受前一次查询结果的限制,查询速度快,算法较为独立。但是,现有方法对扩展项中词语的语义相关性缺少足够重视。\n[0007] 针对以上问题,本发明提出了基于领域知识的语义查询扩展方法。充分利用各领域内可描述的知识,充分挖掘与各查询词有语义相关的各项。使得新增加的各项具有更加紧密的语义关联性,进而提高检索效果。\n发明内容\n[0008] 本发明的目的在于解决用户在使用搜索引擎的时候,输入的查询词较少,不能完整的表达用户搜索意愿,因而搜索结果的召回率和准确率不能满足用户需要的问题,本发明针对自然语言的语义关联特性,提出一种基于领域知识的语义查询扩展方法。\n[0009] 为了实现所述的目的,本发明基于领域知识的语义查询扩展方法,包括如下步骤:\n[0010] 步骤S1:根据对领域知识和用户查询语句特征的分析构建领域知识库,形成描述领域知识的领域知识库;\n[0011] 步骤S2:利用领域知识库内容,对用户输入的查询语句进行初步语义处理,获得一个语义项列表;\n[0012] 步骤S3:利用语义项列表,结合领域知识库内容,对语义项列表中的每一语义项生成语义图;\n[0013] 步骤S4:根据语义图中顶点间的语义距离计算公式,计算每个语义图中各顶点与初始顶点间的语义距离,通过设定的阈值,选择可扩展顶点,作为查询扩展的可扩展项;\n[0014] 步骤S5:根据语义项列表中各语义项的逻辑关系,归并由每个语义图确定的可扩展项,将所获得的可扩展项提交搜索系统进行查询,并对搜索系统的查询结果进行分析;\n[0015] 步骤S6:参考搜索系统查询结果的召回率和准确率,调节语义图中用于计算语义距离的各可变参数,重新组织领域知识库内的知识。\n[0016] 本发明的有益效果:本发明提出了一种基于领域知识的语义查询扩展方法,计算时间短,充分利用了领域知识,新增加的扩展语义项与原查询短语之间具有明确的语义关系,能有效的提高搜索系统的召回率和准确率。解决了用户在使用搜索引擎的时候,因输入的查询词较少,不能完整的表达用户搜索意愿,因而搜索结果的召回率和准确率不能满足用户需要的问题,本发明考虑了语言中一词多义,一义多表的现象,用概念描述基础层知识,用知识树构建应用层知识,用语义复合模型描述简单概念与复合概念之间的语义关联,通过计算语义图中各顶点间的语义距离,对用户查询词进行了基于领域知识的语义扩展,实现对初始查询短语的语义扩展计算,提高了查询的准确率和召回率。此方法提高了全局查询扩展项的语义相关性,改善了搜索效果,尤其对于垂直搜索,具有较强的实用价值。\n附图说明:\n[0017] 图1是本发明基于领域知识的语义查询扩展方法结构示意图\n[0018] 图2是本发明初步语义处理流程示意图\n[0019] 图3是本发明领域知识库示意图\n[0020] 图4是本发明实施例概念“泰山_1”知识表示示意图\n[0021] 图5是本发明实施例计算机领域部分知识树示意图\n[0022] 图6是本发明实施例由“迎客松”生成的语义图示意图\n[0023] 图7是本发明具体实施例的一个应用环境示意图\n具体实施方式:\n[0024] 下面结合附图,系统地对本发明如何实现基于领域知识、利用语义对用户输入查询语句进行扩展做出说明。应该指出的是,本部分所描述的过程仅仅说明本发明在某一个应用中的使用情况,是为了更加清楚的认识和了解本发明,而不是对本发明的限制。\n[0025] 本发明的算法流程如图1所示,通过对查询用户经常使用的查询词进行总结分析,归类用户的查询意愿,分领域对领域内的知识进行分类总结,再通过机器学习和人工处理等多种方法建立和丰富知识树、概念库、命名实体库、语义支撑分类树、语义图生成规则等,前述六部分综合起来构成描述知识的领域知识库;利用领域知识库提供的概念库、领域知识树和命名实体库,对用户输入的查询语句进行初步语义处理,初步语义处理包括属性提取、命名实体识别和概念分析三个步骤,经过初步语义处理之后获得一个语义项列表Q’,该语义项列表中含有知识树知识节点、命名实体、概念和字符串四种类型;利用语义项列表,结合领域知识库内容(例如:概念库内概念间的关系、知识树、语义支撑分类树和命名实体库),就语义项列表中的每一语义项生成语义图;根据语义图中顶点间的语义距离计算公式:\n[0026] \n[0027] 计算每个语义图中各顶点V与初始顶点间的语义距离S,通过设定阈值S’(最佳阈值的确定通过实验获得,一般先设定一个初始阈值,然后根据具体实验效果进行调节),选择可扩展顶点,作为查询扩展的可扩展项;根据语义项列表中各项的逻辑关系,归并由每个语义图确定的可扩展项,将所获得的可扩展项提交搜索系统进行查询,并对搜索系统的查询结果进行分析;参考搜索系统查询结果的召回率和准确率,调节语义图中用于计算语义距离的各可变参数(Tn,k,m,λ),重新组织领域知识库内的知识,如对领域知识库中的知识树进行补充或调整,对语义支撑分类树的分类层次结构数量等进行调整。其中根据搜索结果对各可变参数进行修改,属于本方法的调节试验反馈过程,故在图1中用虚线标出。\n[0028] 一次基于领域知识的语义查询扩展计算形式化的表示为:设用户输入查询词序列为Q,经过初步语义处理后获得语义项列表Q’,Q’={qi∈Q’|qi∈(KN|CONCEPT|STRING|NAMEDENTITY),qi←Q},其中KN表示知识树的节点,CONCEPT表示概念,STRING表示字符串,NAMEDENTITY表示命名实体,qi←Q表示临时处理结果项中,qi由Q获得。针对qi,建立语义图,根据设定阈值S’,最终确定由其扩展形成的新的查询项EQ’={eq∈EQ’|eq∈SemGraph(qi),S(eq)<=S’}。其中SemGraph(qi)表示qi形成的语义图,S(eq)表示在语义图Semgraph(qi)中顶点eq与初始顶点间的语义距离,S’表示设定的语义距离的阈值。根据qi之间的(与或非)逻辑关系,列出EQi’的逻辑关系,如qi与qj为交的关系,则扩展获得的结果为EQi’∩EQj’,将所有的可扩展项(包括它们之间的逻辑关系)提交给搜索引擎进行检索。\n[0029] 一、如上述,本发明中涉及的各部分表述如下:\n[0030] 1、领域知识库的表达和组织\n[0031] 本发明所述的领域知识库包括概念库、命名实体库、同义概念库、知识树、语义支撑分类树和语义图生成规则等部分。如图3所示,概念库是整个领域知识库的表示基础,包括简单概念单元和复合概念单元两部分,复合概念单元将简单概念单元存储的简单概念经过语义复合运算获得复合概念并存储;在概念库的基础上,以概念库内的简单概念和复合概念为表达基础,从概念库中抽取具有层次关系的简单概念和复合概念,按照层次关系组成表达领域知识的知识树,知识树分为核心知识树和支撑知识分类树两部分,支撑知识分类树用来描述核心知识树的属性和属性值的层次关系;同时,在概念库中抽取同义概念,形成同义概念库;在概念库中存在的所有概念中,结合领域知识库所描述领域的实际情况,分离出概念库中存在的命名实体,形成命名实体库;考察知识树节点的属性值中不能用知识树模型进行表示而具有层次关系的,按照层级关系列成语义支撑分类树;在知识树、同义概念库、语义支撑分类树和命名实体库的基础上,按照实际查询扩展的形成语义图生成规则,限制语义图生成时的扩展方向和范围。\n[0032] 各部分详细说明如下:\n[0033] (1)概念库由简单概念单元和复合概念单元两部分组成。其中,简单概念单元中存储简单概念,复合概念单元中存储复合概念,简单概念经过语义复合运算形成复合概念。\n[0034] 所述的概念与词之间存在的关系是:词与概念之间是多对多的关系,一词多义称同名概念,多词一义称同义概念。同名概念用词加下标形式区分,如“先生”这个词有三个基本语义,分别对应三个概念,“先生_1”是老师,“先生_2”是对丈夫的称呼,“先生_3”表示尊称。同义概念在知识体系中用同义关系描述,如概念“先生_1”与“老师_1”是同义概念,则在这两个概念之间建立一个同义关系。\n[0035] 所述简单概念,是通过编辑或语料库机器学习获得简单概念属性和属性值,简单概念用{属性,关系}二元组表示;属性是由{属性名,属性值}表示的二元组;属性名称的类型是简单概念或复合概念,属性值的类型是概念、数字、字符串、数组、时间或布尔值,用于界定概念的内涵;关系包括父子继承关系和部分组成关系两类。一个词可能对应多个简单概念,一个简单概念可能由多个词表示。\n[0036] 所述的概念的属性和属性值、以及各概念间的属性关系的确定,一方面可以通过人工分析然后编辑;另一方面可以采用机器学习的方法,从大规模一般语料库中获取概念的属性和属性值和概念间关系,也可以从各种字典对词汇意义的描述中人工分析和提取属性和属性值、概念间关系出现的特定模式,用计算机按照模式自动抽取获得。\n[0037] 所述概念的一个例子:如词汇“泰山”对应的简单概念“泰山_1”,表示山的名称,为五岳之一,还有另一个概念“泰山_2”,表示岳父的别称。对于概念“泰山_1”可以用属性“地域”和“海拔”等描述,在旅游领域中对名山进行分类时,其可以归为“五岳”的子节点,具体描述见图4。\n[0038] 所述的复合概念为描述短语或句子内在语义关系的语义表达方式。按照语义组合方式分类,复合概念具体有语义约束、语义状态和语义逻辑三种语义结构类型。语义约束用来描述具有约束性质的偏正短语,由{约束,核心}二元组描述两部分组成,“约束”的类型可以是简单概念、复合概念、数字、字符串、布尔值、时间、数组,“核心”只能是简单概念或者复合概念,如“红色的玫瑰”用一个语义约束描述,“红色_1”概念为约束部分,概念“玫瑰_1”为核心,形式化表示为<红色_1:玫瑰_1>;语义状态用来描述拥有主谓或者动宾关系的短语,由{状态概念,语义主格,语义宾格,状态列表}四部分组成,状态概念、语义主格、语义宾格和状态等四个元素的类型只能是简单概念或复合概念,如“伍子胥在吴国杀了他”用一个语义状态结构表示,状态概念相当于主谓结构或动宾结构的核心动词,状态列表记录限定或补充动作的语义成分;状态概念为“杀_1”表示“使人或动物失去生命”的概念,语义主格是“伍子胥_1”表示历史上的伍子胥这个人,语义宾格是“他_1”表示指代,状态列表中有一个属性名为“地点_1”,对应的状态值为“吴国_1”,其形式化描述为[<伍子胥_1>杀_1{(地点_1:吴国_1)}<他_1>];语义逻辑描述体现了逻辑组合关系的短语的语义结构,由逻辑连词连接的短语,现概念系统在时间、空间、事物、状态等方面存在的逻辑性组合包括“逻辑与(AND)”,“逻辑或(OR)”,“逻辑表(TABLE)”,“逻辑异或(XOR,ExclusiveOr)”和“逻辑蕴含(ENTAIL)”五种逻辑关系,各逻辑项的类型只能是简单概念或复合概念,如表示“爱与恨”,为并列关系,用“逻辑表”来描述,形式化表示为Logic:(Table爱_1恨_1)。\n[0039] 所述的由简单概念获得复合概念的语义复合运算是现有技术,可以参照中科院自动化所博士论文《基于概念网络的汉语语义复合研究》,该论文在概念网络模型及语义复合表达模型的基础上,设计了汉语名词性短语复合的计算框架,分析并建立了名词性短语语义复合的计算机处理原型系统。\n[0040] (2)所述的领域知识树是用来表示构建和存储某个领域内的各种层次性知识,描述知识点间的上下位关系、组成关系等,以树的形式表达。树的节点称为知识节点,如图5所示列出了计算机领域的一棵知识树。知识节点包括知识节点名称、知识节点语义、知识节点的属性三部分。知识节点的名称以词表示,知识节点的语义以简单概念和复合概念形式描述。知识节点的属性包括属性名和属性值两部分。属性名以概念形式定义,属性值可以是概念、字符串、数字、数组等。例如一棵领域知识树为计算机,成员关系软件、硬件;父子关系为微型计算机、工作站;软件的父子关系为数据库、系统软件、应用软件等;微型计算机的成员关系为硬盘、主板等。\n[0041] 根据在语义计算中发挥的作用,知识树分为核心知识树和语义支撑知识分类树两类。核心知识树用来描述领域内主要知识节点间的语义关系,语义支撑知识分类树描述知识节点的属性名称和属性值的语义关系,核心知识树是语义计算的主要依据,语义支撑知识分类树提供的内容,可以从知识点属性的角度,为语义计算提供约束条件,并为核心知识点间提供横向关联。\n[0042] 采用编辑或机器学习的手段从语料库中获得所述领域知识库中的知识树,用来描述领域知识的层次性和具体内容,知识树形式化表示为:\n[0043] <知识树>::=<知识树名称><顶层节点>*\n[0044] <知识树名称>::=<字符串>\n[0045] <顶层节点>::=<节点>*\n[0046] <节点>::=<序列号><节点名称><节点概念>[<父类节点>][与父节点关系][<子类节点>*][<节点属性>]\n[0047] <序列号>::=<字符串>\n[0048] <节点名称>::=<字符串>\n[0049] <节点概念>::=<语义表达>\n[0050] <语义表达>::=<概念>|<语义约束>|<语义状态>|<语义逻辑>\n[0051] <父类节点>::=<节点>\n[0052] <与节点关系>::=<上下位关系>|<整体与局部关系>\n[0053] <子类节点>::=<节点>\n[0054] <节点属性>::=<属性名称><属性值>\n[0055] <属性名称>::=<概念>|<复合概念>\n[0056] <属性值>::=<符号>\n[0057] <符号>::=<整数>|<字符串>|<浮点数>|<日期>|<语义表达>\n[0058] 其中:*表示出现一次或者多次,|表示或,[]表示可选。\n[0059] 其所述的“采用编辑或机器学习的手段从语料库中获得所述领域知识库中的知识树”为现有机器学习手段,参考自动生成本体(OntologyGeneration)的相关算法。\n[0060] (3)命名实体库用来存储领域内的机构名、人名、地名等实体名。\n[0061] (4)语义支撑分类树描述领域内不能按照父子关系或组成关系描述的具有层次关系的知识,语义支撑分类树体现知识节点的属性名称或属性值的取值之间的层次性语义关系。例如将知识节点的属性价格,按照高、中、低等三个层次分类,其结构不具备父子和组成的关系,仅表示了价格的上的一种数量上的递减关系,构建成为语义支撑分类树,以便于支撑语义扩展计算。\n[0062] (5)所述的同义概念库是由同义概念组成的库,同义概念的描述从概念库中获得。\n[0063] 同义概念获取为现有计算,可以通过大规模语料学习获得,也可以利用现有的人工编纂的同义概念库。\n[0064] (6)语义图生成规则用来约束查询扩展的语义计算过程,限制在何中情况下,在知识树上,可以扩展到上位节点或者子节点;在语义支撑分类树上何种情况下不能够由一个层次扩展到另外一个层次等。例如在核心知识树和语义支撑分类树中,某个节点能否向上下位节点扩展,受到语义生成规则的约束。例:\n[0065] Iff(Condition_Sub)KnowNode{kn_initial∈KnowTree(Ti)}\n[0066] →KnowNodeExpanded{kns_expanded∈KnowTree(Ti)∩kns_expanded[0067] ∈SubKnowNodes(kn_initial)}\n[0068] ------公式1-1\n[0069] Iff(Condition_No)KnowNode{kn_initial ∈KnowTree(Ti)}→\n[0070] KnowNodeExpanded{kns_expanded∈KnowTree(Ti)∩\n[0071] (kns_expanded∈SubKnowNodes(kn_initial)\n[0072] Ukns_expanded∈ParentKnowNodes(kn_initial))}\n[0073] ------公式1-2\n[0074] 其中公式1-1表示,如果满足约束Condition_Sub,则由初始节点扩展出来的节点只能是该初始节点的子节点;公式1-2表示在扩展中没有限制Condition_No的时候,初始节点既可以扩展到子节点,也可以向父节点扩展。如上述公式,Condition_Sub和Condition_No表示一定条件;KnowTree(Ti)表示知识树Ti,Kn_initial表示初始待扩展知识树节点,kns_expanded表示扩展出来的节点,ParentKnowNodes(Kn_initial)表示知识节点kn_initial的父节点集合,SubKnowNodes(Kn_initial)表示知识节点Kn_initial的子节点集合。\n[0075] 2、初步语义处理\n[0076] (1)所述初步语义处理是依赖于领域知识库,对用户输入的查询语句进行处理,涉及的步骤依次是:\n[0077] 属性提取:扫描查询语句,通过字符结构匹配寻找查询语句与属性提取规则匹配的结构,提取到查询语句拥有该属性的知识树的节点和概念,增加到语义项列表中;\n[0078] 命名实体识别,将查询语句中经过属性提取后,将剩余的未识别语句部分进行命名实体识别,将获得的命名实体增加到语义项列表中;\n[0079] 概念分析:将查询语句中经过命名实体识别后,将剩余的未识别语句部分进行分词,将每个分词获得的汉语词汇对应的概念增加到语义项列表中;查找与这些概念相关的知识树的节点,获得知识树的节点,将获得的知识树的节点增加到语义项列表中;\n[0080] 最后,没有识别的字符串作为一个整体增加到语义项列表中;初步语义处理获得的结果为一个以概念、知识树的节点、命名实体、字符串四种形式存在的语义项列表。\n[0081] (2)所述的属性提取,是针对能够由词语的组合顺序确定的属性,根据属性提取规则,选择属性计算函数,确定用户输入所针对属性内容中属性的名称,并利用属性计算函数计算出该属性的属性值的取值范围,搜索领域知识库,寻找拥有分析获得的属性名而且属性值在属性计算函数计算所获得的范围内的概念、知识树各节点和命名实体,增加到语义项列表中;其中,属性提取规则的一般形式为:\n[0082] IF(C1,C2C3…Cn) THEN Att(ai,val(ai,x))\n[0083] Re sult:CK={ck∈CK|ai∈ck.AttriList and ck.Attri(ai).value∈val(ai,x)},\n[0084] 上述属性提取规则的意义是,当用户输入满足词汇短语组合C1,C2,…Cn的形式时,由属性提取规则推理得到,其查询的属性是对应的目标概念或者知识节点为CK,其中CK均具有属性ai,且属性ai的属性值在属性计算函数val(ai,x)确定的区间之内;其中,ck满足ck∈{CONCEPT or KNOWNODES},CONCEPT表示概念,KNOWNODES表示知识树知识节点,Ci是用户查询输入短语中的一种词汇短语组合形式,例如“200元上下”可以归结为结构C“数字+元+上下”,可以该结构提取出价格属性,所述的C1,C2,…Cn间取逻辑“或”,所述的Att(ai,val(ai,x))表示属性ai的属性值的范围由属性计算函数val(ai,x)确定;\nck.AttriList表示ck的所有属性列表;ck.Attri(ai).Value表示ck的属性列表中属性名为ai的属性值。\n[0085] 提取出的每一个属性间是“与”的关系,而由每个属性确定的知识节点或者概念等内部的关系是“并”。\n[0086] (3)所述概念分析针是指,针对用户输入的查询语句,以概领域知识库的简单概念单元中存储的简单概念为分词参考,采用概率方法、最大匹配原则或其他方法进行分词,在去掉停止词后,找到每个基本词汇对应的概念,再从知识树中查找与这些概念存在语义关联的知识主题节点,最后综合每个词汇包含的概念和与之相关的知识树的节点作为概念分析的结果,存储到语义项列表中;\n[0087] 上述“与概念相关的知识树的节点”指,知识树中的节点通过基础知识层中的概念形成语义关联,即知识节点直接与某个概念相关,或者知识节点的语义组合成分与此概念相关。例如在“人类精神世界”这棵语义知识树中有名称为“宗教”和“原始宗教”两个知识节点。“宗教”的意义是概念“宗教_1”,“原始宗教”的意义是一个语义约束,约束的核是“宗教_1”,约束项是“原始_1”,这两个节点由“宗教_1”形成语义关联。\n[0088] (4)概念分析的结果是一个语义项列表,该列表各项包含知识节点、概念、命名实体和字符串四种结构。\n[0089] 3、语义图的生成\n[0090] (1)语义图是一个以字符串、概念、命名实体和知识树的节点作为根节点的,从知识树的节点(节点的意义、属性和属性值)、概念(概念的属性和属性值)出发,借助同义、父子、组成等语义关系,进行语义扩展的,表征语义距离的网络结构。\n[0091] (2)每个语义图的初始顶点为由初步语义处理获得的语义项列表中的各语义项;\n语义图的生成由初始顶点开始,对于语义图的每个顶点,在领域知识库内,在满足领域知识库的语义图生成规则约束前提下,凡满足r所表示关系的知识树的节点、概念、命名实体均增加为该顶点的子顶点,直到该顶点不再能增加新的子顶点为止。\n[0092] 所述语义图,是在初步语义处理所获得的结果的基础上,形成具有权值和关联性的以字符串、概念、命名实体和知识树的节点为顶点的语义有向图,简称语义图,语义图的形式用一个二元组SDG={V,E}表示,其中,V表示语义图顶点,语义图顶点内容是字符串、知识树的节点、概念和命名实体;E表示语义图的边,链接各个顶点,链接顶点i和j的边Eij表示为Eij={vi,vj,w,r},vi和vj是Eij链接的两个顶点,w是边的权重,权重的值域为[0,1],r表示扩展类型,即两个顶点之间的关系包括上下位关系:例如名山与五岳,五岳与名山,上位关系用@表示,下位关系用anti@表示,知识树的节点的整体与局部关系:例如计算机与硬盘,硬盘与计算机;整体到局部用%表示,局部到整体anti%表示;知识树的节点的属性与特征关系:例如实例“泰山”与其属性“特征风景”的值“泰山日出”的关系,“泰山日出”是“泰山”的一个“特征风景”,属性值到节点用#表示,节点到属性值用anti#;概念的相似关系:例如“便宜”与“廉价”,多指同义词,用$表示;知识树包含关系:例如如前文所提到的概念“宗教_1”在“人类精神世界”知识树中有相关的知识节点,包含于该知识树中,用&表示。一次语义扩展计算生成一个以上的语义图,语义图的个数由初步语义处理获得的语义项列表中包含的项数决定。\n[0093] (3)语义图中包含的上述各种关系都可以直接从领域知识树、语义支撑分类树和同义概念库中获得。\n[0094] (4)根据语义相关关系扩展形成语义图的过程,与领域知识紧密相关,同时还要受到语义图生成规则的约束。如图6是在有限领域知识条件下,由查询词“迎客松”形成的语义图示意图,概念“迎客松_1”对应于知识树“旅游景色”中的知识节点“迎客松”,而“迎客松”又是知识树“旅游景观”的两个节点“黄山”和“泰山”的都有的属性“特征风景”的属性值;“黄山”又可以依据其“特殊风景”的另外一个属性值莲花峰得到扩展;“黄山”的“地域”属性的属性值是“黄山区”,而“黄山区”又因为其在“地域知识树”中的上位节点是“黄山”而得到再一次扩展;同理,节点“泰山”根据属性“特殊事件”扩展到“封禅”,通过上位节点扩展到“五岳”,而“五岳”节点在知识树“旅游景观”中又拥有下位节点“华山”,所以“华山”得到扩展;“泰山”因为同义关系可以扩展到“岱宗”。\n[0095] 4、新增查询扩展项的确定\n[0096] 在语义图中,通过计算各节点与初始顶点间的语义距离,可以确定该顶点是否可以扩展成为新的查询项。通过这样的直接关联的形式加以扩展,语义图既可以通过知识树的层级关系体现顶点间的语义相关性,又可以通过属性值的比较体现顶点间的语义相似度。本发明将语义相似性和语义相似度用语义距离同一化处理。在语义图中,每个顶点相对初始顶点都形成一个语义距离,语义距离量化了各顶点被选中的可能性,语义距离越小,可能性越大。\n[0097] 两个顶点在语义图中的距离越远,语义距离越大,语义距离还与扩展计算的类型,即语义图中的两个节点之间的关系相关。\n[0098] 假设语义图扩展计算的一个中间顶点Vi,其中i≥0,i表示当前顶点到语义图起始顶点的最短扩展步数,则顶点Vi相对于初始顶点的语义距离定义为Si:\n[0099] \n[0100] 其中,Tn表示从初始顶点扩展到顶点Vi过程中第n步扩展的类型的影响因子,是可变参数,Tn取值范围[0,1],当i=0时,Tn=1;k和λ分别表示一个常数,是一个可变参数;m是加扩展势加速衰减因子,m为不小于2的正整数,为可变参数;\n[0101] 语义图中的任两个顶点Vi、Vj之间的语义距离用Sij表示:\n[0102] \n[0103] i>j,i和j均表示该顶点到初始顶点的最短扩展步数,Tm表示从初始顶点扩展到顶点Vi过程中第n步扩展的扩展类型的影响因子;Tn表示从初始顶点扩展到顶点Vi过程中第n步扩展的扩展类型的影响因子。\n[0104] 针对由特定项形成的语义图,可以根据语义图中各个顶点与初始顶点之间的语义距离确定其扩展的可能性;各顶点间不同的扩展类型,具有不同的扩展影响因子,该影响因子针对不同领域通过实验获得。最终从每个语义图中选择的扩展部分是图中与顶点的语义距离小于某个特定值S’的所有顶点集合。\n[0105] 5、所述的最后各扩展项的逻辑归各可扩展项,是指依据可扩展项间的逻辑关系,进行逻辑运算。其中,对于概念、命名实体和字符串逻辑与表示完全相同的进行保留,对于知识树的节点,逻辑与表示完全相同的保留,如果逻辑运算的两项一项在另外一项的父节点路径上,则保留该子接点;逻辑或均表示参与逻辑运算的两项都可以保留。\n[0106] 形式化表示为设用户输入的查询语句为Q,经过初步语义处理后,获得的语义项列表为CpList,对于每个语义项EpConpi∈CpList经过生成语义图和可扩展项选择后获得的可扩展项列表设为EpConpListi,EpConpListi间的逻辑关系同于EpConpi之间的逻辑关系,即若EpConpi与EpConpj之间的关系是“与”的关系,那么EpConpListi与EpConpListj之间的关系也是“与”的关系;其他逻辑情况相同。\n[0107] 二、本发明的详细的使用步骤:\n[0108] 本发明使用的步骤如下(如图1所示):\n[0109] 第一步骤:对各领域进行分析,构建领域知识库;\n[0110] 1.1人工或者自动导入词典,确定各词所表示的概念,形成概念库,同时确定概念的属性和属性值;\n[0111] 1.2根据各概念意义,确定各概念间的同义概念,形成同义概念库;\n[0112] 1.3构建领域命名实体库,人工搜集整理或机器自动抽取识别该领域的各命名实体,以构成领域命名实体库;\n[0113] 1.4分析该领域的知识,提取能够按照层次性表述的知识,构建领域知识树,确定每个知识节点的属性和属性值;\n[0114] 1.5对领域内不便于用知识树表示的层级知识,构建语义支撑分类树;\n[0115] 1.6根据已经构建的领域知识树和语义支撑分类树,考虑实际查询扩展过程中的各知识树和分类树上下位的可扩展关系,形成语义图生成规则;\n[0116] 1.7对该领域的可能查询短语进行分析,结合知识树知识节点和概念的属性,确定查询这些属性的某些特定的查询语句结构,人工编写或机器自动学习,形成特殊属性提取的识别规则;\n[0117] 1.8根据实际使用情况,调用1.1-1.7的内容。\n[0118] 第二步骤:初步语义处理\n[0119] 2.1处理用户查询短语中用逻辑连接符连接的一个独立项,流程如图2:\n[0120] 2.1.1属性提取:如图2中所示S21,对用户输入的查询语句进行扫描,直到扫描结束;过程中如果发现满足1.7中构建的属性提取规则的结构,则运用提取规则得到属性目标概念或知识节点放入语义项列表中。运用规则具体是指:根据规则选择属性计算函数,确定用户查询输入针对的属性,并推理计算出该属性的属性值范围δ,查询所有的知识节点和概念,获得具有该属性且属性值在δ内的知识节点和概念,作为属性提取的识别结果;\n同一个属性对应的多个概念或知识节点为逻辑“或”的关系,各个属性之间为逻辑“与”的关系;\n[0121] 2.1.2:将2.1.1中未能识别的查询语句中属性提取余下的语句,进行命名实体识别如图2中的S22,将识别出来的命名实体作为识别结果存入到语义项列表中,在用户查询短语中删除识别出的命名实体;各命名实体为逻辑“与”的关系;\n[0122] 2.1.3:将2.1.2未识别的用户输入查询短语的部分即非命名实体部分,进行概念分析如图2中的S23,以领域知识库中的概念库为基础,采用多种分词方法进行分词,在去掉停止词后,扫描分词结果序列直到结束。如果分词结果是基本词汇并且对应有相应概念,则查找概念语义相关的知识树知识节点,综合分析过程概念和知识节点放入到语义列表中;如果不是词汇是字符串,则作为最终未识别的部分;各词汇对应的概念以及与这些概念相关的知识节点是逻辑“或”的关系,各词汇之间对应的各概念和知识节点为逻辑“与”的关系;\n[0123] 2.1.4最终未能识别的部分,作为字符串处理;\n[0124] 2.2循环处理各逻辑连接符连接的各部分;\n[0125] 2.3按照2.1中所述的各项的逻辑关系,结合用户查询短语中的逻辑符号,对识别各项进行逻辑组合。\n[0126] 第三步骤:生成语义图\n[0127] 3.0所述语义图,是在初步语义处理所获得的结果的基础上,依靠领域知识库,根据各项的语义关系,形成具有权值和关联性的以字符串、概念、命名实体和知识树的节点为顶点的语义有向图,其形式用一个二元组SDG={V,E}表示,其中,V表示语义图顶点,内容是字符串、知识树的节点、概念和命名实体;E表示语义图的边,链接各个顶点,链接顶点i和j的边Eij表示为Eij={vi,vj,w,r},vi和vj是Eij链接的两个顶点,w是边的权重,值域为[0,1],r表示扩展类型,即两个顶点之间的关系包括上下位关系、整体与局部关系、属性与特征关系、相似关系和知识树包含关系;\n[0128] 3.1根据步骤二中识别的结果,按3.0中对语义图的描述,对每一个步骤二中识别的结果项,按照上下位关系、整体与局部关系、属性与特征关系、相似关系和知识树包含关系生成语义图。\n[0129] 第四步骤:确定扩展项\n[0130] 4.1根据第三步形成的语义图,按照权利要求5,对语义图中各顶点计算其与初始顶点之间的语义距离,根据事先设定的阈值选择扩展项;\n[0131] 4.2由同一个语义图中扩展出来的各项是逻辑“或”的关系\n[0132] 第五步骤:依据逻辑关系归并各可扩展项\n[0133] 5.1按照第二步中各项的逻辑归并关系,结合4.2中形成的由语义图扩展获得的各项间逻辑关系,归并各可扩展项,形成最终可扩展项集合,提交搜索引擎。\n[0134] 第六步骤:对语义图中语义距离计算参数和领域知识的修改\n[0135] 6.1根据第一步到第五步提交到搜索引擎得到的结果,修正语义图中语义计算的各参数值;\n[0136] 6.2根据第一步到第五步提交到搜索引擎得到的结果,补充修改领域知识库中存储的知识。\n[0137] 三、一个实现本发明具体实施例的应用环境说明\n[0138] 为了更好的说明本发明,特列举一个实现本发明具体实施例的应用系统,应该注意的是,本例子仅仅是为了更加充分的说明本发明而不是对本发明的限制。\n[0139] 如图7所示,是本发明具体实施例的一个应用环境。在计算机网络中,客户系统\n110可以通过互联网120或者其他通信网络(例如通过任意的LAN或者WAN连接)与多个服务器130_1到130_N以及检索结果服务器150进行通讯。用户通过用户系统110输入检索语句通过互联网120或其他网络提交查询意图,经过本发明涉及的一种基于领域知识的语义查询扩展方法141处理后,形成新的查询语句提交给检索结果服务器150,由150计算获得相关的网页和网页的相关连接;再由检索结果服务器150和服务器130_1至130_N提供数据,通过互联网120将结果返回用户单元110呈现给用户;如前所述领域知识库142为本发明涉及的一种基于领域知识的语义查询扩展方法141提供支撑;领域知识获取和编辑系统143用于自动或手动获取和编辑领域知识库142中的领域知识。\n[0140] 其中图7中所示的多个元件包含不必在这里详细说明的公知元件。例如客户系统\n110可以包括桌面电脑、手提电脑、工作站、PDA等任何之间或间接能够连接互联网120的计算机装置。客户系统110通常运行着能够允许用户访问网站或网络资源的浏览器,如微软TM TM\n的InternetExplore 浏览器、Netscape Navigator 、Mozilla、Opera等。客户系统通常还包括一个或多个键盘、显示器等用于与用户以及服务器130_1至130_N或其他服务器提供的各种数据进行交互的设备。\n[0141] 图中涉及的互联网120,应该理解该单元也可以被其他网络或者和互联网一起使用。\n[0142] 一个实施例中所述的本发明的一种基于领域知识的语义查询扩展方法141由一个计算机系统实现。其可以集成在检索结果服务器150中,也可以单独设立计算机进行运行。运行在该系统上的程序可以使用多种编程语言实现。如C、C++、C#和JAVA等。根据搜索系统的大小,承载该部分的计算机设备可以是普通的PC机,也可以是更高级的服务器。\n[0143] 根据一个实施例,检索结果服务器150利用查询扩展141获得的项进行查询结合服务器130_1至130_N通过互联网120向用户系统110提供检索结果;检索结果服务器150至少包括一个或多个从互联网获得信息并将这些信息进行所索引的工具。例如,至少包括一个或多个页面连接和数据收集工具(如网络爬虫web crawler),至少包括自动或半自动对网页进行分类或排序的算法和界面(如使用GOOGLE的PageRank算法等)。\n[0144] 一个实施例中涉及的服务器130_1至130_N用于接受检索结果服务器150提供的结果网页链接要求,为用户系统110提供网页连接。\n[0145] 如上所述的服务器150和130_1等可以是一个系统也可以是多个系统,尤其是服务130系列,其可以是物理上近距离的,也可以是物理上远距离的,可以是一个也可以是多个。其针对检索系统的规模可以是普通的服务器,也可以是更加高端的大型机。\n[0146] 以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。
法律信息
- 2021-07-02
未缴年费专利权终止
IPC(主分类): G06F 17/30
专利号: ZL 200810116729.X
申请日: 2008.07.16
授权公告日: 2011.12.07
- 2015-07-29
专利权的转移
登记生效日: 2015.07.10
专利权人由秦皇岛中科鸿合信息科技有限公司变更为中国科学院自动化研究所
地址由066004 河北省秦皇岛市秦皇岛经济技术开发区数谷大道2号数谷大厦1006房间变更为100190 北京市海淀区中关村东路95号
- 2014-04-16
专利权的转移
登记生效日: 2014.03.27
专利权人由中国科学院自动化研究所变更为秦皇岛中科鸿合信息科技有限公司
地址由100080 北京市海淀区中关村东路95号变更为066004 河北省秦皇岛市秦皇岛经济技术开发区数谷大道2号数谷大厦1006房间
- 2011-12-07
- 2010-03-24
- 2010-01-20
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2005-09-14
|
2003-05-15
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2013-07-29 | 2013-07-29 | | |
2 | | 2014-12-24 | 2014-12-24 | | |
3 | | 2013-07-29 | 2013-07-29 | | |