- 授权协议: 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
Web Caching
Duane Wessels / O'Reilly Media, Inc. / 2001-6 / 39.95美元
On the World Wide Web, speed and efficiency are vital. Users have little patience for slow web pages, while network administrators want to make the most of their available bandwidth. A properly design......一起来看看 《Web Caching》 这本书的介绍吧!
