Hi! I’m clsung

Hi! I’m clsung

clsung’s blog site

Hi! I’m clsung RSS Feed
 
 
 
 

Posts tagged python

[Python] Natural Language Toolkit (NLTK) – Part I

對於自然語言處理有興趣的人一定要碰的 Natural Language Toolkit (NLTK) 是用 Python 寫的….

Python Modules Intro 20091123

神奇的 PyMOTW 模組…

PyLucene Win32 on googlecode

之前要相容地使用 Lucene 的 Index ,所以花了不上功夫在 FreeBSD 上玩 PyLucene

快快樂樂學 Python – 由 Ferret 與 PyLucene 談起

標題當然是假的,又不是天才,怎麼快快樂樂學 Python 。也不是要出書,只是不知道要下什麼標題。

事情由來是這樣的,我在 survey 在 FreeBSD 上可以 run 的 lucene 程式,原本中意的是 ferret(1) ,不過看了一下文件發現

  1. API 不相容
  2. 不能讀 dotLucene(2) 的 index ,其實意思就是跟原生的 Java lucene 不相容啦

基於上述兩個理由,我只好含淚斬 Ruby 了。不然上面那個標題就會是「快快樂樂學 Ruby」了。

Python 有個 PyLucene 可以用,而它其實有點接近原生版本的 Lucene ,因為

  1. API 大致相容,說大致是因為我才剛學,不敢保證
  2. 可以 access dotLucene 的 index file ,這很重要,敝實驗室的流派就是點點點(3)
  3. 它是用 gcj 編譯的,感覺會比 Java 快一點,而我也可以確定大部份的功能是相同的。籠統地說,算是 Lucene 的 Python-binding 。

不過說要學個語言不是那麼容易,雖然說比起英語德語加法語來說,學個程式語言比較起來容易太多了,可是沒有個入門文件也是不行的。上網一查「Python」,結果台灣陣亡,第一頁最有用的就是第一筆: Python 教學文件。這可以位在香港的,看來我以前沒學 Python 也不能怪自己,資源少的可憐的感覺,隨隨便便要找個論壇都還來個 404 。

有了入門文件,沒有個中文文件是不行的。在我安裝了 PyLucene 之後,發現要查找中文還真是不可能的任務。程式一 run 下去就來個

SyntaxError: Non-ASCII character xxx’ in file xxxx.py on line xx, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

的訊息,當然人家在 error message 都給了資料了,不去看一下也不對吧。所以,找出原因,只要在程式碼中加入

# -*- coding: utf-8 -*-

就沒事了。…當然不會就這樣沒事,結果你不找問題,問題還是會找上你:

UnicodeEncodeError: ‘ascii’ codec can’t encode character …..

這就糗大了,它又沒說要怎麼辦?只好再次求助 Google 了。結論是,在字串後面加上 .encode(『utf-8″) 就可以了。(現在大家都老大不小了,應該改用 utf-8 了吧)

當然在做 Text Processing 的人,少不了要用到 Regular Expression,那入門文件當然是沒有啦。目前我是正在看這裡,如果有人可以指點一二的,也麻煩告訴我一下吧。 :)

先就這樣吧,反正趁有點小空的時候來學學 Python 也不錯,希望以後可以快快樂樂啦。

Reference:

Technorati Tags: , , ,

  1. ruby 版的 lucene[back]
  2. dotNet 版的 lucene[back]
  3. 甚麼?不不不,我們不是兄弟象[back]

噗浪:

  • clsung 說 今天又是轉進日 11 小時 之前
  • clsung 說 來看班傑明... 22 小時 之前
  • clsung 說 今天的 HBL , 比今天的 CPBL 好看多了.... 絕對不是因為松山是母校我才這樣講.. 2010-03-20

分類

Flickr

    clsung. Get yours at bighugelabs.com/flickr

Blogroll

    馬的警總回來了