HLP研究的內容

Human Language Processing研究的內容根據輸入輸出的不同,可以分爲如下6種

從左到右,從上到下依次是

  • ASR(Speech2Text)
  • TTS(Text2Speech)
  • Voice Conversion(Speech2Speech)
  • Translation、Chat-Bot、Summarization、QA(Text2Text)
  • Speaker Recognition(Speech2Class)
  • Sentiment Analysis(Text2Class)

Speech2Text

語音轉文字最典型的應用就是語音識別(Speech Reconition),也叫做Automatic Speech Recognition,簡稱ASR。早期的語音識別,往往採用基於HMM模型的算法,加上聲學模型(Acoustic Model),語言模型(Language Model)和 詞典(Lexicon)。雖然經過多年的研究,效果不錯,但是算法流程複雜,模型很大,難以適應目前物聯網發展中嵌入式AI對語音識別性能的要求

隨着深度學習的發展以及輕量網絡模型的推陳出新,現在的ASR往往是採用Seq2Seq方法,訓練一個模型直接end-to-end得到最終結果。流程簡單,效果逐年提升,而且模型可以做得很小,使得能夠放置到手機、智能家居或者是物聯網設備中

世界上的語言有5000多種,每種語言都可以拿來做語音識別。 因此按照語言的不同,又可以分爲中文語音識別(Chinese ASR)、英文語音識別(English ASR)、西班牙語識別(Spanish ASR)等等。這些語言的差異,在於組成語句的顆粒不一樣:比如中文由4000+個漢字組成,漢字是組成句子的最小單位。英文的最小單位爲26個英文字母,字母組成單詞,單詞組合成句子。當然,我們也可以做一個通用的語音識別系統,即輸入任何一句話,他都要能輸出對應的文本,這就是通用語音識別(General ASR)所追求的目標,不過目前看來,要實現這個目標,還爲時尚早

Text2Speech

文字轉語音最常見的應用就是語音合成(Text-to-Speech Synthesis)。這樣的應用在生活中比比皆是。一個能夠和人類互動的robot,既要能夠聽懂人類說的話(ASR), 也要能夠說出人類能夠聽得懂的話(TTS)。 中間Text到Text處理的過程就是自然語言處理(NLP)

現在做語音合成,也是採用Seq2Seq模型,和語音識別在模型的選擇上並沒有本質的不同,依然是深度學習end-to-end硬train一發,就完事了

Speech2Speech

該類任務有以下3種典型的應用場景

  • Speech Denosing:語音去噪。將語音中的噪聲部分去除,保留比較乾淨的信息
  • Speech Separation:典型的場景如嘈雜的環境中有多人同時說話,通過語音分離,將每個人說的話,分別提取出來

  • Voice Conversion:聲音轉換,例如柯南的變聲器

Speech2Class

輸入一段語音信號,輸出一個類別。該類任務有以下三種典型的應用

  • Speaker Recognition:語音識別,即依據你說話的聲音來判斷是不是同一個人,或者是哪一個人。類似於Face Recognition,主要用在門禁、身份認證等領域
  • Keyword Spotting:關鍵詞檢測,通常用在工業控制或者智能家居中;需要檢測出語音中是否含有預先定義的幾個關鍵詞,如智能音響需要能夠檢測出turn on/turn off/volumn up/volumn down等少數幾個關鍵詞
  • WakeUp words detect:一種特殊的Keyword Spotting的情形, 只需要判斷語句中是否含有預先定義的喚醒詞, 如“hey Siri”,"Alexa", "OK Google"

Text2Text

這類任務就是NLP主要研究的領域,應用的方向非常之多。輸出的內容含義不同,就可以實現不同的功能

可以看到,這類任務的應用包括自動翻譯、文本摘要、聊天機器人、閱讀理解、智能問答等等,甚至可以做語法剖析、詞性標註; 雖然任務種類很多,但要說到模型選擇,依然是那個你最熟悉的Seq2Seq Model

Text2Class

這類任務的應用也非常廣泛,舉例如下

  • 垃圾郵件分類
  • 情感分析
  • 文章主題分類

各類任務之間有什麼聯繫?

可以看到,任務之間有相互對應的關係,比如Text2Speech和Speech2Text就是一對互相關聯的任務。當Word2Vec誕生之後,以及各種各樣Pre-trained Model的出現,使得Text和Speech在表達形式上達成了統一,都可以看作是二維matrix. 因此,拋開信號在客觀世界中的表現形式,所有的任務其實都是Matrix2Matrix之間的轉化,都可以採用Seq2Seq的supervised model來處理

另外,對於輸入爲Text的三類任務,Pretrained-Model使得輸入的處理變得規範統一,BERT家族的興旺正是對於Word2Vec思想發揚光大,追求更好的單詞向量表示的明證

而對於輸出爲Text的兩類任務,在詞語輸出的順序上研究人員存在分歧,這也導致出現了兩類方法,Autogressive和Non-autoregressive。比方說下面的例子,非自迴歸會覺得應該先生成這個句子最重要的部分,也就是"dream"這個單詞,然後模型會考慮誰是"dream"的主體,因此會生成"I",之後模型會考慮"I"和"dream"之間的關係是什麼,因此會生成"have",最後模型考慮我有幾個夢想?因此就會輸出"a"

HLP領域還有哪些值得研究的課題

Unsupervised Learning

實際應用中,採用監督學習的方法,收集已經標註好的數據往往是非常困難的,因此是否可以從中進行學習是一個非常有價值的研究方向

以Voice Conversion爲例:假如採用監督學習的思路,用Seq2Seq模型來進行處理,我們需要獲取SpeakA和SpeakB 關於同一個text的speech,但實際上我們難以獲取到這樣的輸入對。我們能採集到的是Speak A的語音集合和Speak B的語音集合, 這兩個集合之間並沒有一對一的對應關係

Few Shot Learning / One Shot Learning

同樣以Voice Conversion爲例,如果我們在實際生活中,只能獲取到Speaker A或者是Speaker B很少的語音信息,甚至只有一條語音記錄,那又該如何處理

Adversarial Attack

Adversarial Attack在圖像領域非常常見,最有名的就是GAN網絡。而在HLP中,語音、文字也是可以做到的,舉例來說:我們可以設計一個Discriminator判斷一段聲音是否是機器合成的

系統魯棒性的追求,與欺詐的對抗是一個永不過時、永不停歇的課題

相關文章