跳到主要內容

串接 知識決策模型 / 知識推論引擎 / 工作流程模型 / 工作分派引擎 ,一起手牽手心連心!

DSC08287

還記得九年前 (oh my god!! ) 在做Ontology研究時,
總是對整個流程架構、如何真正的應用有很大的問號,
當時看到稱的上劃時代知識工程ontology應用語言的RDF時,
還對於其高複雜度與如何真正實作有著更大的問號!
沒辦法,畢竟工程人員對於實作一個真正有function系統的渴望,
相較於一個定義充沛、複雜卻無法直接應用的 Model 來的高出太多太多。

但這些時間過去了,
不同領域間的工具經驗、知識累積下,
竟然也整合孕育出了真正結合理論與實作的方式,真是感動的我快老淚縱橫了。 

以現在當下的作法,
如何真正整合 Ontology到決策workflow的中,而非以前的Model / Implementation 兩邊各玩各的?
最精準的方式就是整合流程管理方法,
而這點在流程方法電子化研究趨近成熟的現在,一切也都不是難事。

過去在探討企業流程塑模同樣也只是個說故事的工具,
例如用來描繪工作流程、決策、資訊傳遞等過程的 BPMN  (Business Process Model and Notation) 的發展,
最初,也只是一種塑模 (Modeling)的表示方式。
但現在同樣的也在龐大組織架構的複雜資訊化需求下產生了進化,
不只是標準化的提出,連底層結合都綁在一起了,
這意味著,現在的軟體流程可以直接串聯早期屬於管理層級的流層架構,
而且利用的,不再是底層開發語言的指令模式,而是更高階的管理流程規則。

同樣的,在知識決策人工智慧的領域,
從20年前的數學模型、機率統計到之後的語意描述建模,
演化到如今,將語意描述語言轉譯為語意法則,
再真正透過推論引擎去分析推斷,產生真實的邏輯判斷結果,
一切就這樣從無到有,從不可能到可能!

我們就舉實例來說吧,
知識工程方面,
過去我們使用Ontology來定義領域知識架構與其樹狀圖,
再新潮點用RDF真正去標準化結構。

現在,則是直接是有了Ontology 原型後,直接用OWL (The Web Ontology Language) 定義出Ontology結構,
並且定義關係屬性(property),隨後建立出實例(Instance)後便可以轉化規則,並且透過規則(Rule)推論引擎產生推論結果。
(是的,現在RDF也少人用了,你說時間多殘酷)

而在企業流程方面,
現在同樣的可以透過 BPMN 的工具進行流程分析,隨後直接利用BPMN塑模語言產生XML文本的流程描述,
最後直接透過流程管理引擎進行流程的指派與傳遞。


到這邊,是不是還是很模糊? 還是不知道到底要怎麼實現??

當然,如果說了流程後就會讓你知道怎麼做,
那業界一套幾百萬甚至上千萬的軟體是賣假的?

如何整合,一直都是用來賺錢的 Know-how,
入門者,知道結果,
進階者,知道工具與方法,
但怎麼跨領域去整合千千百百種方法、模式、開發方案?
就是各憑本事了。

最後,針對這個case提供一個solution給大家,
這是廠商不會告訴你,學校不會教,論文也顯少講清楚。
但要拿來寫論文、寫計畫、甚至是商用化來營利,絕對是綽綽有餘。

如何結合(Linking)  知識決策模型(Hypothesis) / 知識推論引擎(Procedure) / 工作流程模型(Model) / 工作分派引擎(Procedure) 與系統開發 (Implementation) ??

以 Ontology 架構為例,這裡提供一個實際流程、工具與應用範例:
。知識決策架構
  1. 瞭解領域環境
  2. 分析並歸納領域問題
  3. 定義領域知識與知識關聯架構
  4. 透過 OWL-DL (Web Ontology Language-Description Logic) 語言建立Ontology 模型
  5. 透過Protégé 工具進行管理Ontology (亦可用於建立)
  6. 定義屬性(Property)
  7. 建立實體案例(Instance)
  8. 轉換Ontology為SWRL (Semantic Web Rule Language) 語言以提供溝通
  9. 建立語義推論引擎系統 (Semantic Reasoning Engine) 如 Jess Rule Engine
  10. 轉化SWRL成為推論法則,以Jess Rule Engine為例,需將其轉化為Jess fect
  11. 依據系統輸入進行Rule Patten Matching
  12. 啟動(Lunch) 對應動作、程序

。流程控制架構
  1. 分析環境並瞭解組織或應用標的之流程
  2. 建立Framewrok 架構以定義行為與程序
  3. 解析各行為、程序、法則、決策點,並定義資訊交換流程
  4. 建立最基本化之單元執行程序(Atomic Procedure)
  5. 使用BPMN塑模建立流程與Framework
  6. 以上可以由Drools-Flow 與 jBPM 實作 (目前兩者已整合)
  7. 依據系統輸入進行流程引導追蹤
  8. 依據連續輸入推進流程,直至流程結束產生結果

。系統實作與架構結合
  1. Web-Based系統建置,上述系統皆使用Java開發實作
  2. 流程控制引擎建置,以JBPM為例則運行於JBOSS環境
  3. 知識決策引擎建置,以Jess Rule Engine為例亦為Java-Based服務
  4. 建立Web-Base UI架構,並依據各UI端設計Web Service接口
  5. 建立實例Model物件
  6. 各UI與應用層 ( JBPM) 進行溝通時,先轉送Model物件至推論引擎
  7. 推論引擎進行法則(Rule)查詢比對
  8. 產生規則觸發 (trigger)
  9. 觸發後之法則將指示對應單元執行程序
  10. 結合各單元程序,產生Workflow
  11. UI持續逐一輸入資訊,流程持續追蹤,推論引擎反覆進行條件推論(Forward or Backward)
  12. 直至流程完成

上述,
就是一個你找不到一篇完整文章會告訴你的,
以實際系統建置(Implementation) 角度去探討的整合個案,
雖說已經逐步分解到實作的每個環節,但仍然是有許多細節要處理,
像不同的Model語言要做的轉換,如將SWRL語言對應至Jess Fact語法,
如合分析BPMN的XML語言並且執行? 或將Trigger的動作(Action)串接到程序(Process)
這個,就看各位的功力跟造化了。

只能說現在的IT人員越來越難當,
不只基礎程式、資料處理能力要夠,
還要有工具應用的能力 (Database , XML , JSON …  )
現在還要有架構實作的能力 ( OO , MVC, SAS … )
更慘的是,還要懂的以往的研究領域知識 ( KM, Ontology , DSS , ES, BP, Algorithm,  BPMN …… )
還沒說那些多元的應用端技巧 ( Mobile, Android, CSS , Javascript, AJAX , EK… )

學海無涯,用在資訊領域,還真的是剛好而已  !!

但現在資訊相關學生,
連資料庫都學的有問題,程式修了兩年還是不會寫,

你說該怎麼辦?


PAN
2013.04.02

留言

這個網誌中的熱門文章

醫學健康跨領域合作的開始:資料工程

一直都很喜歡在會議上與跨領域的專家、醫師、學者分享我們在數據工程與分析應用上的發展經驗。 許多的專家學者,對於大數據應用的認知都仍侷限在一個超大型結構化資料集的子集合應用,在規劃好的條件設定下,針對特定的目標(疾病、行為)進行篩選,將數據narrow down到可以被個人電腦或是單一伺服器架構處理的小型資料集。 這樣的半手工處理方式,對於專一(Specific)領域主題的資料追蹤計算或許已經十分足夠,但當中倘若資料清理方式有改變、篩選條件增減,所有的數據都要從raw重新處理,不僅造成大量的時間與人力浪費,對於專案計畫進度的延宕更是麻煩。這些還不包含

別再期末談臨終

『在那六年多的時間,我常常反省、後悔、卻也培養勇氣,問自己再遇到時要做什麼決定?.......回想我要簽同意書的時候,真的會抖-我有資格決定人家生死嗎?』 面對死亡,我們都很害怕,更何況是家人的臨終。 但究竟我們的選擇,是為了給家人最後的尊嚴? 還是填補自己的罪惡感? 學習勇敢面對、學習放下, 更要學著為自己的未來做好規劃,不成為子女的負擔。 希望大家一起鼓勵這個勇敢的朋友, 因為她的經驗分享,讓我們更加了解, 面對家人臨終,我們該如何做好準備。 『末期才談臨終太遲』 https://www.wacare.live/health-forum/q/1984983840830?topicId=25049764537230&fbclid=IwAR1ei-zrfSj9w5kbvBW5ecSbqWrI408fJ1qjXhisZwLxYdbON_jJbNKMAyY 更多的失智照護課程 https://www.wahere.wapro.live/udnxwacare Pan 2020.12.22 #臨終 #失智 #善終 #放棄急救 #預立醫療 #病人自主

Google 資料庫方案–Spreadsheet–(1)資料呈現

HEMiDEMi 的標籤: Google , Google SpreadSheet , 雲端 早在規劃『 教育,意義! 』project時, 便有打算將整個網站建立過程撰寫一篇教學,讓有興趣以google 服務為基礎進行開發的朋友參考。 沒想到這個想法擺著就拖了好幾個月, 好在學生提出了問題,就趁這機會寫一寫吧。 基本上『 教育,意義! 』網站的架構完全建立在Google提供的服務, 廣義來說也是個雲端的系統, 所有的資料是分散在不同的服務架構下,再用GAE, Javascrript將服務資訊串接起來, 由Blogspot 統一呈現。 省了租主機的費用,或架站的硬體、電費, 最好的地方在於不用管理主機維運的問題, 只要專心做我的創意、嘗鮮就好了!!   多棒! 若將『 教育,意義! 』網站依功能層次來分類,可以分為三層結構, 當中的層次與使用技術大致如下: UI 介面層 服務 : Blogspot (網站介面) , Picasa (相簿空間), Google Apps 技術 : Javascript , AJAX ( JQuery ) App應用層  服務 : Google App Engine (GAE) 技術 : Java, Java Server Page (JSP) 資料層 服務 : Google Docs (文件), Google Spreadsheet (試算表) 技術/函式庫 : Java, Google Data APIs 本篇文章將著重在介紹以Google Spreadsheet 做為雲端資料庫, 其他主題將會陸續推出。 若對Google API 與 Google App Engine 初步建置有興趣, 可以參考之前文章: 佛心來著的 Google Data API – for JAVA 雲端的開始:Netbeans 無痛 Google App Engine Java 服務開發 Google Spreadsheet 做為資料庫系統 對於小型的資料系統來說, 採用Google Spreadsheet做為應用程式資料庫(如問卷調查或線上系統) 也算堪用, 目前的儲存限制為 : 40 萬個儲存格 每張工作表最多 256 欄 而Goog