基于知识图的智能问答系统及教学实践应用

2022-07-28 02:14陈新元陈庆强谢晟祎陈但淡
唐山师范学院学报 2022年3期
关键词:镜像容器图谱

陈新元,陈庆强,谢晟祎,陈但淡

基于知识图的智能问答系统及教学实践应用

陈新元1,陈庆强2,谢晟祎3,陈但淡4

(1. 福州工商学院 工学院,福建 福州 350715;2. 福建工程学院 信息科学与工程学院,福建 福州 350118;3. 福建农业职业技术学院 教学科研处,福建 福州 350181;4. 福州墨尔本理工职业学院 教务处,福建 福州 350121)

为提高问答系统准确率,引入知识图谱构建框架,借助元图结构描述知识,利用知识推理技术实现持续更新。问答系统集成传统Q&A问答模块和知识图推理模块,并行处理问题并传递给答案生成模块。进一步提取、优化主题、关键字和摘要以提高问答键值对匹配的准确率,并将情境信息以属性/标签的方式与问答键值对集成以缩小候选集。在教学实践中评估、验证系统功能/性能。

Q&A;知识图谱;元图;情境信息;教学实践

1 引言

信息时代数据规模快速增长,问答系统可帮助用户及时、准确地获取信息,早期产品如密歇根大学AnswerBus多语言问答系统[1]等。问答系统在教育领域也有广泛应用[2,3]。早期系统只接受特定语法结构的问题[4],通常由问题分析、信息检索和答案抽取3个模块构成[5]。

近年研究表明,知识图谱领域的知识表达与推理技术相比传统问答系统中的规则分类器具有一定优势[6]。知识图谱的本质是图结构的语义知识库,其构建一般分为3个阶段:信息抽取、知识融合和知识更新。刘峤等[7]总结了知识图谱构建的数据来源、预处理方法、知识融合技术和知识补全与更新机制。知识更新是知识图谱建设的重要任务,经典研究包括TransE及其后续模型[8-9];近年也有研究使用卷积神经网络(CNN)[10]提取实体/关系的交互特征,或引入路径语义辅助判定三元组有效性[11]。

问答系统有助于改进教学中的知识共享模式[12],本文在此前研究基础上构建知识图谱框架,设计并实现了基于知识图的智能问答系统(Intelli- gent Q&A System based on Knowledge Graph and Context Awareness,简写为SKGCA),集成传统问答模块与知识图推理技术,并利用主题聚类、关键词/摘要优化分析和情境集成感知技术优化问答表现,在教学实践中验证系统功能/性能。

2 SKGCA框架

整体方案框架如图1所示,数据收集、清洗和预处理后,知识图谱构建更新与Q&A系统开发同步进行,在此基础上优化框架,利用知识图发掘主题,提取关键词和摘要,集成情境信息并实现情境感知功能,辅助问答检索。

图1 SKGCA框架

2.1 知识库构建和更新

RDF框架对复杂关系类型的表示能力欠佳,使用元图构建层次化描述,简化关系类型和富文本描述。知识更新阶段是指使用CNN编码实体路径集合[13],提取局部特征,利用双向LSTM的隐藏状态合并向量序列,通过注意力机制分配路径权重并集成。

使用图数据库Cayley与文档数据库MongoDB持久化存储三元组数据。Mongo作为后台数据库,由Cayley向其发起三元组的CRUD操作。

2.2 问答系统框架

问答框架使用Django进行模块化开发,Redis管理缓存管理,定时备份问答数据,通过pymongo调用Mongo实现持久化。框架包括传统的问答模块(以下简称Q&A模块)、基于知识图谱技术的处理模块(简称图处理模块)、答案生成模块、可视化模块和访问API等。

2.2.1 Q&A模块

2.2.2 图处理模块

使用与知识图构建相同的预处理技术。模块应答规则如下:

(1)将用户问题中识别出的概念存储于会话数据,筛选表中数据并预估匹配记录数;

(2)若只匹配到1条记录,返回该记录目标列信息;

(3)若匹配记录数>1,系统向用户发起对话,提出补充性问题,利用用户回答中的辅助信息缩小取值范围,迭代查找具有最高相关概念数的记录(列),直至匹配到1条记录为止;

(4)若用户在检索中给出的概念相互不兼容,提示查询失败,清空会话数据。

由于使用了元图结构,该模块支持将元顶点作为数据元素。

2.2.3 答案生成模块

传统Q&A模块用于处理普遍性问题,而图处理模块从特定知识图中提取答案。答案生成模块将Q&A模块中分类器返回结果的置信度水平与阈值(初始设置为85%)比较,将问题判断为普遍性问题或针对特定图数据,相应输出Q&A模块或图处理模块的返回结果。相比系统检索结果,教师解答优先级更高。

2.2.4 可视化模块

收到答案生成模块的输出后,根据其所处的教学情境格式化输出,教学过程中在第二投影仪或学生终端APP的问题墙/聊天频道内展示,学生也可通过浏览器、APP或API随时查看相关问答的详细内容,包括系统检索结果、教师应答、学生应答和教师点评、补充,以及关于该问题的完整讨论等,实现知识的全程追溯。该模块也响应用户的自定义检索/筛选操作。

2.2.5 访问API

使用Cryptocat实现信息传输,允许学生自建聊天频道及选择参与者,学生可发言或通过问题墙创建问题,也可回答其他同学提出的问题,对系统/教师给出的答案进行反馈或评分。教师可通过API调整系统检索结果的顺序或内容,也可直接回答检索失败的问题,为学生给出的答案打分、点评或补充修改,或访问统计分析数据等。

2.3 框架融合与优化

除在问答系统中集成知识图推理模块外,设计了主题聚类(用于发现、评估内容主题)、关键词抽取优化(优化基于关键词的问答匹配)、基于贪心策略的文本摘要分析(优化基于自然语言的Q&A检索)和情境集成功能(缩小问答候选集),利用持续更新的知识图改进问答表现。

2.3.1 主题聚类

即根据泊松分布的文本长度和狄利克雷分布生成主题分布参数。整体概率分布表示为

2.3.2 关键词抽取

关键词是描述问答核心的词汇,涉及知识/技能的目的、原理、意义和方法过程,本文设计了结合词频与主题——词项分布的关键词提取方案。首先使用TF-IDF计算词汇权重,降序排列;接下来手动筛选主题——词项分布下排名较前的词汇,加入关键词集合中,借助同近义词典缩小候选集,提高问答匹配的准确率。

2.3.3 摘要分析

句子的效率保持度表示为

2.3.4 情境感知集成

教学情境信息可定义为教师传授特定知识开展特定教学活动的时间和场景,该学时/教学模块的教学目标、学情和重难点,相关知识/活动的具体信息如依赖的前置知识/技能,教学流程、评价指标、板书、作业等内容,往届学生的教学反馈,等等。本研究将情境信息与知识进行匹配映射,以标签/属性的形式添加到知识图谱或Q&A数据库中,学生提问时,根据当前的教学情境进行筛选以缩小问答候选集。

3 方案验证评估

系统运行在Lenovo Thinksystem SR590服务器上,具体配置略。构建垂直领域知识图谱的源数据来自国外合作高校的专业课程,收集教材、参考书、教学计划、课件、实验指导书、习题、试题及解答、生产环境任务资料,以及已有的问答记录等内容,同时借助Scrapy爬虫框架抓取网络文本资源。

3.1 系统功能测试

信息抽取阶段的3种模板中,词汇特征F1最高,达到91.8%,准确率93.3%;句法特征受抽象程度影响,F1 76.2%,准确率92.5%;共现特征F1 87.5%,准确率93.0%。知识更新阶段,方案在Nell995、FB15k-237和WN18RR等数据集上与主流基准模型进行比较,MAP、MRR和Hits@1、3、10等指标表现证明方案可行,结果略。

问答系统中,Q&A模块的TF-IDF和Doc2Vec的权重分配分别为0.8和0.2。自主构建模型训练所用的课程语料库,包括118 079条目,训练集/测试集分别占70%和30%,迭代训练。

以镜像相关内容为例,智能问答示例如下。

用户:我想查询创建镜像的指令和具体参数配置。

系统分析流程:情境感知模块判断当前教学项目为镜像、容器基础操作,优先在该主题下进行检索。IKAnalyzer和NLTK独立对用户问题进行预处理,如“镜像”“创建”和“参数”都存在于解析树子树中,概念识别成功并存储于用户会话数据。图处理模块中发现与概念匹配度较高的多条记录,向用户发起会话,提出辅助性问题,期望获取更多概念以对准确记录进行定位。

系统反馈:镜像创建可以使用多种数据来源,您使用的是本地镜像、网络镜像、空白镜像,还是容器?

答疑教师无操作。

用户:本地镜像和容器有什么区别?

系统分析流程:情境感知模块结果同上。识别概念“本地镜像”和“容器”,存储于会话数据中;Q&A处理模块返回结果的置信度水平较高,将其结果用于应答。

系统反馈:本地镜像和容器的区别在于前者是静态镜像,而后者是在前者基础上添加了运行层数据和配置,相关指令为docker run。

答疑教师无操作。

用户:I hope to create an image with an existing container.

系统分析流程:情境感知模块结果同上。“container”映射到概念“容器”,其在会话数据中的权重加大,Q&A模块置信度较低,因此使用图处理模块的返回结果,根据“容器”在相应列中进一步筛选,匹配记录仅1条,答案生成模块将其返回用户。

系统反馈:docker commit [容器名] [参数集合]。

答疑教师:补充答案“使用该指令转化容器时状态配置可能丢失”;设置为高优先级问题。

系统反馈:提取问题摘要“使用容器生成镜像”,展示在第二投影仪上;同时将补充的答案内容识别为指令标签,添加至Cayley数据库,后续批量更新至Mongo存储。更新提问学生的关注模型,等。

学生反馈略。

从以上示例可以看出,情境感知能正确判断教学模块并设置优先级,系统根据置信度自动选择Q&A模块和图处理模块的候选答案,并能提出扩展性问题辅助答案匹配。教师可随时通过API接入,修改或补充答案,调整问答呈现方式或内容优先级。

就Docker容器操作项目中,系统有自动识别出容器启动和运行、容器停止、容器删除、容器网络、容器保存、容器信息查看、容器备份和导入导出、进入容器操作共8个主题。聚类算法将容器启动和运行正确识别为相同主题,进一步层次聚类后将容器启动和运行、容器停止和容器删除正确识别为容器状态管理这一上层主题,也成功识别出容器备份和导入导出为相同主题,且该主题与容器保存有一定的内容交叉。经教师人工验证后,将容器网络迁移到专门的网络项目中,将容器保存定义为单纯的数据存储(状态存储移动到容器备份与导入导出中)。

提取关键词和摘要的问答文本示例如下。

问:如何进入Docker容器的网络命名空间?

系统反馈:Docker在创建容器后,删除了宿主机上/var/run/netns目录中的相关的网络命名空间文件。宿主机上默认无法查看容器的网络命名空间。

用户可以通过查看进程—链接的方式进行相关操作。

首先使用docker inspect命令查看容器进程信息,如下方的1234。

$ docker inspect --format='{{ State.Pid}} ' $container_ id 1234

使用ln命令把/proc目录下对应进程的命名空间文件链接到/var/run/netns目录,指令如下:

$ sudo ln -s /proc/1234/ns/net /var/run /netns/

然后,在宿主机上就可以使用show命令看到容器的网络命名空间信息,指令如下:

$ sudo ip netns show 1234

通过exec命令查看或操作容器的命名空间。如修改容器的IP地址信息为172. 17.0.100/16。

$ sudo ip netns exec 1234 ifconfig eth0 172.17.0.100/16

提取的关键词为:进入/交互/打开/查看(词典)、网络、命名空间、链接、inspect(以上为词频)、ln(分布)和exec/proc(分布)。

系统从上述问答示例中提取的摘要如下(括号内为选取顺序):宿主机上默认无法查看容器的网络命名空间(1);首先使用docker inspect命令查看容器进程信息(3);使用ln命令把/proc目录下对应进程的网络命名空间文件链接到/var/run/ netns目录(2);通过exec命令查看或操作容器的命名空间(4)。

随机抽选不同情境下的关键词组合,根据关键词、整句问答或语义搜索等不同场景编写测试用例,相似度算法能正确识别socket、容器、虚拟机等多义词情境。独立测试传统问答模块,基于知识图但不带情境感知的问答模块,以及完整问答系统的准确率,分别为67%、72%和81%,说明集成知识图推理和情境感知的问答系统具备一定优势。

系统投入使用前邀请教师和学生志愿者参与内部测试,统计其情境识别准确率和问答准确率,问答样本量分别为50、100。教学过程中每10~12天设置1个测试节点,抽取近期问答进行统计分析,3种情况下的情境识别准确率分别为98%、91%和92.3%,问答准确率分别为94%、85%和87.3%,如图2所示,可见教学过程中的问答准确率在逐步上升,说明知识库的持续更新和优化设计有助于提高问答系统表现。

图2 情境识别准确率和问答准确率

3.2 系统性能测试

系统性能使用Locust模拟并发用户,测试不同并发下的系统性能表现,随着并发用户数增加,磁盘利用率并无明显提高,不存在明显瓶颈,可满足实际需求,具体指标及结果略。

4 总结

本研究在构建知识图框架的基础上实现知识更新,将传统Q&A检索与知识图推理集成,同时引入主题聚类、关键词/摘要优化分析和情境感知技术以改善问答性能。将方案应用于专业课程教学实践,结果证明基于知识图推理的系统能正确识别内容主题并提取关键词和摘要,表现优于主流基准算法,能有效提升面向关键词或自然语言文本检索的问答性能。随着教学开展,系统情境识别准确率和问答准确率也逐步提高,验证了迭代更新知识库的有效性。

[1] 冯升.聊天机器人问答系统现状与发展[J].机器人技术与应用,2016,8(4):34-36.

[2] 刘玉宾.计算机公共基础课程多元化教学模式探究[J].唐山师范学院学报,2019,41(6):127-129.

[3] 汤绍雄.基于智能问答的互助式编程学习平台研究与开发[D].杭州:浙江工业大学,2020:54-64.

[4] 张志昌,张宇,刘挺,等.开放域问答技术研究进展[J].电子学报,2009,37(5):1058-1069.

[5] 李舟军,李水华.基于Web的问答系统综述[J].计算机科学, 2017,3(6):1-7.

[6] SUN H, MA H, YIH W, et al. Open domain question answering via semantic enrichment[C]//ACM. Proceedings of the 24th International Conference on World Wide Web. Florence: ACM, 2015:1045-1055.

[7] 刘峤,李杨,段宏,刘瑶,等.知识图谱构建技术综述[J].计算机研究与发展,2016,53(3):582-600.

[8] Bordes A, Usunier N, Garcia-Duran A, et al. Translating embeddings for modeling multi-relational data[C]// MIT Press. Proceedings of the 26th International Conference on Neural Information Processing Systems. Lake Tahoe, United States: MIT Press, 2013:2787-2795.

[9] Ji G, Liu K, He S, et al. Knowledge graph completion with adaptive sparse transfer matrix[C]//AAAI. Proceedings of the thirtieth AAAI conference on artificial intelligence. Phoenix, Arizona: AAAI, 2016: 985-991.

[10] Dettmers T, Minervini P, Stenetorp P, et al. Convolutional 2D knowledge graph embeddings[C]// AAAI. Proceed- ings of the 32nd AAAI Conference on Artificial Intelligence. New Orleans: AAAI, 2017: 1811-1818.

[11] Das R, Neelakantan A, Belanger D, et al. Chains of Reasoning over Entities, Relations, and Text using Recurrent Neural Networks[C]//ACL. Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics: Volume 1, Long Papers. Valencia, Spain: ACL, 2017: 132-141.

[12] 阴瑞华,李远航.虚拟学习社区中面向知识共享的教师知识管理研究[J].唐山师范学院学报,2016,38(6):158- 160.

[13] 陈新元,谢晟祎,陈庆强,等.结合平移关系嵌入和CNN的知识图谱补全[J].中文信息学报,2021,35(1):54-63.

Intelligent Q&A System Based on Knowledge Graph and Its Application in Teaching Practice

CHEN Xin-yuan1, CHEN Qing-qiang2, XIE Sheng-yi3, CHEN Dan-dan4

(1. College of Engineering and Technology, Fuzhou Technology and Business University, Fuzhou 350715, China; 2. Information Science and Engineering College, Fujian University of Technology, Fuzhou 350118, China; 3. Division of Teaching and Academic Affairs, Fujian Vocational College of Agriculture, Fuzhou 350181, China; 4. Faculty of Teaching Affairs, Fuzhou Melbourne Polytechnic,Fuzhou 350121, China)

To improve the question answering accuracy of Q&A systems, a framework for knowledge graph construction is proposed, in which meta-graph structure is employed to describe knowledge, reasoning techniques adopted to deliver continual knowledge updating. A traditional Q&A module and a knowledge graph reasoning module are integrated into the framework to complete the question answering process in parallel, another module called answer generation responsible for making the selection. Topics, keywords and abstracts are further optimized/ extracted for better key-value matching while contextual information is attached to key-value pairs of questions and answers in the form of attributes/ labels to narrow the candidate set. System function/ performance is assessed and verified in teaching practice.

Q&A; knowledge graph; meta-graph; context information; teaching practice

TP391

A

1009-9115(2022)03-0066-06

10.3969/j.issn.1009-9115.2022.03.018

福建省中青年教师教育科研项目(JAT210619)

2021-04-27

2022-01-05

陈新元(1984-),男,福建福州人,硕士,讲师,研究方向为机器学习和知识图谱。

(责任编辑、校对:田敬军)

猜你喜欢
镜像容器图谱
容器倒置后压力压强如何变
绘一张成长图谱
镜像
难以置信的事情
镜像
补肾强身片UPLC指纹图谱
主动对接你思维的知识图谱
取米
镜像
杂草图谱