golang goscws中文分詞
來源:互聯網
上載者:User
## golang goscws中文分詞 scws是一個很好的中文分詞庫,由於項目中用到scws分詞但go語言沒有很好用的綁定,於是就自己寫了goscws,並且他支援協程分詞。## 例子:根據 SendText 設定的常值內容,返回一系列切好的詞彙```gs := goscws.NewScws()gs.SetCharset("utf8")err := gs.SetDict("/usr/local/scws/etc/dict.utf8.xdb", goscws.SCWS_XDICT_MEM)if err != nil {log.Println(err)}err = gs.SetRule("/usr/local/scws/etc/rules.utf8.ini")if err != nil {log.Println(err)}err = gs.SetIgnore(0)if err != nil {log.Println(err)}text := []byte(`陳凱歌並不是《無極》的唯一著作權人,一部電影的整體著作權歸電影製片廠所有。`)gs.SendText(text, len(text))for res := gs.GetResult(); res != nil; res = gs.GetResult() {log.Println(string(res.Word), res.Idf, string(res.Attr))}gs.DeleteScws()```根據 SendText 設定的常值內容,返回系統計算出來的最關鍵詞彙列表```gs := goscws.NewScws()gs.SetCharset("utf8")err := gs.SetDict("/usr/local/scws/etc/dict.utf8.xdb", goscws.SCWS_XDICT_MEM)if err != nil {log.Println(err)}err = gs.SetRule("/usr/local/scws/etc/rules.utf8.ini")if err != nil {log.Println(err)}err = gs.SetIgnore(0)if err != nil {log.Println(err)}text := []byte(`陳凱歌並不是《無極》的唯一著作權人,一部電影的整體著作權歸電影製片廠所有。`)gs.SendText(text, len(text))for res := gs.GetTops(); res != nil; res = gs.GetTops() {log.Println(string(res.Word), res.Weight, res.Times,string(res.Attr))}gs.DeleteScws()```根據SendText 設定的常值內容,返回系統中詞性符合要求的關鍵詞彙```gs := goscws.NewScws()gs.SetCharset("utf8")err := gs.SetDict("/usr/local/scws/etc/dict.utf8.xdb", goscws.SCWS_XDICT_MEM)if err != nil {log.Println(err)}err = gs.SetRule("/usr/local/scws/etc/rules.utf8.ini")if err != nil {log.Println(err)}err = gs.SetIgnore(0)if err != nil {log.Println(err)}text := []byte(`陳凱歌並不是《無極》的唯一著作權人,一部電影的整體著作權歸電影製片廠所有。`)gs.SendText(text, len(text))for res := gs.GetWords([]byte("n")); res != nil; res = gs.GetWords([]byte("n")) {log.Println(string(res.Word), res.Weight, res.Times,string(res.Attr))}gs.DeleteScws()```#### License [MIT](https://github.com/geeeeeeeeek/electronic-wechat/blob/master/LICENSE.md)最後喜歡的同學請給個start支援,不喜歡的也給個start表示表示80 次點擊