- 授权协议: MIT
- 开发语言: Google Go
- 操作系统: 跨平台
- 软件首页: https://github.com/zhengchun/cwsharp-go
- 软件文档: https://github.com/zhengchun/cwsharp-go
软件介绍
cwsharp-go
cwsharp-go是golang的文本分词包,支持中文、英文以及中英混合词组,除此之外,提供自定义分词的扩展(比如日文、韩文或其它语种)。
.NET版:CWSharp-C#
安装&测试
$ go get github.com/zhengchun/cwsharp-go
$ cd main
$ go run main.go Hello,World!你好,世界!
分词算法
cwsharp-go支持多种分词算法,你可以根据需求选择适合自己的或者自定义新的分词算法。
mmseg-tokenizer
标准的基于词典的分词方法。
tips: 建议使用单一实例,避免每次分词都需重新加载字典
tokenizer, err := cwsharp.New("../data/cwsharp.dawg") //加载字典
iter := tokenizer.Tokenize(strings.NewReader("Hello,world!你好,世界!"))
for tok, ok := iter(); ok; tok, ok = iter() {
fmt.Printf("%s/%s ", tok.Text, tok.Type)
}
>> hello/w ,/p world/w !/p 你好/w ,/p 世界/w !/p
bigram-tokenizer
二元分词方法,无需字典,速度快,支持完整的英文和数字切分。
iter := cwsharp.BigramTokenize(strings.NewReader("世界人民大团结万岁!"))
for token, ok := iter(); ok; token, ok = iter() {
fmt.Printf("%s/%s ", token.Text, token.Type)
}
>> 世界/w 界人/w 人民/w 民大/w 大团/w 团结/w 结万/w 万岁/w !/p
whitespace-tokenizer
标准的英文分词,无需字典,适合切分英文的内容,中文会被当做独立的字符输出。
iter := cwsharp.WhitespaceTokenize(strings.NewReader("Hello,world!你好!"))
for token, ok := iter(); ok; token, ok = iter() {
fmt.Printf("%s/%s ", token.Text, token.Type)
}
>> hello/w ,/p world/w !/p 你/w 好/w !/p
TokenizerFunc
TokenizerFunc是自定义分词的扩展接口帮助类,允许你自定义新的分词。
type TokenizerFunc func(io.Reader) Iterator
Java编程思想
[美] Bruce Eckel / 陈昊鹏、饶若楠 / 机械工业出版社 / 2005-9 / 95.00元
本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。 从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到......一起来看看 《Java编程思想》 这本书的介绍吧!
