本篇論文的標題為Building Data Integration Queries by Demonstration,出自IUI 2007。
隨著網路越來越進步,許多資訊都可以從網路中取得。但使用者的資訊需求,常常是分佈於不同的網頁中。舉例來說,某個餐廳在餐廳評價網站中得到不錯的評價,但於衛生評定網站的評定是不衛生的,那麼對於想去此餐廳吃飯的人,可能就要去這些網站搜集、整理相關資訊以決定是否去此餐廳享用餐點。
使用者想要從不同的網頁資料源取得資訊,大致有兩種方法。第一種是使用者自己至各個網站取得資料並整理,但這必需花費使用者許多時間。第二種是找尋資訊整合服務網站,利用網站的功能做資訊整合,不過這些網站所提供的資料來源都來自於固定某些網站,而使用者所需的資料,不一定是資訊整合網站有提供的。
於是作者提出了一個名為Karma的系統,目標是方便使用者做不同網頁資料的整合,建立自己所需的mashup。為了達到此目摽,必需解決data retrival(如何從網站中擷取資料)、data cleaning and schema matching(如何修正missspellings以及格式不一致…等等)、data integration(如何結合不同資料源的資料)、filtering and visualization(型式不同的widget(map、table…等等)有其適合的filtering paradigms,如何找出適合此widget的filtering paradigm)四個主要問題。而這篇論文內容著重在data integration部分,Karma提供可能的值供使用者選擇,並利用constraints以及partial plans來減少可能的值,使用者不需了解query語法或資料的來源,即可完成data integration。
論文連結:Proceedings of the 12th international conference on Intelligent user interfaces Pages: 170 - 179 Year of Publication: 2007
以下為我的投影片:
2008年8月4日
2008年6月19日
Google 2008 Developer Day
之前得知Google 2008 Developer Day在6/14舉行後,就線上報名參加了。雖然有把這個消息告知一些同學跟學長,最後發現卻只有我一個人報名。大概6/14這個時間非常接近期末考,大家都很忙。本來是想帶數位相機去照一些照片,無奈出發前發現電池竟然出問題,結果只好作罷。
整個會議的時間從早上8:30報到開始到下午四點結束,大會地點在台北國際會議中心。由於開幕致詞時間在9:30,所以報到完後還有很多時間。在等待開始的期間,不經意看到旁邊一位老兄用apple的ibook上網在玩twitter,我猜他可能在抱怨怎麼還不開始。另外,現場休息區的佈置真的很Google的感覺,除了有一台wii跟xbox 360可以消磨時間外,還準備了一大堆的飲料跟零食。地上的椅子也都不太正常,有的是大汽球,有的是沙包,我看到有人坐在汽球上時還不小心跌倒。
這一次大會主要分三個廳,主題都不太相同。上午的部份,我選擇參加Google Maps API的主題,下午一小時的實作報告部份我去聽了關於Open Social的成果展示,剩下時間選擇的兩個主題分別是Android簡介跟小工具(Gadget)。開幕致詞跟主題介紹都是由台灣Google研究院院長簡立峰先生演說,還順便談到了Google對未來網路的看法與願景。主要有四大部份:Google Gears、Google Apps Engine、Android與Open Social,可以強烈感覺到Google想要提出一些標準開放平台讓全世界都可以去利用,希望可以更加快速幫助網路上資料的產生與分享。其中,我覺得Apps Engine最有優勢,因為利用到Google強大的主機服務,網站管理的許多問題將可以省下不少力氣。而Android也是備受關注,參加聽講的人也最多,我想手機應用將很快成為主流。
Google Maps API部份主要是介紹如何使用API,以及有哪些功能。比較特別的應用是,地圖的重疊功能。比如有個展示是把高雄現代地圖與古地圖重疊在一起作比較,可以看出古今變化的樣貌。另外一個是Google Earth的介紹,這一部份讓人感到很驚豔。例如可以選擇台灣隨便一個地點看其地形,也可以模擬從台北101的角度俯瞰整個台北市的景觀。目前網站應用最多的大概就是屬於這一類,像台灣的地圖日記就是,還拿到美國demo秀的特別獎。可以說Google的開放式API造就了許多網站成功的機會,而這些開發者的反饋又增加了Google這一類服務的內容,相輔相成。因此當網路上各式各樣的資料越多,搜尋就越顯重要,而Google的競爭優勢也就越強大。
Android部份是由美國Google總部的軟體工程師所演說,大意是Android平台是架在Linux Kernel之上,類似Java Virtual Machine的功能。除此之外也提供像Windows API一樣的程式開發SDK,讓使用者可以更方便地開發手機上的網路應用程式。讓我感到比較印像深刻的部份是Q & A,演講者的電腦功力非常深厚。在面對各式各樣的問題時,不是只由軟體開發的角度去回答,而解決問題的方式也不只一種。聽完之後,我更加覺得各方面綜合能力對一個軟體開發人員在開發設計上是不可或缺的。
感到比較失望的部份是小工具主題,只是簡單照著投影片作解說,教大家怎樣建立一個Gadget,沒有看到什麼更進一步的消息或是未來發展。不過Gadget不是只能放在iGoogle上面,而是可以放在任何網站或是Blog上都可以。這部份讓我覺得其實Gadget也可以結合廣告的配置,而不一定要很死版的依賴Google Adword或是Google Adsense。廣義來說,幾乎可以內嵌的都可以看作是一種Gadget,YouTube也可以看成是一種視訊撥放的Gadget放在網站或網頁中。目前除了個人化入口網站之外,大量的Blog中也會放置Gadget。可以說,以往Web 1.0時代那種統一介面被Web 2.0時代的個人化定制介面所取代的關鑑就在於此。
總體來說,這一次參加的感覺是對Google目前各方面的服務多了一些認識。也體會到,其實在網頁應用的開發上最困難的部份可能是去了解眾多API的使用。也許,Google正在作的就是把眾多API的數量盡量精簡,到最後所有開發者都可以在同一個標準下去作開發,那分享與產生的速度相信就可能會更快了。
整個會議的時間從早上8:30報到開始到下午四點結束,大會地點在台北國際會議中心。由於開幕致詞時間在9:30,所以報到完後還有很多時間。在等待開始的期間,不經意看到旁邊一位老兄用apple的ibook上網在玩twitter,我猜他可能在抱怨怎麼還不開始。另外,現場休息區的佈置真的很Google的感覺,除了有一台wii跟xbox 360可以消磨時間外,還準備了一大堆的飲料跟零食。地上的椅子也都不太正常,有的是大汽球,有的是沙包,我看到有人坐在汽球上時還不小心跌倒。
這一次大會主要分三個廳,主題都不太相同。上午的部份,我選擇參加Google Maps API的主題,下午一小時的實作報告部份我去聽了關於Open Social的成果展示,剩下時間選擇的兩個主題分別是Android簡介跟小工具(Gadget)。開幕致詞跟主題介紹都是由台灣Google研究院院長簡立峰先生演說,還順便談到了Google對未來網路的看法與願景。主要有四大部份:Google Gears、Google Apps Engine、Android與Open Social,可以強烈感覺到Google想要提出一些標準開放平台讓全世界都可以去利用,希望可以更加快速幫助網路上資料的產生與分享。其中,我覺得Apps Engine最有優勢,因為利用到Google強大的主機服務,網站管理的許多問題將可以省下不少力氣。而Android也是備受關注,參加聽講的人也最多,我想手機應用將很快成為主流。
Google Maps API部份主要是介紹如何使用API,以及有哪些功能。比較特別的應用是,地圖的重疊功能。比如有個展示是把高雄現代地圖與古地圖重疊在一起作比較,可以看出古今變化的樣貌。另外一個是Google Earth的介紹,這一部份讓人感到很驚豔。例如可以選擇台灣隨便一個地點看其地形,也可以模擬從台北101的角度俯瞰整個台北市的景觀。目前網站應用最多的大概就是屬於這一類,像台灣的地圖日記就是,還拿到美國demo秀的特別獎。可以說Google的開放式API造就了許多網站成功的機會,而這些開發者的反饋又增加了Google這一類服務的內容,相輔相成。因此當網路上各式各樣的資料越多,搜尋就越顯重要,而Google的競爭優勢也就越強大。
Android部份是由美國Google總部的軟體工程師所演說,大意是Android平台是架在Linux Kernel之上,類似Java Virtual Machine的功能。除此之外也提供像Windows API一樣的程式開發SDK,讓使用者可以更方便地開發手機上的網路應用程式。讓我感到比較印像深刻的部份是Q & A,演講者的電腦功力非常深厚。在面對各式各樣的問題時,不是只由軟體開發的角度去回答,而解決問題的方式也不只一種。聽完之後,我更加覺得各方面綜合能力對一個軟體開發人員在開發設計上是不可或缺的。
感到比較失望的部份是小工具主題,只是簡單照著投影片作解說,教大家怎樣建立一個Gadget,沒有看到什麼更進一步的消息或是未來發展。不過Gadget不是只能放在iGoogle上面,而是可以放在任何網站或是Blog上都可以。這部份讓我覺得其實Gadget也可以結合廣告的配置,而不一定要很死版的依賴Google Adword或是Google Adsense。廣義來說,幾乎可以內嵌的都可以看作是一種Gadget,YouTube也可以看成是一種視訊撥放的Gadget放在網站或網頁中。目前除了個人化入口網站之外,大量的Blog中也會放置Gadget。可以說,以往Web 1.0時代那種統一介面被Web 2.0時代的個人化定制介面所取代的關鑑就在於此。
總體來說,這一次參加的感覺是對Google目前各方面的服務多了一些認識。也體會到,其實在網頁應用的開發上最困難的部份可能是去了解眾多API的使用。也許,Google正在作的就是把眾多API的數量盡量精簡,到最後所有開發者都可以在同一個標準下去作開發,那分享與產生的速度相信就可能會更快了。
2008年5月19日
Automatic Identification of Pro and Con Reason in Online Reviews
Automatic Identification of Pro and Con Reason in Online Reviews 這篇論文主要出自於COLING' 06, 其目的是將線上評價中的語句辨識出是否有含主觀意見, 進而將含主觀意見的句子分成pros 和 cons 兩個類別.
因此, 給定一句使用者評論中的句子, 系統架構主要可以分為兩個階對進行, 分別為subjectivity identification and polarity classification phases:
--subjectivity identification 將關於具有主觀意見的句子辨識出來.
--polarity classification 將主觀意見的句子進行分類.
subjectivity identification和polarity classification均採用supervised machine learning algorithm (Maximum Entropy), 類別主要分為三種 (Neither, Pro and Con), neither類別可視為客觀的類別(即一般的事實描述), 其內容不屬於pros and cons. 而分類時所使用的特徵屬性可分為三大類別:
1. Lexical (uni-gram, bi-gram and tri-gram)
2. Position (該sentence是否出現在review中的首兩句或末兩句)
3. Opinion-bearing words (是先選定好的情緒字集)
此外, 為了簡化標準答案的標註, 本論文提出了一套自動標註系統, 主要係透過目前某些評論網站含有特定的欄位來描述pro和con. 作者假設, 使用者在撰寫評論的時亦會使用相同的字詞(包含在pro's和con's feild) 來描述他對於該產品的優缺點, 藉由此特性, 來建立所需的標準答案.
實驗部份: 透過epinions.com(含有pro and con field)來建立訓練資料, 並且將建立好的model除了應用在此網站之外, 同樣也在Compliant.com上進行實驗, 最後實驗結果顯示, 平均precision 可達66%, recall 可達到76%.
利用目前些評論網站均含有描述pro和con的欄位. 假設user撰寫的pro's and con's所使用的字詞, 也會出現在撰寫整體評論中來描述他對於該產品的優缺點, 我們即可以pro's and con's的資料做為參考答案, 藉由此來建立所需的training data.
附上此論文投影片:
因此, 給定一句使用者評論中的句子, 系統架構主要可以分為兩個階對進行, 分別為subjectivity identification and polarity classification phases:
--subjectivity identification 將關於具有主觀意見的句子辨識出來.
--polarity classification 將主觀意見的句子進行分類.
subjectivity identification和polarity classification均採用supervised machine learning algorithm (Maximum Entropy), 類別主要分為三種 (Neither, Pro and Con), neither類別可視為客觀的類別(即一般的事實描述), 其內容不屬於pros and cons. 而分類時所使用的特徵屬性可分為三大類別:
1. Lexical (uni-gram, bi-gram and tri-gram)
2. Position (該sentence是否出現在review中的首兩句或末兩句)
3. Opinion-bearing words (是先選定好的情緒字集)
此外, 為了簡化標準答案的標註, 本論文提出了一套自動標註系統, 主要係透過目前某些評論網站含有特定的欄位來描述pro和con. 作者假設, 使用者在撰寫評論的時亦會使用相同的字詞(包含在pro's和con's feild) 來描述他對於該產品的優缺點, 藉由此特性, 來建立所需的標準答案.
實驗部份: 透過epinions.com(含有pro and con field)來建立訓練資料, 並且將建立好的model除了應用在此網站之外, 同樣也在Compliant.com上進行實驗, 最後實驗結果顯示, 平均precision 可達66%, recall 可達到76%.
利用目前些評論網站均含有描述pro和con的欄位. 假設user撰寫的pro's and con's所使用的字詞, 也會出現在撰寫整體評論中來描述他對於該產品的優缺點, 我們即可以pro's and con's的資料做為參考答案, 藉由此來建立所需的training data.
附上此論文投影片:
2008年5月7日
Image Classification for Mobile Web Browsing
這次報告的paper題目是"Image Classification for Mobile Web Browsing",出處是"Proceedings of the 15th international conference on World Wide Web"。不難想像的是,作者是日本人,畢竟在日本,使用手機已經成為非常高頻率的一種活動。底下是摘要部份:
對於只有小畫面的行動裝置使用者來說,瀏覽專為桌上型PC的大畫面所設計的網頁是不方便的。然而,隨著網路技術的提升與行動裝置的普及,這方面的需求也越來越多。目前已經有一些研究與商業產品正嘗試解決這方面的問題,其中,能夠正確地分辨網頁中image的種類是很有用的。舉例來說,去除網頁中某些image來簡化網頁內容以達到更符合小畫面瀏覽的程度。
在這篇paper中,作者們將web imgaes分成11個種類。接著,從40個網站中收集到的3901個images以手動方式分類。其中,選取了能夠有效分類的37個image features。這些image features的擷取方式總共有4種:
1.use HTML source file analysis
2.query web servers
3.exploit the layout information of DOM trees when rendering the pages
4.use image processing
根據這37個image features,作者們使用C4.5演算法來建立Decision Tree Classification。
實驗部份,總共執行40次,每一次選擇其中一個網站的images當作test set而其餘39個網站的images當作training set。結果顯示,採用作者們的分類方式可以達到83.1%的正確率。最後,作者們還實作了一個automatic web page scrolling system作為展示利用image classification方法的一種應用。
最後是這次報告的投影片:
對於只有小畫面的行動裝置使用者來說,瀏覽專為桌上型PC的大畫面所設計的網頁是不方便的。然而,隨著網路技術的提升與行動裝置的普及,這方面的需求也越來越多。目前已經有一些研究與商業產品正嘗試解決這方面的問題,其中,能夠正確地分辨網頁中image的種類是很有用的。舉例來說,去除網頁中某些image來簡化網頁內容以達到更符合小畫面瀏覽的程度。
在這篇paper中,作者們將web imgaes分成11個種類。接著,從40個網站中收集到的3901個images以手動方式分類。其中,選取了能夠有效分類的37個image features。這些image features的擷取方式總共有4種:
1.use HTML source file analysis
2.query web servers
3.exploit the layout information of DOM trees when rendering the pages
4.use image processing
根據這37個image features,作者們使用C4.5演算法來建立Decision Tree Classification。
實驗部份,總共執行40次,每一次選擇其中一個網站的images當作test set而其餘39個網站的images當作training set。結果顯示,採用作者們的分類方式可以達到83.1%的正確率。最後,作者們還實作了一個automatic web page scrolling system作為展示利用image classification方法的一種應用。
最後是這次報告的投影片:
2008年3月2日
OpenXUP─an Alternative Approach to Developing Highly Interactive Web Applications
本篇paper出處是:"Proceedings of the 6th international conference on Web engineering",底下是摘要內容:
製作更豐富與高互動性的Web Application需求益發增加,目前改善傳統的HTML方式的介面表示方法主要有兩種:一種是利用下載程式到browser中執行的方式如Java Applet或ActiveX;一種是近來很流行的AJAX。但是這兩種方式都有其缺點,前者當UI與程式功能比較複雜時,需要下載的程式碼也變得較多,並且由於程式功能在Client端執行,因此存在有安全性的風險;後者的UI則受限於Browser的JavaScript Engine與DHTML的表現能力。因此作者們提出了另一種可選擇的方式─OpenXUP,一種基於XUP(Extensible User Interface Protocol)的Web User Interface Development Framework。
XUP 是一種基於SOAP的Protocol用來處理在web上的使用者介面事件溝通與更新的通知,而且支援非同步的訊息傳送。OpenXUP的組成有兩部份: thin client and server toolkit which offers a set of event-driven APIs。think Client(XUPClient)只有兩個任務:一個是顯示UI與捕捉UI Events;另一個是負責與server間的通訊(傳送與接收Events)。Server(XUPServer)部份負責處理從Client傳送過來的UI更新要求,裡面包含了Application Manager、Event Dispatcher與XUP applications。Application Manager用來選擇對應的XUP application作處理,Event Dispatcher則把Events分派給對應的Event Handler程式處理(在XUP application之中),而XUP application則是Server中程式邏輯的主要部份,利用一組Event-driven APIs來完成其功能。
OpenXUP 的特色在於程式功能的執行都在Server端完成,透過XUP將UI的更新結果傳到Client,然後由Client顯示更新後的UI畫面。由於程式功能都在Server端執行,因此Cleint端的環境是安全的,並且在除錯與維護上也較容易。另一方面由於Client端完全利用本地端電腦的GUI toolkit能力(目前以.NET實作)再加上XUP支援非同步的訊息傳送,使得在Client端的介面呈現上展現出了快速的UI反應與豐富高互動的 UI可用性。
最後是投影片內容:
製作更豐富與高互動性的Web Application需求益發增加,目前改善傳統的HTML方式的介面表示方法主要有兩種:一種是利用下載程式到browser中執行的方式如Java Applet或ActiveX;一種是近來很流行的AJAX。但是這兩種方式都有其缺點,前者當UI與程式功能比較複雜時,需要下載的程式碼也變得較多,並且由於程式功能在Client端執行,因此存在有安全性的風險;後者的UI則受限於Browser的JavaScript Engine與DHTML的表現能力。因此作者們提出了另一種可選擇的方式─OpenXUP,一種基於XUP(Extensible User Interface Protocol)的Web User Interface Development Framework。
XUP 是一種基於SOAP的Protocol用來處理在web上的使用者介面事件溝通與更新的通知,而且支援非同步的訊息傳送。OpenXUP的組成有兩部份: thin client and server toolkit which offers a set of event-driven APIs。think Client(XUPClient)只有兩個任務:一個是顯示UI與捕捉UI Events;另一個是負責與server間的通訊(傳送與接收Events)。Server(XUPServer)部份負責處理從Client傳送過來的UI更新要求,裡面包含了Application Manager、Event Dispatcher與XUP applications。Application Manager用來選擇對應的XUP application作處理,Event Dispatcher則把Events分派給對應的Event Handler程式處理(在XUP application之中),而XUP application則是Server中程式邏輯的主要部份,利用一組Event-driven APIs來完成其功能。
OpenXUP 的特色在於程式功能的執行都在Server端完成,透過XUP將UI的更新結果傳到Client,然後由Client顯示更新後的UI畫面。由於程式功能都在Server端執行,因此Cleint端的環境是安全的,並且在除錯與維護上也較容易。另一方面由於Client端完全利用本地端電腦的GUI toolkit能力(目前以.NET實作)再加上XUP支援非同步的訊息傳送,使得在Client端的介面呈現上展現出了快速的UI反應與豐富高互動的 UI可用性。
最後是投影片內容:
訂閱:
文章 (Atom)