やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

PythonでMeCabのCSVを使い基本形から仮定形へと変形させる

 已然形ともいう。

成果物

情報源

 仮定形ともいう。已然形は文語、仮定形は現代口語で使われる用語。

準備

 カタカナをひらがなに変換するため。

pip3 install jaconv
  • 実行パスに辞書ファイルが存在すること

コード

Izen.py

import re
import jaconv
# 已然形。仮定形ともいう。「仮定形」「仮定縮約1」など
class Izen:
    def __init__(self):
        self.__re_min = re.compile(r'^仮定縮約(.+)$')
    # 「ば」
    def get_ba(self, row):
        if '仮定形' == row[9]: return row[0] + 'ば'
        else: return None
    # 「ども」
    def get_domo(self, row):
        if '仮定形' == row[9]: return row[0] + 'ども'
        else: return None
    # 「たら」
    def get_tara(self, row):
        if '仮定形' == row[9]: return row[0] + 'たら'
        else: return None
    # 「れば」
    def get_reba(self, row):
        if '仮定形' == row[9] and not ('一段' in row[8] or '二段' in row[8]): return row[0] + 'れば'
        else: return None
    # 「る」
    def get_ru(self, row):
        if '仮定形' == row[9]: return row[0] + 'る'
        else: return None
    # 「れる」
    def get_reru(self, row):
        if '仮定形' == row[9] and not ('一段' in row[8] or '二段' in row[8]): return row[0] + 'れる'
        else: return None
    # 「仮定縮約1」など
    def get_min(self, row):
        m = self.__re_min.match(row[9])
        if m: return row[0]
        else: return None

結果

===== 走る =====
走れば
走れども
走れたら
走れれば
走れる
走れれる
走りゃ
===== 押す =====
押せば
押せども
押せたら
押せれば
押せる
押せれる
押しゃ
===== 愛する =====
愛すれば
愛すれども
愛すれたら
愛すれれば
愛すれる
愛すれれる
愛すりゃ
===== 見る =====
見れば
見れども
見れたら
見れる
見りゃ
===== 食べる =====
食べれば
食べれども
食べれたら
食べれる
食べりゃ
===== 来る =====
来れば
来れども
来れたら
来れれば
来れる
来れれる
来りゃ
来れば
来れども
来れたら
来れれば
来れる
来れれる
来りゃ
来れば
来れども
来れたら
来れれば
来れる
来れれる
来りゃ
===== 悲しい =====
悲しければ
悲しけれども
悲しけれたら
悲しけれれば
悲しけれる
悲しけれれる
悲しけりゃ
悲しきゃ
===== ござる =====
ござれば
ござれども
ござれたら
ござれれば
ござれる
ござれれる
ござりゃ
  • 仮定縮約
    • 「仮定縮約1」などは走りゃように「れば」が「りゃ」になっている
    • 「仮定縮約2」などは悲しきゃように「ければ」が「きゃ」になっている。仮定縮約1より短い
  • 「れ」
    • 走れればはまだ良いと思う。「走れたら」の意味だから。でも走れれるはおかしい
    • 愛すれたら愛せたらでは?
    • 食べれるはラ抜き言葉になってしまっていないか? だがWikipedia曰くじつは「r入り言葉」という説も
    • 悲しけれれる, ござれれば……レレレのおじさんレベル

所感

 「見る」と入力すれば「見れ」になり「ば」をつけれる。クレヨンしんちゃんの次回予告「見れば?」が作れる。煽りBOTが作れそう。

 たらればBOTも作れそう。未練や後悔、己の無能さを延々と垂れ流すウジウジBOT。「食べれたらよかったのに……」「走れども痩せない……」「あのとき、もっと頑張れば……」「アレをアレたら、どれだけ良かったろう……」など悲壮感を演出してくれそう。かつてない人間味にあふれたBOTとなること間違いなし!

 ついでに「でも・だって・どうせ・だもん・だめ」の5Dを追加させればパワーアップ。共感させて心を挫く精神兵器が作れそう。「デーモン・ダーリン・だっちゃ・痔・童貞・ダサい」の6Dもね。3Dどころか時代は11次元。

対象環境

$ uname -a
Linux raspberrypi 4.19.42-v7+ #1218 SMP Tue May 14 00:48:17 BST 2019 armv7l GNU/Linux