浅谈计算机视觉与自然语言处理

原创:杨其泓

1. 计算机视觉

1.1. 什么是计算机视觉

计算机视觉(Computer Vision)是一门研究如何使机器“看”的科学, 更进一步地说,是指用摄影机和电脑代替人眼对目标进行识别、跟踪和 测量的科学。近几年计算机视觉技术实现了快速发展,其主要学术原因,是2015年基于深度学习的计算机视觉算法在ImageNet数据库上的识别准确率首次超过人类,使之具真正具有了实际应用的能力(要不然别人会说:你找几个人来干不是更好吗),同年Google也开源了自己的深度学习算法。
计算机视觉的众多实际应用,细化下来都可以拆分成某个具体任务。

浅谈计算机视觉与自然语言处理_第1张图片
计算机视觉四大任务

  1. 图像分类:把图像划归为若干个类别中的某一种
  2. 图像分类+定位:把图像划归为若干个类别中的某一种,并给出被分类物体的位置
  3. 物体检测:用框去标出图像中物体的位置,并给出物体的类别(人脸检测、安全帽检测、车辆检测都属于这个)
  4. 图像分割:以像素级单位把图像分成若干个特定的、具有独特性质的区域并给出物体的类别(车道线分割项目就是用的这个,属于自动驾驶的一部分)

1.2. 基本任务流程

计算机视觉任务的主要流程有图像获取、预处理、特征提取、检测/分割和高级处理共计5个步骤。

浅谈计算机视觉与自然语言处理_第2张图片
计算机视觉基本流程

  1. 图像获取技术描述:提取二维图像、三维图组、图像序列或相关的物理数据,如声波、电磁波或核磁共振的深度、吸收度或反射度。
  2. 预处理技术描述:对图像做一种或一些预处理,使图像满足后继处理的要求,如:二次取样保证图像坐标的正确,平滑去噪等。
  3. 特征提取技术描述:从图像中提取各种复杂度的特征,如:线,边缘提取和脊侦测,边角检测、斑点检测等局部化的特征点检测。
  4. 检测/分割技术描述:对图像进行分割,提取有价值的内容,用于后继处理,如:筛选特征点,分割含有特定目标的部分。
  5. 高级处理技术描述:验证得到的数据是否匹配前提要求,估测特定系数,对目标进行分类。

这有点类似于:买菜(获得菜/图片)—洗菜(对菜/图片进行基础处理)—切菜(切出有用的部分菜/图片)—炒菜(食材到食物的关键处理菜/图片)—摆盘(把菜/图片以一个合适的形式呈现给用户)

1.3. 计算机视觉应用案例

  1. 交通:自动驾驶汽车需要计算机视觉。特斯拉 (Tesla)、宝马(BMW)、沃尔沃(Volvo)和奥迪(Audi)等汽车制造商Y已经通过摄像头、激光雷达、雷达和超声波传感器从环境中获取图像,研发自动驾驶汽车来探测目标、车道标志和交通信号,从而安全驾驶。
  2. 安防:中国在使用人脸识别技术方面无疑处于领先地位,这项技术被广泛应用于警察工作、支付识别、机场安检,甚至在北京天坛公园分发厕纸、防止厕纸被盗,以及其他许多应用。
  3. 医疗:由于90%的医疗数据都是基于图像的,因此医学中的计算机视觉有很多用途。比如启用新的医疗诊断方法,分析X射线,核磁共振影像,监测患者等。
  4. 翻译:传统翻译采用人工查词的方式,不但耗时长,而且错误率高。图像识别技术(OCR)的出现大大提升了翻译的效率和准确度,用户通过简单的拍照、 截图或划线就能得到准确的翻译结
  5. 体育赛事:计算机视觉还有助于比赛和策略分析、球员表现和评级,以及跟踪体育节目中品牌赞助的可见性。
  6. 农业:半自动联合收割机可以利用人工智能和计算机视觉来分析粮食品质,并找出农业机械穿过作物的最佳路径。另外也可用来识别杂草和作物,有效减少除草剂的使用量。
  7. 制造业:计算机视觉也可以帮助制造商更安全、更智能、更有效地运行,比如预测性维护设备故障,对包装和产品质量进行监控,并通过计算机视觉减少不合格产品。

2. 自然语言处理

2.1. 什么是自然语言处理

浅谈计算机视觉与自然语言处理_第3张图片什么是自然语言处理

我们常见的对话机器人包括:以上这四个。他们的共性是什么?是能理解你说了啥。是怎么理解的?用了自然语言处理技术。

自然语言处理(Natural Language Processing)是一门通过建立形式化的计算模型来分析、理解和处理自然语言的学科,也是一门横跨语言学、计算机科学、数学等领域的交叉学科。

自然语言处理,是指用计算机对自然语言的形、音、义等信息进行处理,即对字、词、句、篇章的输入、输出、识别、分析、理解、生成等的操作和加工。

自然语言处理的具体表现形式包括机器翻译、文本摘要、文本分类、文本校对、信息抽取、语音合成、语音识别等。

可以说,自然语言处理就是要计算机理解自然语言,自然语言处理机制涉及两个流程,包括自然语言理解和自然语言生成,自然语言理解是让计算机把输入的语言变成有意思的符号和关系,然后根据目的再处理;自然语言生成则是把计算机数据转化为自然语言。实现人机间的信息交流,是人工智能界、计算机科学和语言学界所共同关注的重要问题。

2.2. 自然语言处理的主要流程

自然语言处理问题的流程可以拆分为语音分析、词法分析、句法分析、语义分析、语用分析五步。

  1. 语音分析:转化为结构化索引,方便检索;—— 一段音频->‘你今天吃晚饭了嘛’
  2. 词法分析:分词;——‘你今天吃晚饭了嘛’->‘你’‘今天’‘吃’‘晚饭’‘了嘛’
  3. 句法分析:主谓宾;——‘你’‘今天’‘吃’‘晚饭’‘了嘛’ -> 主谓宾定状
  4. 语义分析:文本相似度、文档主题归类、词义消岐等;——‘你’‘今天’‘吃’‘晚饭’‘了嘛’+主谓宾定状 -> 询问对方有没有吃饭
  5. 语用分析:语法、语义分析后,更高级的语言学分析。—— 询问对方有没有吃饭->想约对方一起吃饭

2.3. 自然语言处理的应用

  1. 文本分析:对一段文本进行自动分类,例如某条微博信息是属于体育类还是明星八卦类。
  2. 文本摘要:一句话总结一篇文章,如总结新闻标题。
  3. 阅读理解:给一篇文章和基于该文章的问题,对其进行回答。
  4. 对话机器人:淘宝智能客服、闲聊机器人。
  5. 机器翻译:通过理解深层语义进行翻译,翻译结果更为准确。
  6. 情感分析:分析一段文字的情感表达,例如分析电影评价记录中用户是赞还是踩。

2.4. 自然语言处理应用扩展

自然语言处理的研究可以分为基础性研究和应用性研究两部分,语音和文本是两类研究的重点。基础性研究主要涉及语言学、数学、计算机学科等领域,相对应的技术有消除歧义、语法形式化等。应用性研究则主要集中在一些应用自然语言处理的领域,例如信息检索、文本分类、机器翻译等。由于我国基础理论即机器翻译的研究起步较早,且基础理论研究是任何应用的理论基础,所以语法、句法、语义分析等基础性研究历来是研究的重点,而且随着互联网网络技术的发展,智能检索类研究近年来也逐渐升温。近年来,计算机视觉在产业界和学术界不断取得突破,取得代表性成果的组织有谷歌、阿里、百度、搜狗、科大讯飞等公司,清华大学、Allen人工智能研究所等高校/研究所以及其他多种类型的组织或个人。

(1) 2018年12月,Facebook开源了自己的NLP建 模框架PyText,每天处理超10亿个NLP任务。

(2) 科大讯飞早在2016年就推出了全新的深度全序列卷积神经网络(DFCNN)语音识别框架,该框架的表现比学术界和工业界最好的双向RNN语音识别系统识别率提升了15%以上。2019年,讯飞输入法的语音识别准确率已达到了98%,并采用记忆增强的全端到端语音识别模型,开启语音输入“免切换”时代,即中英、粤语和普通话以及离线与在线语音之间不切换直接输入。

(3) 2018年谷歌AI团队发布BERT模型,该模型是2018年最火的自然语言处理模型,在模型开源后的短短几个月时间里,已经有学者表示BERT为人工智能的发展带来了里程碑式的意义。2019年6月,CMU与谷歌大脑提出新的NLP训练模型XLNet,该模型在SQuAD、GLUE、RACE等20个任务上全面超越了BERT。

(4) Allen人工智能研究所于2018年年初提出了ELMo (Embeddings from Language Models)模型,提供了从深度双向语言模型(biLM)中学习的单词嵌入思路。该模型主要在大型文本语料库上进行预训练,从而使迁移学习和这些嵌入能够在跨越不同的NLP任务。

(5) 清华大学自然语言处理小组开发出THUMT神经机器翻译开源工具包。THUMT在Theano上层实现了标准的基于注意的编码器-解码器框架,并且支持三种训练标准:最大似然估计、最小风险训练和半监督训练。它的特点是有一个可视化工具,演示神经网络和语境单词隐藏态间的关联,从而帮助分析 NMT 的内部工作机制。在中英数据集上的实验显示 THUMT 使用最小风险训练极大的超越了GroundHog的表现,它也是NMT的一个顶尖工具包。

你可能感兴趣的:(计算机视觉,自然语言处理,人工智能,python,深度学习)