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

Pocochaにおける規約違反検知のための機械学習の活用【DeNA TechCon 2021 Autumn】/techcon2021autumn-08

8a84268593355816432ceaf78777d585?s=47 DeNA_Tech
September 29, 2021

Pocochaにおける規約違反検知のための機械学習の活用【DeNA TechCon 2021 Autumn】/techcon2021autumn-08

ライブコミュニケーションアプリであるPocochaは、配信動画・コメント・音声・フォロー関係・様々な行動履歴など、多種多様なデータを同時に扱うサービスです。
DeNAのデータサイエンスグループは、これらの豊富かつ多様なデータ資源に対して機械学習を適用することで、多様化する配信者の中からおすすめの配信者をユーザーごとに推薦したり、急成長で重要度を増す規約違反の検知(審査)を効率化するなど、さらなるプラットフォームの発展に貢献していこうとしています。
本講演では、幾つかある取り組みの中から、プラットフォームの健全化に向けた機械学習の活用事例についてお話しします。
Pocochaの急成長やグローバル展開で審査すべき対象が膨大に増えていく状況に対してどのように審査システムと機械学習を組み合わせて効率化を行っていったのか、審査効率化のためのアルゴリズムやシステム面など、幅広い視点から紹介していきます。

8a84268593355816432ceaf78777d585?s=128

DeNA_Tech

September 29, 2021
Tweet

Transcript

  1. Pocochaにおける規約違反検知のための 機械学習の活用 Ryuichi Kanoh

  2. 本日の構成 - 導入 - Pocochaの多様なデータを用いた機械学習 - 事例紹介 (規約違反検知) - 動画情報の活用

    - 自然言語情報の活用 - まとめ
  3. 自己紹介 - 加納龍一 - 2018年にDeNAにデータサイエンティストとして入社 - 主にMOVやGOに携わる機械学習システムの社会実装に従事 - 2021年4月より、Pococha関係の開発に従事

  4. 本日の構成 - 導入 - Pocochaの多様なデータを用いた機械学習 - 事例紹介 (規約違反検知) - 動画情報の活用

    - 自然言語情報の活用 - まとめ
  5. ライブコミュニケーションアプリ ”Pococha”を取り巻く様々なデータ 視聴コメント (自然言語) 配信 (動画・音声) リアクション (行動履歴) ユーザーの繋がり (グラフ情報)

    - 多様かつ豊富なデータの集合によりサービスが形成されている
  6. 機械学習で多様なデータを活かす - 配信者と視聴者のマッチング - 視聴者ごとに、おすすめの配信者を推薦 - マーケティングの最適化 - どんな取り組みがプラットフォームの成長に繋がるか分析 -

    規約違反の検知 - 誹謗中傷や危険行動などを検知し迅速に対応 - ... 本講演のテーマ
  7. 規約違反の検知 - 健全な運営のため、ユーザーには様々な「やってはいけないこと」が存在 - 危険行動 (運転中の配信など) - 誹謗中傷・脅迫行為 - 出会い目的

    - アダルト関連 - スパム・荒らし - … - 警告やBANなどの対応がとられる
  8. 重要度を増す規約違反検知の効率化 順調な成長による配信数増加 多国展開による監視対象の多様化

  9. 本日の構成 - 導入 - Pocochaの多様なデータを用いた機械学習 - 事例紹介 (規約違反検知) - 動画情報の活用

    - 自然言語情報の活用 - まとめ
  10. データセット 各種システム 機械学習API チェック NG 警告、BANなど 訓練に使用 配信監視システム - 完全自動ではなく、人間によるチェックと組み合わされた構成

    - Human in the Loop アラート 優先度つきキュー
  11. 見回り頻度の調整 - 全ての配信を均等に見回ると効率が悪い - 同時に物凄い数の配信が行われている - 効率よく違反を見つけられるよう、見回りの優先度をつける必要がある - ユーザーごとに、「違反を起こす確率」を推定しておく -

    過去の配信履歴や配信状況などを入力として推定する 配信経験数など (対数) 違反発生確率 (対数)
  12. - 各種KPIに大きな影響を与える - 配信開始から5分以内にチェックされる割合の改善 - 違反者は配信開始直後から違反する例が多いので、重要な指標 - 各種違反の発生から対応までに要する時間の大幅な短縮 - など、優先度づけが改善されると、インパクトは大きい

    見回り優先度決定のインパクト
  13. - 明らかに違反が発生していると思われるものについては、迅速な確認が必要 - RekognitionのDetect Moderation Labelsを用い、緊急度の高い違反は補足 - アダルトや暴力行為など、どのシチュエーションでも問題があるもの https://about.pococha.com/efforts/removing-inappropriate-content 違反の検出

    Amazon Rekognition
  14. https://www.pexels.com/ja-jp/photo/2827798/ Rekognitionを用いた違反の検出 →  Smoking: 97.7% → 画像をPostして健全性スコアを得る

  15. 独自モデルの学習 - ライブ配信ならではの違反も存在し、それらに対しては独自モデルを作成 - 蓄積されたデータを用いた教師あり分類学習で対応が可能 - 入力:配信動画 - 出力:その配信がどのカテゴリで違反を受けたか OK?

    Input Yes No Convolution Pooling Dense 典型的な畳み込みニューラルネットワークの例
  16. 辛さ - 不均衡さ - 規約違反の配信は全体の中ではごくごく一部 - ものすごく稀な例を正確に抽出できているのか、きちんと評価が必要 → GPUを使用するGKEクラスタの運用による効率化 -

    データセットの巨大さ - 愚直に実験をしていては、時間がかかりすぎる → downsamplingなど、適切なデータの前処理 - 人間の目だけでは検出が難しいNG例がある w/ preemptible-nodepool t
  17. - 既存の判定と比較する混同行列をみると、あまり良くないことがある 検出結果の例 AI判定OK AI判定NG 既存判定OK 既存判定NG … ※割合は例です

  18. - 既存の判定と比較する混同行列をみると、あまり良くないことがある - 人間の目だけでは検出が難しい例を多く捉えることができている - 泥臭くデータを眺め、監視チームと連携していくことが重要 検出結果の例 AI判定OK AI判定NG 既存判定OK

    既存判定NG … ※割合は例です 再判定をすると、これらのほとんどがNG
  19. 運用 - AI基盤部が管理する共通インフラにて運用が行われる - https://speakerdeck.com/dena_tech/techcon2021-12 - 内部ではGKEを使用

  20. 本日の構成 - 導入 - Pocochaの多様なデータを用いた機械学習 - 事例紹介 (規約違反検知) - 動画情報の活用

    - 自然言語情報の活用 - まとめ
  21. コメント違反 - 配信者のみでなく、視聴者側の違反も存在する - 誹謗中傷、アダルト、個人情報、荒らし... - 従来は古典的なワードマッチなどの手法で違反を検出 - グローバル展開が進むと、対応が大変になってくる -

    多言語を柔軟に扱える仕組みが必要 視聴コメント (自然言語)
  22. 言語の壁を、ベクトル化によって埋める - 言語が違っても、意味が同じならば似たベクトルになるように変換 - この変換後のベクトルを入力として学習や推論を実施する “How old are you?” “What

    is your age?” “My phone is good.” [0.3, 0.2, ...] [0.3, 0.1, ...] [0.9, 0.6, ...] W elcom e to sim ple yet surprisingly pow erful m ultilingual m odels language understanding m atters m ore than W hat people m ean the language they speak bienvenue à simple encore überraschend stark 多种语言 модели 사람들이 의미하는 것 نﻣ رﺛﻛأ مﮭﯾ la lingua che parlano 言語の理解
  23. モデル構造 ベクトル化機能 MLPなど (独自のモデル) この時点で、言語に関わらず意味的に近いコメント(可変長の文章)が 近いEmbedding(固定長のベクトル)に変換されている OK 既存のデータから教師となるものを抽出し訓練する コメント 誹謗中傷

    アダルト 出会い 公序良俗 営利目的 どのカテゴリに分類されるかを学習 違法
  24. 検出例 - (実際のコメントはお見せできないのですが...) - 伏字などを柔軟にカバーしながら、よしなに多言語を相手に検出 - (例)「ㄟ゜ㄋㄟ゜ㄋ」など、ワードマッチでは難しいものも柔軟に取得 - 現在も運用中で、検出された違反候補ユーザーの多くは実際に対応対象に apiVersion:

    batch/v1beta1 kind: CronJob (所定の時間に定期実行) 所定の時間のコメント 判定結果をBQに送る チェックに使用
  25. 他の自然言語情報への適用 - 例:通報文章の再分類 - ユーザーから送られてくる通報カテゴリは設定されていないことがある - 通報文章から、何についての言及なのかを推定し優先度をつける 再分類 ・アダルト ・誹謗中傷

    ・未成年の使用 ・危険行動 … 通報回数 通報カテゴリ カテゴリ:その他
  26. さらなる拡張 - より幅広いカテゴリに対して検出を行いたい - 一方、教師データが揃っている場合は一般的に少ない - そこでZeroshot-Learningの活用を検討 食べ物の分類器がほしい 車種の分類器がほしい 花の分類器がほしい

    Zeroshot model 分類カテゴリに食べ物のテキストをセット 分類カテゴリに車種のテキストをセット 分類カテゴリに花の品種のテキストをセット 追加データでのFine-tuning不要=ゼロショット
  27. さらなる拡張 Model Data Class 1 Class 2 Model Data Class

    (自然言語) yes / no - さまざまな公開モデルも存在 - 教師あり学習に精度は劣るが、 - 学習なしで運用できることによる手軽さ - 分析用の情報検索として使えるだけでもありがたい Supervised Zeroshot
  28. 本日の構成 - 導入 - Pocochaの多様なデータを用いた機械学習 - 事例紹介 (規約違反検知) - 動画情報の活用

    - 自然言語情報の活用 - まとめ
  29. まとめ - Pocochaの多様なデータを活用した、規約違反検知用の機械学習システム - 動画、音声、言語、グラフ、行動履歴などなど、様々なデータを活用 - 本日紹介したものの他にも、様々な取り組みが行われている - Human in

    the Loopの構成を活用しながら違反を素早く見つけることで、  健全なプラットフォームの運用に貢献 - 動画情報を活用した配信者の違反検知 - 自然言語情報を活用した視聴者の違反検知
  30. None