文章を品詞ごとに分解してくれるツール。
MeCab
パッケージマネージャからインストールできないか探してみた。
sudo apt-get install libmecab1 libmecab-dev mecab mecab-ipadic mecab-ipadic-utf8 mecab-utils
さて、そのパッケージ名は今も存在するかな?
sudo apt install libmecab2 libmecab-dev mecab mecab-utils mecab-ipadic-utf8
$ sudo apt search mecab | grep mecab WARNING: apt does not have a stable CLI interface. Use with caution in scripts. groonga-tokenizer-mecab/oldstable,oldstable,stable,stable 6.1.5-1 armhf libmecab-dev/oldstable,oldstable,stable,stable 0.996-3.1 armhf libmecab-java/oldstable,oldstable,stable,stable 0.99.6-1 all mecab binding for Java - java classes libmecab-jni/oldstable,oldstable,stable,stable 0.99.6-1 armhf mecab binding for Java - native interface libmecab-perl/oldstable,oldstable,stable,stable 0.99.6-1+b4 armhf mecab binding for Perl libmecab2/oldstable,oldstable,stable,stable 0.996-3.1 armhf libtext-mecab-perl/oldstable,oldstable,stable,stable 0.20016-1+b3 armhf mecab/oldstable,oldstable,stable,stable 0.996-3.1 armhf mecab-ipadic/oldstable,oldstable,stable,stable 2.7.0-20070801+main-1 all mecab-ipadic-utf8/oldstable,oldstable,stable,stable 2.7.0-20070801+main-1 all mecab-jumandic/oldstable,oldstable,stable,stable 5.1+20070304-4 all mecab-jumandic-utf8/oldstable,oldstable,stable,stable 5.1+20070304-4 all mecab-naist-jdic/oldstable,oldstable,stable,stable 0.6.3.b-20111013-7 all free Japanese Dictionaries for mecab (replacement of mecab-ipadic) mecab-naist-jdic-eucjp/oldstable,oldstable,stable,stable 0.6.3.b-20111013-7 all free Japanese Dictionaries for mecab (replacement of mecab-ipadic) in EUC-JP mecab-utils/oldstable,oldstable,stable,stable 0.996-3.1 armhf open-jtalk-mecab-naist-jdic/oldstable,oldstable,stable,stable 1.07-2 all python-mecab/oldstable,oldstable,stable,stable 0.99.6-1 armhf mecab binding for Python ruby-mecab/oldstable,oldstable,stable,stable 0.99.6-2+b2 armhf mecab binding for Ruby language unidic-mecab/oldstable,oldstable,stable,stable 2.1.2~dfsg-6 all free Japanese Dictionaries for mecab
というわけで、以下のようにインストールした。
$ sudo apt install libmecab2 libmecab-dev mecab mecab-utils mecab-ipadic-utf8 パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下のパッケージが自動でインストールされましたが、もう必要とされていません: docutils-common docutils-doc gir1.2-vte-2.90 libnunit-cil-dev libnunit-console-runner2.6.3-cil libnunit-core-interfaces2.6.3-cil libnunit-core2.6.3-cil libnunit-framework2.6.3-cil libnunit-mocks2.6.3-cil libnunit-util2.6.3-cil libvte-2.90-9 libvte-2.90-common libvte-2.90-doc python-alabaster python-babel python-babel-localedata python-docutils python-imagesize python-pygments python-roman python-tz rlwrap sphinx-common vim-runtime これを削除するには 'sudo apt autoremove' を利用してください。 以下の追加パッケージがインストールされます: mecab-ipadic mecab-jumandic 以下のパッケージが新たにインストールされます: libmecab-dev libmecab2 mecab mecab-ipadic mecab-ipadic-utf8 mecab-jumandic mecab-utils アップグレード: 0 個、新規インストール: 7 個、削除: 0 個、保留: 0 個。 18.8 MB のアーカイブを取得する必要があります。 この操作後に追加で 138 MB のディスク容量が消費されます。 続行しますか? [Y/n]
138MBだと……。
確認
which mecab
/usr/bin/mecab
mecab --version
mecab of 0.996
使ってみる
ターミナルで以下を実行する。
mecab
空白行で止まるので、任意の文章を打ち込む。
ytyaruがMeCabで形態素解析をするらしい。急いで見に行かねばなるまい。
すると結果が表示される。
ytyaru 名詞,固有名詞,組織,*,*,*,* が 助詞,格助詞,一般,*,*,*,が,ガ,ガ MeCab 名詞,一般,*,*,*,*,* で 助詞,格助詞,一般,*,*,*,で,デ,デ 形態素 名詞,一般,*,*,*,*,形態素,ケイタイソ,ケイタイソ 解析 名詞,サ変接続,*,*,*,*,解析,カイセキ,カイセキ を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ する 動詞,自立,*,*,サ変・スル,基本形,する,スル,スル らしい 助動詞,*,*,*,形容詞・イ段,基本形,らしい,ラシイ,ラシイ 。 記号,句点,*,*,*,*,。,。,。 急い 動詞,自立,*,*,五段・ガ行,連用タ接続,急ぐ,イソイ,イソイ で 助詞,接続助詞,*,*,*,*,で,デ,デ 見 動詞,自立,*,*,一段,連用形,見る,ミ,ミ に 助詞,格助詞,一般,*,*,*,に,ニ,ニ 行か 動詞,自立,*,*,五段・カ行促音便,未然形,行く,イカ,イカ ね 助動詞,*,*,*,特殊・ヌ,仮定形,ぬ,ネ,ネ ば 助詞,接続助詞,*,*,*,*,ば,バ,バ なる 動詞,自立,*,*,五段・ラ行,基本形,なる,ナル,ナル まい 助動詞,*,*,*,不変化型,基本形,まい,マイ,マイ 。 記号,句点,*,*,*,*,。,。,。 EOS
辞書を変える
mecab -d 辞書のパス
他には以下のように設定ファイルでできるらしい。
/usr/local/etc/mecabrc
dicdir = /usr/local/lib/mecab/dic/ipadic
他の辞書
最新の辞書。だが作成にはメモリが最低でも2GB必要とか……。
辞書の作り方
対象環境
- Raspbierry pi 3 Model B+
- Raspbian stretch 9.0 2018-11-13
- bash 4.4.12(1)-release
- SQLite 3.29.0
$ uname -a Linux raspberrypi 4.19.42-v7+ #1218 SMP Tue May 14 00:48:17 BST 2019 armv7l GNU/Linux
前回まで
- SQLite3学習をはじめよう
- SQLite3学習 SQLiteについて
- SQLite3学習 SQLiteの適切な用途
- SQLite3学習 SQLiteの特徴
- SQLite3学習 SQLiteのクセ
- SQLite3学習 データ型とアフィニティ
- SQLite3学習 演算子の一覧
- SQLite3学習 よくある質問
- SQLite3学習 SQLiteダウンロード&コンパイル
- SQLite3学習 Tclで操作する
- SQLite3学習 ビルドオプション動作確認(SQLITE_ALLOW_URI_AUTHORITY)
- SQLite3学習 面白そうなコンパイルオプション
- SQLite3学習 SQLiteの拡張について
- SQLite3学習 JSON拡張
- SQLite3学習 JSON拡張(json_extract)
- SQLite3学習 JSON拡張(json_each)
- SQLite3学習 JSON拡張(json_tree オブジェクト→行)
- SQLite3学習 JSON拡張(json_tree オブジェクトツリー→行)
- SQLite3学習 JSON拡張(json_tree オブジェクト配列→行)
- SQLite3学習 JSON拡張(json_group_array 行→配列)
- SQLite3学習 JSON拡張(json_group_object 行→オブジェクト)
- SQLite3学習 JSON拡張(json_array_length)
- SQLite3学習 JSON拡張(json_type)
- SQLite3学習 JSON拡張(json_valid)
- SQLite3学習 JSON拡張(json_quote)
- SQLite3学習 JSON拡張(json_array)
- SQLite3学習 JSON拡張(json_object)
- SQLite3学習 JSON拡張(json_patch)
- SQLite3学習 JSON拡張(json_insert)
- SQLite3学習 JSON拡張(json_replace)
- SQLite3学習 JSON拡張(json_set)
- SQLite3学習 JSON拡張(json_remove)
- SQLite3学習 全文検索(FTS5)
- SQLite3学習 全文検索FTSを日本語で使う方法を調べてみた