之前在找關於Web Data Extraction方面的paper時,發現一篇與實驗室同學正在作的研究有點關係,不過方法不同。這篇paper出自AIRS 2008,主要是針對Blog Post與Comment的擷取。如果要對Blog上面的意見作分析,或是在改善像某一些Blog垂直搜尋引擎上的準確性,把Blog中的主要內容擷取出來是很有用的。底下對整個內容作簡單的介紹:

首先介紹一個名詞─MainText,它的內容包含post跟comment。本篇paper把擷取post跟comment的任務分成兩個階段:
1.在DOM Tree的概念下,找出包含MainText的最下層Node
2.找出包含Main Text的Node中的一個分割點,將post與comment區隔出來

在第一階段中,主要利用兩個特性來決定出包含MainText的最下層Node。第一個是MainText的寬度與其它同一層區塊相比是最大的;第二個則是MainText的文字數一般來說是很高的。由此決定出MainText所在的Node位置,然後進入第二階段─找出post與comment的分割點。

第二階段裡,引入了information quantity的概念來決定分割點。information quantity在information theory中常見到,它的基本意義是,對於一個事件來說,如果事件發生的機率比較高,則當事件發生時,我們所獲得的information quantity相對來說比較低。也可以說information quantity的高低跟一個事件的確定性有關,當一個事件的確定性越高,那麼可以從中獲得的information quantity則越低。接著,依序選擇MainText Node的每一個child node當作分割點來計算information quantity,擁有最小information quantity的Node即被當成分割點。

最後是我簡單製作的介紹投影片:

View SlideShare presentation or Upload your own.

社群網站靠邊站,PTT才是王道?

在台灣,web 2.0概念下的網站,大概就屬Blog以及YouTube這一類服務最興盛。我認識的人當中,也有很多連blog都沒寫過,更別提其它像Twitter之類的網站了。然而這些人卻至少都上過PTT,其中也不乏花很多時間在上面的。可見PTT對於台灣的網路使用者而言,一定有一股很特別的吸引力,這也是我一直很想了解的。

社群網站這個名詞,好像從Web 2.0被提出之後才開始風行起來。其實社群只不過是一個概念,並不是叫社群網站才有社群。社群網站只是提供了更多的功能,讓上面的使用者在交流上更方便、更緊密。人類原本就是社群的動物,在現實生活中,社交活動非常重要。我們可以透過不同的環境,形成不同的社群團體。比如公司部門、學校班級乃至於一個小家庭,都是不同的社群團體。

反過來看PTT,除了它不是以一個Web形態存在以外,其它不論怎麼看,都與現在Web 2.0的一些精神沒有兩樣。使用者創造內容、分享以及社群等等,沒有一個是PTT所缺少的。從精神上看,我幾乎沒辦法比較PTT和目前的Web 2.0網站。我唯一感受的最大不同,就是它們在介面上的表現。可以這樣說,PTT在台灣的成功,代表了台灣網路使用者對Web 2.0的精神是肯定的。

一個社群網站或是一個BBS,要越來越成功,流量是一個關鍵。所以目前Web 2.0的網站,都是先想盡辦法把流量衝高,之後才開始思考獲利問題。因為在一群相似的網站或bbs站中,人氣越大,對其它競爭者越會有排斥效應,領先的優勢也更明顯。所以bbs中,PTT人氣成為一枝獨秀,美國社群網站中,MySpace、Facebook也各領風騷。但是其它類似的競爭者就很可憐了,例如Mircrosoft支持的社群網站可能因此就倒了,其實一點也不足為奇。但這並不表示我們不需要社群網站,而是我們不需要這麼多不同的類似網站。就如同搜尋引擎,我們頂多也只會用到最常用的那一兩個。

以Web形式存在而與BBS最接近的,大概要算是論壇了。可是PTT可以只用鍵盤就作到非常方便的遊覽功能,而論壇大部份的操作還很依賴滑鼠。所以我在想,PTT歷久不衰的主因可能是它的使用介面讓大部份人很習慣。但是自從我看過RIA的桌面版網路程式功能後,我突然覺得,如果可以透過RIA的技術作出一個桌面版的Web bbs,操作行為完全模擬一般傳統的bbs站一樣,卻還可以有更好的圖片或影片內嵌功能。難道這不是一種RIA技術的另類應用嗎?RIA的好處說不定可以從這個角度切入,讓更多人接受。

雖然我也會上PTT看一些資訊,但是我也常從blog看文章,甚至偶爾還會使用twitter。我發覺,PTT對我而言,娛樂效果遠大於知識吸收的能力。在PTT上,我很少可以得到太多我想知道的或是我覺得真正對我有用的。在沒有接觸blog之前,我以為PTT已經很棒了;在接觸許多優質的blog後,我認為blog上存在許多一流的專家,可以吸收到很多非凡的見解。所以我現在的網路活動,慢慢地從PTT抽離,慢慢地往Web方面深入。

我的想法是,PTT因為人氣與習慣因素使然,所以在台灣形成獨特的現像。但是使用PTT的人不太可能就完全不需要Web上的資訊,反之也是如此。另一方面,你擁抱了PTT,某種程度上也等於你認同了Web 2.0。最大的差別只是在於介面上的呈現,還有可能是另一個重要因素─口碑。也許未來,桌面版Web式的類bbs站的論壇應用可以取代現在PTT的人氣與地位。

最近的學習生活,我很享受

研究所入學的光景仿如昨日,一瞬間回到現實,已經是碩二了。實驗室來了許多新面孔,更添幾分熱鬧新鮮的氣息。陌生的環境已經適應,同學間的相處逐漸熱絡,我,開始把中央當成另一個習慣存在的地方。中央之於我,大部份時後總是,如果我不在實驗室或教室,就是在往實驗室或教室的路上。我打算趁著今年秋天涼爽時刻,或許散步,也許騎著腳踏車,重新感受與體驗每一條我在中大走過的路、沒去過的地方。

這學期只要再選修一門課就達到了該修滿的學分數,為了平衡時間與興趣,我選修了物件導向軟體工程。在現今所使用的語言環境中,大部份都是物件導向式設計。這門課大量介紹了UML工具的使用,讓設計人員可以一種更高階的圖示或描述方法來表達整個設計內容。這不只對維護很重要,在溝通上也很有用,如果把問題用更好的設計方式作表達,將更容易讓別人清處知道你在作什麼。我以為提高這種能力是很必要的,這需要很多因素結合起來,好的工具、對問題的深入了解以及平時訓練有素的文字表達與邏輯思想。

雖然只有選修一門課,但是卻旁聽了許多課程。像我們老師回國後所開的兩門課:最佳化理論與Web 2.0、另一位新老師開的課:統計學習理論以及一門經典課程:高等演算法。這幾門課的內容都很有趣,也都與我們實驗室的研究很相關。由於我們這一屆比較特殊,剛好碰到老師出國,所以這些相關課程反而在之前都沒有學過。但是也因此多修了許多不同領域的課程,加上今年這些旁聽與選修課,這讓我在資訊相關的學習上倍感充實。

在旁聽的兩門課中,統計學習與最佳化更讓我感受到有交互參照的效果。最近的統計學習上到貝氏決策理論,用到機率與貝氏定理的觀念來作分類。我在Data Mining的自修中只讀到這個部份就結束了,我也以為這個分類僅止於此。後來才知道,原來把條件機率用高斯分佈來假設,可以衍生出所謂的LDA(Linear Discriminant Analysis)、QDA(Quadratic Discriminant Analysis),這才讓我開始有點明白老師有時提到的LDA,它的分類原理與數學意義是什麼。更妙的是,LDA或QDA必須用到估計參數的部份,與老師現在的最佳化課程又串連了起來。在給定的機率模型中,求一組參數使得該機率可以達到最大值,這個過程就是目前最佳化正在教的部份。這當中又喚起我之前閱讀CRF(Conditional Random Field)論文裡,所參考的關於MEMM(Maximum Entropy Markov Model)部份中相關數學的印象。

而在論文閱讀方面,我目前大部份都找關於Web Data Extraction的方向。之前看的兩篇Survey到現在還是覺得只能大略地了解,沒有辦法很深刻的去體會其中的差別。但是隨著慢慢的累積一些相關知識,再回頭看會比較能理解。目前我希望多收集一些相關paper,多看幾種不同的作法,去漸漸區別出來整個Web IE在應用上有分成哪些、還有什麼不錯的方式可以改進?它的趨勢或是不錯的進階方向在哪裡等等。其它像是應用或是之後的maintanance還是擷取出來的資訊間作match的部份,我還不是很有感覺,大概要再多看paper然後找老師請教。最近,好像開始才比較能體會到持續在一個方向的閱讀可以慢慢擴散開來的樂趣。

最後,在研究的進度上,我仍在尋找一個構思。我覺得困難的是找一個好的情境與設計,還有在很多已經有的相關研究中去展現出自己獨特的貢獻。資料是分析的重要來源,而從網路上取得資料是第一步關鑑。我思考著,我應該是在前端技術或理論上作研究呢?還是應該利用已有的技術或理論把取得的資料作分析?或是其它不同的應用?這是我接下來必需儘快克服的問題。

Web 2.0課後─RIA Vs AJAX之我見

昨天的Web 2.0課程第一次以助教身份上台介紹相關資料,介紹的內容主要是關於AJAX與RIA,其它還有一些Mashup與OpenSource的資源。我覺得老師開這門課很有意思,因為對於Web 2.0除了技術之外,其它還有許多關於創新、商業模式以及趨勢或反思方面的探討。很多想法,可能都沒有一個標準答案,所有在課堂上參與的人不只是個聽眾,還是個分享者。

我投影片準備的數量並不多,但是卻也整整花了一節課的時間才介紹完,由此可見討論的情況還算熱烈。在透過台下同學的提問與討論後,的確也引出了一些值得思考的問題,也迫使我再度思考:RIA是什麼?到底它跟AJAX的差別在哪裡?它能成為後來的潮流嗎?

我對RIA的想法,最早來自於研一的時後曾報告的過一篇相關paper,但沒有看過實際的例子,其實沒有太多的感受。直到今年暑假,參加Microsoft的MIX08大會後,我開始深刻的體會到,其實這才是真正的RIA,AJAX與其相比還有段蠻遠的距離。可惜的是,我目前找不到更棒的例子或影片,沒有辦法將我的震驚讓其它人感同身受。當然,其中有許多展示都是某些公司的第一手資料,也許還沒那麼快推出市場。

RIA是Rich Internet Application的縮寫,有些人認為當中的I應該也要包括Interactive與Interface的含義在裡頭。目前提到RIA,大致上指的是比較後期相較於AJAX所提出的一套技術,當中最有名的有三個:Adobe AIR、Microsoft Silverligt以及Sun的JavaFX。底下針對昨天台下同學對這部份問題的發問,我試著從資料整理中回答,最後我會提出我整個的想法供大家參考。如果有補充或指正,也歡迎在回應中告知我。

1.AIR後來好像叫Apollo?
A:這部份剛好反過來,AIR是由Apollo更名調整過來的。

2.像AIR或是Silverlight這類RIA技術到底是程式語言還是程式架構或是平台?
A:我個人的看法是,以開發者角度來看,有點像是各家公司所提出的一套整合的Framework。當然也都搭配有各自廠商推出的IDE與language,像AIR的IDE是Flex,Browser client是flash player,語言是MXMLActionScript;Silverlight部份的IDE是Visual Studio,Browser Client是Silverlight 1.1/2,語言則分為圖形表示用XAML+JavaScript,Server端可以用c#或VB.net配合;JavaFX部份的IDE使用NetBeans,Browser Client是Java Plugin with JavaFX extension,語言方面則是JavaFX script與Java。

3.有些Firefox的插件在看某些型態的網頁時也可以作到3D效果,為什麼還需要RIA?
A:根據我在MIX08中看到的資訊,Microsoft在WPF中甚至可以利用到DirectX 3D的功能。事實上,Silverlight在微軟的看法是當成WPF的精簡版,也就是不具備DirectX 3D及其它包含本機端Device控制的功能。那些在FireFox中看起來3D的畫面與真正用到DirectX 3D Engine作出來的效果當然是差很多的,一些光線明暗的計算等細膩部份就沒辦法表現出來了。至於到底需不需要這麼棒的效果?我覺得為何不?如果可以更好的話。我記得MIX08上就舉了一個線上看書的例子,書在翻頁時,連陰影、不同光線的亮度效果都作出來,非常逼真。

4.Google Gears應該不是要當成桌面端軟體的應用吧?
A:嗯...這一點我是有一些自己的看法。一般來說,離線應用是指在沒有連線的情況下也可以透過Web作存取,但是從Google推出Chrome加上Chrome有個功能可以將網頁在本機端建一個捷徑的方式來看,我認為這才是Google想作的最終極應用。況且其它RIA技術也都紛紛支援在offline運作,Google從Gears+Chrome切入到這個戰場我覺得是很有可能的。

我認為現今RIA技術的出現,必然會對AJAX造成一定的影響。AJAX的特色就在於其非同步處理的功能,這實現了在與Server端作資料傳送的交換時不需要把整個網頁作刷新,因此會使人覺得Gmail看起來很像OutLook,但事實上並不是。AJAX在圖形表現上完全受限於Java Script Engine的能力,自然無法跟利用本機端繪圖能力的RIA技術相匹敵。比如說,你要作一個很豐富介面的網站,用AJAX或許可以達到,但那大概要花費極大心力;相對的,使用更好的支持圖形化功能的新一代RIA技術,開發人員應該可以比較容易的作到這些事情。更極端的桌面端網頁程式的應用,AJAX就更談不上了,因其只能限定在Web上。但是AJAX也有其不可取代的優點,那就是不需要額外下載擴充套件,也是現今最普及的應用。

也許把目前一般使用Browser開網頁的習慣轉換成下載一個本機端軟體,然後從本機端軟體透過網路資料交換的應用很難讓人適應或理解。不過這對User並沒有什麼害處,實際上就有許多AIR的這類應用軟體。對User而言,他們只是作出一個選擇而已,並不會因為出現了本機端軟體的應用,就代表Web上的應用會被取代。比如Twitter,就有許多相關的AIR桌面版軟體,看個人喜好作選擇。就如同Web 2.0時代來臨,難道所有Web 1.0時代的網頁就都消失了嗎?對User而言,一樣只是多出了許多的選擇。當某些技術不被市場上的使用者喜愛,它自然會無法普及,如同過去的Java Applet一樣。不過我相信,新的技術總是不斷地出來,目地是更好的改善User的體驗或是開發者的效率。在資訊時代,我們都應該不斷地往前學習,對嗎?

Blogger Templates by Blog Forum