0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Mecabのインストール手順

Posted at

Mecabってなに?

  • 形態素分析を行ってくるオープンソースのツールです
  • 形態素分析は自然言語処理の手法の1つで、生成AIブームもあり注目されています
  • 文章を解析して、名詞や動詞などの要素の単位に分解してくれる
  • 京都大学情報学研究科と日本電信電話株式会社コミュニケーション科学基礎研究所が共同で開発した
  • perl/ruby/python/java/C#に対応している
  • ChaSenやKAKASIといった他ツールを比べて高速

環境

Ubuntu20.4

Mecabのインストール手順

インデックスファイルを最新にします。

$sudo apt-get update

インストールするのに必要なライブラリは、ググるとサイトによって色々な情報が散見されます。

mecab libmecab-dev mecab-ipadic-utf8

こちらの3つだけでOKにしているサイトもいくつかありますが、一番多くのライブラリ(6つ)をインストールしている手順を参考にしました。

$sudo apt-get install libmecab2 libmecab-dev mecab mecab-ipadic mecab-ipadic-utf8 mecab-utils

mecab-ipadic-NEologdという新出単語や固有表現に強いという辞書もインストールします。適当なディレクトリを作成して、そこにダウンロードします。

$mkdir download
$git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git

ダウンロードしたディレクトリに移動して、インストール用のスクリプトファイルを実行します。

$cd mecab-ipadic-neologd
$./bin/install-mecab-ipadic-neologd -n -a

オプションnを付けると、インストールと同時に、mecab-ipadic-NEologdが最新版にアップデートされます。オプションaを付けると、すべてのseedファイルがインストールされるようになります。オプションの詳細は、スクリプトファイルの中に書かれています。

インストールはなぜかわりと時間がかかります。ご丁寧にカウンターが走ります。

途中で、mecab-ipadic-NEologdをインストールするか聞いてくるので、yesを入力します。

インストールされたことを確認します。

$which mecab
/usr/bin/mecab

git cloneでダウンロードしたファイルは削除しておきます。

$rm -rf download

動作確認です。

$ mecab -d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd
UbuntuにMecabのインストールができました。
Ubuntu  名詞,固有名詞,一般,*,*,*,Ubuntu,ウブントゥ,ウブントゥ
に      助詞,格助詞,一般,*,*,*,に,ニ,ニ
Mecab   名詞,一般,*,*,*,*,*
の      助詞,連体化,*,*,*,*,の,ノ,ノ
インストール    名詞,一般,*,*,*,*,インストール,インストール,インストール
が      助詞,格助詞,一般,*,*,*,が,ガ,ガ
でき    動詞,自立,*,*,一段,連用形,できる,デキ,デキ
まし    助動詞,*,*,*,特殊・マス,連用形,ます,マシ,マシ
た      助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
。      記号,句点,*,*,*,*,。,。,。
EOS

参考

公式サイト
https://taku910.github.io/mecab/#usage-tools

Rubyでmecabを使う

Rubyでmecabを使うには、nattoというgemを使うようです。
Gemfileにgemを追加して、インストールします。

gem 'natto'
$bundle install

サンプルコードです。

hoge.rb
require 'natto'

txt = "本日は晴天なり。"
natto = Natto::MeCab.new
natto.parse(txt) do |n|
    puts "#{n.surface}: #{n.feature}"
end

このような結果になります。

$ruby hoge.rb
本日: 名詞,副詞可能,*,*,*,*,本日,ホンジツ,ホンジツ
は: 助詞,係助詞,*,*,*,*,は,ハ,ワ
晴天: 名詞,一般,*,*,*,*,晴天,セイテン,セイテン
なり: 助動詞,*,*,*,文語・ナリ,基本形,なり,ナリ,ナリ
。: 記号,句点,*,*,*,*,。,。,。
: BOS/EOS,*,*,*,*,*,*,*,*
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?