基于知识图谱的老年教育知识库系统设计与实现
2021-06-20孙涵齐悦
孙涵 齐悦
摘要:在老年教育建设过程中,将信息技术与老年教育特点相结合,为提高老年教育过程中大量的数据、知识存储和查询效率,设计了一种基于知识图谱的老年教育知识库系统。系统以知识图谱为核心,通过对老年教育不同角色的业务进行分析并设计本体,将多领域和多类型的数据通过本体映射,完成知识图谱构建,将繁杂无序的数据形成具有内在多种关联的知识库,并为学员和教师提供在线的知识管理和知识服务功能。与传统的数据管理方式相比,知识检索和信息获取效率得到有效提高。
关键词:知识图谱;老年教育;知识库;应用系统
中图分类号:TP391文献标志码:A文章编号:1008-1739(2021)08-57-6
0引言
构建全民终身学习教育系统是我国基本公共服务的重要组成部分,在全民终身学习的倡导下,老年教育的建设有着重要作用,老年教育是帮助老年人在晚年实现继续学习、增长文化知识、丰富生活以及提高老年社会参与感的教育形式,是建设全民终身学习型社会的重要一环。国务院办公厅印发的《关于推进养老服务发展的意见》也鼓励各类教育机构通过多种形式举办或参与老年教育,有效满足老年人多样化、多层次养老服务需求[1]。发展和建设现代化的老年教育在构建全民终身学习教育体系和提高老年人生活品质等方面有重要意义。
目前在老年教育网络化和现代化的建设过程中已形成了大量的教育资源,老年教育在以课程教学、体验式教学、活动式教学、多媒体教学等多方面积累了海量的教学资源内容。老年教育由于其特殊性未来必然向着集约化、规模化发展,才能最大程度提高教育质量。针对老年教育特征的知识管理数据服务系统还有所欠缺,建设高效的知识库系统对老年教育管理有着重要的意义。
1系统需求分析
随着近些年老年教育的不断发展,我国在老年教育领域也取得了长足进步,在课程设计、人才培养、服务模式以及多种类的教育活动都有了大量的数据和经验的积累。人民日报指出,有810多万老年人在6.2万多所老年教育机构学习,上千万老年人通过社区教育、远程教育等各种形式参与老年教育[2]。目前,在老年教育现代化建设中已进行了大量的研究。如高慧敏[3]提出数字化服务下的社区老年教育,以云南昆明为例研究线上结交好友、扩大人际圈子、线下共娱共乐、有益身心的老年教育模式。续芳[4]通过微课纳入老年教育体系的研究,开展移动学习终端的设计和传播,切实推动“互联网+”时代老年教育的供给侧改革。陈艳莉[5]阐述了以网络媒介为基础的电大老年教育推进策略,通过打造自适应的数字化学习平台,应最大限度地发挥互联网优势,大力开发老年教育网站和手机App等数字平台扩大老年教育覆盖面。
因为老年教育与传统的教育模式相比具有一定的特殊性,因其覆盖范围广、课程类型多、教学类型多、学员分布不均衡等原因,造成老年教育过程中数据管理成本高、资源对接难度大的问题。目前主要依赖传统的记录方式以及人员经验维护相关的资源内容,对老年教育的现代化建设发展造成了一定的困难。针对这一问题,本文设计了一种基于知识图谱的老年教育知识库系统。知识图谱是指由多个概念以及概念之间关联关系的有向图的集合,通过概念和实体之间的联系以及通过对数据的挖掘而生成的,是建立在个人对相关知识理解上建立的有体系、有关联的数据[6]。面向老年学员、教师与管理人员等多个角色,实现智能搜索、智能推荐和智能关联的功能,建立针对老年教育过程多样的教学实践,聚合学生信息、教师信息及课程信息等内容,形成老年教育知识库系统,帮助老年教育参与人员在不同的业务场景下高效获取和管理相关信息。
1.1功能模块
基于知识图谱的老年教育知识库系统,主要针对老年教育过程中学员信息、教师信息、课程信息、活动信息、教学信息等数据,根据业务流程设计本体,并构建老年教育知识图谱,面向学员、教师、管理人员在不同的业务需求基础上设计不同的功能應用。系统建设主要功能有知识管理、知识库服务和数据管理,如图1所示。
①知识管理:对业务建模构建本体,将上传的数据与本体进行映射形成知识图谱,并针对不同的实体进行数据融合,合并相同的数据,同时支持知识的动态更新功能。
②知识库服务:基于知识图谱提供相关的知识服务功能,包括知识检索、关联搜索、知识推荐和知识问答。知识检索是通过用户的检索词与知识实体进行匹配获取对应的源数据;关联搜索通过知识图谱的关联性质,将匹配的数据根据其关联的数据,获取相关的关联数据;知识推荐通过用户检索和查询的数据类型和领域,基于知识图谱推荐相关的数据内容。与关联搜索的区别是知识推荐主要是主动推送数据,而关联搜索则是被动推送数据;知识问答,根据用户的意图匹配到相关的本体,返回对应的实体数据,知识问答主要实现方式是通过规则匹配完成。
③数据管理:针对基础数据进行管理,包括数据上传、存储、更新、删除以及数据的类别和数据标签进行相应的增删改查。数据类别主要是针对上传的数据划分对应的数据领域,便于后续的数据映射操作。数据标签则是根据上传数据的内容项进行标签记录,便于对数据的内容进行分析和挖掘。
1.2系统用例
老年教育知识库系统角色主要有管理员、教师和学员3个角色,系统用例图如图2所示。管理员主要功能有用户管理对系统用户的访问权限进行设置,知识管理对图谱的更新和构建以及本体设计,数据管理主要是数据的增删改查等操作,知识服务主要是针对应用服务的后台配置,例如针对推荐和关联搜索的策略设置等操作。教师和学员主要关联查询、知识检索、知识推荐和知识问答,根据角色的业务定义不同设置不同的数据访问权限。
2系统设计
根据系统需求,老年教育知识库系统在保证系统功能可用的基础上还具备数据安全性、可靠性、容错性和扩展性。知识库系统基于B/S架构设计,提高系统的适用性和易用性。为保证系统的高可用和高性能,在存储方面采用MySQL数据、Neo4j图数据库、Redis内存数据库以及HDFS分布式文件系统的组合存储方式,其中,MySQL主要存储业务数据、用户数据和本体-关系模型数据;Neo4j主要用于存储图数据、Redis用于缓存命中的元数据实现高速的数据访问功能;HDFS用于存储用户上传的文件数据。
混合存储模式主要是分离源数据、图数据和元数据。元数据用于管理图数据和源数据的数据映射,在业务应用中首先通过图数据命中数据项,然后通过元数据获取对应的源数据,进而满足图数据的高性能查询和更新操作,以及源数据的无损存储。
2.1架构设计
系统实现主要采用前后端分离的思想,前后端的交互通过REST风格规范的接口完成。系统后端开发主要基于SpringBoot框架,通过注解的方式完成相关的配置,让开发过程专注于业务本身,提高开发效率。将应用配置通过注解的方式完成配置,简化Spring应用的开发、创建、运行、调试和上线部署。使用Gradle完成项目的自动化构架和包的管理,同时集成Docker使用Springboot内置的Tomcat完成项目的打包上线。系统后端采用MVC设计模式,将系统分为模型、视图和控制器,同时领域模型、业务服务和数据处理分离到不同的模块中,实现分层架构的设计模式,降低系统的耦合度提高系统的可维护性和扩展性。基于分层设计思想将系统划分为接口、服务和存储3个模块,如图3所示。
①Web接口:与前端进行数据交互,封装了查询、本体管理、图谱管理、资源管理等模块的接口。查询接口(Query-api),主要是对接前端的数据查询服务;本体管理(EntityCollectClient),主要是实现业务模型的本体构建,支持本体的相关操作功能的接口;图谱管理(KGVis),主要是完成图谱的创建、更新、映射以及知识图谱的匹配和版本管理等功能;资源管理(Rescoure),主要是针对业务流程中的资源进行管理的接口,包括用户、权限、数据等内容;
②Service层:对系统的服务和数据处理等后端功能的封装,包括知识图谱服务、知识图谱构建、资源管理、URl管理、状态管理、元数据管理等ResourceService/ResourceManager执行资源管理的相关操作和服务的封装功能。QueryService,执行查询的操作和服务的封装功能。OntService,执行本体的相关操作和服务的封装功能。KGService/KGVisService,执行知识图谱的创建、更新、映射等操作和服务封装。MetadataManager,执行元数据管理,根据图谱和源数据的映射完成元数据的相关操作和服务封装。
③Store层:对数据存储,包括图数据、元数据、源数据以及索引等。MySQLDao,封装所有的业务数据存储功能,实现统一的数据库连接、执行、结果封装等功能;ESDao,封装查询索引功能,实现索引创建、更新、删除等操作,根据业务需求依赖图数据和源数据实时的操作索引,并支撑数据查询和搜索功能;Neo4jDao,封装图数据的存储,主要针对知识图谱和本体结构的存储并与元数据建立对应关系。
2.2核心业务流程
基于知识图谱的老年教育知识库系统核心业务流程包括数据管理、知识管理和知识服务三部分,同时3个核心流程之间互相关联和依赖。数据管理的流程主要是上传数据,实现基础数据的线上维护,将新产生和需要更新的数据上传到系统,根据数据内容录入相关的数据标签,登记数据类别然后对源数据进行存储。知识管理,其核心流程是知识图谱的构建,首先根据业务需求构建本体,依赖已经标签化的数据与本体映射完成图谱的构建,根据数据内容和本體结构完成知识融合功能,最后将图数据存储。知识融合是知识管理中重要的步骤,主要是对实体消歧和对齐操作,将相同但表述不一致来源不一致的数据进行合并操作;知识服务,用户在不同的业务场景中分别使用知识检索、知识关联和推荐、知识问答功能,将用户输入的信息与图进行匹配,然后根据元数据的映射获取关联数据并对结果封装返回。
2.3本体设计
根据老年教育过程中的教育资源进行分析建模,主要本体概念有教师、学员、课程、教学内容、活动、领域类目、活动场所及资讯等,根据其业务中的相关性设计教授、学习、关联、参加、兴趣等几个关系。实现老年教育资源的本体建模。该模型基本涵盖了主要的老年教育服务中不同领域实体的内在关联特征,能够支撑基础教育资源内容管理和查询功能。
3关键技术与系统实现
3.1关键技术
知识融合针对已经上传的数据和映射的知识图谱,根据知识融合的算法遍历每一条数据,为提高知识融合计算的效率采用多线程的并发计算,利用Redis实现二级缓存的方式实现高性能计算。将多个线程正在计算的数据加入二级缓存,将已经过计算的数据加入一级缓存,将已计算未达到合并要求但是超过计算因子的数据合并成一个数据桶,进而减少数据计算量。
其中,阈值为根据相似度算法结果判断是否将数据进行融合的值。计算因子为根据相似度算法结果判断是否将数据与数据桶合并的值,其大小值为阈值×0.8。数据桶为相似度计算结果大于计算因子且小于阈值的数据集合。
获取一条新数据首先向前遍历所有数据桶的第一条数据,如果是第一条数据则直接创建一个数据桶,当计算结果大于阈值则直接融合,如果计算结果小于阈值而大于计算因子时,继续遍历数据桶内数据,如果计算结果全部大于计算因子小于阈值时则将新数据加入该数据桶。数据桶则使用Redis的list作为存储结构,详细的实现流程如图4所示。
3.2系统实现
(1)数据录入及知识构建
Client流程加载原始数据后,为数据构建标识和数据类别,然后將数据存储。
Resolver获取数据、解析数据获取数据标识、判断当前数据类型。根据设置的映射规则,通过规则生成该类型数据的元数据,每一类型数据只生成一条元数据,元数据的作用是指导图数据找到并获取自身数据。
ETL根据不同的数据类型,生成标注的图数据存储对象和存储语句。若Redis缓存不存在该数据,则为其创建版本号进行管理;若存在,则在当前版本的基础上增加一个版本。
Execute并发、批量执行图存储语句,同时将图ID等信息同步到Redis缓存中。
(2)知识查询
用户输入关键词,首先对关键词进行降噪处理,去除杂乱的特殊字符;然后进行分词,从ES中获得对应实体索引。获取检索规则,从Redis中获取实体数据,并发执行检索过程完成图数据检索。对每一类的图数据,通过其元数据获取原数据的存储位置及存储结果,通过关联本体属性获取对应数据,完成检索。在技术实现上,采用Pipeline设计模式,在Controller层组装业务逻辑。通过4个Handler,完成关键实体及本体查询、图数据检索、数据处理、获取属性数据并生成结构化文档。
3.3系统效果
知识构建中的本体设计效果如图7所示,通过可视化的方式更新和创建本体模型。
4结束语
基于知识图谱的老年教育知识库系统实现了对大规模、多领域的数据进行有效分析、管理和应用。通过知识图谱技术对业务分析、针对不同类型的数据挖掘形成教育资源本体,涵盖了学员、教师、课程、活动、领域、教学内容及活动场所等方面,聚合大规模数据形成知识图谱,并根据不同的用户角色提供不同权限的知识服务,实现知识检索、知识更新、关联查询等功能,有效提高了老年教育过程中知识获取效率,提高老年教育体验。在知识图谱的基础上后续可持续地构建智能化的知识库服务,在数据处理方面未来可集成自然语言处理算法实现对非结构化数据的信息自动化抽取,在知识服务方面逐步完成基于知识图谱的用户画像、知识可视化分析等功能,不断提升数据挖掘和分析能力。
参考文献
[1]国务院办公厅.《关于推进养老服务发展的意见》国办发〔2019〕5号[R/OL][2019-4-16] http://www.gov.cn/zhengce/ content/2019-04/16/content_5383270.htm.
[2]姜泓冰.我国老年教育机构达6.2万所[N].人民日报, 2018-04-12.
[3]高慧敏.数字化服务支持下社区老年教育初探———以云南省昆明市“916”数字养老社区为例[J].成人教育,2016,36(9): 65-68.
[4]续芳.微课纳入老年远程教育体系推动“互联网+”时代老年教育供给侧改革的研究[J].天津职业院校联合学报,2019,21(4):93-96.
[5]陈艳莉.“互联网+”背景下电大开展老年教育的推进策略———以常德电大为例[J].内蒙古电大学刊,2018(5):95-97.
[6]王琛琛,张睿,吴天刚.大学物理知识图谱的构建及其在个性化教学中的应用[J].物理与工程,2020,30(5):76-81.