以下に、図面を参照して、本発明にかかる情報処理装置、名称決定方法、および名称決定プログラムの実施の形態を詳細に説明する。
(本実施の形態にかかる名称決定方法の一実施例)
図1は、本実施の形態にかかる名称決定方法の一実施例を示す説明図である。図1において、情報処理装置100は、本実施の形態にかかる名称決定方法を実現するコンピュータである。情報処理装置100は、例えば、ユーザが所望の文書を発見しやすくする。
ここで、ユーザが所望の文書を発見しやすくする技術としては、例えば、文書群の中から、ユーザから入力された検索キーワードに関連する文書を抽出するものがある。具体的には、文書群の中から検索キーワードが出現する文書を抽出する技術がある。しかしながら、ユーザが、所望の文書のタイトルなどといった所望の文書に固有の語句を検索キーワードとして入力しなければ、文書群の中から抽出される文書の数が膨大になってしまうことがある。このため、ユーザは、抽出された膨大な文書の中から所望の文書を探すことになり、所望の文書を発見するのにかかる時間が増大してしまう。
さらに、例えば、文書群の中から抽出された検索キーワードに関連する複数の文書を階層化された複数のカテゴリに分類し、分類した複数のカテゴリのそれぞれのカテゴリに、当該カテゴリを特徴付ける名称を付与する技術がある。カテゴリとは、所定の基準に従って複数の文書を分類した場合の区分である。カテゴリを特徴付ける名称は、例えば、カテゴリを特徴付ける語句である。カテゴリを特徴付ける名称は、カテゴリを特徴付ける文章であってもよい。しかしながら、カテゴリを特徴付ける名称は、ユーザが当該カテゴリに所望の文書が分類されたか否かを判別しやすい名称であるとは限らない。このため、ユーザは、どの名称が付与されたカテゴリに所望の文書が分類されたか分からず、所望の文書が分類されていないカテゴリに分類された文書集合を調べてしまうことがあり、所望の文書を発見するのにかかる時間が増大してしまう。
そこで、本実施の形態では、あるカテゴリの上位カテゴリを特徴付ける名称と関連性がある語句を、あるカテゴリを特徴付ける名称に決定することができる名称決定方法について説明する。これによれば、複数のカテゴリのそれぞれのカテゴリを特徴付ける名称を体制化することができる。体制化とは、複数のカテゴリのそれぞれのカテゴリを特徴付ける名称を関連性のある名称にすることである。以下の説明では、カテゴリを特徴付ける名称を「ラベル」と表記する場合がある。
<情報処理装置100の処理の一例>
図1において、情報処理装置100は、複数の文書を分類した階層化された複数のカテゴリのそれぞれのカテゴリのラベルを決定する。文書とは、1または複数の文を示すデータである。文書は、例えば、帳票、企画書、設計書、マニュアル、特許文献、技術文献、論文、法令、規定、議事録、ニュース記事、電子メール、ウェブページ、または書籍などを示すデータである。
複数の文書は、例えば、情報処理装置100が有する記憶装置に記憶された文書群である。また、複数の文書は、情報処理装置100が有する記憶装置に記憶された文書群の中から、情報処理装置100がユーザから入力された検索キーワードに基づいて検索した文書であってもよい。また、複数の文書は、情報処理装置100が他の装置から取得した文書であってもよい。そして、複数の文書は、情報処理装置100によって、階層化された複数のカテゴリに分類される。
また、複数の文書は、例えば、情報処理装置100が有する記憶装置に記憶された、予め階層化された複数のカテゴリに分類された文書群であってもよい。また、複数の文書は、予め階層化された複数のカテゴリに分類された文書群の中から、情報処理装置100が検索キーワードに基づいて検索した文書であってもよい。
また、複数の文書は、情報処理装置100とは異なる他の装置によって、階層化された複数のカテゴリに分類されてもよい。そして、複数の文書は、階層化された複数のカテゴリに分類された状態で、情報処理装置100によって取得される。カテゴリは、複数の文書のうちの一部が分類された区分である。カテゴリは、例えば、あるキーワードが出現する文書が分類された区分である。カテゴリは、例えば、キーワードの出現傾向が類似する文書が分類された区分であってもよい。
図1の例では、情報処理装置100は、複数の文書T1,T2,T3,T4,T5,T6を分類した階層化された複数のカテゴリC0,C11,C12のそれぞれのカテゴリのラベルを決定する。複数の文書T1,T2,T3,T4,T5,T6は、例えば、情報処理装置100によって、情報処理装置100が有する記憶装置に記憶された文書群の中から検索された、検索キーワード「特許」が出現する文書である。
カテゴリC0は、最上位階層のカテゴリである。カテゴリC0は、文書T1,T2,T3,T4,T5,T6を含む文書集合Ts0が分類されたカテゴリである。カテゴリC11,C12は、最上位階層のカテゴリに分類された文書集合がさらに細かく分類された、最上位階層の1つ下位にある第1階層のカテゴリである。カテゴリC11,C12は、例えば、情報処理装置100によって、複数の文書T1,T2,T3,T4,T5,T6のうち、キーワードの出現傾向が類似する文書集合が分類されたカテゴリである。出現傾向が類似するとは、出現するキーワードのパターンが類似することである。出現傾向が類似するとは、例えば、あるキーワードが共通して出現することや、あるキーワードが共通して出現しないことである。出現傾向が類似するか否かは、具体的には、例えば、図6に後述するコサイン類似度などを用いて判断される。
カテゴリC11は、文書T1,T2,T3を含む文書集合Ts11が分類されたカテゴリである。カテゴリC11は、例えば、「スライド、本出願、修正、申請、実施例」などのキーワードの出現傾向が類似する文書集合Ts11が分類されたカテゴリである。カテゴリC11は、具体的には、例えば、「スライド、本出願、修正、申請、実施例」などのキーワードが共通して出現する文書集合Ts11が分類されたカテゴリである。カテゴリC12は、文書T4,T5,T6を含む文書集合Ts12が分類されたカテゴリである。カテゴリC12は、例えば、「確認、実験、仮出願、スライド、依頼」などのキーワードの出現傾向が類似する文書集合Ts12が分類されたカテゴリである。カテゴリC12は、具体的には、例えば、「確認、実験、仮出願、スライド、依頼」などのキーワードが共通して出現する文書集合Ts12が分類されたカテゴリである。
以下の説明では、最上位階層のカテゴリを「最上位カテゴリ」と表記する場合がある。また、以下の説明では、あるカテゴリに分類された文書集合がさらに細かく分類され、当該文書集合の一部が分類された、あるカテゴリよりも下位階層のカテゴリを、あるカテゴリの「下位カテゴリ」と表記する場合がある。また、以下の説明では、あるカテゴリの下位カテゴリのうち、あるカテゴリよりも1つ下位階層のカテゴリを「直下位カテゴリ」と表記する場合がある。
また、以下の説明では、あるカテゴリに分類された文書集合を一部として含む文書集合が分類された、あるカテゴリよりも上位階層のカテゴリを、あるカテゴリの「上位カテゴリ」と表記する場合がある。また、以下の説明では、あるカテゴリの上位カテゴリのうち、あるカテゴリよりも1つ上位階層のカテゴリを、あるカテゴリの「直上位カテゴリ」と表記する場合がある。図1の例では、カテゴリC11,C12は、カテゴリC0の下位カテゴリである。一方で、カテゴリC0は、カテゴリC11,C12の上位カテゴリである。
(1)情報処理装置100は、最上位カテゴリC0のラベルを決定する。情報処理装置100は、例えば、最上位カテゴリC0に分類された文書T1,T2,T3,T4,T5,T6が、入力された検索キーワードに基づいて検索された文書である場合には、検索キーワードを最上位カテゴリC0のラベルに決定する。
また、情報処理装置100は、最上位カテゴリC0に分類された文書T1,T2,T3,T4,T5,T6に出現する複数の語句の中から、最上位カテゴリC0の名称候補を特定してもよい。カテゴリの名称候補とは、カテゴリの名称となりうる語句である。カテゴリの名称候補とは、カテゴリの名称となりうる文章であってもよい。そして、情報処理装置100は、特定した名称候補のいずれかを、カテゴリのラベルに決定する。以下の説明では、名称候補を「ラベル候補」と表記する場合がある。図1の例では、情報処理装置100は、検索キーワード「特許」を、最上位カテゴリC0のラベルに決定する。
(2)情報処理装置100は、第1階層のカテゴリC11のラベル候補を特定する。情報処理装置100は、例えば、カテゴリC11に分類された文書T1,T2,T3に出現する複数の語句の中から、ラベル候補を特定する。
情報処理装置100は、具体的には、カテゴリC11に分類された文書T1,T2,T3における複数の語句のそれぞれの出現回数に基づいて、複数の語句の中からラベル候補を特定する。ここで、出現回数は、カテゴリを特徴付ける観点からのラベルとしての尤度を示す指標として用いられる。情報処理装置100は、より具体的には、出現回数が相対的に高い語句のいくつかを、ラベル候補として特定する。図1の例では、情報処理装置100は、ラベル候補「スライド」、「本出願」、「修正」、「申請」、「実施例」を特定する。
ここでは、情報処理装置100が、出現回数に基づいてラベル候補を特定する場合について説明したが、これに限らない。例えば、情報処理装置100は、出現回数を正規化した値、または出現回数をカテゴリに分類された文書の数で除算した値に基づいてラベル候補を特定してもよい。また、ここでは、情報処理装置100が、出現回数が相対的に高い語句を、ラベル候補として特定する場合について説明したが、これに限らない。例えば、情報処理装置100は、出現回数が閾値よりも大きい語句を、ラベル候補として特定してもよい。
また、ここでは、情報処理装置100が、出現回数に基づいて、ラベル候補を特定する場合について説明したが、これに限らない。例えば、情報処理装置100は、出現回数とは異なる指標に基づいて、ラベル候補を特定してもよい。具体的には、情報処理装置100は、TF−IDF(Term Frequency−Inverse Document Frequency)やC−Valueに基づいて、ラベル候補を決定する。TF−IDFやC−Valueについては、図7を用いて後述する。
また、ここでは、情報処理装置100が、出現回数に基づいて、ラベル候補を特定することができた場合について説明したが、これに限らない。例えば、情報処理装置100は、出現回数に基づいて、ラベル候補を特定することができなかった場合には、出現回数とは異なる指標を用いてラベル候補を特定しなおしてもよい。具体的には、情報処理装置100は、出現回数に基づいて、ラベル候補を特定することができなかった場合には、TF−IDFやC−Valueに基づいて、ラベル候補を決定する。
(3)情報処理装置100は、第1階層のカテゴリC11のラベルを決定する。情報処理装置100は、例えば、特定したラベル候補「スライド」、「本出願」、「修正」、「申請」、「実施例」のいずれかを、カテゴリC11のラベルに決定する。情報処理装置100は、具体的には、それぞれのカテゴリのラベル候補と、カテゴリC11の上位カテゴリC0のラベルとの共起度合いに基づいて、特定したラベル候補のいずれかを、カテゴリC11のラベルに決定する。共起とは、文書、または所定数連続する文において、2つの語句が同時に出現することである。共起度合いとは、2つの語句の共起しやすさを示す。
ここで、2つの語句が共起することは、2つの語句が一文または所定数連続する文に同時に出現することを示し、2つの語句が同じ話題について述べる語句の組み合わせである可能性があることを示す。これによれば、2つの語句の共起度合いが高いほど、2つの語句は、同じ話題について述べる語句の組み合わせである可能性が高くなり、関連性のある語句の組み合わせである可能性が高くなる。例えば、共起する2つの語句の組み合わせは、「特許」と「出願」との組み合わせ、「音声」と「認識」との組み合わせ、「メール」と「受信」との組み合わせなどである。
したがって、ラベル候補と上位カテゴリのラベルとの共起度合いが高いほど、ラベル候補と上位カテゴリのラベルとの関連性が高いことを示すことになる。このため、共起度合いは、上位カテゴリのラベルとの関連性の観点からのラベルとしての尤度を示す指標として用いられる。共起度合いは、例えば、最上位カテゴリに分類された文書集合における共起回数、当該共起回数を正規化した値、および当該共起回数を最上位カテゴリに分類された文書集合の文書の数で除算した値などである。また、共起度合いは、例えば、最上位カテゴリに分類された文書集合の一部における共起回数、当該共起回数を正規化した値、および当該共起回数を最上位カテゴリに分類された文書集合の文書の数で除算した値などであってもよい。
また、共起度合いは、例えば、ラベル候補の特定元のカテゴリに分類された文書集合における当該共起回数を正規化した値、および当該共起回数をラベル候補の特定元のカテゴリに分類された文書集合の文書の数で除算した値などであってもよい。また、共起度合いは、例えば、ラベル候補の特定元のカテゴリに分類された文書集合の一部における共起回数、当該共起回数を正規化した値、および当該共起回数をラベル候補の特定元のカテゴリに分類された文書集合の文書の数で除算した値などであってもよい。
情報処理装置100は、より具体的には、それぞれのラベル候補と、カテゴリC11の上位カテゴリC0のラベルとの共起度合いを算出する。そして、情報処理装置100は、共起度合いが相対的に最も高いラベル候補を、カテゴリC11のラベルに決定する。図1の例では、情報処理装置100は、ラベル候補「本出願」をカテゴリC11のラベルに決定する。
ここでは、情報処理装置100が、共起度合いが相対的に最も高いラベル候補を、カテゴリのラベルに決定する場合について説明したが、これに限らない。例えば、情報処理装置100は、共起度合いが閾値以上のラベル候補のいずれかを、カテゴリのラベルに決定してもよい。具体的には、情報処理装置100は、最上位カテゴリに分類された文書集合における共起回数を正規化した値、または共起回数を文書の数で除算した値が閾値以上のラベル候補のいずれかを、カテゴリのラベルに決定する。
また、ここでは、情報処理装置100が、特定したラベル候補のいずれかを、カテゴリのラベルに決定する場合について説明したが、これに限らない。例えば、情報処理装置100は、共起度合いに基づいて、ラベル候補のそれぞれをラベルにするか否かを判定してもよい。具体的には、情報処理装置100は、ラベル候補のそれぞれの共起度合いが閾値以上であるか否かを判定し、共起度合いが閾値以上であるラベル候補をラベルにすると判定する。情報処理装置100は、共起度合いが閾値以上であるラベル候補が複数ある場合には、共起度合いが閾値以上である複数のラベル候補をラベルにしてもよい。
また、情報処理装置100は、特定したラベル候補を1つずつラベルに決定するか否かを判定してもよい。情報処理装置100は、例えば、特定したラベル候補を1つずつ選択する。次に、情報処理装置100は、選択したラベル候補について共起度合いが閾値以上であるか否かを判定する。そして、情報処理装置100は、共起度合いが閾値以上と判定した時点で、ラベル候補を選択するのを停止するとともに、共起度合いが閾値以上のラベル候補をカテゴリのラベルに決定する。
また、情報処理装置100は、共起度合いが閾値以上であるラベル候補がない場合には、共起度合いが相対的に最も高いラベル候補をラベルに決定してもよい。また、情報処理装置100は、共起度合いが閾値以上であるラベル候補がない場合には、上記(2)に戻りラベル候補を特定しなおしてもよい。
また、情報処理装置100は、特定したラベル候補が1つである場合には、特定したラベル候補を、共起度合いに関わらずカテゴリのラベルに決定してもよい。また、情報処理装置100は、特定したラベル候補が1つである場合には、上記(2)に戻りラベル候補を特定しなおしてもよい。
(4)情報処理装置100は、第1階層のカテゴリC11と同様にして、第1階層のカテゴリC12のラベル候補を特定する。そして、情報処理装置100は、第1階層のカテゴリC11と同様にして、第1階層のカテゴリC12のラベルを決定する。図1の例では、情報処理装置100は、ラベル候補「仮出願」をカテゴリC12のラベルに決定する。
これにより、情報処理装置100は、カテゴリC11,C12を特徴付ける観点に加えて、カテゴリC11,C12の上位カテゴリC0のラベルとの関連性の観点から、カテゴリC11,C12のラベルを決定することができる。そして、情報処理装置100は、複数のカテゴリのそれぞれのカテゴリのラベルとして、当該カテゴリの上位カテゴリのラベルと関連性があるラベルを付与することができる。
ここで、カテゴリC11,C12の上位カテゴリC0に分類された文書集合のそれぞれの文書は、少なくとも上位カテゴリC0のラベルが示す話題についての文書であるとともに、当該話題と関連する種々の話題についての文書でもある。そして、カテゴリC11,C12に分類された文書集合のそれぞれの文書は、上位カテゴリC0のラベルが示す話題と関連する種々の話題のうちの1または複数の話題についての文書である。
あるカテゴリを特徴付ける観点のみを考慮して、あるカテゴリにラベルを付与すると、あるカテゴリのラベルとして、上位カテゴリのラベルとの関連性が相対的に低いラベルが付与されてしまう場合がある。この場合、ユーザは、あるカテゴリに付与されたラベルが示す話題が何かを把握しても、あるカテゴリに、上位カテゴリのラベルが示す話題に関連する種々の話題のうちの何の話題についての文書が分類されたのかを把握することが難しい。
一方で、情報処理装置100によれば、あるカテゴリのラベルとして、上位カテゴリのラベルとの関連性が相対的に高いラベルを付与することができる。これにより、ユーザは、あるカテゴリに付与されたラベルが示す話題を把握すれば、あるカテゴリに、上位カテゴリのラベルが示す話題に関連する種々の話題のうちの何の話題についての文書が分類されたのかを把握しやすくなる。
結果として、ユーザは、所望の文書が属する話題についての文書が分類されたカテゴリを把握しやすくなり、上位階層から下位階層へとカテゴリを辿って所望の文書が分類されたカテゴリを探索しやすくなる。また、ユーザは、所望の文書が分類されていないカテゴリに分類された文書集合を調べてしまい、所望の文書を発見するのにかかる時間が増大してしまうことを抑制することができる。このように、情報処理装置100は、ユーザが所望の文書が分類されたカテゴリを探索しやすくなるように複数のカテゴリのそれぞれのカテゴリにラベルを付与することができる。
例えば、カテゴリC11を特徴付ける観点のみを考慮してカテゴリC11にラベルを付与すると、カテゴリC11に、出現回数が相対的に最も高いが、共起度合いが相対的に低いラベルが付与されてしまう場合がある。具体的には、カテゴリC11に、上位カテゴリC0のラベル「特許」との関連性が相対的に低いラベル「スライド」が付与されてしまう場合がある。この場合では、ユーザは、カテゴリC11のラベル「スライド」を参照しても、「特許」との関連性が相対的に低いため、「特許」についての文書集合Ts0のうち、「特許」に関連する何の話題についてカテゴリC11に分類されたのかを把握することが難しい。
一方で、図1の例では、情報処理装置100は、出現回数が相対的に最も高いラベル候補「スライド」ではなく、出現回数が高く、かつ共起度合いも高いラベル候補「本出願」を、カテゴリC11のラベルとして付与することができる。換言すれば、情報処理装置100は、共起度合いが相対的に最も高いため、カテゴリC11の上位カテゴリC0のラベル「特許」との関連性が相対的に高いラベル「本出願」を、カテゴリC11に付与することができる。これにより、ユーザは、カテゴリC11のラベル「本出願」を参照して、「特許」についての文書集合Ts0のうち、「本出願」について細かく分類され、「本出願」についての文書集合がカテゴリC11に分類されたことを把握しやすくなる。
また、図1のように、情報処理装置100は、最上位カテゴリに、ユーザから入力された検索キーワードをラベルとして付与することができる。このため、ユーザは、複数のカテゴリのそれぞれのカテゴリのラベルを参照して、複数のカテゴリのそれぞれのカテゴリに、ユーザが入力した検索キーワード「特許」に関連する何の話題についての文書集合が分類されたのかを把握しやすくなる。
ここで、図1において、ユーザが、「本出願」についての所望の文書を探索する場合を例に挙げる。この場合では、ユーザは、最上位カテゴリC0に分類された文書集合Ts0が、「特許」についての文書の集まりであることを把握する。次に、ユーザは、第1階層のカテゴリC11に分類された文書集合Ts11が、「特許」についての文書集合のうち、「特許」に関連する話題である「本出願」についての文書の集まりであることを把握する。そして、ユーザは、カテゴリC11に分類された文書集合の中から所望の文書を探索する。このようにして、ユーザは、所望の文書を発見することができる。
(情報処理装置100を適用するシステムの一例)
次に、図1に示した情報処理装置100を適用するシステムの一例について説明する。
例えば、情報処理装置100は、ユーザが検索キーワードに基づいて所望の文書を検索するシステムに適用することができる。情報処理装置100は、例えば、ユーザから検索キーワードの入力を受け付ける。次に、情報処理装置100は、記憶装置に記憶された文書群の中から検索キーワードに関連する複数の文書を抽出する。そして、情報処理装置100は、抽出した複数の文書を階層化された複数のカテゴリに分類する。次に、情報処理装置100は、複数のカテゴリの最上位カテゴリのラベルとして検索キーワードを付与するとともに、残余のカテゴリのそれぞれのカテゴリにラベルを付与する。そして、情報処理装置100は、それぞれのカテゴリに付与されたラベルを表示する。
これにより、ユーザは、あるカテゴリの下位カテゴリに、あるカテゴリのラベルが示す話題についての文書集合のうちの、何の話題についての文書集合が抽出され、細かく分類されたのかを把握することができる。このため、ユーザは、入力した検索キーワードをラベルとして付与された最上位カテゴリから、所望の文書に関連する話題を示すラベルが付与され、当該話題についての文書集合が分類された下位階層のカテゴリを辿ることができる。そして、ユーザは、所望の文書が分類された下位カテゴリを発見し、所望の文書を発見しやすくなり、所望の文書を発見するのにかかる時間を低減することができる。
また、例えば、情報処理装置100は、ユーザが、文書群を、階層化された複数のカテゴリに分類して整理するシステムに適用することができる。情報処理装置100は、例えば、記憶装置に記憶された文書群を、階層化された複数のカテゴリに分類する。そして、情報処理装置100は、文書群を分類した複数のカテゴリのそれぞれのカテゴリにラベルを付与する。
これにより、ユーザは、あるカテゴリの下位カテゴリに、あるカテゴリのラベルが示す話題についての文書集合のうちの、何の話題についての文書が抽出されて分類されたのかを把握しやすいように、下位カテゴリにラベルを付与することができる。そして、ユーザは、記憶装置に記憶された文書群を階層化された複数のカテゴリを分類する作業、および複数のカテゴリのそれぞれのカテゴリに付与するラベルを決定する作業にかかる時間を低減することができる。
(情報処理装置100のハードウェア)
次に、図2を用いて、図1に示した情報処理装置100のハードウェアの一例について説明する。
図2は、情報処理装置100のハードウェアの一例を示すブロック図である。図2において、情報処理装置100は、CPU(Central Processing Unit)201と、ROM(Read Only Memory)202と、RAM(Random Access Memory)203と、を有する。
また、情報処理装置100は、さらに、ディスクドライブ204と、ディスク205と、インターフェース(I/F:Interface)206と、入力装置207と、出力装置208とを有する。また、CPU201と、ROM202と、RAM203と、ディスクドライブ204と、I/F206と、入力装置207と、出力装置208とは、バス200によって、それぞれ接続されている。情報処理装置100は、例えば、サーバ、ノート型パソコン、デスクトップ型パソコンなどである。
ここで、CPU201は、情報処理装置100の全体の制御を司る。ROM202は、ブートプログラム、実施の形態にかかる名称決定プログラムなどの各種プログラムを記憶する。RAM203は、CPU201のワークエリアとして使用される。また、RAM203は、各種プログラムの実行により得られたデータなどの各種データを記憶する。また、RAM203は、図4または図15に後述する文書DB(Data Base)400、および図5に後述するストップワードリスト500などを記憶する。
ディスクドライブ204は、CPU201の制御に従ってディスク205に対するデータのリード/ライトを制御する。ディスク205は、ディスクドライブ204の制御によって書き込まれたデータを記憶する。また、ディスク205は、RAM203の代わりに、図4または図15に後述する文書DB400、および図5に後述するストップワードリスト500などを記憶してもよい。ディスク205は、例えば、磁気ディスク、または光ディスクなどである。
I/F206は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他の装置に接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。そして、I/F206は、ネットワーク210と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F206は、例えば、モデムやLANアダプタなどである。
入力装置207は、キーボード、タッチパネルなどユーザの操作により、各種データの入力を行うインターフェースである。入力装置207は、マウス、スキャナなどであってもよい。出力装置208は、CPU201の指示により、データを出力するインターフェースである。出力装置208は、例えば、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示するディスプレイである。出力装置208は、プリンタであってもよい。
(情報処理装置100の機能的構成例)
次に、図3を用いて、情報処理装置100の機能的構成例について説明する。
図3は、情報処理装置100の機能的構成例を示すブロック図である。情報処理装置100は、制御部となる機能として、取得部301と、検索部302と、分類部303と、選択部304と、特定部305と、決定部306と、出力部307とを含む。
取得部301は、文書群を取得する。取得部301は、例えば、図4に後述する文書DB400に記憶された文書群を取得する。これにより、取得部301は、取得した文書群を検索部302に出力することができる。そして、取得部301は、検索部302に、出力した文書群の中から文書を検索させることができる。取得した文書群は、例えば、RAM203、ディスク205などの記憶領域に記憶される。
また、取得部301は、階層化された複数のカテゴリに分類済みの文書群を取得してもよい。階層化とは、いくつかのカテゴリが集まって1つの上位カテゴリになるといった状態にすることである。これにより、取得部301は、取得した文書群を検索部302に出力することができる。そして、取得部301は、検索部302に、出力した文書群の中から文書を検索させることができる。
取得部301は、検索キーワードを取得する。検索キーワードとは、文書群の中から文書を検索するためのキーワードである。検索キーワードは、例えば、語句、語句の組み合わせ、自然文などである。検索キーワードの形式は、後述する検索部302の検索方法に対応する形式であればよい。取得部301は、例えば、図2に示した入力装置207となるキーボードやタッチパネルなどによってユーザから操作入力された検索キーワードを取得する。また、取得部301は、検索条件を取得してもよい。検索条件は、例えば、文書の種別である。文書の種別は、文書にどのような文が記載されているかを示す情報である。文書の種別は、例えば、テキスト、プレゼンテーション用文書、表計算用文書などである。
これにより、取得部301は、取得した検索キーワードを検索部302に出力することができる。そして、取得部301は、検索部302に、出力した検索キーワードに基づいて文書を検索させることができる。取得した検索キーワードは、例えば、RAM203、ディスク205などの記憶領域に記憶される。
取得部301は、ストップワードを取得する。ストップワードとは、カテゴリの名称として使用しない語句である。カテゴリの名称とは、カテゴリを特徴付ける語句である。カテゴリの名称は、例えば、カテゴリに分類された文書集合に関する語句である。カテゴリの名称は、具体的には、カテゴリに分類された文書集合に出現する語句である。語句は、単語や数字、単語の組み合わせ、または文章などである。カテゴリの名称は、カテゴリのラベルである。取得部301は、図2に示した入力装置207となるキーボードやタッチパネルなどによってユーザから操作入力されたストップワードを取得する。
また、取得部301は、図5に後述するストップワードリスト500に記憶されたストップワードを読み出すことにより、ストップワードを取得してもよい。ストップワードは、例えば、情報処理装置100の製造者によって、または情報処理装置100のユーザによって、図5に後述するストップワードリスト500に予め記憶された語句である。
これにより、取得部301は、取得したストップワードを特定部305に出力することができる。そして、取得部301は、特定部305に、ストップワードとは異なる、カテゴリの名称候補を特定させることができる。名称候補は、カテゴリの名称になりうる語句である。名称候補は、カテゴリのラベル候補である。取得したストップワードは、例えば、RAM203、ディスク205などの記憶領域に記憶される。
取得部301は、例えば、図2に示したROM202、RAM203、ディスク205などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、または、I/F206により、その機能を実現する。
検索部302は、取得部301が取得した検索キーワードに基づいて、文書群の中から文書を抽出する。検索部302は、例えば、取得部301が取得した検索キーワードを検索式として、文書DB400に格納された文書群の中から検索キーワードに関連する文書を抽出する。検索キーワードに関連する文書は、例えば、検索キーワードが出現する文書、および検索キーワードの同義語や類似語が出現する文書などである。検索キーワードに関連する文書は、検索キーワードが複数の語句の組み合わせであれば、複数の語句のいずれかの語句が出現する文書であってもよい。
また、検索部302は、取得部301が取得した検索キーワードの他に、取得部301が取得した検索条件に基づいて、文書群の中から文書を抽出してもよい。検索部302は、例えば、文書DB400に格納された文書群のうちの検索条件を満たす文書の中から、検索キーワードが出現する文書を抽出する。また、検索部302は、取得部301が取得した検索条件に基づいて、文書群の中から文書を抽出してもよい。検索部302は、例えば、文書DB400に格納された文書群の中から、検索条件を満たす文書を抽出する。
これにより、検索部302は、検索結果として、検索した文書、検索した文書の識別情報、または検索した文書の格納場所などを、分類部303に出力することができる。そして、検索部302は、検索した文書を分類部303に分類させることができる。検索結果は、例えば、RAM203、ディスク205などの記憶領域に記憶される。
検索部302は、例えば、図2に示したROM202、RAM203、ディスク205などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、その機能を実現する。
分類部303は、検索部302が検索した複数の文書を、階層化された複数のカテゴリに分類する。分類部303は、例えば、検索部302が検索した複数の文書に含まれる文書同士の類似度合いを示すコサイン類似度を算出する。次に、分類部303は、算出したコサイン類似度が最小になる文書同士を1つの文書集合としてまとめる。そして、分類部303は、文書同士をまとめた文書集合が分類された最下位階層のカテゴリを作成する。さらに、分類部303は、ウォード法によって、2つのカテゴリに分類された2つの文書集合を併合した1つの文書集合が分類された、2つのカテゴリの上位カテゴリを作成することを繰り返す。ここで、異なるカテゴリに分類された文書集合に、同一の文書が含まれてもよい。
また、分類部303は、取得部301が取得した文書群を、階層化された複数のカテゴリに分類してもよい。これにより、分類部303は、複数の文書を分類した階層化された複数のカテゴリを選択部304に出力することができる。そして、分類部303は、選択部304に、複数のカテゴリのいずれかのカテゴリを選択させることができる。分類結果は、例えば、RAM203、ディスク205などの記憶領域に記憶される。
分類部303は、例えば、図2に示したROM202、RAM203、ディスク205などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、その機能を実現する。
選択部304は、分類部303が複数の文書を分類した階層化された複数のカテゴリのいずれかのカテゴリを選択する。選択部304は、分類部303が複数の文書を分類した階層化された複数のカテゴリのうち、既にラベルを決定済みのカテゴリの直下位カテゴリを選択する。これにより、選択部304は、ラベルを決定する対象にするカテゴリを選択することができる。そして、選択部304は、選択したカテゴリを特定部305に出力することができる。選択したカテゴリは、例えば、RAM203、ディスク205などの記憶領域に記憶される。
選択部304は、例えば、図2に示したROM202、RAM203、ディスク205などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、その機能を実現する。
特定部305は、分類部303が複数の文書を分類した階層化された複数のカテゴリのうち、選択部304が選択したいずれかのカテゴリに分類した文書集合から、選択部304が選択したいずれかのカテゴリのラベル候補を特定する。ここで、文書集合は、1または複数の文書である。特定部305は、例えば、選択部304が選択したカテゴリに分類した文書集合に出現する語句を抽出する。そして、特定部305は、抽出した語句の中から選択部304が選択したカテゴリのラベル候補になる語句を特定する。
特定部305は、具体的には、選択部304が選択したカテゴリに分類した文書集合についての形態素解析によって、当該文書集合に出現する語句を抽出する。そして、特定部305は、抽出した語句のうちの特定の品詞として認識された語句を、選択部304が選択したカテゴリのラベル候補として特定する。特定の品詞とは、予め、カテゴリのラベルにする条件として設定された語句の種別である。特定の品詞は、例えば、名詞である。これにより、特定部305は、カテゴリのラベルになりうる語句を、カテゴリのラベル候補として特定することができる。
特定部305は、さらに、選択部304が選択したカテゴリに分類した文書集合から、選択部304が選択したカテゴリのラベル候補として、取得部301が取得したストップワードとは異なる語句を特定してもよい。特定部305は、例えば、選択部304が選択したカテゴリに分類した文書集合に出現する語句を抽出する。そして、特定部305は、抽出した語句の中から選択部304が選択したカテゴリのラベル候補になる、ストップワードとは異なる語句を特定する。
特定部305は、具体的には、形態素解析によって、特定の品詞として認識された語句を抽出する。次に、特定部305は、抽出した語句の中からストップワードと一致する語句を除外する。また、特定部305は、抽出した語句の中から、ストップワードと部分一致する語句、またはストップワードの同義語や類似語になる語句を除外してもよい。そして、特定部305は、除外後に残った語句を選択部304が選択したカテゴリのラベル候補として特定する。これにより、特定部305は、カテゴリを特徴付けるラベルから特定の語句を除外することができる。
特定部305は、さらに、選択部304が選択したカテゴリに分類した文書集合から、選択部304が選択したカテゴリのラベル候補として、選択部304が選択したカテゴリの上位カテゴリのラベルとは異なる語句を特定してもよい。特定部305は、例えば、選択部304が選択したカテゴリに分類した文書集合に出現する語句を抽出する。そして、特定部305は、抽出した語句の中から選択部304が選択したカテゴリのラベル候補になる、選択部304が選択したカテゴリの上位カテゴリのラベルとは異なる語句を特定する。
特定部305は、具体的には、形態素解析によって、特定の品詞として認識された語句を抽出する。次に、特定部305は、抽出した語句の中から選択部304が選択したカテゴリの上位カテゴリのラベルと一致する語句を除外する。また、特定部305は、抽出した語句の中から、選択部304が選択したカテゴリの上位カテゴリのラベルと部分一致する語句、または選択部304が選択したカテゴリの上位カテゴリのラベルの同義語や類似語になる語句を除外してもよい。そして、特定部305は、除外後に残った語句を選択部304が選択したカテゴリのラベル候補として特定する。これにより、特定部305は、カテゴリを特徴付けるラベルから、当該カテゴリの上位カテゴリを特徴付けるラベルと一致する語句を除外することができる。
特定部305は、さらに、選択部304が選択したカテゴリに分類した文書集合から、選択部304が選択したカテゴリのラベル候補として、選択部304が選択したカテゴリと直上位カテゴリが一致する他のカテゴリのラベルとは異なる語句を特定してもよい。換言すれば、特定部305は、選択部304が選択したカテゴリの直上位カテゴリの直下位カテゴリのうち、選択部304が選択したカテゴリとは異なる他のカテゴリを特徴付ける名称とは異なる語句を特定する。特定部305は、例えば、選択部304が選択したカテゴリに分類した文書集合に出現する語句を抽出する。そして、特定部305は、抽出した語句の中から選択部304が選択したカテゴリのラベル候補になる、選択部304が選択したカテゴリと直上位カテゴリが一致する他のカテゴリのラベルとは異なる語句を特定する。
特定部305は、具体的には、形態素解析によって、特定の品詞として認識された語句を抽出する。次に、特定部305は、抽出した語句の中から選択部304が選択したカテゴリと直上位カテゴリが一致する他のカテゴリのラベルと一致する語句を除外する。また、特定部305は、抽出した語句の中から、直上位カテゴリが一致する他のカテゴリのラベルと部分一致する語句、または直上位カテゴリが一致する他のカテゴリのラベルの同義語や類似語になる語句を除外してもよい。そして、特定部305は、除外後に残った語句を選択部304が選択したカテゴリのラベル候補として特定する。これにより、特定部305は、カテゴリを特徴付けるラベルから、当該カテゴリと直上位カテゴリが一致する他のカテゴリを特徴付けるラベルと一致する語句を除外することができる。
また、特定部305は、選択部304が選択したカテゴリに分類した文書集合から、選択部304が選択したカテゴリのラベル候補として、選択部304が選択したカテゴリと同一階層にある他のカテゴリのラベルとは異なる語句を特定してもよい。また、特定部305は、選択部304が選択したカテゴリに分類した文書集合から、選択部304が選択したカテゴリのラベル候補として、選択部304が選択したカテゴリとは異なる他のカテゴリのラベルとは異なる語句を特定してもよい。
特定部305は、さらに、選択部304が選択したカテゴリに分類した文書集合に出現する語句の特徴度を算出してもよい。特徴度とは、語句がカテゴリに分類した文書集合を特徴付ける度合いを示す値である。特徴度は、例えば、語句のTF−IDFやC−Valueといったラベルスコアである。そして、特定部305は、算出したラベルスコアに基づいて選択部304が選択したカテゴリのラベル候補を特定する。
特定部305は、例えば、選択部304が選択したカテゴリに分類した文書集合に出現する語句の当該文書集合における出現度合いと、当該語句の複数の文書における出現度合いとに基づいて、当該語句のラベルスコアを算出する。出現度合いとは、語句の出現しやすさを示す。また、特定部305は、選択部304が選択したカテゴリに分類した文書集合に出現する語句の当該文書集合における出現度合いと、当該語句を含む複合語の当該文書集合における出現度合いとに基づいて、当該語句のラベルスコアを算出してもよい。そして、特定部305は、算出したラベルスコアに基づいて、カテゴリのラベル候補を特定する。
特定部305は、具体的には、形態素解析によって、特定の品詞として認識された語句を抽出する。次に、特定部305は、抽出した語句のラベルスコアとしてTF−IDFを算出する。また、特定部305は、抽出した語句のラベルスコアとしてC−Valueを算出してもよい。そして、特定部305は、抽出した語句を、ラベルスコアが高い順にソートする。その後、特定部305は、所定の順位までの語句を、ラベル候補として特定する。これにより、特定部305は、カテゴリを特徴付ける観点からのラベルとしての尤度を示す特徴度に基づいて、カテゴリを特徴付ける観点からラベルとして尤もらしい語句を、ラベル候補として特定することができる。
特定したラベル候補は、例えば、RAM203、ディスク205などの記憶領域に記憶される。特定部305は、例えば、図2に示したROM202、RAM203、ディスク205などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、その機能を実現する。
決定部306は、最上位カテゴリのラベルを決定する。決定部306は、例えば、検索部302が検索した複数の文書を分類部303が分類した場合には、取得部301が取得した検索キーワードを最上位カテゴリのラベルに決定する。決定部306は、検索キーワードが複数ある場合には、複数の検索キーワードを最上位カテゴリのラベルに決定してもよい。これにより、決定部306は、最上位カテゴリを特徴付けるラベルとして検索キーワードを付与することができる。
また、決定部306は、例えば、取得部301が取得した文書群を分類部303が分類した場合には、最上位カテゴリについて特定部305が特定したラベル候補のうち、ラベルスコアが最大のラベル候補を、最上位カテゴリのラベルに決定する。これにより、決定部306は、最上位カテゴリを特徴付けるラベルを付与することができる。
決定部306は、複数の文書における、特定部305が特定したラベル候補と、選択部304が選択したカテゴリの上位カテゴリのラベルとの共起度合いに基づいて、選択部304が選択したカテゴリのラベルを決定する。ここで、上位カテゴリとは、選択部304が選択したカテゴリに分類された文書集合を含む、選択部304が選択したカテゴリよりも上位階層のカテゴリである。上位カテゴリは、例えば、選択部304が選択したカテゴリの直上位カテゴリである。
上位カテゴリは、例えば、最上位カテゴリから、選択部304が選択したカテゴリの直上位カテゴリまでのいずれかのカテゴリであってもよい。上位カテゴリは、例えば、最上位カテゴリから、選択部304が選択したカテゴリの直上位カテゴリまでのそれぞれのカテゴリであってもよい。
決定部306は、例えば、カテゴリに分類した文書集合のそれぞれの文書中の一文単位、または所定数連続する文単位の、ラベル候補と、上位カテゴリのラベルとの共起度合いに基づいて、カテゴリのラベルを決定する。決定部306は、具体的には、カテゴリに分類した文書集合のそれぞれの文書の種別に基づいて、カテゴリに分類した文書集合が、文間に連続性がある文書の集まりであるか否かを判定する。
文間に連続性がある文書とは、関連する話題についての複数の文が続けて書かれた文書である。文間に連続性がある文書は、例えば、複数の文が段落分けして書かれた論文、特許文献、技術文献などである。文間に連続性がある文書ではない文書は、例えば、複数の短文が箇条書きされた文書、または複数の説明文が書かれた図面などである。文間に連続性がある文書ではない文書は、具体的には、機械が描画された図面であって、機械の各部の説明文が、図面上の機械の各部の傍らに書かれた図面などである。
文間に連続性がある文書であるか否かは、例えば、文書の種別に基づいて判別される。具体的には、ある文書は、文書の種別がテキストであれば文間に連続性がある文書であるとされ、文書の種別がプレゼンテーション用文書、表計算用文書であれば文間に連続性がある文書ではないとされる。決定部306は、文間に連続性がある文書の集まりである場合には、カテゴリに分類した文書集合のそれぞれの文書中の一文単位、または所定数連続する文単位の、ラベル候補と、上位カテゴリのラベルとの共起度合いに基づいて、カテゴリのラベルを決定する。
決定部306は、より具体的には、カテゴリに分類した文書集合のそれぞれの文書中の一文単位、または所定数連続する文単位の、ラベル候補と、上位カテゴリのラベルとの共起度合いに基づいて、ラベル候補の連想スコアを算出する。連想スコアとは、上位カテゴリのラベルとの関連性の観点からのラベルとしての尤度を示す値である。そして、決定部306は、連想スコアが相対的に最も高いラベル候補を、選択部304が選択したカテゴリのラベルに決定する。
これにより、決定部306は、文書中に、ラベル候補と、上位カテゴリを特徴付けるラベルとのそれぞれが、所定数よりも離れた2つの文のそれぞれに出現している場合には、共起しない組み合わせと判定することができる。ここで、所定数よりも離れた2つの文は、異なる話題について述べた2つの文である可能性がある。このため、決定部306は、異なる話題について述べた、2つの文のそれぞれの文に出現する語句の組み合わせを、同一の話題について述べた、関連する語句の組み合わせとしてしまうことを抑制することができる。結果として、決定部306は、文間に連続性がある文書の集まりである文書集合が分類されたカテゴリについて、ラベル候補と、上位カテゴリを特徴付けるラベルとの組み合わせが、関連する語句の組み合わせであるか否かを精度よく判定することができる。
また、決定部306は、例えば、カテゴリに分類した文書集合のそれぞれの文書の全文単位の、ラベル候補と、上位カテゴリのラベルとの共起度合いに基づいて、カテゴリのラベルを決定してもよい。決定部306は、具体的には、カテゴリに分類した文書集合のそれぞれの文書の種別に基づいて、カテゴリに分類した文書集合が、文間に連続性がある文書の集まりであるか否かを判定する。そして、決定部306は、文間に連続性がある文書の集まりではない場合には、カテゴリに分類した文書集合のそれぞれの文書の全文単位の、ラベル候補と、上位カテゴリのラベルとの共起度合いに基づいて、カテゴリのラベルを決定する。
決定部306は、より具体的には、カテゴリに分類した文書集合のそれぞれの文書の全文単位の、ラベル候補と、上位カテゴリのラベルとの共起度合いに基づいて、ラベル候補の連想スコアを算出する。そして、決定部306は、連想スコアが相対的に最も高いラベル候補を、選択部304が選択したカテゴリのラベルに決定する。
これにより、決定部306は、文書中に、ラベル候補と、上位カテゴリを特徴付けるラベルとが、どれだけ離れて出現していても、共起する組み合わせと判定することができる。ここで、文書が文間に連続性がある文書ではない場合には、文書に含まれる2つの文は、所定数よりも離れていたとしても、同じ話題について述べた2つの文である可能性がある。このため、決定部306は、同一の話題について述べた、関連する語句の組み合わせを、異なる話題について述べた、関連性が相対的に低い語句の組み合わせとしてしまうことを抑制することができる。結果として、決定部306は、文間に連続性がある文書の集まりではない文書集合が分類されたカテゴリについて、ラベル候補と、上位カテゴリを特徴付けるラベルとの組み合わせが、関連する語句の組み合わせであるか否かを精度よく判定することができる。
決定部306は、さらに、複数の文書のうち、特定部305が特定したラベル候補が出現する文書集合と選択部304が選択したカテゴリの上位カテゴリのラベルが出現する文書集合との重複度合いに基づいて、選択したカテゴリのラベルを決定してもよい。重複度合いとは、2つの文書集合において重複している文書の数の多さを示す。ここでは、連想スコアは、例えば、上位カテゴリのラベルと、選択部304が選択したカテゴリのラベル候補が共起する文書の数が多くなるほど、値が大きくなるようにする。また、連想スコアは、上位カテゴリのラベルと、カテゴリのラベル候補が共起する文書の数に比べて、選択部304が選択したカテゴリのラベル候補が出現する文書の数が多くなるほど、値が小さくなるようにする。
決定部306は、特定部305が特定したラベル候補の連想スコアを算出する。そして、決定部306は、連想スコアが相対的に最も高いラベル候補を、選択部304が選択したカテゴリのラベルに決定する。これにより、決定部306は、複数のカテゴリのそれぞれのカテゴリを特徴付けるラベルとして、当該カテゴリの上位カテゴリを特徴付けるラベルが出現する文書以外の文書に出現する回数が少ないラベルを付与することができる。
また、決定部306は、特定部305がラベルスコアを算出せずにラベル候補を特定した場合には、特定部305が特定したラベル候補のうち、複数の文書における、上位カテゴリのラベルとの共起度合いが相対的に高いラベル候補をさらに特定してもよい。次に、決定部306は、特定した共起度合いが相対的に高いラベル候補のラベルスコアを算出する。そして、決定部306は、算出したラベルスコアに基づいて、カテゴリのラベルを決定する。これにより、決定部306は、共起度合いに基づいてラベル候補を特定することができる。その後、決定部306は、特定したラベル候補のカテゴリを特徴付ける観点からのラベルとしての尤度を示す特徴度に基づいて、ラベルを決定することができる。
決定したラベルは、例えば、RAM203、ディスク205などの記憶領域に記憶される。決定部306は、例えば、図2に示したROM202、RAM203、ディスク205などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、その機能を実現する。
出力部307は、複数のカテゴリのそれぞれのカテゴリのラベルに対応付けて、複数のカテゴリのそれぞれのカテゴリに分類した文書集合のそれぞれの文書を識別する情報を出力する。出力部307は、例えば、複数のカテゴリのそれぞれのカテゴリのラベルに対応付けて、複数のカテゴリのそれぞれのカテゴリに分類した文書集合のそれぞれの文書を識別する情報を、出力装置208になるディスプレイに表示する。
また、出力部307は、複数のカテゴリのそれぞれのカテゴリのラベルに対応付けて、複数のカテゴリのそれぞれのカテゴリに分類した文書集合のそれぞれの文書を識別する情報を、I/F206によって外部装置へ送信してもよい。また、出力部307は、複数のカテゴリのそれぞれのカテゴリのラベルに対応付けて、複数のカテゴリのそれぞれのカテゴリに分類した文書集合のそれぞれの文書を識別する情報を、RAM203やディスク205などの記憶領域に記憶してもよい。これにより、出力部307は、ユーザに、複数のカテゴリのそれぞれのカテゴリのラベルを通知することができる。
(実施例1)
次に、図4〜図10を用いて、実施例1について説明する。
<実施例1における文書DB400のデータ構造の一例>
図4は、実施例1における文書DB400のデータ構造の一例を示す説明図である。文書DB400は、例えば、図2に示したROM202、RAM203、ディスク205などの記憶領域によって実現される。
図4に示すように、文書DB400は、文書名項目に対応付けて、一文内容項目を有し、文書ごとに各項目に情報が設定されることにより、レコードを記憶する。文書名項目には、文書の名称が記憶される。一文内容項目には、文書名項目に名称が記憶された文書に含まれる一文の内容が記憶される。例えば、レコード401は、「文書A」と、「文書A」に含まれる「文1」とを示す文書情報に対応する。
また、文書DB400は、さらに、情報処理装置100が文書群のそれぞれの文書の種別、それぞれの文書を代表するキーワード、またはそれぞれの文書の属性に基づいて文書群を分類する場合には、メタデータ項目を有してもよい。メタデータ項目には、文書の種別、文書を代表するキーワード、または文書の属性などを示すメタデータが記憶される。
<実施例1におけるストップワードリスト500のデータ構造の一例>
図5は、実施例1におけるストップワードリスト500のデータ構造の一例を示す説明図である。ストップワードリスト500は、例えば、図2に示したROM202、RAM203、ディスク205などの記憶領域によって実現される。
図5に示すように、ストップワードリスト500は、ストップワード項目を有し、ストップワード項目に情報が設定されることにより、レコードを記憶する。ストップワード項目には、カテゴリのラベルとして使用しない語句が記憶される。例えば、レコード501は、「ストップワードA」を示す語句情報に対応する。
<実施例1における文書DB400の中から検索キーワードに関連する文書を抽出する一例>
実施例1において、情報処理装置100は、ユーザから検索キーワードの入力を受け付ける。そして、情報処理装置100は、文書群の中から検索キーワードに関連する文書を抽出する。情報処理装置100は、例えば、文書DB400のレコード群の文書名項目に記憶された文書の名称のうち、検索キーワードが出現する文書の名称を抽出する。
情報処理装置100は、具体的には、ユーザから検索キーワード「音声」の入力を受け付ける。次に、情報処理装置100は、文書DB400のレコード群のそれぞれのレコードの一文内容項目に記憶された一文の内容に検索キーワード「音声」が出現するか否かを判定する。そして、情報処理装置100は、検索キーワード「音声」が出現すると判定したレコードの文書名項目に記憶された文書の名称を抽出する。これにより、情報処理装置100は、階層化された複数のカテゴリに分類する対象になる、検索キーワードが出現する複数の文書を抽出することができる。
ここでは、検索キーワードが、1つのキーワードである場合について説明したが、これに限らない。例えば、検索キーワードは、複数のキーワードの組み合わせであってもよい。この場合では、情報処理装置100は、複数のキーワードのいずれかのキーワードが出現する文書を抽出する。また、情報処理装置100は、複数のキーワードが出現する文書を抽出してもよい。
また、例えば、検索キーワードは、自然文であってもよい。この場合では、情報処理装置100は、形態素解析によって自然文に出現するキーワードを抽出する。そして、情報処理装置100は、抽出したキーワードが出現する文書を抽出する。
<実施例1における複数の文書を複数のカテゴリに分類する一例>
図6は、実施例1における複数の文書を複数のカテゴリに分類する一例を示す説明図である。図6の例では、情報処理装置100は、抽出した複数の文書を、最上位カテゴリに分類する文書集合に設定する。そして、情報処理装置100は、最上位カテゴリに分類した文書集合を、複数の文書集合に分割する。
情報処理装置100は、例えば、最上位カテゴリに分類した文書集合について、図6に示す単語文書行列600を作成する。単語文書行列600の複数の行のそれぞれは、最上位カテゴリに分類した文書集合のそれぞれの文書に対応する。単語文書行列600の複数の列のそれぞれは、最上位カテゴリに分類した文書集合に出現する複数の語句のそれぞれに対応する。
単語文書行列600の要素は、当該要素がある行に対応する文書において、当該要素がある列に対応する語句が出現するか否かを示す値である。要素は、例えば、文書に語句が出現する場合には「1」である。要素は、文書に語句が出現しない場合には「0」である。また、要素は、文書に語句が出現する回数であってもよい。また、要素は、文書における語句についてのTF−IDFであってもよい。
次に、情報処理装置100は、単語文書行列600に基づいて、文書同士の類似度合いを示すコサイン類似度を算出する。情報処理装置100は、例えば、コサイン類似度として、cosθ=(nv・nw)/(|nv||nw|)を算出する。nvは、単語文書行列600のうちの文書vに対応する行にある要素を並べたベクトルである。nwは、単語文書行列600のうちの文書wに対応する行にある要素を並べたベクトルである。nv・nwは、nvとnwとの内積である。|nv|は、nvのベクトルの大きさである。|nw|は、nwのベクトルの大きさである。
2つのベクトルnvとベクトルnwとが同じ向きであれば、2つのベクトルnvとベクトルnwとの間の角度θは0°になり、cosθは1になる。一方で、2つのベクトルnvとベクトルnwとが逆向きであれば、2つのベクトルnvとベクトルnwとの間の角度θは180°になり、cosθは−1になる。換言すれば、文書vと文書wに出現する語句のパターンが似ているほど、コサイン類似度は1に近づく。また、文書vと文書wに出現する語句のパターンが似ていないほど、コサイン類似度は−1に近づく。そして、情報処理装置100は、コサイン類似度が1に最も近くなる文書同士を、最下位階層のカテゴリに分類される文書集合の1つとする。
次に、情報処理装置100は、ウォード法を用いて文書集合を併合する。情報処理装置100は、例えば、文書集合同士の距離関数の値を算出する。距離関数は、例えば、文書集合のそれぞれの文書に出現する語句のパターンを座標値とした場合における文書集合同士の中心座標間の距離を示す関数である。次に、情報処理装置100は、距離関数の値が最小になる文書集合同士を併合した1つの文書集合を特定する。そして、情報処理装置100は、2つのカテゴリに分類された2つの文書集合同士を併合した1つの文書集合を、当該2つのカテゴリの上位カテゴリに分類された文書集合とする。
さらに、情報処理装置100は、2つの文書集合を併合することを繰り返してもよい。そして、情報処理装置100は、2つの文書集合を併合する都度、2つの文書集合を併合した1つの文書集合を、2つの文書集合が分類されたカテゴリの上位カテゴリに分類された文書集合とする。これにより、情報処理装置100は、複数の文書を、階層化された複数のカテゴリに分類することができる。
ここで、情報処理装置100は、検索キーワードを、最上位カテゴリのラベルに決定しておく。そして、情報処理装置100は、検索キーワードを、最上位カテゴリのラベルとして付与する。また、情報処理装置100は、検索キーワードが複数のキーワードの組み合わせであれば、それぞれのキーワードを最上位カテゴリのラベルとして付与してもよい。換言すれば、情報処理装置100は、最上位カテゴリのラベルを複数付与してもよい。
ここでは、情報処理装置100が、コサイン類似度に基づいて最下位階層のカテゴリに分類する文書集合を作成する場合について説明したが、これに限らない。例えば、情報処理装置100は、文書集合同士の併合を繰り返した結果、併合された文書集合に含まれる文書の数が閾値以上になった場合に、併合された文書集合を最下位階層のカテゴリに分類された文書集合としてもよい。
ここでは、情報処理装置100が、最下位階層のカテゴリに分類する文書集合から、最下位階層よりも上位階層のカテゴリに分類する文書集合を作成する場合について説明したが、これに限らない。例えば、情報処理装置100は、最上位階層のカテゴリに分類する文書集合のうち、あるキーワードが出現する文書集合を、最上位階層よりも下位階層のカテゴリに分類する文書集合としてもよい。そして、情報処理装置100は、最上位階層よりも下位階層のカテゴリに分類する文書集合のうち、別のキーワードが出現する文書集合を、さらに下位階層のカテゴリに分類する文書集合としてもよい。
<実施例1における複数のカテゴリのいずれかのカテゴリのラベル候補を特定する一例>
図7は、実施例1における複数のカテゴリのいずれかのカテゴリのラベル候補を特定する一例を示す説明図である。情報処理装置100は、TF−IDFを用いて、複数のカテゴリのうち、ラベルを付与済みの最上位カテゴリを除くいずれかのカテゴリのラベル候補を特定する。
情報処理装置100は、例えば、ラベル候補を特定する対象として、第1階層のカテゴリを選択する。次に、情報処理装置100は、選択したカテゴリに分類した文書集合に出現する語句を抽出する。ここで、抽出した語句をxとする。選択したカテゴリに分類した文書集合をyとする。そして、情報処理装置100は、抽出した語句のラベルスコアとして、TFx,y×IDFxを算出する。
ここで、TFx,y=nx,y/Σznz,yである。また、IDFx=log{D/df(x)}である。nx,yは、抽出した語句xの文書集合yにおける出現回数である。nz,yは、文書集合yに出現する語句zの文書集合yにおける出現回数である。Dは、最上位カテゴリに分類した文書集合に含まれる文書の数である。df(x)は、最上位カテゴリに分類した文書集合のうちの語句xが出現する文書の数である。
次に、情報処理装置100は、抽出した語句をラベルスコアが高い順にソートする。そして、情報処理装置100は、ラベルスコアが所定の順位までの語句を、ラベル候補を特定する対象として選択したカテゴリのラベル候補として特定する。
図7の例では、情報処理装置100は、選択した第1階層のカテゴリに分類した文書集合に出現する「ユーザ」、「確認」、「音声認識」、「判定」、「発明」、「ポイント」、「遅延」などの語句を抽出する。次に、情報処理装置100は、抽出した語句のラベルスコアを算出する。そして、情報処理装置100は、ラベルスコアが上位5位までの語句「ユーザ」、「確認」、「音声認識」、「判定」、「発明」を、ラベル候補として特定する。これにより、情報処理装置100は、カテゴリを特徴付ける観点からラベルとして尤もらしいラベル候補を特定することができる。
ここでは、情報処理装置100が、ラベルスコアが所定の順位までの語句を、カテゴリのラベル候補として特定する場合について説明したが、これに限らない。例えば、情報処理装置100は、ラベルスコアが閾値以上の語句を、カテゴリのラベル候補として特定してもよい。また、情報処理装置100は、ラベルスコアが閾値以上であって、かつ、ラベルスコアが所定の順位までの語句を、カテゴリのラベル候補として特定してもよい。
<実施例1における複数のカテゴリのいずれかのカテゴリのラベル候補を特定する他の例>
情報処理装置100は、C−Valueを用いて、複数のカテゴリのうち、ラベルを付与済みの最上位カテゴリを除くいずれかのカテゴリのラベル候補を特定してもよい。情報処理装置100は、例えば、第1階層のカテゴリに分類した文書集合に出現する語句を抽出する。次に、情報処理装置100は、抽出した語句のラベルスコアとして、C−Value(CN)を算出する。
ここで、C−Value(CN)=(length(CN)−1)×(n(CN)−t(CN)/c(CN))である。CNは、抽出した語句である。length(CN)は、抽出した語句の長さである。n(CN)は、文書集合において、抽出した語句が出現する回数である。t(CN)は、文書集合において、抽出した語句を含む複合語が出現する回数である。c(CN)は、文書集合に出現する、抽出した語句を含む複合語の種類の数である。
次に、情報処理装置100は、文書集合に出現する語句をラベルスコアの高い順にソートする。そして、情報処理装置100は、ラベルスコアが所定の順位までの語句を、ラベル候補として特定する。これにより、情報処理装置100は、カテゴリを特徴付ける観点からラベルとして尤もらしいラベル候補を特定することができる。
ここでは、情報処理装置100が、ラベルスコアが所定の順位までの語句を、カテゴリのラベル候補として特定する場合について説明したが、これに限らない。例えば、情報処理装置100は、ラベルスコアが閾値以上の語句を、カテゴリのラベル候補として特定してもよい。また、情報処理装置100は、ラベルスコアが閾値以上であって、かつ、ラベルスコアが所定の順位までの語句を、カテゴリのラベル候補として特定してもよい。
また、ここでは、情報処理装置100が、TF−IDFまたはC−Valueに基づいて、ラベル候補を特定する場合について説明したが、これに限らない。例えば、情報処理装置100は、TF−IDFが閾値以上であって、かつ、C−Valueが閾値以上である語句を、ラベル候補として特定してもよい。また、情報処理装置100は、TF−IDFに基づいてラベル候補を特定することができなかった場合に、C−Valueに基づいてラベル候補を特定するようにしてもよい。
<実施例1におけるラベル候補の連想スコアを算出する一例>
図8は、実施例1におけるラベル候補の連想スコアを算出する一例を示す説明図である。情報処理装置100は、特定したラベル候補のそれぞれの連想スコアを算出する。
ここで、上位カテゴリのラベルをi、ラベル候補の特定元のカテゴリのラベル候補をj、最上位カテゴリに分類した文書集合をNとし、所定数連続する複数の文をsとする。また、Nに含まれる複数のsにおけるjの出現回数をΣs∈Ns(j)とする。また、Nに含まれる複数のsにおけるiとjとの組み合わせの出現回数をΣs∈Ns(i∩j)とする。Σs∈Ns(i∩j)は、iとjとの組み合わせの共起回数に対応する。情報処理装置100は、例えば、上位カテゴリのラベルがiである場合のjの連想スコアa(j|i)=Σs∈Ns(i∩j)/Σs∈Ns(j)を算出する。そして、情報処理装置100は、連想スコアが最も高いラベル候補「音声認識」を、カテゴリのラベルに決定する。
また、情報処理装置100は、上位カテゴリのラベルiが複数ある場合には、それぞれのラベルiについてjの連想スコアa(j|i)を算出してもよい。そして、情報処理装置100は、算出した連想スコアa(j|i)の和、または算出した連想スコアa(j|i)の平均値を算出する。そして、情報処理装置100は、連想スコアの和、または連想スコアの平均値が最も高いラベル候補「音声認識」を、カテゴリのラベルに決定する。
ここで、上位カテゴリのラベルY、選択したカテゴリのラベル候補A、Bとした場合を例に挙げる。この場合、図8のように、ラベルYが出現する文書集合801とラベル候補Aが出現する文書集合802との積集合803のうち、ハッチを付したラベルYとラベル候補Aが共起する文書集合804に含まれる文書の数が、ラベル候補Aの連想スコアの分子となる。一方で、ラベル候補Aが出現する文書集合802に含まれる文書の数が、ラベル候補Aの連想スコアの分母となる。
同様に、図8のように、ラベルYが出現する文書集合801とラベル候補Bが出現する文書集合805との積集合805のうち、ハッチを付したラベルYとラベル候補Bが共起する文書集合806に含まれる文書の数が、ラベル候補Bの連想スコアの分子となる。一方で、ラベル候補Bが出現する文書集合805に含まれる文書の数が、ラベル候補Bの連想スコアの分母となる。
これにより、情報処理装置100は、上位カテゴリのラベルと、選択したカテゴリのラベル候補が共起する文書の数が多くなるほど、連想スコアが大きくなるようにすることができる。また、情報処理装置100は、上位カテゴリのラベルと、選択したカテゴリのラベル候補が共起する文書の数に比べて、選択したカテゴリのラベル候補が出現する文書の数が多くなるほど、連想スコアが小さくなるようにすることができる。換言すれば、情報処理装置100は、上位カテゴリのラベルが出現する文書集合と、選択したカテゴリのラベル候補が出現する文書集合とが重複しないほど、連想スコアが小さくなるようにすることができる。
また、情報処理装置100は、選択したカテゴリの上位カテゴリが複数ある場合には、上位カテゴリのラベルの集合をIとして、上位カテゴリのラベル集合がIの場合のjの連想スコアa(j|I)=Σs∈NΣi∈Is(i∩j)/Σs∈Ns(j)を算出してもよい。これにより、情報処理装置100は、上位カテゴリのそれぞれのラベルとの関連性の観点からのラベルとしての尤度を示す連想スコアを算出することができる。
結果として、ユーザは、あるカテゴリに分類された文書集合が、上位カテゴリのそれぞれのラベルが示す話題についての文書集合のうちの、何の話題について細かく分類された文書集合であるかを把握しやすくなる。また、情報処理装置100は、直上位カテゴリのラベルとの関連性の観点からではラベル候補同士の連想スコアの差が小さいためにラベルを決定しにくい場合であっても、連想スコアの差を大きくしてラベルを決定しやすくすることができることがある。
ここでは、情報処理装置100が、上位カテゴリがiである場合のjの連想スコアa(j|i)=Σs∈Ns(i∩j)/Σs∈Ns(j)を算出する場合について説明したが、これに限らない。例えば、情報処理装置100は、連想スコアa(j|i)の分子として、最上位カテゴリではなく、ラベル候補の特定元のカテゴリに分類した文書集合nについての共起度合いを示すΣs∈ns(i∩j)を用いてもよい。
また、情報処理装置100は、連想スコアa(j|i)の分子として、ラベル候補の特定元のカテゴリとは異なる他のカテゴリに分類した文書集合についての共起度合いを示す値を用いてもよい。また、例えば、情報処理装置100は、連想スコアa(j|i)の分母として、文書集合Nに含まれる複数のsにおいてiとjとの組み合わせが出現しない回数を用いてもよい。
<実施例1におけるラベル候補の中からラベルを決定する一例>
図9は、実施例1におけるラベル候補の中からラベルを決定する一例を示す説明図である。情報処理装置100は、算出した連想スコアに基づいてラベル候補の中からカテゴリに付与するラベルを決定する。図9の例では、情報処理装置100は、ラベル候補「ユーザ」、「確認」、「音声認識」、「判定」、「発明」のうちの、連想スコアが最も高いラベル候補「音声認識」を、選択したカテゴリのラベルに決定する。
これにより、情報処理装置100は、上位カテゴリのラベルと関連性があるラベルを、選択したカテゴリのラベルに決定することができる。このため、ユーザは、カテゴリのラベルを参照して、あるカテゴリのラベルが示す話題についての文書のうち、何の話題についての文書が下位カテゴリに分類されたかを把握することができる。
ここでは、情報処理装置100が、連想スコアが最も高いラベル候補を、カテゴリのラベルに決定する場合について説明したが、これに限らない。例えば、情報処理装置100は、ラベル候補を連想スコアが高い順にソートし、所定の順位までのラベル候補を、カテゴリのラベルに決定してもよい。また、情報処理装置100は、連想スコアが閾値以上であるラベル候補を、カテゴリのラベルに決定してもよい。また、情報処理装置100は、連想スコアが閾値以上であるラベル候補がない場合には、ラベル候補を特定しなおしてもよい。
ここで、情報処理装置100は、カテゴリのラベルを決定した後、まだラベルを決定していないカテゴリが残っていれば、図7を用いて上述したラベル候補を特定する処理に戻る。そして、情報処理装置100は、まだラベルを決定していないカテゴリのラベル候補が特定された場合には、カテゴリのラベルを決定する。これにより、情報処理装置100は、複数のカテゴリのそれぞれのカテゴリのラベルを決定することができる。
<実施例1における表示画面の一例>
図10は、実施例1における表示画面の一例を示す説明図である。情報処理装置100は、階層化された複数のカテゴリのそれぞれのカテゴリのラベルを表示する。図10の例では、情報処理装置100は、最上位カテゴリのラベルと最上位カテゴリに分類された文書の数とを表示するとともに、最上位カテゴリの下位カテゴリとなる第1階層のそれぞれのカテゴリのラベルを表示するための展開ボタン1001を表示する。情報処理装置100は、例えば、最上位カテゴリのラベルと最上位カテゴリに分類された文書の数とを対応付けた「音声(6634)」を表示する。
また、情報処理装置100は、最上位カテゴリに対応する展開ボタン1001がクリックされると、第1階層のそれぞれのカテゴリに分類された文書の数と第1階層のそれぞれのカテゴリのラベルとを表示する。情報処理装置100は、例えば、第1階層のカテゴリのラベルと第1階層のカテゴリに分類された文書の数とを対応付けた「技術(2949)」や「音声認識(1222)」などを表示する。
また、情報処理装置100は、第1階層のそれぞれのカテゴリの下位カテゴリとなる第2階層のそれぞれのカテゴリのラベルを表示するための展開ボタンを表示する。情報処理装置100は、例えば、「音声認識」が付与された第1階層のカテゴリの下位カテゴリとなる第2階層のそれぞれのカテゴリのラベルを表示するための展開ボタン1002を表示する。
同様に、情報処理装置100は、第1階層のカテゴリに対応する展開ボタンがクリックされると、当該カテゴリの下位カテゴリになる第2階層の複数のカテゴリのそれぞれのカテゴリに分類された文書の数と、それぞれのカテゴリのラベルとを表示する。情報処理装置100は、例えば、展開ボタン1002をクリックされると、第2階層のカテゴリのラベルと第2階層のカテゴリに分類された文書の数とを対応付けた「区間(164)」や「対話(104)」などを表示する。
また、情報処理装置100は、それぞれのラベルがクリックされると、それぞれのラベルが付与されたカテゴリに分類された文書集合に含まれる文書の数と、文書集合のそれぞれの文書の名称の一覧を表示する。情報処理装置100は、例えば、ラベル1003がクリックされると、ラベル1003が付与されたカテゴリに分類された「音声認識」についての文書集合に含まれる文書の数と、「音声認識」についての文書集合のそれぞれの文書の名称の一覧とを表示する。
これにより、情報処理装置100は、ユーザが所望の文書を発見することを支援することができる。例えば、ユーザが、音声認識に関する所望の文書を探す場合に、所望の文書に固有の検索キーワードが思い浮かばないため、検索キーワード「音声」を情報処理装置100に入力した場合を例に挙げる。この場合には、情報処理装置100は、図10に示す表示画面を表示することになる。
ここで、ユーザは、第1階層のカテゴリのラベルのうち、所望の文書に関連する話題を示す「音声認識」のラベルを見つける。次に、ユーザは、ラベル「音声認識」をクリックする。情報処理装置100は、ラベル「音声認識」がクリックされると、音声認識についての文書の名称の一覧を表示する。そして、ユーザは、表示された音声認識についての文書の名称の一覧を参照して、所望の文書を探すことができる。これにより、ユーザは、所望の文書が含まれないカテゴリに分類された文書集合の中から所望の文書を探す作業を回避しやすくなり、所望の文書を探しやすくなる。
また、ユーザは、所望の文書がさらに「発話時の音声認識」の話題についての文書であることを把握していれば、さらに、第2階層のカテゴリのラベル「発話」をクリックすれば、発話時の音声認識についての文書の名称の一覧を参照することができる。これにより、ユーザは、所望の文書が含まれないカテゴリに分類された文書集合の中から所望の文書を探す作業を回避しやすくなり、所望の文書を探しやすくなる。
このように、ユーザは、あるカテゴリのラベルが示す話題についての文書のうち、何の話題についての文書が下位カテゴリに分類されているかを把握して、所望の文書を探索することができる。このため、ユーザは、所望の文書を発見するまでに、所望の文書が含まれないカテゴリに分類された文書集合の中から所望の文書を探してしまうことが少なくなり、所望の文書を効率よく探索することができる。
ここでは、情報処理装置100が、展開ボタンを表示することにより、順次、下位階層のカテゴリのラベルを表示していく場合について説明したが、これに限らない。例えば、情報処理装置100は、階層化された複数のカテゴリのそれぞれのカテゴリのラベルをまとめて表示してもよい。
以上のように、実施例1では、情報処理装置100が、1つのカテゴリのラベル候補を特定する都度、当該カテゴリのラベルを決定する場合について説明したが、これに限らない。例えば、情報処理装置100は、複数のカテゴリのそれぞれのカテゴリのラベル候補を特定してから、複数のカテゴリのそれぞれのカテゴリのラベルを決定してもよい。
また、実施例1では、情報処理装置100が、複数の文書を階層化された複数のカテゴリに分類し終えてから、複数のカテゴリのそれぞれのカテゴリのラベルを決定する場合について説明したが、これに限らない。例えば、情報処理装置100は、複数の文書を階層化された複数のカテゴリに分類する途中で、文書集合が分類されたカテゴリのラベルを決定してもよい。具体的には、情報処理装置100は、ある階層のカテゴリのラベルを決定してから、ある階層のカテゴリに分類された文書集合を併合した1つの文書集合が分類された、ある階層よりも上位階層のカテゴリを作成してもよい。
<実施例1における検索処理手順の一例>
次に、図11を用いて、実施例1における検索処理手順の一例について説明する。
図11は、実施例1における検索処理手順の一例を示すフローチャートである。図11において、情報処理装置100は、図12に後述する分類処理を実行することにより、複数の文書を階層化された複数のカテゴリに分類する(ステップS1101)。
次に、情報処理装置100は、図13に後述する特定処理を実行することにより、複数のカテゴリのそれぞれのカテゴリのラベル候補を特定する(ステップS1102)。そして、情報処理装置100は、図14に後述する決定処理を実行することにより、複数のカテゴリのそれぞれのカテゴリのラベルを決定する(ステップS1103)。
次に、情報処理装置100は、複数のカテゴリのそれぞれのカテゴリのラベルに対応付けて、当該カテゴリに分類された文書集合のそれぞれの文書の名称を出力する(ステップS1104)。そして、情報処理装置100は、検索処理を終了する。これにより、情報処理装置100は、ユーザが所望の文書を探索しやすくすることができる。
<実施例1における分類処理手順の一例>
次に、図12を用いて、図11のステップS1101に示した、実施例1における複数の文書を複数のカテゴリに分類する分類処理手順の一例について説明する。
図12は、実施例1における分類処理手順の一例を示すフローチャートである。図12において、情報処理装置100は、検索キーワードの入力を受け付ける(ステップS1201)。
次に、情報処理装置100は、文書DB400に記憶された文書群の中から、入力された検索キーワードに関連する文書を抽出する(ステップS1202)。そして、情報処理装置100は、抽出した複数の文書について単語文書行列600を作成する(ステップS1203)。
次に、情報処理装置100は、文書同士のコサイン類似度を算出し、最下位カテゴリに分類する文書集合を作成する(ステップS1204)。そして、情報処理装置100は、ウォード法を用いて、文書集合同士を併合した、上位カテゴリに分類する文書集合を作成する(ステップS1205)。その後、情報処理装置100は、分類処理を終了する。これにより、情報処理装置100は、複数の文書を階層化された複数のカテゴリに分類することができる。
<実施例1における特定処理手順の一例>
次に、図13を用いて、図11のステップS1102に示した、実施例1における複数のカテゴリのそれぞれのカテゴリのラベル候補を特定する特定処理手順の一例について説明する。
図13は、実施例1における特定処理手順の一例を示すフローチャートである。図13において、情報処理装置100は、複数のカテゴリのうちのいずれかのカテゴリを選択し、選択したカテゴリに分類された文書集合から、特定の品詞として認識される語句を抽出する(ステップS1301)。
次に、情報処理装置100は、ストップワードリスト500に基づいて、抽出した語句の中から、ストップワードと一致する語句を除外する(ステップS1302)。そして、情報処理装置100は、除外後に残った語句のラベルスコアを算出する(ステップS1303)。
次に、情報処理装置100は、除外後に残った語句をラベルスコアが高い順にソートし、所定の順位までの語句をラベル候補として特定する(ステップS1304)。そして、情報処理装置100は、全てのカテゴリについてラベル候補を特定したか否かを判定する(ステップS1305)。ここで、ラベル候補を特定していないカテゴリがある場合(ステップS1305:No)、情報処理装置100は、ステップS1301の処理に戻る。
一方で、全てのカテゴリについてラベル候補を特定した場合(ステップS1305:Yes)、情報処理装置100は、最上位カテゴリのラベルを決定し(ステップS1306)、特定処理を終了する。
ステップS1306において、情報処理装置100は、例えば、最上位カテゴリのラベル候補のうちのラベルスコアが最も高いラベル候補を、最上位カテゴリのラベルに決定する。また、情報処理装置100は、検索キーワードを、最上位カテゴリのラベルに決定してもよい。情報処理装置100は、検索キーワードを、最上位カテゴリのラベルに決定する場合には、ステップS1301において最上位カテゴリを選択しなくてもよい。
これにより、情報処理装置100は、ラベル候補として、カテゴリを特徴付ける観点からのラベルとしての尤度が相対的に高い語句を特定することができる。また、情報処理装置100は、最上位カテゴリのラベルを決定することができる。
<実施例1における決定処理手順の一例>
次に、図14を用いて、図11のステップS1103に示した、実施例1における複数のカテゴリのそれぞれのラベルを決定する決定処理手順の一例について説明する。
図14は、実施例1における決定処理手順の一例を示すフローチャートである。図14において、情報処理装置100は、ラベルを決定していないカテゴリのうちで、最も上の階層にあるカテゴリを選択する(ステップS1401)。
次に、情報処理装置100は、選択したカテゴリのラベル候補の中から、選択したカテゴリの上位カテゴリのラベルと一致するラベル候補を除外する(ステップS1402)。そして、情報処理装置100は、選択したカテゴリが第1階層のカテゴリであるか否かを判定する(ステップS1403)。ここで、第1階層のカテゴリである場合(ステップS1403:Yes)、情報処理装置100は、除外後に残ったラベル候補と、選択したカテゴリの上位カテゴリのラベルとに基づいて、除外後に残ったラベル候補の連想スコアを算出し(ステップS1404)、ステップS1406の処理に移行する。
一方で、第1階層のカテゴリではない場合(ステップS1403:No)、情報処理装置100は、除外後に残ったラベル候補と、選択したカテゴリの上位カテゴリのそれぞれのラベルとに基づいて、除外後に残ったラベル候補の連想スコアを算出し(ステップS1405)、ステップS1406の処理に移行する。
ステップS1406において、情報処理装置100は、連想スコアが最も高いラベル候補を、選択したカテゴリのラベルに決定する(ステップS1406)。次に、情報処理装置100は、全てのカテゴリについてラベルを決定したか否かを判定する(ステップS1407)。ここで、ラベルを決定していないカテゴリがある場合(ステップS1407:No)、情報処理装置100は、ステップS1401の処理に戻る。
一方で、全てのカテゴリについてラベルを決定した場合(ステップS1407:Yes)、情報処理装置100は、決定処理を終了する。これにより、情報処理装置100は、上位カテゴリのラベルとの関連性の観点からのラベルとしての尤度が相対的に最も高いラベル候補を、ラベルに決定することができる。
また、情報処理装置100は、ステップS1404およびステップS1405の連想スコアの算出式の代わりに、Σs∈Ns(i∩j)およびΣs∈NΣi∈Is(i∩j)を用いてもよい。これにより、情報処理装置100は、上位カテゴリのラベルと、選択したカテゴリのラベル候補が共起する文書の数が多くなるほど、連想スコアが大きくなるようにすることができる。
(実施例2)
次に、実施例2について説明する。実施例1は、文書中の所定数連続する複数の文においてラベル候補と上位カテゴリのラベルとが共起するか否かに基づいて、連想スコアを算出する実施例である。これに対し、実施例2は、文書中の全文においてラベル候補と上位カテゴリのラベルとが共起するか否かに基づいて、連想スコアを算出する実施例である。
<実施例2における文書DB400のデータ構造の一例>
図15は、実施例2における文書DB400のデータ構造の一例を示す説明図である。文書DB400は、例えば、図2に示したROM202、RAM203、ディスク205などの記憶領域によって実現される。
図15に示すように、文書DB400は、文書名項目に対応付けて、全文内容項目を有し、文書ごとに各項目に情報が設定されることにより、レコードを記憶する。文書名項目には、文書の名称が記憶される。全文内容項目には、文書名項目に記憶された名称の文書の全文の内容が記憶される。例えば、レコード1501は、「文書A」と、「文書A」に含まれる「全文1」とを示す文書情報に対応する。
以下、実施例2における情報処理装置100の処理の一例について説明する。実施例2において、情報処理装置100は、実施例1と同様に、実施例2における文書DB400の中から検索キーワードに関連する文書を抽出する。次に、情報処理装置100は、実施例1と同様に、抽出した複数の文書を複数のカテゴリに分類する。そして、情報処理装置100は、実施例1と同様に、複数のカテゴリのそれぞれのカテゴリのラベル候補を特定する。
<実施例2におけるラベル候補の連想スコアを算出する一例>
実施例2において、情報処理装置100は、特定したラベル候補のそれぞれの連想スコアを算出する。ここで、上位カテゴリのラベルをi、上位カテゴリのラベル候補をj、検索対象全体の文書集合をNとする。また、Nのそれぞれの文書nにおけるjの出現回数をΣn∈Ns(j)とする。また、Nのそれぞれのnにおけるiとjとの組み合わせの出現回数をΣn∈Ns(i∩j)とする。情報処理装置100は、例えば、jの連想スコアa(j|i)=Σn∈Ns(i∩j)/Σn∈Ns(j)を算出する。そして、情報処理装置100は、連想スコアが最も高いラベル候補「音声認識」を、カテゴリのラベルに決定する。
これにより、情報処理装置100は、上位カテゴリのラベルと、選択したカテゴリのラベル候補が共起する文書の数が多くなるほど、連想スコアが大きくなるようにすることができる。また、情報処理装置100は、上位カテゴリのラベルと、選択したカテゴリのラベル候補が共起する文書の数に比べて、選択したカテゴリのラベル候補が出現する文書の数が多くなるほど、連想スコアが小さくなるようにすることができる。
また、これにより、情報処理装置100は、文書中に、名称候補と、上位カテゴリを特徴付ける名称とが、どれだけ離れて出現していても、共起する組み合わせと判定することができる。このため、情報処理装置100は、同一の話題について述べた、関連する語句の組み合わせを、異なる話題について述べた、関連性が相対的に低い語句の組み合わせとしてしまうことを抑制することができる。結果として、情報処理装置100は、文間に連続性がある文書の集まりではない文書集合が分類されたカテゴリについて、ラベル候補と、上位カテゴリを特徴付けるラベルとの組み合わせが、関連する語句の組み合わせであるか否かを精度よく判定することができる。
情報処理装置100は、例えば、あるカテゴリに分類された文書集合が、プレゼンテーション用文書または表計算用文書などの文書の集まりである場合などには、文間に連続性がある文書の集まりではないと判定する。これにより、情報処理装置100は、文間に連続性がある文書の集まりではない文書集合が分類されたカテゴリについて、ラベル候補と、上位カテゴリを特徴付けるラベルとの組み合わせが、関連する語句の組み合わせであるか否かを精度よく判定することができる。
また、情報処理装置100は、選択したカテゴリの上位カテゴリが複数ある場合には、上位カテゴリのラベルの集合をIとして、jの連想スコアa(j|I)=Σn∈NΣi∈Is(i∩j)/Σn∈Ns(j)を算出してもよい。これにより、情報処理装置100は、上位カテゴリのそれぞれのラベルとの関連性の観点からのラベルとしての尤度を示す連想スコアを算出することができる。
結果として、ユーザは、あるカテゴリに分類された文書集合が、上位カテゴリのそれぞれのラベルが示す話題についての文書集合のうちの、何の話題について細かく分類された文書集合であるかを把握しやすくなる。また、情報処理装置100は、直上位カテゴリのラベルとの関連性の観点からではラベル候補同士の連想スコアの差が小さいためにラベルを決定しにくい場合であっても、連想スコアの差を大きくしてラベルを決定しやすくすることができることがある。
その後、実施例2において、情報処理装置100は、実施例1と同様にして、階層化された複数のカテゴリのそれぞれのカテゴリのラベル候補に基づいて、それぞれのカテゴリのラベルを決定する。そして、実施例2において、情報処理装置100は、実施例1と同様にして、階層化された複数のカテゴリのそれぞれのカテゴリのラベルを表示する。
これにより、情報処理装置100は、ユーザが所望の文書を発見することを支援することができる。ユーザは、例えば、あるカテゴリのラベルが示す話題についての文書のうち、何の話題についての文書が下位カテゴリに分類されているかを把握して、所望の文書を探索することができる。このため、ユーザは、所望の文書を発見するまでに、所望の文書が含まれないカテゴリに分類された文書集合の中を探索してしまうことが少なくなり、所望の文書を効率よく探索することができる。
実施例2では、情報処理装置100が、文書中の全文においてラベル候補と上位カテゴリのラベルとが共起するか否かに基づいて、連想スコアを算出する場合について説明したが、これに限らない。例えば、情報処理装置100は、文書集合に含まれる文書の種別に応じて、実施例1の連想スコアの算出式と、実施例2の連想スコアの算出式とを使い分けてもよい。情報処理装置100は、文書集合に種々の種別の文書が含まれる場合には、文書集合の中で最も多い種別に応じて、実施例1の連想スコアの算出式と、実施例2の連想スコアの算出式とを使い分ける。これにより、情報処理装置100は、文書集合に含まれる文書の種別に応じて、ラベル候補と、上位カテゴリを特徴付けるラベルとの組み合わせが、関連する語句の組み合わせであるか否かを精度よく判定することができる。
また、例えば、情報処理装置100は、ユーザから、実施例1の連想スコアの算出式と、実施例2の連想スコアの算出式とのいずれかを選択する入力を受け付けてもよい。そして、情報処理装置100は、ユーザの選択に応じて、実施例1の連想スコアの算出式と、実施例2の連想スコアの算出式とを使い分ける。また、例えば、情報処理装置100は、検索条件として文書の種別が入力されていれば、当該文書の種別に応じて、実施例1の連想スコアの算出式と、実施例2の連想スコアの算出式とを使い分けてもよい。
<実施例2における検索処理手順の一例>
実施例2における検索処理手順の一例については、実施例1における検索処理手順の一例と同様であるため、説明を省略する。また、実施例2における検索処理手順において実行される、分類処理手順、特定処理手順の一例については、実施例1における分類処理手順、特定処理手順の一例と同様であるため、説明を省略する。
ここで、実施例2における検索処理手順において実行される決定処理手順の一例について説明する。実施例2における決定処理手順は、ステップS1404,S1405を除き、実施例1における決定処理手順と同様である。実施例2における決定処理手順においては、ステップS1404,S1405において用いられる連想スコアの算出式が、上述した実施例2の連想スコアの算出式に置換されることになる。
(実施例3)
次に、実施例3について説明する。実施例1は、複数のカテゴリのうちの最上位カテゴリ以外のカテゴリについてラベル候補を特定し、当該カテゴリのラベルを決定する実施例である。これに対し、実施例3は、複数のカテゴリのうちの、最上位カテゴリから所定階層のカテゴリまでを除く、所定階層よりも下位階層のカテゴリについてラベル候補を特定し、当該カテゴリのラベルを決定する場合の実施例である。
実施例3は、例えば、最上位カテゴリから所定階層のカテゴリまでのラベルが、予め設定されている場合に適用される。実施例3は、具体的には、既に人手によって最上位カテゴリから所定階層のカテゴリまでについては分類済みの文書群が、情報処理装置100によって取得され、さらに所定階層よりも下位階層のカテゴリに分類される場合に適用される。そして、実施例3は、所定階層よりも下位階層のカテゴリのラベルを決定する。
また、実施例3は、例えば、最上位カテゴリから所定階層のカテゴリまでは何の話題についての文書を分類するかといった規則が、予め決定されている場合に適用される。実施例3は、具体的には、最上位カテゴリに文書群のうちの検索キーワードが出現する文書を分類し、第1階層のカテゴリにはさらに予め設定されたキーワードが出現する文書を分類するといった規則が決定されている場合に適用される。
以下、実施例3における情報処理装置100の処理の一例について説明する。実施例3において、情報処理装置100は、実施例1と同様に、実施例1または実施例2における文書DB400の中から検索キーワードに関連する文書を抽出する。情報処理装置100は、抽出した文書集合を最上位カテゴリに分類する。
<実施例3における複数の文書を複数のカテゴリに分類する一例>
図16は、実施例3における階層化された複数のカテゴリの一例を示す説明図である。図16において、情報処理装置100は、最上位カテゴリの下位カテゴリに、最上位カテゴリに分類した文書集合のうちの予め設定されたキーワードが出現する文書集合を分類する。ここでは、第1階層についてのキーワードとして「依頼」と「連絡」とが設定され、第1階層のカテゴリにそれぞれのキーワードが示す話題についての文書が分類されるといった規則が決定されているとする。
情報処理装置100は、例えば、最上位カテゴリに分類した文書集合のうちのキーワード「依頼」が出現する文書集合を、第1階層のカテゴリ1601に分類する。また、情報処理装置100は、最上位カテゴリに分類した文書集合のうちのキーワード「連絡」が出現する文書集合を、第1階層の他のカテゴリ1602に分類する。情報処理装置100は、第2階層以下のカテゴリに分類する文書集合については、実施例1と同様にして作成する。
実施例3において、情報処理装置100は、実施例1と同様に、所定階層より下位階層のカテゴリについてはラベル候補を特定する。実施例3において、情報処理装置100は、最上位階層から所定階層までのカテゴリについてはラベル候補を特定しなくてもよい。
<実施例3における最上位階層から所定階層までのカテゴリのラベルを決定する一例>
実施例3において、情報処理装置100は、最上位階層から第1階層までのカテゴリのラベルを決定する。
図16において、情報処理装置100は、例えば、予め設定されたキーワード「依頼」を、予め設定されたキーワード「依頼」が出現する文書集合が分類された第1階層のカテゴリ1601のラベルとして決定する。また、情報処理装置100は、予め設定されたキーワード「連絡」を、予め設定されたキーワード「連絡」が出現する文書集合が分類された第1階層のカテゴリ1602のラベルとして決定する。
これにより、情報処理装置100は、最上位階層から所定階層までのカテゴリのラベルを、予め設定されたキーワードにすることができる。このため、情報処理装置100は、最上位カテゴリに分類された文書集合を分類する条件として設定されたキーワードなどを、ラベルとして用いることができる。
実施例3において、情報処理装置100は、実施例1と同様にして、所定階層より下位階層のカテゴリについてはラベルを決定する。そして、情報処理装置100は、実施例1と同様にして、階層化された複数のカテゴリのそれぞれのカテゴリのラベルを表示する。
これにより、情報処理装置100は、ユーザが所望の文書を発見することを支援することができる。ユーザは、例えば、あるカテゴリのラベルが示す話題についての文書のうち、何の話題についての文書が下位カテゴリに分類されているかを把握して、所望の文書を探索することができる。このため、ユーザは、所望の文書を発見するまでに、所望の文書が含まれないカテゴリに分類された文書集合の中を探索してしまうことが少なくなり、所望の文書を効率よく探索することができる。
実施例3によれば、情報処理装置100は、予めラベルが設定されたカテゴリについては、ラベルを決定する処理を行わなくてもよいため、ラベルを決定する処理を効率化することができる。情報処理装置100は、あるカテゴリに何の話題についての文書が分類されるか決定されていれば、予め設定された当該話題を示すラベルを当該カテゴリに付与することができる。このため、情報処理装置100は、何の話題についての文書が分類されたカテゴリであるかをユーザが把握しやすくなるようにラベルを付与することができる。
<実施例3における検索処理手順の一例>
実施例3における検索処理手順の一例については、実施例1における検索処理手順の一例と同様であるため、説明を省略する。また、実施例3における検索処理手順において実行される決定処理手順の一例については、実施例1における決定処理手順の一例と同様であるため、説明を省略する。
ここで、実施例3における検索処理手順において実行される分類処理手順の一例について説明する。実施例3における分類処理手順は、ステップS1202を除き、実施例1における分類処理手順と同様である。実施例3における分類処理手順においては、ステップS1202の処理が、文書群の中から検索キーワードに関連する文書を抽出し、抽出した文書集合の中から予め設定されたキーワードのそれぞれに関連する文書を抽出する処理に置換されることになる。
また、実施例3における検索処理手順において実行される特定処理手順について説明する。実施例3における特定処理手順は、ステップS1306を除き、実施例1における特定処理手順と同様である。実施例3における特定処理手順においては、ステップS1306の処理が、最上位階層から所定階層までのカテゴリのラベルを決定する処理に置換されることになる。
(実施例4)
次に、実施例4について説明する。実施例1は、カテゴリに分類された文書集合に出現する語句の中から、ラベルスコアに基づいてラベル候補を抽出し、連想スコアに基づいてラベルを決定する実施例である。これに対し、実施例4は、カテゴリに分類された文書集合に出現する語句の中から、連想スコアに基づいてラベル候補を抽出し、ラベルスコアに基づいてラベルを決定する実施例である。
以下、実施例4における情報処理装置100の処理の一例について説明する。実施例4において、情報処理装置100は、実施例1と同様に、実施例1または実施例2における文書DB400の中から検索キーワードに関連する文書を抽出する。次に、情報処理装置100は、実施例1と同様に、抽出した複数の文書を複数のカテゴリに分類する。
<実施例4における複数のカテゴリのそれぞれのカテゴリのラベル候補を抽出する一例>
次に、実施例4において、情報処理装置100は、実施例1とは異なり、連想スコアを用いて、複数のカテゴリのそれぞれのカテゴリのラベル候補を抽出する。
情報処理装置100は、例えば、第1階層のカテゴリに分類した文書集合に出現する語句を抽出する。次に、情報処理装置100は、抽出した語句の連想スコアを算出する。ここで、連想スコアは、実施例1または実施例2と同様の算出式を用いて算出される。そして、情報処理装置100は、文書集合に出現する語句を連想スコアが高い順にソートする。その後、情報処理装置100は、連想スコアが所定の順位までの語句を、ラベル候補として抽出する。
<実施例4におけるラベル候補の中からラベルを決定する一例>
次に、実施例4において、情報処理装置100は、ラベル候補のラベルスコアを算出する。そして、情報処理装置100は、算出したラベルスコアに基づいてラベル候補の中からカテゴリに付与するラベルを決定する。
情報処理装置100は、例えば、特定したラベル候補のそれぞれのラベルスコアとして、TFx,y×IDFxを算出する。また、情報処理装置は、例えば、特定したラベル候補のそれぞれのラベルスコアとして、C−Valueを算出してもよい。そして、情報処理装置100は、ラベル候補のうちの、ラベルスコアが最も高いラベル候補を、選択したカテゴリのラベルに決定する。これにより、情報処理装置100は、上位カテゴリのラベルと関連性があるラベルを、選択したカテゴリのラベルに決定することができる。
実施例4によれば、情報処理装置100は、連想スコアを算出する文書の数を増大する代わりに、ラベルスコアを算出する文書の数を低減することができる。このため、情報処理装置100は、文書集合に出現する語句についてラベルスコアを算出するよりも連想スコアを算出する方がかかる時間が少ない場合には、ラベルを決定するのにかかる時間を低減することができる。
<実施例4における検索処理手順の一例>
実施例4における検索処理手順の一例については、ステップS1102,S1103を除き、実施例1における検索処理手順と同様である。実施例4における検索処理手順においては、ステップS1102,S1103において実行される特定処理と決定処理とが、図17に後述する実施例4における決定処理に置換されることになる。
<実施例4における決定処理手順の一例>
図17は、実施例4における決定処理手順の一例を示すフローチャートである。図17において、情報処理装置100は、ラベルを決定していないカテゴリのうちで、最も上の階層にあるカテゴリを選択する(ステップS1701)。
次に、情報処理装置100は、選択したカテゴリに分類された文書集合から、特定の品詞として認識される語句を、選択したカテゴリのラベル候補として抽出する(ステップS1702)。そして、情報処理装置100は、ストップワードリスト500に基づいて、特定したラベル候補の中から、ストップワードと一致するラベル候補を除外する(ステップS1703)。
次に、情報処理装置100は、除外後に残ったラベル候補の中から、選択したカテゴリの上位カテゴリのラベルと一致するラベル候補を、さらに除外する(ステップS1704)。そして、情報処理装置100は、選択したカテゴリが第1階層のカテゴリであるか否かを判定する(ステップS1705)。
ここで、第1階層のカテゴリである場合(ステップS1705:Yes)、情報処理装置100は、除外後に残ったラベル候補と、選択したカテゴリの上位カテゴリのラベルとに基づいて、除外後に残ったラベル候補の連想スコアを算出し(ステップS1706)、ステップS1708の処理に移行する。
一方で、第1階層のカテゴリではない場合(ステップS1705:No)、情報処理装置100は、除外後に残ったラベル候補と、選択したカテゴリの上位カテゴリのそれぞれのラベルとに基づいて、除外後に残ったラベル候補の連想スコアを算出し(ステップS1707)、ステップS1708の処理に移行する。
ステップS1708において、情報処理装置100は、除外後に残ったラベル候補を連想スコアが高い順にソートし、所定の順位までのラベル候補を特定する(ステップS1708)。次に、情報処理装置100は、特定したラベル候補のラベルスコアを算出する(ステップS1709)。そして、情報処理装置100は、ラベルスコアが最も高いラベル候補を、選択したカテゴリのラベルに決定する(ステップS1710)。
次に、情報処理装置100は、全てのカテゴリについてラベルを決定したか否かを判定する(ステップS1711)。ここで、ラベルを決定していないカテゴリがある場合(ステップS1711:No)、情報処理装置100は、ステップS1701の処理に戻る。
一方で、全てのカテゴリについてラベルを決定した場合(ステップS1711:Yes)、情報処理装置100は、決定処理を終了する。これにより、情報処理装置100は、連想スコアを算出する文書の数を増大する代わりに、ラベルスコアを算出する文書の数を低減することができる。このため、情報処理装置100は、文書集合に出現する語句についてラベルスコアを算出するよりも連想スコアを算出する方がかかる時間が少ない場合には、ラベルを決定するのにかかる時間を低減することができる。
以上説明したように、情報処理装置100によれば、複数の文書を分類した階層化された複数のカテゴリに分類した文書集合から、カテゴリを特徴付ける名称候補を特定することができる。そして、情報処理装置100によれば、複数の文書における、特定した名称候補と、カテゴリの上位カテゴリを特徴付ける名称との共起度合いに基づいて、カテゴリを特徴付ける名称を決定することができる。これにより、情報処理装置100は、複数のカテゴリのそれぞれのカテゴリを特徴付ける名称として、当該カテゴリの上位カテゴリを特徴付ける名称と関連性がある名称を付与することができる。
また、情報処理装置100によれば、さらに、複数の文書のうち、カテゴリの名称候補が出現する文書集合と、カテゴリの上位カテゴリを特徴付ける名称が出現する文書集合との重複度合いに基づいて、カテゴリを特徴付ける名称を決定することができる。これにより、情報処理装置100は、複数のカテゴリのそれぞれのカテゴリを特徴付ける名称として、当該カテゴリの上位カテゴリを特徴付ける名称が出現する文書以外の文書に出現する回数が少ない名称を付与することができる。
また、情報処理装置100によれば、カテゴリの名称候補と、カテゴリの上位カテゴリを特徴付ける名称との共起度合いとして、カテゴリの名称候補と、カテゴリの直上位カテゴリを特徴付ける名称との共起度合いを用いることができる。これにより、情報処理装置100は、カテゴリを特徴付ける名称として、当該カテゴリの直上位カテゴリを特徴付ける名称と関連性がある名称を付与することができる。結果として、ユーザは、あるカテゴリに付与された名称を参照し、直上位カテゴリに付与された名称が示す話題に関連する種々の話題のうち、何の話題についての文書集合が絞り込まれて、あるカテゴリに分類されたのかを把握することができる。
また、情報処理装置100によれば、複数の文書のそれぞれが、検索キーワードに基づいて検索された文書であれば、検索キーワードを、複数のカテゴリのうちの最上位カテゴリを特徴付ける名称に決定することができる。これにより、情報処理装置100は、最上位カテゴリを特徴付ける名称として検索キーワードを付与することができる。また、情報処理装置100は、最上位カテゴリの下位カテゴリを特徴付ける名称として、検索キーワードと関連性がある名称を付与することができる。
また、情報処理装置100によれば、カテゴリを特徴付ける名称として使用しない語句を取得することができる。そして、情報処理装置100によれば、カテゴリに分類した文書集合から、カテゴリを特徴付ける名称候補として、取得した語句とは異なる語句を特定することができる。これにより、情報処理装置100は、カテゴリを特徴付ける名称から特定の語句を除外することができる。
また、情報処理装置100によれば、カテゴリに分類した文書集合から、カテゴリを特徴付ける名称候補として、カテゴリの上位カテゴリを特徴付ける名称とは異なる語句を特定することができる。これにより、情報処理装置100は、カテゴリを特徴付ける名称から、当該カテゴリの上位カテゴリを特徴付ける名称と一致する語句を除外することができる。そして、情報処理装置100は、あるカテゴリと、あるカテゴリの上位カテゴリとに同一の名称が付与されることを防止することができる。このため、情報処理装置100は、上位カテゴリの名称が示す話題に関連する種々の話題のうち、何の話題についての文書が絞り込まれて、あるカテゴリに分類されたのかを、ユーザが把握することができなくなることを防止することができる。結果として、ユーザは、あるカテゴリの名称から何の話題についての文書が絞り込まれたのか把握することができずに、下位カテゴリの名称を参照することになってしまい、所望の文書を探索するのにかかる作業量が増えてしまうことを防止することができる。
また、情報処理装置100によれば、カテゴリに分類した文書集合から、カテゴリを特徴付ける名称候補として、カテゴリの直上位カテゴリの直下位カテゴリのうちの他のカテゴリを特徴付ける名称とは異なる語句を特定することができる。これにより、情報処理装置100は、カテゴリを特徴付ける名称から、当該カテゴリと直上位カテゴリが一致する他のカテゴリを特徴付ける名称と一致する語句を除外することができる。そして、情報処理装置100は、あるカテゴリと、あるカテゴリと直上位カテゴリが一致する他のカテゴリとに同一の名称が付与されることを防止することができる。このため、情報処理装置100は、直上位カテゴリが一致する2つのカテゴリのいずれに、直上位カテゴリのラベルが示す話題に関連する種々の話題のうち、何の話題についての文書が絞り込まれたのかを把握することができなくなることを防止することができる。結果として、ユーザは、あるカテゴリの名称から何の話題についての文書が絞り込まれたのか把握することができずに、下位カテゴリの名称を参照することになってしまい、所望の文書を探索するのにかかる作業量が増えてしまうことを防止することができる。
また、情報処理装置100によれば、カテゴリに分類した文書集合のそれぞれの文書中の一文単位、または所定数連続する文単位の、名称候補と、上位カテゴリを特徴付ける名称との共起度合いに基づいて、カテゴリを特徴付ける名称を決定することができる。これにより、情報処理装置100は、文書中に、名称候補と、上位カテゴリを特徴付ける名称とのそれぞれが、所定数よりも離れたそれぞれの文に出現している場合には、共起しない組み合わせと判定することができる。このため、情報処理装置100は、異なる話題について述べた、2つの文のそれぞれの文に出現する語句の組み合わせを、同一の話題について述べた、関連する語句の組み合わせとしてしまうことを抑制することができる。結果として、情報処理装置100は、文間に連続性がある文書の集まりである文書集合が分類されたカテゴリについて、名称候補と、上位カテゴリを特徴付ける名称との組み合わせが、関連する語句の組み合わせであるか否かを精度よく判定することができる。
また、情報処理装置100によれば、カテゴリに分類した文書集合のそれぞれの文書の全文単位の、名称候補と、上位カテゴリを特徴付ける名称との共起度合いに基づいて、カテゴリを特徴付ける名称を決定することができる。これにより、情報処理装置100は、文書中に、名称候補と、上位カテゴリを特徴付ける名称とが、どれだけ離れて出現していても、共起する組み合わせと判定することができる。このため、情報処理装置100は、同一の話題について述べた、関連する語句の組み合わせを、異なる話題について述べた、関連性が相対的に低い語句の組み合わせとしてしまうことを抑制することができる。結果として、情報処理装置100は、文間に連続性がある文書の集まりではない文書集合が分類されたカテゴリについて、名称候補と、上位カテゴリを特徴付ける名称との組み合わせが、関連する語句の組み合わせであるか否かを精度よく判定することができる。
また、情報処理装置100によれば、カテゴリに分類した文書集合が、文間に連続性がある文書の集まりであるか否かを判定することができる。そして、情報処理装置100によれば、文間に連続性がある文書の集まりである場合には、カテゴリに分類した文書集合のそれぞれの文書中の一文単位、または所定数連続する文単位の共起度合いに基づいて、カテゴリを特徴付ける名称を決定することができる。これにより、情報処理装置100は、文書集合の種別に応じて、名称候補と、上位カテゴリを特徴付ける名称との組み合わせが、関連する語句の組み合わせであるか否かを精度よく判定することができる。
また、情報処理装置100によれば、文間に連続性がある文書の集まりではない場合には、カテゴリに分類した文書集合のそれぞれの文書の全文単位の共起度合いに基づいて、カテゴリを特徴付ける名称を決定することができる。これにより、情報処理装置100は、文書集合の種別に応じて、名称候補と、上位カテゴリを特徴付ける名称との組み合わせが、関連する語句の組み合わせであるか否かを精度よく判定することができる。
また、情報処理装置100によれば、カテゴリの名称候補と組み合わせたときの共起度合いを求める対象になる上位カテゴリを特徴付ける名称として、最上位カテゴリから直上位カテゴリまでのそれぞれのカテゴリを特徴付ける名称を用いることができる。これにより、情報処理装置100は、カテゴリを特徴付ける名称として、当該カテゴリの上位カテゴリのそれぞれを特徴付ける名称と関連性がある名称を付与することができる。結果として、ユーザは、あるカテゴリに付与された名称を参照し、上位カテゴリのそれぞれに付与された名称が示す話題に関連する種々の話題のうち、何の話題についての文書集合が絞り込まれて、あるカテゴリに分類されたのかを把握することができる。
また、情報処理装置100によれば、カテゴリに分類した文書集合に出現する語句の当該文書集合における出現度合いと、当該語句の複数の文書における出現度合いとに基づいて、当該語句の当該文書集合を特徴付ける特徴度を算出することができる。そして、情報処理装置100によれば、算出した特徴度に基づいて、カテゴリを特徴付ける名称候補を特定することができる。これにより、情報処理装置100は、カテゴリを特徴付ける観点からの名称としての尤度を示す特徴度に基づいて、カテゴリを特徴付ける観点から名称として尤もらしい語句を、名称候補として特定することができる。
また、情報処理装置100によれば、カテゴリに分類した文書集合に出現する語句の当該文書集合における出現度合いと当該語句を含む複合語の当該文書集合における出現度合いとに基づいて、当該語句の当該文書集合を特徴付ける特徴度を算出することができる。そして、情報処理装置100によれば、算出した特徴度に基づいて、カテゴリを特徴付ける名称候補を特定することができる。これにより、情報処理装置100は、カテゴリを特徴付ける観点からの名称としての尤度を示す特徴度に基づいて、カテゴリを特徴付ける観点から名称として尤もらしい語句を、名称候補として特定することができる。
また、情報処理装置100によれば、特定した名称候補のうち、複数の文書における、上位カテゴリを特徴付ける名称との共起度合いが相対的に高い名称候補を特定することができる。次に、情報処理装置100によれば、共起度合いが相対的に高い名称候補のカテゴリに分類した文書集合における出現度合いと、当該名称候補の複数の文書における出現度合いとに基づいて、当該名称候補の当該文書集合を特徴付ける特徴度を算出することができる。そして、情報処理装置100によれば、算出した特徴度に基づいて、カテゴリを特徴付ける名称を決定することができる。これにより、情報処理装置100は、共起度合いを算出する文書の数を増大する代わりに、特徴度を算出する文書の数を低減することができる。このため、情報処理装置100は、文書集合に出現する語句について特徴度を算出するよりも共起度合いを算出する方がかかる時間が少ない場合には、名称を決定するのにかかる時間を低減することができる。
また、情報処理装置100によれば、特定した名称候補のうち、複数の文書における、上位カテゴリを特徴付ける名称との共起度合いが相対的に高い名称候補を特定することができる。情報処理装置100によれば、共起度合いが相対的に高い名称候補のカテゴリに分類した文書集合における出現度合いと、当該名称候補を含む複合語の当該文書集合における出現度合いとに基づいて、特徴度を算出することができる。そして、情報処理装置100によれば、算出した特徴度に基づいて、カテゴリを特徴付ける名称を決定することができる。これにより、情報処理装置100は、共起度合いを算出する文書の数を増大する代わりに、特徴度を算出する文書の数を低減することができる。このため、情報処理装置100は、文書集合に出現する語句について特徴度を算出するよりも共起度合いを算出する方がかかる時間が少ない場合には、名称を決定するのにかかる時間を低減することができる。
なお、本実施の形態で説明した名称決定方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本名称決定プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本名称決定プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)複数の文書を分類した階層化された複数のカテゴリに分類した文書集合から前記カテゴリを特徴付ける名称候補を特定し、
前記複数の文書における、特定した前記名称候補と、前記カテゴリの上位カテゴリを特徴付ける名称との共起度合いに基づいて、前記カテゴリを特徴付ける名称を決定する、
制御部を有することを特徴とする情報処理装置。
(付記2)前記制御部は、さらに、前記複数の文書のうち、前記名称候補を含む文書集合と前記上位カテゴリを特徴付ける名称を含む文書集合との重複度合いに基づいて、前記カテゴリを特徴付ける名称を決定する、ことを特徴とする付記1に記載の情報処理装置。
(付記3)前記上位カテゴリを特徴付ける名称は、前記カテゴリの直上位カテゴリを特徴付ける名称である、ことを特徴とする付記1または2に記載の情報処理装置。
(付記4)前記複数の文書のそれぞれは、検索キーワードに基づいて検索された文書であり、
前記制御部は、前記検索キーワードを、前記複数のカテゴリのうちの最上位カテゴリを特徴付ける名称に決定する、ことを特徴とする付記1〜3のいずれか一つに記載の情報処理装置。
(付記5)前記制御部は、前記カテゴリを特徴付ける名称として使用しない語句を取得し、前記カテゴリに分類した文書集合から、前記カテゴリを特徴付ける名称候補として、取得した前記語句とは異なる語句を特定する、ことを特徴とする付記1〜4のいずれか一つに記載の情報処理装置。
(付記6)前記制御部は、前記カテゴリに分類した文書集合から、前記カテゴリを特徴付ける名称候補として、前記上位カテゴリを特徴付ける名称とは異なる語句を特定する、ことを特徴とする付記1〜5のいずれか一つに記載の情報処理装置。
(付記7)前記制御部は、前記カテゴリに分類した文書集合から、前記カテゴリを特徴付ける名称候補として、前記カテゴリの直上位カテゴリの直下位カテゴリのうちの前記カテゴリとは異なる他のカテゴリを特徴付ける名称とは異なる語句を特定する、ことを特徴とする付記1〜6のいずれか一つに記載の情報処理装置。
(付記8)前記カテゴリに分類した文書集合のそれぞれの文書中の一文単位、または所定数連続する文単位の、前記名称候補と、前記上位カテゴリを特徴付ける名称との共起度合いに基づいて、前記カテゴリを特徴付ける名称を決定する、ことを特徴とする付記1〜7のいずれか一つに記載の情報処理装置。
(付記9)前記カテゴリに分類した文書集合のそれぞれの文書の全文単位の、前記名称候補と、前記上位カテゴリを特徴付ける名称との共起度合いに基づいて、前記カテゴリを特徴付ける名称を決定する、ことを特徴とする付記8に記載の情報処理装置。
(付記10)前記制御部は、前記カテゴリに分類した文書集合のそれぞれの文書の種別に基づいて、前記カテゴリに分類した文書集合が、文間に連続性がある文書の集まりであるか否かを判定し、
前記文間に連続性がある文書の集まりである場合には、前記カテゴリに分類した文書集合のそれぞれの文書中の一文単位、または所定数連続する文単位の、前記名称候補と、前記上位カテゴリを特徴付ける名称との共起度合いに基づいて、前記カテゴリを特徴付ける名称を決定し、
前記文間に連続性がある文書の集まりではない場合には、前記カテゴリに分類した文書集合のそれぞれの文書の全文単位の、前記名称候補と、前記上位カテゴリを特徴付ける名称との共起度合いに基づいて、前記カテゴリを特徴付ける名称を決定する、ことを特徴とする付記9に記載の情報処理装置。
(付記11)前記上位カテゴリを特徴付ける名称は、前記複数のカテゴリのうち、最上位カテゴリから前記カテゴリの直上位カテゴリまでのそれぞれのカテゴリを特徴付ける名称である、ことを特徴とする付記1〜10のいずれか一つに記載の情報処理装置。
(付記12)前記制御部は、前記カテゴリに分類した文書集合に含まれる語句の前記カテゴリに分類した文書集合における出現度合いと、当該語句の前記複数の文書における出現度合いとに基づいて、当該語句の前記カテゴリに分類した文書集合を特徴付ける特徴度を算出し、
算出した前記特徴度に基づいて、前記カテゴリを特徴付ける名称候補を特定する、ことを特徴とする付記1〜11のいずれか一つに記載の情報処理装置。
(付記13)前記制御部は、前記カテゴリに分類した文書集合に含まれる語句の前記カテゴリに分類した文書集合における出現度合いと、当該語句を含む複合語の前記カテゴリに分類した文書集合における出現度合いとに基づいて、当該語句の前記カテゴリに分類した文書集合を特徴付ける特徴度を算出し、
算出した前記特徴度に基づいて、前記カテゴリを特徴付ける名称候補を特定する、ことを特徴とする付記1〜11のいずれか一つに記載の情報処理装置。
(付記14)前記制御部は、特定した前記名称候補のうち、前記複数の文書における、前記上位カテゴリを特徴付ける名称との共起度合いが相対的に高い名称候補を特定し、
特定した前記共起度合いが相対的に高い名称候補の前記カテゴリに分類した文書集合における出現度合いと、当該名称候補の前記複数の文書における出現度合いとに基づいて、当該名称候補の前記カテゴリに分類した文書集合を特徴付ける特徴度を算出し、
算出した前記特徴度に基づいて、前記カテゴリを特徴付ける名称を決定する、ことを特徴とする付記1〜11のいずれか一つに記載の情報処理装置。
(付記15)前記制御部は、特定した前記名称候補のうち、前記複数の文書における、前記上位カテゴリを特徴付ける名称との共起度合いが相対的に高い名称候補を特定し、
特定した前記共起度合いが相対的に高い名称候補の前記カテゴリに分類した文書集合における出現度合いと、特定した前記共起度合いが相対的に高い名称候補を含む複合語の前記カテゴリに分類した文書集合における出現度合いとに基づいて、当該名称候補の前記カテゴリに分類した文書集合を特徴付ける特徴度を算出し、
算出した前記特徴度に基づいて、前記カテゴリを特徴付ける名称を決定する、ことを特徴とする付記1〜11のいずれか一つに記載の情報処理装置。
(付記16)コンピュータが、
複数の文書を分類した階層化された複数のカテゴリに分類した文書集合から前記カテゴリを特徴付ける名称候補を特定し、
前記複数の文書における、特定した前記名称候補と、前記カテゴリの上位カテゴリを特徴付ける名称との共起度合いに基づいて、前記カテゴリを特徴付ける名称を決定する、
処理を実行することを特徴とする名称決定方法。
(付記17)コンピュータに、
複数の文書を分類した階層化された複数のカテゴリに分類した文書集合から前記カテゴリを特徴付ける名称候補を特定し、
前記複数の文書における、特定した前記名称候補と、前記カテゴリの上位カテゴリを特徴付ける名称との共起度合いに基づいて、前記カテゴリを特徴付ける名称を決定する、
処理を実行させることを特徴とする名称決定プログラム。