APP下载

一种本体与Lucene融合的工艺知识检索方法

2015-05-10王庆文裴彦纯周建慧杨海成

制造业自动化 2015年23期
关键词:三元组术语本体

王庆文,裴彦纯,周建慧,杨海成,3

(1.北京航空航天大学 机械工程及自动化学院,北京 100191;2.中国航天科工飞航技术研究院,北京 100074;3.中国航天科技集团,北京 100048)

0 引言

在科技高速发展的今天,企业中的知识迅速膨胀,制造企业也不例外。知识管理,就是为企业实现显性知识和隐性知识共享提供新的途径,利用集体的智慧提高企业的应变和创新能力。工艺知识是涉及产品全生命周期的,目前国内工艺知识管理主要应用于CAPP范畴,主要对产品设计过程中的工艺知识进行了有效的管理,也有很多高校和研究院正在对产品全生命周期的工艺知识管理展开了深入研究。而国外对工艺知识的管理研究则侧重于知识管理的框架和知识表达方式及评价[1]。其中,工艺知识的共享是工艺知识管理中很重要的一部分,如果知识库中的知识不能够及时地共享,那么工艺知识管理的水平就要大打折扣。

工艺知识检索是知识共享的一种有效途径,面对产品全生命周期的大量工艺知识,北京航空航天大学的姜明提出了一种基于内容的工艺知识检索方法[2],此方法是通过Lucene检索工具包中的检索方法,构建了工艺文档的索引结构,并对其内容进行抽取和分词,是一种基于内容的检索方法。但这种方法只是机械的分词匹配,工艺术语之间的关系在索引中并不能体现出来,若能将工艺术语之间的关系添加至索引中,就可以使得检索过程对工艺文档和用户输入的查询条件进行推理解析后再查询,这样检索过程将更加智能化,成为一种工艺知识语义检索的方法。

构建工艺术语之间的联系,采用比较多的是构建工艺本体。目前,越来越多的领域在其知识管理中引入了本体,如飞机故障知识本体[3]、几何学知识本体[4]。部分制造业知识管理中也引入了本体,如OHSMKBS领域本体[5]、机械加工工艺本体[6]等。在制造业中我们将工艺知识的相关本体简称为工艺本体。

在工艺知识语义检索中,通过工艺本体对文档内容和查询关键字进行扩展,扩展的方式则依据工艺知识管理系统的具体检索需求。目前,采用较为广泛的是三元组扩展[7],三元组(主体,谓词,客体)可以准确地表达工艺术语之间的联系。本文通过在Lucene索引结构和查询条件结构中引入工艺术语语义三元组属性项,在基于内容检索的基础上,对工艺文档的内容进行了语义扩展,弥补了检索过程中机械分词匹配查询的单一性,使得工艺知识检索系统对文档内容的检索更加语义化,智能化。

1 工艺本体与Lucene融合的工艺知识检索结构

Lucene工具包提供了中文分词、文档建索和文档检索工具,虽然可以将工艺术语词典加入Lucene词典中实现对工艺术语的分词,但在查询时,只能进行机械的工艺术语匹配,并不能很好地体现文档内容的语义。

为将文档内容的语义抽取出来,在Lucene分词后,对其中的工艺术语进行语义扩展,这种扩展主要是依据构建的工艺本体中工艺术语之间的联系,分析工艺术语及其上下文中的其他术语,将其扩展为一个子句,也就是三元组,由于这种三元组表达了文档中内容论述的主题或方向,因此我们称其为语义三元组。

将扩展后的语义三元组添加到Lucene索引中后,查询时同样对用户输入的查询条件进行扩展,得到查询语义三元组,去查询对应的语义三元组索引项,这样就形成了完整地语义检索过程。

本文通过分析工艺文档的属性和检索需求,采用Lucene和工艺本体结合的方法,提出了一种工艺知识语义检索方法的总体流程,如图1所示。

工艺知识语义检索方法共分为三个部分,即工艺文档建索,工艺文档查询,检索结果返回。

工艺文档建索过程,是在存储到知识库的同时,抽取其各类属性,工艺文档的属性分为内容属性和文档相关信息属性,内容属性需要通过中文分词后建立索引,而相关信息则直接抽取后建立索引。但对于文档的语义信息,并不像文档作者或文档发表日期这类属性可以直接抽取,需要对文档内容中的工艺术语及其上下文进行推理扩展后才能获得。因此,依据工艺本体中工艺术语之间的各类关系,对文档内容中工艺术语进行扩展后得到文档语义信息,最后与其他属性项一起添加至Lucene索引结构中。

图1 工艺知识语义检索方法总体流程

工艺文档查询过程,是对用户输入的查询条件进行整合,获得用户需要查询的内容以及其他约束(如文档作者等),对于用户输入的内容需要进行中文分词后才能建立查询条件,然而对于文档的语义信息,因为用户输入地查询关键字并不是语义三元组,因此需要对其输入的关键字进行同建索过程相同的语义扩展后,获得语义三元组,生成查询条件。最后,将所有的查询条件进行整合获得总查询条件,对Lucene索引文件进行查询。

检索结果返回过程,是将Lucene查询得到的抽象结果总集,每一条结果记录中都包含了其对应的数据库位置信息,进而查询工艺知识库,得到目标工艺文档。

2 工艺本体与Lucene索引和查询条件融合

2.1 工艺本体与Lucene索引融合

工艺本体主要存储了工艺术语之间的联系,给定目标工艺术语,依据工艺本体中建立的关系可以对其进行扩展,扩展后得到目标工艺术语的相关语义三元组。独立的工艺术语并不能体现工艺领域中具体的语义,例如“热处理”,热处理的知识一般包括热处理的简介,热处理对材料性能的影响,热处理在工艺过程中的工序安排等,独立的“热处理”并不能表达出具体的语义。

在Lucene索引结构中如果添加语义三元组索引项,可以将工艺文档内容进行推理扩展后再建立索引。Lucene的索引结构以及建索过程都是用户自己定义的,因此可以完美地将工艺本体中的关系,通过推理扩展后,融入到Lucene索引结构中。

例如,某篇文档中大量出现了“热处理”和“硬度”“韧性”等工艺术语,只将这些关键字添加至索引中,并不能体现他们之间的关系,通过工艺本体中“热处理”与“材料性能”的关系和“材料性能”与“硬度”、“韧性”的关系,可以扩展得到“热处理影响硬度”、“热处理影响韧性”、“热处理影响材料性能”等语义三元组,再将这些语义三元组添加至Lucene索引中,如此,Lucene索引中不仅包含了该文档的内容及时间作者等信息,也包含了文档内容中的语义信息。

本文通过分析工艺文档检索需求以及工艺本体与Lucene融合需求,设计了如图2所示的工艺本体与Lucene融合后的索引结构。

工艺文档的属性有很多,具体抽取哪些属性是依据检索时的需求来设计的,当然文档本身的属性并不能体现文档内容中包含的语义,在抽取基本属性后,添加至工艺文档的属性结构中,对于文档语义信息而言,在抽取获得纯文本后,依据工艺本体中工艺术语之间的关系,对其进行语义扩展,得到对应的语义三元组,再将这些语义三元组作为一项属性添加至属性结构中。

最后,将所有属性项封装,在封装时,共分为三个索引项,数据库定位索引项用来确定工艺文档在工艺知识库中的位置;约束条件索引项在查询时进行约束,不进行中文分词,实现一种精确匹配;内容检索索引项在查询时进行中文分词,实现一种模糊匹配。

图2 工艺本体与Lucene融合后的索引结构

2.2 工艺本体与Lucene查询条件融合

查询条件,是Lucene工具包将用户输入的检索关键字以及某些约束条件,依据查询规则整合成一个总的可以对Lucene索引文件进行读取查询的条件。查询条件的查询规则以及查询的索引项需要满足Lucene的索引结构,应该与索引项一一对应。

工艺本体在对查询条件扩展时,不仅因为Lucene索引结构中加入了语义三元组属性,而且作为语义检索的要求,一个完整的语义检索系统,不仅要能理解工艺文档的内容,对文档内容进行扩展,更需要理解用户输入的检索条件,对检索条件进行扩展。查询时应该与建索时进行同样的语义扩展,所谓同样的扩展,就是推理扩展的规则应该一致,这样在扩展后得到的语义三元组与索引中的语义三元组匹配才有意义。

例如,用户输入“热处理材料性能”或者“热处理对材料性能有什么影响”进行检索,无论哪一种,都需要对其分词后采用工艺本体中术语之间的关系进行推理扩展,将其转换成“热处理影响材料性能”语义三元组,再去对索引文件中语义属性进行查询。如此,若某篇文档中语义属性中也包括“热处理影响材料性能”这个三元组,则通过Lucene的相关度计算后会得到较高的匹配度。

本文通过分析工艺本体与Lucene融合后的索引结构,以及各个属性项的查询需求,设计了如图3所示的工艺本体与Lucene融合后的查询条件结构。

用户输入的检索条件中,依据检索需求,获取其输入的内容,建立对应的查询条件,然而对于语义检索条件而言,并不是用户输入的,是通过工艺本体分析用户输入的内容查询关键字,进行语义扩展后得到对应的语义三元组,将这种语义三元组依据查询规则建立语义索引项的查询条件。

最后,将所有的查询条件通过Lucene布尔运算整合为总查询条件,总查询条件中分为两类查询条件,约束查询条件是对约束条件索引项进行精确查询,即不分词的查询;内容查询条件是对内容检索索引项进行模糊查询,即包括中文分词的查询。

3 工艺本体模型及与语义扩展功能的映射关系

3.1 工艺术语标准

图3 工艺本体与Lucene融合后的查询条件结构

工艺本体构建的最终目的是工艺知识的语义检索,工艺知识的检索中包含了大量的工艺术语,因此工艺本体中应包含大量工艺术语,而且对工艺术语之间的层次关系也应有明确的定义。

依据中华人民共和国国家标准《机械制造工艺基本术语》GB/T4863-2008中收录的工艺术语以及之间的层次关系,可以构建工艺本体的层次结构树,然后对树上每个节点依据工艺领域中工艺术语之间的关系添加属性、约束等,最终完成工艺本体模型的构建。

3.2 工艺本体模型

工艺本体的构建应满足在检索中的扩展要求。对于某个工艺术语而言,在工艺领域中可能包含其概念分类方面的知识、与同类术语比较的知识、与其他术语联系的知识等。例如“淬火”,可能有“淬火”与材料性能之间的影响、与正火等其他工艺方法的比较、与加工精度之间的关系等,同时淬火与硬度之间的关系应能被理解为淬火与材料性能之间的关系。

根据语义扩展的需求,本文采用protégé构建了工艺本体,由于篇幅关系,图4给出了工艺本体模型的一部分。

图4 工艺本体部分模型

可以看出,工艺本体的构建是依据工艺知识检索中的需求而建立的,通过构建工艺术语之间的联系,可以在检索过程中通过对索引和查询条件进行语义扩展,进而实现工艺知识的语义检索。

3.3 工艺本体与语义扩展功能映射

依据扩展时工艺领域中的语义关系,工艺本体中的工艺术语设置了同义词实例,相关约束,以及工艺本体中树状结构的父子关系。在扩展时,为了得到语义三元组,不仅需要根据约束关系直接扩展,而且还应该在扩展之前,进行工艺术语的同义词替换,以及根据父子兄弟关系的继承原则去更好地表达工艺文档的内容语义。工艺本体与扩展功能之间的关系映射结构如图5所示。

图5 工艺本体与扩展功能映射关系

父子关系和兄弟关系,如“材料性能”的子类应该包含“硬度”、“强度”、“韧性”等,“硬度”与“强度”、“韧性”等构成一种兄弟关系。这种关系可以实现一种语义传递,例如“热处理”与“硬度”有关系,“硬度”又属于“材料性能”,通过推理就可以得到“热处理”与“材料性能”之间的关系。

同义词关系,每个工艺术语应有其对应的同义词实例,因为用户输入的条件和工艺文档中的词汇并非与工艺本体中类的名称完全一致,例如,若不能将“材料的性能”转换为“材料性能”,是无法对其进行扩展的,因为工艺本体中不包括“材料的性能”这个类。

约束关系,这是语义三元组扩展的核心关系,如“热处理”与“材料性能”之间的约束,是得到“热处理影响材料性能”三元组的直接来源。

父子兄弟关系实现了关系的继承,同义词关系实现了同义词的替换,这两者最终的服务对象都是语义三元组的扩展。因为通过工艺本体中关系的语义推理获得合理的语义三元组才是工艺本体的价值和意义所在。

4 基于本体和Lucene的工艺知识检索系统实现

在工艺知识管理系统中的工艺文件检索模块中,以“热处理材料性能”作为关键字查询,得到的结果如图6所示。

可以看到,在“热处理对硬度影响”这篇文档中,虽然没有出现“材料性能”这个关键词,但由于大量出现了“硬度”,在工艺本体中,“硬度”属于“材料性能”的子类,因此根据热处理与硬度之间的关系,扩展后得到了“热处理影响材料性能”这一主题,查询时也将查询条件转换为此三元组,因此Lucene在检索时,由于匹配度很高而进行了合理的排序,达到了语义检索的目的。

5 结论

图6 工艺知识语义检索结果

使用protégé3.4.5构建了工艺本体,分析了工艺本体的结构,在原有的基于内容的检索平台上,引入工艺本体,通过Jena工具包和Lucene工具包构建了索引结构和查询条件结构,系统中实现了工艺术语关联扩展、同义词扩展以及语义检索功能,大大提高了工艺知识检索的质量。

[1] EjubKajan,Leonid Stoimenov. Toward an ontology-driven architectural framework for B2B[M].ACM Press.2005:60-66.

[2] 姜明.基于内容的工艺知识检索方法研究[D].北京:北京航空航天大学,2011.

[3] 周扬,李青.飞机故障知识的本体建模及语义检索[J].计算机工程与应用.2011,47(16):12-15.

[4] 钟秀琴,符红光,佘莉,黄斌.基于本体的几何学知识获取及知识表示[J].计算机学报.2010,33(1):168-173.

[5] 吕素刚.基于本体的加工工艺知识库系统研究及应用[D].南京:南京航空航天大学,2011.

[6] 马宏福,杨志刚,袁艳丽,金宝宁.基于本体论的机械加工工艺知识管理[J].机械制造与研究.2006,35(2):72-74.

[7] Chun Liu,QingPingGuo. Analysis and Research of Web Chinese Retrieval System Based Lunece[M].IEEE Computer Society.2009:1051-1055.

猜你喜欢

三元组术语本体
Abstracts and Key Words
基于带噪声数据集的强鲁棒性隐含三元组质检算法*
特征标三元组的本原诱导子
对姜夔自度曲音乐本体的现代解读
关于余挠三元组的periodic-模
《我应该感到自豪才对》的本体性教学内容及启示
三元组辐射场的建模与仿真
Care about the virtue moral education
有感于几个术语的定名与应用
从术语学基本模型的演变看术语学的发展趋势