ランキング設計はどうあるべきか? その2

前エントリで論じられた、正しいランキング設計の考察の続き。第2回は、ランキングの収奪性、格差の固定性を軽減する手段を、具体的に論じてみる。

前回の記事へのTwitter上のフィードバックは、Togetterにまとめてある。こちらもご興味があれば、一読の価値がある。いくつか被ってしまったものもあるけれど、諸々の後半記事。


「ランキング」以外の名称を用いる

これはほぼ確定。ランキングという名前は、「noteとして競争原理を推奨する」という強いメッセージを発する。noteの全てのユーザーが、競争原理で動いているわけではないので、これは望ましくない。

おそらく最終的には「注目」「人気」などの名称を使うことになるかと思われる(「オススメ」はパーソナライズ用にとっておく)。また、「ランキング」という名称やスタンスをやめることで、後述するようないくつかの公平性のための施策を行う余地が生まれる。


時間による重力的な減衰モデルを用いる

ランキングにおけるコンテンツの固定化、滞在時間のコントロール手法としては、「投稿されてからの経過時間」を利用した減衰モデルがメジャーである。

投稿からの時間に重力係数のようなものを掛け合わせ、それをマイナスのスコアとする。これにより時間経過とともに、コンテンツは急速にランキング順位を下げることになる。

はてなブックマークから、HackerNewsまで幅広く利用されている手法である。このアルゴリズムを搭載すれば、最低限の循環性を保ったランキングは実装できる。


読了率を加味する

「ちゃんと記事を最後まで読んだ数」を評価パラメータに加えると、本当に面白い記事だけが加点の対象となる。逆に、派手なタイトルで注目を集めるだけの記事は、評価が低くなる。

この手法は、汎用的にランキングの歪みを軽減できる。一方で、ランキングの階層固定性そのものは解決しない。このため重力モデルなど、他の手法と組み合わせることが必要となる。


順位をシャッフルする

単純に1位〜100位を表示する代わりに、シャッフルした順位を出すとどうなるであろうか。「人気の記事」など優劣を明示しないタイトルなら、そのようなアプローチも可能となる。

データをシャッフルした場合、ランキング上位コンテンツでは収奪性が低下する。100位までのコンテンツが、均等に注目を享受するためだ。確かにこの施策は、ランカー間の格差を是正する。だが、「ランカーであること」そのものから発生する収奪性は是正できない。


上位500位からランダムに100件を抽出する

シャッフルをより進めた手法として、「足切り」と組み合わせてみよう。今度は、ランキング範囲を500位や1000位など大きく拡大し、その中からランダムに100件を抽出して表示する。

この方法は、ランキングの収奪性、階層の固定性、どちらも大きく軽減することができる。ただし、格差を完全にフラットにしすぎてはいけない。良い記事へのアドバンテージやインセンティブを消滅させてしまうと、良い記事を書くクリエイターが他サービスへと移動してしまうためである。

あくまでデータを見ながら、全員の満足度とサービスの持続性を最大化する、格差と平等の均衡地点を探さなければならない。


ランダム抽出時に、スコアに応じた重さを与える

ランダムに記事を抽出するときに、記事に重みを与えたらどうなるだろうか?例えば、スコアが1位の記事は100%でる。スコアが100位の記事は1%、スコアが1000位の記事は0.1%…といった具合に出現率が変化する。総体としてはランダムだが、上位の記事ほどピックアップされる確率が高くなる。

この手法の優れた点は、1つのパラメーターにより、ランキングの格差・収奪性・固定性を柔軟にコントロールできる点である。


小選挙区制を導入する

現実の選挙のように、ランキングに小選挙区制を加えたらどうなるだろうか?「エッセイ」のトップ10、「デザイン」のトップ10、そして「料理」のトップ10…といった具合に、複数のカテゴリの上位ランキングを集め、それを束ねて1つのランキングにする考え方だ。

このような考え方を導入したリストは、より新聞や雑誌に近い構成になる。ただし、全体の回遊性や平等性は解決する一方で、個々のカテゴリの問題は解決していない。予選段階で何かしらの、格差対策を用意する必要があるだろう。


比例代表制を導入する

現実の選挙の比例代表制のように、そのカテゴリのユーザー人口(あるいは読者の趣味嗜好のスコア)をランキングの選出に加味する方法である。メジャージャンルの記事ほど多く、マイナージャンルの記事ほど少なく、ランキング掲載のチャンスを与えられる。

例えば、note全体でエッセイ好きな読者が多ければ、エッセイがランキングに多めに掲載される。しかしランキング全体がエッセイに占領されることはなく、音楽や写真などその他のカテゴリも、ランキングに顔を出すことも保証される。


2つ以上のスコアをブレンドする

複数の評価点をブレンドすることで、より包括的な評価を行うことができる。例えば、読了率ランキング100と、バズ率ランキング100をブレンドしたらどうなるだろうか。この場合、読みふける記事が50%、バズりやすい記事が50%ブレンドされたランキングが生まれる。

この手法の優れた点は、ブレンドする内容やバランス次第で、ランキングを自由に変質できる点である。


ランキングに複数のユーザークラスタをブレンドする

ブレンドの応用例。新人ランキングと巨匠ランキングを算出し、例えば新人30%と巨匠70%をブレンドして、最終的なランキングを作ることができる。

同様にフォロワーが少ない人と、フォロワーが多い人の良い記事をブレンドすることも可能である。このような手法は、階層の固定化や収奪性を、コントロール可能なものへと変化させる。


人力のキュレーションをブレンドする

ブレンド時にスコアだけでなく、人間のキュレーションをブレンドすることもできる。これにより人為的なバランス調整や、特定カテゴリのプロデュースなども行うことが可能だ。

バランス調整ができ、編集の色が出せる一方、仕様上は依怙贔屓も容易なため、運用には慎重さが求められる。


PVなどスコアに、コンテクストに応じた重み付けを行う

収奪的な格差への対策として、スコア加点への重み付けが考えられる。例えば、Twitterから流入したPVを1/10と評価すれば、バズがランキングに与える影響は極小化される。同様に、ランキングページからのPVを過小評価することで、ランキングの収奪性や固定性を是正することができる。


ペイジランクを導入する

googleのラリー・ペイジが提案したアレ。「良い記事を描いてる人がライクしている記事は、良い記事」といったルールを用いて、クリエイターや記事全般にクオリティスコアを付与し、その重さでランキングをコントロールする手法である。

非常に精度が高く、使い勝手も良いと推測されるが、ルールをハッキングされやすいという弱点を持つ。複数の影響力の強いクリエイター同士で、相互送客クラブを作られてしまうと、収奪性が逆に高まってしまう。

ペイジランクを導入する場合には、アルゴリズムを秘密にした方が良い。


友達の読了率、スキ率からランキングを生成する

自分のフォローしている人、友達の評価からランキングを生成した場合、似たような好みのランキングが生まれやすい。つまり精度が高くなる。デザイナーの友達が多ければ、デザインが多めのランキングになってくれるからだ。

簡単に精度が上がりそうだが、空間が同質化しやすくなるという問題がある。同じような価値観で固まってしまうと、note全体に先鋭化のリスクが生まれる。できれば、この方向のアルゴリズムは、ランキングよりもパーソナライズで使った方が良いかもしれない。


読者のリアクション率を加味する

「読者のリアクション数 / 読了数」といった式を使うと、「多くの人が面白いと思うであろう記事」のスコアを高めることができる。リアクション率は読者が多くなるほど低くなる。よって大きくバズったエントリーほど、スコアが上昇しにくくなる。結果的に、収奪的な格差がつきにくくなる。

一方で、この手法のダウンサイドは、互助会クラブが生まれやすくなることである。良質で少数のユーザーを抱えたプレイがーは、極端に有利になる。このため他のアルゴリズムとの合算が必要となる。また、読者数が少ない場合も極端に有利になるため、足切りとなる読了数が必要となる


などなど、無数のアプローチを検討中である。

自分にとっては、こういう整合性の設計がデザインのコアパートである。

これら諸々の考察を組み合わせながら、noteチームでいくつかのコンセプトモデルを作っていきたいと思う。そう遠くない未来に実戦投入されるのではないかと思う。みなさまお楽しみに。(続く


参考文献

Steemitの仕組みが今ひとつわからないのでわかったことをここに書いていくことにしよう

Reditのランキングアルゴリズムはどう動作しているか?


この記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。

note.user.nickname || note.user.urlname

よろしければ、サポートお願いいたします! 頑張っているnoteチームのみんなに、回らないお寿司をご馳走しようと思います。

ありがとー(お返事がランダムに出せるようになりました)
289

#デザイン 記事まとめ

デザイン系の記事を収集してまとめるマガジン。ハッシュタグ #デザイン のついた記事などをチェックしています。広告プロモーションがメインのものは、基本的にはNGの方向で運用します。
12つのマガジンに含まれています

コメント23件

宮沢賢治の「どんぐりと山猫」という作品が好きなせいか、読んで欲しいけど上位は好まないという矛盾を抱えています。ランキングとはそう言う意味合いを内包しているのかな…と。
そうして考えてみると格差とはすなわち個性の表れでもあるのかもしれません。数字で上下関係と考えてしまいがちですが、濃度と考えれば意味が違ってくるのではないでしょうか。それぞれが色と濃度を持っていて中にはツヤがあったり縞模様があったり大きかったりスリムだったり…。つまり格差を利用することで個性が見えてくるのかもしれないと思うのです。
立体的なカラーチャートのようなイメージで考えてユーザーに好みの色がピックアップされると楽しい気がします。
X軸、Y軸、Z軸にどういう指標の数字を配置するかがポイントでしょうか。
ランキングの計算法とは別の視点となりますが、表示の形式を(上から下に流れる)リスト以外の形式にしてみるのはどうでしょうか。リスト形式にすると、上が偉く下がそうでもないという雰囲気になりがちですし、実際読まれるものも上の方が多くマタイの法則が働きやすくなる気がします。実装はいろいろ面倒でしょうが、たとえばグルグルまわる円に配置されるUIなどは面白いかもしれません。
まずこれだけ思考が深く、ユーザー・読者ファーストで、そしてオープンで公正に考えられているという優しいプラットフォームなので、どんな形になってもnoteで書き続けたいと思いました。
いつも使いやすさを考えていただいていてありがとうございます。

記事を読んで思いついたのは1軍2軍制です。1軍はnote自体の読者獲得のために高い環境に身を置く。2軍は文章を書きたい方、当然もっと上を目指す方が使用します。当然格差は広がってしまいますが、note自体に多くの読者がついて、新しいプラットフォームに移るより、いまはnoteでしょ!って思われる環境を作ることでカバー。施策次第で2軍の方の記事に目が行くような設計ができれば手の一つになるのかなあと。月に一度位で入れ替えがあれば両軍のモチベーションになるのかなあと。有料会員の設定があるので必ずしも1軍にいなきゃいけないわけではないし。

と思ったんですが、なんか書いてて違うかなあと思いました。。。
世界観と合わない気がします。1意見として何かひらめきのきっかけになればと思い一応コメントとして残しておきます。
ランキングって一言が、こんなに沢山の考え方があって大変何だって事がとてもよくわかりました。
コメントを投稿するには、 ログイン または 会員登録 をする必要があります。