#MeCabとは
MeCabはオープンソースの形態素解析エンジンで、奈良先端科学技術大学院大学出身、現GoogleソフトウェアエンジニアでGoogle 日本語入力開発者の一人である工藤拓[1][2]によって開発されている。名称は開発者の好物「和布蕪(めかぶ)」から取られた。
参照元:Wikipedia:MeCab
ほうほう。
#NEologdとは
mecab-ipadic-NEologd は、多数のWeb上の言語資源から得た新語を追加することでカスタマイズした MeCab 用のシステム辞書です。
Web上の文書の解析をする際には、この辞書と標準のシステム辞書(ipadic)を併用することをオススメします。
参照元:mecab-ipadic-neologd/README.ja.md
公式的にはこんな説明。
mecab-ipadic-NEologd は形態素解析用の辞書ではなく「単語分かち書き」用の辞書です。
この辞書を使って分割した際の単語の粒度が形態素になるか分からないので、単語分かち書きと呼んでいます。
参照元:新語・固有表現に強い「mecab-ipadic-NEologd」の効果を調べてみた
なるほど。新語・固有表現に強い。
若者言葉にも強そうなイメージ。
#MeCabとNEologdのインストール方法
※homebrewはインストール済みの想定で話を進めます
(一応公式のコマンド貼り付け)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# ちなみに、Ruby 2.6が必要。※Macには搭載されているはず
Homebrew requires Ruby 2.6 which was not found on your system.
$ brew install mecab
$ brew install mecab-ipadic
$ brew install git curl xz
$ git clone --depth 1 git@github.com:neologd/mecab-ipadic-neologd.git
$ cd mecab-ipadic-neologd
$ ./bin/install-mecab-ipadic-neologd -n
簡単だw
(2021/3/17現在有効)
###やったこと解説
- mecabインストール
- mecabの標準的な辞書ipadicをインストール
-
git
,curl
,xz
コマンドをインストール(必要に応じて) - mecabの強化版辞書neologdのリポジトリをインストール
- ※自分の好きなディレクトリに
cd
してからgit clone
するといいかも -
--depth 1
はmaster ブランチにある最新のコミットだけを落とせるいわゆる「シャロークローン」のオプション
- ※自分の好きなディレクトリに
- インストールしたリポジトリのディレクトリに移動
- neologdを実際にインストール
-
-n
はnewest
を取得するオプション
-
#インストール前のNEologdオプションの確認方法
$ ./bin/install-mecab-ipadic-neologd -h
Usage: install-mecab-ipadic-NEologd [OPTIONS]
This script is the installer of mecab-ipadic-NEologd
Options:
-h, --help
-v, --version
-p, --prefix /PATH/TO/INSTALL/DIRECTORY
Set any directory path where you want to install
-y, --forceyes
If you want to install regardless of the result of test
-u, --asuser
If you want to install to the user directory as an user
-n, --newest
If you want to update mecab-ipadic-NEologd
-a, --install_all_seed_files
If you want to install all seed files(seed/neologd-*.xz)
-c, --install_only_patched_ipadic
If you want to install only patched IPADIC
# ~省略:もっと出てきます~
#MeCabで形態素解析を試してみる
今の気持ちをecho
してみました。(お腹グ〜)
##mecab-ipadicで実行した場合
$ echo "最強のインスタ映えラーメン屋さんに行きたい" | mecab
最強 名詞,一般,*,*,*,*,最強,サイキョウ,サイキョー
の 助詞,連体化,*,*,*,*,の,ノ,ノ
インスタ 名詞,一般,*,*,*,*,*
映え 名詞,一般,*,*,*,*,映え,ハエ,ハエ
ラーメン 名詞,一般,*,*,*,*,ラーメン,ラーメン,ラーメン
屋 名詞,接尾,一般,*,*,*,屋,ヤ,ヤ
さん 名詞,接尾,人名,*,*,*,さん,サン,サン
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
行き 動詞,自立,*,*,五段・カ行促音便,連用形,行く,イキ,イキ
たい 助動詞,*,*,*,特殊・タイ,基本形,たい,タイ,タイ
EOS
##mecab-ipadic-neologdで実行した場合
$ echo "最強のインスタ映えラーメン屋さんに行きたい" | mecab -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd
最強 名詞,一般,*,*,*,*,最強,サイキョウ,サイキョー
の 助詞,連体化,*,*,*,*,の,ノ,ノ
インスタ映え 名詞,固有名詞,一般,*,*,*,インスタ映え,インスタハエ,インスタハエ
ラーメン屋 名詞,固有名詞,一般,*,*,*,ラーメン屋,ラーメンヤ,ラーメンヤ
さん 名詞,接尾,人名,*,*,*,さん,サン,サン
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
行き 動詞,自立,*,*,五段・カ行促音便,連用形,行く,イキ,イキ
たい 助動詞,*,*,*,特殊・タイ,基本形,たい,タイ,タイ
EOS
##二つの比較をしてみると
いやいや、上記ウォーリーを探せ状態!!!!!!違いなくない!??!
って思っていたところ、
# ipadic
インスタ 名詞,一般,*,*,*,*,*
映え 名詞,一般,*,*,*,*,映え,ハエ,ハエ
ラーメン 名詞,一般,*,*,*,*,ラーメン,ラーメン,ラーメン
屋 名詞,接尾,一般,*,*,*,屋,ヤ,ヤ
# neologd
インスタ映え 名詞,固有名詞,一般,*,*,*,インスタ映え,インスタハエ,インスタハエ
ラーメン屋 名詞,固有名詞,一般,*,*,*,ラーメン屋,ラーメンヤ,ラーメンヤ
おおおおお確かに。
ラーメン屋は、ラーメン屋として固有表現として認識してほしかったし、
インスタ映えは、新語として固有名詞として認識して欲しかったので、
なんともそのおもてなしと配慮が大変にありがたい。
よかったw
#まとめ
自分でこの辞書作成と単語の種類の区別等をやろうとしたら、一億万光年かかりそうだったので、
ライブラリって・・・
なんて便利なんだ(⌒▽⌒)✨
今度はこれを使ったアプリケーションを作ってみたいと思います〜
以上、ありがとうございます。