ChatGPTにmecabとNEologdのインストール方法を教えてもらう
「ChatGPT」は、OpenAI(オープンエーアイ)が開発した対話型生成AIです。
Google検索だけでは調べるのに手間取った、形態素解析「mecab」と拡張辞書「NEologd」を「Google Colaboratory」にインストールする方法を質問してみました。
なお、自分は「Python」については、簡単なコードも何かを参照しないと書けないレベルです。
mecab編
「ChatGPT」に質問します。
Google Colaboratoryにmecabをインストールする方法を教えてください。
Google Colaboratoryは、クラウド上のJupyterノートブック環境です。
Mecabをインストールするには、次のステップを実行します。
1. ノートブックのセルに以下のコマンドを入力します:
!apt-get update
!apt-get install -y mecab libmecab-dev mecab-ipadic-utf8
2. MecabのPythonバインディングをインストールするために次のコマンドを入力します:
!pip install unidic-lite
!pip install mecab-python3
これで、Mecabを使用することができます。
import MeCab
mecab = MeCab.Tagger("-Owakati")
print(mecab.parse("これはテストです。"))
注:Google Colaboratoryは一時的な環境ですので、ノートブックを閉じるとインストールしたものが消えます。毎回インストールする必要があります。
NEologd編
Google ColabにNEoolgdをインストールする方法も教えてくれますか。
1. 必要なパッケージをインストールする:
MeCab本体、開発用ライブラリ、mecab-ipadic-utf8、およびmecab-python3をインストールします
!apt-get -y install mecab libmecab-dev mecab-ipadic-utf8
!pip install mecab-python3
2. NEologdをインストールする:
以下のコマンドを使ってNEologdをダウンロードし、インストールします。
!git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git
!echo yes | mecab-ipadic-neologd/bin/install-mecab-ipadic-neologd -n -a
3. 辞書のパスを確認する:
NEologdの辞書のパスを確認するために、次のコマンドを実行します。
このコマンドはNEologdの辞書のパスを表示します。例えば、/usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologdのようなパスが出力されます。
!echo `mecab-config --dicdir`"/mecab-ipadic-neologd"
4.MeCabのセットアップ:
MeCabにNEologdの辞書を使用するように設定します。以下のコードを実行して確認します。
import MeCab
neologd_path = '/usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd'
mecab = MeCab.Tagger(f'-d {neologd_path} -Owakati')
print(mecab.parse("これもテストです。"))
標準辞書とNEologdの比較
上記をベースに以下のコードを組み、形態素解析結果を比べてみました。
import MeCab
m1 = MeCab.Tagger()
sample_txt = "第2期は、五条悟と夏油傑の高専時代の物語。"
print("Mecab:\n", m1.parse(sample_txt))
neologd_path = '-d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd'
m2 = MeCab.Tagger(neologd_path)
print("Mecab ipadic NEologd:\n",m2.parse(sample_txt))
上が標準辞書、下が「NEologd」の結果です。
Mecab:
第 ダイ ダイ 第 接頭辞
2 2 2 2 名詞-数詞 0
期 キ キ 期 名詞-普通名詞-助数詞可能 1
は ワ ハ は 助詞-係助詞
、 、 補助記号-読点
五条 ゴジョー ゴジョウ ゴジョウ 名詞-固有名詞-人名-姓 1
悟 サトル サトル サトル 名詞-固有名詞-人名-名 0
と ト ト と 助詞-格助詞
夏 ナツ ナツ 夏 名詞-普通名詞-副詞可能 2
油 アブラ アブラ 油 名詞-普通名詞-一般 0
傑 ケツ ケツ 傑 接尾辞-名詞的-一般
の ノ ノ の 助詞-格助詞
高専 コーセン コウセン 高専 名詞-普通名詞-一般 0
時代 ジダイ ジダイ 時代 名詞-普通名詞-一般 0
の ノ ノ の 助詞-格助詞
物語 モノガタリ モノガタリ 物語 名詞-普通名詞-一般 3
。 。 補助記号-句点
EOS
Mecab ipadic NEologd:
第 接頭詞,数接続,*,*,*,*,第,ダイ,ダイ
2期 名詞,固有名詞,一般,*,*,*,2期,ニキ,ニキ
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
、 記号,読点,*,*,*,*,、,、,、
五条悟 名詞,固有名詞,人名,一般,*,*,五条悟,ゴジョウサトル,ゴジョーサトル
と 助詞,並立助詞,*,*,*,*,と,ト,ト
夏油傑 名詞,固有名詞,人名,一般,*,*,夏油傑,ゲトウスグル,ゲトウスグル
の 助詞,連体化,*,*,*,*,の,ノ,ノ
高専 名詞,一般,*,*,*,*,高専,コウセン,コーセン
時代 名詞,一般,*,*,*,*,時代,ジダイ,ジダイ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
物語 名詞,一般,*,*,*,*,物語,モノガタリ,モノガタリ
。 記号,句点,*,*,*,*,。,。,。
EOS