技术,推动知识的迭代更新
历史上每一次的知识大爆炸,后面都有技术的推动。那么,我们这一代的技术,要怎样去运用解决未来的学习问题。
大家好,我叫杨溥,我是得到的首席数据科学家。在过去十年的时间里,我一直在做和人工智能相关的事情。
大家都知道,得到是一家知识服务公司,做课程、做电子书、做跨年演讲。
去年,罗胖提了一个梦想——要建立一所为终身学习者服务的通识教育大学。然后,这个任务就交给了我们。
你可能要问:为什么建学校这件事,不是交给老师,也不是交给班主任,而是交给了我们程序员呢?
这是因为——历史上的每一次知识大爆炸,都是靠背后的工程师来搞定的。
就像蔡伦造纸,古藤堡发明印刷术,他们给全世界带来了知识。所以我现在的工作,就是要用我们这一代的技术,去解决未来的学习问题。
显然,这一代的技术,必然离不开人工智能的支持。
说到人工智能,我们生活中已经随处可见了,但是大家有没有发现一些问题。比如:我打开外卖平台点餐,系统在首页上给我推荐了日餐,但事实上,我已经连续吃了5天的日餐了;再比如:我打开电商平台购买了一件运动服,系统仍然会不停的给我推荐各种不同品牌的运动服,而实际上,为了下定决心去运动 ,我已经购买了6件运动服了。
这就是现在很多智能推荐系统和内容平台的做法,它在根据我过往的行为,预测我的喜好,并不停的给我推荐类似的商品和内容。
作为一个从业者,我会问自己: “得到也要这样做么?”
如果一个用户在得到上,已经学习了长时间的《薛兆丰经济学》,我们还应该反复的给他推荐经济学的内容吗?按照这种逻辑,他的首页,可能永远只会是这块内容了。
类似这样的人工智能方法,在学习领域并不能满足需求。特别是得到用户,是一群对未知有着强烈好奇心的人,他们的好奇心会驱使他们学习不一样的内容。
所以,得到面临的挑战,是全新的。
今天,我想给大家分享的是一个内部称做“得到大脑”的项目。
在上台之前,我问过公司的法务,这个项目可以披露吗?他们说:反正一时半会你也做不出来,随便你。
一、“得到大脑”
什么是“得到大脑”呢?
得到大脑就是:期望通过技术的手段,来尽可能的改善大家的学习体验——就像给我们的大脑,增加了一个外挂。
前段时间,我接待了一个得到的重度用户,她给我详细的介绍了 她在得到里的学习历程:
最初她是被薛兆丰的经济学课吸引了进来,学完经济学之后,就想去学金融学。学金融学的时候,当看到非理性的股市时,就想去了解心理学对人决策的影响;之后,她又想去了解更底层的生命科学。她说她最近正在学习王立銘老师的课程,并且因为对生命产生了敬畏,已经在小本上列了下一步的计划,那就是学习高爽老师的天文学。
你看,这个过程就有点像我们的学习过程——最开始只是黑暗中的一团小火苗,但是因为知识之间的互相关联,从而变成了熊熊烈火,点燃了我们的探索之路。
这也正是终身学习和传统的学校学习不一样的地方: 它不是一个线性的,越来越专业的学习,而是在不断扩大你的知识范围。
当然,刚才只是她一个人的探索路线,每个人的探索道路都会不一样;但“探索”不是“搜索”,得到大脑的目标不是做一个更好的搜索引擎,而是去给每个用户都展示一个“可以自由探索”的知识世界,帮助用户完成自己的探索。
长期思考的人都知道:要想让自己的认知能力突飞猛进,很多时候不是因为你搜集了多少信息,而是在你探索的时候。有个瞬间,你突然意识到了一个从来没有想过的维度,知识和知识之间突然产生了化学反应。
所以,得到大脑第一步想要完成的,就是要借助机器的力量,给每个人配上一个学习助理,然后从各种维度,主动的帮你将所有相关的信息整合在一起,再传达给你。
但是,新的问题又来了:
目前,以深度学习为主的人工智能技术,我们称作为感知智能,它还无法完成这样的工作。
接下来,我们需要达到认知智能的水平,也就是让机器“能理解,会思考”,而知识图谱就是认知智能中最核心的技术。
二、知识图谱
知识图谱这个概念,最早是在12年由谷歌提出来的,主要用来提升谷歌的语义搜索服务能力。今天,当你搜索一个问题,比如“C罗的生日”,它给出的不仅仅是关键词匹配的结果,它还会给出具体的生日日期,C罗的百科介绍,甚至还有c罗在球队中的统计资料。
现在,当有了知识图谱,再结合虚拟现实的技术,我们就可以想象出未来学习的场景了。
比如,你想了解苏东坡这个人。
你只需要一个入口,然后,你就可以跟着他的脚步,知道他哪一年走出四川,哪一年走进开封,哪一年被贬黄州,哪一年写了《赤壁赋》;每一年遇到了什么样的人,做了什么样的事,写了什么样的诗词。这每一个人、每一件事、每一首诗,过往的学者对它们做了什么样的研究,写出了什么样的著作。你现在所在的地方,和苏东坡当年待过的地方,相距有多远。他的遗作,藏在了你身边的哪一座博物馆里……
过程中,你突然对曾经看不惯苏东坡的王安石,产生了兴趣,你可以继续跳转到他的视角,开启新的知识探索。
你看,整个过程,你不是在学习苏东坡,而是在代入苏东坡。
好了,那这一系列的场景,它背后的知识图谱是什么样的呢?
围绕着苏东坡,我们从时间、空间、人物、作品等各种各样的维度,构建了这样的一张知识图谱。
它类似于思维导图,但是它具有更规范的层次结构,和更强大的知识表示能力。为了构造知识的基本框架,知识图谱除了包含实体之外,还需要包括概念、属性、关系这些信息。
因为人的认知过程,正是不断用这些概念、属性和关系去理解世界、解释世界。
《福尔摩斯探案集》的作者亚瑟•柯南道尔有句名言:
“一个逻辑学家,不需要亲眼见过或听过大西洋和尼亚加拉大瀑布,他从一滴水中就能推测出它们。”
知识图谱也是如此——它采集碎片化的信息和数据,然后按照标准化的方式加以整理,再将各种看似不相关,但背后有着共同联系的信息关联起来。
好了,确定完技术方向,下一步,我们该如何构建一个面向学习者的知识图谱呢?
首先,需要确定知识图谱的构建范围。
显然,在知识服务领域,我们将会围绕“通识教育” 和 “学科教育”,去构建一个领域知识图谱。
接下来,我们需要填充知识图谱中的内容,主要是两块内容:
- 第一块,是以“知识点”为中心的实体内容,比如一些专业术语、历史人物、著作等等。
- 第二块,就是这些知识点之间的关系内容。
这些内容需要借助大量的自然语言处理技术,甚至辅助一定的人工手段,从海量的结构化数据数据、非结构化的文本中挖掘出来。比如:对于知识点的挖掘,我们会用到“领域词挖掘”、“命名实体识别”这些技术。
对于关系的挖掘,我们会用到“事件抽取”、“关系抽取”的技术。其中,“事件抽取”是从文本中抽取出重要的事件信息,比如:事件发生的时间、地点、人物、原因等等,然后再将这些信息 与 知识点相关联。
知识图谱中的知识,会按照前面的步骤不断的进行扩充。这个过程,我们还会结合“知识融合”相关的技术,用来消除歧义信息,保证只有高质量的知识才可以进入图谱。
当知识达到一定量级以后,就可以开始知识的探索之旅了。
三、学习路径
事实上,借助“实体链接”的技术,机器就拥有了“理解”的能力。当你提出一个问题,问题中的信息就会和图谱中的信息链接起来。接下来,你可以在其中任意的穿梭,发现一个又一个有兴趣的关联。这个过程,就像是今天你喜欢的逛商场、打游戏。
可更多的时候,当你面对一个新领域,我们是没有明确目标的;尤其是当你学习的范围越来越广,涉及的领域越来越多的时候,你就越觉得自己无知,这也是学习最大的难题。
更高效的做法,不仅是要让机器理解知识,还要能够懂你、了解你,让你知道先学什么、后学什么。
这也是为什么很多时候,当你想要快速的学习一个新的领域,你会找到这个领域中最专业的朋友进行沟通,因为他既懂专业知识,也懂你。
所以,得到大脑第二步想要做的事,就是着手研究,如何为学习者量身打造合适的学习路径 。
首先,我们需要去挖掘知识的脉络结构 ,比如:知识点的前后依赖关系、上下位关系、从简单到复杂的递进关系等等。
目前我们也正在和国内的高校团队进行合作,目标是从高质量的图书中挖掘出这些关系,并将这些关系按照一颗颗“知识树”的形态来构建。
接着,就是在这颗知识树上,找到用户的定位。
一方面,对于老用户,我们可以根据他的历史阅读记录、搜索记录,了解他对知识点的掌握情况,并映射到对应的知识树中。
另一方面,对于新用户,我们可以提供一些标签入口,让用户自己选择一些感兴趣的领域,然后不断收集他的行为记录。
当用户了解了自己的定位以后,学习上就可以更容易的进行取舍了。比如:哪些知识又是仅限于目前的了解就够了的,哪些知识是必不可少的,哪些知识又是要继续深入学习的。
所以,这就是“得到大脑”正在开展的两个方向。未来,当你带着问题来到得到,AI会为你找到问题相关的知识,并在小范围内呈现给你。当你面对一个新的领域,不清楚 该学习什么的时候,AI会为你推荐合适的学习路径。
你可能要问我,什么时候能用到这些东西,现在我还不能明确的告诉你。但我能明确的是:当你用上这些功能的时候,我们已经在探索更远的方向了。
好了,刚才的那些技术细节,可能并不是很好理解,但是没关系,实际上我想讲的是:我们正在努力做的这件事,就是为了让你的探索更自由。
谢谢大家。
本文为得到的首席数据科学家 杨溥在“得到3周年开放日”的分享,由得到APP授权发布
本文由 @得到 授权发布于人人都是产品经理,未经作者许可,禁止转载
题图来自Unsplash,基于CC0协议
作者暂无likerid, 赞赏暂由本网站代持,当作者有likerid后会全部转账给作者(我们会尽力而为)。Tips: Until now, everytime you want to store your article, we will help you store it in Filecoin network. In the future, you can store it in Filecoin network using your own filecoin.
Support author:
Author's Filecoin address:
Or you can use Likecoin to support author: