WorksApplications/Sudachi

A Japanese Tokenizer for Business

Sudachi – 日语形态分析器

Sudachi 是一个用 Java 编写的开源日语分词器和形态分析器。它将日语文本拆分为词素,分配词性标签,并规范化输出(例如,处理变体拼写、文字转换和常见拼写错误)。该项目由 Works Applications Co., Ltd. 维护,并在 Apache 2.0 许可证下发布。

核心功能

  • 多长度分词 – 三种内置模式(A、B、C)允许您选择拆分的粒度,从最短的 UniDic 单位(A)到命名实体风格的块(C),以及中间粒度(B)。
  • 大型词典 – 词典基于 UniDic 和 NEologd 扩展构建,提供核心集以及可选的 small 和 full 词典,后者增加了更多专有名词。
  • 插件系统 – 您可以附加插件以修改输入规范化、处理词表外(OOV)单词、调整单词连接成本或对路径进行后处理(例如,人名纠正)。附带了几个现成的插件(字符大小写/宽度规范化、长音符号处理、读音假名移除等)。
  • 用户词典 – 可以在运行时添加自定义词典,而无需替换系统词典。
  • 命令行工具 – java -jar sudachi-XX.jar 可执行文件接受各种标志,用于词典选择、输出格式、分词模式和调试。
  • Java 库 – 相同的引擎可以通过 Maven(com.worksap.nlp:sudachi)以编程方式使用。Javadoc 提供了完整的 API。

典型用法(CLI)

# basic tokenisation (default core dictionary)
echo 東京都へ行く | java -jar sudachi-0.8.2.jar

# show dictionary form, reading, and extra metadata
echo 東京都へ行く | java -jar sudachi-0.8.2.jar -a

# select a specific dictionary
java -jar sudachi-0.8.2.jar -s '{"systemDict":"system_small.dic"}'

# choose segmentation mode
java -jar sudachi-0.8.2.jar -m C   # named‑entity style

集成点

  • Maven 依赖 – 将 sudachi 工件添加到 Java 项目中,并调用 API 进行即时分析。
  • Elasticsearch 插件 – 一个单独的仓库(elasticsearch-sudachi)允许您将 Sudachi 集成到 Elasticsearch 中,用于日语全文搜索。
  • 其他语言移植 – 相同的算法在 Python 和 Rust(sudachi.rs)中重新实现。

开发状态

  • 0.8.x 系列被标记为不稳定;补丁版本之间可能会出现破坏性更改,因此建议固定确切版本。
  • v0.8.2 引入了新的二进制词典格式(V1)。升级需要针对匹配的系统词典重建任何用户词典。
  • 作者列出的未来工作包括速度改进、更多插件、更丰富的拆分信息以及与同义词词典的集成。

许可证

Sudachi 在 Apache License 2.0 下发布,允许自由使用、修改和分发。


以上所有细节均直接取自仓库的 README。

相关

  • 项目
  • 项目
  • 项目
  • Dispatch
  • 项目