自然語言處理 第一節

2021-09-27 02:42:28 字數 2863 閱讀 2187

自然語言處理是人工智慧的一部分,人工智慧還有其他部分:計算機視覺、知識表示和推理等。語言是人工只能中乙個非常特殊的部分,因為語言是人類特有的屬性,而對於計算機視覺來說,地球上有很多生物都有相當不錯的視覺系統。因此自然語言處理被認為是人工智慧核心技術之一。我們的目標是讓電腦處理或理解人類的語言從而完成有意義的任務。它可以安排約會、買東西等或進行者智慧型回答比如siri等。

圖1.1

語言有哪些層次?它們是如何進行處理的呢?圖1.1是傳統的語言層次。首先語音輸入或者文字輸入,進行語音頻號分析或文字識別,之後先嘗試做單詞的理解,字首字尾「in、able」等,然後做句法的理解,句子的結構主謂賓等,接著,試著做語義的理解,得出句子的含義,然而,僅此還不夠,許多句子的含義是通過上下文表達的,這就引出了語篇處理等研究領域,我們集中大部分時間來討論句法分析和語義理解。

語言處理與人們做的訊號處理、資料探勘等有很大的區別,訊號處理、資料探勘等大多數只是對資料進行處理,用一些視覺系統來識別資料、分析資料從而查詢規律。而人類語言並不是如此,它們不是一堆資料,幾乎所有的人類語言都是某個人想要傳遞某個資訊。他們為此構建了一條訊息,來將資訊傳遞給另乙個人。人類語言還有乙個特點是,它是乙個複雜的系統。我們有表示某些概念的詞彙,實際上我們是在用符號系統與其他人進行交流。人類語言就是一套符號體系,將語言的符號體系對映到我們的大腦中,將大腦堪稱一組符號處理器。深度學習領域認為大腦具有連續啟用模式。

首先,深度學習是機器學習的乙個分支,基本的思想就是怎樣讓電腦自動學習,而不是人工教授、手寫**,像傳統的程式設計那樣,告訴它你想要做什麼。但深度學習還是非常不同於機器學習,核心區別在於,對於大多數傳統的機器學習,他們都是圍繞著決策樹、邏輯回歸、樸素貝葉斯、支援向量機這些概念。所做的是先審視乙個特定的問題,找出解決這個問題的關鍵要素,然後設計出與該問題相關的重要特徵要素,然後手寫**來識別這些特徵嗎,通過不斷加入新的特徵,達到更好的效果。而機器到底學了什麼呢?他們只是做了數值優化,當收集好了訊號,你建立好線形分類器後,在每個特徵向量錢加乙個引數權重,機器學習系統的工作,就是調校這些數字,來優化表現。相反而言,人類反而學了很多,做了大量的資料分析、做理論研究、查詢哪些屬性是重要的等。我們發現,機器學習在實際運用中,大約90%的工作是人類研究如何表述資料,總結出重要特徵,只有10%的工作是電腦執行這一數值優化演算法。

深度學習是表徵學習的乙個分支,表徵學習的理念就是,我們可以只向電腦提供來自世界的原始訊號,無論是視覺訊號還是語言訊號,然後,電腦可以自動得出好的中介表徵來很好的完成任務。所以從某種意義上說,它是在自己定義特徵,和過去人類自己定義特徵一樣。通過深度學習,你將得到多層的習得表徵。我們手動設計的特徵往往太過於具體且不完整,需要花很長時間來設計和驗證,最終只能達到一定的表現水平。但習得的特徵適應性強、訓練得快,他們可以不斷學習、不斷提公升表現水平。因此,深度學習提供了這樣一種非常靈活通用的學習架構、可以表示各種型別的資訊:語言資訊、世界資訊或視覺資訊。它可以用於監督學習和無監督學習中。

深度學習真正意義上的第乙個重大突破是語音識別。語音識別歷經近十年研究,每年只能提高百分幾的準確率,而使用深度學習,語音識別的錯誤率大幅下降30%左右。深度學習的第二個巨大成功的例子是計算機視覺。當用gpu上執行深度神經網路,一句降低超過三分之一的誤差,它的表現還在不斷進步。

我們將利用一些深度學習、神經網路的思想以及表徵學習的思想,將他們運用到語言理解、自然語言處理等方面的問題上。一方面,深度學習被應用到各種不同層次的語言學上,如詞彙學、句法學、語義學,應用於各種不同型別的工具和演算法。例如:為單詞標註詞性、識別人物姓名和機構名稱,找出句子的句法結構,此外,她還應用到語言應用程式中,結合各部分功能,比如機器翻譯、情感分析、聊天助手等。深度學習模式運用同樣的一套核心工具和技術,非常統一的方法來處理各個領域的問題。

我們需要做的是將乙個詞用資料向量來表示(後面的課會繼續展開講)。通常會用300維的向量來表示。當有了表示單詞的向量,這就意味著,我們將單詞放在了高維向量空間中。當我們有了那些方法,利用深度學習來學習單位向量,這些空間就成為了非常棒的語義空間。具有相同含義的詞彙將在向量空間中形成聚集塊,不止如此,向量空間中存在方向,它們會透露關於意義的一些資訊。對人類來說,我們不是非常擅長解讀高維空間。

我們可以用神經網路進行依存句法分析。當我們得到了一些句子結構,我們可能想要了解句子的含義。以向量表示詞語含義,這樣也可以用向量表示短語的含義,然後,就可以用乙個向量表示更長的短語,甚至句子的含義。如果我們想知道句子含義之間有什麼關係,我們可以訓練神經網路,讓它來做出決定。

在情感分析方面,試著改進語義表徵,更加嚴禁真實的語義表徵,能夠更好的理解句子中的正面和負面情緒。搞清楚句子中哪些部分有不一樣的含義,例如:這部電影並不注重聰明、機智或其他型別的高階幽默。系統可以非常準確的判斷出這裡有一堆積極詞彙「聰明、機智、高階幽默」,這也是傳統情感分析容易出錯的地方,他們會根據這些積極詞判斷,這是乙個積極的句子。但神經網路會注意到這句話一開始說的是「不注重」,他會準確的判斷這個句子的整體情緒是否定的。

在建立聊天機械人方面,人類可以與移動裝置進行互動。基於神經網路的深度學習語音識別系統表現的非常驚豔。

在機器翻譯方面,從2023年開始出現端到端訓練的深度學習系統,用它來做機器翻譯,後來被稱為神經機器翻譯。他運用了乙個大型的深層的迴圈神經網路,它通過閱讀源語句生成向量,內部表徵來代表已有的句子,當達到句子結尾,則開始在譯文中生成單詞。在翻譯過程中依次生成單詞。這被稱為一種神經語言模型。

人類語言不像程式語言。人類語言是模稜兩可的。在程式語言中,有大量的規則使得程式語言清晰,如變數x,y的設定,在下文**現的x,y就可以知道具體指代,而人類語言中的指代「它、這個、那個」必須通過上下文分析,才可以得出指代內容。最大的問題是,人類吧語言作為一種高效的通訊工具,經常使用省略來表達一些語義。聽眾會根據自身的世界性常識來自動補全剩下部分。而編寫程式時,會明確表達出需要他執行所需的一切。

python

矩陣、多元微積分、線性代數

基本的概率和統計學知識

第一節 go語言入門

demo package main import fmt func main run go run helloworld.go生成二進位制檔案 go build helloworld.go包 乙個或者多個原始檔構成了包讀取命令列 package main import fmt import os f...

第一節綜述

shader是什麼?shader是著色器。渲染流水線的概念?渲染流水線的工作任務在於由乙個三維場景出發,生成一張二維影象。渲染流程分為3個階段 應用階段 幾何階段 光柵化階段。1 應用階段 由cpu負責實現,由開發者主導。最重要的輸出是渲染所需的幾何資訊,即渲染圖元。這些渲染圖元傳遞給幾何階段。2 ...

第一節 熱機

一.熱機 內燃機是熱機的一種,以汽油或柴油為燃料 二.汽油機 練1.三.柴油機 練2.從能量轉化的角度看,一台四衝程內燃機在乙個迴圈中 1 哪個衝程存在著化學能轉化為內能的過程?2 哪個衝程存在著內能轉化為機械能的過程?3 哪個衝程具有很明顯的機械能轉化為內能的過程?練3.關於單缸四衝程內燃機,下列...