看板 Soft_Job 關於我們 聯絡資訊
有沒有對語言有研究的大大,用過snowball這套演算法? 我們在做語言相關的研究,遇到一個很基本也很重要的問題 就是時態問題,過去式、原型、單複數... 為了簡化處理,希望能把動詞還原原型、複數還原單數 簡單的ed、s、ly之類的都還算好處理,沒有lib也可以自己算 網路上找了一陣,最多人討論的就是snowball的演算法,也有很多語言的lib 但是遇到y結尾的變化,他只是去ed而已 例如replied => repli,沒有還原成reply 但是我們系統資料庫通常是紀錄 reply,這樣就會match不到 但是像loving、loved這種又還原的很好成love 至於不規則變化,snowball看起來是完全不處理 想知道大家用snowball都是怎麼用的? 我們的狀況是會有很多單字的原型跟相關的資料 然後要對進來的資料mapping,給他相關資料 不論來的東西是原型、過去式、單複數,都要對的起來 或是我們也把自己的資料全部用snowball算一次存起來 然後進來的資料也用一樣的算法處理,再一路mapping回原本的資料 XD 還是乾脆自己建適合自己應用的表? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.136.180.153 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1535702600.A.5A3.html
EijiHoba: 如果使用資料庫儲存原型,第三人稱單數現在式,過去式,和 08/31 17:15
EijiHoba: 過去完成式的單字,這樣做會有哪些問題? 08/31 17:15
Yshuan: 有網路的話, 直接post給字典網站呢 08/31 18:11
oopFoo: 你已經有答案了。不然就要選dictionary的stemmer。如 09/01 00:43
oopFoo: hunspell 09/01 00:44
pyCassandra: stemming 09/01 10:15
asleepme: 請問樓上大大的stemming是一個專門的方法還是過程? 09/01 22:47
oopFoo: 你問的問題就叫stemming。 09/02 07:38
oopFoo: stemmer就是處理stemming的程式。 09/02 07:38
oopFoo: snowball應該是用porter的algorithm來處理stemming. 09/02 07:39
oopFoo: 你想要處理irregular word。如feet, foot, mice, mouse 09/02 07:40
oopFoo: 就要用dictionary-based 的stemmer。 09/02 07:40
oopFoo: 你自己最後一段其實就是最好的解決方法。自己的mapping。 09/02 07:42