今回はバビ語をマスターしたいなーと思い
バビ語変換を試みてみました。
解説動画はこちら
さて、まずバビ語についてですが
近年では最近見る機会が減りましたが
日向坂46齊藤京子さんが使いこなす
入れ詞の一種です。
一応日向坂46のキャプテン
佐々木久美さんは通訳出来るみたいです。
となります。
さて、これをプログラムに置き換えてみましょう。
コードはこちら
さばいびとぼうぶきょぼうぶこぼでべすぶ。
かばすぶがばでべすぶ。
こんな感じで文章をバビ語に変換できます。
制約として「ひらがな」だけを
変換することができます。
「ひらがな推し」なので・・・
次に、バビ語を通訳してみましょう。
バビ語の文章を元に戻すのも考えてみました。
こんな感じになりました。
ということで、バビ語に変換と
バビ語から元に戻すプログラムを
作ってみました。
これでニュースなども全部
バビ語にすることができますね!!!!
今回はバビ語マスターのための
バビ語変換プログラムでした。
それでは。
バビ語変換を試みてみました。
解説動画はこちら
さて、まずバビ語についてですが
近年では最近見る機会が減りましたが
日向坂46齊藤京子さんが使いこなす
入れ詞の一種です。
一応日向坂46のキャプテン
佐々木久美さんは通訳出来るみたいです。
元々は1970年代初頭の中三トリオ
(森昌子、桜田淳子、山口百恵)が
(森昌子、桜田淳子、山口百恵)が
内緒話をするのに使っていたという
発祥起源説があります。
ルールはいたって簡単で
「はい」→「はばいび」
少し細かいルールを追加すると
小さい「っ」はそのまま「ついったー」→「つぶいびったばーば」
発祥起源説があります。
ルールはいたって簡単で
ば・び・ぶ・べ・ぼを言葉の間に挟んでしゃべる
「はい」→「はばいび」
ア行は「ば」・イ行は「び」・・・
のように言葉にばびぶべぼを挟むだけです。少し細かいルールを追加すると
ー のあとは前の母音のバ行をつける
「らーめん」 → 「らばーばめべんぶ」
小さい「っ」はそのまま
となります。
さて、これをプログラムに置き換えてみましょう。
コードはこちら
import re # 文字列の定義 row_a = [s for s in 'あかさたなはまやらわがざだばぱ'] row_i = [s for s in 'いきしちにひみりぎじぢびぴ'] row_u = [s for s in 'うくすつぬふむゆるんぐずづぶぷ'] row_e = [s for s in 'えけせてねへめれげぜでべぺ'] row_o = [s for s in 'おこそとのほもよろをごぞどぼぽ'] row_kya = re.split('(..)','きゃぎゃしゃじゃちゃぢゃにゃひゃびゃぴゃみゃりゃ')[1::2] row_kyu = re.split('(..)','きゅぎゅしゅじゅちゅぢゅにゅひゅびゅぴゅみゅりゅ')[1::2] row_kyo = re.split('(..)','きょぎょしょじょちょぢょにょひょびょぴょみょりょ')[1::2] # 辞書の定義 dict_a = { k:k+'ば' for k in row_a} dict_i = { k:k+'び' for k in row_i} dict_u = { k:k+'ぶ' for k in row_u} dict_e = { k:k+'べ' for k in row_e} dict_o = { k:k+'ぼ' for k in row_o} dict_kya = { k:k+'ば' for k in row_kya} dict_kyu = { k:k+'ぶ' for k in row_kyu} dict_kyo = { k:k+'ぼ' for k in row_kyo} babigo_dict = {**dict_a, **dict_i, **dict_u, **dict_e, **dict_o, **dict_kya, **dict_kyu, **dict_kyo} # 逆変換辞書の定義 icd_a = { k+'ば':k for k in row_a} icd_i = { k+'び':k for k in row_i} icd_u = { k+'ぶ':k for k in row_u} icd_e = { k+'べ':k for k in row_e} icd_o = { k+'ぼ':k for k in row_o} icd_kya = { k+'ば':k for k in row_kya} icd_kyu = { k+'ぶ':k for k in row_kyu} icd_kyo = { k+'ぼ':k for k in row_kyo} icd_dict1 = {**icd_a , **icd_i , **icd_u , **icd_e , **icd_o } icd_dict2 = {**icd_kya , **icd_kyu , **icd_kyo} icd_dict3 = {'ーば':'ー' , 'ーび':'ー' , 'ーぶ':'ー' , 'ーべ':'ー' , 'ーぼ':'ー'} b_dict = {**icd_dict1 , **icd_dict2 , **icd_dict3}
# 文章をバビ語に変換する def change_babigo(text): babigo,out = '','' for i,s in enumerate(text): if s in row_a + row_i + row_u + row_e + row_o: if ''!=out: babigo += babigo_dict[out] if i == len(text)-1: babigo += babigo_dict[s] out = s elif s in ['っ']: babigo += babigo_dict[out] + s out = '' elif s in ['ゃ','ゅ','ょ']: out += s babigo += babigo_dict[out] out = '' elif 'ー'==s: tmp = babigo_dict[out] babigo += tmp + 'ー' + tmp[-1] out = '' elif s in ['、','。']: if ''!=out: babigo += babigo_dict[out] babigo += s out = '' return babigo
text = "らーめんだいすき、さいとうきょうこです。" print(change_babigo(text))らばーばめべんぶだばいびすぶきび、
さばいびとぼうぶきょぼうぶこぼでべすぶ。
text = "あたしのなまえは、かすがです。" print(change_babigo(text))あばたばしびのぼなばまばえべはば、
かばすぶがばでべすぶ。
こんな感じで文章をバビ語に変換できます。
制約として「ひらがな」だけを
変換することができます。
「ひらがな推し」なので・・・
次に、バビ語を通訳してみましょう。
バビ語の文章を元に戻すのも考えてみました。
こんな感じになりました。
# バビ語を元の文章に戻す def babigo_reverse(babigo): for k,v in icd_dict2.items(): babigo = babigo.replace(k,' ' + k + ' ') for k,v in icd_dict1.items(): babigo = babigo.replace(k,' ' + k + ' ') babigo = babigo.replace(' ',' ') tmp = babigo.split(' ') out = '' for t in tmp: if t in b_dict: out += b_dict[t] else: out += t return out
babigo = 'らばーばめべんぶだばいびすぶきび、さばいびとぼうぶきょぼうぶこぼでべすぶ。' print(babigo_reverse(babigo))らーめんだいすき、さいとうきょうこです。
ということで、バビ語に変換と
バビ語から元に戻すプログラムを
作ってみました。
これでニュースなども全部
バビ語にすることができますね!!!!
今回はバビ語マスターのための
バビ語変換プログラムでした。
それでは。