語音智能源碼
1. 搭建智能語音交互系統重要點那些
序言
隨著人工智慧命題的提出,近年來涌現出一大批基於人工智慧的呼叫中心業務服務商和集成商,僅智能外呼這一模塊兒就將近百家公司在推廣和運營。可以說整個基於人工智慧技術的市場開始蓬勃的發展起來了。
簡單介紹一下什麼叫做智能語音交互平台。其實大實話就是在呼叫中心基礎上,集成 ASR、 TTS、的呼叫服務平台。
那麼如何我們自己去搭建智能語音系統呢?
我們先列出搭建智能外呼系統的搭建需要那些技術和服務:
個人認為:
[if !supportLists]· [endif] 首先最重要的是交換機:
[if !supportLists]1. [endif]PBX也就是交換機,商用設備原廠包括像華為、Avaya、思科、東匯等這些生產硬體交換機,
[if !supportLists]2. [endif]還有就是目前FreeSitch、asterrisk、OpenPBX這些軟體交換機。
[if !supportLists]· [endif] 其次是AI技術: 及包含語音識別、語義理解、語音合成這三種技術是核心組成部分。語音識別相當於人的「耳朵」,接進電話後,對人的話語進行處理轉義成系統能夠識別的數據交由系統處理去識別。在進一步的話,可以轉義為文字。語義理解相當於人的"大腦",根據話語識別人的意圖。語音合成,相當於人的」嘴巴「,識別人的意圖之後,依照特定的回答方式,去回復和引導對話。
[if !supportLists]· [endif] 再者是前端服務平台:即用戶登錄、配置呼叫流程,建立呼叫任務、統計呼叫數據、導出呼叫報表的網站,這個是終端用戶唯一可以看到並且操作的界面。
[if !supportLists]· [endif] 最後是外呼線路:其中包括三大運營商以及其他小型的集成線路供應商,主要目的是外呼電話或者是接入電話。
也有人可能有疑問:」智能語音交互系統最重要的不是人工智慧么,和交換機有啥關系?」為什麼說最重要的是交換機呢,原因是不管我們是外呼還是接入電話、都需要前端服務平台把外呼請求發送給交換機,通過外呼線路而撥出去。換句話說交換機是控制整體的外呼情況。硬體的交換機,比如說像華為的交換機,價格在大約幾萬到幾百萬不等的價格。對於想要建立自己的智能語音交互系統來說,價格對於一些小型公司來說承受不起,而FreeSitch這種軟交換則大大方便了小型公司建立自己的智能語音交互系統。
什麼是FreeSwitch?
FreeSitch是一個電話的軟交換解決方案,包括一個軟電話和軟交換機用以提供語音和聊天的產品驅動。FreeSitch 可以用作交換機引擎、PBX、多媒體網關以及多媒體伺服器等。支持多種通訊技術標准,包括 SIP, H.323, IAX2 以及 GoogleTalk ,同時也可以方便的與其他開源的PBX系統進行對接。而且具有很強的伸縮性。旨在為音頻、視頻、文字或任何其他形式的媒體,提供路由和互連 通信協議 。
FreeSwitch 的典型功能
[if !supportLists]· [endif]在線計費、預付費功能。
[if !supportLists]· [endif]電話路由伺服器。
[if !supportLists]· [endif]語音轉碼伺服器。
[if !supportLists]· [endif]支持資源優先權和QoS的伺服器。
[if !supportLists]· [endif]多點會議伺服器。
[if !supportLists]· [endif]IVR、語音通知伺服器。
[if !supportLists]· [endif]VoiceMail伺服器。
[if !supportLists]· [endif]PBX應用和軟交換。
[if !supportLists]· [endif]應用層網關。
[if !supportLists]· [endif]防火牆/NAT穿越應用。
[if !supportLists]· [endif]私有伺服器。
[if !supportLists]· [endif]SIP網間互聯網關。
[if !supportLists]· [endif]SBC及安全網關。
FreeSwitch最典型的功能是作為一個伺服器,並用電話客戶端軟體連接到它。雖然FreeSwitch支持眾多的通信協議,但其最主要的協議還是SIP,通過SIP中繼發起會話協議。
使用FreeSwitch這種軟交換的好處在於,你只需要一台伺服器就可以隨時搭建自己的外呼中心,而且FreeSwitch支持跨平台運行。能夠原生運行Windows、Linux、BSD等諸多32/64位平台。
FreeSwitch內部使用線程模型來處理並發請求,每個連接都在單獨的線程中進行處理,不同的線程間通過Mutex互斥訪問共享資源,並通過消息和非同步事件等方式進行通信。FreeSwitch本身是比較穩定的,它是比較優秀的開源軟體。另一方面來講,FreeSwitch又是比較激進的,它的開發分支里會有大量的新特性加入,因此在測試不全面的情況下,很容易出現不穩定的情況。而在用於生產環境的情況下,系統的穩定性是系統能否正常被使用的關鍵。之前我們在做項目的過程中,就遇到一些FreeSwitch不穩定的情況,導致外呼情況不理想。舉一個例子:我們在進行測試外呼的時候,語音通話斷斷續續,雖然前端服務平台可以很好的接受到數據的傳輸,但是,真正在與人工進行溝通的時候,會出現各種各樣的溝通障礙,為了解決這一個問題,我們花費了幾個月的時間,去研究FreeSwitch的結構特性。終於把這個問題解決掉。我們的項目才得以繼續推動,最終得以真正落地部署實施。
也有人可能有疑問:」FreeSwitch軟交換雖然重要,但是既然是智能語音交互系統人工智慧不重要嗎?」,重要,當然重要!容我慢慢道來~
AI 技術
1. 通信原理
先簡單解釋一下正常打電話這個流程
流程:A→PSTN→B
解釋:PSTN是Public
Switched Telephone Network,意思為公共交換電話網路,也就是我們的運營商的網路電話,
那我們平時如何給呼叫中心比如打電話是如何打的?:個人A打電話給呼叫中心1***6 打電話,撥通後聽到錄音,您好,撥打人工台,請按0鍵,按鍵之後,出現盲音,真正接通之後,客服接通了電話。
流程:A→PSTN→PBX→IVR→客服
解釋:PBX也叫交換機、相當於整個呼叫中心的出入口
IVR也叫互動/互動式語音應答,語音導航,也就是相當於咨詢業務請按鍵,這一環節,根據業務去分流到客服。
智能語音交互平台(智能機器人)落實到具體具體業務場景是如何實現的:
如:」個人A要在某一個大型酒店預訂位子「,
A撥通後先聽到了聲音,「您好,我是機器人小岳,需要我幫您訂位子是嗎?
個人A說,「我不要和機器人說話,找個真人來」。
然後聽到錄音,「為您轉接很貴的真人客服,排隊中,請稍後」。
幾分鍾後接通,真人客服接了電話。
流程:A→PSTN→PBX→IVR(TTS→ASR→NLP→TTS)→ACD→客服
解釋:在IVR部分:不再需要提示按鍵,而是直接問來電方需要辦理什麼業務,然後識別語音、理解意圖後,根據用戶的需求,回答後轉入對應的業務隊列排隊。
上邊是接通的流程,呼出的流程與之相反,就不在贅述了。
2. 現在市場上的AI技術的運用
目前市場上的不管是ASR、TTS、NLP都被阿里網路科大訊飛等巨頭公司所佔據,這些技術在國內基本已經成為定局。像ASR這類引擎市場上大部分都是用的阿里雲和訊飛雲的,要不就是網路雲。阿里雲和訊飛雲的識別率高一些,可以達到97%左右、網路的差一些,識別率在80%左右,我們當初在做項目的時候選擇ASR做過測試,事實證明阿里雲識別率更高同時也可以識別方言。因此,我們在做項目的時候,當仁不讓的選擇了阿里雲的
TTS我們選擇的是訊飛的,選擇的理由很簡單,畢竟科大訊飛是人工智慧領域巨頭級的公司,質量當然有的保證。
3. AI 能力對接
在具體落地中,這個領域的常規參與者通常具備呼叫中心能力或者AI能力其中一種,而主要的對接點也就在於AI能力與呼叫中心設備去對接,而ASR/TTS與呼叫中心設備對接的常規協議主要是mrcp/sip。
媒體資源控制協議(Media Resource Control
Protocol, MRCP)是一種通訊協議,用於語音伺服器向客戶端提供各種語音服務(如語音識別和語音合成)。有兩個版本的MRCP協議,版本2使用SIP作為控制協議,版本1使用RTSP。
實際對接的時候,會遇到不少技術問題,當我們ASR/TTS引擎做私有雲部署,為了避免了內外網穿透時防火牆的諸多設置和語音流的時延。這在我們當時對接的時候也花費了好大一番功夫。
前端服務平台:
其中最重要的就是配置呼叫流程這一塊兒了,
這一塊兒很容易被忽視,但是這反而是可以出成績的地方。一般來說一套最佳話術模板,可以以一敵萬。心理學基礎必須要有,一句話怎麼說能讓接電話的人最大概率的順著自己的思路走,達成目的,從而形成特定細分領域機器人話術模板,得到最佳的外呼效果(接通率、通話時長、電銷意願、催收意願)或者是接通效果(滿意度)
其餘的基本就是web端的東西了,具體功能點呢,即用戶登錄、配置呼叫流程,建立呼叫任務、統計呼叫數據、導出呼叫報表,這些功能點基本實現就可以,因為站在產品角度,產品最重要的價值就是可以呼通或者接通用戶的電話,並且能夠准確的識別用戶的意圖,並且准確的回答用戶。這就是智能語音交互系統的最終目標,也一直是我們的最終目標。
外呼線路廠商:
一般如果是購買系統的話,是給提供線路的,只需交一些線路費用。如果是自己做項目的話,網上、淘寶上一大堆,費用可以談,也給提供線路對接的介面。
結語
雖然現在市場上做智能語音交互系統的比較多,但一般只限於各個行業的電話銷售,真正意義上的智能語音交互還是很少的。原因很簡單,雖然原理不是很難但是真正落地實施的時候,遇到的困難非常的多,幾乎是一步一個坑。好在現在已經真正的落地實施了,方方面面的效果都還是很不錯的。一年多的辛苦沒有白費。哈哈~
寫這篇文章嘗試給大家簡單介紹一下智能語音交互系統,然才疏學淺,疏漏和不當之處在所難免,權當給大家拋磚引玉。
諸多細節限於主題和篇幅的要求不做詳細記述,如有問題,歡迎隨時交流。
2. 智能語音模塊怎麼做
智能語音模塊的製作涉及多個環節和專業技術,但簡而言之,其核心過程包括語音識別與合成技術的集成、硬體模塊的選擇與配置,以及軟體系統的開發與調試。
首先,語音識別技術是智能語音模塊的基礎。這一技術能夠將用戶的語音指令轉換為計算機可理解的文本信息。為了實現高效准確的語音識別,通常需要採用深度學習演算法訓練聲學模型和語言模型。這些模型能夠識別不同口音、語速和雜訊環境下的語音,並將其轉換為准確的文本。同時,語音合成技術則將文本信息轉換為自然流暢的語音輸出,為用戶提供語音反饋。
其次,硬體模塊的選擇與配置也至關重要。智能語音模塊通常需要搭載在具有音頻處理能力的硬體設備上,如智能家居控制器或智能音箱。這些設備需要配備高性能的麥克風陣列以捕捉用戶語音,以及音頻處理晶元以進行語音信號的預處理和增強。此外,為了確保語音模塊的實時響應能力,還需要選擇具有足夠計算能力的處理器和內存資源。
最後,軟體系統的開發與調試是實現智能語音模塊功能的關鍵環節。這包括語音識別與合成演算法的實現、用戶交互界面的設計,以及與智能家居設備的通信協議的開發等。在開發過程中,需要不斷優化演算法以提高語音識別的准確率和響應速度,同時還需要確保軟體系統的穩定性和安全性。調試階段則需要對整個系統進行全面的測試,以確保各項功能正常運行並滿足用戶需求。
綜上所述,智能語音模塊的製作是一個復雜而精細的過程,需要融合先進的語音識別與合成技術、精選的硬體模塊,以及高效穩定的軟體系統。隨著人工智慧技術的不斷發展,智能語音模塊將在智能家居、智能客服等領域發揮越來越重要的作用,為人們的生活帶來更多便利和智能化體驗。