IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッドの特許一覧

特開2023-7379ノード表現生成方法、装置、電子デバイス及び可読記憶媒体
<>
  • 特開-ノード表現生成方法、装置、電子デバイス及び可読記憶媒体 図1
  • 特開-ノード表現生成方法、装置、電子デバイス及び可読記憶媒体 図2
  • 特開-ノード表現生成方法、装置、電子デバイス及び可読記憶媒体 図3
  • 特開-ノード表現生成方法、装置、電子デバイス及び可読記憶媒体 図4
  • 特開-ノード表現生成方法、装置、電子デバイス及び可読記憶媒体 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023007379
(43)【公開日】2023-01-18
(54)【発明の名称】ノード表現生成方法、装置、電子デバイス及び可読記憶媒体
(51)【国際特許分類】
   G06F 16/28 20190101AFI20230111BHJP
【FI】
G06F16/28
【審査請求】有
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2022038492
(22)【出願日】2022-03-11
(31)【優先権主張番号】202110732838.X
(32)【優先日】2021-06-30
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】リー、ウェイビン
(72)【発明者】
【氏名】ジュ、ジファン
(72)【発明者】
【氏名】フェン、シクン
(72)【発明者】
【氏名】フアン、シウェイ
(72)【発明者】
【氏名】ヘ、ジンジョウ
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175KA12
(57)【要約】      (修正有)
【課題】生成されたノード表現の精度を向上させることができるノード表現生成方法、装置、電子デバイス及び可読記憶媒体を提供する。
【解決手段】ノード表現生成方法は、処理すべき異種グラフを取得し、第1メタパスに基づいて、処理すべき異種グラフにおいてサンプリングにより少なくとも1つの第1ウォークパスを得、少なくとも1つの第1ウォークパスに基づいて処理すべき異種グラフにおける各ノードの初期ノード表現を得、各ノードの初期ノード表現と各ノードの隣接ノードの初期ノード表現に基づいて各ノードの最終ノード表現を生成する。
【選択図】図1
【特許請求の範囲】
【請求項1】
ノード表現生成方法であって、
処理すべき異種グラフを取得することと、
第1メタパスに基づいて、前記処理すべき異種グラフにおいてサンプリングにより少なくとも1つの第1ウォークパスを得ることと、
前記少なくとも1つの第1ウォークパスに基づいて前記処理すべき異種グラフにおける各ノードの初期ノード表現を得ることと、
各ノードの初期ノード表現と各ノードの隣接ノードの初期ノード表現に基づいて各ノードの最終ノード表現を生成することと、
を含むノード表現生成方法。
【請求項2】
第1メタパスに基づいて、前記処理すべき異種グラフにおいてサンプリングにより少なくとも1つの第1ウォークパスを得ることは、
各第1メタパスについて、前記処理すべき異種グラフにおいて、当該第1メタパスにより指定されたノードタイプ及びノード間の接続関係に基づいてサンプリングして、当該第1メタパスに対応する少なくとも1つの第1ウォークパスを得る、
ことを含む請求項1に記載のノード表現生成方法。
【請求項3】
前記少なくとも1つの第1ウォークパスに基づいて前記処理すべき異種グラフにおける各ノードの初期ノード表現を得ることは、
各第1ウォークパスにおける各ノードを第1ノードとし、
各第1ノードが位置する第1ウォークパスに基づいて、第1ノードと当該第1ノードの1つの隣接ノードを含む各第1ノードのノードペアを構築し、
各第1ノードのノードペアをノード表現モデルに入力し、前記ノード表現モデルが各ノードペアに対して出力した出力結果を前記各ノードの初期ノード表現とする、
ことを含む請求項1に記載のノード表現生成方法。
【請求項4】
サンプル異種グラフとサンプル異種グラフにおける各ノードの標識ノード表現とを含む訓練データを取得し、
第2メタパスに基づいて、前記サンプル異種グラフにおいてサンプリングにより少なくとも1つの第2ウォークパスを得、
各第2ウォークパスにおける各ノードを第2ノードとして、第2ノードと当該第2ノードの1つの隣接ノードを含む各第2ノードのノードペアを構築し、
第2ノードのノードペアと第2ノードの標識ノード表現を用いて、ニューラルネットワークモデルを、前記ニューラルネットワークモデルが収束するまで訓練して前記ノード表現モデルを得る、ことにより事前に訓練して前記ノード表現モデルを得る、
ことを更に含む請求項3に記載のノード表現生成方法。
【請求項5】
各ノードの初期ノード表現と各ノードの隣接ノードの初期ノード表現に基づいて各ノードの最終ノード表現を生成することは、
各ノードの初期ノード表現と各ノードの近隣ノードの初期ノード表現とを重み付け加算し、得られた重み付け加算結果を各ノードの更新ノード表現とし、
各ノードの初期ノード表現を更新ノード表現に置き換えた後、予め設定された回数に達するまで、各ノードの初期ノード表現と各ノードの近隣ノードの初期ノード表現とを重み付け加算するステップを実行し、
予め設定された回数に達すると、各ノードの更新ノード表現を各ノードの最終ノード表現とする、
ことを含む請求項1に記載のノード表現生成方法。
【請求項6】
ノード表現生成装置であって、
処理すべき異種グラフを取得する取得部と、
第1メタパスに基づいて、前記処理すべき異種グラフにおいてサンプリングにより少なくとも1つの第1ウォークパスを得るサンプリング部と、
前記少なくとも1つの第1ウォークパスに基づいて、前記処理すべき異種グラフにおける各ノードの初期ノード表現を得る処理部と、
各ノードの初期ノード表現と各ノードの隣接ノードの初期ノード表現とに基づいて各ノードの最終ノード表現を生成する生成部と、
を備えるノード表現生成装置。
【請求項7】
前記サンプリング部は、第1メタパスに基づいて、前記処理すべき異種グラフにおいてサンプリングにより少なくとも1つの第1ウォークパスを得る場合に、具体的に、
各第1メタパスについて、前記処理すべき異種グラフにおいて、当該第1メタパスにより指定されたノードタイプとノード間の接続関係に基づいて、サンプリングにより当該第1メタパスに対応する少なくとも1つの第1ウォークパスを得る、
請求項6に記載のノード表現生成装置。
【請求項8】
前記処理部は、前記少なくとも1つの第1ウォークパスに基づいて前記処理すべき異種グラフにおける各ノードの初期ノード表現を得る場合に、具体的に、
各第1ウォークパスにおける各ノードを第1ノードとし、
各第1ノードが位置する第1ウォークパスに基づいて、第1ノードと当該第1ノードの1つの隣接ノードを含む各第1ノードのノードペアを構築し、
各第1ノードのノードペアをノード表現モデルに入力し、前記ノード表現モデルが各ノードペアに対して出力した出力結果を前記各ノードの初期ノード表現とする、
請求項6に記載のノード表現生成装置。
【請求項9】
サンプル異種グラフとサンプル異種グラフにおける各ノードの標識ノード表現とを含む訓練データを取得し、
第2メタパスに基づいて、前記サンプル異種グラフにおいてサンプリングにより少なくとも1つの第2ウォークパスを得、
各第2ウォークパスにおける各ノードを第2ノードとして、第2ノードと当該第2ノードの1つの隣接ノードを含む各第2ノードのノードペアを構築し、
第2ノードのノードペアと第2ノードの標識ノード表現を用いて、ニューラルネットワークモデルを、前記ニューラルネットワークモデルが収束するまで訓練して前記ノード表現モデルを得る、ことにより事前に訓練して前記ノード表現モデルを得る、訓練部
をさらに備える請求項8に記載のノード表現生成装置。
【請求項10】
前記生成部は、
各ノードの初期ノード表現と各ノードの隣接ノードの初期ノード表現に基づいて各ノードの最終ノード表現を生成する場合に、具体的に、
各ノードの初期ノード表現と各ノードの近隣ノードの初期ノード表現とを重み付け加算し、得られた重み付け加算結果を各ノードの更新ノード表現とし、
各ノードの初期ノード表現を更新ノード表現に置き換えた後、予め設定された回数に達するまで、各ノードの初期ノード表現と各ノードの近隣ノードの初期ノード表現とを重み付け加算するステップを実行し、
予め設定された回数に達すると、各ノードの更新ノード表現を各ノードの最終ノード表現とする、
請求項6に記載のノード表現生成装置。
【請求項11】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信可能に接続されたメモリとを備え、
前記メモリに前記少なくとも1つのプロセッサにより実行可能なコマンドが記憶されており、前記コマンドが前記少なくとも1つのプロセッサにより実行されると、前記少なくとも1つのプロセッサに請求項1~5のいずれか1項に記載のノード表現生成方法を実行させる電子デバイス。
【請求項12】
コンピュータに請求項1~5のいずれか1項に記載のノード表現生成方法を実行させるためのコンピュータコマンドを記憶する非一時的なコンピュータ可読記憶媒体。
【請求項13】
プロセッサにより実行されると、請求項1~5のいずれか1項に記載のノード表現生成方法を実現するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータ技術分野に関し、特にディープラーニング技術分野に関する。ノード表現生成方法、装置、電子デバイス及び可読記憶媒体が提供される。
【背景技術】
【0002】
現在、図のネットワーク表現は、ノード分類、リンク予測、コミュニティ検出などを含む様々な下流タスクに使用することができる。実世界には複数のノードタイプやエッジタイプが含まれている大量の異種グラフが存在する。異なるタイプのノードの語義情報を学習するために、従来技術で通常採用されている方法は、定義されたメタパスサンプリングにより異なるウォークパスを得て、word2vecなどの訓練方法によりウォークパスを訓練し、最終的に異種グラフにおけるノードの表現結果を得ることである。
【発明の概要】
【発明が解決しようとする課題】
【0003】
このようなノード表現学習方法では、1つのメタパスのみを考慮すると、他のメタパスの情報が失われ、且つ、ノイズ(ノード間に誤まって接続されたエッジ)のためノード表現の精度が影響される。
【課題を解決するための手段】
【0004】
本開示の第1態様によれば、処理すべき異種グラフを取得し、第1メタパスに基づいて前記処理すべき異種グラフにおいてサンプリングにより少なくとも1つの第1ウォークパスを得、前記少なくとも1つの第1ウォークパスに基づいて前記処理すべき異種グラフにおける各ノードの初期ノード表現を得、各ノードの初期ノード表現と各ノードの隣接ノードの初期ノード表現に基づいて各ノードの最終ノード表現を生成することを含むノード表現生成方法を提供する。
本開示の第2態様によれば、処理すべき異種グラフを取得する取得部と、第1メタパスに基づいて、前記処理すべき異種グラフにおいてサンプリングにより少なくとも1つの第1ウォークパスを得るサンプリング部と、前記少なくとも1つの第1ウォークパスに基づいて、前記処理すべき異種グラフにおける各ノードの初期ノード表現を得る処理部と、各ノードの初期ノード表現と各ノードの隣接ノードの初期ノード表現に基づいて各ノードの最終ノード表現を生成する生成部とを備えるノード表現生成装置を提供する。
【0005】
本開示の第3態様によれば、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサと通信可能に接続されたメモリとを備え、前記メモリに前記少なくとも1つのプロセッサにより実行可能なコマンドが記憶されており、前記コマンドが前記少なくとも1つのプロセッサにより実行されると、前記少なくとも1つのプロセッサに前記方法を実行させる電子デバイスを提供する。
【0006】
本開示の第4態様によれば、コンピュータに前記方法を実行させるためのコンピュータコマンドを記憶する非一時的なコンピュータ可読記憶媒体を提供する。
【0007】
本開示の第5態様によれば、プロセッサにより実行されると、前記方法を実現するコンピュータプログラムを含むコンピュータプログラム製品を提供する。
【0008】
以上の技術案から分かるように、本実施形態は、処理すべき異種グラフにおいて第1所定メタパスに基づいてサンプリングにより少なくとも1つの第1ウォークパスを得た後、まず、サンプリングにより得られた少なくとも1つの第1ウォークパスに基づいて処理すべき異種グラフにおける各ノードの初期ノード表現を得、次に各ノードと各ノードの隣接ノードの初期ノード表現とに基づいて各ノードの最終ノード表現を生成することにより、各ノードの最終ノード表現が隣接ノードの情報を統合し、生成された最終ノード表現の精度を向上させることができる。
【0009】
理解すべきなのは、本セクションで説明される内容は、本開示の実施形態の重要な又は肝心な特徴を標識することでもなく、本開示の範囲を制限することでもない。本開示の他の特徴は、以下の明細書により容易に理解されるであろう。
【図面の簡単な説明】
【0010】
図面は、本技術案をより良く理解するためのものであり、本願に制限されない。図面において、
図1】本開示の第1実施形態に係る概略図である。
図2】本開示の第2実施形態に係る概略図である。
図3】本開示の第3実施形態に係る概略図である。
図4】本開示の第4実施形態に係る概略図である。
図5】本開示の実施形態のノード表現生成方法を実現するための電子デバイスのブロック図である。
【発明を実施するための形態】
【0011】
以下、図面に基づいて、本開示の例示的な実施例を説明する。理解を容易にするために、本開示の実施例の様々な詳細が含まれており、それらは単なる例示と見なされるべきである。従って、当業者は、本開示の範囲及び精神から逸脱することなく、本明細書に記載の実施形態に対して様々な変更及び修正を行うことができることを認識できるはずである。同様に、簡明のために、以下の説明では、よく知られた機能と構造の説明は省略される。
【0012】
図1は、本開示の第1実施形態に係る概略図である。図1に示すように、本実施形態のノード表現生成方法は、具体的には以下のステップを含むことができる。
【0013】
S101において、処理すべき異種グラフを取得する。
【0014】
S102において、第1所定メタパスに基づいて処理すべき異種グラフにおいてサンプリングにより少なくとも1つの第1ウォークパスを得る。
【0015】
S103において、前記少なくとも1つの第1ウォークパスに基づいて、前記処理すべき異種グラフにおける各ノードの初期ノード表現を得る。
【0016】
S104において、各ノードの初期ノード表現と各ノードの隣接ノードの初期ノード表現とに基づいて各ノードの最終ノード表現を生成する。
【0017】
本実施形態におけるノード表現生成方法は、処理すべき異種グラフにおいて、第1所定メタパスに基づいてサンプリングにより少なくとも1つの第1ウォークパスを得た後、まず、サンプリングにより得られた少なくとも1つの第1ウォークパスに基づいて処理すべき異種グラフにおける各ノードの初期ノード表現を得、次に各ノードと各ノードの近隣ノードの初期ノード表現に基づいて各ノードの最終ノード表現を生成することにより、各ノードの最終ノード表現が近隣ノードの情報を統合し、生成された最終ノード表現の精度を向上させることができる。
【0018】
本実施形態では、S101を実行して処理すべき異種グラフを取得する際に、異なる下流タスクに応じて選択することができる。取得された処理すべき異種グラフは、異なるタイプのノードと2つのノード間の接続関係を表すノード間のエッジを含む
【0019】
例えば、下流タスクがニュース推薦タスクである場合、本実施形態においてS101を実行して取得される処理すべき異種グラフは、ニュースノード、ユーザノード、及び興味ノードの3タイプのノードからなるグラフネットワークであってよい。
【0020】
本実施形態では、S101を実行して処理すべき異種グラフを取得した後、S102を実行して、第1メタパスに基づいて取得された処理すべき異種グラフにおいてサンプリングにより少なくとも1つの第1ウォークパスを得る。
【0021】
本実施形態における第1メタパス(meta path)は、処理すべき異種グラフの構造及び処理すべき異種グラフが使用される下流タスクに応じて予め設定されて良い。第1メタパスには、指定されたノードタイプ及びノード間の接続関係が含まれている。
【0022】
例えば、処理すべき異種グラフにB(ニュース)、U(ユーザ)、及びA(興味)という3つのタイプのノードが含まれる場合、本実施形態がS102を実行する際に使用する第1メタパス1は、1つのニュースが2人のユーザによりクリックされる関係を記述するためのU-B-U(ユーザ-ニュース-ユーザ)であってよい。使用される第1メタパス2は、2人のユーザが同じ興味を持つ関係を記述するU-A-Uであってよい。このように、異なる第1メタパスに基づいて処理すべき異種グラフにおいてサンプリングする場合、得られた異なる第1メタパスに対応する第1ウォークパスは、異なる語義情報を有する。
【0023】
理解すべきなのは、本実施形態は、S102を実行する際に、1つの第1メタパスに基づいてサンプリングにより少なくとも1つの第1ウォークパスを得ても良く、複数の第1メタパスに基づいてサンプリングにより複数の第1ウォークパスを得ても良い。
【0024】
本実施形態は、S102を実行して、第1メタパスに基づいて処理すべき異種グラフにおいてサンプリングにより少なくとも1つの第1ウォークパスを得る際に、以下のようなオプション実現方式を採用して良い。つまり、第1メタパスの各々について、処理すべき異種グラフにおいて当該第1メタパスにより指定されたノードタイプ及びノード間の接続関係に基づいて、サンプリングにより当該第1メタパスに対応する少なくとも1つの第1ウォークパスを得る。
【0025】
ここで、本実施形態は、S102を実行する時に、ランダムウォークポリシーに基づいて、処理すべき異種グラフにおいてサンプリングすることにより、各第1メタパスに対応する第1ウォークパスを得ることができる。
【0026】
例えば、処理すべき異種グラフに含まれるノードがU1、U2、U3、B1、B2、B3、B4、及びA1、A2、A3、A4である場合、第1メタパス1がU-B-Uである場合、処理すべき異種グラフにおいて第1メタパス1からサンプリングされた第1ウォークパスは、U1-B2-U2-B4-U3であってもよく、U2-B3-U3-B2-U1であってもよい。第1メタパス2がU-A-Uである場合、処理すべき異種グラフにおいて第1メタパス2からサンプリングされた第1ウォークパスは、U1-A2-U2-A4-U3であって良い。
【0027】
本実施形態では、S102を実行して少なくとも1つの第1ウォークパスを得た後、S103を実行して、得られた少なくとも1つの第1ウォークパスに基づいて、処理すべき異種グラフにおける各ノードの初期ノード表現を得る。
【0028】
本実施形態では、S103を実行して、少なくとも1つの第1ウォークパスに基づいて処理すべき異種グラフにおける各ノードの初期ノード表現を得る場合に、得られた各第1ウォークパスを予め訓練されたニューラルネットワークモデルに直接に入力し、このニューラルネットワークモデルにより、入力された第1ウォークパスにおける各タイプのノードとノード間のエッジに基づいて、処理すべき異種グラフにおける各ノードの初期ノード表現を得ることができる。
【0029】
本実施形態では、S103を実行して処理すべき異種グラフにおける各ノードの初期ノード表現を得た後、S104を実行して、各ノードの初期ノード表現と各ノードの隣接ノードの初期ノード表現とに基づいて、各ノードの最終ノード表現を生成する。
【0030】
本実施形態は、S104を実行して、各ノードの初期ノード表現と各ノードの隣接ノードの初期ノード表現とに基づいて各ノードの最終ノード表現を生成する前に、更に、各ノードについて、処理すべき異種グラフにおける当該ノードとの距離が予め設定された距離であるノードを当該ノードの隣接ノードとし、予め設定された距離が1であれば、本実施形態では現在のノードから1つの距離であるノードを現在のノードの隣接ノードとすることを含むことができる。
【0031】
本実施形態では、S104を実行する際に、各ノードの初期ノード表現と各ノードの近隣ノードの初期ノード表現とを直接に重み付け加算し、得られた重み付け加算結果を各ノードの最終ノード表現とすることができる。
【0032】
具体的には、本実施形態では、S104を実行して、各ノードの初期ノード表現と各ノードの隣接ノードの初期ノード表現とに基づいて各ノードの最終ノード表現を生成する際に、以下のようなオプション実現方式を採用して良い。つまり、各ノードの初期ノード表現と各ノードの近隣ノードの初期ノード表現とを重み付け加算し、得られた重み付け加算結果を各ノードの更新ノード表現とし、各ノードの初期ノード表現を更新ノード表現に置き換えた後、予め設定された回数に達するまで、各ノードの初期ノード表現と各ノードの近隣ノードの初期ノード表現との重み付け加算を行うステップに進み、予め設定された回数に達すると、各ノードの更新ノード表現が各ノードの最終ノード表現とする。
【0033】
本実施形態では、S104を実行して、各ノードの初期ノード表現と各ノードの近隣ノードの初期ノード表現とを重み付け加算する際に、以下の計算式を用いることができる。
【数1】
【0034】
計算式において、H(k+1)は現在のノードの(k+1)回目の更新ノード表現を示し、αは0~1の値をとる重み係数であり、
【数2】
は隣接行列を示し、hは現在のノードの隣接ノードのk回目の更新ノード表現を示し、Hは現在のノードのk回目の更新ノード表現を示す。
【0035】
つまり、本実施形態は、処理すべき異種グラフにおける各ノードと、各ノードに対応する近隣ノードとを集約し、各ノードの初期ノード表現を複数回に更新することにより、得られる各ノードの最終ノード表現に近隣ノードの情報が含まれるようにし、得られる最終ノード表現の精度をさらに向上させる。
【0036】
図2は、本開示の第2実施形態に係る概略図である。図2に示すように、本実施形態は、「前記少なくとも1つの第1ウォークパスに基づいて、前記処理すべき異種グラフにおける各ノードの初期ノード表現を得る」というS103を実行する際に、具体的には、以下のステップを含むことができる。
【0037】
S201において、各第1ウォークパスにおける各ノードを第1ノードとする。
【0038】
S202において、各第1ノードが位置する第1ウォークパスに基づいて、第1ノードと当該第1ノードとの1つの隣接ノードを含む各第1ノードのノードペアを構築する。
【0039】
S203において、各第1ノードのノードペアをノード表現モデルに入力し、前記ノード表現モデルが各ノードペアに対して出力した出力結果を各ノードの初期ノード表現とする。
【0040】
本実施形態では、S103を実行して、第1ウォークパスから各ノードの初期ノード表現を得る際に、各ノードに対応するノードペアを構築した後、更に予め訓練されたノード表現モデルを用いて各ノードペアを処理することにより、各ノードの初期ノード表現を得る。
【0041】
本実施形態は、S202を実行して各第1ノードが位置する第1ウォークパスに基づいて各第1ノードのノードペアを構築する際に、以下のようなオプション実現方式を採用して良い。つまり、第1ノードの各々について、当該第1ノードが位置する第1ウォークパスにおいて、当該第1ノードの少なくとも1つの近隣ノードを決定し、例えば、現在のノードの前及び/又は後の予め設定された距離に位置するノードを現在のノードの近隣ノードとし、当該第1ノードと当該第1ノードの1つの隣接ノードに基づいて当該第1ノードのノードペアを得る。
【0042】
本実施形態では、S203を実行する際に使用されるノード表現モデルは予め訓練されたものである。当該ノード表現モデルは、入力された各ノードに対応するノードペアに基づいて、そのノードの初期ノード表現を出力することができる。
【0043】
図3は、本開示の第3実施形態に係る概略図である。図3に示すように、本実施形態はS203を実行する際に使用されるノード表現モデルは、以下のように事前に訓練されて得られる。
【0044】
S301において、サンプル異種グラフ及びサンプル異種グラフにおける各ノードの標識ノード表現を含む訓練データを取得する。
【0045】
S302において、第2メタパスに基づいて、前記サンプル異種グラフにおいてサンプリングにより少なくとも1つの第2ウォークパスを得る。
【0046】
S303において、各第2ウォークパスにおける各ノードを第2ノードとして、第2ノードと当該第2ノードの1つの隣接ノードを含む各第2ノードのノードペアを構築する。
【0047】
S304において、第2ノードのノードペアと第2ノードの標識ノード表現を用いて、ニューラルネットワークモデルが収束するまで前記ニューラルネットワークモデルを訓練してノード表現モデルを得る。
【0048】
なお、本実施形態はS302を実行する際に使用する第2メタパスは、第1メタパスと同じであっても良く、第1メタパスとは異なるものであってもよい。
【0049】
本実施形態がS302を実行してサンプリングにより少なくとも1つの第2ウォークパスを得る過程は、上述した実施形態がS102を実行してサンプリングにより少なくとも1つの第1ウォークパスを得る過程と類似であり、ここでは言及しない。
【0050】
本実施形態がS303を実行して第2ノードのノードペアを構築する過程は、上述した実施形態がS202を実行して第1ノードのノードペアを構築する過程と類似であり、ここでは言及しない。
【0051】
本実施形態は、S304を実行して、第2ノードのノードペアと第2ノードの標識ノード表現とを用いてニューラルネットワークモデルが収束するまでニューラルネットワークモデルを訓練する際に、以下のようなオプション実現方式を採用して良い。つまり、第2ノードのノードペアをニューラルネットワークモデルに入力し、ニューラルネットワークモデルがノードペアに対して出力した出力結果を得、得られた出力結果と第2ノードの標識ノード表現により計算された損失関数値に基づいて、ニューラルネットワークモデルが収束するまでニューラルネットワークモデルのパラメータを更新する。本実施形態で使用するニューラルネットワークモデルは、ウォーククラスグラフ学習モデルであってよい。
【0052】
本実施形態により訓練されたノード表現モデルによれば、入力されたノードのノードペアに応じて、そのノードのノード表現を出力することができる。
【0053】
図4は、本開示の第4実施形態に係る概略図である。図4に示すように、本実施形態のノード表現生成装置400は、処理すべき異種グラフを取得する取得部401と、第1所定メタパスに基づいて、前記処理すべき異種グラフにおいてサンプリングにより少なくとも1つの第1ウォークパスを得るサンプリング部402と、前記少なくとも1つの第1ウォークパスに基づいて、前記処理すべき異種グラフにおける各ノードの初期ノード表現を得る処理部403と、各ノードの初期ノード表現と各ノードの隣接ノードの初期ノード表現に基づいて、各ノードの最終ノード表現を生成する生成部404と、を備える。
【0054】
取得部401は、処理すべき異種グラフを取得する際に、異なる下流タスクに応じて選択可能である。取得された処理すべき異種グラフは、異なるタイプのノードと2つのノード間の接続関係を表すノード間のエッジを含む。
【0055】
本実施形態では、取得部401により処理すべき異種グラフが取得された後、サンプリング部402により、第1メタパスに基づいて、取得された処理すべき異種グラフにおいて、サンプリングにより少なくとも1つの第1ウォークパスを得る。
【0056】
理解すべきなのは、サンプリング部402は、1つの第1メタパスに基づいてサンプリングにより少なくとも1つの第1ウォークパスを得ても良く、複数の第1メタパスに基づいてサンプリングにより複数の第1ウォークパスを得ても良い。
【0057】
サンプリング部402は、第1メタパスに基づいて、処理すべき異種グラフにおいてサンプリングにより少なくとも1つの第1ウォークパスを得る際に、以下のようなオプション実現方式を採用して良い。つまり、第1メタパスの各々について、処理すべき異種グラフにおいて、当該第1メタパスにより指定されたノードタイプ及びノード間の接続関係に基づいてサンプリングにより当該第1メタパスに対応する少なくとも1つの第1ウォークパスを得る。
【0058】
ここで、サンプリング部402は、ランダムウォークポリシーに基づいて、処理すべき異種グラフにおいてサンプリングして各第1メタパスに対応する第1ウォークパスを得ることができる。
【0059】
本実施形態は、サンプリング部402により少なくとも1つの第1ウォークパスを得た後、処理部403により、得られた少なくとも1つの第1ウォークパスに基づいて、処理すべき異種グラフにおける各ノードの初期ノード表現を得る。
【0060】
処理部403は、少なくとも1つの第1ウォークパスに基づいて、処理すべき異種グラフにおける各ノードの初期ノード表現を得る場合に、得られた各第1ウォークパスを予め訓練されたニューラルネットワークモデルに直接に入力し、当該ニューラルネットワークモデルにより入力された第1ウォークパスにおける各タイプのノードとノード間のエッジに基づいて、処理すべき異種グラフにおける各ノードの初期ノード表現を得られる。
【0061】
処理部403は、前記少なくとも1つの第1ウォークパスに基づいて、前記処理すべき異種グラフにおける各ノードの初期ノード表現を得る場合に、以下のようなオプション実現方式を採用して良い。つまり、各第1ウォークパスにおける各ノードを第1ノードとし、各第1ノードが位置する第1ウォークパスに基づいて第1ノードと当該第1ノードの1つの隣接ノードを含む各第1ノードのノードペアを構築し、各第1ノードのノードペアをノード表現モデルに入力し、前記ノード表現モデルが各ノードペアに対して出力した出力結果を各ノードの初期ノード表現とする。
【0062】
処理部403は、各第1ノードが位置する第1ウォークパスに基づいて各第1ノードのノードペアを構築する場合に、以下のようなオプション実現方式を採用して良い。つまり、第1ノードの各々について、当該第1ノードが位置する第1ウォークパスにおいて、当該第1ノードの少なくとも1つの隣接ノードを決定し、当該第1ノードと当該第1ノードの1つの隣接ノードに基づいて当該第1ノードのノードペアを得る。
【0063】
処理部403により使用されるノード表現モデルは、訓練部405により予め訓練されたものである。当該ノード表現モデルは、入力された各ノードに対応するノードペアに基づいて、そのノードの初期ノード表現を出力することができる。
【0064】
本実施形態におけるノード表現生成装置400は、以下の方式によりノード生成モデルを事前に訓練する訓練部405を更に備えて良い。当該訓練部405は、サンプル異種グラフ及びサンプル異種グラフにおける各ノードの標識ノード表現を含む訓練データを取得し、第2メタパスに基づいて、取得されたサンプル異種グラフにおいてサンプリングにより少なくとも1つの第2ウォークパスを得、各第2ウォークパスにおける各ノードを第2ノードとして、第2ノードと当該第2ノードの1つの隣接ノードを含む各第2ノードのノードペアを構築し、第2ノードのノードペアと第2ノードの標識ノード表現とを用いて、ニューラルネットワークモデルが収束するまでニューラルネットワークモデルを訓練してノード表現モデルを得る。
【0065】
ここで、訓練部405により使用される第2メタパスは、サンプリング部402により使用される第1メタパスと同じであってもよく、異なっても良い。
【0066】
訓練部405がサンプリングにより少なくとも1つの第2ウォークパスを得る過程は、サンプリング部402がサンプリングにより少なくとも1つの第1ウォークパスを得る過程と類似であるため、ここでは言及しない。
【0067】
訓練部405が第2ノードのノードペアを構築する過程は、処理部403が第1ノードのノードペアを構築する過程と類似であるため、ここでは言及しない。
【0068】
訓練部405は、第2ノードのノードペアと第2ノードの標識ノード表現を用いて、ニューラルネットワークモデルが収束するまでニューラルネットワークモデルを訓練する場合に、以下のようなオプション実現方式を採用して良い。つまり、第2ノードのノードペアをニューラルネットワークモデルに入力し、ニューラルネットワークモデルがノードペアに対して出力した出力結果を得、得られた出力結果と第2ノードの標識ノード表現により計算された損失関数値に基づいて、ニューラルネットワークモデルが収束するまでニューラルネットワークモデルのパラメータを更新する。本実施形態で使用するニューラルネットワークモデルはウォーククラスグラフ学習モデルであってよい。
【0069】
本実施形態では、処理部403により処理すべき異種グラフにおける各ノードの初期ノード表現が得られた後、生成部404により、各ノードの初期ノード表現と各ノードの隣接ノードの初期ノード表現に基づいて各ノードの最終ノード表現を生成する。
【0070】
生成部404は、各ノードの初期ノード表現と各ノードの隣接ノードの初期ノード表現に基づいて各ノードの最終ノード表現を生成する前に、各ノードについて、処理すべき異種グラフにおける、そのノードとの間の距離が予め設定された距離であるノードをそのノードの隣接ノードとすることを更に含んで良い。
【0071】
生成部404は、各ノードの初期ノード表現と、各ノードの近隣ノードの初期ノード表現とを直接に重み付け加算し、得られた重み付け加算結果を各ノードの最終ノード表現とすることができる。
【0072】
具体的に、生成部404は、各ノードの初期ノード表現と、各ノードの隣接ノードの初期ノード表現に基づいて各ノードの最終ノード表現を生成する際に、以下のようなオプション実現方式を採用して良い。つまり、各ノードの初期ノード表現と各ノードの近隣ノードの初期ノード表現とを重み付け加算し、得られた重み付け加算結果を各ノードの更新ノード表現とし、各ノードの初期ノード表現を更新ノード表現に置き換えた後、予め設定された回数に達するまで、各ノードの初期ノード表現と各ノードの近隣ノードの初期ノード表現との重み付け加算を行うステップに進み、予め設定された回数に達すると、各ノードの更新ノード表現が各ノードの最終ノード表現とする。
【0073】
本開示の技術案において、関わるユーザの個人情報の取得、記憶及び応用等は、いずれも関連法律法規の規定に適合しており、公序良俗に反するものではない。
【0074】
本開示の実施形態によれば、本開示は更に、電子デバイス、可読記憶媒体、及びコンピュータプログラム製品を提供する。
【0075】
図5は、本開示の実施形態のノード表現生成方法に係る電子デバイスのブロック図である。電子デバイスは、ラップトップ、デスクトップコンピュータ、ワークベンチ、サーバ、ブレードサーバ、大型コンピュータ、及び他の適切なコンピュータのような、様々な形態のデジタルコンピュータを表す。電子デバイスは更に、PDA、携帯電話、スマートフォン、ウェアラブルデバイス、及び他の同様のコンピューティングデバイスなどの様々な形態のモバイルデバイスを表すことができる。本明細書に示す構成要素、それらの接続及び関係、ならびにそれらの機能は、単なる一例であり、本明細書に記載及び/又は要求された本開示の実現を制限することではない。
【0076】
図5に示すように、デバイス500は、読み取り専用メモリ(ROM)502に記憶されたコンピュータプログラム、又は記憶手段508からランダムアクセスメモリ(RAM)503にロードされたコンピュータプログラムに従って、様々な適切な動作及び処理を実行することができる演算手段501を含む。RAM503には、デバイス500の動作に必要な各種のプログラムやデータが記憶されてもよい。演算手段501、ROM502及びRAM503は、バス504を介して接続されている。入出力(I/O)インターフェース505もバス504に接続されている。
【0077】
例えばキーボード、マウス等の入力手段506と、例えば様々なタイプのディスプレイ、スピーカ等の出力手段507と、例えば磁気ディスク、光ディスク等の記憶手段508と、例えばネットワークカード、モデム、無線通信トランシーバなどの通信手段509を含むデバイス500の複数の構成要素は、I/Oインターフェース505に接続される。通信手段509は、デバイス500が例えばインターネットのコンピュータネットワーク及び/又は様々な電気通信ネットワークを介して他のデバイスと情報/データを交換することを可能にする。
【0078】
演算手段501は、処理能力及び演算能力を有する様々な汎用及び/又は専用の処理コンポーネントであってよい。演算手段501のいくつかの例は、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、様々な専用の人工知能(AI)演算チップ、機械学習モデルアルゴリズムを実行する様々な演算ユニット、デジタル信号プロセッサ(DSP)、及び任意の適切なプロセッサ、コントローラ、マイクロコントローラなどを含むが、これらに限定されない。演算手段501は、上述した様々な方法及び処理、例えばノード表現生成方法を実行する。例えば、幾つかの実施形態では、ノード表現生成方法は、例えば記憶手段508のような機械可読媒体に物理的に組み込まれたコンピュータソフトウェアプログラムとして実装されてもよい。
【0079】
幾つかの実施形態では、コンピュータプログラムの一部又は全部は、ROM502及び/又は通信手段509を介してデバイス500にロード及び/又はインストールすることができる。コンピュータプログラムがRAM503にロードされ、演算手段501により実行されると、本開示に記載のノード表現生成方法の1つ又は複数のステップを実行することができる。代替的に、他の実施形態では、演算手段501は、ノード表現生成方法を実行するように、他の任意の適切な方法で(例えば、ファームウェアを介する)構成されてもよい。
【0080】
本明細書で前述したシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、専用集積回路(ASIC)、専用標準製品(ASSP)、システムオンチップシステム(SOC)、ロードプログラマブル論理デバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はこれらの組み合わせにおいて実装されてもよい。これらの様々な実施形態は、1つ又は複数のコンピュータプログラムで実施されることを含んで良い。当該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行及び/又は解釈することができる。当該プログラマブルプロセッサは、専用又は汎用のプログラマブルプロセッサであって、記憶システム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、当該記憶システム、当該少なくとも1つの入力装置、及び当該少なくとも1つの出力装置にデータ及び命令を転送することができる。
【0081】
本開示の方法を実施するためのプログラムコードは、1つ又は複数のプログラミング言語の任意の組み合わせを用いて記述することができる。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサ又はコントローラに提供することにより、プログラムコードがプロセッサ又はコントローラにより実行されると、フローチャート及び/又はブロック図に指定された機能/動作を実行するようにすることができる。プログラムコードは、全てがマシン上で実行されても良く、一部がマシン上で実行されても良く、スタンドアロンパッケージとして一部的にマシン上で実行され且つ一部的にリモートマシン上で実行され、或いは全てがリモートマシン又はサーバ上で実行されても良い。
【0082】
本開示の文脈では、機械可読媒体は、有形の媒体であって、命令実行システム、装置又はデバイスにより使用され、或いは命令実行システム、装置又はデバイスと合わせて使用されるプログラムを含むか記憶することができる。機械可読媒体は、機械可読信号媒体又は機械可読記憶媒体であってよい。機械可読媒体は、電子的、磁気的、光学的、電磁気的、赤外線的、又は半導体的なシステム、装置又はデバイス、あるいはこれらの任意の適切な組み合わせを含んで良いが、これらに限定されない。機械可読記憶媒体のより具体的な例は、1つ又は複数のラインに基づく電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、携帯型コンパクトディスク読み取り専用メモリ(CD-ROM)、光学記憶装置、磁気記憶装置、又はこれらの任意の適切な組み合わせを含む。
【0083】
ユーザとのインタラクションを提供するために、本明細書に記載されたシステム及び技術は、ユーザに情報を表示するための表示装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、ユーザにより入力をコンピュータに提供するキーボード及びポインティングデバイス(例えば、マウス又はトラックボール)と備えるコンピュータ上に実施されてよい。他の種類の装置は、ユーザとのインタラクションを提供するためにも使用され得る。例えば、ユーザに提供されるフィードバックは、任意の形態のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であって良く、ユーザからの入力を任意の形式(音入力、音声入力、又は触覚入力を含む)で受信して良い。
【0084】
本明細書に記載されたシステム及び技術は、バックエンド構成要素を含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェア構成要素を含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンド構成要素を含むコンピューティングシステム(例えば、グラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータであり、ユーザは、当該グラフィカルユーザインターフェースもしくは当該ウェブブラウザを通じて本明細書で説明されるシステムと技術の実施形態とインタラクションすることができる)、そのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムに実施されることが可能である。システムの構成要素は、任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互に接続されることが可能である。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、ワイド・エリア・ネットワーク(「WAN」)、インターネットワークを含む。
【0085】
コンピュータシステムは、クライアントとサーバを含み得る。クライアントとサーバは、一般的に互いから遠く離れており、通常は、通信ネットワークを通じてインタラクトする。クライアントとサーバとの関係は、相応するコンピュータ上で実行され、互いにクライアント-サーバの関係を有するコンピュータプログラムによって生じる。サーバはクラウドサーバ、クラウドコンピューティングサーバ又はクラウドホストとも呼ばれ、従来の物理ホストとVPSサービス(「Virtual Private Server」、或いは「VPS」と略称される)において管理が難しく、ビジネスの拡張性が弱いという欠点を解決するクラウドコンピューティングサービスシステムのホスト製品の1つであって良い。サーバは、分散システムのサーバであっても良く、ブロックチェーンを組み合わせたサーバであってもよい。
【0086】
以上で示された様々な形式のフローを使用して、ステップを並べ替え、追加、又は削除できることを理解されたい。例えば、本開示に説明される各ステップは、並列の順序又は順次的な順序で実施されてもよいし、又は異なる順序で実行されてもよく、本開示で開示された技術案の望ましい結果が達成できる限り、ここで制限されない。
【0087】
上記の具体的な実施形態は本開示の保護範囲に対する制限を構成しない。設計要件及び他の要因に従って、様々な修正、組み合わせ、部分的組み合わせ及び置換を行うことができることを当業者は理解するべきである。本開示の精神及び原則の範囲内で行われる修正、同等の置換、改善は、何れも本開示の保護範囲内に含まれるべきである。
図1
図2
図3
図4
図5