自然語言處理
自然語言處理大體是從1950年代開始,雖然更早期也有作為。1950年,艾伦·图灵發表論文「計算機器與智能(英语:Computing Machinery and Intelligence)」,提出現在所謂的「圖靈測試」作為判斷智能的條件。
1954年的乔治城-IBM实验涉及全部自動翻譯(英语:automatic translation)超過60句俄文成為英文。研究人員聲稱三到五年之內即可解決機器翻譯的問題。[2]不過實際進展遠低於預期,1966年的ALPAC報告(英语:ALPAC report)發現十年研究未達預期目標,機器翻譯的研究經費遭到大幅削減。一直到1980年代末期,統計機器翻譯系統發展出來,機器翻譯的研究才得以更上一層樓。
1960年代發展特別成功的NLP系統包括SHRDLU——一個詞彙設限、運作於受限如「積木世界」的一種自然語言系統,以及1964-1966年约瑟夫·维森鲍姆模擬「個人中心治療」而設計的ELIZA——幾乎未運用人類思想和感情的訊息,有時候卻能呈現令人訝異地類似人之間的互動。「病人」提出的問題超出ELIZA 極小的知識範圍之時,可能會得到空泛的回答。例如問題是「我的頭痛」,回答是「為什麼說你頭痛?」
1970年代,程式設計師開始設計「概念本體論」(conceptual ontologies)的程式,將現實世界的資訊,架構成電腦能夠理解的資料。實例有MARGIE、SAM、PAM、TaleSpin、QUALM、Politics以及Plot Unit。許多聊天機器人在這一時期寫成,包括PARRY(英语:PARRY) 、Racter(英语:Racter) 以及Jabberwacky(英语:Jabberwacky) 。
一直到1980年代,多數自然語言處理系統是以一套複雜、人工訂定的規則為基礎。不過從1980年代末期開始,語言處理引進了機器學習的演算法,NLP產生革新。成因有兩個:運算能力穩定增加(參見摩爾定律);以及喬姆斯基語言學理論漸漸喪失主導(例如轉換-生成文法)。該理論的架構不傾向於語料庫——機器學習處理語言所用方法的基礎。有些最早期使用的機器學習演算法,例如決策樹,是硬性的、「如果-則」規則組成的系統,類似當時既有的人工訂定的規則。不過詞性標記(英语:part-of-speech tagging)將隱馬爾可夫模型引入NLP,並且研究日益聚焦於軟性的、以機率做決定的統計模型,基礎是將輸入資料裡每一個特性賦予代表其份量的數值。許多語音識別現今依賴的快取語言模型(英语:cache language model)即是一種統計模型的例子。這種模型通常足以處理非預期的輸入數據,尤其是輸入有錯誤(真實世界的數據總免不了),並且在整合到包含多個子任務的較大系統時,結果比較可靠。
許多早期的成功屬於機器翻譯領域,尤其歸功IBM的研究,漸次發展出更複雜的統計模型。這些系統得以利用加拿大和歐盟現有的語料庫,因為其法律規定政府的會議必須翻譯成所有的官方語言。不過,其他大部分系統必須特別打造自己的語料庫,一直到現在這都是限制其成功的一個主要因素,於是大量的研究致力於從有限的數據更有效地學習。
近來的研究更加聚焦於非監督式學習和半監督學習的演算法。這種演算法,能夠從沒有人工註解理想答案的資料裡學習。大體而言,這種學習比監督學習困難,並且在同量的數據下,通常產生的結果較不準確。不過沒有註解的數據量極巨(包含了全球資訊網),彌補了較不準確的缺點。
2011年以来,深度學習技巧紛紛出爐[3][4]在自然語言處理方面獲得最尖端的成果,例如語言模型[5]、語法分析[6][7]等等。2017年Transformer模型诞生[8];2018年BERT模型推出,提出了预训练的方法[9]。
2022年底,随着ChatGPT等大型语言模型的推出,自然语言处理的重点从自然语言理解转向了自然语言生成。
历史发展(按技术范式划分)
编辑
1. 规则驱动时期(1950s-1980s)
编辑
1950年:艾伦·图灵提出「图灵测试」,奠定NLP理论基础。
1954年:乔治城-IBM实验首次实现俄英机器翻译,但过度乐观的预期导致1966年ALPAC报告后经费削减。 (修改说明:补充技术挫折背景)
1960s代表性系统:
SHRDLU(受限积木世界对话)
ELIZA(模拟心理治疗的聊天机器人),其模式匹配应答机制暴露早期NLP的局限性。
2. 统计方法兴起(1980s-2010s)
编辑
关键转折:摩尔定律提升算力 + 乔姆斯基理论式微 → 机器学习成为主流。
技术突破:隐马尔可夫模型(词性标注)、统计机器翻译(IBM主导)。 (修改说明:明确技术关联性)
3. 深度学习时代(2011年至今)
编辑
2017年:Transformer架构诞生[8],解决长距离依赖问题。 (修改说明:补充架构意义)
2018年:BERT提出预训练范式[9],推动迁移学习在NLP的应用。