如何搭建一個智能對話機器人?

注:該文章來源——《智能對話機器人開發實戰》學習

本篇文章會系統性的介紹智能對話機器人的構成組件,經過本篇文章的閱讀,可讓你對智能對話機器人的體系結構有初步認識,瞭解智能對話機器人回答問題的工做原理。搜索引擎

概述翻譯

首先咱們來看智能對話機器人體系結構的構成,從與機器交互的完整流程角度來給你們作一個系統性的概述。對象

當人經過聲音信號把本身表達的內容以聲音的方式來傳遞給機器的時候,機器人接收聲音的過程涉及到了語音識別技術。索引

這個語音識別在這個裏面實際上是一個綜合體,它既包括語音採集,也包括把聲音信號轉成文字信號。ci

其次,當咱們把聲音信號轉換成文本信號後,要作的一件事情就是語義理解,由於你要讓機器理解你,那麼首先要讓機器知道你說的是什麼內容。機器在理解你說內容的過程當中,依賴於中文分詞、詞性標註、實體意圖識別、語義分析。那這部份內容就涉及到了語義理解技術。資源

在機器理解人所說的內容後,會把對應的內容交給對話管理平臺來進行處理。那麼對話管理平臺涉及到的內容是什麼呢?包括對話狀態的跟蹤同時也包括對話的策略模型。開發

對話狀態跟蹤負責兩件事情,第一是負責對對話狀態進行跟蹤,第二是對「對話活動」進行決策。當完成了對話狀態跟蹤和對話活動的決策後,會生成對應的答案。那麼這種答案每每不少時候有兩種狀況,一種狀況是多答案的狀況,另一個是對多處理模式的選擇。get

當我在表達一句話的時候,若是機器在備選答案裏面找到了多個回答,即出現了第一種狀況,多答案狀況。這個時候就會涉及到決策模型,這個決策模型就是智能對話的策略模塊。這個時候策略模塊包括通用決策模型和領域決策模型。深度學習

通用決策模型能夠理解爲適合全部領域的決策分析模塊,領域模型對應特定領域,好比教育、醫療,房產。這一部分是對話管理的組件。

以上是能夠在備選答案裏面找到答案的狀況,那麼當機器人在備選答案裏找不到答案時,會如何處理呢?

這裏涉及到兩個問題,第一個是優先級,第二個是補位。

優先級指的是當機器對用戶話術進行語義理解以後,若是找到答案的過程存在多種方案,應考慮優先選取的策略是什麼。另一個是當在預置的語料庫中找不到答案時,可選的補位的方式是什麼。在這裏,一般意義上來說會選擇知識圖譜,搜索引擎和百科類問答等平臺做爲補位的一種方式。

在對話管理的過程當中,尋找到了對應的內容,接下來要涉及到話術合成問題,這個時候對應的是語音合成,指的是咱們須要把對應的內容從新合成爲聲音信號,反饋給最初發出指令的人。

因此係統性的來說,整個智能對話機器人的體系結構包括智能語音部分、語義理解、對話管理和輔助語料庫這四大部份內容。

智能語音部分

針對智能語音部分,主要包括兩部份內容,語音識別以及語音合成。

在這裏,語音識別負責的一個職責就是把聲音信號翻譯成文字。「把聲音信號翻譯成文字」既是語音識別的定義,同時也是語音識別的職能。語音識別每每會涉及到孤立詞識別、連續詞語識別、大詞表連續語音識別。語音合成每每會涉及到的內容包括語言處理、聲學處理、韻律處理以及情感處理。

在語音合成中,咱們目前遇到的比較明顯的問題是語音合成很難達到真正擬人化的一個水平,機器發出的聲音比較機械化,讓人聽起來很奇怪。機器發出聲音較爲機械化,主要問題在於對情感、語速、韻律的控制較難。

天然語言處理部分

天然語言處理部分, 涵蓋兩大塊內容,一部分是語義理解,另外一部分是語言生成。

語義理解涉及到的內容包括中文分詞、序列標註、實體識別、意圖識別等內容。正是基於以上內容,咱們才能夠把人的一句話翻譯成機器能夠理解的一部份內容。

針對語言生成,這部分面臨的主要問題是預約義的模板的建設,包括提早準備好的問答語料庫、知識圖譜。拿知識圖譜來講,它的構建須要很是強大的資本和人力的支撐,纔可以構建起一個完整的知識圖譜體系。到如今爲止尚未一套這樣的知識圖譜體系。再有是針對問答語料庫,也須要很大的人力資源才能作成。

一般意義上,你們都在講的深度學習,包括seq2seq這種生成模式的模型,它產生的效果其實一直都不怎麼理想,因此在解決語言生成方面遇到的問題時,預約義的一對一模板是第一選擇,提早構建好語料庫是第二選擇,基於知識圖譜的問答體系是第三選擇,基於深度學習的生成模式,是最後一種選擇。

以上是智能對話機器人中與天然語言處理相關的組件問題。

對話管理

對話管理包括兩部份內容,一是對話狀態模型構建過程,另外一個是對話策略模型構建過程。

對話狀態模型可分爲三類:

第一類是對話表示模型,是指上一句話和下一句話之間,以及連續的多句話之間如何經過數學模型進行表達出來;

第二類是對話推理模型,是指基於對話的輸入,如何最終生成對話輸出的模型;

第三類是對話學習模型,重點在於如何提高對話的能力和水平。

關於對話的策略模型,它涉及到通用對話策略以及特定領域的對話策略,包含如下兩部份內容,第一部份內容是用戶輸入話術及語料庫選擇的策略;第二部分是當對話產生多個答案時,選擇優選答案的策略。這是對話的策略模型。

語料庫資源

一般意義上講,當咱們講智能對話機器人的時候,它所涉及到的語料庫資源包括預製模板,針對一個完整的問句,會有完整的與之呼應的答案,這個稱爲預製模板,這部分應用到客服系統中,好比說查詢電話號碼。

另一個就是問答語料,就是聊天式機器人AIML會有預製問題和對應答案。這是問答語料庫。

再有一部分是涉及到知識圖譜,這個裏面涉及到的內容包括用戶輸入一句話,經過解析裏面的實體與實體對象,而後經過推理的模式在知識圖譜裏面去尋找與之匹配符的內容。

而後第四個語料庫資源就在於生成模型,一般意義上來說seq2seq這種生成方式,固然這個方式依賴於大量的語料庫,而語料資源的匱乏會致使訓練模型自己存在很大質量問題,效果不好。

在以上四種狀況下,若是可以產生問題答案,就會讓機器來回答問題。可是,當咱們沒有辦法基於以上四種場景找到具體答案時,咱們能夠選擇使用百科問答以及搜索引擎,這個對應的就是一個補位策略。

以上是智能對話機器人的一個簡要體系結構介紹,若是同窗們想要更加細緻地瞭解智能對話機器人的相關內容,能夠點擊進入雲智學院官網,進行學習。

注:該文章來源——《智能對話機器人開發實戰》

本文由百度開發者中心發佈,一個面向開發者的知識分享平臺,專一於爲開發者打造一個有溫度的技術交流社區,開發者經過平臺來分享知識、相互交流。 developer 發佈!

相關文章
相關標籤/搜索