专利名称:一种基于领域知识的语义查询扩展方法
技术领域:
本发明属于计算机领域,涉及到自然语言处理的应用技术,具体针 对网络搜索引擎,提出一种基于领域知识的语义査询扩展方法。
背景技术:
随着因特网的发展,美国的搜索引擎使用率达到90%,在中国2008 年也同样达到了 72.4%,因特网使用者越来越倾向于通过检索获取自己 所需要的资源。以搜索引擎为代表的互联网公共信息服务正在蓬勃发展。 在通用搜索引擎市场被谷歌、微软、雅虎、百度等著名公司垄断的情况 下,新的搜索算法和搜索技术不断涌现,个性化、专业化、深入化的垂 直搜索正在成为搜索引擎发展的又一个亮点,涌现了如酷讯、搜房、和 讯搜索等垂直搜索引擎。
Craig Silverstein、王继民等学者通过对大规模搜索引擎实际查询
语义距离记录的分析得出的结论是无论是中文还是英文用户,在使用 搜索引擎进行检索的过程中,输入的查询关键字长度一般是3-4个词, 甚至更短。但是,脱离了自然语言的语义关联性,单纯地依赖3-4个词 的描述,难以准确地把握用户的检索意图,获取理想的搜索结果。
针对这个问题,研究者们提出了新的想法运用查询扩展技术来帮 助用户扩充和组织新的查询词,以便更加准确地描述用户的査询需要, 提高检索的査全率和准确率。目前,查询扩展作为搜索引擎的新兴技术, 越来越广泛地吸引了业界的关注。
查询扩展方法可以分为手动查询扩展和自动查询扩展两类。手动查 询扩展需要用户的大量干预,或者对所査询领域具有深入的了解,不适 宜面向大规模普通用户。自动查询扩展工作,主要使用权重或者联合的 搜索技术进行扩展,通常与具体的查询过程形成强耦合,难于将方法与 内容分离开来。目前,搜索引擎多倾向于采用后一种方法。自动査询扩展又可以分为全局的査询扩展和局部的查询扩展。局部 査询扩展是从第一次査询的返回结果中抽取某一部分文档,对检索词和 文档进行重新计算,再生成新的检索词,再次进行检索。已经证明这种方 法对信息检索的效果有所改善,但存在的问题是,如果在一次查询的结 果集中选取的是与用户查询无关的内容,或者前一次查询效果不佳时, 那么此方法将无法获得更好的结果。并且,二次查询将影响搜索引擎的 效率。基于全局的查询扩展方法通常建立同义词典或者相关语义词典, 利用词典对用户的查询词进行相应的扩展。词典可以自动、手工或二者 结合的方式建立。全局查询扩展方式不受前一次查询结果的限制,查询 速度快,算法较为独立。但是,现有方法对扩展项中词语的语义相关性 缺少足够重视。
针对以上问题,本发明提出了基于领域知识的语义查询扩展方法。 充分利用各领域内可描述的知识,充分挖掘与各查询词有语义相关的各 项。使得新增加的各项具有更加紧密的语义关联性,进而提高检索效果。
发明内容
本发明的目的在于解决用户在使用搜索引擎的时候,输入的査询词 较少,不能完整的表达用户搜索意愿,因而搜索结果的召回率和准确率 不能满足用户需要的问题,本发明针对自然语言的语义关联特性,提出 一种基于领域知识的语义查询扩展方法。
为了实现所述的目的,本发明基于领域知识的语义查询扩展方法, 包括如下步骤
步骤Sl:根据对领域知识和用户查询语句特征的分析构建领域知
识库,形成描述领域知识的领域知识库;
步骤S2:利用领域知识库内容,对用户输入的查询语句进行初步语
义处理,获得一个语义项列表;
步骤S3:利用语义项列表,结合领域知识库内容,对语义项列表中
的每一语义项生成语义步骤S4:根据语义图中顶点间的语义距离计算公式,计算每个语义
图中各顶点与初始顶点间的语义距离,通过设定的阈值,选择可扩展顶点,作为查询扩展的可扩展项;
步骤S5:根据语义项列表中各语义项的逻辑关系,归并由每个语义 图确定的可扩展项,将所获得的可扩展项提交搜索系统进行查询,并对 搜索系统的查询结果进行分析;
步骤S6:参考搜索系统查询结果的召回率和准确率,调节语义图中 用于计算语义距离的各可变参数,重新组织领域知识库内的知识。
本发明的有益效果本发明提出了一种基于领域知识的语义查询扩 展方法,计算时间短,充分利用了领域知识,新增加的扩展语义项与原 査询短语之间具有明确的语义关系,能有效的提高搜索系统的召回率和 准确率。解决了用户在使用搜索引擎的时候,因输入的查询词较少,不 能完整的表达用户搜索意愿,因而搜索结果的召回率和准确率不能满足 用户需要的问题,本发明考虑了语言中一词多义, 一义多表的现象,用 概念描述基础层知识,用知识树构建应用层知识,用语义复合模型描述 简单概念与复合概念之间的语义关联,通过计算语义图中各顶点间的语 义距离,对用户查询词进行了基于领域知识的语义扩展,实现对初始查 询短语的语义扩展计算,提高了査询的准确率和召回率。此方法提高了 全局査询扩展项的语义相关性,改善了搜索效果,尤其对于垂直搜索, 具有较强的实用价值。
-
图1是本发明基于领域知识的语义査询扩展方法结构示意图 图2是本发明初步语义处理流程示意图 图3是本发明领域知识库示意图
图4是本发明实施例概念"泰山_1"知识表示示意图 图5是本发明实施例计算机领域部分知识树示意图 图6是本发明实施例由"迎客松"生成的语义图示意图 图7是本发明具体实施例的一个应用环境示意图
具体实施例方式
下面结合附图,系统地对本发明如何实现基于领域知识、利用语义
8对用户输入査询语句进行扩展做出说明。应该指出的是,本部分所描述 的过程仅仅说明本发明在某一个应用中的使用情况,是为了更加清楚的 认识和了解本发明,而不是对本发明的限制。
本发明的算法流程如图l所示,通过对查询用户经常使用的查询词 进行总结分析,归类用户的查询意愿,分领域对领域内的知识进行分类 总结,再通过机器学习和人工处理等多种方法建立和丰富知识树、概念 库、命名实体库、语义支撑分类树、语义图生成规则等,前述六部分综 合起来构成描述知识的领域知识库;利用领域知识库提供的概念库、领 域知识树和命名实体库,对用户输入的査询语句进行初步语义处理,初 步语义处理包括属性提取、命名实体识别和概念分析三个步骤,经过初 步语义处理之后获得一个语义项列表Q',该语义项列表中含有知识树知
识节点、命名实体、概念和字符串四种类型;利用语义项列表,结合领
域知识库内容(例如概念库内概念间的关系、知识树、语义支撑分类
树和命名实体库),就语义项列表中的每一语义项生成语义图;根据语义
图中顶点间的语义距离计算公式
计算每个语义图中各顶点V与初始顶点间的语义距离s,通过设定
阈值y(最佳阈值的确定通过实验获得, 一般先设定一个初始阈值,然 后根据具体实验效果进行调节),选择可扩展顶点,作为查询扩展的可扩
展项;根据语义项列表中各项的逻辑关系,归并由每个语义图确定的可 扩展项,将所获得的可扩展项提交搜索系统进行查询,并对搜索系统的 查询结果进行分析;参考搜索系统查询结果的召回率和准确率,调节语 义图中用于计算语义距离的各可变参数(乙A,迈,"),重新组织领域 知识库内的知识,如对领域知识库中的知识树进行补充或调整,对语义 支撑分类树的分类层次结构数量等进行调整。其中根据搜索结果对各可 变参数进行修改,属于本方法的调节试验反馈过程,故在图1中用虚线 标出。
一次基于领域知识的语义查询扩展计算形式化的表示为设用户输 入查询词序列为Q,经过初步语义处理后获得语义项列表Q' , ^EC /"E(^V / OW(257T / 5T7fTM7 / A^ffiSfiW77T入仏一0/,其中脸 表示知识树的节点,OW6S7T表示概念,5T7 /M 表示字符串, 7V^ffi7^7^/7T表示命名实体,。表示临时处理结果项中,仏由^获 得。针对".,建立语义图,根据设定阈值S',最终确定由其扩展形成的 新的查询项f。二/"egef" / e(7e^e^^rap力r^人5Ye^C"二5V。其中 5"e/z^r,力(^J表示?,形成的语义图,5&W表示在语义图6^^rap力6 J 中顶点eq与初始顶点间的语义距离,S'表示设定的语义距离的阈值。根
据仏之间的(与或非)逻辑关系,列出五"的逻辑关系,如《,与^为交的 关系,则扩展获得的结果为^%'/7£%',将所有的可扩展项(包括它们之 间的逻辑关系)提交给搜索引擎进行检索。 一、如上述,本发明中涉及的各部分表述如下 1、领域知识库的表达和组织
本发明所述的领域知识库包括概念库、命名实体库、同义概念库、 知识树、语义支撑分类树和语义图生成规则等部分。如图3所示,概念库 是整个领域知识库的表示基础,包括简单概念单元和复合概念单元两部 分,复合概念单元将简单概念单元存储的简单概念经过语义复合运算获 得复合概念并存储;在概念库的基础上,以概念库内的简单概念和复合 概念为表达基础,从概念库中抽取具有层次关系的简单概念和复合概 念,按照层次关系组成表达领域知识的知识树,知识树分为核心知识树 和支撑知识分类树两部分,支撑知识分类树用来描述核心知识树的属性 和属性值的层次关系;同时,在概念库中抽取同义概念,形成同义概念 库;在概念库中存在的所有概念中,结合领域知识库所描述领域的实际 情况,分离出概念库中存在的命名实体,形成命名实体库;考察知识树 节点的属性值中不能用知识树模型进行表示而具有层次关系的,按照层 级关系列成语义支撑分类树;在知识树、同义概念库、语义支撑分类树 和命名实体库的基础上,按照实际查询扩展的形成语义图生成规则,限 制语义图生成时的扩展方向和范围。
各部分详细说明如下 (l)概念库由简单概念单元和复合概念单元两部分组成。其中,简 单概念单元中存储简单概念,复合概念单元中存储复合概念,简单概念经过语义复合运算形成复合概念。
所述的概念与词之间存在的关系是词与概念之间是多对多的关系, 一词多义称同名概念,多词一义称同义概念。同名概念用词加下标形式 区分,如"先生"这个词有三个基本语义,分别对应三个概念,"先生 —1"是老师,"先生—2"是对丈夫的称呼,"先生—3"表示尊称。同义 概念在知识体系中用同义关系描述,如概念"先生一l"与"老师一l"是 同义概念,则在这两个概念之间建立一个同义关系。
所述简单概念,是通过编辑或语料库机器学习获得简单概念属性和 属性值,简单概念用{属性,关系}二元组表示;属性是由{属性名,属 性值}表示的二元组;属性名称的类型是简单概念或复合概念,属性值 的类型是概念、数字、字符串、数组、时向或布尔值,用于界定概念的 内涵;关系包括父子继承关系和部分组成关系两类。 一个词可能对应多
个简单概念, 一个简单概念可能由多个词表示。
所述的概念的属性和属性值、以及各概念间的属性关系的确定,一
方面可以通过人工分析然后编辑;另一方面可以采用机器学习的方法,
从大规模一般语料库中获取概念的属性和属性值和概念间关系,也可以 从各种字典对词汇意义的描述中人工分析和提取属性和属性值、概念间
关系出现的特定模式,用计算机按照模式自动抽取获得。
所述概念的一个例子如词汇"泰山"对应的简单概念"泰山_1",
表示山的名称,为五岳之一,还有另一个概念"泰山_2",表示岳父的
别称。对于概念"泰山—1"可以用属性"地域"和"海拔"等描述,在 旅游领域中对名山进行分类时,其可以归为"五岳"的子节点,具体描
述见图4。
所述的复合概念为描述短语或句子内在语义关系的语义表达方式。 按照语义组合方式分类,复合概念具体有语义约束、语义状态和语义逻 辑三种语义结构类型。语义约束用来描述具有约束性质的偏正短语,由 {约束,核心}二元组描述两部分组成,"约束"的类型可以是简单概念、 复合概念、数字、字符串、布尔值、时间、数组,"核心"只能是简单概 念或者复合概念,如"红色的玫瑰"用一个语义约束描述,"红色_1"概 念为约束部分,概念"玫瑰一l"为核心,形式化表示为〈红色—1:玫瑰一1〉;语义状态用来描述拥有主谓或者动宾关系的短语,由{状态概念,语义主 格,语义宾格,状态列表)四部分组成,状态概念、语义主格、语义宾格 和状态等四个元素的类型只能是简单概念或复合概念,如"伍子胥在吴 国杀了他"用一个语义状态结构表示,状态概念相当于主谓结构或动宾 结构的核心动词,状态列表记录限定或补充动作的语义成分;状态概念 为"杀_1"表示"使人或动物失去生命"的概念,语义主格是"伍子胥 一l"表示历史上的伍子胥这个人,语义宾格是"他_1"表示指代,状态 列表中有一个属性名为"地点一1",对应的状态值为"吴国一1",其形式 化描述为[〈伍子胥_1>杀一1{(地点—h吴国—1)}〈他—1>];语义逻辑描述 体现了逻辑组合关系的短语的语义结构,由逻辑连词连接的短语,现概 念系统在时间、空间、事物、状态等方面存在的逻辑性组合包括"逻辑
与(AND)","逻辑或(OR)","逻辑表(TABLE)","逻辑异或(XOR, Exclusive Or)"和"逻辑蕴含(ENTAIL)"五种逻辑关系,各逻辑项的类型只能是 简单概念或复合概念,如表示"爱与恨",为并列关系,用"逻辑表"来 描述,形式化表示为Logic: (Table爱—1恨—1)。
所述的由简单概念获得复合概念的语义复合运算是现有技术,可以 参照中科院自动化所博士论文《基于概念网络的汉语语义复合研究》,
该论文在概念网络模型及语义复合表达模型的基础上,设计了汉语名词 性短语复合的计算框架,分析并建立了名词性短语语义复合的计算机处 理原型系统。
(2)所述的领域知识树是用来表示构建和存储某个领域内的各种层 次性知识,描述知识点间的上下位关系、组成关系等,以树的形式表 达。树的节点称为知识节点,如图5所示列出了计算机领域的一棵知识 树。知识节点包括知识节点名称、知识节点语义、知识节点的属性三部 分。知识节点的名称以词表示,知识节点的语义以简单概念和复合概念 形式描述。知识节点的属性包括属性名和属性值两部分。属性名以概念 形式定义,属性值可以是概念、字符串、数字、数组等。例如一棵领域 知识树为计算机,成员关系软件、硬件;父子关系为微型计算机、工作 站;软件的父子关系为数据库、系统软件、应用软件等;微型计算机的 成员关系为硬盘、主板等。
12根据在语义计算中发挥的作用,知识树分为核心知识树和语义支撑 知识分类树两类。核心知识树用来描述领域内主要知识节点间的语义关 系,语义支撑知识分类树描述知识节点的属性名称和属性值的语义关 系,核心知识树是语义计算的主要依据,语义支撑知识分类树提供的内 容,可以从知识点属性的角度,为语义计算提供约束条件,并为核心知 识点间提供横向关联。
采用编辑或机器学习的手段从语料库中获得所述领域知识库中的知 识树,用来描述领域知识的层次性和具体内容,知识树形式化表示为 〈知识树〉= <知识树名称〉<顶层节点〉*
〈知识树名称〉= <字符串〉 〈顶层节点〉= <节点〉*
<节点〉=〈序列号〉〈节点名称〉〈节点概念〉[〈父类节点〉][与父节 点关系][〈子类节点〉*][〈节点属性〉] 〈序列号〉=〈字符串〉 <节点名称> ::=〈字符串〉 〈节点概念〉二 〈语义表达〉
〈语义表达〉二 〈概念〉l〈语义约束〉i〈语义状态〉l〈语义逻辑〉 〈父类节点〉二 〈节点〉
〈与节点关系〉=〈上下位关系〉I 〈整体与局部关系〉 <子类节点> ::二 〈节点>
<节点属性> ::二 〈属性名称〉〈属性值〉 〈属性名称〉=〈概念〉1〈复合概念〉 〈属性值〉=〈符号〉
〈符号〉= <整数〉|<字符串>|〈浮点数〉|<日期〉|〈语义表达〉 其中*表示出现一次或者多次,1表示或,[]表示可选。 其所述的"采用编辑或机器学习的手段从语料库中获得所述领域知 识库中的知识树"为现有机器学习手段,参考自动生成本体(Ontology Generation)的相关算法。
(3〉命名实体库用来存储领域内的机构名、人名、地名等实体名。 (4)语义支撑分类树描述领域内不能按照父子关系或组成关系描述的具有层次关系的知识,语义支撑分类树体现知识节点的属性名称或属 性值的取值之间的层次性语义关系。例如将知识节点的属性价格,按照 高、中、低等三个层次分类,其结构不具备父子和组成的关系,仅表示 了价格的上的一种数量上的递减关系,构建成为语义支撑分类树,以便 于支撑语义扩展计算。
(5) 所述的同义概念库是由同义概念组成的库,同义概念的描述从 概念库中获得。
同义概念获取为现有计算,可以通过大规模语料学习获得,也可以 利用现有的人工编纂的同义概念库。
(6) 语义图生成规则用来约束查询扩展的语义计算过程,限制在何 中情况下,在知识树上,可以扩展到上位节点或者子节点;在语义支撑
分类树上何种情况下不能够由一个层次扩展到另外一个层次等。例如在 核心知识树和语义支撑分类树中,某个节点能否向上下位节点扩展,受
到语义生成规则的约束。例 'f/YCondif'.on—S(jfc^lCnovvNode〖kn」'n''tta' eKnovvTree(TV) —KnovvNodeExpandecf〖kns—expanded eKnovvTreefTV门/cns—expancfecf
-画一公式W 附(Condif'bn—No化nowNocfe〖knjni,tta, eKnovvT"ree顺— KnovvNocfeExpanclecl化ns—expandecf eKnovvTree〖TV门
Mcns_expanded eParenfKnovvNodes〖kn—Zni.阔W -—-纽卜2
其中公式l-l表示,如果满足约束O^c/i^oy^^^则由初始节点扩展 出来的节点只能是该初始节点的子节点;公式l-2表示在扩展中没有限 制Ow^i"朋」Vo的时候,初始节点既可以扩展到子节点,也可以向父节 点扩展。如上述公式,6b/7c/2'tio/ —5^6和6b/7力'"o/7—Ab表示一定条件; KnowTree (T》表示知识树L, 7T77一i;^^2/表示初始待扩展知识树节 点,^T iL ayps77Qfe^表示扩展出来的节点,z^7o『7Vbofes (^/ _ f <g" 表示知识节点A/7—i"i"'a2的父节点集合,5"t/M77o『7Vbofes(^/7—^7it&"表示知识节点A/7—//7/Wa7的子节点集合。 2、初步语义处理
(1) 所述初步语义处理是依赖于领域知识库,对用户输入的查询语 句进行处理,涉及的步骤依次是-
属性提取扫描查询语句,通过字符结构匹配寻找査询语句与属性 提取规则匹配的结构,提取到查询语句拥有该属性的知识树的节点和概 念,增加到语义项列表中;
命名实体识别,将查询语句中经过属性提取后,将剩余的未识别语 句部分进行命名实体识别,将获得的命名实体增加到语义项列表中;
概念分析将查询语句中经过命名实体识别后,将剩余的未识别语 句部分进行分词,将每个分词获得的汉语词汇对应的概念增加到语义项 列表中;査找与这些概念相关的知识树的节点,获得知识树的节点,将 获得的知识树的节点增加到语义项列表中;
最后,没有识别的字符串作为一个整体增加到语义项列表中;初步 语义处理获得的结果为一个以概念、知识树的节点、命名实体、字符串 四种形式存在的语义项列表。
(2) 所述的属性提取,是针对能够由词语的组合顺序确定的属性,
根据属性提取规则,选择属性计算函数,确定用户输入所针对属性内容
中属性的名称,并利用属性计算函数计算出该属性的属性值的取值范围,
搜索领域知识库,寻找拥有分析获得的属性名而且属性值在属性计算函
数计算所获得的范围内的概念、知识树各节点和命名实体,增加到语义
项列表中;其中,属性提取规则的一般形式为 /F(C,, C2C3…C ) r服7V , va/(a,, ;c))
Re犯/f: CAT = e CA" | a,, e cA:.J欲/ZiW and c&.^"n'(a,. ).va/we e va/(",., x)},
上述属性提取规则的意义是,当用户输入满足词汇短语组合;q,…G的 形式时,由属性提取规则推理得到,其查询的属性是对应的目标概念或
者知识节点为cj,其中or均具有属性a;,且属性s,的属性值在属性计 算函数 确定的区间之内;其中,d满足
c" ^ ^CWM^£S} , OWC5P7表示概念,^M^WZ^ 表示知
识树知识节点,Ci是用户査询输入短语中的一种词汇短语组合形式,例如"200元上下"可以归结为结构C "数字+元+上下",可以该结构提取出价格属性,所述的q,^,'《"间取逻辑"或",所述的」雖,,,。,,^表示
属性ai的属性值的范围由属性计算函数raJ(^"确定;表示cA的所有属性列表;cA.Z"rjYaJ. rahe表示d的属性列表中属性名为^的属性值。
提取出的每一个属性间是"与"的关系,而由每个属性确定的知识节点或者概念等内部的关系是"并"。
(3)所述概念分析针是指,针对用户输入的查询语句,以概领域知识库的简单概念单元中存储的简单概念为分词参考,采用概率方法、最大匹配原则或其他方法进行分词,在去掉停止词后,找到每个基本词汇对应的概念,再从知识树中查找与这些概念存在语义关联的知识主题节点,最后综合每个词汇包含的概念和与之相关的知识树的节点作为概念分析的结果,存储到语义项列表中;
上述"与概念相关的知识树的节点"指,知识树中的节点通过基础知识层中的概念形成语义关联,即知识节点直接与某个概念相关,或者知识节点的语义组合成分与此概念相关。例如在"人类精神世界"这棵语义知识树中有名称为"宗教"和"原始宗教"两个知识节点。"宗教"的意义是概念"宗教_1","原始宗教"的意义是一个语义约束,约束的核是"宗教一l",约束项是"原始」",这两个节点由"宗教—1"形成语义关联。
(4)概念分析的结果是一个语义项列表,该列表各项包含知识节点、概念、命名实体和字符串四种结构。3、语义图的生成
(1) 语义图是一个以字符串、概念、命名实体和知识树的节点作为根节点的,从知识树的节点(节点的意义、属性和属性值)、概念(概念的属性和属性值)出发,借助同义、父子、组成等语义关系,进行语义扩展的,表征语义距离的网络结构。
(2) 每个语义图的初始顶点为由初步语义处理获得的语义项列表中的各语义项;语义图的生成由初始顶点开始,对于语义图的每个顶点,在领域知识库内,在满足领域知识库的语义图生成规则约束前提下,凡
16满足r所表示关系的知识树的节点、概念、命名实体均增加为该顶点的子顶点,直到该顶点不再能增加新的子顶点为止。
所述语义图,是在初步语义处理所获得的结果的基础上,形成具有权值和关联性的以字符串、概念、命名实体和知识树的节点为顶点的语
义有向图,简称语义图,语义图的形式用一个二元组SDG二(V,E)表示,其中,V表示语义图顶点,语义图顶点内容是字符串、知识树的节点、概念和命名实体;E表示语义图的边,链接各个顶点,链接顶点i和j的边E,j表示为Ei产(Vi,Vj,w,rh Vi和Vj是Eij链接的两个顶点,w是边的权重,权重的值域为[O,l], r表示扩展类型,即两个顶点之间的关系包括上下位关系例如名山与五岳,五岳与名山,上位关系用@表示,下位关系用anti(S表示,知识树的节点的整体与局部关系例如计算机与硬盘,硬盘与计算机;整体到局部用%表示,局部到整体anti。/。表示;知识树的节点的属性与特征关系例如实例"泰山"与其属性"特征风景"的值"泰山日出"的关系,"泰山日出"是"泰山"的一个"特征风景",属性值到节点用#表示,节点到属性值用antift;概念的相似关系例如"便宜"与"廉价",多指同义词,用$表示;知识树包含关系例如如
前文所提到的概念"宗教—1"在"人类精神世界"知识树中有相关的知识节点,包含于该知识树中,用&表示。 一次语义扩展计算生成一个以上的语义图,语义图的个数由初步语义处理获得的语义项列表中包含的项数决定。
(3)语义图中包含的上述各种关系都可以直接从领域知识树、语义支撑分类树和同义概念库中获得。
(4)根据语义相关关系扩展形成语义图的过程,与领域知识紧密相关,同时还要受到语义图生成规则的约束。如图6是在有限领域知识条件下,由査询词"迎客松"形成的语义图示意图,概念"迎客松_1"对应于知识树"旅游景色"中的知识节点"迎客松",而"迎客松"又是知识树"旅游景观"的两个节点"黄山"和"泰山"的都有的属性"特征风景"的属性值;"黄山"又可以依据其"特殊风景"的另外一个属性值莲花峰得到扩展;"黄山"的"地域"属性的属性值是"黄山区",而"黄山区"又因为其在"地域知识树"中的上位节点是"黄山"而得到再一次扩展;同理,节点"泰山"根据属性"特殊事件"扩 展到"封禅",通过上位节点扩展到"五岳",而"五岳"节点在知识 树"旅游景观"中又拥有下位节点"华山",所以"华山"得到扩展;
"泰山"因为同义关系可以扩展到"岱宗"。 4、新增查询扩展项的确定
在语义图中,通过计算各节点与初始顶点间的语义距离,可以确定 该顶点是否可以扩展成为新的查询项。通过这样的直接关联的形式加以 扩展,语义图既可以通过知识树的层级关系体现顶点间的语义相关性, 又可以通过属性值的比较体现顶点间的语义相似度。本发明将语义相似 性和语义相似度用语义距离同一化处理。在语义图中,每个顶点相对初 始顶点都形成一个语义距离,语义距离量化了各顶点被选中的可能性, 语义距离越小,可能性越大。
两个顶点在语义图中的距离越远,语义距离越大,语义距离还与扩 展计算的类型,即语义图中的两个节点之间的关系相关。
假设语义图扩展计算的一个中间顶点Vi,其中i)O, i表示当前顶 点到语义图起始顶点的最短扩展步数,则顶点Vj相对于初始顶点的语义 距离定义为S1:<formula>formula see original document page 18</formula>
其中,L表示从初始顶点扩展到顶点Vi过程中第n步扩展的类型的 影响因子,是可变参数,Tn取值范围[O,l],当1=0时,Tn=l; k和义分 别表示一个常数,是一个可变参数;m是加扩展势加速衰减因子,m为 不小于2的正整数,为可变参数;
语义图中的任两个顶点Vi、 Vj之间的语义距离用Sij表示
<formula>formula see original document page 18</formula>
i〉j, i和j均表示该顶点到初始顶点的最短扩展步数,t:表示从初 始顶点扩展到顶点k过程中第/7步扩展的扩展类型的影响因子;7;表示 从初始顶点扩展到顶点^过程中第"步扩展的扩展类型的影响因子。
针对由特定项形成的语义图,可以根据语义图中各个顶点与初始顶点之间的语义距离确定其扩展的可能性;各顶点间不同的扩展类型,具 有不同的扩展影响因子,该影响因子针对不同领域通过实验获得。最终 从每个语义图中选择的扩展部分是图中与顶点的语义距离小于某个特定 值^的所有顶点集合。5、所述的最后各扩展项的逻辑归各可扩展项,是指依据可扩展项间的 逻辑关系,进行逻辑运算。其中,对于概念、命名实体和字符串逻辑与 表示完全相同的进行保留,对于知识树的节点,逻辑与表示完全相同的 保留,如果逻辑运算的两项一项在另外一项的父节点路径上,则保留该子接点;逻辑或均表示参与逻辑运算的两项都可以保留。形式化表示为设用户输入的査询语句为G经过初步语义处理后,获 得的语义项列表为对于每个语义项&Cb;7A.^Q^i"经过生成语义图和可扩展项选择后获得的可扩展项列表设为^^b77/^^^,^co/7/^j'"涧的逻辑关系同于^6b/7A之间的逻辑关系,即若^Kb"p,与i5Kb/7Py之间的关系是"与"的关系,那么^76b/^"W,与&6b/7p"S。之间的关系也是"与"的关系;其他逻辑情况相同。二、本发明的详细的使用步骤本发明使用的步骤如下(如图l所示)第一步骤对各领域进行分析,构建领域知识库;1.1人工或者自动导入词典,确定各词所表示的概念,形成概念库,同时确定概念的属性和属性值;1.2根据各概念意义,确定各概念间的同义概念,形成同义概念库;1.3构建领域命名实体库,人工搜集整理或机器自动抽取识别该领 域的各命名实体,以构成领域命名实体库;1.4分析该领域的知识,提取能够按照层次性表述的知识,构建领 域知识树,确定每个知识节点的属性和属性值;1.5对领域内不便于用知识树表示的层级知识,构建语义支撑分类树;1.6根据已经构建的领域知识树和语义支撑分类树,考虑实际查询 扩展过程中的各知识树和分类树上下位的可扩展关系,形成语义图生成规则;
1.7对该领域的可能査询短语进行分析,结合知识树知识节点和概
念的属性,确定查询这些属性的某些特定的查询语句结构,人工编写或
机器自动学习,形成特殊属性提取的识别规则; 1.8根据实际使用情况,调用l.卜1.7的内容。
第二步骤初步语义处理
2. l处理用户查询短语中用逻辑连接符连接的一个独立项,流程如
图2:
2. 1. l属性提取如图2中所示S21,对用户输入的查询语句进行扫 描,直到扫描结束;过程中如果发现满足1.7中构建的属性提取规则的 结构,则运用提取规则得到属性目标概念或知识节点放入语义项列表 中。运用规则具体是指根据规则选择属性计算函数,确定用户査询输
入针对的属性,并推理计算出该属性的属性值范围s,查询所有的知识 节点和概念,获得具有该属性且属性值在s内的知识节点和概念,作为
属性提取的识别结果;同一个属性对应的多个概念或知识节点为逻辑 "或"的关系,各个属性之间为逻辑"与"的关系;
2.1.2 :将2. 1.1中未能识别的查询语句中属性提取余下的语句, 进行命名实体识别如图2中的S22,将识别出来的命名实体作为识别结果 存入到语义项列表中,在用户查询短语中删除识别出的命名实体;各命 名实体为逻辑"与"的关系;
2.1.3 :将2. 1.2未识别的用户输入查询短语的部分即非命名实体 部分,进行概念分析如图2中的S23,以领域知识库中的概念库为基础, 采用多种分词方法进行分词,在去掉停止词后,扫描分词结果序列直到 结束。如果分词结果是基本词汇并且对应有相应概念,则査找概念语义 相关的知识树知识节点,综合分析过程概念和知识节点放入到语义列表 中;如果不是词汇是字符串,则作为最终未识别的部分;各词汇对应的 概念以及与这些概念相关的知识节点是逻辑"或"的关系,各词汇之间 对应的各概念和知识节点为逻辑"与"的关系;
2.1.4最终未能识别的部分,作为字符串处理; 2.2循环处理各逻辑连接符连接的各部分;
202.3按照2. l中所述的各项的逻辑关系,结合用户査询短语中的逻 辑符号,对识别各项进行逻辑组合。 第三步骤生成语义图3.0所述语义图,是在初步语义处理所获得的结果的基础上,依靠 领域知识库,根据各项的语义关系,形成具有权值和关联性的以字符 串、概念、命名实体和知识树的节点为顶点的语义有向图,其形式用一个二元组SDG二(V,E)表示,其中,V表示语义图顶点,内容是字符串、知 识树的节点、概念和命名实体;E表示语义图的边,链接各个顶点,链接 顶点i和j的边Eij表示为Ei产Wi,Vj,w,r), Vi和Vj是Eij链接的两个顶点,w 是边的权重,值域为[O,l], r表示扩展类型,即两个顶点之间的关系包 括上下位关系、整体与局部关系、属性与特征关系、相似关系和知识树 包含关系;3.1根据步骤二中识别的结果,按3.0中对语义图的描述,对每一 个步骤二中识别的结果项,按照上下位关系、整体与局部关系、属性与 特征关系、相似关系和知识树包含关系生成语义图。第四步骤确定扩展项4. 1根据第三步形成的语义图,按照权利要求5,对语义图中各顶点 计算其与初始顶点之间的语义距离,根据事先设定的阈值选择扩展项; 4.2由同一个语义图中扩展出来的各项是逻辑"或"的关系 第五步骤依据逻辑关系归并各可扩展项5.1按照第二步中各项的逻辑归并关系,结合4.2中形成的由语义 图扩展获得的各项间逻辑关系,归并各可扩展项,形成最终可扩展项集 合,提交搜索引擎。第六步骤对语义图中语义距离计算参数和领域知识的修改6.1根据第一步到第五步提交到搜索引擎得到的结果,修正语义图 中语义计算的各参数值;6.2根据第一步到第五步提交到搜索引擎得到的结果,补充修改领 域知识库中存储的知识。三、 一个实现本发明具体实施例的应用环境说明为了更好的说明本发明,特列举一个实现本发明具体实施例的应用系统,应该注意的是,本例子仅仅是为了更加充分的说明本发明而不是 对本发明的限制。
如图7所示,是本发明具体实施例的一个应用环境。在计算机网络 中,客户系统110可以通过互联网120或者其他通信网络(例如通过任 意的LAN或者WAN连接)与多个服务器130—1到130_N以及检索结果服 务器150进行通讯。用户通过用户系统110输入检索语句通过互联网120 或其他网络提交查询意图,经过本发明涉及的一种基于领域知识的语义 查询扩展方法141处理后,形成新的査询语句提交给检索结果服务器 150,由150计算获得相关的网页和网页的相关连接;再由检索结果服务 器150和服务器130—1至130_N提供数据,通过互联网120将结果返回 用户单元110呈现给用户;如前所述领域知识库142为本发明涉及的一 种基于领域知识的语义查询扩展方法141提供支撑;领域知识获取和编 辑系统143用于自动或手动获取和编辑领域知识库142中的领域知识。
其中图7中所示的多个元件包含不必在这里详细说明的公知元件。 例如客户系统110可以包括桌面电脑、手提电脑、工作站、PDA等任何 之间或间接能够连接互联网120的计算机装置。客户系统110通常运行 着能够允许用户访问网站或网络资源的浏览器,如微软的Internet Explore 浏览器、Netscape Navigator 、 Mozilla、 Opera等。客户系 统通常还包括一个或多个键盘、显示器等用于与用户以及服务器130_1 至130一N或其他服务器提供的各种数据进行交互的设备。
图中涉及的互联网120,应该理解该单元也可以被其他网络或者和 互联网一起使用。
一个实施例中所述的本发明的一种基于领域知识的语义查询扩展方 法141由一个计算机系统实现。其可以集成在检索结果服务器150中, 也可以单独设立计算机进行运行。运行在该系统上的程序可以使用多种 编程语言实现。如C、 C++、 Ctt和JAVA等。根据搜索系统的大小,承载 该部分的计算机设备可以是普通的PC机,也可以是更高级的服务器。
根据一个实施例,检索结果服务器150利用查询扩展141获得的项 进行查询结合服务器130—1至13(LN通过互联网120向用户系统110提 供检索结果;检索结果服务器150至少包括一个或多个从互联网获得信息并将这些信息进行所索引的工具。例如,至少包括一个或多个页面连接和数据收集工具(如网络爬虫web crawler),至少包括自动或半自动 对网页进行分类或排序的算法和界面(如使用GOOGLE的PageRank算法一个实施例中涉及的服务器130—1至130—N用于接受检索结果服务 器150提供的结果网页链接要求,为用户系统110提供网页连接。如上所述的服务器150和130_1等可以是一个系统也可以是多个系 统,尤其是服务130系列,其可以是物理上近距离的,也可以是物理上 远距离的,可以是一个也可以是多个。其针对检索系统的规模可以是普 通的服务器,也可以是更加高端的大型机。以上所述,仅为本发明中的具体实施方式
,但本发明的保护范围并 不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理 解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发 明的保护范围应该以权利要求书的保护范围为准。
权利要求
1、一种基于领域知识的语义查询扩展方法,其特征在于包括如下步骤步骤S1根据对领域知识和用户查询语句特征的分析,构建领域知识库,形成描述领域知识的领域知识库;步骤S2利用领域知识库内容,对用户输入的查询语句进行初步语义处理,获得一个语义项列表;步骤S3利用语义项列表,结合领域知识库内容,对语义项列表中的每一语义项生成语义图;步骤S4根据语义图中顶点间的语义距离计算公式,计算每个语义图中各顶点与初始顶点间的语义距离,通过设定的阈值,选择可扩展顶点,作为查询扩展的可扩展项;步骤S5根据语义项列表中各语义项的逻辑关系,归并由每个语义图确定的可扩展项,将所获得的可扩展项提交搜索系统进行查询,并对搜索系统的查询结果进行分析;步骤S6参考搜索系统查询结果的召回率和准确率,调节语义图中用于计算语义距离的各可变参数,重新组织领域知识库内的知识。
2、 如权利要求1所述的基于领域知识的语义査询扩展方法,其特征 在于所述语义图,是在初步语义处理获得的语义项列表结果的基础 上,形成具有权值和关联性的以字符串、概念、命名实体和知识树的节 点为顶点的语义有向图,简称语义图,语义图的形式用一个二元组 SDG^V,E)表示,链接顶点i和顶点j的边Eij表示为E,尸Wi, Vj,w,r), 一次语义扩展计算生成一个以上的语义图,语义图的个数由语义项列表 中包含的项数决定;每个语义图的初始顶点为语义项列表中的各语义项; 语义图的生成由初始顶点开始,对于语义图的每个顶点,在领域知识库 内,在满足领域知识库的语义图生成规则约束前提下,凡满足r所表示 关系的知识树的节点、概念、命名实体均增加为该顶点的子顶点,直到 该顶点不再能增加新的子顶点为止,上述中,「表示语义图顶点,语义 图顶点内容是字符串、知识树的节点、概念和命名实体;^表示语义图的边,链接各个顶点,Vi和Vj是Eij链接的两个顶点,W是边的权重,权重的值域为[O,l], r表示扩展类型,即两个顶点之间的关系包括知识树 的节点的上下位关系、知识树的节点的整体与局部关系、知识树的节点 的属性与特征关系、概念的相似关系和知识树包含关系。
3、 如权利要求2所述的基于领域知识的语义査询扩展方法,其特征 在于采用编辑或机器学习的手段从语料库中获得所述领域知识库中的 知识树,用来描述领域知识的层次性和具体内容,根据在语义距离计算 中发挥的作用,知识树分为核心知识树和支撑知识分类树;核心知识树 用来描述领域内主要知识点间的语义关系,语义支撑知识分类树描述知 识节点的属性名称和属性值的语义关系,所述知识树的形式化表示为<知识树〉=〈知识树名称〉〈顶层节点〉* 〈知识树名称〉=〈字符串〉 〈顶层节点〉二 〈节点>*<节点〉= <序列号><节点名称〉<节点概念〉[〈父类节点>][与父节 点关系][<子类节点〉*][〈节点属性〉] <序列号> ::二 <字符串> 〈节点名称〉二 〈字符串〉 <节点概念> ::= <语义表达〉〈语义表达〉二 <概念〉1<语义约束〉|<语义状态〉1<语义逻辑〉 <父类节点〉= <节点>〈与节点关系〉=〈上下位关系〉I 〈整体与局部关系〉 〈子类节点〉二 <节点> 〈节点属性〉=〈属性名称〉〈属性值〉 〈属性名称〉=〈概念〉l〈复合概念〉 〈属性值> ::二 <符号〉〈符号> ::= <整数〉|〈字符串〉|〈浮点数〉|<日期〉|<语义表达> 其中*表示出现一次或者多次,l表示或,[]表示可选。
4、 如权利要求1所述的基于领域知识的语义查询扩展方法,其特征 在于所述语义距离是对语义相似性和语义关联性的同一化处理,假设 语义图扩展计算的一个中间顶点其中i》0, i表示当前顶点到语义图起始顶点的最短扩展步数,则顶点Vi相对于初始顶点的语义距离定义 Si为<formula>formula see original document page 4</formula>其中,Tn表示从初始顶点扩展到顶点Vi过程中第n步扩展的类型的 影响因子,是可变参数,L取值范围[O,l],当i二O时,Tn=l; k和^分 别表示一个常数,是一个可变参数;m是加扩展势加速衰减因子,m为 不小于2的正整数,为可变参数;语义图中的任两个顶点Vi、 Vj之间的语义距离用Sjj表示<formula>formula see original document page 4</formula>i〉j, i和j均表示该顶点到初始顶点的最短扩展步数,7:表示从初始顶点扩展到顶点Vi过程中第/7步扩展的扩展类型的影响因子;7;表示从初始顶点扩展到顶点Vj过程中第"步扩展的扩展类型的影响银子。
5、根据权利要求1所述的语义查询扩展方法,其特征在于所述初步语义处理是依赖于领域知识库,对用户输入的查询语句进行处理,处理步骤如下步骤S21:扫描査询语句,通过字符结构匹配寻找查询语句与属性提 取规则匹配的结构,提取得到查询语句拥有该属性的知识树的节点和概 念,增加到语义项列表中;步骤S22:将査询语句中经过步骤S21属性提取后,将剩余的未识别语句部分进行命名实体识别,获得的命名实体,将命名实体增加到语 义项列表中;步骤S23:将查询语句中经过步骤S22命名实体识别后,将剩余的 未识别语句部分进行分词,将每个分词获得的汉语词汇对应的概念增加 到语义项列表中;查找与这些概念相关的知识树的节点,获得知识树的 节点,将获得的知识树的节点增加到语义项列表中;最后,没有识别的 字符串作为一个整体增加到语义项列表中;最终获得一个语义项列表, 其中每一项的类型是概念、知识树的节点、命名实体、字符串四种中的 一种。
6、 如权利要求5所述的基于领域知识的语义査询扩展方法,其特征在于所述的属性提取,是针对能够由词语的组合顺序确定的属性,根 据属性提取规则,选择属性计算函数,确定用户输入所针对属性内容中 属性的名称,并利用属性计算函数计算出该属性的属性值的取值范围; 其中,属性提取规则的一般形式为/F(C', C2C3…C ) 血(《,ra/(",, x))Re to/V : C《-{cA e CX (cz, e d J"nZ/W and d^"/7'(a, ).va/we e v"/(a, , x)),上述属性提取规则的意义是,当用户输入满足词汇短语组合q,q,"("的形式时,由属性提取规则推理得到,其查询的属性是对应的目标概念或者知识节点为CK,其中CK均具有属性&,且属性s,的属性值在属性计算函数val (ai, x)确定的区间之内;其中,A满足dt e {COiVC£Pr 。/ /GWWWODES} , OWG57T表示概念,AM ^Vi9i^5"表示知识树知识节点,Ci是用户查询输入短语中的一种词汇短语组合形式,所 述的C',C2,…C"间取逻辑"或",所述的颠(a,,v。/(a,,x))表示属性s;的属性值的范围由属性计算函数M7&,"确定。
7、 如权利要求1所述的基于领域知识的语义查询扩展方法,其特征 在于所述领域知识库包括概念库,其具有复合概念单元和简单概念单 元;所述的复合概念单元,将所述简单概念单元存储的简单概念经过语 义复合运算获得复合概念并存储,从概念库中抽取具有层次关系的简单 概念和复合概念,按照层次关系组成表达领域知识的知识树,从概念库 中抽取同义概念形成同义概念库。
8、 如权利要求7所述的基于领域知识的语义查询扩展方法,其特征 在于所述简单概念,是通过编辑或语料库机器学习获得简单概念属性 和属性值,简单概念用{属性,关系}二元组表示;属性是由(属性名, 属性值}表示的二元组;属性名称的类型是简单概念或复合概念,属性 值的类型是概念、数字、字符串、数组、时间或布尔值;关系包括父子 继承关系和部分组成关系两类。
全文摘要
本发明公开了一种基于领域知识的语义查询扩展方法,包括以概念表达和知识树体系为基础,构建领域知识;对用户的查询短语进行初步语义分析,形成语义项列表;利用初步语义分析的结果,以领域知识为基础,构建带有扩展类型和扩展权重的语义图;计算语义图中每个顶点到初始顶点间的语义距离;根据语义距离,确定语义项列表中每一项的可扩展项;最后依靠“与”“或”逻辑关系合并所有可扩展项,得到表示用户查询意向的语义项集合,并提交搜索系统进行搜索。本发明计算时间短,充分利用了领域知识,新增加的扩展语义项与原查询短语之间具有明确的语义关系,能有效的提高搜索系统的查全率和查准率。
文档编号G06F17/30GK101630314SQ200810116729
公开日2010年1月20日 申请日期2008年7月16日 优先权日2008年7月16日
发明者禾 任, 朋 卢, 杨一平, 琳 陈, 马良俊, 高一波 申请人:中国科学院自动化研究所