(57)【要約】      （修正有）【課題】トレーニングおよび分類のために、演算上のオーバーヘッドを増加させることなく分類の精度を高める。【解決手段】各トレーニング・データは、トレーニング入力と、そのトレーニング入力に割り当てられた１つまたは複数の正しいラベルとを有する。分類モデルは、複数の隠れユニットと、複数の出力ユニットとを有する。分類モデルへの入力に対し共に出現することが予想される共起ラベルの組合せをリスティングされるＳ１０１。分類モデルは、上記組合せに対して、複数の隠れユニットから専用ユニットを準備して、複数の出力ユニットのうち該専用ユニットに接続され、かつ、上記組合せの各共起ラベルに対応する複数の関連の出力ユニットを共に活性化させるように初期化されるＳ１０３。さらに、１つまたは複数のトレーニング・データを使用して、分類モデルがトレーニングされるＳ１０４。【選択図】図４
2017049684.tif 000002
【特許請求の範囲】
【請求項１】
トレーニング入力と、前記トレーニング入力に割り当てられた１つまたは複数の正しいラベルとをそれぞれが有する、１つまたは複数のトレーニング・データを使用して、複数の隠れユニットおよび複数の出力ユニットを有する分類モデルを学習する、コンピュータ実装方法であって
前記分類モデルへの入力に対し共に出現することが予想される共起ラベルの組合せを取得することと、
前記組合せに対し、前記複数の隠れユニットから専用ユニットを準備して、前記複数の出力ユニットのうち、前記専用ユニットに接続され、かつ、前記組み合わせの各共起ラベルに対応する複数の関連の出力ユニットを、共に活性化させるように、前記分類モデルを初期化することと、
前記１つまたは複数のトレーニング・データを使用して、前記分類モデルをトレーニングすることと
を含む、コンピュータ実装方法。
【請求項２】
前記専用ユニットは、関連の各出力ユニットと接続されており、各接続は、前記専用ユニットと、前記関連の出力ユニット以外の残りの出力ユニットとの間の他の接続よりも、および前記複数の隠れユニットのうち残りの隠れユニットの少なくとも一部と、前記関連の出力ユニットを含む前記複数の出力ユニットとの間の他の接続よりも、強い値を用いて初期化される、請求項１に記載の方法。
【請求項３】
前記複数の隠れユニットは、１つまたは複数の隠れレイヤを形成し、前記複数の出力ユニットは、出力レイヤを形成し、前記分類モデルの前記初期化は、
前記出力レイヤと、前記出力レイヤの下の隠れレイヤとの間の重みマトリックスを初期化すること
を含み、前記重みマトリックスは、共起ラベルの組合せ用の専用行と、前記専用行以外の残りの行とを有し、前記専用行は、各共起ラベルにそれぞれが対応する列を有し、前記列は、前記組合せ内の前記共起ラベルに対応する列以外の前記専用行中の残りのどの列よりも、および前記残りの行中の他の列よりも、強い値を用いて初期化される、請求項１に記載の方法。
【請求項４】
前記値は、接続のための上限値または正規化された初期化のための上界値である、請求項２に記載の方法。
【請求項５】
前記値は、前記１つまたは複数のトレーニング・データに出現した前記組合せの頻度に基づいて変化する、請求項２に記載の方法。
【請求項６】
前記値は、前記１つまたは複数のトレーニング・データに出現した前記組合せの頻度に基づいて変化する、請求項に３記載の方法。
【請求項７】
前記分類モデルの初期化は、
ゼロの値で、前記専用ユニットと、残りの出力ユニットとの間の接続を準備することと、
無作為な初期化を用いて、前記複数の隠れユニットのうち残りの隠れユニットの少なくとも一部を準備することと
を含む、請求項２に記載の方法。
【請求項８】
前記共起ラベルを取得することは、
前記１つまたは複数のトレーニング・データで共に起こった複数の組合せをリストすることと、
前記１つまたは複数のトレーニング・データ中の各組合せに関連する出現の頻度に基づいて前記複数の組合せからサブセットを選択することと
を含む、請求項１に記載の方法。
【請求項９】
前記トレーニング入力は、自然文の形態または自然文の表現のクエリであり、正しいラベルのそれぞれは、前記クエリに対する解を有するドキュメントを識別するドキュメント識別子であり、前記分類モデルは、自然言語クエリ分類タスクを実施する、請求項１に記載の方法。
【請求項１０】
前記トレーニング入力は、自然文の形態または自然文の表現のテキストであり、正しいラベルのそれぞれは、前記テキストに割り当てられた属性であり、前記分類モデルは、テキスト分類タスクを実施する、請求項１に記載の方法。
【請求項１１】
トレーニング後の前記専用ユニットはさらに、前記組合せ内の共起ラベルに関し対応する関連の前記出力ユニットを同時に活性化させる、請求項１の方法。
【請求項１２】
トレーニング入力と、前記トレーニング入力に割り当てられた１つまたは複数の正しいラベルとをそれぞれが有する、１つまたは複数のトレーニング・データを使用して、分類モデルを学習し、前記分類モデルが、複数の隠れユニットおよび複数の出力ユニットを有する、コンピュータ実装方法であって、
前記１つまたは複数のトレーニング・データに共に出現した共起ラベルの組合せをリストすることと、
前記組合せに対し専用ユニットを準備しつつ、前記分類モデルを初期化することと、
前記１つまたは複数のトレーニング・データを使用して、前記分類モデルをトレーニングすることと
を含み、前記専用ユニットは、前記組合せの各共起ラベルにそれぞれが対応する、複数の関連の出力ユニットと接続を有し、各接続は、残りの出力ユニットとの他の接続よりも、および前記複数の隠れユニットのうち残りの隠れユニットの少なくとも一部と、前記関連の出力ユニットを含めた複数の出力ユニットとの間の他の接続よりも、強い値を用いて初期化される、コンピュータ実装方法。
【請求項１３】
トレーニング入力と、前記トレーニング入力に割り当てられた１つまたは複数の正しいラベルとをそれぞれが有する、１つまたは複数のトレーニング・データを使用して、複数の隠れユニットおよび複数の出力ユニットを有する分類モデルを学習する、コンピュータ・システムであって、
前記分類モデルへの入力について共に出現したことが予想される共起ラベルの組合せを取得するように構成された、リスティング・モジュールと、
前記組合せに対し、前記複数の隠れユニットからの専用ユニットを準備して、複数の前記出力ユニットのうち前記専用ユニットに接続され、かつ前記組合せの各共起ラベルに対応する複数の関連の出力ユニットを共に活性化させるように、前記分類モデルを初期化する、初期化モジュールと、
前記１つまたは複数のトレーニング・データを使用して、前記分類モデルをトレーニングするように構成される、トレーニング・モジュールと、
を含む、コンピュータ・システム。
【請求項１４】
前記専用ユニットは、関連の各出力ユニットと接続されており、各接続は、前記専用ユニットと、前記関連の出力ユニット以外の残りの出力ユニットとの間の他の接続よりも、および前記複数の隠れユニットのうち残りの隠れユニットの少なくとも一部と、前記関連の出力ユニットを含む前記複数の出力ユニットとの間の他の接続よりも、強い値を用いて初期化される、請求項１３に記載のコンピュータ・システム。
【請求項１５】
前記複数の隠れユニットは、１つまたは複数の隠れレイヤを形成し、前記複数の出力ユニットは、出力レイヤを形成し、前記初期化モジュールは、
前記出力レイヤと、前記出力レイヤの下の隠れレイヤとの間の重みマトリックスを初期化するように
さらに構成され、前記重みマトリックスは、前記共起ラベルの組合せ用の専用行と、前記専用行以外の残りの行とを有し、前記専用行は、各共起ラベルにそれぞれが対応する列を有し、前記列は、前記組合せ内の前記共起ラベルに対応する列以外の前記専用行中の残りのどの列よりも、および前記残りの行中の他の列よりも、強い値を用いて初期化される、請求項１３に記載のコンピュータ・システム。
【請求項１６】
前記値は、接続のための上限値または正規化された初期化のための上界値である、請求項１４に記載のコンピュータ・システム。
【請求項１７】
前記値は、前記１つまたは複数のトレーニング・データに出現した組合せの頻度に基づいて変化する、請求項１４に記載のコンピュータ・システム。
【請求項１８】
前記初期化モジュールは、
ゼロの値で、前記専用ユニットと、残りの入力ユニットとの間の接続を準備するように、および
無作為な初期化を用いて、前記複数の隠れユニットのうち残りの隠れユニットの少なくとも一部を準備するように
さらに構成される、請求項１３に記載のコンピュータ・システム。
【請求項１９】
前記リスティング・モジュールは、
前記１つまたは複数のトレーニング・データで共起されたラベルの複数の組合せをリストするように、および
前記１つまたは複数のトレーニング・データ中の各組合せに関連する出現の頻度に基づいて前記複数の組合せからサブセットを選択するように
さらに構成される、請求項１３に記載のコンピュータ・システム。
【請求項２０】
クラウド・コンピューティング環境で提供される、請求項１３に記載のコンピュータ・システム。
【請求項２１】
トレーニング入力と、前記トレーニング入力に割り当てられた１つまたは複数の正しいラベルとをそれぞれが有する、１つまたは複数のトレーニング・データを使用してプログラム命令を実行することによって、分類モデルを学習し、前記分類モデルが、複数の隠れユニットおよび複数の出力ユニットを有する、コンピュータ・システムであって、
前記プログラム命令を実体的に格納するメモリと、
前記メモリと通信するプロセッサと
を含み、
前記分類モデルへの入力に対し、共に出現することが予想される共起ラベルの組合せを取得し、
前記組合せに対し、前記複数の隠れユニットから専用ユニットを準備して、前記複数の出力ユニットのうち、前記専用ユニットに接続され、かつ前記組合せの各共起ラベルに対応する複数の関連の出力ユニットを共に活性化させるよう、前記分類モデルを初期化し、および
前記１つまたは複数のトレーニング・データを使用して、前記分類モデルをトレーニングするように
構成された、コンピュータ・システム。
【請求項２２】
トレーニング入力と、前記トレーニング入力に割り当てられた１つまたは複数の正しいラベルとをそれぞれが有する、１つまたは複数のトレーニング・データを使用して分類モデルを学習し、前記分類モデルが、複数の隠れユニットおよび複数の出力ユニットを有する、コンピュータ・プログラムであって、それをもって具現化されたプログラム命令を有し、前記プログラム命令が、
前記分類モデルへの入力に対し出現することが予想される共起ラベルの組合せを取得すること、
前記組み合わせに対し、前記複数の隠れユニットから専用ユニットを準備して、前記複数の出力ユニットのうち、前記専用ユニットに接続され、かつ前記組合せの各共起ラベルに対応する関連の出力ユニットを共に活性化させるよう、分類モデルを初期化すること、および
前記１つまたは複数のトレーニング・データを使用して、前記分類モデルをトレーニングすること
を含むコンピュータ実装方法を前記コンピュータに実施させるように、コンピュータによって実行可能である、コンピュータ・プログラム。
【請求項２３】
前記専用ユニットは、関連の各出力ユニットと接続されており、各接続は、前記専用ユニットと、前記関連の出力ユニット以外の残りの出力ユニットとの間の他の接続よりも、および前記複数の隠れユニットのうち残りの隠れユニットの少なくとも一部と、前記関連の出力ユニットを含む複数の出力ユニットとの間の他の接続よりも、強い値を用いて初期化される、請求項２２に記載のコンピュータ・プログラム。
【請求項２４】
前記値は、前記１つまたは複数のトレーニング・データに出現した組合せの頻度に基づいて変化する、請求項２３に記載のコンピュータ・プログラム。
【請求項２５】
前記共起ラベルの組合せを取得することは、
前記１つまたは複数のトレーニング・データで共起された複数の組合せをリストすること、および
前記１つまたは複数のトレーニング・データ中の各組合せに関連する出現の頻度に基づいて前記複数の組合せからサブセットを選択すること
を含む、請求項２２に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願の発明は、概して、機械学習に関し、さらに具体的には、分類モデルを学習するための方法、コンピュータ・システムおよびコンピュータ・プログラムに関する。
【背景技術】
【０００２】
ニューラル・ネットワークに基づくアプローチは、分類タスクに広く使用されている。クエリへの解を有するドキュメントを読み出すタスクは、自然言語クエリ（ＮＬＱ）分類タスクとして見ることができる。ＮＬＱ分類タスクについては、クエリと、そのクエリに対する解を含むドキュメントを特定する正しいドキュメント・ラベルとのペアが、分類モデルをトレーニングするために使用される。トレーニングされた分類モデルは、新しい初見のクエリに対する適切なドキュメント・ラベルを検出することができ、それは、そのトレーニングされたモデルおよび新しいクエリの特徴を使用することによって行われる。
【０００３】
トレーニング・クエリのいくつかの部分は、トレーニング・クエリの単一のインスタンスについて複数のラベルを持ちうる。すなわち、ラベルの共発生が起こりうる。そのため、ＮＬＱ分類タスクは本来、マルチラベル分類を要し、このマルチラベル分類では、複数のラベルをトレーニング・クエリの単一のインスタンスに割り当てることができ、新しいクエリについて複数のラベルを予測することができる。そのようなマルチラベル分類では、ラベル間の依存性および関係を考慮に入れる必要がある。ニューラル・ネットワークは、マルチラベル分類に使用することができ、誤差逆伝搬マルチラベル学習（ＢＰ−ＭＬＬ）としても知られる。最近、効率的なテキスト分類のために、ＢＰ−ＭＬＬのペアワイズ・ランキング損失を、クロス・エントロピー誤差関数で置き換えることが提案されている（Ｊ．Ｎａｍら、Ｌａｒｇｅ−ｓｃａｌｅ  Ｍｕｌｔｉ−ｌａｂｅｌ  Ｔｅｘｔ  Ｃｌａｓｓｉｆｉｃａｔｉｏｎ−Ｒｅｖｉｓｉｔｉｎｇ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ．、  Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  Ｅｕｒｏｐｅａｎ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ  ａｎｄ  Ｐｒｉｎｃｉｐｌｅｓ  ａｎｄ  Ｐｒａｃｔｉｃｅ  ｏｆ  Ｋｎｏｗｌｅｄｇｅ  Ｄｉｓｃｏｖｅｒｙ  ｉｎ  Ｄａｔａｂａｓｅｓ  （ＥＣＭＬ／ＰＫＤＤ）、４３７−４５２頁、２０１４年）。
【０００４】
しかし、分類モデルの学習に際し、ラベル共起性情報をより直接的に利用することができる既知の手法はない。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｊ．Ｎａｍら、Ｌａｒｇｅ−ｓｃａｌｅ  Ｍｕｌｔｉ−ｌａｂｅｌ  Ｔｅｘｔ  Ｃｌａｓｓｉｆｉｃａｔｉｏｎ−Ｒｅｖｉｓｉｔｉｎｇ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ，  Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  Ｅｕｒｏｐｅａｎ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ  ａｎｄ  Ｐｒｉｎｃｉｐｌｅｓ  ａｎｄ  Ｐｒａｃｔｉｃｅ  ｏｆ  Ｋｎｏｗｌｅｄｇｅ  Ｄｉｓｃｏｖｅｒｙ  ｉｎ  Ｄａｔａｂａｓｅｓ（ＥＣＭＬ／ＰＫＤＤ）、４３７〜４５２頁、２０１４年
【発明の概要】
【発明が解決しようとする課題】
【０００６】
求められているのは、分類モデルを学習するための方法、関連付けられるコンピュータ・システムおよびコンピュータ・プログラムであり、それらは、ラベル共起性情報を利用することによって、トレーニングおよび分類のための演算上のオーバーヘッドを増加させることなく、分類の精度を高めることができる。
【課題を解決するための手段】
【０００７】
本願の発明の実施形態によれば、１つまたは複数のトレーニング・データを使用して、分類モデルを学習するための方法が提供される。各トレーニング・データは、トレーニング入力と、該トレーニング入力に割り当てられた１つまたは複数の正しいラベルとを有する。分類モデルは、複数の隠れユニットと、複数の出力ユニットとを有する。本法は、分類モデルへの１の入力に対し共に出現することが予想される、共起ラベルの組合せを取得することを含む。本法はまた、上記組合せに対して複数の隠れユニットから専用ユニットを準備しつつ、分類モデルを初期化することを含み、その準備は、複数の出力ユニットのうち上記専用ユニットに接続された複数の関連の出力ユニットを共に活性化させるように行い、ここで、関連する各出力ユニットは、上記組合せにおける各共起ラベルに対応する。また、本法は、１つまたは複数のトレーニング・データを使用して、分類モデルをトレーニングすることを含む。
【０００８】
本願の発明の実施形態によれば、共起マルチラベルの情報は、分類モデルの複雑性を変えることなく、分類モデルに埋め込まれることにより、演算上のオーバーヘッドを増加させることなく、分類の精度を高めることができる。
【０００９】
本願の発明による好適な実施形態では、専用ユニットは、関連の各出力ユニットと接続されており、関連の各出力ユニットとのそれぞれの接続は、専用ユニットと、関連の出力ユニット以外の残りの出力ユニットとの間の他のどの接続よりも、および複数の隠れユニットのうち残りの隠れユニットの少なくとも一部と、関連の出力ユニットを含む複数の出力ユニットとの間の他のどの接続よりも、強力な値を用いて初期化される。好適な実施形態によれば、共起マルチラベルの情報は、分類モデルのトポロジーを変えることなく、専用ユニット用の接続の初期値に埋め込むことができる。
【００１０】
本願の発明による他の好適な実施形態では、１つまたは複数のトレーニング・データに出現した組合せの頻度に基づき、上記値が変化する。他の好適な実施形態によれば、１つまたは複数のトレーニング・データに出現した特定の組合せの頻度を、初期化接続に際して考慮に入れることができる。
【００１１】
本願の発明によるさらに他の好適な実施形態では、共起ラベルの組合せの取得は、１つまたは複数のトレーニング・データで共起したラベルの複数の組合せをリストすることと、１つまたは複数のトレーニング・データ中の各組合せに関連する出現の頻度に基づき、複数の組合せの中からサブセットを選択することとを含む。さらに他の好適な実施形態によれば、比較的よくある組合せは、組合せの数が増えたとしても優先的な方式で埋め込むことができきる。
【００１２】
本願の発明による任意選択の実施形態では、トレーニング入力は、自然文の形または自然文の表現のクエリであり、それぞれの正しいラベルは、クエリに対する解を有したドキュメントを特定する、ドキュメントの識別子である。そのため、分類モデルは、自然言語クエリ分類タスクを有効に実施することができる。
【００１３】
本願の発明による他の任意選択の実施形態では、トレーニング入力は、自然文の形または自然文の表現のテキストであり、それぞれの正しいラベルは、テキストに割り当てられた属性である。そのため、分類モデルはテキスト分類タスクを有効に実施することができる。
【００１４】
本願の発明の１つまたは複数の態様に関連するコンピュータ・システムおよびコンピュータ・プログラムもまた、記載されており、本明細書に請求されている。
【００１５】
本願の発明の他の実施形態によれば、１つまたは複数のデータを使用して、分類モデルを学習するための方法が提供される。各トレーニング・データは、トレーニング入力と、該トレーニング入力に割り当てられた１つまたは複数の正しいラベルとを有する。分類モデルは、複数の隠れユニットと複数の出力ユニットとを有する。本法は、１つまたは複数のトレーニング・データに共に出現した共起ラベルの組合せをリストすることを含む。本法はまた、上記組合せに対し専用ユニットを準備しつつ、分類モデルを初期化することを含み、そこでは、専用ユニットは、複数の関連の出力ユニットと接続を有し、各出力ユニットは、上記組合せにおける各共起ラベルに対応し、各接続は、残りの出力ユニットとの他の接続よりも、および複数の隠れユニットのうち残りの隠れユニットの少なくとも一部と、上記複数の関連の出力ユニットを含む複数の出力ユニットとの間の他の接続よりも、強力な値を用いて初期化される。また、本法は、１つまたは複数のトレーニング・データを使用して、分類モデルをトレーニングすることを含む。
【００１６】
他の実施形態によれば、共起マルチラベルの情報は、分類モデルのトポロジーを変えることなく、専用ユニット用の接続の初期値に埋め込まれ、それによって、トレーニングと分類の双方について演算上のオーバーヘッドを増加させることなく、分類の精度を高めることができる。
【００１７】
追加の特徴および利点は、本願の発明の技術を通じて理解される。本発明の他の実施形態および態様は、本明細書に詳細に記載され、特許請求される本発明の一部とみなされる。
【図面の簡単な説明】
【００１８】
【図１】情報読み出しシステムに基づく自然言語クエリに用いる分類モデルの概略図であり、該システムでは、複数のドキュメント・ラベルを、トレーニング・クエリの単一のインスタンスに割り当てることができる。
【図２】本願の発明の第１の実施形態による、自然言語クエリ分類モデルを組み込んだコンピュータ・システムおよび自然言語クエリ分類モデルに用いる学習システムのブロック図である。
【図３】本願の発明の第１の実施形態による、自然言語クエリ分類モデルのアーキテクチャを表す図である。
【図４】本願の発明の第１の実施形態による、自然言語クエリ分類モデルを学習するためのプロセスを描いたフローチャートである。
【図５】本願の発明の第１の実施形態による、最上位の隠れレイヤと出力レイヤとの間を接続するための重み初期化の概要を表す図である。
【図６】本願の発明の第２の実施形態による、トピック・カテゴライゼーション・モデルと、該トピック・カテゴライゼーション・モデル用の学習システムとを組み込んだコンピュータ・システムのブロック図である。
【図７】本願の発明の第２の実施形態による、トピック・カテゴライゼーション・モデルに基づくニューラル・ネットワークのアーキテクチャを描いた図である。
【図８】本願の発明の代替の実施形態による、分類モデルに基づくニューラル・ネットワークの他の標的されたアーキテクチャを描いた図である。
【図９】トレーニング中の３Ｋデータにおけるトレーニング・エポックに対する分類の精度を示す図である。
【図１０】本願の発明の実施形態による、クラウド・コンピューティング・ノードを描いた図である。
【図１１】本願の発明の実施形態による、クラウド・コンピューティング環境を描いた図である。
【図１２】本願の発明の実施形態による、抽象化モデルのレイヤを描いた図である。
【発明を実施するための形態】
【００１９】
ここで、具体的な実施形態を使用して、本願の発明を記載するが、以降に記載される実施形態は、例として参照されるに過ぎないものとして理解され、本願の発明の範囲を限定することを意図するものではない。本願の発明による１つまたは複数の実施形態は、分類モデルを学習するための方法、コンピュータ・システムおよびコンピュータ・プログラムに向けられている。
【００２０】
クエリに対する解を有するドキュメントを読み出すタスクは、自然言語クエリ（ＮＬＱ）分類タスクとして見ることができる。ＮＬＱでいうところの“日本のどこを訪れるべきか？”は、キーワードに基づくクエリでいうところの“日本の観光”という典型的なＷｅｂサーチエンジンで使用されるものとは区別することができる。ＮＬＱに基づく情報読み出しシステムは、エンド・ユーザにさらに自然なユーザ・エクスペリエンスを提供することができる。
【００２１】
図１を参照すると、ＮＬＱに基づく情報読み出しシステムに用いる分類モデルの概略図が示されている。分類モデル７０をトレーニングするために、トレーニング・クエリと、該クエリに対する解を含むドキュメントを特定する正しいドキュメント・ラベルとのペアが、トレーニング・データ７２として使用される。分類モデル７０は、トレーニング・データ７２を使用することによってトレーニングされ、その結果、トレーニング・クエリおよび新しいクエリの特徴を使用して、新しい未見のクエリ７４に用いる１つまたは複数の適切なドキュメント・ラベル７６を予測する能力を獲得する。
【００２２】
同様のコンテンツを有する複数のドキュメントは、同じクエリに対し適切な解を有することができるため、図１に示すように、トレーニング・データ７２のいくつかの部分は、トレーニング・データ７２の単一のインスタンスに対し複数のラベル（または共起ラベル）を有していてもよい。そのため、本来ＮＬＱ分類タスクは、マルチラベル分類を要する。
【００２３】
マルチラベル分類タスクでは、共起ラベル間の依存性および関係が考慮される必要があり、それらは、二値関連性アプローチでは無視される。そのようなラベル共起性は、例えば、出力レイヤの構造を変えることによって、ニューラル・ネットワークで探索することができる。しかし、出力レイヤの構造を変えることによって、ニューラル・ネットワークの位相的な複雑性が増加することがあり、その結果、トレーニングの間および分類の間のどちらにも、追加的な演算上のオーバーヘッドがもたらされる。
【００２４】
それゆえ、トレーニングおよび分類のための演算上のオーバーヘッドを増加させることなく、ラベル共起情報を利用することによって分類の精度を高めることができる、分類モデルを学習するための方法、コンピュータ・システムおよびコンピュータ・プログラムが求められている。
【００２５】
本願の発明による１つまたは複数の実施形態では、１つまたは複数のトレーニング・データを使用したコンピュータ・システムによって、新規の学習プロセスが実施され、そこでは、分類モデル中の共起ラベルの各組合せ用に専用の隠れユニットを準備することによって、分類モデルが初期化される。それぞれのトレーニング・データは、トレーニング出力と、そのトレーニング出力に割り当てられた１つまたは複数の正しいラベルとを有しうる。分類モデルは、複数の入力ユニットを含む入力レイヤ、１つまたは複数の隠れユニットを含む１つまたは複数の隠れレイヤ、および複数の出力ユニットを含む出力ユニットを有していてもよい。
【００２６】
新規の学習プロセスの間、コンピュータ・システムは、１つまたは複数のトレーニング・データに共に出現したラベルの組合せをリストして、入力用に共に出現することが予想される共起ラベルの組合せを取得する。次いで、コンピュータ・システムは、出力レイヤの全出力ユニット間で上記組合せの各共起ラベルに対応する関連の出力ユニットを共に活性化するように、それぞれの組合せ用に出力レイヤの下の隠れレイヤに専用ユニットを準備しつつ、分類モデルを初期化する。他の態様では、専用ユニットと関連の出力ユニットとの間の各接続は、専用ユニットと、出力レイヤの残りの出力ユニットとの間の他のどの接続よりも、および出力レイヤの残りの隠れユニットと、関連の出力ユニットを含めた複数の出力ユニットとの間の他のどの接続よりも、強力な値を用いて初期化される。次いで、コンピュータ・システムは、ニューラル・ネットワーク用の逆伝搬アルゴリズムなど、標準的な学習アルゴリズムに基づき１つまたは複数のトレーニング・データを使用して、分類モデルをトレーニングする。
【００２７】
ここで、図２から図８の一連を参照すると、本願の発明の１つまたは複数の実施形態による分類モデルを学習するためのコンピュータ・システムおよび方法が示されている。新規の学習技術は、ＮＬＱ分類モデルに特有ではなく、該新規の学習技術は、任意の分類モデルに汎用であり適用可能である。分類モデルによって処理されたデータは、クエリおよびテキストに限定されないことがあり、画像データ、音響音声スピーチデータ、ビデオデータなど任意のデータに拡張することができる。
【００２８】
ここで、図２から図５の一連を参照すると、本願の発明の第１の実施形態による、自然言語クエリ（ＮＬＱ）分類モデルを学習するためのコンピュータ・システムおよび方法が記載される。次いで、図６から図７の一連を参照すると、本願の発明の第２の実施形態による、トピック・カテゴライゼーション（またはテキスト分類）モデルを学習するためのコンピュータ・システムおよび方法が記載される。また、図８を参照すると、本願の発明の代替の実施形態による、汎用ニューラル・ネットワークに基づく分類モデルを学習するためのコンピュータ・システムおよび方法が記載され、そこでは、教師なし事前トレーニングと教師あり微調整とを含む２段階の学習プロセスが、ディープ・ラーニング・アーキテクチャで実施される。
【００２９】
第１の実施形態
図２は、本願の発明の第１の実施形態による、ＮＬＱ分類モデルおよび該ＮＬＱ分類モデルに用いる学習システムを組み込んだコンピュータ・システムのブロック図を示す。
【００３０】
図２に示されるように、コンピュータ・システム１００は、トレーニングされたパラメータ１２０に基づき、入力クエリ１１２を受信して、１つまたは複数の予測ドキュメント・ラベル１１４を出力する、ＮＬＱ分類モデル１１０と；トレーニング・データ１４０に基づき、ＮＬＱ分類モデル１１０の機械学習を実施して、トレーニングされたパラメータ１２０を取得する、ＮＬＱ分類モデル学習システム１３０とを含む。
【００３１】
図３を参照すると、ＮＬＱ分類モデル１１０のアーキテクチャ１５０が図示されている。記載されている実施形態では、ＮＬＱ分類モデル１１０は、ニューラル・ネットワークに基づく分類モデルである。ＮＬＱ分類モデル１１０のアーキテクチャ１５０は、クエリ入力レイヤ１５２、ワード・レイヤ１５４、分散表現レイヤ１５６、最上位の隠れレイヤ１６２、およびラベル予測レイヤ１６４を含むことができる。
【００３２】
分散表現レイヤ１５６と、ラベル予測レイヤ１６４の直下の隠れレイヤである最上位の隠れレイヤ１６２との間には、サブサンプリング・レイヤ１６０を備えた少なくとも１つの畳み込みレイヤ１５８があり、畳み込みニューラル・ネットワーク（ＣＮＮ）を形成する。ＮＬＱ分類モデル１１０は、一連の繰り返しの畳み込みレイヤ１５８およびサブサンプリング・レイヤ１６０を含んでいてもよく、任意選択で最上位の隠れレイヤ１６２の下に完全に接続された１つまたは複数のレイヤがさらに続いていてもよい。
【００３３】
ＮＬＱ分類モデル１１０は、様々な長さのクエリを受け入れる必要があり得る。ＮＬＱ分類モデル１１０は、クエリ入力レイヤ１５２によって、“日本のどこを訪れるべきか？”のような自然文の形で入力クエリを受け取る。入力クエリのワードは、最初に、ストップワードの除去などの適切な前処理に付され、次いで、処理されたワード１５４は、分散表現レイヤ１５６中で分散表現に変換される。畳み込みレイヤ１５８は、ｋフィーチャ・マップを生成するためのｋカーネルを有していてもよい。各フィーチャ・マップは、次いで、サブサンプリングされて、典型的には平均またはマックス・プーリングに付される。時間をかけて畳み込み１５８およびサブサンプリング１６０を適用することによって、固定長のフィーチャ・ベクトルが、分散表現レイヤ１５６から最上位の隠れレイヤ１６２内に抽出される。そして、固定長のフィーチャ・ベクトルは、次いで、ラベル予測レイヤ１６４内に送り込まれて、入力クエリ１１２に対し１つまたは複数のドキュメント・ラベル１１４を予測する。
【００３４】
ラベル予測レイヤ１６４は、予め定義された各ドキュメント・ラベルにそれぞれ対応する複数のユニットを有し、該ドキュメント・ラベルは、クエリに対する解を有するドキュメントを特定するドキュメント識別子である。ドキュメント・ラベルは、トレーニング・データ１４０に出現したラベルとして定義することができる。ラベル予測レイヤ１６４にあるユニットの数は、トレーニング・データ１４０に出現したドキュメント・ラベルの数と同じであってもよい。記載される実施形態では、ラベル共起の組合せに用いる追加のユニットは必要とされない。
【００３５】
ラベル予測レイヤ１６４に使用される損失関数は、マルチラベルを処理することができるかまたはできない公知の損失関数のいずれか１つとすることができ、そのような損失関数としては、以下に限定されないが、好ましくは、負の対数確率、クロス・エントロピー、および二値クロス・エントロピーが挙げられる。
【００３６】
ｘが入力クエリのフィーチャ・ベクトルを指すものとすると、ｙは、ラベルのベクトル表現であり、ｏは、ニューラル・ネットワークの出力値であり、Ｐは、ニューラル・ネットワークのパラメータである。ｙの表現が、損失関数に応じて異なることに留意されたい。簡単にするために、以下の記載では、ラベルＬ＝｛Ｌ１，Ｌ２，Ｌ３｝の有限集合および入力クエリｘは、複数のラベル｛Ｌ１，Ｌ３｝を有するものと仮定する。
【００３７】
負の対数確率：
負の対数確率を最小にすることによって、単一のラベルを仮定する。マルチラベルを処理するために、コピー変換を使用して、２つのトレーニング・データ（（ｘ，ｙ（１））、（ｘ，ｙ（２）））を得ることができ、上式で、ｙ（１）＝（１，０，０）およびｙ（２）＝（０，０，１）である。各トレーニング・データについての損失は、ｌ（Ｐ，（ｘ，ｙ（１）））＝−ｌｏｇ（ｏ１）およびｌ（Ｐ，（ｘ，ｙ（２）））＝−ｌｏｇ（ｏ３）となり、上式では、ソフトマックス活性化を使用して、ラベル予測レイヤ１６４にてｏを算出することができる。
【００３８】
クロス・エントロピー：
マルチラベルを処理するために、マルチラベルを確率分布ｙ＝（０．５，０，０．５）であるものと仮定する。トレーニング・データ（ｘ、ｙ）についてのクロス・エントロピー損失は、ｌ（Ｐ，（ｘ，ｙ））＝−ｙｌｏｇ（ｏ）となり、上式では、ラベル予測レイヤ１６４にてソフトマックス活性化が使用される。
【００３９】
二値クロス・エントロピー：
マルチラベルを操作するために、ラベルをｙ＝（１，０，１）であるものと仮定する。トレーニング例（ｘ，ｙ）についての二値クロス・エントロピー損失は、以下のようになる。
【００４０】
【数１】
2017049684.tif 000003
上式では、ラベル予測レイヤ１６４にてシグモイド活性化を使用する。
【００４１】
典型的には、分散表現レイヤ１５６からラベル予測レイヤ１６４までの構造は、ニューラル・ネットワークとしてトレーニングすることができる。そのため、記載する実施形態では、ニューラル・ネットワークの入力レイヤは、分散表現レイヤ１５６であり、ニューラル・ネットワークの出力レイヤは、ラベル予測レイヤ１６４である。しかし、これは、本願の発明の１つまたは複数の実施形態について可能な設計の一例であって、クエリ入力レイヤ１５２からラベル予測レイヤ１６４までの構造全体は、具体的な他の実施形態では、ニューラル・ネットワークとしてトレーニングすることができる。
【００４２】
図２に戻って参照すると、ＮＬＱ分類モデル学習システム１３０は、本願の発明の第１の実施形態によるＮＬＱ分類モデル１１０を学習するためのプロセスを実施する。ＮＬＱ分類モデル学習システム１３０は、所与のトレーニング・データ１４０を使用して学習プロセスを実施し、ＮＬＱ分類モデル１１０のパラメータを最適化する。
【００４３】
記載されている実施形態では、トレーニング・データ１４０は、トレーニング・データの１つまたは複数のインスタンスを含み、そのそれぞれは、トレーニング入力クエリと、該トレーニング入力クエリに割り当てられた１つまたは複数の正しいドキュメント・ラベルとを有する。トレーニング・データ１４０のいくつかの部分は、入力クエリの単一のインスタンスについて複数の正しいラベルを有していてもよい。ドキュメント・ラベルは、典型的な専門家の人間によって割り当てられていてもよい。トレーニング入力クエリは、ニューラル・ネットワークに基づくＮＬＱ分類モデルのアーキテクチャに応じて、自然文の形または自然文の表現で準備されてもよい。分散表現レイヤ１５６からラベル予測レイヤ１６４までの構造がニューラル・ネットワークとしてトレーニングされた具体的な実施形態では、自然文の形のトレーニング入力クエリは、分散表現レイヤ１５６中の表現に変換されて、ニューラル・ネットワークに用いるトレーニング入力を生じてもよい。
【００４４】
記載されている実施形態では、学習システム１３０は、共起組合せリスティング・モジュール１３２、パラメータ初期化モジュール１３４およびトレーニング・モジュール１３６を含む。
【００４５】
共起組合せリスティング・モジュール１３２は、入力クエリについて共に出現することが予想される共起ラベルの組合せを得るために、トレーニング・データ１４０で共起したラベルをリストするように構成される。好ましい実施形態では、共起組合せリスティング・モジュール１３２は、さらに、リストされた組合せからサブセットを選択するように構成される。サブセットの選択は、所与のトレーニング・データ１４０中の各組合せに関連した出現の頻度に基づき実施されてもよい。頻度は、トレーニング・データ１４０に出現した各組合せの頻度であるＦｒｅｑ（Ｌ１，Ｌ２）、トレーニング・データ１４０に出現した共起ラベルの頻度であるＦｒｅｑ（Ｌ１）、Ｆｒｅｑ（Ｌ２）、およびＦｒｅｑ（Ｌ１，Ｌ２）２／（Ｆｒｅｑ（Ｌ１）＊Ｆｒｅｑ（Ｌ２））などそれらの組合せを含んでいてもよい。比較的よくある共起組合せは、その組合せの数がニューラル・ネットワークのトポロジーのために新規の学習技術のキャパシティを超えたとしても、サブセットを選択することによって、優先的な方式で処理することができる。
【００４６】
パラメータ初期化モジュール１３４は、トレーニングされるべきＮＬＱ分類モデル１１０の全パラメータを初期化する。記載する実施形態では、パラメータ初期化モジュール１３４は、リストまたは選択されたそれぞれの組合せに対し最上位の隠れレイヤ１６２の隠れユニットから各専用ユニットを準備すると共に、ＮＬＱ分類モデル１１０を初期化するように構成される。各専用ユニットは、ラベル予測レイヤ１６４の全出力ユニット間で、上記組合せの共起ラベルに対応する複数の関連の出力ユニットを共に活性化させるように初期化される。
【００４７】
他の態様では、パラメータ初期化モジュール１３４は、専用ユニットと、関連の各出力ユニットとのそれぞれの接続を初期化するように構成され、その際に、専用ユニットと、残りの出力ユニットとの間の他の接続よりも、および最上位の隠れレイヤ１６２中の残りの隠れユニットと、関連の出力ユニットを含む出力ユニットとの間の他の接続よりも強い値を用いて初期化される。新規の初期化は、図３に示される最上位の隠れレイヤ１６２とラベル予測レイヤ１６４との間の重みマトリックスに、共起ラベル情報を埋め込む。
【００４８】
重み値は、一定値とすることも、１つまたは複数のトレーニング・データ１４０に出現した組合せの頻度に基づき変化させることもできる。一定値は、重みについての上限値であっても、他の重みへの正規化された初期化についての上界であってもよい。専用ユニットの割り当てと、それらの重みマトリックスの初期化については、さらに詳細を後述する。
【００４９】
トレーニング・モジュール１３６は、パラメータ初期化モジュール１３４によって初期化されたパラメータに基づき、トレーニング・データ１４０を使用して、ＮＬＱ分類モデル１１０をトレーニングするように構成される。パラメータの初期化後、ＮＬＱ分類モデル１１０をトレーニングするために、逆伝搬アルゴリズムおよびその変形を含む任意の公知のトレーニング・アルゴリズムを使用することができる。トレーニング・モジュール１３６が、損失関数を使用して逆伝搬を実行してもよい。専用ユニットと、全ドキュメント・ラベルに対応する全ての出力ユニットとの間の重みは、逆伝搬を通じて更新されることに留意されたい。
【００５０】
具体的な実施形態では、図２に記載されるモジュールのそれぞれは、コンピュータに実装されてもよいが、ここでは、本願の発明の実施形態によるプログラムコードは、メモリ上にロードされ、プロセッサによって実行される。
【００５１】
図２に示すように、コンピュータ・システム１００は、様々なフィーチャおよび機能を提供するための１つまたは複数のモジュールを含む。これらのモジュールは、ハードウェア、ハードウェア上で実行可能なソフトウェアもしくはファームウェア、またはそれらの組合せに実装されていてもよい。また、これらのモジュールは、例示的なもののみではあるが提示されており、いかなる限定を示唆することを意図するものではない。代替の実施形態は、図２に図説されたものよりも追加のもしくは少数のモジュールを含むか、または、そのモジュールが、様々に構成されていてもよい。さらに、いくつかの実施形態では、いくつかのモジュールの機能性が、複数のモジュールに分けられることがあるか、または、反対に、いくつかのモジュールの機能性が、組み合わされて単一のもしくはより少数のモジュールとされることがあるということを認識するべきである。
【００５２】
図４は、本願の発明の第１の実施形態によるＮＬＱ分類モデルを学習するためのプロセスを描いたフローチャートを示す。図４に示されるように、プロセスは、ステップＳ１００で開始する。図４に示されるプロセスが、所与のトレーニング・データ１４０について、図２に描かれた学習システム１３０によって実施されることに留意されたい。
【００５３】
ステップＳ１０１では、学習システム１３０は、トレーニング・データ１４０を読み出し、解析して、所与のトレーニング・データ１４０に見出される複数の共起組合せをリストする。ステップＳ１０２では、学習システム１３０は、見出される共起組合せから、専用の隠れユニットについてサブセットを選択してもよい。
【００５４】
ステップＳ１０２での処理は、任意選択で実施されてもよい。共起組合せの数が、最上位の隠れレイヤ１６２のユニットの数よりも充分に小さい際には、見出される全ての組合せが、専用の隠れユニットに使用されてもよい。共起組合せの数が、最上位の隠れレイヤ１６２のユニットの数とほぼ等しいか、それよりも多い際には、学習システム１３０は、所与のトレーニング・データ１４０の各組合せに関連した出現の頻度に基づき、ステップＳ１０１に見出された共起組合せからサブセットを選択することができる。その選択によれば、比較的よくある共起組合せは、その組合せの数が最上位の隠れレイヤ１６２の隠れユニットの数を超えたとしても、優先的な方式でニューラル・ネットワーク内に埋め込むことができる。
【００５５】
ステップＳ１０３では、学習システム１３０が、パラメータの初期化によって、ＮＬＱ分類モデル１１０のニューラル・ネットワークをセットアップする。トレーニングされるべきパラメータは、レイヤ間の接続に関連付けられた重みマトリックスと、レイヤに関連付けられたバイアス・ベクトルとを含んでいてもよい。
【００５６】
特にステップＳ１０３Ａでは、学習システム１３０は、最上位の隠れレイヤ１６２とラベル予測レイヤ１６４との間の標的された重みマトリックス以外のパラメータを初期化する。ステップＳ１０３Ｂでは、学習システム１３０は、最上位の隠れレイヤ１６２とラベル予測レイヤ１６４との間の標的された重みマトリックスを初期化する。
【００５７】
図５は、最上位の隠れレイヤ１６２とラベル予測レイヤ１６４との間の接続についての重み初期化の概要を図示している。図５では、｛Ｌ１ａ，Ｌ２ａ｝、｛Ｌ１ｂ，Ｌ２ｂ，Ｌ３ｂ｝、｛Ｌ１ｃ，Ｌ２ｃ｝を含む３つの共起ラベルの組合せが、専用ユニットについて実例としてリストされている。重みマトリックスは、隠れユニットに対応するマトリックス行である｜Ｈ｜と、ドキュメント・ラベルに対応する列である｜Ｌ｜とを有する。図５の左側に示されるように、共起ラベルの各組合せについて、マトリックス行は、各共起ラベルに対応する各列が多少の重みＣを有するよう準備されるように初期化され、他の残りの列は、ゼロと同等の重みを有するように準備される。共起ラベルの各組合せに対応するマトリックス行は、専用行として参照される。
【００５８】
共起ラベルの組合せに関連付けられなかった残りの行は、任意の公知の方法によって初期化されることに留意されたい。記載されている実施形態では、残りの行は、無作為な初期化によって準備される。
【００５９】
この重み初期化は、図５の右側に示されるように、共起ラベルの各組合せに対して専用の各隠れユニットを最上位の隠れレイヤ１６２に準備することと同等であり、そこでは、専用ユニットは、共起ラベルに対応する関連の出力ユニットとの重みＣの接続と、その他のものとの重みゼロの接続とを有する。共起ラベルに対応する列は、残りの列よりも強力なＣを用いて初期化される。これらの専用ニューロンは、組合せの共起ラベルに対応する関連の出力ユニットを、優先的な方式で同時に活性化させることができる。用語“同時に”は、単一のインスタンスの入力のために共に活性化される、２つまたはそれ以上の出力ユニットであるものとして定義され、時間的な限定を加えることを意図するものではないことに留意されたい。
【００６０】
専用の隠れユニットの準備には、ニューラル・ネットワークのアーキテクチャでの追加の出力および隠れユニットを何ら必要としないこと、専用の隠れユニットがあるニューラル・ネットワークとないものとの間でトポロジーを同一とすることができること、および専用ユニットとして準備されたある種の隠れユニットについての初期化された重みのみを異なるものとすることができることに留意されたい。
【００６１】
具体的な実施形態では、重みの値Ｃは、接続についての上限値であってもよく、例えば、範囲−１〜１のうち１．０である。好ましい実施形態では、重みの値Ｃは、残りの行についての正規化された初期化に用いる上界（ＵＢ）であってもよく、ＵＢは、最上位の隠れレイヤ１６２およびラベル予測レイヤ１６４のユニットの数によって決まる。さらに他の好ましい実施形態では、重みの値Ｃは、トレーニング・データ１４０に出現した組合せの頻度に基づき変わることがある。トレーニング・データ１４０に出現した特定の組合せの頻度は、初期化された接続において考慮することができる。背景にある考え方は、頻繁に出現する（すなわち、特定のラベルの組合せを有するクエリの数が大きい）共起ラベルの特定の組合せが、より頻度の低い組合せよりも重要であるということである。特定のラベル共起の組合せが、トレーニング・データにｆ回出現するものと仮定すると、具体的な実施形態では、ｆ×ＵＢおよびｆ１/２×ＵＢを例として使用することができる。
【００６２】
図４に戻って参照すると、ステップＳ１０４で、学習システム１３０は、所与のトレーニング・データ１４０を使用することによって、逆伝搬アルゴリズムに基づき、ＮＬＱ分類モデル１１０のニューラル・ネットワークをトレーニングする。専用ユニットと、全ドキュメント・ラベルに対応する全ての出力ユニットとの間の重みは、ステップＳ１０４でのトレーニングを通じて更新されることに留意されたい。次いで、プロセスは、ステップＳ１０５で終了する。
【００６３】
ＮＬＱ分類モデル１１０の得られたパラメータは、トレーニングされたパラメータ１２０として、適切な記録システムに格納されてもよい。トレーニングされたパラメータ１２０に基づく分類モデル１１０は、新しい入力クエリについて１つまたは複数の適切なドキュメント・ラベルを予測することができる。そのため、トレーニングされたＮＬＱ分類モデルは、自然言語クエリ分類タスクを有効に実施することができる。
【００６４】
トレーニング後の専用ユニットは、さらに、その専用ユニットの初期化された重みが、トレーニング・モジュール１３６によってトレーニングを通じて更新されたとしても、共起ラベルに対応する関連の出力ユニットを同時に活性化させることができる。
【００６５】
図４に示される新規の学習プロセスによれば、共起マルチラベルの情報は、分類モデルの複雑性を変えることなく分類モデル中に埋め込むことができる。トレーニングされた分類モデル１１０は、同じクエリに対する解を有する複数の適切なドキュメントが存在したとしても、新しい入力クエリについて１つまたは複数の適切なドキュメント・ラベルを効率よく予測することができる。
【００６６】
新規の重み初期化の演算は、取るに足らないものであり、逆伝搬の演算およびニューラル・ネットワークのアーキテクチャは、新規の重み初期化の有無の間で変わらない。そのため、トレーニングと分類の両方について、演算上のオーバーヘッドを増加させることなく、ＮＬＱ分類の精度を高めることができる。
【００６７】
また、図４に示される新規の学習プロセスによれば、トレーニング・データ１４０に出現した組合せの頻度に基づいて、値を変化させることができる。そのため、トレーニング・データ１４０に出現した具体的な組合せの頻度を、初期化された接続において考慮に入れることができる。
【００６８】
また、ステップＳ１０２で処理が実施される、図４に示される新規の学習プロセスによれば、比較的よくある共起組合せは、その組合せの数が増えたとしても、優先的な方式で埋め込むことができる。
【００６９】
第２の実施形態
ここで、図６〜７を一通り参照すると、本願の発明の第２の実施形態による、分類モデルを学習するためのコンピュータ・システムおよび方法が記載される。
【００７０】
図６は、本願の発明の第２の実施形態による、トピック・カテゴライゼーション・モデルと該トピック・カテゴライゼーション・モデル用の学習システムとを組み込んだコンピュータ・システムのブロック図を例示する。
【００７１】
図６に示されるように、コンピュータ・システム２００は、トレーニングされたパラメータ２２０に基づき、入力テキスト２１２を受け取って、１つまたは複数のトピック・カテゴリ・ラベル２１４を出力する、トピック・カテゴライゼーション・モデル２１０；およびトレーニング・データ２４０に基づき、トピック・カテゴライゼーション・モデル２１０の機械学習を実施して、トレーニングされたパラメータ２２０を得る、トピック・カテゴライゼーション・モデル学習システム２３０を含む。
【００７２】
図７を参照すると、トピック・カテゴライゼーション・モデル２１０のアーキテクチャ２５０が図示されている。記載されている実施形態では、トピック・カテゴライゼーション・モデル２１０は、ニューラル・ネットワークに基づく分類モデルである。トピック・カテゴライゼーション・モデル２１０のアーキテクチャ２５０は、テキスト入力レイヤ２５２、ワード・レイヤ２５４、ＢＯＷ（ｂａｇ−ｏｆ−ｗｏｒｄｓ）フィーチャ・レイヤ２５６、最上位の隠れレイヤ２５８およびラベル予測レイヤ２６０を含む。
【００７３】
トピック・カテゴライゼーション・モデル２１０はまた、様々な長さのテキストを受け入れるために必要とされることがある。トピック・カテゴライゼーション・モデル２１０は、テキスト入力レイヤ２５２によって、自然文の形で入力テキストを受け取る。入力テキスト中のワードは、まず、ストップワードの除去などの適切な前処理に付され、次いで、処理されたワード２５４は、ＢＯＷフィーチャ・レイヤ２５６にて簡素化された表現に変換される。ＢＯＷでは、文法および語順が無視されてもよい。
【００７４】
ＢＯＷフィーチャ・レイヤ２５６からラベル予測レイヤ２６０までの構造は、ＢＯＷフィーチャを受け入れる入力レイヤ、１つまたは複数の隠れレイヤ、およびカテゴリ予測を出力する出力レイヤと共に、フィード・フォワード・ニューラル・ネットワークを構成する。
【００７５】
ラベル予測レイヤ２６０は、“スポーツ”、“社会”や“国際”など、予め定義された各トピック・カテゴリ・ラベルにそれぞれ対応する複数のユニットを有する。トピック・カテゴリ・ラベルは、専門家の人間による手作業で定義することができる。ラベル予測レイヤ２６０中のユニットの数は、予め定義されたカテゴリの数と同じとしてもよい。ラベル共起の組合せに用いる追加のユニットは、記載されている実施形態では必要とされない。ラベル予測レイヤ２６０で使用される損失関数は、マルチラベルを処理することのできるどの損失関数であってもよく、そのような損失関数としては、以下に限定されないが、好ましくは、負の対数確率、クロス・エントロピーおよび二値クロス・エントロピーが挙げられる。
【００７６】
典型的には、ＢＯＷフィーチャ・レイヤ２５６からラベル予測レイヤ２６０までの構造は、ニューラル・ネットワークとしてトレーニングすることができる。そのため、記載されている実施形態では、ニューラル・ネットワークの入力レイヤは、ＢＯＷフィーチャ・レイヤ２５６であり、ニューラル・ネットワークの出力レイヤは、ラベル予測レイヤ２６０である。しかし、これは、本願の発明の１つまたは複数の実施形態について可能な設計の一例であって、テキスト入力レイヤ２５２からラベル予測レイヤ２６０までの構造全体は、具体的な他の実施形態では、ニューラル・ネットワークとしてトレーニングすることができる。
【００７７】
図６に戻って参照すると、トピック・カテゴライゼーション・モデル学習システム２３０は、図４に示されているＮＬＱ分類モデルを学習するためのプロセスと同様の、本願の第２の実施形態によるトピック・カテゴライゼーション・モデル２１０を学習するためのプロセスを実施する。トピック・カテゴライゼーション・モデル学習システム２３０は、所与のトレーニング・データ２４０を使用して学習プロセスを実施して、トピック・カテゴライゼーション・モデル２１０のパラメータを最適化する。
【００７８】
記載されている実施形態では、トレーニング・データ２４０は、１つまたは複数のトレーニング・データのインスタンスを含み、そのそれぞれは、ニュース記事などのトレーニング入力テキストと、そのトレーニング入力テキストに割り当てられた１つまたは複数の正しいトピック・カテゴリ・ラベルとを有する。トレーニング・データ２４０のいくつかの部分は、入力テキストの単一のインスタンスについて複数のラベルを有していてもよい。トレーニング入力テキストは、ニューラル・ネットワークに基づく分類モデルのアーキテクチャに応じて、自然文の形で、または自然文の表現で準備されてもよい。
【００７９】
記載されている実施形態では、学習システム２３０は、共起組合せリスティング・モジュール２３２、パラメータ初期化モジュール２３４およびトレーニング・モジュール２３６を含み、そのそれぞれは、図２に示される第１の実施形態の対応のモジュールと同様に構成される。
【００８０】
特に、パラメータ初期化モジュール２３４は、リストされたまたは選択された各組合せに対し各専用ユニットを最上位の隠れレイヤ２６２に準備しつつ、トピック・カテゴライゼーション・モデル２１０を初期化するように構成される。各専用ユニットは、図５を用いて示されるように、ラベル予測レイヤ２６０の間のうち組合せ内の共起ラベルに対応する関連の出力ユニットを同時に活性化させるために初期化される。別の態様では、パラメータ初期化モジュール２３４は、専用ユニットと、関連の各出力ユニットとの間のそれぞれの接続が初期化されるように構成され、その初期化には、該専用ユニットと残りの出力ユニットとの間の他の接続よりも強力な値が用いられる。
【００８１】
トレーニングされたトピック・カテゴライゼーション・モデル２１０は、新しい入力テキストについて１つまたは複数の適切なトピック・カテゴリ・ラベルを予測することができる。そして、トレーニングされたトピック・カテゴライゼーション・モデル２１０は、トレーニングの間および分類の間に演算上のオーバーヘッドを増加させることなく、自然言語テキスト・カテゴライゼーション・タスクを効果的に実施することができる。
【００８２】
代替の実施形態
上記に記載されたように、本願の発明の１つまたは複数の実施形態による新規の学習技術は、ＮＬＱ分類タスクおよびトピック・カテゴライゼーション・タスクに特化しない。すなわち、本技術は、汎用性があり、任意の分類タスクに適用することができる。
【００８３】
以下、図８を参照すると、本願の発明の代替の実施形態による、分類モデルを学習するためのコンピュータ・システムおよび方法が示されており、そこでは、分類モデルは、ディープ・ラーニング・アーキテクチャ中に構築される。
【００８４】
ディープ・ラーニング・アーキテクチャでは、多層のディープ・ニューラル・ネットワーク（ＤＮＮ）が、複数の隠れユニットを具えた１つまたは複数の隠れレイヤを、入力レイヤと出力レイヤとの間に有する。図８は、分類タスクを実施する、ＤＮＮに基づく分類モデル３００を示す。
【００８５】
ＤＮＮをトレーニングするために、典型的に、教師なし事前トレーニングおよび管理した微調整を含む２段階の学習プロセスが実施されてもよい。そのような２段階の学習プロセスは、音響音声認識および画像認識に用いる分類モデルに使用することができる。事前トレーニングによって、入力の特性をよく捉える表現を探し出し、初期化パラメータを用いてレイヤを重層する。入力を表す優れた表現として、隠れレイヤにおける作動が見られる。微調整プロセスは、事前トレーニングのプロセスによって見積もられた表現に基づいて、ＤＮＮのパラメータを区別的に更新する。これは言うまでもなく、ＤＮＮに用いる可能な学習プロセスの一例であり、他の実施形態では、事前トレーニングは省略される。
【００８６】
図８を参照すると、ＤＮＮに基づく分類モデル３００は、入力レイヤ３０２と出力レイヤ３０８との間に、１つまたは複数の隠れレイヤ３０４〜３０６を有する。ＤＮＮに基づく分類モデル３００は、入力シグナルを受け取り、分類タスクを実施して、トレーニングされたパラメータに基づき予測ラベルを出力する。
【００８７】
事前トレーニングのプロセスの間、ＤＮＮに基づく分類モデル３００のパラメータは、必要に応じて、レイヤ毎に初期化される。全てのレイヤについてパラメータが初期化された後、出力レイヤ３０８を最上位の隠れレイヤ３０６の上に重層することによって、および最上位の隠れレイヤ３０６のユニットと、出力レイヤ３０８のユニットとの間の接続について重みマトリックスを加えることによって、ＤＮＮに基づく分類モデル３００が構築される。最上位の隠れレイヤ３０６と出力レイヤ３０８との間の重みマトリックスを準備するために、新規の重み初期化技術を、ＤＮＮに基づく分類モデル３００に適用することができる。
【００８８】
全てのパラメータ初期化が完了した後、新規の重み初期化によって初期化されたパラメータを含むＤＮＮ全体は、教師あり微調整プロセスの間、逆伝搬アルゴリズムを使用してパラメータを更新することによって、区別的にトレーニングされる。
【００８９】
本願の発明による１つまたは複数の実施形態では、ＤＮＮに基づく分類モデル３００の最上位の隠れレイヤ３０６と出力レイヤ３０８との間の重みマトリックスは、図５に記載されるように新規の重み初期化を使用することによって、初期化することができる。そのため、ディープ・ニューラル・ネットワークに基づく分類モデルを学習するためのコンピュータ・システムおよび方法は、図４に示される新規の学習プロセスを含んで、微調整プロセスの前に、最上位の隠れレイヤ３０６と出力レイヤ３０８との間の重みマトリックスを初期化してもよく、微調整プロセスの間に、ＤＮＮに基づく分類モデル３００をトレーニングしてもよい。ＤＮＮに基づくトレーニングされた分類モデル３００は、新しい入力シグナルに用いる１つまたは複数の適切なラベルを予測することができる。そうして、ＤＮＮに基づくトレーニングされた分類モデル３００は、トレーニングの間および分類の間に演算上のオーバーヘッドを増加させることなく、分類タスクを効果的に実施することができる。
【００９０】
ディープ・ラーニング・アーキテクチャでパラメータが初期化された後にパラメータが細かく調整されているとしても、ＤＮＮに基づく分類モデル３００の結果として得られる性能は、優れた解決策にどれほど近くパラメータが初期化されるかということに影響を及ぼすことができる。したがって、ＤＮＮに基づく分類モデル３００の性能は、新規の学習プロセスを高めることができるということを期待することができる。
【００９１】
実世界データの実験的研究
第１の実施形態による図４に示されるプロセスを実装するプログラムを、保護ドメイン内でＱＡ（質問および解）データ用に英語にてコード化し、実行した。クエリは、自然言語で入力され、分類モデルは、クエリに対する解を含むドキュメントを返す。３，１３３個および３９４個のクエリが、トレーニング・データおよび評価データ中にそれぞれ含まれていた。１，６９５個および１５８個の共起ラベルを、トレーニング・データおよび評価データ中にそれぞれ見出した。トレーニング・データに割り当てられた固有のドキュメント・ラベルの数は、５２６であった。
【００９２】
図３に示されるアーキテクチャを備えたニューラル・ネットワークを採用した。分散表現レイヤ１５６の空間は、１００個であった。ＣＮＮ、ｋについてのカーネルの数を１，０００個に設定したが、これは、最上位の隠れレイヤ１６２に１，０００個のユニットが存在することを意味する。ラベル予測レイヤ１６４の出力ユニットの数を５２６個に設定した。この構成を、実世界データについて全ての実施例および比較例に共通して使用した。正規化された初期化に従って、ニューラル・ネットワークを無作為に初期化し、ＡｄａＧｒａｄを使用して学習速度を制御し、特記のない限り、全ての実施例および比較例について、トレーニング・エポックの数を１，０００個に固定した。
【００９３】
図４に示されるステップＳ１０１での処理によって、トレーニング・データ中の１，６９５個のクエリを見出して複数の共起ラベルを得、２５２個の組合せの共起ラベルを見出した。図４に示されるＳ１０３Ｂでの処理によって、実施例に用いる２５２個の専用隠れユニットを準備しつつ、かつ比較例に用いる専用隠れユニットを準備せずに、最上位の隠れレイヤ１６２とラベル予測レイヤ１６４との間の１０００×５２６の重みマトリックスを初期化した。
【００９４】
「１−最高精度」、「Ｒｅｃａｌｌ＠５」および「完全精度」を含めた３つの評価用測定指標を、評価に使用した。「１−最高精度」では、１個の最高結果が正しいラベルに含まれるか否かを判定する。「Ｒｅｃａｌｌ＠５」では、５個の最高結果が少なくとも１つの正しいラベルに含まれるか否かを判定する。ｊ個のラベルがクエリに割り当てられるものと仮定すると、「完全精度」では、ｊ個の最高結果を調査し、ｊ個の最高結果が正しいラベルに適合するか否かを判定する。クエリが３つのラベルを有する際には、システムは、クエリの３つの正しいラベルを含む３個の最高結果を返して、１００％の完全精度を得る必要がある。
【００９５】
実施例１〜３および比較例１〜３には、負の対数尤度（実施例１、比較例１）、クロス・エントロピー（実施例２、比較例２）および二値クロス・エントロピー（実施例３および比較例３）を含めた３つの異なる損失関数を使用した。実施例１〜３については、新規の学習プロセス用の値Ｃを、他の行についての無作為化の上界に設定した。
【００９６】
実施例１〜３および比較例１〜３の評価された結果の概要を以下に示す。
【００９７】
【表１】
2017049684.tif 000004
【００９８】
表１は、３つの異なる損失関数を使用した実験結果を示す。実施例１〜３および比較例１〜３の間で精度を比較することにより、各評価用測定指標を用いた全ての損失関数について、新規の学習プロセスによる向上が得られた。実施例１〜３のうち、実施例２（クロス・エントロピー損失関数を用いた）は、３つ全ての測定指標で最高であることが示され、そこでの５０．５１％から５２．５４％への１−最高精度の向上は、統計学的に有意であった（ｐ＜０．０５）
【００９９】
組合せに用いる専用ユニットが、トレーニングされたニューラル・ネットワーク中の対応のラベルをさらに同時に作動させるか否かということに関する、実施例１〜３についての解析の概要を以下に示す。
【０１００】
【表２】
2017049684.tif 000005
【０１０１】
表２は、トレーニングされたニューラル・ネットワーク上での解析を示す。存続したユニットの数の列には、ｋ個のラベルの組合せについて初期化され、逆伝搬後に、ｋ個のラベルに対応するｋ個の最大重みを依然として有していた専用ユニットの数を提示する。全実施例１〜３で、逆伝搬後に、専用ユニットの大部分が“存続した”ことが実証された。
【０１０２】
重みの列に、専用ユニットと対応の共起ラベルとの間の接続重みの平均、および重みマトリックス中の全ての接続の平均を提示する。専用ユニットと対応の共起出力との間の接続についてのトレーニングされた重み（重み−専用）は、平均重み（重み−全体）よりもはるかに強力であった。新規の初期化は、逆伝搬後であっても共起ラベルを同時に活性化させる、専用ユニットを生成することが示された。
【０１０３】
新規の学習プロセスについての値Ｃを、実施例１〜３における上界に設定した。Ｃ＝１．０（実施例４）、Ｃ＝ｆ×ＵＢ（実施例５）、Ｃ＝ｆ１／２×ＵＢ（実施例６）を含めて、異なる初期化値を採用し、上式で、ｆは、トレーニング・データ中の一連の複数のラベルの頻度である。全実施例４〜６についての損失関数は、クロス・エントロピー損失とした。
【０１０４】
実施例２、４〜６および比較例２のクロス・エントロピー関数を用いた評価結果の概要を以下に示す。
【０１０５】
【表３】
2017049684.tif 000006
【０１０６】
表３の結果は、ｆ１／２×ＵＢを使用することによって、１−最高精度と完全精度のどちらにもいっそうの向上をもたらすことを示す。トレーニング・データ中の一連の複数のラベルの頻度の平方根に従ってＣを設定することによって、精度をさらに向上することができることが示された。
【０１０７】
実世界の分類タスクでは、通常、データサイズの制限に悩まされる。ここで、トレーニング・データのサイズを、本来の３，１３３（実施例２および比較例２）から１，０００（実施例７および比較例４）および２，０００（実施例８および比較例５）に低下させた。クロス・エントロピー損失関数を、実施例７〜８および比較例４〜５に使用した。１Ｋおよび２Ｋのトレーニング・データを用いてトレーニングした際に、これら２つのセットから、共起ラベルの組合せのサブセットを個別に抽出した。
【０１０８】
実施例２、7〜８および比較例２、４〜５のクロス・エントロピー関数を用いた評価結果の概要を以下に示す。
【０１０９】
【表４】
2017049684.tif 000007
【０１１０】
表４の結果は、トレーニング・データがさらに制限されたとしても、新規の学習方法が一貫して１−最高精度を向上させたことを示す。
【０１１１】
図９は、実施例２および比較例２について、トレーニング中の３Ｋデータに関する分類精度対トレーニング・エポックを示す。新規の重み初期化は、トレーニング・エポックの初期段階から、無作為な初期化よりも優れていた。新規の重み初期化は、トレーニング・データのサイズが制限され、およびトレーニング時間が制限された実世界において、精度を高めることが実証された。
【０１１２】
オープン・パブリック・データについての実験的研究
図４に示されるプロセスを実装するプログラムを、パブリック・マルチラベル・トピック・カテゴライゼーション・データについて実行した（Ｒｅｕｔｅｒｓ  Ｃｏｒｐｕｓ  Ｖｏｌｕｍｅ  １；ＲＣＶ１）。ＲＣＶ１は、２３，１４９個のトレーニング・テキストと、１０３個のトピック・ラベルを備えた７８１，２６５個の評価テキストとを有する。
【０１１３】
２０００個のユニットの最上位の隠れレイヤ２５８と、クロス・エントロピー損失関数を有する１０３個の出力ユニットのラベル予測レイヤ２６０とを具える、図７に示されるアーキテクチャを備えたニューラル・ネットワークを採用した。図４に示されるステップＳ１０３Ｂでの処理によって、実施例９に用いるＵＢを有した専用の隠れユニットを準備しつつ、かつ比較例６に用いる専用の隠れユニットを準備せずに、最上位の隠れレイヤ２５８とラベル予測レイヤ２６０との間の２０００×１０３の重みマトリックスを初期化した。
【０１１４】
比較例６におけるトピック・ラベル分類の１−最高精度は、９３．９５％であった。比較例６に比べることによって、トピック・ラベル分類の１−最高精度は、９３．９５％から９４．６０％まで向上し、これは、統計学的に有意であった（ｐ＜０．００１）。
【０１１５】
クラウド環境の実装
本開示は、クラウド・コンピューティングに関する詳細な記載を含むとはいえ、本明細書に記載される教示の実装は、クラウド・コンピューティング環境に限定されないことが予め理解される。むしろ、本願の発明の実施形態は、現在公知のまたは将来開発される他の任意の型のコンピュータ環境と併せて実装することが可能である。
【０１１６】
クラウド・コンピューティングは、構成可能なコンピューティング・リソースの共用プール（例えばネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、記憶装置、アプリケーション、仮想マシンおよびサービス）へ、簡便かつオンデマンドのネットワーク・アクセスを可能にするためのサービス・デリバリのモデルであり、最小限の管理努力またはサービス・プロバイダとのやり取りによって速やかに供給および開放することができるものである。このクラウド・モデルは、少なくとも５つの特性、少なくとも３つのサービス・モデル、および少なくとも４つの実装モデルを含むことがある。
【０１１７】
特性は以下の通りである。
オンデマンド・セルフサービス：クラウドのコンシューマは、サービス・プロバイダとの人的やり取りを要することなく、必要応じて自動的に、サーバ時間やネットワーク記憶装置などのコンピューティング能力を一方的に提供することができる。
ブロード・ネットワーク・アクセス：能力は、ネットワーク中にわたって利用可能であり、不均一なシンまたはシック・クライアント・プラットフォームによる使用を促進する標準的な機構を介してアクセスされる（例えば携帯電話、ラップトップ・コンピュータおよびＰＤＡ）。
リソース・プーリング：プロバイダのコンピューティング・リソースは、プールされ、マルチテナント・モデルを使用して複数のコンシューマに供される。その際に、異なる物理的なおよび仮想のリソースが、需要に応じてダイナミックに割り当てられる、および再度割り当てられる。コンシューマは概ね、提供されるリソースの正確な位置に関して制御しないか知識がないものの、より高い抽象化のレベルで位置を特定することができる場合がある（例えば国、国家またはデータセンター）という点で、位置的に独立しているという感覚がある。
速やかな融通性：能力は、速やかにかつ柔軟に供給されて、ある場合には自動的に、直ちにスケールアウトし、また、速やかに開放されて直ちにスケールインすることができる。コンシューマにとって、供給に利用することが可能な能力は、制限がないものと思われ、任意の時間に任意の量で獲得することができる。
測定されるサービス：クラウド・システムは、サービスの型（例えば記憶装置、処理、帯域幅およびアクティブ・ユーザ・アカウント）に適したある程度の抽象化のレベルで計測能に影響を与えることによって、リソースの使用を自動的に制御および最適化する。リソースの利用は、モニターおよび制御することができ、利用されるサービスのプロバイダとコンシューマとの双方に透明性をもたらすことを報告することができる。
【０１１８】
サービス・モデルは、以下の通りである。
サービスとしてのソフトウェア（ＳａａＳ）：コンシューマに提供される能力は、クラウド・インフラストラクチャ上で動作するプロバイダのアプリケーションを使用するためのものである。アプリケーションは、ウェブ・ブラウザなどのシン・クライアント・インターフェース（例えばウェブベースのe−メール）を介して様々なクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザに特有の構成設定である場合を除いて、サーバ、オペレーティング・システム、記憶装置、またはさらに個々のアプリケーション能力を含む基礎クラウド・インフラストラクチャを管理または制御しない。
サービスとしてのプラットフォーム（ＰａａＳ）：コンシューマに提供される能力は、プログラミング言語を使用して生成され、かつクラウド・インフラストラクチャのコンシューマが作製または獲得するアプリケーションにおいて、およびプロバイダによってサポートされるツール上に展開するためのものである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、または記憶装置を含む基礎クラウド・インフラストラクチャを管理または制御しないが、展開されたアプリケーションを制御し、事によるとアプリケーション・ホスティング環境構成を有することがある。
サービスとしてのインフラストラクチャ（ＩａａＳ）：コンシューマに提供される能力は、処理、記憶装置、ネットワーク、およびコンシューマが任意のソフトウェアを展開および操作することができる他の基本的なコンピューティング・リソースを供給するためのものであり、上記リソースは、オペレーティング・システムおよびアプリケーションを含むことができる。コンシューマは、基礎クラウド・インフラストラクチャを管理または制御しないが、オペレーティング・システム、記憶装置、展開されたアプリケーションを制御し、事によると精選されたネットワーキング・コンポーネントを限定的に制御することがある（例えば、ホスト・ファイアウォール）。
【０１１９】
展開モデルは以下の通りである。
プライベート・クラウド：このクラウド・インフラストラクチャは、組織化のためにのみ稼働される。これは、組織または第三者によって管理されることがあり、枠内または枠外に存在することがある。
コミュニティ・クラウド：このクラウド・インフラストラクチャは、いくつかの組織によって共有され、問題（例えば課題、セキュリティ上の要請、ポリシー、およびコンプライアンス上の検討事項）を共有する特定のコミュニティをサポートする。これは、組織によっても第三者によっても管理されることがあり、枠内でも枠外でも存在することがある。
パブリック・クラウド：このクラウド・インフラストラクチャは、一般人または大きな産業上のグループに利用可能となるように運用され、クラウド・サービスを販売する組織が所有する。
ハイブリッド・クラウド：このクラウド・インフラストラクチャは、２つまたはそれを超えるクラウド（プライベート、コミュニティ、またはパブリック）の構成体であり、それらのクラウドは、固有のエンティティを残すが、データおよびアプリケーションの携帯を可能にする規格化されたまたは所有者の技術によって、共に結び付けられている（例えば、クラウド間のロード・バランスをとるためのクラウド・バースティング）。
【０１２０】
クラウド・コンピューティング環境は、無国籍、疎結合、モジュール性、および意味的相互運用性に焦点を合わせたサービス志向である。クラウド・コンピューティングの心臓部では、インフラは、相互連結したノードを含んでいる。
【０１２１】
図１０をここで参照すると、クラウド・コンピューティング・ノードの一例の概略図が示されている。クラウド・コンピューティング・ノード１０は、適切なクラウド・コンピューティング・ノードの例に過ぎず、本明細書に記載された本発明の実施形態の使用または機能性の範囲に関するいかなる限定をも示唆することを意図するものではない。いずれにせよ、クラウド・コンピューティング・ノード１０は、実装が可能であるか、上記に述べた機能性のいずれかを実施することが可能であるか、またはそのどちらも可能である。
【０１２２】
クラウド・コンピューティング・ノード１０には、コンピュータ・システム／サーバ１２があり、該システム／サーバは、他の数多くの汎用の目的のまたは特殊な目的のコンピューティング・システム環境または構成を用いて動作可能である。コンピュータ・システム／サーバ１２と共に使用するのに適しうる周知のコンピューティング・システム、環境、構成またはそれらの組合せの例としては、以下に限定されないが、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサに基づくシステム、セットトップ・ボックス、プログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および任意の上記のシステムやデバイスなどを含む分散型クラウド・コンピューティング環境が挙げられる。
【０１２３】
コンピュータ・システム／サーバ１２は、コンピュータ・システムによって実行されるプログラム・モジュールなど、コンピュータ・システムが実行可能な命令の一般的な文脈にて記述される場合がある。一般に、プログラム・モジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含んでいてもよく、それらは、具体的なタスクを実行するか、具体的な抽象データの型を実装する。コンピュータ・システム／サーバ１２は、分散型クラウド・コンピューティング環境で実行されてもよく、そのような環境では、タスクは、通信ネットワークを介して連結された遠隔処理デバイスによって実施される。分散型クラウド・コンピューティング環境では、プログラム・モジュールは、ローカル・コンピュータ・システムと、リモート・コンピュータ・システムの両方の記憶媒体に位置させてもよく、これらの媒体には、メモリ記憶デバイスが含まれる。
【０１２４】
図１０に示すように、クラウド・コンピューティング・ノード１０内のコンピュータ・システム／サーバ１２は、汎用コンピューティング・デバイスの形態で示される。コンピュータ・システム／サーバ１２のコンポーネントとしては、以下に限定されないが、１つまたは複数のプロセッサまたは処理ユニット１６、システム・メモリ２８、およびシステム・メモリ２８を含めた様々なシステム・コンポーネントをプロセッサ１６に結び付けるバス１８が挙げられる。バス１８は、いくつかの型のバス構造のうちいずれか１つまたは複数を表現し、該バス構造としては、メモリ・バスもしくはメモリ・コントローラ、周辺機器用バス、アクセラレーテッド・グラフィックス・ポート、および種々のバス・アーキテクチャのうちいずれかを使用するプロセッサもしくはローカル・バスが挙げられる。例として、限定するものではないが、そのようなアーキテクチャとしては、工業標準アーキテクチャ（ＩＳＡ）バス、マイクロチャネル・アーキテクチャ（ＭＣＡ）バス、エンハンストＩＳＡ（ＥＩＳＡ）バス、ビデオ・エレクトロニクス規格協会（ＶＥＳＡ）ローカル・バスおよび周辺コンポーネント相互接続（ＰＣＩ）バスが挙げられる。
【０１２５】
コンピュータ・システム／サーバ１２は、典型的には、コンピュータ・システム読み取り可能な種々の媒体を含む。そのような媒体は、コンピュータ・システム／サーバ１２がアクセスすることが可能な任意の利用可能な媒体としてもよく、揮発性および不揮発性の媒体、着脱可能および着脱不能な媒体が挙げられる。
【０１２６】
システム・メモリ２８は、コンピュータ・システム読み取り可能な媒体を揮発性の形態をとる媒体を含むことができ、そのような媒体は、ランダム・アクセス・メモリ（ＲＡＭ）３０、キャッシュ・メモリ３２やそれらの組合せなどがある。コンピュータ・システム／サーバ１２は、他の着脱可能／着脱不能な、揮発性／不揮発性のコンピュータ・システム記録媒体をさらに含んでいてもよい。例示に過ぎないものの、読み出しおよび書き込みのための記憶システム３４を、取り外し不能な不揮発性の磁性媒体（図示しておらず、典型的には“ハード・ドライブ”とよばれる）を備えることができる。図示しないが、取外し可能な不揮発性の磁性ディスク（例えば“フロッピー・ディスク”）から読み出すか、またはそれに書き込むための磁性ディスク・ドライブ、およびＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭや他の光学系媒体など、取外し可能な不揮発性の光学系ディスクから読み出すか、またはそれに書き込むための光学系ディスク・ドライブを、備えることができる。そのようなインスタンスにおいては、１つまたは複数のデータ媒体インターフェースによって、それぞれをバス１８に接続することができる。以後にさらに図示または記載するように、メモリ２８は、一連の（例えば少なくとも１つの）プログラム・モジュールを有する少なくとも１つのプログラム・プロダクトを含んでいてもよく、このプログラム・モジュールは、本発明の実施形態の機能を行うために構成される。
【０１２７】
一連の（少なくとも１つの）プログラム・モジュール４２を有するプログラム／ユーティリティ４０は、例としてメモリ２８に格納されていてもよく、限定するのではないが、また、オペレーティング・システム、１つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データを格納していてもよい。オペレーティング・システム、１つまたは複数のアプリケーション・システム、他のプログラム・モジュール、およびプログラム・データ、またはいくつかのそれらの組合せのそれぞれは、ネットワーク環境の実装を含むことがある。一般にプログラム・モジュール４２は、本明細書に記載されているように、本発明の実施形態の機能、方法論またはそれらの組合せを行う。
【０１２８】
コンピュータ・システム／サーバ１２はまた、キーボード、標示デバイス、ディスプレイ２４などの１つまたは複数の外部デバイス１４、ユーザがコンピュータ・システム／サーバ１２とやり取りすることを可能にする１つまたは複数のデバイス、コンピュータ・システム／サーバ１２が１つまたは複数の他のコンピューティング・デバイスとやり取りすることを可能にする任意のデバイス（例えばネットワーク・カード、モデムなど）、またはそれらの組合せとやり取りすることがある。そのようなやり取りを、入出力（Ｉ／Ｏ）インターフェース２２を介して発生させることができる。さらにまた、コンピュータ・システム／サーバ１２は、ネットワーク・アダプタ２０を介して、ローカルエリア・ネットワーク（ＬＡＮ）、汎用ワイドエリア・ネットワーク（ＷＡＮ）、パブリック・ネットワーク（例えばインターネット）またはそれらの組合せなど、１つまたは複数のネットワークとやり取りすることができる。図に示すように、ネットワーク・アダプタ２０は、バス１８を介して、コンピュータ・システム／サーバ１２の他のコンポーネントとやり取りする。示さないものの、他のハードウェア・コンポーネント、ソフトウェア・コンポーネント、またはそれらの組合せは、コンピュータ・システム／サーバ１２と併せて使用することができることを理解されたい。例としては、以下に限定されないが、マイクロ・コード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、ＲＡＩＤシステム、テープ・ドライブ、およびデータ・アーカイブ記憶システムなどが挙げられる。
【０１２９】
図１１をここで参照すると、説明のためのクラウド・コンピューティング環境５０が図示されている。示されるように、クラウド・コンピューティング環境５０は、１つまたは複数のクラウド・コンピューティング・ノード１０を含み、それらを用いて、例えば、パーソナル・デジタル・アシスタント（ＰＤＡ）や携帯電話５４Ａ、デスクトップ・コンピュータ５４Ｂ、ラップトップ・コンピュータ５４Ｃ、自動車コンピュータ・システム５４Ｎ、またはそれらの組合せなど、クラウド・コンシューマによって使用されるローカル・コンピューティング・デバイスが、やり取りしてもよい。ノード１０は、互いにやり取りしてもよい。それらは、本明細書の上記に記載されるようなプレイベート・クラウド、コミュニティ・クラウド、パブリック・クラウドやハイブリッド・クラウドなど、１つまたは複数のネットワークで、物理的または仮想的にグループ化されてもよい。これによって、クラウド・コンピューティング環境５０は、インフラストラクチャ、プラットフォーム、ソフトウェア、またはそれらの組合せをサービスとして提供し、該サービスのために、クラウドのコンシューマは、ローカル・コンピューティング・デバイス上にリソースを維持する必要がない。図１１に示されるコンピューティング・デバイス５４Ａ〜Ｎの型は、説明に過ぎないことを意図するものであること、およびコンピューティング・ノード１０およびクラウド・コンピューティング環境５０は、任意の型のネットワーク、ネットワークでアドレス指定が可能な接続、またはそれらの組合せにわたって、コンピュータ化された任意の型のデバイスとやり取りすることができる（例えば、ウェブ・ブラウザを使用して）ことが理解される。
【０１３０】
図１２をここで参照すると、クラウド・コンピューティング環境５０（図１１）によって提供される一連の機能的な抽象レイヤが示されている。図１２に示されるコンポーネント、レイヤ、および機能は、説明に過ぎないことを意図するものであって、本発明の実施形態は、それに限定されないということが予め理解されるべきである。図に示されるように、以下のレイヤおよび対応する機能が提供される。
【０１３１】
ハードウェアおよびソフトウェアレイヤ６０は、ハードウェアおよびソフトウェアのコンポーネントを含む。ハードウェア・コンポーネントの例としては、メインフレーム、ＲＩＳＣ（縮小命令セットコンピュータ）アーキテクチャに基づくサーバ、記憶デバイス、ネットワーク、およびネットワーキング・コンポーネントが挙げられる。いくつかの実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェアを含む。
【０１３２】
仮想化レイヤ６２は、抽象レイヤを提供し、該抽象レイヤから、以下の仮想のエンティティの例が提供される。すなわち、仮想サーバ、仮想記憶装置、仮想プライベート・ネットワークを含めた仮想ネットワーク、仮想アプリケーションとオペレーティング・システム、および仮想クライアントである。
【０１３３】
一例として、管理レイヤ６４は、以下に記載される機能を提供してもよい。リソース供給によって、コンピューティング・リソースと、クラウド・コンピューティング環境内でタスクを実施するのに利用される他のリソースとを動的に調達することが可能になる。計測および価格設定することによって、クラウド・コンピューティング環境内でリソースを利用すれば費用の追跡が可能になり、これらのリソースの消費を請求書または送り状で処理することが可能になる。一例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでいてもよい。セキュリティによって、データおよび他のリソースの保護ばかりか、クラウドのコンシューマおよびタスクの識別情報確認が可能になる。ユーザのポータルによって、コンシューマおよびシステム管理者は、クラウド・コンピューティング環境にアクセスすることが可能になる。サービスレベルの管理によって、求められるサービスレベルに見合うように、クラウド・コンピューティング・リソースを割り当ておよび管理することが可能になる。サービスレベル合意書（ＳＬＡ）の立案および履行によって、クラウド・コンピューティング・リソースの事前配置および調達が可能になり、そのリソースに関して将来必要となることが、ＳＬＡに従って予期される。
【０１３４】
ワークロード・レイヤ６６は、機能性の例を提供し、その機能性に、クラウド・コンピューティング環境が利用されることがある。このレイヤから提供されることがあるワークロードおよび機能の例としては、地図作成とナビゲーション、ソフトウェア開発とライフサイクル管理、仮想教室教育の配信、データ解析処理、トランザクション処理、および分類モデル学習処理が挙げられる。
【０１３５】
具体的な実施形態では、クラウド環境でのサービスとして、本明細書に記載される実施形態に従って分類モデル学習処理を実装する、コンピュータ・プログラム・プロダクトまたはソフトウェアが提供される。具体的な実施形態では、ニューラル・ネットワークに基づく分類モデルの上述の学習プロセスは、クラウド・コンピューティング環境にて実施されてもよい。
【０１３６】
コンピュータ・プログラムの実装
本願の発明は、コンピュータ・システム、方法、コンピュータ・プログラム・プロダクトまたはそれらの組合せとしてもよい。コンピュータ・プログラム・プロダクトは、コンピュータ読み取り可能な記憶媒体（または複数の媒体）を含んでいてもよく、該記憶媒体は、プロセッサが本願の発明の態様を実施するためのコンピュータ読み取り可能なプログラム命令をその上に有する。
【０１３７】
コンピュータ読み取り可能な記憶媒体は、命令実行デバイスが使用するための命令を保持および格納することができる、実体のあるデバイスとすることができる。コンピュータ読み取り可能な記憶媒体は、例えば、以下に限定されないが、電子記憶デバイス、磁性記憶デバイス、光学記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、または先に述べたものの適切な組合せとしてもよい。コンピュータ読み取り可能な記憶媒体のさらに具体的な例を非排他的に列挙すると、携帯可能なコンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用のメモリ（ＲＯＭ）、消去可能かつプログラミング可能な読み取り専用のメモリ（ＥＰＲＯＭもしくはフラッシュ・メモリ）、静的ランダム・アクセス・メモリ（ＳＲＡＭ）、携帯可能かつコンパクト・ディスクの読み取り専用のメモリ（ＣＤ−ＲＯＭ）、デジタル多目的ディスク（ＤＶＤ）、メモリディスク、フロッピーディスク、命令が記録されたパンチカードや溝に浮き彫りされた構造などの物理的にコードされたデバイス、または先に述べたものの任意の適切な組合せが挙げられる。コンピュータ読み取り可能な記憶媒体は、本明細書に使用されるように、ラジオ波または自由に伝播する他の電磁波、導波管または他の伝送媒体を通じて伝播する電磁波（例えば、光ファイバ・ケーブルを通過する光パルス）や、ワイヤを通じて伝送される電気信号など、それ自体で一時的な信号であるものと解されない。
【０１３８】
本明細書に記載されるコンピュータ読み取り可能なプログラム命令は、ネットワークを介して、例えば、インターネット、ローカルエリア・ネットワーク、ワイドエリア・ネットワーク、ワイヤレス・ネットワーク、またはそれらの組合せを介して、コンピュータ読み取り可能な記憶媒体からそれぞれのコンピューティング／処理デバイスに、または外部コンピュータもしくは外部記憶デバイスに、ダウンロードすることができる。ネットワークは、銅製の伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルーター、ファイヤーウォール、スイッチ、ゲートウェイ・コンピュータ、エッジ・サーバ、またはそれらの組合せを含んでいてもよい。各コンピューティング／処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、コンピュータ読み取り可能なプログラム命令をネットワークから受け取り、コンピュータ読み取り可能な記憶媒体に記憶するためのコンピュータ読み取り可能なプログラム命令を各コンピューティング／処理デバイス内で転送する。
【０１３９】
本願の発明のオペレーションを行うためのコンピュータ読み取り可能なプログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）、機械語命令、機械語依存的な命令、マイクロ・コード、ファームウェア命令、状態設定データ、または１つもしくは複数のプログラミング言語の任意の組合せで書かれたソース・コードおよびオブジェクト・コードのどちらかであってもよく、そのようなプログラム言語としては、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向のプログラミング言語、および“Ｃ”プログラミング言語や類するプログラミング言語など、既存の手続き型プログラミング言語が挙げられる。コンピュータ読み取り可能なプログラム命令は、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上で部分的に、スタンドアローン・ソフトウェア・パッケージとして、ユーザのコンピュータ上で部分的におよびリモート・コンピュータ上で部分的に、またはリモート・コンピュータもしくはサーバで全体的に、実行されてもよい。後者の大筋では、リモート・コンピュータは、任意の型のネットワークを介してユーザ・コンピュータへ接続されてもよく、そのようなネットワークとしては、ローカルエリア・ネットワーク（ＬＡＮ）またはワイドエリア・ネットワーク（ＷＡＮ）が挙げられる。あるいは、当該接続は、外部のコンピュータへ（例えば、インターネット・サービス・プロバイダを使用してインターネットを通じて）作成されてもよい。いくつかの実施形態では、本願の発明の態様を実施するために、電子回路、例えば、プログラム可能な論理回路、現場でプログラム可能なゲート・アレイ（ＦＰＧＡ）またはプログラム可能な論理アレイ（ＰＬＡ）などが、コンピュータ読み取り可能なプログラム命令の状態情報を利用することによって、コンピュータ読み取り可能なプログラム命令を実行して、該電子回路を個人用に設定してもよい。
【０１４０】
本願の発明の態様は、本発明の実施形態による方法、装置（システム）およびコンピュータ・プログラム・プロダクトのフローチャート図、ブロック図またはそれらの組合せを参照して本明細書に記載されている。フローチャート図、ブロック図またはそれらの組合せの各ブロック、ならびに該フローチャート図、該ブロック図またはそれらの組合せのブロックの組合せは、コンピュータ読み取り可能なプログラム命令によって実装することができることが理解されよう。
【０１４１】
これらのコンピュータ読み取り可能なプログラム命令を、汎用コンピュータ、専用コンピュータ、または他のプログラミング可能なデータ処理装置のプロセッサに提供して機械を生成してもよく、その結果、その命令は、コンピュータまたは他のプログラミング可能なデータ処理装置を介して実行され、フローチャート、ブロック図またはそれらの組合せの１つもしくは複数のブロックに指定された機能／役割を実装するための手段を作り出す。これらのコンピュータ読み取り可能なプログラム命令はまた、コンピュータ、プログラミング可能なデータ処理装置、または他のデバイスを指示することができるコンピュータ読み取り可能な媒体中に格納されて、具体的な仕様で機能する場合もあり、その結果、命令が中に格納されたコンピュータ読み取り可能な媒体は、フローチャート、ブロック図またはそれらの組合せの１つもしくは複数のブロックに指定された機能／役割の態様を実装する命令を含む、製品を含む。
【０１４２】
コンピュータ読み取り可能なプログラム命令はまた、コンピュータ、他のプログラミング可能なデータ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラミング可能な装置または他のデバイスで実施される一連のオペレーションのステップを引き起こして、コンピュータに実装されるプロセスを生成してもよく、その結果、コンピュータまたは他のプログラミング可能な装置で実行される命令は、フローチャート、ブロック図またはそれらの組合せの１つもしくは複数のブロックに指定された機能／役割を実装する。
【０１４３】
図中のフローチャートおよびブロック図は、本願の発明の様々な実施形態による、ありうるシステム、方法およびコンピュータ・プログラム・プロダクトの実装に関するアーキテクチャ、機能性およびオペレーションを説明している。この点、フローチャートまたはブロック図のそれぞれのブロックは、モジュール、セグメント、または命令の一部を表すことがあり、それらは、指定された論理関数を実装するための、１つまたは複数の実行可能な命令を含む。いくつかの代替の実現例では、ブロックに記述された関数は、図に記述された順序を外れて発生しうる。例えば、連続して示された２つのブロックが、実際には、ほぼ同時に実行されてもよいし、時には、当該ブロックは、含まれる機能性に応じて、逆の順番で実行されてもよい。ブロック図とフローチャート図とのどちらかまたはその両方の各ブロック、および該ブロック図と該フローチャート図とのどちらかまたはその両方のブロックの組合せは、指定された関数または動作を実施する専用のハードウェアベースのシステムによって実装されるか、または、専用のハードウェアおよびコンピュータ命令の組合せを実施することができることもまた留意されよう。
【０１４４】
本明細書で使用される用語は、具体的な実施形態を記載するためのみのものであり、本発明を限定することを意図するものではない。本明細書で使用される際に、単数形“ａ”、“ａｎ”、および“ｔｈｅ”は、文脈が明らかに他を示さない限り、同様に複数形を含むことを意図する。本明細書で使用される際に、用語“含む”、“含んでいる”、またはそれら両方は、記述された特徴、整数、ステップ、操作、要素、またはコンポーネント、またはこれらのいかなる組合せの存在を指定するものであって１つまたは複数の他の特徴、整数、ステップ、操作、要素、コンポーネントまたはそれらのグループやこれらのいかなる組合せを排除するものではない。
【０１４５】
添付の特許請求の範囲にある、対応の構造、物、行為、およびあらゆるミーンズまたはステップ・プラス・ファンクションの要素の均等物は、それがあるならば、具体的に特許請求の範囲にあるように、特許請求の範囲の他の要素と組み合わせて機能を実行するための任意の構造、物または行為を含むことを意図する。本願の発明の１つまたは複数の態様の記述は、例示および説明の目的のために提示されているのであって、開示された形態に本発明を終始させるものであるとか、本発明を制限するものとかを意図するものではない。
【０１４６】
多くの改変および変形は、記載される実施形態の範囲および趣旨を逸脱することなく、当業者にとって明らかとなろう。本明細書に使用される用語は、本実施形態の原理、実際的な適用、または市場に見出される技術を超える技術的な向上を、最適に説明するために、および本明細書に開示される実施形態を他の当業者が理解することを可能にするために、選択されたものである。
【図１】
2017049684.tif 000008
【図２】
2017049684.tif 000009
【図３】
2017049684.tif 000010
【図４】
2017049684.tif 000011
【図５】
2017049684.tif 000012
【図６】
2017049684.tif 000013
【図７】
2017049684.tif 000014
【図８】
2017049684.tif 000015
【図９】
2017049684.tif 000016
【図１０】
2017049684.tif 000017
【図１１】
2017049684.tif 000018
【図１２】
2017049684.tif 000019
【外国語明細書】
[Title of Invention]            METHOD, COMPUTER SYSTEM AND COMPUTER PROGRAM FOR LEARNING CLASSIFICATION MODEL
[Technical Field]
[0001]
The present invention, generally, relates to machine learning, more particularly, to methods, computer systems and computer programs for learning classification models.
[Background Art]
[0002]
Neural network based approaches have been widely used for a classification task. A task of retrieving a document that has an answer to a query can be seen as a natural language query (NLQ) classification task. For the NLQ classification task, pairs of a query and a correct document label identifying a document that includes an answer for the query are used for training a classification model. The trained classification model can detect an appropriate document label for a new unseen query by using features of the trained model and the new query.
[0003]
Some portions of the training queries may have multiple labels for a single instance of the training queries, i.e., label co-occurrence may happen. Thus, the NLQ classification task in nature requires multi-label classification where multiple labels can be assigned to a single instance of training queries and multiple labels can be predicted for a new query. In such multi-label classification, dependency and relationship between the labels need to be taken in consideration. The neural networks can be used for the multi-label classification, also known as a back-propagation multi-label learning (BP-MLL). Recently, replacing BP-MLL’s pairwise ranking loss with cross entropy error function has been suggested for efficient text classifications (J. Nam et al., Large-scale Multi-label Text Classification - Revisiting Neural Networks., In Proceedings of the European Conference on Machine Learning and Principles and Practice of Knowledge Discovery in Databases (ECML/PKDD), 437-452, 2014.).
[0004]
However, there is no known technique that can leverage label co-occurrence information more directly in the learning of the classification models.
[Prior Art Literature]
[Non-Patent Literature]
[0005]
[Non-Patent Literature 1] J. Nam et al., Large-scale Multi-label Text Classification - Revisiting Neural Networks, In Proceedings of the European Conference on Machine Learning and Principles and Practice of Knowledge Discovery in Databases (ECML/PKDD), 437-452, 2014.
[Summary of Invention]
[Technical Problem]
[0006]
What is needed are method, associated computer systems and computer programs for learning a classification model, capable of improving accuracy of classification by leveraging label co-occurrence information, without increasing computational overhead for training and classification.
[Solution to Problem]
[0007]
According to an embodiment of the present invention, there is provided a method for learning a classification model using one or more training data. Each training data has a training input and one or more correct labels assigned to the training input. The classification model has a plurality of hidden units and a plurality of output units. The method comprises obtaining a combination of co-occurring labels expected to be appeared together for an input to the classification model. The method also comprises initializing the classification model with preparing a dedicated unit for the combination from among the plurality of the hidden units so as to activate together related output units connected to the dedicated unit among the plurality of the output units, in which each related output unit corresponds to each co-occurring label in the combination. Also the method comprises training the classification model using the one or more training data.
[0008]
According to the embodiment of the present invention, information of co-occurring multi-labels can be embedded in the classification model without changing complexity of the classification model, thereby improving accuracy of classification without increasing computational overhead for both training and classification.
[0009]
In a preferred embodiment according to the present invention, the dedicated unit has a connection with each related output unit, in which each connection to each related output unit is initialized with a value stronger than any other connections between the dedicated unit and remaining output units other than the related output units and between at least part of remaining hidden units among the plurality of the hidden units and the plurality of the output units including the related output units. According to the preferred embodiment, information of co-occurring multi-labels can be embedded in initial values of the connections for the dedicated unit without changing topology of the classification model.
[0010]
In other preferred embodiment according to the present invention, the value varies based on a frequency of the combination appeared in the one or more training data. According to the other preferred embodiment, the frequency of a specific combination appeared in the one or more training data can be taken into account in the initialized connection.
[0011]
In further other preferred embodiment according to the present invention, the obtaining of the combination of the co-occurring labels comprises listing a plurality of combinations of labels co-occurred in the one or more training data; and selecting a subset from among the plurality of the combinations based on a frequency of appearance relevant to each combination in the one or more training data. According to the further other preferred embodiment, relatively popular combinations can be embedded in a preferential manner even if the number of the combinations is increased.
[0012]
In optional embodiment according to the present invention, the training input is a query in a form of a natural sentence or representation of the natural sentence and each correct label is a document identifier identifying a document having an answer for the query. So, the classification model can perform a natural language query classification task effectively.
[0013]
In other optional embodiment according to the present invention, the training input is a text in a form of a natural sentence or representation of the natural sentence and each correct label is an attribute assigned for the text. So, the classification model can perform a text classification task effectively.
[0014]
Computer systems and computer programs relating to one or more aspects of the present invention are also described and claimed herein.
[0015]
According to other embodiment of the present invention, there is provided a method for learning a classification model using one or more training data. Each training data has a training input and one or more correct labels assigned to the training input. The classification model has a plurality of hidden units and a plurality of output units. The method comprises listing a combination of co-occurring labels appeared together in the one or more training data. The method also comprises initializing the classification model with preparing a dedicated unit for the combination, in which the dedicated unit has connections with related output units each corresponding to each co-occurring label in the combination and each connection is initialized with a value stronger than other connections with remaining output units and between at least part of remaining hidden units among the plurality of the hidden units and the plurality of the output units including the related output units. Also the method comprises training the classification model using the one or more training data.
[0016]
According to the other embodiment, information of co-occurring multi-labels can be embedded in initial values of the connections for the dedicated unit without changing topology of the classification model, thereby improving accuracy of classification without increasing computational overhead for both training and classification.
[0017]
Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention.
[Brief Description of Drawings]
[0018]
[FIG.1] FIG. 1 illustrates a schematic of a classification model for a natural language query based information retrieval system, in which multiple document labels can be assigned to a single instance of training queries;
[FIG.2] FIG. 2 illustrates a block diagram of a computer system incorporating a natural language query classification model and a learning system for the natural language query classification model according to a first embodiment of the present invention;
[FIG.3] FIG. 3 depicts architecture of the natural language query classification model according to the first embodiment of the present invention;
[FIG.4] FIG. 4 is a flowchart depicting a process for learning the natural language query classification model according to the first embodiment of the present invention;
[FIG.5] FIG. 5 depicts overview of a weight initialization for connections between a top hidden layer and an output layer according to the first embodiment of the present invention;
[FIG.6] FIG. 6 illustrates a block diagram of a computer system incorporating a topic categorization model and a learning system for the topic categorization model according to a second embodiment of the present invention;
[FIG.7] FIG. 7 depicts architecture of a neural network based topic categorization model according to the second embodiment of the present invention;
[FIG.8] FIG. 8 depicts other targeted architecture of a neural network based classification model according to alternative embodiment of the present invention;
[FIG.9] FIG. 9 shows classification accuracy versus training epoch on the 3K data during training;
[FIG.10] FIG. 10 depicts a cloud computing node according to an embodiment of the present invention;
[FIG.11] FIG. 11 depicts a cloud computing environment according to an embodiment of the present invention; and 
[FIG.12] FIG. 12 depicts abstraction model layers according to an embodiment of the present invention.
[Description of Embodiments]
[0019]
Now, the present invention will be described using particular embodiments, and the embodiments described hereafter are understood to be only referred as examples and are not intended to limit the scope of the present invention. One or more embodiments according to the present invention are directed to methods, computer systems and computer programs for learning a classification model.
[0020]
A task of retrieving a document that has an answer to a query can be seen as a natural language query (NLQ) classification task. NLQ like “Where should I visit in Japan?” can be differentiated from keyword-based queries like “Japan Sightseeing” used for typical Web search engines. NLQ-based information retrieval system can provide more natural user experiences for end users.
[0021]
Referring to FIG. 1, there is shown a schematic of a classification model for a NLQ based information retrieval system. For training the classification model 70, pairs of a training query and a correct document label identifying a document that includes an answer for the query are used as training data 72. The classification model 70 is trained by using the training data 72 so as to acquire ability to predict one or more appropriate document labels 76 for a new unseen query 74 by using features of the training and new queries.
[0022]
As shown in FIG. 1, some portions of the training data 72 may have multiple labels (or co-occurring labels) for a single instance of the training data 72 since plurality of documents that have a similar content can have appropriate answers to a same query. Thus, the NLQ classification task in nature requires multi-label classification.
[0023]
In the multi-label classification task, dependency and relationship between the co-occurring labels needs to be considered, which are ignored in simple binary relevance approach. Such label co-occurrence can be exploited in the neural network by changing a structure of an output layer, for instance. However, changing the structure of the output layer may increase topological complexity of the neural network, resulting in additional computational overhead during both training and classification.
[0024]
Therefore, there are needed methods, computer systems and computer programs for learning a classification model, capable of improving accuracy of classification by leveraging label co-occurrence information, without increasing computational overhead for training and classification.
[0025]
In one or more embodiments according to the present invention, a novel learning process is performed by a computer system using one or more training data, in which the classification model is initialized by preparing a hidden unit dedicated for each combination of the co-occurring labels in the classification model. Each training data may have a training input and one or more correct labels assigned to the training input. The classification model may have an input layer including a plurality of input units; one or more hidden layers including a plurality of hidden units; and an output layer including a plurality of output units.
[0026]
During the novel learning process, the computer system lists combination of labels appeared together in the one or more training data to obtain a combination of co-occurring labels expected to be appeared together for an input. Then, the computer system initializes the classification model with preparing a dedicated unit for each combination in the hidden layer below the output layer so as to activate together related output units corresponding to each co-occurring label in the combination among all output units in the output layer. In other aspect, each connection between the dedicated unit and the related output unit is initialized with a value stronger than any other connections between the dedicated unit and remaining output units in the output layer and between remaining hidden units in the output layer and the plurality of the output units including the related output units. Then, the computer system trains the classification model using the one or more training data based on standard learning algorithms such as backpropagation algorithms for the neural network.
[0027]
Now, referring to the series of FIGS. 2-8, there are shown computer systems and methods for learning classification models according to one or more embodiments of the present invention. The novel learning technique is not specific to the NLQ classification model and the novel learning technique can be generic and applicable to any classification models. The data treated by the classification models may not be limited to queries and texts, and can be expanded to any data such as image data, acoustic speech data, video data, etc.
[0028]
Hereinafter, referring to the series of FIGS. 2-5, it will be described a computer system and method for learning a natural language query (NLQ) classification model according to a first embodiment of the present invention. Then, referring to the series of FIGS. 6-7, it will be described a computer system and method for learning a topic categorization (or text classification) model according to a second embodiment of the present invention. Additionally, referring to FIG. 8, it will be described a computer system and method for learning generalized neural network based classification model according to an alternative embodiments of the present invention, in which two step learning process including an unsupervised pre-training and a supervised fine-tuning is performed in deep learning architectures.
[0029]
First Embodiment
FIG. 2 illustrates a block diagram of a computer system incorporating a NLQ classification model and a learning system for the NLQ classification model according to the first embodiment of the present invention.
[0030]
As shown in FIG. 2, the computer system 100 includes the NLQ classification model 110 that receives an input query 112 and outputs one or more predicted document labels 114 based on trained parameters 120; and the NLQ classification model learning system 130 that performs machine learning of the NLQ classification model 110 based on training data 140 to obtain the trained parameters 120.
[0031]
Referring to FIG. 3, architecture 150 of the NLQ classification model 110 is depicted. In the describing embodiment, the NLQ classification model 110 is a neural network based classification model. The architecture 150 of the NLQ classification model 110 may include a query input layer 152, a word layer 154, a distributed representation layer 156, a top hidden layer 162 and a label prediction layer 164.
[0032]
Between the distributed representation layer 156 and the top hidden layer 162, that is a hidden layer just below the label prediction layer 164, there is at least one convolutional layer 158 with a sub-sampling layer 160 to form a convolutional neural network (CNN). The NLQ classification model 110 may have repeated sets of the convolutional layer 158 and the subsampling layer 160, optionally followed by further one or more fully connected layers below the top hidden layer 162.
[0033]
The NLQ classification model 110 may need to accept queries with variable length. The NLQ classification model 110 receives an input query in a form of natural sentence like "Where should I visit in Japan?" by the query input layer 152. Words in the input query are first subjected to appropriate pre-processing such as stop word removal, and then the processed words 154 are converted into distributed representation in the distributed representation layer 156. The convolutional layer 158 may have k kernels to produce k feature maps. Each feature map is then subsampled typically mean or max pooling. By applying convolution 158 and sub-sampling 160 over time, a fixed-length feature vectors are extracted from the distributed representation layer 156 into the top hidden layer 162. Then, the fixed-length feature vectors are then fed into the label prediction layer 164 to predict the one or more document labels 114 for the input query 112.
[0034]
The label prediction layer 164 has a plurality of units each corresponding to each predefined document label that is a document identifier identifying a document having an answer for the query. The document labels can be defined as labels appeared in the training data 140. The number of the units in the label prediction layer 164 may be same as the number of the document labels appeared in the training data 140. Additional units for combinations of the label co-occurrence are not required in the describing embodiment.
[0035]
Loss function used in the label prediction layer 164 can be any one of known loss functions that can or can not take care of multi-label, and such loss function preferably includes, but not limited to, negative log probability, cross entropy, and binary cross entropy.
[0036]
Let x denote the feature vector of an input query, y be the vector representation of the label, o be the output value of the neural network, and P be the parameters of the neural network. Note that the representation of y is different depending on the loss functions. For simplicity in the following description, let assume that a finite set of labels L={L1, L2, L3} and a input query x has multiple labels {L1, L3}.
[0037]
Negative Log Probability:
Minimization of negative log probability assumes a single label. To take care of multi-label, copy transformation can be used to obtain two training data ((x, y(1)), (x, y(2))), where y(1)=(1, 0, 0) and y(2)=(0, 0, 1). The loss for each training data becomes l (P, (x, y(1))) = - log (o1) and l (P, (x, y(2))) = - log (o3), where softmax activation is used to calculate o in the label prediction layer 164.
[0038]
Cross Entropy:
To take care of multi-labels, let us assume multi-labels as probabilistic distribution y = (0.5, 0, 0.5). The cross entropy loss for the training data (x, y) becomes l (P, (x, y)) = - y log (o), where softmax activation is used in the label prediction layer 164.
[0039]
Binary Cross Entropy:
To handle multi-labels, let us assumed the labels as y = (1, 0, 1). The binary cross entropy loss for the training example (x, y) becomes as follows:
[Formula 1]
2017049684.tif 000020
where sigmoid activation is used in the label prediction layer 164.
[0040]
Typically, a structure from the distributed representation layer 156 to the label prediction layer 164 can be trained as a neural network. So, in describing embodiment, an input layer of the neural network is the distributed representation layer 156 and an output layer of the neural network is the label prediction layer 164. However, this is an example of possible designs for one or more embodiments of the present invention, whole structure from the query input layer 152 to the label prediction layer 164 can be trained as a neural network in a particular other embodiment.
[0041]
Referring back to FIG. 2, the NLQ classification model learning system 130 performs the process for learning the NLQ classification model 110 according to the first embodiment of the present invention. The NLQ classification model learning system 130 performs the learning process using the given training data 140 to optimize parameters of the NLQ classification model 110.
[0042]
In the describing embodiment, the training data 140 includes one or more instances of the training data, each of which has a training input query and one or more correct document labels assigned to the training input query. Some portions of the training data 140 may have multiple correct labels for a single instance of the input queries. The document labels may be assigned by typically human experts. The training input query may be prepared in a form of a natural sentence or representation of the natural sentence depending on the architecture of the neural network based NLQ classification model. In a particular embodiment where the structure from the distributed representation layer 156 to the label prediction layer 164 is trained as the neural network, the training input query in a form of a natural sentence may be converted into a representation in the distributed representation layer 156 to prepare the training input for the neural network.
[0043]
In the describing embodiment, the learning system 130 includes a co-occurring combination listing module 132, a parameter initialization module 134 and a training module 136.
[0044]
The co-occurring combination listing module 132 is configured to list the labels co-occurred in the training data 140 so as to obtain combinations of co-occurring labels expected to be appeared together for an input query. In a preferable embodiment, the co-occurring combination listing module 132 is further configured to select a subset from among the listed combinations. The selection of the subset may be performed based on a frequency of appearance relevant to each combination in the given training data 140. The frequency may include a frequency of each combination appeared in the training data 140, Freq(L1,L2), frequencies of co-occurring labels appeared in the training data 140, Freq(L1), Freq(L2), and combination of these frequencies such as Freq(L1,L2)2 / (Freq(L1)*Freq(L2)). By selecting the subset, relatively popular co-occurring combinations can be treated in a preferential manner even if the number of the combination exceeds capacity of the novel learning technique owing to the topology of the neural network.
[0045]
The parameter initialization module 134 initializes all parameters of the NLQ classification model 110 that should be trained. In the describing embodiment, the parameter initialization module 134 is configured to initialize the NLQ classification model 110 with preparing each dedicated unit for each listed or selected combination from among hidden units in the top hidden layer 162. Each dedicated unit is initialized so as to activate together related output units corresponding to co-occurring labels in the combination among all output units in the label prediction layer 164.
[0046]
In other aspect, the parameter initialization module 134 is configured to initialize each connection between the dedicated unit and each related output unit with a value stronger than other connections between the dedicated unit and remaining output units and between remaining hidden units in the top hidden layer 162 and the output units including the related output units. The novel initialization embeds co-occurrence label information in a weight matrix between the top hidden layer 162 and the label prediction layer 164 shown in FIG. 3.
[0047]
The weight value can be a constant value or varied based on a frequency of the combination appeared in the one or more training data 140. The constant value may be an upper limit value for the weights or an upper bound for normalized initialization to other weights. Assigning dedicated units and initializing their weight matrix will be described more detail later.
[0048]
The training module 136 is configured to train the NLQ classification model 110 using the training data 140 based on the parameters initialized by the parameter initialization module 134. Any known training algorithm including backpropagation algorithms and their variants can be used for training the NLQ classification model 110 after the parameter initialization. The training module 136 may conduct the back-propagation using the loss function. Note that the weights between the dedicated units and all output units corresponding to all document labels are updated through the backpropagation.
[0049]
In a particular embodiment, each of modules described in FIG. 2 may be implemented on a computer, where program codes according to the embodiment of the present invention are loaded on a memory and executed by a processer.
[0050]
As shown in FIG. 2, the computer system 100 includes one or more modules to provide various features and functions. These modules may be implemented in hardware, software or firmware executable on hardware, or a combination thereof. Also, these modules are presented only by way of example and are not intended to suggest any limitation. Alternative embodiments may include additional or fewer modules than those illustrated in FIG. 2, or the modules may be organized differently. Furthermore, it should be recognized that, in some embodiments, the functionality of some modules may be broken into multiple modules or, conversely, the functionality of several modules may be combined into a single or fewer modules.
[0051]
FIG. 4 shows a flowchart depicting the process for learning the NLQ classification model according to the first embodiment of the present invention. As shown in FIG. 4, the process begins at step S100. Note that the process shown in FIG.4 is performed by the learning system 130 depicted in FIG. 2 for the given training data 140.
[0052]
At step S101, the learning system 130 reads the training data 140 and analyzed to list a plurality of co-occurring combinations found in the given training data 140. At step S102, the learning system 130 may select a subset for dedicated hidden units from among the found co-occurring combinations.
[0053]
The processing at step S102 may be performed optionally. If the number of the co-occurring combinations is sufficiently smaller than the number of units in the top hidden layer 162, all found combinations may be used for dedicated hidden units. If the number of the co-occurring combinations is approximately equal to or larger than the number of units in the top hidden layer 162, the learning system 130 can select a subset from among the co-occurring combinations found at step S101 based on a frequency of appearance relevant to each combination in the given training data 140. According to the selection, relatively popular co-occurring combinations can be embedded into the neural network in a preferential manner even if the number of the combinations exceeds the number of the hidden units in the top hidden layer 162.
[0054]
At step S103, the learning system 130 setups the neural network of the NLQ classification model 110 with parameter initialization. The parameters that should be trained may include weight matrixes associated with the connections between layers and bias vectors associated with the layers.
[0055]
Especially, at step S103A, the learning system 130 initializes the parameters other than the targeted weight matrix between the top hidden layer 162 and the label prediction layer 164. At step S103B, the learning system 130 initializes the targeted weight matrix between the top hidden layer 162 and the label prediction layer 164.
[0056]
FIG. 5 depicts overview of a weight initialization for connections between the top hidden layer 162 and the label prediction layer 164. In FIG. 5, three combinations of co-occurring labels that includes {L1a, L2a}, {L1b, L2b, L3b} and {L1c, L2c} are listed illustratively for dedicated unit. The weight matrix has matrix rows corresponding to the hidden units, |H|, and columns corresponding to the document labels, |L|. As shown in left side of FIG. 5, for each combination of co-occurring labels, a matrix row is initialized so that each column corresponding to each co-occurring label is prepared to have a certain weight C and other remaining columns are prepared to have a weight equal to zero. The matrix row corresponding to each combination of the co-occurring labels is referred as a dedicated row.
[0057]
Note that the remaining rows that are not associated with the combinations of co-occurring labels may be initialized by any known methods. In describing embodiment, the remaining rows are prepared with random initialization.
[0058]
This weight initialization is equivalent to prepare each hidden unit dedicated for each combination of the co-occurring labels in the top hidden layer 162, where the dedicated units have connections to the related output units corresponding co-occurring labels with weight C and to others with zero, as shown in right side of FIG. 5. The columns corresponded to the co-occurring labels are initialized with the C stronger than the remaining columns. These dedicated neurons can simultaneously activate the related output units corresponding to the co-occurring labels in the combination in preferential manner. Note that the term "simultaneously" is defined as two or more output units being activated together for a single instance of inputs and is not intended to add a temporal restriction.
[0059]
Note that preparing the dedicated hidden units does not require any additional output and hidden units in the architecture of the neural network, the topologies between the neural networks with and without the dedicated hidden units can be identical and merely initialized weights for certain hidden unit that is prepared as the dedicated units can be different.
[0060]
In particular embodiment, the value C of the weight may be an upper limit value for the connection, e.g. 1.0 within the range -1~1. In a preferable embodiment, the value C of the weight may be an upper bound (UB) for normalized initialization for the remaining rows, which is determined by the number of units in the top hidden layer 162 and the label prediction layer 164. In further other preferable embodiments, the value C of weight may vary based on a frequency of the combination appeared in the training data 140. The frequency of a specific combination appeared in the training data 140 can be taken into account in the initialized connection. The background idea is that specific combinations of co-occurring labels that appear frequently (i.e., the number of the queries with specific combination of labels is large) are more important than less frequent combinations. Assuming that a specific combination of label co-occurrence appears in the training data f times, in particular embodiments, f x UB and f1/2 x UB can be used for examples.
[0061]
Referring back to FIG. 4, at step S104, the learning system 130 trains the neural network of the NLQ classification model 110 based on the backpropagation algorithm by using the given training data 140. Note that the weights between the dedicated units and all output units corresponding to all document labels are updated through the training at step S104. Then, the process ends at step S105.
[0062]
The obtained parameters of the NLQ classification model 110 may be stored as the trained parameters 120 in an appropriate storage system. The classification model 110 based on the trained parameters 120 can predict appropriate one or more document labels for a new input query. So, the trained NLQ classification model can perform a natural language query classification task effectively.
[0063]
The dedicated units after the training can still simultaneously activate the related output units corresponding to the co-occurring labels even though the initialized weights of the dedicated units are updated through the training by the training module 136.
[0064]
According to the novel learning process shown in FIG. 4, co-occurrence multi-labels information can be embedded in the classification model without changing complexity of the classification model. The trained classification model 110 can predict appropriate one or more document labels for a new input query efficiently even if plurality of appropriate documents that have an answer for same query exist.
[0065]
Since computation of the novel weight initialization is negligible and computation of the backpropagation and the architecture of the neural network do not change between with and without the novel weight initialization. Thus, accuracy of the NLQ classification can be improved without increasing computational overhead for both training and classification.
[0066]
Also according to the novel learning process shown in FIG. 4, the value can vary based on a frequency of the combination appeared in the training data 140. Thus, the frequency of a specific combination appeared in the training data 140 can be taken into account in the initialized connection.
[0067]
Also according to the novel learning process shown in FIG. 4 where processing at step S102 is performed, relatively popular co-occurring combinations can be embedded in a preferential manner even if the number of the combinations is increased.
[0068]
Second Embodiment
Now referring to the series of FIGS. 6-7, it will be described a computer system and method for learning a classification model according to the second embodiment of the present invention.
[0069]
FIG. 6 illustrates a block diagram of a computer system incorporating a topic categorization model and a learning system for the topic categorization model according to the second embodiment of the present invention.
[0070]
As shown in FIG. 6, the computer system 200 includes the topic categorization model 210 that receives an input text 212 and outputs one or more topic category labels 214 based on trained parameters 220; and the topic categorization model learning system 230 that performs machine learning of the topic categorization model 210 based on training data 240 to obtain the trained parameters 220.
[0071]
Referring to FIG. 7, architecture 250 of the topic categorization model 210 is depicted. In the describing embodiment, the topic categorization model 210 is a neural network based classification model. The architecture 250 of the topic categorization model 210 includes a text input layer 252, a word layer 254, a BOW (bag-of-words) feature layer 256, a top hidden layer 258 and a label prediction layer 260.
[0072]
The topic categorization model 210 also may be required to accept texts with variable length. The topic categorization model 210 receives an input text in a form of natural sentence by the text input layer 252. Words in the input text are first subjected to appropriate pre-processing such as stop word removal, and then the processed words 254 are converted into simplified representation in the BOW feature layer 256. In the BOW, grammar and word order may be disregarded.
[0073]
The structure from the BOW feature layer 256 to the label prediction layer 260 constitutes a feed forward neural network with an input layer that accepts BOW feature, one or more hidden layers, and an output layer that outputs category predictions.
[0074]
The label prediction layer 260 has a plurality of units each corresponding to each predefined topic category label, such as "sports", "social ", "international", etc. The topic category labels can be defined manually by human experts. The number of the units in the label prediction layer 260 may be same as the number of the predefined categories. Additional units for combinations of label co-occurrence are not required in the describing embodiment. Loss function used in the label prediction layer 260 may be any loss function that can take care of multi-label, and such loss function preferably includes, but not limited to, negative log probability, cross entropy, and binary cross entropy.
[0075]
Typically, a structure from the BOW feature layer 256 to the label prediction layer 260 can be trained as a neural network. So, in describing embodiment, an input layer of the neural network is the BOW feature layer 256 and an output layer of the neural network is the label prediction layer 260. However, this is an example of possible designs for one or more embodiments of the present invention, whole structure from the text input layer 252 to the label prediction layer 260 can be trained as a neural network in particular other embodiment.
[0076]
Referring back to FIG. 6, the topic categorization model learning system 230 performs the process for learning the topic categorization model 210 according to the second embodiment of the present invention that is similar to the process for learning the NLQ classification model shown in FIG. 4. The topic categorization model learning system 230 performs the learning process using the given training data 240 to optimize parameters of the topic categorization model 210.
[0077]
In the describing embodiment, the training data 240 includes one or more instances of the training data, each of which has training input text such as news articles and one or more correct topic category labels assigned to the training input text. Some portions of the training data 240 may have multiple labels for a single instance of the input texts. The training input text may be prepared in a form of a natural sentence or representation of the natural sentence depending on the architecture of the neural network based classification model.
[0078]
In the describing embodiment, the learning system 230 includes a co-occurring combination listing module 232, a parameter initialization module 234 and a training module 236, each of which are configured as similar to corresponding module in the first embodiment shown in FIG. 2.
[0079]
Especially, the parameter initialization module 234 is configured to initialize the topic categorization model 210 with preparing each dedicated unit for each listed or selected combination in the top hidden layer 262. Each dedicated unit is initialized so as to activate simultaneously related output units corresponding to co-occurring labels in the combination among the label prediction layer 260 as described with FIG. 5. In other aspect, the parameter initialization module 234 is configured to initialize each connection between the dedicated unit and each related output unit with a value stronger than other connections between the dedicated unit and remaining output units.
[0080]
The trained topic categorization model 210 can predict appropriate one or more topic category labels for a new input text. So, the trained topic categorization model 210 can perform a natural language text categorization task effectively without increasing computational overhead during training and classification.
[0081]
Alternative Embodiment
As described above, the novel learning technique according to one or more embodiments of the present invention is not specific to the NLQ classification task and the topic categorization task; the technique can be generic and applicable to any classification task.
[0082]
Hereinafter, referring to the FIG. 8 there is shown a computer system and method for learning classification model according to an alternative embodiment of the present invention, in which the classification models is constructed in deep learning architectures.
[0083]
In the deep learning architecture, a multilayered deep neural network (DNN) has one or more hidden layers with a plurality of hidden units between input and output layers. FIG .8 shows a DNN based classification model 300 that performs a classification task.
[0084]
To train the DNN, typically, a two-steps learning process that includes an unsupervised pre-training and a supervised fine-tuning may be performed. Such two-steps learning process can be used for classification models for acoustic speech recognitions and image recognitions. The pre-training finds representation that well captures characteristics of the input and stacks layers with initializing parameters. Activation in the hidden layer can be seen as a better representation that expresses input. The fine-tuning process discriminatively updates the parameters of the DNN based on the representations estimated by the pre-training process. Of course this is an example of possible learning process for the DNN, in other embodiment, the pre-training may be omitted.
[0085]
Referring to FIG. 8, the DNN based classification model 300 includes one or more hidden layers 304-306 between an input layer 302 and an output layer 308. The DNN based classification model 300 receives an input signal, perform a classification task to output predicted labels based on the trained parameters.
[0086]
During the pre-training process, the parameters of the DNN based classification model 300 are initialized in a layer by layer manner if necessary. After initializing parameters for all layers, the DNN based classification model 300 is constructed by stacking the output layer 308 on the top hidden layer 306 and by adding a weight matrix for connections between units of the top hidden layer 306 and units of the output layer 308. The novel weight initialization technique can be applied to the DNN based classification model 300 so as to prepare the weight matrix between the top hidden layer 306 and the output layer 308.
[0087]
After all parameter initialization are completed, the whole DNN including the parameters initialized by the novel weight initialization are discriminatively trained by updating the parameters using backpropagation algorithm during the supervised fine-tuning process.
[0088]
In one or more embodiments according to the present invention, the weight matrix between the top hidden layer 306 and the output layer 308 of the DNN based classification model 300 can be initialized by using the novel weight initialization as described in FIG. 5. Thus, the computer system and method for learning the deep neural network based classification model may include the novel learning process shown in FIG.4 to initialize the weight matrix between top hidden layer 306 and output layer 308 before the fine-tuning process and to train the DNN based classification model 300 during the fine-tuning process. The trained DNN based classification model 300 can predict appropriate one or more labels for a new input signal. So, the trained DNN based classification model 300 can perform a classification task effectively without increasing computational overhead during training and classification.
[0089]
Even though the parameters are finely tuned after initializing the parameters in the deep learning architectures, resulted performance of the DNN based classification model 300 can be affected on how the parameters are initialized closely to the good solution. Accordingly, it can be expected that the performance of the DNN based classification model 300 can be improved by the novel learning process.
[0090]
Experimental Studies for Real-World Data
A program implementing the process shown in FIG. 4 according to the first embodiment was coded and executed for QA(question and answer) data in English in the insurance domain. Queries are inputted in natural language and the classification model returns the documents that contain answers for the query. 3,133 and 394 queries were included in the training data and the evaluation data, respectively. 1,695 and 158 co-occurring labels were found in the training data and the evaluation data, respectively. The number of the unique document labels assigned to the training data was 526.
[0091]
The neural network with the architecture shown in FIG. 3 was employed. The dimension of the distributed representation layer 156 was 100. The number of kernels for CNN, k, was set to be 1,000, which means 1,000 units exist in the top hidden layer 162. The number of output units in the label prediction layer 164 was set to be 526. This configuration was used in common in all examples and comparative examples for the real-world data. The neural network was randomly initialized in accordance with the normalized initialization, AdaGrad was used to control the learning rate and the number of training epochs was fixed to 1,000 for all examples and comparative examples unless otherwise noted.
[0092]
By the processing at step S101 shown in FIG. 4, 1,695 queries in the training data were found to have co-occurring multiple labels and 252 combinations of co-occurring labels were found. By the processing at step S103B shown in FIG. 4, a weight matrix of 1000 x 526 between the top hidden layer 162 and the label prediction layer 164 were initialized with preparing 252 dedicated hidden units for the examples and without preparing any dedicated hidden units for the comparative examples.
[0093]
Three evaluation metrics including "1-best accuracy", "Recall@5", and "Full accuracy" were used for evaluation. The "1-best accuracy" judges whether the 1-best result is included in the correct labels or not. The "Recall@5" judges whether the 5-best results includes at least one of the correct labels or not. Assuming that j labels are assigned to the query, the "Full accuracy" investigates the j-best results and judges whether the j-best results match the correct labels or not. If a query has three labels, the system needs to return 3-best results that contain the three correct labels of the query to obtain 100% full accuracy.
[0094]
For the examples 1-3 and the comparative examples 1-3, three different loss functions including negative log likelihood (example 1, comparative example1), cross entropy (example 2, comparative example 2) and binary cross entropy (example 3, comparative example 3) were used. As for the examples 1-3, the value C for the novel learning process was set to be the upper bound of randomization for other rows.
[0095]
The evaluated results of the examples 1-3 and the comparative examples 1-3 are summarized as follow:
[0096]
[Table 1]
2017049684.tif 000021
[0097]
Table 1 shows the experimental results using three different loss functions. By comparing the accuracy between the examples 1-3 and the comparative examples 1-3, improvement for all loss functions with every evaluation metric were obtained by the novel learning process. Among the examples 1-3, the example 2 (with cross entropy loss function) was shown to be best in all three metrics, where 1-best accuracy improvement from 50.51% to 52.54% was statistically significant (p < 0.05).
[0098]
The analysis on whether the dedicated units for combinations still simultaneously activate the corresponding labels in the trained neural network for the examples 1-3 are summarized as follow:
[0099]
[Table 2]
2017049684.tif 000022
[0100]
Table 2 shows the analysis on the neural networks trained. In the column of the number of the survived unit, the number of the dedicated units that were initialized for the combination of k-label and still had the k largest weights to the corresponding k labels after back-propagation is presented. It was demonstrated that large portions of the dedicated units “survived” after backpropagation in all examples 1-3.
[0101]
In the columns of weights, the mean of the connection weights between the dedicated units and the corresponding co-occurring labels, and the mean of all connections in the weight matrix are presented. The trained weights for the connections between the dedicated units and the corresponding co-occurring outputs (Weights-Dedicated) were much stronger than the average weights (Weights-All). It was shown that the novel initialization yields the dedicated units that activate simultaneously the co-occurring labels even after backpropagation.
[0102]
The value C for the novel learning process was set to be the upper bound in the examples 1-3, different initialization values including C = 1.0 (example 4), C = f x UB (example 5), C = f1/2 x UB (example 6) where f is the frequency of the set of the multiple labels in the training data, were employed. The loss function for all examples 4-6 was the cross entropy loss.
[0103]
The evaluated results of the examples 2, 4-6 and the comparative example 2 with the cross entropy function are summarized as follow:
[0104]
[Table 3]
2017049684.tif 000023
[0105]
The results in Table 3 show that using f1/2 x UB yielded further improvement in both 1-best accuracy and full accuracy. It was shown that setting C according to the square root of the frequency of the set of multiple labels in the training data can further improve the accuracy.
[0106]
The real-world classification task usually suffers from limited data size. Here, the training data size was decreased from the original 3,133 (example 2 and comparative example 2) to 1,000 (example 7 and comparative example 4) and 2,000 (example 8 and comparative example 5). Cross entropy loss function was used for examples 7-8 and comparative examples 4-5. When training with the 1K and 2K training data, subset of combinations of co-occurring label were extracted from these two sets individually.
[0107]
The evaluated results of the examples 2, 7-8 and the comparative example 2, 4-5 with the cross entropy function are summarized as follow:
[0108]
[Table 4]
2017049684.tif 000024
[0109]
The results in Table 4 indicate that the novel learning method consistently improved the1-best accuracy even if training data was further limited.
[0110]
FIG. 9 shows classification accuracy versus training epoch on the 3K data during training for the example 2 and the comparative example 2. The novel weight initialization outperformed the random initialization from early stage of training epochs. It was demonstrated that the novel weight initialization can improve accuracy in real-world data with limited size of training data and limited training time.
[0111]
Experimental Studies for Open Public Data
The program implementing the process shown in FIG. 4 was executed for public multi-label topic categorization data (Reuters Corpus Volume 1; RCV1). RCV1 has 23,149 training text and 781,265 evaluation text with 103 topic labels.
[0112]
The neural network with architecture shown in FIG. 7 with the top hidden layer 258 of 2,000 units, and the label prediction layer 260 of 103 output units with cross entropy loss function was employed. By the processing at step S103B shown in FIG. 4, a weight matrix of 2000 x 103 between the top hidden layer 258 and the label prediction layer 260 were initialized with preparing dedicated hidden units with UB for example 9 and without preparing any dedicated hidden units for comparative example 6.
[0113]
The 1-best accuracy of the topic label classification in the comparative example 6 was 93.95%. By comparing with the comparative example 6, the 1-best accuracy of the topic label classification was improved from 93.95% to 94.60% which was statistically significant (p < 0.001).
[0114]
Cloud Environment Implementation
It is understood in advance that although this disclosure includes a detailed description on cloud computing, implementation of the teachings recited herein are not limited to a cloud computing environment. Rather, embodiments of the present invention are capable of being implemented in conjunction with any other type of computing environment now known or later developed.
[0115]
Cloud computing is a model of service delivery for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g. networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with a provider of the service. This cloud model may include at least five characteristics, at least three service models, and at least four deployment models.
[0116]
Characteristics are as follows:
On-demand self-service: a cloud consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with the service’s provider.
Broad network access: capabilities are available over a network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).
Resource pooling: the provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to demand. There is a sense of location independence in that the consumer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter).
Rapid elasticity: capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out and rapidly released to quickly scale in. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time.
Measured service: cloud systems automatically control and optimize resource use by leveraging metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported providing transparency for both the provider and consumer of the utilized service.
[0117]
Service Models are as follows:
Software as a Service (SaaS): the capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based e-mail). The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.
Platform as a Service (PaaS): the capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including networks, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations.
Infrastructure as a Service (IaaS): the capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls).
[0118]
Deployment Models are as follows:
Private cloud: the cloud infrastructure is operated solely for an organization. It may be managed by the organization or a third party and may exist on-premises or off-premises.
Community cloud: the cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be managed by the organizations or a third party and may exist on-premises or off-premises.
Public cloud: the cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services.
Hybrid cloud: the cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load-balancing between clouds).
[0119]
A cloud computing environment is service oriented with a focus on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure comprising a network of interconnected nodes.
[0120]
Referring now to FIG. 10, a schematic of an example of a cloud computing node is shown. Cloud computing node 10 is only one example of a suitable cloud computing node and is not intended to suggest any limitation as to the scope of use or functionality of embodiments of the invention described herein. Regardless, cloud computing node 10 is capable of being implemented and/or performing any of the functionality set forth hereinabove.
[0121]
In cloud computing node 10 there is a computer system/server 12, which is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with computer system/server 12 include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and distributed cloud computing environments that include any of the above systems or devices, and the like.
[0122]
Computer system/server 12 may be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types. Computer system/server 12 may be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.
[0123]
As shown in FIG. 10, computer system/server 12 in cloud computing node 10 is shown in the form of a general-purpose computing device. The components of computer system/server 12 may include, but are not limited to, one or more processors or processing units 16, a system memory 28, and a bus 18 that couples various system components including system memory 28 to processor 16. Bus 18 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnects (PCI) bus.
[0124]
Computer system/server 12 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by computer system/server 12, and it includes both volatile and non-volatile media, removable and non-removable media.
[0125]
System memory 28 can include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and/or cache memory 32. Computer system/server 12 may further include other removable/non-removable, volatile/non-volatile computer system storage media. By way of example only, storage system 34 can be provided for reading from and writing to a non-removable, non-volatile magnetic media (not shown and typically called a "hard drive"). Although not shown, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a "floppy disk"), and an optical disk drive for reading from or writing to a removable, non-volatile optical disk such as a CD-ROM, DVD-ROM or other optical media can be provided. In such instances, each can be connected to bus 18 by one or more data media interfaces. As will be further depicted and described below, memory 28 may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the invention.
[0126]
Program/utility 40, having a set (at least one) of program modules 42, may be stored in memory 28 by way of example, and not limitation, as well as an operating system, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data or some combination thereof, may include an implementation of a networking environment. Program modules 42 generally carry out the functions and/or methodologies of embodiments of the invention as described herein.
[0127]
Computer system/server 12 may also communicate with one or more external devices 14 such as a keyboard, a pointing device, a display 24, etc.; one or more devices that enable a user to interact with computer system/server 12; and/or any devices (e.g., network card, modem, etc.) that enable computer system/server 12 to communicate with one or more other computing devices. Such communication can occur via Input/Output (I/O) interfaces 22. Still yet, computer system/server 12 can communicate with one or more networks such as a local area network (LAN), a general wide area network (WAN), and/or a public network (e.g., the Internet) via network adapter 20. As depicted, network adapter 20 communicates with the other components of computer system/server 12 via bus 18. It should be understood that although not shown, other hardware and/or software components could be used in conjunction with computer system/server 12. Examples, include, but are not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems, etc.
[0128]
Referring now to FIG. 11, illustrative cloud computing environment 50 is depicted. As shown, cloud computing environment 50 comprises one or more cloud computing nodes 10 with which local computing devices used by cloud consumers, such as, for example, personal digital assistant (PDA) or cellular telephone 54A, desktop computer 54B, laptop computer 54C, and/or automobile computer system 54N may communicate. Nodes 10 may communicate with one another. They may be grouped (not shown) physically or virtually, in one or more networks, such as Private, Community, Public, or Hybrid clouds as described hereinabove, or a combination thereof. This allows cloud computing environment 50 to offer infrastructure, platforms and/or software as services for which a cloud consumer does not need to maintain resources on a local computing device. It is understood that the types of computing devices 54A-N shown in FIG. 11 are intended to be illustrative only and that computing nodes 10 and cloud computing environment 50 can communicate with any type of computerized device over any type of network and/or network addressable connection (e.g., using a web browser).
[0129]
Referring now to FIG. 12, a set of functional abstraction layers provided by cloud computing environment 50 (FIG. 11) is shown. It should be understood in advance that the components, layers, and functions shown in FIG. 12 are intended to be illustrative only and embodiments of the invention are not limited thereto. As depicted, the following layers and corresponding functions are provided:
[0130]
Hardware and software layer 60 includes hardware and software components. Examples of hardware components include: mainframes; RISC (Reduced Instruction Set Computer) architecture based servers; storage devices; networks and networking components. In some embodiments, software components include network application server software. 
[0131]
Virtualization layer 62 provides an abstraction layer from which the following examples of virtual entities may be provided: virtual servers; virtual storage; virtual networks, including virtual private networks; virtual applications and operating systems; and virtual clients.
[0132]
In one example, management layer 64 may provide the functions described below. Resource provisioning provides dynamic procurement of computing resources and other resources that are utilized to perform tasks within the cloud computing environment. Metering and Pricing provide cost tracking as resources are utilized within the cloud computing environment, and billing or invoicing for consumption of these resources. In one example, these resources may comprise application software licenses. Security provides identity verification for cloud consumers and tasks, as well as protection for data and other resources. User portal provides access to the cloud computing environment for consumers and system administrators. Service level management provides cloud computing resource allocation and management such that required service levels are met. Service Level Agreement (SLA) planning and fulfillment provide pre-arrangement for, and procurement of, cloud computing resources for which a future requirement is anticipated in accordance with an SLA.
[0133]
Workloads layer 66 provides examples of functionality for which the cloud computing environment may be utilized. Examples of workloads and functions which may be provided from this layer include: mapping and navigation; software development and lifecycle management; virtual classroom education delivery; data analytics processing; transaction processing; and classification model learning processing.
[0134]
In particular embodiments, there is provided a computer program product or software that implements the classification model learning processing in accordance with embodiments described herein, as a service in a cloud environment. In a particular embodiment, the above-mentioned learning process of the neural network based classification model may be performed in the cloud computing environment.
[0135]
Computer Program Implementation
The present invention may be a computer system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
[0136]
The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
[0137]
Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
[0138]
Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
[0139]
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
[0140]
These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
[0141]
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
[0142]
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
[0143]
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising”, when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and/or groups thereof.
[0144]
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below, if any, are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of one or more aspects of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed.
[0145]
Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.
[Claim 1]
A computer-implemented method for learning a classification model using one or more training data each having a training input and one or more correct labels assigned to the training input, the classification model having a plurality of hidden units and a plurality of output units, the method comprising:
obtaining a combination of co-occurring labels expected to be appeared together for an input to the classification model;
initializing the classification model with preparing a dedicated unit for the combination from among the plurality of the hidden units so as to activate together related output units connected to the dedicated unit among the plurality of the output units, each related output unit corresponding to each co-occurring label in the combination; and
training the classification model using the one or more training data.
[Claim 2]
The method of claim 1, wherein the dedicated unit has a connection with each related output unit, each connection being initialized with a value stronger than other connections between the dedicated unit and remaining output units other than the related output units and between at least part of remaining hidden units among the plurality of the hidden units and the plurality of the output units including the related output units.
[Claim 3]
The method of claim 1, wherein the plurality of the hidden units forms one or more hidden layers and the plurality of the output units forms an output layer, the initializing the classification model comprising:
initializing a weight matrix between the output layer and a hidden layer below the output layer, the weight matrix having a dedicated row for the combination of the co-occurring labels and remaining rows other than the dedicated row, the dedicated row having columns each corresponding to each co-occurring label, the columns being initialized with a value stronger than any remaining columns in the dedicated row other than columns corresponding to the co-occurring labels in the combination and other columns in the remaining rows.
[Claim 4]
The method of claim 2, wherein the value is an upper limit value for the connection or an upper bound value for normalized initialization.
[Claim 5]
The method of claim 2, wherein the value varies based on a frequency of the combination appeared in the one or more training data.
[Claim 6]
The method of claim 3, wherein the value varies based on a frequency of the combination appeared in the one or more training data.
[Claim 7]
The method of claim 2, wherein the initializing the classification model comprises:
preparing connections between the dedicated unit and remaining output units with zero; and
preparing at least part of remaining hidden units among the plurality of the hidden units with random initialization.
[Claim 8]
The method of claim 1, wherein the obtaining the combination of the co-occurring labels comprises:
listing a plurality of combinations of labels co-occurred in the one or more training data; and
selecting a subset from among the plurality of the combinations based on a frequency of appearance relevant to each combination in the one or more training data.
[Claim 9]
The method of claim 1, wherein the training input is a query in a form of a natural sentence or representation of the natural sentence and each correct label is a document identifier identifying a document having an answer for the query, the classification model performing a natural language query classification task.
[Claim 10]
The method of claim 1, wherein the training input is a text in a form of a natural sentence or representation of the natural sentence and each correct label is an attribute assigned for the text, the classification model performing a text classification task.
[Claim 11]
The method of claim 1, wherein the dedicated unit after the training still simultaneously activates the related output units corresponding to the co-occurring labels in the combination.
[Claim 12]
A computer-implemented method for learning a classification model using one or more training data each having a training input and one or more correct labels assigned to the training input, the classification model having a plurality of hidden units and a plurality of output units, the method comprising:
listing a combination of co-occurring labels appeared together in the one or more training data;
initializing the classification model with preparing a dedicated unit for the combination, the dedicated unit having connections with related output units each corresponding to each co-occurring label in the combination, each connection being initialized with a value stronger than other connections with remaining output units and between at least part of remaining hidden units among the plurality of the hidden units and the plurality of the output units including the related output units; and
training the classification model using the one or more training data.
[Claim 13]
A computer system for learning a classification model using one or more training data each having a training input and one or more correct labels assigned to the training input, the classification model having a plurality of hidden units and a plurality of output units, the computer system comprising:
a listing module configured to obtain a combination of co-occurring labels expected to be appeared together for an input to the classification model;
an initialization module configured to initialize the classification model with preparing a dedicated unit for the combination from among the plurality of the hidden units so as to activate together related output units connected to the dedicated unit among the plurality of the output units, each related output unit corresponding to each co-occurring label in the combination; and
a training module configured to train the classification model using the one or more training data.
[Claim 14]
The computer system of claim 13, wherein the dedicated unit has a connection with each related output unit, each connection being initialized with a value stronger than other connections between the dedicated unit and remaining output units other than the related output units and between at least part of remaining hidden units among the plurality of the hidden units and the plurality of the output units including the related output units.
[Claim 15]
The computer system of claim 13, wherein the plurality of the hidden units forms one or more hidden layers and the plurality of the output units forms an output layer, the initialization module being further configured to:
initialize a weight matrix between the output layer and a hidden layer below the output layer, the weight matrix having a dedicated row for the combination of the co-occurring labels and remaining rows other than the dedicated row, the dedicated row having columns each corresponding to each co-occurring label, the columns being initialized with a value stronger than any remaining columns in the dedicated row other than columns corresponding to the co-occurring labels in the combination and other columns in the remaining rows.
[Claim 16]
The computer system of claim 14, wherein the value is an upper limit value for the connection or an upper bound value for normalized initialization.
[Claim 17]
The computer system of claim 14, wherein the value varies based on a frequency of the combination appeared in the one or more training data.
[Claim 18]
The computer system of claim 13, wherein the initialization module is further configured to:
prepare connections between the dedicated unit and remaining output units with zero; and 
prepare at least part of remaining hidden units among the plurality of the hidden units with random initialization.
[Claim 19]
The computer system of claim 13, wherein the listing module is further configured to:
list a plurality of combinations of labels co-occurred in the one or more training data; and
select a subset from among the plurality of the combinations based on a frequency of appearance relevant to each combination in the one or more training data.
[Claim 20]
The computer system of claim 13, wherein the computer system is provided in a cloud computing environment.
[Claim 21]
A computer system for learning a classification model by executing program instructions using one or more training data each having a training input and one or more correct labels assigned to the training input, the classification model having a plurality of hidden units and a plurality of output units, the computer system comprising:
a memory tangibly stores the program instructions; and
a processor in communications with the memory, wherein the computer system is configured to:
obtain a combination of co-occurring labels expected to be appeared together for an input to the classification model;
initialize the classification model with preparing a dedicated unit for the combination from among the plurality of the hidden units so as to activate together related output units connected to the dedicated unit among the plurality of the output units, each related output unit corresponding to each co-occurring label in the combination; and
train the classification model using the one or more training data.
[Claim 22]
A computer program for learning a classification model using one or more training data each having a training input and one or more correct labels assigned to the training input, the classification model having a plurality of hidden units and a plurality of output units, the computer program having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to perform a computer-implemented method comprising:
obtaining a combination of co-occurring labels expected to be appeared together for an input to the classification model;
initializing the classification model with preparing a dedicated unit for the combination from among the plurality of the hidden units so as to activate together related output units connected to the dedicated unit among the plurality of the output units, each related output unit corresponding to each co-occurring label in the combination; and
training the classification model using the one or more training data.
[Claim 23]
The computer program of claim 22, wherein the dedicated unit has a connection with each related output unit, each connection being initialized with a value stronger than other connections between the dedicated unit and remaining output units other than the related output units and between at least part of remaining hidden units among the plurality of the hidden units and the plurality of the output units including the related output units.
[Claim 24]
The computer program of claim 23, wherein the value varies based on a frequency of the combination appeared in the one or more training data.
[Claim 25]
The computer program of claim 22, wherein the obtaining the combination of the co-occurring labels comprises:
listing a plurality of combinations of labels co-occurred in the one or more training data; and
selecting a subset from among the plurality of the combinations based on a frequency of appearance relevant to each combination in the one or more training data.
[Abstract]
[Problem]            To improve accuracy of classification without increasing computational overhead for training and classification.
[Solution]            A method for learning a classification model 110 using one or more training data 140 is disclosed. Each training data has a training input and one or more correct labels assigned to the training input. The classification model has a plurality of hidden units and a plurality of output units. A combination of co-occurring labels that are expected to be appeared together for an input to the classification model is obtained at step S101. At step 103, the classification model is initialized with preparing a dedicated unit for the combination from among the plurality of the hidden units so as to activate together related output units connected to the dedicated unit among the plurality of the output units, in which each related output unit corresponds to each co-occurring label in the combination. At step S104, the classification model is trained using the one or more training data.
[Selected Drawing]           FIG. 4
[FIG. 1]
2017049684.tif 000025
[FIG. 2]
2017049684.tif 000026
[FIG. 3]
2017049684.tif 000027
[FIG. 4]
2017049684.tif 000028
[FIG. 5]
2017049684.tif 000029
[FIG. 6]
2017049684.tif 000030
[FIG. 7]
2017049684.tif 000031
[FIG. 8]
2017049684.tif 000032
[FIG. 9]
2017049684.tif 000033
[FIG. 10]
2017049684.tif 000034
[FIG. 11]
2017049684.tif 000035
[FIG. 12]
2017049684.tif 000036