国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

人工智能在自然語言處理中的應用

2018-02-22 02:54:24李彥峰
襄陽職業(yè)技術學院學報 2018年4期
關鍵詞:機器語法邏輯

李彥峰

(蘭州大學 信息科學與工程學院, 蘭州 730000)

一、自然語言處理

(一)概述

自然語言處理就是利用電子計算機為工具對人類特有的書面和口頭形式的自然語言的信息進行各種類型處理和加工的技術。這種技術因為運用環(huán)境和發(fā)展?jié)摿薮?,已經成為一門專門的邊緣性交叉學科,涉及到語言學、計算機科學以及數(shù)學等。自然語言處理的目的在于建立各種自然語言處理系統(tǒng),包括機器翻譯系統(tǒng)、自然語言理解系統(tǒng)、自動檢索系統(tǒng)、文字自動識別系統(tǒng)、數(shù)據(jù)庫系統(tǒng)等。

自然語言是人腦的高級功能之一,也是人類區(qū)別于其他動物的重要標志。人類可以借助于自然語言交流思想,在人際交往及社會組成中發(fā)揮了巨大作用。另外,人類還借助于自然語言進行思維活動,認識事物的本質和規(guī)律。所謂“腦海中的聲音”,意味著人類無法脫離一個表達性質的工具來進行思考,每次人類進行思考的時候,其實是相當于自己和自己進行著對話??梢哉f,離開了自然語言,人類社會和科學技術的發(fā)展不可能如此井然有序地進行。

自計算機誕生以來,人類與計算機交互只能通過編程語言編寫的代碼來實現(xiàn),如使用basic,pascal,C,lisp等計算機程序設計語言。對于計算機來說,它只能根據(jù)二進制的指令來做出不同的行為反應,而程序設計者則往往在這個過程中起到了翻譯的功能,即將在自然語言表述下的功能需求,用程序設計語言表述,再由特定的編譯轉化為機器可以理解的二進制指令。計算機能夠做我們想要完成的事情,但是它并不真正理解我們的語言。從這個意義上來說,如果想要讓計算機足夠智能,讓計算機能夠直接理解我們的命令顯然是非常重要的,而在這其中,自然語言的處理即是人與計算機溝通的橋梁。

(二)遇到的困難

要解釋自然語言處理中遇到的困難,可以先從程序設計語言和自然語言的區(qū)別談起:為什么計算機可以處理程序設計語言編寫的代碼,而不能理解人類的自然語言?使用程序設計語言來編寫代碼,本質上就是使用該語言提供的元結構進行組織搭建,創(chuàng)建新的模型。所謂的元結構,也就是程序設計語言中不可分割的基本指令集。程序設計者可以用這些指令集進行復雜的組合實現(xiàn)想要的功能。程序設計必須是邏輯非常嚴謹?shù)?,故而這些元結構在設計之初,就有著固定且嚴密的邏輯意義,而且這些元結構的數(shù)量都是有限的。

人類平時使用的自然語言與之最大的區(qū)別就在于邏輯性和有限性。因為自然語言并非是由某個機構組織進行設計的,它是在日常生活使用中不斷變化的,正因為如此,任何一門擁有生命力的自然語言,它的詞匯總是不斷增長,隨著社會的不斷變化,舊有的詞匯也會出現(xiàn)一詞多義或詞義變化的現(xiàn)象。例如,在伊麗莎白時期,中古英語正過渡為早期現(xiàn)代英語,英語的語法和詞匯變化都非常明顯,文藝復興導致當時的英語增加了10,000到12,000個新的詞匯。數(shù)據(jù)的大規(guī)模增長增加了自然語言處理的難度,相比于可能僅僅只有幾百個元結構的程序設計語言,自然語言處理的難度是顯而易見的。然而這還僅僅是詞匯方面的問題,更復雜的問題在于,自然語言并非是邏輯嚴謹?shù)?,海量的詞匯可以通過同樣海量的語法規(guī)范來進行組合——甚至同樣的一句話,在不同語境下也可能會有不同的意義。海量的元結構以及難以分析的語法,對計算機的自然語言識別提出了巨大的挑戰(zhàn)。

(三)過去的嘗試

為了解決這個問題,以往的科學家普遍認為,為了讓計算機能夠理解我們的語言,必須讓計算機先擁有類似于人類的智能,而計算機理解自然語言的方式,也應該是與人類理解自然語言的方式是相似的。受到傳統(tǒng)語言學的影響,當時的普遍做法是分析語句和獲取語義。首先把詞匯的含義做成映射關系,然后通過語法規(guī)則進行分析。在這之前,人們必須手動地對語法規(guī)則進行歸納整理,然后把相應的規(guī)則以計算機能夠理解的方式輸入進去。然而在實際操作中,科學家們發(fā)現(xiàn),人們都能夠輕易理解的一些句子卻蘊含了大量的語法規(guī)則,統(tǒng)計下來,語法規(guī)則的數(shù)量至少也能達到幾萬條。[2]有時候為了一個句子,甚至還需要單獨定義一個語法規(guī)則,這樣復雜的語法規(guī)則系統(tǒng)顯然無法承擔自然語言識別的重任。歸納語法的目的是為了達到一通百通的效果,但是當工具的復雜度已經接近于原本問題的復雜度,那么它就失去了它的價值。這種方式更像是強行歸納出來的一個拙劣的系統(tǒng),人們根本無法從中發(fā)現(xiàn)自然語言的規(guī)律。而對于那些已經被定義出來的規(guī)則,人們普遍認為這些語法規(guī)則令人難以理解。從根本上來說,這是因為自然語言都是在使用中產生的,而非由規(guī)則所定義的,人們妄圖逆流而上,可卻不知道這所謂的規(guī)則是否真的是存在。其次,這樣的語法規(guī)則即使能夠被全部地找到,也難以被計算機所使用。

另外,語法和詞義的分析,仍然不能解決自然語言中的上下文相關的特性,即所謂的語境。在使用程序設計語言的時候,因為語法的邏輯足夠嚴密,而且設計過程就是設計者把思想轉換為程序能夠理解的語句,這些特征都使得程序設計語言可以被計算機理解。而對于自然語言來說,除了上文提到的問題之外,還在于自然語言的上下文相關的問題。因為自然語言的語句都是為了人與人之間能夠方便交流,并不考慮計算機能否理解的問題。所以它的語句并非邏輯嚴密,而且通常還需要非常感性地推測在這個語境下這個句子的含義,有時候甚至在說一句話的時候,其中還包含了人類社會約定俗成的一些常識性或者經驗性問題。[1]

例如:“幫忙拿一下桌子上的那本書”。

如果按照文法進行分析,顯然不知道到底是誰幫誰拿一本書,即不知道主體和客體。然而類似于此的句子卻經常在自然語言中出現(xiàn),人類在使用的時候當然可以根據(jù)上下文知道這句話是對誰說的,也能推測出這里應該是幫“我”拿一本書。

類似于例子中的一些隱藏信息都不會在文中具體體現(xiàn),因為人們在看到這些文字的時候總能聯(lián)想到他具體要說的是什么,如果非要把這些隱藏信息加上去,例如:“請你幫我拿一下桌子上的那本書”,雖然也正確,但是這樣在實際應用中顯得拖沓。更重要的是,如果因為實現(xiàn)上的難度而限制了句子解析的范圍,顯然與自然語言處理的初衷相去甚遠——只能理解部分句子的計算機,與使用程序設計語言進行窮舉預設又有什么區(qū)別呢?

在過往的經驗中,正因為人類感性認識的能力,使得一向邏輯嚴密的計算機遇到了困境,為了讓計算機同樣能夠擁有這樣的感性,人們試圖用符合邏輯的規(guī)則來定義這種感性認識,結果卻遇到了上文所述的種種困境。下面將介紹在目前的研究中,通過使用人工智能的方法進行自然語言識別的原理。

二、人工智能

(一)概述

人工智能亦稱機器智能,是指由人類制造出來的機器所表現(xiàn)出來的智能。通常情況下這種智能是指通過計算機實現(xiàn)的智能。顧名思義,人工智能的目標就是通過對于整個系統(tǒng)的分析和設計,使得計算機能夠表現(xiàn)出類似于人類的能力。目前為止,人工智能并沒有一個統(tǒng)一的原理。本文將介紹人工智能在自然語言處理中的應用,淺析在人工智能領域較為著名的方法,以探究其運用于自然語言處理的可能性。

(二)控制論與大腦模擬

正因為許多人類著名的發(fā)明都是起源于對自然界已有的結構的模仿,所以在面對一個希望實現(xiàn)大腦智能的系統(tǒng)來說,最好的參照物就是人類自己的大腦??刂普撆c大腦模擬的方法就是希望通過探索神經學、信息理論以及控制論之間的聯(lián)系,在計算機中實現(xiàn)類似于人類神經系統(tǒng)的智能系統(tǒng),本質上是想通過計算機來模擬一個生物過程。這個想法是非常自然的,但因為人類的大腦實在是太復雜,人類目前為止對于大腦的探索仍然處于懵懂期。模仿的前提應該是充分的了解,人工智能在這個方向上能夠取得怎樣的成就很大程度上取決于人類對大腦的研究進度。顯然在當前這個時間點,這種人工智能的研究方法不可能取得太好的效果。

(三)符號處理

正因為計算機設計語言的成功,讓人們開始探索是否能夠把“智能”的實現(xiàn)用類似于計算機設計語言的邏輯符號來進行表示,這與本文開頭介紹的傳統(tǒng)的自然語言處理方法的思路類似。但無論是智能的實現(xiàn)或是自然語言的處理,它們之所以如此吸引人們,正是因為足夠復雜,且并非邏輯嚴謹?shù)?。這些特性天然地就與符號處理的思路——邏輯定義與表示相沖突。也因此,很多人認為符號系統(tǒng)永遠不可能模仿人類的認知過程,特別是一些相關于學習、感知等非理性部分。

(四)統(tǒng)計學方法

利用復雜的數(shù)學工具來解決特定的分置問題,是現(xiàn)在人工智能領域較為熱門的研究方法。其中較為著名的算法即機器學習算法,該算法是一類從數(shù)據(jù)中自動分析獲得規(guī)律,并且利用規(guī)律對位置數(shù)據(jù)進行預測的算法??梢詮臋C器學習的大體實現(xiàn)概念看出,機器學習與推斷統(tǒng)計學聯(lián)系尤其密切。這種算法并不需要對大腦進行模擬,也不需要由人工來進行規(guī)則的整合或者符號化,僅僅是利用大量的數(shù)據(jù),就可以讓計算機自己學習,大大降低了人工智能相關問題的開發(fā)難度。通常機器學習課程分為監(jiān)督學習和非監(jiān)督學習。它們的區(qū)別在于,訓練所用的數(shù)據(jù)是否有人工標注。監(jiān)督學習,一般采用的步驟是在數(shù)據(jù)集的基礎上,構建一個評價系統(tǒng),被訓練的人工智能系統(tǒng)對于給定的數(shù)據(jù)集做出判斷,再由人工對于給出的判斷進行評價。在人類看來較為正確的判斷,給這個結果的打分就較高,反之對于不夠理想的結果,打分就偏低。通過這樣不斷地反饋調節(jié),待訓練的人工智能系統(tǒng)會被訓練成為一個傾向于做出評價分更高的判斷,實現(xiàn)了和人類相近的判斷,即通常意義上的“智能”。而對于非監(jiān)督性的學習,系統(tǒng)一般采用聚類分析的方法,對于沒有標簽的數(shù)據(jù)集(即數(shù)據(jù)的結果沒有經過任何人工的預處理),自動發(fā)掘其內在的關系。另外,介于兩者之間的強化學習方法,雖然沒有精確的標簽和結果,但是會對于每一個可以預測的步驟和行為做出反饋,從而強化系統(tǒng)做出較為“智能”的選擇的傾向。

三、機器學習與自然語言處理

(一)概述

現(xiàn)在人工智能的飛速發(fā)展,主要得益于統(tǒng)計學方法及從此誕生的機器學習的思想,而之前的研究方法都或多或少遇到了瓶頸而停止了發(fā)展。現(xiàn)在,人們通過獲取并輸入海量的數(shù)據(jù),讓計算機能夠在這些數(shù)據(jù)集中自己找到其中的規(guī)律。不同于以往的使用邏輯嚴密的語言告訴計算機應當怎樣做,現(xiàn)在我們所做的只是把基礎的數(shù)據(jù)和正確的答案給計算機,在中間的過程中為什么計算機做出這樣的判斷其實并不重要。那么這樣的思想,對自然語言處理有怎樣的啟發(fā)呢?

(二)圍棋AI的機器學習

因為圍棋人工智能AlphaGo在社會上產生了巨大的影響,而且圍棋和自然語言處理的復雜度都是極高,且在研究的歷史上,都曾經嘗試過編寫一個“正確的規(guī)則”,最后都殊途同歸地走向了機器學習,故本文將以圍棋人工智能AlphaGo為例,介紹機器學習的大致方法。AlphaGo項目的研究人員中并沒有特別高水平的圍棋選手,如果按照以往的人工智能的思路,研究人員必須要把如何更好地獲勝采用邏輯較為嚴密的語言編寫為程序,使得AlphaGo在對局的時候能夠利用自己超高的運算能力在“獲勝技巧”中不斷窮舉運算,從而做出最優(yōu)解。這也是以往在象棋等棋牌類游戲中人工智能的思路。[3]然而圍棋之所以有挑戰(zhàn)性,正是因為圍棋的可能性有太多種,根本無法依靠窮舉來計算下幾步可能的結果,無法進行比較,也就無從談起所謂的“最優(yōu)解”了。更何況,研究人員并非什么圍棋大師,也無從編寫能夠戰(zhàn)勝人類圍棋第一人的“獲勝規(guī)則”。而之所以AlphaGo能夠在之后的棋局中戰(zhàn)勝世界圍棋第一人,正是人工智能采取新的機器學習思路的勝利。在構建系統(tǒng)的初期,研究人員先給AlphaGo足夠多的棋局數(shù)據(jù),AlphaGo利用自己的運算能力不斷學習。無可否認的是,勝利的天平總會因為某些操作而發(fā)生微小的傾斜,人類不具備從大量數(shù)據(jù)中歸納出細微規(guī)則的能力,更加無法把他表述給計算機。之前的研究方式像是犯了一個本末倒置的錯誤——把計算機擅長的事情交給了人類來做,而讓計算機只是作為一個檢索的傀儡。AlphaGo能夠從海量的棋局中分析出哪些因素和操作對于自己的勝利更加有利——可能這些復雜而又微小的規(guī)律都難以用自然語言來表述,但是顯然這些對于計算機來說都比去理解人類表述的拙劣的規(guī)則要更簡單。

(三)簡單的自然語言處理模型

在具體的涉及到自然語言處理時,所謂的學習數(shù)據(jù)從棋局變成了語料庫。下面將以一個簡單的自然語言問答系統(tǒng)為例,簡要介紹其中的步驟,以方便從宏觀上簡單理解其中的原理。

1.數(shù)據(jù)加載。首先,既然是機器學習算法,那么就需要進行數(shù)據(jù)加載,而數(shù)據(jù)加載又可以分為兩個部分:加載語料和預處理。其中,加載語料可以認為是簡單的數(shù)據(jù)存儲在系統(tǒng)能夠訪問的數(shù)據(jù)庫里,之后數(shù)據(jù)會從數(shù)據(jù)庫中流向設計好的神經網(wǎng)絡模型。而預處理的目的是為了讓數(shù)據(jù)更規(guī)范,一般而言是把語料組合成輸入需要的格式,從人類的角度把數(shù)據(jù)變得更易于機器理解,從而增加機器學習的效率。在這個過程中,不同的預處理模型可能會影響到機器學習的效果,這里不再表述。

2.訓練過程。機器學習模型一般使用神經網(wǎng)絡,輸入序列從左側進入,輸出序列為包含多個結果數(shù)值序列。在這個過程中,研究人員需要設置超參數(shù)、模型的各項參數(shù),如問題的最大長度、神經元個數(shù)等,再設置神經網(wǎng)絡的激活函數(shù)(損失函數(shù)),例如最大似然等思想使得該神經網(wǎng)絡能夠在一定程度上進行忽略和模擬。至此,一個簡單的神經網(wǎng)絡已經建成,再往后就是進行迭代訓練,使數(shù)據(jù)不斷地流向神經網(wǎng)絡模型。

3.觀察效果。因為超參數(shù)即模型的設置等可能會有不合理之處,在訓練過程中,可以觀察損失函數(shù)和準確度的變化,根據(jù)這些變化可以幫助優(yōu)化模型,輔助超參數(shù)的設置。

四、結束語

自然語言處理是計算機科學中的重要課題,但因為自然語言處理巨大的復雜性,使得以邏輯為基礎的符號模型化研究方法難以取得較為理想的進展。然而,隨著人工智能技術的發(fā)展,特別是機器學習的運用,對于類似規(guī)則復雜、非邏輯嚴謹?shù)膯栴}有了較理想的解決方案。相信隨著人工智能研究的不斷發(fā)展,實現(xiàn)人類與機器的無障礙交流也許就在不遠的將來。

猜你喜歡
機器語法邏輯
刑事印證證明準確達成的邏輯反思
法律方法(2022年2期)2022-10-20 06:44:24
機器狗
機器狗
邏輯
創(chuàng)新的邏輯
跟蹤導練(二)4
KEYS
未來機器城
電影(2018年8期)2018-09-21 08:00:06
Keys
Book 5 Unit 1~Unit 3語法鞏固練習
新闻| 深水埗区| 永仁县| 玛曲县| 周至县| 安徽省| 四平市| 将乐县| 平南县| 侯马市| 衢州市| 重庆市| 格尔木市| 遂川县| 永昌县| 吴堡县| 中宁县| 河北区| 托克托县| 左权县| 兰坪| 应用必备| 时尚| 西昌市| 井冈山市| 栾川县| 明溪县| 三原县| 泉州市| 浪卡子县| 广水市| 板桥市| 徐闻县| 华池县| 石狮市| 礼泉县| 灌云县| 永川市| 九龙县| 湘阴县| 利川市|