【Github】项目名:yanyiwu/gojieba:”结巴”中文分词的Golang版本
项目简介
GoJieba是“结巴”中文分词的Golang语言版本。它支持多种分词方式,包括最大概率模式、HMM新词发现模式、搜索引擎模式、全模式。其核心算法底层由C++实现,性能高效,字典路径可配置,并且NewJieba和NewExtractor可变形参,当参数为空时使用默认词典(推荐方式)。
用法示例
以下是一个简单的用法示例:
package main import ( "fmt" "strings" "github.com/yanyiwu/gojieba" ) fun main() { var s string var words []string use_hmm := true x := gojieba.NewJieba() defer x.Free() s = "我来到北京清华大学" words = x.CutAll(s) fmt.Println(s) fmt.Println("全模式:", strings.Join(words, "/")) words = x.Cut(s, use_hmm) fmt.Println(s) fmt.Println("精确模式:", strings.Join(words, "/")) s = "比特币" words = x.Cut(s, use_hmm) fmt.Println(s) fmt.Println("精确模式:", strings.Join(words, "/")) x.AddWord("比特币") s = "比特币" words = x.Cut(s, use_hmm) fmt.Println(s) fmt.Println("添加词典后,精确模式:", strings.Join(words, "/")) s = "他来到了网易杭研大厦" words = x.Cut(s, use_hmm) fmt.Println(s) fmt.Println("新词识别:", strings.Join(words, "/")) s = "小明硕士毕业于中国科学院计算所,后在日本京都大学深造" words = x.CutForSearch(s, use_hmm) fmt.Println(s) fmt.Println("搜索引擎模式:", strings.Join(words, "/")) s = "长春市长春药店" words = x.Tag(s) fmt.Println(s) fmt.Println("词性标注:", strings.Join(words, ",")) s = "区块链" words = x.Tag(s) fmt.Println(s) fmt.Println("词性标注:", strings.Join(words, ",")) s = "长江大桥" words = x.CutForSearch(s,!use_hmm) fmt.Println(s) fmt.Println("搜索引擎模式:", strings.Join(words, "/")) wordinfos := x.Tokenize(s, gojieba.SearchMode,!use_hmm) fmt.Println(s) fmt.Println("Tokenize:(搜索引擎模式)", wordinfos) wordinfos = x.Tokenize(s, gojieba.DefaultMode,!use_hmm) fmt.Println(s) fmt.Println("Tokenize:(默认模式)", wordinfos) keywords := x.ExtractWithWeight(s, 5) fmt.Println("Extract:", keywords) }
项目总结
yanyiwu/gojieba这个项目为Golang提供了一个有效的中文分词工具,它有着多种实用的功能和灵活的配置方式。欢迎大家留言讨论关于这个项目的任何想法或者使用过程中遇到的问题。
项目地址
数据统计
数据评估
本站链氪巴士提供的yanyiwu/gojieba:”结巴”中文分词的Golang版本都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由链氪巴士实际控制,在2024年12月6日 上午12:00收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,链氪巴士不承担任何责任。
相关导航
Bluesky Social application is available on Web, iOS, and Android. It is a React Native app written in TypeScript with some Golang code. Part of the ATProtocol ecosystem, it has its own set of schemas and APIs. Contributions are accepted with specific rules. Security issues can be reported via email. It is an open - source project under the MIT license. This app offers an alternative in the social media landscape and has its own development and contribution guidelines.