PDF 物理页索引 530
文件中的第 531 页 · 印刷页码:未识别
很多人会通过看电视剧或者电影来打发时间。在看电视剧或电影的过程中,我们能够轻而易举地分辨出电影电视剧中的主角和反派。近几年来,随着人工智能的视频识别不断发展,人工智能也变得和人类一样,在看电影和电视剧的时候,能够分辨出哪些是“好人”,哪些是“坏人”。并且通过这个功能,人工智能还可以对视频中的人物进行社交分析。
PDF 物理页索引 531
文件中的第 532 页 · 印刷页码:未识别
那么,人工智能是怎样做到从视频中分析人物之间的社交关系的呢?首先,通过观察可以发现:在与不同的人的交往过程中,人们选择的交互方式也是不同的。比如说,在日常生活中,一个人与比较亲密的同事、恋人之间的交互方式,和与疏远、有敌意的人之间的交互方式,往往是不同的。所以我们就定义了一个指标,叫作结合信号(grouping cue),它能够决定不同人物之间更可能属于何种关系(如亲密或疏远,友善或敌意等)。
然后,在视频中的每一个场景中提取相应的特征向量,通过有标记的训练数据和机器学习模型,学出人物间的结合信号,然后通过模型把这些结合信号整合起来,形成一个人物间的社交网络。有了社交网络,就可以分析人物中有几个社区和每个社区的领袖是谁。人工智能对电影和网络视频中的人物进行社交分析后,能够分辨出视频中有几组人,每组人的领袖是谁。如图4-17,在电影《加勒比海盗:黑珍珠号的诅咒》(左上、右上)中,左边是善良的一派,领袖是杰克·斯伯洛;右边是阴险的一派,领袖是巴伯萨。在电影《哈利·波特》(左下、右下)中,左边的是正义的一派,领袖是哈利·波特;右边是邪恶的一派,领袖是伏地魔。
PDF 物理页索引 532
文件中的第 533 页 · 印刷页码:未识别
PDF 物理页索引 533
文件中的第 534 页 · 印刷页码:未识别
图4-17 视频中人物的社交分析示意图
语音理解
每天我们都听到的声音,在计算机中是以时间序列存储的。也就是说,在计算机中,声音是一串随着时间变化的数字,这串数字代表了在一个时刻声音信号的强弱。就像理解图像和视频一样,人工智能理解音频首先要提取特征。音频的特征主要包括:时域特征和频域特征。时域特征比较好理解,就是在信号时间序列上加工得到的对其的直接描述,包括信号幅度和信号能量等。其中,信号幅度是指信号上下波动的范围,信号能量一般与信号的振幅和持续时间有关。
要想理解频域特征,就不得不提傅立叶变换。傅立叶变换是一种分析信号的方法,它可以分析信号的成分,也可用这些成分合成信号。傅立叶变换,能将满足一定条件的函数表示成不同频率正弦或余弦函数的线性组合。在不同的领域,傅立叶变换具有多种不同的变体,例如连续傅立叶变换和离散傅立叶变换。音频信号的傅立叶变换为我们提供了一种极佳的表示形式。
计算频域特征需要先把信号进行傅立叶变换,然后才能生成频域特征。频域特征主要包括基础频率、频率组成、频谱中心、频谱流量、频谱密度等。因为不同的正弦或余弦函数对应了不同的频率,而频域特征是对音频的傅立叶变换的描述,所以被称作“频域”。频谱是频率的分布曲线,可以表示一个信号是由哪些频率的弦波组成。
跟图像一样,音频数据也可以切分,上述音频特征就可以用在音频分割中。与直观的图像分割不同,音频分割有两种类型:第一种是在时间上将音频切分成几段,每段包括了特定的声音信息,例如对话、音乐、动作声响、环境声响等,这是时间上的分割;第二种是把音频中同一时间叠加的声音分割开,产生若干个并行的音频流,分别对应各自的声源。这种分割对应的是音频信号在各个时间和频率上的分割。
PDF 物理页索引 534
文件中的第 535 页 · 印刷页码:未识别
音频理解的一个广泛应用是语音识别:亚马逊的Alexa、小米的人工智能音箱“小爱同学”、机器人玩具、自动客服等场景中都在使用。那么,语音是如何转成文字的呢?图4-18显示了语音识别的全过程,这一过程通常有以下几个部分。
首先,是声学模型,声学模型是语音识别系统的重要组成部分。声学模型需要从语音数据中提取MFCC(梅尔倒谱系数)特征。对人耳听觉机理的研究发现,人耳对不同频率的信号有着不同的听觉敏感度,其中,从200Hz到5 000Hz的信号对语音的清晰度影响最大。并且,对于人耳而言,低频音容易掩蔽高频音,高频音不易掩蔽低频音。基于这样观察得到的特征,MFCC特征表示,在噪音较高的环境里,MFCC特征仍然具有较好的语音识别性能。根据MFCC特征建立的GMM-HMM模型(高斯混合—隐马尔可夫模型),可以作为语音识别所需的声学模型。其中GMM用于对语音声学特征的分布进行建模,HMM则用于对语音信号的时序性进行建模。这组GMM和HMM结合的模型,不但能捕捉单个MFCC特征,并且能够体现MFCC在时间上的变化,从而模拟出人耳对声音的感知。
PDF 物理页索引 535
文件中的第 536 页 · 印刷页码:未识别
其次,是语言模型,可以通过训练文本数据学习N-gram模型(N元模型)。不论在哪一种语言中,词的出现都是有统计规律的,比如当我说“柳暗花明”这个词时,你想到的下一个词是什么呢?我想大家很有可能会想到“又一村”,基本上没有人会想到“又一花”或者“又一树”吧。N-gram模型的主要思想就是这样的,它能够根据统计规律预测出一个词的前后内容。常用的是建模两个连续词的Bi-gram模型和三个连续词的Tri-gram模型,分别对应二元和三元的N-gram模型。有了这些模型之后,给定一个语音的输入,在生成特征后,通过声学模型、语言模型和已知的字典(也就是我们有哪些候选词作为输出),进行计算和搜索,语音识别系统就可以产生相应的文本输出。
目前,在环境安静、发音标准的情况下,语音识别模型已经完全可以对语音进行识别了,而且识别的准确率很高。但是这种准确率是有条件的。不论哪一款语音识别软件,如果将其放置在一个嘈杂环境下,或者当使用者的普通话不标准、带有口音时,语音识别的准确率都会大打折扣。提高在不同环境下通用语音识别的准确性,是语音识别一直以来的发展方向。
我们赞美天的湛蓝,海的宽广;我们歌颂诗的美妙,曲的动听。何其有幸,我们一出生就拥有看见、听见这个世界的机会。我们拥有感知这个世界的能力,人工智能因我们而生,我们帮助它更好地去体会这个世界。现在,海量数据驱动下的图像识别、视频识别、音频识别给了人工智能这个机会。也许人工智能并不理解在一层层模型下产生的技能到底代表了什么,但却能够帮助我们真正地实现“眼观六路,耳听八方”。
PDF 物理页索引 536
文件中的第 537 页 · 印刷页码:未识别
AI理解自然语言
自然语言通常是指一种自然地随文化演化的语言,例如汉语、英语及其文字。自然语言可以表情达意,是人类沟通交流的工具,同时也能促进人类思维的发展。对自然语言的理解是人工智能的一门重要功课。同时由于自然语言的复杂性和多样性,对于自然语言的理解和处理也充满了挑战。但是我们在日常生活中并不常用“自然语言”这个词,自然语言是一个抽象的概念,我们一般从它的具体形式——文本,展开研究。
要想理解文本,首先就要理解文本的特征。BOW特征可以帮助我们更好地理解文本特征。BOW全称是Bag of Words,也就是词袋模型,它是自然语言处理领域常用的一种文本表示方法。在使用BOW特征的过程中,需要将每篇文章都看成一个“袋子”,这个“袋子”里面装的都是词汇,所以称之为词袋。BOW最初是用于文本分类的,它通过将文本表示成特征向量来实现文本的分类。它的基本思想是忽略文本中的词序、语法和句法,只将文本看成是词汇的集合,而且文本中的每个词都是独立的。举个例子,有如下两个文本:
文本一:Alice likes to play basketball, Bob likes too.
(艾丽斯喜欢打篮球,鲍勃也喜欢。)
文本二:Charlie likes to play tennis.
(查利喜欢打网球。)
基于这两个文本,构造一个词典:
词典={1.“Alice”,2. “like”,3. “to”,4. “play”,5.“basketball”,6. “Bob”,7. “too”,8. “Charlie”,9.“tennis”}。
PDF 物理页索引 537
文件中的第 538 页 · 印刷页码:未识别
这个词典由9个不同的单词组成,利用词典的索引号,上面两个文本分别可以用一个9维向量表示,下列整数表示的是某个单词在文本中出现的次数,见表4-2:
在上述例子中,向量中每个元素表示词典中相关元素在文本中出现的次数。但是通过上表我们可以发现,在构造文本向量时,并没有体现单词在原来句子中出现的次序。这是BOW表示的缺点之一,不过这并不影响人工智能对于这一文本的理解。试想,如果一篇文本中人群、大厦、银行、商场这样的词汇多些,而牛、羊、山谷、稻田这样的词汇很少,即使没有按照顺序排列,我们也能做出一个大致判断,得出它是一篇描绘城市的,而不是描述乡村的文本。
假定现在有一个很大的文本集合,里面有许多的文本,我们将文本里面的所有单词提取出来,构成一个包含N个单词的词典。通过BOW特征,每个文本都可以被表示成为一个N维向量,而人工智能非常擅长于处理数值向量。这样,我们就可以通过BOW特征来完成海量文本的分类以及其他任务了。
PDF 物理页索引 538
文件中的第 539 页 · 印刷页码:未识别
但是,BOW特征有一个缺点,就是它无法反映出一个句子的关键词。比如上面的文本一中,“like”出现次数最多,若根据BOW特征提取 这 个 句 子 的 关 键 词 , 则 为 “like” , 但 是 这 个 句 子 中 的“basketball”也很重要,这是BOW无法准确提取出来的。我们用TF-IDF可以很好地解决这个问题。
TF-IDF也是一种常用的文本特征的表示方法,它的主要思想是:如果某个词在一篇文章中出现的次数高,并且在其他文章中很少出现,则认为这个词是该文章的关键词,通过关键词就可以很好地对现有文本和其他文本进行区分。在TF-IDF中,TF是词频,termfrequency;IDF是逆文档频率,inverse document frequency。在这个特征中,需要将词频和逆文档频率相乘得到对应词的特征值。
TF表示词条在一个文本中出现的频率,在一个文本中出现次数越多,这个词的TF值就越高,就说明它对该文本越重要。IDF反映了词条在所有文本中出现频率的逆向值,如果一个词在很多的文本中都出现了,那么它的IDF值就会低。相反,如果一个词很少在文本中出现,那它的IDF值就较高,说明这个词具有较强的代表性。两者的乘积可以用在特征向量中作为数值来表示一个词,从而改进BOW形式的表示。由于TF-IDF能够准确找出文本中的关键词,所以特别适合用来进行文本相似度对比、文本分类、信息检索、关键词提取以及文本摘要。现在很多搜索引擎、论文网站、新闻网站都应用了TF-IDF特征。比如,当你想要了解某些信息时,你会在搜索引擎上输入关键词,而搜索引擎之所以可以帮你找到答案,是因为它应用了TF-IDF特征来计算它检索出来的文本和关键词之间的匹配度。如果它发现这个关键词在某个文本中出现的次数最多,而在其他文本中很少出现,那这个文本就是你需要的答案。
词嵌入
PDF 物理页索引 539
文件中的第 540 页 · 印刷页码:未识别
词嵌入,也就是word embedding,它也是表示文本特征的一种方式,可以将自然语言表示的单词转换为计算机能够理解的向量形式。简单点来理解,我们都知道文本有千千万万,文本构成的维度也不计其数,所以BOW会产生很高维度的特征向量,而词嵌入将词映射到一定维度的连续向量,就能使得这个连续向量的维度比较低,例如几十到几百。产生词的向量之后,我们就可以进行这些向量间的运算,比如通过向量之间的相似度来度量不同词语之间的语义相关性。
词嵌入基于的假设是:如果两个词经常在相同的上下文中出现,那么这两个词的意思应该相近。所有学习词嵌入的方法都是在建模词和上下文之间的关系。如图4-19,我们举了些词嵌入的例子。相似的词被映射成相近的向量,差别大的词映射以后对应的向量差异也比较大。所以“足球”与同样是球类的“篮球”距离很近,而与形容味道的“好吃的”距离很远。由此可见,通过词嵌入,词之间语义相似性可以被比较恰当地编码成向量了。