gse Go 语言高效分词 项目简介
gseGo 语言高效分词, 支持英文、中文、日文等词典用双数组trie(Double-Array Trie)实现, 分词器算法为基于词频的最短路径加动态规划。支持普通和搜索引擎两种分词模式,支持用户词典、词性标注,可运行JSON RPC服务。分词速度单线程9MB/s,goroutines并发42MB/s(8核Macbook Pro)。安装/更新go get -u github.com/go-ego/gseBuild-toolsgo get -u github.com/go-ego/rere gseTo create a new gse application$ re gse my-gsere runTo 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))
}
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))
}