gracetory’s blog

東池袋にある合同会社グレストリのエンジニアブログです

切るところ間違えがちな言葉を形態素解析してみた

f:id:grnishi:20200815021851p:plain

はじめに

お盆が終わりました。帰省や旅行など東京から地方への感染拡大が懸念される今日この頃。もともと長期連休はどこにも行かないgrnishiです。混んでるの嫌いなんですよね。

本題

切る所間違えがちな言葉って色々ありますよね。有名なものだとドンキホーテ。本当はドン・キホーテなんですが話す時はドンキ・ホーテになりがちです。

都市名ですとクアラルンプールもクアラルン・プールになっている人をよく見かけます。本来はクアラ・ルンプールです。

他にも有名な文章だと「弁慶がなぎなたを持って」という文章を「弁慶がな、ぎなたを持って」と区切りを間違ったというものがある。

このことから「弁慶読み」とか「ぎなた読み」というそうです。

というわけで、こういうのを形態素解析器で解析するとどうなるんだろう?と気になったのでやってみました。

※形態素解析器を貶めるものではありません。この結果により優劣を競うものではありません。

形態素解析って?

詳しい説明は例の如くwikipediaへ。

ja.wikipedia.org

すもももももももものうち
すもも  名詞,一般,*,*,*,*,すもも,スモモ,スモモ
も      助詞,係助詞,*,*,*,*,も,モ,モ
もも    名詞,一般,*,*,*,*,もも,モモ,モモ
も      助詞,係助詞,*,*,*,*,も,モ,モ
もも    名詞,一般,*,*,*,*,もも,モモ,モモ
の      助詞,連体化,*,*,*,*,の,ノ,ノ
うち    名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ

こういうやつですね。

実験環境

GCPのCentOS8を使いました。

入力文字列

一応普通の文字列も入れておきます。 - 安倍総理 - 織田信長 - 清少納言 - 綺羅星のごとく - 間髪を入れず - 日本百合戦 - せつなさみだれうち - ぱんつくった

事前準備

dnf install -y wget gcc gcc-c++ make libzip-devel bzip2 cmake git unzip python3-devel python38

MeCab

taku910.github.io

wget -O mecab-0.996.tar.gz "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7cENtOXlicTFaRUE"
tar zxvf mecab-0.996.tar.gz 
cd mecab-0.996
./configure
make
make install

ipadicのインストール

wget -O mecab-ipadic-2.7.0-20070801.tar.gz "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7MWVlSDBCSXZMTXM"
tar zxvf mecab-ipadic-2.7.0-20070801.tar.gz 
cd mecab-ipadic-2.7.0-20070801
./configure --with-mecab-config=/usr/local/bin/mecab-config 
make
make install

juman++

nlp.ist.i.kyoto-u.ac.jp

オンラインデモがあったのでこれを使います。

tulip.kuee.kyoto-u.ac.jp

Sudachi

github.com

pip3 install sudachipy
pip3 install sudachidict_core

JANOME

mocobeta.github.io

pip3 install janome

KyTea

www.phontron.com

wget http://www.phontron.com/kytea/download/kytea-0.4.7.tar.gz
tar -zxvf kytea-0.4.7.tar.gz 
cd kytea-0.4.7
./configure
make
make install

Yahoo! 日本語形態素解析API

developer.yahoo.co.jp

Google Natural Language API

Cloud Natural Language  |  Google Cloud

解析した結果

※一部結果を省略、加工しています(見やすいように)

「安倍総理」

エンジン 結果
MeCab 安倍 名詞,固有名詞,人名,姓,,,安倍,アベ,アベ
総理 名詞,一般,,,,,総理,ソウリ,ソー
juman++ 安倍 あべ 安倍 名詞 6 人名 5 * 0 * 0 "代表表記:安倍/あべ 人名:日本:姓:189:0.00134 漢字"
総理 そうり 総理 名詞 6 サ変名詞 2 * 0 * 0 "代表表記:総理/そうり 人名末尾 カテゴリ:人 ドメイン:政治 漢字"
Sudachi 安倍 名詞,固有名詞,人名,姓,, 安倍
総理 名詞,普通名詞,サ変可能,,,* 総理
JANOME 安倍 名詞,固有名詞,人名,姓,,,安倍,アベ,アベ
総理 名詞,一般,,,,,総理,ソウリ,ソーリ
KyTea 安倍/名詞/あべ
総理/名詞/そうり
Yahoo! 日本語形態素解析API 安倍 あべ 名詞,人姓,,安倍,あべ,安倍
総理 そうり 名詞,名詞,
,総理,そうり,総理
Google Natural Language API 安倍 NOUN
総理 NOUN

「織田信長」

エンジン 結果
MeCab 織田 名詞,固有名詞,人名,姓,,,織田,オダ,オダ
信長 名詞,固有名詞,人名,名,,,信長,ノブナガ,ノブナ
juman++ 織田 おりた 織田 名詞 6 人名 5 * 0 * 0 "代表表記:織田/おりた 人名:日本:姓:197:0.00130 漢字"
@ 織田 おだ 織田 名詞 6 人名 5 * 0 * 0 "代表表記:織田/おだ 人名:日本:姓:197:0.00130 漢字"
信長 のぶなが 信長 名詞 6 普通名詞 1 * 0 * 0 "代表表記:信長/のぶなが 自動獲得:Wikipedia Wikipedia多義 漢字"
Sudachi 織田 名詞,固有名詞,人名,姓,, 織田
信長 名詞,固有名詞,人名,名,, 信長
JANOME 織田 名詞,固有名詞,人名,姓,,,織田,オダ,オダ
信長 名詞,固有名詞,人名,名,,,信長,ノブナガ,ノブナガ
KyTea 織田/名詞/おだ
信長/名詞/のぶなが
Yahoo! 日本語形態素解析API 織田信長 おだのぶなが 名詞,人名その他,*,織田信長,おだのぶなが,織田信長
Google Natural Language API 織田 NOUN
信長 NOUN

「清少納言」

エンジン 結果
MeCab 清少納言 名詞,固有名詞,人名,一般,,,清少納言,セイショウナゴン,セイショーナゴ
juman++ 清少納言 清少納言 清少納言 名詞 6 人名 5 * 0 * 0 "代表表記:清少納言/清少納言 自動獲得:Wikipedia Wikipedia上位語:歌人/かじん Wikipedia人名 読み不明 漢字"
Sudachi 清少納言 名詞,固有名詞,人名,一般,, 清少納言
JANOME 清少納言 名詞,固有名詞,人名,一般,,,清少納言,セイショウナゴン,セイショーナゴン
KyTea 清少納言/名詞/せいしょうなごん
Yahoo! 日本語形態素解析API 清少納言 せいしょうなごん 名詞,人名その他,*,清少納言,せいしょうなごん,清少納言
Google Natural Language API 清 NOUN
少 AFFIX
納 AFFIX
言 AFFIX

「綺羅星のごとく」

エンジン 結果
MeCab 綺羅星 名詞,一般,,,,,綺羅星,キラボシ,キラボシ
の 助詞,連体化,,,,,の,ノ,ノ
ごとく 助動詞,,,*,文語・ゴトシ,連用形,ごとし,ゴトク,ゴト
juman++ 綺羅 きら 綺羅 名詞 6 組織名 6 * 0 * 0 "代表表記:綺羅/きら 自動獲得:Wikipedia Wikipedia組織名 漢字"
星 ほし 星 名詞 6 普通名詞 1 * 0 * 0 "代表表記:星/ほし 漢字読み:訓 カテゴリ:自然物 漢字"
の の だ 判定詞 4 * 0 判定詞 25 ダ列特殊連体形 4 NIL
ごとく ごとく ごとし 助動詞 5 * 0 助動詞く型 30 基本連用形 3 "代表表記:ごとく/ごとく"
Sudachi 綺羅星 名詞,普通名詞,一般,,, 綺羅星
の 助詞,格助詞,
,,,
ごとく 助動詞,
,,,文語助動詞-ゴトシ,連用形-一般 ごとし
JANOME 綺羅星 名詞,一般,,,,,綺羅星,キラボシ,キラボシ
の 助詞,連体化,,,,,の,ノ,ノ
ごとく 助動詞,,,*,文語・ゴトシ,連用形,ごとし,ゴトク,ゴトク
KyTea 綺羅/名詞/きら
星/名詞/ほし
の/助詞/の
ごと/助動詞/ごと
く/語尾/く
Yahoo! 日本語形態素解析API 綺羅星 きらぼし 名詞,名詞,,綺羅星,きらぼし,綺羅星
の の 助詞,助詞連体化,
,の,の,の
ごとく ごとく 助動詞,助動詞ゴトシ,連用形,ごとく,ごとく,ごとし
Google Natural Language API 綺羅 NOUN
星 AFFIX
の PRT
ごとく NOUN

「間髪を入れず」

エンジン 結果
MeCab 間髪 名詞,一般,,,,,間髪,カンパツ,カンパツ
を 助詞,格助詞,一般,,,,を,ヲ,ヲ
入れ 動詞,自立,
,,一段,未然形,入れる,イレ,イレ
ず 助動詞,
,,,特殊・ヌ,連用ニ接続,ぬ,ズ,
juman++ 間髪を入れず かんはつをいれず 間髪を入れず 副詞 8 * 0 * 0 * 0 "代表表記:間髪を入れず/かんはつをいれず"
Sudachi 間髪 名詞,普通名詞,一般,,, 間髪
を 助詞,格助詞,
,,,
入れ 動詞,一般,
,,下一段-ラ行,未然形-一般 入れる
ず 助動詞,
,,,助動詞-ヌ,終止形-一般 ず
JANOME 間髪 名詞,一般,,,,,間髪,カンパツ,カンパツ
を 助詞,格助詞,一般,,,,を,ヲ,ヲ
入れ 動詞,自立,
,,一段,未然形,入れる,イレ,イレ
ず 助動詞,
,,,特殊・ヌ,連用ニ接続,ぬ,ズ,ズ
KyTea 間髪/名詞/かんぱつ
を/助詞/を
入れ/動詞/いれ
ず/助動詞/ず
Yahoo! 日本語形態素解析API 間髪を入れず かんはつをいれず 副詞,副詞,*,間髪を入れず,かんはつをいれず,間髪を入れず
Google Natural Language API 間 NOUN
髪 NOUN
を PRT
入れる VERB
ず VERB

「日本百合戦」

エンジン 結果
MeCab 日本 名詞,固有名詞,地域,国,,,日本,ニッポン,ニッポン
百 名詞,数,,,,,百,ヒャク,ヒャク
合戦 名詞,サ変接続,,,,,合戦,カッセン,カッセ
juman++ 日本 にっぽん 日本 名詞 6 地名 4 * 0 * 0 "代表表記:日本/にほん 地名:国 漢字"
@ 日本 にほん 日本 名詞 6 地名 4 * 0 * 0 "代表表記:日本/にほん 地名:国 漢字"
百 百 百 名詞 6 数詞 7 * 0 * 0 "代表表記:百/百 "カテゴリ:数量" 漢字"
合戦 かっせん 合戦 名詞 6 サ変名詞 2 * 0 * 0 "代表表記:合戦/かっせん カテゴリ:抽象物 漢字"
Sudachi 日本 名詞,固有名詞,地名,国,, 日本
百 名詞,数詞,,,, 100
合戦 名詞,普通名詞,サ変可能,,,* 合戦
JANOME 日本 名詞,固有名詞,地域,国,,,日本,ニッポン,ニッポン
百 名詞,数,,,,,百,ヒャク,ヒャク
合戦 名詞,サ変接続,,,,,合戦,カッセン,カッセン
KyTea 日本/名詞/にほん
百/名詞/ひゃく
合戦/名詞/がっせん
Yahoo! 日本語形態素解析API 日本 にほん 名詞,地名,,日本,にほん,日本
百合 ゆり 名詞,名詞,
,百合,ゆり,百合
戦 せん 接尾辞,接尾,*,戦,せん,戦
Google Natural Language API 日本 NOUN
百 NOUN
合戦 NOUN

「せつなさみだれうち」

エンジン 結果
MeCab せつな 形容詞,自立,,,形容詞・アウオ段,ガル接続,せつない,セツナ,セツナ
さ 名詞,接尾,特殊,,,,さ,サ,サ
みだれ 動詞,自立,
,,一段,連用形,みだれる,ミダレ,ミダレ
うち 名詞,非自立,副詞可能,
,,,うち,ウチ,ウ
juman++ せつな せつな せつな 名詞 6 時相名詞 10 * 0 * 0 "代表表記:刹那/せつな 弱時相名詞 カテゴリ:時間"
さみだれ さみだれ さみだれ 名詞 6 普通名詞 1 * 0 * 0 "代表表記:五月雨/さみだれ カテゴリ:抽象物"
うち うち うち 名詞 6 副詞的名詞 9 * 0 * 0 "代表表記:うち/うち"
Sudachi せつな 形容詞,一般,,,形容詞,語幹-一般 切ない
さ 接尾辞,名詞的,一般,,,
みだれうち 動詞,一般,
,*,五段-タ行,連用形-一般 乱れ打つ
JANOME せつな 形容詞,自立,,,形容詞・アウオ段,ガル接続,せつない,セツナ,セツナ
さ 名詞,接尾,特殊,,,,さ,サ,サ
みだれ 動詞,自立,
,,一段,連用形,みだれる,ミダレ,ミダレ
うち 名詞,非自立,副詞可能,
,,,うち,ウチ,ウチ
KyTea せつな/名詞/せつな
さみだれ/ローマ字文/さみだれ
うち/名詞/うち
Yahoo! 日本語形態素解析API せつな せつな 名詞,名詞,,せつな,せつな,せつな
さみだれ さみだれ 名詞,名詞,
,さみだれ,さみだれ,さみだれ
うち うち 名詞,名詞,*,うち,うち,うち
Google Natural Language API せつな DET
さ AFFIX
み AFFIX
だれ ADV
うち NOUN

「ぱんつくった」

エンジン 結果
MeCab ぱんつくった 名詞,一般,,,,,*
juman++ ぱんつ ぱんつ ぱんつ 名詞 6 普通名詞 1 * 0 * 0 "代表表記:ぱんつ/ぱんつ 自動獲得:Wikipedia Wikipediaリダイレクト:パンツ"
くった くった くう 動詞 2 * 0 子音動詞ワ行 12 タ形 10 "代表表記:食う/くう ドメイン:料理・食事"
Sudachi ぱん 副詞,,,,, ぱん
つくっ 動詞,一般,
,,五段-ラ行,連用形-促音便 作る
た 助動詞,
,,,助動詞-タ,終止形-一般
JANOME ぱんつくった 名詞,一般,,,,,ぱんつくった,,
KyTea ぱん/名詞/ぱん
つく/動詞/つく
っ/語尾/っ
た/助動詞/
Yahoo! 日本語形態素解析API ぱん ぱん 名詞,名詞,*,ぱん,ぱん,ぱん
つくっ つくっ 動詞,ラ五,連用タ接続,つくっ,つくっ,つくる
た た 助動詞,助動詞た,基本形,た,た,た
Google Natural Language API ぱんつくっ VERB
た VERB

結論

最初に書いた通り形態素解析器を貶めるものではありません。この結果により優劣を競うものではありません。

なんとなく興味があったのでいろんな形態素解析器で試してみた次第です。

各システムで特徴がありますね。