図1は、文書管理システム1SYの全体的な構成の例を示す図である。図2は、プロファイル管理サーバ1のハードウェア構成の例を示す図である。図3は、プロファイル管理サーバ1の機能的構成の例を示す図である。図4は、端末装置2のハードウェア構成の例を示す図である。図5は、端末装置2の機能的構成の例を示す図である。
文書管理システム1SYは、図1に示すように、プロファイル管理サーバ1、端末装置2、ドキュメントサーバ3、画像形成装置4、および通信回線5などによって構成される。
文書管理システム1SYは、種々の情報、特に文書を管理しユーザに提供するためのシステムである。文書管理システム1SYは、企業、役所、または学校などの組織に設置され、組織のメンバーによって用いられる。以下、ある企業において文書管理システム1SYが用いられる場合を例に説明する。したがって、この企業の従業員が文書管理システム1SYのユーザである。各ユーザには、ユニークなID(identification)であるユーザコードが1つずつ与えられている。
プロファイル管理サーバ1、端末装置2、ドキュメントサーバ3、および画像形成装置4は、通信回線5を介して通信を行うことができる。通信回線5として、固定電話回線、携帯電話網、PHS(Personal Handy-phone System)回線、専用線、インターネット、またはいわゆるLAN(Local Area Network)回線などが用いられる。LAN回線の全部または一部として、無線LANの回線を用いることができる。
プロファイル管理サーバ1は、ユーザごとのプロファイルを管理する。プロファイルとして、特に、ユーザに関連する単語を管理する。また、ユーザに関連する単語をキーワードとして用いて文書の検索を支援する。これらについては、後に詳細に説明する。
プロファイル管理サーバ1は、図2に示すように、CPU(Central Processing Unit)10a、RAM(Random Access Memory)10b、ROM(Read Only Memory)10c、ハードディスク10d、およびNIC(Network Interface Card)10eなどによって構成される。
NIC10eは、端末装置2、ドキュメントサーバ3、および画像形成装置4のほか、インターネット上のウェブサーバなどと通信を行うための装置である。
ROM10cまたはハードディスク10dには、図3に示す文書データ収集部101、興味度データ取得部102、必要部分抽出部103、単語重要度算出部104、ペア重要度算出部105、変化パターン判定部106、重要度調整部107、プロファイルデータ生成部108、検索処理部109、文書データ記憶部121、興味度データ記憶部122、およびプロファイルデータ記憶部123などの機能を実現するためのプログラムが記憶されている。このプログラムは、プロファイルの管理および情報の検索のためのものである。このプログラムは、必要に応じてRAM10bにロードされ、CPU10aによって実行される。
図1に戻って、端末装置2は、文書(ドキュメント)の作成および編集を行ったり、プロファイル管理サーバ1、ドキュメントサーバ3、および画像形成装置4などが提供する種々のサービスを受けたりするための装置である。端末装置2として、パーソナルコンピュータ、タブレットコンピュータ(タブレットPC)、携帯電話端末、またはスマートフォンなどが用いられる。以下、端末装置2としてタブレットコンピュータが用いられる場合を例に説明する。
端末装置2は、図4に示すように、CPU20a、RAM20b、フラッシュメモリ20c、タッチパネルディスプレイ20d、操作ボタン群20e、無線LAN通信装置20f、近距離無線通信装置20g、携帯電話通信装置20h、マイクロフォン20i、スピーカ20j、デジタルカメラ20k、およびジャイロセンサ20mなどによって構成される。
タッチパネルディスプレイ20dは、ユーザに対してメッセージを与えるための画面、処理の結果を示す画面、またはユーザが指示を入力するための画面などを表示する。また、タッチパネルディスプレイ20dは、タッチされた位置を検知し、CPU20aにその位置を通知する。
操作ボタン群20eは、いわゆるホーム画面に戻るためのボタン、音量を調整するためのボタン、および電源のオン/オフを切り換えるためのボタンなどによって構成される。
無線LAN通信装置20f、近距離無線通信装置20g、および携帯電話通信装置20hは、いずれも、無線によって他の装置と通信を行うための装置である。ただし、それぞれ、通信の方式などが異なる。
無線LAN通信装置20fは、無線LANの規格、つまり、IEEE(Institute of Electrical and Electronics Engineers)802.11の規格に基づいて通信を行う。
近距離無線通信装置20gは、近距離無線通信の規格に基づいて通信を行う。例えば、Bluetooth(登録商標)またはZigBeeなどの規格に基づいて通信を行う。また、ワイヤレスキーボード、ワイヤレスマウス、エアペン(Air Pen)、視線追従型ヘッドマウントディスプレイ、赤外線カメラ、およびジェスチャコントローラなどを、近距離無線通信装置20gを介して端末装置2に接続することもできる。なお、ジェスチャコントローラは、深度センサまたはジャイロセンサなどを有し、ユーザがジェスチャによって本体(本例では、端末装置2)をコントロールするための入力装置である。ジェスチャコントローラとして、マイクロソフト社のKinectまたはリープモーション社のLEAPなどが用いられる。
携帯電話通信装置20hは、CDMA(Code Division Multiple Access)2000またはW−CDMA(Wideband-CDMA)などの規格に基づいて通信を行う。
マイクロフォン20iは、集音し音声データを生成する。スピーカ20jは、音声データに基づいて音声を出力する。デジタルカメラ20kは、画像を撮影し画像データを生成する。動画像を撮影し動画像の画像データを生成することも、できる。ジャイロセンサ20mは、端末装置2の姿勢を検知する。
フラッシュメモリ20cには、文書(ドキュメント)の作成用のアプリケーション(例えば、ワープロソフト)がインストールされている。そのほか、メーラ、ウェブブラウザ、スケジューラ、メッセンジャ、IP電話アプリケーション、および声紋判別アプリケーションなどのアプリケーションがインストールされている。
さらに、フラッシュメモリ20cには、図5に示す閲覧開始操作検知部201、文書データ提供部202、興味度検出部203、興味度変化データ記憶部204、閲覧終了操作検知部205、全体興味度算出部206、興味度データ提供部207、および検索クライアント208などの機能を実現するためのプログラムが記憶されている。
これらのプログラムは、必要に応じてRAM20bにロードされ、CPU20aによって実行される。
図1に戻って、ドキュメントサーバ3は、文書のデータを管理する。ドキュメントサーバ3として、複数台のサーバが設けられている。特に、ドキュメントサーバ31は、ファイルサーバであって、ワープロソフトなどのアプリケーションによって作成された文書のデータをファイル単位で管理する。ドキュメントサーバ32は、ウェブサーバであって、文書のデータをウェブページの単位で管理する。
画像形成装置4は、コピー、PCプリント、ファックス、およびスキャナなどの機能を集約した装置である。一般に、「複合機」または「MFP(Multi Function Peripherals)」などと呼ばれることがある。
「PCプリント」は、端末装置2から受信した画像データに基づいて画像を用紙に印刷する機能である。「ネットワークプリンティング」または「ネットワークプリント」などと呼ばれることもある。
次に、図3に示すプロファイル管理サーバ1の各部および図5に示す端末装置2の各部について、プロファイルの生成のためのデータの収集の処理、プロファイルの生成の処理、および情報の検索の処理に大別して説明する。
〔プロファイルの生成のためのデータの収集の処理〕
図6は、各時刻の興味度データ6KAの例を示す図である。
ユーザが文書を端末装置2によって使用し始めるタイミングが、プロファイルの生成のために必要なデータを収集する処理の開始のタイミングである。
端末装置2において、閲覧開始操作検知部201は、ユーザが文書の閲覧を開始する操作を行ったことを検知する。
閲覧を開始する操作の検知は、キーロガーによって実現することができる。なお、キーロガーは、キーボード、マウス、またはタッチパネルディスプレイによる入力を随時、監視するエージェントである。すなわち、閲覧開始操作検知部201は、キーロガーによってユーザが行った操作の手順を検知し、検知した操作の手順と所定の操作の手順とをマッチングする。そして、両者が一致すれば、閲覧を開始する操作が行われたと、検知する。所定の操作の手順は、例えば、所定のアプリケーションを起動し、ファイルのオープンのコマンドを入力し、文書のデータを選択する、という操作の手順である。この例によると、閲覧開始操作検知部201は、ユーザが選択した文書のデータをも検知することができる。
また、このような操作によって端末装置2において、従来通り、アプリケーションが起動し、ユーザによって選択された文書のデータがドキュメントサーバ3からダウンロードされまたは端末装置2のデータベースから読み出され、そして、文書が表示される。これにより、ユーザは、文書を閲覧することができる。
文書データ提供部202は、閲覧開始操作検知部201によって検知された文書のデータを、このユーザのユーザコードと対応付けてプロファイル管理サーバ1へ送信する。以下、ユーザが選択した文書を「カレント文書」と記載し、カレント文書のデータを「文書データ6DC」と記載する。
プロファイル管理サーバ1の文書データ収集部101(図3参照)は、端末装置2から送信されてきた文書データ6DCを取得し、文書データ記憶部121に記憶させる。
端末装置2の興味度検出部203は、カレント文書に対するユーザの興味の強さの度合いを表わす興味度RIを検出する。興味度RIは、例えば次の方法によって検出することができる。
1つ目の方法は、ユーザの視線に基づいて検出する方法である。具体的には、デジタルカメラ20kまたは視線追従型ヘッドマウントディスプレイによってユーザの顔を撮影し視線およびその動きを検出する。また、予め、視線がカレント文書の画面に定まっている時間(凝視している時間)が長いほど高い興味度を導く関数またはテーブルを用意しておく。そして、ユーザの視線に基づいてカレント文書の画面に定まっている時間を算出し、関数またはテーブルに基づいて興味度RIを検出する。視線に基づく興味度の検出の公知の技術として、特開平11−85762号公報に記載される技術がある。
2つ目の方法は、ユーザの姿勢に基づいて検出する方法である。具体的には、デジタルカメラ20kによってユーザと対象の物体(本例では、カレント文書の画面)との距離を計測する。また、予め、距離(ユーザと対象の物体との距離)と興味度との関係を表わす関数またはテーブルを用意しておく。そして、計測した距離および関数またはテーブルに基づいて興味度RIを検出する。または、距離の変化量に基づいて興味度を検出する方法を用いてもよい。
3つ目の方法は、生体情報に基づいて検出する方法である。具体的には、デジタルカメラ20k、視線追従型ヘッドマウントディスプレイ、または赤外線カメラによってユーザの眼球の運動および瞬きのほか、瞳孔の大きさを検出する。また、眼球の運動、瞬きの回数もしくは頻度、または瞳孔の大きさもしくはその変化と興味度との関係を表わす関数またはテーブルを予め用意しておく。そして、検出したこれらの情報および関数またはテーブルに基づいて興味度RIを検出する。人間の目に関する情報に基づいて興味度を検出する公知の技術の例として、WO2008/072739号公報に記載される技術がある。
これらの方法によると、ユーザがカレント文書を閲覧している様子を撮影するだけでよいので、ユーザの作業(ワーク)を阻害することなく、興味度RIをリアルタイムに検出することができる。
なお、上記3つ以外の方法によって興味度RIを検出してもよい。または、精度を高めるために、複数の方法を組み合わせても用いてもよい。
興味度検出部203は、ユーザがカレント文書の閲覧を開始してから終了するまでの間、所定の時間(例えば、1〜10秒)ごとに興味度RIを検出する。
検出された興味度RIは、その時点の時刻と対応付けられて、興味度データ6KAとして興味度変化データ記憶部204に記憶される。つまり、興味度変化データ記憶部204には、図6のような、時刻ごとの興味度RI、つまり、興味度RIの変化のデータが、記憶される。
閲覧終了操作検知部205は、ユーザがカレント文書の閲覧を終了する操作を行ったことを検知する。
閲覧を終了する操作の検知も、閲覧を開始する操作の検知と同様に、キーロガーによって実現することができる。すなわち、閲覧終了操作検知部205は、キーロガーによってユーザが行った操作を検知し、検知した操作と所定の操作とをマッチングする。そして、両者が一致すれば、閲覧を終了する操作が行われたと、検知する。所定の操作は、例えば、所定のアプリケーションの終了のコマンドの入力、文書のファイルを閉じるコマンドの入力、または他の文書のファイルをオープンするコマンドの入力、または他のアプリケーションへの切換えなどの操作などである。
全体興味度算出部206は、カレント文書の閲覧の終了の操作が閲覧終了操作検知部205によって検知されると、興味度変化データ記憶部204に記憶されている、各時刻の興味度データ6KAに基づいて、閲覧中の全体的な興味の度合いを表わす全体興味度REを算出する。例えば、各興味度データ6KAに示される興味度RIの平均値を全体興味度REとして算出する。または、これらの興味度RIのうちの最大値と最小値との中間値(例えば、ちょうど真ん中の値)を全体興味度REとして算出してもよい。
興味度データ提供部207は、興味度データ6Kを生成し、プロファイル管理サーバ1へ送信する。興味度データ6Kには、閲覧が終了したことを示す信号、全体興味度算出部206によって算出された全体興味度RE、興味度検出部203によって検出された各時刻の興味度RI、および閲覧者(ユーザ)のユーザコードが示されている。
プロファイル管理サーバ1において、興味度データ取得部102は、端末装置2から送信されてきた興味度データ6Kを取得し、興味度データ記憶部122に記憶させる。
〔プロファイルの生成の処理〕
図7は、必要部分抽出処理の流れの例を説明するフローチャートである。図8は、変化パターンと重要性特性との関係の例を示す図である。図9は、変化パターンごとの重み付けの方法の例を示す図である。図10は、プロファイルデータ6PDの例を示す図である。
必要部分抽出部103は、興味度データ取得部102によって興味度データ6Kが取得されると、カレント文書の中からプロファイルの生成に必要な部分を抽出する処理を、例えば図7に示す手順で実行する。
必要部分抽出部103は、興味度データ6Kに示される全体興味度REと閾値αとを比較する(#701)。全体興味度REが閾値α以上である場合は(#702でYes)、文書データ記憶部121から文書データ6DCを読み出す(#703)。そして、文書データ6DCに基づいて、プロファイルの生成のために必要でない部分をカレント文書から削除する(#704)。
例えば、必要部分抽出部103は、カレント文書が電子メールである場合は、電子メールのヘッダおよびレターヘッドを削除する。カレント文書がウェブページである場合は、ウェブページのバナー広告を削除する。または、ウェブページの必要な部分と不要な部分とを、領域判別に関する公知の技術によって区別し、不要な部分を削除してもよい。公知の技術として、エバーノート社のWebクリッパまたはClealyで採用されている技術が用いられる。
このようにして、カレント文書から抽出された必要な部分のデータを、以下、「必要部分データ6HB」と記載する。
そして、必要部分抽出部103は、必要部分データ6HBを文書データ記憶部121に保存する(#705)。
一方、全体興味度REが閾値α未満である場合は(#702でNo)、必要部分抽出部103は、ステップ#703以降の処理を中止する。次に説明する単語重要度算出部104などによる処理も中止され、必要部分抽出部103は、次の興味度データ6Kが受信されるのを待つ。
単語重要度算出部104は、必要部分データ6HBに示される文書(必要な部分)から単語を抽出し、単語ごとの重要性の度合い(以下、「重要度W」と記載する。)を算出する。
抽出の処理は、例えば、次の方法で行うことができる。必要部分データ6HBに示される文書が英語またはフランス語などで記述されている場合は、単語抽出部105は、スペースまたは改行のコードに基づいて単語同士を切り分け抽出すればよい。日本語で記述されている場合は、形態素解析の技術を用いて単語を抽出する。この技術を実装しているソフトウェアとして、奈良先端科学技術大学院大学の松本裕治研究室の茶筅(ChaSen)および工藤拓氏のMecabが挙げられる。これらのソフトウェアによって形態素解析を行うことによって、単語を抽出すればよい。
一方、重要度Wの算出は、例えば、次の方法で行うことができる。1つ目の方法は、パターンマッチングによる方法である。この方法は、「○○は調査すべきである」のような、よく使う重要な言い回しのテンプレートを予め登録しておく。そして、「○○」に該当する該当する単語に、該当する回数に応じて所定の点数を与えることによって、重要度Wを算出する。
2つ目の方法は、文書に単語が出現する回数に応じて算出する方法である。例えば、
TF−IDF(Term Frequency Inverse Document Frequency)法による方法である。この方法によると、次に示す式に基づいて重要度を算出する。
「ni,j」は、単語iの、文書jにおける出現回数である。|D|は、文書の総数である。|{d:d∋ti}は、単語iを含む文書の総数である。上述の式の「idf」は、一般語フィルタとして働く。そして、多くの文書に出現する単語(一般語)の重要度を下げる役割を果たす。
ペア重要度算出部105は、必要部分データ6HBに示される文書(必要な部分)から複数の単語からなるペアを抽出し、ペアごとの重要性の度合い(以下、「ペア重要度S」と記載する。)を算出する。
ペアは、単語重要度算出部104によって抽出された単語同士を任意に組み合わせることによって、抽出することができる。ただし、この方法によると、非常に多くのペアが抽出され得るが、単語同士の関連性が低いペアが含まれることがある。そこで、1つの塊、例えば、1つのセンテンスまたは1つの段落などに含まれる単語同士をペアとして抽出してもよい。以下、2つの単語が1つのペアをなす場合を例に説明する。
ペア重要度Sの算出は、例えば、次の方法で行うことができる。単語重要度算出部104は、抽出したペアを構成する2つの単語同士の、文書内における距離を求める。そして、所定の関数またはテーブルに基づいて、その距離に応じた重要度を算出する。所定の関数またはテーブルには、距離が短いほど重要度が高くなるように、距離と重要度との関係が定義されている。
例えば、「南部地方|で|は、|気候|を|活かし|た|特産品|で|村おこし|の|協力者|を|募集し|て|いる。」というセンテンスの中から「南部地方」および「気候」のペアが抽出されたとする。なお、「|」は、単語と単語との区切りの記号である。句読点などの記号は、無視する。このペアを構成する2つの単語の距離(いわゆるワード距離)は、自らを含め、4ワードである。よって、ペア重要度算出部105は、このペアのペア重要度Sを、4ワードに対応する重要度を所定の関数またはテーブルから導くことによって、算出する。同様に、「南部地方」と「特産品」との距離は、8ワードである。よって、ペア重要度算出部105は、両単語のペアのペア重要度Sを、8ワードに対応する重要度を所定の関数またはテーブルから導くことによって、算出する。
または、ペア重要度算出部105は、シソーラス(分類辞典)を参照し、両単語の持つ意味的な繋がりに基づいて重要度を求めても算出してもよい。
これらの方法は、ペアを構成する両単語の関係性の度合いを、ペアの重要度として算出していると、言える。
同一の単語が複数抽出された場合は、同一のペアが複数回、出現する。例えば、WD1という単語が2つ抽出され、WD2という単語が3つ抽出された場合は、2×3、つまり、6回、両単語のペアが出現する。このような場合は、2つの単語同士の距離が最も近いときの重要度をペア重要度Sとして採用すればよい。または、それぞれの重要度の平均値を取ってもよい。または、出現回数の多さに応じた重要度をペア重要度Sとして採用してもよい。つまり、出現回数が多いほどペア重要度Sを大きくしてもよい。
または、ペア重要度算出部105は、上記の演算を行わず、すべてのペアのペア重要度Sを一律に所定の値(ただし、「0」以外の値。例えば、「1」)に決めてもよい。
変化パターン判定部106は、ユーザの興味度RIの変化に表れるパターン(以下、「変化パターン」と記載する。)を、次のように判定する。
変化パターン判定部106は、例えば1〜10秒程度の短い時間Laに急激に興味度RIが上昇するパターン(以下、「急上昇パターン」と記載する。)が表れているか否かを、次のように判別する。カレント文書の閲覧中の各時刻から時間Laの経過後までの興味度RIの変化率を算出する。つまり、例えば、ある時刻T1における変化率として、時刻T1の時間La前における興味度RIから時刻T1における興味度RIへの増加量を時間Laで割った値を、算出する。そして、変化率が閾値βa以上である時刻があれば、変化パターンとして急上昇パターンが表れていると、判定する。
さらに、変化パターン判定部106は、例えば10秒〜1分程度の長い時間Lbに興味度RIが上昇するパターン(以下、「緩上昇パターン」と記載する。)が表れているか否かを、次のように判別する。カレント文書の閲覧中の各時刻から時間Lbの経過後までの興味度RIの変化率を算出する。つまり、例えば、ある時刻T1における変化率として、時刻T1の時間Lb前における興味度RIから時刻T1における興味度RIへの増加量を時間Lbで割った値を、算出する。そして、変化率が閾値βb以上である時刻があれば、変化パターンとして緩上昇パターンが表れていると、判定する。ただし、閾値βa>閾値βb、である。
また、急上昇パターンおよび緩上昇パターンのいずれも表れていない場合は、変化パターン判定部106は、変化パターンとして「上昇小パターン」が表れていると、判定する。
なお、時間LaおよびLbの長さは、ユーザの読書のスピードなどに応じて適宜、変更することができる。ただし、時間La<時間Lb、である。閾値βaおよびβbも、適宜、変更することができる。
重要度調整部107は、単語重要度算出部104によって算出された各単語の重要度Wおよびペア重要度算出部105によって算出された各ペアのペア重要度Sを、変化パターン判定部106によって判定された変化パターンに基づいて調整する。
ところで、一般に、文書の中のユーザにとっての重要な部分は、変化パターンに応じて、重要性について図8に示すような特性を有することが多い。
つまり、変化パターンとして急上昇パターンが表れる場合は、ユーザの目に留まった単語自体が重要であることが多い。一方、緩上昇パターンが表れる場合は、単語自体よりも全体的な内容が重要であることが多い。また、どちらの場合も、単語同士のペアが重要であることが多い。
そこで、重要度調整部107は、このような傾向に鑑み、図9に示すように、各単語の重要度Wおよび各ペアのペア重要度Sを調整する。
つまり、変化パターンが急上昇パターンであると変化パターン判定部106によって判定された場合は、重要度調整部107は、各単語の重要度Wに所定の値γa(γa>0)を加える。さらに、各ペアのペア重要度Sに所定の値γb(γb>0)を加える。または、各ペアのペア重要度Sに所定の値γc(γc>1)を掛けてもよい。
または、変化パターンが急上昇パターンではなく緩上昇パターンであると変化パターン判定部106によって判定された場合は、重要度調整部107は、各ペアのペア重要度Sに所定の値γd(γd>0)を加える。または、各ペアのペア重要度Sに所定の値γe(γe>1)を掛けてもよい。
なお、所定の値γb>所定の値γd、である。また、所定の値γc>所定の値γe、である。つまり、急上昇パターンが出現するときのほうが、急上昇パターンが出現せず緩上昇パターンが出現するときよりも、増加量を多くする。
また、ほぼ同時に目に留まった単語同士は、全体的な内容を表わす単語同士よりも、直接的な結び付きが大きい。そこで、ほぼ同時に目に留まった単語同士のペアに対する増加量をより大きくしてもよい。
変化パターンが上昇小パターンであると変化パターン判定部106によって判定された場合は、重要度調整部107は、重要度Wの調整もペア重要度Sの調整も、行わない。
プロファイルデータ生成部108は、ユーザのプロファイルデータ6PDを生成する。プロファイルデータ6PDには、図10のように、単語ごとの重要度Wおよび識別子(単語コード)と、ペアごとのペア重要度Sおよび識別子(ペアコード)などが示される。これらの単語およびペアは、そのユーザの特徴を表わす重要なキーワードであると、言える。なお、ペアを構成する単語を「南部地方−特産品」のように文字で表わす代わりに「WD0001−WD0002」のように単語コードで表わしてもよい。
生成されたプロファイルデータ6PDは、そのユーザのユーザコードと対応付けられてプロファイルデータ記憶部123に記憶される。
なお、そのユーザのプロファイルデータ6PDが既にプロファイルデータ記憶部123に記憶されている場合は、プロファイルデータ生成部108は、そのプロファイルデータ6PDを更新してもよい。更新の処理は、例えば次のように行うことができる。
既にプロファイルデータ6PDに示される単語については、プロファイルデータ生成部108は、その単語の重要度Wを例えば次の式に基づいて算出し直す。
Wi=(1−P)・W0i+P・W1i
ただし、0≦P≦1、である。W0iは、既存のプロファイルデータ6PDに示される単語iの重要度である。W1iは、今回算出された単語iの重要度である。
Pの値は、任意に設定することができる。過去の閲覧の際の結果を重要視するのであれば、Pの値を小さくすればよいし、今回の閲覧の際の結果を重要視するのであれば、Pの値を大きくすればよい。過去の閲覧の際の結果を全く考慮しないのであれば、Pを「1」にすればよい。
既存のペアのペア重要度Sも同様の方法で算出し直せばよい。つまり、次の式に基づいて算出し直せばよい。
Sk=(1−Q)・S0k+Q・S1k
ただし、0≦Q≦1、である。Sk0は、既存のプロファイルデータ6PDに示されるペアknのペア重要度Sである。Sk1は、今回算出されたペア重要度Sである。
そして、プロファイルデータ生成部108は、単語iの重要度Wを、算出し直したWiに書き換え、ペアkのペア重要度Sを、算出し直したペア重要度Skに書き換える。
上の各式によると、重要度Wおよびペア重要度Sは、次のように更新される。「南部地方」のこれまでの重要度Wが「6」であり、今回算出された重要度Wが「5」であり、Pが「0.3」である場合は、これらの値に基づいて重要度Wを算出し直すと、
W=(1−0.3)・6+0.3・5=5.7
になる。
また、「南部地方」と「特産品」とのペアのペア重要度Sが「9」であり、今回算出されたペア重要度Sが「10」であり、Qが「0.3」である場合は、これらの値に基づいてペア重要度Sを算出し直すと、
S=(1−0.3)・9+0.3・10=9.3
になる。
なお、初めて抽出された単語については、プロファイルデータ生成部108は、今回算出されたペア重要度Sおよび新しい単語コードとともにプロファイルデータ6PDに追記する。また、初めて抽出されたペアのペア重要度Sについても同様に、今回算出されたペア重要度Sおよび新しいペアコードとともにプロファイルデータ6PDに追記する。
〔情報の検索の処理〕
検索処理部109は、情報の検索の処理を、プロファイルデータ6PDを用いて例えば次のように実行する。
ユーザが端末装置2に所定のコマンドを入力すると、検索クライアント208(図5参照)が起動する。なお、検索クライアント208は、検索処理部109による検索のサービスを受けるクライアントのモジュールである。
検索クライアント208は、検索のキーワード(以下、「検索キー」と記載する。)を入力するための入力画面をタッチパネルディスプレイ20dに表示させる。そして、ユーザが入力した検索キーおよびこのユーザのユーザコードを示す検索要求データ6QDをプロファイル管理サーバ1へ送信する。
プロファイル管理サーバ1において、検索処理部109は、検索要求データ6QDを取得すると、検索要求データ6QDに示される検索キーを次のように補正する。検索要求データ6QDに示されるユーザコードのプロファイルデータ6PDをプロファイルデータ記憶部123から読み出す。そして、検索要求データ6QDに示される検索キー(単語)がプロファイルデータ6PDに示される場合は、この検索キーとのペア重要度Sが最も高い単語を選出する。
例えば、検索キーが「南部地方」であり、「南部地方」と各単語との関連度が図10に示す通りである場合は、ペア重要度Sの最も高い「村おこし」を選出する。
検索処理部109は、この検索キーと選出した単語との組合せ(例えば、「南部地方」および「村おこし」)を検索クエリとして用いて検索を行う。検索は、プロファイル管理サーバ1に備わっている検索エンジンを用いてもよいし、他の装置(例えば、ドキュメントサーバ32)の検索エンジンを用いてもよい。また、この検索キーと選出した単語とをANDで繋いでもよいし、ORで繋いでもよい。つまり、いわゆるAND検索を行ってもよいし、いわゆるOR検索を行ってもよい。
なお、検索キーがプロファイルデータ6PDに示されない場合は、検索処理部109は、従来通り、端末装置2からの検索キーのみを検索クエリとして用いて検索を行う。
そして、検索処理部109は、検索結果を示す検索結果データ6ADを、要求元である端末装置2へ送信する。
端末装置2において、検索クライアント208は、検索結果データ6ADを受信すると、検索結果をタッチパネルディスプレイ20dに表示させる。
または、検索処理部109は、検索要求データ6QDに示される検索キー(単語)がプロファイルデータ6PDに示される場合に、この検索キーとのペア重要度Sが所定の値以上であり、かつ、重要度Wが最も高い単語を選出し補足してもよい。
または、検索処理部109は、上述のいずれかの方法で選出した単語を、検索要求データ6QDに示される単語と置き換えて、検索してもよい。
図11は、端末装置2の全体的な処理の流れの例を説明するフローチャートである。図12は、プロファイル管理サーバ1の全体的な処理の流れの例を説明するフローチャートである。図13は、重要度調整処理の流れの例を説明するフローチャートである。
次に、プロファイル管理サーバ1および端末装置2の全体的な処理の流れを、フローチャートを参照しながら説明する。
端末装置2は、カレント文書の閲覧の開始の操作を検知すると(図11の#851でYes)、文書データ6DCをプロファイル管理サーバ1へ送信する(#852)。さらに、所定の時間ごとに興味度RIを検出し記録する(#853)。
そして、端末装置2は、カレント文書の閲覧の終了の操作を検知すると(#854でYes)、全体興味度REを算出し(#855)、全体興味度REおよび各時刻の興味度RIなどを示すデータ、つまり、興味度データ6Kを生成し、プロファイル管理サーバ1へ送信する(#856)。
または、端末装置2は、検索キーを受け付けると(#857でYes)、この検索キーなどを示すデータつまり検索要求データ6QDを生成し、プロファイル管理サーバ1へ送信する(#858)。その後、プロファイル管理サーバ1から検索結果データ6ADを受信すると、検索の結果を表示する(#859)。
なお、図11に記載する全体的な処理は、最初から最後まで通しで行われるとは、限らない。端末装置2に対して行われた操作または入力されたデータなどに応じて、一部の処理が適宜、実行される。例えば、コマンド判別手段によって操作またはデータに基づいてコマンドを判別し、コマンドに対応するモジュールに対してディスパッチすればよい。図12についても、同様である。
一方、プロファイル管理サーバ1は、端末装置2からデータを受信すると(図12の#801)、そのデータの種類に応じて次の処理を実行する。
文書データ6DCを受信した場合は(#802でYes)、プロファイル管理サーバ1は、それを記憶しておく(#803)。
または、興味度データ6Kを受信した場合は(#804でYes)、プロファイル管理サーバ1は、興味度データ6Kを記憶し(#805)、プロファイルの生成に必要な部分をカレント文書の中から抽出する処理を実行する(#806)。この処理の手順は、前に図7で説明した通りである。なお、この処理において、全体興味度REと閾値αとを比較した結果、全体興味度REが閾値α未満であることが分かった場合は(#807でNo)、プロファイルの生成のための以降の処理(#808〜#812)を中止する。
プロファイル管理サーバ1は、プロファイルの生成に必要な部分の中から単語を抽出し、それぞれの単語の重み付けを行う(#808)。つまり、それぞれの単語の重要度Wを算出する。
また、プロファイル管理サーバ1は、プロファイルの生成に必要な部分の中から複数の単語のペアを抽出し、それぞれのペアの重み付けを行う(#809)。つまり、それぞれのペアのペア重要度Sを算出する。
重要度Wおよびペア重要度Sを算出する処理と前後してまたは並行して、プロファイル管理サーバ1は、変化パターンを判定する(#810)。
判定した変化パターンに応じて、プロファイル管理サーバ1は、ステップ#808および#809でそれぞれ算出した重要度Wおよびペア重要度Sを調整する処理を行う(#811)。この処理は、図13に示す手順で行われる。
変化パターンが急上昇パターンである場合は(#721でYes)、プロファイル管理サーバ1は、各単語の重要度Wを、所定の値γaを加えることによって増加させる(#722)。さらに、各ペアのペア重要度Sを、所定の値γbを加えまたは所定の値γcを掛けることによって増加させる(#723)。
変化パターンが緩上昇パターンである場合は(#724でYes)、プロファイル管理サーバ1は、各ペアのペア重要度Sを、所定の値γdを加えまたは所定の値γeを掛けることによって増加させる(#725)。
そして、プロファイル管理サーバ1は、適宜調整した各単語の重要度Wおよび各ペアのペア重要度Sを用いてプロファイルデータ6PDを生成し記憶する(図12の#812)。ただし、既にこのユーザのプロファイルデータ6PDがある場合は、登録済の単語の重要度Wおよび登録済のペアのペア重要度Sを更新する。
または、検索要求データ6QDを受信した場合は(#813でYes)、ユーザが指定した検索キーを、このユーザのプロファイルデータ6PDに基づいて補正し(#814)、補正した検索キーで情報を検索する(#815)。そして、検索結果を示すデータつまり検索結果データ6ADを端末装置2へ送信する(#816)。
プロファイル管理サーバ1は、以上の処理を、端末装置2からデータを受信するごとに、適宜、実行する。
本実施形態によると、文書に含まれる単語ごとの、ユーザにとっての重要性の度合いを、従来よりも精度よく求めることができる。
以下、本実施形態の幾つかの変形例を、説明する。本実施形態と重複する点については、説明を省略する。
〔第一の変形例〕
図14は、端末装置2の機能的構成の変形例を示す図である。
上述の実施形態によると、プロファイル管理サーバ1は、ステップ#811において、各単語の重要度Wを一律に決定し、各ペアのペア重要度Sを一律に決定した。しかし、ユーザの興味の度合いが部分ごとに異なることがある。そこで、重要度Wおよびペア重要度Sをより精度よく調整するために、プロファイル管理サーバ1および端末装置2を次のように構成してもよい。
図14に示すように、端末装置2に、注目部分検知部209を設ける。注目部分検知部209は、ユーザがカレント文書の閲覧を開始してから終了するまでの間、所定の時間(例えば、1〜10秒)ごとに、カレント文書の中でユーザが注目している部分(以下、「注目部分」と記載する。)検知する。なお、興味度検出部203が興味度RIを検知する時刻に検知するのが望ましい。
検知は、例えば、次の方法によって行うことができる。注目部分検知部209は、デジタルカメラ20kまたは視線追従型ヘッドマウントディスプレイが検知する、ユーザの瞳(視線)の方向に基づいて、注目部分を検知する。公知の技術によると、注目部分は、単語の単位で検知することができる。
<参考>
http://www.toshiba.co.jp/tech/review/2005/11/60_11pdf/rd01.pdf
http://www.murata.co.jp/zaidan/annual/pdf/k03/2011/a04106.pdf
または、注目部分検知部209は、キーロガーによって、ユーザが下線を引きまたは手書きのコメントを加えている箇所を、注目部分として検知する。エアペンが指す場所を検知することによって、注目部分を検知してもよい。
または、カレント文書が複数のページによって構成されている場合は、注目部分検知部209は、現在表示されているページを注目箇所として検出してもよい。
興味度データ提供部207は、興味度データ6Kの代わりに、興味度データ6Lを生成し、プロファイル管理サーバ1へ送信する。
興味度データ6Lには、興味度データ6Kに示される内容に加え、注目部分検知部209によって検知された、時刻ごとの注目部分が示されている。
プロファイル管理サーバ1の必要部分抽出部103(図3参照)は、図7で説明した通り、ステップ#704において、プロファイルの生成のために必要でない部分をカレント文書から削除する。上述の実施形態では、不要な部分(削除する部分)の例として、電子メールのヘッダおよびレターヘッドを挙げたが、第一の変形例では、さらに、興味度データ6Lに示される注目箇所以外の部分をも、削除する。これにより、重要度Wおよびペア重要度Sをより高い精度で算出することができる。
また、変化パターン判定部106は、カレント文書の全体についての変化パターンを判定したが、興味度データ6Lに基づいて、注目箇所ごとの変化パターンを判定してもよい。そして、重要度調整部107は、注目箇所ごとに、それの変化パターンに応じて重要度Wおよびペア重要度Sを調整してもよい。
第一の変形例によると、ユーザの目に留まった単語をより正確に特定し、その単語に対して高い重み付けを行うことができる。例えば、新しいお菓子の企画をしている人であれば、情報を探しているときに、「スナック菓子のトレンド」の中の「スナック菓子」および「トレンド」の単語に目が留まりやすい。第一の変形例によると、これらの単語に対して高い重み付けを行うことができる。
また、ユーザがカレント文書の中のある程度の塊(センテンス、段落、項、節など)の内容に興味が沸いた場合であっても、これらの塊を注目部分として抽出するので、注目部分の中の複数の単語同士の関連性つまりペア重要度Sをより正確に算出することができる。例えば、「南部地方では、気候を生かした特産品で村おこしの協力者を募集している。特産品は、海に近い地域性を生かした塩や寒暖差の大きさを生かした紅茶である。」という注目部分に、一瞬で興味を掻き立てる単語がなくても、ペアとして重要な要素を抽出し、ペア重要度Sをより正確に算出することができる。
〔第二の変形例〕
図15は、重要度調整処理の流れの変形例を説明するフローチャートである。
上述の実施形態および第一の変形例では、プロファイル管理サーバ1の重要度調整部107は、必要部分抽出部103によって抽出された部分の各単語の重要度Wを一律に調整し、各ペアのペア重要度Sを一律に調整した。
しかし、調整する単語およびペアを図15に示す方法によって調整してもよい。変化パターン判定部106は、時刻ごとの変化パターンを判定する。
重要度調整部107は、変化パターンが急上昇パターンである時刻における注目部分を選出し(図15の#731でYes、#732)、この注目部分に属する各単語の重要度Wを、所定の値γaを加えることによって増加させる(#733)。さらに、この注目部分に属する各ペアのペア重要度Sを、所定の値γbを加えまたは所定の値γcを掛けることによって増加させる(#734)。
さらに、重要度調整部107は、変化パターンが急上昇パターンではなく緩上昇パターンである時刻における注目部分を選出し(#735でYes、#736)、この注目部分に属する各ペアのペア重要度Sを、所定の値γdを加えまたは所定の値γeを掛けることによって増加させる(#737)。
〔第三の変形例〕
図16は、必要部分抽出処理の流れの変形例を説明するフローチャートである。
上述の実施形態および各変形例では、プロファイル管理サーバ1は、全体興味度REが閾値α以上である場合にのみ、重要度Wおよびペア重要度Sを算出し、プロファイルデータ6PDを生成しまたは更新した(図7および図12参照)。しかし、全体興味度REが閾値α未満であっても、変化パターンとして急上昇パターンまたは緩上昇パターンが表れていれば、これらの処理を行ってもよい。
すなわち、必要部分抽出部103は、図16に示す手順で処理を行う。興味度データ6Kに示される全体興味度REと閾値αとを比較し(図16の#741)、全体興味度REが閾値α以上である場合は(#742でYes)、カレント文書から必要な部分を抽出する処理を行う(#744〜#746)。全体興味度REが閾値α未満である場合であっても(#742でNo)、変化パターンが急上昇パターンまたは緩上昇パターンであると変化パターン判定部106によって判定された場合は(#743でYes)、カレント文書から必要な部分を抽出する処理を行う(#744〜#746)。変化パターンが上昇無パターンであると判定された場合は(#743でNo)、それ以降の処理を中止し、次の興味度データ6Kが受信されるのを待つ。なお、ステップ#744〜#746の処理の内容は、図7のステップ#703〜#705の処理と同様である。
〔第四の変形例〕
図17は、変化率と所定の値との関係を定義するテーブルの例を示す図である。
上述の実施形態および各変形例では、変化パターンが急上昇パターンである場合に、変化率を問わず一律に重要度Wを増加させ、一律にペア重要度Sを増加させた。しかし、変化率に応じて増加させる量を変えてもよい。例えば、図17(A)のような、変化率が多いほど所定の値γaが大きくなる関係を表わすテーブルを予め用意しておく。そして、このテーブルに基づいて変化率に応じた所定の値γaを求め、重要度Wを算出すればよい。テーブルの代わりに関数を用いてもよい。ペア重要度Sについても、同様である(図17(B)および(C)参照)。
変化パターンが緩上昇パターンである場合も同様に、図17(D)または(E)に示すテーブルを用いて、重要度Wの増加量を変化率に応じて変えてもよい。
〔その他の変形例〕
特定の書式が設定され目立つ単語に対しては、他の単語よりも高い重要度を与えてもよい。例えば、太字の単語、フォントサイズが所定のサイズ以上の単語、文書のタイトルとして用いられている単語、および章のタイトルまたは小見出しとして用いられている単語に対して、他の単語よりも高い重要度を与えてもよい。または、要約の欄に用いられている単語に対して、他の単語よりも高い重要度を与えてもよい。ペアの一部または全部の単語に特定の書式が設定されている場合についても同様に、他のペアよりも高い重要度(ペア重要度)を与えてもよい。
または、変化パターンを、興味度RIの変化率だけでなく、ユーザのアクションまたは集中の度合い(集中度)をも参照して、判定してもよい。例えば、ある時刻T1における変化パターンを、時刻T1における興味度RIの変化率が閾値βa以上であることだけでなく、時刻T1においてユーザが所定のアクションを行ったことまたは集中度が所定の値以上であることを、急上昇パターンであると判定する条件としてもよい。緩上昇パターンの判定についても、同様である。
これにより、誰かに話し掛けられることなど、他の原因で興味度が急上昇した場合を除外することができ、変化パターンの判定の精度を高めることができる。なお、アクションおよび集中度は、公知の技術によって検知することができる。
プロファイル管理サーバ1および端末装置2それぞれの役割を、適宜、変更することができる。
例えば、変化パターンの判定を、プロファイル管理サーバ1の代わりに端末装置2が行ってもよい。または、上述の実施形態および各変形例では、検索クエリの補正だけでなく検索もプロファイル管理サーバ1が行ったが、補正の結果をプロファイル管理サーバ1から端末装置2へ送信し、検索は端末装置2が行ってもよい。
または、ペア重要度Sおよび重要度Wの算出およびプロファイルデータ6PDの生成などの処理をすべて、端末装置2が行ってもよい。
または、カレント文書を画像形成装置4に印刷させた場合に、より高い重要度Wおよびペア重要度Sを与えてもよい。
上述の実施形態および各変形例では、所定の値を加算しまたは掛けるアルゴリズムを用いて重要度を調整したが、他のアルゴリズムを用いてもよい。
その他、文書管理システム1SY、プロファイル管理サーバ1、および端末装置2の全体または各部の構成、処理内容、処理順序、データの構成などは、本発明の趣旨に沿って適宜変更することができる。