SEARU.ORG
当前位置:SEARU.ORG > Linux 软件 > 正文

Go中文分词 Sego

词典用双数组trie(Double-Array Trie)实现, 分词器算法为基于词频的最短路径加动态规划。

支持普通和搜索引擎两种分词模式,支持用户词典、词性标注,可运行JSON RPC服务

分词速度单线程9MB/s,goroutines并发42MB/s(8核Macbook Pro)。

示例代码:

package main

import (
    "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)) 
}

未经允许不得转载:SEARU.ORG » Go中文分词 Sego

赞 (0)
分享到:更多 ()

评论 0