首页 电脑 电脑学堂 查看内容

如何编写一个聊天机器人

2016-10-11 13:32 1729 0

摘要: 本次我们要用到的软件是:易语言。首先,打开易语言,新建一个windows窗口程序然后再新建的窗体上添加两个编辑框,一个按钮把按钮标题改为发送并把第一个编辑框的是否允许多行属性改为真后再把滚动条设置成纵向滚动 ...

本次我们要用到的软件是:易语言。

首先,打开易语言,新建一个windows窗口程序

然后再新建的窗体上添加两个编辑框,一个按钮

把按钮标题改为发送

并把第一个编辑框的是否允许多行属性改为真

后再把滚动条设置成纵向滚动条

接下来开始写代码,双击按钮1

第一步,我们需要判断用户是否没有输入就直接点击按钮,所以代码为

由于这是一个聊天机器人程序,所以本程序核心就是能根据用户输入的内容返回不同的数据。

所以,我们新建一个子程序,子程序名为机器人,返回值设置为文本型,添加一个参数,类型为文本型

接下来,我们可以上百度搜索机器人API,当然也可以用本地词库进行处理,这个下次会讲到

我们随便找个接口

接着键入以下代码

由于http读文件返回的是一个字节集的数据,所以我们把转换到文本,然后赋值给a

这样就行了吗?我们返回a来调试一下

这时候我们发现程序返回了一段我们看不懂的文字,这是由于编码不一致所造成的,接口所使用的编码格式为UTF-8,而易语言默认的编码格式为GB2312,所以出现了这种状况,我们用编码转换这个命令转换下编码,这个命令一共有四个参数,前三个为必须,最后一个可以省略。

这个命令第一个参数为欲转换的数据,为字节集型;第二个参数为转换前的编码,第三个参数为转换后的编码。由于第一个参数的类型为字节集型,所以我们可以这么写

然后再把这个编码转换后的结果转换到文本,赋值给a

这样写,这时候我们发现机器人答非所问,哪里出了问题?

原来,我们光顾着翻译机器人说的话了,却忘了把自己的话翻译一下,所以我们要把自己说的话转一下码再给机器人

这时候机器人就能正确地回答我们的问题了

最后,我们要让编辑框1像聊天框一样能显示我们自己和机器人的聊天记录,所以要在按钮1的单击事件下的判断分支写上

以上是你的发言记录,机器人的发言记录可以这么写

好的,接下来我们就正式试试和机器人聊下天

这时候我们发现,机器人所说的话前面和后面带有奇怪的东西,由于机器人接口返回给我们的是JSON数据,而易语言解析JSON要安装另外的支持库或使用模块,所以我们可以用易语言自带的子文本替换命令把这东西替换掉。

首先,我们新建一个文本常量,把刚才的那段东西复制进去

然后,把机器人所说的话赋值给一个变量,再分别使用子文本替换替换掉常量1和常量2

大功告成!

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除
1

路过

雷人

握手

鲜花

鸡蛋

刚表态过的朋友 (1 人)

  • 路过

    匿名

最新评论

返回顶部