
Janomeを使って自分たちの理念を形態素解析にかける
ご挨拶
こんにちは。小笹です。
ソフトウェアエンジニアとしてのリハビリと、
自分たちの理念について考えるためにも、
理念を形態素解析してみることにしました。
今回はGraphvizを使って、
形態素解析の様子を視覚的に捉えられるようにしてみます。
1.Graphviz本体のインストール
brew install graphviz
2.PythonでGraphvizを使うためのラッパーをインストール
pip3 install graphviz
ここまでで一旦Graphvizの公式サイトにあるサンプルコードを、
sample.pyとして保存&実行してみます。
from graphviz import Digraph
dot = Digraph(comment='The Round Table')
dot
dot.node('A', 'King Arthur')
dot.node('B', 'Sir Bedevere the Wise')
dot.node('L', 'Sir Lancelot the Brave')
dot.edges(\['AB', 'AL'\])
dot.edge('B', 'L', constraint='false')
print(dot.source)
dot.render('test-output/round-table.gv', view=True)
いけっ!
python3 sample.py
test-outputというフォルダ内にround-table.gv.pngができていたら成功。
以下のような画像です。

かっこいいサンプルですね。
3.Python製の形態素解析器Janomeのインストール
pip3 install janome
では早速理念を形態素解析にかけてみましょう。
echo "日本のソフトウェアエンジニアを憧れの職業へ" | janome -g
出力
日本 名詞,固有名詞,地域,国,\*,\*,日本,ニッポン,ニッポン
の 助詞,連体化,\*,\*,\*,\*,の,ノ,ノ
ソフトウェア 名詞,一般,\*,\*,\*,\*,ソフトウェア,ソフトウェア,ソフトウェア
エンジニア 名詞,一般,\*,\*,\*,\*,エンジニア,エンジニア,エンジニア
を 助詞,格助詞,一般,\*,\*,\*,を,ヲ,ヲ
憧れ 動詞,自立,\*,\*,一段,連用形,憧れる,アコガレ,アコガレ
の 助詞,連体化,\*,\*,\*,\*,の,ノ,ノ
職業 名詞,一般,\*,\*,\*,\*,職業,ショクギョウ,ショクギョー
へ 助詞,格助詞,一般,\*,\*,\*,へ,ヘ,エ
いい感じですね!
辞書の兼ね合いでしょうが、
「ソフトウェアエンジニア」は一個の名詞ではない判定ですね。
画像はというと

細かい!
日本語の特徴として、
単語が分かれて表現されないので、
結構なパターンを推定していることが分かります。
今回の品詞推定には、
「隠れマルコフモデル」と「ビタビ・アルゴリズム」について、
勉強をする必要があるのですが、
解説できるほどじゃないので、思い切って割愛。
こちらからは以上です。