程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 扎克伯格開發的家用AI: Jarvis,aijarvis

扎克伯格開發的家用AI: Jarvis,aijarvis

編輯:關於PHP編程

扎克伯格開發的家用AI: Jarvis,aijarvis


扎克伯格本周二在facebook發布了一篇文章,介紹自己利用個人時間開發的一套在自己家裡使用的AI系統,並將它命名為Jarvis,對!就是電影鋼鐵俠裡的AI助手Jarvis。

文章並沒有講細節的技術coding,更像一篇人工智能技術在工程應用上的科普。

 

實現了哪些功能

能夠通過手機或者電腦向Jarvis發出文本或者語音命令,來控制家裡的燈光,溫度,電器,音樂播放和安全防衛; 能夠學習了解Mark的某些興趣(比如聽歌),能夠學習新的詞語和概念。

 

使用了哪些人工智能技術

自然語言處理,語音識別,人臉識別,增強學習

 

使用了哪些開發語言

PHP,Python,Objective C

 

系統架構

 


15419743_10103347287954901_2744013366467623932_o
Home Systems包括各種家庭設施,比如電燈,溫度調節器,門,音響設備,攝像頭,烤面包機等,由Crestron(世界領先的控制和自動化系統的制造商)系統在硬件層面和這些設施進行連接。

User Interface包括一個聊天機器人,一個iOS語音App和攝像頭;

AI Systems提供人工智能的相關技術,都是用的facebook的已有系統;

Jarvis Server作為中樞系統,邏輯步驟:

1. 從User Interfaces接收文本,語音,圖像輸入

2. 調用AI Systems接口對輸入進行命令識別

3. 根據識別的命令向Home Systems裡的設備發送控制命令

 

根據原文的描述,大致可以推斷出:

Messenger Bot是基於facebook Messenger提供的Framework做開發;

iOS Voice App使用Objective C開發;

Jarvis Server 使用PHP/Python開發;

 

連接家居

首先使用了Crestron系統來連接控制家居設備,包括:電燈,溫度調節器和門,使用Spotify(全球最大的正版流媒體音樂服務平台)音樂服務的Sonos(世界領先的家庭智能無線音響制造商)音響設備,三星電視,Nest牌的攝像頭。

為了連接某些設備,Mark還逆向研究了這些設備的API,最終實現類似於通過電腦發送命令的方式來打開電燈或者播放某一首歌的功能。

而有的設備的連接則需要對設備本身硬件進行修改,比如他特別提到了連接烤面包機,為了能夠自動烤面包,他最終找到了一台1950年代的面包機,並給它裝配了一個智能開關。

最後得出結論,如果想讓更多的人使用類似於Jarvis這樣的智能助理來控制家裡的一切,那麼更多的設備需要被連接,而且整個智能家居行業也需要開發制定出通用的API和標准,使得各種設備能夠很方便的進行通信。

 

自然語言處理

 

15585306_10103347843287011_1483578233804538285_o

 

Mark提到實現語音控制分為兩個步驟:1. 能夠通過文本信息來控制家居硬件。2. 將語音識別成文本信息。

 

他從最簡單的關鍵詞開始入手,比如當Jarvis接收到"bedroom", "lights"和"on"的詞語時,就將臥室的燈打開。

但很快發現Jarvis要有識別近義詞的能力,比如"family room", "living room"在Mark家裡都是一個意思。這意味著需要有某種方式來教會Jarvis識別近義詞。

對於AI來說,能夠理解上下文語境也至關重要,如果Mark或者他的妻子Priscilla在不同的房間對Jarvis說相同的話,比如"把燈光調暗一些",那麼Jarvis要能夠識別出到底是把哪個房間的燈光調暗一些。

而控制音樂播放的語義理解則更加復雜,比如對於燈的控制,只有"turned up or down"兩個選擇,而對於音樂播放的控制,"play x"則會有多種意思。

 

想一下關於Adele的三個語句:"play someone like you", "play someone like adele", and "play some adele".

"play someone like you"的意思是是播放一首歌,"play someone like adele"的意思是推薦一位和adele類似的歌手並播放他的歌曲,"play some adele”是推薦一些adele的歌曲並播放。

通過一個正負反饋系統,能夠訓練Jarvis理解這些語句的不同。

 

AI擁有的上下文信息越多,處理開放請求(而不是某種特定的命令)的能力就越強大。

Mark經常向Jarvis說"play me some music”,Jarvis通過查詢Mark以往的聽歌歷史就能夠大概率給推薦出他喜歡聽的歌曲。

如果不喜歡它推薦出的某首歌曲,那麼就可以告訴Jarvis: "that's not light, play something light”,從這句話裡Jarvis不但能夠學習到這首歌的分類還能夠立刻對Mark的推薦進行調整。

 

視覺和人臉識別

 
15591179_10103347986300411_2605551985241785524_o

 

對於AI來說,要能夠理解圖像和視頻中正在發生什麼,比如追蹤(比如Max醒了,在她的嬰兒床裡來回動),對象識別(房間裡有一個動物或者一個毛毯),人臉識別(是誰在門口),Facebook在這方面已經做得很好。

 

Mark在自家門口安裝了一些攝像頭,能夠從各個角度拍攝圖像,之後他構建了一個監控攝像頭圖像的服務器:1. 運行人臉探測技術來發現是否有人進入攝像頭視野。 2. 發現了一張人臉後,運行人臉識別技術來確認此人是誰。一旦確認出此人身份,server將從白名單對比是否允許此人進門。

 

聊天機器人

 
15577989_10103347985661691_4152643580570731663_o

 

為了能夠使用手機和Jarvis通信,Mark基於Messenger開發了一個Messenger bot,也稱為Jarvis bot。Messenger提供了一個開發bot的框架,這個框架可以在ios和android上運行。

向Jarvis bot輸入text後, 它將text轉發到Jarvis sever。

 

語音識別

 15578281_10103347313693321_3998052187899228050_o

 

Mark開發了一個ios app用於接收語音輸入,並使用了facebook的語音識別系統進行語音識別。他將這個app安裝在多台手機上,每個房間裡放一個手機來隨時接收語音輸入。

在原文裡,Mark用了更多的篇幅講述語音識別並分享了自己一些有趣的發現。比如他會教Jarvis在和女兒Max交流時多一些幽默感。

 

Facebook的工程開發環境

在這個部分,Mark首先以自己的這段親身coding體驗表達了在facebook做開發工程師的感受:"it's impressive" --- 令人印象深刻的。

之後他稱贊了自家的開發環境和開源項目:

"一直令我印象深刻的是facebook的代碼庫組織的如何的好,從中找到想要找的東西是如何的簡單,比如人臉識別,語音識別,聊天機器人框架或者IOS開發的相關知識"

"由facebook開源的Nuclide(用於GitHub's Atom)大大提高了開發效率;用於大型項目的構建系統Bulk為我節省了更多時間;由我們開源的AI文本分詞工具FastText也是值得checkout下來的;並且如果你對AI開發感興趣,那麼整個的Facebook Research的github倉庫也是值得一看的"

最後他提到了facebook的價值觀之一"move fast", "在facebook你將比在任何其他地方更快的開發一個應用,在facebook的基礎設施和AI工具的支撐下,你將有更高的開發效率"

 

---------------

原英文地址:Jarvis

在文章末尾Mark提到目前代碼裡涉及到很多他家裡的信息,所以還不能開源,但他計劃在代碼層面再加一個抽象層屏蔽敏感信息後便可以開源。 

以下是文中提到的各種開發工具和項目:

 

Facebook Messenger Platform: 開發者能夠快速的構建一個聊天機器人

https://developers.facebook.com/docs/messenger-platform

 

nuclide: Facebook開源的一個基於Atom的IDE,用於網絡和手機開發

https://github.com/facebook/nuclide

 

Buck: Facebook開發的高性能構建工具

https://buckbuild.com/

 

fastText: Facebook開源的文本分類器

https://github.com/facebookresearch/fastText

 

 

Facebook Research: Facebook開源的各種AI工具

https://github.com/facebookresearch

 

 

 

qrcode_for_gh_61c6224cfae9_258

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved