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

データ分析の進め方とニュースメディアでのデータ活用事例 / data-analysis-in-kaggle-and-news-media

データ分析の進め方とニュースメディアでのデータ活用事例 / data-analysis-in-kaggle-and-news-media

「東京大学グローバル・インターンシップ・プログラム(UGIP)」での発表資料
https://www.u-tokyo.ac.jp/ja/students/special-activities/ugip.html

Shotaro Ishihara

December 16, 2022
Tweet

More Decks by Shotaro Ishihara

Other Decks in Research

Transcript

  1. 石原祥太郎 日本経済新聞社 日経イノベーション・ラボ 主任研究員 東京大学グローバル・インターンシップ・プログラム 2022 年 12 月 16

    日 Kaggle メダリストが 話す、データと分析手法 の見つけ方 (頂いたお題)
  2. 石原祥太郎 日本経済新聞社 日経イノベーション・ラボ 主任研究員 東京大学グローバル・インターンシップ・プログラム 2022 年 12 月 16

    日 データ分析の進め方と ニュースメディアでの データ活用事例
  3. 3 • データ分析の進め方 〜機械学習コンテストを例に〜 • ニュースメディアでのデータ活用事例 ◦ 機械学習コンテストと実務の違い ◦ データを用いた課題解決

    本発表の概要
  4. 4 • 2013〜2015 年: 理科一類 • 2015〜2017 年: 工学部システム創成学科 PSI

    • 2017〜2017 年: 新領域創成科学研究科修士課程 • 課外活動では、公益財団法人東京大学新聞社で 編集長などを歴任 経歴(大学時代)
  5. 5 • 2017 年から日本経済新聞社で自然言語処理や機械 学習を用いたデータ分析・サービス開発に従事 • AACL-IJCNLP 2022、IEEE BigData 2022

    採択や JSAI 2020 優秀賞 • 国際ニュースメディア協会の若手表彰でアジア太 平洋最優秀賞 ニュースメディア × データサイエンス
  6. 6 • Kaggle 優勝や開催、関連著書 3 冊 • 『Kaggleに挑む深層学習プログラミングの極意』 ◦ 来年

    2 月 2 日発売予定(Amazon) • 『Kaggle Grandmaster に学ぶ 機械学習 実践アプ ローチ』 • 『Python ではじめる Kaggle スタートブック』 社外活動:機械学習コンテスト
  7. 7 • データ分析の進め方 〜機械学習コンテストを例に〜 • ニュースメディアでのデータ活用事例 ◦ 機械学習コンテストと実務の違い ◦ データを用いた課題解決

    本発表の概要
  8. • 主催者がデータセッ トと課題を提供 • 評価用データセット の正解ラベルを予測 • 開催中に順位を競う • 終了時の最終結果で

    順位が確定 8 機械学習コンテストとは?
  9. 9 • 1997 年にはデータマイニングの国際会議「KDD」 にて、第 1 回の「KDD Cup」が開催 • 「NeurIPS」「RecSys」など、機械学習に関連する

    さまざまな国際会議でコンテストが併設 機械学習コンテスト × 国際会議 馬場雪乃 (2016). 機械学習コンペティションの進展と今後の展開. 人工知能 31 (2): 248–253.
  10. 10 • 大規模画像データセット「ImageNet」を用いた画 像認識のコンテスト • 2010 年に開始し、2012 年に畳み込み層を用いた 深層学習のモデルが従来手法を圧倒的に凌駕する 性能を叩き出した

    • この事例は、昨今の深層学習研究の急速な発展に 向けた転換点とも言われている 大規模画像認識コンテスト「ILSVRC」
  11. 11 • 特定の問題に適した予測手法の研究促進 ◦ ILSVRC や、映画推薦の「Netflix Prize」 ◦ 機械学習の利用に対する参入障壁の低減 •

    予測手法の汎用性を報知する場の提供 • 実用上の知見の蓄積 ◦ 実装に当たっての勘所や論文の再検証 機械学習コンテストの貢献
  12. 12 • ゲーム性 • データセットと課題が用意されている • とにかく自分で手を動かせるように • 自分自身の客観的指標の一つに •

    社内外の知人が増える 機械学習コンテストを勧める理由
  13. 13 • 2010 年設立の機械学習コンテストのプラット フォーム(2017 年に Google が買収) • コンテスト開催に必要なユーザ管理・順位表・ス

    コア計算などの機能を提供 • ユーザ数は 2022 年に 1000 万人に達し世界最大 (日本からの参加者も年々増えている) Kaggle とは
  14. 14 • SIGNATE: 日本最大のコンテストプラットフォーム • Nishika: 特許庁初となるコンテストを開催 • ProbSpace: 優勝解法のピアレビュー制度が独特

    • Solafune: 衛星データが専門 • atmaCup: Kaggle Master が運営 日本発のコンテストサイトの例
  15. 15 • 大まかな流れと考え方を解説 • 例として、過去に優勝したコンテストを追体験 • データセット種類別の頻出手法を紹介 機械学習コンテストの取り組み方

  16. 16 1. 参加するコンテストを選ぶ 2. コンテストの概要を把握する 3. ベースラインとなるモデルを作る 4. モデルを改善する 大まかな流れ

  17. 17 • 扱うデータの種類・サイズ、タスクの種類 • 開催期間 • プラットフォームの性質、メダルの有無 • 実行環境の制限 選ぶ上での観点

  18. 18 業務で使う? 知的好奇心? 利用可能な計算資源? • テーブル • 画像 • テキスト

    • 音声 • 強化学習 扱うデータの種類・サイズ
  19. 19 この区分に当てはまらない出題も増えている • テーブル:分類・回帰 • 画像:分類・回帰・セグメンテーション・物体検 出など • テキスト:分類・回帰・質問応答など タスクの種類

  20. 20 • 2 〜 3 カ月くらいのコンテストが多い • 個人的なお勧めは、終了 2 週間前くらいのコンテ

    スト ◦ 「良コンペ」か否かの評判も出ている ◦ 最後の順位開示の瞬間の一喜一憂がたまらない ◦ 終了後の上位解法が勉強になる 開催期間
  21. 21 • 参加者が多いプラットフォームがお勧め • Kaggle ではコンテストごとに、メダルやポイント が獲得できる・できないが設定されている • 獲得できる方が、参加者の質が高く議論も活発で 学びが得やすい傾向にある

    プラットフォームの性質、メダルの有無
  22. 22 • 背景や社会的意義 • 現実で適用できるコンペ設計か? • 機械学習が必要か? • 評価指標は「運ゲー」になりづらいか? タスクの面白さ

  23. 23 • 『Weekly Kaggle News』 ◦ https://www.getrevue.co/profile/upura • kaggler-ja slack

    ◦ https://yutori-datascience.hatenablog.com/entry/2017/08/23/143146 • twitterのKaggleリスト ◦ https://twitter.com/i/lists/997999294798942208 どこで知るのか?
  24. 24 1. 参加するコンテストを選ぶ 2. コンテストの概要を把握する 3. ベースラインとなるモデルを作る 4. モデルを改善する 大まかな流れ

  25. 25 • 機械学習コンテストで他の参加者と差別化を図る ためには、与えられたデータセットと課題を適切 に理解し、多くの試行錯誤を重ねられるかが鍵 ◦ 「ノーフリーランチ定理」 ▪ あらゆる問いに対し最適な手法は存在しない ◦

    「探索的データ分析」 ▪ 特定の問いに対し有効な手法を探る 課題の把握
  26. 26 • PetFinder.my Adoption Prediction • 2018 年 12 月末〜2019

    年 3 月末に開催 • 「機械学習を用いて、マレーシアのペットショッ プでの犬・猫が引き取られる早さを予測」 • チーム参加し、優勝 題材: PetFinder https://www.kaggle.com/c/petfinder-adoption-prediction
  27. 27 • ペットの画像形式データ • 説明文やペットの名前などのテキスト形式データ • 身長・体重・属性などのテーブル形式データ • 必要に応じて外部データも利用可能 利用できるデータ

  28. 28 犬・猫が引き取られる速さ • 0 - リストアップの当日(0 日目) • 1 -

    リストアップの 1〜7 日目 • 2 - リストアップの 8〜30 日目 • 3 - リストアップの 31〜90 日目 • 4 - 引き取られない 5 クラス分類問題
  29. 29 • 学習用データセット (train) と評価用データセット (test) に同一の画像が存在 • imagehash というライブラリ

    で探索し、予測値を上書き データの重複 解法詳細: https://speakerdeck.com/upura/kaggle-pe tfinder-2nd-place-solution
  30. 30 1. 参加するコンテストを選ぶ 2. コンテストの概要を把握する 3. ベースラインとなるモデルを作る 4. モデルを改善する 大まかな流れ

  31. 31 • モデルの作成 ◦ 与えられたデータセットをタスクに応じて処理 • モデルの評価 ◦ ①ホールドアウト・交差検証など手元の評価 ◦

    ②暫定の順位表に提出して評価 ◦ 検証用データセットの構築方法を検討していく ベースラインの構築
  32. 32 • 入力を機械学習モデルが受け取れる形式に変換 • データセット種類別の頻出手法 ◦ テーブル(量的変数・質的変数) ◦ 自然言語 ◦

    画像 ベースライン構築に向けた基本的な処理
  33. 33 0, 1, 10, 100, …… => 数値データは、基本的にそのまま利用できる • 機械学習のアルゴリズムによっては前処理が必要

    ◦ ニューラルネットワーク・線形回帰・サポート ベクトルマシンなど ◦ 欠損値の補完、値の範囲調整、多重共線性など テーブル(量的変数)
  34. 34 “Tokyo”, “Osaka”, “Aichi” => 数値データに変換する • ラベルエンコーディング ◦ “Tokyo”:

    0, “Osaka”: 1, “Aichi”: 2 • One-hot エンコーディング ◦ “Tokyo”: (1, 0) , “Osaka”: (0, 1), “Aichi”: (0, 0) テーブル(質的変数)
  35. 35 "The night is long that never finds the day."

    => 数値データに変換する • 登場回数(Bag of words や TF-IDF など) • 分散表現(word2vec や BERT など) 自然言語
  36. 36 => N × N の画素を持つ数値データ • ニューラルネットワークによる特徴表現 ◦ 事前学習済みの

    CNN や ViT など • ハンドクラフトな局所特徴量 ◦ Bag of Visual Words や SIFT など 画像
  37. 37 • 全て数値データに変換・結合し LightGBM で学習 • 自然言語は TF-IDF 、画像は CNN

    などで特徴抽出 PetFinder での取り組み 解法詳細: https://speakerdeck.com/upura/kaggle-petfinder-2nd-place-solution
  38. 38 多段階(特徴抽出後に機械学習モデル)ではなく、 ニューラルネットワークで一気に処理 昨今の傾向: End-to-End (E2E)

  39. 39 • モデルの作成 ◦ 与えられたデータセットをタスクに応じて処理 • モデルの評価 ◦ ①ホールドアウト・交差検証など手元の評価 ◦

    ②暫定の順位表に提出して評価 ◦ 検証用データセットの構築方法を検討していく ベースラインの構築
  40. 40 • ①ホールドアウト・交差検証など手元の評価 • ②暫定の順位表に提出して評価 モデルの評価: ①はなぜ必要?

  41. 41 • (特に業務では)実際に試すまで性能が分からな いのは問題 • public LB で良いスコアが出ても、一部のデータの みに過学習した結果の可能性がある •

    (コンテストでは)提出できる回数に制限がある モデルの評価: ①はなぜ必要?
  42. 42 モデルの評価 • ラベルが分かる train から検証用データ セット (validation) を作る •

    ホールドアウト (上) や交差検証 (下) など で性能を測る
  43. 43 基本的な考え方: train と test の関係性を模倣して validation を構築する 検証用データセットの構築方法

  44. 44 train と test で RescuerID の被りがなかった => train と

    validation も同様に分割 PetFinder での取り組み
  45. 45 「ある RescuerID の個体は引き取られやすい」など 本来使えないはずの情報を学習してしまう RescuerID の被りがあると?

  46. 46 • ①ホールドアウト・交差検証など手元の評価 • ②暫定の順位表に提出して評価 モデルの評価: ①②の関係性を分析

  47. 47 1. 参加するコンテストを選ぶ 2. コンテストの概要を把握する 3. ベースラインとなるモデルを作る 4. モデルを改善する 大まかな流れ

  48. 48 • 特徴量の変更・追加・削除 • モデルの複雑性 • データの拡張 • 過学習の抑制 •

    さまざまな学習方法 • アンサンブル 前述の評価①②を参考に試行錯誤
  49. 49 • 機械学習コンテストとは? ◦ 主催者が設定したデータセットと課題を分析 • 機械学習コンテストでのデータ分析の進め方 ◦ コンテスト選びの勘所 ◦

    概要把握→ベースライン作成・検証→改善 前半の振り返り
  50. 50 • データ分析の進め方 〜機械学習コンテストを例に〜 • ニュースメディアでのデータ活用事例 ◦ 機械学習コンテストと実務の違い ◦ データを用いた課題解決

    本発表の概要
  51. 51 • 機械学習コンテスト ◦ 主催者が設定したデータセットと課題を分析 • 実務では、機械学習コンテストの枠組みを自ら構 築する必要がある(問題設計) ◦ タスク?

    評価指標? データセット? どうなれ ば終わり? 機械学習コンテストと実務の違い
  52. 52 • 機械学習コンテストでのデータ分析の進め方 ◦ コンテスト選びの勘所 ◦ 概要把握→ベースライン作成・検証→改善 • 参加者視点で得た勘所が、実務での問題設計にも 大いに役立つ印象

    • 問題設計後は実務も同じ流れで知見を流用できる 機械学習コンテストと実務の違い
  53. 53 • 機械学習コンテストでのデータ分析の進め方 ◦ コンテスト選びの勘所 ◦ 概要把握→ベースライン作成・検証→改善 • 🚨 継続的な運用を見据えた手法選択を意識

    • 🚨 わずかな性能の違いを求めすぎない 機械学習コンテストと実務の違い
  54. 54 • ユーザの年齢推定 • ユーザの解約予測 • 企業の業種ラベル付与 • 自然言語処理による編集業務支援 データを用いた課題解決

  55. 55 • 属性情報は、良質な体験を提供する上で重要 • 現在は日経 ID に登録する形で、ユーザに属性情報 を提供してもらっている • 記事閲覧ログや記事データから年齢を予測するモ

    デルが構築できれば、登録の手間の削減や属性情 報の欠落の問題に対応できる可能性あり 課題の背景: ユーザの年齢推定
  56. 56 2019 年 12 月、日本開催「 Kaggle Days Tokyo 」で Kaggle

    コンテスト開催報告
  57. 57 • 12 カ国以上から 465 人もの応募(定数 240 ) • 2

    日目のコンテストに 88 チーム 149 人が参加、 提出数 1116 • コンペのお題「日経電子版ユーザの年齢推定」 • 入力:匿名化ユーザの記事閲覧ログ、記事データ • 出力:ユーザ ID に紐づく年齢 Kaggle Days Tokyo
  58. 58 • 午前 10 時半に始まり、午後 6 時半までの 8 時間 •

    最大 3 人のチーム、提出回数は 30 回まで • 外部データは日本語の辞書のみを利用可能 • コンテスト中の 8 時間は、予測用のデータセット のうち 25 % のみを用いて計算した暫定のスコア に基づく順位を表示(評価指標は RMSE) ルール
  59. 59 最終結果(RMSE)

  60. 60 • 記事閲覧ログと記事データから、テーブル形式の 特徴量を生成し、機械学習アルゴリズムで予測 • 自然言語処理技術を活用し記事データから効果的 な特徴量を抽出していた点が決め手 ◦ 記事本文の活用(TF-IDF など)

    ◦ 記事の閲覧履歴を系列と見なし word2vec など 上位陣の取り組み
  61. 61 • 上位入賞者のソースコード ◦ データの効率的な前処理・自然言語処理の手法 を用いた特徴量 • 想定される性能の見込み ◦ 性能と複雑さのトレードオフを議論

    コンテストで得られた知見 Shotaro Ishihara, Norihiko Sawa (2020). Age Prediction of News Subscribers Using Machine Learning: Case Study of Hosting Worldwide Data Analysis Competition “Kaggle”. Computation + Journalism Symposium 2020.
  62. 62 • ユーザの年齢推定 • ユーザの解約予測 • 企業の業種ラベル付与 • 自然言語処理による編集業務支援 データを用いた課題解決

  63. 63 • (日経電子版のような)定期購読のビジネスモデ ルでは、ユーザの継続は売上に直結 • 事前にユーザの解約見込みを予測できれば、対策 を検討できる 課題の背景: ユーザの解約予測

  64. 64 • Frequency: 訪問頻度 • Volume: 閲覧量 • 過去の契約データを活用 解約予測指標

    F√V 山田健太, 山本真吾, 石原祥太郎, 澤紀彦 (2022). F√V:オンラインニュースメ ディアにおける解約予測指標の開発と 活用. 第14回データ工学と情報マネジメ ントに関するフォーラム.
  65. 65 • 250 の説明変数で、高性能で解約を予測可能 • 解釈性や運用のしやすさから、F√V を採用 • 2016 年から、現在

    に至るまで継続して 利用中 予測性能と解釈性
  66. 66 • ユーザの年齢推定 • ユーザの解約予測 • 企業の業種ラベル付与 • 自然言語処理による編集業務支援 データを用いた課題解決

  67. 67 • 企業データベースに日経独自の業種ラベルを付与 • 上場企業については手動で付与済み • 一方、日々多くの企業も登場(非上場企業) • 非上場企業に、自動的に業種ラベルを付与したい 課題の背景:

    企業の業種ラベル付与 増田太郎, 石原祥太郎, 吉田勇太 (2022). 企業の業界分類予測における共変 量シフト問題の抑制. 第14回データ工学と情報マネジメントに関する フォーラム.
  68. 68 ルールベースと比較し正答率が 16-20 ポイント改善 機械学習コンテストの知見を活かし実装

  69. 69 • 属性情報の人為的な欠損 ◦ 非上場企業では属性情報が欠損しがち • Adversarial Validation を利用した特徴選択 ◦

    上場・非上場の分布の違いを考察 • テキストのトークン長の調整 ◦ 非上場企業の説明文は短め 上場・非上場の分布の違いへの対処
  70. 70 • ユーザの年齢推定 • ユーザの解約予測 • 企業の業種ラベル付与 • 自然言語処理による編集業務支援 データを用いた課題解決

  71. 71 • BERT や GPT-3 に代表される大規模言語モデルが 急速に進化 • これらを駆使し、記事の分類・要約・生成・校正 など業務効率化を実現できないか?

    • 日経電子版の記事データを用いて、独自の大規模 言語モデルを構築・検証 課題の背景: 編集業務支援
  72. 72 • 所要閲覧時間の予測 • クリック率の予測 • 記事の類似度の判定 • 読者の年齢推定 •

    記事の見出しや要約の生成 編集業務支援の例 https://hack.nikkei.com/jobs/ai_and_datascience/ 機械学習コンテストでも よくある問題設定
  73. 73 • 所要閲覧時間の予測 ◦ 機械学習コンテストでもよくある問題設定 ◦ IEEE BigData 2022 採択

    • 記事の見出しや要約の生成 ◦ 実務ならではの課題に直面し対応した例 ◦ ACL-IJCNLP 2022 採択 2 つを取り立てて説明
  74. 74 • 状況に合わせたプッシュ通知 • 難易度に応じた記事推薦 • 見出しとの併記による意思決定支援 • 「釣り見出し」の分析 所要閲覧時間を予測する意義

    Shotaro Ishihara, and Yasufumi Nakama (2022). Analysis and Estimation of News Article Reading Time with Multimodal Machine Learning. In Proceedings of 2022 IEEE International Conference on Big Data (Industrial & Government Track). (to appear)
  75. 75 どうやって所要閲覧時間を予測する? • text length • headline / body text

    • thumbnail image • others like genre • past reading history reading time
  76. 76 1. 記事の文字数 (text length) だけで十分に予測でき るのか? 2. それ以外の特徴量は、どれだけ役に立つのか? 知りたいこと

  77. 77 • 10 万セッションずつ ◦ train: 21.12.01 ◦ validation:21.12.08 ◦

    test: 21.12.15 日経電子版からデータセットを構築
  78. 78 • 相関は 0.04 (左)、外れ値を除外しても 0.31 文字数 (x) & 所要閲覧時間

    (y)
  79. 79 コンテストの知見を活用した提案手法

  80. 80 予測に寄与した特徴量 1. 過去の平均閲覧時間 2. 記事の文字数 3. 過去の最低閲覧時間 4. 本文の

    BERT 特徴量 5. サムネイル画像の Swin Transformer 特徴量
  81. 81 実験結果 • LightGBM は十分に有力 • 提案手法(E2E のニューラルネットワーク)は、 LSTM を組み込むことで最良の結果に

  82. 82 • 滞在時間の予測 ◦ 機械学習コンテストでもよくある問題設定 • 記事の見出しや要約の生成 ◦ 実務ならではの課題に直面し対応した例 2

    つを取り立てて説明
  83. 独自モデルをいつ再学習? Shotaro Ishihara, Hiromu Takahashi, and Hono Shirai (2022). Semantic

    Shift Stability: Efficient Way to Detect Performance Degradation of Word Embeddings and Pre-trained Language Models. In Proceedings of AACL-IJCNLP 2022. 83
  84. • 大規模言語モデルとして「BERT」が 2018 年末に 発表され話題に • 外部企業の協力を経て 2019 年、日経電子版の記 事を用いた

    BERT モデルを構築 • ニュース記事の要約などの応用を検証 日経電子版 BERT 2019 84
  85. 新型コロナの流行前の 文章で学習した BERT モデルは、コロナ後の 文章の処理が苦手 言葉は日々変化 石原慧人, 石原祥太郎, 白井穂乃 (2021).

    BertSumを用いた日本語ニュース 記事の抽象型要約手法の検討. 人工知能学会全国大会論文集. 85
  86. • 時期の異なる日経電子版 記事で構築した 2 つの 単語分散表現のベクトル 空間を比較 • 「コロナ」の周辺単語が コロナ前と以後で変化

    言葉は日々変化 高橋寛武, 石原祥太郎, 白井穂乃 (2022). 単語分散表現を用いた新型コロナ ウイルスによる意味変化検出. 言語処理学会第28回年次大会発表論文集. 86
  87. • 入力:2 つの word2vec • 出力:共通する語彙の 意味変化の度合いの平均 (Semantic Shift Stability)

    意味変化の度合い Semantic Shift Stability Corpus 2019 Corpus 2020 Word embeddings Anchor words Mapping: Rotate in two directions 87
  88. • 学習用コーパスの “Semantic Shift Stability” と 事前学習済みモデル・単語分散表現の時系列性能 劣化の関係性を分析 • 12

    パターンの日経電子版 RoBERTa や日英の word2vec を構築 • 大きな性能劣化は、Semantic Shift Stability が 小さいタイミングで発生(相関を確認) 学習用コーパスから性能を推察 88
  89. 89 • データ分析の進め方 〜機械学習コンテストを例に〜 • ニュースメディアでのデータ活用事例 ◦ 機械学習コンテストと実務の違い ◦ データを用いた課題解決

    まとめ
  90. 90 • 機械学習コンテストとは? ◦ 主催者が設定したデータセットと課題を分析 • 機械学習コンテストでのデータ分析の進め方 ◦ コンテスト選びの勘所 ◦

    概要把握→ベースライン作成・検証→改善 • ニュースメディアでのデータ活用事例 ◦ 問題設計を自分でやる必要がある ◦ コンテストの枠組みになれば、知見が活かせる