Golang Go语言 Gse v0.30.0 发布了, 高性能分词增加 hmm 支持
Golang Go语言 Gse v0.30.0 发布了, 高性能分词增加 hmm 支持
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))
}
Rhine River
Add
- [NEW] Add HMM cut support
- [NEW] Add go mod support and remove dep files
- [NEW] Add find word in dictionary func
- [NEW] Add Cut(), CutAll(), CutSearch(), LoadModel(), HMMCut() func
- [NEW] Add hmm cut test code
- [NEW] Add hmm cut example code
Update
- [NEW] Cutting the dict method, move load dictionary to dict_util.go
- [NEW] Update example and Add more test
- [NEW] Update and clean utils code
- [NEW] Simplify test code, add equal benchmark code
- [NEW] Update pkg cedar code
- [NEW] Update code style
- [NEW] Update README.md [ Format README.mdand Update example ]
Fix
- [FIX] Fixed and clean issue template
- [FIX] Update README.md [ update and fixed example ]
See Commits for more details, after Oct 9.
更多关于Golang Go语言 Gse v0.30.0 发布了, 高性能分词增加 hmm 支持的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
其实一直不懂为啥中文分词库一直停留在 hmm 的 level 能不能来个这几年的研究结果和 hmm 性能比较
更多关于Golang Go语言 Gse v0.30.0 发布了, 高性能分词增加 hmm 支持的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
刚实现对 hmm 的支持, 后面对比其他库和优化, 应该比起其他库, 性能不会低
还提供了最短路径、动态规划和 DAG 分词
总有有些人不看项目的 License, 一部分基于 sego ( 当时 2 年没维护了, 功能不完善有 BUG, 才开的新项目 ), 你可以说抄了 Python 的 jieba
有什么奇怪的? 你说的那个 readme 的数字, 有很多功能要实现, 还没更新 readme, 还以为你说的的字典数据呢
感谢, 🤝
算法从 HMM,CRF 到深度神经网络,切分的查准和召回率都有小幅提升。但是对分词器切分性能影响最大的还是要有一份好的语料或者词典。
不知道有没有人用词嵌入之类的技术做分词,现在的分词器遇到新词就歇菜了,需要频繁维护 dict 相当麻烦
词嵌入的前提不就是分词?感觉想鸡生蛋的问题啊
是的, 目前的算法要完全解决新词, 只能维护模型和字典
语料库、模型和词典主要影响新词和准确度, 要完全准确, 只能更新模型和字典; jieba 用的 hmm, pkuseg 是 CRF , 算法都差不多; 准确度看语料库、模型和字典, 性能关键还是看代码实现、实现的语言和字典树算法等这些
词库和模型的规模和结构, 匹配选词的实现技术, 也严重的影响了分词速度; 但代码实现更重要, 除了准确和速度还要考虑内存占用和维护等
针对“Golang Go语言 Gse v0.30.0 发布了,高性能分词增加 hmm 支持”的帖子,作为IT领域Go语言方面的专家,以下是我的回复:
Gse v0.30.0的发布标志着Go语言在自然语言处理(NLP)领域的一大进步。这款基于Go语言开发的高性能分词工具,不仅支持中文、英文和日文等多种语言处理,还通过不断的技术更新,提升了其分词效率和准确性。
此次更新的核心亮点在于增加了HMM(隐马尔可夫模型)支持。HMM作为一种统计模型,在NLP领域有着广泛的应用,特别是在词性标注、命名实体识别等任务中表现出色。Gse通过集成HMM算法,进一步优化了分词效果,使得分词结果更加准确自然。
此外,Gse v0.30.0还保留了其原有的优势特性,如采用双数组Trie数据结构构建词典,运用基于词频的最短路径算法结合动态规划技术实现精准分词,以及支持多种分词模式和自定义词典等。这些特性共同构成了Gse强大的分词能力,使其在处理大规模文本数据时能够保持高效运作。
综上所述,Gse v0.30.0的发布为Go语言NLP领域注入了新的活力,其高性能分词和增加的HMM支持将为用户带来更加准确、高效的分词体验。