自然语言处理领域基本概念笔记
自然語言處理
詞向量:
自然語言處理問題要轉化為機器學習的問題,首先就要把單詞數學化表示,就是用n維實數向量來代表一個單詞。
對話系統
對話系統發展歷程的三個階段:
1.基于符號規則和模板的對話系統
2.基于統計機器學習的對話系統
3.基于數據驅動的深度學習的對話系統
對話系統根據不同的應用場景可以分為兩種類型:
1.任務型對話系統
面向垂直領域,目的是幫助用戶完成預定任務或動作,
應用場景:虛擬個人助理,預定機票、酒店和餐館等,或者是淘寶客服。
是一個多步決策求取reward最大化的問題了,也就是一個RL問題。完全使用有監督學習的話建模起來有缺陷。
2.非任務型對話系統,也稱聊天機器人
面向開放領域,目的是用來閑聊,
應用場景:娛樂、情感陪護、營銷溝通,例如微軟小冰
對于閑聊型的對話系統,主流方法有三類:
-
1.基于檢索的方法。(工業界偏愛這種)
可以用來解決閑聊型對話或FAQ問答型對話問題(常見問題解答)。
-
2.基于生成的方法。(生成式存在的難點很多,比如在評估和控制生成上。)
-
3.將兩者結合起來的方法。
問答型對話
除了閑聊和完成特定任務,還有一大類知識獲取(即問答)的需求。
分為基于知識圖譜的對話(KB-Dialogue)和檢索式多輪問答等更細化的方向。
任務型對話系統的方法:
1.管道方法:
管道方法一般分別建立NLU、DM和NLG等模塊,這些子模塊通常還要分解為更小的子任務分別建模,然后按照順序將這些模塊連接起來。
2.端到端方法:
將管道方法中的三個模塊(NLU,DM,NLG)或部分用統一的端到端方法代替,根據用戶的輸入,直接生成相應的回復或響應模塊的輸出。
任務型對話系統主要流程(如下圖)涉及5部分:
1.自動語音識別
2.自然語言理解
3.對話管理(包括對話狀態跟蹤和對話策略)
4.自然語言生成
5.語音合成
自動語音識別:
將用戶語音中的連續時間信號轉變為離散的音節單元或單詞。
在口語對話系統中,用戶存在大量的口語現象,通常還伴隨著環境噪聲,這些為識別算法的特征提取、模型訓練等環節增加了更多難度。
自然語言理解:
利用語義和語法分析將語音識別的結果轉化為計算機能夠理解的結果化表現形式。
目的是將用戶的輸入映射到預先根據不同場景定義的語義槽中。(如下圖)
通常包括三個任務:領域檢測、意圖識別和語義槽填充。
領域檢測和意圖識別屬于文本分類任務,根據當前用戶的輸入推斷出用戶的意圖和涉及的領域。
語義槽填充本質上屬于序列標注問題,目的是識別句子中的語義槽和其對應的值。
對話管理(包括對話狀態跟蹤和對話策略)
1.對話狀態跟蹤:
通過語言理解生成的結構化數據理解或者捕捉用戶的意圖或目標。
在以任務為導向的對話系統中,對話狀態跟蹤(DST)是一個核心組件,負責在整個對話過程中跟蹤用戶的目標。
2. 對話策略:
利用對話狀態跟蹤得到的用戶目標來決定下一步要采取的行動。也就是根據對話狀態跟蹤估計的對話狀態,通過預設的候選動作集,選擇系統動作或策略。
自然語言生成:
組織適當的應答語句,將系統的答復轉換成用戶能夠理解的自然語言。也就是將對話管理模塊輸出的抽象表達轉換為句法合法、語義準確的自然語言句子。
語音合成:
將系統答復的自然語言文本合成應答語音反饋給用戶。
語義槽:
從預先定義一個關鍵字的集合,用來在用戶說法中引用,以增強說法的擴展能力。
比如“我要去上?!?#xff0c;語義槽就是地址 ,取值為上海。經常與詞庫一起使用,一個語義槽只能綁定一個詞庫,而一個詞庫可以同時對應多個語義槽。
詞性標注:
在給定句子中判定每個詞的語法范疇,確定其詞性并加以標注的過程。
比如給定一個句子:“這兒是個非常漂亮的公園”,
對其的標注結果應如下:“這兒/代詞 是/動詞 個/量詞 非常/副詞 漂亮/形容詞 的/結構助詞 公園/名詞”。
命名實體識別:
目的是識別語料中人名、地名、組織機構名等命名實體。
1.單輪對話:
以查詢的話語q為前提,得到語句r作為回復。
2.多輪對話:
在歷史對話信息c的背景下,以q為前提,得到語句r作為回復。
開放領域對話系統:
基于深度學習的開放領域對話系統的構建方法有:檢索式、生成式和檢索與生成相結合的方法。
Goal Oriented 和Task Oriented的異同:
在沒有特別說明的情況下,在人機對話系統研究工作中有著相同的含義,它們只是對同一工作的不同描述。
口語對話系統:
默認指的是面向任務的對話系統(多輪對話),是能夠用聲音與人進行交談的計算機系統。
總結
以上是生活随笔為你收集整理的自然语言处理领域基本概念笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ddos怎么搞(ddos这么打开)
- 下一篇: 商品房备案表是什么意思(商品房备案表是什