以下、本実施形態の情報検索システム10について説明する。情報検索システム10は、図1に示すように、情報処理端末1と、情報検索装置2と、情報蓄積装置3とを備えている。情報検索装置2は、情報処理端末1と通信可能なように構成されている。情報蓄積装置3は、情報検索装置2がアクセス可能なように構成されている。
情報処理端末1は、入力装置11と、端末通信装置12と、表示装置13とを備えている。入力装置11は、検索フレーズが入力できるように構成されている。端末通信装置12は、検索フレーズを、情報検索装置2に送信することができるように構成されている。端末通信装置12は、検索フレーズに基づいて検索された検索対象を、情報検索装置2から受信することができるように構成されている。表示装置13は、検索対象を表示することができるように構成されている。
情報検索装置2は、検索通信装置21と、位置情報取得部22と、特徴語生成部24と、検索部25とを備えている。検索通信装置21は、情報処理端末1からの検索フレーズを受信することができるように構成されている。検索通信装置21は、検索対象を送信することができるように構成されている。位置情報取得部22は、位置情報を取得することができるように構成されている。位置情報は、検索の起点となる地図上の位置を示す。特徴語生成部24は、特徴語を検索フレーズから生成する。特徴語は、検索対象を表す単語と関連している。検索部25は、蓄積データベースから検索対象を検索することができるように構成されている。
検索対象は、地点情報を有している。地点情報は、特定の地点を示す。検索部25は、位置情報と、特徴語とに基づいて、位置から所定の範囲で、特徴語に対応した検索対象を検索することができるように構成されている。
情報蓄積装置3は、蓄積記憶装置31を備える。蓄積記憶装置31は、蓄積データベースを記憶する。蓄積データベースは、特徴語と、検索対象とを蓄積している。検索対象は、特徴語に対応している。
本実施形態の情報検索システム10は、より精度の高い検索対象を検出することができる。
以下、本実施形態の情報検索システム10における各構成を具体的に説明する。
本実施形態に係る情報検索システム10では、ユーザが使用する情報処理端末1と、情報検索装置2とが通信できるように構成されている。情報処理端末1と情報検索装置2とは、例えば、公衆通信網50を介して、無線通信により接続される。図1では、公衆通信網50を介して、通信が行われる情報の流れを両矢印で例示している。
情報処理端末1は、図1に示すように、入力装置11と端末通信装置12と表示装置13とに加え、端末制御装置14と、端末記憶装置15とを備えている。情報処理端末1は、ユーザが使用する端末機器である。端末機器は、例えば、携帯電話、若しくはスマートフォンが挙げられる。
入力装置11は、検索フレーズが入力できるように構成されている。検索フレーズは、検索対象を検索するための言葉である。検索フレーズは、ユーザによって任意に入力された言葉でもある。検索フレーズは、単語、単語の組合せ、若しくは主語と述語を含んだ成文でもよい。入力装置11は、入力された検索フレーズを端末通信装置12から送信指示できるように構成されている。入力装置11は、例えば、表示装置13と一体的に構成されたタッチパネル、音声で入力が可能な音声入力装置、若しくは物理キーが挙げられる。入力装置11は、表示装置13と一体的に構成されたタッチパネルの構成に限定されるものではなく、単に入力部だけの構成であってもよい。
端末通信装置12は、情報検索装置2と通信できるように構成されている。端末通信装置12は、検索フレーズの情報を送信する。端末通信装置12は、検索対象の情報を受信する。検索対象は、特定の地点を示す情報を有しているので、地点情報でもある。地点情報は、POI(Point Of Interest)情報となる。具体的には、端末通信装置12は、公衆通信網50を用いて、情報検索装置2の検索通信装置21と通信ができるように構成されている。端末通信装置12は、公衆通信網50を利用した公衆通信だけでなく、例えば、有線通信ができるように構成されていてもよい。また、端末通信装置12は、赤外線通信、Wi-Fi(登録商標)、Bluetooth(登録商標)、若しくはBLE(Bluetooth Low Energy)の通信規格に対応した無線通信ができるように構成されてもよい。
表示装置13は、各種の情報を表示することができるように構成されている。表示装置13は、例えば、検索フレーズを表示する。表示装置13は、地図を表示してもよい。表示装置13は、情報検索装置2で検索された検索対象の地点情報が示す地点を、地図に重ねて表示してもよい。表示装置13は、例えば、複数の地点情報を可視化して、端末記憶装置15に記憶した地図情報が示す地図に重ねて表示することができる。表示装置13は、入力装置11と一体的に構成されたタッチパネルの構成に限定されるものではなく、単に表示部だけの構成であってもよい。
端末制御装置14は、各種の情報処理動作を制御する。端末制御装置14は、入力装置11と、端末通信装置12と、表示装置13と、端末記憶装置15と電気的に接続されている。端末制御装置14は、端末記憶装置15に記憶されたプログラムに基づいて、入力装置11と端末通信装置12と表示装置13とを制御できるように構成されている。端末制御装置14は、例えば、CPU(Central Processing Unit)若しくはMPU(Micro Processing Unit)で構成される。
端末記憶装置15は、電源を切れば情報が消える揮発性記憶装置と、電源を切っても情報が消えない不揮発性記憶装置とを有している。揮発性記憶装置は、端末制御装置14により処理される情報を一時的に記憶する。揮発性記憶装置は、例えば、地図を示す地図情報及び地図情報に付加する地点情報が記憶される。揮発性記憶装置は、例えば、RAM(Random Access Memory)が挙げられる。不揮発性記憶装置は、各種の情報処理プログラム及び各種の情報が記憶可能なストレージである。不揮発性記憶装置は、例えば、ROM(Read Only Memory)が挙げられる。ROMは、例えば、フラッシュメモリ、若しくはHDD(Hard Disk Drive)が用いられる。
情報検索装置2は、図1に示すように、検索通信装置21と、検索制御装置27とを備えている。情報検索装置2は、検索通信装置21と検索制御装置27とに加え、検索記憶装置28を備えている。情報検索装置2は、例えば、サーバにより構成される。検索制御装置27は、位置情報取得部22と、カテゴリ判別部23と、特徴語生成部24と、検索部25と、計時部26とを有している。
検索通信装置21は、情報処理端末1と通信できるように構成されている。検索通信装置21は、検索フレーズの情報を、情報処理端末1から受信できるように構成されている。検索通信装置21は、検索制御装置27で検索された検索対象の情報を、情報処理端末1に送信することができるように構成されている。即ち、検索通信装置21は、検索フレーズの情報を受信する。検索通信装置21は、検索対象の情報を送信する。具体的には、検索通信装置21は、公衆通信網50を用いて、情報処理端末1の端末通信装置12と通信ができるように構成されている。
また、検索通信装置21は、情報蓄積装置3と通信できるように構成されている。検索通信装置21は、検索対象を検索するための情報を送信する。検索通信装置21は、検索した検索対象の情報を情報蓄積装置3から受信する。具体的には、検索通信装置21は、公衆通信網50を用いて、情報蓄積装置3の蓄積通信装置33と通信ができるように構成されている。検索通信装置21は、公衆通信網50を利用した公衆通信だけでなく、例えば、有線通信ができるように構成されていてもよい。また、端末通信装置12は、赤外線通信、Wi-Fi(登録商標)、Bluetooth(登録商標)、若しくはBLEの通信規格に対応した無線通信ができるように構成されてもよい。
検索制御装置27は、検索通信装置21と、検索記憶装置28と電気的に接続されている。検索制御装置27は、位置情報取得部22と、カテゴリ判別部23と、特徴語生成部24と、検索部25と、計時部26とが機能するように構成されている。検索制御装置27は、例えば、検索記憶装置28に記憶された位置情報取得プログラム、カテゴリ判別プログラム、特徴語生成プログラム、検索プログラム及び計時プログラムを動作させるように駆動する。検索制御装置27は、例えば、CPU若しくはMPUで構成される。
位置情報取得プログラムは、コンピュータ上で実行されることにより、位置情報を取得する位置情報取得部22として機能する。カテゴリ判別プログラムは、コンピュータ上で実行することにより、検索フレーズのカテゴリを判別するカテゴリ判別部23として機能する。特徴語生成プログラムは、コンピュータ上で実行されることにより、特徴語を検索フレーズから生成する特徴語生成部24として機能する。検索プログラムは、コンピュータ上で実行されることにより、情報蓄積装置3に記憶された蓄積データベースから検索対象を検索する検索部25として機能する。計時プログラムは、コンピュータ上で実行されることにより、年、月、日、時を計時することが可能な計時部26として機能する。
位置情報取得部22は、位置情報を取得する。位置情報は、例えば、経度の情報及び緯度の情報である。位置情報には、経度の情報及び緯度の情報に加え、高度の情報が含まれていてもよい。位置情報取得部22は、例えば、情報処理端末1から送信される位置情報を取得することができる。情報処理端末1から送信される位置情報としては、例えば、情報処理端末1の入力装置11で入力された位置情報が挙げられる。また、位置情報取得部22は、情報処理端末1から送信される検索フレーズから位置情報を取得することができる。
検索フレーズは、テキストデータで構成されている。検索フレーズには、フレーズが含まれている。フレーズは、1つの単語でもよいし、複数の単語の集まりでもよい。フレーズは、成文であってもよい。検索フレーズは、テキストデータを機械的に扱える形式に変換される。検索フレーズは、形態素解析により、複数の単語単位に分解される。ここで、形態素解析は、検索フレーズを、自然言語で意味を持つ最小の単位に分類することができる。形態素解析では、分類した形態素の品詞情報を取得することもできる。形態素解析では、例えば、検索フレーズに含まれる単語が、名詞、形容詞、動詞若しくは副詞であるかどうかの情報を取得することもできる。
形態素解析には、例えば、MeCab(メカブ)などの形態素解析エンジンを用いることができる。MeCabは、固有表現辞書と一緒に用いることができる。固有表現辞書としては、例えば、Neologdなどのシステム辞書が挙げられる。位置情報取得部22は、検索フレーズに含まれる単語を得るために、検索フレーズを形態素解析している。位置情報取得部22は、検索フレーズに含まれる単語を得るために、検索フレーズを形態素解析する構成だけに限られない。位置情報取得部22は、例えば、カテゴリ判別部23、特徴語生成部24、検索部25、若しくは図示していない形態素解析部が検索フレーズを形態素解析した単語を入手する構成でもよい。位置情報取得部22は、形態素解析した単語を数値表現にした分散表現を行ってもよい。位置情報取得部22は、形態素解析した単語の活用形をまとめてもよい。形態素解析した単語の活用形をまとめるためには、例えば、FastTextを用いてもよい。
位置情報取得部22は、検索フレーズに含まれる単語が地名の場合、地名と位置情報とが対応付いた地名データベースから位置情報を取得することができる。位置情報取得部22は、例えば、検索フレーズを形態素解析により分解した単語を、検索記憶装置28に記憶された地名データベースと比較する。位置情報取得部22は、検索フレーズを形態素解析により分解した単語が地名データベースの地名と一致すれば、一致した地名に対応する位置情報を取得すればよい。
地名データベースは、例えば、県、市、区、町、村若しくは施設の名称と、位置情報とが対応付いて構成されていればよい。ここでは、地名は、市区町村を表す名称だけでなく、施設の名称も含む。言い換えれば、地名は、地理的情報を示す名称である。地名データベースでは、例えば、県の名称と県庁の位置情報と、市の名称と市役所の位置情報と、区の名称と区役所の位置情報、町の名称と町役場の位置情報、村の名称と村役場の位置情報、施設の名称と施設の位置情報とが対応するように構成されている。以下では、検索フレーズに含まれる単語が地名の場合、地名と位置情報とが直接対応付いた地名データベースから位置情報を取得することを、非機械学習による位置情報の取得ともいう。位置情報取得部22は、非機械学習により、位置情報を取得する場合、データベースに含まれる単語と一致するか否かの硬い検索を行うことになる。
位置情報取得部22は、検索フレーズに含まれる単語が地名を含まない場合、機械学習により、検索語と位置情報とが対応付いたデータベースから位置情報を取得することができる。位置情報取得部22は、例えば、機械学習により、検索フレーズを形態素解析により分解された単語と、類似度の高い検索語に置き換える。位置情報取得部22は、例えば、検索フレーズに形態素解析を行った上、予め記憶されている単語と検索語との類似度で、所望の検索語を選択することができる。位置情報取得部22は、検索語と位置情報とが対応付いた地名データベースと比較する。位置情報取得部22は、検索語が地名データベースの地名と一致すれば、一致した地名に対応する位置情報を取得すればよい。言い換えれば、位置情報取得部22は、地理的情報を示す地名から経度及び緯度の座標値に変換するジオコーディング技術を利用している。
位置情報取得部22は、情報処理端末1からの位置情報、情報処理端末1からの検索フレーズに含まれる地名の単語、情報処理端末1からの検索フレーズに基づいた検索語の少なくとも1つを利用して、地図上の位置を示す位置情報を取得することができる。位置情報取得部22は、情報処理端末1からの情報を用いて、地図上の位置を示す位置情報を取得している。本実施形態に係る情報検索装置2では、情報処理端末1から直接的に位置情報を取得できない場合でも、間接的に位置情報を取得することができる。情報検索装置2は、機械学習だけで位置情報を取得する構成と比較して、より低い処理負荷で位置情報を取得することができる。
即ち、本実施形態に係る情報検索装置2では、位置情報取得部22は、位置情報を取得する。位置情報は、機械学習により、検索フレーズに含まれる単語から推定される。
本実施形態に係る情報検索装置2は、直接的に位置情報を示す単語が検索フレーズに含まれていなくとも、機械学習により、検索フレーズに含まれる単語から間接的に位置情報を推定することができる。
カテゴリ判別部23は、検索フレーズのカテゴリを判別することができるように構成されている。カテゴリ判別部23は、情報処理端末1から送信される検索フレーズのカテゴリを判別する。カテゴリは、例えば、温泉、公園、美術館、神社、ライブ、ショッピング、アミューズメント、アウトドア、イベント、グルメ、ラーメン、山が挙げられる。カテ
ゴリは、適宜の種類に分けられている。カテゴリの種類は、例えば、300種類とすることができる。
カテゴリ判別部23は、検索フレーズを形態素解析している。カテゴリ判別部23は、検索フレーズに含まれる単語を得るために、検索フレーズを形態素解析する構成だけに限られない。カテゴリ判別部23は、例えば、位置情報取得部22、特徴語生成部24、検索部25、若しくは図示していない形態素解析部が検索フレーズを形態素解析した単語を入手する構成でもよい。カテゴリ判別部23は、形態素解析した単語を数値表現にした分散表現を行ってもよい。カテゴリ判別部23は、形態素解析した単語の活用形をまとめてもよい。
カテゴリ判別部23は、検索フレーズに含まれる単語がカテゴリを表すカテゴリ名の場合、カテゴリ名と単語とが対応付いたカテゴリデータベースからカテゴリを直接的に判別することができる。カテゴリ判別部23は、例えば、検索フレーズを形態素解析により分解した単語を、検索記憶装置28に記憶されたカテゴリデータベースと比較する。カテゴリ判別部23は、検索フレーズを形態素解析により分解された単語がカテゴリデータベースのカテゴリ名と一致すれば、一致したカテゴリ名を検索記憶装置28に検索フレーズと対応させて記憶させればよい。以下では、検索フレーズに含まれる単語がカテゴリ名の場合、カテゴリデータベースからカテゴリの判別を行うことを、カテゴリの判定ともいう。すなわち、カテゴリ判別部23は、カテゴリの判定により、検索フレーズに含まれる単語がカテゴリ名の場合、カテゴリデータベースからカテゴリの判別を非機械学習で行うカテゴリ判定部231を備えているといえる。
カテゴリ判別部23は、検索フレーズに含まれる単語がカテゴリ名を含まない場合、機械学習により、検索語とカテゴリ名とが対応付いたカテゴリデータベースからカテゴリを推定することができる。カテゴリ判別部23は、例えば、機械学習により、検索フレーズを形態素解析により分解した単語を、その単語との類似度が高い検索語に置き換える。この場合、カテゴリ判別部23は、検索フレーズを形態素解析により分解した単語のうち、1つの単語をその単語と類似度の高い検索語に置き換えてもよいし、2つ以上の単語をそれらの単語と類似度の高い検索語に置き換えてもよい。また、カテゴリ判別部23は、例えば、2つ以上の単語から共起する共起語を抽出し、共起語から予めカテゴリごとにクラスタリングされた単語と高い類似度の検索語に置き換えてもよい。ここで、共起とは、検索フレーズに含まれている所定の単語が、検索フレーズ中などに別の単語と同時に出現することをいう。共起語とは、所定の単語と同時に出現する別の単語をいう。カテゴリは、分類によって使用される単語が異なる場合が多いため、カテゴリ判別部23は、入力と対応する出力が予め判明している教師データを用いた機械学習でカテゴリ判別を行うことが好ましい。
カテゴリ判別部23は、例えば、検索フレーズに形態素解析を行った上、予め記憶されている単語と共起語との類似度で、所望の検索語を選択することができる。所望の検索語は、カテゴリ名と一致するように設定されている。カテゴリ判別部23は、カテゴリ名と一致する検索語をカテゴリデータベースと比較する。カテゴリ判別部23は、検索語がカテゴリデータベースのカテゴリ名と一致すれば、一致したカテゴリ名が検索フレーズのカテゴリであると推定すればよい。すなわち、カテゴリ判別部23は、カテゴリの推定により、検索フレーズに含まれる単語と類似する検索語がカテゴリ名の場合、カテゴリデータベースからカテゴリの推定を機械学習で行うカテゴリ推定部232を備えているといえる。
カテゴリ判別部23は、情報処理端末1からの検索フレーズに含まれるカテゴリを示す単語、若しくは情報処理端末1からの検索フレーズに含まれる単語に基づいた検索語を利用して、カテゴリを判別することができる。
本実施形態に係る情報検索装置2では、検索フレーズから直接的にカテゴリを判別できない場合でも、検索フレーズに含まれる単語に基づいて間接的にカテゴリを判別することができる。情報検索装置2は、機械学習により、カテゴリを推定する場合、非機械学習でカテゴリを判定する場合と比較して、より精度よくカテゴリを判別することができる。
言い換えれば、本実施形態に係る情報検索装置2では、カテゴリ判別部23と、検索記憶装置28とを更に備えている。カテゴリ判別部23は、検索フレーズのカテゴリを判別する。検索記憶装置28には、カテゴリに対応する単語が記憶されている。カテゴリ判別部23は、カテゴリ判定部231と、カテゴリ推定部232とを有する。カテゴリ判定部231は、検索フレーズに含まれる単語が、予め検索記憶装置28に記憶された単語と一致するか否かによって、カテゴリを判別する。カテゴリ推定部232は、機械学習により、カテゴリ判定部231により判定されなかった検索フレーズに含まれる単語からカテゴリを推定する。
本実施形態に係る情報検索装置2は、直接的にカテゴリを示す単語が検索フレーズに含まれていなくとも、機械学習により、検索フレーズに含まれる単語から間接的にカテゴリを推定することができる。情報検索装置2は、カテゴリ判定部231とカテゴリ推定部232とを有することで、機械学習だけでカテゴリを判定する構成と比較して、より低い処理負荷でカテゴリを判定することができる。
特徴語生成部24は、検索対象を表す単語と関連する特徴語を生成することができるように構成されている。特徴語生成部24は、情報処理端末1から送信される検索フレーズから特徴語を生成する。特徴語生成部24は、検索フレーズから特徴語を生成するために、検索フレーズを形態素解析する。特徴語生成部24は、例えば、位置情報取得部22、カテゴリ判別部23、検索部25、若しくは図示していない形態素解析部が検索フレーズを形態素解析した単語を入手して、特徴語を生成する構成でもよい。特徴語生成部24は、形態素解析した単語を数値表現にした分散表現を行う。特徴語生成部24は、形態素解析した単語の活用形をまとめている。なお、上記「特徴語」は、1つの単語であってもよいし、複数の単語からなる群であってもよい。また、「特徴語の生成」には、特徴語を決定すること、あるいは特徴語を選択することも含まれる。
特徴語生成部24は、例えば、機械学習により、検索フレーズを形態素解析により分解された単語を、その単語との類似度が高い特徴語に置き換える。特徴語生成部24は、検索フレーズを形態素解析により分解された単語のうち、1つの単語を類似度の高い特徴語に置き換えてもよいし、2つ以上の単語をそれらの単語と類似度の高い特徴語に置き換えてもよい。特徴語生成部24は、機械学習により、検索フレーズに含まれる単語から、検索対象を表す単語と類似度のより高い特徴語を生成する。特徴語生成部24は、例えば、検索フレーズに形態素解析を行った上、予め記憶されている単語と特徴語との類似度で、所望の特徴語を選択することができる。より具体的には、特徴語生成部24は、特徴語の特徴ベクトルをコサイン類似で測定することにより、どのくらい離れているかを判別することができる。すなわち、特徴語生成部24は、特徴語の特徴ベクトルをコサイン類似で測定することにより、類似度を判別することができる。
特徴ベクトルは、例えば、形態素解析した単語を数値表現にしたデータを入力データとして、word2vecなどのアルゴリズムによって得ることができる。ここで用いるword2vecなどのアルゴリズムは、入力された単語の特徴ベクトルを出力できるように、機械学習済みとされている。コサイン類似は、2つのベクトルのコサインを計算し、コサインの値を類似度としている。コサイン類似は、ベクトル同士がなす角度の近さを表し、1に近ければ近いほどより類似している。コサイン類似は、0に近ければ近いほどより類似していないことを表している。特徴語生成部24は、類似度に応じた検索フレーズの統計データを算出してもよい。特徴語生成部24は、複数の特徴語のうち、統計データに基づいて頻度のより高い特徴語を優先して出力するように構成されていることが好ましい。
特徴語生成部24は、検索フレーズに含まれる単語から共起語を抽出する。この場合、特徴語生成部24は、共起語を特徴語としてもよく、検索部25は、特徴語から検索対象を検索してもよい。特徴語生成部24が共起語を利用することで、検索対象を表すのに一見無意味のように思われる、相関が付かない単語であっても、検索対象を有効に導き出すことができる。言い換えれば、特徴語生成部24は、より検索対象を表しやすい特徴ベクトルである特徴語を、特徴ベクトルから機械学習で生成している。
すなわち、特徴語生成部24は、検索対象を表す単語と関連する特徴語を、検索フレーズから生成する。本実施形態に係る情報検索装置2では、特徴語生成部24は、検索フレーズにおける名詞と形容詞と動詞と副詞とを含めた単語から、検索対象を表す単語と類似度のより高い特徴語を生成する。
情報検索装置2は、検索対象を表す単語と類似度のより高い特徴語を生成することで、さらに精度の高い検索対象を検出することができる。情報検索装置2は、特に、検索フレーズに含まれる単語が形容詞の場合、少なくとも形容詞を含む単語から特徴語を生成するので、主観的若しくは感情的な意味が含まれる検索対象を検索することができる。
検索部25は、蓄積データベースから検索対象を検索できるように構成されている。蓄積データベースには、特徴語がカテゴリごとに分類されている。検索対象は、特定の地点を示す地点情報を有している。特定の地点は、地図上における検索対象の位置を表している。地点情報は、例えば、経度の情報及び緯度の情報である。地点情報は、経度の情報及び緯度の情報に加え、高度の情報が含まれていてもよい。検索部25は、位置情報取得部22から位置情報を取得する。検索部25は、カテゴリ判別部23からカテゴリの情報を取得する。検索部25は、特徴語生成部24から特徴語を取得する。検索部25は、位置情報と、カテゴリと、特徴語とに基づいて、蓄積データベースから検索対象を検索する。検索部25が検索した検索対象は、上記位置情報が示す位置から所定の範囲、かつ判別されたカテゴリで、特徴語に対応している。言い換えれば、検索部25は、位置情報と、カテゴリと、特徴語とに基づいて、上記位置情報が示す位置から所定の範囲、かつ判別されたカテゴリで、特徴語に対応した検索対象を検索することができるように構成されている。
計時部26は、年、日、時を計時することができるように構成されている。計時部26は、例えば、CPUのクロック数をカウントすることで、計時できるように構成されればよい。計時部26は、例えば、情報処理端末1から検索フレーズを検索通信装置21が受信した日時及び時刻を特定することができる。計時部26は、検索通信装置21が受信した検索フレーズを、所定の期間ごとに弁別することができる。計時部26は、検索フレーズを受信した日時及び時刻を統計データと関連付けて、検索記憶装置28に記憶させることができる。
検索記憶装置28は、電源を切れば情報が消える揮発性記憶装置と、電源を切っても情報が消えない不揮発性記憶装置とを有している。揮発性記憶装置は、検索制御装置27により処理される情報を一時的に記憶する。揮発性記憶装置の一例としては、例えば、RAMが挙げられる。
不揮発性記憶装置は、位置情報取得プログラム、カテゴリ判別プログラム、特徴語生成プログラム、検索プログラム及び計時プログラムを記憶可能なストレージである。不揮発性記憶装置の一例としては、例えば、ROMが挙げられる。また、不揮発性記憶装置には、地名データベース、カテゴリデータベース、統計データ、若しくはシステム辞書が記憶されていてもよい。
本実施形態の情報検索システム10では、特徴語生成部24は、例えば、検索フレーズの内容が「夜景の綺麗なレストラン」の場合、形態素解析を用いて「夜景」、「綺麗」、「レストラン」の単語を取得する。特徴語生成部24は、「夜景」、「綺麗」、若しくは「レストラン」と共起する特徴語の類似度を機械学習で判定し、判定された特徴語に基づいて、検索部25が蓄積データベースから検索対象が曖昧な「レストラン」の地点情報を検索することができる。
情報蓄積装置3は、蓄積記憶装置31に加え、蓄積制御装置32と、蓄積通信装置33とを備えている。情報蓄積装置3は、例えば、データベースサーバにより構成される。
蓄積記憶装置31は、情報検索装置2が検索する検索対象を蓄積した蓄積データベースを記憶している。蓄積データベースでは、カテゴリごとに検索対象が分類されている。蓄積データベースでは、検索対象が特徴語と対応付いて蓄積されている。
蓄積記憶装置31は、電源を切れば情報が消える揮発性記憶装置と、電源を切っても情報が消えない不揮発性記憶装置とを有している。揮発性記憶装置は、蓄積制御装置32により処理される情報を一時的に記憶する。揮発性記憶装置は、例えば、RAMが挙げられる。不揮発性記憶装置は、各種の情報処理プログラム及び各種の情報を記憶可能なストレージである。不揮発性記憶装置は、例えば、ROMが挙げられる。不揮発性記憶装置は、蓄積データベースを記憶している。不揮発性記憶装置には、地図を示す地図情報及び地図情報に付加する地点情報が記憶されていてもよい。
蓄積制御装置32は、蓄積記憶装置31と、蓄積通信装置33と電気的に接続されている。蓄積制御装置32は、蓄積記憶装置31と、蓄積通信装置33とを制御できるように構成されている。蓄積制御装置32は、CPU若しくはMPUを用いて構成することができる。蓄積制御装置32は、例えば、予め蓄積記憶装置31に記憶されたプログラムに基づいて所定のプログラムを実装することができるように構成されている。
蓄積通信装置33は、情報検索装置2がアクセスできるように構成されている。蓄積通信装置33は、検索対象を検索するための情報を情報検索装置2から受信できるように構成されている。蓄積通信装置33は、検索対象の情報を情報検索装置2へ送信できるように構成されている。
また、情報蓄積装置3は、図示しない外部情報処理装置が提供するSNS(Social Networking Service)から蓄積データベースを構築できるように構成されてもよい。情報蓄積装置3は、外部情報処理装置が外部に公開した投稿記事情報に基づいて、情報検索装置2が検索フレーズから特徴語を生成するのと同様にして、生成した特徴語から蓄積データベースを構築することができる。投稿記事情報は、例えば、ユーザが外部情報処理装置へ投稿した投稿記事の情報である。
次に、本実施形態に係る情報検索システム10全体の動作について説明する。
まず、情報処理端末1と情報検索装置2との関係を説明する。本実施形態に係る情報検索システム10では、ユーザが情報処理端末1の入力装置11で検索フレーズを入力する。情報処理端末1は、検索フレーズを送信する指示が入力装置11で受け付けられた場合、端末通信装置12から検索フレーズを情報検索装置2に送信する。
また、情報処理端末1は、表示装置13に表示された地図上の位置をユーザが選択することで、選択された位置を示す位置情報を端末通信装置12から情報検索装置2に送信するように構成されてもよい。情報検索装置2では、情報処理端末1からの位置情報を受信した場合、位置情報を検索の地図上の起点とすることができる。
次に、情報処理端末1から検索フレーズを受信した情報検索装置2の動作について、図2を用いて説明する。以下では、図中の各ステップをSで表示する。
図2に示すフローチャートでは、情報検索装置2が行う工程のうち、情報検索装置2は、情報処理端末1から検索フレーズを受信する(S101)。情報検索装置2は、受信した検索フレーズを検索記憶装置28に記憶する。
情報検索装置2は、検索制御装置27にて動作制御する位置情報取得プログラムによって位置情報の取得を行う位置情報取得工程を行う(S102)。位置情報取得プログラムは、位置情報取得工程において、情報処理端末1から位置情報が送信された場合、位置情報を取得する。位置情報取得プログラムは、位置情報取得工程において、取得可能な位置情報がない場合、検索フレーズから位置情報を取得する。
次に、情報検索装置2は、検索制御装置27にて動作制御するカテゴリ判別プログラムによって、検索フレーズのカテゴリを判別するカテゴリ判別工程を行う(S103)。カテゴリ判別プログラムは、検索フレーズに地名を示す単語が含まれている場合、カテゴリデータベースからカテゴリ名を判定する。カテゴリ判別プログラムは、検索フレーズに地名を示す単語が含まれていない場合、機械学習により、検索フレーズから検索語を生成する。カテゴリ判別プログラムは、生成された検索語のうち、類似度の高い検索語に基づいてカテゴリデータベースからカテゴリ名を推定する。
続いて、情報検索装置2は、検索制御装置27にて動作制御する特徴語生成プログラムによって、検索フレーズから検索対象を表す単語と関連する特徴語を生成する特徴語生成工程を行う(S104)。
次に、情報検索装置2は、検索制御装置27にて動作制御する検索プログラムによって、蓄積データベースから検索対象を検索する検索の実行工程を行う(S105)。
最後に、情報検索装置2は、検索対象を検索すれば、終了してもよい。
本実施形態の情報検索システム10によれば、ユーザが曖昧なイメージに基づく検索フレーズを情報処理端末1に入力しても、情報検索装置2は、ユーザの主観語若しくは感情語による柔らかな検索を行うことができる。情報検索装置2は、例えば、「激辛ラーメン」という検索フレーズを入力しても、表示装置13に激辛ラーメンが食べられる可能性のあるお店の位置を、情報処理端末1の表示装置13で表示される地図上にラーメンのカテゴリに対応する色のマーカで表示させることができる。
すなわち、本実施形態の情報検索システム10では、情報処理端末1は、端末記憶装置15を更に備えている。端末記憶装置15には、地図情報が記憶されている。表示装置13は、検索対象を示す特定の地点を地図情報の地図に表示する。
本実施形態の情報検索システム10は、より精度の高い検索対象の地点を、地図に表示させることができる。
また、本実施形態の情報検索システム10では、特徴語生成部24は、検索フレーズの統計データを算出する。情報蓄積装置3は、情報処理端末1から予め設定した期間内に検索通信装置21が受信した検索フレーズと、統計データとを関連づけして、蓄積データベースに蓄積する。
本実施形態の情報検索システム10は、予め設定した期間内の検索フレーズに基づいて、より精度の高い検索対象を検出することができる。
さらに、本実施形態の情報検索システム10では、特徴語生成部24は、検索フレーズに含まれる単語から、検索対象を表す単語と類似度のより高い特徴語を生成する。特徴語生成部24は、統計データに基づいて、頻度のより高い特徴語を優先して出力するように構成されている。
本実施形態の情報検索システム10は、更に精度の高い検索対象を検出することができる。
なお、上述の実施形態の情報検索システム10では、情報処理端末1は、例えば、タッチパネルを備えた構成の場合、表示装置13に表示された地図を拡大若しくは縮小させて、検索するエリアとしてユーザが指定したい場所をタップすることで、位置情報を入力装置11へ入力させることができる。
また、情報処理端末1は、検索対象をマーカとして地図上に表すように、表示装置13で表示する。マーカは、例えば、中心にカテゴリを表すピクトグラムが表示されたバルーンが挙げられる。情報処理端末1は、例えば、カテゴリごとにマーカの色若しくは濃淡を変えて、マーカを含む地図を表示装置13に表示させてもよい。情報処理端末1は、例えば、検索フレーズに含まれる単語と、特徴語との類似度に応じて、マーカの大きさを変えて、マーカを含む地図を表示装置13に表示させてもよい。
さらに、上述の実施形態の情報検索システム10では、情報処理端末1がナビゲーション機能を有していてもよい。情報処理端末1は、ナビゲーション機能を有することで、表示装置13に表示した地図上の地点情報にユーザを誘導させることができる。ナビゲーション機能は、情報処理端末1の端末記憶装置15に記憶され端末制御装置14によって制御される。ナビゲーション機能は、情報検索装置2の検索記憶装置28に記憶され検索制御装置27によって制御されてもよい。情報検索システム10は、情報処理端末1の表示装置13において地図及びナビゲーションの表示が可能であれば、情報処理端末1と情報検索装置2とのどちらにナビゲーション機能が搭載されてもよい。
具体的には、情報検索装置2と情報処理端末1のいずれか一方の装置にナビゲーション機能を記憶させ、他方の装置によってナビゲーション機能を制御するように構成されてもよい。または、情報検索装置2と情報処理端末1の両方にナビゲーション機能を分割して記憶し、いずれか一方の装置、若しくは両方の装置が協動して、ナビゲーション機能を制御するように構成されてもよい。
上記実施形態の各処理、又は各機能の各々は、単一の装置又は単一のシステムにより集中処理されることで実現されてもよいし、複数の装置又は複数のシステムによって分散処理されることで実現されてもよい。また、上記実施形態の各構成要素は、専用のハードウェアにより構成されてもよい。上記実施形態の各構成要素は、ソフトウェアにより実現可能な構成要素について、プログラムを実行することによって実現されてもよい。
上記実施形態の各構成要素は、例えば、記録媒体に記録されたソフトウェアのプログラムをCPUが実行することによって実現されてもよい。プログラムは、サーバからダウンロードされることによって実行されてもよいし、所定の記録媒体に記録されたプログラムが読み出されることによって実行されてもよい。また、プログラムを実行するコンピュータは、単数であってもよいし、複数であってもよい。上記実施形態は、集中処理を行うように構成されてもよいし、分散処理を行うように構成されてもよい。
なお、本発明は、その精神や主旨又は主要な特徴から逸脱することなく、他のいろいろな形で実施することができる。上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈してはならない。すなわち、上記実施形態を例として、本発明は、情報検索装置、又は情報検索システムである。
〔実施形態のまとめ〕
(1:特徴語について)
以上説明した情報検索装置2によれば、検索制御装置27に含まれる各部の機能により、検索を行うユーザによって入力された検索フレーズが、ユーザの検索したいスポットを直接的に示すものでなかったとしても、妥当なスポットを検出してユーザに提示できる。ここで、スポットは、検索対象でもある。
具体的には、検索制御装置27には、特徴語生成部24と検索部25が含まれている。このうち、特徴語生成部24は、検索フレーズを形態素解析して得た単語から特徴語を生成する。以下、検索フレーズを形態素解析して得た単語は、入力語と呼ぶ場合もある。なお、本明細書では、特徴語に関して「生成」との語を「特定」、「判定」、「検出」、あるいは「選択」といった意味で用いている。
ここで、特徴語生成部24が生成する特徴語は、入力語との類似度が高い類似語であってもよいし、入力語の共起語であってもよ。特徴語生成部24が生成する特徴語は、類似語と、共起語の両方であってもよい。以下では、入力語との類似度が所定の閾値よりも高い語を、類似語と呼ぶ場合がある。
類似語を特徴語として用いる場合、特徴語生成部24は、入力語の特徴を示す特徴情報を生成する。特徴情報は、入力語の特徴を示すものであればよい。特徴情報は、例えば、入力語の特徴ベクトルであってもよい。特徴ベクトルは、word2vecの他、例えば、GloVe、WordNet、あるいはfastTextのアルゴリズムを用いることにより算出することができる。特徴語生成部24は、蓄積データベースにおいてスポットに対応付けられている各特徴語の特徴ベクトルと、算出した特徴ベクトルとの類似度を算出し、類似度が閾値以上の語を特定する。これにより、特徴語生成部24は、蓄積データベースにおいてスポットに対応付けられている特徴語のうち、入力語に類似した類似語を特定できる。なお、類似度を算出する手法は、特に限定されず、例えば、コサイン類似により算出することができる。
共起語を特徴語として用いる場合、特徴語生成部24は、入力語の共起語を特定する。共起語は、例えば、TF-IDF(Term Frequency-Inverse Document Frequency)により抽出できる。また、特徴語生成部24は、類似語の共起語を特徴語として用いてもよい。
そして、検索部25は、生成された特徴語を用いて、蓄積記憶装置31に記憶されている蓄積データベースを検索する。検索部25は、蓄積データベースを検索することで、蓄積データベースにおいて特徴語に対応付けられているスポットを検出する。なお、「スポット」とは、例えば、地点や場所、あるいは特定の地点や場所に設置されている建造物を意味する。蓄積データベースにおいて、各スポットそれぞれには、スポットの地理的位置を示す位置情報が対応付けられている。検索に用いる特徴語は、入力語の類似語または共起語であるから、検索フレーズが、ユーザが検索したいスポットを直接的に示すものでなかったとしても、妥当なスポットを検出してユーザに提示することができる。
なお、特徴語生成部24は、検索フレーズを形態素解析して得た単語のうち、所定の品詞の単語を特徴語生成の対象としてもよい。所定の品詞としては、例えば、名詞、形容詞、動詞、及び副詞であってもよい。これにより、有意な特徴語を生成し難い、例えば、接続詞、感動詞、助詞、助動詞といった品詞を除外して、妥当性の高い特徴語を生成することができる。
(2:位置情報について)
検索制御装置27には、位置情報取得部22が含まれていてもよい。位置情報取得部22は、ユーザが使用する情報処理端末1から受信した情報に基づいて、スポットの検索範囲を決める基準となる位置情報を取得する。検索部25は、取得された位置情報が示す位置を基準として所定の範囲を設定し、設定した範囲内のスポットを検出する。これにより、情報検索システム10は、検索を行うユーザが関心のある地域に絞ったスポットの検索ができる。
位置情報取得部22は、検索フレーズを形態素解析して得た単語から位置情報を取得してもよい。例えば、検索フレーズを形態素解析して得た単語に、位置を示す単語が含まれていれば、位置情報取得部22は、位置を示す単語と位置情報とが対応付けられた地名データベースを利用して位置情報を取得してもよい。なお、位置を示す単語としては、例えば、地名が挙げられる。
また、位置情報取得部22は、位置情報を特定するための位置情報データベースを用いて、位置情報を取得してもよい。位置情報データベースは、単語とその単語に対応する位置を示す位置情報とが対応付けられたデータベースである。位置情報取得部22は、位置情報データベースを用いて位置情報を取得する場合、検索フレーズを形態素解析して得た単語、単語の類似語、及び単語の共起語の少なくともいずれかを用いて位置情報データベースを検索する。これにより、位置情報取得部22は、検索フレーズを形態素解析して得た単語に関連する位置情報を取得することができる。なお、類似語や共起語は、機械学習済みのモデルを用いて特定すればよい。この場合、位置情報取得部22は、検索フレーズに含まれる単語から機械学習により推定した位置情報を取得することになる。
また、情報処理端末1は、自機の位置を示す位置情報を、例えば、GPS(Global Positioning System)を利用して取得し、取得した位置情報を情報検索装置2に送信してもよい。この場合、位置情報取得部22は、情報処理端末1から送信されたGPSを利用した位置情報を取得してもよい。情報検索システム10は、GPSを利用して取得した位置情報を用いることにより、情報処理端末1の現在地周辺のスポットを検出することもできる。
(3:カテゴリについて)
検索制御装置27には、カテゴリ判別部23が含まれていてもよい。カテゴリ判別部23には、カテゴリ判定部231及びカテゴリ推定部232が含まれていてもよい。カテゴリ判別部23は、検索フレーズを形態素解析して得た単語のカテゴリを判定する。また、この場合、蓄積データベースにおいては、各スポットにそのスポットのカテゴリを対応付けておく。これにより、検索部25は、検索フレーズに応じたスポットのうち、カテゴリ判別部23が判定したカテゴリのスポットを検出することができる。
カテゴリ判定部231は、例えば、単語とその単語に対応するカテゴリとを対応付けたカテゴリデータベースを用いることにより、検索フレーズを形態素解析して得た単語に対応するカテゴリを判定することができる。
カテゴリ推定部232は、機械学習済みのアルゴリズムを用いて、検索フレーズを形態素解析して得た単語に応じたカテゴリを特定する。上記アルゴリズムは、例えば、単語の特徴情報と、カテゴリとの対応関係を機械学習したものであってもよい。単語の特徴情報は、例えば、特徴ベクトルである。単語の特徴情報とカテゴリとの対応関係を機械学習したアルゴリズムを用いる場合、カテゴリ推定部232は、検索フレーズを形態素解析して得た単語の特徴情報を取得し、取得した特徴情報を上記アルゴリズムに入力することにより、カテゴリを特定することができる。また、カテゴリ推定部232は、検索フレーズを形態素解析して得た単語の類似語、及び検索フレーズを形態素解析して得た単語の共起語の少なくともいずれかを特定してもよい。カテゴリ推定部232は、特定した類似語及び共起語の少なくともいずれかを用いて上記カテゴリデータベースを検索することにより、カテゴリを特定してもよい。なお、類似語や共起語は、機械学習済みのモデルを用いて特定すればよい。この場合、カテゴリ推定部232は、検索フレーズに含まれる単語からそのカテゴリを機械学習により推定することになる。また、例えば、カテゴリ推定部232は、あるカテゴリに属する単語の特徴ベクトルと、検索フレーズを形態素解析して得た単語の特徴ベクトルとの類似度を算出してもよい。この場合、カテゴリ推定部232は、算出した類似度が所定の閾値以上であれば、検索フレーズを形態素解析して得た単語が、あるカテゴリに属すると判定する。
判定したカテゴリは、後述する重み付けの際に用いてもよい。判定したカテゴリは、検索部25の検索範囲を絞り込むために用いてもよい。検索部25は、検索範囲を絞り込むために用いる場合、蓄積データベースに蓄積されているスポットのうち、カテゴリ判別部23が判定したカテゴリに属するスポットを検索対象として、特徴語生成部24が生成した特徴語が対応付けられているスポットを検出する。例えば、検索フレーズに含まれる「風景」との単語のカテゴリをカテゴリ判別部23が「観光地」と判定した場合を考える。この場合、検索部25は、「風景」から生成された特徴語を用いて、蓄積データベースに蓄積されているスポットのうち「観光地」のカテゴリが対応付けられているスポットを検索する。これにより、情報検索システム10は、検索範囲を適切に絞り込んで、妥当な検索結果を迅速に得ることができる。
(4:検索における優先度について)
特徴語生成部24は、複数の特徴語を生成できる場合、複数の特徴語のうち、優先度の高い特徴語のみを生成してもよい。優先度は、例えば、情報検索システム10において、過去に検索に用いられた累積回数、過去の所定期間に検索に用いられた頻度、及び累積回数と使用頻度の両方または一方に基づいて算出した順位の少なくともいずれかであってもよい。例えば、特徴語生成部24は、特徴語として「景色」と「レストラン」を生成可能な場合に、「レストラン」の直近一週間の検索頻度が「景色」の直近一週間の検索頻度よりも高ければ、「レストラン」を特徴語としてもよい。
なお、特徴語生成部24は、予め設定した期間内に情報処理端末1から受信した検索フレーズを対象として、回数を示す情報、若しくは頻度を示す情報を算出して、統計データとして記憶しておけばよい。また、記憶した統計データは、情報処理端末1から受信した検索フレーズと関連付けしておく。
また、特徴語生成部24が複数の特徴語を生成した場合、検索部25は、複数の特徴語のうち、優先度の高い特徴語を用いて検索を行ってもよい。また、検索部25は、優先度の高い特徴語による検索結果を、優先度のより低い特徴語による検索結果よりも優先して出力してもよい。例えば、検索部25は、優先度の高い特徴語による検索結果から順に出力してもよい。また、統計データは、後述する重み付けに利用することもできる。
(5:蓄積データベースの構築)
情報蓄積装置3は、検索対象となるスポットに関連する各種情報を取得して、蓄積データベースを構築することができる。情報蓄積装置3は、例えば、SNSに投稿された記事から特徴語を生成してもよい。情報蓄積装置3は、例えば、スポットを紹介したウェブサイト、若しくはスポットの口コミ情報を掲載したサイトに投稿された記事から特徴語を生成してもよい。以下、SNSに投稿された記事、若しくはスポットの口コミ情報を掲載したサイトに投稿された記事をコメントともいう。また、ウェブサイトを、サイトと略称する場合がある。
情報蓄積装置3は、例えば、スポット「展望台X」についての口コミサイトに投稿された「眺望が最高」とのコメントを取得した場合、取得したコメントを形態素解析して、「眺望」、「最高」との単語を得る。次に、情報蓄積装置3は、形態素解析して得た単語の特徴ベクトルを算出し、算出した特徴ベクトルを用いて、各単語と特徴ベクトルが類似した特徴語を生成する。そして、情報蓄積装置3は、蓄積データベースにスポット「展望台X」を追加し、形態素解析によって得た単語と、その単語から生成した特徴語とを対応付けて記録する。なお、情報蓄積装置3は、蓄積データベースにスポット「展望台X」が既に記録されていれば、既に記録済みのスポットに、形態素解析によって得た単語と、その単語から生成した特徴語とを追加で対応付けて記録する。
情報蓄積装置3は、特徴語の代わりに、あるいは特徴語に加えて、共起語や、後述のクラスタを対応付けて記録してもよい。また、サイトでは、スポットが点数、若しくは星の数などによって評価されていることがある。情報蓄積装置3は、スポットが点数、若しくは星の数などによって評価されている場合、スポットの評価についても蓄積データベースに記録してもよい。この他にも、情報蓄積装置3は、例えば、サイトへのアクセス数、スポットのページへのアクセス数、スポットへのコメント数、コメントの投稿日時、サイト名についても、蓄積データベースに記録してもよい。なお、サイト名は、例えば、サービス名であってもよい。これらの情報は、例えば、スポットの重み付けに利用することができ、これにより例えば、情報検索システム10は、評価の高いスポットを優先して検索することもできる。
以上のように、情報蓄積装置3は、口コミ情報に基づいて蓄積データベースを拡充することができ、新たなスポットを検索できる。情報検索システム10は、実際にスポットを訪れた人の感想をベースにした検索を行うことを可能になる。情報検索システム10は、例えば、スポット「展望台X」についての「眺望が最高」とのコメントに基づいて特徴語を記録しておけば、「解放感が最高」のような曖昧な検索フレーズからスポット「展望台X」を検出することもできる。
また、情報検索システム10は、スポットに関連する情報に基づいて蓄積データベースを構築することにより、曖昧な検索フレーズが入力された場合であってもユーザの意に沿ったスポットを検出することができる。
〔クラスタを用いた検索〕
上記実施形態で説明したように、特徴語生成部24は、1つの単語を「特徴語」としてもよいし、複数の単語からなる語群を「特徴語」としてもよい。以下では後者の場合について図3に基づいて、より詳細に説明する。
複数の単語からなる語群を特徴語とする場合、蓄積データベースでは、単語の特徴を示す特徴情報が類似した複数の特徴語からなる特徴語群と検索対象であるスポットとが対応付けられている。特徴情報は、例えば、特徴ベクトルである。また、以下では、特徴語群をクラスタとも呼ぶ。検索フレーズが入力されると、特徴語生成部24は、入力された検索フレーズに含まれる単語の特徴情報に基づいて、当該単語に対応するクラスタを決定する。そして、検索部25は、特徴語生成部24が決定したクラスタに対応付けられているスポットを蓄積データベースから検出する。
この構成によれば、情報検索システム10は、スポットに直接対応付けられていない検索フレーズが入力された場合であっても、検索を行うユーザの意に沿った妥当なスポットを検出することができる。例えば、蓄積データベースにおいて、「風景」、「景観」といった類似した特徴語からなるクラスタAと、スポットAとが対応付けられていた場合に、「景色」との単語を含む検索フレーズが入力されたとする。この場合、情報検索システム10では、「景色」は、「風景」や「景観」と類似しているから、「景色」はクラスタAに属すると決定されるので、蓄積データベースからスポットAを検出することができる。なお、特徴情報が類似しているか否かについては、例えば、類似度が所定の閾値以上であるか否かにより判定できる。
また、情報検索システム10では、複数の単語からなる語群を特徴語とする場合、単語の特徴を示す特徴情報が類似した複数の特徴語からなるクラスタとカテゴリとが対応付けられたカテゴリデータベースを用いてもよい。この場合、カテゴリ判別部23は、検索フレーズに含まれる単語の特徴情報に基づいて決定されたクラスタに対応付けられているカテゴリを、カテゴリデータベースから検出する。この構成によれば、情報検索システム10は、カテゴリに直接対応付けられていない検索フレーズが入力された場合であっても、検索を行うユーザの意に沿った妥当なカテゴリを判定することができる。
以下では、図3のフローに従ったスポット検索の具体例を、図4から図6に基づいて説明する。なお、カテゴリデータベースとスポットデータベースは、蓄積データベースに対応している。また、図3の検索フレーズ及び位置情報の取得(S201、S202)については、図2と同様であるから説明を省略する。
S203では、特徴語生成部24は、検索フレーズを形態素解析して得た各単語の特徴ベクトルを算出する。図4には、例1として「景色がきれい」、例2として「景色 きれい」、例3として「風景 美しい」、例4として「楽しいデート」の4通りの検索フレーズが入力された例を示している。例えば、例1の検索フレーズが入力された場合、S203では、「景色がきれい」を形態素解析して得られた単語のうち、助詞である「が」を除いた「景色」と「きれい」について特徴ベクトルが算出される。図示の例では、n次元の特徴ベクトルを算出している。nは自然数であればよく、例えば、n=300としてもよい。
次に、特徴語生成部24は、検索フレーズを形態素解析して得た各単語のクラスタを決定する(S204)。具体的には、特徴語生成部24は、S203で算出した特徴ベクトルを、所定のクラスタリングモデルに入力することにより、当該特徴ベクトルに対応するクラスタ、すなわち検索フレーズを形態素解析して得た各単語のクラスタの出力を得る。例えば、図4の例では、「景色」と「風景」はいずれもクラスタIDが「15」のクラスタに属すると決定されている。また、「きれい」と「美しい」はいずれもクラスタIDが「8」のクラスタに属すると決定されている。なお、クラスタリングモデルは、単語の特徴ベクトルを入力データとして、その単語に対応するクラスタを出力するように機械学習されたモデルである。単語に対応するクラスタとは、その単語と特徴ベクトルが類似した特徴語を構成要素に含むクラスタである。クラスタリングモデルの生成方法については後述する。
次に、カテゴリ判別部23は、S204で決定されたクラスタに基づいて、検索フレーズを形態素解析して得た各単語のカテゴリを判定する(S205)。カテゴリの判定には、図5に示すような、クラスタIDと、特徴語と、重みと、カテゴリとが対応付けられたカテゴリデータベースを用いることができる。具体的には、まず、カテゴリ判別部23は、カテゴリデータベースからS204で決定されたクラスタが対応付けられているカテゴリを抽出する。例えば、図4の例1「景色がきれい」では、S204でクラスタはクラスタID「15」とクラスタID「8」であると判定されるから、図5のカテゴリデータベースを用いて、カテゴリ「名所・旧跡」と、カテゴリ「レストラン」が抽出される。
次に、カテゴリ判別部23は、検索フレーズを形態素解析して得た各単語と、その単語に対応するカテゴリの各特徴語との類似度を算出し、算出した類似度に重みを乗算する。なお、類似度の算出には、fastTextの単語間類似度推定モデルを用いてもよい。そして、算出した値をカテゴリ毎に合計し、その合計値の大きい順に上記抽出したカテゴリを順位づけする。以下、カテゴリ毎に合計した合計値を、スコアともいう。
例えば、図4の例1「景色がきれい」の場合、カテゴリ「名所・旧跡」に関して、検索フレーズを形態素解析して得た単語「景色」と、カテゴリデータベースに登録されている特徴語「風景」の類似度が算出される。単語「きれい」についても同様である。そして、算出された類似度に、カテゴリデータベースに登録されている重みが乗算される。例えば、単語「景色」と特徴語「風景」の類似度が0.8であり、単語「きれい」と特徴語「美しい」の類似度が0.7であったとすれば、カテゴリ「名所・旧跡」のスコアは下記のように算出される。
単語「景色」について:類似度「0.8」×重み「0.88」=0.704
単語「きれい」について:類似度「0.7」×重み「0.76」=0.532
カテゴリ「名所・旧跡」のスコア:0.704+0.532=1.236
言い換えれば、単語ごとに類似度の数値と重みの数値とを乗算し、乗算した値それぞれを加算してスコアを算出している。
なお、カテゴリデータベースにクラスタID「15」の特徴語が複数登録されていた場合には、各特徴語について上記と同様の類似度の算出を重みの乗算とを行う。クラスタID「8」についても同様である。そして、カテゴリ判別部23は、乗算によって得られた値をカテゴリ毎に合計してスコアを算出し、スコアの大きい順に抽出したカテゴリを順位づけする。
次に、検索部25は、S204で決定されたクラスタに基づいて、スポットの検索を行う(S206)。スポットの検索には、図6に示すような、クラスタIDと、特徴語と、重みと、スポットIDとが対応付けられたスポットデータベースを用いることができる。具体的には、まず、検索部25は、スポットデータベースからS204で決定されたクラスタが対応付けられているスポットを抽出する。例えば、図4の例1「景色がきれい」では、S204でクラスタはクラスタID「15」とクラスタID「8」であると決定されるから、図6のスポットデータベースからスポット「名所・旧跡」と、スポット「レストラン」が抽出される。
次に、検索部25は、検索フレーズを形態素解析して得た各単語と、その単語に対応するスポットの各特徴語との類似度を算出し、算出した類似度に重みを乗算する。なお、類似度の算出には、fastTextの単語間類似度推定モデルを用いてもよい。そして、算出した値をスポット毎に合計し、その合計値の大きい順に上記抽出したスポットを順位づけする。以下、算出した値をスポット毎に合計した合計値を、スコアともいう。
例えば、図4の例1「景色がきれい」の場合、抽出されたスポット「名所A」に関して、検索フレーズを形態素解析して得た単語「景色」と、スポットデータベースに登録されている特徴語「景観」の類似度が算出される。なお、単語「きれい」は、スポットデータベースに登録されている特徴語「きれい」と一致するから類似度は1となる。そして、算出した類似度に、スポットデータベースに登録されている重みが乗算される。例えば、単語「景色」と特徴語「景観」の類似度が0.9であれば、スポット「名所A」のスコアは下記のように算出される。
単語「景色」について:類似度「0.9」×重み「0.53」=0.477
単語「きれい」について:類似度「1.0」×重み「0.46」=0.46
スポット「名所A」のスコア:0.477+0.46=0.937
言い換えれば、単語ごとに類似度の数値と重みの数値とを乗算し、乗算した値それぞれを加算してスコアを算出している。
なお、スポットデータベースにクラスタID「15」の特徴語が複数登録されていた場合には、各特徴語について上記と同様の類似度の算出を重みの乗算とを行う。また、クラスタID「8」についても同様である。そして、乗算によって得られた値をスポット毎に合計し、その合計値であるスコアの大きい順に上記抽出したスポットを順位づけする。
次に、検索部25は、S205のカテゴリ判定結果を加味して、S206で検出したスポットについて、最終の順位付けを行う(S207)。検索部25は、例えば、S205のカテゴリ判定において、スコアが最も大きかったカテゴリに属するスポットを、S206で算出したスコアの大きい順に順位づけしてもよい。なお、各スポットがいずれのカテゴリに属するかは予め定めておく。
そして、検索部25は、スコアが最も大きかったカテゴリに属するスポットを全て順位づけした後、スコアが次に大きかったカテゴリに属するスポットを全て順位づけする、という処理を、検出された全スポットの順位が決まるまで繰り返してもよい。なお、検索部25は、所定の順位まで決定された段階で上記の繰り返し処理を終了してもよい。所定の順位としては、例えば、上位20位が挙げられる。
なお、カテゴリとスポットのスコアに基づく順位付けの方法は、上記の例に限られない。検索部25は、例えば、S206で検出した各スポットについて、そのスポットのスコアと、そのスポットが属するカテゴリのスコアの合計値を算出し、その合計値の順にスポットを順位づけしてもよい。この場合、カテゴリのスコアは、スポットのスコアの重み付けに用いられているといえる。また、S207の順位づけには、上述の統計データを加味してもよい。この場合、例えば、評価の高いスポットの順位が高くなるようにすることもできる。
最後に、検索通信装置21は、検索結果を情報処理端末1に通知する(S209)。これにより、情報処理端末1の端末制御装置14は、検索結果を表示装置13に表示させる。検索通信装置21は、表示装置13に検索結果を表示させる場合、検索結果のうちS208で決定された順位が上位の所定数のみを情報処理端末1に通知してもよい。上位の所定数としては、例えば、検索結果のうち上位10件が挙げられる。
また、検索通信装置21は、S208で決定された順位についても情報処理端末1に通知してもよい。この場合、端末制御装置14は、検索結果をその順位に応じた表示態様で表示装置13に表示させることができる。例えば、検索結果を地図上に表示させる場合、地図上において、順位が高いスポットほど大きいマーカを表示させてもよい。これにより、情報検索システム10は、検出されたスポットのうちいずれの妥当性が高いかをユーザに認識させることができる。
以上のように、情報検索システム10は、検索フレーズに対応するクラスタを決定し、決定したクラスタを用いてスポットを検索することにより、多様な検索フレーズから妥当なスポットを検出することができる。例えば、検索フレーズが図4の例1「景色がきれい」であっても、図4の例2「景色 きれい」であっても、図4の例3「風景 美しい」であっても、同様のスポットを検出することができる。また、検索フレーズが例1~例3と全く異なる図4の例4「楽しいデート」である場合、例1~例3とは異なるクラスタが決定され、それに応じて異なるスポットとして、例えば、アミューズメントパークFが検出される。
また、クラスタはカテゴリの特定に用いることもでき、カテゴリを特定することにより、そのカテゴリの範疇のスポットを検出することができる。さらに、スポットと特徴語の組み合わせ、あるいはカテゴリと特徴語の組み合わせについて、関連性の高い組み合わせほど大きい重みを設定しておくことにより、妥当性の高いスポットを優先して検出することができる。
(カテゴリ判定・スポット検索の変形例)
S205のカテゴリ判定では、検索フレーズを形態素解析して得た単語と、カテゴリデータベースに登録されている特徴語との類似度を算出しているが、この処理は省略することも可能である。この場合、S205では、カテゴリ判別部23は、カテゴリに対応付けられた各クラスタIDの重み値の和を算出し、その算出値を当該カテゴリのスコアとしてもよい。
同様に、S206のスポット検索においても類似度の算出は省略することが可能である。この場合、S206では、検索部25は、スポットに対応付けられた各クラスタIDの重み値の和を算出し、その算出値を当該カテゴリのスコアとしてもよい。
〔カテゴリデータベースとスポットデータベースの生成〕
(1:実現するための構成)
情報検索システム10は、カテゴリデータベースとスポットデータベースの生成機能を備えていてもよい。この機能を実現するための構成要素は、例えば、情報検索装置2や情報蓄積装置3に設けてもよい。また、情報検索システム10にこの機能を有する装置を別途追加してもよい。
以下では、情報蓄積装置3が、カテゴリデータベースとスポットデータベースの生成機能を備えている例を図7に基づいて説明する。図7は、情報蓄積装置3の要部構成の一例を示すブロック図である。図示のように、蓄積制御装置32には、クラスタリングモデル生成部321、特徴語抽出部322、クラスタ決定部323、スポットデータベース生成部324、カテゴリ分類部325、及びカテゴリデータベース生成部326が含まれる。以下では、データベースを、DBと省略することもある。これら各部の機能は、例えば、プログラムにより実現することもできる。また、カテゴリデータベースとスポットデータベースの生成には、所定のサイトに書き込まれた口コミ情報を用いる。また、1つの口コミには少なくとも1つの文が含まれているとする。ここで、所定のサイトは、複数のサイトであってもよいし、SNSであってもよい。また、以下では、口コミ情報を単に口コミと略称する場合がある。
クラスタリングモデル生成部321は、単語をクラスタリングするためのクラスタリングモデルを生成する。クラスタリングは、例えば、特徴ベクトルの類似度に基づいて行ってもよく、これにより大まかに類似した語群を1まとめのクラスタとして扱うことができる。なお、「大まかに類似した語群」は、大まかな類義語群ともいえる。単語の特徴ベクトルの算出には、例えば、fastTextのベクトル化モデルを利用してもよい。生成されたクラスタリングモデルは、図3のS204におけるクラスタの決定に用いられる。クラスタリングを行うことにより、クラスタ単位で検索を行うことができるので、検索を効率化し、検索を高速化することもできる。
特徴語抽出部322は、入力された文における特徴語を抽出する。特徴語の抽出には、例えば、共起語解析を利用することができる。具体的には、特徴語抽出部322は、入力された文を形態素解析することで得られた単語群に含まれる各単語について、TF-IDF値を算出する。そして、特徴語抽出部322は、算出したTF-IDF値によって、単語群に含まれる単語を順位づけし、上位に順位づけされた単語を特徴語として抽出する。また、TF-IDF値は特徴語の確からしさを示す数値であるから、特徴語抽出部322は、抽出した特徴語のTF-IDF値を特徴語の重み値とする。
クラスタ決定部323は、クラスタリングモデル生成部321が生成したクラスタリングモデルを用いて、特徴語抽出部322が抽出した特徴語のクラスタを決定する。決定されたクラスタは、特徴情報が類似した複数の特徴語を構成要素としたものとなる。
スポットDB生成部324は、スポットと、特徴語と、そのクラスタと、重み値とを対応付けて、図6に示すようなスポットデータベースを生成する。特徴語と重み値は、特徴語抽出部322によって抽出及び算出される。クラスタは、クラスタ決定部323によって、決定される。
カテゴリ分類部325は、入力された文を所定の複数のカテゴリに分類する。分類には、教師あり機械学習により構築した分類モデルを用いてもよい。分類モデルとしては、例えば、fastTextのテキスト分類モデルを用いてもよい。機械学習においては、カテゴリが既知の文を教師データとする。教師データは、例えば、所定のサイトに書き込まれた口コミのそれぞれについて、人手等によってカテゴリを対応付けされてもよい。
カテゴリDB生成部326は、カテゴリと、特徴語と、クラスタと、重み値とを対応付けて、図5に示すようなカテゴリデータベースを生成する。特徴語と重み値とは、特徴語抽出部322によって、抽出及び算出される。クラスタは、クラスタ決定部323によって、決定される。
(2:処理の流れ)
以下では、スポットデータベースを生成する処理の流れの例を、図8で説明する。クラスタリングモデル生成部321は、スポットデータベースの生成する処理を開始すると、クラスタリングモデルを生成する(S301)。例えば、クラスタリングモデル生成部321は、所定のサイトに書き込まれた口コミの全てを形態素解析して得られた全単語について特徴ベクトルを算出する。クラスタリングモデル生成部321は、算出した特徴ベクトルに基づいて、クラスタリングモデルを生成することができる。この場合、生成されるクラスタリングモデルは、入力された単語を、入力された単語の特徴ベクトルと特徴ベクトルが類似したクラスタに分類するモデルとなる。モデルの生成には、例えば、fastTextを利用することもできる。
次に、特徴語抽出部322は、各スポットの口コミから特徴語と重みを抽出する(S302)。特徴語と重みの抽出は、例えば、TF-IDF値を用いて行うことができる。なお、各口コミとスポットとの対応関係は、口コミがいずれのスポットについて書き込まれた口コミであるか等に応じて予め特定しておく。例えば、所定のサイトにおける名所Aを紹介するページに書き込まれた口コミであれば、名所Aと対応付けて記憶しておくことにより、特徴語抽出部322がその口コミを名所Aの口コミであると特定することができる。
次に、クラスタ決定部323は、S301で生成されたクラスタリングモデルを用いて、S302で抽出された特徴語のクラスタを決定する(S303)。S302の処理と、S303の処理により、各スポットについて書き込まれた口コミのそれぞれについて、特徴語と、重みと、クラスタが決定される。
次に、スポットDB生成部324は、決定された特徴語と重みとクラスタとを、スポットと対応付けてスポットデータベースに格納する(S304)。これにより、各スポットに対し、特徴語とクラスタと重みとが対応付けられたレコードがスポットデータベースに追加される。なお、スポットデータベースが未生成であれば、S304ではスポットデータベースが生成される。
続いて、カテゴリデータベースを生成する処理の例を図9に示すフローチャートで説明する。カテゴリ分類部325は、カテゴリデータベースを生成する処理を開始すると、所定のサイトに書き込まれた各口コミをカテゴリに分類する(S401)。
次に、特徴語抽出部322は、各カテゴリの口コミから特徴語と重みを抽出する(S402)。特徴語と重みの抽出は、例えば、TF-IDF値を用いて行うことができる。なお、S402では、S302で抽出した特徴語と重みを流用してもよい。
次に、クラスタ決定部323は、S301で生成されたクラスタリングモデルを用いて、S402で抽出された特徴語のクラスタを決定する(S403)。各カテゴリの口コミのそれぞれは、S302の処理とS403の処理とで、特徴語と、重みと、クラスタが決定される。
最後に、カテゴリDB生成部326は、決定された特徴語と重みとクラスタとを、対応するカテゴリと対応付けてカテゴリデータベースに格納する(S404)。これにより、各カテゴリに対し、特徴語とクラスタと重みとが対応付けられたレコードがカテゴリデータベースに追加される。なお、カテゴリデータベースが未生成であれば、S404ではカテゴリデータベースが生成される。
(3:まとめ)
以上のように、クラスタリングモデル生成部321は、口コミを形態素解析して得られた各単語について特徴ベクトルを算出し、算出した特徴ベクトルに基づいてクラスタリングモデルを生成する。生成されたクラスタリングモデルによれば、口コミと同様の表現を含む検索フレーズを、精度よくクラスタリングすることができる。また、クラスタリングモデルは、口コミのみから生成することもできる。
そして、構築したクラスタリングモデルと口コミを用いることにより、スポットデータベースと、カテゴリデータベースを生成することができる。スポットデータベースと、カテゴリデータベースは、口コミのみから生成することもできる。また、最新の口コミを随時取得することにより、これらのデータベースを拡充することもできる。そして、口コミには、スポットやカテゴリを評価、あるいは表現する際に使用される最新の用語が反映されるので、生成した各データベースを用いることにより、最新の用語を用いた検索にも対応することができる。
また、クラスタ決定部323がクラスタリングモデルを用いて特徴語のクラスタを決定し、スポットDB生成部324は、クラスタ決定部323が決定したクラスタとスポットとを対応付けて記憶する。これにより、検索部25は、スポットに直接対応付けられていない単語からなる検索フレーズが入力された場合であっても、単語に対応するクラスタを用いることにより、妥当なスポットを検出することができる。
同様に、カテゴリDB生成部326は、クラスタ決定部323が決定したクラスタとカテゴリ分類部325が分類したカテゴリとを対応付けて記憶する。これにより、カテゴリ判別部23は、カテゴリに直接対応付けられていない単語からなる検索フレーズが入力された場合であっても、単語に対応するクラスタを用いることにより、妥当なカテゴリを判定することができる。
さらに、特徴語抽出部322が特徴語を抽出すると共にその重みを算出し、スポットDB生成部324は、スポットとクラスタと特徴語と重みとを対応付けて記憶する。これにより、1つのクラスタに含まれる各特徴語は、スポットとの関連性の大きさが重みの値により特定可能となる。よって、検索部25は、検索フレーズに対応する特徴語と、スポットとの関連性の大きさに応じて、検索結果を順位付けすることができる。
同様に、カテゴリDB生成部326は、カテゴリとクラスタと特徴語と重みとを対応付けて記憶する。これにより、1つのカテゴリに対応付けられている各特徴語について、当該カテゴリとの関連性の大きさが重みの値により特定可能となる。よって、カテゴリ判別部23は、検索フレーズに対応する特徴語と、カテゴリとの関連性の大きさに応じて、カテゴリの判定結果を順位付けすることができる。
(再学習について)
検索において、教師あり機械学習で生成したモデルを用いる場合、検索の検索結果に応じた教師データを生成し、教師データにより再度機械学習を行って生成したモデルを更新してもよい。例えば、ある検索フレーズが入力されて、カテゴリの判定(S204)とスポットの検索(S206)が行われ、情報処理端末1に通知されたスポットのいずれかがユーザに選択されたとする。この場合、選択されたスポットはユーザの意に沿ったスポットであったと考えられる。よって、検索フレーズあるいは検索フレーズを構成する単語とその特徴ベクトルと、当該スポットまたはそのカテゴリとを対応付けて教師データとすることができる。例えば、検索フレーズと選択されたスポットのカテゴリとを対応付けることにより、カテゴリ分類部が使用する分類モデルを更新するための教師データとしてもよい。教師データを用いた再学習によって分類モデルを更新することにより、S401の分類精度を向上することができる。
〔カテゴリデータベースとスポットデータベースの生成の変形例〕
(1:実現するための構成)
以下では、図10に基づいて、図7とは異なるカテゴリデータベースとスポットデータベースの生成機能を情報蓄積装置3に備えた変形例を説明する。情報蓄積装置3には、蓄積記憶装置31と蓄積制御装置32と蓄積通信装置33とに加え、計時装置34を備えている。各部の機能は、例えば、プログラムにより実現することもできる。言い換えれば、図7に示す情報蓄積装置3と図10に示す情報蓄積装置3とは、計時装置34が蓄積制御装置32と接続されている以外は同様に構成されている。以下では、図7の説明と重複する説明を省略する。また、カテゴリデータベースとスポットデータベースの生成には、外部情報処理装置4の所定のサイトに投稿された投稿記事情報として、口コミ情報を用いている。情報蓄積装置3と外部情報処理装置4とは、例えば、公衆通信網50を介して、無線通信により接続される。図10では、公衆通信網50を介して、通信が行われる情報の流れを両矢印で例示している。
図10に示す情報蓄積装置3では、蓄積制御装置32が計時装置34と電気的に接続されている。蓄積制御装置32は、計時装置34から時刻情報を取得できるように構成されている。スポットDB生成部324は、スポットと特徴語とクラスタと重み値とに加え、時刻情報を対応付けて、スポットデータベースを生成する。カテゴリDB生成部326は、カテゴリと特徴語とクラスタと重み値とに加え、時刻情報を対応付けて、カテゴリデータベースを生成する。時刻情報は、例えば、計時装置34が計時した時刻の情報である。計時装置34は、情報検索装置2の計時部26と同様に、計時プログラムがコンピュータ上で実行されることにより、年、月、日、時を計時できるように構成されている。
(2:処理の流れ)
図11には、情報蓄積装置3が外部情報処理装置4から口コミ情報を取得した場合、スポットデータベース及びカテゴリデータベースを更新する処理の例を示している。情報蓄積装置3は、所定の期間間隔で、口コミを外部情報処理装置4から蓄積通信装置33が取得する(S111)。より具体的には、情報蓄積装置3は、SNSのWebAPIを介して、口コミ情報を収集する。
また、情報蓄積装置3は、取得した口コミ情報のうち、新規口コミを解析する。情報蓄積装置3は、新規口コミを解析するため、所定の期間内に書き込まれた新しい口コミか否かを弁別する。所定の期間は、例えば、計時装置34で計時した現在時刻から所定の時間遡った時刻とすればよい。次に、情報蓄積装置3は、機械学習により、新規口コミを解析する(S112)。新規口コミの解析は、図8及び図9の処理と同様にして行うことができる。
情報蓄積装置3は、新規口コミの解析を行った結果、新規スポットが所定の期間内で検出された回数をカウントしている。情報蓄積装置3は、予めスポットが登録されたスポットデータベース311と比較することで、口コミ情報から解析されたスポットが新規スポットか否かを判別できる。情報蓄積装置3は、新規スポットが検出された回数をカウントするため、新規スポットの検出回数を、図11に示す一時データベース312に保存する。情報蓄積装置3では、一時データベース312が、例えば、蓄積記憶装置31に記憶されていればよい。情報蓄積装置3は、新規スポットの検出回数が、予め決められた閾値回数、若しくは閾値回数よりも多ければ、スポットデータベース生成部324が新規スポットをスポットデータベース311に加える(S113)。スポットデータベース311は、例えば、蓄積記憶装置31に記憶されていればよい。
情報蓄積装置3は、所定の単位時間において、新規スポットの検出回数が予め決められた閾値回数よりも少なければ、スポットデータベース生成部324が新規スポットを一時データベース312から削除する(S114)。所定の単位時間は、所定の期間と同じであってもよいし、異なっていてもよい。
次に、情報蓄積装置3は、既存スポットに対する口コミ情報を解析する。情報蓄積装置3は、予めスポットが登録されたスポットデータベース311と比較することで、口コミ情報から解析されたスポットが既存スポットか否かを弁別する。情報蓄積装置3は、機械学習を用いて、既存スポットへの口コミを解析する(S115)。既存スポットへの口コミの解析は、図8及び図9の処理と同様にして行うことができる。
なお、情報蓄積装置3は、新規口コミのコメントを解析するステップと、既存スポットへの口コミを解析するステップとは、S112の新規解析ステップとS115の既存解析ステップの順番でなくともよく、既存解析ステップの後に新規解析ステップを行ってもよい。情報蓄積装置3では、新規口コミを解析する新規解析ステップと、既存スポットへの口コミを解析する既存解析ステップとを並行して行ってもよい。
(3:まとめ)
[その他の変形例]
以下では、情報処理端末1の変形例について、詳述する。情報処理端末1は、検索したい文字列を入力する検索ボックスにユーザが何か文字を入力すると、入力された文字に関連する検索フレーズを情報検索装置2が検索し、検索ボックスの下部に情報検索装置2で検索された検索結果の候補が表示されるように構成されている。
情報処理端末1は、ユーザの行きたい場所、あるいはユーザが行った場所にブックマークを付けることができるように構成されている。情報処理端末1では、ユーザが行ったかどうかを、チェックボックスにユーザがチェックすることで、チェックを付けた場所にユーザが行ったことにできる。ユーザがブックマークを付けたユーザの行きたい場所、あるいはユーザの行った場所は、レコメンドの基となる。情報処理端末1では、位置情報を利用して、ユーザが所定の場所に行ったことにしてもよい。
情報処理端末1は、ユーザがよく使うであろう定番ワードと、お勧めだろうというホットワードとが表示装置13に表示される。情報処理端末1は、情報処理端末1の検索ボックスにユーザが入力した検索フレーズに加え、定番ワードとホットワードとからも検索を行うことができるように構成されている。
情報処理端末1は、既存のスポットに新しいコメントがあれば、新しいコメントを反映するように構成されている。情報処理端末1は、情報検索装置2を介して情報蓄積装置3にアクセスし、情報蓄積装置3の所定の期間内におけるスポットを検出して、表示装置13に新スポットを表示させることができる。情報処理端末1は、図12に示すように、地図150上のアイコン151の右下に所定の基準値ごとにカウントをアップしたカウント値を表示装置13に表示させる。カウント値は、例えば、例えば、所定の数以上のユーザが口コミに好意的なコメントを残している場合、所定の基準値ごとにカウントをアップする数値である。情報処理端末1は、既存スポットか新スポットかを、アイコン151の色を変えて表示させてもよい。情報処理端末1は、例えば、アイコン151の左上に行きたいスポットを示すハートマーク153を図示してもよい。情報処理端末1は、例えば、アイコン151の右上にお勧めを示す星マーク154を図示してもよい。
情報処理端末1は、地図情報を予め端末記憶装置15に記憶する構成だけに限られない。情報処理端末1は、情報検索装置2から通信により地図情報が端末記憶装置15に記憶される構成でもよい。地図情報は、例えば、地形図、地勢図、地質図、土地利用図、住宅地図、路線図、道路地図、ガイドマップ、航空写真、衛星写真、若しくは古地図の情報を利用することができる。地図情報は、例えば、ラスタデータ、若しくはベクタデータであってもよい。
情報処理端末1は、ナビゲーション機能を備えていてもよい。情報処理端末1は、ナビゲーション機能を備える場合、経路上のチェックポイントに近づけばお勧めを地図上に表示するように構成されてもよい。チェックポイントは、例えば、ユーザにお勧めしたいPOIでもよいし、宝探しゲームにおける宝埋蔵スポット、電気自動車の充電ステーションでもよい。情報処理端末1は、複数のSNSから情報を入手する場合、複数のSNSのログインIDを紐づける別のIDを登録させてもよい。
以下では、情報検索装置2の変形例について詳述する。情報検索装置2では、SNS若しくはWebから収集した所定の期間中の口コミの中で頻出する単語を、検索履歴とホットワードと定番ワードのそれぞれで一番関連すると推定して検索フレーズを検索する。情報検索装置2は、検索履歴とホットワードと定番ワードの何れかの組合せを検索するように構成されてもよい。ホットワードは、単位時間当たりで統計処理されたワードである。ホットワードは、単位時間当たりで口コミに頻出したワードである。ホットワードは、単位時間当たりで統計処理されたワードに加え、検索地点から所定の範囲のスポットのワードも対象としてもよい。これにより、ホットワードには、地域のお祭りなどのイベントを含めることができる。言い換えれば、ホットワードは、ユーザにお勧めのワードであともいえる。定番ワードは、ユーザが頻繁に使うと推定されたワードである。
以下、話題性の高いスポットをホットスポットともいう。ホットスポットを検索する場合、情報検索装置2は、蓄積記憶装置31に記憶された蓄積データベースのうち、現在時刻から所定の期間内の情報から検索されているように構成されていればよい。
情報検索装置2は、ユーザが情報処理端末1を操作することにより、例えば、検索フレーズに加え、ホットスポット情報と、利用履歴情報とに基づいて、検索を行ってもよい。ホットスポット情報は、例えば、情報蓄積装置3の蓄積記憶装置31でスポットデータベース311に新たに登録された新スポットが挙げられる。利用履歴情報は、例えば、ユーザが過去に検索した検索履歴情報、ユーザが過去に登録した登録情報が挙げられる。言い換えれば、利用履歴情報は、ユーザが情報処理端末1を操作した操作履歴情報ともいえる。
情報検索装置2は、ユーザの利用履歴情報を用いて情報蓄積装置3から検索するため、検索された検索対象がユーザごとに最適化される。言い換えれば、情報検索装置2は、パラメータとして、ユーザの属性を示すユーザ属性情報を事前に多く情報蓄積装置3の蓄積記憶装置31に記憶されていなくとも、利用履歴を利用することで、ユーザに対してお勧めするワードを提供することができるように構成されている。情報検索装置2は、情報処理端末1が衛星測位システムであるGPSの他、公衆通信の基地局から位置情報を取得するセンサから取得した位置情報を取得してもよい。情報検索装置2は、情報蓄積装置3の蓄積記憶装置31に新スポットが登録された場合、情報処理端末1の表示装置13でホットスポットを表示できるように、情報処理端末1の端末通信装置12へプッシュ通知することができるように構成されてもよい。
以下では、情報蓄積装置3の変形例について詳述する。情報蓄積装置3は、複数の外部情報処理装置4から口コミ情報を取得してもよい。情報蓄積装置3は、口コミを解析する場合、口コミ情報から予め日本語のみを抽出するか、スペース若しくは記号を削除することができるように構成されていることが好ましい。口コミは、正確な日本語になっていない場合も多い。また、口コミには、記号が含まれている場合もある。口コミ情報は、口コミが正確な日本語になっていない場合、若しくは記号が含まれている場合、所望の形態素解析ができない虞もある。情報蓄積装置3は、口コミを解析する場合、口コミ情報から予め日本語のみを抽出するか、スペース若しくは記号を削除することで、より正確な検索を行うことができる。
情報蓄積装置3は、例えば、所定の数以上のユーザが口コミに好意的なコメントを残している場合、所定の基準値ごとにカウントをアップしたカウント数が所定のカウント数より大きい数となれば、新スポットとしてスポットデータベース311に登録するように構成されている。情報蓄積装置3は、登録した新スポットが、例えば、カフェ、レストラン、若しくは景観かのカテゴリを判別する。情報蓄積装置3は、新スポットを判別したカテゴリと共にカテゴリデータベースに登録する。言い換えれば、情報蓄積装置3は、ホットワード、若しくは定番ワードを、蓄積記憶装置31に記憶している。
以上より情報検索システム10は、ユーザが以前に行った「とんこつラーメン屋」の名前が分からなくとも、検索ボックスに「ラーメン」をユーザが入力すると、ユーザ個人に紐づいた利用履歴情報を利用して、「とんこつラーメン屋の名前」を検索することができる。
また、情報検索システム10は、情報処理端末1を交換してユーザの検索履歴が情報処理端末1からなくなっても、情報検索装置2または情報蓄積装置3に登録された利用履歴情報などから交換した情報処理端末1で同様の検索を行うことができる。
情報検索システム10の情報蓄積装置3は、ユーザの行きたい場所のリスト、あるいは行った場所のリストと、検索結果を詳細な画面にまで踏み込んで見たという検索履歴とに基づいて、ユーザが何に興味があるのかのユーザごとの検索種をつくる。情報検索装置2は、ユーザの検索種と、類似する種の他のユーザを機械学習で判別することができる。情報処理端末1は、他のユーザが行った他のスポットのレコメンドを検索したユーザに対して行うことができる。すなわち、情報検索システム10は、例えば、ユーザの使用頻度が高くなれば、ユーザの行きたい場所のリスト、あるいは行った場所のリストと、検索結果を詳細な画面にまで踏み込んで見たという検索履歴とに基づいて、ユーザにお勧めの場所をレコメンドできるように構成される。
情報検索システム10は、例えば、「今日、ランチに行った○○が美味しかった」などSNSで追加された口コミから何かをお勧めしている有効なコメントであるかを機械学習で判断し、お勧めしている有効なコメントの場合、情報処理端末1は、表示装置13に表示した地図上にお勧めの場所を出力する。言い換えれば、情報蓄積装置3は、機械学習により、SNSの口コミから新しく皆にお勧めしているポジティブなコメントを選別し、そのコメントに関するスポットを地図上に表示している。