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。

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


No comments:

Post a Comment