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

2017-11-16 20:58:28 +08:00
 vway

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 segmenter gse.Segmenter
	segmenter.LoadDict()
	// segmenter.LoadDict("your gopath"+"/src/github.com/go-ego/gse/data/dict/dictionary.txt")

	// 分词
	text := []byte("中华人民共和国中央人民政府")
	segments := segmenter.Segment(text)
  
	// 处理分词结果
	// 支持普通模式和搜索模式两种分词,见代码中 ToString 函数的注释。
	fmt.Println(gse.ToString(segments, false)) 

	text1 := []byte("深圳地王大厦")
	segments1 := seg.Segment([]byte(text1))
	fmt.Println(gse.ToString(segments1, false)) 
}

项目地址: https://github.com/go-ego/gse

6657 次点击
所在节点    程序员
31 条回复
xrlin
2017-11-16 21:33:07 +08:00
支持,希望 go 的生态发展得越来越好
dobelee
2017-11-16 21:36:40 +08:00
这个和结巴比如何?
cheneydog
2017-11-16 21:39:29 +08:00
需要词库么?
vway
2017-11-17 01:22:01 +08:00
@xrlin 感谢
vway
2017-11-17 01:22:27 +08:00
@cheneydog 需要词库
vway
2017-11-17 01:23:39 +08:00
@dobelee c++绑定的 gojieba? 纯 go, 性能差不多, 比 Python 版好很多
secsilm
2017-11-17 08:17:15 +08:00
@vway 比 Python 版本好在哪?
qsnow6
2017-11-17 09:08:25 +08:00
@secsilm 干嘛非要比,不同环境下的工具
picone
2017-11-17 10:37:04 +08:00
我就说怎么这么熟悉,简介文案都一模一样
https://github.com/huichen/sego
picone
2017-11-17 10:38:17 +08:00
麻烦楼主尊重一下别人开源,fork 一下别人的代码呗,至少也写一下出处,我看到多处代码都一样
windyboy
2017-11-17 10:48:53 +08:00
楼主居然敢无视世界上最大的同性交友站的威力
thinkItThrough
2017-11-17 10:53:59 +08:00
wtf ?
vway
2017-11-17 11:16:26 +08:00
@picone 请看底部
vway
2017-11-17 11:17:57 +08:00
@picone 你有认真看介绍和 License,没看就不要乱说
vway
2017-11-17 11:18:18 +08:00
@thinkItThrough 有病?
vway
2017-11-17 11:18:31 +08:00
@windyboy ???
vway
2017-11-17 11:20:07 +08:00
@picone 没写出处?
vway
2017-11-17 11:25:20 +08:00
@picone github 和 License 中写了,你都没看项目,就不要瞎喷
vway
2017-11-17 11:26:03 +08:00
@qsnow6 是的
vway
2017-11-17 11:34:18 +08:00
@windyboy 没有登,🤭,作者不维护,才开的新分支

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/407050

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX