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
Data Science Osaka Autumn 2024 -16th Place solu...
Search
Ryushi
November 07, 2024
2
270
Data Science Osaka Autumn 2024 -16th Place solution-
Ryushi
November 07, 2024
Tweet
Share
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
4
120
Scaling GitHub
holman
458
140k
BBQ
matthewcrist
85
9.3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Building Your Own Lightsaber
phodgson
103
6.1k
A Philosophy of Restraint
colly
203
16k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
How GitHub (no longer) Works
holman
310
140k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
Transcript
16th Place Solution Data Science Osaka Autumn 2024 Team :
H社
Public: 2nd/Private: 16th
概 要
LLMたちに人狼をプレイしてもらい “人狼のプレイヤー” と “勝利陣営(人狼チーム or 村人チーム)” を当てる
Data train/*. json 学習データ、各キャラクターの役職やその他内部情報、ゲームの結末まで含む。 test/*. json テストデータ、各キャラクターの役職やその他内部情報は含まず、ゲーム中の公 開情報のみ含む。また、4日目以降のデータは含まない 全部で150episodeあり、 train/public/privateで50episodeずつ
データ形式 *.jsonの中身は以下のような会話ログである
個性豊かなプレイヤー(LLM) 全員が日本語を話すわけではない アラビア語 …ヘブライ語… python… 他にも複数言語が存在 https://www.kaggle.com/competitions/data-science-osaka-autumn-2024/discussion/535420
Task 1. 人狼特定 2. 勝利陣営予測 “人狼陣営”か”村人陣営”のどちらが勝利したか予測 15名のプレイヤーの中に潜む3人の人狼を特定する 2つのTaskがある
評価方法 1. 人狼特定 正解率をスコア化 2つのTaskがある 2. 勝利陣営予測 実際の結果と予測確率の間の 正規化ジニ係数 3人正解
: 1.0 2人正解 : 0.66667 1人正解 : 0.33333 0人正解 : 0.0
評価方法 1. 人狼特定 正解率をスコア化 2つのTaskがある 2. 勝利陣営予測 実際の結果と予測確率の間の 正規化ジニ係数 3人正解
: 1.0 2人正解 : 0.66667 1人正解 : 0.33333 0人正解 : 0.0
16th Place Solution
Task1 : 人狼特定
概 要 ルールベース Logistic Regression
概 要 ルールベース Logistic Regression
人狼特定 : ルールベース 人狼は考え込んで話す傾向がある 前の人が話してから次の人が話すまでのラグが人狼は長い
人狼特定 : ルールベース 人狼は考え込んで話す傾向がある 前の人が話してから次の人が話すまでのラグが人狼は長い sample_baseline: 0.32234 → 0.40404(Public LB)
概 要 ルールベース Logistic Regression
特徴量 mention系の特徴量 Multilingual-E5-largeによる埋め込み特徴量 Player label Qwen2 32Bによる予測値特徴
特徴量 : mention系の特徴量 人狼は他人をmentionしがち
特徴量 : mention系の特徴量 mentionを使った複数の特徴量を生成 1. Player名をカタカナで代表させる 2. publicのそれぞれのセリフ中のPlayer名をカウント この結果を特徴量として加える (例)老人
モーリッツ -> モーリッツ 3. uniqueな”episode_number” ,“player”ごとに2.を合計 Publicデータに対して適応し、この結果を特徴量として加える
特徴量 Multilingual-E5-largeによる埋め込み特徴量 Player label Qwen2 32Bによる予測値特徴 tfidfを多言語対応のMultilingual-E5-largeに変更した - 文頭に「query: 」をつけ、モデル用のinputに揃えて入力
- 出力された1024次元のベクトルを1次元ずつ特徴量として追加 playerごとにセリフの傾向があったので、単純な識別としてlabel encoding追加 vLLMの公開ノートブックの結果をpseude labelingとして使用 し、以下2つを特徴量とした - それぞれのセリフの人狼らしさ評価最大値を人狼予測としたもの - それぞれのセリフの人狼らしさ評価平均値を人狼予測としたもの
学習 CV戦略 学習データ 5fold stratified k-fold - episode_numberでfold cut Testに合わせて3日目まで使用
Loss function roc-auc score
人狼特定 : その他 “ムゲン”は人狼固定 夜中に襲撃されたキャラは含めない 様々なdiscussionに書いてありましたが、”ムゲン”は人狼率100%だったので 固定した - 終了後のネタバラシで正しい仮説だったことがわかった 3日目までに襲撃されたキャラは確実に人狼ではないので除外
Task2 : 勝利陣営予測
Model 学習データ LightGBM + optuna CV戦略 5fold stratified k-fold -
勝利陣営でfold cut Testに合わせて3日目まで使用 勝利陣営予測 : 概要 人狼が完全にわかっていることを前提に勝率予測モデルを構築
特徴量 死んでいる人狼の数 処刑回数 人狼に襲撃された回数 人狼が日中の議論で言及された回数 人狼以外が、日中の議論で言及された回数
反省
上位との差 : 多言語対応 Ours : Multilingual-E5-largeによる埋め込み特徴量 4th :直接の翻訳が上手くいかなかったため、英語を経由した。 (韓国語→英語→日本語) 3rd
:日本語でないメッセージは英語に翻訳、ほぼ日本語→tfidf vectorizer 多言語対応の丁寧さの差
上位との差 : 勝率予測のpublic overfit publicでは精度が下がる全件予測が、 privateでは大幅に精度が上がっていた 全件適用した場合 private 2nd相当 Last
subで信用した予測値
16th Place Solution Data Science Osaka Autumn 2024 Team :
H社