⭐✔️
本帖最后由 贰逼 于 2017-2-13 21:45 编辑

国外原帖:http://www.planetminecraft.com/project/albert-ai---a-self-learning-chatbot/

视频搬运:
https://www.bilibili.com/html/player.html?aid=8572631&wmode=transparent&as_wide=1&page=1
http://www.bilibili.com/video/av8572631
存档下载:
https://pan.baidu.com/s/1i5C38xB

实际运行图片:







这款AI能实现对话、自我学习的功能。
其中有关键盘操作、聊天框显示、文本储存、最佳匹配、自我学习算法原理都在视频中。

原理:
大部分原理的概况作者已经在视频中阐明了,具体算法看视频
下面是具体模块介绍(内容不说了,都是按照算法编写的指令,而且有很多枚举相当长,大家知道怎么运行的就行了)

















视频中唯一没有涉及到的是模型动画。
其实模型动画就是修改了钻石锄头不同损害值时的模型,再加上高频修改AS头戴的钻石锄头的损害值让模型仿佛能动起来。

自我学习算法详解:
AI:hello!
接着玩家输入一个消息:
AI:hello!
P:hi!
①在AI记录中查找"hello",在玩家记录中查找对应的"hi",若两者只要有一个没有完全匹配的结果则在AI记录中新增"hello",对应匹配玩家记录新增"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记录中查找"how are you?",在玩家记录中查找对应的"I'm fine",若两者只要有一个没有完全匹配的结果则在AI记录中新增"how are you?",对应匹配玩家记录新增"I'm fine"
②使用检索算法,在AI记录中查找"I'm fine"。比如找到了最优的结果"I'm OK",再看对应的玩家记录,如果只有一个:"glad to hear that",则直接输出

重复上面的过程,你会发现这种自我学习其实就是以玩家的回复套玩家的回复,充实完善自己的数据库。

我们可以把它看作一个触发式复读机。
其实像现在市面上的各种聊天AI,都是这种自我学习算法。其性能高地只不过在于云数据库大小(决定储存多少组对话),还有检索算法的时间复杂度以及最优性(决定处理效率,以及对话搜索结果是否准确)。
因此这就是为什么你怼不过小冰,因为它从某些喷子那里获得了与你的话相匹配的结果,因此和你对怼的实际上是那些喷子。来自群组: Command Block Logic
2021.12 数据,可能有更多内容国外原帖:http://www.planetminecraft.com/project/albert-ai---a-self-learning-chatbot/

视频搬运:
https://www.bilibili.com/html/player.html?aid=8572631&wmode=transparent&as_wide=1&page=1
http://www.bilibili.com/video/av8572631
存档下载:
https://pan.baidu.com/s/1i5C38xB


实际运行图片:







这款AI能实现对话、自我学习的功能。
其中有关键盘操作、聊天框显示、文本储存、最佳匹配、自我学习算法原理都在视频中。


原理:
大部分原理的概况作者已经在视频中阐明了,具体算法看视频
下面是具体模块介绍(内容不说了,都是按照算法编写的指令,而且有很多枚举相当长,大家知道怎么运行的就行了)

















视频中唯一没有涉及到的是模型动画。
其实模型动画就是修改了钻石锄头不同损害值时的模型,再加上高频修改AS头戴的钻石锄头的损害值让模型仿佛能动起来。


自我学习算法详解:
AI:hello!
接着玩家输入一个消息:
AI:hello!
P:hi!
①在AI记录中查找"hello",在玩家记录中查找对应的"hi",若两者只要有一个没有完全匹配的结果则在AI记录中新增"hello",对应匹配玩家记录新增"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记录中查找"how are you?",在玩家记录中查找对应的"I'm fine",若两者只要有一个没有完全匹配的结果则在AI记录中新增"how are you?",对应匹配玩家记录新增"I'm fine"
②使用检索算法,在AI记录中查找"I'm fine"。比如找到了最优的结果"I'm OK",再看对应的玩家记录,如果只有一个:"glad to hear that",则直接输出

重复上面的过程,你会发现这种自我学习其实就是以玩家的回复套玩家的回复,充实完善自己的数据库。


我们可以把它看作一个触发式复读机。
其实像现在市面上的各种聊天AI,都是这种自我学习算法。其性能高地只不过在于云数据库大小(决定储存多少组对话),还有检索算法的时间复杂度以及最优性(决定处理效率,以及对话搜索结果是否准确)。
因此这就是为什么你怼不过小冰,因为它从某些喷子那里获得了与你的话相匹配的结果,因此和你对怼的实际上是那些喷子。

浆果Barry
=-=又一个NB的原理,看命令方块看的晕=-=

白天
组长吼~话说这就是原版中的聊天机器人吗!还有自我学习?是指还能教她东西完成更多功能吗?!

缇米莉娅
卧槽可以调戏AI吗?就像艾希一样【兴奋】

爱心魔王FHC
本帖最后由 FHC红石 于 2017-2-12 21:25 编辑

不行了太可怕了,居然把盔甲架的名字作为tellraw输出,太机智了
真的自我学习功能,还支持导入导出
能搞出中文就好了
还有更可怕的算法,感觉看不懂= =

NSkanzaki
= =666这个自我学习的脑洞可啪

1903863054






ruhuasiyu
自我学习……

我TM还能说啥……

hqqaazz
自我学习...在mc里实现了这东西,太可怕了

好尴尬...评分的时候打错字了

MY200378
Minecraft可以自己思考了,word的天!翻译要改成他的世界了!!!

彪悍的新手
讲真我每次有点思路就发作品了

langyo
弱人工智能………可以

目前就正在尝试钻AI的空,自己的笔记本已经写了很多东西,不过由于没高数的支持,所以基本都是一堆大概框架。

人工智能真要玩起来,梯度下降、损失率什么的在MC里实现运行效率会坑人的低,但这样子的话机器人会更聪明,至少不会回你那么多无意义的内容。

所以,@FHC红石 ,问个有趣的小问题,你愿意与一个快速的笨蛋在一起呢,还是与一个慢死人的天才在一起呢?(与此类似的问题我在两年前也发了一个XD)

pca006132
倒是想知道他是整个句子查找的还是会断字的,毕竟也可以相差很远。
还有会不会加权随机,看出现次数什么的

maxjkwang
可以很强势

w153140
英文硬伤,就不能汉化一下。。。。

6p3para
可以可以,,,e文捉急,求野生字幕君

唱片机
我想问一下视频的背景音乐是什么
很好听

qq1345695870
很帅很使用  加油啊楼主

qq1002441042
便是看着都头晕,更别说去做了= =

1348399773
饿6666666666

Neoxy
这个就有点厉害了...

🍓🍓🍓66
原来是这样

Build_egg
萌新震惊

QWQQWQTAT
自我学习。。。。。。恐怖如斯!