sudachi.rs - 中文说明
2023-12-14 更新: 0.6.8 发布
尝试一下:
pip install --upgrade 'sudachipy>=0.6.8'
sudachi.rs 是Sudachi的Rust实现,Sudachi是一个日语形态分析器。
简介
$ git clone https://github.com/WorksApplications/sudachi.rs.git
$ cd ./sudachi.rs
$ cargo build --release
$ cargo install --path sudachi-cli/
$ ./fetch_dictionary.sh
$ echo "高輪ゲートウェイ駅" | sudachi
高輪ゲートウェイ駅 名詞,固有名詞,一般,*,*,* 高輪ゲートウェイ駅
EOS
示例
多粒度分词
$ echo 選挙管理委員会 | sudachi
選挙管理委員会 名詞,固有名詞,一般,*,*,* 選挙管理委員会
EOS
$ echo 選挙管理委員会 | sudachi --mode A
選挙 名詞,普通名詞,サ変可能,*,*,* 選挙
管理 名詞,普通名詞,サ変可能,*,*,* 管理
委員 名詞,普通名詞,一般,*,*,* 委員
会 名詞,普通名詞,一般,*,*,* 会
EOS
标准化形式
$ echo 打込む かつ丼 附属 vintage | sudachi
打込む 動詞,一般,*,*,五段-マ行,終止形-一般 打ち込む
空白,*,*,*,*,*
かつ丼 名詞,普通名詞,一般,*,*,* カツ丼
空白,*,*,*,*,*
附属 名詞,普通名詞,サ変可能,*,*,* 付属
空白,*,*,*,*,*
vintage 名詞,普通名詞,一般,*,*,* ビンテージ
EOS
分词(空格分隔的表层形式)输出
$ cat lemon.txt
えたいの知れない不吉な塊が私の心を始終圧えつけていた。
焦躁と言おうか、嫌悪と言おうか――酒を飲んだあとに宿酔があるように、酒を毎日飲んでいると宿酔に相当した時期がやって来る。
それが来たのだ。これはちょっといけなかった。
$ sudachi --wakati lemon.txt
えたい の 知れ ない 不吉 な 塊 が 私 の 心 を 始終 圧え つけ て い た 。
焦躁 と 言おう か 、 嫌悪 と 言おう か ― ― 酒 を 飲ん だ あと に 宿酔 が ある よう に 、 酒 を 毎日 飲ん で いる と 宿酔 に 相当 し た 時期 が やっ て 来る 。
それ が 来 た の だ 。 これ は ちょっと いけ なかっ た 。
设置
你需要sudachi.rs、默认插件和一个词典。(此crate不包含词典。)
1. 获取源代码
$ git clone https://github.com/WorksApplications/sudachi.rs.git
2. 下载Sudachi词典
Sudachi需要一个词典来运行。
你可以从WorksApplications/SudachiDict下载一个词典ZIP文件(从small
、core
或full
中选择一个),解压它,并将system_*.dic
文件放在某个地方。
根据默认设置文件,sudachi.rs假定它位于resources/system.dic
。
便捷脚本
或者,你可以使用fetch_dictionary.sh
shell脚本来下载词典并将其安装到resources/system.dic
。
$ ./fetch_dictionary.sh
3. 构建
$ cargo build --release
构建(将词典烘焙到二进制文件中)
这个功能目前未实现,无法使用,详见 https://github.com/WorksApplications/sudachi.rs/issues/35
指定bake_dictionary
特性将词典嵌入二进制文件中。
sudachi
可执行文件将包含词典二进制文件。
如果没有通过cli选项或设置文件指定词典,将使用烘焙的词典。
在构建时,你必须在SUDACHI_DICT_PATH
环境变量中指定词典文件的路径。
SUDACHI_DICT_PATH
相对于sudachi.rs目录(或绝对路径)。
Unix类系统的示例:
# 下载词典到resources/system.dic
$ ./fetch_dictionary.sh
# 使用bake_dictionary特性构建(相对路径)
$ env SUDACHI_DICT_PATH=resources/system.dic cargo build --release --features bake_dictionary
# 或者
# 使用bake_dictionary特性构建(绝对路径)
$ env SUDACHI_DICT_PATH=/path/to/my-sudachi.dic cargo build --release --features bake_dictionary
4. 安装
sudachi.rs/ $ cargo install --path sudachi-cli/
$ which sudachi
/Users/<USER>/.cargo/bin/sudachi
$ sudachi -h
sudachi 0.6.0
一个日语分词器
...
作为命令使用
$ sudachi -h
一个日语分词器
用法: sudachi [选项] [文件] [命令]
命令:
build
构建系统词典
ubuild
构建用户词典
dump
help
打印此消息或给定子命令的帮助
参数:
[文件]
输入文本文件:如果未提供,从标准输入读取
选项:
-r, --config-file <配置文件>
JSON格式的设置文件路径
-p, --resource_dir <资源目录>
资源根目录的路径
-m, --mode <模式>
分割单位:"A"(短)、"B"(中)或"C"(命名实体)[默认:C]
-o, --output <输出文件>
输出文本文件:如果未指定,则使用标准输出
-a, --all
打印所有字段
-w, --wakati
仅输出表层形式
-d, --debug
调试模式:打印调试信息
-l, --dict <词典路径>
Sudachi词典的路径。如果未指定,将参考配置文件,然后使用内置词典
--split-sentences <分割句子>
如何分割句子 [默认:是]
-h, --help
打印帮助信息(使用'--help'查看更多)
-V, --version
打印版本信息
输出:
列用制表符分隔。
- 表层形式
- 词性标签(逗号分隔)
- 规范化形式
当添加 -a(--all)标志时,还会额外输出:
- 词典形式
- 读音形式
- 词典ID
- 0 表示系统词典
- 1 及以上表示用户词典
- -1 表示词语不在词典中(未登录词)
- 同义词组ID
- (OOV) 如果词语不在词典中(未登录词)
```bash
$ echo "外国人参政权" | sudachi -a
外国人参政权 名词,普通名词,一般,*,*,* 外国人参政权 外国人参政权 ガイコクジンサンセイケン 0 []
EOS
echo "阿quei" | sudachipy -a
阿 名词,普通名词,一般,*,*,* 阿 阿 -1 [] (OOV)
quei 名词,普通名词,一般,*,*,* quei quei -1 [] (OOV)
EOS
当添加 -w(--wakati)标志时,它会输出以空格分隔的表层形式。
$ echo "外国人参政权" | sudachi -m A -w
外国 人 参政 权
待办事项:
- 未登录词处理
- 简易词典文件安装和管理,类似于SudachiPy
- 注册到crates.io
参考资料:
Sudachi
- WorksApplications/Sudachi
- WorksApplications/SudachiDict
- WorksApplications/SudachiPy
- msnoigrs/gosudachi