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 segmenter gse.Segmenter
segmenter.LoadDict()
// segmenter.LoadDict("your gopath"+"/src/github.com/go-ego/gse/data/dict/dictionary.txt")
// 分词
text := []byte("中华人民共和国**人民政府")
segments := segmenter.Segment(text)
// 处理分词结果
// 支持普通模式和搜索模式两种分词,见代码中ToString函数的注释。
fmt.Println(gse.ToString(segments, false))
}
Gse is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0), base on sego