构建人工智能 (AI) 解决方案变得越来越容易。您无需成为成熟的数据科学家即可训练机器学习 (ML) 模型。您无需成为一名成熟的程序员即可将 AI 包含在您的业务应用程序中。正确的低代码工具可以带您在开发和生产基于 AI 的应用程序方面走得更远。
基于 AI 的应用程序
最近,我们开发了一个相对复杂的人工智能应用程序,其中包括:
使用低代码数据科学平台对 AI 模型进行训练,并开发单个模块。然后,最终应用程序通过专用的部署和生产化平台提供给现实世界。
在线游戏和用户反馈收集
网络游戏是“猜旗”游戏。用户会看到一个随机选择的旗帜,他们有三次机会猜测它所属的国家。每个游戏环节包括 10 面旗帜。在每个会话结束时,用户成功和失败的统计数据通过仪表板呈现,用户有机会留下评论。
整个游戏是作为一个 Web 应用程序实现的,没有编写任何代码。用于数据科学的低代码工具KNIME分析平台依靠“组件”的概念来实现交互式网页。虽然最初只是想类似于仪表板,但 KNIME 组件非常灵活,我们可以用它来实现游戏的整个 Web 界面:
- 旗帜展示
- 答案选项
- 最终统计信息仪表板
- 反馈表
情绪分析应用程序
在过去 24 小时内收集的所有评论中,应用了情感分析应用程序来评估游戏的用户体验。实现情绪分析应用程序的方法有很多种,具体取决于可用时间、成本、预期和数据。
- 基于经典 NLP 规则和统计数据的解决方案易于实现,但需要一些特定的语言知识。
- 在过去几年中,基于机器学习算法的解决方案一直是首选。但是,在这种情况下,应该有一个具有代表性的数据集来训练算法。
- 在基于机器学习的情感分析应用领域,深度学习模型已经显示出更好的性能,尽管需要更多的示例数据进行训练。
- 最近,可以访问大量文本数据的公司已经提供了预先训练的转换器模型。
下面是 KNIME 工作流,它实现了经典的基于 NLP 的情感分析解决方案。我们选择实施这种基于 NLP 的方法,因为它很简单。上述任何其他方法都可以同样实施。
制作和编排
在将标志游戏和情绪分析这两个应用程序迁移到生产环境之前,我们尽可能地将它们模块化。一个服务实现了标志和答案评估,一个服务实现了反馈收集,一个服务实现了情绪分析,一个服务实现了报告生成。每个服务都由一个逻辑块组成,并被生产为一个独立的REST服务。
所有服务的编排都是通过KNIME服务器的功能获得的。KNIME 服务器可以调度一个模块的执行,在其他模块执行后级联调用模块,并使用“调用工作流服务”节点利用另一个模块提供的服务。
成功的步骤
这似乎很容易,对吧?确实如此。然而,这个项目的意义远不止于此。成功实施需要许多步骤:
- 管理层验收
- 项目定义
- 技能组合侦察
- Web 开发
- AI模型训练与部署
- 服务生产化
- 配器
让我们从列表的底部开始。我们使用的开源低代码工具 KNIME Analytics Platform 负责 Web 开发、AI 模型训练和模型部署。它的商业伙伴 KNIME Server 负责制作和编排。事实证明,两者都是整个项目中最简单的部分,这主要归功于低代码方法。
因此,这个项目成功的关键是进入开发阶段,非常清楚地知道我们想要开发什么,我们可以投入的资源,以及我们需要管理层提供多少支持。没有什么能比得上清晰的想法。事实上,这是该项目最复杂的部分:了解要开发什么以及所有部分如何协同工作。经过几次会议和多次对话,才达成了清晰的最终愿景。
该项目的目标一直是评估用户留下的反馈。我们从书评开始,但随后用户需要先阅读至少一两本书,然后留下反馈。反馈收集过程太慢了。我们想到了歌曲,但版权问题出现了。我们想到了餐馆,但在这里,我们不会成为数据的所有者。然后我们中的一个人想到了制作一款游戏。游戏化是让用户进行互动的强大工具。为了避免版权问题,我们用旗帜制作了自己的游戏,并在其中附加了反馈收集表。这里的 Web 开发需要一些基本的 UI 技能才能使其尽可能易于使用。
第二部分是对反馈文本的评估。为此,即使是初级数据科学家也能够根据上面列出的四种情感分析方法之一实施足够准确的解决方案。
最后,编排和生产过程将委托给数据工程师,该工程师着眼于检测逻辑上孤立的任务并将其转化为服务。
一旦所有这些问题都得到澄清,我们就这个想法与管理层进行了讨论,并相对较快地获得了他们的支持;我们招募了所需的专业人才——一名数据工程师、一名数据科学家和一名具有 UI 专业知识的学生;我们选择了一个开源的低代码工具来控制成本,避免招聘 JavaScript 程序员、Python 专家和 IT 专业人员。在那之后,可能正因为如此,开发和生产阶段似乎不再是那么大的障碍。