基于ontology的文档过滤研究,本文主要内容关键词为:文档论文,ontology论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
当代信息技术的发展使人们可以方便快捷地得到丰富的信息资源,包括学习、工作中所需的各种文档,特别是各种形式的电子文档。但不可否认,在系统提供给用户的大量文档中,很多是不符合用户要求的。如何把它们过滤掉,留下用户真正需要的东西?作为一种探索,本文将Ontology理论引入文档过滤的研究中,提出基于Ontology的文档过滤的设想。需指出,本文所讨论的文档主要指电子文档。
1 文档过滤研究现状
1.1 文档过滤、信息过滤和文本过滤
目前,国内学术界对文档过滤尚无统一定义。在中国学术期刊网上,分别以“文档过滤(document filtering)”、“信息过滤(information filtering)”和“文本过滤(text filtering)”为关键词进行检索,各检出文章4篇、145篇和27篇(检索时间为2005年8月13日),说明目前人们更关注的是信息过滤和文本过滤。值得注意的是,部分文章中,篇名中有“文档过滤”,而关键词中只有“文本过滤”,或篇名中有“信息过滤”,而关键词中只有“文档过滤”。可见,目前学术界对于三者的区分尚不明确。为此,本文将在此做一区分,然后限定本文所讨论的文档过滤的范围。
信息过滤是根据用户需求,利用具有过滤功能的工具,根据要求设置过滤条件,运行时一旦触发条件则将有关信息过滤掉,从而在大量动态信息流中剔除不相关信息的过程[1]。文档过滤与其不同之处是对象不同,它不是针对信息,而是针对文档,文档的结构化程度比信息强,且其类型具有可预测性。文档过滤也不同于文本过滤,“文本”只是“信息”或“文档”的组成部分,没有固定结构和独立意义。
过滤不同于检索,检索是找出符合要求的,过滤是滤掉不符合要求的;检索的依据是用户临时给出的检索式,它相对简单和明确,而过滤主要是依据系统中长期积累的复杂规则和用户临时给出的规则;检索针对的对象是系统已收录并标引过的文档集合,因此大多数情况下是已知的、静态的,而过滤的对象不会被进行预处理,是完全未知的、动态的。
现在有关文档过滤的应用不多,常见的是电子邮件过滤。类似于文献检索中的查全率和查准率,文档过滤的质量也可用滤全率和滤准率这两个指标来衡量[2]。
1.2 过滤技术研究现状
目前存在的过滤技术基本可分为两类:一种是基于内容的过滤(content-based filtering);另一种是合作过滤(collab-orative filtering)[3]。前者假定每个用户都是相互独立的,利用资源与用户兴趣的相似性来过滤信息,过滤的结果只取决于用户信息需求模型与信息集合的匹配程度。其优点是简单、有效,缺点是难以区分资源内容的品质和风格,且不能为用户发现新的感兴趣的文档。合作过滤的出发点在于任何人的兴趣都不是孤立的,而是处于某个群体中。因此,它致力于根据相同或相近兴趣的用户对相应文档做出的评价,向其他用户进行推荐。其优点是能为用户发现新的感兴趣的文档。它的缺点之一是稀疏性问题,即在系统使用初期,由于系统资源还未获得足够多的评价,系统很难利用这些评价来发现相似的用户;另一缺点是系统可扩展性差,即随着系统用户和信息资源的增多,系统的性能会下降。
有些文章提出了基于其他方法的实施方案,但其中应用的自动分词、自动聚类等技术目前没有完全实现。还有一些文章中应用了大量数学算法和公式[4],但算法和公式是标准化、格式化和绝对量化的,而文档过滤要处理的对象具有相当多的不确定性,因此这种方法只能解决常规、有限的问题,可以作为文档过滤的辅助手段。
2 基于Ontology的文档过滤的优势
Ontology源于哲学术语“本体”,即“对世界上客观存在物的系统描述”[5]。最著名并被引用得最多的定义是Gruber提出的:“本体是概念模型的明确的规范说明”[6]。
本体的概念主要包括:①概念化(conceptualization):客观世界的抽象模型;②明确(explicit):概念及它们之间的联系都被精确定义;③形式化(formal):精确的数学描述;④共享(share):本体中反映的知识是其使用者共同认可的[7]。
本体可澄清领域知识结构,是知识表示的基础,可重用,因此可避免重复的领域知识的分析。其统一的术语、概念及其相互关系的明确定义使知识共享成为可能。按本体的描述对象不同,可以把本体分为特殊领域本体(如医药本体、地理本体、金融本体等)、一般世界知识本体、问题求解本体和知识表示语言本体等[8]。
将Ontology引入文档过滤的研究中,可有效解决如下问题:①文档过滤主要是根据某些规则(附加一些统计、认证等),把不需要的文档滤掉。而Ontology是概念模型的明确的规范说明,具有明确性和规范性,可包含大量规则,其特点符合文档过滤系统的要求。②有些系统虽然具有自学能力,如可增加某些规则所需的关键词等, 但整个系统结构不能轻易改变, 也不能随时增加系统功能[9]。而基于Ontology 的文档过滤可随时修改系统结构、 功能,并方便地增加规则。 ③基于Ontology的文档过滤的重用性和共享性好。Ontology的目标之一就是共享概念、术语、关系和知识结构,因此基于Ontology的文档过滤可以适应多个不同的系统和用户,可在各系统和用户间共享、重用,减少大量重复工作,由此也可增强与其他系统的交互性。④可更好地进行个性化服务。由于Ontology基于语义而非语法,具有准确、全面的概念和关系系统,因此可更真实地反映用户兴趣和需求,从而实现个性化文档过滤。
3 基于Ontology的文档过滤的实施步骤
文档过滤是基于规则的,Ontology的理念主要体现在其规则及与规则相关的概念、属性、关系中。系统运行时,过滤器可通过API(application program interface,应用程序接口)调用本体,再由本体通过下层接口调用系统数据库。整体结构如图1所示。关于过滤器和人机界面等技术的实现,可以使用已有的方法,因此不作为本文重点。下面主要论述建立所需本体的方法、过程和技术体系,包括公共本体、用户本体和文档本体。如果需要并且用户允许,它们还可以调用已有的通用领域本体。
附图
图1 基于Ontology的文档过滤系统结构
文档过滤本体的构建分为三个阶段:构建准备、本体构建和本体调用。
3.1 本体构建准备
在构建准备阶段,要做的工作有:确定本体的领域、范围和目标,确定本体构建原则以及查找资料,列举领域中重要的术语概念等。这些主要由具体领域内人员完成,如果需要,还可以循环或打乱顺序进行。
这里要构建的本体包括:公共本体、用户本体和文档本体,它们不是相互独立,而是有联系的。公共本体可调用用户本体和文档本体,是联系两者的纽带。公共本体要解决的问题有:严格定义过滤、用户、文档等概念,定义过滤的各个属性及这些属性间的关系;用户本体包括用户的各属性及其相互之间关系的界定;文档本体要定义所有文档共有的属性、文档类型和各种类型文档的专有属性。定义属性及概念间关系时,可先抽象出所有关系都具有的属性,如这种关系是一对一、一对多、多对一还是多对多的,这种关系是否具有自反性、对称性、传递性,关系的关联强度等,把这些属性定义为必要的,再为每一种关系添加其特有属性。需要说明的是,在以上所定义的属性中,涉及到诸如学科、专业、行业等,都可以调用已有的通用的领域本体,以使概念的语义更准确,使概念间的关系更清晰。
所要遵循的构建原则为Gruber于1995年提出的5条规则——明确性和客观性、完全性、一致性、最大单调可扩展性、最小承诺性。
3.2 本体构建
这一阶段分本体建模、本体形式化、本体接口编制三步,主要由本体构建人员完成,但需要其他人员的辅助。
本体建模包括建立本体框架和定义领域中概念及概念间的关系,需要领域专家和本体构建人员合作,以构建出既符合领域实际情况,又能用形式化语言加以描述的模型。下面详细说明本体建模的过程。
3.2.1 公共本体建模 公共本体中,要严格定义过滤、用户、文档的概念,定义过滤的各个属性及这些属性间的关系。过滤的主要属性是用户和文档,次要属性有:时间、文档数、字节数、文档来源、反馈信息等。另外,还可对这些属性的重要程度进行量化,并且各属性也可以有子属性并进行量化。
例如,用户和过滤的关系是:用户是过滤的主体,两者是主谓关系,用户要指向用户本体,且这种关系是多对一的关系,即多个用户可以使用过滤的功能,这种关系不具有自反性、对称性或传递性。过滤和文档的关系是:文档是过滤作用的客体,两者是谓宾关系,文档要指向文档本体,且这种关系是一对多的关系,即一个过滤可针对多个文档,这种关系不具有自反性、对称性或传递性。以上两种关系是文档过滤中最为重要的,因此强度可设为最大,具体值可由设计者权衡后再定。其他属性间的关系,也可按照以上提到的几个方面,依次进行定义。
3.2.2 用户本体建模 用户本体包括用户的各种属性及其关系的界定,下面分别予以论述。
●定义用户属性。用户属性可参考其他涉及用户数据的系统(如数字图书馆)的用户数据结构。用户信息可分为用户基本信息、用户行为信息和用户兴趣信息。
与用户基本信息相关的属性包括用户ID、用户名、密码、性别、年龄、出生日期、籍贯、学历、毕业院校、专业、工作单位、从事行业、地址、联系方式等。对于这些属性的取值,应有一些限定规则,如该属性是否可以为空、取值范围的上下限、最大字节数、可取值个数等。
用户行为信息包括点击页面信息、浏览页面信息、下载文档信息、使用文档信息等,它们不是明确的用户兴趣,但积累到一定规模时,可从中挖掘出用户兴趣。这些信息可用以下属性描述:开始时间、结束时间、来源、类型、所属学科、所属专业、字节数、标题、关键词等。
定义与用户兴趣相关的属性首先要体现基于内容过滤的思想,有两个努力方向:一是准确反映用户偏好;二是适应用户兴趣的动态变化。用户兴趣分若干条,每条有一个编号,还有兴趣名称、兴趣类型(如XML文档、Web文档或ASP文档)、 所属学科、所属专业、产生时间(即建立该兴趣的时间)、最近一次发生时间、发生次数、类型(浏览、复制或修改)、感兴趣的程度(可设为一个权值)等。需指出的是,用户兴趣的权值是可以改变的,通过改变用户兴趣的权值可以表明用户兴趣的变化。例如:当用户浏览某一文档时,与该文档相关的兴趣的权值就增加。另外,有些属性值也是要动态改变的,如最近一次发生时间、发生次数等;有些初始值为空的属性也可以动态填充,如类型。用户兴趣的权值是用户兴趣属性中最重要的,它直接影响着过滤规则。
还要限定这些属性是否可以对外公开。这涉及保护用户隐私权和促进信息公开及两者的平衡问题。公开用户信息会涉及到隐私权问题。所以,要在用户允许,且保证不侵犯用户隐私权的前提下,才可使用户的各属性值在网络上共享。另一方面,用户信息公开得越多,越详细,系统在网上寻找和本用户的兴趣相似的兴趣就越容易,从而有利于实现前面提到的合作过滤。确认相似兴趣可采用如下方法:两两比较兴趣的主要属性(如学科、专业、标题、关键词,等等)的相似程度(对每个属性的相似程度进行量化并计算总分,总分大于某个值时为相似),或将本用户兴趣和其他用户兴趣放到一起,调用统计分析软件进行聚类分析,把和本用户兴趣归为一类的兴趣作为其相似兴趣。
●定义用户属性间的关系。用户基本属性间的关系不是很多,如年龄=当今年份-出生年份,这可用来动态改变用户年龄,其他可根据具体需要适当挖掘。用户各兴趣间的关系较复杂,使用价值也较大,需仔细挖掘。如:两兴趣是等同关系、等级关系、相关关系、整体部分关系,抑或完全没有关系?如果是等同关系,那么它们的关联强度应为最大,或者可考虑合并为一个兴趣;等级关系可考虑放入一个树形结构图中;相关关系要确定关联强度并动态修改;当前没有关系的兴趣,也许以后可通过某个兴趣作为中介联系起来。因此,关系也是动态改变的。
需指出,定义关系的关联强度及动态改变关联强度非常重要,因为这对过滤规则有影响。这些关联强度可反映语义,构成一个语义网络,如果其中的一个发生改变,其他的也应做相应的改变。如兴趣A和兴趣B是通过兴趣C相联系的,那么A和C之间关联强度的改变相应地也会引起A和B之间关联强度的改变,甚至影响到更多。并且,如果利用推理机对这些相互关联的兴趣进行推理,可能还会挖掘出用户的潜在兴趣,从而实现文档过滤的智能化。
3.2.3 文档本体建模 包括定义所有文档的共同属性、定义文档类型和定义各种类型文档特有的属性。
定义所有文档的共同属性,可体现合作过滤的思想。其属性包括:文档名、文档类型、扩展名、来源、标题、关键词、作者、创建时间、最后修改时间、文档占用空间大小等。文档类型主要有文本文档、Word文档、Excel文档、PDF文档、CAJ文档、XML文档、RDF文档、HTML文档、ASP文档、JSP文档等。定义各文档概念及其单独具有的属性要根据各文档的特殊情况考虑,如Word文档要有页数、行数、Excel文档要有各字段名、行数等。
文档的各属性的关系,似乎用处不大,这里不详加论述。但文档间的关系比较重要。类似于上面提到的用户兴趣间的关联强度,也可定义文档间的关联强度,且由于各文档具有一些共同属性,可定义各文档在各个共同属性上的关联强度,如两个文档在学科上的关联强度有多大,在来源上的关联强度有多大等。另外,还应定义不同属性间的关联强度对文档的关联强度的影响力度,如一般可认为学科间的关联比字节数上的关联更能体现文档间的关联强度,但具体差多少,要对它们进行详细的比较分析。把所有属性的关联放在一起(进行相乘或相加运算),才能说明文档间的关联强度。
本体建模后,要对本体进行形式化,生成可供计算机识别、处理的文件。形式化之前有一项重要工作——本体描述语言的选择,即选用哪种形式化的计算机语言对本体模型进行编码。这种语言应是本体构建人员熟悉的,并适用于所要构建的领域。在被调研的文章中,很多提出采用XML、RDF、RDFS等,它们虽然都是描述能力很强的语言,但不是专门针对本体设计的,且没有可视化的工具辅助本体的构建。这里推荐Ontolingua、KIF、Loom、OKBC、OCML、FLogic、DAML、OIL、OWL等本体描述语言[10]。选择语言后,要选用支持这种语言的合适工具,如采用当前流行的Protégé3.1,以把这些界定好的概念、属性和关系形式化,最终生成OWL文件。
在本体形式化之后也有一项重要的工作——编制本体接口。在编制本体接口时,要和开发系统的软件人员合作,以向系统开发人员提供实用、完善的接口。此外,还要编写详细的说明文档,供系统开发人员查阅。这里也有一个选择的问题——选择哪种工具、哪种推理机(如Racer、Fact、Pel-let、Jess)?可选用Jena最新版本Jena2.2,通过Jena提供的本体API(application program interface,应用程序接口)可直接调出本体中的知识,如各种概念、属性、关系、限制等的信息。需要的话,也可调用racer等推理机对本体进行推理,推导出其隐含的信息, 如本体的一致性检验、对传递关系、对称关系及布尔类的推理等。还可在推理模型中定义一些规则,让系统自动进行关联强度等计算。
3.3 本体调用
第三阶段包括开发人员使用本体的应用程序接口开发过滤器和人机界面等系统,用户使用用户接口根据需要查看、修改本体。这一阶段和上一阶段的联系主要靠本体接口的说明文档。系统运行时,过滤器可通过Jena工具的API调用本体, 再由本体通过下层接口调用系统数据库中存储的各种信息。另外,系统自动跟踪用户行为、挖掘用户兴趣的同时,用户也要主动对过滤的结果进行反馈和评价。这样,系统反应才更迅速、更准确。
4 结语
基于Ontology的思想进行文档过滤,最大的好处就是准确、智能、容易维护,但前期工作会很繁杂。不过,有完整、细致的前期工作为基础,把相关概念、关系、约束等全都定义好后,制定合理易用的过滤规则就有了保障,而且有Jena等工具作为辅助,就可方便地定义所需的一般规则和特殊规则。至于如何构建出更实用的规则,一方面需要参考现有系统的已有规则;另一方面要着重考虑满足系统和用户的需求。如何实现这些理念,做出一个可以运行的系统以及对本体进行的检验和评价等,是今后亟需开展的工作。
标签:用户研究论文;