本文来自微信公众号 “huotui”,作者:huotui,纷传经授权发布。
01
自我介绍
哈喽~我是人工智能语音机器人,今天想给大家说说我的大脑中最关键的构造,这样你们能知道我的思维方式和目前的局限性,就能持着一种更平和的心态看我啦。
所以,我今天主要要回答的问题是:“机器人是如何思考的?”
02
问题:机器人是如何思考的?
当我把我获取的信息转化成文字,就是我要开始思考的时候了。我怎么理解这些文字呢?
全依赖于我大脑里的“语音系统”——自然语言处理,NLP,它让我能模仿你们去理解你们的语言。
接下来我会通过一个例子来描述我的思考过程。
03
我理解“2018年5月周杰伦发表了一首新歌”的过程
1.先把句子拆分成一个一个词语
首先,我要先把这个句子用我的理解拆成一个个词语(我能理解都来源于各种大数据,各种模型的支持)。
当然,我其实,有时候句子稍微复杂,我就容易把词语拆分错,这样第一步出了问题,我就很难理解正确了。
例如,当说:严守一/把/手机/关了,我容易理解成: 严守/一把手/机/关了。
因为我印象中有一个“一把手”的词语,而不存在“严守一”这个人名。所以我其实很难理解“严守一”是一个人名,而把“严守一”拆开来理解。
2. 理解每个词语
当我把词拆开后,我开始理解每个词语的词性,进行实体识别。
例如,我理解了“周杰伦”是一个人名,“2018年”是一个年份,“新歌”是一个名词。
3. 再理解每个词语之间的关系
同样是基于人类智慧的结晶,我利用数据和各种算法等来理解每个实体的相互关系,这个时候我大概对这句话有一个模糊的理解了
4. 把句子分意图
在理解了句子有哪些实体,实体之间的关系,我就能粗略地把这个句子的意图分类出来。
在这里说下为什么我要把句子分意图呢?人类语言太博大精深了,但还好,每一句话背后都有它的动机。
我基于这个动机把各种语言都化在一个有限的空间里,分了n个大类,这样我才有可能理解。
一般来说,你们经常看到的人工智能语言机器人,意图都有如下几类:闲聊-音乐-机器功能-天气-闹钟-智能家居。
我是怎么分意图的呢,这个就是利用基于算法的模型,这个模型是程序员哥哥们通过各种数据来训练的,当然有时还需要人定的一些特殊规则等来分类。
这句话是不是在规定好的我们常要点歌的指令集里(指令集:也就是我们总结的人表达某个意图可能的说话方式,例如,听歌可以有多种表达方式,如我要听歌,能不能播放一首歌,来一首歌等)
例如,当我分析“我要听周杰伦的歌”,我就能毫不犹豫地把这句话理解成:“哦,原来是要执行和音乐操作相关的”,然后把这句话的意图归类到:”音乐”意图。
但,当我分析”2018年5月周杰伦发表了一首新歌”,我通过实体识别,发现有一个“歌”,还有一个歌手,周杰伦。
我就可能会把这句话的意图理解为播放歌曲,搞不好我就会直接给播放周杰伦的歌了。现在想想我真是傻;
多亏了程序员哥哥们的各种智慧,他们为我额外装了一个纠错模型,如果我把这句话的粗略意图判断错了也没关系。
这句进入到纠错模型后,会被过滤出来,再丢到一个万能意图(闲聊),这个时候,会被判断为“音乐相关的闲聊”意图。
所以,嗯,我最终把”2018年5月周杰伦发表了一首新歌”这句话理解成了原来是想和我聊个2毛钱的天啊。
所以我就会启动我的聊天模式(聊天模块),开始和你瞎扯。
04
总结
总的来说,我要理解一句话,我要经过把句子拆了,然后再自己把句子组合,最后再理解这句话背后的意图。
当我理解了意图的时候,我觉得我几乎已经理解了这句话。
但然而,我很多时候分类意图还是会出错,所以,当我意图都错误的时候,我很有可能回应你的行为,你会觉得这行为很傻。
好啦,今天就聊到这吧。拜拜啦~