Categorygithub.com/huichen/sego
modulepackage
0.0.0-20210824061530-c87651ea5c76
Repository: https://github.com/huichen/sego.git
Documentation: pkg.go.dev

# README

sego

Go中文分词

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

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

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

安装/更新

go get -u github.com/huichen/sego

使用

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

# Packages

No description provided by the author
No description provided by the author

# Functions

No description provided by the author
No description provided by the author
No description provided by the author
输出分词结果为字符串 有两种输出模式,以"中华人民共和国"为例 普通模式(searchMode=false)输出一个分词"中华人民共和国/ns " 搜索模式(searchMode=true) 输出普通模式的再细致切分: "中华/nz 人民/n 共和/nz 共和国/ns 人民共和国/nt 中华人民共和国/ns " 搜索模式主要用于给搜索引擎提供尽可能多的关键字,详情请见Token结构体的注释。.

# Structs

Dictionary结构体实现了一个字串前缀树,一个分词可能出现在叶子节点也有可能出现在非叶节点.
文本中的一个分词.
分词器结构体.
一个分词.

# Type aliases

字串类型,可以用来表达 1.