三、构建基于知识图谱的智能答疑系统的分析与讨论
本文所构建的智能答疑系统主要功能是分析学生所提的问题,为学生提供答案。如图1所示为本答疑系统的基本框架,主要分为三个模块:
(一)数据库选择
图1中的智能答疑系统包括问题分析模块、检索答案模块、后台管理模块。问题分析模块是整个系统的基础前提,主要包括问题分词处理和关键词相似度比较。检索答案模块利用pymongo的相应算法进行实现。[13]首先利用数据库连接函数,将后台管理模块与数据库进行通讯,在连接成功之后,将问题分析模块分析用户问题后所输出的结果传入算法中,检索数据库中的相关内容,得到相应的答案。后台管理模块采用python的Django框架搭建,通过manage.py启动服务器。GUI界面采用HTML、CSS和Javascript实现,用户在输入框中的问题通过POST方式传入后台,经过问题分析与答案检索后,通过答疑系统的接口传回路由逻辑的代码。返回的信息分为两类,一部分是答案的展示,另一部分是知识图谱的可视化。HTML将信息进行渲染,呈现给用户。
在本智能答疑系统中,数据来源于MongoDB中所储存在数据库的固定数据,即关系数据库和答案数据库。智能答疑系统采用MongoDB数据库进行知识存储。MongoDB是C++语言编写的基于分布式文件存储的数据库,介于关系数据库和非关系数据库之间。尽管对其知识推理有所影响,但是由于MongoDB的特性,相较于图数据库,其分布式存储提供了可扩展性;相较于关系型数据库,其松散的数据结构将三元组从固定的表形式中解放,给存储更多样的关系提供可能,不仅提高了空间利用率,而且性能更优;相较于RDF存储系统,其三元组表示由RDF转变为JSON的BSON格式,增强了可读性,易于后期的维护。