機能 ショートカットキー
リファレンス(参考URL)一覧へ移動 R
記事URLをMarkDownとしてコピー Ctrl+M
前のコードタグへ移動 Ctrl+←
次のコードタグへ移動 Ctrl+→
ヘルプを表示・非表示 H
Tips
- ショートカットキーは記事上で有効です。ヘッダー/フッター付近では機能しないことがあります。
- コードタグ移動機能がうまく動かないときは、Shift+F5でページを更新してみてください。
- このウィンドウを閉じるには、Hキーをもう一度押してください

Ubuntu Rubyでmecabを使えるようにする

プログラミング

「mecab」は、日本語の形態素解析エンジンです。
これを、UbuntuでRubyを使って動かします。

# Rubyでmecabを使うためのgem
sudo gem install natto

# mecab関連
sudo apt update && sudo apt install -y mecab libmecab-dev mecab-ipadic-utf8

# mecab_pathを指定しないとエラーになる。
export MECAB_PATH=/usr/lib/libmecab.so.2

とりあえずmecab本体を確認。

echo '何故空は青いの?' | mecab
何故    副詞,助詞類接続,*,*,*,*,何故,ナゼ,ナゼ
空      名詞,一般,*,*,*,*,空,ソラ,ソラ
は      助詞,係助詞,*,*,*,*,は,ハ,ワ
青い    形容詞,自立,*,*,形容詞・アウオ段,基本形,青い,アオイ,アオイ
の      助詞,終助詞,*,*,*,*,の,ノ,ノ
?      記号,一般,*,*,*,*,?,?,?
EOS

文字化けもしていない。おk。

mecab -P | grep config-charset
#=> config-charset: UTF-8

ちゃんとUTF-8。

Rubyでテスト

プログラミング

example.rb

Encoding.default_external = 'UTF-8'

require 'natto'

text = 'すもももももももものうち'
nm = Natto::MeCab.new
nm.parse(text) do |n|
  puts "#{n.surface}\t#{n.feature}"
end

実行結果

すもも  名詞,一般,*,*,*,*,すもも,スモモ,スモモ
も      助詞,係助詞,*,*,*,*,も,モ,モ
もも    名詞,一般,*,*,*,*,もも,モモ,モモ
も      助詞,係助詞,*,*,*,*,も,モ,モ
もも    名詞,一般,*,*,*,*,もも,モモ,モモ
の      助詞,連体化,*,*,*,*,の,ノ,ノ
うち    名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ
        BOS/EOS,*,*,*,*,*,*,*,*

おk.

この記事で欲しい情報が見つからなかった方へ

この記事の更新情報がある場合があります。
この記事は以下の記事とも関連性があると思われます。

Ruby windowsのソフトウェアを外部コマンドから開く・起動する
Ruby sinatra 使い方
Ruby hash キーが重複していた場合は2つの値を加算する
Ruby jrubyをインストールしてからGEMのパスが変わってしまった場合の対処
Rubyでhashや配列をeach_with_indexで最初と最後の処理だけ特別な処理をする
Rubyで配列の集合演算
Rubyでmechanizeでブログをキーワード検索して最初の投稿を取得する


管理人の方針で、既存の記事の編集はせず、新しい情報や大きな既存情報の更新があった場合には、新しい記事として公開することになっています。
当記事で欲しい情報が見つからなかった・解決に至らなかった場合、これらのリンクがお役に立てるかも知れません。

どうやってこの関連記事を生成しているの?
この機能のPHPソースコード(2500行)

コメントを残す

Close Menu