環境構築・零

環境構築のその先へ

百人1首をRuby、hadoopを使って解析してみる。

github.com

hadoopのワードカウント

cd hadoopフォルダ

zinbeijett/txt/hyakunin.txtをinputフォルダへ入れて実行

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount ./input ./output

zinbeijettのengine -zオプションを実行

engine -z output/part-r-00000 2

21 : あはむとぞ思ふ,    2
50 : あるものを,   2
79 : いまひとたびの  2
169 : さ夜ふけて,  2
237 : ながむれば,  2
240 : ながらへば,  2
288 : ひとりかも寝む,    2
405 : わたの原  2
477 : 名こそをしけれ,    2
480 : 君がため  2
501 : 夜半の月かな,   2
618 : 朝ぼらけ  2
655 : 物をこそ思へ,   2
664 : 白妙の,    2
667 : 百人一首  2
678 : 秋の夕ぐれ,  2

riceシェルを実行

github.com

rice keitaiso.txt (解析しやすいように文字整形後)

※ わかち書き(suihan)、わかち書き&ワードカウント(kome)、形態素解析(rice)にわけました。

riceなどのシェルをzinbeijettのengineに取り込みました。次の1.1.4でRubyGemsリリースします...

Rubygemsにzinbeijettの1.1.5をリリースしました。-w,-x,-y,オプションでそれぞれわかち書き、形態素解析ができます。zinbeijett -hに詳細を英語で書きました。参考にどうぞ。

※ わかち書き

------------------------------ Mecab_wakati_Start ------------------------------

["あ", "は", "むとぞ", "思ふ", "ある", "もの", "を", "いま", "ひとたび", "の", "さ", "夜ふけ", "て", "な", "が", "むれ", "ば", "ながら", "へ", "ば", "ひとり", "かも", "寝", "む", "わたの原", "名", "こそ", "を", "しけ", "れ", "君", "が", "ため", "夜半", "の", "月", "か", "な", "朝ぼらけ", "物", "を", "こそ", "思へ", "白妙", "の", "百", "人", "一", "首", "秋", "の", "夕ぐれ"]

------------------------------- Mecab_wakati_End -------------------------------

※ ワードカウント ["わかち書き" , カウント数]

---------------------------- Mecab_wordcount_Start -----------------------------

[["夕ぐれ", 1], ["は", 1], ["むとぞ", 1], ["思ふ", 1], ["ある", 1], ["もの", 1], ["を", 3], ["いま", 1], ["ひとたび", 1], ["の", 4], ["さ", 1], ["夜ふけ", 1], ["て", 1], ["な", 2], ["が", 2], ["むれ", 1], ["ば", 2], ["ながら", 1], ["へ", 1], ["ひとり", 1], ["かも", 1], ["寝", 1], ["む", 1], ["わたの原", 1], ["名", 1], ["こそ", 2], ["しけ", 1], ["れ", 1], ["君", 1], ["ため", 1], ["夜半", 1], ["月", 1], ["か", 1], ["朝ぼらけ", 1], ["物", 1], ["思へ", 1], ["白妙", 1], ["百", 1], ["人", 1], ["首", 1], ["秋", 1], ["あ", 1]]
----------------------------- Mecab_wordcount_End ------------------------------

※ Nattoで形態素解析

----------------------------- Natto_keitaiso_Start -----------------------------

あ フィラー,*,*,*,*,*,あ,ア,ア
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
むとぞ   名詞,一般,*,*,*,*,*
思ふ  動詞,自立,*,*,四段・ハ行,基本形,思ふ,オモフ,オモウ
ある  連体詞,*,*,*,*,*,ある,アル,アル
もの  名詞,非自立,一般,*,*,*,もの,モノ,モノ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
いま  名詞,副詞可能,*,*,*,*,いま,イマ,イマ
ひとたび    名詞,一般,*,*,*,*,ひとたび,ヒトタビ,ヒトタビ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
さ 助詞,終助詞,*,*,*,*,さ,サ,サ
夜ふけ   名詞,一般,*,*,*,*,夜ふけ,ヨフケ,ヨフケ
て 助詞,格助詞,連語,*,*,*,て,テ,テ
な 助詞,終助詞,*,*,*,*,な,ナ,ナ
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
むれ  動詞,自立,*,*,一段,連用形,むれる,ムレ,ムレ
ば 名詞,一般,*,*,*,*,ば,バ,バ
ながら   助詞,接続助詞,*,*,*,*,ながら,ナガラ,ナガラ
へ 助詞,格助詞,一般,*,*,*,へ,ヘ,エ
ば 助詞,接続助詞,*,*,*,*,ば,バ,バ
ひとり   名詞,一般,*,*,*,*,ひとり,ヒトリ,ヒトリ
かも  助詞,副助詞,*,*,*,*,かも,カモ,カモ
寝 動詞,自立,*,*,一段,連用形,寝る,ネ,ネ
む 名詞,一般,*,*,*,*,*
わたの原    名詞,一般,*,*,*,*,わたの原,ワタノハラ,ワタノハラ
名 名詞,接尾,一般,*,*,*,名,メイ,メイ
こそ  助詞,係助詞,*,*,*,*,こそ,コソ,コソ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
しけ  動詞,自立,*,*,一段,未然形,しける,シケ,シケ
れ 動詞,接尾,*,*,一段,連用形,れる,レ,レ
君 名詞,代名詞,一般,*,*,*,君,キミ,キミ
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
ため  動詞,自立,*,*,一段,連用形,ためる,タメ,タメ
夜半  名詞,副詞可能,*,*,*,*,夜半,ヤハン,ヤハン
の 助詞,連体化,*,*,*,*,の,ノ,ノ
月 名詞,一般,*,*,*,*,月,ツキ,ツキ
か 助詞,副助詞/並立助詞/終助詞,*,*,*,*,か,カ,カ
な 助詞,終助詞,*,*,*,*,な,ナ,ナ
朝ぼらけ    名詞,一般,*,*,*,*,朝ぼらけ,アサボラケ,アサボラケ
物 名詞,接尾,一般,*,*,*,物,ブツ,ブツ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
こそ  助詞,係助詞,*,*,*,*,こそ,コソ,コソ
思へ  動詞,自立,*,*,一段,連用形,思へる,オモヘ,オモエ
白妙  名詞,一般,*,*,*,*,白妙,シロタエ,シロタエ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
百 名詞,数,*,*,*,*,百,ヒャク,ヒャク
人 名詞,接尾,助数詞,*,*,*,人,ニン,ニン
一 名詞,数,*,*,*,*,一,イチ,イチ
首 名詞,接尾,助数詞,*,*,*,首,シュ,シュ
秋 名詞,一般,*,*,*,*,秋,アキ,アキ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
夕ぐれ   名詞,一般,*,*,*,*,夕ぐれ,ユウグレ,ユーグレ
EOS

------------------------------ Natto_keitaiso_End ------------------------------

形態素解析を終了します...

百人一首の重複している言葉を形態素解析やわかち書きなどしてみました。

この先は、Python機械学習などでよりデータの深層に近づいていきます。

Copyright © 2007-2020 Takayuki Kamiyama. All Rights Reserved.