当我们和计算机交互时,它看到的是什么?

计算机虽然有了人工智能的程序支持,但事实上也不能将其机器学习的功能等同于像人类那样。至少,到目前还不是这样。那么,向Google的图片识别或者Facebook的M应用等一类系统,它们是怎么能够理解自然语言或视觉的呢?下面,是人工智能系统Josh的自我独白:

简而言之,我们将单词和短语的含义以数字的形式储存在计算机上。目前,市场上有许多这类产品,比如将单词转换成向量形式的工具word2vec,该工具使用浅人工神经网络来计算文字嵌入。此外也有一些诸如记忆网络的技术,能够自主学习文本,进行一些简单有限的问答。

在过去的几年中,由于先进的人工神经网络算法有了许多惊人的成果,图像识别和数字信号处理技术异常火爆。但是相比较之下,同是人工智能领域的理解自然语言方面似乎显得困难得多,为什么呢?

自然语言处理本质上是另一种约束关系的问题

研究自然语言是困难的,很多时候甚至超过了我们的想象——因为语言永远不变的是改变,因为全世界有千万种语言……无论你的观点是什么,自然语言难以为算法所处理的最大原因是——我们没有足够多的样本。

确实,我们拥有大量的文本资源,包括书籍、博客、社交媒体等。但即便如此,我们得到的用以分析的文本相对来说还显得不足。看一看以下图片:

当我们分析音频数据,或者图像数据时,事实上我们得到的数据信息比人类意

识中的要多。以佳能5D Mark III相机为例,摄影领域的人通常会说这是一个令人尊敬的相机,因为它有着5760 x 3840的分辨率。因为每个颜色像数都分别由红、蓝、绿、α值(RGBA)来表示,所以每个像素拥有4个标准数值。在其原始格式当中,一张这种像素的图片大约含有 88.47 MB数据。相比较之下,莎士比亚的所有作品也只有4.4 MB。一个像数等于4个字节,一个字符则占一个字节。

这意味着:

1.解析文本的时候,每一个令牌(字词的NLP术语)更多的是影响文本的整体分析。

2.生成文本的时候,每一个被选出来的令牌才能影响结果。

换句话说,在文本当中,字符和令牌才是占据主要成分的元素,和像素不同。

好了,那我们是如何处理文本的呢?在一个严格的解析系统中,我们需要用数值格式来表示文本,提示为向量形式。现在我们还是要继续理解很简单的向量表示,而未来则可以处理更为复杂的表达了。

我们来以几个词组为例:

1.Turn on the lights(开灯)

2.Power on the lights(打开灯的电源)

3.What time is it?(现在几点?)

4.What is the current time?(当前时间是几点?)

我们需要做的是创建一个叫词典的东西。换句话说,我们想要将现有的词组用特有的令牌技术来创建一个词汇表。然后,我们需要对信息做一些隐式预处理,去掉标点符号等。最后,我们给每一个唯一码赋予其各自的索引,从而生成自己的词汇向量:

0 turn

1 on

2 the

3 lights

4 power

5 what

6 time

7 is

8 it

9 current

由于每一个字代表一个索引,因此我们可以使用反向散列数据结构来得到每个单词的索引,然后无论是否每一个字都是给定文本,我们都可以将这些字表示为一系列的布尔值(布尔值:是“真” True 或“假” False 中的一个)。比如,上述例句就可以表示为:

1.{ 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 }

2.{ 0, 1, 1, 1, 1, 0, 0, 0, 0, 0 }

3.{ 0, 0, 0, 0, 0, 1, 1, 1, 1, 0 }

4.{ 0, 0, 1, 0, 0, 1, 1, 1, 0, 1}

有了这些向量,我们可以使用向量点积得到一个粗略的相似度计算。所谓点积,就是接受在实数R上的两个向量并返回一个实数值标量的二元运算。

所以,上述前两个例句的点积就是:

1 * 0 = 0

1 * 1 = 1

1 * 1 = 1

1 * 1 = 1

0 * 0 = 0

0 * 0 = 0

0 * 0 = 0

0 * 0 = 0

0 * 0 = 0

0 * 0 = 0

这些数值加起来和是3。而如果将第一个和第三个句子做同样的处理:

1 * 0 = 0

1 * 0 = 0

1 * 0 = 0

1 * 0 = 0

0 * 0 = 0

0 * 1 = 0

0 * 1 = 0

0 * 1 = 0

0 * 1 = 0

0 * 0 = 0

那么和为0。这就是说,“Turn on the lights”和“What time is it”没有丝毫的相似。

你也许会发现,我们目前的词汇处理规模小到只有10个词。不过,未来当我们探索更多语义词嵌入时,我们还可以压缩向量,获得更准确的上下文理解和表达。

原文发布于微信公众号 - 新智元(AI_era)

原文发表时间:2015-12-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习算法与理论

城市计算

空间层次: 划分街道 不同区域 城市的区域、街道等这些地理信息里都蕴藏着明确的多层次的语义信息

1983
来自专栏原创

Python与R的争锋:大数据初学者该怎样选?

在当下,人工智能的浪潮席卷而来。从AlphaGo、无人驾驶技术、人脸识别、语音对话,到商城推荐系统,金融业的风控,量化运营、用户洞察、企业征信、智能投顾等,人工...

4369
来自专栏Hadoop数据仓库

HAWQ取代传统数仓实践(十二)——维度表技术之分段维度

一、分段维度简介         在客户维度中,最具有分析价值的属性就是各种分类,这些属性的变化范围比较大。对某个个体客户来说,可能的分类属性包括:性别、年龄、...

22610
来自专栏大数据挖掘DT机器学习

极简增强学习新手教程 返回专栏查看评论

“如何学习新技能?”这是一个全球科学家都在研究的基础问题。为什么会想要知道这个问题的答案呐,答对了好处都有啥呢? 因为一旦我们能够理解这一点,就可以实现一些前...

3055
来自专栏PPV课数据科学社区

「数据会说谎」的真实案例有哪些?你知道多少,知乎大神分享

问:「数据会说谎」的真实例子有哪些? 究竟是数据在说谎,还是逻辑在说谎?最好是你遇到的真实案例,你是如何判断数据表明的错误的? Han Hsiao答:[1600...

3315
来自专栏AI研习社

手把手教你用 R 语言分析歌词

翻译 | 刘朋 Noddleslee 程思婕 余杭 整理 | 凡江

1803
来自专栏AI科技大本营的专栏

面试定心丸:AI知识点备忘录(包括ML、DL、Python、Pandas等)

【导读】本期 AI科技大本营为大家精心整理了最全面的 AI 知识点备忘清单,包含机器学习、深度学习、Python 等各个领域。为了方便大家保存和随时学习,我们还...

1092
来自专栏CDA数据分析师

一位算法师工程师的Spark机器学习笔记:构建一个简单的推荐系统

推荐引擎应用场景: .用户有海量选择:随着场景内item越来越多,用户越来越难以选择到合适的产品 .个性化场景:在选择产品时,会借鉴那些与推荐用户相似地群体,...

2847
来自专栏PPV课数据科学社区

【学习】怎样分析样本调研数据

从一个群体样本中获取群体的整体特征是许多研究设计和统计方法发展的基础。根据数据收集的算法、调研问题的类型和调研的目标,分析样本调研数据的方法各不相同。这篇文章会...

4097
来自专栏自学笔记

Recommended System

推荐系统的核心问题就在于为用户推荐与其兴趣相似度比较高的商品。比如在微博上,用户至上想打发时间,并不是想准确的查看某条信息,在首页中查看每一条微博,为了帮助他筛...

1122

扫码关注云+社区