知识表示:很多个臭皮匠锤烂一个诸葛亮

导读

我从短暂的人生当中学到一件事:越是玩弄计谋,就越会发现人类的能力是有极限的,除非超越人类。所以,我不做人了!(拿出知识表示)

定义

皮归皮,该讲的东西还是得讲清楚。为什么说知识表示能够超越人类?不难发现,在人类历史长河中,如果一个问题一旦形式化模型化这个玩意就开始疯狂内卷一发不可收拾。火药传开到全世界之后,没多久就从观赏变成了杀伤;塑料发明后,马上就发现了环境危机;Web技术在上世纪末被提出之后,本世纪初就已经玩烂了;机器学习虽然一开始没被重视,才不到一百年,中国CV方向的 985 985 985 211 211 211硕士毕业生都已经找不到工作了……那么知识表示又是什么?也会被形式化然后结束内卷的一生吗?

知识表示是指把知识客体中的知识因子与知识关联起来,便于人们识别理解知识。知识表示是知识组织的前提和基础,任何知识组织方法都是要建立在知识表示的基础上。知识表示有主观知识表示和客观知识表示两种。

——摘自百度百科【知识表示】

说白了,就是将人类到目前为止所学到的所有知识全部用形式化的模型化的表达方式展现出来。如果成功了,或许不需要三个臭皮匠,只需要一台个人PC机哪怕是离线都能锤烂一个诸葛亮,更何况我们还能联网,还能并行计算,还能分布式集群……

意义

如果说知识表示除了能够超越人类还能干什么的话,那就是基于只是表示的知识组织了。

知识组织是揭示知识单元(包括显性知识因子和隐性知识因子),挖掘知识关联的过程或行为,最为快捷地为用户提供有效知识或信息。这些活动通常由图书管理员、档案管理员、专业人士或者计算机完成。

——摘自百度百科【知识组织】

实际上就是说,我们在实现了知识表示的基础之上,我们可以使用知识组织联系起来。就像是之前的一个梗:

一对色盲夫妇生下了一个不是色盲的孩子,于是丈夫离婚了。

乍一看,好像就是很平常的事情。结婚、生子、离婚。怎么了嘛?

但是知识组织就会把色盲的特点、人类染色体的特点、这个段子全部联系在一起:

由于在人类染色体上色盲基因在 X X X染色体上隐性表达,我们可以记为 X a X^a Xa。于是色盲夫妇就可以使用 X a Y X^aY XaY X a X a X^aX^a XaXa分别表示丈夫和妻子。于是剩下的小孩子如果是男性只能是 X a Y X^aY XaY,女性则只能是 X a X a X^aX^a XaXa,全都是色盲。而现在出现了不是色盲的孩子。

是不是突然感觉信息量爆炸?从科学的角度看,有可能是世界级欧皇,抽中了概率极低的基因突变;但是似乎更可能会怀疑丈夫被绿了吧?

凭什么能锤烂

你可能会说,诸葛亮和臭皮匠之间的差距实在是太大了,哪怕是全部的臭皮匠堆在一起也没有一个诸葛亮好,就像是很多个国内 C C C刊加起来怎么也比不过一个 S C I SCI SCI I I I区一样。

但是,在知识表示中,很多个臭皮匠堆在一起,就成为了一个巨大的智库。最大的优点,就是臭皮匠之间有一定的相似度,就像是有些学的工科有些学的文科有些学的理科,工科之间可以相互交流、文科之间可以相互交流、理科之间可以相互交流;同时理科文科之间协作可以实现更多的可能。

也就是说:

如果说一个诸葛亮都能考虑一些情况,那么很多个臭皮匠就能够在诸葛亮的前提之上,在多出更多的可能。一个诸葛亮算到了草船借箭,更多的臭皮匠一不小心还能量产来福枪。(大人,时代变了!

另一个很显著的优点就是:一个诸葛亮只能对少量几件事进行统筹规划,而很多个臭皮匠能够独立地思考问题,一个人思考少数几个,很多人思考相当多的问题。简直就是计算机集群了不是么?

要说的学术一点,那就是这样:

知识表示学习的优点:显著提升计算效率,知识库的三元组表示实际就是基于独热表示的,在这种表示方式下,需要设计专门的图算法计算实体间的语义和推理关系,计算复杂度高、可扩展性差。而表示学习得到的分布式表示,能够高效地实现语义相似度计算等操作,显著提升计算效率;有效缓解数据稀疏;实现异质信息融合。

——摘自知乎用户Kaikai​在知乎上发布的文章《知识图谱—知识表示(一)

设计思想

那么,知识表示是如何实现这些优势的?

我们都知道,普通的知识图谱都是三元组,也就是实体关系客体三个凑起来的元组。简单的根据元组的要求塞入我们所获取的数据集,也就只能单纯的推出来哪些实体和哪些实体有着一定的关系。就拿 J O J O JOJO JOJO来举例吧:

图片摘自贴吧用户七翼千羽XM(该账号已注销,所以没有链接)发布的帖子:尝试画了一下两个世界的JOJO家谱

在这里插入图片描述

从这张图里面你能获得什么信息?也就只是单纯的谁和谁有关系。这也是三元组知识图谱的局限。

那么,是不是还能够从各种各样的关系网中推理到什么东西?当然。还记得高中的时候学到的向量表示法吗?三维向量就是这么表示:

A ⃗ = ( x 0 , y 0 , z 0 ) \vec{A}=(x_0,y_0,z_0) A =(x0,y0,z0)

而知识图谱里面的知识也是使用三维向量表示的:

I ⃗ = ( 主 体 , 关 系 , 客 体 ) \vec{I}=(主体,关系,客体) I =(,,)

既然是三维向量,那么就一定能够使用矢量计算。剩下的问题既然能够变成使用数学模型解决的问题,那就算不上是问题了。

余弦距离

a ⃗ \vec{a} a b ⃗ \vec{b} b 构成夹角 θ \theta θ,那么 a ⃗ \vec{a} a b ⃗ \vec{b} b 之间的余弦距离就是:

d = 1 − cos ⁡ θ = 1 − a ⃗ ∗ b ⃗ ∣ ∣ a ⃗ ∣ ∣ ∗ ∣ ∣ b ⃗ ∣ ∣ d=1-\cos\theta=1-\frac{\vec{a}*\vec{b}}{||\vec{a}||*||\vec{b}||} d=1cosθ=1a b a b

当然,如果不是用在这里处理三维向量,而是求解高维向量之间的相关度,也可以写成:

d = 1 − ∑ i = 1 n A i ∗ B i ∑ i = 1 n A i 2 ∗ ∑ i = 1 n B i 2 d=1-\frac{\sum^n_{i=1}A_i*B_i}{\sqrt{\sum^n_{i=1}A_i^2}*\sqrt{\sum^n_{i=1}B_i^2}} d=1i=1nAi2 i=1nBi2 i=1nAiBi

这样或许更容易变成代码一些。

欧式距离

听起来就觉得应该是欧拉做出来的东西,然后马上想到了那个令人闻风丧胆的欧拉公式: e i x = cos ⁡ x + i sin ⁡ x e^{ix}=\cos{x}+i\sin{x} eix=cosx+isinx。是不是马上就开始头疼了?

放心啦,欧式距离实际上就是我们平常看到的距离公式:

d = ( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 + … = ∑ i = 1 n ( A i − B i ) 2 d=\sqrt{(x_1-x_2)^2+(y_1-y_2)^2+\ldots}=\sqrt{\sum^n_{i=1}(A_i-B_i)^2} d=(x1x2)2+(y1y2)2+ =i=1n(AiBi)2

如果你熟悉泛函分析,那么也可以将多元素元组看成多维列向量,写成下面的公式:

d = ∣ ∣ A − B ∣ ∣ 2 d=||A-B||_2 d=AB2

看起来更简洁不是吗?

共同点

两者既然是使用数学模型进行的处理,那一定是需要进行一定程度的量化的。就像自然语言处理中的情感标记图像分析中的态势感知等情境下对每一个样本进行人工标记一样。

不同点

既然摆在一起,那肯定是各有千秋,且能分别解决不同的问题。虽然两者都需要对向量进行一定程度的量化,但也有完全不相同的地方。

余弦距离能够将两个向量之间的差距使用角度表示出来,所以更注重方向上的差别,是两者间的相对差距;欧式距离能够将两个向量之间的差距使用坐标表示出来,所以更注重相对于统一的参考系的差别,是绝对的差距。这也意味着在依据相关性进行的知识推理中,余弦距离更占优势;而在推荐系统中根据观看次数进行的行为分析中,欧式距离更占优势。

用这些来解决问题

有了这些相关性计算方法之后,问题就好解决很多了。

你完全不是二次元也没有关系,如果把萌娘百科全部的知识用知识图谱联系在一起,那么就能够使用图谱进行相关性演算。如果搜索The World,就会看到JOJO的迪奥东方Project的咲夜。而如果只是单纯的图谱,那应该就只会出现迪奥,因为只有他说过这句话。

同样的,诸葛亮能够算出东风,不过是发现了一些容易发现的现象(当然在史实中这件事并不存在);而臭皮匠们则是实实在在的发现了相当多的现象,并且联系起来进行相关性分析,然后推算出了利益最大化的决策。看起来比诸葛亮厉害多了不是吗?

在实际中,也是有很多的用处。推荐系统中根据你的行为进行相关推荐,用的就是余弦距离,用的是物品之间的余弦相似度计算,不过大家听得更多的应该是协同过滤这个名词;同时在对视频网站中用户行为进行分析的时候往往会使用欧式距离,对更精细的播放量进行计算,判断用户是否是该视频网站的重度使用者,并以此为标准进行聚类(我也怀疑这是滴滴平台进行大数据杀熟的操作)。

是不是有点能理解了呢?

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ordinary_brony

代码滞销,救救码农

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值