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
180
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
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
1.1k
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
260
Djangoにおける複数ユーザー種別認証の設計アプローチ@DjangoCongress JP 2025
delhi09
PRO
4
410
Datadog Workflow Automation で圧倒的価値提供
showwin
1
100
第3回 Snowflake 中部ユーザ会- dbt × Snowflake ハンズオン
hoto17296
4
380
もう僕は OpenAPI を書きたくない
sgash708
5
1.8k
ファインディLT_ポケモン対戦の定量的分析
fufufukakaka
0
890
Conform を推す - Advocating for Conform
mizoguchicoji
3
710
楽しく向き合う例外対応
okutsu
0
570
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
4
910
Unity Android XR入門
sakutama_11
0
170
新宿駅構内を三人称視点で探索してみる
satoshi7190
2
110
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
172
14k
What's in a price? How to price your products and services
michaelherold
244
12k
Building an army of robots
kneath
303
45k
Facilitating Awesome Meetings
lara
52
6.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
360
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
Code Review Best Practice
trishagee
67
18k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
BBQ
matthewcrist
87
9.5k
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!