2009年4月9日 星期四

[技術]Chinese Segmentation

英語系可直接使用opennlp(http://opennlp.sourceforge.net/projects.html)或MIT WordNet,中文部份因為文字連結特性,比較封閉,但長期經驗是大陸比台灣進步且開放.列出一些專案.

  1. Stanford NLP Chinese Parser,JAVA,Open Source,能分析詞性,但RAM需求驚人,字典資料是簡體且舊阻礙使用.
  2. 中研院ckip系統,C,要錢所以找不到,應該能分析詞性,RAM不清楚,繁體.
  3. 竹子系統 http://code.google.com/p/nlpbamboo/ ,C,Open Source,能分析詞性,RAM不清楚,簡體,因為使用C語言關係不想使
    用.
  4. http://blog.jianingy.com/index.php?q=content/bamboo
  5. 大陸國家科學院,C 不過有各種語言接口,算Open吧,能分析詞性,RAM不清楚,簡體,因為使用C語言關係不想使用.

退而求其次,使用簡單長詞優先法則,這就有很多

  1. HIWALL:裡面包括人名辨識和提取,目前是以這個為主
  2. PAODING:結構清楚

未來如果要抽取出規則或是意義,不太能指望現有軟體,其實語言的演化很難精確掌握,例如究竟是斷詞還是斷辭呢,都有人用,大家也越來越不在乎,新的語法不斷出現,特定規則只能當作參考,況且我需要功能也不用太精確,只要加入部分規則即可,例如

  1. 規則引擎SRL http://code.google.com/p/srl-editor/
  2. colibri http://code.google.com/p/colibri-java/,是種很大的架構,目前還不太清楚用法

另一個主題是ENTRY辨識,這個太專業啦

  1. STANFORD NLP有個專案 有CODE
  2. http://code.google.com/p/thebeast/ 有CODE
  3. http://code.google.com/p/whatswrong/ 有CODE
  4. http://yooname.wordpress.com/ 沒有CODE

SRL,筆記.

  1. 文件 文件分成文句,文句經過LUCENE的分詞方式存入LUCENE系統
  2. 規則及文字 Word lists,利如月份包括了一月 二月 三月 四月 等等,季節包括了春 夏 秋 冬 目前是寫在檔案中,會讀入記憶體 現有設計是放入LUCENE中 Rules 有一條是[季節][月份],看看是不是符合 getMatch(SrlDocument,boolean) 其實這和以往程式很類似,只是規則部分變成固定的TEMPLATE. 很像MIT open mind程式
  3. 整個組合由PROJECT合併進行,文句透過PROCESS向RULES重複詢問是否符合
  4. 用肉眼觀察範例,就可辨識出常見規則 (來去)(相約)去[地方][做什麼] ex 去[十八尖山][玩] 去[十八尖山][登山] 去[十八尖山][外拍] 到[地方][做什麼] [地方][做什麼](記) [地方](之)[設施或活動] ex [十八尖山][步道] [十八尖山][賞花月] [十八尖山][花季] [地方]素有[其他名稱]之稱 ex [十八尖山]素有[新竹陽明山]之稱 (介紹)[地方]的[特性] ex [十八尖山]的[自然生態]
    碰上[地方]有[活動]活動 ex 碰上[十八尖山]有[賞花月]活動 [活動]活動在[地方] ex [看海月]活動首場在[南十八尖山] 好久沒到十八尖山了 十八尖山賞花去 美麗的十八尖山 十八尖山 這裡真的很漂亮 香蕉灣裡的童話故事 我愛香蕉灣 決定至水社碼頭附近用餐可是分析出規則之後呢?例如知道十八尖山可以[登山][健行]..,裡面有[步道][賞花月]...不過這些是我們想知道的嗎?要先想一想

沒有留言:

張貼留言