【转】浅谈自然语言处理 – 开端

【转】浅谈自然语言处理 – 开端_第1张图片
浅谈自然语言处理 – 开端

知乎作者:李嘉铭
从前有座山,山上有座庙,庙里有个老和尚和一个小和尚,有一天,老和尚对小和尚说:从前有座山,山上有座庙,庙里有个老和尚和一个小和尚,有一天,老和尚对小和尚说:从前有座山…… 出处:老和尚This is the malt that the rat that the cat that the dog worried killed ate. Victor H. Yngve (1960) 摘自语音与语言处理 – Jurafsky and Martin
自然语言处理简史 – 开端
1949
1949年,新中国成立的时候,第二次世界大战已经结束四年了,整个世界还在从战争的创伤中渐渐恢复。世界上第一批计算机科学家大多都曾经帮助过盟军解决密码学问题,其中包括沃伦·韦弗(Warren Weaver)、艾伦·图灵(Alan Turing)、以及克劳德·香农(Claude Shannon)。可以说没有他们的密码学工作,盟军很可能就不会取得战争最后的胜利,这方面暂且不表。
因为战争,第一批的计算机科学家们大多同时是数学、密码学以及通讯学上的精英,但他们都面临一个问题:战争之后他们没活儿干了。当时55岁的沃伦·韦弗决定把自己在战时获得的知识用到真正有用的地方去。他受到了翻译轴心国密码的启发,提出:所有人类的语言都是某一种密码, 德语只是用密码写成的英语而已。就像他们在二战中所做的一样,只要用某种机械破解了该密码,就可以做到对语言的自动翻译。他曾经的同事们、数学家们和科学家们纷纷鼓励他把这个想法发表出去,于是他发表了一份备忘录,叫做《 翻译》。这篇备忘录就是自然语言处理方面的第一颗的种子。

美国政府意识到了自然语言处理的潜在影响力,决定出资帮助自然语言处理的研究。美国政府期望能够在10-20年之内研究出一个能用的翻译系统。毕竟如果随便抓一个玩泥巴的两岁小孩儿都能听懂人话的话,全世界最好的科学家们以及他们发明出的机器肯定也行。上个世纪40年代到60年代的人们对科学充满了无限的信心,他们相信着科学曾经并且将来都能给人类社会带来无限的发展和进步。
ELIZA
过了一些年,在美国政府投入了上千万美金之后,呈现给他们的自然语言处理的结晶是一个叫ELIZA的聊天软件。如果懂一些英语的话,你可以点击这里试试和它对话。下面是一段示意对话的翻译(注:我尽量保留了原文中不通顺和语感上奇怪的地方):
Person : 男人都一样。ELIZA : 哪里一样?Person : 他们总会在各种事情上烦我们。ELIZA : 你能举一个具体的例子么?Person : 呃,我男朋友让我来这儿。ELIZA : 你男朋友让你来这儿?Person : 他说我大部分时间都很抑郁。ELIZA : 听到你抑郁的消息我很难过。Person : 嗯,我不开心。ELIZA : 你认为来这儿会让你不变得不开心?Person : 我需要一些帮助,只有这点我很确定。ELIZA : 你获得帮助对你意味着什么?Person : 也许我能学会试着和我妈相处。ELIZA : 告诉我关于你家庭的事。
如果你玩上五分钟,你很快就会发现哪里不太对。ELIZA总在重复说一些话。
ELIZA的工作原理是在给它的输入中寻找简单的一些线索和关键词。如果ELIZA看到“一样”或者“相似”,它的回答会是“哪里一样/相似?”。如果它看到“我的{家人}是Y”,它会问:“还有谁在你家里是Y?”。当它说“嗯”的时候,这代表着它找不到事先编好的关键词,完全不知道你在说啥(这点和人挺像的)。在某种意义上,这个程序是专门为通过图灵测试设计的。它用不着懂得任何对话里的内容,只要让人类认为屏幕对面正在和自己聊天的是另一个人类就好。自然语言对于当时的计算机来说太难了,因为说到底计算机一开始的设计初衷是用来计算的,并不是来说话的。
图灵测试示意图:
图灵测试是一种评估机器智能的方法。当人类的评委无法确定回答是出自一个人类还是一个机器的时候,就标志着那个机器通过了测试。

是什么让人类最好的科学家们在面对机器翻译的时候抓耳挠腮?当他们踏入这个未知领域的时候,他们面对的是两堵高墙:歧义性以及无限性。如果无法跨过这两堵墙,计算机对语言的理解就永远无法与人类比肩。
用户: 给我叫一辆出租车。人工智能: 好的。(大声的叫)一辆出租车~
歧义性
歧义性在语言中无处不在,但同时我们又很少意识到它,直到我们需要和一个机器打交道的时候。中文里有许多这种例子,比如这个笑话:“某人去化验科,护士指着前方一牌说:“非本科人员不得入内!“那人大怒,骂道:‘我就化验个尿,还要本科文凭!!!’”。笑话的笑点是本科的两种意思,也是自然语言处理中常常需要面对的语义歧义问题。
我们再来看两句句子,“南京市长江大桥获得连任。”又如“粮食不卖给八路军”这句句子,到底是“粮食 不卖给 八路军”还是“粮食 不卖 给八路军”。这类就是英文里不常出现的分词方面的歧义,因为英文词和词之间有空格分开。
最后,如果你懂一些英语,你可以试着打开你最喜欢的翻译软件或者翻译网站,然后输入下面一句话:“I can’t believe my 15-year-old son grew another foot last summer.” 我至今为止没见过一个翻译对的软件。(如果你找到一个对的的话,请务必联系我,我很感兴趣。原本的中文意思是:“我不敢相信我15岁的儿子上个夏天又长高了一英尺”,foot这个词既有英尺又有脚的意思。)
无限性
我把第二个障碍称作无限性,用来代表任何一个人类语言的高度复杂性。和歧义性不同的是,歧义是指从各种说得通的解释中选择一种最有可能符合作者本意的,而无限性更加像是大海捞针:从成千上万种错误的解释中找出为数不多的说得通的。
假设我们手上有一句句子包含有15个字,每个字有3种意思,那光这一句就已经有315(大约1400万)种可能性了。相比之下,1960年的IBM 7090价值290万美元,每秒可进行10万浮点运算。粗略的估计下,用这样的机器处理一句句子需要2分钟到1个小时。
雪上加霜的是,句子很多时候不止15个字,甚至能无限长。一个很好的例子就是我在这篇文章最开始引用的:“从前有座山,山上有座庙,庙里有个老和尚和一个小和尚,有一天,老和尚对小和尚说:从前有座山,山上有座庙,庙里有个老和尚和一个小和尚,有一天,老和尚对小和尚说:从前有座山……”。理论上只要你不停地往一句句子上加从句,它能变得无限长,当然现实中很少有人真的这么做。
自然语言处理的寒冬
这两堵高墙(歧义性以及无限性)即使现在也屹立在所有自然语言处理研究者的面前,它们长长的阴影笼罩着整个自然语言处理学界。在1966年,自动语言处理研究会(the Automatic Language Processing Advisory Committee (Alpac))“发表了一份关于机器翻译的报告,总结说数年的研究没有带来有用的结果。”(翻译自Machine Translation’s Past and Future)。美国政府因此决定停止一切对于自然语言处理的资金投入。那是自然语言处理的寒冬。
事情是什么时候、怎么样变得好起来的?欲知后事如何,请看下回分解。谢谢您的阅读。
引用
我参考并引用了以下文章、书籍、以及网站:
Speech and Language Processing by Daniel Jurafsky & James H.
Portland University ECE 478/578/678 slides
Introduction to Computational Linguistics and Natural Language Processing by Mark Johnson
Natural language processing: a historical review by Karen Sparck Jones**
2. Natural Language Processing (NLP) - Tees
Machine Translation’s Past and Future
从幽默到歧义句——一点语言学分析
语境歧义引发的幽默笑话及歧义产生、消除、初探等
我将来会在这个列表的基础上新增其他的引用源。
图片来源:
Turing Test
WWII Cryptography Enigma machine

你可能感兴趣的:(【转】浅谈自然语言处理 – 开端)