Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GPT APIを使ったテキスト生成コンペ@YANS2023に参加した話

NSK
November 26, 2023

GPT APIを使ったテキスト生成コンペ@YANS2023に参加した話

NSK

November 26, 2023
Tweet

Other Decks in Technology

Transcript

  1. GPT APIを使った広告テキスト生成コンペ
    @YANS2023に参加した話
    NSK @naohachi89
    1
    Kaggle Tokyo Meetup 2023 LT資料

    View full-size slide

  2. 本日お話する内容について
    2
    ● YANS(自然言語処理若手の会)が主催する学会で開催されたコンペについて話します
    ○ 学会は8月末に開催
    ● コンペの概要と自チームのソリューションをメインに話します
    ○ コンペの詳細や他チームのソリューションはこちらの公式ブログでも見ることが
    できます
    ● 読者として、ChatGPTやLLMを使ったことがある方を想定した内容になっています

    View full-size slide

  3. コンペ概要
    3
    検索連動型広告における、検索クエリと遷移先ページ(LP)の内容に合致した広告文の生成
    LPの説明文
    検索クエリ
    広告文(生成対象)

    View full-size slide

  4. データセット
    4
    ● 開発用データ
    ○ 訓練データセット: 12395件(CAMERA train データより抜粋)
    ● 評価用データ
    ○ リーダーボードセット: 50件(CAMERA devデータより抜粋)
    ■ kaggleのPublic LBで使われるテストデータに相当
    ○ 最終評価セット: 10件(CAMERA のtestデータから人手で選出)
    ■ kaggleのPrivate LBで使われるテストデータに相当
    サイバーエージェント社が公開している広告文生成データセット(CAMERA)を利用
    データの例。title_orgは訓練データにのみ付与されている。

    View full-size slide

  5. コンペルール
    5
    ● 単一のColab Notebookをソリューションとして運営に提出
    ○ 提出された Notebook を用いてテストセットに対する生成を運営が実施する
    ○ 利用できるアクセラレータは CPU のみ
    ● コンペ期間は4時間
    ● 1チーム4人で、各参加者の経験に応じて運営がチームを編成
    ● リーダーボードセット(50件) に対する処理時間が5分以内
    ● チームあたりのAPI利用料の上限は3000円
    ● 一般に無償公開されているデータセット・ツールは使用可
    ● Web ページをスクレイピングしての利用は禁止
    ● 最終出力までの過程で、必ず OpenAI API の出力を利用する

    View full-size slide

  6. 運営提供のベースラインについて
    6
    タスクの指示と訓練データから抽出した事例でプロンプトを構成したベースラインを運営が提供
    検索連動型広告における魅力的な広告文を考えてください。
    'query'で指定した単語やそれに関連するフレーズがなるべく含まれるように、
    'content'(広告ページのコンテンツ)を要約する形で広告文を生成してください。
    ===
    query: 美白
    content: 再生治療による、医師も認めたエイジングケア。年齢をかさねても美しくあ
    るための秘訣。銀座駅より徒歩2分。オンラインカウンセリング・肌診断が無料。
    output:
    いつまでも若々しくいたいなら
    ===
    (他2例記載)
    ===
    query: 1年生準備ボックス
    content: 紙教材での学習を中心とした「チャレンジ1ねんせい」のご案内。2023年4
    月に小学校へ入学する新1年生向け通信教育です。進研ゼミ小学講座は小学生一人ひと
    りをサポートする通信教育講座。小学生の家庭での学習を応援しています。【ベネッセ
    コーポレーション】
    output:
    タスクの指示
    訓練データから抽出した
    few shot examples
    広告文を生成させる
    事例のクエリ・説明文

    View full-size slide

  7. 評価方法(最終評価)
    7
    ● 人間が手動で評価を実施
    ○ 各チームが生成した広告文がGoogle Formで表示され、評価指標に合致する
    候補を評価者が2つ選択
    ○ 評価セットは10件で、得票数の合計で順位を決定
    ○ 評価基準は下表の通り
    ● 評価者はコンペ参加者、アプリ開発ハッカソン参加者、運営
    評価指標 説明
    訴求性 自分が検索者だったとして、その広告をクリックしたく
    なるか
    忠実性 生成文と説明文の一致度合いに基づく尺度
    事実性 キーワード(kw)を生成文に含められた割合

    View full-size slide

  8. 最終評価のイメージ
    8

    View full-size slide

  9. 評価方法(Public LB)
    9
    ● validation setに対して自動計算できる3つの評価指標を計算し、それらの調和平均で評価
    ● Kaggleではなく、独自のコンペサイト上でLBを表示
    ● 最終的な評価とは指標・評価方法が異なり、Public LBの数字は最終評価に一切影響しない
    ○ 盛り上げ用に提供されていた
    評価指標 説明
    BLEU-4 生成文と参照文の一致度合いに基づく尺度
    ROUGE-1 生成文と参照文の一致度合いに基づく尺度
    Kwd キーワード(kw)を生成文に含められた割合

    View full-size slide

  10. Public LBのイメージ
    10

    View full-size slide

  11. 結果
    11
    全6チーム中2位でした😢
    順位 得票数 チーム名
    1 284 チームD - 四人寄ればROUGEの知恵
    2 271 チームF - 復活のF
    3 185 チームB - Input: ハッカソンの\"Team B\"
    のチーム名を考えてください Output:
    B-Force
    … …
    5 96 参照文
    厳密には、6チーム + 参照文(LPの説明文をそのまま表示したもの)を候補に投票を実施

    View full-size slide

  12. ソリューション概要
    12
    ● 与えられた訓練データは使わず、ドメイン知識をプロンプトに記述
    ○ 良い広告の要素を人間が分析し、良い広告を生成するためのポイントを記述
    ○ 良い広告の例(few-shot examples)を、実際の広告を参考に手動作成して記述
    ■ 評価指標に沿った広告の例をプロンプトに記述することで、出力の質を高くする
    ● モデルはgpt-4-0613を利用
    ● 生成された広告文を人間が評価し、プロンプトを調整
    良い広告の要素を人間が学習
    (Human Learning)
    ドメイン知識に基づいて
    プロンプトを作成
    生成された広告文を
    人間が評価

    View full-size slide

  13. データセットの品質の課題
    13
    ● 広告文(title_org)が訴求性に欠けるデータがある
    ● LPの説明文(lp_meta_description)と広告文の関連性がないデータがある
    訓練データセットには以下の課題が見られたため、自前でfew-shot examplesを用意した
    訴求性に欠ける
    説明文と広告文の
    関連性が低い

    View full-size slide

  14. 14
    リスティング広告を出稿しようと考えています。
    次のキーワードで検索してきたユーザーに対して、クリック先のLPの説明文に基づいてユーザーがクリックしたくなる広告文を生成してください。
    リスティング広告のキーワード:
    {kw}
    クリック先のLPの説明文:
    {lp_meta_description}
    制約条件:
    - 広告文は以下に記載した基準によって人手で評価されるため、
    なるべく評価が高くなるような広告文を生成してください
    - 広告文は30文字以内で簡潔に生成してください。
    - 箇条書きは使わないでください
    - LPの説明文にはキーワードと関連のない文章が含まれている場合があるため、
    関連性の低い内容は広告文には含めないでください
    評価指標:
    訴求性: 自分が検索者だったとして、その広告をクリックしたくなるか。
    忠実性: LPで説明されている商材内容と整合がとれているか
    事実性: 常識・世界知識と整合が取れているか
    良い広告文の例を以下に記載するので、生成の参考にしてください。
    マンション検索サイトの例:
    キーワード: 目黒区 物件
    良い広告文: 目黒区の掘出し戸建 - 8,000件以上の未公開物件
    (実際には他3例を記載)
    広告文:
    プロンプトの詳細
    ドメイン知識に基づく制約条件・指示
    評価指標の説明
    実際のリスティング広告を参考に作成した
    few-shot examples

    View full-size slide

  15. 生成結果の例
    15
    kw 説明文 ベースライン 提案手法
    薬キャリ
    【薬キャリAGENT】 は薬剤師登録者数No.1の薬剤師
    転職サイトです。正社員、パート、派遣など4万件以
    上の薬剤師求人を取り扱っております。無料登録で全
    国の非公開求人もご紹介いたします。簡単60秒登録は
    こちらから。
    薬剤師の転職なら
    薬キャリAGENT
    へ!
    【薬キャリAGENT】全国の薬剤師求
    人4万件以上!60秒で無料登録
    温泉 宮城
    宮城の温泉・露天風呂のある宿・ホテル情報が満載。
    露天風呂、貸切風呂、露天風呂付客室、日帰り温泉を
    楽しめる宿・ホテルを多数ご紹介。温泉のある宿・ホ
    テルのご予約なら、じゃらんnetをご利用ください。
    宮城の温泉旅館・
    ホテルのご予約は
    じゃらんnetで
    宮城の温泉宿予約はじゃらんnet -
    露天風呂・貸切風呂満載
    立川 塾 小学

    1月無料体験授業受付中!基礎学力&勉強習慣をつけ
    よう!つまずきやすい単元を集中的に扱い、学習習慣
    のサポートをいたします。臨海セミナー小学部は公立
    中学進学生に向けて、一人ひとりに合わせた丁寧な進
    路指導に自信があります!
    小学生の学習習慣
    を育成!
    立川の小学生向け塾!基礎力&学習
    習慣を1月無料体験!
    提案手法ではベースラインと比較して訴求性が高い広告文が生成されている

    View full-size slide

  16. 試したがワークしなかったこと: GPTによる自動評価
    16
    ● クエリ、参照文、生成されたテキストをプロンプトに含めて、各評価軸の自動評価を実施
    ○ Public LBのスコアと手動評価の結果にはほぼ相関がないが、手動評価は時間がかかる
    ■ -> 人間の代わりにGPTをアノテーターとして採用し、評価にかける時間を短縮
    ● 結果としては、自動評価はワークしなかった
    ■ 評価値のバリエーションが少なく、同じような値が出力されがちだった
    生成された広
    告文
    訴求
    性_
    スコ

    忠実
    性_
    スコ

    事実
    性_
    スコ

    スコアの平均 訴求性_評価理由 忠実性_評価理由 事実性_評価理由
    "新1年生必
    見!紙教材で
    学習サポート"
    80 90 80 83.3 キーワードに関連した
    内容が広告文に含まれ
    ており、新1年生向けの
    学習サポートを提供し
    ていることが分かる。
    LPの説明文と広告文の内
    容が一致しており、紙教材
    での学習を中心とした「チャ
    レンジ1ねんせい」の通信教
    育を提供していることが分
    かる。
    広告文には具体的な
    数字や情報はないが、
    紙教材で学習サポート
    を提供していることは
    事実である。
    "8GBメモリー
    スティックの安
    全性解説 -
    データ保護の
    ためのIT対策"
    80 90 80 83.3 広告文が検索キーワー
    ドに関連しており、
    8GB
    メモリースティックの安
    全性解説という内容が
    興味を引く
    LPの説明文と広告文の内
    容が一致しており、バック
    アップ用にUSBメモリを多
    用しているお客様がいると
    いう状況が説明されている
    USBメモリの特徴やセ
    キュリティリスクについ
    ての説明があり、一般
    的な知識と整合してい

    View full-size slide

  17. まとめ
    17
    ● ドメイン知識および質の高いfew shot examplesをプロンプトに埋め込むことで、訴求性の
    高い広告文をGPTで生成することができた
    ○ LLMの進化が目覚ましい一方で、依然として質の高いデータを保有することは重要
    ● 広告文生成タスクにおける自動評価は難しい
    ○ 自動評価の指標は参考にならない
    ■ 実用に耐えるLLMのベンチマークデータセットの構築は現在ホットトピックと
    なっているが、その重要性を改めて実感するコンペだった
    ○ GPTによる自動評価もワークせず
    ■ 今回はコンペ期間が短かったため、プロンプト等の改善余地はある

    View full-size slide

  18. 宣伝: 12月に技術書を出版します
    18
    ● Human-in-the-Loop機械学習に関する翻訳書
    籍を12/25に出版します
    ○ 原著は2021年に出版
    ○ 原著の著者はAppleのリサーチャー
    ○ 過去にはAmazon Mechanical Turkの開発
    等にも関与
    ● 書籍内では質の高いデータを効率よく作成する
    ためのトピックについて紹介しています
    ○ 能動学習
    ○ アノテーターのマネジメント
    ○ アノテーション品質の評価
    ○ アノテーションインターフェース
    ○ etc
    ● ご興味ある方はぜひご一読下さい🙏

    View full-size slide

  19. appendix: 1位ソリューション概要
    19
    ● モデルはgpt-3.5-turboを利用
    ● few-shot examplesは訓練データからランダムに3つ選択
    ○ 多様性を担保するために類似度ベースではなくランダムに選択
    ○ 検索キーワードと説明文の関連性が低いデータは選択対象から除外
    ● クエリ、説明文からセールスポイントを抽出
    ○ e.g.駅近ホテルをお探しなら楽天トラベルへ!楽天Pが貯まって...-> 楽天P貯まる、駅近
    訓練データ フィルタリング
    されたデータ
    few-shot examples
    テストデータ
    プロンプト
    セールスポイント
    関連度に基づく
    フィルタリング
    ランダム
    サンプリング
    クエリ、参照文入力
    クエリ、参照文入力
    セールス
    ポイント
    入力
    セールス
    ポイントを抽出

    View full-size slide

  20. appendix: 面白かったソリューション
    20
    自作の川柳データセットで gpt-3.5-turboを fine-tuning し、広告文を川柳形式で出力(審査員特別賞)

    View full-size slide