(57)【特許請求の範囲】
【請求項１】
トレーニング入力と、前記トレーニング入力に割り当てられた１つまたは複数の正しいラベルとをそれぞれが有する、１つまたは複数のトレーニング・データを使用して、複数の隠れユニットおよび複数の出力ユニットを有する分類モデルを学習する、コンピュータ実装方法であって、前記コンピュータが、
前記分類モデルへの入力に対し共に出現することが予想される共起ラベルの組合せを取得することと、
前記組合せに対し、前記複数の隠れユニットから専用ユニットを準備して、前記複数の出力ユニットのうち、前記専用ユニットに接続され、かつ、前記組合せの各共起ラベルに対応する複数の関連の出力ユニットを、共に活性化させるように、前記分類モデルを初期化することと、
前記１つまたは複数のトレーニング・データを使用して、前記分類モデルをトレーニングすることと
を実行する、コンピュータ実装方法。
【請求項２】
前記専用ユニットは、関連の各出力ユニットとの接続を有しており、前記分類モデルの前記初期化では、前記専用ユニットと関連の各出力ユニットとの接続は、前記専用ユニットと、前記関連の出力ユニット以外の残りの出力ユニットとの間の他の接続よりも、および前記複数の隠れユニットのうち残りの隠れユニットの少なくとも一部と、前記関連の出力ユニットを含む前記複数の出力ユニットとの間の他の接続よりも、大きさが大きな重み値を用いて初期化される、請求項１に記載の方法。
【請求項３】
前記複数の隠れユニットは、１つまたは複数の隠れレイヤを形成し、前記複数の出力ユニットは、出力レイヤを形成し、前記分類モデルの前記初期化は、
前記出力レイヤと、前記出力レイヤの下の隠れレイヤとの間の重みマトリックスを初期化すること
を含み、前記重みマトリックスは、共起ラベルの組合せ用の専用行と、前記専用行以外の残りの行とを有し、前記専用行は、各共起ラベルにそれぞれが対応する列を有し、前記分類モデルの前記初期化では、前記列は、前記組合せ内の前記共起ラベルに対応する列以外の前記専用行中の残りのどの列よりも、および前記残りの行中の他の列よりも、大きさが大きな重み値を用いて初期化される、請求項１に記載の方法。
【請求項４】
前記重み値は、接続のための上限値または正規化された初期化のための上界値である、請求項２に記載の方法。
【請求項５】
前記重み値は、前記１つまたは複数のトレーニング・データに出現した前記組合せの頻度に基づいて変化する、請求項２に記載の方法。
【請求項６】
前記重み値は、前記１つまたは複数のトレーニング・データに出現した前記組合せの頻度に基づいて変化する、請求項３に記載の方法。
【請求項７】
前記分類モデルの初期化は、
ゼロの値で、前記専用ユニットと、残りの出力ユニットとの間の接続を準備することと、
無作為な初期化を用いて、前記複数の隠れユニットのうち残りの隠れユニットの少なくとも一部を準備することと
を含む、請求項２に記載の方法。
【請求項８】
前記共起ラベルを取得することは、
前記１つまたは複数のトレーニング・データで共に起こった複数の組合せをリストする
ことと、
前記１つまたは複数のトレーニング・データ中の各組合せに関連する出現の頻度に基づいて前記複数の組合せからサブセットを選択することと
を含む、請求項１に記載の方法。
【請求項９】
前記トレーニング入力は、自然文の形態または自然文の表現のクエリであり、正しいラベルのそれぞれは、前記クエリに対する解を有するドキュメントを識別するドキュメント識別子であり、前記分類モデルは、自然言語クエリ分類タスクを実施する、請求項１に記載の方法。
【請求項１０】
前記トレーニング入力は、自然文の形態または自然文の表現のテキストであり、正しいラベルのそれぞれは、前記テキストに割り当てられた属性であり、前記分類モデルは、テキスト分類タスクを実施する、請求項１に記載の方法。
【請求項１１】
トレーニング後の前記専用ユニットはさらに、前記組合せ内の共起ラベルに関し対応する関連の前記出力ユニットを同時に活性化させる、請求項１に記載の方法。
【請求項１２】
トレーニング入力と、前記トレーニング入力に割り当てられた１つまたは複数の正しいラベルとをそれぞれが有する、１つまたは複数のトレーニング・データを使用して、分類モデルを学習し、前記分類モデルが、複数の隠れユニットおよび複数の出力ユニットを有する、コンピュータ実装方法であって、前記コンピュータが、
前記１つまたは複数のトレーニング・データに共に出現した共起ラベルの組合せをリストすることと、
前記組合せに対し専用ユニットを準備しつつ、前記分類モデルを初期化することと、
前記１つまたは複数のトレーニング・データを使用して、前記分類モデルをトレーニングすることと
を実行し、前記専用ユニットは、前記組合せの各共起ラベルにそれぞれが対応する、複数の関連の出力ユニットとの接続を有し、前記分類モデルの前記初期化では、前記専用ユニットと関連の各出力ユニットとの接続は、残りの出力ユニットとの他の接続よりも、および前記複数の隠れユニットのうち残りの隠れユニットの少なくとも一部と、前記関連の出力ユニットを含めた複数の出力ユニットとの間の他の接続よりも、大きさが大きな重み値を用いて初期化される、コンピュータ実装方法。
【請求項１３】
トレーニング入力と、前記トレーニング入力に割り当てられた１つまたは複数の正しいラベルとをそれぞれが有する、１つまたは複数のトレーニング・データを使用して、複数の隠れユニットおよび複数の出力ユニットを有する分類モデルを学習する、コンピュータ・システムであって、
前記分類モデルへの入力について共に出現することが予想される共起ラベルの組合せを取得するように構成された、リスティング・モジュールと、
前記組合せに対し、前記複数の隠れユニットからの専用ユニットを準備して、複数の前記出力ユニットのうち前記専用ユニットに接続され、かつ前記組合せの各共起ラベルに対応する複数の関連の出力ユニットを共に活性化させるように、前記分類モデルを初期化する、初期化モジュールと、
前記１つまたは複数のトレーニング・データを使用して、前記分類モデルをトレーニングするように構成される、トレーニング・モジュールと、
を含む、コンピュータ・システム。
【請求項１４】
前記専用ユニットは、関連の各出力ユニットとの接続を有しており、前記分類モデルの前記初期化では、前記専用ユニットと関連の各出力ユニットとの接続は、前記専用ユニットと、前記関連の出力ユニット以外の残りの出力ユニットとの間の他の接続よりも、および前記複数の隠れユニットのうち残りの隠れユニットの少なくとも一部と、前記関連の出力ユニットを含む前記複数の出力ユニットとの間の他の接続よりも、大きさが大きな重み値を用いて初期化される、請求項１３に記載のコンピュータ・システム。
【請求項１５】
前記複数の隠れユニットは、１つまたは複数の隠れレイヤを形成し、前記複数の出力ユニットは、出力レイヤを形成し、前記初期化モジュールは、
前記出力レイヤと、前記出力レイヤの下の隠れレイヤとの間の重みマトリックスを初期化するように
さらに構成され、前記重みマトリックスは、前記共起ラベルの組合せ用の専用行と、前記専用行以外の残りの行とを有し、前記専用行は、各共起ラベルにそれぞれが対応する列を有し、前記分類モデルの前記初期化では、前記列は、前記組合せ内の前記共起ラベルに対応する列以外の前記専用行中の残りのどの列よりも、および前記残りの行中の他の列よりも、大きさが大きな重み値を用いて初期化される、請求項１３に記載のコンピュータ・システム。
【請求項１６】
前記重み値は、接続のための上限値または正規化された初期化のための上界値である、請求項１４に記載のコンピュータ・システム。
【請求項１７】
前記重み値は、前記１つまたは複数のトレーニング・データに出現した組合せの頻度に基づいて変化する、請求項１４に記載のコンピュータ・システム。
【請求項１８】
前記初期化モジュールは、
ゼロの値で、前記専用ユニットと、残りの入力ユニットとの間の接続を準備するように、および
無作為な初期化を用いて、前記複数の隠れユニットのうち残りの隠れユニットの少なくとも一部を準備するように
さらに構成される、請求項１３に記載のコンピュータ・システム。
【請求項１９】
前記リスティング・モジュールは、
前記１つまたは複数のトレーニング・データで共起されたラベルの複数の組合せをリストするように、および
前記１つまたは複数のトレーニング・データ中の各組合せに関連する出現の頻度に基づいて前記複数の組合せからサブセットを選択するように
さらに構成される、請求項１３に記載のコンピュータ・システム。
【請求項２０】
クラウド・コンピューティング環境で提供される、請求項１３に記載のコンピュータ・システム。
【請求項２１】
トレーニング入力と、前記トレーニング入力に割り当てられた１つまたは複数の正しいラベルとをそれぞれが有する、１つまたは複数のトレーニング・データを使用してプログラム命令を実行することによって、分類モデルを学習し、前記分類モデルが、複数の隠れユニットおよび複数の出力ユニットを有する、コンピュータ・システムであって、
前記プログラム命令を実体的に格納するメモリと、
前記メモリと通信するプロセッサと
を含み、
前記分類モデルへの入力に対し、共に出現することが予想される共起ラベルの組合せを取得し、
前記組合せに対し、前記複数の隠れユニットから専用ユニットを準備して、前記複数の出力ユニットのうち、前記専用ユニットに接続され、かつ前記組合せの各共起ラベルに対応する複数の関連の出力ユニットを共に活性化させるよう、前記分類モデルを初期化し、および
前記１つまたは複数のトレーニング・データを使用して、前記分類モデルをトレーニングするように
構成された、コンピュータ・システム。
【請求項２２】
トレーニング入力と、前記トレーニング入力に割り当てられた１つまたは複数の正しいラベルとをそれぞれが有する、１つまたは複数のトレーニング・データを使用して分類モデルを学習し、前記分類モデルが、複数の隠れユニットおよび複数の出力ユニットを有する、コンピュータ・プログラムであって、それをもって具現化されたプログラム命令を有し、前記プログラム命令が、
前記分類モデルへの入力に対し出現することが予想される共起ラベルの組合せを取得すること、
前記組合せに対し、前記複数の隠れユニットから専用ユニットを準備して、前記複数の出力ユニットのうち、前記専用ユニットに接続され、かつ前記組合せの各共起ラベルに対応する関連の出力ユニットを共に活性化させるよう、分類モデルを初期化すること、および
前記１つまたは複数のトレーニング・データを使用して、前記分類モデルをトレーニングすること
を含むコンピュータ実装方法を前記コンピュータに実施させるように、コンピュータによって実行可能である、コンピュータ・プログラム。
【請求項２３】
前記専用ユニットは、関連の各出力ユニットとの接続を有しており、前記分類モデルの前記初期化では、前記専用ユニットと関連の各出力ユニットとの接続は、前記専用ユニットと、前記関連の出力ユニット以外の残りの出力ユニットとの間の他の接続よりも、および前記複数の隠れユニットのうち残りの隠れユニットの少なくとも一部と、前記関連の出力ユニットを含む複数の出力ユニットとの間の他の接続よりも、大きさが大きな重み値を用いて初期化される、請求項２２に記載のコンピュータ・プログラム。
【請求項２４】
前記重み値は、前記１つまたは複数のトレーニング・データに出現した組合せの頻度に基づいて変化する、請求項２３に記載のコンピュータ・プログラム。
【請求項２５】
前記共起ラベルの組合せを取得することは、
前記１つまたは複数のトレーニング・データで共起された複数の組合せをリストすること、および
前記１つまたは複数のトレーニング・データ中の各組合せに関連する出現の頻度に基づいて前記複数の組合せからサブセットを選択すること
を含む、請求項２２に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願の発明は、概して、機械学習に関し、さらに具体的には、分類モデルを学習するための方法、コンピュータ・システムおよびコンピュータ・プログラムに関する。
【背景技術】
【０００２】
ニューラル・ネットワークに基づくアプローチは、分類タスクに広く使用されている。クエリへの解を有するドキュメントを読み出すタスクは、自然言語クエリ（ＮＬＱ）分類タスクとして見ることができる。ＮＬＱ分類タスクについては、クエリと、そのクエリに対する解を含むドキュメントを特定する正しいドキュメント・ラベルとのペアが、分類モデルをトレーニングするために使用される。トレーニングされた分類モデルは、新しい初見のクエリに対する適切なドキュメント・ラベルを検出することができ、それは、そのトレーニングされたモデルおよび新しいクエリの特徴を使用することによって行われる。
【０００３】
トレーニング・クエリのいくつかの部分は、トレーニング・クエリの単一のインスタンスについて複数のラベルを持ちうる。すなわち、ラベルの共発生が起こりうる。そのため、ＮＬＱ分類タスクは本来、マルチラベル分類を要し、このマルチラベル分類では、複数のラベルをトレーニング・クエリの単一のインスタンスに割り当てることができ、新しいクエリについて複数のラベルを予測することができる。そのようなマルチラベル分類では、ラベル間の依存性および関係を考慮に入れる必要がある。ニューラル・ネットワークは、マルチラベル分類に使用することができ、誤差逆伝搬マルチラベル学習（ＢＰ−ＭＬＬ）としても知られる。最近、効率的なテキスト分類のために、ＢＰ−ＭＬＬのペアワイズ・ランキング損失を、クロス・エントロピー誤差関数で置き換えることが提案されている（Ｊ．Ｎａｍら、Ｌａｒｇｅ−ｓｃａｌｅ  Ｍｕｌｔｉ−ｌａｂｅｌ  Ｔｅｘｔ  Ｃｌａｓｓｉｆｉｃａｔｉｏｎ−Ｒｅｖｉｓｉｔｉｎｇ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ．、  Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  Ｅｕｒｏｐｅａｎ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ  ａｎｄ  Ｐｒｉｎｃｉｐｌｅｓ  ａｎｄ  Ｐｒａｃｔｉｃｅ  ｏｆ  Ｋｎｏｗｌｅｄｇｅ  Ｄｉｓｃｏｖｅｒｙ  ｉｎ  Ｄａｔａｂａｓｅｓ  （ＥＣＭＬ／ＰＫＤＤ）、４３７−４５２頁、２０１４年）。
【０００４】
しかし、分類モデルの学習に際し、ラベル共起性情報をより直接的に利用することができる既知の手法はない。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｊ．Ｎａｍら、Ｌａｒｇｅ−ｓｃａｌｅ  Ｍｕｌｔｉ−ｌａｂｅｌ  Ｔｅｘｔ  Ｃｌａｓｓｉｆｉｃａｔｉｏｎ−Ｒｅｖｉｓｉｔｉｎｇ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ，  Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  Ｅｕｒｏｐｅａｎ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ  ａｎｄ  Ｐｒｉｎｃｉｐｌｅｓ  ａｎｄ  Ｐｒａｃｔｉｃｅ  ｏｆ  Ｋｎｏｗｌｅｄｇｅ  Ｄｉｓｃｏｖｅｒｙ  ｉｎ  Ｄａｔａｂａｓｅｓ（ＥＣＭＬ／ＰＫＤＤ）、４３７〜４５２頁、２０１４年
【発明の概要】
【発明が解決しようとする課題】
【０００６】
求められているのは、分類モデルを学習するための方法、関連付けられるコンピュータ・システムおよびコンピュータ・プログラムであり、それらは、ラベル共起性情報を利用することによって、トレーニングおよび分類のための演算上のオーバーヘッドを増加させることなく、分類の精度を高めることができる。
【課題を解決するための手段】
【０００７】
本願の発明の実施形態によれば、１つまたは複数のトレーニング・データを使用して、分類モデルを学習するための方法が提供される。各トレーニング・データは、トレーニング入力と、該トレーニング入力に割り当てられた１つまたは複数の正しいラベルとを有する。分類モデルは、複数の隠れユニットと、複数の出力ユニットとを有する。本法は、分類モデルへの１の入力に対し共に出現することが予想される、共起ラベルの組合せを取得することを含む。本法はまた、上記組合せに対して複数の隠れユニットから専用ユニットを準備しつつ、分類モデルを初期化することを含み、その準備は、複数の出力ユニットのうち上記専用ユニットに接続された複数の関連の出力ユニットを共に活性化させるように行い、ここで、関連する各出力ユニットは、上記組合せにおける各共起ラベルに対応する。また、本法は、１つまたは複数のトレーニング・データを使用して、分類モデルをトレーニングすることを含む。
【０００８】
本願の発明の実施形態によれば、共起マルチラベルの情報は、分類モデルの複雑性を変えることなく、分類モデルに埋め込まれることにより、演算上のオーバーヘッドを増加させることなく、分類の精度を高めることができる。
【０００９】
本願の発明による好適な実施形態では、専用ユニットは、関連の各出力ユニットと接続されており、関連の各出力ユニットとのそれぞれの接続は、専用ユニットと、関連の出力ユニット以外の残りの出力ユニットとの間の他のどの接続よりも、および複数の隠れユニットのうち残りの隠れユニットの少なくとも一部と、関連の出力ユニットを含む複数の出力ユニットとの間の他のどの接続よりも、強力な値を用いて初期化される。好適な実施形態によれば、共起マルチラベルの情報は、分類モデルのトポロジーを変えることなく、専用ユニット用の接続の初期値に埋め込むことができる。
【００１０】
本願の発明による他の好適な実施形態では、１つまたは複数のトレーニング・データに出現した組合せの頻度に基づき、上記値が変化する。他の好適な実施形態によれば、１つまたは複数のトレーニング・データに出現した特定の組合せの頻度を、初期化接続に際して考慮に入れることができる。
【００１１】
本願の発明によるさらに他の好適な実施形態では、共起ラベルの組合せの取得は、１つまたは複数のトレーニング・データで共起したラベルの複数の組合せをリストすることと、１つまたは複数のトレーニング・データ中の各組合せに関連する出現の頻度に基づき、複数の組合せの中からサブセットを選択することとを含む。さらに他の好適な実施形態によれば、比較的よくある組合せは、組合せの数が増えたとしても優先的な方式で埋め込むことができきる。
【００１２】
本願の発明による任意選択の実施形態では、トレーニング入力は、自然文の形または自然文の表現のクエリであり、それぞれの正しいラベルは、クエリに対する解を有したドキュメントを特定する、ドキュメントの識別子である。そのため、分類モデルは、自然言語クエリ分類タスクを有効に実施することができる。
【００１３】
本願の発明による他の任意選択の実施形態では、トレーニング入力は、自然文の形または自然文の表現のテキストであり、それぞれの正しいラベルは、テキストに割り当てられた属性である。そのため、分類モデルはテキスト分類タスクを有効に実施することができる。
【００１４】
本願の発明の１つまたは複数の態様に関連するコンピュータ・システムおよびコンピュータ・プログラムもまた、記載されており、本明細書に請求されている。
【００１５】
本願の発明の他の実施形態によれば、１つまたは複数のデータを使用して、分類モデルを学習するための方法が提供される。各トレーニング・データは、トレーニング入力と、該トレーニング入力に割り当てられた１つまたは複数の正しいラベルとを有する。分類モデルは、複数の隠れユニットと複数の出力ユニットとを有する。本法は、１つまたは複数のトレーニング・データに共に出現した共起ラベルの組合せをリストすることを含む。本法はまた、上記組合せに対し専用ユニットを準備しつつ、分類モデルを初期化することを含み、そこでは、専用ユニットは、複数の関連の出力ユニットと接続を有し、各出力ユニットは、上記組合せにおける各共起ラベルに対応し、各接続は、残りの出力ユニットとの他の接続よりも、および複数の隠れユニットのうち残りの隠れユニットの少なくとも一部と、上記複数の関連の出力ユニットを含む複数の出力ユニットとの間の他の接続よりも、強力な値を用いて初期化される。また、本法は、１つまたは複数のトレーニング・データを使用して、分類モデルをトレーニングすることを含む。
【００１６】
他の実施形態によれば、共起マルチラベルの情報は、分類モデルのトポロジーを変えることなく、専用ユニット用の接続の初期値に埋め込まれ、それによって、トレーニングと分類の双方について演算上のオーバーヘッドを増加させることなく、分類の精度を高めることができる。
【００１７】
追加の特徴および利点は、本願の発明の技術を通じて理解される。本発明の他の実施形態および態様は、本明細書に詳細に記載され、特許請求される本発明の一部とみなされる。
【図面の簡単な説明】
【００１８】
【図１】情報読み出しシステムに基づく自然言語クエリに用いる分類モデルの概略図であり、該システムでは、複数のドキュメント・ラベルを、トレーニング・クエリの単一のインスタンスに割り当てることができる。
【図２】本願の発明の第１の実施形態による、自然言語クエリ分類モデルを組み込んだコンピュータ・システムおよび自然言語クエリ分類モデルに用いる学習システムのブロック図である。
【図３】本願の発明の第１の実施形態による、自然言語クエリ分類モデルのアーキテクチャを表す図である。
【図４】本願の発明の第１の実施形態による、自然言語クエリ分類モデルを学習するためのプロセスを描いたフローチャートである。
【図５】本願の発明の第１の実施形態による、最上位の隠れレイヤと出力レイヤとの間を接続するための重み初期化の概要を表す図である。
【図６】本願の発明の第２の実施形態による、トピック・カテゴライゼーション・モデルと、該トピック・カテゴライゼーション・モデル用の学習システムとを組み込んだコンピュータ・システムのブロック図である。
【図７】本願の発明の第２の実施形態による、トピック・カテゴライゼーション・モデルに基づくニューラル・ネットワークのアーキテクチャを描いた図である。
【図８】本願の発明の代替の実施形態による、分類モデルに基づくニューラル・ネットワークの他の標的されたアーキテクチャを描いた図である。
【図９】トレーニング中の３Ｋデータにおけるトレーニング・エポックに対する分類の精度を示す図である。
【図１０】本願の発明の実施形態による、クラウド・コンピューティング・ノードを描いた図である。
【図１１】本願の発明の実施形態による、クラウド・コンピューティング環境を描いた図である。
【図１２】本願の発明の実施形態による、抽象化モデルのレイヤを描いた図である。
【発明を実施するための形態】
【００１９】
ここで、具体的な実施形態を使用して、本願の発明を記載するが、以降に記載される実施形態は、例として参照されるに過ぎないものとして理解され、本願の発明の範囲を限定することを意図するものではない。本願の発明による１つまたは複数の実施形態は、分類モデルを学習するための方法、コンピュータ・システムおよびコンピュータ・プログラムに向けられている。
【００２０】
クエリに対する解を有するドキュメントを読み出すタスクは、自然言語クエリ（ＮＬＱ）分類タスクとして見ることができる。ＮＬＱでいうところの“日本のどこを訪れるべきか？”は、キーワードに基づくクエリでいうところの“日本の観光”という典型的なＷｅｂサーチエンジンで使用されるものとは区別することができる。ＮＬＱに基づく情報読み出しシステムは、エンド・ユーザにさらに自然なユーザ・エクスペリエンスを提供することができる。
【００２１】
図１を参照すると、ＮＬＱに基づく情報読み出しシステムに用いる分類モデルの概略図が示されている。分類モデル７０をトレーニングするために、トレーニング・クエリと、該クエリに対する解を含むドキュメントを特定する正しいドキュメント・ラベルとのペアが、トレーニング・データ７２として使用される。分類モデル７０は、トレーニング・データ７２を使用することによってトレーニングされ、その結果、トレーニング・クエリおよび新しいクエリの特徴を使用して、新しい未見のクエリ７４に用いる１つまたは複数の適切なドキュメント・ラベル７６を予測する能力を獲得する。
【００２２】
同様のコンテンツを有する複数のドキュメントは、同じクエリに対し適切な解を有することができるため、図１に示すように、トレーニング・データ７２のいくつかの部分は、トレーニング・データ７２の単一のインスタンスに対し複数のラベル（または共起ラベル）を有していてもよい。そのため、本来ＮＬＱ分類タスクは、マルチラベル分類を要する。
【００２３】
マルチラベル分類タスクでは、共起ラベル間の依存性および関係が考慮される必要があり、それらは、二値関連性アプローチでは無視される。そのようなラベル共起性は、例えば、出力レイヤの構造を変えることによって、ニューラル・ネットワークで探索することができる。しかし、出力レイヤの構造を変えることによって、ニューラル・ネットワークの位相的な複雑性が増加することがあり、その結果、トレーニングの間および分類の間のどちらにも、追加的な演算上のオーバーヘッドがもたらされる。
【００２４】
それゆえ、トレーニングおよび分類のための演算上のオーバーヘッドを増加させることなく、ラベル共起情報を利用することによって分類の精度を高めることができる、分類モデルを学習するための方法、コンピュータ・システムおよびコンピュータ・プログラムが求められている。
【００２５】
本願の発明による１つまたは複数の実施形態では、１つまたは複数のトレーニング・データを使用したコンピュータ・システムによって、新規の学習プロセスが実施され、そこでは、分類モデル中の共起ラベルの各組合せ用に専用の隠れユニットを準備することによって、分類モデルが初期化される。それぞれのトレーニング・データは、トレーニング出力と、そのトレーニング出力に割り当てられた１つまたは複数の正しいラベルとを有しうる。分類モデルは、複数の入力ユニットを含む入力レイヤ、１つまたは複数の隠れユニットを含む１つまたは複数の隠れレイヤ、および複数の出力ユニットを含む出力ユニットを有していてもよい。
【００２６】
新規の学習プロセスの間、コンピュータ・システムは、１つまたは複数のトレーニング・データに共に出現したラベルの組合せをリストして、入力用に共に出現することが予想される共起ラベルの組合せを取得する。次いで、コンピュータ・システムは、出力レイヤの全出力ユニット間で上記組合せの各共起ラベルに対応する関連の出力ユニットを共に活性化するように、それぞれの組合せ用に出力レイヤの下の隠れレイヤに専用ユニットを準備しつつ、分類モデルを初期化する。他の態様では、専用ユニットと関連の出力ユニットとの間の各接続は、専用ユニットと、出力レイヤの残りの出力ユニットとの間の他のどの接続よりも、および出力レイヤの残りの隠れユニットと、関連の出力ユニットを含めた複数の出力ユニットとの間の他のどの接続よりも、強力な値を用いて初期化される。次いで、コンピュータ・システムは、ニューラル・ネットワーク用の逆伝搬アルゴリズムなど、標準的な学習アルゴリズムに基づき１つまたは複数のトレーニング・データを使用して、分類モデルをトレーニングする。
【００２７】
ここで、図２から図８の一連を参照すると、本願の発明の１つまたは複数の実施形態による分類モデルを学習するためのコンピュータ・システムおよび方法が示されている。新規の学習技術は、ＮＬＱ分類モデルに特有ではなく、該新規の学習技術は、任意の分類モデルに汎用であり適用可能である。分類モデルによって処理されたデータは、クエリおよびテキストに限定されないことがあり、画像データ、音響音声スピーチデータ、ビデオデータなど任意のデータに拡張することができる。
【００２８】
ここで、図２から図５の一連を参照すると、本願の発明の第１の実施形態による、自然言語クエリ（ＮＬＱ）分類モデルを学習するためのコンピュータ・システムおよび方法が記載される。次いで、図６から図７の一連を参照すると、本願の発明の第２の実施形態による、トピック・カテゴライゼーション（またはテキスト分類）モデルを学習するためのコンピュータ・システムおよび方法が記載される。また、図８を参照すると、本願の発明の代替の実施形態による、汎用ニューラル・ネットワークに基づく分類モデルを学習するためのコンピュータ・システムおよび方法が記載され、そこでは、教師なし事前トレーニングと教師あり微調整とを含む２段階の学習プロセスが、ディープ・ラーニング・アーキテクチャで実施される。
【００２９】
第１の実施形態
図２は、本願の発明の第１の実施形態による、ＮＬＱ分類モデルおよび該ＮＬＱ分類モデルに用いる学習システムを組み込んだコンピュータ・システムのブロック図を示す。
【００３０】
図２に示されるように、コンピュータ・システム１００は、トレーニングされたパラメータ１２０に基づき、入力クエリ１１２を受信して、１つまたは複数の予測ドキュメント・ラベル１１４を出力する、ＮＬＱ分類モデル１１０と；トレーニング・データ１４０に基づき、ＮＬＱ分類モデル１１０の機械学習を実施して、トレーニングされたパラメータ１２０を取得する、ＮＬＱ分類モデル学習システム１３０とを含む。
【００３１】
図３を参照すると、ＮＬＱ分類モデル１１０のアーキテクチャ１５０が図示されている。記載されている実施形態では、ＮＬＱ分類モデル１１０は、ニューラル・ネットワークに基づく分類モデルである。ＮＬＱ分類モデル１１０のアーキテクチャ１５０は、クエリ入力レイヤ１５２、ワード・レイヤ１５４、分散表現レイヤ１５６、最上位の隠れレイヤ１６２、およびラベル予測レイヤ１６４を含むことができる。
【００３２】
分散表現レイヤ１５６と、ラベル予測レイヤ１６４の直下の隠れレイヤである最上位の隠れレイヤ１６２との間には、サブサンプリング・レイヤ１６０を備えた少なくとも１つの畳み込みレイヤ１５８があり、畳み込みニューラル・ネットワーク（ＣＮＮ）を形成する。ＮＬＱ分類モデル１１０は、一連の繰り返しの畳み込みレイヤ１５８およびサブサンプリング・レイヤ１６０を含んでいてもよく、任意選択で最上位の隠れレイヤ１６２の下に完全に接続された１つまたは複数のレイヤがさらに続いていてもよい。
【００３３】
ＮＬＱ分類モデル１１０は、様々な長さのクエリを受け入れる必要があり得る。ＮＬＱ分類モデル１１０は、クエリ入力レイヤ１５２によって、“日本のどこを訪れるべきか？”のような自然文の形で入力クエリを受け取る。入力クエリのワードは、最初に、ストップワードの除去などの適切な前処理に付され、次いで、処理されたワード１５４は、分散表現レイヤ１５６中で分散表現に変換される。畳み込みレイヤ１５８は、ｋフィーチャ・マップを生成するためのｋカーネルを有していてもよい。各フィーチャ・マップは、次いで、サブサンプリングされて、典型的には平均またはマックス・プーリングに付される。時間をかけて畳み込み１５８およびサブサンプリング１６０を適用することによって、固定長のフィーチャ・ベクトルが、分散表現レイヤ１５６から最上位の隠れレイヤ１６２内に抽出される。そして、固定長のフィーチャ・ベクトルは、次いで、ラベル予測レイヤ１６４内に送り込まれて、入力クエリ１１２に対し１つまたは複数のドキュメント・ラベル１１４を予測する。
【００３４】
ラベル予測レイヤ１６４は、予め定義された各ドキュメント・ラベルにそれぞれ対応する複数のユニットを有し、該ドキュメント・ラベルは、クエリに対する解を有するドキュメントを特定するドキュメント識別子である。ドキュメント・ラベルは、トレーニング・データ１４０に出現したラベルとして定義することができる。ラベル予測レイヤ１６４にあるユニットの数は、トレーニング・データ１４０に出現したドキュメント・ラベルの数と同じであってもよい。記載される実施形態では、ラベル共起の組合せに用いる追加のユニットは必要とされない。
【００３５】
ラベル予測レイヤ１６４に使用される損失関数は、マルチラベルを処理することができるかまたはできない公知の損失関数のいずれか１つとすることができ、そのような損失関数としては、以下に限定されないが、好ましくは、負の対数確率、クロス・エントロピー、および二値クロス・エントロピーが挙げられる。
【００３６】
ｘが入力クエリのフィーチャ・ベクトルを指すものとすると、ｙは、ラベルのベクトル表現であり、ｏは、ニューラル・ネットワークの出力値であり、Ｐは、ニューラル・ネットワークのパラメータである。ｙの表現が、損失関数に応じて異なることに留意されたい。簡単にするために、以下の記載では、ラベルＬ＝｛Ｌ１，Ｌ２，Ｌ３｝の有限集合および入力クエリｘは、複数のラベル｛Ｌ１，Ｌ３｝を有するものと仮定する。
【００３７】
負の対数確率：
負の対数確率を最小にすることによって、単一のラベルを仮定する。マルチラベルを処理するために、コピー変換を使用して、２つのトレーニング・データ（（ｘ，ｙ（１））、（ｘ，ｙ（２）））を得ることができ、上式で、ｙ（１）＝（１，０，０）およびｙ（２）＝（０，０，１）である。各トレーニング・データについての損失は、ｌ（Ｐ，（ｘ，ｙ（１）））＝−ｌｏｇ（ｏ１）およびｌ（Ｐ，（ｘ，ｙ（２）））＝−ｌｏｇ（ｏ３）となり、上式では、ソフトマックス活性化を使用して、ラベル予測レイヤ１６４にてｏを算出することができる。
【００３８】
クロス・エントロピー：
マルチラベルを処理するために、マルチラベルを確率分布ｙ＝（０．５，０，０．５）であるものと仮定する。トレーニング・データ（ｘ、ｙ）についてのクロス・エントロピー損失は、ｌ（Ｐ，（ｘ，ｙ））＝−ｙｌｏｇ（ｏ）となり、上式では、ラベル予測レイヤ１６４にてソフトマックス活性化が使用される。
【００３９】
二値クロス・エントロピー：
マルチラベルを操作するために、ラベルをｙ＝（１，０，１）であるものと仮定する。トレーニング例（ｘ，ｙ）についての二値クロス・エントロピー損失は、以下のようになる。
【００４０】
【数１】
0006678930.tif 000002
上式では、ラベル予測レイヤ１６４にてシグモイド活性化を使用する。
【００４１】
典型的には、分散表現レイヤ１５６からラベル予測レイヤ１６４までの構造は、ニューラル・ネットワークとしてトレーニングすることができる。そのため、記載する実施形態では、ニューラル・ネットワークの入力レイヤは、分散表現レイヤ１５６であり、ニューラル・ネットワークの出力レイヤは、ラベル予測レイヤ１６４である。しかし、これは、本願の発明の１つまたは複数の実施形態について可能な設計の一例であって、クエリ入力レイヤ１５２からラベル予測レイヤ１６４までの構造全体は、具体的な他の実施形態では、ニューラル・ネットワークとしてトレーニングすることができる。
【００４２】
図２に戻って参照すると、ＮＬＱ分類モデル学習システム１３０は、本願の発明の第１の実施形態によるＮＬＱ分類モデル１１０を学習するためのプロセスを実施する。ＮＬＱ分類モデル学習システム１３０は、所与のトレーニング・データ１４０を使用して学習プロセスを実施し、ＮＬＱ分類モデル１１０のパラメータを最適化する。
【００４３】
記載されている実施形態では、トレーニング・データ１４０は、トレーニング・データの１つまたは複数のインスタンスを含み、そのそれぞれは、トレーニング入力クエリと、該トレーニング入力クエリに割り当てられた１つまたは複数の正しいドキュメント・ラベルとを有する。トレーニング・データ１４０のいくつかの部分は、入力クエリの単一のインスタンスについて複数の正しいラベルを有していてもよい。ドキュメント・ラベルは、典型的な専門家の人間によって割り当てられていてもよい。トレーニング入力クエリは、ニューラル・ネットワークに基づくＮＬＱ分類モデルのアーキテクチャに応じて、自然文の形または自然文の表現で準備されてもよい。分散表現レイヤ１５６からラベル予測レイヤ１６４までの構造がニューラル・ネットワークとしてトレーニングされた具体的な実施形態では、自然文の形のトレーニング入力クエリは、分散表現レイヤ１５６中の表現に変換されて、ニューラル・ネットワークに用いるトレーニング入力を生じてもよい。
【００４４】
記載されている実施形態では、学習システム１３０は、共起組合せリスティング・モジュール１３２、パラメータ初期化モジュール１３４およびトレーニング・モジュール１３６を含む。
【００４５】
共起組合せリスティング・モジュール１３２は、入力クエリについて共に出現することが予想される共起ラベルの組合せを得るために、トレーニング・データ１４０で共起したラベルをリストするように構成される。好ましい実施形態では、共起組合せリスティング・モジュール１３２は、さらに、リストされた組合せからサブセットを選択するように構成される。サブセットの選択は、所与のトレーニング・データ１４０中の各組合せに関連した出現の頻度に基づき実施されてもよい。頻度は、トレーニング・データ１４０に出現した各組合せの頻度であるＦｒｅｑ（Ｌ１，Ｌ２）、トレーニング・データ１４０に出現した共起ラベルの頻度であるＦｒｅｑ（Ｌ１）、Ｆｒｅｑ（Ｌ２）、およびＦｒｅｑ（Ｌ１，Ｌ２）２／（Ｆｒｅｑ（Ｌ１）＊Ｆｒｅｑ（Ｌ２））などそれらの組合せを含んでいてもよい。比較的よくある共起組合せは、その組合せの数がニューラル・ネットワークのトポロジーのために新規の学習技術のキャパシティを超えたとしても、サブセットを選択することによって、優先的な方式で処理することができる。
【００４６】
パラメータ初期化モジュール１３４は、トレーニングされるべきＮＬＱ分類モデル１１０の全パラメータを初期化する。記載する実施形態では、パラメータ初期化モジュール１３４は、リストまたは選択されたそれぞれの組合せに対し最上位の隠れレイヤ１６２の隠れユニットから各専用ユニットを準備すると共に、ＮＬＱ分類モデル１１０を初期化するように構成される。各専用ユニットは、ラベル予測レイヤ１６４の全出力ユニット間で、上記組合せの共起ラベルに対応する複数の関連の出力ユニットを共に活性化させるように初期化される。
【００４７】
他の態様では、パラメータ初期化モジュール１３４は、専用ユニットと、関連の各出力ユニットとのそれぞれの接続を初期化するように構成され、その際に、専用ユニットと、残りの出力ユニットとの間の他の接続よりも、および最上位の隠れレイヤ１６２中の残りの隠れユニットと、関連の出力ユニットを含む出力ユニットとの間の他の接続よりも強い値を用いて初期化される。新規の初期化は、図３に示される最上位の隠れレイヤ１６２とラベル予測レイヤ１６４との間の重みマトリックスに、共起ラベル情報を埋め込む。
【００４８】
重み値は、一定値とすることも、１つまたは複数のトレーニング・データ１４０に出現した組合せの頻度に基づき変化させることもできる。一定値は、重みについての上限値であっても、他の重みへの正規化された初期化についての上界であってもよい。専用ユニットの割り当てと、それらの重みマトリックスの初期化については、さらに詳細を後述する。
【００４９】
トレーニング・モジュール１３６は、パラメータ初期化モジュール１３４によって初期化されたパラメータに基づき、トレーニング・データ１４０を使用して、ＮＬＱ分類モデル１１０をトレーニングするように構成される。パラメータの初期化後、ＮＬＱ分類モデル１１０をトレーニングするために、逆伝搬アルゴリズムおよびその変形を含む任意の公知のトレーニング・アルゴリズムを使用することができる。トレーニング・モジュール１３６が、損失関数を使用して逆伝搬を実行してもよい。専用ユニットと、全ドキュメント・ラベルに対応する全ての出力ユニットとの間の重みは、逆伝搬を通じて更新されることに留意されたい。
【００５０】
具体的な実施形態では、図２に記載されるモジュールのそれぞれは、コンピュータに実装されてもよいが、ここでは、本願の発明の実施形態によるプログラムコードは、メモリ上にロードされ、プロセッサによって実行される。
【００５１】
図２に示すように、コンピュータ・システム１００は、様々なフィーチャおよび機能を提供するための１つまたは複数のモジュールを含む。これらのモジュールは、ハードウェア、ハードウェア上で実行可能なソフトウェアもしくはファームウェア、またはそれらの組合せに実装されていてもよい。また、これらのモジュールは、例示的なもののみではあるが提示されており、いかなる限定を示唆することを意図するものではない。代替の実施形態は、図２に図説されたものよりも追加のもしくは少数のモジュールを含むか、または、そのモジュールが、様々に構成されていてもよい。さらに、いくつかの実施形態では、いくつかのモジュールの機能性が、複数のモジュールに分けられることがあるか、または、反対に、いくつかのモジュールの機能性が、組み合わされて単一のもしくはより少数のモジュールとされることがあるということを認識するべきである。
【００５２】
図４は、本願の発明の第１の実施形態によるＮＬＱ分類モデルを学習するためのプロセスを描いたフローチャートを示す。図４に示されるように、プロセスは、ステップＳ１００で開始する。図４に示されるプロセスが、所与のトレーニング・データ１４０について、図２に描かれた学習システム１３０によって実施されることに留意されたい。
【００５３】
ステップＳ１０１では、学習システム１３０は、トレーニング・データ１４０を読み出し、解析して、所与のトレーニング・データ１４０に見出される複数の共起組合せをリストする。ステップＳ１０２では、学習システム１３０は、見出される共起組合せから、専用の隠れユニットについてサブセットを選択してもよい。
【００５４】
ステップＳ１０２での処理は、任意選択で実施されてもよい。共起組合せの数が、最上位の隠れレイヤ１６２のユニットの数よりも充分に小さい際には、見出される全ての組合せが、専用の隠れユニットに使用されてもよい。共起組合せの数が、最上位の隠れレイヤ１６２のユニットの数とほぼ等しいか、それよりも多い際には、学習システム１３０は、所与のトレーニング・データ１４０の各組合せに関連した出現の頻度に基づき、ステップＳ１０１に見出された共起組合せからサブセットを選択することができる。その選択によれば、比較的よくある共起組合せは、その組合せの数が最上位の隠れレイヤ１６２の隠れユニットの数を超えたとしても、優先的な方式でニューラル・ネットワーク内に埋め込むことができる。
【００５５】
ステップＳ１０３では、学習システム１３０が、パラメータの初期化によって、ＮＬＱ分類モデル１１０のニューラル・ネットワークをセットアップする。トレーニングされるべきパラメータは、レイヤ間の接続に関連付けられた重みマトリックスと、レイヤに関連付けられたバイアス・ベクトルとを含んでいてもよい。
【００５６】
特にステップＳ１０３Ａでは、学習システム１３０は、最上位の隠れレイヤ１６２とラベル予測レイヤ１６４との間の標的された重みマトリックス以外のパラメータを初期化する。ステップＳ１０３Ｂでは、学習システム１３０は、最上位の隠れレイヤ１６２とラベル予測レイヤ１６４との間の標的された重みマトリックスを初期化する。
【００５７】
図５は、最上位の隠れレイヤ１６２とラベル予測レイヤ１６４との間の接続についての重み初期化の概要を図示している。図５では、｛Ｌ１ａ，Ｌ２ａ｝、｛Ｌ１ｂ，Ｌ２ｂ，Ｌ３ｂ｝、｛Ｌ１ｃ，Ｌ２ｃ｝を含む３つの共起ラベルの組合せが、専用ユニットについて実例としてリストされている。重みマトリックスは、隠れユニットに対応するマトリックス行である｜Ｈ｜と、ドキュメント・ラベルに対応する列である｜Ｌ｜とを有する。図５の左側に示されるように、共起ラベルの各組合せについて、マトリックス行は、各共起ラベルに対応する各列が多少の重みＣを有するよう準備されるように初期化され、他の残りの列は、ゼロと同等の重みを有するように準備される。共起ラベルの各組合せに対応するマトリックス行は、専用行として参照される。
【００５８】
共起ラベルの組合せに関連付けられなかった残りの行は、任意の公知の方法によって初期化されることに留意されたい。記載されている実施形態では、残りの行は、無作為な初期化によって準備される。
【００５９】
この重み初期化は、図５の右側に示されるように、共起ラベルの各組合せに対して専用の各隠れユニットを最上位の隠れレイヤ１６２に準備することと同等であり、そこでは、専用ユニットは、共起ラベルに対応する関連の出力ユニットとの重みＣの接続と、その他のものとの重みゼロの接続とを有する。共起ラベルに対応する列は、残りの列よりも強力なＣを用いて初期化される。これらの専用ニューロンは、組合せの共起ラベルに対応する関連の出力ユニットを、優先的な方式で同時に活性化させることができる。用語“同時に”は、単一のインスタンスの入力のために共に活性化される、２つまたはそれ以上の出力ユニットであるものとして定義され、時間的な限定を加えることを意図するものではないことに留意されたい。
【００６０】
専用の隠れユニットの準備には、ニューラル・ネットワークのアーキテクチャでの追加の出力および隠れユニットを何ら必要としないこと、専用の隠れユニットがあるニューラル・ネットワークとないものとの間でトポロジーを同一とすることができること、および専用ユニットとして準備されたある種の隠れユニットについての初期化された重みのみを異なるものとすることができることに留意されたい。
【００６１】
具体的な実施形態では、重みの値Ｃは、接続についての上限値であってもよく、例えば、範囲−１〜１のうち１．０である。好ましい実施形態では、重みの値Ｃは、残りの行についての正規化された初期化に用いる上界（ＵＢ）であってもよく、ＵＢは、最上位の隠れレイヤ１６２およびラベル予測レイヤ１６４のユニットの数によって決まる。さらに他の好ましい実施形態では、重みの値Ｃは、トレーニング・データ１４０に出現した組合せの頻度に基づき変わることがある。トレーニング・データ１４０に出現した特定の組合せの頻度は、初期化された接続において考慮することができる。背景にある考え方は、頻繁に出現する（すなわち、特定のラベルの組合せを有するクエリの数が大きい）共起ラベルの特定の組合せが、より頻度の低い組合せよりも重要であるということである。特定のラベル共起の組合せが、トレーニング・データにｆ回出現するものと仮定すると、具体的な実施形態では、ｆ×ＵＢおよびｆ１/２×ＵＢを例として使用することができる。
【００６２】
図４に戻って参照すると、ステップＳ１０４で、学習システム１３０は、所与のトレーニング・データ１４０を使用することによって、逆伝搬アルゴリズムに基づき、ＮＬＱ分類モデル１１０のニューラル・ネットワークをトレーニングする。専用ユニットと、全ドキュメント・ラベルに対応する全ての出力ユニットとの間の重みは、ステップＳ１０４でのトレーニングを通じて更新されることに留意されたい。次いで、プロセスは、ステップＳ１０５で終了する。
【００６３】
ＮＬＱ分類モデル１１０の得られたパラメータは、トレーニングされたパラメータ１２０として、適切な記録システムに格納されてもよい。トレーニングされたパラメータ１２０に基づく分類モデル１１０は、新しい入力クエリについて１つまたは複数の適切なドキュメント・ラベルを予測することができる。そのため、トレーニングされたＮＬＱ分類モデルは、自然言語クエリ分類タスクを有効に実施することができる。
【００６４】
トレーニング後の専用ユニットは、さらに、その専用ユニットの初期化された重みが、トレーニング・モジュール１３６によってトレーニングを通じて更新されたとしても、共起ラベルに対応する関連の出力ユニットを同時に活性化させることができる。
【００６５】
図４に示される新規の学習プロセスによれば、共起マルチラベルの情報は、分類モデルの複雑性を変えることなく分類モデル中に埋め込むことができる。トレーニングされた分類モデル１１０は、同じクエリに対する解を有する複数の適切なドキュメントが存在したとしても、新しい入力クエリについて１つまたは複数の適切なドキュメント・ラベルを効率よく予測することができる。
【００６６】
新規の重み初期化の演算は、取るに足らないものであり、逆伝搬の演算およびニューラル・ネットワークのアーキテクチャは、新規の重み初期化の有無の間で変わらない。そのため、トレーニングと分類の両方について、演算上のオーバーヘッドを増加させることなく、ＮＬＱ分類の精度を高めることができる。
【００６７】
また、図４に示される新規の学習プロセスによれば、トレーニング・データ１４０に出現した組合せの頻度に基づいて、値を変化させることができる。そのため、トレーニング・データ１４０に出現した具体的な組合せの頻度を、初期化された接続において考慮に入れることができる。
【００６８】
また、ステップＳ１０２で処理が実施される、図４に示される新規の学習プロセスによれば、比較的よくある共起組合せは、その組合せの数が増えたとしても、優先的な方式で埋め込むことができる。
【００６９】
第２の実施形態
ここで、図６〜７を一通り参照すると、本願の発明の第２の実施形態による、分類モデルを学習するためのコンピュータ・システムおよび方法が記載される。
【００７０】
図６は、本願の発明の第２の実施形態による、トピック・カテゴライゼーション・モデルと該トピック・カテゴライゼーション・モデル用の学習システムとを組み込んだコンピュータ・システムのブロック図を例示する。
【００７１】
図６に示されるように、コンピュータ・システム２００は、トレーニングされたパラメータ２２０に基づき、入力テキスト２１２を受け取って、１つまたは複数のトピック・カテゴリ・ラベル２１４を出力する、トピック・カテゴライゼーション・モデル２１０；およびトレーニング・データ２４０に基づき、トピック・カテゴライゼーション・モデル２１０の機械学習を実施して、トレーニングされたパラメータ２２０を得る、トピック・カテゴライゼーション・モデル学習システム２３０を含む。
【００７２】
図７を参照すると、トピック・カテゴライゼーション・モデル２１０のアーキテクチャ２５０が図示されている。記載されている実施形態では、トピック・カテゴライゼーション・モデル２１０は、ニューラル・ネットワークに基づく分類モデルである。トピック・カテゴライゼーション・モデル２１０のアーキテクチャ２５０は、テキスト入力レイヤ２５２、ワード・レイヤ２５４、ＢＯＷ（ｂａｇ−ｏｆ−ｗｏｒｄｓ）フィーチャ・レイヤ２５６、最上位の隠れレイヤ２５８およびラベル予測レイヤ２６０を含む。
【００７３】
トピック・カテゴライゼーション・モデル２１０はまた、様々な長さのテキストを受け入れるために必要とされることがある。トピック・カテゴライゼーション・モデル２１０は、テキスト入力レイヤ２５２によって、自然文の形で入力テキストを受け取る。入力テキスト中のワードは、まず、ストップワードの除去などの適切な前処理に付され、次いで、処理されたワード２５４は、ＢＯＷフィーチャ・レイヤ２５６にて簡素化された表現に変換される。ＢＯＷでは、文法および語順が無視されてもよい。
【００７４】
ＢＯＷフィーチャ・レイヤ２５６からラベル予測レイヤ２６０までの構造は、ＢＯＷフィーチャを受け入れる入力レイヤ、１つまたは複数の隠れレイヤ、およびカテゴリ予測を出力する出力レイヤと共に、フィード・フォワード・ニューラル・ネットワークを構成する。
【００７５】
ラベル予測レイヤ２６０は、“スポーツ”、“社会”や“国際”など、予め定義された各トピック・カテゴリ・ラベルにそれぞれ対応する複数のユニットを有する。トピック・カテゴリ・ラベルは、専門家の人間による手作業で定義することができる。ラベル予測レイヤ２６０中のユニットの数は、予め定義されたカテゴリの数と同じとしてもよい。ラベル共起の組合せに用いる追加のユニットは、記載されている実施形態では必要とされない。ラベル予測レイヤ２６０で使用される損失関数は、マルチラベルを処理することのできるどの損失関数であってもよく、そのような損失関数としては、以下に限定されないが、好ましくは、負の対数確率、クロス・エントロピーおよび二値クロス・エントロピーが挙げられる。
【００７６】
典型的には、ＢＯＷフィーチャ・レイヤ２５６からラベル予測レイヤ２６０までの構造は、ニューラル・ネットワークとしてトレーニングすることができる。そのため、記載されている実施形態では、ニューラル・ネットワークの入力レイヤは、ＢＯＷフィーチャ・レイヤ２５６であり、ニューラル・ネットワークの出力レイヤは、ラベル予測レイヤ２６０である。しかし、これは、本願の発明の１つまたは複数の実施形態について可能な設計の一例であって、テキスト入力レイヤ２５２からラベル予測レイヤ２６０までの構造全体は、具体的な他の実施形態では、ニューラル・ネットワークとしてトレーニングすることができる。
【００７７】
図６に戻って参照すると、トピック・カテゴライゼーション・モデル学習システム２３０は、図４に示されているＮＬＱ分類モデルを学習するためのプロセスと同様の、本願の第２の実施形態によるトピック・カテゴライゼーション・モデル２１０を学習するためのプロセスを実施する。トピック・カテゴライゼーション・モデル学習システム２３０は、所与のトレーニング・データ２４０を使用して学習プロセスを実施して、トピック・カテゴライゼーション・モデル２１０のパラメータを最適化する。
【００７８】
記載されている実施形態では、トレーニング・データ２４０は、１つまたは複数のトレーニング・データのインスタンスを含み、そのそれぞれは、ニュース記事などのトレーニング入力テキストと、そのトレーニング入力テキストに割り当てられた１つまたは複数の正しいトピック・カテゴリ・ラベルとを有する。トレーニング・データ２４０のいくつかの部分は、入力テキストの単一のインスタンスについて複数のラベルを有していてもよい。トレーニング入力テキストは、ニューラル・ネットワークに基づく分類モデルのアーキテクチャに応じて、自然文の形で、または自然文の表現で準備されてもよい。
【００７９】
記載されている実施形態では、学習システム２３０は、共起組合せリスティング・モジュール２３２、パラメータ初期化モジュール２３４およびトレーニング・モジュール２３６を含み、そのそれぞれは、図２に示される第１の実施形態の対応のモジュールと同様に構成される。
【００８０】
特に、パラメータ初期化モジュール２３４は、リストされたまたは選択された各組合せに対し各専用ユニットを最上位の隠れレイヤ２６２に準備しつつ、トピック・カテゴライゼーション・モデル２１０を初期化するように構成される。各専用ユニットは、図５を用いて示されるように、ラベル予測レイヤ２６０の間のうち組合せ内の共起ラベルに対応する関連の出力ユニットを同時に活性化させるために初期化される。別の態様では、パラメータ初期化モジュール２３４は、専用ユニットと、関連の各出力ユニットとの間のそれぞれの接続が初期化されるように構成され、その初期化には、該専用ユニットと残りの出力ユニットとの間の他の接続よりも強力な値が用いられる。
【００８１】
トレーニングされたトピック・カテゴライゼーション・モデル２１０は、新しい入力テキストについて１つまたは複数の適切なトピック・カテゴリ・ラベルを予測することができる。そして、トレーニングされたトピック・カテゴライゼーション・モデル２１０は、トレーニングの間および分類の間に演算上のオーバーヘッドを増加させることなく、自然言語テキスト・カテゴライゼーション・タスクを効果的に実施することができる。
【００８２】
代替の実施形態
上記に記載されたように、本願の発明の１つまたは複数の実施形態による新規の学習技術は、ＮＬＱ分類タスクおよびトピック・カテゴライゼーション・タスクに特化しない。すなわち、本技術は、汎用性があり、任意の分類タスクに適用することができる。
【００８３】
以下、図８を参照すると、本願の発明の代替の実施形態による、分類モデルを学習するためのコンピュータ・システムおよび方法が示されており、そこでは、分類モデルは、ディープ・ラーニング・アーキテクチャ中に構築される。
【００８４】
ディープ・ラーニング・アーキテクチャでは、多層のディープ・ニューラル・ネットワーク（ＤＮＮ）が、複数の隠れユニットを具えた１つまたは複数の隠れレイヤを、入力レイヤと出力レイヤとの間に有する。図８は、分類タスクを実施する、ＤＮＮに基づく分類モデル３００を示す。
【００８５】
ＤＮＮをトレーニングするために、典型的に、教師なし事前トレーニングおよび管理した微調整を含む２段階の学習プロセスが実施されてもよい。そのような２段階の学習プロセスは、音響音声認識および画像認識に用いる分類モデルに使用することができる。事前トレーニングによって、入力の特性をよく捉える表現を探し出し、初期化パラメータを用いてレイヤを重層する。入力を表す優れた表現として、隠れレイヤにおける作動が見られる。微調整プロセスは、事前トレーニングのプロセスによって見積もられた表現に基づいて、ＤＮＮのパラメータを区別的に更新する。これは言うまでもなく、ＤＮＮに用いる可能な学習プロセスの一例であり、他の実施形態では、事前トレーニングは省略される。
【００８６】
図８を参照すると、ＤＮＮに基づく分類モデル３００は、入力レイヤ３０２と出力レイヤ３０８との間に、１つまたは複数の隠れレイヤ３０４〜３０６を有する。ＤＮＮに基づく分類モデル３００は、入力シグナルを受け取り、分類タスクを実施して、トレーニングされたパラメータに基づき予測ラベルを出力する。
【００８７】
事前トレーニングのプロセスの間、ＤＮＮに基づく分類モデル３００のパラメータは、必要に応じて、レイヤ毎に初期化される。全てのレイヤについてパラメータが初期化された後、出力レイヤ３０８を最上位の隠れレイヤ３０６の上に重層することによって、および最上位の隠れレイヤ３０６のユニットと、出力レイヤ３０８のユニットとの間の接続について重みマトリックスを加えることによって、ＤＮＮに基づく分類モデル３００が構築される。最上位の隠れレイヤ３０６と出力レイヤ３０８との間の重みマトリックスを準備するために、新規の重み初期化技術を、ＤＮＮに基づく分類モデル３００に適用することができる。
【００８８】
全てのパラメータ初期化が完了した後、新規の重み初期化によって初期化されたパラメータを含むＤＮＮ全体は、教師あり微調整プロセスの間、逆伝搬アルゴリズムを使用してパラメータを更新することによって、区別的にトレーニングされる。
【００８９】
本願の発明による１つまたは複数の実施形態では、ＤＮＮに基づく分類モデル３００の最上位の隠れレイヤ３０６と出力レイヤ３０８との間の重みマトリックスは、図５に記載されるように新規の重み初期化を使用することによって、初期化することができる。そのため、ディープ・ニューラル・ネットワークに基づく分類モデルを学習するためのコンピュータ・システムおよび方法は、図４に示される新規の学習プロセスを含んで、微調整プロセスの前に、最上位の隠れレイヤ３０６と出力レイヤ３０８との間の重みマトリックスを初期化してもよく、微調整プロセスの間に、ＤＮＮに基づく分類モデル３００をトレーニングしてもよい。ＤＮＮに基づくトレーニングされた分類モデル３００は、新しい入力シグナルに用いる１つまたは複数の適切なラベルを予測することができる。そうして、ＤＮＮに基づくトレーニングされた分類モデル３００は、トレーニングの間および分類の間に演算上のオーバーヘッドを増加させることなく、分類タスクを効果的に実施することができる。
【００９０】
ディープ・ラーニング・アーキテクチャでパラメータが初期化された後にパラメータが細かく調整されているとしても、ＤＮＮに基づく分類モデル３００の結果として得られる性能は、優れた解決策にどれほど近くパラメータが初期化されるかということに影響を及ぼすことができる。したがって、ＤＮＮに基づく分類モデル３００の性能は、新規の学習プロセスを高めることができるということを期待することができる。
【００９１】
実世界データの実験的研究
第１の実施形態による図４に示されるプロセスを実装するプログラムを、保護ドメイン内でＱＡ（質問および解）データ用に英語にてコード化し、実行した。クエリは、自然言語で入力され、分類モデルは、クエリに対する解を含むドキュメントを返す。３，１３３個および３９４個のクエリが、トレーニング・データおよび評価データ中にそれぞれ含まれていた。１，６９５個および１５８個の共起ラベルを、トレーニング・データおよび評価データ中にそれぞれ見出した。トレーニング・データに割り当てられた固有のドキュメント・ラベルの数は、５２６であった。
【００９２】
図３に示されるアーキテクチャを備えたニューラル・ネットワークを採用した。分散表現レイヤ１５６の空間は、１００個であった。ＣＮＮ、ｋについてのカーネルの数を１，０００個に設定したが、これは、最上位の隠れレイヤ１６２に１，０００個のユニットが存在することを意味する。ラベル予測レイヤ１６４の出力ユニットの数を５２６個に設定した。この構成を、実世界データについて全ての実施例および比較例に共通して使用した。正規化された初期化に従って、ニューラル・ネットワークを無作為に初期化し、ＡｄａＧｒａｄを使用して学習速度を制御し、特記のない限り、全ての実施例および比較例について、トレーニング・エポックの数を１，０００個に固定した。
【００９３】
図４に示されるステップＳ１０１での処理によって、トレーニング・データ中の１，６９５個のクエリを見出して複数の共起ラベルを得、２５２個の組合せの共起ラベルを見出した。図４に示されるＳ１０３Ｂでの処理によって、実施例に用いる２５２個の専用隠れユニットを準備しつつ、かつ比較例に用いる専用隠れユニットを準備せずに、最上位の隠れレイヤ１６２とラベル予測レイヤ１６４との間の１０００×５２６の重みマトリックスを初期化した。
【００９４】
「１−最高精度」、「Ｒｅｃａｌｌ＠５」および「完全精度」を含めた３つの評価用測定指標を、評価に使用した。「１−最高精度」では、１個の最高結果が正しいラベルに含まれるか否かを判定する。「Ｒｅｃａｌｌ＠５」では、５個の最高結果が少なくとも１つの正しいラベルに含まれるか否かを判定する。ｊ個のラベルがクエリに割り当てられるものと仮定すると、「完全精度」では、ｊ個の最高結果を調査し、ｊ個の最高結果が正しいラベルに適合するか否かを判定する。クエリが３つのラベルを有する際には、システムは、クエリの３つの正しいラベルを含む３個の最高結果を返して、１００％の完全精度を得る必要がある。
【００９５】
実施例１〜３および比較例１〜３には、負の対数尤度（実施例１、比較例１）、クロス・エントロピー（実施例２、比較例２）および二値クロス・エントロピー（実施例３および比較例３）を含めた３つの異なる損失関数を使用した。実施例１〜３については、新規の学習プロセス用の値Ｃを、他の行についての無作為化の上界に設定した。
【００９６】
実施例１〜３および比較例１〜３の評価された結果の概要を以下に示す。
【００９７】
【表１】
0006678930.tif 000003
【００９８】
表１は、３つの異なる損失関数を使用した実験結果を示す。実施例１〜３および比較例１〜３の間で精度を比較することにより、各評価用測定指標を用いた全ての損失関数について、新規の学習プロセスによる向上が得られた。実施例１〜３のうち、実施例２（クロス・エントロピー損失関数を用いた）は、３つ全ての測定指標で最高であることが示され、そこでの５０．５１％から５２．５４％への１−最高精度の向上は、統計学的に有意であった（ｐ＜０．０５）
【００９９】
組合せに用いる専用ユニットが、トレーニングされたニューラル・ネットワーク中の対応のラベルをさらに同時に作動させるか否かということに関する、実施例１〜３についての解析の概要を以下に示す。
【０１００】
【表２】
0006678930.tif 000004
【０１０１】
表２は、トレーニングされたニューラル・ネットワーク上での解析を示す。存続したユニットの数の列には、ｋ個のラベルの組合せについて初期化され、逆伝搬後に、ｋ個のラベルに対応するｋ個の最大重みを依然として有していた専用ユニットの数を提示する。全実施例１〜３で、逆伝搬後に、専用ユニットの大部分が“存続した”ことが実証された。
【０１０２】
重みの列に、専用ユニットと対応の共起ラベルとの間の接続重みの平均、および重みマトリックス中の全ての接続の平均を提示する。専用ユニットと対応の共起出力との間の接続についてのトレーニングされた重み（重み−専用）は、平均重み（重み−全体）よりもはるかに強力であった。新規の初期化は、逆伝搬後であっても共起ラベルを同時に活性化させる、専用ユニットを生成することが示された。
【０１０３】
新規の学習プロセスについての値Ｃを、実施例１〜３における上界に設定した。Ｃ＝１．０（実施例４）、Ｃ＝ｆ×ＵＢ（実施例５）、Ｃ＝ｆ１／２×ＵＢ（実施例６）を含めて、異なる初期化値を採用し、上式で、ｆは、トレーニング・データ中の一連の複数のラベルの頻度である。全実施例４〜６についての損失関数は、クロス・エントロピー損失とした。
【０１０４】
実施例２、４〜６および比較例２のクロス・エントロピー関数を用いた評価結果の概要を以下に示す。
【０１０５】
【表３】
0006678930.tif 000005
【０１０６】
表３の結果は、ｆ１／２×ＵＢを使用することによって、１−最高精度と完全精度のどちらにもいっそうの向上をもたらすことを示す。トレーニング・データ中の一連の複数のラベルの頻度の平方根に従ってＣを設定することによって、精度をさらに向上することができることが示された。
【０１０７】
実世界の分類タスクでは、通常、データサイズの制限に悩まされる。ここで、トレーニング・データのサイズを、本来の３，１３３（実施例２および比較例２）から１，０００（実施例７および比較例４）および２，０００（実施例８および比較例５）に低下させた。クロス・エントロピー損失関数を、実施例７〜８および比較例４〜５に使用した。１Ｋおよび２Ｋのトレーニング・データを用いてトレーニングした際に、これら２つのセットから、共起ラベルの組合せのサブセットを個別に抽出した。
【０１０８】
実施例２、7〜８および比較例２、４〜５のクロス・エントロピー関数を用いた評価結果の概要を以下に示す。
【０１０９】
【表４】
0006678930.tif 000006
【０１１０】
表４の結果は、トレーニング・データがさらに制限されたとしても、新規の学習方法が一貫して１−最高精度を向上させたことを示す。
【０１１１】
図９は、実施例２および比較例２について、トレーニング中の３Ｋデータに関する分類精度対トレーニング・エポックを示す。新規の重み初期化は、トレーニング・エポックの初期段階から、無作為な初期化よりも優れていた。新規の重み初期化は、トレーニング・データのサイズが制限され、およびトレーニング時間が制限された実世界において、精度を高めることが実証された。
【０１１２】
オープン・パブリック・データについての実験的研究
図４に示されるプロセスを実装するプログラムを、パブリック・マルチラベル・トピック・カテゴライゼーション・データについて実行した（Ｒｅｕｔｅｒｓ  Ｃｏｒｐｕｓ  Ｖｏｌｕｍｅ  １；ＲＣＶ１）。ＲＣＶ１は、２３，１４９個のトレーニング・テキストと、１０３個のトピック・ラベルを備えた７８１，２６５個の評価テキストとを有する。
【０１１３】
２０００個のユニットの最上位の隠れレイヤ２５８と、クロス・エントロピー損失関数を有する１０３個の出力ユニットのラベル予測レイヤ２６０とを具える、図７に示されるアーキテクチャを備えたニューラル・ネットワークを採用した。図４に示されるステップＳ１０３Ｂでの処理によって、実施例９に用いるＵＢを有した専用の隠れユニットを準備しつつ、かつ比較例６に用いる専用の隠れユニットを準備せずに、最上位の隠れレイヤ２５８とラベル予測レイヤ２６０との間の２０００×１０３の重みマトリックスを初期化した。
【０１１４】
比較例６におけるトピック・ラベル分類の１−最高精度は、９３．９５％であった。比較例６に比べることによって、トピック・ラベル分類の１−最高精度は、９３．９５％から９４．６０％まで向上し、これは、統計学的に有意であった（ｐ＜０．００１）。
【０１１５】
クラウド環境の実装
本開示は、クラウド・コンピューティングに関する詳細な記載を含むとはいえ、本明細書に記載される教示の実装は、クラウド・コンピューティング環境に限定されないことが予め理解される。むしろ、本願の発明の実施形態は、現在公知のまたは将来開発される他の任意の型のコンピュータ環境と併せて実装することが可能である。
【０１１６】
クラウド・コンピューティングは、構成可能なコンピューティング・リソースの共用プール（例えばネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、記憶装置、アプリケーション、仮想マシンおよびサービス）へ、簡便かつオンデマンドのネットワーク・アクセスを可能にするためのサービス・デリバリのモデルであり、最小限の管理努力またはサービス・プロバイダとのやり取りによって速やかに供給および開放することができるものである。このクラウド・モデルは、少なくとも５つの特性、少なくとも３つのサービス・モデル、および少なくとも４つの実装モデルを含むことがある。
【０１１７】
特性は以下の通りである。
オンデマンド・セルフサービス：クラウドのコンシューマは、サービス・プロバイダとの人的やり取りを要することなく、必要応じて自動的に、サーバ時間やネットワーク記憶装置などのコンピューティング能力を一方的に提供することができる。
ブロード・ネットワーク・アクセス：能力は、ネットワーク中にわたって利用可能であり、不均一なシンまたはシック・クライアント・プラットフォームによる使用を促進する標準的な機構を介してアクセスされる（例えば携帯電話、ラップトップ・コンピュータおよびＰＤＡ）。
リソース・プーリング：プロバイダのコンピューティング・リソースは、プールされ、マルチテナント・モデルを使用して複数のコンシューマに供される。その際に、異なる物理的なおよび仮想のリソースが、需要に応じてダイナミックに割り当てられる、および再度割り当てられる。コンシューマは概ね、提供されるリソースの正確な位置に関して制御しないか知識がないものの、より高い抽象化のレベルで位置を特定することができる場合がある（例えば国、国家またはデータセンター）という点で、位置的に独立しているという感覚がある。
速やかな融通性：能力は、速やかにかつ柔軟に供給されて、ある場合には自動的に、直ちにスケールアウトし、また、速やかに開放されて直ちにスケールインすることができる。コンシューマにとって、供給に利用することが可能な能力は、制限がないものと思われ、任意の時間に任意の量で獲得することができる。
測定されるサービス：クラウド・システムは、サービスの型（例えば記憶装置、処理、帯域幅およびアクティブ・ユーザ・アカウント）に適したある程度の抽象化のレベルで計測能に影響を与えることによって、リソースの使用を自動的に制御および最適化する。リソースの利用は、モニターおよび制御することができ、利用されるサービスのプロバイダとコンシューマとの双方に透明性をもたらすことを報告することができる。
【０１１８】
サービス・モデルは、以下の通りである。
サービスとしてのソフトウェア（ＳａａＳ）：コンシューマに提供される能力は、クラウド・インフラストラクチャ上で動作するプロバイダのアプリケーションを使用するためのものである。アプリケーションは、ウェブ・ブラウザなどのシン・クライアント・インターフェース（例えばウェブベースのe−メール）を介して様々なクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザに特有の構成設定である場合を除いて、サーバ、オペレーティング・システム、記憶装置、またはさらに個々のアプリケーション能力を含む基礎クラウド・インフラストラクチャを管理または制御しない。
サービスとしてのプラットフォーム（ＰａａＳ）：コンシューマに提供される能力は、プログラミング言語を使用して生成され、かつクラウド・インフラストラクチャのコンシューマが作製または獲得するアプリケーションにおいて、およびプロバイダによってサポートされるツール上に展開するためのものである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、または記憶装置を含む基礎クラウド・インフラストラクチャを管理または制御しないが、展開されたアプリケーションを制御し、事によるとアプリケーション・ホスティング環境構成を有することがある。
サービスとしてのインフラストラクチャ（ＩａａＳ）：コンシューマに提供される能力は、処理、記憶装置、ネットワーク、およびコンシューマが任意のソフトウェアを展開および操作することができる他の基本的なコンピューティング・リソースを供給するためのものであり、上記リソースは、オペレーティング・システムおよびアプリケーションを含むことができる。コンシューマは、基礎クラウド・インフラストラクチャを管理または制御しないが、オペレーティング・システム、記憶装置、展開されたアプリケーションを制御し、事によると精選されたネットワーキング・コンポーネントを限定的に制御することがある（例えば、ホスト・ファイアウォール）。
【０１１９】
展開モデルは以下の通りである。
プライベート・クラウド：このクラウド・インフラストラクチャは、組織化のためにのみ稼働される。これは、組織または第三者によって管理されることがあり、枠内または枠外に存在することがある。
コミュニティ・クラウド：このクラウド・インフラストラクチャは、いくつかの組織によって共有され、問題（例えば課題、セキュリティ上の要請、ポリシー、およびコンプライアンス上の検討事項）を共有する特定のコミュニティをサポートする。これは、組織によっても第三者によっても管理されることがあり、枠内でも枠外でも存在することがある。
パブリック・クラウド：このクラウド・インフラストラクチャは、一般人または大きな産業上のグループに利用可能となるように運用され、クラウド・サービスを販売する組織が所有する。
ハイブリッド・クラウド：このクラウド・インフラストラクチャは、２つまたはそれを超えるクラウド（プライベート、コミュニティ、またはパブリック）の構成体であり、それらのクラウドは、固有のエンティティを残すが、データおよびアプリケーションの携帯を可能にする規格化されたまたは所有者の技術によって、共に結び付けられている（例えば、クラウド間のロード・バランスをとるためのクラウド・バースティング）。
【０１２０】
クラウド・コンピューティング環境は、無国籍、疎結合、モジュール性、および意味的相互運用性に焦点を合わせたサービス志向である。クラウド・コンピューティングの心臓部では、インフラは、相互連結したノードを含んでいる。
【０１２１】
図１０をここで参照すると、クラウド・コンピューティング・ノードの一例の概略図が示されている。クラウド・コンピューティング・ノード１０は、適切なクラウド・コンピューティング・ノードの例に過ぎず、本明細書に記載された本発明の実施形態の使用または機能性の範囲に関するいかなる限定をも示唆することを意図するものではない。いずれにせよ、クラウド・コンピューティング・ノード１０は、実装が可能であるか、上記に述べた機能性のいずれかを実施することが可能であるか、またはそのどちらも可能である。
【０１２２】
クラウド・コンピューティング・ノード１０には、コンピュータ・システム／サーバ１２があり、該システム／サーバは、他の数多くの汎用の目的のまたは特殊な目的のコンピューティング・システム環境または構成を用いて動作可能である。コンピュータ・システム／サーバ１２と共に使用するのに適しうる周知のコンピューティング・システム、環境、構成またはそれらの組合せの例としては、以下に限定されないが、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサに基づくシステム、セットトップ・ボックス、プログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および任意の上記のシステムやデバイスなどを含む分散型クラウド・コンピューティング環境が挙げられる。
【０１２３】
コンピュータ・システム／サーバ１２は、コンピュータ・システムによって実行されるプログラム・モジュールなど、コンピュータ・システムが実行可能な命令の一般的な文脈にて記述される場合がある。一般に、プログラム・モジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含んでいてもよく、それらは、具体的なタスクを実行するか、具体的な抽象データの型を実装する。コンピュータ・システム／サーバ１２は、分散型クラウド・コンピューティング環境で実行されてもよく、そのような環境では、タスクは、通信ネットワークを介して連結された遠隔処理デバイスによって実施される。分散型クラウド・コンピューティング環境では、プログラム・モジュールは、ローカル・コンピュータ・システムと、リモート・コンピュータ・システムの両方の記憶媒体に位置させてもよく、これらの媒体には、メモリ記憶デバイスが含まれる。
【０１２４】
図１０に示すように、クラウド・コンピューティング・ノード１０内のコンピュータ・システム／サーバ１２は、汎用コンピューティング・デバイスの形態で示される。コンピュータ・システム／サーバ１２のコンポーネントとしては、以下に限定されないが、１つまたは複数のプロセッサまたは処理ユニット１６、システム・メモリ２８、およびシステム・メモリ２８を含めた様々なシステム・コンポーネントをプロセッサ１６に結び付けるバス１８が挙げられる。バス１８は、いくつかの型のバス構造のうちいずれか１つまたは複数を表現し、該バス構造としては、メモリ・バスもしくはメモリ・コントローラ、周辺機器用バス、アクセラレーテッド・グラフィックス・ポート、および種々のバス・アーキテクチャのうちいずれかを使用するプロセッサもしくはローカル・バスが挙げられる。例として、限定するものではないが、そのようなアーキテクチャとしては、工業標準アーキテクチャ（ＩＳＡ）バス、マイクロチャネル・アーキテクチャ（ＭＣＡ）バス、エンハンストＩＳＡ（ＥＩＳＡ）バス、ビデオ・エレクトロニクス規格協会（ＶＥＳＡ）ローカル・バスおよび周辺コンポーネント相互接続（ＰＣＩ）バスが挙げられる。
【０１２５】
コンピュータ・システム／サーバ１２は、典型的には、コンピュータ・システム読み取り可能な種々の媒体を含む。そのような媒体は、コンピュータ・システム／サーバ１２がアクセスすることが可能な任意の利用可能な媒体としてもよく、揮発性および不揮発性の媒体、着脱可能および着脱不能な媒体が挙げられる。
【０１２６】
システム・メモリ２８は、コンピュータ・システム読み取り可能な媒体を揮発性の形態をとる媒体を含むことができ、そのような媒体は、ランダム・アクセス・メモリ（ＲＡＭ）３０、キャッシュ・メモリ３２やそれらの組合せなどがある。コンピュータ・システム／サーバ１２は、他の着脱可能／着脱不能な、揮発性／不揮発性のコンピュータ・システム記録媒体をさらに含んでいてもよい。例示に過ぎないものの、読み出しおよび書き込みのための記憶システム３４を、取り外し不能な不揮発性の磁性媒体（図示しておらず、典型的には“ハード・ドライブ”とよばれる）を備えることができる。図示しないが、取外し可能な不揮発性の磁性ディスク（例えば“フロッピー・ディスク”）から読み出すか、またはそれに書き込むための磁性ディスク・ドライブ、およびＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭや他の光学系媒体など、取外し可能な不揮発性の光学系ディスクから読み出すか、またはそれに書き込むための光学系ディスク・ドライブを、備えることができる。そのようなインスタンスにおいては、１つまたは複数のデータ媒体インターフェースによって、それぞれをバス１８に接続することができる。以後にさらに図示または記載するように、メモリ２８は、一連の（例えば少なくとも１つの）プログラム・モジュールを有する少なくとも１つのプログラム・プロダクトを含んでいてもよく、このプログラム・モジュールは、本発明の実施形態の機能を行うために構成される。
【０１２７】
一連の（少なくとも１つの）プログラム・モジュール４２を有するプログラム／ユーティリティ４０は、例としてメモリ２８に格納されていてもよく、限定するのではないが、また、オペレーティング・システム、１つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データを格納していてもよい。オペレーティング・システム、１つまたは複数のアプリケーション・システム、他のプログラム・モジュール、およびプログラム・データ、またはいくつかのそれらの組合せのそれぞれは、ネットワーク環境の実装を含むことがある。一般にプログラム・モジュール４２は、本明細書に記載されているように、本発明の実施形態の機能、方法論またはそれらの組合せを行う。
【０１２８】
コンピュータ・システム／サーバ１２はまた、キーボード、標示デバイス、ディスプレイ２４などの１つまたは複数の外部デバイス１４、ユーザがコンピュータ・システム／サーバ１２とやり取りすることを可能にする１つまたは複数のデバイス、コンピュータ・システム／サーバ１２が１つまたは複数の他のコンピューティング・デバイスとやり取りすることを可能にする任意のデバイス（例えばネットワーク・カード、モデムなど）、またはそれらの組合せとやり取りすることがある。そのようなやり取りを、入出力（Ｉ／Ｏ）インターフェース２２を介して発生させることができる。さらにまた、コンピュータ・システム／サーバ１２は、ネットワーク・アダプタ２０を介して、ローカルエリア・ネットワーク（ＬＡＮ）、汎用ワイドエリア・ネットワーク（ＷＡＮ）、パブリック・ネットワーク（例えばインターネット）またはそれらの組合せなど、１つまたは複数のネットワークとやり取りすることができる。図に示すように、ネットワーク・アダプタ２０は、バス１８を介して、コンピュータ・システム／サーバ１２の他のコンポーネントとやり取りする。示さないものの、他のハードウェア・コンポーネント、ソフトウェア・コンポーネント、またはそれらの組合せは、コンピュータ・システム／サーバ１２と併せて使用することができることを理解されたい。例としては、以下に限定されないが、マイクロ・コード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、ＲＡＩＤシステム、テープ・ドライブ、およびデータ・アーカイブ記憶システムなどが挙げられる。
【０１２９】
図１１をここで参照すると、説明のためのクラウド・コンピューティング環境５０が図示されている。示されるように、クラウド・コンピューティング環境５０は、１つまたは複数のクラウド・コンピューティング・ノード１０を含み、それらを用いて、例えば、パーソナル・デジタル・アシスタント（ＰＤＡ）や携帯電話５４Ａ、デスクトップ・コンピュータ５４Ｂ、ラップトップ・コンピュータ５４Ｃ、自動車コンピュータ・システム５４Ｎ、またはそれらの組合せなど、クラウド・コンシューマによって使用されるローカル・コンピューティング・デバイスが、やり取りしてもよい。ノード１０は、互いにやり取りしてもよい。それらは、本明細書の上記に記載されるようなプレイベート・クラウド、コミュニティ・クラウド、パブリック・クラウドやハイブリッド・クラウドなど、１つまたは複数のネットワークで、物理的または仮想的にグループ化されてもよい。これによって、クラウド・コンピューティング環境５０は、インフラストラクチャ、プラットフォーム、ソフトウェア、またはそれらの組合せをサービスとして提供し、該サービスのために、クラウドのコンシューマは、ローカル・コンピューティング・デバイス上にリソースを維持する必要がない。図１１に示されるコンピューティング・デバイス５４Ａ〜Ｎの型は、説明に過ぎないことを意図するものであること、およびコンピューティング・ノード１０およびクラウド・コンピューティング環境５０は、任意の型のネットワーク、ネットワークでアドレス指定が可能な接続、またはそれらの組合せにわたって、コンピュータ化された任意の型のデバイスとやり取りすることができる（例えば、ウェブ・ブラウザを使用して）ことが理解される。
【０１３０】
図１２をここで参照すると、クラウド・コンピューティング環境５０（図１１）によって提供される一連の機能的な抽象レイヤが示されている。図１２に示されるコンポーネント、レイヤ、および機能は、説明に過ぎないことを意図するものであって、本発明の実施形態は、それに限定されないということが予め理解されるべきである。図に示されるように、以下のレイヤおよび対応する機能が提供される。
【０１３１】
ハードウェアおよびソフトウェアレイヤ６０は、ハードウェアおよびソフトウェアのコンポーネントを含む。ハードウェア・コンポーネントの例としては、メインフレーム、ＲＩＳＣ（縮小命令セットコンピュータ）アーキテクチャに基づくサーバ、記憶デバイス、ネットワーク、およびネットワーキング・コンポーネントが挙げられる。いくつかの実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェアを含む。
【０１３２】
仮想化レイヤ６２は、抽象レイヤを提供し、該抽象レイヤから、以下の仮想のエンティティの例が提供される。すなわち、仮想サーバ、仮想記憶装置、仮想プライベート・ネットワークを含めた仮想ネットワーク、仮想アプリケーションとオペレーティング・システム、および仮想クライアントである。
【０１３３】
一例として、管理レイヤ６４は、以下に記載される機能を提供してもよい。リソース供給によって、コンピューティング・リソースと、クラウド・コンピューティング環境内でタスクを実施するのに利用される他のリソースとを動的に調達することが可能になる。計測および価格設定することによって、クラウド・コンピューティング環境内でリソースを利用すれば費用の追跡が可能になり、これらのリソースの消費を請求書または送り状で処理することが可能になる。一例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでいてもよい。セキュリティによって、データおよび他のリソースの保護ばかりか、クラウドのコンシューマおよびタスクの識別情報確認が可能になる。ユーザのポータルによって、コンシューマおよびシステム管理者は、クラウド・コンピューティング環境にアクセスすることが可能になる。サービスレベルの管理によって、求められるサービスレベルに見合うように、クラウド・コンピューティング・リソースを割り当ておよび管理することが可能になる。サービスレベル合意書（ＳＬＡ）の立案および履行によって、クラウド・コンピューティング・リソースの事前配置および調達が可能になり、そのリソースに関して将来必要となることが、ＳＬＡに従って予期される。
【０１３４】
ワークロード・レイヤ６６は、機能性の例を提供し、その機能性に、クラウド・コンピューティング環境が利用されることがある。このレイヤから提供されることがあるワークロードおよび機能の例としては、地図作成とナビゲーション、ソフトウェア開発とライフサイクル管理、仮想教室教育の配信、データ解析処理、トランザクション処理、および分類モデル学習処理が挙げられる。
【０１３５】
具体的な実施形態では、クラウド環境でのサービスとして、本明細書に記載される実施形態に従って分類モデル学習処理を実装する、コンピュータ・プログラム・プロダクトまたはソフトウェアが提供される。具体的な実施形態では、ニューラル・ネットワークに基づく分類モデルの上述の学習プロセスは、クラウド・コンピューティング環境にて実施されてもよい。
【０１３６】
コンピュータ・プログラムの実装
本願の発明は、コンピュータ・システム、方法、コンピュータ・プログラム・プロダクトまたはそれらの組合せとしてもよい。コンピュータ・プログラム・プロダクトは、コンピュータ読み取り可能な記憶媒体（または複数の媒体）を含んでいてもよく、該記憶媒体は、プロセッサが本願の発明の態様を実施するためのコンピュータ読み取り可能なプログラム命令をその上に有する。
【０１３７】
コンピュータ読み取り可能な記憶媒体は、命令実行デバイスが使用するための命令を保持および格納することができる、実体のあるデバイスとすることができる。コンピュータ読み取り可能な記憶媒体は、例えば、以下に限定されないが、電子記憶デバイス、磁性記憶デバイス、光学記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、または先に述べたものの適切な組合せとしてもよい。コンピュータ読み取り可能な記憶媒体のさらに具体的な例を非排他的に列挙すると、携帯可能なコンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用のメモリ（ＲＯＭ）、消去可能かつプログラミング可能な読み取り専用のメモリ（ＥＰＲＯＭもしくはフラッシュ・メモリ）、静的ランダム・アクセス・メモリ（ＳＲＡＭ）、携帯可能かつコンパクト・ディスクの読み取り専用のメモリ（ＣＤ−ＲＯＭ）、デジタル多目的ディスク（ＤＶＤ）、メモリディスク、フロッピーディスク、命令が記録されたパンチカードや溝に浮き彫りされた構造などの物理的にコードされたデバイス、または先に述べたものの任意の適切な組合せが挙げられる。コンピュータ読み取り可能な記憶媒体は、本明細書に使用されるように、ラジオ波または自由に伝播する他の電磁波、導波管または他の伝送媒体を通じて伝播する電磁波（例えば、光ファイバ・ケーブルを通過する光パルス）や、ワイヤを通じて伝送される電気信号など、それ自体で一時的な信号であるものと解されない。
【０１３８】
本明細書に記載されるコンピュータ読み取り可能なプログラム命令は、ネットワークを介して、例えば、インターネット、ローカルエリア・ネットワーク、ワイドエリア・ネットワーク、ワイヤレス・ネットワーク、またはそれらの組合せを介して、コンピュータ読み取り可能な記憶媒体からそれぞれのコンピューティング／処理デバイスに、または外部コンピュータもしくは外部記憶デバイスに、ダウンロードすることができる。ネットワークは、銅製の伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルーター、ファイヤーウォール、スイッチ、ゲートウェイ・コンピュータ、エッジ・サーバ、またはそれらの組合せを含んでいてもよい。各コンピューティング／処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、コンピュータ読み取り可能なプログラム命令をネットワークから受け取り、コンピュータ読み取り可能な記憶媒体に記憶するためのコンピュータ読み取り可能なプログラム命令を各コンピューティング／処理デバイス内で転送する。
【０１３９】
本願の発明のオペレーションを行うためのコンピュータ読み取り可能なプログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）、機械語命令、機械語依存的な命令、マイクロ・コード、ファームウェア命令、状態設定データ、または１つもしくは複数のプログラミング言語の任意の組合せで書かれたソース・コードおよびオブジェクト・コードのどちらかであってもよく、そのようなプログラム言語としては、Ｓｍａｌｌｔａｌｋ（登録商標）、Ｃ＋＋などのオブジェクト指向のプログラミング言語、および“Ｃ”プログラミング言語や類するプログラミング言語など、既存の手続き型プログラミング言語が挙げられる。コンピュータ読み取り可能なプログラム命令は、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上で部分的に、スタンドアローン・ソフトウェア・パッケージとして、ユーザのコンピュータ上で部分的におよびリモート・コンピュータ上で部分的に、またはリモート・コンピュータもしくはサーバで全体的に、実行されてもよい。後者の大筋では、リモート・コンピュータは、任意の型のネットワークを介してユーザ・コンピュータへ接続されてもよく、そのようなネットワークとしては、ローカルエリア・ネットワーク（ＬＡＮ）またはワイドエリア・ネットワーク（ＷＡＮ）が挙げられる。あるいは、当該接続は、外部のコンピュータへ（例えば、インターネット・サービス・プロバイダを使用してインターネットを通じて）作成されてもよい。いくつかの実施形態では、本願の発明の態様を実施するために、電子回路、例えば、プログラム可能な論理回路、現場でプログラム可能なゲート・アレイ（ＦＰＧＡ）またはプログラム可能な論理アレイ（ＰＬＡ）などが、コンピュータ読み取り可能なプログラム命令の状態情報を利用することによって、コンピュータ読み取り可能なプログラム命令を実行して、該電子回路を個人用に設定してもよい。
【０１４０】
本願の発明の態様は、本発明の実施形態による方法、装置（システム）およびコンピュータ・プログラム・プロダクトのフローチャート図、ブロック図またはそれらの組合せを参照して本明細書に記載されている。フローチャート図、ブロック図またはそれらの組合せの各ブロック、ならびに該フローチャート図、該ブロック図またはそれらの組合せのブロックの組合せは、コンピュータ読み取り可能なプログラム命令によって実装することができることが理解されよう。
【０１４１】
これらのコンピュータ読み取り可能なプログラム命令を、汎用コンピュータ、専用コンピュータ、または他のプログラミング可能なデータ処理装置のプロセッサに提供して機械を生成してもよく、その結果、その命令は、コンピュータまたは他のプログラミング可能なデータ処理装置を介して実行され、フローチャート、ブロック図またはそれらの組合せの１つもしくは複数のブロックに指定された機能／役割を実装するための手段を作り出す。これらのコンピュータ読み取り可能なプログラム命令はまた、コンピュータ、プログラミング可能なデータ処理装置、または他のデバイスを指示することができるコンピュータ読み取り可能な媒体中に格納されて、具体的な仕様で機能する場合もあり、その結果、命令が中に格納されたコンピュータ読み取り可能な媒体は、フローチャート、ブロック図またはそれらの組合せの１つもしくは複数のブロックに指定された機能／役割の態様を実装する命令を含む、製品を含む。
【０１４２】
コンピュータ読み取り可能なプログラム命令はまた、コンピュータ、他のプログラミング可能なデータ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラミング可能な装置または他のデバイスで実施される一連のオペレーションのステップを引き起こして、コンピュータに実装されるプロセスを生成してもよく、その結果、コンピュータまたは他のプログラミング可能な装置で実行される命令は、フローチャート、ブロック図またはそれらの組合せの１つもしくは複数のブロックに指定された機能／役割を実装する。
【０１４３】
図中のフローチャートおよびブロック図は、本願の発明の様々な実施形態による、ありうるシステム、方法およびコンピュータ・プログラム・プロダクトの実装に関するアーキテクチャ、機能性およびオペレーションを説明している。この点、フローチャートまたはブロック図のそれぞれのブロックは、モジュール、セグメント、または命令の一部を表すことがあり、それらは、指定された論理関数を実装するための、１つまたは複数の実行可能な命令を含む。いくつかの代替の実現例では、ブロックに記述された関数は、図に記述された順序を外れて発生しうる。例えば、連続して示された２つのブロックが、実際には、ほぼ同時に実行されてもよいし、時には、当該ブロックは、含まれる機能性に応じて、逆の順番で実行されてもよい。ブロック図とフローチャート図とのどちらかまたはその両方の各ブロック、および該ブロック図と該フローチャート図とのどちらかまたはその両方のブロックの組合せは、指定された関数または動作を実施する専用のハードウェアベースのシステムによって実装されるか、または、専用のハードウェアおよびコンピュータ命令の組合せを実施することができることもまた留意されよう。
【０１４４】
本明細書で使用される用語は、具体的な実施形態を記載するためのみのものであり、本発明を限定することを意図するものではない。本明細書で使用される際に、単数形“ａ”、“ａｎ”、および“ｔｈｅ”は、文脈が明らかに他を示さない限り、同様に複数形を含むことを意図する。本明細書で使用される際に、用語“含む”、“含んでいる”、またはそれら両方は、記述された特徴、整数、ステップ、操作、要素、またはコンポーネント、またはこれらのいかなる組合せの存在を指定するものであって１つまたは複数の他の特徴、整数、ステップ、操作、要素、コンポーネントまたはそれらのグループやこれらのいかなる組合せを排除するものではない。
【０１４５】
添付の特許請求の範囲にある、対応の構造、物、行為、およびあらゆるミーンズまたはステップ・プラス・ファンクションの要素の均等物は、それがあるならば、具体的に特許請求の範囲にあるように、特許請求の範囲の他の要素と組み合わせて機能を実行するための任意の構造、物または行為を含むことを意図する。本願の発明の１つまたは複数の態様の記述は、例示および説明の目的のために提示されているのであって、開示された形態に本発明を終始させるものであるとか、本発明を制限するものとかを意図するものではない。
【０１４６】
多くの改変および変形は、記載される実施形態の範囲および趣旨を逸脱することなく、当業者にとって明らかとなろう。本明細書に使用される用語は、本実施形態の原理、実際的な適用、または市場に見出される技術を超える技術的な向上を、最適に説明するために、および本明細書に開示される実施形態を他の当業者が理解することを可能にするために、選択されたものである。
【図１】
0006678930.tif 000007
【図２】
0006678930.tif 000008
【図３】
0006678930.tif 000009
【図４】
0006678930.tif 000010
【図５】
0006678930.tif 000011
【図６】
0006678930.tif 000012
【図７】
0006678930.tif 000013
【図８】
0006678930.tif 000014
【図９】
0006678930.tif 000015
【図１０】
0006678930.tif 000016
【図１１】
0006678930.tif 000017
【図１２】
0006678930.tif 000018