由表及里,初识人工智能

2022-05-30 10:48魏鹏飞
发明与创新·中学生 2022年9期
关键词:控件工具文字

魏鹏飞

“简单人工智能应用模块开发”是高中信息技术课程选择性必修模块4“人工智能初步”中的重要组成部分。根据新课标的要求,我通过设计制作简单的人工智能项目,让学生亲历利用人工智能解决问题的过程。

本文以“图片文字提取工具”的设计与实现过程为例,提出“高中人工智能项目制作教学策略”(以下简称“策略”):以解决现实情境中的真实问题为导向,采用项目式学习模式,增加学习的探究性与趣味性;通过调用百度接口,使学生绕过人工智能核心算法的学习,降低学习难度;弱化学生对核心算法的学习,强调学生解决问题的思路和方法,有利于学生问题解决能力、计算思维能力以及创新能力的培养。

一、创设问题情境,引发思考

创设真实的问题情境引发学生深度思考,是开展项目式学习的首要环节,也是尤为重要的一步。设定的问题情境应贴近学生的现实生活,能引发学生思考,激发学生的学习兴趣,继而以兴趣为驱动,主动开展探究活动。

人们时常需要提取图片中的文字,但目前使用专业的图片文字提取工具大多需付费,百度、科大讯飞等免费使用接口缺乏统一的用户界面,只得依靠其提供的代码调用接口。这种缺乏界面的操作方式对普通用户不太友好。

基于此,我让学生通过所学的Python知识并结合百度接口框架,设计制作了一款用于解决上述问题的工具。创设问题的理由如下:

1.文字识别是人工智能应用的一个领域,符合教育主题;

2.提取图片中的文字是学生在学习和生活中经常遇到的问题,易激发学生的学习兴趣;

3.学生在提取图片中的文字失败的情况下,若能利用自己制作的工具成功提取文字,能增强自信心和荣誉感。

二、聚焦问题情境,功能可视化

项目的功能通常隐含于真实的问题情境中,教师应引导学生通过分析问题、剔除无关项、保留关键点,最后形成可视化项目功能思维导图。

结合本项目的教学案例,围绕问题情境组织学生开展探究活动,最后将可视化项目功能分为选择图片类型、打开图片、加载图片、识别文字、显示文字、提取文字,形成图片文字提取工具的思维导图。

三、提供学习支架,扫清盲区

“策略”以项目式学习为主,教学活动的开展以学生为中心,教师是教學活动的组织者、引导者和帮助者。在开展项目式学习中,由于项目具有开放性、综合性和复杂性等特点,学生在实践过程中难免会遇到知识盲区,需要教师为学生提供相关的学习支架(包括学习资料和技术指导),保证项目的有序开展。

以“图片文字提取工具”项目为例。在开展项目式学习前,学生首先需熟练掌握Python编程语言中的内置库Tkinter,因为它是制作用户交互界面必须具备的基础知识。然而Tkinter库中方法繁多,且每种方法都有诸多属性,学生易混淆或遗忘。这时,我会教学生“Lable”(标签)、“Entry”(输入框)、“Button”(按钮)、“Text”(多行文本框)等使用方法。我还提供了包括注册、登陆、选择文字识别、创建应用以及自动生成账号等调用百度接口的方法,其中自动生成的账号包含AppID、APIKey、Secret Key三部分内容,其账号列表具体内容如图2所示。

四、参考简单项目,突破难点

在项目界面设计与实现中,如何设定与获取输入类控件的值也是难点之一。我在教学中发现,学生经常在此类问题上犯错。可基于控件的使用方法制作一个简单的项目,以学习资源的形式提供给学生,让学生在反复学习与使用过程中,逐渐熟练其具体用法,从而达到知识的学习与重构,实现教学难点上的突破。

比如:简单项目“用户登录界面”的实现过程就要用到文本框值的绑定、初始值的设定、输出值的提取等知识。将该项目以学习支架的形式提供给学生,方便其在使用相关控件时查找资源,这不仅有利于培养学生的自主能力,还能减少教师的工作量。

以“图片文字提取工具”为例,学生根据教师提供的学习支架,结合项目要实现的功能,设计制作主界面。用到的控件及其功能如下:“Lable”(标签)——用于显示静态的文本信息及其图片的显示信息;“Combobox”(下拉列表框)——用于显示要选择的图片类型;“Button”(按钮)——用于人机交互,发送和接受交互信息;“Text”(多行文本框)——用于识别文字的显示。

五、面向算法设计,培养思维

高中阶段,基于程序设计培养学生的计算思维应聚焦在算法设计上,而并非某种语言或程序设计上。利用计算机解决问题,编程语言只是工具,程序设计只是手段,而算法才是灵魂。

一个好的算法不仅需要有强大的可读性和可移植性,还应考虑其时间和空间的复杂性,即程序的执行效率。这种高度不是设计几个算法或编制一个程序就能达到的,需在教师的指导下通过长期训练形成。

六、依据算法设计,指导编程

如果说算法是解决问题的方法和步骤,那么编程就是通过某种编程语言将算法转化为程序,实现某种特定功能的过程。两者最大的区别在于,算法不能直接被计算机执行,而程序可以。

以“图片文字提取工具”的编程实现过程为例,将整个项目封装在一个名叫“Image_recognition”的类中,类方法又包含“openfile_path(self)”(打开图片)、“get_file_content”(读取图片)、“showidentify_result”(文字识别)、“copy_text”(文字提取)等功能模块。

七、运行测试程序,迭代优化

项目采用单元测试与集成测试结合的测试方法。

在程序编制过程中采用单元测试,即对每个函数及其实现的功能进行测试。这是在编制程序早期发现语法和语义错误的较好办法。

程序编写完成后,采用集成测试的方法对系统的运行及其识别情况进行测试。在具体测试过程中,分别选取5张图片,对每一种识别类型进行测试用例,其文字识别率超过90%,基本达到使用要求。

然而,项目在实现基本功能的情况下还存在一些缺陷:系统每次只能加载一张图片进行识别,对多张图片的识别效率较低;由于项目文字识别部分是调用百度接口来实现的,受网络或其他使用限额的限制,时常出现识别错误的情况。这些都是我后期需要改进的地方。

(栏目编辑  方郁芝)

猜你喜欢
控件工具文字
文字的前世今生
波比的工具
波比的工具
热爱与坚持
当我在文字中投宿
关于.net控件数组的探讨
“巧用”工具
ASP.NET服务器端验证控件的使用
基于嵌入式MINIGUI控件子类化技术的深入研究与应用
种出来的“逍遥居”