歡迎光臨
每天分享高質量文章

使用 Microsoft AI 打造你的首款智慧機器人(入門只需要1小時)

語言和人文是基礎,數理化是未來。

當高科技爛大街成為常態,還有啥理由不努力學習AI科學呢。

最近在學習AI,一位朋友正好送了我一本AI技術的書籍,如獲至寶,寫點經驗。

書的主題:使用 Microsoft AI 打造你的首款智慧機器人

一、AI養豬

尼泊爾農村出來的一個大學生M女士,和大學同學一起,構建了一個畜牧業、獸醫實監控裝置原型,用於跟蹤農場動物的體溫、睡眠樣式、壓力水平、動作和活動。這個AI 系統根據這些觀察結果中的細微變化,預測每隻動物可能的健康狀況。

農民能夠跟蹤他們的牲畜的狀況,接收警報和可行的建議。這個方向真是不錯。我們那裡的農村,最近幾年比較流行,縣城上游企業和村裡合作,城裡提供豬苗原料等資源,村裡村民提供一定的資金蓋豬圈,養好之後再賣給上游企業。上游賺大錢,下游穩定賺小錢。一批豬大概幾百隻,也不少了。如果真正實現了感測器量體溫等智慧化手段,可以養殖更多,不會擔心各種疾病。要不然,出現一次疾病,損失慘重。

二、聊天機器人

這個題材是AI技術落地最好的一個應用。微軟小冰很火 https://www.msxiaobing.com/ 有興趣的可以去官網瞭解一下。之前一直想搭建一個自己的AI機器人,然後結合自己的業務場景,比如說今後自己搞了一個技術外包公司,提供了多種技術解決方案,電商、金融、小程式等等。這個時候,客戶透過網上的文章找到了我,看了之後,可能會有一些疑問,這個時候,給他一個智慧化的AI機器人或者智慧客服之類的工具,陪他聊天,解決它的問題,客戶轉化率會高很多。這是咱技術人員的優勢,多學習技術,尤其是能夠落地的AI科技,發揮咱的才能。

三、全書主要內容和大體思路
本書短小精悍,寫作思路很清晰,層層遞進,直接參照了人家的路線圖。

1. 雲、資料和 AI 之間的交集

AI技術:使計算機能夠透過感知、學習和推理,以類似於人類的方式為人類提供協助和解決問題。

感知:輸入

人:人有眼睛看到影象、耳朵聽到聲音、鼻子聞到氣味、面板感知溫度等等。

AI機器技術點:各種感測器,攝像頭、耳麥、智慧溫度計等,計算機視覺、語音識別、語音合成。

學習:得到有用的資訊

人:讀書,學習到新的知識。

AI機器技術點:自然語言理解,或者對話AI是其中一種。紅綠燈等規則屬於那種簡單規則化的一種知識,這種機器很好學習。

推理:根據現有資訊,得到更多資訊

人:最近波音飛機出了事故,正好都是類似型號的。人們很快就能想到,可能是這個機型的技術問題。民航局等很快下達指令,暫停飛行。

機器:這種表示和理解人、事、地點和事件之間的關係,才是高階一點的AI。

最近幾年AI越來越火,主要是因為AI技術越來越成熟,成熟的基礎是現在雲端計算平臺越來越多,價格還很便宜,比如國外微軟的Azure,國內的阿裡雲。

資料方面,搜尋、電商、社交、金融等各方面的資料,都積累了二十多年了。

所以,AI搞的比較好,國外主要是微軟AI、Google AI,百度 AI。透過初步的瞭解,搜尋公司的AI能力看起來更牛逼一些。

2. Microsoft AI 平臺

Microsoft AI 平臺旨在將 AI 帶給每個開發人員,並透過提供各種服務、基礎架構和工具,使開發人員能夠進行創新和加速開發過程。

從預構建的 AI(幾乎不需要訓練)到自定義 AI,開放的 Microsoft AI 平臺使開發人員能夠使用各種深度學習和機器學習框架和工具。

自定義 AI

Azure 機器學習使你能夠開發機器學習和深度學習模型,在雲中進行訓練並實施。

預構建 AI 

只需幾行程式碼,你就可以使用高階的“已完成”服務,來加速智慧應用程式的開發。Microsoft AI 平臺還集成了各種機器學習和深度學習框架,包括 TensorFlow、Caffe2、Microsoft 認知工具包 (CNTK)、Scikit-learn、MXNet、Keras 和 Chainer。越寫越高階,知道個別的比如TensorFlow,後面的完全可以慢慢瞭解。

先瞭解大致怎麼回事,呼叫雲平臺的API工具,先解決一個實際問題,玩玩再說,然後再深入學習,出師,投入到實際專案中。

更多技術可以去微軟AI中國(世紀互聯運營的那個)官網瞭解:https://www.azure.cn/zh-cn/也可以下載電子書,完整瞭解下。

3. 開發智慧聊天機器人

聊天機器人與你輕鬆交談,回答你的問題,或執行諸如保留你的預訂、訂購食物或購買物品等

任務。如果設計得當,它們甚至可以“以假亂真”,讓你以為自己在和人類說話。

除了微軟小冰,京東亞馬遜有側重購物的智慧音響,百度的側重找答案,保險公司已經開始使用AI版電話智慧“騷擾”,應用場景還是比較多的。

牛逼哄哄的Microsoft,打算超越這些聊天機器人,創造了“對話 AI 即平臺”的概念,將自然語言置於計算的核心。這些系統將被註入由 AI 驅動的感官,以在人與機器之間建立無縫的關係。

喜歡研究的技術人員,去造這樣的輪子。

喜歡業務應用開發的,可以去使用這些輪子,解決實際問題,價值也是不菲的。

3.1 自然語言處理

NLP 本質上是能夠獲取人類產生的文字,並將其轉變為機器可讀語言的能力。NLP 從文字中分析和提取關鍵元資料,包括以下內容:

物體:名詞,包括人物、地點和事物。

關係:物體之間的關係。

概念:從文字主體中提取未明確表示的一般概念。例如,“Excel”一詞可能會傳回“生產力工具”和“數字”等概念,即使這些詞語並沒有出現在文字中。這是一個強大的工具,能夠在看似沒有明顯關係的事物之間建立聯絡。(這個略顯高階)

情緒:衡量文字所傳遞的積極性或消極性的水平,比如說,在檢測到消極情緒時,將聊天轉交給人工客服。

情感:更細粒度的情緒分析。它不僅區分“積極”和“消極”,還包括“憤怒”、“悲傷”和“快樂”。本文中的“牛逼哄哄”、“高階”、“騷擾”所暗含的情緒,應該也是能夠識別的。

關鍵字:提取關鍵字和詞語,以用作索引、搜尋、排序等的基礎。

類別:這為文字的內容建立了一個分層分類法,並將其置於高階別類別(文字分類)中。對於推薦相關內容、生成廣告、組織電子郵件等應用程式,這非常有用。

3.2 LUIS語言識別服務

微軟提供了 語言識別服務:

https://www.luis.ai/homeLUIS 這樣的系統旨在提取以下關鍵輸出:識別意圖的能力使用者的目的是什麼?意圖是使用者在輸入中表達的目的或標的,例如預訂航班、支付賬單或查詢新聞報道。識別話語(對話)的能力話語或對話是來自使用者的文字輸入,是應用需要理解的內容。它可能是一句話,例如“預訂到巴黎的機票”,或是句子的一部分,例如“預訂”或“巴黎機票”。話語和對話並不總是很工整,並且一個意圖可以有多種的對話變體。

識別物體的能力

物體表示對話中有意義的詳細資訊。例如,在對話“預訂到巴黎的機票”中,“巴黎”是一個位置物體。透過識別和標記使用者對話中提及的物體,LUIS 可幫助你選擇要採取的特定操作,以回應使用者的請求。

3.3 定義咱們的對話機器人:場景

現在各種大會,比如CSDN經常主辦協辦一些大資料和雲端計算大會。

比如,你正在一個微軟AI技術大會,參會者有幾百人,大家都興緻勃勃。在演講者演講的過程中,你想到了一系列問題。你想提問,但:

• 這不是問答時間。

• 你不喜歡在公共場合說話。

• 在問答時間,你可能手舉得不夠高或沒被挑中。

• 你有語言障礙,不能用演講者的母語與其流利地交流。

由於後勤或其他障礙,大多數人沒有機會在大會期間充分與演講者進行互動,探討其中的內容。

要是你有一個叫做“Conference Buddy”的聊天機器人,在想到問題的第一時間提出問題,問題就會得到解答呢?

並且,這些問題也會被傳送到儀錶板上,演講者可以參與並實時回答觀眾提出的問題。

是不是很爽,參會體驗大幅度飆升。

我們要構建的 Conference Buddy 聊天客戶端將具有三個功能:

3.3.1 回應你的問候並自我介紹

3.3.2. 如有可能,智慧且自動地回答你的一些問題

3.3.3 將你向演講者提出的問題傳送到儀錶板,以便演講者可以看到觀眾提出的所有問題,然後演講者可以選擇要回答的問題

限於篇幅,就不Copy人家程式碼了。

有興趣的朋友,可以下載電子書瞧瞧,也可以直接去GitHub下載原始碼。https://github.com/Azure/ConferenceBuddy

這裡貼一個架構圖:

Conference Buddy 機器人有兩個主要組成部分:

會議機器人

該元件智慧地處理所有與訊息相關的事件。

適用於多個渠道,這意味著使用者可以透過電子郵件、Skype 或使用自定義訊息服務(透過機器人聯結器連線到會議機器人)。

機器人大腦

它負責將機器人的業務邏輯抽象化,機器人大腦中存在個別機器人任務,問題和結果顯示在 Conference Buddy 儀錶板上。

機器人大腦是智慧機器人任務的集合,其中每個機器人任務是用於完成單個任務的函式,並且獨立於其他機器人任務。

機器人任務

機器人任務是業務邏輯的函式,可以利用多個認知服務 API 來處理使用者的訊息。機器人任務是機器人大腦集合中的函式。每個機器人任務可以部署

到同一個 Web 服務或單獨的 Web 服務,並可相互獨立地進行擴充套件。

例如,“詢問 xxx 是誰”任務使用兩個認知服務 API – 必應網站搜尋和必應影象搜尋,將結果合併在響應物件中,並將其發送回給會議機器人。然

後會議機器人會建立一個內容豐富的圖形卡片,以將收集到的資訊傳回給使用者。

對話流:Conference Buddy 機器人在工作中的一個例子

為了瞭解 Conference Buddy 機器人如何運作,我們來研究一個典型的對話流:

1. 使用者透過發出第一條訊息來呼叫會議機器人。

2. 會議機器人作出回應,首先向使用者打招呼,然後介紹自己能做些什麼。

3. 然後使用者提出問題,例如,“演講人lili是誰?”

4. 會議機器人將訊息傳送給 LUIS 以確定訊息的意圖:LUIS 解析訊息,

在我們的示例中,會傳回“這是一個詢問 xxx 是誰的任務”。

5. 然後,會議機器人在機器人大腦中,選擇要透過 HTTP Post 呼叫的相應的機器人任務。

在我們的示例中,“詢問 xxx 是誰”的任務將執行以下動作:

a. 將字串傳送到必應網站搜尋並獲取結果。

b. 將字串並行傳送到必應影象搜尋。

c. 將影象和文字合併到會議機器人能夠理解的響應物件/資料協定中。

6. 會議機器人將圖形卡片作為結果傳送給使用者。

7. 會議機器人將結果傳送到 Azure 搜尋以進行存檔,以便儀錶板可以使用它。

8. 使用者可以單擊卡片上的連結,以從文章來源獲取更多資訊。

透過以上對話流,我們大致就知道咱們首款智慧機器人的工作流程,剩下的就是掌握其中的每一個環節,最佳化它,使它工作的更好。

儀錶板

充當會議與會者和演講者探討的問答庫。Conference Buddy 儀錶板有以下功能:

• 顯示所有聽眾實時提出的問題

• 允許演講者按照會話、機器人技能或主題快速搜尋、排序或過濾結

果,以檢視提交的相關問題。

這個就簡單多了,Java、PHP等各種Web語言都能很快實現。

四、結合電子書,實踐一下

回頭看,智慧對話機器人並沒有那麼難,閱讀本文至少能看懂個大概。

或者說,智慧對話確實非常接地氣,咱們生活中的場景比較多。

京東等購物平臺的智慧客服已經可以解決一些標準化問題了。

推銷公司有時候,會有AI版的電話自動打過來,問你要不要這個,要不要那個。

有關本文“智慧機器人”實現的更多內容,大家可以下載電子書。這本電子書的2個作者,都是業界大牛。


Anand Raman 是 Microsoft AI 平臺的辦公室主任,也是 AI 生態系統的負責人。
Wee Hyong Tok 是 Microsoft AI 平臺團隊的首席資料科學經理。他領導工程和資料科學團隊負責“AI for Earth”計劃。

有關本文“智慧機器人”實現的更多內容,大家可以點選文末“閱讀原文”下載電子書。