Go 语言高效分词, 支持英文、中文、日文等
词典用双数组trie(Double- Array Trie)实现, 分词器算法为基于词频的最短路径加动态规划。
支持普通和搜索引擎两种分词模式,支持用户词典、词性标注,可运行JSON RPC服务。
分词速度单线程9MB/s,goroutines并发42MB/s(8核Macbook Pro)。
go get -u github.com/go-ego/gse
go get -u github.com/go-ego/re
To create a new gse application
$ re gse my-gse
To run the application we just created, you can navigate to the application folder and execute:
$ cd my-gse && re run
package main import ( "fmt" "github.com/go-ego/gse" ) func main() { // 载入词典 var seg gse.Segmenter seg.LoadDict() // seg.LoadDict("your gopath"+"/src/github.com/go-ego/gse/data/dict/dictionary.txt") // 分词 text := "我在大雨刚停的夜晚" // 使用 hmm 模式 gse.Cut(text, true) gse.CutAll(text) // 使用搜索模式 gse.CutSearch(text, true) // 处理分词结果 // 支持普通模式和搜索模式两种分词,见代码中 ToString 函数的注释。 fmt.Println(gse.String([]byte(text), false)) }