Kagome是一个用纯Go语言编写的开源日语形态素分析器。
可以将MeCab-IPADIC、UniDic(unidic-mecab)等词典/统计模型嵌入二进制文件中。
词典 | 来源 | 包 |
---|---|---|
MeCab IPADIC | mecab-ipadic-2.7.0-20070801 | github.com/ikawaha/kagome-dict/ipa |
UniDIC | unidic-mecab-2.1.2_src | github.com/ikawaha/kagome-dict/uni |
注 意:IPADIC是MeCab所谓的"标准词典",其特点是能比UniDIC更直观地分割形态单位。相比之下,UniDIC将短语分解成更小的示例句子单位,以创建全文搜索的元数据。更多详情,请参阅wiki。
实验性功能
词典 | 来源 | 包 |
---|---|---|
mecab-ipadic-NEologd | mecab-ipadic-neologd | github.com/ikawaha/kagome-ipa-neologd |
Korean MeCab | mecab-ko-dic-2.1.1-20180720 | github.com/ikawaha/kagome-dict-ko |
Kagome具有类似Kuromoji的搜索分词模式。
未分词 | 普通 | 搜索 | 扩展 |
---|---|---|---|
関西国際空港 | 関西国際空港 | 関西 国際 空港 | 関西 国際 空港 |
日本経済新聞 | 日本経済新聞 | 日本 経済 新聞 | 日本 経済 新聞 |
シニアソフトウェアエンジニア | シニアソフトウェアエンジニア | シニア ソフトウェア エンジニア | シニア ソフトウェア エンジニア |
デジカメを買った | デジカメ を 買っ た | デジカメ を 買っ た | デ ジ カ メ を 買っ た |
package main import ( "fmt" "strings" "github.com/ikawaha/kagome-dict/ipa" "github.com/ikawaha/kagome/v2/tokenizer" ) func main() { t, err := tokenizer.New(ipa.Dict(), tokenizer.OmitBosEos()) if err != nil { panic(err) } // 分词 fmt.Println("---分词---") seg := t.Wakati("すももももも ももものうち") fmt.Println(seg) // 标记化 fmt.Println("---标记化---") tokens := t.Tokenize("すもももももももものうち") for _, token := range tokens { features := strings.Join(token.Features(), ",") fmt.Printf("%s\t%v\n", token.Surface, features) } }
输出:
---分词--- [すもも も もも も もも の うち] ---标记化--- すもも 名词,一般,*,*,*,*,すもも,スモモ,スモモ も 助词,系助词,*,*,*,*,も,モ,モ もも 名词,一般,*,*,*,*,もも,モモ,モモ も 助词,系助词,*,*,*,*,も,モ,モ もも 名词,一般,*,*,*,*,もも,モモ,モモ の 助词,连体化,*,*,*,*,の,ノ,ノ うち 名词,非自立,副词可能,*,*,*,うち,ウチ,ウチ
Go
go install github.com/ikawaha/kagome/v2@latest
Homebrew
# macOS和Linux(适用于AMD64和ARM64) brew install ikawaha/kagome/kagome
Docker
手动安装
$ kagome -h 日语形态素分析器 -- github.com/ikawaha/kagome/v2 用法:kagome <命令> 可用命令: [tokenize] - 命令行标记化(*默认) server - 运行标记化服务器 lattice - 格子查看器 sentence - 简单句子分割器 version - 显示版本 tokenize [-file 输入文件] [-dict 词典文件] [-userdict 用户词典文件] [-sysdict (ipa|uni)] [-simple false] [-mode (normal|search|extended)] [-split] [-json] -dict string 词典 -file string 输入文件 -json 以JSON格式输出 -mode string 标记化模式(normal|search|extended)(默认为"normal") -simple 显示简化的词典内容 -split 使用简单句子分割器 -sysdict string 系统词典类型(ipa|uni)(默认为"ipa") -udict string 用户词典
% # 交互式/REPL模式 % kagome すもももももももものうち すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ の 助詞,連体化,*,*,*,*,の,ノ,ノ うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ EOS
% # 通过管道输入标准输入 echo "すもももももももものうち" | kagome すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ も 助詞,係助詞,*,*,*,*,も,モ,モ