ボットについて考えた(人工無能その1)

KASAです
ブログ、取っ散らかったままですが、また新たなものを投入しますw

最近はTwiiterのボットについて勉強していました。

要は文章をどうやって生成させるかですが、

いまや読んで違和感のない結構な長文をAIが生成してくれるようです。

 

 

フェイクニュースもなかなかの出来で、最近のWebに上がっている各有名メディアのニュースより読みやすく、

記者も見習ってほしいものだと思います。(もちろんフェイクの部分ではなく文章構成力をですよ)

 

それとは別の路線で、ボケてるというかいい加減でちょっと笑える文章を生成させているボットもありますね。

個人的にはこっちの方が好みです。

人間の後追い(最近は劣化人間が多くてAIに負けてる人ばかりですがw)ではなく

人間が思いつかない(無意識のうちに排除してしまう)ような文体を平気で紡ぎ出す

こっちの方が楽しくないですか?

 

週末だったのでその人口無能ともいわれる類の超入門をVBAで作ってみました

Excelの「開発」タブの「挿入」でボタンを1つ作ります。

マクロでボタンを作ってください

で「マクロ名(M):」に「人口無能その1」と書き込んで「新規作成」を押します。

VBE(エディタ)が開いて、

 

——————————————————————————

Sub 人口無能その1()

 

End Sub

——————————————————————————

 

となっているはずなので、

以下のように編集してください。

 

Function randX()
randX = Int(Rnd() * 10)
End Function

Sub 人口無能その1()

‘データの種類
Dim 名前とか() As Variant
Dim 助詞とか() As Variant
Dim 名詞とか() As Variant
Dim 時期とか() As Variant

Dim 応答OK() As Variant
Dim 応答NG() As Variant

‘データの設定
名前とか = Array(“あなた”, “わたし”, “かれ”, “かのじょ”, “こども”, “おとな”, “ちち”, “はは”, “じいちゃん”, “ばあちゃん”)
時期とか = Array(“かこ”, “きのう”, “きょう”, “げんざい”, “あした”, “みらい”, “におい”, “しゅみ”, “しごと”, “みため”)
名詞とか = Array(“かいほう”, “せいやく”, “はかい”, “せいせい”, “とりくみ”, “かいかく”, “てったい”, “もんぜつ”, “こうさん”, “あい”)
助詞とか = Array(“の”, “は”, “と”, “が”, “も”, “へ”, “に”, “を”, “から”, “しゅうへんの”)

応答OK = Array(“イケてるやろ”, “わかってるね”, “まあね”, “もっといく?”, “ありがとう”, “こんなもんかな”, “では~”, “乙”, “かみのみぞしる”, “またな”)
応答NG = Array(“わからんかな”, “れべち”, “すらんぷ”, “りとらい”, “ありがとう”, “あんたがいうな”, “では~”, “…”, “すまんな”, “またな”)

‘文の定義
あほな文1 = 名前とか(randX()) + ” ” + 助詞とか(randX()) + ” ” + 時期とか(randX()) + ” ” + “の話をしよう”
あほな文2 = “結局 ” + 名前とか(randX()) + ” ” + 助詞とか(randX()) + ” ” + 名前とか(randX()) + ” ” + 助詞とか(randX()) + ” ” + 名詞とか(randX()) + ” ” + “しても”
あほな文3 = 名前とか(randX()) + ” ” + 助詞とか(randX()) + ” ” + 名前とか(randX()) + ” ” + 助詞とか(randX()) + ” ” + 名詞とか(randX()) + ” ” + “でしかない”

If (MsgBox(あほな文1 + vbCrLf + あほな文2 + vbCrLf + あほな文3 + vbCrLf, vbYesNo) = vbYes) Then
MsgBox 応答OK(randX())
Else
MsgBox 応答NG(randX())
End If

End Sub

 

改行が解り難いので画像も貼っときます

こんな感じでどうでしょう?

 

出来た「ボタン1「なんかいって」とかに変えると雰囲気でますねw

これでも応答は別で、1013乗の文章が生成されるんですよw(意味は別として)

AIと呼ばれるもので「何億通り」とかいってるのがいかにしょぼい可能性があるかわかると思います。

(もちろん素晴らしいものもあるのですが)

組み合わせについてルールをいれればまともな会話に近づくはずです。

ただ文のルールとかを入れることで会話力は向上しますが、意表をついた名文(迷文)が出なくなります。

 

上のプログラムには学習要素は含まれていませんが、

文章から単語を抜き出して自身のデータをに追加する処理を加えると語彙が増えます

対話型などでは必須ですね。

 

実行結果は恥ずかしいので載せませんw (この辺は人口無能にない無駄な抵抗ですね)
皆さんも適当に単語を置き換えたり、文の定義をいじってチューニングしてみてください。
世紀の名文ができたら教えてくださいね!

 

各種分野で一緒に働いてくれる方、応募お待ちしてます。
AI
のお仕事はまだないようですが、「こんな仕事がしてみたい」といった逆アピールも検討してもらえるかもしれませんよ



▼この記事がいいね!と思ったらブックマークお願いします
このエントリーをはてなブックマークに追加