<pre id="bdfbb"><ruby id="bdfbb"></ruby></pre>

    <pre id="bdfbb"><b id="bdfbb"></b></pre>

    <pre id="bdfbb"><del id="bdfbb"><mark id="bdfbb"></mark></del></pre>

          <p id="bdfbb"></p>
          <p id="bdfbb"><del id="bdfbb"><dfn id="bdfbb"></dfn></del></p>

          迎接自然語言處理新時代

          小編:管理員 10閱讀 2022.07.28

          人類的語言具有什么特性?下面是幾位最權威學者的看法。

          語言是草根現象,它像是維基百科,聚集了數以十萬計的人的貢獻。當人們要找到更好的表達自己思想方式的時候,就發明了術語、俚語、新說法,其中一部分積累到語言中,這就是我們得到語言的過程。

          ——史蒂文·平克(Steven Pinker)

          如果語法沒有遞歸結構,那么它將變得不可接受的復雜。因為它有了遞歸的工具,所以它能夠產生無窮多的句子。

          ——諾姆·喬姆斯基(Noam Chomsky)

          我們通常的概念系統的大部分都具有比喻性。我們的思考方式,我們所經歷的,我們每天做的,都與比喻有關。

          ——喬治·雷可夫(George Lakoff)

          當一個人聽到或看到一句話的時候,他使用自己所有的知識和智能去理解。這不僅包括語法,也包括他的詞匯知識、上下文知識,更重要的,是對相關事物的理解。

          ——特里·威諾格拉德(Terry Winograd)

          語言看來是人的認知向外界環境擴展的核心手段。語言的進化也許就是為了擴展我們的認知與外界環境的積極交互。

          ——安迪·克拉克(Andy Clark)

          總結起來,不完全規則性、遞歸性、比喻性、知識關聯性、交互性是人類語言的主要特點。這些特性密切關聯,體現了語言的本質。上述學者對這些語言特性的研究作出了卓越貢獻,他們的論述是對這些特性的最佳詮釋。

          本文從語言的特性出發,討論為什么讓計算機理解人類語言(自然語言)是極其困難的,提出自然語言處理研究應該采取的策略。

          為什么自然語言理解很難?自然語言理解

          你說一句話,如何判斷別人(或者計算機)是否真正理解了你的意思?這是一個難解的問題。到目前為止,自然語言理解主要有兩個定義,一個是基于表示的,一個是基于行為的。對于前者,如果你說“哈利·波特”,別人把它聯系到了大腦中的哈利·波特的概念(表示),那么就認為他理解了你的意思。而對于后者,如果你說“給我拿一杯茶來”,別人真的按你說的做了(行為),就認為他理解了你的意思(圖1)。

          圖1 人通過語言給出命令,機器人若能正確執行,就認為它可以“理解”語言

          現在的人工智能研究中,人們開始傾向于采用后者的定義,因為這樣更容易評價任務驅動、端到端的語言理解系統的能力。

          語言的特性

          下面結合語言學、認知科學、腦科學的最新研究成果,對語言的主要特性進行介紹。

          1. 不完全規則性

          語言具有一定規范,語言的規范可以用語法來描述,但是,幾乎所有的語法規則都存在例外。語法規則中一定有邏輯不一致、功能冗余的現象。正如語言學家愛德華·薩丕爾(Edward Sapir)所說,“所有語法都有漏洞(all grammars leak)”。這是為什么?

          其中一個重要原因是,語言不是一個人發明的,甚至不是一組人發明的,而是成千上萬人經過成千上萬年的時間不斷建立起來的,而且在不斷演化,這個過程跟人們構建維基百科的過程非常相似。這是認知學家平克等人的觀點[1,2],也被越來越多的人接受。

          語言的基本單元是詞匯和語法規則。為了順暢地交流,需要人們對詞匯和語法有基本的共識及準確的使用。另一方面,詞匯和語法又不是一成不變的。為了更好地表達自己的思想,人們會不斷地去擴展已有詞匯和語法規則的使用范圍,或者增加新的詞匯和語法規則。

          語言中不斷有大量的新詞匯涌現,但其中大部分會逐漸消失,只有真正有生命力的表達才能留存下來。每一個語言的詞匯都在不斷增加,隨著文明的進步,這個趨勢會越來越明顯。

          語法是相對穩定的。在遠古時代,語言曾經歷過“語法大發明”的時期,后來逐漸趨于成熟。但是即使在現代,語法也不是一成不變的。首先,有一個趨勢是語法變得越來越簡單。比如,英語中以前說“We shall”、“I shall”,現在逐漸變成“We will”、“I will”。另外,受其他語言影響,語法也會發生變異。比如,非洲美國裔英語(也被稱為黑人英語)是受非洲語言影響而形成的一種英語變種,在這個語言中,“I working”、“you working”是正確的說法,筆者猜測可能是受其他語言的影響。

          不完全規則性是語言作為人類交流手段而動態發展的必然結果。

          2. 遞歸性

          現在普遍認為,詞匯應該有100萬年以上的歷史,而語法大概只有7萬年左右的歷史。而正是在7萬年前,智人(Homo Sapiens),也就是現在人類的祖先,開始從非洲大陸遷移至歐亞大陸,與此同時開始發明各種語言。(語言學中, 只要有口頭語就被認為是“語言”, 而不需要有書面語。)

          黑猩猩也能使用一些簡單的詞匯,但我們不認為黑猩猩擁有語言。因為它們不能把詞匯組合起來構成句子。組合性、遞歸性是語言的重要特點。遞歸的例子如下:“她覺得很好”,“他認為她覺得很好”,“我想他認為她覺得很好”??理論上可以無限擴展。

          1956年,語言學家喬姆斯基提出了文法體系,在人類歷史上首次用數學模型對語法現象做出嚴謹的刻畫。喬姆斯基特別指出,遞歸性屬于語法的重要特性。只有有了遞歸這個工具,我們才能夠生成無窮多的表達,語言才擁有豐富的表達能力[3]。

          3. 比喻性

          比喻的本質是把表面不相關聯的概念,通過它們背后的相似性聯系起來。比如微信里的“潛水”。把“潛水”和在微信里“沉默不語”這兩個概念聯系起來,就是一個比喻。認知科學家雷可夫等認為比喻是語言的重要特性,語言中的發明基本都是基于比喻的[4-6]。

          比喻的使用是人類認知能力、語言能力的體現。中文說“開燈”,英語說“turn on the light”,應該始于比喻,開始有一個人或幾個人同時發明了這些比喻,后來變成了固定說法,被廣泛使用。據觀察,一個英語母語的四歲男孩兒,有創意地說出“open the light”(直譯就是開燈)。這個例子說明,人天生就有比喻、創造的能力。

          比喻是否能被接受并在語言中使用,具有一定的偶然性。一旦比喻變成固定用法,人們就開始習慣性地使用,而不考慮其緣由。比如,中文中所說的“上廁所”、“下廚房”。這些習慣用法都是比喻性的,但是隨著時間的推移,已經很難考證當初為什么做出這樣的比喻。(互聯網上有許多關于“ 上廁所”、“ 下廚房” 語源的討論。)

          比喻也依賴于語言使用的環境與文化。據說,在大多數語言里都有“溫暖的愛”這個比喻,如英語中說“warm affection”,在日語中說“暖かい愛”。這些語言都是溫帶和寒帶的語言,熱帶的語言里就看不到這樣的比喻。

          4. 知識關聯性

          十幾年前,腦科學研究中有一個有趣的發現。當把電極插到猴子的大腦前運動皮質(pre-motor cortex)時,有一個腦細胞會在猴子自己吃香蕉和看別人吃香蕉時,同樣處于興奮狀態,也就是說對猴子來說這個腦細胞對應著“吃香蕉”的概念。(猴子和人的運動都是由小腦控制, 但大腦的前運動皮質也與運動有關。)

          后來對人腦做類似的實驗,但使用功能磁共振。讓人實際做和想象做各種動作,比如張嘴和想象張嘴,接球和想象接球。結果發現,對同一動作,實際做和想象做大腦的前運動皮質中發生反應的部位完全一致。

          現在一個得到廣泛支持的理論認為,對于同一個概念,大腦用固定的腦細胞去記憶,人理解語言的過程,就是激活相關概念的腦細胞,并關聯這些概念的過程[6]。

          表示同一個概念的腦細胞,可以通過不同的方式被激活。例如,有一個細胞表示人在喝水,當你看到人在喝水的時候,或者當你從書中讀到人在喝水的時候,這個腦細胞同樣會被激活。這也能解釋為什么我們在讀小說的時候常常有身臨其境的感覺。

          每個人把自己經歷的事件進行編碼,存儲記憶在腦細胞中,在與外界的交互中這些腦細胞被激活,相關的記憶被喚醒。所以,不同人對同樣的語言會有不同的理解,因為他們的經歷不同。但也有許多共性,因為大家在交流過程中,相互激活對方腦中的表示相同內容的細胞。

          發明比喻的時候,大腦中表示兩個不同概念的部位都開始興奮,相關的腦細胞之間產生新的連接,概念之間產生關聯,這個過程被稱為神經結合(neural binding),是現在腦科學研究的重要課題[6]。

          語言的理解實際上動用了大腦中所有的相關知識,是一個非常復雜的過程。這一點在計算機學家威諾格拉德開發的著名的對話系統SHRDLU中也有充分體現[7]。

          5. 交互性

          語言作為人類交流的工具,其重要特點就是交互。哲學家克拉克等人認為,與環境的交互是人或者動物作為智能體存在的必要條件,或者說,離開了與環境的交互,智能就無從談起[8]。

          圖2 主動貓與被動貓的實驗

          腦科學家赫爾德(Richard Held)和海恩(Alan Hein)的實驗能夠很好地說明與環境的交互對智能體的重要性[9]。實驗對象是一對剛出生的孿生貓,把其中一只當作“主動貓”,另一只當作“被動貓”。白天把它們放到轉馬上,主動貓腳能著地,可以行走;被動貓被放在籃子里,不能行走。主動貓走動時,轉馬被帶動旋轉,這時被動貓也跟著旋轉(圖2)。晚上把它們放到黑暗處,讓它們吃睡。兩個月以后,將它們放出去。主動貓和一般的貓沒有什么不同,可以正常行走,但被動貓已經失去了行走的能力,走路時要么撞墻,要么跌倒。赫爾德和海恩對10對孿生貓做同樣的實驗,得到同樣的結論。

          以上實驗說明,對人或者動物來說,雖然擁有先天能力,但在成長的過程中如果不能在與環境的交互中使用,該能力也會喪失。這一點,語言能力也一樣。當狼孩被發現時,他已不會說話,因為在他的成長階段沒有與人進行語言交互,沒有學習語言。

          語言的理解需要在與環境(包括社會、文化)的交互中進行,這點可以在外語學習的過程中體會到。在外語使用環境中學習外語,最容易理解,提高也最快。嚴格地說,語言是不能翻譯的,只能解釋。語言必須在其環境中學習與使用。

          自然語言理解的困難

          人的語言理解是一個非常復雜的過程,現在科學對其有了非常粗淺的了解,離理解明了所有細節的程度還相差甚遠。

          同時,讓計算機“理解”人類的語言是極其困難的,因為當代計算機和人腦擁有完全不同的架構。在當代計算機上實現不完全規則性和遞歸性,意味著進行復雜的組合計算;實現比喻性、知識關聯性、交互性,意味著進行全局的窮舉計算。是否可行,仍存在巨大疑問。實現能像人一樣理解語言的計算機,需要有全新的體系架構,意味著計算機科學發生革命性的進步。

          讓計算機處理有限的語言表達,讓它看似很智能,其實不難,只要寫出有限的規則就有可能做到。這樣的系統做出的演示往往具有一定的欺騙性,讓人誤以為實現了語言理解。其實一個系統能夠理解語言意味著理論上能夠理解無窮多的語言表達。例如,表1給出了“給我拿一杯茶來”的部分同義說法,理論上類似的表達是無窮多的,一個能理解語言的計算機應該能夠判斷這樣的表達都是同一個意思。而這不是一件容易的事情。關鍵是要讓計算機擁有強健的、通用的語言處理能力。

          人們的錯覺

          人們通常認識不到計算機的自然語言理解極具困難這一事實,可能有以下幾個原因。

          自然語言具有一定的規律。很多人以為只要寫一些規則就可以實現自然語言理解系統,這只是看到了一些非常表面的現象。

          人腦的信息處理大部分都是在下意識中進行,有人說其比例高達98%。意識進行的是順序處理,下意識進行的是并行處理。語言處理也一樣。也就是說,人腦進行的大量的語言處理,我們自己是感受不到的。認為語言理解比較簡單實際上是我們的錯覺。正如彩虹、日出、日落,我們所能直觀感受到的,只是現實中發生的很小一部分。

          絕大部分人可以在12歲之前幾乎無障礙地學會自己的母語,在這個過程中,伴隨著大腦的發育,可以在很短的時間內掌握大量的詞匯和復雜的語法規則。這個現象是一種奇跡,仍然是認知科學研究的重要課題。

          自然語言處理的策略自然語言處理

          自然語言理解是困難的,但是“自然語言處理”卻是可行的,F實中可以讓計算機完成一些特定的語言處理任務,比如自動問答、機器翻譯、多輪對話,為人們提供幫助,使計算機成為人類的智能助手,F在已部分實現,在可預見的未來可以基本實現,這也是現在自然語言處理研究的目標。

          自然語言處理之所以現實可行,主要是因為將人的語言理解過程進行了合理的簡化或者限制,而這些簡化與限制可以回避自然語言理解中的難題,讓計算機表面上像人一樣完成語言處理任務。下面以知識問答和多輪對話為例來說明。

          人的知識問答可能有這樣的處理:得到問題以后,分析問題的內容,理解問題的意思,進行相關的推理,檢索相關的知識,決定回答的內容,最后產生回答,F在計算機做知識問答,沒有真正的自然語言理解,通常把其中的困難步驟省略簡化。計算機的知識問答一般只有以下步驟:分析問題的內容,檢索相關的知識,產生回答(見圖3)。

          圖3 計算機問答處理過程是人的問答處理過程的簡化

          人的對話可能有這樣的處理:對方發話以后,分析發話的內容,理解發話的意圖,進行相關的推理,決定回話的內容,最后產生回話。如果對話是多輪,還有對話管理機制,F在計算機做多輪對話,沒有真正的自然語言理解,通常把對話的領域固定,比如訂機票、訂酒店,并只能在這個領域內進行(見圖4)。

          圖4 計算機的對話處理過程與人的相似, 但適用范圍有很大限制

          兩大策略

          我們認為,自然語言處理可以采用任務驅動與混合模式兩大策略。

          任務驅動的自然語言處理就是在具體的應用中構建系統。這是現在自然語言處理通常采用的策略,仍可以加強。任務驅動的好處是,可以幫助解決避開自然語言理解之后仍存在的一些問題,而這些問題在實際應用中也相對容易解決。

          可以認為自然語言處理經歷了三代技術發展演進,第一代基于規則,第二代基于統計,第三代屬于現在,基于深度學習。各自有優勢和局限。未來的發展方向應該是將這些不同的技術有效地結合起來,即采用混合模式。

          1. 任務驅動

          人工智能系統都遵循這樣的規律,我們稱作“人工智能閉環”(圖5)。先有系統,后有用戶,然后產生大量數據,機器學習算法可以基于數據構建模型,提高系統的性能,系統性能提高后又能更好地服務于用戶,形成一個閉環。人工智能系統可以在這個閉環中不斷改進,提升智能水平。自然語言處理也不例外。當任務確定時,就更容易開展基于人工智能閉環的技術開發。

          圖5 人工智能閉環

          2. 混合模式

          統計方法比起規則方法,能夠更好地應對不確定性。人類的智能,包括語言能力,從數學角度來看,最大的特點就是擁有不確定性。事實證明,統計方法是應對不確定性的最有利工具。

          統計方法可以從數據中概括出概率統計規律,構建模型,擁有舉一反三的泛化能力。規則方法則不具備這一能力。

          深度學習本質也是統計方法,其特點是復雜非線性模型的學習。相比之下,傳統的統計方法的模型都是簡單的。事實證明,相比傳統的統計方法,深度學習有更強的模式學習能力,能夠更好地處理復雜的模式識別問題。

          規則方法可以有效地利用人給定的知識,而統計方法和深度學習方法,至少是現在,還沒有和知識推理有效地結合起來。

          統計方法、深度學習方法都依賴于數據。在沒有數據或數據稀少的情況下,很難有用武之地。而規則方法,在這種情況下,至少可以派上一定用場。

          綜上所述,規則、統計(即統計機器學習)、深度學習三種方法都各有優勢和局限(見表2)?梢灶A見,將三者有效地結合,會使人工智能、自然語言處理的水平大幅度提升,這是自然語言處理未來的發展方向。

          華為研究團隊最近提出了受教式人工智能(Educated AI,EAI)的想法,認為這是未來人工智能的范式。其核心思想是,人工智能系統擁有基本的處理以及學習能力,在用戶的指導下不斷提高智能水平[10]。受教式人工智能采用的就是混合模式,因為人的指導有時是以規則的形式呈現的。

          自然語言處理新時代

          表3總結了現在自然語言處理在各個任務上所能達到的水平,是從不同數據集上得到的實驗結果?梢钥闯,自然語言處理距離人們的期待還有一定的差距,現實中這些任務也只是部分實現了實用化。

          可以預見,在不遠的將來,隨著自然語言處理技術的進步,這些性能指標會不斷提升。事實上,近年深度學習在自然語言處理的應用,已使機器翻譯、單輪對話有了令人驚喜的進步。計算機能夠“自如地”進行自然語言處理的時代為期不遠。人工智能閉環會推動技術的不斷改進,規則、統計、深度學習的結合會產生更強大的技術,F在我們正在進入自然語言處理的一個全新的時代!

          關聯標簽:
          国产 亚洲 中文 在线 字幕,99资源网,超碰国产97一区二区三区,无码中文人妻中文中文人妻
            <pre id="bdfbb"><ruby id="bdfbb"></ruby></pre>

            <pre id="bdfbb"><b id="bdfbb"></b></pre>

            <pre id="bdfbb"><del id="bdfbb"><mark id="bdfbb"></mark></del></pre>

                  <p id="bdfbb"></p>
                  <p id="bdfbb"><del id="bdfbb"><dfn id="bdfbb"></dfn></del></p>