見出し画像

ChatGPTにmecabとNEologdのインストール方法を教えてもらう


「ChatGPT」は、OpenAI(オープンエーアイ)が開発した対話型生成AIです。
Google検索だけでは調べるのに手間取った、形態素解析「mecab」と拡張辞書「NEologd」を「Google Colaboratory」にインストールする方法を質問してみました。

なお、自分は「Python」については、簡単なコードも何かを参照しないと書けないレベルです。

mecab編

「ChatGPT」に質問します。

自分
自分

Google Colaboratoryにmecabをインストールする方法を教えてください。

ChatGPT
ChatGPT

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をインストールする方法も教えてくれますか。

ChatGPT
ChatGPT

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

いいなと思ったら応援しよう!