yanyiwu / gojieba

"结巴"中文分词的Golang版本
MIT License
2.37k stars 300 forks source link

jieba.dict.utf8文件位置 #62

Open programdolt opened 4 years ago

programdolt commented 4 years ago

go build main.go 就直接可以吗,不用.so动态库?我在本机go build main.go ,然后执行没有问题, 如果二进制包换到其他机器,就无法启动。现在感觉是没有so文件的问题,或其他机器该路径下无此文件。 这个目录是固定的吗,如何自己指定文件位置呢,谢谢! /usr/local/gopath/pkg/mod/github.com/yanyiwu/gojieba@v1.1.0/dict/jieba.dict.utf8

mannixli commented 4 years ago

同遇到,deps/cppjieba/DictTrie.hpp:153 FATAL exp: [ifs.is_open()] false. open /home/build0/go/pkg/mod/github.com/yanyiwu/gojieba@v1.1.1/dict/jieba.dict.utf8 failed.

cnzf1 commented 4 years ago

我也遇到这个问题了,就是dict文件的问题,go默认是静态编译,所以一般情况下不用担心是否包含so的问题; 问题是需要可以自定义dict目录才行。

cnzf1 commented 4 years ago

我这样解决了: dictDir := path.Join(filepath.Dir(os.Args[0]), "dict") jiebaPath := path.Join(dictDir, "jieba.dict.utf8") hmmPath := path.Join(dictDir, "hmm_model.utf8") userPath := path.Join(dictDir, "user.dict.utf8") idfPath := path.Join(dictDir, "idf.utf8") stopPath := path.Join(dictDir, "stop_words.utf8") jieba = gojieba.NewJieba(jiebaPath, hmmPath, userPath, idfPath, stopPath)

somnmos commented 4 years ago

@cnjeffliu ,牛逼