IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ キヤノンマーケティングジャパン株式会社の特許一覧 ▶ キヤノンITソリューションズ株式会社の特許一覧

<>
  • 特許-情報処理装置、制御方法、プログラム 図1
  • 特許-情報処理装置、制御方法、プログラム 図2
  • 特許-情報処理装置、制御方法、プログラム 図3
  • 特許-情報処理装置、制御方法、プログラム 図4
  • 特許-情報処理装置、制御方法、プログラム 図5
  • 特許-情報処理装置、制御方法、プログラム 図6
  • 特許-情報処理装置、制御方法、プログラム 図7
  • 特許-情報処理装置、制御方法、プログラム 図8
  • 特許-情報処理装置、制御方法、プログラム 図9
  • 特許-情報処理装置、制御方法、プログラム 図10
  • 特許-情報処理装置、制御方法、プログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-23
(45)【発行日】2024-05-02
(54)【発明の名称】情報処理装置、制御方法、プログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240424BHJP
   G06F 18/23 20230101ALI20240424BHJP
【FI】
G06N20/00
G06F18/23
【請求項の数】 9
(21)【出願番号】P 2019198689
(22)【出願日】2019-10-31
(65)【公開番号】P2021071956
(43)【公開日】2021-05-06
【審査請求日】2022-10-28
(73)【特許権者】
【識別番号】390002761
【氏名又は名称】キヤノンマーケティングジャパン株式会社
(73)【特許権者】
【識別番号】592135203
【氏名又は名称】キヤノンITソリューションズ株式会社
(74)【代理人】
【識別番号】100189751
【弁理士】
【氏名又は名称】木村 友輔
(72)【発明者】
【氏名】下郡山 敬己
【審査官】児玉 崇晶
(56)【参考文献】
【文献】特開2012-173793(JP,A)
【文献】特開2001-283184(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06F 18/23
(57)【特許請求の範囲】
【請求項1】
学習モデルを管理する情報処理装置であって、
学習に用いるデータをグループに分類する分類手段と、
前記グループに分類されたデータに基づいて、当該グループに分類されたデータを示す特徴データを決定する決定手段と、
前記グループに分類されたデータを示す特徴データに基づいてグループどうしを結合して新たなグループを作成する結合手段と、
前記結合されたグループに分類されたデータを用いて生成される学習モデルと、前記決定された当該グループに係る特徴データとを登録する登録手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記特徴データは、前記グループを特徴付けるデータであることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記特徴データは、複数のグループの候補から前記グループが選定される場合に使用されることを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記学習モデルは、前記データの順位付けを行う順位学習モデルであることを特徴とする請求項1~3のいずれか1項に記載の情報処理装置。
【請求項5】
前記特徴データは、前記グループと当該グループに分類されたデータとの包含関係を示すデータであることを特徴とする請求項1~4のいずれか1項に記載の情報処理装置。
【請求項6】
前記特徴データは、前記グループに対し、それぞれのデータが当該グループに分類されたかを示す値によるベクトルであることを特徴とする請求項1~4のいずれか1項に記載の情報処理装置。
【請求項7】
前記データは、検索テキストにより検索される文書データであることを特徴とする請求項1~6のいずれか1項に記載の情報処理装置。
【請求項8】
学習モデルを管理する情報処理装置の制御方法であって、
分類手段が、学習に用いるデータをグループに分類する分類ステップと、
決定手段が、前記グループに分類されたデータに基づいて、当該グループに分類されたデータを示す特徴データを決定する決定ステップと、
結合手段が、前記グループに分類されたデータを示す特徴データに基づいてグループどうしを結合して新たなグループを作成する結合ステップと、
登録手段が、前記結合されたグループに分類されたデータを用いて生成される学習モデルと、前記決定された当該グループに係る特徴データとを登録する登録ステップと、
を備えることを特徴とする情報処理装置の制御方法。
【請求項9】
学習モデルを管理する情報処理装置で実行可能なプログラムであって、
前記情報処理装置を、
学習に用いるデータをグループに分類する分類手段と、
前記グループに分類されたデータに基づいて、当該グループに分類されたデータを示す特徴データを決定する決定手段と、
前記グループに分類されたデータを示す特徴データに基づいてグループどうしを結合して新たなグループを作成する結合手段と、
前記結合されたグループに分類されたデータを用いて生成される学習モデルと、前記決定された当該グループに係る特徴データとを登録する登録手段と、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データの特徴に応じた学習データ作成および学習モデル生成の技術に関する。
【背景技術】
【0002】
従来からユーザに対して適切な検索結果を提示するため、検索条件と文書群に含まれる各文書に含まれるターム(形態素解析、N-Gramなど一定の基準で切り出した文字列)の関連性を統計値として算出する技術がある。これらの技術を類似検索などと呼ぶ(以下、本発明の説明において、当該技術を統一的に類似検索と呼ぶこととし、本願発明における後述の順位学習による検索とは区別することにする)。
【0003】
また、学習データと検索対象となる文書群が類似する場合の特徴量を機械学習によりモデル化し、新たな検索条件が指定された場合に、当該学習モデルに基づきランキング調整をすることで、類似検索の精度を向上させる順位学習の技術がある。
【0004】
順位学習には大量の学習データが必要であるが、学習データの収集は困難である。類似検索をシステムとして運用開始した後にユーザの検索ログから学習データを収集することも考えられるが、検索結果の評価にはユーザの負荷がかかることもあり、十分な量のログ収集が可能とは言い切れない。また運用開始前には、開発者がテスト用に作成した学習データなどに限定される。
【0005】
特許文献1は、予め用意された回答(いわばFAQの文書群)に対して、ユーザからの問い合わせに対して最も類似した質問(学習データの質問文)を見つけ、対応する回答を返す技術に対して、質問文が少ない場合でもトピック推定精度を高める技術を提供している。
【0006】
具体的には、学習データの質問文に現れる単語に対して、対応する回答内の単語に置換することによって、学習データの質問文を拡張する、すなわち学習データの件数を増やしている。また拡充した質問文のうち不自然な質問文を除外するため、確率言語モデルを用いて質問文の存在確率を計算し、存在確率がある閾値を超える場合のみ学習データとして用いるとしている。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2017-37588号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1の技術においては、確率言語モデルを用いて拡充された質問文が適切であるか否かを判定しているが、置換された単語はあくまで予め用意された回答に含まれるものであり、専門用語やある組織特有の用語が使用されている可能性がある。その場合、確率言語モデルでは事例が不足していて、質問文が適切に拡充されない場合も発生する。
【0009】
さらに特許文献1の技術においては、学習データとして用いる質問文を拡充させることで学習効果を高めること目的である。しかしながら学習データの件数が増加すると学習に要する計算時間が膨大になり、実用的ではなくなってしまうことある。
【0010】
本発明の目的は、同様のデータが含まれるグループに分類されたデータに基づく学習データを作成する技術を提供することである。
【課題を解決するための手段】
【0011】
本発明は、学習モデルを管理する情報処理装置であって、学習に用いるデータをグループに分類する分類手段と、前記グループに分類されたデータに基づいて、当該グループに分類されたデータを示す特徴データを決定する決定手段と、前記グループに分類されたデータを示す特徴データに基づいてグループどうしを結合して新たなグループを作成する結合手段と、前記結合されたグループに分類されたデータを用いて生成される学習モデルと、前記決定された当該グループに係る特徴データとを登録する登録手段と、を備えることを特徴とする。
【発明の効果】
【0012】
本発明により、同様のデータが含まれるグループに分類されたデータに基づく学習データを作成する技術を提供することが可能となる。
【図面の簡単な説明】
【0013】
図1】本発明の実施形態に係る機能構成の一例を示す図である。
図2】本発明の実施形態に係る情報処理装置100に適用可能なハードウェア構成の一例を示すブロック図である。
図3】本発明の実施形態に係わる検索条件の入力と検索結果から正解を指定するユーザインタフェースの一例である。
図4】本発明の実施形態に係わる類似検索の検索結果の一例である。
図5】本発明の実施形態に係る検索結果をクラスタリングした結果の一例である。
図6】本発明の実施形態に係わるクラスタリングを用いてドリルダウンした結果の一例である。
図7】本発明の実施形態に係る学習データ記憶部に登録された学習データの構造の一例である。
図8】本発明の実施形態に係る学習モデル生成の処理を説明するフローチャートの一例である。
図9】本発明の実施形態に係る学習データのグループ類似度とグループ化を説明する図の一例である。
図10】本発明の実施形態に係る学習モデルを記憶する際のデータ構造と検索時に選択されたクラスタの類似度計算を説明する図の一例である。
図11】本発明の実施形態に係る検索処理を説明するフローチャートの一例である。
【発明を実施するための形態】
【0014】
本発明においては機械学習により従来型の文書の検索結果を、機械学習を利用して検索順位を改めて指定し直す。これを順位学習などと呼ぶ。特に本発明では説明の便宜上、事前に学習モデルを決定する処理を“学習モデルの生成”、実際にユーザなどの検索条件に基づく検索結果を、生成された学習モデルを用いて順位を指定し直す処理を“再ランク付け”と呼ぶことにする。
【0015】
本発明の特徴は、次の3点にある。まず分類情報がない文書群に対して、後述の学習モデルを生成するために学習データをどのように記憶させるかということである。2点目に前記の学習データを元に、学習データとなる文書群をどのように一部に限定して学習モデルを生成するかである。3点目に検索時に動的にクラスタリングされた文書群の再ランク付けに際し、複数ある学習モデルの中から適切な学習モデルをいかに選択するかである。
【0016】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
【0017】
図1は、本発明の実施形態に係る機能構成の一例を示す図である。検索条件受付部101は、検索ユーザまたは他のプログラムから検索条件(文字列)を受け付けて、類似検索部102に送る。類似検索部102は、文書記憶部121を検索して検索条件に記載された条件にヒットした検索結果、すなわち文書一覧を取得する。この検索処理は単語の出現頻度などに基づき検索条件と文書の類似度を計算しその上位の文書を検索結果の文書一覧にする、など様々な周知の技術があり説明を省略する。
【0018】
前記検索結果である文書一覧はクラスタリング部103に渡され、自然言語処理にて各文書の類似度に基づきクラスタに分割する。クラスタリングについても周知の技術であり説明を省略する。またクラスタリングでは、1つの文書を必ず1つのクラスタに分類する方式と、1つの文書が複数のクラスタに含まれることを許容する方式があるが、本願発明ではそのいずれを用いても良い。
【0019】
表示部104は、前記クラスタを表示して例えばユーザにクラスタのうちの1つを選択させる。ユーザが選択したクラスタを受け付けて当該クラスタに分類された文書群(前記検索結果の文書一覧の一部)を表示する。その際に、学習モデル選択部105はユーザが選択したクラスタに応じて、学習モデル記憶部123から適切な学習モデルを選択し、当該学習モデルに従って前記文書群を再ランク付けして表示部104に表示する。
【0020】
また前記表示部104でユーザが選択したクラスタに含まれる前記前記文書群から例えばユーザに1つの文書を選択させ、当該文書を前記検索条件に対する正解として学習データ登録部107に渡し、当該学習データ登録部107は学習データを構成して学習データ記憶部122に登録する。
【0021】
学習モデル生成部108は、学習データ記憶部122に記憶された学習データを用いて再ランク付けのための学習モデルを生成する。全ての学習データを用いて1つの学習モデルを生成するのではなく、生成モデル決定部109は当該学習データが登録された際のクラスタに含まれる文書群に関する情報を用いて学習データをグループ化し、そのグループに基づいて学習モデル生成部108が当該グループ毎に学習モデルを生成する。
【0022】
図2は、本発明の実施形態に係る情報処理装置100に適用可能なハードウェア構成の一例を示すブロック図である。
【0023】
図2に示すように、情報処理装置100は、システムバス204を介してCPU(Central Processing Unit)201、RAM(Random Access Memory)202、ROM(Read Only Memory)203、入力コントローラ205、ビデオコントローラ206、メモリコントローラ207、通信I/Fコントローラ208等が接続された構成を採る。
【0024】
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
【0025】
また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input/Output System)やOS(Operating System)や、各サーバあるいは各PCが実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。また、本発明を実施するために必要な情報が記憶されている。なお外部メモリはデータベースであってもよい。
【0026】
RAM202は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM203あるいは外部メモリ211からRAM202にロードし、ロードしたプログラムを実行することで各種動作を実現する。
【0027】
また、入力コントローラ205は、キーボード(KB)209や不図示のマウス等のポインティングデバイス等からの入力を制御する。
【0028】
ビデオコントローラ206は、ディスプレイ210等の表示器への表示を制御する。尚、表示器は液晶ディスプレイ等の表示器でもよい。これらは、必要に応じて管理者が使用する。
【0029】
メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する外部記憶装置(ハードディスク(HD))や、フレキシブルディスク(FD)、あるいは、PCMCIA(Personal Computer Memory Card International Association)カードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
【0030】
通信I/Fコントローラ208は、ネットワークを介して外部機器と接続・通信し、ネットワークでの通信制御処理を実行する。例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)を用いた通信等が可能である。
【0031】
尚、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上に表示することが可能である。また、CPU201は、ディスプレイ210上のマウスカーソル(図示しない)等によるユーザ指示を可能とする。
【0032】
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。
【0033】
次に図3から図6を用いて検索の概要を説明する。図3は、本発明の実施形態に係わる検索条件の入力と検索結果から正解を指定するユーザインタフェースの一例である。
【0034】
条件検索入力画面301は、検索ユーザが質問文欄311に「大谷選手の打撃成績」を入力し、検索ボタン312を押下することで検索を開始する画面である。
【0035】
検索ユーザが最終的に閲覧したい文書データの一覧を文書閲覧画面302で説明する。表示領域321に、文書のIDが”0028”であること、タイトル、本文などが表示される。
【0036】
また、検索ユーザが表示領域321に表示された文書を閲覧して、まさに自身が見たかった情報であると判断すれば、正解ボタン322を押下することで、学習データ記憶部122に登録させることができる。
【0037】
しかし、文書ID”0028”にたどり着くためには、まず図4の検索結果一覧400が提示される。一般的に前記検索結果一覧400が検索ユーザに提示されることが多いが、一部の商用システムには自動分類して、検索ユーザに提示する文書群を限定することがある。これは登録されている文書の数にもよるが、検索条件に対して数百件がヒットした場合に、検索ユーザが求める情報にたどり着くのは大変であり、何らかの方法で、例えば検索ユーザに再度何かの条件を指定させることで数十件に限定することで求める情報にたどり着きやすくするためである。
【0038】
一つの方法として、検索条件にヒットした文書群をクラスタリングして、内容が類似する文書群をクラスタと呼ばれるグループとして提示する。検索ユーザはまず自身が得たい情報のクラスタを選択することで前述の通り確認する文書を一部に限定することになる。
【0039】
図4の検索結果一覧には、例えば大谷一朗選手に関する情報であっても、高校時代、日本のプロ野球で活躍していた時代、さらにメジャーリーグでの成績などのクラスタに分かれると思われる。図5では、これらの分類がクラスタ一覧の例501として検索ユーザに提示される。
【0040】
検索ユーザがクラスタ503の”メジャーリーグ”を選択すると、そのクラスタに分類された文書一覧(図6の600)が表示される。図4の検索結果一覧400では大谷一朗選手について様々な情報が含まれていたが、図6の文書一覧600ではメジャーリーグでの活躍に関する記事だけが含まれるという例を示している。このように文書一覧を制限することで、検索ユーザが求める情報(図3の文書ID”0028”)に容易にたどり着くことを可能とする。
【0041】
また、クラスタリングは検索ユーザが指定する質問文(図3の311)にヒットする文書群が異なれば当然異なるグループに分類される。図5の502のように”アメリカでの野球”という質問文で検索すれば、大谷一朗選手に関する情報が集まるとは限らず、図4の例とは異なる文書がヒットする。さらにそれらの文書をクラスタリングすれば異なるクラスタが生成される。502の例では、メジャーリーグというクラスタ(504)が生成されているが、これは見出しは同じでも503とは全く異なる文書が多く含まれることになる。例えば、アメリカの野球の中でのメジャーリーグの位置づけ、大谷一朗選手以外の名選手の記録、などが含まれているなど考えられる。このように同じタイトルが付いていても”メジャーリーグ”というタイトルにはあまり意味はなく、それよりも同じクラスタに含まれる文書IDにはどのようなものがあるか、といったリストがこれらのクラスタの言語的特徴を表すものとして重要になるのである。
【0042】
図7は、本発明の実施形態に係る学習データの構造の一例である。順位学習において学習モデルを生成するための学習データは、例えば実際にユーザが検索した際に、ユーザの検索意図に一致した文書を指定することで得られるものである。従って、少なくともユーザの検索条件と、ユーザが選択した文書を特定するための情報がペアで登録される必要がある。学習データ701においては、それらは質問文703、正解文書ID704として格納される。
【0043】
本発明における学習データ記憶部122に格納された学習データ701(a~f)は、前記質問文703、正解文書ID704以外に、同一クラスタ文書IDリスト705が格納されることを特徴とする。
【0044】
例えば、「大谷選手の打撃成績」という検索条件を入力した検索ユーザが、クラスタ503の「メジャーリーグ」を選択したことを図6で示している。当該クラスタは、文書IDとして”0005”、”0006”・・・、”0028”を含んでいるため、学習データ701aの同一クラスタ文書IDリスト705にはこれらの文書IDのリストがそのまま記載されている。
【0045】
次に図8図9を用いて、学習モデル生成の処理について説明する。図8は、本発明の実施形態に係る学習モデル生成の処理を説明するフローチャートの一例である。図8のフローチャートの各ステップは、情報処理装置100上のCPU201で実行される。
<実施形態1>
ステップS801では、学習データ記憶部122に記憶された全ての学習データ群を読み込む。読み込んだデータを図9の学習データの文書IDベクトル(例1)901に示す。このテーブルは図7と本質的に同じものであるが、文書IDリストを一覧として表現した図7に対して、(例えば文書IDが1~500まであるとすれば)それぞれの文書IDを1列にならべたベクトルとして表現している。ベクトルの各要素は、同一クラスタ文書IDリスト705にその文書IDが含まれる場合は”1”、含まれない場合は”0”としたものである。
【0046】
ステップS802では、学習データ(901)の中で、正解文書ID(911)が同一のものを図9の学習データの文書IDベクトル(例2)902のようにまとめる。例えば、正解文書IDが”0028”であるものは”L0001”、”L0003”の2つある。これらを902の1行目のようにまとめる。具体的には、学習データIDリスト916に、これら2つの学習データIDを列挙し、また901の文書IDベクトルは、各IDにあり(1)、なし(0)だけを示していたものを、合計で幾つあったかを表すようにする。例えば、文書IDが”0005”に相当する値は、914では”1”だが、917では”2”となっている。このように単純に合計するのはあくまで例であって様々な計算方法があることはいうまでもない。
【0047】
ステップS803では、902の学習データをグループ化する。目的は、1つの学習モデルを生成する際に使用する学習データを決定することである。すなわち、文書内に何らかの分類情報が入っている場合には、正解文書IDで示す文書内の分類情報が同一のものを集めて学習データをグループ化するなどが可能であるが、本願発明ではそのような分類情報を持たない、あるいは使用できない場合を想定しているため、図6のようにドリルダウンした際に、同じような文書群が含まれている学習データは、1つの学習モデルを生成するために使用するものと仮定している。
【0048】
なお、ここで学習モデルをグループ化する方法としては、周知の技術としてベクトルのクラスタリングがある。図9の例2では、文書数に相当する500次元のベクトルを相互に比較し、クラスタリングする技術である。また重複クラスタリングとして、同一のベクトルが複数のクラスタに含まれることを許容する技術もある。いずれにしてもこれらのベクトル群をクラスタに分ける技術であれば、どのような方式であっても良いことはいうまでもない。
【0049】
これにより、前記の通り予め文書群に分類情報がない場合であっても、学習データを適切なグループに分けて複数の学習データを生成することが可能になる、という効果を得ることができる。グループ化した学習モデル群を図9のグループ903(a、b)として例示する。
【0050】
S804からS806の繰り返し処理は、S803でグループ化した学習データ群1つ1つに対する処理である。
【0051】
S805は、グループ化した学習データ群(例えば図9の903a、903b)の1つずつに着目し、当該学習データで学習モデルの生成を行う。順位学習の場合SVM(サポートベクターマシン)などにより実現することが可能である。生成された学習モデルは、学習モデル記憶部123に格納する。
【0052】
以上で図8のフローチャートによる本願発明における学習モデルの生成についての説明を完了する。
【0053】
図10は、本発明の実施形態に係る学習モデルを記憶する際のデータ構造と検索時に選択されたクラスタの類似度計算を説明する図の一例である。まず学習モデル記憶部123に格納された学習モデルについて説明する。本図では2つの学習モデルが格納されているものとする。
【0054】
SVM(サポートベクターマシン)などで生成された学習モデルの本体は、学習モデル記憶部123に格納されている。しかしながら、従来技術では、これらの学習モデルをどのような条件の下で利用するかという情報は含まれておらず、学習モデルを利用するアプリケーション(あるいはユーザ)が、複数ある学習モデルから使用すべきものを選択することになる。しかし、本願発明の前提として、文書群に分類情報に相当する情報が固定的に用意されておらず、また図5のクラスタも動的に生成されるため、どの学習モデルを利用すべきかは検索時に決定するしかない。
【0055】
本願発明の特徴は、各々の学習モデルに関連づけて、その学習モデルがいかなる状況で使用されるかを示す学習モデルの言語的特徴1003を含むことにある。
【0056】
言語的特徴1003の設定データ1005の一例として、文書IDベクトル(総和)で表した場合を示す。文書IDベクトル(総和)1006は、図9のグループ903aに含まれる学習データの文書IDベクトルを単純に総和したものである。つまり、この学習モデルを生成した際に用いた学習データでは、正解文書と同じクラスタに、どのような文書がどの程度出現したか、という傾向が記載されていることになる。類似検索や文書のクラスタリングでは、これは1種の言語的特徴を示すものであり、本願発明での当該学習モデルの言語的特徴である。
【0057】
図11は、本発明の実施形態に係る検索処理を説明するフローチャートの一例である。図11のフローチャートの各ステップは、情報処理装置100上のCPU201で実行される。
【0058】
ステップS1101では、検索ユーザあるいはアプリケーションから検索条件を受け付け、ステップS1102では、文書記憶部121から当該検索条件にヒットする文書群を取得する。
【0059】
ステップS1103では、ステップS1102で取得した文書群をクラスタリングする。この例が図5の501で、例えば3つのクラスタとなっている。
【0060】
ステップS1104では、前記クラスタの一覧をユーザに提示し、ステップS1105では、提示されたクラスタの中からユーザが1つを選択する。すなわちドリルダウンする。検索ユーザは図5の501の中から"メジャーリーグ”というクラスタを選択したとする。
【0061】
ステップS1106では、前記ユーザが選択したクラスタ(例では”メジャーリーグ”)に含まれる文書IDリストをベクトルとして生成する。図10の1007(検索時に自動生成されたクラスタに含まれる文書IDベクトル)が生成されたものである。次に1001a~1001bの文書IDベクトル(総和)1006の中で、1007のベクトルと類似度が一番高いものを特定する。
【0062】
しかしながら、一番類似度が高いものでも、学習モデルとして採用するのが不適切な場合がある。そこで、ステップS1107では、不図示の記憶部に記憶された閾値と比較し、ベクトルの類似度が閾値を超える学習モデルがない場合(NOの場合)は学習モデルを用いずに、ステップS1102の類似検索結果のランキングをそのままユーザに提示するようにしても良い。適切な学習モデルがある場合には、ステップS1108において、ステップS1102の類似検索の結果を再ランク付けし、ステップS1109で検索結果としてユーザに提示する。
【0063】
最後にステップS1110では、ユーザが提示された検索結果の中から1つの文書を、ユーザ自身の検索に対して適切な文書であった、と指定した場合にはそれを正解選択として受付け、ステップS1111にて新たな学習データとして学習データ記憶部122に登録する。この学習データは次回の学習モデル生成時に使われることになる。
【0064】
以上で、図11のフローチャートを用いて、クラスタリング及びドリルダウンから、適切な学習モデルを選択して、クラスタ内に出現した文書群を再ランク付けしてユーザに提示する処理についての説明を完了する。
<実施形態2>
他の実施形態について説明する。図8のフローチャートにおいては、ステップS802で同一の正解文書IDをもつ学習データを1つにまとめたが、この処理を実施しなくても良い。
【0065】
その場合には、同じ正解文書IDを持つ学習データが異なる学習データのグループに含まれるようになる。正解となる文書が同一のものであっても、そもそものユーザの検索意図が異なれば、検索条件の言語的特徴も異なり、同一クラスタに含まれる他の文書IDも全く異なる可能性もある。このような学習データを無理に1つにまとめて同一の学習データを生成するために用いる必要はなく、異なる学習モデルを生成するために用いることで、よりユーザの意図を反映した学習モデルが生成可能になるという効果を得ることができる。
<実施形態3>
図10の例では学習モデルの言語的特徴1003の設定データ1005を文書IDベクトル(総和)1006としているが、クラスタの言語的特徴を表すものであれば、いかなるものでもよいのはいうまでもない。
【0066】
例えば、対応する学習モデルを生成するために使用した学習モデルの”質問文”と、正解となる文書内のテキストから、特徴語(重要語など)を自然言語処理により取り出して、1005に格納しても良い。
【0067】
この場合、検索時にも検索ユーザが選択したクラスタに含まれる文書から特徴語を抽出して、1005と比較しても良い。
【0068】
また、単語そのものではなくても良い。周知の技術のモデルがある。”Tomas Mikolov,Kai Chen,and Jeffrey Dean,Efficient estimation of word representation in vector space,CoRR, Vol.abs/1301.3781,,2013”
この技術では、大量の文書内に出現する単語を例えば200次元の素性ベクトルとして表すように学習する。さらに文書の内容は、それら素性ベクトルの和として考えることができる。従って、学習モデルの生成に関与した質問文やクラスタに含まれた文書群の特徴を素性ベクトルとして表し、また検索時には、ユーザが選択したクラスタに含まれる文書群から素性ベクトルを生成して、類似度を比較することも可能である。
【0069】
これにより、単なる文書IDで構成される数値のベクトルの類似度や、特徴語の類似度だけではなく、より意味的に類似した学習モデルを選択することが可能になるという効果が得られる。
【0070】
クラスタに含まれる文書一覧を最適に再ランク付けするための学習モデルを選択するための方法であれば、いかなる素性を利用しても良いことはいうまでもない。
【0071】
また、本実施例では文書を対象としたが、データとして検索、分類、評価が可能な画像等、様々な種類のデータにも適用可能である。
【0072】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【0073】
以上、いくつかの実施形態について示したが、本発明は、例えば、システム、装置、方法、コンピュータプログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0074】
また、本発明におけるコンピュータプログラムは、図8図11に示すフローチャートの処理方法をコンピュータが実行可能なコンピュータプログラムであり、本発明の記憶媒体は図8図11の処理方法をコンピュータが実行可能なコンピュータプログラムが記憶されている。なお、本発明におけるコンピュータプログラムは図8図11の各装置の処理方法ごとのコンピュータプログラムであってもよい。
【0075】
以上のように、前述した実施形態の機能を実現するコンピュータプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたコンピュータプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0076】
この場合、記録媒体から読み出されたコンピュータプログラム自体が本発明の新規な機能を実現することになり、そのコンピュータプログラムを記憶した記録媒体は本発明を構成することになる。
【0077】
コンピュータプログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、DVD-ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【0078】
また、コンピュータが読み出したコンピュータプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのコンピュータプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0079】
さらに、記録媒体から読み出されたコンピュータプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのコンピュータプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0080】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にコンピュータプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのコンピュータプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0081】
さらに、本発明を達成するためのコンピュータプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0082】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0083】
100 情報処理装置
101 検索条件受付部
102 類似検索部
103 クラスタリング部
104 表示部
105 学習モデル選択部
106 再ランク付け部
107 学習データ登録部
108 学習モデル生成部
109 生成モデル決定部
121 文書記憶部
122 学習データ記憶部
123 学習モデル記憶部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11