以下、図面と共に本発明に係るテキスト抽出装置の実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
図1に本実施形態に係るテキスト抽出装置であるサーバ10を示す。サーバ10は、テキスト(文書)から場所の特徴を推定する装置である。場所の特徴の推定に用いられるテキストは、例えば、ユーザ端末20からマイクロブログのサービスに投稿されたものである。特徴の推定対象となる場所は、例えば、店舗、レジャー施設及び観光施設といった施設を含むPOI(Point Of Interest)である。本実施形態では、特徴の推定対象となる場所をPOIとするが、それ以外の任意の場所を特徴の推定対象としてもよい。推定される特徴は、例えば、POIの情報をユーザに提供する際に利用される。これにより、ユーザにとってより望ましい情報(コンテンツ)を提供することができる。サーバ10は、POIの特徴を推定する際に、多くのテキストから、POIの特徴の推定に用いるものとして適切な推定用テキストを抽出する。この抽出を行うことで、適切に特徴を推定することができる。
ユーザ端末20は、ユーザによって携帯されて用いられる装置である。ユーザ端末20は、具体的には、携帯電話機やスマートフォン等に相当する。ユーザ端末20は、移動体通信網、インターネット等のネットワークNに接続して無線通信を行う機能を有している。また、ユーザ端末20は、マイクロブログサーバ30、即ち、マイクロブログのサービスにアクセスして、テキストを投稿、閲覧する機能を有している。投稿されるテキストには、例えば、ジオタグとしてユーザ端末20の位置が対応付けられる。ユーザ端末20の位置は、GPS(グローバル・ポジショニング・システム)測位機能等の自端末の測位機能等によって得られる。
また、ユーザ端末20は、検索サーバ40にアクセスして、ネットワークNを介してアクセスすることができるWebページの検索を行って、当該Webページへのアクセスを行うことができる。この際、検索用の文字列(検索キーワード)である検索文字列が、ユーザ端末20から検索サーバ40に送信されて検索が行われる。検索文字列には、複数の文字列が含まれていてもよい。複数の文字列が含まれる場合には、例えば、AND検索が行われる。
サーバ10と、マイクロブログサーバ30及び検索サーバ40とは、ネットワークNを介して通信を行うことができ、互いに情報の送受信を行えるようになっている。
引き続いて、本実施形態に係るサーバ10の機能を説明する。図1に示すようにサーバ10は、記憶部11と、検索文字列取得部12と、テキスト取得部13と、エリア決定部14と、推定用テキスト抽出部15と、推定部16とを備えて構成される。
記憶部11は、サーバ10における処理に必要となる情報を記憶する記憶部である。具体的には、記憶部11は、以下の情報を記憶する。記憶部11は、テキストを記憶する。記憶されるテキストは、マイクロブログに投稿されたテキストである。本実施形態では、1回の投稿のテキストを1つのテキストとして扱う。記憶されるテキストには、上述したように位置が対応付けられている。記憶部11は、テキストをマイクロブログ管理テーブルで保持する。図2にマイクロブログ管理テーブルを示す。図2に示すようにマイクロブログ管理テーブルは、ユーザID、マイクロブログ本文、経度及び緯度が対応付けられた情報を格納する。マイクロブログ管理テーブルの各レコード(1つの行のデータ)が、1つのテキストに対応する。
ユーザIDは、テキストを投稿したユーザを一意に特定する情報である。マイクロブログ本文は、投稿された当該テキスト自体である。経度及び緯度は、当該テキストに対応付けられた位置の経度及び緯度である。マイクロブログ管理テーブルに格納される情報は、予め、サーバ10によってマイクロブログサーバ30から取得されている。あるいは、当該情報は、予め、サーバ10の管理者等によって、マイクロブログサーバ30から取得されてサーバ10に入力されていてもよい。
記憶部11は、特徴の推定対象となるPOIに関する情報を記憶する。特徴の推定対象となるPOIは、予め、サーバ10の管理者等によって設定されている。記憶部11は、当該情報を場所情報管理テーブルで保持する。図3に場所情報管理テーブルを示す。図3に示すようにマイクロブログ管理テーブルは、POI_ID、POIの名称、経度、緯度及びWeb情報が対応付けられた情報を格納する。場所情報管理テーブルの各レコード(1つの行のデータ)が、1つのPOIに対応する。
POI_IDは、特徴の推定対象となるPOIを一意に特定する情報である。POIの名称は、当該特徴の推定対象となるPOIの名称、即ち、POIに対応する文字列である。経度及び緯度は、当該POIの位置の経度及び緯度である。Web情報は、POIに対応するWebページのURL(Uniform Resource Locator)である。POIに対応するWebページとは、例えば、当該POIの(当該POIが運営管理する)Webページ、及び当該POIを紹介するWebページである。Web情報には、複数のWebページのURLが含まれていてもよい。場所情報管理テーブルに格納される情報は、予め、サーバ10の管理者等によってサーバ10に入力されていている。
記憶部11は、Webページの検索に用いられた検索文字列に関する情報である検索ログを記憶する。記憶部11は、当該情報を検索ログ管理テーブルで保持する。図4に検索ログ管理テーブルを示す。図4に示すように検索ログ管理テーブルは、ユーザID、クエリ及び遷移先が対応付けられた情報を格納する。検索ログ管理テーブルの各レコード(1つの行のデータ)が、1回の検索及び当該検索による遷移に対応する。検索による遷移とは、検索結果として示された検索結果として示されるWebページに検索結果のリンクを用いてアクセスすることをいう。
ユーザIDは、検索を行ったユーザを一意に特定する情報である。クエリは、検索に用いられた検索文字列である。遷移先は、遷移によってアクセスされたWebページのURLである。検索ログ管理テーブルに格納される情報は、予め、サーバ10によって検索サーバ40から取得されている。あるいは、当該情報は、予め、サーバ10の管理者等によって、検索サーバ40から取得されてサーバ10に入力されていてもよい。上記以外の記憶部11に記憶される情報は後述する。
検索文字列取得部12は、検索に検索キーワードとして用いられたと共にPOIに対応する文字列と当該文字列以外の共起文字列である共起語を含み、当該検索に応じたアクセス先がPOIに係る情報であった検索文字列を取得する機能部である。
検索文字列取得部12は、特徴の推定対象であるPOI毎に上記の検索文字列を取得する。検索文字列取得部12は、特徴の推定対象であるPOIについて、記憶部11の場所情報管理テーブルからPOIの名称及びWeb情報を取得する。検索文字列取得部12は、記憶部11の検索ログ管理テーブルから、以下の条件(1)〜(3)を満たす検索文字列を取得する。(1)検索文字列が複数の文字列を含む、即ち、検索文字列が共起語を含み得る。(2)当該複数の文字列の少なくとも一つが取得したPOIの名称に一致する、即ち、検索文字列がPOIに対応する文字列を含む。(3)検索文字列に対応付けられた遷移先がPOIのWeb情報の一つに一致する、即ち、検索に応じたアクセス先がPOIに係る情報であった。
例えば、図3に示すPOIの名称が「海」とのPOIに対しては、図4のレコードのうち、検索文字列に含まれる文字列の一つが「海」であり、遷移先が「海」のWeb情報の一つに一致している1行目〜3行目のレコードの検索文字列を取得する。上記のように取得された検索文字列は、検索によってPOIに対応するアクセス先にアクセスしていることから、POIの名称が一般的なものであったとしても、一般的なものを意図した検索ではなく、当該POIに係るものであると考えられる。検索文字列取得部12は、取得した検索文字列を、特徴の推定対象であるPOIに係るものとしてエリア決定部14に出力する。
テキスト取得部13は、位置が対応付けられた複数のテキストを取得するテキスト取得部である。テキスト取得部13は、記憶部11のマイクロブログ管理テーブルから情報を取得して、位置が対応付けられた複数のテキストを取得する。テキスト取得部13は、取得したテキストをエリア決定部14及び推定用テキスト抽出部15に出力する。
エリア決定部14は、テキスト取得部13によって取得されたテキストから、POIに対応する文字列、及び検索文字列取得部12によって取得された検索文字列に含まれる共起語を含むエリア決定用テキストを抽出し、抽出したエリア決定用テキストに対応付けられた位置、及び特徴の推定対象であるPOIの位置に基づいて、推定用テキストの抽出に用いるエリアを決定する機能部である。エリア決定部14は、POIに対応する文字列及び共起語を含む検索文字列の数に応じて、エリア決定用テキストを抽出する。上記のエリアは、推定用テキストの抽出に用いる、即ち、POIにテキストを関連付けるための関連付けエリアである。関連付けエリアについては、詳細に後述する。具体的には、エリア決定部14は、特徴の推定対象であるPOI毎に以下のように関連付けエリアの決定を行う。
エリア決定部14は、まず、検索文字列取得部12から入力された検索文字列からエリア決定用テキストを抽出するための共起語である抽出用共起語を決定する。エリア決定部14は、記憶部11の検索ログ管理テーブルを参照して、検索文字列のうち、特徴の推定対象であるPOIに係る検索文字列の数(POIの名称カウント)をカウントする。ここでのPOIに係る検索文字列は、検索文字列に含まれる文字列の少なくとも一つがPOIの名称に一致する、即ち、検索文字列がPOIに対応する文字列を含み、かつ、検索文字列に対応付けられた遷移先がPOIのWeb情報の一つに一致するものである。即ち、共起語を含んでいない検索文字列もカウントして、POIに係る検索文字列の数とする。なお、カウントは、検索文字列の単位でカウントしてもよいし、ユーザ毎にカウントしてもよい(同一のユーザによる検索文字列であれば、当該検索文字列の数が複数でも1とカウントする)。エリア決定部14は、検索文字列取得部12から入力された、特徴の推定対象であるPOIに係る全ての検索文字列から全ての共起語を取得する。以下の算出、判断は、共起語毎に行う。エリア決定部14は、記憶部11の検索ログ管理テーブルを参照して、検索文字列のうち、共起語を含むものの数(共起語カウント)をカウントする。エリア決定部14は、検索文字列取得部12から入力された、特徴の推定対象であるPOIに係る検索文字列のうち、共起語を含むものの数(共起カウント)(上記の条件(1)〜(3)を満たす検索文字列のうち共起語を含むものの数)をカウントする。エリア決定部14は、カウントした各数から以下の式により、ダイス(Dice)係数を算出する。
ダイス係数=(2*共起カウント)/(場所の名称カウント+共起語カウント)
上記の数及びダイス係数の例を図5に示す。
エリア決定部14は、算出したダイス係数と予め設定した閾値とを比較する。算出したダイス係数が閾値以上であった場合、エリア決定部14は、当該共起語を、抽出用共起語とする。このように、ダイス係数で共起度を定量評価しフィルタリングすることで、共起が少ない単語を除外する。閾値としては、例えば、0.005とすることができる。この閾値の場合、図5に示す例では、「赤坂」に対する「ラーメン」「とんこつ」は、抽出用共起語とはされない。なお、共起度は、上記のダイス係数以外、例えば、ジャッカード(Jaccard)係数により算出されてもよい。
エリア決定部14は、抽出用共起語を記憶部11の共起語管理テーブルに格納する。図6に共起語管理テーブルを示す。図6に示すように共起語管理テーブルは、POI_ID、POIの名称及び共起語が対応付けられた情報を格納する。共起語管理テーブルの各レコード(1つの行のデータ)が、1つのPOIに対する1つの抽出用共起語に対応する。
POI_ID及びPOIの名称は、それぞれ特徴の推定対象であるPOIに係るPOI_ID及びPOIの名称である。共起語は、上記の判断で抽出用共起語とされた共起語である。
続いて、エリア決定部14は、特徴の推定対象であるPOIについて、記憶部11の場所情報管理テーブルからPOIの名称、並びにPOIの位置である経度及び緯度を取得する。エリア決定部14は、テキスト取得部13から入力されたテキストから、取得したPOIの名称、及び抽出用共起語の両方を含むエリア決定用テキストを抽出する。上述したようにテキストには、経度及び緯度によって示される位置が対応付けられている。上述したPOIの名称が「海」であるPOIの例では、図2に示すテキストから、「海」、並びに図6の共起語管理テーブルの格納された抽出用共起語のうち「東京」及び「手料理」の両方を含む「東京の海って店に来たけど手料理が抜群にうまい。」とのテキストをエリア決定用テキストとして抽出する。なお、上記の例では、2つの抽出用共起語が含まれているが、1つでも抽出用共起語が含まれていればよい。
エリア決定部14は、抽出したエリア決定用テキストに対応付けられた位置、及び特徴の推定対象であるPOIの位置に基づいて、関連付けエリアを決定する。関連付けエリアとは、POIの名称を含むテキストに対応付けられた位置が当該エリアに入っていれば、当該テキストを推定用テキストとして抽出するエリアである。関連付けエリアは、POIの位置に基づいて決定される。例えば、図7(a)に示すように、関連付けエリアA1はPOIの位置L1を中心として円形の形状とされる。あるいは、図8(a)に示すように、関連付けエリアA1はPOIの位置L1を中心として矩形の形状とされる。関連付けエリアA1は、例えば、予め設定されたデフォルトの大きさA2を有する。
エリア決定部14は、抽出したエリア決定用テキストに対応付けられた位置に基づいて、デフォルトの関連付けエリアA2を拡大又は縮小する。例えば、エリア決定部14は、抽出したエリア決定用テキストに対応付けられた位置のうち、POIの位置から最も遠い位置を基準として関連付けエリアを拡大する。図7(b)に示す円形の関連付けエリアA1の例では、当該最も遠い位置L2とPOIの位置L1との距離を半径とする領域を関連付けエリアA1とする。
あるいは、図8(b)に示す矩形の関連付けエリアA1の例では、当該矩形を、中心位置L1を変えずに、抽出したエリア決定用テキストに対応付けられた位置L3を頂点とした矩形に拡大した領域を関連付けエリアA1としてもよい。又は、図8(c)に示す矩形の関連付けエリアA1の例では、抽出したエリア決定用テキストに対応付けられた位置L3と、POIの位置L1とを対角の頂点とした矩形を、デフォルトの関連付けエリアA2に加えて関連付けエリアA1としてもよい。なお、位置L3と位置L1とを対角の頂点とした矩形は、縦横の辺は、それぞれデフォルトの関連付けエリアA2と平行になるようにする。
また、POIの位置L1との距離による範囲を定め、その範囲の位置に対応付けられると共に抽出されたエリア決定用テキストの数に応じて、関連付けエリアA1を決定してもよい。例えば、デフォルトの関連付けエリアA2の外側に上記の範囲を定めて、その数が閾値以上であれば当該範囲に関連付けエリアA1を拡大してもよい。具体例として、POIの位置L1から30mより大きく35m以下のエリアにおいて、上記のエリア決定用テキストの数が10であれば、30mまでの範囲を関連付けエリアA1として拡大する。なお、上記の数は、テキスト単位であってもよいし、ユーザ毎であってもよい(同一のユーザによるテキストであれば、当該テキストの数が複数でも1とカウントする)。当該テキストのカウントは、以下でも同様である。また、同様に、デフォルトの関連付けエリアA2の内側に上記の範囲を定めて、その数が閾値以上でなければ当該範囲を関連付けエリアA1でなくする、即ち、関連付けエリアA1を縮小してもよい。
なお、関連付けエリアA1が際限なく広がることを防ぐため、予め関連付けエリアA1の上限となる上限エリアA3を設定しておいてもよい。この場合、抽出したエリア決定用テキストに対応付けられた位置のうち、上限エリアA3の外側にあるものは、関連付けエリアの決定に用いないこととしてもよい。上限エリアA3は、POIのカテゴリやジャンル等で変更してもよい。例えば、関連付けエリアA1を円形とした場合、上限エリアA3の半径を、テーマパーク等は5km、ショッピングモールは1km、飲食店は100m等としてもよい。また、予め関連付けエリアA1の下限となる下限エリアを設定しておいてもよい。例えば、エリア決定用テキストが抽出されない場合、又はエリア決定用テキストの数が閾値以上でない場合、関連付けエリアA1を下限エリアまで縮小してもよい。
エリア決定部14は、特徴の推定対象であるPOI毎に決定した関連付けエリアA1を示す情報を推定用テキスト抽出部15に出力する。
推定用テキスト抽出部15は、テキスト取得部13によって取得されたテキストから、エリア決定部14によって決定された関連付けエリア、及び当該テキストに対応付けられた位置に基づいて、推定用テキストを抽出する機能部である。具体的には、推定用テキスト抽出部15は、特徴の推定対象であるPOI毎に以下のように推定用テキストを抽出する。
推定用テキスト抽出部15は、特徴の推定対象であるPOIについて、記憶部11の場所情報管理テーブルからPOIの名称を取得する。推定用テキスト抽出部15は、テキスト取得部13から入力されたテキストから、取得したPOIの名称を含むテキストを抽出する。推定用テキスト抽出部15は、抽出したテキストに対応付けられた位置が、エリア決定部14によって決定された関連付けエリア内であるか否かを判断する。推定用テキスト抽出部15は、当該位置が関連付けエリア内であると判断したテキストを、推定用テキストとして抽出する。即ち、当該テキストをPOIに関連付ける。
本実施形態では、対応付けられた位置が関連付けエリア内にあるテキストは、特徴の推定対象であるPOIについて記載されたテキストである(可能性が高い)と推定する。一方で、対応付けられた位置が関連付けエリア内にないテキストは、特徴の推定対象であるPOIについて記載されたテキストでない(可能性が高い)と推定する。即ち、POIの名称がテキストに含まれていても、当該POIの名称は当該POI以外のことを示している(可能性が高い)と推定する。推定用テキスト抽出部15は、特徴の推定対象であるPOI毎に抽出した推定用テキストを推定部16に出力する。
「海」との名称の飲食店であるPOIについて、図2に示すマイクロブログ管理テーブルに格納されたテキストから推定用テキストとして抽出されるテキストの例を図9に示す。なお、図2に示す経度及び緯度と、図9に示すテキストに対応付けられた位置とは、必ずしも位置関係が一致していない。
図9に示すテキストT1〜T4のうち、「東京の海って店に来たけど手料理が抜群にうまい。」とのテキストT1は、上述したようにエリア決定用テキストとして抽出される。当該テキストT1に対応付けられた位置及びPOIの位置に基づいて、関連付けエリアA1が決定される。
「東京の海って店に来たけど手料理が抜群にうまい。」とのテキストT1に対応付けられた位置、及び「「海」のお母さんの手作り料理、特に肉じゃがほんとうまいね。」とのテキストT4に対応付けられた位置は、関連付けエリアA1内であるため、これらのテキストT1,T4は、飲食店の「海」についての推定用テキストとして抽出される。これらのテキストT1,T4は、飲食店の「海」について記載されたテキストである(可能性が高い)と推定する。
一方で、「湘南の海で食べれるシラス丼最高!」とのテキストT2に対応付けられた位置、及び「今日の海はかなりサーフィン日和だったね。いい波来てた。」とのテキストT3に対応付けられた位置は、関連付けエリアA1内ではないため、これらのテキストT2,T3は、飲食店の「海」についての推定用テキストとしては抽出されない。これらのテキストは、飲食店の「海」について記載されたテキストでない(可能性が高い)と推定する。
推定部16は、推定用テキスト抽出部15によって抽出された推定用テキストから、特徴の推定対象であるPOIの特徴を推定する機能部である。推定部16は、推定用テキストを構成する文字列から、POIの特徴を推定する。文字列を用いてPOIの特徴を推定する場合、例えば、推定部16は、特徴の推定対象であるPOI毎に以下のように推定する。
推定部16は、推定用テキストを構成する文字列から、POIの特徴を示す語である施設特徴語を生成する。推定部16は、推定用テキストに対して形態素解析を行って、推定用テキストから単語を施設特徴語として抽出する。また、推定部16は、施設特徴語毎に当該施設特徴語を含む推定用テキストの数を共起数としてカウントして、共起数が対応付けられた施設特徴語を生成してもよい。共起数が大きいほど、当該施設特徴語が当該POIをより強く特徴付ける。なお、単語についての共起数が予め設定した閾値以上である場合のみ、当該単語を施設特徴語としてもよい。推定部16は、生成した施設特徴語に係る情報を、特徴の推定結果として記憶部11の施設特徴語管理テーブルに格納する。図10に施設特徴語管理テーブルを示す。図10に示すように施設特徴語管理テーブルは、POI_ID、施設特徴語及び共起数が対応付けられた情報を格納する。施設特徴語管理テーブルの各レコード(1つの行のデータ)が、1つのPOIに対する1つの施設特徴語に対応する。
POI_IDは、特徴の推定対象であるPOIに係るPOI_IDである。施設特徴語及び共起数は、推定部16によって上記のように生成された情報である。
あるいは、推定部16は、推定用テキストの数から、POIの特徴を推定する。推定部16は、推定用テキストの数を出現数としてカウントして、当該出現数をPOIの特徴を示す情報とする。出現数は、例えば、当該POIの人気を示している。推定部16は、生成した出現数に係る情報を、特徴の推定結果として記憶部11の施設出現数管理テーブルに格納する。図11に施設出現数管理テーブルを示す。図11に示すように施設出現数管理テーブルは、POI_ID、POIの名称及び出現数が対応付けられた情報を格納する。施設出現数テーブルの各レコード(1つの行のデータ)が、1つのPOIに対応する。
POI_ID及びPOIの名称は、特徴の推定対象であるPOIに係るPOI_ID及びPOIの名称である。出現数は、推定部16によって上記のように生成された情報である。
なお、推定部16は、上記のように推定によって得られた情報を記憶部11のテーブルに出力するのではなく、他の出力を行ってもよい。例えば、POIの特徴を利用する装置、又はモジュールに当該情報の送信等を行って出力することとしてもよい。
上記のように得られたPOIの特徴は、例えば、広告等のPOIの情報をユーザに提供する際に用いることができる。施設特徴語を用いれば、ユーザ毎にユーザの興味及び属性等に応じた、即ち、ユーザに適したPOIの情報を提供することができる。出現数を用いれば、より人気のある(例えば、そのとき旬な)POIの情報を提供することができる。なお、提供される情報は、ユーザの検索に応じたものとしてもよい。即ち、検索結果の最適化に用いることができる。
具体的には、以下のようにPOIの特徴を利用することができる。施設特徴語を用いるため、情報の提供対象となるユーザの特徴語を予め生成しておく。ユーザの特徴語は、ユーザの興味及び属性等を示すものである。ユーザの特徴は、例えば、マイクロブログのプロフィール文を形態素解析することで生成することができる。以下の式によって、ユーザに応じてPOI毎にスコアを算出する。
score=ax+(b/N)Σ(y_word*z_word)
上記の式において、xは、施設出現数管理テーブルにおいて当該POIに対応付けられた出現数である。y_word及びz_wordは、当該POIの施設特徴語毎の値であり、Σはそれらの和を表している。y_wordは、施設特徴語がユーザの特徴語にもなっていれば1、なっていなければ0である。z_wordは、施設特徴語管理テーブルにおいてPOI及び施設特徴語に対応付けられた共起数である。Nは、施設特徴語管理テーブルにおいて当該POIに対応付けられた施設特徴語の数である。a,bは、予め設定された正の値の各項のパラメータである。上記のscoreの値が大きいほど、当該POIの情報を高い優先順位でユーザに提供することが望ましい。従って、scoreの値に応じて順位付けしてPOIの情報を提供することで、ユーザにとってより望ましい情報を提供することができる。
なお、上記の各機能部の動作は、例えば、サーバ10の管理者等によってトリガがサーバ10に入力されたタイミング、又は予め設定されたタイミングで行われる。具体的には、ユーザに情報の提供が行われる前、又は行われる際に行われる。以上が、本実施形態に係るサーバ10の機能である。
引き続いて、図12のフローチャートを用いて、本実施形態に係るサーバ10で実行される処理(サーバ10の動作方法)を説明する。本処理は、特徴の推定対象であるPOI毎に行われる。本処理では、まず、検索文字列取得部12によって、記憶部11の検索ログ管理テーブルから、検索文字列が取得される(S01)。取得される検索文字列は、上述したように以下の条件(1)〜(3)を満たすものである。(1)検索文字列が複数の文字列を含む。(2)当該複数の文字列の少なくとも一つがPOIの名称に一致する。(3)検索文字列に対応付けられた遷移先がPOIのWeb情報の一つに一致する。続いて、テキスト取得部13によって、記憶部11のマイクロブログ管理テーブルから、位置が対応付けられた複数のテキストが取得される(S02)。なお、テキストの取得は、検索文字列の取得とは独立に行われ得るので、S02は必ずしもS01の後でなくてもよい。
続いて、エリア決定部14によって、取得された検索文字列から各共起語についてのダイス係数が算出される(S03)。続いて、エリア決定部14によって、算出されたダイス係数に基づいて、抽出用共起語が決定される(S04)。続いて、エリア決定部14によって、取得されたテキストから、POIの名称、及び抽出用共起語の両方を含むエリア決定用テキストが抽出される(S05)。続いて、エリア決定部14によって、抽出されたエリア決定用テキストに対応付けられた位置、及び特徴の推定対象であるPOIの位置に基づいて、関連付けエリアが決定される(S06)。
続いて、推定用テキスト抽出部15によって、取得されたテキストから、決定された関連付けエリア、及び当該テキストに対応付けられた位置に基づいて、推定用テキストが抽出される(S07)。続いて、推定部16によって、抽出された推定用テキストから、特徴の推定対象であるPOIの特徴が推定される(S08)。抽出されたPOIの特徴を示す情報は、例えば、記憶部11に出力されて記憶されて、POIの情報のユーザへの提供に用いられる。以上が、本実施形態に係るサーバ10で実行される処理である。
上述したように、検索文字列取得部12によって取得される検索文字列は、当該検索文字列による検索に応じた遷移先がPOIのWeb情報であるものである。即ち、検索に応じたアクセス先がPOIに係る情報である。従って、当該POIの名称が一般的なものであったとしても、当該検索文字列に含まれる共起語は、一般的なものに対応するものではなく、当該POIに対応するものである。例えば、「海」という名称の飲食店のWebサイトにアクセスされた検索において、「海」という文字列との共起語は、海洋に対応するものではなく、「海」という名称の飲食店に対応するものである。
本実施形態では、そのような共起語を含むテキストが用いられて、関連付けエリアが決定されて推定用テキストが抽出されているので、POIの特徴の推定に用いるテキストを適切に抽出することができる。本実施形態とは異なり、関連付けエリアを予め固定的に(静的に)設定しておくと、推定に用いるテキストを適切に抽出することができないおそれがある。関連付けエリアを広くしておくと、例えば、図9のテキストT2,T3のようなPOIに関連しないと考えられるテキストまで推定に用いるテキストとしてしまうおそれがある。関連付けエリアを狭くしておくと、特徴を推定するのに十分なテキストを抽出することができないおそれがある。即ち、抽出するテキストの精度の劣化又はテキストの関連付けの漏れが生じるおそれがある。即ち、一方で本実施形態では、上述したように関連付けエリアを適切なものにできるため、抽出するテキストの精度の劣化及びテキストの関連付けの漏れを防止することができる。
なお、マイクロブログは投稿目的が様々である点やユーザの自由記述のテキストである点から、共起語は必ずしもPOIと直接的に関連する単語ではない場合が多い。一方、検索ログ(検索文字列)は、情報の取得を目的としたアクションである点やテキストが冗長になりにくい。そのため、POIの名称との共起語は、POIと直接的に関連する単語である可能性が高い。従って、検索ログのみでは、十分なPOIの特徴を推定できない場合がある。例えば、検索ログのみでは抽出しにくい施設特徴語がある。
本実施形態のようにマイクロブログのテキストを用いることで、直接的にはPOIには関連しないが、情報のレコメンドを行う際に有用な単語を抽出すること等ができ、有効な特徴の推定を行うことができる。また、情報(コンテンツ)作成者側にとっても新たな知見の発見に繋げることができる場合がある。一方で、POIの名称が一般的である場合には、通常、推定に用いるテキストを適切なものにすることが難しいが、上述したように適切にテキストを抽出することができる。
また、本実施形態のように、POIに係る検索文字列の数及び共起語を含む検索文字列の数からダイス係数を算出して、抽出用共起語を判断することとしてもよい。この構成によれば、適切にエリア決定用テキストを抽出することができ、場所の特徴の推定に用いるテキストを更に適切に抽出することができる。但し、これらの数を必ずしも用いる必要はない。
また、本実施形態のように抽出された推定用テキストを用いて、POIの特徴の推定まで行う構成を備えていてもよい。この構成によれば、POIの特徴の推定迄行うことができる。但し、本発明に係るテキスト抽出装置は、特徴の推定まで行う必要はない。抽出された推定用テキストを別の装置に出力して、別の装置によって特徴の推定が行われてもよい。
また、本実施形態のように、具体的には、抽出された推定用テキストを構成する文字列、及び推定用テキストの数からPOIの特徴を推定することができる。
本実施形態では、POIに対応する文字列として、POIの名称(場所の名称)を用いたが、POIに対応している文字列であればそれ以外の文字列が用いられてもよい。
なお、上記実施の形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及び/又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び/又は論理的に結合した1つの装置により実現されてもよいし、物理的及び/又は論理的に分離した2つ以上の装置を直接的及び/又は間接的に(例えば、有線及び/又は無線)で接続し、これら複数の装置により実現されてもよい。
例えば、本発明の一実施の形態におけるサーバ10などは、本実施形態のサーバ10の処理を行うコンピュータとして機能してもよい。図13は、本実施形態に係るサーバ10のハードウェア構成の一例を示す図である。上述のサーバ10は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。サーバ10のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
サーバ10における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることで、プロセッサ1001が演算を行い、通信装置1004による通信や、メモリ1002及びストレージ1003におけるデータの読み出し及び/又は書き込みを制御することで実現される。
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。例えば、サーバ10の各機能部は、プロセッサ1001で実現されてもよい。
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュールやデータを、ストレージ1003及び/又は通信装置1004からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、サーバ10の各機能部は、メモリ1002に格納され、プロセッサ1001で動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、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は、本発明の一実施の形態に係る方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
ストレージ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つで実装されてもよい。
以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。
本明細書で説明した各態様/実施形態は、LTE(Long Term Evolution)、LTE−A(LTE-Advanced)、SUPER 3G、IMT−Advanced、4G、5G、FRA(Future Radio Access)、W−CDMA(登録商標)、GSM(登録商標)、CDMA2000、UMB(Ultra Mobile Broadband)、IEEE 802.11(Wi−Fi)、IEEE 802.16(WiMAX)、IEEE 802.20、UWB(Ultra-WideBand)、Bluetooth(登録商標)、その他の適切なシステムを利用するシステム及び/又はこれらに基づいて拡張された次世代システムに適用されてもよい。
本明細書で説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:trueまたはfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
本明細書で説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)などの有線技術及び/又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
本明細書で説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
なお、本明細書で説明した用語及び/又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。
本明細書で使用する「システム」および「ネットワーク」という用語は、互換的に使用される。
また、本明細書で説明した情報、パラメータなどは、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。
移動通信端末は、当業者によって、加入者局、モバイルユニット、加入者ユニット、ワイヤレスユニット、リモートユニット、モバイルデバイス、ワイヤレスデバイス、ワイヤレス通信デバイス、リモートデバイス、モバイル加入者局、アクセス端末、モバイル端末、ワイヤレス端末、リモート端末、ハンドセット、ユーザエージェント、モバイルクライアント、クライアント、またはいくつかの他の適切な用語で呼ばれる場合もある。
本明細書で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up)(例えば、テーブル、データベースまたは別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。
「含む(include)」、「含んでいる(comprising)」、およびそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「または(or)」は、排他的論理和ではないことが意図される。本明細書において、文脈または技術的に明らかに1つのみしか存在しない装置である場合以外は、複数の装置をも含むものとする。
本開示の全体において、文脈から明らかに単数を示したものではなければ、複数のものを含むものとする。