より安心・安全に利用できるサービスを

〜 コンテンツモデレーションシステムの紹介と事例 〜

第一部 Trust and Safetyについて

Trust and Safety(以下TnS)という言葉を耳にするとなんとなく安心安全なイメージが浮かびますが、実は企業によって少しずつ異なる意味で使われています。

以前は、政府からの協力要請とそれに応じた内容(ユーザー情報の提出など)として使う企業もありましたが、だんだんユーザー情報のみにとどまらずサービス全体の健全状態を表す意味で使う企業が増えている印象です。

最近は健全度を超えて企業理念やビジョンまで広めて使う企業もあります。

色んな意味で使われる言葉ではありますが、ここではTnSを「サービスの健全度を担保する活動全般」とします。

サイバーエージェントでは広告事業を含めアメーバブログやABEMAなどBtoCの事業も展開しています。

BtoC事業の場合、収益も重要ポイントですが、提供しているサービスが健全な状態を維持するのも大事なポイントです。
今回は、サイバーエージェントのBtoC事業におけるTnSの課題解決をミッションとしているOrionチームのメンバーが、

  • システムについて
  • システムの運用について
  • プロジェクトに関わるメンバーについて

それぞれの観点でその取り組みについて紹介します。

第二部 システムについて

ここでは、モデレーションシステムおよびフィルタリングモジュールについてシステムの観点から解説します。

1. モデレーションシステム

おおまかに、モデレーションシステムのフローとして以下のような処理が行われます。

    1. サービスからの監視データの収集
    2. 監視対象となりうるデータの抽出
    3. 人手を介した対象データの監視
    4. 監視結果のサービスへのフィードバック

以下のかんたんな模式図で流れを示します。

詳細については以下のとおりです。

1.サービスからの監視データの収集

サービスに投稿された監視データ(ここではコンテンツの他、通報や問い合わせも含まれます)を収集します。収集方法としては、各サービスが保有するコンテンツの投稿ログを収集する方法(pull型)や、投稿があった際にAPIを通じてOrionにデータを送信する方法(push型)があります。個人情報に該当しうるデータ(氏名・メールアドレスなど)はここにおける収集範囲に含めません。監視データはテキスト・画像・動画・またそれらの組み合わせが考えられます。

pull型のデータ収集には、Orionが各データセンターに保有しているストリーミングサービスを利用しています。そのため、種々のデータセンターに置かれている各サービスからのコンテンツデータを共通化して、ストリームとして流すことができ、新たなサービスに対するOrionの導入コスト軽減に貢献しています。

コンテンツをOrionに送るタイミングは、コンテンツがサービス上に公開された後(事後監視)、もしくは公開される前(事前監視)を選択できます。事前監視については、コンテンツが公開に適さない場合はもとより、公開に適すると判断した場合にもサービスにフィードバックを送ることで、コンテンツの公開判断を確実に行うことができます。

2-A. 監視対象となりうる対象データの抽出

流入してくるコンテンツデータは、Apache Kafkaを用いたキューイングシステムに流され、その後抽出やその他の処理を通してデータベースに記録されます。

投稿されるコンテンツデータは、問題のないことがほとんどです。(※サービスや投稿箇所にもよりますが概ね99%以上は監視対象にはならない)したがって、コンテンツを何らかの方法で抽出します。抽出方法(Orion Filter)については後節で詳細を述べることとします。

ただし、コンテンツによってはスパム投稿を見逃すことによるサービスへの影響が大きい場合も考えられます。そうした場合、抽出処理を行わず、投稿されるコンテンツのすべてを人手を介した監視作業(以後、目視監視と記述します)に流すケースもあります。

2-B. 抽出結果によるサービスへのコールバック(機械による削除)

一部サービスにおいては、フィルタでの結果に応じて自動的にサービスに削除リクエストを送信します。これは、コンテンツを処理するまでのリードタイムを最小化できるほか、目視監視の削減を目的としています。

3. 目視監視

抽出されたデータは、CA Advanceのオペレータが24時間体制で目視による監視を行います。目視監視を行う理由は、抽出されたコンテンツに本当に悪意があるのかを手動で判断するためです。オペレーターは、関連するコンテンツなどから文脈を推定するなどした上で、ポリシーに反していると判断した場合コンテンツの処理を行います。これにより、問題のないコンテンツを誤って削除してしまうことを防止しています。

目視監視は多くの人手を要し、またオペレーターの訓練も必要であり、コストのかかる作業です。そのため、前項の抽出処理を改良することにより、できる限り目視監視を行う件数を絞り込みつつ、悪質性の高いコンテンツのみ抽出できるよう努めています。

4. サービスへのフィードバック

コンテンツがポリシー違反であった場合、2-Bと同様、サービスにコールバックを送信します。さらに、各サービスにおいてユーザへの警告や退会などを実施します。

2. フィルタアーキテクチャ

前項で述べたように、目視監視に回す対象コンテンツを抽出し、また各サービスから直接呼び出してコンテンツをフィルタリングするために、フィルタリングモジュールを設置しています。フィルタリングモジュールでは、コンテンツを効率的に抽出するために種々の抽出方法を用意しています。コンテンツが投稿される箇所に応じて、必要なフィルタを組み合わせて利用することができるようになっています。利用できるフィルタは、例えば、以下の通りです。

a. ワードフィルタ

テキストについて、あらかじめ設定した不適切と思われるワードを抽出します。ストレートに一部分だけ抽出する方法や正規表現を使う方法などを提供しています。検知率を上げるために、テキストのゆらぎ(あ;ア;㋐ など)を統一したり、検索回避のためによく使われる区切り記号を無視して検知するなど種々の処理を加えています。

b. 連続投稿フィルタ

同一の文章を一部だけ変えて幾度も投稿しているケースに対しては、キー(ユーザIDなど)をセットした上で、同一キーにより入力されたコンテンツそれぞれについて類似率を計算します。類似率のしきい値を適宜設定することで、文章の一致を検知し、一定時間内に一定の回数以上連続して一致したコンテンツを検知した場合、連続投稿とみなします。

c. 画像フィルタ

ポリシー違反となりうる画像について、とりわけポルノ画像・グロテスクな画像・個人情報を掲載した画像に関する判別を行います。加えて特定のサービスにおいては、ポリシー違反画像の判定のためにオーダーメイドの判別フローを構成することもあります。

d. 機械学習フィルタ

テキストについても、判別やクラスタリングの技術を用いたフィルタリングも実現させています。過去の判定結果などからモデルを作成し、スパム投稿(具体的には、例えばツールなどを利用した悪質なサイトへの誘導を行う投稿など)のいち早い検知と削除を実現させています。

e. 行動フィルタ

入力するデータはテキストや画像にとどまらず、行動ログも対象にすることがあります。具体的には、東京大学 鳥海研究室と共同で、ピグパーティにおける行動ログをもとにしたモデル化と、それに基づく未成年者と悪質ユーザの接触の検知を実施する機構を開発しています。
ご覧いただいたように、Orionでは方法も対象も様々なフィルタを実装しています。したがって、開発や運用のために幅広いドメインの知識を導入する必要があり、多くのエンジニアの協力が必須です。

第三部 システムの運用について

1. 具体的にどういう課題に向き合ってきたか?各サービスの不正について

サイバーエージェントはインターネット広告の事業を軸に、これまで様々なインターネットサービスを提供してきました。

特にアメーバブログは Web 2.0 に分類されるようにコンテンツの作成や配信にウェブの知識を必要としないため、一般のユーザにも広く浸透しました。2004年9月15日のサービス開始から見ると17年もの運用実績があります。まだ世の中に TnS という領域が認知される前から安心安全なプラットフォームの構築という課題に向き合ってきたと言えます。

TnSと一言で言ってもサービスの特性やコミュニティに参加するユーザによって課題は様々です。

あるコンテンツプラットフォームの違反傾向 (2021年11月)

※あるコンテンツプラットフォームの違反傾向 (2021年11月)

コンテンツ中心のプラットフォームでは、テキストの表現や内容による課題が多い傾向にあります。
ABEMAやアメーバブログでは、同じ内容のコンテンツを大量に投稿するスパムや、特定の対象者に対するヘイトスピーチなどの不正が大部分です。また、コンテンツの一部として画像を投稿できるサービスも多く、不快な画像がアップロードされていないかのチェックも必要です。

ピグパーティやマッチングなど、ユーザ同士がインターネットの空間を活用しコミュニケーションを取り合うソーシャル・ネットワークでは、不正の検出精度だけでなくリアルタイム性も高く求められます。
コミュニティに参加するユーザ同士がリアルタイムでメッセージを交換し合うため、安心安全なプラットフォームを提供するためには、コミュニティから悪質な業者や出会い目的のユーザを排除することが不可欠です。

2. 不正に対するアプローチとしてフィルタ(アルゴリズム)の開発とその対応

大量のコンテンツが行き交うプラットフォームで、不正を効率よく的確に検出するには、人とコンピュータが協調し互いの強みを活かすシステムが必要です。

Orionでは不正を検出しやすくするためのアプローチとしてスキーマ中心の設計を行なっています。例えばブログの様なコンテンツ・マネジメント・システムで記事のコンテンツを検査するケースでは次のようなスキーマを定義します。

{
  "time": "2021-12-01T15:20:00.999+0900",
  "clientId": "blog",
  "observationId": "posts",
  "userId": "0001",
  "data": {
    "title": ...,
    "content": ...,
    "images": [...
]
  }
}

次に、サービスの Trust and Safety 担当者とそのコンテンツでどのようなポリシーに反するリスクが存在するかを議論します。

フィールド ポリシーに違反するリスク
title 誹謗中傷
content ヘイトコンテンツ
PII (個人情報)
スパム
images 不快な画像

スキーマに関連付けられたこれらの情報をもとに、不正を検出するためのフィルタリング設定をしていきます。

フィールド ポリシーに違反するリスク フィルタリング設定
title 誹謗中傷 ワードフィルタ
content ヘイトコンテンツ
PII (個人情報)
スパム
ワードフィルタ
機械学習フィルタ (スパム、類似検出)
images 不快な画像 画像フィルタ

これらの作業はアナログで一見すると無駄なように感じられますが、実際にはそれを上回る様々なメリットがあります。

  • コンテンツがどのようなデータ構造をしているか
  • コンテンツにどのようなガイドラインが規定されているか
  • コンテンツポリシーに違反するリスクは何か

最終的に、コンテンツに関連付けられたスキーマの定義とメタ情報を外部のレジストリに登録します。

あらかじめコンテンツにこれらのメタ情報を付加することで、不正検出のストリーミングデータ処理では、フィルタリングモジュールにリクエストするだけの必要最小限の実装に留められています。

また、アプリケーションもステートレスな状態に保たれているため、自動スケーリングと親和性の高いアーキテクチャとなっています。

3. 透明性レポート、数値の成果

これまで安心安全なプラットフォームの構築という課題とその取り組みについて簡単に説明をしてきました。さて、この取り組みが適切だったのか、効果は果たしてあったのか、客観的に評価するにはどうすれば良いでしょうか?

私たち Orion のソフトウェアエンジニアが在籍する技術本部では「データ活用」を Media TechVision の二つ目のテーマとしています。このテーマの目的は、チームがデータ戦略を獲得することで潜在的な事業インパクトを引き出すことです。

アバターやマッチングサービスなどのソーシャル・ネットワークのサービスでは、プラットフォームの健全性がユーザ体験に直結します。そのため戦略的にデータ活用ができるよう基盤環境を整備する必要がありました。

現在 Orion で解析されたコンテンツとすべてのアクティビティは、一部コンテンツなどセンシティブな情報を除いた上で、データ解析基盤の Patriot に集約されたのち、Google Cloud の BigQuery に転送されます。そうすることで、削除されたコンテンツの数だけに留まらず、様々な視点でプラットフォームの健全性を評価できるようになっています。

  • 削除の理由
  • 検出元 (フィルタリング・通報・オペレーター)
  • フィルタリングの精度
  • オペレーターの稼働時間

将来的には、私たち TnS への取り組みを「透明性レポート」として公開することで、サイバーエージェントのインターネットサービスを利用するユーザと良い信頼関係を築けるよう、この活動を続けて行きたいと考えています。

第四部 プロジェクトに関わるメンバーについて

ここからは、サイバーエージェントの安心安全を支えるのにどのような役割と責任を持った人々が関わっているかを紹介しつつ、仕事を進める上で苦労した点について触れたいと思います。

あるサービスでの安心安全を守りたい際、下記のようなメンバーで構成されるプロジェクトチームが組成されます。参加するメンバーは、例えば下記のような役割を持ってプロジェクトに参加をします。

プロジェクトマネージャー(A)
全体の作業計画や進捗状況を管理する人
実際には、後述のサービス担当者やカスタマーサポート担当者、ソフトウェアエンジニアが担当する場合がある

サービス担当者(B)
サービスにおけるTnSに責任を持つ担当者、あるいは自サービスの不快体験を減少させたいと考える施策担当者

カスタマーサポート担当者(C)
サービス担当者と連携し、サービス規約の作成
規約に沿って作業するオペレーターの支援

監視オペレーター(D)
サービス内の違反コンテンツや違反ユーザを、ガイドラインに沿って検出・報告を行う担当者

ソフトウェアエンジニア1(E)
モデレーションシステムの開発と運用の担当者

ソフトウェアエンジニア2(F)
検出アルゴリズムの開発
ソフトウェアエンジニア1と協力し、ガイドラインを反映した違反検出アルゴリズムをモデレーションシステムに組み込む
検出アルゴリズムが、想定通り機能しているかを計測する

それぞれのメンバーの所属は異なります。そのため、事業部や会社を横断したステークホルダーとの調整が必要となる、大きなプロジェクトとなりがちです。図にプロジェクト参加者とそれぞれの役割と関係を記述します。

プロジェクト参加者の役割と関係

※プロジェクト参加者の役割と関係

こうした役割や責任を持つ人々が参画するプロジェクトでは、下記のような業務フローに従って仕事を行います。

  • サービス担当者が、(1)プラットフォームに投稿されるコンテンツの何を不適切とするか、(2)ユーザのどのような行動を不適切とするのかを、それぞれガイドラインとして言語化する
    サービス担当者の視点、カスタマーサポート担当者の視点、違反コンテンツや違反ユーザを検出するアルゴリズムを記述するソフトウェアエンジニア2の視点を持って、どのような違反が存在するのかを探索的なデータ分析によって明らかにする
  • カスタマーサポート担当者は、言語化されたガイドラインをユーザに理解してもらえるよう、サービス規約として公開する
  • 同時に、カスタマーサポート担当者は違反コンテンツや違反ユーザを手動で検知している監視オペレーターに具体的な例を示しながら、ガイドラインが定める違反を認識し、手動検出できるようにする
  • ソフトウェアエンジニア2は、ガイドラインが定める違反コンテンツや違反ユーザを自動的に検出できるように、データを収集しながらアルゴリズムを開発する
  • ソフトウェアエンジニア2は、開発したアルゴリズムをモデレーションシステムに組み込む。組み込み前後でどれだけ効果があるかをプロジェクトメンバーと共有し、どのような問題が発生しているかを検証する

上記のように、ある程度「型」が決まった業務フローに基づいて協働することが多いのですが、様々な難しい点によって、プロジェクトが進まず失敗してしまうことがあります。以下では具体的な事例を紹介したいと思います。
ステークホルダー間で何が違反かを合意できずに、ガイドラインを作成することができないことがあります。また、ガイドラインができたとしても、違反の実例を作るもしくは、集めることができずアルゴリズムを実装できないこともあります。そのため、プロジェクトマネージャーとして実施したいこと(例えば、まだ見ぬ違反を未然に防ぐ、など)とソフトウェアエンジニア2が実現できることの間にギャップがあることもあります。

想定していたよりも検出アルゴリズムが機能していないこともあります。具体的には、違反だと判定されているが実は違反でないものを多く検出していたり、違反であるにも関わらず検出できていないものがサービスに多数残っていることもあります。

インターネット上における誹謗中傷に端を発する事件の重大性を鑑みて、サービスが安心安全な状況を提供するのは当たり前だと考える人が社内外で多くなっている印象を受けます。サイバーエージェントのTnSの分野はサービスの中でも黒子のような存在で、スポットライトを浴びる部署ではありません。そのため、コストカットの対象になりやすく余剰部署だと思われてしまうことがあります。問題が起こっていないときにこそ、企業の社会的責任を果たしているなど、重要性を認識してもらう努力を定期的に行う必要がありそうです。競合他社であっても、この領域で働く人々も同じ状況かもしれません。苦労話やキャリア、ステップアップについて情報共有が続いていけばよいなと思います。

まとめ

今回は、サイバーエージェントのメディア(BtoC)事業のTnSにおける課題と、それに対する取り組みについて解説しました。

第一部では、TnSについての概説を述べました。
第二部では、サイバーエージェントでTnSを扱うシステムのOrionについて解説しました。多くのサービスや、様々なコンテンツを扱うための工夫などを述べています。
第三部では、Orionを用いて実際のサービスにおいてTnSの各種課題にどのように対応しているかを述べています。
第四部では、サイバーエージェントにおけるTnSに関わる人について解説しました。多くのスタッフが安心・安全に関わっていることがわかります。

インターネットを使ったサービスでTnSは重要な課題になります。サービスのクオリティはもちろん場合によってはその企業や社会まで影響を与える場合もあります。

私たちTnSに関わるチームは、これからもグループ全体に安心安全なサービスの提供をするために努力します。

今後、Orionを含めたTnSの取り組みを継続的に皆さまにお伝えするために、各サービスと連携して透明性レポートの公開を検討しております。(参考: Google 透明性レポート) 透明性レポートが、サイバーエージェントの利益にとどまらず、社会全体への安心・安全への貢献につながるものにしたいと考えています。

OpenSasS所属。Orion〜コンテンツモデレーションシステムの開発を担当
Orion でストリームデータ処理基盤の開発・運用を担当してます。珈琲とドーナツ好き。
2012年新卒入社の機械学習エンジニアです。現在はコンテンツに対するフィルタリングシステムや、画像解析システムの開発・運用を行っています。
トレンド検知システムやスパムフィルタの開発・運用、Amebaメディアの広告配信ロジックの開発などのデータ分析業務を担当。