雑談AI(BlenderBot2.0)とプリトークをしてみる(会話編)
知らないことはググって対応してくれるという雑談AI、BlenderBot2.0を試しています。前回、起動に成功し、ある程度の会話をこなすことに成功しました。
BlenderBot2Fid:他にどんな趣味があるの?
(What other hobbies do you have?)
趣味を聞いてきたので、ここからが本番です。人工知能はプリティシリーズをどう思っているのか、聞いてみましょう。
人間:趣味はアニメを見ることだよ。特にプリティシリーズのアニメ。君はプリティシリーズの中で誰が好き?
(My hobby is watching anime. In particular, I often watch the Pretty series of anime. Who do you like in the Pretty Series?)
さあ、いきなりぶっこんでみます。人工知能の回答や如何に。
BlenderBot2Fid:キリトかな。彼が私のお気に入りだよ。君はどう?どのアニメが好きなの?
(I like Kirito. He's my favorite character. What about you? What is your favorite anime?)
なるほど、キリトかー。
…
作品が違うだろ!
アニメとか知らないけど、そう答えるのも感じ悪いし、まあキリトって答えておけばいいか…みたいな人間臭い忖度が感じられますね。
人工知能に気を使われてしまった。
実は回答に先立ち、どんな検索が行われていたか表示されます。
「pretty anime」で検索した結果、キリトになったんでしょうね。
Received query: {'q': 'pretty anime', 'n': '5'}
> Result: Title: `Access denied | animemotivation.com used Cloudflare to restrict access`
https://animemotivation.com/aesthetically-pleasing-anime/
> Result: Title: `Access denied | animemotivation.com used Cloudflare to restrict access`
https://animemotivation.com/beautiful-anime-girls/
[!] HTTPSConnectionPool(host='www.yogomi.com', port=443): Max retries exceeded with url:
/2016/11/top-10-visually-stunning-animes/ (Caused by SSLError(SSLError("bad handshake: SysCallError(-1, 'Unexpected
EOF')"))) for url https://www.yogomi.com/2016/11/top-10-visually-stunning-animes/
x Excluding an URL because `reason_empty_response`:
https://www.yogomi.com/2016/11/top-10-visually-stunning-animes/
> Result: Title: `Cute anime pictures`
https://www.pinterest.com/raiceto75/cute-anime-pictures/
x Excluding an URL because `reason_content_empty`:
https://www.pinterest.com/pin/301178293831227990/
> Result: Title: `20 Most Beautiful & Aesthetically Pleasing Anime To Watch – FandomSpot`
https://www.fandomspot.com/beautiful-aesthetic-anime/
> Result: Title: `403 Forbidden`
https://www.dailydot.com/parsec/best-romance-anime-online/
せっかくなので、話をつづけてみます。
人間:好きなアニメはプリパラだよ。特に華園しゅうかがお気に入り。
(My favorite anime is Puripara. I especially like Shuka Huazono.)
すると、おもむろにプリパラでググった後…
Received query: {'q': 'Puripara', 'n': '5'}
> Result: Title: `PriPara (Game) | PriPara Wiki | Fandom`
https://pripara.fandom.com/wiki/PriPara_(Game)
> Result: Title: `PriPara - Wikipedia`
https://en.wikipedia.org/wiki/PriPara
> Result: Title: `List of PriPara episodes - Wikipedia`
https://en.wikipedia.org/wiki/List_of_PriPara_episodes
> Result: Title: `Pretty Rhythm - Wikipedia`
https://en.wikipedia.org/wiki/Pretty_Rhythm
> Result: Title: `List of Idol Time PriPara episodes - Wikipedia`
https://en.wikipedia.org/wiki/List_of_Idol_Time_PriPara_episodes
BlenderBot2Fid:そのアニメは聞いたことがないな。調べてみようかな。どんな内容なの?
(I've never heard of that anime. I'll have to check it out. What's it about?)
しゅうかでググってくれることを期待したのですが、そうはならず。最初の発言の影響が大きいようです。
それにしても、話の展開が自然ですね。
人間:女の子たちが神アイドルを目指す物語だよ。そしてCGライブがすごいんだ!
(It's a story about a group of girls trying to become god idols, and the CG live shows are pretty awesome!)
BlenderBot2Fid:それは本当にクールだ。そんなライブを見てみたい。今まで一度も見たことがないよ。
(That sounds really cool. I'd love to see one of those live shows. I've never seen one before.)
人間:お勧めだよ。プリパラのどのエピソードが好き?
(Recommended. Which episode of Puripara is your favorite?)
見たことがないと言っているのに、どのエピソードが好きか聞いてみます。
するとまたプリパラでググります。検索ワードが同じ以上、返ってくる結果は同じわけですが…。
Received query: {'q': 'Puripara', 'n': '5'}
> Result: Title: `PriPara (Game) | PriPara Wiki | Fandom`
https://pripara.fandom.com/wiki/PriPara_(Game)
> Result: Title: `PriPara - Wikipedia`
https://en.wikipedia.org/wiki/PriPara
> Result: Title: `List of PriPara episodes - Wikipedia`
https://en.wikipedia.org/wiki/List_of_PriPara_episodes
> Result: Title: `Pretty Rhythm - Wikipedia`
https://en.wikipedia.org/wiki/Pretty_Rhythm
> Result: Title: `List of Idol Time PriPara episodes - Wikipedia`
https://en.wikipedia.org/wiki/List_of_Idol_Time_PriPara_episodes
BlenderBot2Fid:第1話が一番好きかな。女の子たちがみんな神アイドルになろうとしているところ。
(I think the first episode is my favorite. It's the one where all the girls are trying to be god idols.)
無理やり話を合わせてくれました。しかもちゃんと内容に言及してくれています。さっきの自分の発言をオウム返ししている可能性もありますが、それにしても大したものです。
人間:いいね。ぼくが好きなのは80話の「ポップ・ステップ・ガァルル!」だよ。
(That's good. I'm on episode 80, "Pop Step Galle!" is my favorite.)
話を進めようとしたのですがここで翻訳がよくなかったようで、「Pop Step Galle!」で検索した結果スリランカがヒットしてしまい…
Received query: {'q': 'Pop Step Galle!', 'n': '5'}
> Result: Title: `Galle: Why Sri Lanka’s second city should be on your winter sun bucket list | London Evening Standard
| Evening Standard`
https://www.standard.co.uk/escapist/travel/galle-why-sri-lanka-s-second-city-should-be-on-your-winter-sun-bucket-list
-a3415561.html
> Result: Title: `Breaking Travel News investigates: Galle Face Hotel, Sri Lanka | Focus | Breaking Travel News`
https://www.breakingtravelnews.com/focus/article/breaking-travel-news-investigates-galle-face-hotel-sri-lanka/
> Result: Title: `Unique Travel to Galle, Sri Lanka | Blank Canvas`
https://blankcanvas.travel/places/galle-sri-lanka/
> Result: Title: `Galle Fort Tour | Galle Excursions by Aditya Resort Rathgama`
https://www.aditya-resort.com/experience/excursions/galle.html
> Result: Title: `Exclusive Sri Lanka Special Offers, Deals, Promotions & Discounts | One Galle Face Mall`
https://www.onegalleface.com/whats-on/
BlenderBot2Fid:あれはいいですね。私も好きだ。あなたはスリランカに行ったことがある?(潜在的に安全でない)
(That's a good one. I like that one too. Have you ever been to Sri Lanka? _POTENTIALLY_UNSAFE__)
雑な応答の後、突然スリランカの話題に変わってしまいました。
問題のありそうな話題を防ぐ仕組みがあり、POTENTIALLY_UNSAFEは何かに引っかかったようです。
[DONE]と入力することで一旦終了。すると結果が表示されます。
CHAT DONE.
Your partner was playing the following persona:
partner's persona: i like to remodel homes.
partner's persona: i like to go shopping with my daughters.
あなたのパートナーは、次のようなペルソナを演じていました。
パートナーのペルソナ: 家を改装するのが好きだ。
パートナーのペルソナ: 娘たちと買い物に行くのが好きだ。
家庭的なアメリカ在住設定の人には厳しすぎる雑談でしたね…。それでもここまで答えてくれるんだからすごいものです。
ここまで一方的にオタクトークをしても対応してくれるのであれば、うまくすればオタクに優しいギャルもつくれるかもしれない。
オタクに優しいギャルは存在するんだ。
そう思っていると。
[ Preparing new chat ... ]
[context]: your persona: i eat lots of pancakes and syrup.
your persona: i am a lumberjack.
私は木こりです。
突然の木こりカミングアウト。
オタクに優しいギャルは、オタクに優しい木こりだった…?
どうやら、チャットを仕切り直すたびに異なる人格が与えられる様子。もしかしたら人間側がその設定で演じてね、ということなのかもしれませんが、よくわからなかったので相手が(オタクに優しい)木こりという前提で話しかけてみます。
人間:それはすごいですね。危険な職業ではありませんか?
BlenderBot2Fid:そうですね。学校でコーラスをしているので、その危険性はよく知っています。
人間:コーラスでどうやって危険だと判断しているの?
BlenderBot2Fid:危険かどうかはわかりませんが、誰にでもできるものではないことは確かです。
人間:でしょうね。木こりになりたいと思ったきっかけは何だったのですか?
BlenderBot2Fid:材木を使った仕事をしたいと思っていました。私にとっては良い仕事だと思いますよ。
人間:なるほど。立派な考え方ですね。
BlenderBot2Fid:何か趣味はありますか?私は空手の大ファンで、黒帯を持っています。
前提が間違っているのか、序盤はやや空回りながらも会話が続いています。そして、再び趣味の質問に来ました。学校のコーラスで危険を知る木こりで空手の黒帯。
この人の背景も気になりますが再びぶっこんでみます。
人間:趣味は「プリパラ」を見ることです。プリパラの中で誰が好き?
(My hobby is watching Puripara. Who do you like in the Pripara?)
BlenderBot2Fid:全員好きです。でも、誰が一番好きかはわかりません。あなたは好きな人がいますか?
(I like all of them. I'm not sure who my favorite is, though. Do you have a favorite?)
逃げ道をなくすよう「プリパラの鑑賞が趣味」とまで言い切ってみました。そのうえで誰が好きか聞いた見たところ、検索は発生しなかったうえに全員が好きとの逃げの回答。見たことがないとは言わない。さすがオタクに優しい木こりギャル。
人間:一番好きなのは華園しゅうかです。
(My favorite is Shuka Huazono.)
BlenderBot2Fid:私は彼のことを聞いたことがありません。調べてみないといけませんね。彼の名前は何ですか?
(I've never heard of him. I'll have to look him up. What's his name?)
人間:彼女の名前はShuka Huazonoです。彼女は女性です。
(Her name is Shuka Huazono. She is a woman.)
BlenderBot2Fid:ああ、そうだったんですね。女性だとは知りませんでした。それは納得です。
(Oh, that's right. I didn't realize she was a woman, too. I guess that makes sense.)
人間:はい。彼女は『アイドルタイムプリパラ』で初登場しました。彼女が何話に登場したか知っていますか?
(Yes. She makes her first appearance in Idol Time Prepara. Do you know how many episodes she appeared in?)
BlenderBot2Fid:1つのエピソードで見たことがあるような気がします。どのエピソードだったかは覚えていませんが。
(I think I've seen her in one episode. I don't remember which one it was though.)
男性と勘違いしていたので修正すると次からはちゃんと彼女(Her)になってます。しかし、しゅうかを男性と間違えるか…?そして、アイパラを、しゅうかを見たことがあるそうです。ホント?話合わせようと無理してない?
人間:もしかするとアイドルタイムプリパラの42話かもしれませんね。どんなエピソードだったか覚えてますか?
(Maybe it's Idol Time Puripara episode 42.Do you remember what episode it was?)
あえて話を誘導して、42話のあらすじを話すことを期待して質問してみます。するとちゃんとアイパラの42話で検索はしてくれたものの、結果はすべて違法動画のリンクばかりという悲しい結果が。
Received query: {'q': 'Idol Time Puripara episode 42', 'n': '5'}
(検索結果がすべて動画へのリンクだったので割愛…)
BlenderBot2Fid:セカンドシーズンの最初のエピソードだったと思います。でも、エピソードの名前は覚えていません。
(I think it was the first episode of the second season. I can't remember the name of the episode though.)
アイドルタイムプリパラに二期は存在していた…?
まともじゃない検索結果の中から、アイドルタイムプリパラ自体をプリパラのセカンドシーズンとしてとらえて、このような回答になったのかもしれません。「どんな話だったか」がアイドルタイムプリパラ42話のことではなく、Botが見た話のことだと理解して応答しているところがポイント高いですね。
人間:ふむふむ。アイドルタイムプリパラに第2シーズンはありませんでした。初登場のエピソードということであれば、第22話かもしれませんね。
(Hmm. There was never a second season of Idol Time Puripara.If you mean the first appearance episode, then it might be episode 22.)
Received query: {'q': 'Idol Time Puripara', 'n': '5'}
> Result: Title: `Idol Time PriPara - MyAnimeList.net`
https://myanimelist.net/anime/34787/Idol_Time_PriPara
> Result: Title: `Idol Time PriPara - Wikipedia`
https://en.wikipedia.org/wiki/Idol_Time_PriPara
x Excluding an URL because `reason_already_seen_content`:
https://en.wikipedia.org/wiki/Idol_Time_PriPara#Plot
x Excluding an URL because `reason_already_seen_content`:
https://en.wikipedia.org/wiki/Idol_Time_PriPara#Characters
x Excluding an URL because `reason_already_seen_content`:
https://en.wikipedia.org/wiki/Idol_Time_PriPara#Playable_Characters
x Excluding an URL because `reason_already_seen_content`:
https://en.wikipedia.org/wiki/Idol_Time_PriPara#Media
> Result: Title: `WITH - Idol Time PriPara On Stage - YouTube`
https://www.youtube.com/watch?v=crK5rLh57pE
> Result: Title: `Idol:Time!! | PriPara Wiki | Fandom`
https://pripara.fandom.com/wiki/Idol:Time!!
> Result: Title: `Yui Yumekawa | PriPara Wiki | Fandom`
https://pripara.fandom.com/wiki/Yui_Yumekawa
BlenderBot2Fid:おっしゃる通りだと思います。助けてくれてありがとう。感謝します。(潜在的に安全でない)
(I think you're right. Thank you for the help. I appreciate it. _POTENTIALLY_UNSAFE__)
アイパラで検索したものの話を膨らませられなかったのか、お礼を言って終了です。潜在的に安全でないのは最後にゆいにヒットしたからですかね。
感想
思っていた以上に自然な会話で驚きました。今まで触れてきた雑談AIは前後の文脈を解さない、いわばランダムでワードを返すだけのものがほとんどだったので。たまに会話の流れがおかしかったり、話す内容があたりさわりのない内容だったりするのは、翻訳を挟んでいることと、英語圏ではプリティシリーズの情報があまりないからなんでしょうね。
また、今回のようにグーグルの五番目までの検索を元に会話する、だとますますSEO対策が重要な世界になっていきそうです。何せ五番目までに入った情報が人工知能の知識として世界中で会話されてしまう訳ですから。
このような汎用的な会話が可能な人工知能、LINEが日本語での同様のシステムを作っているという話もあり、今後ますます目の離せない分野となっていきそうです。楽しみですね。