ぬゅぼうのPython日記【学習ファイルに新しい単語を教えていくよ】

↓前回↓

前回は入力した文章の文法パターンを保存する
そして、そのパターンに則った新しい文章を出力する
sentence関数を書きました。

今回はこの関数を使ってバンバン文法を学習させてみましょう!

とりあえずやることは文章を考えて関数に食わせる作業ですね。


ちょっとした例文を入力してみましょうかね。


入力 山に登るのが趣味です。

出力 趣味に登るのに生き物です。

趣味に登る…なんだか詩的な表現だな。


入力 私は日本に住んでいます。

出力 私は日本に住んでいます。

ふんふん、普通にオウム返しになる場合もあるわけですね?
sentence関数の仕様上、
カテゴリが同じ単語のlist内から
randomモジュールを利用して
返す単語を決定しているので、
同カテゴリに保存されている単語が無い、あるいは少ない場合は
入力された単語まんま戻ってくる確率が高くなります。


入力 馬に乗って移動します。

出力 生き物に乗っで移動します。

馬であることが伏せられてしまった。


入力 あなたに向かってボールを投げます。

出力 私に向かって馬が投げます。

なんかちょっと文章が続いてるっぽい感じになったな。
肩の強い馬だこと…


入力 明日は雨が降ります。

出力 明日は山が投げます。

山も投げてくれました。
噴石かな??



入力 僕は犬が大好きです。

出力 僕は雨が大好きです。

良いですね!ちゃんと自然な文章になってます。


さてそれではちょっと長めの文章行ってみましょうか。

入力 私の兄はアメリカでハンバーガーを売って生活しています。

出力 私の人間は日本に趣味が売っで生活しでいます。

『私の人間』、闇を感じる表現だな…

いらすとやさんで素材探してたら見つけました。なんだこのイラスト



入力 僕は一年前から芋を探しています。

出力 私は一年前で兄が探しています。

お兄さんから逃げているのか…?


入力 彼の父親は素晴らしいサッカー選手です。

出力 私の趣味は素晴らしい選手趣味です。

素晴らしい選手の追っかけとかでしょうか…?


入力 雨が降る日は傘を持って家から出ることが望ましいです。

出力 馬に降る日はボールで持っでサッカーに出るのから望ましいです。

『ボールを持っでサッカーに出る』
奇跡的に意味の通る文章になっててびっくりした。

とはいえここまで見た感じ、細かい助詞の部分がバグることが多いですね…
ここをカバーできるように直したいな。


入力
海にはたくさんの美味しい魚がいて、市場でそれらを食べることができます。

出力
選手をは前の望ましい山に投げて、ボールが僕で食べることを降ります。

選手を望ましい山に投げるな。

あと僕ボールに捕食されてない?


入力 お餅は日本に古くから伝わる美味しい食材です。

出力 お山は日本が古くを降る望ましい犬です。

お山は望ましい犬ではない。


入力
日本ではお寿司にわさびを付けて食べるのが一般的です。

出力
日本がはお趣味からハンバーガーで降りて出ることがハンバーガー的です。

和から洋へものすごい方針転換しましたね。
ハンバーガー的とは一体…?

この辺で既存の名言いってみましょうか。

入力 人間は考える葦である。

出力 芋は食べるボールである。

なんかちょっとありそうで笑っちゃった。


入力 少年よ、大志を抱け

出力 少年よ、ハンバーガーで投げ

食べ物を粗末にするんじゃない!


入力 それでも地球は回っている。

出力 それでも山は売っている。

キャンプ場にでもするんか…?


入力 芸術は爆発だ

出力 食材は移動だ

冷蔵庫替えるのかな??


入力 高度に発展した科学は魔法と見分けがつかない

出力 高度に移動した家は人間と葦をつかない

高度に移動した家って何…??キャンピングカー?


入力 パンがなければケーキを食べればいいじゃない

出力 サッカーになければボールが食べればいいじゃない

多分ボールがないからサッカーできないんだろ!!!

…あっ
図らずも元ネタと似たような理不尽さに!!


入力 柿食えば鐘が鳴るなり法隆寺

出力 大志食えなり大志から伝わるなり法隆寺

大志食うなナリ!!(コ●助)


入力 五月雨を集めて早し最上川

出力 食材が降りなり早し最上川

くもりときどきミートボールじゃん。


入力 やせ蛙負けるな一茶これにあり

出力 集め市場負けるよ一茶あなたからあり

負けるよとか言うな一茶!!
集め市場ってなんだ ショッピングモールか?


入力 吾輩は猫である

出力 みんなも鐘である

俺も鐘!お前も鐘!!みんなも鐘!!!


…少々遊びすぎましたね。

今回の内容で35文法パターン
74単語カテゴリを学習できました。

次回はsentence_dataを使って
入力に頼らず新しい文法パターンを出力するコードを書こうかな。

ゆくゆくは生成された文章を自然かどうか判定して精度を上げていく作業
必要になってくるかな…

その辺は今後詰めていきますね!

それでは!

この記事が気に入ったらサポートをしてみませんか?