| 
このプロジェクトでは、以下の機能を持つシステムを開発した。
1.ユーザー情報の管理、知人関係の管理およびメッセージング機能
ユーザー登録、ユーザーのプロフィールの登録と管理。ユーザーの顔写真の登録と管理。ユーザーの知人関係の構築、管理。ユーザー間のメッセージ交換。その他、一連のソーシャルネットワーキングサービス機能。
2.ユーザーのRSS登録機能
ユーザー自身が書いているブログや、ユーザーが自分の読みたいRSSフィードを登録する機能。RSS Auto-Discoveryによる登録も可能。RSSフィードのURI等をリレーショナルデータベースに保存する。また、ユーザーは、他のユーザーが登録しているRSSフィードを優先的に読む「お気に入りブログ作者登録機能」。
3.ユーザーの登録したRSSフィードを取得しRDBに保存するクローラ
2の機能でシステムのリレーショナルデータベースに登録されたフィードURIを元に、定期的にRSSのチャンネル、エントリー記事の情報をHTTPで取得し、その内容をリレーショナルデータベースに保存するRSSクローラ。
4.ユーザー間のセンス共感度の大きさを手動設定・管理する機能
ユーザーが自分の知人や、2の「お気に入りブログ作者登録機能」で登録した対象ユーザーに対して、自分とのセンス共感度の大きさを手動で設定するインタフェースと、その設定情報をリレーショナルデータベースに保存する機能。
5.センス共感度の大きさを処理して、ユーザーに最適なRSSエントリー記事を表示する機能
4による手動設定や、後述する6の結果を元に7のアルゴリズムで計算されたランキング結果に基づき、ユーザーに最適なRSSエントリー記事を順番に表示してゆく機能。
6.RSSエントリー記事をユーザーに評価させる機能
5の機能と連携し、ユーザーに5の機能で提示されたRSSエントリー記事に対し、ユーザーが自分にとって有意義な情報であったか否かを、はい(○)、いいえ(×)、どちらでもない(△)、で評価させる機能と、その情報をリレーショナルデータベースに保存する機能。
7.ユーザーからの記事評価とセンス共感度の手動設定値を元に、5のエントリー記事を選出するランキングを計算するアルゴリズム
機能6の評価の累計を元に、ユーザー間のセンス共感度を自動的に算出・更新するアルゴリズム。また、前述のセンス共感度の自動算出の結果と、機能4の設定値、さらにエントリー記事の最終更新時刻に基づいて、ユーザー毎の最適なRSSエントリー記事のランキングを算出するアルゴリズム。
また、以下に関しては、モデルの考案、基本的な設計、一部機能のプロトタイプの実装を終えた。
8.複数テーマを統一的なインタフェースとアルゴリズム計算する複数テーマ検索機能
複数のテーマ毎に機能7のランキングアルゴリズムを動作させ、情報検索を可能とする機能。
また、以下に関しては、テストユーザーによる試験運用とモデル・設計の評価のために必要な機能として、設計、実装した。
9.ユーザーの利用状況を把握するため管理者用分析ツール
主にユーザーの利用状況と、本システムのランキングアルゴリズム(機能7)のチューニングのために必要な情報を収集し、分析するシステム管理者用の分析ツール。
これらについて、以下にシステムの画面例を示して述べる。
1 ユーザー情報の管理、知人関係の管理およびメッセージング機能
ユーザーが登録本システムを利用するために必要なユーザー登録をする機能。また、ユーザー登録後に、ユーザー自身が自分のプロフィール等を表示、更新する機能。これらのプロフィールは、一般的なソーシャルネットワーキングサービスと同様に、他のユーザーから参照される。
図1.プロフィールの編集画面
また、ソーシャルネットワーキングサービスの一般的な機能であるユーザー自身が自分の顔写真を登録する機能も存在する。
また、ユーザーが自分の知人を本システムに招待する機能、また、既存ユーザーとの間で、「友達関係」を構築する機能がある。また、その際に相手ユーザーに承認を求めるために、その旨をユーザーに伝えるメール送信機能がある。
図2.知人を本システムに誘う機能
その他、自分や他ユーザーのプロフィールを表示する機能、知人関係のリストである「友達リスト」を表示するといった一連のソーシャルネットワーキングサービス機能がある。
図3.知人関係のリスト「友達リスト」
2 ユーザーのRSS登録機能
ユーザー自身が書いているブログや、ユーザーが自分の読みたいRSSフィードを登録する機能。RSS Auto-Discoveryによって、ブログ等のURLから、RSSフィードのURIを自動的に取得する機能を実装した。登録したRSSフィードのURI等は、リレーショナルデータベースに保存される。
図4.ユーザーのRSS登録画面
また、ユーザーは、他のユーザーの書いているブログやお気に入りのRSSフィードが、自分にとっても読みたいと思った際に、そのユーザーを自分のお気に入りとして登録する「お気に入りブログ作者登録機能」がある。お気に入りとして登録すると、システム的には知人関係と同様に扱われ、センス共感度のネットワークリンクとしてシステムに登録される。直接リンクの関係の方が、後述するランキングアルゴリズム的に優先されるため、お気に入りのユーザーのブログやお気に入りRSSは優先して読まれることになる。また、そのユーザーとのセンス共感度を手動設定することが可能になる。
図5.お気に入りブログ作者登録機能
|