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


摘要                                                    

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

1.語音交互相關技術

2.機器人語音交互實現

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



1.語音交互相關技術         

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

1語音交互過程

1.1.語音識別                    

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

2語音識別

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

1.2.語音合成                    

語音合成是語音識別的逆過程,也稱為文字轉語音(TTS),它是將計算機自己產生的、或外部輸入的文字信息轉變為可以聽得懂的、流利的漢語或其他口語輸出的技術。如圖3

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM