创建聊天机器人

聊天机器人是一种允许与计算机或应用程序进行模拟交流的程序。它可以仅使用Scratch来开发,涉及到许多列表、运算符和特定的"ask"模块。本教程将展示如何制作一个聊天机器人。

聊天机器人的一些示例可以包括操作系统项目中的助手。

简要描述

要创建一个聊天机器人,需要使用"ask"模块输入消息。然后,项目将获取该消息,将其拆分为单词,并扫描单词列表以查找特定的单词。然后,如果消息包含这些特定的单词,聊天机器人可以回复预设的消息。要将"answer"变量拆分为单词,需要将每个字母重复添加到一个列表中,直到遇到一个空格,然后创建一个新项目并继续添加字母,形成单词。为了编程实现这一点,只需要一个列表:

  • words(单词)

以及一个或两个变量:

图1

注意:变量和列表可以使用任意名称。

编写机器人程序

下面的代码示例可以用来让机器人回复消息。所有这些脚本可以放置在任何一个角色中。

图2
2(1).png

例如,如果输入"I like Scratch",机器人可能会回复"我也喜欢!"或"真的吗?我不太喜欢那个",因为单词列表包含"like"。可以通过将其拆分为单个喜好和更多回复来使脚本更加复杂。"pick"变量仅用于使其回复多个可能的消息之一。然而,如果例如再次输入"I like Scratch",机器人可能会回答"真的吗?我不太喜欢那个。"为了防止这种情况,可以创建一些列表来存储机器人已经回答过的单词。

创建两个列表:

  • Likes(喜好)
  • Dislikes(不喜欢)

然后更改脚本的以下部分:

图3
3(1).png

注意:如果在"like"之后有多个单词,这可能不起作用。

最终成品

不包括下一节中的脚本,整个脚本如下所示:

图4
4(1).png
4(2).png

进一步发展

为了使聊天机器人更加逼真,可以从以前输入的消息中创建一个单独的存储单词的列表,并在对话的后期让机器人参考这些单词。例如,如果告诉机器人用户喜欢编程,然后稍后告诉机器人用户喜欢Scratch,它可以使用旧单词列表将二者联系起来,并说"当然你喜欢Scratch,你喜欢编程",通过检测旧单词列表中是否包含"编程"。

还可以通过使用以下脚本来改变脚本,使机器人能够理解更多的单词:

图5

简化版本

一个相对简化的版本,使用固定的提示和回复,如下所示:

图6

标签: Scratch, Scratch编程, Scratch中国, 少儿编程, Scratch社区, Scratch编程社区, Scratch编程课程, Scratch编程教程