サイバーエージェントを支える技術者たち

第55回安心・安全に使えるサービスを実現する「Orion」[後編]

投稿されたテキストや画像[1]をチェックする業務を支援するために、サイバーエージェントでは「Orion」と呼ばれるシステムを開発し、サービス品質の維持/向上に役立てています。前編に引き続き、このプロジェクトのメンバーである安田氏と藤坂氏、内藤氏、松井氏にお話を伺います。

Flumeを使って取得したユーザ投稿をHBaseに記録

サイバーエージェントでは、統合プラットフォーム上でさまざまなスマートフォン向けサービスを展開する「デカグラフ」構想を推進しています。Ameba Technology Laboratoryを中心に開発された「Orion」は、こうしたスマートフォン向けサービスにおいて、ユーザが投稿したテキストや画像をチェックし、青少年にとって有害な内容などがないかを監視するためのシステムです。

このOrionの具体的な処理内容について、藤坂氏は次のように説明します。

「ユーザが投稿をすると、Flumeのマルチプレクサ機能を用いてOrionやPatriotを含めた各システムにログとして配信されます。OrionでもFlumeを動かして、受け取ったログに対して必要な処理を行います。具体的には、ユーザ投稿に特定のワードが含まれているかをチェックしているほか、HBaseに記録するための整形、集計処理を実施しています。こうして処理したユーザ投稿をHBaseに記録し、APIを通じてフロントエンドのアプリケーションからの読み出しや、Solrを使った検索もできるという形になっています(藤坂氏⁠⁠。」

Patriotとは、以前Ameba Technology Laboratoryによって開発された大規模データ処理システムであり、Hadoopをはじめとするソフトウェアを活用して膨大なログの解析などを行っています。OrionはPatriotと同様、ユーザ投稿の収集と活用を行うシステムなのです。

図1 ユーザ投稿の監視の流れ。ログとしてOrionに取り込まれたユーザ投稿は、必要な処理を行ったうえでHBaseに記録される。監視画面を提供するフロントエンドは、APIを通じてHBase内のユーザ投稿を取得する
図1 ユーザ投稿の監視の流れ。ログとしてOrionに取り込まれたユーザ投稿は、必要な処理を行ったうえでHBaseに記録される。監視画面を提供するフロントエンドは、APIを通じてHBase内のユーザ投稿を取得する

多様な要求に応えられる柔軟性の高いシステム

このシステムを利用して実際にテキストや画像のチェックを行うのは、サイバーエージェントグループの1社であるシーエー・アドバンスです。フロントエンドのアプリケーションは、APIを通じてHBaseに記録されたユーザ投稿を読み取って画面に表示し、それをシーエー・アドバンスのオペレータがチェックするという流れになっています。

Orionで提供されるAPIは、単にHBaseに記録されているユーザ投稿を取得したり、あるいはSolrを使った検索のためのしくみを提供したりしているだけでなく、サービスごとにHBaseに取り込む前の処理を変えるためのインターフェースも提供しているとのこと。松井氏は、サービスごとに処理を変える必要がある理由を次のように説明します。

「そもそもデカグラフ構想には、プラットフォーム上で提供されているさまざまなサービス間を自由に行き来しながらユーザに楽しんでいただこうというコンセプトがあります。これらのサービスには当然それぞれ特色があり、チェックすべき内容もサービスによって変わってくることが想定できました。そのため、Orion内で行われるフィルタリング処理についても、サービスによってカスタマイズできる形にしてほしいとオーダーしたんです(松井氏⁠⁠。」

投稿されたテキストや画像のチェックは慎重さが求められる作業であり、すべてのサービスで画一的に処理するのは困難でしょう。Orionではこうした要望を採り入れ、サービスによって処理方法を変えるといった高い柔軟性を備えたシステムとして開発されたということです。

Orionで取得したデータを新語抽出や検索機能に応用

ただ、目視によるチェックはコストがかさむという問題があります。そこで藤坂氏は、監視の手間を軽減するしくみを今後は盛り込んでいきたいと展望を話しました。

「いろいろな手を駆使し、不適切な内容のユーザ投稿を書き込もうとするユーザの方もいます。それに対して、有人監視の有用性も活かしつつ、フィルタリングの質を高めることによって人手がかからない方法で対応できるようにしたい。そこはがんばっていきたいですね(藤坂氏⁠⁠。」

最後に安田氏は、Orionで集めたテキスト情報をほかの分野にも活かしていきたいと意気込みを語ってくれました。

「Orionが収集しているテキスト情報を分析することで、たとえば新語の抽出を行ったり、あるいはキーワード検索のスコアリングに利用するといったことができると考えています。また、Orionはデータ収集や監視だけでなく、アノテーション付きの人的監視結果をフィードバックできるシステムを想定しているので、今後はさまざまなシステムにOrionのデータを活かしていきたいですね(安田氏⁠⁠。」

Orionは直接ユーザの目に触れるシステムではありませんが、サービス品質の維持という観点で非常に大きな役割を担っているのは間違いありません。こうしたシステムを自社で開発できることが、サイバーエージェントの大きな強みになっていると言えるでしょう。

写真 ⁠左から)安田氏、内藤氏、藤坂氏、松井氏
写真 (左から)安田氏、内藤氏、藤坂氏、松井氏

おすすめ記事

記事・ニュース一覧