GoJieba是Jieba分词(结巴中文分词)的Golang语言版本分词库。
简介
支持多种分词方式,包括:最大概率模式,HMM新词发现模式,搜索引擎模式,全模式
核心算法底层由C++实现,性能高效。
字典路径可配置,NewJieba(...string),NewExtractor(...string)可变形参,当参数为空时使用默认词典(推荐方式)
用法
gogetgithub.com/yanyiwu/gojieba分词示例
packagemainimport("fmt""strings""github.com/yanyiwu/gojieba")funcmain(){varsstringvarwords[]stringuse_hmm:=truex:=gojieba.NewJieba()deferx.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)}我来到北京清华大学全模式:我/来到/北京/清华/清华大学/华大/大学我来到北京清华大学精确模式:我/来到/北京/清华大学比特币精确模式:比特/币比特币添加词典后,精确模式:比特币他来到了网易杭研大厦新词识别:他/来到/了/网易/杭研/大厦小明硕士毕业于中国科学院计算所,后在日本京都大学深造搜索引擎模式:小明/硕士/毕业/于/中国/科学/学院/科学院/中国科学院/计算/计算所/,/后/在/日本/京都/大学/日本京都大学/深造长春市长春药店词性标注:长春市/ns,长春/ns,药店/n区块链词性标注:区块链/nz长江大桥搜索引擎模式:长江/大桥/长江大桥长江大桥Tokenize:[{长江06}{大桥612}{长江大桥012}]Seeexamplein jieba_test, extractor_test
评论