2016年8月21日 星期日

Microsoft Cognitive Services (0) - 讓你的App走進人工智慧的大門

我們前一陣子談過bot framework和LUIS,但我覺得比較有趣的,其實是整套Cognitive Services,而LUIS只是Cognitive Services中的一部分。微軟的Cognitive Services包含了許多與人工智慧有關的API,包含人臉辨識、語音辨識、圖像分析、OCR、語意分析…等。

當然,這一系列幾篇文章我們將會談到Cognitive Services所提供的APIs,其中我們會探討該如何使用和程式碼的實作。然而,其實我更想和大家討論的,並非Cognitive Services眾多豐富的功能。而是,其實這一系列API的出現,似乎已經宣告了軟體開發將來到一個與過去完全不同的時代。

不,我不是說因為你有這些API,所以可以把你開發的App帶到另一個時代,我是說,你寫程式的思維得開始與過去不同,隨著Microservices、nano-services(Azure Functions)的出現,逐漸暗示著過去只是一個口號的SOA(Service Oriented Architecture),現在慢慢已經成形,而且,這次並非侷限於企業內,而是整個網際網路世界中的SOA。應用程式之間的合作、軟體服務(不只是元件、而是服務)的重用、如今和過去五年前已經大大的不同。

慢慢的,大家已經能夠接受,一個功能的實現,可以是橫跨位於不同地區(甚至國家)的三五個不同的伺服器攜手合作的結果。

On-Premises這個字將會越來越有趣。不知道你有沒有發現,在IT資訊技術中,企業的邊界似乎越來越模糊,然而卻越來越重要。有沒有留意到,企業內開始用很多其實並非企業可以控制或限制的雲端軟體服務,例如Slack、Trello、各種不同的IM(Line, WeChat)。這些服務一開始並非設計給企業,而是設計給個人或團隊。企業無法控管這些軟體,員工離職了也無法交接。(改天,我們再抽空談談這個議題,以及該如何面對)

說起來令人莞爾,在這個everything as a service的時代,軟體的重用性,用了一個匪夷所思的方式來實現。

簡單的說,開發人員再也不能(也不需要),在一個機房裡完成所有功能,並非所有東西都得在企業的機房裡實現(似乎也慢慢地更加不可能)。這其實重新定義了資安的議題,也改變了企業應用的限制與可能性。

一不小心,趁機偷偷談了未來軟體開發走向的議題,然而這顯然並非三言兩語可以交代的,我們改天找機會再細說。今天,我們還是聚焦在Microsoft Cognitive Services身上。

前面提到,微軟的Cognitive Services包含了許多與人工智慧有關的API,包含人臉辨識、語音辨識、圖像分析、OCR、語意分析…等。這些功能都透過azure這個平台來實現(再次岔題,你有沒有發現, 如今Windows Azure開始漸漸變成SaaS/BaaS的大排檔),我們現在已經無法描述Azure上有多少服務了,因為,它每天都在變,每個月都有新的服務開張(當然也有舊的服務收掉)。而Azure好比提供了一個入口(包含收費機制)的市場,讓這些服務在其中爭妍鬥豔。

而Microsoft Cognitive Services,將會是其中很炫的一支。

好,回題。

坦白說,Cognitive Services不算是新東西了,雖然目前還是preview,但是我們已經在許多專案中試著使用,只是礙於忙碌,一直沒時間整理這些資訊,這次趁著準備研討會,順便整理一下和大家分享。

話說,要讓你的程式具有圖像、語音辨識的功能,你必須先申請該服務。你可以從Azure Portal申請,但也可以從底下的網址進入Microsoft Cognitive Services :
https://www.microsoft.com/cognitive-services 

進入之後,會看到底下畫面,再跟我這麼做:

如果你已經用Microsoft Account登入,你會看到它跟你要一個授權,拿人手短,吃人嘴軟,你沒太多選擇,就乖乖Yes吧:

按下Yes之後,你會看到一個畫面,讓你選擇你要試用那些:

全打勾,你會發現你得到了免費的一堆Key:

這些KEYs就是我們後面寫程式呼叫每一個服務會用到的唯一資源了。上面這樣的方式申請來的Key,是試用的,真的可以用的,但是是暫時的,有用量限制。如果你要大量使用,得要付錢的話,就得從Azure Portal中申請。

從Azure中申請的畫面在新Portal:

注意上面動作的步驟四,是用來選擇你要哪一種服務的,由於Microsoft Cognitive Services 一口氣提供了十幾種服務,計費方式也不同,因此你如果用Azure Portal申請,你必須在API Type那邊,選擇服務類型。和我們剛才用Microsoft Account從Microsoft Cognitive Services 首頁一口氣就申請到一堆測試Key的爽度確實差很多。

OK,建立好之後,你可以從底下位置找到該服務的Key:

有了Key之後,我們就可以開始玩各種服務了。下一篇,我們要來看如何辨識照片中的人臉。

2 則留言:

Xavier Chen 提到...

老師,文章可以借我分享在BLOG上嗎?

David 提到...

sure