(58)【調査した分野】(Int.Cl.,DB名)
前記選択手段は、確信度が1位であるカテゴリが制約条件として選択すべきでない旨の情報と対応付けて記憶されている場合には、制約条件とするカテゴリの選択を行わないことを特徴とする請求項4に記載の情報処理装置。
【発明を実施するための形態】
【0016】
<第1の実施形態>
以下、本発明の実施の形態を、図面を参照して詳細に説明する。まず
図1を参照して、本発明の実施形態に係る機能構成の一例について説明する。
【0017】
入力文字列受付部101は、テキスト文書を検索するための検索条件となる入力文字列を受け付ける。
【0018】
当該入力文字列は、本発明における情報処理装置がクライアント装置として機能するコンピュータである場合には、当該コンピュータを使用するユーザから直接入力を受け付ける機能部である。
【0019】
カテゴリ特定部102は、カテゴリ特定基準記憶部121に記憶された情報に基づき、入力文字列に基づく検索の対象とするカテゴリを絞り込むべく、当該入力文字列のカテゴリと、その確信度を特定する。
【0020】
確信度とは、入力された文字列が、対象のカテゴリに分類されるのがどの程度適切かを示す値であり、文字列とカテゴリの適合度を示すスコアである。確信度が高いほど、対象の文字列がそのカテゴリに属する可能性が高い。
【0021】
カテゴリの種類は後述するように複数ある。本発明において、カテゴリ特定部102は、1つのカテゴリを選択するのではなく、特定される全てのカテゴリの可能性を、確信度として表現する。
【0022】
但し、例えば文字列に対応するカテゴリの中で確信度が1位のカテゴリAが、確信度=30%であり、2番目に高いカテゴリBが29%であった場合、1位のカテゴリAのみで検索を行うと、ほぼ同じだけの確信度を持ったカテゴリBの中にあるかもしれない、ユーザにとって所望の検索結果を抽出できなくなってしまう可能性がある。
【0023】
カテゴリ特定基準とは、入力文字列がどのカテゴリに属するか(どのカテゴリにおいて入力文字列に基づく検索を行うべきか)の判定基準となる、入力文字列の属するカテゴリの特定基準情報である。当該カテゴリ特定基準の情報は例えば情報処理装置100の外部メモリに記憶されている。例えば、入力文字列における最も出現頻度が多い文言と同じ意味の文言が、当該入力文字列が属する(対応する)カテゴリであると判断するルールである。例えば、特開2003−141129号公報におけるプロファイルセットに相当する。当該カテゴリの特定技術は他の公知技術を用いてもよい。
【0024】
入力文字列に対するカテゴリの特定とカテゴリごとの確信度の算出についての詳細は
図5で説明するが、例えば、入力文字列(例えば質問分)とその入力文字列に対応するカテゴリを学習用のデータとして、機械学習を行っておき、その学習結果に基づいて新たに入力を受け付けた入力文字列に対応するカテゴリの特定と確信度の算出を行う。
【0025】
なお、他にルールなどで判定する方法、意味解析などを行って決定する方法など、入力文字列のカテゴリの判定をするためのあらゆる方法、技術を含むことは言うまでもない。その場合、ルールや意味解析などで使用する情報、あるいはプログラムとしてコーディングされている条件もカテゴリ特定基準記憶部121に記憶された情報としている。
【0026】
カテゴリ取得部103は、制約カテゴリ選択基準記憶部122に記憶された制約カテゴリ選択基準に記載された条件に基づき、類似のカテゴリ群を取得する。つまり、検索対象候補のカテゴリと類似のカテゴリを特定する。
【0027】
また、後述するいくつかの実施例のうちには、カテゴリ同士の類似性に基づいたカテゴリ群の取得をするものも記載する。その場合においては、類似カテゴリ記憶部123に記憶された類似カテゴリ(類似元、類似先のカテゴリをも含む)も参照する。
【0028】
最後に、文書検索部104は、前述の手順で取得された入力文字列とカテゴリ群に基づき、テキスト文書記憶部124に格納されたテキスト文書を検索する。
【0029】
検索は、テキスト文書自体ではなく、テキスト文書から予め生成された索引に対して実行するものであってもよい。テキスト文書の検索および索引を生成することに関する技術は、周知の技術であるため詳細は割愛する。
【0030】
図2は、本発明の実施形態に係わる情報処理装置のハードウェア構成の一例を示すブロック図である。
【0031】
図2に示すように、情報処理装置100、アプリケーションサーバ140は、システムバス204を介してCPU(Central Processing Unit)201、RAM(Random Access Memory)202、ROM(Read Only Memory)203、入力コントローラ205、ビデオコントローラ206、メモリコントローラ207、通信I/Fコントローラ208等が接続された構成を採る。 CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
【0032】
また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input/Output System)やOS(Operating System)や、各サーバあるいは各PCが実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。また、本発明を実施するために必要な情報が記憶されている。なお外部メモリはデータベースであってもよい。
【0033】
RAM202は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM203あるいは外部メモリ211からRAM202にロードし、ロードしたプログラムを実行することで各種動作を実現する。
【0034】
また、入力コントローラ205は、キーボード(KB)209や不図示のマウス等のポインティングデバイス等からの入力を制御する。
【0035】
ビデオコントローラ206は、ディスプレイ210等の表示器への表示を制御する。尚、表示器は液晶ディスプレイ等の表示器でもよい。これらは、必要に応じて管理者が使用する。
【0036】
メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する外部記憶装置(ハードディスク(HD))や、フレキシブルディスク(FD)、あるいは、PCMCIA(Personal Computer Memory Card International Association)カードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
【0037】
通信I/Fコントローラ208は、ネットワークを介して外部機器と接続・通信し、ネットワークでの通信制御処理を実行する。例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)を用いた通信等が可能である。
【0038】
尚、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上に表示することが可能である。また、CPU201は、ディスプレイ210上のマウスカーソル(図示しない)等によるユーザ指示を可能とする。
【0039】
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。
【0040】
図3は、本発明の実施形態に係る検索対象となるテキスト文書の一例を示す図である。301a〜301eが1つ1つのテキスト文書の例を表している。
【0041】
各テキスト文書は、フィールドと呼ばれるいくつかの部分に分かれている。例えば、
図3の文書は、「質問」(Qの部分)、「解答」(Aの部分)カテゴリの部分の3つのフィールドを含む。
【0042】
フィールドは必ずしも上記の3つの部分だけではない。例えば、形態素解析され形態素(あるいはN−グラムのトークン)等として検索対象となる部分、1つの文字列、数値、日付等がある。これらいずれかを、制約条件として指定することができる。
【0043】
本例では「質問」(Qの部分)、「解答」(Aの部分)を形態素(トークン)などの検索対象として使用する。また、「カテゴリ」を制約条件として使用する。
【0044】
つまり、カテゴリを使って
図3に示す各文書を検索結果として抽出するかどうかを決定する。この「カテゴリ」が、本願発明の請求項において意味するカテゴリである。以上が
図3の説明である。
【0045】
次に
図4を参照して、本発明の実施形態に係るカテゴリの一覧の一例について説明する。本実施の形態においては、例としてソフトウェア製品の「質問・回答」の情報を用いる。そこで本発明の説明においては、400に示すような、ソフトウェア製品でよく用いられる「質問・回答」に一般的に表れる(であろう)「仕様」、「機能」、「エラー表示」〜「ユーザ情報」などをカテゴリの例として説明する。以上が
図4の説明である。
【0046】
次に
図5を参照して、本発明の実施形態に係る入力文字列のカテゴリ判定の手法の一例について説明する。この図では、カテゴリ特定基準を、機械学習を用いて生成する方法を例に説明する。
【0047】
機械学習を用いてテキストのカテゴリを分類する技術は、例えば、IBM(登録商標)の人工知能であるWATSON(登録商標)において公知である(https://www.ibm.com/watson/developercloud/doc/nl-classifier/)。カテゴリの分類は、例えば
図5のイメージ図に示すように行われるものとする。
【0048】
図5の例では、最初にテキスト文書から、各文書に付与された「質問」(Q:431)と「カテゴリ」(432)の値を抽出している(430)。430は、
図4の学習データ430であり、情報処理装置100の外部メモリに記憶されている。
【0049】
質問は、必ずしも当該テキスト文書から抽出したものではなくともよい。例えば、当該テキスト文書中に記載された回答として、質問者が入力する可能性がある文章を別途作成しておき、別の文書として外部メモリに記憶しておいてもよい。
【0050】
また、本発明の説明例では、質問と回答が一体となったテキスト文書を使用しているが、一体となっていない場合もある。
【0051】
例えば人手により学習用の質問文章を作成し文書として外部メモリ211に保持しておいてもよい。いずれにしても
図5の説明においては、「質問」はすでに用意されているものとする。
【0052】
情報処理装置100は、「質問」の文章と「カテゴリ」をペアとしてカテゴリ特定基準学習プログラム501に入力し、その結果として本発明の処理が使用するためのカテゴリ特定基準を出力する。
【0053】
このカテゴリの特定(判定)・分類には、例えば特開2003−141129等に記載されている技術を用いる。これは周知の技術であるため詳細な説明は割愛する。カテゴリ特定基準をカテゴリ特定基準記憶部121に記憶させる。
【0054】
本発明の情報処理装置100の入力文字列受付部101が、検索条件となる入力文字列を受け付けると(502)、当該入力文字列をカテゴリ特定部102に受け渡して、前述のカテゴリ特定部102がカテゴリ特定基準記憶部121に記憶された情報に基づき、入力文字列の属する(例:「質問」の文字列に対応する)カテゴリの特定を行う。
【0055】
カテゴリ確信度リスト440は、入力文字列がいずれのカテゴリに属するものかをリストとして表現するものであって、リストの各要素は、特定されたカテゴリを表す文字列と、その確信度を表す数値(例では%を単位としている)から構成される。
【0056】
図の例では、502の入力文字列(「質問」のフィールドの文字列)が、「インストール」に関する質問である確信度が40%、「トラブル」に関する質問である確信度が30%等を結果として表している。以上が
図5の説明である。
【0057】
次に
図7を参照して、本発明の実施形態に係る制約カテゴリ選択基準の一例について説明する。
【0058】
制約カテゴリ選択基準700は、カテゴリ特定部102のカテゴリ確信度リスト440をカテゴリ取得部103がどのように利用するかという基準を定義する規則(ルール)である。
【0059】
すなわち、制約カテゴリ選択基準700に従って、入力文字列に対して特定されたカテゴリとその確信度のペアのリスト(カテゴリ確信度リスト440)を使用する。制約カテゴリ選択基準700は、制約カテゴリ選択基準記憶部122に記憶されている。
【0060】
制約カテゴリ選択基準700は、701〜704で構成される。名称701は、制約カテゴリ選択基準の名称であり、識別情報である。カテゴリ選択条件702は、どのカテゴリを、文書検索を行う対象のカテゴリとして絞り込む(選択する)かを示す。
【0061】
本発明の説明においては、制約カテゴリ選択基準700を使って選択(絞込み)した、検索の制約条件とするカテゴリを制約カテゴリと呼ぶ。
【0062】
最低基準703は、カテゴリ選択条件702で絞り込んだカテゴリが満たすべき最低基準である。追加のカテゴリ選択条件704は、最低基準703が満たされない場合に、更に追加で実行する処理であり、どのカテゴリを絞り込み後のカテゴリに追加するかを示す。
【0063】
つまり、702のカテゴリを絞り込み703の条件が満たされなかった場合に、703の条件を満たすまで、704の処理を繰り返して制約カテゴリを絞り込む。
【0064】
図7では、6つの制約カテゴリ選択基準の例を記載している(700a〜700g)。本発明の第1の実施形態においては、700aの制約カテゴリ選択基準が最初に実行する選択基準として指定されているものとする。
【0065】
なお、いずれの制約カテゴリ選択基準を用いて入力文字列に対応するカテゴリを選択するかは任意に指定可能としてもよい。例えば700a〜700fに示すすべての制約カテゴリ選択基準が制約カテゴリ選択基準記憶部122に記憶されていて、設定ファイル(不図示)やユーザの選択(不図示のユーザインタフェース)などにより、いずれの制約カテゴリ選択基準700を最初に使用するか特定されているものとする。
【0066】
また、追加のカテゴリ選択条件704に、他の制約カテゴリ選択基準の名称701を記載して使用することも可能である。その場合には、その制約カテゴリ選択基準700も記憶されている必要がある。詳しくは後述する。
【0067】
次に
図9を参照して、本発明の実施形態に係る検索処理について説明する。
図9のフローチャートの各ステップは、情報処理装置100上のCPU201で実行される。
【0068】
ステップS901においては、入力文字列受付部101が、後述する文書検索部104でテキスト文書を検索するための条件として、入力文字列を受け付ける。例えば、不図示の表示画面において、ユーザ操作による「インストールの途中でメッセージが出て、インストールが正常に動作しない」の文字列の入力を受け付ける。
【0069】
ステップS902においては、ステップS901で受け付けた入力文字列が、いずれのカテゴリに分類されるかを判定・特定する。
【0070】
具体的には、カテゴリ特定部102が、カテゴリ特定基準記憶部121に記憶されたカテゴリ特定基準を用いて、入力文字列を分類するカテゴリとそのカテゴリに対する分類の確信度のペアを、複数個、特定結果として取得し、RAM202上のカテゴリ確信度リスト440に格納する。
【0071】
また、例えばステップS902のタイミングで、カテゴリ確信度リスト440の中の1つとして特定された各カテゴリの類似度を特定し、類似カテゴリリストとしてRAM202上に記憶する。
図8の800a〜800c(総称を類似カテゴリリスト800という)は、類似カテゴリリストの一例である。
【0072】
本発明の実施形態の説明においては、800cを例として説明するが、類似カテゴリリストは800aや800bのような構成で生成・記憶するようにしてもよい。
【0073】
類似カテゴリリスト800aは、どのカテゴリ(類似元カテゴリ801)が、どのカテゴリ(類似先カテゴリ802)に類似しているかを示す。類似先カテゴリ802の欄の括弧内の数値は、括弧の直前に記載されたカテゴリと類似元カテゴリ801との類似度である。
【0074】
類似カテゴリリスト800bは、類似カテゴリリスト800の別の記憶形態の例を示す。類似カテゴリリスト800bにおいては、類似元カテゴリと類似先カテゴリの区別がない。
【0075】
類似カテゴリリスト800cは、どのカテゴリ(類似元カテゴリ801)が、どのカテゴリ(類似先カテゴリまたは制約解除804)に類似しているかを示す。なお、類似先カテゴリまたは制約解除804の欄に制約解除の値が記憶されている場合、制約カテゴリリスト410(
図4)に記憶されたカテゴリによる制約を解除して検索を行う。詳しくは後述する。
【0076】
制約カテゴリリストとは、制約条件として使用するカテゴリの一覧であり、情報処理装置100のRAM上に記憶される。情報処理装置100は、後のステップS904において、制約カテゴリリスト410に記憶されているカテゴリの文書を対象に、入力文字列を用いた検索を行う。
【0077】
800a又は800cを用いて類似カテゴリを特定・取得する場合には、対象のカテゴリ(例えば、カテゴリ特定部102のカテゴリ確信度リスト440で確信度が1位となったカテゴリ)を類似元カテゴリ801の欄で検索し、801に対応する802又は804に記載されたカテゴリ群を、対象のカテゴリに類似するカテゴリとして特定する。例えば確信度1位のカテゴリが「トラブル」であれば、1行目より「インストール」、「アンインストール」などのカテゴリが類似カテゴリ群に含まれることになる。
【0078】
また、800bを用いて類似カテゴリを特定・取得する場合には、対象のカテゴリと同じ803のデータ行に記憶されている他のカテゴリ群を類似カテゴリとして特定する。例えば「トラブル」が類似カテゴリ803のいずれに含まれるかを検索し、「トラベル」を含む行に含まれるカテゴリ同士を類似のカテゴリとみなす。
【0079】
類似のカテゴリの特定方法について、
図6を参照して説明する。
図6は、本発明の実施形態に係るカテゴリ間の類似性の一例を説明するための図である。
【0080】
図6においては、円の中にある文字列がカテゴリの名称、線(実線および点線)が、カテゴリ間の類似性を示している。便宜上、カテゴリ間の「類似カテゴリネットワーク」と呼ぶことにする。
【0081】
例えば、カテゴリとして「トラブル」に着目すると、実線で結合された「動作環境」、「機能」、「アンインストール」、「インストール」、「エラー表示」というカテゴリと「質問として入力される文字列」の傾向が似ている、ことになる。
【0082】
すなわち「類似ネットワーク」における類似性は、カテゴリの名称そのものや、回答の内容、回答が表す技術的な実体が似ているか否かはここでは関係ない。
【0083】
あくまで、「質問として入力される文字列」が、
図5のカテゴリ特定基準学習プラム501で学習され、カテゴリ特定部102で判定された結果、相互に誤って判定される傾向がある、という意味で似ているということである。
【0084】
類似ネットワークは、類似するカテゴリ間において「類似度」を指定するものであってもよい。また、類似ネットワーク上で隣り合った(直接、線で結合された)カテゴリ間のみに類似度を記載しているが、例えば隣り合っていないカテゴリ間の類似度を定義してもよい。
【0085】
あるいは、例えば「トラブル」と「仕様」のように、「機能」という別のカテゴリを介して接続している場合に、2つの類似度に基づき、類似度が計算されるものであってもよい。
【0086】
例えば「トラブル」と「機能」は「0.8」、「機能」と「仕様」は「0.9」であるので、「0.8×0.9=0.72」が「トラブル」と「仕様」の類似度である、というものである。もちろん、この計算方法に限定するものではなくあくまで一例である。
【0087】
更に、全てのカテゴリが類似ネットワーク上で接続していなくともよい。
図6の例では「ユーザ情報」と「ライセンス情報」の2つのカテゴリは、他のカテゴリとは接続していない。すなわち、2つのカテゴリのテキスト文書を検索するための質問文と、他のカテゴリのための質問文が類似する確率はほとんどないことになる。
【0088】
もちろん、実際にはゼロではなく、ごく非常に低い確率である場合もある。ネットワークを分割するかどうかは、あくまで便宜上のものであり、一例に過ぎないことは言うまでもない。
【0089】
当該カテゴリ同士の類似度の算出については、従来技術で代替可能である。以上が
図6の説明である。
【0090】
図9の説明に戻る。ステップS903においては、カテゴリ取得部103が、制約カテゴリ選択基準記憶部122から、制約カテゴリ選択基準を1つ読み込み、文書の検索を行うカテゴリである制約カテゴリの選択処理を行う。S903の処理の詳細は
図10の説明で後述する。
【0091】
なお、この時点で
図7のいずれの制約カテゴリ選択基準を読み込むかはあらかじめ、設定やユーザの選択により決定しているものとする。
【0092】
第1の実施形態においては、
図7の700aを使って制約カテゴリの選択(絞込み)を行う。詳細は
図11の説明で後述する。
【0093】
ここで
図10を参照して、本発明の実施形態に係るカテゴリ取得部の処理について説明する。
図10のフローチャートの各ステップは、情報処理装置100上のCPU201で実行される。
【0094】
ステップS1001において、カテゴリ特定部102により得られたカテゴリ確信度リスト440から、確信度が1位であるカテゴリを取得する。さらに、当該カテゴリを用いた制約条件の解除をするか判定する。
【0095】
具体的には、類似カテゴリリスト912(具体的には、
図8における800c)を参照して、制約条件の解除を行うか否かを判定する。類似先カテゴリまたは制約解除804の欄に「制約解除」が記載されている場合、制約条件の解除を行う。類似元カテゴリ801に類似する、類似先のカテゴリの名称が記載されている場合は、制約条件の解除は行わない。
【0096】
制約条件の解除は、例えばカテゴリによる制約をした方が検索の精度を向上できる場合に有用である。
【0097】
例えば、確信度1位のカテゴリが「トラブル」であるとする。また例えば「トラブル」は、あらゆる項目(インストール、機能、バージョンアップ)と関連(類似)しており、カテゴリ「トラブル」に基づいて、検索対象に対する制約条件を付与すると、却って誤った制約が発生し検索の精度を悪化させることが分かっているとする。
【0098】
その場合には、「制約解除」として、後続する処理である検索に対して、制約を行わない方が、検索精度が高まる可能性が高い。
【0099】
本実施形態においては、類似先のカテゴリが所定数を超える場合に、情報処理装置100のCPU201が、自動で、804に「制約解除」を設定するものとする。当該所定数の値は、不図示の設定画面において、ユーザ操作により任意に設定変更可能であり、情報処理装置100の外部メモリに予め記憶されているものとする。
【0100】
例えば確信度が1位のカテゴリが「トラブル」である場合、カテゴリ「トラブル」について、類似カテゴリリストで「制約解除」と指定されているか否かを判定する。ステップS1001において、「制約解除の指示がない」(804に「制約解除」の記載がない)と判定された場合には、処理をステップS1002に進める。「制約解除の指示がある」と判定された場合には、処理をステップS1008に進める。
【0101】
ステップS1008においては、制約カテゴリリスト410に記憶されたカテゴリ群の情報をすべて削除する(リセット)。その後、
図10のフローチャートの処理を終了し、
図9のステップS904に処理を進める。つまり、既に制約カテゴリリスト410に登録されているカテゴリ群をリセットすることで、カテゴリによる制約なく、ステップS904における文書の検索を行う。
【0102】
一方、ステップS1002においては、以降でカテゴリの確信度を合計するために使用する記憶変数を、ゼロにリセットする。
【0103】
ステップ1003においては、制約カテゴリ選択基準記憶部122から、指定された制約カテゴリ選択基準700を読み込み(第1の実施形態においては700aを読み込み)、カテゴリ選択条件702を取得する。
【0104】
ステップS1004においては、カテゴリ選択条件702に従い、制約条件とするカテゴリ群を取得する処理を行う。取得したカテゴリは、制約カテゴリリスト410に追加し後述の文書検索の処理で利用する。
【0105】
制約カテゴリリストとは、制約条件として使用するカテゴリの一覧であり、情報処理装置100のRAM上に記憶される。つまり、情報処理装置100は、後のステップS904において、制約カテゴリリストに記憶されているカテゴリの文書を対象に、入力文字列を用いた検索を行うものである。
【0106】
700aを用いたステップS1004の処理の詳細は、
図11の説明で後述する。
【0107】
ここで
図11を参照して、本発明の第1の実施形態における、制約カテゴリの選択処理について説明する。
図11のフローチャートの各ステップは、情報処理装置100上のCPU201で実行される。
【0108】
700aの702に従って、ステップS1101からステップS1103は、制約条件とするカテゴリの確信度の合計値が90%以上になるまで繰り返し実行する。
【0109】
具体的には、カテゴリ特定部102により特定されたカテゴリを、確信度が高いものから順に取得して処理を適用し、確信度合計条件(
図7の702bの例では90%)になるまで処理を繰り返すものである。
【0110】
ステップS1101においては、カテゴリ確信度リスト440の中の未処理のカテゴリのうち、1つのデータに着目する(例えば、RAM上に該当のデータ列を読み出す)。そして、着目したカテゴリの確信度をカテゴリ確信度リスト440(特定結果)から取得する。
【0111】
ステップS1102においては、ステップS1101で取得した確信度を、確信度を合計して記憶する合計値記憶部(合計値記憶テーブル420)に、既に記憶されている値に加算して記憶させる。
【0112】
ステップS1103においては、着目中のカテゴリを後のテキスト文書検索の際に、カテゴリに対する制約情報として使用するために、制約カテゴリリスト410に記憶させる。
【0113】
情報処理装置100のCPU201は、合計値記憶テーブル420の確信度の合計が90%以上となった場合に、ステップS1001〜S1003の処理を終了し、制約カテゴリリストに記憶されているカテゴリの一覧情報を一端確定してRAM202上に出力して記憶し、
図11の処理を終了する。
【0114】
図10の説明に戻る。ステップS1005においては、現在処理しているカテゴリ選択条件が、カテゴリ選択条件702で指定された(最初の)条件か、追加のカテゴリ選択条件704で指定された追加の条件かを判定する。
【0115】
カテゴリ選択条件702で指定された条件であれば、処理をステップS1006に進める。追加の処理であれば、これ以上処理する情報がないので、
図10のワークフローの処理を終了する。
【0116】
ステップS1006においては、カテゴリ選択の手続きを繰り返すための最低条件(最低基準703)が満たされているか否かを判定する。
【0117】
例えば、現在選択されている制約カテゴリ選択基準700に記載された最低基準703が満たされているかを判定する。
【0118】
最低基準703が満たされている場合(YESの場合)には、本フローチャートの処理を終了する。すなわち、文書検索時のカテゴリによる制約条件を決定し、決定した制約条件としての制約カテゴリリストをRAM202上に出力して記憶する。最低基準703が満たされていなければ(NOの場合)、ステップS1007に進む。
【0119】
ステップS1007においては、最低基準703が満たされていない場合の、次の指示(処理)を追加のカテゴリ選択条件704から読み出して特定し、特定された条件が「制約をリセット」か、別の制約カテゴリ選択基準700の名称か、その他の条件か判定する。
【0120】
追加のカテゴリ選択条件704に「制約をリセット」する旨の指示がある場合には、制約リスト913にそれまでに格納したカテゴリ群をリセットして、
図10のフローチャートの処理を終了する。
【0121】
追加のカテゴリ選択条件704に別の制約カテゴリ選択基準700の名称が記載されている場合、既に制約カテゴリリストに記憶されているカテゴリに追加して、当該追加のカテゴリ選択条件704に記載されている名称の制約カテゴリ選択基準700によって選択されるカテゴリを制約カテゴリリストに記憶すべく、処理をステップS1003に戻し、704で指定された制約カテゴリ選択基準700を取得して、ステップS1004以下の処理を適用する。
【0122】
追加のカテゴリ選択条件704に条件そのものが記載されていた場合、既に制約カテゴリリストに記憶されているカテゴリに追加して、当該条件を用いて選択したカテゴリを制約カテゴリリストに記憶すべく、当該条件を用いたカテゴリ選択をステップS1004でえ実行し、処理をステップS1005に移行する。
【0123】
なお、
図7の700aにおいては、最低基準703が記載されていないため、条件なしと判断し、条件が満たされているものとして
図10の処理を終了する。以上が
図10の説明である。
【0124】
図9の説明に戻る。ステップS904においては、文書検索部104が、前述の入力文字列を検索条件として、テキスト文書記憶部124から条件に合致するテキスト文書の一覧を取得する。
【0125】
その際、制約カテゴリリスト410にデータが存在すれば(空のリストでなければ)、そのカテゴリを制約条件として利用する。つまり、制約カテゴリリストに記憶されているカテゴリの文書を対象に、入力文字列を用いた検索を行い、検索にヒットした文書一覧を、検索結果としてRAM202上に出力して記憶する。
【0126】
また、不図示の表示画面に当該検索結果の文書一覧を表示する。以上で、
図9のフローチャートによる処理の流れの説明を完了する。
【0127】
以上、本発明の第1の実施形態について説明した。本発明の第1の実施形態によれば、複数のカテゴリの確信度の高さの情報を用いて、検索対象のカテゴリとして複数のカテゴリを容易に特定可能な仕組みを提供することができる。
【0128】
そのため、所定の数のカテゴリを検索対象とするカテゴリとして絞り込む、又は、単にあるカテゴリに類似しているカテゴリを検索対象として追加していくのに比べて、より確信度を重視した検索対象の絞込みが可能となる。
【0129】
例えば、文書検索部104での絞り込みが、質問文が高い確率で分類されたカテゴリのものとなるので、精度の高い検索を実行するという効果を得ることができる。
【0130】
なお、第1の実施形態においては、700aの制約カテゴリ選択基準において、カテゴリ選択条件702は「確信度上位から確信度合計90%になるまで」とし、最低基準703と追加のカテゴリ選択条件704は設定されていないものとしたが、例えば、カテゴリ選択条件702は「確信度がトップのカテゴリ」とし、最低基準703を「選択条件で選択されたカテゴリの確信度合計が90%以上」とし、追加のカテゴリ選択条件704を「確信度高いものから合計90%になるまで追加」として、
図10の処理を実行することで、同じ発明及びその効果を享受可能である。
【0131】
また、700gに示すように、上述した最低基準703及び追加のカテゴリ選択条件704を設定しておき、
図10の処理を実行することで、検索対象として更なるカテゴリの特定処理を行うことが可能である。
【0132】
例えば、先に選択したカテゴリの中で類似のカテゴリで含まれていないものがあれば、
図8の類似カテゴリ記憶部123に基づき、不足している類似カテゴリを追加する。
【0133】
これにより、質問文の類似性が高いカテゴリのテキスト文書に対して検索漏れを防ぐことにより精度を向上させるという効果を得ることができる。
【0134】
なお、上述の実施形態においては、「制約解除」に関する指示を類似カテゴリリスト912(
図8の800cに例示)に記載した例として説明しているが、類似カテゴリリスト912とは別に、制約解除指示に関する記憶部を備え、その情報を確認するよう実装してもよいことはいうまでもない。
【0135】
<第2の実施形態>
第2の実施形態においては、
図10の処理において、
図7の700bを使って制約カテゴリの選択(絞込み)を行う。詳細は
図12の説明で後述する。
【0136】
ここで
図12を参照して、本発明の第2の実施形態における、制約カテゴリの選択処理について説明する。
図12のフローチャートの各ステップは、情報処理装置100上のCPU201で実行される。なお、上述の実施形態で説明した処理と共通の処理については説明を省略する。
【0137】
情報処理装置100は、ステップS1004において、
図11の処理の代わりに
図12の処理を実行する。ステップS1201において、情報処理装置100は、カテゴリ特定部102によって特定されたカテゴリであるカテゴリ確信度リスト440(
図4)に含まれているカテゴリのうち、確信度がトップのカテゴリを選択(カテゴリ確信度リスト911の確信度が1位であるカテゴリに着目)する。そして、当該確信度が1位のカテゴリを制約カテゴリリスト410に記憶する。
【0138】
制約カテゴリリスト410は、後述する
図9のステップS904において、入力文字列に従って文書の検索を行うカテゴリである。
【0139】
ステップS1202においては、確信度が1位であるカテゴリと、類似のカテゴリ群を取得する。具体的には、
図8の800から、1位のカテゴリが所属するグループを取得してRAM上に読み出す。
図8の情報は既に情報処理装置100の外部メモリに記憶されている。
【0140】
以下、ステップS1202で取得した類似のカテゴリリストの中の全カテゴリに対して、ステップS1203以下の処理を繰り返すことで、確信度が1位のカテゴリと、そのカテゴリに類似するカテゴリの確信度の合計値を算出する。
【0141】
ステップS1203においては、ステップS1202で取得した類似カテゴリリストの中の未処理のカテゴリを1つ取得する。
【0142】
ステップS1204においては、確信度が1位のカテゴリの確信度と、ステップS1203で一度取得したカテゴリの確信度を合計して記憶する合計値記憶部(合計値記憶テーブル420)に、ステップS1204で取得したカテゴリの確信度の値を加算して記憶させる。
【0143】
ステップS1205においては、ステップS1203で取得したカテゴリを、後のテキスト文書検索の際にカテゴリに対する制約条件として使用するために、制約カテゴリリスト410に記憶させる。以上で
図12におけるフローチャートの説明を終了する。
【0144】
なお、類似のカテゴリの特定にあたっては、
図6のように類似カテゴリがネットワーク状になっているデータ構造でもよく、その場合、リンクが張られているすべてのカテゴリを選んでも良いし、隣り合ったものだけを選んでも良いし、線(実線、点線)に記載された類似度の数値に従って、何度も辿るにつれてその値を乗じながら、一定の数値を下回るまで、カテゴリ群に追加する、等としても良い。これは、設計事項であり、カテゴリ群の決定方法は、いずれの方法でも良い。
【0145】
情報処理装置100のCPU201は、
図10のステップS1005において、700bの最低基準703bが満たされているか判定し、満たされていない場合は処理をステップS1007に移行する。
【0146】
すなわち、取得した制約カテゴリの確信度の合計が90%以上でなければ処理をステップS1007に移行し、704bを参照して処理をステップS1004に戻し、確信度が1位のカテゴリとそのカテゴリに類似しているカテゴリ以外のカテゴリを対象として、既に制約カテゴリリストに記憶されているカテゴリの確信度と合わせて、確信度の合計が90%以上になるまで、
図11に記載の処理を繰り返し実行する。以上が
図12の説明である。
【0147】
以上、第2の実施形態について説明した。第2の実施形態によれば、類似カテゴリと確信度を加味して、検索対象のカテゴリとして複数のカテゴリを容易に特定可能な仕組みを提供することができる。
【0148】
第2の実施形態によれば、質問文が類似している、と想定される全てのカテゴリに絞り込んで文書検索部104で検索することにより、適合性の高い検索を実現するという効果を得ることができる。
【0149】
また、最低基準が満たされていない場合には、質問が類似のカテゴリ全てを集めても確信度が低ければ、そもそも類似性の判定の精度が低いのではないか、という考えの下、追加のカテゴリ選択条件に応じて更にカテゴリを制約条件に追加することができる。
【0150】
第2の実施形態においては、確信度の高いカテゴリから、(まだ、カテゴリ群に含まれていないものを)制約カテゴリリストに追加していく。従って、類似性判定の精度が悪い場合であっても、もれなく検索することができ、再現性の高い検索を実現するという効果を得ることができる。
【0151】
<第3の実施形態>
第3の実施形態では、
図10の処理において、
図7の700cを使って制約カテゴリの選択(絞込み)を行う。詳細は
図13の説明で後述する。なお、上述の実施形態で説明した処理と共通の処理については説明を省略する。
【0152】
図13は、本発明の実施形態に係る確信度上位のカテゴリを優先するカテゴリ取得処理のフローチャートの一例を示す図である。
図13のフローチャートの各ステップは、情報処理装置100上のCPU201で実行される。
【0153】
情報処理装置100は、ステップS1004において、
図11又は
図12の処理の代わりに
図13の処理を実行する。
【0154】
ステップS1301からステップS1303は、確信度が1位であるカテゴリから降順に、指定の数の、指定の順位のカテゴリまで取得する繰り返し処理である。
【0155】
ステップS1302においては、名称701bに「上位カテゴリ」とある制約カテゴリ選択基準700cのカテゴリ選択条件702cに従って、カテゴリ確信度リスト440における、指定の順位までのカテゴリの中から、未処理の、最上位のカテゴリの1つに着目する。
【0156】
ステップS1303においては、着目したカテゴリの確信度を合計して記憶する記憶部(合計値記憶テーブル420)に、既に記憶されている値に加算して記憶させる。
【0157】
ステップS1304においては、着目中のカテゴリを後のテキスト文書検索の際に、カテゴリに対する制約情報として使用するために、制約カテゴリリスト410に記憶させる。以上で
図13におけるフローチャートの説明を終了する。
【0158】
カテゴリ特定部102の精度が非常に高く、またカテゴリの数が多い場合には、絞り込みのカテゴリ数を少ない数に固定することで、文書検索部104での絞り込みの負荷を軽くすることができる。
【0159】
ステップS1005以降の処理については、第2の実施形態の発明と同じように、先に選択したカテゴリの確信度合計が一定基準を満たしていない場合には、確信度合計が90%になるまでさらにカテゴリを追加する。
【0160】
当初想定したカテゴリ特定部102のカテゴリの特定精度が高い、という場合に、想定に反し低いときでも対応できることで、安心して当該定義を使用することが可能となる。
【0161】
以上、本発明の第3の実施形態について説明した。本発明の第3の実施形態によれば、カテゴリの数の指定及び指定されたカテゴリの確信度を加味し、検索対象のカテゴリとして複数のカテゴリを容易に特定可能な仕組みを提供することができる。
【0162】
<第4の実施形態>
第4の実施形態では、
図10の処理において、
図7の700dを使って制約カテゴリの選択(絞込み)を行う。詳細は
図18の説明で後述する。なお、上述の実施形態で説明した処理と共通の処理については説明を省略する。
【0163】
図18は、本発明の実施形態に係る確信度の値が指定条件を満たすカテゴリの取得処理のフローチャートの一例を示す図である。
【0164】
情報処理装置100は、ステップS1004において、
図11や
図12、
図13の処理の代わりに
図18の処理を実行する。
図18のフローチャートの各ステップは、情報処理装置100上のCPU201で実行される。
【0165】
なお、「確信度の値が指定条件を満たす」というのは、例えば
図7の制約カテゴリ選択基準700dに記載されているような、「確信度が0ではないもの」、「確信度が5%以上あるもの」など、任意の条件を満たすものをいう。700dによれば、カテゴリ確信度リスト911において、確信度が0でない限り、そのカテゴリは制約条件として取得されることになる。
【0166】
ステップS1801からステップS1804は、カテゴリ特定部102の特定結果であるカテゴリ確信度リスト440に含まれているカテゴリのうち、確信度が指定条件を満たしているもの(
図7の702dの例では、確信度が0%ではないもの)を制約カテゴリリストに追加する処理を繰り返すものである。
【0167】
ステップS1801においては、着目したカテゴリの確信度をカテゴリ確信度リスト911から取得する。
【0168】
ステップS1802においては、着目したカテゴリの確信度が、指定条件を満たすか否かを判定する。
【0169】
本例では、0%か、0%を超える確信度を有するかを判定する。指定条件を満たさない(本例では0%の場合:NOの場合)には、着目中のカテゴリに対する処理を完了し、次のカテゴリに着目する。指定条件を満たす場合(本例では0%を超える確信度を有する場合:YESの場合)には、ステップS1803に進む。
【0170】
ステップS1803においては、ステップS1802で取得した確信度を、確信度を合計して記憶する記憶部(合計値記憶テーブル420)に、既に記憶されている値に加算して記憶させる。
【0171】
ステップS1804においては、着目中のカテゴリを後のテキスト文書検索の際に、カテゴリに対する制約情報として使用するために、制約カテゴリリスト410に記憶させる。以上で
図18におけるフローチャートの説明を終了する。
【0172】
詳細の説明をしないが、さらにカテゴリ選択条件702には、様々な条件を記載することができる。例えば、前述の説明では取得する条件を記載していたが、取得しない条件「確信度が2%未満のカテゴリは取得しない」と記載することも考えられる。
【0173】
もちろん、これは「確信度が2%以上のカテゴリをすべて取得する」と同じ条件になる。また、
図6の類似カテゴリのネットワークを2回辿る、あるいは、カテゴリを接続する線上の類似度を最初のカテゴリから順に乗じたものを、離れたカテゴリの類似度と見なし、類似度が0.6以下になるまでネットワークを辿り、その範囲ですべてのカテゴリを取得する、ということも可能である。これらすべてを本発明の実施例として含む。
【0174】
その他、最低基準703、追加のカテゴリ選択条件704に記載できる定義も同様に、プログラムとして実装、あるいはプログラムが解釈可能な形式での実装であれば、すべて本発明の実施例の範囲に含む。以上第4の実施形態について説明した。
【0175】
<第5の実施形態>
第5の実施形態では、
図10の処理において、
図7の700eを使って制約カテゴリの選択(絞込み)を行う。なお、上述の実施形態で説明した処理と共通の処理については説明を省略する。
【0176】
図7の制約カテゴリ選択基準700eは、カテゴリ選択条件702、最低基準703は、制約カテゴリ選択基準700cと同じである。ただし、追加のカテゴリ選択条件704cが、条件を明記していたのに対し、追加のカテゴリ選択条件704dの場合は、他の制約カテゴリ選択基準700の名称が記載されている。
【0177】
つまり、最低基準703eが満たされない場合、既に定義された他の制約カテゴリ選択基準700b(確信度指定)を呼び出して、制約カテゴリの選択を実行するものである。
【0178】
なお、例えば呼び出した確信度指定でも最低基準703bを満たさず、その追加のカテゴリ選択条件にも他の制約カテゴリ選択基準700の名称が記載されていれば、いつまでも制約カテゴリの追加選択処理が繰り返してしまうという可能性があるが、例えば、追加のカテゴリ選択条件704による繰り返し処理の制限回数を予め記憶しておくことで、処理回数を制限することができる。
【0179】
あるいは、所定回数以上繰り返した場合には、カテゴリを絞り込んで文書検索部104を実行するのは不適切であると判断して、カテゴリによる絞り込みをしない、と判断することも可能である。
【0180】
<第6の実施形態>
第6の実施形態では、
図10の処理において、
図7の700fを使って制約カテゴリの選択(絞込み)を行う。なお、上述の実施形態で説明した処理と共通の処理については説明を省略する。
【0181】
制約カテゴリ選択基準700fは、カテゴリ選択条件702、最低基準703は、制約カテゴリ選択基準700bと同じである。ただし、追加のカテゴリ選択条件704bと704fが異なる。
【0182】
704fに記載の「制約をリセット」は、最低基準703fを満たさない場合、文書検索時にカテゴリに対する制約条件をリセットする。すなわち、カテゴリを選択するための他の処理を実行するのではなく、文書検索時に全てのカテゴリのテキスト文書を対象として検索を実行する、という指定である。
【0183】
よって、最低基準703fが満たされない場合に、例えば、それ以上制約カテゴリリストに含まれる制約カテゴリを増やし、それらのカテゴリ群に基づいて検索時の制約条件とするよりも、制約をなくしてテキスト文書記憶部124に記憶された全てのテキスト文書を検索対象とした方が良いと判断の下、制約条件を解除するルールである。以上、本発明の第6の実施形態について説明した。
【0184】
以上説明した通り、本発明によれば、複数のカテゴリの確信度の高さの情報を用いて、検索対象のカテゴリとして複数のカテゴリを容易に特定可能な仕組みを提供することができる。
【0185】
<第7の実施形態>
なお、検索結果の抽出や出力の優先順位は、入力文字列である質問文と文書自体とから特定されるスコア(文書がどの程度検索結果として妥当かを示す各文書のスコア)によって決定することができる。
【0186】
しかし、質問文の属するカテゴリの確信度の高さや順位と、質問文自体と文書の直接的な関わりで特定されるスコアの高さ、順位とは必ずしも一致しない。
【0187】
より的確に検索結果を出力するために、確信度の情報を用いて、より柔軟なスコアリング(ランキング)をして、検索結果をユーザに提示することが必要となる。
【0188】
クエリから判定されるカテゴリの選択を柔軟に行うことで、検索精度における再現性(正しい答えが検索結果に含まれる割合)を向上させ、誤った回答を含んでも、さらに質問文が何に関する質問文であるか、という分析の結果も加味してスコアリング調整をすることで、もっともらしい回答を上位にするための検索およびスコアリング技術を提供することが望まれている。
【0189】
第7の実施形態においては、質問文のカテゴリに対する確信度による検索スコアの重み付を行うことにより、単なる検索のスコアだけではなく、質問文がいかなるカテゴリに属するかという特定結果の確からしさも加味した再スコアリングを行う。
【0190】
以下、
図14〜
図15を参照して、本発明の第7の実施形態について説明する。なお、上述した実施形態に記載の処理と同一の処理については記載を省略する。
【0191】
図14は、本発明の実施形態に係るカテゴリの確信度に基づいて、検索結果のテキスト文書のスコアを再計算した結果のイメージを示すための図である。入力文字列502(質問文)と、そのカテゴリ確信度リスト440とは、
図4と同じものを再度記載している。
【0192】
検索結果1401及び検索結果1402は、文書検索の結果のデータであり、検索結果の各文書と、その文書の属するカテゴリ、その文書の質問文に対するスコアを対応付けた情報である。
【0193】
検索結果1401は、文書検索部104により検索した結果であり、
図15の説明で後述するカテゴリの確信度による重み付の調整をしていない状態である。検索結果の1位は、カテゴリ「トラブル」で、スコア「80」である。2位は、カテ1ゴリ「インストール」で、スコア「75」である。
【0194】
第7の実施形態においては、カテゴリ確信度リスト440に提示されたカテゴリとその重み付に応じて、例えば「計算例」1403で示された式で1401のスコアを調整する。
【0195】
検索結果1402は、当該カテゴリによる重み付の調整をした検索結果である。
【0196】
ここでは、1401の検索のスコアに対して、そのテキスト文書が属するカテゴリの確信度をカテゴリ確信度リスト440から取得し、乗じている。
【0197】
例では、1401で1位である「トラブル」(スコア80)が確信度(30%)により24となる。同じく1401で2位である「インストール」の2件(スコア75と70)が、確信度(40%)により、30、28となり、カテゴリの確信度で調整した後のスコアは、順位が入れ替わることになる。順位が入れ替わった様子が、1402に表されている。
【0198】
すなわち質問のカテゴリに対する確信度による検索スコアの重み付を行うことにより、単なる検索のスコアだけではなく、質問文がいかなるカテゴリに属するかという特定結果の確からしさもスコアに影響を及ぼすことにより、検索結果に対してより的確なスコアリング(ランキング)をして、ユーザに提示するという効果を得ることができる。
【0199】
図15を参照して、本発明の実施形態に係るカテゴリの確信度に基づいて、検索結果のテキスト文書のスコアを再計算する処理について説明する。つまり
図14で説明した内容の詳細を説明する。
図15のフローチャートの各ステップは、情報処理装置100上のCPU201で、ステップS904の代わりに実行される。
【0200】
ステップS1501においては、テキスト文書記憶部124を検索して検索条件を満たしたテキスト文書群を取得する。
【0201】
この検索に際して、前述の制約カテゴリリスト410にカテゴリ(1または複数)の記載があれば、それらのカテゴリを含むテキスト文書に制限して検索を行う。
【0202】
また、例えば特開2008−225957号公報に開示されている従来技術を用いて、各文書に対するスコアリングを行う。
【0203】
以下、ステップS1502〜S1506の処理を、ステップS1501で取得した検索結果(例えば
図14の1401)のテキスト文書群に対して繰り返し実行する。
【0204】
ステップS1502においては、取得したテキスト文書群の中から処理するテキスト文書の1つに着目する。
【0205】
ステップS1503においては、着目中のテキスト文書から、カテゴリフィールドで指定されたカテゴリ情報と、ステップS1501で付与された検索結果のスコアを取得する。例えば、
図14の1401の「カテゴリ」と「スコア」を取得する。
【0206】
例えば、1401の1行目の文書に着目し、そのカテゴリであるトラブルと、その文書のスコアである80の値を取得する。
【0207】
ステップS1504においては、着目中のテキスト文書から取得したカテゴリ情報の確信度をカテゴリ確信度リスト911から取得する。例えば、取得したカテゴリ=トラブルの確信度の値である30%を、カテゴリ確信度リスト440から取得する。
【0208】
ステップS1505においては、着目中のテキスト文書のスコア(S1504で取得)と、カテゴリの確信度(S1505で取得)に基づき、着目中のテキスト文書のスコアを計算し直す。
【0209】
第7の実施形態においては、取得した文書のスコアに対して、その文書が属するカテゴリの確信度を乗じて、スコアを再計算する。
【0210】
つまり、単なる検索のスコアだけではなく、質問文がいかなるカテゴリに属するかという特定結果の確からしさも加味した再スコアリングを行う。
【0211】
S1506においては、S1506で計算したスコアを、着目中のテキスト文書のスコアとして再設定する。
【0212】
情報処理装置100のCPU201は、全ての検索結果の文書に対してステップS1502〜S1506の処理を適用した後、当該処理を適用後の、再スコアリングがされた検索結果の文書一覧(例えば
図14の検索結果1402)を、スコアの高い順にソートして、検索結果の情報として確定(決定)し、RAM202上に記憶・更新する。つまり、検索結果の出力処理を行う。以上で、
図15におけるワークフローの処理の説明を終了する。
【0213】
第7の実施形態によれば、確信度の情報を用いて、より的確な検索結果を特定することができる。
【0214】
以上説明したように、本発明によれば、複数のカテゴリの確信度の高さの情報を用いて、検索対象のカテゴリとして複数のカテゴリを容易に特定可能な仕組みを提供することができる。
【0215】
<第8の実施形態>
また、カテゴリの確信度だけでなく、カテゴリ同士の関係を加味して、より的確な検索結果を特定したいことがある。
【0216】
第8の実施形態においては、カテゴリの確信度とカテゴリ同士の関係を加味して、より的確な検索結果を特定する。
【0217】
具体的には、第8の実施形態においては、確信度が高いカテゴリと、当該カテゴリと文書のカテゴリとの類似度を使って、文書のスコアを再計算する。
【0218】
以下、
図16〜
図17を参照して、本発明の第8の実施形態について説明する。なお、上述した実施形態に記載の処理と同一の処理については記載を省略する。
【0219】
図16は、本発明の実施形態に係る類似カテゴリネットワークに基づいて、検索結果のテキスト文書のスコアを再計算した結果のイメージを示すための図である。
【0220】
上述した
図14の説明においては、各テキスト文書の属するカテゴリに対応する確信度に基づき、当該テキスト文書のスコアを再計算していた。一方
図16ではさらに、1601に示すような類似カテゴリネットワークの情報を用いて、文書に対する再スコアリングを行っている。
【0221】
なお、
図16の1601は、
図6に記載した類似カテゴリネットワークを抜粋して再掲しているものである。1601に記載されている、「0.8」、「0.9」の値は、各カテゴリ間の類似度を示す。
【0222】
まず、
図14と同じく、カテゴリ確信度リスト440で、カテゴリ「インストール」が確信度1位であるという結果を得たとする。
【0223】
第8の実施形態においては、検索結果1401から取得した文書のカテゴリと、カテゴリ確信度リスト440の中の確信度が1位のカテゴリの類似度を用いて再スコアリングを行う。
【0224】
例えば、カテゴリ「インストール」からの類似度は、「トラブル」の場合は「0.8」である。
【0225】
「エラー表示」に関しては、確信度1位のカテゴリとの間に直接のリンク(類似の関係)はないが「トラブル」を介して接続されている(類似の関係が特定されている)ため、その2つの接続の類似度を乗じる。よって、
図16の1601に示すように、「インストール」と「エラー表示」の類似度は、「0.8×0.9=0.72」となる。
【0226】
第8の実施形態においては、検索結果1401の中の「エラー表示」のカテゴリの文書のスコアにこれを乗じると、検索結果(カテゴリ重み付け後のスコア)1602のようになる。
【0227】
すなわち、テキスト文書のカテゴリに応じて、スコアが再調整される。
【0228】
なお、確信度が1位である「インストール」の文書には、類似度=100%(つまり「1」の値)を乗ずるものとする。以上で、
図16の説明を完了する。
【0229】
図17を参照して、本発明の実施形態に係る類似カテゴリネットワークに基づいて、検索結果のテキスト文書のスコアを再計算する処理について説明する。つまり
図16で説明した内容の詳細を説明する。
図17のフローチャートの各ステップは、ステップS904の代わりに、情報処理装置100上のCPU201で実行される。
【0230】
図15で説明した第7の実施形態の処理との違いは、各テキスト文書のスコアを計算し直すのに使うのが、カテゴリ確信度そのものではなく、カテゴリ間の類似度である点である。
【0231】
図15の処理と同一の処理については
図15と同一のステップ番号付与し、説明は省略する。以下、
図15と異なる処理について説明する。
【0232】
ステップS1704においては、情報処理装置100のCPU201は、カテゴリ確信度リスト440から確信度が一番高いカテゴリを取得する。また、ステップS1504で取得した着目中のテキスト文書のカテゴリを取得し、
図6の類似カテゴリネットワークにおける類似度を取得する。
【0233】
例えば、
図16の1602に示すように、着目した文書のカテゴリが「トラブル」である場合、「インストール」との類似度0.8(類似度=80%)の値を類似カテゴリネットワークのデータから取得する。着目した文書のカテゴリが「エラー表示」である場合、「インストール」との類似度0.72(類似度=70%)を取得する。
【0234】
ステップS1705においては、S1704において前記類似カテゴリネットワークから取得した類似度と、S1504において取得した着目中のテキスト文書のスコアに基づき、着目中のテキスト文書のスコアを計算し直す。
【0235】
第8の実施形態においては、取得した文書のスコアに対して、ステップS1704で取得した、その文書が属するカテゴリと確信度1位のカテゴリとの類似度の値を乗じて、スコアを再計算する。
【0236】
S1506においては、S1705で計算したスコアを、着目中のテキスト文書のスコアとして再設定する。
【0237】
情報処理装置100のCPU201は、全ての検索結果の文書に対して
図17のステップS1502〜S1506の処理を適用した後、当該処理を適用後の、再スコアリングがされた検索結果の文書一覧(例えば
図16の検索結果1602)を、検索結果の情報として確定し、RAM202上に記憶・更新する。つまり、検索結果の出力処理を行う。以上で、
図17におけるワークフローの処理の説明を終了する。
【0238】
以上、本発明の第8の実施形態について説明した。本発明の第8の実施形態によれば、カテゴリの確信度とカテゴリ同士の関係を加味して、より的確な検索結果を特定することができる。
【0239】
以上説明したように、本発明によれば、検索結果から、検索結果の属するカテゴリの確信度を用いてより適切な検索結果を特定可能な仕組みを提供することができる。
【0240】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【0241】
また、入力文字列受付部101は、当該コンピュータで動作する他のアプリケーションプログラムなどから受け付ける機能部であってもよい。
【0242】
また、入力文字列受付部101は、本発明における情報処理装置がネットワーク上におけるサーバである場合には、他の情報処理装置から当該ネットワークを介して通信情報を受け付ける機能部であってもよい。
【0243】
このテキスト文書の構成はあくまで一例である。なお、本発明で検索対象を絞り込む制約条件としている「カテゴリ」は、必ずしも前述のカテゴリという名称ではなくともよい。この名称はあくまでも例である。例えば「分類」という名称でもよい。
【0244】
実質的に、個々のテキスト文書の内容(ある一定基準での内容的な分類)を示しているものであれば何でもよい。
【0245】
また、検索対象をテキスト文書としているが、必ずしもテキスト文書でなくともよい。例えばPDF文書であってもよいし、テキストが記載された画像データを対象としてもよい。
【0246】
また、機械学習を用いたカテゴリ特定基準の生成方法はあくまで生成方法の一例である。例えば他に、人間が検索対象となる予めカテゴリを付与されたテキスト文書を精査し、その特徴を抽出することで各カテゴリの特徴となる単語を取り出すなど、人手によるプロファイルを作成するものであってもよい。また、機械学習以外の自然言語処理、統計解析などの手法を用いてカテゴリ特定基準の生成をしてもよいことは言うまでもない。
【0247】
以上、いくつかの実施形態について示したが、本発明は、例えば、システム、装置、方法、コンピュータプログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0248】
例えば、入力文字列受付部101をクライアントPCが備え、カテゴリ特定部102、カテゴリ取得部103、文書検索部104がそれぞれ別々のサーバ装置で動作する情報処理システムを構築し、必要に応じて情報を各サーバ同士で送受信して各部による処理を実行し、その結果を各サーバと通信可能なクライアントPC(クライアント装置)に送信して表示出力させるようにしてもよい。
【0249】
また例えば、
図10の処理を行うサーバが、ステップS903の処理が完了した情報を他機のサーバから受信した場合に
図10の処理を実行し、
図10の処理が完了した場合に、文書の検索機能(例えば
図15、
図17の処理を実行する機能)を備えるサーバ装置に対して、ネットワークを介して、
図10の処理で選択した制約カテゴリを制約条件として、入力文字列に基づく検索を行うよう指示する検索制御を行い、当該指示を受け付けたサーバ装置が文書検索を行うようにしてもよい。この場合、当該指示には、制約カテゴリリストと入力文字列が含まれているものとする。
【0250】
また、ステップS901〜S903の代わりに、例えばWAN等のネットワークを介して提供されている、入力文字列の属するカテゴリの特定及びスコアの提供サービスに対して、公開されているAPIを用いて入力文字列を送信して、入力文字列の属する可能性のある複数のカテゴリの特定及びカテゴリごとのスコアを取得するようにしてもよい。つまり、ステップS901〜S903の処理と、ステップS904の処理を別々の装置でそれぞれ実行するようにしてもよい。
【0251】
また、本発明におけるコンピュータプログラムは、
図9〜
図13、
図15、
図17、
図18に示すフローチャートの処理方法をコンピュータが実行可能なコンピュータプログラムであり、本発明の記憶媒体は
図9〜
図13、
図15、
図17、
図18の処理方法をコンピュータが実行可能なコンピュータプログラムが記憶されている。
【0252】
なお、本発明におけるコンピュータプログラムは
図9〜
図13、
図15、
図17、
図18の各装置の処理方法ごとのコンピュータプログラムであってもよい。
【0253】
以上のように、前述した実施形態の機能を実現するコンピュータプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたコンピュータプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0254】
この場合、記録媒体から読み出されたコンピュータプログラム自体が本発明の新規な機能を実現することになり、そのコンピュータプログラムを記憶した記録媒体は本発明を構成することになる。
【0255】
コンピュータプログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【0256】
また、コンピュータが読み出したコンピュータプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのコンピュータプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0257】
さらに、記録媒体から読み出されたコンピュータプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのコンピュータプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0258】
また、本発明は、システムあるいは装置にコンピュータプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのコンピュータプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0259】
さらに、本発明を達成するためのコンピュータプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0260】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。