人工智慧–什麼是自然語言NLP

    自然語言處理(NLP)就是在機器語言和人類語言之間溝通的橋樑,以實現人機交流的目的。人類通過語言來交流,狗通過汪汪叫來交流。機器也有自己的交流方式,那就是數字信息。

    不同的語言之間是無法溝通的,比如說人類就無法聽懂狗叫,甚至不同語言的人類之間都無法直接交流,需要翻譯才能交流。

    而計算機更是如此,為了讓計算機之間互相交流,人們讓所有計算機都遵守一些規則,計算機的這些規則就是計算機之間的語言。

    既然不同人類語言之間可以有翻譯,那麼人類和機器之間是否可以通過“翻譯”的方式來直接交流呢?NLP 就是人類和機器之間溝通的橋樑!

    意味著我們需要找到一種方式將我們熟知的中文,英文和各種外文轉化成數字形式。我們只需要了解計算機如果需要理解文字的內容,就必須將文字轉換成某種數學表達形式,而一串數字絕對是最方便計算和轉換的方式了。自然語言處理中有一個典型的應用,就是翻譯。


                                                           圖1 : 文字轉數字

        我們將一種語言作為輸入,一種作為輸出,使用NLP作為中間的橋樑,首先將中文通過一種壓縮機制轉碼成機器能理解的數字&,然後用中間這種數字化的語言表達形式,再通過一次英文的解壓&,解壓出來英文作為輸出語言。其實除了中翻英,同一套機制還能被用在更多的地方。

 

NLP 的2大核心任務:

  1. 自然語言理解 - NLU、NLI

自然語言理解(Natural Language Understanding)的目的在於讓系統能夠讀懂我們所輸入的資訊,讓其理解文本、語言並提取資訊,以幫助文本分類、語法分析、資訊搜索等下游任務的執行。進行 NLU 時,最小的資料單位即是字詞了,字詞組成句子,而小句子繼續組成大句子與文章,意味著使用 NLU 進行任何任務時,它最為首要的目標即是辨識字詞,就如同「我喜歡吃蘋果」的這段句子,演算法首先就必須要先區分出各個不同的詞性,再進一步的理解詞與詞之間的關係。其實從數學的角度來看,任何詞彙的組成都可以用數字去連結或標記,可以是詞彙出現的機率,也可以是通過量化詞彙所建立的語言模型。而詞嵌入(word embedding)是最常見的訓練方式,將字詞本身以不同維度的向量方式去做標記,字意較為相關的字詞,其向量距離也就越接近。

  1. 自然語言生成 - NLG

自然語言生成(Natural Language Generation)與自然語言理解(NLU)相反,系統的目標是要通過整合、節錄、以及萃取數據庫中的資料,以將這些機器才能讀懂的數據以自然語言的形式輸出。簡單來說即是將只有機器才能看懂的資料架構,也就是像0101010101的機器語言,轉化成人類能理解的字句,以完成如文本摘要、新聞自動化、機器翻譯等任務。

NLP 處理流程:

詞嵌入(Word Embeddings)→→→ 編碼(Encode) →→→ 注意力(Attend) →→→ 預測(Predict)

  1. 詞嵌入:將維數為所有詞數量的高維空間壓縮/嵌入低維空間,是連續的實數域的向量空間。把詞與詞之間的關係,也編碼進入這個向量。
  2. 編碼:透過 RNN 等技術將詞語向量進一步編碼,編碼成一個考慮上下文和語義的向量。
  3. Attention 機制:Attention 的概念為注意力,聚焦在輸入序列中被認為比較重要的詞。
  4. 解碼:通過全連接層將一個壓縮的向量映射到目標對象,如詞語。

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論