iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 11
0
Google Developers Machine Learning

Machine Learning Day30系列 第 11

[Day11]Google提供的API

  • 分享至 

  • xImage
  •  

你有用過Google Translate的拍照翻譯功能嗎?
看似神奇的功能,其實包含很多技術在裡面,
首先,手機要先「辨識出標誌」,
再透過OCR(optical character recognition光學字符識別)來「找出字符」,
再偵測出「原始的國家語言」,
接者,「翻譯語言」至指定的語言,
再疊加文字到圖示上,
最後,選擇正確的字體顯示給使用者。
Yes

TensorFlow是Google Brain團隊提供的Open Source Library,
主要用來建構數據和訓練模型,主要使用Cloud Machine Learning Engine工具。
Google另外提供一組預先訓練好的API,讓REST API來直接取用,
友善的機器學習API,例如Vision API、Speech API、Translation API、Natural Language API和Video Intelligence API。
https://ithelp.ithome.com.tw/upload/images/20190922/20112568qvkAX07tII.png

Vision API

做法是在圖片上面提供「標誌(Label)」,
例如一張大象的照片,就會回傳「動物」、「大象」,
如此就可以在網路上尋找「相似的圖片」,
再擷取相似圖片上面的訊息回傳。

使用OCR技術,Vision API將擷取文字和圖像,來得知「文字」和「語言」。
使用Logo detection技術,識別公司Logo和圖片。
使用Landmark detection技術,判斷圖片是否包含「地標」,還提供「經緯度座標」。
使用Crop hints技術,裁切照片來聚焦「特定主題」。
最後,提供Content detection技術,來檢測內文,識別不適當的場景,。

  1. 前往cloud.google.com/vision網站,

  2. 上傳任一張圖片,Vision API可以找到照片中的所有內容。

  3. 如下圖,Vision API有71%的信心,找出這張照片的所在位置。
    https://ithelp.ithome.com.tw/upload/images/20190922/20112568IEha3ljqMu.png

  4. 如下圖,人臉辨識功能Face,可以直接顯示出「人類情緒」。
    https://ithelp.ithome.com.tw/upload/images/20190922/20112568Q4rtrjicNQ.png

5.如下圖,自動對圖片Label的功能。
https://ithelp.ithome.com.tw/upload/images/20190922/20112568hlr5QFEqiq.png

  1. 如下圖,web功能,直接找出相關的網站。
    https://ithelp.ithome.com.tw/upload/images/20190922/20112568NG7ISBNkxm.png

  2. 如下圖,Properties功能,主要告知這張照片主要的顏色。
    https://ithelp.ithome.com.tw/upload/images/20190922/20112568LLOaowClax.png

  3. 如下圖,Safe Search功能,確認這張照片是否「安全」,並且給予分類。
    https://ithelp.ithome.com.tw/upload/images/20190922/201125685EubTZY24z.png

  4. 如下圖,JSON功能,得到API回傳的所有JSON格式。
    https://ithelp.ithome.com.tw/upload/images/20190922/20112568JPU8SVpx4k.png

Speech API & Translation API

Speech API可以輸入100種以上的語言,
透過手機麥克風直接說出「需求」,API會直接轉化成文字。
也支援Speech timestamps技術,紀錄每一句話開始到結束的時間,
如此可以更方便在語音中「尋找」。
提供不當語言偵測(Profanity Filtering)技術和批次轉錄成文字Batch & Streaming Transcription功能。

我們可以先從一段影片中,擷取音檔,
上傳音檔到雲端,來轉成文字和時間軸
建立一個UI,來視覺化和尋找「影片」。

  1. 前往[cloud.google.com/speech(cloud.google.com/speech)網站,上傳一段語音。

  2. 因為有紀錄語音時間軸,可以直接點「文字」,就能直接跳到該段影片處
    https://ithelp.ithome.com.tw/upload/images/20190922/20112568AugOMmMyti.png

  3. 透過關鍵字來找時間軸的影片
    https://ithelp.ithome.com.tw/upload/images/20190922/201125681jZRixjO5J.png

  4. 使用cloud.google.com/translation網站,
    收到文字並將其翻譯。

Natural Language API

Natural Language API會Extract Entities萃取句子中的實體,
判斷整體感覺與肯定否定句,
使用Detect sentiment分析語法,例如詞性,
最後「分類內容」成不同的類別。

https://ithelp.ithome.com.tw/upload/images/20190922/201125681YuKN0cFzQ.png
如上圖,語法分析會先建立一個「依賴語法解析樹」,告訴你不同單字間的關係,哪些詞取決於哪些詞,也會告知名詞、形容詞和動詞。

https://ithelp.ithome.com.tw/upload/images/20190922/20112568YtamDXhCUk.png
依照文字「內容分類」,如上圖,此篇文章標題沒有任何baseball的資訊,
但是系統確有0.99的信心歸類成「運動/棒球」類。

  1. 前往cloud.google.com/natural-language網站

  2. 如下圖,可以針對單一單字,來區分情緒程度
    https://ithelp.ithome.com.tw/upload/images/20190922/20112568JyaXOJhT3F.png

3.如下圖,也可以針對一段句子,區分情緒程度
https://ithelp.ithome.com.tw/upload/images/20190922/20112568OyYkEApw5z.png

  1. 如下圖,查看「語法分析」
    https://ithelp.ithome.com.tw/upload/images/20190922/201125683GuFXr6ddo.png

Video Intelligence API

Video Intelligence API可以讓你了解影片內的「物體」,
提供Label detection技術,讓每段影片都有物體Label化,
提供Vedio & scene-level annotations,告知「影片內容」和「影片發生情境」,
提供Shot change dection技術,場景轉換時間軸。
提供Content detection技術,來檢測內文,識別不適當的場景,
最後,提供Regionalization技術,可指定執行API請求的區域。

  1. 前往cloud.google.com/video-intelligence網站,

  2. Label detection技術,如下圖,可以告知影片那一段時間,出現「狗」的秒數。
    https://ithelp.ithome.com.tw/upload/images/20190922/20112568C3fflPPTSr.png

  3. 若想針對一段長影片,找出或剪出精彩片段,就可以直接取用JSON格式使用
    https://ithelp.ithome.com.tw/upload/images/20190922/20112568pbAmciWuy8.png


就像前言所說,一個看似一秒內可以呈現的功能,
其實是由很多的技術串接而成的,
想想看如何應用到實務上是必要的。


以上,打完收工。


上一篇
[Day10] 評估模型指標
下一篇
[Day12]訓練模型-避免overfit
系列文
Machine Learning Day3026
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言