JP2014130498A - ファセットを提示する装置及び方法 - Google Patents
ファセットを提示する装置及び方法 Download PDFInfo
- Publication number
- JP2014130498A JP2014130498A JP2012288175A JP2012288175A JP2014130498A JP 2014130498 A JP2014130498 A JP 2014130498A JP 2012288175 A JP2012288175 A JP 2012288175A JP 2012288175 A JP2012288175 A JP 2012288175A JP 2014130498 A JP2014130498 A JP 2014130498A
- Authority
- JP
- Japan
- Prior art keywords
- facets
- range
- facet
- document set
- appearance frequency
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】コーパス内のファセットのうち部分集合内での出現頻度が高い方から指定された数のファセットを提示する処理を、コーパスに対して部分集合が小さい場合でも高速に、かつ、ファセットの情報を記憶するメモリの容量を抑えつつ、行う。
【解決手段】ファセットカウント装置10において、ファセット分割部34は、ファセットをコーパス内での出現頻度順にレンジに分割し、順位付きカウンティングリスト作成部35は、各レンジのカウンティングリストを作成する。コーパスが部分集合に絞り込まれると、ファセットカウンティング制御部41は、N番目のレンジのカウンティングリストを用いてファセットをカウントし、その後、(N+1)番目のレンジにおけるファセットのコーパス内での最高の出現頻度がこれまでのカウント結果におけるファセットの最低の出現頻度以下であれば、ファセットのカウントを打ち切る。
【選択図】図7
【解決手段】ファセットカウント装置10において、ファセット分割部34は、ファセットをコーパス内での出現頻度順にレンジに分割し、順位付きカウンティングリスト作成部35は、各レンジのカウンティングリストを作成する。コーパスが部分集合に絞り込まれると、ファセットカウンティング制御部41は、N番目のレンジのカウンティングリストを用いてファセットをカウントし、その後、(N+1)番目のレンジにおけるファセットのコーパス内での最高の出現頻度がこれまでのカウント結果におけるファセットの最低の出現頻度以下であれば、ファセットのカウントを打ち切る。
【選択図】図7
Description
本発明は、ファセットを提示する装置及び方法に関する。特に、本発明は、第1の文書集合内に文書を特徴付ける情報として出現する複数のファセットのうち、第1の文書集合に含まれる第2の文書集合内での出現頻度が高い方から指定された数のファセットを提示する装置及び方法に関する。
コーパス内に出現する複数のファセットのうち、コーパスの全体をなす文書データ(以下、単に「文書」という)をクエリで絞り込んで得られたコーパスの部分をなす文書集合(以下、「部分集合」という)内に出現するファセットを、そのファセットの部分集合内での出現頻度の情報と共にユーザに提示するファセットカウンティング(Facet Counting)と呼ばれる技術がある。
この技術において、ファセット(Facet)とは、コーパス内の文書を特徴付ける属性を意味しており、文書に対して事前に定義された分類ラベル、自動的に文書から抽出される特徴的な語句、文書に動的に付与されるタグ情報等に相当する。例えば、商品の分類や、特徴的な語句が品詞の分類木に基づいて解析されることからも分かる通り、このような属性は木構造を構成する。尚、商品の分類等をファセットとする場合にはその数は限られるが、分析ソフトウェア等で語句をファセットとする場合等にはその数は膨大となり得る。
また、ファセットカウンティングとしては、各カテゴリに対して出現頻度順に、指定された順位までのファセットを返すものが一般的である。例えば、得られたファセットは木構造の要素として返される。尚、部分集合が大きい場合は、部分集合内の文書からサンプリング等の手法で抽出された文書に対してファセットカウンティングを行うことも考えられるが、分析ソリューション等では、正確な出現頻度の提示が求められるため、部分集合全体を処理する必要がある。
ところで、従来、ファセットカウンティングは、コーパスに対するインデックスとして、文書ごとにその文書を特徴付けるファセットを管理する第1のインデックス、及び、コーパス内に出現するファセットを出現頻度順にソートしてファセットごとにそのファセットによって特徴付けられる文書を管理する第2のインデックスの何れか一方を用いて行われていた。このうち、第2のインデックスを用いたファセットカウンティングに関しては、以下の技術が知られている。
第一に、“Early−out”と呼ばれる打ち切りを行うことにより、効率的にファセットカウンティングを行う技術である(非特許文献1、2参照)。
第二に、部分集合が小さい例外的な状況に備えて、第1のインデックスを用いたファセットカウンティングにスイッチする技術である(例えば、非特許文献1参照)。
第一に、“Early−out”と呼ばれる打ち切りを行うことにより、効率的にファセットカウンティングを行う技術である(非特許文献1、2参照)。
第二に、部分集合が小さい例外的な状況に備えて、第1のインデックスを用いたファセットカウンティングにスイッチする技術である(例えば、非特許文献1参照)。
また、文書のカテゴリへの分類又はカテゴリに分類された文書の取得に関する技術は、公報記載の技術としても知られている(例えば、特許文献1〜3参照)。
特許文献1は、入力部がカテゴリ情報を含む複数の文書データを入力し、文書解析部がその文書データに含まれるカテゴリ情報を認識し、その文書データに含まれる文章の各単語を切り出し、その文書データに含まれる単語をその頻度をそれぞれの文書データについて計算して単語頻度データを生成し、単語重要度算出部が単語頻度データをもとに、共通のカテゴリに属する文書データにおける各単語の重要度の値をそれぞれのカテゴリについて計算し、出力部が単語重要度算出部による計算結果をもとに、各カテゴリについて単語重要度の値が大きい単語をカテゴリごとに抽出する技術を開示する。
特許文献1は、入力部がカテゴリ情報を含む複数の文書データを入力し、文書解析部がその文書データに含まれるカテゴリ情報を認識し、その文書データに含まれる文章の各単語を切り出し、その文書データに含まれる単語をその頻度をそれぞれの文書データについて計算して単語頻度データを生成し、単語重要度算出部が単語頻度データをもとに、共通のカテゴリに属する文書データにおける各単語の重要度の値をそれぞれのカテゴリについて計算し、出力部が単語重要度算出部による計算結果をもとに、各カテゴリについて単語重要度の値が大きい単語をカテゴリごとに抽出する技術を開示する。
特許文献2は、複数の文書データに含まれる単語対が共起する文書データの数を示す第1の出現頻度と、指定カテゴリが対応付けられた複数の文書データのうち、単語対が共起する文書データの数を示す第2の出現頻度とを算出し、第2の出現頻度から第1の出現頻度を除算した値を共起度として算出し、単語をノードとし、共起度をエッジとしたネットワークデータをN×Nの対称行列である行列データとして生成し、生成した行列データの最大固有値を凝集度として算出し、算出した凝集度に対応する固有ベクトルから定められる複数の単語の集合であるクラスタを抽出し、単語毎のクラスタに対する帰属度を算出し、閾値を超える帰属度をもつ複数のノードを指定カテゴリの特徴を表す特徴語として抽出する技術を開示する。
特許文献3は、ユーザが入力した検索要求のカテゴリや検索条件にこの検索要求のあった日時情報を付加して、時系列で検索ログとして記憶しておき、この検索ログから頻度の高い検索語をカテゴリとして抽出し、端末装置の画面に表示されたカテゴリの中からユーザがカテゴリを選択し、この選択されたカテゴリを検索条件としてデータベースを検索する技術を開示する。
上述したように、従来、ファセットカウンティングは、第1のインデックス及び第2のインデックスの何れか一方を用いて行われていた。
このうち、第1のインデックスを用いたファセットカウンティングは、部分集合全体を走査し終えるまで、出現頻度が上位のファセットが確定しないため、ファセットの空間が巨大であれば、ファセットカウンティングを行っている間にファセットの情報を一時的に記憶するメモリの容量が大きくなってしまうという問題を有している。
また、第2のインデックスを用いたファセットカウンティングは、部分集合が大きければ、“Early−out”が効果的であるので、高速に処理できるものの、部分集合が小さければ、多くのファセットを走査する必要があるので、高速に処理できないという問題を有している。
このうち、第1のインデックスを用いたファセットカウンティングは、部分集合全体を走査し終えるまで、出現頻度が上位のファセットが確定しないため、ファセットの空間が巨大であれば、ファセットカウンティングを行っている間にファセットの情報を一時的に記憶するメモリの容量が大きくなってしまうという問題を有している。
また、第2のインデックスを用いたファセットカウンティングは、部分集合が大きければ、“Early−out”が効果的であるので、高速に処理できるものの、部分集合が小さければ、多くのファセットを走査する必要があるので、高速に処理できないという問題を有している。
尚、非特許文献1、非特許文献2、及び、特許文献1〜3の技術は、これらの問題を解決するための手段を何ら提案するものではない。
本発明の目的は、第1の文書集合内のファセットのうち第2の文書集合内での出現頻度が高い方から指定された数のファセットを提示する処理を、第1の文書集合に対して第2の文書集合が小さい場合でも高速に、かつ、ファセットの情報を記憶するメモリの容量を抑えつつ、行うことにある。
かかる目的のもと、本発明は、第1の文書集合内に文書を特徴付ける情報として出現する複数のファセットのうち、第1の文書集合に含まれる第2の文書集合内での出現頻度が高い方から指定された数のファセットを提示する装置であって、複数のファセットを、第1の文書集合内での出現頻度が高い方から複数のレンジに分割する分割部と、複数のレンジの各レンジに対して、第1の文書集合内の複数の文書の各文書と、各レンジに含まれるファセットのうちの各文書を特徴付けるファセットとを関連付けたインデックスを生成する生成部と、複数のレンジのうちの指示されたレンジについて、生成部により指示されたレンジに対して生成されたインデックスの第2の文書集合内の文書に関する部分を参照することにより、第1の文書集合内での出現頻度が高いファセットを含む方から指示されたレンジまでのレンジに含まれるファセットのうち第2の文書集合内での出現頻度が高い方から指定された数のファセットを記録する記録部と、複数のレンジのうちの第1の文書集合内での出現頻度が高いファセットを含む方からN番目(Nは自然数)のレンジについて、記録部により指定された数のファセットが記録された時点で、複数のレンジのうちの第1の文書集合内での出現頻度が高いファセットを含む方から(N+1)番目のレンジに含まれるファセットの第1の文書集合内での出現頻度のうちの最高の出現頻度が、記録部により記録された指定された数のファセットの第2の文書集合内での出現頻度のうちの最低の出現頻度以下であれば、(N+1)番目のレンジについて、記録部により指定された数のファセットが記録されないように制御する制御部とを含む、装置を提供する。
ここで、この装置は、生成部が複数のレンジの各レンジに対してインデックスを生成する際に、各レンジに含まれるファセットの第1の文書集合内での出現頻度のうちの最高の出現頻度をインデックスに付加する付加部と、(N+1)番目のレンジに含まれるファセットの第1の文書集合内での出現頻度のうちの最高の出現頻度を制御部が用いる際に、最高の出現頻度として、(N+1)番目のレンジに対して生成部により生成されたインデックスに付加部により付加された最高の出現頻度を取得する取得部とを更に含む、ものであってよい。
また、本発明は、第1の文書集合内に文書を特徴付ける情報として出現する複数のファセットのうち、第1の文書集合に含まれる第2の文書集合内での出現頻度が高い方から指定された数のファセットを提示する際に参照される、第1の文書集合のインデックスを生成する装置であって、複数のファセットを、第1の文書集合内での出現頻度が高い方から複数のレンジに分割する分割部と、複数のレンジの各レンジに対して、第1の文書集合内の複数の文書の各文書と、各レンジに含まれるファセットのうちの各文書を特徴付けるファセットとを関連付けたインデックスを生成する生成部とを含む、装置も提供する。
ここで、この装置は、複数のファセットを、第1の文書集合内での出現頻度が高い順にソートするソート部を更に含み、分割部は、ソート部によるソート結果に基づいて、複数のファセットを複数のレンジに分割する、ものであってよい。
また、この装置は、複数のレンジのうちの第1の文書集合内での出現頻度が最も高いファセットを含むレンジである最上位レンジに含まれるファセットの第1の文書集合内での出現頻度に対する、最上位レンジに含まれるファセットの第2の文書集合内での出現頻度の割合が、所定割合以上になる可能性がある場合に、最上位レンジに含まれるファセットの数を、最上位レンジ以外のレンジに含まれるファセット数よりも小さな数に決定する決定部を更に含む、ものであってもよい。
また、この装置は、複数のレンジのうちの第1の文書集合内での出現頻度が最も高いファセットを含むレンジである最上位レンジに含まれるファセットの第1の文書集合内での出現頻度に対する、最上位レンジに含まれるファセットの第2の文書集合内での出現頻度の割合が、所定割合以上になる可能性がある場合に、最上位レンジに含まれるファセットの数を、最上位レンジ以外のレンジに含まれるファセット数よりも小さな数に決定する決定部を更に含む、ものであってもよい。
更に、本発明は、コンピュータが、第1の文書集合内に文書を特徴付ける情報として出現する複数のファセットのうち、第1の文書集合に含まれる第2の文書集合内での出現頻度が高い方から指定された数のファセットを提示する方法であって、コンピュータが、複数のファセットを、第1の文書集合内での出現頻度が高い方から複数のレンジに分割するステップと、コンピュータが、複数のレンジの各レンジに対して、第1の文書集合内の複数の文書の各文書と、各レンジに含まれるファセットのうちの各文書を特徴付けるファセットとを関連付けたインデックスを生成するステップと、複数のレンジのうちの第1の文書集合内での出現頻度が高いファセットを含む方からN番目(Nは自然数)のレンジについて、N番目のレンジに対して生成されたインデックスの第2の文書集合内の文書に関する部分を参照することにより、第1の文書集合内での出現頻度が高いファセットを含む方からN番目のレンジまでのレンジに含まれるファセットのうち第2の文書集合内での出現頻度が高い方から指定された数のファセットを記録するステップと、N番目のレンジについて、指定された数のファセットが記録された時点で、複数のレンジのうちの第1の文書集合内での出現頻度が高いファセットを含む方から(N+1)番目のレンジに含まれるファセットの第1の文書集合内での出現頻度のうちの最高の出現頻度が、記録された指定された数のファセットの第2の文書集合内での出現頻度のうちの最低の出現頻度以下であれば、指定された数のファセットの記録を打ち切るステップとを含む、方法も提供する。
また、本発明は、第1の文書集合内に文書を特徴付ける情報として出現する複数のファセットのうち、第1の文書集合に含まれる第2の文書集合内での出現頻度が高い方から指定された数のファセットを提示する際に参照される、第1の文書集合のインデックスを生成する装置として、コンピュータを機能させるプログラムであって、コンピュータを、複数のファセットを、第1の文書集合内での出現頻度が高い方から複数のレンジに分割する分割部と、複数のレンジの各レンジに対して、第1の文書集合内の複数の文書の各文書と、各レンジに含まれるファセットのうちの各文書を特徴付けるファセットとを関連付けたインデックスを生成する生成部として機能させる、プログラムも提供する。
更に、本発明は、第1の文書集合内に文書を特徴付ける情報として出現する複数のファセットのうち、第1の文書集合に含まれる第2の文書集合内での出現頻度が高い方から指定された数のファセットを提示する際に参照されるデータ構造であって、複数のファセットが、第1の文書集合内での出現頻度が高い方から複数のレンジに分割された状態で配置されたファセット部と、複数のレンジの各レンジに対して設けられ、第1の文書集合内の複数の文書のリストであって、複数の文書の各文書に、各レンジに含まれるファセットのうちの各文書を特徴付けるファセットが関連付けられたリストを含むリスト部とを含む、データ構造も提供する。
本発明によれば、第1の文書集合内のファセットのうち第2の文書集合内での出現頻度が高い方から指定された数のファセットを提示する処理を、第1の文書集合に対して第2の文書集合が小さい場合でも高速に、かつ、ファセットの情報を記憶するメモリの容量を抑えつつ、行うことができる。
まず、本実施の形態の前提となる要素技術について説明する。
第一に、文書からファセットへのインデックスであるカウンティングリストを用いたファセットカウンティングについて説明する。
図1(a)は、カウンティングリストを模式的に示した図である。
図示するように、カウンティングリストは、便宜的に設けられたTERMを入り口として、コーパス内の文書D0,D1,D2,・・・,Dnを連結したリスト構造を有する。また、カウンティングリストでは、文書ごとにその文書を特徴付けるファセットが管理される。例えば、文書D0に対してはファセットF1,F2,・・・が管理され、文書D1に対してはファセットF1,F3,・・・が管理されている。この意味で、カウンティングリストは、前述した第1のインデックスの一例である。
第一に、文書からファセットへのインデックスであるカウンティングリストを用いたファセットカウンティングについて説明する。
図1(a)は、カウンティングリストを模式的に示した図である。
図示するように、カウンティングリストは、便宜的に設けられたTERMを入り口として、コーパス内の文書D0,D1,D2,・・・,Dnを連結したリスト構造を有する。また、カウンティングリストでは、文書ごとにその文書を特徴付けるファセットが管理される。例えば、文書D0に対してはファセットF1,F2,・・・が管理され、文書D1に対してはファセットF1,F3,・・・が管理されている。この意味で、カウンティングリストは、前述した第1のインデックスの一例である。
図1(b)は、カウンティングリストを用いたファセットカウンティングの結果を示した図である。
ここでは、コーパスを絞り込んで得られた部分集合231が文書D1,D2,・・・,Dhitsを含むものとしている。すると、文書D1に対してファセットF1,F3,・・・が求められ、文書D2に対してファセットF1,F2,・・・が求められ、文書Dhitsに対してファセット・・・,Fnが求められる。そして、最終的なファセットカウンティングの結果は、出現頻度が1番目のファセットはF1でその出現頻度は1000であり、出現頻度が2番目のファセットはF3でその出現頻度は100であり、出現頻度がK番目のファセットはFnでその出現頻度は10であることを示すものとなっている。
ここでは、コーパスを絞り込んで得られた部分集合231が文書D1,D2,・・・,Dhitsを含むものとしている。すると、文書D1に対してファセットF1,F3,・・・が求められ、文書D2に対してファセットF1,F2,・・・が求められ、文書Dhitsに対してファセット・・・,Fnが求められる。そして、最終的なファセットカウンティングの結果は、出現頻度が1番目のファセットはF1でその出現頻度は1000であり、出現頻度が2番目のファセットはF3でその出現頻度は100であり、出現頻度がK番目のファセットはFnでその出現頻度は10であることを示すものとなっている。
ここで、カウンティングリストを用いたファセットカウンティングにおける拡張的な技術である補足的ファセットカウンティング(Complementary Facet Counting)について説明する。
図2は、補足的ファセットカウンティングを模式的に示した図である。
この補足的ファセットカウンティングでは、まず、ファセットカウンティング対象の部分集合について、コーパス全体に対する補集合を求める。ここでは、部分集合231が文書D1,D2,・・・,Dhitsを含み、コーパス210に対する部分集合231の補集合232が文書D0,・・・を含むものとしている。
すると、補集合に属する各文書に属するファセット及びその出現頻度が求められる。ここでは、補集合232に属する例えば文書D0に対してファセットF1,F2,・・・が求められている。
そして、コーパス内でのファセットの出現頻度から補集合内でのファセットの出現頻度を減じた数を元の部分集合に対する最終的なファセットカウンティングの結果とする。ここでは、コーパス210に対するファセットカウンティングの結果が、出現頻度が1番目のファセットはF1でその出現頻度は1200であり、出現頻度が2番目のファセットはF2でその出現頻度は150であり、出現頻度が3番目のファセットはF3でその出現頻度は120であり、出現頻度がK番目のファセットはFnでその出現頻度は10であることを示すものとなっており、これから補集合232に対するファセットカウンティングの結果を減ずることにより、部分集合231に対するファセットカウンティングの結果が、出現頻度が1番目のファセットはF1でその出現頻度は1000であり、出現頻度が2番目のファセットはF3でその出現頻度は100であり、出現頻度がK番目のファセットはFnでその出現頻度は10であることを示すものとなっている。
図2は、補足的ファセットカウンティングを模式的に示した図である。
この補足的ファセットカウンティングでは、まず、ファセットカウンティング対象の部分集合について、コーパス全体に対する補集合を求める。ここでは、部分集合231が文書D1,D2,・・・,Dhitsを含み、コーパス210に対する部分集合231の補集合232が文書D0,・・・を含むものとしている。
すると、補集合に属する各文書に属するファセット及びその出現頻度が求められる。ここでは、補集合232に属する例えば文書D0に対してファセットF1,F2,・・・が求められている。
そして、コーパス内でのファセットの出現頻度から補集合内でのファセットの出現頻度を減じた数を元の部分集合に対する最終的なファセットカウンティングの結果とする。ここでは、コーパス210に対するファセットカウンティングの結果が、出現頻度が1番目のファセットはF1でその出現頻度は1200であり、出現頻度が2番目のファセットはF2でその出現頻度は150であり、出現頻度が3番目のファセットはF3でその出現頻度は120であり、出現頻度がK番目のファセットはFnでその出現頻度は10であることを示すものとなっており、これから補集合232に対するファセットカウンティングの結果を減ずることにより、部分集合231に対するファセットカウンティングの結果が、出現頻度が1番目のファセットはF1でその出現頻度は1000であり、出現頻度が2番目のファセットはF3でその出現頻度は100であり、出現頻度がK番目のファセットはFnでその出現頻度は10であることを示すものとなっている。
カウンティングリストを用いたファセットカウンティングでは、このように補足的ファセットカウンティングを採用することで、走査する文書数を最大でもコーパスに含まれる文書数の1/2に抑えることが可能となる。
また、カウンティングリストをスキップリストで実装しておくことで、より高速な走査が可能となる。
また、カウンティングリストをスキップリストで実装しておくことで、より高速な走査が可能となる。
第二に、ファセットから文書へのインデックスであるF2Dインデックスを用いたファセットカウンティングについて説明する。
図3(a)は、F2Dインデックスを模式的に示した図である。
図示するように、F2Dインデックスでは、ファセットがコーパス内での出現頻度順にソートされ、ファセットごとにそのファセットによって特徴付けられる文書が管理される。例えば、ファセットF1,F2,F3,・・・,Fnがコーパス内での出現頻度に従ってこの順に並べられ、ファセットF1に対しては文書D0,D1,D2,・・・,Dnが管理され、ファセットF2に対しては文書D0,D2,・・・が管理され、ファセットF3に対しては文書D1,・・・が管理されている。この意味で、F2Dインデックスは、前述した第2のインデックスの一例である。
図3(a)は、F2Dインデックスを模式的に示した図である。
図示するように、F2Dインデックスでは、ファセットがコーパス内での出現頻度順にソートされ、ファセットごとにそのファセットによって特徴付けられる文書が管理される。例えば、ファセットF1,F2,F3,・・・,Fnがコーパス内での出現頻度に従ってこの順に並べられ、ファセットF1に対しては文書D0,D1,D2,・・・,Dnが管理され、ファセットF2に対しては文書D0,D2,・・・が管理され、ファセットF3に対しては文書D1,・・・が管理されている。この意味で、F2Dインデックスは、前述した第2のインデックスの一例である。
図3(b)は、F2Dインデックスを用いたファセットカウンティングの結果を示した図である。
ここでは、コーパスを絞り込んで得られた部分集合231が文書D1,D2,・・・,Dhitsを含むものとしている。すると、ファセットF1に対して文書D1,D2,・・・が求められ、ファセットF2に対して文書D2,・・・が求められ、ファセットF3に対して文書D1,・・・が求められ、ファセットFnに対して文書・・・,Dhitsが求められる。そして、最終的なファセットカウンティングの結果は、出現頻度が1番目のファセットはF1でその出現頻度は1000であり、出現頻度が2番目のファセットはF3でその出現頻度は100であり、出現頻度がK番目のファセットはFnでその出現頻度は10であることを示すものとなっている。
ここでは、コーパスを絞り込んで得られた部分集合231が文書D1,D2,・・・,Dhitsを含むものとしている。すると、ファセットF1に対して文書D1,D2,・・・が求められ、ファセットF2に対して文書D2,・・・が求められ、ファセットF3に対して文書D1,・・・が求められ、ファセットFnに対して文書・・・,Dhitsが求められる。そして、最終的なファセットカウンティングの結果は、出現頻度が1番目のファセットはF1でその出現頻度は1000であり、出現頻度が2番目のファセットはF3でその出現頻度は100であり、出現頻度がK番目のファセットはFnでその出現頻度は10であることを示すものとなっている。
ところで、このようにF2Dインデックスを用いる場合は、“Early−out”と呼ばれる打ち切りを行うことにより、効率的にファセットカウンティングを行うことが可能である。
F2Dインデックスを用いたファセットカウンティングでは、コーパス内での出現頻度が高いファセットから順に、そのファセットの部分集合での出現頻度が求められ、部分集合内での出現頻度が高い方から指定された数のファセットについて中間結果のキューに記録される。
そして、n番目のファセットであるファセットFnの部分集合での出現頻度が中間結果のキューに記録された時点で、(n+1)番目のファセットであるファセットFn+1の部分集合での出現頻度を求める必要がなければ、“Early−out”が行われる。具体的には、ファセットFn+1のコーパス内での出現頻度が、中間結果のキューにおける最低の出現頻度以下であれば、ファセットFn+1の部分集合内での出現頻度は必ず中間結果のキューにおける最低の出現頻度以下になるので、“Early−out”が行われる。
F2Dインデックスを用いたファセットカウンティングでは、コーパス内での出現頻度が高いファセットから順に、そのファセットの部分集合での出現頻度が求められ、部分集合内での出現頻度が高い方から指定された数のファセットについて中間結果のキューに記録される。
そして、n番目のファセットであるファセットFnの部分集合での出現頻度が中間結果のキューに記録された時点で、(n+1)番目のファセットであるファセットFn+1の部分集合での出現頻度を求める必要がなければ、“Early−out”が行われる。具体的には、ファセットFn+1のコーパス内での出現頻度が、中間結果のキューにおける最低の出現頻度以下であれば、ファセットFn+1の部分集合内での出現頻度は必ず中間結果のキューにおける最低の出現頻度以下になるので、“Early−out”が行われる。
図4は、この場合の“Early−out”について示したグラフである。
このグラフにおいて、縦軸は、コーパス内での出現頻度の順に並べられたファセットを示す。上方のファセットほどコーパス内での出現頻度が高く、下方のファセットほどコーパス内での出現頻度が低くなっている。また、横軸は、各ファセットによって特徴付けられる文書の数、つまり、出現頻度を示す。実線の曲線は、コーパス内の文書のうち各ファセットによって特徴付けられる文書の数、つまり、各ファセットのコーパス内での出現頻度を表し、破線の曲線は、部分集合内の文書のうち各ファセットによって特徴付けられる文書の数、つまり、各ファセットの部分集合内での出現頻度を表す。
このグラフにおいて、縦軸は、コーパス内での出現頻度の順に並べられたファセットを示す。上方のファセットほどコーパス内での出現頻度が高く、下方のファセットほどコーパス内での出現頻度が低くなっている。また、横軸は、各ファセットによって特徴付けられる文書の数、つまり、出現頻度を示す。実線の曲線は、コーパス内の文書のうち各ファセットによって特徴付けられる文書の数、つまり、各ファセットのコーパス内での出現頻度を表し、破線の曲線は、部分集合内の文書のうち各ファセットによって特徴付けられる文書の数、つまり、各ファセットの部分集合内での出現頻度を表す。
また、このグラフは、ファセットFnの部分集合での出現頻度が中間結果のキューに記録された時点で、i番目のファセットであるファセットFiの部分集合での出現頻度Ciが中間結果のキューにおける最低の出現頻度になっていることも示している。例えば、部分集合内での出現頻度が高い方からK番目までのファセットの提示が要求されているとすると、出現頻度Ciは中間結果のキューにおける上位からK番目の出現頻度である。尚、破線の曲線上の出現頻度の一部は出現頻度Ci以下の範囲に存在しているが、これらの出現頻度は、部分集合内での出現頻度が高い方からK番目までには含まれないと既に判断されたものである。
この状態で、ファセットFn+1の部分集合での出現頻度を求めて中間結果のキューに記録する必要があるかどうかが判断される。図において、ファセットFn+1のコーパス内での出現頻度(Fn+1に対応する実線の曲線上の点で示される文書数)は、出現頻度Ci以下であるので、ファセットFn+1の部分集合での出現頻度を求めて中間結果のキューに記録する必要はなく、“Early−out”が可能であることが分かる。
ここで、図1に示したカウンティングリストを用いたファセットカウンティングと、図3に示したF2Dインデックスを用いたファセットカウンティングとを比較して説明する。
まず、カウンティングリストを用いたファセットカウンティングについて説明する。
カウンティングリストにおいて文書にファセットを関連付けたデータは、文書ごとに独立であるため、インクリメンタルな更新に対応できる。即ち、コーパスに新しい文書が追加された場合には、その新しい文書にファセットを関連付けたデータをカウンティングリストに追加すればよい。
カウンティングリストを用いたファセットカウンティングは、部分集合が小さい場合には、絞り込まれた文書に属するファセットのみにアクセスすることで行われるため、高速に処理が行われる。
一方で、カウンティングリストを用いたファセットカウンティングでは、部分集合全体を走査し終えるまで上位のファセットの出現頻度が確定しないため、ファセットの空間が巨大である場合に大きな一時記憶領域が必要となる。
まず、カウンティングリストを用いたファセットカウンティングについて説明する。
カウンティングリストにおいて文書にファセットを関連付けたデータは、文書ごとに独立であるため、インクリメンタルな更新に対応できる。即ち、コーパスに新しい文書が追加された場合には、その新しい文書にファセットを関連付けたデータをカウンティングリストに追加すればよい。
カウンティングリストを用いたファセットカウンティングは、部分集合が小さい場合には、絞り込まれた文書に属するファセットのみにアクセスすることで行われるため、高速に処理が行われる。
一方で、カウンティングリストを用いたファセットカウンティングでは、部分集合全体を走査し終えるまで上位のファセットの出現頻度が確定しないため、ファセットの空間が巨大である場合に大きな一時記憶領域が必要となる。
次に、F2Dインデックスを用いたファセットカウンティングについて説明する。
F2Dインデックスを用いたファセットカウンティングでは、ファセットを走査中にファセットの順位の中間結果を保持しておくだけでよいため、メモリ効率がよい。
一方で、F2Dインデックスを用いたファセットカウンティングでは、事前にコーパス内での出現頻度順にファセットをソートしておく必要があるため、バッチ更新が必要となる。
また、F2Dインデックスを用いたファセットカウンティングでは、部分集合が大きい場合には“Early−out”が効果的であるが、部分集合が小さい場合には多くのファセットを走査する必要がある。
F2Dインデックスを用いたファセットカウンティングでは、ファセットを走査中にファセットの順位の中間結果を保持しておくだけでよいため、メモリ効率がよい。
一方で、F2Dインデックスを用いたファセットカウンティングでは、事前にコーパス内での出現頻度順にファセットをソートしておく必要があるため、バッチ更新が必要となる。
また、F2Dインデックスを用いたファセットカウンティングでは、部分集合が大きい場合には“Early−out”が効果的であるが、部分集合が小さい場合には多くのファセットを走査する必要がある。
そこで、本実施の形態では、カウンティングリストを用いたファセットカウンティング及びF2Dインデックスを用いたファセットカウンティングの双方の利点を取り入れるべく、出現頻度順にグループ化されたファセットの集合(以下、「レンジ」という)に対してカウンティングリストを作成し、これらのカウンティングリストを含む順位付きカウンティングリストを用いてファセットカウンティングを行うこととした。
図5は、このような順位付きカウンティングリストを模式的に示した図である。
この順位付きカウンティングリストでは、まず、コーパス内のファセットが出現頻度順にソートされる。図では、左側に示すように、コーパス内のファセットが、出現頻度順の高い順にソートされ、ファセットF1,F2,F3,・・・,Fn+1,Fn+2,Fn+3,・・・F2n+1,F2n+2,F2n+3,・・・の順に並べられている。
この順位付きカウンティングリストでは、まず、コーパス内のファセットが出現頻度順にソートされる。図では、左側に示すように、コーパス内のファセットが、出現頻度順の高い順にソートされ、ファセットF1,F2,F3,・・・,Fn+1,Fn+2,Fn+3,・・・F2n+1,F2n+2,F2n+3,・・・の順に並べられている。
次に、ソートされたファセットはレンジに分割される。図では、ファセットF1,F2,F3,・・・,Fn+1,Fn+2,Fn+3,・・・F2n+1,F2n+2,F2n+3,・・・が、0番目のレンジであるレンジR0と、1番目のレンジであるレンジR1と、2番目のレンジであるレンジR2とに分割されている。そして、レンジR0はファセットF1,F2,F3,・・・を含み、レンジR1はファセットFn+1,Fn+2,Fn+3,・・・を含み、レンジR2はファセットF2n+1,F2n+2,F2n+3,・・・を含むものとされている。
次いで、各レンジに対してカウンティングリストが作成される。図では、レンジR0に対してカウンティングリスト0が作成されている。カウンティングリスト0は、便宜的に設けられたTERM0を入り口として、コーパス内の文書D0,D1,D2,・・・,Dnを連結したリスト構造を有し、例えば、文書D0に対してファセットF1,F2,・・・を管理し、文書D1に対してファセットF1,F3,・・・を管理するものである。また、レンジR1に対してカウンティングリスト1が作成されている。カウンティングリスト1は、便宜的に設けられたTERM1を入り口として、コーパス内の文書D0,D1,D2,・・・,Dnを連結したリスト構造を有し、例えば、文書D0に対してファセットFn+1,Fn+3,・・・を管理し、文書D1に対してファセットFn+1,Fn+3,・・・を管理するものである。また、レンジR2に対してカウンティングリスト2が作成されている。カウンティングリスト2は、便宜的に設けられたTERM2を入り口として、コーパス内の文書D0,D1,D2,・・・,Dnを連結したリスト構造を有し、例えば、文書D0に対してファセットF2n+3,F2n+4,・・・を管理し、文書D1に対してファセットF2n+1,F2n+2,・・・を管理するものである。
更に、各カウンティングリストにおいて、各ファセットを文字列で保持すると必要以上にメモリを消費するので、各ファセットはレンジ内で固有のIDを付与して保持するのが望ましい。例えば、図において、レンジR0内では記号Fiにおけるiを、レンジR1内では記号Fn+iにおけるiを、レンジR2内では記号F2n+iにおけるiを、それぞれ、レンジ内の固有のIDと考えることができる(i=1,2,3,・・・n)。このようにすれば、小さい長さの記号を使うことができるので、それによって保持される情報を、全体にIDを振る場合よりも効率良く圧縮することができる。
更にまた、各レンジには、そのレンジにおけるファセットの最高の出現頻度がスコアとして付加される。図では、レンジR0内の「max in range:100」、レンジR1内の「max in range:50」、及び、レンジR2内の「max in range:10」によって、このスコアを表している。
更にまた、各レンジには、そのレンジにおけるファセットの最高の出現頻度がスコアとして付加される。図では、レンジR0内の「max in range:100」、レンジR1内の「max in range:50」、及び、レンジR2内の「max in range:10」によって、このスコアを表している。
このような順位付きカウンティングリストを用いる場合は、上位のレンジから順にカウンティングリストを用いたファセットカウンティングが行われ、中間結果のキューが更新される。即ち、コーパス内での出現頻度が高いファセットを含むレンジから順に、そのレンジに含まれるファセットの部分集合での出現頻度が求められ、部分集合内での出現頻度が高い方から指定された数のファセットについて中間結果のキューに記録される。
そして、N番目のレンジであるレンジNに対するカウンティングリストNを走査することによりレンジRNに含まれるファセットの部分集合での出現頻度が中間結果のキューに記録された時点で、(N+1)番目のレンジであるレンジN+1に対するカウンティングリストN+1を走査する必要がなければ、“Early−out”が行われる。具体的には、レンジRN+1に含まれるファセットのコーパス内での最高の出現頻度が、中間結果のキューにおける最低の出現頻度以下であれば、レンジRN+1に含まれるファセットの部分集合内での出現頻度は必ず中間結果のキューにおける最低の出現頻度以下になるので、“Early−out”が行われる。
そして、N番目のレンジであるレンジNに対するカウンティングリストNを走査することによりレンジRNに含まれるファセットの部分集合での出現頻度が中間結果のキューに記録された時点で、(N+1)番目のレンジであるレンジN+1に対するカウンティングリストN+1を走査する必要がなければ、“Early−out”が行われる。具体的には、レンジRN+1に含まれるファセットのコーパス内での最高の出現頻度が、中間結果のキューにおける最低の出現頻度以下であれば、レンジRN+1に含まれるファセットの部分集合内での出現頻度は必ず中間結果のキューにおける最低の出現頻度以下になるので、“Early−out”が行われる。
図6は、この場合の“Early−out”について示したグラフである。
このグラフにおいて、縦軸は、コーパス内での出現頻度の順に並べられたファセットを示す。上方のファセットほどコーパス内での出現頻度が高く、下方のファセットほどコーパス内での出現頻度が低くなっている。但し、ここでは、図4と違い、ファセットはレンジR0,R1,R2に分割されている。また、横軸は、各ファセットによって特徴付けられる文書の数、つまり、出現頻度を示す。実線の曲線は、コーパス内の文書のうち各ファセットによって特徴付けられる文書の数、つまり、各ファセットのコーパス内での出現頻度を表し、破線の曲線は、部分集合内の文書のうち各ファセットによって特徴付けられる文書の数、つまり、各ファセットの部分集合内での出現頻度を表す。
このグラフにおいて、縦軸は、コーパス内での出現頻度の順に並べられたファセットを示す。上方のファセットほどコーパス内での出現頻度が高く、下方のファセットほどコーパス内での出現頻度が低くなっている。但し、ここでは、図4と違い、ファセットはレンジR0,R1,R2に分割されている。また、横軸は、各ファセットによって特徴付けられる文書の数、つまり、出現頻度を示す。実線の曲線は、コーパス内の文書のうち各ファセットによって特徴付けられる文書の数、つまり、各ファセットのコーパス内での出現頻度を表し、破線の曲線は、部分集合内の文書のうち各ファセットによって特徴付けられる文書の数、つまり、各ファセットの部分集合内での出現頻度を表す。
また、このグラフは、レンジR1に含まれるファセットの部分集合での出現頻度が中間結果のキューに記録された時点で、i番目のファセットであるファセットFiの部分集合での出現頻度Ciが中間結果のキューにおける最低の出現頻度になっていることも示している。例えば、部分集合内での出現頻度が高い方からK番目までのファセットの提示が要求されているとすると、出現頻度Ciは中間結果のキューにおける上位からK番目の出現頻度である。尚、破線の曲線上の出現頻度の一部は出現頻度Ci以下の範囲に存在しているが、これらの出現頻度は、部分集合内での出現頻度が高い方からK番目までには含まれないと既に判断されたものである。
この状態で、レンジR2に含まれるファセットの部分集合での出現頻度を求めて中間結果のキューに記録する必要があるかどうかが判断される。図において、レンジR2に含まれるファセットのコーパス内での最高の出現頻度(F2n+1に対応する実線の曲線上の点で示される文書数)は、出現頻度Ci以下であるので、レンジR2に含まれるファセットの部分集合での出現頻度を求めて中間結果のキューに記録する必要はなく、“Early−out”が可能であることが分かる。
尚、ここでは、レンジR2に含まれるファセットの部分集合での出現頻度を求めて中間結果のキューに記録する必要があるかどうかが判断される場合について説明したが、N番目(Nは自然数)のレンジであるレンジRNに含まれるファセットの部分集合での出現頻度を求めて中間結果のキューに記録する必要があるかどうかが判断される場合についても同様である。
ところで、上記の説明では、レンジに含まれるファセットの数、つまり、レンジ幅をどのように設定するか述べなかったが、レンジ幅は、全てのレンジについて等しくなるように設定してもよいし、レンジによって異なるように設定してもよい。
レンジによって異なるようにレンジ幅を設定する方法としては、例えば、上位のレンジについて、そのレンジに含まれるファセットのコーパス内での出現頻度に対する、そのレンジに含まれるファセットの部分集合内での出現頻度の割合が所定割合以上になることが、対象となるシステムの一般的な傾向から予想される場合に、上位のレンジの幅を小さく設定する、という方法がある。言い換えれば、上位のレンジについて、そのレンジに含まれるファセットのコーパス内での出現頻度に対する、そのレンジに含まれるファセットの部分集合内での出現頻度の割合が所定割合以上になる可能性がある場合に、上位のレンジの幅を、他のレンジの幅よりも小さくする、という方法である。この方法によれば、上位のレンジについては、レンジに含まれるファセットを少なくできるので、カウンティングリストの圧縮効率を向上することができる。また、上位のレンジについては、走査するファセットを少なくできるので、効果的に“Early−out”を行うことができる。つまり、より効果的なファセットカウンティングが行われるようになる。
レンジによって異なるようにレンジ幅を設定する方法としては、例えば、上位のレンジについて、そのレンジに含まれるファセットのコーパス内での出現頻度に対する、そのレンジに含まれるファセットの部分集合内での出現頻度の割合が所定割合以上になることが、対象となるシステムの一般的な傾向から予想される場合に、上位のレンジの幅を小さく設定する、という方法がある。言い換えれば、上位のレンジについて、そのレンジに含まれるファセットのコーパス内での出現頻度に対する、そのレンジに含まれるファセットの部分集合内での出現頻度の割合が所定割合以上になる可能性がある場合に、上位のレンジの幅を、他のレンジの幅よりも小さくする、という方法である。この方法によれば、上位のレンジについては、レンジに含まれるファセットを少なくできるので、カウンティングリストの圧縮効率を向上することができる。また、上位のレンジについては、走査するファセットを少なくできるので、効果的に“Early−out”を行うことができる。つまり、より効果的なファセットカウンティングが行われるようになる。
尚、この順位付きカウンティングリストを用いたファセットカウンティングでは、レンジ内において、文書にファセットを関連付けたデータは文書ごとに独立なので、1つの文書の追加により順位付きカウンティングリストはインクリメンタルに更新できる。
また、追加された文書のレンジへの分け方は、下位のレンジに含まれるファセットのコーパス内での最高の出現頻度が、上位のレンジに含まれるファセットのコーパス内での最高の出現頻度を追い抜くことがない限り、影響を与えない。つまり、それまでに作成した順位付きカウンティングリストを再利用できる。その場合、局所的に特定のレンジに含まれるファセットのコーパス内での最高の出現頻度が大きくなることによって“Early−out”の効率が落ちる可能性があるが、その場合は定期的に順位付きカウンティングリストを再作成することで対応可能である。
また、追加された文書のレンジへの分け方は、下位のレンジに含まれるファセットのコーパス内での最高の出現頻度が、上位のレンジに含まれるファセットのコーパス内での最高の出現頻度を追い抜くことがない限り、影響を与えない。つまり、それまでに作成した順位付きカウンティングリストを再利用できる。その場合、局所的に特定のレンジに含まれるファセットのコーパス内での最高の出現頻度が大きくなることによって“Early−out”の効率が落ちる可能性があるが、その場合は定期的に順位付きカウンティングリストを再作成することで対応可能である。
次に、このような順位付きカウンティングリストを用いたファセットカウンティングを行うファセットカウント装置について説明する。
図7は、本実施の形態におけるファセットカウント装置10の機能構成例を示したブロック図である。
図示するように、ファセットカウント装置10は、コーパス記憶部21と、文書検索部22と、部分集合記憶部23とを含む。また、ファセット抽出部31と、ファセットソート部32と、レンジ幅決定部33と、ファセット分割部34と、順位付きカウンティングリスト作成部35と、順位付きカウンティングリスト記憶部36とを含む。更に、ファセットカウンティング制御部41と、ファセットカウンティング部42と、中間結果キュー記憶部43と、最低キュー内頻度取得部44と、最高コーパス内頻度取得部45とを含む。
図7は、本実施の形態におけるファセットカウント装置10の機能構成例を示したブロック図である。
図示するように、ファセットカウント装置10は、コーパス記憶部21と、文書検索部22と、部分集合記憶部23とを含む。また、ファセット抽出部31と、ファセットソート部32と、レンジ幅決定部33と、ファセット分割部34と、順位付きカウンティングリスト作成部35と、順位付きカウンティングリスト記憶部36とを含む。更に、ファセットカウンティング制御部41と、ファセットカウンティング部42と、中間結果キュー記憶部43と、最低キュー内頻度取得部44と、最高コーパス内頻度取得部45とを含む。
コーパス記憶部21は、コーパスの全体をなす文書を記憶する。図5の例で言えば、文書D0,D1,D2,・・・,Dnを記憶する。本実施の形態では、第1の文書集合の一例として、コーパスを用いている。
文書検索部22は、コーパス記憶部21に記憶された文書をクエリにより検索し、これによってコーパスの部分をなす部分集合を取得する。図5において文書D0,D1,D2,・・・,Dnから文書D1,D2,・・・,Dhitが検索されたとすると、文書検索部22は文書D1,D2,・・・,Dhitを取得する。
部分集合記憶部23は、文書検索部22により取得された部分集合を記憶する。本実施の形態では、第2の文書集合の一例として、部分集合を用いている。
文書検索部22は、コーパス記憶部21に記憶された文書をクエリにより検索し、これによってコーパスの部分をなす部分集合を取得する。図5において文書D0,D1,D2,・・・,Dnから文書D1,D2,・・・,Dhitが検索されたとすると、文書検索部22は文書D1,D2,・・・,Dhitを取得する。
部分集合記憶部23は、文書検索部22により取得された部分集合を記憶する。本実施の形態では、第2の文書集合の一例として、部分集合を用いている。
ファセット抽出部31は、コーパス記憶部21に記憶された文書に関連付けられたファセットを抽出する。図5の例で言えば、左側に示した複数のファセットを抽出する。
ファセットソート部32は、ファセット抽出部31により抽出されたファセットを、コーパス内での出現頻度順にソートする。図5の例で言えば、左側に示した複数のファセットを、ファセットF1,F2,F3,・・・,Fn+1,Fn+2,Fn+3,・・・,F2n+1,F2n+2,F2n+3,・・・の順に並ぶようにソートする。本実施の形態では、複数のファセットをソートするソート部の一例として、ファセットソート部32を設けている。
ファセットソート部32は、ファセット抽出部31により抽出されたファセットを、コーパス内での出現頻度順にソートする。図5の例で言えば、左側に示した複数のファセットを、ファセットF1,F2,F3,・・・,Fn+1,Fn+2,Fn+3,・・・,F2n+1,F2n+2,F2n+3,・・・の順に並ぶようにソートする。本実施の形態では、複数のファセットをソートするソート部の一例として、ファセットソート部32を設けている。
レンジ幅決定部33は、ファセットソート部32によりソートされたファセットを複数のレンジに分割する際のレンジ幅を決定する。例えば、上述したように、コーパス内での出現頻度が高いファセットを含むレンジほど、その幅を小さく設定することが考えられる。本実施の形態では、最上位レンジに含まれるファセットの数を決定する決定部の一例として、レンジ幅決定部33を設けている。
ファセット分割部34は、ファセットソート部32によりソートされたファセットを複数のレンジに分割する。図5の例で言えば、ファセットF1,F2,F3,・・・,Fn+1,Fn+2,Fn+3,・・・,F2n+1,F2n+2,F2n+3,・・・を、ファセットF1,F2,F3,・・・がレンジR0に含まれ、ファセットFn+1,Fn+2,Fn+3,・・・がレンジR1に含まれ、ファセットF2n+1,F2n+2,F2n+3,・・・がレンジR2に含まれるように、分割する。図5の例では言及しなかったが、その際、各レンジのレンジ幅としては、レンジ幅決定部33により決定されたものを用いる。本実施の形態では、複数のファセットを複数のレンジに分割する分割部の一例として、ファセット分割部34を設けている。
ファセット分割部34は、ファセットソート部32によりソートされたファセットを複数のレンジに分割する。図5の例で言えば、ファセットF1,F2,F3,・・・,Fn+1,Fn+2,Fn+3,・・・,F2n+1,F2n+2,F2n+3,・・・を、ファセットF1,F2,F3,・・・がレンジR0に含まれ、ファセットFn+1,Fn+2,Fn+3,・・・がレンジR1に含まれ、ファセットF2n+1,F2n+2,F2n+3,・・・がレンジR2に含まれるように、分割する。図5の例では言及しなかったが、その際、各レンジのレンジ幅としては、レンジ幅決定部33により決定されたものを用いる。本実施の形態では、複数のファセットを複数のレンジに分割する分割部の一例として、ファセット分割部34を設けている。
順位付きカウンティングリスト作成部35は、ファセット分割部34によりファセット部の一例としての複数のファセットが分割された各レンジに対してリスト部の一例としてのカウンティングリストを作成することにより、レンジごとのカウンティングリストを含む順位付きカウンティングリストを作成する。図5の例で言えば、レンジR0に対して、文書D0,D1,D2,・・・,Dnが連結され、文書ごとにファセットが関連付けられたカウンティングリスト0と、レンジR1に対して、文書D0,D1,D2,・・・,Dnが連結され、文書ごとにファセットが関連付けられたカウンティングリスト1と、レンジR2に対して、文書D0,D1,D2,・・・,Dnが連結され、文書ごとにファセットが関連付けられたカウンティングリスト2とを含む順位付きカウンティングリストを作成する。その際、各レンジに対して、そのレンジに含まれるファセットのコーパス内での最高の出現頻度をスコアとして付加する。図5の例で言えば、レンジR0に対して最高の出現頻度「100」を付加し、レンジR1に対して最高の出現頻度「50」を付加し、レンジR2に対して最高の出現頻度「10」を付加する。本実施の形態では、インデックスの一例として、レンジごとのカウンティングリストを用いており、インデックスを生成する生成部、各レンジに含まれるファセットの第1の文書集合内での出現頻度のうちの最高の出現頻度をインデックスに付加する付加部の一例として、順位付きカウンティングリスト作成部35を設けている。
順位付きカウンティングリスト記憶部36は、順位付きカウンティングリスト作成部35により作成された順位付きカウンティングリストを記憶する。
順位付きカウンティングリスト記憶部36は、順位付きカウンティングリスト作成部35により作成された順位付きカウンティングリストを記憶する。
ファセットカウンティング制御部41は、順位付きカウンティングリストを用いたファセットカウンティングの動作を制御する。具体的には、指示したレンジについてファセットカウンティング部42、最低キュー内頻度取得部44、及び、最高コーパス内頻度取得部45が実行されるように制御する。そして、最高コーパス内頻度取得部45から得られる最高の出現頻度が、最低キュー内頻度取得部44から得られる最低の出現頻度以下であれば、ファセットカウンティング部42、最低キュー内頻度取得部44、及び、最高コーパス内頻度取得部45が実行されないように制御し、最高コーパス内頻度取得部45から得られる最高の出現頻度が、最低キュー内頻度取得部44から得られる最低の出現頻度以下でなければ、次のレンジについてファセットカウンティング部42、最低キュー内頻度取得部44、及び、最高コーパス内頻度取得部45が実行されるように制御する。本実施の形態では、(N+1)番目のレンジに含まれるファセットの第1の文書集合内での出現頻度のうちの最高の出現頻度が、記録された指定された数のファセットの第2の文書集合内での出現頻度のうちの最低の出現頻度以下であれば、(N+1)番目のレンジについて、指定された数のファセットが記録されないように制御する制御部の一例として、ファセットカウンティング制御部41を設けている。
ファセットカウンティング部42は、ファセットカウンティング制御部41により指示されたレンジについてファセットカウンティングを行い、これまでのファセットカウンティングの結果において部分集合内での出現頻度が高い方から指定された数のファセットを中間結果キューに登録する。本実施の形態では、指定された数のファセットを記録する記録部の一例として、ファセットカウンティング部42を設けている。
中間結果キュー記憶部43は、ファセットカウンティング部42によるファセットカウンティングに応じて指定された数のファセットが登録される中間結果キューを記憶する。
最低キュー内頻度取得部44は、ファセットカウンティング制御部41により指示されたレンジについてのファセットカウンティング部42によるファセットカウンティングに応じて指定された数のファセットが登録された時点での中間結果キューにおける最低の出現頻度を取得する。
最高コーパス内頻度取得部45は、ファセットカウンティング制御部41により指示されたレンジの次のレンジにスコアとして付加された最高の出現頻度を順位付きカウンティングリスト記憶部36から取得する。本実施の形態では、最高の出現頻度を取得する取得部の一例として、最高コーパス内頻度取得部45を設けている。
中間結果キュー記憶部43は、ファセットカウンティング部42によるファセットカウンティングに応じて指定された数のファセットが登録される中間結果キューを記憶する。
最低キュー内頻度取得部44は、ファセットカウンティング制御部41により指示されたレンジについてのファセットカウンティング部42によるファセットカウンティングに応じて指定された数のファセットが登録された時点での中間結果キューにおける最低の出現頻度を取得する。
最高コーパス内頻度取得部45は、ファセットカウンティング制御部41により指示されたレンジの次のレンジにスコアとして付加された最高の出現頻度を順位付きカウンティングリスト記憶部36から取得する。本実施の形態では、最高の出現頻度を取得する取得部の一例として、最高コーパス内頻度取得部45を設けている。
次に、本実施の形態におけるファセットカウント装置10の動作について説明する。
まず、ファセットカウント装置10は、ファセットカウンティングを実行するに先立ち、コーパス内の文書について、順位付きカウンティングリストを作成しておく。
図8は、このときのファセットカウント装置10の動作例を示したフローチャートである。
図示するように、まず、ファセット抽出部31が、コーパスの全体をなす文書を記憶するコーパス記憶部21を参照することにより、これらの文書に関連付けられたファセットを抽出する(ステップ301)。
また、ファセットソート部32が、ファセット抽出部31により抽出されたファセットを、コーパス内での出現頻度が高い順にソートする(ステップ302)。
まず、ファセットカウント装置10は、ファセットカウンティングを実行するに先立ち、コーパス内の文書について、順位付きカウンティングリストを作成しておく。
図8は、このときのファセットカウント装置10の動作例を示したフローチャートである。
図示するように、まず、ファセット抽出部31が、コーパスの全体をなす文書を記憶するコーパス記憶部21を参照することにより、これらの文書に関連付けられたファセットを抽出する(ステップ301)。
また、ファセットソート部32が、ファセット抽出部31により抽出されたファセットを、コーパス内での出現頻度が高い順にソートする(ステップ302)。
次に、レンジ幅決定部33が、ファセットソート部32によりソートされたファセットを複数のレンジ幅に分割する際のレンジ幅を決定する(ステップ303)。その際、例えば、上位のレンジほどレンジ幅が小さくなるように決定するとよいが、全てのレンジ幅が等しくなるように決定してもよい。
また、ファセット分割部34は、ファセットソート部32によりソートされたファセットを、コーパス内での出現頻度が高い方から、レンジ幅決定部33により決定されたレンジ幅を有する複数のレンジに分割する(ステップ304)。
次いで、順位付きカウンティングリスト作成部35は、各レンジに対してカウンティングリストを作成することにより、順位付きカウンティングリストを作成する(ステップ305)。そして、この順位付きカウンティングリストを順位付きカウンティングリスト記憶部36に記憶する(ステップ306)。
また、ファセット分割部34は、ファセットソート部32によりソートされたファセットを、コーパス内での出現頻度が高い方から、レンジ幅決定部33により決定されたレンジ幅を有する複数のレンジに分割する(ステップ304)。
次いで、順位付きカウンティングリスト作成部35は、各レンジに対してカウンティングリストを作成することにより、順位付きカウンティングリストを作成する(ステップ305)。そして、この順位付きカウンティングリストを順位付きカウンティングリスト記憶部36に記憶する(ステップ306)。
その後、文書検索部22が、コーパス記憶部21に記憶された文書をクエリにより絞り込み、得られた部分集合を部分集合記憶部23に記憶したとする。
この状態で、ユーザが、提示するファセットの数を指定してファセットカウンティングを指示すると、ファセットカウント装置10は、部分集合記憶部23に記憶された部分集合についてファセットカウンティングを実行する。
図9は、このときのファセットカウント装置10の動作例を示したフローチャートである。
図示するように、まず、ファセットカウンティング制御部41が、レンジをカウントするための変数iに0を代入する(ステップ401)。そして、変数iを1ずつ増加させながら、変数iの各値について、次の動作を行う。
この状態で、ユーザが、提示するファセットの数を指定してファセットカウンティングを指示すると、ファセットカウント装置10は、部分集合記憶部23に記憶された部分集合についてファセットカウンティングを実行する。
図9は、このときのファセットカウント装置10の動作例を示したフローチャートである。
図示するように、まず、ファセットカウンティング制御部41が、レンジをカウントするための変数iに0を代入する(ステップ401)。そして、変数iを1ずつ増加させながら、変数iの各値について、次の動作を行う。
即ち、ファセットカウンティング部42が、変数iを指定したファセットカウンティング制御部41の指示により、レンジRiについてファセットカウンティングを行う(ステップ402)。具体的には、順位付きカウンティングリスト記憶部36に記憶された順位付きカウンティングリストに含まれるレンジRiに対するカウンティングリストのうち、部分集合記憶部23に記憶された部分集合に含まれる文書に関する部分を参照し、この文書に対するファセットを取得してその出現頻度を数える。そして、レンジR0からレンジRiまでに含まれるファセットのうち、これまでのファセットカウンティングで求められた出現頻度が、高い方から数えて、ユーザが指定したファセットの数に収まっているファセットを特定し、そのファセット及びそのファセットの出現頻度を、中間結果キュー記憶部43に記憶された中間結果キューに登録する(ステップ403)。
次に、ファセットカウンティング制御部41は、変数iが、ファセットが分割されるレンジの最大の番号であるかどうかを判定する(ステップ404)。
変数iがレンジの最大の番号でないと判定されれば、最低キュー内頻度取得部44が、変数iを指定したファセットカウンティング制御部41の指示により、中間結果キュー記憶部43に記憶された中間結果キューに登録されているファセットの出現頻度のうち、最低の出現頻度Fminを更新し、取得する(ステップ405)。
また、最高コーパス内頻度取得部45が、変数iを指定したファセットカウンティング制御部41の指示により、レンジRi+1に対してスコアとして付加されたコーパス内での最高の出現頻度Fmax(i+1)を取得する(ステップ406)。
これにより、ファセットカウンティング制御部41は、中間結果キューにおける最低の出現頻度Fmin及びレンジRi+1におけるコーパス内での最大の出現頻度Fmax(i+1)を得て、出現頻度Fmax(i+1)が出現頻度Fmin以下であるかどうかを判定する(ステップ407)。
変数iがレンジの最大の番号でないと判定されれば、最低キュー内頻度取得部44が、変数iを指定したファセットカウンティング制御部41の指示により、中間結果キュー記憶部43に記憶された中間結果キューに登録されているファセットの出現頻度のうち、最低の出現頻度Fminを更新し、取得する(ステップ405)。
また、最高コーパス内頻度取得部45が、変数iを指定したファセットカウンティング制御部41の指示により、レンジRi+1に対してスコアとして付加されたコーパス内での最高の出現頻度Fmax(i+1)を取得する(ステップ406)。
これにより、ファセットカウンティング制御部41は、中間結果キューにおける最低の出現頻度Fmin及びレンジRi+1におけるコーパス内での最大の出現頻度Fmax(i+1)を得て、出現頻度Fmax(i+1)が出現頻度Fmin以下であるかどうかを判定する(ステップ407)。
その結果、出現頻度Fmax(i+1)が出現頻度Fmin以下でないと判定されれば、ファセットカウンティング制御部41は、変数iに1を加算して(ステップ408)、処理をステップ402へ進める。
一方、出現頻度Fmax(i+1)が出現頻度Fmin以下であると判定されれば、処理を終了する。
また、ステップ404で変数iがレンジの最大の番号であると判定された場合も、処理を終了する。
一方、出現頻度Fmax(i+1)が出現頻度Fmin以下であると判定されれば、処理を終了する。
また、ステップ404で変数iがレンジの最大の番号であると判定された場合も、処理を終了する。
以上述べたように、本実施の形態では、ファセットを出現頻度順にレンジに分割し、各レンジに対してカウンティングリストを作成し、このカウンティングリストを用いてファセットカウンティングを行うこととした。これにより、カウンティングリストのみを用いたファセットカウンティング及びF2Dインデックスのみを用いたファセットカウンティングの双方の利点を有し、更に効率のよいファセットカウンティングを実現することが可能となった。
例えば、コーパスに対して部分集合が大きい場合には、“Early−out”を効果的に行うことができ、更に、補足的ファセットカウンティングを併用することにより、I/O及び計算量を大幅に削減することができる。
また、コーパスに対して部分集合が小さい場合には、各レンジに対するカウンティングリストをそのまま使用でき、その際、絞り込まれた文書に対するファセットのみにアクセスすればよいため、高速にファセットカウンティングを行うことができる。
また、コーパスに対して部分集合が小さい場合には、各レンジに対するカウンティングリストをそのまま使用でき、その際、絞り込まれた文書に対するファセットのみにアクセスすればよいため、高速にファセットカウンティングを行うことができる。
このことは、本実施の形態におけるファセットカウンティングとF2Dインデックスのみを用いたファセットカウンティングとを比較した実験の結果によっても裏付けられている。
具体的には、各レンジに含まれるファセットの数を200とし、コーパスに対する部分集合の割合ごとに、本実施の形態におけるファセットカウンティングが、F2Dインデックスのみを用いたファセットカウンティングに比較して、どの程度高速化されるかを調べた。すると、コーパスに対する部分集合の割合が30〜60%である場合においても5倍程度高速化されることが認められ、コーパスに対する部分集合の割合が70%以上である場合においては10倍以上高速化されることが認められた。
具体的には、各レンジに含まれるファセットの数を200とし、コーパスに対する部分集合の割合ごとに、本実施の形態におけるファセットカウンティングが、F2Dインデックスのみを用いたファセットカウンティングに比較して、どの程度高速化されるかを調べた。すると、コーパスに対する部分集合の割合が30〜60%である場合においても5倍程度高速化されることが認められ、コーパスに対する部分集合の割合が70%以上である場合においては10倍以上高速化されることが認められた。
更に、本実施の形態では、一度に処理するファセットの数をカウンティングリストごとに限定できるため、ファセットの情報を記憶する一時記憶領域を節約することもできる。
尚、本実施の形態では、ファセットを出現頻度順にレンジに分割し、全てのレンジに対してカウンティングリストを作成するようにしたが、これには限らない。例えば、上位のレンジに対してのみ、カウンティングリストを作成するようにしてもよい。こうすれば、カウンティングリストが作成されたレンジをインクリメンタルに順次組み込んでファセットカウンティングを行うことが可能となり、また、カウンティングリストが作成されたレンジでファセットカウンティングが完了しない場合に、既存の手法へ切り替えることも可能となる。
最後に、本実施の形態を適用するのに好適なコンピュータのハードウェア構成について説明する。
図10は、このようなコンピュータのハードウェア構成例を示した図である。図示するように、コンピュータは、演算手段であるCPU(Central Processing Unit)90aと、M/B(マザーボード)チップセット90bを介してCPU90aに接続されたメインメモリ90cと、同じくM/Bチップセット90bを介してCPU90aに接続された表示機構90dとを備える。また、M/Bチップセット90bには、ブリッジ回路90eを介して、ネットワークインターフェイス90fと、磁気ディスク装置(HDD)90gと、音声機構90hと、キーボード/マウス90iと、フレキシブルディスクドライブ90jとが接続されている。
図10は、このようなコンピュータのハードウェア構成例を示した図である。図示するように、コンピュータは、演算手段であるCPU(Central Processing Unit)90aと、M/B(マザーボード)チップセット90bを介してCPU90aに接続されたメインメモリ90cと、同じくM/Bチップセット90bを介してCPU90aに接続された表示機構90dとを備える。また、M/Bチップセット90bには、ブリッジ回路90eを介して、ネットワークインターフェイス90fと、磁気ディスク装置(HDD)90gと、音声機構90hと、キーボード/マウス90iと、フレキシブルディスクドライブ90jとが接続されている。
尚、図10において、各構成要素は、バスを介して接続される。例えば、CPU90aとM/Bチップセット90bの間や、M/Bチップセット90bとメインメモリ90cの間は、CPUバスを介して接続される。また、M/Bチップセット90bと表示機構90dとの間は、AGP(Accelerated Graphics Port)を介して接続されてもよいが、表示機構90dがPCI Express対応のビデオカードを含む場合、M/Bチップセット90bとこのビデオカードの間は、PCI Express(PCIe)バスを介して接続される。また、ブリッジ回路90eと接続する場合、ネットワークインターフェイス90fについては、例えば、PCI Expressを用いることができる。また、磁気ディスク装置90gについては、例えば、シリアルATA(AT Attachment)、パラレル転送のATA、PCI(Peripheral Components Interconnect)を用いることができる。更に、キーボード/マウス90i、及び、フレキシブルディスクドライブ90jについては、USB(Universal Serial Bus)を用いることができる。
即ち、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム(装置又は機器)、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ(CD−ROM)、コンパクトディスク−リード/ライト(CD−R/W)及びDVDが含まれる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
10…ファセットカウント装置、21…コーパス記憶部、22…文書検索部、23…部分集合記憶部、31…ファセット抽出部、32…ファセットソート部、33…レンジ幅決定部、34…ファセット分割部、35…順位付きカウンティングリスト作成部、36…順位付きカウンティングリスト記憶部、41…ファセットカウンティング制御部、42…ファセットカウンティング部、43…中間結果キュー記憶部、44…最低キュー内頻度取得部、45…最高コーパス内頻度取得部
ところで、従来、ファセットカウンティングは、コーパスに対するインデックスとして
、文書ごとにその文書を特徴付けるファセットを管理する第1のインデックス、及び、コ
ーパス内に出現するファセットを出現頻度順にソートしてファセットごとにそのファセッ
トによって特徴付けられる文書を管理する第2のインデックスの何れか一方を用いて行わ
れていた。このうち、第2のインデックスを用いたファセットカウンティングに関しては
、以下の技術が知られている。
第一に、“Early−out”と呼ばれる打ち切りを行うことにより、効率的にファ
セットカウンティングを行う技術である(特許文献4、非特許文献1参照)。
第二に、部分集合が小さい例外的な状況に備えて、第1のインデックスを用いたファセ
ットカウンティングにスイッチする技術である(例えば、特許文献4参照)。
、文書ごとにその文書を特徴付けるファセットを管理する第1のインデックス、及び、コ
ーパス内に出現するファセットを出現頻度順にソートしてファセットごとにそのファセッ
トによって特徴付けられる文書を管理する第2のインデックスの何れか一方を用いて行わ
れていた。このうち、第2のインデックスを用いたファセットカウンティングに関しては
、以下の技術が知られている。
第一に、“Early−out”と呼ばれる打ち切りを行うことにより、効率的にファ
セットカウンティングを行う技術である(特許文献4、非特許文献1参照)。
第二に、部分集合が小さい例外的な状況に備えて、第1のインデックスを用いたファセ
ットカウンティングにスイッチする技術である(例えば、特許文献4参照)。
Claims (8)
- 第1の文書集合内に文書を特徴付ける情報として出現する複数のファセットのうち、当該第1の文書集合に含まれる第2の文書集合内での出現頻度が高い方から指定された数のファセットを提示する装置であって、
前記複数のファセットを、前記第1の文書集合内での出現頻度が高い方から複数のレンジに分割する分割部と、
前記複数のレンジの各レンジに対して、前記第1の文書集合内の複数の文書の各文書と、当該各レンジに含まれるファセットのうちの当該各文書を特徴付けるファセットとを関連付けたインデックスを生成する生成部と、
前記複数のレンジのうちの指示されたレンジについて、前記生成部により当該指示されたレンジに対して生成された前記インデックスの前記第2の文書集合内の文書に関する部分を参照することにより、前記第1の文書集合内での出現頻度が高いファセットを含む方から当該指示されたレンジまでのレンジに含まれるファセットのうち前記第2の文書集合内での出現頻度が高い方から前記指定された数のファセットを記録する記録部と、
前記複数のレンジのうちの前記第1の文書集合内での出現頻度が高いファセットを含む方からN番目(Nは自然数)のレンジについて、前記記録部により前記指定された数のファセットが記録された時点で、前記複数のレンジのうちの前記第1の文書集合内での出現頻度が高いファセットを含む方から(N+1)番目のレンジに含まれるファセットの前記第1の文書集合内での出現頻度のうちの最高の出現頻度が、前記記録部により記録された前記指定された数のファセットの前記第2の文書集合内での出現頻度のうちの最低の出現頻度以下であれば、当該(N+1)番目のレンジについて、前記記録部により前記指定された数のファセットが記録されないように制御する制御部と
を含む、装置。 - 前記生成部が前記複数のレンジの各レンジに対して前記インデックスを生成する際に、当該各レンジに含まれるファセットの前記第1の文書集合内での出現頻度のうちの最高の出現頻度を当該インデックスに付加する付加部と、
前記(N+1)番目のレンジに含まれるファセットの前記第1の文書集合内での出現頻度のうちの最高の出現頻度を前記制御部が用いる際に、当該最高の出現頻度として、当該(N+1)番目のレンジに対して前記生成部により生成された前記インデックスに前記付加部により付加された最高の出現頻度を取得する取得部と
を更に含む、請求項1の装置。 - 第1の文書集合内に文書を特徴付ける情報として出現する複数のファセットのうち、当該第1の文書集合に含まれる第2の文書集合内での出現頻度が高い方から指定された数のファセットを提示する際に参照される、当該第1の文書集合のインデックスを生成する装置であって、
前記複数のファセットを、前記第1の文書集合内での出現頻度が高い方から複数のレンジに分割する分割部と、
前記複数のレンジの各レンジに対して、前記第1の文書集合内の複数の文書の各文書と、当該各レンジに含まれるファセットのうちの当該各文書を特徴付けるファセットとを関連付けた前記インデックスを生成する生成部と
を含む、装置。 - 前記複数のファセットを、前記第1の文書集合内での出現頻度が高い順にソートするソート部を更に含み、
前記分割部は、前記ソート部によるソート結果に基づいて、前記複数のファセットを前記複数のレンジに分割する、請求項3の装置。 - 前記複数のレンジのうちの前記第1の文書集合内での出現頻度が最も高いファセットを含むレンジである最上位レンジに含まれるファセットの前記第1の文書集合内での出現頻度に対する、当該最上位レンジに含まれるファセットの前記第2の文書集合内での出現頻度の割合が、所定割合以上になる可能性がある場合に、当該最上位レンジに含まれるファセットの数を、当該最上位レンジ以外のレンジに含まれるファセット数よりも小さな数に決定する決定部を更に含む、請求項3又は請求項4の装置。
- コンピュータが、第1の文書集合内に文書を特徴付ける情報として出現する複数のファセットのうち、当該第1の文書集合に含まれる第2の文書集合内での出現頻度が高い方から指定された数のファセットを提示する方法であって、
前記コンピュータが、前記複数のファセットを、前記第1の文書集合内での出現頻度が高い方から複数のレンジに分割するステップと、
前記コンピュータが、前記複数のレンジの各レンジに対して、前記第1の文書集合内の複数の文書の各文書と、当該各レンジに含まれるファセットのうちの当該各文書を特徴付けるファセットとを関連付けたインデックスを生成するステップと、
前記複数のレンジのうちの前記第1の文書集合内での出現頻度が高いファセットを含む方からN番目(Nは自然数)のレンジについて、当該N番目のレンジに対して生成された前記インデックスの前記第2の文書集合内の文書に関する部分を参照することにより、前記第1の文書集合内での出現頻度が高いファセットを含む方から当該N番目のレンジまでのレンジに含まれるファセットのうち前記第2の文書集合内での出現頻度が高い方から前記指定された数のファセットを記録するステップと、
前記N番目のレンジについて、前記指定された数のファセットが記録された時点で、前記複数のレンジのうちの前記第1の文書集合内での出現頻度が高いファセットを含む方から(N+1)番目のレンジに含まれるファセットの前記第1の文書集合内での出現頻度のうちの最高の出現頻度が、記録された前記指定された数のファセットの前記第2の文書集合内での出現頻度のうちの最低の出現頻度以下であれば、前記指定された数のファセットの記録を打ち切るステップと
を含む、方法。 - 第1の文書集合内に文書を特徴付ける情報として出現する複数のファセットのうち、当該第1の文書集合に含まれる第2の文書集合内での出現頻度が高い方から指定された数のファセットを提示する際に参照される、当該第1の文書集合のインデックスを生成する装置として、コンピュータを機能させるプログラムであって、
前記コンピュータを、
前記複数のファセットを、前記第1の文書集合内での出現頻度が高い方から複数のレンジに分割する分割部と、
前記複数のレンジの各レンジに対して、前記第1の文書集合内の複数の文書の各文書と、当該各レンジに含まれるファセットのうちの当該各文書を特徴付けるファセットとを関連付けた前記インデックスを生成する生成部と
して機能させる、プログラム。 - 第1の文書集合内に文書を特徴付ける情報として出現する複数のファセットのうち、当該第1の文書集合に含まれる第2の文書集合内での出現頻度が高い方から指定された数のファセットを提示する際に参照されるデータ構造であって、
前記複数のファセットが、前記第1の文書集合内での出現頻度が高い方から複数のレンジに分割された状態で配置されたファセット部と、
前記複数のレンジの各レンジに対して設けられ、前記第1の文書集合内の複数の文書のリストであって、当該複数の文書の各文書に、当該各レンジに含まれるファセットのうちの当該各文書を特徴付けるファセットが関連付けられたリストを含むリスト部と
を含む、データ構造。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012288175A JP2014130498A (ja) | 2012-12-28 | 2012-12-28 | ファセットを提示する装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012288175A JP2014130498A (ja) | 2012-12-28 | 2012-12-28 | ファセットを提示する装置及び方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014130498A true JP2014130498A (ja) | 2014-07-10 |
Family
ID=51408830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012288175A Pending JP2014130498A (ja) | 2012-12-28 | 2012-12-28 | ファセットを提示する装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014130498A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180300397A1 (en) * | 2017-04-13 | 2018-10-18 | International Business Machines Corporation | Large Scale Facet Counting on Sliced Counting Lists |
JP2020516985A (ja) * | 2017-03-30 | 2020-06-11 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 自然言語ダイアログを用いる対話型テキスト・マイニング方法、装置、プログラム |
-
2012
- 2012-12-28 JP JP2012288175A patent/JP2014130498A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020516985A (ja) * | 2017-03-30 | 2020-06-11 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 自然言語ダイアログを用いる対話型テキスト・マイニング方法、装置、プログラム |
JP7038136B2 (ja) | 2017-03-30 | 2022-03-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 自然言語ダイアログを用いる対話型テキスト・マイニング方法、装置、プログラム |
US20180300397A1 (en) * | 2017-04-13 | 2018-10-18 | International Business Machines Corporation | Large Scale Facet Counting on Sliced Counting Lists |
US20180300396A1 (en) * | 2017-04-13 | 2018-10-18 | International Business Machines Corporation | Large Scale Facet Counting on Sliced Counting Lists |
US10585928B2 (en) * | 2017-04-13 | 2020-03-10 | International Business Machines Corporation | Large scale facet counting on sliced counting lists |
US10585929B2 (en) * | 2017-04-13 | 2020-03-10 | International Business Machines Corporation | Large scale facet counting on sliced counting lists |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8180781B2 (en) | Information processing apparatus , method, and computer-readable recording medium for performing full text retrieval of documents | |
US10817258B2 (en) | Clustering storage method and apparatus | |
US7797265B2 (en) | Document clustering that applies a locality sensitive hashing function to a feature vector to obtain a limited set of candidate clusters | |
US11853334B2 (en) | Systems and methods for generating and using aggregated search indices and non-aggregated value storage | |
US9424294B2 (en) | Method for facet searching and search suggestions | |
KR100756921B1 (ko) | 문서 분류방법 및 그 문서 분류방법을 컴퓨터에서 실행시키기 위한 프로그램을 포함하는 컴퓨터로 읽을 수있는 기록매체. | |
US10353925B2 (en) | Document classification device, document classification method, and computer readable medium | |
US9009170B1 (en) | Book content item search | |
JP2016532173A (ja) | 意味情報、キーワード拡張及びそれに関するキーワード検索の方法及びシステム | |
US20110106797A1 (en) | Document relevancy operator | |
Trotman et al. | Towards an Efficient and Effective Search Engine. | |
US20230147941A1 (en) | Method, apparatus and device used to search for content | |
US20180032608A1 (en) | Flexible summarization of textual content | |
JPH11102377A (ja) | データベースからドキュメントを検索する方法および装置 | |
KR102402466B1 (ko) | 키워드 클러스터링을 이용한 문서 요약 방법 및 장치 | |
US8484221B2 (en) | Adaptive routing of documents to searchable indexes | |
JP5869948B2 (ja) | パッセージ分割方法、装置、及びプログラム | |
JP2014130498A (ja) | ファセットを提示する装置及び方法 | |
JP4567025B2 (ja) | テキスト分類装置、テキスト分類方法及びテキスト分類プログラム並びにそのプログラムを記録した記録媒体 | |
US20180225291A1 (en) | Identifying Documents | |
US20180011920A1 (en) | Segmentation based on clustering engines applied to summaries | |
JP2004310199A (ja) | 文書分類方法及び文書分類プログラム | |
KR20230101281A (ko) | 실시간 빅데이터 분석 시스템 | |
Narita et al. | MSRA at NTCIR-10 1CLICK-2. | |
JP2004302950A (ja) | キーワード解析方法及びそれに使用するプログラム |