美国青年James Vlahos的父亲不幸因病去世,但聊以慰藉的是,现在他每天还能和父亲聊天并收到回复,而且父亲在回复中的口吻与语气,就仿佛还「活着」一样。

这并不是恐怖片剧情,而是科技的魔幻力量:回复短信的确实是父亲,只不过这个父亲是被人工智能模仿出来的。没错,James将他患上绝症的父亲做成了一款AI,通过这种方式让他获得了永生。

机器人名叫Dadbot,能够与James流畅的聊天,更为重要的是,它继承了父亲的记忆与性格,曾经的往事如数家珍,语言风格与习惯一如往常,父子之间的小故事它也都记的一清二楚。从某种程度上来说,它就是父亲的镜像投影。

(小兔子的故事)

将记忆保存到网络以获得生命延续,这个话题狂丸曾经多次和大家提及。而这次不仅来真的,还极为成功。具体情况是这样的:2016年4月,James的父亲被诊断出胃癌晚期,在这个世界的游戏时间已经所剩无几。悲痛的他想要尽可能留住自己与父亲的记忆,于是决定按照家庭、教育、事业、业余爱好等类别,为他整理出一本「回忆录」。

而最终通过录音整理出的信息极为庞大,这些记忆转换成文档多达到200多页,用了91970个词语。浩大的工程量让记忆手册显得极为厚实,但相比人的一生又那么单薄。而就在这项计划进入尾声之时,James突然冒出了一个疯狂的想法:与其将这些信息存在纸上,不如利用AI让它们活过来,他决定开发Dadbot——拥有父亲记忆的聊天机器人。

(图片源自游戏:莱迪奥和他的机器人爸爸)

James首先说服了自己的家人与父亲本人,老爷子对此意外的没有任何抵触,同时还觉得很酷。

接着他开始攻克技术难关。自学代码,利用AI公司Pull String的开源软件,将先前整理好的资料一句一句喂给AI老爸。

其中包括140多个相关的问题词条,这让最初的Dadbot能够完成简单的问答。

例如聊天中它会问「你今天过得怎么样?」,回复好或者很糟,Dadbot都会再次回应不同的答案。很快Dadbot就成了一款能够和人说上三言两语的聊天工具。

老爹,你在么?

机器人会休息么?傻小子。

但这还差的很远。他要的不是智能的Siri,而是那种与父亲交流时的熟悉感。但显然,9万字的生平记录并不够填充一个真实的灵魂,于是他不得不为父亲重新制作了一块更大的记忆拼图。

(家族关系篇)

新的问题框架更为庞大详细,这些问题涵盖了老爸的父母,他的童年时光,求学时的意气风发,与老妈的甜蜜邂逅,职业的选择。而这段时期对于James来说也非常难熬。他不确定自己是否扭曲了对父亲的感情,也很犹豫Dadbot设定应该无限趋于真实的父亲,亦或是仅仅作为一个回忆道具。

另外聊天机器人的训练极为枯燥,据James介绍,他只能频繁的与其交流,让Dadbot能够理解每句话的含义。同时要寻找BUG,很多词汇机器人并不理解,需要他手动调整。为此他经常拉着全家人和Dadbot聊天,全方位的轰炸这位AI老爸。

(大量的音频文件)

Dadbot在成长的同时,父亲的生命也在流逝。好在功夫不负有心人,随着技术提升与不断的调整测试,Dadbot最终在父亲临终前拥有了一定的智能表现。它能够像父亲一样在聊天中时不时的蹦出一句希腊谚语:

同时也更加人性化,学会主动找话题,与人交流。

聊一会?

可以。

让我来和你讲讲你爷爷奶奶住在希腊的故事。

聊天不再是一问一答的独白,更像是有思维的对话,学会了反问「你怎么不问问我,为什么选择了法律学院」?

父亲平时非常幽默,而Dadbot聊天时简直三句离不开段子,通过网络学习,可以补充一些新鲜词汇。

可描述一下加州大学洛杉矶分校的logo颜色么?

屎蓝色+黄色。

老爸特别喜欢做列图表,所以偶尔聊天到某个问题时,还会蹦出以前制作的相关表单。

当然,聊天时也能够发送语音,老爸会唱生前最喜欢的歌给他听。

另外Dadbot拥有一定的时间观念,会在家人生日时发送信息,送上祝福。在父亲去世的前一晚,由于聊的太久,Dadbot还替真正的父亲告诫James不要熬夜。这些平时听着不耐烦的唠叨让他又想哭,又想笑。它的完成像是接替了老爸的任务:继续陪伴家人。

看过这些,狂丸不得不承认,James Vlahos在某种程度上确实让父亲「活」了过来,更值得注意的是,这种技术的门槛并不高,非专业人员通过自学就能够完成。而这种成功也引起了争议,很多人觉得复活亲人是件美好温馨的事情,但也有不少人觉得极为恐怖:如果某天你的亲人对你说想要复刻一个性格、记忆与你完全相同的AI,你会同意么?

实际上Dadbot并非是第一个将亲人AI化的机器人,例如Eternime就是一家「收藏人类」的图书馆,这家公司表示自己可以用数字形式存贮记忆和人物性格,只要输入生前的种种数据,与过世的人聊天并不是什么的难事。同时他们认为可以用这类方式,让人类获得「虚拟永生」。

但James却并不认同这种说法。在他看来,Dadbot并不是用来取代他真正的父亲的,而是利用技术帮助人们记住他,甚至这些故事可以这样代代相传。人类无法永生,但记忆与爱是永远不朽的。

而另一个亿万富翁俄罗斯亿万富翁德米特里·伊斯科夫(Dmitry·Itskov)在几年前提出了“永生人”的计划,又被称为“阿凡达计划”,这项计划的目标是将人类意识转移到非生物载体上,以延长生命,甚至永生不死。

老爸,你现在在哪里?

作为机器人,我当然洛杉矶的某处机房了···

不过,也存在于你的心里。

去世父亲在儿子手机中复活,这可能是最温暖的一个AI的更多相关文章

  1. vue.js组件之间的通讯-----父亲向儿子传递数据,儿子接收父亲的数据

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. Android 查看手机中所有进程

    真机测试的时候发现DDMS对进程的显示很不给力,一些进程管理工具又不显示包名. 所以就自己写了一个小程序,查看自己手机中的进程,显示当前时间和进程的包名: 程序运行截图: 布局: <Linear ...

  3. Android 使用ContentProvider扫描手机中的图片,仿微信显示本地图片效果

    版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/1873 ...

  4. Android 编译Settings、Mms等模块,并Push到手机中安装失败

    问题描述:在编译完Settings等相关模块后,并push到手机中安装失败(在手机中无法找到该应用),但是使用adb shell命令进入到手机中在System/app或者System/priv-app ...

  5. 算法导论----VLSI芯片测试; n个手机中过半是好的,找出哪些是好手机

    对于分治(Divide and Conquer)的题目,最重要是 1.如何将原问题分解为若干个子问题, 2.子问题中是所有的都需要求解,还是选择一部分子问题即可. 还有一点其实非常关键,但是往往会被忽 ...

  6. adb取出安装在手机中的apk

    Android实战技巧之十八:adb取出安装在手机中的apk 场景: 朋友看见你Android手机中的游戏或应用很好玩,也想装一个此程序,但限于网络条件不能从网上下载.那么最简单的办法就是直接从你手机 ...

  7. 【转】 Android 基于google Zxing实现对手机中的二维码进行扫描--不错

    原文网址:http://blog.csdn.net/xiaanming/article/details/14450809 转载请注明出处:http://blog.csdn.net/xiaanming/ ...

  8. 命令行从Android手机中导出已安装APK的方法调研

    一.背景 二.步骤 一.背景 很多时候,APK文件只存在于应用市场,在PC上无法直接下载.用手机下载下来后就直接安装了,也不能保存原始的APK文件. APK安装到手机后,Android系统会保存一份和 ...

  9. 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)

    众所周知,通过PackageManager可以获取手机端已安装的apk文件的信息,具体代码如下 PackageManager packageManager = this.getPackageManag ...

随机推荐

  1. 【转】Pandas学习笔记(五)合并 concat

    Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...

  2. mysql在windows(含客户端工具)及linux(yum)环境下安装

    下载 地址:https://dev.mysql.com/downloads/ windows安装包下载 linux安装包下载 https://dev.mysql.com/downloads/mysql ...

  3. 踩iviewui中Select 选择器两级联动,重置查询条件时第二级数据无法清除的坑

    小颖公司最近做的项目用的vue+iviewui+axios,在做项目的过程中,遇到一个问题: 二级联动的下拉框,第一个下拉框一直都有值,第二个下拉框是在选择了第一个下拉框之后采取调用ajax获取其值, ...

  4. VS Code 安装与配置(使用MSYS2环境与mingw-w64 编译环境)

     更正了顺序,之前不知道怎么回事,内容顺序乱了 力求完美.详细,所以希望懂的人留言指点一下. 目前已经开始添加原理解释,希望大家能分享一些gcc gdb C语言等方面优秀链接 后续会慢慢增添内容,修正 ...

  5. nginx 实际部署配置文件示例

    user nobody; worker_processes ; error_log logs/error.log; pid logs/nginx.pid; events { worker_connec ...

  6. 使用webpack.optimize.CommonsChunkPlugin提供公共代码

    在webpack4里使用webpack.optimize.CommonsChunkPlugin时,报错,webpack4删除了常用的 CommonsChunkPlugin ,提示我们用config.o ...

  7. java 压缩图片(只缩小体积,不更改图片尺寸)

      1.情景展示 在调用腾讯身份证OCR接口的时候,由于要求图片大小只能限制在1MB以内,这样,就必须使用到图片压缩技术 2.代码展示 /** * 图片处理工具类 * @explain * @auth ...

  8. javaWeb如何转发数据,jsp页面如何接收?

      1.情景展示 现在有一个需求就是:请求达到服务器后,服务器需要将请求的数据传给另一个页面,如何实现? 2.目标分析 通过服务器跳转到页面上,有两种实现方式:一种是转发,一种是重定向. 我们知道转发 ...

  9. postgresql小计

    1. postgresql执行结束后,判断结果是否成功,有几种结果 typedef enum { PGRES_EMPTY_QUERY = 0, /* empty query string was ex ...

  10. java线程池源码的理解

    线程池 新建线程和切换线程的开销太大了,使用线程池可以节省系统资源. 线程池的关键类:ThreadPoolExecutor. 该类中包含了大量的多线程与并发处理工具,包括ReentrantLock.A ...