2023年3月31日、Twitterは公式ブログ(英語)で透明性の新時代への第一歩を踏み出し、ソースコードの多くをグローバル コミュニティに公開したことを発表しました。
ブログでは、Twitter 2.0がアルゴリズムの一部を含む多くの部分のソースコードをGitHubに公開しており、レコメンデーションアルゴリズムの詳細についてもエンジニアリングブログで共有していることが明記されています。
本記事では、記事の内容を翻訳、補足しています。
※引用は公式サイトの文章を日本語に翻訳したもの
※本記事の大半はAIを使用して作成しているため、正確な情報は公式サイトをご確認ください。
Twitterがアルゴリズムの一部をGitHubに公開
GitHub には、おすすめタイムラインに表示されるツイートを制御する推奨アルゴリズムを含む、Twitter の多くの部分のソース コードを含む2つの新しいリポジトリ (メイン リポジトリ、MLリポジトリ) があります。
「メインリポジトリ」とは、Twitterの基本的な機能やアルゴリズムの多くが含まれるリポジトリ(管理システム)であり、「MLリポジトリ」は、Twitterのアルゴリズムの中で機械学習に基づくものが含まれるリポジトリです。
具体的には、おすすめタイムラインの表示や、おすすめのユーザーアカウントやツイートの提供などが該当します。
下記リンクから実際にTwitterのコードを見ることが可能です。
レコメンデーションアルゴリズムの改善に関する提案については、コミュニティに GitHub の問題を送信し、プル リクエストを送信してください。
これは、Twitterユーザーや開発者が、Twitterのアルゴリズムの改善に関する提案やバグ報告などをGitHub上で行えるようになっていることを意味します。
ユーザーの安全とプライバシーを重視し一部のコードは非公開
このリリースでは、可能な限り高い透明性を目指しましたが、ユーザーの安全とプライバシー、または悪意のある行為者からプラットフォームを保護する機能を損なう可能性のあるコードを除外しました。
リスクが高いコードは公開されていません。
広告のアルゴリズムは非公開
本日のリリースには、広告レコメンデーションを強化するコードも含まれていません。
具体的には、Twitterが広告主に対してより適切なターゲット層に向けた広告を提供するために、アルゴリズムを改善するためのコードを指します。
こちらも非公開です。
アルゴリズムを目的はユーザー、顧客と信頼を築くため
インターネットの街の広場として、私たちは最終的に透明性を促進し、ユーザー、顧客、一般の人々との信頼を築くためにこれを行っています。 この分野で進展があれば、引き続き最新情報を共有していきます。
とブログの最後に記載されています。
Twitterタイムラインおすすめのツイートはどのように選ばれるか?
エンジニア向けのページTwitter’s Recommendation Algorithm(英語)をもとに、Twitterタイムラインおすすめのアルゴリズムはどうなっているか紹介します。
私たちのレコメンデーションシステムは、多くの相互接続されたサービスとジョブで構成されており、この投稿で詳しく説明します。 アプリには、検索、探索、広告など、ツイートが推奨される多くの領域がありますが、この投稿では、ホーム タイムラインのおすすめフィードに焦点を当てます。
と記事では紹介されています。
「どのようにおすすめは選ばれるか?」
記事によると、Twitterのレコメンデーションシステムは、関連性の高いツイートを選び出すために、3つのステップで構成されています。
- 候補ソーシングと呼ばれるプロセスで、様々な情報源から最適なツイートを選び出す
- 機械学習モデルを使って、各ツイートをランク付けする
- ブロックしたユーザーからのツイートや、不適切なコンテンツなどを除外するフィルターを適用して、最終的なレコメンデーションを決定する
つまり、Twitterは多くの情報源から良いツイートを選び出し、ランキングに機械学習を使って順位を決定し、最後に不適切なものを除外して、最適なレコメンデーションを提供しているということです。
参照
Twitter のレコメンデーションの基盤は、ツイート、ユーザー、およびエンゲージメント データから潜在的な情報を抽出する一連のコア モデルと機能です。
これらのモデルは、Twitter ネットワークに関する重要な質問に答えることを目的としています。
または、「Twitter のコミュニティとは何か、そのコミュニティ内でトレンドになっているツイートは何か?」 これらの質問に正確に回答することで、Twitter はより関連性の高いレコメンデーションを提供できます。
レコメンデーションパイプラインは、これらの機能を使用する 3 つの主要なステージで構成されています。 候補ソーシングと呼ばれるプロセスで、さまざまな推奨ソースから最適なツイートを取得します。
機械学習モデルを使用して各ツイートをランク付けします。 ブロックしたユーザーからのツイート、NSFW コンテンツ、既に見たツイートを除外するなど、ヒューリスティックとフィルターを適用します。
コードは下記リンクをご覧ください。
Twitter’s Recommendation Algorithm GitHub(英語)