跳轉到

1950-圖靈測試與機器翻譯之問#

案件摘要#

1950 年,圖靈(Alan Turing)在《Mind》期刊發表〈Computing Machinery and Intelligence〉,面對「機器能思考嗎」這個糾纏不清的哲學問題,他做了一個大膽的偵探式操作:不去定義「思考」,而是用一場可操作的「模仿遊戲」(imitation game)取代它。同一篇文章裡,圖靈也對機器翻譯提出了關鍵洞見——逐詞字典替換注定失敗,因為翻譯需要語義理解。這篇文章同時埋下了兩條懸案:圖靈測試成為 AI 的哲學標竿,而「語義理解」問題則懸宕六十年,成為 2020 年代大型語言模型辯論的原點。

前因 -- 為什麼會有這個案子#

  • 1936 年圖靈已提出圖靈機(Turing machine),證明存在通用計算裝置,但「計算」與「思考」的關係仍是空白。
  • 1940 年代電子計算機(ENIAC、Manchester Mark I)問世,機器展現出以往被認為專屬人類的數字能力,哲學界開始爭論機器能否思考。
  • 常見的反對論證:意識論證(機器沒有感受)、神學論證(思考是靈魂的功能)、數學論證(Gödel 不完備定理限制機器)、Lovelace 夫人論證(機器只會照程式做事,沒有原創性)。
  • 「思考」一詞沒有公認定義,任何辯論都容易淪為文字之爭——圖靈決定「換一個問法」。
  • 戰後密碼破解與語言情報工作讓「機器處理人類語言」成為具體的工程問題,機器翻譯的討論即將爆發。

線索與推理 -- 數學式、程式、理論#

模仿遊戲的規則#

圖靈的偵探手法是「操作化定義」:把「機器能否思考」換成「機器能否在模仿遊戲中不被識破」。

  • 三名參與者隔離:一位人類(性別為 A)、一位機器(企圖模仿人類)、一位人類判別者(interrogator)。
  • 判別者只能透過打字問答(teletype)與另兩方溝通,看不到也聽不到對方。
  • 經過五分鐘(圖靈原始版本)問答後,判別者必須判斷哪一方是人、哪一方是機器。
  • 若機器被誤判的頻率接近隨機猜測,即通過測試。

形式化:設判別者答對的機率為 \(P\) ,隨機猜測的基準是

\[ P_{\text{random}} = \frac{1}{2} \]

若機器能讓 \(P\) 不顯著高於 \(1/2\) ,則我們沒有理由否認它「能思考」——至少在語言行為這個可觀察的層面上。

離散狀態機與圖靈機#

  • 圖靈將數位計算機描述為「離散狀態機」(discrete state machine):狀態數有限、依確定規則轉移。
  • 這與圖靈機同構:通用圖靈機可以模擬任何離散狀態機,因此「特殊化的機器」可以被「通用機器加程式」取代。
  • 這個對照是模仿遊戲可行性的理論地基:既然機器是通用計算裝置,它原則上可以模擬任何人類語言行為。

逐詞字典翻譯必敗#

圖靈在文中舉了一個機器翻譯的例子:把俄語句子逐詞查字典替換成英語,會得到荒謬結果。他觀察到句子不是詞的無序集合——語法結構與語義必須一起處理。

典型示範(逐詞替換的災難):

  • 俄語原文(示意):«Дочь писателя читает книгу»
  • 逐詞替換得「daughter of writer reads book」——尚可,但換一句語序不同的句子就會崩潰。
  • 英語「Time flies like an arrow」逐詞譯回,機器無法判斷 "flies" 是動詞還是名詞、何者是修飾對象。

結論:翻譯不是碼錶式的查表,需要理解句子的結構與語義。這是「語義理解」懸案的第一次現蹤。

學習 vs 編程的預言#

  • 圖靈提出「child machine」(兒童機器)概念:與其手工編寫成人智能,不如造一個會學習的機器,像教育兒童一樣訓練它。
  • 他預言以記憶容量換算,1970 年代的機器將有足夠儲存空間承載這類學習——這是機器學習路線的先聲,也是日後統計 NLP 與 LLM 的哲學伏筆。

程式碼示範:模仿遊戲與逐詞翻譯的失敗#

import random

# 逐詞字典翻譯示範:只靠查表會失敗
ru_en = {
    "Дочь": "daughter", "писателя": "writer's", "читает": "reads",
    "книгу": "book", "время": "time", "летит": "flies",
    "как": "like", "стрела": "an arrow",
}

def word_by_word_translate(sentence):
    return " ".join(ru_en.get(w, f"[?{w}?]") for w in sentence.split())

print(word_by_word_translate("Дочь писателя читает книгу"))
# -> daughter writer's reads book   (詞序錯誤,所有格結構消失)
print(word_by_word_translate("Время летит как стрела"))
# -> time flies like an arrow       (碰巧成功,因為語序恰好一致)

# 簡化模仿遊戲:判別者依「回答是否像人」打分
def interrogator(answer_a, answer_b):
    human_like = lambda s: sum(kw in s for kw in ["覺得", "記得", "希望", "討厭"])
    score_a, score_b = human_like(answer_a), human_like(answer_b)
    return "A 是人" if score_a >= score_b else "B 是人(機器騙過判別者)"

answers = [
    ("我記得去年夏天的雨聲,覺得很懷念。", "詩歌:雨聲:情感:正面"),
    ("我討厭排隊,希望以後都不用等。",     "排隊:等待:情感:負面"),
]
for a, b in answers:
    print(interrogator(a, b))

# 統計驗證:若機器與人類回答難以區分,判別者勝率應趨近 1/2
random.seed(0)
wins = sum(random.random() < 0.6 for _ in range(10000))
print(f"判別者勝率約 {wins/10000:.2f}(越接近 0.5,機器越難被識破)")

結案 -- 後果與影響#

  • 圖靈測試成為 AI 領域的哲學標竿:「能否騙過人類判別者」成為可操作的智能判準,也引發至今未歇的哲學辯論(Searle 的中文房間即針對此)。
  • 機器翻譯獲得問題意識:圖靈指出逐詞替換必敗,直接催生 1954 年 Georgetown-IBM 實驗及其後續的規則法翻譯。
  • Loebner Prize(1991 年起)以圖靈測試為競賽形式,雖然學界對其價值評價不一。
  • 圖靈對行為主義式判準的自我限制有清楚自覺——他只談「語言行為的可觀察面」,把「機器是否真的有意識」留在場外。
  • 「語義理解」成為六十年未解的懸案:2020 年代大型語言模型能否「理解」語言、能否真正通過圖靈測試的辯論,原點正是這篇文章。

關鍵人物與文獻#

  • Alan Turing (1950). "Computing Machinery and Intelligence." Mind 59(236): 433–460.
  • Alan Turing (1936). "On Computable Numbers, with an Application to the Entscheidungsproblem." Proceedings of the London Mathematical Society s2-42: 230–265.
  • Alan Turing (1948). "Intelligent Machinery." National Physical Laboratory Report(1970 年收錄於 Machine Intelligence 5).
  • John Searle (1980). "Minds, Brains, and Programs." Behavioral and Brain Sciences 3(3): 417–424.(對圖靈測試的著名反駁)
  • A. M. Turing (1952). "Can Automatic Calculating Machines Be Said to Think?" BBC 廣播討論,收錄於 The Essential Turing (2004), Oxford University Press.