(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-24
(45)【発行日】2022-12-02
(54)【発明の名称】プログラム
(51)【国際特許分類】
G06F 16/29 20190101AFI20221125BHJP
G06F 16/907 20190101ALI20221125BHJP
G06F 16/903 20190101ALI20221125BHJP
G06F 16/909 20190101ALI20221125BHJP
【FI】
G06F16/29
G06F16/907
G06F16/903
G06F16/909
(21)【出願番号】P 2020169393
(22)【出願日】2020-10-06
(62)【分割の表示】P 2018136981の分割
【原出願日】2018-07-20
【審査請求日】2021-07-19
(31)【優先権主張番号】P 2018033303
(32)【優先日】2018-02-27
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】504050275
【氏名又は名称】株式会社 ミックウェア
(72)【発明者】
【氏名】吉川 澄人
【審査官】松尾 真人
(56)【参考文献】
【文献】特開2016-091535(JP,A)
【文献】特開2008-310626(JP,A)
【文献】特開2016-126567(JP,A)
【文献】特開2015-026135(JP,A)
【文献】特開2009-237750(JP,A)
【文献】特開2003-173334(JP,A)
【文献】特開2012-146264(JP,A)
【文献】米国特許第08713004(US,B1)
【文献】山本 浩生,sui-sei:消費者インサイトをリアルタイムに捉えるためのECサイト向け高速検索エンジンサービス,第27回全国大会論文集 [CD-ROM] 2013年度 人工知能学会全国大会(第27回)論文集,社団法人人工知能学会,2013年06月07日,2N5-OS-21b-1
【文献】羽田野 真由美,行動トピックベクトルと地域語特徴を用いた検索キーワードに対する行動タイプ付与,FIT2014 第13回情報科学技術フォーラム 講演論文集 第2分冊 査読付き論文・一般論文 データベース 自然言語・音声・音楽 人工知能・ゲーム 生体情報科学,一般社団法人電子情報通信学会 一般社団法人情報処理学会,2014年08月19日,pp.23~30,RD-005
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
コンピュータを情報検索装置として、地理的位置を示す位置情報が対応付けられた、
カテゴリに属するスポットを検索させるためのプログラムであって、
検索フレーズを取得する取得工程と、
前記位置情報を取得する位置情報取得工程と、
前記検索フレーズを形態素解析して得た各単語の特徴ベクトルを算出する算出工程と、
各前記単語について算出した各前記特徴ベクトルと類似度が高い特徴語が含まれる各クラスタを決定する決定工程と、
各前記クラスタと、前記特徴語と、第1重み係数と、
前記カテゴリとを対応付けたカテゴリデータベースから、決定した各前記クラスタに対応する各前記カテゴリを判別する判別工程と、
各前記クラスタと、前記特徴語と、第2重み係数と、前記スポットとを対応付けたスポットデータベースから、決定した各前記クラスタに対応し、取得した前記位置情報が示す位置から所定の範囲に含まれる各前記スポットを検索する検索工程と、
各前記単語と、各前記カテゴリの前記特徴語との
前記類似度を算出し、算出した前記類似度と前記第1重み係数とを乗算して得られる第1スコアに基いて、前記第1スコアが大きい順に各前記カテゴリを順位づけし、各前記単語と、各前記スポットの前記特徴語との
前記類似度を算出し、算出した前記類似度と前記第2重み係数とを乗算して得られる第2スコアに基いて、前記第2スコアが大きい順に各前記スポットを各前記カテゴリ内で順位づけする順位づけ工程と、をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報検索装置及び情報検索システムに関し、特に、検索フレーズに基づいて、特定の地点を表す検索対象を検索する情報検索装置及び情報検索システムに関する。
【背景技術】
【0002】
従来、地図検索において、座標情報を明示的に登録しているデータだけでなく、非定型データの内容に含まれる情報を対象として地図検索することができる情報検索装置が知られている(特許文献1)。
【0003】
特許文献1の情報検索装置では、属性を有する単語が複数含まれるデータを入力し、入力したデータに含まれる複数の単語を抽出し、複数の単語を属性毎に抽出した属性関連単語を変換した属性情報が付加されたデータを用いて検索している。
【0004】
特許文献1の情報検索装置は、例えば、位置の属性に関する「北海道」という単語の場合、「北海道」の座標情報が非定型データに付加されているので、利用者により入力された検索キーワードに基づいて、所定の検索結果を出力することができる、としている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1の情報検索装置の構成では、属性を有する単語でなければ検索結果を出力できず、より精度の高い検索対象を検索フレーズから検出することができない。
【0007】
本発明の目的は、より精度の高い検索対象を検出することにある。
【課題を解決するための手段】
【0008】
本開示の第一態様に係る情報検索装置は、位置情報取得部と、特徴語生成部と、検索部とを備えている。上記位置情報取得部は、位置情報を取得する。上記位置情報は、検索の起点となる地図上の位置を示す。上記特徴語生成部は、特徴語を検索フレーズから生成する。上記特徴語は、検索対象を表す単語と関連している。上記検索部は、蓄積データベースから上記検索対象を検索する。上記蓄積データベースは、上記特徴語と上記検索対象とを蓄積している。上記検索対象は、上記特徴語に対応している。上記検索対象は、地点情報を有している。上記地点情報は、特定の地点を示す。上記検索部は、上記位置情報と、上記特徴語とに基づいて、上記位置から所定の範囲で、上記特徴語に対応した上記検索対象を検索する。
【0009】
第一態様の情報検索装置は、より精度の高い検索対象を検出することができる。
【0010】
本開示の第二態様に係る情報検索装置では、上記位置情報取得部は、上記位置情報を取得する。上記位置情報は、機械学習により、上記検索フレーズに含まれる単語から推定される。
【0011】
第二態様の情報検索装置は、機械学習により、位置情報を推定することができる。第二
態様の情報検索装置は、直接的に位置情報を示す単語が検索フレーズに含まれていなくとも、検索フレーズに含まれる単語から間接的に位置情報を推定することができる。
【0012】
本開示の第三態様に係る情報検索装置では、カテゴリ判別部と、検索記憶装置とを更に備えている。上記カテゴリ判別部は、上記検索フレーズのカテゴリを判別する。上記検索記憶装置は、上記カテゴリに対応する単語が記憶されている。上記蓄積データベースは、上記特徴語が上記カテゴリごとに分類されている。上記カテゴリ判別部は、カテゴリ判定部と、カテゴリ推定部とを有する。上記カテゴリ判定部は、上記検索フレーズに含まれる単語が、予め上記検索記憶装置に記憶された単語と一致するか否かによって、上記カテゴリを判別する。上記カテゴリ推定部は、機械学習により、上記カテゴリ判定部により判定されなかった上記検索フレーズに含まれる単語から上記カテゴリを推定する。上記検索部は、上記位置情報と、上記カテゴリと、上記特徴語とに基づいて、上記位置から所定の範囲、かつ判別された上記カテゴリで、上記特徴語に対応した上記検索対象を検索する。
【0013】
第三態様の情報検索装置は、機械学習により、カテゴリを推定することができる。第三態様の情報検索装置は、直接的にカテゴリを示す単語が検索フレーズに含まれていなくとも、検索フレーズに含まれる単語から間接的にカテゴリを推定することができる。
【0014】
本開示の第四態様に係る情報検索装置では、上記特徴語生成部は、上記検索フレーズにおける名詞と形容詞と動詞と副詞とを含めた単語から、上記検索対象を表す単語と類似度のより高い特徴語を生成する。
【0015】
第四態様の情報検索装置は、上記検索対象を表す単語と類似度のより高い特徴語を生成することで、さらに精度の高い検索対象を検出することができる。
【0016】
本開示の第五態様に係る情報検索システムは、情報処理端末と、情報検索装置と、情報蓄積装置とを備えている。上記情報検索装置は、上記情報処理端末と通信可能なように構成されている。上記情報蓄積装置は、上記情報検索装置がアクセス可能なように構成されている。上記情報処理端末は、入力装置と、端末通信装置と、表示装置とを備えている。上記入力装置は、検索フレーズが入力できるように構成されている。上記端末通信装置は、上記検索フレーズを、上記情報検索装置に送信することができるように構成されている。上記端末通信装置は、上記検索フレーズに基づいて検索された検索対象を、上記情報検索装置から受信することができるように構成されている。上記表示装置は、上記検索対象を表示することができるように構成されている。
【0017】
上記情報検索装置は、検索通信装置と、位置情報取得部と、特徴語生成部と、検索部とを備えている。上記検索通信装置は、上記情報処理端末からの上記検索フレーズを受信することができるように構成されている。上記検索通信装置は、上記検索対象を送信することができるように構成されている。上記位置情報取得部は、位置情報を取得することができるように構成されている。上記位置情報は、検索の起点となる地図上の位置を示す。上記特徴語生成部は、特徴語を上記検索フレーズから生成する。上記特徴語は、上記検索対象を表す単語と関連している。上記検索部は、蓄積データベースから上記検索対象を検索することができるように構成されている。
【0018】
上記検索対象は、地点情報を有している。上記地点情報は、特定の地点を示す。上記検索部は、上記位置情報と、上記特徴語とに基づいて、上記位置から所定の範囲で、上記特徴語に対応した上記検索対象を検索することができるように構成されている。上記情報蓄積装置は、蓄積記憶装置を備える。上記蓄積記憶装置は、上記蓄積データベースを記憶する。上記蓄積データベースは、上記特徴語と、上記検索対象とを蓄積している。上記検索対象は、上記特徴語に対応している。
【0019】
第五態様の情報検索システムは、より精度の高い検索対象を検出することができる。
【0020】
本開示の第六態様に係る情報検索システムでは、上記情報処理端末は、端末記憶装置を更に備えている。上記端末記憶装置には、地図情報が記憶される。上記表示装置は、上記検索対象を示す上記特定の地点を上記地図情報の地図に表示する。
【0021】
第六態様の情報検索システムは、より精度の高い検索対象の地点を地図に表示させることができる。
【0022】
本開示の第七態様に係る情報検索システムでは、上記特徴語生成部は、上記検索フレーズの統計データを算出する。上記情報蓄積装置は、上記情報処理端末から予め設定した期間内に上記検索通信装置が受信した上記検索フレーズと、上記統計データとを関連づけして、上記蓄積データベースに蓄積する。
【0023】
第七態様の情報検索システムは、予め設定した期間内の検索フレーズに基づいて、より精度の高い検索対象を検出することができる。
【0024】
本開示の第八態様に係る情報検索システムでは、上記特徴語生成部は、上記検索フレーズに含まれる単語から、上記検索対象を表す単語と類似度のより高い上記特徴語を生成する。上記特徴語生成部は、上記統計データに基づいて、頻度のより高い上記特徴語を優先して出力する。
【0025】
第八態様の情報検索システムは、更に精度の高い検索対象を検出することができる。
【発明の効果】
【0026】
本発明によれば、より精度の高い検索対象を検出することができる。
【図面の簡単な説明】
【0027】
【
図1】本実施形態に係る情報検索システムの概略構成図である。
【
図2】本実施形態に係る情報検索システムの処理動作を示すフローチャート図である。
【
図3】クラスタに基づいてスポットを検索する処理の一例を示すフローチャート図である。
【
図4】検索フレーズからクラスタを決定した具体例を示す図である。
【
図5】カテゴリデータベースに格納されているデータテーブルの一例を示す図である。
【
図6】スポットデータベースに格納されているデータテーブルの一例を示す図である。
【
図7】情報蓄積装置の要部構成の一例を示すブロック図である。
【
図8】スポットデータベースを生成する処理の例を示すフローチャート図である。
【
図9】カテゴリデータベースを生成する処理の例を示すフローチャート図である。
【発明を実施するための形態】
【0028】
以下、本実施形態の情報検索システム10について説明する。情報検索システム10は、
図1に示すように、情報処理端末1と、情報検索装置2と、情報蓄積装置3とを備えている。情報検索装置2は、情報処理端末1と通信可能なように構成されている。情報蓄積装置3は、情報検索装置2がアクセス可能なように構成されている。
【0029】
情報処理端末1は、入力装置11と、端末通信装置12と、表示装置13とを備えてい
る。入力装置11は、検索フレーズが入力できるように構成されている。端末通信装置12は、検索フレーズを、情報検索装置2に送信することができるように構成されている。端末通信装置12は、検索フレーズに基づいて検索された検索対象を、情報検索装置2から受信することができるように構成されている。表示装置13は、検索対象を表示することができるように構成されている。
【0030】
情報検索装置2は、検索通信装置21と、位置情報取得部22と、特徴語生成部24と、検索部25とを備えている。検索通信装置21は、情報処理端末1からの検索フレーズを受信することができるように構成されている。検索通信装置21は、検索対象を送信することができるように構成されている。位置情報取得部22は、位置情報を取得することができるように構成されている。位置情報は、検索の起点となる地図上の位置を示す。特徴語生成部24は、特徴語を検索フレーズから生成する。特徴語は、検索対象を表す単語と関連している。検索部25は、蓄積データベースから検索対象を検索することができるように構成されている。
【0031】
検索対象は、地点情報を有している。地点情報は、特定の地点を示す。検索部25は、位置情報と、特徴語とに基づいて、位置から所定の範囲で、特徴語に対応した検索対象を検索することができるように構成されている。
【0032】
情報蓄積装置3は、蓄積記憶装置31を備える。蓄積記憶装置31は、蓄積データベースを記憶する。蓄積データベースは、特徴語と、検索対象とを蓄積している。検索対象は、特徴語に対応している。
【0033】
本実施形態の情報検索システム10は、より精度の高い検索対象を検出することができる。
【0034】
以下、本実施形態の情報検索システム10における各構成を具体的に説明する。
【0035】
本実施形態に係る情報検索システム10では、ユーザが使用する情報処理端末1と、情報検索装置2とが通信できるように構成されている。情報処理端末1と情報検索装置2とは、例えば、公衆通信網50を介して、無線通信により接続される。
図1では、公衆通信網50を介して、通信が行われる情報の流れを両矢印で例示している。
【0036】
情報処理端末1は、
図1に示すように、入力装置11と端末通信装置12と表示装置13とに加え、端末制御装置14と、端末記憶装置15とを備えている。情報処理端末1は、ユーザが使用する端末機器である。端末機器は、例えば、携帯電話、若しくはスマートフォンが挙げられる。
【0037】
入力装置11は、検索フレーズが入力できるように構成されている。検索フレーズは、検索対象を検索するための言葉である。検索フレーズは、ユーザによって任意に入力された言葉でもある。検索フレーズは、単語、単語の組合せ、若しくは主語と述語を含んだ成文でもよい。入力装置11は、入力された検索フレーズを端末通信装置12から送信指示できるように構成されている。入力装置11は、例えば、表示装置13と一体的に構成されたタッチパネル、音声で入力が可能な音声入力装置、若しくは物理キーが挙げられる。入力装置11は、表示装置13と一体的に構成されたタッチパネルの構成に限定されるものではなく、単に入力部だけの構成であってもよい。
【0038】
端末通信装置12は、情報検索装置2と通信できるように構成されている。端末通信装置12は、検索フレーズの情報を送信する。端末通信装置12は、検索対象の情報を受信する。検索対象は、特定の地点を示す情報を有しているので、地点情報でもある。地点情
報は、POI(Point Of Interest)情報となる。具体的には、端末通信装置12は、公衆通信網50を用いて、情報検索装置2の検索通信装置21と通信ができるように構成されている。端末通信装置12は、公衆通信網50を利用した公衆通信だけでなく、例えば、有線通信ができるように構成されていてもよい。また、端末通信装置12は、赤外線通信、Wi-Fi(登録商標)、Bluetooth(登録商標)、若しくはBLE(Bluetooth Low Energy)の通信規格に対応した無線通信ができるように構成されてもよい。
【0039】
表示装置13は、各種の情報を表示することができるように構成されている。表示装置13は、例えば、検索フレーズを表示する。表示装置13は、地図を表示してもよい。表示装置13は、情報検索装置2で検索された検索対象の地点情報が示す地点を、地図に重ねて表示してもよい。表示装置13は、例えば、複数の地点情報を可視化して、端末記憶装置15に記憶した地図情報が示す地図に重ねて表示することができる。表示装置13は、入力装置11と一体的に構成されたタッチパネルの構成に限定されるものではなく、単に表示部だけの構成であってもよい。
【0040】
端末制御装置14は、各種の情報処理動作を制御する。端末制御装置14は、入力装置11と、端末通信装置12と、表示装置13と、端末記憶装置15と電気的に接続されている。端末制御装置14は、端末記憶装置15に記憶されたプログラムに基づいて、入力装置11と端末通信装置12と表示装置13とを制御できるように構成されている。端末制御装置14は、例えば、CPU(Central Processing Unit)若しくはMPU(Micro Processing Unit)で構成される。
【0041】
端末記憶装置15は、電源を切れば情報が消える揮発性記憶装置と、電源を切っても情報が消えない不揮発性記憶装置とを有している。揮発性記憶装置は、端末制御装置14により処理される情報を一時的に記憶する。揮発性記憶装置は、例えば、地図を示す地図情報及び地図情報に付加する地点情報が記憶される。揮発性記憶装置は、例えば、RAM(Random Access Memory)が挙げられる。不揮発性記憶装置は、各種の情報処理プログラム及び各種の情報が記憶可能なストレージである。不揮発性記憶装置は、例えば、ROM(Read Only Memory)が挙げられる。ROMは、例えば、フラッシュメモリ、若しくはHDD(Hard Disk Drive)が用いられる。
【0042】
情報検索装置2は、
図1に示すように、検索通信装置21と、検索制御装置27とを備えている。情報検索装置2は、検索通信装置21と検索制御装置27とに加え、検索記憶装置28を備えている。情報検索装置2は、例えば、サーバにより構成される。検索制御装置27は、位置情報取得部22と、カテゴリ判別部23と、特徴語生成部24と、検索部25と、計時部26とを有している。
【0043】
検索通信装置21は、情報処理端末1と通信できるように構成されている。検索通信装置21は、検索フレーズの情報を、情報処理端末1から受信できるように構成されている。検索通信装置21は、検索制御装置27で検索された検索対象の情報を、情報処理端末1に送信することができるように構成されている。即ち、検索通信装置21は、検索フレーズの情報を受信する。検索通信装置21は、検索対象の情報を送信する。具体的には、検索通信装置21は、公衆通信網50を用いて、情報処理端末1の端末通信装置12と通信ができるように構成されている。
【0044】
また、検索通信装置21は、情報蓄積装置3と通信できるように構成されている。検索通信装置21は、検索対象を検索するための情報を送信する。検索通信装置21は、検索した検索対象の情報を情報蓄積装置3から受信する。具体的には、検索通信装置21は、
公衆通信網50を用いて、情報蓄積装置3の蓄積通信装置33と通信ができるように構成されている。検索通信装置21は、公衆通信網50を利用した公衆通信だけでなく、例えば、有線通信ができるように構成されていてもよい。また、端末通信装置12は、赤外線通信、Wi-Fi(登録商標)、Bluetooth(登録商標)、若しくはBLEの通信規格に対応した無線通信ができるように構成されてもよい。
【0045】
検索制御装置27は、検索通信装置21と、検索記憶装置28と電気的に接続されている。検索制御装置27は、位置情報取得部22と、カテゴリ判別部23と、特徴語生成部24と、検索部25と、計時部26とが機能するように構成されている。検索制御装置27は、例えば、検索記憶装置28に記憶された位置情報取得プログラム、カテゴリ判別プログラム、特徴語生成プログラム、検索プログラム及び計時プログラムを動作させるように駆動する。検索制御装置27は、例えば、CPU若しくはMPUで構成される。
【0046】
位置情報取得プログラムは、コンピュータ上で実行されることにより、位置情報を取得する位置情報取得部22として機能する。カテゴリ判別プログラムは、コンピュータ上で実行することにより、検索フレーズのカテゴリを判別するカテゴリ判別部23として機能する。特徴語生成プログラムは、コンピュータ上で実行されることにより、特徴語を検索フレーズから生成する特徴語生成部24として機能する。検索プログラムは、コンピュータ上で実行されることにより、情報蓄積装置3に記憶された蓄積データベースから検索対象を検索する検索部25として機能する。計時プログラムは、コンピュータ上で実行されることにより、年、日、時を計時することが可能な計時部26として機能する。
【0047】
位置情報取得部22は、位置情報を取得する。位置情報は、例えば、経度の情報及び緯度の情報である。位置情報には、経度の情報及び緯度の情報に加え、高度の情報が含まれていてもよい。位置情報取得部22は、例えば、情報処理端末1から送信される位置情報を取得することができる。情報処理端末1から送信される位置情報としては、例えば、情報処理端末1の入力装置11で入力された位置情報が挙げられる。また、位置情報取得部22は、情報処理端末1から送信される検索フレーズから位置情報を取得することができる。
【0048】
検索フレーズは、テキストデータで構成されている。検索フレーズには、フレーズが含まれている。フレーズは、1つの単語でもよいし、複数の単語の集まりでもよい。フレーズは、成文であってもよい。検索フレーズは、テキストデータを機械的に扱える形式に変換される。検索フレーズは、形態素解析により、複数の単語単位に分解される。ここで、形態素解析は、検索フレーズを、自然言語で意味を持つ最小の単位に分類することができる。形態素解析では、分類した形態素の品詞情報を取得することもできる。形態素解析では、例えば、検索フレーズに含まれる単語が、名詞、形容詞、動詞若しくは副詞であるかどうかの情報を取得することもできる。
【0049】
形態素解析には、例えば、MeCab(メカブ)などの形態素解析エンジンを用いることができる。MeCabは、固有表現辞書と一緒に用いることができる。固有表現辞書としては、例えば、Neologdなどのシステム辞書が挙げられる。位置情報取得部22は、検索フレーズに含まれる単語を得るために、検索フレーズを形態素解析している。位置情報取得部22は、検索フレーズに含まれる単語を得るために、検索フレーズを形態素解析する構成だけに限られない。位置情報取得部22は、例えば、カテゴリ判別部23、特徴語生成部24、検索部25、若しくは図示していない形態素解析部が検索フレーズを形態素解析した単語を入手する構成でもよい。位置情報取得部22は、形態素解析した単語を数値表現にした分散表現を行ってもよい。位置情報取得部22は、形態素解析した単語の活用形をまとめてもよい。形態素解析した単語の活用形をまとめるためには、例えば、FastTextを用いてもよい。
【0050】
位置情報取得部22は、検索フレーズに含まれる単語が地名の場合、地名と位置情報とが対応付いた地名データベースから位置情報を取得することができる。位置情報取得部22は、例えば、検索フレーズを形態素解析により分解した単語を、検索記憶装置28に記憶された地名データベースと比較する。位置情報取得部22は、検索フレーズを形態素解析により分解した単語が地名データベースの地名と一致すれば、一致した地名に対応する位置情報を取得すればよい。
【0051】
地名データベースは、例えば、県、市、区、町、村若しくは施設の名称と、位置情報とが対応付いて構成されていればよい。ここでは、地名は、市区町村を表す名称だけでなく、施設の名称も含む。言い換えれば、地名は、地理的情報を示す名称である。地名データベースでは、例えば、県の名称と県庁の位置情報と、市の名称と市役所の位置情報と、区の名称と区役所の位置情報、町の名称と町役場の位置情報、村の名称と村役場の位置情報、施設の名称と施設の位置情報とが対応するように構成されている。以下では、検索フレーズに含まれる単語が地名の場合、地名と位置情報とが直接対応付いた地名データベースから位置情報を取得することを、非機械学習による位置情報の取得ともいう。位置情報取得部22は、非機械学習により、位置情報を取得する場合、データベースに含まれる単語と一致するか否かの硬い検索を行うことになる。
【0052】
位置情報取得部22は、検索フレーズに含まれる単語が地名を含まない場合、機械学習により、検索語と位置情報とが対応付いたデータベースから位置情報を取得することができる。位置情報取得部22は、例えば、機械学習により、検索フレーズを形態素解析により分解された単語と、類似度の高い検索語に置き換える。位置情報取得部22は、例えば、検索フレーズに形態素解析を行った上、予め記憶されている単語と検索語との類似度で、所望の検索語を選択することができる。位置情報取得部22は、検索語と位置情報とが対応付いた地名データベースと比較する。位置情報取得部22は、検索語が地名データベースの地名と一致すれば、一致した地名に対応する位置情報を取得すればよい。言い換えれば、位置情報取得部22は、地理的情報を示す地名から経度及び緯度の座標値に変換するジオコーディング技術を利用している。
【0053】
位置情報取得部22は、情報処理端末1からの位置情報、情報処理端末1からの検索フレーズに含まれる地名の単語、情報処理端末1からの検索フレーズに基づいた検索語の少なくとも1つを利用して、地図上の位置を示す位置情報を取得することができる。位置情報取得部22は、情報処理端末1からの情報を用いて、地図上の位置を示す位置情報を取得している。本実施形態に係る情報検索装置2では、情報処理端末1から直接的に位置情報を取得できない場合でも、間接的に位置情報を取得することができる。情報検索装置2は、機械学習だけで位置情報を取得する構成と比較して、より低い処理負荷で位置情報を取得することができる。
【0054】
即ち、本実施形態に係る情報検索装置2では、位置情報取得部22は、位置情報を取得する。位置情報は、機械学習により、検索フレーズに含まれる単語から推定される。
【0055】
本実施形態に係る情報検索装置2は、直接的に位置情報を示す単語が検索フレーズに含まれていなくとも、機械学習により、検索フレーズに含まれる単語から間接的に位置情報を推定することができる。
【0056】
カテゴリ判別部23は、検索フレーズのカテゴリを判別することができるように構成されている。カテゴリ判別部23は、情報処理端末1から送信される検索フレーズのカテゴリを判別する。カテゴリは、例えば、温泉、公園、美術館、神社、ライブ、ショッピング、アミューズメント、アウトドア、イベント、グルメ、ラーメン、山が挙げられる。カテゴリは、適宜の種類に分けられている。カテゴリの種類は、例えば、300種類とすることができる。
【0057】
カテゴリ判別部23は、検索フレーズを形態素解析している。カテゴリ判別部23は、検索フレーズに含まれる単語を得るために、検索フレーズを形態素解析する構成だけに限られない。カテゴリ判別部23は、例えば、位置情報取得部22、特徴語生成部24、検索部25、若しくは図示していない形態素解析部が検索フレーズを形態素解析した単語を入手する構成でもよい。カテゴリ判別部23は、形態素解析した単語を数値表現にした分散表現を行ってもよい。カテゴリ判別部23は、形態素解析した単語の活用形をまとめてもよい。
【0058】
カテゴリ判別部23は、検索フレーズに含まれる単語がカテゴリを表すカテゴリ名の場合、カテゴリ名と単語とが対応付いたカテゴリデータベースからカテゴリを直接的に判別することができる。カテゴリ判別部23は、例えば、検索フレーズを形態素解析により分解した単語を、検索記憶装置28に記憶されたカテゴリデータベースと比較する。カテゴリ判別部23は、検索フレーズを形態素解析により分解された単語がカテゴリデータベースのカテゴリ名と一致すれば、一致したカテゴリ名を検索記憶装置28に検索フレーズと対応させて記憶させればよい。以下では、検索フレーズに含まれる単語がカテゴリ名の場合、カテゴリデータベースからカテゴリの判別を行うことを、カテゴリの判定ともいう。すなわち、カテゴリ判別部23は、カテゴリの判定により、検索フレーズに含まれる単語がカテゴリ名の場合、カテゴリデータベースからカテゴリの判別を非機械学習で行うカテゴリ判定部231を備えているといえる。
【0059】
カテゴリ判別部23は、検索フレーズに含まれる単語がカテゴリ名を含まない場合、機械学習により、検索語とカテゴリ名とが対応付いたカテゴリデータベースからカテゴリを推定することができる。カテゴリ判別部23は、例えば、機械学習により、検索フレーズを形態素解析により分解した単語を、その単語との類似度が高い検索語に置き換える。この場合、カテゴリ判別部23は、検索フレーズを形態素解析により分解した単語のうち、1つの単語をその単語と類似度の高い検索語に置き換えてもよいし、2つ以上の単語をそれらの単語と類似度の高い検索語に置き換えてもよい。また、カテゴリ判別部23は、例えば、2つ以上の単語から共起する共起語を抽出し、共起語から予めカテゴリごとにクラスタリングされた単語と高い類似度の検索語に置き換えてもよい。ここで、共起とは、検索フレーズに含まれている所定の単語が、検索フレーズ中などに別の単語と同時に出現することをいう。共起語とは、所定の単語と同時に出現する別の単語をいう。カテゴリは、分類によって使用される単語が異なる場合が多いため、カテゴリ判別部23は、入力と対応する出力が予め判明している教師データを用いた機械学習でカテゴリ判別を行うことが好ましい。
【0060】
カテゴリ判別部23は、例えば、検索フレーズに形態素解析を行った上、予め記憶されている単語と共起語との類似度で、所望の検索語を選択することができる。所望の検索語は、カテゴリ名と一致するように設定されている。カテゴリ判別部23は、カテゴリ名と一致する検索語をカテゴリデータベースと比較する。カテゴリ判別部23は、検索語がカテゴリデータベースのカテゴリ名と一致すれば、一致したカテゴリ名が検索フレーズのカテゴリであると推定すればよい。すなわち、カテゴリ判別部23は、カテゴリの推定により、検索フレーズに含まれる単語と類似する検索語がカテゴリ名の場合、カテゴリデータベースからカテゴリの推定を機械学習で行うカテゴリ推定部232を備えているといえる。
【0061】
カテゴリ判別部23は、情報処理端末1からの検索フレーズに含まれるカテゴリを示す単語、若しくは情報処理端末1からの検索フレーズに含まれる単語に基づいた検索語を利
用して、カテゴリを判別することができる。
【0062】
本実施形態に係る情報検索装置2では、検索フレーズから直接的にカテゴリを判別できない場合でも、検索フレーズに含まれる単語に基づいて間接的にカテゴリを判別することができる。情報検索装置2は、機械学習により、カテゴリを推定する場合、非機械学習でカテゴリを判定する場合と比較して、より精度よくカテゴリを判別することができる。
【0063】
言い換えれば、本実施形態に係る情報検索装置2では、カテゴリ判別部23と、検索記憶装置28とを更に備えている。カテゴリ判別部23は、検索フレーズのカテゴリを判別する。検索記憶装置28には、カテゴリに対応する単語が記憶されている。カテゴリ判別部23は、カテゴリ判定部231と、カテゴリ推定部232とを有する。カテゴリ判定部231は、検索フレーズに含まれる単語が、予め検索記憶装置28に記憶された単語と一致するか否かによって、カテゴリを判別する。カテゴリ推定部232は、機械学習により、カテゴリ判定部231により判定されなかった検索フレーズに含まれる単語からカテゴリを推定する。
【0064】
本実施形態に係る情報検索装置2は、直接的にカテゴリを示す単語が検索フレーズに含まれていなくとも、機械学習により、検索フレーズに含まれる単語から間接的にカテゴリを推定することができる。情報検索装置2は、カテゴリ判定部231とカテゴリ推定部232とを有することで、機械学習だけでカテゴリを判定する構成と比較して、より低い処理負荷でカテゴリを判定することができる。
【0065】
特徴語生成部24は、検索対象を表す単語と関連する特徴語を生成することができるように構成されている。特徴語生成部24は、情報処理端末1から送信される検索フレーズから特徴語を生成する。特徴語生成部24は、検索フレーズから特徴語を生成するために、検索フレーズを形態素解析する。特徴語生成部24は、例えば、位置情報取得部22、カテゴリ判別部23、検索部25、若しくは図示していない形態素解析部が検索フレーズを形態素解析した単語を入手して、特徴語を生成する構成でもよい。特徴語生成部24は、形態素解析した単語を数値表現にした分散表現を行う。特徴語生成部24は、形態素解析した単語の活用形をまとめている。なお、上記「特徴語」は、1つの単語であってもよいし、複数の単語からなる群であってもよい。また、「特徴語の生成」には、特徴語を決定すること、あるいは特徴語を選択することも含まれる。
【0066】
特徴語生成部24は、例えば、機械学習により、検索フレーズを形態素解析により分解された単語を、その単語との類似度が高い特徴語に置き換える。特徴語生成部24は、検索フレーズを形態素解析により分解された単語のうち、1つの単語を類似度の高い特徴語に置き換えてもよいし、2つ以上の単語をそれらの単語と類似度の高い特徴語に置き換えてもよい。特徴語生成部24は、機械学習により、検索フレーズに含まれる単語から、検索対象を表す単語と類似度のより高い特徴語を生成する。特徴語生成部24は、例えば、検索フレーズに形態素解析を行った上、予め記憶されている単語と特徴語との類似度で、所望の特徴語を選択することができる。より具体的には、特徴語生成部24は、特徴語の特徴ベクトルをコサイン類似で測定することにより、どのくらい離れているかを判別することができる。すなわち、特徴語生成部24は、特徴語の特徴ベクトルをコサイン類似で測定することにより、類似度を判別することができる。
【0067】
特徴ベクトルは、例えば、形態素解析した単語を数値表現にしたデータを入力データとして、word2vecなどのアルゴリズムによって得ることができる。ここで用いるword2vecなどのアルゴリズムは、入力された単語の特徴ベクトルを出力できるように、機械学習済みとされている。コサイン類似は、2つのベクトルのコサインを計算し、コサインの値を類似度としている。コサイン類似は、ベクトル同士がなす角度の近さを表
し、1に近ければ近いほどより類似している。コサイン類似は、0に近ければ近いほどより類似していないことを表している。特徴語生成部24は、類似度に応じた検索フレーズの統計データを算出してもよい。特徴語生成部24は、複数の特徴語のうち、統計データに基づいて頻度のより高い特徴語を優先して出力するように構成されていることが好ましい。
【0068】
特徴語生成部24は、検索フレーズに含まれる単語から共起語を抽出する。この場合、特徴語生成部24は、共起語を特徴語としてもよく、検索部25は、特徴語から検索対象を検索してもよい。特徴語生成部24が共起語を利用することで、検索対象を表すのに一見無意味のように思われる、相関が付かない単語であっても、検索対象を有効に導き出すことができる。言い換えれば、特徴語生成部24は、より検索対象を表しやすい特徴ベクトルである特徴語を、特徴ベクトルから機械学習で生成している。
【0069】
すなわち、特徴語生成部24は、検索対象を表す単語と関連する特徴語を、検索フレーズから生成する。本実施形態に係る情報検索装置2では、特徴語生成部24は、検索フレーズにおける名詞と形容詞と動詞と副詞とを含めた単語から、検索対象を表す単語と類似度のより高い特徴語を生成する。
【0070】
情報検索装置2は、検索対象を表す単語と類似度のより高い特徴語を生成することで、さらに精度の高い検索対象を検出することができる。情報検索装置2は、特に、検索フレーズに含まれる単語が形容詞の場合、少なくとも形容詞を含む単語から特徴語を生成するので、主観的若しくは感情的な意味が含まれる検索対象を検索することができる。
【0071】
検索部25は、蓄積データベースから検索対象を検索できるように構成されている。蓄積データベースには、特徴語がカテゴリごとに分類されている。検索対象は、特定の地点を示す地点情報を有している。特定の地点は、地図上における検索対象の位置を表している。地点情報は、例えば、経度の情報及び緯度の情報である。地点情報は、経度の情報及び緯度の情報に加え、高度の情報が含まれていてもよい。検索部25は、位置情報取得部22から位置情報を取得する。検索部25は、カテゴリ判別部23からカテゴリの情報を取得する。検索部25は、特徴語生成部24から特徴語を取得する。検索部25は、位置情報と、カテゴリと、特徴語とに基づいて、蓄積データベースから検索対象を検索する。検索部25が検索した検索対象は、上記位置情報が示す位置から所定の範囲、かつ判別されたカテゴリで、特徴語に対応している。言い換えれば、検索部25は、位置情報と、カテゴリと、特徴語とに基づいて、上記位置情報が示す位置から所定の範囲、かつ判別されたカテゴリで、特徴語に対応した検索対象を検索することができるように構成されている。
【0072】
計時部26は、年、日、時を計時することができるように構成されている。計時部26は、例えば、CPUのクロック数をカウントすることで、計時できるように構成されればよい。計時部26は、例えば、情報処理端末1から検索フレーズを検索通信装置21が受信した日時及び時刻を特定することができる。計時部26は、検索通信装置21が受信した検索フレーズを、所定の期間ごとに弁別することができる。計時部26は、検索フレーズを受信した日時及び時刻を統計データと関連付けて、検索記憶装置28に記憶させることができる。
【0073】
検索記憶装置28は、電源を切れば情報が消える揮発性記憶装置と、電源を切っても情報が消えない不揮発性記憶装置とを有している。揮発性記憶装置は、検索制御装置27により処理される情報を一時的に記憶する。揮発性記憶装置の一例としては、例えば、RAMが挙げられる。
【0074】
不揮発性記憶装置は、位置情報取得プログラム、カテゴリ判別プログラム、特徴語生成プログラム、検索プログラム及び計時プログラムを記憶可能なストレージである。不揮発性記憶装置の一例としては、例えば、ROMが挙げられる。また、不揮発性記憶装置には、地名データベース、カテゴリデータベース、統計データ、若しくはシステム辞書が記憶されていてもよい。
【0075】
本実施形態の情報検索システム10では、特徴語生成部24は、例えば、検索フレーズの内容が「夜景の綺麗なレストラン」の場合、形態素解析を用いて「夜景」、「綺麗」、「レストラン」の単語を取得する。特徴語生成部24は、「夜景」、「綺麗」、若しくは「レストラン」と共起する特徴語の類似度を機械学習で判定し、判定された特徴語に基づいて、検索部25が蓄積データベースから検索対象が曖昧な「レストラン」の地点情報を検索することができる。
【0076】
情報蓄積装置3は、蓄積記憶装置31に加え、蓄積制御装置32と、蓄積通信装置33とを備えている。情報蓄積装置3は、例えば、データベースサーバにより構成される。
【0077】
蓄積記憶装置31は、情報検索装置2が検索する検索対象を蓄積した蓄積データベースを記憶している。蓄積データベースでは、カテゴリごとに検索対象が分類されている。蓄積データベースでは、検索対象が特徴語と対応付いて蓄積されている。
【0078】
蓄積記憶装置31は、電源を切れば情報が消える揮発性記憶装置と、電源を切っても情報が消えない不揮発性記憶装置とを有している。揮発性記憶装置は、蓄積制御装置32により処理される情報を一時的に記憶する。揮発性記憶装置は、例えば、RAMが挙げられる。不揮発性記憶装置は、各種の情報処理プログラム及び各種の情報を記憶可能なストレージである。不揮発性記憶装置は、例えば、ROMが挙げられる。不揮発性記憶装置は、蓄積データベースを記憶している。不揮発性記憶装置には、地図を示す地図情報及び地図情報に付加する地点情報が記憶されていてもよい。
【0079】
蓄積制御装置32は、蓄積記憶装置31と、蓄積通信装置33と電気的に接続されている。蓄積制御装置32は、蓄積記憶装置31と、蓄積通信装置33とを制御できるように構成されている。蓄積制御装置32は、CPU若しくはMPUを用いて構成することができる。蓄積制御装置32は、例えば、予め蓄積記憶装置31に記憶されたプログラムに基づいて所定のプログラムを実装することができるように構成されている。
【0080】
蓄積通信装置33は、情報検索装置2がアクセスできるように構成されている。蓄積通信装置33は、検索対象を検索するための情報を情報検索装置2から受信できるように構成されている。蓄積通信装置33は、検索対象の情報を情報検索装置2へ送信できるように構成されている。
【0081】
また、情報蓄積装置3は、図示しない外部情報処理装置が提供するSNS(Social Networking Service)から蓄積データベースを構築できるように構成されてもよい。情報蓄積装置3は、外部情報処理装置が外部に公開した投稿記事情報に基づいて、情報検索装置2が検索フレーズから特徴語を生成するのと同様にして、生成した特徴語から蓄積データベースを構築することができる。投稿記事情報は、例えば、ユーザが外部情報処理装置へ投稿した投稿記事の情報である。
【0082】
次に、本実施形態に係る情報検索システム10全体の動作について説明する。
【0083】
まず、情報処理端末1と情報検索装置2との関係を説明する。本実施形態に係る情報検索システム10では、ユーザが情報処理端末1の入力装置11で検索フレーズを入力する
。情報処理端末1は、検索フレーズを送信する指示が入力装置11で受け付けられた場合、端末通信装置12から検索フレーズを情報検索装置2に送信する。
【0084】
また、情報処理端末1は、表示装置13に表示された地図上の位置をユーザが選択することで、選択された位置を示す位置情報を端末通信装置12から情報検索装置2に送信するように構成されてもよい。情報検索装置2では、情報処理端末1からの位置情報を受信した場合、位置情報を検索の地図上の起点とすることができる。
【0085】
次に、情報処理端末1から検索フレーズを受信した情報検索装置2の動作について、
図2を用いて説明する。
【0086】
図2に示すフローチャートでは、情報検索装置2が行う工程のうち、情報検索装置2は、情報処理端末1から検索フレーズを受信する(S101)。情報検索装置2は、受信した検索フレーズを検索記憶装置28に記憶する。
【0087】
情報検索装置2は、検索制御装置27にて動作制御する位置情報取得プログラムによって位置情報の取得を行う位置情報取得工程を行う(S102)。位置情報取得プログラムは、位置情報取得工程において、情報処理端末1から位置情報が送信された場合、位置情報を取得する。位置情報取得プログラムは、位置情報取得工程において、取得可能な位置情報がない場合、検索フレーズから位置情報を取得する。
【0088】
次に、情報検索装置2は、検索制御装置27にて動作制御するカテゴリ判別プログラムによって、検索フレーズのカテゴリを判別するカテゴリ判別工程を行う(S103)。カテゴリ判別プログラムは、検索フレーズに地名を示す単語が含まれている場合、カテゴリデータベースからカテゴリ名を判定する。カテゴリ判別プログラムは、検索フレーズに地名を示す単語が含まれていない場合、機械学習により、検索フレーズから検索語を生成する。カテゴリ判別プログラムは、生成された検索語のうち、類似度の高い検索語に基づいてカテゴリデータベースからカテゴリ名を推定する。
【0089】
続いて、情報検索装置2は、検索制御装置27にて動作制御する特徴語生成プログラムによって、検索フレーズから検索対象を表す単語と関連する特徴語を生成する特徴語生成工程を行う(S104)。
【0090】
次に、情報検索装置2は、検索制御装置27にて動作制御する検索プログラムによって、蓄積データベースから検索対象を検索する検索の実行工程を行う(S105)。
【0091】
最後に、情報検索装置2は、検索対象を検索すれば、終了してもよい。
【0092】
本実施形態の情報検索システム10によれば、ユーザが曖昧なイメージに基づく検索フレーズを情報処理端末1に入力しても、情報検索装置2は、ユーザの主観語若しくは感情語による柔らかな検索を行うことができる。情報検索装置2は、例えば、「激辛ラーメン」という検索フレーズを入力しても、表示装置13に激辛ラーメンが食べられる可能性のあるお店の位置を、情報処理端末1の表示装置13で表示される地図上にラーメンのカテゴリに対応する色のマーカで表示させることができる。
【0093】
すなわち、本実施形態の情報検索システム10では、情報処理端末1は、端末記憶装置15を更に備えている。端末記憶装置15には、地図情報が記憶されている。表示装置13は、検索対象を示す特定の地点を地図情報の地図に表示する。
【0094】
本実施形態の情報検索システム10は、より精度の高い検索対象の地点を、地図に表示
させることができる。
【0095】
また、本実施形態の情報検索システム10では、特徴語生成部24は、検索フレーズの統計データを算出する。情報蓄積装置3は、情報処理端末1から予め設定した期間内に検索通信装置21が受信した検索フレーズと、統計データとを関連づけして、蓄積データベースに蓄積する。
【0096】
本実施形態の情報検索システム10は、予め設定した期間内の検索フレーズに基づいて、より精度の高い検索対象を検出することができる。
【0097】
さらに、本実施形態の情報検索システム10では、特徴語生成部24は、検索フレーズに含まれる単語から、検索対象を表す単語と類似度のより高い特徴語を生成する。特徴語生成部24は、統計データに基づいて、頻度のより高い特徴語を優先して出力するように構成されている。
【0098】
本実施形態の情報検索システム10は、更に精度の高い検索対象を検出することができる。
【0099】
なお、上述の実施形態の情報検索システム10では、情報処理端末1は、例えば、タッチパネルを備えた構成の場合、表示装置13に表示された地図を拡大若しくは縮小させて、検索するエリアとしてユーザが指定したい場所をタップすることで、位置情報を入力装置11へ入力させることができる。
【0100】
また、情報処理端末1は、検索対象をマーカとして地図上に表すように、表示装置13で表示する。マーカは、例えば、中心にカテゴリを表すピクトグラムが表示されたバルーンが挙げられる。情報処理端末1は、例えば、カテゴリごとにマーカの色若しくは濃淡を変えて、マーカを含む地図を表示装置13に表示させてもよい。情報処理端末1は、例えば、検索フレーズに含まれる単語と、特徴語との類似度に応じて、マーカの大きさを変えて、マーカを含む地図を表示装置13に表示させてもよい。
【0101】
さらに、上述の実施形態の情報検索システム10では、情報処理端末1がナビゲーション機能を有していてもよい。情報処理端末1は、ナビゲーション機能を有することで、表示装置13に表示した地図上の地点情報にユーザを誘導させることができる。ナビゲーション機能は、情報処理端末1の端末記憶装置15に記憶され端末制御装置14によって制御される。ナビゲーション機能は、情報検索装置2の検索記憶装置28に記憶され検索制御装置27によって制御されてもよい。情報検索システム10は、情報処理端末1の表示装置13において地図及びナビゲーションの表示が可能であれば、情報処理端末1と情報検索装置2とのどちらにナビゲーション機能が搭載されてもよい。
【0102】
具体的には、情報検索装置2と情報処理端末1のいずれか一方の装置にナビゲーション機能を記憶させ、他方の装置によってナビゲーション機能を制御するように構成されてもよい。または、情報検索装置2と情報処理端末1の両方にナビゲーション機能を分割して記憶し、いずれか一方の装置、若しくは両方の装置が協動して、ナビゲーション機能を制御するように構成されてもよい。
【0103】
上記実施形態の各処理、又は各機能の各々は、単一の装置又は単一のシステムにより集中処理されることで実現されてもよいし、複数の装置又は複数のシステムによって分散処理されることで実現されてもよい。また、上記実施形態の各構成要素は、専用のハードウェアにより構成されてもよい。上記実施形態の各構成要素は、ソフトウェアにより実現可能な構成要素について、プログラムを実行することによって実現されてもよい。
【0104】
上記実施形態の各構成要素は、例えば、記録媒体に記録されたソフトウェアのプログラムをCPUが実行することによって実現されてもよい。プログラムは、サーバからダウンロードされることによって実行されてもよいし、所定の記録媒体に記録されたプログラムが読み出されることによって実行されてもよい。また、プログラムを実行するコンピュータは、単数であってもよいし、複数であってもよい。上記実施形態は、集中処理を行うように構成されてもよいし、分散処理を行うように構成されてもよい。
【0105】
なお、本発明は、その精神や主旨又は主要な特徴から逸脱することなく、他のいろいろな形で実施することができる。上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈してはならない。すなわち、上記実施形態を例として、本発明は、情報検索装置、又は情報検索システムである。
【0106】
〔実施形態のまとめ〕
(1:特徴語について)
以上説明した情報検索装置2によれば、検索制御装置27に含まれる各部の機能により、検索を行うユーザによって入力された検索フレーズが、ユーザの検索したいスポットを直接的に示すものでなかったとしても、妥当なスポットを検出してユーザに提示することができる。
【0107】
具体的には、検索制御装置27には、特徴語生成部24と検索部25が含まれている。このうち、特徴語生成部24は、検索フレーズを形態素解析して得た単語から特徴語を生成する。以下、検索フレーズを形態素解析して得た単語は、入力語と呼ぶ場合もある。なお、本明細書では、特徴語に関して「生成」との語を「特定」、「判定」、「検出」、あるいは「選択」といった意味で用いている。
【0108】
ここで、特徴語生成部24が生成する特徴語は、入力語との類似度が高い語であってもよいし、入力語の共起語であってもよく、それらの両方であってもよい。以下では、入力語との類似度が所定の閾値よりも高い語を、類似語と呼ぶ場合がある。
【0109】
類似語を特徴語として用いる場合、特徴語生成部24は、入力語の特徴を示す特徴情報を生成する。この特徴情報は、入力語の特徴を示すものであればよく、例えば入力語の特徴ベクトルを特徴情報としてもよい。特徴ベクトルは、上述のword2vecの他、例えばGloVe、WordNet、あるいはfastTextのアルゴリズムを用いることにより算出することもできる。そして、特徴語生成部24は、蓄積データベースにおいてスポットに対応付けられている各特徴語の特徴ベクトルと、上記算出した特徴ベクトルとの類似度を算出し、類似度が閾値以上の語を特定する。これにより、特徴語生成部24は、蓄積データベースにおいてスポットに対応付けられている特徴語のうち、入力語に類似した類似語を特定することができる。なお、類似度を算出する手法は特に限定されず、例えばコサイン類似により算出することができる。
【0110】
一方、共起語を特徴語として用いる場合、特徴語生成部24は、入力語の共起語を特定する。なお、共起語は、例えば、TF-IDF(Term Frequency-Inverse Document Frequency)により抽出可能である。また、特徴語生成部24は、上述の類似語の共起語を特徴語として用いてもよい。
【0111】
そして、検索部25は、生成された特徴語を用いて蓄積記憶装置31に記憶されている蓄積データベースを検索し、該蓄積データベースにおいて特徴語に対応付けられているスポットを検出する。なお、「スポット」とは、例えば、地点や場所、あるいは特定の地点や場所に設置されている建造物を意味する。蓄積データベースにおいて、各スポットには
、そのスポットの地理的位置を示す位置情報が対応付けられている。上述のように、検索に用いる特徴語は、入力語の類似語または共起語であるから、検索フレーズが、ユーザが検索したいスポットを直接的に示すものでなかったとしても、妥当なスポットを検出してユーザに提示することができる。
【0112】
なお、特徴語生成部24は、検索フレーズを形態素解析して得た単語のうち、所定の品詞の単語を特徴語生成の対象としてもよい。上記所定の品詞は、例えば名詞、形容詞、動詞、および副詞であってもよい。これにより、有意な特徴語を生成し難い、例えば接続詞、感動詞、助詞、助動詞といった品詞を除外して、妥当性の高い特徴語を生成することができる。
【0113】
(2:位置情報について)
検索制御装置27には、位置情報取得部22が含まれていてもよい。位置情報取得部22は、ユーザが使用する情報処理端末1から受信した情報に基づいて、スポットの検索範囲を決める基準となる位置情報を取得する。そして、検索部25は、取得された位置情報が示す位置を基準として所定の範囲を設定し、その範囲内のスポットを検出する。これにより、検索を行うユーザが関心のある地域に絞ったスポットの検索が可能になる。
【0114】
位置情報取得部22は、検索フレーズを形態素解析して得た単語から上記位置情報を取得してもよい。例えば、検索フレーズを形態素解析して得た単語に、位置を示す単語が含まれていれば、位置情報取得部22は、位置を示す単語と位置情報とが対応付けられた地名データベースを利用して位置情報を取得してもよい。なお、位置を示す単語としては、例えば、地名が挙げられる。
【0115】
また、位置情報取得部22は、位置情報を特定するための位置情報データベースを用いて位置情報を取得してもよい。位置情報データベースは、単語とその単語に対応する位置を示す位置情報とが対応付けられたデータベースである。位置情報取得部22は、位置情報データベースを用いて位置情報を取得する場合、検索フレーズを形態素解析して得た単語、その単語の類似語、およびその単語の共起語の少なくともいずれかを用いて上記位置情報データベースを検索する。これにより、位置情報取得部22は、検索フレーズを形態素解析して得た単語に関連する位置情報を取得することができる。なお、類似語や共起語は、機械学習済みのモデルを用いて特定すればよい。この場合、位置情報取得部22は、検索フレーズに含まれる単語から機械学習により推定した位置情報を取得することになる。
【0116】
また、情報処理端末1は、自機の位置を示す位置情報を例えばGPS(Global Positioning System)を利用して取得し、取得した位置情報を情報検索装置2に送信してもよい。この場合、位置情報取得部22は、情報処理端末1から送信された位置情報を取得してもよい。このような位置情報を用いることにより、情報処理端末1の現在地周辺のスポットを検出することも可能になる。
【0117】
(3:カテゴリについて)
検索制御装置27には、カテゴリ判別部23が含まれていてもよい。また、カテゴリ判別部23には、カテゴリ判定部231およびカテゴリ推定部232が含まれていてもよい。カテゴリ判別部23は、検索フレーズを形態素解析して得た単語のカテゴリを判定する。また、この場合、蓄積データベースにおいて、各スポットにそのスポットのカテゴリを対応付けておく。これにより、検索部25は、検索フレーズに応じたスポットのうち、カテゴリ判別部23が判定したカテゴリのスポットを検出することが可能になる。
【0118】
カテゴリ判定部231は、例えば、単語とその単語に対応するカテゴリとを対応付けた
カテゴリデータベースを用いることにより、検索フレーズを形態素解析して得た単語に対応するカテゴリを判定することができる。
【0119】
カテゴリ推定部232は、機械学習済みのアルゴリズムを用いて、検索フレーズを形態素解析して得た単語に応じたカテゴリを特定する。上記アルゴリズムは、例えば単語の特徴情報と、カテゴリとの対応関係を機械学習したものであってもよい。単語の特徴情報は、例えば特徴ベクトルである。単語の特徴情報とカテゴリとの対応関係を機械学習したアルゴリズムを用いる場合、カテゴリ推定部232は、検索フレーズを形態素解析して得た単語の特徴情報を取得し、取得した特徴情報を上記アルゴリズムに入力することにより、カテゴリを特定することができる。また、カテゴリ推定部232は、検索フレーズを形態素解析して得た単語の類似語、および検索フレーズを形態素解析して得た単語の共起語の少なくともいずれかを特定してもよい。そして、カテゴリ推定部232は、特定した類似語および共起語の少なくともいずれかを用いて上記カテゴリデータベースを検索することにより、カテゴリを特定してもよい。なお、類似語や共起語は、機械学習済みのモデルを用いて特定すればよい。この場合、カテゴリ推定部232は、検索フレーズに含まれる単語からそのカテゴリを機械学習により推定することになる。また、例えば、カテゴリ推定部232は、あるカテゴリに属する単語の特徴ベクトルと、検索フレーズを形態素解析して得た単語の特徴ベクトルとの類似度を算出してもよい。この場合、カテゴリ推定部232は、算出した類似度が閾値以上であれば、検索フレーズを形態素解析して得た上記単語が、上記あるカテゴリに属すると判定する。
【0120】
判定したカテゴリは、後述する重み付けの際に用いてもよいし、検索部25の検索範囲を絞り込むために用いてもよい。後者の場合、検索部25は、蓄積データベースに蓄積されているスポットのうち、カテゴリ判別部23が判定したカテゴリに属するスポットを検索対象として、特徴語生成部24が生成した特徴語が対応付けられているスポットを検出する。例えば、検索フレーズに含まれる「風景」との単語のカテゴリをカテゴリ判別部23が「観光地」と判定した場合を考える。この場合、検索部25は、「風景」から生成された特徴語を用いて、蓄積データベースに蓄積されているスポットのうち「観光地」のカテゴリが対応付けられているスポットを検索する。これにより、検索範囲を適切に絞り込んで、妥当な検索結果を迅速に得ることが可能になる。
【0121】
(4:検索における優先度について)
特徴語生成部24は、複数の特徴語を生成できる場合、それら複数の特徴語のうち優先度の高いものを生成してもよい。上記優先度は、例えば情報検索システム10において、過去に検索に用いられた累積回数、過去の所定期間に検索に用いられた頻度、および累積回数と使用頻度の両方または一方に基づいて算出した順位の少なくともいずれかであってもよい。例えば、特徴語生成部24は、特徴語として「景色」と「レストラン」を生成可能である場合に、「レストラン」の直近一週間の検索頻度が「景色」の直近一週間の検索頻度よりも高ければ、「レストラン」を特徴語としてもよい。
【0122】
なお、特徴語生成部24は、予め設定した期間内に情報処理端末1から受信した検索フレーズを対象として、上記のような回数や頻度を示す情報を算出して、統計データとして記憶しておけばよい。また、記憶した統計データは、情報処理端末1から受信した検索フレーズと関連付けしておく。
【0123】
また、特徴語生成部24が複数の特徴語を生成した場合に、検索部25がそれら複数の特徴語のうち優先度の高いものを用いて検索を行ってもよい。また、検索部25は、優先度の高い特徴語による検索結果を、優先度のより低い特徴語による検索結果よりも優先して出力してもよい。例えば、検索部25は、優先度の高い特徴語による検索結果から順に出力してもよい。また、上記の統計データは、後述する重み付けに利用することもできる
。
【0124】
(5:蓄積データベースの構築)
情報蓄積装置3は、検索対象となるスポットに関連する各種情報を取得して、蓄積データベースを構築することができる。例えば、情報蓄積装置3は、上述のようにSNSに投稿された記事から特徴語を生成してもよいし、スポットを紹介したウェブサイトや、スポットの口コミ情報を掲載したサイトに投稿された記事から特徴語を生成してもよい。以下、SNSに投稿された記事、若しくはスポットの口コミ情報を掲載したサイトに投稿された記事をコメントともいう。また、ウェブサイトを、サイトと略称する場合がある。
【0125】
例えば、情報蓄積装置3は、スポット「展望台X」についての口コミサイトに投稿された「眺望が最高」とのコメントを取得した場合、これを形態素解析して「眺望」、「最高」との単語を得る。次に、情報蓄積装置3は、これらの単語の特徴ベクトルを算出し、算出した特徴ベクトルを用いて、各単語と特徴ベクトルが類似した特徴語を生成する。そして、情報蓄積装置3は、蓄積データベースにスポット「展望台X」を追加し、形態素解析によって得た単語と、その単語から生成した特徴語とを対応付けて記録する。なお、蓄積データベースにスポット「展望台X」が既に記録されていれば、既に記録済みのスポットに、形態素解析によって得た単語と、その単語から生成した特徴語とを追加で対応付けて記録する。
【0126】
また、特徴語の代わりに、あるいは特徴語に加えて、共起語や、後述のクラスタを対応付けて記録してもよい。また、上述のようなサイトでは、スポットが点数や星の数などによって評価されていることがある。その場合、情報蓄積装置3は、スポットの評価についても蓄積データベースに記録してもよい。この他にも、例えばサイトへのアクセス数、当該スポットのページへのアクセス数、当該スポットへのコメント数、コメントの投稿日時、サイト名についても蓄積データベースに記録してもよい。なお、サイト名は例えばサービス名であってもよい。これらの情報は、例えばスポットの重み付けに利用することができ、これにより例えば評価の高いスポットを優先して検索することも可能になる。
【0127】
以上のように、情報蓄積装置3は、口コミ情報に基づいて蓄積データベースを拡充することができ、これにより新たなスポットを検索できるようにしたり、実際にスポットを訪れた人の感想をベースにした検索を行うことを可能にしたりすることも可能になる。例えば、スポット「展望台X」についての「眺望が最高」とのコメントに基づいて特徴語を記録しておけば、「解放感が最高」のような曖昧な検索フレーズからスポット「展望台X」を検出することも可能になる。
【0128】
また、スポットに関連する情報に基づいて蓄積データベースを構築することにより、上述の例のように、曖昧な検索フレーズが入力された場合であってもユーザの意に沿ったスポットを検出することが可能である。これに対し、一般的な検索サイトでは、スポット以外の多様な対象についても検索対象に含めなければならないため、曖昧な検索フレーズでユーザの意に沿ったスポットは通常は検出できない。例えば、一般的な検索サイトで「解放感が最高」とのフレーズを検索しても、スポット「展望台X」は検出されないか、あるいは検出されても他の雑多な検索結果に埋もれて認識困難な状態となってしまう。
【0129】
〔クラスタを用いた検索〕
上記実施形態で説明したように、特徴語生成部24は、1つの単語を「特徴語」としてもよいし、複数の単語からなる語群を「特徴語」としてもよい。以下では後者の場合について
図3に基づいて、より詳細に説明する。
【0130】
複数の単語からなる語群を特徴語とする場合、蓄積データベースでは、単語の特徴を示
す特徴情報が類似した複数の特徴語からなる特徴語群と検索対象であるスポットとが対応付けられている。上述のように、特徴情報は例えば特徴ベクトルである。また、以下では、特徴語群をクラスタと呼ぶ。検索フレーズが入力されると、特徴語生成部24は、その検索フレーズに含まれる単語の特徴情報に基づいて当該単語に対応するクラスタを決定する。そして、検索部25は、特徴語生成部24が決定したクラスタに対応付けられているスポットを蓄積データベースから検出する。
【0131】
この構成によれば、スポットに直接対応付けられていない検索フレーズが入力された場合であっても、検索を行うユーザの意に沿った妥当なスポットを検出することが可能になる。例えば、蓄積データベースにおいて、「風景」、「景観」といった類似した特徴語からなるクラスタAと、スポットAとが対応付けられていた場合に、「景色」との単語を含む検索フレーズが入力されたとする。この場合、「景色」は、「風景」や「景観」と類似しているから、「景色」はクラスタAに属すると決定されるので、蓄積データベースからスポットAを検出することができる。なお、特徴情報が類似しているか否かについては、例えば類似度が所定の閾値以上であるか否かにより判定できる。
【0132】
また、複数の単語からなる語群を特徴語とする場合、単語の特徴を示す特徴情報が類似した複数の特徴語からなるクラスタとカテゴリとが対応付けられたカテゴリデータベースを用いてもよい。この場合、カテゴリ判別部23は、検索フレーズに含まれる単語の特徴情報に基づいて決定されたクラスタに対応付けられているカテゴリをカテゴリデータベースから検出する。この構成によれば、カテゴリに直接対応付けられていない検索フレーズが入力された場合であっても、検索を行うユーザの意に沿った妥当なカテゴリを判定することが可能になる。
【0133】
図3は、クラスタに基づいてスポットを検索する処理の一例を示すフローチャートである。また、以下では、
図3のフローに従ったスポット検索の具体例を
図4から
図6に基づいて説明する。
図4は、検索フレーズからクラスタを決定した具体例を示す図であり、
図5は、カテゴリデータベースに格納されているデータテーブルの一例を示す図であり、
図6は、スポットデータベースに格納されているデータテーブルの一例を示す図である。なお、カテゴリデータベースとスポットデータベースは、上述の蓄積データベースに対応している。また、
図3の検索フレーズおよび位置情報の取得(S201、S202)については
図2と同様であるからここでは説明を省略する。
【0134】
S203では、特徴語生成部24は、検索フレーズを形態素解析して得た各単語の特徴ベクトルを算出する。
図4には、例1として「景色がきれい」、例2として「景色 きれい」、例3として「風景 美しい」、例4として「楽しいデート」の4通りの検索フレーズが入力された例を示している。例えば、例1の検索フレーズが入力された場合、S203では、「景色がきれい」を形態素解析して得られた単語のうち、助詞である「が」を除いた「景色」と「きれい」について特徴ベクトルが算出される。図示の例では、n次元の特徴ベクトルを算出している。nは自然数であればよく、例えばn=300としてもよい。
【0135】
S204では、特徴語生成部24は、検索フレーズを形態素解析して得た各単語のクラスタを決定する。具体的には、特徴語生成部24は、S203で算出した特徴ベクトルを、所定のクラスタリングモデルに入力することにより、当該特徴ベクトルに対応するクラスタ、すなわち検索フレーズを形態素解析して得た各単語のクラスタの出力を得る。例えば、
図4の例では、「景色」と「風景」はいずれもクラスタIDが「15」のクラスタに属すると決定されている。また、「きれい」と「美しい」はいずれもクラスタIDが「8」のクラスタに属すると決定されている。なお、クラスタリングモデルは、単語の特徴ベクトルを入力データとして、その単語に対応するクラスタを出力するように機械学習され
たモデルである。単語に対応するクラスタとは、その単語と特徴ベクトルが類似した特徴語を構成要素に含むクラスタである。クラスタリングモデルの生成方法については後述する。
【0136】
S205では、カテゴリ判別部23は、S204で決定されたクラスタに基づいて、検索フレーズを形態素解析して得た各単語のカテゴリを判定する。この判定には、
図5に示すような、クラスタIDと、特徴語と、重みと、カテゴリとが対応付けられたカテゴリデータベースを用いることができる。
【0137】
具体的には、まず、カテゴリ判別部23は、カテゴリデータベースからS204で決定されたクラスタが対応付けられているカテゴリを抽出する。例えば、
図4の例1「景色がきれい」では、S204でクラスタはID「15」とID「8」であると判定されるから、
図5のカテゴリデータベースを用いて、カテゴリ「名所・旧跡」と、カテゴリ「レストラン」が抽出される。
【0138】
次に、カテゴリ判別部23は、検索フレーズを形態素解析して得た各単語と、その単語に対応するカテゴリの各特徴語との類似度を算出し、算出した類似度に重みを乗算する。なお、類似度の算出には、fastTextの単語間類似度推定モデルを用いてもよい。そして、算出した値をカテゴリ毎に合計し、その合計値の大きい順に上記抽出したカテゴリを順位づけする。以下、カテゴリ毎に合計した合計値を、スコアともいう。
【0139】
例えば、
図4の例1「景色がきれい」の場合、カテゴリ「名所・旧跡」に関して、検索フレーズを形態素解析して得た単語「景色」と、カテゴリデータベースに登録されている特徴語「風景」の類似度が算出される。単語「きれい」についても同様である。そして、算出された類似度に、カテゴリデータベースに登録されている重みが乗算される。例えば、単語「景色」と特徴語「風景」の類似度が0.8であり、単語「きれい」と特徴語「美しい」の類似度が0.7であったとすれば、カテゴリ「名所・旧跡」のスコアは下記のように算出される。
【0140】
単語「景色」について:類似度「0.8」×重み「0.88」=0.704
単語「きれい」について:類似度「0.7」×重み「0.76」=0.532
カテゴリ「名所・旧跡」のスコア:0.704+0.532=1.236
なお、カテゴリデータベースにクラスタID「15」の特徴語が複数登録されていた場合には、各特徴語について上記と同様の類似度の算出を重みの乗算とを行う。クラスタID「8」についても同様である。そして、乗算によって得られた値をカテゴリ毎に合計して上記スコアを算出し、そのスコアの大きい順に上記抽出したカテゴリを順位づけする。
【0141】
S206では、検索部25は、S204で決定されたクラスタに基づいて、スポットの検索を行う。この検索には、
図6に示すような、クラスタIDと、特徴語と、重みと、スポットIDとが対応付けられたスポットデータベースを用いることができる。
【0142】
具体的には、まず、検索部25は、スポットデータベースからS204で決定されたクラスタが対応付けられているスポットを抽出する。例えば、
図4の例1「景色がきれい」では、S204でクラスタはID「15」とID「8」であると決定されるから、
図6のスポットデータベースからスポット「名所・旧跡」と、スポット「レストラン」が抽出される。
【0143】
次に、検索部25は、検索フレーズを形態素解析して得た各単語と、その単語に対応するスポットの各特徴語との類似度を算出し、算出した類似度に重みを乗算する。なお、類似度の算出には、fastTextの単語間類似度推定モデルを用いてもよい。そして、
算出した値をスポット毎に合計し、その合計値の大きい順に上記抽出したスポットを順位づけする。以下、上記のようにして算出した値をスポット毎に合計した合計値を、スコアともいう。
【0144】
例えば、
図4の例1「景色がきれい」の場合、抽出されたスポット「名所A」に関して、検索フレーズを形態素解析して得た単語「景色」と、スポットデータベースに登録されている特徴語「景観」の類似度が算出される。なお、単語「きれい」は、スポットデータベースに登録されている特徴語「きれい」と一致するから類似度は1となる。そして、算出した類似度に、スポットデータベースに登録されている重みが乗算される。例えば、単語「景色」と特徴語「景観」の類似度が0.9であれば、スポット「名所A」のスコアは下記のように算出される。
【0145】
単語「景色」について:類似度「0.9」×重み「0.53」=0.477
単語「きれい」について:類似度「1.0」×重み「0.46」=0.46
スポット「名所A」のスコア:0.477+0.46=0.937
なお、スポットデータベースにクラスタID「15」の特徴語が複数登録されていた場合には、各特徴語について上記と同様の類似度の算出を重みの乗算とを行う。また、クラスタID「8」についても同様である。そして、乗算によって得られた値をスポット毎に合計し、その合計値であるスコアの大きい順に上記抽出したスポットを順位づけする。
【0146】
S207では、検索部25は、S205のカテゴリ判定結果を加味して、S206で検出したスポットについて、最終の順位付けを行う。例えば、検索部25は、S205のカテゴリ判定において、スコアが最も大きかったカテゴリに属するスポットを、S206で算出したスコアの大きい順に順位づけしてもよい。なお、各スポットがいずれのカテゴリに属するかは予め定めておく。
【0147】
そして、検索部25は、スコアが最も大きかったカテゴリに属するスポットを全て順位づけした後、スコアが次に大きかったカテゴリに属するスポットを全て順位づけする、という処理を、検出された全スポットの順位が決まるまで繰り返してもよい。なお、検索部25は、所定の順位まで決定された段階で上記の繰り返し処理を終了してもよい。所定の順位としては、例えば上位20位が挙げられる。
【0148】
なお、カテゴリとスポットのスコアに基づく順位付けの方法は上記の例に限られない。例えば、検索部25は、S206で検出した各スポットについて、そのスポットのスコアと、そのスポットが属するカテゴリのスコアの合計値を算出し、その合計値の順にスポットを順位づけしてもよい。この場合、カテゴリのスコアは、スポットのスコアの重み付けに用いられているといえる。また、S207の順位づけには、上述の統計データを加味してもよい。この場合、例えば評価の高いスポットの順位が高くなるようにすることもできる。
【0149】
最後にS209では、検索通信装置21は、検索結果を情報処理端末1に通知する。これにより、情報処理端末1の端末制御装置14は、上記検索結果を表示装置13に表示させる。この際、検索通信装置21は、検索結果のうちS208で決定された順位が上位の所定数のみを情報処理端末1に通知してもよい。上位の所定数としては、例えば検索結果のうち上位10件が挙げられる。
【0150】
また、検索通信装置21は、S208で決定された順位についても情報処理端末1に通知してもよい。この場合、端末制御装置14は、上記検索結果をその順位に応じた表示態様で表示装置13に表示させることができる。例えば、上記検索結果を地図上に表示させる場合、当該地図上において、順位が高いスポットほど大きいマーカを表示させてもよい
。これにより、検出されたスポットのうちいずれの妥当性が高いかをユーザに認識させることができる。
【0151】
以上のように、検索フレーズに対応するクラスタを決定し、決定したクラスタを用いてスポットを検索することにより、多様な検索フレーズから妥当なスポットを検出することが可能になる。例えば、検索フレーズが
図4の例1「景色がきれい」であっても、
図4の例2「景色 きれい」であっても、
図4の例3「風景 美しい」であっても、同様のスポットを検出することができる。また、検索フレーズが例1~例3と全く異なる
図4の例4「楽しいデート」である場合、例1~例3とは異なるクラスタが決定され、それに応じて異なるスポットとして、例えばアミューズメントパークFが検出される。
【0152】
また、クラスタはカテゴリの特定に用いることもでき、カテゴリを特定することにより、そのカテゴリの範疇のスポットを検出することができる。さらに、スポットと特徴語の組み合わせ、あるいはカテゴリと特徴語の組み合わせについて、関連性の高い組み合わせほど大きい重みを設定しておくことにより、妥当性の高いスポットを優先して検出することができる。
【0153】
(カテゴリ判定・スポット検索の変形例)
S205のカテゴリ判定では、検索フレーズを形態素解析して得た単語と、カテゴリデータベースに登録されている特徴語との類似度を算出しているが、この処理は省略することも可能である。この場合、S205では、カテゴリ判別部23は、カテゴリに対応付けられた各クラスタIDの重み値の和を算出し、その算出値を当該カテゴリのスコアとしてもよい。
【0154】
同様に、S206のスポット検索においても類似度の算出は省略することが可能である。この場合、S206では、検索部25は、スポットに対応付けられた各クラスタIDの重み値の和を算出し、その算出値を当該カテゴリのスコアとしてもよい。
【0155】
〔カテゴリデータベースとスポットデータベースの生成〕
(1:実現するための構成)
情報検索システム10は、カテゴリデータベースとスポットデータベースの生成機能を備えていてもよい。この機能を実現するための構成要素は、例えば情報検索装置2や情報蓄積装置3に設けてもよい。また、情報検索システム10にこの機能を有する装置を別途追加してもよい。
【0156】
以下では、情報蓄積装置3が、カテゴリデータベースとスポットデータベースの生成機能を備えている例を
図7に基づいて説明する。
図7は、情報蓄積装置の要部構成の一例を示すブロック図である。図示のように、蓄積制御装置32には、クラスタリングモデル生成部321、特徴語抽出部322、クラスタ決定部323、スポットデータベース生成部324、カテゴリ分類部325、およびカテゴリデータベース生成部326が含まれる。以下では、データベースを、DBと省略することもある。これら各部の機能は例えばプログラムにより実現することもできる。また、カテゴリデータベースとスポットデータベースの生成には、所定のサイトに書き込まれた口コミのデータを用いるとする。また、1つの口コミには少なくとも1つの文が含まれているとする。ここで、所定のサイトは、複数のサイトであってもよいし、SNSであってもよい。また、以下では、口コミのデータを単に口コミと略称する場合がある。
【0157】
クラスタリングモデル生成部321は、単語をクラスタリングするためのクラスタリングモデルを生成する。クラスタリングは、例えば特徴ベクトルの類似度に基づいて行ってもよく、これにより大まかに類似した語群を1まとめのクラスタとして扱うことができる
。なお、上記「大まかに類似した語群」は、大まかな類義語群ともいえる。単語の特徴ベクトルの算出には、例えばfastTextのベクトル化モデルを利用してもよい。生成されたクラスタリングモデルは、
図3のS204におけるクラスタの決定に用いられる。クラスタリングを行うことにより、クラスタ単位で検索を行うことができるので、検索を効率化し、検索を高速化することも可能になる。
【0158】
特徴語抽出部322は、入力された文における特徴語を抽出する。特徴語の抽出には、例えば共起語解析を利用することができる。具体的には、特徴語抽出部322は、入力された文を形態素解析することで得られた単語群に含まれる各単語について、TF-IDF値を算出する。そして、特徴語抽出部322は、算出したTF-IDF値によって、上記単語群に含まれる単語を順位づけし、上位に順位づけされた単語を特徴語として抽出する。また、TF-IDF値は特徴語の確からしさを示す数値であるから、特徴語抽出部322は、抽出した特徴語のTF-IDF値をその特徴語の重み値とする。
【0159】
クラスタ決定部323は、クラスタリングモデル生成部が生成したクラスタリングモデルを用いて、特徴語抽出部322が抽出した特徴語のクラスタを決定する。決定されたクラスタは、特徴情報が類似した複数の特徴語を構成要素としたものとなる。
【0160】
スポットDB生成部324は、スポットと、特徴語と、そのクラスタと、重み値とを対応付けて、
図6に示すようなスポットデータベースを生成する。特徴語と重み値は、特徴語抽出部322が抽出および算出したものである。また、クラスタはクラスタ決定部323が決定したものである。
【0161】
カテゴリ分類部325は、入力された文を所定の複数のカテゴリに分類する。分類には、教師あり機械学習により構築した分類モデルを用いてもよい。該分類モデルとしては、例えばfastTextのテキスト分類モデルを用いてもよい。上記機械学習においては、カテゴリが既知の文を教師データとする。例えば、所定のサイトに書き込まれた口コミのそれぞれについて、人手等によってカテゴリを対応付けて教師データとしてもよい。
【0162】
カテゴリDB生成部326は、カテゴリと、特徴語と、そのクラスタと、重み値とを対応付けて、
図5に示すようなカテゴリデータベースを生成する。特徴語と重み値は、特徴語抽出部322が抽出および算出したものである。また、クラスタはクラスタ決定部323が決定したものである。
【0163】
(2:処理の流れ)
図8にはスポットデータベースを生成する処理の例を示している。S301では、クラスタリングモデル生成部321がクラスタリングモデルを生成する。例えば、クラスタリングモデル生成部は、所定のサイトに書き込まれた口コミの全てを形態素解析して得られた全単語について特徴ベクトルを算出し、算出した特徴ベクトルに基づいてクラスタリングモデルを生成してもよい。この場合、生成されるクラスタリングモデルは、入力された単語を、その単語と特徴ベクトルが類似したクラスタに分類するモデルとなる。このようなモデルの生成には、例えばfastTextを利用することもできる。
【0164】
S302では、特徴語抽出部322が、各スポットの口コミから特徴語と重みを抽出する。特徴語と重みの抽出は、上述のように、TF-IDF値を用いて行うことができる。なお、各口コミとスポットとの対応関係は、その口コミがいずれのスポットについて書き込まれた口コミであるか等に応じて予め特定しておく。例えば、所定のサイトにおける名所Aを紹介するページに書き込まれた口コミであれば、名所Aと対応付けて記憶しておくことにより、特徴語抽出部322がその口コミを名所Aの口コミであると特定することができる。
【0165】
S303では、クラスタ決定部323が、S301で生成されたクラスタリングモデルを用いて、S302で抽出された特徴語のクラスタを決定する。上記S302の処理と、S303の処理により、各スポットについて書き込まれた口コミのそれぞれについて、特徴語と、重みと、クラスタが決定される。
【0166】
S304では、スポットDB生成部324が、上記のようにして決定された特徴語、重み、およびクラスタを、これらに対応するスポットと対応付けてスポットデータベースに格納する。これにより、各スポットに対し、特徴語とクラスタと重みとが対応付けられたレコードがスポットデータベースに追加される。なお、スポットデータベースが未生成であれば、S304ではスポットデータベースが生成される。
【0167】
続いて、
図9について説明する。
図9は、カテゴリデータベースを生成する処理の例を示すフローチャートである。S401では、カテゴリ分類部325が、所定のサイトに書き込まれた各口コミをカテゴリに分類する。
【0168】
S402では、特徴語抽出部322が、各カテゴリの口コミから特徴語と重みを抽出する。特徴語と重みの抽出は、上述のように、TF-IDF値を用いて行うことができる。なお、S402では、S302で抽出した特徴語と重みを流用してもよい。
【0169】
S403では、クラスタ決定部323が、S301で生成されたクラスタリングモデルを用いて、S402で抽出された特徴語のクラスタを決定する。上記S302の処理と、S403の処理により、各カテゴリの口コミのそれぞれについて、特徴語と、重みと、クラスタが決定される。
【0170】
S404では、カテゴリDB生成部326が、上記のようにして決定された特徴語、重み、およびクラスタを、これらに対応するカテゴリと対応付けてカテゴリデータベースに格納する。これにより、各カテゴリに対し、特徴語とクラスタと重みとが対応付けられたレコードがカテゴリデータベースに追加される。なお、カテゴリデータベースが未生成であれば、S404ではカテゴリデータベースが生成される。
【0171】
(3:まとめ)
以上のように、クラスタリングモデル生成部321は、口コミを形態素解析して得られた各単語について特徴ベクトルを算出し、算出した特徴ベクトルに基づいてクラスタリングモデルを生成する。このようにして生成されたクラスタリングモデルによれば、口コミと同様の表現を含む検索フレーズを精度よくクラスタリングすることができる。また、このクラスタリングモデルは、口コミのみから生成することもできる。
【0172】
そして、構築したクラスタリングモデルと口コミを用いることにより、スポットデータベースと、カテゴリデータベースを生成することができる。このスポットデータベースと、カテゴリデータベースは、口コミのみから生成することもできる。また、最新の口コミを随時取得することにより、これらのデータベースを拡充することもできる。そして、口コミには、スポットやカテゴリを評価、あるいは表現する際に使用される最新の用語が反映されるので、上記のようにして生成した各データベースを用いることにより、そのような最新の用語を用いた検索にも対応することが可能になる。
【0173】
また、クラスタ決定部323は、上記クラスタリングモデルを用いて特徴語のクラスタを決定し、スポットDB生成部324は、クラスタ決定部323が決定したクラスタとスポットとを対応付けて記憶する。これにより、検索部25は、スポットに直接対応付けられていない単語からなる検索フレーズが入力された場合であっても、その単語に対応する
クラスタを用いることにより、妥当なスポットを検出することが可能になる。
【0174】
同様に、カテゴリDB生成部326は、クラスタ決定部323が決定したクラスタとカテゴリ分類部325が分類したカテゴリとを対応付けて記憶する。これにより、カテゴリ判別部23は、カテゴリに直接対応付けられていない単語からなる検索フレーズが入力された場合であっても、その単語に対応するクラスタを用いることにより、妥当なカテゴリを判定することが可能になる。
【0175】
さらに、特徴語抽出部322は特徴語を抽出すると共にその重みを算出し、スポットDB生成部324はスポットと、クラスタと、特徴語と、重みとを対応付けて記憶する。これにより、1つのクラスタに含まれる各特徴語について、スポットとの関連性の大きさが重みの値により特定可能となる。よって、検索部25は、検索フレーズに対応する特徴語と、スポットとの関連性の大きさを考慮して、検索結果を順位付けすることが可能になる。
【0176】
同様に、カテゴリDB生成部326は、カテゴリと、クラスタと、特徴語と、重みとを対応付けて記憶する。これにより、1つのカテゴリに対応付けられている各特徴語について、当該カテゴリとの関連性の大きさが重みの値により特定可能となる。よって、カテゴリ判別部23は、検索フレーズに対応する特徴語と、カテゴリとの関連性の大きさを考慮して、カテゴリの判定結果を順位付けすることが可能になる。
【0177】
(再学習について)
検索において、教師あり機械学習で生成したモデルを用いる場合、該検索の検索結果に応じた教師データを生成し、その教師データにより再度機械学習を行って当該モデルを更新してもよい。例えば、ある検索フレーズが入力されて、カテゴリの判定(S204)とスポットの検索(S206)が行われ、情報処理端末1に通知されたスポットのいずれかがユーザに選択されたとする。この場合、選択されたスポットはユーザの意に沿ったスポットであったと考えられる。よって、上記検索フレーズあるいは該検索フレーズを構成する単語とその特徴ベクトルと、当該スポットまたはそのカテゴリとを対応付けて教師データとすることができる。例えば、上記検索フレーズと選択されたスポットのカテゴリとを対応付けることにより、カテゴリ分類部が使用する分類モデルを更新するための教師データとしてもよい。このような教師データを用いた再学習によって分類モデルを更新することにより、S401の分類精度を向上することができる。
【符号の説明】
【0178】
1 情報処理端末
2 情報検索装置
3 情報蓄積装置
10 情報検索システム
11 入力装置
12 端末通信装置
13 表示装置
15 端末記憶装置
21 検索通信装置
22 位置情報取得部
23 カテゴリ判別部
24 特徴語生成部
25 検索部
28 検索記憶装置
31 蓄積記憶装置