Alan Tsai 的學習筆記


學而不思則罔,思而不學則殆,不思不學則“網貸” 記錄軟體開發的點點滴滴 著重於微軟技術、網頁開發、DevOps、C#, Asp .net Mvc、Azure、AI、Chatbot、Docker、Data Science

[chatbot + AI = 下一代操作模式][32]Cognitive Service語音服務相關介紹

[chatbot + AI = 下一代操作模式][32]Cognitive Service語音服務相關介紹.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([31]Custom Vision Train好的Model匯出離線和給app使用)介紹完了把Custom Vision的Model匯出并且用Docker File版本讓他本地執行之後,在Cognitive Service裡面的圖片相關就介紹到一個段落。

在接下來的篇幅將來介紹另外一種常見的輸入方式,也就是透過語音的方式。任何科幻電影的指令輸入模式都是語音,例如《鋼鐵人》裡面的助理系統Jarvis,想象一下如果可以用説的就讓電腦做事有多方便。

這邊就來看看Cognitive Service裡面對於語音這塊處理有什麽幫助。

上一篇最後提到要介紹ONNX和如何在程式裡面使用ONNX。不過因爲在Windows要使用ONNX需要Windows 10 17110以上,剛好手上這臺電腦不是,又暫時無法更新,因此未來在補上這部分的介紹。

Cognitive Service在語音上面提供了什麽服務?

Cognitive Service在語音這塊有幾個主要服務:

  1. Speech Service - 官方文件服務首頁
  2. Translator Speech Api - 官方文件
  3. Custom Speech Service - 官方文件服務首頁
  4. Speaker Recognition - 官方文件服務首頁

語音轉文字+翻譯相關的服務是Cognitive Service裡面個人覺得最亂的一個服務。感覺微軟有要統一變成一個服務,但是還在進行中,因此比較混論。

這裡面Speech ServiceTranslator Speech Api提供差不多的服務:

  • 語音轉文字
  • 文字轉語音
  • 語音轉文字+翻譯

理論上Speech Service是一個整合所有語音相關服務的統一api,因此兩邊的engine應該應該,但是實際使用起來,個人經驗是Translator Speech Api比較準確。所以,雖然Speech Service看起來是未來的走向, 并且SDK比較完整,但是接下來的demo程式會使用Translator Speech Api

Custom Speech Service是一個很有意思的服務,允許透過訓練的方式建立出一個比較符合使用者説話方式的Model達到識別率非常高。白話一點來説,假設今天要識別的是一些講話有口音的使用者,用預設的服務可能識別率不高,但是 透過使用這個服務,可以自己訓練符合口音的Model達到識別率提高。

Speaker Recognition這個服務可以用來識別語音裡面是那個人在説話。

測試語音服務

可以直接到服務介紹的頁面測試一些服務功能,這邊介紹兩個:

  1. 測試語音轉文字
  2. 測試定制化服務功能

測試語音轉文字

在官網的部分有一些demo可以玩玩看,語音轉文字就是一個不錯的測試。

可以到:https://azure.microsoft.com/zh-tw/services/cognitive-services/speech-to-text/,然後:

  1. 可以先切換語言 - 這邊換成了 Chinese (cn)
  2. 如果您想要錄自己的聲音可以用開始錄製
  3. 也可以直接點某個範例
  4. 識別出來的文字會在輸入框裡面出現
chrome_2018-08-13_18-35-46.png
測試語音轉文字的服務

測試定制化服務功能

在測試頁面下面一點有一個定制化功能可以測試,從這邊可以看到,左邊是用一般服務識別的結果,以及右邊有經過定制化訓練的Model識別結果。左邊識別率已經很高了,但是還是有些錯誤。右邊則準確很多:

chrome_2018-08-13_18-42-31.png
測試定制化服務功能

結語

這篇非常快速的介紹了Cognitive Service裡面和語音處理有關的服務,并且使用服務首頁的範例看了一下使用的結果。相信這篇看完對於有什麽武器可以使用就有了基本的概念。

在chatbot裡面可以整合的服務會是:

  1. 語音轉文字 - 用説的下指令
  2. 語音轉文字 + 翻譯 - 說中文轉成英文 - 方便不會英文的人在國外也能夠使用

因此,下一篇([33]C#使用Translator Speech API服務達到語音轉文字加翻譯)先用Console的方式瞭解如何在非chatbot情況下如何使用語音服務。

comments powered by Disqus