本文へ移動
メニュー

学ぶ

コースロードマップコンペお知らせ

スタアカについて

プラン受講者の声法人の方

会員の方

ログインマイページQ&A(質問と回答)ライトプランの解約クレジットカードの変更

サポート

お問い合わせ

ブラックフライデーセール全プラン30%引き(12月1日(火)まで)プランを見る

開催中F1スコア・大きいほど良い

ことり雑貨店 問い合わせメール分類チャレンジ

雑貨のネットショップに届いたお問い合わせのメールを、配送・返品・支払いなどの7つのカテゴリに振り分けるコンペです。機械学習でも、LLM でも挑戦できます。

  • 期間:2026年11月14日から(終わりの日は決まっていません)
  • 提出:1日5回まで(日本時間の0時に戻ります)
  • 参加者:—人
  • ベースライン:0.56273(キーワードのルール(言葉が入っていたらそのカテゴリ)で予測したときのスコア)

読み込んでいます…

順位表

1人1行で、いちばん良いスコアが載ります。

順位名前スコア提出最後の提出
読み込んでいます…

背景と目的

ネットショップに届くお問い合わせのメールを、用件ごとに振り分けてみましょう。

舞台は、マグカップ・木の食器・布小物などの生活雑貨を売るネットショップ「ことり雑貨店」です(お店もメールも作り物です)。生成AIパートのコース23「PythonでAIチャットボットを作る」などに出てくるお店と同じです。

お店には毎日たくさんのメールが届きます。「いつ届きますか?」「割れていました」「領収書がほしい」「ラッピングできますか?」と、用件はさまざまです。メールが届いた時点で用件ごとに振り分けられれば、配送の担当・返品の担当のように、くわしい人がすぐに返事を書けます。急ぎの返品の相談を、先に読むこともできます。

このコンペでは、メールの件名と本文から、そのメールの主な用件のカテゴリを当てるモデルを作ってください。

解き方は自由です。

  • ふつうの機械学習:文章を数の並びにして(TF-IDF・単語の数え上げなど)、ロジスティック回帰や LightGBM で分類する。コース18「自然言語処理」の内容が使えます
  • 埋め込み(エンベディング):文章の意味を表すベクトルにしてから分類する
  • LLM:カテゴリとラベルの決め方をプロンプトに書いて、LLM に1通ずつ分類させる。コース15「プロンプト設計」の「アプリに組み込むプロンプトとは」で扱った、メールの振り分けと同じ仕事です

どれを使ってもかまいません。いくつか試して、スコアと手間・費用を比べてみるのもおすすめです。

データ

ファイル中身
train.csv学習用のメール 1,200通と、そのカテゴリ(カテゴリ)
test.csvテスト用のメール 800通(カテゴリ はありません)
sample_submission.csv提出の見本
categories.csvカテゴリの一覧と、ラベルの決め方(下の表と同じ)

ファイルは UTF-8 の CSV です。本文にはカンマや改行が入っているので、"…" で囲んであります。pandas の read_csv なら、そのまま読めます。

列中身
IDメールの番号(学習用は 1〜1200、テスト用は 1201〜2000)。番号の順番に意味はありません
件名メールの件名。空のこともあります。お店からのメールに返信したときの件名(「Re: 【ことり雑貨店】商品発送のお知らせ」など)が、そのまま残っていることもあります
本文メールの本文。あいさつ・署名・引用した元のメールも入っています
カテゴリ予測するもの(train.csv だけ)。下の7つのどれか

メールには、丁寧なものも、くだけたものも、1行だけのものもあります。打ちまちがい・変換し忘れ・半角のカタカナ・英語のメールもまじっています。注文番号は KT-10231 の形です(書き方がくずれていることもあります)。

カテゴリ

学習用のデータの数も書いています。数がかなり偏っていて、ラッピング・名入れはいちばん少ないカテゴリです。

カテゴリふくまれる用件学習用の数
配送いつ届くか・届かない・いまどこにあるか、発送の時期、お届け先(住所・宛名)やお届けの日時の変更、送料の金額と送料無料の条件、配送業者・置き配・再配達・海外や離島への配送264
商品について在庫・再入荷・予約、大きさ・容量・重さ・素材・色、電子レンジ・食洗機などで使えるか、お手入れ、選び方・おすすめ230
返品・交換返品・交換したい、届いた商品の問題(割れ・欠け・傷・汚れ・不良・ちがう商品・数が足りない)、返品の送料・期限・手続き、返品した分の返金202
注文の変更・キャンセルキャンセル、注文した商品・色・サイズ・数の変更や追加、別々の注文をまとめる、まちがえて2回注文した、注文が入っているかの確認、キャンセルになった注文の返金162
支払い支払い方法、請求の金額のまちがい・二重の請求、領収書・請求書、クーポン・ポイント・割引、コンビニ払い・代引き・カードのエラー140
その他会員登録・ログイン・パスワード・退会、会員情報の変更、メールマガジン、お店について(実店舗・受付時間・SNS・求人)、お礼・感想・意見、営業・取材の連絡、用件が分からないもの129
ラッピング・名入れラッピング・のし・メッセージカード・名入れ(料金・できる商品・文字・作る日数)、贈り物のための頼みごと(値段の分かる紙を入れない など)73

提出するときは、カテゴリの名前を上の表のとおりに書いてください(「・」も全角です)。返品交換 や 返品・交換 のように1文字でもちがうと、まちがいとして数えます(前後の空白は取ってから比べます)。

ラベルの決め方

カテゴリは、次の決まりで付けています。LLM で解くときは、この決まりもプロンプトに入れると良いでしょう。

  1. 1通に1つ、主な用件で決めます。 お客様がいちばん答えてほしいことです。「ついでに」「急ぎません」「分かればで大丈夫」と書き添えた質問や、P.S. の質問は、主な用件ではありません。「こちらがいちばん困っています」「本題は」と書いてあれば、そちらが主な用件です
  2. 出てくる言葉ではなく、頼んでいることで決めます。 「配送」と書いてあっても、頼んでいるのが返品なら 返品・交換 です。件名も、返信の件名が残っているだけのことがあるので、本文で決めます
  3. 届いた商品に問題があれば 返品・交換。 交換や返金を頼んでいなくても、割れ・傷・ちがう商品・数が足りない・名入れの文字のまちがいなどを知らせるメールは 返品・交換 です。使っているうちに壊れた・不良ではないか、という相談も同じです。使い方やお手入れを聞くだけなら 商品について
  4. お金が戻る話は、もとの手続きのカテゴリ。 返品した分の返金は 返品・交換、キャンセル(品切れを含む)になった注文の返金は 注文の変更・キャンセル です。それ以外のお金の話(二重の請求・余分に請求された送料やラッピング代・お詫びの返金など)は 支払い
  5. 送料は、条件なら 配送、請求なら 支払い。 「いくらから送料無料?」は 配送、「送料無料のはずなのに請求された」は 支払い
  6. 住所は、お届け先なら 配送、会員情報なら その他。 注文のお届け先やお届けの日時の変更は、発送の前でも 配送 です
  7. ラッピング・名入れは、注文のあとでも ラッピング・名入れ。 ラッピングや名入れの追加・変更・取りやめは ラッピング・名入れ です。ただし、注文したあとの「いつ届く?」は名入れの商品でも 配送、届いた名入れの文字のまちがいは 返品・交換
  8. 荷物の発送・お届けの状況は 配送。 交換の品がいつ届くか、も 配送 です
  9. お礼・感想・意見だけのメールや、用件が分からないメールは その他

categories.csv には、カテゴリごとの「迷いやすいとき」も書いてあります。

お店の決まり(メールの中に出てきます):送料は全国一律550円で、5,000円以上なら無料。返品は商品が届いた日の8日後まで、未使用のものに限ります。ラッピングは1点220円。名入れはマグカップだけで1点660円、名入れした商品は返品できません。支払い方法はクレジットカード・コンビニ払い・代金引換(手数料330円)。

評価指標

マクロ F1。カテゴリごとに F1 を出して、その平均をとります。大きいほど上位です(0〜1)。

あるカテゴリ(たとえば 配送)について、

  • 適合率(precision):「配送」と予測したメールのうち、本当に配送だった割合
  • 再現率(recall):本当は配送のメールのうち、「配送」と予測できた割合
  • F1:適合率と再現率の調和平均
F1k=2×適合率k×再現率k適合率k+再現率k,マクロF1=1K∑k=1KF1kF1_k = \frac{2 \times 適合率_k \times 再現率_k}{適合率_k + 再現率_k}, \qquad マクロF1 = \frac{1}{K}\sum_{k=1}^{K} F1_k

KK は、テスト用のデータの正解に出てくるカテゴリの数(7)です。

なぜマクロ F1 なのか 正解率(当たった割合)だと、数の多い配送や商品のメールさえ当てれば、高いスコアになります。マクロ F1 は7つのカテゴリを同じ重さで平均するので、数の少ない ラッピング・名入れ を外し続けると、スコアが大きく下がります。少ないカテゴリまで見落とさずに振り分けられるかを測っています。たとえば、全部「配送」と答えると 0.05 ほどにしかなりません。

ルール

提出

  • 1日に5回まで提出できます。日本時間の0時に回数が戻ります
  • sample_submission.csv と同じ形(1行目は ID,カテゴリ、test.csv の800通が1行ずつ)の CSV を提出します。ID の列で正解と結びつけて採点するので、行の並びは自由です
  • カテゴリ には、上の7つのカテゴリの名前をそのまま書いてください。空の行があるとエラーになります
  • 採点できなかった提出(列の名前が違う・ID が足りない・カテゴリが空など)はエラーになり、回数には数えません

順位表

  • 1人1行で、いちばん良いスコアが載ります。名前は、参加するときに決めた名前です(メールアドレスや本名は出ません)
  • このコンペは終わりの日を決めていないので、順位表はいつでも今の順位です
  • 運営が作った予測(ベンチマーク)のスコアも、「運営」の印つきで並びます。まずは「キーワードのルール」を超え、次に「TF-IDF+ロジスティック回帰」を目指してみてください

使ってよいもの

  • LLM(ChatGPT・Claude・Gemini などの API)・学習済みのモデル・埋め込みのモデル・形態素解析などの道具は、どれを使ってもかまいません。API の利用料は自分で払うことになるので、使いすぎに気をつけてください
  • 予測は、プログラム(モデル・ルール・LLM への問い合わせ)で作ってください

禁止すること

  • テスト用のメールを自分で読んで、手でカテゴリを付けること(LLM の答えを人が読んで手で直すのも同じです)
  • テストデータの正解を、ほかから手に入れること
  • 1人で複数のアカウントを使うこと
  • ほかの参加者と、提出のファイルや結果を共有すること(コードや手法、プロンプトの共有はかまいません)

不正が分かったときは、提出やスコアを取り消すことがあります。

データについて このコンペのデータは、スタアカが作った作り物です。ことり雑貨店は実在せず、メールに出てくる注文・商品も架空のものです。名前やメールアドレス・電話番号・住所のような個人の情報は入っていません。