1. 程式人生 > >CS224n筆記一:開端

CS224n筆記一:開端

sco 本質 維度 結構 形態學 處理 intro 信號 category

何為自然語言處理

自然語言處理的目標是讓計算機處理或者“理解”自然語言,以完成有意義的任務,如QA等。

自然語言處理涉及的層次

技術分享圖片

  • 輸入有兩個來源:語音和文本,所以第一級是語音識別,OCR或者分詞

  • 形態學(Morphological analysis)或稱詞法或者詞匯形態學。其研究詞的內部結構,包括屈折變化和構詞法兩個部分。

  • 句法分析(Syntactic analysis)和語義分析(Semantic Interpretation)

  • 對話分析(Discourse Processing),根據上文語境理解下文

    其中,CS223n關註畫圈部分的三個部分(語音,句法分析和語義分析)

自然語言處理應用

從易到難大致有:

  • 拼寫檢查,關鍵詞檢索...

  • 文本挖掘(產品價格,日期,時間,地點,人名...)

  • 文本分類

  • 機器翻譯

  • 客服系統

  • 復雜對話系統

人類語言的特殊之處

人類語言是離散的,明確的符號系統,但允許出現各種變種。符號傳輸到大腦的過程是通過連續的聲光學信號,大腦編碼似乎是連續的模式。另外,巨大的詞表也導致了數據稀疏,不利於機器學習。因此,是否應該使用連續的信號而非離散的符號處理語言?

什麽是深度學習

機器學習的子集,實際上是將特征工程+學習算法合二為一。深度學習是表示學習的一部分,用來學習原始輸入的多層特征表示:

技術分享圖片

傳統的機器學習手工特征耗時耗力,不易擴展,而深度學習自有編解碼器,自動特征學習快,方便擴展。傳統的機器學習示意如下:

技術分享圖片

為何NLP困難

人類語言充滿歧義,解讀依賴現實世界常識以及上下文。

Deep NLP=Deep Learning + NLP

將自然語言處理的思想和表示學習結合,用深度學習的手法解決NLP目標,這推進了不少方面的發展,如詞性標註,命名實體識別,句法/語義分析

NLP表示層次:形態級別

傳統方法在形態級別的表示是詞素,如將uninterested拆分成前綴,詞根,後綴三個部分:

技術分享圖片

深度學習中把詞素也作為向量:

技術分享圖片

多個詞素向量構成相同維度語義更豐富的詞向量。

NLP工具:句法分析

技術分享圖片

NLP語義層面的表示

傳統方法是手寫大量的規則函數,也就是λ演算(Lambda calculus):

技術分享圖片

在深度學習中,每個句子,短語和邏輯表達都是向量

。神經網絡負責將它們合並。

技術分享圖片

情感分析

傳統方法是請人手工搜集“情感極性詞典”,在詞袋模型上做分類器。

深度學習使用了RNN來解決該問題,它可以識別“反話”的情感極性:

技術分享圖片

QA

傳統方法是手工編寫大量的規則邏輯,比如正則表達式之類:

技術分享圖片

深度學習依舊使用了類似的學習框架,將事實存儲在向量中:

技術分享圖片

客服系統

Neural Language Models是基於RNN的:

技術分享圖片

機器翻譯

傳統方法在眾多層面做了嘗試,如詞語,語法,語法。這類方法試圖找到一種世界通用的“國際語”作為原文和譯文的橋梁。

技術分享圖片

?

而Neural Machine Translation將原文映射為向量,由向量構建原文,所有層級的表示都是向量:

技術分享圖片

技術分享圖片

這也許是因為向量是最靈活的形式,它的維度是自由的,還可以組成矩陣或者更高維度的Tensor,事實上,在實踐時,向量和矩陣沒有本質區別。

碼農場

CS224n筆記一:開端