知识表示的原理和实例:
谓词逻辑应用归结原理(归结反演)来求解问题,为证明一个语句成立,转化为归结证明其非,导出一个与已知语句(公理)矛盾的结果(为空子集),说明该语句的非不成立,则该语句成立。在归结证明过程中,要使用谓词匹配操作,即证明两个谓词表达式恒等。
谓词匹配的规则如下:
1)两个谓词符相同,否则不匹配
2)参量个数相等,否则不匹配
3)对应参量匹配:
a.两者均为常量,两者应相等
b.一个为常量,另一个为变量,将常量赋给变量
c.两者均为变量,作变量代换
d.一变量能匹配一函数/谓词表达式,必须这个表达式不包含该变量的任一例示。
知识表示实例:
1.事实
关系(对象,对象,…,对象),其中,“关系”是谓词,对象是谓词的参量。
例如,书籍信息可用书籍谓词描述,谓词参量包括:书号、书名、著者、出版社、出版日期、主题,即:
书籍(书号,篇名,著者,出版社,出版日期,主题)。
主题知识可用主题谓词表示:主题(主概念,子概念)。
其中,“主概念”可代表单个概念,“子概念”是一个词表,标志着数据库中这个主题组面,它们直接从属于主概念。所有主题谓词集中在一起,可以形成一个主题词索引。
用户信息可使用用户谓词表示:
用户(用户名,主题)。其中的“主题”描述用户感兴趣的主题领域。
2.规则
规则是一个有头Horn子句,它的一般格式为:
关系(对象,对象,…,对象)︰—
关系(对象,对象,…,对象)and
……
关系(对象,对象,…,对象)。
其中,“︰一”表示if(如果),其左边为“结论”,是总目标,其右边为前提,是子目标。该规则是逆向规则。
例如,检索操作可用一个规则表示:
检索(用户名,书号)︰—用户(用户名,X)and
书籍(书号,X)。
它的含义是:如果某个用户对项目X感兴趣,并且某本书籍中包含项目X,那么这个用户对该书籍感兴趣。
用户的提问可用无头Horn子句表示:
?︰—E,F 或者
? E,F它的意思是,查找X使得E、F均为真。
3.知识库
事实和规则的集合就构成了知识库,现给出知识库的例子如下:
书籍(00001,云计算,张三,电子工业出版社,2015,云计算技术);
书籍(00002,大数据,李四,清华出版社,2016,云计算大数据技术);
书籍(00003,人工智能,王万森,北邮出版社,2016,云计算大数据技术);
用户(张明,云计算大数据技术);
用户(张亮,云计算技术);
检索(用户名,书号)︰—用户(用户名,X) and
书籍(书号,X)。
基于以上知识库就可以执行检索操作。Prolog查找机制解决用户提问,是利用定理证明技术叫做归结(resolution)。
?书籍(云计算,张三)
系统用提问谓词“书籍”与知识库中的事实进行匹配成功,回答为“true”。
?书籍(大数据,2017)
回答:false
?书籍(人工智能,出版日期)
回答:出版日期=2016
其中,“出版日期”是变量
?书籍(著者,云计算大数据技术)
对于该提问,系统查找使提问为真的所有变量值,结果为:著者=“李四”和著者=“王万森”。
?检索(张明,X)
其检索处理如下:
1)自上而下搜索知识库,查找与提问目标匹配的事实,失败。于是用目标匹配规则的结论部分,变量“用户名”的值约束为“张明”,然后执行演绎推理求得答案。变量“用户名”的值传递给规则前提的所有子目标。
2)系统证明前提部分中第一个子目标“用户(张明,X)”,在知识库里寻找与其匹配的事实,匹配成功,变量X的值约束为“云计算大数据技术”。
3)第二个子目标为“书籍(书号,云计算大数据技术)”。同理,搜索知识库,子目标匹配两条书籍事实,书号的值为00002与00003,张明检索到两条书籍信息。