任昕
摘要:人工智能教学是目前教育领域的热点议题,随着《普通高中信息技术课程标准(2017年版)》的发布,人工智能教学在高中阶段如何开展也引发了强烈的关注和讨论。本文以新课标中人工智能学习要求为基础,基于百度AI开放平台实施人工智能的项目学习,探讨高中信息技术课程中人工智能教学的展开形式,并进行反思。
关键词:人工智能教学;高中信息技术教学;项目学习
中图分类号:G434 文献标识码:A 论文编号:1674-2117(2019)08-0052-04
人工智能是当今社会的热点议题,它的一举一动都牵动着全世界的神经,很多国家已将人工智能的相关研究提升到国家战略层次。2017年7月,国务院印发并实施了《新一代人工智能发展规划》,文件中指出要实施全民智能教育项目,在中小学阶段设置人工智能相关课程,逐步推广编程教育。在《普通高中信息技术课程标准(2017年版)》中,除了人工智能的内容在必修模块有所体现之外,“人工智能初步”也作为选择性必修模块出现。由此可见,在高中阶段开展人工智能的教学是时代发展和科技进步的必然趋势,但人工智能的课程在高中阶段该用一种什么样的形式开展,值得每位一线教师思考。
新课标中人工智能学习的要求
在《普通高中信息技术课程标准(2017年版)》中,人工智能出现在必修的“数据与计算”模块,并单独作为选择性必修的模块之一。要设计适合高中阶段的人工智能教学课程,首先需要仔细解读新课标中对人工智能学习的要求。
必修模块中的人工智能学业要求是:了解人工智能技术,认识人工智能在信息社会中的重要作用。在选择性必修中,对人工智能模块的学业要求除了了解人工智能的特征、发展进程之外,还需借助人工智能的开源平台和框架,来自主搭建简易的智能系统,并在学习和生活中能恰当加以运用,对人工智能的发展能保持客观理性的态度。
根据课标对人工智能学业要求的描述,可以发现必修模块注重的是学生在各种场景中对人工智能技术的体验,并从中形成自己对技术发展的看法。选择性必修模块则将这种体验过程上升到更为理性的理论层面和更为具体的实践层面,学生需要了解人工智能的核心算法,并借助一定的平台搭建人工智能的应用模块,实现知识和方法层面的内容,亲历开发智能系统的过程。
AI开放平台有助于人工智能教学的开展
学习人工智能不是一味地引发对技术的膜拜,而是要学生了解场景中的应用如何从技术中来,知道在热闹的表象背后蕴含着哪些基本原理,要通过自己的体验去感受技术之间的联系。深入地学习人工智能需要很多的专业知识,如特征提取、神经网络、深度学习等,同时,也需要一定的数学知识,如线性代数、微积分、概率统计等。但是,以上这些知识对大部分高中生而言要求偏高,因此在教学中深究人工智能的算法和模型的建立、训练及改进过程对学生而言难度较大。
基于上述原因,需要找到恰当的切入点来使人工智能的学习活动得到有效的开展。现在,很多互联网公司都有AI开放平台,提供了支持不同功能的API开放接口,用户在开发智能应用时,直接调用平台的代码就可以实现相应的人工智能技术。因此,在教学中,教师可以通过项目学习的方式,基于一定的编程语言,结合具体的案例,如开发语音识别程序、开发人脸匹配程序等,让学生体验把人工智能变成现实的过程。学生在这一过程中,并不需要掌握人工智能部分的算法,只需将API接口的开源代码放在自己设计的程序的合适位置即可。教师还可以提供给学生半成品代码,学生通过修改和完善功能模块的代码,体验开发人工智能应用的过程,理解不同模块间的逻辑关系,了解技术背后的生成过程。
项目案例——情感倾向分析项目
1.学情分析
学生在本项目之前,已具备一定的Python学习基础,已习得Python的主要数据类型(数值、文本、列表、字典),以及选择结构、循环结构的用法。学生在本項目中,将基于Python编程语言,通过修改和完善百度AI开放平台的开源代码模板,体验开发智能程序的过程。
2.项目学习活动过程
(1)项目情境
R教师在进行人工智能教学后,请全班学生用记事本程序写下本节课的学习反馈,目的是通过阅读这些反馈,了解学生对这节课的评价情况。现在R教师遇到一个问题,如果逐个打开文件去查看反馈太耗费时间,而且每个学生的反馈倾向也不同,不利于分类了解情况。R教师急需一个智能程序,批量读取学生的反馈,并根据文本内容的情感倾向,自动对内容进行分类,方便了解上课效果。
(2)理论介绍
教师引入自然语言处理技术,简介情感分析技术:情感分析是一种常见的自然语言处理方法的应用,特别是在以提取文本的情感内容为目标的分类方法中,可以利用情感得分指标来判断一段文本的情感倾向是积极还是消极。学生在了解基本的理论知识后,对如何获得情感倾向分析产生探究兴趣。
(3)剖析项目,在半成品基础上初步搭建模块
①剖析项目模块需求。引入百度AI平台介绍,引导学生在平台建立相应的应用,并阅读情感倾向分析接口的技术说明文档,分析项目需要的数据和关键参数,确定程序中的不同功能模块,如上页表1所示。
②思考并完善get_token()模块代码。百度的技术文档提供了获取access_token的代码样例,这一环节将半成品提供给学生,学生只需将自己建立的智能应用的API Key与Secret Key替换进去即可。同时,在调试过程中,引导学生观察返回值result的详细结构,确定需要从中提取的键名称,进一步完善代码,详细代码如上页图1所示。
③思考并完善judge_sentiment()模块代码。获得情感倾向分析数据模块的搭建过程,也采取提供半成品的方式,学生通过观察技术文档的返回示例(如上页图2),查看返回结果,发现返回的是一个字典数据。教师引导学生观察示例说明,发现items键的值就是情感分析的结果数据,数据中的sentiment的值表示情感的极性分类(值为2表示积极,值为1表示中性,值为0表示消极),positive_prob的值表示内容正面的概率,negative_prob的值表示内容负面的概率。如返回示例所示,该文本是一个情感倾向积极的内容,且积极概率为0.73,消极概率为0.27。
因此,在返回数据中取出items键的数据,就获得了情感倾向分析的详细数据,学生据此将judge_sentiment()模块的代码补充完整,详细代码如P53图3所示。
(4)进一步搭建项目模块——批量分析多个文本的情感倾向
搭建好以上两个模块后,引发学生思考如何将数据与主函数联系起来。如表2所示,教师引导学生先将问题细化,再思考代码如何实现,详细代码如上页图4所示(假设收到的学生评价文件是10个)。
运行程序,效果如上页图5所示,引发学生思考:这样虽然能看见每一个评价内容的详细参数,但是作为用户,更希望看到按照情感倾向分类后的结果,该如何解决?
(5)完善项目——基于情感倾向对文本内容分類
为了使程序满足用户的需求,学生需要进一步完善项目,解决对评价进行分类的问题。教师引导学生按照表3的思路,对问题进行分析,并思考相应的解决方法。学生将思路整理出来后,完善代码实现功能,详细代码如上页图6所示,程序运行的最终效果如上页图7所示。
(6)理论升华与讨论
程序运行成功后,引导学生思考:在此基础上还可以如何优化本项目?例如,统计积极反馈的百分比,或按照置信度对反馈进行排序等。同时,引发学生讨论:情感倾向分析还可以在哪些领域发挥作用?可能会存在什么样的问题?
反思
由于学生平时接触开发人工智能程序的机会不多,为了降低学生的认知难度,本次项目学习活动的情境与生活实际相联系,对原理的简介也都围绕着项目中发散出的问题进行,从感性经验自然过渡到理性提升。
本项目学习活动重在让学生体验人工智能程序的实现过程,并不涉及人工智能建立模型的算法,在模块中代码较为复杂的部分,以半成品的方式提供给学生,适当降低探究过程的难度,使学生易于理解和掌握人工智能的相关知识,有助于提升学生学习的成就感。
由于完成本项目需要一定的Python语言基础,所以在开展项目活动前,教师要先对项目中需要哪些Python知识了如指掌,同时也要充分了解学生的Python学习情况,这样才可以确定在项目活动中要为学生提供哪些学习支架资源。
本项目为学生提供了Python语法学件,主要用于帮助学生回顾知识,如字典数据和列表数据的特点,以及几种控制结构的特点。需要注意的是,项目活动的重点是学生体验人工智能程序开发的过程,而不是Python编程的教学,Python编程在这里只是一种手段,所以在项目开展的过程中,重点要放在引导学生思考和理解每个模块的作用,以及模块间的逻辑关系上。
结语
人工智能教学已经向课堂走来,在当前课程资源并不丰富的情况下,一线教师要不断学习新的知识与技术,更新与提升自身的专业知识水平,积极设计与实践人工智能教学的项目案例,以此培养学生独立思考的习惯和问题解决的能力,从而使其在未来可以积极并理性地用技术去探索世界。