一、scws
1、安装 scws
官网以及文档
https://github.com/hightman/scws
wget -q -O - http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2 | tar xjf -
cd scws-1.2.3
./configure --prefix=/usr/local/scws --enable-shared
make && make install
Libraries have been installed in: /usr/local/scws/lib
cli客户端
/usr/local/scws/bin/scws -h
用 wget 下载并解压词典,或从主页下载然后自行解压再将 *.xdb 放入 /usr/local/scws/etc 目录中。
cd /usr/local/scws/etc
wget http://www.xunsearch.com/scws/down/scws-dict-chs-utf8.tar.bz2
wget http://www.xunsearch.com/scws/down/scws-dict-chs-gbk.tar.bz2
tar xjf scws-dict-chs-utf8.tar.bz2
tar xjf scws-dict-chs-gbk.tar.bz2
2、golang调用scws
go get github.com/jk0011/goscws
package main
import (
"log"
"github.com/jk0011/goscws"
)
func main() {
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()
}
go run goscws.go
报错:error while loading shared libraries: libscws.so.1: cannot open shared object file: No such file or directory
解决:cp /usr/local/scws/lib/*scws* /usr/lib/
> go run goscws.go
2023/10/12 11:47:46 陈凯歌 11.87 nr
2023/10/12 11:47:46 并 0 c
2023/10/12 11:47:46 不是 4.74 v
2023/10/12 11:47:46 《 0 un
2023/10/12 11:47:46 无极 10.02 ns
2023/10/12 11:47:46 》 0 un
2023/10/12 11:47:46 的 0 uj
2023/10/12 11:47:46 唯一 4.9 b
2023/10/12 11:47:46 著作权人 6.07 n
2023/10/12 11:47:46 , 0 un
2023/10/12 11:47:46 一 0 m
2023/10/12 11:47:46 部 0 n
2023/10/12 11:47:46 电影 4.17 n
2023/10/12 11:47:46 的 0 uj
2023/10/12 11:47:46 整体 4.93 n
2023/10/12 11:47:46 版权 4.92 n
2023/10/12 11:47:46 归 0 v
2023/10/12 11:47:46 电影 4.17 n
2023/10/12 11:47:46 制片厂 8.38 n
2023/10/12 11:47:46 所有 4.72 v
2023/10/12 11:47:46 。 0 un
2、jieba
主要是两个库
github.com/yanyiwu/gojieba
github.com/wangbin/jiebago