案例三:聊天机器人
案例介绍
聊天机器人是一个用来模拟人类对话或聊天的程序。早期非常著名的聊天机器人有“Eliza”和“Parry”,它试图建立这样的程序:至少暂时性地让一个真正的人类认为他们正在和另一个人聊天。本案例只是一个封闭领域的聊天机器人,即只能对相应的问题做出相应的回答,而不能做到自己准确的理解自然语言。
案例准备
其知识点涵盖编程语言的顺序结构和逻辑结构。分析知识点关联,编写详细的教学案例指导手册,并提供相应的代码。
知识模块主要包括: a:顺序结构与循环结构的介绍。 b:程序设计。 c:生成文件保存。
a:顺序结构: 顺序结构是最简单的程序结构,也是最常用的程序结构,只要按照解决问题的顺序写出相应的语句就行,它的 执行顺序是自上而下,依次执行。 例如,a = 3,b = 5,现交换a,b的值,这个问题就好像交换两个杯子水,这当然要用到第三个杯子,假如第三个杯子是c,那么正确的程序为: c = a; a = b; b = c; 执行结果是a = 5,b = c = 3如果改变其顺序,写成:a = b; c = a; b = c; 则执行结果就变成a = b = c = 5,不能达到预期的目的,初学者最容易犯这种错误。 顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算,输出三部曲的程序就是顺序结构,例如计算圆的面积,其程序的语句顺序就是输入圆的半径r,计算s = 3.14159rr,输出圆的面积s。不过大多数情况下顺序结构都是作为 程序的一部分,与其它结构一起构成一个复杂的程序,例如 分支结构中的 复合语句、 循环结构中的循环体等。
循环结构: 循环结构可以看成是一个条件判断语句和一个向回转向语句的组合。另外,循环结构的三个要素:循环变量、循环体和循环终止条件,循环结构在 程序框图中是利用判断框来表示,判断框内写上条件,两个出口分别对应着条件成立和条件不成立时所执行的不同指令,其中一个要指向循环体,然后再从循环体回到判断框的入口处. 常见的两种循环结构 ①当型循环:先判断所给条件p是否成立,若p成立,则执行A(步骤);再判断条件p是否成立;若p成立,则又执行A,若此反复,直到某一次条件p不成立时为止。 ②直到型循环:先执行A,再判断所给条件p是否成立,若p不成立,则再执行A,如此反复,直到p成立,该循环过程结束。
b:程序设计。 本案例创建的是一个封闭领域的聊天机器人,我们可以预先设定好机器人面对什么样的问题会给出怎样的回答,也就是定好问题与答案的匹配关系。这样,我们就可以使用编程语言逻辑结构里面的if语句来设计我们的程序,在if的条件里设定好我们所问的问题,满足if的条件也即是我们所问的问题就输出我们设定好的回答,最后,我们需要考虑到当所问的问题不在我们所设定的条件中时,聊天机器人所应该做出的反应。代码如下:
c:生成文件保存。点击编程界面左上角的file(文件),再点save(保存),即可生成scratch文件。