ゴリラと学ぶ「Pythonで日本語の語尾変換」
ゴリたちゴリラ🦍は、ふだんはゴリラ日本語で話しているウホ。ゴリラ日本語とは、大まかに言うと一人称が「ゴリ」で、語尾には「ウホ」がつくウホ。適度に絵文字も入れたりするウホ。
そんなゴリラ日本語だけど、文字入力がめんどくさいウホ。ふつうの日本語よりも二文字ふえるだけでも、まあまあな量になるウホ。うちまちがいとかしたら最悪ウホ。
そんなめんどくさがりなゴリだから、こういう作業は自動的にやらせたくなったウホ!さっそく、日本語をゴリラ日本語に変換するプログラムを作ってみることにしたウホ。
もんだい
Pythonをつかって、日本語をゴリラ日本語に変換したいウホ。条件は次の通りウホ。
- 「。」「?」「!」を「ウホ。」「ウホ?」「ウホ!」にする
- 一人称の「私」を「ゴリ」にする
どういうふうにコードすればいいウホ?
🦍🦍🦍🦍🦍🦍🦍🦍🦍🦍🦍
つくったもの
動作環境: Google colaboraoty (python3 notebook 2020/02/24)
さっくりとつくってみたウホ!基本的には、ゴリ押しでひたすらreplaceをかけることにしたウホ。
こんかいはGoogle colaboratoryでさっくりとやったから、まずはドライブをマウントさせる必要があったウホ。下のコードを実行して、指示に従ってマウントしたウホ。
from google.colab import drive
drive.mount('/content/gdrive')
そのあと、次のコードを実行したウホ。
data = open('./gdrive/My Drive/message.txt', 'r')
txt = data.read()
with open('./gdrive/My Drive/message-gori.txt', 'w') as f:
txt = txt.replace('。', 'ウホ。')
txt = txt.replace('?', 'ウホ?')
txt = txt.replace('!', 'ウホ!')
txt = txt.replace('私', 'ゴリ')
f.write(txt)
data.close()
なかみはいたってシンプルウホ。data
には、変換したいテキストがはいったファイルmessage.txt
を入れたウホ。
そして、txt
には、そのdata
をread()
したものを入れたウホ。そうしないと、どうやら型が_io.TextIOWrapper
としてあつかわれるみたいで、'_io.TextIOWrapper' object has no attribute 'replace'
とかいわれて置換できなくなっちゃうウホ。だから、read()
して文字列として読み込ませるようにするウホ。
あとは、出力先としてmessage-gori.txt
を開きながら、ひたすらreplace()
するウホ!できたやつがこのmessage-gori.txt
に書き込まれるウホ。
というわけで、今回は次の内容を翻訳してみることにしたウホ。
どうなっている?きちんとゴリラ日本語に変換されている?
されているならよかった!ウホという文字を打つたびにだんだんめんどくさい気持ちになっていた。
私はめんどくさがりだから、少しでも作業の量が減ってくれるならありがたい。
まったくPythonは便利だ。というよりプログラミング全体が便利だと思う。もっといろいろ勉強して出来るようになりたい。
ただし、今回の方法はシンプルにはてなマークやビックリマーク、句点にウホをつけているだけだから、こんなかんじで「。」とか途中の句点もウホがついてしまう。このへんは改良点になる。
変換した結果はさいごのコメントにのせるウホ!
こたえ: 上の通り
どうなっているウホ?きちんとゴリラ日本語に変換されているウホ? されているならよかったウホ!ウホという文字を打つたびにだんだんめんどくさい気持ちになっていたウホ。 ゴリはめんどくさがりだから、少しでも作業の量が減ってくれるならありがたいウホ。
まったくPythonは便利だウホ。というよりプログラミング全体が便利だと思うウホ。もっといろいろ勉強して出来るようになりたいウホ。
ただし、今回の方法はシンプルにはてなマークやビックリマーク、句点にウホをつけているだけだから、こんなかんじで「ウホ。」とか途中の句点もウホがついてしまうウホ。このへんは改良点になるウホ。