Patent ID: 12229810

DETAILED DESCRIPTION OF THE INVENTION

Embodiments may be implemented in hardware, firmware, software, or any combination thereof. Embodiments may also be implemented as instructions stored on a machine-readable medium, which may be read and executed by one or more processors. A machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computing device). For example, a machine-readable medium may include read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices, and others. Further, firmware, software, routines, instructions may be described herein as performing certain actions. However, it should be appreciated that such descriptions are merely for convenience and that such actions in fact result from computing devices, processors, controllers, or other devices executing the firmware, software, routines, instructions, etc.

FIG.1illustrates a machine intelligence platform device100(also referred to as the MARLA platform). According to some embodiments, machine intelligence platform device100is configured to interact with user101and to manage and monitor directory information. In some embodiments, machine intelligence platform device100can include one or more recommendation engine(s), machine comprehension engine(s), chat assistant(s), classification engine(s), directory monitor(s), and search assistant(s).

Machine intelligence platform device100can be configured to process network and supply chain interactions between user101and one or more entities. In some embodiments, user101can represent entities such as small or medium sized businesses (SMBs), internal users, other subscribers, and the like. For example, machine intelligence platform device100can be configured to learn from the business directory data and provide customer segmentation details and propensity profile of SMBs to drive business operating models.

Machine intelligence platform device100can be configured as an intelligent machine trained on diverse types of data, including external third-party data and internal data generated via user interactions on the platform. Machine intelligence platform device100can access one or more artificial neural networks (ANNs), for example, a collection of deep neural networks (DNNs) and statistical models to create an unfragmented experience for end users (i.e., user101).

These models/algorithms are invoked through SMB-initiated actions (clicks and selections) or through a set of internal autonomous processes. Machine intelligence platform device100embodies each such model acting in resonance to a secure and scalable cloud infrastructure. Each of these models can be configured to autonomously re-train on new data (in all formats as needed). In this manner, machine intelligence platform device100continually develops its proprietary intelligence over a period of time.

From the end user viewpoint, machine intelligence platform device100can operate as a networking and supplier platform enabling user101to manage, track and monitor supplier and partner related engagements.

As shown inFIG.1, machine intelligence platform device100can include user interface (UI) layer110, intent layer120, intelligence layer130, and data layer140.

User interface (UI) layer110can be configured as an input/output (10) layer that receives an input from a user, such as user101, and outputs information to user101the based on the input (e.g., from another layer of machine intelligence platform device100, such as intent layer120.) UI layer110can be configured to capture input from user101either explicitly, e.g., via chatbot interface111or user interface112, or implicitly through user101's behavior (clicks, selections, and other long-term interactions, including queries historically requested, searches performed, etc.). UI layer outputs information based on a request pulled from user101and/or a push from machine intelligence platform device100. For example, UI layer110can output (based on a pull) information based on a request received directly from the user (e.g., user101asks a question and UI layer110presents an output as a response). Additionally, or alternatively, UI layer110can present information pushed by machine intelligence platform device100itself, i.e., from one or more layers thereof. For example, machine intelligence platform device100can push, via UI layer110, changes to reflect recommendations from intelligence layer120based on user101's long-term behavior captured by the system (e.g., UI layer110can be configured to push different supplier recommendations to two users respectively, without either user “actively” asking for a recommendation). As described below, this push recommendation can be based on algorithms performed in intelligence layer120based on historic data, for example.

Intent layer120can include machine comprehension engine121. Machine comprehension engine121can include one or more natural language processing modules configured to translate input received from UI layer110into a perceived intent. The intent may be expressed explicitly such as a query to a chatbot, or implicitly such as user's interactions input via UI layer110. In one example, intent layer120can be configured utilizing machine comprehension models which use a natural language understanding (NLU) neural network to capture the user's intent.

Intelligence layer130can include machine learning algorithms that include both statistical machine learning models and deep neural networks configured to process data through a set of application programming interfaces (APIs). These models invoke one or more algorithm(s) to drive both internal and external facing business use cases.

In an exemplary embodiment, intelligence layer130can include recommendation engine131, question/answer (QA) engine132, and classification engine133. Each of recommendation engine131, QA engine132, and classification engine133can each include an algorithm to process data and perform training models. According to some embodiments, intelligence layer130can include one or more of an artificial neural network, deep neural network, or the like.

In some embodiments, recommendation engine131, can perform one or more queries based on an input from user101. Recommendation engine131can be configured to generate a query based on user data, user preferences, supplier data, and supplier cohort data. For example, recommendation engine can be configured to perform a query such as “recommend suppliers in a [given zip code]” and implement known suppliers located within the given zip code as well as supplier cohort data relative to the known suppliers. Recommendation engine131can utilize one or more recommendation models and/or cohort models to select new objects from a group based on characteristics of known objects depending on the use case.

QA engine132can be configured to retrieve data based on one or more question answering models. For example, QA engine132can generate a “Frequently Asked Question (FAQ)” response based on a list of FAQs. In some embodiments, QA engine is configured to utilize natural learning processes to match users' queries with known questions encompassed by the FAQ list. QA engine132can implement a question answering model based on a neural network-based approach to extract relevant information from a knowledge base of documents to answer users' questions.

Classification engine133can be configured to retrieve data based on classification and/or segmentation models. Data retrieved based on classification and segmentation models can be utilized, for example, for supplier scoring, predictions about customer propensity to purchase, etc.

Machine intelligence platform device100can include data layer140. Data layer140can include a layer configured to process SQL, data lakes and blob storage. Data layer140can include data storage device141. Further, data layer140is configured to perform data processes based on two different classes of data: (i) static data, i.e., non-transactional information, and (ii) dynamic data, i.e., transactional data generated from users' behavior. Static data can include, for example, organization data, users' demographic data, etc. Dynamic data can include, for example, interactions with the various features and components of interface layer110, past searches, etc.

FIG.2illustrates a block diagram of an environment200wherein a machine intelligence platform might be used. The environment200may include user systems201, network214, and machine intelligence platform device216(e.g., a computing device, server, or other device). machine intelligence platform device216can include a processor system217, an application platform218, a network interface220, static data storage222, dynamic data storage224, program code226, and a DNN platform228. In other embodiments, the environment200may not have all of the components listed and/or may have other elements instead of, or in addition to, those listed above. In this disclosure, a consumer may be synonymously referred to as a customer or patron.

The environment200is an environment in which a machine intelligence platform service exists. User system201may be any machine or system that is used by customers and/or suppliers to interact with one another. For example, any of the user systems201may be a handheld computing device, a mobile phone, a laptop computer, a work station, and/or a network of computing devices. As illustrated inFIG.2(and in more detail inFIG.3) the user systems201might interact via the network214with a machine intelligence service, which is the system216.

A machine intelligence platform service, such as the system216, is a database system that is made available to suppliers and end users that do not need to necessarily be concerned with building and/or maintaining the database system, but instead may be available for their use when they need the database system (e.g., for identifying and interacting with suppliers, vendors, and the like). For example, some on-demand database services may store information from one or more suppliers. A database image may include one or more database objects. A relational database management system (RDMS) or the equivalent may execute storage and retrieval of information against the database object(s). The application platform218may be a framework that allows the applications of the system216to run, such as the hardware and/or software, e.g., the operating system. In an embodiment, the machine intelligence platform system216may include the application platform218which enables creation, managing and executing one or more applications developed by the provider of the on-demand database service, interaction between users and a supplier network via user systems201, or third-party application developers accessing the on-demand database service via the user systems201.

System216can function as an intelligent machine trained on diverse types of data including third-party data and internal data generated via user interactions. System216can process network and supply chain interactions between the end-user and one or more entities utilizing deep neural networks and statistical models. For example, system216can identify supplier recommendations based on at least one of: first information comprising historical consumption and/or search data of suppliers of interest by the user201, second information comprising a prediction of one or more suppliers of interest for users201based on supplier cohort information, and third information comprising segmentation and/or demographic information.

The network214is any network or combination of networks of devices that communicate with one another. For example, the network214may be any one or any combination of a LAN (local area network), WAN (wide area network), telephone network, wireless network, point-to-point network, star network, token ring network, hub network, or other appropriate configuration. As the most common type of computer network in current use is a TCP/IP (Transfer Control Protocol and Internet Protocol) network, such as the global internetwork of networks often referred to as the “Internet” with a capital “I,” that network will be used in many of the examples herein. However, it should be understood that the networks that the one or more implementations might use are not so limited, although TCP/IP is a frequently implemented protocol.

The customer systems101might communicate with the system216using TCP/IP and, at a higher network level, use other common Internet protocols to communicate, such as HTTP, FTP, AFS, WAP, etc. In an example where HTTP is used, the user systems201might include an HTTP client commonly referred to as a “browser” for sending and receiving HTTP messages to and from an HTTP server at the system216. Such an HTTP server might be implemented as the sole network interface between the system216and the network214, but other techniques might be used as well or instead. In some implementations, the interface between the system216and the network214includes load sharing functionality, such as round-robin HTTP request distributors to balance loads and distribute incoming HTTP requests evenly over a plurality of servers.

In one embodiment, the system216, shown inFIG.2, implements a machine intelligence platform system. For example, in one embodiment, the system216includes application servers configured to implement and execute machine intelligence platform software applications as well as provide related data, code, forms, webpages and other information to and from the user systems201and to store to, and retrieve from, a database system related data, objects, and supplier content. With a machine intelligence platform system, data for multiple users may be stored in the same physical database object, to facilitate analytics processes as an intelligent machine trained on diverse types of data including third-party data and internal data generated via user interactions, to process network and supply chain interactions between the end-user and one or more entities utilizing deep neural networks and statistical models to create an un-fragmented experience for end users201. For example, the system216may provide access to multiple hosted (standard and custom) applications, including a machine intelligence platform service application.

Several elements in the system shown inFIG.2include conventional, well-known elements that are explained only briefly here. For example, each of the user systems201could include a desktop personal computer, workstation, laptop, PDA, cell phone, or any wireless access protocol (WAP) enabled device or any other computing device capable of interfacing directly or indirectly to the Internet or other network connection. Each of the user systems201typically runs an HTTP client, e.g., a browsing program, such as Microsoft's Edge browser, Google's Chrome browser, Opera's browser, or a WAP-enabled browser in the case of a cell phone, PDA or other wireless device, or the like, allowing a customer of the user systems201to access, process and view information, pages and applications available to it from the system216over the network214. Each of the user systems201also typically includes one or more user interface devices, such as a keyboard, a mouse, trackball, touch pad, touch screen, pen or the like, for interacting with a graphical user interface (GUI) provided by the browser on a display (e.g., a monitor screen, LCD display, etc.) in conjunction with pages, forms, applications and other information provided by the system216or other systems or servers. For example, the user interface device may be used to access data and applications hosted by the system216, and to perform searches on stored data, and otherwise allow a user to interact with various GUI pages that may be presented to a user. As discussed above, embodiments are suitable for use with the Internet, which refers to a specific global internetwork of networks. However, it should be understood that other networks may be used instead of the Internet, such as an intranet, an extranet, a virtual private network (VPN), a non-TCP/IP based network, any LAN or WAN or the like.

According to one embodiment, each of the user systems201and all of its components are operator configurable using applications, such as a browser, including computer code run using a central processing unit such as an INTEL XEON or PENTIUM processor, AMD EPYC or RYZIEN processor, or the like. Similarly, the system216and all of their components might be operator configurable using application(s) including computer code to run using a central processing unit such as the processor system217, which may include an INTEL XEON or PENTIUM processor, AMD EPYC or RYZIEN processor, or the like, and/or multiple processor units. A computer program product embodiment includes a machine-readable storage medium (media) having instructions stored thereon/in which may be used to program a computer to perform any of the processes of the embodiments described herein. Computer code for operating and configuring the system216to intercommunicate and to process webpages, applications and other data and media content as described herein are, for example, downloaded and stored on a hard disk, but the entire program code, or portions thereof, may also be stored in any other volatile or non-volatile memory medium or device as is well known, such as a ROM or RAM, or provided on any media capable of storing program code, such as any type of rotating media including floppy disks, optical discs, digital versatile disk (DVD), compact disk (CD), micro-drive, and magneto-optical disks, and magnetic or optical cards, Nano-systems (including molecular memory ICs), or any type of media or device suitable for storing instructions and/or data. Additionally, the entire program code, or portions thereof, may be transmitted and downloaded from a software source over a transmission medium, e.g., over the Internet, or from another server, as is well known, or transmitted over any other conventional network connection as is well known (e.g., extranet, VPN, LAN, etc.) using any communication medium and protocols (e.g., TCP/IP, HTTP, HTTPS, Ethernet, etc.) as are well known. It will also be appreciated that computer code for implementing embodiments may be implemented in any programming language that may be executed on a client system and/or server or server system such as, for example, C, C++, HTML, any other markup language, Java™, JavaScript, ActiveX, any other scripting language, such as VBScript, and many other programming languages as are well known may be used. (Java™ is a trademark of Sun Microsystems, Inc.).

One arrangement for elements of the system216is shown inFIG.3, including the network interface220, the application platform218, the static data storage222, the dynamic data storage224, the program code226for implementing various functions of the system216, and the DNN platform228for determining associations and importance of input to generate an output as part of a machine intelligence platform service and the like. As generally described above, in some embodiments, platform space228can access and train on diverse types of data, including external third-party data and internal data generated via user interactions on the platform. DNN platform228can utilize a collection of deep neural networks and statistical models to create an unfragmented experience for end users. Some of the information that DNN platform228can access and train on can include first information comprising historical consumption data of suppliers of interest by the user201, second information comprising a prediction of one or more suppliers of interest for users201based on supplier cohort information, and third information comprising segmentation and/or demographic information. Additional processes that may execute on the system216include database indexing processes.

FIG.3also illustrates the environment200. InFIG.3, elements of the system301and various interconnections in an embodiment are further illustrated.FIG.3shows the user device301, network314and the system316.FIG.3also shows that the system316may include static data storage222, dynamic data storage224, an Application Program Interface (API)346, a PL/SOQL348, system process space326, and deep neural network (DNN)328. In other embodiments, the environment300may not have the same elements as those listed above and/or may have other elements instead of, or in addition to, those listed above.

The user devices301, network314, system316, static data storage322, and dynamic data storage324can be embodiments of user systems201, network214, system216, static data storage222, and dynamic data storage224discussed above inFIG.2. System316may include the network interface220(ofFIG.2) implemented as a set of HTTP application servers.

System process space328, which can be an embodiment of program code228, can be configured to static data storage322and dynamic data storage324therein to fulfill recommendations and queries placed from user devices301. Invocations to such applications may be coded using the PL/SOQL348that provides a programming language style interface extension to the API346.

Each database can generally be viewed as a collection of objects, such as a set of logical tables, containing data fitted into predefined categories. A “table” is one representation of a data object, and a table may be used herein to simplify the conceptual description of objects and custom objects. It should be understood that “table” and “object” may be used interchangeably herein. Each table generally contains one or more data categories logically arranged as columns or fields in a viewable schema. Each row or record of a table contains an instance of data for each category defined by the fields. For example, a user database may include a table that describes an end user with fields for basic contact information such as name, address, phone number, fax number, etc. Another table might describe a purchase order, including fields for information such as customer, supplier, product, sale price, date, etc. In some database systems, standard entity tables might be provided for use by all users.

DNN328can be represented as a collection of neurons (e.g., nodes328.1to328.m). Nodes328.1to328.ncan be organized in layers, each node performing a simple computation to collectively implement a complex nonlinear mapping from an input to a subsequent output. This mapping is learned from the data utilizing model training and other processes that may be recognized in the art, such as error backpropagation, a Newton model, a conjugate model, quasi-Newton model, a Levenberg-Marquardt model, supervised learning, unsupervised learning, neuroevolution, etc. As described above, DNN328can access and train on diverse types of data, including external third-party data and internal data generated via user interactions on the platform. DNN platform228be utilized to create an unfragmented experience for end users based on, for example, first information comprising historical consumption data of suppliers of interest by the user of user device301, second information comprising a prediction of one or more suppliers of interest for a user of user device301based on supplier cohort information, and third information comprising segmentation and/or demographic information.

System300may be communicably coupled to database systems, e.g., having access to the static data storage322and the dynamic data storage324, via a different network connection. For example, one application server might be coupled via the network314(e.g., the Internet), another application server might be coupled via a direct network link, and another application server might be coupled by yet a different network connection. Transfer Control Protocol and Internet Protocol (TCP/IP) are typical protocols for communicating between application servers330and the database system. However, it will be apparent to one skilled in the art that other transport protocols may be used to optimize the system depending on the network interconnect used. Because it is desirable to be able to add and remove application servers from the server pool at any time for any reason, there is no server affinity for a user and/or organization to a specific application server. In one embodiment, therefore, an interface system implementing a load balancing function (e.g., an F5 Big-IP load balancer) is communicably coupled between the application servers and the user systems301to distribute requests to the application servers. In one embodiment, the load balancer uses a least connections algorithm to route customer requests to the application servers. Other examples of load balancing algorithms, such as round robin and observed response time, also may be used.

It should be understood that the operations shown in the exemplary methods are not exhaustive and that other operations can be performed as well before, after, or between any of the illustrated operations. In some embodiments of the present disclosure, the operations can be performed in a different order and/or vary.

FIG.4is a flow diagram of a method400for performing machine intelligence service operations, according to some embodiments of the present disclosure. In some embodiments, method400provides operational steps to learn from business directory data and provide customer segmentation details and propensity profile of SMBs to drive business operating models.

At operation405, a computing device can capture input from a user, such as101.

Operation405can include collecting input submitted either explicitly, e.g., via chatbot or user interface, or implicitly through current and/or historical user interactions. requested, searches performed, etc.).

At operation410, the computing device can translate a user intent based on the input utilizing natural language processes based on the user input captured at operation405. According to some embodiments, operation405can translate the user intent based on natural language learning processes. Such processes can include semantic search, machine learning, natural language programming, sentiment analysis, affective computing, the modular fulfillment center is configured to support order fulfillment to the consumers, speech recognition, optical character recognition, etc. For example, the computing device at410can initiate a process of determining type of inquiry a user is attempting to perform via the machine intelligence platform. The computing device can utilize a natural language process to translate the input into a query to be executed by the computing device.

At operation415, the computing device can apply one or more algorithms to intent based on one or more classes of data. In some embodiments, operation415can include a recommendation engine performing one or more queries based on an input from user101. For example, a recommendation engine can be configured to generate a query based on user data, user preferences, supplier data, and supplier cohort data. A recommendation engine can utilize one or more recommendation models and/or cohort models to select new objects from a group based on characteristics of known objects depending on the use case. According to some embodiments, operation415can include a QA engine132retrieving data based on one or more question answering models. For example, a QA engine can generate a “Frequently Asked Question (FAQ)” response based on a list of FAQs and can utilize natural learning processes to match users' queries with known questions encompassed by the FAQ list. According to some embodiments, operation415can include a classification engine retrieving data based on classification and/or segmentation models, such as for supplier scoring, predictions about customer propensity to purchase, etc. Operation415can be implemented utilizing a neural network-based approach to extract relevant information relevant to the query.

At operation420, the computing device can retrieve a result from a deep neural network (DNN) based on the one or more algorithms. Deep learning algorithms can include convolutional Neural Networks (CNNs), Generative Adversarial Networks (GANs), Restricted Boltzmann Machines(RBMs), Self Organizing Maps (SOMs), Deep Belief Networks (DBNs), Long Short Term Memory Networks (LSTMs), Recurrent Neural Networks (RNNs), and the like.

At operation425, the computing device can output information to a user, such as user101. For example, operation425can include a UI layer outputting information based on a request pulled from the user and/or a push from machine intelligence platform service100. For example, operation425can include an output (based on a pull) as a response to a user inquiry. Additionally, or alternatively, operation425can include presenting information pushed by machine intelligence platform service via a user interface to reflect recommendations from an intelligence layer based on the user long-term behavior captured by the system.

At operation430, the computing device can perform a training function to improve a response of one or more neural networks, such as DNN328, based on diverse types of data. According to some embodiments operation430can include utilizing external third-party data and internal data generated via user interactions on the platform to train one or more neural networks. According to some embodiments, operation430can include training a neural network based on a gradient descent model, a Newton model, a conjugate model, quasi-Newton model, a Levenberg-Marquardt model, or the like.

These models can be trained based SMB-initiated actions (clicks and selections) or through a set of internal autonomous processes such that the one or more neural networks continually develops its proprietary intelligence over a period of time.

It is to be appreciated that the Detailed Description section, and not the Summary and Abstract sections, is intended to be used to interpret the claims. The Summary and Abstract sections may set forth one or more but not all exemplary embodiments of the present invention as contemplated by the inventor(s), and thus, are not intended to limit the present invention and the appended claims in any way.

The present invention has been described above with the aid of functional building blocks illustrating the implementation of specified functions and relationships thereof. The boundaries of these functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternate boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed.

The foregoing description of the specific embodiments will so fully reveal the general nature of the invention that others can, by applying knowledge within the skill of the art, readily modify and/or adapt for various applications such specific embodiments, without undue experimentation, without departing from the general concept of the present invention. Therefore, such adaptations and modifications are intended to be within the meaning and range of equivalents of the disclosed embodiments, based on the teaching and guidance presented herein. It is to be understood that the phraseology or terminology herein is for the purpose of description and not of limitation, such that the terminology or phraseology of the present specification is to be interpreted by the skilled artisan in light of the teachings and guidance.

The breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.