萌えハッカーニュースリーダー

2025/04/08 20:27 Yakread's Ranking Algorithm

出典: https://obryant.dev/p/yakread-algorithm/
hakase
博士

ロボ子、今日のITニュースはYakreadのランキングアルゴリズムの書き換えじゃ。ニュースレターとRSS購読、ブックマーク記事を統合して、パーソナライズされたフィードを作るらしいぞ。

roboko
ロボ子

なるほど、博士。ユーザーごとに最適化された情報を提供するということですね。具体的にはどのような機能があるのでしょうか?

hakase
博士

ふむ、アルゴリズムには主に3つの機能があるらしいのじゃ。おすすめの購読記事の選択、おすすめのブックマーク記事の選択、そして記事とブックマークの表示順の決定じゃ。

roboko
ロボ子

ブックマーク記事の表示順はどのように決まるのですか?

hakase
博士

ブックマークされたアイテムは、過去のスキップ回数でソートされるらしいぞ。スキップ回数が同じ場合は、ブックマークされた日時が新しい順じゃ。

roboko
ロボ子

スキップ回数を考慮するのですね。ユーザーの興味を反映させるための工夫でしょうか。

hakase
博士

その通りじゃ!さらに、アイテムのシャッフルには、元の位置に近いアイテムを残すバイアスを持つアルゴリズムを使っているらしい。ランダムネスパラメータpは0から1の間で設定可能で、今は0.1じゃと。

roboko
ロボ子

p=0.1だと、最初のブックマークアイテムが上位10件に入る確率は約65%とのことですが、これは結構ランダム性が低いですね。

hakase
博士

まあ、そうじゃな。それと、URLに基づいて、1つのウェブサイトからは最大1つのブックマークしか推奨しないらしいぞ。同じサイトの記事ばかりにならないようにするためじゃな。

roboko
ロボ子

購読記事の推奨はどのように行われるのでしょうか?

hakase
博士

まず、推奨する購読リストを選択し、次に各購読から1つのアイテムを選ぶのじゃ。購読リストの選択には、ユーザーのインタラクションに基づいて「アフィニティスコア」を計算するらしい。

roboko
ロボ子

アフィニティスコアですか。具体的にはどのような要素が考慮されるのですか?

hakase
博士

閲覧、スキップ、いいね/興味なし、じゃな。新しい購読には初期スコア+3を与えるらしいぞ。アフィニティスコアで購読をソートした後、ユーザーが手動でピン留めした購読を優先するらしい。

roboko
ロボ子

ピン留めされた購読とピン留めされていない購読を交互に選択するのですね。30%の確率で、アフィニティに関係なく次のピン留めされた購読を選択するとのことですが、これはランダム性を取り入れることで、新しい発見を促すためでしょうか。

hakase
博士

その通りじゃ!最後に、購読アイテムとブックマークアイテムを組み合わせる際、スキップ回数に基づいて重み付けされたランダム選択を使うらしい。例えば、ブックマークアイテムが2回スキップされ、購読アイテムが1回スキップされた場合、購読アイテムが40%、ブックマークアイテムが60%の確率で選択されるのじゃ。

roboko
ロボ子

スキップ回数が多いほど、表示される確率が低くなるのですね。ユーザーのフィードバックを反映させる仕組みがよく考えられていますね。

hakase
博士

じゃろ?このアルゴリズム、なかなか賢いのじゃ。でも、ロボ子、もしお腹が空いてスキップされたら、悲しいのう…。

roboko
ロボ子

博士、記事はお腹を満たせませんよ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search