特許第6593873号(P6593873)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NECソリューションイノベータ株式会社の特許一覧

<>
  • 特許6593873-情報分析装置及び情報分析方法 図000004
  • 特許6593873-情報分析装置及び情報分析方法 図000005
  • 特許6593873-情報分析装置及び情報分析方法 図000006
  • 特許6593873-情報分析装置及び情報分析方法 図000007
  • 特許6593873-情報分析装置及び情報分析方法 図000008
  • 特許6593873-情報分析装置及び情報分析方法 図000009
  • 特許6593873-情報分析装置及び情報分析方法 図000010
  • 特許6593873-情報分析装置及び情報分析方法 図000011
  • 特許6593873-情報分析装置及び情報分析方法 図000012
  • 特許6593873-情報分析装置及び情報分析方法 図000013
  • 特許6593873-情報分析装置及び情報分析方法 図000014
  • 特許6593873-情報分析装置及び情報分析方法 図000015
  • 特許6593873-情報分析装置及び情報分析方法 図000016
  • 特許6593873-情報分析装置及び情報分析方法 図000017
  • 特許6593873-情報分析装置及び情報分析方法 図000018
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6593873
(24)【登録日】2019年10月4日
(45)【発行日】2019年10月23日
(54)【発明の名称】情報分析装置及び情報分析方法
(51)【国際特許分類】
   G06F 16/903 20190101AFI20191010BHJP
   G06F 16/908 20190101ALI20191010BHJP
   G06F 16/28 20190101ALI20191010BHJP
【FI】
   G06F16/903
   G06F16/908
   G06F16/28
【請求項の数】8
【全頁数】28
(21)【出願番号】特願2015-199093(P2015-199093)
(22)【出願日】2015年10月7日
(65)【公開番号】特開2017-72963(P2017-72963A)
(43)【公開日】2017年4月13日
【審査請求日】2018年9月10日
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成27年度、総務省、「デジタル・ディバイド解消に向けた技術等研究開発」補助事業、産業技術力強化法第19条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(74)【代理人】
【識別番号】100110928
【弁理士】
【氏名又は名称】速水 進治
(72)【発明者】
【氏名】田島 裕一郎
(72)【発明者】
【氏名】札野 欽也
(72)【発明者】
【氏名】佐々木 友謙
(72)【発明者】
【氏名】松谷 征一郎
(72)【発明者】
【氏名】笠原 健太
【審査官】 甲斐 哲雄
(56)【参考文献】
【文献】 特開2001−312515(JP,A)
【文献】 特表2009−545810(JP,A)
【文献】 特開2001−075993(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00−16/958
(57)【特許請求の範囲】
【請求項1】
ユーザの動作に起因して生成された単語データを取得する取得手段と、
前記単語データを、前記単語データに関する生成日時及び予定日時と関連付けてユーザ単語格納部に格納する格納処理手段と、
前記生成日時及び前記予定日時と現在日時との関係に基づいて、前記単語データの重み値を更新する更新手段と、
を備える情報分析装置。
【請求項2】
前記更新手段は、前記生成日時及び前記予定日時からの各経過時間に応じて低下し、かつ、前記予定日時までの残り時間の減少に応じて上昇する時間変化モデルを用いて、前記単語データの重み値を算出する、
請求項1に記載の情報分析装置。
【請求項3】
前記格納処理手段は、或る単語データを、異なる複数の生成日時と関連付けて前記ユーザ単語格納部に格納し、
前記更新手段は、生成日時又は生成日時及び予定日時のペアを前記時間変化モデルにそれぞれ適用することにより、生成日時毎に重み値をそれぞれ算出し、算出された各重み値を足し合わせることで、前記単語データの重み値を算出する、
請求項2に記載の情報分析装置。
【請求項4】
前記更新手段は、単語データの生成回数の増加に応じて上昇するように、その単語データの重み値を算出する、
請求項1から3のいずれか1項に記載の情報分析装置。
【請求項5】
単語データ毎の重み値に基づいて、複数の単語データの中から単語データを抽出する抽出手段と、
前記抽出された単語データに基づいて、情報提供先及び検索キーワードを決定する決定手段と、
前記決定された情報提供先から提供される情報に対する前記決定された検索キーワードを用いた検索を要求する検索制御手段と、
前記検索により抽出された情報に対する前記ユーザの評価情報を取得する評価取得手段と、
を更に備え、
前記更新手段は、前記ユーザの評価情報に基づいて、前記抽出された単語データの重み値を更新する、
請求項1から4のいずれか1項に記載の情報分析装置。
【請求項6】
前記取得手段は、前記ユーザの動作に起因して取得された文字列データを品詞分解することにより、前記単語データを抽出する、
請求項1から5のいずれか1項に記載の情報分析装置。
【請求項7】
少なくとも一つのコンピュータにより実行される情報分析方法において、
ユーザの動作に起因して生成された単語データを取得し、
前記単語データを、前記単語データに関する生成日時及び予定日時と関連付けてユーザ単語格納部に格納し、
前記生成日時及び前記予定日時と現在日時との関係に基づいて、前記単語データの重み値を更新する、
ことを含む情報分析方法。
【請求項8】
請求項7に記載の情報分析方法を少なくとも一つのコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザの興味に関する情報を獲得する情報分析技術に関する。
【背景技術】
【0002】
情報通信技術の急速な進歩に伴い、近年、デジタルデバイドの問題が指摘されている。この問題は、IT(Information Technology)機器に対する不慣れさのみならず、入手可能な情報量の膨大さにも起因する。IT機器を或る程度利用できる者であっても、膨大な情報の中から有益な情報を探すのは大変困難な状況となっている。
【0003】
下記特許文献1には、ユーザの直近の興味に応じた番組を推薦する方法が記載されている。この方法では、ユーザが体験した事象を特定するキーワードを含むライフログ情報(訪問場所、視聴されたテレビ番組、ファイル閲覧、音楽再生等)が取得され、取得されたライフログ情報中のキーワードが蓄積され、蓄積される各キーワードについて、ユーザが関心を持つ度合いを表す記憶度がそれぞれ算出される。その記憶度は、事象が生じた最終日時と基準日時(現在の日時)の差が大きいほど大きく減衰し、取得頻度が小さいほど大きく減衰するように算出される。また、下記特許文献2には、ホームページの情報やメール情報からイベント日時情報を抽出し、イベントの情報及びその関連情報を、イベントの日時や期限以前の適切な時点で通知する方法が記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−266959号公報
【特許文献2】特開2000−067082号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述の特許文献1及び2では、各単語に対するユーザの興味や関心の度合いを高精度に管理するといった視点については言及されていない。特許文献2には、或る情報の通知タイミングの適正化が記載されているに過ぎない。特許文献1には、ユーザが事象を体験した日時からの経過時間が長い程、その事象を特定するキーワードの記憶度の減衰が大きくなること、取得頻度が小さい程、キーワードの記憶度の減衰が大きくなることが記載されているに過ぎない。しかしながら、各単語に対するユーザの興味や関心の度合いは、このような原因のみで決定されるわけではなく、この手法には、改善の余地が残されている。
【0006】
本発明は、このような事情に鑑みてなされたものであり、各単語に対するユーザの興味や関心の度合いを高精度に管理する技術を提供する。本明細書において、「興味」と「関心」とは特に区別されない。
【課題を解決するための手段】
【0007】
本発明の各側面では、上述した課題を解決するために、それぞれ以下の構成を採用する。
【0008】
第一の側面は、情報分析装置に関する。第一の側面に係る情報分析装置は、ユーザの動作に起因して生成された単語データを取得する取得手段と、その単語データを、その単語データに関する生成日時及び予定日時と関連付けてユーザ単語格納部に格納する格納処理手段と、その生成日時及びその予定日時と現在日時との関係に基づいて、当該単語データの重み値を更新する更新手段と、を有する。
【0009】
第二の側面は、少なくとも一つのコンピュータにより実行される情報分析方法に関する。第二の側面に係る情報分析方法は、ユーザの動作に起因して生成された単語データを取得し、その単語データを、その単語データに関する生成日時及び予定日時と関連付けてユーザ単語格納部に格納し、その生成日時及びその予定日時と現在日時との関係に基づいて、当該単語データの重み値を更新する、ことを含む。
【0010】
なお、本発明の他の側面は、上記第二の側面の方法を少なくとも1つのコンピュータに実行させるプログラム又はこのようなプログラムを記録したコンピュータが読み取り可能な記録媒体である。この記録媒体は、非一時的な有形の媒体を含む。
【発明の効果】
【0011】
上記各側面によれば、各単語に対するユーザの興味や関心の度合いを高精度に管理する技術を提供することができる。
【図面の簡単な説明】
【0012】
図1】第一実施形態における情報分析装置(分析装置)のハードウェア構成例を概念的に示す図である。
図2】第一実施形態における情報分析装置(分析装置)の処理構成例を概念的に示す図である。
図3】第一実施形態における重み値の時間変化モデルの第一例を示す図である。
図4】第一実施形態における重み値の時間変化モデルの第二例を示す図である。
図5】第一実施形態における重み値の時間変化モデルの第三例を示す図である。
図6】キーワードDBの提供先関係テーブルの例を示す図である。
図7】キーワードDBのクエリカテゴリテーブルの例を示す図である。
図8】キーワードDBのクエリワードテーブルの例を示す図である。
図9】第一実施形態における情報分析装置(分析装置)の動作例を示すフローチャートである。
図10】第一実施形態における情報分析装置(分析装置)の一動作例のフロー及びデータの処理例を示す図である。
図11】第二実施形態における情報分析装置(分析装置)の処理構成例を概念的に示す図である。
図12】第二実施形態における重み値の時間変化モデルの例を示す図である。
図13】第二実施形態における情報分析装置(分析装置)の動作例を示すフローチャートである。
図14】第二実施形態における情報分析装置(分析装置)の一動作例のフロー及びデータの処理例を示す図である。
図15】第三実施形態における情報分析装置の処理構成例を概念的に示す図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施の形態について説明する。なお、以下に挙げる各実施形態はそれぞれ例示であり、本発明は以下の実施形態の構成に限定されない。
【0014】
[第一実施形態]
以下、第一実施形態における情報分析装置及び情報分析方法について説明する。
〔装置構成〕
図1は、第一実施形態における情報分析装置(以降、分析装置と略称する場合もある)10のハードウェア構成例を概念的に示す図である。分析装置10は、通信網5を介して、ユーザが利用するクライアント装置8及び情報提供サイト7に通信可能に接続される。通信網5は、インターネット等のような公衆網、WAN(Wide Area Network)、LAN(Local Area Network)、無線通信ネットワーク等である。なお、本実施形態において、分析装置10、情報提供サイト7及びクライアント装置8の間の通信形態は限定されない。
【0015】
分析装置10は、一般的なコンピュータであり、図1に示されるようなハードウェア要素を有する。具体的には、分析装置10は、ハードウェア構成として、CPU(Central Processing Unit)1、メモリ2、入出力インタフェース(I/F)3、通信ユニット4等を有する。これら各ハードウェア要素はバスにより接続される。
【0016】
CPU1には、一般的なCPUに加えて、特定用途向け集積回路(ASIC)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)等も含まれる。
メモリ2は、RAM(Random Access Memory)、ROM(Read Only Memory)、補助記憶装置(ハードディスク等)である。
【0017】
入出力I/F3は、表示装置(図示せず)、入力装置(図示せず)等のユーザインタフェース装置と接続可能である。表示装置は、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)ディスプレイのような、CPU1により処理された描画データに対応する画面を表示する装置である。入力装置は、キーボード、マウス等のようなユーザ操作の入力を受け付ける装置である。表示装置及び入力装置は一体化され、タッチパネルとして実現されてもよい。
【0018】
通信ユニット4は、他のコンピュータとの通信網5を介した通信や、他の機器との信号のやりとり等を行う。通信ユニット4には、可搬型記録媒体等も接続され得る。分析装置10は、図1に図示しないハードウェア要素を含んでもよく、各ハードウェア要素の数も図1に示される数に制限されない。例えば、分析装置10は、複数のCPU1や複数のメモリ2を有する。分析装置10のハードウェア構成は制限されない。
【0019】
情報提供サイト7は、一般的なコンピュータであり、WEBサーバ、データベースサーバ等のような各種情報を提供するサーバ装置である。本実施形態は、情報提供サイト7のハードウェア構成及びソフトウェア構成を制限しない。以降、情報提供サイト7は、サイト7と略称される場合もある。
【0020】
分析装置10は、1以上のサイト7と通信可能に接続される。本実施形態において分析装置10がアクセスするサイト7の数は制限されない。分析装置10は、サイト7により提供される大量の情報の中から各ユーザが欲しいと推測される情報をピックアップして、所望の情報をユーザ(クライアント装置8)に提供する。
【0021】
クライアント装置8は、PC(Personal Computer)、タブレット端末、スマートフォン、携帯電話等のような一般的なユーザ端末である。また、クライアント装置8は、ユーザインタフェースを備えるコミュニケーションロボットであってもよい。クライアント装置8は、分析装置10により提供される情報をユーザに向けて出力することができ、かつユーザからの入力を受けることができる装置であれば、そのハードウェア構成及びソフトウェア構成は制限されない。情報は、表示装置、プリンタ装置、音声出力装置等により出力可能である。また、ユーザからの入力は、キーボード、マウス等のようなユーザ操作の入力を受け付ける入力装置(図示せず)、ユーザの発言音声を取得するマイク(図示せず)、ユーザのジェスチャを撮像するカメラ等により受けることができる。以降、クライアント装置8は、クライアント8と略称する場合もある。
【0022】
クライアント8は、ユーザの動作に起因して取得された文字列データを分析装置10に送る。具体的には、クライアント8は、入力装置に対するユーザ操作により入力された文字列データを取得する。例えば、ブラウザに対して入力された検索文字列、カレンダアプリケーションに対して入力されたスケジュール文字列、メモ書き等、あらゆる文字列データが取得され得る。
【0023】
また、クライアント8は、マイクロフォンで集音されたユーザの音声を録音し、その録音された音声データを分析装置10に送ることもできる。クライアント8は、既知の音声認識技術を用いてその音声データから文字列データを取得し、この文字列データを分析装置10に送ってもよい。
【0024】
本実施形態では、当該文字列データ又は当該音声データがユーザの動作に起因するものであれば、クライアント8による当該文字列データ又は当該音声データの取得手法は制限されない。例えば、クライアント8にインストールされたアプリケーション(WEBブラウザを含む)が周知の技術を用いて当該文字列データ又は当該音声データを取得し、取得されたデータを分析装置10に送る。また、クライアント8は、取得された文字列データを品詞分解することにより単語データを抽出し、抽出された単語データを分析装置10に送信することもできる。
【0025】
〔処理構成〕
図2は、第一実施形態における分析装置10の処理構成例を概念的に示す図である。分析装置10は、図2に示されるようなソフトウェア要素を有する。具体的には、分析装置10は、取得部11、格納処理部12、ユーザ単語DB(DataBase)13、更新部14、抽出部15、キーワードDB(DataBase)16、決定部17、検索制御部18、出力処理部19等を有する。これら各ソフトウェア要素は、例えば、CPU1によりメモリ2に格納されるプログラムが実行されることにより実現される。また、当該プログラムは、例えば、CD(Compact Disc)、メモリカード等のような可搬型記録媒体やネットワーク上の他のコンピュータから入出力I/F3又は通信ユニット4を介してインストールされ、メモリ2に格納されてもよい。
【0026】
取得部11は、クライアント8又は他の装置から文字列データ又は音声データを受信する場合には、受信された文字列データ又は音声データから1以上の単語データを抽出する。具体的には、取得部11は、受信された文字列データを品詞分解(形態素解析)することにより1以上の単語データを抽出する。形態素解析には、MeCab等のような様々な既知の手法が利用可能である。例えば、取得部11は、各種品詞の単語の中から、名詞、動詞などの特定の品詞の単語データのみを取得してもよい。更に、取得部11は、名詞の中でも、一般名詞、固有名詞、サ変接続名詞といった特定の名詞の単語データのみを取得することもできるし、取得された動詞を基本形に正規化することもできる。
【0027】
取得部11は、音声データに対して既知の音声認識技術を適用することにより、ユーザの声がテキスト化された文字列データを取得し、この文字列データを品詞分解することもできる。上述のような品詞分解又は音声認識がクライアント8上で実行される場合には、取得部11は、クライアント8により抽出された当該複数の単語データをクライアント8から受信してもよい。
【0028】
取得部11は、取得された単語データに関し、生成日時又は生成日時と予定日時との両方を更に取得する。
【0029】
「単語データに関する生成日時」とは、その単語データが生成された日時又はその単語データの元となる文字列データ又は音声データが生成された日時を意味する。「単語データが生成された日時」は、クライアント8又は分析装置10によりその単語データが取得された日時を含む。「単語データの元となる文字列データ又は音声データが生成された日時」は、クライアント8又は分析装置10によりその文字列データ又はその音声データが取得された日時を含む。例えば、ユーザがクライアント8上で或る情報を閲覧した場合、取得部11は、その閲覧日時を、その閲覧された情報から得られる単語データに関する生成日時として取得する。また、ユーザがクライアント8を操作して文字列を入力した場合、取得部11は、その入力日時を、その入力された文字列から得られる単語データに関する生成日時として取得する。「単語データに関する生成日時」は、取得部11により決定されてもよいし、取得部11によりクライアント8から取得されてもよい。
【0030】
「単語データに関する予定日時」とは、その単語データ又はその単語データの元となる文字列データ若しくは音声データが表す計画の予定日時を意味する。例えば、ユーザがカレンダ画面上の或る日付に或る予定(計画)を入力した場合、取得部11は、その日付を、予定として入力された文字列データから抽出される単語データに関する予定日時として取得する。また、ユーザがクライアント8上で或るイベントの情報を閲覧した場合、取得部11は、その情報で示されるイベントの予定日時を、その閲覧された情報から得られる単語データに関する予定日時として取得する。そのイベントの予定日時は、閲覧された情報に含まれる文字列データの中から、既存の文字認識技術を用いて、抽出されてもよい。取得部11は、文字列データ及びその文字列データの生成日時をクライアント8から取得した場合、その文字列データから抽出された単語データに関する生成日時をその文字列データの生成日時に設定し、その文字列データから抽出された日時情報をその単語データに関する予定日時に設定してもよい。「単語データに関する予定日時」は、取得部11により決定されてもよいし、取得部11によりクライアント8から取得されてもよい。また、「単語データに関する予定日時」は、取得されない場合もある。
【0031】
本明細書において、文言「日時」が表す時間粒度は任意である。文言「日時」は、日付のみを表してもよいし、日付及び時刻を表してもよい。時刻は、秒単位、ミリ秒単位等、任意の時間粒度で表されればよい。
【0032】
格納処理部12は、送信元のユーザ毎又は送信元のクライアント8毎に、取得部11により取得された単語データを、その単語データに関する生成日時及び予定日時と関連付けてユーザ単語DB13に格納する。予定日時が取得されなかった場合、格納処理部12は、予定日時とは関連付けず、生成日時と関連付けて、単語データをユーザ単語DB13に格納する。「予定日時と関連付けない」とは、ユーザ単語DB13に設けられている予定日時のフィールドを未設定状態とすることも含む。また、格納処理部12は、異なる生成日時と共に重複して同一単語データが取得部11により取得された場合、その単語データを、異なる複数の生成日時と関連付けてユーザ単語DB13に格納する。
【0033】
ユーザ単語DB13は、ユーザ毎又はクライアント8毎に、ユーザの動作に起因して生成された単語データを格納する。ユーザ単語DB13には、ユーザ毎又はクライアント8毎に、別々のテーブルが設けられていてもよい。また、単語データが、ユーザの識別情報又はクライアント8の識別情報と関連付けられて、ユーザ単語DB13に格納されてもよい。ユーザの識別情報が利用される場合、単語データ又はその単語データの元となるデータと共に、ユーザの識別情報が取得部11によりクライアント8から受信されてもよい。
【0034】
ユーザ単語DB13は、各単語データを、その単語データに関して取得された生成日時及び予定日時又はその生成日時のみと関連付けてそれぞれ格納する。このように、ユーザ単語DB13に格納される単語データの中には、予定日時と関連付けられていない単語データが含まれていてもよい。単語データに予定日時が関連付けられていない状態は、単語データに予定日時が設定されていないとも表記される。
【0035】
また、本実施形態では、ユーザ単語DB13は、生成日時が異なる同一単語データを、一ユーザに関して重複して格納する。例えば、取得部11が、同一ユーザに関する同一単語データ「花火」を異なる生成日時と共に重複して取得した場合、格納処理部12は、同一ユーザに関する同一単語データ「花火」を次のようにユーザ単語DB13に格納する。例えば、ユーザ単語DB13は、そのユーザに関して、単語データ「花火」、生成日時「8月10日(月)10時25分」及び予定日時「なし」を格納し、更に、単語データ「花火」、生成日時「8月10日(月)10時30分」及び予定日時「8月28日(金)19時」を格納する。
【0036】
更新部14は、任意のタイミングで、ユーザ単語DB13に格納される各単語データについて、重み値をそれぞれ算出する。具体的には、更新部14は、ユーザ単語DB13に格納される生成日時及び予定日時とそのときの日時(現在日時)との関係に基づいて、各単語データの重み値をそれぞれ更新する。更新部14は、重み値が単語に対するユーザの興味又は関心の度合いを示すように、各単語データの重み値をそれぞれ計算する。
【0037】
心理学の分野での研究にエビングハウスの忘却曲線と呼ばれるものがある。それは、人間の記憶量の時間的変化を模式化したものである。この忘却曲線で示されるように、人間の記憶は、経過時間に反比例して薄れていくことが分かっている。興味や関心の度合いも、記憶と同様に変化すると考えられ、時間経過と共に小さくなると考えられる。
加えて、今後の予定に関する興味や関心の度合いは、その予定が作成された時点からの経過時間に反比例して低下していく一方で、その予定の日時に近付くにつれて再び高まると考えられる。
【0038】
更新部14は、人間のこのような心理学的特性を反映した方法で重み値を更新することで、その重み値の変化を人の興味や関心の度合いの変化に近似させることができる。
具体的には、更新部14は、生成日時及び予定日時からの各経過時間に応じて低下し、かつ、予定日時までの残り時間の減少に応じて上昇する時間変化モデルを用いて、単語データの重み値を算出する。更新部14は、予定日時が設定されない単語データの重み値については、生成日時からの経過時間に応じて低下させる。
【0039】
図3は、第一実施形態における重み値の時間変化モデルの第一例を示す図である。この第一例では、予定日時が設定されている単語データに関する重み値の時間変化モデルが示される。即ち、生成日時(0日経過)の時点の重み値は、生成日時からの経過時間に従って徐々に低下する。その重み値は、予定日時(2日経過)に近付くにつれて上昇し、予定日時の時点で生成日時と略同じ値に戻る。その後、その重み値は、生成日時及び予定日時からの経過時間に従って、また、徐々に低下する。この時間変化モデルは、今後の予定に関して人が抱く興味や関心の度合いの変化傾向に近似するものとなっている。
【0040】
第一実施形態では、上述したとおり、同一の単語データが重複してユーザ単語DB13に登録される。即ち、単語データ毎の生成回数が管理される。単語データ毎の生成回数は、各単語を生じさせるユーザの行動回数に相当する。人間は、興味や関心の高い情報に対しては多くの行動を取ると考えられる。例えば、人は、関心の高い情報を検索し、入力し、発声し、その情報に関連する予定を立てようとする。即ち、ユーザに触れられる機会の多い単語は、そのユーザにとって関心や興味の高い単語と考えられる。
【0041】
更新部14は、人間のこのような心理学的特性を更に反映した方法で重み値を更新することで、その重み値の変化を人の興味や関心の度合いの変化に更に近似させることができる。
具体的には、更新部14は、単語データの生成回数の増加に応じて上昇するように、単語データの重み値を算出する。
【0042】
図4は、第一実施形態における重み値の時間変化モデルの第二例を示す図である。この第二例では、異なる生成日時でユーザ単語DB13に2回格納された単語データが例示されている。その単語データの重み値は、1回目の生成日時からの経過時間に従って徐々に低下し、2回目の生成日時に、1回目の生成日時での重み値よりも大きい値に設定される。その後、その重み値は、1回目及び2回目の生成日時からの経過時間に従って徐々に低下する。この時間変化モデルは、同じ単語について複数回行動を取ったユーザが抱く、その単語に対する興味や関心の度合いの変化傾向に近似するものとなっている。
【0043】
このように、更新部14は、ユーザ単語DB13に重複して格納される同一の単語データについては、一つの重み値を算出する。例えば、更新部14は、生成日時又は生成日時及び予定日時のペアを時間変化モデルにそれぞれ適用することにより、生成日時毎に重み値をそれぞれ算出する。更新部14は、その算出された各重み値を足し合わせることで、重複して格納されている当該単語データについて一つの重み値を算出する。
【0044】
このような更新部14による算出手法は、例えば、次のような計算式で実装することができる。但し、本実施形態における更新部14で用いられる重み値の算出手法は、以下の(式1)、(式2)及び(式3)に限定されない。この例では、単語データ毎に計算される重み値は、その単語データと関連付けられて重みテーブルに格納される。以下の各式において、sは、ユーザ単語DB13に格納されるi番目(i行目=iレコード目)の単語データを示し、s'は、重みテーブルに格納されるj番目(j行目=jレコード目)の単語データを示す。wは、単語データsの重み値を示し、w'は、単語データs'について算出される重み値を示す。更に、計算時点の日時(現在日時)がdで示され、ユーザ単語DB13に単語データsと関連付けられて格納される生成日時がdで示され、その予定日時がd'で示される。
【数1】
【0045】
即ち、(式1)では、単語データs'の重み値w'は、s=s'を満たす重み値wの総和により算出される。予定日時が設定されていない単語データsの重み値wは、(式2)により算出され、予定日時及び生成日時と関連付けられている単語データsの重み値wは、(式3)により算出される。(式2)は、1日経過すると重み値が2分の1、2日経過すると重み値が3分の1と減っていく数理モデルである。(式3)は、現在日時が生成日時又は予定日時に一致する場合に最大となり、生成日時及び予定日時から離れる程低下する数理モデルである。
【0046】
図5は、第一実施形態における重み値の時間変化モデルの第三例を示す図である。この第三例では、対象の単語データがユーザ単語DB13に2回格納される。1回目では、その単語データは、生成日時及び予定日時と関連付けられて格納され、2回目では、予定日時は設定されず、その単語データは、1回目と異なる生成日時と関連付けられて格納される。ここで、この例を上記式に当てはめる。1回目に登録された単語データがs(i=3)で示され、2回目に登録された単語データがs(i=7)で示され、重みテーブルにおいて、その単語データは、1番目に登録されていると仮定する。この場合、8日経過時点で算出される重み値は、次の式で表すことができる。
w'=(1/9+1/7)+1/3≒0.587
【0047】
更新部14は、ユーザ単語DB13に重複して格納される同一の単語データの重み値の算出において、生成日時毎に算出される重み値の足し合わせを行わなくてもよい。例えば、更新部14は、最新の生成日時のみ又は最新の生成日時及び予定日時のペアのみを時間変化モデルに適用し、得られる重み値に、その単語データの生成回数(格納数)に対応する係数を加算又は掛け算することにより、その単語データの重み値を算出することもできる。
【0048】
抽出部15は、更新部14により算出される各単語データの重み値に基づいて、ユーザ単語DB13に格納される複数の単語データの中から1以上の単語データをユーザ毎に抽出する。上記例のように、重みテーブルが設けられている場合には、抽出部15は、その重みテーブルから単語データを抽出してもよい。抽出部15は、ユーザの興味や関心が高い単語の単語データを抽出する。抽出部15は、所定閾値以上の重み値を有する単語データを抽出してもよいし、ユーザ毎に、重み値の大きい順に所定数の単語データを抽出してもよい。抽出部15による抽出のタイミングは、任意のタイミングでよく、ランダムなタイミング、所定の周期を含む。また、抽出部15は、更新部14により重み値が更新された直後のタイミングで、単語データを抽出してもよい。抽出部15は、ユーザ単語DB13に単語データが格納されている全ユーザを対象にして単語データの抽出を行ってもよいし、ログイン状況に基づいて、ログイン中のユーザのみに関して、ユーザ単語DB13から単語データを抽出してもよい。
【0049】
決定部17は、抽出部15により抽出された1以上の単語データに基づいて、情報提供先及び検索キーワードを決定する。本実施形態では、重み値に基づいて抽出された単語データが用いられれば、情報提供先及び検索キーワードの決定手法は制限されない。例えば、決定部17は、予め決められた情報提供先を特定し、抽出部15により抽出された全ての単語データを検索キーワードに決定してもよい。また、決定部17は、抽出部15により抽出された単語データの中の、固有名詞等のような特定の品詞の単語データを検索キーワードとして決定してもよい。
【0050】
以下、情報提供先及び検索キーワードの決定手法の一具体例を例示する。但し、本実施形態における決定部17は、以下の手法以外の手法で、情報提供先及び検索キーワードを決定してもよい。
決定部17は、後述のキーワードDB16を参照することにより、抽出された単語データに対応するサイト7を情報提供先として特定する。決定部17は、後述のキーワードDB16を参照することにより、抽出された単語データの中から検索キーワードに用いる単語データを選択する。
【0051】
キーワードDB16は、提供先関係テーブル、クエリカテゴリテーブル及びクエリワードテーブルを含む。
【0052】
提供先関係テーブルは、提供先カテゴリと提供先キーワードとの関係を示す提供先関係情報を格納する。具体的には、提供先関係テーブルは、提供先カテゴリの識別情報と提供先キーワードのキーワードデータとを相互に関連付けて格納する。各提供先カテゴリは、各サイト7が提供している情報のカテゴリを示し、対応するカテゴリの情報を提供するサイト7に対応付けられる。提供先カテゴリの識別情報とサイト7のアドレス情報とが別途対応付けられている。サイト7のアドレス情報は、URL(Uniform Resource Locator)のような、サイト7により提供されている情報を取得するための情報である。提供先キーワードは、提供先カテゴリに何らかの関係を有する単語である。例えば、提供先カテゴリに属する意味を持つ単語が提供先キーワードとして格納される。また、提供先カテゴリに間接的に関係する単語が提供先キーワードとして格納されてもよい。
【0053】
図6は、キーワードDB16の提供先関係テーブルの例を示す図である。図6では、分かり易くするために、提供先カテゴリの識別情報がそのカテゴリを示す単語(名詞)で図示されている。但し、提供先関係テーブルに格納される提供先カテゴリの識別情報は、図6に図示される単語ではなく、数値であってもよい。図6の例では、提供先カテゴリ「グルメ」に提供先キーワードとして「行く」が関連付けられている。単語「行く」は、外出を意味することから、「外出時の食事」を連想させる。このように、単語「行く」は、直接的には「グルメ」というカテゴリには属さないものの、間接的な関係(例えば、「外出時の食事」の連想)から「グルメ」に関連付けられる。
【0054】
上述したとおり、提供先カテゴリはサイト7に対応付けられるため、提供先関係テーブルは、単語と、その単語に直接的及び間接的に関連する情報を提供するサイト7との関連を示すということもできる。従って、提供先関係テーブルは、提供先カテゴリの識別情報として、サイト7の識別情報(アドレス情報であってもよい)を格納してもよい。
【0055】
クエリカテゴリテーブルは、提供先カテゴリとクエリカテゴリとの関係を示す情報を格納する。具体的には、クエリカテゴリテーブルは、提供先カテゴリの識別情報とクエリカテゴリの識別情報とを相互に関連付けて格納する。クエリカテゴリテーブルに格納される提供先カテゴリは、上述の提供先関係テーブルに格納される提供先カテゴリと同じである。クエリカテゴリは、提供先カテゴリに対応するサイト7から提供される情報に含まれる情報カテゴリを示す。言い換えれば、クエリカテゴリテーブルにおいて或る提供先カテゴリに関連付けられていないクエリカテゴリは、その提供先カテゴリに対応するサイト7から提供される情報に対する検索のキーワードとして利用されないカテゴリを示す。
【0056】
図7は、キーワードDB16のクエリカテゴリテーブルの例を示す図である。図7では、分かり易くするために、提供先カテゴリ及びクエリカテゴリの各識別情報がそのカテゴリを示す単語(名詞)でそれぞれ図示されている。但し、クエリカテゴリテーブルに格納される提供先カテゴリ及びクエリカテゴリの各識別情報は、図7に図示される単語ではなく、数値であってもよい。図7の例では、提供先カテゴリ「グルメ」には「料理名」及び「地名」がクエリカテゴリとして格納されている。よって、「グルメ」に対応するサイト7から提供される情報に対する検索のキーワードとして「料理名」及び「地名」のカテゴリの単語が利用されることを示している。一方で、提供先カテゴリ「グルメ」には「食材名」が関連付けられていない。よって、「グルメ」に対応付けられたサイト7から提供される情報に対する検索のキーワードとして「食材名」のカテゴリの単語が利用されないことを示している。
【0057】
クエリワードテーブルは、上述のクエリカテゴリとクエリキーワードとの関係を示す情報を格納する。具体的には、クエリワードテーブルは、クエリカテゴリの識別情報とクエリキーワードのキーワードデータとを相互に関連付けて格納する。クエリワードテーブルに格納されるクエリカテゴリは、上述のクエリカテゴリテーブルに格納されるクエリカテゴリと同じである。クエリキーワードは、クエリカテゴリに属する意味を持つ単語である。
【0058】
図8は、キーワードDB16のクエリワードテーブルの例を示す図である。図8では、分かり易くするために、クエリカテゴリの識別情報がそのカテゴリを示す単語(名詞)で図示されている。但し、クエリワードテーブルに格納されるクエリカテゴリの識別情報は、図8に図示される単語ではなく、数値であってもよい。図8の例では、クエリカテゴリ「日付名」に、クエリキーワードとして「明日」、「明後日」、「6月8日」が関連付けられている。
【0059】
クエリカテゴリテーブル及びクエリワードテーブルは、上述したとおり、クエリカテゴリにより相互に関連付けられる。よって、クエリカテゴリテーブル及びクエリワードテーブルは、クエリ関係情報と表記することもできる。また、クエリカテゴリを用いて、クエリカテゴリテーブル及びクエリワードテーブルを統合することもできる。この場合、統合されたテーブルでは、提供先カテゴリとクエリキーワードとの関係が示される。本実施形態のようにクエリカテゴリテーブルとクエリワードテーブルとを別に設けることにより、重複するクエリキーワードをテーブルに格納せずにすむため、メモリリソースの削減につながる。また、各テーブルのデータを管理し易いというメリットも享受できる。
【0060】
ユーザ単語DB13及びキーワードDB16は、関係データベースであってもよいし、JSON(JavaScript(登録商標) Object Notation)やXML(Extensible Markup Language)等のような所定の記述言語で記載されたファイルであってもよい。
【0061】
決定部17は、上述の提供先関係テーブルを参照することにより、抽出部15により抽出された1以上の単語データに対応する提供先カテゴリを特定する。例えば、決定部17は、抽出部15により抽出された単語データがキーワードDB16の提供先関係テーブルに提供先キーワードとして格納されているか否かを判定する。決定部17は、1以上の単語データが提供先キーワードとして格納されている提供先カテゴリを特定する。決定部17は、複数の提供先カテゴリを特定してもよい。また、1以上の単語データが提供先キーワードとして格納されている提供先カテゴリが複数存在する場合、決定部17は、最多の単語データが提供先キーワードとして格納されている一つの提供先カテゴリを特定してもよい。
【0062】
また、決定部17は、提供先キーワードの特徴量と抽出部15により抽出された各単語データの特徴量との類似度を算出し、この類似度を用いて、提供先カテゴリを特定することもできる。単語データの特徴量の表記手法及び単語間の類似度計算手法については様々な既知の手法が利用できる。決定部17は、提供先キーワードデータ及び抽出部15により抽出された各単語データをそれぞれ特徴量データに変換し、変換された特徴量データ間の類似度を計算する。特徴量データはベクトル構造を有していてもよい。本実施形態では、単語間の類似度の計算手法は何ら制限されない。但し、意味及び概念の近さが類似度として高精度に算出される手法が利用されることが望ましい。
【0063】
決定部17は、上述のように算出された類似度の距離により、提供先カテゴリを特定することもできる。他の例として、決定部17は、所定閾値以上でかつ最も高い類似度を示す提供先キーワードと関連付けられた提供先カテゴリを特定してもよい。また、決定部17は、所定閾値以上の類似度を示す提供先キーワードの数が最大の提供先カテゴリを特定してもよい。また、決定部17は、提供先カテゴリ毎の提供先キーワードの平均類似度が最も高い提供先カテゴリを特定してもよい。決定部17は、当該平均類似度が所定閾値以上の提供先カテゴリを特定してもよい。
【0064】
決定部17は、上述の既知の技術を用いて多数の単語について予め算出された特徴量データを保持しておいてもよい。このような単語毎の特徴量データは、分析装置10以外の他の装置により生成されてもよい。この場合、決定部17は、単語毎の特徴量データのテーブルを用いて、抽出部15により抽出された各単語データをそれぞれ特徴量データに置き換える。キーワードDB16には、提供先キーワード及びクエリキーワードとして、各々に対応する特徴量データが予め格納されてもよい。また、提供先関係テーブルには、提供先カテゴリ毎に、複数の提供先キーワードの平均特徴量データが格納されてもよい。この場合、決定部17は、抽出部15により抽出された各単語データの特徴量データと提供先カテゴリ毎の平均特徴量データとの類似度を計算することで、提供先カテゴリを特定する。
【0065】
決定部17は、抽出部15により抽出された1以上の単語データの中から検索キーワードに用いる単語データを選択する。具体的には、決定部17は、キーワードDB16のクエリカテゴリテーブル及びクエリワードテーブルに基づいて、抽出部15により抽出された各単語データが決定部17により特定された提供先カテゴリに関連付けられたクエリカテゴリに属するか否かをそれぞれ判定する。決定部17は、この判定により、抽出部15により抽出された1以上の単語データの中から検索キーワードに用いる単語データを選択する。以降、決定部17により特定された提供先カテゴリに関連付けられたクエリカテゴリを「対象クエリカテゴリ」と表記する場合もある。複数の提供先カテゴリを特定している場合、決定部17は、特定された複数の提供先カテゴリの各々について、抽出部15により抽出された複数の単語データの中から検索キーワードに用いる単語データをそれぞれ選択する。つまり、提供先カテゴリ毎に異なる単語データが選択される場合や、同一の単語データが全ての提供先カテゴリに共通で選択される場合や、単語データが全く選択されない提供先カテゴリが存在する場合などがあり得る。
【0066】
例えば、決定部17は、クエリカテゴリテーブルから対象クエリカテゴリを抽出し、抽出部15により抽出された各単語データが、クエリワードテーブルにおいて、対象クエリカテゴリに関連付けられたクエリキーワードと一致するか否かをそれぞれ判定する。決定部17は、対象クエリカテゴリに関連付けられたクエリキーワードと一致する単語データを検索キーワードに用いる単語データの候補として選択し、それ以外の単語データをその候補から除外する。
【0067】
また、決定部17は、クエリワードテーブルで示されるクエリキーワードと抽出部15により抽出された各単語データの特徴量との類似度をそれぞれ算出し、算出された類似度を用いて、抽出部15により抽出された各単語データについて上記判定をそれぞれ行ってもよい。決定部17は、クエリキーワードデータ及び抽出部15により抽出された各単語データをそれぞれ特徴量データに変換し、変換された特徴量データ間の類似度を計算する。単語データの特徴量の表記手法及び単語間の類似度計算手法については上述したとおりである。
【0068】
例えば、決定部17は、単語データとの類似度が所定閾値以上を示すクエリキーワードが対象クエリカテゴリに関連付けられている場合、その単語データを当該クエリカテゴリに属すると決定する。クエリワードテーブルがクエリカテゴリ毎に複数のクエリキーワードの平均特徴量データを格納している場合、決定部17は、対象クエリカテゴリの平均特徴量データとの類似度が所定閾値以上となる単語データを当該クエリカテゴリに属すると決定する。
【0069】
検索制御部18は、決定部17により決定された提供先カテゴリに対応するサイト7を特定し、このサイト7から提供される情報に対する決定部17により選択された単語データを検索キーワードとして用いた検索を要求する。一つの単語データも選択されなかった提供先カテゴリが存在する場合には、検索制御部18は、その提供先カテゴリに対応するサイト7から提供される情報に対する検索には検索キーワードを指定しなくてもよい。
【0070】
特定されたサイト7がサイト内検索をサポートしている場合、検索制御部18は、その特定されたサイト7に対して、選択された単語データを検索キーワードとする検索を要求し、その検索結果として抽出された情報をサイト7から受信する。また、特定されたサイト7がサイト内検索をサポートしていない場合、サイト7以外のコンピュータが、そのサイト7が提供している全ての情報をそのサイト7から取得し、取得された情報に対して当該検索を実施してもよい。この場合、検索制御部18は、その検索を行うコンピュータに対して検索を要求する。このとき検索制御部18は、そのコンピュータに対して、サイト7のアドレス情報と検索キーワードとして選択された単語データとを送る。検索を実施するコンピュータは、分析装置10であってもよい。
【0071】
出力処理部19は、検索制御部18により検索結果として取得された情報をクライアント8に送信する。これにより、クライアント8ではその情報が出力される。クライアント8は、分析装置10から提供された情報を、表示、印刷、音声など様々な方法で出力可能である。
【0072】
〔動作例/情報分析方法〕
以下、第一実施形態における情報分析方法について図9を用いて説明する。図9は、第一実施形態における分析装置10の動作例を示すフローチャートである。図9に示されるように、第一実施形態における情報分析方法は、分析装置10のような少なくとも一つのコンピュータにより実行される。図9に示される各工程は、分析装置10が有する各ソフトウェア要素の処理内容と同様であるため、各工程の詳細は、適宜省略される。
【0073】
分析装置10は、ユーザの動作に起因して生成された単語データを取得する(S91)。具体的には、分析装置10は、クライアント8から文字列データ又は音声データを受信し、既知の技術を用いて、その受信された文字列データ又は音声データから単語データを抽出する。この単語データの取得手法については、取得部11の説明中で述べたとおりである。分析装置10は、クライアント8から当該単語データそのものを受信してもよい。
【0074】
分析装置10は、(S91)で取得された単語データに関する生成日時及び予定日時又はその生成日時を取得する(S92)。予定日時は取得されない場合もある。単語データに関する生成日時及び予定日時の意味及びそれらの取得手法については、取得部11の説明中で述べたとおりである。
【0075】
分析装置10は、(S91)で取得された単語データを、(S92)で取得された生成日時及び予定日時と関連付けて、ユーザ単語DB13に格納する(S93)。ユーザ毎にユーザ単語DB13が設けられている場合には、分析装置10は、その単語データの発生元のユーザに対応するユーザ単語DB13に、その単語データを格納する。また、分析装置10は、その単語データを、そのユーザ又はクライアント8の識別情報と共に、ユーザ単語DB13に格納してもよい。
【0076】
分析装置10は、ユーザ単語DB13に格納される各単語データについて、その単語データに関連付けられている生成日時及び予定日時に基づいて、重み値をそれぞれ算出する(S94)。重み値の算出手法については、更新部14の説明中で述べたとおりである。具体的には、予定日時が設定されていない単語データについては、分析装置10は、生成日時からの経過時間に応じて低下するように、その単語データの重み値を算出する。予定日時が設定されている単語データについては、生成日時及び予定日時からの各経過時間に応じて低下し、かつ、予定日時までの残り時間の減少に応じて上昇するように、その単語データの重み値を算出する。更に、複数回取得された単語データについては、分析装置10は、その単語データの生成回数の増加に応じて上昇するように、その単語データの重み値を算出する。
【0077】
分析装置10は、(S94)で算出された各単語データの重み値に基づいて、ユーザ単語DB13に格納される単語データの中から、ユーザ毎に1以上の単語データを抽出する(S95)。単語データの抽出手法については、抽出部15の説明中で述べたとおりである。
【0078】
分析装置10は、(S95)で抽出された単語データに基づいて、情報提供先を決定する(S96)。更に、分析装置10は、(S95)で抽出された単語データに基づいて、検索キーワードを決定する(S97)。情報提供先及び検索キーワードの決定手法については、決定部17の説明中で述べたとおりである。
【0079】
分析装置10は、(S96)で情報提供先として決定されたサイト7から提供される情報に対する(S97)で決定された単語データを用いた検索を要求する(S98)。分析装置10は、特定されたサイト7に検索を要求してもよいし、他のコンピュータに対して検索を要求してもよい。また、分析装置10は、自身で検索を実行してもよい。
【0080】
分析装置10は、上記検索の結果として抽出された情報をクライアント8に出力させる(S99)。
【0081】
次に、第一実施形態における情報分析方法の具体例を更に説明する。図10は、第一実施形態における分析装置10の一動作例のフロー及びデータの処理例を示す図である。ここでは、クライアント8で表示されているカレンダ画面に対して、ユーザが、第一予定「パスタを買う」及び第二予定「パスタを食べる」を入力したと仮定する。
【0082】
この場合、分析装置10は、クライアント8から2つの文字列データ「パスタを買う」及び「パスタを食べる」を受信する(S101)。このとき、分析装置10は、その文字列データが受信された時間と、その文字列データが入力されたカレンダ上の日程情報とを取得することができる。
【0083】
分析装置10は、受信された2つの文字列データをそれぞれ品詞分解し、名詞単語データ「パスタ」及び動詞単語データ「買う」及び「食べる」を取得する(S102)。ここでは、助詞単語データ「を」は処理対象から除外される。更に、分析装置10は、単語データ「パスタ」及び「買う」に関する生成日時を、文字列データ「パスタを買う」が受信された日時に設定し、その予定日時をその文字列データ「パスタを買う」が示す予定の日程に設定する。分析装置10は、単語データ「パスタ」及び「食べる」に関する生成日時を、文字列データ「パスタを食べる」が受信された日時に設定し、その予定日時をその文字列データ「パスタを買う」が示す予定の日程に設定する。
【0084】
分析装置10は、(S102)で取得された各単語データを、その単語データに関する生成日時及び予定日時と関連付けて、ユーザ単語DB13にそれぞれ格納する(S103)。図10の例では、単語データ「パスタ」及び「買う」は、生成日時「2015年6月6日」及び予定日時「2015年6月13日」と関連付けられて格納され、単語データ「パスタ」及び「食べる」は、生成日時「2015年6月7日」及び予定日時「2015年6月13日」と関連付けられて格納される。
【0085】
分析装置10は、ユーザ単語DB13に格納される各単語データについて重み値をそれぞれ算出する(S104)。分析装置10は、生成日時及び予定日時のペアを時間変化モデルにそれぞれ適用することにより、単語データ「買う」及び「食べる」の重み値をそれぞれ算出する。図10の例では、単語データ「食べる」の生成日時が、単語データ「買う」のそれよりも後であるため、単語データ「食べる」の重み値は、単語データ「買う」のそれよりも大きい値となっている。ここで、単語データ「パスタ」は、異なる生成日時と関連付けられて2つ格納されている。よって、分析装置10は、生成日時及び予定日時のペアを時間変化モデルにそれぞれ適用することにより、生成日時毎に重み値をそれぞれ算出し、その算出された各重み値を足し合わせることで、単語データ「パスタ」について一つの重み値を算出する。
【0086】
分析装置10は、ユーザ単語DB13に格納される複数の単語データの中から、重み値が所定条件を満たす単語データを抽出する(S105)。図10の例では、分析装置10は、所定閾値「0.8」より大きい重み値「0.83」を有する単語データ「パスタ」を抽出する。
【0087】
分析装置10は、(S105)で抽出された単語データに対応する情報提供先(検索サイト)及び検索キーワード(クエリ)を決定する(S106)。
分析装置10は、(S106)で決定された検索サイトに対して、(S106)で決定されたクエリに基づく検索を要求する。分析装置10は、その検索の結果得られた情報をクライアント8に出力させる(S107)。図10の例では、「パスタ」に関連する情報が出力される。
【0088】
図9及び図10では、一続きの動作フローが例示されている。しかしながら、第一実施形態における情報分析方法及び分析装置10の動作は、そのような一続きのフローでなくてもよい。例えば、図9において、(S91)、(S92)及び(S93)の処理フローと、(S94)の処理と、(S95)以降の処理フローとは、並行して実行されてもよい。また、(S94)以降の処理フローと、(S91)、(S92)及び(S93)の処理フローとが並行して実行されてもよい。また、(S96)及び(S97)は、逆の順で実行されてもよいし、並行して実行されてもよい。
【0089】
〔第一実施形態の作用及び効果〕
上述したように第一実施形態では、ユーザの動作に起因して生成された単語データが、発生元のユーザ毎にユーザ単語DB13に格納される。このとき、単語データは、その単語データに関する生成日時及び予定日時と関連付けられて格納される。そして、生成日時と現在日時との関係又は生成日時及び予定日時と現在日時との関係に基づいて、格納されている各単語データの重み値がそれぞれ算出される。
【0090】
第一実施形態では、単語データの重み値は、生成日時及び予定日時からの各経過時間に応じて低下し、かつ、予定日時までの残り時間の減少に応じて上昇するように、算出される。これにより、算出される重み値は、日付が経つにつれて関心や興味は薄れていくという人間の特性及び予定日時が近付くにつれて関心や興味が高まっていくという人間の特性を反映した値となる。
【0091】
更に、第一実施形態では、同一単語を示す単語データが異なる生成日時と共に取得される場合には、その単語データは、各生成日時と関連付けられて、重複してユーザ単語DB13に格納される。そして、単語データの生成回数の増加に応じて上昇するように、単語データの重み値が算出される。これにより、算出される重み値は、その単語データに対するユーザの行動の回数により表れるユーザの興味や関心の度合いを反映した値となる。
【0092】
このように、関心や興味に関する時間的変化及び人間の行動特性を反映した方法で重み値が算出されるため、第一実施形態によれば、各単語データの重み値の変化を人間が抱く興味や関心の度合いの変化に近似させることができる。即ち、第一実施形態によれば、各単語に対するユーザの興味や関心の度合いを高精度に管理することができる。
【0093】
更に、第一実施形態では、ユーザの行動に起因して生成された複数の単語データの中から、上述のように算出された各単語データの重み値に基づいて、1以上の単語データが抽出される。各重み値には、ユーザが抱く興味や関心の度合いが高精度に反映されているため、抽出される単語データは、ユーザにとって関心の高い(興味の強い)単語のデータとなる。そして、第一実施形態では、抽出された単語データに基づいて情報提供先及び検索キーワードが決定され、その情報提供先から提供される情報に対するその決定された検索キーワードを用いた検索が実行され、その検索の結果得られた情報がクライアント8(ユーザ)に提供される。これにより、ユーザにとって関心の高い単語に関連する情報がユーザに提供されることになる。
【0094】
従って、第一実施形態によれば、ユーザ毎に、関心の高い情報を適切なタイミングで提供することができる。ここで、適切なタイミングとは、ユーザが関心の高いそのときを意味する。ユーザの興味や関心は、上述したとおり、時間の経過に従って減少していくため、或る時点で感心が高かったトピックであっても、その後の或る時点でも関心が高いとは限らない。また、今後の予定に関連するトピックに対する興味や関心は、或る時点で低かったとしても、その予定の接近により、再び高まる。第一実施形態によれば、このような人間が抱く興味や関心の度合いの変化に従って、ユーザが関心の高い情報を関心の高いときに提供することができる。
【0095】
[第二実施形態]
第二実施形態は、検索により抽出された情報に対するユーザの評価を更に考慮して、単語データの重み値を更新する。以下、第二実施形態における情報分析装置及び情報分析方法について、第一実施形態と異なる内容を中心に説明する。以下の説明では、第一実施形態と同様の内容については適宜省略する。
【0096】
第二実施形態における分析装置10のハードウェア構成は、第一実施形態と同様でよい。
〔処理構成〕
図11は、第二実施形態における分析装置10の処理構成例を概念的に示す図である。第二実施形態における分析装置10は、図11に示されるようなソフトウェア要素を有する。具体的には、分析装置10は、第一実施形態の処理構成に加えて、評価取得部21を更に有する。評価取得部21についても、例えば、CPU1によりメモリ2に格納されるプログラムが実行されることにより実現される。また、当該プログラムは、例えば、CD、メモリカード等のような可搬型記録媒体やネットワーク上の他のコンピュータから入出力I/F3又は通信ユニット4を介してインストールされ、メモリ2に格納されてもよい。
【0097】
出力処理部19は、検索制御部18により検索結果として取得された情報をクライアント8に送信する。このとき、出力処理部19は、検索結果として取得された情報と共に、クライアント8のユーザにその情報の評価結果を入力させるための画面を送信することもできる。例えば、その入力画面には、良いか否かを選択させる画面要素が含まれていてもよいし、評価点(例えば、最良(5点)から不要(0点)までの6段階の一つ)を入力させる画面要素が含まれていてもよい。
【0098】
評価取得部21は、検索制御部18により検索結果として取得された情報に対するユーザの評価情報を取得する。ユーザの評価情報は、提供された情報の、ユーザにとっての必要性の有無又は高さを示す情報である。例えば、ユーザの評価情報は、必要であったか否かの二値により示されてもよいし、必要性の高さを示す評価値により示されてもよい。ユーザの評価がクライアント8の操作により入力される場合には、評価取得部21は、その入力された情報をユーザの評価情報として取得する。また、評価取得部21は、提供された情報のサマリをユーザが選択して、その詳細情報をユーザが閲覧したか否かをユーザの評価情報として取得することもできる。例えば、出力処理部19が検索結果として得られた情報のサマリリストの画面をクライアント8に表示させ、評価取得部21は、その画面に対する選択操作に関する情報によりユーザの閲覧状況を判定することができる。
【0099】
評価取得部21は、取得された評価情報の対象となる検索を特定し、その評価情報により示される評価値をその検索の基礎とされた単語データの評価値に設定する。検索の基礎とされた単語データとは、その検索に用いられた情報提供先及び検索キーワードを決めるために参照された単語データを意味する。単語データの評価値は、ユーザ単語DB13に、単語データと関連付けられて格納されてもよいし、別のテーブルに、その単語データと更新部14により算出される重み値と共に格納されてもよい。
【0100】
評価情報の対象となる検索の特定及び評価値を設定すべき単語データの特定は、例えば、次のように遂行される。検索制御部18は、実行された検索毎に、対象ユーザ(又はクライアント8)の識別情報とその検索の基礎とされた単語データと検索により得られた情報との関連情報を保持しておく。評価取得部21は、評価情報と共に、ユーザ(又はクライアント8)の識別情報とその評価情報の対象となる情報との関係情報を取得する。評価取得部21は、その関係情報に基づいて、評価情報の対象となる検索を特定し、評価値を設定すべき単語データを特定することができる。
【0101】
更新部14は、評価取得部21により取得された評価情報を更に考慮して、各単語データの重み値を更新する。更新部14は、評価情報により示される、ユーザにとっての必要性の高さに従って高くなるように、重み値を算出する。このような更新部14による算出手法は、例えば、次のような計算式で実装することができる。但し、本実施形態における更新部14で用いられる重み値の算出手法は、以下の(式4)に限定されない。
【数2】
【0102】
上記の(式4)において、eは、単語データs'についての評価値を示す。例えば、eは、未評価ならば「1」、肯定的な評価ならば「2」、否定的な評価ならば「0」といった値を取る。単語データsの重み値を示すwは、上記(式2)又は上記(式3)で算出される。上記(式4)によれば、肯定的な評価を得た単語データの重み値は、否定的な評価を得た単語データ及び未評価の単語データに比べて、高く算出される。
【0103】
図12は、第二実施形態における重み値の時間変化モデルの例を示す図である。この例では、4日経過時点において、ユーザの否定的な評価を示す評価情報に基づいて、重み値が0に設定されている。この例は、否定的な評価を示す評価値eが「0」に設定される場合に、上記(式4)で算出される重み値と同じである。また、8日経過時点において、ユーザの肯定的な評価を示す評価情報に基づいて、重み値が上げられている。この例は、肯定的な評価を示す評価値eが「2」に設定される場合に、上記(式4)で算出される重み値と同じで、重み値が2倍に更新されている。
【0104】
〔動作例/情報分析方法〕
以下、第二実施形態における情報分析方法について図13を用いて説明する。図13は、第二実施形態における分析装置10の動作例を示すフローチャートである。図13に示されるように、第二実施形態における情報分析方法は、分析装置10のような少なくとも一つのコンピュータにより実行される。図13に示される各工程は、分析装置10が有する各ソフトウェア要素の処理内容と同様であるため、各工程の詳細は、適宜省略される。
【0105】
図13に示される工程(S91)から(S99)は、図9に示される第一実施形態における各工程と同様である。
【0106】
第二実施形態では、分析装置10は、(S99)で検索結果として出力された情報に対するユーザの評価情報を取得する(S131)。分析装置10は、(S99)での情報の送信先となるクライアント8又はユーザの識別情報と、(S99)で送信した情報と、(S98)での検索の基礎とされた((S95)で抽出された)単語データとの関係情報を保持することができる。分析装置10は、(S131)で取得された評価情報が(S99)で送信した情報に対応することを確認し、その情報と関係する単語データを、評価値を設定すべき単語データとして決定する。分析装置10は、決定された単語データに関連付けて、取得された評価情報に対応する評価値を格納する。
【0107】
分析装置10は、その格納された評価値を更に用いて、その単語データの重み値を更新する(S132)。このときの重み値の算出手法については、更新部14の説明中に述べたとおりである。
【0108】
次に、第二実施形態における情報分析方法の具体例を更に説明する。図14は、第二実施形態における分析装置10の一動作例のフロー及びデータの処理例を示す図である。前提条件は、図10に示される場面と同じである。更に、(S101)から(S107)については、図10と同様である。
【0109】
分析装置10は、パスタ関連の情報を検索結果としてクライアント8に出力させた後(S107)、その情報に対するユーザの評価情報を取得する(S141)。このユーザは、(S107)における情報の提供先となるユーザであり、(S101)で取得された文字列データの発生元となるユーザである。ここでは、取得された評価情報は、肯定的な評価を示していたと仮定する。これにより、分析装置10は、(S105)で抽出された単語データと関連付けて、その評価情報に対応する評価値「2」を格納する。
【0110】
分析装置10は、その評価値「2」を更に用いて、その単語データの重み値を更新する(S104)。ここでは、分析装置10は、元の重み値「0.83」に評価値「2」を掛け合わせて、新たな重み値「1.66」を算出する。結果、そのユーザにとって、パスタの関連情報の有用性が高かったため、再度、パスタの関連情報が提供されることになる。
【0111】
第二実施形態における分析装置10の動作及び情報分析方法は、図13及び図14に示される例に制限されない。分析装置10は、ユーザの評価情報を取得したタイミングで、その評価情報に対応する単語データの重み値を更新しなくてもよい。この場合、分析装置10は、(S131)の後、単語データに関連付けて、取得された評価情報に対応する評価値を格納して終える。分析装置10は、任意のタイミングで重み値を更新する際に、評価値が格納されている単語データの重み値は、その評価値を更に用いて、算出すればよい。
【0112】
〔第二実施形態の作用及び効果〕
上述したとおり、第二実施形態では、検索結果として取得された情報がユーザ(クライアント8)に提供され、その情報に対するユーザの評価情報が取得される。そして、生成日時、予定日時、生成回数(格納回数)に加えて、その取得された評価情報を更に考慮して、各単語データの重み値が算出される。このように、第二実施形態では、興味や関心に関する人間の心理的特性及び行動特性だけでなく、検索結果に対してユーザから直接フィードバックされた嗜好情報が各単語データの重み値に更に反映される。
【0113】
従って、第二実施形態によれば、ユーザの嗜好に合った情報を提供できる値になるように、単語データの重み値を学習することができるため、各単語に対するユーザの興味や関心の度合いをより高精度に管理することができる。結果、ユーザにとって興味や関心の高い情報、即ちユーザの嗜好に合った情報のみを提供することができる。
【0114】
[第二実施形態の変形例]
上述のキーワードDB16に含まれる提供先関係テーブルは、複数の情報提供先と複数の特徴ベクトルとの関係を示してもよい。この場合、提供先関係テーブルは、ユーザ毎に設けられてもよいし、ユーザの識別情報と複数の情報提供先と複数の特徴ベクトルとの関係を示してもよい。本変形例では、抽出部15は、抽出された単語データを特徴ベクトルに変換する。この変換方法には既知の様々な手法が利用可能である。抽出部15は、既知の手法を用いて多数の単語について予め算出された特徴ベクトルのリストを保持しておいてもよい。特徴ベクトルは、分析装置10以外の他の装置により生成されてもよい。この場合、抽出部15は、保持される特徴ベクトルのリストを用いて、抽出された各単語データを特徴ベクトルにそれぞれ変換する。以降、変換された特徴ベクトルは、単語特徴ベクトルと表記される。
【0115】
決定部17は、ユーザの提供先関係テーブルに格納される各特徴ベクトルと、抽出部15により算出された各単語特徴ベクトルとの類似度をそれぞれ算出することにより、検索対象とする情報提供先(サイト7)と単語データとの組み合わせを特定する。決定部17は、算出された類似度が所定閾値以上となる単語特徴ベクトルと特徴ベクトルとの組み合わせに基づいて、その単語特徴ベクトルに対応する単語データとその特徴ベクトルに対応するサイト7との組み合わせを特定する。当該所定閾値は、予め決定部17により保持されていればよく、その具体的な値は制限されない。
【0116】
検索制御部18は、決定部17により特定された組み合わせに対応する検索を要求する。具体的には、検索制御部18は、決定部17により特定された組み合わせにおけるサイト7から提供される情報に対するその組み合わせにおける単語データを検索キーワードとして用いた検索を要求する。検索制御部18は、決定部17により特定された複数の組み合わせにおいて、同一のサイト7に対して異なる単語データが組み合わされている場合、そのサイト7から提供される情報に対する複数の検索を要求する。
【0117】
更新部14は、各単語データの重み値に加えて、キーワードDB16の提供先関係テーブルに格納される特徴ベクトルを更に更新する。具体的には、更新部14は、評価取得部21により取得された評価情報に基づいて、提供先関係テーブルにおいて、当該検索の対象とされた情報提供先に関連付けられている特徴ベクトルを更新する。更新部14は、評価情報の対象とされた検索の情報提供先に関連付けられている特徴ベクトルを、その検索で用いられた単語データの特徴ベクトルに近付く又はその特徴ベクトルから離れるように、更新する。特徴ベクトルの更新手法は制限されない。
【0118】
本変形例によれば、情報提供先と特徴ベクトルとの関係が、各ユーザの嗜好に合うように、自動で学習される。結果、提供先関係テーブルの設定を自動化することができ、テーブルの管理労力を低減することができる。
【0119】
[第三実施形態]
以下、第三実施形態における情報分析装置及び情報分析方法について説明する。また、第三実施形態は、この情報分析方法を少なくとも一つのコンピュータに実行させるプログラムであってもよいし、このようなプログラムを記録した当該少なくとも一つのコンピュータが読み取り可能な記録媒体であってもよい。
【0120】
図15は、第三実施形態における情報分析装置100の処理構成例を概念的に示す図である。図15に示されるように、情報分析装置100は、取得部101、格納処理部102及び更新部103を有する。図15に示される情報分析装置100は、例えば、図1に示される上述の分析装置10と同様のハードウェア構成を有し、その分析装置10と同様にプログラムが処理されることで、図15に示される各ソフトウェア要素が実現される。
【0121】
取得部101は、ユーザの動作に起因して生成された単語データを取得する。ユーザの動作は、クライアント8の操作(キーボード操作、マウス操作、タッチパネル操作、クライアント8の端末を動かす等)、発声、ジェスチャ等、あらゆる動作を含む。取得される単語データは、ユーザの動作に間接的に起因して得られる単語データであってもよい。例えば、取得部101は、ユーザの閲覧操作によりサーバ装置(図示せず)から提供される情報に含まれる文字列データから、当該複数の単語データを取得することもできる。取得部101は、クライアント8から当該複数の単語データを取得してもよいし、クライアント8又は他の装置から得られるデータに対して所定処理(形態素解析、音声認識、ジェスチャ認識等)を適用することで当該複数の単語データを取得してもよい。また、取得部101は、可搬型記録媒体や、クライアント8以外の他の装置から単語データを取得することもできる。
【0122】
格納処理部102は、取得部101により取得された単語データを、その単語データに関する生成日時及び予定日時と関連付けてユーザ単語格納部に格納する。生成日時及び予定日時の意味については、第一実施形態で述べたとおりである。格納処理部102の具体例が、上述の格納処理部12である。
【0123】
ユーザ単語格納部は、単語データと生成日時と予定日時とを関連付けて格納する。但し、ユーザ単語格納部は、他の情報を格納してもよい。また、ユーザ単語格納部は、上述の各実施形態と同様に、同一単語を示す単語データを重複して格納してもよいし、同一単語を示す単語データを一つだけ格納してもよい。後者の場合、ユーザ単語格納部は、最新の生成日時及び予定日時を、その単語データと関連付けて格納すればよい。
【0124】
図15に示されるように、情報分析装置100は、ユーザ単語格納部を持たなくてもよいし、持っていてもよい。情報分析装置100は、通信ユニット4を介した通信により、他の装置が持つユーザ単語格納部を参照することができる。
【0125】
更新部103は、生成日時及び予定日時と現在日時との関係に基づいて、単語データの重み値を更新する。更新部103の具体例が上述の更新部14である。本実施形態では、生成日時及び予定日時からの各経過時間に応じて低下し、かつ、予定日時までの残り時間の減少に応じて上昇するように、更新されれば、重み値の更新手法(算出手法)は制限されない。例えば、ユーザ単語格納部が、同一単語を示す単語データを重複して格納しない場合、更新部103は、単語データの生成回数(取得回数)を考慮することなく、最新の生成日時及び予定日時と現在日時との関係から、単語データの重みを算出すればよい。
【0126】
図15に示されるように、情報分析装置100は、抽出部15、キーワードDB16、決定部17、検索制御部18及び出力処理部19を有していなくてもよい。他の少なくとも一つのコンピュータ(装置)が、抽出部15、キーワードDB16、決定部17、検索制御部18及び出力処理部19を有し、これら各ソフトウェア要素が情報分析装置100により更新される重み値を参照すればよい。
【0127】
第三実施形態における情報分析方法は、情報分析装置100のような少なくとも一つのコンピュータにより実行される。本実施形態における情報分析方法は、第一工程、第二工程及び第三工程を含む。これら各工程は、情報分析装置100が有する各ソフトウェア要素の処理内容と同様であるため、各工程の詳細は、適宜省略される。
【0128】
第一工程では、コンピュータ(CPU1)は、ユーザの動作に起因して生成された単語データを取得する。
第二工程では、コンピュータ(CPU1)は、第一工程で取得された単語データを、その単語データに関する生成日時及び予定日時と関連付けてユーザ単語格納部に格納する。
第三工程では、コンピュータ(CPU1)は、生成日時及び予定日時と現在日時との関係に基づいて、単語データの重み値を更新する。
【0129】
〔第三実施形態の作用及び効果〕
第三実施形態では、ユーザの動作に起因して生成された単語データが、その単語データに関する生成日時及び予定日時と関連付けられて格納され、生成日時及び予定日時と現在日時との関係に基づいて、その単語データの重み値が更新される。このように、生成日時及び予定日時と現在日時との関係を考慮することにより、単語データの重み値に、日付が経つにつれて関心や興味は薄れていくという人間の特性及び予定日時が近付くにつれて関心や興味が高まっていくという人間の特性を反映することができる。従って、第三実施形態によれば、各単語に対するユーザの興味や関心の度合いを高精度に管理することができる。
【0130】
なお、上述の説明で用いた複数のフローチャートでは、複数の工程(処理)が順番に記載されているが、各実施形態で実行される工程の実行順序は、その記載の順番に制限されない。各実施形態では、図示される工程の順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態は、内容が相反しない範囲で組み合わせることができる。
【0131】
上述の内容は、以下のようにも特定され得る。但し、上述の内容が以下の記載に限定されるものではない。
【0132】
1. ユーザの動作に起因して生成された単語データを取得する取得手段と、
前記単語データを、前記単語データに関する生成日時及び予定日時と関連付けてユーザ単語格納部に格納する格納処理手段と、
前記生成日時及び前記予定日時と現在日時との関係に基づいて、前記単語データの重み値を更新する更新手段と、
を備える情報分析装置。
2. 前記更新手段は、前記生成日時及び前記予定日時からの各経過時間に応じて低下し、かつ、前記予定日時までの残り時間の減少に応じて上昇する時間変化モデルを用いて、前記単語データの重み値を算出する、
1.に記載の情報分析装置。
3. 前記格納処理手段は、或る単語データを、異なる複数の生成日時と関連付けて前記ユーザ単語格納部に格納し、
前記更新手段は、生成日時又は生成日時及び予定日時のペアを前記時間変化モデルにそれぞれ適用することにより、生成日時毎に重み値をそれぞれ算出し、算出された各重み値を足し合わせることで、前記単語データの重み値を算出する、
2.に記載の情報分析装置。
4. 前記更新手段は、単語データの生成回数の増加に応じて上昇するように、その単語データの重み値を算出する、
1.から3.のいずれか1つに記載の情報分析装置。
5. 単語データ毎の重み値に基づいて、複数の単語データの中から単語データを抽出する抽出手段と、
前記抽出された単語データに基づいて、情報提供先及び検索キーワードを決定する決定手段と、
前記決定された情報提供先から提供される情報に対する前記決定された検索キーワードを用いた検索を要求する検索制御手段と、
前記検索により抽出された情報に対する前記ユーザの評価情報を取得する評価取得手段と、
を更に備え、
前記更新手段は、前記ユーザの評価情報に基づいて、前記抽出された単語データの重み値を更新する、
1.から4.のいずれか1つに記載の情報分析装置。
6. 前記取得手段は、前記ユーザの動作に起因して取得された文字列データを品詞分解することにより、前記単語データを抽出する、
1.から5.のいずれか1つに記載の情報分析装置。
7. 少なくとも一つのコンピュータにより実行される情報分析方法において、
ユーザの動作に起因して生成された単語データを取得し、
前記単語データを、前記単語データに関する生成日時及び予定日時と関連付けてユーザ単語格納部に格納し、
前記生成日時及び前記予定日時と現在日時との関係に基づいて、前記単語データの重み値を更新する、
ことを含む情報分析方法。
8. 前記更新は、前記生成日時及び前記予定日時からの各経過時間に応じて低下し、かつ、前記予定日時までの残り時間の減少に応じて上昇する時間変化モデルを用いて、前記単語データの重み値を算出することを含む、
7.に記載の情報分析方法。
9. 或る単語データを、異なる複数の生成日時と関連付けて前記ユーザ単語格納部に格納し、
生成日時又は生成日時及び予定日時のペアを前記時間変化モデルにそれぞれ適用することにより、生成日時毎に重み値をそれぞれ算出し、
前記算出された各重み値を足し合わせることで、前記単語データの重み値を算出する、
ことを更に含む8.に記載の情報分析方法。
10. 単語データの生成回数の増加に応じて上昇するように、その単語データの重み値を算出する、
ことを更に含む7.から9.のいずれか1つに記載の情報分析方法。
11. 単語データ毎の重み値に基づいて、複数の単語データの中から単語データを抽出し、
前記抽出された単語データに基づいて、情報提供先及び検索キーワードを決定し、
前記決定された情報提供先から提供される情報に対する前記決定された検索キーワードを用いた検索を要求し、
前記検索により抽出された情報に対する前記ユーザの評価情報を取得し、
前記ユーザの評価情報に基づいて、前記抽出された単語データの重み値を更新する、
ことを更に含む7.から10.のいずれか1つに記載の情報分析方法。
12. 前記取得は、前記ユーザの動作に起因して取得された文字列データを品詞分解することを含む、
7.から11.のいずれか1つに記載の情報分析方法。
13. 7.から12.のいずれか1つに記載の情報分析方法を少なくとも一つのコンピュータに実行させるプログラム。
【符号の説明】
【0133】
1 CPU
2 メモリ
7 情報提供サイト(サイト)
8 クライアント装置(クライアント)
10,100 情報分析装置(分析装置)
11,101 取得部
12,102 格納処理部
13 ユーザ単語DB
14,103 更新部
15 抽出部
16 キーワードDB
17 決定部
18 検索制御部
19 出力処理部
21 評価取得部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15