没有合适的资源?快使用搜索试试~ 我知道了~
软件X 22(2023)101346原始软件出版物ChatbotSQL:支持关系数据库查询语言学习的会话代理Rubén Pérez-Mercado,Antonio BalderasPillas,Andrés Muñoz,Juan FranciscoCabrera,Manuel Palomo-Duarte,Juan Manuel Dodero西班牙加的斯大学计算机科学系ar t i cl e i nf o文章历史记录:2022年11月26日收到2023年2月24日收到修订版,2023年关键词:会话代理数据库SQL数据科学家a b st ra ctSQL是数据科学家的关键编程语言,但它的学习有时具有挑战性,特别是如果学习者没有适当的计算机科学背景。本文介绍ChatbotSQL,一个会话代理,旨在支持用于数据库查询的SQL语言的自主学习ChatbotSQL建议练习和指导学习者在有疑问的情况下采取的步骤,提供定制的反馈。ChatbotSQL创建于IBM Watson Assistant,可在Web平台上使用。高等教育数据库专业的学生广泛使用ChatbotSQL,对其在支持复杂查询解决方案方面的有用性表现出积极的看法©2023由Elsevier B.V.发布这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本v2.0.0用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-22-00390Code Ocean compute capsule法律代码许可证GNU GPL v3使用Git的代码版本控制系统使用的软件代码语言、工具和服务PHP/Laravel、JavaScript、MySQL、IBM Watson Assistant编译要求、操作环境依赖性Apache Web服务器、PHP、Composer、Node.js、npm如果可用,链接到开发人员文档/手册https://github.com/rubenperezm/ChatbotSQL#readme问题支持电子邮件ruben. alum.uca.es1. 动机和意义学习编程语言对学生来说可能特别复杂,导致一些学生变得缺乏动力和脱离[1]。文献综述表明,聊天机器人等交互式系统可以让学生在令人兴奋和舒适的环境中学习,从而保持他们的学习动机和热情[2]。会话代理,也称为聊天机器人,是能够与用户就特定主题进行聊天对话的计算机程序,*通讯作者。电子邮件地址:antonio. uca.es(Antonio Balderas).https://doi.org/10.1016/j.softx.2023.101346如果他们是一个真实的人[3,4]。聊天机器人已经证明,对学习成绩和团队合作有显著影响[5]。事实上,一些研究表明,在编程中使用聊天机器人本文介绍了ChatbotSQL,这是一个会话代理,可以帮助学习SQL数据库编程语言。这项研究发生在学习技术的科学领域。ChatbotSQL旨在帮助学生解决ChatbotSQL支持需要了解SQL作为计算机科学主要科目的学生(特别是数据科学家,而不是计算机工程师)。具体来说,这项研究是在学习者2352-7110/©2023由Elsevier B. V.出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softxRubén Pérez-Mercado,Antonio Balderas,Andrés Muñoz etal.软件X 22(2023)1013462Fig. 1. SQL学习平台架构。大部分的学习都是自主完成的[10]。为了有效,支持自主学习的软件必须是交互式的,并提供个性化的反馈[11]。ChatbotSQL的第一个版本帮助学位学生进行单表查询,获得了 其 对 自 主 学 习 影 响 的 积 极 证 据 [12] 。 然 而 , 学 生 们 要 求ChatbotSQL也帮助他们处理更复杂的嵌套或连接类型查询。本文介绍ChatbotSQL的2.0版本,其中包含对嵌套和连接查询的支持。据作者所它将游戏化与聊天机器人相结合,学生必须通过使用SQL语言与机器人进行交互来解决然而,聊天机器人仅限于15个SQL查询,交互受到游戏叙事的限制,而我们的工具允许更灵活的交互。其他旨在支持SQL语言学习的工具,如SQLzoo [14]或SQLeasy [15],不提供个性化的交互和反馈,仅面向查询执行和结果呈现。本文其余部分的结构如下。第2节介绍ChatbotSQL。使用示例见第3节。评价见第4节。第5节描述了ChatbotSQL的影响,结论在第6节中得出。2. 软件描述本节介绍ChatbotSQL2.1. 软件构架ChatbotSQL是在Node.js中开发的。它连接到基于Laravel框架的 Web 平 台 ( 参 见 图 1 中 的 Web 应 用 程 序 ) 和 IBM WatsonAssistant的实例,以处理收到的所有消息。以下段落中括号内的数字指图10中的箭头。1.一、学习平台使用三个MySQL数据库:系统数据库(SBD)存储平台数据,即,练习、日志和用户。测试数据库1(TDB 1)和测试数据库2(TDB 2)用于运行查询。该平台支持两种用户角色:学生和讲师。讲师可以创建和修改练习,并为每个练习,将解决方案查询和提示的学生(2)。在每个练习开始时,ChatbotSQL显示要解决的语句。如果学生尝试解决练习(1),则平台在TDB 1上运行学生的查询和解决方案查询(4)。然后,对TDB 2重复相同的过程(5)。签入两个数据库的原因是,某些不正确的查询可能返回与仅针对特定数据库的解决方案相同的结果集。由于添加了具有不同记录的数据库副本,因此可以对发出的查询的正确性进行双重检查。这样,如果每个数据库的已发出查询的结果集和解答查询的结果集相同,则学生已经解答了练习。否则,平台会给学生一些反馈。ChatbotSQL接收有关学生交互的信息(6)并将其发送到IBMWatson Assistant(8)。从Assistant收到响应后,ChatbotSQL会将其显示给用户。学生也可以直接寻求提示或帮助(7)。该平台将ChatbotSQL与学生之间的所有交互存储在SDB(3)中。值得注意的是,用户的可能目标(实体)和一些对用户目的有用的关键字(实体)必须事先在助手中定义。当助手收到消息时,它会识别意图和实体,然后使用它们向用户返回从对话框(对助手的会话流进行建模的一组节点)中选择的有意义的响应。2.2. 软件功能ChatbotSQL主要操作模式(Exercises mode)提出由讲师定义的学生练习。但学生也可以自由练习SQL查询(操场模式)。在练习模式中,ChatbotSQL在尝试开始时向学生提供定制在回答学生的问题后,解决一个练习的查询。在下面的段落中,括号中的数字指的是图1。 二、在每次尝试开始时,平台检索有关练习(1、2和3)的数据并将其发送到ChatbotSQLRubén Pérez-Mercado,Antonio Balderas,Andrés Muñoz etal.软件X 22(2023)1013463图二. ChatbotSQL的序列图(四)、它使用有关练习的信息设置IBM Watson Assistant上下文(5)并显示练习的语句。当用户提出解决练习(7)的查询时,存储(16)并执行(在测试数据库上),将结果集与解的结果集进行比较(8-15)。如果查询产生MySQL错误,则将其存储(17),并且平台通知ChatbotSQL(18)。类似地,如果查询在语法上是正确的,但它不是练习的解决方案,则平台识别它们之间的差异(即,比较了两个查询中使用的字段、表、子句、别名和表达式),并为ChatbotSQL提供了一个提示,以帮助学生(18)。ChatbotSQL将提示消息发送给Assistant(19),并决定将哪个消息发送回用户(20)并存储(21)。最后,学生还可以直接与ChatbotSQL进行交互当ChatbotSQL接收到消息时,它被转发到助理(24)。它返回定制的答案(练习的提示,有关函数子句的信息等),并且存储学生3. 说明性实例下面的示例显示了一个学生解决ChatbotSQL 2.0中包含的一个高级SQL查询(即外部连接)的交互。具体来说,外部联接查询是根据两个表中的公共字段联接两个表中的记录的查询。3.1. Chatbotsql欢迎当ChatbotSQL指示要解决的语句时(见图1)。3、对话的开头在右栏)学生可以进行所有类型的查询。它包括能够使用“SHOW TABLES”指令列出可用表3.2. 错误处理在图3中,在学生提出错误的解决方案后,平台在上部区域显示红色背景的通用错误消息。学生可以在结果集区域看到数据库最后,在与ChatbotSQL的对话中,它给了学生一个提示:“你用过GROUP BY子句吗?”. 事实上,学生忘记在建议的查询中执行GROUP BY聚合。ChatbotSQL通过解释MySQL提供的错误消息来提供这种特定的反馈。3.3. 提示管理现在,学生对GROUP BY子句的工作原理有疑问,输入以下消息:“你能给我一个关于GROUP BY子句的提示吗?”(图4,右栏)。然后,ChatbotSQL回答以下消息:“ 您 必 须 对 记 录 进行 分 组 , 为 此 , 您 必 须 包 含 G R O U P B Y 子 句 , 并 包 括所 有 那 些 必 须 为 每 个 组 的 记 录 具 有 相 同 值 的 列 。.3.4. 正确完成练习在收到提示后,学生细化包含GROUP BY子句的查询。图图4展示了ChatbotSQL如何通过消息“You nailed it!”通知学生查询是正确的。,而结果集显示返回的记录。Rubén Pérez-Mercado,Antonio Balderas,Andrés Muñoz etal.软件X 22(2023)1013464图三. 当 学 生 输 入 错 误 的 查 询 时 ,平台和聊天机器人的响应。4. 评价见图4。学生输入正确查询时平台和聊天机器人的屏幕截图。大部分学生都是20岁左右,这是他们第一次学习数据库相关的课程。ChatbotSQL,其用途是评估在加的斯大学(西班牙)进行,在2021-22学年的计算机工程学位数据库第的完全自愿的,从课程的第三周开始,在学生获得有关其使用的一些基本指示后,即可使用。Rubén Pérez-Mercado,Antonio Balderas,Andrés Muñoz etal.软件X 22(2023)1013465表1精确度,召回率和F1-学生-聊天机器人交互的分数描述显示选择从加入在哪里/有Order byGroup by其他精度百分百百分百百分之九十八点三二百分百百分百百分之九十八点七六百分百百分之九十九点零一83.47%召回百分之五十百分之九十三点七五89.31%百分之八十百分之九十七点零六百分之九十八点三五百分百百分百54.03%F1得分66.67%百分之九十六点七七百分之九十三点六88.89%百分之九十八点五一百分之九十八点五六百分百百分之九十九点五65.60%表2学生查询类型强烈反对不同意中性同意强烈同意嵌套百分之零点零6.9%百分之二十七点六百分之二十点七44.8%加入百分之零点零6.9%24.1%百分之三十一点零百分之三十七点九表3使用ChatbotSQL关于通过考试。聊天机器人使用通过失败总是的58664没有281543总8621107讲师们在ChatbotSQL平台上定义了24个查询练习,分布如下:10个初学者,9个中级和5个高级。收集了以下使用数据64名学生使用ChatbotSQL,总共进行了2,226次尝试解决查询练习。在2,226次尝试中,1,638次成功(即,所提出的查询解决了该练习)。在尝试解决查询练习时,64名学生与ChatbotSQL进行了9,930次交互。4.1. Student–chatbot对短信中包含的关键词进行分析后发现,在77.30%的短信中,学生们都在寻求提示。一般来说,所有关键词的用户意图的精确度、召回率和F1分数都高于80%(见表1)。准确率为88.10%。请注意,表1中的类别如果系统以通用消息响应,或者响应与用户关注的问题无关4.2. 学生感知在课程结束时,学生们被问到Chat- botSQL是否帮助他们解决了嵌套和连接查询(见表2)。结果是积极的,在这两种情况下,65.5%的同意和强烈同意嵌套查询和68.9%的连接查询。为了验证学生感知的结果在参加SQL考试的107名学生中,86人通过(80.37%),21人失败。但是,如果我们只考虑使用ChatbotSQL准备考试的学生的结果,我们得到64名使用它的学生中,58名(90.6%)通过,只有6名失败(表3)。为了将这些结果与ChatbotSQL的使用相关联,让我们考虑一个零假设(H0),即学生使用ChatbotSQL的事实与他/她使用ChatbotSQL的事实无关通过了课程。相反,备择假设(H1)将是学生使用ChatbotSQL和通过课程之间确实存在关系。为了验证H0,使用卡方检验,获得的p值为13.99。该值高于为0.001计算的显著性阈值(X2> 10)。82)。因此,我们不能接受H0,我们假设学生使用ChatbotSQL和通过课程之间存在关系。基于这些结果和对以前工作的改进[12],我们可以确认这项工作的目的已经达到,即。ChatbotSQL显示出能够帮助学生解决最复杂的问题。5. 影响目前与智能辅导系统(ITS)相关的研究指出,使用聊天机器人是最推荐的选择之一,因为它们通过自然语言提供个性化的、类似人类的辅导[5,16]。其他涉及观察学生行为的智能交通系统(眼动仪、应用程序之间的导航等)这是一种间接的方式来引出学习过程中可能遇到的困难。因此,在ITS的当前趋势下,在这项工作中,我们决定将我们的辅导系统作为聊天机器人。虽然聊天机器人在教育领域越来越受欢迎,但它们在支持编程语言学习方面的应用有限。在这一领域发现的作品是会话代理,其知识库仅限于FAQ,一旦检测到问题,就会返回相关的答案[17]。在我们的建议中,ChatbotSQL根据学生提出的解决方案为他们提供个性化的反馈ChatbotSQL在学习SQL语言方面表现出了很好的效果,并邀请在这一领域进行进一步的研究一方面,ChatbotSQL可用于改进和扩展数据库学习策略。SQL是数据科学家的关键,学习SQL查询技术需要大量的培训和实践,最好通过虚拟学习平台进行[18]。此外,学习SQL需要考虑大数据带来的不断扩展的数据库环境,使学习者能够在更广泛的系统和应用程序中更好地查看数据。另一方面,这项研究邀请开发和使用聊天机器人来学习其他计算机编程语言[20,21]。6. 结论这项研究已经开发和评估了ChatbotSQL,这是一个聊天机器人,可以帮助学生解决复杂的SQL查询,并支持他们的自主学习。ChatbotSQL已经在大学生中进行了测试,对收集到的交互的分析表明,它在匹配学生的提示请求方面具有很高的准确性。此外,学生评估的结果表明,他们对ChatbotSQL的有用性有积极的看法,这此外,在本研究中进行的准实验表明,学生的表现可能会有所改善,但需要在其他情况下进一步研究,以证实这一结论。在未来的研究中,我们将探索Chat-botSQL在SQL学习中的有效性,并确定它在多大程度上···Rubén Pérez-Mercado,Antonio Balderas,Andrés Muñoz etal.软件X 22(2023)1013466有 助 于 提 高 学 生 在 这 方 面 的 表 现 。 总 体 而 言 , 我 们 认 为ChatbotSQL是支持其他编程语言教学的宝贵工具,具有进一步探索聊天机器人在教育和培训中使用的巨大竞合利益作者声明以下经济利益/个人关系可能被视为潜在的竞争利益:Juan Manuel Dodero报告西班牙国家研究机构提供了经济支持Andrés Muñoz报告说,安达卢西亚地区政府的经济、知识、商业和大学地区数据可用性数据将根据要求提供。确认本文是由MCIN/AEI/10.13039/501100011033/资助的研发项目CRYPPES(参考编号PID 2020 - 115844 RB-I 00)的一部分。它也部分由“EMERGIA "计划提供, 该 计 划 由 安 达 卢 西 亚 委 员会 通 过 E M C 2 1 _ 0 0 4 1 7 1 赠 款 资 助 。引用[1] Abdul Alabib NH,Ahmad JI.对挑战和解决方案的分析审查计 算 机 程序设计的教学和学习。第五届国际计算、数学和统计会议(ICMS 2021)电子会议录。推动研究走向卓越。^P.378比86[2] 阿德-伊比约拉·奥孔科沃聊天机器人在教育中的应用:系统综述。ComputEducArtifIntell2021;2:100033,https://doi.org/10.1016/j.caeai.2021.100033。[3] 休克河基于对话的接口,用于普遍访问。Univ Access Inf Soc 2011;10(3):267https://doi.org/10.1007/s10209-010-0209-5[4] Abbas T,Khan VJ,Markopoulos P. CoZ:一个群体驱动的社会机器人系统 。 SoftwareX 2020;11 : 100421 , https://doi.org/10.1016/j.softx.2020 。100421[5] Kumar JA.基于项目学习的教育聊天机器人:调查基于团队的设计课程的学习成 果 。 高 等 教 育 技 术 国 际 杂 志Educ2021;18 ( 1 ) : 1-28 ,https://doi.org/10.1186/s41239-021-00302-www.example.com[6] Verleger M,Pembridge J.在入门编程课程中集成AI驱动的聊天机器人的试点研 究 。 2018 年 IEEE Frontiers in Education Conference 。 2018 , 第 1-4 页https://doi.org/10.1109/FIE.2018.8659282[7]Yin J,Goh TT,Yang B,Xiaobin Y.对话技术与微学习:基于聊天机器人的学习对学生学习动机和表现的影响J Educ Comput Res 2021;59(1):154//doi.org/10.1177/0735633120952067网站。[8]Migler A,Dekhtyar A.在数据库入门课程中映射SQL学习过程。第51届ACM计算机科学教育技术研讨会论文集。New York,NY,USA:Association forComputingMachinery;2020 , p.619https://doi.org/10.1145/3328778.3366869。[9]张文辉,张文辉.学生在编写七种不同类型的SQL查询时的句法错误及其在预测学生成功方面的应用。第47届ACM计算科学教育技术研讨会论文集。美国纽约州纽约市:计算机协会; 2016年,第401-6页https://doi.org/10.1145/[10] Sahni J.混合式学习是否能提高学生的参与度?高等教育的证据。J E-LearnHigher Educ 2019;2019(2019):1https://doi.org/10.5171/2019.121518[11]Maliza Muñoz W , Medina León A , Vera Mora G , Castro Molina N.Aprendizajeautónomo en Moodle. J Sci Res 2020;5(CININGEC):632[12]Balderas A,Baena-Pérez R,Person T,Mota JM,Ruiz-Rube I.基于Chatbot的 SQL 培 训 学 习 平 台 。 2022 年 国 际 互 动 多 媒 体 艺 术 展 。https://doi.org/10.9781/ijimai.2022.05.003网站。[13]放大图片作者:Lupano M,Farinetti L,Morreale D. OPUS:一个在大学学习SQL的替代现实游戏。2021年IEEE第45届计算机、软件和应用年会。2021,第121-6页https://doi.org/10.1109/[14]安 德 鲁 。 sqlcourse.com Interactive Online SQL Training. 2009 年 ,URLhttps://sqlzoo.net/。[2022年10月26日[15] 简 单 的 SQL 。 简 单 的 交 互 式 在 线 SQL 培 训 , 适 合 初 学 者 。 2009 年 ,URLhttps://www.sql-easy.com/。[2022年10月26日]。[16]Ji S,Yuan T.在线学习的对话式智能辅导系统:学生和辅导员说什么?2022年IEEE全球工程教育会议。2022,第292-8页https://doi.org/10.1109/EDUCON52537。2022.9766567。[17]Sandoval ZV.在 线 高 等教 育 环 境 中 聊 天机 器 人 的 设 计 与实 现 。 Issues InfSyst2018;19(4):44-52.[18]Röhm U,Brent L,Dawborn T,Jeffries B.数据科学家的SQL:为可扩展的在线 教 学 设 计 SQL 教 程 。 ProcVLDBEndow2020;13 ( 12 ) :2989https://doi.org/10.14778/3415478.3415526[19]放大图片作者:Silva YN,Almeida I,Queiroz M. SQL:从传统数据库到大数据。第47届ACM计算机科学教育技术研讨会论文集。2016,第413-8页https://doi.org/10.1145/2839509。2844560。[20]Yeves-Martínez P,Pérez-Marín D.沃森教授:一个教学的concentional代理教编程在小学教育。Mul- tidiscipl Digit Publish Inst Proc 2019;31(1).https://doi.org/10.3390/proceedings2019031084.[21]Daud Siti Hawa Mad , Teo Noor Hasimah Ibrahim ,Zain Nurul HidayahMat. Ejava chatbot for learning programming language : A post-pandemicalternative virtual tutor. Int J Emerg Trends Eng Res 2020;8 ( 7 ) :3290https://doi.org/10.30534/ijeter/2020/67872020
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功