SLAM+語音機器人DIY系列:(七)語音交互與天然語言處理——1.語音交互相關技術

摘要                                                    

這一章將進入機器人語音交互的學習,讓機器人能跟人進行語音對話交流。這是一件很酷的事情,本章將涉及到語音識別、語音合成、天然語言處理方面的知識。本章內容:html

1.語音交互相關技術python

2.機器人語音交互實現nginx

3.天然語言處理雲計算引擎django



1.語音交互相關技術         

要機器人能完成跟人對話,涉及到語音識別、語音合成、天然語言處理等技術。簡單點說,語音識別就是將人的聲音轉換成文字便於機器人計算與理解;語音合成就是將機器人要說的文字內容轉換爲聲音;天然語言處理至關於機器人的大腦,負責回答提問。整個語音交互的過程,如圖1ubuntu

1語音交互過程centos

1.1.語音識別                    

語音識別技術,也被稱爲自動語音識別Automatic Speech Recognition(ASR),其目標是將人類的語音中的詞彙內容轉換爲計算機可讀的輸入,例如按鍵、二進制編碼或者字符序列,如圖2。網絡

2語音識別架構

語音識別技術所涉及的領域包括:信號處理、模式識別、機率論和信息論、發聲機理和聽覺機理、人工智能等等。語音識別技術的最重大突破是隱馬爾科夫模型Hidden Markov Model的應用。從Baum提出相關數學推理,通過Labiner等人的研究,卡內基梅隆大學的李開復最終實現了第一個基於隱馬爾科夫模型的非特定人大詞彙量連續語音識別系統Sphinx。此後嚴格來講語音識別技術並無脫離HMM框架。固然神經網絡方法是一種新的語音識別方法,人工神經網絡本質上是一個自適應非線性動力學系統,模擬了人類神經活動的原理,具備自適應性、並行性、魯棒性、容錯性和學習特性,其強的分類能力和輸入-輸出映射能力在語音識別中都頗有吸引力。但因爲存在訓練、識別時間太長的缺點,目前仍處於實驗探索階段。框架

1.2.語音合成                    

語音合成是語音識別的逆過程,也稱爲文字轉語音(TTS),它是將計算機本身產生的、或外部輸入的文字信息轉變爲能夠聽得懂的、流利的漢語或其餘口語輸出的技術。如圖3ide

3語音合成

TTS過程包括這些步驟:語言處理,在文語轉換系統中起着重要的做用,主要模擬人對天然語言的理解過程文本規整、詞的切分、語法分析語義分析,使計算機對輸入的文本能徹底理解,並給出後兩部分所須要的各類發音提示韻律處理爲合成語音規劃出音段特徵,如音高、音長和音強等,使合成語音能正確表達語意,聽起來更加天然聲學處理根據前兩部分處理結果的要求輸出語音,即合成語音。

1.3.天然語言處理                

有了語音識別和語音合成,要讓機器人能智能的對答如流的和人交談,還須要賦予機器人以靈魂。天然語言處理技術(NLP)就是來賦予聊天機器人內在靈魂的。

NLP是計算機領域與人工智能領域中的一個重要分支。因爲數據的大幅度加強、計算力的大幅度提高、深度學習實現端到端的訓練,深度學習引領人工智能進入有一個高潮。人們也逐漸開始將如日中天的深度學習方法引入到NLP領域,在機器翻譯、問答系統、自動摘要等方向取得成功。通過互聯網的發展,不少應用積累了足夠多的數據能夠用於學習。當數據量增大以後,以支持向量機(SVM)、條件隨機場(CRF)爲表明的傳統淺層模型,因爲模型過淺,沒法對海量數據中的高維非線性映射作建模,因此不能帶來性能的提高。然而,以CNNRNN爲表明的深度模型,能夠隨着模型複雜度的增大而加強,更好貼近數據的本質映射關係。一方面,深度學習的word2vec的出現,使得咱們能夠將詞表示爲更加低維的向量空間。另外一方面,深度學習模型很是靈活,使得以前的不少任務,可使用端到端的方式進行訓練。

4基於深度學習的天然語言處理過程

爲了讓你們更好的理解基於深度學習的天然語言處理過程,舉一個比較通用的模型,如圖4。問題句子經過Seq2Seq循環神經網絡進行預處理和編碼,而後進入答案搜索,接着經過DQN強化學習網絡對問答策略進程學習。這樣,隨着時間的推移,問答系統回答問題的水平會愈來愈高,就達到了不斷在線學習的目的了。

後記                                                      

------SLAM+語音機器人DIY系列【目錄】快速導覽------

第1章:Linux基礎

1.Linux簡介

2.安裝Linux發行版ubuntu系統

3.Linux命令行基礎操做

第2章:ROS入門

1.ROS是什麼

2.ROS系統總體架構

3.在ubuntu16.04中安裝ROS kinetic

4.如何編寫ROS的第一個程序hello_world

5.編寫簡單的消息發佈器和訂閱器

6.編寫簡單的service和client

7.理解tf的原理

8.理解roslaunch在大型項目中的做用

9.熟練使用rviz

10.在實際機器人上運行ROS高級功能預覽

第3章:感知與大腦

1.ydlidar-x4激光雷達

2.帶自校準九軸數據融合IMU慣性傳感器

3.輪式里程計與運動控制

4.音響麥克風與攝像頭

5.機器人大腦嵌入式主板性能對比

6.作一個能走路和對話的機器人

第4章:差分底盤設計

1.stm32主控硬件設計

2.stm32主控軟件設計

3.底盤通訊協議

4.底盤ROS驅動開發

5.底盤PID控制參數整定

6.底盤裏程計標

第5章:樹莓派3開發環境搭建

1.安裝系統ubuntu_mate_16.04

2.安裝ros-kinetic

3.裝機後一些實用軟件安裝和系統設置

4.PC端與robot端ROS網絡通訊

5.Android手機端與robot端ROS網絡通訊

6.樹莓派USB與tty串口號綁定

7.開機自啓動ROS節點

第6章:SLAM建圖與自主避障導航

1.在機器人上使用傳感器

2.google-cartographer機器人SLAM建圖

3.ros-navigation機器人自主避障導航

4.多目標點導航及任務調度

5.機器人巡航與現場監控

第7章:語音交互與天然語言處理

1.語音交互相關技術

2.機器人語音交互實現

3.天然語言處理雲計算引擎

第8章:高階拓展

1.miiboo機器人安卓手機APP開發

2.centos7下部署Django(nginx+uwsgi+django+python3)

----------------文章將持續更新,敬請關注-----------------

 

若是你們對博文的相關類容感興趣,或有什麼技術疑問,歡迎加入下面的《SLAM+語音機器人DIY》QQ技術交流羣,一塊兒討論學習^_^

關於咱們:

視頻教程:

 

https://www.bilibili.com/video/av61448040

相關文章
相關標籤/搜索