【Python】日本語の文章を解析できる「Janome」を使ってみた

みなさん,こんにちは。
シンノユウキ(shinno1993)です。

先日よりプログラミング言語:Pythonの勉強をはじめました。Progateを一通りやって、PyQをかじってみました。その過程で、Pythonといえばやっぱりデータ分析、AI系でしょう!ということで、手始めに「形態素解析」というものをやってみることにしました。今回はそのツール:Janomeの紹介をしたいと思います。

「Janome」とは?

Janomeは、Pythonのライブラリで、日本語の文章を、その最小の単位である「形態素」ごとに区切り、その品詞などを判別するものです。

これを使うことで、ユーザーなどから文章を送信された際などに、コンピュータでも意味を理解しやすい形にすることができ、AIなどを開発・利用する際に便利になります。

 

インストールの方法

インストールは非常に簡単です。

pip install janome

これだけです。

 

使い方

まずはインポートです。そして、インスタンスを作成します。

from janome.tokenizer import Tokenizer
t = Tokenizer()

てはじめに、このブログのタイトルである、「みんな栄養に頼りすぎてる」を形態素解析してみましょう。

from janome.tokenizer import Tokenizer
 
t = Tokenizer()
tokens = t.tokenize(u'みんな栄養に頼りすぎてる')
 
for token in tokens:
    print(token)

すると、以下のような結果になります。

みんな 名詞,代名詞,一般,*,*,*,みんな,ミンナ,ミンナ
栄養 名詞,一般,*,*,*,*,栄養,エイヨウ,エイヨー
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
頼り 動詞,自立,*,*,五段・ラ行,連用形,頼る,タヨリ,タヨリ
すぎ 動詞,非自立,*,*,一段,連用形,すぎる,スギ,スギ
てる 動詞,非自立,*,*,一段,基本形,てる,テル,テル

 

次は、これから名詞だけ取り出してみましょう。コードは以下の通りです。

from janome.tokenizer import Tokenizer
t = Tokenizer()

tokens = t.tokenize('みんな栄養に頼りすぎてる')
words = []
for token in tokens:
    part_of_speech = token.part_of_speech.split(',')[0]
    if part_of_speech == u'名詞':
        word = token.surface
        print(word)

結果は以下のようになります:
みんな
栄養

 

まとめ

今回は、形態素解析を行うライブラリである「Janome」の基本的な使い方などを紹介しました。これを使うことで、AIの活用や開発に役立てることができます。

次の記事はこちら

【Python】Janomeを活用した 対話式に栄養計算できるスクリプトを作ってみた
Python記事の2つ目。前回は、「Janome」を使用して、形態素解析を行う方法を簡単に紹介しました。今回は、これを使って、ユーザーから与えられた文章から、食品名や食品の重量を抽出し、栄養計算を行うスクリプトを作成しましたので、そのスクリ...
タイトルとURLをコピーしました