Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GPTを使った水平思考クイズの投稿サイトを作ってみた
Search
eatski
July 28, 2023
Programming
0
190
GPTを使った水平思考クイズの投稿サイトを作ってみた
https://iesona.com/
eatski
July 28, 2023
Tweet
Share
More Decks by eatski
See All by eatski
Testing Library流でフロントエンドテストのコスパを最大化する
eatski
3
1.2k
Other Decks in Programming
See All in Programming
LINE messaging APIを使ってGoogleカレンダーと連携した予約ツールを作ってみた
takumakoike
0
120
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
2
250
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
1.2k
パスキーのすべて ── 導入・UX設計・実装の紹介 / 20250213 パスキー開発者の集い
kuralab
3
910
Serverless Rust: Your Low-Risk Entry Point to Rust in Production (and the benefits are huge)
lmammino
1
160
React 19アップデートのために必要なこと
uhyo
8
1.5k
Kotlinの開発でも AIをいい感じに使いたい / Making the Most of AI in Kotlin Development
kohii00
5
1.4k
Learning Kotlin with detekt
inouehi
1
150
複数のAWSアカウントから横断で 利用する Lambda Authorizer の作り方
tc3jp
0
120
自力でTTSモデルを作った話
zgock999
0
110
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.5k
color-scheme: light dark; を完全に理解する
uhyo
7
500
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
693
190k
Gamification - CAS2011
davidbonilla
80
5.2k
Why Our Code Smells
bkeepers
PRO
336
57k
Statistics for Hackers
jakevdp
797
220k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
11
1.3k
How to Ace a Technical Interview
jacobian
276
23k
The Invisible Side of Design
smashingmag
299
50k
Bash Introduction
62gerente
611
210k
Designing Experiences People Love
moore
140
23k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Navigating Team Friction
lara
183
15k
Unsuck your backbone
ammeep
669
57k
Transcript
LLM×水平思考クイズ 2023/07/28 by eatski
自己紹介
H.N eatski(いとすき) 仕事 Webアプリケーションエンジニア 趣味 マーダーミステリー、TRPGにハマりたい twitter https://twitter.com/eatski629
今日話すこと LLMを使用して、水平思考クイズを遊ぶ上での課題を解決しました。
水平思考クイズとは 不可解な状況が提示され、「なぜそうなったか」を推理していくクイズ 例:ウミガメのスープ 「ある男性が、海の近くのレストランでウミガメのスープを注文しました。彼はスープを一口飲んだところで、シェフに問いかけました。 『すみません、これはウミガメのスープで合っていますか?』 シェフは『はい、お客様が召し上がったのは間違いなくウミガメのスープですよ』と答えました。 男性は会計を済ませ、家に帰ると自殺してしまいました。」 いったいなぜでしょう? 出典: ポール・スローンのウミガメのスープ
質問をして真相を探る 手がかりとして「はい」「いいえ」で答えられる質問をすることができる。 解答者「ウミガメのスープは自殺の理由に関係がありますか?」 出題者「はい」 解答者「ウミガメのスープは美味しかったですか?」 出題者「わからない」
何が課題? 水平思考クイズは質問に回答するための真相を知っている出題者が必要であるため、1人で遊 ぶことが難しい。
出題者をITを使って代替できないか? →難しい 質問が自然言語 質問文を解析するだけではなく論理的に正しい回答を返す必要がある
LLMを使おう 文章生成AIにクイズの出題者をやってもらおう
開発しました! Yesonor AIとウミガメのスープを楽しめる水平思 考クイズの投稿サイト https://iesona.com/
デモ https://iesona.com/stories/5ajwV3ME5dHyZmd
機能の紹介と実現方法の解説
【機能1】質問に対して回答する機能 どう実現したか GPT(Chat Completions API)に真相と質問を結合したプロンプトを与え、回答を出力とし て得るようにした プロンプトのイメージ ## 命令 以下の情報と例に基づいて、ユーザーの質問にTrue(
はい) 、False( いいえ) 、Unknown( 不明/ 言及なし) で答えなさい。 ## 問題 太郎さんは目がいいのにメガネを掛けている。なぜ? ## 真相 太郎さんはオシャレ好きであり、度が入っていない伊達メガネを掛けている。 ## 質問(解答者の入力した文章) 太郎さんは自分の意思でメガネをかけていますか?
回答の精度を高める工夫 質問の例をGPTに与える 一捻りあるクイズだと通常のLLMの文章生成では作者の意図した回答を得られないこともあ る。 そのため、作者には1つの問題に対して質問とその回答の例を3問以上入力するように求めて いる。(いわゆるfew shot learning) 太郎さんは自分の意思でメガネをかけている? →
はい 太郎さんは男ですか? → わからない 太郎さんのメガネには度が入っている? → いいえ
【機能2】カスタムメッセージ機能 クイズの形式上、質問の回答が「はい」か「いいえ」しかないので解答者視点どうしても情 報が不足してしまう。 そのため、一部の質問に対して回答として作者が設定した独自の返答を返すことができる機 能を実装した。 質問: 太郎さんのメガネには度が入っていますか? 回答: いい質問ですね!太郎さんのメガネは伊達メガネであり、度は入っていません。
どう実現したか 質問の例ごとに任意で独自メッセージを設定できるように 回答者からの質問が いずれかの質問の例と意味が近い距離にある文章であり、 かつ独自メッセージが設定されていた場合、 はい」「いいえ」だけではなくその独自メッセージを返すようにした。
質問同士の距離を計算する この時の質問同士の距離を計算するのに Open AIのEmbeddingsを利用してい る。 ※ Embeddingsとは文章の位置をベクト ルとして返してくれるAPI
サイトを作ってみて 意外にGPTがきちんと回答を返してくれる 解答者視点どうしても情報が足りず手詰まりになってしまう もっといろんな人に遊んでほしい
おわりに Yesonorにぜひ遊びに来てください!
Thank you!