Skip to content

jk0011/goscws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

golang goscws中文分词

scws是一个很好的中文分词库,由于项目中用到scws分词但go语言没有很好用的绑定,于是就自己 写了goscws,并且他支持协程分词。

例子:

根据 SendText 设定的文本内容,返回一系列切好的词汇

	gs := goscws.NewScws()
	gs.SetCharset("utf8")
	err := gs.SetDict("/usr/local/scws/etc/dict.utf8.xdb", goscws.SCWS_XDICT_MEM)
	if err != nil {
		log.Println(err)
	}
	err = gs.SetRule("/usr/local/scws/etc/rules.utf8.ini")
	if err != nil {
		log.Println(err)
	}
	err = gs.SetIgnore(0)
	if err != nil {
		log.Println(err)
	}
	text := []byte(`陈凯歌并不是《无极》的唯一著作权人,一部电影的整体版权归电影制片厂所有。`)
	gs.SendText(text, len(text))
	for  res := gs.GetResult(); res != nil;  res = gs.GetResult() {
			log.Println(string(res.Word), res.Idf, string(res.Attr))
	}
	gs.DeleteScws()

根据 SendText 设定的文本内容,返回系统计算出来的最关键词汇列表

	gs := goscws.NewScws()
	gs.SetCharset("utf8")
	err := gs.SetDict("/usr/local/scws/etc/dict.utf8.xdb", goscws.SCWS_XDICT_MEM)
	if err != nil {
		log.Println(err)
	}
	err = gs.SetRule("/usr/local/scws/etc/rules.utf8.ini")
	if err != nil {
		log.Println(err)
	}
	err = gs.SetIgnore(0)
	if err != nil {
		log.Println(err)
	}
	text := []byte(`陈凯歌并不是《无极》的唯一著作权人,一部电影的整体版权归电影制片厂所有。`)
	gs.SendText(text, len(text))
	for res := gs.GetTops(); res != nil; res = gs.GetTops() {
		log.Println(string(res.Word), res.Weight, res.Times,
			string(res.Attr))
	}
	gs.DeleteScws()

根据SendText 设定的文本内容,返回系统中词性符合要求的关键词汇

gs := goscws.NewScws()
	gs.SetCharset("utf8")
	err := gs.SetDict("/usr/local/scws/etc/dict.utf8.xdb", goscws.SCWS_XDICT_MEM)
	if err != nil {
		log.Println(err)
	}
	err = gs.SetRule("/usr/local/scws/etc/rules.utf8.ini")
	if err != nil {
		log.Println(err)
	}
	err = gs.SetIgnore(0)
	if err != nil {
		log.Println(err)
	}
	text := []byte(`陈凯歌并不是《无极》的唯一著作权人,一部电影的整体版权归电影制片厂所有。`)
	gs.SendText(text, len(text))
	for res := gs.GetWords([]byte("n")); res != nil; res = gs.GetWords(
		[]byte("n")) {
		log.Println(string(res.Word), res.Weight, res.Times,
			string(res.Attr))
	}
	gs.DeleteScws()

License MIT

最后喜欢的同学请给个start支持,不喜欢的也给个start表示表示😁

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages