3.5 时间本体应用

3.5 时间本体应用

本节将说明时间本体在问答领域中的应用[27]。将给出中文时间本体能够回答哪些类型的问题。

基于时间本体的问答系统建立在基于中国百科知识库的问答系统上[10,34]。该知识库涵盖医学、生物学、历史、地理、数学和考古学等领域。例如,时间属性包括概念“古文化”的“首次发掘时间”,概念“遗址”的“年代上限”和“年代下限”。

问答系统包括四个构成部分:(1)自然语言用户界面;(2)基于百科全书的知识库;(3)用于回答和推理用户问题的领域多智能体系统;(4)多智能体通信协议。每个智能体代表一类实体,包含关于该类实体的公理、定理和性质规则。这些规则作为其推理的规则库,共享百科知识库。例如,相对时间实体类别智能体Agent,包括相对时间实体类别的隶属公理、性质规则等。

问答系统接收到用户的问题时,它将采取以下主要步骤来生成答案。第一,生成问题谓词公式表示,将自然语言中的问题转换为一阶谓词演算中表示的公式。第二,识别时间实体类别,调用表示实体类别的智能体,并判断这些类别或其实例是否在问题中涉及。第三,生成问题答案,被调用的智能体搜索百科全书知识库及其规则库,并执行前向或后向推理,直到推断出答案或完成搜索过程。

为了说明中文时间本体的特色,通过问答系统应用给出了中文时间本体与现有DAML、KSL和Cyc时间本体的区别。引入五种类型的时间实体相关问题,涉及拓扑时间关系、时间实体类别的分类、时间实体的公理、时间实体的表示,以及不同计时系统中时间实体之间的转换等五个问题。只有第一类问题可以由DAML、KSL和Cyc时间本体来解答,而所有类型的问题均可以由本章所构建的中文时间本体来解答。

下面给出利用中文时间本体解答问答系统中问题的详细过程。

(1)对于第一种类型问题,关于“拓扑时间关系(Topological Temporal Relations)”,其例子是:“请问秦始皇出生时间是否早于汉光武帝?”,本章问答系统回答“是”。回答这个问题需要三个步骤。

a)生成问题谓词公式表示。问答系统将这个问题转化为公式“?Birthtime-earlier-than(秦始皇,汉光武帝)”,其中,“?”表示该问题是一般性问题。

b)然后,问答系统调用智能体“Person-Agent”,这是因为秦始皇和汉光武帝均是类别“Person”的实例。该智能体在知识库中搜索关于秦始皇和汉光武帝的出生时间的相关知识,搜索到如下三个断言。

Birth-time(汉光武帝,B.C.5),其含义是汉光武帝出生于公元前5年。

Birth-time-earlier-than(秦始皇,汉武帝),其含义是:秦始皇的出生时间早于汉武帝。

Birth-time(汉武帝,B.C.156),其含义是:汉武帝出生于公元前156年。

该智能体推断出:Birth-time-earlier-than(秦始皇,汉光武帝),即秦始皇的出生时间早于汉光武帝。

c)智能体“Person-Agent”获得断言,关系“Birth-time-earlier-than”是其规则库中的“before”关系的一个实例。该智能体推断出,因为时间系统中“before”关系满足传递性,所以,关系“Birth-time-earlier-than”也满足传递性。因此,该智能体进一步推断出,断言Birth-time-earlier-than(秦始皇,汉光武帝),也就是,秦始皇的出生时间早于汉光武帝。问题系统最终回答“是”。

(2)对于第二种类型问题,关于“时间实体分类体系(Taxonomy of Classes of Temporal Entities)”,其例子是:“哪些类别的子类包括相对模糊时间实体”。

a)首先,将问题转化为公式:Subclass(Relative and Fuzzy Temporal Entity,X),其中X是变量。

b)其次,问题系统调用智能体“Relative-and-Fuzzy-Temporal-Entity-Agent”。该智能体在规则库中搜索到如下规则:

Intersection-class(Relative and Fuzzy Temporal Entity;Relative Temporal Entity,Fuzzy Temporal Entity)

该规则的含义是,类别相对模糊时间实体是类别相对时间实体和类别模糊时间实体类的相交。另外,该智能体调用智能体“Relative-Temporal-Entity-Agent”和“Fuzzy-Temporal-Entity-Agent”,在各自的规则库获得断言,

Subclass(Relative Temporal Entity,Temporal Entity),其含义是,类别相对时间实体是类别时间实体的子类。

Subclass(Fuzzy Temporal Entity,Temporal Entity),其含义是,类别模糊时间实体是类别时间实体的子类。

c)进一步,智能体“Relative-and-Fuzzy-Temporal-Entity-Agent”,利用定理推断出,Subclass(Relative and Fuzzy Temporal Entity,Temporal Entity),其含义是,类别相对模糊时间实体是类别时间实体的子类。该智能体推断出,

Subclass(Relative and Fuzzy Temporal Entity,Relative Temporal Entity),其含义是,类别相对模糊时间实体是类别相对时间实体的子类。

Subclass(Relative and Fuzzy Temporal Entity,Fuzzy Temporal Entity),其含义是,类别相对模糊时间实体是类别模糊时间实体的子类。

d)最后,问答系统输出:“Temporal Entity,RelativeTemporal Entity,and Fuzzy Temporal Entity(时间实体,相对时间实体,模糊时间实体)”。

(3)对于第三种类型问题,关于“时间实体公理(Axioms of Temporal Entities)”,其例子是:“2022年9月每周五的时间长度和多少?(What is the temporal length of every Friday in September 2022?)”,问答系统回答“120小时”。

a)首先,将问题转换为公式,durationFn(every Friday in September 2022,hour)=X。

b)其次,问答系统调用智能体“Category-of-Left-Closed-and-Right-Closed-Interval-Agent”,因为“2022年9月每周五”是类别“类别左闭右闭时间段”的实例。该智能体推断出:

Contain(every Thursday in September 2022;September 2,September 9,September 16,September 23,September 30A),其含义是,2022年9月每周五包括5天,9月2日,9月9日,9月16日,9月23日,9月30日。

c)最后,利用公理该智能体推断出:

durationFn(every Thursday in September 2022,hour)=durationFn(September 2,hour)+durationFn(September 9,hour)+durationFn(September 16,hour)+durationFn(September 23,hour)+durationFn(September 30,hour)=120)

因此,问答系统回答“120小时”。

(4)对于第四种类型问题,关于“时间实体表示”,其例子是:“请问唐太和三年对应于公历哪一年?”:

a)首先,问答系统将问题转换为公式:

nth-title-solar-yearFn(Title,3,NULL,Da-he,NULL)=X。

b)其次,问答系统调用智能体“Lunar-Year-Agent”,这是由于太和元年是类别农历年的实例。该智能体在知识库中搜索到知识:

starting-solar-yearFn(Title,NULL,Tai-he,NULL)=A.D.827,

其含义是太和元年是公元827年。其中,NULL表示空值。

c)最后,利用转换公理,该智能体推断出:

nth-title-solar-yearFn(Title,3,NULL,Tai-he,NULL)=A.D.829。

(5)对于第五种类型问题,关于“不同计时系统中时间实体转换”,其例子是:“在六十干支周期表示中哪一年是2022年?”。

a)首先,将问题转换为公式:

stem-branch-no(A.D.2022,lunar year,X)。

b)其次,问答系统调用智能体“Solar-Year-Agent”,由于A.D.2022是类别公历年的实例。通过使用转换公理,该智能体推断出,stem-branch-no(A.D.2022,lunar year,39),其含义是,公元2022年的干支组合表示是第39个干支组合。

c)最后,该智能体获得,“Index-stem-branch(Ren-yin,39)”,其含义是,第39个干支组合表示是壬寅。因此,问答系统回答“壬寅农历年”。

对于第一类问题,DAML、KSL、Cyc和本章的时间本体均定义了拓扑时间关系。因此它们均可以回答第一类问题。对于第二类问题关于时间实体分类体系,第三类问题关于时间实体公理,第四类问题关于时间实体表示,第五类问题关于不同计时系统中时间实体转换,DAML、KSL和Cyc本体难以回答这四类问题。这是由于这三种本体没有构建具有分类准则的时间实体类别的分类体系,不具备类别相交的性质,不包含时间实体公理。这三个本体是基于公历构建的,并没有构建基于不同历法的时间本体,以及不同计时系统中时间实体之间的转换关系。

世界最有名的主要历法包括希伯来历(犹太历)、伊斯兰历、藏历、彝历、日本历、伊朗历、印度历、佛历[35]。给定任意历法c,例如藏历,基于c的时间本体可以按照以下步骤构建,如图3.6所示。

(1)首先,在藏历时间本体中,将本章3.2节的基础时间本体作为其基础时间本体。具体地,利用3.2节基础时间本体中的时间系统、计时系统和时间本体,可以对藏历时间本体中的时间结构、时间关系、时间的计算和表示、时间实体的类别,以及时间实体的关系进行建模。在该框架下,公历计时系统可以作为“时间中转器”。

(2)根据计时系统的定义,即藏历中时间单位、操作、函数和关于时间点和时间段的公理,研发藏历计时系统。其中,在构建时间本体公理时,需要明确指出日历时间段的开始时间点、结束时间点和时间长度。

图3.6 构建其他时间本体的示例

(3)构建藏历计时系统中时间实体的表示方法,以及藏历计时系统中时间实体与公历计时系统中时间实体之间的转换方法。通过遵循本节的方法,该步骤将构建不同种时间实体的各种表示及其组合表示,以及藏历计时系统中的时间实体与公历计时系统中的时间实体之间的映射关系。

本章所述时间本体构建方法的主要应用价值如下:

(1)基础时间本体中的时间系统、计时系统和时间本体具有松散耦合特点,可移植性强。实际上,它们可以单独使用,也可以联合使用,并可作为不同用途的其他时间本体的基础。

a)时间系统给出了两个时间原语以及具有最少谓词、函数和公理的时间原语之间的各种拓扑关系,并遵循“最小本体承诺”的本体设计准则。因此,任何两个时间实体之间的拓扑时间关系均可用时间系统中的谓词、函数和公理来进行表示,提高了本体共享和重用效率。

b)计时系统为各种历法和基于这些历法的时间表示提供了统一的计算模型。实际上,针对时间单位的开始时间点、结束时间点和持续时间长度及其关系,建立了一个形式化模型。因此,计时系统构成了基于不同历法的任意两个时间实体之间转换的桥梁。通过计时系统的形式化模型,公历计时系统构成不同世界历法计时系统的转换枢纽,从而能够高效率实现世界任意两种不同历法计时系统中时间实体的转换。

c)计时本体构建了时间概念及其属性、关系和公理,设计出有关时间概念的分层分类体系,具有明确的时间概念分类准则。通过计时本体,从时间概念分类角度,为时间实体类别和实例提供时间实体概念分类体系,以及时间实体的概念、属性和关系的约束公理。

(2)本章所述时间本体构建方法符合本体开发的标准:清晰性、可扩展和最小本体承诺。因此,本章方法可以重用来构建基于不同历法的其他时间本体。

(3)在时间表示与转换问题上,分治策略独立于任何历法以及历法中不同时间单位的表示顺序。因此,它可以用来表示其他时间本体中不同粒度的时间实体,并能够转换基于不同历法的不同时间本体中的任意两个时间实体。不同计时系统中的实体转换方法提供了不同时间粒度(包括年、月、日和小时)的时间实体转换方法,从而可实现由多种时间粒度构成的时间实体的转换。