神奇的语言森林
神奇的语言森林
小鱼今天心情特别好。
早晨的阳光从树叶缝隙间洒下来,在地上铺成一片片金色的小圆点。微风吹过,树叶沙沙作响,像是在演奏一首轻柔的乐曲。小鱼的家就在森林边缘的一棵老橡树下的池塘里,池塘里的水清澈见底,能看见小石头铺成的、五颜六色的池底。
“今天去森林里探险吧!”小鱼对自己说。
小鱼是一条橙红色的小鱼,鳞片在阳光下闪闪发光。别看她的名字叫“小鱼”,她可是森林里出了名的好奇宝宝。森林里的每一朵花、每一只昆虫、每一块奇形怪状的石头,她都想去看看、摸摸、问问。可是小鱼有一个小小的烦恼——她认识的字太少了。每次看到树干上刻着的奇怪符号,或者石头上写的诗句,她都只能干瞪眼。
“要是能听懂文字说话就好了!”小鱼常常这样想。
今天,她的愿望似乎要实现了。
小鱼沿着一条弯弯曲曲的小溪往森林深处游去。这条小溪很特别,它不像其他小溪那样哗哗地流,而是安安静静地淌着,溪水摸起来凉凉的、滑滑的,像一条流动的水晶丝带。溪边长满了不知名的野花,有蓝色的、紫色的、还有一种会变色的——早上是粉红色,中午变成橙色,到了傍晚又变成深紫色。
“变色花又变成橙色了!”小鱼开心地用尾鳍点了点那朵花。
就在她专心看花的时候,突然听见了一阵奇怪的声音。
“滴——滴——滴——”
那声音像是什么东西在说话,又像是什么东西在唱歌。小鱼好奇地顺着声音游过去,发现声音是从一堆厚厚的落叶下面传来的。
小鱼用鼻子拱了拱落叶,哇!下面藏着一个闪闪发光的东西!
那是一块方方正正的、发着柔和蓝光的薄板子,足足有鱼缸那么大。板子的表面亮亮的,像一面小镜子,但镜子里面不是小鱼的倒影,而是一行行会动的符号和图案。
更神奇的是,那个“滴——滴——”的声音就是从这块板子里传出来的!
“你好呀!”小鱼怯生生地打了个招呼,“你是谁?”
板子里突然出现了一个小小的、圆滚滚的影子。那影子像一滴墨水,又像一团会动的乌云,但它有两个亮晶晶的小眼睛,还有四条短短的腿——不对,那是四条短短的、像触须一样的东西。
“别怕别怕,我不是怪物!”那团小影子跳了出来,站在板子边缘,对着小鱼鞠了个躬,“我是小墨,文字精灵小墨!”
文字精灵小墨
小鱼瞪大了眼睛:“文字精灵?我从来没见过精灵长成你这样!”
小墨挠了挠自己的脑袋——如果那两根短短的触须算脑袋的话:“那是因为我来自很远很远的地方呀。我来自计算机大陆,那里的精灵都长我这个样子。”
“计算机大陆?”小鱼从来没听说过这个名字。
“对!”小墨一下子来了精神,四条触须兴奋地挥舞起来,“那是一个由电路和代码组成的神奇世界。在那里,没有树木、没有溪流、也没有阳光——至少没有真正的阳光。到处都是闪闪发光的芯片和嗡嗡作响的机器。”
“那多无聊啊!”小鱼叫了起来,“没有花朵、没有蝴蝶、没有小溪——”
小墨用一条触须做了个“停”的手势:“别急别急,我还没说完呢!虽然我们的世界没有这些,但是我们有一样东西比这些都厉害——我们能让机器变得超级聪明!”
“让机器变聪明?”小鱼歪着头,“机器不是只会做一件事吗?比如电风扇只会转,烤面包机只会烤面包——”
“那是以前的机器!”小墨骄傲地挺起了胸膛(如果那圆滚滚的身体有胸膛的话),“现在的机器可厉害了,它们能听懂我们说话,能看懂图片和视频,能帮我们写文章、做翻译、甚至下棋赢过世界冠军呢!”
小鱼惊讶得张大了嘴巴,差点呛了一口水:“真的假的?”
“真的真的!”小墨从口袋里掏出了一颗小小的、亮晶晶的珠子,“看,这是我的魔法珠子。我只要把它放在任何一台机器里,那台机器就能学会听懂人类的语言。”
“等等,”小鱼突然想起了什么,“你说听懂人类的语言?这和让机器变聪明有什么关系?”
小墨的肚子(或者该叫身体?)上突然出现了一个笑脸符号:“问得好!这就引出了我今天要告诉你的最重要的事情——自然语言处理!”
“自然……语言……处理?”小鱼跟着念了一遍,感觉舌头都打结了,“这听起来好复杂。”
“其实一点都不复杂!”小墨跳到了板子外面,落在了一片大叶子上,“听我慢慢给你讲。”
小墨的魔法课堂
小墨清了清嗓子——虽然精灵可能不需要清嗓子:“你知道我们每天都在说话,对吧?早上起床说‘早上好’,肚子饿了说‘我饿了’,想和小朋友玩说‘我们一起玩吧’。这些话就叫'语言'。”
小鱼点点头:“对呀,说话还不简单?”
“说话是简单,”小墨说,“但是你知道吗?人类说的话,对计算机来说,可是世界上最难最难的事情之一呢!”
小鱼不相信:“说话有什么难的?我表姐小海龟三岁就会说话了!”
小墨笑了笑:“那是因为小海龟的大脑很厉害呀。人类的大脑经过了千万年的进化,特别适合学习语言。但是计算机可没有这样的脑子——呃,应该说没有这样的'大脑'。计算机本质上只是一堆电路和芯片,它只会做数学计算。1加1等于2,它能算得飞快;但是'我今天很开心'这句话是什么意思,它完全搞不懂。”
“为什么呀?”小鱼着急地问,“'我今天很开心'不是很明显吗?”
“你觉得明显,是因为你是人呀!”小墨解释道,“人的大脑太厉害了,厉害到我们根本意识不到语言有多复杂。你想想看——”
小墨伸出第一条触须:“'苹果'可以是一种水果,也可以是一个手机品牌,还可以是一个人的名字。”
伸出第二条触须:“'打'可以是打篮球的打、打人的打、打哈欠的打,还可以是打电话的打——但打电话明明是用手拿着手机呀,为什么要叫'打'呢?”
伸出第三条触须:“'方便'可以说上厕所方便,也可以说时间方便,还可以说我现在不方便——但什么是'不方便'呀?我要是不方便,是指我在厕所里吗?”
伸出第四条触须:“还有,一个词放在不同的句子里,意思完全不一样。比如'小心',在'小心台阶'里是提醒你注意安全,在'这个人很小心'里是说一个人做事很仔细,在'我小心了他一下'里……等等,这句话好像有点怪?”
小鱼听得目瞪口呆:“语言……原来这么复杂吗?”
“比你想的还要复杂一百倍!”小墨严肃地说,“而且还有语境的问题。"
"语境?"小鱼问。
"就是说话时的环境呀!"小墨举个例子,"比如我说'好热啊',可能是说天气很热,可能是说暖气开太大了,也可能是说某个人很'火'——哦不对,是很受欢迎。如果只看这几个字,你能猜出我是哪个意思吗?"
小鱼摇摇头:"不能。"
"对呀!这就是计算机面临的大难题,"小墨叹了口气,"人类说话的时候,其实省略了太多太多的信息。这些信息都在我们的脑子里,我们自己知道,但计算机不知道。"
小鱼终于有点明白了:"所以你要教计算机学说话?"
小墨的眼睛亮了起来:"说得好!正是这样!我和我的精灵伙伴们的工作,就是帮助计算机'学会'理解人类语言、使用人类语言。这整个过程,就叫做'自然语言处理',英文是 Natural Language Processing,简称 NLP。"
"自然语言……"小鱼重复着这个词。
"对,'自然'是相对于'人工'来说的,"小墨解释道,"比如计算机语言,像 Python、Java 这些,都是人类专门设计给计算机用的语言,规则清清楚楚,没有歧义。但人类平时说话用的语言,是几千年慢慢自然发展出来的,规则复杂得很,到处都是例外。所以人类语言就叫做'自然语言'。"
"那'处理'呢?"
"'处理'就是分析和生成,"小墨说,"让计算机不仅能'看懂'我们说的话,还能'说出'让我们听得懂的话。比如智能音箱能听懂你说'播放一首歌',然后真的播放歌曲;翻译软件能把你说的中文翻译成英文,让外国朋友也能理解——这些都是自然语言处理的功劳!"
小鱼的眼睛越听越亮:“哇,原来这就是自然语言处理!好厉害!”
“还没完呢!”小墨神秘地眨眨眼,“自然语言处理还有很多很多厉害的技能,让我一一介绍给你——”
文字精灵的神奇技能
小墨清了清嗓子,准备开始正式讲解。他的身体上出现了一个小小的、闪闪发光的屏幕,就像一块微型的电子黑板。
“自然语言处理包含很多技术,就像一个超级英雄有不同的超能力一样,”小墨说,“让我给你介绍几个最重要的!”
第一项技能:分词——把句子切成小块
小墨举起一根触须:“第一项技能叫做分词。人类的眼睛会自动把一串字分成一个一个的词,比如'我爱吃苹果',我们一看就知道是'我'、'爱'、'吃'、'苹果'四个词。但计算机不一样,它看到的只是一串字符:'我''爱''吃''苹''果',就像一长串珠子里,它不知道该从哪里切开。”
小鱼想了想:“那教它切开不就行了?”
“说起来简单,做起来可难了!”小墨摇摇头,“比如'南京市长江大桥',应该怎么切?可以切成'南京'、'市'、'长江'、'大桥',意思是南京市的市长叫长江,他有一座大桥。也可以切成'南京市'、'长江大桥',这是一座连接南京和长江两岸的大桥。两种切法都是对的,但意思完全不一样!”
小鱼惊呼:“天哪,同一句话有两种意思!那计算机怎么知道该选哪个?”
“所以这就要用到更高级的技术啦,比如让计算机学习大量的句子,自己找出最常见的切法。不过这个问题到现在也没有完美的解决方案呢。”
第二项技能:词向量——给每个词一个身份证
小墨的屏幕上出现了好多闪闪发光的点:“第二项技能叫做词向量。这可是个超级厉害的技术!”
“词向量?”小鱼从来没听过这个词。
“你知道数字和图片有什么区别吗?”小墨问。
“数字是抽象的,图片是有画面的是吧?”
“没错!但计算机最喜欢数字,不喜欢文字。因为数字可以直接计算,文字却不行。所以聪明的人类就想了一个办法——把每个词都变成一串数字!”
小墨的屏幕上出现了两串数字:
- “狗” = [0.8, 0.2, -0.5, 0.9]
- “猫” = [0.75, 0.25, -0.4, 0.85]
“看到没?'狗'和'猫'的数字很接近!因为它们都是动物,都毛茸茸的,都有人当宠物养。而'狗'和'汽车'的数字就差得很远,因为一个是动物,一个是交通工具。”
小鱼惊叹:“所以计算机是用数字来'理解'词的意思的?”
“聪明!”小墨竖起两根触须表示点赞,“这样一来,计算机就能计算词语之间的关系了。比如'国王'的向量减去'男人'的向量,再加上'女人'的向量,得到的结果和'女王'非常接近!这就是著名的'国王-男人+女人=女王'公式,你说神不神奇?”
小鱼使劲点头:“太神奇了!”
第三项技能:文本分类——给文章贴标签
小墨的第三条触须亮了起来:“第三项技能是文本分类。顾名思义,就是让计算机给一篇文章贴上合适的标签。”
“就像老师给作业打分数一样?”
“有点像,但更复杂。比如新闻网站每天会收到成千上万篇新闻,计算机可以自动把它们分类成'体育'、'娱乐'、'科技'、'财经'等类别。垃圾邮件过滤器会判断一封邮件是'正常邮件'还是'垃圾邮件'。情感分析会判断一条评论是'好评'还是'差评'——”
“等等,”小鱼打断道,“计算机怎么知道什么是好评什么是差评?”
“好问题!”小墨说,“计算机要学习很多很多例子。比如'这个产品太棒了'、'物超所值'、'物流很快'是好评;'太差劲了'、'根本不能用'、'等了一个月才到'是差评。计算机学了几万个例子之后,就大概能判断新评论是好是坏了。”
“但它不是百分之百对吧?”小鱼谨慎地问。
“对,没有什么东西是百分之百对的,”小墨诚实地说,“就像人也可能会误判一样。计算机的准确率能达到百分之八九十,就已经非常厉害了!”
第四项技能:情感分析——读懂文字里的心情
小墨的第四条触须也亮了起来:“第四项技能是情感分析,也就是理解文字里藏着的情绪。”
“情绪?文字也有情绪吗?”
“人的文字是有情绪的呀!比如同样说'你这个人真好',可以是真心夸奖,也可以是讽刺挖苦。计算机要判断是哪一种,就得看整句话的语气、用词、甚至感叹号的数量!”
小墨的屏幕上出现了一串对比:
- 😊 “这部电影太好看了!我要推荐给所有朋友!” → 正面情感
- 😞 “等了两个小时,电影一点都不好看。” → 负面情感
- 🤔 “这个产品价格还行,效果一般。” → 中性情感
“有时候同一个人写的文字,情绪也在变化。比如购物网站的评论,前面说'物流很快'(正面),后面说'但是质量太差'(负面)——这种情况叫做'混合情感',判断起来就更难了。”
小鱼若有所思:“看来理解情绪真的很复杂呢。”
第五项技能:机器翻译——让世界没有语言障碍
小墨的最后一条触须——哦不对,他总共只有四条触须——那第四条触须兴奋地抖动了一下:“第五项技能你肯定喜欢——机器翻译!”
小鱼确实喜欢!她一直想去看看外面的世界有多精彩,但总是担心语言不通。
“现在的翻译软件可厉害了,”小墨说,“以前的人工智能翻译很简单,就是查词典、换顺序,所以经常闹笑话。比如把'The spirit is willing but the flesh is weak'(心有余而力不足)翻译成中文,再翻译回英文,就变成了'The vodka is good but the meat is rotten'(伏特加不错但肉坏了)——完全是两个意思!”
小鱼笑得在水中翻了个跟头:“哈哈,太好笑了!”
“但现在的神经网络翻译就厉害多了,”小墨继续说,“它会学习几百万个翻译例子,然后自己总结出翻译的规律。虽然偶尔还会出错,但已经比以前的机器翻译好太多了!”
计算机的难题:不只是语言
小鱼听完了小墨的介绍,感叹道:“原来自然语言处理有这么多技能啊!但我还有一个问题——”
“你说。”
“你说计算机理解语言很难,但到底是哪里难呢?除了你说的歧义、多义词,还有别的原因吗?”
小墨郑重地点了点头:“你问到点子上了。除了我之前说的那些,还有一些更难的问题。”
难题一:指代消解——它是谁?
小墨说:“比如这句话:'小明把书放在桌子上,它有点晃。'问题来了——'它'指的是什么?是书还是桌子?”
小鱼想了想:“应该是桌子吧,因为书才会说'放在桌子上',桌子才可能'晃'。”
“但如果桌子不稳,'它'也可能指桌子呀。而且——如果这句话改成'小明把书放在桌子上,它有点破。'那'它'就肯定是指桌子了,对吧?”
小鱼恍然大悟:“原来同一个'它',要结合语境才能知道指的是什么!”
“没错!这种问题叫做'指代消解',就是让计算机弄清楚代词、指示词指的是什么。这对人类来说很简单,但对计算机来说可头疼了。”
难题二:常识推理——不说的也要懂
“第二个难题是常识推理,”小墨说,“人类说话的时候,经常会省略一些'显而易见'的事情,因为我们默认对方也知道。但计算机可没有这种'常识'。”
小墨举了个例子:“比如我说'小明把冰箱里的牛奶拿出来做早餐',人类会知道:小明先打开冰箱门,拿出牛奶,关上冰箱门,拿出杯子,倒牛奶。但如果让计算机描述这个过程,它可能会漏掉很多步骤,因为它觉得'这些不用说吧,大家都知道'——但计算机恰恰不知道!”
小鱼说:“所以要让计算机学习这些常识?”
“对,但问题是——常识太多了!而且很多常识根本说不清楚。比如'人会口渴'、'水往低处流'、'东西松手会掉下去'——这些东西连三岁小孩都知道,但要让计算机一条一条学明白,可是一项巨大的工程呢。”
难题三:隐喻和反语——话里有话
“第三个难题是隐喻和反语,”小墨的表情变得有点严肃,“这是最难的部分。”
“隐喻我知道!就是比喻嘛,比如'时间就是金钱',不是说时间真的是金钱,而是说时间很宝贵。”
“理解得不错!但问题来了——如果我说'他真是一只小狐狸',计算机怎么知道我说的是夸奖还是贬低?这要看语境,要看说话人的语气,要看前文说了什么——”
小墨突然用一种很夸张的语气说:“哇,这个创意真是太棒了!(其实是在讽刺)”
然后又用一种真诚的语气说:“哇,这个创意真是太棒了!(真的是在夸奖)”
小鱼仔细分辨了一下:“前面那个好像不是真心的?但我说不清楚为什么。”
“对,这就是反语。反话正说,或者正话反说。人类有时候靠语气、表情、上下文来理解,但计算机没有表情,语气也经常丢失(尤其是文字交流的时候),所以判断起来特别困难。”
难题四:新词和流行语——跟 上时代
“第四个难题是新词和流行语,”小墨叹了口气,“语言是活的,每年都有新词冒出来。去年的流行语今年可能就过时了,但计算机学的是'标准语言',反应总是慢半拍。”
小鱼想起了什么:“比如我们小朋友经常说的'绝绝子'、'yyds'、'绝活',大人可能就听不懂?”
“对对对!还有网络用语、方言缩写、外语音译等等。比如'绝绝子'到底是什么意思?'yyds'是'永远的神'的缩写——但如果计算机没学过,它就只能干瞪眼。”
小墨摊了摊触须:“所以我们文字精灵也要不断学习,跟上时代的步伐呢!”
身边的自然语言处理
小鱼游了一圈,消化了这么多新知识,突然想到了一个问题:“小墨,你说的这些自然语言处理技术,在哪里能看到呢?我是说,日常生活中有什么东西用了这些技术吗?”
小墨的眼睛亮了起来:“有有有!多得不得了!让我给你数数——”
智能音箱:你说话,我听话
“第一个是你家里可能就有的智能音箱!”小墨兴奋地说,“比如'小爱同学'、'小度小度'、'天猫精灵'这些。它们能听懂你说话,是因为用到了语音识别(把你的声音变成文字)和自然语言理解(搞清楚你要干什么)。”
小鱼想起自己家里好像确实有一个会说话的小盒子:“哦!就是那个会放音乐的盒子!我跟它说'播放摇篮曲',它就会放音乐!”
“对对对!那就是自然语言处理在发挥作用!你说'播放摇篮曲',它要理解:'播放'是动作,'摇篮曲'是歌曲类型,然后它才会去音乐库里找相应的歌曲给你放。”
翻译软件:走遍世界都不怕
“第二个是你刚才特别感兴趣的翻译软件!”小墨说,“现在出国旅行,有了翻译软件就不怕语言不通了。你说中文,它翻成英文;你拍一张外国菜单的照片,它帮你翻译成中文——这些都离不开自然语言处理!”
小鱼激动得拍起了水花:“太棒了!我以后一定要去外国看看!”
输入法:打字的小帮手
“第三个是你每天都在用的输入法!”小墨说。
“输入法?”小鱼有点惊讶,“打字也有自然语言处理吗?”
“太有了!你打字的时候,输入法会预测你下一个要打什么字。比如你打'今天天气',它会自动推荐'真不错'、'怎么样'、'很好'——它怎么知道你会打这些?因为它学习了几十亿句话,统计出了最常见的搭配。”
小鱼试着想了想:“所以输入法会越用越聪明?”
“对!这就是为什么同一个输入法,用的时间越长,打字越顺手——因为它在不断学习你的习惯呢!”
智能客服:24小时在线的店员
“第四个是你在网上购物时经常遇到的智能客服,”小墨说,“有时候你问问题,回答你的是一个机器人,不是真人。这个机器人要能看懂你的问题,回答得让你满意,就靠自然语言处理了。”
小鱼想起自己有一次问客服“我的快递到哪里了”,客服居然真的查到了快递位置:“哇,原来那个也是人工智能啊!我还以为是个真人呢!”
内容推荐:懂你的喜好
“第五个是你刷视频、看新闻时看到的推荐内容,”小墨说,“抖音、头条这些软件会根据你之前看过的视频、点过的赞,猜测你可能喜欢什么内容,然后给你推荐。猜得准不准,就看它们的自然语言处理技术厉不厉害了。”
小鱼恍然大悟:“难怪我刷抖音