複製鏈接
請複製以下鏈接發送給好友

人工智能語言

鎖定
人工智能(AI)語言是一類適應於人工智能和知識工程領域的、具有符號處理和邏輯推理能力的計算機程序設計語言。能夠用它來編寫程序求解非數值計算、知識處理、推理、規劃、決策等具有智能的各種複雜問題。
中文名
人工智能語言
外文名
AI language
主要例子
LISPPrologSmalltalkC++
定    義
適應於人工智能和知識工程領域的、具有符號處理和邏輯推理能力的計算機程序設計語言

人工智能語言簡介

人工智能(AI)語言是一類適應於人工智能和知識工程領域的、具有符號處理和邏輯推理能力的計算機程序設計語言。能夠用它來編寫程序求解非數值計算、知識處理、推理、規劃、決策等具有智能的各種複雜問題。典型的人工智能語言主要有LISPPrologSmalltalkC++等。
一般來説,人工智能語言應具備如下特點:
  • 具有符號處理能力;
  • 適合於結構化程序設計,編程容易;
  • 具有遞歸功能和回溯功能;
  • 具有人機交互能力;
  • 適合於推理 [1] 

人工智能語言發展

許多對信息技術劃代的標準都是硬件,如電子管為第一代,晶體管為第二代,集成電路為第三代,等等,對用户來説,與計算機打交道要通過計算機語言,一般把機器語言稱為第一代,第二代是彙編語言,第三代是ALGOLCOBOLFORTRAN等語言,第三代語言延續時間較長,從六十年代開始,在七十年代得到進一步發展,但是隨着計算機應用的普及,到七十年代末出現一些第四代語言的產品。
第四代語言這個術語是由J.Martin首先創立並積極推廣,他和P.Mimn下的簡單定義是:
  • 用户得結果的時間只需第三代語言的十分之一,
  • 系統與用户比較友好,易於學習和記憶,
  • 既適合於最終用户又適合於數據處理專業人員使用。
根據J.Martin定義,依應用生成的類型而區分為集成的個人計算機工具,查詢語言和報表生成器,圖象語言,決策支持和財會模型系統,面向最終用户的應用生成器,面向數據處理專業人員的應用生成器,等等。有人説,前三代語言應用於工業時代,而第四代語言則標誌着信息時代的開始。
現在,計算機語言仍是計算機科學和計算機軟件中的活躍分支,其研究領域可分為:語言理論、設計、處理實現和環境。語言種類也大大擴充,包括:需求、設計、實現語言,函數、邏輯和關係語言;分佈式、並行和實時語言;面向對象的語言,硬件描述語言;數據庫語言;視覺圖形語言;協議語言原型語言,自然語言 [2] 
在人工智能的研究發展過程中,從一開始就注意到了人工智能語言問題。實際上四十多年來有一百來種人工智能語言先後出現過,但很多都被淘汰了。它們大抵有三個來源。第一個來源是計算機科學家們對可計算性理論的研究。例如,LISP語言是為處理人工智能中大量出現符號編程問題而設計的,它的理論基礎是符號集上的遞歸函數論。已經證明,用LISP可以編出符號集上的任何可計算函數。Prolog語言是為處理人工智能中也是大量出現的邏輯推理問題(首先是為解決自然語言理解問題)而設計的。它的理論基礎是一階謂詞演算(首先是它子集Horn子句演算)的消解法定理證明,其計算能力等價於LISP。OPS5面對的問題也是邏輯推理。不過PROLOG是向後推理,OPS5是向前推理。OPS5的理論基礎是Post的產生式系統,其計算能力也等價於LISP。第二個來源是認知科學的研究成果。人們研究出各種各樣的認知模型,併為這些模型設計相應的知識表示語言。例如產生式表示、框架表示、語義網絡表示等實際上都有其認知模型作為背景。如上所述的OPS5是產生式表示的語言,SRL、FRL、FEST等是框架語言,概念圖和SNetI都是語義網絡表示語言。面向對象的程序設計是在SIMULA中的類程和Minsky的框架表示兩種思想融合的基礎上發展起來的(它適用於計算機軟件的所有領域,不只是人工智能)。

人工智能語言人工智能語言系統理論研究

在這個問題上,國外一些卓有成就的語言學家、邏輯學家和心理學家都在自然語言理解中的語法、句法及語義分析方面提出了一系列較為系統的理論方法。比較有影響的理論有:

人工智能語言轉換生成語法

1957年美國的喬姆斯基(N.Chomsky)創建了轉換生成語法(Transformational Generative Grammar)。喬姆斯基用數字方法定義的人工語言(形式語言)來研究語言學同題,用他的語言生成方法去研究形式語言。喬姆斯基將句子的結構分為深層結構和表層結構兩個層次,一些表達相同意義的句子儘管表層結構不同,但其深層結構卻是相同的。轉換生成語法的原理是,通過上下文無關語法生成句子的深層結構,然後應用轉換規則再將深層結構轉換為表層結構。在喬姆斯基的語法中基本上完全拋開了語義、語用和語境(廣義)方面的知識,只侷限在一個形式化的機制上,因此很難完整確切地描述自然語言。

人工智能語言依存語法

1959年法國的語言學家特思尼耶爾(Lucien Tesniere)提出了依存語法(Dependency Grammar)。依存語法描述的是句子中詞與詞之間直接的句法關係。特思尼耶爾認為詞與詞之間存在着一種“依存”關係。這種關係原則上將一個上項詞與一個下項詞聯繫起來,上項叫支配詞,下項叫從屬詞。一個詞可以同時是某個上項的從屬詞和另一個下項的支配詞,這樣句子裏的所有詞便構成一個“分層次體系”。動詞是句子的中心,支配句中的其他成分。依存語法由於依存關係的數目不宜過多或過少。過少的依存關係使得語言描寫的深度和精度不夠,而太多的依存關係又會使語言分析和處理的過程太繁雜,代價太高,從而影響它的可操作性。

人工智能語言語義網絡

1968年美國奎廉(Quilian)首次提出了一種知識表示工具——語義網絡(Semantie Network)。奎廉建議用語義網絡來描述人對事物的認識,實際上是對人腦功能的模擬,並希望這種語義網絡能用於進行知識推導。在這個網絡中,代替概念的單位是節點,代替概念之間關係的則是節點間的連接弧,稱為聯想弧。因此這種網絡又稱為聯想網絡。

人工智能語言蒙塔鳩語法

1970年美國蒙塔鳩(R.Montague)創建了一個完備的自然語言體系(U—niversalGrammar)——蒙塔鳩語法。蒙塔鳩語法由三部分組成:第一部分是用喬姆斯基的轉換生成語法推導出成立的句子,第二部分是把成立的句子轉化為內涵邏輯表達式,第三部分是內涵邏輯學的語義理論。這是一套集轉換生成語法、內涵邏輯和語義理論為一體、形式化程度較高的語法體系,較好地解決了語形與語義的關係問題,但它還是一種以句法為目標的分析器,無法解決句子所包含的深層意義以及與其他心智能力的關係等問題。

人工智能語言擴展轉換網絡

1970年美國伍茲(W.A.Woods)根據喬姆斯基創建的轉換生成語法,設計了擴展轉換網絡(Augmented Transitional Network,簡稱ATN),並於1972年建成了LU—NAR模型[1引。擴展轉換網絡既可以看成是一種語法描述工具。在ATN中,文法被表示為一組圖(或稱為網絡),這些網絡表示了句子成分的可能順序以及在處理過程中分析器可能進行的各種選擇。LUNAR是把ATN語法應用於實際問題的一個範例,由於系統只要求有限的性能目標,所以自然語言對話中的某些常見的複雜問題被迴避了。

人工智能語言系統語法

1972年美國維諾格拉德(T.Winograd)根據韓禮德(Halliday)的系統語法提出SCHRRDLU模型。系統語法把語言看成是一種社會現象,採用描述和歸納的方法進行研究。維諾格拉德認為語義理論必須在三個平面上描述關係:確定詞的意義;確定詞組在句法結構中的意義;一個自然語言的句子決不應該被孤立解釋,一種語義理論必須描述一個句子的意義如何依賴於它的上下文,語義理論必須涉及語言學背景(説話的上下文)和現實社會(世界)背景(即同非語言學事實的知識的相互作用),語義理論必須同句法和語言的邏輯方面(演繹推理)相聯繫SCHRRDLU是一個在“積木世界”中進行英語對話的自然語言理解系統。同樣由於系統只在一個簡單的限定領域(積木世界),所以自然語言對話中的某些常見的複雜問題被迴避了。

人工智能語言格語法和語義網絡理論

1973年美國西蒙RFSimmons(R.F.Simmons)在伍茲的ATN的基礎上,採用菲爾摩(Fillmore)的格語法(CaseGrammar)建立了語義網絡理論。格語法將自然語言理解中的語法和語義分析結合起來,它的語法規則是用於描述語法規律而不是語義規律的,但規律所產生的最終結構不是嚴格表示語法結構而是描述語義關係。語義網絡表示描述了知識的分層分類結構下的概念關係,主要推理形式是概念(結點)間屬性的繼承。這種分層的繼承關係刻畫了客觀知識與人類常識。語義網絡表示有實現系統,但一直缺乏理論基礎。

人工智能語言概念依存理論

1972年美國杉克(C.Sehank)提出了概念依存理論(ConceptualDependencyTheory),建立了MARGI系統,1977年又建立SAM系統。杉克認為句子的句法分析對語言理解的幫助不大,句法結構無法提供必要的信息來理解語義,人類在理解語句時全靠生活知識。在理解時,語法只起到一個指引的作用,即根據某些輸人詞語找到所需的概念結構。任何兩段話,只要意思相同,無論是否屬於同一種語言,都有同一個概念內容。概念內容應具有中性的結構形式,超脱於特定的語言文法,超脱於一切表層結構。概念內容由概念及其相互之間的從屬關係構成。由於用概念依存理論來理解自然語言時,大量使用到語義知識,使得對純粹語法分析有二義性的句子亦能賦以唯一的解釋。但另一方面,要很好地完成分析工作又需要龐大的語義知識庫。

人工智能語言境況語義學

1983年美國的巴杯士(John Barwise)和佩裏(John Perry)建立了系統的語義學——境況語義學(situation semantics),發表了他們的代表性著作《境況與態度》。巴杯士和佩裏認為他們的語義理論可以克服傳統的真值條件語義學遇到的一些困難,特別是如何處理態度動詞等問題。境況語義學是一種語義與語用相結合的語義分析理論。廣義的境況包括客觀世界中所有動態和靜態的事件,它是連續時間和連續空間中呈現的連續畫面;狹義的境況是指與某個言語活動相聯繫的動態或靜態事件,即包括該言語活動所涉及的事件。境況理論認為,語言表達式的含義是兩個境況之間的關係:一個是話語發生時的境況,另一個則是該話語所描述的境況,這兩個境況之間的關係要受人們對語言使用規則的約束,正是這種約束決定了語言表達式的含義。語言之所以具有交流信息的功能,是因為對語言使用規則的約束要為整個社會所遵從。境況理論的任務,就是要從客觀世界存在的大量真實境況中,抽象出所有境況共有的內部結構,在此基礎上探討境況之間的約束關係,揭示出語言表達式的含義,從而為基於境況的自然語言理解提供一個具有可計算的數學模型。

人工智能語言語料庫語言學

近幾年來,在國際範圍內掀起了語料庫語言學(CorpusLinguistics)的研究熱潮。語料庫語言學研究機器可讀的自然語言文本的採集、存儲、檢索、統計、語法標註、句法——語義分析以及具有上述功能的語料庫在語言定量分析、詞(字)典編撰、作品風格分析、自然語言理解和機器翻譯等領域的應用 [3] 

人工智能語言人工智能語言與傳統語言的區別

人工智能語言傳統方法

通常把問題的全部知識以各種的模型表達在固定程序中,問題的求解完全在程序制導下按着預先安排好的步驟一步一步(逐條)執行。解決問題的思路與馮·諾依曼式計算機結構相吻合。當前大型數據庫法、數學模型法、統計方法等都是嚴格結構化的方法。
把問題的全部知識以各種的模型表達在固定程序中,問題的求解完全在程序制導下按着預先安排好的步驟一步一步(逐條)執行。這種方法解決嚴格結構(Well Structured)問題非常有效。如果把這類問題形式化為三元組(x,->,y),“x”是給定的信息,“->”為求解途徑,“y”是目標。傳統方法的特點:“x”、“y”是明確的、完備的;“->”有着固定的明確的程式。這個方法之所以有效,主要是因為這個思路與馮.諾依曼式計算機結構相吻合。當前大型數據庫法、數學模型法、統計方法等都是嚴格結構化的方法。

人工智能語言人工智能方法

對於人工智能技術要解決的問題,通常需要建立一個知識庫,程序根據環境和所給的輸入信息以及所要解決的問題來決定自己的行動,所以它是在環境模式的制導下的推理過程。這種方法有極大的靈活性、對話能力、有自我解釋能力和學習能力。這種方法對解決一些條件和目標不大明確或不完備,的非結構化問題比傳統方法好。它採用用試探法來解決問題。人工智能也尚未發展到完全能解決這類問題的全部問題。這類問題是人工智能研究要解決的問題。
人工智能要解決的問題,無法把全部知識都體現在固定的程序中。它要建立一個知識庫(包含事實和推理規則),程序根據環境和所給的輸入信息以及所要解決的問題來決定自己的行動,所以它是在環境模式的制導下的推理過程。這種方法有極大的靈活性、對話能力、有自我解釋能力和學習能力。這種方法對解決一些弱結構(ill structured)問題比傳統方法好。弱結構指“x”、“y”不大明確或不完備,即不能很好地形式化,不好描述。“->”用試探法。AI也尚未發展到完全能解決這類問題的全部問題。這類問題是AI研究要解決的問題。隨之而來也希望計算機硬件結構也來一個革命,突破馮.諾依曼體系結構。

人工智能語言面向主體(Agent,亦稱活體)程序設計

近年來出現了具有人工智能特色面向對象程序設計,稱為面向主體(Agent,亦稱活體)程序設計。往一個對象中增加更多的智能,使它能根據環境的變化進行推理並規劃自己的行為,就得到主體(Agent)。主體概念符合Minsky提出的“意念社會”認知模型,特別適用於分佈環境。經典的面向對象程序設計語言是Smalltalk,面向主體的程序設計語言也已經有了一些,如OZ等,但還沒被大家公認和普遍採用。也有基於PDP認知模型(Parallel Distributed Processing)的神經網絡語言。第三來源是知識工程的實際需要。例如,為了開發各種領域的專家系統而設計的包含不精確推理或不確定推理功能,甚至包含多種不同推理機制的AI語言,例如Loops和TUILI。還有的是看到某一個專家系統做得比較成功,乾脆抽去它的領域知識,留下它的表示方法,也成為一種語言,俗稱專家系統外殼。例如,抽去醫學專家系統MYSIN的領域知識就得到一個外殼語言Emycin。

人工智能語言人工智能語言的特點

由於人工智能研究的問題的特點和解決問題的方法的特殊性,為了能方便而有效地建立人工智能系統,需要發展專門的人工智能語言。人工智能語言的特點是什麼,亦即人工智能語言應具備的特徵是什麼?
一般來説,人工智能語言應具備如下特點:
1.要有符號處理能力(即非數值處理能力);
2.適合於結構化程序設計,編程容易;(要把系統分解成若干易於理解和處理的小單位的能力,從而既能較為容易地改變系統的某一部分,而又不破壞整個系統。)
3.要有遞歸功能和回溯功能;
4.要有人機交互能力;
5.適合於推理;
6.要有把過程與説明式數據結構混合起來的能力,又要有辨別數據、確定控制的模式匹配機制。

人工智能語言名家名言

談到LISP和PROLOG兩種AI語言的重要性,我們可以從美國AI界的權威學者、麻省理工學院教授P.H.Winston(温斯頓)所説的三段話來體會:
(1)温斯頓認為,LISP 語言是AI的數學,不僅對AI的機器實現有重要意義,而且是AI理論研究的重要工具。
(2)“在中世紀,拉丁文和希臘文的知識對所有學者來説,都是必不可少的。只懂一種語言的學者必然是一個殘缺不全的學者,他缺乏從兩個方面來觀察世界所獲得的那種理解力。同樣地,現代的AI專業人員如果不能同時大致通曉LISP和Prolog,也猶如一個殘疾人,因為就廣義來説,這兩種人工智能的主要語言的知識都是必不可少的。”
“我一直熱衷於Lisp,Lisp是在MIT被製造並且在那兒成長起來的。”
(3)概括地説,計算機語言的發展正是一個從HOW型低級語言向WHAT型高級語言進化的過程.在HOW型語言中,程序編制者必須詳細説明運算是怎樣(HOW)一步一步進行的;而在WHAT型語言中,程序編制者只需簡單説明要做的事情是什麼(WHAT) 。 …現代的LISP語言是這些語言的佼佼者,因為採用Common Lisp格式的Lisp具有非凡的表現力,但是如何做某件事情仍然是有待於Lisp程序編制者來表達的東西.相反,Prolog是一種明顯地衝破了HOW型語言陳規的語言, 它鼓勵程序編制者去描述情況和問題,而不是那些用來解決問題的詳細步驟。”
由以上論述可以看出LISP語言和Prolog語言對人工智能學科和人工智能學者的重要性。
一般來説,LISP可以稱為人工智能的彙編語言, Prolog是人工智能更高級的語言。
參考資料