必要なもの
mecab-rs
rust-mecab を試してみたのですが、動かなかったため、mecab-rs を使うことにしました。
cargoで入れる事ができます。
cargo.toml
./cargo.toml
[dependencies.mecab]
git = "https://github.com/tsurai/mecab-rs"
依存関係
# for ubuntu
sudo apt-get install -y mecab
sudo apt-get install -y mecab-ipadic-utf8
sudo apt-get install -y libmecab-dev
コード
./example/mecab.rs
extern crate mecab;
use mecab::Node;
use mecab::Tagger;
fn main () {
let mecab: Tagger = mecab::Tagger::new("");
let input = "今日はいい天気";
println!("input: {}", input);
let mut node: mecab::Node = mecab.parse_to_node(&input);
println!("output :");
loop {
match node.next() {
Some(n) => {
println!("{}", n.surface);
node = n;
}
None => break
}
}
}
実行
cargo test && ./target/debug/examples/mecab
注意点
- mac と ubuntuで動作テストを行いましたが、macではうまく動きませんでした。(「Illegal instruction: 4」エラーが発生)