概念图(Conceptual graph)

“知识表示”(Knowledge Representation)就是对知识以及知识和知识之间关联关系的一种描述约定。知识表示的方法多种多样,如本体、概念图。


介绍

概念图是将某一领域内的知识元素,按其内在关联建立起来的一种可视化语义网络

概念结构(Conceptual Structure)是由美国的计算机科学家John F.Sowa提出的一种以语言学、心理学、哲学为一体的知识表示方法。概念图(Conceptual Graph)是支持概念结构思想的一个具体的语义模型,它不但能够表示传统知识表示方法所表示的知识,弥补其它知识表示方法的不足,还具有表达能力强、表达直观、可靠性好、易于实现、接近自然语言等特点。

在概念图中,有两种节点:概念节点和关系节点。节点和节点之间通过有向线连接。概念节点表示实体或属性。若一个概念节点对应一个具体的概念,如教师、医生、学生等,则表示实体;若一个概念节点对应一个抽象的概念,如身高、体重、肤色等,则表示属性。关系节点表示概念之间的连接关系,如动作(agent)、对象(object)、地点(loc)等。概念图一般表示客观命题的陈述,其表示形式有两种,一种是图形形式(Diagrammatic form),特点是直观、容易理解;另一种是线性形式(Linear form),特点是便于在计算机终端上显示和打印输出。例如:A boy,Peter,do his homework in the classroom.(彼特在教室里写作业)。其使用概念图的图形形式表示如图所示。

概念图(Conceptual graph)_第1张图片

上述陈述使用线性形式表示如下:

[Boy:Peter]->(agent)->[Action:do]-

{

(object)->[Thing:homework];

(loc)->[Location:lake];

}

此外,概念图中的概念节点词汇具有类的层次顺序关系,如上述陈述中使用了四个概念类:Boy、Action、Thing、Location ,其中Boy是Person的子类,而Person与Action、Thing、Location属于Entity的子类。上述陈述的类的层次结构如下图所示。

概念图(Conceptual graph)_第2张图片

推理工具—cogitant

知识推理就是从已知事实来推断得出新事实的过程。在概念图上推理查询时使用推理工具Cogitant。

Cogitant是一个C++类库,可以轻松地基于概念图模型构建应用程序。Cogitant为概念图模型里的每个对象提供了类和模型的主要操作(投影、规则及约束相关的应用程序等)。另外,Cogitant也是CoGITo(Conceptual Graphs Integrated Tools)库的一个扩展库,增加了图规则和带有指称链接的类型化嵌套图。Cogitant提供的部分类说明如表所示。

含义
cogitant::Environment 管理support、graph、rule的类
cogitant::Support 表示与environment关联的support对象的类
cogitant::Graph 表示图对象的类
cogitant::ConceptType 表示概念类型的类
cogitant::RelationType 表示关系类型的类
cogitant::NestingType 表示嵌套类型的类
cogitant::Concept 表示图中的概念节点的类
cogitant::Relation 表示图中的关系节点的类
cogitant::Edge 表示图中的边的类
cogitant::Nesting 表示图嵌套节点的类
cogitant::Projection 表示投影操作的类

使用Cogitant的优势在于:

-处理概念图、支持、规则、约束的操作;

-拥有良好的可移植性,Cogitant可以在Windows或Unix操作系统中不同的编译器下使用(我是在Windows系统中基于Cmake进行用户程序的编译);

-支持图形化界面,可以使概念图以线性格式、BCGCT格式、CGIF格式、CoGXML格式输出。

关于cogitant的使用相关文档、开发工具如图:
概念图(Conceptual graph)_第3张图片

下载链接:https://pan.baidu.com/s/1GVsZ_6p_V99_fJZdl_Iw4A
提取码:v9ck

你可能感兴趣的:(知识表示,知识表示,概念图,概念图推理)