以下、添付図面を参照して、本発明の一実施形態について詳細に説明する。なお、図面の説明において同一又は相当要素には同一符号を付し、重複する説明を省略する。
図1は、本発明の一実施形態に係るエリア決定装置10の機能構成を示す図である。エリア決定装置10は、所定の地名を示す文字列と投稿位置を示す位置座標の情報(例えば緯度及び経度)とを含む一又は複数の投稿情報から、当該所定の地名に予め対応付けられた対応エリアを拡張することで、当該所定の地名に対するユーザの感覚に合ったエリアを決定(拡張)する装置である。ここで、「所定の地名に予め対応付けられた対応エリア」は、例えば国等の公的機関等(或いは地図情報を提供する民間機関等)によって、所定の地名に対応するエリアとして区画されたエリア(緯度及び経度の範囲)である。このような対応エリアは、所定の地名に対応するエリアを示すものとして信頼性の高い情報であるといえる。
図2は、所定の地名の一例である「みなとみらい」に予め対応付けられた対応エリアA1と、エリア決定装置10が地名「みなとみらい」の対応エリアA1を拡張することで得られるエリアの例(拡張エリアA2)とを示している。図2に示すように、エリア決定装置10によれば、所定の地名(例えば「みなとみらい」)に対して国等が予め定めた対応エリアA1には含まれないが、当該所定の地名に対するユーザの感覚に合ったエリア(すなわち拡張エリアA2)を決定(拡張)することができる。ここで、「所定の地名に対するユーザの感覚に合ったエリア」とは、ユーザが当該所定の地名が指し示す地理的範囲として一般的に認識しているエリアともいえる。例えば、有名な観光エリア及び繁華街等を示す地名(図2の例では、「みなとみらい」)については、当該地名に対して国等が予め定めたエリアの近傍エリア(図2の例では、横浜赤レンガ倉庫付近のエリア)についても、当該地名に対応するエリアであると一般的に認識されている場合がある。
続いて、エリア決定装置10の各機能要素を説明する。図1に示すように、エリア決定装置10は、記憶部11と、投稿情報取得部12と、エリア情報取得部13と、エリア拡張部14とを備える。
記憶部11は、エリア決定装置10における処理に必要となる情報(ここでは、エリア情報取得部13の処理に必要な情報)と、エリア決定装置10により生成された情報(ここでは、エリア拡張部14により拡張されたエリアを示す情報)とを記憶する機能要素である。各情報の内容については後述する。
投稿情報取得部12は、一又は複数のユーザによって投稿された、所定の地名を示す文字列と投稿位置を示す位置座標の情報とを含む一又は複数の投稿情報を取得する機能要素である。
「所定の地名」は、処理対象(エリアを拡張する対象)となる地名であり、例えばオペレータ等によって入力される。所定の地名は、例えば、市区町村等の区画、観光地或いは観光エリアの名称、繁華街、及び各種施設等の地理的な範囲を有する場所を示す名称である。なお、処理対象となる地名が複数ある場合、投稿情報取得部12は、処理対象となる複数の地名の中から1つの地名を取得し、取得された地名について、投稿情報取得部12、エリア情報取得部13、及びエリア拡張部14が各処理(詳しくは後述)を実行してもよい。このような処理が処理対象となる地名の数だけ繰り返されることで、処理対象となる全ての地名に対する処理(エリアを拡張するための処理)が順次実行される。以下、所定の地名(処理対象となる地名)は「みなとみらい」であるものとして、各処理について説明する。
投稿情報取得部12は、例えばSNS(Social Networking Service)等において不特定多数のユーザによって投稿された投稿情報(例えばツイート等)を、SNSを提供するサーバ(或いは投稿情報を蓄積するデータベース等)等から取得する。投稿情報は、ユーザによって入力されたテキストを含んでいる。投稿情報取得部12は、取得された投稿情報のうちから、所定の地名を示す文字列「みなとみらい」がテキストに含まれている投稿情報を抽出する。
投稿情報取得部12は、例えば形態素解析を実行することにより、所定の地名を示す文字列を含む投稿情報を抽出してもよい。この場合、投稿情報取得部12は、SNSを提供するサーバ等から取得した投稿情報を形態素解析することで、当該投稿情報を複数の形態素に分割する。そして、投稿情報取得部12は、複数の形態素のいずれかが所定の地名(ここでは「みなとみらい」)に一致する場合に、当該投稿情報を所定の地名を示す文字列を含む投稿情報として抽出する。このような形態素解析を実行することで、適切な投稿情報を精度よく取得することができる。例えば所定の地名が「京都」である場合、形態素解析を実行しなければ、地名「東京都」を示す文字列を含む投稿情報が、地名「京都」を示す文字列を含む投稿情報として誤って抽出されるおそれがある。一方、形態素解析を実行することにより、「東京都」が1つの形態素として得られるので、上記のような誤抽出を防止することができる。
さらに、投稿情報取得部12は、上述のようにして抽出された地名「みなとみらい」を示す文字列を含む投稿情報のうちから、投稿位置を示す位置座標の情報を含む投稿情報を抽出する。投稿位置を示す位置座標の情報は、例えばジオタグ等である。ジオタグとは、投稿情報に付加され得る位置情報であり、例えばユーザが所有する端末から投稿情報が投稿(発信)された際における当該端末の位置(緯度及び経度)を示す情報である。ジオタグは、例えば、投稿情報を投稿する際における上記端末の処理によって当該投稿情報に付加される。また、投稿情報にジオタグを付加するか否かは、端末のユーザによって設定可能とされているため、上述のように抽出された投稿情報は、ジオタグが付加された投稿情報とジオタグが付加されていない投稿情報とを含み得る。
以上の処理により、投稿情報取得部12は、一又は複数のユーザによって投稿された、所定の地名(ここでは「みなとみらい」)を示す文字列とジオタグ(投稿位置を示す位置座標の情報)とを含む一又は複数の投稿情報を取得することができる。ただし、投稿情報取得部12が投稿情報を取得する方法は、上記方法に限られない。例えば、投稿情報取得部12は、先にジオタグを含む投稿情報を抽出した後に、所定の地名を示す文字列を含む投稿情報をさらに抽出してもよい。また、例えば、SNSを提供するサーバ等が所定の検索条件に合致する投稿情報を出力する機能(検索機能)を実装している場合は、投稿情報取得部12は、所定の地名を示す文字列及びジオタグを含むことを検索条件として上記サーバ等に対する検索要求を行うことで、所定の地名を示す文字列及びジオタグを含む投稿情報を取得してもよい。
エリア情報取得部13は、所定の地名に予め対応付けられたエリアである対応エリアを示す情報(以下「対応エリア情報」)を取得する機能要素である。本実施形態では一例として、記憶部11は、地名と当該地名に対応する住所の範囲(緯度及び経度の範囲等)を示す情報(上記対応エリア情報の一例)とを対応付けた情報(レコード)を複数格納する管理テーブルを記憶している。この場合、エリア情報取得部13は、記憶部11の管理テーブルを参照することにより、所定の地名(ここでは「みなとみらい」)に対応する対応エリア情報を取得することができる。なお、上記管理テーブルに対応する情報は、記憶部11ではなく、エリア決定装置10からアクセス可能な外部システムに格納されていてもよい。この場合、エリア情報取得部13は、当該外部システムにアクセスすることで、当該対応エリア情報を取得することができる。
対応エリア情報は、例えば、図2に示した対応エリアA1のような所定の地名(ここでは「みなとみらい」)に対応する緯度及び経度の範囲を特定可能な情報である。対応エリア情報は、例えば、対応エリアの輪郭線の緯度及び経度を示す情報であってもよい。このような情報によれば、図2に示したような対応エリアA1を特定することができる。ただし、対応エリア情報は、上記の情報に限られず、対応エリアの定義の仕方等によって定められてもよい。例えば、対応エリアは、地図上の領域を複数のメッシュ領域(例えば1辺が100mの正方形状の領域)に分割した場合において、当該対応エリアに含まれるメッシュ領域を特定することによって定義されてもよい。この場合、対応エリアに含まれる一又は複数のメッシュ領域を特定する情報が、対応エリア情報として用いられ得る。
エリア拡張部14は、投稿情報取得部12により取得(抽出)された一又は複数の投稿情報の各々の投稿位置とエリア情報取得部13により取得された対応エリア情報に示される対応エリアとの位置関係に基づいて、対応エリアを拡張する機能要素である。例えば、エリア拡張部14は、上記一又は複数の投稿情報の各々の投稿位置と上記対応エリアとの距離に基づいて、上記一又は複数の投稿情報の各々の投稿位置のうちから、対応エリアの拡張に用いられる一又は複数の投稿位置を選択する。そして、エリア拡張部14は、このようにして選択された一又は複数の投稿位置に基づいて対応エリアを拡張する。
以下、エリア拡張部14の処理の具体例について説明する。まず、エリア拡張部14は、投稿情報取得部12により取得された各投稿情報の投稿位置と対応エリアとの距離を算出する。エリア拡張部14は、当該距離と予め定められた閾値Δdとを比較し、当該距離が閾値Δd未満の場合(又は閾値Δd以下の場合)、当該投稿位置を対応エリアの拡張に用いられる位置として選択し、当該距離が閾値Δd以上の場合(又は閾値Δdより大きい場合)、当該投稿位置を対応エリアの拡張に用いられる位置として選択しない。
図3を参照して、上述したエリア拡張部14の処理(対応エリアの拡張に用いられる投稿位置を選択する処理)について詳しく説明する。図3において、P1及びP2は、投稿情報取得部12により取得された2つの投稿情報の各々の投稿位置を示す。なお、以下の説明では、投稿情報取得部12により取得された投稿位置のことを総称して、投稿位置Pとも表す。
図3の例では、エリア拡張部14は、各投稿情報の投稿位置P1,P2と対応エリアA1との距離d1,d2を算出する。ここで、距離d1,d2は、それぞれ投稿位置P1,P2と対応エリアA1との最短距離である。このような距離d1,d2は、各投稿位置P1,P2の緯度及び経度と、対応エリアA1の対応エリア情報とに基づいて、所定の計算処理を実行することにより算出可能である。そして、エリア拡張部14は、当該距離d1,d2と予め定められた閾値Δdとを比較する。閾値Δdは、例えばオペレータ等によって自由に設定されてもよい。或いは、閾値Δdは、予め定められたルールに基づいて定められた値(例えば、対応エリアA1を包含する最小の円領域の半径に対して予め定められた割合を乗じた値等)であってもよい。図3の例において、「d1<Δd<d2」の関係が成立している場合、エリア拡張部14は、閾値Δdよりも小さい距離d1を有する投稿位置P1を、対応エリアA1の拡張に用いられる位置として選択する。一方、エリア拡張部14は、閾値Δdよりも大きい距離d2を有する投稿位置P2を、対応エリアA1の拡張に用いられる位置として選択しない。
このような投稿位置Pの選別は、以下の考え方に基づいている。上述した通り、対応エリアA1は、所定の地名に対応するエリアとして信頼性の高い情報であるといえる。そして、このような対応エリアA1から近い位置にある投稿位置Pは、ユーザが一般的な感覚として、所定の地名に対応するエリアに含まれると認識している位置である可能性が高いと考えられる。具体的には、対応エリアA1から近い位置にある投稿位置Pは、例えば「みなとみらいに遊びに来た。」等のテキストを含む投稿情報の投稿位置のように、ユーザが地名「みなとみらい」に対応するエリアに含まれると認識している位置である可能性が比較的高いと考えられる。すなわち、所定の地名に対して国等によって区画されたエリアには含まれないものの、一般的なユーザの感覚として、所定の地名に対応するエリアに含まれると認識されている位置である可能性が高いと考えられる。
一方、対応エリアA1から遠い位置にある投稿位置Pは、GPSの誤差を含む投稿情報等に基づく信頼性の低い情報である可能性が高いと考えられる。或いは、例えば「今週末みなとみらいに遊びに行く予定だ。」等のテキストを含む投稿情報のように、地名「みなとみらい」に対応するエリアに自身がいないことを認識した上でユーザが投稿した投稿情報の投稿位置である可能性が高いと考えられる。このような投稿位置は、地名「みなとみらい」に対応するエリアに含まれるとユーザが認識している位置とはいえないため、対応エリアA1の拡張に用いられる投稿位置の集合から除外されることが好ましい。従って、上述のように、対応エリアA1からの距離に基づいて対応エリアA1の拡張に用いられる投稿位置Pを選別することで、後述する処理によって決定される拡張エリアA2の精度を高めることが期待できる。
続いて、エリア拡張部14は、上述のようにして対応エリアA1の拡張に用いられる一又は複数の投稿位置を選択した後、選択された一又は複数の投稿位置に基づいて対応エリアA1を拡張する。具体的には、エリア拡張部14は、予め定められた対応エリアA1に対して、所定の地名に対応するエリアとして新たに加えられる拡張エリアA2を決定する。一又は複数の投稿位置から拡張エリアA2を決定する方法は特定の方法に限定されないが、エリア拡張部14は、例えば以下に述べる第1〜第3の例のような方法により、拡張エリアA2を決定することができる。
(第1の例)
図4の(a)は、拡張エリアA2の第1の例(拡張エリアA21)を示す図である。以下、拡張エリアA21を求めるためにエリア拡張部14が実行する処理の一例について説明する。拡張エリアA21は、複数の投稿位置Pを全て包含する円形領域である。エリア拡張部14は、対応エリアA1の拡張に用いられる位置として選択された複数の投稿位置Pに基づいて、複数の投稿位置Pの重心Cを算出する。具体的には、エリア拡張部14は、複数の投稿位置Pの緯度及び経度のそれぞれの平均値を算出し、算出された緯度の平均値を重心Cの緯度とし、算出された経度の平均値を重心Cの経度とする。これにより、重心Cの位置(緯度及び経度)が求まる。続いて、エリア拡張部14は、複数の投稿位置Pのうち重心Cから最も遠い位置にある投稿位置Pfを特定し、投稿位置Pfと重心Cとの距離Dを算出する。このようにして算出された重心Cの位置と距離Dとにより、重心Cを中心として距離Dを半径とする円形の領域である拡張エリアA21が特定される。すなわち、第1の例においては、重心Cの位置及び距離Dが、拡張エリアA21を特定する情報(すなわち、拡張エリアA21の輪郭線を特定する情報)となる。
(第2の例)
図4の(b)は、拡張エリアA2の第2の例(拡張エリアA22)を示す図である。以下、拡張エリアA22を求めるためにエリア拡張部14が実行する処理の一例について説明する。拡張エリアA22は、複数の投稿位置Pを包含する最小の凸集合である凸包である。エリア拡張部14は、複数の点集合(複数の投稿位置Pの緯度及び経度)に対して公知の凸包計算アルゴリズムを用いることにより、拡張エリアA22を求めることができる。具体的には、エリア拡張部14は、上記アルゴリズムを実行することにより、凸包の頂点を構成する投稿位置Pcを求めることができる。このようにして求められた投稿位置Pc(図4の(b)の例では、6つの投稿位置Pc)に基づいて、複数の投稿位置Pを包含する凸包である拡張エリアA22が特定される。すなわち、第2の例においては、凸包の頂点を構成する投稿位置Pcの位置(緯度及び経度)が、拡張エリアA22を特定する情報(すなわち、拡張エリアA22の輪郭線を特定する情報)となる。
(第3の例)
図4の(c)は、拡張エリアA2の第3の例(拡張エリアA23)を示す図である。以下、拡張エリアA23を求めるためにエリア拡張部14が実行する処理の一例について説明する。拡張エリアA23は、複数の投稿位置Pのうち最北端の投稿位置Pn、最南端の投稿位置Ps、最西端の投稿位置Pw、及び最東端の投稿位置Peにより規定される矩形状の領域である。具体的には、拡張エリアA23は、投稿位置Pn,Psを通る緯線に平行な各線分と投稿位置Pw,Peを通る経線に平行な各線分とにより囲まれる矩形状の領域である。エリア拡張部14は、拡張エリアA23を決定するために、複数の投稿位置Pの緯度及び経度のうちから緯度の最小値及び最大値、並びに経度の最小値及び最大値を抽出する。このように抽出された緯度の最小値及び最大値、並びに経度の最小値及び最大値により、拡張エリアA23が特定される。すなわち、第3の例においては、複数の投稿位置Pの緯度及び経度のうちから抽出された緯度の最小値及び最大値、並びに経度の最小値及び最大値が、拡張エリアA23を特定する情報(すなわち、拡張エリアA23の輪郭線を特定する情報)となる。
エリア拡張部14は、上記第1〜第3の例のようにして拡張エリアA2(A21〜A23)を特定する情報を取得し、当該情報を記憶部11に出力する。これにより、記憶部11には、所定の地名に対応する拡張エリアA2を特定する情報が記憶される。
なお、対応エリアA1は既に所定の地名に対応するエリアとして定められているため、エリア拡張部14は、対応エリアA1内にある投稿位置Pについては除外し、対応エリアA1の外側に位置する投稿位置Pのみに基づいて上記処理を実行してもよい。これにより、処理対象となる投稿位置Pを減らすことができ、処理量を低減することができる。ただし、対応エリアA1は、対応エリアA1内にある投稿位置Pも処理対象とした上で、上記処理を実行してもよい。上記いずれの処理を実行する場合においても、対応エリアA1と拡張エリアA2とは互いに重複する領域を有し得る。この場合、拡張エリアA2のうち対応エリアA1と重複しない領域部分が、エリア拡張部14の上記処理によって実質的に拡張される部分である。
続いて、図5に示すフローチャートを参照して、エリア決定装置10が所定の地名(例えば「みなとみらい」)に対応する対応エリアを拡張する際における処理手順の一例を説明する。
まず、投稿情報取得部12は、一又は複数のユーザによって投稿された、所定の地名を示す文字列と投稿位置を示す位置座標の情報とを含む一又は複数の投稿情報を取得する(ステップS1)。投稿情報取得部12は、このようにして取得された一又は複数の投稿情報の各々の投稿位置P(緯度及び経度)を後述する判定対象の投稿位置Pとして取得する(ステップS2)。
一方、エリア情報取得部13は、所定の地名に予め対応付けられたエリアである対応エリアA1を示す対応エリア情報を取得する(ステップS3)。一例として、エリア情報取得部13は、記憶部11に記憶されている管理テーブルを参照することにより、対応エリア情報を取得する。
続いて、エリア拡張部14は、投稿情報取得部12により取得された一又は複数の投稿位置Pのうちから対応エリアA1の拡張に用いられる投稿位置Pを選択する処理(ステップS4〜S8)と、選択された一又は複数の投稿位置Pに基づいて対応エリアA1を拡張する処理(ステップS9)とを実行する。
まず、エリア拡張部14は、対応エリアA1の拡張に用いられるか否かの判定がされていない投稿位置Pを1つ選択し(ステップS4)、選択された投稿位置Pと対応エリアA1との距離(最短距離)を算出する(ステップS5)。そして、エリア拡張部14は、当該距離が所定の閾値Δd以上であるか否かを判定する(ステップS6)。
ステップS6において、当該距離が閾値Δd未満であると判定された場合(ステップS6:NO)、ステップS4で選択された投稿位置Pを対応エリアA1の拡張に用いられる投稿位置として選択する(ステップS7)。一方、ステップS6において、当該距離が閾値Δd以上であると判定された場合(ステップS6:YES)、ステップS4で選択された投稿位置Pを対応エリアA1の拡張に用いられる投稿位置として選択しない。
エリア拡張部14は、未判定の投稿位置Pがなくなるまで、上述したステップS4〜S7の処理を繰り返す(ステップS8:YES)。全ての投稿位置Pについて判定が完了したら(ステップS8:NO)、エリア拡張部14は、対応エリアA1の拡張に用いられる投稿位置として選択された投稿位置Pに基づいて、例えば上述した第1〜第3の例のいずれかの方法を用いることにより、対応エリアA1を拡張する(ステップS9)。具体的には、エリア拡張部14は、上述したような方法を用いることにより、拡張エリアA2を特定する情報を算出し、当該情報を記憶部11に格納する。
以上述べたエリア決定装置10では、所定の地名を示す文字列を含む投稿情報の各々の投稿位置Pに基づいて、当該所定の地名に予め対応付けられた対応エリアA1が拡張される。すなわち、拡張エリアA2が決定される。また、対応エリアA1を拡張する際には、各投稿情報の投稿位置Pと対応エリアA1との位置関係が考慮される。すなわち、エリア決定装置10は、所定の地名を含む投稿情報の投稿位置Pに基づいて当該所定の地名に対応するエリアを一から生成するのではなく、基準となる対応エリアA1と各投稿位置Pとの位置関係に基づいて当該対応エリアA1を拡張する。このように、エリア決定装置10は、予め用意された対応エリアA1を基準として用いることにより、投稿情報の数(すなわち投稿位置Pの数)が少ない場合であっても、地名に対するユーザの感覚に合ったエリア(すなわち、拡張エリアA2)を精度良く決定することができる。
また、エリア拡張部14は、一又は複数の投稿情報の各々の投稿位置P(図3の例では、投稿位置P1,P2)と対応エリアA1との距離(図3の例では、距離d1,d2)に基づいて、一又は複数の投稿情報の各々の投稿位置Pのうちから対応エリアA1を拡張するのに用いられる一又は複数の投稿位置P(図3の例では投稿位置P1)を選択する。そして、エリア拡張部14は、選択された一又は複数の投稿位置Pに基づいて対応エリアA1を拡張する。上記構成によれば、各投稿位置Pと対応エリアA1との距離に基づいて、対応エリアA1を拡張するのに用いるべきではないと考えられる投稿位置P(図3の例では、投稿位置P2)をノイズとして適切に除去した上で、選択された投稿位置P(図3の例では、投稿位置P1)のみに基づいて対応エリアA1を適切に拡張することができる。
以下、上述のようにして得られた拡張エリアA2の活用例について、図2の例を用いて説明する。図2の例では、横浜赤レンガ倉庫付近の一帯のエリアは、国等の公的機関等によって区画された地名「みなとみらい」の対応エリアA1の外側にある。しかし、一般的なユーザの認識としては、横浜赤レンガ倉庫付近の一帯のエリアも地名「みなとみらい」に対応するエリアであると考えられている。従って、例えば検索キーワード「みなとみらい カフェ」等を用いて地名「みなとみらい」が示すエリア内に含まれるカフェを検索するユーザに対しては、対応エリアA1にあるカフェだけでなく、横浜赤レンガ倉庫付近の一帯のエリアにあるカフェについても検索結果として提示することにより、ユーザ利便性を向上し得る。
ここで、エリア決定装置10の処理によれば、上述のように「みなとみらい」に対するユーザの感覚に合ったエリア(拡張エリアA2)を決定することができる。そして、エリア決定装置10は、地名「みなとみらい」に対応付けられたエリア(すなわち、対応エリアA1及び拡張エリアA2)を示す情報(記憶部11に記憶された情報)を、上述の検索処理を実行する検索サーバに提供してもよい。或いは、エリア決定装置10自身が検索サーバとして機能する場合には、エリア決定装置10自身が当該情報を参照してもよい。これにより、検索サーバは、上述したユーザからの検索要求に対して、対応エリアA1にあるカフェだけでなく、拡張エリアA2にあるカフェについても検索結果として提示することが可能となる。すなわち、対応エリアA1と拡張エリアA2との和集合「A1∪A2」を検索範囲として検索を実行した結果をユーザに提示することが可能となる。その結果、上記例において、ユーザは、地名「みなとみらい」に対して国等によって区画されたエリアに含まれるカフェの情報はもちろんのこと、一般的なユーザ感覚として地名「みなとみらい」が示すエリアと認識されているエリアに含まれるカフェの情報も得ることが可能となる。
なお、本発明は上述した実施形態に限定されない。例えば、上記実施形態では、エリア拡張部14は、最初に対応エリアA1の拡張に用いられる投稿位置Pを選択した後に、選択された投稿位置Pに基づいて対応エリアA1を拡張する処理を行ったが、エリア拡張部14の処理は上記例に限られない。例えば、エリア拡張部14は、以下のように処理の順番を入れ替えてもよい。すなわち、エリア拡張部14は、最初に、投稿情報取得部12により取得された全ての投稿情報の投稿位置Pを用いて暫定的な拡張エリアを決定した後に、当該拡張エリアのうち対応エリアA1から所定の距離以内の領域を拡張エリアとして決定してもよい。
また、エリア拡張部14は、投稿位置Pと対応エリアA1との距離(最短距離)以外の指標を用いて、対応エリアA1の拡張に用いられる投稿位置Pを選択してもよい。例えば、地図上の領域が上述した複数のメッシュ領域で区切られている場合、エリア拡張部14は、対応エリアA1が属するメッシュ領域と投稿位置Pが属するメッシュ領域との位置関係(例えば、メッシュ領域同士が隣接するか否か等)を上記指標として用いてもよい。また、投稿情報取得部12によって取得される投稿情報が、所定の地名に予め対応付けられた対応エリアA1の近傍エリアから投稿された情報に予め絞り込まれている場合等には、対応エリアA1の拡張に用いられる投稿位置Pを選択する処理自体が不要となる。
また、エリア拡張部14は、投稿位置Pと対応エリアA1との距離だけでなく、以下に説明する追加の情報にも更に基づいて、対応エリアA1の拡張に用いられる投稿位置Pを選択してもよい。以下、追加の情報の例(第1の例及び第2の例)について説明する。
(第1の例)
エリア拡張部14は、一の投稿位置(以下、便宜上「投稿位置X」と表記する。)に基づいて定められる所定範囲内に含まれる投稿位置Pの数に更に基づいて、投稿位置Xを対応エリアA1の拡張に用いられる投稿位置Pとして選択してもよい。
地図上の領域が上述した複数のメッシュ領域で区切られている場合、エリア拡張部14は、例えばメッシュ領域毎に地理的範囲(緯度及び経度の範囲)が対応付けられた情報(例えば予め記憶部11に格納された情報)を参照することで、投稿位置Xが属するメッシュ領域の地理的範囲を上記所定範囲として定めてもよい。或いは、エリア拡張部14は、投稿位置Xを中心とし、予め定められた半径を有する円形領域の地理的範囲を上記所定範囲として定めてもよい。
続いて、エリア拡張部14は、上述のようにして定められた所定範囲内に含まれる投稿位置Pを抽出し、抽出された投稿位置Pの数を算出する。なお、同一のユーザによって投稿された複数の投稿情報の投稿位置Pについては1つのとして算出してもよい。この場合、上述のように算出される投稿位置Pの数は、ユニークな投稿ユーザ数を示すことになる。
上述のようにして抽出された投稿位置Pの数が多いことは、投稿位置Xの近傍エリアが所定の地名に対応するエリアに含まれると認識されている可能性が高いことを示すと考えられる。そこで、エリア拡張部14は、抽出された投稿位置Pの数と予め定められた閾値(例えばオペレータ等により予め設定された値)とを比較し、その比較結果に基づいて、投稿位置Xを対応エリアA1の拡張に用いられる投稿位置Pとして選択するか否かを決定してもよい。具体的には、エリア拡張部14は、抽出された投稿位置Pの数が上記閾値以上の場合(或いは上記閾値より大きい場合)に、投稿位置Xを対応エリアA1の拡張に用いられる投稿位置Pとして選択してもよい。
上述した第1の例によれば、所定の地名に対応するエリアに含まれると認識されている可能性が高い投稿位置Xを、対応エリアA1の拡張に用いられる投稿位置Pとして選択することができる。このようにして選択された投稿位置Pに基づいて拡張エリアA2を決定することにより、当該拡張エリアA2の精度の向上を図ることができる。
(第2の例)
エリア拡張部14は、一の投稿情報(以下、便宜上「投稿情報Y」と表記する。)に含まれるテキスト(所定の地名を示す文字列を含むテキスト)に更に基づいて、所定の地名(以下、便宜上「地名Z」と表記する。)に予め対応付けられた対応エリアA1の拡張に用いられる投稿位置Pを選択してもよい。
具体的には、エリア拡張部14は、投稿情報Yに含まれるテキストに基づいて、投稿情報Yの投稿時にユーザが地名Zによって示される場所にいると認識していたか否かを判定する。エリア拡張部14は、例えば、公知の現地性判断の手法を用いることにより、上記判定を行うことができる。エリア拡張部14は、上記の現地性判断の手法として、例えば「前後文脈を考慮したTweetの現地性判断,鬼塚友里絵 嶋田和孝,電子情報通信学会,言語理解とコミュニケーション研究会(NLC),NLC2014-5,pp.23-28,2014」(以下、「参考文献1」)に開示されている手法を用いることができる。
例えば、エリア拡張部14は、テキストに特定の言語表現が含まれているか否かに基づいて、当該テキストが、投稿情報Yの投稿時にユーザが地名Zによって示される場所にいると認識して入力したテキストであるか否かを判定することができる。例えば上記参考文献1に記載されている手法によれば、エリア拡張部14は、「今地名Zにいる。」及び「地名Zに到着した。」等のように「いる」及び「到着」等の言語表現(投稿時点においてユーザが地名Zによって示される場所にいると認識していることを示唆する言語表現)を含むテキストを、ユーザが地名Zによって示される場所にいると認識して入力したテキストであると判定できる。また、エリア拡張部14は、「明日地名Zに行く予定だ。」のように「明日」等の言語表現(投稿時点においてユーザが地名Zによって示される場所にいると認識していないことを示唆する言語表現)を含むテキストを、ユーザが地名Zによって示される場所にいると認識して入力したテキストでないと判定できる。
上述のように、投稿情報Yに含まれるテキストが、ユーザが地名Zによって示される場所にいると認識して入力したテキストであると判定できた場合(すなわち、ユーザが地名Zによって示される場所にいると認識していたと判定された場合)、エリア拡張部14は、当該投稿情報Yの投稿位置Pを対応エリアA1の拡張に用いられる投稿位置Pとして選択する。或いは、投稿情報Yに含まれるテキストが、ユーザが地名Zによって示される場所にいると認識して入力したテキストでないと判定されなかった場合、エリア拡張部14は、当該投稿情報Yの投稿位置Pを対応エリアA1の拡張に用いられる投稿位置Pとして選択してもよい。
上述した第2の例によれば、対応エリアA1からの距離に近いだけでなく、ユーザが地名Zによって示される場所にいると認識して投稿した可能性が高い投稿情報Yの投稿位置Pを、対応エリアA1の拡張に用いられる投稿位置Pとして選択することができる。このようにして選択された投稿位置Pに基づいて拡張エリアA2を決定することにより、当該拡張エリアA2の精度の向上を図ることができる。
また、エリア拡張部14は、必ずしも図4に示した第1〜第3の例によって拡張エリアA2を決定しなくてもよい。例えば、エリア拡張部14は、上述のようにして対応エリアA1の拡張に用いられる投稿位置Pとして選択された投稿位置P毎に拡張エリアA2を決定してもよい。具体的には、エリア拡張部14は、選択された各投稿位置Pの近傍エリア(例えば各投稿位置Pを中心とする所定半径の円形領域等)を拡張エリアとしてもよい。この場合、選択された投稿位置Pの数だけ拡張エリアA2が生成されることになる。或いは、エリア拡張部14は、選択された複数の投稿位置Pに対して公知のクラスタリングを実行し、複数の投稿位置Pから拡張エリアA2を決定する処理(例えば図4に示した第1〜第3の例の処理)をクラスタ別に実行してもよい。この場合、クラスタの数だけ拡張エリアA2が生成されることになる。
なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及び/又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び/又は論理的に結合した1つの装置により実現されてもよいし、物理的及び/又は論理的に分離した2つ以上の装置を直接的及び/又は間接的に(例えば、有線及び/又は無線で)接続し、これら複数の装置により実現されてもよい。
例えば、上記実施形態におけるエリア決定装置10は、上記実施形態のエリア決定装置10の処理を行うコンピュータとして機能してもよい。図6は、本実施形態に係るエリア決定装置10のハードウェア構成の一例を示す図である。上述のエリア決定装置10は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、及びバス1007等を含むコンピュータ装置として構成されてもよい。
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニット等に読み替えることができる。エリア決定装置10のハードウェア構成は、図6に示された各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
エリア決定装置10における各機能は、プロセッサ1001、メモリ1002等のハードウェア上に所定のソフトウェア(プログラム)を読み込ませることで、プロセッサ1001が演算を行い、通信装置1004による通信、メモリ1002及びストレージ1003におけるデータの読み出し及び/又は書き込みを制御することで実現される。
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタ等を含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、及び/又はデータを、ストレージ1003及び/又は通信装置1004からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、エリア決定装置10のエリア拡張部14は、メモリ1002に格納され、プロセッサ1001で動作する制御プログラムによって実現されてもよく、図1に示した他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、1つのプロセッサ1001で実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されてもよい。
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)等の少なくとも1つで構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)等と呼ばれてもよい。メモリ1002は、上記実施形態に係る情報処理方法(図5のフローチャートに示される手順等)を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュール等を保存することができる。
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD−ROM(Compact Disc ROM)等の光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu−ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップ等の少なくとも1つで構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及び/又はストレージ1003を含むデータベース、サーバ、その他の適切な媒体であってもよい。
通信装置1004は、有線及び/又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュール等ともいう。
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサ等)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプ等)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
また、プロセッサ1001及びメモリ1002等の各装置は、情報を通信するためのバス1007で接続される。バス1007は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
また、エリア決定装置10は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)等のハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つで実装されてもよい。
以上、本発明について詳細に説明したが、当業者にとっては、本発明が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更された態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。
本明細書で説明した各態様/実施形態の処理手順、シーケンス、フローチャート等は、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理されてもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
本明細書で説明した各態様/実施形態は単独で用いられてもよいし、組み合わせて用いられてもよいし、実行に伴って切り替えて用いられてもよい。
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能等を意味するよう広く解釈されるべきである。
また、ソフトウェア、命令等は、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)等の有線技術及び/又は赤外線、無線及びマイクロ波等の無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
本明細書で説明した情報及び信号等は、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップ等は、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
なお、本明細書で説明した用語及び/又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。
また、本明細書で説明した情報、パラメータ等は、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。
上述したパラメータに使用される名称はいかなる点においても限定的なものではない。さらに、これらのパラメータを使用する数式等は、本明細書で明示的に開示したものと異なる場合もある。
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」との両方を意味する。
「含む(including)」、「含んでいる(comprising)」、及びそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「又は(or)」及び「或いは(or)」は、排他的論理和ではないことが意図される。
本明細書において、文脈又は技術的に明らかに1つのみしか存在しない装置であることが示されていなければ、複数の装置をも含むものとする。
本明細書で使用する「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「決定」は、例えば、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up)(例えば、テーブル、データベースまたは別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事等を含み得る。また、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「決定」したとみなす事等を含み得る。また、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)等した事を「決定」したとみなす事を含み得る。つまり、「決定」は、何らかの動作を「決定」したとみなす事を含み得る。
本開示の全体において、文脈から明らかに単数を示したものではなければ、複数のものを含むものとする。