ゴリラと学ぶ「PythonとMeCabで走れメロスを改造」
日本の歴史上には、いろいろな小説家がたいへんよい小説をかいていっているウホ。そのなかのひとりの太宰治も、さまざまな作品を残していっているウホ。ニンゲン👫も国語の教科書のなかで読んだことがあるかもしれないウホ。
でも、おおくの作品はニンゲン向けに描かれているウホ。ゴリラ日本語をはなすゴリラ🦍のために書かれた小説は(たぶん)ないと思うウホ。ゴリはその現状をなんとかしていきたいと思ったウホ。
さいわいにも、これまでニンゲンがつくってきた小説の中には、パブリックドメインとして公開されているものが存在しているウホ。
ゴリはその恩恵にあずかって、それらの公開されている小説をゴリラ日本語に変換していくことで、ゴリラにとってよりよみやすい小説を作ってみたいウホ!
というわけで、こんかいは文章をゴリラ向けに変換することをやるウホ。
もんだい
小説の一部分をゴリラ日本語にしたものに変換してほしいウホ。
ゴリラ日本語は次のとおりの話し方だとするウホ。
- 一人称の「私」は「ゴリ」
- 語尾は「ウホ。」「ウホ?」「ウホ!」
ただし、Pythonをつかって変換することにするウホ。
🦍🦍🦍🦍🦍🦍🦍🦍🦍🦍🦍
つくったもの
動作環境: Google colaboraoty (python3 notebook 2020/02/26)
「PythonとMeCabでゴリラことわざを生成するウホ」と「Pythonで日本語をゴリラ日本語に変換するウホ」を組み合わせたウホ。コードは次の通りウホ。ちなみに、from google.colab import drive
からのdrive.mount('/content/gdrive')
と!pip install mecab-python3
はすませているものとするウホ。詳しくは上の記事を参考にしてほしいウホ。
import MeCab
data = open('./gdrive/My Drive/merosu.txt', 'r')
txt_merosu = data.readlines()
t = MeCab.Tagger()
with open('./gdrive/My Drive/merosu-gori.txt', 'w') as f:
for line in range(len(txt_merosu)):
txt = txt_merosu[line]
t_list = t.parse(txt).split()
noun_list = [t_list[i-1] for i in range(len(t_list)) if t_list[i][0:5] == '名詞,一般']
for noun in noun_list:
txt = txt.replace(noun, 'ゴリラ')
txt = txt.replace('。', 'ウホ。')
txt = txt.replace('?', 'ウホ?')
txt = txt.replace('!', 'ウホ!')
txt = txt.replace('私', 'ゴリ')
f.write(txt)
data.close()
txt
を破壊的にゴリラプログラミングしていったウホ。
具体的には、txt_merosu = data.readlines()
でファイルを一行ずつ読んでリスト化して、そのあとはfor line in range(len(txt_merosu)):
のなかでその一行ずつに処理をしていくウホ。noun_list = [t_list[i-1] for i in range(len(t_list)) if t_list[i][0:5] == '名詞,一般']
で品詞分解したあとの一般名詞のリストを作ったら、その一般名詞をtxt = txt.replace(noun, 'ゴリラ')
でゴリラに変えていくウホ。あとはひたすら、replace()
で語尾や一人称を変換して言ったウホ。
…
さっそく変換していくウホ。
入力したものは下の通りウホ。青空文庫 - 走れメロスから引用したウホ。引用と言いつつ、ルビは手動で消してあるから一部改変しているウホ。
入力したのは序盤のほうで、メロスが王に待ってほしいことをつたえるシーンの部分ウホ。 みやすいように改行はてきとうに加えているウホ。もとのファイルは改行せずにしたのやつをつかっているウホ。
「ああ、王は悧巧だ。自惚れているがよい。私は、ちゃんと死ぬる覚悟で居るのに。命乞いなど決してしない。ただ、――」と言いかけて、メロスは足もとに視線を落し瞬時ためらい、「ただ、私に情をかけたいつもりなら、処刑までに三日間の日限を与えて下さい。たった一人の妹に、亭主を持たせてやりたいのです。三日のうちに、私は村で結婚式を挙げさせ、必ず、ここへ帰って来ます。」
「ばかな。」と暴君は、嗄れた声で低く笑った。「とんでもない嘘を言うわい。逃がした小鳥が帰って来るというのか。」
「そうです。帰って来るのです。」メロスは必死で言い張った。「私は約束を守ります。私を、三日間だけ許して下さい。妹が、私の帰りを待っているのだ。そんなに私を信じられないならば、よろしい、この市にセリヌンティウスという石工がいます。私の無二の友人だ。あれを、人質としてここに置いて行こう。私が逃げてしまって、三日目の日暮まで、ここに帰って来なかったら、あの友人を絞め殺して下さい。たのむ、そうして下さい。」
で、改行したのは下の通りウホ。
「ああ、王は悧巧だ。
自惚れているがよい。
私は、ちゃんと死ぬる覚悟で居るのに。
命乞いなど決してしない。
ただ、――」と言いかけて、
メロスは足もとに視線を落し瞬時ためらい、
「ただ、私に情をかけたいつもりなら、
処刑までに三日間の日限を与えて下さい。
たった一人の妹に、
亭主を持たせてやりたいのです。
三日のうちに、
私は村で結婚式を挙げさせ、
必ず、ここへ帰って来ます。」
「ばかな。」と暴君は、
嗄れた声で低く笑った。
「とんでもない嘘を言うわい。
逃がした小鳥が帰って来るというのか。」
「そうです。帰って来るのです。」
メロスは必死で言い張った。
「私は約束を守ります。
私を、三日間だけ許して下さい。
妹が、私の帰りを待っているのだ。
そんなに私を信じられないならば、よろしい、
この市にセリヌンティウスという石工がいます。
私の無二の友人だ。
あれを、人質としてここに置いて行こう。
私が逃げてしまって、
三日目の日暮まで、
ここに帰って来なかったら、
あの友人を絞め殺して下さい。
たのむ、そうして下さい。」
そして、出力したものは以下の通りウホ。
「ああ、ゴリラはゴリラだウホ。
自惚れているがよいウホ。
ゴリは、ちゃんと死ぬる覚悟で居るのにウホ。
ゴリラなど決してしないウホ。
ただ、――」と言いかけて、
ゴリラはゴリラにゴリラを落しゴリラためらい、
「ただ、ゴリにゴリラをかけたいつもりなら、
処刑までに三日間のゴリラを与えて下さいウホ。
たった一人のゴリラに、
ゴリラを持たせてやりたいのですウホ。
三日のうちに、
ゴリはゴリラでゴリラを挙げさせ、
必ず、ここへ帰って来ますウホ。」
「ゴリラかなウホ。」とゴリラは、
嗄れたゴリラで低く笑ったウホ。
「とんでもないゴリラを言うわいウホ。
逃がしたゴリラが帰って来るというのかウホ。」
「そうですウホ。帰って来るのですウホ。」
ゴリラは必死で言い張ったウホ。
「ゴリは約束を守りますウホ。
ゴリを、三日間だけ許して下さいウホ。
ゴリラが、ゴリのゴリラを待っているのだウホ。
そんなにゴリを信じられないならば、よろしい、
このゴリラにセリヌンティウスというゴリラがいますウホ。
ゴリのゴリラのゴリラだウホ。
あれを、ゴリラとしてここに置いて行こうウホ。
ゴリが逃げてしまって、
三日目のゴリラまで、
ここに帰って来なかったら、
あのゴリラを絞め殺して下さいウホ。
たのむ、そうして下さいウホ。」
きになったところを見ていくウホ。
処刑までに三日間のゴリラを与えて下さいウホ。
ゴリラが食料か何かみたいに扱われているウホ。
ゴリラかなウホ。
ゴリラウホ。
逃がしたゴリラが帰って来るというのかウホ。
ゴリもそう思うウホ。
そうですウホ。帰って来るのですウホ。
え、帰ってくるウホ?
このゴリラにセリヌンティウスというゴリラがいますウホ。
セリヌンティウスはゴリラになったウホ。
ゴリのゴリラのゴリラだウホ。
原型とどめてないウホ。
あれを、ゴリラとしてここに置いて行こうウホ。
やっぱ元々はゴリラじゃないみたいな言い回しウホ。
三日目のゴリラまで
三日たってもゴリラはゴリラウホ。
あのゴリラを絞め殺して下さいウホ。
ゴリラパワーでしめられちゃうウホ。
こたえ: 上の通り
むりくり変換していったけど、それなりに読める文章になっていたウホ。ゴリラ日本語だと登場人物はのきなみゴリラになるから、ゴリラ🦍にとってはよみやすい文章になったウホ!
そのうち、変換の精度をあげていくか、もっといろいろ変換していきたいウホ。なんだかこむずかしくて読みにくい文章も、ゴリラを介してよめばきっときょうみしんしんで読んでいけるウホ!