igo-rs
Pure Rust port of the Igo, a POS(Part-Of-Speech) tagger for Japanese.
The original version was written in Java.
Japanese follows the English
Requirement
- Binary dictionary files built with original version (You can download prebuilt dictionary from here)
Demo
% cp -r somewhere/original_java_igo/dic/ipadic data
% cargo build --release
% ./target/release/igo -t "すもももももももものうち" data/ipadic
すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ
EOS
Usage (as library)
extern crate igo;
use PathBuf;
use Tagger;
License
The MIT License.
概要
Takeru Ohta氏がJavaで書いた日本語形態素解析ライブラリ Igo をRustに移植したものです。
特徴
- pure Rustなので、Windows等でも実行環境を整えやすい
- unsafe な処理を使用していない
必要なもの
- Java版Igoで構築したバイナリ辞書(ディレクトリごと) (ここ から構築済のIPA辞書をダウンロード出来ます)
使い方
コマンドラインプログラムとして、またはライブラリとして使用可能です。 上の Demo と Usage を見てください。
注意事項
- debugビルドではかなり遅いので、処理速度についてはreleaseビルドで評価してください。
- 高速化の為、処理結果
igo::Morpheme
は 処理対象テキストとigo::Tagger
への参照を保持しています。surface
は処理対象テキストのスライスであり、feature
は辞書内テキストのスライスです。 必要に応じてsurface.to_string()
等の処理をしてください。
今後の予定
- バイナリ辞書の構築機能も移植