「回顧」強化學習在自然語言處理中的應用

2022-01-09 小小挖掘機

分享嘉賓:黃民烈 清華大學計算機系副教授,博士生導師

編輯整理:鄧力

內容來源:《Reinforcement Learning in Natural Language Processing》

出品社區:DataFun

註:歡迎轉載,轉載請註明出處。

本文首先介紹了強化學習的概念和相關知識,以及與監督學習的區別,然後就強化學習在自然語言處理應用中的挑戰和優勢進行了討論。

1. 強化學習

首先簡單介紹一下強化學習的概念。強化學習是一種與監督學習不一樣的學習範式,通過一個智能體與環境進行交互從而達到學習目標。其最重要的概念包括狀態(state),動作(action),回報(reward)。智能體接收到環境的狀態,對該狀態做出一個動作,環境根據該動作做出一個回報。

以走迷宮為例,state即為智能體所在的位置,action就是向東西南北移動的動作,當智能體到達目標位置則給100的獎勵,當走入死胡同則給-100的懲罰,每走一步給-1的懲罰(希望走的步數越少越好)。在該例子中,我們並沒有告訴這個智能體該怎麼做,只是當它做對了給它一個大的正分,當它做錯了給一個大的負分。

隨著深度學習的興起,我們可以將深度學習與強化學習進行結合從而對問題進行更好的建模。深度學習可以用來刻畫強化學習中的狀態,動作和策略函數。二者結合的方法在很多領域都有應用,如自動控制,語言交互,系統運維等等方面。

2. 強化學習與監督學習的區別

強化學習的特點:

1、序列決策,即當前決策影響後面的決策;

2、試錯,即不告訴智能體怎樣決策,讓其不斷試錯;

3、探索和開發,即探索一些低概率事件,開發是利用當前的最佳策略;

4、未來收益,即當前收益可能不是最佳的,對未來來講當前決策最佳。

監督學習就是給定一個樣本集合得到一個X到Y的映射。

以遊戲舉例,監督學習就會告訴智能體每一步應該怎麼做,是向左還是向右,但在強化學習中,並不會告訴智能體應該怎麼走,會讓智能體自己試錯,走得好就給一個大的獎賞,走得不好就給大的懲罰。

3. 強化學習在自然語言處理中的應用

挑戰

1、獎勵的稀疏性問題;

2、獎勵函數的設計;

3、動作空間維度高;

4、訓練中的方差較大。

優勢

1、適用於弱監督場景,問題中沒有顯性的標註;

2、不斷試錯調整,通過試錯進行概率的探索;

3、獎勵的積累,將專家系統或者先驗知識編碼進獎勵函數。

1)強化學習用於文本分類

(Learning Structured Representation for Text Classification via Reinforcement Learning)

 

如果做一個句子分類,首先要給句子做一個表示 ,經過sentence representation得到句子表示,把「表示」輸入分類器中,最終就會得到這個句子屬於哪一類。

傳統的sentence representation 有以下幾個經典模型:

1、bag-of-words;

2、CNN;

3、RNN;

4、加入注意力機制的方法。

以上幾種方法有一個共同的不足之處,完全沒有考慮句子的結構信息。所有就有第五種 tree-structured LSTM

不過這種方法也有一定的不足,雖然用到了結構信息,但是用到的是需要預處理才能得到的語法樹結構。並且在不同的任務中可能都是同樣的結構,因為語法都是一樣的。

所以我們希望能夠學到和任務相關的結構,並且基於學到的結構給句子做表示,從而希望能得到更好的分類結構。但面臨的挑戰是我們並不知道什麼樣的結構對於這個任務是好的,我們並沒有一個結構標註能夠指導我們去學這個結構。但我們可以根據新的結構做出的分類結果好不好從而判斷這個結構好不好。

可以使用強化學習來對該問題進行建模,使用策略網絡來對文本從前往後掃描,得到action(刪除,切開)的序列,action的序列即為該文本的表示,利用該表示再輸入分類的網絡進行分類。在該應用中,強化學習的reward信號來自於文本分類的準確度。

第二種結構是層次的LSTM結構。

先把字符切開連接得到短語,層層往上,所以是一種層次化的結構,其中action是(Inside,End),狀態就是當前的詞與上一個詞的組合,獎勵就是當前類別的似然概率和結構化參數。

實驗數據和結果:

總結

這個工作中學習了跟任務相關的句子結構,基於句子機構得到了不同的句子表示,並且得到個更好的文本分類方法,提出了兩種不同的表示方法,ID-LSTM和HS-LSTM。這兩個表示也得到了很好的分類結果,得到了非常有意思的和任務相關的表示 。

2)強化學習用於從噪聲數據中進行關係抽取

(Reinforcement Learning for Relation Classification from Noisy Data)

任務背景

關係分類任務需要做的是,判斷實體之間是什麼關係,句子中包含的實體對兒是已知的。關係分類任務是強監督學習,需要人工對每一句話都做標註,因此之前的數據集比較小。

之前也有人提出Distant Supervision 方法,希望能利用已有資源對句子自動打上標籤,使得得到更大的數據集。但這種方法是基於已有知識圖譜中的實體關係來對一句話的實體關係進行預測,它的標註未必正確。

這篇文章就是用強化學習來解決這個問題。之前也有一些方法是基於multi-instance learning 的方法來做的。

這篇文章就是用強化學習來解決這個問題。之前也有一些方法是基於multi-instance learning的方法來做的。這樣做的局現性是不能很好處理句級預測。

基於以上不足,這篇文章中設定了新模型。包括兩個部分: Instance Selector和 Relation Calssifier。

這個模型有兩個挑戰,第一是不知道每句話的標註是否正確;第二個挑戰是怎麼將兩個部分合到一塊,讓它們互相影響。

在Instance Selector中的「狀態」就表示為,當前的句子是哪一句,之前選了哪些句子,以及當前句子包含的實體對兒。

Relation Classifier 是直接用了一個CNN的結構得到句子的表示。

實驗以及baseline:

提出一個新的模型,在有噪聲的情況下也能句子級別的關係分類,而不僅僅是bags級別的關係預測。

3)強化學習用在面向目標的主題分割與標記的弱監督方法

(A Weakly Supervised Method for Topic Segmentation and Labeling in Goal-oriented Dialogues via Reinforcement Learning)

任務背景

 

1、客戶服務對話經常出現在大型Web服務中;

2、主題分割和標記是一種粗粒度的意圖分析,是對話理解的關鍵步驟;

3、對話結構分析是面向目標對話系統中的一項重要任務。

將上圖中的對話數據自動切開並打上標籤就是我們的具體問題。

基於先驗知識對數據進行粗略的打標籤,對打好的標籤數據訓練一個策略,根據該策略自動的糾正標籤,再用糾正後的標註數據訓練策略,這樣不斷的對數據進行糾正。

訓練一個狀態表示網絡用於狀態的表示,基於狀態表示網絡訓練一個策略網絡。

利用話題的連續性和全局主題結構作為獎勵策略。

實驗結果:

總結

1、從有噪聲標籤的數據開始(避免昂貴的完整標註);

2、不刪除有噪聲的數據,而是使用強化學習對噪聲數據標籤進行糾正;

3、弱監督:我們需要的只是一組關鍵詞和一些先驗知識。

4. 強化學習在NLP中成功應用的關鍵

1、把一個任務描述成一個自然的順序決策問題,其中當前的決定影響未來的決定;

2、當你沒有充分的、強有力的監督時,記住試錯的本質;

3、將任務的專業知識或先驗知識編碼進獎勵中;

4、適用於許多薄弱的監控環境。

相關焦點

  • 深度學習在自然語言處理中的應用 原創精選
    簡介本文為對 2016 年 12 月 10 日集智俱樂部公開活動「深度學習與自然語言處理」進行的總結。活動主講人是自然語言處理領域的知名學者呂正東,他先後在 MSRA 和華為諾亞方舟實驗室擔任過研究員,在頂級會議、期刊上發表過 40 餘篇論文,並長期擔任一些會議、期刊的審稿人。
  • 孔曉泉:自然語言處理應用和前沿技術回顧 | 分享總結
    近日,雷鋒網研習社公開課邀請了孔曉泉來介紹自然語言處理技術的一些基本知識、行業的發展現狀和基於深度學習的通用的 NLP 處理流程。本次分享將幫助想要學習和從事 NLP 的學生、工程師以及愛好者建立一個基本的 NLP 的知識框架,熟悉基礎的技術方案,了解通用的深度學習處理流程。
  • 深度學習在自然語言處理上的七大應用
    本文由 「AI前線」原創,原文連結:http://t.cn/RQhUr9y 作者|Jason Brownlee,譯者|CarolGuo,編輯|Emily 自然語言中仍然存在許多具有挑戰性的問題。然而,深度學習方法在某些特定的語言問題上可以獲得最先進的結果。
  • 自然語言處理十大應用
    每個人都在努力了解自然語言處理及其應用,並以此為生。❝你知道為什麼嗎?❞因為僅僅在短短幾年的時間裡,自然語言處理已經發展成為一種無人能想像的強大而有影響力的東西。為了了解自然語言處理的力量及其對我們生活的影響,我們需要看看它的應用。因此,我列出了自然語言處理的十大應用。
  • 從語言學到深度學習NLP,一文概述自然語言處理
    本文從兩篇論文出發先簡要介紹了自然語言處理的基本分類和基本概念,再向讀者展示了深度學習中的 NLP。這兩篇論文都是很好的綜述性入門論文,希望詳細了解自然語言處理的讀者可以進一步閱讀這兩篇論文。本文第一部分介紹了自然語言處理的基本概念,作者將 NLP 分為自然語言理解和自然語言生成,並解釋了 NLP 過程的各個層級和應用,這一篇論文很適合讀者系統的了解 NLP 的基本概念。
  • 自然語言處理中的事件抽取綜述
    自然語言處理中的事件抽取綜述 lucy 發表於 2021-01-07 15:08:34 本系列文章主要總結近年來事件抽取方法總結,包括中文事件抽取、開放域事件抽取、事件數據生成、跨語言事件抽取、小樣本事件抽取
  • 蘇州大學張民教授兩小時講座精華摘錄:自然語言處理方法與應用
    從歷史的長河來看,人工智慧的產業成熟曲線及人類的認識體系,是在經歷「人類要毀滅」的恐慌(發現人工智慧的能力超出想像)與大呼「騙子」的頓悟(發現人工智慧的局限性)的反覆中循環提升的。在張民教授來看,這兩種極端的觀點都只能部分代表人工智慧的觀點和看法,不應以偏概全。
  • 2018 公開課盤點應用篇:面向 AI 開發者,「猿桌會」帶你看各路大神...
    針對這一選題,AI 研習社邀請了從事然語言處理(NLP)領域多年,擁有豐富實踐應用經驗的孔曉泉為大家帶來分享。公開課中,孔曉泉介紹了自然語言處理技術的一些基本知識、行業的發展現狀和基於深度學習的通用的 NLP 處理流程,以期幫助想要學習和從事 NLP 的學生、工程師以及愛好者建立一個基本的 NLP 的知識框架,熟悉基礎的技術方案,並了解通用的深度學習處理流程。
  • 自然語言處理在近900億獵頭行業市場中的應用|智周報告核心版
    自然語言理解技術已經被運用於部分人力資源的工作項目中,有效的提升看企業運轉的效率。本文將聚焦自然語言理解技術在獵頭行業中的運用,盤點自然語言理解技術在獵頭行業中當前的瓶頸,以及未來的前景。作者 | 單贏、陸少遊一、獵頭招聘領域的市場規模獵頭招聘在全球範圍內一直是發展較快的一個行業。
  • 人工智慧與自然語言處理概述:AI三大階段、NLP關鍵應用領域
    ,對自然語言處理在大數據中扮演的角色作了探討。「人工智慧」包含兩個關鍵點:自動化智能人工智慧的目標推理自動學習&調度機器學習自然語言處理計算機視覺機器人通用智能人工智慧三大階段階段 1——機器學習:智能系統使用一系列算法從經驗中進行學習。階段 2——機器智能:機器使用的一系列從經驗中進行學習的高級算法,例如深度神經網絡。
  • 自然語言處理的應用前景
    自然語言處理(NLP)的定義 自然語言處理(NLP)是人工智慧技術的一個分支,它使計算機能夠像人們一樣理解、處理和生成語言,並且在商業中的應用正在迅速增長。 雖然自然語言處理(NLP)這一術語最初指的是人工智慧系統的閱讀能力,但它後來成為所有計算語言學的一種通俗說法。
  • 2018自然語言處理研究報告
    利用 AMiner 大數據對自然語言處理領域專家進行深入挖掘,對國內外自然語言處理知名實驗室及其主要負責人進行介紹。自然語言處理的應用及趨勢預測。自然語言處理在現實生活中應用廣泛,目前的應用集中在語言學、數據處理、認知科學以及語言工程等領域,在介紹相關應用的基礎上,對機器翻譯未來的發展趨勢做出了相應的預測。
  • 葉志豪:介紹強化學習及其在 NLP 上的應用 | 分享總結
    同時隨著深度學習的發展,應用深度學習,很多自然語言的傳統難題得到突破。另外,引用 David Silver 的一句話:深度學習 (DL)+ 強化學習 (RL) = 人工智慧 (AI)。近日,在雷鋒網 AI 研習社公開課上,廣東工業大學葉志豪介紹了深度學習和強化學習兩大利器如何結合併應用於 NLP 中的文本生成和對話任務。
  • 在讓機器「讀懂」自然語言之前,人們走過哪些彎路?
    圖靈測試只是留下一個問題,而非答案)直到 20 世紀 70 年代,一些自然語言處理的先驅開始重新認識這個問題,找到了基於數學模型和統計的方法,自然語言處理進人第二個階段。30 多年來,這個領域取得了實質性的突破,自然語言處理也在很多產品中得到廣泛應用。
  • 【CCCF專題】深度學習在自然語言處理中的應用
    自然語言處理中的深度學習隨著語音和圖像處理領域的突破性進展,深度學習在自然語言處理領域也越來越受到重視,並逐漸應用於自然語言處理的各種任務中。然而自然語言處理任務有其自身的特點,與語音和圖像處理之間的不同主要體現在以下兩方面。語音和圖像在處理過程中的輸入信號可以在向量空間內表示,而自然語言處理通常在詞彙一級進行。
  • 深度| 自然語言處理領域深度學習研究總結:從基本概念到前沿成果
    每隔幾周,加利福尼亞大學洛杉磯分校(UCLA)的 Adit Deshpande 就會在其博客上發表一篇深度解讀的深度學習研究回顧博客。今天這篇是 Adit 的這一系列的第三篇博客,將主要介紹深度學習在自然語言處理當中的應用。
  • 自然語言處理深度學習的7個應用
    自然語言處理領域正在從統計方法轉變為神經網絡方法。自然語言中仍有許多具有挑戰性的問題需要解決。然而,深度學習方法在一些特定的語言問題上取得了最新的成果。這不僅僅是深度學習模型在基準問題上的表現,基準問題也是最有趣的;事實上,一個單一的模型可以學習詞義和執行語言任務,從而消除了對專業手工製作方法渠道的需要。
  • Bengio、Sutton的深度學習&強化學習暑期班又來了,2019視頻已放出
    前者將涵蓋深度神經網絡的基礎和應用,從根本概念到前沿研究成果統統包含在內。後者將涵蓋強化學習的基礎知識,並展示其最新的研究趨勢和發現。今年放出的課程共包含 34 個視頻。包含深度學習和強化學習的基礎、應用與前沿發展。深度學習部分涵蓋神經網絡、卷積神經網絡、循環神經網絡、用於視頻和圖像的深度學習、自然語言處理、貝葉斯深度學習、生成對抗網絡、無監督學習等主題。
  • 自然語言處理最新教材開放下載,喬治亞理工大學官方推薦
    這本書的內容主要分為四大章節,即 NLP 中監督與無監等學習問題、序列與解析樹等自然語言的建模方式、語篇語義的理解,以及後這些技術最在信息抽取、機器翻譯和文本生成等具體任務中的應用。應用:最後一章介紹了三種自然語言處理中最重要的應用:信息抽取、機器翻譯和文本生成。我們不僅將了解使用前面章節技術所構建的知名系統,同時還會理解神經網絡注意力機制等前沿問題。自然語言處理其實與很多學科都有關係,包括最直接的計算語言學、機器學習和統計學等。其實計算語言學基本上就等同於自然語言處理,它關注於設計並分析表徵人類自然語言處理的算法。
  • 自然語言處理(NLP)算法學習路線!
    我們正處在信息爆炸的時代、面對每天鋪天蓋地的網絡資源和論文、很多時候我們面臨的問題並不是缺資源,而是找準資源並高效學習。但很多時候你會發現,花費大量的時間在零零散散的內容上,但最後發現效率極低,浪費了很多寶貴的時間。為了迎合大家學習的需求,貪心科技這次重磅推出了《自然語言處理終身升級版》。