文/陳宗興
緣由
學生時代,我學習LISP語言(後來成為人工智慧研究中受歡迎的語言),另外學習了Pascal與商業語言Cobol;更購買了一台Apple II,加上匯流排CPM-86。遂在這設備下,學習了一個個人電腦使用的資料庫-dBase。這是我走向商業系統開發的啟蒙點。預官役時我因為協助教官(我在運輸兵學校服役),設計LST運輸船的裝載計畫系統撰寫,使用Clipper進行個人電腦可以執行的裝載系統開發。總種因緣際會,讓我走入應用系統開發領域,不再侷促在演算法等領域範圍上。
退伍後,投入在本科系IE工程領域,在美商製造業待了十年,從IE工程師到OM工程師;又在一個特別的因緣下,就是我的主管是資訊部門主管兼任,因此,我得以涉獵到IBM大型電腦,進行ERP系統轉換與協助開發。
長久下來,我被訓練在ERP正規化的管理流程架構下,再加上本身是學管理科學,所以在資訊的應用上,總抱持一個理念,那就是:
《光是資訊理論與演算,或者只提供相關的技術規範,
卻不能在實務上結合,提出更具體的解決方案時,
我認為這樣的資訊技能可當作研究,但在企業上不具有任何價值的意義。》
當第三波的AI革命於前幾年風起雲湧而至,我深深體驗一窩蜂投入在演算法的領域學習上的工程師,空有一套方法論演算法深入的經驗之後,卻在應用需求上形成一個非常強大的間隙,那就是實務需求如何被轉換成可行的應用系統,逆向來說,當我擁有AI建模的能力之後,應用系統那一個大架構如何被框進來。人機介面又該如何被實現?在在考量著兩個站在風頭上的端點的工程師,那就是:
《應用工程師如何在AI系統上協助整體架構的完成?
AI建模工程師又該如何將可評估模組轉換成可企業資訊服務,
提供應用系統端的人機介面實現?》

圖片來源:Pasuwan via Shutterstock
如果我只會單項領域的應用?
在我擔任企業顧問過程中,有資深程式設計,在這一波AI學習浪潮中,面對非常大的一個衝擊;尤其是在演算法的衝擊下,猶如讓這些人回歸學校一班,重新拾起課本大啖演算理論,似乎有時不我予的窘境,無法投入研究的精神與時間,耗在一推方法論上,這簡直要了這群投入在實務開發領域的工程師們,自嘆,精神與體力的負擔有無法在這些符號之間深入,專注力的流失已是無法可言喻的。
所以呢?AI智能系統的演進與開發,關我何事?應該是體力好的年輕工程師的事囉。
重新投入學習,重新進入一個著重演算的學習, 卻與系統開發短時間搆不著邊的現象,對這些資深工程師目標管理,是具有絕對衝突性的。
如果我已經是一個Microsoft資深開發工程師,如果我是一個Java資深工程師,如果我是初進入門的Python工程師,進行AI建模。我只專注這一個領域的應用開發上時,我又該如何在面對突然而至的智能系統需求,能夠在自己的既定程式語言經驗上,透過一個短暫的學習與整合,完成AI系統開發的與架構建置。
我可以短期內具有這樣的系統整合能力與實現AI智能系統建置的能力嘛?

建模成本最貴,服務是王道
AI系統需要透過建模逐步完成,而建模訓練的資料,與測試資料的收集與萃取,需要投入在前置與企業系統資訊的整合上,甚至透過資料遷移服務(SSIS)上。或者您需要透過網路爬取回來資料,甚至外在與環境資料,則更需要透過IoT物聯網整合,才能順利獲取。因此,總會有人說,AI建模成本是最高的那一塊,尤其是這些資料(影像)的分析萃取與準備等。
因此,馬雲曾在一場年度投資會議上說:
「我們在公司從不討論AI,我討厭人們討論AI。」他認為,「通常是沒有數據的公司才會談論AI。」在他眼中,未來最重要的事情,是IoT(物聯網),而IoT即是大數據收集的主要來源方式。
建模成本的確非常非常的高,所以當我們透過相關的演算模組,將這些資料進行訓練建模,並且透過測試資料進行測試與優化。之後,您又該如何將這一個建模好的AI模組(可評估模組)轉換成雲端服務(REST Service),可以讓前端或者中間服務進行介接與整合,甚至整合企業ERP資料庫等,形成一個聯結與應用。
Open API架構下的RESTful API服務開發,即可完成AI建模的接口,遂將AI模組轉換成服務,轉換成一個龐大的資源服務,實現資源共享的應用目標。
如果我們想要快速進入AI產品開發範疇,且想避開投入在AI實驗高投資或者風險中,其中牽涉到人力與時間的壓迫時,我們可以轉為尋求人工智慧服務(AIaaS)進行系統整合應用與開發的方向來實現。
坊間著名AIaaS供應商,如Amazon AWS雲端運算服務、Microsoft Azure 雲端運算平台與服務、Google雲服務、以及IBM雲服務等。甚至連SAP與Line都已經推出相關的AI服務環境。 這也是協助我們快速建置AI系統的重大資源,可以讓您專注在累積多年的開發經驗證,將企業系統推向智能系統範疇的一個重要的墊腳石。
善用你已經具有的程式設計能力,大膽邁入AI智能系統開發
如果您已經具有一種程式語言的設計能力,如Python或者C#或者Java等,您均可以發揮您的專案,借助現有的人工智慧服務平台,構思您的AI系統整架構,並且在低成本與穩定與安全性的考量下,快速完成您的AI產品開發。
例如我想開發一個結合Line Bot聊天室的人機介面,讓使用者可以借助Line直接詢問想資料的區域與特約藥局現有口罩存量狀態。透過Line採用聊天方式進行資料查閱與回應。無須借助選單式的功能表操作方式進行 。您又該如何實現這樣的具有自然語言解析能力AI配合的即時性口罩查詢智能查詢聊天室開發?

如圖三所呈現架構,當我們想實踐一個《聊天機器人自然語意查詢即時剩餘口罩系統》我們需要整合那些技術規範?
- 需要具配有HTTP通訊協定開發與整合的能力
- 具備有開發RESTful API介接服務的能力
- 具備有Line Messaging API服務介接能力
- SQL Server SSIS整合服務Package開發能力
- SQL Server Agent自動化排程管理能力
- Azure LUIS.ai訓練建模能力(自然語意分析建模)
- SQL Server資料庫OLTP處理能力
- Open API資料JSON文件分析能力
如上面所列,雖只是一個參考架構,當然可以有不同的解題架構進行設計。我只想說明的一點就是:
《實踐一個AI應用系統的整體架構,是一個整合系統開發,絕非單一程式或者單一經驗即可完成。》
不要小覷你已經具有的程式開發經驗與能力,因為這些經驗都將是實現一個AI系統不可或缺的角色與能力。
系列課程的終極目標-讓您實現聊天機器人AI創新系統的快速實現
Microsoft Azure平台,提供多個AI Service(並且不斷的增加),同時提供齊全的Open API文件說明,以及相關的建模工具。讓你可以採用批量資料健行遷移,完成建模與測試。筆者透過熟悉的C#與Java與Python等程式語言進行相關的RESTful API開發,並且發表這些線上學習課程,借助了Line Bot人機介面。提供系列的AI Service專案式的開發架構,讓您可以在可以在短時間內,完成創意您的AI創意發想,並且使用您已經熟悉的程式語言,快速開發智能Line聊天機器人系統,這其中在在實現了下列的優勢。
- 低成本開發
- 即用性,可以立即實現與建構RESTful服務與AI Service整合
- 具有可擴充性,可進行實驗測試或者正式上線提供服務
- 安全性
- 完成系統架構,實現一次建模,多種人機介面的系統開發

