はじめに
昨日の記事で特に説明なしでJanome使っていたので、
簡単にJanomeはどういうライブラリかの説明かと簡単な使い方について記事として残しておこうかと思います。
自分もあまり使っていないので備忘録代わりということで。
形態素解析とは
形態素解析は日本語の文章を単語ごとに分解して、切り出していくことです。(すごいざっくりとした説明ですが)
Janomeは辞書を内包しているので、その辞書を使って単語を認識して単語ごとに分解していきます。
英語だと単語がスペースごとに区切られているので単語ごとに区切るために形態素解析を使う必要はないんですが、
日本語だと英語のようにスペースで区切られているわけではないので形態素解析を使って単語ごとに区切る必要があります。
形態素解析を使うことで単語の品詞や基本形も判別できます。
品詞などの情報が得られるので、その情報を使って名詞の情報だけ使って大量の文章からどういった名詞が多く使われてるかなどの分析に役立てたりすることができたりもします。
ここらへんはテキストマイニングなどの話にも繋がるのでその話についてもいずれ記事にしておきたいなーと思います。
形態素解析が出来るライブラリ
Pythonで形態素解析ができるライブラリとしてはJanomeだけでなく他にもいろいろあります。
pipでのインストール方法は以下の通り。
$ pip install janome
Janomeのドキュメント については以下。
他の形態素解析のライブラリでいうと代表的なところで言うとMeCabですかね。
形態素解析というとMeCabが真っ先にくるイメージですね。
MeCabはPythonのライブラリとしてというよりは形態素解析のツールとしてインストールしてそれ単体でも使えます。
単体で使うイメージはあまりないですが、Pythonとか使わずにとりあえず形態素解析試してみたいのであればMeCabだけ使うのもいいのかも。
逆にいうとPythonでMeCabを使用するには予め端末にMeCabをインストールしておく必要があります。
前回の記事でMeCabではなくJanomeを使ったのは上記の通り、MeCabはインストールしておく必要があるので仮にデスクトップアプリとして配布した時に使う端末にMeCabを入れておかなくてはいけません。
お手軽に使うにはJanomeであればpipでインストールするだけで使えるのでJanomeの方がいいかなということでJanomeを使っています。
他にもライブラリとしてはいろいろあるみたいですが、勉強不足でJUMANぐらいしか知らない・・・。
それぞれで何かしら特色はあると思うので調べておきたいとは思ってはいます、いずれ。
実際に使ってみる
とりあえずここでは基本的な形態素解析の使い方だけ書いておきます。
調べてみると自分が使ったことない機能とかもあったのでそこらへんはまた別記事でまとめておきます。
・tokenizer
コード
from janome.tokenizer import Tokenizer
t = Tokenizer()
for token in t.tokenize(u'すもももももももものうち'):
print(token)
Output
すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ
最後に
Janomeはpipでインストールするだけなので、お手軽に形態素解析するにはいいかなーと思います。
今回説明していませんが、辞書に登録されていない単語を抽出するために自分で辞書を編集する方法もあるのでこちらについてはまた記事書きたいなと思います。
実際に業務でも形態素解析を使用するためにJanomeとMeCabを使ったりしているので、
業務の中で得た知識があればそれ使って何かアプリ作ってみたい。
形態素解析などの自然言語処理については興味がある分野なのでこれからも勉強していきます。
とりあえず今日はこの辺で。
それでは〜
コメント