SNS における関係の意味情報モデルの提案
2008MI049 久田 晋也

2008MI054 細川 翼

指導教員 青山 幹雄

1. はじめに
現在，個人の情報発信，個人間のコミュニケーションを行うツールとして SNS(Social Network Service)の利用が拡大している．SNS 上の友人関係はソーシャルグラフで定義されている．しかし，ユーザ間の関係の意味付けするための構造が定義されていない．そのため，共通の友人を介した友人紹介機能において，ユーザ間の関係の意味情報を利用した紹介を行うことができない．
本稿では，ユーザ間の関係の意味情報の定義と，それを利用した友人紹介方法を提案する．ユーザ間の関係の意
味情報を定義したモデルを作成するために，GSGM(Generic Social Graph Model)を拡張する．拡張した GSGMを用いて，共通の友人を介した友人紹介機能の紹介順序を決定する方法を提案する．ソーシャルグラフに適用し，提案方法の有効性を評価する．

しており，AbstractGSGM と ConcreteGSGM で構成される．
3.2. 類似性に基づく友人推薦に関する研究
友人リストとの類似性に基づく新しい友人を紹介する手法を提案している[2]．友人リストに登録されている各ユーザのプロフィール情報や日記へのコメント情報などと類似したユーザを紹介する紹介方法を提案している．

4. アプローチ
本稿では，2 章に挙げた問題を解決するために，GSGMを拡張する(図 1)．
(2) 関係の意味情報が類似しているユーザ同士を紹介
紹介候補A
紹介される
大学の友人
ユーザ
紹介されない

2. 研究課題(1) 友人間の関係の意味定義
ソーシャルグラフの構造には，関係の意味が定義されてない[1，4]．そのため，SNS 上のすべてのユーザ間の関係は，友人という単一の形式で表現されている．
実際の人間関係は，大学での友人や高校での友人などの友人関係を形成した「場所」，家族や親戚などといった「血縁」など複数の意味が存在する．現状のソーシャルグラ
フでは，これらの関係をすべて友人という形式で扱っており，関係を意味付けできない．
(2) 紹介候補の決定方法
現状の友人関係の構築の支援機能は，共通友人数で紹介を行っている．しかし，ユーザの複数の友人が，ユーザの属さないグループを形成していた場合，ユーザと面識のない他のユーザが紹介候補として紹介されてしまう．

3. 関連研究3.1. 統一ソーシャルグラフに関する研究
SNS に依存しない統一ソーシャルグラフモデル(GSGM)が提案されている[5]．GSGM とは，複数のソーシャルグラ
フの構造とインタフェースの差異を吸収し，SNS 間の相互運用が可能なソーシャルグラフのモデルである．ソーシャ
ルグラフのモデルである FOAF (Friend Of A Friend)を拡張

大学の友人(1) 関係の意味情報の定義

共通の友人

高校の友人
紹介候補B

関係の意味情報
大学の友人
高校の友人

図 1 GSGM の拡張(1) GSGM の拡張による関係の意味情報の定義
GSGMは，関係を識別する属性を持たない．GSGMを拡張することで，関係の意味を識別可能なソーシャルグラフを実現できる．
関係を識別する情報は，GSGM のノード情報から抽出可能な情報で，2 ユーザの共通の嗜好，周辺環境を基にモデル化する．
(2) 関係の意味に基づく友人紹介
関係の意味を基に，友人紹介を行う方法を定義する．関係の意味を利用した紹介を行うことで，友人紹介機能の高度化が図れると考えられる．
本稿では，類似した関係の意味を持つ候補ユーザを紹介する友人紹介方法を提案する．共通の友人紹介において，仲介役となる共通の友人が持つ関係の意味を基に紹介する．

5. 関係の意味情報モデル
5.1. 関係の意味情報モデルの目的
本稿では，関係の意味情報を保持する構造を持つ関係の意味情報モデルを提案する．関係の意味情報は，ユーザ間の関係を意味付けすることを目的とした情報とする．

5.2. 関係の意味情報属性の前提条件
本稿の関係の意味情報モデルで扱うソーシャルグラフの関係の意味情報属性は，「人物間の関係の特徴となる周辺状況を表す属性」とする．また，関係の意味情報は，有向グラフで示されるソーシャルグラフの関係を意味付けするため，向きによって関係の意味が異なる場合がある．
5.3. GSGM に基づく関係の意味情報モデル
関係の意味情報モデルのメタモデルは，GSGM と前節の属性定義を基に定義し た． ソーシャルグラフ はAbstractGSGM を用い，関係の意味情報を拡張した．属性
定義は，GSGM のプロフィール情報から抽出できるものと，抽出できずユーザが記述することを前提とするものの 2 つを定義する．
5.3.1. 関係の意味情報モデルのメタモデル
本稿で提案する関係の意味情報は，ユーザの持つそれぞれの関係に存在する．そのため，関係の意味情報はエッジと 1 対 1 関係が成り立つ．GSGM に基づきモデル化を行った関係の意味情報モデルのメタモデルを図 2 に示す．
AbstractGSGM

sns_Identifier

foaf_Person 1nfoaf_Knows 1

sns_Person 1nsns_Friends1

sns_Semantics

拡張した関係の意味情報
友人ごとに定義

図 2 関係の意味情報モデルのメタモデル
5.3.2. プロフィール情報から抽出する関係の意味情報
2人のプロフィール情報を比較し，GSGMのプロフィール情報から抽出する属性を決定する．
GSGM のプロフィール情報の 19 個の属性から，前提条件を基に 2 個の属性を抽出した(表 1)．
表 1 プロフィール情報に基づく関係の意味情報の属性
抽 出 す る属性 の説明 本 稿 で 定義する属 性名
出身校
現住所

schoolHomepage
location

5.3.3. 拡張した関係の意味情報
GSGM から抽出する情報だけでは，表現できない関係の意味が存在する．本稿では，ユーザが定義する「人物間の関係の特徴となる周辺状況を表す属性」として，以下の 3個を定義する(表 2)．
表 2 拡張した関係の意味情報の属性
定義する属性の説明 本稿で定義する属性名
勤務先

workPlace

出身地

homeVillage

家族関係

familyRelations

5.3.4. 関係の意味情報モデルの定義決定した関係の意味情報に基づき，関係の意味情報モデルを定義する．関係の意味情報モデルでは，関係の意味情報の属性名と型を定義する(図 3)．
(A)

sns_Identifier(B)

foaf_Person－ weblog：String－ age：int－ mbox：String－ status：String－ gender：String－ birthday：String－ lastName：String－ firstName：String－ SchoolHomepage：String－ img：String－ nick：String－ id：int－ hasApp：int

AbstractGSGM

sns_Person(C)foaf_Knows(D)－ PersonUri：String－ location：String－ quotes：String－ sexualOrientation：String－ meetingFor：String－ relationshipStatus：String－ snsid：Map[]－ timezone：int－ profileUri：String

sns_Friends(E)－ friendId：int－ nameOfSns：String－ friendname：String

sns_Semantics(F)－ schoolHomepage:String－ location：String－ workPlace：String－ homeVillage：String－ familyRelations：String

図 3 関係の意味情報モデルの構造
以下に関係の意味情報モデルの各要素の詳細を示す．
(A)から(E)の要素は GSGM で定義されている要素で，(F)が関係の意味情報に関する要素である．
(A) sns_Identifier ： ノードの識別子，利用するソーシャルア
プリケーション ID を表す属性を定義．
(B) foaf_Person ： FOAF に基づきノードの属性を定義．
(C) sns_Person ： FOAF を拡張してノードの属性を定義．
(D) foaf_Knows ： FOAF に基づきエッジの属性を定義．
(E) sns_Friends ： foaf_Knowsの定義に加え，関係の起源となった SNS 名，友人名，友人の識別子を定義．
(F) sns_Semantics ： GSGM を拡張して関係の意味の属性を定義．自身のノードから見た関係を意味付けする．
5.4. 関係の意味情報の付加関係の意味情報モデルに対して，関係の意味情報を記述する方法を提案する(図 4)．前提条件として，GSGM で定義されているノードとエッジの値はマッピングされているものとする．
属性の値を比較一致するものを記述
ユーザA
出身校:N大学
現住所:A県付加した関係の意味情報
出身校:N大学

ユーザB
出身校:N大学
現住所:B県

勤務先:A会社
ユーザ定義による関係の意味情報を記述

図 4 関係の意味情報の記述
5.4.1. 自身と友人のプロフィール情報の比較
foaf_Knows を参照し，友人の関係を意味付けする．友人のプロフィール情報のうち，5.3.2 節で定義した 2 個の属性の値と，自身の 2 個の属性の値を比較する．
5.4.2. 関係の意味情報の記述
前節で比較したユーザと参照した友人の持つ属性の値が同値であった場合，それぞれの属性に対応する関係の意味情報の属性に，参照した値を記述する．すべての友人に対する関係の意味情報が記述されるまで繰り返す．
関係の意味情報の記述後に，ユーザは任意で 5.3.3 節で定義した関係の意味情報の記述する．

5.5. 共通の友人を介したユーザ間の親密度5.5.1. 親密度の定義
親密度は，「あるユーザ」と「共通の友人を介したユーザ」の 2 人の親密さを示す．値は 0 から 1 の範囲とするが，優先属性があれば 2 とする．親密度が 0 に近ければ疎遠であり，大きいほど親密である．
5.5.2. 親密度の計算に用いる関係の意味情報
親密度の計算には，仲介役となる「共通の友人」が持つ関係の意味情報を用いる．前提として，「共通の友人」は，「あるユーザ」と「共通の友人を介したユーザ」に対する関係の意味情報を記述しているものとする．
5.5.3. 親密度の計算手順
親密度は次の 2 つの場合に分けて計算する．
(1) 優先属性から求める親密度
本稿のソーシャルグラフでは，家族関係を優先する．関係の意味情報の中の優先属性に値が記述されているか判断する．仲介役となる「共通の友人」が，2 人に対して家族関係の属性を記述していた場合， 2 人の親密度を 2 とする．
(2) 優先属性以外から求める親密度
仲介役となる「共通の友人」が2人に対して家族関係の属性を記述していない場合，優先属性以外から親密度を求める．「共通の友人」が持つ「あるユーザ」と「共通の友人を介したユーザ」に対する関係の意味情報を，それぞれ関係の意味ベクトル vi , v j として捉え，2 つのベクトル vi , v j の余弦を求める(式(1))．求めた余弦を親密度とする(式(2))．親密度を算出するためのベクトルの要素は，優先属性を除いた4個の関係の意味情報属性の有無に対応し，属性を持てば 1，持たなければ 0 と定義する．
⎡vi1⎤ →出身校
⎢ ⎥v →現住所vi = ⎢⎢ Mi 2⎥⎥ M M⎢ ⎥⎢⎣vi 4⎥⎦ →出身地
親密度＝ cos θv iv j=

BからA，Cに対する関係の意味情報
A

出身校:Ｎ大学⎡1 ⎤⎢1 ⎥=vi ⎢⎢0 ⎥⎥出身地:A県⎢ ⎥⎣1 ⎦関係の意味ベクトルをそれぞれ算出

B

出身校:Ｎ大学

現住所:A県親密度 ＝ 0.577

⎡ 1⎤
⎢ 0⎥
=v j ⎢⎢0⎥⎥⎢ ⎥⎣ 0⎦C

2つのベクトルの親密度(余弦)を求める

図 5 関係の意味ベクトルと親密度の算出

6. 例題への適用
本稿で提案した関係の意味情報を，例題を通じてソーシャルグラフに適用する．例題とするソーシャルグラフに対し，「提案した紹介方法」と「従来の共通友人数を利用した紹介方法」の2つで紹介を行った場合，紹介順序がどのように変化するか比較し，提案方法の有効性を確認する．なお，グラフの描写は Pajek[3]を使用した．
6.1. 例題とするソーシャルグラフ
例題とするソーシャルグラフは，以下の 10 人で構成され，
図 6 のソーシャルグラフとなる．
(1) 友人紹介機能利用者：ユーザ A(2) A の友人：B，C，D，E(3) A の紹介候補：F，G，H，I，J
なお，例題の前提条件として，ソーシャルグラフのプロフ
ィール情報は schoolHomepage に大学，高校の 2 つの値を持ち，location に住所の値を持つものとする．
ユ―ザ A への紹介候補となる F，G，H，I，J の 5 ユーザの紹介順序を，2 つの紹介方法を用いて求める．
共通の友人紹介候補(1)
友人紹介機能利用者(ユーザA)

v ⋅v
v v
ijij

(2)

例として，ユーザ B がユーザ A に対して，出身校，現住所，出身地の 3 つの関係の意味情報を持つ場合，関係の意味ベクトルの要素はvi1 から順に，1,1,0,1 となる．求めた 2つのベクトルの余弦を求め，「あるユーザ」と「共通の友人を介したユーザ」の親密度とする(図 5)．

図 6 関係の意味情報を付加したソーシャルグラフ
6.2. 適用結果(1) 提案した紹介方法
共通の友人とのfamilyRelations を検索すると，AE間には兄弟の関係，EJ 間で親子の関係が成立する．J の親密度は2 となり，J は最優先に紹介される．
残りのユーザの親密度を算出し，その結果と紹介順序を
図 7 に示す．紹介順序は F，G が先に紹介され，H，I，J は後に紹介される．

親密度1

紹介順序
2番目

親密度0.707

紹介順序
4番目

親密度1

紹介順序
2番目

親密度0

紹介順序
5番目

親密度2

紹介順序
1番目

図 7 関係の意味情報を利用した友人紹介順序(2) 従来の紹介方法
ユーザの共通友人数と紹介順序を図8 に示す．F の共通の友人は 2 人，G の共通の友人は 2 人，H の共通の友人は1 人，I の共通の友人は 1 人，J の共通の友人は 1 人となる．
紹介順序は F，G が先に紹介され，H，I，J は後に紹介される．

共通の友人
2人

紹介順序
1番目

共通の友人
2人

紹介順序
1番目

共通の友人
1人

紹介順序
3番目

共通の友人
1人

紹介順序
3番目

共通の友人
1人

紹介順序
3番目

図 8 共通の友人を利用した友人紹介順序

7. 評価と考察
7.1. 例題の評価と考察
例題に適用した「提案した紹介方法」と「従来の紹介方法」の 2 つの紹介方法による紹介順序と利用した値を示した(表 3)．
表 3 例題における 2 種類の紹介順序
候補ユーザ名

提案方法

関係を持っていたため，優先的に紹介された．提案方法では，家族関係を持つなど優先紹介したいユーザを紹介が可能となった．関係の意味を考慮した友人紹介を行う場合に有効である．
(3) 優先属性を持たない関係の紹介順序
従来の友人紹介で同順序の F，G は，親密度から A と関係の薄いと考えられる G の紹介順序が H と比較して低くなった．紹介候補ごとに関係の意味を利用した紹介順序を決定できており，SNS に登録したばかりで共通友人数が少ないユーザへの適用が有効である．
7.2. 関連研究との比較による評価と考察
文献[2]では，関係を意味付けする情報について議論しておらず，関係の意味情報の構造は未定義であった．
本稿で提案する関係の意味情報モデルでは，ユーザの持つ複数のエッジをそれぞれ意味付けする構造を示した．
この結果，ユーザ間の関係の意味を表現することが可能になり，モデルの有効性を確認できた．

8. 今後の課題(1) 有効性の検証
大規模テストベッドを用いて有効性を検証する必要がある．
(2) 関係の意味情報で定義する属性の拡充
ユーザ間の関係を詳細に意味付けするために，粒度の低い関係の意味情報を定義する必要がある．

9. まとめ統一ソーシャルグラフを拡張し，関係の意味情報モデルと，関係の意味情報を考慮した友人紹介方法を提案した．
例題とするソーシャルグラフに適用し，友人紹介方法の有効性を評価した．

従来の方法

Aとの親密度 紹介順序 Aとの共通友人数 紹介順序

F

1221G0.707

421H

1213I0513J2113(1) 紹介順序の決定
従来の方法では紹介順序は 2 段階であったが，提案方法では紹介順序が4 段階となった．提案方法は共通友人数が少なくても関係の意味情報から紹介順序が決定できる．
共通友人数によらず紹介順序を決定ができ，紹介順序の安定性が得られた．
(2) 優先属性を持つ関係の紹介順序
仲介役となる E から見て A と J は優先的に紹介する家族

参考文献[1] Facebook Developers，2011，http://developers.facebook.com/．
[2] 韓 超 他，イントラ SNS における友人リストとの類似性に基づく友人推薦手法，情報処理学会 インタラクショ
ン 2011， No.1CR3-15，Mar. 2011．
[3] Networks / Pajek Program for Large Network Analysis，
2011，http://vlado.fmf.uni-lj.si/pub/networks/pajek/．
[4] Twitter Developers，2011，https://dev.twitter.com/．
[5] 横井 公紀，FOAF に基づく統一ソーシャルグラフモデ
ルの提案，2010 年度南山大学大学院数理情報研究科修士論文，2011．