JP2020057386A - Directing trajectories through communication decision tree using iterative artificial intelligence - Google Patents

Directing trajectories through communication decision tree using iterative artificial intelligence Download PDF

Info

Publication number
JP2020057386A
JP2020057386A JP2019177419A JP2019177419A JP2020057386A JP 2020057386 A JP2020057386 A JP 2020057386A JP 2019177419 A JP2019177419 A JP 2019177419A JP 2019177419 A JP2019177419 A JP 2019177419A JP 2020057386 A JP2020057386 A JP 2020057386A
Authority
JP
Japan
Prior art keywords
worker
data
node
job
machine learning
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.)
Granted
Application number
JP2019177419A
Other languages
Japanese (ja)
Other versions
JP2020057386A5 (en
JP7350590B2 (en
Inventor
タラ・ユー・ロバーツ
U Roberts Tara
アルバート・ポッレリ
Polleri Alberto
ラジブ・クマール
Kumar Rajiv
ランジット・ジョセフ・チャッコ
Joseph Chacko Ranjit
ジョナサン・ステンズビー
Stanesby Jonathan
ケビン・ヨーディ
Yordy Kevin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Oracle International Corp
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 Oracle International Corp filed Critical Oracle International Corp
Publication of JP2020057386A publication Critical patent/JP2020057386A/en
Publication of JP2020057386A5 publication Critical patent/JP2020057386A5/ja
Priority to JP2023148284A priority Critical patent/JP2023168364A/en
Application granted granted Critical
Publication of JP7350590B2 publication Critical patent/JP7350590B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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)

Abstract

To configure artificial-intelligence (AI) decision nodes throughout a communication decision tree.SOLUTION: The decision nodes can dynamically define iteration data corresponding to a trajectory through a decision tree to support successive iteration of AI models.SELECTED DRAWING: Figure 1

Description

関連出願への相互参照
本願は、2017年9月29日に出願された米国仮出願第62/566026号の利益および優先権を主張する、2018年6月13日に出願された米国出願第16/007677号の一部継続出願である。これらの出願の各々は、あらゆる目的のためにその全体が参照により本明細書に組み込まれる。
CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit and priority of US Provisional Application No. 62 / 566,26, filed September 29, 2017, which is incorporated by reference in US application Ser. No./007677 is a continuation-in-part application. Each of these applications is incorporated herein by reference in its entirety for all purposes.

背景
技術的進歩は、多くの種類の通信チャネルの利便性および複雑性を改善した。また、データ記憶およびネットワークの進歩は、記憶容量を増加している。これによって、より多くの量(および種類)のデータをデータソースに記憶することができ、将来に送信することができる。したがって、将来のいずれかの時間に多くの種類のデータを複数のデータチャネルの間に配信するようにデータソースを配置することができる。単一の配信ではなく、複数の関連コンテンツの配信を検討する場合、コンテンツを配信するための選択肢は、爆発的に増加する。多くの場合、コンテンツプロバイダーは、1つ以上の静的ルールを構成することによって、同じ通信チャネルを介して同じコンテンツを各データインタスターに無差別に提供する。異なるデータリクエストを受信するための通信仕様が異なる場合があるが、データリクエストに無差別に且つ矛盾なく応答するようにルールを構成することができる。この手法は、構成の簡素化および決定性操作を提供するが、データインジェスター全体の潜在的な変動に対応できず、リクエストを最適に処理することができない。
Background Technological advances have improved the convenience and complexity of many types of communication channels. Also, advances in data storage and networks have increased storage capacity. This allows a greater amount (and type) of data to be stored in the data source and to be transmitted in the future. Thus, a data source can be arranged to deliver many types of data between multiple data channels at any time in the future. When considering delivery of multiple related content rather than a single delivery, the options for delivering the content will explode. Often, content providers indiscriminately provide each data interstar with the same content over the same communication channel by configuring one or more static rules. Although communication specifications for receiving different data requests may be different, rules can be configured to respond indiscriminately and consistently to data requests. While this approach provides simplicity of configuration and deterministic operation, it does not address the potential variability of the overall data ingestor and cannot handle requests optimally.

概要
いくつかの実施形態において、コンピュータ実施方法が提供される。データ構造にアクセスする。データ構造は、機械学習手法を用いて、個々の経路を動的に定義するように構成された通信決定木を表す。通信決定木を通る経路は、一連の通信仕様を示す。通信決定木は、複数の分岐ノードを含む。複数の分岐ノードの各分岐ノードは、所定の経路の方向を特定するように構成された動作ポイントに対応する。第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のコンテンツがユーザ装置に送信される。
SUMMARY In some embodiments, a computer-implemented method is provided. Access data structures. The data structure represents a communication decision tree configured to dynamically define individual paths using a machine learning technique. The path through the communication decision tree indicates a series of communication specifications. The communication decision tree includes a plurality of branch nodes. Each branch node of the plurality of branch nodes corresponds to an operation point configured to specify a direction of a predetermined route. At the first time, it is detected that the route passing through the communication decision tree has reached the first branch node among the plurality of branch nodes. A route is associated with a particular user. In response to detecting that the route has reached the first branch node, first learning data generated by processing the first user data using a machine learning technique is obtained. The first user data includes user attributes of a plurality of other users. Further, one or more specific user attributes associated with the specific user are obtained in response to detecting that the route has reached the first branch node. One or more first communication specifications are specified based on the first learning data and one or more specific user attributes, and the first content is provided to a specific user according to the one or more first communication specifications. Sent to the associated user device. At a second time after the first time, it is detected that the path through the communication decision tree has reached the second branch node among the plurality of branch nodes. In response to detecting that the route has reached the second branch node, second learning data generated by processing the second user data using a machine learning technique is obtained. The second user data includes at least some user attributes that are not included in the first user data. Further, in response to detecting that the route has reached the second branch node, one or more second communication specifications based on the second learning data and at least a portion of the one or more specific user attributes. Is identified, and the second content is transmitted to the user device according to one or more second communication specifications.

いくつかの実施形態において、非一時的な機械可読記憶媒体に有形に具現化されたコンピュータプログラム製品が提供される。コンピュータプログラム製品は、本明細書に開示された1つ以上の方法の一部または全部の動作を1つ以上のデータプロセッサに実行させるように構成された命令を含むことができる。   In some embodiments, a computer program product tangibly embodied on a non-transitory machine-readable storage medium is provided. The computer program product may include instructions configured to cause one or more data processors to perform some or all of the operations of one or more of the methods disclosed herein.

いくつかの実施形態において、1つ以上のデータプロセッサと、1つ以上のデータプロセッサ上で実行されると、本明細書に開示された1つ以上の方法の一部または全部の動作を1つ以上のデータプロセッサに実行させる命令を含む非一時的なコンピュータ可読記憶媒体とを含むシステムが提供される。   In some embodiments, one or more data processors and, when executed on one or more data processors, perform one or more operations of some or all of the one or more methods disclosed herein. A non-transitory computer-readable storage medium including instructions to be executed by the data processor is provided.

以下、添付の図面を参照して、本発明の例示的な実施形態を詳細に説明する。   Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

対話システムを示すブロック図である。It is a block diagram showing a dialog system. メール通信を生成するために使用されたテンプレートを示す図である。FIG. 4 is a diagram showing a template used to generate a mail communication. アプリ通知通信を生成するために使用されたテンプレートを示す図である。FIG. 9 is a diagram illustrating a template used to generate an application notification communication. 通信決定木の一例を示す図である。It is a figure showing an example of a communication decision tree. ユーザ装置に対応し、通信決定木を通って延長する経路の一例を示す図である。It is a figure corresponding to a user device and showing an example of the course extended through a communication decision tree. 通信決定木を定義するための例示的なインターフェイスを示す図である。FIG. 4 illustrates an example interface for defining a communication decision tree. 切替アイコンの例示的なパラメータ定義インターフェイスを示す図である。FIG. 9 illustrates an exemplary parameter definition interface for a switch icon. 通信内の様々なコンテンツの表示にバイアスを与えるためのオプションを含む別の例示的なパラメータ定義インターフェイスを示す図である。FIG. 9 illustrates another exemplary parameter definition interface that includes options for biasing the display of various content in a communication. 通信を送信するための様々な通信チャネルの使用にバイアスを与えるためのオプションを含む別の例示的なパラメータ定義インターフェイスを示す図である。FIG. 9 illustrates another exemplary parameter definition interface that includes options for biasing the use of various communication channels to send communications. 本発明のいくつかの実施形態に従って、機械学習を用いて、通信決定木を通る経路の方向を指定するためのプロセスを示すフローチャートである。5 is a flowchart illustrating a process for specifying a direction of a path through a communication decision tree using machine learning, according to some embodiments of the present invention. 配置可能な視覚要素をサポートするインターフェイスを用いて、機械学習ベースの通信決定木を定義するためのプロセスを示すフローチャートである。FIG. 4 is a flowchart illustrating a process for defining a machine learning-based communication decision tree using an interface that supports configurable visual elements. 本発明のいくつかの実施形態に従って、例示的な累進選別決定木を示す図である。FIG. 4 illustrates an exemplary progressive sparse decision tree, according to some embodiments of the present invention. 本発明のいくつかの実施形態に従って、累進選別決定木の実装中に発生するデータ処理の例示的な表現を示す図である。FIG. 4 illustrates an exemplary representation of data processing that occurs during implementation of a progressive screening decision tree, according to some embodiments of the present invention. 本発明のいくつかの実施形態に従って、機械学習モデルを反復的に使用して、決定木を通る経路を前進させるプロセスを示すフローチャートである。5 is a flowchart illustrating a process of advancing a path through a decision tree using a machine learning model iteratively in accordance with some embodiments of the present invention.

説明
いくつかの実施形態において、機械学習データを反復的に使用して、通信仕様を反復的に特定することを容易にするシステムおよび方法が提供される。より具体的には、複数のノードを含む通信決定木を生成する。各ノードは、例えば、検出されたイベントまたは分岐ノードに対応してもよい。分岐ノードは、通信仕様の決定に対応し、1つ以上の特定の通信仕様に対応する通信を示す複数の次のノードに連結される。通信決定木を通る個々の経路は、個々のユーザおよび/または1つ以上の特定のユーザ装置に対応してもよい。個々の経路は、複数のノードの特定の部分セットを通って延長することができる。部分セット内のノードは、ユーザによって開始された特定の動作および/または1つ以上の特定の装置のうち特定のユーザ装置上で開始された特定の動作、1つ以上の特定の装置のうち特定のユーザ装置に送信した通信の特性、および/または今後の通信の仕様に関する決定を示す。例えば、今後の通信の仕様は、送信時間、送信される装置、送信に使用される通信チャネルの種類、および/または送信されるコンテンツの種類を示すことができる。場合によって、自然言語処理を用いて、訓練セットに送信される1つ以上のコンテンツオブジェクトの各々におよび/または送信可能な1つ以上のコンテンツオブジェクトの各々に1つ以上のカテゴリを割り当てることができる。通信仕様は、送信されたコンテンツの特定のカテゴリを特定することができる。
Description In some embodiments, systems and methods are provided that facilitate iteratively identifying communication specifications using machine learning data iteratively. More specifically, a communication decision tree including a plurality of nodes is generated. Each node may correspond to, for example, a detected event or a branch node. The branch node is coupled to a plurality of next nodes that correspond to the determination of the communication specification and indicate communication corresponding to one or more specific communication specifications. Individual paths through the communication decision tree may correspond to individual users and / or one or more specific user devices. Individual paths can extend through a particular subset of nodes. The nodes in the subset may be specific operations initiated by a user and / or specific operations initiated on a particular user device of one or more specific devices, or a particular operation of one or more specific devices. 5 shows the characteristics of the communication sent to the user equipment of the first and / or the determination on the specification of the future communication. For example, future communication specifications may indicate the transmission time, the device being transmitted, the type of communication channel used for transmission, and / or the type of content being transmitted. In some cases, natural language processing may be used to assign one or more categories to each of the one or more content objects sent to the training set and / or to each of the one or more content objects that can be sent. . The communication specification may specify a particular category of the transmitted content.

ユーザおよび/または特定のユーザ装置に対応する現在データ、機械学習モデル、および機械学習モデルの1つ以上の学習パラメータに基づいて、各通信仕様を決定することができる。パラメータは、複数の他のユーザに関連し且つ複数の他のユーザの各ユーザの1つ以上の属性および/または複数のイベント(例えば、ユーザ始動動作またはユーザに送信した通信の特性)を示すユーザデータに基づいて、学習することができる。また、パラメータは、通信決定木内の特定のノードおよび/またはユーザによって開始された特定の動作に対応する(例えば、クライアントによって指定された)目標経路に基づいて、学習することができる。   Each communication specification can be determined based on current data corresponding to a user and / or a particular user device, a machine learning model, and one or more learning parameters of the machine learning model. The parameter is associated with the plurality of other users and indicates one or more attributes of each user of the plurality of other users and / or indicates a plurality of events (e.g., user initiated actions or characteristics of communications transmitted to the user). Learning can be performed based on the data. Also, the parameters can be learned based on a target path (e.g., specified by a client) corresponding to a particular operation in the communication decision tree and / or a user initiated action.

複数の分岐ノードを含むように通信決定木を構成することができる。その結果、単一の経路に対して複数の通信仕様を決定することができる。場合によって、同じ種類の機械学習アルゴリズム(例えば、教師あり回帰アルゴリズム)を用いて、各決定を行う。しかしながら、各分岐ノードに異なるアルゴリズムを使用することもできる。これによって、分岐ノードは、例えば、各経路のために処理される入力の種類および/または経路に対応する入力を処理するために使用される学習パラメータに対して異なる。様々な場合において、(例えば、同じ目標ノードまたは異なる目標ノードの特定に基づいて)同じ変数または異なる変数を最適化するように、異なる分岐ノードのアルゴリズムを訓練することができる。分岐ノードがアルゴリズムによって処理される入力の種類に対して異なってもよく、特定のユーザのために処理される可能性のあるプロファイルデータの種類も異なってもよい(例えば、対話を監視することによって、プロファイルデータを経時的に累積することができる)。さらに、任意のノードに関連する学習データは、(継続および/または反復学習によって)経時的に変化する可能性がある。   The communication decision tree can be configured to include a plurality of branch nodes. As a result, a plurality of communication specifications can be determined for a single route. In some cases, each decision is made using the same type of machine learning algorithm (eg, a supervised regression algorithm). However, a different algorithm can be used for each branch node. This causes the branch nodes to differ, for example, with respect to the type of input processed for each path and / or the learning parameters used to process the input corresponding to the path. In various cases, different branch node algorithms can be trained to optimize the same or different variables (eg, based on the identification of the same or different target nodes). Branch nodes may be different for the type of input processed by the algorithm, and the type of profile data that may be processed for a particular user may be different (eg, by monitoring the interaction). Profile data can be accumulated over time). Further, the learning data associated with any node may change over time (due to continuous and / or iterative learning).

一例として、ユーザに対応するプロファイルデータが少なくとも所定セットのフィールドの情報を含むことを検出すると、ユーザの経路を初期化することができる。プロファイルデータは、1つ以上のウェブサーバを用いて、ユーザに関連付けられた1つ以上のセッションから収集されてもよく、リモートデータソースから取得されてもよい。場合によって、ユーザ装置は、少なくとも一部のプロファイルデータを自動的に検出し、(例えば、通信に自動的に設定され、独特な装置識別子、MACアドレス、ブラウザの種類、ブラウザのバージョン、オペレーティングシステムの種類、オペレーティングシステムのバージョン、装置の種類、装置の言語などを特定するためのヘッダ情報を介して)ウェブサーバに送信する。場合によって、通信は、ユーザ入力(例えば、ウェブフォームに入力されたテキスト、リンク選択およびページナビゲーション)を表すデータを含み、プロファイルデータとして記録されてもよい。   As an example, upon detecting that the profile data corresponding to the user includes at least a predetermined set of fields of information, the path of the user can be initialized. The profile data may be collected from one or more sessions associated with the user using one or more web servers, or may be obtained from a remote data source. In some cases, the user device automatically detects at least some of the profile data (e.g., automatically configured for communication, unique device identifier, MAC address, browser type, browser version, operating system (Via header information to identify the type, operating system version, device type, device language, etc.) to the web server. In some cases, the communication includes data representing user input (eg, text entered in a web form, link selection, and page navigation) and may be recorded as profile data.

経路を初期化することは、通信決定木内の第1のノードを特定することを含むことができる。第1のノードは、第1の分岐ノードを含むことができる。第1の決定ノードは、複数のコンテンツオブジェクトのうち、メール通信でユーザ装置に送信されたコンテンツオブジェクトを特定する(例えば、ウェブサイトに関連する様々なグループのアイテムおよび/または情報を特定する)決定に対応してもよい。第1の決定ノードは、2日以内にメールを送信するタイミングに関する決定に対応してもよい。決定は、特定種類のユーザに対して、目標結果をもたらす可能性が最も高い種類のオブジェクトおよび/または通信時間を示す第1の学習データに基づいて行うことができる。例えば、目標結果は、ユーザがメール内のリンクをクリックすることによってウェブサイトのページを呼び出すこと、および/またはユーザが交換(例えば、ウェブサイトに示されたアイテムを購入すること)に対応する方法でウェブサイトと対話することを含むことができる。第1の学習データは、3つのコンテンツオブジェクトのうち、目標結果をより効果的にもたらすコンテンツオブジェクトに関する予測ファクタが、ユーザが(ラップトップまたはコンピュータに比べて)モバイル装置を最も頻繁に使用するか否か、ユーザの年齢、ユーザがクリックしたリンク上のコンテンツオブジェクトの種類に関する以前のメール操作指示を含むことを示すことができる。   Initializing the path can include identifying a first node in the communication decision tree. The first node may include a first branch node. The first decision node determines a content object (e.g., identifies various groups of items and / or information associated with the website) transmitted from the plurality of content objects to the user device via email communication. May be supported. The first decision node may correspond to a decision regarding when to send the mail within two days. The determination may be based on first learning data indicating a type of object and / or a communication time most likely to produce a target result for a particular type of user. For example, the goal result may be that a user invokes a page on a website by clicking a link in an email and / or how the user responds to an exchange (eg, purchasing an item shown on the website). May include interacting with a website. The first learning data is that, of the three content objects, the predictive factor for the content object that produces the target result more effectively indicates whether the user uses the mobile device most frequently (compared to a laptop or computer). Or, it can indicate that the user's age and the previous mail operation instruction regarding the type of the content object on the link clicked by the user are included.

メールが送信されると、経路は、次のイベントが検出されるまで、送信されたコンテンツを表すノードに延長することができる。次のイベントは、例えば、ウェブサイト内のリンクのアクティブ化を含み、ユーザがウェブサイト内の現在のセッションに参加していることを示すことができる。このようなイベントを検出すると、経路は、第2の決定ノードに延長し、リクエストされたウェブサイト上のウェブページを構成すること(例えば、動的コンテンツオブジェクトを含むか否かおよび/または様々なコンテンツオブジェクトをどのように配置するか)を決定することができる。この例では、第2の学習データは、特定のユーザに対して、同じ目標結果をもたらす可能性が最も高い構成を示している。例えば、第2の学習データは、4つの構成のうち、目標結果をより効果的にもたらす構成に関する予測ファクタが、ユーザが(ラップトップまたはコンピュータに比べて)モバイル装置を最も頻繁に使用するか否か、ブラウザの種類、ユーザ装置の現在位置、およびユーザ場所の現在時刻を含むことを示すことができる。(第2の決定ノードで行われた決定に従って構成された)ウェブページが送信されると、経路は、送信されたウェブページの構成を表すノードに延長することができる。様々なユーザ始動イベント、システム始動イベント、または外部イベント(例えば、前のイベントから所定時間の経過)を検出すると、経路は、延長し続けることができる。   Once the mail has been sent, the path can be extended to the node representing the sent content until the next event is detected. The next event may include, for example, activating a link in the website and may indicate that the user is participating in a current session in the website. Upon detecting such an event, the path is extended to a second decision node to construct a web page on the requested website (eg, whether or not to include dynamic content objects and / or various How to place the content objects). In this example, the second learning data indicates a configuration that is most likely to produce the same target result for a particular user. For example, the second learning data indicates that of the four configurations, the prediction factor for the configuration that more effectively achieves the desired result is whether the user uses the mobile device most frequently (compared to a laptop or computer). Or include the browser type, the current location of the user device, and the current time of the user location. When the web page is transmitted (configured according to the decision made at the second decision node), the path can be extended to a node representing the composition of the transmitted web page. Upon detecting various user-initiated events, system-initiated events, or external events (e.g., a lapse of a predetermined time since a previous event), the path can continue to extend.

この例では、目標結果は、複数の決定に亘って同様である。しかしながら、実行する動作の静的なワークフローを特定するの代わりにまたは実行する動作のユーザ定義シーケンスを決定するの代わりに、本明細書に開示された技術は、現在のプロファイルデータ、現在の学習データおよび現在のイベントの検出に基づいて、個々の動作に関する決定を行う。機械学習は、実行される断片的な動作を特定するように、特定の経路のライフサイクルの全体に亘って反復的に実行される。この方法は、(例えば、学習データおよび/またはプロファイルデータの拡張および/または進化を中間プロセスの決定に利用できるため)データを効率的に利用することによって、目標の達成を促進することができる。さらに、この方法は、(例えば、クライアントによって始動された)機械学習技術の定義および/または制約を変更することによって、(例えば、変更が既に開始されている経路に影響を与える可能性があるため)迅速な効果を得ることができる。例えば、クライアントは、目標を交換から、少なくともセッション期間においてユーザ装置をウェブサイトに保持するように変更することができる。様々な分岐ノードに関連する機械学習モデルのパラメータを変更し、すぐに有効にすることによって、その後ノードに到達する以前に開始された経路に影響を与えることができる。   In this example, the target results are similar across multiple decisions. However, instead of identifying a static workflow for the actions to be performed, or instead of determining a user-defined sequence of actions to be performed, the techniques disclosed herein use the current profile data, current learning data, And making decisions regarding individual actions based on the detection of the current event. Machine learning is performed iteratively throughout the life cycle of a particular path to identify the fractional actions to be performed. The method may facilitate achievement of goals by efficiently utilizing the data (eg, because the expansion and / or evolution of learning and / or profile data can be used to determine intermediate processes). In addition, the method may alter the definition and / or constraints of the machine learning technique (e.g., initiated by the client), thereby affecting the path (e.g., where the change has already been initiated). ) A quick effect can be obtained. For example, the client may change the goal from exchanging to maintaining the user device on the website for at least the duration of the session. By changing and immediately taking effect of the machine learning model parameters associated with the various branching nodes, it is possible to influence the paths that were initiated before reaching the nodes thereafter.

通信(および/または通信決定木を通る方向)の決定は、匿名化データまたは部分匿名化データに基づくことができる。匿名化データまたは部分匿名化データのいずれかまたは両方は、1つ以上のプロバイダーまたはクライアントによって提供された匿名化データ、部分匿名化データまたは非匿名化データから構築することができる。例えば、リモートユーザデータ管理システムは、1つ以上のデータプロバイダーから、部分匿名化データまたは非匿名化データを受信し、データプライバシ規則に従って個々のレコードのフィールドを隠すまたは削除することができ、および/またはデータプライバシ規則に従って、ユーザ部分母集団(sub-population)のフィールド値を集計することができる。本明細書に記載のように、匿名化データまたは部分匿名化データは、一定の確率を超えて個々のデータ値を特定の人またはユーザに関連付けできないように、PIIを取り除いたデータおよび/または集約したデータである。したがって、匿名化データまたは部分匿名化データは、特定の人間を特定のユーザとして特定することまたは少なくとも一定の確率で特定の人間を特定のユーザとして特定することを防ぐために、十分なデータ値を有しないまたは隠している。例えば、匿名化データまたは部分匿名化データは、名前、メールアドレス、IPアドレス、物理アドレスおよび/または電話番号をプロファイルデータに入れない場合がある。匿名化データまたは部分匿名化データは、特定の人口統計データ、例えば、年齢、都市、職業を含んでもよく、除外してもよい。場合によって、プライバシ規則、条例および法律に従って、匿名化データまたは部分匿名化データを収取することができ、一部のデータを処理することもできる。匿名化データまたは部分匿名化データは、個人を特定できる情報(PII)の流出を制限する様々なプライバシポリシーおよび法律に従って収集できるIPアドレス範囲、郵便番号、日付、以前のオンライン照会のカテゴリ、人種、性別、年齢、購入履歴および/または閲覧履歴などに基づいて、装置から収集された情報を含むことができる。   The determination of communication (and / or direction through the communication decision tree) may be based on anonymized data or partially anonymized data. Either or both of the anonymized data or partially anonymized data can be constructed from anonymized data, partially anonymized data or non-anonymized data provided by one or more providers or clients. For example, the remote user data management system can receive partially anonymized or non-anonymized data from one or more data providers, hide or delete fields of individual records according to data privacy rules, and / or Alternatively, the field values of the user sub-population can be tabulated according to data privacy rules. As described herein, anonymized data or partially anonymized data is data that is PII stripped and / or aggregated such that individual data values cannot be associated with a particular person or user beyond a certain probability. Data. Thus, the anonymized or partially anonymized data has sufficient data values to prevent identifying a particular person as a particular user, or at least with certain probability identifying a particular person as a particular user. Don't or hide. For example, anonymized data or partially anonymized data may not include name, email address, IP address, physical address and / or phone number in profile data. The anonymized data or partially anonymized data may include or exclude certain demographic data, for example, age, city, occupation. In some cases, anonymized data or partially anonymized data can be collected and some data can be processed according to privacy rules, ordinances and laws. Anonymized data or partially anonymized data may include IP address ranges, postal codes, dates, previous online inquiry categories, races that may be collected in accordance with various privacy policies and laws that limit the disclosure of personally identifiable information (PII). , Gender, age, purchase history and / or browsing history, etc., may be included.

場合によって、匿名化データまたは部分匿名化データを用いて、個々の機械学習構成に関連する学習データ(例えば、1つ以上のパラメータ)を生成および/または更新することができる。このような訓練は、例えば、連絡先情報などのデータフィールドを利用または使用する必要がないため、データレコードからこれらのフィールドを除去することができる。別の例として、特定フィールドの値に基づいて1つ以上の部分母集団を生成し、その後、部分母集団の識別子を用いて当該フィールドの特定値を置換することができる。   In some cases, the anonymized data or partially anonymized data can be used to generate and / or update learning data (eg, one or more parameters) associated with a particular machine learning configuration. Such training can remove these fields from the data record, for example, because they do not need to utilize or use data fields such as contact information. As another example, one or more sub-populations can be generated based on the value of a particular field, and then the particular value of the field can be replaced using the identifier of the sub-population.

場合によって、決定されている特定のユーザに対応するプロファイルデータは、匿名化データまたは部分匿名化データを含む。例えば、システムは、経路が分岐ノードに到達したことを検出することができ、(例えば、経路に関連する装置識別子または他の識別子を用いて)ユーザデータ管理システムからデータをリクエストすることができる。システムは、例えば、1つ以上の特定の非匿名化フィールド値、一般化された(例えば、カテゴリに割り当てられた)1つ以上のフィールド値、および/または削除されたフィールド値を含むプロファイルデータを返すことができる。非匿名化フィールド値が、(例えば、ウェブページに組み込まれたデータ収集機能を用いて収集することによっておよび/またはクライアントから送信することによって)決定されているクライアントによって提供されたときに、それ以外の場合(例えば、データ共有契約を介して)決定されているクライアントにアクセスできるときに、非匿名フィールドデータをプロファイルデータに含むことができる。また、システムは、フィールド値の間の関係を示す(例えば、経時的に学習および/または進化することができる)母集団データを返すことができる。この母集団データを用いて、欠損フィールドの値またはカテゴリを推定することができる。   In some cases, the profile data corresponding to the particular user being determined includes anonymized data or partially anonymized data. For example, the system can detect that a route has reached a branch node and can request data from a user data management system (e.g., using a device identifier or other identifier associated with the route). The system may generate profile data including, for example, one or more specific anonymized field values, one or more generalized (eg, assigned to category) field values, and / or deleted field values. Can be returned. When the non-anonymized field value is provided by the client being determined (e.g., by collecting using a data collection feature embedded in the web page and / or by sending from the client), In this case, non-anonymous field data may be included in the profile data when the determined client can be accessed (eg, via a data sharing agreement). The system can also return population data that indicates the relationship between the field values (eg, can be learned and / or evolved over time). Using this population data, the value or category of the missing field can be estimated.

図1は、対話システム100のブロック図を示す。機械学習データプラットフォーム105は、1つ以上のクラウドサーバを含み、1つ以上のクライアントシステム105からユーザデータを受信するように構成することができる。ユーザデータは、(匿名化ユーザデータストア115に保存された)匿名化ユーザデータまたは部分匿名化ユーザデータおよび/または(クライアント利用できる安全なユーザデータストア120に保存された)クライアント利用できる安全なユーザデータを含むことができる。クライアント利用できる安全なユーザデータは、匿名化ユーザデータよりも低いレベルで匿名化されてもよく、または匿名化されなくてもよい。クライアント利用できる安全なユーザデータは、受信されると、クライアントの識別子に関連して安全に格納される。従って、他のクライアントは、このデータを呼び出すことができない。このデータは、マルチテナント型クラウドストレージシステムに保存することができる。よって、複数のクライアントは、中心場所にログインすることによって、1つのサーバまたは複数のサーバを呼び出すことができる。特定のデータへのアクセスは、クラウドストレージシステムに認証されたクライアントに従って制御される。匿名化ユーザデータまたは部分匿名化ユーザデータは、(例えば、クライアントが提供したデータおよび/またはクライアントに関連付けられたデータ共有契約に応じて)様々なクライアントに対して個別に構成されてもよく、個別に構成されなくてもよい。したがって、機械学習データプラットフォーム105のプロファイルデータポピュレータ122は、特定のクライアントのために、1人以上の個々のユーザに対応するプロファイルデータを生成することができ、個々のクライアントのために、プロファイルデータに含まれるフィールド値をカスタマイズすることができる。   FIG. 1 shows a block diagram of a dialog system 100. The machine learning data platform 105 includes one or more cloud servers and can be configured to receive user data from one or more client systems 105. The user data may be anonymized user data or partially anonymized user data (stored in anonymized user data store 115) and / or client available secure users (stored in client available secure user data store 120). Can contain data. The secure user data available to the client may or may not be anonymized at a lower level than the anonymized user data. Once received, secure user data available to the client is securely stored in association with the client's identifier. Therefore, other clients cannot call this data. This data can be stored in a multi-tenant cloud storage system. Thus, multiple clients can call one server or multiple servers by logging in to a central location. Access to specific data is controlled according to clients authenticated to the cloud storage system. Anonymized user data or partially anonymized user data may be individually configured for various clients (eg, depending on data provided by the client and / or data sharing agreements associated with the client), It does not need to be configured. Accordingly, the profile data populator 122 of the machine learning data platform 105 can generate profile data corresponding to one or more individual users for a particular client, and generate profile data for an individual client. You can customize the field values included in.

場合によって、プロファイルデータポピュレータ122は、部分匿名化ユーザデータを用いて、クライアント利用できるユーザデータを補足することによって、プロファイルデータセットを強化することができる。これによって、特定のユーザのために、(クライアント固有学習データストア130に保存された)クライアント固有学習データを定義する(または集計する)ことができる。例えば、クライアントが利用できるデータのプロファイルデータを、匿名化ユーザデータまたは部分匿名化ユーザデータの1つ以上のデータセットにマッピングすることができる。これによって、機械学習分析により豊富なデータセットを使用することができる。重複するデータ(例えば、匿名化ユーザデータまたは部分匿名化ユーザデータに含まれるIPアドレス、購入時間、クライアントによって指定された擬似ランダムユーザ識別子)を用いて、マッピングを行うことができる。   In some cases, the profile data populator 122 can enhance the profile data set by using the partially anonymized user data to supplement the client available user data. This allows the client-specific learning data (stored in client-specific learning data store 130) to be defined (or aggregated) for a particular user. For example, profile data of data available to the client can be mapped to one or more datasets of anonymized user data or partially anonymized user data. This allows a richer data set to be used for machine learning analysis. Mapping can be performed using overlapping data (eg, IP address, purchase time, pseudo-random user identifier specified by the client included in anonymized user data or partially anonymized user data).

機械学習モデルコンフィギュレータ123は、例えば、特定の目標結果、利用可能な訓練データ、1つ以上のクライアント指定制約、および/または通信決定木によっておよび/またはクライアントによって示された可能な動作に基づいて、所定の機械学習モデルを構成することができる。機械学習モデルを構成することは、モデルの特定のインスタンス(例えば、特定の分岐ノード、クライアントおよび/または期間に関連付けられたインスタンス)の1つ以上のパラメータを定義することを含む。   The machine learning model configurator 123 may, for example, determine based on specific goal results, available training data, one or more client-specific constraints, and / or possible actions indicated by the communication decision tree and / or by the client. A predetermined machine learning model can be configured. Configuring a machine learning model includes defining one or more parameters of a particular instance of the model (eg, an instance associated with a particular branch node, client, and / or period).

各パラメータは、(学習パラメータデータストア125に保存された)ユーザ属性間の関係および/または相関を示すことができる。パラメータは、第1のユーザ属性が第2のユーザ属性を推定する方法および/または度合いを示す重みまたは目標結果が発生したか否かおよび/または度合いに関する指示に対応する重みを含むことができる。重みは、離散値範囲または連続値範囲に沿って定義されてもよく、および/またはバイナリであってもよい。   Each parameter may indicate a relationship and / or correlation between user attributes (stored in learning parameter data store 125). The parameter may include a weight indicating the method and / or degree by which the first user attribute estimates the second user attribute or a weight corresponding to an indication as to whether and / or the degree of the target result has occurred. The weights may be defined along a discrete or continuous value range and / or may be binary.

一例として、パラメータは、属性セットのうち、特定種類の交換イベントの将来発生を推測できる属性を示すことができる。例えば、先月に「旅行」タグに関連するウェブページに3回以上アクセスすると、旅行鞄を購入すると推測されてもよい。別の例として、所定の日付に映画評論ウェブページを訪れると、後で映画のオンラインレンタルを購入すると推測されてもよい。間接的な関連性および傾向、例えば、ユーザの年齢と毎日オンラインの平均時間との間の逆相関を特定することを学習することができる。各パラメータは、関係の強度および/または信頼度に関連付けられてもよく、必要に応じて、収集されたデータポイントと下される結論との間の直接関連に関連付けられてもよい。各直接関連は、関連付けの開始時のデータが正確である確率および関連付け自体が正確である他の確率を含む。   As an example, the parameter can indicate an attribute of the attribute set from which a future occurrence of a particular type of exchange event can be inferred. For example, if a user accesses a web page related to the “Travel” tag three or more times in the last month, it may be inferred that a luggage will be purchased. As another example, visiting a movie review web page on a predetermined date may be presumed to purchase an online rental of the movie later. One can learn to identify indirect relevance and trends, for example, the inverse correlation between the age of the user and the average time online each day. Each parameter may be associated with the strength and / or confidence of the relationship, and may optionally be associated with a direct association between the collected data points and the conclusions made. Each direct association includes the probability that the data at the start of the association is accurate and the other probabilities that the association itself is accurate.

必ずしも必要ではないが、クライアント利用できるプロファイルデータを用いて、構成を行うことによって、クライアント固有パラメータを生成することができる。クライアント固有パラメータは、例えば、匿名化プロファイルデータまたは部分匿名化プロファイルデータを用いて生成されたパラメータを修正したものである。   Although not required, client-specific parameters can be generated by performing configuration using profile data available to the client. The client-specific parameters are, for example, modified parameters generated using anonymized profile data or partial anonymized profile data.

様々な機械学習技術を用いて、学習データを生成することができる。例えば、機械学習技術は、決定木学習、相関ルール学習、人工ニューラルネットワーク、深層学習、帰納論理プログラミング、サポートベクトルマシン、クラスタリング、ベイジアンネットワーク、強化学習、表現学習、類似度およびメトリック学習、スパース辞書学習、遺伝アルゴリズム、またはルールに基づく機械学習を使用することができる。場合によって、機械学習技術は、アンサンブル技術(ensemble technique)を含む。アンサンブル技術は、アンサンブル間の重みを学習して、様々な基礎技術(例えば、前述した2つ以上の技術)から生成された結果に適用する。アンサンブル間の重みは、例えば、基礎技術に関連する精度、速度および/またはリソース使用量に基づいて特定されてもよい。   Learning data can be generated using various machine learning techniques. For example, machine learning techniques include decision tree learning, association rule learning, artificial neural networks, deep learning, inductive logic programming, support vector machines, clustering, Bayesian networks, reinforcement learning, expression learning, similarity and metric learning, sparse dictionary learning , Genetic algorithms, or rule-based machine learning. In some cases, machine learning techniques include ensemble techniques. Ensemble techniques learn the weights between ensembles and apply them to results generated from various underlying techniques (eg, two or more techniques described above). The weight between ensembles may be specified, for example, based on accuracy, speed and / or resource usage associated with the underlying technology.

(1つ以上のパラメータを特定するための)機械学習技術の訓練は、観察されている入力セット(例えば、マーケティングメールのコンテンツ、プロモーションのコンテンツおよび/またはウェブサイトの構成)と、対応する出力セット(例えば、対応するマーケティングメール、対応するプロモーションおよび/または対応するウェブサイト構成の結果、例えば、特定の交換イベントの有無)との間の関連を特定することを含むことができる。これらの観察結果を用いて、モデル化されている関係および/または傾向を特定することによって、事実情報に基づいて得られない事実情報候補(例えば、受信される次の推定入力または特定入力に基づく推定出力)を推定するという目的を達成することができる。各推定は、信頼度または確率を含み、一連の推定は、信頼度または確率の組み合せを含む。   The training of machine learning techniques (to identify one or more parameters) may include an observed input set (eg, marketing email content, promotion content and / or website configuration) and a corresponding output set. (E.g., as a result of a corresponding marketing email, a corresponding promotion, and / or a corresponding website configuration, e.g., the presence or absence of a particular exchange event). By using these observations to identify the relationships and / or trends being modeled, factual information candidates that cannot be obtained based on factual information (eg, based on the next estimated or specific input received (Estimated output) can be achieved. Each estimate includes a confidence or probability, and the set of estimates includes a combination of the confidence or probability.

したがって、機械学習モデルコンフィギュレータ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は、例えば、コンピュータ、スマートフォン、タブレットなどを含んでもよい。様々な状況において、単一のユーザ装置を単一のユーザまたは複数のユーザに関連付けることができる。さらに、単一のユーザを単一のユーザ装置または複数のユーザ装置に関連付けることができる。   Accordingly, the machine learning model configurator 123 can specify model parameters for a particular client system 110 based on, for example, target results, client-specific profile data, and / or machine learning techniques. If desired, the client-specific learning data may be shared with the client system that provided the underlying client-usable profile data. The client system 110 can include a system for hosting one or more websites and one or more apps and / or sending email. For example, the client system 110 may include a web server 135 for receiving and responding to HTTP requests for pages on one or more domains, and a mail server 140 for delivering mail to a user's mail address. . Client system 110 may additionally or alternatively include an app server 145 for receiving requests from apps running on user devices and responding to the received requests. Accordingly, one or more servers on client system 110 detect a request from one or more user devices 150-1, 150-2 and / or one or more user devices 150-1, 150-2. Can be configured to send the content to The user devices 150-1 and 150-2 may include, for example, a computer, a smartphone, a tablet, and the like. In various situations, a single user device may be associated with a single user or multiple users. Further, a single user can be associated with a single user device or multiple user devices.

ウェブサーバ135および/またはアプリサーバ145は、コンテンツライブラリ153からコンテンツ(例えば、ウェブページまたはアプリページ)を要求するためのリクエストを示す表示を、ユーザデータとしてクライアント管理ユーザデータストア150に保存することができる。保存されたデータは、リクエストに含まれた情報(例えば、装置識別子、IPアドレス、リクエストされたウェブページ、ユーザ入力など)と共に、自動的に検出された情報(例えば、リクエスト時間)を含んでもよい。データの保存は、データを含むようにプロファイルを更新することを含むことができる。さらに、ウェブサーバ135、メールサーバ140および/またはアプリサーバ145は、(例えば、送信時間、ユーザ装置識別子、コンテンツ−オブジェクト識別子、および/または通信種類を特定することによって)特定のユーザ装置に配信されたコンテンツを示すデータを、クライアント管理ユーザデータストア150に格納することができる。   The web server 135 and / or the application server 145 may store an indication indicating a request for content (eg, a web page or an app page) from the content library 153 in the client management user data store 150 as user data. it can. The stored data may include automatically detected information (eg, request time) along with information included in the request (eg, device identifier, IP address, requested web page, user input, etc.). . Saving the data can include updating the profile to include the data. Further, web server 135, mail server 140 and / or app server 145 may be delivered to a particular user device (e.g., by specifying a transmission time, a user device identifier, a content-object identifier, and / or a communication type). The data indicating the content can be stored in the client management user data store 150.

クライアントシステム110は、少なくとも一部ユーザデータをクライアント管理ユーザデータストア150から機械学習データプラットフォーム105に送信することができ、機械学習データプラットフォーム105は、そのデータをクライアント利用できる安全なユーザデータストア120に保存することができる。このようなデータは、クライアント固有学習データをリクエストする間に、一定の間隔で定期的に送信されてもよい。場合によって、クライアントシステム110は、ユーザデータを機械学習データプラットフォームに送信する前に、(例えば、少なくとも一部のフィールドの値を省くまたは隠すことによって)ユーザデータの一部または全てを少なくとも部分的に匿名化する。したがって、これらのデータは、匿名化ユーザデータまたは部分匿名化ユーザデータとしてプラットフォームに保存される。場合によって、データは、少なくとも部分的に匿名化されず、クライアント利用できる安全なユーザデータストア120に保存されるまたは機械学習データプラットフォーム105で少なくとも部分的に匿名化される。いくつかのデータセットに対して、匿名化データまたは部分匿名化データは、第三者から受信され、非匿名化データにもアクセスできないように、PIIを取り除いた後クライアントシステム110に保存される。いくつかの実施形態において、匿名化データまたは部分匿名化データは、ネイティブに匿名化または部分匿名化される。これらの実施形態において、ウェブサイトは、ウェブサイト上で埋め込まれたスクリプトを実行する。これらのスクリプトは、実行されると、ユーザによるウェブサイトのアクセスに関する匿名化データまたは部分匿名化データを収集する。スクリプトは、データクラウドに保存され、ユーザの個人情報を知らなくても収集することができる情報のみを収集する。これによって、一定の確率を超えてユーザIDを推測することができない。   The client system 110 can transmit at least some user data from the client management user data store 150 to the machine learning data platform 105, which sends the data to a client available secure user data store 120. Can be saved. Such data may be sent periodically at regular intervals while requesting client-specific learning data. In some cases, the client system 110 at least partially removes some or all of the user data (e.g., by omitting or hiding the value of at least some fields) before sending the user data to the machine learning data platform. Be anonymous. Therefore, these data are stored on the platform as anonymized user data or partially anonymized user data. In some cases, the data is not at least partially anonymized, but is stored in a client available secure user data store 120 or at least partially anonymized in a machine learning data platform 105. For some datasets, the anonymized or partially anonymized data is received from a third party and stored on the client system 110 after removing the PII so that the non-anonymized data cannot be accessed. In some embodiments, the anonymized or partially anonymized data is natively or partially anonymized. In these embodiments, the website executes a script embedded on the website. These scripts, when executed, collect anonymized or partially anonymized data about a user's access to a website. The script collects only information that is stored in the data cloud and can be collected without knowing the user's personal information. As a result, the user ID cannot be estimated beyond a certain probability.

クライアントシステム110は、機械学習データを機械学習データストア155に格納することができる。場合によって、機械学習データは、所定の経路の分岐ノードで行われた1つ以上の決定を示す表示、通信決定木および/または1つ以上のパラメータを用いて特定された1つ以上のコンテンツ仕様を含む。機械学習データは、機械学習プラットフォーム105からリクエストおよび受信することができ、および/または機械学習プラットフォーム105からのデータから導出することができる。例えば、場合によって、機械学習モデルコンフィギュレータ123は、クライアントのために生成されたおよび/またはクライアントに適用可能なパラメータをクライアントシステム110に送信することができる。別の例として、機械学習モデルインプリメンタ157は、特定のパラメータを用いて構成された機械学習モデルを特定のプロファイルデータに適用することによって、1つ以上の特定の通信仕様を特定し、プロファイルデータに対応するクライアント(および/または経路の次のノード)に対して行われる通信動作を定義することができる。機械学習モデルインプリメンタ157は、特定された通信動作および/または次のノードを示す表示を、経路、ユーザおよび/またはユーザ装置の識別子に関連して送信することができる。   The client system 110 can store the machine learning data in the machine learning data store 155. In some cases, the machine learning data may include an indication of one or more decisions made at a branch node of a given path, a communication decision tree, and / or one or more content specifications identified using one or more parameters. including. Machine learning data can be requested and received from machine learning platform 105 and / or can be derived from data from machine learning platform 105. For example, in some cases, the machine learning model configurator 123 may send parameters generated for the client and / or applicable to the client to the client system 110. As another example, the machine learning model implementer 157 may identify one or more specific communication specifications by applying a machine learning model configured with specific parameters to specific profile data, Can be defined for the client (and / or the next node in the path) corresponding to The machine learning model implementer 157 may send an indication indicating the identified communication activity and / or the next node in relation to the path, the user and / or the user device identifier.

次のノードおよび/または通信仕様を特定することは、特定のプロファイルデータおよび1つ以上の学習パラメータを用いて、(現在の分岐ノードに関連付けられた)機械学習モデルを実行することを含むことができる。結果は、例えば、様々なコンテンツ表示特性のうち、(例えば、閾値よりも)高い確率または最も高い確率で特定の目標結果(例えば、所望の交換)をもたらす特性を示すことができる。場合によって、分析は、最も高い確率で特定の交換結果をもたらす1つ以上のコンテンツ表示特性を特定することを含む。場合によって、分析は、特定の交換結果をもたらす確率と、様々なコンテンツ表示特性に関連する所定のコストメトリックとのバランスを保つ。   Identifying a next node and / or communication specification may include executing a machine learning model (associated with the current branch node) using the particular profile data and one or more learning parameters. it can. The result may, for example, indicate a characteristic that results in a particular target result (eg, a desired exchange) with a high probability (eg, above a threshold) or the highest probability among various content display characteristics. In some cases, the analysis includes identifying one or more content display characteristics that will most likely result in a particular exchange. In some cases, the analysis balances the probability of producing a particular exchange result with a predetermined cost metric associated with various content display characteristics.

場合によって、(例えば、機械学習データプラットフォーム105またはクライアントシステム110において)パラメータを用いて機械学習モデルを実行することは、例えば、プロファイルデータおよびパラメータを用いて回帰分析を実行することによって、1つ以上の閾値と比較できる数値を生成することを含むことができる。1つ以上の閾値は、2つ以上の範囲(例えば、開放範囲または閉鎖範囲)を定義でき、各範囲は、特定の次のノードおよび/または通信動作に対応する。場合によって、パラメータを用いて機械学習モデルを実行することは、(例えば、差の計算またはコスト関数を使用したコストの計算を介して)少なくとも一部のプロファイルデータおよび少なくとも一部のパラメータを処理することによって、参照データ変数(例えば、単一値、ベクトル、行列、時系列)のセットの各変数と比較できる結果を生成することを含むことができる。各々の変数は、特定の次のノードおよび/または通信動作に関連付けられ、パラメータに少なくとも部分的に基づいて定義される。比較によって最も近い対応を示した参照データ変数に関連するノードまたは通信は、選択される。   In some cases, executing a machine learning model with parameters (eg, at machine learning data platform 105 or client system 110) may include performing one or more regression analyzes, eg, using profile data and parameters. Generating a numerical value that can be compared to a threshold of. One or more thresholds can define two or more ranges (eg, open ranges or closed ranges), each range corresponding to a particular next node and / or communication operation. In some cases, executing the machine learning model with the parameters processes at least some of the profile data and at least some of the parameters (e.g., via calculating a difference or calculating a cost using a cost function). This can include generating a result that can be compared to each variable of a set of reference data variables (eg, single values, vectors, matrices, time series). Each variable is associated with a particular next node and / or communication operation and is defined based at least in part on the parameters. The node or communication associated with the reference data variable that showed the closest correspondence by comparison is selected.

動的コンテンツジェネレータ147は、選択された通信仕様に従って、コンテンツオブジェクトの提示をトリガすることができる。適切な命令を生成するために、動的コンテンツジェネレータ147は、まず、オブジェクトを送信するために使用される通信チャネル、送信されるオブジェクトの種類、送信されるコンテンツのバージョン、および/またはオブジェクトを送信する時間を特定する。特定は、例えば、機械学習モデルの実行結果、(例えば、1つ以上の選択を制限する可能性がある)機械学習モデルの構成、および/またはまたは1つ以上のパラメータに基づいて行われてもよい。   The dynamic content generator 147 can trigger the presentation of the content object according to the selected communication specification. To generate the appropriate instructions, the dynamic content generator 147 first sends the communication channel used to send the object, the type of object sent, the version of the content sent, and / or the object. Identify the time to do it. The identification may be based on, for example, a result of the execution of the machine learning model, a configuration of the machine learning model (eg, which may limit one or more selections), and / or one or more parameters. Good.

動的コンテンツジェネレータ147は、例えば、送信される通信の種類(例えば、メール、SMSメッセージ、ブラウザのポップアップウィンドウ、またはプッシュアプリアラート)を特定することができ、通信を送信するように、ウェブサーバ135、メールサーバ140および/またはアプリサーバ145のいずれに通知することができる。特定は、(例えば、機械学習の結果、パラメータ、および/または機械学習モデルの構成に基づいて)明示的に行うことができ、または(例えば、選択したコンテンツオブジェクトが特定種類を有することによって)暗黙的に行うことができる。   The dynamic content generator 147 can, for example, identify the type of communication to be sent (eg, email, SMS message, browser pop-up window, or push app alert) and send the web server 135 to send the communication. , The mail server 140 and / or the application server 145. The identification can be done explicitly (eg, based on machine learning results, parameters, and / or the configuration of the machine learning model) or implicit (eg, by the selected content object having a particular type). Can be done

コンテンツオブジェクトを特定することは、既存のコンテンツオブジェクトからコンテンツオブジェクトを選択することを含んでもよく、または新しいコンテンツオブジェクトを生成することを含んでもよい。コンテンツオブジェクトは、例えば、ウェブページ、ウェブページ内のオブジェクト、画像、テキストメッセージ、メール、メールおよび/またはテキスト内のオブジェクトを含むことができる。場合によって、プロファイルデータを用いて構成された機械学習モデルを実行することによって得られた結果は、特定のコンテンツオブジェクトを特定する。場合によって、結果は、(例えば、特定のメタデータカテゴリを有する)コンテンツの特性を特定し、および/またはコンテンツを選択するための特定の技術を特定する。例えば、結果は、「ツール」を特徴としてコンテンツオブジェクトに加えること、および/または通信が4つの(未特定の)異なるカテゴリに対応する4つのコンテンツオブジェクトを含むことを示すことができる。この場合、動的コンテンツジェネレータ147は、例えば、機械学習の実行結果、パラメータ、および/または所定の設定によって示された選択技術を用いて、複数の可能なコンテンツオブジェクトからコンテンツオブジェクトを選択することができる。例えば、選択技術は、擬似ランダム選択技術、最近追加されたオブジェクトを特定する技術、複数の可能なコンテンツオブジェクトから(例えば、機械学習の結果に示された1つ以上の属性を有する)最も可能な交換オブジェクトを特定する技術を含むことができる。   Identifying a Content Object may include selecting a Content Object from existing Content Objects, or may include creating a new Content Object. Content objects can include, for example, web pages, objects in web pages, images, text messages, mail, mail and / or objects in text. In some cases, the results obtained by executing the machine learning model constructed using the profile data identify a particular content object. In some cases, the results identify characteristics of the content (e.g., having a particular metadata category) and / or identify a particular technique for selecting the content. For example, the results may indicate that "tools" are added to the content object as features and / or that the communication includes four content objects corresponding to four (unspecified) different categories. In this case, the dynamic content generator 147 may select a content object from a plurality of possible content objects, for example, using a selection technique indicated by machine learning execution results, parameters, and / or predetermined settings. it can. For example, the selection technique may be a pseudo-random selection technique, a technique for identifying recently added objects, the most possible from multiple possible content objects (eg, having one or more attributes indicated in machine learning results). Techniques for identifying exchange objects can be included.

場合によって、通信を送信する時間は、(例えば、機械学習結果、パラメータ、および/または機械学習モデルの構成に基づいて)明示的に特定される。例えば、現在時間で開始し、クライアントが指定した最大時間で終了する時間範囲を定義することができる。モデルは、時間範囲に規則的に分けられた複数の可能な送信時間を評価することができる。場合によって、各々の可能な送信時間は、コンテンツカテゴリまたは通信チャネルなどの他の可能な仕様と組み合わせて複数回考慮される。機械学習モデルの結果は、目標結果をもたらす確率が最も高い送信時間を特定することができる。特に、仕様の組み合わせを考慮する場合、送信時間は、最も高い確率に関連する時間の組み合わせを含むことができる。場合によって、機械学習の結果に関連付けられたユーザ装置から(例えば、所定のウェブサイトまたはアプリに対応する)コンテンツを要求する次のリクエストを受信することによって、または事前に定義された送信スケジュールに従って、通信を即座に送信する。   In some cases, the time to send the communication is explicitly specified (eg, based on machine learning results, parameters, and / or configuration of the machine learning model). For example, a time range can be defined that starts at the current time and ends at the maximum time specified by the client. The model can evaluate a plurality of possible transmission times regularly divided into time ranges. In some cases, each possible transmission time is considered multiple times in combination with other possible specifications, such as content categories or communication channels. The result of the machine learning model can identify the transmission time with the highest probability of producing the target result. In particular, when considering a combination of specifications, the transmission time may include a combination of times associated with the highest probability. Optionally, by receiving a next request for content (e.g., corresponding to a given website or app) from a user device associated with the result of the machine learning, or according to a predefined transmission schedule. Send the communication immediately.

場合によって、(タスク中におよび/または機械学習モデル、機械学習構成、パラメータ、クライアント規則などを用いて)通信を送信するときにまたは通信を送信する前に、通信に対応する各仕様を特定する。したがって、通信および/またはその送信の全てまたは一部のクライアント制御構成は、通信を送信する前に実行することができる。場合によって、通信を送信した後に、(タスク中におよび/または機械学習モデル、機械学習構成、パラメータ、クライアント規則などを用いて)通信に対応する少なくとも1つの仕様を特定する。したがって、通信および/またはその送信の全てまたは一部のクライアント制御構成は、通信を送信した後に実行することができる。したがって、この送信後の設定は、通信の送信前には利用できなかった学習データおよび/またはプロファイルデータに基づくことができる。例えば、ユーザに対応する追加のプロファイルデータは、メールを送信した第1の時間と、メールを開いた第2の時間との間に利用可能になる。送信されたメールは、メールを開くときに実行するスクリプトを含むことができる。スクリプトは、レイアウトおよび/またはアプリケーション種類などの装置プロパティを特定するためのリクエストを発行させることができる。スクリプトは、これらのプロパティを、コンテンツを表示する特定のコンテンツの選択を指示するためのリクエストと共にサーバに渡すことができる。したがって、サーバは、特定の表示情報、現在のプロファイルデータおよび/または現在のパラメータに基づいて、コンテンツを選択しおよび/または1つ以上の表示構成を特定することができる。   In some cases, identifying each specification corresponding to a communication when or before sending the communication (during a task and / or using machine learning models, machine learning configurations, parameters, client rules, etc.). . Thus, all or part of the client control configuration of the communication and / or its transmission may be performed before transmitting the communication. Optionally, after transmitting the communication, at least one specification corresponding to the communication is identified (during a task and / or using a machine learning model, machine learning configuration, parameters, client rules, etc.). Thus, all or a portion of the client control configuration of the communication and / or its transmission may be performed after transmitting the communication. Thus, this post-transmission setting may be based on learning data and / or profile data that was not available before the transmission of the communication. For example, additional profile data corresponding to the user will be available between the first time the mail was sent and the second time the mail was opened. The sent mail can include a script that runs when the mail is opened. The script can cause a request to be issued to specify device properties such as layout and / or application type. The script can pass these properties to the server with a request to indicate the selection of particular content to display the content. Thus, the server may select content and / or identify one or more display configurations based on the particular display information, current profile data and / or current parameters.

追加的または代替的な例として、通信は、(例えば、ウェブブラウザで)開かれるとコンテンツを表示するページへの1つ以上の参照またはリンクを含むことができる。リンク先のページは、通信を生成する前にまたは通信を生成するときに、機械学習エンジンによって決定されたコンテンツを含むことができる。ページは、ページの表示を要求するためのクエストを検出したとき(例えば、スクリプトがリンクの実行を検出したとき)および/または(例えば、ページの読み込みの一部としてスクリプトの実行によって示すように)ページを生成または表示するときに選択されるまたは生成されるコンテンツを含むように構成することができる。場合によって、メール内のスクリプトは、メールが表示されているときまたはメールの表示がリクエストされるときのコンテンツ構成を特定する。場合によって、リンクされたページ上で実行するスクリプトは、コンテンツ構成を特定する。   As an additional or alternative example, the communication may include one or more references or links to pages that display the content when opened (eg, in a web browser). The linked page may include content determined by the machine learning engine before or when generating the communication. The page detects a quest to request display of the page (e.g., when a script detects execution of a link) and / or (e.g., as indicated by execution of the script as part of loading the page). It can be configured to include content that is selected or generated when generating or displaying the page. In some cases, the script in the mail identifies the content structure when the mail is being displayed or when the display of the mail is requested. In some cases, a script running on the linked page specifies the content structure.

一例として、クライアントシステムは、配達食品のオンライン購入を提供することができる。クライアントシステムは、特定のユーザが午後2時に特定のレストランのメニューを見たことを検出することができる。クライアントシステムは、ユーザのプロファイルデータからユーザ属性をクライアント管理ユーザデータとして取得することができる。クライアント固有学習データは、割引コードを含むメールが夕方にユーザに送信された場合、(例えば、他の種類の通信および他の時間に関連する低い可能性に比べて)ユーザがレストランから購入を行う可能性が76%であることを示すことができる。76%の可能性が割引を送信するための閾値65%を超えているという判断に応答して、メールサーバ140は、メールをユーザ装置に送信する。このメールは、実行されると、レストランおよび割引を表示させるスクリプトを含む。ユーザは、翌日の午前10時にメールを開く。コードが実行されると、クライアントシステムからレストランおよび割引をリクエストする。したがって、クライアントシステムは、最新の公開学習相関データを受信した。クライアントシステムは、学習データに基づいて構築された決定木に、時間、(現在勤務中の場合)ユーザの場所、および過去の購入情報を入力する。クライアントシステムは、(例えば、交換の可能性閾値を維持するために)割引が10%であり、(例えば、交換の可能性を最大化するために)レストランがユーザの職場に近い惣菜屋であることを決定する。一方、ユーザが前夜にメールを開いた場合、異なるユーザ属性および学習データにより、(例えば、可能性を最大化するために)ユーザの家の近くにあるインド料理店から、(例えば、交換の可能性閾値を維持するための)15%の割引が得られる。メールは、惣菜屋から注文するためのリンクを含む。ユーザがリンクをクリックすると、ウェブサーバは、表示するコンテンツ、具体的には推奨する食品を決定する。最新の公開学習相関データに基づいて、以前の選択が最近人気になったため(気候が暖かくなったため、人気になったと推定された)、スープおよび肉料理よりもサラダおよびサンドイッチを推奨すべきである。したがって、この例は、最新の学習データおよびユーザ属性に基づいて、特定のユーザのためにコンテンツを動的にカスタマイズすることを示している。   As an example, a client system may provide an online purchase of a food product for delivery. The client system can detect that a particular user has seen a menu for a particular restaurant at 2 PM. The client system can acquire a user attribute from the user profile data as client management user data. The client-specific learning data indicates that the user makes a purchase from a restaurant when a mail containing a discount code is sent to the user in the evening (e.g., compared to a low likelihood associated with other types of communication and other times). It can be shown that the probability is 76%. In response to determining that the 76% likelihood exceeds the 65% threshold for sending a discount, mail server 140 sends an email to the user device. This email contains a script that, when executed, will display the restaurant and discount. The user opens the mail at 10 am the next day. When the code is executed, request a restaurant and discount from the client system. Therefore, the client system has received the latest public learning correlation data. The client system inputs the time, the user's location (if currently working), and past purchase information into a decision tree constructed based on the learning data. The client system may have a discount of 10% (eg, to maintain an exchange possibility threshold) and the restaurant may be a side dish close to the user's workplace (eg, to maximize the exchange possibility). Decide that. On the other hand, if the user opens the email the night before, due to different user attributes and learning data (eg, to maximize the potential) from an Indian restaurant near the user's house (eg, A 15% discount (to maintain the gender threshold) is obtained. The email contains a link to order from the side dish shop. When the user clicks the link, the web server determines the content to be displayed, specifically the recommended food. Based on the latest public learning correlation data, salads and sandwiches should be recommended over soups and meat dishes because previous choices have recently become popular (presumed to be popular due to warmer weather) . Thus, this example illustrates dynamically customizing content for a particular user based on the latest learning data and user attributes.

例えば、機械学習データプラットフォーム105は、(例えば、ワークフローの動作に応答して)ユーザ装置から受信した通信に基づいて、最新のクライアントデータを生成することができる。例えば、最新のクライアントデータは、受信した通信のヘッダまたはペイロードデータに基づいて生成された1つ以上の新しいフィールド、特定のイベントを検出したか否か(および検出時間)を示す表示、および/またはプロファイルを割り当てたワークフローの現在段階または最終段階を含むことができる。機械学習データプラットフォーム105は、最新のクライアントデータを(例えば、対応するプロファイル識別子と共に)クライアントシステム110に提供することができ、クライアントシステム110は、最新のデータをクライアント固有学習データストア165に保存することができる。必ずしも必要ではないが、クライアントシステム110は、最新のデータを基礎プロファイルと別々に保存する。   For example, machine learning data platform 105 may generate up-to-date client data based on communications received from a user device (eg, in response to a workflow operation). For example, the latest client data may include one or more new fields generated based on the header or payload data of the received communication, an indication of whether a particular event was detected (and a detection time), and / or It can include the current or final phase of the workflow that assigned the profile. The machine learning data platform 105 may provide the latest client data to the client system 110 (eg, with a corresponding profile identifier), and the client system 110 may store the latest data in a client-specific learning data store 165. Can be. Although not required, the client system 110 stores the latest data separately from the base profile.

場合によって、機械学習データプラットフォームの一部または全部をクライアントシステム110に組み込むことができる。場合によって、クライアントシステム110は、通信決定木の反復中に機械学習データプラットフォームと通信する。例えば、クライアントシステム110(例えば、クライアントシステム110のウェブサーバ135またはアプリサーバ145)は、ユーザ装置から受信したウェブコンテンツまたはアプリコンテンツを要求するためのリクエストから、(例えば、URLに含まれた)フラグを検出することができる。このフラグは、機械学習ベースのワークフローとの関連性を示す。次に、クライアントシステム110は、リクエストを機械学習モデルインプリメンタ157に通知することによって、経路を適切に更新することができる。   In some cases, some or all of the machine learning data platform may be incorporated into client system 110. In some cases, client system 110 communicates with the machine learning data platform during the communication decision tree iteration. For example, the client system 110 (eg, the web server 135 or the application server 145 of the client system 110) sends a flag (eg, included in a URL) from a request to request web or application content received from the user device. Can be detected. This flag indicates the relevance to the machine learning-based workflow. The client system 110 can then update the route appropriately by notifying the request to the machine learning model implementer 157.

機械学習データプラットフォーム、クライアントシステム110、およびユーザ装置150−1、150−2は、例えばインターネット、ローカルエリアネットワークおよびワイドエリアネットワークを含み得るネットワーク160を介して、通信することができる。図示および説明された実施形態の様々な代替案も考えられる。例えば、クライアントシステム110は、一部または全部の機械学習を実行することができる。クライアントシステム110は、匿名化ユーザデータまたは部分匿名化ユーザデータを定期的に受信し、機械学習技術を用いて処理することができる。   The machine learning data platform, client system 110, and user devices 150-1, 150-2 may communicate via a network 160, which may include, for example, the Internet, local area networks, and wide area networks. Various alternatives to the illustrated and described embodiments are also contemplated. For example, the client system 110 can perform some or all of the machine learning. The client system 110 can periodically receive anonymized user data or partially anonymized user data and process it using machine learning techniques.

通信決定木を使用および構成するための他の技術は、2018年6月13日に出願された(「キャンバス上の連結された位置決め可能な要素に基づいて通信決定木を構成するための方法およびシステム」というタイトルを有する)米国出願第16/007762号および2018年6月13日に出願された(「データ豊富化のために機械学習に基づいたデータの難読化解除処理」というタイトルを有する)米国出願第16/007787号に詳細に記載されている。これらの出願の各々は、あらゆる目的のためにその全体が参照により本明細書に組み込まれる。   Another technique for using and configuring a communication decision tree was filed on June 13, 2018 (see "Methods and Methods for Configuring Communication Decision Trees Based on Connected Positionable Elements on Canvas"). U.S. Application No. 16/007762 (entitled "System") and filed on June 13, 2018 (entitled "De-obfuscation of Data Based on Machine Learning for Data Enrichment"). It is described in detail in U.S. Application No. 16/007787. Each of these applications is incorporated herein by reference in its entirety for all purposes.

図2および3は、表示プロセスを検出するときにまたは表示するときに部分的に構成される通信用のテンプレート202および302を構成するためのインターフェイス200および300を示す。構成は、モデルの現在の学習構成および現在のプロファイルデータを用いて、構成された機械学習モデルを実行することを含む。図2に示されたテンプレート202は、メール通信を生成するために使用されたテンプレートを含み、図3に示されたテンプレート302は、アプリ通知通信を生成するために使用されたテンプレートを含む。   2 and 3 show interfaces 200 and 300 for configuring templates 202 and 302 for communication that are partially configured when detecting or displaying a display process. The configuring includes executing the configured machine learning model using the current learning configuration of the model and the current profile data. The template 202 shown in FIG. 2 includes the template used to generate the email communication, and the template 302 shown in FIG. 3 includes the template used to generate the application notification communication.

テンプレート202は、静的テキスト(例えば、テキスト205)および対話特徴(例えば、ボタン210)を含む。テンプレート202は、テキスト205の上方に3つのアイテムを線状に配列する特定のレイアウトをさらに表す。また、テンプレート202は、メールの表示を要求するときにまたはメールを表示しているときに特定される動的コンポーネント(例えば、動的テキスト215および動的画像220)を含む。したがって、メール通信を送信するときに、静的コンポーネントは、(メールを表示するリクエストを検出するときに)現在のプロファイルデータの少なくとも一部をローカルに特定し、現在のプロファイルデータの少なくとも一部をリクエストし、動的コンポーネントの特定をリクエストし、(例えば、現在のプロファイルデータ、現在の匿名化データまたは部分匿名化データおよび/または現在の学習パラメータを用いて特定された)動的コンポーネントを受信または取得し、および/またはテンプレートと動的コンポーネントに基づいて完全なメールを生成するするように構成されたコードと共に送信されてもよい。その後、生成されたメールは、表示される。   Template 202 includes static text (eg, text 205) and interaction features (eg, buttons 210). Template 202 further represents a particular layout in which three items are arranged linearly above text 205. Further, the template 202 includes a dynamic component (for example, the dynamic text 215 and the dynamic image 220) specified when requesting display of the mail or displaying the mail. Thus, when sending an email communication, the static component locally identifies at least a portion of the current profile data (when detecting a request to view the email) and Request, request identification of a dynamic component, and receive or receive a dynamic component (e.g., identified using current profile data, current anonymized data or partially anonymized data and / or current learning parameters). It may be obtained and / or sent with code configured to generate a complete email based on the template and the dynamic component. Thereafter, the generated mail is displayed.

テンプレート302は、静的レイアウトおよび複数の動的テキストコンポーネント(例えば、動的タイトル310)を含む。テンプレート302は、各動的テキストコンポーネントを動的に特定することを容易にするためのスクリプトと共に送信されるように構成されてもよい。(例えば、アプリを開くこと、通知アプリ要素をクリックすることに応じて)通知を表示するためのリクエストを検出すると、スクリプトは、例えば、現在のプロファイルデータの少なくとも一部をローカルに特定し、現在のプロファイルデータの少なくとも一部をリクエストし、動的テキストコンポーネントの特定をリクエストし、(例えば、現在のプロファイルデータ、現在の匿名化データまたは部分匿名化データおよび/または現在の学習パラメータを用いて特定された)動的テキストコンポーネントを受信または取得し、および/またはテンプレートおよび動的テキストコンポーネントに基づいて完全な通知を生成することができる。その後、生成されたメールを表示することができる。インターフェイス300は、静的レイアウトおよび特定の動的テキストを含む動的に生成された通知315の例を示す。   Template 302 includes a static layout and a plurality of dynamic text components (eg, dynamic title 310). The template 302 may be configured to be sent with a script to facilitate dynamically identifying each dynamic text component. Upon detecting a request to display a notification (e.g., opening an app, clicking on a notification app element), the script may, for example, identify at least a portion of the current profile data locally, Requesting at least a portion of the profile data, requesting identification of the dynamic text component (e.g., using current profile data, current anonymized data or partially anonymized data and / or current learning parameters). Received or obtained dynamic text component and / or generate a complete notification based on the template and the dynamic text component. Then, the generated mail can be displayed. The interface 300 shows an example of a dynamically generated notification 315 that includes a static layout and certain dynamic text.

図4は、通信決定木400を示す。通信決定木400は、各経路が開始する出発ノード405を含む。この例では、ユーザが2つの特定の動作を完了したこと(例えば、2つのウェブサイトセッションを初期化したこと、ウェブサイトから2つのアイテムを購入したこと、ウェブサイト上の少なくとも2つのウェブページをナビゲートしたこと)を検出すると、特定の経路を初期化することができる。   FIG. 4 shows a communication decision tree 400. The communication decision tree 400 includes a departure node 405 where each route starts. In this example, the user has completed two specific actions (eg, initialized two website sessions, purchased two items from the website, and at least two web pages on the website). Navigation), a specific route can be initialized.

通信決定木400は、3つの分岐ノード410、415および420を含む。各々の分岐ノードは、3つの異なる動作を表す3つのノードに連結するように分岐する。経路は、出発ノード405から第1の分岐ノード410に自動的に且つ即座に延長することができる。これによって、第1の決定をトリガする。具体的には、第1の決定は、ウェブサイト特徴のアラートを送信するために使用される通信チャネルを特定することを含む。アラートは、例えば、自動的に表示され、ウェブサイトに関連する製品または割引が(通常)利用可能であることを示す静的ヘッダを含むことができる。アラートは、通知を開くことを要求するためのリクエストを検出すると、第2の分岐ノード415で特定された(例えば、1つ以上の製品および/または割引を具体的に指定するための)動的コンテンツにさらに関連付けられてもよい。   Communication decision tree 400 includes three branch nodes 410, 415 and 420. Each branch node branches to connect to three nodes representing three different actions. The route can be automatically and immediately extended from the departure node 405 to the first branch node 410. This triggers the first decision. Specifically, the first decision involves identifying a communication channel used to send alerts for website features. The alert can include, for example, a static header that is automatically displayed and indicates that a product or discount associated with the website is (usually) available. When the alert detects a request to open a notification, the alert identifies the dynamic at the second branch node 415 (eg, to specifically specify one or more products and / or discounts). It may be further associated with the content.

第1の分岐ノード410は、メール通信チャネルを表す第1の動作ノード425a、SMSメッセージ通信チャネルを表す第2の動作ノード425b、およびアプリベースの通信チャネル(この場合、通知は、ユーザ装置にインストールされたアプリにプッシュされるまたは当該アプリによってプッシュされる)を表す第3の動作ノード425cに連結される。   The first branch node 410 includes a first operating node 425a representing a mail communication channel, a second operating node 425b representing an SMS message communication channel, and an app-based communication channel (in this case, the notification is installed on the user device). (To be pushed to or pushed by the assigned application).

第1の決定は、1つ以上の第1のパラメータに基づいて構成された機械学習モデルを用いて、行うことができる。1つ以上の第1のパラメータは、匿名化および/または部分匿名化ユーザデータおよび/またはクライアント固有データに基づいて、動的に決定されてもよい。例えば、匿名化および/または部分匿名化ユーザデータは、(1つ以上のユーザ属性に基づいて定義された)様々なユーザ部分母集団ごとに、3種類の通信チャネルの各々を介して送信されたアラートが、(例えば、アラート内の追跡リンクに基づいて決定された)対応するウェブサイトのセッションを開始し、セッション中にトランザクションを完了するように、ユーザをトリガする効果を示すことができる。匿名化ユーザデータおよび/または部分匿名化ユーザデータは、多くの異なるウェブサイトおよび/または1つ以上の特定の特徴を有するウェブサイトに対応し得る。クライアント固有データは、特定のクライアントが関心のある特定のウェブサイトを追跡したデータを含むことができ、様々なアラートおよび結果を送信した各ユーザを具体的に特定するデータを含むことができる。したがって、クライアント固有データは、匿名化および/または部分匿名化データに比べていくつかの点でより豊富であるが、クライアント固有データで表されたユーザの数は、匿名化データおよび/または部分匿名化データで表されたユーザの数よりも少ない場合がある。さらに、クライアント固有データは、関連する属性の組み合わせを有しない場合がある。例えば、特定のクライアントが以前にアプリベースのアラートを使用しなかった場合、そのようなアラートの可能な影響を推定する機械学習モデルの精度が低下する可能性がある。   The first decision can be made using a machine learning model constructed based on one or more first parameters. The one or more first parameters may be determined dynamically based on anonymized and / or partially anonymized user data and / or client-specific data. For example, anonymized and / or partially anonymized user data was transmitted over each of three different communication channels for different user sub-populations (defined based on one or more user attributes). The alert may indicate the effect of initiating a corresponding website session (e.g., determined based on a tracking link in the alert) and triggering the user to complete the transaction during the session. The anonymized user data and / or the partially anonymized user data may correspond to many different websites and / or websites having one or more particular characteristics. Client-specific data can include data tracking a particular website of interest to a particular client, and can include data that specifically identifies each user that sent various alerts and results. Thus, while the client-specific data is in some respects richer than the anonymized and / or partially anonymized data, the number of users represented by the client-specific data is different from the anonymized and / or partially anonymized data. May be less than the number of users represented by the digitized data. Further, client-specific data may not have associated attribute combinations. For example, if certain clients have not used app-based alerts before, the accuracy of machine learning models that estimate the possible impact of such alerts may be reduced.

(第1のパラメータを用いて構成された)機械学習モデルは、経路に関連するプロファイルデータを用いて、ユーザへの通信チャネルを決定することができる。プロファイルデータは、(例えば、経路に関連付けられたユーザ装置からの以前のHTMLリクエストに関連するメタデータ、クッキー、および/または入力を用いて)クライアントによって収集されたプロファイルデータを含むことができる。プロファイルデータは、例えば、複数のウェブホストおよびクライアントからプロファイルデータを収集および管理するためのリモートユーザプロファイルデータストアから、要求および受信した他のプロファイルデータをさらに含むことができる。   The machine learning model (configured with the first parameter) can use the profile data associated with the route to determine a communication channel to the user. The profile data may include profile data collected by the client (e.g., using metadata, cookies, and / or inputs associated with a previous HTML request from a user device associated with the route). The profile data may further include other profile data requested and received, for example, from a remote user profile data store for collecting and managing profile data from multiple web hosts and clients.

通信チャネルを特定すると、経路は、対応する動作ノード(425a、425bまたは425c)に延長する。次に、対応する通信チャネルを用いてアラートを送信する。アラートは、制限コンテンツを自動的に特定し、アラートを開くリクエストを検出すると、経路を第2分岐ノード410に延長するように構成することができる。次に、第2の分岐ノード410で決定を行い、アラートの本文に表示される特定のコンテンツを決定することができる。   Once the communication channel has been identified, the path extends to the corresponding operating node (425a, 425b or 425c). Next, an alert is transmitted using the corresponding communication channel. The alert can be configured to automatically identify restricted content and extend the path to the second branch node 410 upon detecting a request to open the alert. Next, a decision can be made at the second branch node 410 to determine the specific content to be displayed in the body of the alert.

したがって、第2の分岐ノード415は、ユーザがウェブサイト上で最後に閲覧した製品を特定するコンテンツを表す第1の通知コンテンツノード430a、(ユーザ全体が)先週にウェブサイト上で閲覧した4つの製品を特定するコンテンツを表す第2の通知コンテンツノード430b、および割引の指定を含むコンテンツを表す第3の通知コンテンツノード430cに連結される。第2の決定は、1つ以上の第2のパラメータに基づいて構成された機械学習モデルを用いて行うことができる。したがって、いくつかの(全てではない)例において、(例えば、全ておよび/または一部の目標結果に考慮される様々なユーザ属性に与えられた重みを示す)特定の構成が異なる場合があるが、様々な分岐ノードで決定を行うために使用された一般的な機械学習モデルは、同じである。   Thus, the second branch node 415 includes a first notification content node 430a representing content identifying a product that the user last viewed on the website, the four notification content nodes (whole user) who viewed on the website last week. It is linked to a second notification content node 430b representing the content specifying the product and a third notification content node 430c representing the content including the designation of the discount. The second decision can be made using a machine learning model constructed based on one or more second parameters. Thus, in some (but not all) examples, the particular configuration (e.g., indicating the weight given to various user attributes considered in all and / or some goal results) may be different. The general machine learning model used to make decisions at the various branch nodes is the same.

1つ以上の第2のパラメータは、匿名化ユーザデータおよび/または部分匿名化ユーザデータおよび/またはクライアント固有データに基づいて動的に決定することができる。しかしながら、匿名化ユーザデータおよび/または部分匿名化ユーザデータおよび/またはクライアント固有データの各々は、第1の決定を行ってから変更される可能性がある。このことは、第1のパラメータと第2のパラメータとの間に差をもたらす。さらに、第2の分岐ノード415で実行される可能な動作は、第1の分岐ノード410で実行される可能な動作とは異なる。したがって、第1の構成と第2の構成とは、異なる可能性がある。さらに、第1の分岐ノードと第2の分岐ノードとの間に処理されるプロファイルデータは、異なる可能性がある。例えば、クライアント関連アプリケーションは、第1の分岐ノードで実行される処理と第2の分岐ノードで実行される処理との間に、ユーザ装置にインストールされた可能性がある。したがって、アプリケーションベースの通知は、例えば、第2の分岐ノードで通知されるが、第1の分岐ノードでは通知されない。   The one or more second parameters can be dynamically determined based on the anonymized user data and / or the partially anonymized user data and / or the client-specific data. However, each of the anonymized user data and / or the partially anonymized user data and / or the client-specific data may be changed after making the first decision. This leads to a difference between the first parameter and the second parameter. Further, the possible operations performed at the second branch node 415 are different from the possible operations performed at the first branch node 410. Therefore, the first configuration and the second configuration may be different. Further, the profile data processed between the first branch node and the second branch node may be different. For example, a client-related application may have been installed on a user device between a process performed on a first branch node and a process performed on a second branch node. Therefore, the application-based notification is notified, for example, at the second branch node, but not at the first branch node.

コンテンツを特定すると、経路は、対応するコンテンツノード(430a、430bまたは430c)に延長する。対応するコンテンツは、ユーザ装置に送信され、ユーザ装置に表示される。   Once the content is identified, the route extends to the corresponding content node (430a, 430b or 430c). The corresponding content is transmitted to the user device and displayed on the user device.

コンテンツは、ウェブサイト上のウェブページへの1つ以上の追跡リンクを含むことができる。追跡リンクがクリックされたことを検出すると、経路は、第3の分岐ノード420に延長することができる。その後、第3の分岐ノード415で決定を行い、リクエストされたウェブページ上で表示される特定のコンテンツを決定することができる。   The content can include one or more tracking links to web pages on the website. Upon detecting that the tracking link has been clicked, the path can be extended to a third branch node 420. Thereafter, a decision can be made at a third branch node 415 to determine the particular content to be displayed on the requested web page.

したがって、第3の分岐ノード420は、異なるカテゴリに関連付けられた4つの代表的な製品を特定するためのコンテンツを表す第1のウェブページコンテンツノード435a、同じカテゴリに関連付けられた4つの代表的な製品を特定するためのコンテンツを表す第2のウェブページコンテンツノード435b、および以前のウェブページ対話データに基づいて所定のユーザが関心すると推定された単一の製品を特定するためのコンテンツを表す第3のウェブページコンテンツノード435cに連結される。   Thus, the third branch node 420 includes a first web page content node 435a that represents content for identifying four representative products associated with different categories, and four representative products associated with the same category. A second web page content node 435b representing content for identifying a product, and a second representing content for identifying a single product that is presumed to be of interest to a given user based on previous web page interaction data. 3 web page content node 435c.

第3の決定は、1つ以上の第3のパラメータに基づいて構成された機械学習モデルを用いて行うことができる。第3のパラメータは、匿名化ユーザデータ、部分匿名化ユーザデータおよび/またはクライアント固有データに対する一時的な変更および/または可能な動作の違いによって、第1のパラメータおよび/または第2のパラメータと異なる場合がある。さらに、第3の分岐ノード420で処理されるプロファイルデータは、(例えば、ユーザ装置から通信された新しいメタデータを検出したことおよび/またはプロファイルに対応する新しい情報をリモートシステムから受信したことによって)第1の分岐ノード410および/または第2の分岐ノード415で処理されるプロファイルデータとは異なる場合がある。   The third decision can be made using a machine learning model constructed based on one or more third parameters. The third parameter differs from the first and / or the second parameter by temporary changes to the anonymized user data, partially anonymized user data and / or client-specific data and / or differences in possible operations. There are cases. Further, the profile data processed at the third branch node 420 may include (e.g., detecting new metadata communicated from the user equipment and / or receiving new information corresponding to the profile from the remote system). Profile data processed by the first branch node 410 and / or the second branch node 415 may be different.

コンテンツを特定すると、経路は、対応するコンテンツノード(435a、435bまたは435c)に延長する。対応するコンテンツは、ユーザ装置に送信され、ユーザ装置上で対応するウェブページに表示される。   Once the content is identified, the path extends to the corresponding content node (435a, 435b or 435c). The corresponding content is transmitted to the user device and displayed on a corresponding web page on the user device.

図4に示された通信決定木400において、各通信段階で(通知を送信するときに、通知の本文を表示するときに、およびウェブページを表示するときに)単一の決定を行うが、代わりに、機械学習モデルを用いて複数の決定を行うことができる。例えば、分岐ノード410において、(例えば、ある期間からまたは複数の可能な時間から時間を指定することによって)使用する通信チャネルおよび通知を送信する時間を決定することができる。別の例として、通信チャネルを決定する前または後に、送信時間を個別に決定することができる。したがって、複数の出力を生成するように機械学習モデルを構成することができ、複数の機械学習モデルは、複数の構成を有することができる(各機械学習モデルは、異なるパラメータおよび/またはハイパーパラメータに対応し、個別に訓練され、および/または異なる種類の出力を生成する)。   In the communication decision tree 400 shown in FIG. 4, a single decision is made at each communication stage (when sending the notification, when displaying the body of the notification, and when displaying the web page), Alternatively, multiple decisions can be made using a machine learning model. For example, at branch node 410, the communication channel to use and the time to send the notification can be determined (e.g., by specifying a time from a period of time or from multiple possible times). As another example, the transmission time can be individually determined before or after determining the communication channel. Thus, a machine learning model can be configured to generate multiple outputs, and multiple machine learning models can have multiple configurations (each machine learning model has different parameters and / or hyperparameters). Corresponding, individually trained, and / or produce different types of output).

図5は、ユーザ装置に対応し、通信決定木400を通って延長する経路500の一例を示す。この場合、第1の分岐ノード410で行われた機械学習の結果は、メール通信チャネルが通知を送信するために使用されることを示す。したがって、経路500は、第1の動作ノード425aに延長する。その後、メール通知をユーザ装置に送信する。ユーザがメールを閲覧しようとしていることを示すメールコンテンツのリクエストが検出されたため、経路500は、第2の分岐ノード415に延長し、割引の指定を含むコンテンツをメールに入れることを決定する。したがって、経路500は、第3の通知コンテンツノード430cまで達し、対応するコンテンツをユーザ装置に送信する。   FIG. 5 shows an example of a path 500 corresponding to the user device and extending through the communication decision tree 400. In this case, the result of the machine learning performed at the first branch node 410 indicates that the mail communication channel is used to send the notification. Thus, path 500 extends to first operating node 425a. Thereafter, an e-mail notification is transmitted to the user device. Since a request for mail content indicating that the user is about to view the mail has been detected, path 500 extends to second branch node 415 and decides to include the content containing the discount designation in the mail. Thus, the path 500 reaches the third notification content node 430c and transmits the corresponding content to the user device.

次いで、メール内の目標リンクに対応するウェブページを要求するリクエストが検出されると、経路500は、第3の分岐ノード420まで達する。各々が異なるカテゴリに関連する4つの代表的な製品を特定するコンテンツをウェブページに入れることを示す機械学習結果が生成される。したがって、経路500は、第1のメールコンテンツノード435aまで達し、対応するウェブページコンテンツをユーザ装置に送信する。   Then, when a request for a web page corresponding to the target link in the email is detected, the path 500 reaches the third branch node 420. Machine learning results are generated that indicate that content identifying the four representative products, each associated with a different category, is to be placed on the web page. Thus, the path 500 reaches the first mail content node 435a and sends the corresponding web page content to the user device.

図示の例において、第1の分岐ノード、第2の分岐ノードおよび第3の分岐ノードの決定は、初日の午後5時、2日目の午後12時、および2日目の午後6時に行われたものとして示される。対応する動作は、すぐに実行される。なお、動作の時間は、機械学習モデルの実行、クライアント規則、または他の手法に従って、決定されてもよい。   In the illustrated example, the determination of the first branch node, the second branch node, and the third branch node is made at 5:00 pm on the first day, at 12:00 pm on the second day, and at 6:00 pm on the second day. As shown. The corresponding action is performed immediately. Note that the operation time may be determined according to execution of a machine learning model, a client rule, or another method.

さらに、機械学習ベースの決定を特定することは、1つ以上の追加の制約および/またはファクタを実装することを含むことができる。代替的または追加的に、機械学習ベースの決定は、1つ以上の追加の制約および/またはファクタに基づいて修正されてもよい。例えば、(あらゆる目的のために参照によりその全体が本明細書に組み込まれる)2015年7月13日に出願された米国出願第14/798293号は、本明細書に開示された機械学習技術に組み合わせることができる通信特性を動的に特定する追加の技術をさらに詳しく記載している。   Further, identifying machine learning based decisions can include implementing one or more additional constraints and / or factors. Alternatively or additionally, the machine learning based decision may be modified based on one or more additional constraints and / or factors. For example, U.S. application Ser. No. 14 / 798,293, filed Jul. 13, 2015 (incorporated herein by reference in its entirety for all purposes) describes a machine learning technique disclosed herein. Additional techniques for dynamically identifying communication characteristics that can be combined are described in further detail.

いくつかの実施形態において、通信交換を部分的に規定するための一連の機械学習実装を容易に構成するためのキャンバスを利用するシステムおよび方法が提供される。より具体的には、個々の切替視覚要素および対応する複数の通信視覚要素を配置および連結することができるキャンバスを利用する。次に、配置および連結された複数の視覚要素に基づいて、通信決定木を生成することができる。キャンバスは、各通信視覚要素に関連する1つ以上の通信仕様を特定するように構成することができる。各切替視覚要素は、切替視覚要素に連結された複数の通信視覚要素から特定の通信視覚要素を選択するために使用され、訓練を通じて学習された特定のパラメータに関連する機械学習技術を表すことができる。キャンバスは、(例えば、各々または全ての視覚要素のために)機械学習の選択を指示できる(例えば、ユーザが開始したイベントまたは通信を表す)目標結果を特定するように構成することができる。したがって、機械学習技術を用いて選択された特定の通信視覚要素は、(例えば、通信決定木のイベント視覚要素として表すことができる)目標結果をもたらす可能性が比較的高い通信仕様に対応する。   In some embodiments, systems and methods are provided that utilize a canvas to facilitate configuring a series of machine learning implementations to partially define a communication exchange. More specifically, it utilizes a canvas on which individual switching visual elements and a corresponding plurality of communicating visual elements can be arranged and connected. Next, a communication decision tree can be generated based on the arranged and connected visual elements. The canvas can be configured to identify one or more communication specifications associated with each communication visual element. Each switching visual element is used to select a particular communicating visual element from a plurality of communicating visual elements coupled to the switching visual element, and may represent a machine learning technique associated with particular parameters learned through training. it can. The canvas can be configured to identify target outcomes (eg, representing user initiated events or communications) that can indicate machine learning choices (eg, for each or all visual elements). Thus, a particular communication visual element selected using machine learning techniques corresponds to a communication specification that is relatively likely to produce a target result (which can be represented, for example, as an event visual element of a communication decision tree).

機械学習モデルは、各切替視覚要素に対して定義することができる。機械学習モデルは、他の通信決定木に関する以前の経路を用いて訓練することができる(しかしながら、訓練されているモデル内の通信視覚要素によって表された通信仕様と類似または同様の通信仕様に対応する通信視覚要素を有する他の通信決定木を利用する)。例えば、特定の通信仕様を有する通信をトリガするようにルーティングされた経路の場合、これらの経路によって表された後続のユーザ始動イベント(および、クライアントが特定した目標結果の発生を表す経路の一部)を決定することによって、モデルを訓練することができる。追加的にまたは代替的に、生成された通信決定木に関連する経路が出現するときに、これらの経路を用いてモデルを訓練することができる。   A machine learning model can be defined for each switching visual element. Machine learning models can be trained using previous paths for other communication decision trees (however, correspond to communication specifications similar or similar to the communication specifications represented by the communication visual elements in the model being trained) Utilize other communication decision trees that have a communication visual element to perform). For example, for routes that have been routed to trigger communications having particular communication specifications, subsequent user-initiated events represented by those routes (and portions of the routes that represent the occurrence of client-specified target results). ) Can train the model. Additionally or alternatively, when paths associated with the generated communication decision tree appear, these paths can be used to train the model.

場合によって、モデルは、以前のイベント(例えば、同じまたは異なる通信決定木を通る経路および/またはイベントシーケンスを示す他の表示)を反映するデータセットを用いて訓練することができ、新しいデータを用いて拡張することができる。新しいデータは、(例えば、新しく受信したフォーム入力またはメタデータ検出によって)最近利用可能になったものであってもよく、静的または推定可能に変化する変数型に対応してもよい。例えば、時間Xでユーザの年齢を特定した場合、時間X−3年のユーザの年齢を計算することができるが、長期間に亘って関心または場所の変化を遡及的に推定する場合、信頼性が低くなる。訓練は、新しいデータに表された様々な属性が特定のイベントの発生を予測できるか否かを判断することができる。   In some cases, the model can be trained with a data set that reflects previous events (eg, paths through the same or different communication decision trees and / or other indications of event sequences) and uses new data Can be extended. The new data may have recently become available (eg, due to newly received form inputs or metadata detection) and may correspond to variable types that change statically or estimable. For example, if the user's age is specified at time X, the user's age at time X−3 years can be calculated. Becomes lower. Training can determine whether various attributes represented in the new data can predict the occurrence of a particular event.

インターフェイスは、様々な機械学習段階に適用されるバイアスを示す表示を受け入れるように構成することができる。例えば、複数の特定の通信視覚要素に連結されている特定の切替要素に関して、クライアントは、第1の視覚要素に視覚的に関連付けられた制御スライダと対話することによって、第1の視覚要素に向かってまたは第1の視覚要素から離れて経路を選択することを示すことができる。対話に基づいて、機械学習モデルに与えるメタデータを設定することによって、対応するバイアスに影響を与えることができる。場合によって、メタデータは、学習パラメータ(重みなど)を調整または制約するために使用される未学習のハイパーパラメータに対応する。場合によって、メタデータを用いて、機械学習モデルによって生成された結果に適用される後処理調整を定義することができる。場合によって、(例えば、全ておよび/または特定の通信段階に関連する)要素によって表された通信仕様に対応する訓練データが比較的低い場合、クライアントまたはシステムは、特定の通信視覚要素にバイアスを与える。   The interface can be configured to accept an indication indicating a bias applied to various stages of machine learning. For example, for a particular switching element that is coupled to a plurality of particular communicating visual elements, the client may interact with a control slider visually associated with the first visual element to direct the first visual element. Alternatively, it may be indicated to select a route at or away from the first visual element. By setting the metadata to be given to the machine learning model based on the interaction, the corresponding bias can be influenced. In some cases, the metadata corresponds to unlearned hyperparameters used to adjust or constrain learning parameters (such as weights). In some cases, the metadata can be used to define post-processing adjustments that are applied to the results generated by the machine learning model. In some cases, the client or system biases certain communication visual elements if the training data corresponding to the communication specifications represented by the elements (eg, associated with all and / or certain communication phases) is relatively low. .

場合によって、クライアントは、インターフェイスを用いて、通信決定木の構造を定義することができ、および/または各決定ノードで実行される機械学習モデルの1つ以上のハイパーパラメータを定義することができる。なお、機械学習モデルは、1つ以上のハイパーパラメータと1つ以上のパラメータに基づいて定義することができる。1つ以上のハイパーパラメータの各々は、機械学習モデルの訓練によって学習されていない変数を含み、1つ以上のパラメータは、機械学習モデルの訓練によって学習された1つ以上の変数を含む。したがって、例えば、クライアントが、個々の機械学習モデルの実行中に観察される分岐ノードの数、各分岐ノードに連結された各分岐に対応する動作、他のノード間の連結、または1つ以上の制約を示すハイパーパラメータを指定できるように、インターフェイスを構成することができる。   In some cases, the client may use the interface to define the structure of the communication decision tree and / or define one or more hyperparameters of a machine learning model that is executed at each decision node. Note that the machine learning model can be defined based on one or more hyperparameters and one or more parameters. Each of the one or more hyperparameters includes a variable that has not been learned by training the machine learning model, and the one or more parameters includes one or more variables that have been learned by training the machine learning model. Thus, for example, the client may determine whether the number of branch nodes observed during execution of an individual machine learning model, the action corresponding to each branch connected to each branch node, the connection between other nodes, or one or more The interface can be configured so that hyper-parameters indicating constraints can be specified.

図6は、通信決定木を定義するための例示的なインターフェイス600を示す。具体的には、インターフェイスは、様々なノードの表現を配置および連結できるキャンバス605を含む。インターフェイス600は、キャンバス605上に配置され、特定の連続的な動作を表すように選択される複数のアイコンを含むことができる。複数のアイコンは、通信決定木の開始を表す開始アイコン610を含むことができる。開始アイコン610は、満たされると、通信決定木を通る経路を開始することを示す条件の定義を受け取ることができる構成ロジックに関連付けられる。   FIG. 6 shows an exemplary interface 600 for defining a communication decision tree. Specifically, the interface includes a canvas 605 on which representations of various nodes can be arranged and connected. Interface 600 may include a plurality of icons located on canvas 605 and selected to represent a particular sequence of actions. The plurality of icons may include a start icon 610 representing a start of a communication decision tree. The start icon 610 is associated with configuration logic that, when satisfied, can receive a definition of a condition indicating that a path through the communication decision tree is to be initiated.

複数のアイコンは、終了アイコン615をさらに含むことができる。終了アイコン615に到達すると所定の経路が完了することを示すように、通信決定木を定義することができる。次に、クライアントは、開始アイコン610と終了アイコン615との間に配置された動作定義アイコンおよび/またはイベント検出アイコンを連結することによって、経路観測中に実行される様々な操作および評価を表すことができる。   The plurality of icons may further include an end icon 615. A communication decision tree can be defined to indicate that a predetermined route is completed upon reaching the end icon 615. Next, the client represents the various operations and evaluations performed during the route observation by linking the action definition icon and / or the event detection icon located between the start icon 610 and the end icon 615. Can be.

複数のアイコンに含まれた動作定義アイコンは、切替アイコン620であってもよい。切替アイコン620は、分岐を選択するまたは「切り替える」ための分岐ノードに対応する。構成された機械学習モデルおよびプロファイルデータを用いて、分岐を選択することができる。多くの場合、切替アイコン620は、複数の可能な経路に連結される。可能な経路は、別のアイコン(例えば、通信アイコン、イベント検出アイコン、他の切替アイコンおよび/または終了アイコン)と交差してもよい。   The operation definition icon included in the plurality of icons may be the switching icon 620. The switch icon 620 corresponds to a branch node for selecting or “switching” a branch. A branch can be selected using the configured machine learning model and profile data. In many cases, the switch icon 620 is linked to multiple possible paths. Possible paths may intersect with another icon (eg, a communication icon, an event detection icon, another switching icon, and / or an end icon).

通信アイコンの例として、ユーザ装置にメールを送信することを示すメールアイコン625と、ユーザ装置にテキストまたはSMSメッセージを送信することを示すテキストメッセージアイコン630と、ユーザ装置にインストールされたアプリを介してアラートを表示することを示すアプリメッセージアイコン635とを含む。場合によって、可能な経路は、(通信アイコンを設けないことによって)動作を実行しないことを示す。図示のキャンバスにおいて、配置された切替アイコンは、3つの経路、すなわち、(例えば、異なるコンテンツおよび/または送信時間に関連する)2つのメール経路および1つの動作なし経路に連結されている。   As an example of the communication icon, a mail icon 625 indicating that a mail is transmitted to the user device, a text message icon 630 indicating that a text or SMS message is transmitted to the user device, and an application installed in the user device. An application message icon 635 indicating that an alert is to be displayed. In some cases, a possible route indicates that no action is taken (by not providing a communication icon). In the illustrated canvas, the arranged switching icons are linked to three paths: two mail paths (eg, associated with different content and / or transmission times) and one inactive path.

複数のアイコンに含まれたイベント検出アイコンは、1つ以上の機械学習技術の目標結果に対応するイベントが検出されたことを表す目標検出アイコン637を含むことができる。目標検出アイコン637および/または別のイベント検出アイコンは、例えば、通知が開かれたこと、通知に含まれる目標リンクが実行されたこと、経路に関連付けられたユーザ装置がウェブサイトのセッションを開始したこと、ウェブサイト上で製品(例えば、任意の製品または特定の製品)を購入したこと、経路に対応する追加のプロファイル情報を提供したことを示すことができる。   The event detection icons included in the plurality of icons may include a target detection icon 637 indicating that an event corresponding to one or more target results of the machine learning technique has been detected. The target detection icon 637 and / or another event detection icon may indicate, for example, that a notification has been opened, that a target link included in the notification has been executed, that a user device associated with the route has initiated a website session. May indicate that a product (eg, any product or a particular product) has been purchased on the website, and that additional profile information corresponding to the route has been provided.

インターフェイス600は、複数のアイコンを指向性的に連結するための連結ツール640を含むことができる。各連結は、示された方向で経路が連結されたノードに亘って延長できるように通信決定木を構成したことを示すことができる。しかしながら、各連結に条件を付けることができる。したがって、経路は、条件が満たされた場合に、連結に亘って延長する。例えば、条件が満たされた場合に、(連結の一方端に連結された)分岐ノードで決定を行い、(連結の他方端に連結された)通信アイコンで表された動作を実行するように、連結を形成することができる。別の例として、経路関連ユーザ装置に関連する特定種類の対話を検出すると、条件が満たされるように条件を構成してもよい。   The interface 600 may include a connection tool 640 for directionally connecting a plurality of icons. Each connection can indicate that the communication decision tree was configured such that the path could extend over the connected nodes in the indicated direction. However, each connection can be conditioned. Thus, the path extends over the connection if the conditions are met. For example, if the condition is met, the decision is made at the branch node (connected to one end of the connection) and the action represented by the communication icon (connected to the other end of the connection) is performed, Connections can be formed. As another example, the condition may be configured such that upon detecting a particular type of interaction associated with the route-related user device, the condition is satisfied.

各動作定義アイコンは、経路がアイコンに到達したときに実行する動作を詳細に定義するための1つ以上の動作パラメータに関連することができる。例えば、パラメータ定義インターフェイスは、アイコンをクリックすると、インターフェイス600の一部として表示されてもよい。また、パラメータ定義インターフェイスは、アイコンを右クリックおよび/またはダブルクリックすると、ポップアップウィンドウに開くように構成されてもよい。   Each action definition icon can be associated with one or more action parameters to further define the action to be performed when the route reaches the icon. For example, the parameter definition interface may be displayed as part of interface 600 when the icon is clicked. Also, the parameter definition interface may be configured to open in a pop-up window when the icon is right-clicked and / or double-clicked.

場合によって、各動作定義アイコンおよび/またはイベント検出アイコンは、独立して実行できるウィジェットまたはコードに対応する。キャンバス605は、通信骨組(communication fabric)として動作することができる。したがって、1つのウィジェットによって生成された結果(例えば、切替アイコンに対応する機械学習モデルからの、特定の通信仕様に従って通信を送信することを示す表示)が、別のウィジェット(例えば、特定の通信仕様に対応する通信アイコンに対応するウィジェット)に利用されてもよい。したがって、キャンバス605は、ウィジェットの結果に応じて経路を延長することができ、通信交換の態様を調整することができる。   In some cases, each action definition icon and / or event detection icon corresponds to a widget or code that can be executed independently. The canvas 605 can operate as a communication fabric. Therefore, the result generated by one widget (for example, an indication from the machine learning model corresponding to the switching icon indicating that communication is to be transmitted according to a specific communication specification) is output to another widget (for example, a specific communication specification). (A widget corresponding to a communication icon corresponding to). Therefore, the canvas 605 can extend the route according to the result of the widget, and can adjust the mode of communication exchange.

なお、図6には示されていないが、場合によって、キャンバス605上に複数の切替アイコン620を配置することができる。各切替アイコン620は、個別に構成および動作することができる機械学習モデルの個別のインスタンスに対応することができる。   Although not shown in FIG. 6, a plurality of switching icons 620 can be arranged on the canvas 605 in some cases. Each switch icon 620 may correspond to an individual instance of a machine learning model that can be individually configured and operated.

図7は、切替アイコンの例示的なパラメータ定義インターフェイス700を示す。パラメータ定義インターフェイス700は、テキスト入力を受け入れるためのステージラベルフィールドを含む。テキスト入力は、インターフェイス内の関連アイコンの隣に表示され、通信決定木を説明する。テキスト入力を介して記述文を入力することもできる。記述文は、例えば、アイコンに関連するシングルクリックまたはダブルクリックの検出に応じて、インターフェイスに表示され、通信決定木を説明する。   FIG. 7 shows an exemplary parameter definition interface 700 for the switch icon. Parameter definition interface 700 includes a stage label field to accept text input. The text entry is displayed next to the relevant icon in the interface and describes the communication decision tree. A descriptive sentence can also be input via text input. The descriptive sentence is displayed on the interface in response to, for example, detection of a single click or a double click related to the icon, and describes the communication decision tree.

パラメータ定義インターフェイス700は、選択または動作仕様を特定するように構成された切替アイコンおよび/または機械学習モデルを実行するように構成された切替アイコンに対して、目標結果を定義するためのフィールドを含むことができる。例えば、プルダウンメニューは、追跡されており、目標結果として指定できる複数のイベントを特定することができる。目標結果は、ユーザ装置上で開始された動作、システムが発行した通知などを含む。例えば、目標結果は、ユーザ装置に提供された通信内のリンクがクリックされたこと、ユーザ装置に提供された通信が開かれたこと、通信によってユーザ装置に関連して購入(交換)を行ったこと、チャットセッションが開始されたこと、フォームが完了したことの検出を含むことができる。   The parameter definition interface 700 includes fields for defining a target result for a switch icon configured to specify a selection or operating specification and / or a switch icon configured to execute a machine learning model. be able to. For example, a pull-down menu can identify a plurality of events that are being tracked and can be designated as target results. The goal results include actions initiated on the user device, notifications issued by the system, and the like. For example, the target result may be that a link in the communication provided to the user device was clicked, a communication provided to the user device was opened, a purchase (exchange) was made in connection with the user device by communication. And detecting that a chat session has started and that a form has been completed.

パラメータ定義インターフェイス700は、選択または動作仕様を特定するように構成された切替アイコンおよび/または機械学習モデルを実行するように構成された切替アイコンに対して、特定される可能な結果を示す1つ以上のフィールドをさらに含むことができる。例えば、インターフェイス700は、アイコンから延長する3つの経路または分岐に対応するフィールドを含む。この場合、各経路に対して、別の動作定義アイコンのステージラベル名を指定する。場合によって、経路情報は、スイッチが通信決定木を定義するためのインターフェイス内の1つ以上の他のアイコンに連結されていることを検出すると、パラメータ定義インターフェイス700において自動的に更新される。なお、パラメータ定義インターフェイス700は、追加の経路を追加するまたは削除するためのオプションを含むこともできる。   The parameter definition interface 700 may indicate one of the possible results identified for a switch icon configured to specify a selection or operating specification and / or a switch icon configured to execute a machine learning model. These fields can be further included. For example, interface 700 includes fields corresponding to three paths or branches extending from the icon. In this case, a stage label name of another operation definition icon is designated for each route. In some cases, the path information is automatically updated in the parameter definition interface 700 upon detecting that the switch is linked to one or more other icons in the interface for defining a communication decision tree. It should be noted that the parameter definition interface 700 can also include options for adding or deleting additional routes.

場合によって、1つのパスをデフォルトパスとして指定することができる。例えば、機械学習モデルが、別のパスが少なくとも目標結果をもたらす高い確率を有することを予測しない限りまたは別のパスを通過する場合(例えば、後続予測の信頼度の改善を示す)閾値を有する追加のデータを生成することを予測しない限り、経路は、通常デフォルトパスにルーティングされる。場合によって、デフォルトパスの選択は、目標結果の発生確率に関連する信頼度に依存する(例えば、別のパスが少なくとも目標結果をもたらす60%の確率を有し、その確率の信頼度が少なくとも50%であると予測されない限り、デフォルトパスとして選択されない)。   In some cases, one path can be designated as the default path. For example, an additional having a threshold unless the machine learning model predicts that another path has at least a high probability of achieving the desired result or if it passes through another path (eg, indicating improved confidence in subsequent predictions) The path is usually routed to the default path, unless it is expected to generate the same data. In some cases, the selection of a default path depends on the confidence associated with the probability of occurrence of the target result (e.g., another path has at least a 60% probability of producing the target result, and the confidence of that probability is at least 50%). % Will not be selected as the default path unless predicted).

場合によって、切替アイコンは、パスおよび/または次の動作(または動作の欠如)並びに次のアイコンまで経路を延長する(例えば、次の動作を実行する)時間を選択するように構成することができる。時間は、複数の時間および/または開放型連続時間または閉鎖型連続時間から選択することができる。図示された例において、パラメータ定義インターフェイス700は、経路を次の動作定義アイコンに延長するための最大時間を含む。したがって、切替アイコンに関連して実行された決定ロジックが、別の期間がより有利であることを示す場合を除き、経路が切替アイコンに到達してから1日以内に、(目標結果を得る確率が高くなる、および/または訓練データが増加するため)経路を延長する必要がある。   In some cases, the switch icon may be configured to select a path and / or next action (or lack of action) and a time to extend the path to the next icon (eg, perform the next action). . The time can be selected from multiple times and / or open continuous or closed continuous. In the illustrated example, the parameter definition interface 700 includes a maximum time to extend the path to the next action definition icon. Therefore, unless the decision logic executed in connection with the switch icon indicates that another time period is more advantageous, within one day of the route reaching the switch icon (the probability of obtaining the target result) And / or training data increases), the path needs to be extended.

機械学習技術および/または他の選択技術は、複数の可能なパスから、目標結果をもたらす確率が最も高いパスを特定するように構成することができる。場合によって、この技術は、ある程度のノイズおよび/または変動性をさらに導入する。したがって、必要に応じて、最適ではないパスを選択して、基礎モデルを継続的に訓練することができる。   Machine learning techniques and / or other selection techniques can be configured to identify a path from a plurality of possible paths that is most likely to produce a target result. In some cases, this technique further introduces some noise and / or variability. Thus, if necessary, a sub-optimal path can be selected to continuously train the underlying model.

場合によって、クライアントは、特定のパスの選択に対するバイアスを導入する必要がある。例えば、特定のパスは、別のパスに比べて(例えば、計算上および/または金銭上の)コストが高い場合がある。別の例として、特定のパスは、別のパスに比べて可用性が高い場合がある。さらに別の例として、クライアントは、後続のリソース割り当て決定を通知するために、所定のパスの有効性に関する情報を迅速に取得したい場合がある。   In some cases, the client needs to introduce a bias for the selection of a particular path. For example, a particular path may be more expensive (eg, computationally and / or financially) than another path. As another example, a particular path may be more available than another path. As yet another example, a client may want to quickly obtain information about the validity of a given path to signal a subsequent resource allocation decision.

したがって、パラメータ定義インターフェイス700は、個々のパスに対するバイアスを与えるための1つ以上のオプションを含むことができる。図示の例において、各パスにスライダーを提供する。スライダーを右側の「増加」側に配置すると、対応するパスに与えるバイアスを増加するようにパス選択を調整することができる。スライダーを左側の「制約」側に配置すると、対応するパスに与えるバイアスを減少するようにパス選択を調整することができる。このような増加および/または制限オプションに制限を課することができる。したがって、例えば、スライダーを最も左側の制約位置に移動しても、対応するパスの選択を妨げない。このような制限によって、機械学習モデルは、様々なオプションに関連するデータを収集し続け、学習を介して1つ以上のパラメータを変更し続けることができる。オプションが2つしかない場合、他方のオプションに対して、一方のオプションに与える相対的なバイアスを指定するための単一のインターフェイスコンポーネントを設けることができる。一方、3つ以上のオプションがある場合、増加/制約オプションは、オプションに応じてより直感的なコントロールを提供することができる。   Accordingly, the parameter definition interface 700 can include one or more options for biasing individual paths. In the example shown, a slider is provided for each path. Placing the slider on the “increase” side on the right allows the path selection to be adjusted to increase the bias applied to the corresponding path. Placing the slider on the left “constrained” side allows the path selection to be adjusted to reduce the bias on the corresponding path. Restrictions can be imposed on such augmentation and / or restriction options. Therefore, for example, even if the slider is moved to the leftmost constraint position, selection of the corresponding path is not prevented. Such restrictions allow the machine learning model to continue collecting data related to various options and to change one or more parameters through learning. If there are only two options, a single interface component can be provided to specify the relative bias on one option relative to the other. On the other hand, if there are more than two options, the increase / constrained options can provide more intuitive controls depending on the options.

図8は、通信内の様々なコンテンツの表示にバイアスを与えるためのオプションを含む別のパラメータ定義インターフェイス800を示す。図示の例は、(各々が対応の製品を表す)9つのコンテンツアイテムを示している。各コンテンツアイテムの視覚表現に関連するスライダーが設けられる。スライダーを右側の「増加」側に配置すると、対応するコンテンツアイテムに与えるバイアスを増加するように、(例えば、異なるコンテンツを表す複数のパスの選択に対応するまたは通信チャネルを特定した後にコンテンツの選択に対応する)コンテンツ選択を調整することができる。スライダーを左側の「制約」側に配置すると、対応するアイテムに与えるバイアスを減少するように、コンテンツ選択を調整することができる。   FIG. 8 illustrates another parameter definition interface 800 that includes options for biasing the display of various content in the communication. The illustrated example shows nine content items (each representing a corresponding product). A slider associated with the visual representation of each content item is provided. Placing the slider on the “increase” side on the right side increases the bias on the corresponding content item (eg, corresponding to selecting multiple paths representing different content or selecting a content after identifying a communication channel). Can be adjusted. Placing the slider on the left “constrained” side allows the content selection to be adjusted to reduce the bias on the corresponding item.

図示の例において、スライダーを最も左側の位置に配置する場合、「提供しない」オプションが表示される。場合によって、[提供しない]オプションを選択しない場合、少なくとも第1のコンテンツアイテムが選択される。   In the illustrated example, if the slider is located at the leftmost position, a “do not provide” option is displayed. In some cases, if the Do Not Provide option is not selected, at least the first content item is selected.

スライダーによって示された相対的なバイアスおよび過去の通信カウントに基づいて、システムは、所定の日に個々のコンテンツアイテムを表示する回数を推定することができる。したがって、クライアントが1つ以上のスライダーを移動すると、インターフェイス800は、スライダー位置に従って、(例えば、毎日に)個々のコンテンツアイテムを表示する回数に関する推定カウントを自動的に更新することができる。   Based on the relative bias indicated by the slider and past communication counts, the system can estimate the number of times to display an individual content item on a given day. Thus, as the client moves one or more sliders, the interface 800 can automatically update the estimated count for the number of times an individual content item is displayed (eg, daily) according to the slider position.

理解すべきことは、異なる種類のバイアスをさらに指定し、与えることができることである。例えば、通信を送信する時間に関連してバイアスを示すように、1つ以上のスライダーを設けることができる。例えば、スライダーは、即時送信(および/または別の時間、例えば、完成時間における送信)に対する決定に与えるバイアスの度合いを示すことができる。   It should be understood that different types of bias can be further specified and provided. For example, one or more sliders can be provided to indicate a bias in relation to the time of transmitting a communication. For example, the slider may indicate the degree of bias that will affect the decision for immediate transmission (and / or transmission at another time, eg, completion time).

(例えば、通信チャネルの種類、特定種類のコンテンツの表示、または特定の時間における通信の送信に対する)バイアスを与えることは、例えば、1つまたは機械学習モデルの重みおよび/または1つ以上の閾値を変更することを含むことができる。場合によって、バイアスを与えることは、後処理(例えば、結果の一部を再配布して、通信属性の分布がバイアスに基づいて示されたターゲット分布と一致する程度を改善すること)を実行することを含む。   Providing a bias (e.g., for the type of communication channel, display of a particular type of content, or transmission of a communication at a particular time) may include, for example, weighting one or more machine learning models and / or one or more thresholds. It can include making changes. In some cases, biasing performs post-processing (eg, redistributing portions of the results to improve the degree to which the distribution of communication attributes matches the indicated target distribution based on the bias). Including.

図9は、通信を送信するための様々な通信チャネルの使用にバイアスを与えるためのオプションを含むさらに別のパラメータ定義インターフェイス900を示す。示された例において、3つの通信チャネル、すなわち、メール、アプリベースの通知、およびSMSメッセージが示されている。各チャンネルの表現と視覚的に関連するスライダーが設けられる。スライダーを右側の「増加」側に配置すると、対応する種類のチャンネルの使用に与えるバイアスを増加するように、コンテンツ送信を調整することができる。スライダーを左側の「制約」側に配置すると、対応するチャンネルに与えるバイアスを減少するように、パス選択を調整することができる。   FIG. 9 illustrates yet another parameter definition interface 900 that includes options for biasing the use of various communication channels for transmitting communications. In the example shown, three communication channels are shown: email, app-based notification, and SMS message. Sliders are provided that are visually related to the representation of each channel. Placing the slider on the “increase” side on the right can adjust the content transmission to increase the bias on the use of the corresponding type of channel. Placing the slider on the left “constrained” side allows the path selection to be adjusted to reduce the bias on the corresponding channel.

インターフェイス900は、最近の期間に各チャネルを用いて送信した通信の数および今後の期間に各チャネルを用いて送信する予定の通信の数を示す時系列表現をさらに示している。現在の時刻は、垂直線で表される。通信は、(例えば、通信チャネルの選択に関連する同じまたは異なる機械学習モデルに含まれる可能性がある)複数の可能な送信時間からの選択に従って予定することができる。したがって、クライアントは、様々なチャネルに亘って予定された負荷を見ることができ、チャネルに対して与えられたバイアスを調整するか否かを決定することができる。   Interface 900 further illustrates a time-series representation of the number of communications transmitted using each channel during a recent period and the number of communications scheduled to be transmitted over each channel during a future period. The current time is represented by a vertical line. Communication may be scheduled according to a selection from a number of possible transmission times (eg, which may be included in the same or different machine learning models associated with the selection of the communication channel). Thus, the client can see the expected load across the various channels and can decide whether to adjust the bias applied to the channels.

図10は、本発明のいくつかの実施形態に従って、機械学習を用いて、通信決定木を通る経路の方向を指定するためのプロセス1000を示すフローチャートである。プロセス1000は、ブロック1005から始まる。ブロック1005において、通信決定木を表すデータ構造を呼び出す。通信決定木は、機械学習技術を用いて、一連の通信仕様を示すように、通信決定木を通る個々の経路を動的に定義するように構成することができる。より具体的には、通信決定木は、複数のノードを含むことができる。特定の経路を延長する必要を示すイベントの検出に応じて、特定の経路をノードの間に延長することができる。イベントは、例えば、ユーザイベントから特定種類の動作または通信を検出することを含むことができ、または経路管理システムまたは機械学習データプラットフォームで(ノードの特定に対応する)特定の決定を特定することができる。複数のノードは、複数の分岐ノードを含むことができる。複数の分岐ノードのうち各分岐ノードは、特定の経路の方向を特定するように構成された動作ポイント、または経路管理システムもしくは機械学習データプラットフォームで開始される特定の動作を特定するように構成された動作ポイントに対応してもよい。分岐ノードは、構成された機械学習モデルを用いて、方向または動作を特定するように構成することができる。   FIG. 10 is a flowchart illustrating a process 1000 for specifying the direction of a path through a communication decision tree using machine learning, according to some embodiments of the present invention. The process 1000 begins at block 1005. At block 1005, a data structure representing a communication decision tree is invoked. The communication decision tree can be configured to dynamically define individual paths through the communication decision tree using a machine learning technique to indicate a series of communication specifications. More specifically, the communication decision tree can include a plurality of nodes. A particular path can be extended between nodes in response to detecting an event indicating that a particular path needs to be extended. An event may include, for example, detecting a particular type of action or communication from a user event, or identifying a particular decision (corresponding to identifying a node) in a path management system or machine learning data platform. it can. The plurality of nodes can include a plurality of branch nodes. Each branch node of the plurality of branch nodes is configured to identify an operation point configured to determine a direction of a specific path or a specific operation initiated by a path management system or a machine learning data platform. May correspond to the operating point. The branch node can be configured to specify a direction or an action using the configured machine learning model.

ブロック1010において、(特定のユーザおよび/または特定のユーザ装置に関連する)経路が通信決定木の分岐ノードに到達するように延長したことを検出する。特定のユーザは、(例えば、クライアントによって特定された1つ以上の所定の属性を有する)通信受信者または対象顧客層の対象グループに含まれた複数のユーザのうちいずれかである。通信受信者または対象顧客層の対象グループを静的に定義することができるが、静的に定義する必要がない。例えば、この対象グループは、様々な時刻で1つ以上の所定の属性の各々を表すプロファイルに対応する動的セットであってもよい。経路は、ユーザ装置で開始された特定種類のイベントを検出した結果(例えば、ユーザ装置がクライアント関連ウェブサイトのセッションに参加していることを示す通信、ユーザがプロフィールフォームを送信したことを示す通信)および/または特定のシステム始動動作を完了した結果に従って、分岐ノードに延長することができる。   At block 1010, it is detected that a path (associated with a particular user and / or a particular user device) has been extended to reach a branch node of the communication decision tree. The particular user may be any of a communication recipient (e.g., having one or more predetermined attributes identified by the client) or a plurality of users included in a target group of target customers. The target groups of the communication recipients or target customers can be statically defined, but need not be statically defined. For example, the target group may be a dynamic set corresponding to profiles representing each of one or more predetermined attributes at various times. The path may be a result of detecting a particular type of event initiated at the user device (eg, a communication indicating that the user device is participating in a client-related website session, a communication indicating that the user has submitted a profile form). And / or may be extended to a branch node according to the result of completing a particular system startup operation.

ブロック1015において、他のユーザデータを処理することによって生成された学習データを取得する。他のユーザデータは、通信受信者および/または対象顧客層の対象グループの少なくとも一部に関連するデータに対応してもよい。学習データは、機械学習技術を訓練するときに生成されたデータを含んでもよい。訓練は、機械学習技術を用いて1つ以上の経路の方向を指定することとは別個の時間で実行されてもよく、または機械学習技術の訓練と利用は、同時に実行されてもよい。他のユーザデータは、同じまたは異なる通信決定木を通る1つ以上の経路に関連する経路データを含むことができる。例えば、他のユーザデータは、通信受信者の対象グループの少なくとも一部に対して、対応する経路が事前定義された(例えば、ワークフローの成功を示す)経路目標に指定された通信決定木の目標ノードに到達したことを示すことができる。目標ノードは、例えば、コンテンツとの対話、交換、または通信の応答を表すことができる。別の代替例または追加例として、他のユーザデータは、対象グループの少なくとも一部に対して、対応する経路が望ましくない結果(通信に応答しないこと、交換しないこと、またはコンテンツと対話しないこと)を表す特定のノードに到達したことを示すことができる。他のユーザデータは、1人以上のユーザに対応するプロファイルデータおよび/または属性を示すことができ、個々の経路に関連して検出および/または開始された様々なイベントを示すことができる。したがって、様々な状況が存在する場合、他のユーザデータは、(例えば、クライアントによって目標結果として指定された)特定種類のイベントを検出する確率を示すことができる。   At block 1015, learning data generated by processing other user data is obtained. Other user data may correspond to data associated with at least a portion of a target group of communication recipients and / or target customers. The learning data may include data generated when training a machine learning technique. The training may be performed at a separate time from directing one or more paths using machine learning techniques, or the training and utilization of machine learning techniques may be performed simultaneously. Other user data may include path data associated with one or more paths through the same or different communication decision trees. For example, other user data may include, for at least a portion of a target group of communication recipients, a target of a communication decision tree designated as a path target with a corresponding path predefined (eg, indicating a successful workflow). It can indicate that the node has been reached. The target node may represent, for example, a response to an interaction, exchange, or communication with the content. As another alternative or additional example, other user data may indicate that for at least a portion of the target group, the corresponding route is an undesirable result (not responding to communications, not exchanging, or interacting with content). May have been reached. Other user data may indicate profile data and / or attributes corresponding to one or more users, and may indicate various events detected and / or initiated in connection with individual paths. Thus, if various situations exist, other user data may indicate the probability of detecting a particular type of event (e.g., specified as a target result by the client).

ブロック1020において、(分岐ノードに延長したと検出された)経路に対応するユーザに関連する1つ以上のユーザ属性を取得する。ユーザ属性は、例えば、ユーザ装置の種類、ユーザ装置の地理位置、ユーザ装置に使用されているブラウザの種類、ユーザ装置に使用されているオペレーティングシステム、ユーザ装置と特定のウェブサイトとの対話の一部または全ての履歴、ユーザ装置と1つ以上の他のウェブサイトとの対話、ユーザ装置に関連するクッキーデータ、ユーザ装置で開かれる通知またはリンクの実行をもたらした通知の種類(メール、テキストメッセージおよび/またはアプリメッセージ)を示す履歴データを含むことができる。1つ以上の特定のユーザ属性を収集するおよび/またはローカルに取得するおよび/またはリモートソースからリクエストするおよび受信することができる。   At block 1020, one or more user attributes associated with the user corresponding to the route (detected as extending to a branch node) are obtained. User attributes include, for example, the type of user device, the geographical location of the user device, the type of browser used for the user device, the operating system used for the user device, one of the interactions between the user device and a particular website. Part or all history, interaction of the user device with one or more other websites, cookie data associated with the user device, notification type opened on the user device or the type of notification that resulted in the execution of the link (email, text message And / or application messages). One or more specific user attributes may be collected and / or obtained locally and / or requested and received from a remote source.

ブロック1025において、学習データおよび1つ以上のユーザ属性に基づいて、1つ以上の通信仕様を特定する。例えば、学習データは、機械学習モデル(例えば、回帰モデル)の1つ以上のパラメータを含むことができる。また、1つ以上のハイパーパラメータに基づいて、機械学習モデルをさらに定義することができる。その後、パラメータ、ハイパーパラメータおよび/または基礎構造を用いて、ユーザ属性を処理するように機械学習モデルを構成することができる。モデルの実行結果は、複数の利用可能なオプションから、目標結果を達成する最も可能なオプションを特定することができる。複数の利用可能なオプションは、例えば、使用される異なる種類の通信チャネル、送信される異なる種類のコンテンツ、および/または異なる送信時間に対応することができる。場合によって、複数の利用可能なオプションは、1つ以上の他の通信仕様を共有する。   At block 1025, one or more communication specifications are identified based on the learning data and one or more user attributes. For example, the learning data can include one or more parameters of a machine learning model (eg, a regression model). Also, a machine learning model can be further defined based on one or more hyperparameters. Thereafter, the machine learning model can be configured to process the user attributes using the parameters, hyperparameters and / or infrastructure. The results of running the model may identify the most possible option to achieve the target result from the plurality of available options. The plurality of available options may correspond to, for example, different types of communication channels used, different types of content transmitted, and / or different transmission times. In some cases, multiple available options share one or more other communication specifications.

ブロック1030において、経路に関連するユーザ装置にコンテンツを送信する。コンテンツの送信は、1つ以上の通信仕様に従って実行される。   At block 1030, the content is transmitted to a user device associated with the route. The transmission of the content is performed according to one or more communication specifications.

ブロック1035において、経路が通信決定木内の別の分岐ノードに到達するように延長したか否かを判断する。判断は、例えば、最後の通信を特定のユーザ(または対応する装置)に送信してから閾値時間が経過したか否かを判断すること、特定のユーザが当該特定のユーザ(または対応する装置)に送信された最後の通信と対話したか否かを判断すること、および/または目標コンテンツが特定のユーザ(または対応する装置)に送信された最後の通信の結果であるか否かに関係なく、特定のユーザが目標コンテンツと対話したか否かを判断することを含むことができる。場合によって、これらの2つ以上の判断の各々は、異なる分岐ノードの基準に関連している。ブロック1035は、経路が到達した他の分岐ノードを特定することを含むことができる。   At block 1035, it is determined whether the path has been extended to reach another branch node in the communication decision tree. The determination is, for example, determining whether or not a threshold time has elapsed since the last communication was transmitted to the specific user (or the corresponding device). And / or determining whether the target content was the result of the last communication sent to a particular user (or corresponding device). , Determining whether a particular user has interacted with the target content. In some cases, each of these two or more decisions is associated with different branch node criteria. Block 1035 may include identifying other branch nodes that the route has reached.

経路が別の分岐ノードに到達するように延長したと判断された場合、プロセス1000は、ブロック1015に戻り、ブロック1015〜1035を繰り返す。しかしながら、ブロック1015の反復実行は、(例えば、必ずしもではないが、少なくともいくつかのユーザデータと組み合わせて)他のユーザデータを処理することによって生成される異なる学習データを取得することを含む。異なる学習データは、(例えば、同じまたは異なる値および/または同じまたは異なる種類のパラメータおよび/またはハイパーパラメータを有する)同じまたは異なる構成の機械学習技術を用いて、生成されてもよい。ブロック1020の反復実行は、少なくとも1つの他のユーザ属性を取得することを含むことができる。ブロック1025の反復実行は、異なる学習データおよび少なくとも1つの他のユーザ属性に基づいて、(異なるセットの可能な通信仕様から)少なくとも1つの他の通信仕様を特定することを含むことができる。少なくとも1つの他の通信仕様は、同じまたは異なる種類の基礎モデルを用いて、特定することができる。ブロック1030の反復実行は、少なくとも1つの他の通信仕様に従って、他のコンテンツの送信をトリガすることを含むことができる。   If it is determined that the path has been extended to reach another branch node, the process 1000 returns to block 1015 and repeats blocks 1015-1035. However, the iterative execution of block 1015 includes obtaining different training data generated by processing other user data (eg, but not necessarily, in combination with at least some user data). The different learning data may be generated using the same or different configurations of machine learning techniques (eg, having the same or different values and / or the same or different types of parameters and / or hyperparameters). The iterative execution of block 1020 may include obtaining at least one other user attribute. The iterative execution of block 1025 may include identifying at least one other communication specification (from a different set of possible communication specifications) based on different learning data and at least one other user attribute. At least one other communication specification may be specified using the same or a different type of base model. Repeated execution of block 1030 may include triggering transmission of other content according to at least one other communication specification.

経路が別の分岐ノードに到達するように延長していないと判断された場合、プロセス1000は、ブロック1040に進み、経路が完成したか否かを判断する。この判断は、経路の現在端が延長している連結端を有しない経路に連結しているか否かを判断することによって行うことができる。経路が完成したと判断された場合、経路の処理が終了する。経路が完成していないと判断された場合、プロセス1000は、ブロック1035に戻り、(例えば、ユーザが開始した動作または外部イベントの結果によって)経路が別の分岐ノードに到達したか否かを判断することができる。   If it is determined that the path has not been extended to reach another branch node, the process 1000 proceeds to block 1040 and determines whether the path has been completed. This determination can be made by determining whether the current end of the route is connected to a route that does not have an extended connecting end. If it is determined that the route has been completed, the route processing ends. If it is determined that the path is not complete, the process 1000 returns to block 1035 and determines whether the path has reached another branch node (eg, as a result of a user-initiated action or an external event). can do.

したがって、プロセス1000は、異なる構成の機械学習モデルを反復に用いて、通信交換の異なる段階に対応する仕様を特定することを容易にする。様々な段階において、モデルは、様々なプロファイルデータ(例えば、異なるフィールドの値または経時的に変化する値)および/または(例えば、モデルに関連する様々な入力および/または出力に基づいておよび/または一時的な変更に基づいて学習した)様々なモデルパラメータを使用することができる。機械学習モデルの反復実行は、個々のユーザの通信交換を動的に指示することができる。   Accordingly, the process 1000 facilitates using differently configured machine learning models for iteration to identify specifications corresponding to different stages of the communication exchange. At various stages, the model may be based on various profile data (eg, different field values or values that change over time) and / or (eg, various inputs and / or outputs associated with the model and / or Various model parameters (learned based on temporary changes) can be used. Iterative execution of a machine learning model can dynamically indicate the communication exchange of individual users.

図11は、配置可能な視覚要素をサポートするインターフェイスを用いて、機械学習ベースの通信決定木を定義するためのプロセス1100を示すフローチャートである。プロセス1100は、ブロック1105から始まる。ブロック1105において、複数の視覚要素と、要素を配置するためのキャンバスとを含むインターフェイスを利用する。複数の視覚要素の各々は、キャンバス上で配置することができる。例えば、ユーザが視覚要素の表現をクリックし、クリックを維持しながらカーソルをキャンバス上の別の位置にドラッグすることによって視覚要素を別の位置に配置することができるように、インターフェイスを構成することができる。別の例として、(例えば、クリックまたはダブルクリックによって)表現を選択し、カーソルが別の位置に移動したときに別の入力(例えば、別のクリックまたはダブルクリック)をすることによって、視覚要素を他の位置に配置することができる。   FIG. 11 is a flowchart illustrating a process 1100 for defining a machine learning-based communication decision tree using an interface that supports configurable visual elements. Process 1100 begins at block 1105. At block 1105, an interface that includes a plurality of visual elements and a canvas for arranging the elements is utilized. Each of the plurality of visual elements can be arranged on a canvas. For example, configuring the interface so that the user can place the visual element in another location by clicking on the representation of the visual element and dragging the cursor to another location on the canvas while holding the click Can be. As another example, by selecting an expression (e.g., by clicking or double-clicking) and making another input (e.g., another click or double-click) when the cursor moves to another position, the visual element It can be located at other locations.

複数の視覚要素は、複数の動作定義視覚要素を含むことができる。複数の動作定義視覚要素の各々は、特定の経路が動作定義視覚要素に延長したときに、実行される特定の動作であってもよい。複数の動作定義視覚要素は、機械学習技術を用いて通信仕様を特定するための(例えば、機械学習モデルを用いて行われた)決定動作を表す切替視覚要素を含むことができる。複数の動作定義視覚要素は、複数の通信視覚要素をさらに含むことができる。複数の通信視覚要素の各々は、特定の通信仕様(例えば、通信チャネルの種類、特定のコンテンツおよび送信時間)を表すことができる。また、複数の視覚要素は、配置された複数の視覚要素を指向性的に連結するように構成された連結視覚要素を含むことができる。配置された複数の視覚要素の各々は、複数の動作定義視覚要素のうち各動作定義視覚要素に対応してもよい。指向性連結は、配置された複数の視覚要素によって表された特定の動作が発生する順序を示すことができる。   The plurality of visual elements can include a plurality of action defining visual elements. Each of the plurality of action-defined visual elements may be a specific action to be performed when a specific path extends to the action-defined visual element. The plurality of action definition visual elements may include a switching visual element representing a decision action (for example, performed using a machine learning model) for specifying a communication specification using a machine learning technique. The plurality of operation definition visual elements may further include a plurality of communication visual elements. Each of the plurality of communication visual elements may represent a particular communication specification (eg, type of communication channel, particular content and transmission time). In addition, the plurality of visual elements can include a connected visual element configured to connect the plurality of arranged visual elements in a directional manner. Each of the arranged plurality of visual elements may correspond to each of the plurality of operation-defined visual elements. The directional connection may indicate the order in which a particular action represented by the arranged visual elements occurs.

ブロック1110において、キャンバスの更新を検出する。更新されたキャンバスは、キャンバスの第1の位置に配置された切替視覚要素、キャンバスの第2の位置に配置された複数の通信視覚要素のうち第1の通信視覚要素、およびキャンバスの第3の位置に配置された複数の通信視覚要素のうち第2の通信視覚要素を含むことができる。第1の通信視覚要素は、特定の第1の通信仕様を表すことができ、第2の通信視覚要素は、特定の第2の通信仕様を表すことができる。   At block 1110, an update of the canvas is detected. The updated canvas includes a switching visual element located at a first location on the canvas, a first communication visual element of the plurality of communication visual elements located at a second location on the canvas, and a third communication visual element located on the canvas. A second communication visual element of the plurality of communication visual elements arranged at the location may be included. The first communication visual element may represent a specific first communication specification, and the second communication visual element may represent a specific second communication specification.

更新されたキャンバスは、複数の連結視覚要素をさらに含むことができる。複数の連結視覚要素の各々は、連結視覚要素のインスタンスを含むことができる。複数の連結視覚要素のうち第1の連結は、切替視覚要素を第1の通信視覚要素に連結するように配置することができる。複数の連結視覚要素のうち第2の連結は、切替視覚要素を第2の通信視覚要素に連結するように配置することができる。複数の連結視覚要素は、切替視覚要素で機械学習技術を実行することによって得られた可能な結果が、特定の第1の通信仕様を有する通信伝送をトリガする第1の結果と、特定の第2の通信仕様を有する通信伝送をトリガする第2の結果とを含むことを示すことができる。   The updated canvas may further include a plurality of connected visual elements. Each of the plurality of connected visual elements can include an instance of the connected visual element. A first connection of the plurality of connected visual elements may be arranged to connect the switching visual element to the first communicating visual element. A second connection of the plurality of connected visual elements may be arranged to connect the switching visual element to the second communicating visual element. The plurality of connected visual elements are such that a possible result obtained by performing the machine learning technique on the switching visual element is that a first result that triggers a communication transmission having a specific first communication specification, And a second result that triggers a communication transmission having a communication specification of 2.

ブロック1115において、更新されたキャンバスに基づいて、特定の通信決定木を定義する。ブロック1120において、特定のプロファイルデータに関連付けられた所定の経路が切替視覚要素によって表された特定の決定動作に延長したことを検出する。この検出に応答して、ブロック1125において、(学習パラメータデータおよび/または静的データを用いて構成された)機械学習技術を用いて特定のプロファイルデータを処理することによって、機械学習結果を生成する。学習パラメータデータは、他のユーザに関連する複数の経路および/または同じまたは異なる通信決定木に関連する複数の経路に基づいて、機械学習モデルの個別または継続的な訓練中に学習したデータを含むことができる。機械学習技術を用いて特定のプロファイルデータを処理することは、第1および第2の特定の通信仕様のうち、コンテンツ送信に適用した通信仕様を示すことができる。   At block 1115, a particular communication decision tree is defined based on the updated canvas. At block 1120, it is detected that the predetermined path associated with the particular profile data has been extended to a particular decision action represented by the switching visual element. In response to this detection, at block 1125, a machine learning result is generated by processing the particular profile data using machine learning techniques (constructed using the learning parameter data and / or the static data). . The learning parameter data includes data learned during individual or continuous training of the machine learning model based on multiple paths associated with other users and / or multiple paths associated with the same or different communication decision trees. be able to. Processing the specific profile data using the machine learning technique can indicate a communication specification applied to content transmission among the first and second specific communication specifications.

したがって、ブロック1130において、経路に関連するユーザ装置にコンテンツを送信する。送信は、機械学習結果に示された特定の第1および第2の通信仕様のうち1つに従って実行される。例えば、第1および第2の通信視覚要素は、異なる種類の通信チャネルに対応する場合がある。したがって、ブロック1125は、2種類の通信チャネルのうち1つを特定することを含んでもよく、コンテンツは、特定されたチャネルを介して送信されてもよい。   Accordingly, at block 1130, the content is transmitted to the user device associated with the route. The transmission is performed according to one of the specific first and second communication specifications indicated in the machine learning result. For example, the first and second communication visual elements may correspond to different types of communication channels. Thus, block 1125 may include identifying one of two types of communication channels, and the content may be transmitted over the identified channel.

したがって、キャンバスは、通信決定木の構成を定義することを容易にする。しかしながら、クライアントは、全てのユーザに適用される通信交換および/または1つ以上の決定性規則のみを含む通信交換を定義する必要はない。むしろ、インターフェイスは、一般に、様々な通信仕様の選択、通信イベントの順序および/または制約の特定をサポートする。機械学習技術を用いて、特定の通信仕様を自動的且つ動的に生成することができる。この方法によって、クライアントの優先順位に従うように通信システムを容易に構成することができると共に、通信システムを特定のユーザの特性、リソース負荷および最近の対話パターンなどに動的に適応させることができる。   Thus, the canvas facilitates defining the configuration of the communication decision tree. However, the client need not define a communication exchange that applies to all users and / or a communication exchange that includes only one or more deterministic rules. Rather, the interface generally supports selection of various communication specifications, specification of the order and / or constraints of communication events. Specific communication specifications can be automatically and dynamically generated using machine learning techniques. In this way, the communication system can be easily configured to follow client priorities, and the communication system can be dynamically adapted to the characteristics of a particular user, resource load, recent interaction patterns, and the like.

理解すべきことは、開示された技術の変形も考えられることである。例えば、分岐ノードは、機械学習モデルではない別の種類の人工知能モデルを用いて、通信に使用される通信仕様を選択することができる。別の例として、インターフェイスは、切替要素に対応する経路段階に使用される特定種類または通常種類の人工知能モデルの選択を受け入れるように構成することができる。さらに別の例として、インターフェイスは、(例えば、1つ以上の通信決定木、1つ以上の期間、および/または1つ以上のユーザ群セグメントに対応する点で)キャンバスに配置された1つ、複数または全ての切替要素に対応する機械学習モデルの訓練に使用されたデータを示すように構成することができる。   It should be understood that variations of the disclosed technology are also contemplated. For example, the branch node can select a communication specification to be used for communication using another type of artificial intelligence model that is not a machine learning model. As another example, the interface can be configured to accept a selection of a particular type or a normal type of artificial intelligence model to be used for the path stage corresponding to the switching element. As yet another example, the interface may include one or more placed on the canvas (e.g., at points corresponding to one or more communication decision trees, one or more time periods, and / or one or more user group segments). It can be configured to show data used for training a machine learning model corresponding to a plurality or all of the switching elements.

理解すべきことは、本明細書に開示された技術を用いて、様々な種類の決定木をサポートすることができることである。例えば、場合によって、決定木内のノードおよび/またはキャンバス上の視覚要素は、ロジックに関連する要素に対応してもよい。これらのロジックは、所定の条件(例えば、特定種類の装置間通信を検出すること、クライアントに関連付けられていないアプリケーションが動作を実行したことを示すこと、特定の時間が経過したこと)が満たされているか否かを検出し、条件が満たされたことを検出する場合、特定の動作を実行する。ノードおよび/または視覚要素の部分セットに対して、条件付きの特定の動作は、プロファイルデータに基づいて機械学習モデルを実行することによって、連結された複数のノード(または視覚要素)からノード(または視覚要素)を選択することを含むことができる。これによって、選択したノード(または視覚要素)に関連する他の特定の動作を実行することができる。例えば、機械学習ベースの経路選択は、「If This Then That」環境に統合することができる。例えば、分岐は、通信仕様を特定するノードに分岐ノードを連結する代わりに、データを格納するために使用される様々なアプリケーションを特定することができる。したがって、決定フレームワークを確立することができ、人工知能アプレットおよび/またはプラグインは、1つ以上の他のアプレットと通信することができ、キャンバスを介して逆通信することができる。   It should be understood that various types of decision trees can be supported using the techniques disclosed herein. For example, in some cases, nodes in the decision tree and / or visual elements on the canvas may correspond to elements related to logic. These logics satisfy certain conditions (e.g., detecting a particular type of device-to-device communication, indicating that an application not associated with the client has performed an operation, or that a certain amount of time has elapsed). If it is detected whether or not the condition is satisfied, a specific operation is executed. For a subset of nodes and / or visual elements, a specific conditional operation is to execute a machine learning model based on profile data to connect nodes (or visual elements) from nodes (or visual elements). Visual element). This allows other specific actions related to the selected node (or visual element) to be performed. For example, machine learning-based routing can be integrated into an "If This Then That" environment. For example, a branch may specify various applications used to store data instead of coupling the branch node to a node that specifies a communication specification. Thus, a decision framework can be established and artificial intelligence applets and / or plug-ins can communicate with one or more other applets and can communicate back through the canvas.

場合によって、技術は、特定のジョブを実行するためのリクエストを送信するワーカーを特定することに関連し得る。この技術は、追加的にまたは代替的に、例えばクエリプロセスに参加するリクエストを送信するワーカーおよび/または(例えば、特定のジョブを実行するおよび/またはクエリプロセスに参加する)1つ以上のリクエストの構成を特定することを含むことができる。   In some cases, techniques may relate to identifying a worker sending a request to perform a particular job. This technique may additionally or alternatively include, for example, a worker sending a request to participate in a query process and / or one or more requests (eg, performing a particular job and / or participating in a query process). Identifying the configuration can include.

場合によって、決定木を通って進行する反復に応じて、特定を行うことができる。決定木は、各決定ノードに有限の決定および/または一貫した可能な決定を含む必要がない。例えば、決定木は、累進選別決定木を含むことによって、2つ以上の決定ノードの各々において複数のワーカーを反復的に削減することができる。可能な決定の数は、特定の決定に応じて削減された全ての可能なワーカーの数に対応してもよい。必ずしも必要ではないが、特定の決定ノードは、削減された複数のワーカーに含まれたワーカーの数を制約または定義すること(例えば、複数のワーカーを5人のワーカーを含む部分セットに削減すること、複数のワーカーを80%に削減すること、または複数のワーカーを2〜9人のワーカーを含む部分セットに削減すること)ができる。決定木の最終出力は、例えば、単一のワーカー、一定数のワーカー、および/または数値的に制約しないワーカーの特定を含む。   In some cases, the identification can be made in response to iterations proceeding through the decision tree. The decision tree does not need to include finite decisions and / or consistent possible decisions at each decision node. For example, the decision tree can include a progressively sorted decision tree to iteratively reduce multiple workers at each of two or more decision nodes. The number of possible decisions may correspond to the number of all possible workers reduced in response to a particular decision. Although not required, a particular decision node may constrain or define the number of workers included in the reduced plurality of workers (eg, reducing the plurality of workers to a subset that includes five workers). , Reducing the number of workers to 80%, or reducing the number of workers to a subset that includes 2 to 9 workers). The final output of the decision tree includes, for example, the identification of a single worker, a fixed number of workers, and / or workers that are not numerically constrained.

決定木は、例えば、1つ以上のワーカーから受信した応答を反映することができる1つ以上のチャンスノードを含むことができる。例えば、決定ノードの実行に従って、ワーカーにリクエストを送信して、応答する(または応答しない)ことは、ワーカーがリクエストを受け入れたか否かを示すことがある。場合によって、ワーカーが(例えば、所定の期間内)リクエストを拒否するおよび/または受け入れない場合、そのワーカーは、現在検討中のワーカーのプールから除外される。   A decision tree can include, for example, one or more chance nodes that can reflect responses received from one or more workers. For example, sending and responding (or not responding) to a worker according to the execution of the decision node may indicate whether the worker has accepted the request. In some cases, if a worker rejects and / or rejects the request (eg, within a predetermined time period), the worker is removed from the pool of workers currently under consideration.

いくつかの例において、決定木は、ジョブオファー(例えば、特定の職位および/または職業および/または特定の雇用者に対応する雇用を受け入れる通知)に対応する決定を表す。ジョブオファーは、ジョブ、理想的な候補者、決定のタイムライン、給与、場所などを説明する1つ以上のドキュメント、ファイルまたはデータセットに関連する。各ワーカーは、1つ以上の特定のジョブ、1つ以上の特定種類のジョブおよび/または全てのジョブを申請するための履歴書および/または申請を提出した人に対応する識別子を含むことができる。1つ以上の第1の決定ノードは、雇用者、採用担当者などがクエリプロセス(例えば、対面面接、電話面接またはウェブ面接)に招待するワーカーに関する決定に対応する。1つ以上の第2の決定ノードは、ジョブオファー(例えば、ジョブのリクエスト)を与えるワーカーに関する決定に対応する。1つ以上の第3の決定ノードは、ジョブを実行するためのリクエスト構成(例えば、給与、休暇、場所、および/またはジョブオファーの他の詳細)を特定することに対応する。特定の例として、第1の決定ノードは、ジョブに関する面接を提供する確率に対応する全てのワーカーのランキングを出力するように構成することができ、第2の決定ノードは、ジョブを提供する確率に対応する全て(またはその一部)のワーカーのランキングを出力するように構成することができる。別の特定の例として、第1の決定ノードは、ワーカーが内定通知を受け入れる(可能なオファー構成にもかかわらずジョブオファーを受け入れない)可能性に対応する出力を生成するように構成することができ、第2の決定ノードは、ワーカーの関心を引き付けるために必要な内容(給与、ボーナス、および/または報酬を定義するための詳細)を生成するように構成することができる。決定ノードの出力は、同時にまたは別々の時間に提示または送信することができる。   In some examples, the decision tree represents a decision corresponding to a job offer (e.g., a notice to accept employment corresponding to a particular position and / or occupation and / or a particular employer). A job offer is associated with one or more documents, files or datasets that describe a job, ideal candidates, a timeline of decisions, salaries, locations, and the like. Each worker may include one or more particular jobs, one or more particular types of jobs and / or resumes for applying for all jobs and / or identifiers corresponding to the person who submitted the application. . The one or more first decision nodes correspond to decisions regarding workers that employers, recruiters, etc. invite to a query process (eg, a face-to-face interview, a telephone interview, or a web interview). One or more second decision nodes correspond to decisions regarding a worker providing a job offer (eg, a request for a job). One or more third decision nodes correspond to identifying a request configuration (eg, salary, vacation, location, and / or other details of a job offer) for performing the job. As a specific example, a first decision node may be configured to output a ranking of all workers corresponding to a probability of providing an interview for a job, and a second decision node may be configured to output a probability of providing a job. May be configured to output the ranking of all (or a part of) the workers corresponding to. As another specific example, the first decision node may be configured to generate an output corresponding to a likelihood that a worker will accept a job offer notification (and not accept a job offer despite a possible offer configuration). Yes, and the second decision node can be configured to generate the necessary content (details to define salaries, bonuses, and / or rewards) to attract worker interest. The outputs of the decision nodes can be presented or transmitted at the same time or at different times.

理解すべきことは、必要ではないが、決定は、所定の経路の進行に応じて、各決定ノードで自動的に行うことができることである。例えば、全て(またはその一部)のワーカーを特定の数に選別するのではなく、(例えば、機械学習モデルの実行に依存する)自動処理は、全てのワーカーのランキングおよび/または各ワーカーのスコアを出力することができる。出力を(例えば、ユーザ装置に)提示および/または送信することによって、ユーザは、実際の選別および/または選択を示す決定を容易にすることができる。(例えば、ポータルインターフェイスに提供されたユーザ入力に応じて)選別および/または選択を伝達することによって、決定木の経路をさらに調整することができる。   It should be understood that, although not necessary, the decision can be made automatically at each decision node as the predetermined path progresses. For example, rather than selecting all (or a portion thereof) workers to a particular number, an automated process (eg, depending on the execution of a machine learning model) may rank all workers and / or score each worker. Can be output. By presenting and / or transmitting the output (e.g., to a user device), the user can facilitate a decision that indicates the actual screening and / or selection. By communicating the selection and / or selection (eg, in response to user input provided to the portal interface), the path of the decision tree can be further adjusted.

選別、ランキングおよび/またはスコアは、1つ以上の最適変数に基づいて行うことができる。1つ以上の最適変数は、決定木内の複数の決定または全ての決定に一貫して使用されてもよく、各決定ノードに対して具体的に定義されてもよい(例えば、一部または全ての決定ノードに対して異なってもよい)。最適変数は、ワーカーによって行われた決定(例えば、ワーカーがクエリプロセスに参加するリクエストを受け入れる確率および/またはワーカーがジョブを実行するリクエストを受け入れる確率)に対応してもよく、次のリクエストに関する決定(クエリプロセスに参加するリクエストを送信する確率および/またはジョブを実行するリクエストを送信する確率)に対応してもよく、および/または能力(例えば、ワーカーが所定の時間間隔においてジョブを実行し続ける確率、第三者によるワーカー能力の高い評価を達成する確率、および/または職務業績に基づいて高い報酬またはボーナスを確保する確率)に対応してもよい。   Sorting, ranking and / or scoring may be based on one or more optimal variables. The one or more optimal variables may be used consistently for multiple or all decisions in the decision tree and may be specifically defined for each decision node (eg, some or all May be different for decision nodes). The optimal variable may correspond to a decision made by the worker (eg, the probability that the worker will accept a request to participate in a query process and / or the probability that a worker will accept a request to perform a job) and determine for the next request. (Probability of sending a request to participate in a query process and / or probability of sending a request to perform a job) and / or capability (eg, a worker keeps executing a job at predetermined time intervals) Probabilities, probabilities of achieving a high reputation of worker performance by third parties, and / or probabilities of securing high rewards or bonuses based on job performance).

いくつかの例において、ワーカー(例えば、初期セットのワーカーから選別された部分セット)のランキングは、能力データに基づいて行われる。例えば、ワーカーの属性および能力データを含む訓練データに基づいて、機械学習モデルを訓練することができる。したがって、(例えば、初期セットのワーカーから選別された部分セット内の)複数のワーカーの各々の属性およびジョブデータをモデルに入力することができる。出力は、複数のワーカーの各々の推定能力評価(例えば、ワーカーをジョブに割り当てる場合の能力の推定評価に対応する推定能力)に基づいて、複数のワーカーのランキングを示すことができる。出力は、例えば、数値ランキング(例えば、各ワーカーに割り当てる番号)、順序(例えば、ワーカーの特定の順序)、および各ワーカーの数値スコアまたはカテゴリスコア(例えば、これらのスコアに基づいて、ワーカーを順番付けできる)を含むことができる。モデルを訓練することによって、例えば、様々なワーカーの属性を推定能力に関連付ける1つ以上の重みを学習することができる。場合によって、ワーカーの属性に加えてジョブの仕様に基づいて能力の推定を調整するように、モデルを訓練することができる。   In some examples, ranking of workers (e.g., a subset filtered from an initial set of workers) is performed based on performance data. For example, a machine learning model can be trained based on training data that includes worker attributes and performance data. Thus, the attributes and job data of each of a plurality of workers (eg, in a subset filtered from the initial set of workers) can be input to the model. The output may indicate a ranking of the plurality of workers based on an estimated ability rating of each of the plurality of workers (e.g., an estimated ability corresponding to an estimated ability evaluation when assigning workers to jobs). Outputs include, for example, numerical ranking (eg, a number assigned to each worker), order (eg, a particular order of workers), and numerical or categorical scores for each worker (eg, ordering workers based on these scores). Can be attached). By training the model, for example, one or more weights that associate various worker attributes with estimation capabilities can be learned. In some cases, the model can be trained to adjust the capacity estimates based on job specifications in addition to worker attributes.

モデルを訓練するために使用された能力データは、例えば、数値データ、カテゴリデータ、および/またはテキストデータを含むことができる。場合によって、能力データは、スケールに沿ったメトリックを含むことができ、および/または能力データを処理することによってスケールに沿ったメトリックを生成することができる。能力データは、1つ以上の時間で(例えば、毎年などの定期時間で、プルリクエストまたはプッシュレポートに応じて)、1人または複数のジョブ所有者(例えば、雇用主または面接官)から受信することができる。訓練データは、能力を評価しているジョブをワーカーに割り当てる時点(またはほぼその時点)のワーカーの属性および/またはワーカーの現在時間(例えば、能力を評価している時間に関して現在時間)の属性を含むことができる。特定時間の属性は、特定時間にワーカーが使用できる仕様データセットに基づいて確認できる。場合によって、保存された仕様データセットは、訓練に使用する属性を引き出す時間の経過に基づいて更新することができる。例えば、仕様データセットが年数−経験属性を含み、その属性が時刻t−xに最初に保存されまたは最後に更新された場合、(例えば、ワーカーがx時間に関連するジョブを実行していると仮定するときに)属性にxを追加することによって、属性を更新することができる。場合によって、1つ以上の関連するワーカー属性が所定の期間内に更新された場合に限り、能力データは、訓練データセットに含まれる。   The performance data used to train the model can include, for example, numerical data, categorical data, and / or textual data. In some cases, performance data may include metrics along the scale and / or processing the performance data may generate metrics along the scale. Performance data is received from one or more job owners (eg, an employer or interviewer) at one or more times (eg, at regular times, such as annually, in response to pull requests or push reports). be able to. The training data may include attributes of the worker at the time (or near that time) of assigning the job whose performance is being evaluated to the worker and / or attributes of the current time of the worker (eg, the current time with respect to the time during which the performance is being evaluated). Can be included. The attribute of a specific time can be confirmed based on a specification data set that can be used by a worker at a specific time. In some cases, the saved specification data set can be updated based on the passage of time to derive attributes used for training. For example, if the specification data set includes an age-experience attribute and that attribute was first saved or last updated at time tx (e.g., if a worker is executing a job associated with x hours) The attribute can be updated by adding x to the attribute (assuming). In some cases, performance data is included in the training dataset only if one or more relevant worker attributes have been updated within a predetermined time period.

図12は、本発明のいくつかの実施形態に従って、例示的な累進選別決定木1200を示す図である。決定木は、特定のジョブに関連する複数のワーカーを評価することができる。場合によって、評価は、(各々が特定のワーカーを表すおよび/または特定のワーカーに対応する)複数のワーカーファイルおよび/または(例えば、ジョブおよび/またはジョブオファーを表す)ジョブファイルに対する評価を含む。ワーカーファイルは、ワーカー仕様データ構造(例えば、履歴書データ)を表すまたは含むことができる。ジョブファイルは、ジョブ仕様データ構造(例えば、ジョブ掲示データ)を表すまたは含むことができる。   FIG. 12 is a diagram illustrating an exemplary progressive screening decision tree 1200, according to some embodiments of the present invention. A decision tree can evaluate multiple workers associated with a particular job. In some cases, the reputation includes a reputation for a plurality of worker files (each representing a particular worker and / or corresponding to a particular worker) and / or a job file (eg, representing a job and / or a job offer). The worker file may represent or include a worker specification data structure (eg, resume data). The job file may represent or include a job specification data structure (eg, job posting data).

決定ノード1205において、ワーカーセットに含まれるワーカーを決定する。この決定は、複数のワーカーに対応する複数のファイルまたはデータ表現と、ジョブに対応するファイルまたはデータ表現との評価に基づいて行うことができる。具体的は、(ワーカーまたはジョブに対応する)各ファイルまたはデータ表現を処理して、特徴データセットに変換することができる。例えば、特徴データセットは、各要素で値を含む配列、行列またはベクトルを含むことができる。値は、対応するファイルまたはデータ表現が特定の特徴と一致する、特定の特徴を特定するまたは特定の特徴に対応する度合いを表すことができる。   In the decision node 1205, the worker included in the worker set is determined. This determination can be made based on an evaluation of a plurality of files or data representations corresponding to the plurality of workers and a file or data representation corresponding to the job. Specifically, each file or data representation (corresponding to a worker or job) can be processed and converted into a feature data set. For example, the feature data set can include an array, matrix, or vector that includes a value at each element. The value may indicate the degree to which the corresponding file or data representation matches the particular feature, identifies the particular feature, or corresponds to the particular feature.

場合によって、各特徴は、ワードスペース内の特定のスペースであると定義される。簡単な例として、特徴は、(例えば、同義語および/または他の対応する単語を含むことができる)単語のクラスタを表すことができ、(必須ではないが)各単語に重みを割り当てることができる。別の例として、特徴は、分布を表すことができる。単語は、例えば、他の単語と意味上の類似性、および/または1つ以上の他の単語と同様の文書、ファイル、段落、フィールド値および/または文内で発生する確率に基づいて、多次元のワードスペースの全体に配置することができる。分布は、例えば、1つの次元、複数の次元または全ての次元の各々の中心または重心および重み(および/または歪み)に従って定義することができる。   In some cases, each feature is defined to be a particular space within a word space. As a simple example, a feature may represent a cluster of words (which may include, for example, synonyms and / or other corresponding words), and assign a weight to each word (although not necessarily). it can. As another example, a feature can represent a distribution. Words may be identified based on, for example, semantic similarity to other words and / or probabilities of occurring in a document, file, paragraph, field value, and / or sentence similar to one or more other words. Can be placed throughout the dimensional word space. The distribution can be defined, for example, according to the center or centroid and weight (and / or distortion) of each of one dimension, multiple dimensions or all dimensions.

特徴データセットは、非構造化データ(例えば、文字数または単語数の点で可変長を有する複数の単語)を含むことができる仕様データ構造からのデータを用いて生成することができる。このデータを処理することによって、さらに処理される個別の単語を特定することができる。例えば、さらなる処理は、(例えば、「ing」、「ed」などの語尾を削除することによって)各単語を語幹に変換することを含むことができる。さらに、様々な単語(例えば、ストップワード、前置詞および連結詞など)を単語のセットから削除することができる。   The feature data set can be generated using data from a specification data structure that can include unstructured data (eg, words having a variable length in terms of number of characters or words). By processing this data, individual words to be further processed can be identified. For example, further processing may include converting each word to a stem (eg, by removing the endings such as "ing", "ed", etc.). Further, various words (eg, stopwords, prepositions, connectives, etc.) can be deleted from the set of words.

(例えば、処理された)単語セットを機械学習モデルまたは他の人工知能モデルに入力することによって、特徴データセットを特定することができる。一例として、ニューラルネットワーク言語モデルを含む機械学習モデルを用いて、特徴データセットを計算することができる。場合によって、対応するワーカー仕様データ構造内の単語の相対的な順序は、特徴の割り当てに影響を与える。機械学習モデルの例示的な種類は、2014年、中国北京に行われた第31回機械学習に関する国際会議の会報、JMLR:W&CP第32巻に掲載されたLe, Quocによる論文「文と文書の分散表現」に開示されたものを含む。当該論文は、https://cs.stanford.edu/~quocle/paragraph_vector.pdfから入手可能であり、あらゆる目的のためにその全体が参照により本明細書に組み込まれる。例えば、doc2vecを用いて、単語のセットを含むテキスト入力を特徴データセットに変換することができる。   By inputting the (eg, processed) word set into a machine learning model or other artificial intelligence model, a feature data set can be identified. As an example, a feature data set can be calculated using a machine learning model including a neural network language model. In some cases, the relative order of words in the corresponding worker specification data structure affects feature assignment. An exemplary type of machine learning model is the report by Le, Quoc, published in JMLR: W & CP Vol. 32, in the bulletin of the 31st International Conference on Machine Learning, Beijing, China, 2014. Distributed Representation ". The article is available from https://cs.stanford.edu/~quocle/paragraph_vector.pdf and is incorporated herein by reference in its entirety for all purposes. For example, doc2vec can be used to convert a text input containing a set of words into a feature data set.

別の例として、特徴の値は、例えば、特徴の特定のスペースに基づいて処理された単語セット内の各単語の重みを生成し、重みを平均することによって計算することができる。さらに別の例として、特徴の値は、仕様データ構造からのデータ内の特徴に関連する単語のグループの出現回数をカウントすること(およびこのカウントを他のカウントまたはデータ内の単語の総数に基づいて正規化することによって)によって計算できる。   As another example, the value of a feature may be calculated, for example, by generating a weight for each word in the processed word set based on the particular space of the feature and averaging the weights. As yet another example, the value of a feature is determined by counting the number of occurrences of a group of words associated with the feature in the data from the specification data structure (and counting this count based on other counts or the total number of words in the data). By normalizing).

(例えば、個々のワーカーまたは個々のジョブの)個々の特徴データセットを保存することができる。各特徴データセットは、ワーカーまたはジョブの識別子および/または他の情報(例えば、対応する仕様データ構造からの1つ以上のキーと値のペア、対応する仕様データ構造からの他の情報、対応する仕様データ構造からの生データ)に関連して保存することができる。場合によって、特徴データセットおよび関連情報は、Solrデータベースに保存することができる。   Individual feature data sets (eg, for individual workers or individual jobs) can be stored. Each feature data set corresponds to a worker or job identifier and / or other information (eg, one or more key-value pairs from a corresponding specification data structure, other information from a corresponding specification data structure, a corresponding Raw data from the specification data structure). In some cases, the feature dataset and related information can be stored in a Solr database.

ワーカーセットに含まれるワーカーを決定することは、(例えば、複数のワーカーに含まれる)各ワーカーの特徴データセットをジョブの特徴データセットと比較すること、および比較に基づいて、複数のワーカーの部分セットを選択することを含むことができる。複数のワーカーは、例えば、(例えば、仕様データ構造の提出に応じて)ジョブを受け入れるた可能性があると特定されたワーカーを含むことができる。複数のワーカーは、動的であってもよい。すなわち、(例えば、ワーカーにジョブの割り当てまたは削除リクエストの受信に応答して)複数のワーカーからワーカーを動的に削除することができ、および/または(例えば、新しいワーカー仕様データ構造の受信に応じて)複数のワーカーからワーカーを動的に追加することができる。   Determining the workers included in the worker set includes comparing a feature data set of each worker (e.g., included in the plurality of workers) with a feature data set of the job, and determining a portion of the plurality of workers based on the comparison. This may include selecting a set. The plurality of workers may include, for example, workers identified as having potential jobs (eg, in response to submission of a specification data structure). The plurality of workers may be dynamic. That is, a worker can be dynamically deleted from multiple workers (eg, in response to receiving a job assignment or deletion request for a worker) and / or (eg, upon receipt of a new worker specification data structure). T) Workers can be added dynamically from multiple workers.

ワーカーの特徴データセットとジョブの特徴データセットとの間の比較の実行は、特徴データセットに基づいて比較メトリックを生成することを含むことができる。メトリックは、例えば、角度、点乗積および相関係数などを含むことができる。ワーカーの部分セットは、絶対閾値または相対閾値を超える点乗積または相関係数(または他の比較メトリック)に関連するワーカーを含むものとして定義することができる。相対閾値は、特定の数または特定の割合のワーカーを含む部分セットを特定するように構成することができる。   Performing a comparison between the worker feature data set and the job feature data set may include generating a comparison metric based on the feature data set. Metrics can include, for example, angles, dot products, correlation coefficients, and the like. A subset of workers may be defined as including workers associated with dot products or correlation coefficients (or other comparison metrics) that exceed an absolute or relative threshold. The relative threshold can be configured to identify a subset that includes a certain number or a certain percentage of workers.

決定ノード1210において、機械学習モデル、特徴データセットおよび追加情報の反復によって、複数のワーカーのランキングを付ける。換言すれば、機械学習モデルは、ワーカー特徴データセット、ジョブ特徴データセットおよび追加情報に対応する入力を処理するように実行することができる。追加情報は、(例えば、経験年数、教育レベルなどを表すまたは示す)ワーカー仕様データセットからの1つ以上のキーと値のペアを含むことができる。場合によって、追加情報は、追加的にまたは代替的に、ジョブ仕様データセットからの1つ以上のキーと値のペアを含むことができる。   At decision node 1210, a plurality of workers are ranked by repetition of the machine learning model, feature dataset, and additional information. In other words, the machine learning model can be executed to process inputs corresponding to the worker feature dataset, the job feature dataset, and the additional information. The additional information may include one or more key-value pairs from a worker specification dataset (eg, representing or indicating years of experience, education level, etc.). In some cases, the additional information may additionally or alternatively include one or more key-value pairs from the job specification data set.

したがって、場合によって、初期段階に使用された機械学習モデルは、機械学習モデルによって後期段階に受信および/または処理されるワーカーデータの一部を受信および/または処理しない。例えば、後期段階の機械学習モデルは、様々なワーカーの1つ以上のキーと値のペアを受信および/または処理するが、初期段階の機械学習モデルは、様々なワーカーの1つ以上のキーと値のペアを受信および/または処理しない。逆の場合も同様である。例えば、初期段階のマシンは、未加工テキストを受信および/または処理するが、後期段階の機械学習モデルは、未加工テキストではなく、未加工テキストを処理したものを受信および/または処理する。   Thus, in some cases, the machine learning model used in the early stages does not receive and / or process some of the worker data received and / or processed in the later stages by the machine learning model. For example, a late-stage machine learning model may receive and / or process one or more key-value pairs for various workers, while an early-stage machine learning model may include one or more keys for various workers. Do not receive and / or process value pairs. The same applies to the opposite case. For example, early-stage machines receive and / or process raw text, while late-stage machine learning models receive and / or process raw text, rather than raw text.

決定木の反復の異なる段階において異なる種類の機械学習モデル、異なる種類の入力および/または異なる最適変数を使用することは、技術的な利点を有する。場合によって、異なる種類の入力を使用することによって、効率的な処理を容易にすることができる。例えば、後期段階において元のデータの代わりに処理したワーカーデータを使用することによって、処理を繰り返すことなく、有用な(または潜在的に有用な)情報を強調または選択するために実行できる過去のデータ処理および学習を利用することができる。また、初期段階の処理は、(必要ではないが)より大きなデータセットおよび/またはより多様なデータセットから学習することができるため、後期段階の学習よりも初期段階の学習に依存する場合、学習された次元削減処理は、よりロバストである。   Using different types of machine learning models, different types of inputs and / or different optimal variables at different stages of the decision tree iteration has technical advantages. In some cases, the use of different types of inputs can facilitate efficient processing. For example, by using processed worker data in place of the original data at a later stage, past data that can be performed to highlight or select useful (or potentially useful) information without repeating the processing Processing and learning are available. Also, the early-stage processing can learn from a larger and / or more diverse data set (although not required), so if it relies on early-stage learning over late-stage learning, The dimension reduction process performed is more robust.

場合によって、後期段階でいくつかのデータを選択的に使用することによって、効率的な処理およびリソース消費を促進しながら、豊富なワーカーデータセットを利用することができる。例えば、巨大なワーカー集団は、数万または数百万のキーと値のペアに関連する場合がある。キーと値のペアの各追加カテゴリを検討する場合、可能なワーカー属性のスペースの大きさは、急激に増加する。一方、可能なワーカープールのサイズは、段階的に減少する可能性もあるため、後期段階において1つ以上のキーと値のペアを含むことによる絶対的な影響は、初期段階よりも小さくなる。換言すれば、場合によって、初期段階の計算を後期段階の計算に比べて比較的単純に設計することによって、コンピュータでこれらの手順を実行する効率性と実用可能性を改善することができる。   In some cases, by selectively using some data at a later stage, a rich worker dataset can be utilized while promoting efficient processing and resource consumption. For example, a large worker population may be associated with tens of thousands or millions of key-value pairs. When considering each additional category of key-value pairs, the amount of space for possible worker attributes increases exponentially. On the other hand, the size of a possible worker pool may decrease gradually, so the absolute impact of including one or more key-value pairs in the later stages is less than in the earlier stages. In other words, in some cases, the efficiency and practicability of performing these steps on a computer can be improved by designing the early-stage calculations relatively simpler than the late-stage calculations.

機械学習モデルは、(ジョブ特徴データセットの参照ジョブ仕様データ構造が与えられた場合)様々な入力のランキングを出力するように構成されたモデルを含むことができる。例えば、機械学習モデルは、ランキング学習アルゴリズムを使用することができる。   The machine learning model can include a model configured to output a ranking of various inputs (given a reference job specification data structure for a job feature data set). For example, a machine learning model may use a ranking learning algorithm.

教師あり学習、半教師あり学習、または強化学習を使用するように機械学習モデルを実装することができる。一例として、機械学習モデルは、(xgboost実装を使用することによって)LambdaRankを使用することができる。様々なワーカーデータ(例えば、ワーカー仕様データ構造)が様々なジョブデータ(例えば、ジョブ仕様データ構造)に対応する程度を示す通信を用いて、機械学習モデルを訓練することができる。なお、個々のワーカーのランキングを出力しない他の種類の機械学習モデルを使用することもできる。例えば、機械学習モデルは、複数のワーカーの一部または全てに対して、ワーカーデータ(例えば、ワーカー特徴データセットおよび/またはワーカーに関連する追加情報)とジョブデータ(例えば、ジョブ特徴データセットおよび/またはジョブに関連する追加情報)との間の一致度を表す一致スコアを示す出力を生成するように構成することができる。   Machine learning models can be implemented to use supervised learning, semi-supervised learning, or reinforcement learning. As an example, a machine learning model can use LambdaRank (by using an xgboost implementation). The machine learning model can be trained using communications indicating the degree to which different worker data (eg, worker specification data structures) correspond to different job data (eg, job specification data structures). Note that other types of machine learning models that do not output the ranking of each worker may be used. For example, a machine learning model may include, for some or all of a plurality of workers, worker data (eg, a worker feature data set and / or additional information associated with a worker) and job data (eg, a job feature data set and / or Alternatively, an output indicating a matching score indicating the degree of matching with the additional information related to the job may be generated.

場合によって、機械学習モデルの実行出力をさらに処理することができる。例えば、さらに他の処理は、所定のランキング閾値よりも低いランキングに関連するワーカーの部分セットを特定すること、および/または所定のスコア閾値よりも高い一致スコアに関連するワーカーの部分セットを特定することを含むことができる。   In some cases, the execution output of the machine learning model can be further processed. For example, yet another process includes identifying a subset of workers associated with a ranking below a predetermined ranking threshold and / or identifying a subset of workers associated with a matching score above a predetermined score threshold. Can be included.

決定ノード1215において、複数のワーカーの部分セットを決定する。この決定は、決定ノード1210からのランキング(または他の結果)に基づいて複数のワーカーを選別することによって、クエリプロセスに参加するリクエストを送信するワーカーを特定することを含むことができる。場合によって、決定は、自動的に実行する。例えば、規則は、最低(最高)のランキングを有する所定の数のワーカーを部分セットに含むことまたは所定の閾値を超えるスコアに関連する各ワーカーを部分セットに含むことを示すことができる。   At decision node 1215, a subset of the plurality of workers is determined. The determination may include identifying a worker sending a request to participate in the query process by filtering the workers based on a ranking (or other result) from the decision node 1210. In some cases, the decision is made automatically. For example, a rule may indicate that the subset includes a predetermined number of workers with the lowest (highest) ranking or that each worker associated with a score that exceeds a predetermined threshold is included in the subset.

場合によって、部分セットに含まれるワーカーの決定に対応する通信の受信に基づいて、決定を実行する。通信は、ユーザ装置(例えば、採用担当者の装置)で受信した入力に基づいてまた受信した入力に応答して生成されてもよい。例えば、ノード1210でランキングを決定すると、対応するワーカーに関連するランキングを示す通信が生成されてもよい。通信は、インターフェイスを更新および/または生成させるようにまたユーザ装置上で表示させるように構成されてもよい。インターフェイスは、ランキングの一部または全てを含む。インターフェイスは、ランキングされたワーカーに関する情報をさらに含むおよび/またはさらに利用することができる。例えば、インターフェイスは、各ランキングに空間的に関連して、ワーカーの仕様データセットを閲覧するまたは画面上で表示するためのリンクを含むことができる。インターフェイスは、1つ以上の入力オプション(例えば、チェックボックス、プルダウンメニュー、リンク、ドラッグアンドドロップインターフェイスまたはラジオボタン)を含むことができる。オプションとの対話は、自動的に検出され、部分セットに含まれる特定のワーカーの決定に変換されることができる。   In some cases, a decision is made based on receiving a communication corresponding to a decision of a worker included in the subset. The communication may be generated based on and in response to input received at a user device (eg, a recruiter's device). For example, determining a ranking at node 1210 may generate a communication indicating a ranking associated with a corresponding worker. The communication may be configured to cause the interface to be updated and / or created and to be displayed on the user device. The interface includes some or all of the ranking. The interface may further include and / or utilize information regarding the ranked workers. For example, the interface may include links for browsing or displaying on-screen the worker's specification dataset, spatially associated with each ranking. The interface may include one or more input options (eg, checkboxes, pull-down menus, links, drag and drop interfaces or radio buttons). Interactions with options can be automatically detected and translated into the determination of particular workers included in the subset.

一例として、インターフェイスは、各行が異なるワーカーを表すテーブルを含むことができる。1つの列は、ワーカーのランキングを示し、他の列は、ワーカーに関する他の情報(例えば、フィールドと値のペア、ワーカーID)を含むことができる。分割要素(例えば、移動可能な太線)を用いて、部分セットに含まれるワーカー(例えば、分割要素の上方のワーカー)を示すことができる。インターフェイスは、行を移動して並べ替えるためのドラッグアンドドロップ要素を含むことができる。別の例として、インターフェイスは、ワーカー固有情報およびワーカーのランキングを特定する視覚オブジェクト(例えば、小さなボックス)を含むことができる。各視覚オブジェクトは、チェックボックスを含むことができ、チェックボックスに空間的に関連することができる。チェックボックスをオンにすると、ワーカーを部分セットに含むことを示すことができる。   As an example, the interface can include a table where each row represents a different worker. One column indicates the ranking of the worker and another column may include other information about the worker (eg, field and value pairs, worker ID). A split element (eg, a movable thick line) can be used to indicate a worker (eg, a worker above the split element) included in the subset. The interface can include drag and drop elements for moving and reordering rows. As another example, the interface can include a visual object (eg, a small box) that identifies worker-specific information and worker rankings. Each visual object can include a checkbox and can be spatially related to the checkbox. Checking the box indicates that the worker is included in the subset.

場合によって、クエリプロセスに参加するためのリクエストは、部分セット内の各ワーカーに自動的に送信される(例えば、ジョブ割り当てシステム内のワーカーのポータルにメール送信されるまたは表示される)。場合によって、部分セット内のワーカーの特定情報(部分セット内のワーカーの連絡先を特定するためのキー値情報、例えば、メールアドレスまたは電話番号と共に)を表示または送信することによって、クエリプロセスに参加するためのリクエストの外部通信を容易にする。リクエストは、例えば、求人情報(例えば、役職および雇用主)、クエリプロセスに関連する場所(例えば、住所)、およびクエリプロセスの時間(または時間オプション)を含むことができる。   In some cases, the request to participate in the query process is automatically sent to each worker in the subset (eg, mailed or displayed to a worker's portal in the job assignment system). In some cases, participates in the query process by displaying or sending identification information of the workers in the subset (along with key-value information for identifying the contacts of the workers in the subset, e.g., email addresses or telephone numbers). To facilitate external communication of requests. The request may include, for example, job information (eg, job title and employer), a location (eg, address) associated with the query process, and a time (or time option) for the query process.

場合によって、リクエストに対する応答を追跡することができる。例えば、メールまたはワーカーのポータルを介してリクエストを送信した場合、ワーカーがリクエストを受け入れるか否かおよび/またはワーカーがリクエストを拒否するか否かを示すように、1つ以上の応答オプションを提供することができる。別の例として、ユーザから、部分セット内の各ワーカーに関連する応答を示す通信を受信することができる。場合によって、(例えば、リクエストを送信したた時点から)所定の期間内に特定のワーカーから応答を受信しなかったという判断は、リクエストが拒否されたという仮想応答を生成することができる。部分セットをさらに選別することによって、リクエストを拒否した特定のワーカーを削除することができる。   In some cases, the response to the request can be tracked. For example, if a request is sent via email or a worker portal, provide one or more response options to indicate whether the worker accepts the request and / or whether the worker rejects the request. be able to. As another example, a communication may be received from a user indicating a response associated with each worker in the subset. In some cases, a determination that a response has not been received from a particular worker within a predetermined period of time (eg, from the time the request was sent) may generate a virtual response that the request was rejected. By further filtering the subset, certain workers that have rejected the request can be removed.

場合によって、決定ノード1210は、決定木1200に含まれなくてもよい。部分セットに含まれるワーカーの特定は、機械学習モデルの反復を用いて実行することができる。機械学習モデルは、(例えば、複数のワーカーに対応する)ワーカー仕様データ構造、ジョブ仕様データ構造、および追加情報(例えば、複数のワーカーに関連するキーと値のペアおよび/またはジョブに関連するキーと値のペア)を処理することができる。機械学習モデルは、例えば、(部分セットに含まれるか否かに対応する)ランキング、スコアまたはバイナリ識別子を出力するように構成することができる。   In some cases, the decision node 1210 may not be included in the decision tree 1200. Identifying the workers included in the subset can be performed using machine learning model iterations. The machine learning model includes a worker specification data structure (e.g., corresponding to a plurality of workers), a job specification data structure, and additional information (e.g., key-value pairs associated with the plurality of workers and / or keys associated with the job). And value pairs). The machine learning model can be configured to output, for example, rankings, scores, or binary identifiers (corresponding to being included in a subset).

決定ノード1220において、ジョブリクエストの1つ以上のジョブ構成を決定し、決定ノード1225において、ジョブを実行するためのリクエストを送信するワーカーを決定する。様々な例において、ノード1220の決定および1225の決定を同時に行う。または、ノード1225の決定を行う前にノード1220の決定を行う。または、ノード1225の決定を行った後にノード1220の決定を行う。場合によって、ブロック1220およびブロック1225で行われた決定の一方または両方は、機械学習モデルを用いて行われる。   A decision node 1220 determines one or more job configurations for the job request, and a decision node 1225 determines a worker that sends a request to execute the job. In various examples, the determination of node 1220 and the determination of 1225 are made simultaneously. Alternatively, the node 1220 is determined before the node 1225 is determined. Alternatively, the node 1220 is determined after the node 1225 is determined. In some cases, one or both of the decisions made in blocks 1220 and 1225 are made using a machine learning model.

ブロック1220の場合、機械学習モデルは、ワーカーの部分セットの各ワーカー、部分ワーカーまたは全てのワーカーに対して、ワーカーが(構成された)ジョブを受け入れることをもたらすのに十分(および/または最低)であると推定される1つ以上のジョブ構成を出力するように構成される。モデルはさらに、必要に応じて、ワーカーが構成に関係なくジョブを受け入れないと推定されることを示す結果を出力するように構成することができる。   For block 1220, the machine learning model is sufficient (and / or minimal) for each worker, partial worker, or all workers of the worker's subset to cause the worker to accept the (configured) job. Is configured to output one or more job configurations estimated to be The model can be further configured, if desired, to output a result indicating that the worker is assumed not to accept the job regardless of the configuration.

ブロック1225の場合、(同じまたは異なる)機械学習モデルは、ジョブを実行するためのリクエストを送信する1つ以上のワーカーの選択に関連する出力を生成するように構成される。出力は、例えば、1つ以上の出力値として、オファーを受け入れる可能性に関連するランキング、スコアおよび/または推定値、推定されたジョブ能力値、および/または推定された維持確率または期間を含むことができる。ジョブを実行するためのリクエストを送信するワーカーの決定は、リモートシステムおよび/またはユーザによって生成された決定を反映する通信に基づいて、自動的に行われてもよく、および/または行われてもよい。例えば、様々なデータ、例えば、ランキング、スコアまたは最小仕様データは、リクエストを送信するワーカーの部分セットの1つ以上のワーカーの選択を受け付けるインターフェイスに表示されてもよい。各リクエストは、必ずしも必要ではないが、ブロック1220で特定された対応する構成情報を用いて構成されてもよい。場合によって、リクエストは、デフォルト(または矛盾しないように、最小または最大)構成を用いて構成される。   For block 1225, the machine learning model (same or different) is configured to generate output related to a selection of one or more workers to send a request to perform the job. The output may include, for example, as one or more output values, rankings, scores and / or estimates, estimated job capability values, and / or estimated maintenance probabilities or time periods associated with the likelihood of accepting the offer. Can be. The decision of the worker sending the request to perform the job may be made automatically and / or based on communications reflecting the decision made by the remote system and / or the user. Good. For example, various data, such as ranking, score or minimum specification data, may be displayed on an interface that accepts a selection of one or more workers in a subset of the workers sending the request. Each request may, but need not, be configured with the corresponding configuration information identified in block 1220. In some cases, the request is configured with a default (or minimum or maximum, as consistent) configuration.

したがって、決定木1200は、ジョブを割り当てるために、複数の決定ノードを用いて、ワーカープールを反復的に精練する方法を例示する。場合によって、(例えば、上記でジョブクエリプロセスに参加するリクエストに対する応答を追跡するための可能な手法に関して説明したように)ジョブリクエストに対する応答は、追跡される。1つ以上または全てのジョブリクエストが拒否された場合(例えば、および/またはデフォルト期間内に受け入れられない場合)、以前に選択した検討中のワーカーを削除すると共に、ブロック1215、1220および1225に関連する決定の1つまたは2つを繰り返すことができる。   Thus, decision tree 1200 illustrates a method of iteratively refining a worker pool using a plurality of decision nodes to assign jobs. In some cases, responses to job requests are tracked (eg, as described above with respect to possible approaches to tracking responses to requests that participate in a job query process). If one or more or all of the job requests are rejected (eg, and / or not accepted within the default period), delete the previously selected worker under consideration and associate with blocks 1215, 1220 and 1225 One or two of the decisions to be made can be repeated.

図13は、本発明のいくつかの実施形態に従って、累進選別決定木の実装中に発生するデータ処理の例示的な表現を示す図である。   FIG. 13 is a diagram illustrating an exemplary representation of data processing that occurs during the implementation of a progressive screening decision tree, according to some embodiments of the present invention.

図示の例において、第1の決定ノードで、変換要素1305(例えば、1つ以上の入力データオブジェクトを処理済みデータオブジェクトに変換するように構成されたコードブロック)は、複数のワーカーファイル1310および1つ以上のジョブを受け取る。各ワーカーファイル1310は、複数のワーカー仕様を含むワーカー仕様データ構造を含むことができる。各ジョブファイル1315は、複数のジョブ仕様を含むジョブ仕様データ構造を含むことができる。場合によって、変換要素1305は、ワーカーファイラーおよび/またはジョブファイルを受信する必要がなく、その代わりに、変換されるワーカー仕様データおよび/またはジョブ仕様データを特定することができる。例えば、仕様データは、(例えば、オンラインフォームエントリに対応する)入力の検出に応答して、個々のワーカー装置および/または他の装置から生成および送信された1つ以上の通信を介して受信されてもよい。   In the illustrated example, at a first decision node, a transform element 1305 (eg, a code block configured to transform one or more input data objects into processed data objects) includes a plurality of worker files 1310 and 110. Receive one or more jobs. Each worker file 1310 can include a worker specification data structure that includes a plurality of worker specifications. Each job file 1315 can include a job specification data structure that includes a plurality of job specifications. In some cases, conversion element 1305 may not need to receive a worker filer and / or job file, but may instead identify worker specification data and / or job specification data to be converted. For example, specification data is received via one or more communications generated and transmitted from individual worker devices and / or other devices in response to detecting input (eg, corresponding to an online form entry). You may.

変換要素1305は、各ワーカーファイル1310をワーカー特徴データセット1320に変換し、各ジョブファイル1315をジョブ特徴データセット1325に変換するように構成することができる。各ワーカー特徴データセット1320および各ジョブ特徴データセット1325は、特徴セットの各特徴が対応する(ジョブまたはワーカー)ファイルに示される度合いを示す値を含むことができる。各特徴は、セマンティックスペース1330の一部に対応することができる。場合によって、機械学習モデルは、(例えば、非構造化データを含む)訓練データセットを用いて、各特徴を定義することができる。機械学習モデルは、教師なし学習を介して訓練することができ、例えば、doc2vecを含むことができる。特徴は、単語および/またはフレーズの共起に基づいて定義されてもよく、構造分析(例えば、単語のグループ化、文および/または段落の検出)に基づいて定義されてもよい。場合によって、訓練中に(特徴セットを特定するために)使用された最適変数は、特徴間の直交性メトリックを含むことができる。すなわち、特徴セットは、各個々の特徴が他の特徴と直交する度合いおよび/または独立する度合いを最大化するように定義されてもよい。   The conversion element 1305 can be configured to convert each worker file 1310 into a worker feature data set 1320 and each job file 1315 into a job feature data set 1325. Each worker feature data set 1320 and each job feature data set 1325 may include a value indicating the degree to which each feature of the feature set is indicated in a corresponding (job or worker) file. Each feature may correspond to a portion of semantic space 1330. In some cases, the machine learning model may define each feature using a training data set (eg, including unstructured data). Machine learning models can be trained via unsupervised learning and can include, for example, doc2vec. Features may be defined based on co-occurrence of words and / or phrases, and may be defined based on structural analysis (eg, word grouping, sentence and / or paragraph detection). In some cases, the optimal variables used during training (to identify the feature set) may include orthogonality metrics between features. That is, the feature set may be defined to maximize the degree to which each individual feature is orthogonal and / or independent of other features.

比較要素1335は、各ワーカー特徴データセット1320と各ジョブ特徴データセット1325とを比較することによって、各組み合わせペアの比較出力を生成することができる。場合によって、比較出力は、特徴データセット間のコサイン角を含む。場合によって、比較は、特徴データセット間の相関係数を生成すること、特徴データセット間の特徴差異に基づいて差異メトリック(例えば、平均値、中央値、最大値、または最小値)を生成することを含む。   The comparison element 1335 can generate a comparison output of each combination pair by comparing each worker feature data set 1320 and each job feature data set 1325. In some cases, the comparison output includes a cosine angle between the feature data sets. In some cases, the comparison generates a correlation coefficient between the feature data sets, and generates a difference metric (eg, mean, median, maximum, or minimum) based on feature differences between the feature data sets. Including.

第1のフィルタ1335は、比較出力を処理することによって、各ジョブ特徴データセット1325に対して、ワーカー特徴データセット1320の部分セット1340を決定することができる。この処理は、例えば、複数のワーカーに対して生成された比較出力に基づいて、複数のワーカーから所定数のワーカーを決定することを含む。例えば、選別は、100個の最高値を有する比較出力(高い値は、強い類似性を示す。代替的には、低い値が強い類似性を示すように比較出力を設定する場合、100個の最低値を有する比較出力を決定してもよい)に対応する100個のワーカー特徴データセットを選択することを含むことができる。場合によって、選別は、所定の閾値を超える(または代替的な出力構成において、所定の閾値未満の)比較出力に関連する各ワーカー特徴データセットを選択することを含む。   The first filter 1335 can determine a subset 1340 of the worker feature data set 1320 for each job feature data set 1325 by processing the comparison output. This processing includes, for example, determining a predetermined number of workers from the plurality of workers based on the comparison output generated for the plurality of workers. For example, the culling may include a comparison output having the 100 highest values (a higher value indicates strong similarity. Alternatively, if the comparison output is set such that a lower value indicates strong similarity, (A comparison output having the lowest value may be determined). In some cases, filtering includes selecting each worker feature dataset associated with a comparison output that exceeds a predetermined threshold (or, in an alternative output configuration, below a predetermined threshold).

第2の決定ノードにおいて、機械学習モデル1345は、ワーカー特徴データセット1320の部分セット1340および各ジョブ特徴データセット1325をさらに処理することができる。機械学習モデル1345は、教師あり学習を介して訓練することができる。機械学習モデル1345は、(例えば、所定の形式および/またはサイズを有する)構造化データを処理するように構成することができる。機械学習モデル1345は、ワーカー特徴データセットの部分セット1340の各々に対して、ジョブ特徴データセット1325に関連するジョブとの対応度を示す値(例えば、ランキングまたはスコア)を出力するように構成することができる。出力は、部分セット1340の1つ、一部または全てのワーカーの各ワーカーのランキング1350を含むことができる。機械学習モデルは、ランキング学習(learning-to-rank)モデルを含むことができる。場合によって、機械学習モデル1345は、ユーザから受信した入力に対応する最適変数に基づいて訓練される。入力は、過去の決定を特定する(例えば、1人以上の特定のワーカーに面接を提供したか否かおよび/または1人以上の特定のワーカーが面接を受け入れたか否か、1人以上の特定のワーカーにジョブを提供したか否かおよび/または1人以上の特定のワーカーがジョブを受け入れたか否かを特定する、および/または職務業績の評価を特定する)ことができる。   At a second decision node, the machine learning model 1345 may further process the subset 1340 of the worker feature data set 1320 and each job feature data set 1325. The machine learning model 1345 can be trained via supervised learning. Machine learning model 1345 can be configured to process structured data (eg, having a predetermined format and / or size). The machine learning model 1345 is configured to output, for each of the subsets 1340 of the worker feature data set, a value (for example, ranking or score) indicating the degree of correspondence with the job related to the job feature data set 1325. be able to. The output may include a ranking 1350 of each worker of one, some or all of the subsets 1340. The machine learning model may include a learning-to-rank model. In some cases, machine learning model 1345 is trained based on optimal variables corresponding to input received from a user. The input may identify past decisions (eg, whether one or more particular workers have been offered an interview and / or whether one or more particular workers have accepted the interview, To determine whether one or more particular workers have accepted the job, and / or to determine an evaluation of job performance).

特徴データセットに加えて、機械学習モデル1345は、部分セット1340に対応するワーカーファイル1310および/またはジョブ特徴データセット1325に対応するジョブファイル1315からのデータをさらに処理することができる。他のデータは、例えば、キーと値のデータおよび/または個別のフォームエントリを含み、実装された第2のフィルタ1355によって特定することができる。場合によって、特定のワーカー(またはジョブ)の他のデータは、対応するワーカー特徴データセット1340(またはジョブ特徴データセット1325)に集計(例えば、連結)することができ、連結されたデータは、モデルに入力することができる。   In addition to the feature data set, the machine learning model 1345 may further process data from the worker file 1310 corresponding to the subset 1340 and / or the job file 1315 corresponding to the job feature data set 1325. Other data may include, for example, key and value data and / or individual form entries and may be identified by a second filter 1355 implemented. In some cases, other data for a particular worker (or job) can be aggregated (eg, concatenated) into a corresponding worker feature data set 1340 (or job feature dataset 1325), and the concatenated data can be Can be entered.

ランキング1350は、例えば、複数のワーカーの部分セット1340を(例えば、所定のサイズに)さらに選別および縮小することができる第3の決定ノード1355によって処理されてもよい。場合によって、更なる選別は、最低ランキング値を有する所定数のワーカーを特定することを含む。場合によって、他の情報(例えば、特徴データセット、キーと値のペア)をさらに使用してもよい。場合によって、ランキングは、ユーザに提示され、更なる選別は、ユーザ装置からの1つ以上の通信によって示された1つ以上のワーカーの選択に対応する。場合によって、更なる選別は、(例えば、クエリプロセスの参加を要求した過去のワーカー、クエリプロセスへの参加を受け入れた過去のワーカー、職務業績に基づいて選択された過去のワーカー、ジョブを受け入れた過去のワーカーおよび/または過去の職務業績を最適変数として使用する)機械学習モデルによって実行される。さらに選別されたワーカーの部分セットは、例えば、クエリプロセスに参加するためのリクエストを送信するワーカーを含む。リクエストが拒否されたまたは応答されなかった場合、第3の決定ノード1355は、さらに選別された部分セットに含まれる別のワーカーを特定するように構成されてもよい。   Ranking 1350 may be processed, for example, by a third decision node 1355, which may further filter and reduce (e.g., to a predetermined size) a plurality of worker subsets 1340. In some cases, further screening involves identifying a predetermined number of workers with the lowest ranking values. In some cases, other information (eg, feature data sets, key-value pairs) may be further used. In some cases, the ranking is presented to the user and further sorting corresponds to a selection of one or more workers indicated by one or more communications from the user device. In some cases, further screening includes (e.g., past workers who have requested to participate in the query process, past workers who have accepted participation in the query process, past workers selected based on job performance, accepted jobs, etc.). (Using past workers and / or past job performance as optimal variables). Further, the filtered subset of workers includes, for example, workers sending requests to participate in a query process. If the request is rejected or not answered, the third decision node 1355 may be configured to identify another worker in the further filtered subset.

第4の決定ノード1360において、クエリプロセスからの結果を評価することによって、(例えば、ジョブを実行するための所定数のワーカー、例えば、単一のワーカーを特定するように)ワーカー部分セットをさらに選別することもできる。この決定は、(職務業績に基づいて選択された過去のワーカー、ジョブを受け入れた過去のワーカーおよび/または過去の職務業績を最適変数として使用する)機械学習モデルによって行われる。さらに選別されたワーカーの部分セットは、例えば、ジョブを実行するためのリクエストを送信するワーカーを含む。リクエストが拒否されたまたは応答されなかった場合、第4の決定ノード1355は、さらに選別された部分セットに含まれる別のワーカーを特定するように構成されてもよい。   At a fourth decision node 1360, the worker subset is further evaluated by evaluating the results from the query process (e.g., to identify a predetermined number of workers to perform the job, e.g., a single worker). You can also sort out. This determination is made by a machine learning model (using past workers selected based on job performance, past workers who accepted jobs and / or past job performance as optimal variables). Further, the selected subset of workers includes, for example, workers sending requests to execute jobs. If the request is rejected or not answered, fourth decision node 1355 may be configured to identify another worker that is included in the further filtered subset.

第5の決定ノード1365において、各ワーカーのジョブ仕様情報を決定することができる。例えば、1つ以上のワーカーの各々がジョブを受け入れるのに十分であると推定された下限閾値に対応する1つ以上のジョブ仕様を特定することができる。場合によって、決定ノード1360と決定ノード1365を合併してもよい。例えば、各ワーカーの閾値特定データを特定し、ユーザ装置に送信することができ、ユーザ装置は、さらに選別された部分セットに含まれるワーカーの選択に応答することができる。   At a fifth decision node 1365, job specification information for each worker can be decided. For example, one or more job specifications corresponding to a lower threshold that is estimated to be sufficient for each of the one or more workers to accept a job can be identified. In some cases, the decision nodes 1360 and 1365 may be merged. For example, threshold identification data for each worker may be identified and transmitted to a user device, which may further respond to selection of a worker included in the filtered subset.

第3の決定ノード1355、第4の決定ノード1360および第5の決定ノード1365で行われた各決定は、機械学習モデル1345にフィードバックすることができる。追加のフィードバック1370は、例えば、個々のワーカーがクエリプロセスに参加するためのリクエストを受け入れたか否かおよび/またはジョブを実行するためのリクエストを受け入れたか否かおよび/またはワーカーに関連するジョブを実行した質を示すことができる。   Each decision made at the third decision node 1355, the fourth decision node 1360, and the fifth decision node 1365 can be fed back to the machine learning model 1345. Additional feedback 1370 may include, for example, whether an individual worker has accepted a request to participate in a query process and / or has received a request to perform a job and / or execute a job associated with the worker. Quality can be shown.

図14は、本発明のいくつかの実施形態に従って、機械学習モデルを反復的に使用して、決定木を通る経路を前進させるプロセス1400を示すフローチャートである。   FIG. 14 is a flowchart illustrating a process 1400 for advancing a path through a decision tree using a machine learning model iteratively according to some embodiments of the present invention.

プロセス1400は、ブロック1405から始まる。ブロック1405において、ジョブを割り当てるための決定木を表すデータ構造(例えば、データファイルまたはデータセット)を呼び出す。決定木の1つ以上の第1の決定ノードは、ワーカー情報またはジョブ情報の非構造化データを処理して意味のある構造化データに変換する方法に関する決定に対応してもよい。変換は、例えば、単語間の様々な関係および構造を検出し、その後、非構造化データ(例えば、テキストデータ)を特徴付けるために使用される特徴セットを定義するように訓練された教師なし機械学習モデルを用いて実行することができる。   Process 1400 begins at block 1405. At block 1405, a data structure (e.g., a data file or dataset) is invoked that represents a decision tree for assigning jobs. One or more first decision nodes of the decision tree may correspond to a decision on how to process and convert unstructured data of worker information or job information into meaningful structured data. Transformations include, for example, unsupervised machine learning trained to detect various relationships and structures between words, and then define a feature set used to characterize unstructured data (eg, text data) It can be performed using a model.

ブロック1410において、機械学習モデルを用いて、ジョブ特徴データセットを生成する。ジョブ特徴データセットは、(ジョブ情報に表示される様々な特徴を特定する度合いを示す表示を介して)ジョブの特徴を示す一連の数値を含むことができる。ジョブ特徴データセットは、例えば、オンラインポータルを介して受信したジョブ情報(例えば、ジョブオファーデータ)を処理することによって生成することができる。   At block 1410, a job feature data set is generated using a machine learning model. The job feature data set can include a series of numerical values that indicate the characteristics of the job (via a display indicating the degree to which the various characteristics displayed in the job information are specified). The job feature data set can be generated, for example, by processing job information (eg, job offer data) received via an online portal.

ブロック1415において、機械学習モデルを用いて、複数のワーカーの各々のワーカー仕様データセットを生成する。ワーカー特徴データセットは、ワーカーの特徴を示す一連の数値を含むことができる。ワーカー特徴データセットは、例えば、オンラインポータルを介して受信したワーカー情報(例えば、履歴書データ)を処理することによって生成することができる。ジョブ特徴データセットは、ワーカー情報のセマンティック分析を実行することによって生成することができる。   At block 1415, a set of worker specification data for each of the plurality of workers is generated using the machine learning model. The worker feature data set can include a series of numerical values that indicate the characteristics of the worker. The worker feature data set can be generated, for example, by processing worker information (eg, resume data) received via an online portal. The job feature data set can be generated by performing a semantic analysis of the worker information.

(個々のワーカーおよび/またはジョブの)仕様データセットは、単一の決定ノードによって生成されてもよく、またはワーカー仕様データセットおよびジョブ仕様データセットは、(例えば、異なる学習パラメータに基づいて)別々の決定ノードによって生成されてもよい。   The specification data set (for individual workers and / or jobs) may be generated by a single decision node, or the worker specification data set and the job specification data set may be separated (eg, based on different learning parameters). May be generated by the decision node.

ブロック1420において、決定木の反復に対応する経路が別の決定ノードに到達したことを検出する。他の決定ノードは、例えば、複数のワーカーを選別する(またはさらに選別する)方法および/またはワーカーに送信されるリクエストを構成する方法に関連する決定に対応してもよい。他の決定ノードは、機械学習モデル(例えば、特徴データセットの特徴を特定するために使用されるモデルとは異なる種類のモデル)を用いて入力データを処理することに基づいて決定を行うように、構成されてもよい。機械学習モデルは、例えば、ニューラルネットワークモデルを含むことができる。   At block 1420, it is detected that the path corresponding to the iteration of the decision tree has reached another decision node. Other decision nodes may, for example, correspond to decisions related to how to screen (or screen) a plurality of workers and / or how to compose a request sent to the workers. Other decision nodes may make decisions based on processing the input data using a machine learning model (e.g., a different type of model than the model used to identify features of the feature dataset). , May be configured. The machine learning model can include, for example, a neural network model.

ブロック1425において、ノードに対応する学習パラメータを取得する。学習パラメータは、ニューラルネットワークの1つ以上の重みを含むことができる。学習パラメータは、訓練プロセス中に生成されてもよい。   At block 1425, a learning parameter corresponding to the node is obtained. The learning parameters can include one or more weights of the neural network. The learning parameters may be generated during the training process.

ブロック1430において、機械学習モデルを反復的に実行する。ノード固有学習パラメータを用いて、機械学習モデルを構成することができる。実行は、ジョブ関連特徴データセットと、1つ以上または全てのワーカー関連特徴データセットとを機械学習モデルに入力することを含む。場合によって、各ワーカー関連特徴データセットは、ジョブ関連特徴データセットと共に処理されるが、他のワーカー関連特徴データセットと共に処理されない(他のワーカー関連特徴データセットは、ジョブ関連特徴データセットと共に個別に処理される)。場合によって、全てのワーカー関連特徴データセットとジョブ関連特徴データセットは、モデルの特定の実行によって処理される。モデルの結果は、例えば、複数のワーカーを選別すること、複数のワーカーをランキングすること、および複数のワーカーの各々にスコアを割り当てることを含む。   At block 1430, the machine learning model is iteratively executed. A machine learning model can be configured using the node-specific learning parameters. Execution includes inputting the job-related feature dataset and one or more or all worker-related feature datasets into a machine learning model. In some cases, each worker-related feature dataset is processed with the job-related feature dataset, but not with other worker-related feature datasets (the other worker-related feature datasets are individually processed with the job-related feature dataset). It is processed). In some cases, all worker-related feature data sets and job-related feature data sets are processed by a particular execution of the model. The results of the model include, for example, selecting a plurality of workers, ranking a plurality of workers, and assigning a score to each of the plurality of workers.

決定木が追加の決定ノードを含む場合、プロセス1400は、ブロック1420に戻り、機械学習モデルを用いて、決定を行うまたは促進することができる。この機械学習モデルは、決定ノードに使用されたモデルと同じ種類であってもよく、異なる種類であってもよい。   If the decision tree includes additional decision nodes, the process 1400 may return to block 1420 and use the machine learning model to make or facilitate the decision. This machine learning model may be the same type as the model used for the decision node, or may be a different type.

ブロック1435において、1つ以上の決定ノードで生成された機械学習結果を用いて生成された1つ以上の結果を表す1つ以上の通信動作をトリガする。例えば、通信は、クエリプロセスに参加するまたはジョブを受け入れるワーカーに送信されるリクエストを含んでもよい。別の例として、通信は、決定ノードで生成されたワーカーの部分セットに含まれる1つ以上のワーカーの特定を含んでもよい。さらに別の例として、通信は、1つ以上のワーカーの各々に対して、例えば、ワーカー仕様がジョブ仕様に対応する推定度合い、ワーカーがクエリプロセスに参加するためのリクエストを受け入れる推定度合い、ワーカーがジョブを実行するためのリクエストを受け入れる推定度合い、またはワーカーがジョブを正常に実行する推定度合いを表す機械学習モデルを用いて生成されたランキングまたはスコアを含んでもよい。   At a block 1435, one or more communication operations are performed that represent one or more results generated using the machine learning results generated at the one or more decision nodes. For example, the communication may include a request sent to a worker participating in a query process or accepting a job. As another example, the communication may include identifying one or more workers to be included in the subset of workers generated at the decision node. As yet another example, the communication may include, for each of the one or more workers, e.g., the degree to which the worker specification corresponds to the job specification, the degree to which the worker will accept requests to participate in the query process, It may include a ranking or score generated using a machine learning model that represents the estimated degree of accepting a request to perform a job, or the estimated degree of a worker successfully executing a job.

上記に説明された特定の詳細は、実施形態の完全な理解を提供するために与えられる。理解すべきことは、これらの特定の詳細がなくても、実施形態を実施することができることである。例えば、不必要な詳細で実施形態を不明瞭にしないために、回路をブロック図で開示することができる。別の例として、実施形態を不明瞭にすることを避けるために、周知の回路、プロセス、アルゴリズム、構造、および技術を詳細に開示しない。   The specific details described above are provided to provide a thorough understanding of the embodiments. It is to be understood that embodiments may be practiced without these specific details. For example, circuits may be disclosed in block diagrams in order not to obscure the embodiments in unnecessary detail. As another example, well-known circuits, processes, algorithms, structures, and techniques have not been disclosed in detail to avoid obscuring the embodiments.

上述した技術、ブロック、ステップおよび手段は、様々な方法で実装することができる。例えば、これらの技術、ブロック、ステップおよび手段は、ハードウェア、ソフトウェア、またはそれらの組み合わせに実装することができる。ハードウェア実装の場合、処理ユニットは、1つ以上の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理装置(DSPD)、プログラマブルロジック装置(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、上述した機能を実行するように設計された他の電子ユニット、および/またはそれらの組み合わせに実装されてもよい。   The techniques, blocks, steps, and means described above can be implemented in various ways. For example, these techniques, blocks, steps, and means may be implemented in hardware, software, or a combination thereof. For a hardware implementation, the processing units may include one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processors (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (PLDs). (FPGA), a processor, a controller, a microcontroller, a microprocessor, other electronic units designed to perform the functions described above, and / or combinations thereof.

また、留意すべきことは、各々の実施形態は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として示された処理として説明されていることである。フローチャートは、操作を順次処理として説明しているが、多くの操作は、並行でまたは同時に実行することができる。さらに、操作の順序を再配置してもよい。処理は、その操作が完了した時点で終了するが、図に示されていない追加のステップを含んでもよい。処理は、メソッド、関数、プロシージャ、サブルーチン、サブプログラムなどに対応することができる。処理が関数に対応する場合、その終了は、呼び出し関数またはメイン関数の戻りに対応することができる。   Also, it should be noted that each embodiment has been described as a process shown as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although the flowchart describes the operations as a sequential process, many operations can be performed in parallel or concurrently. Further, the order of the operations may be rearranged. The process ends when the operation is completed, but may include additional steps not shown in the figure. Processing can correspond to methods, functions, procedures, subroutines, subprograms, and the like. If the operation corresponds to a function, its termination may correspond to a return of the calling function or the main function.

さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組み合わせによって実施されてもよい。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードに実施される場合、必要な作業を実行するためのプログラムコードまたはコードセグメントは、機械可読媒体、例えば、記憶媒体に格納されてもよい。コードセグメントまたは機械実行可能な命令は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、もしくは命令、データ構造またはプログラム文の任意の組合せを表すことができる。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容を転送および/または受信することによって、別のコードセグメントまたはハードウェア回路に結合されてもよい。情報、引数、パラメータおよびデータなどは、メモリ共有、メッセージ転送、トークン転送、ネットワーク送信などの任意の適切な手段を介して、伝達され、転送され、または送信されてもよい。   Further, embodiments may be implemented by hardware, software, firmware, middleware, microcode, a hardware description language, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine-readable medium, such as a storage medium. A code segment or machine-executable instruction can represent a procedure, function, subprogram, program, routine, subroutine, module, software package, class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by transferring and / or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be communicated, transferred, or transmitted via any suitable means, such as memory sharing, message transfer, token transfer, network transmission, and the like.

ファームウェアおよび/またはソフトウェア実装の場合、方法は、本明細書に説明された機能を実行するためのモジュール(例えば、プロシージャ、関数など)を用いて実装されてもよい。命令を有形に具体化する任意の機械可読媒体を用いて、本明細書に説明された方法を実装することができる。例えば、ソフトウェアコードをメモリに保存することができる。メモリは、プロセッサの内部またはプロセッサの外部に実装されてもよい。「メモリ」という用語は、本明細書に使用される場合、任意種類の長期記憶媒体、短期記憶媒体、揮発性記憶媒体、不揮発性記憶媒体、または他の記憶媒体を指し、特定の種類のメモリまたは特定の数のメモリまたはメモリを格納する媒体の種類に限定されない。   For a firmware and / or software implementation, the methods may be implemented with modules (eg, procedures, functions, and so on) for performing the functions described herein. Any of the machine-readable media tangibly embodied in the instructions may be used to implement the methods described herein. For example, software code can be stored in memory. The memory may be implemented inside the processor or external to the processor. The term “memory,” as used herein, refers to any type of long-term, short-term, volatile, non-volatile, or other storage media, and refers to a particular type of memory. The invention is not limited to a specific number of memories or types of media storing the memories.

さらに、本明細書に開示されたように、「記憶媒体」という用語は、読取専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気RAM、コアメモリ、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリ装置、および/または情報を格納するための他の機械可読媒体を含み、データを記憶するための1つ以上のメモリを表すことができる。「機械可読媒体」という用語は、移動可能および固定された記憶装置、光学記憶装置、ワイヤレスチャネル、および/または命令および/またはデータを含むまたは運ぶことができる他の様々な記憶媒体を含むが、これらに限定されない。   Further, as disclosed herein, the term “storage media” refers to read only memory (ROM), random access memory (RAM), magnetic RAM, core memory, magnetic disk storage media, optical storage media, flash It may include one or more memories for storing data, including memory devices and / or other machine-readable media for storing information. The term “machine-readable medium” includes removable and fixed storage, optical storage, wireless channels, and / or various other storage media that can contain or carry instructions and / or data, It is not limited to these.

特定の装置および方法に関連して上記で本開示の原理を説明したが、理解すべきことは、この説明は、例示のみであって、本開示の範囲を限定するものではないことである。   While the principles of the present disclosure have been described above with reference to particular apparatus and methods, it should be understood that this description is illustrative only and is not limiting upon the scope of the present disclosure.

Claims (20)

コンピュータで実行される方法であって、
ジョブを割り当てるための決定木を表すデータ構造を呼び出すことを含み、前記決定木は、複数の連続決定ノードを含み、ワーカーの累進選別に対応する反復決定を実行するように構成され、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の結果を表す通信動作をトリガすることを含む、方法。
A computer implemented method,
Invoking a data structure representing a decision tree for assigning a job, wherein the decision tree includes a plurality of consecutive decision nodes and is configured to perform iterative decisions corresponding to progressive selection of workers. Extending each of the paths to each of the plurality of consecutive decision nodes triggers an intermediate or final decision on the configuration of a worker request to execute the job,
Initiating a path of the decision tree, wherein the path is associated with a plurality of workers that may be assigned to the job;
Detecting that the path has reached a first decision node of the plurality of consecutive decision nodes of the decision tree;
Obtaining a first set of node-specific learning parameters generated by training a first machine learning model using the first set of training data, wherein the first set of node-specific learning parameters comprises: Define how to convert unstructured data into structured feature data,
Invoking a plurality of sets of worker-related unstructured data, wherein each of the plurality of sets of worker-related unstructured data corresponds to each worker of the plurality of workers and includes unstructured data;
Performing one or more first iterations of the first machine learning model configured using the first set of node-specific learning parameters using the plurality of sets of worker-related unstructured data. Performing the one or more first iterations of the first machine learning model generates a first result including a plurality of sets of worker feature data, wherein the first result corresponds to each worker of the plurality of workers. And each of the plurality of sets of worker feature data, in which the worker-related unstructured data set indicates a degree of correspondence corresponding to the worker, represents each of a set of features, and each of the plurality of sets of worker feature data is: Structured data, wherein the plurality of features are defined based on the first set of node-specific learning parameters;
Identifying a subset of the plurality of workers for continuous evaluation for the job based on the plurality of sets of worker feature data;
Detecting that the path has reached a second decision node of the plurality of consecutive decision nodes of the decision tree;
Obtaining a second set of node-specific learning parameters generated by training a second machine learning model using the second set of training data, wherein the second set of node-specific learning parameters comprises: Define how to convert structured data,
Performing one or more second iterations of a second machine learning model configured using the second set of node-specific learning parameters using the subset of the plurality of sets of worker feature data. Executing each of the one or more second iterations of the second machine learning model, wherein each of the subsets of the plurality of sets of worker feature data corresponds to each worker of the subset of the plurality of workers. Generating a second result indicative of an estimated absolute or relative correspondence between the job and each worker of the at least one subset of the plurality of workers;
Triggering a communication operation representative of said second result.
複数のキーと値のペアを特定することをさらに含み、
前記複数のキーと値のペアの各々は、前記複数のワーカーの前記部分セットの各ワーカーに対応し、
前記第2の機械学習モデルの前記1回以上の第2の反復の実行は、前記複数のキーと値のペアをさらに使用し、
前記第1の機械学習モデルの1回以上の第1の反復の実行は、前記複数キーと値のペアを使用しない、請求項1に記載の方法。
Further comprising identifying a plurality of key-value pairs,
Each of the plurality of key-value pairs corresponds to a respective worker of the subset of the plurality of workers;
Performing the one or more second iterations of the second machine learning model further uses the plurality of key-value pairs;
The method of claim 1, wherein performing one or more first iterations of the first machine learning model does not use the multiple key-value pairs.
教師なし学習プロセスを用いて、前記第1セットのノード固有学習パラメータを学習することと、
教師あり学習プロセスを用いて、前記第2セットのノード固有学習パラメータを学習することとをさらに含む、請求項1に記載の方法。
Learning the first set of node-specific learning parameters using an unsupervised learning process;
2. The method of claim 1, further comprising learning the second set of node-specific learning parameters using a supervised learning process.
前記複数セットのワーカー特徴データの各ワーカー特徴データセットは、ベクトル、マトリックスまたはアレイを含み、
前記ベクトル、マトリックスまたはアレイは、所定の次元数を有する、請求項1に記載の方法。
Each worker feature data set of the plurality of sets of worker feature data includes a vector, a matrix, or an array;
The method of claim 1, wherein the vector, matrix or array has a predetermined number of dimensions.
前記ジョブに対応する非構造化ジョブデータセットを呼び出すことと、
前記非構造化ジョブデータセットを用いて、前記第1セットのノード固有学習パラメータを用いて構成された前記第1の機械学習モデルの別の反復を実行することとをさらに含み、前記第1の機械学習モデルの前記別の反復の実行は、前記非構造化ジョブデータセットが前記一組の特徴の各々を表す程度を示すジョブ特徴データセットを生成し、
前記ワーカーに対応する前記ワーカー特徴データセットおよび前記ジョブ特徴データセットに基づいて、前記複数のワーカーのうち各ワーカーのジョブ比較メトリックを生成することをさらに含み、前記複数のワーカーの前記部分セットは、前記複数のワーカーのために生成された前記ジョブ比較メトリックに基づいて特定される、請求項1に記載の方法。
Calling an unstructured job dataset corresponding to the job;
Performing another iteration of the first machine learning model configured with the first set of node-specific learning parameters using the unstructured job data set. Performing the further iteration of the machine learning model generates a job feature data set indicating a degree to which the unstructured job data set represents each of the set of features;
Generating a job comparison metric for each worker of the plurality of workers based on the worker feature data set and the job feature data set corresponding to the worker, wherein the subset of the plurality of workers includes: The method of claim 1, wherein the method is identified based on the job comparison metric generated for the plurality of workers.
前記第1セットの訓練データを用いて、前記第1セットのノード固有学習パラメータを学習するように前記第1の機械学習モデルを訓練することをさらに含み、
前記第1セットの訓練データは、他の非構造化データを含み、
前記第1セットのノード固有学習パラメータは、特定のセマンティック特性を経験レベル、スキル、またはジョブ特性に関連付ける、請求項1に記載の方法。
Further comprising: training the first machine learning model to learn the first set of node-specific learning parameters using the first set of training data;
The first set of training data includes other unstructured data;
The method of claim 1, wherein the first set of node-specific learning parameters associates certain semantic characteristics with experience levels, skills, or job characteristics.
前記経路が前記決定木の前記複数の連続決定ノードのうち第3の決定ノードに到達したことを検出することと、
前記複数セットのワーカー特徴データの少なくとも1つを用いて、第3セットのノード固有学習パラメータを用いて構成された第3の機械学習モデルの第3の反復を実行することとをさらに含み、前記第3の機械学習モデルの前記第3の反復の実行の第3の結果は、前記部分セットの特定のワーカーがジョブを実行するリクエストの受け入れをもたらすように推定された1つ以上のリクエスト構成を表し、前記リクエストは、前記1つ以上のリクエスト構成を用いて構成される、請求項1に記載の方法。
Detecting that the path has reached a third decision node of the plurality of consecutive decision nodes of the decision tree;
Using at least one of the plurality of sets of worker feature data to perform a third iteration of a third machine learning model configured using a third set of node-specific learning parameters; A third result of the execution of the third iteration of the third machine learning model is that one or more request configurations estimated to result in acceptance of a request by a particular worker of the subset to execute a job. The method of claim 1, wherein the request is represented and configured using the one or more request configurations.
前記通信動作をトリガすることは、前記第2の結果を含む通信をユーザ装置に送信することを含む、請求項1に記載の方法。   The method of claim 1, wherein triggering the communication operation comprises transmitting a communication including the second result to a user equipment. クエリプロセスに参加することをリクエストした1つ以上のワーカーは、前記第2の結果に基づいて前記複数のワーカーから特定され、
前記方法は、前記クエリプロセスに参加するリクエストを前記1つ以上のワーカーの各ワーカーに関連付けられた装置に送信することをさらに含む、請求項1に記載の方法。
One or more workers requesting to participate in a query process are identified from the plurality of workers based on the second result,
The method of claim 1, wherein the method further comprises sending a request to participate in the query process to a device associated with each of the one or more workers.
前記第2の結果は、前記複数のワーカーの前記部分セットの各ワーカーのランキングまたはスコアを含む、請求項1に記載の方法。   The method of claim 1, wherein the second result comprises a ranking or score of each worker of the subset of the plurality of workers. 前記経路が前記決定木の前記複数の連続決定ノードのうち第2の決定ノードに到達したことを検出することと、
前記ジョブを実行するためのリクエストを与える特定のワーカーを特定することと、
前記特定のワーカーを特定するまたは前記特定のワーカーに送信される別の通信をトリガすることとをさらに含む、請求項1に記載の方法。
Detecting that the path has reached a second decision node of the plurality of consecutive decision nodes of the decision tree;
Identifying a particular worker giving the request to perform the job;
2. The method of claim 1, further comprising: identifying the particular worker or triggering another communication sent to the particular worker.
非一時的な機械可読記憶媒体に有形に具体化されたコンピュータプログラム製品であって、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の結果を表す通信動作をトリガすることを含む、コンピュータプログラム製品。
A computer program product tangibly embodied on a non-transitory machine-readable storage medium, comprising instructions configured to cause one or more data processors to perform the following operations, said operations comprising:
Invoking a data structure representing a decision tree for assigning a job, the decision tree including a plurality of consecutive decision nodes, and configured to execute an iterative decision corresponding to a progressive selection of workers. Extending each of the paths to each of the plurality of consecutive decision nodes triggers an intermediate or final decision on the configuration of a worker request to execute the job,
Initiating a path of the decision tree, wherein the path is associated with a plurality of workers that may be assigned to the job;
Detecting that the path has reached a first decision node of the plurality of consecutive decision nodes of the decision tree;
Obtaining a first set of node-specific learning parameters generated by training a first machine learning model using the first set of training data, wherein the first set of node-specific learning parameters comprises: Define how to convert unstructured data into structured feature data,
Invoking a plurality of sets of worker-related unstructured data, wherein each of the plurality of sets of worker-related unstructured data corresponds to each worker of the plurality of workers and includes unstructured data;
Performing one or more first iterations of the first machine learning model configured using the first set of node-specific learning parameters using the plurality of sets of worker-related unstructured data. Performing the one or more first iterations of the first machine learning model generates a first result including a plurality of sets of worker feature data, wherein the first result corresponds to each worker of the plurality of workers. And each of the plurality of sets of worker feature data, in which the worker-related unstructured data set indicates a degree of correspondence corresponding to the worker, represents each of a set of features, and each of the plurality of sets of worker feature data is: Structured data, wherein the plurality of features are defined based on the first set of node-specific learning parameters;
Identifying a subset of the plurality of workers for continuous evaluation for the job based on the plurality of sets of worker feature data;
Detecting that the path has reached a second decision node of the plurality of consecutive decision nodes of the decision tree;
Obtaining a second set of node-specific learning parameters generated by training a second machine learning model using the second set of training data, wherein the second set of node-specific learning parameters comprises: Define how to convert structured data,
Performing one or more second iterations of a second machine learning model configured using the second set of node-specific learning parameters using the subset of the plurality of sets of worker feature data. Executing each of the one or more second iterations of the second machine learning model, wherein each of the subsets of the plurality of sets of worker feature data corresponds to each worker of the subset of the plurality of workers. Generating a second result indicative of an estimated absolute or relative correspondence between the job and each worker of the at least one subset of the plurality of workers;
A computer program product, comprising triggering a communication operation representative of the second result.
前記動作は、複数のキーと値のペアを特定することをさらに含み、
前記複数のキーと値のペアの各々は、前記複数のワーカーの前記部分セットの各ワーカーに対応し、
前記第2の機械学習モデルの前記1回以上の第2の反復の実行は、前記複数のキーと値のペアをさらに使用し、
前記第1の機械学習モデルの1回以上の第1の反復の実行は、前記複数キーと値のペアを使用しない、請求項12に記載のコンピュータプログラム製品。
The operation further includes identifying a plurality of key-value pairs,
Each of the plurality of key-value pairs corresponds to a respective worker of the subset of the plurality of workers;
Performing the one or more second iterations of the second machine learning model further uses the plurality of key-value pairs;
13. The computer program product of claim 12, wherein performing one or more first iterations of the first machine learning model does not use the multiple key-value pairs.
前記動作は、
教師なし学習プロセスを用いて、前記第1セットのノード固有学習パラメータを学習することと、
教師あり学習プロセスを用いて、前記第2セットのノード固有学習パラメータを学習することとをさらに含む、請求項12に記載のコンピュータプログラム製品。
The operation is
Learning the first set of node-specific learning parameters using an unsupervised learning process;
13. The computer program product of claim 12, further comprising: learning the second set of node-specific learning parameters using a supervised learning process.
前記複数セットのワーカー特徴データの各ワーカー特徴データセットは、ベクトル、マトリックスまたはアレイを含み、
前記ベクトル、マトリックスまたはアレイは、所定の次元数を有する、請求項12に記載のコンピュータプログラム製品。
Each worker feature data set of the plurality of sets of worker feature data includes a vector, a matrix, or an array;
13. The computer program product according to claim 12, wherein the vector, matrix or array has a predetermined number of dimensions.
前記動作は、
前記ジョブに対応する非構造化ジョブデータセットを呼び出すことと、
前記非構造化ジョブデータセットを用いて、前記第1セットのノード固有学習パラメータを用いて構成された前記第1の機械学習モデルの別の反復を実行することとをさらに含み、前記第1の機械学習モデルの前記別の反復の実行は、前記非構造化ジョブデータセットが前記一組の特徴の各々を表す程度を示すジョブ特徴データセットを生成し、
前記ワーカーに対応する前記ワーカー特徴データセットおよび前記ジョブ特徴データセットに基づいて、前記複数のワーカーの各ワーカーのジョブ比較メトリックを生成することをさらに含み、前記複数のワーカーの前記部分セットは、生成された前記複数のワーカーの前記ジョブ比較メトリックに基づいて特定される、請求項12に記載のコンピュータプログラム製品。
The operation is
Calling an unstructured job dataset corresponding to the job;
Performing another iteration of the first machine learning model configured with the first set of node-specific learning parameters using the unstructured job data set. Performing the further iteration of the machine learning model generates a job feature data set indicating a degree to which the unstructured job data set represents each of the set of features;
Generating a job comparison metric for each worker of the plurality of workers based on the worker feature data set and the job feature data set corresponding to the worker, wherein the subset of the plurality of workers includes generating The computer program product of claim 12, wherein the computer program product is identified based on the job comparison metrics of the plurality of workers.
前記動作は、前記第1セットの訓練データを用いて、前記第1セットのノード固有学習パラメータを学習するように前記第1の機械学習モデルを訓練することをさらに含み、
前記第1セットの訓練データは、他の非構造化データを含み、
前記第1セットのノード固有学習パラメータは、特定のセマンティック特性を経験レベル、スキル、またはジョブ特性に関連付ける、請求項12に記載のコンピュータプログラム製品。
The operation further comprises training the first machine learning model to learn the first set of node-specific learning parameters using the first set of training data;
The first set of training data includes other unstructured data;
13. The computer program product of claim 12, wherein the first set of node-specific learning parameters associates particular semantic characteristics with experience levels, skills, or job characteristics.
前記動作は、
前記経路が前記決定木の前記複数の連続決定ノードのうち第3の決定ノードに到達したことを検出することと、
前記複数セットのワーカー特徴データの少なくとも1つを用いて、第3セットのノード固有学習パラメータを用いて構成された第3の機械学習モデルの第3の反復を実行することとをさらに含み、前記第3の機械学習モデルの前記第3の反復の実行の第3の結果は、前記部分セットの特定のワーカーがジョブを実行するリクエストの受け入れをもたらすように推定された1つ以上のリクエスト構成を表し、前記リクエストは、前記1つ以上のリクエスト構成を用いて構成される、請求項12に記載のコンピュータプログラム製品。
The operation is
Detecting that the path has reached a third decision node of the plurality of consecutive decision nodes of the decision tree;
Using at least one of the plurality of sets of worker feature data to perform a third iteration of a third machine learning model configured using a third set of node-specific learning parameters; A third result of the execution of the third iteration of the third machine learning model is that one or more request configurations estimated to result in acceptance of a request by a particular worker of the subset to execute a job. 13. The computer program product of claim 12, wherein the request is represented and configured using the one or more request configurations.
前記通信動作をトリガすることは、前記第2の結果を含む通信をユーザ装置に送信することを含む、請求項12に記載のコンピュータプログラム製品。   13. The computer program product of claim 12, wherein triggering the communication operation comprises sending a communication including the second result to a user device. システムであって、
1つ以上のデータプロセッサと、
命令を含む非一時的なコンピュータ可読記憶媒体とを備え、前記命令は、前記1つ以上のデータプロセッサ上で実行されると、前記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の結果を表す通信動作をトリガすることを含む、システム。
The system
One or more data processors;
A non-transitory computer readable storage medium containing instructions, wherein the instructions, when executed on the one or more data processors, cause the one or more data processors to perform the following operations: Is
Invoking a data structure representing a decision tree for assigning a job, the decision tree including a plurality of consecutive decision nodes, and configured to execute an iterative decision corresponding to a progressive selection of workers. Extending each of the paths to each of the plurality of consecutive decision nodes triggers an intermediate or final decision on the configuration of a worker request to execute the job,
Initiating a path of the decision tree, wherein the path is associated with a plurality of workers that may be assigned to the job;
Detecting that the path has reached a first decision node of the plurality of consecutive decision nodes of the decision tree;
Obtaining a first set of node-specific learning parameters generated by training a first machine learning model using the first set of training data, wherein the first set of node-specific learning parameters comprises: Define how to convert unstructured data into structured feature data,
Invoking a plurality of sets of worker-related unstructured data, wherein each of the plurality of sets of worker-related unstructured data corresponds to each worker of the plurality of workers and includes unstructured data;
Performing one or more first iterations of the first machine learning model configured using the first set of node-specific learning parameters using the plurality of sets of worker-related unstructured data. Performing the one or more first iterations of the first machine learning model generates a first result including a plurality of sets of worker feature data, wherein the first result corresponds to each worker of the plurality of workers. And each of the plurality of sets of worker feature data, in which the worker-related unstructured data set indicates a degree of correspondence corresponding to the worker, represents each of a set of features, and each of the plurality of sets of worker feature data is: Structured data, wherein the plurality of features are defined based on the first set of node-specific learning parameters;
Identifying a subset of the plurality of workers for continuous evaluation for the job based on the plurality of sets of worker feature data;
Detecting that the path has reached a second decision node of the plurality of consecutive decision nodes of the decision tree;
Obtaining a second set of node-specific learning parameters generated by training a second machine learning model using the second set of training data, wherein the second set of node-specific learning parameters comprises: Define how to convert structured data,
Performing one or more second iterations of a second machine learning model configured using the second set of node-specific learning parameters using the subset of the plurality of sets of worker feature data. Executing each of the one or more second iterations of the second machine learning model, wherein each of the subsets of the plurality of sets of worker feature data corresponds to each worker of the subset of the plurality of workers. Generating a second result indicative of an estimated absolute or relative correspondence between the job and each worker of the at least one subset of the plurality of workers;
Triggering a communication operation representative of said second result.
JP2019177419A 2018-09-28 2019-09-27 Using iterative artificial intelligence to specify the direction of a path through a communication decision tree Active JP7350590B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023148284A JP2023168364A (en) 2018-09-28 2023-09-13 Directing trajectories through communication decision tree using iterative artificial intelligence

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 (en) 2018-09-28 2023-09-13 Directing trajectories through communication decision tree using iterative artificial intelligence

Publications (3)

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

Family

ID=70029617

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019177419A Active JP7350590B2 (en) 2018-09-28 2019-09-27 Using iterative artificial intelligence to specify the direction of a path through a communication decision tree
JP2023148284A Pending JP2023168364A (en) 2018-09-28 2023-09-13 Directing trajectories through communication decision tree using iterative artificial intelligence

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023148284A Pending JP2023168364A (en) 2018-09-28 2023-09-13 Directing trajectories through communication decision tree using iterative artificial intelligence

Country Status (2)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6945909B1 (en) * 2021-06-04 2021-10-06 株式会社アクリート Message transmission scenario generator, message transmission scenario generation method, and message transmission scenario generation program

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112861005A (en) * 2021-02-22 2021-05-28 上海风秩科技有限公司 Method, device and equipment for information push
CN113641433A (en) * 2021-08-10 2021-11-12 广州鲁邦通智能科技有限公司 Multi-language page conversion method and unit of front-end internationalized multi-language file based on i18n technology
CN115858111B (en) * 2022-11-16 2023-11-28 上海自然而然信息科技有限公司 Intelligent scheduling method based on dynamic scene

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010001792A1 (en) 2008-07-01 2010-01-07 コニカミノルタエムジー株式会社 Database system
JP5394959B2 (en) 2010-03-23 2014-01-22 富士フイルム株式会社 Discriminator generating apparatus and method, and program
US9626654B2 (en) 2015-06-30 2017-04-18 Linkedin Corporation Learning a ranking model using interactions of a user with a jobs list
WO2017112914A2 (en) 2015-12-23 2017-06-29 Pymetrics, Inc. Systems and methods for data-driven identification of talent
CN105787639A (en) 2016-02-03 2016-07-20 北京云太科技有限公司 Artificial-intelligence-based talent big data quantization precise matching method and apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6945909B1 (en) * 2021-06-04 2021-10-06 株式会社アクリート Message transmission scenario generator, message transmission scenario generation method, and message transmission scenario generation program
WO2022255490A1 (en) * 2021-06-04 2022-12-08 株式会社アクリート Message transmission scenario generation device, message transmission scenario generation method, and message transmission scenario generation program
JP2022186308A (en) * 2021-06-04 2022-12-15 株式会社アクリート Message transmission scenario generation device, message transmission scenario generation method and message transmission scenario generation program

Also Published As

Publication number Publication date
CN110969184A (en) 2020-04-07
JP2023168364A (en) 2023-11-24
JP7350590B2 (en) 2023-09-26

Similar Documents

Publication Publication Date Title
US11775843B2 (en) Directed trajectories through communication decision tree using iterative artificial intelligence
JP7465802B2 (en) Directed trajectories through communication decision trees using iterative artificial intelligence.
US20230351265A1 (en) Customized predictive analytical model training
US10922657B2 (en) Using an employee database with social media connections to calculate job candidate reputation scores
JP7350590B2 (en) Using iterative artificial intelligence to specify the direction of a path through a communication decision tree
US20160191450A1 (en) Recommendations Engine in a Layered Social Media Webpage
US11580112B2 (en) Systems and methods for automatically determining utterances, entities, and intents based on natural language inputs
US20180219817A1 (en) Personalized message priority classification
US20170374001A1 (en) Providing communication ranking scheme based on relationship graph
US20210383289A1 (en) Dynamic workflow selection using structure and context for scalable optimization
US11551281B2 (en) Recommendation engine based on optimized combination of recommendation algorithms
US9367624B2 (en) Identity workflow that utilizes multiple storage engines to support various lifecycles
EP3113042A1 (en) A method for providing contextual information, an information processing system and a computer program product
US20230004943A1 (en) Intelligent processing and presentation of user-connection data on a computing device
WO2021139513A1 (en) Method and apparatus for processing interaction sequence data
US11853537B2 (en) Providing a sequence-builder-user interface for generating a digital action sequence
WO2022072908A1 (en) Systems and methods for data objects for asynchronou workflows
WO2017165148A1 (en) Computerized content recommendation based on container interactions
US10795896B2 (en) Systems and methods for automatically identifying specific teams of users to solve specific and real-time problems
US20200210499A1 (en) Automatically linking pages in a website
US8321458B2 (en) Related contact and record recommendation for product design
US20220391928A1 (en) System and method for analysing customer experience from unstructured social media data
WO2021202280A1 (en) Systems and methods for automatically determining utterances, entities, and intents based on natural language inputs
CN116324842A (en) System and method for estimating workload of each email

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