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より短い
- 「仮定縮約1」などは
- 「れ」
走れれば
はまだ良いと思う。「走れたら」の意味だから。でも走れれる
はおかしい愛すれたら
は愛せたら
では?食べれる
はラ抜き言葉になってしまっていないか? だがWikipedia曰くじつは「r入り言葉」という説も悲しけれれる
,ござれれば
……レレレのおじさんレベル
所感
「見る」と入力すれば「見れ」になり「ば」をつけれる。クレヨンしんちゃんの次回予告「見れば?」が作れる。煽りBOTが作れそう。
たらればBOTも作れそう。未練や後悔、己の無能さを延々と垂れ流すウジウジBOT。「食べれたらよかったのに……」「走れども痩せない……」「あのとき、もっと頑張れば……」「アレをアレたら、どれだけ良かったろう……」など悲壮感を演出してくれそう。かつてない人間味にあふれたBOTとなること間違いなし!
ついでに「でも・だって・どうせ・だもん・だめ」の5Dを追加させればパワーアップ。共感させて心を挫く精神兵器が作れそう。「デーモン・ダーリン・だっちゃ・痔・童貞・ダサい」の6Dもね。3Dどころか時代は11次元。
対象環境
- Raspbierry pi 3 Model B+
- Raspbian stretch 9.0 2018-11-13 ※
- bash 4.4.12(1)-release ※
- Python 3.5.3
- SQLite 3.29.0 ※
- MeCab 0.996ユーザ辞書
$ uname -a Linux raspberrypi 4.19.42-v7+ #1218 SMP Tue May 14 00:48:17 BST 2019 armv7l GNU/Linux