close

  這是清華大學金仲達教授在資訊系統應用研究所的教學講義。裡面從情境感知的研究動機, 各種方法論, 介紹到目前已有的情境感知應用, 開發情境感知應用的流程, 目前的挑戰與議題, 和林林總總相關題材, 都收錄其中, 可說是相當完整的一份教材, 投影片 124 張可不是來虛的。


  研究動機不用多說, 總之科技始終來自於人性, 這是至理名言。我們希望帶領計算機走出自閉症的黑箱世界, 過去透過人為互動的介入, 來修正需求與資訊輸出不對稱 ( 媒合失誤 ) 的狀況, 得以經由情境感知的技術, 來盡量排除人為介入的部份。


  對於情境種類的定義, 除了之前 Wiki 上提到 Schmidt 的分類法外, 另外有 Kotz 的分類法, 區分為主動式情境 ( Active Context ), 以及被動事情境 ( Passive Context )。主動式, 代表情境資訊會整個改變應用系統的行為模式, 例如會議中, 行動電話自動拒接或轉接。被動式, 則只是單純影響應用系統資訊呈現方式, 例如依使用者習慣與喜好, 對資訊做不同的優先排序。


  情境感知可以舉出的應用例子太多了, 這篇投影片也用了三分之一的篇幅來呈現這些例子, 然而對我來說, 真正有價值的部份從中段才開始: 如何開發情境感知系統?


  這個開發流程主要有五個步驟:


  1. 定出規格: 要利用哪些情境? 對應的行為表現? 好的開始是成功的一半, 問對問題遠比回答問題重要。

  2. 情境資訊的獲取: 需要哪些感應器 ( Sensor )? 要感應哪裡? 感應頻繁次數? 如何描述情境? 如何儲存情境?

  3. 傳送與分佈: 如何傳送資訊? 1 to N or N to 1?

  4. 接收: 如何接收情境資訊? 輪詢? 主動通知? 收集? 過濾? 混合?

  5. 行動: 累積式分析? 分析結果後的行動?


  上述這些是開發情境感知系統必須思考的基本問題, 看似簡單, 其實卻牽引出許多不同的挑戰和議題。例如感應器不同, 背後所需整合的技術就不同, 攝錄機背後需要影像處理與識別的技術, 麥克風需要訊號分析處理的技術, 情境資訊的處理, 使用集中式 / 分散式架構, 感應器的精確度與穩定度, 系統設計的容錯性...。這樣的技術整合, 決不是一個簡單的任務。


  然而除了技術層面仍有重重障礙, 人的因素也有許多必須一同深思熟慮的議題:


  1. 產生尷尬狀況: 例如用來定位的感應徽章, 透露使用者在廁所的資訊, 或是會議中的來電自動轉接, 將一些不合適的電話轉接給外人 - 情婦的來電轉到老婆大人的手機代接?

  2. 避免危險狀況: 需要考慮系統誤判時所造成的代價? 因為煮飯炒菜而誤響的煙霧感應器, 不小心將人困在廁所內的自動門鎖...。

  3. 更多的情境真的帶來更多的幫助嗎?

  4. 隱私權問題: 使用者更加擔心系統捕捉的情境資訊如何運用? 傳送給誰?


  除此之外, 我們也必須考慮市場接受度與實用性等問題。再好的技術, 不被人需要也只是垃圾。


  再來的重點, 也是實做的關鍵就是 Context Modeling, 情境表述的塑模。好的演算法必須架構在合適的資料結構上, 所以情境資訊的塑模決定了感知系統的表現能力範圍。以物件的觀點來看情境塑模這件事, 參予者, 進行活動, 關聯性, 地點, 全都是可供使用的物件 ( Entity ), 這些物件彼此間可以互相參照與多重關聯, 例如一個地點物件可以同時關聯許多參予者物件 ( 代表許多人擠在一個房間 ), 參予者可以關聯到多個活動 ( 趕通告的大明星 ), 一個活動又可以關聯到多個參予者 ( 大家來 meeting 吧 ), 一個活動又可以關聯到多個地點 ( 環島馬拉松 )..., 也就是藉由這樣的關連性塑模, 描述整個情境。


  接下來, 根據這樣的塑模理論, 金教授介紹一套 Java base 實做出來的 Context ToolKit Framework, 這可以經由視覺化元件 ( Context Widget ) 來呈現出感知的反應效果。這套 Framework 可以藉由偵測使用者電腦的周邊設備 ( 鍵盤, 滑鼠, 讀卡機... ) 來感受使用者目前的活動狀態。在這套 Framework 的首頁 http://www.cc.gatech.edu/fce/contexttoolkit/ , 有提供一個範例, 也是金教授投影片後來解說的 In / Out Board


  最後, 提到一種新的 Programming 技術, 稱為 COP - Context Oriented Programming 情境導向編程, 藉由一種可攜移動式文件, 可自動依載具特性不同, 呈現不同表達方式的文件形式 ( 載具是印表機就列印, 螢幕就顯示, 喇叭就唸出內容來... ), 來說明這樣的開發應用。藉由 XML 作為文件描述工具, 內容本文會置於 <gap></gap> 標籤內, 裡面會有 context 情境的資訊, 例如載具, 或是地區, 然後應用系統會根據情境的資訊再跟本文內容做媒合, 取到適當的 Stub 票根程式, 進行資訊適當的呈現, 甚至翻譯。以物件導向的觀點, 這些 Stub 程式其實會繼承自同一個 Stub interface, 而經過類似 Factory / Registry 的機制來媒合決定實際產生的 Stub ( PrinterStub / MonitorStub / SpeakerStub ) 呼叫其 API 來產生 representable content。


  伴隨著感應器, 無線裝置, 無線網路訊號等基礎建設的普及, 這類智慧型行動裝置將進入如雨後春筍的爆炸性演進時代, 當然, 很多問題仍需克服, 其中處理人為因素的問題不見得比技術性問題少, 但是其潛力與前景是不容小覷的, 金教授的這份完整教材, 帶領我們入門到一個科技的新視野, 值得期盼這方面未來的發展。

arrow
arrow
    全站熱搜

    tomtang0406 發表在 痞客邦 留言(3) 人氣()