形態素解析をやってみる
DS検定の勉強で自然言語処理の形態素解析に使用されるツールとして、Mecab・Janome・JUMANがよく使われると出てきました。しかし、名前を覚えただけでは意味がないのでそれぞれを使ってみようと思います。
「この新しいカフェは雰囲気が良く、コーヒーも美味しい。友達と一緒に行ったが、皆満足していた。」 pythonでこの文字列を解析して、各種を比べてみます。
Mecab
まず、Mecabを使用するためにインストールをします
! pip install mecab-python3 unidic-lite
さっそくテキストを解析してみましょう。
import MeCab
text = "この新しいカフェは雰囲気が良く、コーヒーも美味しい。友達と一緒に行ったが、皆満足していた。"
# MeCabオブジェクトの生成
m = MeCab.Tagger()
# 形態素解析の実行
result = m.parse(text)
# 結果の出力
print(result)
出力結果
この コノ コノ 此の 連体詞 0
新しい アタラシー アタラシイ 新しい 形容詞-一般 形容詞 連体形-一般 4
カフェ カフェ カフェ カフェ-cafe 名詞-普通名詞-一般 1
は ワ ハ は 助詞-係助詞
雰囲気 フンイキ フンイキ 雰囲気 名詞-普通名詞-一般 3
が ガ ガ が 助詞-格助詞
良く ヨク ヨイ 良い 形容詞-非自立可能 形容詞 連用形-一般 1
、 、 補助記号-読点
コーヒー コーヒー コーヒー コーヒー-coffee 名詞-普通名詞-一般 3
も モ モ も 助詞-係助詞
美味しい オイシー オイシイ 美味しい 形容詞-一般 形容詞 終止形-一般 0,3
。 。 補助記号-句点
友達 トモダチ トモダチ 友達 名詞-普通名詞-一般 0
と ト ト と 助詞-格助詞
一緒 イッショ イッショ 一緒 名詞-普通名詞-サ変可能 0
に ニ ニ に 助詞-格助詞
行っ イッ イク 行く 動詞-非自立可能 五段-カ行 連用形-促音便 0
た タ タ た 助動詞 助動詞-タ 終止形-一般
が ガ ガ が 助詞-接続助詞
、 、 補助記号-読点
皆 ミナ ミナ 皆 名詞-普通名詞-副詞可能 2,0
満足 マンゾク マンゾク 満足 名詞-普通名詞-サ変形状詞可能 1
し シ スル 為る 動詞-非自立可能 サ行変格 連用形-一般 0
て テ テ て 助詞-接続助詞
い イ イル 居る 動詞-非自立可能 上一段-ア行 連用形-一般 0
た タ タ た 助動詞 助動詞-タ 終止形-一般
。 。 補助記号-句点
EOS
この出力結果を表にして見やすくしました。
表層形 | 発音 | 基本形 | 読み | 品詞 | 品詞細分類 | 活用形 | 活用型 | 意味情報 |
---|---|---|---|---|---|---|---|---|
この | コノ | コノ | 此の | 連体詞 | 0 | |||
新しい | アタラシー | アタラシイ | 新しい | 形容詞-一般 | 形容詞 | 連体形-一般 | 4 | |
カフェ | カフェ | カフェ | カフェ-cafe | 名詞-普通名詞-一般 | 1 | |||
は | ワ | ハ | は | 助詞-係助詞 | ||||
雰囲気 | フンイキ | フンイキ | 雰囲気 | 名詞-普通名詞-一般 | 3 | |||
が | ガ | ガ | が | 助詞-格助詞 | ||||
良く | ヨク | ヨイ | 良い | 形容詞-非自立可能 | 形容詞 | 連用形-一般 | 1 | |
、 | 、 | 補助記号-読点 | ||||||
コーヒー | コーヒー | コーヒー | コーヒー-coffee | 名詞-普通名詞-一般 | 3 | |||
も | モ | モ | も | 助詞-係助詞 | ||||
美味しい | オイシー | オイシイ | 美味しい | 形容詞-一般 | 形容詞 | 終止形-一般 | 0,3 | |
。 | 。 | 補助記号-句点 | ||||||
友達 | トモダチ | トモダチ | 友達 | 名詞-普通名詞-一般 | 0 | |||
と | ト | ト | と | 助詞-格助詞 | ||||
一緒 | イッショ | イッショ | 一緒 | 名詞-普通名詞-サ変可能 | 0 | |||
に | ニ | ニ | に | 助詞-格助詞 | ||||
行っ | イッ | イク | 行く | 動詞-非自立可能 | 五段-カ行 | 連用形-促音便 | 0 | |
た | タ | タ | た | 助動詞 | 助動詞-タ | 終止形-一般 | ||
が | ガ | ガ | が | 助詞-接続助詞 | ||||
、 | 、 | 補助記号-読点 | ||||||
皆 | ミナ | ミナ | 皆 | 名詞-普通名詞-副詞可能 | 2,0 | |||
満足 | マンゾク | マンゾク | 満足 | 名詞-普通名詞-サ変形状詞可能 | 1 | |||
し | シ | スル | 為る | 動詞-非自立可能 | サ行変格 | 連用形-一般 | 0 | |
て | テ | テ | て | 助詞-接続助詞 | ||||
い | イ | イル | 居る | 動詞-非自立可能 | 上一段-ア行 | 連用形-一般 | 0 | |
た | タ | タ | た | 助動詞 | 助動詞-タ | 終止形-一般 | ||
。 | 。 | 補助記号-句点 |
Janome
!pip install janome
from janome.tokenizer import Tokenizer
text = "この新しいカフェは雰囲気が良く、コーヒーも美味しい。友達と一緒に行ったが、皆満足していた。"
# Tokenizerオブジェクトの生成
t = Tokenizer()
# 形態素解析の実行
tokens = t.tokenize(text)
# 結果の出力
for token in tokens:
print(token)
出力結果
この 連体詞,,,,,,この,コノ,コノ
新しい 形容詞,自立,,,形容詞・イ段,基本形,新しい,アタラシイ,アタラシイ
カフェ 名詞,一般,,,,,カフェ,カフェ,カフェ
は 助詞,係助詞,,,,,は,ハ,ワ
雰囲気 名詞,一般,,,,,雰囲気,フンイキ,フンイキ
が 助詞,格助詞,一般,,,,が,ガ,ガ
良く 形容詞,自立,,,形容詞・アウオ段,連用テ接続,良い,ヨク,ヨク
、 記号,読点,,,,,、,、,、
コーヒー 名詞,一般,,,,,コーヒー,コーヒー,コーヒー
も 助詞,係助詞,,,,,も,モ,モ
美味しい 形容詞,自立,,,形容詞・イ段,基本形,美味しい,オイシイ,オイシイ
。 記号,句点,,,,,。,。,。
友達 名詞,一般,,,,,友達,トモダチ,トモダチ
と 助詞,格助詞,一般,,,,と,ト,ト
一緒 名詞,サ変接続,,,,,一緒,イッショ,イッショ
に 助詞,格助詞,一般,,,,に,ニ,ニ
行っ 動詞,自立,,,五段・カ行促音便,連用タ接続,行く,イッ,イッ
た 助動詞,,,,特殊・タ,基本形,た,タ,タ
が 助詞,接続助詞,,,,,が,ガ,ガ
、 記号,読点,,,,,、,、,、
皆 接頭詞,名詞接続,,,,,皆,カイ,カイ
満足 名詞,サ変接続,,,,,満足,マンゾク,マンゾク
し 動詞,自立,,,サ変・スル,連用形,する,シ,シ
て 助詞,接続助詞,,,,,て,テ,テ
い 動詞,非自立,,,一段,連用形,いる,イ,イ
た 助動詞,,,,特殊・タ,基本形,た,タ,タ
。 記号,句点,,,,,。,。,。
出力結果を表にまとめてみます。
表層形 | 品詞 | 品詞細分類1 | 品詞細分類2 | 品詞細分類3 | 活用型 | 活用形 | 原形 | 読み | 発音 |
---|---|---|---|---|---|---|---|---|---|
この | 連体詞 | * | * | * | * | * | この | コノ | コノ |
新しい | 形容詞 | 自立 | * | * | 形容詞・イ段 | 基本形 | 新しい | アタラシイ | アタラシイ |
カフェ | 名詞 | 一般 | * | * | * | * | カフェ | カフェ | カフェ |
は | 助詞 | 係助詞 | * | * | * | * | は | ハ | ワ |
雰囲気 | 名詞 | 一般 | * | * | * | * | 雰囲気 | フンイキ | フンイキ |
が | 助詞 | 格助詞 | 一般 | * | * | * | が | ガ | ガ |
良く | 形容詞 | 自立 | * | * | 形容詞・アウオ段 | 連用テ接続 | 良い | ヨク | ヨク |
、 | 記号 | 読点 | * | * | * | * | 、 | 、 | 、 |
コーヒー | 名詞 | 一般 | * | * | * | * | コーヒー | コーヒー | コーヒー |
も | 助詞 | 係助詞 | * | * | * | * | も | モ | モ |
美味しい | 形容詞 | 自立 | * | * | 形容詞・イ段 | 基本形 | 美味しい | オイシイ | オイシイ |
。 | 記号 | 句点 | * | * | * | * | 。 | 。 | 。 |
友達 | 名詞 | 一般 | * | * | * | * | 友達 | トモダチ | トモダチ |
と | 助詞 | 格助詞 | 一般 | * | * | * | と | ト | ト |
一緒 | 名詞 | サ変接続 | * | * | * | * | 一緒 | イッショ | イッショ |
に | 助詞 | 格助詞 | 一般 | * | * | * | に | ニ | ニ |
行っ | 動詞 | 自立 | * | * | 五段・カ行促音便 | 連用タ接続 | 行く | イッ | イッ |
た | 助動詞 | * | * | * | 特殊・タ | 基本形 | た | タ | タ |
が | 助詞 | 接続助詞 | * | * | * | * | が | ガ | ガ |
、 | 記号 | 読点 | * | * | * | * | 、 | 、 | 、 |
皆 | 接頭詞 | 名詞接続 | * | * | * | * | 皆 | カイ | カイ |
満足 | 名詞 | サ変接続 | * | * | * | * | 満足 | マンゾク | マンゾク |
し | 動詞 | 自立 | * | * | サ変・スル | 連用形 | する | シ | シ |
て | 助詞 | 接続助詞 | * | * | * | * | て | テ | テ |
い | 動詞 | 非自立 | * | * | 一段 | 連用形 | いる | イ | イ |
た | 助動詞 | * | * | * | 特殊・タ | 基本形 | た | タ | タ |
。 | 記号 | 句点 | * | * | * | * | 。 | 。 | 。 |
JUMAN
インストールについては以下の記事を参考にしてください。
私は途中で断念して、環境構築までたどり着けませんでした..
参考
mecab:https://taku910.github.io/mecab/
Janome:https://mocobeta.github.io/janome/
JUMAN:https://nlp.ist.i.kyoto-u.ac.jp/?JUMAN