以下、本発明の実施の形態について説明する。なお、以下に挙げる各実施形態はそれぞれ例示であり、本発明は以下の実施形態の構成に限定されない。
[第一実施形態]
以下、第一実施形態における情報分析装置及び情報分析方法について説明する。
〔装置構成〕
図1は、第一実施形態における情報分析装置(以降、分析装置と略称する場合もある)10のハードウェア構成例を概念的に示す図である。分析装置10は、通信網5を介して、ユーザが利用するクライアント装置8及び情報提供サイト7に通信可能に接続される。通信網5は、インターネット等のような公衆網、WAN(Wide Area Network)、LAN(Local Area Network)、無線通信ネットワーク等である。なお、本実施形態において、分析装置10、情報提供サイト7及びクライアント装置8の間の通信形態は限定されない。
分析装置10は、一般的なコンピュータであり、図1に示されるようなハードウェア要素を有する。具体的には、分析装置10は、ハードウェア構成として、CPU(Central Processing Unit)1、メモリ2、入出力インタフェース(I/F)3、通信ユニット4等を有する。これら各ハードウェア要素はバスにより接続される。
CPU1には、一般的なCPUに加えて、特定用途向け集積回路(ASIC)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)等も含まれる。
メモリ2は、RAM(Random Access Memory)、ROM(Read Only Memory)、補助記憶装置(ハードディスク等)である。
入出力I/F3は、表示装置(図示せず)、入力装置(図示せず)等のユーザインタフェース装置と接続可能である。表示装置は、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)ディスプレイのような、CPU1により処理された描画データに対応する画面を表示する装置である。入力装置は、キーボード、マウス等のようなユーザ操作の入力を受け付ける装置である。表示装置及び入力装置は一体化され、タッチパネルとして実現されてもよい。
通信ユニット4は、他のコンピュータとの通信網5を介した通信や、他の機器との信号のやりとり等を行う。通信ユニット4には、可搬型記録媒体等も接続され得る。分析装置10は、図1に図示しないハードウェア要素を含んでもよく、各ハードウェア要素の数も図1に示される数に制限されない。例えば、分析装置10は、複数のCPU1や複数のメモリ2を有する。分析装置10のハードウェア構成は制限されない。
情報提供サイト7は、一般的なコンピュータであり、WEBサーバ、データベースサーバ等のような各種情報を提供するサーバ装置である。本実施形態は、情報提供サイト7のハードウェア構成及びソフトウェア構成を制限しない。以降、情報提供サイト7は、サイト7と略称される場合もある。
分析装置10は、1以上のサイト7と通信可能に接続される。本実施形態において分析装置10がアクセスするサイト7の数は制限されない。分析装置10は、サイト7により提供される大量の情報の中から各ユーザが欲しいと推測される情報をピックアップして、所望の情報をユーザ(クライアント装置8)に提供する。
クライアント装置8は、PC(Personal Computer)、タブレット端末、スマートフォン、携帯電話等のような一般的なユーザ端末である。また、クライアント装置8は、ユーザインタフェースを備えるコミュニケーションロボットであってもよい。クライアント装置8は、分析装置10により提供される情報をユーザに向けて出力することができ、かつユーザからの入力を受けることができる装置であれば、そのハードウェア構成及びソフトウェア構成は制限されない。情報は、表示装置、プリンタ装置、音声出力装置等により出力可能である。また、ユーザからの入力は、キーボード、マウス等のようなユーザ操作の入力を受け付ける入力装置(図示せず)、ユーザの発言音声を取得するマイク(図示せず)、ユーザのジェスチャを撮像するカメラ等により受けることができる。以降、クライアント装置8は、クライアント8と略称する場合もある。
クライアント8は、ユーザの動作に起因して取得された文字列データを分析装置10に送る。具体的には、クライアント8は、入力装置に対するユーザ操作により入力された文字列データを取得する。例えば、ブラウザに対して入力された検索文字列、カレンダアプリケーションに対して入力されたスケジュール文字列、メモ書き等、あらゆる文字列データが取得され得る。
また、クライアント8は、マイクロフォンで集音されたユーザの音声を録音し、その録音された音声データを分析装置10に送ることもできる。クライアント8は、既知の音声認識技術を用いてその音声データから文字列データを取得し、この文字列データを分析装置10に送ってもよい。
本実施形態では、当該文字列データ又は当該音声データがユーザの動作に起因するものであれば、クライアント8による当該文字列データ又は当該音声データの取得手法は制限されない。例えば、クライアント8にインストールされたアプリケーション(WEBブラウザを含む)が周知の技術を用いて当該文字列データ又は当該音声データを取得し、取得されたデータを分析装置10に送る。また、クライアント8は、取得された文字列データを品詞分解することにより単語データを抽出し、抽出された単語データを分析装置10に送信することもできる。
〔処理構成〕
図2は、第一実施形態における分析装置10の処理構成例を概念的に示す図である。分析装置10は、図2に示されるようなソフトウェア要素を有する。具体的には、分析装置10は、取得部11、ユーザ単語DB(DataBase)12、キーワードDB(DataBase)13、特定部14、選択部15、検索制御部16、出力処理部17等を有する。これら各ソフトウェア要素は、例えば、CPU1によりメモリ2に格納されるプログラムが実行されることにより実現される。また、当該プログラムは、例えば、CD(Compact Disc)、メモリカード等のような可搬型記録媒体やネットワーク上の他のコンピュータから入出力I/F3又は通信ユニット4を介してインストールされ、メモリ2に格納されてもよい。
取得部11は、クライアント8又は他の装置から文字列データ又は音声データを受信する場合には、受信された文字列データ又は音声データから1以上の単語データを抽出する。具体的には、取得部11は、受信された文字列データを品詞分解(形態素解析)することにより1以上の単語データを抽出する。形態素解析には、MeCab等のような様々な既知の手法が利用可能である。例えば、取得部11は、各種品詞の単語の中から、名詞、動詞などの特定の品詞の単語データのみを取得してもよい。更に、取得部11は、名詞の中でも、一般名詞、固有名詞、サ変接続名詞といった特定の名詞の単語データのみを取得することもできるし、取得された動詞を基本形に正規化することもできる。
取得部11は、音声データに対して既知の音声認識技術を適用することにより、ユーザの声がテキスト化された文字列データを取得し、この文字列データを品詞分解することもできる。上述のような品詞分解又は音声認識がクライアント8上で実行される場合には、取得部11は、クライアント8により抽出された当該複数の単語データをクライアント8から受信してもよい。
取得部11は、取得された単語データを送信元のユーザ又はクライアント8の識別情報と関連付けてユーザ単語DB12に格納する。ユーザの識別情報が利用される場合、取得部11は、単語データ又はその単語データの元となるデータと共に、ユーザの識別情報をクライアント8から受信する。取得部11は、単語データの取得日時をその単語データと関連付けて更にユーザ単語DB12に格納してもよい。
更に、取得部11は、任意のタイミングで、ユーザ単語DB12から当該複数の単語データをユーザ毎に取得する。任意のタイミングは、ランダムなタイミング、所定の周期を含む。このとき、取得部11は、ユーザ単語DB12において、ユーザ毎に蓄積される複数の単語データの中から、ユーザの興味や関心を強く示す単語データを取得することが望ましい。ユーザの興味や関心の強さは、例えば、単語データの発生頻度により判断することができる。取得部11は、ユーザ単語DB12に単語データが格納されている全ユーザを対象にして単語データの抽出を行ってもよいし、ユーザ毎のログイン状況に基づいて、ログイン中のユーザのみに関して、ユーザ単語DB12から当該複数の単語データを抽出してもよい。
後述する特定部14、選択部15、検索制御部16及び出力処理部17は、取得部11により取得された単語データに基づいて、処理を行う。一方、取得部11は、上述したとおり、クライアント8から送られるデータから直接的に単語データを取得する場合と、ユーザ単語DB12から自発的に単語データを取得する場合とをサポートする。前者は、ユーザの動作が契機となるため、受動的な動作と表現でき、後者は、自発的又は能動的な動作と表現できる。よって、以降、クライアント8から送られるデータから直接的に取得された単語データに基づいて動作するモードをパッシブ動作モードと表記し、ユーザ単語DB12から取得された単語データに基づいて動作するモードをアクティブ動作モードと表記する。
ユーザ単語DB12は、ユーザ毎に、ユーザの動作に起因して生成された単語データを蓄積する。具体的には、ユーザ単語DB12は、ユーザ又はクライアント8の識別情報と単語データとを相互に関連付けて格納する。ユーザ単語DB12は、一ユーザに関して同一単語データを複数重複して格納してもよいし、重複を排除して、一ユーザに関して一単語データ及び発生回数を格納してもよい。また、ユーザ単語DB12は、ユーザ毎に、単語データ及びその単語データの取得日時を格納してもよい。
キーワードDB13は、提供先関係テーブル、クエリカテゴリテーブル及びクエリワードテーブルを含む。
提供先関係テーブルは、提供先カテゴリと提供先キーワードとの関係を示す提供先関係情報を格納する。具体的には、提供先関係テーブルは、提供先カテゴリの識別情報と提供先キーワードのキーワードデータとを相互に関連付けて格納する。各提供先カテゴリは、各サイト7が提供している情報のカテゴリを示し、対応するカテゴリの情報を提供するサイト7に対応付けられる。提供先カテゴリの識別情報とサイト7のアドレス情報とが別途対応付けられている。サイト7のアドレス情報は、URL(Uniform Resource Locator)のような、サイト7により提供されている情報を取得するための情報である。提供先キーワードは、提供先カテゴリに何らかの関係を有する単語である。例えば、提供先カテゴリに属する意味を持つ単語が提供先キーワードとして格納される。また、提供先カテゴリに間接的に関係する単語が提供先キーワードとして格納されてもよい。
図3は、キーワードDB13の提供先関係テーブルの例を示す図である。図3では、分かり易くするために、提供先カテゴリの識別情報がそのカテゴリを示す単語(名詞)で図示されている。但し、提供先関係テーブルに格納される提供先カテゴリの識別情報は、図3に図示される単語ではなく、数値であってもよい。図3の例では、提供先カテゴリ「グルメ」に提供先キーワードとして「行く」が関連付けられている。単語「行く」は、外出を意味することから、「外出時の食事」を連想させる。このように、単語「行く」は、直接的には「グルメ」というカテゴリには属さないものの、間接的な関係(例えば、「外出時の食事」の連想)から「グルメ」に関連付けられる。
上述したとおり、提供先カテゴリはサイト7に対応付けられるため、提供先関係テーブルは、単語と、その単語に直接的及び間接的に関連する情報を提供するサイト7との関連を示すということもできる。従って、提供先関係テーブルは、提供先カテゴリの識別情報として、サイト7の識別情報(アドレス情報であってもよい)を格納してもよい。
クエリカテゴリテーブルは、提供先カテゴリとクエリカテゴリとの関係を示す情報を格納する。具体的には、クエリカテゴリテーブルは、提供先カテゴリの識別情報とクエリカテゴリの識別情報とを相互に関連付けて格納する。クエリカテゴリテーブルに格納される提供先カテゴリは、上述の提供先関係テーブルに格納される提供先カテゴリと同じである。クエリカテゴリは、提供先カテゴリに対応するサイト7から提供される情報に含まれる情報カテゴリを示す。言い換えれば、クエリカテゴリテーブルにおいて或る提供先カテゴリに関連付けられていないクエリカテゴリは、その提供先カテゴリに対応するサイト7から提供される情報に対する検索のキーワードとして利用されないカテゴリを示す。
図4は、キーワードDB13のクエリカテゴリテーブルの例を示す図である。図4では、分かり易くするために、提供先カテゴリ及びクエリカテゴリの各識別情報がそのカテゴリを示す単語(名詞)でそれぞれ図示されている。但し、クエリカテゴリテーブルに格納される提供先カテゴリ及びクエリカテゴリの各識別情報は、図4に図示される単語ではなく、数値であってもよい。図4の例では、提供先カテゴリ「グルメ」には「料理名」及び「地名」がクエリカテゴリとして格納されている。よって、「グルメ」に対応するサイト7から提供される情報に対する検索のキーワードとして「料理名」及び「地名」のカテゴリの単語が利用されることを示している。一方で、提供先カテゴリ「グルメ」には「食材名」が関連付けられていない。よって、「グルメ」に対応付けられたサイト7から提供される情報に対する検索のキーワードとして「食材名」のカテゴリの単語が利用されないことを示している。
クエリワードテーブルは、上述のクエリカテゴリとクエリキーワードとの関係を示す情報を格納する。具体的には、クエリワードテーブルは、クエリカテゴリの識別情報とクエリキーワードのキーワードデータとを相互に関連付けて格納する。クエリワードテーブルに格納されるクエリカテゴリは、上述のクエリカテゴリテーブルに格納されるクエリカテゴリと同じである。クエリキーワードは、クエリカテゴリに属する意味を持つ単語である。
図5は、キーワードDB13のクエリワードテーブルの例を示す図である。図5では、分かり易くするために、クエリカテゴリの識別情報がそのカテゴリを示す単語(名詞)で図示されている。但し、クエリワードテーブルに格納されるクエリカテゴリの識別情報は、図5に図示される単語ではなく、数値であってもよい。図5の例では、クエリカテゴリ「日付名」に、クエリキーワードとして「明日」、「明後日」、「6月8日」が関連付けられている。
クエリカテゴリテーブル及びクエリワードテーブルは、上述したとおり、クエリカテゴリにより相互に関連付けられる。よって、クエリカテゴリテーブル及びクエリワードテーブルは、クエリ関係情報と表記することもできる。また、クエリカテゴリを用いて、クエリカテゴリテーブル及びクエリワードテーブルを統合することもできる。この場合、統合されたテーブルでは、提供先カテゴリとクエリキーワードとの関係が示される。本実施形態のようにクエリカテゴリテーブルとクエリワードテーブルとを別に設けることにより、重複するクエリキーワードをテーブルに格納せずにすむため、メモリリソースの削減につながる。また、各テーブルのデータを管理し易いというメリットも享受できる。
ユーザ単語DB12及びキーワードDB13は、関係データベースであってもよいし、JSON(JavaScript(登録商標) Object Notation)やXML(Extensible Markup Language)等のような所定の記述言語で記載されたファイルであってもよい。
特定部14は、上述の提供先関係テーブルを参照することにより、取得部11により取得された1以上の単語データに対応する提供先カテゴリを特定する。例えば、特定部14は、取得部11により取得された単語データがキーワードDB13の提供先関係テーブルに提供先キーワードとして格納されているか否かを判定する。特定部14は、1以上の単語データが提供先キーワードとして格納されている提供先カテゴリを特定する。特定部14は、複数の提供先カテゴリを特定してもよい。また、1以上の単語データが提供先キーワードとして格納されている提供先カテゴリが複数存在する場合、特定部14は、最多の単語データが提供先キーワードとして格納されている一つの提供先カテゴリを特定してもよい。
また、特定部14は、提供先キーワードの特徴量と取得部11により取得された各単語データの特徴量との類似度を算出し、この類似度を用いて、提供先カテゴリを特定することもできる。単語データの特徴量の表記手法及び単語間の類似度計算手法については様々な既知の手法が利用できる。特定部14は、提供先キーワードデータ及び取得部11により取得された各単語データをそれぞれ特徴量データに変換し、変換された特徴量データ間の類似度を計算する。特徴量データはベクトル構造を有していてもよい。本実施形態では、単語間の類似度の計算手法は何ら制限されない。但し、意味及び概念の近さが類似度として高精度に算出される手法が利用されることが望ましい。
特定部14は、上述のように算出された類似度の距離により、提供先カテゴリを特定することもできる。他の例として、特定部14は、所定閾値以上でかつ最も高い類似度を示す提供先キーワードと関連付けられた提供先カテゴリを特定してもよい。また、特定部14は、所定閾値以上の類似度を示す提供先キーワードの数が最大の提供先カテゴリを特定してもよい。また、特定部14は、提供先カテゴリ毎の提供先キーワードの平均類似度が最も高い提供先カテゴリを特定してもよい。特定部14は、当該平均類似度が所定閾値以上の提供先カテゴリを特定してもよい。
特定部14は、上述の既知の技術を用いて多数の単語について予め算出された特徴量データを保持しておいてもよい。このような単語毎の特徴量データは、分析装置10以外の他の装置により生成されてもよい。この場合、特定部14は、単語毎の特徴量データのテーブルを用いて、取得部11により取得された各単語データをそれぞれ特徴量データに置き換える。キーワードDB13には、提供先キーワード及びクエリキーワードとして、各々に対応する特徴量データが予め格納されてもよい。また、提供先関係テーブルには、提供先カテゴリ毎に、複数の提供先キーワードの平均特徴量データが格納されてもよい。この場合、特定部14は、取得部11により取得された各単語データの特徴量データと提供先カテゴリ毎の平均特徴量データとの類似度を計算することで、提供先カテゴリを特定する。このように、特定部14による提供先カテゴリの特定手法は制限されない。
選択部15は、取得部11により取得された1以上の単語データの中から検索キーワードに用いる単語データを選択する。具体的には、選択部15は、キーワードDB13のクエリカテゴリテーブル及びクエリワードテーブルに基づいて、取得部11により取得された各単語データが特定部14により特定された提供先カテゴリに関連付けられたクエリカテゴリに属するか否かをそれぞれ判定する。選択部15は、この判定により、取得部11により取得された1以上の単語データの中から検索キーワードに用いる単語データを選択する。以降、特定部14により特定された提供先カテゴリに関連付けられたクエリカテゴリを「対象クエリカテゴリ」と表記する場合もある。特定部14が複数の提供先カテゴリを選択している場合、選択部15は、特定された複数の提供先カテゴリの各々について、取得部11で取得された複数の単語データの中から検索キーワードに用いる単語データをそれぞれ選択する。つまり、提供先カテゴリ毎に異なる単語データが選択される場合や、同一の単語データが全ての提供先カテゴリに共通で選択される場合や、単語データが全く選択されない提供先カテゴリが存在する場合などがあり得る。
例えば、選択部15は、クエリカテゴリテーブルから対象クエリカテゴリを抽出し、取得部11により取得された各単語データが、クエリワードテーブルにおいて、対象クエリカテゴリに関連付けられたクエリキーワードと一致するか否かをそれぞれ判定する。選択部15は、対象クエリカテゴリに関連付けられたクエリキーワードと一致する単語データを検索キーワードに用いる単語データの候補として選択し、それ以外の単語データをその候補から除外する。
また、選択部15は、クエリワードテーブルで示されるクエリキーワードと取得部11により取得された各単語データの特徴量との類似度をそれぞれ算出し、算出された類似度を用いて、取得部11により取得された各単語データについて上記判定をそれぞれ行ってもよい。選択部15は、クエリキーワードデータ及び取得部11により取得された各単語データをそれぞれ特徴量データに変換し、変換された特徴量データ間の類似度を計算する。単語データの特徴量の表記手法及び単語間の類似度計算手法については上述したとおりである。
例えば、選択部15は、単語データとの類似度が所定閾値以上を示すクエリキーワードが対象クエリカテゴリに関連付けられている場合、その単語データを当該クエリカテゴリに属すると決定する。クエリワードテーブルがクエリカテゴリ毎に複数のクエリキーワードの平均特徴量データを格納している場合、選択部15は、対象クエリカテゴリの平均特徴量データとの類似度が所定閾値以上となる単語データを当該クエリカテゴリに属すると決定する。
検索制御部16は、特定部14により特定された提供先カテゴリに対応するサイト7を特定し、このサイト7から提供される情報に対する選択部15により選択された単語データを検索キーワードとして用いた検索を要求する。一つの単語データも選択されなかった提供先カテゴリが存在する場合には、検索制御部16は、その提供先カテゴリに対応するサイト7から提供される情報に対する検索には検索キーワードを指定しなくてもよい。
特定されたサイト7がサイト内検索をサポートしている場合、検索制御部16は、その特定されたサイト7に対して、選択された単語データを検索キーワードとする検索を要求し、その検索結果として抽出された情報をサイト7から受信する。また、特定されたサイト7がサイト内検索をサポートしていない場合、サイト7以外のコンピュータが、そのサイト7が提供している全ての情報をそのサイト7から取得し、取得された情報に対して当該検索を実施してもよい。この場合、検索制御部16は、その検索を行うコンピュータに対して検索を要求する。このとき検索制御部16は、そのコンピュータに対して、サイト7のアドレス情報と検索キーワードとして選択された単語データとを送る。検索を実施するコンピュータは、分析装置10であってもよい。
出力処理部17は、検索制御部16により検索結果として取得された情報をクライアント8に送信する。これにより、クライアント8ではその情報が出力される。クライアント8は、分析装置10から提供された情報を、表示、印刷、音声など様々な方法で出力可能である。パッシブ動作モードでは、クライアント8は、ユーザの動作に起因して生じたデータ(文字列、単語、音声等)を分析装置10に送信し、分析装置10から受信された情報をユーザに提示する。アクティブ動作モードでは、クライアント8は、ユーザの動作に関わらず分析装置10から自発的に送られる情報を受信し、その情報をユーザに提示する。
〔動作例/情報分析方法〕
以下、第一実施形態における情報分析方法について図6を用いて説明する。図6は、第一実施形態における分析装置10の動作例を示すフローチャートである。図6に示されるように、第一実施形態における情報分析方法は、分析装置10のような少なくとも一つのコンピュータにより実行される。図6に示される各工程は、分析装置10が有する各ソフトウェア要素の処理内容と同様であるため、各工程の詳細は、適宜省略される。
分析装置10は、複数の単語データを取得する(S61)。(S61)での単語データの取得方法は2つの方法に分類できる。一つは、パッシブ動作モードで実行される方法である。具体的には、分析装置10は、クライアント8から文字列データ又は音声データを受信し、既知の技術を用いて、その受信された文字列データ又は音声データから複数の単語データを抽出する。この単語データの抽出手法については、取得部11の説明中で述べたとおりである。分析装置10は、クライアント8から当該複数の単語データそのものを受信してもよい。分析装置10は、取得された単語データを、送信元のユーザ又はクライアント8の識別情報と関連付けて、ユーザ単語DB12に格納する。パッシブ動作モードでは、このようにクライアント8からのデータの受信を契機に以降の工程が実行される。
もう一つの方法は、アクティブ動作モードで実行される方法である。この場合、分析装置10は、ユーザ単語DB12を任意のタイミングで参照することにより、ユーザ単語DB12から当該複数の単語データをユーザ毎に取得する。このとき、分析装置10は、ユーザ単語DB12において、ユーザ毎に蓄積される複数の単語データの中から、ユーザの興味や関心を強く示す単語データを取得することが望ましい。アクティブ動作モードでは、このように分析装置10が自発的に当該単語データを取得し、この取得を契機に以降の工程が実行される。
分析装置10は、キーワードDB13の提供先関係テーブルを参照することにより、提供先関係テーブルに格納される複数の提供先カテゴリの中から、(S61)で取得された単語データに対応する提供先カテゴリを特定する(S62)。提供先カテゴリの特定方法については、特定部14の説明中で述べたとおりである。
分析装置10は、キーワードDB13のクエリカテゴリテーブル及びクエリワードテーブルを参照することにより、(S61)で取得された複数の単語データの中から検索キーワードに用いる単語データを選択する(S63)。具体的には、分析装置10は、(S61)で取得された各単語データが(S62)で特定された提供先カテゴリに関連付けられたクエリカテゴリに属するか否かをそれぞれ判定することにより、上記選択を行う。この選択手法については、選択部15の説明中で述べたとおりである。
分析装置10は、(S62)で特定された提供先カテゴリに対応するサイト7を特定し、そのサイト7から提供される情報に対する(S63)で選択された単語データを用いた検索を要求する(S64)。分析装置10は、特定されたサイト7に検索を要求してもよいし、他のコンピュータに対して検索を要求してもよい。また、分析装置10は、自身で検索を実行してもよい。
分析装置10は、上記検索の結果として抽出された情報をクライアント8に出力させる(S65)。パッシブ動作モードでは、クライアント8のユーザは、クライアント8に対する入力操作といった自身の動作を契機に、所望の情報を得ることができる。一方、アクティブ動作モードでは、クライアント8のユーザは、任意のタイミングで所望の情報を得ることができる。
次に、図3、図4及び図5に示される具体的なデータを用いて、第一実施形態における情報分析方法の具体例を更に説明する。図7は、第一実施形態における分析装置10の一動作例のフロー及びデータの処理例を示す図である。ここでは、クライアント8で表示されているカレンダ画面に対して、ユーザが、「花見に行く」というスケジュールを入力したと仮定する。
この場合、分析装置10は、クライアント8から文字列データ「花見に行く」を受信する(S71)。分析装置10は、受信された文字列データを品詞分解し、名詞単語データ「花見」及び動詞単語データ「行く」を取得する(S72)。ここでは、助詞単語データ「に」は処理対象から除外される。
分析装置10は、単語データ「花見」及び「行く」を特徴ベクトルにそれぞれ変換する(S73)。ここでは、単語データの特徴量を表すデータとして特徴ベクトルが例示される。
ここでは、キーワードDB13の提供先関係テーブルには、提供先カテゴリ毎に、提供先キーワードの平均特徴ベクトルが格納されていると仮定する。図3の例によれば、提供先カテゴリ「イベント」には、「イベント」、「花火」、「祭り」、「防災訓練」、「花見」、「復興」等の複数の提供先キーワードの平均特徴ベクトルが関連付けられている。また、提供先カテゴリ「グルメ」には、「食事」、「グルメ」、「行く」等の複数の提供先キーワードの平均特徴ベクトルが関連付けられている。
分析装置10は、(S73)で変換された「花見」及び「行く」の各特徴ベクトルと、提供先関係テーブルに格納されている各平均特徴ベクトルとの類似度をそれぞれ計算し、所定閾値以上の類似度を示す平均特徴ベクトルに関連付けられた提供先カテゴリをそれぞれ特定する(S74)。ここでは、「花見」の特徴ベクトルと提供先カテゴリ「イベント」の平均特徴ベクトルとの類似度「0.82」が所定閾値以上であるため、単語データ「花見」に関して提供先カテゴリ「イベント」が特定される。また、「行く」の特徴ベクトルと提供先カテゴリ「グルメ」の平均特徴ベクトルとの類似度「0.78」が所定閾値以上であるため、単語データ「行く」に関して提供先カテゴリ「グルメ」が特定される。
分析装置10は、クエリカテゴリテーブルから、(S74)で特定された提供先カテゴリに対応するクエリカテゴリを抽出する。具体的には、分析装置10は、提供先カテゴリ「イベント」に対してクエリカテゴリ「イベント名」を抽出し、提供先カテゴリ「グルメ」に対してクエリカテゴリ「料理名」及び「地名」を抽出する。
ここでは、キーワードDB13のクエリワードテーブルには、クエリカテゴリ毎に、クエリキーワードの平均特徴ベクトルが格納されていると仮定する。図5の例によれば、クエリカテゴリ「イベント名」には、クエリキーワード「花火」、「祭り」、「花見」及び「七夕」の平均特徴ベクトルが関連付けられている。また、クエリカテゴリ「料理名」には、クエリキーワード「お好み焼き」、「すき焼き」及び「焼肉」の平均特徴ベクトルが関連付けられている。
分析装置10は、抽出された各クエリカテゴリ「イベント名」、「料理名」及び「地名」に関連付けられた各平均特徴ベクトルと、(S73)で変換された「花見」及び「行く」の各特徴ベクトルとの類似度をそれぞれ計算する。分析装置10は、算出された類似度が所定閾値以上を示す単語データを検索キーワードとして選択する(S75)。ここでは、単語データ「花見」は、その特徴ベクトルとクエリカテゴリ「イベント名」との類似度が所定閾値以上であるため、提供先カテゴリ「イベント」に対する検索キーワードとして選択される。但し、単語データ「花見」は、各クエリカテゴリ「料理名」及び「地名」の特徴ベクトルとの類似度が所定閾値未満であるため、提供先カテゴリ「グルメ」に対する検索キーワードからは除外される。一方で、単語データ「行く」は、クエリカテゴリ「イベント名」、「料理名」及び「地名」の各特徴ベクトルとの類似度が所定閾値未満であるため、提供先カテゴリ「イベント」及び「グルメ」に対する検索キーワードから除外される。
分析装置10は、(S74)で特定された提供先カテゴリ「イベント」及び「グルメ」に対応するイベントサイト及びグルメサイト(共にサイト7)を決定し、更に、各サイトに要求するクエリを決定する(S76)。イベントサイトに対する検索のクエリに、検索キーワード「花見」が決定され、グルメサイトに対する検索のクエリには、検索キーワードが指定されない。
〔第一実施形態の作用及び効果〕
上述したように第一実施形態では、ユーザの動作に起因して生成される単語データが取得され、複数の提供先カテゴリと複数の提供先キーワードとの関係を示す提供先関係テーブルに基づいて、その取得された単語データに対応する提供先カテゴリが特定される。当該複数の提供先カテゴリは、情報提供サイト7にそれぞれ対応付けられている。つまり、第一実施形態では、予め検索先として登録されているサイト7の中から、ユーザから得られる単語データに関連するサイト7が検索先として特定される。従って、第一実施形態によれば、信頼性がありかつユーザに関連する情報を提供するサイト7を対象に検索を実行することができるため、信頼性が高くかつユーザに関連する情報を提供することができる。
また、第一実施形態では、複数の提供先カテゴリと複数のクエリカテゴリとの関係を示すクエリカテゴリテーブル及び複数のクエリカテゴリと複数のクエリキーワードとの関係を示すクエリワードテーブルが参照される。これらテーブルでは、各サイト7(各提供先カテゴリ)について、そのサイト7から提供される情報の内容に合うカテゴリがクエリカテゴリとしてそれぞれ登録されており、各クエリカテゴリについて、そのクエリカテゴリに属する単語がクエリキーワードとしてそれぞれ登録されている。そして、これらテーブルに基づいて、各単語データが特定された提供先カテゴリに対応するクエリカテゴリに属するか否かがそれぞれ判定され、この判定に基づいて、取得された単語データの中から検索キーワードに用いる単語データが選択される。従って、第一実施形態によれば、サイト7から提供される情報の内容に合った単語データを検索キーワードに用いた検索を実行することができるため、ユーザの興味や関心に合った情報を高精度に提供することができる。
また、第一実施形態では、提供先カテゴリとキーワードとの対応関係が、提供先関係テーブルと、クエリカテゴリテーブル及びクエリワードテーブルの組み合わせとで、別々に格納される。提供先関係テーブルには、当該対応関係が直接格納され、クエリカテゴリテーブル及びクエリワードテーブルの組み合わせには、クエリカテゴリを介して、当該対応関係が間接的に格納される。これにより、同一のサイト7(提供先カテゴリ)に対応付けるキーワードの集合を、提供先関係テーブルと、クエリカテゴリテーブル及びクエリワードテーブルの組み合わせとで相違させることができる。結果、検索先を決めるための提供先関係テーブルでは、提供先カテゴリには、直接的に関連するキーワードのみではなく、間接的に関連するキーワードも関連付けることができる。これにより、ユーザから得られる単語に付随した情報も提供することができるため、提供する情報の範囲を広げることができる。
また、第一実施形態では、提供先カテゴリの特定及び検索キーワードに用いる単語データの選択において、ユーザから得られる単語データと提供先キーワード又はクエリキーワードとの類似度が用いられてもよい。つまり、第一実施形態では、単語間の類似度に基づいて、検索先のサイト7及び検索キーワードが決定され得る。これにより、第一実施形態によれば、ユーザから得られる単語データに基づいて、概念レベル又は意味レベルでユーザの嗜好に合う情報を提供するサイト7及びそのような情報を抽出するための検索キーワードを特定することができる。よって、提供する情報をユーザの興味や関心により近付けることができる。
更に、第一実施形態では、クライアント8からのデータの受信を契機に、検索を実行し、検索により抽出された情報をクライアント8に提供するパッシブ動作モードと、ユーザ単語DB12からの自発的な単語データの取得を契機に、情報を提供するアクティブ動作モードとがサポートされる。これにより、ユーザは、自身が欲しいときに欲しい情報を取得することもできるし、不意に欲しい情報を取得することもできる。
[第2実施形態]
上述の第一実施形態において、単語データの特徴量を示すデータとして特徴ベクトルが利用されてもよいこと、提供先関係テーブル及びクエリワードテーブルにおいて、提供先キーワード及びクエリキーワードの替わりに、平均特徴ベクトルが予め格納されてもよいことを述べた。第二実施形態は、特徴ベクトルの学習を行うことで、テーブル設定を自動化する。以下、第二実施形態における情報分析装置及び情報分析方法について、第一実施形態と異なる内容を中心に説明する。以下の説明では、第一実施形態と同様の内容については適宜省略する。
第二実施形態における分析装置10のハードウェア構成は、第一実施形態と同様でよい。
〔処理構成〕
図8は、第二実施形態における分析装置10の処理構成例を概念的に示す図である。分析装置10は、図8に示されるようなソフトウェア要素を有する。具体的には、分析装置10は、取得部21、変換部22、提供先DB(DataBase)23、特定部24、検索制御部25、出力処理部26、評価取得部27、更新部28等を有する。これら各ソフトウェア要素は、例えば、CPU1によりメモリ2に格納されるプログラムが実行されることにより実現される。また、当該プログラムは、例えば、CD(Compact Disc)、メモリカード等のような可搬型記録媒体やネットワーク上の他のコンピュータから入出力I/F3又は通信ユニット4を介してインストールされ、メモリ2に格納されてもよい。
取得部21は、ユーザの動作に起因して生成された複数の単語データを取得する。取得部21は、単語データ又はその単語データの元となるデータと共に、ユーザの識別情報をクライアント8から受信する。本実施形態では、第一実施形態におけるユーザ単語DB12が存在しないため、アクティブ動作モードはサポートされない。この点を除き、取得部21の処理内容については、第一実施形態における取得部11と同様である。
変換部22は、取得部21により取得された複数の単語データを特徴ベクトルにそれぞれ変換する。この変換方法には既知の様々な手法が利用可能である。変換部22は、既知の手法を用いて多数の単語について予め算出された特徴ベクトルのリストを保持しておいてもよい。特徴ベクトルは、分析装置10以外の他の装置により生成されてもよい。この場合、変換部22は、保持される特徴ベクトルのリストを用いて、取得部21により取得された各単語データを特徴ベクトルに変換する。以降、変換された特徴ベクトルは、単語特徴ベクトルと表記される場合もある。
提供先DB23は、複数の情報提供先と複数の特徴ベクトルとの関係を示す提供先関係テーブルを含む。提供先関係テーブルは、ユーザ毎に設けられる。また、提供先関係テーブル内で、ユーザの識別情報と複数の情報提供先と複数の特徴ベクトルとの関係が格納されてもよい。本実施形態では、情報提供先はサイト7と表記されるため、提供先関係テーブルには、サイト7の識別情報と特徴ベクトルとが一対一で関連付けられて格納される。サイト7の識別情報は、サイト7のアドレス情報であってもよいし、第一実施形態のような提供先カテゴリの識別情報であってもよい。サイト7のアドレス情報が取得できれば、提供先関係テーブルに格納される情報提供先の識別情報は制限されない。
提供先関係テーブルに格納される特徴ベクトルは、随時、更新されるため、その初期値は、任意である。ランダムに生成された特徴ベクトルが初期値とされてもよいし、対応するサイト7から提供される情報の内容を表す代表的な単語から変換された特徴ベクトルが初期値とされてもよい。
特定部24は、ユーザの提供先関係テーブルに格納される各特徴ベクトルと、変換部22により算出された各単語特徴ベクトルとの類似度をそれぞれ算出することにより、検索対象とする情報提供先(サイト7)と単語データとの組み合わせを特定する。特定部24は、取得部21により取得されたユーザの識別情報によりそのユーザの提供先関係テーブルを特定する。特定部24は、算出された類似度が所定閾値以上となる単語特徴ベクトルと特徴ベクトルとの組み合わせに基づいて、その単語特徴ベクトルに対応する単語データとその特徴ベクトルに対応するサイト7との組み合わせを特定する。その所定閾値は、予め特定部24により保持されていればよく、その具体的な値は制限されない。
検索制御部25は、特定部24により特定された組み合わせに対応する検索を要求する。具体的には、検索制御部25は、特定部24により特定された組み合わせにおけるサイト7から提供される情報に対するその組み合わせにおける単語データを検索キーワードとして用いた検索を要求する。検索制御部25は、特定部24により特定された複数の組み合わせにおいて、同一のサイト7に対して異なる単語データが組み合わされている場合、検索制御部25は、そのサイト7から提供される情報に対する複数の検索を要求する。例えば、情報提供先ST1に対して2つの単語データWD1及びWD2が組み合わされた場合、検索制御部25は、情報提供先ST1から提供される情報に対する検索キーワードWD1を用いた検索と、情報提供先ST1から提供される情報に対する検索キーワードWD2を用いた検索とをそれぞれ要求する。検索制御部25の処理内容は、第一実施形態における検索制御部16と同様である。
出力処理部26は、検索制御部16により検索結果として取得された情報をクライアント8に送信する。同一サイト7に関して異なる検索キーワードを用いた複数の検索が行われた場合、出力処理部26は、各検索の結果をクライアント8のユーザが区別できるように、取得された情報をクライアント8に送る。検索結果として取得された情報のクライアント8での出力方法については、第一実施形態で述べたとおりである。
評価取得部27は、出力処理部26により送信された情報に対する前記ユーザの評価情報を取得する。取得された評価情報は、評価点を示す数値を示してもよいし、その情報をユーザが閲覧したか否かを示してもよい。評価点を示す数値は、良し悪しのみを示してもよいし、5段階、10段階のような詳細な点数を示してもよい。評価取得部27は、出力された情報に対するユーザの操作を検出することで、情報に対するユーザの閲覧状態を把握することができる。評価取得部27は、出力処理部26により情報が送信された後に、その情報の評価をユーザに入力させる画面をクライアント8に表示させてもよい。評価取得部27は、出力処理部26により複数の検索の結果が区別されてクライアント8に送信された場合、各検索について評価情報をそれぞれ取得する。本実施形態では、ユーザの評価情報の取得手法は制限されない。
更新部28は、評価取得部27により取得された評価情報に基づいて、提供先関係テーブルにおいて、当該検索の対象とされた情報提供先に関連付けられている特徴ベクトルを更新する。評価取得部27により取得される評価情報は、ユーザに提供された情報を抽出した検索に対する評価を示す。よって、評価される検索の対象とされた情報提供先に関連付けられている特徴ベクトルが、その検索で用いられた単語データの特徴ベクトルに近付く又はその特徴ベクトルから離れるように、更新される。本実施形態では、特徴ベクトルの更新手法は制限されない。
〔動作例/情報分析方法〕
以下、第二実施形態における情報分析方法について図9を用いて説明する。図9は、第二実施形態における分析装置10の動作例を示すフローチャートである。図9に示されるように、第二実施形態における情報分析方法は、分析装置10のような少なくとも一つのコンピュータにより実行される。図9に示される各工程は、分析装置10が有する各ソフトウェア要素の処理内容と同様であるため、各工程の詳細は、適宜省略される。
分析装置10は、複数の単語データを取得する(S91)。このとき、分析装置10は、その単語データの元となるユーザの識別情報も合わせて取得する。アクティブ動作モードがサポートされていない点を除いて、工程(S91)の具体的内容は、第一実施形態における工程(S61)と同様である。
分析装置10は、(S91)で取得された複数の単語データを単語特徴ベクトルにそれぞれ変換する(S92)。この変換方法については、変換部22の説明中で述べたとおりである。
分析装置10は、ユーザの提供先関係テーブルに格納される各特徴ベクトルと、(S92)の変換で得られた各単語特徴ベクトルとの類似度をそれぞれ算出することにより、検索対象とする情報提供先(サイト7)と単語データとの組み合わせを特定する(S93)。類似度の算出手法及び組み合わせの特定手法については、特定部24の説明中で述べたとおりである。
分析装置10は、特定部24により特定された組み合わせ毎に、その組み合わせに対応する情報検索を要求する(S94)。(S94)の内容については、検索制御部25の説明中で述べたとおりである。
分析装置10は、(S94)の要求に応じて実行された検索の結果、取得された情報をクライアント8に送信する(S95)。同一サイト7に関して異なる検索キーワードを用いた複数の検索が行われた場合、分析装置10は、各検索の結果をクライアント8のユーザが区別できるように、取得された情報をそれぞれクライアント8に送る。検索結果として取得された情報のクライアント8での出力方法については、第一実施形態で述べたとおりである。
分析装置10は、(S95)で送信された(出力された)情報に対するユーザの評価情報を取得する(S96)。取得される評価情報及びその評価情報の取得方法については、評価取得部27の説明中で述べたとおりである。
分析装置10は、(S96)で取得された評価情報に基づいて、提供先関係テーブルにおいて、当該検索の対象とされた情報提供先に関連付けられている特徴ベクトルを更新する(S97)。この更新手法については、更新部28の説明中で述べたとおりである。
次に、具体的なデータを用いて、第二実施形態における情報分析方法の具体例を更に説明する。図10は、第二実施形態における分析装置10の一動作例のフロー及びデータの処理例を示す図である。ここでは、クライアント8で表示されているカレンダ画面に対して、ユーザUS2が、「花見に行く」というスケジュールを入力したと仮定する。
(S101)、(S102)及び(S103)の内容については、図7について説明された(S71)、(S72)及び(S73)の内容と同様である。
本実施形態では、提供先DB23の提供先関係テーブルには、情報提供先(サイト7)毎に特徴ベクトルが格納されている。図10の例では、ユーザの識別情報と情報提供先の識別情報と特徴ベクトルとが関連付けられて提供先関係テーブルに格納されている。例えば、ユーザUS2に関し、情報提供先「イベントサイト」と特徴ベクトルVC3とが関連付けられており、情報提供先「グルメサイト」と特徴ベクトルVC4とが関連付けられている。
分析装置10は、(S103)の変換で取得された「花見」及び「行く」の各単語特徴ベクトルと、ユーザUS2の提供先関係テーブルに格納されている各特徴ベクトルとの類似度をそれぞれ計算し、情報提供先と単語データとの組み合わせを特定する(S104)。ここでは、「花見」の単語特徴ベクトルと情報提供先「イベントサイト」の特徴ベクトルとの類似度「0.56」が所定閾値「0」以上であるため、単語データ「花見」と情報提供先「イベントサイト」との組み合わせが特定される。更に、単語データ「行く」の特徴ベクトルと情報提供先「イベントサイト」の特徴ベクトルとの類似度「0.23」が所定閾値「0」以上であるため、単語データ「行く」と情報提供先「イベントサイト」との組み合わせが特定される。ここでは、類似度が所定閾値未満を示したことにより、情報提供先「グルメサイト」に係る組み合わせは、特定されない。
分析装置10は、(S104)で特定された2つの組み合わせに対応する2つの検索を要求する。これにより、情報提供先「イベントサイト」から提供される情報に対する検索キーワード「花見」を用いた第一の検索と、同じ情報提供先「イベントサイト」から提供される情報に対する検索キーワード「行く」を用いた第二の検索とがそれぞれ実行される。
分析装置10は、2つの検索により得られる情報を区別可能な状態でそれぞれクライアント8に送信する(S105)。
分析装置10は、(S105)でクライアント8に送信された情報についての、ユーザUS2の評価を示す評価情報を取得する(S106)。具体的には、分析装置10は、第一の検索により得られた情報の評価情報及び第二の検索により得られた情報の評価情報を取得する。ここでは、第一の検索に関する評価情報は、提供された情報がユーザUS2により閲覧されたことを示し、第二の検索に関する評価情報は、提供された情報がユーザUS2により閲覧されなかったことを示す。
分析装置10は、(S106)で取得された評価情報に基づいて、ユーザUS2の提供先関係テーブルにおいて、情報提供先「イベントサイト」に関連付けられている特徴ベクトルVC3を更新する(S107)。図10の例では、単語データ「花見」の単語特徴ベクトルに近づき、なおかつ単語データ「行く」の単語特徴ベクトルから離れた値を取るように、特徴ベクトルVC3をVC3'へと更新する。
〔第二実施形態の作用及び効果〕
第二実施形態では、情報提供先毎に特徴ベクトルが関連付けられており、ユーザから得られた単語データの特徴ベクトルとその特徴ベクトルとの類似度により、情報提供先と単語データとの組み合わせが特定される。更に、その特定された組み合わせに基づいて、情報提供先から提供される情報に対する検索キーワードを用いた検索が行われ、その検索により抽出される情報がユーザに提供される。そして、その提供された情報に関するユーザの評価情報が取得され、その評価情報に基づいて情報提供先に関連付けられた特徴ベクトルが更新される。
これにより、ユーザの評価が高い場合、情報提供先毎に関連付けられている特徴ベクトルが、検索キーワードに用いられた単語データの特徴量に近付くように更新され、ユーザの評価が低い場合、その単語データの特徴量から離れるように更新される。即ち、第二実施形態によれば、情報提供先と特徴ベクトルとの関係が、各ユーザの嗜好に合うように、自動で学習される。結果、第二実施形態によれば、提供先関係テーブルの設定を自動化することができる。第二実施形態によれば、ユーザに所望の情報を提供できると共に、テーブルの管理労力を低減することができる。
[第三実施形態]
以下、第三実施形態における情報分析装置及び情報分析方法について説明する。また、第三実施形態は、この情報分析方法を少なくとも一つのコンピュータに実行させるプログラムであってもよいし、このようなプログラムを記録した当該少なくとも一つのコンピュータが読み取り可能な記録媒体であってもよい。
図11は、第三実施形態における情報分析装置100の処理構成例を概念的に示す図である。図11に示されるように、情報分析装置100は、取得部101、特定部102、選択部103及び検索制御部104を有する。図11に示される情報分析装置100は、例えば、図1に示される上述の分析装置10と同様のハードウェア構成を有し、その分析装置10と同様にプログラムが処理されることで、上述の各ソフトウェア要素が実現される。
取得部101は、ユーザの動作に起因して生成された複数の単語データを取得する。ユーザの動作は、クライアント8の操作(キーボード操作、マウス操作、タッチパネル操作、クライアント8の端末を動かす等)、発声、ジェスチャ等、あらゆる動作を含む。取得される単語データは、ユーザの動作に間接的に起因して得られる単語データであってもよい。例えば、取得部101は、ユーザの閲覧操作によりサーバ装置(図示せず)から提供される情報に含まれる文字列データから、当該複数の単語データを取得することもできる。取得部101は、クライアント8から当該複数の単語データを取得してもよいし、クライアント8又は他の装置から得られるデータに対して所定処理(形態素解析、音声認識、ジェスチャ認識等)を適用することで当該複数の単語データを取得してもよい。また、取得部101は、可搬型記録媒体や、クライアント8以外の他の装置から単語データを取得することもできる。
特定部102は、複数の提供先カテゴリの中から、取得部101により取得された複数の単語データに対応する提供先カテゴリを特定する。提供先カテゴリの意味は、第一実施形態において述べたとおりである。特定部102の具体例が、特定部14及び特定部24である。即ち、特定部102は、第一実施形態におけるキーワードDB13の提供先関係テーブルを用いてもよいし、第二実施形態における提供先DB23の提供先関係テーブルを用いてもよい。また、特定部102は、単語間の一致を用いてもよいし、単語間(特徴量データ間)の類似度を用いてもよい。
図11に示されるように、情報分析装置100は、提供先関係テーブルを持たなくてもよいし、持っていてもよい。情報分析装置100は、他の装置が持つ提供先関係テーブルを参照すればよい。
選択部103は、複数の提供先カテゴリと複数のクエリカテゴリとの関係及び当該複数のクエリカテゴリと複数のキーワード情報データとの関係を示すクエリ関係情報に基づいて、取得部101により取得された各単語データが特定部102により特定された提供先カテゴリに関連付けられたクエリカテゴリに属するか否かをそれぞれ判定することにより、取得部101により取得された複数の単語データの中から検索キーワードに用いる単語データを選択する。クエリ関係情報の具体例が、第一実施形態におけるクエリカテゴリテーブル及びクエリワードテーブルである。クエリ関係情報で示されるキーワード情報データとは、単語データ又は単語の特徴を示す特徴データ(特徴ベクトルも含む)である。クエリカテゴリの意味は第一実施形態で述べたとおりである。情報分析装置100は、クエリ関係情報を持っていてもよいし、持たなくてもよい。情報分析装置100は、他の装置が持つクエリ関係情報を参照してもよい。選択部103の具体例が、選択部15である。
検索制御部104は、特定部102により特定された提供先カテゴリに対応する情報提供先から提供される情報に対する、選択部103により選択された単語データを検索キーワードとして用いた検索を要求する。情報提供先とは、各種情報を提供する装置を意味する。情報提供先の具体例が情報提供サイト7である。検索制御部104は、情報提供先に対して検索を要求してもよいし、情報提供先から提供される全情報を収集した他の装置に対して検索を要求してもよい。また、検索制御部104は、情報分析装置100自身が検索を実行する場合には、その検索を行うソフトウェア要素に対して検索を要求してもよい。検索制御部104の具体例が、検索制御部16及び検索制御部25である。
図11に示されるように、情報分析装置100は、出力処理部17及び出力処理部26を有していなくてもよい。検索により得られた情報は、他の装置(情報提供先を含む)からクライアント8に送られてもよいからである。
第三実施形態における情報分析方法は、情報分析装置100のような少なくとも一つのコンピュータにより実行される。本実施形態における情報分析方法は、工程(S111)、(S112)、(S113)、(S114)及び(S115)を含む。これら各工程は、情報分析装置100が有する各ソフトウェア要素の処理内容と同様であるため、各工程の詳細は、適宜省略される。
工程(S111)では、コンピュータ(CPU1)は、ユーザの動作に起因して生成された複数の単語データを取得する。
工程(S112)では、コンピュータ(CPU1)は、複数の提供先カテゴリの中から、(S111)で記取得された少なくとも一つの単語データに対応する提供先カテゴリを特定する。
工程(S113)では、コンピュータ(CPU1)は、複数の提供先カテゴリと複数のクエリカテゴリとの関係及び当該複数のクエリカテゴリと複数のキーワード情報データとの関係を示すクエリ関係情報に基づいて、(S111)で取得された各単語データが(S112)で特定された提供先カテゴリに関連付けられたクエリカテゴリに属するか否かをそれぞれ判定する。
工程(S114)では、コンピュータ(CPU1)は、(S113)における判定の結果に基づいて、(S111)で取得された複数の単語データの中から検索キーワードに用いる単語データを選択する。
工程(S115)では、コンピュータ(CPU1)は、(S112)で特定された提供先カテゴリに対応する情報提供先から提供される情報に対する、(S114)で選択された単語データを検索キーワードとして用いた検索を要求する。
第三実施形態において、一つの提供先カテゴリは、一つの情報提供先のみに対応付けられてもよいし、複数の情報提供先に対応付けられてもよい。例えば、一つの提供先カテゴリが一つの情報提供先のみに対応付けられる場合には、上述の「提供先カテゴリ」は、「情報提供先」に置き換えることができる。
〔第三実施形態の作用及び効果〕
第三実施形態では、ユーザの動作に起因して生成された複数の単語データに基づいて、提供先カテゴリが特定され、この提供先カテゴリに対応する情報提供先が情報検索の対象とされる。従って、第三実施形態によれば、信頼性の高い情報提供先を登録しておくことにより、信頼性が高くかつユーザに関連する情報を提供する情報提供先を対象に検索を実行することができる。結果、ユーザに対して、信頼性が高くかつユーザに関連する情報を提供することができる。
更に、第三実施形態では、当該各単語データがその特定された提供先カテゴリに関連付けられたクエリカテゴリに属するか否かが判定され、その判定結果により当該複数の単語データの中から検索キーワードに用いる単語データが選択される。これにより、第三実施形態では、ユーザの動作に起因して生成された単語データであっても、上述のように特定された情報提供先に対応するクエリカテゴリに属さない単語データは、検索キーワードから除外される。従って、第三実施形態によれば、情報提供先から提供される情報の内容に合った単語データを検索キーワードに用いた検索を実行することができるため、ユーザの興味や関心に合った情報を高精度に提供することができる。
そして、第三実施形態では、上述のように特定された提供先カテゴリ及び選択された単語データに基づいて、情報提供先から提供される情報に対する検索キーワードを用いた検索が要求される。この要求は、情報検索機能を持つ装置又はソフトウェア要素に対して行われればよいため、サイト検索機能の有無に依存せず、信頼性の高い様々な情報提供先を対象とすることができる。
なお、上述の説明で用いた複数のフローチャートでは、複数の工程(処理)が順番に記載されているが、各実施形態で実行される工程の実行順序は、その記載の順番に制限されない。各実施形態では、図示される工程の順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態は、内容が相反しない範囲で組み合わせることができる。
上述の内容は、以下のようにも特定され得る。但し、上述の内容が以下の記載に限定されるものではない。
1. ユーザの動作に起因して生成された複数の単語データを取得する取得手段と、
複数の提供先カテゴリの中から、前記取得された複数の単語データに対応する提供先カテゴリを特定する特定手段と、
前記複数の提供先カテゴリと複数のクエリカテゴリとの関係及び当該複数のクエリカテゴリと複数のキーワード情報データとの関係を示すクエリ関係情報に基づいて、前記取得された各単語データが前記特定された提供先カテゴリに関連付けられたクエリカテゴリに属するか否かをそれぞれ判定することにより、前記取得された複数の単語データの中から検索キーワードに用いる単語データを選択する選択手段と、
前記特定された提供先カテゴリに対応する情報提供先から提供される情報に対する前記選択された単語データを検索キーワードとして用いた検索を要求する検索制御手段と、
を備える情報分析装置。
2. 前記特定手段は、前記複数の提供先カテゴリと複数のキーワード情報データとの関係を示す提供先関係情報を参照することにより、前記提供先カテゴリを特定し、
前記提供先関係情報と前記クエリ関係情報とでは、少なくとも一つの同一提供先カテゴリに対応付けられるキーワード情報データ群が、相違する、
1.に記載の情報分析装置。
3. 前記特定手段は、前記取得された複数の単語データに対応する複数の提供先カテゴリを特定し、
前記選択手段は、前記特定された複数の提供先カテゴリの各々について、前記取得された複数の単語データの中から検索キーワードに用いる単語データをそれぞれ選択する、
1.又は2.に記載の情報分析装置。
4. 前記選択手段は、前記クエリ関係情報で示されるキーワード情報データと前記取得された各単語データの特徴量との類似度をそれぞれ算出し、算出された類似度を用いて、前記取得された各単語データが前記特定された提供先カテゴリに関連付けられたクエリカテゴリに属するか否かをそれぞれ判定する、
1.から3.のいずれか1つに記載の情報分析装置。
5. 前記特定手段は、前記複数の提供先カテゴリと複数のキーワード情報データとの関係を示す提供先関係情報で示されるキーワード情報データと前記取得された各単語データの特徴量との類似度をそれぞれ算出し、算出された類似度の距離により、前記提供先カテゴリを特定する、
1.から4.のいずれか1つに記載の情報分析装置。
6. 前記検索制御手段は、一つの単語データも選択されてなかった提供先カテゴリが存在する場合には、その提供先カテゴリに対応するサイト7から提供される情報に対する、検索キーワードを指定しない検索を要求する、
1.から5.のいずれか1つに記載の情報分析装置。
7. ユーザの動作に起因して生成された複数の単語データを取得する取得手段と、
前記取得された複数の単語データを単語特徴ベクトルにそれぞれ変換する変換手段と、
前記ユーザの提供先関係情報において複数の情報提供先と関連付けられた各特徴ベクトルと各単語特徴ベクトルとの類似度をそれぞれ算出することにより、検索対象とする情報提供先と単語データとの組み合わせを特定する特定手段と、
前記特定された組み合わせにおける情報提供先から提供される情報に対するその組み合わせにおける単語データを検索キーワードとして用いた検索を要求する検索制御手段と、
前記検索制御手段により要求された前記検索の結果情報に対する前記ユーザの評価情報を取得する評価取得手段と、
前記取得された評価情報に基づいて、前記検索の対象とされた情報提供先に前記提供先関係情報において関連付けられている特徴ベクトルを更新する更新手段と、
を備える情報分析装置。
8. 前記取得手段は、前記ユーザの動作に起因して取得された文字列データを品詞分解することにより、前記複数の単語データを抽出する、
1.から7.のいずれか1つに記載の情報分析装置。
9. 前記取得手段は、前記ユーザに関連付けられて蓄積される複数の単語データの中から前記複数の単語データを取得する、
1.から6.のいずれか1つに記載の情報分析装置。
10. 少なくとも一つのコンピュータにより実行される情報分析方法において、
ユーザの動作に起因して生成された複数の単語データを取得し、
複数の提供先カテゴリの中から、前記取得された少なくとも一つの単語データに対応する提供先カテゴリを特定し、
前記複数の提供先カテゴリと複数のクエリカテゴリとの関係及び当該複数のクエリカテゴリと複数のキーワード情報データとの関係を示すクエリ関係情報に基づいて、前記取得された各単語データが前記特定された提供先カテゴリに関連付けられたクエリカテゴリに属するか否かをそれぞれ判定し、
前記判定の結果に基づいて、前記取得された複数の単語データの中から検索キーワードに用いる単語データを選択し、
前記特定された提供先カテゴリに対応する情報提供先から提供される情報に対する前記選択された単語データを検索キーワードとして用いた検索を要求する、
ことを含む情報分析方法。
11. 前記特定は、前記複数の提供先カテゴリと複数のキーワード情報データとの関係を示す提供先関係情報を参照することを含み、
前記提供先関係情報と前記クエリ関係情報とでは、少なくとも一つの同一提供先カテゴリに対応付けられるキーワード情報データ群が、相違する、
10.に記載の情報分析方法。
12. 前記取得された複数の単語データに対応する複数の提供先カテゴリを特定し、
前記クエリ関係情報に基づいて、前記取得された各単語データが前記特定された各提供先カテゴリに関連付けられたクエリカテゴリに属するか否かをそれぞれ判定し、
前記特定された複数の提供先カテゴリの各々について、前記取得された複数の単語データの中から検索キーワードに用いる単語データをそれぞれ選択する、
ことを更に含む10.又は11.に記載の情報分析方法。
13. 前記クエリ関係情報で示されるキーワード情報データと前記取得された各単語データの特徴量との類似度をそれぞれ算出する、
ことを更に含み、
前記判定は、前記算出された類似度を用いて、前記取得された各単語データが前記特定された提供先カテゴリに関連付けられたクエリカテゴリに属するか否かをそれぞれ判定する、
10.から12.のいずれか1つに記載の情報分析方法。
14. 前記複数の提供先カテゴリと複数のキーワード情報データとの関係を示す提供先関係情報で示されるキーワード情報データと前記取得された各単語データの特徴量との類似度をそれぞれ算出する、
ことを更に含み、
前記特定は、前記算出された類似度の距離により、前記提供先カテゴリを特定する、
10.から13.のいずれか1つに記載の情報分析方法。
15. 一つの単語データも選択されてなかった提供先カテゴリが存在する場合には、その提供先カテゴリに対応するサイト7から提供される情報に対する、検索キーワードを指定しない検索を要求する、
ことを更に含む10.から14.のいずれか1つに記載の情報分析方法。
16. 少なくとも一つのコンピュータにより実行される情報分析方法において、
ユーザの動作に起因して生成された複数の単語データを取得し、
前記取得された複数の単語データを単語特徴ベクトルにそれぞれ変換し、
前記ユーザの提供先関係情報において複数の情報提供先と関連付けられた各特徴ベクトルと各単語特徴ベクトルとの類似度をそれぞれ算出し、
前記算出された類似度に基づいて、検索対象とする情報提供先と単語データとの組み合わせを特定し、
前記特定された組み合わせにおける情報提供先から提供される情報に対するその組み合わせにおける単語データを検索キーワードとして用いた検索を要求し、
前記要求された前記検索の結果情報に対する前記ユーザの評価情報を取得し、
前記取得された評価情報に基づいて、前記検索の対象とされた情報提供先に前記提供先関係情報において関連付けられている特徴ベクトルを更新する、
ことを更に含む情報分析方法。
17. 前記ユーザの動作に起因して取得された文字列データを品詞分解する、
ことを更に含む10.から16.のいずれか1つに記載の情報分析方法。
18. 前記取得は、前記ユーザに関連付けられて蓄積される複数の単語データの中から前記複数の単語データを取得する、
10.から15.のいずれか1つに記載の情報分析方法。
19. 10.から18.のいずれか1つに記載の情報分析方法を少なくとも一つのコンピュータに実行させるプログラム。