blog.Ring.idv.tw

Articles

Hadoop經驗談 - Facebook

上圖就是年僅24歲(May 14, 1984)Facebook的創辦人「Mark Zuckerberg」~ XD

Facebook.採用了Hadoop來作為後端整個分散式平行處理的Framework~

它們用了將近2,500個CPU核心~ 如果以Dual Core的CPU來計算的話~ 那他們光是電腦硬體設備就有1,250多台~ 儲存空間也多達1PB(PetaByte)~ 遠比Wikia.com的125台多了整整十倍~ 不過還是比Yahoo!少~ Yahoo!將近有10,000台(2007)~ 而我家只有... 3台~ 那A差那麼多~ ^^a 因為革命尚未成功啦~ XD

有興趣的朋友來看看這篇由Facebook的工程師「Joydeep」寫的Hadoop分享文~ Engineering @ Facebook's Notes - Hadoop

Doug Cutting真是偉大~ ^^b

2008-06-08 18:13:15 | Add Comment

Web Scraping for CKIP中文斷詞系統

自然語言處理的研究領域中,「Word Segmentation(斷詞)」是一個相當重要的技術,舉個英文的例子來說:

I like to play baseball.

斷詞後的結果:

I」、「like」、「to」、「play」、「baseball

因為英文字句中的各個單字之間都有著「空隔」來區隔,但中文呢?卻毫無如此的規則可循~

所以利用詞庫的方式是一種解決方案~ 這裡介紹利用「中研院-CKIP中文斷詞系統」來協助我們進行中文的斷詞工作~

雖然你也可以在「中研院-CKIP中文斷詞系統」申請使用~ 不過需要自行撰寫相關的Socket程式並剖析XML資料~

所以本文提供使用Web Scraping的方式來達成~

CKIP.php

<?php
/**
 * Date: 2008/06/06
 * Shen(http://blog.ring.idv.tw)
 */
require_once "HttpClient.php";
class CKIP
{
	private $param = "";
	private $body = "";

	function __construct(){}
	public function setParam($param)
	{
		$this->param = $param;
	}	
	public function doQuery()
	{
		if($this->param != "")
		{
			$uri = "http://mt.iis.sinica.edu.tw/cgi-bin/text.cgi";
			$data = array('query' => $this->param);
			$body = HttpClient::quickPost($uri, $data);

			$regex = '/URL=\'(.*)\'\">/Us';
			preg_match($regex,$body,$match);
			$redirect = "http://mt.iis.sinica.edu.tw/" . $match[1];
			$body = HttpClient::quickGet($redirect);
	
			$regex = '/HREF=(.*)>/Us';
			preg_match($regex,$body,$match);
			$filename = str_replace(".txt", ".tag.txt", $match[1]);
			$redirect = "http://mt.iis.sinica.edu.tw/uwextract/pool/" . $filename;
			$this->body = HttpClient::quickGet($redirect);

			return true;
		}
		return false;
	}
	public function getBody()
	{
		return $this->body;
	}
}
?>

Demo

<?php
require_once "CKIP.php";
$ckip = new CKIP();
$ckip->setParam("這個東西不錯吃!");
$ckip->doQuery();
$body = $ckip->getBody();
$body = iconv("Big5","UTF-8",$body);
echo $body;
?>

2008-06-06 19:40:32 | Comments (3)

我家的三朵雲運算 - Hadoop

上面這張圖是我親愛的指導老師「游耿能」老師幫我要到的三台伺服器~ 讓我得以玩「Hadoop」~ ^^v

感謝老師呀!~ 您總是那麼的支持我!!! T_T 感動...

雖然只有三台~ 不過~ 對我來說夠了~ 三台就很了不起了~

上個月就已經在學校將Hadoop的整個環境給它架設起來~

不過有個問題... 我根據Hadoop官網的「Quickstart」教學來跑一個範例~ 可是每次在執行時總會停在「reduce」階段就不動了... 有沒有人也在玩的~ 大家交流一下吧~

找個時間再來研究一下~ 這對於Inverted Index的產出效率可是有非常大的幫助 ^^b

2008-06-02 20:34:52 | Comments (8)

站長被「脅迫」放置正妹交友訊息~ XD

昨天被自稱「正妹」的表妹要脅放置她的公開交友資訊在我的Blog上~ XD

如果有符合「乾淨整齊有上進心性格上誠實外貌順眼就好」等條件的紳仕們~ 麻煩與我聯絡~ XD

這位「正妹」目前在「Yahoo!」的相關企業工作(今年會被Yahoo併購)~ 她從事「美編企劃」的工作~ 有意者麻煩請洽站長~ XDDDD

如果我博班沒上的話~ 我就去和妳一起工作~ 哈哈! ^^v (誰叫我的偶像在Yahoo!呢~)

上圖就是和這位「正妹」去「京都浪漫明治館」用餐的美食~ 真的還挺美味的! ^^

價位上還算平價~ 一個日式豬排定食「130元」~ 不需要服務費~ 從早上11點營業至晚上十點~

下午和這位「正妹」跑去「竹北」打棒球、玩投籃機~

由於我有段時間沒有打棒球了~ 一開始挑戰「100km」居然只打到「1」球~ 哇哩咧~ 信心嚴重受損~ 退而求其次~ 來打個「慢壘」好了~

結果~ 更慘~ 連一球都沒打到~ XDDDD 退步也未免太多了吧~

只好轉向去投個籃好了~ 結果還是一樣慘慘慘~ 第一次連「50」分都不到... 實在是太誇張了~ 果然是太久沒運動了~ 還好第二次就恢復正常許多~

不過臨走之前~ 我還是不死心~ 再去挑戰「100km」的棒球~ 調整一下打擊姿勢~ 嘿嘿~ 總算打到了十幾球~ 哈~ 地點:竹北市-大聯盟棒球廣場

回到新竹後又給它跑去「Starbucks」休息一下(這位「正妹」喜歡去Starbucks)~ 喝杯咖啡~

其實我想喝的是「冰沙」呵~ 手、腰有夠酸的啦~ 總計揮棒「72次」外加投籃「三局」... 當然要給它從內在「冰敷」一下~ 哈哈~

來新竹的第一個禮拜天就是和這位「正妹」到處去逛逛~ 感覺新竹比台中小~ 不過從新竹到竹北感覺還蠻近的~ 有點像是從台中火車站騎到逢甲的距離~ 都還蠻快的~ 有很多的「頂好wellcome」、「頂呱呱」~ 這是在台中不常見的~ 新竹的馬路也挺寬的~ 不會很擁擠~

2008-06-02 13:14:47 | Comments (9)

BUEditor - A plain textarea editor for Drupal

BUEditor.是一個Internet文字編輯工具~ 頂頂大名的「Drupal」(content management platform)就是採用它來當做線上的文字編輯工具~

由於工作上有需要「自行開發」一個類似的工具~ 加上剛好同事在玩「Drupal」~ 我不小心發覺「Drupal」的線上文字編輯工具其實蠻不錯用的~

所以... 我的工作來了~ 就是去trace「Drupal」的這個編輯工具是怎麼寫的~ XD

在trace的過程之中~ 發現Drupal是採用「BUEditor」來達成的~ 這下子範圍就縮小了一點~

我直接去下載「BUEditor」整個原始碼來看~

呵~ 其實最重要的核心文字編輯莫過於下面這幾行程式了~ 呼~ 今天有點收獲~ ^^

相關工具

FCKeditor - the text editor for internet

相關資源

Enable tabbing inside textarea - roScripts

2008-05-27 16:01:45 | Comments (5)

Next Posts~:::~Previous Posts
Copyright (C) Ching-Shen Chen. All rights reserved.

::: 搜尋 :::

::: 分類 :::

::: 最新文章 :::

::: 最新回應 :::

::: 訂閱 :::

Atom feed
Atom Comment