JP7350590B2 - 反復的な人工知能を用いて、通信決定木を通る経路の方向を指定する - Google Patents

反復的な人工知能を用いて、通信決定木を通る経路の方向を指定する Download PDF

Info

Publication number
JP7350590B2
JP7350590B2 JP2019177419A JP2019177419A JP7350590B2 JP 7350590 B2 JP7350590 B2 JP 7350590B2 JP 2019177419 A JP2019177419 A JP 2019177419A JP 2019177419 A JP2019177419 A JP 2019177419A JP 7350590 B2 JP7350590 B2 JP 7350590B2
Authority
JP
Japan
Prior art keywords
data
worker
machine learning
node
job
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019177419A
Other languages
English (en)
Other versions
JP2020057386A5 (ja
JP2020057386A (ja
Inventor
タラ・ユー・ロバーツ
アルバート・ポッレリ
ラジブ・クマール
ランジット・ジョセフ・チャッコ
ジョナサン・ステンズビー
ケビン・ヨーディ
Original Assignee
オラクル・インターナショナル・コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/146,678 external-priority patent/US11321614B2/en
Application filed by オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2020057386A publication Critical patent/JP2020057386A/ja
Publication of JP2020057386A5 publication Critical patent/JP2020057386A5/ja
Priority to JP2023148284A priority Critical patent/JP2023168364A/ja
Application granted granted Critical
Publication of JP7350590B2 publication Critical patent/JP7350590B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

関連出願への相互参照
本願は、2017年9月29日に出願された米国仮出願第62/566026号の利益および優先権を主張する、2018年6月13日に出願された米国出願第16/007677号の一部継続出願である。これらの出願の各々は、あらゆる目的のためにその全体が参照により本明細書に組み込まれる。
背景
技術的進歩は、多くの種類の通信チャネルの利便性および複雑性を改善した。また、データ記憶およびネットワークの進歩は、記憶容量を増加している。これによって、より多くの量(および種類)のデータをデータソースに記憶することができ、将来に送信することができる。したがって、将来のいずれかの時間に多くの種類のデータを複数のデータチャネルの間に配信するようにデータソースを配置することができる。単一の配信ではなく、複数の関連コンテンツの配信を検討する場合、コンテンツを配信するための選択肢は、爆発的に増加する。多くの場合、コンテンツプロバイダーは、1つ以上の静的ルールを構成することによって、同じ通信チャネルを介して同じコンテンツを各データインタスターに無差別に提供する。異なるデータリクエストを受信するための通信仕様が異なる場合があるが、データリクエストに無差別に且つ矛盾なく応答するようにルールを構成することができる。この手法は、構成の簡素化および決定性操作を提供するが、データインジェスター全体の潜在的な変動に対応できず、リクエストを最適に処理することができない。
概要
いくつかの実施形態において、コンピュータ実施方法が提供される。データ構造にアクセスする。データ構造は、機械学習手法を用いて、個々の経路を動的に定義するように構成された通信決定木を表す。通信決定木を通る経路は、一連の通信仕様を示す。通信決定木は、複数の分岐ノードを含む。複数の分岐ノードの各分岐ノードは、所定の経路の方向を特定するように構成された動作ポイントに対応する。第1時間において、通信決定木を通る経路が複数の分岐ノードのうち第1の分岐ノードに到達したことが検出される。経路は、特定のユーザに関連付けられている。経路が第1の分岐ノードに到達したことの検出に応答して、機械学習技術を用いて第1のユーザデータを処理することによって生成された第1の学習データが取得される。第1のユーザデータは、複数の他のユーザのユーザ属性を含む。さらに、経路が第1の分岐ノードに到達したことの検出に応じて、特定のユーザに関連付けられた1つ以上の特定のユーザ属性が取得される。第1の学習データおよび1つ以上の特定のユーザ属性に基づいて1つ以上の第1の通信仕様が特定され、1つ以上の第1の通信仕様に従って、第1のコンテンツが特定のユーザに関連付けられたユーザ装置に送信される。第1の時間の後の第2の時間において、通信決定木を通る経路が複数の分岐ノードのうち第2の分岐ノードに到達したことが検出される。経路が第2の分岐ノードに到達したことの検出に応答して、機械学習技術を用いて第2のユーザデータを処理することによって生成された第2の学習データが取得される。第2のユーザデータは、第1のユーザデータに含まれない少なくとも一部のユーザ属性を含む。さらに、経路が第2の分岐ノードに到達したことの検出に応じて、第2の学習データおよび1つ以上の特定のユーザ属性の少なくとも一部に基づいて、1つ以上の第2の通信仕様が特定され、1つ以上の第2の通信仕様に従って、第2のコンテンツがユーザ装置に送信される。
いくつかの実施形態において、非一時的な機械可読記憶媒体に有形に具現化されたコンピュータプログラム製品が提供される。コンピュータプログラム製品は、本明細書に開示された1つ以上の方法の一部または全部の動作を1つ以上のデータプロセッサに実行させるように構成された命令を含むことができる。
いくつかの実施形態において、1つ以上のデータプロセッサと、1つ以上のデータプロセッサ上で実行されると、本明細書に開示された1つ以上の方法の一部または全部の動作を1つ以上のデータプロセッサに実行させる命令を含む非一時的なコンピュータ可読記憶媒体とを含むシステムが提供される。
以下、添付の図面を参照して、本発明の例示的な実施形態を詳細に説明する。
対話システムを示すブロック図である。 メール通信を生成するために使用されたテンプレートを示す図である。 アプリ通知通信を生成するために使用されたテンプレートを示す図である。 通信決定木の一例を示す図である。 ユーザ装置に対応し、通信決定木を通って延長する経路の一例を示す図である。 通信決定木を定義するための例示的なインターフェイスを示す図である。 切替アイコンの例示的なパラメータ定義インターフェイスを示す図である。 通信内の様々なコンテンツの表示にバイアスを与えるためのオプションを含む別の例示的なパラメータ定義インターフェイスを示す図である。 通信を送信するための様々な通信チャネルの使用にバイアスを与えるためのオプションを含む別の例示的なパラメータ定義インターフェイスを示す図である。 本発明のいくつかの実施形態に従って、機械学習を用いて、通信決定木を通る経路の方向を指定するためのプロセスを示すフローチャートである。 配置可能な視覚要素をサポートするインターフェイスを用いて、機械学習ベースの通信決定木を定義するためのプロセスを示すフローチャートである。 本発明のいくつかの実施形態に従って、例示的な累進選別決定木を示す図である。 本発明のいくつかの実施形態に従って、累進選別決定木の実装中に発生するデータ処理の例示的な表現を示す図である。 本発明のいくつかの実施形態に従って、機械学習モデルを反復的に使用して、決定木を通る経路を前進させるプロセスを示すフローチャートである。
説明
いくつかの実施形態において、機械学習データを反復的に使用して、通信仕様を反復的に特定することを容易にするシステムおよび方法が提供される。より具体的には、複数のノードを含む通信決定木を生成する。各ノードは、例えば、検出されたイベントまたは分岐ノードに対応してもよい。分岐ノードは、通信仕様の決定に対応し、1つ以上の特定の通信仕様に対応する通信を示す複数の次のノードに連結される。通信決定木を通る個々の経路は、個々のユーザおよび/または1つ以上の特定のユーザ装置に対応してもよい。個々の経路は、複数のノードの特定の部分セットを通って延長することができる。部分セット内のノードは、ユーザによって開始された特定の動作および/または1つ以上の特定の装置のうち特定のユーザ装置上で開始された特定の動作、1つ以上の特定の装置のうち特定のユーザ装置に送信した通信の特性、および/または今後の通信の仕様に関する決定を示す。例えば、今後の通信の仕様は、送信時間、送信される装置、送信に使用される通信チャネルの種類、および/または送信されるコンテンツの種類を示すことができる。場合によって、自然言語処理を用いて、訓練セットに送信される1つ以上のコンテンツオブジェクトの各々におよび/または送信可能な1つ以上のコンテンツオブジェクトの各々に1つ以上のカテゴリを割り当てることができる。通信仕様は、送信されたコンテンツの特定のカテゴリを特定することができる。
ユーザおよび/または特定のユーザ装置に対応する現在データ、機械学習モデル、および機械学習モデルの1つ以上の学習パラメータに基づいて、各通信仕様を決定することができる。パラメータは、複数の他のユーザに関連し且つ複数の他のユーザの各ユーザの1つ以上の属性および/または複数のイベント(例えば、ユーザ始動動作またはユーザに送信した通信の特性)を示すユーザデータに基づいて、学習することができる。また、パラメータは、通信決定木内の特定のノードおよび/またはユーザによって開始された特定の動作に対応する(例えば、クライアントによって指定された)目標経路に基づいて、学習することができる。
複数の分岐ノードを含むように通信決定木を構成することができる。その結果、単一の経路に対して複数の通信仕様を決定することができる。場合によって、同じ種類の機械学習アルゴリズム(例えば、教師あり回帰アルゴリズム)を用いて、各決定を行う。しかしながら、各分岐ノードに異なるアルゴリズムを使用することもできる。これによって、分岐ノードは、例えば、各経路のために処理される入力の種類および/または経路に対応する入力を処理するために使用される学習パラメータに対して異なる。様々な場合において、(例えば、同じ目標ノードまたは異なる目標ノードの特定に基づいて)同じ変数または異なる変数を最適化するように、異なる分岐ノードのアルゴリズムを訓練することができる。分岐ノードがアルゴリズムによって処理される入力の種類に対して異なってもよく、特定のユーザのために処理される可能性のあるプロファイルデータの種類も異なってもよい(例えば、対話を監視することによって、プロファイルデータを経時的に累積することができる)。さらに、任意のノードに関連する学習データは、(継続および/または反復学習によって)経時的に変化する可能性がある。
一例として、ユーザに対応するプロファイルデータが少なくとも所定セットのフィールドの情報を含むことを検出すると、ユーザの経路を初期化することができる。プロファイルデータは、1つ以上のウェブサーバを用いて、ユーザに関連付けられた1つ以上のセッションから収集されてもよく、リモートデータソースから取得されてもよい。場合によって、ユーザ装置は、少なくとも一部のプロファイルデータを自動的に検出し、(例えば、通信に自動的に設定され、独特な装置識別子、MACアドレス、ブラウザの種類、ブラウザのバージョン、オペレーティングシステムの種類、オペレーティングシステムのバージョン、装置の種類、装置の言語などを特定するためのヘッダ情報を介して)ウェブサーバに送信する。場合によって、通信は、ユーザ入力(例えば、ウェブフォームに入力されたテキスト、リンク選択およびページナビゲーション)を表すデータを含み、プロファイルデータとして記録されてもよい。
経路を初期化することは、通信決定木内の第1のノードを特定することを含むことができる。第1のノードは、第1の分岐ノードを含むことができる。第1の決定ノードは、複数のコンテンツオブジェクトのうち、メール通信でユーザ装置に送信されたコンテンツオブジェクトを特定する(例えば、ウェブサイトに関連する様々なグループのアイテムおよび/または情報を特定する)決定に対応してもよい。第1の決定ノードは、2日以内にメールを送信するタイミングに関する決定に対応してもよい。決定は、特定種類のユーザに対して、目標結果をもたらす可能性が最も高い種類のオブジェクトおよび/または通信時間を示す第1の学習データに基づいて行うことができる。例えば、目標結果は、ユーザがメール内のリンクをクリックすることによってウェブサイトのページを呼び出すこと、および/またはユーザが交換(例えば、ウェブサイトに示されたアイテムを購入すること)に対応する方法でウェブサイトと対話することを含むことができる。第1の学習データは、3つのコンテンツオブジェクトのうち、目標結果をより効果的にもたらすコンテンツオブジェクトに関する予測ファクタが、ユーザが(ラップトップまたはコンピュータに比べて)モバイル装置を最も頻繁に使用するか否か、ユーザの年齢、ユーザがクリックしたリンク上のコンテンツオブジェクトの種類に関する以前のメール操作指示を含むことを示すことができる。
メールが送信されると、経路は、次のイベントが検出されるまで、送信されたコンテンツを表すノードに延長することができる。次のイベントは、例えば、ウェブサイト内のリンクのアクティブ化を含み、ユーザがウェブサイト内の現在のセッションに参加していることを示すことができる。このようなイベントを検出すると、経路は、第2の決定ノードに延長し、リクエストされたウェブサイト上のウェブページを構成すること(例えば、動的コンテンツオブジェクトを含むか否かおよび/または様々なコンテンツオブジェクトをどのように配置するか)を決定することができる。この例では、第2の学習データは、特定のユーザに対して、同じ目標結果をもたらす可能性が最も高い構成を示している。例えば、第2の学習データは、4つの構成のうち、目標結果をより効果的にもたらす構成に関する予測ファクタが、ユーザが(ラップトップまたはコンピュータに比べて)モバイル装置を最も頻繁に使用するか否か、ブラウザの種類、ユーザ装置の現在位置、およびユーザ場所の現在時刻を含むことを示すことができる。(第2の決定ノードで行われた決定に従って構成された)ウェブページが送信されると、経路は、送信されたウェブページの構成を表すノードに延長することができる。様々なユーザ始動イベント、システム始動イベント、または外部イベント(例えば、前のイベントから所定時間の経過)を検出すると、経路は、延長し続けることができる。
この例では、目標結果は、複数の決定に亘って同様である。しかしながら、実行する動作の静的なワークフローを特定するの代わりにまたは実行する動作のユーザ定義シーケンスを決定するの代わりに、本明細書に開示された技術は、現在のプロファイルデータ、現在の学習データおよび現在のイベントの検出に基づいて、個々の動作に関する決定を行う。機械学習は、実行される断片的な動作を特定するように、特定の経路のライフサイクルの全体に亘って反復的に実行される。この方法は、(例えば、学習データおよび/またはプロファイルデータの拡張および/または進化を中間プロセスの決定に利用できるため)データを効率的に利用することによって、目標の達成を促進することができる。さらに、この方法は、(例えば、クライアントによって始動された)機械学習技術の定義および/または制約を変更することによって、(例えば、変更が既に開始されている経路に影響を与える可能性があるため)迅速な効果を得ることができる。例えば、クライアントは、目標を交換から、少なくともセッション期間においてユーザ装置をウェブサイトに保持するように変更することができる。様々な分岐ノードに関連する機械学習モデルのパラメータを変更し、すぐに有効にすることによって、その後ノードに到達する以前に開始された経路に影響を与えることができる。
通信(および/または通信決定木を通る方向)の決定は、匿名化データまたは部分匿名化データに基づくことができる。匿名化データまたは部分匿名化データのいずれかまたは両方は、1つ以上のプロバイダーまたはクライアントによって提供された匿名化データ、部分匿名化データまたは非匿名化データから構築することができる。例えば、リモートユーザデータ管理システムは、1つ以上のデータプロバイダーから、部分匿名化データまたは非匿名化データを受信し、データプライバシ規則に従って個々のレコードのフィールドを隠すまたは削除することができ、および/またはデータプライバシ規則に従って、ユーザ部分母集団(sub-population)のフィールド値を集計することができる。本明細書に記載のように、匿名化データまたは部分匿名化データは、一定の確率を超えて個々のデータ値を特定の人またはユーザに関連付けできないように、PIIを取り除いたデータおよび/または集約したデータである。したがって、匿名化データまたは部分匿名化データは、特定の人間を特定のユーザとして特定することまたは少なくとも一定の確率で特定の人間を特定のユーザとして特定することを防ぐために、十分なデータ値を有しないまたは隠している。例えば、匿名化データまたは部分匿名化データは、名前、メールアドレス、IPアドレス、物理アドレスおよび/または電話番号をプロファイルデータに入れない場合がある。匿名化データまたは部分匿名化データは、特定の人口統計データ、例えば、年齢、都市、職業を含んでもよく、除外してもよい。場合によって、プライバシ規則、条例および法律に従って、匿名化データまたは部分匿名化データを収取することができ、一部のデータを処理することもできる。匿名化データまたは部分匿名化データは、個人を特定できる情報(PII)の流出を制限する様々なプライバシポリシーおよび法律に従って収集できるIPアドレス範囲、郵便番号、日付、以前のオンライン照会のカテゴリ、人種、性別、年齢、購入履歴および/または閲覧履歴などに基づいて、装置から収集された情報を含むことができる。
場合によって、匿名化データまたは部分匿名化データを用いて、個々の機械学習構成に関連する学習データ(例えば、1つ以上のパラメータ)を生成および/または更新することができる。このような訓練は、例えば、連絡先情報などのデータフィールドを利用または使用する必要がないため、データレコードからこれらのフィールドを除去することができる。別の例として、特定フィールドの値に基づいて1つ以上の部分母集団を生成し、その後、部分母集団の識別子を用いて当該フィールドの特定値を置換することができる。
場合によって、決定されている特定のユーザに対応するプロファイルデータは、匿名化データまたは部分匿名化データを含む。例えば、システムは、経路が分岐ノードに到達したことを検出することができ、(例えば、経路に関連する装置識別子または他の識別子を用いて)ユーザデータ管理システムからデータをリクエストすることができる。システムは、例えば、1つ以上の特定の非匿名化フィールド値、一般化された(例えば、カテゴリに割り当てられた)1つ以上のフィールド値、および/または削除されたフィールド値を含むプロファイルデータを返すことができる。非匿名化フィールド値が、(例えば、ウェブページに組み込まれたデータ収集機能を用いて収集することによっておよび/またはクライアントから送信することによって)決定されているクライアントによって提供されたときに、それ以外の場合(例えば、データ共有契約を介して)決定されているクライアントにアクセスできるときに、非匿名フィールドデータをプロファイルデータに含むことができる。また、システムは、フィールド値の間の関係を示す(例えば、経時的に学習および/または進化することができる)母集団データを返すことができる。この母集団データを用いて、欠損フィールドの値またはカテゴリを推定することができる。
図1は、対話システム100のブロック図を示す。機械学習データプラットフォーム105は、1つ以上のクラウドサーバを含み、1つ以上のクライアントシステム105からユーザデータを受信するように構成することができる。ユーザデータは、(匿名化ユーザデータストア115に保存された)匿名化ユーザデータまたは部分匿名化ユーザデータおよび/または(クライアント利用できる安全なユーザデータストア120に保存された)クライアント利用できる安全なユーザデータを含むことができる。クライアント利用できる安全なユーザデータは、匿名化ユーザデータよりも低いレベルで匿名化されてもよく、または匿名化されなくてもよい。クライアント利用できる安全なユーザデータは、受信されると、クライアントの識別子に関連して安全に格納される。従って、他のクライアントは、このデータを呼び出すことができない。このデータは、マルチテナント型クラウドストレージシステムに保存することができる。よって、複数のクライアントは、中心場所にログインすることによって、1つのサーバまたは複数のサーバを呼び出すことができる。特定のデータへのアクセスは、クラウドストレージシステムに認証されたクライアントに従って制御される。匿名化ユーザデータまたは部分匿名化ユーザデータは、(例えば、クライアントが提供したデータおよび/またはクライアントに関連付けられたデータ共有契約に応じて)様々なクライアントに対して個別に構成されてもよく、個別に構成されなくてもよい。したがって、機械学習データプラットフォーム105のプロファイルデータポピュレータ122は、特定のクライアントのために、1人以上の個々のユーザに対応するプロファイルデータを生成することができ、個々のクライアントのために、プロファイルデータに含まれるフィールド値をカスタマイズすることができる。
場合によって、プロファイルデータポピュレータ122は、部分匿名化ユーザデータを用いて、クライアント利用できるユーザデータを補足することによって、プロファイルデータセットを強化することができる。これによって、特定のユーザのために、(クライアント固有学習データストア130に保存された)クライアント固有学習データを定義する(または集計する)ことができる。例えば、クライアントが利用できるデータのプロファイルデータを、匿名化ユーザデータまたは部分匿名化ユーザデータの1つ以上のデータセットにマッピングすることができる。これによって、機械学習分析により豊富なデータセットを使用することができる。重複するデータ(例えば、匿名化ユーザデータまたは部分匿名化ユーザデータに含まれるIPアドレス、購入時間、クライアントによって指定された擬似ランダムユーザ識別子)を用いて、マッピングを行うことができる。
機械学習モデルコンフィギュレータ123は、例えば、特定の目標結果、利用可能な訓練データ、1つ以上のクライアント指定制約、および/または通信決定木によっておよび/またはクライアントによって示された可能な動作に基づいて、所定の機械学習モデルを構成することができる。機械学習モデルを構成することは、モデルの特定のインスタンス(例えば、特定の分岐ノード、クライアントおよび/または期間に関連付けられたインスタンス)の1つ以上のパラメータを定義することを含む。
各パラメータは、(学習パラメータデータストア125に保存された)ユーザ属性間の関係および/または相関を示すことができる。パラメータは、第1のユーザ属性が第2のユーザ属性を推定する方法および/または度合いを示す重みまたは目標結果が発生したか否かおよび/または度合いに関する指示に対応する重みを含むことができる。重みは、離散値範囲または連続値範囲に沿って定義されてもよく、および/またはバイナリであってもよい。
一例として、パラメータは、属性セットのうち、特定種類の交換イベントの将来発生を推測できる属性を示すことができる。例えば、先月に「旅行」タグに関連するウェブページに3回以上アクセスすると、旅行鞄を購入すると推測されてもよい。別の例として、所定の日付に映画評論ウェブページを訪れると、後で映画のオンラインレンタルを購入すると推測されてもよい。間接的な関連性および傾向、例えば、ユーザの年齢と毎日オンラインの平均時間との間の逆相関を特定することを学習することができる。各パラメータは、関係の強度および/または信頼度に関連付けられてもよく、必要に応じて、収集されたデータポイントと下される結論との間の直接関連に関連付けられてもよい。各直接関連は、関連付けの開始時のデータが正確である確率および関連付け自体が正確である他の確率を含む。
必ずしも必要ではないが、クライアント利用できるプロファイルデータを用いて、構成を行うことによって、クライアント固有パラメータを生成することができる。クライアント固有パラメータは、例えば、匿名化プロファイルデータまたは部分匿名化プロファイルデータを用いて生成されたパラメータを修正したものである。
様々な機械学習技術を用いて、学習データを生成することができる。例えば、機械学習技術は、決定木学習、相関ルール学習、人工ニューラルネットワーク、深層学習、帰納論理プログラミング、サポートベクトルマシン、クラスタリング、ベイジアンネットワーク、強化学習、表現学習、類似度およびメトリック学習、スパース辞書学習、遺伝アルゴリズム、またはルールに基づく機械学習を使用することができる。場合によって、機械学習技術は、アンサンブル技術(ensemble technique)を含む。アンサンブル技術は、アンサンブル間の重みを学習して、様々な基礎技術(例えば、前述した2つ以上の技術)から生成された結果に適用する。アンサンブル間の重みは、例えば、基礎技術に関連する精度、速度および/またはリソース使用量に基づいて特定されてもよい。
(1つ以上のパラメータを特定するための)機械学習技術の訓練は、観察されている入力セット(例えば、マーケティングメールのコンテンツ、プロモーションのコンテンツおよび/またはウェブサイトの構成)と、対応する出力セット(例えば、対応するマーケティングメール、対応するプロモーションおよび/または対応するウェブサイト構成の結果、例えば、特定の交換イベントの有無)との間の関連を特定することを含むことができる。これらの観察結果を用いて、モデル化されている関係および/または傾向を特定することによって、事実情報に基づいて得られない事実情報候補(例えば、受信される次の推定入力または特定入力に基づく推定出力)を推定するという目的を達成することができる。各推定は、信頼度または確率を含み、一連の推定は、信頼度または確率の組み合せを含む。
したがって、機械学習モデルコンフィギュレータ123は、例えば、目標結果、クライアント固有プロファイルデータおよび/または機械学習技術に基づいて、特定のクライアントシステム110のモデルパラメータを特定することができる。必要に応じて、クライアント固有学習データは、基礎となるクライアント利用できるプロファイルデータを提供したクライアントシステムと共有されてもよい。クライアントシステム110は、1つ以上のウェブサイトおよび1つ以上のアプリをホストし、および/またはメールを送信するためのシステムを含むことができる。例えば、クライアントシステム110は、1つ以上のドメイン上のページに対するHTTPリクエストを受信および応答するためのウェブサーバ135と、メールをユーザのメールアドレスに配信するためのメールサーバ140とを含むことができる。クライアントシステム110は、追加的にまたは代替的に、ユーザ装置上で動作するアプリからリクエストを受信し、受信したリクエストに応答するためのアプリサーバ145を含むことができる。したがって、クライアントシステム110上の1つ以上のサーバは、1つ以上のユーザ装置150-1、150-2からのリクエストを検出し、および/または1つ以上のユーザ装置150-1、150-2にコンテンツを送信するように構成することができる。ユーザ装置150-1、150-2は、例えば、コンピュータ、スマートフォン、タブレットなどを含んでもよい。様々な状況において、単一のユーザ装置を単一のユーザまたは複数のユーザに関連付けることができる。さらに、単一のユーザを単一のユーザ装置または複数のユーザ装置に関連付けることができる。
ウェブサーバ135および/またはアプリサーバ145は、コンテンツライブラリ153からコンテンツ(例えば、ウェブページまたはアプリページ)を要求するためのリクエストを示す表示を、ユーザデータとしてクライアント管理ユーザデータストア150に保存することができる。保存されたデータは、リクエストに含まれた情報(例えば、装置識別子、IPアドレス、リクエストされたウェブページ、ユーザ入力など)と共に、自動的に検出された情報(例えば、リクエスト時間)を含んでもよい。データの保存は、データを含むようにプロファイルを更新することを含むことができる。さらに、ウェブサーバ135、メールサーバ140および/またはアプリサーバ145は、(例えば、送信時間、ユーザ装置識別子、コンテンツ-オブジェクト識別子、および/または通信種類を特定することによって)特定のユーザ装置に配信されたコンテンツを示すデータを、クライアント管理ユーザデータストア150に格納することができる。
クライアントシステム110は、少なくとも一部ユーザデータをクライアント管理ユーザデータストア150から機械学習データプラットフォーム105に送信することができ、機械学習データプラットフォーム105は、そのデータをクライアント利用できる安全なユーザデータストア120に保存することができる。このようなデータは、クライアント固有学習データをリクエストする間に、一定の間隔で定期的に送信されてもよい。場合によって、クライアントシステム110は、ユーザデータを機械学習データプラットフォームに送信する前に、(例えば、少なくとも一部のフィールドの値を省くまたは隠すことによって)ユーザデータの一部または全てを少なくとも部分的に匿名化する。したがって、これらのデータは、匿名化ユーザデータまたは部分匿名化ユーザデータとしてプラットフォームに保存される。場合によって、データは、少なくとも部分的に匿名化されず、クライアント利用できる安全なユーザデータストア120に保存されるまたは機械学習データプラットフォーム105で少なくとも部分的に匿名化される。いくつかのデータセットに対して、匿名化データまたは部分匿名化データは、第三者から受信され、非匿名化データにもアクセスできないように、PIIを取り除いた後クライアントシステム110に保存される。いくつかの実施形態において、匿名化データまたは部分匿名化データは、ネイティブに匿名化または部分匿名化される。これらの実施形態において、ウェブサイトは、ウェブサイト上で埋め込まれたスクリプトを実行する。これらのスクリプトは、実行されると、ユーザによるウェブサイトのアクセスに関する匿名化データまたは部分匿名化データを収集する。スクリプトは、データクラウドに保存され、ユーザの個人情報を知らなくても収集することができる情報のみを収集する。これによって、一定の確率を超えてユーザIDを推測することができない。
クライアントシステム110は、機械学習データを機械学習データストア155に格納することができる。場合によって、機械学習データは、所定の経路の分岐ノードで行われた1つ以上の決定を示す表示、通信決定木および/または1つ以上のパラメータを用いて特定された1つ以上のコンテンツ仕様を含む。機械学習データは、機械学習プラットフォーム105からリクエストおよび受信することができ、および/または機械学習プラットフォーム105からのデータから導出することができる。例えば、場合によって、機械学習モデルコンフィギュレータ123は、クライアントのために生成されたおよび/またはクライアントに適用可能なパラメータをクライアントシステム110に送信することができる。別の例として、機械学習モデルインプリメンタ157は、特定のパラメータを用いて構成された機械学習モデルを特定のプロファイルデータに適用することによって、1つ以上の特定の通信仕様を特定し、プロファイルデータに対応するクライアント(および/または経路の次のノード)に対して行われる通信動作を定義することができる。機械学習モデルインプリメンタ157は、特定された通信動作および/または次のノードを示す表示を、経路、ユーザおよび/またはユーザ装置の識別子に関連して送信することができる。
次のノードおよび/または通信仕様を特定することは、特定のプロファイルデータおよび1つ以上の学習パラメータを用いて、(現在の分岐ノードに関連付けられた)機械学習モデルを実行することを含むことができる。結果は、例えば、様々なコンテンツ表示特性のうち、(例えば、閾値よりも)高い確率または最も高い確率で特定の目標結果(例えば、所望の交換)をもたらす特性を示すことができる。場合によって、分析は、最も高い確率で特定の交換結果をもたらす1つ以上のコンテンツ表示特性を特定することを含む。場合によって、分析は、特定の交換結果をもたらす確率と、様々なコンテンツ表示特性に関連する所定のコストメトリックとのバランスを保つ。
場合によって、(例えば、機械学習データプラットフォーム105またはクライアントシステム110において)パラメータを用いて機械学習モデルを実行することは、例えば、プロファイルデータおよびパラメータを用いて回帰分析を実行することによって、1つ以上の閾値と比較できる数値を生成することを含むことができる。1つ以上の閾値は、2つ以上の範囲(例えば、開放範囲または閉鎖範囲)を定義でき、各範囲は、特定の次のノードおよび/または通信動作に対応する。場合によって、パラメータを用いて機械学習モデルを実行することは、(例えば、差の計算またはコスト関数を使用したコストの計算を介して)少なくとも一部のプロファイルデータおよび少なくとも一部のパラメータを処理することによって、参照データ変数(例えば、単一値、ベクトル、行列、時系列)のセットの各変数と比較できる結果を生成することを含むことができる。各々の変数は、特定の次のノードおよび/または通信動作に関連付けられ、パラメータに少なくとも部分的に基づいて定義される。比較によって最も近い対応を示した参照データ変数に関連するノードまたは通信は、選択される。
動的コンテンツジェネレータ147は、選択された通信仕様に従って、コンテンツオブジェクトの提示をトリガすることができる。適切な命令を生成するために、動的コンテンツジェネレータ147は、まず、オブジェクトを送信するために使用される通信チャネル、送信されるオブジェクトの種類、送信されるコンテンツのバージョン、および/またはオブジェクトを送信する時間を特定する。特定は、例えば、機械学習モデルの実行結果、(例えば、1つ以上の選択を制限する可能性がある)機械学習モデルの構成、および/またはまたは1つ以上のパラメータに基づいて行われてもよい。
動的コンテンツジェネレータ147は、例えば、送信される通信の種類(例えば、メール、SMSメッセージ、ブラウザのポップアップウィンドウ、またはプッシュアプリアラート)を特定することができ、通信を送信するように、ウェブサーバ135、メールサーバ140および/またはアプリサーバ145のいずれに通知することができる。特定は、(例えば、機械学習の結果、パラメータ、および/または機械学習モデルの構成に基づいて)明示的に行うことができ、または(例えば、選択したコンテンツオブジェクトが特定種類を有することによって)暗黙的に行うことができる。
コンテンツオブジェクトを特定することは、既存のコンテンツオブジェクトからコンテンツオブジェクトを選択することを含んでもよく、または新しいコンテンツオブジェクトを生成することを含んでもよい。コンテンツオブジェクトは、例えば、ウェブページ、ウェブページ内のオブジェクト、画像、テキストメッセージ、メール、メールおよび/またはテキスト内のオブジェクトを含むことができる。場合によって、プロファイルデータを用いて構成された機械学習モデルを実行することによって得られた結果は、特定のコンテンツオブジェクトを特定する。場合によって、結果は、(例えば、特定のメタデータカテゴリを有する)コンテンツの特性を特定し、および/またはコンテンツを選択するための特定の技術を特定する。例えば、結果は、「ツール」を特徴としてコンテンツオブジェクトに加えること、および/または通信が4つの(未特定の)異なるカテゴリに対応する4つのコンテンツオブジェクトを含むことを示すことができる。この場合、動的コンテンツジェネレータ147は、例えば、機械学習の実行結果、パラメータ、および/または所定の設定によって示された選択技術を用いて、複数の可能なコンテンツオブジェクトからコンテンツオブジェクトを選択することができる。例えば、選択技術は、擬似ランダム選択技術、最近追加されたオブジェクトを特定する技術、複数の可能なコンテンツオブジェクトから(例えば、機械学習の結果に示された1つ以上の属性を有する)最も可能な交換オブジェクトを特定する技術を含むことができる。
場合によって、通信を送信する時間は、(例えば、機械学習結果、パラメータ、および/または機械学習モデルの構成に基づいて)明示的に特定される。例えば、現在時間で開始し、クライアントが指定した最大時間で終了する時間範囲を定義することができる。モデルは、時間範囲に規則的に分けられた複数の可能な送信時間を評価することができる。場合によって、各々の可能な送信時間は、コンテンツカテゴリまたは通信チャネルなどの他の可能な仕様と組み合わせて複数回考慮される。機械学習モデルの結果は、目標結果をもたらす確率が最も高い送信時間を特定することができる。特に、仕様の組み合わせを考慮する場合、送信時間は、最も高い確率に関連する時間の組み合わせを含むことができる。場合によって、機械学習の結果に関連付けられたユーザ装置から(例えば、所定のウェブサイトまたはアプリに対応する)コンテンツを要求する次のリクエストを受信することによって、または事前に定義された送信スケジュールに従って、通信を即座に送信する。
場合によって、(タスク中におよび/または機械学習モデル、機械学習構成、パラメータ、クライアント規則などを用いて)通信を送信するときにまたは通信を送信する前に、通信に対応する各仕様を特定する。したがって、通信および/またはその送信の全てまたは一部のクライアント制御構成は、通信を送信する前に実行することができる。場合によって、通信を送信した後に、(タスク中におよび/または機械学習モデル、機械学習構成、パラメータ、クライアント規則などを用いて)通信に対応する少なくとも1つの仕様を特定する。したがって、通信および/またはその送信の全てまたは一部のクライアント制御構成は、通信を送信した後に実行することができる。したがって、この送信後の設定は、通信の送信前には利用できなかった学習データおよび/またはプロファイルデータに基づくことができる。例えば、ユーザに対応する追加のプロファイルデータは、メールを送信した第1の時間と、メールを開いた第2の時間との間に利用可能になる。送信されたメールは、メールを開くときに実行するスクリプトを含むことができる。スクリプトは、レイアウトおよび/またはアプリケーション種類などの装置プロパティを特定するためのリクエストを発行させることができる。スクリプトは、これらのプロパティを、コンテンツを表示する特定のコンテンツの選択を指示するためのリクエストと共にサーバに渡すことができる。したがって、サーバは、特定の表示情報、現在のプロファイルデータおよび/または現在のパラメータに基づいて、コンテンツを選択しおよび/または1つ以上の表示構成を特定することができる。
追加的または代替的な例として、通信は、(例えば、ウェブブラウザで)開かれるとコンテンツを表示するページへの1つ以上の参照またはリンクを含むことができる。リンク先のページは、通信を生成する前にまたは通信を生成するときに、機械学習エンジンによって決定されたコンテンツを含むことができる。ページは、ページの表示を要求するためのクエストを検出したとき(例えば、スクリプトがリンクの実行を検出したとき)および/または(例えば、ページの読み込みの一部としてスクリプトの実行によって示すように)ページを生成または表示するときに選択されるまたは生成されるコンテンツを含むように構成することができる。場合によって、メール内のスクリプトは、メールが表示されているときまたはメールの表示がリクエストされるときのコンテンツ構成を特定する。場合によって、リンクされたページ上で実行するスクリプトは、コンテンツ構成を特定する。
一例として、クライアントシステムは、配達食品のオンライン購入を提供することができる。クライアントシステムは、特定のユーザが午後2時に特定のレストランのメニューを見たことを検出することができる。クライアントシステムは、ユーザのプロファイルデータからユーザ属性をクライアント管理ユーザデータとして取得することができる。クライアント固有学習データは、割引コードを含むメールが夕方にユーザに送信された場合、(例えば、他の種類の通信および他の時間に関連する低い可能性に比べて)ユーザがレストランから購入を行う可能性が76%であることを示すことができる。76%の可能性が割引を送信するための閾値65%を超えているという判断に応答して、メールサーバ140は、メールをユーザ装置に送信する。このメールは、実行されると、レストランおよび割引を表示させるスクリプトを含む。ユーザは、翌日の午前10時にメールを開く。コードが実行されると、クライアントシステムからレストランおよび割引をリクエストする。したがって、クライアントシステムは、最新の公開学習相関データを受信した。クライアントシステムは、学習データに基づいて構築された決定木に、時間、(現在勤務中の場合)ユーザの場所、および過去の購入情報を入力する。クライアントシステムは、(例えば、交換の可能性閾値を維持するために)割引が10%であり、(例えば、交換の可能性を最大化するために)レストランがユーザの職場に近い惣菜屋であることを決定する。一方、ユーザが前夜にメールを開いた場合、異なるユーザ属性および学習データにより、(例えば、可能性を最大化するために)ユーザの家の近くにあるインド料理店から、(例えば、交換の可能性閾値を維持するための)15%の割引が得られる。メールは、惣菜屋から注文するためのリンクを含む。ユーザがリンクをクリックすると、ウェブサーバは、表示するコンテンツ、具体的には推奨する食品を決定する。最新の公開学習相関データに基づいて、以前の選択が最近人気になったため(気候が暖かくなったため、人気になったと推定された)、スープおよび肉料理よりもサラダおよびサンドイッチを推奨すべきである。したがって、この例は、最新の学習データおよびユーザ属性に基づいて、特定のユーザのためにコンテンツを動的にカスタマイズすることを示している。
例えば、機械学習データプラットフォーム105は、(例えば、ワークフローの動作に応答して)ユーザ装置から受信した通信に基づいて、最新のクライアントデータを生成することができる。例えば、最新のクライアントデータは、受信した通信のヘッダまたはペイロードデータに基づいて生成された1つ以上の新しいフィールド、特定のイベントを検出したか否か(および検出時間)を示す表示、および/またはプロファイルを割り当てたワークフローの現在段階または最終段階を含むことができる。機械学習データプラットフォーム105は、最新のクライアントデータを(例えば、対応するプロファイル識別子と共に)クライアントシステム110に提供することができ、クライアントシステム110は、最新のデータをクライアント固有学習データストア165に保存することができる。必ずしも必要ではないが、クライアントシステム110は、最新のデータを基礎プロファイルと別々に保存する。
場合によって、機械学習データプラットフォームの一部または全部をクライアントシステム110に組み込むことができる。場合によって、クライアントシステム110は、通信決定木の反復中に機械学習データプラットフォームと通信する。例えば、クライアントシステム110(例えば、クライアントシステム110のウェブサーバ135またはアプリサーバ145)は、ユーザ装置から受信したウェブコンテンツまたはアプリコンテンツを要求するためのリクエストから、(例えば、URLに含まれた)フラグを検出することができる。このフラグは、機械学習ベースのワークフローとの関連性を示す。次に、クライアントシステム110は、リクエストを機械学習モデルインプリメンタ157に通知することによって、経路を適切に更新することができる。
機械学習データプラットフォーム、クライアントシステム110、およびユーザ装置150-1、150-2は、例えばインターネット、ローカルエリアネットワークおよびワイドエリアネットワークを含み得るネットワーク160を介して、通信することができる。図示および説明された実施形態の様々な代替案も考えられる。例えば、クライアントシステム110は、一部または全部の機械学習を実行することができる。クライアントシステム110は、匿名化ユーザデータまたは部分匿名化ユーザデータを定期的に受信し、機械学習技術を用いて処理することができる。
通信決定木を使用および構成するための他の技術は、2018年6月13日に出願された(「キャンバス上の連結された位置決め可能な要素に基づいて通信決定木を構成するための方法およびシステム」というタイトルを有する)米国出願第16/007762号および2018年6月13日に出願された(「データ豊富化のために機械学習に基づいたデータの難読化解除処理」というタイトルを有する)米国出願第16/007787号に詳細に記載されている。これらの出願の各々は、あらゆる目的のためにその全体が参照により本明細書に組み込まれる。
図2および3は、表示プロセスを検出するときにまたは表示するときに部分的に構成される通信用のテンプレート202および302を構成するためのインターフェイス200および300を示す。構成は、モデルの現在の学習構成および現在のプロファイルデータを用いて、構成された機械学習モデルを実行することを含む。図2に示されたテンプレート202は、メール通信を生成するために使用されたテンプレートを含み、図3に示されたテンプレート302は、アプリ通知通信を生成するために使用されたテンプレートを含む。
テンプレート202は、静的テキスト(例えば、テキスト205)および対話特徴(例えば、ボタン210)を含む。テンプレート202は、テキスト205の上方に3つのアイテムを線状に配列する特定のレイアウトをさらに表す。また、テンプレート202は、メールの表示を要求するときにまたはメールを表示しているときに特定される動的コンポーネント(例えば、動的テキスト215および動的画像220)を含む。したがって、メール通信を送信するときに、静的コンポーネントは、(メールを表示するリクエストを検出するときに)現在のプロファイルデータの少なくとも一部をローカルに特定し、現在のプロファイルデータの少なくとも一部をリクエストし、動的コンポーネントの特定をリクエストし、(例えば、現在のプロファイルデータ、現在の匿名化データまたは部分匿名化データおよび/または現在の学習パラメータを用いて特定された)動的コンポーネントを受信または取得し、および/またはテンプレートと動的コンポーネントに基づいて完全なメールを生成するするように構成されたコードと共に送信されてもよい。その後、生成されたメールは、表示される。
テンプレート302は、静的レイアウトおよび複数の動的テキストコンポーネント(例えば、動的タイトル310)を含む。テンプレート302は、各動的テキストコンポーネントを動的に特定することを容易にするためのスクリプトと共に送信されるように構成されてもよい。(例えば、アプリを開くこと、通知アプリ要素をクリックすることに応じて)通知を表示するためのリクエストを検出すると、スクリプトは、例えば、現在のプロファイルデータの少なくとも一部をローカルに特定し、現在のプロファイルデータの少なくとも一部をリクエストし、動的テキストコンポーネントの特定をリクエストし、(例えば、現在のプロファイルデータ、現在の匿名化データまたは部分匿名化データおよび/または現在の学習パラメータを用いて特定された)動的テキストコンポーネントを受信または取得し、および/またはテンプレートおよび動的テキストコンポーネントに基づいて完全な通知を生成することができる。その後、生成されたメールを表示することができる。インターフェイス300は、静的レイアウトおよび特定の動的テキストを含む動的に生成された通知315の例を示す。
図4は、通信決定木400を示す。通信決定木400は、各経路が開始する出発ノード405を含む。この例では、ユーザが2つの特定の動作を完了したこと(例えば、2つのウェブサイトセッションを初期化したこと、ウェブサイトから2つのアイテムを購入したこと、ウェブサイト上の少なくとも2つのウェブページをナビゲートしたこと)を検出すると、特定の経路を初期化することができる。
通信決定木400は、3つの分岐ノード410、415および420を含む。各々の分岐ノードは、3つの異なる動作を表す3つのノードに連結するように分岐する。経路は、出発ノード405から第1の分岐ノード410に自動的に且つ即座に延長することができる。これによって、第1の決定をトリガする。具体的には、第1の決定は、ウェブサイト特徴のアラートを送信するために使用される通信チャネルを特定することを含む。アラートは、例えば、自動的に表示され、ウェブサイトに関連する製品または割引が(通常)利用可能であることを示す静的ヘッダを含むことができる。アラートは、通知を開くことを要求するためのリクエストを検出すると、第2の分岐ノード415で特定された(例えば、1つ以上の製品および/または割引を具体的に指定するための)動的コンテンツにさらに関連付けられてもよい。
第1の分岐ノード410は、メール通信チャネルを表す第1の動作ノード425a、SMSメッセージ通信チャネルを表す第2の動作ノード425b、およびアプリベースの通信チャネル(この場合、通知は、ユーザ装置にインストールされたアプリにプッシュされるまたは当該アプリによってプッシュされる)を表す第3の動作ノード425cに連結される。
第1の決定は、1つ以上の第1のパラメータに基づいて構成された機械学習モデルを用いて、行うことができる。1つ以上の第1のパラメータは、匿名化および/または部分匿名化ユーザデータおよび/またはクライアント固有データに基づいて、動的に決定されてもよい。例えば、匿名化および/または部分匿名化ユーザデータは、(1つ以上のユーザ属性に基づいて定義された)様々なユーザ部分母集団ごとに、3種類の通信チャネルの各々を介して送信されたアラートが、(例えば、アラート内の追跡リンクに基づいて決定された)対応するウェブサイトのセッションを開始し、セッション中にトランザクションを完了するように、ユーザをトリガする効果を示すことができる。匿名化ユーザデータおよび/または部分匿名化ユーザデータは、多くの異なるウェブサイトおよび/または1つ以上の特定の特徴を有するウェブサイトに対応し得る。クライアント固有データは、特定のクライアントが関心のある特定のウェブサイトを追跡したデータを含むことができ、様々なアラートおよび結果を送信した各ユーザを具体的に特定するデータを含むことができる。したがって、クライアント固有データは、匿名化および/または部分匿名化データに比べていくつかの点でより豊富であるが、クライアント固有データで表されたユーザの数は、匿名化データおよび/または部分匿名化データで表されたユーザの数よりも少ない場合がある。さらに、クライアント固有データは、関連する属性の組み合わせを有しない場合がある。例えば、特定のクライアントが以前にアプリベースのアラートを使用しなかった場合、そのようなアラートの可能な影響を推定する機械学習モデルの精度が低下する可能性がある。
(第1のパラメータを用いて構成された)機械学習モデルは、経路に関連するプロファイルデータを用いて、ユーザへの通信チャネルを決定することができる。プロファイルデータは、(例えば、経路に関連付けられたユーザ装置からの以前のHTMLリクエストに関連するメタデータ、クッキー、および/または入力を用いて)クライアントによって収集されたプロファイルデータを含むことができる。プロファイルデータは、例えば、複数のウェブホストおよびクライアントからプロファイルデータを収集および管理するためのリモートユーザプロファイルデータストアから、要求および受信した他のプロファイルデータをさらに含むことができる。
通信チャネルを特定すると、経路は、対応する動作ノード(425a、425bまたは425c)に延長する。次に、対応する通信チャネルを用いてアラートを送信する。アラートは、制限コンテンツを自動的に特定し、アラートを開くリクエストを検出すると、経路を第2分岐ノード410に延長するように構成することができる。次に、第2の分岐ノード410で決定を行い、アラートの本文に表示される特定のコンテンツを決定することができる。
したがって、第2の分岐ノード415は、ユーザがウェブサイト上で最後に閲覧した製品を特定するコンテンツを表す第1の通知コンテンツノード430a、(ユーザ全体が)先週にウェブサイト上で閲覧した4つの製品を特定するコンテンツを表す第2の通知コンテンツノード430b、および割引の指定を含むコンテンツを表す第3の通知コンテンツノード430cに連結される。第2の決定は、1つ以上の第2のパラメータに基づいて構成された機械学習モデルを用いて行うことができる。したがって、いくつかの(全てではない)例において、(例えば、全ておよび/または一部の目標結果に考慮される様々なユーザ属性に与えられた重みを示す)特定の構成が異なる場合があるが、様々な分岐ノードで決定を行うために使用された一般的な機械学習モデルは、同じである。
1つ以上の第2のパラメータは、匿名化ユーザデータおよび/または部分匿名化ユーザデータおよび/またはクライアント固有データに基づいて動的に決定することができる。しかしながら、匿名化ユーザデータおよび/または部分匿名化ユーザデータおよび/またはクライアント固有データの各々は、第1の決定を行ってから変更される可能性がある。このことは、第1のパラメータと第2のパラメータとの間に差をもたらす。さらに、第2の分岐ノード415で実行される可能な動作は、第1の分岐ノード410で実行される可能な動作とは異なる。したがって、第1の構成と第2の構成とは、異なる可能性がある。さらに、第1の分岐ノードと第2の分岐ノードとの間に処理されるプロファイルデータは、異なる可能性がある。例えば、クライアント関連アプリケーションは、第1の分岐ノードで実行される処理と第2の分岐ノードで実行される処理との間に、ユーザ装置にインストールされた可能性がある。したがって、アプリケーションベースの通知は、例えば、第2の分岐ノードで通知されるが、第1の分岐ノードでは通知されない。
コンテンツを特定すると、経路は、対応するコンテンツノード(430a、430bまたは430c)に延長する。対応するコンテンツは、ユーザ装置に送信され、ユーザ装置に表示される。
コンテンツは、ウェブサイト上のウェブページへの1つ以上の追跡リンクを含むことができる。追跡リンクがクリックされたことを検出すると、経路は、第3の分岐ノード420に延長することができる。その後、第3の分岐ノード415で決定を行い、リクエストされたウェブページ上で表示される特定のコンテンツを決定することができる。
したがって、第3の分岐ノード420は、異なるカテゴリに関連付けられた4つの代表的な製品を特定するためのコンテンツを表す第1のウェブページコンテンツノード435a、同じカテゴリに関連付けられた4つの代表的な製品を特定するためのコンテンツを表す第2のウェブページコンテンツノード435b、および以前のウェブページ対話データに基づいて所定のユーザが関心すると推定された単一の製品を特定するためのコンテンツを表す第3のウェブページコンテンツノード435cに連結される。
第3の決定は、1つ以上の第3のパラメータに基づいて構成された機械学習モデルを用いて行うことができる。第3のパラメータは、匿名化ユーザデータ、部分匿名化ユーザデータおよび/またはクライアント固有データに対する一時的な変更および/または可能な動作の違いによって、第1のパラメータおよび/または第2のパラメータと異なる場合がある。さらに、第3の分岐ノード420で処理されるプロファイルデータは、(例えば、ユーザ装置から通信された新しいメタデータを検出したことおよび/またはプロファイルに対応する新しい情報をリモートシステムから受信したことによって)第1の分岐ノード410および/または第2の分岐ノード415で処理されるプロファイルデータとは異なる場合がある。
コンテンツを特定すると、経路は、対応するコンテンツノード(435a、435bまたは435c)に延長する。対応するコンテンツは、ユーザ装置に送信され、ユーザ装置上で対応するウェブページに表示される。
図4に示された通信決定木400において、各通信段階で(通知を送信するときに、通知の本文を表示するときに、およびウェブページを表示するときに)単一の決定を行うが、代わりに、機械学習モデルを用いて複数の決定を行うことができる。例えば、分岐ノード410において、(例えば、ある期間からまたは複数の可能な時間から時間を指定することによって)使用する通信チャネルおよび通知を送信する時間を決定することができる。別の例として、通信チャネルを決定する前または後に、送信時間を個別に決定することができる。したがって、複数の出力を生成するように機械学習モデルを構成することができ、複数の機械学習モデルは、複数の構成を有することができる(各機械学習モデルは、異なるパラメータおよび/またはハイパーパラメータに対応し、個別に訓練され、および/または異なる種類の出力を生成する)。
図5は、ユーザ装置に対応し、通信決定木400を通って延長する経路500の一例を示す。この場合、第1の分岐ノード410で行われた機械学習の結果は、メール通信チャネルが通知を送信するために使用されることを示す。したがって、経路500は、第1の動作ノード425aに延長する。その後、メール通知をユーザ装置に送信する。ユーザがメールを閲覧しようとしていることを示すメールコンテンツのリクエストが検出されたため、経路500は、第2の分岐ノード415に延長し、割引の指定を含むコンテンツをメールに入れることを決定する。したがって、経路500は、第3の通知コンテンツノード430cまで達し、対応するコンテンツをユーザ装置に送信する。
次いで、メール内の目標リンクに対応するウェブページを要求するリクエストが検出されると、経路500は、第3の分岐ノード420まで達する。各々が異なるカテゴリに関連する4つの代表的な製品を特定するコンテンツをウェブページに入れることを示す機械学習結果が生成される。したがって、経路500は、第1のメールコンテンツノード435aまで達し、対応するウェブページコンテンツをユーザ装置に送信する。
図示の例において、第1の分岐ノード、第2の分岐ノードおよび第3の分岐ノードの決定は、初日の午後5時、2日目の午後12時、および2日目の午後6時に行われたものとして示される。対応する動作は、すぐに実行される。なお、動作の時間は、機械学習モデルの実行、クライアント規則、または他の手法に従って、決定されてもよい。
さらに、機械学習ベースの決定を特定することは、1つ以上の追加の制約および/またはファクタを実装することを含むことができる。代替的または追加的に、機械学習ベースの決定は、1つ以上の追加の制約および/またはファクタに基づいて修正されてもよい。例えば、(あらゆる目的のために参照によりその全体が本明細書に組み込まれる)2015年7月13日に出願された米国出願第14/798293号は、本明細書に開示された機械学習技術に組み合わせることができる通信特性を動的に特定する追加の技術をさらに詳しく記載している。
いくつかの実施形態において、通信交換を部分的に規定するための一連の機械学習実装を容易に構成するためのキャンバスを利用するシステムおよび方法が提供される。より具体的には、個々の切替視覚要素および対応する複数の通信視覚要素を配置および連結することができるキャンバスを利用する。次に、配置および連結された複数の視覚要素に基づいて、通信決定木を生成することができる。キャンバスは、各通信視覚要素に関連する1つ以上の通信仕様を特定するように構成することができる。各切替視覚要素は、切替視覚要素に連結された複数の通信視覚要素から特定の通信視覚要素を選択するために使用され、訓練を通じて学習された特定のパラメータに関連する機械学習技術を表すことができる。キャンバスは、(例えば、各々または全ての視覚要素のために)機械学習の選択を指示できる(例えば、ユーザが開始したイベントまたは通信を表す)目標結果を特定するように構成することができる。したがって、機械学習技術を用いて選択された特定の通信視覚要素は、(例えば、通信決定木のイベント視覚要素として表すことができる)目標結果をもたらす可能性が比較的高い通信仕様に対応する。
機械学習モデルは、各切替視覚要素に対して定義することができる。機械学習モデルは、他の通信決定木に関する以前の経路を用いて訓練することができる(しかしながら、訓練されているモデル内の通信視覚要素によって表された通信仕様と類似または同様の通信仕様に対応する通信視覚要素を有する他の通信決定木を利用する)。例えば、特定の通信仕様を有する通信をトリガするようにルーティングされた経路の場合、これらの経路によって表された後続のユーザ始動イベント(および、クライアントが特定した目標結果の発生を表す経路の一部)を決定することによって、モデルを訓練することができる。追加的にまたは代替的に、生成された通信決定木に関連する経路が出現するときに、これらの経路を用いてモデルを訓練することができる。
場合によって、モデルは、以前のイベント(例えば、同じまたは異なる通信決定木を通る経路および/またはイベントシーケンスを示す他の表示)を反映するデータセットを用いて訓練することができ、新しいデータを用いて拡張することができる。新しいデータは、(例えば、新しく受信したフォーム入力またはメタデータ検出によって)最近利用可能になったものであってもよく、静的または推定可能に変化する変数型に対応してもよい。例えば、時間Xでユーザの年齢を特定した場合、時間X-3年のユーザの年齢を計算することができるが、長期間に亘って関心または場所の変化を遡及的に推定する場合、信頼性が低くなる。訓練は、新しいデータに表された様々な属性が特定のイベントの発生を予測できるか否かを判断することができる。
インターフェイスは、様々な機械学習段階に適用されるバイアスを示す表示を受け入れるように構成することができる。例えば、複数の特定の通信視覚要素に連結されている特定の切替要素に関して、クライアントは、第1の視覚要素に視覚的に関連付けられた制御スライダと対話することによって、第1の視覚要素に向かってまたは第1の視覚要素から離れて経路を選択することを示すことができる。対話に基づいて、機械学習モデルに与えるメタデータを設定することによって、対応するバイアスに影響を与えることができる。場合によって、メタデータは、学習パラメータ(重みなど)を調整または制約するために使用される未学習のハイパーパラメータに対応する。場合によって、メタデータを用いて、機械学習モデルによって生成された結果に適用される後処理調整を定義することができる。場合によって、(例えば、全ておよび/または特定の通信段階に関連する)要素によって表された通信仕様に対応する訓練データが比較的低い場合、クライアントまたはシステムは、特定の通信視覚要素にバイアスを与える。
場合によって、クライアントは、インターフェイスを用いて、通信決定木の構造を定義することができ、および/または各決定ノードで実行される機械学習モデルの1つ以上のハイパーパラメータを定義することができる。なお、機械学習モデルは、1つ以上のハイパーパラメータと1つ以上のパラメータに基づいて定義することができる。1つ以上のハイパーパラメータの各々は、機械学習モデルの訓練によって学習されていない変数を含み、1つ以上のパラメータは、機械学習モデルの訓練によって学習された1つ以上の変数を含む。したがって、例えば、クライアントが、個々の機械学習モデルの実行中に観察される分岐ノードの数、各分岐ノードに連結された各分岐に対応する動作、他のノード間の連結、または1つ以上の制約を示すハイパーパラメータを指定できるように、インターフェイスを構成することができる。
図6は、通信決定木を定義するための例示的なインターフェイス600を示す。具体的には、インターフェイスは、様々なノードの表現を配置および連結できるキャンバス605を含む。インターフェイス600は、キャンバス605上に配置され、特定の連続的な動作を表すように選択される複数のアイコンを含むことができる。複数のアイコンは、通信決定木の開始を表す開始アイコン610を含むことができる。開始アイコン610は、満たされると、通信決定木を通る経路を開始することを示す条件の定義を受け取ることができる構成ロジックに関連付けられる。
複数のアイコンは、終了アイコン615をさらに含むことができる。終了アイコン615に到達すると所定の経路が完了することを示すように、通信決定木を定義することができる。次に、クライアントは、開始アイコン610と終了アイコン615との間に配置された動作定義アイコンおよび/またはイベント検出アイコンを連結することによって、経路観測中に実行される様々な操作および評価を表すことができる。
複数のアイコンに含まれた動作定義アイコンは、切替アイコン620であってもよい。切替アイコン620は、分岐を選択するまたは「切り替える」ための分岐ノードに対応する。構成された機械学習モデルおよびプロファイルデータを用いて、分岐を選択することができる。多くの場合、切替アイコン620は、複数の可能な経路に連結される。可能な経路は、別のアイコン(例えば、通信アイコン、イベント検出アイコン、他の切替アイコンおよび/または終了アイコン)と交差してもよい。
通信アイコンの例として、ユーザ装置にメールを送信することを示すメールアイコン625と、ユーザ装置にテキストまたはSMSメッセージを送信することを示すテキストメッセージアイコン630と、ユーザ装置にインストールされたアプリを介してアラートを表示することを示すアプリメッセージアイコン635とを含む。場合によって、可能な経路は、(通信アイコンを設けないことによって)動作を実行しないことを示す。図示のキャンバスにおいて、配置された切替アイコンは、3つの経路、すなわち、(例えば、異なるコンテンツおよび/または送信時間に関連する)2つのメール経路および1つの動作なし経路に連結されている。
複数のアイコンに含まれたイベント検出アイコンは、1つ以上の機械学習技術の目標結果に対応するイベントが検出されたことを表す目標検出アイコン637を含むことができる。目標検出アイコン637および/または別のイベント検出アイコンは、例えば、通知が開かれたこと、通知に含まれる目標リンクが実行されたこと、経路に関連付けられたユーザ装置がウェブサイトのセッションを開始したこと、ウェブサイト上で製品(例えば、任意の製品または特定の製品)を購入したこと、経路に対応する追加のプロファイル情報を提供したことを示すことができる。
インターフェイス600は、複数のアイコンを指向性的に連結するための連結ツール640を含むことができる。各連結は、示された方向で経路が連結されたノードに亘って延長できるように通信決定木を構成したことを示すことができる。しかしながら、各連結に条件を付けることができる。したがって、経路は、条件が満たされた場合に、連結に亘って延長する。例えば、条件が満たされた場合に、(連結の一方端に連結された)分岐ノードで決定を行い、(連結の他方端に連結された)通信アイコンで表された動作を実行するように、連結を形成することができる。別の例として、経路関連ユーザ装置に関連する特定種類の対話を検出すると、条件が満たされるように条件を構成してもよい。
各動作定義アイコンは、経路がアイコンに到達したときに実行する動作を詳細に定義するための1つ以上の動作パラメータに関連することができる。例えば、パラメータ定義インターフェイスは、アイコンをクリックすると、インターフェイス600の一部として表示されてもよい。また、パラメータ定義インターフェイスは、アイコンを右クリックおよび/またはダブルクリックすると、ポップアップウィンドウに開くように構成されてもよい。
場合によって、各動作定義アイコンおよび/またはイベント検出アイコンは、独立して実行できるウィジェットまたはコードに対応する。キャンバス605は、通信骨組(communication fabric)として動作することができる。したがって、1つのウィジェットによって生成された結果(例えば、切替アイコンに対応する機械学習モデルからの、特定の通信仕様に従って通信を送信することを示す表示)が、別のウィジェット(例えば、特定の通信仕様に対応する通信アイコンに対応するウィジェット)に利用されてもよい。したがって、キャンバス605は、ウィジェットの結果に応じて経路を延長することができ、通信交換の態様を調整することができる。
なお、図6には示されていないが、場合によって、キャンバス605上に複数の切替アイコン620を配置することができる。各切替アイコン620は、個別に構成および動作することができる機械学習モデルの個別のインスタンスに対応することができる。
図7は、切替アイコンの例示的なパラメータ定義インターフェイス700を示す。パラメータ定義インターフェイス700は、テキスト入力を受け入れるためのステージラベルフィールドを含む。テキスト入力は、インターフェイス内の関連アイコンの隣に表示され、通信決定木を説明する。テキスト入力を介して記述文を入力することもできる。記述文は、例えば、アイコンに関連するシングルクリックまたはダブルクリックの検出に応じて、インターフェイスに表示され、通信決定木を説明する。
パラメータ定義インターフェイス700は、選択または動作仕様を特定するように構成された切替アイコンおよび/または機械学習モデルを実行するように構成された切替アイコンに対して、目標結果を定義するためのフィールドを含むことができる。例えば、プルダウンメニューは、追跡されており、目標結果として指定できる複数のイベントを特定することができる。目標結果は、ユーザ装置上で開始された動作、システムが発行した通知などを含む。例えば、目標結果は、ユーザ装置に提供された通信内のリンクがクリックされたこと、ユーザ装置に提供された通信が開かれたこと、通信によってユーザ装置に関連して購入(交換)を行ったこと、チャットセッションが開始されたこと、フォームが完了したことの検出を含むことができる。
パラメータ定義インターフェイス700は、選択または動作仕様を特定するように構成された切替アイコンおよび/または機械学習モデルを実行するように構成された切替アイコンに対して、特定される可能な結果を示す1つ以上のフィールドをさらに含むことができる。例えば、インターフェイス700は、アイコンから延長する3つの経路または分岐に対応するフィールドを含む。この場合、各経路に対して、別の動作定義アイコンのステージラベル名を指定する。場合によって、経路情報は、スイッチが通信決定木を定義するためのインターフェイス内の1つ以上の他のアイコンに連結されていることを検出すると、パラメータ定義インターフェイス700において自動的に更新される。なお、パラメータ定義インターフェイス700は、追加の経路を追加するまたは削除するためのオプションを含むこともできる。
場合によって、1つのパスをデフォルトパスとして指定することができる。例えば、機械学習モデルが、別のパスが少なくとも目標結果をもたらす高い確率を有することを予測しない限りまたは別のパスを通過する場合(例えば、後続予測の信頼度の改善を示す)閾値を有する追加のデータを生成することを予測しない限り、経路は、通常デフォルトパスにルーティングされる。場合によって、デフォルトパスの選択は、目標結果の発生確率に関連する信頼度に依存する(例えば、別のパスが少なくとも目標結果をもたらす60%の確率を有し、その確率の信頼度が少なくとも50%であると予測されない限り、デフォルトパスとして選択されない)。
場合によって、切替アイコンは、パスおよび/または次の動作(または動作の欠如)並びに次のアイコンまで経路を延長する(例えば、次の動作を実行する)時間を選択するように構成することができる。時間は、複数の時間および/または開放型連続時間または閉鎖型連続時間から選択することができる。図示された例において、パラメータ定義インターフェイス700は、経路を次の動作定義アイコンに延長するための最大時間を含む。したがって、切替アイコンに関連して実行された決定ロジックが、別の期間がより有利であることを示す場合を除き、経路が切替アイコンに到達してから1日以内に、(目標結果を得る確率が高くなる、および/または訓練データが増加するため)経路を延長する必要がある。
機械学習技術および/または他の選択技術は、複数の可能なパスから、目標結果をもたらす確率が最も高いパスを特定するように構成することができる。場合によって、この技術は、ある程度のノイズおよび/または変動性をさらに導入する。したがって、必要に応じて、最適ではないパスを選択して、基礎モデルを継続的に訓練することができる。
場合によって、クライアントは、特定のパスの選択に対するバイアスを導入する必要がある。例えば、特定のパスは、別のパスに比べて(例えば、計算上および/または金銭上の)コストが高い場合がある。別の例として、特定のパスは、別のパスに比べて可用性が高い場合がある。さらに別の例として、クライアントは、後続のリソース割り当て決定を通知するために、所定のパスの有効性に関する情報を迅速に取得したい場合がある。
したがって、パラメータ定義インターフェイス700は、個々のパスに対するバイアスを与えるための1つ以上のオプションを含むことができる。図示の例において、各パスにスライダーを提供する。スライダーを右側の「増加」側に配置すると、対応するパスに与えるバイアスを増加するようにパス選択を調整することができる。スライダーを左側の「制約」側に配置すると、対応するパスに与えるバイアスを減少するようにパス選択を調整することができる。このような増加および/または制限オプションに制限を課することができる。したがって、例えば、スライダーを最も左側の制約位置に移動しても、対応するパスの選択を妨げない。このような制限によって、機械学習モデルは、様々なオプションに関連するデータを収集し続け、学習を介して1つ以上のパラメータを変更し続けることができる。オプションが2つしかない場合、他方のオプションに対して、一方のオプションに与える相対的なバイアスを指定するための単一のインターフェイスコンポーネントを設けることができる。一方、3つ以上のオプションがある場合、増加/制約オプションは、オプションに応じてより直感的なコントロールを提供することができる。
図8は、通信内の様々なコンテンツの表示にバイアスを与えるためのオプションを含む別のパラメータ定義インターフェイス800を示す。図示の例は、(各々が対応の製品を表す)9つのコンテンツアイテムを示している。各コンテンツアイテムの視覚表現に関連するスライダーが設けられる。スライダーを右側の「増加」側に配置すると、対応するコンテンツアイテムに与えるバイアスを増加するように、(例えば、異なるコンテンツを表す複数のパスの選択に対応するまたは通信チャネルを特定した後にコンテンツの選択に対応する)コンテンツ選択を調整することができる。スライダーを左側の「制約」側に配置すると、対応するアイテムに与えるバイアスを減少するように、コンテンツ選択を調整することができる。
図示の例において、スライダーを最も左側の位置に配置する場合、「提供しない」オプションが表示される。場合によって、[提供しない]オプションを選択しない場合、少なくとも第1のコンテンツアイテムが選択される。
スライダーによって示された相対的なバイアスおよび過去の通信カウントに基づいて、システムは、所定の日に個々のコンテンツアイテムを表示する回数を推定することができる。したがって、クライアントが1つ以上のスライダーを移動すると、インターフェイス800は、スライダー位置に従って、(例えば、毎日に)個々のコンテンツアイテムを表示する回数に関する推定カウントを自動的に更新することができる。
理解すべきことは、異なる種類のバイアスをさらに指定し、与えることができることである。例えば、通信を送信する時間に関連してバイアスを示すように、1つ以上のスライダーを設けることができる。例えば、スライダーは、即時送信(および/または別の時間、例えば、完成時間における送信)に対する決定に与えるバイアスの度合いを示すことができる。
(例えば、通信チャネルの種類、特定種類のコンテンツの表示、または特定の時間における通信の送信に対する)バイアスを与えることは、例えば、1つまたは機械学習モデルの重みおよび/または1つ以上の閾値を変更することを含むことができる。場合によって、バイアスを与えることは、後処理(例えば、結果の一部を再配布して、通信属性の分布がバイアスに基づいて示されたターゲット分布と一致する程度を改善すること)を実行することを含む。
図9は、通信を送信するための様々な通信チャネルの使用にバイアスを与えるためのオプションを含むさらに別のパラメータ定義インターフェイス900を示す。示された例において、3つの通信チャネル、すなわち、メール、アプリベースの通知、およびSMSメッセージが示されている。各チャンネルの表現と視覚的に関連するスライダーが設けられる。スライダーを右側の「増加」側に配置すると、対応する種類のチャンネルの使用に与えるバイアスを増加するように、コンテンツ送信を調整することができる。スライダーを左側の「制約」側に配置すると、対応するチャンネルに与えるバイアスを減少するように、パス選択を調整することができる。
インターフェイス900は、最近の期間に各チャネルを用いて送信した通信の数および今後の期間に各チャネルを用いて送信する予定の通信の数を示す時系列表現をさらに示している。現在の時刻は、垂直線で表される。通信は、(例えば、通信チャネルの選択に関連する同じまたは異なる機械学習モデルに含まれる可能性がある)複数の可能な送信時間からの選択に従って予定することができる。したがって、クライアントは、様々なチャネルに亘って予定された負荷を見ることができ、チャネルに対して与えられたバイアスを調整するか否かを決定することができる。
図10は、本発明のいくつかの実施形態に従って、機械学習を用いて、通信決定木を通る経路の方向を指定するためのプロセス1000を示すフローチャートである。プロセス1000は、ブロック1005から始まる。ブロック1005において、通信決定木を表すデータ構造を呼び出す。通信決定木は、機械学習技術を用いて、一連の通信仕様を示すように、通信決定木を通る個々の経路を動的に定義するように構成することができる。より具体的には、通信決定木は、複数のノードを含むことができる。特定の経路を延長する必要を示すイベントの検出に応じて、特定の経路をノードの間に延長することができる。イベントは、例えば、ユーザイベントから特定種類の動作または通信を検出することを含むことができ、または経路管理システムまたは機械学習データプラットフォームで(ノードの特定に対応する)特定の決定を特定することができる。複数のノードは、複数の分岐ノードを含むことができる。複数の分岐ノードのうち各分岐ノードは、特定の経路の方向を特定するように構成された動作ポイント、または経路管理システムもしくは機械学習データプラットフォームで開始される特定の動作を特定するように構成された動作ポイントに対応してもよい。分岐ノードは、構成された機械学習モデルを用いて、方向または動作を特定するように構成することができる。
ブロック1010において、(特定のユーザおよび/または特定のユーザ装置に関連する)経路が通信決定木の分岐ノードに到達するように延長したことを検出する。特定のユーザは、(例えば、クライアントによって特定された1つ以上の所定の属性を有する)通信受信者または対象顧客層の対象グループに含まれた複数のユーザのうちいずれかである。通信受信者または対象顧客層の対象グループを静的に定義することができるが、静的に定義する必要がない。例えば、この対象グループは、様々な時刻で1つ以上の所定の属性の各々を表すプロファイルに対応する動的セットであってもよい。経路は、ユーザ装置で開始された特定種類のイベントを検出した結果(例えば、ユーザ装置がクライアント関連ウェブサイトのセッションに参加していることを示す通信、ユーザがプロフィールフォームを送信したことを示す通信)および/または特定のシステム始動動作を完了した結果に従って、分岐ノードに延長することができる。
ブロック1015において、他のユーザデータを処理することによって生成された学習データを取得する。他のユーザデータは、通信受信者および/または対象顧客層の対象グループの少なくとも一部に関連するデータに対応してもよい。学習データは、機械学習技術を訓練するときに生成されたデータを含んでもよい。訓練は、機械学習技術を用いて1つ以上の経路の方向を指定することとは別個の時間で実行されてもよく、または機械学習技術の訓練と利用は、同時に実行されてもよい。他のユーザデータは、同じまたは異なる通信決定木を通る1つ以上の経路に関連する経路データを含むことができる。例えば、他のユーザデータは、通信受信者の対象グループの少なくとも一部に対して、対応する経路が事前定義された(例えば、ワークフローの成功を示す)経路目標に指定された通信決定木の目標ノードに到達したことを示すことができる。目標ノードは、例えば、コンテンツとの対話、交換、または通信の応答を表すことができる。別の代替例または追加例として、他のユーザデータは、対象グループの少なくとも一部に対して、対応する経路が望ましくない結果(通信に応答しないこと、交換しないこと、またはコンテンツと対話しないこと)を表す特定のノードに到達したことを示すことができる。他のユーザデータは、1人以上のユーザに対応するプロファイルデータおよび/または属性を示すことができ、個々の経路に関連して検出および/または開始された様々なイベントを示すことができる。したがって、様々な状況が存在する場合、他のユーザデータは、(例えば、クライアントによって目標結果として指定された)特定種類のイベントを検出する確率を示すことができる。
ブロック1020において、(分岐ノードに延長したと検出された)経路に対応するユーザに関連する1つ以上のユーザ属性を取得する。ユーザ属性は、例えば、ユーザ装置の種類、ユーザ装置の地理位置、ユーザ装置に使用されているブラウザの種類、ユーザ装置に使用されているオペレーティングシステム、ユーザ装置と特定のウェブサイトとの対話の一部または全ての履歴、ユーザ装置と1つ以上の他のウェブサイトとの対話、ユーザ装置に関連するクッキーデータ、ユーザ装置で開かれる通知またはリンクの実行をもたらした通知の種類(メール、テキストメッセージおよび/またはアプリメッセージ)を示す履歴データを含むことができる。1つ以上の特定のユーザ属性を収集するおよび/またはローカルに取得するおよび/またはリモートソースからリクエストするおよび受信することができる。
ブロック1025において、学習データおよび1つ以上のユーザ属性に基づいて、1つ以上の通信仕様を特定する。例えば、学習データは、機械学習モデル(例えば、回帰モデル)の1つ以上のパラメータを含むことができる。また、1つ以上のハイパーパラメータに基づいて、機械学習モデルをさらに定義することができる。その後、パラメータ、ハイパーパラメータおよび/または基礎構造を用いて、ユーザ属性を処理するように機械学習モデルを構成することができる。モデルの実行結果は、複数の利用可能なオプションから、目標結果を達成する最も可能なオプションを特定することができる。複数の利用可能なオプションは、例えば、使用される異なる種類の通信チャネル、送信される異なる種類のコンテンツ、および/または異なる送信時間に対応することができる。場合によって、複数の利用可能なオプションは、1つ以上の他の通信仕様を共有する。
ブロック1030において、経路に関連するユーザ装置にコンテンツを送信する。コンテンツの送信は、1つ以上の通信仕様に従って実行される。
ブロック1035において、経路が通信決定木内の別の分岐ノードに到達するように延長したか否かを判断する。判断は、例えば、最後の通信を特定のユーザ(または対応する装置)に送信してから閾値時間が経過したか否かを判断すること、特定のユーザが当該特定のユーザ(または対応する装置)に送信された最後の通信と対話したか否かを判断すること、および/または目標コンテンツが特定のユーザ(または対応する装置)に送信された最後の通信の結果であるか否かに関係なく、特定のユーザが目標コンテンツと対話したか否かを判断することを含むことができる。場合によって、これらの2つ以上の判断の各々は、異なる分岐ノードの基準に関連している。ブロック1035は、経路が到達した他の分岐ノードを特定することを含むことができる。
経路が別の分岐ノードに到達するように延長したと判断された場合、プロセス1000は、ブロック1015に戻り、ブロック1015~1035を繰り返す。しかしながら、ブロック1015の反復実行は、(例えば、必ずしもではないが、少なくともいくつかのユーザデータと組み合わせて)他のユーザデータを処理することによって生成される異なる学習データを取得することを含む。異なる学習データは、(例えば、同じまたは異なる値および/または同じまたは異なる種類のパラメータおよび/またはハイパーパラメータを有する)同じまたは異なる構成の機械学習技術を用いて、生成されてもよい。ブロック1020の反復実行は、少なくとも1つの他のユーザ属性を取得することを含むことができる。ブロック1025の反復実行は、異なる学習データおよび少なくとも1つの他のユーザ属性に基づいて、(異なるセットの可能な通信仕様から)少なくとも1つの他の通信仕様を特定することを含むことができる。少なくとも1つの他の通信仕様は、同じまたは異なる種類の基礎モデルを用いて、特定することができる。ブロック1030の反復実行は、少なくとも1つの他の通信仕様に従って、他のコンテンツの送信をトリガすることを含むことができる。
経路が別の分岐ノードに到達するように延長していないと判断された場合、プロセス1000は、ブロック1040に進み、経路が完成したか否かを判断する。この判断は、経路の現在端が延長している連結端を有しない経路に連結しているか否かを判断することによって行うことができる。経路が完成したと判断された場合、経路の処理が終了する。経路が完成していないと判断された場合、プロセス1000は、ブロック1035に戻り、(例えば、ユーザが開始した動作または外部イベントの結果によって)経路が別の分岐ノードに到達したか否かを判断することができる。
したがって、プロセス1000は、異なる構成の機械学習モデルを反復に用いて、通信交換の異なる段階に対応する仕様を特定することを容易にする。様々な段階において、モデルは、様々なプロファイルデータ(例えば、異なるフィールドの値または経時的に変化する値)および/または(例えば、モデルに関連する様々な入力および/または出力に基づいておよび/または一時的な変更に基づいて学習した)様々なモデルパラメータを使用することができる。機械学習モデルの反復実行は、個々のユーザの通信交換を動的に指示することができる。
図11は、配置可能な視覚要素をサポートするインターフェイスを用いて、機械学習ベースの通信決定木を定義するためのプロセス1100を示すフローチャートである。プロセス1100は、ブロック1105から始まる。ブロック1105において、複数の視覚要素と、要素を配置するためのキャンバスとを含むインターフェイスを利用する。複数の視覚要素の各々は、キャンバス上で配置することができる。例えば、ユーザが視覚要素の表現をクリックし、クリックを維持しながらカーソルをキャンバス上の別の位置にドラッグすることによって視覚要素を別の位置に配置することができるように、インターフェイスを構成することができる。別の例として、(例えば、クリックまたはダブルクリックによって)表現を選択し、カーソルが別の位置に移動したときに別の入力(例えば、別のクリックまたはダブルクリック)をすることによって、視覚要素を他の位置に配置することができる。
複数の視覚要素は、複数の動作定義視覚要素を含むことができる。複数の動作定義視覚要素の各々は、特定の経路が動作定義視覚要素に延長したときに、実行される特定の動作であってもよい。複数の動作定義視覚要素は、機械学習技術を用いて通信仕様を特定するための(例えば、機械学習モデルを用いて行われた)決定動作を表す切替視覚要素を含むことができる。複数の動作定義視覚要素は、複数の通信視覚要素をさらに含むことができる。複数の通信視覚要素の各々は、特定の通信仕様(例えば、通信チャネルの種類、特定のコンテンツおよび送信時間)を表すことができる。また、複数の視覚要素は、配置された複数の視覚要素を指向性的に連結するように構成された連結視覚要素を含むことができる。配置された複数の視覚要素の各々は、複数の動作定義視覚要素のうち各動作定義視覚要素に対応してもよい。指向性連結は、配置された複数の視覚要素によって表された特定の動作が発生する順序を示すことができる。
ブロック1110において、キャンバスの更新を検出する。更新されたキャンバスは、キャンバスの第1の位置に配置された切替視覚要素、キャンバスの第2の位置に配置された複数の通信視覚要素のうち第1の通信視覚要素、およびキャンバスの第3の位置に配置された複数の通信視覚要素のうち第2の通信視覚要素を含むことができる。第1の通信視覚要素は、特定の第1の通信仕様を表すことができ、第2の通信視覚要素は、特定の第2の通信仕様を表すことができる。
更新されたキャンバスは、複数の連結視覚要素をさらに含むことができる。複数の連結視覚要素の各々は、連結視覚要素のインスタンスを含むことができる。複数の連結視覚要素のうち第1の連結は、切替視覚要素を第1の通信視覚要素に連結するように配置することができる。複数の連結視覚要素のうち第2の連結は、切替視覚要素を第2の通信視覚要素に連結するように配置することができる。複数の連結視覚要素は、切替視覚要素で機械学習技術を実行することによって得られた可能な結果が、特定の第1の通信仕様を有する通信伝送をトリガする第1の結果と、特定の第2の通信仕様を有する通信伝送をトリガする第2の結果とを含むことを示すことができる。
ブロック1115において、更新されたキャンバスに基づいて、特定の通信決定木を定義する。ブロック1120において、特定のプロファイルデータに関連付けられた所定の経路が切替視覚要素によって表された特定の決定動作に延長したことを検出する。この検出に応答して、ブロック1125において、(学習パラメータデータおよび/または静的データを用いて構成された)機械学習技術を用いて特定のプロファイルデータを処理することによって、機械学習結果を生成する。学習パラメータデータは、他のユーザに関連する複数の経路および/または同じまたは異なる通信決定木に関連する複数の経路に基づいて、機械学習モデルの個別または継続的な訓練中に学習したデータを含むことができる。機械学習技術を用いて特定のプロファイルデータを処理することは、第1および第2の特定の通信仕様のうち、コンテンツ送信に適用した通信仕様を示すことができる。
したがって、ブロック1130において、経路に関連するユーザ装置にコンテンツを送信する。送信は、機械学習結果に示された特定の第1および第2の通信仕様のうち1つに従って実行される。例えば、第1および第2の通信視覚要素は、異なる種類の通信チャネルに対応する場合がある。したがって、ブロック1125は、2種類の通信チャネルのうち1つを特定することを含んでもよく、コンテンツは、特定されたチャネルを介して送信されてもよい。
したがって、キャンバスは、通信決定木の構成を定義することを容易にする。しかしながら、クライアントは、全てのユーザに適用される通信交換および/または1つ以上の決定性規則のみを含む通信交換を定義する必要はない。むしろ、インターフェイスは、一般に、様々な通信仕様の選択、通信イベントの順序および/または制約の特定をサポートする。機械学習技術を用いて、特定の通信仕様を自動的且つ動的に生成することができる。この方法によって、クライアントの優先順位に従うように通信システムを容易に構成することができると共に、通信システムを特定のユーザの特性、リソース負荷および最近の対話パターンなどに動的に適応させることができる。
理解すべきことは、開示された技術の変形も考えられることである。例えば、分岐ノードは、機械学習モデルではない別の種類の人工知能モデルを用いて、通信に使用される通信仕様を選択することができる。別の例として、インターフェイスは、切替要素に対応する経路段階に使用される特定種類または通常種類の人工知能モデルの選択を受け入れるように構成することができる。さらに別の例として、インターフェイスは、(例えば、1つ以上の通信決定木、1つ以上の期間、および/または1つ以上のユーザ群セグメントに対応する点で)キャンバスに配置された1つ、複数または全ての切替要素に対応する機械学習モデルの訓練に使用されたデータを示すように構成することができる。
理解すべきことは、本明細書に開示された技術を用いて、様々な種類の決定木をサポートすることができることである。例えば、場合によって、決定木内のノードおよび/またはキャンバス上の視覚要素は、ロジックに関連する要素に対応してもよい。これらのロジックは、所定の条件(例えば、特定種類の装置間通信を検出すること、クライアントに関連付けられていないアプリケーションが動作を実行したことを示すこと、特定の時間が経過したこと)が満たされているか否かを検出し、条件が満たされたことを検出する場合、特定の動作を実行する。ノードおよび/または視覚要素の部分セットに対して、条件付きの特定の動作は、プロファイルデータに基づいて機械学習モデルを実行することによって、連結された複数のノード(または視覚要素)からノード(または視覚要素)を選択することを含むことができる。これによって、選択したノード(または視覚要素)に関連する他の特定の動作を実行することができる。例えば、機械学習ベースの経路選択は、「If This Then That」環境に統合することができる。例えば、分岐は、通信仕様を特定するノードに分岐ノードを連結する代わりに、データを格納するために使用される様々なアプリケーションを特定することができる。したがって、決定フレームワークを確立することができ、人工知能アプレットおよび/またはプラグインは、1つ以上の他のアプレットと通信することができ、キャンバスを介して逆通信することができる。
場合によって、技術は、特定のジョブを実行するためのリクエストを送信するワーカーを特定することに関連し得る。この技術は、追加的にまたは代替的に、例えばクエリプロセスに参加するリクエストを送信するワーカーおよび/または(例えば、特定のジョブを実行するおよび/またはクエリプロセスに参加する)1つ以上のリクエストの構成を特定することを含むことができる。
場合によって、決定木を通って進行する反復に応じて、特定を行うことができる。決定木は、各決定ノードに有限の決定および/または一貫した可能な決定を含む必要がない。例えば、決定木は、累進選別決定木を含むことによって、2つ以上の決定ノードの各々において複数のワーカーを反復的に削減することができる。可能な決定の数は、特定の決定に応じて削減された全ての可能なワーカーの数に対応してもよい。必ずしも必要ではないが、特定の決定ノードは、削減された複数のワーカーに含まれたワーカーの数を制約または定義すること(例えば、複数のワーカーを5人のワーカーを含む部分セットに削減すること、複数のワーカーを80%に削減すること、または複数のワーカーを2~9人のワーカーを含む部分セットに削減すること)ができる。決定木の最終出力は、例えば、単一のワーカー、一定数のワーカー、および/または数値的に制約しないワーカーの特定を含む。
決定木は、例えば、1つ以上のワーカーから受信した応答を反映することができる1つ以上のチャンスノードを含むことができる。例えば、決定ノードの実行に従って、ワーカーにリクエストを送信して、応答する(または応答しない)ことは、ワーカーがリクエストを受け入れたか否かを示すことがある。場合によって、ワーカーが(例えば、所定の期間内)リクエストを拒否するおよび/または受け入れない場合、そのワーカーは、現在検討中のワーカーのプールから除外される。
いくつかの例において、決定木は、ジョブオファー(例えば、特定の職位および/または職業および/または特定の雇用者に対応する雇用を受け入れる通知)に対応する決定を表す。ジョブオファーは、ジョブ、理想的な候補者、決定のタイムライン、給与、場所などを説明する1つ以上のドキュメント、ファイルまたはデータセットに関連する。各ワーカーは、1つ以上の特定のジョブ、1つ以上の特定種類のジョブおよび/または全てのジョブを申請するための履歴書および/または申請を提出した人に対応する識別子を含むことができる。1つ以上の第1の決定ノードは、雇用者、採用担当者などがクエリプロセス(例えば、対面面接、電話面接またはウェブ面接)に招待するワーカーに関する決定に対応する。1つ以上の第2の決定ノードは、ジョブオファー(例えば、ジョブのリクエスト)を与えるワーカーに関する決定に対応する。1つ以上の第3の決定ノードは、ジョブを実行するためのリクエスト構成(例えば、給与、休暇、場所、および/またはジョブオファーの他の詳細)を特定することに対応する。特定の例として、第1の決定ノードは、ジョブに関する面接を提供する確率に対応する全てのワーカーのランキングを出力するように構成することができ、第2の決定ノードは、ジョブを提供する確率に対応する全て(またはその一部)のワーカーのランキングを出力するように構成することができる。別の特定の例として、第1の決定ノードは、ワーカーが内定通知を受け入れる(可能なオファー構成にもかかわらずジョブオファーを受け入れない)可能性に対応する出力を生成するように構成することができ、第2の決定ノードは、ワーカーの関心を引き付けるために必要な内容(給与、ボーナス、および/または報酬を定義するための詳細)を生成するように構成することができる。決定ノードの出力は、同時にまたは別々の時間に提示または送信することができる。
理解すべきことは、必要ではないが、決定は、所定の経路の進行に応じて、各決定ノードで自動的に行うことができることである。例えば、全て(またはその一部)のワーカーを特定の数に選別するのではなく、(例えば、機械学習モデルの実行に依存する)自動処理は、全てのワーカーのランキングおよび/または各ワーカーのスコアを出力することができる。出力を(例えば、ユーザ装置に)提示および/または送信することによって、ユーザは、実際の選別および/または選択を示す決定を容易にすることができる。(例えば、ポータルインターフェイスに提供されたユーザ入力に応じて)選別および/または選択を伝達することによって、決定木の経路をさらに調整することができる。
選別、ランキングおよび/またはスコアは、1つ以上の最適変数に基づいて行うことができる。1つ以上の最適変数は、決定木内の複数の決定または全ての決定に一貫して使用されてもよく、各決定ノードに対して具体的に定義されてもよい(例えば、一部または全ての決定ノードに対して異なってもよい)。最適変数は、ワーカーによって行われた決定(例えば、ワーカーがクエリプロセスに参加するリクエストを受け入れる確率および/またはワーカーがジョブを実行するリクエストを受け入れる確率)に対応してもよく、次のリクエストに関する決定(クエリプロセスに参加するリクエストを送信する確率および/またはジョブを実行するリクエストを送信する確率)に対応してもよく、および/または能力(例えば、ワーカーが所定の時間間隔においてジョブを実行し続ける確率、第三者によるワーカー能力の高い評価を達成する確率、および/または職務業績に基づいて高い報酬またはボーナスを確保する確率)に対応してもよい。
いくつかの例において、ワーカー(例えば、初期セットのワーカーから選別された部分セット)のランキングは、能力データに基づいて行われる。例えば、ワーカーの属性および能力データを含む訓練データに基づいて、機械学習モデルを訓練することができる。したがって、(例えば、初期セットのワーカーから選別された部分セット内の)複数のワーカーの各々の属性およびジョブデータをモデルに入力することができる。出力は、複数のワーカーの各々の推定能力評価(例えば、ワーカーをジョブに割り当てる場合の能力の推定評価に対応する推定能力)に基づいて、複数のワーカーのランキングを示すことができる。出力は、例えば、数値ランキング(例えば、各ワーカーに割り当てる番号)、順序(例えば、ワーカーの特定の順序)、および各ワーカーの数値スコアまたはカテゴリスコア(例えば、これらのスコアに基づいて、ワーカーを順番付けできる)を含むことができる。モデルを訓練することによって、例えば、様々なワーカーの属性を推定能力に関連付ける1つ以上の重みを学習することができる。場合によって、ワーカーの属性に加えてジョブの仕様に基づいて能力の推定を調整するように、モデルを訓練することができる。
モデルを訓練するために使用された能力データは、例えば、数値データ、カテゴリデータ、および/またはテキストデータを含むことができる。場合によって、能力データは、スケールに沿ったメトリックを含むことができ、および/または能力データを処理することによってスケールに沿ったメトリックを生成することができる。能力データは、1つ以上の時間で(例えば、毎年などの定期時間で、プルリクエストまたはプッシュレポートに応じて)、1人または複数のジョブ所有者(例えば、雇用主または面接官)から受信することができる。訓練データは、能力を評価しているジョブをワーカーに割り当てる時点(またはほぼその時点)のワーカーの属性および/またはワーカーの現在時間(例えば、能力を評価している時間に関して現在時間)の属性を含むことができる。特定時間の属性は、特定時間にワーカーが使用できる仕様データセットに基づいて確認できる。場合によって、保存された仕様データセットは、訓練に使用する属性を引き出す時間の経過に基づいて更新することができる。例えば、仕様データセットが年数-経験属性を含み、その属性が時刻t-xに最初に保存されまたは最後に更新された場合、(例えば、ワーカーがx時間に関連するジョブを実行していると仮定するときに)属性にxを追加することによって、属性を更新することができる。場合によって、1つ以上の関連するワーカー属性が所定の期間内に更新された場合に限り、能力データは、訓練データセットに含まれる。
図12は、本発明のいくつかの実施形態に従って、例示的な累進選別決定木1200を示す図である。決定木は、特定のジョブに関連する複数のワーカーを評価することができる。場合によって、評価は、(各々が特定のワーカーを表すおよび/または特定のワーカーに対応する)複数のワーカーファイルおよび/または(例えば、ジョブおよび/またはジョブオファーを表す)ジョブファイルに対する評価を含む。ワーカーファイルは、ワーカー仕様データ構造(例えば、履歴書データ)を表すまたは含むことができる。ジョブファイルは、ジョブ仕様データ構造(例えば、ジョブ掲示データ)を表すまたは含むことができる。
決定ノード1205において、ワーカーセットに含まれるワーカーを決定する。この決定は、複数のワーカーに対応する複数のファイルまたはデータ表現と、ジョブに対応するファイルまたはデータ表現との評価に基づいて行うことができる。具体的は、(ワーカーまたはジョブに対応する)各ファイルまたはデータ表現を処理して、特徴データセットに変換することができる。例えば、特徴データセットは、各要素で値を含む配列、行列またはベクトルを含むことができる。値は、対応するファイルまたはデータ表現が特定の特徴と一致する、特定の特徴を特定するまたは特定の特徴に対応する度合いを表すことができる。
場合によって、各特徴は、ワードスペース内の特定のスペースであると定義される。簡単な例として、特徴は、(例えば、同義語および/または他の対応する単語を含むことができる)単語のクラスタを表すことができ、(必須ではないが)各単語に重みを割り当てることができる。別の例として、特徴は、分布を表すことができる。単語は、例えば、他の単語と意味上の類似性、および/または1つ以上の他の単語と同様の文書、ファイル、段落、フィールド値および/または文内で発生する確率に基づいて、多次元のワードスペースの全体に配置することができる。分布は、例えば、1つの次元、複数の次元または全ての次元の各々の中心または重心および重み(および/または歪み)に従って定義することができる。
特徴データセットは、非構造化データ(例えば、文字数または単語数の点で可変長を有する複数の単語)を含むことができる仕様データ構造からのデータを用いて生成することができる。このデータを処理することによって、さらに処理される個別の単語を特定することができる。例えば、さらなる処理は、(例えば、「ing」、「ed」などの語尾を削除することによって)各単語を語幹に変換することを含むことができる。さらに、様々な単語(例えば、ストップワード、前置詞および連結詞など)を単語のセットから削除することができる。
(例えば、処理された)単語セットを機械学習モデルまたは他の人工知能モデルに入力することによって、特徴データセットを特定することができる。一例として、ニューラルネットワーク言語モデルを含む機械学習モデルを用いて、特徴データセットを計算することができる。場合によって、対応するワーカー仕様データ構造内の単語の相対的な順序は、特徴の割り当てに影響を与える。機械学習モデルの例示的な種類は、2014年、中国北京に行われた第31回機械学習に関する国際会議の会報、JMLR:W&CP第32巻に掲載されたLe, Quocによる論文「文と文書の分散表現」に開示されたものを含む。当該論文は、https://cs.stanford.edu/~quocle/paragraph_vector.pdfから入手可能であり、あらゆる目的のためにその全体が参照により本明細書に組み込まれる。例えば、doc2vecを用いて、単語のセットを含むテキスト入力を特徴データセットに変換することができる。
別の例として、特徴の値は、例えば、特徴の特定のスペースに基づいて処理された単語セット内の各単語の重みを生成し、重みを平均することによって計算することができる。さらに別の例として、特徴の値は、仕様データ構造からのデータ内の特徴に関連する単語のグループの出現回数をカウントすること(およびこのカウントを他のカウントまたはデータ内の単語の総数に基づいて正規化することによって)によって計算できる。
(例えば、個々のワーカーまたは個々のジョブの)個々の特徴データセットを保存することができる。各特徴データセットは、ワーカーまたはジョブの識別子および/または他の情報(例えば、対応する仕様データ構造からの1つ以上のキーと値のペア、対応する仕様データ構造からの他の情報、対応する仕様データ構造からの生データ)に関連して保存することができる。場合によって、特徴データセットおよび関連情報は、Solrデータベースに保存することができる。
ワーカーセットに含まれるワーカーを決定することは、(例えば、複数のワーカーに含まれる)各ワーカーの特徴データセットをジョブの特徴データセットと比較すること、および比較に基づいて、複数のワーカーの部分セットを選択することを含むことができる。複数のワーカーは、例えば、(例えば、仕様データ構造の提出に応じて)ジョブを受け入れるた可能性があると特定されたワーカーを含むことができる。複数のワーカーは、動的であってもよい。すなわち、(例えば、ワーカーにジョブの割り当てまたは削除リクエストの受信に応答して)複数のワーカーからワーカーを動的に削除することができ、および/または(例えば、新しいワーカー仕様データ構造の受信に応じて)複数のワーカーからワーカーを動的に追加することができる。
ワーカーの特徴データセットとジョブの特徴データセットとの間の比較の実行は、特徴データセットに基づいて比較メトリックを生成することを含むことができる。メトリックは、例えば、角度、点乗積および相関係数などを含むことができる。ワーカーの部分セットは、絶対閾値または相対閾値を超える点乗積または相関係数(または他の比較メトリック)に関連するワーカーを含むものとして定義することができる。相対閾値は、特定の数または特定の割合のワーカーを含む部分セットを特定するように構成することができる。
決定ノード1210において、機械学習モデル、特徴データセットおよび追加情報の反復によって、複数のワーカーのランキングを付ける。換言すれば、機械学習モデルは、ワーカー特徴データセット、ジョブ特徴データセットおよび追加情報に対応する入力を処理するように実行することができる。追加情報は、(例えば、経験年数、教育レベルなどを表すまたは示す)ワーカー仕様データセットからの1つ以上のキーと値のペアを含むことができる。場合によって、追加情報は、追加的にまたは代替的に、ジョブ仕様データセットからの1つ以上のキーと値のペアを含むことができる。
したがって、場合によって、初期段階に使用された機械学習モデルは、機械学習モデルによって後期段階に受信および/または処理されるワーカーデータの一部を受信および/または処理しない。例えば、後期段階の機械学習モデルは、様々なワーカーの1つ以上のキーと値のペアを受信および/または処理するが、初期段階の機械学習モデルは、様々なワーカーの1つ以上のキーと値のペアを受信および/または処理しない。逆の場合も同様である。例えば、初期段階のマシンは、未加工テキストを受信および/または処理するが、後期段階の機械学習モデルは、未加工テキストではなく、未加工テキストを処理したものを受信および/または処理する。
決定木の反復の異なる段階において異なる種類の機械学習モデル、異なる種類の入力および/または異なる最適変数を使用することは、技術的な利点を有する。場合によって、異なる種類の入力を使用することによって、効率的な処理を容易にすることができる。例えば、後期段階において元のデータの代わりに処理したワーカーデータを使用することによって、処理を繰り返すことなく、有用な(または潜在的に有用な)情報を強調または選択するために実行できる過去のデータ処理および学習を利用することができる。また、初期段階の処理は、(必要ではないが)より大きなデータセットおよび/またはより多様なデータセットから学習することができるため、後期段階の学習よりも初期段階の学習に依存する場合、学習された次元削減処理は、よりロバストである。
場合によって、後期段階でいくつかのデータを選択的に使用することによって、効率的な処理およびリソース消費を促進しながら、豊富なワーカーデータセットを利用することができる。例えば、巨大なワーカー集団は、数万または数百万のキーと値のペアに関連する場合がある。キーと値のペアの各追加カテゴリを検討する場合、可能なワーカー属性のスペースの大きさは、急激に増加する。一方、可能なワーカープールのサイズは、段階的に減少する可能性もあるため、後期段階において1つ以上のキーと値のペアを含むことによる絶対的な影響は、初期段階よりも小さくなる。換言すれば、場合によって、初期段階の計算を後期段階の計算に比べて比較的単純に設計することによって、コンピュータでこれらの手順を実行する効率性と実用可能性を改善することができる。
機械学習モデルは、(ジョブ特徴データセットの参照ジョブ仕様データ構造が与えられた場合)様々な入力のランキングを出力するように構成されたモデルを含むことができる。例えば、機械学習モデルは、ランキング学習アルゴリズムを使用することができる。
教師あり学習、半教師あり学習、または強化学習を使用するように機械学習モデルを実装することができる。一例として、機械学習モデルは、(xgboost実装を使用することによって)LambdaRankを使用することができる。様々なワーカーデータ(例えば、ワーカー仕様データ構造)が様々なジョブデータ(例えば、ジョブ仕様データ構造)に対応する程度を示す通信を用いて、機械学習モデルを訓練することができる。なお、個々のワーカーのランキングを出力しない他の種類の機械学習モデルを使用することもできる。例えば、機械学習モデルは、複数のワーカーの一部または全てに対して、ワーカーデータ(例えば、ワーカー特徴データセットおよび/またはワーカーに関連する追加情報)とジョブデータ(例えば、ジョブ特徴データセットおよび/またはジョブに関連する追加情報)との間の一致度を表す一致スコアを示す出力を生成するように構成することができる。
場合によって、機械学習モデルの実行出力をさらに処理することができる。例えば、さらに他の処理は、所定のランキング閾値よりも低いランキングに関連するワーカーの部分セットを特定すること、および/または所定のスコア閾値よりも高い一致スコアに関連するワーカーの部分セットを特定することを含むことができる。
決定ノード1215において、複数のワーカーの部分セットを決定する。この決定は、決定ノード1210からのランキング(または他の結果)に基づいて複数のワーカーを選別することによって、クエリプロセスに参加するリクエストを送信するワーカーを特定することを含むことができる。場合によって、決定は、自動的に実行する。例えば、規則は、最低(最高)のランキングを有する所定の数のワーカーを部分セットに含むことまたは所定の閾値を超えるスコアに関連する各ワーカーを部分セットに含むことを示すことができる。
場合によって、部分セットに含まれるワーカーの決定に対応する通信の受信に基づいて、決定を実行する。通信は、ユーザ装置(例えば、採用担当者の装置)で受信した入力に基づいてまた受信した入力に応答して生成されてもよい。例えば、ノード1210でランキングを決定すると、対応するワーカーに関連するランキングを示す通信が生成されてもよい。通信は、インターフェイスを更新および/または生成させるようにまたユーザ装置上で表示させるように構成されてもよい。インターフェイスは、ランキングの一部または全てを含む。インターフェイスは、ランキングされたワーカーに関する情報をさらに含むおよび/またはさらに利用することができる。例えば、インターフェイスは、各ランキングに空間的に関連して、ワーカーの仕様データセットを閲覧するまたは画面上で表示するためのリンクを含むことができる。インターフェイスは、1つ以上の入力オプション(例えば、チェックボックス、プルダウンメニュー、リンク、ドラッグアンドドロップインターフェイスまたはラジオボタン)を含むことができる。オプションとの対話は、自動的に検出され、部分セットに含まれる特定のワーカーの決定に変換されることができる。
一例として、インターフェイスは、各行が異なるワーカーを表すテーブルを含むことができる。1つの列は、ワーカーのランキングを示し、他の列は、ワーカーに関する他の情報(例えば、フィールドと値のペア、ワーカーID)を含むことができる。分割要素(例えば、移動可能な太線)を用いて、部分セットに含まれるワーカー(例えば、分割要素の上方のワーカー)を示すことができる。インターフェイスは、行を移動して並べ替えるためのドラッグアンドドロップ要素を含むことができる。別の例として、インターフェイスは、ワーカー固有情報およびワーカーのランキングを特定する視覚オブジェクト(例えば、小さなボックス)を含むことができる。各視覚オブジェクトは、チェックボックスを含むことができ、チェックボックスに空間的に関連することができる。チェックボックスをオンにすると、ワーカーを部分セットに含むことを示すことができる。
場合によって、クエリプロセスに参加するためのリクエストは、部分セット内の各ワーカーに自動的に送信される(例えば、ジョブ割り当てシステム内のワーカーのポータルにメール送信されるまたは表示される)。場合によって、部分セット内のワーカーの特定情報(部分セット内のワーカーの連絡先を特定するためのキー値情報、例えば、メールアドレスまたは電話番号と共に)を表示または送信することによって、クエリプロセスに参加するためのリクエストの外部通信を容易にする。リクエストは、例えば、求人情報(例えば、役職および雇用主)、クエリプロセスに関連する場所(例えば、住所)、およびクエリプロセスの時間(または時間オプション)を含むことができる。
場合によって、リクエストに対する応答を追跡することができる。例えば、メールまたはワーカーのポータルを介してリクエストを送信した場合、ワーカーがリクエストを受け入れるか否かおよび/またはワーカーがリクエストを拒否するか否かを示すように、1つ以上の応答オプションを提供することができる。別の例として、ユーザから、部分セット内の各ワーカーに関連する応答を示す通信を受信することができる。場合によって、(例えば、リクエストを送信したた時点から)所定の期間内に特定のワーカーから応答を受信しなかったという判断は、リクエストが拒否されたという仮想応答を生成することができる。部分セットをさらに選別することによって、リクエストを拒否した特定のワーカーを削除することができる。
場合によって、決定ノード1210は、決定木1200に含まれなくてもよい。部分セットに含まれるワーカーの特定は、機械学習モデルの反復を用いて実行することができる。機械学習モデルは、(例えば、複数のワーカーに対応する)ワーカー仕様データ構造、ジョブ仕様データ構造、および追加情報(例えば、複数のワーカーに関連するキーと値のペアおよび/またはジョブに関連するキーと値のペア)を処理することができる。機械学習モデルは、例えば、(部分セットに含まれるか否かに対応する)ランキング、スコアまたはバイナリ識別子を出力するように構成することができる。
決定ノード1220において、ジョブリクエストの1つ以上のジョブ構成を決定し、決定ノード1225において、ジョブを実行するためのリクエストを送信するワーカーを決定する。様々な例において、ノード1220の決定および1225の決定を同時に行う。または、ノード1225の決定を行う前にノード1220の決定を行う。または、ノード1225の決定を行った後にノード1220の決定を行う。場合によって、ブロック1220およびブロック1225で行われた決定の一方または両方は、機械学習モデルを用いて行われる。
ブロック1220の場合、機械学習モデルは、ワーカーの部分セットの各ワーカー、部分ワーカーまたは全てのワーカーに対して、ワーカーが(構成された)ジョブを受け入れることをもたらすのに十分(および/または最低)であると推定される1つ以上のジョブ構成を出力するように構成される。モデルはさらに、必要に応じて、ワーカーが構成に関係なくジョブを受け入れないと推定されることを示す結果を出力するように構成することができる。
ブロック1225の場合、(同じまたは異なる)機械学習モデルは、ジョブを実行するためのリクエストを送信する1つ以上のワーカーの選択に関連する出力を生成するように構成される。出力は、例えば、1つ以上の出力値として、オファーを受け入れる可能性に関連するランキング、スコアおよび/または推定値、推定されたジョブ能力値、および/または推定された維持確率または期間を含むことができる。ジョブを実行するためのリクエストを送信するワーカーの決定は、リモートシステムおよび/またはユーザによって生成された決定を反映する通信に基づいて、自動的に行われてもよく、および/または行われてもよい。例えば、様々なデータ、例えば、ランキング、スコアまたは最小仕様データは、リクエストを送信するワーカーの部分セットの1つ以上のワーカーの選択を受け付けるインターフェイスに表示されてもよい。各リクエストは、必ずしも必要ではないが、ブロック1220で特定された対応する構成情報を用いて構成されてもよい。場合によって、リクエストは、デフォルト(または矛盾しないように、最小または最大)構成を用いて構成される。
したがって、決定木1200は、ジョブを割り当てるために、複数の決定ノードを用いて、ワーカープールを反復的に精練する方法を例示する。場合によって、(例えば、上記でジョブクエリプロセスに参加するリクエストに対する応答を追跡するための可能な手法に関して説明したように)ジョブリクエストに対する応答は、追跡される。1つ以上または全てのジョブリクエストが拒否された場合(例えば、および/またはデフォルト期間内に受け入れられない場合)、以前に選択した検討中のワーカーを削除すると共に、ブロック1215、1220および1225に関連する決定の1つまたは2つを繰り返すことができる。
図13は、本発明のいくつかの実施形態に従って、累進選別決定木の実装中に発生するデータ処理の例示的な表現を示す図である。
図示の例において、第1の決定ノードで、変換要素1305(例えば、1つ以上の入力データオブジェクトを処理済みデータオブジェクトに変換するように構成されたコードブロック)は、複数のワーカーファイル1310および1つ以上のジョブを受け取る。各ワーカーファイル1310は、複数のワーカー仕様を含むワーカー仕様データ構造を含むことができる。各ジョブファイル1315は、複数のジョブ仕様を含むジョブ仕様データ構造を含むことができる。場合によって、変換要素1305は、ワーカーファイラーおよび/またはジョブファイルを受信する必要がなく、その代わりに、変換されるワーカー仕様データおよび/またはジョブ仕様データを特定することができる。例えば、仕様データは、(例えば、オンラインフォームエントリに対応する)入力の検出に応答して、個々のワーカー装置および/または他の装置から生成および送信された1つ以上の通信を介して受信されてもよい。
変換要素1305は、各ワーカーファイル1310をワーカー特徴データセット1320に変換し、各ジョブファイル1315をジョブ特徴データセット1325に変換するように構成することができる。各ワーカー特徴データセット1320および各ジョブ特徴データセット1325は、特徴セットの各特徴が対応する(ジョブまたはワーカー)ファイルに示される度合いを示す値を含むことができる。各特徴は、セマンティックスペース1330の一部に対応することができる。場合によって、機械学習モデルは、(例えば、非構造化データを含む)訓練データセットを用いて、各特徴を定義することができる。機械学習モデルは、教師なし学習を介して訓練することができ、例えば、doc2vecを含むことができる。特徴は、単語および/またはフレーズの共起に基づいて定義されてもよく、構造分析(例えば、単語のグループ化、文および/または段落の検出)に基づいて定義されてもよい。場合によって、訓練中に(特徴セットを特定するために)使用された最適変数は、特徴間の直交性メトリックを含むことができる。すなわち、特徴セットは、各個々の特徴が他の特徴と直交する度合いおよび/または独立する度合いを最大化するように定義されてもよい。
比較要素1335は、各ワーカー特徴データセット1320と各ジョブ特徴データセット1325とを比較することによって、各組み合わせペアの比較出力を生成することができる。場合によって、比較出力は、特徴データセット間のコサイン角を含む。場合によって、比較は、特徴データセット間の相関係数を生成すること、特徴データセット間の特徴差異に基づいて差異メトリック(例えば、平均値、中央値、最大値、または最小値)を生成することを含む。
第1のフィルタ1335は、比較出力を処理することによって、各ジョブ特徴データセット1325に対して、ワーカー特徴データセット1320の部分セット1340を決定することができる。この処理は、例えば、複数のワーカーに対して生成された比較出力に基づいて、複数のワーカーから所定数のワーカーを決定することを含む。例えば、選別は、100個の最高値を有する比較出力(高い値は、強い類似性を示す。代替的には、低い値が強い類似性を示すように比較出力を設定する場合、100個の最低値を有する比較出力を決定してもよい)に対応する100個のワーカー特徴データセットを選択することを含むことができる。場合によって、選別は、所定の閾値を超える(または代替的な出力構成において、所定の閾値未満の)比較出力に関連する各ワーカー特徴データセットを選択することを含む。
第2の決定ノードにおいて、機械学習モデル1345は、ワーカー特徴データセット1320の部分セット1340および各ジョブ特徴データセット1325をさらに処理することができる。機械学習モデル1345は、教師あり学習を介して訓練することができる。機械学習モデル1345は、(例えば、所定の形式および/またはサイズを有する)構造化データを処理するように構成することができる。機械学習モデル1345は、ワーカー特徴データセットの部分セット1340の各々に対して、ジョブ特徴データセット1325に関連するジョブとの対応度を示す値(例えば、ランキングまたはスコア)を出力するように構成することができる。出力は、部分セット1340の1つ、一部または全てのワーカーの各ワーカーのランキング1350を含むことができる。機械学習モデルは、ランキング学習(learning-to-rank)モデルを含むことができる。場合によって、機械学習モデル1345は、ユーザから受信した入力に対応する最適変数に基づいて訓練される。入力は、過去の決定を特定する(例えば、1人以上の特定のワーカーに面接を提供したか否かおよび/または1人以上の特定のワーカーが面接を受け入れたか否か、1人以上の特定のワーカーにジョブを提供したか否かおよび/または1人以上の特定のワーカーがジョブを受け入れたか否かを特定する、および/または職務業績の評価を特定する)ことができる。
特徴データセットに加えて、機械学習モデル1345は、部分セット1340に対応するワーカーファイル1310および/またはジョブ特徴データセット1325に対応するジョブファイル1315からのデータをさらに処理することができる。他のデータは、例えば、キーと値のデータおよび/または個別のフォームエントリを含み、実装された第2のフィルタ1355によって特定することができる。場合によって、特定のワーカー(またはジョブ)の他のデータは、対応するワーカー特徴データセット1340(またはジョブ特徴データセット1325)に集計(例えば、連結)することができ、連結されたデータは、モデルに入力することができる。
ランキング1350は、例えば、複数のワーカーの部分セット1340を(例えば、所定のサイズに)さらに選別および縮小することができる第3の決定ノード1355によって処理されてもよい。場合によって、更なる選別は、最低ランキング値を有する所定数のワーカーを特定することを含む。場合によって、他の情報(例えば、特徴データセット、キーと値のペア)をさらに使用してもよい。場合によって、ランキングは、ユーザに提示され、更なる選別は、ユーザ装置からの1つ以上の通信によって示された1つ以上のワーカーの選択に対応する。場合によって、更なる選別は、(例えば、クエリプロセスの参加を要求した過去のワーカー、クエリプロセスへの参加を受け入れた過去のワーカー、職務業績に基づいて選択された過去のワーカー、ジョブを受け入れた過去のワーカーおよび/または過去の職務業績を最適変数として使用する)機械学習モデルによって実行される。さらに選別されたワーカーの部分セットは、例えば、クエリプロセスに参加するためのリクエストを送信するワーカーを含む。リクエストが拒否されたまたは応答されなかった場合、第3の決定ノード1355は、さらに選別された部分セットに含まれる別のワーカーを特定するように構成されてもよい。
第4の決定ノード1360において、クエリプロセスからの結果を評価することによって、(例えば、ジョブを実行するための所定数のワーカー、例えば、単一のワーカーを特定するように)ワーカー部分セットをさらに選別することもできる。この決定は、(職務業績に基づいて選択された過去のワーカー、ジョブを受け入れた過去のワーカーおよび/または過去の職務業績を最適変数として使用する)機械学習モデルによって行われる。さらに選別されたワーカーの部分セットは、例えば、ジョブを実行するためのリクエストを送信するワーカーを含む。リクエストが拒否されたまたは応答されなかった場合、第4の決定ノード1355は、さらに選別された部分セットに含まれる別のワーカーを特定するように構成されてもよい。
第5の決定ノード1365において、各ワーカーのジョブ仕様情報を決定することができる。例えば、1つ以上のワーカーの各々がジョブを受け入れるのに十分であると推定された下限閾値に対応する1つ以上のジョブ仕様を特定することができる。場合によって、決定ノード1360と決定ノード1365を合併してもよい。例えば、各ワーカーの閾値特定データを特定し、ユーザ装置に送信することができ、ユーザ装置は、さらに選別された部分セットに含まれるワーカーの選択に応答することができる。
第3の決定ノード1355、第4の決定ノード1360および第5の決定ノード1365で行われた各決定は、機械学習モデル1345にフィードバックすることができる。追加のフィードバック1370は、例えば、個々のワーカーがクエリプロセスに参加するためのリクエストを受け入れたか否かおよび/またはジョブを実行するためのリクエストを受け入れたか否かおよび/またはワーカーに関連するジョブを実行した質を示すことができる。
図14は、本発明のいくつかの実施形態に従って、機械学習モデルを反復的に使用して、決定木を通る経路を前進させるプロセス1400を示すフローチャートである。
プロセス1400は、ブロック1405から始まる。ブロック1405において、ジョブを割り当てるための決定木を表すデータ構造(例えば、データファイルまたはデータセット)を呼び出す。決定木の1つ以上の第1の決定ノードは、ワーカー情報またはジョブ情報の非構造化データを処理して意味のある構造化データに変換する方法に関する決定に対応してもよい。変換は、例えば、単語間の様々な関係および構造を検出し、その後、非構造化データ(例えば、テキストデータ)を特徴付けるために使用される特徴セットを定義するように訓練された教師なし機械学習モデルを用いて実行することができる。
ブロック1410において、機械学習モデルを用いて、ジョブ特徴データセットを生成する。ジョブ特徴データセットは、(ジョブ情報に表示される様々な特徴を特定する度合いを示す表示を介して)ジョブの特徴を示す一連の数値を含むことができる。ジョブ特徴データセットは、例えば、オンラインポータルを介して受信したジョブ情報(例えば、ジョブオファーデータ)を処理することによって生成することができる。
ブロック1415において、機械学習モデルを用いて、複数のワーカーの各々のワーカー仕様データセットを生成する。ワーカー特徴データセットは、ワーカーの特徴を示す一連の数値を含むことができる。ワーカー特徴データセットは、例えば、オンラインポータルを介して受信したワーカー情報(例えば、履歴書データ)を処理することによって生成することができる。ジョブ特徴データセットは、ワーカー情報のセマンティック分析を実行することによって生成することができる。
(個々のワーカーおよび/またはジョブの)仕様データセットは、単一の決定ノードによって生成されてもよく、またはワーカー仕様データセットおよびジョブ仕様データセットは、(例えば、異なる学習パラメータに基づいて)別々の決定ノードによって生成されてもよい。
ブロック1420において、決定木の反復に対応する経路が別の決定ノードに到達したことを検出する。他の決定ノードは、例えば、複数のワーカーを選別する(またはさらに選別する)方法および/またはワーカーに送信されるリクエストを構成する方法に関連する決定に対応してもよい。他の決定ノードは、機械学習モデル(例えば、特徴データセットの特徴を特定するために使用されるモデルとは異なる種類のモデル)を用いて入力データを処理することに基づいて決定を行うように、構成されてもよい。機械学習モデルは、例えば、ニューラルネットワークモデルを含むことができる。
ブロック1425において、ノードに対応する学習パラメータを取得する。学習パラメータは、ニューラルネットワークの1つ以上の重みを含むことができる。学習パラメータは、訓練プロセス中に生成されてもよい。
ブロック1430において、機械学習モデルを反復的に実行する。ノード固有学習パラメータを用いて、機械学習モデルを構成することができる。実行は、ジョブ関連特徴データセットと、1つ以上または全てのワーカー関連特徴データセットとを機械学習モデルに入力することを含む。場合によって、各ワーカー関連特徴データセットは、ジョブ関連特徴データセットと共に処理されるが、他のワーカー関連特徴データセットと共に処理されない(他のワーカー関連特徴データセットは、ジョブ関連特徴データセットと共に個別に処理される)。場合によって、全てのワーカー関連特徴データセットとジョブ関連特徴データセットは、モデルの特定の実行によって処理される。モデルの結果は、例えば、複数のワーカーを選別すること、複数のワーカーをランキングすること、および複数のワーカーの各々にスコアを割り当てることを含む。
決定木が追加の決定ノードを含む場合、プロセス1400は、ブロック1420に戻り、機械学習モデルを用いて、決定を行うまたは促進することができる。この機械学習モデルは、決定ノードに使用されたモデルと同じ種類であってもよく、異なる種類であってもよい。
ブロック1435において、1つ以上の決定ノードで生成された機械学習結果を用いて生成された1つ以上の結果を表す1つ以上の通信動作をトリガする。例えば、通信は、クエリプロセスに参加するまたはジョブを受け入れるワーカーに送信されるリクエストを含んでもよい。別の例として、通信は、決定ノードで生成されたワーカーの部分セットに含まれる1つ以上のワーカーの特定を含んでもよい。さらに別の例として、通信は、1つ以上のワーカーの各々に対して、例えば、ワーカー仕様がジョブ仕様に対応する推定度合い、ワーカーがクエリプロセスに参加するためのリクエストを受け入れる推定度合い、ワーカーがジョブを実行するためのリクエストを受け入れる推定度合い、またはワーカーがジョブを正常に実行する推定度合いを表す機械学習モデルを用いて生成されたランキングまたはスコアを含んでもよい。
上記に説明された特定の詳細は、実施形態の完全な理解を提供するために与えられる。理解すべきことは、これらの特定の詳細がなくても、実施形態を実施することができることである。例えば、不必要な詳細で実施形態を不明瞭にしないために、回路をブロック図で開示することができる。別の例として、実施形態を不明瞭にすることを避けるために、周知の回路、プロセス、アルゴリズム、構造、および技術を詳細に開示しない。
上述した技術、ブロック、ステップおよび手段は、様々な方法で実装することができる。例えば、これらの技術、ブロック、ステップおよび手段は、ハードウェア、ソフトウェア、またはそれらの組み合わせに実装することができる。ハードウェア実装の場合、処理ユニットは、1つ以上の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理装置(DSPD)、プログラマブルロジック装置(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、上述した機能を実行するように設計された他の電子ユニット、および/またはそれらの組み合わせに実装されてもよい。
また、留意すべきことは、各々の実施形態は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として示された処理として説明されていることである。フローチャートは、操作を順次処理として説明しているが、多くの操作は、並行でまたは同時に実行することができる。さらに、操作の順序を再配置してもよい。処理は、その操作が完了した時点で終了するが、図に示されていない追加のステップを含んでもよい。処理は、メソッド、関数、プロシージャ、サブルーチン、サブプログラムなどに対応することができる。処理が関数に対応する場合、その終了は、呼び出し関数またはメイン関数の戻りに対応することができる。
さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組み合わせによって実施されてもよい。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードに実施される場合、必要な作業を実行するためのプログラムコードまたはコードセグメントは、機械可読媒体、例えば、記憶媒体に格納されてもよい。コードセグメントまたは機械実行可能な命令は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、もしくは命令、データ構造またはプログラム文の任意の組合せを表すことができる。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容を転送および/または受信することによって、別のコードセグメントまたはハードウェア回路に結合されてもよい。情報、引数、パラメータおよびデータなどは、メモリ共有、メッセージ転送、トークン転送、ネットワーク送信などの任意の適切な手段を介して、伝達され、転送され、または送信されてもよい。
ファームウェアおよび/またはソフトウェア実装の場合、方法は、本明細書に説明された機能を実行するためのモジュール(例えば、プロシージャ、関数など)を用いて実装されてもよい。命令を有形に具体化する任意の機械可読媒体を用いて、本明細書に説明された方法を実装することができる。例えば、ソフトウェアコードをメモリに保存することができる。メモリは、プロセッサの内部またはプロセッサの外部に実装されてもよい。「メモリ」という用語は、本明細書に使用される場合、任意種類の長期記憶媒体、短期記憶媒体、揮発性記憶媒体、不揮発性記憶媒体、または他の記憶媒体を指し、特定の種類のメモリまたは特定の数のメモリまたはメモリを格納する媒体の種類に限定されない。
さらに、本明細書に開示されたように、「記憶媒体」という用語は、読取専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気RAM、コアメモリ、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリ装置、および/または情報を格納するための他の機械可読媒体を含み、データを記憶するための1つ以上のメモリを表すことができる。「機械可読媒体」という用語は、移動可能および固定された記憶装置、光学記憶装置、ワイヤレスチャネル、および/または命令および/またはデータを含むまたは運ぶことができる他の様々な記憶媒体を含むが、これらに限定されない。
特定の装置および方法に関連して上記で本開示の原理を説明したが、理解すべきことは、この説明は、例示のみであって、本開示の範囲を限定するものではないことである。

Claims (13)

  1. コンピュータで実行される方法であって、
    ジョブを割り当てるための決定木を表すデータ構造を呼び出すことを含み、前記決定木は、複数の連続決定ノードを含み、ワーカーの累進選別に対応する反復決定を実行するように構成され、1つ以上の経路の各々が前記複数の連続決定ノードのうち各決定ノードに延長することは、前記ジョブを実行するためのワーカーリクエストの構成に関する中間決定または最終決定をトリガし、
    前記決定木の経路を開始することを含み、前記経路は、前記ジョブに割り当てられる可能性がある複数のワーカーに関連付けられ、
    前記経路が前記決定木の前記複数の連続決定ノードのうち第1の決定ノードに到達したことを検出することと、
    第1セットの訓練データを用いて第1の機械学習モデルを訓練することによって生成された第1セットのノード固有学習パラメータを取得することとを含み、前記第1セットのノード固有学習パラメータは、非構造化データを構造化特徴データに変換する方法を定義し、
    数のワーカー関連非構造化データセットにアクセスすることを含み、前記複数のワーカー関連非構造化データセットの各々は、前記複数のワーカーのうち各ワーカーに対応し且つ非構造化データを含み、
    前記複数のワーカー関連非構造化データセットを用いて、前記第1セットのノード固有学習パラメータを用いて構成された前記第1の機械学習モデルの1回以上の第1の反復を実行することを含み、前記第1の機械学習モデルの前記1回以上の第1の反復の実行は、複数のワーカー特徴データセットを含む第1の結果を生成し、前記複数のワーカーのうち各ワーカーに対応し且つワーカー関連非構造化データセットが前記ワーカーに対応する対応度を示す前記複数のワーカー特徴データセットの各々は、一組の特徴の各々を表し、前記複数のワーカー特徴データセットの各々は、構造化データであり、前記一組の特徴は、前記第1セットのノード固有学習パラメータに基づいて定義され、
    前記複数のワーカー特徴データセットに基づいて、前記ジョブのために継続的に評価するための前記複数のワーカーの部分セットを特定することと、
    前記経路が前記決定木の前記複数の連続決定ノードのうち第2の決定ノードに到達したことを検出することと、
    第2セットの訓練データを用いて第2の機械学習モデルを訓練することによって生成された第2セットのノード固有学習パラメータを取得することとを含み、前記第2セットのノード固有学習パラメータは、構造化データを変換する方法を定義し、
    前記複数のワーカー特徴データセットの部分セットを用いて、前記第2セットのノード固有学習パラメータを用いて構成された第2の機械学習モデルの1回以上の第2の反復を実行することを含み、前記複数のワーカー特徴データセットの前記部分セットの各々は、前記複数のワーカーの前記部分セットの各ワーカーに対応し、前記第2の機械学習モデルの前記1回以上の第2の反復の実行は、前記ジョブと前記複数のワーカーの少なくとも1つの前記部分セットの各ワーカーとの間の推定の絶対的な対応度または相対的な対応度を示す第2の結果を生成し、
    前記第2の結果を表す通信動作をトリガすることを含む、方法。
  2. 複数のキーと値のペアを特定することをさらに含み、
    前記複数のキーと値のペアの各々は、前記複数のワーカーの前記部分セットの各ワーカーに対応し、
    前記第2の機械学習モデルの前記1回以上の第2の反復の実行は、前記複数のキーと値のペアをさらに使用し、
    前記第1の機械学習モデルの1回以上の第1の反復の実行は、前記複数キーと値のペアを使用しない、請求項1に記載の方法。
  3. 教師なし学習プロセスを用いて、前記第1セットのノード固有学習パラメータを学習することと、
    教師あり学習プロセスを用いて、前記第2セットのノード固有学習パラメータを学習することとをさらに含む、請求項1または2に記載の方法。
  4. 前記複数のワーカー特徴データセットの各ワーカー特徴データセットは、ベクトル、マトリックスまたはアレイを含み、
    前記ベクトル、マトリックスまたはアレイは、所定の次元数を有する、請求項1~3のいずれかに記載の方法。
  5. 前記ジョブに対応する非構造化ジョブデータセットにアクセスすることと、
    前記非構造化ジョブデータセットを用いて、前記第1セットのノード固有学習パラメータを用いて構成された前記第1の機械学習モデルの別の反復を実行することとをさらに含み、前記第1の機械学習モデルの前記別の反復の実行は、前記非構造化ジョブデータセットが前記一組の特徴の各々を表す程度を示すジョブ特徴データセットを生成し、
    前記ワーカーに対応する前記ワーカー特徴データセットおよび前記ジョブ特徴データセットに基づいて、前記複数のワーカーのうち各ワーカーのジョブ比較メトリックを生成することをさらに含み、前記複数のワーカーの前記部分セットは、前記複数のワーカーのために生成された前記ジョブ比較メトリックに基づいて特定される、請求項1~4のいずれかに記載の方法。
  6. 前記第1セットの訓練データを用いて、前記第1セットのノード固有学習パラメータを学習するように前記第1の機械学習モデルを訓練することをさらに含み、
    前記第1セットの訓練データは、他の非構造化データを含み、
    前記第1セットのノード固有学習パラメータは、特定のセマンティック特性を経験レベル、スキル、またはジョブ特性に関連付ける、請求項1~5のいずれかに記載の方法。
  7. 前記経路が前記決定木の前記複数の連続決定ノードのうち第3の決定ノードに到達したことを検出することと、
    前記複数のワーカー特徴データセットの少なくとも1つを用いて、第3セットのノード固有学習パラメータを用いて構成された第3の機械学習モデルの第3の反復を実行することとをさらに含み、前記第3の機械学習モデルの前記第3の反復の実行の第3の結果は、前記部分セットの特定のワーカーがジョブを実行するリクエストの受け入れをもたらすように推定された1つ以上のリクエスト構成を表し、前記リクエストは、前記1つ以上のリクエスト構成を用いて構成される、請求項1~6のいずれかに記載の方法。
  8. 前記通信動作をトリガすることは、前記第2の結果を含む通信をユーザ装置に送信することを含む、請求項1~7のいずれかに記載の方法。
  9. クエリプロセスに参加することをリクエストした1つ以上のワーカーは、前記第2の結果に基づいて前記複数のワーカーから特定され、
    前記方法は、前記クエリプロセスに参加するリクエストを前記1つ以上のワーカーの各ワーカーに関連付けられた装置に送信することをさらに含む、請求項1~8のいずれかに記載の方法。
  10. 前記第2の結果は、前記複数のワーカーの前記部分セットの各ワーカーのランキングまたはスコアを含む、請求項1~9のいずれかに記載の方法。
  11. 前記経路が前記決定木の前記複数の連続決定ノードのうち第2の決定ノードに到達したことを検出することと、
    前記ジョブを実行するためのリクエストを与える特定のワーカーを特定することと、
    前記特定のワーカーを特定するまたは前記特定のワーカーに送信される別の通信をトリガすることとをさらに含む、請求項1~10のいずれかに記載の方法。
  12. 請求項1~11のいずれかに記載の方法を1つまたは複数のプロセッサに実行させるためのコンピュータプログラム。
  13. 1つまたは複数のプロセッサと、
    請求項1~11のいずれかに記載の方法を前記1つまたは複数のプロセッサに実行させるためのコンピュータプログラムとを備える、システム。
JP2019177419A 2018-09-28 2019-09-27 反復的な人工知能を用いて、通信決定木を通る経路の方向を指定する Active JP7350590B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023148284A JP2023168364A (ja) 2018-09-28 2023-09-13 反復的な人工知能を用いて、通信決定木を通る経路の方向を指定する

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/146,678 2018-09-28
US16/146,678 US11321614B2 (en) 2017-09-29 2018-09-28 Directed trajectories through communication decision tree using iterative artificial intelligence

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023148284A Division JP2023168364A (ja) 2018-09-28 2023-09-13 反復的な人工知能を用いて、通信決定木を通る経路の方向を指定する

Publications (3)

Publication Number Publication Date
JP2020057386A JP2020057386A (ja) 2020-04-09
JP2020057386A5 JP2020057386A5 (ja) 2022-10-05
JP7350590B2 true JP7350590B2 (ja) 2023-09-26

Family

ID=70029617

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019177419A Active JP7350590B2 (ja) 2018-09-28 2019-09-27 反復的な人工知能を用いて、通信決定木を通る経路の方向を指定する
JP2023148284A Pending JP2023168364A (ja) 2018-09-28 2023-09-13 反復的な人工知能を用いて、通信決定木を通る経路の方向を指定する

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023148284A Pending JP2023168364A (ja) 2018-09-28 2023-09-13 反復的な人工知能を用いて、通信決定木を通る経路の方向を指定する

Country Status (2)

Country Link
JP (2) JP7350590B2 (ja)
CN (1) CN110969184A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112861005A (zh) * 2021-02-22 2021-05-28 上海风秩科技有限公司 用于信息推送的方法及装置、设备
JP6945909B1 (ja) * 2021-06-04 2021-10-06 株式会社アクリート メッセージ伝達シナリオ生成装置、メッセージ伝達シナリオ生成方法、及びメッセージ伝達シナリオ生成プログラム
CN113641433A (zh) * 2021-08-10 2021-11-12 广州鲁邦通智能科技有限公司 基于i18n技术的前端国际化多语言文件的多语言页面转换方法和单元
CN115858111B (zh) * 2022-11-16 2023-11-28 上海自然而然信息科技有限公司 一种基于动态场景的智能调度方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010001792A1 (ja) 2008-07-01 2010-01-07 コニカミノルタエムジー株式会社 データベースシステム
JP2011198181A (ja) 2010-03-23 2011-10-06 Fujifilm Corp 判別器生成装置および方法並びにプログラム
CN105787639A (zh) 2016-02-03 2016-07-20 北京云太科技有限公司 基于人工智能的人才大数据量化精确匹配方法和装置
US20170004454A1 (en) 2015-06-30 2017-01-05 Linkedin Corporation Learning to rank modeling
WO2017112914A2 (en) 2015-12-23 2017-06-29 Pymetrics, Inc. Systems and methods for data-driven identification of talent

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010001792A1 (ja) 2008-07-01 2010-01-07 コニカミノルタエムジー株式会社 データベースシステム
JP2011198181A (ja) 2010-03-23 2011-10-06 Fujifilm Corp 判別器生成装置および方法並びにプログラム
US20170004454A1 (en) 2015-06-30 2017-01-05 Linkedin Corporation Learning to rank modeling
WO2017112914A2 (en) 2015-12-23 2017-06-29 Pymetrics, Inc. Systems and methods for data-driven identification of talent
CN105787639A (zh) 2016-02-03 2016-07-20 北京云太科技有限公司 基于人工智能的人才大数据量化精确匹配方法和装置

Also Published As

Publication number Publication date
JP2023168364A (ja) 2023-11-24
JP2020057386A (ja) 2020-04-09
CN110969184A (zh) 2020-04-07

Similar Documents

Publication Publication Date Title
US11775843B2 (en) Directed trajectories through communication decision tree using iterative artificial intelligence
JP7465802B2 (ja) 反復人工知能を使用する通信決定ツリーを通る方向付けされたトラジェクトリ
US11321759B2 (en) Method, computer program product and system for enabling personalized recommendations using intelligent dialog
JP7350590B2 (ja) 反復的な人工知能を用いて、通信決定木を通る経路の方向を指定する
US8843427B1 (en) Predictive modeling accuracy
US9342798B2 (en) Customized predictive analytical model training
US20160191450A1 (en) Recommendations Engine in a Layered Social Media Webpage
US10937060B2 (en) Intelligent location based notification
US20140129331A1 (en) System and method for predicting momentum of activities of a targeted audience for automatically optimizing placement of promotional items or content in a network environment
US20110066507A1 (en) Context Enhanced Marketing of Content and Targeted Advertising to Mobile Device Users
US10102503B2 (en) Scalable response prediction using personalized recommendation models
EP2876589A1 (en) Recommendation system for specifying and achieving goals
US10042944B2 (en) Suggested keywords
US10909571B2 (en) Visitor identification based on feature selection
US20170374001A1 (en) Providing communication ranking scheme based on relationship graph
US20220405485A1 (en) Natural language analysis of user sentiment based on data obtained during user workflow
US11551281B2 (en) Recommendation engine based on optimized combination of recommendation algorithms
JP2022096632A (ja) コンピュータ実装方法、コンピュータシステムおよびコンピュータプログラム(データ属性に基づくデータセットのランク付け)
Hole et al. The use of heuristic optimization algorithms to facilitate maximum simulated likelihood estimation of random parameter logit models
US11126676B2 (en) Influence rank generation system for enterprise community using social graph
US20210350202A1 (en) Methods and systems of automatic creation of user personas
US11915256B2 (en) Customized merchant price ratings
US11204965B2 (en) Data analytics and insights brokerage service
JP7223164B2 (ja) データインテグリティの最適化
EP4367623A1 (en) Customized merchant price ratings

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220927

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220927

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230809

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230816

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230913

R150 Certificate of patent or registration of utility model

Ref document number: 7350590

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150