(58)【調査した分野】(Int.Cl.,DB名)
複数のユーザがそれぞれ文書を投稿し、投稿された文書を閲覧するコミュニケーションサービスを利用するユーザが特定の地域に関する情報を発信する地域ユーザであるか否かを判定するユーザ種別判定装置であって、
前記ユーザのプロフィールに関するプロフィール情報及び前記ユーザが投稿した文書に関する文書情報を含むサービス情報を取得する取得手段と、
前記サービス情報に基づいて、前記ユーザが発信する情報に含まれる場所を含む地理的な範囲の限定の程度を示す地理的局所性に関する第1特徴量を計算する地理的局所性計算手段と、
前記第1特徴量に基づいて、前記ユーザが前記地域ユーザであるか否かを判定する判定手段と、
を備えるユーザ種別判定装置。
前記地理的局所性計算手段は、前記サービス情報に基づいて1以上の位置情報を取得し、取得した前記1以上の位置情報の分散に基づいて、前記第1特徴量を計算する、請求項1に記載のユーザ種別判定装置。
前記公式性計算手段は、前記ユーザがリンクしている他のユーザの数を示すリンク数、及び前記ユーザをリンクしている他のユーザの数を示す被リンク数に基づいて、前記第2特徴量を計算する、請求項3に記載のユーザ種別判定装置。
前記社会性計算手段は、前記ユーザが投稿した文書のうち、前記ユーザが他のユーザに向けて投稿した文書の数に基づいて、前記第3特徴量を計算する、請求項5に記載のユーザ種別判定装置。
前記判定手段は、前記第1特徴量が第1閾値以上であり、前記第2特徴量が第2閾値以上であり、前記第3特徴量が第3閾値以下である場合に、前記ユーザが前記地域ユーザであると判定する、請求項5または請求項6に記載のユーザ種別判定装置。
【発明を実施するための形態】
【0017】
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【0018】
図1は、ユーザ種別判定システムの構成を示す図である。
図1に示されるように、ユーザ種別判定システム1は、SNSサーバ10が提供するサービスを利用するユーザ(アカウント)のうち、地域ユーザを特定するためのシステムであり、SNSサーバ10とユーザ種別判定装置20とを含む。ここで、SNSサーバ10が提供するサービスは、複数のユーザがそれぞれ文書を投稿し、投稿された文書を閲覧するコミュニケーションサービス、いわゆるSNS(Social Networking Service)である。本実施形態では、SNSとしてツイッターを用いて説明を行う。
【0019】
地域ユーザは、特定の地域に関する情報を発信するユーザである。地域とは、ある範囲内の領域を意味し、例えば、市町村、及び地図上の領域を分割して得られる区画等である。アカウントとは、SNSサーバ10によって提供されるサービスを利用するための権限であり、当該権限を有するユーザの識別情報という意味にも用いられることがある。つまり、SNSを利用するユーザはアカウントを有している。
【0020】
SNSサーバ10は、ユーザのプロフィール情報及び文書情報を含むSNS情報(サービス情報)を記憶するサーバ装置である。プロフィール情報は、ユーザのプロフィールに関する情報である。文書情報は、ユーザが投稿した文書に関する情報である。プロフィール情報及び文書情報の詳細については後述する。ユーザ種別判定装置20は、判定対象のユーザである対象ユーザが地域ユーザであるか否かを判定する装置である。ユーザ種別判定装置20とSNSサーバ10とは、ネットワークNを介して互いに通信可能に接続されている。
【0021】
次に、
図2を参照して、ユーザ種別判定システム1の機能構成について説明する。
図2は、ユーザ種別判定システム1の機能構成を示すブロック図である。
図2に示されるように、SNSサーバ10は、機能的には、受信部11と、応答部12と、プロフィール情報DB13と、ユーザ投稿DB14と、を備えている。
【0022】
受信部11は、ユーザ種別判定装置20によって送信されたSNS情報取得要求を受信する受信手段として機能する。SNS情報取得要求は、SNSサーバ10が記憶しているSNS情報を取得するための要求である。受信部11は、SNS情報取得要求を受信すると、SNS情報取得要求を応答部12に出力する。
【0023】
応答部12は、SNS情報取得要求に応答する応答手段として機能する。応答部12は、受信部11からSNS情報取得要求を受け取ると、プロフィール情報DB13からプロフィール情報を取得し、ユーザ投稿DB14から文書情報を取得する。応答部12は、取得したプロフィール情報及び文書情報をSNS情報としてユーザ種別判定装置20に送信する。
【0024】
プロフィール情報DB13は、各ユーザのプロフィール情報を記憶するプロフィール情報記憶手段として機能する。プロフィール情報は、ユーザごとに記憶されており、例えば、ユーザID(Identification)、ユーザ名、スクリーン名、フォロー数、フォロワー数、総投稿数、description情報、location情報、URL(Uniform Resource Locator)、認証情報(Verified)、及びプロフィール画像等を含む。
【0025】
ユーザIDは、ユーザを一意に識別可能な識別情報である。ユーザ名は、ユーザの名称を示す文字列である。スクリーン名は、ユーザ名とは異なる名称を示す文字列であり、ツイッターでは「@xxxx」という形式で表される。フォロー数は、ユーザがリンクしている他のユーザの数(リンク数)であって、ツイッターではユーザがフォローしている他のユーザの数である。フォロワー数は、ユーザをリンクしている他のユーザの数(被リンク数)であって、ツイッターではユーザをフォローしている他のユーザの数である。総投稿数は、ユーザが文書を投稿した回数である。
【0026】
description情報は、自己紹介文を示す文字列であり、ユーザによって任意に設定される。location情報は、住所等の場所を示す文字列であり、ユーザによって任意に設定される。URLは、例えば、ユーザが有するWebページのURLを示す文字列であり、ユーザによって任意に設定される。認証情報は、認証済みユーザであるか否かを示す情報である。認証情報が「True」である場合、当該ユーザは認証されていることを示し、認証情報が「False」である場合、当該ユーザは認証されていないことを示す。プロフィール画像は、ユーザを識別するための画像であり、ユーザによって任意に設定される。なお、プロフィール情報DB13は、プロフィール画像として、プロフィール画像のURLを記憶していてもよい。
【0027】
ユーザ投稿DB14は、ユーザの文書情報を記憶する文書情報記憶手段として機能する。この文書は、SNSによっては、ツイート又はコメント等とも呼ばれる。文書情報は、投稿された文書ごとに記憶されており、例えば、ステータスID、ユーザID、投稿日時、投稿文書、及びジオタグを含む。ステータスIDは、投稿された文書を一意に識別可能な識別情報である。投稿日時は、文書が投稿された日時を示す情報である。投稿文書は、ユーザによって投稿された文書である。ジオタグは、投稿された文書に付加された位置情報であって、例えば、文書が投稿された場所の緯度及び経度を示す。
【0028】
続いて、ユーザ種別判定装置20の機能について説明する。
図2に示されるように、ユーザ種別判定装置20は、機能的には、要求部21と、受信部22と、SNS情報DB23と、地理的局所性計算部24と、公式性計算部25と、社会性計算部26と、判定部27と、地域ユーザ情報DB28と、を備えている。ユーザ種別判定装置20は、例えば、
図3に示されるハードウェアによって構成されている。
【0029】
図3は、ユーザ種別判定装置20のハードウェア構成を示す図である。
図3に示されるように、ユーザ種別判定装置20は、物理的には、1又は複数のCPU(Central Processing Unit)201、主記憶装置であるRAM(RandomAccess Memory)202及びROM(Read Only Memory)203、データ送受信デバイスである通信モジュール204、並びに、ハードディスク及びフラッシュメモリ等の補助記憶装置205等を備えるコンピュータとして構成されている。
図2に示されるユーザ種別判定装置20の各機能は、CPU201、RAM202等のハードウェア上に1又は複数の所定のコンピュータソフトウェアを読み込ませることにより、CPU201の制御のもとで通信モジュール204を動作させるとともに、RAM202及び補助記憶装置205におけるデータの読み出し及び書き込みを行うことで実現される。なお、
図2に示されるSNSサーバ10もユーザ種別判定装置20と同様のコンピュータシステムとして構成される。
【0030】
再び
図2を参照して、ユーザ種別判定装置20の各機能の詳細を説明する。要求部21は、SNS情報をSNSサーバ10に要求する要求手段として機能する。具体的には、要求部21は、SNS情報取得要求をSNSサーバ10に送信する。SNS情報取得要求は、例えば、API(Application Programming Interface)を利用して行われる。
【0031】
受信部22は、SNS情報を取得する取得手段として機能する。受信部22は、SNSサーバ10によって送信されたSNS情報を受信し、受信したSNS情報をSNS情報DB23に出力して格納する。なお、プロフィール情報に含まれるプロフィール画像として、画像ファイルのURLが用いられている場合、受信部22は、当該URLにアクセスすることによってプロフィール画像を取得してもよい。
【0032】
SNS情報DB23は、SNSサーバ10から取得したSNS情報を記憶するSNS情報記憶手段として機能する。SNS情報DB23は、SNS情報を記憶するSNS情報テーブルを有している。
図4は、SNS情報テーブルの一例を示す図である。
図4に示されるように、SNS情報テーブルには、ステータスIDと、ユーザIDと、ユーザ名と、スクリーン名と、投稿日時と、投稿文書と、ジオタグと、フォロー数と、フォロワー数と、総投稿数と、description情報と、location情報と、URLと、認証情報と、プロフィール画像URLと、プロフィール画像と、が対応付けられたSNS情報が含まれている。
【0033】
SNS情報は、投稿された文書ごとに記憶されている。つまり、同じユーザが複数の文書を投稿した場合には、それぞれの文書についてSNS情報がSNS情報テーブルに記憶される。なお、description情報、location情報、URL、プロフィール画像URL、及びプロフィール画像は、ユーザが任意に設定する情報であるので、ユーザがこれらの情報を設定していない場合には、SNS情報には含まれない。
【0034】
地理的局所性計算部24は、SNS情報に基づいて、対象ユーザの地理的局所性に関するスコアSl(第1特徴量)を計算する地理的局所性計算手段として機能する。地理的局所性とは、ユーザが発信する情報(文書情報及びプロフィール情報)に含まれる場所を含む地理的な範囲の限定の程度を意味し、地理的局所性が高いほど地理的に限定されている。スコアSlが大きいほど地理的局所性が高いことを示す。スコアSlの計算方法について、以下に説明する。
【0035】
地理的局所性計算部24は、例えば、SNS情報DB23に記憶されているSNS情報に基づいて、1以上の位置情報を取得する。地理的局所性計算部24は、施設名及び地名等の場所を示す場所情報と、当該場所の位置(例えば、緯度及び経度)を示す位置情報と、を対応付けた場所情報テーブルを有している。場所情報テーブルは、予め設定されている。地理的局所性計算部24は、例えば、以下の解析を行い、対象ユーザに関する位置情報を取得する。
【0036】
地理的局所性計算部24は、対象ユーザのユーザIDに対応付けられているdescription情報及びlocation情報をSNS情報DB23から取得する。地理的局所性計算部24は、例えば、対象ユーザのユーザIDに対応付けられているdescription情報及びlocation情報のうち、最新の投稿日時に対応付けられているdescription情報及びlocation情報を取得する。地理的局所性計算部24は、description情報及びlocation情報を形態素解析し、description情報及びlocation情報から施設名、地名及び住所等の場所の特定が可能な文字列を抽出する。地理的局所性計算部24は、場所情報テーブルを参照し、抽出した文字列によって特定される場所に対応付けられた位置情報を取得する。
【0037】
地理的局所性計算部24は、対象ユーザのユーザIDに対応付けられている投稿文書をSNS情報DB23から取得する。地理的局所性計算部24は、投稿文書を形態素解析し、投稿文書から施設名、地名及び住所等の場所の特定が可能な文字列を抽出する。地理的局所性計算部24は、場所情報テーブルを参照し、抽出した文字列によって特定される場所に対応付けられた位置情報を取得する。
【0038】
地理的局所性計算部24は、対象ユーザのユーザIDに対応付けられている投稿文書のジオタグをSNS情報DB23から取得し、ジオタグを位置情報とする。
【0039】
地理的局所性計算部24は、SNS情報から取得した位置情報に基づいてスコアSlを計算する。地域ユーザは、特定の地域に関するプロフィールを有していることが多く、特定の地域内の情報を記載した文書を投稿することが多い。例えば、観光スポット及び商業施設等の施設の公式なユーザである施設公式ユーザは、location情報に施設の場所を含めていたり、施設内及び施設周辺のイベント等の情報を含む文書を投稿することがある。このため、地域ユーザのプロフィール及び投稿した文書に含まれる位置情報の分散は小さくなる可能性が高い。このように、SNS情報に含まれる情報から取得した位置情報の分散が小さいほど地理的局所性は大きく、分散が大きいほど地理的局所性は小さいといえるので、SNS情報から取得した1以上の位置情報の分散は、地理的局所性を示す指標となり得る。
【0040】
このため、地理的局所性計算部24は、上述のようにして取得したN(Nは1以上の整数)個の位置情報x
i(iは1〜Nの整数)の分散に基づいて、スコアSlを計算する。具体的には、地理的局所性計算部24は、式(1)に示されるように、N個の位置情報x
iの分散(不偏分散)の逆数を計算し、その計算結果をスコアSlとする。なお、平均値x
mは、N個の位置情報x
iの平均値である。location情報から位置情報xlが取得された場合には、平均値x
mとして位置情報xlが用いられてもよい。地理的局所性計算部24は、計算したスコアSlを対象ユーザのユーザIDとともに判定部27に出力する。
【数1】
【0041】
地理的局所性計算部24は、location情報から位置情報xlを取得した場合、位置情報xlを対象ユーザのユーザIDとともに判定部27に出力する。
【0042】
公式性計算部25は、SNS情報に基づいて、対象ユーザの公式性に関するスコアSo(第2特徴量)を計算する公式性計算手段として機能する。公式性とは、ユーザの発信する情報の信頼度を意味し、公式性が高いほど信頼度が高い。スコアSoが大きいほど公式性が高いことを示す。スコアSoの計算方法について、以下に説明する。
【0043】
公式性計算部25は、例えば、対象ユーザのユーザIDに対応付けられているフォロー数と、フォロワー数と、description情報と、プロフィール画像と、をSNS情報DB23から取得する。公式性計算部25は、取得したフォロー数のうち最新の投稿日時に対応付けられているフォロー数をフォロー数C_followとし、取得したフォロワー数のうち最新の投稿日時に対応付けられているフォロワー数をフォロワー数C_followerとする。公式性計算部25は、式(2)に示されるように、フォロー数に対するフォロワー数の比率Rfを計算する。有益な情報、つまり信頼できる情報を発信するユーザは、他のユーザをフォローする数よりも、他のユーザにフォローされる数が多くなる可能性が高いと考えられる。このため、フォロー数C_follow、フォロワー数C_follower、及び比率Rfは、公式性の指標となり得る。
【数2】
【0044】
公式性計算部25は、プロフィール画像からプロフィール画像がロゴである可能性を示すロゴ度Plを計算する。ロゴとは、企業及び施設等のイメージを印象付けるために、企業及び施設等の名称及びマークを組み合わせて表された図である。ロゴ度Plが大きいほどロゴである可能性が高い。企業ユーザ及び施設公式ユーザ等の公式なユーザは、企業のロゴ及び施設のロゴをプロフィール画像として用いていることが多い。このため、ロゴ度Plは、公式性の指標となり得る。
【0045】
公式性計算部25は、例えば、ニューラルネットワークを用いて、プロフィール画像の各画素の画素値の重み付き和を計算し、計算結果をロゴ度Plとする。また、公式性計算部25は、Bag−of−Visual−wordsを用いて、ロゴ度Plを計算してもよい。この場合、公式性計算部25は、プロフィール画像の一定間隔の画素または特徴点に対応する画素のSIFT(Scale-Invariant Feature Transform)特徴量を計算し、SIFT特徴量をクラスタリングした場合の各クラスタのSIFT特徴量の個数を特徴量とする。公式性計算部25は、SVM(Support Vector Machine)等を用いて特徴量からロゴ度Plを計算する。
【0046】
ロゴは、写真等と比較して、プロフィール画像内のエッジが明瞭である、プロフィール画像に含まれる直線の数が多い、プロフィール画像に用いられる色の数が少ないといった特徴がある。このロゴ度Plの計算では、これらの特徴を有する場合に、ロゴ度Plが大きくなるようにロゴ度Plが計算される。なお、公式性計算部25は、SNS情報DB23に記憶されているプロフィール画像について、対象ユーザの判定処理とは無関係に、ロゴ度Plを予め計算しておいてもよい。
【0047】
公式性計算部25は、取得したdescription情報から営業時間及び問い合わせ先等の施設らしさを示す文字列を正規表現で抽出する。問い合わせ先としては、例えば、電話番号及びメールアドレスが挙げられる。営業時間の文字列としては、例えば「営業時間」、「**時〜**時」、及び「**:**〜**:**」等が用いられる。電話番号の文字列としては、例えば「電話番号」、「0*−****−****」、及び「0**−***−****」等が用いられる。メールアドレスの文字列としては、例えば「E−mail」、及び「@****.co.jp」等が用いられる。なお、「*」は任意の文字を示す。
【0048】
公式性計算部25は、施設らしさを示す情報の有無に基づいて、施設度Psを計算する。公式性計算部25は、例えば、営業時間、電話番号、及びメールアドレスのそれぞれに相当する文字列が抽出された場合に「1」を加算することによって、施設度Psを計算する。この場合、施設度Psは、0〜3の値を取る。
【0049】
公式性計算部25は、上述のように計算したフォロー数C_follow、フォロワー数C_follower、比率Rf、ロゴ度Pl及び施設度Psに基づいて、スコアSoを計算する。具体的には、公式性計算部25は、式(3)に示されるように、各値の重み付け和を計算し、その計算結果をスコアSoとする。なお、重みw1〜w5は、予め定められた値である。各要素が公式性の判定に及ぼす影響が大きいほど、その要素に付与される重みは大きく設定される。公式性計算部25は、計算したスコアSoを対象ユーザのユーザIDとともに判定部27に出力する。
【数3】
【0050】
社会性計算部26は、SNS情報に基づいて、対象ユーザの社会性に関するスコアSs(第3特徴量)を計算する社会性計算手段として機能する。社会性とは、ユーザが他のユーザとコミュニケーションを行う程度を意味し、社会性が高いほど他のユーザとのコミュニケーションの頻度が高い。スコアSsが大きいほど社会性が高いことを示す。スコアSsの計算方法について、以下に説明する。
【0051】
社会性計算部26は、例えば、対象ユーザのユーザIDに対応付けられている投稿文書及び総投稿数をSNS情報DB23から取得する。社会性計算部26は、取得した総投稿数のうち、最新の投稿日時に対応付けられている総投稿数を総投稿数Caとする。対象ユーザが投稿した文書のうち、対象ユーザが他のユーザに向けて投稿した文書の数は、対象ユーザが他のユーザと個別に会話をしている数とみなし得るので、社会性を示す指標となり得る。
【0052】
社会性計算部26は、取得した投稿文書に基づいて、対象ユーザの会話数Cmを計算する。会話数Cmは、対象ユーザが他のユーザに向けて投稿した文書(つまり、会話)の数である。ツイッターでは、文書に「@ユーザ名」を含めることで、ユーザ名のユーザとの会話が可能となる。このため、社会性計算部26は、例えば、投稿文書を解析し、アットマーク「@」を含む投稿文書の数をカウントし、カウントした数を会話数Cmとする。社会性計算部26は、式(4)に示されるように、総投稿数Caに対する対象ユーザの会話数Cmの割合を計算し、その計算結果を相対会話数Crとする。
【数4】
【0053】
社会性計算部26は、対象ユーザが投稿した文書のうち、他のユーザに向けて投稿した文書の数に基づいてスコアSsを計算する。具体的には、社会性計算部26は、上述のように計算した会話数Cm及び相対会話数Crを用いて、式(5)に示されるように、各値の重み付け和を計算し、その計算結果をスコアSsとする。なお、重みw6及び重みw7は、予め定められた値である。各要素が社会性の判定に及ぼす影響が大きいほど、その要素に付与される重みは大きく設定される。社会性計算部26は、計算したスコアSsを対象ユーザのユーザIDとともに判定部27に出力する。
【数5】
【0054】
判定部27は、対象ユーザが地域ユーザであるか否かを判定する判定手段として機能する。
図5に示されるように、ユーザの種別ごとに地理的局所性、公式性及び社会性が異なる。ユーザには、一般ユーザ、有名人、施設公式ユーザ、及びニュース配信ユーザなどが存在する。例えば、一般ユーザの公式性は、他のユーザの公式性よりも低い。施設公式ユーザは、施設の場所及び連絡先等がプロフィール情報に含まれている可能性が高く、また、施設及び施設周辺の情報を発信し、他のユーザと個別に会話をしない可能性が高い。このため、施設公式ユーザの公式性及び地理的局所性は高く、施設公式ユーザの社会性は低い。
【0055】
ニュース配信ユーザは、情報を配信することを目的としているので、他のユーザと個別に会話をしない可能性が高い。また、ニュース配信ユーザは、様々な地域のニュースを配信する可能性が高い。このため、ニュース配信ユーザの公式性は高いが、ニュース配信ユーザの地理的局所性及び社会性は低い。有名人は、他のユーザと個別に会話をすることがあり、地域限定の有名人を除いて、様々な地域で活動することがあるので、有名人の公式性及び社会性は高く、有名人の地理的局所性は低い。このように、ユーザの種別は、地理的局所性、公式性及び社会性によって分類され得る。
【0056】
したがって、判定部27は、スコアSlに基づいて、対象ユーザが地域ユーザであるか否かを判定する。判定部27は、例えば、スコアSlが閾値Sth1(第1閾値)以上である場合に、対象ユーザが地域ユーザであると判定し、スコアSlが閾値Sth1よりも小さい場合に、対象ユーザが地域ユーザでないと判定する。このようにして判定された地域ユーザには、特定の地域に関する情報を発信する一般ユーザが含まれる。一般ユーザの発信する情報には、信頼性が低い情報が含まれることがある。
【0057】
このため、判定部27は、スコアSlに加えてスコアSoに基づいて、対象ユーザが地域ユーザであるか否かを判定してもよい。判定部27は、例えば、スコアSlが閾値Sth1以上であり、かつ、スコアSoが閾値Sth2(第2閾値)以上である場合に、対象ユーザが地域ユーザであると判定し、スコアSlが閾値Sth1よりも小さい場合、又はスコアSoが閾値Sth2よりも小さい場合に、対象ユーザが地域ユーザでないと判定する。地理的局所性及び公式性が高いユーザとしては、施設公式ユーザ及びローカルな有名人が挙げられる。これらのユーザは、公式なユーザであることから、信頼性の高い情報を発信する可能性が高い。
【0058】
このうち、施設公式ユーザは、施設及び施設周辺の情報を発信することが多く、イベント情報及びセール情報等、他のユーザにとって有益な情報を発信することが特に多い。このため、判定部27は、スコアSl、スコアSo及びスコアSsに基づいて、対象ユーザが地域ユーザ(施設公式ユーザ)であるか否かを判定してもよい。判定部27は、例えば、スコアSlが閾値Sth1以上であり、スコアSoが閾値Sth2以上であり、かつ、スコアSsが閾値Sth3(第3閾値)以下である場合に、対象ユーザが地域ユーザ(施設公式ユーザ)であると判定する。判定部27は、スコアSlが閾値Sth1よりも小さい場合、スコアSoが閾値Sth2よりも小さい場合、又は、スコアSsが閾値Sth3よりも大きい場合に、対象ユーザが地域ユーザ(施設公式ユーザ)でないと判定する。
【0059】
判定部27は、スコアSl、スコアSo及びスコアSsを用いて、機械学習によって対象ユーザが地域ユーザであるか否かを判定してもよい。
【0060】
判定部27は、対象ユーザが地域ユーザであると判定した場合に、対象ユーザのプロフィール情報に基づいて、対象ユーザに関する情報を地域ユーザ情報として地域ユーザ情報DB28に追加する。具体的には、判定部27は、対象ユーザのユーザIDに対応付けられているユーザ名及びスクリーン名をSNS情報DB23から取得する。そして、判定部27は、取得したユーザ名及びスクリーン名をユーザIDに対応付けて、地域ユーザ情報として地域ユーザ情報DB28に格納する。判定部27は、地理的局所性計算部24から対象ユーザのユーザIDとともに位置情報xlを受け取った場合には、ユーザIDに対応付けられた地域ユーザ情報に位置情報xlをさらに追加する。
【0061】
地域ユーザ情報DB28は、地域ユーザに関する地域ユーザ情報を記憶する地域ユーザ情報記憶手段として機能する。地域ユーザ情報DB28は、地域ユーザ情報を記憶する地域ユーザ情報テーブルを有している。
図6は、地域ユーザ情報テーブルの一例を示す図である。
図6に示されるように、地域ユーザ情報テーブルには、ユーザIDと、ユーザ名と、スクリーン名と、位置情報と、が対応付けられた地域ユーザ情報が含まれている。なお、対象ユーザのlocation情報から位置情報xlが取得されなかった場合には、地域ユーザ情報は位置情報を含まない。
【0062】
ユーザ種別判定装置20は、地域ユーザ情報DB28を用いて携帯端末のユーザに、携帯端末の周辺に存在する施設に関する周辺施設情報を配信するサービスを提供してもよい。この場合、ユーザ種別判定装置20は、さらに要求受信部31及び提供部32を備えていてもよい。
【0063】
要求受信部31は、周辺施設情報を要求する周辺施設情報要求を受信する要求受信手段として機能する。例えば、携帯端末に周辺施設を検索するためのアプリケーションがインストールされている場合に、携帯端末において周辺施設の検索が行われると、携帯端末から当該携帯端末の位置情報とともに周辺施設情報要求がユーザ種別判定装置20に送信される。要求受信部31は、位置情報とともに周辺施設情報要求を受信すると、位置情報及び周辺施設情報要求を提供部32に出力する。
【0064】
提供部32は、周辺施設情報を携帯端末に提供する提供手段として機能する。提供部32は、要求受信部31から位置情報及び周辺施設情報要求を受け取ると、地域ユーザ情報DB28の地域ユーザ情報テーブルを参照し、携帯端末の位置から所定距離内の位置情報を有する地域ユーザの地域ユーザ情報を抽出する。例えば、スコアSl、スコアSo及びスコアSsを用いて判定された地域ユーザは、施設公式ユーザである可能性が高い。このため、提供部32は、抽出した地域ユーザ情報を周辺施設情報として、周辺施設情報要求を送信した携帯端末に送信する。
【0065】
図7に示されるように、提供部32によって送信された情報に基づいて、携帯端末では、例えば、周辺施設のユーザ(アカウント)が表示される。携帯端末に周辺施設のユーザが表示されることにより、携帯端末のユーザは周辺で行われるイベント等を知ることができる。
【0066】
次に、
図8〜
図13を参照して、ユーザ種別判定装置20におけるユーザ種別判定方法の処理を説明する。
図8は、ユーザ種別判定装置20が行うユーザ種別判定方法の一連の処理を示すフローチャートである。
図9は、
図8のSNS情報取得処理を詳細に示すフローチャートである。
図10は、
図8の地理的局所性計算処理を詳細に示すフローチャートである。
図11は、
図8の公式性計算処理を詳細に示すフローチャートである。
図12は、
図8の社会性計算処理を詳細に示すフローチャートである。
図13は、
図8のユーザ判定処理を詳細に示すフローチャートである。
図8に示される処理は、例えば、一定の周期で(例えば、5〜10分ごとに)開始される。
【0067】
まず、ユーザ種別判定装置20は、SNS情報取得処理を行う(ステップS01)。ステップS01のSNS情報取得処理では、
図9に示されるように、まず、要求部21が、SNS情報取得要求をSNSサーバ10に送信する(ステップS11)。そして、受信部22は、SNSサーバ10からSNS情報を受信し(ステップS12)、受信したSNS情報をSNS情報DB23に出力して格納する(ステップS13)。
【0068】
さらに、プロフィール情報に含まれるプロフィール画像として、画像ファイルのURLが用いられている場合、受信部22は、当該URLにアクセスすることによってプロフィール画像を取得し、取得したプロフィール画像をSNS情報DB23に出力して格納する(ステップS14)。以上のようにして、SNS情報取得処理が終了し、ステップS02に進む。
【0069】
続いて、ユーザ種別判定装置20は、地理的局所性計算処理(ステップS02)を行う。ステップS02の地理的局所性計算処理では、
図10に示されるように、まず、地理的局所性計算部24は、対象ユーザのユーザIDに対応付けられているdescription情報、location情報、投稿文書及びジオタグをSNS情報DB23から取得する(ステップS21)。
【0070】
そして、地理的局所性計算部24は、description情報、location情報及び投稿文書を形態素解析し、description情報、location情報及び投稿文書から施設名、地名及び住所等の場所の特定が可能な文字列を抽出する(ステップS22)。そして、地理的局所性計算部24は、場所情報テーブルを参照し、抽出した文字列によって特定される場所に対応付けられた位置情報を取得する(ステップS23)。また、地理的局所性計算部24は、ジオタグを位置情報とする。
【0071】
そして、地理的局所性計算部24は、ステップS23で取得したN個の位置情報x
iを用いて、式(1)に示されるように、位置情報の分散の逆数を計算し、その計算結果をスコアSlとする(ステップS24)。そして、地理的局所性計算部24は、計算したスコアSlを対象ユーザのユーザIDとともに判定部27に出力する。以上のようにして、地理的局所性計算処理が終了し、ステップS03に進む。
【0072】
続いて、ユーザ種別判定装置20は、公式性計算処理(ステップS03)を行う。ステップS03の公式性計算処理では、
図11に示されるように、まず、公式性計算部25は、対象ユーザのユーザIDに対応付けられているフォロー数と、フォロワー数と、description情報と、プロフィール画像と、をSNS情報DB23から取得する(ステップS31)。このとき、公式性計算部25は、例えば、対象ユーザのユーザIDに対応付けられているSNS情報のうち、最新の投稿日時を有するSNS情報からフォロー数と、フォロワー数と、description情報と、プロフィール画像と、を取得する。
【0073】
そして、公式性計算部25は、取得したフォロー数をフォロー数C_followとし、取得したフォロワー数をフォロワー数C_followerとする。そして、公式性計算部25は、式(2)に示されるように、フォロー数C_followに対するフォロワー数C_followerの比率Rfを計算する(ステップS32)。そして、公式性計算部25は、プロフィール画像からプロフィール画像がロゴである可能性を示すロゴ度Plを計算する(ステップS33)。さらに、公式性計算部25は、description情報から営業時間、電話番号及びメールアドレスの有無に基づいて、施設度Psを計算する(ステップS34)。
【0074】
そして、公式性計算部25は、計算したフォロー数C_follow、フォロワー数C_follower、比率Rf、ロゴ度Pl及び施設度Psを用いて、式(3)に示されるように、各値の重み付け和を計算し、その計算結果をスコアSoとする(ステップS35)。そして、公式性計算部25は、計算したスコアSoを対象ユーザのユーザIDとともに判定部27に出力する。以上のようにして、公式性計算処理が終了し、ステップS04に進む。
【0075】
続いて、ユーザ種別判定装置20は、社会性計算処理(ステップS04)を行う。ステップS04の社会性計算処理では、
図12に示されるように、まず、社会性計算部26は、対象ユーザのユーザIDに対応付けられている投稿文書及び総投稿数をSNS情報DB23から取得する(ステップS41)。そして、社会性計算部26は、取得した総投稿数のうち、最新の投稿日時に対応付けられている総投稿数を総投稿数Caとする。
【0076】
社会性計算部26は、取得した投稿文書を解析して、アットマーク「@」を含む投稿文書の数をカウントし、カウントした数を会話数Cmとする(ステップS42)。そして、社会性計算部26は、式(4)に示されるように、総投稿数Caに対する対象ユーザの会話数Cmの割合を計算し、その計算結果を相対会話数Crとする(ステップS43)。
【0077】
そして、社会性計算部26は、計算した会話数Cm及び相対会話数Crを用いて、式(5)に示されるように、各値の重み付け和を計算し、その計算結果をスコアSsとする(ステップS44)。そして、社会性計算部26は、計算したスコアSsを対象ユーザのユーザIDとともに判定部27に出力する。以上のようにして、社会性計算処理が終了し、ステップS05に進む。
【0078】
続いて、ユーザ種別判定装置20は、ユーザ判定処理(ステップS05)を行う。ステップS05のユーザ判定処理では、
図13に示されるように、まず、判定部27は、スコアSlが閾値Sth1以上であるか否かを判定する(ステップS51)。ステップS51においてスコアSlが閾値Sth1以上であると判定された場合(ステップS51;Yes)、判定部27は、スコアSoが閾値Sth2以上であるか否かを判定する(ステップS52)。
【0079】
ステップS52においてスコアSoが閾値Sth2以上であると判定された場合(ステップS52;Yes)、判定部27は、スコアSsが閾値Sth3以下であるか否かを判定する(ステップS53)。ステップS53においてスコアSsが閾値Sth3以下であると判定された場合(ステップS53;Yes)、判定部27は、対象ユーザが地域ユーザ(施設公式ユーザ)であると判定する(ステップS54)。
【0080】
一方、ステップS51においてスコアSlが閾値Sth1未満であると判定された場合(ステップS51;No)、ステップS52においてスコアSoが閾値Sth2未満であると判定された場合(ステップS52;No)、及びステップS53においてスコアSsが閾値Sth3よりも大きいと判定された場合(ステップS53;No)、判定部27は、対象ユーザが地域ユーザ以外のユーザであると判定する(ステップS55)。以上のようにして、ユーザ判定処理が終了し、ステップS06に進む。
【0081】
続いて、ユーザ種別判定装置20は、地域ユーザ情報格納処理(ステップS06)を行う。ステップS06では、ステップS05において対象ユーザが地域ユーザであると判定された場合に、判定部27は、当該対象ユーザのユーザIDに対応付けられているユーザ名及びスクリーン名をSNS情報DB23から取得する。そして、判定部27は、取得したユーザ名及びスクリーン名をユーザIDに対応付けて地域ユーザ情報として地域ユーザ情報DB28に格納する。なお、ステップS22において、location情報から場所を特定可能な文字列を抽出できた場合には、判定部27は、当該文字列によって特定される場所を示す位置情報を地域ユーザ情報にさらに含めて地域ユーザ情報DB28に格納する。そして、ユーザ種別判定装置20が行うユーザ種別判定方法の一連の処理が終了する。
【0082】
以上説明したユーザ種別判定装置20では、対象ユーザのプロフィール情報及び文書情報を含むSNS情報に基づいて、対象ユーザの地理的局所性に関するスコアSl、対象ユーザの公式性に関するスコアSo、及び対象ユーザの社会性に関するスコアSsが計算される。そして、スコアSl、スコアSo及びスコアSsに基づいて、対象ユーザが地域ユーザであるか否かが判定される。
【0083】
地域ユーザは、特定の地域内の情報を記載した文書を投稿することが多い。このため、地域ユーザは他のユーザよりも高い地理的局所性を有する可能性が高い。したがって、スコアSlが大きい場合に、対象ユーザが地域ユーザであると判定することができ、地域ユーザを特定することが可能となる。また、公式なユーザが投稿した文書に含まれる情報の信頼性は高い。このため、公式性を考慮して、対象ユーザが地域ユーザか否かを判定することにより、特定の地域に関する信頼性の高い情報を発信する地域ユーザを特定することが可能となる。さらに、公式なユーザは、他のユーザと個別に会話をしない可能性が高く、社会性が低い可能性が高い。このため、社会性を考慮することにより、公式なユーザであるか否かの判定精度を向上することができる。
【0084】
上記実施形態では、スコアSlが閾値Sth1以上であり、スコアSoが閾値Sth2以上であり、スコアSsが閾値Sth3以下である場合に、対象ユーザが地域ユーザであると判定される。この場合、地理的局所性及び公式性が高く、社会性が低いユーザが地域ユーザとして判定される。このような地域ユーザが発信する情報は、特定の地域に関する信頼できる情報であるので、特定の地域に関する信頼性の高い情報を発信する地域ユーザを特定することが可能となる。
【0085】
対象ユーザが地域ユーザであると判定された場合に、対象ユーザのプロフィール情報に基づいて、地域ユーザ情報DB28に地域ユーザ情報が追加される。地域ユーザ情報を記憶しておくことにより、様々な地域に関する情報を発信する地域ユーザを容易に検索することが可能となる。言い換えると、地域ユーザは、施設公式ユーザである可能性が高いので、施設公式ユーザの投稿を容易に検索することが可能となる。その結果、携帯端末のユーザが施設及び施設周辺の最新情報(ツイート)を簡単に閲覧することができる。
【0086】
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されない。例えば、地理的局所性計算部24は、SNS情報から取得した位置情報の分散に限られず、地理的局所性を判定し得る他の指標を用いてスコアSlを計算してもよい。
【0087】
また、公式性計算部25は、フォロー数C_follow、フォロワー数C_follower、比率Rf、ロゴ度Pl及び施設度Psの少なくとも1つを用いてスコアSoを計算してもよく、ユーザの公式性を判定し得る他の指標をさらに用いてスコアSoを計算してもよい。例えば、企業ユーザであれば信頼できる情報を発信すると考えられるので、企業ユーザか否かの値が公式性の指標として用いられてもよい。また、認証されているユーザは、信頼できる情報を発信する可能性が高いので、SNS情報の認証情報が公式性の指標として用いられてもよい。この場合、例えば、認証情報が「True」であれば「1」、「False」であれば「0」が割り当てられてもよい。
【0088】
また、社会性計算部26は、会話数Cm及び相対会話数Crの少なくとも1つを用いてスコアSsを計算してもよく、ユーザの社会性を判定し得る他の指標をさらに用いてスコアSsを計算してもよい。
【0089】
また、判定部27は、スコアSl及びスコアSoに基づいて、対象ユーザが地域ユーザのうちの施設公式ユーザであるか否かを判定することとしてもよい。さらに、判定部27は、スコアSl、スコアSo及びスコアSsに基づいて、対象ユーザが地域ユーザのうちの施設公式ユーザであるか否かを判定することとしてもよい。この判定方法は、地域ユーザの判定方法と同じ方法が用いられ得る。
【0090】
なお、SNSのユーザには、機械による自動投稿システムであるbotユーザが存在する。このbotユーザが特定の地域の情報を配信している場合には、上述の判定方法では、施設公式ユーザとbotユーザとを区別することができないおそれがある。そこで、公式性計算部25は、対象ユーザのユーザIDに対応付けられたユーザ名及びスクリーン名の少なくともいずれかをSNS情報DB23から取得する。公式性計算部25は、正規表現を用いて、ユーザ名及びスクリーン名の少なくともいずれかに「bot」という文字列が含まれるか否かを判定し、「bot」の文字列が含まれる場合にスコアSoの値を小さく(例えば、ゼロ)してもよい。これにより、botユーザが施設公式ユーザと判定されることを回避することが可能となる。
【0091】
また、地域ユーザであると判定された対象ユーザのユーザ名から施設名を抽出可能である場合、判定部27は、対象ユーザのユーザIDに対応付けられた地域ユーザ情報に施設名をさらに含めて地域ユーザ情報DB28に格納してもよい。