残り2週間で完成できるのか?ーWebアプリ制作日記その14

AIアプリ制作
ちっとも先に進めず泣きたいわ。

ホント、5月10日までにアプリをデプロイ(*1)できるのか?

テキストを参考に自分なりにコードを書くと、
必ずといっていいほどエラーが出る。
そのたび、深い悲しみにおちいる。

解決しないと先に進めないのだが、
立ち直るには
ものすごいエネルギーがいる。
(だから、独学は難しい。)

今日も、
さあ、モデル構築!
と張り切っていたが、
前回のコードを見直したら、
Decoderデータの分かち書きを忘れていたことに気づいた。

Encoderデータは、
俳句から名詞だけ抜き出してリスト化したが、
Decoderデータは、
名詞だけではなく、
俳句ぜんぶを分かち書きしてリストに入れたい。

まあ、
Encoderデータ作成時のコードを
少し書き換えれば楽勝!

と思って試したが、何度やっても
エラー!

そんなはずはない!

と思っても、
相手は機械。

融通をきかせてはくれない。

そこで、
『つくりながら学ぶ! PyTorchによる発展ディープラーニング』

キカガク長期コースで勧められた一冊。

を参照して、

mecab2 = MeCab.Tagger(‘-Owakati’)

で、Owakatiオプションを使い、

texts2 = []
for text2 in t :
text2 = str(text2)
ret = mecab2.parse(text2) #これで分かち書きする
word2 = ret.strip().split() #スペース部分で区切ったリストに変換
word2.insert(0, “BOS”) #先頭にBOSをくっつける
word2.append(“EOS”) #末尾にEOSをくっつける
texts2.append(word2)

でようやく、目的を達した(*2)

これを得るまで2時間!

さあ、今度こそモデル構築!
と思ったら、
Encoderデータに不要な標題が入っていたり(*3)
分かち書きのミスがある(*4)
のに気づいた(Decoderデータしかり)。

もうかんべんして!

これじゃあ、
政府の自粛要請がなくても、
GWは、
ずっと「STAY HOME」(泣)。

*1 デプロイとは、Webサーバーにファイルをアップロードし、アプリをWeb上に公開すること。これにより、ネット環境で誰でも閲覧、利用することができる。
*2 Encoderデータ作成時に、Ochasenオプションを使って作業したので、わざわざOwakatiオプションを使う必要はないと思われるが、初心者の限界で回り道した。また、Encoderデータ作成のコードの流れを踏襲しているため、変数には2をつけている。
*3 元データが1ページ20句の表だったので、21行ごとに標題が入っていた。
*4 小林一茶の俳句は古い言い回し(古語)なので、分かち書きする辞書(ipa dictionary)が対応しきれない。なお、古語なので辞書をNEologdにしても改善しないと思われる。

Follow me!