(57)【要約】【課題】文章からアイテムの特徴に相当する特徴量を抽出すること。【解決手段】割当部は、文章データに含まれる単語であるトークンごとに、トピックを表すトピック変数の値を割り当てる。算出部は、割当部が値を割り当てた全てのトピック変数について、トークンの出現確率分布を切り替えるスイッチとして使用されるスイッチ変数ごとに文章データに含まれる全てのトークンが同時に出現する確率を算出する。決定部は、算出部が算出した確率に応じて、トピック変数ごとに割り当てられたトピックを決定する。【選択図】図２
2014078125.tif 000002
【特許請求の範囲】
【請求項１】
文章データに含まれる単語であるトークンごとに、トピックを表すトピック変数の値を割り当てる割当部と、
前記割当部が値を割り当てた全ての前記トピック変数について、前記トークンの出現確率分布を切り替えるスイッチとして使用されるスイッチ変数ごとに前記文章データに含まれる全ての前記トークンが同時に出現する確率を算出する算出部と、
前記算出部が算出した前記確率に応じて、前記トピック変数ごとに割り当てられた前記トピックを決定する決定部と、
を備えることを特徴とする分類装置。
【請求項２】
前記スイッチ変数が割り当てられた対象トークンに対応付けられた前記トピックと、前記対象トークンの直前の前記トークンの出現確率分布と、前記トークンの数とに応じて、前記対象トークンの確率変数が決定される関係にあること
を特徴とする請求項１に記載の分類装置。
【請求項３】
前記決定部は、前記文章データに含まれるアイテムごとに与えられた固有の文字列であるアイテム変数に関連づけられた一つ以上の前記トークンごとの前記トピックを決定すること
を特徴とする請求項２に記載の分類装置。
【請求項４】
前記アイテム変数の出現確率分布は、前記トピックごとに決定されていること
を特徴とする請求項３に記載の分類装置。
【請求項５】
前記トピック変数を決定する出現確率分布は、前記トピックごとの階層クラスの出現確率分布と、前記文章データごとの階層クラスと、文章全体での階層クラスと、前記トークンの階層クラスとのいずれか一つ以上によって決定され、前記アイテムに対応する特徴量に基づいて、前記文章データから前記アイテムごとのｎ−グラム（ｎは整数）を抽出する抽出部をさらに備えること
を特徴とする請求項４に記載の分類装置。
【請求項６】
文章データに含まれる単語であるトークンごとに、トピックを表すトピック変数の値を割り当てる割当手順と、
前記割当手順によって値が割り当てられた全ての前記トピック変数について、前記トークンの出現確率分布を切り替えるスイッチとして使用されるスイッチ変数ごとに前記文章データに含まれる全ての前記トークンが同時に出現する確率を算出する算出手順と、
前記算出手順によって算出された前記確率に応じて、前記トピック変数ごとに割り当てられた前記トピックを決定する決定手順と、
を有することを特徴とする分類方法。
【請求項７】
コンピュータに、
文章データに含まれる単語であるトークンごとに、トピックを表すトピック変数の値を割り当てる割当ステップと、
前記割当ステップによって値が割り当てられた全ての前記トピック変数について、前記トークンの出現確率分布を切り替えるスイッチとして使用されるスイッチ変数ごとに前記文章データに含まれる全ての前記トークンが同時に出現する確率を算出する算出ステップと、
前記算出ステップによって算出された前記確率に応じて、前記トピック変数ごとに割り当てられた前記トピックを決定する決定ステップと、
を実行させること
を特徴とする分類プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分類装置、分類方法、および分類プログラムに関する。
【背景技術】
【０００２】
ｎ−グラム（ｎ−ｇｒａｍ（ｎは整数））抽出は、対象となる文書データからｎ単語単位で単語の抽出を行うものである。例えば、非特許文献１には、ベイズ理論に基づく階層構造の確率モデルを基本として、ｎ−グラム抽出を行うことが記載されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｘｕｅｒｕｌ  Ｗａｎｇ、  Ｍｃ  Ｃａｌｌｕｍ  Ａ．、  Ｘｉｎｇ  Ｗｅｉ、  Ｔｏｐｉｃａｌ  Ｎ−ｇｒａｍｓ：  Ｐｈｒａｓｅ  ａｎｄ  Ｔｏｐｉｃ  Ｄｉｓｃｏｖｅｒｙ、  ｗｉｔｈ  ａｎ  Ａｐｐｌｉｃａｔｉｏｎ  ｔｏ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｒｅｔｒｉｅｖａｌ、  ＩＣＤＭ２００７、  ２００７  Ｏｃｔ．、  ｐｐ．６７９−７０２
【発明の概要】
【発明が解決しようとする課題】
【０００４】
非特許文献１に示されるモデルでは、階層クラスにより、文書からトピックの確率変数を取得し、トピックから単語の確率変数を取得している。また、以前の単語と以前のトピックとから次の単語間の状態を取得し、次の単語間の状態から、次の単語の確率変数を取得している。これにより、連続するｎ単語からなるｎ−グラムを抽出する。
【０００５】
しかしながら、非特許文献１に示されるモデルでは、文章データ（例えば、レビューデータ）から各アイテムの特徴に相当する特徴量を抽出できないという問題があった。ここで、アイテムとは、例えば、店の名前や本のタイトル、ＣＤ(Ｃｏｍｐａｃｔ  Ｄｉｓｃ)やＤＶＤ(Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ)のタイトルなどである。また、レビューデータとは、例えば、通信販売を購入した顧客のインターネット上に公開された感想や、ホテルやレストランを利用した顧客のインターネット上に公開された感想や評価などである。
【０００６】
上述の課題を鑑みてなされたものであり、本発明は、文章からアイテムの特徴に相当する特徴量を抽出することができる分類装置、分類方法、分類プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
（１）本発明は、上述した課題を解決するためになされたもので、本発明の一態様は、分類装置であって、文章データに含まれる単語であるトークンごとに、トピックを表すトピック変数の値を割り当てる割当部と、前記割当部が値を割り当てた全ての前記トピック変数について、前記トークンの出現確率分布を切り替えるスイッチとして使用されるスイッチ変数ごとに前記文章データに含まれる全ての前記トークンが同時に出現する確率を算出する算出部と、前記算出部が算出した前記確率に応じて、前記トピック変数ごとに割り当てられた前記トピックを決定する決定部と、を備えることを特徴とする。
【０００８】
（２）本発明の一態様は、(１)に記載の分類装置において、前記スイッチ変数が割り当てられた対象トークンに対応付けられた前記トピックと、前記対象トークンの直前の前記トークンの出現確率分布と、前記トークンの数とに応じて、前記対象トークンの確率変数が決定される関係にあることを特徴とする。
【０００９】
（３）本発明の一態様は、(２)に記載の分類装置において、前記決定部は、前記文章データに含まれるアイテムごとに与えられた固有の文字列であるアイテム変数に関連づけられた一つ以上の前記トークンごとの前記トピックを決定することを特徴とする。
【００１０】
（４）本発明の一態様は、（３）に記載の分類装置において、前記アイテム変数の出現確率分布は、前記トピックごとに決定されていることを特徴とする。
【００１１】
（５）本発明の一態様は、（４）に記載の分類装置において、前記トピック変数を決定する出現確率分布は、前記トピックごとの階層クラスの出現確率分布と、前記文章データごとの階層クラスと、文章全体での階層クラスと、前記トークンの階層クラスとのいずれか一つ以上によって決定され、前記アイテムに対応する特徴量に基づいて、前記文章データから前記アイテムごとのｎ−グラム（ｎは整数）を抽出する抽出部をさらに備えることを特徴とする。
【００１２】
（６）本発明の一態様は、分類方法であって、文章データに含まれる単語であるトークンごとに、トピックを表すトピック変数の値を割り当てる割当手順と、前記割当手順によって値が割り当てられた全ての前記トピック変数について、前記トークンの出現確率分布を切り替えるスイッチとして使用されるスイッチ変数ごとに前記文章データに含まれる全ての前記トークンが同時に出現する確率を算出する算出手順と、前記算出手順によって算出された前記確率に応じて、前記トピック変数ごとに割り当てられた前記トピックを決定する決定手順と、を有することを特徴とする。
【００１３】
（７）本発明の一態様は、分類プログラムであって、コンピュータに、文章データに含まれる単語であるトークンごとに、トピックを表すトピック変数の値を割り当てる割当ステップと、前記割当ステップによって値が割り当てられた全ての前記トピック変数について、前記トークンの出現確率分布を切り替えるスイッチとして使用されるスイッチ変数ごとに前記文章データに含まれる全ての前記トークンが同時に出現する確率を算出する算出ステップと、前記算出ステップによって算出された前記確率に応じて、前記トピック変数ごとに割り当てられた前記トピックを決定する決定ステップと、を実行させることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、スイッチ変数を導入し、文章毎に特有な確率分布に基づき、単語の機能の違いにより、単語の出現の確率変数を階層化して取得しているので、人手を介すことなく、ｎ−グラムを一意に抽出できる。
また、本発明によれば、各アイテムに相当する特徴量を抽出するためにアイテム変数を導入し、その出現をコントロールする確率分布を導入しているので、人手を介すことなく、各アイテムを一意に抽出することができる。
このように、本発明では、ｎ−グラムの抽出とアイテムに相当する特徴量の抽出とが同時に行えることから、文章からアイテムの特徴に相当する特徴量、人手を介すことなく、一意に抽出できる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態により実現される２−グラム抽出の一例を示す概念図である。
【図２】本実施形態に係るグラフィカルモデルである。
【図３】本実施形態に係る分類システムの構成の一例を示す概略図である。
【図４】本実施形態に係る分類装置の構成の一例を示す概略ブロック図である。
【図５】本実施形態に係る分類装置における計算処理に用いる確率変数と確率分布のパラメータとその種類を示すテーブルの一例である。
【図６】本実施形態に係る分類装置における計算処理の説明の一例を示すフローチャートである。
【図７】本実施形態に係る分類装置における計算処理の処理内容の一例を説明する説明図である。
【図８】本実施形態に係る分類装置における計算処理の処理内容の一例を説明する説明図である。
【図９】本実施形態に係る分類装置における計算処理の処理内容の一例を説明する説明図である。
【図１０】本実施形態に係る分類装置におけるギブスサンプリングの処理の一例を説明する説明図である。
【図１１】本実施形態に係る分類装置の効果一例を説明する説明図である。
【図１２】ｎ−グラムの抽出に係る比較例を示すグラフィカルモデルである。
【発明を実施するための形態】
【００１６】
（比較例）
以下、本発明の実施形態と比較する比較例について図面を参照しながら詳しく説明する。
図１２は、このようなグラフィックモデルを示すものである。
図１２において、ノード１０１は、ハイパーパラメータαのノードである。ハイパーパラメータαは、トピックの確率分布θｄを求めるのに用いられる。ハイパーパラメータαは、初期値としてランダム値が用いられる。
ノード１０２は、文書データ毎に特異なトピックの確率分布θｄを求めるノードである。ここで、Ｄは、文書の数を表し、トピックの確率分布θｄは、文書毎に存在するＤ種類となる。
【００１７】
ノード１０３１、・・・、１０３ｉ、１０３ｉ＋１、・・・は、トピックの確率変数ｚ（ｚ１、・・・、ｚｉ、ｚｉ＋１、・・・）を取得するノードである。すなわち、ノード１０３１、・・・、１０３ｉ、１０３ｉ＋１、・・・は、文書データから、ノード１０２で求められた文書毎に特異なトピックの確率分布θｄに基づき、トピックの確率変数ｚ１、・・・、ｚｉ、ｚｉ＋１、・・・を取得する。ここで、ｚｉは、ｉ番目（ｉは任意の整数）の単語（トークン：単語の最小単位）に関連するトピックである。
【００１８】
ノード１０４は、ハイパーパラメータβのノードである。ハイパーパラメータβは、単語の確率分布φを求めるために用いられる。ハイパーパラメータβは、初期値としてランダム値が用いられる。
ノード１０５は、トピック毎に特異な単語の確率分布φを求めるノードである。トピックの数はＺであり、ノード１０５の単語の確率分布φは、Ｚ種類となる。
【００１９】
ノード１０６は、ハイパーパラメータεのノードである。ハイパーパラメータεは、次の単語間状態の確率分布σを求めるために用いられる。ハイパーパラメータεは、初期値としてランダム値が用いられる。
ノード１０７は、以前の単語と以前のトピック毎に特異な次の単語間状態の確率分布σを求めるためのノードである。なお、次の単語間状態の確率分布σは、（Ｚ×Ｗ）種類となる。
【００２０】
ノード１０８は、ハイパーパラメータγのノードである。ハイパーパラメータγは、次の単語の確率分布ψを求めるために用いられる。ハイパーパラメータγは、初期値としてランダム値が用いられる。
ノード１０９は、以前の単語と現在のトピック毎に特異な次の単語の確率分布ψを求めるノードである。ここで、Ｚは、トピックの数、Ｗは、単語の数を表し、次の単語の確率分布ψは、（Ｚ×Ｗ）種類となる。
【００２１】
ノード１１０１、・・・、１１０ｉ、１１０ｉ＋１、・・・は、単語を取得するノードである。すなわち、ノード１１０１、・・・、１１０ｉ、１１０ｉ＋１、・・・は、ノード１０３１、・・・、１０３ｉ、１０３ｉ＋１、・・・で取得されたトピックｚ１、・・・、ｚｉ、ｚｉ＋１、・・・から、ノード１０５で求められた単語の確率分布φに基づき、単語の確率変数ｗ１、・・・、ｗｉ、ｗｉ＋１、・・・を取得する。また、ノード１１０ｉ、１１０ｉ＋１、・・・は、以前の単語と現在のトピックから、ノード１０９で求められた次単語の確率分布ψに基づき、次の単語の確率変数ｗｉ、ｗｉ＋１、・・・を取得する。ここで、ｗｉは、ｉ番目（ｉは任意の整数）の単語を表す。
【００２２】
ノード１１１ｉ、１１１ｉ＋１、・・・は、以前の単語と以前のトピックとから、次の単語間の状態を取得するノードである。すなわち、ノード１１１ｉ、１１１ｉ＋１、・・・は、ノード１０３１、・・・、１０３ｉ、１０３ｉ＋１・・・で取得された以前のトピックｚ１、・・・、ｚｉ、ｚｉ＋１、・・・と、ノード１１０１、・・・、１１０ｉ、１１０ｉ＋１、・・・で取得された以前の単語ｗ１、・・・、ｗｉ、ｗｉ＋１、・・・とから、ノード１０７で求められた次の単語間状態の確率分布σに基づき、次の単語間の状態の確率変数ｘｉ、ｘｉ＋１、・・・を取得する。ここで、次の単語間の状態の確率変数ｘは、（ｉ−１）番目の単語とｉ番目の単語との間の２語の状態の確率であり、ｘｉとして表される。
【００２３】
（実施形態）
以下、本発明の実施形態について図面を参照しながら詳しく説明する。
本実施形態は、文章から、文章データの対象となったアイテムに相当する特徴量、およびアイテムに相当する特徴量に対応するｎ−グラムを同時に抽出するものである。
【００２４】
図１は、本発明の第１の実施形態により実現される２−グラム抽出の一例を示す概念図である。
例えば、図１に示すように、実施形態では、文書データ２００中のアイテム「Ｅｎｇｌａｎｄ」に関する文書データ２０１から、その特徴を示す２−グラムとして、「Ｔｏｗｅｒ  Ｂｒｉｄｇｅ」、「Ｂｕｃｋｉｎｇｈａｍ  Ｐａｌａｃｅ」、「Ｒｏｙａｌ  Ｆａｍｉｌｙ」などを抽出できる。また、文書データ２００中のアイテム「Ａｍｅｒｉｃａ」に関する文書データ２０２から、その特徴を示す２−グラムとして、「Ｒｏｃｋｙ  Ｍｏｕｎｔａｉｎｓ」、「Ｗａｌｌ  Ｓｔｒｅｅｔ」、「Ｎｉａｇａｒａ  Ｆａｌｌｓ」を抽出できる。
【００２５】
図２は、本実施形態に係るグラフィカルモデルである。
図２において、ノード１１は、ハイパーパラメータαのノードである。ハイパーパラメータαは、トピックの確率分布θｄを求めるためのものである。ハイパーパラメータαは、初期値としてランダム値が用いられる。
【００２６】
ノード１２は、アイテムが関連付けられた文章毎に特異なトピックの確率分布θｄを求めるノードである。トピックの確率分布θｄは、例えば、多項分布である。ここで、文章とは、例えば、レビューデータなどである。また、レビューデータには、例えば、インターネット上でのブログやウェブページなどが用いられる。また、レビューとは、顧客が購入した商品や店舗の評価および感想の文書や、ホテルやレストランを利用した顧客がインターネット上において記載した評価および感想の文書などである。また、アイテムとは、店舗名や本のタイトル、ＣＤやＤＶＤのタイトルなどである。本実施形態では、トピックの確率分布θｄとして、ディレクレ分布を用いている。ディレクレ分布は、連続型の確率分布であるが、積分することにより、離散値として計算できる。ここで、Ｄは、レビューデータの数を表し、トピックの確率分布θｄは、レビューデータ毎にＤ種類となる。
【００２７】
ノード１３１、・・・、１３ｉ、１３ｉ＋１、・・・は、トピックの確率変数ｚ（ｚ１、・・・、ｚｉ、ｚｉ＋１、・・・）を取得するノードである。すなわち、ノード１３１、・・・、１３ｉ、１３ｉ＋１、・・・は、レビューデータから、ノード１２で求められたレビューデータ毎に特異なトピックの確率分布θｄに基づき、トピックの確率変数ｚ１、・・・、ｚｉ、ｚｉ＋１、・・・を取得する。ここで、ｚｉは、ｉ番目（ｉは任意の整数）の単語（トークン：単語の最小単位）に関連するトピックである。また、Ｎｄは、レビューデータの中の単語の数を表す。
【００２８】
ノード１４は、ハイパーパラメータβのノードである。ハイパーパラメータβは、単語の確率分布φを求めるためのものである。ハイパーパラメータβは、初期値としてランダム値が用いられる。
【００２９】
ノード１５は、単語の確率分布φを求めるノードである。本実施形態では、スイッチ変数ｒ（ｒ１、・・・、ｒｉ、ｒｉ＋１、・・・）に応じて、単語を取得する確率分布を、クラス毎に切り替えている。このため、単語の確率変数を取得するための確率分布φを、クラス毎の確率分布に対応するように、単語の確率分布に拡張している。すなわち、本実施形態では、単語の確率変数ｗ（ｗ１、・・・、ｗｉ、ｗｉ＋１、・・・）を取得するための確率分布φを、スイッチ変数ｒ（ｒ１、・・・ｒｉ、ｒｉ＋１、・・・）により、トピック毎のクラスの確率分布と、レビューデータ毎のクラスの確率分布と、全体でのクラスの確率分布とで切り替えている。ここで、ｗｉは、ｉ番目（ｉは任意の整数）の単語を示し、ｒｉは、ｉ番目の単語に対するスイッチ変数を示す。単語の確率分布φは、例えば、多項分布である。本実施形態では、単語の確率分布φとして、ディレクレ分布を用いている。トピックの数は、Ｚであり、レビューデータの数は、Ｄであり、全体として扱う数は「１」であるから、ノード１５の単語の確率分布φは、（Ｚ＋Ｄ＋１）種類となる。
【００３０】
ノード１６は、ハイパーパラメータγのノードである。ハイパーパラメータγは、次の単語の確率分布ψを求めるためのものである。ハイパーパラメータγは、初期値としてランダム値が用いられる。
【００３１】
ノード１７は、以前の単語と現在のトピック毎に特異な次の単語の確率分布ψを求めるノードである。次の単語の確率分布ψは、例えば、多項分布である。本実施形態では、次の単語（次トークン）の確率分布ψとして、ディレクレ分布を用いている。ここで、Ｚは、トピックの数を表し、Ｗは、単語の数を示し、次の単語の確率分布ψは、（Ｚ×Ｗ）種類となる。ここで、次の単語（対象トークン）の確率変数は、スイッチ変数が割り当てられた次の単語に対応付けられた直前の単語と、直前の単語の出現確率分布と、トークンの数とに応じて決定される。
【００３２】
ノード１８は、ハイパーパラメータεのノードである。ハイパーパラメータεは、スイッチ変数の確率分布μｄを求めるためのものである。ハイパーパラメータεは、初期値としてランダム値が用いられる。
【００３３】
ノード１９は、レビューデータ毎に特異なスイッチ変数の確率分布μｄを求めるノードである。スイッチ変数の確率分布μｄは、例えば、多項分布である。本実施形態では、スイッチ変数の確率分布μｄとして、ディレクレ分布を用いている。レビューデータの数は、上述のレビューデータの数Ｄであり、スイッチ変数の確率分布μｄは、Ｄ種類となる。
【００３４】
ノード２０１、・・・、２０ｉ、２０ｉ＋１、・・・は、スイッチ変数ｒ（ｒ１、・・・、ｒｉ、ｒｉ＋１、・・・）を取得するノードである。すなわち、ノード２０１、２０ｉ、２０ｉ＋１は、レビューデータから、ノード１９で求められたレビューデータ毎のスイッチ変数の確率分布μｄに基づき、スイッチ変数ｒ（ｒ１、・・・、ｒｉ、ｒｉ＋１、・・・）を取得する。
【００３５】
ここで、スイッチ変数ｒは単語の機能を示している。単語の機能とは、例えば、抽出される単語「高い」は、商品の「値段」なのか、お店の「評価」なのかの違いを扱うためのものである。スイッチ変数ｒとしては、例えば、ｒ＝０、ｒ＝１、ｒ＝２、ｒ＝３の４種類がある。各スイッチ変数と単語の機能との関係は、以下の通りである。
【００３６】
ｒ＝０：全レビューデータ共通の単語
ｒ＝１：各レビューデータ固有の単語（各レビュー独特な単語など）
ｒ＝２：各トピック（種目、商品種別など、例えば、ディジタルカメラ、サッカー）に共通する単語
ｒ＝３：各トピックに共通かつ前の単語と連結する単語
【００３７】
ノード２１１、・・・、２１ｉ、２１ｉ＋１、・・・は、単語の確率変数ｗ（ｗ１、、・・・、ｗｉ、ｗｉ＋１、・・・）を取得するノードである。ノード２１１、・・・、２１ｉ、２１ｉ＋１、・・・は、スイッチ変数ｒ（ｒ１、、・・・、ｒｉ、ｒｉ＋１、・・・）に応じて、単語を取得する確率分布を、クラス毎に切り替えている。すなわち、ノード２１１、・・・、２１ｉ、２１ｉ＋１・・・は、スイッチ変数が（ｒ＝０）のときには、ノード１５で求められた全体での単語のクラスの確率分布φに基づき、単語の確率変数ｗ（ｗ１、・・・、ｗｉ、ｗｉ＋１、・・・）を取得する。また、ノード２１１、・・・、２１ｉ、２１ｉ＋１、・・・は、スイッチ変数が（ｒ＝１）のときには、ノード１５で求められたレビュー毎の単語のクラスの確率分布φに基づき、単語の確率変数ｗ（ｗ１、・・・、ｗｉ、ｗｉ＋１、・・・）を取得する。
【００３８】
また、ノード２１１、・・・、２１ｉ、２１ｉ＋１、・・・（単語取得部）は、スイッチ変数が（ｒ＝２）のときには、ノード１５で求められたトピック毎の単語のクラスの確率分布φに基づき、単語の確率変数ｗ（ｗ１、・・・、ｗｉ、ｗｉ＋１、・・・）を取得する。また、ノード２１１、・・・、２１ｉ、２１ｉ＋１、・・・は、スイッチ変数が（ｒ＝３）のときには、ノード１７で求められた現在のトピックと前の単語のクラスの確率分布ψに基づき、次の単語の確率変数ｗ（ｗｉ、ｗｉ＋１、、・・・）を取得する。なお、単語の確率変数ｗは、観測変数である。
【００３９】
ノード２２は、ハイパーパラメータηのノードである。ハイパーパラメータηは、アイテムの確率分布ωを求めるためのものである。ハイパーパラメータηは、初期値としてランダム値が用いられる。
【００４０】
ノード２３は、トピック毎に特異なアイテムの確率分布ωを求めるノードである。アイテムの確率分布ωは、例えば、多項分布である。本実施形態では、アイテムの確率分布ωとして、ディレクレ分布を用いている。ここで、Ｚはトピックの数を表し、アイテムの確率分布ωは、Ｚ種類となる。
【００４１】
ノード２４は、アイテムの確率変数を取得するノードである。すなわち、ノード２４は、ノード１３１、・・・、１３ｉ、１３ｉ＋１、・・・で取得されたトピックの確率変数ｚ（ｚ１、・・・、ｚｉ、ｚｉ＋１、・・・）から、ノード２３で求められたトピック毎に特有なアイテムの確率分布ωに基づき、アイテムの確率変数ｍｄを取得する。
【００４２】
このように、本実施形態では、スイッチ変数ｒを導入し、レビューデータ毎に特有な確率分布μｄに基づき、単語の機能の違いにより、単語の出現の確率変数をクラス毎に取得している。これにより、ｎ−グラムを、人手を介すことなく、また、辞書などを用いずに、一意に抽出できる。また、本実施形態では、各アイテムに相当する特徴量を抽出するためにアイテム変数ｍを導入し、その出現をコントロールする確率分布ωを導入している。これにより、アイテム毎の特徴に相当する特徴量を、人手を介すことなく、一意に抽出することができる。そして、本実施形態では、ｎ−グラムの抽出とアイテムの特徴に相当する特徴量の抽出とが同時に行えることから、アイテム毎の特徴に相当する特徴量を反映したｎ−グラムを、人手を介すことなく、一意に抽出できる。なお、ここで、一意とは、誰がやっても常に同じ結果になることを意味する。
【００４３】
また、本実施形態では、スイッチ変数が（ｒ＝３）のときにのみ、現在のトピックと前の単語の確率分布ψに基づき、次の単語の確率変数ｗを取得している。具体的には、各スイッチ変数に応じて単語の機能の違いを判定し、スイッチ変数が（ｒ＝２、３）のときにトピックの違いを判定する。ここで、単語の機能の違いとは、例えば、単語「高い」は、商品の「値段」に対するものなのか、店舗の「評価」に対するものなのかの違いのことである。次の単語の確率変数ｗを取得するには、（Ｚ×Ｗ）種類の確率分布が必要になり、演算量が膨大になる。本実施形態では、このような演算は、スイッチ変数が（ｒ＝０、１、２）のときには行われないため、演算量の削減が図れる。
【００４４】
次に、図２に示したようなグラフィックモデルで示される処理について、具体的に説明する。
図３は、本実施形態に係る分類システムの構成の一例を示す概略図であり、図４は、分類装置の構成の一例を示す概略ブロック図である。図３に示すように、本発明の実施形態に係るシステムは、ファイルサーバ５１と、計算サーバ５２と、データベース５３と、サービスサーバ５４とから構成される。
【００４５】
ファイルサーバ５１は、図４に示すように、計算対象となるレビューデータを保存するデータファイル保存部６１を備えている。データファイル保存部６１に保存するレビューデータは、インターネット上のブログの文書や、ウェブページの文書などである。また、レビューデータは、アイテムとレビューとが関連付けられた文書データである。なお、計算対象となるレビューデータは、インターネット上の文書に限られるものではない。
【００４６】
計算サーバ５２は、ファイルサーバ５１から計算対象のレビューデータを取り出し、図２に示したグラフィックモデルで示されるような計算処理を行い、計算結果を出力する。計算サーバ５２は、図４に示すように、事前処理部７１と、計算処理部７２とを備えている。計算処理部７２は、割当部７２１と、算出部７２２と、決定部７２３と、抽出部７２４とを備えている。
【００４７】
事前処理部７１は、計算処理対象のレビューデータを含むファイルから、単語およびアイテムを抽出する。そして、事前処理部７１は、抽出した単語およびアイテムに単語ＩＤおよびアイテムＩＤを付加し、その対応表をファイルシステムに保存する。
【００４８】
計算処理部７２は、事前処理部７１で処理されたデータを入力し、図２に示したグラフィックモデルに対応するような計算処理を行う。本実施形態では、確率変数の取得に、ギブスサンプリングを用いている。計算処理部７２の計算処理については、後述する。
【００４９】
データベース５３は、図４に示すように、計算結果記憶部８１を有している。計算サーバ５２の計算処理部７２の計算結果は、データベース５３に送られ、計算結果記憶部８１に保存される。図５のテーブルＴ１に示すように、計算結果としては、確率変数と、各確率分布のパラメータからなる。確率変数は、アイテムの確率変数ｍと、スイッチ変数ｒｉと、トピックの確率変数ｚｉと、単語の確率変数ｗｉとが保存される。また、各確率分布のパラメータは、該確率変数を取得するための確率分布とパラメータが保存される。ここで、アイテムの確率変数ｍと単語の確率変数ｗｉとが観測変数、スイッチ変数ｒｉとトピックの確率変数ｚｉは潜在変数である。
【００５０】
サービスサーバ５４は、計算結果をサービスの利用のために提供するためのサーバである。図４に示すように、サービスサーバ５４は、呼び出し部９１を備えている。
ユーザ端末５５からの呼び出しに応じて、呼び出し部９１は、ユーザ端末５５に計算結果をユーザ端末５５に送る。この計算結果は、商品検索、レビュー検索、マーケティングなど、各種のサービスに利用できる。
【００５１】
図６は、本実施形態に係る分類装置（計算サーバ５２）における計算処理の説明の一例を示すフローチャートである。
図６において、まず、計算サーバ５２の事前処理部７１は、計算対象のレビューデータについて、レビューＩＤと、アイテムＩＤと、単語ＩＤとを割り振る処理を行う（ステップＳ１）。
つまり、図７のテーブルＴ２では、最初のレコードのレビューデータには、レビューとして「レビューＡＡＡＢ」が記述され、アイテムとして「Ａ型スマートフォン」が付けられている。文書の要素となるトークン（単語）は、「リンゴ」、「操作性」、・・・、「遺産」である。そして、最後のレコードのレビューデータには、レビューとして「レビューＸＤＣＦＲ」が記述され、アイテムとして「Ａ型コンピュータ」が付けられている。文書の要素となるトークン（単語）は、「音楽」、「芸術」、・・・、「リンゴ」である。
【００５２】
図７のテーブルＴ３は、このようなデータに対して、ステップＳ１で、レビューＩＤ、アイテムＩＤ、単語ＩＤを割り振る処理を行った場合の例である。
図７のテーブルＴ３に示すように、最初のレコードのレビューデータには、レビューに、レビューＩＤとして「０００」が割り当てられ、アイテムＩＤとして「００００」が割り当てられる。トークン１〜トークンＮｄに対して、単語ＩＤ「００００」、「０００３」、・・・、「０１２０」が割り振られる。そして、最後のレコードのレビューデータでは、レビューに、レビューＩＤとして「０８６」が割り当てられ、アイテムＩＤとして「０２１１」が割り当てられる。そして、トークン１〜トークンＮｄに対して、単語ＩＤ「１２１２３４」、「０３０４３」、・・・、「０００」が割り振られる。なお、同一のアイテムには、同一のアイテムＩＤが割り振られる。また、同一のトークンには、同一の単語ＩＤが割り振られる。
【００５３】
次に、計算サーバ５２の計算処理部７２は、トピックの確率変数の数（Ｚ）およびハイパーパラメータ（α、β、γ、ε、η）の初期値を設定し、また、ギブスサンプリングの計算処理の繰り返し回数を設定する（ステップＳ２）。そして、計算サーバ５２の計算処理部７２は、乱数を発生し、その値をトピックの確率変数ｚおよびスイッチ変数ｒに与える（ステップＳ３）。
【００５４】
つまり、図８のテーブルＴ４は、ステップＳ１の処理で、計算対象のレビューデータについて、レビューＩＤと、アイテムＩＤと、単語ＩＤとを割り振った状態を示している。このようなデータに対して、図８のテーブルＴ５に示すように、トピックの確率変数に、乱数が挿入される。トピックの数Ｚを、例えば、４０とすると、トピックの確率変数の欄には、例えば「０」〜「３９」の任意の値が挿入される。図８のテーブルＴ５の例では、最初のレコードのレビューデータには、トピック「１」〜「Ｎ」として、乱数「１１」、「８」、・・・、「３」が挿入されている。そして、最後のレコードのレビューデータには、トピック「１」〜「Ｎ」として、乱数「２」、「１」、・・・、「１１」が挿入されている。
【００５５】
次に、計算サーバ５２の計算処理部７２は、ギブスサンプリングで確率変数の取得を行う（ステップＳ４）。具体的には、割当部７２１は、文章データに含まれる単語であるトークンごとに、トピックを表すトピック変数の値を割り当てる。算出部７２２は、割当部７２１が値を割り当てた全てのトピック変数について、トークンの出現確率分布を切り替えるスイッチとして使用されるスイッチ変数ごとに文章データに含まれる全てのトークンが同時に出現する確率を算出する。決定部７２３は、算出部７２２が算出した確率に応じて、トピック変数ごとに割り当てられたトピックを決定する。
ギブスサンプリングの繰り返し数が、予め決められた計算の繰り返し数に達したら、計算処理を終了する（ステップＳ５）。そして、抽出部７２４は、アイテムに対応する特徴量に基づいて、文章データからアイテムごとのｎ−グラム（ｎは整数）を抽出する。
【００５６】
このように、本実施形態では、ギブスサンプリングにより、確率変数の取得が行われる。図９は、各ノードと、ギブスサンプリングにより取得される確率変数との対応を示している。
【００５７】
次に、本実施形態において、ギブスサンプリングにより各確率変数が求められることについて説明する。
本実施形態では、図１０に示すように、確率変数の取得を統計的処理により取得するために、ディリクレ分布を導入している。ディリクレ分布は、連続型の確率分布であるが、積分することにより、離散型に変換できる。
【００５８】
レビューデータ全体の同時確率は、ディレクリ分布を積分すると、以下のようになる。
【００５９】
【数１】
2014078125.tif 000003
【００６０】
式（１）より、ディリクレ分布を導入して、積分することで、多項分布のパラメータは消去できる。
ギブスサンプリングに用いる式は、上述のディリクレ分布を積分した式（１）を変形した式（２）である。すなわち、上述のディリクレ分布を積分した式（１）から、以下のように、条件付き確率を導出する式（２）が求められる。トピックｚがトピックｚの識別子ｋ、または、スイッチ変数ｒが｛０、１、２、３｝である確率を導出する式は、以下のようになる。
【００６１】
【数２】
2014078125.tif 000004
【００６２】
本実施形態におけるギブスサンプリングの処理手順は、まず、トピックの確率変数ｚトピックの出現確率分布に基づいて取得し、全てのトピックの組み合わせについて、スイッチ変数ｒ＝０〜３を全て取得し、予め決められたサンプリング数に達するまで、確率変数を更新する。例えば、図９のテーブルＴ６において、トピックの変数が０のとき、スイッチ変数の取りうる値は、ｒ＝｛０、１、２｝のいずれかの値であり、ｒ＝０、ｒ＝１、ｒ＝２のとき各々の確率を算出部７２２は、式（２）を用いて算出する。算出部７２２は、算出した各々の確率と、０から１の間で発生させた乱数とを比較し、テーブルＴ６のトピック列の値を更新する。
【００６３】
実装時には、算出部７２２は、更新する確率を累積し、累積した確率の合計値を、累積数で除算する。算出部７２２は、除算した値が１に近づくようにギブスサンプリングを繰り返し、該値が乱数よりも大きくなるようにテーブルＴ６を更新する。乱数の発生は、細かく各々の組み合わせについて行ってもよいが、累積した確率と、発生させた乱数との大小関係でスイッチ変数ｒまたは、トピックの識別子ｋを決定してもよい。
【００６４】
なお、このような計算を行う際に、一括計算では、計算量が多くなるため、本実施形態では、列ごとに計算して、確率変数を更新する。これにより、最適解が得られる。そして、本実施形態では、全て埋め終えたら初期値の影響をなくすために、再度計算をやり直し、前回の状態とは比較せず、確率が高くなるように、確率変数を更新する。
【００６５】
図１１は、本実施形態により抽出したアイテム特有のフレーズ（２−グラム）と、比較例により抽出したアイテム特有のフレーズ（２−グラム）とを比較したものである。
アイテムの特徴に相当する特徴量は、ノード２４から、アイテムの確率変数ｍｄを示す観測変数として抽出できる。アイテム特有のフレーズ（ｎ−グラム）は、ノード２１１、・・・、２１ｉ、２１ｉ＋１、・・・から、単語の確率変数ｗ（ｗ１、・・・、ｗｉ、ｗｉ＋１、・・・）を示す観測変数として抽出できる。ここでは、ＤＶＤタイトルと、本のタイトルと、音楽のタイトルをアイテムとして、本実施形態により抽出したフレーズと、図１２に示した比較例により抽出したフレーズとについて、Ｐｒｅｃｉｓｉｏｎ（適合率）とＲｅｃａｌｌ（再現率）とを比較している。
【００６６】
ここで、Ｐｒｅｃｉｓｉｏｎは、（計算結果の中の正解数／計算結果の数）を示し、Ｒｅｃａｌｌは、（計算結果の中の正解数／全ての正解数）を示す。Ｐｒｅｃｉｓｉｏｎは、抽出結果中にどれくらい間違った結果が含まれているかの指標となり、Ｒｅｃａｌｌは、抽出のとりこぼしがどれくらいあるかの指標となる。基本的に、ＰｒｅｃｉｓｉｏｎとＲｅｃａｌｌとは、トレードオフの関係にある。
【００６７】
図１１に示す結果から、本実施形態では、ＰｒｅｃｉｓｉｏｎとＲｅｃａｌｌとの双方について、比較例より、良好な抽出結果が得られることが確認されている。例えば、本のタイトルでは、比較例では、Ｐｒｅｃｉｓｉｏｎが「０．６９」、Ｒｅｃａｌｌが「０．６５」であったが、本実施形態では、Ｐｒｅｃｉｓｉｏｎが「０．８５」、Ｒｅｃａｌｌが「０．８８」となり、ＰｒｅｃｉｓｉｏｎとＲｅｃａｌｌとの双方について、良好な抽出結果が得られている。
【００６８】
以上説明したように、本実施形態では、スイッチ変数ｒを導入し、レビューデータ毎に特有な確率分布μｄに基づき、単語ｗの機能の違いにより、単語の出現の確率変数をクラス毎に取得している。また、本実施形態では、各アイテムを抽出するためにアイテム変数ｍを導入し、その出現をコントロールする確率分布を導入している。これにより、アイテム特有のフレーズを抽出することが可能になる。
【００６９】
なお、上述の説明では、ｎ−グラム抽出を、英単語を中心して説明しているが、本発明は、英単語によるｎ−グラム抽出ばかりでなく、日本語、その他の多言語でも、抽出可能である。
【００７０】
また、本実施形態の計算サーバ５２の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムを、コンピュータシステムに読み込ませ、実行することにより、計算サーバ５２に係る上述した種々の処理を行ってもよい。
【００７１】
なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器などのハードウェアを含むものであってもよい。また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリなどの書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭなどの可搬媒体、コンピュータシステムに内蔵されるハードディスクなどの記憶装置のことをいう。
【００７２】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネットなどのネットワークや電話回線などの通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置などに格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。
【００７３】
ここで、プログラムを伝送する「伝送媒体」は、インターネットなどのネットワーク（通信網）や電話回線などの通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【００７４】
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計なども含まれる。
【符号の説明】
【００７５】
５１  ファイルサーバ
５２  計算サーバ
５３  データベース
５４  サービスサーバ
５５  ユーザ端末
６１  データファイル保存部
７１  事前処理部
７２  計算処理部
７２１  割当部
７２２  算出部
７２３  決定部
７２４  抽出部
８１  計算結果記憶部
９１  呼び出し部
【図１】
2014078125.tif 000005
【図２】
2014078125.tif 000006
【図３】
2014078125.tif 000007
【図４】
2014078125.tif 000008
【図５】
2014078125.tif 000009
【図６】
2014078125.tif 000010
【図７】
2014078125.tif 000011
【図８】
2014078125.tif 000012
【図９】
2014078125.tif 000013
【図１０】
2014078125.tif 000014
【図１１】
2014078125.tif 000015
【図１２】
2014078125.tif 000016