关键词:图形化编程;App Inventor;ChatGPT;人工智能;ImageBot 组件
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2024)36-0103-04 开放科学(资源服务) 标识码(OSID) :
1 人工智能
1.1 人工智能简介
人工智能(Artificial Intelligence,简称 AI) 是指由人类制造的系统所表现出的智能行为,涉及计算机科学、数学、心理学、神经科学、统计学等多个学科领域。人工智能的研究目标是通过理解人类的智能行为,将这些智能行为转化为计算机程序,使计算机能够模拟人类的学习、思考、推理、规划、识别、感知、解决问题和创造等活动。
人工智能的研究始于 20世纪 50 年代,经历了多次高潮与低谷。在早期,人工智能的研究主要集中于基于规则的方法,如专家系统和逻辑推理。然而,这些方法在处理复杂问题和不确定性问题时遇到了困难。
20世纪 90年代,随着机器学习的发展,人工智能进入了一个新的阶段。机器学习使计算机能够通过学习大量数据来自动改进其性能,而无需人为编写复杂的规则。近年来,深度学习的出现进一步推动了人工智能的发展,使计算机在图像识别、自然语言处理、语音识别等任务上取得了突破性的进展。
1.2 人工智能的应用领域
人工智能的应用领域非常广泛,例如:
1) 智能助手。能够理解和回应人类的语音指令,提供各种信息服务,例如智能音箱、智能家居,代表性产品包括华为小艺、小度机器人和苹果 Siri 等。
2) 自动驾驶。通过感知周围环境,自动驾驶汽车能够自主导航和驾驶,从而改善交通安全和效率,例如华为星河 AI 自动驾驶网络解决方案。
3) 医疗诊断。人工智能在医疗领域的应用包括辅助诊断、病理分析和药物研发,有助于提高医疗服务的质量和效率。
4) 金融科技。人工智能在金融领域的应用包括信用评估、风险管理和智能投资顾问等,能够帮助金融机构更好地服务客户。
5) 智能制造。通过引入人工智能技术,制造业可以实现生产过程的自动化和智能化,从而提高生产效率和产品质量。
2 生成式人工智能
2.1 生成式人工智能的定义
生成式人工智能(Generative Artificial Intelligence,简称 GAI) 是一种能够创建新内容的人工智能系统,是人工智能从1.0时代迈入 2.0 时代的重要标志。GAI 通过对大量数据的学习和分析,能够生成文本、图像、音频、视频等原创内容。与传统人工智能不同,生成式人工智能不仅能够对输入数据进行处理,还能学习和模拟事物的内在规律,自主创造出新的内容。
2.2 生成式人工智能的技术原理
生成式人工智能的核心技术主要包括两个方面:生成模型和深度学习。生成模型是一种统计模型,能够学习数据的分布,从而生成与训练数据相似的新数据。深度学习是一种强大的机器学习技术,通过构建多层神经网络来学习数据的复杂结构。在生成式人工智能中,深度学习通常用于训练生成模型,使其能够捕捉数据的高层次特征和内在规律。
2.3 生成式人工智能的应用领域
生成式人工智能的应用领域非常广泛,已在许多领域展现出巨大的潜力和价值,深刻影响着我们的工作、生活和学习。以下是一些主要的应用领域:
1) 艺术创作。生成式人工智能可以创作出独特的艺术作品,如绘画、音乐、诗歌等,甚至能够模仿著名艺术家的风格。
2) 内容创作。在新闻、社交媒体、公众号等领域,生成式人工智能可以自动生成文章、标题、描述等文本内容,提高内容生产的效率和质量。
3) 游戏开发。生成式人工智能可被用于创造游戏中的角色、场景、剧情等元素,为玩家提供更加丰富和多样化的游戏体验。
4) 虚拟助手。生成式人工智能可以用于创建更加智能化和个性化的虚拟助手,能够与用户进行自然语言交互,提供更加丰富和灵活的服务。
5) 数据增强。在机器学习领域,生成式人工智能可被用于生成大量训练数据,从而提高模型的性能和泛化能力。
3 ChatGPT介绍
GPT全称为Generative Pre-Trained Transformer(生成式预训练变换模型) ,是一种基于互联网数据训练的文本生成深度学习模型。GPT 是一种自然语言处理模型,采用 Transformer 结构和预训练技术,能够学习自然语言的结构和规律,并生成符合语法和语义的文本。
ChatGPT 是由美国人工智能研究实验室OpenAI推出的一种人工智能技术驱动的自然语言处理工具,使用了 Transformer 神经网络架构。这是一种专门用于处理序列数据的模型,具备语言理解和文本生成能力。ChatGPT 通过连接大量语料库进行训练,这些语料库包含了真实世界中的对话内容,使得 ChatGPT 具备广泛的知识储备,并能够根据聊天的上下文进行互动,几乎可以实现与人类无异的交流场景。
2022年末,OpenAI 推出的 ChatGPT 标志着这一技术在文本生成领域取得了显著进展。2023年被称为生成式人工智能的突破之年,生成式人工智能入选“2023年度十大科技名词”。
与此同时,我国人工智能核心产业规模也在不断提升。截至 2024年8月,中国已完成备案并上线的生成式人工智能服务大模型数量已超过190个,注册用户数量超过6亿。
4 App Inventor介绍
4.1 App Inventor简介
随着移动互联网的迅猛发展,对移动应用程序(Application,简写为 App) 的开发需求日益增长。然而,传统的编程方式对于非专业开发者而言门槛较高,需要深入学习复杂的编程语言。
为降低这一门槛,Google 实验室(Google Lab) 与麻省理工学院(Massachusetts Institute of Technology, MIT) 联合推出了 App Inventor,这是一款革命性的图形化编程工具。它是一种完全在线的 Android 编程环境,通过积木式的堆叠方式完成 Android 程序的编写,旨在帮助非专业开发者轻松创建 Android 应用程序。通过简单的拖拽组件和编写逻辑,用户可以快速创建真实可用的应用程序,而无需具备专业的编程知识。
鸿蒙系统(HarmonyOS) 是华为公司于2019年推出的一款分布式操作系统,支持华为手机、平板、智慧屏等智能终端设备。据统计,截至2024年6月,华为自主研发的鸿蒙操作系统(HarmonyOS) 已超越苹果的 iOS 系统,成为中国手机市场的第二大操作系统。使用App Inventor 开发的移动应用程序可以运行在鸿蒙系统(HarmonyOS) 平台上。
App Inventor 创新性地使用了“搭积木、玩拼图”的方法来开发 Android 移动应用程序。具体而言:
1) 拖拽图形组件设计用户界面。像搭乐高积木一样简单直观。App Inventor 系统提供了丰富的组件库,涵盖用户界面、多媒体、绘图动画、地图、传感器等多种类别,共计 14 大类近百种组件。
2) 基于块语言的编程。App Inventor 的编程语言被称为块语言,通过拼装不同的语言块来实现程序的各种功能,像玩拼图一样充满创造性,学习者可以是“零”编程基础。语言块通过不同颜色和形状表示不同的程序功能,不仅简化了编程过程,还有效避免了传统编程中常见的拼写错误问题。
由Hal Abelson教授领导的麻省理工学院计算机科学与人工智能实验室(Computer Science and Artifi-cial IntellIGENCE Laboratory,简称CSAIL)团队,包括教职员工和学生,积极推进App Inventor的研发和服务支持。用户可通过官方网站(http://appinventor.mit.edu)访问相关资源和信息。
Hal Abelson教授曾说:“App Inventor编写的应用程序或许不是很完美,但它们却是普通人都能做的,而且通常可以在几分钟内完成。”App Inventor正在改变开发者创建移动应用程序的方式,同时也在变革青少年学习计算科学的方法。
4.2 App Inventor功能特点
1)图形化编程界面。App Inventor采用图形化编程界面,用户可以通过拖拽组件(如文本框、按钮、图像、标签等)到界面设计区域,然后利用拼图式的逻辑块来编写程序代码。这种方式极大地降低了编程的复杂性,使得即便是编程零基础的用户也能快速入门。
2)丰富的组件库。App Inventor提供了丰富的组件库,包括按钮、文本框、标签、图片、列表视图、Web浏览器、传感器组件、地图组件等,共有14大类、98个组件(版本:MIT App Inventor nb 197)。每个组件具有特定的功能和用途,用户可以根据应用程序的需求选择合适的组件进行开发。
3)直接调用设备功能。App Inventor支持直接调用Android设备的功能,如蓝牙、摄像头、传感器、GPS等。这使开发者能够快速创建具有丰富交互性、实用性强且有趣的应用程序,例如拍照应用、录音应用、导航应用等。
4)支持可编程互动硬件。除了支持Android设备外,App Inventor还支持与可编程互动硬件(如Micro:bit、乐高机器人、Arduino等)的结合。这使用户能够通过手机控制这些硬件,从而实现更加复杂且有趣的应用场景。
4.3 App Inventor开发流程
1)登录并创建新项目。用户登录App Inventor服务器后,可以创建新的项目并为其命名。
2)设计界面。在【Designer组件设计】界面中,用户可以通过拖拽组件到_图区来构建应用程序的界面。
3)编写程序逻辑。在【Blocks逻辑设计】界面中,用户可以通过拼接程序块来编写程序的逻辑。这些程序逻辑块包括常用的基本函数以及组件的基本属性、方法和事件等。
4)测试与调试。用户可以使用模拟器或连接真实的Android设备对程序进行测试和调试。
5)打包与发布。完成开发和测试后,用户可以将应用程序打包成APK文件,并发布到Android设备上使用。
4.4 App Inventor服务器
App Inventor使用浏览器(例如Chmme、Edge、Sa-fari等)乍为开发平台,无须安装其他软件或搭建复杂的开发环境,只要能够连接互联网,就可以开发An-droid移动应用程序(App)。主要工作依赖于App In-ventor服务器来提供程,存储、资源存储、程序译和构建等功能。
“在线开发+云服务器App Inventor移动应用程序开发的最大特色。开发者通过浏览器访问AppInventor服务器,先注册账号,然后登录服务器进行移动应用程序开发。开发者创建的应用程序工程项目均保存在App Inventor云服务器中。