第5章 ELIZA:和機(jī)器對(duì)話
解釋就是掩飾,越抹越黑蹬竖。
——Joseph Weizenbaum
MIT 計(jì)算機(jī)科學(xué)家
本章和第一部分的地域章節(jié)會(huì)著重測(cè)試在60年代更加知名的三個(gè)AI程序仆百。ELIZA會(huì)模擬一個(gè)心理治療師來和用戶進(jìn)行對(duì)話。STUDENT解決的是在高中代數(shù)書上找到的某種問題别威,MACSYMA解決的是各種符號(hào)數(shù)學(xué)問題查排,包括分?jǐn)?shù)和整數(shù)計(jì)算凳枝。前兩個(gè)程序我們根據(jù)之前版本的大部分特性來開發(fā)自己的版本,第三個(gè)程序我們會(huì)實(shí)現(xiàn)一個(gè)程序功能的精簡版本跋核。
所有的這三個(gè)程序在一種叫做模式匹配的技術(shù)中非常有用岖瑰。第一部分就是致力于展現(xiàn)這種技術(shù)的豐富,當(dāng)然也有一定的局限了罪。
在這三個(gè)程序中锭环,頭兩個(gè)的輸入是普通的英語聪全,后兩個(gè)解決的問題是不凡的數(shù)學(xué)問題泊藕,所以基本上可以稱他們是智能的。另一方面,我們應(yīng)該認(rèn)識(shí)到這種智能很大程度上是一種幻像娃圆,ELIZA實(shí)際上就是被設(shè)計(jì)來展示這種幻像的玫锋,并不是一個(gè)嚴(yán)謹(jǐn)?shù)腁I程序。
ELIZA是第一個(gè)把英語作為輸入和輸出的程序讼呢,這是他的一大特性撩鹿。這個(gè)程序的名字來源于《賣花女》中的女主角,她由以為杰出的女教師來教授英語悦屏。ELIZA最初的開發(fā)者节沦,MIT的Joseph Weizenbaum教授,在1966年一月寫出了一篇關(guān)于ELIZA的論文础爬,其中有一些詳細(xì)的介紹:
據(jù)說解釋就是掩飾甫贯,越抹越黑。這句格言用在計(jì)算機(jī)編程上真的是再合適不過看蚜,特別是對(duì)啟發(fā)式編程和人工智能來說叫搁。即使對(duì)那些按照特定方式制造的機(jī)器,也足以讓有經(jīng)驗(yàn)的觀察者炫目著迷供炎。但是一旦顯露出特定的程序渴逻,一旦內(nèi)部的工作被解釋成足以理解的普通語言的時(shí)候,就會(huì)神奇地崩潰音诫。他代表的僅僅是透露每一個(gè)可以理解的過程的集合惨奕。觀察著會(huì)對(duì)自己說,我本來可以寫成的竭钝。帶著這種想法墓贿,他把程序從智能的架子上拿下來,當(dāng)做古董蜓氨,僅僅展示給那些不比他聰明多少的人聋袋。
本論文的目標(biāo)就是為了引起對(duì)于關(guān)于程序被解釋的再評(píng)價(jià)。很少有程序需要更多了穴吹。
我來指出本書的主要目的就是讓讀者對(duì)自己說幽勒,我本可以寫出他們的。這樣的想法就是因?yàn)樽x者已經(jīng)掌握了某些東西僅僅是因?yàn)獒槍?duì)問題的程序失去了炫目的能力罷了港令。
我們從Weizenbaum教授論文中的一個(gè)ELIZA對(duì)話實(shí)例開始說起啥容。ELIZA的設(shè)計(jì)師由多種腳本構(gòu)成的,或者說是多種交互的模式顷霹。事實(shí)上咪惠,還包括一些德語的和威爾士語的腳本。我們使用的ELIZA腳本是基于英語的淋淀,他模擬的是一個(gè)個(gè)人心理治療師的角色遥昧。個(gè)人心理治療師非導(dǎo)向性的,他讓患者更加暴露自己。這是一種ELIZA很容易實(shí)現(xiàn)的模式炭臭,以為他只要保持積極和回答反映就好了永脓,而不需要上給出新的信息。在下面的列表中鞋仍,用戶的輸入是大小寫混搭的常摧,ELIZA的回答都是大寫的:
Men are all alike. (患者:男人都一樣)
IN WHAT WAY (ELIZA:哪方面來說)
They're always bugging us about something or another. (患者:他們總是說我們這兒不好的那兒不好)
CAN YOU BE MORE SPECIFIC (ELIZA:能更加具體一些么?)
Well, my boyfriend made me come here. (患者:恩威创,我男朋友讓我到這里來的)
YOUR BOYFRIEND MADE YOU COME HERE (ELIZA:你男票讓你來的落午?)
He says I'm depressed much of the time. (患者:他說我大多時(shí)候都很沮喪)
I AM SORRY TO HEAR YOU ARE DEPRESSED(ELIZA:沮喪么?我很抱歉)
It's true. I am unhappy. (患者:這是真的肚豺,我很不高興)
DO YOU THINK COMING HERE WILL HELP YOU NOT TO BE UNHAPPY (ELIZA:你覺得來這里可以讓你高興起來)
I need some help, that much seems certain. (患者:我覺得我需要幫助板甘,這是肯定的)
WHAT WOULD IT MEAN TO YOU IF YOU GOT SOME HELP (ELIZA:對(duì)你來說什么會(huì)對(duì)你有幫助呢)
Perhaps I could learn to get along with my mother. (患者:也許我該試著和我媽媽好好相處)
TELL ME MORE ABOUT YOUR FAMILY(ELIZA:跟我說說你的媽媽)
這個(gè)對(duì)話令人印象深刻,程序?qū)芏嗟幕卮鸲急容^合理详炬,甚至可以說是“善解人意”的盐类。但是正如Weizenbaum解釋說的,這種表現(xiàn)是一種幻像呛谜,程序?qū)?yīng)一些困難的理解的時(shí)候在跳,會(huì)通過仔細(xì)的分析,轉(zhuǎn)化隐岛,對(duì)輸入一步步回應(yīng)猫妙。整個(gè)過程就是在尋找特定的模式,基于輸入的關(guān)鍵詞或者單詞聚凹。例如割坠,程序檢索到輸入中有單詞,alike或者same妒牙,就會(huì)打印相似的信息來詢問彼哼,in what way。其他的模式或許更加復(fù)雜湘今。在后面的談話中敢朱,ELIZA首先會(huì)放棄逗號(hào)后面的所有信息,使用模式搜索關(guān)于I need X的信息反饋摩瞎,轉(zhuǎn)化成輸出what would it mean to you if you got X拴签,X在這里就是some help。這個(gè)方法最大的好處就是每一個(gè)問題都會(huì)帶來更多的輸入:需要一個(gè)假期就會(huì)返回有了假期的話對(duì)你意味著什么旗们?對(duì)于程序來說這都是自動(dòng)完成的蚓哩,假期和幫助沒有什么區(qū)別。這個(gè)程序的缺點(diǎn)在于有時(shí)候會(huì)做出一些愚蠢的回答上渴。我需要這個(gè)就像我的腦袋上有個(gè)洞一樣岸梨,程序就會(huì)回答喜颁,你的腦袋上有個(gè)洞的話對(duì)你意味著什么?盛嘿,事實(shí)上洛巢,程序僅僅會(huì)對(duì)那些有意義的輸入產(chǎn)生有意義的輸出括袒,還要有人很好的解釋答案才行次兆。對(duì)于沒有意義的輸入,程序會(huì)照本宣科锹锰,不顧是錯(cuò)誤的回答芥炭。另一個(gè)原始ELIZA程序的例子就是和另一個(gè)程序PARRY進(jìn)行通信,這個(gè)程序是由Kenneth Colby博士根據(jù)模仿偏執(zhí)行為寫成的恃慧。一部分對(duì)話摘錄如下:
I don't understand your motives. (PARRY:我不明白你的動(dòng)機(jī))
WHY DON'T YOU UNDERSTAND MY MOTIVES? (ELIZA:為什么你不明白我的動(dòng)機(jī))
Shouldn't I be? (PARRY:我應(yīng)該明白么园蝠?)
WHY DO YOU SAY THAT JUST NOW? (ELIZA:你剛說的是什么意思?)
That's just the way it is. (PARRY:字面意思)
SUPPOSE THAT'S JUST THE WAY IT WERE NOT. (ELIZA:假設(shè)是不是字面的意思)
So? (PARRY:所以呢痢士?)
I AM NOT SURE I UNDERSTAND YOU FULLY. (ELIZA:我不確定我明白你的意思)
You harp on the same questions too much. (PARRY:你太執(zhí)著了彪薛,死抓一個(gè)問題)
WHAT DOES THAT SIMILARITY SUGGEST TO YOU? (ELIZA:有什么相似的可說的)
I don't get you. (PARRY:我沒明白你的意思)
DO YOU WISH THAT YOU DID GET I?(ELIZA:你是希望我明白我自己?)
這表明ELIZA和PARRY對(duì)對(duì)話都沒有深入的理解怠蹂。當(dāng)有人類來承擔(dān)大部分對(duì)話中信息的理解的時(shí)候善延,程序還算是可以,但是人類的角色從對(duì)話中拿掉城侧,程序的弱點(diǎn)就開始暴露了易遣。