词典用双数组trie(Double-ArrayTrie)实现, 分词器算法为基于词频的最短路径加动态规划。
支持普通和搜索引擎两种分词模式,支持用户词典、词性标注,可运行JSONRPC服务。
分词速度单线程9MB/s,goroutines并发42MB/s(8核MacbookPro)。
示例代码:
package mainimport ( "fmt" "github.com/huichen/sego")func main() { // 载入词典 var segmenter sego.Segmenter segmenter.LoadDictionary("github.com/huichen/sego/data/dictionary.txt") // 分词 text := []byte("中华人民共和国中央人民政府") segments := segmenter.Segment(text) // 处理分词结果 // 支持普通模式和搜索模式两种分词,见代码中SegmentsToString函数的注释。 fmt.Println(sego.SegmentsToString(segments, false)) }
评论