5つのキュレーションサービスから学ぶ記事配信アルゴリズム

宗森 琢哉

アプリエンジニア。株式会社マイナースタジオ所属。主に扱っているプログラミング言語はSwift、Ruby、PHP、Python。イカが好き。

みなさんは情報収集をする際にはどのようなものを利用していますか? 最近では様々なキュレーションサービスがリリースされており、そのWebサイトやアプリを使用している方も多いのではないかと思います。

今回はキュレーションサービスの中でも記事配信アルゴリズムが興味深いものをまとめてみました。各々のキュレーションサービスの特徴的なアルゴリズムとともに紹介していきます。

キュレーションのアルゴリズム

サービスの紹介の前にキュレーションサービスにある主な機能について紹介します。

- 記事収集機能
ユーザーに配信するための記事を収集する機能です。RSSやSNSなどから抽出したURLが情報源として利用されることが多いです。

- 記事評価機能
記事が正しいものであるか、ユーザーにとって価値のあるものかどうかを評価する機能です。スパムのような記事や、類似した記事ばかりをユーザーに配信しないようにするためにも必要な機能です。特にSNSの評価を重視しているサービスも多いです。

- カテゴライズ機能
記事がどのカテゴリに分類されるかを判定する機能です。例えば、記事の内容が芸能人に関することだったら「エンタメ」、野球だったら「スポーツ」のように分類する機能です。カテゴリの粒度はサービスによって異なりますが、細分化されるほど処理が難しくなります。

- パーソナライズ機能(レコメンド機能)
ユーザーの趣味趣向にあわせて自動的に配信する記事を選定する機能です。こちらの機能はサービスによっては無いものもあります。

ハッカドール

hackadool2

ハッカドールはDeNAが運営するアニメ・ゲーム・マンガなどの情報を配信するニュースメディアです。「君にシンクロする」というキャッチフレーズの通り面白いように自分の興味のあるものを配信してくれます。

ハッカドールで興味深いのは記事のレコメンド機能部分です。独自の「オタク辞書」を元に、記事タイトルや文章などからキーワードを抽出しユーザーにあった記事を配信しています。また、キーワードごとに重み調整をし、より精度の高い記事選定を実現しています。

以下のスライドや記事で詳細に解説されているので、是非読んでみてください。

参考記事
「週5日つかうユーザーが70~80%」DeNAのオタク選抜がつくったニュースアプリ「ハッカドール」が驚異的なアクティブ率を保てる理由。 | アプリマーケティング研究所

TechFeed

techfeed

TechFeedは2015年に12月に開始したITエンジニア向けのキュレーションサービスです。カテゴリがかなり細かく細分化されており、自分の興味のあるテクノロジーについての記事を取得することができます。また、国外の記事にも対応しており、国内外の記事を読むことができます。プログラミング系の情報を収集したい場合は特におすすめです。

TechFeedでは当初Twitterのキーワード検索ベースで記事のデータを収集をしようと試みましたが、大量のスパムや重複のせいで有用なURLをほとんど取得できなかったそうです。現在では、信頼のあるソースを元にデータを取得しています。

リリース当初は「Go言語」のトピックに「ポケモンGO」の内容が出てしまったこともありました。やはり細分化されたジャンルのカテゴライズはなかなか難しいようです。まだプレビュー版ということでこれからどう発展していくか楽しみなサービスです。

以下のスライドでTechFeedで使われている技術が紹介されています。

Menthas

menthas

Menthasはプログラマ向けのキュレーションサービスです。こちらのサービスではプログラミング言語ごとに記事を探すことができます。

このサービスの特徴は記事の選定アルゴリズムです。Menthasでは各ニュースカテゴリの専門性の高いユーザーを自動的にキュレーターとして選抜しています。そしてそれらのキュレーターが収集した記事をフィルタリングを通して配信するという構造になっています。

Menthasではキュレーターを選出するために独自のスコアである「わしが育てた係数」というものを使用しており、このスコアは将来伸びるであろう記事をいち早く「はてブ」した人を優秀なキュレーターとして選出しています。

以下の記事ではMenthasのアルゴリズムが非常に詳しく解説されています。

参考記事
プログラマ向けニュースキュレーションサービスを作ってみた話 - Qiita

カメリオ

kamelio

カメリオは気になるキーワードを登録しておくと、自分の興味にあった記事を自動的に配信してくれるサービスです。特定の分野だけ情報を収集したいという方におすすめのサービスです。

カメリオではテーマによって評価軸を変更しており、例えばビジネス系の記事であったら、著者を重要視し、ニュース系の記事だったら「いつ作成されたか」というのを重要視しています。また、ユーザーが写真や画像を求めているようなテーマのものだと、写真が多い記事を評価の高い記事として判定しています。

以下の記事ではカメリオのアルゴリズムが紹介されているので興味のある方は読んでみてください。

参考記事
「アプリの速さ」を改善したらユーザーの継続率が2〜3%上がった。ニュースアプリ「カメリオ」が語る「継続率アップ」に効果があった3つの施策。 | アプリマーケティング研究所

SmartNews

smartnews

SmartNewsは世界中にある膨大な情報を解析し、良質な記事をキュレーションしてくれるアプリです。あらゆるジャンルから幅広く情報を収集したい方におすすめのサービスです。

キュレーションサービスを作成するときに難しいのがユーザーの反応による評価です。例えば、10時間前に公開された記事と1時間前に公開され記事を累積的に評価してしまうと、どうしても10時間前の方が高評価になってしまいます。そうならないためにもSmartNewsではどの時間でも同じ基準で比較できるように予測モデルを適用しています。

以下の2つの記事でより詳しくアルゴリズムが紹介されています。

参考記事

まとめ

現在、自然言語処理や機械学習の技術がますます発展しており、今後もキュレーションされてくる記事の精度も高まりさらにユーザーの興味のあるものが配信されるようになるでしょう。また、この記事で紹介したサービスのアルゴリズムも今でも日々進化し続けています。

今後、この分野のテクノロジーがどのように発展していくか非常に楽しみです。


イベント

2017/12/05(火)
Design Thinking Square