(57)【特許請求の範囲】
【請求項１】
レコメンドシステムの少なくとも二つの弱教師レコメンドモデルを生成するステップと、
ニューラルネットワークモデルを訓練することにより、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を学習するステップと、
訓練後の前記ニューラルネットワークモデルを用いて、サンプルデータに対してラベルを付け直して、更新後のサンプルデータを得るステップと、を含むことを特徴とするサンプルデータの生成方法。
【請求項２】
ニューラルネットワークモデルを訓練することにより、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を学習するステップは、
前記少なくとも二つの弱教師レコメンドモデルの出力に基づき、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を表すためのニューラルネットワークモデルを構築するステップと、
前記少なくとも二つの弱教師レコメンドモデルの出力の同時確率を最大化することにより、前記ニューラルネットワークモデルのパラメータを訓練し、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を生成するステップと、を含むことを特徴とする請求項１に記載のサンプルデータの生成方法。
【請求項３】
訓練後の前記ニューラルネットワークモデルを用いて、サンプルデータに対してラベルを付け直すステップは、
前記少なくとも二つの弱教師レコメンドモデルのサンプルデータに対するラベリング結果を取得するステップと、
訓練後の前記ニューラルネットワークモデルを用いて、前記ラベリング結果の最尤推定値を得て、前記ラベリング結果の最尤推定値に基づいて、サンプルデータに対してラベルを付け直すステップと、を含むことを特徴とする請求項１に記載のサンプルデータの生成方法。
【請求項４】
前記のレコメンドシステムの少なくとも二つの弱教師レコメンドモデルを生成するステップは、
既存の弱教師ラベルに基づいて、訓練により複数の異なるタイプの弱教師レコメンドモデルを生成するステップと、
各タイプの弱教師レコメンドモデルから、ラベル性能が所定の閾値より高い弱教師レコメンドモデルをそれぞれ選択して、前記少なくとも二つの弱教師レコメンドモデルを得るステップと、を含むことを特徴とする請求項１に記載のサンプルデータの生成方法。
【請求項５】
更新後のサンプルデータを得た後に、さらに、
更新後のサンプルデータを用いて、訓練により前記レコメンドシステムの目標レコメンドモデルを得るステップ、を含むことを特徴とする請求項１から４のいずれか一項に記載のサンプルデータの生成方法。
【請求項６】
レコメンドシステムの少なくとも二つの弱教師レコメンドモデルを生成するレコメンドモデル取得ユニットと、
ニューラルネットワークモデルを訓練することにより、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を学習するニューラルネットワークモデル学習ユニットと、
訓練後の前記ニューラルネットワークモデルを用いて、サンプルデータに対してラベルを付け直して、更新後のサンプルデータを得るラベル付け直しユニットと、を含むことを特徴とするサンプルデータの生成装置。
【請求項７】
前記ニューラルネットワークモデル学習ユニットは、
前記少なくとも二つの弱教師レコメンドモデルの出力に基づき、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を表すためのニューラルネットワークモデルを構築し、
前記少なくとも二つの弱教師レコメンドモデルの出力の同時確率を最大化することにより、前記ニューラルネットワークモデルのパラメータを訓練し、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を生成することを特徴とする請求項６に記載のサンプルデータの生成装置。
【請求項８】
前記ラベル付け直しユニットは、
前記少なくとも二つの弱教師レコメンドモデルのサンプルデータに対するラベリング結果を取得し、
訓練後の前記ニューラルネットワークモデルを用いて、前記ラベリング結果の最尤推定値を得て、前記ラベリング結果の最尤推定値に基づいて、サンプルデータに対してラベルを付け直すことを特徴とする請求項６に記載のサンプルデータの生成装置。
【請求項９】
前記レコメンドモデル取得ユニットは、
既存の弱教師ラベルに基づいて、訓練により複数の異なるタイプの弱教師レコメンドモデルを生成し、
各タイプの弱教師レコメンドモデルから、ラベル性能が所定の閾値より高い弱教師レコメンドモデルをそれぞれ選択して、前記少なくとも二つの弱教師レコメンドモデルを得ることを特徴とする請求項６に記載のサンプルデータの生成装置。
【請求項１０】
更新後のサンプルデータを用いて、訓練により前記レコメンドシステムの目標レコメンドモデルを訓練して得る目標レコメンドモデル訓練ユニット、をさらに含むことを特徴とする請求項６から９のいずれか一項に記載のサンプルデータの生成装置。
【請求項１１】
プロセッサによって実行される際に、請求項１から５のいずれか一項に記載のサンプルデータの生成方法のステップを実現するコンピュータプログラムが記憶されていることを特徴とする、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は機械学習の技術分野に関し、具体的には、サンプルデータの生成方法、装置及びコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
近年、レコメンドシステムは、検索エンジンやeコマースのＷｅｂサイトなど、多くの分野でうまく適用されている。レコメンドシステムは、ユーザデータのマイニングに基づいてレコメンドモデルを構築し、ニーズに合った製品や情報やサービス等の内容をユーザに推薦することにより、ユーザが情報過多の問題を解決するのに役立っている。
【０００３】
既存のレコメンドシステムは、レコメンドモデルの訓練プロセスを、ラベル（評価など）またはユーザからの特定行為の教師問題とみなす。この明示的な方法は明確なラベルを提供するが、これらのラベルの信頼性には問題があり、その原因にはユーザのさまざまな原因による誤ラベリングなどが含まれる。
【０００４】
教師あり学習の技術は、大量の訓練サンプルを学習することによりレコメンドモデルを構築し、その中の各訓練サンプルの全てには、その真値の出力をマークするラベルが有る。現在の技術は大成功を収めているが、データラベリングプロセスのコストが高いため、多くのタスクで全ての真値のラベルのような強力な教師情報を取得するのが困難であることに注意しなければならない。よって、弱教師ありの機械学習技術を用いることが望ましい。
【０００５】
弱教師あり学習は、訓練サンプルのラベルが信頼できないものである。例えば、（ｘ、ｙ）は、ｙのｘに対するラベルが信頼できないものである。ここでの信頼できないものには、不正確なラベリング、多種のラベリング、不十分なラベリング、ローカルラベリングなどが含まれる。教師情報が不完全または不明確な対象の学習問題は、弱教師あり学習と総称される。訓練サンプルのラベルの信頼性が低いため、弱教師あり学習に基づいて構築されたレコメンドモデルの性能に対して悪影響を及ぼす。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の実施例が解決しようとする課題は、サンプルデータのラベル品質を向上することができ、それによって該サンプルデータに基づいて訓練したレコメンドモデルの性能を改善可能な、サンプルデータの生成方法、装置及びコンピュータ読み取り可能な記憶媒体を提供することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の実施例が提供するサンプルデータの生成方法は、レコメンドシステムの少なくとも二つの弱教師レコメンドモデルを生成するステップと、ニューラルネットワークモデルを訓練することにより、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を学習するステップと、訓練後の前記ニューラルネットワークモデルを用いて、サンプルデータに対してラベルを付け直して、更新後のサンプルデータを得るステップと、を含む。
【０００８】
好ましくは、ニューラルネットワークモデルを訓練することにより、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を学習するステップは、前記少なくとも二つの弱教師レコメンドモデルの出力に基づき、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を表すためのニューラルネットワークモデルを構築するステップと、前記少なくとも二つの弱教師レコメンドモデルの出力の同時確率を最大化することにより、前記ニューラルネットワークモデルのパラメータを訓練し、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を生成するステップと、を含む。
【０００９】
好ましくは、訓練後の前記ニューラルネットワークモデルを用いて、サンプルデータに対してラベルを付け直すステップは、前記少なくとも二つの弱教師レコメンドモデルのサンプルデータに対するラベリング結果を取得するステップと、訓練後の前記ニューラルネットワークモデルを用いて、前記ラベリング結果の最尤推定値を得て、前記ラベリング結果の最尤推定値に基づいて、サンプルデータに対してラベルを付け直すステップと、を含む。
【００１０】
好ましくは、前記のレコメンドシステムの少なくとも二つの弱教師レコメンドモデルを生成するステップは、既存の弱教師ラベルに基づいて、訓練により複数の異なるタイプの弱教師レコメンドモデルを生成するステップと、各タイプの弱教師レコメンドモデルから、ラベル性能が所定の閾値より高い弱教師レコメンドモデルをそれぞれ選択して、前記少なくとも二つの弱教師レコメンドモデルを得るステップと、を含む。
【００１１】
好ましくは、更新後のサンプルデータを得た後に、さらに、更新後のサンプルデータを用いて、訓練により前記レコメンドシステムの目標レコメンドモデルを得るステップを含む。
【００１２】
本発明の実施の実施例は、サンプルデータの生成装置も提供しており、該装置は、レコメンドシステムの少なくとも二つの弱教師レコメンドモデルを生成するレコメンドモデル取得ユニットと、ニューラルネットワークモデルを訓練することにより、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を学習するニューラルネットワークモデル学習ユニットと、訓練後の前記ニューラルネットワークモデルを用いて、サンプルデータに対してラベルを付け直して、更新後のサンプルデータを得るラベル付け直しユニットと、を含む。
【００１３】
好ましくは、前記ニューラルネットワークモデル学習ユニットは、前記少なくとも二つの弱教師レコメンドモデルの出力に基づき、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を表すためのニューラルネットワークモデルを構築し、前記少なくとも二つの弱教師レコメンドモデルの出力の同時確率を最大化することにより、前記ニューラルネットワークモデルのパラメータを訓練し、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を生成する。
【００１４】
好ましくは、前記ラベル付け直しユニットは、前記少なくとも二つの弱教師レコメンドモデルのサンプルデータに対するラベリング結果を取得し、訓練後の前記ニューラルネットワークモデルを用いて、前記ラベリング結果の最尤推定値を得て、前記ラベリング結果の最尤推定値に基づいて、サンプルデータに対してラベルを付け直す。
【００１５】
好ましくは、前記レコメンドモデル取得ユニットは、既存の弱教師ラベルに基づいて、訓練により複数の異なるタイプの弱教師レコメンドモデルを生成し、各タイプの弱教師レコメンドモデルから、ラベル性能が所定の閾値より高い弱教師レコメンドモデルをそれぞれ選択して、前記少なくとも二つの弱教師レコメンドモデルを得る。
【００１６】
好ましくは、上記生成装置は、更新後のサンプルデータを用いて、訓練により前記レコメンドシステムの目標レコメンドモデルを得る目標レコメンドモデル訓練ユニットをさらに含む。
【００１７】
本発明の実施例は、メモリと、プロセッサと、メモリ上に記憶されておりプロセッサで実行可能なコンピュータプログラムと、を備えるサンプルデータの生成装置も提供しており、前記コンピュータプログラムがプロセッサによって実行される際に、上記のサンプルデータの生成方法のステップを実現する。
【００１８】
本発明の実施例はコンピュータ読み取り可能な記憶媒体も提供しており、前記コンピュータ読み取り可能な記憶媒体にはコンピュータプログラムが記憶されており、前記コンピュータプログラムがプロセッサによって実行される際に、上記のサンプルデータの生成方法のステップを実現する。
【００１９】
従来技術に比べ、本発明の実施例が提供するサンプルデータの生成方法、装置及びコンピュータ読み取り可能な記録媒体は、ニューラルネットワークモデルによって複数の弱教師レコメンドモデル間の依存関係を学習するとともに、上記依存関係を用いてサンプルデータのラベリング品質を向上させ、サンプルデータの誤ラベリングのレコメンドモデル訓練に対する不利な影響を回避するか減少させ、訓練後のレコメンドモデルの性能を改善することができる。
【図面の簡単な説明】
【００２０】
本発明の実施例の技術案をより明瞭にするために、以下に本発明の実施例に対する記述に使用される図面を簡単に説明する。明らかに、以下に記載の図面は本発明の実施例に過ぎず、創造的な作業を行わない前提下で、これらの図面により得られるその他の図面も可能であることは、当業者にとって自明である。
【図１】本発明の実施例のサンプルデータの生成方法のフロー図である。
【図２】本発明の実施例で構築する、ニューラルネットワークモデルの例を示す図である。
【図３】本発明の実施例のサンプルデータの生成方法の別のフロー図である。
【図４】本発明の実施例のサンプルデータの生成装置の構造図である。
【図５】本発明の実施例のサンプルデータの生成装置の別の構造図である。
【図６】本発明の実施例のサンプルデータの生成装置の更に別の構造図である。
【発明を実施するための形態】
【００２１】
本発明が解決しようとする課題と技術案と利点をさらに明瞭にするために、以下、図面及び具体的実施例を組み合わせて詳細に記載する。以下の図面において、具体的な配置とモジュールの特定の細部は本発明の実施例全体を理解するのを助けるためのものにすぎない。よって、ここの記載の実施例に対する各種改変と改修は本発明の範囲と精神を逸脱しないことを当業者は承知すべきである。また、明晰と簡潔のために、既知の機能と構造に対する記載は省略する。
【００２２】
明細書全体で言及した「一つの実施例」または「一実施例」は実施例と関係する特定の特徴や構造や特性が本発明の少なくとも一つの実施例中に含むことを意味している、と理解すべきである。よって、明細書全体の各所に出てくる「一つの実施例において」または「一実施例において」が必ず同じ実施例を指しているとは限らない。また、これらと特定の特徴、構造、特性は任意の適切な方法で、一つ又は複数の実施例に組み合わせることが可能である。
【００２３】
本発明の各種実施例において、以下の各プロセスの番号の大きさは実行順序の前後を意味するのではない。各プロセスの実行順序は、その機能と内在的論理に依存し、本発明実施例の実施過程に対していかなる限定も行われない。
【００２４】
図１は、本発明の実施例が提供するサンプルデータの生成方法のフロー図であり、該サンプルデータの生成方法はサンプルデータのラベル品質を向上させることができ、それによって、該サンプルデータに基づいて訓練したレコメンドモデルの性能を改善することができる。図１に示すように、本発明の実施例が提供するサンプルデータの生成方法は以下のステップを含む。
【００２５】
ステップ１０１において、レコメンドシステムの少なくとも二つの弱教師レコメンドモデルを生成する。
【００２６】
ここで、本発明の実施例は、既存の訓練サンプルに基づいて、レコメンドシステムの少なくとも二つの弱教師レコメンドモデルを訓練して得ることが可能である。通常、前記訓練サンプルは信頼できないラベルを含んでいるので、訓練後のレコメンドモデルは弱教師レコメンドモデルである。具体的に、各弱教師レコメンドモデルが採用する訓練サンプルは、完全に同じであっても良いし、部分的に同じであっても良いし、完全に異なっても良く、本発明ではこれについて具体的に限定しない。
【００２７】
ステップ１０２において、ニューラルネットワークモデルを訓練することにより、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を学習する。
【００２８】
ここで、弱教師レコメンドモデル間の依存関係を学習しやすくするために、本発明の実施例は、ニューラルネットワークモデルを構築する。具体的に、前記少なくとも二つの弱教師レコメンドモデルの出力に基づき、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を表すのに用いるニューラルネットワークモデルを構築する。通常、該ニューラルネットワークモデルは少なくとも２層のネットワークを含む。その後、前記少なくとも二つの弱教師レコメンドモデルの出力の同時確率を最大化することにより、前記ニューラルネットワークモデルのパラメータを訓練し、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を生成する。前記ニューラルネットワークモデルを訓練する際、前記少なくとも二つの弱教師レコメンドモデルの同一サンプルデータに対する出力（ラベル）を用いて、前記出力の尤度関数を最大化することを目標とした訓練を行い、前記ニューラルネットワークモデルのパラメータを最終的に得る。これらのパラメータは、少なくとも二つの弱教師レコメンドモデル間の依存関係を反映している。
【００２９】
図２は、本発明の実施例の、二つの弱教師レコメンドモデルに対して構築するニューラルネットワークモデルの例である。該ニューラルネットワークモデルは２層のネットワークを含んでおり、２層のニューラルネットワークは、AND、OR、NAND、XORを含むすべての論理演算を含んで表すことができる。なお、λ1とλ２はそれぞれ、二つの弱教師レコメンドモデルの同一サンプルデータに対する出力を表しており、Yはラベルの取る範囲を表しており、Pθ（λ1,λ２,Y）は該二つの弱教師レコメンドモデルの出力の尤度関数を表しており、θはニューラルネットワークモデル中のパラメータ（例えばニューロン間の重みパラメータなど）を表している。尤度関数Pθ（λ1,λ２,Y）を最大化することにより、ニューラルネットワークモデル中のパラメータを訓練することができる。
【００３０】
ステップ１０３において、訓練後の前記ニューラルネットワークモデルを用いて、サンプルデータに対してラベルを付け直して、更新後のサンプルデータを得る。
【００３１】
本発明の実施例は、ステップ１０２によって訓練後のニューラルネットワークモデルを得た後、本発明の実施例は、前記少なくとも二つの弱教師レコメンドモデルの某サンプルデータに対するラベリング結果を取得し、その後、訓練後の前記ニューラルネットワークモデルを用いて、前記ラベリング結果の最尤推定値を得て、前記ラベリング結果の最尤推定値に基づいて、サンプルデータに対してラベルを付け直す。ここで、ラベルを付け直したサンプルデータは、ステップ１０１で訓練した前記弱教師レコメンドモデルのサンプルデータであっても良いし、前記レコメンドシステムのその他のサンプルデータであっても良く、本発明の実施例では具体的に限定しない。
【００３２】
例えば、図２に示すニューラルネットワークを例にする。該二つの弱教師レコメンドモデルの某サンプルデータに対するラベリング結果をそれぞれλ1´、λ2´と仮定し、その後、前記ニューラルネットワークモデルを用いて、前記ラベリング結果の最尤推定関数Pθ（λ1´,λ２´,y1）を得て、それからy1に基づいてサンプルデータに対してラベルを付け直す、即ち、そのレベルをy1とする。
【００３３】
以上のステップにより、本発明の実施例は、ニューラルネットワークモデルによって複数の弱教師レコメンドモデル間の依存関係を学習するとともに、上記依存関係を用いてサンプルデータに対してラベルを付け直して、サンプルデータのラベル品質を向上させ、サンプルデータの誤ラベリングのレコメンドモデル訓練に対する不利な影響を回避するか減少させ、訓練後のレコメンドモデルの性能を改善することができる。
【００３４】
ラベルを付け直したラベルの品質を向上させるため、本発明の実施例はステップ１０１において、一定数量であり且つ相互間に一定の差異がある弱教師レコメンドモデルを生成することができる。つまり、更に良好なラベル付け直し性能に達するために、ステップ１０１において多様性がある弱教師レコメンドモデルを用いることができる。具体的に実現する際に、本発明の実施例は、既存の弱教師ラベルに基づいて、複数の異なるタイプの弱教師レコメンドモデルを生成するための訓練をする。その後、各タイプの弱教師レコメンドモデルから、ラベル性能が所定の閾値より高い弱教師レコメンドモデルをそれぞれ選択して、前記少なくとも二つの弱教師レコメンドモデルを得る。
【００３５】
具体的に、上記の複数の異なるタイプの弱教師レコメンドモデルを生成するための訓練の具体的な実現方法として、弱教師レコメンドモデルのタイプを手動の方法によって定義することが可能である。この時、ステップ１０１において既存の弱教師ラベルに基づいて、複数の異なる所定のタイプの弱教師レコメンドモデルを生成するための訓練を行う。例えば、異なる方式で得た弱教師レコメンドモデルを異なるタイプとすることができる。弱教師レコメンドモデルの取得方法は通常、
（１）ユーザの行動ルールに基づくパターンマッチングまたは手動ラベル付け、
（２）例えば異常行動分析といった、教師なし方法、
（３）既存のラベルに基づく、教師あり／弱教師レコメンドモデル、
を含むことができる。
【００３６】
上記の複数の異なるタイプの弱教師レコメンドモデルを生成するための訓練の別の実現方法として、本発明の実施例は、先ず既存の弱教師ラベルに基づいて、複数の弱教師レコメンドモデルを生成するための訓練を行うことも可能である。その後、前記複数の弱教師レコメンドモデルのレコメンド結果に対してクラスタリングを行う。例えば、K-meansのクラスタリング方法を用いて複数のクラスタリングを得て、それによって複数の異なるタイプの弱監督レコメンドモデルを得る。
【００３７】
また、後続のニューラルネットワークモデルの訓練に要する時間を減らすために、本発明の実施例は、ステップ１０１の前記少なくとも二つの弱教師レコメンドモデルの数量を制御することが可能である。例えば、本発明の実施例は、各モデルの弱教師レコメンドモデルから、ラベル性能が所定の閾値より高い弱教師レコメンドモデルをそれぞれ選択して、ラベル性能が低い弱教師レコメンドモデルを破棄する。具体的に、ラベル性能は、弱教師レコメンドモデルの信頼性が低いサンプルデータ（即ち該サンプルデータのラベルは信頼できない）に対するラベルの正確性を参考指標として用いて、正確性が所定の閾値より低い弱教師レコメンドモデルを破棄することが可能である。
【００３８】
上記ステップ１０３において、本発明の実施例は、更新後のサンプルデータを得た後で、図３に示すように、本発明の実施例は以下のステップを含むことも可能である。
【００３９】
ステップ１０４において、更新後のサンプルデータを用いて、前記レコメンドシステムの目標レコメンドモデルを訓練して得る。
【００４０】
ここで、本発明の実施例は、更新後のサンプルデータを用いてレコメンドモデルの訓練を行う。更新後のサンプルデータのラベルの正確性はより高いものであるので、訓練後のレコメンドモデルは更に良好な性能を有する。具体的に、ステップ１０４の目標レコメンドモデルの構造は、ステップ１０１に記載の少なくとも二つの弱教師レコメンドモデルの任意の一つと同じでも良いし、ステップ１０１に記載の少なくとも二つの弱教師レコメンドモデルと違っても良く、本発明の実施例ではこれについて具体的に限定しない。
【００４１】
以上の方法に基づき、本発明の実施例は、上記方法を実行する装置も提供する。図４を参照し、本発明の実施例が提供するサンプルデータの生成装置４００は、以下のユニットを含む。
【００４２】
レコメンドモデル取得ユニット４０１は、レコメンドシステムの少なくとも二つの弱教師レコメンドモデルを生成する。
【００４３】
ニューラルネットワークモデル学習ユニット４０２は、ニューラルネットワークモデルを訓練することにより、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を学習する。
【００４４】
ラベル付け直しユニット４０３は、訓練後の前記ニューラルネットワークモデルを用いて、サンプルデータに対してラベルを付け直して、更新後のサンプルデータを得る。
【００４５】
以上のサンプルデータの生成装置４００により、サンプルデータに対してラベルを付け直し、さらに正確なラベルを生成し、ラベル品質を向上させることができ、それによって、後続の該サンプルデータに基づいて訓練して得るレコメンドモデルのモデル性能を改善することができる。
【００４６】
好ましくは、前記ニューラルネットワークモデル学習ユニット４０２は、前記少なくとも二つの弱教師レコメンドモデルの出力に基づき、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を表すためのニューラルネットワークモデルを構築し、前記少なくとも二つの弱教師レコメンドモデルの出力の同時確率を最大化することにより、前記ニューラルネットワークモデルのパラメータを訓練し、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を生成する。
【００４７】
好ましくは、前記ラベル付け直しユニット４０３は、前記少なくとも二つの弱教師レコメンドモデルのサンプルデータに対するラベリング結果を取得し、訓練後の前記ニューラルネットワークモデルを用いて、前記ラベリング結果の最尤推定値を得て、前記ラベリング結果の最尤推定値に基づいて、サンプルデータに対してラベルを付け直す。
【００４８】
好ましくは、前記レコメンドモデル取得ユニット４０１は、既存の弱教師ラベルに基づいて、複数の異なるタイプの弱教師レコメンドモデルを訓練により生成し、各タイプの弱教師レコメンドモデルから、ラベル性能が所定の閾値より高い弱教師レコメンドモデルをそれぞれ選択して、前記少なくとも二つの弱教師レコメンドモデルを得る。
【００４９】
本発明の別の実施例は、図５に示すサンプルデータの生成装置４００Ａも提供しており、図４に示すレコメンドモデル取得ユニット４０１、ニューラルネットワークモデル学習ユニット４０２、ラベル付け直しユニット４０３の他に、目標レコメンドモデル訓練ユニット４０４をさらに含む。
【００５０】
目標レコメンドモデル訓練ユニット４０４は、更新後のサンプルデータを用いて、前記レコメンドシステムの目標レコメンドモデルを訓練により得る。
【００５１】
上記の目標レコメンドモデル訓練ユニットにより、本発明の実施例は、更に良好なレコメンドモデルを得ることができる。
【００５２】
図６を参照し、本発明の実施例は、サンプルデータの生成装置のハードウェア構造ブロック図も提供した。図６に示すように、該サンプルデータの生成装置６００は、プロセッサ６０２と、プログラムが記憶されているメモリ６０４と、を含む。
【００５３】
前記プログラムが前記プロセッサによって実行される際、前記プロセッサ６０２が、レコメンドシステムの少なくとも二つの弱教師レコメンドモデルを生成するステップと、ニューラルネットワークモデルを訓練することにより、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を学習するステップと、訓練後の前記ニューラルネットワークモデルを用いて、サンプルデータに対してラベルを付け直して、更新後のサンプルデータを得るステップと、を実行する。
【００５４】
更に、図６に示すように、該サンプルデータの生成装置６００は、ネットワークインターフェース６０１と、入力装置６０３と、ハードディスク６０５と、表示装置６０６を含むことも可能である。
【００５５】
上記各インターフェースと装置との間は、バスアーキテクチャによって互いに接続する。バスアーキテクチャは、任意の数量の相互接続するバス及びブリッジを含むことが可能である。具体的には、プロセッサ６０２に代表される一つ又は複数のセントラルプロセッサ（ＣＰＵ）、及びメモリ６０４に代表される一つ又は複数のメモリの各種回路が、一つに接続される。バスアーキテクチャは、周辺機器や電圧レギュレータや電力管理回路のようなさまざまなその他の回路と一緒に接続することも可能である。バスアーキテクチャは、これらの構成要素の間の接続通信を実現するためのものであると理解可能である。バスアーキテクチャは、データバスの他、電力バス、制御バス、およびステータス信号バスも含むが、これらは全て本分野で公知のものであるので、本明細書ではこれらについて詳細に記載しない。
【００５６】
前記ネットワークインターフェース６０１は、ネットワーク（例えばインターネット、ローカルエリアネットワーク等）と接続可能で、ネットワークから情報を受信するとともに、受信した内容をハードディスク６０５中に保存することができる。
【００５７】
前記入力装置６０３は、オペレータが入力する様々なコマンドを受信できるとともに、実行のためにプロセッサ６０２に送信することができる。前記入力装置６０３は、キーボードやクリックデバイス（例えばマウス、トラックボール(trackball)、タッチパッド、タッチスクリーンなど）を含むことが可能である。
【００５８】
前記表示装置６０６は、プロセッサ６０２がコマンドを実行して得た結果を表示することができる。例えば、サンプルデータのラベルを付し直した結果又はラベル付けの進行状況等を表示する。
【００５９】
前記メモリ６０４は、オペレーティングシステムが稼働するのに必須のプログラムとデータや、プロセッサ６０２の演算プロセス中の中間結果などのデータを保存するのに用いられる。
【００６０】
本発明の実施例のメモリ６０４は、揮発性メモリまたは不揮発性メモリであっても良いし、揮発性メモリと不揮発性メモリの両方を含んでも良い、と理解できる。なお、不揮発性メモリは、読み出し専用メモリ（ROM）であっても、プログラマブル読み出し専用メモリ（PROM）であっても、消去可能なプログラマブル読み出し専用メモリ（EPROM）であっても、電気的に消去可能なプログラマブル読み出し専用メモリ（EEPROM）であっても、フラッシュメモリであってもよい。揮発性メモリは、ランダムアクセスメモリ（RAM）であってもよく、外部キャッシュとして用いられる。本明細書に記載の装置と方法のメモリ６０４は、これらと任意のその他の適合類型のメモリを含むが、これらに限らない。
【００６１】
いくつかの実施形態において、メモリ６０４は、実行可能なモジュールまたはデータ構造、それらのサブ集合または拡張集合、オペレーティングシステム６０４１、アプリケーションプログラム６０４２、の要素を記憶している。
【００６２】
なお、オペレーティングシステム６０４１は各種の基礎業務およびハードウェアに基づくタスクを実現するように、例えば枠組層、コアー層、駆動層など各種のシステムプログラムを含む。アプリケーションプログラム６０４２は各種のアプリケーション業務を実現するように、例えばブラウザー（Browser）などの各種アプリケーションプログラムを含む。本発明の実施例の方法を実現するプログラムはアプリケーションプログラム６０４２に含まれることが可能である。
【００６３】
本発明の上記実施例による方法はプロセッサ６０２に応用でき、あるいはプロセッサ６０２によって実現できる。プロセッサ６０２は信号の処理能力を有する集積回路チップであってもよい。実現過程では、上記方法の各ステップはプロセッサ６０２内のハードウェアの集積ロジック回路またはソフトウェア形式のコマンドによって完成できる。上記プロセッサ６０２は汎用プロセッサであっても、デジタル信号処理器（DSP）であっても、特定用途向け集積回路（ASIC）であっても、現場で構成可能な回路アレイ（FPGA）又はその他のプログラマブルロジックデバイスであっても、個別ゲートまたはトランジスタロジックデバイスであっても、個別ハードウェアユニットであってもよく、本発明の実施例に公開された各方法、ステップおよびロジックブロック図を実現または実行できる。汎用プロセッサは、マイクロプロセッサ又はいかなる常用的なプロセッサであっても良い。本発明の実施例より公開された方法のステップと組み合わせて直接的にできることは、ハードウェアデコーダプロセッサにより実行して完成すること、或いは、デコーダプロセッサ内のハードウェアおよびソフトウェアモジュールの組み合わせによって実行して完成すること、である。ソフトウェアモジュールはランダムメモリ、フラッシュメモリ、読み出し専用メモリ、プログラマブル読み出し専用メモリまたは電気的に消去可能なプログラマブルメモリ、レジスタなどの当分野において成熟された記録媒体に位置することが可能である。当該記録媒体はメモリ６０４にあり、プロセッサ６０２はメモリ６０４内の情報を読み取って、そのハードウェアと組み合わせて上記方法のステップを完成する。
【００６４】
本明細書に記載されたこれらの実施例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコードまたはその組み合わせによって実現できる、と理解可能である。ハードウェアの実現について、プロセスユニットは一つ又は複数の特定用途向け集積回路（ASIC）、デジタル信号処理器（DSP）、デジタル信号処理デバイス（DSPD）、プログラマブルロジックデバイス（PLD）、フィールド プログラマブル
ゲート アレイ（FPGA）、汎用プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、本願の前記機能を実現するためのほかの電子モジュール、または組み合わせで実現可能である。
【００６５】
ソフトウェアの実現について、本明細書に記載された前記機能を実行するモジュール（例えばプロセス、関数など）によって本明細書の前記技術を実現できる。ソフトウェアコードはメモリに記憶され、かつプロセッサによって実行することが可能である。メモリはプロセッサ内またはプロセッサ外部において実現できる。
【００６６】
好ましくは、前記プログラムがプロセッサ６０２によって実行される際は、前記少なくとも二つの弱教師レコメンドモデルの出力に基づき、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を表すためのニューラルネットワークモデルを構築するステップと、前記少なくとも二つの弱教師レコメンドモデルの出力の同時確率を最大化することにより、前記ニューラルネットワークモデルのパラメータを訓練し、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を生成するステップと、を実現することもできる。
【００６７】
好ましくは、前記プログラムがプロセッサ６０２によって実行される際は、前記少なくとも二つの弱教師レコメンドモデルのサンプルデータに対するラベリング結果を取得するステップと、訓練後の前記ニューラルネットワークモデルを用いて、前記ラベリング結果の最尤推定値を得て、前記ラベリング結果の最尤推定値に基づいて、サンプルデータに対してラベルを付け直すステップと、を実現することもできる。
【００６８】
好ましくは、前記プログラムがプロセッサ６０２によって実行される際は、既存の弱教師ラベルに基づいて、複数の異なるタイプの弱教師レコメンドモデルを訓練により生成するステップと、各タイプの弱教師レコメンドモデルから、ラベル性能が所定の閾値より高い弱教師レコメンドモデルをそれぞれ選択して、前記少なくとも二つの弱教師レコメンドモデルを得るステップと、を実現することもできる。
【００６９】
好ましくは、前記プログラムがプロセッサ６０２によって実行される際は、更新後のサンプルデータを用いて、前記レコメンドシステムの目標レコメンドモデルを訓練により得るステップを実現することもできる。
【００７０】
当業者は、本明細書に開示された実施例に記載された様々な例のユニットおよびアルゴリズムステップを組み合わせて、電子ハードウェアまたはコンピュータソフトウェアと電子ハードウェアとの組み合わせによって実現させることができる、と理解することができる。これらの機能がハードウェアで実行されるかソフトウェアで実行させるかは、技術方案の特定用途や設計上の制約条件によって決められる。当業者は、特定の用途ごとに異なる方法を用いて前記の機能を実現できるが、このような実現は本発明の範囲を超えるものと見なすべきではない。
【００７１】
当業者は、説明の便宜及び簡潔さのために、上記のシステム、装置とユニットの具体的な作業プロセスについて、前記方法の実施例における対応プロセスを参照できることを明確に理解できるので、ここでは贅言しない。
【００７２】
本発明が提供する実施例において開示された方法及び装置は別の形態でも実現可能であると理解すべきである。例えば、上記記載された装置は模式的なものに過ぎない。例えば、前記ユニットの分割は論理的な機能分割に過ぎず、実際に実現する際に別の分割方式を採用しても良い。例えば、複数のユニットまたはモジュールを組み合わせるか、別のシステムに集約しても良いし、或いは一部の機能を省略しても良いし、若しくは実行しなくてもよい。さらに、上記表示または開示された相互的な接続または直接な接続若しくは通信可能な接続は、インターフェースを介した接続であっても良いし、装置やユニット同士の間接的な接続または通信可能な接続は、電気的または機械的もしくは他の形態の接続であっても良い。
【００７３】
前記分離部材として説明したユニットは物理的に分離してもしなくてもよい。ユニットとして表示した部材は物理的なユニットであってもでなくてもよい。即ち、同一の場所に位置しても良いし、複数のネットワークユニット上に分散しても良い。実際のニーズに応じてその中の一部または全部のユニットを選択して本発明の実施例の目的を実現することができる。
【００７４】
また、本発明の各実施例における各機能的なユニットをひとつのプロセスユニットに集成しても良いし、各ユニットが物理的に単独で存在させても良いし、二つあるいは二つ以上のユニットを一つのユニットに集成させても良い。
【００７５】
前記機能はソフトウェア機能ユニットの形式で実現し、且つ、独立製品として販売または使用される場合、コンピュータ読み取り可能記憶媒体に記憶することができる。このような理解に基づき、本発明の技術方案の本質、あるいは従来技術に対して貢献する部分、または当該技術方案の一部は、ソフトウェア製品の形式で実現することができる。当該コンピュータソフトウェア製品は記録媒体に記憶されて、コンピュータ装置（パーソナルコンピュータ、サーバ或いはネットワーク設備などでも良い）に本願の各実施例に記載した前記方法の全部または一部のステップを実行させる若干のコマンドを含んでいる。前記の記録媒体は、ＵＳＢメモリ、リムーバブルディスク、ＲＯＭ、ＲＡＭ、磁気ディスク、あるいは光ディスクなど、プログラムコードを格納できる様々な媒体を含む。
【００７６】
以上の記載は、本発明の具体的な実施形態に過ぎず、本発明の保護範囲はこれに限らない。本発明に開示される技術範囲内で、本技術分野に属する当業者が容易に想到される変化または置換は、本発明の保護範囲内に含めるべきである。したがって、本発明の保護範囲は権利要求の保護範囲に準じるべきである。
【図１】
0006965973.tif 000002
【図２】
0006965973.tif 000003
【図３】
0006965973.tif 000004
【図４】
0006965973.tif 000005
【図５】
0006965973.tif 000006
【図６】
0006965973.tif 000007