Movatterモバイル変換


[0]ホーム

URL:


Language selection

/Gouvernement du Canada
Search

Menus

Patent 3083958 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent Application:(11) CA 3083958(54) English Title:MAINTAINING CONTEXT IN TRANSACTION CONVERSATIONS(54) French Title:CONSERVATION DE CONTEXTE DANS DES CONVERSATIONS DE TRANSACTIONStatus:Deemed Abandoned and Beyond the Period of Reinstatement
Bibliographic Data
(51) International Patent Classification (IPC):N/A
(72) Inventors :
  • TOMAS ARIEL CAMPOS(United States of America)
  • RAJIV VENKATARAMANA APPANA(United States of America)
  • TUSHAR VAISH(United States of America)
  • MICHAEL SCOTT BLANDINA(United States of America)
(73) Owners :
  • ONEMARKET NETWORK LLC
(71) Applicants :
  • ONEMARKET NETWORK LLC (United States of America)
(74) Agent:SMART & BIGGAR LP
(74) Associate agent:
(45) Issued:
(86) PCT Filing Date:2018-11-28
(87) Open to Public Inspection:2019-06-06
Availability of licence: N/A
Dedicated to the Public: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT):Yes
(86) PCT Filing Number:PCT/US2018/062894
(87) International Publication Number:WO 2019108683
(85) National Entry:2020-05-29

(30) Application Priority Data:
Application No.Country/TerritoryDate
15/853,576(United States of America)2017-12-22
62/593,261(United States of America)2017-12-01

Abstracts

English Abstract

Disclosed are examples of systems, apparatus, methods and computer program products for maintaining context in a transaction conversation. A notification of a customer interaction from a customer is received within a retailer network (100, 104). Based on at least one messaging channel and at least one interaction type in the notification, the system determines (404) that an active conversation with the customer is open. A natural language processing (NLP) model is then selected (406) based on one or more conversation markers in the active conversation. At least one customer intent is determined (408) with respect to one or more entities, and a response to the customer interaction is generated (410) based on the at least one customer intent and the one or more entities.


French Abstract

La présente invention concerne des systèmes, appareils, procédés et produits-programmes d'ordinateur donnés à titre d'exemple, destinés à conserver le contexte dans une conversation de transaction. Une notification d'une interaction de client provenant d'un client est reçue au sein d'un réseau de détaillants (100, 104). Sur la base d'au moins un canal de messagerie et d'au moins un type d'interaction dans la notification, le système détermine (404) qu'une conversation active avec le client est ouverte. Un modèle de traitement de langage naturel (NLP) est ensuite sélectionné (406) sur la base d'un ou de plusieurs marqueurs de conversation dans la conversation active. Au moins une intention de client est déterminée (408) par rapport à une ou plusieurs entités, et une réponse à l'interaction de client est générée (410) sur la base de ladite intention de client et desdites entités.

Claims

Note: Claims are shown in the official language in which they were submitted.

<br/> CLAIMS <br/>What is claimed is:<br/>1. A method for maintaining context in an individualized transaction <br/>conversation <br/>within a retail network (100, 104), the method comprising:<br/>receiving (402) a notification of a customer interaction from a customer <br/>within the <br/>retailer network, the notification including at least one messaging channel <br/>and at least one <br/>interaction type;<br/>determining (404), based on the at least one messaging channel and at least <br/>one <br/>interaction type, that an active conversation with the customer is open;<br/>selecting (406), based on one or more conversation markers in the active <br/>conversation, a natural language processing (NLP) model from a list of NLP <br/>models;<br/>determining (408) at least one customer intent with respect to one or more <br/>entities; and<br/>generating (410) a response to the customer interaction based on the at least <br/>one <br/>customer intent and the one or more entities.<br/>2. The method of claim 1, further comprising:<br/>accessing a database of customer profiles; and<br/>matching the customer with at least one customer profile from the database of<br/>customer profiles, the customer profile including conversation history for the <br/>customer.<br/>3. The method of claim 2, wherein determining that an active conversation <br/>with the <br/>customer is open is based on the conversation history for the customer.<br/> -32-<br/><br/>4. The method of any of claims 1-3, further comprising:<br/>switching from the at least one messaging channel to one or more additional <br/>channels, wherein the switching involves maintaining context based on the at <br/>least one <br/>customer intent and the one or more entities.<br/>5. The method of any of claims 1-3, further comprising:<br/>sending one or more queries to the customer, the one or more queries relating <br/>to<br/>customer intents; and<br/>receiving one or more responses to the queries, wherein the determining the at<br/>least one customer intent is based on the one or more responses to the <br/>queries.<br/>6. The method of claim 5, further comprising:<br/>selecting at least one additional NLP model from the list of NLP models based <br/>on<br/>the one or more responses to the queries.<br/>7. The method of any of claims 1-3, wherein determining that an active <br/>conversation <br/>with the customer is open is based on a conversational threshold period, such <br/>that an <br/>active conversation is open if a previous conversation message was sent within <br/>the <br/>conversational threshold period.<br/>8. The method of any of claims 1-3, further comprising:<br/>-33-<br/><br/>determining, from the NLP model, required customer intent data that has not <br/>been <br/>obtained; and<br/>sending one or more queries to the customer with respect to the required <br/>customer <br/>intent data.<br/>9. The method of any of claims 1-3, wherein one or more steps of the method <br/>are <br/>performed using machine learning and/or predictive analysis techniques.<br/>10. A system for maintaining context in an individualized transaction <br/>conversation <br/>within a retail network (100, 104), the system configurable to cause:<br/>receiving (402) a notification of a customer interaction from a customer <br/>within the <br/>retailer network, the notification including at least one messaging channel <br/>and at least one <br/>interaction type;<br/>determining (404), based on the at least one messaging channel and at least <br/>one <br/>interaction type, that an active conversation with the customer is open;<br/>selecting (406), based on one or more conversation markers in the active <br/>conversation, a natural language processing (NLP) model from a list of NLP <br/>models;<br/>determining (408) at least one customer intent with respect to one or more <br/>entities; and<br/>generating (410) a response to the customer interaction based on the at least <br/>one <br/>customer intent and the one or more entities.<br/>11. The system of claim 10, further configurable to cause:<br/>-34-<br/><br/>accessing a database of customer profiles; and<br/>matching the customer with at least one customer profile from the database of<br/>customer profiles, the customer profile including conversation history for the <br/>customer.<br/>12. The system of claim 11, wherein determining that an active conversation <br/>with the <br/>customer is open is based on the conversation history for the customer.<br/>13. The system of any of claims 10-12, further configurable to cause:<br/>switching from the at least one messaging channel to one or more additional <br/>channels, wherein the switching involves maintaining context based on the at <br/>least one <br/>customer intent and the one or more entities.<br/>14. The system of any of claims 10-12, further configurable to cause:<br/>sending one or more queries to the customer, the one or more queries relating <br/>to<br/>customer intents; and<br/>receiving one or more responses to the queries, wherein the determining the at<br/>least one customer intent is based on the one or more responses to the <br/>queries.<br/>15. The system of claim 14, further configurable to cause:<br/>selecting at least one additional NLP model from the list of NLP models based <br/>on<br/>the one or more responses to the queries.<br/>-35-<br/><br/>16. The system of any of claims 10-12, wherein determining that an active <br/>conversation with the customer is open is based on a conversational threshold <br/>period, <br/>such that an active conversation is open if a previous conversation message <br/>was sent <br/>within the conversational threshold period.<br/>17. The system of any of claims 10-12, further configurable to cause:<br/>determining, from the NLP model, required customer intent data that has not <br/>been<br/>obtained; and<br/>sending one or more queries to the customer with respect to the required <br/>customer<br/>intent data.<br/>18. The system of any of claims 10-12, wherein one or more steps of the <br/>method are <br/>performed using machine learning and/or predictive analysis techniques.<br/>-36-<br/>
Description

Note: Descriptions are shown in the official language in which they were submitted.

<br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>MAINTAINING CONTEXT IN TRANSACTION <br/>CONVERSATIONS<br/>CLAIM OF PRIORITY <br/>.. [0001] This application claims priority to U.S. Patent Application Serial <br/>No.<br/>15/853,576, filed December 22, 2017, entitled "MAINTAINING CONTEXT IN <br/>TRANSACTION CONVERSATIONS", which claims priority to U.S. Provisional <br/>Patent Application Serial No. 62/593,261, filed Dec. 1, 2017, entitled <br/>"MAINTAINING CONTEXT IN TRANSACTION CONVERSATIONS", and<br/> .. these applications are herein incorporated by reference in their entirety.<br/>FIELD OF THE TECHNOLOGY <br/>[0002] The present invention relates to retail transactions, and more <br/>specifically to <br/>providing interactive transaction returns within a retailer network.<br/> BACKGROUND <br/>[0003] After a customer completes a purchase transaction of goods or services <br/>in a <br/>"brick and mortar" (i.e., physical location) retail store, a store employee <br/>typically <br/>provides a printed paper receipt to the customer at the point of sale (POS). <br/>The<br/>.. customer may also be presented with the additional or alternative option of <br/>having a<br/>digital receipt emailed to him/her.<br/>[0004] While this is a familiar process to customers, there are some <br/>limitations in <br/>the typical model of providing receipts. Customers often complain that printed <br/>receipts are not environmentally friendly, and losing receipts is a common <br/>issue.<br/>From a retailer's perspective, the engagement with a printed receipt is very <br/>low,<br/>since customers rarely return to a receipt to inspect it or follow up on the <br/>information contained in it. Email receipts, meanwhile, are falling out of <br/>favor with<br/>-1-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>younger generations that increasingly prefer messaging channels to <br/>communicate. <br/>For retailers, email receipts do not provide a way to have a two-way dialogue <br/>with a <br/>customer and keep the customer engaged, satisfied, and interested. Neither <br/>printed <br/>nor email receipts provide a way to understand the customer on an ongoing <br/>basis<br/> after the point of sale.<br/>-2-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>SUMMARY OF THE INVENTION <br/>[0005] The following presents a simplified summary of the disclosure in order <br/>to <br/>provide a basic understanding of certain embodiments of the invention. This <br/>summary is not an extensive overview of the disclosure and it does not <br/>identify<br/>.. key/critical elements of the invention or delineate the scope of the <br/>invention. Its sole<br/>purpose is to present some concepts disclosed herein in a simplified form as a <br/>prelude to the more detailed description that is presented later.<br/>100061 In general, certain embodiments of the present invention provide <br/>mechanisms for maintaining context in an individualized transaction <br/>conversation<br/>within a retail network. A notification of a customer interaction from a <br/>customer is<br/>received within a retailer network. Based on at least one messaging channel <br/>and at <br/>least one interaction type in the notification, the system determines that an <br/>active <br/>conversation with the customer is open. A natural language processing (NLP) <br/>model <br/>is then selected based on one or more conversation markers in the active<br/>conversation. At least one customer intent is determined with respect to one <br/>or more<br/>entities, and a response to the customer interaction is generated based on the <br/>at least <br/>one customer intent and the one or more entities.<br/>[0007] In some embodiments, these steps allow a customer to switch messaging <br/>channels from one to another in the middle of a conversation, without need for<br/>.. establishing a new conversation or transaction, re-authenticating, or doing <br/>anything<br/>else on a different messaging channel. For example, a customer may be having a <br/>conversation with a retailer chatbot in his car, through his car's <br/>conversation <br/>features. When the customer is home, he will be able to continue the <br/>conversation <br/>where he left off on his Google Home appliance without performing any extra <br/>steps<br/>to re-establish the conversation. In this sense, the system is capable of <br/>maintaining<br/>context like a real assistant would. In some implementations, rather than a <br/>conversation, context can be maintained in a shopping experience or online <br/>experience. This experience can start or stop at any time, and the context can <br/>be <br/>maintained throughout.<br/>-3-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>[0008] In some embodiments, a two-way conversation between the customer and <br/>the <br/>retailer or retailer network can occur, individualized and based on the <br/>transaction, <br/>messaging channel, customer profile, customer insights, and other relevant <br/>data <br/>within the retailer network. In some embodiments, as the insight and <br/>understanding<br/> into a customer accrue from conversation history, messaging, interactions, <br/>transactions, inferred insights, and more, the conversation can be further <br/>individualized to suit a customer's needs and market more efficiently to the <br/>customer. In some embodiments, the process of individualized transaction <br/>messages <br/>or conversations being initiated with the customer after a transaction is <br/>performed in<br/>real time or substantially real time, effectively allowing for communication <br/>immediately or nearly immediately after a transaction is completed.<br/>[0009] These and other features of the present invention will be presented in <br/>more <br/>detail in the following specification of certain embodiments of the invention <br/>and the <br/>accompanying figures which illustrate by way of example the principles of the<br/>invention.<br/>-4-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>BRIEF DESCRIPTION OF THE DRAWINGS <br/>[0010] The included drawings are for illustrative purposes and serve only to <br/>provide <br/>examples of possible structures and operations for the disclosed inventive <br/>systems, <br/>apparatus, methods and computer program products for providing interactive<br/> transaction returns in a retailer network. These drawings in no way limit any<br/>changes in form and detail that may be made by one skilled in the art without <br/>departing from the spirit and scope of the disclosed implementations.<br/>[0011] Figure 1A shows an example of a system for maintaining context in an <br/>individualized transaction conversation within a retailer network, in <br/>accordance with<br/>some implementations.<br/>[0012] Figure 1B shows an example of a system for maintaining context in an <br/>individualized transaction conversation within a retailer network, in <br/>accordance with <br/>some implementations.<br/>[0013] Figure 2 shows a flowchart of an example of a method for providing<br/>transaction messages within a retailer network, performed in accordance with <br/>some<br/>implementations.<br/>[0014] Figure 3 shows a flowchart of an example of a method for providing an <br/>individualized transaction conversation within a retailer network, performed <br/>in <br/>accordance with some implementations.<br/>[0015] Figure 4 shows a flowchart of an example of a method for maintaining<br/>context in an individualized transaction conversation within a retailer <br/>network, <br/>performed in accordance with some implementations.<br/>[0016] Figure 5 shows a flowchart of an example of a method for maintaining <br/>context in an individualized transaction conversation within a retailer <br/>network, in<br/>accordance with some implementations.<br/>[0017] Figure 6A illustrates an initial product query screenshot, in <br/>accordance with <br/>some implementations.<br/>[0018] Figure 6B illustrates an example screenshot that includes product <br/>purchase <br/>information, in accordance with some implementations<br/>-5-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>[0019] Figure 6C illustrates an example screenshot of additional product <br/>details that <br/>are presented to the customer, in accordance with some implementations.<br/>[0020] Figure 6D illustrates an options screenshot for presenting additional <br/>content, <br/>in accordance with some implementations.<br/>[0021] Figure 7 illustrates the training of a predictive model for maintaining <br/>context <br/>in an individualized transaction conversation within a retailer network, in <br/>accordance with some implementations.<br/>[0022] Figure 8 illustrates an example of a server, configured in accordance <br/>with <br/>one or more embodiments.<br/>-6-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>DETAILED DESCRIPTION OF THE SPECIFIC EMBODIMENTS <br/>[0023] In the following description, numerous specific details are set forth <br/>in order <br/>to provide a thorough understanding of the present invention. The present <br/>invention <br/>may be practiced without some or all of these specific details. In other <br/>instances,<br/> well known process operations have not been described in detail to not<br/>unnecessarily obscure the present invention. While the invention will be <br/>described <br/>in conjunction with the specific embodiments, it will be understood that it is <br/>not <br/>intended to limit the invention to the embodiments.<br/>[0024] For every transaction, a digital receipt is offered to the customer. If <br/>selected<br/>as an option, the digital receipt is sent electronically via email to the <br/>customer, along<br/>with additional content. Although this type of receipt can work well with some <br/>customers, the burden of accessing the receipt is on the customer. That is, <br/>the <br/>customer must remember to access her email and then open the digital receipt, <br/>as <br/>well as maintaining a copy of such receipt for later use, such as a product <br/>return or a<br/>question about a product.<br/>[0025] Certain embodiments of the present invention automatically provide <br/>digital <br/>receipts for purchased goods, or other content related to customers, potential <br/>customers, transactions, retailers, or products within the retailer network, <br/>through a <br/>diverse set of messenger channels so that a customer can access the digital <br/>receipts<br/>and additional content through her preferred channel or even different <br/>preferred<br/>channels at different times. For instance, cross-channel mechanisms provide <br/>access <br/>to digital receipts and their associated additional content through messenger <br/>channels, such as SMS, Whatsapp, Messenger, WeChat, QQ, Snapchat, Fiber, Line, <br/>Telegram, Tango, Kik, etc. Said in another way, context around digital receipt <br/>use is<br/>maintained and available across multiple messaging channels.<br/>[0026] Figure 1A shows an example of a system for maintaining context in an <br/>individualized transaction conversation within a retailer network, in <br/>accordance with <br/>some implementations. The system in Figure 1A includes a variety of different <br/>hardware and/or software components which are in communication with each <br/>other.<br/>The non-limiting example of Figure 1A includes at least one retailer network <br/>server<br/>-7-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>104, at least one client system 108, at least one retailer database 112, and <br/>at least one <br/>customer profile database 122.<br/>[0027] Retailer database 112 is a database that stores and maintains data <br/>pertaining <br/>to a plurality of retailers within a retailer network. In some <br/>implementations, the<br/>retailer database 112 is a multi-tenant database or other non-relational <br/>database<br/>management system. This database can include one or more records for each of a <br/>plurality of retailers within a retailer network. In some implementations, the <br/>database can include one or more shared tables, in which multiple retailers <br/>have <br/>records in the same table, and share many of the same standard objects and <br/>columns<br/> for their records.<br/>[0028] Customer Profile Database 122 is a database that stores and maintains <br/>customer profiles. In some implementations, the customer profile database 122 <br/>may <br/>be a single customer profile database shared by retailers within the retailer <br/>network. <br/>In some implementations, various permissions are placed within the Customer<br/> Profile Database 122 such that limited views of the information are provided<br/>depending on the retailers' access permissions for tables and fields.<br/>[0029] Retailer network server 104 may communicate with other components of <br/>the <br/>system. This communication may be facilitated through a combination of <br/>networks <br/>and interfaces. Retailer network server 104 may handle and process data <br/>requests<br/>from the client system 108. Likewise, retailer network server 104 may return a<br/>response to client system 108 after a data request has been processed. For <br/>example, <br/>retailer network server 104 may retrieve data from one or more databases, such <br/>as <br/>the retailer database 112 or the customer profile database 122. It may combine <br/>some <br/>or all of the data from different databases, and send the processed data to <br/>client<br/>system 108.<br/>[0030] Client system 108 may be a computing device capable of communicating <br/>via <br/>one or more data networks with a server. Examples of client system 108 include <br/>a <br/>desktop computer or portable electronic device such as a smartphone, a tablet, <br/>a <br/>laptop, a wearable device, an optical head-mounted display (OHMD) device, a <br/>smart<br/>-8-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>watch, etc. Client system 108 includes at least one browser in which <br/>applications <br/>may be deployed.<br/>[0031] Figure 1B shows an example of a system 100 for maintaining context in <br/>an <br/>individualized transaction conversation within a retailer network, in <br/>accordance with<br/> some implementations. In some implementations, system 100 may represent a<br/>retailer network. In some implementations, a retailer network may be <br/>maintained <br/>and operated by a retail solutions provider. For example, a single retail <br/>solutions <br/>provider may offer a central hub for retailers to offer goods and services in <br/>a <br/>physical space, such as a mall. In some implementations, such a central hub <br/>can be a<br/>physical space, online marketplace, a mobile application, a sales cloud <br/>service, or<br/>any other physical or non-physical hub for retailers to be grouped under. A <br/>retailer <br/>network may offer centralized services, marketing data, customer-facing <br/>storefronts, <br/>exchanges between retailers, and other services for retailers and their <br/>customers.<br/>[0032] Retailer Engine 110 is an engine for providing services that a retailer <br/>uses to<br/>interact within the retailer network or system 100. In some implementations,<br/>Retailer Engine 110 provides a complete set of services for retailers. In some <br/>implementations, retailer services may include services relating to or <br/>facilitating <br/>Point of Sale (POS) transactions, online retail services for customers, <br/>marketing <br/>campaigns, customer profiles, customer data analytics, and more. In some<br/>implementations, retailer engine 110 handles connectivity to retailers and <br/>retailer<br/>systems, including authentication of retailers within system 100. In some <br/>implementations, retailer engine 110 interfaces with message creation or <br/>conversation creation components of system 100 in order to deliver information <br/>and <br/>services relating to retailers, transactions, products, and more.<br/>[0033] Retailer Database 112 is a database within the retailer network of some <br/>or all<br/>of the retailers within the retailer network. The Retailer Database 112 stores <br/>retailer <br/>information, retailer metadata, information about the financial or other <br/>aspects of the <br/>retailer with respect to the retailer network, and any other information <br/>relating to <br/>retailers within the retailer network. In some implementations, the retailer <br/>database<br/>-9-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>112 stores information relating to product configurations, inventory, and/or <br/>product <br/>data for one or more retailers.<br/>[0034] Transaction Engine 114 is an engine that facilitates the transaction <br/>between a <br/>customer and a retailer. Customers may be shoppers who have purchased goods or<br/>services from the retailer or are about to purchase goods or services from the<br/>retailer, or have otherwise used or entered into a relationship with the <br/>retailer. <br/>Customers within the retailer network may potentially be customers of more <br/>than <br/>one retailer in the network. For example, a customer Mark might shop at one <br/>retailer <br/>for shoes, then go to a different retailer in the same retailer network for <br/>jeans. Each<br/>transaction with the retailer is facilitated by the Transaction Engine 114. In <br/>some<br/>implementations, the Transaction Engine 114 provides services for POS <br/>transactions, online transactions, credit card authorization and management, <br/>and <br/>otherwise facilitates the completion of transactions. In some implementations, <br/>system 100 stores transaction information, including any transaction updates <br/>or<br/> history that is received from or processed within the Retailer Engine. The<br/>Transaction Engine interfaces with the Retailer Engine 110 to receive data on <br/>retailers, products, and customers for processing the transactions.<br/>[0035] Receipt Engine 116 is an engine of system 100 that generates and <br/>retrieves <br/>receipt information for customers who have completed transactions, and adds<br/>functionality to receipts in various ways. In some implementations, the <br/>retailer<br/>creates a receipt based on a transaction independently of the retailer network <br/>or <br/>system 100, and receipt engine 116 then recreates the receipt within a format <br/>compatible with the retailer network and its processes. Receipt engine 116 <br/>recreates <br/>the receipt with functionality and aspects that enable it to be understood by <br/>other<br/>components of system 100, and allows it to be passed on in various ways to <br/>others<br/>parts of system 100 and to customers in messages and/or conversations. In some <br/>implementations, receipts may be generated automatically. For example, <br/>automatic <br/>expense generation processes may automatically generate receipts in a number <br/>of <br/>ways. In some implementations, the receipts are generated in such a way that <br/>they<br/>are presentable to customers. When interfacing together, the Receipt Engine <br/>116 and<br/>the Transaction Engine 114 allow for the creation and lifecycle management of<br/>-10-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>orders. In some implementations, the Receipt Engine 116 is configured to <br/>create and <br/>receive receipts as well as send receipt events, including triggering events <br/>for other <br/>parts of the system 100, to deliver receipts to customers.<br/>[0036] Customer Profile Engine 120 allows for storage, retrieval, and <br/>processing of<br/>customer profiles within the retailer network. In some implementations, <br/>customer<br/>profiles capture a partial or full view of a customer from multiple angles <br/>within the <br/>retailer network. In some implementations, portions of customer profiles or <br/>complete customer profiles are viewable by certain retailers in the retailer <br/>network, <br/>or all of the retailers in the retailer network. In some implementations, some <br/>or all of<br/> customer profiles can be shared among retailers, and the captured data from<br/>transactions and other pieces of customer data or knowledge can be used for <br/>each <br/>retailer in the network to gain a better understanding of the customer and use <br/>that <br/>understanding to provide more customized services for the customer. In some <br/>implementations, a customer profile may contain data such as customer <br/>metadata,<br/>information about the devices that a customer is using or has used, explicit <br/>customer<br/>preferences, implicit customer preferences or customer insights inferred from <br/>data <br/>within the retailer network, information about the messaging channels the <br/>customer <br/>prefers or has used before, and more.<br/>[0037] Customer Profile Database 122 is a database that stores and maintains<br/>customer profiles. Customer Profile Engine 120 stores customer profiles and<br/>customer information within the Customer Profile Database 122, and retrieves <br/>information from the database as well. In some implementations, the customer <br/>database may be a single retailer database shared by retailers within the <br/>retailer <br/>network. In some implementations, various permissions are placed within the<br/> Customer Profile Database 122 such that limited views of the information are<br/>provided depending on the retailers' access permissions for tables and fields.<br/>[0038] Conversation Engine 130 allows for the creation, processing, and <br/>analysis of <br/>individualized transaction conversations within the system 100. Individualized <br/>transaction conversations are conversations between one or more customers and <br/>one<br/>or more retailers, one or more customers and the retailer network provider, or <br/>some<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>other such combination resulting in a conversation between any entities or <br/>agents of <br/>the retail network and one or more customers. In varying embodiments, the <br/>conversations are individualized such that they are tailored to the customer <br/>or <br/>customers' profile data, including the customer's preferences, needs, <br/>historical<br/>behavior from past transactions or conversations, the customer's interactions <br/>with<br/>retailers or retailer networks in the past, user device information, preferred <br/>messaging channels, and more. The Conversation Engine 130 interfaces with the <br/>Customer Profile Engine 120 to retrieve and process customer profile data, in <br/>order <br/>to individualize and tailor the conversation to a particular customer or <br/>customers. In<br/>some implementations, the Conversation Engine 130 selects a messaging template<br/>from the Template Database 132. In some implementations, messaging templates <br/>are templates that can be selected based on preferred messaging channel, user <br/>device <br/>currently being used, type of message being prepared for the customer, and <br/>more. In <br/>some implementations, the Conversation Engine 130 is configured to wait for <br/>and<br/> receive interactions from the customer within the conversation, then respond<br/>accordingly. In some implementations, interactions may include responding back <br/>by <br/>text, voice, or other means of communication, clicking on buttons, hovering on <br/>one <br/>or more items within the content of the conversation, or simply doing nothing <br/>for a <br/>period of time. In some implementations, responses may be dynamically <br/>generated<br/>based on the context of the conversation, the interaction being responded to,<br/>inferring one or more pieces of data about the customer's needs based on the <br/>customer profile, or any other relevant info relating to the conversation and <br/>the <br/>customer. For example, the Conversation Engine 130 may retrieve a customer <br/>profile showing that the customer does not like to be contacted more than once <br/>a<br/>day. Accordingly, the engine may opt to not respond to the interaction, but <br/>may<br/>rather wait until the next day to respond. In another example, the user may <br/>reply to a <br/>receipt asking for the expected date of delivery, and the Conversation Engine <br/>130 <br/>can retrieve such data from the Transaction Engine 114 or Receipt Engine 116, <br/>then <br/>respond to the customer accordingly. Several other possibilities for <br/>responding to<br/>interactions can be contemplated. The Conversation Engine 130 also interfaces <br/>with<br/>a Messaging Engine 140, which generates and sends the individualized <br/>transaction<br/>-12-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>messages that can begin a particular conversation with a customer, and a <br/>Natural <br/>Language Processing Engine 134, which parses user interactions and messages, <br/>analyzes them for meaning, intent, entities, attributes, and/or context, and <br/>sends <br/>information to the Conversation Engine 130 for generating responses and future<br/> conversations.<br/>[0039] The Machine Learning and Predictive Engine 150 facilitates machine <br/>learning and predictive analysis within the system 100 for various processes, <br/>including customer insights and preferences, how to generate individualized <br/>transaction messages and responses to interactions, and more. In some<br/>implementations, the engine predicts customer behavior or preferences based on<br/>historical data about the customer and/or other customers within the retailer <br/>network. Machine learning and predictive processes are discussed further <br/>below.<br/>[0040] Figure 2 shows a flowchart of an example of a method 200 for providing <br/>transaction messages within a retailer network, performed in accordance with <br/>some<br/>implementations. Method 200 and other methods described herein may be<br/>implemented using system 100 of Figure 1B, although the implementations of <br/>such <br/>methods are not limited to system 100.<br/>[0041] At block 202, system 100 receives identity information for a customer <br/>captured during a transaction. In some implementations, the transaction is <br/>between a<br/>customer and a retailer within the retailer network. In some implementations, <br/>this<br/>identity information is captured during a POS at a physical retailer space, <br/>while in <br/>other implementations, the identity information is captured via forms during <br/>an <br/>online transaction process. Identity information may include, for example, the <br/>customer's phone number, full name, address, credit card or payment <br/>information,<br/>age, gender, income, purchasing preferences, and preferred methods of <br/>messaging or<br/>communication.<br/>[0042] At block 204, system 100 accesses a database of customer profiles. In <br/>some <br/>implementations, each customer profile is associated with one or more <br/>retailers in <br/>the retailer network. In some implementations, the database is the Customer <br/>Profile<br/>Database 122. The customer profile may contain any amount of a wide variety of<br/>-13-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>customer information, including, for example, customer metadata, user devices <br/>currently or historically used, past purchasing history, customer demographic <br/>market, family information, customer insights inferred from other data, <br/>predictive <br/>information about the customer, locations the customer has visited, social <br/>media<br/> presences of the customer, and social graphs for the customer. In some<br/>implementations, customer profile information is stored in the database only <br/>if the <br/>customer grants permission.<br/>[0043] At block 206, system 100 matches the identity information for the <br/>customer <br/>with at least one customer profile from the database. For example, the only <br/>identity<br/>information about the customer gained during the transaction may have been a <br/>customer phone number. System 100 matches the phone number with a customer <br/>profile with the same phone number. In some implementations, more than one <br/>customer profile may be matched with the identity information, each containing <br/>some overlapping content (for example, the multiple customer profiles may <br/>contain<br/>the same phone number but different email addresses or different names.) In <br/>some<br/>implementations, upon matching the identity information with a customer <br/>profile, <br/>system 100 links the identities, i.e. the identity information and the <br/>customer profile. <br/>In this way, a unified customer profile, or unified identity, can gradually <br/>emerge <br/>over time based on one or more transactions with retailers and additional<br/>information captured about the customer. In some implementations, once the<br/>identities are linked, system 100 can further make inferences based on the <br/>unified <br/>identity, including potentially predictive analysis and/or machine learning <br/>via the <br/>machine learning and predictive engine 150. In some implementations, various <br/>user <br/>IDs associated with the customer are federated into the customer profile, thus<br/>creating a federated customer profile and allowing several different <br/>identities from<br/>different transactions and retailers to link together to form a single, <br/>unified customer <br/>profile. In some implementations, a federated customer profile may contain <br/>information relating to one or more of: the retailer, one or more additional <br/>retailers, <br/>the transaction, one or more additional transactions, and one or more <br/>messaging<br/>channels. In some implementations, a federated customer profile can contain <br/>one or<br/>-14-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>more pieces of information outside of the retailer network, such as an email <br/>address <br/>that hasn't been used within the retailer network.<br/>[0044] At block 208, system 100 determines one or more preferred messaging <br/>channels associated with the customer. In some implementations, the preferred<br/>.. messaging channel or channels may be explicitly given by a customer, or <br/>explicitly<br/>appear in a customer profile or customer interaction. In some implementations, <br/>the <br/>preferred messaging channels may be implicitly determined rather than <br/>explicit. In <br/>some implementations, the preferred messaging channels are determined from the <br/>customer profile. For example, a customer may have indicated in a feedback <br/>form<br/> that the customer prefers phone and Facebook Messenger to other messaging <br/>channels. System 100 then infers which of the two options is the user's <br/>current <br/>preferred messaging channel, or infers that a combination of both are <br/>preferred, <br/>based on other pieces of customer profile info, such as which of the two <br/>options the <br/>user has historically used more often, or used more recently.<br/>[0045] At block 210, system 100 sends one or more individualized transaction<br/>messages to the customer via the preferred messaging channels. In some <br/>implementations, multiple individualized transaction messages may be sent to <br/>the <br/>customer simultaneously, near-simultaneously, or successively in a single <br/>session. <br/>In some implementations, one or more individualized transaction messages are <br/>sent<br/>to multiple customers at once. In some implementations, the individualized<br/>transaction messages are related to the transaction, and are tailored and <br/>dynamically <br/>generated for the customer based on the customer's preferences and/or customer <br/>insights inferred from the customer profile information. In some <br/>implementations, <br/>one or more customer insights are generated for the customer based on the <br/>identity<br/>information for the customer, the retailer, and one or more pieces of data <br/>related to<br/>the transaction. The individualized transaction message or messages are then <br/>generated dynamically based on the generated customer insights. For example, <br/>system 100 may generate customer insights that the customer likes to shop for <br/>children's clothes at a particular children's clothing store on Sundays, and <br/>may tailor<br/>an individualized transaction message about children's clothing to appear on<br/>Saturday nights, when the customer may be preparing to shop for clothes.<br/>-15-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>Furthermore, the system 100 may infer from the size and style of the products <br/>purchased in the past that the customer is buying the clothes for his <br/>daughter, age 8-<br/>10, and tailor the conversation accordingly.<br/>[0046] In some implementations, an individualized transaction message can be a<br/>digital receipt for the transaction. In some implementations, the <br/>individualized<br/>transaction messages include selectable content that initiates, upon <br/>selection, an <br/>additional interactive process with the customer that is related to the <br/>transaction. <br/>Some examples include forms, fields, action buttons, links, and radio buttons. <br/>In <br/>some implementations, system 100 initiates the communication according to an<br/>Application Programming Interface (API) for the messaging channel, or <br/>capabilities<br/>stipulated elsewhere for the messaging channel. The method 200 of providing an <br/>individualized transaction message ends at block 212.<br/>[0047] Figure 3 shows a flowchart of an example of a method 300 for providing <br/>an <br/>individualized transaction conversation within a retailer network, performed <br/>in<br/> accordance with some implementations. Method 300 and other methods described<br/>herein may be implemented using system 100 of Figure 1B, although the <br/>implementations of such methods are not limited to system 100.<br/>[0048] At block 302, system 100 receives a notification of a triggering event. <br/>In <br/>some implementations, the triggering event is related to a customer and one or <br/>more<br/>retailers within the retailer network. A triggering event is some event that <br/>triggers<br/>the possibility of sending a message to or initiating a conversation with a <br/>customer <br/>within the retailer network. Examples of triggering events may include a <br/>completed <br/>transaction, which triggers the possibility of sending a digital receipt for <br/>the <br/>transaction to the customer; the delivery of an item, which triggers the <br/>possibility of<br/>sending a delivery notification to the customer about the item; or the <br/>occurrence of a<br/>two-week date since an item was delivered to the customer, which triggers the <br/>possibility of sending a feedback request to the user regarding whether the <br/>user liked <br/>the product. In some implementations, the triggering event can be sent from a <br/>chatbot, a retailer, a third party outside of the retailer network, or other <br/>source. In<br/>some implementations, notifications for triggering events can be sent from <br/>multiple<br/>-16-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>sources at once, or multiple triggering events can be combined from one or <br/>more <br/>sources into a single notification. In some implementations, system 100 <br/>actively <br/>listens for notifications and triggering events or toggles between an active <br/>listening <br/>mode and a mode that disables listening based on various situations.<br/>[0049] At block 304, system 100 accesses a database of customer profiles. In <br/>some<br/>implementations, each customer profile is associated with one or more <br/>retailers in <br/>the retailer network. In some implementations, the database is the Customer <br/>Profile <br/>Database 122. The customer profile may contain any amount of a wide variety of <br/>customer information, including, for example, customer metadata, user devices<br/> currently or historically used, past purchasing history, customer demographic<br/>market, customer insights inferred from other data, predictive information <br/>about the <br/>customer, and social media presences of the customer. In some implementations, <br/>customer profile information is stored in the database only if the customer <br/>grants <br/>permission.<br/>[0050] At block 306, system 100 matches the customer with at least one <br/>customer<br/>profile from the database. For example, identity information about the <br/>customer may <br/>have been captured during a transaction with a retailer, such as a customer <br/>phone <br/>number. System 100 matches the phone number with a customer profile with the <br/>same phone number. In some implementations, upon matching the identity<br/>information with a customer profile, system 100 system 100 links the <br/>identities, i.e.<br/>the identity information and the customer profile. In this way, a unified <br/>customer <br/>profile, or unified identity, can gradually emerge over time based on one or <br/>more <br/>transactions with retailers and additional information captured about the <br/>customer. <br/>In some implementations, once the identities are linked, system 100 can <br/>further<br/>make inferences based on the unified identity, including potentially <br/>predictive<br/>analysis and/or machine learning via the machine learning and predictive <br/>engine <br/>150. In some implementations, various user IDs associated with the customer <br/>are <br/>federated into the customer profile, thus creating a federated customer <br/>profile and <br/>allowing several different identities from different transactions and <br/>retailers to link<br/>together to form a single, unified customer profile. In some implementations, <br/>a<br/>federated customer profile may contain information relating to one or more of: <br/>the<br/>-17-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>retailer, one or more additional retailers, the transaction, one or more <br/>additional <br/>transactions, and one or more messaging channels. In some implementations, a <br/>federated customer profile can contain one or more pieces of information <br/>outside of <br/>the retailer network, such as an email address that hasn't been used within <br/>the<br/> retailer network.<br/>[0051] At block 308, system 100 determines a message type based at least on <br/>the <br/>triggering event. Message types correspond to messages that the system might <br/>send <br/>to the user in various situations. In some implementations, message types can <br/>include, for example, digital receipts, feedback requests, deals, retailer <br/>information,<br/>product information, customer information, concierge services, tracking <br/>information, returns and exchanges, related products, recommendations, and <br/>additional content about products, services, transactions, retailers, or the <br/>retailer <br/>network. Messages may also relate to allowing the customer to join an online <br/>community for fostering communication about the product or related topics, <br/>such as<br/>offering membership to a Facebook group dedicated to a trending style movement <br/>to<br/>a customer who has purchased a trending piece of clothing. In some <br/>implementations, system 100 determines a response type or interaction type <br/>instead <br/>of or in addition to the message type. For example, the response type may be <br/>determined based on a customer initiating a response to a message, indicating <br/>that<br/>she wishes to have a video about a product sent to her phone. System 100 then<br/>determines the response type based on the intent of the customer to have a <br/>video <br/>sent to her, formatted for a specific device and/or message channel.<br/>[0052] At block 310, system 100 determines a preferred messaging channel <br/>associated with the customer. In some implementations, the preferred messaging<br/>channel is determined from the customer profile. For example, a customer may <br/>have<br/>indicated in a feedback form that the customer prefers phone and Facebook <br/>Messenger to other messaging channels. System 100 then infers which of the two <br/>options is the user's current preferred messaging channel based on other <br/>pieces of <br/>customer profile info, such as which of the two options the user has <br/>historically used<br/>more often, or used more recently.<br/>-18-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>[0053] At block 312, system 100 selects a message template based on at least <br/>the <br/>message type and message channel. In some implementations, the message <br/>template <br/>is selected from a list of message templates, such as the templates located <br/>within <br/>Template Database 132. In some implementations, the message template relates <br/>to<br/>instructions, steps, or rules associated with the determined message type and <br/>the<br/>determined messaging channel. For example, the Facebook Messenger API, or <br/>capabilities stipulated elsewhere for the Facebook Messenger, may determine <br/>that <br/>there is a limit to the number of messages that system 100 should send to <br/>customers <br/>within the Facebook Messenger messaging channel. Accordingly, the message<br/>template may stipulate that no more than X number of messages may be sent per <br/>day<br/>to a customer. In some implementations, the message template contains <br/>particular <br/>formatting and content that determines how a message is presented to a user. <br/>For <br/>instance, different templates may be associated with different users, <br/>resulting in <br/>different content and/or formatting being presented to different users for the <br/>same<br/> type of transaction. In some implementations, system 100 selects a message<br/>template further based on a customer profile, identity, persona, or customer <br/>insights. <br/>In some implementations, selecting a message template includes determining <br/>whether to send a detailed message or a simple message. This determination can <br/>be <br/>based on explicitly defined preferences or customer interactions, or <br/>implicitly<br/>inferred through customer preferences, the customer profile, customer <br/>insights,<br/>message history, and/or customer interactions.<br/>[0054] At block 314, system 100 initiates an individualized transaction <br/>conversation <br/>with the customer. In some implementations, system 100 initiates the <br/>conversation <br/>according to the message template. In some implementations, system 100 <br/>initiates<br/>the conversation according to the triggering event. An individualized <br/>transaction<br/>conversation constitutes one or more messages involving a customer via a two-<br/>way <br/>messaging channel. In some implementations, the conversation takes the form of <br/>a <br/>series of messages between a retailer or retailer network and the customer, in <br/>which <br/>the customer interacts or responds to individualized transaction messages or<br/>responses from the retailer or retailer network, in a back-and-forth exchange. <br/>In<br/>-19-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>some implementations, initiating the conversation includes initializing and <br/>sending a <br/>message via the determined preferred messaging channel.<br/>[0055] At block 316, system 100 receives an interaction from the customer. In <br/>some <br/>implementations, the interaction can include a response via the messaging <br/>channel, a<br/>lack of response for a period of time, closing the messenger window or <br/>shutting<br/>down the application, clicking on one or more links within the messaging <br/>channel, <br/>requesting a move from one channel to another, or any other conceivable <br/>response <br/>within the individualized transaction conversation.<br/>[0056] At block 318, system 100 dynamically generates a response to the<br/>interaction. In some implementations, the response is dynamically generated <br/>based<br/>on one or more predictions from customer profile info, based on predictive <br/>learning <br/>processes. In some implementations, system 100 determines whether or not to <br/>dynamically generate the response based on information about the customer in <br/>the <br/>customer profile. In some implementations, machine learning processes are <br/>executed<br/>based on information about the customer, transaction, retailer, or other <br/>aspect of the<br/>retailer network in order to dynamically generate the response to the <br/>interaction. In <br/>some implementations, the individualized transaction conversation can continue <br/>with interactions and responses until the customer terminates the conversation <br/>or <br/>indicates a desire to terminate the conversation, or system 100 determines <br/>that the<br/>conversation does not need a reply, or system 100 terminates the conversation.<br/>[0057] In some implementations, system 100 provides for the branching of <br/>conversations based on the inputs or interactions with the customer. System <br/>100 <br/>determines or infers elements of the conversation relating to the order or <br/>flow of the <br/>conversation, then dynamically responds to the customer based on this order. <br/>The<br/>order or flow of the conversation can be based on partial information. In some <br/>cases,<br/>system 100 may change course and modify the branching and order of the <br/>conversation at a later point in the conversation based on additional <br/>information.<br/>[0058] Figure 4 shows a flowchart of an example of a method for maintaining <br/>context in an individualized transaction conversation within a retailer <br/>network, <br/> performed in accordance with some implementations. Method 400 and other<br/>-20-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>methods described herein may be implemented using system 100 of Figure 1B, <br/>although the implementations of such methods are not limited to system 100.<br/>[0059] At block 402, system 100 receives a notification of a customer <br/>interaction <br/>from a customer within the retailer network. In some implementation, the<br/>notification includes a messaging channel and interaction type for the <br/>customer<br/>interaction. In some implementations, the customer interaction is related to a <br/>transaction between customer and one or more retailers within the retailer <br/>network, <br/>and the notification includes information about the transaction and retailer, <br/>including <br/>product information if applicable. In some implementations, the customer<br/>interaction can include a response via the messaging channel, a lack of <br/>response for<br/>a period of time, closing the messenger window or shutting down the <br/>application, <br/>clicking on one or more links within the messaging channel, requesting a move <br/>from <br/>one channel to another, or any other conceivable response within the <br/>individualized <br/>transaction conversation. In some implementations, an interaction type may be <br/>a<br/>form of interaction, including a message within a messaging channel, an email <br/>reply,<br/>an SMS, a like or retweet on social media, silence, or other conceivable forms <br/>of <br/>interaction.<br/>[0060] At block 404, system 100 determines that an active conversation with <br/>the <br/>customer is open. In some implementations, system 100 determines this based on<br/> the one or more messaging channels and interaction types included in the<br/>notification of the customer interaction. An active conversation can be <br/>considered a <br/>conversation in which a customer still considers to be in progress or has not <br/>intended to terminate yet, or a conversation in which a customer has shown <br/>intention <br/>to continue to participate in or interact with in some way. In some <br/>implementations,<br/>determining that an active conversation with the customer is open can be based <br/>on<br/>the conversation history of the customer. For example, a recent message from <br/>the <br/>conversation history of the customer may show that the customer has inquired <br/>about <br/>new running shoes, A few days later, the customer can interact with a chatbot <br/>within <br/>the retailer network to mention that he "found out my shoe size is 10.5 mens".<br/>System 100 can determine, based on the type of interaction (offering <br/>information<br/>about shoe size), the time after the past message was sent, and the context <br/>(wanting<br/>-21-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>running shoes) that the conversation is open and that the customer has <br/>provided <br/>information to help system 100 recommend running shoes for him. In some <br/>implementations, determining that an active conversation with the customer is <br/>open <br/>is based on a conversational threshold period, such that an active <br/>conversation is<br/> open if a previous conversation message was sent within the conversational<br/>threshold period. Such a period may be, for example, 3 days, or a week. In <br/>some <br/>implementations, system 100 determines that a conversation is not open and <br/>active, <br/>and either generates a new conversation or message and sends it to the <br/>customer, or <br/>prompts the customer on whether he wishes to continue the past conversation.<br/>[0061] In some implementations, system 100 accesses a database of customer<br/>profiles, and matches the customer with at least one customer profile from <br/>this <br/>database. In some implementations, this customer profile includes conversation <br/>history for the customer. In some implementations, the conversation history is <br/>used <br/>for determining that an active conversation with the customer is open.<br/>[0062] At block 406, system 100 selects a natural language processing (NLP) <br/>model<br/>from a list of NLP models. In some implementations, this selection is based on <br/>one <br/>or more conversational markers in the active conversation. An NLP model <br/>extracts <br/>information and meaning (both syntactic and semantic) from a statement, such <br/>as a <br/>statement that the customer provides in an interaction or reply in a chat<br/>conversation. NLP models are capable of converting what a customer says or <br/>writes<br/>into some form of understanding or context within a conversation. In some <br/>implementations, the one or more conversational markers include customer <br/>intent <br/>data. In some implementations, conversational markers are marked and denoted <br/>during particular timestamps or number of messages within a conversation, and<br/>include the content of one or more messages.<br/>[0063] At block 408, system 100 determines at least one customer intent with <br/>respect to one or more entities. Generally speaking, after selecting an NLP <br/>model, <br/>system 100 attempts to determines intents of the customer, i.e., what the <br/>customer <br/>wants to do, and entities relating to those intents, i.e., what the customer <br/>wants to do<br/>in regards to which entities or objects. For example, a customer may want to <br/>buy a<br/>-22-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>blue shirt through a particular retailer. The customer intent is "wants to <br/>buy", and <br/>the entity is "blue shirt". How to extract meaning from the statement requires <br/>a <br/>specific NLP model that understands both the intent of wanting to buy, and the <br/>entity of blue shirt. Alternatively, in some embodiments, an NLP model may<br/> understand only one aspect, such as "shirt", and additional NLP models may be<br/>tasked with parsing the meaning of "blue" and "wants to buy". In this fashion, <br/>in <br/>some implementations, queries can be iteratively sent to the customer with <br/>respect to <br/>required customer intent or entity data. In some implementations, required <br/>customer <br/>intent or entity data can be determined from various sources of data. In some<br/>implementations, customer intent or entity data can be inferred from customer<br/>profile data, customer insights, conversation history, or other data within <br/>the retailer <br/>network relating to customers, transactions, products, retailers, and more.<br/>[0064] In some implementations, system 100 works on the process of determining <br/>customer intent and/or entities by sending one or more queries to the customer<br/>relating to customer intents, and receiving one or more responses to those <br/>queries.<br/>Determining the customer intents is then based on the responses to the <br/>queries. For <br/>example, if a customer says, "I want to buy a shirt," system 100 may respond <br/>by <br/>asking, "What color shirt do you want to buy?" It knows to ask this question <br/>by the <br/>particular selected NLP model that understands what a shirt is, that shirts <br/>are<br/>colored, and that people want to buy shirts based on different color <br/>preferences.<br/>When the customer responds, "Blue", then system 100 notes that additional <br/>required <br/>entity information has been obtained (the shirt is "blue"), and can, for <br/>example, <br/>search the inventory of a particular retailer for shirts that are tagged as <br/>blue, or <br/>otherwise appear to be blue or contain blue elements. In some implementations, <br/>one<br/>or more additional NLP models can be selected, or switched to from a current<br/>selected NLP model, based on the responses to these queries.<br/>[0065] At block 410, system 100 generates a response to the customer <br/>interaction <br/>based on the customer intents and entities. In the previous example, based on <br/>the <br/>customer intent and entity "I want to buy a blue shirt", system 100 can send <br/>an<br/>individualized response based on this context and intent, such as a product<br/>recommendation for a blue shirt that a retailer currently has a sale on.<br/>-23-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>[0066] In some embodiments, these steps allow a customer to switch messaging <br/>channels from one to another in the middle of a conversation, without need for <br/>establishing a new conversation or transaction, re-authenticating, or doing <br/>anything <br/>else on a different messaging channel. For example, a customer may be having a<br/>.. conversation with a retailer chatbot in his car, through his car's <br/>conversation<br/>features. When the customer is home, he will be able to continue the <br/>conversation <br/>where he left off on his Google Home appliance without performing any extra <br/>steps <br/>to re-establish the conversation. Merely maintaining the contextual elements <br/>of the <br/>conversation without skipping a beat is enough. The system determines that the<br/>active conversation is still open, possibly because the conversation was <br/>recent and<br/>was about the same topic; determines some of the intent and contextual <br/>entities <br/>involved; based on this, asks additional questions to determine additional <br/>required <br/>intent and/or entities; and sends responses to the customer's intents. In this <br/>sense, <br/>the system is capable of maintaining context like a real assistant would. In <br/>some<br/> implementations, rather than a conversation, context can be maintained in a<br/>shopping experience or online experience. This experience can start or stop at <br/>any <br/>time, and the context can be maintained throughout.<br/>[0067] In some implementations, any of the steps in Figure 4 can be <br/>implemented <br/>by employing machine learning and/or predictive analysis techniques, which are<br/>described further below.<br/>[0068] Figure 5 shows a flowchart of an example of a method 400 for providing <br/>interactive transaction returns within a retailer network, in accordance with <br/>some <br/>implementations. At block 510, a retailer within the retailer network creates <br/>an order <br/>within the system relating to a customer and a transaction. At block 520, the <br/>Retailer<br/>Engine 110, or Retailer Service herein, accesses the Customer Profile Database <br/>122<br/>and matches the customer information to one or more customer profiles in the <br/>database, then sends the information to the Transaction Engine 114, or Order <br/>Service herein. At block 530, the Receipt Engine 116, or Receipt Service <br/>herein, <br/>determines whether a match was found for a customer profile, then generates a<br/>receipt for the transaction. At block 540, if a match for the profile was <br/>found, then<br/>the Messaging Engine 140 and Conversation Engine 130, or Messaging Service<br/>-24-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>herein, determine a preferred message channel from the customer profile <br/>information, then the Receipt Engine 116 sends the receipt to the Messaging <br/>Engine <br/>140 and Conversation Engine 130. From there, at Block 550, the Messaging <br/>Engine <br/>140 and Conversation Engine 130 initiate a conversation on the preferred <br/>messaging<br/> channel and send the receipt via an individualized transaction message to the<br/>customer. The conversation content and timing may also depend on the <br/>particular <br/>template that is associated with the particular user for the transaction. That <br/>is, <br/>different users may experience different conversation flows for the same <br/>transaction <br/>type.<br/>[0069] Figure 6A illustrates an initial product query screenshot 600a that is<br/>presented to a customer Sandy after she asks her digital assistant for further <br/>information pertaining to a particular transaction, in accordance with one <br/>example <br/>implementation of the present invention. In this example, Sandy has purchased <br/>an <br/>item from Appana Apparel, and she has requested to see a receipt for such<br/>purchased item. This initial request triggers a conversation with respect to <br/>her<br/>purchased item. Via the digital assistant, Sandy can also choose to continue <br/>various <br/>aspects of the conversation about the Appana Apparel item on various <br/>platforms, <br/>such as Facebook Messenger, Google Home, or telephone call.<br/>[0070] Upon initiation (or continuation) of a conversation pertaining to the<br/>purchased item, Sandy may be presented with any suitable type of information <br/>to<br/>enhance her experience with respect to the purchased item. Figure 6B <br/>illustrates an <br/>example screenshot 600b that includes product purchase information 602 and a <br/>simple "Options" button 604 for selecting additional content, including <br/>interactive <br/>processes, which relate to the particular purchased product. In this example, <br/>the<br/>product purchase information 602 is presented in a simplified manner for<br/>presentation through Sandy's digital assistant application interface on her <br/>cellphone. <br/>In general, the product purchase information may be tailored to the particular <br/>messaging channel, user device, and customer preference. In this example, the <br/>presented product purchase information 602 includes a thumbnail picture of the<br/>purchased product (Venture Waterproof Jacket-Northface), payment type (Visa),<br/>-25-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>and shipping address (710 Steiner Street, San Francisco), and purchase price <br/>($108.16).<br/>[0071] Any suitable options may be presented if the user selects the options <br/>button <br/>604, and such presentation format and content may also be based on various <br/>factors,<br/>such as particular messaging channel, user device, and customer preference. <br/>Figure<br/>6C illustrates an example screenshot 602c of additional product details that <br/>are <br/>presented to the customer upon selection of the options button 604. Such <br/>product <br/>details, of course, provide more information than the initial screenshot for <br/>such <br/>transaction. As shown, Sandy can see purchase date, taxes paid, and product <br/>price.<br/> This detailed product information may have also been presented in the initial<br/>transaction screenshot, for example, if suitable for the particular messaging <br/>channel <br/>(e.g., in an email).<br/>[0072] Figure 6D illustrates an options screenshot 602d for presenting <br/>additional <br/>content, including interactive content that relates to the transaction or <br/>product. As<br/>shown, example transaction options may include a video 610a for learning more<br/>about the product, tracking 610b of a product shipment, and personalized <br/>offers <br/>610c that may be determined based on the current product purchase, as well as <br/>previous purchases through the retail network. Other options 610d may also be <br/>accessible.<br/>[0073] Figure 7 illustrates the training of a predictive model 721 for <br/>providing<br/>interactive transaction returns within a retailer network, in accordance with <br/>some <br/>implementations. In some implementations, the method of Figure 6 can be used <br/>by <br/>the system 100 to train the machine learning and predictive engine 150 <br/>illustrated in <br/>Figure 1B. In some implementations, the data in retailer database 112, <br/>customer<br/>profile database 122, or both may be used as training data for the predictive <br/>model<br/>721.<br/>[0074] In Figure 7, system 100 generates attribute sets for customers or <br/>client <br/>devices associated with customers. The characteristics of customers are <br/>represented <br/>by the attribute sets. An attribute set includes parameters extracted from <br/>affinity data<br/>and user attributes obtained by one or more retailers in the retailer network. <br/>In some<br/>-26-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>implementations, parameters may be extracted from customer profiles in the <br/>customer profile database 122, data from the retailer database 112, customer <br/>insights <br/>inferred from one or more pieces of customer data, client device information, <br/>customer preferences, or any other aspect of information or metadata relating <br/>to<br/> customers within system 100. The more extensive the parameters used in an<br/>attribute set, the more predictive power the resulting predictive model 721 <br/>has.<br/>[0075] In some implementations, system 100 also generates location patterns <br/>741 <br/>from physical sites associated with the retailer network or retailers, such as <br/>sequences of locations in areas within the physical site, dwell times in <br/>areas, number<br/>of separate visits to the areas, pairs of first and last visited areas in each <br/>trip to the<br/>physical site, etc.<br/>[0076] In some implementations, the attribute sets 751 of customers, and <br/>potentially <br/>their location patterns 741, are connected to the observed item-related <br/>activities 753 <br/>as the training targets. Examples of observed item-related activities 753 may <br/>include<br/>items purchased (which may be purchased online, in retail stores, at physical <br/>sites,<br/>or other locations), or responses to individualized transaction messages <br/>announcing <br/>or recommending products. A positive response may be indicated by a trip to a <br/>location of a recommended product, a purchase transaction of an announced <br/>product, an interaction inquiring about further information relating to an <br/>announced<br/>or recommended product, a user selection of a link in a message related to a <br/>product,<br/>a user search of the announced product following an announcement, or the <br/>playback <br/>of a video featuring a recommended item, for example.<br/>[0077] System 100 applies the attribute sets 751 of customers, and potentially <br/>their <br/>location patterns 741, to the predictive model 721 to generate the predicted <br/>item-<br/>related activities 755, and then computes the statistical prediction error 757 <br/>from the<br/>difference between the observed item-related activities 753 and the predicted <br/>item-<br/>related activities 755. In some implementations, one or more machine learning <br/>algorithms 759 are applied to train the predictive model 721 to reduce the <br/>statistical <br/>prediction error 757 or reduce another measurement of prediction errors.<br/>-27-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>[0078] In some implementations, attribute sets 751 are used to predict <br/>products of <br/>interest, including products that retailers may wish to recommend to customers <br/>or <br/>potential customers. In some implementations, location patterns 741 are used <br/>to <br/>predict areas of interest. The system 100 then ranks the items of interest in <br/>view of<br/>areas of interest where the items are available. For example, an item of <br/>interest that<br/>is on a predicted path of a mobile device in a physical location can be <br/>provided with <br/>a ranking score that is higher than a different item of interest that is away <br/>from the <br/>predicted path of the mobile device in the physical location. In some <br/>implementations, one or more highest ranking items can be selected for <br/>generating<br/>transaction messages. The transmissions of the messages can be timed according <br/>to<br/>the current location of the user or predicted future location of the user, <br/>such that the <br/>messages are relevant to the locations and areas that the user is likely to <br/>visit soon <br/>(e.g., without significant deviation from a predicted path of the user.)<br/>[0079] System 100 digitizes physical and non-physical interactions of the <br/>user, both<br/>in physical locations and in online marketplaces or other online locations, by<br/>stitching together behavioral and transaction data of the users, and <br/>connecting that <br/>information to a digital persona for a personalized information service, such <br/>as a <br/>targeted offer or navigational guidance. System 100 can direct the user to <br/>physical <br/>or online locations of products based on the preferences and/or affinity of <br/>the user to<br/>retailers, products, physical sites, and items purchased in the past by users <br/>having<br/>attributes and/or location patterns similar to those of the user.<br/>[0080] For example, in various implementations, system 100 can acquire: user <br/>information from large audience data providers; geo-location, demographic, <br/>and/or <br/>behavioral data of the users; SKU-level data of items purchased by users, such <br/>as<br/>from various points of sales; and loyalty program information of the users. <br/>System<br/>100 can select, for example, advertisements, offers, or coupons to push to the <br/>user, <br/>based on predicting: what the user will purchase; what offers will or will not <br/>resonate; price sensitivity of the user; how much a user is likely to spend <br/>when using <br/>loyalty points; what life events are likely to occur; a lifetime value of the <br/>user;<br/>and/or what types of retailers will drive the most footfall and spending <br/>within a<br/>physical site such as a mall.<br/>-28-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>[0081] In one example, Sumi is an eighteen-year-old student shopping for the <br/>new <br/>semester. She browses jeans online at home, walks along Market Street, and <br/>visits <br/>the physical stores of retailers Nordstrom and Macy's. She uses a mobile <br/>application <br/>for social networking installed on her mobile device to send pictures of jeans <br/>to<br/> .. friends.<br/>[0082] The retailer network server 104 tracks the demographics and/or <br/>psychographics attributes of Sumi, the geo-locations of Sumi, her online <br/>browsing <br/>activities, and/or offline shopping histories to infer her preferences and <br/>customer <br/>insights regarding her behavior and future behavior. For example, after <br/>obtaining her<br/>permission, the retailer network server 104 tracks cookies on websites to <br/>build an<br/>online behavior profile for Sumi which is matched to an advertising ID of <br/>Sumi's <br/>mobile devices. Geo-aware retailers and/or the retailer network, also <br/>obtaining her <br/>permission, track the locations of Sumi via GPS using their Software <br/>Development <br/>Kit (SDK) embedded in mobile applications running in Sumi's mobile devices. <br/>The<br/>.. retailer network server 104 and/or system 100 link one or more pieces of <br/>personally<br/>identifying information of Sumi, such as an email address, to a complete <br/>profile of <br/>Sumi, purchase history of Sumi, and loyalty data provided by retailers to the <br/>information server. For example, Sumi's profile may indicate that Sumi has <br/>bought <br/>clothes in the past from retailer Nordstrom in a San Francisco mall, since the<br/>.. information server has obtained the purchase information from the store and <br/>added<br/>her purchase data into her profile.<br/>[0083] Based on the available information about Sumi, the system 100 infers <br/>her <br/>intent to purchase the latest jeans and back-to-school supplies, and predicts <br/>that she <br/>will respond to a 10% discount. At her next visit to one of Nordstrom's <br/>physical<br/>.. locations or to the Nordstrom web site, system 100 identifies and delivers <br/>a real-<br/>time offer of the store to her mobile device. For example, Sumi gets an <br/>advertisement via the mobile application for social networking running in her <br/>mobile device, where the advertisement offers 10% off True Religion jeans at <br/>Nordstrom for the next hour. She buys jeans and a t-shirt, and system 100 <br/>stores her<br/>.. response and purchase data in the customer profile database 122, which can <br/>be used<br/>-29-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>to train the predictive model 721 in predicting the response of similar users <br/>to <br/>similar advertisements.<br/>[0084] Figure 8 illustrates one example of a server. According to particular <br/>embodiments, a system 1100 suitable for implementing particular embodiments of<br/>.. the present invention includes a processor 1201, a memory 1203, an <br/>interface 1211,<br/>and a bus 1215 (e.g., a PCI bus or other interconnection fabric) and operates <br/>as a <br/>counter node, aggregator node, calling service, zookeeper, or any other device <br/>or <br/>service described herein. Various specially configured devices can also be <br/>used in <br/>place of a processor 1201 or in addition to processor 1201. The interface 1211 <br/>is<br/> typically configured to send and receive data packets over a network.<br/>[0085] Particular examples of interfaces supported include Ethernet <br/>interfaces, <br/>frame relay interfaces, cable interfaces, DSL interfaces, token ring <br/>interfaces, and <br/>the like. In addition, various very high-speed interfaces may be provided such <br/>as fast <br/>Ethernet interfaces, Gigabit Ethernet interfaces, ATM interfaces, HSSI <br/>interfaces,<br/> POS interfaces, FDDI interfaces and the like. Generally, these interfaces may<br/>include ports appropriate for communication with the appropriate media. In <br/>some <br/>cases, they may also include an independent processor and, in some instances, <br/>volatile RAM. Although a particular server is described, it should be <br/>recognized that <br/>a variety of alternative configurations are possible.<br/>[0086] Because such information and program instructions may be employed to<br/>implement the systems/methods described herein, the present invention relates <br/>to <br/>machine readable storage media that include program instructions, state <br/>information, <br/>etc. for performing various operations described herein. Examples of machine-<br/>readable storage media include, but are not limited to, magnetic media such as <br/>hard<br/>disks, floppy disks, and magnetic tape; optical media such as CD-ROM disks;<br/>magneto-optical media such as floptical disks; and hardware devices that are <br/>specially configured to store and perform program instructions, such as ROM <br/>and <br/>RAM. Examples of program instructions include both machine code, such as <br/>produced by a compiler, and files containing higher level code that may be <br/>executed<br/> by the computer using an interpreter.<br/>-30-<br/><br/>CA 03083958 2020-05-29<br/>WO 2019/108683 <br/>PCT/US2018/062894<br/>[0087] Although the foregoing invention has been described in some detail for <br/>purposes of clarity of understanding, it will be apparent that certain changes <br/>and <br/>modifications may be practiced within the scope of the appended claims. <br/>Therefore, <br/>the present embodiments are to be considered as illustrative and not <br/>restrictive and<br/>the invention is not to be limited to the details given herein, but may be <br/>modified <br/>within the scope and equivalents of the appended claims.<br/>-31-<br/>
Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

2024-08-01:As part of the Next Generation Patents (NGP) transition, the Canadian Patents Database (CPD) now contains a more detailed Event History, which replicates the Event Log of our new back-office solution.

Please note that "Inactive:" events refers to events no longer in use in our new back-office solution.

For a clearer understanding of the status of the application/patent presented on this page, the siteDisclaimer , as well as the definitions forPatent ,Event History ,Maintenance Fee  andPayment History  should be consulted.

Event History

DescriptionDate
Inactive: IPC expired2023-01-01
Inactive: IPC expired2023-01-01
Application Not Reinstated by Deadline2022-05-31
Time Limit for Reversal Expired2022-05-31
Letter Sent2021-11-29
Deemed Abandoned - Failure to Respond to Maintenance Fee Notice2021-05-31
Letter Sent2020-11-30
Common Representative Appointed2020-11-07
Inactive: Cover page published2020-07-27
Letter sent2020-06-22
Priority Claim Requirements Determined Compliant2020-06-20
Application Received - PCT2020-06-20
Inactive: First IPC assigned2020-06-20
Inactive: IPC assigned2020-06-20
Inactive: IPC assigned2020-06-20
Request for Priority Received2020-06-20
Request for Priority Received2020-06-20
Correct Applicant Requirements Determined Compliant2020-06-20
Priority Claim Requirements Determined Compliant2020-06-20
National Entry Requirements Determined Compliant2020-05-29
Application Published (Open to Public Inspection)2019-06-06

Abandonment History

Abandonment DateReasonReinstatement Date
2021-05-31Deemed Abandoned - Failure to Respond to Maintenance Fee Notice

Fee History

Fee TypeAnniversary YearDue DatePaid Date
Basic national fee - standard2020-05-292020-05-29
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
ONEMARKET NETWORK LLC
Past Owners on Record
None
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have difficulties with downloading multiple files, please try splitting the download into smaller groups of files and try downloading again.

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail atCIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages  Size of Image (KB) 
Description2020-05-2931 1,471
Drawings2020-05-2912 394
Claims2020-05-295 127
Abstract2020-05-292 72
Representative drawing2020-05-291 17
Cover Page2020-07-271 44
Courtesy - Letter Acknowledging PCT National Phase Entry2020-06-221 588
Commissioner's Notice - Maintenance Fee for a Patent Application Not Paid2021-01-111 536
Courtesy - Abandonment Letter (Maintenance Fee)2021-06-211 552
Commissioner's Notice - Maintenance Fee for a Patent Application Not Paid2022-01-101 552
International search report2020-05-293 87
National entry request2020-05-298 255

Your request is in progress.

Requested information will be available
in a moment.

Thank you for waiting.

Request in progress image
Report a problem or mistake on this page
Version number:
3.4.39

[8]ページ先頭

©2009-2025 Movatter.jp