前言
什么是ai,什么是nlp,人工智能(对话的助手、图像识别)是怎么实现的,又是怎么应用的。在入行语音语义产品之初这些疑问就一直萦绕着脑海中。
经过2年的工作实践和学习探索,我也慢慢打开了人工智能的黑盒子,当然还有很多的不足。网上对于ai尤其是nlp的介绍很多是偏技术导向的,读起来一头雾水晦涩难懂,对于非技术的同学和有兴趣想了解的人来说实在是不太友好,在这里想和大家一起分享下我的一些经验和理解,给大家理解ai理解自然语言处理打开一个小口子。
一、人的思考模式和人工智能
人认识世界是从低纬度到高纬度的
比如一个图片
从图片的部分,形成整体的
(盲人摸象)
比如一句话一句话
从字词构成,到句子意思,再联系自身过往的人生经验去理解
(苏联笑话)
相反地,人去表达出来的东西是高纬度的,包括语音、动作,和特定场景、文化、阅历等等的因素都是有关的。对于机器(人工智能)要去理解它,就需要效仿人的理解和认识过程,从低纬度到高纬度去过程去实现,这个在图像识别的神经网络中非常的明显。
(cv神经网络各层的图像化-jpg-从边线到小组合到整体)
二、为什么神经网络要是这个样子的,神经网络的是怎么实现的呢
人的思考和认知是通过神经突触的生成来实现的,不同的刺激建立不同的神经结构,让人们记住理解东西(可以这么理解,不一定对)
(视频)
而机器没法生成新的突触,那么参考人的神经的结构,建立神经元、树突
(人工神经网络示意图)
通过数据的输入和调整参数(损失函数、梯度下降、负采样、学习率等等都在这一环节),将神经网络的参数调整到认识该类事物的。完成训练后对于同样的事物就可以使用这个模型来处理了
(手写数字识别-ann的case)
从这个图像识别的case可以看到,进入神经网络处理之前,比较核心的一部是把高纬度数据转化为低纬度数据,比如图片,根据48*48像素转化为「1*784」的矩阵,才能进入神经网络处理,那么对于文本来说也适用吗,文本也可以转化为数字吗
三、文本数字化-最初的word2vec
那么如何将字词转化为数据呢,在刚开始时人们采用的是one-hot 向量
什么是one-hot向量
(例子介绍)
one-hot向量的缺点
这个时候人们想到了,相似意义的字词在一个足够大的文章中,所在的上下文位置往往是一样的:
中国的首都是北京
美国的首都是华盛顿
美国的首府是华盛顿
那么基于这种上下文信息能否挖掘到字词的数据化表示呢,答案肯定是可以的
谷歌的研究员在2013年先后提出了word2vec模型用来获取词向量,也叫词嵌入,就是把字词嵌入进向量空间中,在向量空间中我们至少可以看出,有相同含义的字词在向量空间中的位置是非常接近的。而且他们甚至可以做加减法
(case 1:向量空间)
(case 2:queen=king-man+woman)
1.所有这些不同的单词都有一条直的红色列。 它们在这个维度上是相似的(虽然我们不知道每个维度是什么)
2.你可以看到“woman”和“girl”在很多地方是相似的,“man”和“boy”也是一样
3.“boy”和“girl”也有彼此相似的地方,但这些地方却与“woman”或“man”不同。这些是否可以总结出一个模糊的“youth”概念?可能吧。
4.除了最后一个单词,所有单词都是代表人。 我添加了一个对象“water”来显示类别之间的差异。你可以看到蓝色列一直向下并在 “water”的词嵌入之前停下了。
5.“king”和“queen”彼此之间相似,但它们与其它单词都不同。这些是否可以总结出一个模糊的“royalty”概念?
那么这种数据是如何获得的呢?在word2vec中有两种方法,一种是cbow(连续词袋模型),另一种是skip-gram(跳字模型)
外文作者的内容(这部分有点和ann-手写数字识别重复了,包括训练方法和过程)
四、词向量后的nlp更多应用-机器翻译、文本分类…
有了具备语义信息的词向量,很多文本任务就可以运行起来了
一般的任务分类有如下:
(这个也可以用nlp算法归类那一页替代)
意图识别、ner的算法介绍
五、语音助手产品-对话产品的设计和实现
这几年人工智能大火,语音助手也不是什么新鲜的概念了,比较有代表性的百度、苹果、谷歌、小米等等都推出了自己的语音助手,那么究竟语音助手是怎么实现的呢,由哪些技术组成呢?在语音语义产品设计的工作和传统产品设计的工作又有没有不同呢。
从用户使用层面来说,语音助手一般由两个模块构成,一个是功能性技能,还有就是兜底类技能。
功能性技能简单的说,就是用户通过语音实现平时手机app上的操作。比如在车载语音助手中,我们用语音来发起导航、听音乐、打电话;在家庭场景用语音进行视频点播,控制一些智能设备,比如灯、空调、洗衣机扫地机器人等等。
那它实际的组成的模块是怎么样的呢
一般对话助手由五个组成部分:语音识别(ASR),自然语言理解(NLU),对话管理(DM),自然语言生成(NLG)和文本到语音合成(TTS)。ASR通过深度学习技术得到了较好的解决。 NLG和TTS容易控制。对话系统设计的难点主要在于NLU和DM,这将在下面的段落中详细讨论。
(图)
语境的概念,dm的概念和组成
六、对话产品/语音助手的设计的工作内容或关注点就仅仅如此吗
答案肯定不是的,对话产品和传统的有ui界面的产品,需要更加关注和用户的交互,不断提升用户的使用体验
对话产品的设计原则介绍
(图)
对比一下两个车载助手的case(蔚来 vs 吉利)
(视频:电话case;地图case)
由于现在的ai其实是基于统计的,所以很多好的体验是由产品构建规则设计出来的,这就尤其考验对用户、场景、需求的把握和了解,像我们一个看起来简单的导航功能,考虑到行程状态和用户需求,就有近千个处理的规则,来保证用户的体验
对话产品的评测指标:听清、听懂、满足、快捷(需求满足度)
需求满足度:
引导救回和闲聊:
七、对话产品的最新进展和未来思考
1、预训练带来的黄金10年:bert、transformer
2、具备常识和推理能力的ai会是下一个目标
3、nlp+cv+others,多模态交互和万物互联是未来趋势(发现用户、了解用户、满足用户)