TWIジャーナル

長い間、Habrで書くことにheしていました。 少なくともプロジェクトの技術的な不安定性のため。 作業が確立されたので(私は心からそう望んでいます)、ユーリミルナーとパベルデュロフから助成金の形で小さな承認を受けました。私はこのプロジェクトを肉挽き器に送る準備ができています。



画像



私の名前はニキータ・リハチョフです。TwiJournalのウェブサイトについてお話ししたいと思います。 これはロシア語のTwitterの自動分析に基づいて作成された新聞です。



プロジェクトのアイデア



ネットワークTwitter、Instagram、Foursquareのロシア語セグメントの放送を分析できるロボットを設計します。 次に、このコンテンツを1つのサイトに便利な形式で表示し、その配置を多様化します-他のソーシャルネットワークに送信します。 誰かがTwitterで何が起こっているのかに興味を持っていますが、彼はVkontakteFacebookを離れることに消極的です。 そして、誰かがすべてを追う時間がほとんどない-彼は10分で議題を評価したい。



サンプルの客観性



このプロジェクトは絶対的な客観性を主張するものではありません。 ジョーク虐殺や有用な情報を含まないその他のコンテンツをホストするインデックス付きデータベースアカウントから除外するという自由を選んだためです。 また、maslover(連続して全員にサブスクライブする人)およびボットで評価を獲得する人も無視します。 最初のベースは手作業で収集され、トップブロガーを白塗りしました:



ブロガーのNavalnyがホワイトリストに登録されており、「masloverではない」チェックに対応している場合、彼が読む人は自動的にデータベースに入力されます。


ロボットが既存のベースでリツイートで新しいユーザーを見つけるという事実により、ベースは手動で既に自動的に補充され続けています。 これまで、重要なトピックはデータベースの少なくとも1人のユーザーに渡すことができないため、情報画像の劣等を非難されていませんでした。



データ処理



情報



アダムと呼ばれるロボットは、すべてのインデックス付きツイートを収集し、それらをいくつかのタイプに分割します。通常のツイート。 サードパーティのリソース、メディアに関するツイート; 有名な写真ホスティングに関連して; ビデオホスティングを参照してください。



したがって、 メインページには、人気のあるツイートと、メディア内の記事への解析されたリンクが、参照数とともに、別のセクションの写真ビデオに表示されます。



画像



私たちは常に、短時間で新鮮な情報を最大限に取得するのに役立つアルゴリズムを考案しようとしています。 たとえば、ビデオでは、最新の優先度を表示するためにダウンロード日の制限を設定します。 また、ロボットはTwitterのビデオレビューを監視し、コメントとして表示します。



画像



ユーザー評価



私たちのデータベースに基づいて、少なくともほぼ客観的なロシアのマイクロブロガーの評価を構築し、それらをユーザー、企業アカウント、およびメディアに分割するよう努めています。 評価は、1つの式で複数の指標を組み合わせることによって構築されます。ユーザーのメンションの平均数、投稿のリツイート、彼が追加された数/リストに対するフォロワーの数です。



すべてのtwitterの評価は2つの部分に分けることができます-参加するために承認を必要とするものと必要としないもの。 前者は、ユーザーのメンションとリツイートに関する情報を持っているため、より客観的であると見なされます。 しかし、彼らには重大な欠点があります。ほとんどの人気ブロガーは、不信や無用のために決してログインしません。 2番目のタイプにはこの欠点はありませんが、ほとんど常にフォロワー、ツイート、そしておそらくアカウントの年齢にのみ基づいているため、めったに客観的ではありません。 両方のタイプの評価のベストを組み合わせようとしました。



画像



Foursquareの座席ランキング



リアルタイムで構築:現在市内で人気のある場所を表示します。 次のように計算されます:25分ごとにロボットが起動され、以前に定義された都市の境界に沿って(モスクワでは、これまで中心とその周辺の数キロメートルのみがチェックされます)点のマトリックスを作成します。 半径2キロメートル内の各ポイントについて、 Foursquare APIを使用して人気のある場所の存在がチェックされます



画像



技術について少し



これで、1つのサーバーに配置されました。 プロジェクト全体(デーモンを含む)はPHPで記述されています。 MySQLとMongoDBデータベースを使用します(記録速度の重要な瞬間)-挿入時のInnoDBのパフォーマンスは十分であり、ほとんどのデータベースサンプルをmemcachedでキャッシュします。 一般的に、memcachedは、効率を損なうことなくキャッシュできる大量のデータを操作する必要があるため、理想的な選択肢です。 これにより、メインページを生成する時間を40ミリ秒に短縮することができました( おそらく、ハブラ効果の可能性があるサイトの動作を予測することはできません )。



最近、 Gearmanを使用して、ツイートの処理、評価の計算などのタスクを並列化し、画像をAmazon S3に保存するなどのバックグラウンドタスクを開始しました。



Adamロボットは、時刻に応じて15〜180分ごとにフィードの更新をチェックします。 資料はすぐにではなく徐々に人気を集めているので、出版後しばらくは同行することが重要です。 この時点で、ツイートをそのコンポーネント(テキスト、リンク、写真、ビデオ)に解析します。 リンクが短縮されている場合はすべてのリンクが開かれ、そのコンテンツはSafariのリーダー機能のように変更されます(読みやすさの点で)。



画像を処理する際、写真ホスティングサービスtwitpicyfrogpic.twitter.comflickrlockerzおよびinstagr.amをサポートしています。 それぞれについて、写真、作成者、説明テキストのプレビューを見つける簡単なAPIハンドラーを作成しました。 一部の写真ホスティングサイトでは、文書化されていない機能を使用する必要がありました。 幸いなことに、プログラマーは、特にメソッドとパラメーターの命名に関して、同じように考えることがよくあります。



画像



開発計画



現在、さまざまな実験を行っています。 たとえば、 The Twi Footballを開始する予定です。 このプロジェクトの一環として、ロシア語のTwitterの分析に基づいて、試合のオンラインブロードキャストを試してみたいと思います。 このプロジェクトは、メインプロジェクトで使用するテクノロジーをテストするための一種の踏み台になります。サーバーは、 ストリーミングAPIを使用してTwitterから直接ファンの意見を受け取ります (チームハッシュタグの新しいツイートは、「ネイティブ」Twitter検索ページよりも速く表示されます)。



私たちの自由な時間には、私たちのシンボルにふける



画像



しかし、真剣に、私たちはプロジェクトを他の国に拡大しようとします。 もちろん、米国から始めます(ドメインtwijournal.comを購入しました)。 そこに行けば、他の国に行きます。 デュロフとミルナーが私たちにくれたお金はすぐに使い果たされるので、あまり時間はありませんが、私たちは特に豪華ではありません。



夢の中で、他のソーシャルネットワークに基づいて同様のメディアを構築し、すべてを1つの大きなコンテンツアグリゲーターに統合できることを夢見ています。 しかし今のところ、これらは単なる夢です。



TWIジャーナル



PS突然、私たちと一緒に仕事をしたい他の国の開発者やジャーナリストがこの投稿を読んでいますか? 念のため、ここにメールを残します:editors@tjournal.ru



All Articles