gse - Go 语言高效分词


Apache
跨平台
Google Go

软件简介

gse

Go 语言高效分词, 支持英文、中文、日文等

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

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

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

安装/更新

go get -u github.com/go-ego/gse

Build-tools

go get -u github.com/go-ego/re

re gse

To create a new gse application

$ re gse my-gse

re run

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)) 
}