(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-07
(45)【発行日】2023-08-16
(54)【発明の名称】キャンバス上で接続される位置決め可能な要素に基づき通信決定ツリーを構成するための方法およびシステム
(51)【国際特許分類】
G06Q 30/0251 20230101AFI20230808BHJP
G06N 20/00 20190101ALI20230808BHJP
【FI】
G06Q30/0251
G06N20/00
(21)【出願番号】P 2020517911
(86)(22)【出願日】2018-09-18
(86)【国際出願番号】 US2018051422
(87)【国際公開番号】W WO2019067258
(87)【国際公開日】2019-04-04
【審査請求日】2021-09-17
(32)【優先日】2017-09-29
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-06-13
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502303739
【氏名又は名称】オラクル・インターナショナル・コーポレイション
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ロバーツ,タラ・ユー
(72)【発明者】
【氏名】ペアメイン,マイケル
(72)【発明者】
【氏名】ステンズビー,ジョナサン
(72)【発明者】
【氏名】ヨーディ,ケビン
(72)【発明者】
【氏名】スットターコン,カレン
【審査官】藤澤 美穂
(56)【参考文献】
【文献】米国特許第07392162(US,B1)
【文献】特開2017-054176(JP,A)
【文献】特開2016-004551(JP,A)
【文献】特開2013-246694(JP,A)
【文献】特開2004-302904(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
コンピュータによって実現される方法であって、
トラジェクトリが通るように延在される通信決定ツリーを定義するためのインターフェイスを利用することを含み、
前記インターフェイスは、位置決め可能な視覚的要素のセットを含み、
前記位置決め可能な視覚的要素のセットは、
アクション定義視覚的要素のセットを含み、前記アクション定義視覚的要素のセットの各アクション定義視覚的要素は、所与のトラジェクトリが前記アクション定義視覚的要素に延在した場合に行なわれるべき特定のアクションを表わしており、
前記アクション定義視覚的要素のセットは、
マシンラーニング技術を使用して通信仕様を識別するように決定アクションを表わすスイッチ視覚的要素と、
通信視覚的要素のセットとを含み、前記通信視覚的要素のセットの各々は、特定の通信仕様を表わしており、
前記位置決め可能な視覚的要素のセットはさらに、複数の位置決めされる視覚的要素を方向性を持って接続するように構成される接続視覚的要素を含み、前記複数の位置決めされる視覚的要素の各位置決めされる視覚的要素は、前記アクション定義視覚的要素のセットのアクション定義視覚的要素に対応しており、方向性を持った前記接続は、前記複数の位置決めされる視覚的要素によって表わされる特定のアクションが生じる順序を示しており、
前記インターフェイスはさらに、前記位置決め可能な視覚的要素のセットのうちの1つ以上の位置決めを受け入れるように構成されるキャンバスを含み、
前記方法はさらに、
前記キャンバスへのアップデートを検出することを含み、
アップデートされた前記キャンバスは、
第1の位置に位置決めされる前記スイッチ視覚的要素と、
第2の位置に位置決めされる、前記通信視覚的要素のセットのうちの第1の通信視覚的要素とを含み、前記第1の通信視覚的要素は、第1の特定の通信仕様を表わしており、
アップデートされた前記キャンバスはさらに、
第3の位置に位置決めされる、前記通信視覚的要素のセットのうちの第2の通信視覚的要素を含み、前記第2の通信視覚的要素は、第2の特定の通信仕様を表わしており、
アップデートされた前記キャンバスはさらに、
接続視覚的要素のセットを含み、前記接続視覚的要素のセットの各々は前記接続視覚的要素のインスタンスであり、前記接続視覚的要素のセットの第1の接続は、前記第1の通信視覚的要素に前記スイッチ視覚的要素を接続し、前記接続視覚的要素のセットの第2の接続は前記第2の通信視覚的要素に前記スイッチ視覚的要素を接続し、前記接続視覚的要素のセットは、前記スイッチ視覚的要素での前記マシンラーニング技術の実行の潜在的な結果が、前記第1の特定の通信仕様を有する
データ送信をトリガする第1の結果と、前記第2の特定の通信仕様を有する
データ送信をトリガする第2の結果とを含むことを示し、
前記方法はさらに、
アップデートされた前記キャンバスに基づいて、特定の通信決定ツリーを定義することを含み、前記特定の通信決定ツリーは、実施される際、および、
通信チャネルを決定するための特定のプロファイルデータに関連付けられる所与のトラジェクトリが、前記スイッチ視覚的要素によって表わされる特定の決定アクションに延在していることを検出することに応答して、
前記第1および第2の特定の通信仕様のうちのいずれか1つがコンテンツ送信のために適用されるべきであるかを示すマシンラーニング結果を作り出すために、前記特定のプロファイルデータ
を、前記マシンラーニング技術およびラーニング済パラメータデータを使用する
マシンラーニングモデルに入力することと、
前記トラジェクトリに関連付けられるユーザデバイスへコンテンツを送信することとをトリガし、前記送信は、前記マシンラーニング結果において示されるように前記第1および第2の特定の通信仕様のうちの前記1つに従う、方法。
【請求項2】
前記インターフェイスまたは別のインターフェイスはさらに、
前記マシンラーニングモデルを定義するハイパーパラメータに含まれる変数のうち、前記通信決定ツリー内のターゲットノードを識別する最適化変数の仕様を受け取るように構成される入力コンポーネントを含み、
前記方法はさらに、
前記入力コンポーネントにおいて、特定の最適化変数を識別する新しいデータを検出することと、
前記ラーニング済パラメータデータの少なくとも部分を生成するために、前記特定の最適化変数を使用して、マシンラーニングモデルを学習させることとを含み、
前記マシンラーニング技術およびラーニング済パラメータデータを使用することは、前記ラーニング済パラメータデータにより構成される前記マシンラーニングモデルを実行することを含む、請求項1に記載の方法。
【請求項3】
前記インターフェイスまたは別のインターフェイスはさらに、前記マシンラーニング
モデルに
入力される1つ以上のプロファイル属性の識別を受け取るように構成される1つ以上の入力コンポーネントを含み、前記特定のプロファイルデータは前記1つ以上のプロファイル属性を選択的に含む、請求項1に記載の方法。
【請求項4】
前記ラーニング済パラメータデータを修正するための特定の通信
仕様に向かうまたは反するバイアスの指示を受け取ることと、
前記バイアスに対応する調節を前記マシンラーニング技術に実施することとをさらに含み、前記マシンラーニング結果は、前記調節が実施された前記マシンラーニング技術を使用して作り出される、請求項1~3のいずれかに記載の方法。
【請求項5】
トラジェクトリのセットにアクセスすることをさらに含み、前記トラジェクトリのセットのうちの少なくともいくつかの各トラジェクトリは、異なる通信決定ツリーの少なくとも部分に沿ったパスを識別しており、前記方法はさらに、
前記ラーニング済パラメータデータを生成するために前記特定の通信決定ツリーおよび前記トラジェクトリのセットを使用して、
前記特定の通信決定ツリー内のノードに到達するよう、各トラジェクトリにより識別されるパスが延在しているか否かを判定することによる学習タスクを行なうことを含む、請求項1~4のいずれかに記載の方法。
【請求項6】
前記第1の特定の通信仕様および前記第2の特定の通信仕様の各々は、異なるタイプの通信チャネルを識別し、前記コンテンツは、前記マシンラーニング結果によって示されるように、前記異なるタイプの通信チャネルのうちの1つを介して送信される、請求項1~5のいずれかに記載の方法。
【請求項7】
アップデートされた前記キャンバスはさらに、
第3の位置に位置決めされる第2のスイッチ視覚的要素と、
第4の位置に位置決めされる第3の通信視覚的要素とを含み、前記第3の通信視覚的要素は、第3の特定の通信仕様を表わし、
アップデートされた前記キャンバスはさらに、
第5の位置に位置決めされる第4の通信視覚的要素を含み、前記第4の通信視覚的要素は、第4の特定の通信仕様を表わし、
前記接続視覚的要素のセットはさらに、
前記第3の通信視覚的要素に前記第2のスイッチ視覚的要素を接続する第3の接続と、前記第4の通信視覚的要素に前記第2のスイッチ視覚的要素を接続する第4の接続とを含み、前記第3および第4の通信視覚的要素は、前記第2のスイッチ視覚的要素での前記マシンラーニング技術の実行の潜在的な結果が、前記第3の特定の通信仕様を有する
データ送信をトリガする第3の結果と、前記第4の特定の通信仕様を有する
データ送信をトリガする第4の結果とを含むことを示しており、
前記特定の通信決定ツリーはさらに、実施される際、および、
通信チャネルを決定するための特定のプロファイルデータに関連付けられる前記所与のトラジェクトリが、前記第2のスイッチ視覚的要素によって表わされる他の特定の決定アクションに延在していることを検出することに応答して、
前記第3および第4の特定の通信仕様のうちのいずれ1つが他のコンテンツ送信のために適用されるべきであるかを示す他のマシンラーニング結果を作り出すために、前記特定のプロファイルデータの少なくとも部分
を、前記マシンラーニング技術および他のラーニング済パラメータデータを使用する
マシンラーニングモデルに入力することと、
前記他のマシンラーニング結果において示されるように、前記第3および第4の特定の通信仕様のうちの前記1つに従って前記ユーザデバイスに他のコンテンツを送信することとをトリガするように、定義される、請求項1~6のいずれかに記載の方法。
【請求項8】
前記インターフェイスは、前記位置決め可能な視覚的要素のセットのうちの各個々の視覚的要素が前記キャンバス内の位置へドラッグおよびドロップされることが可能であるように構成される、請求項1~7のいずれかに記載の方法。
【請求項9】
前記特定のプロファイルデータ
を、前記マシンラーニング技術およびラーニング済パラメータデータを使用する
マシンラーニングモデルに入力することは、前記特定のプロファイルデータに回帰モデルを適用することを含む、請求項1~8のいずれかに記載の方法。
【請求項10】
請求項1~9のいずれかに記載の方法をコンピュータに実行させるためのプログラム。
【請求項11】
請求項10に記載のプログラムを格納した不揮発性のコンピュータ読み取り可能な記憶媒体と、
前記プログラムを実行するための1つ以上のプロセッサとを備える、システム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
本出願は、2017年9月29日に出願された米国仮出願番号第62/566,026号の利益および優先権を主張する2018年6月13日に出願された米国出願番号第16/007,762号への優先権を主張する。これらの出願の各々は全文、すべての目的について参照により援用される。
【0002】
分野
実施形態は、通信決定ツリーの全体にわたって人工知能(AI: artificial-intelligence)決定ノードを構成することに関する。決定ノードは、ツリーを通るトラジェクトリに対応する反復データを動的に定義するためにAIモデルの連続的な反復をサポートし得る。
【背景技術】
【0003】
背景
技術的な進歩によって、複数のタイプの通信チャンネルのアクセシビリティおよび複雑性が向上した。さらに、データストレージおよびネットワークの進歩によって、キャパシティが増加し、増加した量の(および多様な)データが、潜在的な送信のためにデータソースに格納され得る。したがって、データソースは、多くの潜在的な時間において、複数のデータチャンネルのうちのいずれかにわたって多くのタイプのデータを送達するよう位置決めされ得る。単一の配布の代わりに複数の関連するコンテンツ送達を考慮する場合、コンテンツ送達オプションのアレイは爆発的に増加する。コンテンツプロバイダはしばしば、同じ通信チャンネルを通じて各データインジェスタ(data ingester)に同じコンテンツを区別なく提供するよう、1つ以上の静的なルールを構成する。通信仕様は、異なるデータ要求の受信にわたって異なり得るが、当該ルールは、区別なく一貫してデータ要求に応答するように構成され得る。このアプローチは、構成の簡潔さおよび決定的動作を提供するが、データインジェスタのポピュレーションにわたる潜在的な変動に反応できないため、要求を準最適に扱い得る。
【発明の概要】
【0004】
概要
いくつかの実施形態において、コンピュータによって実現される方法が提供される。通信交換に対応するトラジェクトリが通るように延在される通信決定ツリーを定義するためのインターフェイスが利用される。インターフェイスは、アクション定義視覚的要素のセットを含む位置決め可能な視覚的要素のセットを含む。アクション定義視覚的要素のセットの各アクション定義視覚的要素は、所与のトラジェクトリがアクション定義視覚的要素に延在した場合に行なわれるべき特定のアクションを表わす。アクション定義視覚的要素のセットは、マシンラーニング技術を使用して通信仕様を識別するように決定アクションを表わすスイッチ視覚的要素を含む。アクション定義視覚的要素のセットはさらに、通信視覚的要素のセットを含み、通信視覚的要素のセットの各々は、特定の通信仕様を表わす。位置決め可能な視覚的要素のセットはさらに、複数の位置決めされる視覚的要素を方向性を持って接続するように構成される接続視覚的要素を含む。複数の位置決めされる視覚的要素の各位置決めされる視覚的要素は、アクション定義視覚的要素のセットのアクション定義視覚的要素に対応する。方向性を持った接続は、複数の位置決めされる視覚的要素によって表わされる特定のアクションが生じる順序を示す。インターフェイスはさらに、位置決め可能な視覚的要素のセットのうちの1つ以上の位置決めを受け入れるように構成されるキャンバスを含む。キャンバスへのアップデートが検出される。アップデートされたキャンバスは、第1の位置に位置決めされるスイッチ視覚的要素と、第2の位置に位置決めされる通信視覚的要素のセットの第1の通信視覚的要素とを含む。第1の通信視覚的要素は第1の特定の通信仕様を表わす。アップデートされたキャンバスはさらに、第3の位置に位置決めされる通信視覚的要素のセットの第2の通信視覚的要素を含む。第2の通信視覚的要素は第2の特定の通信仕様を表わす。アップデートされたキャンバスはさらに、接続視覚的要素のセットを含む。接続視覚的要素のセットの各々は接続視覚的要素のインスタンスである。接続視覚的要素のセットの第1の接続は、第1の通信視覚的要素にスイッチ視覚的要素を接続する。接続視覚的要素のセットの第2の接続は第2の通信視覚的要素にスイッチ視覚的要素を接続する。接続視覚的要素のセットは、スイッチ視覚的要素でのマシンラーニング技術の実行の潜在的な結果が、第1の特定の通信仕様を有する通信送信をトリガする第1の結果と、第2の特定の通信仕様を有する通信送信をトリガする第2の結果とを含むことを示す。アップデートされたキャンバスに基づいて、特定の通信決定ツリーを定義され、特定の通信決定ツリーは、実施される際、および、特定のプロファイルデータに関連付けられる所与のトラジェクトリが、スイッチ視覚的要素によって表わされる特定の決定アクションに延在していることを検出することに応答して、第1および第2の特定の通信仕様のうちのいずれか1つがコンテンツ送信のために適用されるべきであるかを示すマシンラーニング結果を作り出すために、特定のプロファイルデータを処理するよう、マシンラーニング技術およびラーニング済パラメータデータを使用することをトリガする。上記実施はさらに、トラジェクトリに関連付けられるユーザデバイスへコンテンツを送信することとをトリガし、送信は、マシンラーニング結果において示されるように第1および第2の特定の通信仕様のうちの1つに従う。
【0005】
いくつかの実施形態では、一時的でないマシン読取可能記憶媒体において有形的に具現化されるコンピュータプログラムプロダクトが提供される。コンピュータプログラムプロダクトは、本願明細書において開示される1つ以上の方法の一部またはすべての動作を1つ以上のデータプロセッサに行なわせるように構成される命令を含み得る。
【0006】
いくつかの実施形態では、1つ以上のデータプロセッサと、命令を含む一時的でないコンピュータ読取可能記憶媒体とを含むシステムが提供される。命令は、1つ以上のデータプロセッサ上で実行されると、本願明細書において開示される1つ以上の方法の一部またはすべての動作を1つ以上のデータプロセッサに行なわせる。
【0007】
本発明の例示的な実施形態が以下の図面を参照して以下に詳細に記載される。
【図面の簡単な説明】
【0008】
【
図1】インタラクションシステムのブロック図を示す図である。
【
図2】Eメール通信を生成するために使用されるテンプレートを示す図である。
【
図3】アプリ通知通信を生成するために使用されるテンプレートを示す図である。
【
図5】ユーザデバイスに対応するとともに通信決定ツリーを通って延在するトラジェクトリの例を示す図である。
【
図6】通信決定ツリーを定義する例示的なインターフェイスを示す図である。
【
図7】スイッチアイコンのための例示的なパラメータ定義インターフェイスを示す図である。
【
図8】通信におけるさまざまなコンテンツを表わすことに向かうバイアスまたは表わすことに反するバイアスを実行するオプションを含む別の例示的なパラメータ定義インターフェイスを示す図である。
【
図9】通信を送信するようさまざまな通信チャンネルを使用することに向かうバイアスまたは使用することに反するバイアスを実行するオプションを含む別の例示的なパラメータ定義インターフェイスを示す図である。
【
図10】本発明のいくつかの実施形態に従った通信決定ツリーを通るトラジェクトリを方向付けするためにマシンラーニングを使用するためのプロセスについてのフローチャートを示す図である。
【
図11】位置決め可能な視覚的要素をサポートするインターフェイスを使用して、マシンラーニングベースの通信決定ツリーを定義するためのプロセスについてのフローチャートを示す図である。
【発明を実施するための形態】
【0009】
説明
いくつかの実施形態では、通信交換を部分的に定義するためにマシンラーニングの実施のシーケンスを構成することを促進するよう、キャンバス(canvas)を利用するシステムおよび方法が提供される。より具体的には、通信視覚的要素の対応するセットに対する個々のスイッチ視覚的要素の位置決めおよび接続を受け入れるキャンバスが利用される。その後、通信決定ツリーが、位置決めおよび接続される視覚的要素のセットに基づいて生成され得る。キャンバスは、各通信視覚的要素について、通信視覚的要素に関連付けられる1つ以上の通信仕様の識別を受け入れるように構成され得る。各スイッチ視覚的要素は、スイッチ視覚的要素に接続される通信視覚的要素のセットから特定の通信視覚的要素を選択するために使用される(学習を通じてラーニングされる特定のパラメータに関連付けられるべき)マシンラーニング技術を表し得る。キャンバスは、マシンラーニング選択を方向付けし得る(たとえば、ユーザが開始したイベントまたは通信を表わす)ターゲットとする成果の識別を(たとえば各スイッチ視覚的要素について、または、一般的に)受け入れるように構成され得る。したがって、マシンラーニング技術を使用して選択される特定の通信視覚的要素は、相対的に(たとえば、通信決定ツリーにおけるイベント視覚的要素として表わされ得る)ターゲットとする成果に帰着する可能性があると予測される通信仕様に対応し得る。
【0010】
マシンラーニングモデルは、各表わされたスイッチ視覚的要素について定義され得る。マシンラーニングモデルは、他の通信決定ツリーに関係する以前のトラジェクトリを使用して学習され得る(しかしながら、たとえば学習されているモデルにおいて通信視覚的要素によって表わされるものと同様または同じ通信仕様に対応する通信視覚的要素を有する他の通信決定ツリーを活用する)。たとえば、モデルは、特定の通信仕様を有する通信をトリガするようにルーティングされるトラジェクトリについて、それらのトラジェクトリによってその後のユーザが開始したどのようなイベントが表わされたのか(および、たとえばトラジェクトリのどの部分が、クライアントが識別したターゲットとする成果の発生を表わしたのか)を決定することにより学習され得る。モデルは、さらにまたは代替的に、生成される通信決定ツリーに関係するトラジェクトリを使用して、それらが出現すると、学習され得る。
【0011】
いくつかの場合、モデルは、以前のイベントを反映するデータセット(たとえば同じまたは異なる通信決定ツリーを通るトラジェクトリおよび/またはイベントシーケンスの他の指示)を使用して学習され得、新しいデータにより増強される。当該新しいデータは、(たとえば新しく受け取られるフォーム入力またはメタデータ検出を介して)最近利用可能になったものであり得るが、静的であるかまたは予想可能に変化していると推測される変数タイプに対応し得る。たとえば、ユーザの年齢が時間Xにおいて識別される場合、時間X-3年におけるユーザの年齢が計算され得るが、延長された時間期間に亘る関心または位置の変数のレトロスペクティブな推定の精度はあまり信頼度がない場合がある。学習は、新しいデータにおいて表わされるさまざまな属性が、特定のイベントが生じるか否かを予測したか否かを判定し得る。
【0012】
インターフェイスは、さまざまなマシンラーニングステージにおいて適用されるべきバイアスに関して指示を受け入れるように構成され得る。たとえば、通信視覚的要素の特定のセットに接続される所与のスイッチ素子に関して、パス選択が、第1の視覚的要素に向かってブーストされる(または第1の視覚的要素から抑制される)べきであることを示すよう、クライアントは、第1の視覚的要素に視覚的に関連付けられるスライダコントロールとインタラクションし得る。マシンラーニングモデルへフィードされるメタデータは、対応するバイアスの実行を可能にするために、当該インタラクションに基づいてセットされ得る。いくつかの場合、メタデータは、その後、ラーニングされたパラメータ(たとえば重み)を調節または制約するために使用されるラーニングされていないハイパーパラメータに対応し得る。いくつかの場合、メタデータは、マシンラーニングモデルによって生成される結果に適用されるべき後処理調節を定義するために使用され得る。いくつかの場合、クライアントまたはシステムは、要素によって表わされる通信仕様に対応する学習データが、(たとえば一般的におよび/または所与の通信ステージと関連して)相対的に低い場合、所与の通信視覚的要素に向かうバイアスを実現する。
【0013】
キャンバスを使用して示される視覚的要素構成に基づいて生成される通信決定ツリーは、ノードのセットを含み得る。各ノードは、(たとえば)検出されたイベントまたは分岐ノードに対応し、当該分岐ノードは、通信仕様決定に対応し、かつ、1つ以上の特定の通信仕様に対応する通信を表わす複数の次のノードに接続される。通信決定ツリーを通る各個々のトラジェクトリは、個々のユーザおよび/または1つ以上の特定のユーザデバイスに対応し得る。各個々のトラジェクトリは、ノードのセットの特定のサブセットにわたって延在し得る。当該サブセットにおけるノードは、ユーザによって開始される特定のアクションおよび/もしくは1つ以上の特定のデバイスのうちの特定のユーザデバイスにおいて開始される特定のアクションを表し、1つ以上の特定のデバイスのうちの特定のユーザデバイスに送信される通信の特定の特徴を表し、ならびに/または、来るべき通信の仕様に関してなされる決定を表す。たとえば、来るべき通信の仕様は、それが送信されるべき時、それが送信されるべきデバイス、それが送信されるべき通信チャンネルのタイプ、および/または、それが含むべきコンテンツのタイプを示し得る。いくつかの場合、学習セットにおいて送信される1つ以上のコンテンツオブジェクトの各々および/または送信のために利用可能な1つ以上のコンテンツオブジェクトの各々に1つ以上のカテゴリを割り当てるために自然言語処理が使用され得る。次いで、通信仕様が、送信されるべきコンテンツの特定のカテゴリを識別し得る。
【0014】
各通信仕様の決定は、ユーザおよび/または特定のユーザデバイスに対応する現在のプロファイルデータと、マシンラーニングモデルと、マシンラーニングモデルのための1つ以上のラーニング済パラメータとに基づき、なされ得る。当該パラメータは、他のユーザのセットに関連付けられるユーザデータであって、他のユーザのセットの各々について、他のユーザの1つ以上の属性および/またはイベントのセット(たとえば、ユーザが開始したアクションまたはユーザに送信される通信の特徴)を示すユーザデータに基づいてラーニングされ得る。パラメータはさらに、通信決定ツリー内の特定のノードおよび/またはユーザによって開始される特定のアクションに対応する(たとえば、クライアントによって識別される)トラジェクトリターゲットに基づいてラーニングされ得る。
【0015】
通信決定ツリーは、複数の仕様決定が単一のトラジェクトリについてなされ得るように、(たとえば、各々がスイッチ視覚的要素に対応する)複数の分岐ノードを含むように構成され得る。いくつかの場合では、各決定は、同じタイプのマシンラーニングアルゴリズム(たとえば教師あり回帰アルゴリズム)を使用してなされる。しかしながら、当該アルゴリズムは、分岐ノードの各々において異なって構成されてもよく、そのため、分岐ノードは、(たとえば)各トラジェクトリについて処理される入力のタイプ、および/または、トラジェクトリに対応する入力を処理するために使用されるラーニング済パラメータとについて、異なる。さまざまな場合において、異なる分岐ノードのためのアルゴリズムは、(たとえば、同じターゲットノードまたは異なるターゲットノードの識別に基づいて)同じまたは異なる変数を最適化するように学習され得る。アルゴリズムが処理するように構成される入力のタイプに関して分岐ノードが変動し得るだけでなく、さらに、所与のユーザについて潜在的に処理されるように利用可能なプロファイルデータのタイプも変動し得る(たとえば、プロファイルデータは、インタラクションモニタリングにより時間にわたって蓄積し得る)。さらに、任意の所与のノードに関連付けられるラーニング済データは、(連続的および/または繰り返されるラーニングにより)時間において変化し得る。
【0016】
一例として、あるユーザについてのトラジェクトリは、ユーザに対応するプロファイルデータが少なくともフィールドの予め定義されたセットについての情報を含んでいることを検出すると、初期化され得る。プロファイルデータは、当該ユーザに関連付けられる1つ以上のセッションを介して1つ以上のウェブサーバを使用して収集され得、および/または、リモートデータソースから抽出され得る。いくつかの場合、ユーザデバイスは、プロファイルデータのうちの少なくともいくつかを自動的に検出し、(たとえば、一意のデバイス識別子、MACアドレス、ブラウザタイプ、ブラウザバージョン、オペレーティングシステムタイプ、オペレーティングシステムバージョン、デバイスタイプ、デバイスがセットされる言語などを識別する、通信において自動的にポピュレートされたヘッダー情報を介して)ウェブサーバにそれを通信する。いくつかの場合、通信は、ユーザ入力(たとえば、ウェブフォームに入力されるテキスト、リンク選択、ページナビゲーションなど)を表わすデータを含んでおり、当該データは、プロファイルデータとしてログが取られ得る。
【0017】
トラジェクトリを初期化することは、第1の分岐ノードを含み得る通信決定ツリー内の第1のノードを識別することを含み得る。第1の決定ノードは、複数のコンテンツオブジェクトのうちどれをユーザのデバイスへのEメール通信内で送信するべきかを識別する(たとえばウェブサイトに関連付けられるアイテムおよび/または情報のさまざまなグループを識別する)ことに関する決定に対応し得る。第1の決定ノードはさらに、2日間の期間内におけるEメールを送るべき時に関する決定に対応し得る。当該決定は、特定タイプのユーザについて、どのタイプのオブジェクトおよび/または通信時間がターゲットとする成果に結びつく可能性が最も高いかを示す第1のラーニング済データに基づいてなされ得る。たとえば、ターゲットとする成果は、ユーザがウェブサイト上のページにアクセスするためにEメール内のリンクをアクティベートすることの発生、および/または、コンバージョン(たとえばウェブサイト上で表わされるアイテムの購入)に対応する態様でユーザがウェブサイトとインタラクションすることの発生を含み得る。第1のラーニング済データは、ターゲットとする成果を得ることにおいて、3つのコンテンツオブジェクトのうちどれがより有効であるかに関する予測ファクタが、ユーザが(ラップトップまたはコンピュータに対して)最も頻繁にモバイルデバイスを使用するか否かと、ユーザの年齢と、どのタイプのコンテンツオブジェクトについてユーザがリンクをクリックしたかに関する以前のEメールインタラクション指示とを含むことを示し得る。
【0018】
ひとたびEメールが送られると、トラジェクトリは、次のイベントが検出されるまで、送信されたコンテンツを表わすノードに延在し得る。次のイベントは、(たとえば)ウェブサイト内のリンクのアクティベーションを含み得、これにより、ユーザがウェブサイトとの現在のセッションにエンゲージしていることを示す。このイベントを検出すると、トラジェクトリは、ウェブサイト上の要求されたウェブページをどのように(たとえば動的なコンテンツオブジェクトを含むべきか否か、および/または、さまざまなコンテンツオブジェクトをどのように配置するかの点で)構成するかを決定するよう、第2の決定ノードに延在し得る。この例において、第2のラーニング済データは、特定タイプのユーザについて、どの構成が同じターゲットとする成果ヘ導く可能性が最も高いかを示す。たとえば、第2のラーニング済データは、ターゲットとする成果を得ることにおいて、4つの構成のうちどれがより有効であるかに関する予測ファクタが、ユーザが(ラップトップまたはコンピュータに対して)最も頻繁にモバイルデバイスを使用するか否かと、ブラウザタイプと、ユーザデバイスの現在位置と、当該ユーザ位置での日の現在時間とを含むことを示し得る。ひとたび(第2の決定ノードでなされた決定に従って構成される)ウェブページが送られると、トラジェクトリは、送信されたウェブページの構成を表わすノードに延在し得る。トラジェクトリは、さまざまなユーザが開始したイベント、システムが開始したイベントまたは外部イベント(たとえば以前のイベントから予め定義された時間間隔の経過)を検出すると、延在し続け得る。
【0019】
この例において、ターゲットとする成果は複数の決定にわたって同じままである。しかしながら、本願明細書において開示される技術は、行なうべきアクションの静的なワークフローを識別するのではなく、または、行なうべきアクションのユーザに固有の完全なシーケンスを判定するのではなく、個々のアクションに関係する決定を、現在のプロファイルデータ、現在のラーニング済データおよび現在のイベント検出に基づかせる。マシンラーニングは、行なわれるべき断片的なアクションを識別するために特定のトラジェクトリのライフサイクルの全体にわたって反復的に実行される。このアプローチは、(たとえば中間プロセス決定においてラーニング済データおよび/またはプロファイルデータの拡張および/または発展が利用され得るので)データの高い利用を促進し得、これにより、ターゲットとする目的の達成を促進し得る。さらに、当該アプローチは、マシンラーニング技術の定義および/または制約への(たとえば、クライアントによって開始される)変更が、(たとえば、変更が、既に開始されたトラジェクトリに影響を及ぼし得る場合に)迅速に施されることを可能にする。たとえば、クライアントは、ターゲットとする目的を、コンバージョンから少なくともしきい値セッション持続時間の間ウェブサイト上にユーザデバイスを保持することに変更し得る。さまざまな分岐ノードに関連付けられるマシンラーニングモデルのための修正されたパラメータが、その後当該ノードに到達する以前に開始されたトラジェクトリに影響を与えるよう決定され、直ちに実行され得る。
【0020】
通信決定(および/または通信決定ツリーを通る部分的な方向付け)は、匿名化されたデータまたは部分的に匿名化されたデータに基づき得る。当該匿名化されたデータまたは部分的に匿名化されたデータのいずれかまたは両方は、1つ以上のプロバイダまたはクライアントによって提供される、匿名化されたデータ、部分的に匿名化されたデータまたは匿名化されていないデータから構築され得る。たとえば、リモートユーザデータ管理システムは、部分的に匿名化されたデータまたは匿名化されていないデータを1つ以上のデータプロバイダから受け取り得、データプライバシールールに従って個々のレコードにおけるフィールドを不明瞭化もしくは除去し得、および/または、データプライバシールールに準拠するようにユーザサブポピュレーションにわたってフィールド値を集合させ得る。本願明細書に記載されるように、匿名化されたデータまたは部分的に匿名化されたデータは、PIIから取り除かれたデータであって、および/または、個々のデータ値が、ある確率を越えて、特定の人々またはユーザに関連付けられ得ないように集合されたデータである。したがって、匿名化されたデータまたは部分的に匿名化されたデータは、特定のユーザであると特定の人を識別すること防止するために、または、あるユーザであるしきい値確率を少なくとも有すると特定の人を識別することを防止するために、十分なデータ値を欠き得るかまたは不明瞭化し得る。たとえば、匿名化されたデータまたは部分的に匿名化されたデータは、プロファイルデータから名前、Eメールアドレス、IPアドレス、物理アドレスおよび/または電話番号を欠き得る。匿名化されたデータまたは部分的に匿名化されたデータは、年齢、都市、職業などといったある人口統計データを包含または除外し得る。いくつかの場合、匿名化されたデータまたは部分的に匿名化されたデータは、当該データのうちのいくつかを処理することを可能にしつつ、プライバシールール、規制および法律に準拠するように収集するのに有用である。匿名化されたデータまたは部分的に匿名化されたデータは、IPアドレス範囲、郵便番号、日付、以前のオンライン問い合わせのカテゴリ、人種、性別、年齢、購入履歴および/またはブラウジング履歴などに基づいてデバイスから集められた情報を含み得る。当該情報は、個人を識別可能な情報(PII: personally identifiable information)の流通を制限するさまざまなプライバシーポリシーおよび法律に従って集められたものであり得る。
【0021】
いくつかの場合、匿名化されたデータまたは部分的に匿名化されたデータは、個々のマシンラーニング構成に関連付けられるラーニング済データ(たとえば1つ以上のパラメータ)を生成および/またはアップデートするために使用される。このタイプの学習は、(たとえば)コンタクト情報のようなデータフィールドを必ずしも必要とせず、または、当該データフィールドから恩恵を得ることはないので、データレコードはこれらのフィールドから除去され得る。別の例として、1つ以上のサブポピュレーションが、特定のフィールドについての値に基づいて生成され得、そのフィールドについての特定の値はその後、サブポピュレーションの識別子と置換されてもよい。
【0022】
いくつかの場合、決定がなされている特定のユーザに対応するプロファイルデータは、匿名化されたデータまたは部分的に匿名化されたデータを含む。たとえば、システムは、トラジェクトリが分岐ノードに到達したと検出し得、(たとえば、トラジェクトリに関連付けられるデバイス識別子または他の識別子を使用して)ユーザデータ管理システムからのデータを要求し得る。システムは、(たとえば)1つ以上の特定の匿名化されていないフィールド値、一般化された(たとえば、あるカテゴリに割り当てられた)1つ以上のフィールド値、および/または、除去されたフィールド値を含むプロファイルデータを返し得る。(たとえば)決定がなされているクライアントによって(たとえば、ウェブページへと構築されたデータ収集機構を使用して、および/または、クライアントからの送信を介して収集された際に)そのようなフィールド値が供給された場合、またはそうでなければ、そのようなフィールド値が当該クライアントに(たとえばデータ共有の同意を介して)アクセス可能であった場合、匿名化されていないフィールドデータはプロファイルデータに含まれてもよい。システムはさらに、失われているフィールド値についての値またはカテゴリを推測するように使用され得るフィールド値同士の関係を示すポピュレーションデータ(たとえば、それ自体ラーニングされ得、および/または、時間にわたって発展し得る)を返し得る。
【0023】
図1は、インタラクションシステム100のブロック図を示す。マシンラーニングデータプラットホーム105は、1つ以上のクラウドサーバを含み得、1つ以上のクライアントシステム105からユーザデータを受け取るように構成され得る。ユーザデータは、(匿名化ユーザデータストア115に格納される)匿名化されたユーザデータもしくは部分的に匿名化されたユーザデータ、および/または、(セキュアクライアント利用ユーザデータストア120に格納される)セキュアなクライアント利用ユーザデータを含み得る。セキュアなクライアント利用ユーザデータは、匿名化されたユーザデータよりも匿名化されていないか、または、匿名化されていない場合がある。セキュアなクライアント利用ユーザデータは、受け取られると、他のクライアントが当該データへのアクセスを獲得し得ないように、クライアントの識別子と関連付けてセキュアに格納され得る。データは、複数のクライアントがサーバまたはサーバの集合にアクセスするよう中央の位置へログインし得るようにマルチテナントクラウドストレージシステムに格納されてもよいが、そこでは、データへの特定のアクセスは、どのクライアントがクラウドストレージシステムに対して認証したかに依存して制御される。匿名化されたユーザデータまたは部分的に匿名化されたユーザデータは特に、(たとえば、クライアントがどのデータを供給したかに依存して、および/または、クライアントに関連付けられるデータ共有の同意に依存して)さまざまなクライアントのために構成されてもよく、または、構成されなくてもよい。したがって、マシンラーニングデータプラットホーム105におけるプロファイルデータポピュレータ122は、特定のクライアントについての1人以上の個々のユーザに対応するプロファイルデータを生成し得、個々のクライアントについて、どのフィールド値がプロファイルデータに含まれるかをカスタマイズし得る。
【0024】
いくつかの場合、プロファイルデータポピュレータ122は、所与のユーザについて(集合されると)クライアント固有ラーニング済データ(クライアント固有ラーニング済データストア130に格納される)を定義し得る部分的に匿名化されたユーザデータでクライアント利用ユーザデータを補うよう、プロファイルデータセットを増強する。たとえば、クライアント利用データにおけるプロファイルからのデータは、匿名化されたユーザデータまたは部分的に匿名化されたユーザデータにおける1つ以上のデータセットにマッピングされ得るので、よりリッチなデータセットがマシンラーニング解析において使用され得る。マッピングは、オーバーラップするデータ(たとえば、IPアドレス(匿名化されたユーザデータまたは部分的に匿名化されたユーザデータに含まれている場合)、購入時間、クライアントによって割り当てられる擬似ランダムユーザ識別子など)を使用して行われ得る。
【0025】
マシンラーニングモデルコンフィギュアラ123は、(たとえば)識別されたターゲットとする成果、利用可能な学習データ、1つ以上のクライアント識別制約、ならびに/または、通信決定ツリーおよび/もしくはクライアントによって示されるような潜在的なアクションに基づき、所与のマシンラーニングモデルを構成し得る。マシンラーニングモデルを構成することは、モデルの特定のインスタンスについて1つ以上のパラメータを定義することを含み得る(たとえば、当該インスタンスは、特定の分岐ノード、クライアントおよび/または時間期間に関連付けられる)。
【0026】
各パラメータは、(ラーニング済パラメータデータストア125に格納される)ユーザ属性同士間での関係および/または相関を示し得る。パラメータは、第1のユーザ属性がどのように第2のユーザ属性を予想するかおよび/または第1のユーザ属性が第2のユーザ属性を予想する程度を示す重みを含み得る。第2のユーザ属性は、ターゲットとする成果が生じたか否かについての指示またはターゲットとする成果が生じた程度についての指示に対応する。重みは、離散値範囲または連続値範囲に沿って定義されてもよく、または、バイナリであり得る。
【0027】
一例として、パラメータは、属性のセットのうちどの属性が特定タイプのコンバージョンイベントの将来の発生を予測するかを示し得る。たとえば、前月において「旅行」タグに関連付けられるウェブページを2回より多く訪れたことは、旅行かばんを購入する予兆であったと判定され得る。別の例として、所与の日の内に映画批評ウェブページを訪れたことは、映画のオンラインレンタルをその後購入することの予兆であったと判定され得る。ユーザの年齢と、各日におけるオンラインで過ごす平均時間との間に逆相関があると識別することといった、間接的な関連付けおよびトレンドもラーニングされ得る。各パラメータは、関係の強度および/または信頼度に関連付けられ得、集められたデータポイントとなされた結論との間の連続する関連性に随意に関連付けられ得る。連続する各関連性は、関連性の最初におけるデータが、それが示すことについて正確であるというある確率と、当該関連性自体が正確であるというある他の確率とを保持する。
【0028】
構成することは、クライアント利用プロファイルデータを使用して、および/または、クライアント固有パラメータを作り出すために、行なわれてもよいが、行なわれる必要はない。クライアント固有パラメータはたとえば、匿名化されたプロファイルデータまたは部分的に匿名化されたプロファイルデータを使用して生成されるパラメータの修正バージョンであってもよい。
【0029】
ラーニング済データを生成するために、さまざまなマシンラーニング技術が使用されてもよい。たとえば、マシンラーニング技術は、決定ツリーラーニング、アソシエーションルールラーニング、アーティフィシャルニューラルネットワーク、ディープラーニング、帰納的論理プログラミング、サポートベクトルマシン、クラスタリング、ベイジアンネットワーク、強化学習、表現学習、類似度および距離学習、スパースディクショナリラーニング、遺伝的アルゴリズムまたはルールベースマシンラーニングを使用してもよい。いくつかの場合、マシンラーニング技術は、(上述されたもののうちの2つ以上といった)さまざまな存在する技術から作り出される結果に適用するべきアンサンブル間重み(inter-ensemble weight)をラーニングするアンサンブル技術を含む。アンサンブル間重みは、(たとえば)存在する技術に関連付けられる精度、スピードおよび/またはリソース使用に基づいて識別され得る。
【0030】
(1つ以上のパラメータを識別するために)マシンラーニング技術を学習させることは、観察された入力のセット(たとえばマーケティングEメールのコンテンツ、プロモーションのコンテンツおよび/またはウェブサイトの構成)がどのように対応する出力のセット(たとえば、あるコンバージョンイベントの有無といった対応するマーケティングEメールについての成果、対応するプロモーションおよび/または対応するウェブサイト構成)に関係があるかを識別することを含み得る。これらの観察された観察は、まだ生じていない候補の事実情報(たとえば予測される受け取られるべき次の入力、または、ある入力に基づく予測される出力)につながる事実情報に基づき、当該候補の事実情報を予測する目的で、モデル化された関係および/またはトレンドを識別するために使用され得る。各予測は、信頼度または確率を担持し得、予測のチェーン(chain)は組み合わされた信頼度または確率を有する。
【0031】
したがって、マシンラーニングモデルコンフィギュレータ123は、(たとえば)ターゲットとする成果、クライアント固有プロファイルデータおよび/またはマシンラーニング技術に基づいて、特定のクライアントシステム110のためのモデルパラメータを識別し得る。クライアント固有ラーニング済データは、存在するクライアント利用プロファイルデータを提供したクライアントシステムと選択的に共有され得る。クライアントシステム110は、1つ以上のウェブサイトをホストし、1つ以上のアプリをホストし、および/または、Eメールを送信させるシステムを含み得る。たとえば、クライアントシステム110は、1つ以上のドメイン上のページについてHTTP要求を受け取るとともに応答するウェブサーバ135と、ユーザのEメールアドレスにEメールを送達するEメールサーバ140とを含み得る。クライアントシステム110は、ユーザデバイス上で実行されるアプリケーションを介して受け取られる要求を受け取るとともに応答するアプリサーバ145をさらに含むか、または、代替的に含んでもよい。したがって、クライアントシステム110における1つ以上のサーバは、1つ以上のユーザデバイス150-1,150-2からの要求を検出し、および/または、1つ以上のユーザデバイス150-1,150-2へのコンテンツの送信をトリガするように構成され得る。ユーザデバイス150-1,150-2はたとえば、コンピュータ、スマートフォン、タブレットなどを含んでもよい。さまざまな状況において、単一のユーザデバイスが単一のユーザまたは1人を超えるユーザに関連付けられてもよいということが理解されるであろう。さらに、単一のユーザは、単一のユーザデバイスまたは1つを超えるユーザデバイスに関連付けられてもよい。
【0032】
ウェブサーバ135および/またはアプリサーバ145は、コンテンツライブラリ153からのコンテンツ(たとえばウェブページまたはアプリページ)についての要求の指示をユーザデータとしてクライアント管理ユーザデータストア150に格納してもよい。格納されるデータは、要求に含まれる情報(たとえば、デバイス識別子、IPアドレス、要求されたウェブページ、ユーザが入力した入力など)と共に、自動的に検出される情報(たとえば要求時間)を含んでもよい。当該データを格納することは、当該データを含むようにプロファイルをアップデートすることを含んでもよい。ウェブサーバ135、Eメールサーバ140および/またはアプリサーバ145はさらに、(たとえば、送信時間、ユーザデバイス識別子、コンテンツオブジェクト識別子、および/または通信のタイプを識別することによって)どのコンテンツが特定のユーザデバイスに配布されたのかを示すデータをクライアント管理ユーザデータストア150に格納してもよい。
【0033】
クライアントシステム110は、クライアント管理ユーザデータストア150からマシンラーニングデータプラットホーム105にユーザデータの少なくとも部分を送信し得、マシンラーニングデータプラットホーム105は、それをセキュアクライアント利用ユーザデータストア120に格納し得る。送信は、定期的な時間間隔などで、クライアント固有ラーニング済データの要求中に、周期的に行われてもよい。いくつかの場合、クライアントシステム110は、マシンラーニングデータプラットホームへ送信する前に、(たとえば少なくともいくつかのフィールドについて値をオミットまたは不明瞭化することによって)ユーザデータのうちのいくつかまたはすべてを少なくとも部分的に匿名化する(そのため、たとえば、匿名化されたユーザデータまたは部分的に匿名化されたユーザデータとして当該プラットホームに格納される)。いくつかの場合、データは、少なくとも部分的に匿名化されず、当該データは、セキュアクライアント利用ユーザデータストア120に格納されるか、または、マシンラーニングデータプラットホーム105において少なくとも部分的に匿名化されるかのいずれかである。いくつかのデータセットの場合、匿名化されたデータまたは部分的に匿名化されたデータは、第三者から受け取られ、PIIから取り除かれた後、匿名化されていないデータにアクセスすることなく、クライアントシステム110によって格納される。いくつかの実施形態では、匿名化されたデータまたは部分的に匿名化されたデータは、ネイティブに匿名化または部分的に匿名化される。これらの実施形態では、ウェブサイトは、当該ウェブサイト上で、実行されるとユーザによるウェブサイトのアクセスに関して匿名化されたデータまたは部分的に匿名化されたデータを収集する埋込スクリプトを実行し得る。スクリプトは、ユーザの個人情報を知ることなく収集され得るとともにある確率を越えてユーザアイデンティティが推定され得ないことを保証するデータクラウドに格納される情報のみを収集し得る。
【0034】
クライアントシステム110はマシンラーニングデータストア155にマシンラーニングデータを格納し得る。いくつかの場合、マシンラーニングデータは、所与のトラジェクトリについて分岐ノードにおいてなされる1つ以上の決定の指示と、通信決定ツリーおよび/または1つ以上のパラメータを使用して識別される1つ以上のコンテンツ仕様とを含む。マシンラーニングデータは、マシンラーニングプラットホーム105からのデータから要求、受け取り、および/または、導出され得る。たとえば、いくつかの場合、マシンラーニングモデルコンフィギュレータ123は、クライアントのために生成されるパラメータおよび/またはクライアントに適用可能なパラメータをクライアントシステム110に送信させる。別の例として、マシンラーニングモデルインプリメンタ157は、プロファイルデータに対応するクライアント(および/またはトラジェクトリの次のノード)について行われる通信アクションを定義するために、1つ以上の特定の通信仕様を識別するよう、特定のプロファイルデータへの特定のパラメータにより構成されるマシンラーニングモデルを適用し得る。その後、マシンラーニングモデルインプリメンタ157は、識別された通信アクションおよび/または次のノードの指示を、トラジェクトリ、ユーザおよび/またはユーザデバイスの識別子に関連して送信させ得る。
【0035】
次のノードおよび/または通信仕様を識別することは、特定のプロファイルデータおよび1つ以上のラーニング済パラメータを使用して、(現在の分岐ノードに関連付けられる)マシンラーニングモデルを実行することを含み得る。結果は、(たとえば)さまざまなコンテンツ提示特性のうちのどれが、特定のターゲットとする成果(たとえばターゲットコンバージョン)につながる高い(たとえばしきい値を上回る)確率または最も高い確率に関連付けられるかを示し得る。いくつかの場合、解析は、特定のコンバージョンのターゲットとする成果につながる最も高い確率に関連付けられる1つ以上のコンテンツ提示の特性を識別することを含む。いくつかの場合、解析は、さまざまなコンテンツ提示特性に関連付けられる予め定義されたコストメトリックにより、特定のコンバージョン結果につながる確率のバランスを取る。
【0036】
いくつかの場合、(たとえばマシンラーニングデータプラットホーム105またはクライアントシステム110において)パラメータを使用してマシンラーニングモデルを実行することは(たとえば)、1つ以上のしきい値と比較され得る数を生成するよう、プロファイルデータおよびパラメータを使用して回帰分析を行なうことを含み得る。1つ以上のしきい値は、2つ以上の範囲(たとえば、オープンエンドな範囲またはクローズドな範囲)を定義し得、各範囲は、特定の次のノードおよび/または通信アクションに対応する。いくつかの場合、パラメータを使用してマシンラーニングモデルを実行することは、各々が特定の次ノードおよび/または通信アクションに関連付けられるとともに各々が少なくとも部分的にパラメータに基づいて潜在的に定義される基準データ変数(たとえば単一の値、ベクトル、行列、時系列など)のセットの各々と(たとえば差の計算、コスト関数を使用するコストの計算などを介して)比較され得る結果を作り出すよう、プロファイルデータの少なくとも部分とパラメータの少なくとも部分とを処理することを含み得る。比較が最も近い対応を示した基準データ変数に関連付けられるノードまたは通信が選択され得る。
【0037】
動的なコンテンツジェネレータ147は、選択された通信仕様に従ってコンテンツオブジェクトの提示をトリガし得る。適切な命令を生成するために、動的なコンテンツジェネレータ147は最初に、オブジェクトを送信するためにどの通信チャンネルが使用されるか、送信されるべきオブジェクトのタイプ、送信されるべきコンテンツのバージョン、および/または、コンテンツオブジェクトがいつ送信されるべきかを識別し得る。当該識別は、(たとえば)マシンラーニングモデルの実施の結果、(たとえば、これらのオプションのうち1つ以上に対する潜在的なオプションを抑制し得る)マシンラーニングモデルの構成、および/または、1つ以上のパラメータに基づき、判定され得る。
【0038】
動的なコンテンツジェネレータ147は、(たとえば)ウェブサーバ135、Eメールサーバ140および/またはアプリサーバ145のうちのどれが通信を送信するかを知らせ得る、送信されるべき通信のタイプ(たとえばEメール、SMSメッセージ、ポップアップブラウザウィンドウまたはプッシュ送信されるアプリアラート)を識別し得る。当該識別は、(たとえば、マシンラーニング結果、パラメータおよび/もしくはマシンラーニングモデル構成に基づいて)明示的に行われ得るか、または、(たとえば、選択されたコンテンツオブジェクトが特定タイプであることにより)暗黙的に行われ得る。
【0039】
コンテンツオブジェクトを識別することは、既存のコンテンツオブジェクトのセットから選択すること、または、新しいコンテンツオブジェクトを生成することを含み得る。コンテンツオブジェクトは(たとえば)、ウェブページ、ウェブページ内のオブジェクト、画像、テキストメッセージ、Eメール、Eメール内のオブジェクトおよび/またはテキストを含み得る。いくつかの場合、プロファイルデータ上で構成されたマシンラーニングモデルを実行する結果は、特定のコンテンツオブジェクトを識別する。いくつかの場合、結果は、(たとえば、特定のメタデータカテゴリを有する)コンテンツの特徴を識別し、および/または、コンテンツを選択するための特定の技術を識別する。たとえば、結果は、「ツール」アイテムがコンテンツオブジェクトにおいて特徴とされるべきであることを示してもよく、および/または、通信が、4つの異なる(が特定されていない)カテゴリに対応する4つのコンテンツオブジェクトを含むべきであることを示してもよい。そのような場合、動的なコンテンツジェネレータ147は(たとえば)、(たとえば)マシンラーニングの実施の結果を介して示される選択技術、パラメータを介して示される選択技術、および/または、予め定義されたセッティングを介して示される選択技術を使用して潜在的なコンテンツオブジェクトのセットから選択し得る。たとえば、選択技術は、偽似ランダム選択技術、最も最近加えられたオブジェクトを識別する技術、(たとえば、マシンラーニング結果において示されるような1つ以上の属性を有する)潜在的なコンテンツオブジェクトのセット内の最も高いコンバージョンオブジェクトを識別する技術を含むべきであることを示し得る。
【0040】
いくつかの場合、通信が送信されるべき時間が(たとえば、マシンラーニング結果、パラメータおよび/またはマシンラーニングモデル構成に基づいて)明示的に識別される。いくつかの場合、通信は、マシンラーニング結果に関連付けられるユーザデバイスから(たとえば、所与のウェブサイトまたはアプリに対応する)コンテンツについての次の要求を受け取ると直ちに送信されるか、または、予め定義された送信スケジュールに従って送信される。
【0041】
いくつかの場合、通信に対応する各仕様が、通信が送信される際またはその前に、(たとえばタスク中、および/または、マシンラーニングモデル、マシンラーニング構成、パラメータ、クライアントルールなどを使用して)識別される。したがって、通信のすべてまたはいくつかのクライアントが制御した構成および/またはその送信が、通信の送信に先立って行なわれ得る。いくつかの場合、通信が送信された後に、通信に対応する少なくとも1つの仕様が、(たとえばタスク中、および/または、マシンラーニングモデル、マシンラーニング構成、パラメータ、クライアントルールなどを使用して)識別される。したがって、通信の少なくともいくつかのクライアントが制御した構成および/またはその送信が、通信の送信の後に行なわれ得る。したがって、この送信後の構成は、通信の送信の前には利用可能でなかったラーニング済データおよび/またはプロファイルデータに基づき得る。たとえば、ユーザに対応する付加的なプロファイルデータが、Eメールが送信された第1の時間と、当該Eメールが開かれレンダリングされる第2の時間との間に利用可能になり得る。送信されたEメールは、当該Eメールがレンダリングされるべき時に実行するスクリプトを含み得る。当該スクリプトは、レイアウトおよび/またはアプリケーションタイプのようなデバイスプロパティを識別するために要求を発行させ得る。スクリプトは、サーバに提示されるべきコンテンツについての要求と共に、これらのプロパティを渡し得る。したがって、サーバは、コンテンツを選択し、および/または、特定のコンテンツの選択を指示するよう、特定のレンダリング情報、現在のプロファイルデータ、および/または、現在のパラメータに基づき1つ以上の表示構成を識別し得る。
【0042】
付加的または代替的な例として、通信は、(たとえばウェブブラウザにおいて)開かれると、表示のためにコンテンツをレンダリングするページへの1つ以上の参照またはリンクを含んでもよい。リンクによってターゲットとされるページは、通信が生成される前または生成される時にマシンラーニングエンジンによって決定された何らかのコンテンツを含んでもよい。上記ページはさらに、ページをレンダリングするための要求が検出される際(たとえば、スクリプトがリンクのアクティベーションを検出する際)に選択または生成されるべきコンテンツ、および/または、(たとえばページをロードする部分としてスクリプトを実行することにより示されるように)ページが生成またはレンダリングされている際に選択または生成されるべきコンテンツを含むように構成され得る。いくつかの場合、Eメールにおけるスクリプトは、レンダリングの時、または、レンダリングが要求される時に、コンテンツ構成を識別する。いくつかの場合、リンクされるページ上で実行されるスクリプトはコンテンツ構成を識別する。
【0043】
一例として、クライアントシステムは、フードデリバリのオンライン購入をオファーし得る。特定のユーザが2pmに所与のレストランのメニューを見たことが検出され得る。クライアントシステムは、そのクライアントが管理するユーザデータからの当該ユーザについてのプロファイルデータからユーザ属性のセットを抽出し得る。クライアント固有ラーニング済データは、ディスカウントコードを含むEメールが夜にユーザに送られる場合、(たとえば他のタイプの通信および他の時間に関連付けられるより低い確率と比較して)当該ユーザが当該レストランから購入をする可能性が76%であることを示し得る。76%の可能性がディスカウントしきい値を送るための65%のしきい値を上回ると判定することに応答して、Eメールサーバ140は当該ユーザデバイスにEメールを送信する。Eメールは、実行されると、提示されるべきレストランおよびディスカウントを識別するスクリプトを含む。ユーザは翌日の10amに当該Eメールを開く。コードは、クライアントシステムからレストランおよびディスカウントを要求するために実行される。クライアントシステムは、受け取ってから、パブリックなラーニング済相関データをアップデートしている。クライアントシステムは、時間、(現在職場にいる場合の)ユーザの位置および以前の購入情報を、ラーニング済データに基づいて構築された決定ツリーに入力する。(たとえばコンバージョンのしきい値可能性を維持するために)ディスカウントは10%であり、(たとえばコンバージョンの可能性を最大限にするために)レストランがユーザの職場の近くのデリであることが決定される。その一方、ユーザが前夜にEメールを開いた場合、異なるユーザ属性およびラーニング済データによって(たとえばしきい値可能性を維持するために)15%のディスカウントが、(たとえば可能性を最大限にするために)ユーザの家の近くのインディアンレストランから得られる。Eメールは、当該デリからの注文へのリンクを含んでいる。ユーザがリンクをクリックすると、ウェブサーバは、どのコンテンツが示されるべきか、具体的には、どのフードアイテムが推奨されるべきかを判定する。その推奨は、サラダおよびサンドイッチがスープおよびアントレに対して、前者のオプションが最近人気がある(より暖かい天候により人気になると予測される)ので、推奨されるべきであることを示すさらに最近アップデートされたパブリックなラーニング済相関データに基づく。したがって、この例は、非常に最近のラーニング済データおよびユーザ属性に基づいて、所与のユーザのためにコンテンツ提示がどのように動的にカスタマイズされ得るかを示す。
【0044】
マシンラーニングデータプラットホーム105は、(たとえば、ワークフローアクションに応答して)ユーザデバイスから受け取られる(たとえば)任意の通信に基づいて、アップデートされたクライアントデータを生成し得る。たとえば、アップデートされたクライアントデータは、受け取られた通信のヘッダーもしくはペイロードにおけるデータ、特定のイベントが検出されたか否か(および、たとえばいつ検出されたか)に関する指示、ならびに/または、プロファイルが割り当てられるワークフローの現在もしくは最終ステージに基づいて生成される1つ以上の新しいフィールドを含み得る。マシンラーニングデータプラットホーム105は、クライアントシステム110に(たとえば対応するプロファイル識別子とともに)アップデートされたクライアントデータを利用可能とし、クライアントシステム110は、当該アップデートされたデータをクライアント固有ラーニング済データストア165に格納し得る。クライアントシステム110は、存在するプロファイルとは別にアップデートされたデータを格納してもよいが、格納する必要はない。
【0045】
いくつかの場合、マシンラーニングデータプラットホームのうちのいくつかまたはすべてがクライアントシステム110内に組み込まれ得るということが理解されるであろう。いくつかの場合、クライアントシステム110は、通信決定ツリーの反復中にマシンラーニングデータプラットホームと通信する。たとえば、クライアントシステム110(たとえばクライアントシステム110におけるウェブサーバ135またはアプリサーバ145)は、ユーザデバイスから受け取られるウェブコンテンツまたはアプリコンテンツについての要求におけるフラグ(たとえば、URLに含まれる)を検出し得る。当該フラグは、マシンラーニングベースのワークフローとのその関連性を示す。その後、クライアントシステム110は、適切にトラジェクトリがアップデートされ得るようにマシンラーニングモデルインプリメンタ157に要求のアラートを行い得る。
【0046】
マシンラーニングデータプラットホーム、クライアントシステム110およびユーザデバイス150-1,150-2は、ネットワーク160を介して通信し得る。ネットワーク160は、たとえば、インターネット、ローカルエリアネットワークおよびワイドエリアネットワークなどを含み得る。示されるとともに記載される実施形態のさまざまな代替例が考えられるということが理解されるであろう。たとえば、マシンラーニングのうちのいくつかまたはすべてがクライアントシステム110において行なわれ得る。クライアントシステム110は、マシンラーニング技術を使用して処理するために、匿名化されたユーザデータまたは部分的に匿名化されたユーザデータを周期的に受け取り得る。
【0047】
通信決定ツリーを使用および構成するための他の技術は、(「反復人工知能を使用する通信決定ツリーを通る方向付けされたトラジェクトリ(Directed Trajectories through Communication Decision Tree using Iterative Artificial Intelligence)」という名称を有する)2018年6月13日に出願された米国出願番号第16/007,677号と、(「データエンリッチメントのための難読化を解除されたデータのマシンラーニングベースの処理(Machine-Learning Based Processing of De-Obfuscated Data for Data Enrichment)」という名称を有する)2018年6月13日に出願された米国出願番号第XXXX号とにおいて詳述される。これらの出願の各々は全文、すべての目的について参照により援用される。
【0048】
図2および
図3は、レンダリングプロセスを検出すると、または、レンダリングの際に部分的に構成されるように構成される通信のためのテンプレート202および302を構成するためのインターフェイス200および300を示す。構成することは、モデルおよび現在のプロファイルデータの現在のラーニング済の構成を使用して、構成されたマシンラーニングモデルを実行することを含み得る。
図2に示されるテンプレート202は、Eメール通信を生成するために使用されるテンプレートを含んでおり、
図3に示されるテンプレート302は、アプリ通知通信を生成するために使用されるテンプレートを含んでいる。
【0049】
テンプレート202は、静的なテキスト(たとえばテキスト205)およびインタラクション機構(たとえばボタン210)を含む。テンプレート202はさらに、3つのアイテムがテキスト205の上に直線的に表わされる特定のレイアウトを表わす。テンプレート202はさらに、Eメールのレンダリングが要求される場合または生じている場合に識別されるように構成される動的なコンポーネント(たとえば動的なテキスト215および動的な画像220)を含む。したがって、Eメール通信が送信される場合、静的なコンポーネントは、(Eメールをレンダリングする要求を検出すると)現在のプロファイルデータの少なくとも部分をローカルで識別し、現在のプロファイルデータの少なくとも部分を要求し、動的なコンポーネントの識別を要求し、(たとえば、現在のプロファイルデータ、現在の匿名化されたデータもしくは部分的に匿名化されたデータおよび/または現在のラーニング済パラメータを使用して識別される)動的なコンポーネントを受け取りもしくは抽出し、ならびに/または、テンプレートおよび動的なコンポーネントに基づいて完全なEメールを生成するように構成されるコードとともに、送信され得る。その後、生成されたEメールが提示され得る。
【0050】
テンプレート302は、静的なレイアウトおよび複数の動的なテキストコンポーネント(たとえば動的なタイトルセクション310)を含む。テンプレート302は、各動的なテキストコンポーネントを動的に識別することを促進するスクリプトとともに送信されるように構成され得る。たとえば、スクリプトは、(たとえば、アプリを開くこと、通知アプリ要素をクリックすることなどに応答して)通知を提示する要求を検出すると、現在のプロファイルデータの少なくとも部分をローカルで識別し、現在のプロファイルデータの少なくとも部分を要求し、動的なテキストコンポーネントの識別を要求し、(たとえば、現在のプロファイルデータ、現在の匿名化されたデータもしくは部分的に匿名化されたデータおよび/または現在のラーニングされたパラメータを使用して識別される)動的なテキストコンポーネントを受け取るもしくは抽出し、ならびに/または、テンプレートおよび動的なテキストコンポーネントに基づいて完全な通知を生成し得る。その後、生成された通知が提示され得る。インターフェイス300は、動的に生成される通知315の例を示しており、これは、静的なレイアウトおよび特定の動的なテキストを含んでいる。
【0051】
図4は、通信決定ツリー400の表現を示す。通信決定ツリー400は、各トラジェクトリが始まる開始ノード405を含む。特定のトラジェクトリは(この例において)、ユーザが2つの特定のアクションを完了した(たとえば、2つのウェブサイトセッションを初期化したこと、ウェブサイトからの2つのアイテムを購入したこと、ウェブサイト上の少なくとも2つのウェブページにナビゲートされたことなど)と検出すると、初期化され得る。
【0052】
通信決定ツリー400は、3つの分岐ノード410、415および420を含む。3つの分岐ノード410、415および420の各々は、3つの異なるアクションを表わす3つのノードに接続するよう分岐する。トラジェクトリは、初期ノード405から第1の分岐ノード410に自動的および直ちに延在し得、これにより、第1の決定がなされることがトリガされる。具体的には、第1の決定は、ウェブサイトの特徴のアラートを送るために使用する通信チャンネルを識別することを含み得る。アラートは、(たとえば)(一般に)製品またはディスカウントがウェブサイトに関連して利用可能であることを示す自動的に提示される静的なヘッダーを含み得る。アラートはさらに、通知を開く要求を検出すると、第2の分岐ノード415において識別されるべき(たとえば、1つ以上の製品および/またはディスカウントを具体的に識別する)動的なコンテンツに関連付けられてもよい。
【0053】
第1の分岐ノード410は、Eメール通信チャンネルを表わす第1のアクションノード425aと、SMSメッセージ通信チャンネルを表わす第2のアクションノード425bと、(通知が、ユーザデバイスにプッシュ送信され、および/または、ユーザデバイスにインストールされるアプリによってプッシュ送信される)アプリベースの通信チャンネルを表わす第3のアクションノード425cとに接続される。
【0054】
第1の決定は、1つ以上の第1のパラメータに基づいて構成されるマシンラーニングモデルを使用してなされ得る。1つ以上の第1のパラメータは、匿名化されたユーザデータおよび/もしくは部分的に匿名化されたユーザデータならびに/またはクライアント固有のデータに基づき動的に決定され得る。たとえば、匿名化されたユーザデータおよび/または部分的に匿名化されたユーザデータは、(1つ以上のユーザ属性に基づいて定義されたような)さまざまなユーザサブポピュレーションの各々について、3つのタイプの通信チャンネルの各々を介して送られるアラート送信が、(たとえば、アラート内のトラッキングリンクを使用することに基づいて決定されるような)対応するウェブサイトにおけるセッションを開始し、かつ、当該セッション中にトランザクションを完了するようユーザをトリガすることにおいてどれくらい有効であったかを示し得る。匿名化されたユーザデータおよび/または部分的に匿名化されたユーザデータは、多くの異なるウェブサイト、および/または、1つ以上の特定の特性を有するウェブサイトに対応し得る。クライアント固有データは、対象の特定のウェブサイトについて所与のクライアントによってトラッキングされるデータを含み得るとともに、さまざまなアラートが送信された各ユーザおよび結果を具体的に識別するデータを含み得る。したがって、クライアント固有データは、匿名化されたデータおよび/または部分的に匿名化されたデータに対して、いくつかの点においてよりリッチであり得るが、クライアント固有データにおいて表されるユーザの数は、匿名化されたデータおよび/または部分的に匿名化されたデータにおいて表わされるユーザの数より少なくあり得る。さらに、クライアント固有データは、関係する属性の組合せを欠く場合がある。たとえば、所与のクライアントは、以前にアプリベースのアラートを使用していない場合があり、これにより、マシンラーニングモデルがそのようなアラートの潜在的な影響を予測し得る精度が低減し得る。
【0055】
(第1のパラメータにより構成される)マシンラーニングモデルは、どの通信チャンネルをユーザに与えるかを決定するために、トラジェクトリに関連付けられるプロファイルデータを使用し得る。プロファイルデータは、(たとえば、トラジェクトリに関連付けられるユーザデバイスからの以前のHTML要求に関連付けられるメタデータ、クッキーおよび/または入力を使用する)クライアントが収集したプロファイルデータを含み得る。プロファイルデータはさらに、複数のウェブホスト、クライアントなどからプロファイルデータを収集し管理し得るリモートユーザプロファイルデータストアから要求され受け取られる他のプロファイルデータを含み得る。
【0056】
通信チャンネルを識別する際、トラジェクトリは、対応するアクションノード(425a、425bまたは425c)に延在する。その後、アラートは対応する通信チャンネルを使用して送られる。アラートは、アラートを開く要求を検出すると、制限されたコンテンツを自動的に識別し、かつ、第2の分岐ノード410にトラジェクトリを延在させるように構成され得る。その後、アラートの本文において提示されるべき特定のコンテンツを決定するために第2の分岐ノード410において決定がなされ得る。
【0057】
したがって、第2の分岐ノード415は、ウェブサイトにおいてユーザによって最も最近閲覧された製品を識別するコンテンツを表わす第1の通知コンテンツノード430aと、前週の間、ウェブサイトにおいて(複数のユーザにわたって)最も閲覧された製品のうちの4つを識別するコンテンツを表わす第2の通知コンテンツノード430bと、ディスカウントの識別を含むコンテンツを表わす第3の通知コンテンツノード430cとに接続される。1つ以上の第2のパラメータに基づいて構成されるマシンラーニングモデルを使用して第2の決定がなされ得る。したがって、いくつかの(すべてではない)場合、決定を行うためにさまざまな分岐ノードにおいて使用される一般的なタイプのマシンラーニングモデルは同じであり得るが、(たとえば、さまざまなユーザ属性に割り当てられるべき重み、どのユーザ属性がすべて考慮されるべきか、および/または、ターゲットとする成果を示す)特定の構成は異なり得る。
【0058】
1つ以上の第2のパラメータは、匿名化されたユーザデータおよび/もしくは部分的に匿名化されたユーザデータならびに/またはクライアント固有のデータに基づき動的に決定され得る。しかしながら、匿名化されたユーザデータおよび/もしくは部分的に匿名化されたユーザデータならびに/またはクライアント固有データの各々は、第1の決定を行ってから変化し得、これは、第1および第2のパラメータ間の差に寄与し得る。さらに、第2の分岐ノード415において考慮される潜在的なアクションは、第1の分岐ノード410において考慮される潜在的なアクションとは異なる。したがって、第1および第2の構成は異なり得る。さらに、処理されるプロファイルデータは、第1および第2の分岐ノード間で異なり得る。たとえば、クライアントに関連付けられるアプリケーションは、第1の分岐ノードで行なわれる処理と第2の分岐ノードで行なわれる処理との間において、(たとえばアプリケーションベースの通知が、第1の分岐ノードでのオプションではなかったが第2の分岐ノードでのオプションであるように)ユーザデバイスにインストールされてもよい。
【0059】
コンテンツを識別すると、トラジェクトリは、対応するコンテンツノード(430a、430bまたは430c)に延在する。その後、対応するコンテンツが、ユーザデバイスにおいて提示され得るようにユーザデバイスに送信される。
【0060】
コンテンツは、ウェブサイトにおけるウェブページへの1つ以上のトラッキングリンクを含み得る。トラッキングリンクが活性化されたことを検出すると、トラジェクトリは第3の分岐ノード420に延在し得る。その後、要求されたウェブページで提示されるべき特定のコンテンツを決定するために、第3の分岐ノード415において決定がなされ得る。
【0061】
したがって、第3の分岐ノード420は、各々が異なるカテゴリに関連付けられる4つの代表的な製品を識別するコンテンツを表わす第1のウェブページコンテンツノード435aと、各々が同じカテゴリに関連付けられる4つの代表的な製品を識別するコンテンツを表わす第2のウェブページコンテンツノード435bと、以前のウェブページインタラクションデータに基づいて、所与のユーザについて興味があると予測された単一の製品を識別するコンテンツを表わす第3のウェブページコンテンツノード435cとに接続される。
【0062】
第3の決定は、1つ以上の第3のパラメータに基づいて構成されるマシンラーニングモデルを使用してなされ得る。第3のパラメータは、匿名化されたユーザデータおよび/もしくは部分的に匿名化されたユーザデータ、クライアント固有データへの一時的な変更の結果、ならびに/または、潜在的なアクションの違いの結果、第1のパラメータおよび/または第2のパラメータと異なり得る。さらに、第3の分岐ノード420において処理されるプロファイルデータは(たとえば、ユーザデバイスからの通信における新しいメタデータを検出すること、および/または、リモートシステムからプロファイルに対応する新しい情報を受け取ることの結果として)、第1の分岐ノード410および/または第2の分岐ノード415において処理されるプロファイルデータと異なり得る。
【0063】
コンテンツを識別する際、トラジェクトリは、対応するコンテンツノード(435a、435bまたは435c)に延在する。その後、対応するコンテンツが、ユーザデバイスにおいて対応するウェブページ内で提示され得るようにユーザデバイスに送信される。
【0064】
図4に示される通信決定ツリー400は、単一の決定が各通信ステージ(通知が送信されるべき時、通知の本文が提示されるべき時、および、ウェブページが示されるべき時)でなされていることを示しているが、その代りに、複数の決定がマシンラーニングモデルを使用してなされてもよいということが理解されるであろう。たとえば、分岐ノード410において、どの通信チャンネルを使用するべきかと、いつ通知を送信するべきかとに関して、(たとえば時間期間内の時間または潜在的な時間のセットからの時間を識別することによって)決定がなされてもよい。別の例として、別個の決定が、送信時間を識別する通信チャンネル決定の前または後になされてもよい。したがって、あるマシンラーニングモデルが、複数の出力を生成するように構成されてもよく、または、複数のマシンラーニングモデルが(各々が異なるパラメータおよび/もしくはハイパーパラメータに対応し、各々が別々に学習され、および/または、各々が別個のタイプの出力を作り出す)複数の構成を有し得る。
【0065】
図5は、ユーザデバイスに対応するとともに通信決定ツリー400を通るように延在するトラジェクトリ500の例を示す。この場合、第1の分岐ノード410で行われたマシンラーニング結果は、通知を送るためにEメール通信チャンネルが使用されるべきことを示したものであり、トラジェクトリ500は第1のアクションノード425aに延在した。その後、Eメール通知がユーザデバイスに送信される。ユーザがEメールを閲覧することを試みていることを示すEメールコンテンツについての要求が検出され、トラジェクトリ500が第2の分岐ノード415に延在する。そこで、Eメールにおけるディスカウントの識別を含むコンテンツを含むように決定がなされる。したがって、トラジェクトリ500は、第3の通知コンテンツノード430cに延在し、対応するコンテンツがユーザデバイスに送信される。
【0066】
その後、Eメール内のターゲットリンクに対応するウェブページについての要求が検出され、トラジェクトリ500が第3の分岐ノード420に延在する。各々が異なるカテゴリに関連付けられる4つの代表的な製品を識別するコンテンツをウェブページが含むべきことを示すマシンラーニング結果が生成される。したがって、トラジェクトリ500は第1のEメールコンテンツノード435aに延在し、第1のEメールコンテンツノード435aにおいて、対応するウェブページコンテンツがユーザデバイスに送信される。
【0067】
示される場合において、第1の分岐ノード、第2の分岐ノードおよび第3の分岐ノードでの決定は、第1の日の5pm、第2の日の12pmおよび第2の日の6pmになされたものであることが示される。その後、対応するアクションが直ちに行なわれる。アクション時間が、マシンラーニングモデル実行、クライアントルールまたは他の技術に従ってさらに決定されてもよいということが理解されるであろう。
【0068】
さらに、マシンラーニングベースの決定を識別することは、1つ以上の付加的な制約および/またはファクタを実現することを含み得るということが理解されるであろう。代替的または付加的には、マシンラーニングベースの決定はさらに、1つ以上の付加的な制約および/またはファクタに基づいて修正され得る。たとえば、2015年7月13日に出願された米国出願番号第14/798,293号(すべての目的について、本願明細書において全文、参照により援用される)は、本願明細書において開示されるマシンラーニング技術と組み合わされてもよい通信特性を動的に識別する付加的な技術をさらに詳述している。
【0069】
通信決定ツリーを定義することと、さまざまなマシンラーニングモデルを初期化することとを促進するさまざまなインターフェイスが提供され得る。具体的には、インターフェイスは、クライアントが、通信決定ツリーの構造を定義すること、および/または、各決定ノードについて、当該ノードで実行されるべきマシンラーニングモデルの1つ以上のハイパーパラメータを定義することを可能にし得る。なお、マシンラーニングモデルは、1つ以上のハイパーパラメータおよび1つ以上のパラメータに基づいて定義され得る。1つ以上のハイパーパラメータの各々は、マシンラーニングモデルの学習を介してラーニングされていない変数を含む一方、1つ以上のパラメータは、マシンラーニングモデルの学習を介してラーニングされている1つ以上の変数を含む。したがって、インターフェイスは、(たとえば)多くの分岐ノードを示すハイパーパラメータと、各分岐ノードに接続される各分岐に対応するアクションと、他のノード間接続と、個々のマシンラーニングモデルの実行中に観察される1つ以上の制約などとを、クライアントが特定することを可能にするように構成され得る。いくつかの場合、ハイパーパラメータは、通信決定ツリーの分岐ノードにおいて特定の決定に向かう傾向がブーストまたは抑制されるべきである程度を示す。ハイパーパラメータの他の例は、通信決定ツリーに含まれる層の数、通信ツリーに生じる任意のコンバージェンスに関する指示、ラーニング速度、および/または、最適化変数を含む。たとえば、ハイパーパラメータは、通信決定ツリー内の特定のターゲットノードを識別する最適化変数を含み得る。マシンラーニングモデルは、特定のターゲットノードを通るよう交差するかまたは当該特定のターゲットノードにて終了するトラジェクトリに帰着するための決定を最適化するパラメータをラーニングするように学習され得る。
【0070】
マシンラーニングモデルの構成および/または実現例に影響を及ぼすよう、クライアントから入力を受け取るためにさまざまなインターフェイスが提供されてもよい。たとえば、インターフェイスは、最適化のターゲット(たとえば通信決定ツリー内のターゲットノード)を示す入力と、モデルによって処理される1つ以上の入力(たとえば一般的に通信決定ツリーの全体にわたって処理されるか、および/または、特定のノードにおいて処理される1つ以上のプロファイル属性)の識別と、トラジェクトリ方向に向かうまたは反する一般的なバイアスと、ツリー内の1つ以上の特定のノードにおいて実現される、トラジェクトリ方向に向かうまたは反するバイアスとなどを受け取るように構成され得る。
【0071】
図6は、通信決定ツリーを定義する例示的なインターフェイス600を示す。具体的には、インターフェイスは、さまざまなノードの表現が位置決めされ得るとともに接続され得るキャンバス605を含む。インターフェイス600は、特定のシーケンシャルな動作を表わすためにキャンバス605上で選択および位置決めされ得るアイコンのセットを含み得る。アイコンのセットは、通信決定ツリーのスタートを表わすスタートアイコン610を含み得る。スタートアイコン610は、満たされると、通信決定ツリーを通るトラジェクトリが開始されるべきであることを示す条件の定義を受け取り得る構成ロジックに関連付けられる。
【0072】
アイコンのセットはさらに、エンドアイコン615を含み得る。通信決定ツリーは、エンドアイコン615に達すると、所与のトラジェクトリが完了するということを示すように定義され得る。クライアントは、トラジェクトリ観察の間に行なわれるべきさまざまな動作およびアセスメントを表わすよう、アクション定義アイコンおよび/またはイベント検出アイコンを、位置決めされたスタートアイコン610と位置決めされたエンドアイコン615との間に接続し得る。
【0073】
アイコンのセットに含まれるアクション定義アイコンは、スイッチアイコン620であり得る。スイッチアイコン620は、分岐が選択または「スイッチングされる」分岐ノードに対応する。当該選択は、構成されるマシンラーニングモデルおよびプロファイルデータを使用して行われ得る。多くの場合、スイッチアイコン620は、複数の他の通信アイコンに接続される。複数の他の通信アイコンの例としては、Eメールがユーザデバイスに送信されるべきであることを示すEメールアイコン625、テキストもしくはSMSメッセージがユーザデバイスに送信されるべきであることを示すテキストメッセージアイコン630、および/または、アラートがユーザデバイスにインストールされたアプリを介して示されるべきであることを示すアプリメッセージアイコン635がある。
【0074】
アイコンのセットに含まれるイベント検出アイコンは、1つ以上のマシンラーニング技術についてターゲットとする成果に対応するイベントが検出されたことを表すターゲット検出アイコン637を含み得る。ターゲット検出アイコン637および/または別のイベント検出アイコンは、(たとえば)通知が開かれたことと、通知に含まれるターゲットリンクがアクティベートされたことと、トラジェクトリに関連付けられるユーザデバイスがウェブサイトとのセッションを開始したことと、製品(たとえば任意の製品または特定の製品)がウェブサイト上で購入されたことと、トラジェクトリに対応する付加的なプロファイル情報が提供されたこととなどを示し得る。
【0075】
インターフェイス600は、方向性のある態様で複数のアイコンを接続するために使用され得る接続ツール640を含み得る。各接続は、通信決定ツリーが、接続されるノードにわたって示された方向にトラジェクトリが延在することを可能にするように構成されることを示し得る。しかしながら、各接続は、条件が満たされる場合、トラジェクトリがただ接続にわたって延在するという条件に関連付けられ得る。たとえば、接続は、(接続の他端に接続される)通信アイコンによって表わされるアクションを行なうよう(接続の一端に接続される)分岐ノードにおいて決定がなされる際に条件が満たされるように構成され得る。別の例として、条件は、トラジェクトリに関連付けられるユーザデバイスに関連して特定タイプのインタラクションを検出すると、満たされるように構成されてもよい。
【0076】
各アクション定義アイコンは、トラジェクトリがアイコンに到達した場合、行なわれるべき詳細なアクションを定義する1つ以上のアクションパラメータに関連付けられ得る。たとえば、パラメータ定義インターフェイスは、アイコンをクリックすると、インターフェイス600の部分として提示され得、ならびに/または、パラメータ定義インターフェイスは、アイコンを右クリックおよび/もしくはダブルクリックするとポップアップウィンドウにおいて開かれ得る。
【0077】
いくつかの場合、各アクション定義アイコンおよび/またはイベント検出アイコンは、独立して実行され得るウィジェットまたはコードに対応する。キャンバス605は、1つのウィジェットによって作り出された結果(たとえば通信が特定の通信仕様に従って送信されるべきであるという、スイッチアイコンに対応するマシンラーニングモデルからの指示)が、別のウィジェット(たとえば特定の通信仕様に対応する通信アイコンに対応するウィジェット)に利用され得るように、通信ファブリックとして機能し得る。したがって、キャンバス605は、ウィジェット結果に応答してトラジェクトリを延在し得、通信交換の局面を調整し得る。
【0078】
図6に示されていないが、いくつかの場合、複数のスイッチアイコン620がキャンバス605上に位置決めされ得るということが理解されるであろう。各スイッチアイコン620は、別個に構成または動作され得るマシンラーニングモデルの別個のインスタンスに対応し得る。
【0079】
図7は、スイッチアイコンのための例示的なパラメータ定義インターフェイス700を示す。パラメータ定義インターフェイス700は、テキスト入力を受け入れるステージラベル(Stage Label)のためのフィールドを含んでいる。テキスト入力は、通信決定ツリーを定義するためのインターフェイスにおいて、関連付けられるアイコンの隣にその後に表示され得る。(たとえば)アイコンと関連してシングルクリックまたはダブルクリックを検出することに応答して通信決定ツリーを定義するためのインターフェイスにおいて表示され得る記述がさらにテキスト入力を介して入力され得る。
【0080】
選択もしくはアクション仕様を識別するように構成され、および/または、マシンラーニングモデルを実現するように構成されるスイッチアイコンについて、パラメータ定義インターフェイス700は、ターゲットとする成果を定義するフィールドを含み得る。たとえば、プルダウンメニューは、トラッキングされるとともにターゲットとする成果として識別に利用可能なイベントのセットを識別し得る。ターゲットとする成果は、ユーザデバイスにおいて開始されたアクション、システムが開始した通知などを含み得る。たとえば、ターゲットとする成果は、ユーザデバイスに利用される通信内のリンクがクリックされたこと、ユーザデバイスに利用される通信が開かれたこと、通信がユーザデバイスに関連してなされた購入(すなわち、コンバージョン)に帰着したこと、チャットセッションが開始されたこと、フォームが完了したことなどを検出することを含み得る。
【0081】
選択もしくはアクション仕様を識別するように構成され、および/または、マシンラーニングモデルを実現するように構成されるスイッチアイコンについて、パラメータ定義インターフェイス700は、識別されるべき潜在的な結果を示す1つ以上のフィールドをさらに含み得る。たとえば、インターフェイス700は、アイコンから延在する3つのパスまたは分岐に対応するフィールドを含んでいる。この場合、別のアクション定義アイコンのステージラベル名が各パスについて識別される。いくつかの場合、パス情報は、スイッチが通信決定ツリーを定義するためのインターフェイスにおいて1つ以上のアクション定義アイコンに接続されることを検出すると、パラメータ定義インターフェイス700において自動的にアップデートされる。パラメータ定義インターフェイス700は、付加的なパスを加えるオプション、パスを除去するオプションなどを含み得るということも理解されるであろう。
【0082】
いくつかの場合、パスのうちの1つはデフォルトパスであると識別され得る。トラジェクトリは、(たとえば)別のパスが少なくともターゲットとする成果に帰着するさらに大きな確率のしきい値度を有することになること、別のパスを通る横断によって、(たとえばその後の予測の信頼度における予測された改善によって示されるような)しきい値のパスについての付加的なデータが作り出されることになることなどを、マシンラーニングモデルが予測しなければ、デフォルトパスに一般的にルーティングされ得る。いくつかの場合、(たとえば、別のパスが、ターゲットとする成果に帰着する少なくとも60%の確率を有しており、かつ、当該確率が少なくとも50%の信頼度を有すると予測されなければ)デフォルトパスが選択されるか否かは、ターゲットとする成果が生じる確率に関連付けられる信頼度に依存する。
【0083】
いくつかの場合、スイッチアイコンは、パスおよび/または次のアクション(またはその欠如)と、次のアイコンへパスを延在(および、たとえば任意の次のアクションを実行)する時間とを選択するように構成され得る。当該時間は、複数のアクションから、および/または、開いたまたは閉じられた連続性(continuum)に沿って選択され得る。示される場合において、パラメータ定義インターフェイス700は、トラジェクトリが次のアクション定義アイコンまで延在される最大時間を含む。したがって、ここで、トラジェクトリは、(たとえば、ターゲットとする成果に帰着するより高い確率、および/または、学習データの増加により)スイッチアイコンと関連して実行される決定ロジックが別の時間期間が十分により有利であるということを示さなければ、トラジェクトリがスイッチアイコンに到達した後、1日以内に延在されるべきである。
【0084】
マシンラーニング技術および/または他の選択技術は、ターゲットとする成果に帰着する最も高い確率に関連付けられるパスを複数の潜在的なパスから識別するように構成され得る。いくつかの場合、当該技術はさらに、準最適と考えられるパスが存在するモデルの学習を継続することを促進するためにしばしば選択されるように、何らかの程度のノイズおよび/または変動性を導入する。
【0085】
いくつかの場合、クライアントは、特定のパスの選択に向かうバイアスまたはその選択に反するバイアスを導入する理由を有し得る。たとえば、特定のパスは、別のパスに対して、使用するのに(たとえば計算上および/または財務的に)コストがかかり得る。別の例として、特定のパスは、別のパスに対して、高いアベイラビリティを有し得る。さらに別の例として、クライアントは、その後のリソースアロケーション決定を知らせるように、所与のパスの効率性に関して情報を迅速に獲得することを望み得る。
【0086】
したがって、パラメータ定義インターフェイス700は、個々のパスに向かうバイアスまたはそのパスに反するバイアスを実施する1つ以上のオプションを含み得る。示される場合では、各パスのためにスライダが提供される。スライダが右の「ブースト」側に向かって位置決めされると、パス選択技術は、対応するパスに向かってバイアスがかけられるように調節され得る。スライダが左の「制約」側に向かって位置決めされると、パス選択技術は、対応するパスに反するようにバイアスがかけられるように調節され得る。そのようなブーストオプションおよび/または制約オプションには制限が課されており、(たとえば)最も左の制約位置にスライダを移動させる効果は、対応するパスの選択を防止することではない。そのような制限によって、マシンラーニングモデルは、さまざまなオプションに関係するデータを収集し続けることと、ラーニングを通じて1つ以上のパラメータを修正し続けることとが可能になり得る。2つのオプションのみが存在する場合、他のオプションに対する1つのオプションに向かう相対的なバイアスを識別するために単一のインターフェイスコンポーネントが提供されてもよい。その一方、2つより多いオプションが存在する場合、オプション固有のブースト/制約オプションは、より直観的な制御を提供し得る。
【0087】
図8は、通信においてさまざまなコンテンツを表わすことに向かう、または、表わすことに反するバイアスを実行するオプションを含む別のパラメータ定義インターフェイス800を示す。示される場合において、(各々が対応する製品を表わす)9つのコンテンツアイテムが表わされる。各コンテンツアイテムの表現と視覚的に関連して、スライダが提供される。スライダが右の「ブースト」側に向かって位置決めされると、(たとえば、異なるコンテンツを表わす複数のパス同士の間で選択することに対応し得るか、または、通信チャンネルを識別することの後にコンテンツを選択することに対応し得る)コンテンツ選択は、対応するコンテンツアイテムに向かってバイアスがかけられるように調節され得る。スライダが左の「制約」側に位置決めされると、パス選択技術は、対応するアイテムに反するようにバイアスがかけられるように調節され得る。
【0088】
示される場合において、スライダは最も左の位置に位置決めされる。これは、「オファーなし」オプションが提示されることをトリガする。いくつかの場合、オファーなしオプションが選択されない場合、第1のコンテンツアイテムは少なくとも時々それでも選択され得る。
【0089】
スライダおよび履歴通信カウントによって示される相対的なバイアスに基づいて、システムは、個々のコンテンツアイテムが所与の日において表わされる回数を予測し得る。したがって、クライアントが1つ以上のスライダを移動させると、インターフェイス800は、スライダ位置が与えられると、個々のコンテンツアイテムが(たとえば1日当たり)提示されることになる回数について推定されたカウントを自動的にアップデートし得る。
【0090】
異なるタイプのバイアスがさらに識別および実行され得るということが理解されるであろう。たとえば、1つ以上のスライダが、通信がいつ送信されるかに関係するバイアスを示すために提供されてもよい。たとえば、スライダは、即時送信に向かう(および/または制限時間(capped time)のような別の時間での送信に向かう)決定にバイアスをかける程度を示してもよい。
【0091】
バイアス(通信チャンネルのタイプに向かうまたは反するバイアス、特定タイプのコンテンツを表わすことに向かうまたは反するバイアス、特定の時間に通信を送信することに向かうまたは反するバイアスなど)を実行することは、(たとえば)マシンラーニングモデルにおける1つ以上の重みおよび/または1つ以上のしきい値を修正することを含み得る。いくつかの場合、バイアスを実行することは、(たとえば通信属性の配布がバイアスに基づいて示されるターゲット配布とマッチする程度を向上するよう結果の部分を再配布するために)後処理を行なうことを含む。
【0092】
図9は、通信を送信するためにさまざまな通信チャンネルを使用することに向かうまたは反するバイアスを実行するオプションを含むさらに別のパラメータ定義インターフェイス900を示す。示される場合では、Eメール、アプリベースの通知およびSMSメッセージという3つの通信チャンネルが表わされる。各チャンネルの表現と視覚的に関連して、スライダが提供される。スライダが右の「ブースト」側に向かうよう位置決めされると、コンテンツ送信は、対応するタイプのチャンネルを使用することに向かうようにバイアスがかけられるように調節され得る。スライダが左の「制約」側に位置決めされると、パス選択技術は、対応するチャンネルに反するようにバイアスがかけられるように調節され得る。
【0093】
インターフェイス900はさらに、最近の時間期間内で各チャンネルを使用して送信された通信の数を示し、さらに、来たるべき時間期間にわたって各チャンネルを使用して送信について予定される通信の数を示す時系列表現を示す。現在時間は縦線によって表わされる。通信は、(たとえば、通信チャンネルを選択するものに対して同じまたは異なるマシンラーニングモデルに含まれ得る)複数の潜在的な送信時間同士の間で選択する選択技術に従って予定され得る。したがって、クライアントは、さまざまなチャンネルにわたって予定される負荷を閲覧し得、かつ、あるチャンネルに向かうまたは反するようセットされた任意のバイアスを調節するか否か判定し得る。
【0094】
図10は、本発明のいくつかの実施形態に従った通信決定ツリーを通るトラジェクトリを方向付けするためにマシンラーニングを使用するためのプロセス1000についてのフローチャートを示す図である。プロセス1000は、ブロック1005において開始され、ブロック1005では、通信決定ツリーを表わすデータ構造がアクセスされる。通信決定ツリーは、一連の通信仕様を示すために、マシンラーニング技術を使用して通信決定ツリーを通る個々のトラジェクトリを動的に定義するように構成され得る。より具体的には、通信決定ツリーは、ノードのセットを含み得る。延在が生じることになることを示すイベントを検出することに応答して、所与のトラジェクトリがノードにわたって延在され得る。イベントは、(たとえば)ユーザイベントから特定タイプのアクションまたは通信を検出することを含み得るか、または、トラジェクトリ管理システムまたはマシンラーニングデータプラットホームにおいて(ノード識別に対応する)特定の決定を識別することを含み得る。ノードのセットは、分岐ノードのセットを含み得る。分岐ノードのセットの各分岐ノードは、所与のトラジェクトリについての方向を識別し、および/または、トラジェクトリ管理システムもしくはマシンラーニングデータプラットホームにおいて開始されるべき特定のアクションを識別するように構成されるアクションポイントに対応し得る。分岐ノードは、構成されたマシンラーニングモデルを使用して、方向またはアクションを識別するように構成され得る。
【0095】
ブロック1010では、(特定のユーザおよび/または特定のユーザデバイスに関連付けられる)トラジェクトリは、通信決定ツリーの分岐ノードに到達するように延在していると検出される。トラジェクトリは、ユーザデバイスにおいて開始される特定タイプのイベント(たとえば、ユーザデバイスがクライアントに関連付けられるウェブサイトでのセッションにエンゲージすることを示す通信、ユーザがプロファイルフォームのサブミッションを完了したことを示す通信など)の検出の結果、および/または、特定のシステムが開始したアクションの完了の結果、分岐ノードまで延在され得た。
【0096】
ブロック1015では、他のユーザデータを処理することにより生成されたラーニング済データが抽出される。ラーニング済データは、マシンラーニング技術を学習する間に生成されるデータを含み得る。学習は、1つ以上のトラジェクトリを方向付けするためにマシンラーニング技術を使用することに対して別の時間の間に行われてもよく、または、マシンラーニング技術の学習および利用は同時に行なわれてもよいということが理解されるであろう。他のユーザデータは、同じまたは異なる通信決定ツリーを通る1つ以上のトラジェクトリを含み得る。他のユーザデータは、プロファイルデータおよび/または1人以上のユーザに対応する属性を示し得、個々のトラジェクトリに関連して検出および/または開始されるさまざまなイベントをさらに示し得る。したがって、たとえば、他のユーザデータは、さまざまな状況が存在する場合、(たとえば、クライアントによってターゲットとする成果であると識別される)特定タイプのイベントを検出する確率を示し得る。
【0097】
ブロック1020において、(分岐ノードに延在すると検出される)トラジェクトリに対応するユーザに関連付けられる1つ以上のユーザ属性が抽出される。ユーザ属性は(たとえば)、ユーザデバイスのタイプと、ユーザデバイスの地理的位置と、ユーザデバイスにおいて使用されているブラウザのタイプと、ユーザデバイスで使用されているオペレーティングシステムと、ユーザデバイスと特定のウェブサイトとの間のインタラクションの部分的または完全な履歴と、ユーザデバイスとユーザデバイスに関連付けられる1つ以上の他のウェブサイト、クッキーデータとの間のインタラクションと、ユーザデバイスにおいて開かれ、かつ、含まれるリンクのアクティベーションに帰着した通知のタイプ(たとえばEメール、テキストメッセージおよび/またはアプリメッセージのタイプ)を示す履歴データなどとを含み得る。1つ以上の特定のユーザ属性は、収集され得、および/または、ローカルに抽出され得、および/または、リモートソースから要求および受け取られ得る。
【0098】
ブロック1025では、1つ以上の通信仕様が、ラーニング済データおよび1つ以上のユーザ属性に基づいて識別される。たとえば、ラーニング済データは、マシンラーニングモデル(たとえば回帰モデル)の1つ以上のパラメータを含み得る。マシンラーニングモデルはさらに、1つ以上のハイパーパラメータに基づいて定義されてもよい。マシンラーニングモデルは、パラメータ、ハイパーパラメータおよび/または存在する構造を使用して、ユーザ属性を処理するように構成され得る。モデルの実現の結果は、ターゲットとする成果を達成することにおいて最も成功すると予測される、複数の利用可能なオプションからの選択を識別してもよい。複数の利用可能オプションは、(たとえば)使用されるべき異なるタイプの通信チャンネル、送信されるべき異なるタイプのコンテンツ、および/または、送信の異なるタイミングに対応してもよい。いくつかの場合、複数の利用可能オプションは、1つ以上の他の通信仕様を共有する。
【0099】
ブロック1030では、トラジェクトリに関連付けられるユーザデバイスへのコンテンツの送信がトリガされる。コンテンツ送信は、1つ以上の通信仕様に従って行なわれる。
【0100】
ブロック1035では、通信決定ツリー内の別の分岐ノードに到達するようトラジェクトリが延在しているか否かが判定される。そうであれば、プロセス1000はブロック1015に戻り、ブロック1015~1035が繰り返される。しかしながら、ブロック1015の繰り返された反復は、(たとえば、潜在的にではあるが必ずではなく、ユーザデータのうちの少なくともいくつかと組み合わせて)他のユーザデータを処理することにより生成される異なるラーニング済データを抽出することを含み得る。異なるラーニング済データは、(たとえば、同じもしくは異なる値および/または同じもしくは異なるタイプのパラメータおよび/または同じもしくは異なるタイプのハイパーパラメータを有する)マシンラーニング技術の同じまたは異なる構成を使用して生成され得たものである。ブロック1020の繰り返される反復は、少なくとも1つの他のユーザ属性を抽出することを含み得る。ブロック1025の繰り返される反復は、異なるラーニング済データおよび少なくとも1つの他のユーザ属性に基づいて、少なくとも1つの他の通信仕様を(および/または潜在的な通信仕様の異なるセットから)識別することを含み得る。少なくとも1つの他の通信仕様は、同じまたは異なるタイプの存在するモデルを使用して識別され得る。また、ブロック1030の繰り返される反復は、少なくとも1つの他の通信仕様に従って他のコンテンツの別の送信をトリガすることを含み得る。
【0101】
別の分岐ノードに到達するようにトラジェクトリが延在していないことが判定されると、プロセス1000は、トラジェクトリが完了しているか否かを判定するためにブロック1040に進む。当該判定は、トラジェクトリの現在の端部が、延在する接続を欠くトラジェクトリに関連付けられるか否かを判定することにより行われ得る。トラジェクトリが完了していると判定される場合、トラジェクトリの処理は終了され得る。トラジェクトリが完了していないと判定される場合、プロセス1000は、ブロック1035に戻り、(たとえばユーザが開始したアクションまたは外部イベントの結果)トラジェクトリが別の分岐ノードに到達したという判定を待つ。
【0102】
したがって、プロセス1000は、通信交換における異なるステージに対応する仕様を識別するよう、異なって構成されるマシンラーニングモデルを繰り返し使用することを促進する。異なるステージにおいて、モデルは、異なるプロファイルデータ(たとえば異なるフィールドについての値、または、時間において変化した値)、および/または、(たとえば、モデルに関係する異なる入力および/または出力に基づいてラーニングされ、および/または、一時的な変更に基づいてラーニングされる)異なるモデルパラメータを使用し得る。マシンラーニングモデルのこの反復的な適用は、個々のユーザについて通信交換を動的に方向付けすることを促進する。
【0103】
図11は、位置決め可能な視覚的要素をサポートするインターフェイスを使用して、マシンラーニングベースの通信決定ツリーを定義するためのプロセス1100のためのフローチャートを示す。プロセス1100は、ブロック1105において開始され、ブロック1105では、視覚的要素のセットおよび要素の位置決めのためのキャンバスを含むインターフェイスが利用される。視覚的要素のセットの各々はキャンバス上で位置決め可能であり得る。たとえば、インターフェイスは、ユーザが視覚的要素の表現をクリックすることを可能にするように構成されてもよく、クリックを維持している間、当該視覚的要素を他の位置にドロップするようキャンバス上の別の位置へカーソルをドラッグすることを可能にするように構成されてもよい。別の例として、(たとえばクリックまたはダブルクリックを介して)表現が選択され得、カーソルが別の位置にある間に受け取られる別の入力(たとえば別のクリックまたはダブルクリック)によって、視覚的要素が他の位置に位置決めされ得る。
【0104】
視覚的要素のセットは、アクション定義視覚的要素のセットを含み得る。アクション定義視覚的要素のセットのうちのアクション定義視覚的要素の各々は、所与のトラジェクトリが当該アクション定義視覚的な要素に延在した場合に行なわれるべき特定のアクションであり得る。アクション定義視覚的要素のセットは、マシンラーニング技術を使用して通信仕様を識別するよう、(たとえば、マシンラーニングモデルを使用して行われる)決定アクションを表わすスイッチ視覚的要素を含み得る。アクション定義視覚的要素のセットはさらに、通信視覚的要素のセットを含み得る。通信視覚的要素のセットの各々は、特定の通信仕様(たとえば通信チャンネルのタイプ、特定のコンテンツ、送信時間など)を表わし得る。視覚的要素のセットはさらに、複数の位置決めされる視覚的要素を方向性をもって接続するように構成される接続視覚的要素を含み得る。複数の位置決めされる視覚的要素の各位置決めされる視覚的要素は、アクション定義視覚的要素のセットのうちのアクション定義視覚的要素に対応し得る。方向性のある接続は、複数の位置決めされる視覚的要素によって表わされる特定のアクションが行われることになる順序を示し得る。
【0105】
ブロック1110では、キャンバスへのアップデートが検出される。アップデートされたキャンバスは、キャンバス内の第1の位置に位置決めされるスイッチ視覚的要素と、キャンバス内の第2の位置に位置決めされる通信視覚的要素のセットのうちの第1の通信視覚的要素と、キャンバス内の第3の位置に位置決めされる通信視覚的要素のセットの第2の通信視覚的要素とを含み得る。第1の通信視覚的要素は、第1の特定の通信仕様を表わし得、第2の通信視覚的要素は、第2の特定の通信仕様を表わし得る。
【0106】
アップデートされたキャンバスはさらに、接続視覚的要素のセットを含み得る。接続視覚的要素のセットの各々は、接続視覚的要素のインスタンスを含み得る。接続視覚的要素のセットの第1の接続は、第1の通信視覚的要素にスイッチ視覚的要素を接続するよう位置決めされ得る。接続視覚的要素のセットの第2の接続は、第2の通信視覚的要素にスイッチ視覚的要素を接続するよう位置決めされ得る。接続視覚的要素のセットは、スイッチ視覚的要素でのマシンラーニング技術の実行の潜在的な結果が、第1の特定の通信仕様を有する通信送信をトリガする第1の結果と、第2の特定の通信仕様を有する通信送信をトリガする第2の結果とを含むことを示し得る。
【0107】
ブロック1115では、特定の通信決定ツリーは、アップデートされるキャンバスに基づいて定義される。ブロック1120では、特定のプロファイルデータに関連付けられる所与のトラジェクトリが、スイッチ視覚的要素によって表わされる特定の決定アクションに延在していることが検出される。当該検出に応答して、ブロック1125では、(ラーニング済パラメータデータおよび/または静的データにより構成される)マシンラーニング技術が、マシンラーニング結果を作り出すよう特定のプロファイルデータを処理するために使用される。ラーニング済パラメータデータは、他のユーザに関連付けられるトラジェクトリおよび/または同じもしくは異なる通信決定ツリーに関連付けられるトラジェクトリのセットに基づき、マシンラーニングモデルの別個または進行中の学習の間にラーニングされるデータを含み得る。マシンラーニング技術を使用する特定のプロファイルデータの処理は、第1および第2の特定の通信仕様のうちのいずれかがコンテンツ送信のために適用されるべきであるかを示し得る。
【0108】
したがって、ブロック1130では、コンテンツはトラジェクトリに関連付けられるユーザデバイスに送信される。当該送信は、マシンラーニング結果において示されるような第1および第2の特定の通信仕様の1つに従って行なわれる。たとえば、第1および第2の通信視覚的要素は、異なるタイプの通信チャンネルに対応してもよい。ブロック1125は、2つのタイプの通信チャンネルのうちの1つを識別することを含んでもよく、コンテンツは識別されたチャンネルを介して送信され得る。
【0109】
したがって、キャンバスは、通信決定ツリーのための構成を定義すること促進する。しかしながら、クライアントは、すべてのユーザに該当し、および/または、1つ以上の決定論的なルールのみを含む通信交換を定義する必要はない。むしろ、インターフェイスは、さまざまな通信仕様のオプション、通信イベントの順序および/または制約を一般的に識別することをサポートする。仕様通信仕様は、マシンラーニング技術を使用して自動的かつ動的に生成され得る。このアプローチは、クライアントのプライオリティを遵守するために通信システムを構成することを促進し得るが、通信システムが特定のユーザの特性、リソース負荷、最近のインタラクションパターンなどに動的に適合することを可能し得る。
【0110】
開示される技術のバリエーションが考えられるということが理解されるであろう。たとえば、分岐ノードは、通信に使用されるべき通信仕様を選択するために、マシンラーニングモデルではない別のタイプの人工知能モデルを使用し得る。別の例として、インターフェイスは、スイッチ要素に対応するトラジェクトリステージにおいて使用されるべき特定タイプの人工知能モデルまたはより一般的なタイプの人工知能モデルの選択を受け入れるように構成されてもよい。さらに別の例として、インターフェイスは、(たとえば、1つ以上の通信決定ツリー、1つ以上の時間期間および/または1つ以上のユーザポピュレーションセグメントに対応する点において)何のデータがキャンバス上に位置決めされる1つ、それより多くまたはすべてのスイッチ要素に対応するマシンラーニングモデルを学習するために使用されるべきであるかを示すことを可能にするように構成されてもよい。
【0111】
本願明細書において開示される技術は、さまざまなタイプの決定ツリーをサポートするために使用され得るということが理解されるであろう。たとえば、ツリーにおけるノードおよび/またはキャンバス上に表わされる視覚的要素は、(いくつかの場合)所与の条件が満たされるか否か(たとえば、特定タイプのデバイス間通信が検出されるか否か、非クライアント関連アプリケーションがアクションが行なわれたことを示すか否か、特定の時間が経過したか否か)を評価するロジックに一般的に関連付けられる要素に対応しており、満たしていることを検出すると、特定のアクションが行なわれる。ノードおよび/または視覚的要素のサブセットについて、条件が与えられた特定のアクションは、進むべき接続ノード(または視覚的要素)のセットから選択するためにプロファイルデータに基づいて、当該選択されたノード(または視覚的要素)に関連付けられる別の特定のアクションが行われ得るようにマシンラーニングモデルを実行することを含み得る。たとえば、トラジェクトリパスのマシンラーニングベースの選択は、If This Then That環境に統合されてもよい。分岐は(たとえば)、通信仕様を識別するノードに接続される分岐ノードを有するのではなく、データを格納するために使用するべき異なるアプリケーションを識別し得る。したがって、決定フレームワークは、人工知能アプレットおよび/もしくはプラグインが1つ以上の他のアプレットと通信すること、または、キャンバスを通じて戻ることを可能にするように確立され得る。
【0112】
さらに、本願明細書におけるいくつかの開示はマシンラーニング学習および実行を形作るためにターゲットとする成果が使用され得ることを示しているが、より複雑な場合が考慮されるということが理解されるであろう。たとえば、代替的または付加的には、否定的な結果(たとえばサブスクリプション解約要求または苦情)が識別および使用され得る。いくつかの場合、スコアは、1つ以上のターゲット結果および/または1つ以上の否定的な結果が生じた量または程度に基づいてさまざまな結果に割り当てられ得る。その後、当該スコアは、1つ以上のマシンラーニングモデルを学習および実施するために使用され得る。
【0113】
実施形態の完全な理解を提供するよう、上記の記載において特定の詳細が与えられている。しかしながら、これらの特定の詳細がなくても実施形態が実施され得ることが理解される。たとえば、実施形態の不必要な詳細を不明瞭にしないために、回路はブロック図で示され得る。他の場合では、実施形態を不明瞭にすることを避けるために、周知の回路、プロセス、アルゴリズム、構造、および技術は、不必要な詳細なしで示され得る。
【0114】
上記で説明した技術、ブロック、ステップ、および手段の実現例は、様々な態様で行われ得る。たとえば、これらの技術、ブロック、ステップ、および手段は、ハードウェア、ソフトウェア、またはそれらの組み合わせで実現され得る。ハードウェア実現例の場合、処理ユニットは、1つ以上の特定用途向け集積回路(ASIC: application specific integrated circuit)、デジタル信号プロセッサ(DSP: digital signal processor)、デジタル信号処理デバイス(DSPD: digital signal processing device)、プログラマブルロジックデバイス(PLD:programmable logic device)、フィールドプログラマブルゲートアレイ(FPGA: field programmable gate array)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、上述の機能を実行するように設計される他の電子ユニット、および/または、それらの組合せ内において実現され得る。
【0115】
なお、実施形態はさらに、フローチャート、フロー図、データフロー図、構造図、またはブロック図として示されるプロセスとして記載され得る。フローチャートは動作をシーケンシャルプロセスとして記載し得るが、当該動作の多くは並列または同時に実行され得る。さらに、動作の順序は再構成され得る。プロセスは、その動作が完了すると終了されるが、図において含まれない付加的なステップを有し得る。プロセスは、メソッド、関数、プロシージャ、サブルーチン、サブプログラムなどに対応し得る。プロセスが関数に対応する場合、その終了は、呼出関数または主な機能への関数のリターンに対応する。
【0116】
さらに、実施形態は、ハードウェア、ソフトウェア、スクリプト言語、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、および/またはそれらの任意の組合せによって実現され得る。ソフトウェア、ファームウェア、ミドルウェア、スクリプト言語、および/またはマイクロコードにおいて実現される場合、必要なタスクを実行するプログラムコードまたはコードセグメントは、記憶媒体などのマシン読取可能媒体に格納され得る。コードセグメントまたはマシン実行可能命令は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、スクリプト、クラス、または、命令、データ構造および/もしくはプログラム文の任意の組合せを表わし得る。コードセグメントは、情報、データ、アーギュメント、パラメータおよび/またはメモリコンテンツをパスするおよび/または受けることによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、アーギュメント、パラメータ、データなどは、メモリ共有、メッセージパッシング、チケットパッシング、ネットワーク送信などを含む任意の好適な手段を介してパス、転送、または送信され得る。
【0117】
ファームウェアおよび/またはソフトウェア実現例について、方法が、本願明細書において記載される機能を実行するモジュール(たとえばプロシージャおよび関数など)で実現され得る。有形的に命令を具現化する任意のマシン読取可能媒体が、本願明細書において記載された方法を実現するのに使用され得る。たとえば、ソフトウェアコードはメモリに格納され得る。メモリは、プロセッサ内に実現され得るか、または、プロセッサの外部に実現され得る。本願明細書において使用されるように、「メモリ」という用語は、任意のタイプのロングターム、ショートターム、揮発性、不揮発性または他の記憶媒体を指しており、如何なる特定のタイプのメモリ、如何なる特定の数のメモリ、またはメモリが格納される如何なる特定のタイプの媒体にも限定されない。
【0118】
さらに、本願明細書において開示されるように、「記憶媒体」という用語は、データを格納するための1つ以上のメモリを表わし得、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気RAM、コアメモリ、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス、および/または情報を格納するための他のマシン読取可能媒体を含む。「マシン読取可能媒体」という用語は、命令および/もしくはデータを含むもしくは担持する格納可能なポータブルまたは固定記憶デバイス、光学記憶デバイス、ワイヤレスチャンネル、および/またはさまざまな他の記憶媒体を含むがこれらに限定されない。
【0119】
本開示の原理は、特定の装置および方法に関連して上で記載されてきたが、この記載は、本開示の範囲を限定するものではなく、例示としてのみなされていることが明確に理解されるべきである。