Saturday, November 19, 2011

新辭典的時代

剛剛又看了一次 Erin McKean 在 2007 的演講,相當逗趣,也頗有洞見。其中有兩點我特別同意。一個是當詞彙被使用了,它就有生命,就是「real」。另外一點是,她提到的所謂 ham-butt problem。我們比較注意到我們要定義的對象,很少察覺到我們所藉以定義所需的工具及其限制,或演化。


她們團隊做的 Wordnik 計畫,也促成了我們做 CWM (Chinese Word Map) 的想法。雖然才剛開始,但是我想一個新辭典的時代已經來臨。



Monday, October 17, 2011

My two cents on Language Resources and Evaluation



趁著投稿 LREC 之際,以下跟大家分享我這一陣子的一些觀察與心得。

我個人覺得,我們對於語言資源未來可以投入的重點,跟幾個關鍵字有關:
混搭 (mashup)、個體化 (individualized)、與標記的多模組化 (multi-layered annotation)。
而相應的評測 (evaluation) 新趨勢,則與重製 (reproducible)、與人本 (humans-oriented) 導向有關。而這一切,都逃離不了大規模語料的處理工作,亦即,雲端儲存與運算環境(clouds)。

每個主題,都可以談出許多東西。特別是雲端概念下, BigTable 與 BigQuery 對於詞彙資源的影響,更是有趣。

先跟大家介紹一個最近我自己也在了解的的技術,叫做 Google Prediction API。
該網站 (http://code.google.com/intl/zh-TW/apis/predict/) 上有一個有趣的介紹影片可以參考。

我們可以把 Google Prediction API 想像成,雲端上的機器學習典範。基本的想法,不外乎餵給雲端機器大量的資料,經過 Google 內部的演算程序,訓練出一個model,能夠回答你的詢問。

那,有趣的地方在哪?

1. GPA 把整件事弄的比較容易,對於不關心機器演算法細節的語言研究者,可以把它當成是黑盒子。由成效與後續處理來決定其優劣。(你如果真要知道黑盒子裡有什麼,大概就是以下的綜合體 : 1. Sub-sample 2. Embarrassingly parallelize some algorithms 3. Distributed gradient descent 4. Majority Vote 5. Parameter mixture 6. Iterative parameter mixture

2. 訓練語料,真的可以是 TB 級的程度。這是小型 lab 之前都玩不起的實驗。

3. 他們發展出一個新特徵,叫做 stream training。亦即,你訓練出來的 model 可以有即時 (real-time) 的適應性,不需因為有新資料又要重新 retrain 一次你的 model。這相當適合於隨時都在變動的語言現象。

4. Google 除了自己提供 hosted models 讓人用,也塑造一個 prediction models 的網路市集。
你可以透過一個標記語言(PMML),與人交換(計費或免費)使用(又見混搭精神!),搭人肩,也讓人搭肩,產生槓桿作用。


其工作流程也很直觀。比方說,我們要做一個 sentiment tagging 的實驗。
把 training data (csv) 丟到 Google Cloud Storage (http://code.google.com/intl/zh-TW/apis/storage/)
(又一個神奇之物!)去。接下來的訓練與預測,如果你不想利用 python, ruby, r, javascript 等,你可以
直接用其 Google APIs Explorer 來下指令。That's it!  我們甚至可以做成一個 web 介面。

我下次 lab meeting 跟大家介紹一下流程,與剛剛弄的一個陽春介面,只訓練了 6 筆資料(真是太辜負它)


架構有了,應用何在?不是只有垃圾信過濾,只要是分類預測與迴歸,都可以。

除了語言研究,我想另一個有趣的影響,可能在於對於 AI 的定義。
我想傳統的典範,要通過圖林測試的努力,恐怕要有新的思考。
我覺得 AI 的可預見未來,是人機合體(非物理意義,而是計算意義),是智慧型代理人。
想像一下新的圖林測試:

你的代理人與你回答所有問題的答案都一樣,像是你喜歡的顏色,你碰到某種事件的反應、
你對於某些行為引發的情緒、你對政治候選人的偏好、決策等等。甚至你對於某些估算是錯誤的,它也算錯。因為可以把「你」做一個語料庫放到雲端去做 stream training。

屆時,「你」「我」是誰,是單數的嗎?


Wednesday, August 31, 2011

Data visualization around the globe


很慢,但是有應用潛力。


Saturday, July 23, 2011

[Grammatical Inference: Colin de la Higuera]: Notes

In Grammar Induction,  what really matters is the data and the relationship between the data and the induced grammar, whereas in Grammatical Inference the actual learning process is what is central and is being examined and measured, not just the result of the process. 


GraIn has been emerged as an independent field connecting bioinformatics, computational linguistics, formal language theory, machine learning and pattern recognition. GraIn is a task where the goal is to learn or infer a grammar (or some device that can generate, recognize or describe strings) for a language and from all sorts of information about this language.



Computational BioHanziology [1]

The basic elements in computational biology are strings or sequences describing DNA or proteins. A number of questions thus require the analysis of sets of strings and the extraction of (grammatical) rules and patterns.


所以如果我們把漢字轉換成生物序列,生物資訊與漢字資訊就可以變成交流學門。這也可以是 BioNLP 的一個新領域。


We are dealing with strings, trees and graphs. When dealing with strings, we typically manipulate a 4-letter alphabet {A,T,G,C} or a 20-letter alphabet if we intend to assemble the nucleotides 3 * 3 into amino-acids in order to define proteins. There are trees involved in the patterns or in the secondary structure, and even graphs in the tertiary structure. 



學習語言

「學習語言」是什麼意思?回答此問題,免不了必須先定義「語言」,或是比較方便一點去看,「語言」怎麼被「表達」(represent)出來。這樣想的話,我們有的一種重要的觀看素材,就是「語料」(linguistic data)。

觀看「語料」的一個形式角度,就是把語料看成是字串的組合學(stringology)。這樣下去,就可以再談「語言學習」的機制,或演算法是有哪些可能?

我覺得,從機器學習的角度,人類學習語言的方式與經驗固然值得參考,但是是不是最好的學語言的方式,就很難說。當然我們要先有對於學習的評測(evaluation)有合理的基準,或定義。(叉開說,我覺得絕大多數的討論,都跟定義、立場息息相關)

漢字系統是個很奇妙的東西。從一開始想,我就覺得很著迷,在博士論文中也試圖要解決。後來發現自不量力,這種有歷史深度的東西,沒有相應深厚的人文基礎與計算背景,只會對漢字學研究領域及其社會心理效應,帶來噪音與不安。這點跟佛法很像,它直指最深刻的宇宙人生基本道理,但是由功夫不到家的人去講述傳佈,反而造成「污名化」。其實,這也是合理的。那麼容易理悟,我們還在書堆中混什麼,對吧?

據說一萬小時可成專家,我應該要開始。

Monday, February 07, 2011

[JOKE] How you arrive at your conclusion

Holmes and Watson are on a camping trip. In the middle of the night Holmes wakes up and gives Dr. Watson a nudge. "Watson," he says, "look up in the sky and tell me what you see."

"I see millions of stars, Holmes," says Watson.
"And what do you conclude from that, Watson?"

Watson thinks for a moment. "Well", he says, "astronomically, it tells me that there are millions of galaxies and potentially billions of planets. Astrologically, I observe that Saturn is in Leo. Horologically, I deduce that the time is approximately a quarter past three. Meteorologically, I suspect that we will have a beautiful day tomorrow. Theologically, I see God is all-powerful, and we are small and insignificant. Uh, what does it tell you, Holmes?"

"Watson, you idiot! Someone has stolen our tent!"