go中文分词包 cwsharp-go

码农软件 · 软件分类 · 中文分词库 · 2019-08-28 20:26:38

软件介绍

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

本文地址:https://www.codercto.com/soft/d/13382.html

Web Caching

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》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换