前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >当我们和计算机交互时,它看到的是什么?

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

作者头像
新智元
发布2018-03-13 18:21:06
6350
发布2018-03-13 18:21:06
举报
文章被收录于专栏:新智元新智元

计算机虽然有了人工智能的程序支持,但事实上也不能将其机器学习的功能等同于像人类那样。至少,到目前还不是这样。那么,向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?(当前时间是几点?)

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

代码语言:javascript
复制
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上的两个向量并返回一个实数值标量的二元运算。

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

代码语言:javascript
复制
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。而如果将第一个和第三个句子做同样的处理:

代码语言:javascript
复制
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个词。不过,未来当我们探索更多语义词嵌入时,我们还可以压缩向量,获得更准确的上下文理解和表达。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-12-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 新智元 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档