(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024013953
(43)【公開日】2024-02-01
(54)【発明の名称】情報処理装置、情報処理システム、情報処理方法、及びプログラム
(51)【国際特許分類】
G06F 16/33 20190101AFI20240125BHJP
【FI】
G06F16/33
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022116433
(22)【出願日】2022-07-21
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100107515
【弁理士】
【氏名又は名称】廣田 浩一
(72)【発明者】
【氏名】渡邊 元気
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA01
5B175FA01
5B175HB03
5B175JA02
(57)【要約】
【課題】検索精度を低下させることなく、検索処理に必要なコストを低減すること。
【解決手段】ユーザが入力した検索クエリを受信する通信部と、文書ファイルの内容を所定の単位で分割した文字列に対するベクトルデータを用いて、識別単位ごとに検索対象の部分空間データを生成する生成部と、前記部分空間データを用いて、前記検索クエリに対する検索結果となる前記識別単位を特定することにより検索を実行する検索部と、を有することを特徴とする。
【選択図】
図3
【特許請求の範囲】
【請求項1】
ユーザが入力した検索クエリを受信する通信部と、
文書ファイルの内容を所定の単位で分割した文字列に対するベクトルデータを用いて、識別単位ごとに検索対象の部分空間データを生成する生成部と、
前記部分空間データを用いて、前記検索クエリに対する検索結果となる前記識別単位を特定することにより検索を実行する検索部と、
を有することを特徴とする情報処理装置。
【請求項2】
前記生成部が、前記部分空間データを生成する際に用いる寄与率を設定する設定部を更に有する、請求項1に記載の情報処理装置。
【請求項3】
前記生成部は、前記検索クエリに対する部分空間データを生成し、
前記検索部は、前記検索クエリに対する部分空間データと前記検索対象の部分空間データを用いた相互部分空間法により、前記検索結果となる前記識別単位を特定する、請求項1又は請求項2のいずれか一項に記載の情報処理装置。
【請求項4】
前記通信部は、前記検索において除外したい情報に関する文字列を含む除外条件を更に受信し、
前記生成部は、前記除外条件に対する部分空間データを更に生成し、
前記検索部は、前記除外条件に対する部分空間データを更に用いて、前記検索を実行する、請求項1に記載の情報処理装置。
【請求項5】
前記部分空間データの類似度に基づいて、前記部分空間データの内容を表すラベルを含み、前記識別単位の関係を示す関連図を生成する画面生成部を更に有する、請求項1に記載の情報処理装置。
【請求項6】
前記通信部は、前記ユーザにより指定された前記ラベルを削除する要求メッセージを受信し、
前記画面生成部は、前記要求メッセージに応じて、前記指定された前記ラベルを削除した前記関連図を生成する、請求項5に記載の情報処理装置。
【請求項7】
前記ユーザに提示するために、相互部分空間法、直交相互部分空間法、制約相互部分空間法、又はカーネル非線形相互部分空間法を用いて、削除した前記ラベルに類似したラベルを判別する比較部を更に有する、請求項6に記載の情報処理装置。
【請求項8】
ユーザが操作する端末装置と、前記端末装置と通信が可能な情報処理装置を有する情報処理システムであって、
前記端末装置は、
前記ユーザによる検索クエリの入力を受け付ける操作受付部と、
前記検索クエリを前記情報処理装置に送信し、前記情報処理装置から前記検索クエリに対する検索結果の画面情報を受信する通信部と、
前記画面情報を用いて前記検索結果を表示する表示制御部と、
を有し、
前記情報処理装置は、
ユーザが入力した検索クエリを受信する通信部と、
文書ファイルの内容を所定の単位で分割した文字列に対するベクトルデータを用いて、識別単位ごとに検索対象の部分空間データを生成する生成部と、
前記部分空間データを用いて、前記検索クエリに対する検索結果となる前記識別単位を特定することにより検索を実行する検索部と、
を有することを特徴とする情報処理システム。
【請求項9】
ユーザが入力した検索クエリを受信するステップと、
文書ファイルの内容を所定の単位で分割した文字列に対するベクトルデータを用いて、識別単位ごとに検索対象の部分空間データを生成するステップと、
前記部分空間データを用いて、前記検索クエリに対する検索結果となる前記識別単位を特定することにより検索を実行するステップと、
を有することを特徴とする情報処理方法。
【請求項10】
ユーザが入力した検索クエリを受信するステップ、
文書ファイルの内容を所定の単位で分割した文字列に対するベクトルデータを用いて、識別単位ごとに検索対象の部分空間データを生成するステップ、
前記部分空間データを用いて、前記検索クエリに対する検索結果となる前記識別単位を特定することにより検索を実行するステップ、
を情報処理装置に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理システム、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
企業等のローカルネットワーク又はクラウドネットワークに保存された技術文書、又は、会議の議事録や発言履歴等の情報から、ユーザが指定した検索クエリに関連する内容を含む情報を検索する技術が既に知られている。特許文献1には、検索対象の文書内における単語、文章、及び段落単位で意味的な比較を行う検索手法が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかしながら、従来の技術では、各個人が所有する全ての情報を検索対象とする場合等において、検索に必要となる処理コスト(処理量及び処理時間)が非常に大きくなる問題があった。例えば、誰が情報を所有しているか、又は誰に関連する情報であるかを検索する際、各個人が所有する電子ファイル等の情報が全て検索対象となるため、検索対象全体の情報量は膨大な量となる。
【0004】
本発明の実施形態は、上記課題に鑑み、検索精度を低下させることなく、検索処理に必要なコストを低減することを目的とする。
【課題を解決するための手段】
【0005】
上述した課題を解決するために、本発明は、ユーザが入力した検索クエリを受信する通信部と、文書ファイルの内容を所定の単位で分割した文字列に対するベクトルデータを用いて、識別単位ごとに検索対象の部分空間データを生成する生成部と、前記部分空間データを用いて、前記検索クエリに対する検索結果となる前記識別単位を特定することにより検索を実行する検索部と、を有することを特徴とする。
【発明の効果】
【0006】
本発明の実施形態によれば、検索精度を低下させることなく、検索処理に必要なコストを低減することができる。
【図面の簡単な説明】
【0007】
【
図1】本発明の実施形態に係る情報処理システムの概略図の一例を示す図である。
【
図2】本発明の実施形態に係る情報処理装置及び端末装置のハードウェア構成の一例を示す図である。
【
図3】本発明の実施形態に係る情報処理システムにおける機能ブロックの構成図の一例を示す図である。
【
図4】本発明の実施形態に係る部分空間を用いた検索処理に関するシーケンスの一例を示す図である。
【
図5】本発明の実施形態に係る検索結果画面の一例を示す図である。
【
図6】本発明の実施形態に係る相互部分空間を用いた検索処理に関するシーケンスの一例を示す図である。
【
図7】本発明の実施形態に係る除外条件を含む検索処理に関するシーケンスの一例を示す図である。
【
図8】本発明の実施形態に係る相互部分空間を用いた関連図生成処理に関するシーケンスの一例を示す図である。
【
図9】本発明の実施形態に係る部分空間を用いて生成した関連図の一例を示す図である。
【
図10】本発明の実施形態に係る関連図におけるラベル削除の一例を示す図である。
【
図11】本発明の実施形態に係る部分空間を用いた関連ラベル削除処理に関するシーケンスの一例を示す図である。
【発明を実施するための形態】
【0008】
以下、添付図面を参照しながら、本発明に係る情報処理装置、情報処理システム、情報処理方法、及びプログラムの実施形態を詳細に説明する。
【0009】
[第1の実施形態]
<システム概要>
図1は、本発明の実施形態に係る情報処理システムの概略図の一例を示す図である。情報処理システム1は、例えば、企業のローカルネットワークやインターネット等の通信ネットワーク2に接続する情報検索サーバ3と端末装置5を含む。
【0010】
情報検索サーバ3は、少なくとも一つの情報処理装置4(情報処理装置4a、4b等)を含む。情報処理装置4は、ユーザが入力した検索クエリを端末装置5から受信し、検索における識別単位(例えば、情報の所有者)ごとに、検索対象である文書の電子ファイル(文書ファイルとよぶ)に対して検索を実行し、検索結果である識別単位を特定する。ここで、情報処理装置4は、事前に、検索対象の文書ファイルに対して、所定の単位(文章等)毎に分割したベクトルデータを生成し、識別単位ごとにベクトルデータを近似する部分空間を生成する。情報処理装置4は、検索クエリと検索対象の部分空間との角度(正準角)や距離に応じた類似度に基づいて検索を実行する。これにより、検索クエリと全てのベクトルデータの間の類似度を総当たりで算出して行う検索と比較して、検索精度を低下させることなく、検索処理に必要なコストを低減することが可能である。
【0011】
また、情報処理装置4は、生成した部分空間を用いて、部分空間の内容を表すラベルを含み、検索結果の識別単位(情報の所有者)間の関係を示す関連図の生成することが可能である。関連図に対して、ユーザは削除したいラベルを指定して削除することが可能である。更に、情報処理装置4は、ユーザが削除したラベルを学習することにより、ユーザがラベルを削除した後、更に削除する類似ラベルをユーザに提示することが可能である。
【0012】
端末装置5は、ユーザが入力した検索クエリを情報検索サーバ3に送信した後、検索された検索結果を情報検索サーバ3から受信し、端末装置5に検索結果を表示する。ここで、端末装置5は、ユーザによる検索クエリの入力の受付、情報検索サーバ3との情報の送受信、及び検索結果等を画面に表示する機能を有していればよく、例えば、PC(パーソナルコンピュータ)5a、スマートフォン5b、プロジェクタ5c、ビデオ会議端末5d、電子黒板5e等であってよい。
【0013】
なお、
図1に示す情報処理システム1のシステム構成は一例である。例えば、端末装置5は、情報処理装置4が有する検索処理に関する機能を有し、且つ検索対象の文書ファイル等を保持することにより、端末装置5単体で動作することも可能である。或いは、情報処理装置4が有する検索処理に関する機能の一部を端末装置5が実行する、又は、複数の情報処理装置4(4a、4b、…)に分散して検索処理に関する機能を実行させるようにしてもよい。また、通信ネットワーク2には、例えば、移動体通信、又は無線LAN等の無線通信による接続区間が含まれていても良い。
【0014】
<ハードウェア構成例>
図2は、本発明の実施形態に係る情報処理装置4及び端末装置5のハードウェア構成の一例を示す図である。
図2に示されるように、情報処理装置4及び端末装置5はコンピュータによって構築されており、CPU501、ROM502、RAM503、HD(Hard Disk)504、HDD(Hard Disk Drive)コントローラ505、ディスプレイ506、外部機器接続I/F(Interface)508、ネットワークI/F509、バスライン510、キーボード511、ポインティングデバイス512、DVD-RW(Digital Versatile Disk Rewritable)ドライブ514、メディアI/F516を備えている。
【0015】
これらのうち、CPU501は、情報処理装置4及び端末装置5全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。HD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御する。ディスプレイ506は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンタ等である。ネットワークI/F509は、通信ネットワーク2を利用してデータ通信をするためのインターフェースである。バスライン510は、
図2に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0016】
また、キーボード511は、文字、数値、又は各種指示などの入力に使用される複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD-RWドライブ514は、着脱可能な記録媒体の一例としてのDVD-RW513に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RWドライブ514は、DVD-RWに限らず、DVD-R等であってもよい。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。
【0017】
<機能について>
図3は、本発明の実施形態に係る情報処理システム1における機能ブロックの構成図の一例を示す図である。情報処理装置4は、通信部10、検索部11、生成部12、分割部13、比較部14、設定部15、画面生成部16、及び削除部17を有する。これら各部は、情報検索サーバ3を構成する情報処理装置4にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。また、記憶部18は、例えば、情報処理装置4が有するHD504などの記憶装置によって実現可能である。
【0018】
通信部10は、情報処理装置4が有する通信機能であり、通信ネットワーク2を介して端末装置5と情報の送受信を行う。
【0019】
検索部11は、ユーザが入力した検索クエリに基づいて、検索クエリと検索対象である部分空間との角度(正準角)や距離に応じた類似度に基づいて検索を実行し、検索結果である識別単位(情報の所有者など)を特定する。
【0020】
生成部12は、検索対象の文書ファイルから生成した複数のベクトルデータを近似する部分空間を生成する。生成方法の詳細は後述する。
【0021】
分割部13は、検索対象の文書ファイルの内容を予め定めた文字数、意味、カテゴリ等の区切りの単位で分割し、分割した文字列に対応したベクトルデータを生成する。
【0022】
比較部14は、検索クエリのベクトル又は部分空間データと、検索対象の部分空間データとの間の角度(正準角)や距離に応じた類似度を算出する。また、比較部14は、関連図においてユーザが削除したラベルに関連(類似)するラベルを判別する。判別方法の詳細は後述する。
【0023】
設定部15は、部分空間を生成する際の寄与率の設定値、又は、寄与率が高い順に選択する基底ベクトル数(次元数)等の設定情報を保持し、要求に応じて設定情報を送信する。また、設定部15は、関連(類似)したラベルを判別、及び判別のために必要な学習データの生成において用いる部分空間に関する設定情報を保持し、要求に応じて設定情報を送信する。設定情報には、対象となるデータの特性に合わせて選択された、相互部分空間法、又はその拡張である直交相互部分空間法、制約相互部分空間法、及びカーネル非線形相互部分空間法などの方法が含まれる。
【0024】
画面生成部16は、検索部11による検索結果に基づいて、検索結果画面又は検索結果画面を表示するための画面情報を生成する。また、画面生成部16は、部分空間の内容を示すラベルを生成し、識別単位(所有者)とラベルを接続した関連図、及び関連図を表示するための画面情報を生成する。検索結果画面と関連図の詳細については、後述する。
【0025】
削除部17は、比較部14により判別されたラベルを削除するラベルとしてユーザに提示する要求を送信し、ユーザの決定に基づいて、ラベルの削除を実行する。
【0026】
記憶部18は、検索対象である文書ファイル、文書ファイルに対して分割部13が生成したベクトルデータ(ベクトル形式のデータ)、及び生成部12が生成した部分空間データ等を記憶する。
【0027】
端末装置5は、通信部20、操作受付部21、及び表示制御部22を有する。これら各部は、端末装置5にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。
【0028】
通信部20は、端末装置5が有する通信機能であり、通信ネットワーク2を介して情報処理装置4と情報の送受信を行う。
【0029】
操作受付部21は、端末装置5のキーボードやポインティングデバイス等を介して、ユーザによる文字入力やボタンの押下などの操作を受け付ける。
【0030】
表示制御部22は、受信した検索結果の画面情報等を用いて、検索結果画面等を端末装置5のディスプレイ506等に表示する。
【0031】
<部分空間を用いた検索処理>
図4は、本発明の実施形態に係る部分空間を用いた検索処理に関するシーケンスの一例を示す図である。本シーケンスでは、まず、データ構築フェーズにおいて、情報処理装置4は、検索対象の情報(文書ファイル)に対して、所定の単位(文章等)毎に分割したベクトルデータを生成し、識別単位ごとにベクトルデータを近似する部分空間を生成する。識別単位は、例えば、情報を所有する所有者、又は技術文書等の著者(又は著作者、作成者、作者等)であってもよいし、文書ファイルに関連する情報の有識者であってもよい。以降、識別単位は、検索対象の情報を所有する所有者(個人)とし、取得した文書ファイル及び生成したベクトルデータ等は、情報の所有者に関する情報とともに記憶されるものとする。次に、検索実行フェーズにおいて、情報処理装置4は、端末装置5から受信した検索クエリと検索対象の部分空間との角度(正準角)や距離に応じた類似度に基づいて検索を実行する。以下、
図4の各ステップの処理について説明する。
【0032】
ステップS30:情報処理装置4の生成部12は、情報処理装置4の記憶部18などに記憶された検索対象データである文書ファイル(文書の電子ファイル)を取得する。
【0033】
ステップS31:情報処理装置4の生成部12は、部分空間の生成における設定情報を要求するメッセージを情報処理装置4の設定部15に送信する。設定情報は、部分空間を生成する際の寄与率の設定値(設定値以上の寄与率となるように、寄与率が高い順に基底ベクトルを選択する)、又は、寄与率が高い順に選択する基底ベクトル数(次元数)等を含む。
【0034】
ステップS32:情報処理装置4の設定部15は、部分空間の生成における設定情報を情報処理装置4の生成部12に送信する。
【0035】
ステップS33:情報処理装置4の生成部12は、ある所有者(所有者Aとする)が所有する、ステップS30で取得した文書ファイル内の文字列の分割、及びベクトルデータの生成を要求するメッセージを情報処理装置4の分割部13に送信する。
【0036】
ステップS34:情報処理装置4の分割部13は、指定された文書ファイルの先頭から、予め定めた文字数、意味、カテゴリ等の区切りの単位で文書内の文字列を分割し、分割した文字列に対応したベクトルデータ(単にベクトルとよんでもよい)を生成する。ベクトルデータの生成は、例えば、BERT(Bidirectional Encoder Representation from Tranformers)等の自然言語処理で用いられる手法に基づいて実行する。
【0037】
ステップS35:情報処理装置4の分割部13は、ステップS34で生成したベクトルデータを情報処理装置4の生成部12に送信する。情報処理装置4の記憶部18は、生成されたベクトルデータを記憶する。
【0038】
情報処理装置4は、所有者Aが所有する全ての文書ファイルに対して、ステップS33からステップS35の処理を繰り返して実行する。
【0039】
ステップS36:情報処理装置4の生成部12は、設定部15から受信した設定情報に基づいて、所有者Aの全ての文書ファイルにおけるベクトルデータを近似する部分空間を生成する。情報処理装置4の記憶部18は、生成された部分空間を構成する基底ベクトルなどの情報(部分空間データとよぶ)を記憶する。
【0040】
情報処理装置4は、ステップS33からステップS36の処理を繰り返して実行することで、全ての識別単位(所有者)に対する部分空間を生成する。また、ステップS36において、生成する部分空間ごとに設定された設定情報を設定部15からステップS30とステップS31に示した手順で取得してもよい。以降においても、全ての部分空間に対して設定情報は共通であってもよいし、部分空間ごとに異なる設定情報を取得してもよい。以上が、データ構築フェーズにおける処理となる。データ構築フェーズにおいて、生成したベクトルデータ及び部分空間検索対象を記憶部18が記憶しておくことで、2回目以降の検索ではデータ構築フェーズの処理を実行する必要はない。続いて、検索実行フェーズの処理について説明する。
【0041】
ステップS37:端末装置5の操作受付部21は、ユーザによる検索クエリの入力を受け付ける。ここで、検索クエリは、例えば、少なくとも一つの単語、又は少なくとも一つの文章で構成される。端末装置5の通信部20は、操作受付部21が受け付けた検索クエリを含む検索要求メッセージを通信ネットワーク2経由で情報処理装置4の通信部10に送信する。
【0042】
ステップS38:情報処理装置4の通信部10は、受信した検索クエリを含む検索要求メッセージを情報処理装置4の検索部11に送信する。
【0043】
ステップS39:情報処理装置4の検索部11は、検索対象である部分空間データを情報処理装置4の生成部12に要求する。
【0044】
ステップS40:情報処理装置4の生成部12は、検索対象である部分空間データを検索部11に送信する。または、生成部12は、部分空間データが記憶されているフォルダの場所、又はファイルリスト等を送信するようにしてもよい。
【0045】
ステップS41:情報処理装置4の検索部11は、検索クエリのベクトル化を要求するメッセージを情報処理装置4の分割部13に送信する。メッセージは、検索クエリを含む。
【0046】
ステップS42:情報処理装置4の分割部13は、検索クエリに対応するベクトルデータを生成して、生成したベクトルデータを情報処理装置4の検索部11に送信する。
【0047】
ステップS43:情報処理装置4の検索部11は、検索クエリのベクトルデータと検索対象の部分空間との間の類似度の算出を要求するメッセージを情報処理装置4の比較部14に送信する。メッセージは、検索クエリのベクトルと検索対象の部分空間データを含む。
【0048】
ステップS44:情報処理装置4の比較部14は、検索クエリのベクトルと検索対象の部分空間データとの間の角度(正準角)や距離に応じた類似度を算出して、算出した類似度を情報処理装置4の検索部11に送信する。
【0049】
情報処理装置4は、検索対象である全ての部分空間データ、即ち、全ての識別単位(所有者)に対する部分空間データに対して、ステップS43とステップS44の処理を繰り返して実行する。
【0050】
ステップS45:情報処理装置4の検索部11は、ステップS43とステップS44の処理で得られた類似度を高い順にソートし、例えば、予め定めた閾値以上の類似度を満たす部分空間データに対応する識別単位(所有者)を検索結果とする。情報処理装置4の画面生成部16は、検索結果に基づいて、検索結果画面の画面情報を生成する。
図5は、本発明の実施形態に係る検索結果画面の一例を示す図である。
図5の検索結果画面310には、検索結果311として、8件の検索結果が存在することが表示されており、検索結果表示領域312には、1件目から3件目の検索結果として、検索クエリに関係する文書ファイルの所有者の氏名、所属、連絡先(内線番号)が表示されている。
図4に戻って説明する。
【0051】
ステップS46:情報処理装置4の検索部11は、検索結果の表示を要求する要求メッセージを情報処理装置4の通信部10に送信する。要求メッセージは、ステップS45で画面生成部16が生成した検索結果画面の画面情報を含む。情報処理装置4の通信部10は、受信した要求メッセージを端末装置5の通信部20に送信する。端末装置5の表示制御部22は、通信部20が受信した検索結果画面の画面情報を用いて、検索結果画面を端末装置5の画面に表示する。
【0052】
以上の処理により、情報処理システム1では、検索クエリと検索対象の文書ファイルに対する全てのベクトルデータの間の類似度を算出して行う検索と比較して、検索精度を低下させることなく、検索処理に必要なコストを低減することが可能である。この理由は、情報処理システム1では、識別単位(例えば所有者)ごとに、文書ファイルに対するベクトルデータを近似する部分空間データを生成し、検索クエリと部分空間データとの間の類似度を算出して検索を実行するからである。特に、文書ファイルが数多く存在する場合、ベクトルデータに対して総当たりで計算を実行するコストは膨大となるが、一方、部分空間データは、文書ファイルの数に関わらずデータのサイズは一定である。また、部分空間データの生成において、適切に寄与率を設定することにより、寄与率が高い基底ベクトルによる重要な項目の情報を保持しながら、寄与率の低い基底ベクトルによる細かすぎる情報を除去することで、検索精度の低下を防ぐことが可能である。
【0053】
<相互部分空間を用いた検索処理>
図6は、本発明の実施形態に係る相互部分空間を用いた検索処理に関するシーケンスの一例を示す図である。本シーケンスでは、検索実行フェーズにおいて、検索クエリに対する部分空間データを生成し、検索クエリの部分空間データと検索対象の部分空間データによる相互部分空間による類似度を用いて検索を実行する。以下、
図6の各ステップの処理について説明する。データ構築フェーズにおける処理は、
図4のステップS30からステップS36の処理と同じである。続いて、検索実行フェールにおいて、まず、情報処理装置4は、端末装置5からの検索クエリの取得、及びデータ構築フェーズで生成した検索対象データである部分空間データの取得を行う。このために、ステップS50からステップ53において、
図4のステップS37からステップS40で説明した処理と同じ処理を実行する。
【0054】
ステップS54:情報処理装置4の検索部11は、検索クエリに対する部分空間データの生成を要求するメッセージを情報処理装置4の生成部12に送信する。
【0055】
情報処理装置4は、ステップS55からステップS61の処理において、
図4のステップS31からステップS36と同様の処理を実行することにより、検索クエリに対する部分空間データを生成する。
【0056】
ステップS62:情報処理装置4の検索部11は、検索クエリの部分空間データと検索対象の部分空間との間の相互部分空間における類似度の算出を要求するメッセージを情報処理装置4の比較部14に送信する。メッセージは、検索クエリの部分空間データと検索対象の部分空間データを含む。
【0057】
ステップS63:情報処理装置4の比較部14は、検索クエリの部分空間データと検索対象の部分空間データとの間の相互部分空間における角度(正準角)を算出して、算出した類似度を情報処理装置4の検索部11に送信する。
【0058】
情報処理装置4は、検索対象である全ての部分空間データ、即ち、全ての識別単位(所有者)に対する部分空間データに対して、ステップS62とステップS63の処理を繰り返して実行する。
【0059】
ステップS64:情報処理装置4の検索部11は、ステップS62とステップS63の処理で得られた類似度を高い順にソートし、例えば、予め定めた閾値以上の類似度を満たす部分空間データの識別単位(所有者)を検索結果とする。情報処理装置4の画面生成部16は、検索結果に基づいて、検索結果画面の画面情報を生成する。
【0060】
ステップS65:情報処理装置4の検索部11は、検索結果の表示を要求する要求メッセージを情報処理装置4の通信部10に送信する。要求メッセージは、ステップS64で画面生成部16が生成した検索結果画面の画面情報を含む。情報処理装置4の通信部10は、受信した要求メッセージを端末装置5の通信部20に送信する。端末装置5の表示制御部22は、通信部20が受信した検索結果画面の画面情報を用いて、検索結果画面を端末装置5の画面に表示する。
【0061】
以上の処理により、情報処理システム1は、相互部分空間を用いた検索を実行することが可能である。
【0062】
<除外条件を含む検索処理>
図7は、本発明の実施形態に係る除外条件を含む検索処理に関するシーケンスの一例を示す図である。本シーケンスでは、ユーザによる検索クエリの指定に加えて、ユーザによる除外条件(検索対象や検索結果から除外したい情報を示すキーワード、文字列、文章等)の指定も受け付ける。以下、
図7の各ステップの処理について説明する。データ構築フェーズにおける処理は、
図4のステップS30からステップS36の処理と同じである。続いて、検索実行フェーズの処理について説明する。
【0063】
ステップS70:端末装置5の操作受付部21は、ユーザによる検索クエリと除外条件の入力を受け付ける。ここで、検索クエリと除外条件は、例えば、少なくとも一つの単語、又は少なくとも一つの文章で構成される。端末装置5の通信部20は、操作受付部21が受け付けた検索クエリと除外条件を含む検索要求メッセージを通信ネットワーク2経由で情報処理装置4の通信部10に送信する。
【0064】
ステップS71:情報処理装置4の通信部10は、受信した検索クエリと除外条件を含む検索要求メッセージを情報処理装置4の検索部11に送信する。
【0065】
ステップS72:情報処理装置4の検索部11は、検索対象である部分空間データを情報処理装置4の生成部12に要求する。
【0066】
ステップS73:情報処理装置4の生成部12は、検索対象である部分空間データを検索部11に送信する。または、生成部12は、部分空間データが記憶されているフォルダの場所、又はファイルリスト等を送信するようにしてもよい。
【0067】
情報処理装置4は、ステップS74からステップS81の処理において、
図6のステップS54からステップS61と同様の処理を実行することにより、検索クエリに対する部分空間データを生成する。
【0068】
更に、情報処理装置4は、ステップS82からステップS87の処理において、
図6のステップS54からステップS61と同様の処理を実行することにより、除外条件に対する部分空間データを生成する。ここで、設定情報は、検索クエリに対する部分空間データの生成で用いた設定情報を用いる。或いは、除外条件に対する部分空間データの生成において、検索クエリに対する部分空間データの生成とは異なる設定情報を用いても良い。
【0069】
ステップS88:情報処理装置4の検索部11は、検索クエリの部分空間データと検索対象の部分空間との間の相互部分空間における類似度の算出を要求するメッセージを情報処理装置4の比較部14に送信する。メッセージは、検索クエリの部分空間データと検索対象の部分空間データを含む。
【0070】
ステップS89:情報処理装置4の比較部14は、検索クエリの部分空間データと検索対象の部分空間データとの間の相互部分空間における角度(正準角)を算出して、算出した類似度を情報処理装置4の検索部11に送信する。
【0071】
ステップS90:情報処理装置4の検索部11は、除外条件の部分空間データと検索対象の部分空間との間の相互部分空間における類似度の算出を要求するメッセージを情報処理装置4の比較部14に送信する。メッセージは、検索クエリの部分空間データと検索対象の部分空間データを含む。
【0072】
ステップS91:情報処理装置4の比較部14は、除外条件の部分空間データと検索対象の部分空間データとの間の相互部分空間における角度(正準角)を算出して、算出した類似度を情報処理装置4の検索部11に送信する。
【0073】
ステップS92:情報処理装置4の検索部11は、ステップ89で算出した検索クエリに対する類似度からステップS91で算出した除外条件に対する類似度を減算した類似度を算出する。
【0074】
情報処理装置4は、検索対象である全ての部分空間データ、即ち、全ての識別単位(所有者)に対する部分空間データに対して、ステップS88からステップS92の処理を繰り返して実行する。
【0075】
ステップS93:情報処理装置4の検索部11は、ステップS92で算出した類似度を高い順にソートし、例えば、予め定めた閾値以上の類似度を満たす部分空間データの識別単位(所有者)を検索結果とする。情報処理装置4の画面生成部16は、検索結果に基づいて、検索結果画面の画面情報を生成する。
【0076】
ステップS94:情報処理装置4の検索部11は、検索結果の表示を要求する要求メッセージを情報処理装置4の通信部10に送信する。要求メッセージは、ステップS93で画面生成部16が生成した検索結果画面の画面情報を含む。情報処理装置4の通信部10は、受信した要求メッセージを端末装置5の通信部20に送信する。端末装置5の表示制御部22は、通信部20が受信した検索結果画面の画面情報を用いて、検索結果画面を端末装置5の画面に表示する。
【0077】
以上の処理により、情報処理システム1は、除外条件を含む検索を実行することが可能である。
【0078】
<関連図生成処理>
図8は、本発明の実施形態に係る相互部分空間を用いた関連図生成処理に関するシーケンスの一例を示す図である。本シーケンスでは、
図4などのシーケンスにおいて検索された、例えば、最も検索クエリとの類似度が高い識別単位(所有者Aとする)に対して、部分空間データの類似度が高い他の識別単位(所有者)との関係を示す関連図を生成する。以下、
図8の各ステップの処理について説明する。
【0079】
ステップS100:情報処理装置4の画面生成部16は、検索対象データである部分空間データを情報処理装置4の記憶部18に要求する。
【0080】
ステップS101:情報処理装置4の記憶部18は、検索対象データである部分空間データを情報処理装置4の画面生成部16に送信する。
【0081】
ステップS102:情報処理装置4の画面生成部16は、所有者Aの部分空間データと他の所有者の部分空間データとの間の類似度の算出を情報処理装置4の比較部14に要求する。
【0082】
ステップS103:情報処理装置4の比較部14は、要求された類似度の算出を実行して、算出した類似度を情報処理装置4の画面生成部16に送信する。類似度の算出方法は、例えば、
図4のステップS44などで説明した方法と同じである。
【0083】
情報処理装置4は、ステップS102とステップS103の処理を全ての検索対象の部分空間データに対して実行する。
【0084】
ステップS104:情報処理装置4の画面生成部16は、取得した類似度を高い順にソートする。
【0085】
ステップS105:情報処理装置4の画面生成部16は、例えば、所有者Aと部分空間データとの類似度が予め定めた値以上を持つ、又は類似度が高い順に上位から予め定めた数の他の所有者の部分空間データを取得する。
【0086】
ステップS106:情報処理装置4の画面生成部16は、ステップS105で取得した部分空間データに対して、部分空間データの内容を示すラベルを生成する。ラベルの生成方法として、例えば、所有者Aと他の所有者の部分空間データを生成した際に用いた文書のテキストに対して、既知の手法であるTF-IDF(Term Frequency-Inverse Document Frequency)を用いることより、文書の内容を最も特徴づける単語を抽出して、その単語をラベルとする。
【0087】
ステップS107:情報処理装置4の画面生成部16は、ステップS105で取得した類似度が上位である識別単位(所有者)の情報とステップS106で生成したラベルを用いて、関連図の画面情報を生成する。関連図の生成は、例えば、
図4のデータ構築フェーズにおいて、検索対象の部分空間データが生成された後に、全ての識別単位(所有者)に対する関連図を生成してもよい。或いは、検索実行フェーズにおいて、検索が実行された後に、要求された識別単位(所有者)に対する関連図を生成するようにしてもよい。
図9は、本発明の実施形態に係る部分空間を用いて生成した関連図の一例を示す図である。
図9の関連
図200には、所有者A(田中○○)を示す識別単位201との類似度が高いその他の所有者を示す識別単位205~211が、部分空間データの内容を示すラベル202~203を介して接続されている。即ち、識別単位201は、識別単位205、206と「開発コスト」のラベル202、識別単位207、208と「開発使用」のラベル203、識別単位209~211と「栽培実験」のラベル204を介して接続されている。ここで、例えば、識別単位205、206は同一のラベル202(「開発コスト」)を持っているため、ラベル202は1つに集約して表示されている。
【0088】
以上のように、情報処理システム1では、検索対象の部分空間データを用いることにより、部分空間データの内容を示すラベルを含む、類似度が高い識別単位(所有者)の関係を示す関連図を生成することが可能である。
【0089】
<関連図におけるラベル削除>
情報処理システム1は、以下に示す手順により、
図9の関連
図200において、ユーザが注目していない等の理由により、ユーザにとって不要なラベルを削除するユーザーインターフェース(UI)を提供することが可能である。
【0090】
端末装置5の操作受付部21は、例えば、ユーザがマウス等を用いることにより、削除するラベルとして、ラベル202(「開発コスト」)を指定する操作を受け付ける。端末装置5の表示制御部22は、ラベル202を削除するためのボタンを表示する。
図10は、本発明の実施形態に係る関連図におけるラベル削除の一例を示す図である。
図10の関連
図220には、ラベル202を削除するためのボタン221が表示されている。端末装置5の操作受付部21は、ユーザによるボタン221を押下する操作を受け付ける。端末装置5の通信部20は、ラベル202の削除を要求するメッセージを情報処理装置4の通信部10に送信する。情報処理装置4の画面生成部16は、ラベル202とラベル202に関連する識別単位205、206を削除した関連図の画面情報を生成する。情報処理装置4の通信部10は、生成した画面情報を端末装置5の通信部20に送信する。端末装置5の表示制御部22は、受信した画面情報を用いて、関連図を端末装置5に表示する。
【0091】
<関連図における関連ラベル削除>
情報処理システム1は、関連図において、ユーザが削除したラベルと関連したラベルを提示して、ユーザに削除するか否かを確認するUIを提供することが可能である。更に、情報処理システム1は、提示したラベルをユーザが削除したか否かの結果を学習データとして学習を行い、ユーザが削除したラベルに関連するラベルを判別することが可能である。
図11は、本発明の実施形態に係る部分空間を用いた関連ラベル削除処理に関するシーケンスの一例を示す図である。以下、
図11の各ステップの処理について説明する。
【0092】
ステップS110:情報処理装置4の削除部17は、ユーザが、
図9及び
図10で説明した関連図において、ラベルを削除したことを検知する。
【0093】
ステップS111:学習データが無い場合、情報処理装置4の削除部17は、ユーザが削除したラベルに対応する部分空間データと、その他の検索対象の部分空間データとの類似度を算出する要求を情報処理装置4の比較部14に送信する。
【0094】
ステップS112:情報処理装置4の比較部14は、要求された類似度の算出を実行して、算出した類似度を情報処理装置4の削除部17に送信する。類似度の算出方法は、例えば、
図4のステップS44などで説明した方法と同じである。
【0095】
情報処理装置4は、ステップS111とステップS112の処理を全ての検索対象の部分空間データに対して繰り返して実行する。
【0096】
ステップS113:情報処理装置4の削除部17は、ステップS112で算出された類似度が予め定めた閾値より高いラベルに対して、ユーザにラベルを削除するか確認するボタンを表示する要求を画面生成部16に送信する。
【0097】
ステップS114:情報処理装置4の画面生成部16は、ユーザが確認したラベルの削除を指示したか否かの結果を情報処理装置4の削除部17に送信する。
【0098】
ステップS115:情報処理装置4の削除部17は、ユーザがラベルの削除を指示したならば、ラベルを削除する。
【0099】
ステップS116:情報処理装置4の削除部17は、学習対象データとして、ステップS110で削除したラベル、及びステップS113で削除の確認をしたラベルとその削除指示結果(ラベルを削除したか否か)に関する情報を記憶する。また、記憶するラベルの情報は、ラベルに対応する識別単位(所有者)、部分空間データ、及び文書データ等を特定する情報を含む。
【0100】
情報処理装置4は、ステップS113からステップS116の処理をステップS112で算出した類似度が予め定めた閾値より大きい条件を満たすラベルに対応する全ての検索対象の部分空間データに対して繰り返して実行する。ただし、検索対象の部分空間データに対応するラベル名が既に削除されたラベルと同一である場合、情報処理装置4は、処理をスキップして、次の検索対象の部分空間データの処理に遷移する。
【0101】
以下のステップS117からステップS123までの処理は、ステップS116で記憶した学習対象データの数が、予め定めた閾値より大きくなった場合に実行する。そうでない場合、情報処理装置4は、ここで処理を終了する。
【0102】
ステップS117:情報処理装置4の削除部17は、ステップS116で記憶した学習対象データに対して、ステップS110で削除されたラベル、及びそのラベルに関連するラベルとしてステップS115で削除されたラベルを全て同じグループとなるようにグループ化する。また、ステップS110で削除されたラベルに関連してステップS115で削除されなかったラベルを全て同じグループとなるようにグループ化してもよい。
【0103】
ステップS118:情報処理装置4の削除部17は、学習データを生成する要求を情報処理装置4の比較部14に送信する。
【0104】
ステップS119:情報処理装置4の比較部14は、学習方法に関する設定情報を要求するメッセージを情報処理装置4の設定部15に送信する。設定情報は、学習方法として、相互部分空間法、又はその拡張である直交相互部分空間法、制約相互部分空間法、及びカーネル非線形相互部分空間法などの中から、対象となるデータの特性に合わせて予め選択され設定された学習方法を含む。また、設定情報は、
図4のステップS30で説明した部分空間を生成する際における寄与率の値などの情報を含んでもよい。
【0105】
ステップS120:情報処理装置4の設定部15は、設定情報を情報処理装置4の比較部14に送信する。
【0106】
ステップS121:情報処理装置4の比較部14は、受信した設定情報により指定された方法により、ステップS117でグループ化された各グループの部分空間を情報処理装置4の生成部12に生成させる。ここで、生成部12は、直交相互部分空間法が選択された場合、部分空間生成時に直交基底ベクトルを算出し、制約相互部分空間法が選択された場合、部分空間として一般化差分部分空間を生成する。また、カーネル非線形相互部分空間法が選択された場合、生成部12は、部分空間生成時にカーネル主成分分析を実行する。
【0107】
ステップS122:情報処理装置4の比較部14は、生成した部分空間データを学習データとして情報処理装置4の削除部17に送信する。
【0108】
ステップS123:情報処理装置4の削除部17は、受信した学習データを情報処理装置4の記憶部18に記憶させる。
【0109】
情報処理装置4は、学習データが無い場合、以上で処理を終了する。以降は、学習データが有る場合について、ステップS110の処理が実行された後の処理を説明する。
【0110】
ステップS124:情報処理装置4の削除部17は、ステップS110で削除されたラベルに関連して削除するラベルを判別する要求を情報処理装置4の比較部14に送信する。
【0111】
ステップS125:情報処理装置4の比較部14は、判別方法に関する設定情報を要求するメッセージを情報処理装置4の設定部15に送信する。設定情報は、ステップS119で用いた設定情報と同じ情報を含む。
【0112】
ステップS126:情報処理装置4の設定部15は、設定情報を情報処理装置4の比較部14に送信する。
【0113】
ステップS127:情報処理装置4の比較部14は、ユーザに提示するための、ユーザが削除したラベルに関連するラベルを判別する。比較部14は、例えば、受信した設定情報で指定された方法に基づいて、ステップS110で削除したラベルとの類似度が高い、ステップS117でグループ化したラベルを判別し、判別したグループに属するラベルを削除したラベルに関連するラベルと判別する。
【0114】
ステップS128:情報処理装置4の比較部14は、判別したラベルを判別結果として情報処理装置4の削除部17に送信する。
【0115】
ステップS129:情報処理装置4の削除部17は、ステップS127で判別されたラベルに対して、ユーザにラベルを削除するか否かを確認する画面を生成する要求を画面生成部16に送信する。
【0116】
ステップS130:情報処理装置4の画面生成部16は、ユーザがラベルの削除を指示したか否かの結果を情報処理装置4の削除部17に送信する。
【0117】
ステップS131:情報処理装置4の削除部17は、ユーザがラベルの削除を指示したならば、ラベルを削除する。
【0118】
ステップS132:情報処理装置4の削除部17は、ステップS116で説明した手順と同様に、学習対象データとして、ステップS110で削除したラベル、及びステップS130で削除の確認をしたラベルとその削除指示結果(ラベルを削除したか否か)に関する情報を記憶する。また、記憶するラベルの情報は、ラベルに対応する識別単位(所有者)、部分空間データ、及び文書データ等を特定する情報を含む。情報処理装置4は、記憶した学習対象データを用いて、再度、ステップS117からステップS123の処理を実行することにより、学習データを更新してもよい。
【0119】
以上の処理により、情報処理システム1では、ユーザが削除したラベルに関連するラベルとして、更にユーザが削除したラベルに関するデータを学習することにより、ユーザがラベルを削除した後、更に削除するラベルをユーザに提示することが可能である。
【0120】
以上、本発明を実施するための幾つかの形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0121】
例えば、
図3の機能ブロックの構成図の一例は、情報処理システム1、情報処理装置4、及び端末装置5による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。情報処理システム1、情報処理装置4、及び端末装置5における処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
【0122】
また、上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
【0123】
また、記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施形態では、情報処理システム1、情報処理装置4、及び端末装置5は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
【0124】
本発明の態様は、例えば、以下のとおりである。
<1>ユーザが入力した検索クエリを受信する通信部と、文書ファイルの内容を所定の単位で分割した文字列に対するベクトルデータを用いて、識別単位ごとに検索対象の部分空間データを生成する生成部と、前記部分空間データを用いて、前記検索クエリに対する検索結果となる前記識別単位を特定することにより検索を実行する検索部と、を有することを特徴とする情報処理装置である。
<2>前記生成部が、前記部分空間データを生成する際に用いる寄与率を設定する設定部を更に有する、前記<1>に記載の情報処理装置である。
<3>前記生成部は、前記検索クエリに対する部分空間データを生成し、前記検索部は、前記検索クエリに対する部分空間データと前記検索対象の部分空間データを用いた相互部分空間法により、前記検索結果となる前記識別単位を特定する、前記<1>又は前記<2>のいずれかに記載の情報処理装置である。
<4>前記通信部は、前記検索において除外したい情報に関する文字列を含む除外条件を更に受信し、前記生成部は、前記除外条件に対する部分空間データを更に生成し、前記検索部は、前記除外条件に対する部分空間データを更に用いて、前記検索を実行する、前記<1>乃至前記<3>のいずれかに記載の情報処理装置である。
<5>前記部分空間データの類似度に基づいて、前記部分空間データの内容を表すラベルを含み、前記識別単位の関係を示す関連図を生成する画面生成部を更に有する、前記<1>乃至前記<4>のいずれかに記載の情報処理装置である。
<6>前記通信部は、前記ユーザにより指定された前記ラベルを削除する要求メッセージを受信し、前記画面生成部は、前記要求メッセージに応じて、前記指定された前記ラベルを削除した前記関連図を生成する、前記<5>に記載の情報処理装置である。
<7>前記ユーザに提示するために、相互部分空間法、直交相互部分空間法、制約相互部分空間法、又はカーネル非線形相互部分空間法を用いて、削除した前記ラベルに類似したラベルを判別する比較部を更に有する、前記<6>に記載の情報処理装置である。
<8>ユーザが操作する端末装置と、前記端末装置と通信が可能な情報処理装置を有する情報処理システムであって、前記端末装置は、前記ユーザによる検索クエリの入力を受け付ける操作受付部と、前記検索クエリを前記情報処理装置に送信し、前記情報処理装置から前記検索クエリに対する検索結果の画面情報を受信する通信部と、前記画面情報を用いて前記検索結果を表示する表示制御部と、を有し、前記情報処理装置は、ユーザが入力した検索クエリを受信する通信部と、文書ファイルの内容を所定の単位で分割した文字列に対するベクトルデータを用いて、識別単位ごとに検索対象の部分空間データを生成する生成部と、前記部分空間データを用いて、前記検索クエリに対する検索結果となる前記識別単位を特定することにより検索を実行する検索部と、を有することを特徴とする情報処理システムである。
<9>ユーザが入力した検索クエリを受信するステップと、文書ファイルの内容を所定の単位で分割した文字列に対するベクトルデータを用いて、識別単位ごとに検索対象の部分空間データを生成するステップと、前記部分空間データを用いて、前記検索クエリに対する検索結果となる前記識別単位を特定することにより検索を実行するステップと、を有することを特徴とする情報処理方法である。
<10>ユーザが入力した検索クエリを受信するステップ、文書ファイルの内容を所定の単位で分割した文字列に対するベクトルデータを用いて、識別単位ごとに検索対象の部分空間データを生成するステップ、前記部分空間データを用いて、前記検索クエリに対する検索結果となる前記識別単位を特定することにより検索を実行するステップ、を情報処理装置に実行させるためのプログラムである。
【符号の説明】
【0125】
1 情報処理システム
2 通信ネットワーク
3 情報検索サーバ
4、4a、4b 情報処理装置
5、端末装置
5a PC
5b スマートフォン
5c プロジェクタ
5d ビデオ会議端末
5e 電子黒板
10 通信部
11 検索部
12 生成部
13 分割部
14 比較部
15 設定部
16 画面生成部
17 削除部
20 通信部
21 操作受付部
22 表示制御部
200、220 関連図
310 検索結果画面
【先行技術文献】
【特許文献】
【0126】
【特許文献1】国際公開番号WO2020/079752