cwsharp-go是golang的文本分词包,支持中文、英文以及中英混合词组,除此之外,提供自定义分词的扩展(比如日文、韩文或其它语种)。
.NET版:CWSharp-C#
安装&测试$gogetgithub.com/zhengchun/cwsharp-go$cdmain$gorunmain.goHello,World!你好,世界!分词算法cwsharp-go支持多种分词算法,你可以根据需求选择适合自己的或者自定义新的分词算法。
mmseg-tokenizer标准的基于词典的分词方法。
tips:建议使用单一实例,避免每次分词都需重新加载字典
tokenizer,err:=cwsharp.New("../data/cwsharp.dawg")//加载字典iter:=tokenizer.Tokenize(strings.NewReader("Hello,world!你好,世界!"))fortok,ok:=iter();ok;tok,ok=iter(){fmt.Printf("%s/%s",tok.Text,tok.Type)}>>hello/w,/pworld/w!/p你好/w,/p世界/w!/pbigram-tokenizer二元分词方法,无需字典,速度快,支持完整的英文和数字切分。
iter:=cwsharp.BigramTokenize(strings.NewReader("世界人民大团结万岁!"))fortoken,ok:=iter();ok;token,ok=iter(){fmt.Printf("%s/%s",token.Text,token.Type)}>>世界/w界人/w人民/w民大/w大团/w团结/w结万/w万岁/w!/pwhitespace-tokenizer标准的英文分词,无需字典,适合切分英文的内容,中文会被当做独立的字符输出。
iter:=cwsharp.WhitespaceTokenize(strings.NewReader("Hello,world!你好!"))fortoken,ok:=iter();ok;token,ok=iter(){fmt.Printf("%s/%s",token.Text,token.Type)}>>hello/w,/pworld/w!/p你/w好/w!/pTokenizerFuncTokenizerFunc是自定义分词的扩展接口帮助类,允许你自定义新的分词。typeTokenizerFuncfunc(io.Reader)Iterator
评论