Slide 1

Slide 1 text

16th Place Solution Data Science Osaka Autumn 2024 Team : H社

Slide 2

Slide 2 text

Public: 2nd/Private: 16th

Slide 3

Slide 3 text

概 要

Slide 4

Slide 4 text

LLMたちに人狼をプレイしてもらい “人狼のプレイヤー” と “勝利陣営(人狼チーム or 村人チーム)” を当てる

Slide 5

Slide 5 text

Data train/*. json 学習データ、各キャラクターの役職やその他内部情報、ゲームの結末まで含む。 test/*. json テストデータ、各キャラクターの役職やその他内部情報は含まず、ゲーム中の公 開情報のみ含む。また、4日目以降のデータは含まない 全部で150episodeあり、 train/public/privateで50episodeずつ

Slide 6

Slide 6 text

データ形式 *.jsonの中身は以下のような会話ログである

Slide 7

Slide 7 text

個性豊かなプレイヤー(LLM) 全員が日本語を話すわけではない アラビア語 …ヘブライ語… python… 他にも複数言語が存在 https://www.kaggle.com/competitions/data-science-osaka-autumn-2024/discussion/535420

Slide 8

Slide 8 text

Task 1. 人狼特定 2. 勝利陣営予測 “人狼陣営”か”村人陣営”のどちらが勝利したか予測 15名のプレイヤーの中に潜む3人の人狼を特定する 2つのTaskがある

Slide 9

Slide 9 text

評価方法 1. 人狼特定 正解率をスコア化 2つのTaskがある 2. 勝利陣営予測 実際の結果と予測確率の間の 正規化ジニ係数 3人正解 : 1.0 2人正解 : 0.66667 1人正解 : 0.33333 0人正解 : 0.0

Slide 10

Slide 10 text

評価方法 1. 人狼特定 正解率をスコア化 2つのTaskがある 2. 勝利陣営予測 実際の結果と予測確率の間の 正規化ジニ係数 3人正解 : 1.0 2人正解 : 0.66667 1人正解 : 0.33333 0人正解 : 0.0

Slide 11

Slide 11 text

16th Place Solution

Slide 12

Slide 12 text

Task1 : 人狼特定

Slide 13

Slide 13 text

概 要 ルールベース Logistic Regression

Slide 14

Slide 14 text

概 要 ルールベース Logistic Regression

Slide 15

Slide 15 text

人狼特定 : ルールベース 人狼は考え込んで話す傾向がある 前の人が話してから次の人が話すまでのラグが人狼は長い

Slide 16

Slide 16 text

人狼特定 : ルールベース 人狼は考え込んで話す傾向がある 前の人が話してから次の人が話すまでのラグが人狼は長い sample_baseline: 0.32234 → 0.40404(Public LB)

Slide 17

Slide 17 text

概 要 ルールベース Logistic Regression

Slide 18

Slide 18 text

特徴量 mention系の特徴量 Multilingual-E5-largeによる埋め込み特徴量 Player label Qwen2 32Bによる予測値特徴

Slide 19

Slide 19 text

特徴量 : mention系の特徴量 人狼は他人をmentionしがち

Slide 20

Slide 20 text

特徴量 : mention系の特徴量 mentionを使った複数の特徴量を生成 1. Player名をカタカナで代表させる 2. publicのそれぞれのセリフ中のPlayer名をカウント この結果を特徴量として加える (例)老人 モーリッツ -> モーリッツ 3. uniqueな”episode_number” ,“player”ごとに2.を合計 Publicデータに対して適応し、この結果を特徴量として加える

Slide 21

Slide 21 text

特徴量 Multilingual-E5-largeによる埋め込み特徴量 Player label Qwen2 32Bによる予測値特徴 tfidfを多言語対応のMultilingual-E5-largeに変更した - 文頭に「query: 」をつけ、モデル用のinputに揃えて入力 - 出力された1024次元のベクトルを1次元ずつ特徴量として追加 playerごとにセリフの傾向があったので、単純な識別としてlabel encoding追加 vLLMの公開ノートブックの結果をpseude labelingとして使用 し、以下2つを特徴量とした - それぞれのセリフの人狼らしさ評価最大値を人狼予測としたもの - それぞれのセリフの人狼らしさ評価平均値を人狼予測としたもの

Slide 22

Slide 22 text

学習 CV戦略 学習データ 5fold stratified k-fold - episode_numberでfold cut Testに合わせて3日目まで使用 Loss function roc-auc score

Slide 23

Slide 23 text

人狼特定 : その他 “ムゲン”は人狼固定 夜中に襲撃されたキャラは含めない 様々なdiscussionに書いてありましたが、”ムゲン”は人狼率100%だったので 固定した - 終了後のネタバラシで正しい仮説だったことがわかった 3日目までに襲撃されたキャラは確実に人狼ではないので除外

Slide 24

Slide 24 text

Task2 : 勝利陣営予測

Slide 25

Slide 25 text

Model 学習データ LightGBM + optuna CV戦略 5fold stratified k-fold - 勝利陣営でfold cut Testに合わせて3日目まで使用 勝利陣営予測 : 概要 人狼が完全にわかっていることを前提に勝率予測モデルを構築

Slide 26

Slide 26 text

特徴量 死んでいる人狼の数 処刑回数 人狼に襲撃された回数 人狼が日中の議論で言及された回数 人狼以外が、日中の議論で言及された回数

Slide 27

Slide 27 text

反省

Slide 28

Slide 28 text

上位との差 : 多言語対応 Ours : Multilingual-E5-largeによる埋め込み特徴量 4th :直接の翻訳が上手くいかなかったため、英語を経由した。 (韓国語→英語→日本語) 3rd :日本語でないメッセージは英語に翻訳、ほぼ日本語→tfidf vectorizer 多言語対応の丁寧さの差

Slide 29

Slide 29 text

上位との差 : 勝率予測のpublic overfit publicでは精度が下がる全件予測が、 privateでは大幅に精度が上がっていた 全件適用した場合 private 2nd相当 Last subで信用した予測値

Slide 30

Slide 30 text

16th Place Solution Data Science Osaka Autumn 2024 Team : H社