US12197929B2 - Systems and methods for sequential model framework for next-best user state - Google Patents
Systems and methods for sequential model framework for next-best user state Download PDFInfo
- Publication number
- US12197929B2 US12197929B2 US18/148,254 US202218148254A US12197929B2 US 12197929 B2 US12197929 B2 US 12197929B2 US 202218148254 A US202218148254 A US 202218148254A US 12197929 B2 US12197929 B2 US 12197929B2
- Authority
- US
- United States
- Prior art keywords
- sequence unit
- state
- interface
- next state
- prediction model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Definitions
- This application relates generally to interface generation, and more particularly, to next-best state prediction for network interfaces.
- a state can include a current interaction with a network interface, such as an interaction with a website interface, an underlying asset that is part of an interaction, such as items identified for inclusion in a grouping, timing-based states, etc.
- a system in various embodiments, includes a non-transitory memory and a transceiver configured to receive a request for an interface including a user identifier.
- the user identifier is stored in the non-transitory memory.
- a next state prediction engine is configured to receive a sequence unit set including at least one sequence unit associated with the user identifier, wherein the sequence unit is stored in the non-transitory memory, receive a set of features associated with the at least one sequence unit in the sequence unit set, and generate at least one next state prediction using a trained sequential prediction model, wherein the trained sequential prediction model is configured to receive the sequence unit set and the set of features for the at least one sequence unit and output at least one predicted next state for the sequence unit set.
- An interface generation engine is configured to generate an interface including at least one element related to the at least one predicted next state and transmit the interface to a user device associated with the user identifier.
- a computer-implemented method includes steps of receiving, via a transceiver, a request for an interface including a user identifier, wherein the user identifier is stored in non-transitory memory, receiving, by a state prediction engine, a sequence unit set including at least one sequence unit associated with the user identifier, wherein the sequence unit is stored in the non-transitory memory, receiving, by the state prediction engine, a set of features associated with the at least one sequence unit in the sequence unit set, and generating, by the state prediction engine, at least one next state prediction using a trained sequential prediction model.
- the trained sequential prediction model is configured to receive the sequence unit set and the set of features for the at least one sequence unit and output at least one predicted next state for the sequence unit set.
- the computer-implemented method further includes steps of generating, by an interface generation engine, an interface including at least one element related to the at least one predicted next state and transmitting, via the transceiver, the interface to a user device associated with the user identifier.
- a method of training a sequential prediction model includes a step of receiving a set of training data including a plurality of sequence unit sets and a plurality of feature sets. Each feature set in the plurality of feature sets is associated with a sequence unit set in the plurality of sequence unit sets. The method further includes steps of iteratively modifying one or more parameters of a sequential prediction model to minimize a predetermined cost function and outputting a trained sequence prediction model configured to receive a current sequence unit set and a plurality of features related to the current sequence unit set and output a next predicted state.
- FIG. 1 illustrates a computer system configured to implement one or more processes, in accordance with some embodiments.
- FIG. 2 illustrates a network environment configured to provide a network interface including one or more states selected by a sequential prediction engine, in accordance with some embodiments.
- FIG. 3 illustrates an artificial neural network, in accordance with some embodiments.
- FIG. 4 illustrates a tree-based neural network, in accordance with some embodiments.
- FIG. 5 is a flowchart illustrating a method of generating a network interface including one or more elements representing a predicted next-best state, in accordance with some embodiments.
- FIG. 6 is a process flow illustrating various steps of the method of generating a network interface including next-best state elements, in accordance with some embodiments.
- FIG. 7 illustrates a partial system diagram for a sequential prediction engine, in accordance with some embodiments.
- FIG. 8 A illustrates an e-commerce action sequence including a set of sequence units representative of actions performed by a customer through an e-commerce network interface, in accordance with some embodiments.
- FIG. 8 B illustrates an e-commerce item journey sequence, in accordance with some embodiments.
- FIG. 8 C illustrates a seasonal preference sequence including a set of sequence units representative of a customer's seasonal preferences throughout a predetermined time period, in accordance with some embodiments.
- FIG. 9 illustrates a sequence set that can provided as sequence unit inputs to a sequential prediction engine for prediction of a comprehensive next state, in accordance with some embodiments.
- FIG. 10 illustrates a method for generating a trained state prediction model, in accordance with some embodiments.
- FIG. 11 is a process flow illustrating various steps of the method of generating a trained state prediction model of FIG. 10 , in accordance with some embodiments.
- FIG. 12 illustrates a data layer process flow for a trained state prediction model, in accordance with some embodiments.
- FIG. 13 illustrates an interface generation process flow including insertion of elements selected by a next best state prediction method, in accordance with some embodiments.
- a sequential prediction engine is configured to receive a sequence unit input representative of a current or past state and a set of feature inputs related to the sequence unit.
- the sequential prediction engine is configured to generate an output including one or more next-best (e.g., next most-likely) states.
- the sequential prediction engine can be integrated into a network environment and can be configured to provide next-best state predictions for one or more network components, such as an interface generation engine configured to generate a user interface.
- a sequential prediction engine includes one or more trained sequential prediction models configured to generate next state predictions based on a sequence unit input and a set of input feature.
- one or more sequential prediction models are configured to receive a sequence unit, S i , representative of a time step state, and set of features F i that are related to and/or associated with the sequence unit at the current time step state.
- a trained function mimics cognitive functions that humans associate with other human minds.
- the trained function is able to adapt to new circumstances and to detect and extrapolate patterns.
- parameters of a trained function can be adapted by means of training.
- a combination of supervised training, semi-supervised training, unsupervised training, reinforcement learning and/or active learning can be used.
- representation learning an alternative term is “feature learning”.
- the parameters of the trained functions can be adapted iteratively by several steps of training.
- a trained function can comprise a neural network, a support vector machine, a decision tree and/or a Bayesian network, and/or the trained function can be based on k-means clustering, Qlearning, genetic algorithms and/or association rules.
- a neural network can be a deep neural network, a convolutional neural network, or a convolutional deep neural network.
- a neural network can be an adversarial network, a deep adversarial network and/or a generative adversarial network.
- a system including one or more neural networks trained (e.g., configured or adapted) to generate next state predictions is disclosed.
- a neural network trained to generate next state predictions may be referred to as a trained sequential prediction network and/or a trained sequential prediction model.
- a trained sequential prediction model can be configured to generate one or more state predictions for a next likely user state, in accordance with some embodiments.
- the next state predictions predict a next state for a user engaging with a computer interface.
- the predicted states can include user intents, interface elements, potential user actions, and/or other suitable state transitions.
- FIG. 1 illustrates a computer system configured to implement one or more processes, in accordance with some embodiments.
- the system 2 is a representative device and can include a processor subsystem 4 , an input/output subsystem 6 , a memory subsystem 8 , a communications interface 10 , and a system bus 12 .
- one or more than one of the system 2 components can be combined or omitted such as, for example, not including an input/output subsystem 6 .
- the system 2 can include other components not combined or comprised in those shown in FIG. 1 .
- the system 2 can also include, for example, a power subsystem.
- the system 2 can include several instances of the components shown in FIG. 1 .
- the system 2 can include multiple memory subsystems 8 .
- FIG. 1 illustrates a computer system configured to implement one or more processes, in accordance with some embodiments.
- the system 2 is a representative device and can include a processor subsystem 4 , an input/output subsystem 6 , a memory subsystem
- the processor subsystem 4 can include any processing circuitry operative to control the operations and performance of the system 2 .
- the processor subsystem 4 can be implemented as a general purpose processor, a chip multiprocessor (CMP), a dedicated processor, an embedded processor, a digital signal processor (DSP), a network processor, an input/output (I/O) processor, a media access control (MAC) processor, a radio baseband processor, a co-processor, a microprocessor such as a complex instruction set computer (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, and/or a very long instruction word (VLIW) microprocessor, or other processing device.
- the processor subsystem 4 also can be implemented by a controller, a microcontroller, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a programmable logic device (PLD), and so forth.
- ASIC application specific integrated circuit
- FPGA field programmable gate array
- PLD programmable logic device
- the processor subsystem 4 can be arranged to run an operating system (OS) and various applications.
- OS operating system
- applications comprise, for example, network applications, local applications, data input/output applications, user interaction applications, etc.
- the system 2 can include a system bus 12 that couples various system components including the processor subsystem 4 , the input/output subsystem 6 , and the memory subsystem 8 .
- the system bus 12 can be any of several types of bus structure(s) including a memory bus or memory controller, a peripheral bus or external bus, and/or a local bus using any variety of available bus architectures including, but not limited to, 9-bit bus, Industrial Standard Architecture (ISA), Micro-Channel Architecture (MSA), Extended ISA (EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB), Peripheral Component Interconnect Card International Association Bus (PCMCIA), Small Computers Interface (SCSI) or other proprietary bus, or any custom bus suitable for computing device applications.
- ISA Industrial Standard Architecture
- MSA Micro-Channel Architecture
- EISA Extended ISA
- IDE Intelligent Drive Electronics
- VLB VESA Local Bus
- PCMCIA Peripheral Component Interconnect Card International Association Bus
- SCSI Small Computers Interface
- the input/output subsystem 6 can include any suitable mechanism or component to enable a user to provide input to system 2 and the system 2 to provide output to the user.
- the input/output subsystem 6 can include any suitable input mechanism, including but not limited to, a button, keypad, keyboard, click wheel, touch screen, motion sensor, microphone, camera, etc.
- the input/output subsystem 6 can include a visual peripheral output device for providing a display visible to the user.
- the visual peripheral output device can include a screen such as, for example, a Liquid Crystal Display (LCD) screen.
- the visual peripheral output device can include a movable display or projecting system for providing a display of content on a surface remote from the system 2 .
- the visual peripheral output device can include a coder/decoder, also known as Codecs, to convert digital media data into analog signals.
- the visual peripheral output device can include video Codecs, audio Codecs, or any other suitable type of Codec.
- the visual peripheral output device can include display drivers, circuitry for driving display drivers, or both.
- the visual peripheral output device can be operative to display content under the direction of the processor subsystem 4 .
- the visual peripheral output device may be able to play media playback information, application screens for application implemented on the system 2 , information regarding ongoing communications operations, information regarding incoming communications requests, or device operation screens, to name only a few.
- the communications interface 10 can include any suitable hardware, software, or combination of hardware and software that is capable of coupling the system 2 to one or more networks and/or additional devices.
- the communications interface 10 can be arranged to operate with any suitable technique for controlling information signals using a desired set of communications protocols, services, or operating procedures.
- the communications interface 10 can include the appropriate physical connectors to connect with a corresponding communications medium, whether wired or wireless.
- Vehicles of communication comprise a network.
- the network can include local area networks (LAN) as well as wide area networks (WAN) including without limitation Internet, wired channels, wireless channels, communication devices including telephones, computers, wire, radio, optical or other electromagnetic channels, and combinations thereof, including other devices and/or components capable of/associated with communicating data.
- LAN local area networks
- WAN wide area networks
- the communication environments comprise in-body communications, various devices, and various modes of communications such as wireless communications, wired communications, and combinations of the same.
- Wireless communication modes comprise any mode of communication between points (e.g., nodes) that utilize, at least in part, wireless technology including various protocols and combinations of protocols associated with wireless transmission, data, and devices.
- the points comprise, for example, wireless devices such as wireless headsets, audio and multimedia devices and equipment, such as audio players and multimedia players, telephones, including mobile telephones and cordless telephones, and computers and computer-related devices and components, such as printers, network-connected machinery, and/or any other suitable device or third-party device.
- Wired communication modes comprise any mode of communication between points that utilize wired technology including various protocols and combinations of protocols associated with wired transmission, data, and devices.
- the points comprise, for example, devices such as audio and multimedia devices and equipment, such as audio players and multimedia players, telephones, including mobile telephones and cordless telephones, and computers and computer-related devices and components, such as printers, network-connected machinery, and/or any other suitable device or third-party device.
- the wired communication modules can communicate in accordance with a number of wired protocols.
- wired protocols can include Universal Serial Bus (USB) communication, RS-232, RS-422, RS-423, RS-485 serial protocols, FireWire, Ethernet, Fibre Channel, MIDI, ATA, Serial ATA, PCI Express, T-1 (and variants), Industry Standard Architecture (ISA) parallel communication, Small Computer System Interface (SCSI) communication, or Peripheral Component Interconnect (PCI) communication, to name only a few examples.
- USB Universal Serial Bus
- RS-422 RS-422
- RS-423 RS-485 serial protocols
- FireWire Ethernet
- Fibre Channel MIDI
- MIDI Integrated Serial Bus
- MIDI Serial ATA
- PCI Express PCI Express
- T-1 and variants
- ISA Industry Standard Architecture
- SCSI Small Computer System Interface
- PCI Peripheral Component Interconnect
- the communications interface 10 can include one or more interfaces such as, for example, a wireless communications interface, a wired communications interface, a network interface, a transmit interface, a receive interface, a media interface, a system interface, a component interface, a switching interface, a chip interface, a controller, and so forth.
- the communications interface 10 can include a wireless interface comprising one or more antennas, transmitters, receivers, transceivers, amplifiers, filters, control logic, and so forth.
- the communications interface 10 can provide data communications functionality in accordance with a number of protocols.
- protocols can include various wireless local area network (WLAN) protocols, including the Institute of Electrical and Electronics Engineers (IEEE) 802.xx series of protocols, such as IEEE 802.11a/b/g/n/ac/ax/be, IEEE 802.16, IEEE 802.20, and so forth.
- WLAN wireless local area network
- IEEE 802.xx series of protocols such as IEEE 802.11a/b/g/n/ac/ax/be, IEEE 802.16, IEEE 802.20, and so forth.
- wireless protocols can include various wireless wide area network (WWAN) protocols, such as GSM cellular radiotelephone system protocols with GPRS, CDMA cellular radiotelephone communication systems with 1 ⁇ RTT, EDGE systems, EV-DO systems, EV-DV systems, HSDPA systems, the Wi-Fi series of protocols including Wi-Fi Legacy, Wi-Fi 1/2/3/4/5/6/6E, and so forth.
- WWAN wireless wide area network
- PAN wireless personal area network
- IIG Bluetooth Special Interest Group
- wireless protocols can include near-field communication techniques and protocols, such as electro-magnetic induction (EMI) techniques.
- EMI techniques can include passive or active radio-frequency identification (RFID) protocols and devices.
- RFID radio-frequency identification
- Other suitable protocols can include Ultra-Wide Band (UWB), Digital Office (DO), Digital Home, Trusted Platform Module (TPM), ZigBee, and so forth.
- At least one non-transitory computer-readable storage medium having computer-executable instructions embodied thereon, wherein, when executed by at least one processor, the computer-executable instructions cause the at least one processor to perform embodiments of the methods described herein.
- This computer-readable storage medium can be embodied in memory subsystem 8 .
- the memory subsystem 8 can include any machine-readable or computer-readable media capable of storing data, including both volatile/non-volatile memory and removable/non-removable memory.
- the memory subsystem 8 can include at least one non-volatile memory unit.
- the non-volatile memory unit is capable of storing one or more software programs.
- the software programs can contain, for example, applications, user data, device data, and/or configuration data, or combinations therefore, to name only a few.
- the software programs can contain instructions executable by the various components of the system 2 .
- the memory subsystem 8 can include any machine-readable or computer-readable media capable of storing data, including both volatile/non-volatile memory and removable/non-removable memory.
- memory can include read-only memory (ROM), random-access memory (RAM), dynamic RAM (DRAM), Double-Data-Rate DRAM (DDR-RAM), synchronous DRAM (SDRAM), static RAM (SRAM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory (e.g., NOR or NAND flash memory), content addressable memory (CAM), polymer memory (e.g., ferroelectric polymer memory), phase-change memory (e.g., ovonic memory), ferroelectric memory, silicon-oxide-nitride-oxide-silicon (SONOS) memory, disk memory (e.g., floppy disk, hard drive, optical disk, magnetic disk), or card (e.g., magnetic card, optical card
- the memory subsystem 8 can contain an instruction set, in the form of a file for executing various methods, such as methods for generating a network interface including one or more predicted states generated by a sequential prediction engine, as described herein.
- the instruction set can be stored in any acceptable form of machine-readable instructions, including source code or various appropriate programming languages. Some examples of programming languages that can be used to store the instruction set comprise, but are not limited to: Java, C, C++, C#, Python, Objective-C, Visual Basic, or .NET programming.
- a compiler or interpreter is comprised to convert the instruction set into machine executable code for execution by the processor subsystem 4 .
- FIG. 2 illustrates a network environment 20 configured to provide a network interface including one or more states (e.g., interfaces, assets, etc.) selected by a sequential prediction engine, in accordance with some embodiments.
- the network environment 20 includes a plurality of systems configured to communicate over one or more network channels, illustrated as network cloud 40 .
- the network environment 20 can include, but is not limited to, one or more user systems 22 a - 22 b in signal communication with a frontend system 24 .
- the frontend system 24 can be configured to provide a customized interface, including one or more portions representative of a next-best state, to each of the one or more user systems 22 a - 22 b.
- the customized interface can include any suitable interface.
- the customized interface can include an e-commerce interface, a service interface, an intranet interface, and/or any other suitable user interface.
- the customized interface includes a webpage, web portal, intranet page, and/or other interactive page generated by the frontend system 24 .
- the customized interface includes one or more state transitions selected by a sequential prediction engine configured to implement a next-state prediction model.
- the sequential prediction engine and/or the next-state prediction model can be implemented by any suitable system, such as, for example, a sequential prediction system 26 .
- a sequential prediction system 26 implements a sequential prediction engine configured to generate next-state prediction for a networking interface.
- the sequential prediction engine is configured to capture both historical and changing user preferences to predict the next most likely state for a user interacting with a network interface.
- Each “state” prediction can be configured to present one or more interface elements related to a most likely interaction between a user and an interface.
- the sequential prediction engine can be configured to predict an interface page of the network interface for a user given the user's current state and various input features.
- a sequential prediction engine can be configured to predict one or more items in an e-commerce catalog that a user is likely to select for purchase.
- a sequential prediction engine can be configured to predict a theme, e.g., a holiday or date-related theme, for presentation to a user that can include specific items, interface pages, etc. It will be appreciated that any suitable state can be predicted by the sequential prediction engine.
- the sequential prediction engine includes one or more sequential models configured to generate a next-state prediction.
- Each of the sequential models are configured to receive a set of inputs including a current state input, S i , and a set of features, F i .
- the set of features F i can include any suitable set of features for generating a next-best state prediction.
- the set of features F i can include, but is not limited to, meta features associated with a sequence at a time step.
- Each of the sequential models can include a predetermined framework trained using a set of features related to the state prediction.
- each of the sequential models can be configured to implement a self-attentive sequential recommendation (SASRec) framework, a Time-aware self-attentive sequential recommendation (TiSASRec) framework, and/or any other suitable framework.
- SASRec self-attentive sequential recommendation
- TiSASRec Time-aware self-attentive sequential recommendation
- the current state input can represent any suitable current state and/or any property of a state.
- the current state input S i can represent an interaction with a network interface such as an e-commerce interaction (e.g., placing an order, adding an item to cart, searching for items, returning items, etc.), a loyalty program interaction (e.g., signing up for a loyalty program, renewing a loyalty program, etc.), product or item that is being interacted with (e.g., added to cart, viewed, searched for, etc.), a transaction, a customer state, time periods (e.g., day of week, month of year, holidays, etc.), and/or any other suitable state.
- e-commerce interaction e.g., placing an order, adding an item to cart, searching for items, returning items, etc.
- a loyalty program interaction e.g., signing up for a loyalty program, renewing a loyalty program, etc.
- product or item that is being interacted with e.g., added to cart, viewed, searched
- the current state input is a sequence-unit S i representing the current state at time i.
- the sequence unit S i can include, but is not limited to, item or item properties, transaction or transaction properties, customer or customer properties, specific features such as an activity type (e.g., add to cart, clock on, item view, etc.), and/or any other suitable property.
- the sequential prediction system 26 is in communication with one or more databases 30 .
- the database 30 can be configured to store sets of features related to various state predictions.
- one or more databases 30 can be configured to store feature sets related to current states, user features, and/or any other suitable features for generating a state prediction.
- the databases 30 can further be configured to store one or more trained sequential prediction models for execution by a sequential prediction engine and/or assets (e.g., templates, content elements, etc.) for inclusion in a generated user interface.
- assets e.g., templates, content elements, etc.
- the network environment 20 includes a model training system 28 configured to generate one or more trained sequential prediction models.
- the model training system 28 can include a model training engine configured to implement an iterative training process, as discussed in greater detail below, to generate the sequential prediction model(s).
- the model training engine is configured to generate state-type sequential prediction models.
- a model training engine is configured to generate one or more sequential prediction models for each of a defined state type, such as an interface page state, an item state, a customer state, etc.
- a state-specific sequential prediction model can be generated by providing a state-specific training data set to a training process.
- State-specific training data can include, but is not limited to, state sequences and meta features related to each of the states in a state sequence.
- the one or more generated sequential prediction models can be provided to a sequential prediction system 26 for implementation, e.g., prediction of next best state as part of an interface generation process.
- the model training system 28 is configured to obtain training data sets, such as sets of sequence units and/or sets of features associated with one or more sequence units, from a database 32 .
- the model training system 28 is configured to receive one or more identifiers, such as a user identifier or sequence identifier, as part of training data set. Each of the identifiers can be used to retrieve a set of features and/or a sequence set associated with the identifier.
- the system or components thereof can comprise or include various modules or engines, each of which is constructed, programmed, configured, or otherwise adapted, to autonomously carry out a function or set of functions.
- a module/engine can include a component or arrangement of components implemented using hardware, such as by an application specific integrated circuit (ASIC) or field-programmable gate array (FPGA), for example, or as a combination of hardware and software, such as by a microprocessor system and a set of program instructions that adapt the module/engine to implement the particular functionality, which (while being executed) transform the microprocessor system into a special-purpose device.
- a module/engine can also be implemented as a combination of the two, with certain functions facilitated by hardware alone, and other functions facilitated by a combination of hardware and software.
- a module/engine can be executed on the processor(s) of one or more computing platforms that are made up of hardware (e.g., one or more processors, data storage devices such as memory or drive storage, input/output facilities such as network interface devices, video devices, keyboard, mouse or touchscreen devices, etc.) that execute an operating system, system programs, and application programs, while also implementing the engine using multitasking, multithreading, distributed (e.g., cluster, peer-peer, cloud, etc.) processing where appropriate, or other such techniques.
- hardware e.g., one or more processors, data storage devices such as memory or drive storage, input/output facilities such as network interface devices, video devices, keyboard, mouse or touchscreen devices, etc.
- multitasking multithreading
- distributed e.g., cluster, peer-peer, cloud, etc.
- each module/engine can be realized in a variety of physically realizable configurations, and should generally not be limited to any particular implementation exemplified herein, unless such limitations are expressly called out.
- a module/engine can itself be composed of more than one sub-modules or sub-engines, each of which can be regarded as a module/engine in its own right.
- each of the various modules/engines corresponds to a defined autonomous functionality; however, it should be understood that in other contemplated embodiments, each functionality can be distributed to more than one module/engine.
- multiple defined functionalities may be implemented by a single module/engine that performs those multiple functions, possibly alongside other functions, or distributed differently among a set of modules/engines than specifically illustrated in the examples herein.
- FIG. 3 illustrates an artificial neural network 100 , in accordance with some embodiments.
- Alternative terms for “artificial neural network” are “neural network,” “artificial neural net,” “neural net,” or “trained function.”
- the neural network 100 comprises nodes 120 - 144 and edges 146 - 148 , wherein each edge 146 - 148 is a directed connection from a first node 120 - 138 to a second node 132 - 144 .
- the first node 120 - 138 and the second node 132 - 144 are different nodes, although it is also possible that the first node 120 - 138 and the second node 132 - 144 are identical.
- FIG. 1 illustrates an artificial neural network 100 , in accordance with some embodiments.
- Alternative terms for “artificial neural network” are “neural network,” “artificial neural net,” “neural net,” or “trained function.”
- the neural network 100 comprises nodes 120 - 144 and edges
- edge 146 is a directed connection from the node 120 to the node 132
- edge 148 is a directed connection from the node 132 to the node 140
- An edge 146 - 148 from a first node 120 - 138 to a second node 132 - 144 is also denoted as “ingoing edge” for the second node 132 - 144 and as “outgoing edge” for the first node 120 - 138 .
- the nodes 120 - 144 of the neural network 100 can be arranged in layers 110 - 114 , wherein the layers can comprise an intrinsic order introduced by the edges 146 - 148 between the nodes 120 - 144 .
- edges 146 - 148 can exist only between neighboring layers of nodes.
- the number of hidden layer 112 can be chosen arbitrarily and/or through training.
- the number of nodes 120 - 130 within the input layer 110 usually relates to the number of input values of the neural network
- the number of nodes 140 - 144 within the output layer 114 usually relates to the number of output values of the neural network.
- a (real) number can be assigned as a value to every node 120 - 144 of the neural network 100 .
- x i (n) denotes the value of the i-th node 120 - 144 of the n-th layer 110 - 114 .
- the values of the nodes 120 - 130 of the input layer 110 are equivalent to the input values of the neural network 100
- the values of the nodes 140 - 144 of the output layer 114 are equivalent to the output value of the neural network 100 .
- each edge 146 - 148 can comprise a weight being a real number, in particular, the weight is a real number within the interval [ ⁇ 1, 1] or within the interval [0, 1].
- w i,j (m,n) denotes the weight of the edge between the i-th node 120 - 138 of the m-th layer 110 , 112 and the j-th node 132 - 144 of the n-th layer 112 , 114 .
- the abbreviation w i,j (n) is defined for the weight w i,j (n,n+1) .
- the input values are propagated through the neural network.
- the values of the nodes 132 - 144 of the (n+1)-th layer 112 , 114 can be calculated based on the values of the nodes 120 - 138 of the n-th layer 110 , 112 by
- x j ( n + 1 ) f ⁇ ( ⁇ i ⁇ x i ( n ) ⁇ w i , j ( n ) )
- the function f is a transfer function (another term is “activation function”).
- transfer functions are step functions, sigmoid function (e.g., the logistic function, the generalized logistic function, the hyperbolic tangent, the Arctangent function, the error function, the smooth step function) or rectifier functions.
- the transfer function is mainly used for normalization purposes.
- the values are propagated layer-wise through the neural network, wherein values of the input layer 110 are given by the input of the neural network 100 , wherein values of the hidden layer(s) 112 can be calculated based on the values of the input layer 110 of the neural network and/or based on the values of a prior hidden layer, etc.
- training data comprises training input data and training output data.
- training output data For a training step, the neural network 100 is applied to the training input data to generate calculated output data.
- the training data and the calculated output data comprise a number of values, said number being equal with the number of nodes of the output layer.
- a comparison between the calculated output data and the training data is used to recursively adapt the weights within the neural network 100 (backpropagation algorithm).
- the weights are changed according to
- w i , j ′ ⁇ ( n ) w i , j ( n ) - ⁇ ⁇ ⁇ j ( n ) ⁇ x i ( n )
- ⁇ is a learning rate
- the numbers ⁇ j (n) can be recursively calculated as
- ⁇ j ( n ) ( ⁇ k ⁇ ⁇ k ( n + 1 ) ⁇ w j , k ( n + 1 ) ) ⁇ f ′ ( ⁇ i ⁇ x i ( n ) ⁇ w i , j ( n ) ) based on ⁇ j (n+1) , if the (n+1)-th layer is not the output layer, and
- ⁇ j ( n ) ( x k ( n + 1 ) - t j ( n + 1 ) ) ⁇ f ′ ( ⁇ i ⁇ x i ( n ) ⁇ w i , j ( n ) ) if the (n+1)-th layer is the output layer 114 , wherein f′ is the first derivative of the activation function, and y j (n+1) is the comparison training value for the j-th node of the output layer 114 .
- the neural network 100 is configured, or trained, to generate a next-state prediction.
- the neural network 100 can be configured to receive one or more inputs, such as a sequence unit S i and a feature set F i associated with a sequence at the current time step.
- the neural network 100 is configured to generate an output representing a next-best (or next most likely) state based on the current sequence unit S i and the feature set F i .
- the output of the neural network 100 is used to populate one or more portions of a user interface.
- FIG. 4 illustrates a tree-based neural network 150 , in accordance with some embodiments.
- the tree-based neural network 150 is a random forest neural network, though it will be appreciated that the discussion herein is applicable to other decision tree neural networks.
- the tree-based neural network 150 includes a plurality of trained decision trees 154 a - 154 c each including a set of nodes 156 (also referred to as “leaves”) and a set of edges 158 (also referred to as “branches”).
- Each of the trained decision trees 154 a - 154 c can include a classification and/or a regression tree (CART).
- Classification trees include a tree model in which a target variable can take a discrete set of values, e.g., can be classified as one of a set of values.
- each leaf 156 represents class labels and each of the branches 158 represents conjunctions of features that connect the class labels.
- Regression trees include a tree model in which the target variable can take continuous values (e.g., a real number value).
- an input data set 152 including one or more features or attributes is received.
- a subset of the input data set 152 is provided to each of the trained decision trees 154 a - 154 c .
- the subset can include a portion of and/or all of the features or attributes included in the input data set 152 .
- Each of the trained decision trees 154 a - 154 c is trained to receive the subset of the input data set 152 and generate a tree output value 160 a - 160 c , such as a classification or regression output.
- the individual tree output value 160 a - 160 c is determined by traversing the trained decision trees 154 a - 154 c to arrive at a final leaf (or node) 156 .
- the tree-based neural network 150 applies an aggregation process 162 to combine the output of each of the trained decision trees 154 a - 154 c into a final output 164 .
- the tree-based neural network 150 can apply a majority-voting process to identify a classification selected by the majority of the trained decision trees 154 a - 154 c .
- the tree-based neural network 150 can apply an average, mean, and/or other mathematical process to generate a composite output of the trained decision trees.
- the final output 164 is provided as an output of the tree-based neural network 150 .
- the tree-based neural network 150 is configured, or trained, to generate a next-state prediction.
- the tree-based neural network 150 can be configured to receive one or more inputs, such as a sequence unit S i and a feature set F i associated with a sequence at the current time step.
- the tree-based neural network 150 is configured to generate an output representing a next-best (or next most likely) state based on the current sequence unit S i and the feature set F i .
- the output of the tree-based neural network 150 is used to populate one or more portions of a user interface.
- FIG. 5 is a flowchart illustrating a method 200 of generating a network interface including one or more elements representing a predicted next-best state, in accordance with some embodiments.
- FIG. 6 is a process flow 250 illustrating various steps of the method 200 of generating a network interface including next-best state elements, in accordance with some embodiments.
- an interface request 252 for an interface page is received by a system, such as the frontend system 24 via a communications interface.
- the request for the interface can be received from any suitable system, such as, for example, a user system 22 a , 22 b .
- the request can include one or more data elements identifying a user or profile associated with the requests and/or can include data elements identifying a prior sequence of states for user interactions with the network interface.
- a request can include data elements such as cookies and/or beacons.
- one or more data elements can be retrieved from a database based on the request.
- a sequential prediction engine 256 receives a sequence unit input 258 and a set of features 260 .
- the sequence unit input 258 can be included as part of the interface request 252 and/or obtained from a database based on one or more identifiers.
- an interface request 252 includes a user identifier associated with user interactions with a network interface.
- the interface generation engine 254 can obtain user sequence data from a database.
- an interface request can include a set of features 260 associated with the sequence unit input 258 and/or a set of features 260 can be obtained from a database based on an identifier, such as a user identifier and/or a sequence unit identifier.
- the sequence unit input 258 and/or the set of features 260 can be provided to the sequential prediction engine 256 directly from the user system 22 a , from the interface generation engine 254 , loaded from a database, and/or otherwise acquired by the sequential prediction engine 256 .
- the sequential prediction engine 256 generates a next-best state prediction 262 .
- the next-best state prediction 262 identifies the next most likely next state for one or more elements and/or the interface as a whole given a current (or prior) state of the interface and one or more state features.
- the sequential prediction engine 256 includes one or more sequential prediction models configured to generate the next-best state prediction 262 .
- the sequential prediction engine 256 is configured to generate a comprehensive next-best state prediction including multiple sub-state predictions. For example, in some embodiments, a next-best user intent state and a plurality of state elements can be predicted by the sequential prediction engine 256 .
- the sequential prediction engine 256 can be configured to predict a next best action (e.g., next most likely action for a user), a next session shopping journey (e.g., a set of items likely to be viewed and/or interacted with during the next interaction with an interface), a user seasonal preference (e.g., the next likely seasonal category of interest to the user), a next best question (e.g., a next best data collection prompt), a next best user's intent prediction (e.g., a next likely user intent in interacting with the interface), and/or any other suitable next best state.
- a next best action e.g., next most likely action for a user
- a next session shopping journey e.g., a set of items likely to be viewed and/or interacted with during the next interaction with an interface
- a user seasonal preference e.g., the next likely seasonal category of interest to the user
- a next best question e.g., a next best data collection prompt
- the sequential prediction engine 256 can be configured to capture a user's dynamically evolving interest, e.g., based on current state transitions, while capturing overall user preferences, e.g., based on historical state transitions. In some embodiments, the sequential prediction engine 256 is configured to identify changing user preferences based on changing state transitions for a given sequence unit input.
- the sequential prediction engine 256 receives a sequence unit input 258 representative of a current and/or one or more prior states of a network interface. For example, when predicting a next page or intent state of a network interface, the sequence unit input 258 can represent a current and/or one or more most-recent states of the network interface for a user associated with the user system 22 a that generated the interface request 252 .
- the sequence unit input 258 can represent the N most recent item interactions for a user associated with the user system 22 a that generated the interface request 252 (e.g., the N most recent items viewed, searched for, added to a cart, etc.).
- N can be any positive integer.
- the sequential prediction engine 256 receives a set of features 260 associated with a current state sequence at the current time interval, or step.
- the set of features 260 can include meta features associated with the type of sequence unit being provided, such as features associated with a current network interface, features associated with one or more items represented by the sequence unit, features associated with a current or prior transaction, features associated with the user, features regarding a current activity type, and/or any other suitable features.
- the next-best state prediction 262 is provided to the interface generation engine 254 .
- the interface generation engine 254 is configured to generate personalized (e.g., user-specific/customized) interface 264 .
- the personalized interface 264 can include one or more elements selected based on the next-best state prediction 262 .
- the interface generation engine 254 is configured to obtain an interface template 266 and populate the interface template 266 with one or more interface elements to generate a personalized interface 264 . At least one of the interface elements can be selected to be representative of the next-best state prediction 262 .
- the interface template 266 can be populated with one or more elements configured navigate a user to the next likely interface page.
- the next-best state prediction 262 is indicative of next likely action (e.g., add-to-cart, initiate return, etc.)
- the interface template 266 can be populated with one or more elements configured to execute the action.
- a next-best state prediction 262 indicates the next likely state is an add-to-cart state for one or more items
- the interface template 266 can be populated with items likely to be added to the cart (e.g., items predicted by the next-best state prediction 262 ). It will be appreciated that any suitable elements can be added to an interface template 266 based on the next-best state prediction 262 to generate a personalized interface 264 .
- a the interface generation engine 254 is configured to implement a whole interface personalization process based on the next-best state prediction 262 .
- An interface template 266 can be selected and populated with elements exclusively related to one or more next-best predicted states. For example, if the next-best state prediction 262 indicates that the next state is related to an intent, such as grocery intent, return intent, etc., the interface template 266 can be populated with elements related to that intent, such as elements related exclusively to grocery, elements to facilitate a return, elements to facilitate sign-up or renewal of a loyalty program, etc. It will be appreciated that any suitable combination of interface and/or element personalization can be implemented to generate personalized interface 264 .
- the sequential prediction engine 256 includes one or more sequential prediction models having an implemented sequential framework.
- one or more sequential prediction models can include a SASRec or TiSASRec framework.
- any suitable recommendation framework such as a sequential recommendation framework, stochastic recommendation framework, etc., including a self-attentive element can be configured to provide a next-best state prediction 262 .
- the sequential prediction engine 256 is configured to receive a set of features 260 including one or more user features representative of user interactions with an interface, such as user interactions with prior states and/or elements presented in prior interactions with an interface generated by the frontend system 24 .
- User-preference features can include, but are not limited to, the number of transactions feature (e.g., a feature representative of a number of transactions performed by a user in a predetermined time period (e.g., per month, per week, etc.)), a user affinity feature (e.g., a feature representative of a user affinity for portions of an interface such as grocery portion or a general merchandise portion of an e-commerce interface), a context affinity feature (e.g., a feature representative of a user affinity for a specific interface context), an inter-purchase interval feature (e.g., a feature representative of time between transactions), an items viewed feature (e.g., a feature representative of a number of items viewed in a predetermined time period or frequency of items viewed in
- the user-preference features are representative of a user understanding that includes, for example, user-level preference features such as a brand preference feature, a price preference feature, an intent feature (e.g., purchase intent, sell intent, etc.), and/or any other suitable user-level preference features.
- user-level preference features such as a brand preference feature, a price preference feature, an intent feature (e.g., purchase intent, sell intent, etc.), and/or any other suitable user-level preference features.
- the personalized interface 264 (e.g., a response to the interface request 252 including the personalized interface 264 ) is provided to the user system 22 a , 22 b that initially transmitted the interface request 252 .
- actual next state data 268 is received, for example, from the user system 22 a , 22 b .
- the actual next state data 268 represents a next state that for the user interface after presentation of the personalized interface 264 .
- the actual next state data 268 can indicate that the next state of the user interface was the predicted state represented by the next-best state prediction 262 , i.e., that the next state was accurately predicted.
- the actual next state data 268 can indicate that the next state was not the predicted state, i.e., that the next state was not accurately predicted.
- the received actual next state data 268 can be used to train (or retrain) one or more sequential prediction models.
- the disclosed method 200 can be applied for batch prediction (e.g., prediction of next best states at a time prior to state interactions) and/or in real-time (e.g., prediction of next best states for a current session based on current state information).
- the sequential prediction engine 256 is configured to update user-state predictions based on in-session behavior, for example, monitoring current state transition journeys and predicting next-best state based on the current session state transitions.
- FIG. 7 illustrates a partial system diagram 270 for a sequential prediction engine 254 a , in accordance with some embodiments.
- the sequential prediction engine 254 a includes a plurality of trained sequential prediction models 280 a - 280 c .
- Each of the trained sequential prediction models 280 a - 280 c is configured to receive a corresponding set of inputs 282 a - 282 c including an initial, or prior, sequence unit 284 a - 284 c (Sn) and a set of input features 286 a - 286 c (Fn) related to the initial sequence unit 284 a - 284 c .
- the set of trained sequential prediction models 280 a - 280 c indicate a set of sequential time steps, or time periods, that have related sequential states.
- the set of trained sequential prediction models 280 a - 280 c are configured to generate sequential prediction outputs 288 a - 288 c representative of expected next sequence units, or states, for each input initial sequence unit 284 a - 284 c .
- the sequential prediction engine 256 can generate an predicted next state output 290 from an initial sequence unit input 284 a based on intermediate sequence unit predictions.
- the first trained sequential prediction model 280 a receives a first sequence unit S 1 as an initial state input 284 a and a set of features F 1 , which are related to and/or characterize elements of the first sequence unit S 1 , as a set of input features 286 a .
- the first trained sequential model 280 a predicts a second state S 2 as the predicted next sequence unit 288 a after the initial input sequence unit S 1 .
- the second trained sequential prediction model 280 b receives the second sequence unit S 2 as an initial state input 284 a and a set of features F 2 , related to and/or characterizing elements of the second sequence unit S 2 , as a set of input features 286 b . As shown in FIG.
- the second trained sequential prediction model 280 b is configured to receive inputs directly from the first trained sequential prediction model 280 a .
- the received inputs can include the output state S 2 of the first trained sequential prediction model 280 a , one or more model parameters, and/or any other suitable input.
- the second trained prediction model 280 b predicts a third sequence unit S 3 as the next state 288 b after the second state S 2 .
- a third trained sequential prediction model 280 c is configured to receive the third state S 3 as an initial sequence unit input 284 c and a set of features F 3 , related to and/or characterizing elements of the third state S 3 , as an input set of features 286 c .
- the third trained sequential prediction model 280 c is configured to receive inputs directly from the second trained sequential prediction model 280 b .
- the received inputs can include the output state S 3 of the second trained sequential prediction model 280 b , one or more model parameters, and/or any other suitable input.
- the third trained prediction model 280 c predicts a fourth sequence unit S 4 as the next state 288 c after the third state S 3 .
- the fourth sequence unit S 4 is provided as the final class output 290 , e.g., the next expected state, for the set of sequential units S 1 -S 3 .
- the sequential state prediction illustrated in FIG. 7 can include any suitable set of sequential units.
- the sequential units (e.g., states) S 1 -S 4 can be representative of a product type (e.g., grocery, merchandise) preference, an interface journey (e.g., transitions between various interface pages), an accessory journey, and/or any other suitable set of state transitions.
- the sets of features F 1 -F 3 are related to the type of state represented by the sequence units S 1 -S 3 .
- the sets of features 286 a - 286 c can include meta features associated with each sequence unit, e.g., item features (e.g., high vs.
- FIGS. 8 A- 8 C illustrate sets of state transitions that can be provided as sequence units to a sequential prediction engine 256 for prediction of a next state, in accordance with some embodiments.
- FIG. 8 A illustrates an e-commerce action sequence 300 a including a set of sequence units 302 - 314 representative of actions performed by a customer through an e-commerce network interface.
- FIG. 8 A illustrates an e-commerce action sequence 300 a including a set of sequence units 302 - 314 representative of actions performed by a customer through an e-commerce network interface.
- the e-commerce action sequence 300 a can include a first sequence unit 302 representative of a place order action, a second sequence unit 304 representative of an initiate return process action, a third sequence unit 306 representative of a check return status action, a fourth sequence unit 308 representative of a renew loyalty program action, a fifth sequence unit 310 representative of a browse products action, a sixth sequence unit 312 representative of an add-to-cart action for seasonal products, and a seventh sequence unit 314 representative of a place order action.
- the browse products action represented by the fifth sequence unit 310 can include a feature 316 identifying a seasonal campaign associated with the fifth sequence unit 310 .
- a sequential prediction engine 256 can be configured to predict a next likely action for the user given the e-commerce action sequence.
- FIG. 8 B illustrates an e-commerce item journey sequence 330 .
- the e-commerce item journey sequence 330 includes a set of sequence units 332 - 336 (e.g., states) representing browsing activity for a user within an e-commerce interface.
- the e-commerce item journey sequence 330 includes a first sequential unit 332 representative of a first product type, e.g., baby products, a second sequential unit 334 representative of a second product type, e.g., electronics, a third sequential unit 336 representative of the first product type, and a fourth sequential unit 338 representative of a third product type, e.g., home décor.
- a sequential prediction engine 256 can be configured to predict a next likely product category given the e-commerce item journey sequence 330 .
- FIG. 8 C illustrates a seasonal preference sequence 350 including a set of sequence units 352 - 362 representative of a customer's seasonal preferences throughout a predetermined time period.
- the seasonal preference sequence 350 includes a first sequence unit 352 representative of a first seasonal preference, e.g., Valentine's Day, a second sequence unit 354 representative of a second seasonal preference, e.g., Easter, a third sequence unit 356 representative of a third seasonal preference, e.g., Mother's Day, a fourth sequence unit 358 representative of a fourth seasonal preference, e.g., Father's Day, a fifth sequence unit 360 representative of a fifth seasonal preference, e.g., July 4 th , and a sixth sequence unit 362 representative of a sixth seasonal preference, e.g., back-to-school.
- a sequential prediction engine 256 can be configured to predict a next likely seasonal category given the seasonal preference sequence 350 .
- a sequential prediction engine 256 can be configured to predict any suitable type of state based on a suitable sequence set and related feature data.
- a sequential prediction engine 256 can include multiple sequential prediction models, each configured to predict a different type of state for a network interface.
- the sequential prediction engine 256 is configured to perform comprehensive next-best user state prediction that includes multiple predicted elements, such as, for example, a predicted intent, predicted item preferences, predicted pickup feature preference, and/or other predicted states related to the intent and/or content elements associated with the intent.
- FIG. 9 illustrates a sequence set 370 that can be provided as sequence unit inputs to a sequential prediction engine 256 for prediction of a comprehensive next state, in accordance with some embodiments.
- the sequence set 370 includes a first sequence unit 372 representative of an initiate return process action, a second sequence unit 374 representative of a check return status action, a third sequence unit 376 representative of a renew loyalty program action, and a fourth sequence unit 378 representative of a browse products action.
- the sequence set 370 can be provided to a sequential prediction engine 256 including one or more sequence prediction engines configured to predict a next user intent and a plurality of features related to the predicted intent.
- the next predicted state can be a grocery intent (e.g., an intent to interact with a grocery portion of an e-commerce interface) and the predicted features can include a brand preference feature, a pickup preference feature, and/or any other suitable feature.
- one or more trained sequential prediction models are configured to provide comprehensive next-best user state predictions to provide one-to-one personalization of interfaces for each user.
- the trained sequential prediction models can be configured to receive historical and/or real-time feature inputs, allowing for predictions given user historical activity but allowing for changes based on a user's recent behavior to intents and/or assets within an intent.
- a trained sequential prediction model is generated using an iterative training process based on a training data set.
- FIG. 10 illustrates a method 400 for generating a trained sequential prediction model in accordance with some embodiments.
- FIG. 11 is a process flow 450 illustrating various steps of the method 400 of generating a trained sequential prediction model, in accordance with some embodiments.
- a training data set 452 is received by a system, such as model training system 28 .
- the training data set 452 can include labeled and/or unlabeled data, depending on the type of model and/or the type of training process being implemented. For example, when a supervised learning process is applied to train a SASRec or TiSASRec framework, the training data set 452 can include labeled data.
- the training data set 452 includes sequence unit training data 454 .
- the sequence unit training data 454 can include data representative of sequential state changes for one or more users for a type of state, such as sequential state changes related to transitions through interface pages within a network interface, transitions for viewing, adding, or otherwise interacting with e-commerce items, transitions for enrolling in and/or renewing a loyalty program, etc.
- Sequential state changes can include a single state transition, i.e., a transition from a prior state to a next state, and/or can include a sequence of state changes, i.e., transitions from an initial state to a final state including one or more intermediate states.
- the training data set 452 includes feature training data 456 having one or more sets of features associated with one of the sequential state changes in the sequence unit training data 454 .
- the feature training data 456 can include one or more features representative of a state and/or a state transition.
- the feature training data 456 can include features representative of an item, item property, transaction, transaction property, customer, customer property, activity type (e.g., add to cart, transition, view), category features, state-specific features, and/or any other suitable features.
- the training data set 452 includes user training data 458 .
- the user training data 458 can include one or more user features representative of user interactions with an interface, such as user interactions with prior states and/or elements presented in prior interactions with an interface generated by the frontend system 24 .
- User-preference features can include, but are not limited to, the number of transactions feature (e.g., a feature representative of a number of transactions performed by a user in a predetermined time period (e.g., per month, per week, etc.)), a user affinity feature (e.g., a feature representative of a user affinity for portions of an interface such as grocery portion or a general merchandise portion of an e-commerce interface), a context affinity feature (e.g., a feature representative of a user affinity for a specific interface context), an inter-purchase interval feature (e.g., a feature representative of time between transactions), an items viewed feature (e.g., a feature representative of a number of items viewed in a predetermined time period or frequency of items viewed in a predetermined time period), an add-to-cart feature (e.g., a feature representative of a number of items added to a cart in a predetermined time period), a fulfillment intent feature (e.g., a feature representative of a fulfillment
- the user-preference features are representative of a user understanding that includes, for example, user-level preference features such as a brand preference feature, a price preference feature, an intent feature (e.g., purchase intent, sell intent, etc.), and/or any other suitable user-level preference features.
- user-level preference features such as a brand preference feature, a price preference feature, an intent feature (e.g., purchase intent, sell intent, etc.), and/or any other suitable user-level preference features.
- the training data set 452 includes at least partially labeled training data such that the training data set 452 consists of input training data including at least a first portion of the sequence unit training data 454 representative of initial, intermediate, first, and/or prior states and the feature training data 456 and target, or output, training data including a portion of the sequence unit training data 454 representative of intermediate, second, and/or final states.
- the training data set 452 includes identifiers for obtaining features from pre-existing feature sets stored in one or more storage locations.
- the sequence unit training data 454 and/or the feature training data 456 can include a set of identifiers. Each of the identifiers can be used to retrieve sequence and/or feature data relevant to and/or associated with the identifiers from a database.
- the training data set 452 includes training data for a specific state type and is configured to generate a state prediction model for the specific state type.
- the training data set 452 can be limited to a specific context, such as interactions with specific portions or pages of an interface, specific actions, such as e-commerce interactions (e.g., add-to-cart, view, search, etc.), specific categories (e.g., loyalty program, grocery, etc.), and/or any other suitable specific type of state.
- State prediction models for specific state types are configured to generate a state predictions related only to the specific state type represented in the training data set 452 .
- the received training data set 452 includes training data for a predetermined time period.
- the training data set 452 can include sequence unit training data 454 limited to a predetermined time period including the last n days, weeks, months, etc. where n is a positive.
- the training data set 452 can be limited to a predetermined time period defined by a set portion of a calendar year, for example, from the last n years for a period of time between a first month and a second month.
- the predetermined time period of the training data set 452 can be selected to be any suitable time period.
- the received training data set 452 is processed and/or normalized by a normalization module 460 .
- the training data set 452 can be augmented by imputing or estimating missing values of one or more features associated with a sequential state change.
- processing of the received training data set 452 includes outlier detection configured to remove data likely to skew training of a state prediction model.
- processing of the received training data set 452 includes removing features that have limited value with respect to training of the state prediction model.
- a model training engine 470 can be configured to obtain a selected model 462 including an untrained (e.g., base) machine learning model, such as a SASRec framework or a TiSASRec framework, and/or a partially or previously trained model (e.g., a prior version of a trained state prediction model, a partially trained model from a prior iteration of a training process, etc.), from a model store, such as a model database 32 .
- an untrained (e.g., base) machine learning model such as a SASRec framework or a TiSASRec framework
- a partially or previously trained model e.g., a prior version of a trained state prediction model, a partially trained model from a prior iteration of a training process, etc.
- the model training engine 470 is configured to iteratively adjust parameters (e.g., hyperparameters) of the selected model 462 to minimize a cost value (e.g., an output of a cost function) for the selected model 462 .
- the cost value is related to the likelihood of a state transition from a prior state to a next state.
- the model training engine 470 implements an iterative training process that generates a set of revised model parameters 466 during each iteration.
- the set of revised model parameters 466 can be generated by applying an optimization process 464 to the cost function of the selected model 462 .
- the optimization process 464 can be configured to reduce the cost value (e.g., reduce the output of the cost function) at each step by adjusting one or more parameters during each iteration of the training process.
- the model training engine 470 determines whether the training process is complete. The determination at step 408 can be based on any suitable parameters. For example, in some embodiments, a training process can complete after a predetermined number of iterations. As another example, in some embodiments, a training process can complete when it is determined that the cost function of the selected model 462 has reached a minimum, such as a local minimum and/or a global minimum.
- a trained state prediction model 280 is output and provided for use in an interface generation method, such as the method 200 discussed above with respect to FIGS. 5 - 6 .
- the trained state prediction model 280 can include a general state prediction model and/or a specific state type prediction model.
- a trained state prediction model 280 can be evaluated by an evaluation process 468 to determine the success rate of predicted state generated by the trained state prediction model 280 .
- the trained state prediction model 280 can be evaluated based on any suitable metrics, such as, for example, impressions for predicted states, interactions with predicted states, scrolling behavior for an interface including predicted states, gross merchandise value (GMV) of products purchased through a predicted state, accuracy of predicted states, weighted or macro precision of predicted states, weighted or macro recall of predicted states, an F or F1 score of the state prediction model, normalized discounted cumulative gain (NDCG) of the state prediction model, mean reciprocal rank (MRR) of the predicted states, mean average precision (MAP) score of the state prediction model, and/or any other suitable evaluation metrics.
- the trained state prediction model 258 b is evaluated based on a limited set of evaluation metrics.
- a trained state prediction model 280 can be evaluated based on weighted precision and recall, macro precision and recall, and an F-score. Although specific embodiments are discussed herein, it will be appreciated that any suitable set of evaluation metrics can be used to evaluate a trained state prediction model 280 .
- FIG. 12 illustrates a data layer process flow 500 for a trained state prediction model, in accordance with some embodiments.
- a trained state prediction model such as a trained state prediction model, includes a feature layer 502 configured to receive one or more sets of features.
- the set of features can include, but are not limited to, categorical features 552 and continuous features 554 .
- Each set of features 552 , 554 is provided to a feature embedding layer 504 configured to convert a set of features 552 , 554 into embeddings 556 a , 556 b (e.g., a lower-level vector representation of a higher-level input).
- the embeddings 556 a , 556 b can be generated using any suitable method, such as, for example, an autoencoder or a predictor.
- an encoding scheme such as soft hot encoding, one-hot encoding, or soft encoding
- a soft hot encoding process 558 is applied to the continuous features 554 to generate encoded input data.
- the encoding scheme such as a soft hot encoding scheme, can be configured to convert categorical data elements into numerical data suitable for use by a trained model, such as a trained state prediction model.
- an applied encoding process converts categorical data into numerical data and subsequently splits the converted data into multiple elements suitable for use by a trained state prediction model.
- a normalization layer 506 normalizes the embedding 556 a , 556 b and/or encoding features to generate feature-wise normalized inputs 560 a , 560 b .
- the normalized features are provided to a feature aggregation layer 508 configured to generate aggregated feature inputs by combining two or more of the normalized input features.
- the feature aggregation layer 508 can include a concatenation process 562 configured to concatenate two or more normalized features together.
- the feature aggregation layer 508 can include an element wise sum multiply process 564 configured to perform various combinatorial operations, such as an element-based summation and/or multiplication, to generate aggregated feature inputs.
- an element wise sum multiply process 564 configured to perform various combinatorial operations, such as an element-based summation and/or multiplication, to generate aggregated feature inputs.
- the processed (e.g., converted, normalized, and/or aggregated) features are provided to a prediction layer 510 .
- the prediction layer 510 includes a plurality of layers (e.g., hidden layers) configured to generate a next-state prediction based on the input features.
- the prediction layer 510 can include multiple sub-layers, such as a linear layer 566 and/or an attention layer 568 .
- the linear layer 566 includes a constant size input and a constant size output, e.g., sub layer within the linear layer 566 is a linear combination of prior layers.
- an attention layer 568 provides arbitrary sizing of inputs and outputs between layers. The output of the linear layer 566 and the attention layer 568 are converted into a next-state prediction, for example, by categorizing an output value into one of a set of potential next states.
- FIG. 13 illustrates an interface generation process flow 600 including insertion of elements selected by a next best state prediction method, in accordance with some embodiments.
- the interface generation process flow 600 is configured to perform “whole page” personalization in which a generated interface page and each element on the page are selected by one or more next state prediction engines.
- a default template 602 is selected including one or more intent zones 604 a - 604 c configured to receive one or more types of content based on a user intent.
- a “user intent” can be defined as a state, where the next state, e.g., the next expected user intent, can be predicted based on prior states, e.g., prior user intents.
- a first next state prediction model is configured to receive one or more prior intent states for a user and generate one or more next intent state predictions.
- the first next state prediction model can select, e.g., predict, a first intent type, such as “purchase low-consideration products,” for a first intent zone 604 a , a second intent type, such as “purchase high-consideration products,” for a second intent zone 604 b , and a third intent type, such as “purchase seasonal products,” for a third intent zone 604 c .
- a first intent type such as “purchase low-consideration products”
- a second intent type such as “purchase high-consideration products”
- a third intent type such as “purchase seasonal products”
- content elements 606 a - 606 f can be selected for each of the intent zones 604 a - 604 c .
- one or more content elements 606 a - 606 f such as one or more items for insertion into an item carousel, can be selected.
- the content elements 606 a - 606 f can be selected based on the intent type for each of the intent zones 604 a - 604 c.
- the intent and/or potential content elements can be represented as a probability (P) where:
- P ⁇ ( intent , pt ⁇ cid ) P ⁇ ( pt ⁇ cid , intent ) * P ⁇ ( intent ⁇ cid )
- intent is the predicted intent
- pt is a content element
- CID is a customer ID.
- the probability of a specific intent and content element can be predicted for a given user based on the probability of the content element within the intent for that user and the probability of the intent for that user.
- the individual content elements 606 a - 606 f can be ranked and presented in a personalized whole page interface 608 .
- the content elements 608 a - 608 f can be ranked using any suitable ranking mechanism, such as, for example, item ranking and re-ranking algorithms.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
Herein, the function f is a transfer function (another term is “activation function”). Known transfer functions are step functions, sigmoid function (e.g., the logistic function, the generalized logistic function, the hyperbolic tangent, the Arctangent function, the error function, the smooth step function) or rectifier functions. The transfer function is mainly used for normalization purposes.
wherein γ is a learning rate, and the numbers δj (n) can be recursively calculated as
based on δj (n+1), if the (n+1)-th layer is not the output layer, and
if the (n+1)-th layer is the
where intent is the predicted intent, pt is a content element, and CID is a customer ID. Thus, in some embodiments, the probability of a specific intent and content element can be predicted for a given user based on the probability of the content element within the intent for that user and the probability of the intent for that user.
Claims (17)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/148,254 US12197929B2 (en) | 2022-12-29 | 2022-12-29 | Systems and methods for sequential model framework for next-best user state |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/148,254 US12197929B2 (en) | 2022-12-29 | 2022-12-29 | Systems and methods for sequential model framework for next-best user state |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20240220286A1 US20240220286A1 (en) | 2024-07-04 |
| US12197929B2 true US12197929B2 (en) | 2025-01-14 |
Family
ID=91666759
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/148,254 Active 2042-12-29 US12197929B2 (en) | 2022-12-29 | 2022-12-29 | Systems and methods for sequential model framework for next-best user state |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US12197929B2 (en) |
Citations (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10360610B2 (en) | 2012-04-09 | 2019-07-23 | [24]7.ai, Inc. | Method and apparatus for intent modeling and prediction |
| US20190311279A1 (en) * | 2018-04-06 | 2019-10-10 | Adobe Inc. | Machine-learning models applied to interaction data for facilitating experience-based modifications to interface elements in online environments |
| CN112381186A (en) | 2021-01-18 | 2021-02-19 | 成都晓多科技有限公司 | Multi-industry multi-category intention identification method and device and storage medium |
| US10977058B2 (en) * | 2019-06-20 | 2021-04-13 | Sap Se | Generation of bots based on observed behavior |
| US20210233150A1 (en) | 2020-01-29 | 2021-07-29 | Walmart Apollo, Llc | Trending item recommendations |
| US20210365965A1 (en) * | 2020-05-25 | 2021-11-25 | Microsoft Technology Licensing, Llc | Self-supervised system generating embeddings representing sequenced activity |
| US11210712B2 (en) | 2019-07-24 | 2021-12-28 | Salesforce.Com, Inc. | Automatic rule generation for next-action recommendation engine |
| US20220058714A1 (en) * | 2020-08-18 | 2022-02-24 | Salesforce.Com, Inc. | Systems and methods for next basket recommendation with dynamic attributes modeling |
| US20220108680A1 (en) * | 2020-10-02 | 2022-04-07 | Google Llc | Text-to-speech using duration prediction |
| US20220254459A1 (en) * | 2021-02-09 | 2022-08-11 | Boe Technology Group Co., Ltd. | Data processing method, data processing device, computing device and computer readable storage medium |
| US20220286263A1 (en) * | 2019-11-25 | 2022-09-08 | Huawei Technologies Co., Ltd. | Signaling analysis method and related apparatus |
| US20220414432A1 (en) * | 2020-03-05 | 2022-12-29 | Amin BANITALEBI DEHKORDI | Method and system for splitting and bit-width assignment of deep learning models for inference on distributed systems |
| US20230207064A1 (en) * | 2021-12-29 | 2023-06-29 | Illumina, Inc. | Inter-model prediction score recalibration during training |
| US20230409956A1 (en) * | 2022-05-24 | 2023-12-21 | Servicenow, Inc. | Machine learning prediction of additional steps of a computerized workflow |
| US11886965B1 (en) * | 2022-10-27 | 2024-01-30 | Boomi, LP | Artificial-intelligence-assisted construction of integration processes |
-
2022
- 2022-12-29 US US18/148,254 patent/US12197929B2/en active Active
Patent Citations (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10360610B2 (en) | 2012-04-09 | 2019-07-23 | [24]7.ai, Inc. | Method and apparatus for intent modeling and prediction |
| US20190311279A1 (en) * | 2018-04-06 | 2019-10-10 | Adobe Inc. | Machine-learning models applied to interaction data for facilitating experience-based modifications to interface elements in online environments |
| US10977058B2 (en) * | 2019-06-20 | 2021-04-13 | Sap Se | Generation of bots based on observed behavior |
| US11210712B2 (en) | 2019-07-24 | 2021-12-28 | Salesforce.Com, Inc. | Automatic rule generation for next-action recommendation engine |
| US20220286263A1 (en) * | 2019-11-25 | 2022-09-08 | Huawei Technologies Co., Ltd. | Signaling analysis method and related apparatus |
| US20210233150A1 (en) | 2020-01-29 | 2021-07-29 | Walmart Apollo, Llc | Trending item recommendations |
| US20220414432A1 (en) * | 2020-03-05 | 2022-12-29 | Amin BANITALEBI DEHKORDI | Method and system for splitting and bit-width assignment of deep learning models for inference on distributed systems |
| US20210365965A1 (en) * | 2020-05-25 | 2021-11-25 | Microsoft Technology Licensing, Llc | Self-supervised system generating embeddings representing sequenced activity |
| US20220058714A1 (en) * | 2020-08-18 | 2022-02-24 | Salesforce.Com, Inc. | Systems and methods for next basket recommendation with dynamic attributes modeling |
| US20220108680A1 (en) * | 2020-10-02 | 2022-04-07 | Google Llc | Text-to-speech using duration prediction |
| CN112381186A (en) | 2021-01-18 | 2021-02-19 | 成都晓多科技有限公司 | Multi-industry multi-category intention identification method and device and storage medium |
| US20220254459A1 (en) * | 2021-02-09 | 2022-08-11 | Boe Technology Group Co., Ltd. | Data processing method, data processing device, computing device and computer readable storage medium |
| US20230207064A1 (en) * | 2021-12-29 | 2023-06-29 | Illumina, Inc. | Inter-model prediction score recalibration during training |
| US20230409956A1 (en) * | 2022-05-24 | 2023-12-21 | Servicenow, Inc. | Machine learning prediction of additional steps of a computerized workflow |
| US11886965B1 (en) * | 2022-10-27 | 2024-01-30 | Boomi, LP | Artificial-intelligence-assisted construction of integration processes |
Non-Patent Citations (5)
| Title |
|---|
| C. H. Park et al., "A multi-category customer base analysis," International Journal of Research in Marketing, vol. 31, Issue 3, Sep. 2014, pp. 266-279. |
| G. Khanna et al., "Method to Cross-Sell Digital Goods to Existing Physical Goods Buyers on Online Marketplaces," The IP.com Journal, Feb. 2, 2022, 2 pages. |
| G. Khanna, et al., "Method for Embedding Customers' Sequential Actions for Hyper-Personalised Recommendations," The IP.com Journal, Feb. 14, 2022, 3 pages. |
| Resulticks Solution Inc., "Next-best action," 2022, 3 pages. |
| S.Chib et al., "Analysis of Multi-Category Purchase Incidence Decisions Using IRI Market Basket Data," Econometric Models in Marketing, vol. 16, 2002, pp. 55-90. |
Also Published As
| Publication number | Publication date |
|---|---|
| US20240220286A1 (en) | 2024-07-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10354184B1 (en) | Joint modeling of user behavior | |
| US20190354796A1 (en) | Systems and Methods for Slate Optimization with Recurrent Neural Networks | |
| US11348572B2 (en) | Speech recognition method and apparatus | |
| US10726334B1 (en) | Generation and use of model parameters in cold-start scenarios | |
| US20210133846A1 (en) | Self-attention with functional time representation learning | |
| US11853901B2 (en) | Learning method of AI model and electronic apparatus | |
| US20240330765A1 (en) | Efficient feature merging and aggregation for predictive traits | |
| US20240256960A1 (en) | Systems and methods for semi-supervised anomaly detection through ensemble stacking | |
| US20240256874A1 (en) | Systems and methods for hybrid optimization training of multinomial logit models | |
| US20250131320A1 (en) | Systems and methods for identifying substitutes using learning-to-rank | |
| US20250045813A1 (en) | Systems and methods for real-time substitution | |
| US20230177585A1 (en) | Systems and methods for determining temporal loyalty | |
| US12020276B1 (en) | Systems and methods for benefit affinity using trained affinity models | |
| US20240221052A1 (en) | Systems and methods for next best action prediction | |
| US12524445B2 (en) | Systems and methods for cold-start recommendation using largescale graph models | |
| US12197929B2 (en) | Systems and methods for sequential model framework for next-best user state | |
| US20250225169A1 (en) | Systems and methods for matching data entities | |
| US20250247394A1 (en) | Systems and methods for system collusion detection | |
| US20250245478A1 (en) | Systems and methods for next-best action using a multi-objective reward based sequential framework | |
| US20240386353A1 (en) | Systems and methods for hybrid input modeling | |
| US20250131003A1 (en) | Systems and methods for interface generation using explore and exploit strategies | |
| US12314125B2 (en) | Systems and methods for automated anomaly detection in univariate time-series | |
| US20240220762A1 (en) | Systems and methods for cross pollination intent determination | |
| US12217296B2 (en) | Systems and methods using deep joint variational autoencoders | |
| US20240256301A1 (en) | Systems and methods for context aware reward based gamified engagement |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: WALMART APOLLO, LLC, ARKANSAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YAQOOB, ALI ARSALAN;XU, YUE;CHO, HYUN DUK;AND OTHERS;SIGNING DATES FROM 20221215 TO 20221228;REEL/FRAME:062239/0321 |
|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |