(58)【調査した分野】(Int.Cl.,DB名)
前記探索部が、前記適合する文書の前記第1の頻度が第1の閾値より高く、且つ、前記適合する文書の前記第2の頻度が第2の閾値よりも低い、前記意味クラスユニットを特定する、請求項1に記載の情報処理装置。
前記探索部によって特定された前記意味クラスユニットに対して、適合する文書の前記第1の頻度が増加する場合及び前記第2の頻度が低下する場合のいずれか又は両方の場合に値が増加する、評価値を算出し、前記評価値が最も高くなる前記意味クラスユニットを特定する、評価値算出部を更に備えている、請求項1〜4のいずれかに記載の情報処理装置。
【発明を実施するための形態】
【0027】
(実施の形態1)
以下、本発明の実施の形態1における情報処理装置、情報処理方法、及びプログラムについて、
図1〜
図7を参照しながら説明する。最初に、本実施の形態1における情報処理装置1の構成について
図1を用いて説明する。
図1は、本発明の実施の形態1における情報処理装置の構成を示すブロック図である。
【0028】
図1に示す情報処理装置1は、文書集合を対象として情報処理を実行する装置である。文書集合を構成する各文書には、意味クラスを特定可能な1又は2以上のタグが付与されている。また、以降の説明では、タグが付与された文書は、「タグ付文書」と表記する。意味クラスは、分類を行うためのクラスであり、本実施の形態1では、背景技術の欄において
図18を用いて説明したように、ラベルとクラス識別子(クラスポインタ)とを有している。更に、タグは、背景技術の欄において
図19を用いて説明したように、対応する意味クラスのクラス識別子、タグの開始位置、及びタグの終了位置を有している。
【0029】
また、
図1に示すように、情報処理装置1は、探索部2と、頻度算出部3とを備えている。探索部2は、複数の意味クラスにおける意味クラス間の関係を特定するタクソノミから、1又は2以上の意味クラスを含む意味クラスユニットを複数個作成する。具体的には、意味クラスユニットは、意味クラスそのもの、又は意味クラスの組合せ(意味クラスの集合)である。また、頻度算出部3は、探索部2が作成した意味クラスユニット毎に、タグ付文書の文書集合の中から、当該意味クラスユニットに適合する文書(以下「適合文書」とする。)を特定する。
【0030】
更に、頻度算出部3は、意味クラスユニット毎に、特定した適合文書について、文書集合のうちの予め指定された文書集合(以下「指定文書集合」とする。)での出現頻度と、文書集合のうちの予め指定されていない文書集合での出現頻度とを算出する。なお、以下においては、予め指定された文書集合での出現頻度を「指定文書集合頻度a」とし、予め指定されていない文書集合での出現頻度を「非指定文書集合頻度b」とする。
【0031】
また、探索部2は、頻度算出部3によって算出が行われると、適合文書の指定文書集合頻度aが閾値(下限値α)より高く、且つ、適合文書の非指定文書集合頻度bが閾値(上限値β)よりも低い、意味クラスユニットを特定する。
【0032】
このように、情報処理装置1は、想定される意味クラスユニットそれぞれについて、適合文書が、指定文書集合で出現している回数(即ち、指定文書集合頻度a)と、適合文書が、指定文書集合以外の文書集合で出現している回数(即ち、非指定文書集合頻度b)とを特定する。よって、情報処理装置1は、適合文書が指定文書集合で出現している回数と、指定文書集合以外の文書集合で出現している回数とを対比して、指定文書集合で出現している回数のみが高い適合文書を特定できる。
【0033】
この結果、指定文書集合に特有の意味クラスユニット、即ち、意味クラス、又は意味クラスの組合せが特定されたことになる。情報処理装置1によれば、文書集合に含まれる意味クラスを、組合せた状態で評価でき、指定文書集合(例えば、ユーザに選ばれた文書集合)に特有の1又は2以上の意味クラスを特定できる。
【0034】
続いて、
図1に加えて
図2及び
図3を用いて、情報処理装置1の構成について更に具体的に説明する。
図2は、本発明の実施の形態1において本文記憶部に記憶されているデータの一例を示す図である。
図3は、本発明の実施の形態1においてタグ記憶部に記憶されているデータの一例を示す図である。
【0035】
図1に示すように、本実施の形態1においては、情報処理装置1は、探索部2と頻度算出部3とに加え、本文検索部4と、評価値算出部5と、本文記憶部7と、タグ記憶部8とを更に備えている。なお、
図1の例では、本文記憶部7及びタグ記憶部8は、情報処理装置1の内部に設けられているが、この例に限定されず、情報処理装置1にネットワーク等で接続された別の装置に設けられていても良い。
【0036】
本文記憶部7は、
図2に示すように、対象となる文書集合を構成するタグ付文書の本文と識別子(以下「文書ID」とする)とを関連付けて記憶している。また、
図2に示すように、文書IDは、タグ付文書一つずつに付加された識別子である。本文は、任意の自然言語で記述された文字列である。
【0037】
タグ記憶部8は、
図3に示すように、タグ列とタグ付文書の文書IDとを関連付けて記憶している。
図3に示すように、文書IDは、本文記憶部7に記憶されている文書IDと同一のIDである。本文記憶部7に記憶されているデータとタグ記憶部8に記憶されているデータとは、文書IDによって関連付けられる。また、タグ列は、意味クラスの集合を指し示すクラスポインタの集合であり、対応するタグ付文書に付与されている全てのタグから、クラスポインタ(クラス識別子)のみを抽出することによって取得されている(
図19参照)。
【0038】
本文検索部4は、外部からの検索条件(クエリ)の入力によって呼び出され、本文記憶部7に記憶されているタグ付文書の文
書集合を対象として、検索条件に基づいて検索を実行する。本実施の形態1では、検索条件は、ユーザが操作するキーボード等の入力機器、情報処理装置1で動作している他のプログラム、又は情報処理装置1にネットワーク等を介して接続された外部の装置によって入力される。検索条件の具体例としては、1又は2以上のキーワードを含むキーワード列が挙げられる。
【0039】
また、本文検索部4は、検索によって特定された文書集合を、頻度算出部3へと出力する。そして、頻度算出部3は、この検索によって特定された文書集合を、予め指定された文書集合として用いて、指定文書集合頻度aと非指定文書集合頻度bとを算出する。
【0040】
具体的には、本文検索部4は、本文記憶部7を参照して、検索条件を構成するキーワード列を本文中にすべて含む1又は2以上のタグ付文書を特定し、そして、特定したタグ付文書の文書IDのリストを作成する。この文書IDのリスト(以下「クエリ文書リスト」とする。)は、検索によって特定された文書集合を表す情報であり、本文検索部4は、このクエリ文書リストを頻度算出部3に出力する。また、本実施の形態1では、本文検索部4は、一般的な文書検索エンジンを用いて構築することができる。
【0041】
探索部2は、本実施の形態1では、タクソノミと、指定文書集合頻度aの下限値αと、非指定文書集合頻度bの上限値βとを入力として動作する。また、探索部2は、上述したように、意味クラスユニットを作成する機能と、指定文書集合頻度a及び非指定文書集合頻度bを用いて、意味クラスユニットを特定する機能とを備えている。なお、以下の説明では、情報処理装置1における処理の時系列に合わせて、探索部2の意味クラスユニットを作成する機能について説明した後、頻度算出部3における具体的な機能を説明する。探索部2の意味クラスユニットを特定する機能については、頻度算出部3の説明の後に説明する。
【0042】
本実施の形態1において、タクソノミとしては、背景技術の欄において
図18に示したデータを用いることができる。タクソノミは、複数の意味クラスにおける意味クラス間の関係を、階層化した状態で特定する。また、タクソノミは、事前に、情報処理装置1の管理者、情報処理装置1で動作している他のプログラム、又は情報処理装置1にネットワーク等を介して接続された外部の装置によって準備される。
【0043】
探索部2は、タクソノミ(後述の
図6参照)中の意味クラスをトップダウンに調べながら、意味クラスユニットを列挙する。具体的には、探索部2は、タクソノミを上層から下層へと辿りながら、1又は2以上の意味クラスを1つのノードとし、更にノード間にリンクを設定して、列挙木(後述の
図7参照)を作成する。そして、探索部2は、列挙木の各ノードを各意味クラスユニットとする。
【0044】
そして、探索部2は、意味クラスユニット毎に、当該意味クラスユニットに対応するクラスポインタの集合(以下、「クラスポインタ列」とする。)を特定する。本実施の形態1では、探索部2は、意味クラスユニットを作成する度に、作成した意味クラスユニットに対応するクラスポインタ列を、頻度算出部3(後述するタグ検索部6)に入力する。
【0045】
本実施の形態1では、頻度算出部3は、タグ検索部6を備えている。タグ検索部6は、探索部2からのクラスポインタ列の入力によって呼び出される。タグ検索部6は、タグ記憶部8を参照し、入力されたクラスポインタ列を全て含む文書(即ち、適合文書)の文書IDのリスト(以下、「タグ文書リスト」とする。)を作成する。このように、頻度算出部3は、クラスポインタ列と、タグ付文書に付与されたタグとを対比して、意味クラスユニットに適合する文書(適合文書)を特定する。
【0046】
また、頻度算出部3は、タグ検索部6によってタグ文書リストが作成される度に、指定文書集合頻度a及び非指定文書集合頻度bを算出する。つまり、本実施の形態1では、頻度算出部3は、意味クラスユニット毎に、当該意味クラスユニットのノードが列挙木の上層にあるものから順に、指定文書集合頻度a及び非指定文書集合頻度bを算出している。
【0047】
具体的には、頻度算出部3は、以下の(数1)を用いて指定文書集合頻度aを算出し、以下の(数2)を用いて非指定文書集合頻度bを算出する。そして、頻度算出部3は、算出した指定文書集合頻度a及び非指定文書集合頻度bを探索部2に出力する。
【0048】
(数1)
指定文書集合頻度a = |TΛP| / |P|
【0049】
(数2)
非指定文書集合頻度b = |TΛF| / |F|
【0050】
上記(数1)及び(数2)において、「T」は、タグ文書リストに含まれる文書IDの集合を示している。また、上記(数1)において、「P」はクエリ文書リストに含まれる文書IDの集合を示している。上記(数2)において、「F」はクエリ文書リストに含まれない文書IDの集合を示している。つまり、指定文書集合頻度aは、タグ文書リストに含まれる文書IDのうち、クエリ文書リストにも含まれる文書IDの数から求められる。また、非指定文書集合頻度bは、タグ文書リストに含まれる文書IDのうち、クエリ文書リスト内に含まれない文書IDの数から求められる。
【0051】
また、本実施の形態1では、探索部2は、頻度算出部3による算出の度に、算出の対象となった適合文書について、指定文書集合頻度aが下限値αより高いかどうか、及び非指定文書集合頻度bが上限値βよりも低いかどうかを判定する。更に、本実施形態1では、指定文書集合頻度aの下限値αと、非指定文書集合頻度bの上限値βとは、0から1の間の小数によって設定されている。
【0052】
そして、判定の結果、指定文書集合頻度aが下限値αより高く、非指定文書集合頻度bが上限値βよりも低い場合は、探索部2は、算出の対象となった適合文書が対応している意味クラスユニット(即ち、クラスポインタ列)を特定する。更に、探索部2は、特定した意味クラスユニットと、指定文書集合頻度aと、非指定文書集合頻度bとから成る情報のセット(以下「セット情報」とする。)を評価値算出部5に出力する。一方、判定の結果、指定文書集合頻度aが下限値α以下となった場合は、探索部2は、先に述べた意味クラスの作成を停止する。これにより、探索部2による意味クラスユニットの特定は中止される。なお、この場合に、探索部2が意味クラスユニットの特定を中止する理由については後述する。
【0053】
評価値算出部5は、探索部2が出力したセット情報に基づいて、各意味クラスユニットに対して評価値fを算出する。本実施の形態1では、評価値fは、指定文書集合頻度aが増加する場合、非指定文書集合頻度bが低下する場合、のいずれか又は両方の場合に値が増加する関数によって算出される。具体的には、評価値fを算出するための関数としては、下記の(数3)が挙げられる。
【0054】
(数3)
評価値f = 指定文書集合頻度a / 非指定文書集合頻度b
【0055】
また、本実施の形態1では、評価値算出部5は、評価値fを用いて、更に意味クラスユニットの特定を行い、特定した意味クラスユニットを外部に出力する。例えば、評価値算出部5は、評価値fが最も高い意味クラスユニットを特定し、これを外部に出力することができる。
【0056】
次に、本発明の実施の形態1における情報処理装置1の全体の動作について
図4を用いて説明する。
図4は、本発明の実施の形態1における情報処理装置の動作を示すフロー図である。以下の説明においては、適宜
図1〜
図3を参酌する。また、本実施の形態1では、情報処理装置1を動作させることによって、情報処理方法が実施される。よって、本実施の形態1における情報処理方法の説明は、以下の情報処理装置1の動作説明に代える。
【0057】
図4に示すように、最初に、外部から検索条件が入力されると、本文検索部4による検索処理が実行される(ステップS1)。具体的には、本文検索部4は、検索条件に合致するタグ付文書を特定し、特定したタグ付文書の集合を表す文書IDのリスト(クエリ文書リスト)を作成する。
【0058】
次に、探索部2及び頻度算出部3によるトップダウン探索処理が実行される(ステップS2)。具体的には、ステップS2では、探索部2は、タクソノミ(後述の
図6参照)中の意味クラスをトップダウンに調べながら、列挙木を作成し、列挙木を用いて意味クラスユニットを作成する。更に、探索部2は、意味クラスユニットを作成する度に、当該意味クラスユニットに対応するクラスポインタ列を特定し、特定したクラスポインタ列を頻度算出部3に入力する。
【0059】
また、ステップS2では、頻度算出部3において、クラスポインタ列の入力の度に、タグ検索部6が、クラスポインタ列を全て含む文書(適合文書)を特定し、特定した適合文書の文書IDのリスト(タグ文書リスト)を作成する。そして、頻度算出部3は、タグ文書リストの作成の度に、指定文書集合頻度a及び非指定文書集合頻度bを算出する。
【0060】
更に、ステップS2では、探索部2は、頻度算出部3による算出の度に、指定文書集合頻度aが下限値αより高いかどうか、及び非指定文書集合頻度bが上限値βよりも低いかどうかを判定する。判定の結果、指定文書集合頻度aが下限値αより高く、非指定文書集合頻度bが上限値βよりも低い場合は、探索部2は、算出対象となった意味クラスユニットと、指定文書集合頻度aと、非指定文書集合頻度bとからなるセット情報を評価値算出部5に出力する。
【0061】
次に、ステップS2が実行されると、評価値算出部5による評価値の算出が実行される(ステップS3)。具体的には、評価値算出部5は、セット情報を入力とし、上記(数3)を用いて評価値fを算出する。そして、評価値算出部5は、評価値が最も高い意味クラスユニットを特定し、これを外部に出力する。
【0062】
続いて、
図5〜
図7を用いて、
図4に示したトップダウン探索処理(ステップS2)について更に詳細に説明する。
図5は、
図4におけるトップダウン探索処理を説明するフロー図である。
【0063】
図5に示すトップダウン探索処理の各ステップについて説明する前に、トップダウン探索処理を実行するための処理関数について説明する。本実施の形態1では、後述するように、情報処理装置1は、コンピュータによって構築できる。この場合、コンピュータのCPU(Central Processing Unit)は、設定された処理関数に従って処理を実行する。また、CPUは、探索部2、頻度算出部3、本文検索部4及び評価値算出部5として機能する。
図5は、この設定された処理関数を表現している。
【0064】
また、
図5において表現されている処理関数は、再帰的な処理関数dig(node,tax,α、β)である。更に、処理関数digには、「node」、「tax」、「α」、「β」の4つの情報が入力される。このうち、「α」は、指定文書集合頻度aの下限値αを意味している。「β」は、非指定文書集合頻度bの上限値βを意味している。
【0065】
「tax」はタクソノミを意味している(
図6参照)。
図6は、本発明の実施の形態1において利用されるタクソノミの一例を示す図である。
図6に示すタクソノミにおいて、各アルファベットV、W、U、C、D、E、A、及びBは、それぞれ、意味クラスを表現している。
【0066】
「node」は、タクソノミから作成された列挙木(
図7参照)のノードを意味し、意味クラスユニットを表現している。
図7は、本発明の実施の形態1において、
図6に示したタクソノミから作成された列挙木を示す図である。
図7に示す列挙木を構成する各ノード、即ち、意味クラスユニットが、dig(node,tax,α,β)に入力される。
【0067】
また、
図7に示す列挙木は、
図6に示すタクソノミをトップダウンに辿ることによって、具体的には、タクソノミの空集合φをルートとした、二つの変換処理、即ち、子クラス化処理とクラス追加処理とによって作成される。
図7に示す列挙木においては、1又は2以上の意味クラスが各ノードとなっている。
【0068】
「子クラス化処理」は、1又は2以上の意味クラスを含むリストが入力された場合に、当該リストの最後(一番右側)にある意味クラス(リストが1の意味クラスのみの場合は当該1の意味クラス)を、タクソノミを参照して、その子クラスに変換する処理である(ステップS11参照)。
【0069】
また、「クラス追加処理」は、1又は2以上の意味クラスを含むリストが入力された場合に、意味クラスを追加する処理である(ステップS12参照)。具体的には、クラス追加処理では、先ず、1又は2以上の意味クラスのリストが入力されると、その意味クラスの最後(一番右側)にある意味クラス(リストが1の意味クラスのみの場合は当該1の意味クラス)が取り出される。取り出された意味クラスを「意味クラスX」とする。次に、タクソノミを参照し、意味クラスXの右側に位置する意味クラスと、意味クラスXのタクソノミ上の先祖の右側に存在する意味クラス(意味クラスXの先祖の弟)とを、入力対象となったリストに追加する。
【0070】
また、このようにして作成された列挙木中の親ノードと子ノードとの間には、「子ノードの意味クラスが登場する文書集合⊂親ノードの意味クラスが登場する文書集合」という関係が存在する(以下「定理A」とする。)。
【0071】
定理Aが存在する理由は、次の通りである。先ず、子クラス化処理によって作成された子ノードが対応する意味クラスは、その親ノードが対応している意味クラスを限定的とした意味クラスに相当する。また、クラス追加処理によって作成された子ノードは、その親ノードに比べ、対応する意味クラスを一つ多く含む。よって、子クラス化処理又はクラス追加処理によって作成された子ノードを含む文書集合は、その親ノードを含む文書集合に必ず包含されるため、定理Aは存在する。
【0072】
また、
図19に示したように、各タグ付文書に付加されているタグの意味クラスは、必ず、列挙木における葉ノードの意味クラスとなる。よって、各意味クラスのタグ付文書での登場は、下位の意味クラスが登場したかどうかで決まることから、子ノードとなる意味クラスユニットを含む文書集合は、親ノードとなる意味クラスユニットを含む文書集合に必ず包含される。このことも定理Aが存在する理由となる。
【0073】
そして、定理Aは、「列挙木において親子関係にあるノードは、必ず[親ノードの意味クラスを含む文書の指定文書集合頻度a]>[子ノードの意味クラスを含む文書の指定文書集合頻度a]という関係を持つ」、と言い換えることもできる。
【0074】
ここで、処理関数dig(node,tax,α,β)に沿って、
図5に示すステップS11〜S13を以下に説明する。また、
図5において、処理関数dig(node,tax,α,β)は、入力された「node」毎に、ステップS11〜S13を実行する。
【0075】
図5に示すように、先ず、「node」が入力されると、探索部2は、処理関数dig(node,tax,α,β)を呼び出し、子クラス化処理を行って、列挙木に子ノード(node.children)を追加する(ステップS11)。ステップS11では、探索部2は、処理関数dig(node,tax,α,β)に入力された「node」を対象として、子クラス化の処理を行う。
【0076】
具体的には、ステップS11では、先ず、探索部2は、「node」が持つ1又は2以上の意味クラス(意味クラスユニット)のうち、最も右にある(最後に追加された)意味クラスを特定する。このとき、「node」が持つ意味クラスが1つの場合は、探索部2は、その意味クラスを特定する。次に、探索部2は、特定した意味クラスを、その子クラスに置換し、そして、特定されなかった意味クラスと置換によって得られた子クラスとで、新たな意味クラスユニットを作成し、新たな意味クラスユニットを、入力された「node」の新たな子ノードとして、列挙木に追加する。
【0077】
例えば、処理関数dig(node,tax,α,β)に、ノードVが入力された場合は、ノードUとノードCとの2つのノードが、ノードVの子ノードとして追加される(
図7参照)。また、処理関数dig(node,tax,α,β)に、ノードVWが入力された場合は、ノードVDとノードVEとの2つのノードが、ノードVWの子ノードとして追加される(
図7参照)。
【0078】
次に、探索部2は、処理関数dig(node,tax,α,β)に入力された「node」を対象として、クラス追加処理を行い、列挙木に子ノードを追加する(ステップS12)。具体的には、ステップS12では、先ず、探索部2は、「node」が持つ1又は2以上の意味クラス(意味クラスユニット)のうち、最も右にある(最後に追加された)意味クラスを特定する。次に、探索部2は、特定された意味クラス(以下「意味クラスX」)の右側にある意味クラス(以下「意味クラスY」)と、意味クラスXの先祖にあたる意味クラスの右側にある意味クラス(以下「意味クラスZ」)とを取り出す。そして、探索部2は、「node」が持つ意味クラスユニットの右側に、意味クラスY又は意味クラスZを追加し、新たな意味クラスユニットを作成する。また、探索部2は、新たな意味クラスユニットを、入力された「node」の新たな子ノードとして、列挙木に追加する。
【0079】
例えば、処理関数dig(node,tax,α,β)に、ノードVが入力された場合は、意味クラスWが選択され、意味クラスVと意味クラスWとを含む、新たな意味クラスユニットが作成される。そして、
図7に示すように、ノードVの子ノードとしてノードVWが追加される。
【0080】
また、処理関数dig(node、tax、α、β)に、ノードAが入力された場合は、意味クラスB、意味クラスC、及び意味クラスWが取り出される。この場合は、意味クラスAと意味クラスBとを含む新たな意味クラスユニットAB、意味クラスAと意味クラスCとを含む新たな意味クラスユニットAC、及び意味クラスAと意味クラスWとを含む新たな意味クラスユニットAWが作成される。そして、
図7に示すように、ノードAの子ノードとして、ノードAB、ノードAC、及びノードAWが追加される。
【0081】
次に、探索部2及び頻度算出部3は、「node」に追加された子ノード(以下「cNode」とする。)を対象として、指定文書集合頻度a及び非指定文書集合頻度bの算出、意味クラスユニットの特定といった処理を行う(ステップS13)。ステップS13は、以下のステップS131〜S135によって構成されている。
【0082】
ステップS131では、先ず、探索部2は、cNode毎に、当該cNodeの意味クラスユニットを頻度算出部3のタグ検索部6に入力する。具体的には、探索部2は、このとき、cNodeの意味クラスユニットに対応するクラスポインタ列を、タグ検索部6に入力する。例えば、cNodeがノードUである場合は、意味クラスユニットは「U」となる。また、cNodeがノードUWである場合は、意味クラスユニットは「U、W」となる。これにより、タグ検索部6は、タグ記憶部8内を調べ、cNode毎に、入力されたクラスポインタ列を全て含む文書(適合文書)の文書IDのリスト(タグ文書リスト)を作成する。
【0083】
そして、ステップS131では、各cNodeのタグ文書リストが作成されると、頻度算出部3は、cNode毎に、タグ文書リストを順番に先頭から調べながら、クエリ文書リストに含まれる文書IDの数(|TΛP|)と、クエリ文書リストに含まれない文書IDの数(|TΛF|)とを算出する。更に、頻度算出部3は、cNode毎に、クエリ文書リストに含まれる文書IDの数|P|と、クエリ文書リストに含まれない文書IDの数|F|とを算出する。
【0084】
その後、ステップS131では、頻度算出部3は、cNode毎に、|TΛP|と|P|とを上記(数1)に当てはめて、各cNodeの指定文書集合頻度a(以下「cNode.a」と表記する。)を算出し、更に、|TΛF|と|F|とを上記(数2)に当てはめて、各cNodeの非指定文書集合頻度b(以下「cNode.b」と表記する。)を算出する。また、頻度算出部3は、算出した各cNode.a及び各cNode.bを探索部2に入力する。
【0085】
次に、ステップS132では、探索部2は、cNode毎に、cNode.aが閾値である下限値αより大きいかどうかを判定する。ステップS132の判定の結果、cNode.aが閾値である下限値αより大きい場合は、探索部2は、判定の対象となっているcNodeを入力として、処理関数dig(cNode,tax,α,β)を呼び出す(ステップS133)。ステップS133については後述する。
【0086】
そして、ステップS133の実行後、ステップS134では、探索部2は、cNode.aが下限値αより大きいcNodeを対象として、cNode.bが閾値である上限値βより小さいかどうかを判定する。ステップS134の判定の結果、cNode.bが閾値である上限値βより小さい場合は、当該cNodeは、下限値αと上限値βとで規定された二つの条件を満たす意味クラスユニットを構成する。このため、ステップS135では、探索部2は、当該cNodeの意味クラスユニットと、指定文書集合頻度aと、非指定文書集合頻度bとを一組のノード情報(セット情報)として出力する。なお、出力の例としては、後述の実施例1で説明する
図15の例が挙げられる。
【0087】
また、ステップS133では、上述したように処理関数dig(cNode,tax,α,β)が呼び出され、これにより、探索部2は、処理関数dig(cNode,tax,α,β)に従って、ステップS11〜S13を更に実行する。この結果、入力となっているcNodeに基づいて、列挙木に新たに子ノードが追加され、更に、新たな子ノードに基づいて、指定文書集合頻度a及び非指定文書集合頻度bの算出及び判定が行われる。
【0088】
つまり、探索部2は、処理関数digを再帰的に呼び出して処理を実行する。よって、探索部2が、最初に、dig(φ,tax,α,β)を呼び出した場合は、
図7に示した列挙木のノード毎に処理関数digが実行され、列挙木から作成される全ての意味クラスユニットについて処理が行われることとなる。従って、例えば、探索部2によって、dig(φ,tax,α,β)が呼び出されると、その中で、dig(V,tax,α,β)とdig(W,tax,α,β)とが呼び出される。更に、dig(V,tax,α,β)が呼び出されると、その中で、dig(U,tax,α,β)、dig(C,tax,α,β)、dig(VW,tax,α,β)が呼び出される。このように、探索部2は、タクソノミ(
図6参照)を元にトップダウンな探索を繰り返し実行する。
【0089】
また、ステップS132の判定の結果、cNode.aが閾値である下限値α以下の場合(cNode.a≦α)は、探索部2は、判定の対象となったcNodeの下位のノードについては、探索を中止する。つまり、この場合は、探索部2は、ステップS131で作成された意味クラスユニットのノードよりも、更に下位に位置するノードについて、S131での頻度算出部3による算出と、ステップS132及びS134での判定と、S133で処理関数digの呼び出しとを中止する。
【0090】
例えば、
図7に示したノードAが判定対象となった場合に、指定文書集合頻度aがα以下であるならば、その下に作成される子ノードAB、AC、AWの指定文書集合頻度aは、必ずαより小さくなる。このため、探索部2は、ノードAの時点で探索を中止し、より下位にあるノードAB、AC、AWを無視することができるのである。
【0091】
このように、
図5に示す処理では、指定文書集合頻度aがαより大きいノード(意味クラスユニット)だけを探索しながら、非指定文書集合頻度bがβより小さいノード(意味クラスユニット)が取り出されている。
【0092】
また、本発明の実施の形態1におけるプログラムは、コンピュータに、
図4に示すステップS1〜S3、
図5に示すステップS11〜S13を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態1における情報処理装置1と情報処理方法とを実現することができる。この場合、コンピュータのCPUは、上述したように探索部2、頻度算出部3、本文検索部4及び評価値算出部5として機能し、処理を行なう。更に、この場合、本文記憶部7及びタグ記憶部8は、コンピュータに備えられたハードディスク等の記憶装置、又はコンピュータに接続された外部の記憶装置に、これらを構成するデータファイルを格納することによって実現できる。
【0093】
以上のように、本実施の形態1によれば、ユーザが指定した文書集合だけでなく、ユーザが指定しなかった文書集合に対しても頻度が調べられるので、ユーザが指定した文書集合内のみで高頻度に出現する意味クラスユニットを特定することができる。そして、このようにして特定された意味クラスユニットは、ユーザが指定した文書集合に特有の1又は2以上の意味クラスに高い確率で相当すると考えられる。
【0094】
また、本実施の形態1では、意味クラスユニットに対して評価値が求められ、この評価値は、適合文書内頻度と非適合文書内頻度とを考慮して得られており、信頼性を有する。よって、ユーザは、簡単に、指定した文書集合に特有の意味クラスユニットを把握することができる。更に、本実施の形態1では、列挙木を用いて、想定される意味クラスユニットが効率良く列挙され、そして、各意味クラスユニットについて効率良く判定が行われるので、ユーザは、迅速、且つ、確実に、指定した文書集合に特有の意味クラスユニット、即ち、1又は2以上の意味クラスを把握することができる。
【0095】
(実施の形態2)
次に、本発明の実施の形態2における情報処理装置、情報処理方法、及びプログラムについて説明する。本実施の形態2における情報処理装置は、
図1に示した実施の形態1における情報処理装置と同様の構成を備えている。但し、本実施の形態2は、探索部2及び評価値算出部5による処理の点で、実施の形態1と異なっている。以下、実施の形態1との相違点を中心に、
図8を用いて説明する。なお、以下の説明では、適宜、
図1、
図6、
図7を参酌する。
図8は、本発明の実施の形態2におけるトップダウン探索処理を説明するフロー図である。
【0096】
図8に示すように、本実施の形態2では、実施の形態1と異なり、処理関数digB(node,tax,α)によってトップダウン探索処理が実行される。また、処理関数digBには、実施の形態1における処理関数digと異なり、「node」、「tax」、「α」の3つの情報だけが入力される。なお、これらの情報は実施の形態1で説明したものと同様である。
【0097】
また、
図8に示すように、先ず、処理関数digB(node,tax,α)に「node」が入力されると、探索部2は、処理関数dig(node,tax,α)を呼び出し、子クラス化処理を行って、列挙木に子ノードを追加する(ステップS21)。次に、探索部2は、処理関数dig(node,tax,α)に入力された「node」を対象として、クラス追加処理を行い、列挙木に子ノードを追加する(ステップS22)。なお、ステップS21及びS22は、それぞれ、実施の形態1において
図5に示したステップS11及びS12と同様のステップである。
【0098】
次に、探索部2及び頻度算出部3は、「node」に追加された子ノード(以下「cNode」とする。)を対象として、指定文書集合頻度a及び非指定文書集合頻度bの算出、意味クラスユニットの特定といった処理を行う(ステップS23)。ステップS23は、以下のステップS231〜S235によって構成されている。
【0099】
ステップS231では、先ず、探索部2は、cNode毎に、当該cNodeの意味クラスユニットを頻度算出部3のタグ検索部6に入力する。具体的には、探索部2は、このとき、cNodeの意味クラスユニットに対応するクラスポインタ列を、タグ検索部6に入力する。これにより、タグ検索部6は、入力されたクラスポインタ列を全て含む文書(適合文書)のタグ文書リストを作成する。
【0100】
また、ステップS231では、各cNodeのタグ文書リストが作成されると、頻度算出部3は、cNode毎に、上記(数1)及び(数2)を用いて、指定文書集合頻度a(cNode.a)及び非指定文書集合頻度b(cNode.b)を算出する。また、頻度算出部3は、算出した各cNode.a及び各cNode.bを探索部2に加え、評価値算出部5にも入力する。
【0101】
そして、ステップS231では、評価値算出部5は、入力された指定文書集合頻度a(cNode.a)及び非指定文書集合頻度b(cNode.b)を用いて、cNode毎の評価値f(以下「cNode.f」と表記する。)を算出する。また、評価値算出部5は、算出したcNode.fを探索部2に入力する。このとき、探索部2では、入力されたcNode.fと既に算出されているcNode.fとの中から、最大値を特定し、これを最大値maxとして保持する。
【0102】
次に、ステップS232では、探索部2は、cNode毎に、cNode.aが下限値αより大きいかどうかを判定する。ステップS232の判定の結果、cNode.aが下限値αより大きい場合は、探索部2は、判定の対象となっているcNodeを入力として、処理関数digB(cNode、tax、α)を呼び出す(ステップS233)。なお、ステップS232及びS233は、それぞれ、実施の形態1において
図5に示したステップS132及びS133と同様のステップである。
【0103】
そして、ステップS233の実行後、ステップS234では、探索部2は、cNode.aが下限値αより大きいcNodeを対象として、cNode.fが現時点の最大値maxより大きいかどうかを判定する(ステップS234)。ステップS234の判定の結果、cNode.fが最大値maxより大きい場合は、探索部2は、cNode.fが最大値maxより大きいcNodeの意味クラスユニットと、指定文書集合頻度aと、非指定文書集合頻度bとを一組のノード情報(セット情報)として出力する(ステップS235)。
【0104】
また、
図5に示したステップS132と同様に、ステップS232の判定の結果、cNode.aが閾値である下限値α以下の場合(cNode.a≦α)は、探索部2は、判定の対象となったcNodeの下位のノードについては、探索を中止する。
【0105】
また、本発明の実施の形態2におけるプログラムは、コンピュータに、
図4に示すステップS1、S3、
図8に示すステップS21〜S23を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態2における情報処理装置と情報処理方法とを実現することができる。この場合も、実施の形態1と同様に、コンピュータのCPUは、探索部2、頻度算出部3、本文検索部4及び評価値算出部5として機能し、処理を行なう。更に、本文記憶部7及びタグ記憶部8は、コンピュータに備えられたハードディスク等の記憶装置、又はコンピュータに接続された外部の記憶装置に、これらを構成するデータファイルを格納することによって実現できる。
【0106】
このように、本実施の形態2では、処理関数digBは、入力として非指定文書集合頻度bの上限値βを必要としておらず、ユーザは、予め上限値βを設定する必要がない。このため、本実施の形態2における情報処理装置を用いれば、実施の形態1における情報処理装置1を用いる場合に比べてユーザにおける管理負担が軽減される。また、本実施の形態2においても、実施の形態1で述べた効果を得ることができる。
【0107】
(実施の形態3)
次に、本発明の実施の形態3における情報処理装置、情報処理方法、及びプログラムについて、
図9〜
図14を参照しながら説明する。最初に、本実施の形態3における情報処理装置11の構成について
図9を用いて説明する。
図9は、本発明の実施の形態3における情報処理装置の構成を示すブロック図である。
【0108】
図9に示すように、本実施の形態3における情報処理装置11は、探索部12と、頻度算出部15と、本文検索部4と、評価値算出部5と、本文記憶部7と、タグ記憶部8とを備えている。このうち、本文検索部4、評価値算出部5、本文記憶部7、及びタグ記憶部8は、実施の形態1において
図1に示されたものと同様であるが、探索部12及び頻度算出部15は、
図1に示された探索部2及び頻度算出部3と、構成及び機能の点で異なっている。以下、実施の形態1との相違点を中心に説明する。
【0109】
図9に示すように、情報処理装置11において、探索部12は、トップダウン探索部13と、ボトムアップ探索部14とを備えている。また、頻度算出部15は、タグ検索部16と、指定文書集合頻度算出部17と、非指定文書集合頻度算出部18とを備えている。
【0110】
タグ検索部16は、本実施の形態3では、後述するトップダウン探索部13又はボトムアップ探索部14からのクラスポインタ列の入力によって呼び出される。タグ検索部16は、
図1に示したタグ検索部6と同様に、入力されたクラスポインタ列を全て含む文書(即ち、適合文書)のタグ文書リストを作成する。
【0111】
指定文書集合頻度算出部17は、トップダウン探索部13からのクラスポインタ列の入力によってタグ検索部16がタグ文書リストを作成すると、処理を開始する。そして、先ず、指定文書集合頻度算出部17は、本文検索部4から出力されたクエリ文書リストを先頭から順に調べ、クエリ文書リスト内の文書IDを元にタグ記憶部8内のレコードを読み込む。
【0112】
次に、指定文書集合頻度算出部17は、タグ文書リストに含まれる文書IDのうち、クエリ文書リストにも含まれる文書IDの数|TΛP|をカウントし、その結果を用いて、指定文書集合頻度aを計算し、これをトップダウン探索部13に出力する。このとき、指定文書集合頻度算出部17は、意味クラスユニット毎に、当該意味クラスユニットのノードが列挙木の上層にあるものから順に、指定文書集合頻度aを算出する。
【0113】
また、非指定文書集合頻度算出部18は、ボトムアップ探索部14からのクラスポインタ列の入力によってタグ検索部16がタグ文書リストを作成すると、処理を開始する。そして、先ず、非指定文書集合頻度算出部18は、タグ記憶部8内のレコードを先頭から順に調べ、クエリ文書リスト内に含まれない文書IDを持つレコードを読み込む。
【0114】
次に、非指定文書集合頻度算出部18は、タグ文書リストに含まれる文書IDのうち、クエリ文書リスト内に含まれない文書IDの数|TΛF|をカウントし、その結果を用いて、非指定文書集合頻度bを計算し、これをボトムアップ探索部14に出力する。このとき、非指定文書集合頻度算出部18は、意味クラスユニット毎に、当該意味クラスユニットのノードが列挙木の下層にあるものから順に、非指定文書集合頻度bを算出する。
【0115】
トップダウン探索部13は、タクソノミと、指定文書集合頻度aの下限値αとを入力として動作する。本実施の形態3においても、下限値αは、0から1の間の小数によって設定されている。また、トップダウン探索部13は、
図1に示した探索部2と同様に、タクソノミを上層から下層へと辿りながら、1又は2以上の意味クラスをノードとし、ノード間にリンクを設定して列挙木を作成する。そして、トップダウン探索部13は、列挙木の各ノードを各意味クラスユニットとする。
【0116】
但し、本実施の形態3では、トップダウン探索部13は、意味クラスユニットを作成する度に、即ち、意味クラスユニットのノードを作成する度に、指定文書集合頻度算出部17を呼び出して、指定文書集合頻度aを算出させ、各ノードに算出した値を付加する(
図10参照)。
図10は、本発明の実施の形態3においてタクソノミから作成された列挙木を示す図である。
【0117】
また、トップダウン探索部13は、指定文書集合頻度aが算出される度に、指定文書集合頻度aが下限値αより高いかどうかを判定する。判定の結果、指定文書集合頻度aが下限値α以下となった場合は、トップダウン探索部13は、算出の対象となった意味クラスユニット、即ち、作成されたノードを除外対象とし、除外対象となったノードを列挙木から削除する。
【0118】
このように、
図10に示した列挙木は、実施の形態1において探索部2が作成した列挙木(
図7参照)に類似したデータであるが、ノードに指定文書集合頻度aが付加される点、指定文書集合頻度aが下限値α以下のノードが除外されている点で異なっている。また、
図10に示した列挙木は、ノード間に、論理的に類推可能な親子関係を示すリンクが補完されている点でも、実施の形態1において探索部2が作成した列挙木とは異なっている。この点について以下に説明する。
【0119】
図10に示すように、列挙木の各ノードには、「意味クラスユニット:指定文書集合頻度a」という形式で、意味クラスユニットと指定文書集合頻度aとがを示されている。そして、
図10に示す列挙木では、リンクの数が、
図6に示す列挙木に比べて多くなっている。これは、
図10に示した列挙木では、ノード間に、論理的に類推可能な親子関係を示すリンクが補完されているためである。
【0120】
例えば、
図6の例ではノードWとノードVWとの間にリンクが存在していないのに対し、
図10の例では、ノードVWとノードWとの間にリンクが存在している。このようなリンクの存在は、意味クラスユニット「VW」が登場する文書集合は、必ず、意味クラスユニット「W」が登場する文書集合に含まれることを意味している。
【0121】
このように、トップダウン探索部13は、列挙木のいずれかのノードの意味クラスユニットが、当該ノードの上位に位置している、親ノードでないノードの意味クラスに包含される場合に、当該ノードと、その上位に位置している親ノードでないノードとの間に新たにリンクを設定する。即ち、トップダウン探索部13は、あるノードの意味クラスユニットが登場する文書集合と、このノードよりも上位にあるノードの意味クラスユニットが登場する文書集合との間に包含関係が類推可能であるとき、これらノード間にリンクを補完する。また、トップダウン探索部13は、リンクを補完した後、列挙木を、ボトムアップ探索部14に出力する。
【0122】
ボトムアップ探索部14は、トップダウン探索部13によって作成された列挙木と、非指定文書集合頻度bの上限値βとを入力として動作する。そして、ボトムアップ探索部14は、非指定文書集合頻度bが上限値βより低い意味クラスユニットを列挙木内でボトムアップに探索する。
【0123】
具体的には、ボトムアップ探索部14は、除外対象となったノードの意味クラスユニットが除かれた意味クラスユニットの集合を対象として、非指定文書集合頻度算出部18に、非指定文書集合頻度bの算出を行わせる。また、ボトムアップ探索部14は、算出の度に、非指定文書集合頻度bが上限値βよりも低いかどうかを判定する。
【0124】
そして、ボトムアップ探索部14は、非指定文書集合頻度bが上限値β以上となった場合に、算出の対象となった意味クラスユニットのノードと、当該ノードに直接又は間接的につながっている全ての上位のノードとを列挙木から削除する。
【0125】
その後、ボトムアップ探索部14は、列挙木に残存するノードから得られる意味クラスユニットを特定し、特定した意味クラスユニットと、指定文書集合頻度aと、非指定文書集合頻度bとから成るセット情報を評価値算出部5に出力する。
【0126】
次に、本発明の実施の形態3における情報処理装置11の全体の動作について
図11を用いて説明する。
図11は、本発明の実施の形態3における情報処理装置の動作を示すフロー図である。以下の説明においては、適宜
図9及び
図10を参酌する。また、本実施の形態3においても、情報処理装置11を動作させることによって、情報処理方法が実施される。よって、本実施の形態3における情報処理方法の説明も、以下の情報処理装置11の動作説明に代える。
【0127】
図11に示すように、先ず、外部から検索条件が入力されると、本文検索部4による検索処理が実行される(ステップS31)。具体的には、本文検索部4は、検索条件に合致するタグ付文書を特定し、特定したタグ付文書の集合を表す文書IDのリスト(クエリ文書リスト)を作成する。ステップS31は、実施の形態1において
図4に示したステップS1と同様のステップである。
【0128】
次に、トップダウン探索部13及び指定文書集合頻度算出部17によるトップダウン探索処理が実行される(ステップS32)。続いて、ボトムアップ探索部14及び非指定文書集合頻度算出部18によるボトムアップ探索処理が実行され、セット情報が出力される(ステップS33)。ステップS33では、ボトムアップ探索部14は、ステップS32で得られた列挙木を入力として、ボトムアップ探索を行う。なお、ステップS32の具体例については、
図12を用いて後述する。ステップS33の具体例については、
図14を用いて後述する。
【0129】
次に、評価値算出部5による評価値の算出が実行される(ステップS34)。ステップS34では、評価値算出部5は、ボトムアップ探索部14から出力されたセット情報(意味クラスユニット、指定文書集合頻度a、非指定文書集合頻度b)を入力として、評価値fを算出する。また、評価値算出部5は、評価値が最も高い意味クラスユニットを出力する。ステップS34は、実施の形態1において
図4に示したステップS3と同様のステップである。評価値fを算出するための関数の例としては、実施の形態1と同様に、a/b(数3参照)が挙げられる。
【0130】
続いて、
図12及び
図13を用いて、
図11に示したトップダウン探索処理(ステップS32)について更に詳細に説明する。
図12は、
図11におけるトップダウン探索処理を説明するフロー図である。
図13は、
図12に示すトップダウン探索処理によって得られた列挙木の各ノードを示す図である。
【0131】
図12も、
図5と同様に、トップダウン探索処理を実行するための処理関数を示している。また、本実施の形態3においても、情報処理装置11は、コンピュータによって構築でき、コンピュータのCPUが、
図12に示す処理関数に従って処理を実行する。
図12において表現されている処理関数は、再帰的な処理関数top-down(node,tax,α,d)である。処理関数top-downには、「node」、「tax」、「α」、「d」の4つの情報が入力される。このうち、「node」、「tax」及び「α」は、
図5に示した処理関数digにも入力される情報である。「d」は、処理関数top-downの実行時点での探索の深さを表す値であり、初期値は「0」に設定される。
【0132】
ここで、処理関数top-down(node,tax,α,d)に沿って、
図12に示すステップS41〜S44を以下に説明する。また、
図11において、処理関数top-down(node,tax,α,d)は、入力された「node」毎に、ステップS41〜S45を実行する。
【0133】
図12に示すように、先ず、「node」が入力されると、トップダウン探索部13は、処理関数top-down(node,tax,α,d)を呼び出し、子クラス化処理を行って、列挙木に子ノードを追加する(ステップS41)。ステップS41は、
図5に示したステップS11と同様のステップである。
【0134】
次に、トップダウン探索部13は、処理関数top-down(node、tax、α、d)に入力された「node」を対象として、クラス追加処理を行い、列挙木に子ノードを追加する(ステップS42)。ステップS42は、
図5に示したステップS12と同様のステップである。
【0135】
次に、トップダウン探索部13は、処理関数top-downに従い、ここまでの処理で作成された子ノード(node.children)と、その上位に位置するノードとの間に、論理的に類推可能な親子関係を示すリンクを補完する(ステップS43)。
【0136】
具体的には、ステップS43では、先ず、トップダウン探索部13は、node.childrenにおける意味クラスユニットが全て列挙されたリスト(以下「リストA」とする。)と、入力された「node」の弟ノードにおける意味クラスユニットが全て列挙されたリスト(以下「リストB」とする。)とを取得する。なお、「node」の弟ノードとは、親ノードが同一であって「node」の右側に位置するノードをいう。
【0137】
そして、ステップS43では、トップダウン探索部13は、リストAとリストBとを比較する。この比較では、タクソノミ(
図6参照)を参照して、リストA内の任意の一つの意味クラス
ユニットの親クラスを特定し、特定した親クラスと、リストBに列挙された意味クラスユニットとが、等しいかどうかが判定される。また、この比較では、リストA内の任意の一つの意味クラスユニットが2以上の意味クラスを含む場合は、1つの意味クラスのみを残して他を削除し、残った意味クラスの親クラスと、リストBに列挙された意味クラスユニットとが、等しいかどうかも判定される。
【0138】
その後、ステップS43では、トップダウン探索部13は、上記の二つの判定のいずれかにおいて等しいと判定した場合は、二つのノードをつなぐリンクを作成する。これは、リストA内の対象となったノードと、親クラスのノードとの間には親子関係が成立すると考えられるためである。
【0139】
次に、トップダウン探索部13及び指定文書集合頻度算出部17は、「node」に追加された子ノード(cNode)を対象として、指定文書集合頻度aの算出を行い、更に、列挙木の再編成を行う(ステップS44)。ステップS44は、以下のステップS441〜S444によって構成されている。
【0140】
ステップS441では、先ず、トップダウン探索部13は、cNode毎に、当該cNodeの意味クラスユニットを頻度算出部15のタグ検索部16に入力する。具体的には、トップダウン探索部13は、このとき、cNodeの意味クラスユニットに対応するクラスポインタ列を、タグ検索部16に入力する。これにより、タグ検索部16は、タグ記憶部8内を調べ、cNode毎に、入力されたクラスポインタ列を全て含む文書(適合文書)の文書IDのリスト(タグ文書リスト)を作成する。なお、タグ検索部16における処理は、
図5に示したステップS131での処理と同様である。
【0141】
そして、ステップS441では、各cNodeのタグ文書リストが作成されると、指定文書集合頻度算出部17は、cNode毎に、タグ文書リストを順番に先頭から調べながら、クエリ文書リストに含まれる文書IDの数(|TΛP|)を算出する。更に、指定文書集合頻度算出部17は、cNode毎に、クエリ文書リストに含まれる文書IDの数|P|を算出し、上記(数1)を用いて、各cNodeの指定文書集合頻度a(cNode.a)を計算する。
【0142】
次に、ステップS442では、トップダウン探索部13は、cNode毎に、cNode.aが下限値αより大きいかどうかを判定する。ステップS442の判定の結果、cNode.aが下限値αより大きい場合は、トップダウン探索部13は、判定の対象となっているcNodeを入力として、処理関数top-down(cNode,tax,α,d+1)を呼び出す(ステップS44
4)。一方、ステップS442の判定の結果、cNode.aが下限値α以下である場合は、トップダウン探索部13は、判定の対象となっているcNodeを、列挙木から削除し、入力された「node」の子ノードとして存在しないものとする(ステップS44
3)。
【0143】
その後、トップダウン探索部13は、残った子ノードの集合node.childrenを、ボトムアップ探索部14に出力する(ステップS45)。ステップS45によって出力された列挙木のノードの例を
図13に示す。
図13は、
図12に示すトップダウン探索処理によって得られた列挙木の各ノードを示す図である。
図13に示すように、ステップS45による出力は、親ノードの意味クラスユニット、子ノードの意味クラスユニット、cNodeの指定文書集合頻度a(cNode.a)、及び深さdの4種類の情報を含んでいる。
図13に示された出力を用いれば、
図10に示した列挙木を再現することができる。
【0144】
また、ステップS444では、上述したように処理関数top-down(cNode,tax,α,d+1)が呼び出され、これにより、トップダウン探索部13は、処理関数top-down(cNode,tax,α,d+1)に従って、ステップS41〜S45を更に実行する。この結果、入力となっているcNodeに基づいて、列挙木に新たに子ノードが追加され、更に、新たな子ノードを対象として、リンクの補完、指定文書集合頻度aの算出、判定、列挙木の再編成が行われる。
【0145】
続いて、
図14を用いて、
図11に示したボトムアップ探索処理(ステップS33)について更に詳細に説明する。
図14は、
図11におけるボトムアップ探索処理を説明するフロー図である。
【0146】
図14は、
ボトムアップ探索処理を実行するための処理関数を示している。また、本実施の形態3においても、情報処理装置11は、コンピュータによって構築でき、コンピュータのCPUが、
図14に示す処理関数に従って処理を実行する。
図14において表現されている処理関数は、再帰的な処理関数bottom-up(node,β)である。処理関数bottom-upには、「node」、「β」の
2つの情報が入力され、これらは、
図5に示した処理関数digにも入力される情報である。
【0147】
ここで、処理関数bottom-up(node,β)に沿って、
図14に示すステップS51〜S52を以下に説明する。また、
図14において、処理関数bottom-up(node、β)は、入力された「node」毎に、ステップS51〜S52を実行する。
【0148】
図14に示すように、先ず、「node」が入力されると、ボトムアップ探索部14は、処理関数bottom-up(node、β)を呼び出し、深さdにあるノードを全て取り出す(ステップS51)。ここで、列挙木の深さdの最大値を「depth」とすると、ボトムアップ探索部14は、最初のステップS51の実行時においては、深さdepthにあるノードを全て取り出すことになる。なお、以下の説明では、ステップS51で取り出されたノードを「dNode」と表記する。
【0149】
次に、ボトムアップ探索部14及び非指定文書集合頻度算出部18は、ステップS51で取り出された子ノード(dNode)を対象として、非指定文書集合頻度bの算出、判定、意味クラスユニットの特定といった処理を行う(ステップS52)。ステップS52は、以下のステップS521〜S524によって構成されている。
【0150】
ステップS521では、先ず、ボトムアップ探索部14は、dNode毎に、当該dNodeの意味クラスユニットをタグ検索部16に入力する。具体的には、ボトムアップ探索部14は、このとき、dNodeの意味クラスユニットに対応するクラスポインタ列を、タグ検索部16に入力する。これにより、タグ検索部16は、タグ記憶部8内を調べ、dNode毎に、入力されたクラスポインタ列を全て含む文書(適合文書)の文書IDのリスト(タグ文書リスト)を作成する。
【0151】
そして、ステップS521では、各dNodeのタグ文書リストが作成されると、非指定文書集合頻度算出部18は、dNode毎に、タグ文書リストを先頭から順番に調べながら、クエリ文書リストに含まれない文書IDの数(|TΛF|)を算出する。更に、非指定文書集合頻度算出部18は、dNode毎に、クエリ文書リストに含まれない文書IDの数|F|を算出し、上記(数2)を用いて、各dNodeの非指定文書集合頻度b(以下「dNode.b」と表記する。)を計算する。
【0152】
次に、ステップS522では、ボトムアップ探索部14は、dNode毎に、非指定文書集合頻度bが閾値である上限値βより小さいかどうかを判定する。ステップS522の判定の結果、dNode.bが上限値β以上の場合は、ボトムアップ探索部14は、判定の対象となっているdNodeと、このdNodeと直接又は間接的につながっている全ての上位のノード、即ち、先祖ノードとを、列挙木から削除する(ステップS523)。
【0153】
一方、ステップS522の判定の結果、dNode.bが上限値βより小さい場合は、ボトムアップ探索部14は、当該dNodeの意味クラスユニットと、指定文書集合頻度aと、非指定文書集合頻度bとを一組のノード情報(セット情報)として出力する(ステップS524)。つまり、結果、列挙木から削除されなかったノードの意味クラスユニットと、対応する指定文書集合頻度a及び非指定文書集合頻度bとが出力される。なお、出力の例は、実施の形態1と同様となる(
図15参照)。
【0154】
また、本発明の実施の形態3におけるプログラムは、コンピュータに、
図11に示すステップS31〜S34、
図12に示すステップS41〜S45、
図14に示すステップS51〜S52を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態3における情報処理装置11と情報処理方法とを実現することができる。この場合、コンピュータのCPUは、探索部12、頻度算出部15、本文検索部4及び評価値算出部5として機能し、処理を行なう。更に、この場合、本文記憶部7及びタグ記憶部8は、コンピュータに備えられたハードディスク等の記憶装置、又はコンピュータに接続された外部の記憶装置に、これらを構成するデータファイルを格納することによって実現できる。
【0155】
このように、本実施の形態3では、非指定文書集合頻度bを全てのノードに対して算出する必要がない。このため、本実施の形態3によれば、実施の形態1に比べて高速に、ユーザが指定した文書集合に特有の1又は2以上の意味クラスを取得することができる。この点について以下に説明する。
【0156】
実施の形態1では、探索部2が探索を行う際に、列挙木中の全てのノードを対象として、非指定文書集合頻度bの算出が行われている。一方、列挙木中の上位にあるノードについては、多くの場合、非指定文書集合頻度bの値は上限値βより大きくなる。つまり、子ノードの意味クラスを含む文書の非指定文書集合頻度bが上限値β以上である場合には、必ず、その親ノード、更には、その先祖ノードの非指定文書集合頻度bも上限値β以上になる。このため、実施の形態1では、計算が無駄になることがある。
【0157】
これに対して、本実施の形態3では、定理Aから導かれる「列挙木において親子関係にあるノードは、必ず[親ノードの意味クラスユニットを含む文書の非指定文書集合頻度b]>[子ノードの意味クラスユニットを含む文書の非指定文書集合頻度b]という関係を持つ」という性質が利用される。よって、本実施の形態3では、下位に位置する子ノードから順に、ボトムアップに非指定文書集合頻度bが調べられ、無駄な非指定文書集合頻度bの計算が省略される。この結果、本実施の形態3によれば、上述したように、高速に、ユーザが指定した文書集合に特有の1又は2以上の意味クラスを取り出すことができる。
【0158】
ここで、実施の形態1〜3におけるプログラムを実行することによって、情報処理装置を実現するコンピュータについて
図22を用いて説明する。
図22は、本発明の実施の形態1〜3におけるプログラムを実行可能なコンピュータを示すブロック図である。
【0159】
図22に示すように、コンピュータ1
10は、CPU1
11と、メインメモリ1
12と、記憶装置1
13と、入力インターフェイス1
14と、表示コントローラ1
15と、データリーダ/ライタ1
16と、通信インターフェイス1
17とを備える。これらの各部は、バス1
21を介して、互いにデータ通信可能に接続される。
【0160】
CPU1
11は、記憶装置1
13に格納された、実施の形態1〜3におけるいずれかのプログラム(コード)をメインメモリ1
12に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ1
12は、典型的には、DRAN(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態1〜3におけるプログラムは、コンピュータ読み取り可能な記録媒体1
20に格納された状態で提供される。なお、本実施の形態1〜3におけるプログラムは、通信インターフェイス1
17を介して接続されたインターネット上で流通するものであっても良い。
【0161】
また、記憶装置1
13の具体例としては、ハードディスクの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス1
14は、CPU1
11と、キーボード及びマウスといった入力機器1
18との間のデータ伝送を仲介する。表示コントローラ1
15は、ディスプレイ装置1
19と接続され、ディスプレイ装置1
19での表示を制御する。データリーダ/ライタ1
16は、CPU1
11と記録媒体1
20との間のデータ伝送を仲介し、記録媒体1
20からのプログラムの読み出し、及び処理結果の記録媒体1
20への書き込みを実行する。通信インターフェイス1
17は、CPU1
11と、他のコンピュータとの間のデータ伝送を仲介する。
【0162】
記録媒体1
20の具体例としては、CF(Compact Flash
(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible
Disk)等の磁気記憶媒体、又はCD-ROM(Compact Disk
Read Only Memory)等の光学記憶媒体が挙げられる。
【実施例1】
【0163】
次に、
図15を参照して、実施の形態1の具体例を実施例1として説明する。
図15は、実施例1において特定された意味クラスユニットの一例を示す図である。また、実施例1の説明は、
図4及び
図5に示す各ステップに沿って説明する。
【0164】
(ステップS1)
外部からの検索条件の入力により、本文検索部4が検索処理を実行し、検索条件に合致したタグ付文書の集合を表すクエリ文書リストが作成される。なお、本文検索部4による検索処理は、一般的な検索エンジンによる検索処理と同様である。
【0165】
(ステップS2)
探索部2に、タクソノミとして
図6に示すタクソノミが入力され、指定文書集合頻度aの下限値α及び非指定文書集合頻度bの上限値βが共に0.5に指定されているとする。探索部2は、処理関数dig(node,tax,0.5,0.5)を呼び出して、
図5に示したステップS11〜S13を実行する。これにより、探索部2は、
図7に示す列挙木を作成し、指定文書集合頻度a及び非指定文書集合頻度bから意味クラスユニットを特定する。以下に、ステップS2について具体的に説明する。
【0166】
探索開始時に処理関数digに入力される「node」は空集合(φ)である。このとき処理関数dig(φ,tax,0.5,0.5)が呼び出され、探索部2は、先ず、子ノードとして、タクソノミ上の最も上位にある意味クラスVと意味クラスWとを追加する。また、これにより、処理関数dig(V,tax,0.5,0.5)と、処理関数dig(W,tax,0.5,0.5)とが呼び出される。
【0167】
そして、処理関数dig(V,tax,0.5,0.5)が呼び出されると、探索部2は、先ず、意味クラスVを子クラスに変換して得られる意味クラスUと意味クラスCとを子ノードとして追加する。更に、探索部2は、ノードVの右側ノードの意味クラスWを用いて、意味クラスユニットVWを作成し、これを用いて子ノードVWも追加する。
【0168】
探索部2はこのように探索を続けながら、各ノードの意味クラスユニットについて、頻度算出部3に、指定文書集合頻度aを算出させる。そして、探索部2は、算出した指定文書集合頻度aが下限値α(=0.5)以下である場合は、それ以上の探索を中止する。例えば、ノードAの指定文書集合頻度aが0.3である場合、その下に作成される子ノードAB、AC、AWの指定文書集合頻度aは、必ず0.3より小さくなる。このため、探索部2は、ノードAについての指定文書集合頻度aの算出の時点で探索を中止し、より下位にあるノードAB、AC、AWを無視することができる。
【0169】
また、探索部2は、算出した指定文書集合頻度aが下限値α(=0.5)より大きい場合は、頻度算出部3に、非指定文書集合頻度bを算出させ、算出された非指定文書集合頻度bが上限値βよりも低いかどうかを判定する。判定の結果、非指定文書集合頻度bが上限値βより小さい場合は、探索部2は、算出対象となったノードの意味クラスユニットと、指定文書集合頻度aと、非指定文書集合頻度bとを一組のノード情報(セット情報)として、評価値算出部5に出力する。
【0170】
このように、ステップS2では、探索部2は、指定文書集合頻度aが下限値αより大きい意味クラスユニットだけを探索しながら、非指定文書集合頻度bが上限値βより小さくなる意味クラスユニットを取り出すことができる。
【0171】
(ステップS3)
評価値算出部5は、セット情報を入力とし、上記(数3)を用いて評価値fを算出する。そして、評価値算出部5は、評価値が最も高い意味クラスユニットを特定し、これを外部に出力する。
【0172】
ここで、
図15を用いて、評価値算出部5が出力したデータの例を説明する。
図15の例では、算出の対象となった子ノード、意味クラスユニット、指定文書集合頻度a、及び非指定文書集合頻度bで構成されたセット情報が出力されている。
図15に示すように、各セット情報(各行)においては、いずれもa>α(=0.5)、b<β(=0.5)の条件を満たしている。
【0173】
そして、本実施例1では、評価値算出部5は、各行に対して評価値f(= a/b)を算出し、その値が最大となるセット情報を出力する。具体的には、子ノードがノードUEの場合に、評価値は最大値「7(=0.7/0.1)」となるため、意味クラスユニット(U、E)が出力される。
【実施例2】
【0174】
次に、
図16及び
図17を参照して、実施の形態3の具体例を実施例2として説明する。
図16は、実施例2においてトップダウン探索部が出力する列挙木の一例を示す図である。
図17は、実施例2においてボトムアップ探索部が実行する探索処理の一例を説明する図である。また、実施例2の説明は、
図11、
図12及び
図14に示す各ステップに沿って説明する。
【0175】
(ステップS31)
外部からの検索条件の入力により、本文検索部4が検索処理を実行し、検索条件に合致したタグ付文書の集合を表すクエリ文書リストが作成される。なお、本文検索部4による検索処理は、一般的な検索エンジンによる検索処理と同様である。
【0176】
(ステップS32)
トップダウン探索部13に、タクソノミとして
図6に示すタクソノミが入力され、指定文書集合頻度aの下限値αが0.5に指定されているとすると、トップダウン探索部13は、処理関数top-down(node,tax,0.5,0)を呼び出して、
図12に示したステップS41〜S45を実行する。これにより、トップダウン探索部13は、
図16に示す列挙木を作成し、指定文書集合頻度算出部17に指定文書集合頻度aの算出を行わせ、更に、列挙木のノードの再編成を行う。以下に、ステップS32について具体的に説明する。
【0177】
探索開始時に処理関数top-downに入力される「node」は、空集合(φ)である。このとき、処理関数top-down(φ,tax,0.5,0)が呼び出され、トップダウン探索部13は、先ず、子ノードとして、タクソノミ上の最も上位にある意味クラスVと意味クラスWとを追加する。また、これにより、処理関数top-down(V,tax,0.5,1)と、処理関数top-down(W,tax,0.5,1)とが呼び出される。
【0178】
そして、処理関数top-down(V,tax,0.5,1)が呼び出されると、トップダウン探索部13は、先ず、意味クラスVを子クラスに変換して得られる意味クラスUと意味クラスCとを子ノードとして追加する。更に、トップダウン探索部13は、ノードVの右側ノードの意味クラスを用いて、意味クラスユニットVWを作成し、これを用いて子ノードVWも追加する。
【0179】
次に、トップダウン探索部13は、処理関数top-downに従い、ここまでの処理で作成された子ノード(node.children)と、その上位に位置するノードとの間に、論理的に類推可能な親子関係を示すリンクを補完する。具体的には、トップダウン探索部13は、例えば、入力された「node」がノードVであるとすると、その弟ノードWと、その子ノードU、C、及びVWとを比較する。これにより、ノードWとノードVWとの間にリンクが補完される。
【0180】
次に、トップダウン探索部13は、指定文書集合頻度算出部17に、追加された子ノードを対象として、指定文書集合頻度aの算出を行わせ、算出した各指定文書集合頻度aが下限値αより大きいかどうかを判定する。そして、例えば、算出の対象となった子ノードが、子ノードU、C、及びVWであり、全てにおいて、各指定文書集合頻度aが下限値αより大きい場合は、処理関数top-down(U,tax,0.5,2)、処理関数top-down(C,tax,0.5,2)、処理関数top-down(VW,tax,0.5,2)が呼び出される。一方、指定文書集合頻度aが下限値α以下の場合は、トップダウン探索部13は、判定の対象となった子ノードを列挙木から削除する。
【0181】
トップダウン探索部13は、このように探索を続けながら、各意味クラスユニットに対して指定文書集合頻度aを算出していき、
図16で示される列挙木のデータを、ボトムアップ探索部14に出力する。
【0182】
(ステップS33)
次に、ボトムアップ探索部14は、
図16で示された列挙木のノードを入力として、処理関数bottom-up(node,0.5)を呼び出し、非指定文書集合頻度bの算出、判定を実行する。ボトムアップ探索部14による処理の結果は、例えば、
図17に示す通りとなる。
【0183】
具体的には、ボトムアップ探索部14は、
図16中において、最も深い位置にあるノードから、それよりも上位にあるノードに向かって処理を行い、非指定文書集合頻度算出部18に対して、ノード毎に、非指定文書集合頻度bの算出を行わせる。そして、ボトムアップ探索部14は、非指定文書集合頻度bが上限値βより小さいかどうかを判定する。
【0184】
判定の結果、非指定文書集合頻度bが0.5以上となる場合は、ボトムアップ探索部14は、判定の対象となったノードとその先祖ノードとを列挙木から排除する。例えば、ノードBCWの非指定文書集合頻度bが0.6であることが判明したとする。このとき、
図17に示すように、ボトムアップ探索部14は、ノードBCWと、その全ての先祖ノードとを削除する。なぜならば、ノードBCWの頻度が0.5以上であれば、その全ての先祖ノードの頻度も必ず0.5以上になるためである。実施例2では、このような手順で非指定文書集合頻度bが調べられるので、ボトムアップ探索部14は、効率良く非指定文書集合頻度bを算出することができる。
【0185】
その後、ボトムアップ探索部14は、列挙木から削除されなかったノードの意味クラスユニットと、対応する指定文書集合頻度a及び非指定文書集合頻度bとをセット情報として出力する。
【0186】
(ステップS34)
評価値算出部5は、セット情報を入力とし、上記(数3)を用いて評価値fを算出する。そして、評価値算出部5は、評価値が最も高い意味クラスユニットを特定し、これを外部に出力する。評価値算出部5における処理は実施例1と同様である(
図15参照)。
【0187】
上述した実施の形態及び実施例の一部又は全部は、以下に記載する(付記1)〜(付記24)によって表現することができるが、以下の記載に限定されるものではない。
【0188】
(付記1)
意味クラスを特定可能なタグが各文書に付与された文書集合を対象とする情報処理装置であって、
複数の前記意味クラスにおける意味クラス間の関係を特定するタクソノミから、1又は2以上の前記意味クラスを含む意味クラスユニットを複数個作成する、探索部と、
前記意味クラスユニット毎に、
前記文書集合の中から、当該意味クラスユニットに適合する文書を特定し、特定した適合する文書について、前記文書集合のうちの予め指定された文書集合での出現頻度を表す第1の頻度と、前記文書集合のうちの予め指定されていない文書集合での出現頻度を表す第2の頻度とを算出する、頻度算出部とを備え、
前記探索部は、前記頻度算出部によって算出が行われると、前記適合する文書の前記第1の頻度と前記第2の頻度とに基づいて、いずれかの前記意味クラスユニットを特定する、ことを特徴とする情報処理装置。
【0189】
(付記2)
前記探索部が、前記適合する文書の前記第1の頻度が第1の閾値より高く、且つ、前記適合する文書の前記第2の頻度が第2の閾値よりも低い、前記意味クラスユニットを特定する、付記1に記載の情報処理装置。
【0190】
(付記3)
当該情報処理装置が、前記文書集合を対象として、外部から入力された検索条件に基づいて検索を行う、検索部を更に備え、
前記頻度算出部が、検索によって特定された文書集合を、前記予め指定された文書集合として、前記第1の頻度及び前記第2の頻度を算出する、付記1又は2に記載の情報処理装置。
【0191】
(付記4)
前記タグが、それに対応する意味クラスを示す識別子を含み、
前記探索部が、前記意味クラスユニット毎に、当該意味クラスユニットに対応する識別子の集合を特定し、
前記頻度算出部が、特定された前記識別子の集合と、前記文書集合の各文書に付与された前記タグとを対比して、前記意味クラスユニットに適合する文書を特定する、付記1〜3のいずれかに記載の情報処理装置。
【0192】
(付記5)
前記探索部によって特定された前記意味クラスユニットに対して、適合する文書の前記第1の頻度が増加する場合及び前記第2の頻度が低下する場合のいずれか又は両方の場合に値が増加する、評価値を算出し、前記評価値が最も高くなる前記意味クラスユニットを特定する、評価値算出部を更に備えている、付記1〜4のいずれかに記載の情報処理装置。
【0193】
(付記6)
前記タクソノミが、複数の前記意味クラスにおける意味クラス間の関係を階層化した状態で特定しており、
前記探索部が、前記タクソノミを上層から下層へと辿りながら、1又は2以上の前記意味クラスをノードとし、ノード間にリンクを設定して列挙木を作成し、前記列挙木の前記ノードを前記意味クラスユニットとする、付記1〜5のいずれかに記載の情報処理装置。
【0194】
(付記7)
前記タクソノミが、複数の前記意味クラスにおける意味クラス間の関係を階層化した状態で特定しており、
前記探索部が、前記タクソノミを上層から下層へと辿りながら、1又は2以上の前記意味クラスをノードとし、ノード間にリンクを設定して列挙木を作成し、前記列挙木の前記ノードを前記意味クラスユニットとし、
前記頻度算出部が、前記意味クラスユニット毎に、当該意味クラスユニットのノードが前記列挙木の上層にあるものから順に、前記第1の頻度と前記第2の頻度とを算出し、
更に、前記探索部が、前記頻度算出部による算出の度に、前記第1の頻度が第1の閾値より高いかどうか、及び前記第2の頻度が第2の閾値よりも低いかどうかを判定し、これによって、前記意味クラスユニットの特定を行い、
そして、前記第1の頻度が前記第1の閾値以下となった場合に、前記算出の対象となった前記意味クラスユニットのノードよりも更に下位に位置するノードについて、前記頻度算出部による算出と、前記判定とを中止する、付記2に記載の情報処理装置。
【0195】
(付記8)
前記タクソノミが、複数の前記意味クラスにおける意味クラス間の関係を階層化した状態で特定しており、
前記探索部が、前記タクソノミを上層から下層へと辿りながら、1又は2以上の前記意味クラスをノードとし、ノード間にリンクを設定して列挙木を作成し、前記列挙木の前記ノードを前記意味クラスユニットとし、
前記頻度算出部が、前記探索部の指示に応じて、
前記意味クラスユニット毎に、当該意味クラスユニットのノードが前記列挙木の上層にあるものから順に、前記第1の頻度を算出し、更に、当該意味クラスユニットのノードが前記列挙木の下層にあるものから順に、前記第2の頻度を算出し、
更に、前記探索部が、
前記列挙木のいずれかのノードの意味クラスが、当該ノードの上位に位置している、親ノードでないノードの意味クラスに包含される場合に、当該ノードと、その上位に位置している親ノードでないノードとの間に新たにリンクを設定し、
前記頻度算出部によって前記第1の頻度が算出される度に、前記第1の頻度が第1の閾値より高いかどうかを判定し、前記第1の頻度が前記第1の閾値以下となった場合に、前記算出の対象となった前記意味クラスユニットを除外対象とし、前記除外対象となった前記意味クラスユニットのノードを前記列挙木から削除し、
そして、前記頻度算出部に、前記除外対象が除外された複数の前記意味クラスユニットを対象として前記第2の頻度の算出を行わせ、前
記頻度算出部による算出の度に、前記第2の頻度が第2の閾値よりも低いかどうかを判定し、
前記第2の頻度が前記第2の閾値以上となった場合に、算出の対象となった前記意味クラスユニットのノードと、当該ノードに直接又は間接的につながっている全ての上位のノードとを前記列挙木から削除し、
その後、前記列挙木に残存するノードから得られる前記意味クラスユニットを特定する、付記2に記載の情報処理装置。
【0196】
(付記9)
意味クラスを特定可能なタグが各文書に付与された文書集合を対象とする情報処理方法であって、
(a)複数の前記意味クラスにおける意味クラス間の関係を特定するタクソノミから、1又は2以上の前記意味クラスを含む意味クラスユニットを複数個作成する、ステップと、
(b)前記意味クラスユニット毎に、前記文書集合の中から、当該意味クラスユニットに適合する文書を特定する、ステップと、
(c)前記意味クラスユニット
毎に、前記(b)のステップで特定した適合する文書について、前記文書集合のうちの予め指定された文書集合での出現頻度を表す第1の頻度と、前記文書集合のうちの予め指定されていない文書集合での出現頻度を表す第2の頻度とを算出する、ステップと、
(d)前記(c)のステップの算出が行われると、前記(b)のステップで特定した適合する文書の前記第1の頻度と前記第2の頻度とに基づいて、いずれかの前記意味クラスユニットを特定する、ステップと、
を有することを特徴とする情報処理方法。
【0197】
(付記10)
前記(d)のステップにおいて、前記(b)のステップで特定した適合する文書の前記第1の頻度が第1の閾値より高く、且つ、前記適合する文書の前記第2の頻度が第2の閾値よりも低い、前記意味クラスユニットを特定する、付記9に記載の情報処理方法。
【0198】
(付記11)
(e)前記文書集合を対象として、外部から入力された検索条件に基づいて検索を行う、ステップを更に有し、
前記(b)のステップにおいて、前記(e)のステップの検索によって特定された文書集合を、前記予め指定された文書集合として、前記第1の頻度及び前記第2の頻度を算出する、付記9又は付記10に記載の情報処理方法。
【0199】
(付記12)
前記タグが、それに対応する意味クラスを示す識別子を含み、
前記(a)のステップにおいて、更に、前記意味クラスユニット毎に、当該意味クラスユニットに対応する前記識別子の集合を特定し、
前記(b)のステップにおいて、特定された前記識別子の集合と、前記文書集合の各文書に付与された前記タグと対比して、前記意味クラスユニットに適合する文書を特定する、付記9〜11のいずれかに記載の情報処理方法。
【0200】
(付記13)
(f)前記(d)のステップで特定された前記意味クラスユニットに対して、適合する文書の前記第1の頻度が増加する場合及び前記第2の頻度が低下する場合のいずれか又は両方の場合に値が増加する、評価値を算出し、前記評価値が最も高くなる前記意味クラスユニットを特定する、ステップを更に有している、付記9〜12のいずれかに記載の情報処理方法。
【0201】
(付記14)
前記タクソノミが、複数の前記意味クラスにおける意味クラス間の関係を階層化した状態で特定しており、
前記(a)のステップで、前記タクソノミを上層から下層へと辿りながら、1又は2以上の前記意味クラスをノードとし、ノード間にリンクを設定して列挙木を作成し、前記列挙木の前記ノードを前記意味クラスユニットとする、付記9〜13のいずれかに記載の情報処理方法。
【0202】
(付記15)
前記タクソノミが、複数の前記意味クラスにおける意味クラス間の関係を階層化した状態で特定しており、
前記(a)のステップで、前記タクソノミを上層から下層へと辿りながら、1又は2以上の前記意味クラスをノードとし、ノード間にリンクを設定して列挙木を作成し、前記列挙木の前記ノードを前記意味クラスユニットとし、
前記(c)のステップで、前記意味クラスユニット毎に、当該意味クラスユニットのノードが前記列挙木の上層にあるものから順に、前記第1の頻度と前記第2の頻度とを算出し、
前記(d)のステップで、前記(c)のステップによる算出の度に、前記第1の頻度が第1の閾値より高いかどうか、及び前記第2の頻度が第2の閾値よりも低いかどうかを判定し、これによって、前記意味クラスユニットの特定を行い、
そして、前記(d)のステップでの判定において、前記第1の頻度が前記第1の閾値以下となった場合は、前記算出の対象となった前記意味クラスユニットのノードよりも更に下位に位置するノードについて、前記(c)のステップと前記(d)のステップとの実行が中止される、付記10に記載の情報処理方法。
【0203】
(付記16)
前記タクソノミが、複数の前記意味クラスにおける意味クラス間の関係を階層化した状態で特定しており、
前記(a)のステップで、前記タクソノミを上層から下層へと辿りながら、1又は2以上の前記意味クラスをノードとし、ノード間にリンクを設定して列挙木を作成し、前記列挙木の前記ノードを前記意味クラスユニットとし、
前記(c)のステップで、前記意味クラスユニット毎に、当該意味クラスユニットのノードが前記列挙木の上層にあるものから順に、前記第1の頻度のみを算出し、
前記(d)のステップが、
(d1)前記列挙木のいずれかのノードの意味クラスが、当該ノードの上位に位置している、親ノードでないノードの意味クラスに包含される場合に、当該ノードと、その上位に位置している親ノードでないノードとの間に新たにリンクを設定する、ステップと、
(d2)前記(c)のステップによって前記第1の頻度が算出される度に、前記第1の頻度が第1の閾値より高いかどうかを判定する、ステップと、
(d3)前記(d2)のステップの判定の結果、前記第1の頻度が前記第1の閾値以下となった場合に、前記(d2)のステップで前記算出の対象となった前記意味クラスユニットを除外対象とし、前記除外対象となった前記意味クラスユニットのノードを前記列挙木から削除する、ステップと、
(d4)前記除外対象が除外された複数の前記意味クラスユニットを対象として、前記意味クラスユニット毎に、当該意味クラスユニットのノードが前記列挙木の下層にあるものから順に、前記第2の頻度を算出する、ステップと、
(d5)前記(d4)のステップによって前記第2の頻度が算出される度に、前記第2の頻度が第2の閾値よりも低いかどうかを判定する、ステップと、
(d6)前記(d5)のステップの判定の結果、前記第2の頻度が前記第2の閾値以上となった場合に、算出の対象となった前記意味クラスユニットのノードと、当該ノードに直接又は間接的につながっている全ての上位のノードとを前記列挙木から削除する、ステップと、(d7)前記列挙木に残存するノードから得られる前記意味クラスユニットを特定する、ステップとを有している、付記10に記載の情報処理方法。
【0204】
(付記17)
コンピュータによって、意味クラスを特定可能なタグが各文書に付与された文書集合を対象とする情報処理を実行するためのプログラ
ムであって、
前記コンピュータに、
(a)複数の前記意味クラスにおける意味クラス間の関係を特定するタクソノミから、1又は2以上の前記意味クラスを含む意味クラスユニットを複数個作成する、ステップと、
(b)前記意味クラスユニット毎に、前記文書集合の中から、当該意味クラスユニットに適合する文書を特定する、ステップと、
(c)前記意味クラスユニット毎に、前記(b)のステップで特定した適合する文書について、前記文書集合のうちの予め指定された文書集合での出現頻度を表す第1の頻度と、前記文書集合のうちの予め指定されていない文書集合での出現頻度を表す第2の頻度とを算出する、ステップと、
(d)前記(c)のステップの算出が行われると、前記(b)のステップで特定した適合する文書の前記第1の頻度と前記第2の頻度とに基づいて、いずれかの前記意味クラスユニットを特定する、ステップと、
を実行させる
、プログラ
ム。
【0205】
(付記18)
前記(d)のステップにおいて、前記(b)のステップで特定した適合する文書の前記第1の頻度が第1の閾値より高く、且つ、前記適合する文書の前記第2の頻度が第2の閾値よりも低い、前記意味クラスユニットを特定する、付記17に記載の
プログラム。
【0206】
(付記19)
(e)前記文書集合を対象として、外部から入力された検索条件に基づいて検索を行う、ステップを更に前記コンピュータに実行させ、
前記(b)のステップにおいて、前記(e)のステップの検索によって特定された文書集合を、前記予め指定された文書集合として、前記第1の頻度及び前記第2の頻度を算出する、付記17又は付記18に記載の
プログラム。
【0207】
(付記20)
前記タグが、それに対応する意味クラスを示す識別子を含み、
前記(a)のステップにおいて、更に、前記意味クラスユニット毎に、当該意味クラスユニットに対応する前記識別子の集合を特定し、
前記(b)のステップにおいて、特定された前記識別子の集合と、前記文書集合の各文書に付与された前記タグと対比して、前記意味クラスユニットに適合する文書を特定する、付記17〜19のいずれかに記載の
プログラム。
【0208】
(付記21)
(f)前記(d)のステップで特定された前記意味クラスユニットに対して、適合する文書の前記第1の頻度が増加する場合及び前記第2の頻度が低下する場合のいずれか又は両方の場合に値が増加する、評価値を算出し、前記評価値が最も高くなる前記意味クラスユニットを特定する、ステップを更に前記コンピュータに実行させる、付記17〜20のいずれかに記載の
プログラム。
【0209】
(付記22)
前記タクソノミが、複数の前記意味クラスにおける意味クラス間の関係を階層化した状態で特定しており、
前記(a)のステップで、前記タクソノミを上層から下層へと辿りながら、1又は2以上の前記意味クラスをノードとし、ノード間にリンクを設定して列挙木を作成し、前記列挙木の前記ノードを前記意味クラスユニットとする、付記17〜21のいずれかに記載の
プログラム。
【0210】
(付記23)
前記タクソノミが、複数の前記意味クラスにおける意味クラス間の関係を階層化した状態で特定しており、
前記(a)のステップで、前記タクソノミを上層から下層へと辿りながら、1又は2以上の前記意味クラスをノードとし、ノード間にリンクを設定して列挙木を作成し、前記列挙木の前記ノードを前記意味クラスユニットとし、
前記(c)のステップで、前記意味クラスユニット毎に、当該意味クラスユニットのノードが前記列挙木の上層にあるものから順に、前記第1の頻度と前記第2の頻度とを算出し、
前記(d)のステップで、前記(c)のステップによる算出の度に、前記第1の頻度が第1の閾値より高いかどうか、及び前記第2の頻度が第2の閾値よりも低いかどうかを判定し、これによって、前記意味クラスユニットの特定を行い、
そして、前記(d)のステップでの判定において、前記第1の頻度が前記第1の閾値以下となった場合は、前記算出の対象となった前記意味クラスユニットのノードよりも更に下位に位置するノードについて、前記(c)のステップと前記(d)のステップとの実行が中止される、付記18に記載の
プログラム。
【0211】
(付記24)
前記タクソノミが、複数の前記意味クラスにおける意味クラス間の関係を階層化した状態で特定しており、
前記(a)のステップで、前記タクソノミを上層から下層へと辿りながら、1又は2以上の前記意味クラスをノードとし、ノード間にリンクを設定して列挙木を作成し、前記列挙木の前記ノードを前記意味クラスユニットとし、
前記(c)のステップで、前記意味クラスユニット毎に、当該意味クラスユニットのノードが前記列挙木の上層にあるものから順に、前記第1の頻度のみを算出し、
前記(d)のステップが、
(d1)前記列挙木のいずれかのノードの意味クラスが、当該ノードの上位に位置している、親ノードでないノードの意味クラスに包含される場合に、当該ノードと、その上位に位置している親ノードでないノードとの間に新たにリンクを設定する、ステップと、
(d2)前記(c)のステップによって前記第1の頻度が算出される度に、前記第1の頻度が第1の閾値より高いかどうかを判定する、ステップと、
(d3)前記(d2)のステップの判定の結果、前記第1の頻度が前記第1の閾値以下となった場合に、前記(d2)のステップで前記算出の対象となった前記意味クラスユニットを除外対象とし、前記除外対象となった前記意味クラスユニットのノードを前記列挙木から削除する、ステップと、
(d4)前記除外対象が除外された複数の前記意味クラスユニットを対象として、前記意味クラスユニット毎に、当該意味クラスユニットのノードが前記列挙木の下層にあるものから順に、前記第2の頻度を算出する、ステップと、
(d5)前記(d4)のステップによって前記第2の頻度が算出される度に、前記第2の頻度が第2の閾値よりも低いかどうかを判定する、ステップと、
(d6)前記(d5)のステップの判定の結果、前記第2の頻度が前記第2の閾値以上となった場合に、算出の対象となった前記意味クラスユニットのノードと、当該ノードに直接又は間接的につながっている全ての上位のノードとを前記列挙木から削除する、ステップと、(d7)前記列挙木に残存するノードから得られる前記意味クラスユニットを特定する、ステップとを有している、付記18に記載の
プログラム。
【0212】
以上、実施の形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施の形態及び実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0213】
この出願は、2010年1月15日に出願された日本出願特願2010−007339を基礎とする優先権を主張し、その開示の全てをここに取り込む。