(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024146865
(43)【公開日】2024-10-15
(54)【発明の名称】機械学習のためのグラフセット分析及び可視化
(51)【国際特許分類】
G06N 3/04 20230101AFI20241004BHJP
【FI】
G06N3/04 100
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024051766
(22)【出願日】2024-03-27
(31)【優先権主張番号】18/194607
(32)【優先日】2023-03-31
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ZIGBEE
2.WCDMA
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】オウ・ヨン イー
(72)【発明者】
【氏名】内野 寛治
(57)【要約】
【課題】機械学習のためのグラフセット分析及び可視化に関する技術を提供する。
【解決手段】一実施形態では、動作は、グラフのセットを含むグラフデータセットを受信することを含む。動作は、タスクスケジューラによって、受信したグラフデータセットを並列に処理するように構成されたタスクキューのセットを生成することを含む。動作は、グラフのセットの各グラフについてグラフ属性のセットを、タスクキューのセットによって決定することをさらに含む。動作は、決定されたグラフ属性のセットのうちの1つ以上のグラフ属性を、ウェブサービスによって受信することをさらに含む。動作は、受信した1つ以上のグラフ属性を含む属性情報を、ウェブサービスによってクライアントブラウザに送信することをさらに含む。クライアントブラウザは、送信された属性情報に基づいて、グラフビューのセットを決定するように構成されている。動作は、決定されたグラフビューのセットのクライアントブラウザ上でのレンダリングを制御することをさらに含む。
【選択図】
図3
【特許請求の範囲】
【請求項1】
プロセッサによって実行される方法であって、
グラフのセットを含むグラフデータセットを受信することと、
前記受信したグラフデータセットを並列に処理するように構成されたタスクキューのセットをタスクスケジューラによって生成することと、
前記グラフのセットの各グラフについて、グラフ属性のセットを前記タスクキューのセットによって決定することと、
前記決定されたグラフ属性のセットのうちの1つ以上のグラフ属性をウェブサービスによって受信することと、
前記受信した1つ以上のグラフ属性を含む属性情報を、前記ウェブサービスによってクライアントブラウザに送信することであって、
前記クライアントブラウザは、前記送信された属性情報に基づいて、グラフビューのセットを決定するように構成されている、ことと、
前記決定されたグラフビューのセットの前記クライアントブラウザ上でのレンダリングを制御することと、を含む、方法。
【請求項2】
前記決定されたグラフ属性のセットは、グラフ特性のセット、グラフ特徴のセット、又はグラフ構造プロットのセットのうちの1つ以上に対応する、請求項1に記載の方法。
【請求項3】
前記グラフ特性のセットは、グラフのノードの数、グラフのエッジの数、グラフ密度、グラフ直径、グラフ内のループの数、グラフ内のクリークの数、又はグラフ内の互いに素なサブグラフの数のうちの1つ以上を含む、請求項2に記載の方法。
【請求項4】
前記決定されたグラフビューのセットは、一次元グラフビュー、二次元グラフビュー、グラフセットビュー、又は単一グラフビューのうちの1つ以上を含む、請求項1に記載の方法。
【請求項5】
前記クライアントブラウザに関連付けられたオブジェクトキャッシュにおける前記送信された属性情報の記憶を制御することをさらに含む、請求項1に記載の方法。
【請求項6】
前記グラフのセットの各グラフについて、対応するグラフが連続グラフであるかどうかを決定することと、
サブグラフのセットの抽出のために、対応するグラフが連続グラフであるという前記決定に基づいて、前記グラフのセットの各グラフからサブグラフを抽出することであって、
前記タスクキューのセットは、前記抽出されたサブグラフのセットに基づいて生成される、ことと、
前記抽出されたサブグラフのセットの各サブグラフと前記グラフのセットの各離散グラフについて、前記グラフ属性のセットのうちの第1のグラフ属性が決定されたかどうかを決定することと、
前記タスクキューのセットのうちの第1のタスクキューによって、前記抽出されたサブグラフのセットの各サブグラフと前記グラフのセットの各離散グラフについて、前記第1のグラフ属性が決定されたという前記決定に基づいて、前記第1のグラフ属性の決定の完了を示す第1の通知を前記ウェブサービスに送信することと、
前記抽出されたサブグラフのセットの各サブグラフと前記グラフのセットの各離散グラフについて、前記グラフ属性のセットの各グラフ属性が決定されたかどうかを決定することと、
前記タスクキューのセットの各タスクキューによって、前記抽出されたサブグラフのセットの各サブグラフと前記グラフのセットの各離散グラフについて、前記グラフ属性のセットの各グラフ属性が決定されたことに基づいて、前記グラフ属性のセットの決定の完了を示す第2の通知を前記ウェブサービスに送信することと、をさらに含む、請求項1に記載の方法。
【請求項7】
前記グラフのセットに関連付けられたデータラベルに基づいて、前記グラフのセットに関連付けられた前記決定されたグラフ属性のセットをフィルタリングすることをさらに含む、請求項1に記載の方法。
【請求項8】
前記決定されたグラフ属性のセットに関連付けられたグラフ特性のセットのうちのグラフ特性のサブセットの選択を示す第1のユーザ入力を受信することと、
前記受信した第1のユーザ入力に基づいて、前記グラフのセットの各グラフについて、前記選択されたグラフ特性のサブセットの各グラフ特性の値を受信することと、
対応するグラフ特性の前記受信した値に基づいて、各グラフ特性についてのプロットを生成することと、
前記選択されたグラフ特性のサブセットの各グラフ特性の前記受信した値をソートするためのソート技法を示す第2のユーザ入力を受信することと、
前記受信した第2のユーザ入力に基づいて、ソート技法がアンカーベースのソートに対応するかどうかを決定することと、
前記ソート技法が前記アンカーベースのソートに対応するとの前記決定に基づき、前記グラフのセットの各グラフについて決定されたアンカーグラフ特性の受信した値に基づいて、各グラフ特性の前記受信した値をソートすることと、
対応する前記グラフ特性の前記ソートされた受信した値に基づいて、各グラフ特性に対して前記生成されたプロットを更新することによって、第1のプロットのセットを生成することと、
前記ソート技法が前記アンカーベースのソートに対応しないとの前記決定に基づき、前記グラフのセットの各グラフについて対応する前記グラフ特性の値の独立したソートに基づいて、各グラフ特性について前記生成されたプロットを更新することによって、第2のプロットのセットを生成することと、
前記第1のプロットのセット又は前記第2のプロットのセットのうちの1つは、一次元グラフビューに対応する、請求項1に記載の方法。
【請求項9】
前記一次元グラフビューは、第1の特性と第2の特性との相関をグラフレベルごとに示す、請求項8に記載の方法。
【請求項10】
前記一次元グラフビューに対応する前記第2のプロットのセットは、前記決定された属性のセットの値セットの範囲及び分布を大域的レベルで示す、請求項8に記載の方法。
【請求項11】
前記二次元グラフビューは、前記グラフの第1の特性の第1の値セットと前記グラフの第2の特性の第2の値セットとの間のプロットに対応する、請求項4に記載の方法。
【請求項12】
前記グラフの前記二次元グラフビューは、第1のグラフ特性と第2のグラフ特性との間の相関のレベルを示す、請求項11に記載の方法。
【請求項13】
前記決定された属性のセットに関連付けられたプロパティのセットのうちのプロパティの選択を示す第3のユーザ入力を受信することと、
前記受信した第3のユーザ入力に基づいて、前記グラフのセットの各グラフについて、前記選択された特性の値を受信することと、
前記グラフのセットの各グラフについて、前記選択された特性に基づいて、前記受信した値をソートすることと、
前記選択された特性についての値範囲の選択を示す第4のユーザ入力を受信することと、
前記受信した第4のユーザ入力に示された前記選択された特性についての前記値範囲に基づいて、前記グラフのセットから複数のグラフをサンプリングすることと、
前記サンプリングされた複数のグラフの各グラフに関連付けられた第1の画像のセットを受信することと、
前記サンプリングされた複数のグラフの各グラフについて、前記選択された特性の前記値を表すためのプロットタイプを示す第5のユーザ入力を受信することと、
前記受信した第5のユーザ入力に示される前記プロットタイプと前記受信した画像に基づいて、前記選択された特性の前記値をプロットすることと、をさらに含み、
前記選択した特性の前記プロットされた値がグラフセットビューに対応する、請求項1に記載の方法。
【請求項14】
前記サンプリングされた複数のグラフ以外のグラフに関連付けられた第2の画像のセットを前記グラフのセットから受信することをさらに含む、請求項13に記載の方法。
【請求項15】
前記クライアントブラウザに関連付けられた画像キャッシュにおける前記受信した第1の画像のセット又は前記受信した第2の画像のセットのうちの1つ以上の記憶を制御することをさらに含む、請求項14に記載の方法。
【請求項16】
前記サンプリングされた複数のグラフの各グラフに関連付けられた前記受信した第1の画像のセットは、スプリングレイアウト、スペクトルレイアウト、円形レイアウト、又はシェルレイアウトのうちの1つを含むレイアウトにおける前記対応するグラフの表現に対応する、請求項13に記載の方法。
【請求項17】
単一グラフビューは、グラフのサブグラフの表現を示す、請求項1に記載の方法。
【請求項18】
前記受信した第1のデータセットは、金融ドメインデータセット、電子商取引ドメインデータセット、ソーシャルネットワークドメインデータセット、分子化学ドメインデータセット、及びゲノム配列ドメインデータセットのうちの少なくとも1つに対応する、請求項1に記載の方法。
【請求項19】
命令を記憶するように構成された1つ以上の非一時的なコンピュータ可読記憶媒体であって、前記命令は、実行されることに応答して、電子デバイスに動作を実行させ、前記動作は、
グラフのセットを含むグラフデータセットを受信することと、
前記受信したグラフデータセットを並列に処理するように構成されたタスクキューのセットを、タスクスケジューラによって生成することと、
前記グラフのセットの各グラフについてグラフ属性のセットを、前記タスクキューのセットによって決定することと、
前記決定されたグラフ属性のセットのうちの1つ以上のグラフ属性を、ウェブサービスによって受信することと、
前記受信した1つ以上のグラフ属性を含む属性情報を、前記ウェブサービスによってクライアントブラウザに送信することであって、
前記クライアントブラウザは、前記送信された属性情報に基づいて、グラフビューのセットを決定するように構成されている、ことと、
前記決定されたグラフビューのセットの前記クライアントブラウザ上でのレンダリングを制御することと、を含む、非一時的なコンピュータ可読記憶媒体。
【請求項20】
電子デバイスであって、
命令を記憶するように構成されたメモリと、
前記メモリに結合されたプロセッサであって、前記命令を実行して、処理を実行するプロセッサと、を含み、前記処理は、
グラフのセットに関連付けられたグラフビューのセットに対応する1つ以上のUI要素を含む電子ユーザインタフェース(UI)のクライアントブラウザ上でのレンダリングを制御することと、
前記レンダリングされた電子UIを介して、複数のグラフからの前記グラフのセットの選択を示すユーザ入力を受信することと、
前記グラフのセットを含むグラフデータセットを受信することと、
前記受信したグラフデータセットを並列に処理するように構成されたタスクキューのセットを、タスクスケジューラによって生成することと、
前記グラフのセットの各グラフについてグラフ属性のセットを、前記タスクキューのセットによって決定することと、
前記決定されたグラフ属性のセットのうちの1つ以上のグラフ属性を、ウェブサービスによって受信することと、
前記受信した1つ以上のグラフ属性を含む属性情報を、前記ウェブサービスによって前記クライアントブラウザに送信することと、を含み、
前記クライアントブラウザは、前記送信された属性情報に基づいて、前記グラフビューのセットを決定するように構成されている、電子デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本開示において議論される実施形態は、機械学習のためのグラフセット分析及び可視化に関連する。
【背景技術】
【0002】
グラフ機械学習の進歩には、グラフデータの可視化の改善が必要であり、これは、グラフデータセットが、グラフ機械学習モデルを訓練するために使用され得るかどうかの事前決定のための可視化技術の開発につながっている。可視化技術は、グラフデータセットとグラフ機械学習との間に存在し得る知識のギャップを埋めることを可能にしてもよい。典型的には、グラフデータセットがグラフ機械学習に価値があるかどうかの決定のために、グラフデータセットに含まれるグラフ内の特定のノードの周りにサブグラフを抽出してもよい。その後、抽出されたサブグラフが、抽出されたサブグラフ間の変動を決定するために分析され得る。サブグラフが微小に異なるか、又は大きく類似していると決定される場合、グラフ機械学習モデルの学習(又は訓練)の正解率が低くなる可能性がある。このような分析に基づいて、グラフデータセットは、グラフ機械学習には価値がない可能性があると決定されることがある。一方、抽出されたサブグラフの分析に基づいて、抽出されたサブグラフが大きく異なること、及びその差が教師あり学習におけるクラスラベルと相関することが判断された場合、訓練正解率は高くなることがある。これにより、グラフ機械学習モデルは、実際の機械学習タスクの実行に対して脆弱になることがある。
【0003】
さらに、グラフデータは非ユークリッドであるため、抽出されたサブグラフの分析は、グラフデータセットに含まれるグラフの特定の特性について、抽出されたサブグラフの類似性又は変動を示してもよい。理論的には、グラフ機械学習は、抽出されたサブグラフ間の競合する類似性及び変動の識別に使用されてもよい(その後、グラフデータセットがグラフ機械学習に使用され得るかどうかを決定する)。しかしながら、このような識別は、特に多くの特性を有する大きなサブグラフにかなりのコンピューティングリソースを必要とすることがある。したがって、(多数の特性を持つ)大きなサブグラフに基づいて、グラフデータセットがグラフ機械学習(すなわち、グラフ機械学習モデルの訓練)に使用されるべきかどうかの決定は、実現可能なオプションではないことがある。
【0004】
本開示における特許請求の範囲の主題は、何らかの欠点を解決するか、又は上記のような環境においてのみ動作する実施形態に限定されない。むしろ、この背景技術は、本開示で記載されるいくつかの実施形態が実施され得る1つの例示的な技術を示すためにのみ提供されている。
【発明の概要】
【0005】
一実施形態の一態様によれば、方法は、動作のセットを含んでもよく、これは、グラフのセットを含むグラフデータセットを受信することを含んでもよい。動作のセットは、タスクスケジューラによって、グラフのセットにおける属性を並列に決定するように構成されたタスクキューのセットを生成することをさらに含んでもよい。動作のセットは、タスクキューのセットによって、グラフのセットの各グラフについて、グラフ属性のセットを決定することをさらに含んでもよい。動作のセットは、グラフのセットの各グラフについて、決定されたグラフ属性のセットのうちの1つ以上のグラフ属性にアクセスし、受信するウェブサービスをさらに含んでもよい。動作のセットは、受信した1つ以上のグラフ属性を含み得る属性情報を、ウェブサービスによってクライアントブラウザに送信することをさらに含んでもよい。クライアントブラウザは、送信された属性情報に基づいて、グラフビューのセットを決定するように構成されてもよい。動作のセットは、決定されたグラフビューのセットのクライアントブラウザ上でのレンダリングを制御することをさらに含んでもよい。
【0006】
本実施形態の目的及び利点は、少なくとも特許請求の範囲において特に指摘された要素、特徴、及び組み合わせによって実現され、達成される。
【0007】
前述の一般的記載及び下記の発明を実施するための形態は両方とも、例として示されており、説明的であり、特許請求の範囲に記載された発明を限定するものではない。
【図面の簡単な説明】
【0008】
例示的な実施形態は、添付の図面を使用することを通して、追加の具体性及び詳細と共に記載及び説明される。
【0009】
【
図1】機械学習のためのグラフセット分析及び可視化に関連する例示的なネットワーク環境を表す図である。
【0010】
【
図2】機械学習のためのグラフセット分析及び可視化のための例示的な電子デバイスを示すブロック図である。
【0011】
【
図3】機械学習のためのグラフセット分析及び可視化のための例示的な実行パイプラインを示す図である。
【0012】
【
図4】グラフのセットの各グラフについて、グラフ属性のセットを決定するための例示的な方法のフローチャートを示す図である。
【0013】
【
図5】クライアントブラウザ上の一次元グラフビューの決定のための例示的な動作を示す図である。
【0014】
【
図6A】グラフのセットの各グラフについて決定されたグラフ特性のセットを示すグラフプロットの例示的なシナリオを示す図である。
【0015】
【
図6B】グラフのセットの各グラフのグラフ特性の独立したソートに基づいて決定される一次元グラフビューの例示的なシナリオを示す図である。
【0016】
【
図6C】グラフのセットの各グラフについてのアンカーグラフ特性に基づき、グラフ属性のソートに基づいて決定された一次元グラフビューの例示的なシナリオを示す図である。
【0017】
【
図7】グラフセットビューのクライアントブラウザ上でのレンダリングを制御するための例示的な動作を示す図である。
【0018】
【
図8】グラフのセットのグラフ特性の値範囲の選択に基づいて決定されたグラフセットビューの例示的なシナリオを示す図である。
【0019】
【
図9】グラフ機械学習のためのグラフセットビューのグラフセット分析及び可視化のための例示的な方法のフローチャートを示す図である。
【0020】
全て、本開示に記載される少なくとも1つの実施形態による。
【発明を実施するための形態】
【0021】
本開示に記載されるいくつかの実施形態は、機械学習のためのグラフセット分析及び可視化のための方法及びシステムに関連する。本明細書において、グラフセット分析は、グラフのセットを含むグラフデータセットを受信することを伴ってもよい。グラフ属性のセットは、グラフのセットの各グラフについて決定されてもよい。さらに、決定されたグラフ属性のセットのうちの1つ以上のグラフ属性が、ウェブサービスに送信されてもよい。さらに、受信した1つ以上のグラフ属性を含む属性情報が、ウェブサービスによってユーザエンドデバイス上のクライアントブラウザに送信されてもよい。クライアントブラウザは、送信された属性情報に基づいて、グラフビューのセットを決定するように構成されてもよい。最後に、決定されたグラフビューのセットのレンダリングは、クライアントブラウザ上で制御されてもよい。
【0022】
グラフ機械学習ワークフローは、サブグラフとしてグラフデータを抽出することを伴ってもよい。サブグラフは、クエリ及びラベル付けに基づいて、グラフデータベースから抽出されてもよい。抽出されたサブグラフ及びラベルのいくつかは、グラフ機械学習を実行するために予測モデルを訓練するために使用されてもよく、一方、他の抽出されたサブグラフは、予測を生成するための予測モデルへの入力として提供されてもよい。しかし、抽出されたサブグラフ及びラベルに関連する知識ギャップ(すなわち、不十分な知識)は、予測モデルを使用して取得され得る結果の正解率の損失につながることがある。さらに、知識ギャップは、生成された結果に対して、決定的でない、又は不正確な説明の生成につながることがある。知識ギャップを最小限に抑えるために、抽出されたサブグラフの分析が実行されてもよい。このような分析により、エンドユーザは、抽出されたサブグラフ及びラベルがグラフ機械学習に使用可能であり得るかどうか決定することが可能となってもよい。例えば、分析は、抽出されたサブグラフが互いに類似しているかどうかを示してもよい。抽出されたサブグラフが類似している場合、予測モデルを訓練するために抽出されたサブグラフを使用すると、予測モデルの訓練正解率が低下することがある。分析はさらに、抽出されたサブグラフが互いの間でわずかな又は有意な変動を有するかどうか、又は変動が教師あり学習におけるクラスラベルと相関しているかどうかを示してもよい。このような分析に基づいて、予測モデルを訓練するために抽出されたサブグラフを使用すると、予測モデルが実際の使用(グラフ機械学習)には脆弱になりすぎることがあると決定されてもよい。抽出されたサブグラフ間の類似性又は変動の基礎は、抽出されたサブグラフの様々な特性であってもよい。特性を決定すること及び抽出されたサブグラフに基づいて予測モデルを準備する(すなわち、訓練する)ことは、特に、大きなサイズ及び複数の特性を有するものは、かなりのコンピューティングリソースを必要とし、かなりの待ち時間を伴うことがある。
【0023】
また、正確なグラフ機械学習モデルを生成し、知識ギャップを縮小するために、訓練データとして使用されるグラフデータの好適性は、グラフデータの特徴値の分布と特徴値間の関係に基づいて決定されてもよい。特徴値の分布及び特徴値間の関連する関係は、グラフデータを可視化すること、及びグラフデータが予測モデルを訓練するのに好適であるかどうかを事前決定することを可能にしてもよい。事前決定することは、グラフデータ内の最適な特徴を決定することと、決定された最適な特徴を選択することに基づいてもよい。しかし、特徴値の分布及び特徴値間の関連する関係を決定することは、大量のグラフデータに対しては煩雑なプロセスとなることがある。
【0024】
本開示の1つ以上の実施形態によれば、グラフ機械学習の技術分野は、コンピューティングシステムがグラフのセットの可視化及び集合的分析のためのフレームワークを提供し得るようにコンピューティングシステム(例えば、電子デバイス)を構成することによって改善されてもよい。このフレームワークは、(グラフのセットに対応する)大域的分布に関する段階的な探索及び分析、並びに(グラフのセットの各グラフに関連する)多数のグラフ属性間の関係の決定を、柔軟で、直感的で、対話的に可能にしてもよい。コンピューティングシステムは、グラフのセットの各グラフについてのグラフ属性のセットのコンピューティングを並列化し得るタスクスケジューラを含んでもよい。並列化は、タスクキューを使用して達成されてもよい。並列化は、グラフ属性のセットのコンピューティングを高速化してもよい。
【0025】
各タスクキューは、グラフのセットの各グラフについて、グラフ属性のセットのうちのグラフ属性を決定してもよい。グラフのセットの各グラフについて決定されたグラフ属性のセットは、データベースに保存され、記憶されてもよい。その後、タスクキューは、グラフ属性のセットのうちの1つ以上のグラフ属性を、コンピューティングシステムによって制御されるウェブサービスに送信してもよい。代替的には、ウェブサービスは、データベースから1つ以上のグラフ属性を取り出してもよい。1つ以上のグラフ属性は、データラベル及びフィルタを使用することにより、グラフのセットをフィルタリングすることに基づいて、グラフ属性のセットから選択されてもよい。ウェブサービスは、受信した1つ以上のグラフ属性(タスクキューによって決定され得る)を含み得る属性情報を、ユーザエンドデバイスに含まれ得るクライアントブラウザに送信してもよい。データラベル及びフィルタは、集合的に、ウェブサービスが、クライアントブラウザ上での可視化を強化するために、属性情報(すなわち、グラフ属性のセットからフィルタリングされた1つ以上のグラフ属性)をクライアントブラウザに部分的に送信することを可能にしてもよい。
【0026】
クライアントブラウザは、コンピューティングシステムから受信され得る属性情報に基づいて、グラフビューのセットを決定してもよい。グラフビューのセットは、クライアントブラウザ上にレンダリングされた強化された可視化に対応してもよい。コンピューティングシステムは、グラフビューのセット(すなわち、強化された可視化)のクライアントブラウザ上でのレンダリングを制御してもよい。グラフビューのセットは、一次元グラフビュー、二次元グラフビュー、グラフセットビュー、又は単一グラフビューを含む。一次元グラフビューは、グラフのセットの各グラフについて、選択されたグラフ属性の変動を示してもよい。二次元グラフビューは、グラフセットの各グラフについて、グラフ属性のセットのうちの2つのグラフ属性間の相関を示してもよい。グラフセットビューは、選択されたグラフ属性の値が選択された範囲に含まれるグラフのセットを示してもよい。単一グラフビューは、グラフのセットのうちの選択されたグラフについてグラフ属性のセットを示してもよい。
【0027】
コンピューティングシステムは、エンドユーザが、決定されたグラフビューのセットと(クライアントブラウザを介して)対話して、グラフのセットを探索し、洞察を得ることを可能にしてもよい。コンピューティングシステムは、グラフ属性のセットの任意の数及びグラフ属性の組み合わせの選択を受信することに基づいて、グラフセットビューのレンダリングを制御してもよい。さらに、グラフビューのセットの各グラフビューは、他のグラフビューに関連してもよい。したがって、決定されたグラフ属性に基づいて、グラフのセットの段階的かつ対話的な探索が容易になるように、グラフビューのセットのレンダリングが制御されてもよい。例えば、コンピューティングシステムは、一次元グラフビューを使用する大域的分析から開始して、単一グラフビューを使用する単一グラフ分析までの段階的な探索を可能にしてもよい。探索から取得された洞察は、グラフデータ(予測モデルを訓練又は準備するために使用され得る)とグラフ機械学習との間に存在する知識ギャップを低減してもよい。知識のギャップを克服することで、エンドユーザ(データサイエンティストなど)は、グラフ機械学習のためのグラフデータとラベルの好適性に事前にアクセスし、予測モデルの訓練に関与し得るレイテンシと、予測モデルの訓練に必要なコンピューティングリソースを低減することが可能となってもよい。グラフセットビュー(すなわち、強化された可視化)に基づいて、グラフセットがグラフ機械学習に使用され得るかどうかが決定されてもよい。
【0028】
本開示の実施形態は、添付の図面を参照して説明される。
【0029】
図1は、本開示に記載される少なくとも1つの実施形態による、機械学習のためのグラフセット分析及び可視化に関連する例示的なネットワーク環境を表す図である。
図1を参照すると、例示的な環境100が示されている。ネットワーク環境100は、電子デバイス102、ユーザエンドデバイス104、及び(データベース108をホストしてもよい)サーバ106を含んでもよい。電子デバイス102、ユーザエンドデバイス104、及びサーバ106は、通信ネットワーク(通信ネットワーク110など)を介して互いに通信可能に結合されてもよい。電子デバイス102は、タスクスケジューラ112とウェブサービス114とを含んでもよい。ユーザエンドデバイス104は、クライアントブラウザ116を含んでもよい。
【0030】
電子デバイス102は、グラフ118A…118Nのセットを含むグラフデータセット118を受信するように構成され得る好適なロジック、回路構成、インターフェース、及び/又はコードを含んでもよい。一実施形態では、グラフデータセット118は、電子デバイス102に記憶されてもよい。特定の実施形態では、グラフデータセット118は、データベース108に記憶されてもよい。さらに、電子デバイス102は、タスクスケジューラ112の使用により、受信したグラフデータセット118を並列に処理するように構成され得るタスクキュー120A…120Nのセットを生成してもよい。電子デバイス102、タスクキュー120A…120Nのセットの使用によって、グラフ118A…118Nのセットの各グラフについて、グラフ属性のセットを決定してもよい。さらに、電子デバイス102は、決定されたグラフ属性のセットのうちの1つ以上のグラフ属性を、ウェブサービス114によって受信してもよい。さらに、電子デバイス102は、受信した1つ以上のグラフ属性を含み得る属性情報を、ウェブサービス114によってクライアントブラウザ116に送信してもよい。その後、送信された属性情報に基づいて、電子デバイス102は、クライアントブラウザ116上での(クライアントブラウザ116によって決定され得る)グラフビューのセットのレンダリングを制御してもよい。電子デバイス102の例としては、コンピューティングデバイス、スマートフォン、メインフレームマシン、サーバ、コンシューマ電子(CE)デバイス、コンピュータワークステーション、及び/又はグラフ処理能力を有するデバイス(グラフィックプロセッサユニット(GPU)のセットを有するデバイスなど)を含んでもよいが、これらに限定されない。
【0031】
ユーザエンドデバイス104は、電子デバイス102から制御命令を受信するように構成され得る好適なロジック、回路構成、インターフェース、及び/又はコードを含んでもよい。ユーザエンドデバイス104は、電子デバイス102によって送信された属性情報に基づいて、グラフビューのセットを決定してもよい。その後、受信した制御命令に基づいて、ユーザエンドデバイス104は、決定されたグラフビューのセットをクライアントブラウザ116上でレンダリングしてもよい。グラフビューのセットは、1つ以上のUI要素を含む電子ユーザインターフェース(UI)上にレンダリングされてもよい。グラフビューのセットは、1つ以上のUI要素に対応してもよい。ユーザエンドデバイス104は、電子UIを介して、複数のグラフからのグラフのセット(例えば、グラフ118A…118Nのセット)の選択を示すユーザ入力を受信するようにさらに構成されてもよい。ユーザエンドデバイス104は、電子UIを介して、グラフビューのセットの決定のための1つ以上のグラフ属性の選択、又は1つ以上のグラフに関連付けられた選択されたグラフ属性の値に基づくグラフ118A…118Nのセットのうちの1つ以上のグラフの選択をさらに受信してもよい。
図1では、電子デバイス102及びユーザエンドデバイス104は、単に一例として2つの別個のデバイスとして示されている。いくつかの実施形態では、本開示の範囲から逸脱することなく、ユーザエンドデバイス104の全機能が電子デバイス102に組み込まれてもよい。ユーザエンドデバイス104の例としては、コンピューティングデバイス、タブレット、スマートフォン、スマートウェアラブルデバイス、ゲームコンソール、仮想現実(VR)デバイス、拡張現実(AR)デバイス、複合現実(MR)デバイス、メインフレームマシン、コンピュータワークステーション、モノのインターネット(IoT)デバイス、及び/又は任意のコンシューマ電子(CE)デバイスを含んでもよいが、これらに限定されない。
【0032】
サーバ106は、グラフデータセット118についての電子デバイス102からの要求を受信するように構成され得る好適なロジック、回路構成、及びインターフェース、及び/又はコードを含んでもよい。サーバ106は、データベース108からグラフデータセット118を取り出し、グラフデータセット118を電子デバイス102に送信するようにさらに構成されてもよい。少なくとも1つの実施形態では、サーバ106は、グラフ属性のセットをフィルタリングするために、電子デバイス102からデータラベルについての要求を受信し、データラベルを電子デバイス102に送信してもよい。いくつかの実施形態では、サーバ106は、電子デバイス102からグラフデータセット118を受信し、グラフ118A…118Nのセットの各グラフについて、グラフ属性のセットを決定するように構成されてもよい。その後、サーバ106は、決定されたグラフ属性のセットを電子デバイス102に送信してもよい。サーバ106は、クラウドサーバとして実装されてもよく、ウェブアプリケーション、クラウドアプリケーション、ハイパーテキストトランスポートプロトコル(HTTP)要求、リポジトリ動作、ファイル転送などを介して動作を実行してもよい。サーバ106の他の例示的な実装は、データベースサーバ、ファイルサーバ、ウェブサーバ、メディアサーバ、アプリケーションサーバ、メインフレームサーバ、クラウドコンピューティングサーバ、及び/又はグラフ処理能力を有する任意のデバイス(グラフィックプロセッサユニット(GPU)を有するデバイスなど)を含んでもよいが、これらに限定されない。
【0033】
少なくとも1つの実施形態では、サーバ106は、当業者に周知のいくつかの技術の使用により、複数の分散クラウドベースのリソースとして実装されてもよい。当業者は、本開示の範囲が、2つの別個のエンティティとしてのサーバ106及び電子デバイス102の実装に限定され得ないことを理解するであろう。特定の実施形態では、サーバ106の機能が、本開示の範囲から逸脱することなく、その全体又は少なくとも部分的に電子デバイス102に組み込まれ得る。
【0034】
データベース108は、様々なドメイン(例えば、ソーシャルネットワークドメインデータセット、分子化学ドメインデータセット、遺伝子配列ドメインデータセット、電子商取引ドメインデータセット、又は金融ドメインデータセット)を表すグラフデータセット118(すなわち、グラフ118A…118Nのセット)を記憶するように構成され得る、好適なロジック、回路構成、インターフェース、及び/又はコードを含んでもよい。データベース108は、リレーショナルデータベース又は非リレーショナルデータベースからのデータ、又は従来のストレージ又はビッグデータストレージにおけるコンマで区切られた値(csv)ファイルのセットから導出されてもよい。データベース108は、サーバ106、電子デバイス102などのデバイスに記憶又はキャッシュされてもよい。データベース108を記憶するデバイスは、グラフデータセット118についてのクエリを受信するように構成されてもよい。これに応答して、データベース108を記憶するデバイスは、グラフデータセット118を取り出し、電子デバイス102に送信するように構成されてもよい。一実施形態によれば、データベース108は、同じ場所又は異なる場所に記憶された複数のサーバ上でホストされてもよい。データベース108の動作は、プロセッサ、(例えば、1つ以上の動作を実行するか、又はその実行を制御するため)マイクロプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、又は特定用途向け集積回路(ASIC)を含むハードウェアを使用して実行されてもよい。いくつかの他の例では、データべース108は、ハードウェア及びソフトウェアの組み合わせを使用して実装されてもよい。
【0035】
通信ネットワーク110は、通信媒体を含んでもよく、これを介して、電子デバイス102、サーバ106、及びデータベース108が相互に通信してもよい。通信ネットワーク110は、有線接続、又は無線接続のうちの1つであってもよい。通信ネットワーク110の例としては、インターネット、クラウドネットワーク、セルラー又は無線モバイルネットワーク(Long-Term Evolution、5G New Radioなど)、衛星ネットワーク(低軌道衛星のセットのネットワークなど)、Wi-Fi(Wireless Fidelity)ネットワーク、PAN( Personal Area Network)、LAN(Local Area Network)、又はMAN( Metropolitan Area Network)を含んでもよいが、これらに限定されない。ネットワーク環境100における様々なデバイスは、様々な有線及び無線通信プロトコルに従って通信ネットワーク110に接続するように構成されてもよい。有線及び無線通信プロトコルの例としては、TCP/IP(Transmission Control Protocol and Internet Protocol )、UDP(User Datagram Protocol)、HTTP(Hypertext Transfer Protocol)、FTP(File Transfer Protocol)、ZigBee、EDGE、IEEE 802.11、Li-Fi(light fidelity)、802.16、IEEE 802.11s、IEEE 802.11g、マルチホップ通信、無線アクセスポイント(AP)、デバイス間通信、セルラ通信プロトコル、及び/又はBluetooth(登録商標)(BT)通信プロトコルのうちの少なくとも1つを含んでもよいが、これらに限定されない。
【0036】
タスクスケジューラ112は、グラフ118A…118Nのセットの各グラフについて、グラフ属性のセットを決定することに対応するタスクのセットをスケジューリングするように構成され得る好適なロジック、回路構成、インターフェース、及び/又はコードを含んでもよい。タスクスケジューラ112は、受信したグラフ118A…118Nのセットを取り出し、対応するグラフにおいて決定される1つ以上のグラフ属性の識別のために、グラフ118A…118Nのセットの各グラフを分析してもよい。タスクスケジューラ112は、グラフ118A…118Nのセットの各グラフについて、識別された1つ以上のグラフ属性を統合して、グラフ118A…118Nのセットについて決定されるグラフ属性のセットを識別してもよい。タスクスケジューラ112は、グラフ118A…118Nのセットの各グラフについて、タスクのセットのうちのタスクを、タスクキューのセット120A…120Nの各タスクキューにスケジューリング(すなわち、グラフ属性のセットのうちのグラフ属性の決定)してもよい。
【0037】
ウェブサービス114は、決定されたグラフ属性のセットからフィルタリングされ得る1つ以上のグラフ属性を受信するように構成され得る、好適なロジック、回路、インターフェース、及び/又はコードを含んでもよい。ウェブサービス114は、1つ以上のグラフ属性をクライアントブラウザ116にさらに送信してもよい。ウェブサービス114は、グラフ118A…118Nのセットの各グラフについて、クライアントブラウザ116上でのグラフ属性のセットの可視化をレンダリングすることを容易にしてもよい。ウェブサービス114は、タスクキュー120A…120Nのセットから、タスクの実行のステータス又は完了(すなわち、グラフ属性の決定又は更新)に関する通知をさらに受信してもよい。受信した通知に基づいて、ウェブサービス114は、クライアントブラウザ116が、部分結果(すなわち、グラフ属性のセットのうちの1つ以上のグラフ属性)をユーザエンドデバイス104内の電子UI上でレンダリングすることを容易にしてもよい。部分結果は、グラフセット118A…118Nのうちの1つ以上のグラフについて、グラフ属性セットの選択されたグラフ属性を示すグラフビューセットのグラフセットビューに対応してもよい。
【0038】
クライアントブラウザ116は、電子デバイス102のウェブサービス114から、識別されたグラフ属性のセットのうちのグラフ属性を受信するように構成され得る好適なロジック、回路、インターフェース、及び/又はコードを含み得る。クライアントブラウザ116は、識別されたグラフ属性のセットを段階的に受信してもよい。各段階で、タスクキュー120A…120Nのセットの1つ以上のタスクキューによって決定されたグラフ属性のセットのうちの1つ以上のグラフ属性が受信されてもよい。クライアントブラウザ116は、受信した1つ以上のグラフ属性に基づいて、グラフビューのセットを生成してもよい。クライアントブラウザ116は、グラフ属性が電子デバイス102の終端で決定される際及びときに、識別されたグラフ属性のセットのうちの他のグラフ属性の受信に基づいて、生成されたグラフビューのセットを修正してもよい。クライアントブラウザ116は、生成されたグラフビューのセットのレンダリングに関連付けられた制御命令を受信し、制御命令に基づいて、ユーザエンドデバイス104のディスプレイ画面上のUI要素として、生成されたグラフビューのセットをレンダリングしてもよい。クライアントブラウザ116は、グラフビューのセットのグラフセットビュー、グラフセットビューが生成されるグラフビューのセットのグラフ属性、又はグラフ118A…118Nのセットのうちの1つ以上のグラフについて、選択されたグラフ属性に関連付けられた値範囲の選択を示すユーザ入力を受信してもよい。
【0039】
動作中、電子デバイス102は、グラフ118A…118Nのセットを含み得るグラフデータセット118を受信するように構成されてもよい。グラフデータセット118内のグラフ118A…118Nのセットの各グラフは、ドメインデータセット(例えば、ゲノム配列ドメインデータセット、電子商取引ドメインデータセット、又はソーシャルネットワーク-ドメインデータセット)を表してもよい。いくつかの実施形態では、グラフデータセット118は、サーバ106又はデータベース108から(サーバ106を介して)受信されてもよい。グラフ118A…118Nのセットの各グラフは、対応するグラフ内のグラフ要素(例えば、ノード特徴、エッジ特徴、又はグラフ構造)に基づいて複数の属性を保有してもよい。グラフデータセットを受信することの詳細は、例えば
図3にさらに提供される。
【0040】
電子デバイス102は、タスクスケジューラ112によって、タスクキュー120A…120Nのセットを生成するようにさらに構成されてもよい。タスクキュー120A…120Nのセットは、受信したグラフデータセット118を並列に処理するように構成されてもよい。受信したグラフデータセット118の処理は、グラフ属性のセットを決定することを含んでもよい。グラフ属性のセットは、タスクキュー120A…120Nのセットを使用して並列に決定されてもよい。タスクキュー120A…120Nのセットを生成するために、タスクスケジューラ112は、グラフ118A…118Nのセットの各グラフについて決定されるグラフ属性を識別してもよい。例えば、タスクスケジューラ112は、7つの属性がグラフ118A…118Nのセットの各グラフについて決定される必要があると識別してもよい。このような識別に基づいて、タスクスケジューラ112は、7つのタスクキューを生成してもよい。タスクキューのセットを生成することの詳細は、例えば
図3にさらに提供される。
【0041】
電子デバイス102は、グラフ118A…118Nのセットの各グラフについて、グラフ属性のセットをタスクキュー120A…120Nのセットによって決定するようにさらに構成されてもよい。タスクキューのセット120A…120Nの各タスクキューは、グラフ118A…118Nのセットの各グラフについて、グラフ属性のセットのうちのグラフ属性を決定するように構成されてもよい。例えば、電子デバイス102は、グラフ属性のセットが「N」個のグラフ属性を含むと決定してもよい。本明細書において、電子デバイス102は、タスクスケジューラ112を使用して、グラフ118A…118Nのセットの各グラフについて決定する必要があり得る「N」個のグラフ属性を識別してもよい。その結果、電子デバイス102は、「N」個のタスクキューを生成するように構成されてもよく(すなわち、タスクキューのセット120A…120Nは、「N」個のタスクキューを含んでもよい)、生成された各タスクキューは、グラフ属性のセットのうちのグラフ属性を決定するように構成されてもよい。少なくとも1つの実施形態では、決定されたグラフ属性のセットは、グラフ特性のセット、グラフ特徴のセット、又はグラフ構造プロットのセットに対応してもよい。グラフ属性のセットを決定することの詳細は、例えば、
図3、
図4、
図5、
図6A、
図6B、
図6C、
図7、及び
図8にさらに提供される。
【0042】
プロセッサ102は、決定されたグラフ属性のセットのうちの1つ以上のグラフ属性を、ウェブサービス114によって受信するようにさらに構成されてもよい。1つ以上のグラフ属性の送信は、グラフ属性のセットのうちの事前定義された数のグラフ属性が決定されたという決定に基づいてもよい。タスクキューのセット120A…120Nの各タスクキューは、グラフ属性のセットのうちのグラフ属性の決定に関してウェブサービス114に通知してもよい。ウェブサービス114は、タスクキュー120A…120Nのセットからの通知の受信に基づいて、識別されたグラフ属性のセットのうちの事前定義された数のグラフ属性が、決定されたかどうかを決定してもよい。(グラフ属性の決定の完了を示す)事前定義された数の通知が、タスクキュー120A…120Nのセットのうちの事前定義された数のタスクキューから受信される場合、ウェブサービス114は、事前定義された数のグラフ属性が決定されたと決定してもよい。その後、ウェブサービス114は、事前定義された数のグラフ属性が決定されたことを示してもよい。ウェブサービス114は、その指標に基づいて、決定されたグラフ属性のセットのうちの1つ以上のグラフ属性を受信してもよい。電子デバイス102は、事前定義された数のグラフ属性が、事前定義されたタスクキューによって決定されたという決定に基づいて、ウェブサービス114とクライアントブラウザ116との間のアプリケーションプログラミングインタフェース(API)のステータスをさらに更新してもよい。1以上のグラフ属性を送信することの詳細は、例えば、
図3、
図4、
図5、
図6A、
図6B、
図6C、
図7、及び
図8にさらに提供される。
【0043】
電子デバイス102は、受信した1つ以上のグラフ属性を含み得る属性情報を、ウェブサービス114によってクライアントブラウザ116に送信するようにさらに構成されてもよい。属性情報の送信の前に、ウェブサービス114は、クライアントブラウザ116が、グラフ118A…118Nのセットの各グラフについて決定された1つ以上のグラフ属性の値を受信するためのクエリを送信してもよいという指標を、クライアントブラウザ116に送信してもよい。ウェブサービス114は、ウェブサービス114とクライアントブラウザ116との間で、APIのステータスに基づいてその指標を送信してもよい。指標を受信すると、クライアントブラウザ116は、決定された1つ以上のグラフ属性の値を受信するために、電子デバイス102にクエリを送信してもよい。ウェブサービス114は、クエリの受信に基づいて、1つ以上のグラフ属性を含む属性情報をクライアントブラウザ116に送信してもよい。
【0044】
クライアントブラウザ116は、送信された属性情報に基づいて、グラフビューのセットを決定するように構成されてもよい。グラフビューのセットは、一次元グラフビュー、二次元グラフビュー、グラフセットビュー、又は単一グラフビューを含んでもよい。グラフビューのセットは、グラフ118A…118Nのセットの各グラフについて決定され得るグラフ属性のセットのうちのグラフ属性の値を示してもよい。ウェブサービス114は、クライアントブラウザ116が、特定のグラフ属性の選択又は選択されたグラフ属性の特定の値範囲の選択を示すユーザ入力のセットに基づいて、グラフビューのセットを決定(又は構築)することを可能にしてもよい。属性情報を送信することの詳細は、例えば、
図3、
図5、
図6A、
図6B、
図6C、
図7、及び
図8にさらに提供される。
【0045】
電子デバイス102は、さらに、クライアントブラウザ116上での決定されたグラフビューのセットのレンダリングを制御するようにさらに構成されてもよい。グラフビューのセットのレンダリングは、(タスクキュー120A…120Nのセットの使用により決定され得るグラフ属性のセットの)グラフ属性の選択を示すユーザ入力を受信することとと、グラフビューのセットの決定のために選択されたグラフ属性の値をプロットするために使用されるソート手法とに基づいて制御されてもよい。ユーザ入力の受信に基づいて、電子デバイス102は、属性情報をユーザエンドデバイス104に送信してもよい。クライアントブラウザ116は、属性情報に基づいて、グラフビューのセットを決定し、ユーザ入力に基づいて、決定されたグラフビューのセットを電子UI上にレンダリングしてもよい。決定されたグラフビューのセットをレンダリングする制御の詳細は、例えば、
図3、
図5、
図6A、
図6B、
図6C、
図7、及び
図8にさらに提供される。
【0046】
本開示の範囲から逸脱することなく、
図1に修正、追加、又は省略が行われてもよい。例えば、ネットワーク環境100は、本開示において示され記載されたものよりも多くか、又は少ない要素を含んでもよい。いくつかの実施形態では、ユーザエンドデバイス104、サーバ106、及びデータベース108の各々の機能性は、本開示の範囲から逸脱することなく、電子デバイス102に組み込まれてもよい。
【0047】
図2は、本開示に記載される少なくとも1つの実施形態による、機械学習のためのグラフセット分析及び可視化のための例示的な電子デバイスを例示するブロック図である。
図2は、
図1から要素と併せて説明される。
図2を参照して、電子デバイス102を含むシステム202のブロック
図200が示されている。電子デバイス102は、プロセッサ204、メモリ206、永続的データストレージ208、入出力(I/O)デバイス210、及びネットワークインタフェース212を含んでもよい。少なくとも1つの実施形態では、メモリ206は、タスクスケジューラ112及びウェブサービス114を記憶してもよい。少なくとも1つの実施形態では、I/Oデバイス210は、ディスプレイデバイス210Aを含んでもよい。
【0048】
プロセッサ204は、メモリ206に記憶された命令のセットを実行するように構成され得る好適なロジック、回路構成、及びインターフェースを含んでもよい。プロセッサ204は、電子デバイス102によって実行される異なる動作に関連付けられたプログラム命令を実行するように構成されてもよい。プロセッサ204は、グラフ118A…118Nのセットを含むグラフデータセット118を受信するように構成されてもよい。プロセッサ204は、受信したグラフデータセット118を並列に処理するように構成され得るタスクキュー120A…120Nのセットを、タスクスケジューラ112によって生成するようにさらに構成されてもよい。プロセッサ204は、グラフ118A…118Nのセットの各グラフについて、グラフ属性のセットを、タスクキュー120A…120Nのセットによって決定するようにさらに構成されてもよい。プロセッサ204は、決定されたグラフ属性のセットのうちの1つ以上のグラフ属性を、ウェブサービス114によって受信するようにさらに構成されてもよい。プロセッサ204は、受信した1つ以上のグラフ属性を含む属性情報を、ウェブサービス114によってクライアントブラウザ116に送信するようにさらに構成されてもよい。プロセッサ204は、送信された属性情報に基づいてクライアントブラウザ116によって決定され得る、クライアントブラウザ116上でのグラフビューのセットのレンダリングを制御することをさらに含んでもよい。プロセッサ204は、当技術分野で既知のいくつかのプロセッサ技術に基づいて実装されてもよい。プロセッサ技術の例としては、中央処理ユニット(CPU)、X 86ベースのプロセッサ、縮小命令セットコンピューティング(RISC)プロセッサ、特定用途向け集積回路(ASIC)プロセッサ、複合命令セットコンピューティング(CISC)プロセッサ、グラフィカル処理ユニット(GPU)、コプロセッサ、又はそれらの組み合わせを含んでもよいが、これらに限定されない。
【0049】
図2では単一のプロセッサとして示されているが、プロセッサ204は、個別に又は集合的に、本開示に記載される電子デバイス102の任意の数の動作の実行を実行又は指示するように構成されている任意の数のプロセッサを含んでもよい。追加的に、1つ以上のプロセッサが、1つ以上の異なる電子デバイス、例えば、異なるサーバに存在してもよい。少なくとも1つの実施形態では、プロセッサ204は、メモリ206及び/又は永続性データストレージ208に記憶され得るプログラム命令を解釈及び/又は実行する、及び/又はデータを処理するように構成されてもよい。いくつかの実施形態では、プロセッサ204は、永続性データストレージ208からプログラム命令をフェッチし、メモリ206内にプログラム命令をロードするように構成されてもよい。プログラム命令がメモリ206にロードされた後に、プロセッサ204は、プログラム命令を実行してもよい。
【0050】
メモリ206は、プロセッサ204によって実行される1つ以上の命令を記憶するように構成され得る好適なロジック、回路構成、及びインターフェースを含んでもよい。メモリ206に記憶された1つ以上の命令は、プロセッサ204(及び電子デバイス102)の異なる動作を実行するために、プロセッサ204によって実行されてもよい。メモリ206は、受信したグラフデータセット118、タスクキュー120A…120Nのセット、及び決定されたグラフ属性のセットを記憶してもよい。メモリ206の実装の例としては、CPUキャッシュ、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、電気的に消去可能でプログラム可能なリードオンリーメモリ(EEPROM)、及び/又はセキュアデジタル(SD)カードを含んでもよいが、これらに限定されない。
【0051】
永続性データストレージ208は、プロセッサ204によって実行可能なプログラム命令を記憶するように構成され得る好適なロジック、回路構成、及び/又はインターフェースを含んでもよい。永続性データストレージ208は、それに記憶されたコンピュータ実行可能な命令又はデータ構造を搬送するか、又は有するためのコンピュータ可読記憶媒体を含んでもよい。このようなコンピュータ可読記憶媒体は、プロセッサ204のような汎用又は専用コンピュータによってアクセスされ得る任意の利用可能な媒体を含んでもよい。例として、また限定するものではないが、このようなコンピュータ可読記憶媒体は、有形又は非一時的なコンピュータ可読記憶媒体であって、CD-ROM(Compact Disc Read-Only Memory)若しくは他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気ストレージデバイス(例えば、HDD(Hard-Disk Drive))、フラッシュメモリデバイス(例えば、SSD(Solid State Drive)、SD(Secure Digital)カード、他のソリッドステートメモリデバイス)、又はコンピュータ実行可能な命令若しくはデータ構造の形態で特定のプログラムコードを搬送若しくは記憶するために使用され得、汎用若しくは特殊目的のコンピュータによってアクセスされ得る任意の他の記憶媒体を含んでもよい。上記の組み合わせも、コンピュータ可読記憶媒体の範囲内に含まれてもよい。コンピュータ実行可能な命令は、例えば、プロセッサ204に、電子デバイス102に関連付けられた特定の動作又は動作のグループを実行させるように構成されている命令及びデータを含んでもよい。
【0052】
I/Oデバイス210は、入力を受信し、受信した入力に基づいて、出力をレンダリングするように構成され得る好適なロジック、回路構成、及びインターフェースを含んでもよい。例えば、I/Oデバイス210は、グラフデータセット118の受信をトリガし得る入力を受信してもよい。I/Oデバイス210は、グラフ118A…118Nのセットの各グラフについて決定されたグラフ属性のセットのうちのグラフ属性の選択を示すユーザ入力、グラフ118A…118Nのセットのグラフのサブセットに対して選択されたグラフ属性に関連付けられた値範囲の選択を示すユーザ入力、単一グラフビューの決定のためにグラフ118A…118Nのセットのうちのグラフの選択を示すユーザ入力、又はグラフビューのセットの決定のためのグラフ属性のセットのうちのグラフ属性の値をソートするために使用されるソート手法の選択を示すユーザ入力をさらに受信してもよい。さらに、I/Oデバイス210は、グラフビューのセットのグラフビューなどの出力をレンダリングしてもよい。様々な入出力デバイスを含むことができるI/Oデバイス210は、プロセッサ204と通信するように構成されてもよい。I/Oデバイス210の例としては、タッチ画面、キーボード、マウス、ジョイスティック、ディスプレイデバイス(例えば、ディスプレイデバイス210A)、マイクロフォン、及びスピーカを含んでもよいが、これらに限定されない。
【0053】
ディスプレイデバイス210Aは、決定されたグラフビューのセットをレンダリングするように構成され得る好適なロジック、回路構成、及びインターフェースを含んでもよい。ディスプレイデバイス210Aは、ユーザがディスプレイデバイス210Aを介してユーザ入力を提供することを可能にし得るタッチスクリーンであってもよい。タッチ画面は、抵抗性タッチ画面、容量性タッチ画面、又はサーマルタッチ画面のうちの少なくとも1つであってもよい。ディスプレイデバイス210Aは、LCD(Liquid Crystal Display)ディスプレイ、LED(Light Emitting Diode)ディスプレイ、プラズマディスプレイ、及び/又は有機LED(OLED)ディスプレイ技術、及び/又は他のディスプレイデバイスのうちの少なくとも1つなどのいくつかの既知の技術を介して実現されてもよいが、これらに限定されない。一実施形態による、ディスプレイデバイス210Aは、ヘッドマウントディスプレイ(HMD)、スマートグラスデバイス、シースルーディスプレイ、投影ベースのディスプレイ、エレクトロクロミックディスプレイ、又は透明ディスプレイの表示画面を指してもよい。
【0054】
ネットワークインターフェース212は、通信ネットワーク110を介して、プロセッサ204(すなわち、電子デバイス102)、ユーザエンドデバイス104、及びサーバ106の間の通信を容易にするように構成され得る、好適なロジック、回路、及びインターフェースを含んでもよい。ネットワークインターフェース212は、様々な既知の技術の使用により、通信ネットワーク110を介して電子デバイス102の有線又は無線通信をサポートするように実装されてもよい。ネットワークインターフェース212は、アンテナ、無線周波数(RF)トランシーバ、1つ以上の増幅器、チューナ、1つ以上の発振器、デジタル信号プロセッサ、コーダデコーダ(CODEC)チップセット、加入者識別モジュール(SIM)カード又はローカルバッファを含んでもよいが、これらに限定されない。ネットワークインターフェース212は、インターネット、イントラネット、又はセルラ電話ネットワーク、無線ローカルエリアネットワーク(LAN)、大都市エリアネットワーク(MAN)などの無線ネットワークなどのネットワークと無線通信を介して通信するように構成されてもよい。無線通信は、EDGE(Enhanced Data GSM Environment)、W-CDMA(wideband code division multiple access)、LTE(Long Term Evolution)、5G(5th Generation)NR(New Radio)、GSM(Global System for Mobile Communications)、CDMA(code division multiple access)、TDMA(time division multiple access)、Bluetooth(登録商標)、Wi-Fi(Wireless Fidelity)(登録商標)(IEEE 802.11a、IEEE 802.11b、IEEE 802.11g及び/又はIEEE 802.11nなど)、VoIP( voice over Internet Protocol)、Li-Fi(light fidelity)、Wi-MAX(Worldwide Interoperability for Microwave Access)、電子メール、インスタントメッセージ、SMS(Short Message Service)のためのプロトコルなどの複数の通信規格、プロトコル及び技術のうちの1つ以上を使用するように構成されてもよい。
【0055】
本開示の範囲から逸脱することなく、例示的な電子デバイス102に対して修正、追加、又は省略が行われてもよい。例えば、いくつかの実施形態では、例示的な電子デバイス102は、簡潔にするために明示的に示されないか、又は記載されないことがある任意の数の他の構成要素を含んでもよい。
【0056】
図3は、本開示の一実施形態による、機械学習のためのグラフセット分析及び可視化のための例示的な実行パイプラインを示す図である。
図3は、
図1及び
図2の要素と併せて記載される。
図3を参照すると、実行パイプライン300が示されている。例示的な実行パイプライン300は、機械学習のためのグラフセット分析及び可視化のために、
図1の電子デバイス102のプロセッサ204によって実行され得る一連の動作を含んでもよい。実行パイプライン300には、302から開始し310で終了することができる一連の動作が示されている。
【0057】
302において、グラフデータセットが受信されてもよい。少なくとも1つの実施形態では、プロセッサ204は、グラフ302A…302Nのセットを含み得るグラフデータセットを受信するように構成されてもよい。グラフデータセット(すなわち、グラフ302A…302Nのセット)は、ドメインデータセットを表し得る入力グラフデータとして受信されてもよい。一実施形態では、グラフデータセットは、データベース108上に記憶されてもよく、サーバ106を介してデータベース108から受信されてもよい。例えば、受信したグラフデータセットは、金融ドメインデータセット、電子商取引ドメインデータセット、ソーシャルネットワークドメインデータセット、分子化学ドメインデータセット、又は遺伝子発現データドメインデータセットに対応してもよい。いくつかの実施形態では、プロセッサ204は、グラフ302A…302Nのセットに関連付けられたデータラベルを受信してもよい。データラベルは、サーバ106から受信されてもよい。
【0058】
ブロック304において、受信したグラフデータセットを並列に処理するように構成されたタスクキュー304A…304Nのセットが、タスクスケジューラ112によって生成されてもよい。少なくとも1つの実施形態では、プロセッサ204は、タスクスケジューラ112の使用により、受信したグラフデータセット(すなわち、グラフのセット302A…304N)を並列に処理するように構成され得るタスクキューの304A…302Nのセットを生成するように構成されてもよい。グラフ302A…302Nのセットの処理は、グラフ302A…302Nのセットの各グラフについて、グラフ属性を並列に決定することを含んでもよい。タスクキュー304A…304Nのセットの各タスクキューは、グラフ属性の決定のために、同時に、グラフ302A…302Nのセットの各グラフを並列に処理してもよい。
【0059】
一実施形態によれば、プロセッサ204は、グラフ302A…302Nのセットの各グラフについて、対応するグラフが離散グラフであるか連続グラフであるかを決定してもよい。対応するグラフが連続グラフであると決定される場合、プロセッサ204は、対応するグラフからサブグラフを抽出してもよい。その後、プロセッサ204は、タスクスケジューラ112の使用により、グラフ302A…302Nのセットの各(離散)グラフと、(グラフ302A…302Nのセットの各連続グラフから抽出された)各サブグラフとを分析してもよい。このような分析に基づいて、プロセッサ204は、グラフ302A…302Nのセットの各グラフ(すなわち、離散グラフ及び抽出されたサブグラフ)から決定される必要があり得るグラフ属性のセットを識別してもよい。さらに、グラフ302A…302Nのセットの各グラフには、グラフIDが割り当てられてもよい。プロセッサ204は、各グラフIDについてのエントリをさらに作成し、そのエントリを(例えば、メモリ206及び/又は永続性データストレージ208内の)ローカルデータベース又はデータベース108に記憶してもよい。作成されたエントリの数は、グラフ302A…302Nのセットにおけるグラフの数と等しくてもよい。
【0060】
グラフ302A…302Nのセットから決定された、識別されたグラフ属性のセットは、グラフ特性のセット、グラフ特徴のセット、又はグラフ構造プロットのセットのうちの1つ以上に対応してもよいが、これらに限定されない。グラフ特性のセットは、グラフのノードの数、グラフのエッジの数、グラフ密度、グラフ直径、グラフ内のループの数、グラフ内のクリークの数、又はグラフ内の互いに素な(disjoint)サブグラフの数を含んでもよいが、これらに限定されない。グラフ302A…302Nのセットは、グラフ機械学習タスクを実行するべくグラフ機械学習モデル(すなわち、予測モデル)を訓練するためにグラフ302A…302Nのセットが使用され得るかどうかを決定するために、識別されたグラフ属性のセットに基づいて分析されてもよい。
【0061】
生成されたタスクキュー304A…304Nのセットは、識別されたグラフ特性のセットを並列に決定するために使用されてもよい。例えば、プロセッサ204は、タスクスケジューラ112の使用により、7つのタスクキューを生成してもよい(すなわち、タスクキュー304A…304Nのセットは、7つのタスクキューを含んでもよい)。7つのタスクキューは、7つのグラフ特性の識別に基づいて生成されてもよい。7つのグラフ特性は、グラフ302A…302Nのセットが予測モデルを訓練し、予測モデルによって生成され得る予測の説明を生成するのに好適であるかどうかを決定するために分析されることが要求されてもよい。7つのタスクキューは、7つのグラフ特性を同時に決定するために、グラフ302A…302Nのセットを並列に処理するために使用されてもよい。
【0062】
タスクキュー304A…304Nのセットが一般的であることがあり、タスクキューは特定のグラフ属性に結び付けられないことがあると当業者には理解されよう。さらに、タスクキューの数も調整可能であってもよい。電子デバイス102内のプロセッサの数が多いほど、タスクキュー304A…304Nのセット内のタスクキューの数が多くなってもよい。さらに、グラフ属性を生成するタスクは、グラフ特性のコンピューティングが相互依存性を持たないように、任意のタスクキューに割り当てられてもよい。
【0063】
306において、グラフ属性のセットが、グラフ302A…304Nのセット(すなわち、離散グラフ及び抽出されたサブグラフ)の各グラフについて、タスクキュー304A…304Nのセットによって決定されてもよい。少なくとも1つの実施形態において、プロセッサ204は、タスクキュー304A…304Nのセットの使用により、グラフ302A…302Nのセットの各グラフ(すなわち、離散グラフ及び抽出されたサブグラフ)について、グラフ属性のセットを決定するように構成されてもよい。タスクキュー304A…304Nのセットの各タスクキューは、グラフ属性のセットの各属性を決定するために使用されてもよい。例えば、プロセッサ204は、タスクキュー304A 304B、304C、304D、304E、304F、及び304Gを使用して、グラフ302A…302Nのセットの各グラフについて、ノードの数、エッジの数、グラフ密度、グラフ直径、ループの数、クリークの数、及び互いに素なサブグラフの数などの7つのグラフ特性をそれぞれ決定してもよい。
【0064】
プロセッサ204は、タスクキュー304A…304Nのセットを使用して、グラフ302A…302Nのセットの各グラフについて、属性のセットを並列に決定してもよい。属性のセットは、各グラフについて(並列に)決定されてもよい。例えば、タスクキュー304A…304Nのセットは、グラフ302Aについて、特性のセット(すなわち、ノードの数、エッジの数、グラフ密度、グラフ直径、ループの数、クリークの数、及び互いに素なサブグラフの数)を同時に決定してもよい。その後、タスクキュー304A…304Nのセットは、グラフ302Bについて、特性のセットを同時に決定してもよい。グラフ302A…302Nのセットについて、特性のセットを同時に決定することは、特性のセットが、グラフ302Nについて決定されるまで続いてもよい。
【0065】
当業者は、タスクキュー304A…304Nのセットが、本開示の範囲から逸脱することなく、同じグラフ302Bの異なるグラフ属性を決定するか、又は異なるグラフ302A…302Nについて同じグラフ属性を決定することがあると理解するだろう。
【0066】
一実施形態によれば、プロセッサ204は、グラフ302A…302Nのセットの各グラフについて決定されたグラフ属性のセットの値を、対応するグラフに関連付けられたグラフIDについて作成されたエントリ(ローカル・データベース(メモリ206及び/又は永続性データストレージ208など)又はデータベース108内)に記憶してもよい。いくつかの実施形態では、プロセッサ204は、グラフ302A…302Nのセットの各グラフに関連付けられたプロットを生成してもよい。グラフ302A…302Nのセットの各グラフについて生成されたプロットは、対応するグラフに関連付けられたグラフIDと共にデータベース108に記憶されてもよい。グラフIDに対応するエントリはまた、メモリ206及び/又は永続性データストレージ208に記憶されてもよい。追加的及び/又は代替的に、生成されたプロット及びグラフIDの両方が、オブジェクト記憶データとしてメモリ206及び/又は永続性データストレージ208に記憶されてもよい。
【0067】
308において、決定されたグラフ属性のセットのうちの1つ以上のグラフ属性が、ウェブサービス114によって受信されてもよい。少なくとも1つの実施形態では、プロセッサ204は、決定されたグラフ属性のセットの1つ以上のグラフ属性を、ウェブサービス114によって受信するように構成されてもよい。1つ以上のグラフ属性は、データベース108、メモリ206、及び/又は永続性データストレージ208に記憶されてもよい。ウェブサービス114は、データベース108、メモリ206、及び/又は永続性データストレージ208から、記憶された1つ以上のグラフ属性を受信してもよい。ウェブサービス114は、決定された1つ以上のグラフ属性をクライアントブラウザ116に送信してもよい。
【0068】
例えば、プロセッサ204は、タスクスケジューラ112から、グラフ302A…302Nのセットの各グラフについて、タスクキューのセット304A…304Nによるグラフ属性のセットの決定の完了により、通知を受信してもよい。通知の各受信において、プロセッサ204は、識別されたグラフ属性のセットのうちの所定の数のグラフ属性が(タスクキュー304A…304Nのセットの使用により)決定されたかどうかを決定してもよい。プロセッサ204は、識別されたグラフ属性のセットのうちの所定の数のグラフ属性が決定されたという決定に基づいて、ウェブサービス114とクライアントブラウザ116との間に存在し得るAPIのステータスを更新してもよい。更新されたステータスは、識別されたグラフ属性のセットのうちの所定の数のグラフ属性の決定に関連付けられた部分結果を、クライアントブラウザ116に送信する準備がウェブサービス114ができていることを、クライアントブラウザ116に示してもよい。部分結果は、クライアントブラウザ116からのグラフ属性についてのクエリを受信することに基づいて送信されてもよい。更新されたAPIのステータスに基づいて、ウェブサービス114は、データベース108、メモリ206、又は永続性データストレージ208から、決定された1つ以上のグラフ属性を取り出してもよい。さらに、ウェブサービス114は、クライアントブラウザ116からの決定されたグラフ属性についてのクエリを受信することに基づいて、所定の数の(決定され、取り出された)グラフ属性をクライアントブラウザ116に送信してもよい。
【0069】
一実施形態によれば、プロセッサ204は、識別された属性のセットの全てのグラフ属性がタスクキュー304A…304Nのセットによって決定されたという決定に基づいて、APIのステータスをさらに更新してもよい。この決定は、グラフ302A…302Nのセットの各グラフについて、識別されたグラフ属性のセットの全てのグラフ属性の値を受信することに基づいてもよい。例えば、プロセッサ204は、全てのグラフ属性の決定が完了したことを示し得る通知をタスクスケジューラ112から受信してもよい。APIのステータスは、グラフ302A…302Nのセットの各グラフについて、識別されたグラフ属性のセットの決定が完了したことをクライアントブラウザ116に示すように更新されてもよい。APIのステータスは、さらに、決定されたグラフ属性のセットを、APIを介してクライアントブラウザ116に送信する準備がウェブサービス114ができていることを示してもよい。ウェブサービス114の更新されたステータスに基づいて、ウェブサービス114は、グラフ属性のセットのうちの少なくとも1つについての要求に基づいて、APIを介して、グラフ属性のセットをクライアントブラウザ116に送信してもよい。プロセッサ204は、タスクスケジューラ112の使用により、タスクキューが特定のグラフ属性を決定するタスクの実行を完了した後に、タスクキューのセット304A…304Nのタスクキューからエントリを除去してもよい。
【0070】
ブロック310において、受信した1つ以上のグラフ属性を含む属性情報が、ウェブサービス114によってクライアントブラウザ116に送信されてもよい。少なくとも1つの実施形態では、プロセッサ204は、受信した1つ以上のグラフ属性を含み得る属性情報をクライアントブラウザ116に、ウェブサービス114によって送信するように構成されてもよい。ウェブサービス114は、クライアントブラウザ116からのグラフ属性のセットのうちの1つ以上の属性についてのクエリを受信することに基づいて、属性情報をクライアントブラウザ116に送信してもよい。受信したクエリに示される1つ以上のグラフ属性は、クライアントブラウザ116を介して、(ユーザエンドデバイス104に関連付けられた)エンドユーザによって選択されてもよい。
【0071】
一実施形態によれば、プロセッサ204は、グラフ302A…302Nのセットに関連付けられたデータラベルに基づいて、グラフ302A…302Nのセットに関連付けられた決定されたグラフ属性のセットをフィルタリングしてもよい。グラフ属性のセットは、クエリに示されるように、グラフ属性のセットから1つ以上のグラフ属性を選択するためにフィルタリングされてもよい。プロセッサ204は、ウェブサービス114を介して、フィルタリングされた1つ以上のグラフ属性をクライアントブラウザ116に送信してもよい。プロセッサ204は、クライアントブラウザ116に関連付けられたオブジェクトキャッシュにおける送信された属性情報の記憶を制御してもよい。
【0072】
クライアントブラウザ116は、送信された属性情報に基づいて、グラフビューのセットを決定するように構成されてもよい。グラフビューのセットは、一次元グラフビュー、二次元グラフビュー、グラフセットビュー、又は単一グラフビューのうちの1つ以上を含んでもよい。一次元グラフビューは、決定されたグラフ属性のセットのうちの1つ以上のグラフ属性の選択に基づいて決定されてもよい。クライアントブラウザ116は、ユーザ入力を介して選択を受信し、グラフ302A…302Nのセットの各グラフについて、選択された1つ以上のグラフ属性の値についての要求を含み得るクエリを生成してもよい。その後、クライアントブラウザ116は、クエリを電子デバイス102に送信してもよい。クエリの受信に基づいて、プロセッサ204は、決定されたグラフ属性のセットをフィルタリングして、選択された1つ以上のグラフ属性を取得してもよい。ウェブサービス114は、グラフ302A…302Nのセットの各グラフについて、タスクキュー304A…304Nのセットのうちの特定のタスクキューによって決定された、選択された1つ以上のグラフ属性の各々の値を送信してもよい。一次元グラフビューは、ソート手法の選択に基づいてさらに決定されてもよい。選択された1つ以上のグラフ属性の値は、一次元グラフビューを決定するためのソート手法に基づいてソートされてもよい。
【0073】
二次元グラフビューは、決定されたグラフ属性のセットのうちの2つのグラフ属性の選択に基づいて決定されてもよい。2つの選択されたグラフ属性は、第1のグラフ特性及び第2のグラフ特性であり得、それらの各々は、グラフ302A…302Nのセットの各グラフに関連付けられてもよい。二次元グラフビューは、グラフ302A…302Nのセットの各グラフについて決定された、第1のグラフ特性と第2のグラフ特性との間の相関のレベルを示してもよい。二次元グラフビューは、第1のグラフ特性の第1の値セットと第2の特性の第2の値セットとの間のプロットに対応してもよい。
【0074】
グラフセットビューは、決定されたグラフ属性のセットのうちのグラフ属性の選択に基づいて決定されてもよい。グラフセットビューは、グラフ302A…302Nのセットの各グラフについて決定された、選択されたグラフ属性の値を示してもよい。
【0075】
単一グラフビューは、グラフ302A…302Nのセットのグラフの選択に基づいて決定されてもよい。単一グラフビューは、選択されたグラフについて決定されたグラフ属性のセットを示してもよい。いくつかの実施形態では、単一グラフビューは、選択されたグラフのサブグラフの表現を示してもよい。
【0076】
312において、決定されたグラフビューのセットのレンダリングは、クライアントブラウザ116上で制御されてもよい。少なくとも1つの実施形態において、プロセッサ204は、クライアントブラウザ116上での決定されたグラフビューのセットのレンダリングを制御するように構成されてもよい。決定されたグラフビューのセットのレンダリングは、エンドユーザが、グラフ302A…302Nのセットの(一次元グラフビューに基づく)大域的探索から、(それぞれ二次元ビュー及びグラフセットビューに基づく)選択的関係探索及びサブグラフサンプリング探索に進み、その後、(単一グラフビューに基づく)選択的単一グラフ探索へと進むことができ得るように制御されてもよい。
【0077】
一実施形態によれば、一次元グラフビューをレンダリングするために、プロセッサ204は、グラフ302A…302Nのセットの各グラフについて決定された異なるグラフ特性が選択され、異なるグラフ特性の値に関連付けられたプロットが互いに積み重ねられ、高レベルの視覚的比較のために表示されるように、クライアントブラウザ116を制御してもよい。同様に、クライアントブラウザ116による二次元グラフビューのレンダリングは、グラフ302A…302Nのセットの各グラフについて決定された2つの選択されたグラフ特性の値が、相関探索のために互いに対してプロットされ得るように制御されてもよい。グラフセットビューのレンダリングは、(グラフ302A…302Nのセットの連続グラフから抽出され得る)サブグラフが、選択されたグラフ特性及び選択されたグラフ特性の値範囲に基づいてサンプリングされてもよく、サンプリングされたサブグラフに関連付けられた予め生成されたプロットの画像が、視覚的比較のために表示され得るように制御されてもよい。単一グラフビューのレンダリングは、単一の選択されたサブグラフと、選択されたサブグラフのグラフ特性の値とが、選択されたサブグラフを詳細にインタラクティブに調べることを容易にするために表示されるように制御されてもよい。
【0078】
一実施形態によれば、決定されたグラフビューのセットのレンダリングは、エンドユーザが、グラフ特性のセットのうちの複数のグラフ特性を選択し、グラフ特性のセットのうちの他のグラフ特性を除去し、一次元グラフビューの決定のために、選択されたグラフ特性の値に基づいて、プロットの生成をトリガすることが可能になり得るように制御されてもよい。その後、エンドユーザは、以前に選択された複数のグラフ特性から2つのグラフ特性を選択し、2つの選択されたグラフ特性間の相関関係を調べるために、決定された2次元グラフビューを使用することが可能となってもよい。さらに、エンドユーザは、2つのグラフ特性からグラフ特性を選択し、グラフセットビューを使用して、グラフ302A…302Nのセットをサンプリングし、グラフ302A…302Nのセットのサブグラフ構造を見ることが可能となってもよい。その後、エンドユーザは、グラフ302A…302Nのセットから識別され得る、関心のあるグラフ上で単一のグラフビューを使用することが可能となってもよい。
【0079】
本発明の実施形態は、グラフ特性、グラフ特性、及びグラフ構造などのグラフ属性に基づいて、グラフデータセット内のグラフの大域的及び局所的に分析することを容易にしてもよい。本実施形態は、さらに、グラフデータセット内の各グラフについて決定されたグラフ属性に基づいて、グラフデータセット内のグラフ間の相関関係を可視化することを可能にしてもよい。本実施形態は、決定されたグラフ属性のグラフビューの決定のために、任意の数又は組み合わせのグラフ属性の任意の選択を可能にしてもよい。例えば、グラフ属性の任意の選択を可能にすることは、分子化学ドメインデータセット内のグラフの分析を単純化してもよい。分子化学ドメインデータセット内のグラフは、化学分子を表す離散的なグラフであってもよく、異なる可視化要件を有する複数の分類ターゲットを有してもよい(すなわち、複数のグラフビューの決定を必要とする)。グラフビューは、決定されたグラフ属性に基づいて、グラフ間の相関関係の探索を可能にしてもよい。グラフ分析、探索、及び可視化は、(予測モデルを作成するために使用される)グラフデータとグラフ機械学習との間に存在し得る知識ギャップを埋めることを可能にしてもよい。知識ギャップは、金融ドメインのデータセット、電子商取引データセット、ソーシャルネットワークドメインデータセットなどのグラフデータセット内のグラフの探索に決定的な影響を与えることがある。知識ギャップを最小限に抑えることは、グラフ機械学習タスクを実行することが可能であり得る、グラフデータを使用した予測モデルの作成における成功の可能性を検証すること、及び訓練待ち時間及びコンピューティングリソース要件を低減するために適用され得る手段を識別することを可能にしてもよい。
【0080】
実施形態は、決定されたグラフ属性のセットのグラフ属性の選択、グラフデータセット内の各グラフについて決定された、選択されたグラフ属性をプロットするために使用されるソート手法の選択、及び選択されたグラフ属性のプロットの表示を可能にする、ユーザフレンドリな電子UIのレンダリングを可能にする。プロットは、グラフデータセットの大域的分析からグラフデータセット内の単一のグラフのグラフ属性の探索への段階的な進行を可能にするグラフビューに対応してもよい。大域的分析は、大きなグラフを含むゲノム配列ドメインデータセットなどのグラフデータセットに有用であってもよい。このようなグラフでは、個々のグラフ探索は効果がないことがある。しかし、このようなデータセット内のグラフのグラフ属性に基づいて決定された一次元グラフビュー及び二次元グラフビューは、より高速で正確なグラフ分析、探索、及び可視化を可能にしてもよい。実施形態は、タスクキュー及びデータベースの使用により、グラフデータセット内の各グラフの多数のグラフ属性のコンピューティングを並列化及び合理化することを可能にする。実施形態は、ウェブサービス114とクライアントブラウザ116との間のAPIの使用により、リアルタイムのユーザインタラクションのために、決定されたグラフビューをタイムリーに表示することを容易にする。
【0081】
図4は、本開示の一実施形態による、グラフのセットの各グラフについて、グラフ属性のセットを決定するための例示的な方法のフローチャートを示す図である。
図4は、
図1、
図2、及び
図3の要素と併せて説明される。
図4を参照すると、フローチャート400が示されている。フローチャート400に示される方法は、402で開始することができ、
図1の例示的な電子デバイス102、又は
図2のプロセッサ204などの任意の好適なシステム、装置、又はデバイスによって実行されてもよい。個別のブロックで例示されているが、フローチャート400のブロックの1つ以上に関連するステップ及び動作は、特定の実装に応じて、追加のブロックに分割されるか、より少ないブロックに組み合わせられるか、又は除去されてもよい。
【0082】
ブロック402において、グラフのセット(例えば、グラフ302A…302Nのセット)の各グラフについて、対応するグラフが連続グラフであるかどうかが決定されてもよい。一実施形態では、プロセッサ204は、グラフ302A…302Nのセットの各グラフについて、対応するグラフが連続グラフであるかどうかを決定するように構成されてもよい。グラフ302A…302Nのセットの各グラフは、連続グラフ又は離散グラフとして決定されてもよい。例えば、離散グラフは、グラフの少なくとも1つのノードがグラフの他のノードから到達可能でない可能性があるグラフであってもよい。一方、連続グラフは、グラフの他のノードによってアクセスできない可能性のあるグラフのノードが存在しない可能性のあるグラフであってもよい。言い換えると、グラフの各ノードは、連続グラフの場合、グラフの他のノードから直接的又は間接的にアクセス可能であってもよい。
【0083】
ブロック404において、グラフのセットの対応するグラフが連続グラフであるという決定に基づいて、グラフ302A…302Nのセットの各グラフからサブグラフが抽出されてもよい。一実施形態では、プロセッサ204は、対応するグラフが連続グラフであるという決定に基づいて、グラフ302A…302Nのセットの各グラフからサブグラフを抽出するように構成されてもよい。したがって、連続グラフとして決定され得るグラフ302A…302Nのセットのグラフからサブグラフのセットが抽出されてもよい。タスクキューフ304A…304Nのセットは、抽出されたサブグラフのセットに基づいて生成されてもよい。
【0084】
各抽出されたサブグラフについて、プロセッサ204は、決定されることが必要とされ得る1つ以上のグラフ属性を識別してもよい。プロセッサ204は、グラフ302A…302Nのセットの各離散グラフについて決定されることが必要とされ得る1つ以上のグラフ属性をさらに識別してもよい。したがって、グラフ属性のセットは、グラフ302A…302Nのセットに対して識別されてもよい。グラフ属性のセットは、抽出されたサブグラフのセットの各抽出されたサブグラフについて決定されることが必要とされる1つ以上のグラフ属性と、グラフ302A…302Nのセットの各離散グラフについて決定されることが必要とされる1つ以上のグラフ属性とを含んでもよい。タスクキュー304A…304Nのセットの各タスクキューは、各抽出されたサブグラフと各離散グラフについて、グラフ属性のセットのグラフ属性を決定するように構成されてもよい。
【0085】
ブロック406において、グラフ302A…302Nのセットの抽出されたサブグラフのセットの各サブグラフと各離散グラフについて、グラフ属性のセットのうちの第1のグラフ属性が決定されたかどうかが決定されてもよい。一実施形態では、プロセッサ204は、グラフ302A…302Nのセットの抽出されたサブグラフのセットの各サブグラフと各離散グラフについて、グラフ属性のセットのうちの第1のグラフ属性が決定されたかどうかを決定するように構成されてもよい。例えば、第1のグラフ属性は、互いに素なサブグラフの数などのグラフ特性であってもよい。プロセッサ204は、(互いに素なサブグラフの数を決定するように構成され得る)タスクキュー304A…304Nのセットの第1のタスクキュー(例えば、タスクキュー304A)が、各抽出されたサブグラフにおける互いに素なサブグラフの数と各離散グラフにおける互いに素なサブグラフの数を決定したかどうかをチェックしてもよい。
【0086】
ブロック408において、第1のグラフ属性の決定の完了を示す第1の通知が、タスクキュー304A…304Nのセットの第1のタスクキューによってウェブサービス114に送信されてもよい。一実施形態では、プロセッサ204は、タスクキュー304A…304Nのセットのうちの第1のタスクキューの使用により、第1のグラフ属性の決定の完了を示す第1の通知をウェブサービス114に送信するように構成されてもよい。第1の通知の送信は、第1のグラフ属性が、抽出されたサブグラフのセットの各サブグラフと各離散グラフについて決定されたという決定に基づいてもよい。プロセッサ204は、各サブグラフと各離散グラフについて決定された第1のグラフ属性を、ローカルデータベース(例えば、メモリ206及び/又は永続性データストレージ208)又はデータベース108に記憶してもよい。
【0087】
プロセッサ204は、同様に、グラフ属性のセットのうちの他のグラフ属性が、グラフ302A…302Nのセットの抽出されたサブグラフのセットの各サブグラフと各離散グラフについて決定されるかどうかを決定してもよい。グラフ属性のセットのうちの所定の(又は十分な)数のグラフ属性が決定されたと決定される場合、プロセッサ204は、ウェブサービス114とクライアントブラウザ116との間のAPIのステータスを更新してもよい。更新されたステータスは、ウェブサービス114が、決定されたグラフ属性の値についてのクエリの受信により、所定の数の決定されたグラフ属性をクライアントブラウザ116に送信し得ることを示してもよい。クライアントブラウザ116によって受信した、決定されたグラフ属性に基づいて、クライアントブラウザ116は、1つ以上のグラフビュー(一次元グラフビュー、二次元グラフビュー、グラフセットビュー、又は単一グラフビューなど)を決定(又は構築)することができる。
【0088】
ブロック410では、グラフ302A…302Nのセットの抽出されたサブグラフのセットの各サブグラフと各離散グラフについて、グラフ属性のセットの各グラフ属性が決定されたかどうかが決定されてもよい。一実施形態では、プロセッサ204は、グラフ302A…302Nのセットの抽出されたサブグラフのセットの各サブグラフと各離散グラフについて、グラフ属性のセットの各グラフ属性が決定されたかどうかを決定するように構成されてもよい。
【0089】
ブロック412では、グラフ属性のセットの決定の完了を示す第2の通知が、タスクキュー304A…304Nのセットの各タスクキューによって、ウェブサービス114に送信されてもよい。一実施形態では、プロセッサ204は、タスクキュー304A…304Nのセットの各タスクキューの使用により、グラフ属性のセットの各グラフ属性の決定の完了を示す第2の通知をウェブサービス114に送信するように構成されてもよい。第2の通知の送信は、グラフ属性のセットが、抽出されたサブグラフのセットの各サブグラフ及び各離散グラフについて決定されたという決定に基づいてもよい。プロセッサ204は、各サブグラフ及び各離散グラフについて決定されたグラフ属性のセットを、ローカルデータベース(例えば、メモリ206及び/又は永続性データストレージ208)又はデータベース108に記憶してもよい。
【0090】
その後、プロセッサ204は、グラフ属性のセットのうちの全てのグラフ属性が、グラフ302A…302Nのセットの抽出されたサブグラフのセットの各サブグラフと各離散グラフについて決定されたかどうかを決定してもよい。グラフ属性のセットのうちの全てのグラフ属性が決定されたと決定された場合、プロセッサ204は、APIのステータスを更新してもよい。更新されたステータスは、グラフ属性のセットの決定が完了したこと、及びウェブサービス114が、クライアントブラウザ116からの決定されたグラフ属性についてのクエリを受信により、決定されたグラフ属性のセットをクライアントブラウザ116に送信し得ることを示してもよい。制御は終了に渡されてもよい。
【0091】
フローチャート400は、402、404、406、408、410、及び412などの個別の動作として示されるが、本開示は、そのように限定されない。しかし、特定の実施形態では、開示の実施形態の本質を損なうことなく、特定の実施形態に応じて、このような個別の動作をさらに追加の動作に分割したり、より少ない動作に組み合わせたり、又は削除してもよい。
【0092】
図5は、本開示の一実施形態による、クライアントブラウザ上の一次元グラフビューの決定のための例示的な動作を示す図である。
図5は、
図1、
図2、
図3及び
図4の要素と併せて説明される。
図5を参照すると、例示的な動作502、504、506、508、510、512、514、516、及び518を示すタイムライン500が示されている。例示的な動作は、電子デバイス102によって送信された属性情報に基づいて、クライアントブラウザ116上での1次元グラフビューの決定を制御するために実行されてもよい。例示的な動作は、
図1の電子デバイス102又は
図2のプロセッサ204によって実行されてもよい。
【0093】
502において、グラフ特性のセットのうちのグラフ特性のサブセットの選択を示す第1のユーザ入力が受信されてもよい。一実施形態では、ユーザエンドデバイス104は、第1のユーザ入力を受信してもよい。グラフ特性のセットは、電子デバイス102によって決定されたグラフ属性のセットに関連付けられてもよい。クライアントブラウザ116は、決定されたグラフ特性のセットからのグラフ特性の選択を示すユーザ入力を受信するための電子UIをレンダリングしてもよい。電子UIは、ユーザ選択に利用可能であり得るグラフ特性のセットのうちのグラフ特性に対応するUI要素を含んでもよい。UI要素は、グラフ302A…302Nのセットの各グラフについての1つ以上のグラフ特性の決定の完了に基づいてレンダリングされてもよい。第1のユーザ入力は、選択されたグラフ特性のサブセットに対応し得るUI要素を介して受信されてもよい。
【0094】
504において、グラフ特性のサブセットについてのクエリが電子デバイス102に送信されてもよい。一実施形態では、ユーザエンドデバイス104は、グラフ特性のサブセットについてのクエリを電子デバイス102に送信してもよい。送信されたクエリは、グラフ特性のサブセットを含んでもよい。クエリは、グラフ特性のサブセットの各グラフ特性の値を受信するために、APIを介してウェブサービス114に送信されてもよく、このグラフ特性のサブセットは、グラフ302A…302Nのセットの各グラフ(すなわち、各サブグラフと各離散グラフ)について電子デバイス102によって決定されている。
【0095】
506において、選択されたグラフ特性のサブセットの各グラフ特性の値は、受信したクエリに基づいて、電子デバイス102によってクライアントブラウザ116に送信されてもよい。一実施形態では、電子デバイス102のプロセッサ204は、(グラフ302A…302Nのセットの各グラフについて決定された)選択されたグラフ特性のサブセットの各グラフ特性の値を、ウェブサービス114によってクライアントブラウザ116に送信するように構成されてもよい。選択されたグラフ特性のサブセットの各グラフ特性の値は、APIを介して送信されてもよい。
【0096】
508において、(グラフ302A…302Nのセットの各グラフについて決定された)選択されたグラフ特性のサブセットの各グラフ特性の値は、受信した第1のユーザ入力に基づいて受信されてもよい。一実施形態では、ユーザエンドデバイス104は、受信した第1のユーザ入力に基づいて、選択されたグラフ特性のサブセットの各グラフ特性の値を電子デバイス102から受信してもよい。
【0097】
510において、選択されたグラフ特性のサブセットの各グラフ特性について、プロットが生成されてもよい。ユーザエンドデバイス104のクライアントブラウザ116は、グラフ302A…302Nのセットの各グラフについて決定され得る、対応するグラフ特性の受信した値に基づいて、各グラフ特性についてのプロットを生成してもよい。例えば、生成されたプロットのX軸は、グラフ302A…302Nのセットの各グラフ(すなわち、各サブグラフと各離散グラフ)を含んでもよい。さらに、生成されたプロットのY軸は、(対応するグラフ特性を決定するように構成され得る)タスクキュー304A…304Nのセットのタスクキューによって決定された対応するグラフ特性の受信した値を含んでもよい。したがって、生成されたプロットのカウントは、選択されたグラフ特性のサブセットにおけるグラフ特性の数と等しくてもよい。
【0098】
512において、選択されたグラフ特性のサブセットの各グラフ特性の受信した値をソートするために使用されるソート技法を示す第2のユーザ入力が受信されてもよい。一実施形態では、ユーザエンドデバイス104は、電子UIを介して第2のユーザ入力を受信するように構成されてもよい。電子UIは、グラフ302A…302Nのセットの各グラフについて決定された各グラフ特性の受信した値をソートするために使用され得るソート手法の選択を示すユーザ入力を受信してもよい。電子UIは、ユーザ選択に利用可能なソート手法に対応するUI要素を含んでもよい。一実施形態では、選択に利用可能なソート手法は、独立したソート又はアンカーベースのソートであってもよい。
【0099】
514において、ソート手法が、選択されたグラフ特性の受信した値のアンカーベースのソートに対応するかどうかが決定される。この決定は、受信した第2のユーザ入力に基づいてもよい。一実施形態では、ユーザエンドデバイス104は、ソート手法が、選択されたグラフ特性の受信した値のアンカーベースのソートに対応するかどうかを決定してもよい。
【0100】
516において、選択されたグラフ特性のサブセットの各グラフ特性の受信した値は、グラフ302A…302Nのセットの各グラフについて電子デバイス102によって決定され得るアンカーグラフ特性の受信した値に基づいて、ソートされてもよい。一実施形態では、ユーザエンドデバイス104は、選択されたグラフ特性のサブセットの各グラフ特性の受信した値を、アンカーグラフ特性の受信した値に基づいてソートするように構成されてもよい。このようなソートは、ソート手法がアンカーベースのソートに対応するという決定に基づいてもよい。アンカーベースのソートでは、選択されたグラフ特性のサブセットのうちのグラフ特性がアンカーグラフ特性として選択されてもよい。(グラフのセット302A…302Nの各グラフについて(電子デバイス102によって)決定され得る)アンカーグラフ特性の受信した値は、昇順にソートされてもよい。ソートは、グラフ302A…302Nのセットの一連のグラフを生成してもよい。例えば、グラフ302A…302Nのセットが8つのグラフを含む場合、生成されるシーケンスは、302D、302A、302F、302B、302G、302H、302C、302Eであってもよい。一例では、グラフ302Dについて決定されたアンカーグラフ特性の値は、8つのグラフの中で最も低いことがあり、グラフ302Eに対して決定されたアンカーグラフ特性の受信した値は、8つのグラフの中で最も高いことがある。これは、グラフ302A…302Nのセットの各グラフについて電子デバイス102によって決定されるアンカーグラフ特性の値が、昇順にソートされ得るためであってもよい。アンカーグラフ特性の値がソートされると、選択されたグラフ特性のサブセットのうちの他のグラフ特性の各々の受信した値もソートされてもよい。例えば、(グラフ302A…302Nのセットの各グラフについて電子デバイス102によって決定された)グラフ特性は、生成されたグラフのシーケンス(すなわち、302D、302A、302F、302B、302G、302H、302C、302E)に基づいてソートされてもよい。
【0101】
518において、対応するグラフ特性のソートされた受信した値に基づいて、各グラフ特性に対して生成されたプロットを更新することによって、第1のプロットのセットが生成されてもよい。一実施形態では、ユーザエンドデバイス104は、対応するグラフ特性のソートされた受信した値に基づいて、各特性について(510において)生成されたプロットを更新することによって、第1のプロットのセットを生成するように構成されてもよい。例えば、各グラフ特性について(510において)生成された各プロットのY軸は、第1のプロットのセットの各プロットの生成のために、対応するグラフ特性のソートされた受信した値に基づいて更新されてもよい。第1のプロットのセットは、一次元グラフビューに対応してもよい。第1のプロットのセット(すなわち、一次元グラフビュー)は、選択されたグラフ特性のサブセットの第1の特性と、選択されたグラフ特性のサブセットの第2の特性との間の相関関係を示してもよい。
【0102】
520において、対応するグラフ特性の受信した値(すなわち、プロットのY軸)の独立したソートに基づいて、各グラフ特性について(510において)生成されたプロットを更新することによって、第2のプロットのセットが生成されてもよい。一実施形態では、ユーザエンドデバイス104は、対応するグラフ特性の受信した値(すなわち、プロットのY軸)の独立したソートに基づいて、各特性について(510において)生成されたプロットを更新することによって、第2のプロットのセットを生成するように構成されてもよい。例えば、グラフ特性のサブセットの各グラフ特性の受信した値は、ソート技法が独立したソートに対応するという決定に基づいて、独立してソートされてもよい。独立したソートの場合、(グラフ302A…302Nのセットの各グラフについて、電子デバイス102によって決定される)選択されたグラフ特性のサブセットの各グラフ特性の受信した値は、昇順にソートされてもよい。その後、各グラフ特性について第2のプロットのセットのうちのプロットが生成されてもよく、すなわち、各グラフ特性について(510において)生成されたプロットのY軸が、対応するグラフ特性の独立してソートされた(受信した)値に基づいて修正されてもよい。第2のプロットのセットはまた、一次元グラフビューに対応してもよい。
【0103】
図6Aは、本開示の一実施形態による、グラフのセットの各グラフについて決定されたグラフ特性のセットを示すグラフプロットの例示的なシナリオを示す図である。
図6Aは、
図1、
図2、
図3、
図4、及び
図5の要素と併せて説明される。
図6Aを参照すると、例示的なシナリオ600Aが示されている。シナリオ600Aは、グラフ「A」、グラフ「B」、グラフ「C」、グラフ「D」、グラフ「E」、グラフ「F」、グラフ「G」、グラフ「H」などのグラフのセットの各グラフについて決定されたグラフ特性のセットを示すグラフプロットを含む。
【0104】
例えば、シナリオ600Aに示されるように、グラフプロットは、第1のグラフプロット602A、第2のグラフプロット604A、第3のグラフプロット606A、及び第4のグラフプロット608Aを含む。シナリオ600Aの各グラフプロットは、グラフのセット(例えば、グラフ302A…302Nのセット)の様々なグラフについて、特定のグラフ特性の値のグラフ表現である。一例では、
図6Aに示すように、第1のグラフプロット602Aは、グラフ「A」、グラフ「B」、グラフ「C」、グラフ「D」、グラフ「E」、グラフ「F」、グラフ「G」、グラフ「H」などのグラフのセットについて、グラフ特性、例えば「ノードカウント」の値のグラフ表現であってもよい。例えば、グラフAについて、グラフ特性「ノードカウント」の値は「3」であり、グラフBについて、グラフ特性「ノードカウント」の値は「4」である、などである。同様に、グラフ「H」について、グラフ属性「ノードカウント」の値は「6」であってもよい。別の例では、
図6Aに示すように、第2のグラフプロット604Aは、グラフ「A」、グラフ「B」…、グラフ「H」などのグラフのセットについて、グラフ特性、例えば「エッジカウント」の値のグラフ表現であってもよい。さらに別の例では、第3のグラフプロット606A及び第4のグラフプロット608Aは、グラフ「A」、グラフ「B」…グラフ「H」などのグラフのセットについて、それぞれ、グラフ特性、例えば、「グラフ直径」及び「グラフ密度」の値のグラフ表現であってもよい。
【0105】
図6Bは、本開示の一実施形態による、グラフのセットの各グラフのグラフ特性の独立したソートに基づいて決定される一次元グラフビューの例示的なシナリオを示す図である。
図6Bは、
図1、
図2、
図3、
図4、
図5、及び
図6Aの要素と併せて説明される。
図6Bを参照すると、例示的なシナリオ600Aが示されている。シナリオ600Bは、グラフA、グラフB、グラフC、グラフD、グラフE、グラフF、グラフG、グラフHなどのグラフのセットの各グラフのグラフ特性の独立したソートに基づいて決定される一次元グラフビューを含む。
【0106】
例えば、図示されるように、シナリオ600Bは、個々のグラフ特性の値に基づいて独立してソートされ得る、グラフのセットについてグラフ特性のグラフプロットを含む。グラフプロットは、グラフ特性「ノードカウント」について、第1のグラフプロット602B、グラフ特性「エッジカウント」について、第2のグラフプロット604B、グラフ特性「グラフ直径」について、第3のグラフプロット606B、及びグラフ特性「グラフ密度」について、第4のグラフプロット608Bを含む。シナリオ600Bの各グラフプロットに表されたグラフのセットは、特定のグラフプロットに対応するそれぞれのグラフ特性の値に基づいて、独立してソートされてもよい。例えば、第1のグラフ602Bでは、グラフ「A」、グラフ「B」、…グラフ「H」などのグラフのセットが、グラフ特性「ノードカウント」の値の昇順にソートされてもよい。第1のグラフプロット602Bにおけるグラフのセットの個々にソートされた順序は、グラフ「D」、その後にグラフ「A」、「E」、「B」、「G」、「C」、「F」、及び「H」であってもよい。ここで、グラフ属性「ノードカウント」の最低値が「2」(グラフ「D」の場合)であってもよく、グラフ属性「ノードカウント」の最高値が「6」(グラフ「H」の場合)であってもよい。同様に、第2のグラフプロット604Bは、グラフのセットについてグラフ特性「エッジカウント」の値を表してもよく、これらは、グラフのセットの各グラフについて、グラフ特性「エッジカウント」の値に基づいて、昇順に個々にソートされてもよい。第2のグラフプロット604Bにおけるグラフのセットの個々にソートされた順序は、グラフ「A」、その後にグラフ「C」、「B」、「G」、「E」、「H」、「D」、及び「F」であってもよい。ここで、グラフ属性「エッジカウント」の最低値が「5」(グラフ「A」の場合)であってもよく、グラフ属性「エッジカウント」の最高値が「9」(グラフ「F」の場合)であってもよい。第3のグラフプロット606B及び第4のグラフプロット608Bは、同様に、対応するグラフ特性の値に基づいて昇順に個々にソートし得る、グラフのセットに対する特定のグラフ特性(それぞれ、「グラフ直径」、「グラフ密度」など)の表現を含んでもよい。シナリオ600Bのグラフプロットは、様々なグラフ特性の値範囲及び分布を大域的レベルで決定するのに有用であり得ることが理解されよう。
【0107】
図6Cは、本開示の一実施形態による、グラフのセットの各グラフについてのアンカーグラフ特性に基づき、グラフ属性のソートに基づいて決定された一次元グラフビューの例示的なシナリオを示す図である。
図6Cは、
図1、
図2、
図3、
図4、
図5、
図6A及び
図6Bの要素と併せて説明される。
図6Cを参照すると、例示的なシナリオ600Aが示されている。シナリオ600Cは、グラフA、グラフB、グラフC、グラフD、グラフE、グラフF、グラフG、グラフHなどのグラフのセットの各グラフについてのアンカーグラフの性質に基づいて、グラフ属性のソートに基づいて決定される一次元グラフビューを含む。
【0108】
例えば、図示されるように、シナリオ600Cは、グラフのセットについてグラフ特性のグラフプロットを含み、グラフ属性は、グラフのセットの各グラフについてのアンカーグラフ特性に基づいてソートされてもよい。グラフプロットは、グラフ特性「ノードカウント」について、第1のグラフプロット602C、グラフ特性「エッジカウント」について、第2のグラフプロット604C、グラフ特性「グラフ直径」について、第3のグラフプロット606C、及びグラフ特性「グラフ密度」について、第4のグラフプロット608Cを含む。シナリオ600Cのグラフプロットの各々に表されるグラフのセットは、アンカーグラフ特性についてのグラフのセットのソート順序に基づいてソートされてもよい。一例では、アンカーグラフ特性は、「ノードカウント」であってもよい。第1のグラフプロット6Cにおいて、グラフのセットは、特性「ノードカウント」のそれぞれの値の昇順にソートされてもよい。例えば、第1のグラフプロット602Cにおけるグラフのセットのソートされた順は、グラフ「D」、その後にグラフ「A」、「E」、「B」、「G」、「C」、「F」、及び「H」であってもよい。この場合、グラフ属性「ノードカウント」がアンカーグラフ属性であるため、グラフ604C、606C、及び608Cの各々におけるグラフのセットのソート順序は、第1のグラフ602Cにおけるグラフのセットのソート順序と同じであってもよい。したがって、シナリオ600Cにおける各グラフプロットのためのグラフのセットのソート順序は、グラフ「D」、その後にグラフ「A」、「E」、「B」、「G」、「C」、「F」、及び「H」であってもよい。シナリオ600Cのグラフプロットは、決定された属性のセットに関連付けられた属性のセットの第1の特性の値と第2の特性の値との間に相関が存在するかどうかグラフごとのレベルで決定するのに有用であり得ることが理解されよう。例えば、シナリオ600Cのグラフプロットに基づいて、グラフ特性「ノードカウント」と「グラフ直径」とは互いに相関しているが、他のグラフ特性は互いに相関していないと決定されてもよい。
【0109】
図6A、
図6B、及び
図6Cのシナリオ600A、600B、及び600Cは、それぞれ、例示的な目的のためのものであり、本開示の範囲を限定すると解釈されるべきではないことに留意されたい。
【0110】
図7は、本開示の一実施形態による、グラフセットビューのクライアントブラウザ上でのレンダリングを制御するための例示的な動作を示す図である。
図7は、
図1、
図2、
図3、
図4、
図5、
図6A、
図6B及び
図6Cの要素と併せて説明される。
図7を参照すると、例示的な動作702、704、706、708、710、712、714、716、718、720、722及び724を示すタイムライン700が示されている。例示的な動作は、電子デバイス102によって送信された属性情報に基づいて、クライアントブラウザ116上でグラフセットビューのレンダリングを制御するように実行されてもよい。例示的な動作は、
図1の電子デバイス102又は
図2のプロセッサ204によって実行されてもよい。
【0111】
702において、グラフ特性のセットからのグラフ特性の選択を示す第3のユーザ入力が受信されてもよい。一実施形態では、ユーザエンドデバイス104は、グラフ302A…302Nのセットのグラフ特性のセットからのグラフ特性の選択を示し得る第3のユーザ入力を受信するように構成されてもよい。グラフ特性のセットは、電子デバイス102によって決定されたグラフ属性のセットに関連付けられてもよい。クライアントブラウザ116は、決定されたグラフ特性のセットからのグラフ特性の選択を示すユーザ入力を受信するための電子UIをレンダリングしてもよい。電子UIは、ユーザ選択に利用可能であり得るグラフ特性のセットのうちのグラフ特性に対応するUI要素を含んでもよい。UI要素は、グラフ302A…302Nのセットの各グラフについての1つ以上のグラフ特性の決定の完了に基づいてレンダリングされてもよい。第3のユーザ入力は、グラフ特性の選択に対応し得るUI要素を介して受信されてもよい。
【0112】
704において、受信した第3のユーザ入力が送信されてもよい。一実施形態では、ユーザエンドデバイス104は、受信した第3のユーザ入力を電子デバイス102に送信するように構成されてもよい。例えば、クライアントブラウザ116は、第3のユーザ入力をウェブサービス114に送信してもよい。ウェブサービス114は、ウェブサービス114及びクライアントブラウザ116に関連付けられたAPIを介して第3のユーザ入力を受信してもよい。
【0113】
706において、選択されたグラフ特性の値が、グラフ302A…302Nのセットの各グラフについて送信されてもよい。一実施形態では、電子デバイス102は、グラフ302A…302Nのセットの各グラフについて、選択されたグラフ特性の値を送信するように構成されてもよい。ウェブサービス114による第3のユーザ入力の受信に基づいて、電子デバイス102のプロセッサ204は、グラフ302A…302Nのセットの各グラフについて、選択されたグラフ特性の値を抽出してもよい。選択されたグラフ特性の値は、ウェブサービス114及びクライアントブラウザ116に関連付けられたAPIを介して、ウェブサービス114からクライアントブラウザ116に送信されてもよい。
【0114】
708において、グラフ302A…302Nのセットの各グラフについて、選択されたグラフ特性の値が受信されてもよい。一実施形態では、ユーザエンドデバイス104は、グラフ302A…302Nのセットの各グラフについて、選択されたグラフ特性の値を受信するように構成されてもよい。選択されたグラフ特性の値は、ウェブサービス114及びクライアントブラウザ116に関連付けられたAPIを介して、電子デバイス102のウェブサービス114から、ユーザエンドデバイス104のクライアントブラウザ116によって受信されてもよい。
【0115】
710において、選択されたグラフ特性の受信した値がソートされてもよい。一実施形態では、ユーザエンドデバイス104に関連付けられたクライアントブラウザ116は、選択されたグラフ特性の受信した値をソートするように構成されてもよい。例えば、選択されたグラフ特性の受信した値は、昇順にソートされてもよい。
【0116】
712において、選択されたグラフ特性についての値範囲の選択を示す第4のユーザ入力が受信されてもよい。一実施形態では、ユーザエンドデバイス104は、電子UIを介して第4のユーザ入力を受信するように構成されてもよい。電子UIは、グラフ302A…302Nのセットの各グラフについて、選択されたグラフ特性についての値範囲(例えば、最大値及び最小値)の選択を示すユーザ入力を受信してもよい。電子UIは、グラフ302A…302Nのセットにおける様々なグラフについて、選択されたグラフ特性の値に対応するUI要素を含んでもよい。一例では、電子UIは、所定の幅のスライディングウィンドウセレクタを含み、スライディングウィンドウセレクタの範囲内にある選択されたグラフ特性の値を、ユーザに対して選択される値範囲として選択してもよい。
【0117】
714において、値範囲に基づいて、複数のグラフがグラフ302A…302Nのセットからサンプリングされてもよい。一実施形態では、ユーザエンドデバイス104のクライアントブラウザ116は、値範囲に基づいて、グラフ302A…302Nのセットから複数のグラフをサンプリングしてもよい。例えば、選択されたグラフ特性が「ノードカウント」であり、「ノードカウント」について選択された値範囲が「3~5」である場合、ユーザエンドデバイス104のクライアントブラウザ116は、グラフセット302A~302Nから「ノードカウント」が3ノード~5ノードである複数のグラフをサンプリングしてもよい。
【0118】
716において、サンプリングされた複数のグラフのグラフ画像についての要求が送信されてもよい。一実施形態では、ユーザエンドデバイス104のクライアントブラウザ116は、サンプリングされた複数のグラフのグラフ画像についての要求を送信するように構成されてもよい。送信されたグラフ画像についての要求は、クライアントブラウザ116及びウェブサービス114に関連付けられたAPIを介して、電子デバイス102のウェブサービス114によって受信されてもよい。
【0119】
718において、サンプリングされた複数のグラフの要求されたグラフ画像が送信されてもよい。一実施形態では、電子デバイス102のウェブサービス114は、受信したグラフ画像についての要求に基づいて、サンプリングされた複数のグラフの要求されたグラフ画像を送信するように構成されてもよい。一実施形態では、受信したグラフ画像についての要求に基づいて、ウェブサービス114は、ローカルストレージ(例えば、メモリ206及び/又は永続性データストレージ208)又はデータベース108に記憶されたグラフ302A…302Nのセットのうちのグラフデータからグラフ画像のセットを抽出してもよい。
【0120】
720において、サンプリングされた複数のグラフの各グラフに関連付けられた第1の画像のセットが受信されてもよい。一実施形態では、ユーザエンドデバイス104のクライアントブラウザ116は、サンプリングされた複数のグラフの各グラフに関連付けられた第1の画像のセットを受信してもよい。第1の画像のセット(すなわち、グラフ画像)は、ウェブサービス114及びクライアントブラウザ116に関連付けられたAPIを介して、ウェブサービス114から受信されてもよい。第1の画像のセットは、サンプリングされた複数のグラフのグラフ画像の要求に基づいて受信されてもよい。例えば、サンプリングされた複数のグラフのグラフ画像についてのクライアントブラウザ116からの要求に基づいて、ウェブサービス114によって第1の画像のセットが抽出されてもよい。
【0121】
第1の画像のセットに加えて、ウェブサービス114はまた、サンプリングされた複数のグラフ以外の、グラフのセットのうちのグラフのサブセットに関連付けられ得る第2の画像のセットなどの、特定の他のグラフ画像を抽出するように構成されてもよい。例えば、グラフのサブセットは、選択されたグラフ特性の値及び値範囲に基づいて、サンプリングされた複数のグラフに類似していてもよい。一例として、選択されたグラフ属性「ノードカウント」と値範囲「3~5ノード」について、複数のグラフがサンプリングされてもよい。このような場合、グラフのサブセットは、2~6ノードのノードカウントを有し得るグラフであってもよく、従って、サンプリングされた複数のグラフと類似していてもよい。このような類似したグラフのサブセットのグラフ画像はまた、ウェブサービス114によって第2の画像のセットとして抽出されてもよい。ウェブサービス114は、このような第2の画像のセットを、予想される画像のセット又は先読み画像のセットとしてクライアントブラウザ116に送信してもよい。クライアントブラウザ116は、グラフ302A…302Nのセットのうちサンプリングされた複数のグラフ以外のグラフに関連付けられ得る第2の画像のセットを受信してもよい。ウェブサービス114は、クライアントブラウザ116に関連付けられた画像キャッシュ内の受信した第1の画像のセット又は受信した第2の画像のセットのうちの1つ以上の記憶を制御してもよい。
【0122】
722において、サンプリングされた複数のグラフの各グラフについて、選択された特性の値を表すためのプロットタイプを示す第5のユーザ入力が受信されてもよい。一実施形態では、ユーザエンドデバイス104は、サンプリングされた複数のグラフの各々について、選択されたグラフ特性の値を表すためのプロットタイプを示し得る第5のユーザ入力を受信するように構成されてもよい。クライアントブラウザ116は、サンプリングされた複数のグラフの各々について、選択されたグラフ特性の値の表現のためのプロットタイプの選択を示すユーザ入力を受信するための電子UIをレンダリングしてもよい。電子UIは、ユーザ選択に利用可能であり得る選択されたグラフ特性に関連付けられたデータを表すための異なるプロットタイプに対応するUI要素を含んでもよい。一実施形態では、プロットタイプは、スプリングレイアウト、スペクトルレイアウト、円形レイアウト、シェルレイアウトなどの(1つ以上のグラフを表すための)グラフィカルレイアウトを含んでもよいが、これらに限定されない。UI要素は、グラフ302A…302Nのセットの各グラフについての1つ以上のグラフ特性の決定の完了に基づいてレンダリングされてもよい。第5のユーザ入力は、プロットタイプの選択に対応し得るUI要素を介して受信されてもよい。
【0123】
724において、選択されたグラフ特性の値は、第5のユーザ入力で示されたプロットタイプに基づいてプロットされてもよい。一実施形態では、ユーザエンドデバイス104のクライアントブラウザ116は、第5のユーザ入力に示されたプロットタイプに基づいて、選択されたグラフ特性の値をプロットするように構成されてもよい。サンプリングされた複数のグラフの各グラフに関連付けられた、受信した第1の画像セットは、スプリングレイアウト、スペクトルレイアウト、円形レイアウト、又はシェルレイアウトのうちの1つを含むが、これらに限定されないレイアウトにおける対応するグラフの表現に対応してもよい。選択されたグラフ特性のプロットされた値は、グラフセットビューに対応してもよい。グラフセットビューのレンダリングのシナリオの一例が、例えば
図8に示される。
【0124】
図8は、本開示の一実施形態による、グラフのセットのグラフ特性の値範囲の選択に基づいて決定されたグラフセットビューの例示的なシナリオを示す図である。
図8は、
図1、
図2、
図3、
図4、
図5、
図6A、
図6B、
図6C、及び
図7の要素と併せて記載される。
図8を参照すると、例示的なシナリオ800が示されている。シナリオ800は、グラフ「A」、「B」、「C」、「D」、「E」、「F」、「G」、及び「H」などのグラフのセットについて、グラフ特性「ノードカウント」などの選択されたグラフ特性の値のグラフプロット802を含んでもよい。グラフのセットは、グラフのセットの各々について、選択されたグラフ特性の値、すなわち「ノードカウント」の昇順に基づいて、グラフプロット802内でソートされてもよい。例えば、グラフのセットのソートされた順序は、グラフ「D」、その後にグラフ「A」、「E」、「B」、「G」、「C」、「F」、及び「H」であってもよい。
【0125】
クライアントブラウザ116は、UI要素を含み得る電子UIをレンダリングして、グラフのセットの各々について、選択されたグラフ特性(すなわち、「ノードカウント」)の値に基づいて、グラフのセットから複数のグラフをサンプリングするための値範囲の選択を示すユーザ入力(例えば、第4のユーザ入力)をユーザが提供することを可能にしてもよい。例えば、電子UIを介して、クライアントブラウザ116は、(第1の値範囲804に示されるように)1~4ノードのノードカウントの範囲などの値範囲のユーザ入力を受信してもよい。受信したユーザ入力(すなわち、第1の値範囲804)に基づいて、グラフ「D」、「A」、「E」、及び「B」(まとめて第1のサンプリングされたグラフのセット806として示される)が、グラフ「A」、「B」…「H」のセットからサンプリング及び選択されてもよい。第1のサンプリングされたグラフのセット806(すなわち、グラフ「D」、「A」、「E」、及び「B」)が、第1のグラフセットビュー808としてレンダリングされてもよい。
図8に示すように、第1のグラフセットビュー808は、UIの4つの象限にレンダリングされた4つのグラフを含む。一例では、グラフ「D」(第1象限に表示される)は1つのノードを含んでもよく、グラフ「A」(第2象限に表示される)は3つのノードを含んでもよい。同様に、グラフ「E」(第3象限に表示される)は、3つのノードを含んでもよく、グラフ「B」(第4象限に表示される)は、4つのノードを含んでもよい。
【0126】
一例では、電子UIを介して、クライアントブラウザ116は、(第2の値範囲810に示されるように)1~11ノードのノードカウントの範囲などの別の値範囲のユーザ入力を受信してもよい。受信したユーザ入力(すなわち、第2の値範囲810)に基づいて、グラフ「G」、「C」、「F」、及び「H」(まとめて第2のサンプリングされたグラフのセット812として示される)が、グラフ「A」、「B」…「H」のセットからサンプリング及び選択されてもよい。第2のサンプリングされたグラフのセット812(すなわち、グラフ「G」、「C」、「F」、及び「H」)が、第2のグラフセットビュー814としてレンダリングされてもよい。
図8に示すように、第1のグラフセットビュー814は、UIの4つの象限にレンダリングされた4つのグラフを含む。一例では、グラフ「G」(第1象限に表示される)は7つのノードを含んでもよく、グラフ「C」(第2象限に表示される)は8つのノードを含んでもよい。同様に、グラフ「F」(第3象限に表示される)は9つのノードを含んでもよく、グラフ「H」(第4象限に表示される)は11個のノードを含んでもよい。グラフセットビューは、特定のグラフ特性について類似した値を有するグラフを識別し、特定のグラフ特性についてそのような類似したグラフをまとめて分析するために使用されてもよい。例えば、(第1のグラフセットビュー808でレンダリングされた)第1のサンプリングされたグラフのセット806は、より低い範囲のノードカウントを有し、(第2のグラフセットビュー814でレンダリングされた)第2のサンプリングされたグラフのセット812は、より高い範囲のノードカウントを有する。
【0127】
シナリオ500は、例示的な目的のためのものであり、本開示の範囲を限定するように解釈されるべきではないことに留意されたい。
【0128】
図9は、本開示の一実施形態による、グラフ機械学習のためのグラフセットビューのグラフセット分析及び可視化のための例示的な方法のフローチャートを示す図である。
図9は、
図1、
図2、
図3、
図4、
図5、
図6A、
図6B、
図6C、
図7、及び
図8の要素と併せて記載される。
図9を参照すると、フローチャート900が示されている。フローチャート900に示される方法は、902で開始することができ、
図1の例示的な電子デバイス102、又は
図2のプロセッサ204などの任意の好適なシステム、装置、又はデバイスによって実行されてもよい。個別のブロックで例示されているが、フローチャート900のブロックの1つ以上に関連するステップ及び動作は、特定の実装に応じて、追加のブロックに分割されるか、より少ないブロックに組み合わせられるか、又は除去されてもよい。
【0129】
ブロック902では、グラフのセット(例えば、グラフ118A…118Nのセット)に関連付けられたグラフビューのセットに対応する1つ以上のUI要素を含む電子UIのレンダリングが、クライアントブラウザ(例えば、クライアントブラウザ116)上で制御されてもよい。一実施形態では、プロセッサ204は、グラフ118A…118Nのセットに関連付けられたグラフビューのセットに対応する1つ以上のUI要素を含み得る電子UIのレンダリングをクライアントブラウザ116上で制御するように構成されてもよい。電子UIのレンダリングの制御の詳細は、例えば、
図3、
図5、
図6A、
図6B、
図6C、
図7、及び
図8にさらに提供される。
【0130】
ブロック904で、複数のグラフからのグラフ118A…118Nのセットの選択を示すユーザ入力が、レンダリングされた電子UIを介して受信されてもよい。一実施形態では、プロセッサ204は、レンダリングされた電子UIを介して、複数のグラフからのグラフのセットの選択を示すユーザ入力を受信するように構成されてもよい。
【0131】
ブロック906で、グラフ118A…118Nのセットを含むグラフデータセット118が受信されてもよい。一実施形態では、プロセッサ204は、グラフ118A…118Nのセットを含むグラフデータセット118を受信するように構成されてもよい。グラフ118A…118Nのセットを含むグラフデータセット118の受信の詳細は、例えば、
図1及び
図3にさらに提供される。
【0132】
ブロック908で、受信したグラフデータセット118を並列に処理するように構成されたタスクキューのセット(例えば、タスクキュー120A…120Nのセット)が、タスクスケジューラ(例えば、タスクスケジューラ112)によって生成されてもよい。一実施形態では、プロセッサ204は、受信したグラフデータセット118を並列に処理するように構成され得るタスクキュー120A…120Nのセットを、タスクスケジューラ112によって生成するように構成されてもよい。タスクキュー120A…120Nのセットの生成の詳細は、例えば、
図1及び
図3にさらに提供される。
【0133】
910で、グラフ属性のセットが、グラフ118A…118Nのセットの各グラフについて、タスクキュー120A…120Nのセットによって決定されてもよい。一実施形態では、プロセッサ204は、グラフ118A…118Nのセットの各グラフについて、グラフ属性のセットをタスクキュー120A…120Nのセットによって決定するように構成されてもよい。グラフ属性のセットの決定の詳細は、例えば、
図1、
図3、
図4、
図5、
図6A、
図6B、
図6C、
図7、及び
図8にさらに提供される。
【0134】
ブロック912で、決定されたグラフ属性のセットのうちの1つ以上のグラフ属性が、ウェブサービス114によって受信されてもよい。一実施形態では、プロセッサ204は、決定されたグラフ属性のセットのうちの1つ以上のグラフ属性を、ウェブサービス114によって受信するように構成されてもよい。1つ以上のグラフ属性の受信の詳細は、例えば、
図1、
図3、
図4、
図5、
図6A、
図6B、
図6C、
図7、及び
図8にさらに提供される。
【0135】
ブロック914で、受信した1つ以上のグラフ属性を含む属性情報が、ウェブサービス114によってクライアントブラウザ116に送信されてもよい。一実施形態では、プロセッサ204は、ウェブサービス114によって、受信した1つ以上のグラフ属性を含む属性情報をクライアントブラウザ116に送信するように構成されてもよい。クライアントブラウザ116は、送信された属性情報に基づいて、グラフビューのセットを決定するように構成されてもよい。属性情報の送信の詳細は、例えば、
図1、
図3、
図5、
図6A、
図6B、
図6C、
図7、及び
図8にさらに提供される。制御は終了に渡されてもよい。
【0136】
フローチャート900は、902、904、906、908、910、912、及び914などの個別の動作として示されるが、本開示は、そのように限定されない。しかし、特定の実施形態では、開示の実施形態の本質を損なうことなく、特定の実施形態に応じて、このような個別の動作をさらに追加の動作に分割したり、より少ない動作に組み合わせたり、又は削除してもよい。
【0137】
本開示の様々な実施形態は、実行されることに応答して、システム(例示的な電子デバイス102など)に動作を実行させる命令を記憶するように構成された1つ以上の非一時的なコンピュータ可読記憶媒体を提供し得る。この動作は、グラフのセット(例えば、グラフ118A…118Nのセット)を含むグラフデータセット(例えば、グラフデータセット118)を受信することを含んでもよい。動作は、受信したグラフデータセット118を並列に処理するように構成され得るタスクキューのセット(例えば、タスクキュー120A…120Nのセット)を、タスクスケジューラ(例えば、タスクスケジューラ112)によって生成することをさらに含んでもよい。動作は、タスクキュー120A…120Nのセットによって、グラフ118A…118Nのセットの各グラフについてグラフ属性のセットを決定することをさらに含んでもよい。動作は、ウェブサービス114によって、決定されたグラフ属性のセットのうちの1つ以上のグラフ属性を受信することをさらに含んでもよい。動作は、ウェブサービス114によって、受信した1つ以上のグラフ属性を含む属性情報をクライアントブラウザ(例えば、クライアントブラウザ116)に送信することをさらに含んでもよい。動作は、送信された属性情報に基づいてクライアントブラウザ116によって決定されたグラフビューのセットのレンダリングをクライアントブラウザ116上で制御することをさらに含んでもよい。
【0138】
本開示において使用されるように、用語「モジュール」及び「コンポーネント」は、モジュール又はコンポーネントのアクションを実行するように構成されている特定のハードウェア実装及び/又はコンピューティングシステムの汎用ハードウェア(例えば、コンピュータ可読媒体、処理デバイスなど)に記憶及び/又は実行され得るソフトウェアオブジェクト又はソフトウェアルーチンを指してもよい。いくつかの実施形態では、本開示に記載の異なるコンポーネント、モジュール、エンジン、及びサービスは、(例えば、別個のスレッドとして)コンピューティングシステムで実行されるオブジェクト又はプロセスとして実装され得る。本開示に記載のシステム及び方法のいくつかは、一般的に、(汎用ハードウェアに記憶される、及び/又はそれによって実行される)ソフトウェアで実装されるものとして記載されているが、特定のハードウェア実装又はソフトウェアと特定のハードウェア実装との組み合わせも可能であり、企図されている。この説明では、「コンピューティングエンティティ」は、本開示において先に定義された任意のコンピューティングシステム、又はコンピューティングシステム上で動作する任意のモジュール又はモジュールの組み合わせであってもよい。
【0139】
本開示において、特に添付の特許請求の範囲(例えば、添付の特許請求の範囲の本文)において使用される用語は、一般的に「開放的」な用語として意図されている(例えば、用語「含んでいる」は、「含んでいるが、これに限定されない」と解釈されるべきであり、用語「有する」は、「少なくとも有する」と解釈されるべきであり、用語「含む」は、「含むが、これに限定されない」と解釈されるべきであるなど)。
【0140】
追加的に、特定の数の導入された請求項の規定が意図されている場合、このような意図は請求項に明示的に規定され、このような規定がない場合、このような意図は存在しない。例えば、理解を助けるものとして、以下の添付の特許請求の範囲は、請求項の規定を導入するために、「少なくとも1つ」及び「1つ以上」の導入句の使用を含有することがある。しかし、このような句の使用は、不定冠詞「a」又は「an」による請求項の規定の導入が、このような導入された請求項の規定を含有する任意の特定の請求項を、ただ1つのこのような規定を含有する実施形態に限定することを示唆するように解釈されるべきではなく、これは、同じ請求項が、導入句「1つ以上」又は「少なくとも1つ」と「a」又は「an」(例えば、「a」及び/又は「an」は、「少なくとも1つ」又は「1つ以上」を意味すると解釈されるべきである)などの不定冠詞を含むときでも同様であり、同じことは、請求項の規定を導入するために使用される不定冠詞の使用の場合に当てはまる。
【0141】
追加的に、導入された請求項の規定の特定の数が明示的に規定されている場合であっても、当該技術分野の当業者であれば、このような規定は、規定された数を少なくとも意味すると解釈されるべきであることを認識するであろう(例えば、「2という規定」の単なる規定では、他の修飾語がなければ、少なくとも2つの規定、又は2つ以上の規定を意味する)。さらに、「A、B及びCのうちの少なくとも1つ」又は「A、B及びCなどのうちの1つ以上」に類似する慣習が使用されている場合には、一般的に、このような構造は、A単独、B単独、C単独、AとB、AとC、BとC、又はAとBとCなどを含むことが意図されている。
【0142】
さらに、明細書、特許請求の範囲、又は図面のいずれかにあるかを問わず、2つ以上の代替的な用語を提示する任意の離接的な語又は句は、その用語のうちの1つ、用語のうちのいずれか、又はそれら用語の両方を含む可能性を企図するように理解されるべきである。例えば、語句「A又はB」は、「A」若しくは「B」又は「A及びB」の可能性を含むように理解されるべきである。
【0143】
本開示に規定された全ての例及び条件付き言語は、本開示及び発明者が当該技術分野を促進するために寄与した概念を理解する際に読者を助けるための教育的目的とすることが意図されており、このように具体的に規定された例及び条件に限定されるものではないと解釈されるべきである。本開示の実施形態が詳細に記載されているが、これに対して本開示の精神及び範囲から逸脱することなく、様々な変更、置換、及び交換が行われ得る。
【0144】
本開示はまた、以下の事項について開示する。
(付記1)
プロセッサによって実行される方法であって、
グラフのセットを含むグラフデータセットを受信することと、
前記受信したグラフデータセットを並列に処理するように構成されたタスクキューのセットをタスクスケジューラによって生成することと、
前記グラフのセットの各グラフについて、グラフ属性のセットを前記タスクキューのセットによって決定することと、
前記決定されたグラフ属性のセットのうちの1つ以上のグラフ属性をウェブサービスによって受信することと、
前記受信した1つ以上のグラフ属性を含む属性情報を、前記ウェブサービスによってクライアントブラウザに送信することであって、
前記クライアントブラウザは、前記送信された属性情報に基づいて、グラフビューのセットを決定するように構成されている、ことと、
前記決定されたグラフビューのセットの前記クライアントブラウザ上でのレンダリングを制御することと、を含む、方法。
(付記2)
前記決定されたグラフ属性のセットは、グラフ特性のセット、グラフ特徴のセット、又はグラフ構造プロットのセットのうちの1つ以上に対応する、付記1に記載の方法。
(付記3)
前記グラフ特性のセットは、グラフのノードの数、グラフのエッジの数、グラフ密度、グラフ直径、グラフ内のループの数、グラフ内のクリークの数、又はグラフ内の互いに素なサブグラフの数のうちの1つ以上を含む、付記2に記載の方法。
(付記4)
前記決定されたグラフビューのセットは、一次元グラフビュー、二次元グラフビュー、グラフセットビュー、又は単一グラフビューのうちの1つ以上を含む、付記1に記載の方法。
(付記5)
前記クライアントブラウザに関連付けられたオブジェクトキャッシュにおける前記送信された属性情報の記憶を制御することをさらに含む、付記1に記載の方法。
(付記6)
前記グラフのセットの各グラフについて、対応するグラフが連続グラフであるかどうかを決定することと、
サブグラフのセットの抽出のために、対応するグラフが連続グラフであるという前記決定に基づいて、前記グラフのセットの各グラフからサブグラフを抽出することであって、
前記タスクキューのセットは、前記抽出されたサブグラフのセットに基づいて生成される、ことと、
前記抽出されたサブグラフのセットの各サブグラフと前記グラフのセットの各離散グラフについて、前記グラフ属性のセットのうちの第1のグラフ属性が決定されたかどうかを決定することと、
前記タスクキューのセットのうちの第1のタスクキューによって、前記抽出されたサブグラフのセットの各サブグラフと前記グラフのセットの各離散グラフについて、前記第1のグラフ属性が決定されたという前記決定に基づいて、前記第1のグラフ属性の決定の完了を示す第1の通知を前記ウェブサービスに送信することと、
前記抽出されたサブグラフのセットの各サブグラフと前記グラフのセットの各離散グラフについて、前記グラフ属性のセットの各グラフ属性が決定されたかどうかを決定することと、
前記タスクキューのセットの各タスクキューによって、前記抽出されたサブグラフのセットの各サブグラフと前記グラフのセットの各離散グラフについて、前記グラフ属性のセットの各グラフ属性が決定されたことに基づいて、前記グラフ属性のセットの決定の完了を示す第2の通知を前記ウェブサービスに送信することと、をさらに含む、付記1に記載の方法。
(付記7)
前記グラフのセットに関連付けられたデータラベルに基づいて、前記グラフのセットに関連付けられた前記決定されたグラフ属性のセットをフィルタリングすることをさらに含む、付記1に記載の方法。
(付記8)
前記決定されたグラフ属性のセットに関連付けられたグラフ特性のセットのうちのグラフ特性のサブセットの選択を示す第1のユーザ入力を受信することと、
前記受信した第1のユーザ入力に基づいて、前記グラフのセットの各グラフについて、前記選択されたグラフ特性のサブセットの各グラフ特性の値を受信することと、
対応するグラフ特性の前記受信した値に基づいて、各グラフ特性についてのプロットを生成することと、
前記選択されたグラフ特性のサブセットの各グラフ特性の前記受信した値をソートするためのソート技法を示す第2のユーザ入力を受信することと、
前記受信した第2のユーザ入力に基づいて、ソート技法がアンカーベースのソートに対応するかどうかを決定することと、
前記ソート技法が前記アンカーベースのソートに対応するとの前記決定に基づき、前記グラフのセットの各グラフについて決定されたアンカーグラフ特性の受信した値に基づいて、各グラフ特性の前記受信した値をソートすることと、
対応する前記グラフ特性の前記ソートされた受信した値に基づいて、各グラフ特性に対して前記生成されたプロットを更新することによって、第1のプロットのセットを生成することと、
前記ソート技法が前記アンカーベースのソートに対応しないとの前記決定に基づき、前記グラフのセットの各グラフについて対応する前記グラフ特性の値の独立したソートに基づいて、各グラフ特性について前記生成されたプロットを更新することによって、第2のプロットのセットを生成することと、
前記第1のプロットのセット又は前記第2のプロットのセットのうちの1つは、一次元グラフビューに対応する、付記1に記載の方法。
(付記9)
前記一次元グラフビューは、第1の特性と第2の特性との相関をグラフレベルごとに示す、付記8に記載の方法。
(付記10)
前記一次元グラフビューに対応する前記第2のプロットのセットは、前記決定された属性のセットの値セットの範囲及び分布を大域的レベルで示す、付記8に記載の方法。
(付記11)
前記二次元グラフビューは、前記グラフの第1の特性の第1の値セットと前記グラフの第2の特性の第2の値セットとの間のプロットに対応する、付記1に記載の方法。
(付記12)
前記グラフの前記二次元ビューは、前記第1のグラフ特性と前記第2のグラフ特性との間の相関のレベルを示す、付記11に記載の方法。
(付記13)
前記決定された属性のセットに関連付けられたプロパティのセットのうちのプロパティの選択を示す第3のユーザ入力を受信することと、
前記受信した第3のユーザ入力に基づいて、前記グラフのセットの各グラフについて、前記選択された特性の値を受信することと、
前記グラフのセットの各グラフについて、前記選択された特性に基づいて、前記受信した値をソートすることと、
前記選択された特性についての値範囲の選択を示す第4のユーザ入力を受信することと、
前記受信した第4のユーザ入力に示された前記選択された特性についての前記値範囲に基づいて、前記グラフのセットから複数のグラフをサンプリングすることと、
前記サンプリングされた複数のグラフの各グラフに関連付けられた第1の画像のセットを受信することと、
前記サンプリングされた複数のグラフの各グラフについて、前記選択された特性の前記値を表すためのプロットタイプを示す第5のユーザ入力を受信することと、
前記受信した第5のユーザ入力に示される前記プロットタイプと前記受信した画像に基づいて、前記選択された特性の前記値をプロットすることと、をさらに含み、
前記選択した特性の前記プロットされた値がグラフセットビューに対応する、付記1に記載の方法。
(付記14)
前記サンプリングされた複数のグラフ以外のグラフに関連付けられた第2の画像のセットを前記グラフのセットから受信することをさらに含む、付記13に記載の方法。
(付記15)
前記クライアントブラウザに関連付けられた画像キャッシュにおける前記受信した第1の画像のセット又は前記受信した第2の画像のセットのうちの1つ以上の記憶を制御することをさらに含む、付記14に記載の方法。
(付記16)
前記サンプリングされた複数のグラフの各グラフに関連付けられた前記受信した第1の画像のセットは、スプリングレイアウト、スペクトルレイアウト、円形レイアウト、又はシェルレイアウトのうちの1つを含むレイアウトにおける前記対応するグラフの表現に対応する、付記13に記載の方法。
(付記17)
単一グラフビューは、グラフのサブグラフの表現を示す、付記1に記載の方法。
(付記18)
前記受信した第1のデータセットは、金融ドメインデータセット、電子商取引ドメインデータセット、ソーシャルネットワークドメインデータセット、分子化学ドメインデータセット、及びゲノム配列ドメインデータセットのうちの少なくとも1つに対応する、付記1に記載の方法。
(付記19)
命令を記憶するように構成された1つ以上の非一時的なコンピュータ可読記憶媒体であって、前記命令は、実行されることに応答して、電子デバイスに動作を実行させ、前記動作は、
グラフのセットを含むグラフデータセットを受信することと、
前記受信したグラフデータセットを並列に処理するように構成されたタスクキューのセットを、タスクスケジューラによって生成することと、
前記グラフのセットの各グラフについてグラフ属性のセットを、前記タスクキューのセットによって決定することと、
前記決定されたグラフ属性のセットのうちの1つ以上のグラフ属性を、ウェブサービスによって受信することと、
前記受信した1つ以上のグラフ属性を含む属性情報を、前記ウェブサービスによってクライアントブラウザに送信することであって、
前記クライアントブラウザは、前記送信された属性情報に基づいて、グラフビューのセットを決定するように構成されている、ことと、
前記決定されたグラフビューのセットの前記クライアントブラウザ上でのレンダリングを制御することと、を含む、非一時的なコンピュータ可読記憶媒体。
(付記20)
電子デバイスであって、
命令を記憶するように構成されたメモリと、
前記メモリに結合されたプロセッサであって、前記命令を実行して、処理を実行するプロセッサと、を含み、前記処理は、
グラフのセットに関連付けられたグラフビューのセットに対応する1つ以上のUI要素を含む電子ユーザインタフェース(UI)のクライアントブラウザ上でのレンダリングを制御することと、
前記レンダリングされた電子UIを介して、複数のグラフからの前記グラフのセットの選択を示すユーザ入力を受信することと、
前記グラフのセットを含むグラフデータセットを受信することと、
前記受信したグラフデータセットを並列に処理するように構成されたタスクキューのセットを、タスクスケジューラによって生成することと、
前記グラフのセットの各グラフについてグラフ属性のセットを、前記タスクキューのセットによって決定することと、
前記決定されたグラフ属性のセットのうちの1つ以上のグラフ属性を、ウェブサービスによって受信することと、
前記受信した1つ以上のグラフ属性を含む属性情報を、前記ウェブサービスによって前記クライアントブラウザに送信することと、を含み、
前記クライアントブラウザは、前記送信された属性情報に基づいて、前記グラフビューのセットを決定するように構成されている、電子デバイス。
【外国語明細書】