國立臺東大學資訊管理學系 碩士論文
Department of Information Science and Management systems
National Taitung University Master Thesis
基於知識本體之對話代理人社群塑模與轉換 Ontology-Based Dialogue Agent Society Modeling
and Transformation
林聖熙 Sheng-Shi Lin
指導教授:辛信興 博士 Advisor: Shin-Shing Shin, Ph.D.
指導教授:謝明哲 博士 Advisor: Ming-Che Hsieh, Ph.D.
中 華 民 國 99 年 7 月
July, 2010
誌謝
首先要感謝我的父母,讓我無憂無慮的追求自己想做的事,才能在這兩年完 成學業與碩士論文,在此要誠摯地感謝指導教授 謝明哲 教授對於此篇論文的付 出與細心指導,教授學術研究要站在高端而不要陷入技術底層之中,不僅對於學 術專業的教導,更經常教誨我們生活的態度,對身心障礙者的服務是永續,使我 受益良多。要感謝指導教授 辛信興 教授,在準備研討會階段指導,學會了如何 面對困難與挑戰,以及提供具體的建議與給予相關文獻參考、指引一步步完成了 研討會論文及碩士論文,在此獻上由衷的敬意與謝意。承蒙中山管理學院院長 吳 仁和 教授在口試中給予的寶貴意見,使論文能夠更臻完善。
感謝班上同學好伙伴 龍富、弘侑、延錄、冠廷、慧文、牧隴、文翔、千秦,
有你們讓研究室總是充滿了無限的歡樂,更有你們陪伴我度過每一個不同的階 段,讓我的人生過的如此精采豐富。感謝實驗室的學長 維昇、紹永、宜澤,帶 領進入人因與智慧型代理人領域,在論文在寫作上給予指導並幫忙校稿。謝謝我 們的學弟妹 人杰、雅雯、俊穎、仁俊、家政、名哲,讓枯燥乏味的研究生活帶 來意想不到的歡樂。
此外要感謝研究個案 慶鴻配合參與,與 閻媽媽淑貞的協助研究的進行,以 及國科會給予研究經費的補助,感謝東基醫院的長官們 直融、建富、詩于、宜 珍、靜芬、頌惠提供專家諮詢。最後要感謝 筱雯 多虧有您的諒解,以及在精神 上給我莫大的支持,才能夠無後顧之憂取得碩士學位,謹以此篇論文獻給一路上 所有協助我的人。
林聖熙 謹識 于 東大資管所 民國九十九年七月
摘要
在代理人進行對話過程中存在有感知問題,如何感知使用者的認知是最大的 瓶頸,透過代理人的知識本體 (Ontology) 來幫助理解。本論文基於DARM對話 代理人需求模型方法論,在對話代理人社群塑模階段的概念收集與分析過程,使 用心智圖及親和圖作為概念擷取工具,並利用具有計量能力的正規概念分析法 (Formal Concept Analysis, FCA),協助有效擷取使用者認知的知識本體,使用語 意框架來推論隱性知識概念。
本論文以脊椎損傷個案居家服務為例,首先瞭解個案觀看電視的行為及情意 需求,並藉由節目頻道的呈現引發個案的情緒反應,進而確認生理訊號與情緒之 間的關係,設計以使用者認知模型來模擬各種觀看電視的情緒,達到以使用者認 知適配喜好頻道,配合使用者心情建議欣賞節目。
透過使用者認知的知識本體塑模讓對話代理人能夠更貼心的融入到居家生 活之中,適切的行動服務來滿足使用者的需求,減少複雜性的對話,讓口語對話 代理人系統更具彈性與自然度,為了有效地給予適當的回饋與錯誤處理,以利後 續結合人代理人互動 (Human-Agent Interaction, HAI) 軟體發展程序與發展輔助 性人代理人互動情境智慧環境,藉此創造更優質的居家生活環境。
關鍵字:需求塑模、知識本體、使用者認知、口語對話代理人、模型驅動架構
Abstract
There are several cognitive biases in agent dialogue-making processes, and how to perceive the user's perception is the key problem, the agent ontology was very helpful for user's perception. This paper based on Dialogue Agent Requirements Modeling (DARM) methodology for the analysis of system requirements capture method, the dialogue agent society process of collection and analysis in concept, using mind map and affinity diagram capture as a capture mind tool, and use measurement capability formal concept analysis (FCA) to assist experts in cognitive ontology capture user concept, to semantic inference framework to the concept of tacit knowledge.
This study was used in cases of severe spinal cord injury patients. First, understand the behavior of watching TV and affective needs, to confirm the relationship between physiological signals and emotions in watching program channels, then the design cognitive model to simulate the test. Through the approach, the system facilitated users improving their dialogue making process and satisfaction.
To demonstrate the feasibility of the proposed methodology, the domain of communication and knowledge ontology modeling and conversion, in order to provide feedback adequacy and error handling adequacy effectively. Increased the perceived intent of conversation, and effectively provide services quickly, and to reduce the complexity of dialogue and to raise the efficiency of agent user interface developing. In future work, it’s benefits to combine with Human-Agent Interaction software development process and the development of intellectual environment.
Keyword: requirement modeling, ontology, perception-aware, spoken dialogue agent, model driven architecture
目次
摘要... I
ABSTRACT ... II 目次...III 圖目次 ... VI 表目次 ...X
第一章 緒論 ...1
1.1 研究背景與動機 ...1
1.2 研究目的...3
1.3 研究範圍與限制 ...4
1.4 論文架構...5
第二章 文獻探討...8
2.1 代理人...8
2.1.1 代理人定義...8
2.1.2 FIPA 代理人通訊標準 ...9
2.1.3 ACL 訊息結構 ...10
2.1.4 ACL 溝通行為模式... 11
2.1.5 JADE 代理人開發平臺 ...12
2.1.6 JADE 代理人平臺架構 ...13
2.1.7 JADE 代理人生命週期 ...15
2.2 知識本體(O
NTOLOGY
) ...162.2.1 代理人知識本體 ...17
2.2.2 建置知識本體步驟 ...18
2.2.3 知識本體工具 ...19
2.2.4 統一塑模語言轉換知識本體 ...21
2.3 使用者介面...23
2.3.1 使用者介面概念架構...24
2.3.2 使用者介面塑模方法論...24
2.3.3 代理人使用者介面需求塑模方法論 ...27
2.3.4 PASSI 方法論 ...28
2.3.5 代理人框架的模型化工具...30
2.3.6 代理人使用者介面需求模型 ...31
2.3.7 對話代理人社群模型...35
第三章 研究方法...37
第四章 代理人社群塑模與轉換...40
4.1 代理人社群模型設計 ...41
4.1.1 代理人使用者介面需求塑模 ...42
4.1.2 代理人使用者介面社群塑模 ...43
4.2 以使用者認知為基礎的設計構想 ...44
4.2.1 使用者認知的基礎知識...45
4.2.2 使用者認知為基礎設計系統架構 ...46
4.3 建構心智圖之步驟 ...49
4.4 實作方式 ...51
第五章 可行性評估...54
5.1 研究對象 ...54
5.2 應用案例一:以使用者認知適配喜好頻道...57
5.3 應用案例二:配合使用者心情建議欣賞節目...62
5.4 應用案例三:轉換代理人溝通知識 ...67
5.5 觀察與評估...70
第六章 結論 ...71
6.1 研究成果 ...71
6.2 研究貢獻 ...72
6.3 未來研究方向...72
參考文獻 ...73
中文部分 ...73
英文部分 ...75
附錄一 ...79
附錄二 ...81
附錄三 ...83
圖目次
圖 1.5 論文架構說明圖...6
圖 2.1.1 FIPA 定義的抽象架構...10
圖 2.1.6.1 FIPA 代理人平臺架構圖 ...13
圖 2.1.6.2 JADE 分散式代理人平臺...14
圖 2.1.6.3 JADE 黃頁服務(Yellow Pages Service) ...15
圖 2.1.7 代理人生命週期...16
圖 2.2.1 基於知識本體的代理人溝通模型...18
圖 2.2.2 建立 Ontology 之方法 ...19
圖 2.2.3 建構知識本體 Protégé 3.3.1 工具畫面...20
圖 2.2.4.1 MDA 四層的 MOF 為基礎 Metadata 架構...22
圖 2.2.4.2 MDA 基礎下 Ontology 塑模 ...23
圖 2.3.2.1 資訊系統一般性架構環境...25
圖 2.3.2.2 使用者介面塑模...26
圖 2.3.2.3 使用者介面需求塑模 ...27
圖 2.3.3 代理人介面需求塑模方法論...28
圖 2.3.4 PASSI 方法論...30
圖 2.3.5 PASSI Tool Kit (PTK) CASE 工具...31
圖 2.3.6.1 領域描述階段以用例圖(Use Case Diagram)表達 ...32
圖 2.3.6.2 代理人識別階段以樣板用例圖(Use Case Diagram)表達...32
圖 2.3.6.3 角色辨識階段階段以循序圖(Sequence Diagram)表達 ...33
圖 2.3.6.4 工作規範圖階段以活動圖(Activity Diagram)表達 ...34
圖 2.3.7.1 領域知識描述階段以類別圖(Class Diagram)表達...36
圖 2.3.7.2 溝通知識描述階段以類別圖(Class Diagram)表達...36
圖 3.1 研究流程 ...37
圖 3.2 DARM 方法論之 MDA 軟體架構 ...38
圖 3.3 評估可行性測試流程 ...39
圖 4 代理人使用者介面系統架構 ...40
圖 4.1 對話代理人需求塑模方法論(Dialogue Agent Requirements Modeling Methodology, DARM) ...41
圖 4.1.1 代理人使用者介面需求塑模...43
圖 4.1.3 代理人使用者介面概念塑模 ...44
圖 4.2 以使用者認知為基礎的設計構想與系統架構...45
圖 4.2.2.1 以使用者認知為基礎的系統架構...46
圖 4.2.2.2 心智圖(Mind Map) ...47
圖 4.2.2.3 親和圖(Affinity Diagram) ...47
圖 4.2.2.4 UML 類別圖(Class Diagram)範例...48
圖 4.2.2.5 UML 物件圖(Object Diagram)範例 ...49
圖 4.3.1 家電的方格圖(Context Lattice) ...50
圖 4.3.2 相關概念的格線圖(Hasse Diagram) ...50
圖 4.4.1 UML 工具和 Ontology 工具的轉換知識方法架構圖 ...52
圖 4.4.2 代理人溝通知識(使用 RDF)Ontology 的方式描述圖...52
圖 5.1.1 嘴控摩斯碼輸入系統 ...54
圖 5.1.2 精簡的智慧型家電控制服務知識分類本體論...55
圖 5.1.3 口話對話代理人系統架構 ...56
圖 5.1.4 智慧型居家代理人管理平台...56
圖 5.2.1 收集電視頻道領域的特徵詞彙心智圖 ...57
圖 5.2.2 收集電視頻道領域的語意形容詞彙親和圖...58
圖 5.2.3 電視頻道的方格圖...58
圖 5.2.4 相關概念的格線圖...59
圖 5.2.5 支持決定階層概念數的格線圖...59
圖 5.2.6 以 Duquenne-Guigues 演算法計算獲得的關係...60
圖 5.2.7 關聯規則 ...60
圖 5.2.8 過濾後相關概念的格線圖 ...61
圖 5.2.9 過濾後支持決定階層概念數的格線圖 ...62
圖 5.3.1 收集電視節目領域的特徵詞彙心智圖 ...63
圖 5.3.2 收集電視節目領域的語意形容詞彙親和圖...63
圖 5.3.3 以使用者負向情緒為概念的電視節方格圖...64
圖 5.3.4 以使用者負向情緒為相關概念的格線圖 ...65
圖 5.3.5 支持以使用者負向情緒為決定階層概念數的格線圖 ...65
圖 5.3.6 以 Duquenne-Guigues 演算法計算獲得的負向情緒關係 ...66
圖 5.3.7 負向情緒概念關聯規則 ...66
圖 5.4.1 MagicDraw 設計概念類別圖 ...67
圖 5.4.2 家電控制之溝通知識描述階段以類別圖表達...68 圖 5.4.3 以 Protégé v3.3.1 工具匯出為 RDF ...69 圖 5.4.4 以 RDF 標記語言溝通知識...69
表目次
表 2.1.3 FIPA ACL 訊息結構 ...10
表 2.1.4 FIPA ACL 溝通行為類型的描述 ...11
表 2.3.6 領域知識的三種不同的類別...35
表 4.4 各 Ontology 工具可轉換標記語言一覽表 ...53
第一章 緒論 1.1 研究背景與動機
隨著資訊科技蓬勃發展應用日益普及,使用者能夠以最自然且最有效的口語 對話進行人機互動的方式,主要在語音辨識(Speech Recognition)、合成語音(Text to Speech) 和 知 識 本 體 (Ontology) 的 模 型 驅 動 架 構 (Model-Driven Architecture, MDA)關鍵技術獲得突破性的發展,以及代理人使用者介面(Agent-Based User Interface, AUI)、VoiceXML、ActiveXML 與情境智慧(Ambient Intelligence, AmI) 技術的成熟,建構無所不在的計算(Ubiquitous Computing)以人為中心的電腦互動 設計(Human-Centric Computer Interaction Design)的優質生活環境越來越容易。
然而儘管口語對話系統、智慧代理人與自然語言處理技術的發展如何的進 步,沒有一套方法把資訊科技有效融入智慧型居家服務,將代理人使用者介面技 術有效整合運用在人機介面上,人代理人系統之人機互動模式,已經成為未來科 技發展的重要指標應用,近年來也有越來越多的計畫實現了數位家庭的跨領域整 合研究,提升了反應時間、安全需求、可維護性、對話意圖、感知品質不可或缺 重要功能需求,在實際人機互動對話中,使用者的對話意圖行為是事先被預知,
擷取出最重要之關鍵詞彙,透過語音分析與語言模型的處理,適應性地接受之使 用者對話行為給予回應。
目前有關智慧代理人介面的研究,大部份皆以正常人為考量所發展,國內外 身心障礙者應用研究,皆以單一溝通形式的適應性介面為主,基於電腦人機介面 輔助性設計(Assistive Design)或通用性設計(Universal Design)為考量,而探討以多 重模式(Multi-Model)智慧型代理人介面之相關人性因素研究則十分缺乏。例如,
在視力障礙方面主要以語音合成(Synthesized Speech)或點字(Braille)輸出,結合點 字輸入處理文字介面,而圖形介面以聲音或語音導覽選單為主要技術。在聽力和
語言障礙方面,重點在於如何提高文字溝通效率和手語辨技術。在肢體障礙方則 有語音輸入、眼控(凝視)輸入、以及輸入指令預測。
與一般智慧型居家服務計算環境比較,脊椎損傷患者智慧型居家服務應用最 大的特點,是使用情境較不像生活環境可使用通用性設計(Universal Design)的運 作模式,而使用者對人代理人系統之人機互動模式的自然度與彈性也有更高的要 求,甚至期望達到使用者能不必感知到電腦存在的最終目標,系統就能根據使用 者的生理或心理狀態及意願,自動化調整環境的設定參數、動畫人物的呈現參數 (手勢動作、臉部表情、身體姿態)和語音回應的提示參數(語義、語法、情緒、語 調),然而要達到此目標的一個重要關鍵技術,便是如何以有限的感測器感知使 用者的情緒及意向,並以適切的使用者認知(Perception-aware)轉化為行動服務滿 足使用者的需求。
在個案研究中,確實可以提升使用者的生活上自主性,採用預定的對話樣 板,來模擬對話代理人回饋訊息,而在操作使用性程度議題上,回饋的適當性和 錯誤處理的適當性兩個議題上,互動的錯誤率頗高;在輸出措辭的適當性、互動 指引的充分性、對話結構的自然性、系統推理能力的充分性等四個議題上,明顯 地使用性操作略嫌不足,未進行使用者對話詞彙的知識描述,只描述進行需求功 能領域描述,以及代理人通訊協定與知識理解溝通訊息描述,未針對使用者與系 統之間溝通的對話認知建置知識描述,不利於主動創造對話訊息,判斷使用者意 圖。在發展對話代理人系統時,由於人類認知是複雜的心智過程,如何有效從對 話內容感知使用者的認知意圖是最困難的問題,將感知意圖轉換提供服務將是重 要的關鍵。
另外,將代理人應用於智慧型居家服務例子,較少強調使用者介面代理人的 應用,必須有足夠的彈性以兼顧各種不同的使用者需求,並且要能夠讓人機互動 變得簡單、直覺,如何設計前瞻性以人代理人系統之人機互動模式的優質智慧型 居家服務,有效利用代理人分工合作及自主性和自動性的特色,輔助使用者來提
昇輔助性人機互動效能,提供一個友善的人機互動介面口語對話代理人系統為最 終目標,必須有一套能夠有效描述代理人使用者介面的需求方法,甚至是具有情 境智慧基礎的感知描述方法,所以本論文研究是在基於對話代理人需求塑模方法 論(Dialogue Agent Requirements Modeling Methodology, DARM)(Hsieh, Hung, Lin,
& Luo, 2009; Hsieh, Hung, Shin, Lin, & Huang, 2008; 謝明哲,2009)之代理人社群 模型上提出一個精煉口語對話人代理人使用者認知塑模方法,本研究期望建立對 話內容的分類與相關變因的關係塑模,而在對話的溝通則是探討如何將概念模型 透過 Ontology 的語言描述建構的方法,以利多代理人之間的溝通傳遞。
1.2 研究目的
Hsieh 等人(2009; 2008)以 PASSI (a Process for Agent Societies Specification and Implementation)(Chella, Cossentino, & Sabatucci, 2004; M. Cossentino & Potts, 2001; Luck, Ashri, & D'Inverno, 2004)方法論為基礎,提出了 DARM 方法論以脊 髓損傷個案之智慧型居家環境控制為應用案例,應用在居家環境控制、網路電話 通訊、和快速呼叫家人,實現輔助性文字口語對話代理人使用者介面範例,完成 的模型包括代理人需求模型、對話代理人社群模型、和對話代理人 PAC 模型。
本研究即是以洪維昇(2009)對 DARM 所提出的應用於對話代理人需求塑模 與實作,加入來自對話的概念並透過加入對話詞彙 Ontology 分類,依對話內容 類別及意向間關係定義,透過本體論界定領域與範圍,建構具有階層架構的使用 者認知本體論,撰寫情意規則並自行檢查的正確與合理性,實證結果顯示本研究 所使用方法論,確能有效達成使用者認知 Ontology 的塑模(Modeling)和模型驅動 架構(Model-Driven Architecture, MDA),而實現具體化口語對話人代理人之人機 互動設計的方法論,有助於提高多代理人功能原型(Prototype)使用性測試的效 率,讓口語對話代理人系統人機介面的開發更具彈性與自然度,期望發展出一套
代理人互動情境智慧環境,根據所設計系統的不同需求,決定情境的應用方式,
可依照使用者認知來辨識及表達的方式分為數個層次。並具體達成以下的研究目 的:
一、 應用 DARM 方法論於口語對話代理人系統,進行使用者認知的對話詞 彙知識描述塑模,探討建置 Ontology 的過程。
二、 加入對話詞彙 Ontology 分類,依據 Ontology 的 MDA 的轉換建置,提 高 Prototype 的領域知識與溝通知識開發效率。
三、 實作此方法論開發雛型系統,並針對雛型系統進行設計之軟體程序可 行性評估(Feasibility Test),證實在挖掘出隱性知識方面的可用程度。
四、 從實作方法論過程中,觀察塑模語言工具與後續轉換工具可否自動化 建構可處理的形式。
1.3 研究範圍與限制
本研究期許能夠充實 DARM 方法論,發展出一套口語對話代理人系統使用 者認知塑模的描述,使設計之軟體程序概念塑模方面有所遵循的方法,提供系統 開發人員有效地建構口語對話代理人對話詞彙知識描述,透過延伸 DARM 方法 論可以使系統開發人員更精確細緻的發展,符合使用者需求的代理人使用者介 面,期望能藉助對使用者情意的口語對話應用的效益,來提升對話人機互動的接 受度與自然度,實用性改善生活品質及獨立自主性。
從資訊科技相關的技術領域,一套口語對話代理人系統所包含到的技術著實 不少,例如語音辨識(Speech Recognition, SR)、合成語音(Text-to-Speech, TTS)、
多代理人系統(Multi Agent System, MAS)、中文句結構樹資料庫(中央研究院詞庫 小組,2009)、機器學習(Machine Learning)、圖形識別(Pattern Recognition)、訊號 處 理 (Signal Processing) 、 電 腦 視 覺 (Computer Vision) 、 語 音 分 析 (Speech
Analysis)、感測器設計(Sensor Design)、使用者導向設計(User-Centric Design)、
電腦動畫(Computer Animation)、及協定語言設計(Protocol Design)等,每一項技 術對整個口語對話代理人系統的重要性都是不容忽視。而本論文著重的重點並不 在語音辨識和合成語音技術資訊科技,以及代理人深度技術的探討,而是發展有 效使用者介面(User Interface, UI)的對話代理人系統之人機互動設計軟體程序,應 用在居家生活輔助性多代理人系統的個案研究,探討並透過實作驗證 DARM 方 法論完成可行性評估。
有鑑於從事代理人相關的系統分析師、程式開發人員與資訊人員較為稀少的 限制,以及個案情況功能需求特殊與特教專家針對個案設計主動服務情境,本研 究無法進行更大規模的進行可行性評估,且個案操作系統的時間與次數有限,以 及所處環境使用者生理、心理因素,根據游伯龍(1998)教授指出當某一行為被人 類不斷地重複實行時,人類的行為具有重複增強強度效應。而無法以單一大樣本 來統計相依關係語意,分析以 Ontology 為基礎進行塑模與使用 MDA 建構的可 行性,故僅能對於部份涉及細部規劃的問題研究尚無法深入探討,僅能就個案實 際操作滿意度自我評量方式做出建議,為本研究較遺憾之處。
1.4 論文架構
如圖 1.5 所示,以下為本論文架構的說明。第一章緒論,主旨為陳述本論文 的研究背景及現況有哪些問題尚待研究探討,進而引發本論文的研究動機,決定 研究目的與範圍,並簡述研究方法及步驟,說明整個論文的架構。
第二章文獻探討,確定研究背景與動機後,主要是蒐集 DARM 方法論架構、
口語對話代理人、Ontology 的塑模與 MDA、使用性測試與評估等相關主題文獻,
就目前國內外相關研究進行文獻回顧和優缺點探討,以指出需要加強或新增的部 分,且歸納分析相關文獻資料,訂出合適的研究目的範圍與限制。
第一章 緒論
第二章 文獻探討
第三章 研究方法
第四章 代理人社群塑模與轉換
第五章 可行性評估
第六章 結論與未來展望
研究背景與動機 研究目的 研究範圍與限制 論文架構
代理人 知識本體 使用者介面
研究對象 觀察與評估
研究成果 未來研究方向
代理人社群模型設計
以使用者認知為基礎的設計構想 研究方法與步驟
研究貢獻
建構心智圖之步驟 實作方式
應用案例
圖 1.5 論文架構說明圖
第三章研究方法,軟體工程研究法分析口語對話代理人之人機介面互動系統 需求,蒐集使用者需求與特教專家主動服務的情境設計,探討對話內容語法和語 義特性,設計建置對話的 Ontology 塑模和 MDA 步驟,塑模對話內容的分類與 相關變因的關係,而在對話溝通的塑模則是探討如何將概念模型透過 Ontology 的語言描述建構的方法。
第四章代理人社群模型塑模,根據服務需求建置對話系統架構,提出資訊規 劃系統細節與功能的塑模方法,描述知識概念分析與設計階段塑模,包括對話代 理人實作與對話 Ontology 的建構。
第五章可行性評估,依據第四章完成的應用案例概念模型進行實作,分析所 遭遇到的問題,並透過實作結果提出驗證,個案實際操作滿意度自我評量方式,
分析以 Ontology 為基礎進行塑模與使用 MDA 建構,以及 DARM 方法論的可行 性評估。
第六章結論與未來展望,將就本論文的研究結果進行討論,並提出未來可以 繼續研究的方向。
第二章 文獻探討
本章探討研究相關的文獻,作為探討口語對話代理人系統對話詞彙知識描述 與多代理人平臺對話策略的開發與使用性評估方式,做一個簡單的介紹與比較,
並透過探討這些方法論的理論架構,找出一個比較合適的方法並透過延伸整合提 出新的方法探討過程。研究的理論基礎,內容包含有:(1)智慧口語對話代理人 系統:說明代理人技術的重要性,描述代理人開放式發展架構;(2)知識本體:
探討知識本體的本質與應用範圍,以及的塑模和 MDA 設計使用者介面之軟體程 序;(3)DARM 方法論社群模型核心技術:說明本研究所使要延伸整合的相關技 術。
2.1 代理人
代理人(Agent)起源來自 1960 年人工智慧(Artificial Intelligence, AI)領域應用 發展,初期定義為一個可以代替使用者執行某些特定工作的整合系統,隨著人工 智慧領域近年來開始蓬勃發展,出現了代理人導向的程式設計(Agent-oriented Programming, AOP)的研究(Henderson-Sellers & Giorgini, 2005)。後續 Russell 和 Norvig(2003) 學 者 認 為 代 理 人 應 該 具 備 有 自 主 性 (Autonomous) 、 互 動 性 (Interactive)、適應性(Adaptive)等智慧型運算元素,目前最熱門的研究議題是適 應性智慧型人機介面,人代理人之間的情境感知互動與異質性代理人之間的協 商,代理人社群的協同合作以完成共同目標的議題。
2.1.1 代理人定義
Russell 與 Norvig(2003)學者認為代理人是一個具有認知與行為能力的個 體,定義代理人是具有完成特定目標能力的行為個體,並且能與社群中的其他代 理人進行互動。而 Wooldridge、Jennings、Kinny (2000)學者則在行為能力上更明
確的指出代理人應該具備:(1)反應能力(Reactivity):能夠意識到外部環境發生動 態變化時,能及時給予回應的情境感知能力、(2)自發性能力(Pro-Activeness):具 備目標導向(Goal-Directed)的行為能力,能依據代理人 Ontology 進行判斷、推理、
與學習能力、(3)社交能力(Social Ability):與其他代理人或相關使用者進行協商 合作的能力,共同完成使用者交付的特定的工作。依據 OMG(Object Management Group, http://agent.omg.org/)的定義,代理人則是具備有三大重要的特性:(1)自主 性(Autonomous):代理人不需外界的干涉,可以自我控制內部狀態,且根據經驗 來採取服務的行動;(2)互動性(Interactive):代理人會與環境代理人進行溝通協 商,來完成使用者交付的任務;(3)適應性(Adaptive):代理人可以對目前環境代 理人的要求產生回應,並根據經驗修改其服務的行為。
2.1.2 FIPA 代理人通訊標準
在 1996 年由 IBM、Motorola 和 Siemens 等組成一個推動代理人技術標準化 的非營利組織(Foundation of Intelligent Physical Agents, FIPA),制定異質平臺代理 人交互運作的溝通統一標準(FIPA, 2002; Panti, Penserin, Spalazzi, & Valenti, 2000)。如下圖 2.1.2 所示,FIPA 在代理人平臺的定義主要四種元件:(1)訊息傳 遞(Message Transport):負責代理人之間訊息的傳送與接收、(2)代理人目錄(Agent Directory):負責代理人註冊與狀態管理、(3)服務目錄(Service Directory):負責代 理人服務管理、位址的查詢、(4)代理人溝通語言(Agent Communication Language, ACL):提供代理人與代理人之間溝通使用的語言,包括:知識本體(Ontology)、
溝通語言(Language)、溝通協定(Protocol)。
圖 2.1.1 FIPA 定義的抽象架構 (FIPA, 2002; Panti et al., 2000)
2.1.3 ACL 訊息結構
代理人系統有別於一般程式的主要原因,就是在表達溝通語意上的能力,可 以藉由 FIPA 所制訂的代理人溝通語言(Agent Communication Language, ACL),
可以讓異端平台或不同的程式進行溝通交換資訊和知識,以互相了解需求和目 的,多加了許多描述語句的定義,用來描述該次溝通的目的,定義了不同類型的 描述語句訊息結構如下表 2.1.3 所示。
表 2.1.3 FIPA ACL 訊息結構
參數 類型 說明
Performative 溝通 表示 Agent 欲進行的動作 REQUEST 建議協商 請求訊息接收者提供資料 Sender 參與者 寄件端代理人的名稱 Receiver 參與者 接收端代理人的名稱 Content 訊息內容 訊息的內容
Language 內容描述 訊息內容使用的溝通語言 Ontology 內容描述 訊息內容使用的 Ontology Encoding 內容描述 訊息內容的編碼格式 Protocol 對話控制 發送訊息的通訊協定
參數 類型 說明
Conversation-id 對話控制 多代理人溝通時,用來辨識交談的對象 Reply-with 對話控制 當回覆時用來識別此訊息的表示
In-reply-to 對話控制 用來回覆先前的溝通時的訊息識別 Reply-by 對話控制 用來註明最後應收到回覆的日期或時間
2.1.4 ACL 溝通行為模式
在使用者對話代理人的協定描述設定上,根據 FIPA 所定義的代理人溝通語 言形式,針對常用的協定做簡單的溝通描述如下表 2.1.4 所示,透過協定準則的 建立可以使得程式設計師在設計代理人溝通訊息時,具備多元化的效果,更生動 的方式呈現每一個代理人訊息溝通邏輯的語意。
表 2.1.4 FIPA ACL 溝通行為類型的描述
定義 類型 說明
ACCEPT_PROPOSAL 建議協商 允許接受其他 Agent 的提議 AGREE 工作發佈 接受一個 Agent 的 Request CANCEL 工作發佈 結束該 Agent 的請求 CFP 建議協商 啟動 Agent 協商機制
CONFIRM 服務資訊 對提議不確定時,通知接收者先前所提是正確 DISCONFIRM 服務資訊 對提議不確定時,通知接收者先前所提是不正確 FAILURE 錯誤服務 試圖執行某動作失敗
INFORM 服務資訊 傳送訊息告知另外一個 Agent
INFORM_IF 服務資訊 有條件的傳送訊息告知另外一個 Agent INFORM_REF 服務資訊 參照傳送訊息告知另外一個 Agent NOT_UNDERSTOOD 錯誤服務 無法理解所要執行的活動
定義 類型 說明 PROPOSE 建議協商 回應協商訊息給起始者 Agent QUERY_IF 查詢服務 有條件的查詢某服務
QUERY_REF 查詢服務 查詢參照的服務
REFUSE 拒絕服務 協商結果不滿意發出訊息通知
REJECT_PROPOSAL 拒絕服務 協商回應者的提議被拒絕時發出訊息 REQUEST 請求服務 請求該 Agent 執行某動作
REQUEST_WHEN 請求服務 有條件的 Agent 被請求某動作
REQUEST_WHENEVER 請求服務 特定時問條件下的該 Agent 執行某動作 SUBSCRIBE 查詢服務 向工具代理人(Utility Agents)註冊
PROXY 服務資訊 將訊息中的子訊息傳給指定的代理人
PROPAGATE 服務資訊 告知所有 Agent UNKNOWN 服務資訊 未知的訊息
2.1.5 JADE 代理人開發平臺
目前代理人技術已開發多年,在學術上研究及商業上應用有許多可供使用的 開發工具,利用這些工具開發工具所建置的環境,例如名稱目錄、訊息溝通和代 理人管理工具,免除撰寫程式底層的工作直接開發應用程式。本研究使用由 Telecom Italia Lab(TILAB, 2009)所發展的以 Java 代理人開放式發展架構(Java Agent DEvelopment Framework, JADE)作為開發工具平臺(Platform)(Bellifemine, Poggi, & Rimassa, 2007)。JADE 是一個完全由 Java 語言開發的 Framework,且以 FIPA 標準規格為藍圖所開發的多代理人開發平臺(Bellifemine, Poggi, & Rimassa, 1999),透過這個中介平臺提供一系列應用程式介面(Application Program Interface, API),可以協助系統開發人員用來建構代理人社群系統,簡化開發環境在設計代 理人行為和溝通訊息的複雜性,大大提高代理人系統開發的時效。
2.1.6 JADE 代理人平臺架構
如下圖 2.1.6.1 所示,JADE 的代理人平臺架構由下面四部份組成:(1)代理 人管理系統(Agent Management System, AMS):負責給予代理人唯一識別名稱以 及新增或移除的代理人管理系統;(2)目錄導引器(Directory Facilitator, DF):提供 黃頁服務(Yellow Pages Service)的目錄索引,負責登錄、註銷以及搜尋代理人所 能提供的服務,以便讓其他代理人可以找到合作的對象;(3)代理人(Agent):除 了上述兩部份之外,具有特定服務功能的代理人;(4)訊息傳送系統(Message Transport System, MTS):負責分配管理代理人平臺內的所有訊息傳送,包含了控 制與遠端平臺之間的訊息傳送(Bellifemine, Caire, Trucco, & Rimassa, 2006)。
圖 2.1.6.1 FIPA 代理人平臺架構圖 (Bellifemine et al., 2006)
除了上述 JADE 的系統架構之外,JADE 也提供在分散式網路上不同電腦的 代理人可互相溝通運作之平臺,其平臺架構如下圖所示 JADE 分散式代理人平 臺,兩個 JADE 平臺各自擁有三個容載器(Container)和一個容載器,主容載器 (Main Container)除了負責接受一般容載器的註冊之外,還包含了兩個隨主容載器
載入即自動啟動的代理人,一個是負責提供命名服務與代理人產生/移除的代理 人管理系統 (如圖 2.1.6.1 中 AMS),另一個是提供黃頁服務(Yellow Pages Service) 的目錄導引器(如圖 2.1.6.1 中 DF)。
圖 2.1.6.3 所示為 JADE 的黃頁服務功能(Caire, 2003),DF 允許代理人在黃頁 上面登錄它們可以提供的服務,以便讓其它代理人可以找到合作的對象,其它代 理人則透過找到的代理人請求提供需要的服務,或共同完成某項工作目標;而每 一個 JADE 代理人皆有不與其他代理人重覆的識別名稱,只要能夠知道其它代理 人的識別名,則無論在那個位置皆能夠與該位代理人通訊,代理人可以達成溝通 的特性,而不用考慮代理人在相同的容載器中(如圖 2.1.6.2 中 A2 和 A3)、同平 臺中不同的容載器中(如圖 2.1.6.2 中 A1 和 A2)或者在不同平臺中(如圖 2.1.6.2 中 A4 和 A5)。
圖 2.1.6.2 JADE 分散式代理人平臺 (Caire, 2003)
圖 2.1.6.3 JADE 黃頁服務(Yellow Pages Service) (Caire, 2003)
2.1.7 JADE 代理人生命週期
容載器是 JADE 的執行環境,可以容載多個代理人,多個活動中的容載器 (Active Containers)所組成的集合稱為平臺,每一個平臺只能擁有一個主容載器,
且該主容載器永遠處在執行狀態,以便讓在同一個平臺上的非主容載器於啟動後 能夠隨即向主容載器登記,而且代理人在其容載器上的生命週期亦遵循 FIPA 所 制定之代理人平臺生命週期之規格,如下圖 2.1.7 所示,代理人在初始化(Initiated) 後即進入活動(Active)狀態,此時代理人已註冊並且擁有識別名稱及位址,然後 再依照服務的需要在下面三個狀態中轉移至狀態暫停(Suspended)運作動作,等待 (Waiting)某事件發生或條件被滿足時,喚醒(Wake Up)並執行下個行為動作,在 代理人設計上通常以接收到某訊息為主,代理人平臺轉移(Transit)時所進入的狀 態(Bellifemine et al., 2006)。
圖 2.1.7 代理人生命週期 (Bellifemine et al., 2006)
2.2 知識本體(Ontology)
知識本體(Ontology)一詞的「on」,源自希臘哲學上是寫作「ov」,相當於 英文的 Being,按字面意思解釋是「存有的知識」(Knowledge of Being)或是「存 有之為存有的理論」,其原本是用於探究萬物而加以歸納分析的一門學說,是一 套用來解釋存在意義的理論(Gašević, Djurić, & Devedžić, 2006; Sowa, 2000)。更確 切是來區分特定領域所定義的綱要(Schema),是描述事物與探討事物本質的一門 學問,在資訊科學中是指某一個知識相關的術語或詞彙的集合,專業術語或詞彙 皆有明確定義與描述,用來陳述知識中的某一概念,也可以陳述概念與概念之間 的關聯,例如使用者或代理人可以透過知識本體了解知識意涵,並且應用於雙方 溝通交談時,可以解決溝通雙方無法理解交談內容的問題。
在現實世界的每一個領域(Domain)都會有一個被定義的 Ontology,同一術語
或詞彙,在不同的領域、在不同的時代背景、不同的用法、其意義可就不一樣甚 至差異很大,所以當使用瀏覽器搜尋「病毒」時,經常會獲得一大堆各種領域的 資料(鍾正男,2004),例如輸入「Order」一般指的是「訂單」,而在電腦科學領 域中「排序」,但是也會找到醫學領域的「醫囑」資料。因為相同的語詞在系統 並不知道每一個詞彙屬於哪一個領域,所以搜尋者必須要定義這個詞彙代表什麼 意義,歸屬哪一個專門領域,而且還要定義詞彙之間的關係。
Djurić、Devedžić 與 Gašević 學者提出以 Ontology 來提供各領域的相關詞彙,
搭配 UML 的概念與 MDA 驅動架構來解決不同人用不同詞彙描述相同事情的問 題,適合用來做為人與機器溝通的中介語言(Djurić, Devedžić, & Gašević, 2007;
Djurić, Gašević, & Devedžić, 2005, 2006; Gašević, Djurić, & Devedžić, 2005;
Gašević et al., 2006),例如描述智慧代理人系統時,若不同的程式設計人員就會 有不同的描述方式,程式撰寫也會因人而異,若改以 Ontology 作為邏輯的描述 語言呈現,儘管不同的人使用不同的描述方式,但透過 Ontology 表達之後,便 能知道描述相同概念及關係,也能夠依據 Ontology 描述了解整個系統運行的模 式,進而了解目標任務執行相關的軟體程序。
因此 Ontology 可以用來建構特定領域提供一套共享及可重複使用(Reuse)的 知識分類框架,以做為多人代理人系統相互溝通的媒介。透過 Ontology 可以將 複雜、需要推理、或是非系統化的資訊以明確的方式表達出來,非常適合用來做 為多代理人間了解彼此代表的意義。也由於 Ontology 具備上述的特性,因此此 次研究採用 Ontology 作為建構運算獨立模型(Computation Independent Model, CIM)描述的主軸,主要力求得多人代理人系統互相溝通的效能以及資訊完整性。
2.2.1 代理人知識本體
若要使代理人平臺可以交互溝通存取服務,首先需要克服的問題就是解決代 理人之間溝通交談上語意的理解,然而要讓代理人之間可以互相理解不同領域的
語意,通常需要透過代理人的 Ontology 來幫助理解,所謂代理人 Ontology 就是 針對特定領域之代理人進行綱要(Schema)的定義,此綱要必須描述所有可能存在 功能任務,並且對其功能任務進行型態設定與關聯性的連結等。
如圖 2.2.1 所示,在 FIPA 溝通模型規範中指出,當代理人進行溝通時,溝 通雙方需要使用都相同的 Ontology,基於相同 Ontology 進行溝通,可以使雙方 能使用並且分享相同應用領域的 Ontology 以利進行各項代理人社群的交流活 動,FIPA 溝通模型規範,當代理人雙方進行溝通時,事先假設溝通的雙方是使 用相同的知識本體,說明了代理人 A 與代理人 B 雙方是基於相同的 Ontology 進 行溝通,因此雙方能使用並且分享相同應用領域的 Ontology 以利進行各項交流 活動。
Ontology
Agent A
ACL Communication = Ontology-Based
Agent BResponse
Request
Ontology Query Ontology Query
圖 2.2.1 基於知識本體的代理人溝通模型 (FIPA, 2002; 洪維昇,2009)
2.2.2 建置知識本體步驟
Wang 與 Xu (2000)兩位學者整理及歸納現有的研究,圖 2.2.2 所示建置知識 本體(Ontology)可遵循「知識鏈(Knowledge Chains)」、「知識本體建構(Structural Ontology)」、「知識本體正規化(Formalize Ontology)」、「知識本體評估(Ontology Evaluation)」這四步驟,遵從的建置步驟:(1)知識鏈主要是獲得某領域範圍的知
識和分類知識;(2)知識本體建構根據知識鏈來建立有結構性的 Ontology,包括 定義領域範圍的概念、屬性及屬性值等活動,根據知識鏈,由系統發展者來的建 置的,這裡包括領域的知識辭典的建置(Domain Knowledge Dictionary Building)、
常數的定義(Constant Definition)和公式的定義(Formula Definition)三個程序;(3) 知識本體正規化採用正規語言(Formal Language)來表達 Ontology 的模式;(4)知 識本體評估是為了評估 Ontology 的效能,可提高 Ontology 的重複使用性與靈活 性。
圖 2.2.2 建立 Ontology 之方法 (Wang & Xu, 2000)
2.2.3 知識本體工具
許多組織開始致力於 Ontology 的研究轉換工具,可以讓研發人員提昇知識 本體的開發速度與降低格式轉換的時間,建立主動式知識服務的 Ontology,使知 識服務之間可以彼此溝通,同時也讓使用者能以自己的語意與機器進行溝通。本 研究使用美國史丹佛大學(Stand Medical Informatics, SMI)研究所發展的 Ontology 建構平台,Java 語言開發完成開放源碼軟體。它具備了簡單易學、免費軟體、支
援多種 Ontology、支援多種儲存格式、支援多種資料型態、提供完整應用程式界 面、提供外掛的 Plug-in 程式等優點。
本研究使用 Protégé 3.3.1 建構 Ontology(SMI, 2005),圖 2.2.3 是一個 Protégé 3.3.1 使用工具畫面,包含許多 Ontology 的定義;描述一個領域中的概念(Concept) 稱為 Class,描述每一個概念的屬性(Attribute)與性質(Property)稱為 Slot,描述屬 性的限制(Restriction)稱為 Facet,類別(Class)所產生的實例稱為 Instance。上下層 類別之間可以有繼承(Inheritance)關係,Subclass 可以繼承 Superclass 所定義的 Slot,也可以使用 Slot 描述類別與類別之間的關係(Relationship),包含類別與類 別的實例,這是一組完整的知識概念,亦即知識庫(Knowledge Base)。
圖 2.2.3 建構知識本體 Protégé 3.3.1 工具畫面 (SMI, 2005)
2.2.4 統一塑模語言轉換知識本體
這方面的研究最先由 Cranefield(2001)學者所提出,方法是先在 UML 工具中 設 計 Ontology, UML 輸 出 成 可 延 伸 標 記 語 言 元 資 料 交 換 (XML Metadata Interchange, XMI),最後再利用擴展樣式轉換語言(Extensible Stylesheet Language Transformations, XSLT)把 XMI 轉換為資源描述架構綱要(Resource Description Framework Schema, RDFS),此方法重點在於如何設計 XSLT 來做轉換。接著 Backlawski 等學者(2002)提出了另一種方法,利用 UML Extension 的方式擴充 UML 的 Metamodel , 使 用 擴 充 的 標 記 語 言 (Markup Language) 格 式 以 表 示 Ontology,但是在此研究中,對映到的 Ontology 語言是使用 DAML+OIL(DARPA Agent Markup Language plus Ontology Inference Layer),而只有提出方法論上的建 構模型和 Ontology 的對映關係,並未實作出一個系統,更重要的是市面上的 UML 工具大多不支援 UML 模型的直接擴充。後續 Backlawski 等學者的研究捨棄了對 UML 的模型作擴充,而是直接針對 Ontology 建立一個新的模型,這套模型是利 用 MOF 所訂定,稱作統一 Ontology 語言(Unified Ontology Language, UOL),針 對 Ontology 建構模型提出理論上的探討,主要因素是並沒有任何工具可支援實 作。
Djurić 等學者(2005)提出以 MDA 為基礎架構四層的模型架構(Metamodeling Architecture) 與 OMG 訂定的相關標準所組成,如圖 2.2.4.1 所示 MDA 四層的 MOF 為基礎 Metadata 架構圖。在越上層表示抽象層次越高,由上而下分別為 Meta-Metamodel(M3 Layer)定義 Metamodel 的建立規則與管理方法,MOF 是任何 塑模語言的基礎具有自我描述的能力,可定義 MOF 本身以及 UML 等各種的模 型語言。Metamodel(M2 Layer)是只要利用 MOF 所定義出來的 Metamodel 皆是,
常見的以圖形化表示塑模語言的 UML 工具,不管是 Rational Rose 或是 Borland Together 等設計系統架構的軟體,可以視覺化的方式呈現設計系統。Model(M1
Layer)是只要利用 UML 等塑模語言定義出的模型就屬於 M1。Instance(M0 Layer) 就是這些模型的類別實例(Instances)。
圖 2.2.4.1 MDA 四層的 MOF 為基礎 Metadata 架構
(Djurić et al., 2007; Djurić et al., 2005, 2006; Gašević et al., 2005, 2006) 除了之外在架構中規範儲存與交換格式的 XMI 標準,如圖 2.2.4.2 所示 MDA 基礎下 Ontology 塑模架構圖,XMI 定義了符合 MOF 規定的 M2 模型和 XML Schema 之間的對映(Mapping)關係,以及在 M1 模型與 XML 文件之間的對映關 係,以各種支援 XMI 的塑模工具程式中將模型轉換成 XML 檔,方便的儲存或 發佈到各種平台上的應用程式使用。
圖 2.2.4.2 MDA 基礎下 Ontology 塑模
(Djurić et al., 2007; Djurić et al., 2005, 2006; Gašević et al., 2005, 2006)
2.3 使用者介面
一般而言,資訊系統使用者介面(User Interface,UI)主要有二個部份,包括 圖形化的使用者介面(Graphic User Interface, GUI)與語音的使用者介面(Voice User Interface, VUI),使用者介面是使用者與系統之間溝通的主要橋樑,接受使 用者輸入資料以及展示系統的輸出。使用者介面是現代資訊系統開發的關鍵性因 素之一,由於設計具有多樣性與複雜性,若缺乏有系統的設計方法程序,將會增 加系統開發的難度。隨著代理人使用者介面(Agent-Based User Interface, AUI)技術 的成熟,促使了智慧型人機介面成為熱門的研究議題(F.Norcio & Stanley, 1989)。
為了減少與使用者、系統分析師及程式設計師間心智認知上的差異而導致使用性 缺失,對於代理人使用者介面(AUI)的設計者來說,以使用者為中心來設計,重 要的是如何提出一套有效塑模與轉換方法論,結合現有的軟體開發來提高代理人 使用者介面的開發效率。
2.3.1 使用者介面概念架構
使用者介面概念架構目前主有有 MVC(Model-View-Controller)Model 及 PAC(Presentation-Abstraction-Control)Model,以下對兩個 Model 分別作介紹。
MVC Model 主要的概念是將應用系統分成 Model、View 及 Controller 三個部份,
其中 Model 是用來負責管理資料處理問題,View 是用來負責處理系統中資料做 視覺化的呈現與語音的播放,Controller 物件是用來負責接受外界輸入的訊息,
並且適切的決定處理對象與執行對象(Graham & Urnes, 1997)。PAC Model 是將 使用者介面細分成 Presentation、Abstraction 及 Control 三個部份組成,其中 Presentation 是定義物件的外觀,以及處理訊息的輸入及輸出,而 Abstraction 是 定義物件的功能及概念,Control 則是 Presentation 與 Abstraction 間溝通的橋樑,
同時也是和其它物件連繫的管道(Hussey & Carrington, 1997)。
2.3.2 使用者介面塑模方法論
資訊系統是由適用於特定問題領域(Problem Domain)之使用者介面(User Interface)、應用程式(Application)與資料庫(Database)三個元件組成,如圖 2.3.2.1 所示之資訊系統一般性架構環境,用以擷取、傳輸、儲存、處理與展示等,管理 資料、資訊或知識,並提供資訊管理或知識支援服務的系統(吳仁和,2007)。使 用者介面是使用者與系統間溝通的主要橋樑,接收使用者的輸入及呈現系統的輸 出,由於使用者與系統的互動具有多樣性與複雜性,難以在有限的介面或元件完 成表達,必須藉由一連串多個的介面及元件的互動才足夠以完整顯現(吳仁和、
林信惠,2007; 詹尹云,2006; 簡瑞隆,2005)。
圖 2.3.2.1 資訊系統一般性架構環境 (吳仁和,2007)
使用者介面塑模可分為靜態結構塑模與動態行為塑模兩個階段,使用者介面 塑模工作應包含兩個部份,如圖 2.3.2.2 所示,靜態結構塑模是使用者介面架構 圖和介面藍圖與元件規格的設計,主要是表達使用者介面及介面元件間之配置關 係,可由活動圖及其輸出與輸入的表達;動態行為塑模是介面狀態圖和轉換表的 設計,顯示在介面與介面之間內元件間互動狀態與轉換。使用者介面塑模可以應 用介面架構圖、介面藍圖、介面詞彙及循序圖、狀態圖等能夠完成使用者與系統 間溝通的互動工作(吳仁和,2007; 吳仁和、曾光輝,2002)。
圖 2.3.2.2 使用者介面塑模 (吳仁和,2007; 吳仁和、曾光輝,2002)
使用者介面需求塑模的部份,如圖 2.3.2.3 中需求分析階段基本上可分為兩 大步驟,包括需求擷取與需求轉換,對系統功能內之各種事物與相關現象,加以 了解、分析、判斷及選擇,並整理成描述性綱目,需求轉換主要將描述性綱目以 系統模式語法轉換成概念性綱目,根據使用者電腦化環境、作業程序、系統目標、
限制、主要功能等明顯需求,以及使用者介面風格、例外狀況之處理與錯誤輔助 訊息之顯示等要求細部需求,以用例圖(Use Case Diagram)配合藍圖(Drawing)、
活動圖(或流程圖)與資料詞彙(Data Glossary)等工具進行使用個案塑模,建構用例 圖之步驟依序為:找出行為者、找出使用個案、描述使用個案、找出使用個案間 之關係,最後繪出用例圖。反覆的程序(Iterative Process)結合強韌分析(Robustness Analysis)的之步驟依序為:找出行為者、找出物件、屬性與可能之操作、找出行 為者及物件間之關係、依循強韌分析規則建構強韌圖、使用個案,來提升使用個 案描述之完整性與正確性,縮短系統需求分析與設計間之差距。每一個使用個案 之活動圖的輸入與輸出,使用者介面架構圖以 MVC 或 PAC 模式來呈現,標示 介面編號及名稱整合是一個階層架構。
使用者的需求 使用者的需求 使用者介面
需求塑模
需求擷取
需求轉換 使用個案圖
活動圖(或流程圖) 藍 圖 資料詞彙
使用者的需求 使用者的需求 使用者的需求 使用者的需求 使用者介面
需求塑模
需求擷取
需求轉換 使用個案圖
活動圖(或流程圖) 藍 圖 資料詞彙
圖 2.3.2.3 使用者介面需求塑模 (吳仁和,2007; 簡瑞隆,2005)
2.3.3 代理人使用者介面需求塑模方法論
目 前 代 理 人 需 求 塑 模 方 法 的 研 究 , 其 中 研 究 議 題 的 塑 模 方 法 有 Gaia(Wooldridge et al., 2000)、PASSI(Chella et al., 2004; M. Cossentino & Potts, 2001; Massimo Cossentino & Potts, 2002; Massimo Cossentino, Sabatucci, & Chella, 2003; Luck et al., 2004)、MaSE(DeLoach, Wood, & Sparkman, 2001)等。綜觀現有 的代理人塑模方法論,雖然能夠很輕易的設計代理人行為動作,並且是提供優良 的通用性代理人塑模過程,但是在分析與設計階段,針對代理人使用者介面(AUI) 的塑模方法,卻無一定的標準規範。因此本研究採用 Hsieh(2009; 2008)等人提出 的 DARM 方法論,透過 PASSI 的系統需求模型以及代理人社群模型的建置,提 出的對話代理人 PAC 模型塑模完成方法論,如圖 2.3.3 所示。
圖 2.3.3 代理人介面需求塑模方法論 (Hsieh et al., 2009; Hsieh et al., 2008)
2.3.4 PASSI 方法論
在 DARM 中,擷取使用者需求轉換為對話需求模型與代理人社群模型建 構,並精練 PAC 模型對話代理人塑模,PASSI(a Process for Agent Societies Specification and Implementation)(M. Cossentino & Potts, 2001)是一種從需求到撰 寫程式碼的多代理人社群整合開發及設計方法論如圖 2.3.4 所示,其概念來自於 物件導向軟體工程及人工智慧的設計模型與概念,並且使用 Unified Modeling Language(UML, 2005)來進行多代理人社群的建置。塑模的方法以 PASSI 五個階
段完成代理人系統的開發,五個階段說明如下:
(1)代理人需求模型(Agent Requirement Model):用來建構代理人系統的系統 需求模型,描述代理人領域規範與工作規範的靜態分析,建立系統需求的 擬人化模型,可分為(a)領域描述(Domain Description)(b)代理人識別(Agent Identification)(c) 角 色 識 別 (Role Identification)(d) 任 務 規 範 (Task Identification)。
(2)代理人社群模型(Agent Society Model):用來描述代理人與代理人之間的 互動行為,以及所進行的社交能力與代理人之間角色關係的動態分析,建 立 代 理 人 間 的 互 動 及 相 依 關 係 模 型 , 可 分 為 (a) 角 色 識 別 (Role Identification)(b) 本 體 描 述 (Ontology Description)(c) 角 色 描 述 (Role Description)(d)協定描述(Protocol Description)。
(3)代理人實作模型(Agent Implementation Model):透過完整的呈現目標任 務,來實作實際的類別與方法的代理人架構,以類別和方法架構單一代理 人或代理人社 群 的實作 細 節 模型, 可 分 為(a) 代理人結構定 義(Agent Structure Definition)(b)代理人行為描述(Agent Behavior Description)。
(4)撰寫程式模型(Code Model):開發工具產生部份的程式碼,將程式碼再使 用(Code Reuse),並且進一步撰寫每一個類別的方法內容,進行代理人的 實際測試與操作,撰寫程式碼階段模型,可分為(a)程式碼重複使用(Code Reuse)(b)程式碼撰寫完成(Code Completion)。
(5)部署模型(Deployment Model):部署配置階段(Deployment Configuration Phase)來自動產生程式碼的框架,進行系統的實際測試與操作,將開發完 成 的 應 用 系 統 實 際 部 署 在 硬 體 設 備 上 , 開 發 步 驟 為 (a) 部 署 配 置 (Deployment Configuration)。
圖 2.3.4 PASSI 方法論 (M. Cossentino & Potts, 2001)
2.3.5 代理人框架的模型化工具
PASSI Tool Kit (PTK, 2008)CASE 工具包含了 PASSI Add-In 和 Pattern Repository 部份。使用 Rational Rose 外掛 PTK 產生代理人框架的模型化工具,
可增加設計的穩健性,搭配 JADE API 自動產生程式碼框架,再進行細部程式的 撰寫。如圖 2.3.5 所示,當開始執行一個 New PASSI Model,在左邊的 PASSI 專 案會自動產生各個階段所需要的元素,PTK 工具將 PASSI 方法論的五個階段,
分 為 使 用 個 案 觀 點 (Use Case View) 、 邏 輯 觀 點 (Logical View) 和 元 件 觀 點 (Component View)等三個觀點,分別代表使用的個案描述、多代理人的結構和行 為以及實施佈署,透過 UML 的用例圖、活動圖和狀態圖來顯示代理人系統需求 的擷取,完整方式呈現其動態行為和靜態結構,有助於程式設計師進行代理人系 統的建置。
圖 2.3.5 PASSI Tool Kit (PTK) CASE 工具
2.3.6 代理人使用者介面需求模型
建構代理人系統的系統需求模型,描述代理人領域規範與工作規範的靜態分 析,根據使用者需求描述,透過適當的轉換出對話代理人需求模型(如圖 2.3.3 中 的系統需求模型)。在圖 2.3.6.1 所示領域描述階段(Domain Description Phase)主要 是用例圖(Use Case Diagram)來表達使用者需求描述與目標,並表達代理人系統 架構,而且詳細說明流程細節。
在圖 2.3.6.2 代理人識別階段(Agent Identification Phase)主要是根據領域描述 階段的用例圖(Use Case Diagram),透過的樣板(Communication),以功能類型來 分析代理人系統架構,劃分成不同的代理人,一個代理人以一個套件(Package) 代表,代理人溝通能力就是以樣板來表示。
圖 2.3.6.1 領域描述階段以用例圖(Use Case Diagram)表達 (PTK, 2008)
圖 2.3.6.2 代理人識別階段以樣板用例圖(Use Case Diagram)表達 (PTK, 2008)
在圖 2.3.6.3 角色識別階段(Role Identification Phase)主要是循序圖(Sequence Diagram)來表達描述互動關係與使用者需求目標,並表達代理人系統架構順序關 係,而且詳細說明流程細節,透過循序圖的工作互動來表達出流程,且將使用者 界面狀態和行為的需求詳細描述。
圖 2.3.6.3 角色辨識階段階段以循序圖(Sequence Diagram)表達
(PTK, 2008)
在圖 2.3.6.4 工作規範階段(Task Specification Phase)主要是活動圖(Activity Diagram)來表達描述每一個活動互動關係,將活動的目標分解成更多簡單任務,
並表達多代理人系統架構的行為能力,而且詳細說明流程細節,透過活動圖表示 出多代理人系統的行為能力,且將互動方式分割為代理人內部工作流程和代理人 間互動行為兩個部分。
圖 2.3.6.4 工作規範圖階段以活動圖(Activity Diagram)表達 (PTK, 2008)
2.3.7 對話代理人社群模型
代理人與代理人之間的互動行為,依據使用者對話代理人需求模型建置,如 圖 2.3.3 中的代理人社群模型,其中角色是社群中最重要的概念,確定 Ontology 理解代理人之間互動語意問題,進行的社交能力與代理人之間角色關係的動態分 析,產生代理人社群互動的行為模式以做為動態建模的依據(洪維昇,2009)。在 圖 2.3.7.1 和圖 2.3.7.2 分別表示在知識本體描述階段(Ontology Description Phase) 使 用 領 域 知 識 描 述 (Domain Ontology Description, D.O.D.) 和 溝 通 知 識 描 述 (Communication Ontology Description, C.O.D.)使用兩種 UML 的類別圖(Class Diagram),領域知識描述是透過概念(Concept)、述詞(Predicate)和行動(Action)表 達(M. Cossentino & Potts, 2001)。表 2.3.6 說明實體以及多代理人溝通所具備的知 識與溝通規範的協定,可以定義出 PAC 模型的關鍵字,有效的將代理人功能任 務轉換成 Ontology;而溝通知識描述階段規範每個代理人間溝通所需要具備的通 訊協定(Protocol)、語言(Language)和知識本體(Ontology)方式,達成代理人應具備 的知識與溝通協定的規範。以 DARM 為例,透過類別圖表示,將在領域知識描 述階段定義出關鍵字,有效將功能任務轉換成知識本體,以及代理人的屬性值配 對的建立兩個部分。
表 2.3.6 領域知識的三種不同的類別
類別 領域知識
概念(Concepts) 代理人交談中最基本的元素,代表代理人物件的實體及狀態。
述詞(Predicate) 描述該事件的真偽。
行動(Actions) 代理人所具備的行為能力。
Domain Ontology Description Diagram
Environmental Control
<<action>>
model building
<<action>>
Expert Inquiry
<<action>>
EnvironmentaControlHelp Value : Boolean
<<predicate>>
Dialog AgentNUM : int
<<predicate>>
RegisterMe
<<action>>
UIControlHelp Value : Boolean
<<predicate>>
AssistaceControlHelp Value : Boolean Environmental Agent
AGENT_TYPE : String = Environmental Agent version : String = 1.0
Environmental Agent() shutdown() setup() register_WithAMS() register_WithDF()
(from Environm ental Agent)
<<concept>>
+target
UI build
AGENT_TYPE : String = UI build version : String = 1.0
UI build() shutdown() setup() register_WithAMS() register_WithDF()
(from UI build)
<<concept>>
+target
Assistance Agent
AGENT_TYPE : String = Assistance Agent version : String = 1.0
Assistance Agent() shutdown() setup() register_W ithAMS() register_W ithDF()
(from Assistance Agent)
<<concept>>
+target DialogUI
AGENT_TYPE : String = DialogUI version : String = 1.0
DialogUI() shutdown() setup() register_WithAMS() register_WithDF()
(from DialogUI)
<<concept>>
+target
+DialogUI +DialogUI
+DialogUI
圖 2.3.7.1 領域知識描述階段以類別圖(Class Diagram)表達 (洪維昇,2009)
Communication Ontology Description Diagram
EnvironmentalToUI Ontology : Environmental Language : RDF Protocol : FIPARequest
<<Communication>>
Environmental Agent DialogData : Dialog
<<Agent>>
Assistance Agnet DialogData : Dialog
<<Agent>>
UI build DialogData : Dialog
<<Agent>>
DialogUI AssistanceData : Assistance UI buildData : UIbuild
EnvironmentalData : Environmental
<<Agent>>
AssistanceToUI Ontology : Assistance Language : RDF Protocol : FIPAInform
<<Communication>>
buildToUI Ontology : UIbuild Language : RDF Protocol : FIPARequest
<<Communication>>
+StartUP
+EnironmentalServer +AssistanceServer
+StartUP
+UI build Server +StartUP
圖 2.3.7.2 溝通知識描述階段以類別圖(Class Diagram)表達 (洪維昇,2009)
第三章 研究方法
本論文以 Nunamaker、Chen 與 Purdin(1991)學者在提出的系統發展研究方法 論(System Development Research Methodology)為研究流程,如圖 3.1 所示,以下 將說明本研究於研究過程分為五個階段中進行的工作內容:
圖 3.1 研究流程 (Nunamaker et al., 1991)
第一階段是建構概念性架構,首先是本研究對「DARM 方法論」之 MDA 軟 體架構觀察如圖 3.2 所示,並整理出 DARM 在於情境設計的應用範圍與層面,
探討先前研究方法論模型,實務進行系統實作與訪談,獲得概念後建構 DARM 方法論的對話使用者認知概念模型,本研究範圍著重於建構在運算獨立模型 (Computation Independent Model, CIM),建構心智圖與正規概念分析法(Formal Concept Analysis, FCA)的之塑模步驟,測試案例過程尚未自動化產出應用於雛型 系統的 Ontology,須以人工方式建構代理人系統的領域知識,證實代理人系統動
續根據面臨問題尋找相關文獻,並且描述解決問題帶來的效益。
圖 3.2 DARM 方法論之 MDA 軟體架構
第二階段是發展解決問題的規則與方法,本研究根據先前研究中提出之
「DARM 方法論」以使用者認知為基礎的設計構想與系統架構,首先分析由 CIM 階段建構心智圖之各步驟在自動化所需資訊,並說明該資訊如何表達,之後將使 用者認知為基礎的設計架構納入先前研究提出的方法論中,形成心智概念塑模擷 取與轉換方法,依據上述設計架構實作雛型系統,測試個案案例是否能自動產出。
第三階段是擬定評估準則與可行性測試的方法,本研究使用 Wu、Shin 與 Heng (2007)學者提出之「評估可行性測試流程」來進行方法論與雛型系統的可行 性測試,「評估可行性測試流程」包含六個步驟,如圖 3.3 所示,包含了(1)定義 問題,說明 DARM 方法論與雛型系統須進行評估的部份、(2)定義評估準則,說 明評估 DARM 方法論與雛型系統運作結果的準則和依據是否可行、(3)計劃與事
前準備工作,說明測試評估前的準備工作,包含介紹測試個案及應用案例為應用 於可行性測試所進行之驗證、(4)個案應用案例與排定工作時程,排定進行測試 的個案測試與設計應用塑模的案例、(5)執行測試工作,依據先前排定的計畫實 際進行系統分析與設計,將雛型系統進行個案測試,並且記錄在測試過程中對話 日誌、(6)結果分析與報告,依照以先前擬定的評估準則加以衡量測試個案案例 結果,並且將衡量案例結果忠實的呈現。
圖 3.3 評估可行性測試流程 (Wu et al., 2007)
第四階段是發展案例與執行測試,本研究以先前研究提出之脊髓損傷患者智 慧型居家服務個案的對話代理人,設計三個使用功能的案例作為測試,測試將使 用者的心智意圖認知,於以使用者認知為基礎的設計架構的概念擷取與轉換模 型,且透過本研究的實作執行測試驗證。
最後階段是觀察與評估,以 Ontology 的塑模與 MDA 為基礎,聚焦於系使 用者認知為基礎的設計架構,設計情意口語對話代理人系統之人機介面互動,反 覆檢視本研究方法應用於概念實現建構 CIM 階段是否符合實際情況,觀察個案 評量方式進行互動使用性評估,藉由實際個案的案例的可行性測試來提升完整 性,以及各產出是否與先前研究之產出內容相符,依據研究成果提出後續建議。
第四章 代理人社群塑模與轉換
社會人口持續老化與文化背景分歧,迫使人因工程與使用者界面設計更加的 錯綜複雜,使用者介面是現代資訊系統開發的關鍵性因素之一,由於設計具有多 樣性與複雜性,若缺乏有系統的設計方法程序,將會增加系統開發的難度,如何 設計讓使用者不出錯、安全、有效並且適切地使用科技是極富挑戰熱門的議題,
傳統系統的使用者介面(User Interface, UI)有別於代理人使用者介面(Agent-bases User Interface, AUI),包含了圖形化使用者介面(Graphical User Interface, GUI),
如文書處理軟體,以及語音使用者介面(Voice User Interface, VUI),如語音客服 系統。而代理人使用者介面重新定位人類與電腦的互動方式,關鍵是關注於心理 層面因素,比如感知、記憶、推理和動作反應,以及影響到使用者與系統其他元 件之互動層面,以使用者為中心設計哲學,化繁為簡(Keep It Simple, KIS)設計原 則的口語對話介面,包容複雜且分歧使用者介面提供簡單、親和性、自然的互動 模式,也避免了不一致。如下圖 4 代理人使用者介面系統架構所示,口語對話代 理人則為一個人代理人協商角色之「協商介面」,透過溝通、領域、知識的 Ontology,分別對使用者(User)、代理人(Agent)、非代理人系統(Non-agent System) 等三個介面(Interface)給予互動指引,也就是代理人社群互動。
U se r- a g e n t I n te rf ac e A g en t- sy st em I n te rf ac e
圖 4 代理人使用者介面系統架構
4.1 代理人社群模型設計
在 DARM 方法論提供三種模型來進行開發,分別為對話代理人的需求模 型、對話代理人的社群模型和對話代理人的 PAC 模型,相較傳統代理人需求塑 模方法論,讓使用者與系統互動模型的建置,提供更貼近使用者需求的系統雛型 實作,改善目前代理人塑模方法上的不足。在需求塑模方面則減少心智模式上的 差異,提高團隊溝通的效率,更能有效的提高系統維護性,縮短系統雛型的開發 時間,提升軟體開發專案整體的效率。
圖 4.1 對話代理人需求塑模方法論(Dialogue Agent Requirements Modeling Methodology, DARM)
DARM 方法論如圖 4.1 所示,本研究著重於代理人社群模型,以使用者認知 為 Ontology 作為對話策略,其中領域知識塑模分別為功能需求、認知概念兩階 段依序完成,以戚玉樑等學者(2005, 2006; 2009; 2007)提出的特徵空間與語意空