blog.Ring.idv.tw

2008 July

溫刀ㄟ「MacBook」~ 晉升「蘋果族」~ XD

這是今天由學校配發給我的「MacBook」~ 呵呵~ 這台「小白」的電池居然可以達到「六」小時耶~ 真棒~ 而且外型也蠻炫的~ 我喜歡 ^^v

其實當初我會選「Mac」主要的考量是在於平臺上的問題~ 因為畢竟我比較少用「Mac OS」~ 有時候如果要測跨平台程式的話就顯得很不方便~

所以今天拿到它馬上就給它裝了一堆東西… 像Firefox、Xcode、OpenVanilla、Eclipse、Python、MSN Messenger… 看我裝的東西就知道~ 它已經要變身成我的工作平臺了~ XDD

而且我週遭許多同事、朋友早就都用Mac嚕~ 嘿嘿~ 我來參與你們一腳了~ XDD

P.S. 感謝ted所提供的嘸蝦米for Mac教學 ^^ 尤其你一句「你要的我就快去生」~ 有你的相挺真是感動 T_T...

2008-07-31 00:09:19 | Comments (5)

IE8 Activity - Translate with Windows Live

今天在翻閱「Run!PC」雜誌時,看到一則「體驗IE8 Activity開發模式」的相關介紹~

然而.重點在於吸引我整個聚焦的關鍵就在於「Translate with Windows Live」,因為這和我目前在工研院內所從事的開發工作有些相關聯~ 至於細節暫且就無法透露~ 不過我們的計畫預計九月底或十月初會推出beta version,屆時大家就可以試用我們的研發成果~

OK, 來說說「IE8 Activity - Translate with Windows Live」~ 說實在的~ 我一看到這個功能時也有點驚訝~ 因為這樣的介面在輔助閱讀上已經可以節省很多的時間了~ 的確值得肯定,但.在輔助閱讀的可用性上面還有加強的空間(我個人認為)~ 舉個實際的例子:

從下述相關網頁的介紹來看~ 要運用「Translate with Windows Live」需要一些步驟~ 這裡就來分解一下~

步驟一:選取你想翻譯的文字。

步驟二:按右鍵,然後選「Translate with Windows Live」。

步驟三:接著跳出翻譯的小頁面。

想想看~ 如果這些步驟在看一篇不短的文章時,會有多煩人~

1.光是畫面的干擾就有「右鍵選單」和「翻譯頁面」,這兩個視窗絕對會造成在閱讀上的流暢度~

2.「點選滑鼠左鍵」然後「選取文字」接著「按右鍵」,最後選取「Translate with Windows Live」,光想像就覺得步驟太多~ 這還沒考慮到字型大小或間距等問題~

而我目前從事的計畫就是盡量改善使用者在閱讀上的流暢與否~ 至少我認為目前計畫的成果已經相較於「IE8 Activity - Translate with Windows Live」來的方便許多~ ^^,不多談了~ 期待它的beta版了~

相關網頁

IE8 Translation Activity

微軟 IE8 Beta 1功能簡介

IE8 Translation Activities

2008-07-30 00:13:11 | Comments (2)

Microsoft BrowseRank vs. Google PageRank

Microsoft tries to one-up Google PageRank.剛剛看到的一則消息~

文中主要描述微軟亞洲研究院在SIGIR'08 Conference發表了一篇名為「BrowseRank: Letting Web Users Vote for Page Importance」的論文~

論文中有提到一些Google PageRank演算法的毛病~ 譬如:我們可以惡意地建立許多連結到我們自身擁有的網站,以提高網站的PR值分數~ 而另一個則是它並沒有考慮到使用者在瀏覽其網站時所花費的時間~

所以這篇論文希望能以「User Behavior Data」來評估網站的重要性~ 舉一個例子:為何PageRank針對adobe官方網站的重要性有那麼高的PR值?因為許多網站都有提供Flash Player或Acrobat Reader的連結~ 但.並非代表人們常去瀏覽adobe網站~

那「User Behavior Data」該如何取得?論文提到兩種方式~ 一種是利用類似Web Server的Log file方式來取得,另一種則是安裝Browser plug-in來記錄~ 而記錄的類型主要分為「Input」(網址列輸入)和「Click」(超連結)~

至於論文中所提到的BrowseRank演算法細節~ 呃... 我就看嘸嚕... XDDD

不過不可抹滅的~ Google所為人稱道的PageRank演算法,仍然為全世界的網頁帶來重要性的排序~

可見微軟多麼地大力想要多吃點搜尋引擎市場~ 雖然還買不下Yahoo! Search,但至少已花了1億美元買下Powerset...

2008-07-25 21:25:11 | Add Comment

How to Write a Spelling Corrector in Python

最近忙著比賽的事項~ 所以有點久沒有來po文了~ XDD~

How to Write a Spelling Corrector.這是今天Lab所發出來的訊息~ 重點就在於「Spelling Corrector」拼字檢查器,就類似像Google所提供的功能~ 當我們拼字錯誤時,它能提供建議修正~ 詳細的演算法請參考上述網頁資源~

底下我加上一些小程式方便測試:

import re, collections

def words(text):
	return re.findall('[a-z]+', text.lower()) 

def train(features):
	model = collections.defaultdict(lambda: 1)

	for f in features:
		model[f] += 1

	return model

NWORDS = train(words(file('big.txt').read()))

alphabet = 'abcdefghijklmnopqrstuvwxyz'
def edits1(word):
	n = len(word)
	return set([word[0:i]+word[i+1:] for i in range(n)] +                     # deletion
	           [word[0:i]+word[i+1]+word[i]+word[i+2:] for i in range(n-1)] + # transposition
	           [word[0:i]+c+word[i+1:] for i in range(n) for c in alphabet] + # alteration
	           [word[0:i]+c+word[i:] for i in range(n+1) for c in alphabet])  # insertion

def known_edits2(word):    
	return set(e2 for e1 in edits1(word) for e2 in edits1(e1) if e2 in NWORDS)

def known(words): 
	return set(w for w in words if w in NWORDS)

def correct(word):    
	candidates = known([word]) or known(edits1(word)) or known_edits2(word) or [word]
	return max(candidates, key=lambda w: NWORDS[w])

if __name__ == "__main__":
	running = True
	while running:
		str = raw_input('Please input a word: ')
		if str == 'q':
			running = False
		else:
			print correct(str)
	else:
		print 'Done'

執行結果:(按Q離開程式)

C:\>corrector.py
Please input a word: speling
spelling
Please input a word: korrecter
corrected
Please input a word: q
Done

執行效率似乎還蠻快的~ 有空再來深入看看~ 不過我想是沒空了...... XD

原始檔下載(含索引檔)

2008-07-22 01:00:34 | Comments (2)

Windows平臺上玩Hadoop - Local Mode

由於學校下學期有門NLP課程要全程使用「Hadoop」來授課,為了開發方便~ 所以這裡介紹如何在Windows平臺上來玩Hadoop~

作業環境

.Windows XP Home Edition

Hadoop 0.17.1

JDK 6 Update 7

環境設置

.設定「JAVA_HOME」環境變數

.安裝Cygwin -- 可參考「如何安裝Cygwin

.設定「Cygwin/bin」至「PATH」環境變數

.將「hadoop-0.17.1.tar.gz」搬移至「C:\cygwin\home\家目錄」。

Hadoop設定

開始啟動「Cygwin」之後,先切換到「家目錄」解壓縮「hadoop-0.17.1.tar.gz」。

tar zxvf hadoop-0.17.1.tar.gz

執行Hadoop範例

這裡我們用一個簡單的「WordCount」來測試~

mkdir input
cd input
echo "hello world bye hello" > file1.txt
echo "hadoop hello goodbye hadoop" > file2.txt
cd..

然後執行下述指令:

bin/hadoop jar hadoop-0.17.1-examples.jar wordcount input output

看看結果吧~

cat output/*
bye     1
goodbye 1
hadoop  2
hello   3
world   1

相關資源

Hadoop/Windowsでの実行

Hadoop Quickstart

H_Yamaguchi日記

Running Hadoop on Windows

Running Hadoop On OS X 10.5 64-bit (Single-Node Cluster)

How to install OpenSSH sshd server and sftp server on a Windows 2000 or Windows XP or Windows Vista

Setting up a Single-Node Hadoop "Cluster" on Windows XP

2008-07-16 18:25:53 | Comments (13)

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

::: 搜尋 :::

::: 分類 :::

::: 最新文章 :::

::: 最新回應 :::

::: 訂閱 :::

Atom feed
Atom Comment