Go 语言高效分词, 支持英文、中文、日文等
词典用双数组 trie ( Double-Array Trie )实现, 分词器算法为基于词频的最短路径加动态规划。v0.30.0 版本主要新增了 DAG 和 HMM (Viterbi) 算法分词, 新增 API 基本和结巴分词保持一致.
支持普通、搜索引擎、全模式、精确模式和 HMM 模式多种分词模式,支持用户词典、词性标注,可运行 JSON RPC 服务。
项目地址: https://github.com/go-ego/gse
package main
import (
"fmt"
"github.com/go-ego/gse"
)
func main() {
var seg gse.Segmenter
seg.LoadDict()
text1 := "你好世界, Hello world"
fmt.Println(seg.Cut(text1, true))
}
See Commits for more details, after Oct 9.
1
yanaraika 2019-01-24 07:56:48 +08:00 via Android
其实一直不懂为啥中文分词库一直停留在 hmm 的 level 能不能来个这几年的研究结果和 hmm 性能比较
|
4
wbrobot 2019-01-24 09:13:30 +08:00
和 sego 谁抄谁?
|
5
vway OP @wbrobot 总有有些人不看项目的 License, 一部分基于 sego ( 当时 2 年没维护了, 功能不完善有 BUG, 才开的新项目 ), 你可以说抄了 Python 的 jieba
|
6
wbrobot 2019-01-24 10:01:10 +08:00
那就来个 readme 找不同。。。
https://github.com/huichen/sego https://github.com/go-ego/gse/blob/master/README_zh.md 奇怪,用代码就用代码,连测试都不自己跑一下,数据直接用人家的? |
8
vway OP @wbrobot 有什么奇怪的? 你说的那个 readme 的数字, 有很多功能要实现, 还没更新 readme, 还以为你说的的字典数据呢
|
9
iRiven 2019-01-24 10:14:29 +08:00 via Android
已 star
|
11
lyc1116 2019-01-24 13:15:53 +08:00
@yanaraika 算法从 HMM,CRF 到深度神经网络,切分的查准和召回率都有小幅提升。但是对分词器切分性能影响最大的还是要有一份好的语料或者词典。
|
12
yanaraika 2019-01-24 14:58:48 +08:00
@lyc1116 不知道有没有人用词嵌入之类的技术做分词,现在的分词器遇到新词就歇菜了,需要频繁维护 dict 相当麻烦
|