国外原帖:http://www.planetminecraft.com/project/albert-ai---a-self-learning-chatbot/
视频搬运:
[bili=8572631]1[/bili]
http://www.bilibili.com/video/av8572631
存档下载:
https://pan.baidu.com/s/1i5C38xB
实际运行图片:
这款AI能实现对话、自我学习的功能。
其中有关键盘操作、聊天框显示、文本储存、最佳匹配、自我学习算法原理都在视频中。
原理:
大部分原理的概况作者已经在视频中阐明了,具体算法看视频
下面是具体模块介绍(内容不说了,都是按照算法编写的指令,而且有很多枚举相当长,大家知道怎么运行的就行了)
视频中唯一没有涉及到的是模型动画。
其实模型动画就是修改了钻石锄头不同损害值时的模型,再加上高频修改AS头戴的钻石锄头的损害值让模型仿佛能动起来。
自我学习算法详解:
AI:hello!
AI:hello!
P:hi!
②使用检索算法(视频中交代了一种粗略的算法),在AI记录中查找"hi"。比如找到了完全匹配的结果"hi",再看对应的玩家记录,如果有多个玩家记录:"how are you?" "how's it going?" "how are you doing?",随机选取一个
AI:hello!
P:hi!
AI:how are you?
AI:hello!
P:hi!
AI:how are you?
P:I'm fine
②使用检索算法,在AI记录中查找"I'm fine"。比如找到了最优的结果"I'm OK",再看对应的玩家记录,如果只有一个:"glad to hear that",则直接输出
┋
重复上面的过程,你会发现这种自我学习其实就是以玩家的回复套玩家的回复,充实完善自己的数据库。
我们可以把它看作一个触发式复读机。
其实像现在市面上的各种聊天AI,都是这种自我学习算法。其性能高地只不过在于云数据库大小(决定储存多少组对话),还有检索算法的时间复杂度以及最优性(决定处理效率,以及对话搜索结果是否准确)。
因此这就是为什么你怼不过小冰,因为它从某些喷子那里获得了与你的话相匹配的结果,因此和你对怼的实际上是那些喷子。[groupid=546]Command Block Logic[/groupid]