(58)【調査した分野】(Int.Cl.,DB名)
更新後のサンプルデータを用いて、訓練により前記レコメンドシステムの目標レコメンドモデルを訓練して得る目標レコメンドモデル訓練ユニット、をさらに含むことを特徴とする請求項6から9のいずれか一項に記載のサンプルデータの生成装置。
プロセッサによって実行される際に、請求項1から5のいずれか一項に記載のサンプルデータの生成方法のステップを実現するコンピュータプログラムが記憶されていることを特徴とする、コンピュータ読み取り可能な記録媒体。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の実施例が解決しようとする課題は、サンプルデータのラベル品質を向上することができ、それによって該サンプルデータに基づいて訓練したレコメンドモデルの性能を改善可能な、サンプルデータの生成方法、装置及びコンピュータ読み取り可能な記憶媒体を提供することである。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明の実施例が提供するサンプルデータの生成方法は、レコメンドシステムの少なくとも二つの弱教師レコメンドモデルを生成するステップと、ニューラルネットワークモデルを訓練することにより、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を学習するステップと、訓練後の前記ニューラルネットワークモデルを用いて、サンプルデータに対してラベルを付け直して、更新後のサンプルデータを得るステップと、を含む。
【0008】
好ましくは、ニューラルネットワークモデルを訓練することにより、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を学習するステップは、前記少なくとも二つの弱教師レコメンドモデルの出力に基づき、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を表すためのニューラルネットワークモデルを構築するステップと、前記少なくとも二つの弱教師レコメンドモデルの出力の同時確率を最大化することにより、前記ニューラルネットワークモデルのパラメータを訓練し、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を生成するステップと、を含む。
【0009】
好ましくは、訓練後の前記ニューラルネットワークモデルを用いて、サンプルデータに対してラベルを付け直すステップは、前記少なくとも二つの弱教師レコメンドモデルのサンプルデータに対するラベリング結果を取得するステップと、訓練後の前記ニューラルネットワークモデルを用いて、前記ラベリング結果の最尤推定値を得て、前記ラベリング結果の最尤推定値に基づいて、サンプルデータに対してラベルを付け直すステップと、を含む。
【0010】
好ましくは、前記のレコメンドシステムの少なくとも二つの弱教師レコメンドモデルを生成するステップは、既存の弱教師ラベルに基づいて、訓練により複数の異なるタイプの弱教師レコメンドモデルを生成するステップと、各タイプの弱教師レコメンドモデルから、ラベル性能が所定の閾値より高い弱教師レコメンドモデルをそれぞれ選択して、前記少なくとも二つの弱教師レコメンドモデルを得るステップと、を含む。
【0011】
好ましくは、更新後のサンプルデータを得た後に、さらに、更新後のサンプルデータを用いて、訓練により前記レコメンドシステムの目標レコメンドモデルを得るステップを含む。
【0012】
本発明の実施の実施例は、サンプルデータの生成装置も提供しており、該装置は、レコメンドシステムの少なくとも二つの弱教師レコメンドモデルを生成するレコメンドモデル取得ユニットと、ニューラルネットワークモデルを訓練することにより、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を学習するニューラルネットワークモデル学習ユニットと、訓練後の前記ニューラルネットワークモデルを用いて、サンプルデータに対してラベルを付け直して、更新後のサンプルデータを得るラベル付け直しユニットと、を含む。
【0013】
好ましくは、前記ニューラルネットワークモデル学習ユニットは、前記少なくとも二つの弱教師レコメンドモデルの出力に基づき、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を表すためのニューラルネットワークモデルを構築し、前記少なくとも二つの弱教師レコメンドモデルの出力の同時確率を最大化することにより、前記ニューラルネットワークモデルのパラメータを訓練し、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を生成する。
【0014】
好ましくは、前記ラベル付け直しユニットは、前記少なくとも二つの弱教師レコメンドモデルのサンプルデータに対するラベリング結果を取得し、訓練後の前記ニューラルネットワークモデルを用いて、前記ラベリング結果の最尤推定値を得て、前記ラベリング結果の最尤推定値に基づいて、サンプルデータに対してラベルを付け直す。
【0015】
好ましくは、前記レコメンドモデル取得ユニットは、既存の弱教師ラベルに基づいて、訓練により複数の異なるタイプの弱教師レコメンドモデルを生成し、各タイプの弱教師レコメンドモデルから、ラベル性能が所定の閾値より高い弱教師レコメンドモデルをそれぞれ選択して、前記少なくとも二つの弱教師レコメンドモデルを得る。
【0016】
好ましくは、上記生成装置は、更新後のサンプルデータを用いて、訓練により前記レコメンドシステムの目標レコメンドモデルを得る目標レコメンドモデル訓練ユニットをさらに含む。
【0017】
本発明の実施例は、メモリと、プロセッサと、メモリ上に記憶されておりプロセッサで実行可能なコンピュータプログラムと、を備えるサンプルデータの生成装置も提供しており、前記コンピュータプログラムがプロセッサによって実行される際に、上記のサンプルデータの生成方法のステップを実現する。
【0018】
本発明の実施例はコンピュータ読み取り可能な記憶媒体も提供しており、前記コンピュータ読み取り可能な記憶媒体にはコンピュータプログラムが記憶されており、前記コンピュータプログラムがプロセッサによって実行される際に、上記のサンプルデータの生成方法のステップを実現する。
【0019】
従来技術に比べ、本発明の実施例が提供するサンプルデータの生成方法、装置及びコンピュータ読み取り可能な記録媒体は、ニューラルネットワークモデルによって複数の弱教師レコメンドモデル間の依存関係を学習するとともに、上記依存関係を用いてサンプルデータのラベリング品質を向上させ、サンプルデータの誤ラベリングのレコメンドモデル訓練に対する不利な影響を回避するか減少させ、訓練後のレコメンドモデルの性能を改善することができる。
【発明を実施するための形態】
【0021】
本発明が解決しようとする課題と技術案と利点をさらに明瞭にするために、以下、図面及び具体的実施例を組み合わせて詳細に記載する。以下の図面において、具体的な配置とモジュールの特定の細部は本発明の実施例全体を理解するのを助けるためのものにすぎない。よって、ここの記載の実施例に対する各種改変と改修は本発明の範囲と精神を逸脱しないことを当業者は承知すべきである。また、明晰と簡潔のために、既知の機能と構造に対する記載は省略する。
【0022】
明細書全体で言及した「一つの実施例」または「一実施例」は実施例と関係する特定の特徴や構造や特性が本発明の少なくとも一つの実施例中に含むことを意味している、と理解すべきである。よって、明細書全体の各所に出てくる「一つの実施例において」または「一実施例において」が必ず同じ実施例を指しているとは限らない。また、これらと特定の特徴、構造、特性は任意の適切な方法で、一つ又は複数の実施例に組み合わせることが可能である。
【0023】
本発明の各種実施例において、以下の各プロセスの番号の大きさは実行順序の前後を意味するのではない。各プロセスの実行順序は、その機能と内在的論理に依存し、本発明実施例の実施過程に対していかなる限定も行われない。
【0024】
図1は、本発明の実施例が提供するサンプルデータの生成方法のフロー図であり、該サンプルデータの生成方法はサンプルデータのラベル品質を向上させることができ、それによって、該サンプルデータに基づいて訓練したレコメンドモデルの性能を改善することができる。
図1に示すように、本発明の実施例が提供するサンプルデータの生成方法は以下のステップを含む。
【0025】
ステップ101において、レコメンドシステムの少なくとも二つの弱教師レコメンドモデルを生成する。
【0026】
ここで、本発明の実施例は、既存の訓練サンプルに基づいて、レコメンドシステムの少なくとも二つの弱教師レコメンドモデルを訓練して得ることが可能である。通常、前記訓練サンプルは信頼できないラベルを含んでいるので、訓練後のレコメンドモデルは弱教師レコメンドモデルである。具体的に、各弱教師レコメンドモデルが採用する訓練サンプルは、完全に同じであっても良いし、部分的に同じであっても良いし、完全に異なっても良く、本発明ではこれについて具体的に限定しない。
【0027】
ステップ102において、ニューラルネットワークモデルを訓練することにより、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を学習する。
【0028】
ここで、弱教師レコメンドモデル間の依存関係を学習しやすくするために、本発明の実施例は、ニューラルネットワークモデルを構築する。具体的に、前記少なくとも二つの弱教師レコメンドモデルの出力に基づき、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を表すのに用いるニューラルネットワークモデルを構築する。通常、該ニューラルネットワークモデルは少なくとも2層のネットワークを含む。その後、前記少なくとも二つの弱教師レコメンドモデルの出力の同時確率を最大化することにより、前記ニューラルネットワークモデルのパラメータを訓練し、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を生成する。前記ニューラルネットワークモデルを訓練する際、前記少なくとも二つの弱教師レコメンドモデルの同一サンプルデータに対する出力(ラベル)を用いて、前記出力の尤度関数を最大化することを目標とした訓練を行い、前記ニューラルネットワークモデルのパラメータを最終的に得る。これらのパラメータは、少なくとも二つの弱教師レコメンドモデル間の依存関係を反映している。
【0029】
図2は、本発明の実施例の、二つの弱教師レコメンドモデルに対して構築するニューラルネットワークモデルの例である。該ニューラルネットワークモデルは2層のネットワークを含んでおり、2層のニューラルネットワークは、AND、OR、NAND、XORを含むすべての論理演算を含んで表すことができる。なお、λ
1とλ
2はそれぞれ、二つの弱教師レコメンドモデルの同一サンプルデータに対する出力を表しており、Yはラベルの取る範囲を表しており、P
θ(λ
1,λ
2,Y)は該二つの弱教師レコメンドモデルの出力の尤度関数を表しており、θはニューラルネットワークモデル中のパラメータ(例えばニューロン間の重みパラメータなど)を表している。尤度関数P
θ(λ
1,λ
2,Y)を最大化することにより、ニューラルネットワークモデル中のパラメータを訓練することができる。
【0030】
ステップ103において、訓練後の前記ニューラルネットワークモデルを用いて、サンプルデータに対してラベルを付け直して、更新後のサンプルデータを得る。
【0031】
本発明の実施例は、ステップ102によって訓練後のニューラルネットワークモデルを得た後、本発明の実施例は、前記少なくとも二つの弱教師レコメンドモデルの某サンプルデータに対するラベリング結果を取得し、その後、訓練後の前記ニューラルネットワークモデルを用いて、前記ラベリング結果の最尤推定値を得て、前記ラベリング結果の最尤推定値に基づいて、サンプルデータに対してラベルを付け直す。ここで、ラベルを付け直したサンプルデータは、ステップ101で訓練した前記弱教師レコメンドモデルのサンプルデータであっても良いし、前記レコメンドシステムのその他のサンプルデータであっても良く、本発明の実施例では具体的に限定しない。
【0032】
例えば、
図2に示すニューラルネットワークを例にする。該二つの弱教師レコメンドモデルの某サンプルデータに対するラベリング結果をそれぞれλ
1´、λ
2´と仮定し、その後、前記ニューラルネットワークモデルを用いて、前記ラベリング結果の最尤推定関数P
θ(λ
1´,λ
2´,y
1)を得て、それからy
1に基づいてサンプルデータに対してラベルを付け直す、即ち、そのレベルをy
1とする。
【0033】
以上のステップにより、本発明の実施例は、ニューラルネットワークモデルによって複数の弱教師レコメンドモデル間の依存関係を学習するとともに、上記依存関係を用いてサンプルデータに対してラベルを付け直して、サンプルデータのラベル品質を向上させ、サンプルデータの誤ラベリングのレコメンドモデル訓練に対する不利な影響を回避するか減少させ、訓練後のレコメンドモデルの性能を改善することができる。
【0034】
ラベルを付け直したラベルの品質を向上させるため、本発明の実施例はステップ101において、一定数量であり且つ相互間に一定の差異がある弱教師レコメンドモデルを生成することができる。つまり、更に良好なラベル付け直し性能に達するために、ステップ101において多様性がある弱教師レコメンドモデルを用いることができる。具体的に実現する際に、本発明の実施例は、既存の弱教師ラベルに基づいて、複数の異なるタイプの弱教師レコメンドモデルを生成するための訓練をする。その後、各タイプの弱教師レコメンドモデルから、ラベル性能が所定の閾値より高い弱教師レコメンドモデルをそれぞれ選択して、前記少なくとも二つの弱教師レコメンドモデルを得る。
【0035】
具体的に、上記の複数の異なるタイプの弱教師レコメンドモデルを生成するための訓練の具体的な実現方法として、弱教師レコメンドモデルのタイプを手動の方法によって定義することが可能である。この時、ステップ101において既存の弱教師ラベルに基づいて、複数の異なる所定のタイプの弱教師レコメンドモデルを生成するための訓練を行う。例えば、異なる方式で得た弱教師レコメンドモデルを異なるタイプとすることができる。弱教師レコメンドモデルの取得方法は通常、
(1)ユーザの行動ルールに基づくパターンマッチングまたは手動ラベル付け、
(2)例えば異常行動分析といった、教師なし方法、
(3)既存のラベルに基づく、教師あり/弱教師レコメンドモデル、
を含むことができる。
【0036】
上記の複数の異なるタイプの弱教師レコメンドモデルを生成するための訓練の別の実現方法として、本発明の実施例は、先ず既存の弱教師ラベルに基づいて、複数の弱教師レコメンドモデルを生成するための訓練を行うことも可能である。その後、前記複数の弱教師レコメンドモデルのレコメンド結果に対してクラスタリングを行う。例えば、K-meansのクラスタリング方法を用いて複数のクラスタリングを得て、それによって複数の異なるタイプの弱監督レコメンドモデルを得る。
【0037】
また、後続のニューラルネットワークモデルの訓練に要する時間を減らすために、本発明の実施例は、ステップ101の前記少なくとも二つの弱教師レコメンドモデルの数量を制御することが可能である。例えば、本発明の実施例は、各モデルの弱教師レコメンドモデルから、ラベル性能が所定の閾値より高い弱教師レコメンドモデルをそれぞれ選択して、ラベル性能が低い弱教師レコメンドモデルを破棄する。具体的に、ラベル性能は、弱教師レコメンドモデルの信頼性が低いサンプルデータ(即ち該サンプルデータのラベルは信頼できない)に対するラベルの正確性を参考指標として用いて、正確性が所定の閾値より低い弱教師レコメンドモデルを破棄することが可能である。
【0038】
上記ステップ103において、本発明の実施例は、更新後のサンプルデータを得た後で、
図3に示すように、本発明の実施例は以下のステップを含むことも可能である。
【0039】
ステップ104において、更新後のサンプルデータを用いて、前記レコメンドシステムの目標レコメンドモデルを訓練して得る。
【0040】
ここで、本発明の実施例は、更新後のサンプルデータを用いてレコメンドモデルの訓練を行う。更新後のサンプルデータのラベルの正確性はより高いものであるので、訓練後のレコメンドモデルは更に良好な性能を有する。具体的に、ステップ104の目標レコメンドモデルの構造は、ステップ101に記載の少なくとも二つの弱教師レコメンドモデルの任意の一つと同じでも良いし、ステップ101に記載の少なくとも二つの弱教師レコメンドモデルと違っても良く、本発明の実施例ではこれについて具体的に限定しない。
【0041】
以上の方法に基づき、本発明の実施例は、上記方法を実行する装置も提供する。
図4を参照し、本発明の実施例が提供するサンプルデータの生成装置400は、以下のユニットを含む。
【0042】
レコメンドモデル取得ユニット401は、レコメンドシステムの少なくとも二つの弱教師レコメンドモデルを生成する。
【0043】
ニューラルネットワークモデル学習ユニット402は、ニューラルネットワークモデルを訓練することにより、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を学習する。
【0044】
ラベル付け直しユニット403は、訓練後の前記ニューラルネットワークモデルを用いて、サンプルデータに対してラベルを付け直して、更新後のサンプルデータを得る。
【0045】
以上のサンプルデータの生成装置400により、サンプルデータに対してラベルを付け直し、さらに正確なラベルを生成し、ラベル品質を向上させることができ、それによって、後続の該サンプルデータに基づいて訓練して得るレコメンドモデルのモデル性能を改善することができる。
【0046】
好ましくは、前記ニューラルネットワークモデル学習ユニット402は、前記少なくとも二つの弱教師レコメンドモデルの出力に基づき、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を表すためのニューラルネットワークモデルを構築し、前記少なくとも二つの弱教師レコメンドモデルの出力の同時確率を最大化することにより、前記ニューラルネットワークモデルのパラメータを訓練し、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を生成する。
【0047】
好ましくは、前記ラベル付け直しユニット403は、前記少なくとも二つの弱教師レコメンドモデルのサンプルデータに対するラベリング結果を取得し、訓練後の前記ニューラルネットワークモデルを用いて、前記ラベリング結果の最尤推定値を得て、前記ラベリング結果の最尤推定値に基づいて、サンプルデータに対してラベルを付け直す。
【0048】
好ましくは、前記レコメンドモデル取得ユニット401は、既存の弱教師ラベルに基づいて、複数の異なるタイプの弱教師レコメンドモデルを訓練により生成し、各タイプの弱教師レコメンドモデルから、ラベル性能が所定の閾値より高い弱教師レコメンドモデルをそれぞれ選択して、前記少なくとも二つの弱教師レコメンドモデルを得る。
【0049】
本発明の別の実施例は、
図5に示すサンプルデータの生成装置400Aも提供しており、
図4に示すレコメンドモデル取得ユニット401、ニューラルネットワークモデル学習ユニット402、ラベル付け直しユニット403の他に、目標レコメンドモデル訓練ユニット404をさらに含む。
【0050】
目標レコメンドモデル訓練ユニット404は、更新後のサンプルデータを用いて、前記レコメンドシステムの目標レコメンドモデルを訓練により得る。
【0051】
上記の目標レコメンドモデル訓練ユニットにより、本発明の実施例は、更に良好なレコメンドモデルを得ることができる。
【0052】
図6を参照し、本発明の実施例は、サンプルデータの生成装置のハードウェア構造ブロック図も提供した。
図6に示すように、該サンプルデータの生成装置600は、プロセッサ602と、プログラムが記憶されているメモリ604と、を含む。
【0053】
前記プログラムが前記プロセッサによって実行される際、前記プロセッサ602が、レコメンドシステムの少なくとも二つの弱教師レコメンドモデルを生成するステップと、ニューラルネットワークモデルを訓練することにより、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を学習するステップと、訓練後の前記ニューラルネットワークモデルを用いて、サンプルデータに対してラベルを付け直して、更新後のサンプルデータを得るステップと、を実行する。
【0054】
更に、
図6に示すように、該サンプルデータの生成装置600は、ネットワークインターフェース601と、入力装置603と、ハードディスク605と、表示装置606を含むことも可能である。
【0055】
上記各インターフェースと装置との間は、バスアーキテクチャによって互いに接続する。バスアーキテクチャは、任意の数量の相互接続するバス及びブリッジを含むことが可能である。具体的には、プロセッサ602に代表される一つ又は複数のセントラルプロセッサ(CPU)、及びメモリ604に代表される一つ又は複数のメモリの各種回路が、一つに接続される。バスアーキテクチャは、周辺機器や電圧レギュレータや電力管理回路のようなさまざまなその他の回路と一緒に接続することも可能である。バスアーキテクチャは、これらの構成要素の間の接続通信を実現するためのものであると理解可能である。バスアーキテクチャは、データバスの他、電力バス、制御バス、およびステータス信号バスも含むが、これらは全て本分野で公知のものであるので、本明細書ではこれらについて詳細に記載しない。
【0056】
前記ネットワークインターフェース601は、ネットワーク(例えばインターネット、ローカルエリアネットワーク等)と接続可能で、ネットワークから情報を受信するとともに、受信した内容をハードディスク605中に保存することができる。
【0057】
前記入力装置603は、オペレータが入力する様々なコマンドを受信できるとともに、実行のためにプロセッサ602に送信することができる。前記入力装置603は、キーボードやクリックデバイス(例えばマウス、トラックボール(trackball)、タッチパッド、タッチスクリーンなど)を含むことが可能である。
【0058】
前記表示装置606は、プロセッサ602がコマンドを実行して得た結果を表示することができる。例えば、サンプルデータのラベルを付し直した結果又はラベル付けの進行状況等を表示する。
【0059】
前記メモリ604は、オペレーティングシステムが稼働するのに必須のプログラムとデータや、プロセッサ602の演算プロセス中の中間結果などのデータを保存するのに用いられる。
【0060】
本発明の実施例のメモリ604は、揮発性メモリまたは不揮発性メモリであっても良いし、揮発性メモリと不揮発性メモリの両方を含んでも良い、と理解できる。なお、不揮発性メモリは、読み出し専用メモリ(ROM)であっても、プログラマブル読み出し専用メモリ(PROM)であっても、消去可能なプログラマブル読み出し専用メモリ(EPROM)であっても、電気的に消去可能なプログラマブル読み出し専用メモリ(EEPROM)であっても、フラッシュメモリであってもよい。揮発性メモリは、ランダムアクセスメモリ(RAM)であってもよく、外部キャッシュとして用いられる。本明細書に記載の装置と方法のメモリ604は、これらと任意のその他の適合類型のメモリを含むが、これらに限らない。
【0061】
いくつかの実施形態において、メモリ604は、実行可能なモジュールまたはデータ構造、それらのサブ集合または拡張集合、オペレーティングシステム6041、アプリケーションプログラム6042、の要素を記憶している。
【0062】
なお、オペレーティングシステム6041は各種の基礎業務およびハードウェアに基づくタスクを実現するように、例えば枠組層、コアー層、駆動層など各種のシステムプログラムを含む。アプリケーションプログラム6042は各種のアプリケーション業務を実現するように、例えばブラウザー(Browser)などの各種アプリケーションプログラムを含む。本発明の実施例の方法を実現するプログラムはアプリケーションプログラム6042に含まれることが可能である。
【0063】
本発明の上記実施例による方法はプロセッサ602に応用でき、あるいはプロセッサ602によって実現できる。プロセッサ602は信号の処理能力を有する集積回路チップであってもよい。実現過程では、上記方法の各ステップはプロセッサ602内のハードウェアの集積ロジック回路またはソフトウェア形式のコマンドによって完成できる。上記プロセッサ602は汎用プロセッサであっても、デジタル信号処理器(DSP)であっても、特定用途向け集積回路(ASIC)であっても、現場で構成可能な回路アレイ(FPGA)又はその他のプログラマブルロジックデバイスであっても、個別ゲートまたはトランジスタロジックデバイスであっても、個別ハードウェアユニットであってもよく、本発明の実施例に公開された各方法、ステップおよびロジックブロック図を実現または実行できる。汎用プロセッサは、マイクロプロセッサ又はいかなる常用的なプロセッサであっても良い。本発明の実施例より公開された方法のステップと組み合わせて直接的にできることは、ハードウェアデコーダプロセッサにより実行して完成すること、或いは、デコーダプロセッサ内のハードウェアおよびソフトウェアモジュールの組み合わせによって実行して完成すること、である。ソフトウェアモジュールはランダムメモリ、フラッシュメモリ、読み出し専用メモリ、プログラマブル読み出し専用メモリまたは電気的に消去可能なプログラマブルメモリ、レジスタなどの当分野において成熟された記録媒体に位置することが可能である。当該記録媒体はメモリ604にあり、プロセッサ602はメモリ604内の情報を読み取って、そのハードウェアと組み合わせて上記方法のステップを完成する。
【0064】
本明細書に記載されたこれらの実施例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコードまたはその組み合わせによって実現できる、と理解可能である。ハードウェアの実現について、プロセスユニットは一つ又は複数の特定用途向け集積回路(ASIC)、デジタル信号処理器(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブルロジックデバイス(PLD)、フィールド プログラマブル
ゲート アレイ(FPGA)、汎用プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、本願の前記機能を実現するためのほかの電子モジュール、または組み合わせで実現可能である。
【0065】
ソフトウェアの実現について、本明細書に記載された前記機能を実行するモジュール(例えばプロセス、関数など)によって本明細書の前記技術を実現できる。ソフトウェアコードはメモリに記憶され、かつプロセッサによって実行することが可能である。メモリはプロセッサ内またはプロセッサ外部において実現できる。
【0066】
好ましくは、前記プログラムがプロセッサ602によって実行される際は、前記少なくとも二つの弱教師レコメンドモデルの出力に基づき、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を表すためのニューラルネットワークモデルを構築するステップと、前記少なくとも二つの弱教師レコメンドモデルの出力の同時確率を最大化することにより、前記ニューラルネットワークモデルのパラメータを訓練し、前記少なくとも二つの弱教師レコメンドモデル間の依存関係を生成するステップと、を実現することもできる。
【0067】
好ましくは、前記プログラムがプロセッサ602によって実行される際は、前記少なくとも二つの弱教師レコメンドモデルのサンプルデータに対するラベリング結果を取得するステップと、訓練後の前記ニューラルネットワークモデルを用いて、前記ラベリング結果の最尤推定値を得て、前記ラベリング結果の最尤推定値に基づいて、サンプルデータに対してラベルを付け直すステップと、を実現することもできる。
【0068】
好ましくは、前記プログラムがプロセッサ602によって実行される際は、既存の弱教師ラベルに基づいて、複数の異なるタイプの弱教師レコメンドモデルを訓練により生成するステップと、各タイプの弱教師レコメンドモデルから、ラベル性能が所定の閾値より高い弱教師レコメンドモデルをそれぞれ選択して、前記少なくとも二つの弱教師レコメンドモデルを得るステップと、を実現することもできる。
【0069】
好ましくは、前記プログラムがプロセッサ602によって実行される際は、更新後のサンプルデータを用いて、前記レコメンドシステムの目標レコメンドモデルを訓練により得るステップを実現することもできる。
【0070】
当業者は、本明細書に開示された実施例に記載された様々な例のユニットおよびアルゴリズムステップを組み合わせて、電子ハードウェアまたはコンピュータソフトウェアと電子ハードウェアとの組み合わせによって実現させることができる、と理解することができる。これらの機能がハードウェアで実行されるかソフトウェアで実行させるかは、技術方案の特定用途や設計上の制約条件によって決められる。当業者は、特定の用途ごとに異なる方法を用いて前記の機能を実現できるが、このような実現は本発明の範囲を超えるものと見なすべきではない。
【0071】
当業者は、説明の便宜及び簡潔さのために、上記のシステム、装置とユニットの具体的な作業プロセスについて、前記方法の実施例における対応プロセスを参照できることを明確に理解できるので、ここでは贅言しない。
【0072】
本発明が提供する実施例において開示された方法及び装置は別の形態でも実現可能であると理解すべきである。例えば、上記記載された装置は模式的なものに過ぎない。例えば、前記ユニットの分割は論理的な機能分割に過ぎず、実際に実現する際に別の分割方式を採用しても良い。例えば、複数のユニットまたはモジュールを組み合わせるか、別のシステムに集約しても良いし、或いは一部の機能を省略しても良いし、若しくは実行しなくてもよい。さらに、上記表示または開示された相互的な接続または直接な接続若しくは通信可能な接続は、インターフェースを介した接続であっても良いし、装置やユニット同士の間接的な接続または通信可能な接続は、電気的または機械的もしくは他の形態の接続であっても良い。
【0073】
前記分離部材として説明したユニットは物理的に分離してもしなくてもよい。ユニットとして表示した部材は物理的なユニットであってもでなくてもよい。即ち、同一の場所に位置しても良いし、複数のネットワークユニット上に分散しても良い。実際のニーズに応じてその中の一部または全部のユニットを選択して本発明の実施例の目的を実現することができる。
【0074】
また、本発明の各実施例における各機能的なユニットをひとつのプロセスユニットに集成しても良いし、各ユニットが物理的に単独で存在させても良いし、二つあるいは二つ以上のユニットを一つのユニットに集成させても良い。
【0075】
前記機能はソフトウェア機能ユニットの形式で実現し、且つ、独立製品として販売または使用される場合、コンピュータ読み取り可能記憶媒体に記憶することができる。このような理解に基づき、本発明の技術方案の本質、あるいは従来技術に対して貢献する部分、または当該技術方案の一部は、ソフトウェア製品の形式で実現することができる。当該コンピュータソフトウェア製品は記録媒体に記憶されて、コンピュータ装置(パーソナルコンピュータ、サーバ或いはネットワーク設備などでも良い)に本願の各実施例に記載した前記方法の全部または一部のステップを実行させる若干のコマンドを含んでいる。前記の記録媒体は、USBメモリ、リムーバブルディスク、ROM、RAM、磁気ディスク、あるいは光ディスクなど、プログラムコードを格納できる様々な媒体を含む。
【0076】
以上の記載は、本発明の具体的な実施形態に過ぎず、本発明の保護範囲はこれに限らない。本発明に開示される技術範囲内で、本技術分野に属する当業者が容易に想到される変化または置換は、本発明の保護範囲内に含めるべきである。したがって、本発明の保護範囲は権利要求の保護範囲に準じるべきである。