
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Kagome是一款用纯Go编写的开源日语形态分析器,核心功能是对日语文本进行分词和词性标注。其词典(如MeCab-IPADIC、UniDic等)和统计模型可嵌入二进制文件中,无需额外依赖库,便于部署。相比v1版本,v2将词典维护在独立仓库,支持按需嵌入,并优化了API设计,提供更灵活的使用方式。
Kagome支持多种主流日语词典,可根据需求选择嵌入:
| 词典类型 | 来源版本 | 对应包地址 |
|---|---|---|
| MeCab IPADIC | mecab-ipadic-2.7.0-20070801 | https://github.com/ikawaha/kagome-dict/tree/master/ipa |
| UniDic | unidic-mecab-2.1.2_src | https://github.com/ikawaha/kagome-dict/tree/master/uni |
实验性词典(需单独集成):
| 词典类型 | 来源版本 | 对应包地址 |
|---|---|---|
| mecab-ipadic-NEologd | mecab-ipadic-neologd | https://github.com/ikawaha/kagome-dict-ipa-neologd |
| 韩语MeCab | mecab-ko-dic-2.1.1-20180720 | https://github.com/ikawaha/kagome-dict-ko |
提供三种分词模式以适应不同场景,类似Kuromoji的分词策略:
| 模式 | 描述 |
|---|---|
| 普通(Normal) | 常规分词,适合标准文本处理 |
| 搜索(Search) | 采用启发式算法进行额外分词,提升搜索场景下的召回率 |
| 扩展(Extended) | 在搜索模式基础上,对未知词进行单字符分词,适合细粒度文本分析 |
分词效果对比:
| 未分词文本 | 普通模式输出 | 搜索模式输出 | 扩展模式输出 |
|---|---|---|---|
| 関西国際空港 | 関西国際空港 | 関西 国際 空港 | 関西 国際 空港 |
| 日本経済新聞 | 日本経済新聞 | 日本 経済 新聞 | 日本 経済 新聞 |
| シニアソフトウェアエンジニア | シニアソフトウェアエンジニア | シニア ソフトウェア エンジニア | シニア ソフトウェア エンジニア |
| デジカメを買った | デジカメ を 買っ た | デジカメ を 買っ た | デ ジ カ メ を 買っ た |
从Docker Hub拉取官方镜像:
bashdocker pull ikawaha/kagome
1. 交互式分词(默认tokenize命令)
直接运行容器进行交互式分词(默认使用IPA词典和普通模式):
bashdocker run -it --rm ikawaha/kagome
输入日语文本后回车,即可获得分词结果:
すもももももももものうち すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ の 助詞,連体化,*,*,*,*,の,ノ,ノ うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ EOS
2. 指定分词模式和词典
使用搜索模式和UniDic词典分析文本:
bashdocker run -it --rm ikawaha/kagome tokenize -mode search -sysdict uni
3. 启动HTTP分词服务
启动后台服务(默认端口6060),通过API提供分词功能:
bashdocker run -d -p 6060:6060 --name kagome-server ikawaha/kagome server
通过curl调用API(需指定sentence和mode参数):
bashcurl -X PUT http://localhost:6060/tokenize -d '{"sentence":"日本経済新聞", "mode":"search"}'
返回JSON格式分词结果:
json{ "tokens": [ {"surface":"日本","features":["名詞","固有名詞","地域","国","*","*","日本","ニッポン","ニッポン"]}, {"surface":"経済","features":["名詞","一般","*","*","*","*","経済","ケイザイ","ケイザイ"]}, {"surface":"新聞","features":["名詞","一般","*","*","*","*","新聞","シンブン","シンブン"]} ] }
4. 批量处理文件
挂载本地文件到容器,对文件内容进行分词:
bash# 准备本地输入文件input.txt docker run -it --rm -v $(pwd)/input.txt:/data/input.txt ikawaha/kagome tokenize -file /data/input.txt
tokenize命令(默认命令)
| 参数 | 类型 | 描述 | 默认值 |
|---|---|---|---|
| -file | string | 输入文件路径(为空时进入交互式模式) | 空 |
| -dict | string | 自定义词典文件路径(覆盖系统词典) | 空 |
| -userdict | string | 用户词典文件路径(补充系统词典) | 空 |
| -sysdict | string | 系统词典类型,可选ipa或uni | ipa |
| -simple | bool | 是否仅显示表面分词结果(不显示词性等详细特征) | false |
| -mode | string | 分词模式,可选normal、search或extended | normal |
示例:使用用户词典并简化输出:
bashdocker run -it --rm -v $(pwd)/user.dic:/data/user.dic ikawaha/kagome tokenize -userdict /data/user.dic -simple true
server命令
启动HTTP服务,支持通过API调用分词功能,主要参数:
| 参数 | 类型 | 描述 | 默认值 |
|---|---|---|---|
| -port | int | 服务监听端口 | 6060 |
| -host | string | 服务绑定地址 | 0.0.0.0 |
示例:指定端口启动服务:
bashdocker run -d -p 8080:8080 ikawaha/kagome server -port 8080
lattice命令
生成分词过程的可视化文件(Graphviz dot格式):
bashdocker run -it --rm ikawaha/kagome lattice "私は鰻" > lattice.dot # 需本地安装graphviz以生成图片 dot -Tpng lattice.dot -o lattice.png
创建docker-compose.yml部署Kagome服务:
yamlversion: '3' services: kagome: image: ikawaha/kagome container_name: kagome-service ports: - "6060:6060" command: server -port 6060 # 启动HTTP服务 volumes: - ./user.dic:/app/user.dic # 挂载用户词典(可选) restart: unless-stopped
启动服务:
bashdocker-compose up -d
MIT许可证
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。





来自真实用户的反馈,见证轩辕镜像的优质服务