7/30/2008

MA Reading Memo 7/30

Intelligent Techniques for Web Personalization(link)
使用者不用明確說出他們的需求,就可以提供使用者所需的資訊

The Personalization Process

數學符號代表:
Assume
n Items, each can be described as a s dimensional vector, i(j) : { b(j,1), b(j,2), ..., b(j,s) }
m Users,each can be described as a t dimensional vector, u(k): {a(k,1), a(k,2),..., a(k,t) }
I(u,k) : 沒有被User u(k) rated過的item集合
I(r,k) : 已經被User u(k) rate 過的item集合
The goal is to suggest Item i(j) belongs to I(u,k) and would interest User u(k).

Step:
  1. Collect Data:
    ‧data 必須是attributable
    ‧web上收集的資料往往包含許多需要被去除的noise
    ‧在IBM的分析中,發現user往往會願意多填一些資料,來提高系統的準確性。
  2. Build user-centric data model : 有很多方法可以表示data model,ex. vector, ontology, aggregate usage profile, ...
  3. Evaluation: 常用converage, mean absolute error及ROC sensitvity。
  4. Deployment: 常見有scalability的issue,希望可以real-time產生recommendation。
  5. all steps need to be monitored

通常推荐的方式可以分成兩大類:
Prediction Task:預測其他未被user rate過的item的rate值
Selection Task: 選擇N個最相關且未被rate過的item給user

Classifications of Approaches to Personalization
Individual Vs Collaborative

  1. Individual : 使用content-based filtering systems,用item的內容及user自己的rate來推荐。
    優點:可以建構在client side,因此比較不會有privacy issue
    缺點:完全based on使用者自己之前的推荐,不會有"意外"發現其他interest的可能,而且必須確保推荐過的item本身可以access到。
  2. Collaborative: collaborative(Social) filtering,不使用item的內容,而使用user及其neighborhood的rate來決定是否推荐一篇article
    缺點:new item and new user rating problem
    優點:參考individual的缺點XD
Reactive Vs Proactive
  1. Reactive:需要user提供feedback,例如:rate所推荐的東西是不是符合需求。
  2. Proactive: user的feedback並不是影響推荐item的主因,它用其他"學"到的information來做推荐,如amazon。
User Vs. Item Information

  1. Item Related Information: 包含item descriptions 及 product/ domain ontology,通常用來處理unstructured data與item 的關聯。ex. 用keyword來描述document.
  2. User Related Information: 包含rating record, past user behaviour,少部份會採用demographic data(不易收集,且較item-based及user behavior不精確。)
  3. Hybrid: 因為兩個各有優缺點,所以有些system兩種方式都同時採用。

Memory Based Vs. Model Based

  1. Memory Based(lazy learning): 在query 進來當下才generalize(online)
    ex. 傳統CF及content based filtering
    缺點:scalability
    優點:可以反映user interest的變化
  2. Model Based(eager learning):在query進來之前已經建好model(offline)
    ex. item-based CF

Client Side Vs Server Side

  1. Client side: 資料儲存在client端
    缺點:只適用Individual model
    優點:可以在不同web site access data(但也要先知道怎麼拿client side的資料才行啊!)
  2. Server side: 資料儲存在server端
    優點:適用 Individual model及Collaborative Model,而且拿自己存的資料比較容易

Data

  • Explicit data: 因為是user自己提供的,有時user會考量到privacy issue而提供較不精確的資料。
  • Implicit data: 比較容易觀察到positive的Info,但negative observation往往很有用
    (ex. last.fm上次討論到的一首歌才聽了一下就換下一首歌,不過last.fm沒有紀錄下來)

Personalization Techniques

Issues
(一些比較trivial的我就直接略過了)

The Cold Start and Latency Problem

  1. New user problem: 新進使用者沒有history資料
  2. Cold Start problem:在collaborative system initial時,所有的user都沒有history
  3. New item (Latency) problem: 新的item缺乏rating資料

解決方法是利用Hybrid來取得一些額外的information

Data Sparseness
Item的數量會稀釋了user history data 佔總量的百分比 造成難以尋找similar user
解決方法:Item partitioning (domain specific)、Item clustering、Gauge set of items(指定某些必須要rate的item) ,簡單的說就是使用替代資料(domain, cluster)取代item。

Scalability:
user及item的數量太大,而使得memory based system無法負荷

Privacy


Recommendation List Diversity
:
研究顯示diversification有positive effect(accuracy不高也沒關係),所以該如何在diversity與accuracy之間取得平衡?

Adapting to User Context:
無法將user與系統的previous interactions視為context也無法explicitly measure context,

Using Domain Knowledge
Managing the Dynamics in User Interests
Robustness
Trust

Evaluation of Personalization Systems

User Satisfaction: ex.
  • RFM: Recency- When was the last order? , Frequency - How many orders have they placed with us? Monetary Value - What is the value of their orders?
  • life-time value
  • recommendation uptake
Accuracy: ex.
Coverage: 推荐系統可以推荐出的universe 的百分比
Utility: ex. novelty
Explainability:
Robustness: prediction stability, power of an attack
Performance and Scalability: response time

7/29/2008

OntoVis

website: link
paper: link

這是馬匡六教授在2006年IEEE Transactions on Visualization and Computer Graphics中發表的一套系統。

以social network為例,傳統的social network圖中, 往往使用Node表示actor,edge表示relationship,node上或edge上的attribute則是運用色彩、大小…各種屬性來比較。這種方法在分析attribute上的種類數量少時,非常的清楚(如圖1),然而一旦種類多了,就會讓畫面看來顯得凌亂,而且容易混淆!


圖1:利用顏色呈現各node的群組關係(圖片為我之前做tag cloud的測試設計圖)


而馬教授提出的以虛擬點呈現attribute的作法卻可以解決這個問題。對Ontovis(馬教授開發的系統)而言,attribute的value可以是一個"virtual node"。舉例而言,假定我們有4個組織的資訊,當我們想要看出有幾個組織位於希臘,那可以把"希臘"這個所在地的value設為一個virtual node,而得到圖2,從圖2可以看出來,4個組織都與Greece的node相連,可見這4個組織都位在Greece。


圖2: Greece與4個組織相連。


這種作法同時結合了filtering,還可以同時清楚的了解屬性間的異同,例如同上面的例子,我想要知道在Greece中的組織,有哪些分別是屬於anti-globalization及Leftist,我可以分別將這兩個attribute及Greece加入virtual node中,然後透過edge的關聯找出我想要的資訊。(p.s.這個例子跟paper中提及的figure 1(c)有些微不同,paper中例子的目的是要找出相異的attribute,而這個例子則是要找出有A屬性的Node們,在B屬性的分佈狀況)



此外,在Social Network中,常常會有兩個node間有多條Path可達,為了方便分析,圖3將一些不相關的node filter掉,僅保留相關的node們的資訊




圖3 將多餘的info 移除前後比較

OntoVis另外一個特色是利用Node的大小表現"Connectivity",因為這也是Social network中很常用來判斷一個節點的importance。因為OntoVis的Layout採用FDL,然而FDL並未考慮到Node size,所以他有使用一些refinement來處理tag的overlapping

7/25/2008

What is Visualization??

坦白說,去完這次的CGW之後,一度讓我有點疑惑到底什麼才是visualization,感覺起來會中很多東西都不是我之前認為是屬於visualization的東西卻被投到visualization的session中。但是究竟什麼是我心中以為的visualization呢?可能是我研究得還不夠透徹,總覺得心中似乎有個答案,但一直不知道怎麼表達我腦中所理解的visualization。沒想到我回來以後,卻在我的Reader上看到一個來自於EagerEyes.org 很棒的說明(原文連結)。因為太開心了,我決定嘗試將我所理解的重點寫下來,也順便驗證一下我的理解究竟有什麼不夠完備的地方!

在大多數人的認知,感覺真的要說起來,似乎什麼事情都可以說成跟visualization有關,然而作者覺得,Visualization至少應該要具備以下三項條件(當然,visualization要做的應該更多,不過這邊提到的是三個基本要素):
  1. 建構於(非visual的)資料之上。因為visualization的目的就是為了連接資料。換而言之,資料本身可能是來自於抽象的或是無法立刻被人了解的。因此,攝影(photography)及影像處理( image processing)都不能算是visualization。visualization是把invisible的轉換成visible。
  2. 產出影像。雖然似乎聽起來直覺上就是這樣,但這說法好像還不夠。產出的visual必須是想表達的主軸。輔以其他形式的呈現只能是為了傳達一些額外的資訊。因此,如果產出的圖像儘是work的一小部份過程,那這也不能算是visualization
  3. 結果必須是可讀及可理解的。visualization最重要的一個目的就是提供一個方法讓人們了解資料。雖然在將non-trival 的資料轉成可讀性高的圖表時,或多或少都會遺失一些其他的資訊,但至少必須呈現出資料的某些面向。

---

暫時先這樣好了,明天再來補上後面的例子跟重新順一下我的語法XD

7/23/2008

CGW Memo

Session: Animation
→這個session的領域我很不熟,就記有興趣的好了

以運動擷取資料程序式動畫品質
如果直接用程式產生動作(ex. 走路)的動畫,看起來會很不自然,
他們提出的方法是藉由motion capture的方式來修正auto generation的結果
motion capture只需要動作相同,即使角色不同都可以用同樣的動作來修正。

Animating Characters in Pictures
將picture中的角色產生3D model再做動畫
Model fitting->skin fitting -> skeleton -> Thickness adjustment


Session : VisualizationⅠ

應用於帕金森氏病人復健與治療計畫之虛擬環境場開發
使用Virtual Reality的方法建構帕金森氏病患的復健環境
(搭配偵測手套及立體視覺影像)

MizDesigner: a Visualization of Designer's Relationship in Ideastorming
用tag的co-occurence來找tag 的關聯性(只考慮co-occurence)
(They claim that there's nobody adopt the same way... but I don't think so)

使用叢集式電腦建構高互動平行顯示陣列
聽得不是很懂…略

以社會傳播模型模擬人群之集體社會行為
模擬人群傳播的特性,設定了人類內心的4種狀態,加入了被影響的門檻值來建立人類活動會受其他群眾影響的模型,(好像還沒有打算要設計實驗要驗證)


Keynote: Information Theory and Visualization
沈漢威教授提出了將data視為Random Variable,然後由entropy來處理volum visualization的idea,Infovis應該是要儘可能的呈現多元資訊,所以在View的Selection可以考慮選擇entropy較大的來呈現。同時,因為可以用來呈現資料的資源有限,所以在高解析度時應該以"important"的來顯示,而如果解析度的高低呈現結果差不多時,用低解析度就可以了。QA時間時,有人提到independent跟dependent variable的問題,這好像也是另一個值得探討的issue。然後,歐陽明教授也提及了"美學"與人類的認知的問題,教授提到了朝"visual intelligence"發展也許是不錯的方向。

Session: Visualization Ⅱ

以立體視覺為基礎之多物件軌跡記錄系統
以3D方式紀錄多物件的軌跡取代傳統只紀錄2維座標的方式。

A Hierachical Streamline Construction Method
利用流線(有箭號)的方式取代傳統的色調強化圖表現颱風動向,可以更明顯的看出風向。

電腦斷層攝影於植牙時對金屬假影的處理
解決某些人有金屬假牙時在照射電腦斷層攝影中會有干擾的情況
(太多物理的器材我聽不懂了啦~"~)

刀具掃開體積的容積素化之快速計算法
模擬手術刀的使用,提供給醫生在手術前模擬手術情況評估
(關於數學部份我實在無法了解…)

Integrating the PSONN and Boltzmann Function for Feature Selection and Classification of Lymph Node in Ultrasoinc Images
完全在講作法…




補充1:晚上跟大家一起住汽車旅館時在床上看到的


補充2: 對於Visualization的解釋似乎是太新的領域以致於很多看起來應該是很偏VR、Vision的題目也全部被投到這個Session來了,讓我還滿疑惑的!不過也許是我看過的visualization的東西太少了吧…

補充3: 7/25下午的VisualizationⅡ的present很多都是只有講解他們怎麼作,而沒有說明為什麼要這樣做,讓在底下聽的我們很容易lost!

MA Reading Memo 7/23

Tag-based Social Interest Discovery (paper)
->證明user-generated tag比keyword 好用

目前在social network中 discover interests的方法:
 (1) user-centric: 從user的relation上找到common的object,如:facebook

 (2) object-centric: 從global的network中找到所有有common object,如:del.icio.us
 在object-centric中,relation的關係可能很弱或不明顯

資料來源:del.icio.us,430萬筆tag,20萬個user,140萬筆URL(過濾掉非英語及非HTML file的object)
分析發現:
1. [figure 1]大部份的url只會被少數人bookmark,只有少部份的URL比較popular
2. [figure 2]大部份的user很不主動(一般人僅有少於30個的bookmark)
3. [figure 3]user會選擇的tag有高度集中性(i.e.有Popular Tag)
4. [figure 4, 5] Tag 在過濾掉一些noise(ex. idf 太高的值)之後,可以的cover大部份的keyword
5. [figure 6] tag數量雖然會隨著bookmark此URL數量的增加而增加,但過一定數字後就會趨向一個穩定的數字
6. [figure 7] tag 可以cover document的比率,40%的網頁內容可以被tag完全cover(顯示大部份user還是傾向於從文章中取出相關字來做tag)
7. ISID(Internet social interest discovery) clustering:
對所有Post,找出裡面含有同樣topic(tag set)的user set 跟url set
8. [figure 9,10] 分別用tag 及keyword 來跑ISID clustering後的結果發現,用數量比較少的tag仍然可以有接近keyword的效果,所以顯示用tag來代替keyword search應該是make sense的!

Some Questions Dicussed Today
1. for figure 1,2,3 : the definition of the x-axis and y-axis is confused.
2. the definition of support in this paper is wrong. correct definition list belowed(referenced: wiki)

Association rule learning (link on wiki)
ex. 去超市買東西時:買了{洋蔥,馬鈴薯}→也會買{牛肉}

基本名詞定義:
Definition: X => Y , where X,Y包含於I and X∩Y = Φ
(Assume I = collection of n items, D = collection of m transactions)

SUPP(X) = X/m ,在m次transaction中,出現X狀況的機率
Conf(X=>Y) = SUPP(X∪Y)/SUPP(X) : Confidence, 在 X發生時,發生X∪Y的機率
lift(X=>Y) = SUPP(X∪Y) / [SUPP(X) * SUPP(Y)]
Conv(X=>Y) = [1-SUPP(Y)]/ [1-Conf(X=>Y)]

[flex] 設定LinkBar跟ToggleBar中中label的字型

參考網址: (link)

在flex 2中,設定linkbar的字型只需要使用如下的CSS:
LinkBar {
  fontWeight: normal;
}

但是同樣方法在flex 3中一直不work,找了好久才在adobe的bug report中找到
新版flex 設定方式如下:
LinkBar {
  linkButtonStyleName: regularFontWeight;
}
.regularFontWeight {
  fontWeight: normal;
}


也就是說多加一層的連結方式,在bar底下設定button對應的CSS style name,
大概是希望讓Bar跟Button的工作分得更清楚吧(不過我比較喜歡flex2的作法就是了:P)

MODBus Protocol

(1)OSI - 3 layer
(2)Master-slave protocol , not event-driven
(3)Advantage: Flexibility capability



Transmission Mode:
(1) Remote Terminal Unit(RTU): binary 表示
(2) ASCII: 將RTU模式中4位數字結合起來以ASCII儲存
ASCII的優點是可以接受大於1秒的delay(RTU不行),
但同樣的data在ASCII mode下整個message的長度會是RTU模式的2倍

Function code : 04 - read input register

7/20/2008

List

Vizster, UCINet, JUNG, GUESS, Prefuse, Pajek

Social Network Engine Comparison
http://en.wikipedia.org/wiki/Comparison_of_social_networking_software

Vizster



Vizster是一套專門用來呈現Social Network 的Visualization tool,其特色如下:
1. 用2D的Force Directed Layout 來表現Social Network,
2. 可以觀測egocentric的SN
3. 提供即時的群組分析(可以指定群組的大小),群組演算法 - Newman’s community identification algorithm
4. 提供搜尋功能,可以尋找特定Node或attribute
5. X-Ray Mode:呈現不同屬性的比較
6. Accessibilty:
(1) 標示出有相連的節點
(2) 找出任兩個節點相通的中繼點




Egocentric View



X- Ray Mode: 用節點的顏色呈現各節點同一屬性值的比較


Cluster - 自動分群,將同一群組以同色背景呈現


顯示任兩節點間的中繼點

Demo 影片:http://www.cs.berkeley.edu/~jheer/vizster/vizster.wmv

★My Comments

1. 一次只針對同一個attribute的比較
2. Cluster雖然可以動態的決定群組大小,但是一般user很難明確知道自己想要分的群組範圍,所   
 以必須把各個size都試過後才能決定
3. FDL沒有解決節點重疊的問題
4. 呈上,因為FDL位置的重疊 與 群組用底色呈現,導致有些節點在視覺上被誤判群組
5. 沒有解決 multi-group的問題

7/16/2008

flex 學習筆記(一) - MXML

MXML架構
與XML大致相同 -
1. 由一個root node開始:
2. 需要有完結的註記,如: 或是

NameSpace
跟C++、Java的name space 一樣,不過MXML 將使用的Name Space定義在
<NameSpace: ComponentName></NameSpace: ComponentName>
如果不寫的話表示使用預設的Name Space,也就是mx

Component:
幾乎都包含id這個attribute ,以達到data binding或用ActionScript控制目的,id的命名原則與一般變數命名原則相同

Event Handler
inline event handler ,如:<mx:button id="sampleButton" Click="處理的事件"/>

Data Binding
用{id_Name.attributeName}將某欄位的值與另一個component的值Bind住,
如:
<mx:Application>
<mx:TextInput id="input"/>
<mx:Text id="output" text="{input.text}"/>
</mx:Application>

7/13/2008

Watching Your Work

從 Social Media Research Blog 看到的
http://www.typepad.com/t/trackback/2871784/31192558


總是覺得自己的時間不知道為什麼就不見了嗎?試試用這支script看看平常的自己到底都在幹什麼吧!我猜我自己的一定就是在日劇跟笨版間不見的~>.<~







P.S. 它是用python寫的唷

7/11/2008

Flex免費學生版

消息來源:http://www.pcheadline.com/?p=1503

昨天在survey flex的資源的時候,赫然發現它居然提供"免費"教育版,幸好我還沒去辦離校手續,趕快把學生證照下來送過去試試!本來看網頁上的說明,還以為要等兩個星期才會有消息,沒想到剛剛居然收到通過信了!!!

而且我超訝異的,因為台大學生證上的註冊章記年是民國啊!我本來一直擔心上面的96會被它解讀成1996(OS:這樣也敢來騙序號?) ,而且台灣的學制,今年上半年的還算是去年的下學期,就算他知道96要再+1911才會換成2007,那還要知道"下"代表的是年份再加1啊!

所以要不是其實adobe檢查得很鬆散,要不然就是adobe真的很強大!
總之,大家趕快來申請吧,我覺得Flex真的很好玩呢!

註冊網址:http://www.flexregistration.com/

7/08/2008

Many eyes

http://services.alphaworks.ibm.com/manyeyes/app

Manyeyes提供了不同的visualization views, 讓使用者可以上傳檔案(檔案格式),建立自己的Visualizations。雖然現在網路上有很多類似的visualization tools,但是目前survey到的很少有整合這麼多visualizations。


這個網站是IBM實驗室的產物,所以他們也根據使用者上傳的資料型態,選擇的visualization tools…等做了個分析,投稿在2007 IEEE Infovis上[Many Eyes: A Site for Visualization at Internet Scale]。

Tag Cloud

On displaying Tag, there are some important issue should be noticed.

1. Relationship with other words
Ⅰ semantic relationship
ex. "Information Visualization" and "Graphics"
Ⅱ hierarchy structure
ex. "Computer Science" and "Information Visualization"

2. Importance to the user


For now on, I would like to treat these tags as an social network.
The nodes are tags themselves, and the edges are the relationship between tags.

To display the similar concept of words, My Coloring Algorithm would be used.
However, Making nodes to display in similar color cannot shows the hierarchical structure of words. It seems that combine Treemap and Node-Link network is a good choice.
(For example, wordle is an good example, although the vertical layout is difficult for reading)

View tag's importance in Node size is trivial, However, Node size is depand on font size and the string length. the former can be solved by assign different size to each words, the later is still unsolved.

7/05/2008

Social Network

最近幾天很努力的試了各家的Social Network
Social BookMarking: del.icio.us - lydianly
MicroBlog: Twitter - lydianly , Jaiku - lydian
Music: last.fm - lydianly
Others: FaceBook - Lydian Li, FriendFeed - Lydian

如果不去嘗試又怎麼能理解或明白自己想做的研究呢?
上面這句話是學長說的

自己試一試真的有這種感覺 :p

Anyway, If anyone who visited the blog have the same feeling, please add me as your friend ,Thanks!!

7/02/2008

Memo of Social Network

KeyTerms

CF
http://en.wikipedia.org/wiki/Collaborative_filtering

TFIDF
http://en.wikipedia.org/wiki/TFIDF

7/01/2008

Brief Memo of MA Reading 07/02

1. Baumann, S., Bassoli, A., Jung, B., & Wisniowski, M. (2007). BluetunA: Let Your Neighbour Know What Music You Like. Conference on Human Factors in Computing Systems (CHI '07) (pp. 1941-1946). San Jose, CA, USA: ACM.


  • Exchange music info via bluetooth
  • Instead of exchange music file, such as mp3, wma...
  • BlutetunA exchange Only playlist, favorite song list
  • "People may be glad to share those info to find someone near by to talk"
  • "less Private Issue" - No ID info.

→ I think that making a face-to-face talk is more offened @"@