Method and system for enhancing user experience with online platforms
The integration of NLP, RAG, and LLM models in online platforms addresses the challenge of understanding complex user queries, enabling personalized and context-aware candidate presentation, thereby enhancing user experience.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- GRABTAXI HOLDINGS PTE LTD
- Filing Date
- 2025-01-07
- Publication Date
- 2026-07-16
AI Technical Summary
Existing online platforms struggle to accurately understand complex user queries, particularly with ambiguous intent, leading to unsatisfactory results and limited personalization due to reliance on predefined keywords and static rankings, failing to dynamically adjust based on context or prior user interactions.
A method and system utilizing Natural Language Processing (NLP), Retrieval-Augmented Generation (RAG), and Large Language Model (LLM) to analyze conversational inputs, infer user intent, retrieve candidates from a database, and present them in a personalized format, considering historical data and contextual relevance.
Enhances user experience by providing highly relevant and personalized recommendations, dynamically adapting to user intent and context, improving the accuracy and efficiency of search results.
Smart Images

Figure SG2025050007_16072026_PF_FP_ABST
Abstract
Description
METHOD AND SYSTEM FOR ENHANCING USER EXPERIENCE WITH ONLINE PLATFORMS FIELD OF INVENTION
[0001] This disclosure relates generally to systems and methods for enhancing user interactions with online platforms, and more particularly to a method and system for presenting candidates to a user through an online platform.BACKGROUND
[0002] The rapid advancement of online platforms has transformed the way users interact with digital services, particularly in areas such as e-commerce, food delivery, and content recommendations. These online platforms aim to provide users with relevant information or options based on their preferences and needs. To enhance user experience, existing online platforms increasingly rely on intelligent models to analyse and respond to user inputs, particularly through conversational interfaces.
[0003] However, existing online platforms often face challenges in accurately understanding complex user queries, especially in cases where user intent is ambiguous or multi-faceted. These existing online platforms rely heavily on predefined keywords or simple pattern recognition techniques, which can result in unsatisfactory or generic results. Users frequently need to refine their searches or manually sift through recommendations to find what they are looking for which leads to a suboptimal experience. Furthermore, existing online platforms struggle to dynamically adjust results based on context or prior user interactions, limiting the personalization of responses. Additionally, existing platforms typically utilize basic search engines that match keywords to items in a database, relying on static rankings and limited user history data. While some platforms have incorporated machine learning models for betterpredictions and recommendations, they often fall short in handling the complexities of conversational input.
[0004] Therefore, there is a requirement for a methodology to enhance user experience with online platforms by presenting candidates to a user through the online platforms.SUMMARY OF THE INVENTION
[0005] In an embodiment, a method of presenting candidates to a user through an online platform is disclosed. The method may include receiving, by the online platform, a conversational input from a user, wherein the conversational input is related to a requirement of the user. The method may further include analyzing, by a Natural Language Processing (NLP) model, the conversational input to infer a user intent based on a plurality of aspects. The method may further include determining if the inferred user intent is related to a historical input within historical data associated with the user. The method may include processing, by a query understanding model and in response to an unsuccessful determination that the inferred user intent is related to the historical input, the user intent to determine a plurality of parameters based on a level of complexity associated with the user intent and historical data of user interactions. The method may further include dynamically retrieving candidates from an associated database based on the determined parameters using a Retrieval-Augmented Generation (RAG) machine learning model. The method may further include providing a ranking of the retrieved candidates based on the conversational input, the inferred user intent, the historical data, and contextual relevance using a Large Language Model (LLM). The method may further include dynamically presenting the retrieved candidates to the user in a personalized format via the online platform.
[0006] In another embodiment, a system for presenting candidates to a user through an online platform is disclosed. The system may include a processor, and a memory communicablycoupled to the processor, wherein the memory stores processor-executable instructions, which on execution, cause the processor to receive a conversational input from a user. In an embodiment, the conversational input may be related to a requirement of the user. The processor may further analyse the conversational input to infer a user intent based on a plurality of aspects using a Natural Language Processing (NPL) model. The processor may further determine if the inferred user intent is related to a historical input within historical data associated with the user. In response to unsuccessful determination that the inferred user intent is related to a historical input, the processor may process the user intent using a query understanding model to determine a plurality of a parameters based on a level of complexity associated with the user intent and historical data of user interactions. The processor may further dynamically retrieve candidates from an associated database based on the determined parameters, using a Retrieval -Augmented Generation (RAG) machine learning model. The process may further provide a ranking of the retrieved candidates based on the conversational input, the inferred user intent, the historical data and context relevance using a Large Language Model (LLM). The processor may further dynamically present the retrieved candidates to the user in a personalized format via the online platform.
[0007] In another embodiment, a method of presenting food options to a user through an online food platform is disclosed. The method may include receiving an input comprising at least one of a dish, a cuisine, or a dietary preference of the user. The method may further include analysing the input to infer a user intent based on a plurality of aspects, using a Natural Language Processing (NLP) model. The method may further include determining if the inferred user intent is related to a historical input within historical data associated with the user. In response to an unsuccessful determination that the inferred user intent is related to a historical input, the method may further include processing, based on a level of complexity associated with the user intent and historical data of user interactions, the user intent using at least one ofa queries understanding technique, or a Large Language Model (LLM), to determine a plurality of parameters. The method may further include dynamically retrieving the food options from an associated database based on the determined plurality of parameters, using a Retrieval-Augmented Generation (RAG) technique. The method may further include providing, using the LLM, ranks to the extracted food options based on the input, the inferred user intent, the historical data, and contextual relevance. The method may further include dynamically presenting the retrieved food options to the user in a personalized format via the online food platform. The food options comprise an option to book a table for dining at a nearby restaurant that offers the dish, the cuisine, or the dietary preference of the user, and / or a one-click option to place an order for delivery, wherein a current location or a pre-defined address of the user is identified automatically to place the order.
[0008] In yet another embodiment, a non-transitory computer-readable medium storing computer-executable instructions for presenting candidates to a user through an online platform. The computer-executable instructions configured for receiving, by the online platform, a conversational input from a user, wherein the conversational input is related to a requirement of the user. The computer-executable instructions further configured for analyzing, by a Natural Language Processing (NLP) model, the conversational input to infer a user intent based on a plurality of aspects. The computer-executable instructions further configured for determining if the inferred user intent is related to a historical input within historical data associated with the user The computer-executable instructions further configured for processing, by a query understanding model and in response to unsuccessful determination that the inferred user intent is related to a historical input, the user intent to determine a plurality of parameters based on a level of complexity associated with the user intent and historical data of user interactions. The computer-executable instructions further configured for processing, by a query understanding model, the user intent to determine a plurality of parameters based on alevel of complexity associated with the user intent and historical data of user interactions. The computer-executable instructions further configured for dynamically retrieving candidates from an associated database based on the determined parameters using a Retrieval-Augmented Generation (RAG) machine learning model. The computer-executable instructions further configured for providing a ranking of the retrieved candidates based on the conversational input, the inferred user intent, the historical data, and contextual relevance using a Large Language Model (LLM). The computer-executable instructions further configured for dynamically presenting the retrieved candidates to the user in a personalized format via the online platform
[0009] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.BRIEF DESCRIPTION OF THE DRAWING
[0010] The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles.
[0011] FIG. 1 is a block diagram of an exemplary system for presenting candidates to a user through an online platform, in accordance with an embodiment of the present disclosure.
[0012] FIG. 2 illustrates a functional block diagram of various modules within a memory of a computing device of FIG. 1, configured to present candidates to a user through the online platform, in accordance with an embodiment of the present disclosure.
[0013] FIG. 3 is a flowchart of a method of presenting candidates to a user through an online platform, in accordance with an embodiment of present disclosure.
[0014] FIG. 4 illustrates a flow diagram for presenting candidates to a user through an online platform, in accordance with an embodiment of present disclosure.
[0015] FIG. 5 illustrates a Graphic User Interface (GUI) of the online platform presenting candidates to a user, in accordance with an exemplary embodiment of present disclosure.
[0016] FIG. 6 illustrates another GUI of the online platform presenting candidates to a user, in accordance with an exemplary embodiment of present disclosure.
[0017] FIG. 7 illustrates another GUI of the online platform presenting candidates to a user, in accordance with an exemplary embodiment of present disclosure.
[0018] FIG. 8 illustrates a flow diagram of GUIs of the online platform for ordering a candidate, in accordance with an exemplary embodiment of present disclosure.
[0019] FIG. 9 illustrates an exemplary computing system for implementation of a method for presenting candidates to a user through an online platform, in accordance with an exemplary embodiment of the present disclosure.DETAILED DESCRIPTION
[0020] Exemplary embodiments are described with reference to the accompanying drawings. Wherever convenient, the same reference numbers are used throughout the drawings to refer to the same or like parts. While examples and features of disclosed principles are described herein, modifications, adaptations, and other implementations are possible without departing from the scope of the disclosed embodiments. It is intended that the following detailed description be considered exemplary only, with the true scope being indicated by the following claims. Additional illustrative embodiments are listed.
[0021] Further, the phrases “in some embodiments”, “in accordance with some embodiments”, “in the embodiments shown”, “in other embodiments”, and the like mean a particular feature, structure, or characteristic following the phrase is included in at least one embodiment of the present disclosure and may be included in more than one embodiment. In addition, such phrases do not necessarily refer to the same embodiments or different embodiments. It is intended that the following detailed description be considered exemplary only, with the true scope being indicated by the following claims.
[0022] Referring now to FIG. 1, a block diagram of an exemplary system 100 for presenting candidates to a user through an online platform 114, is illustrated, in accordance with an embodiment of the present disclosure. The system 100 may include a computing device 102, a user device 112, the online platform 114, and a data server 116 communicably coupled to each other through a wired or wireless communication network 110. The computing device 102 may include a processor 104, a memory 106 and an input / output (I / O) device 108.
[0023] In an embodiment, examples of processor(s) 104 may include, but are not limited to, microcontrollers, microprocessors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), system-on-chip (SoC) components, or any other suitable programmable logic devices. The processor 104 is responsible for executing the instructions stored in the memory 106 to carry out the functionality of the system 100, including presenting candidates to a user through the online platform 114.
[0024] In an embodiment, the memory 106 may store instructions and data, including one or more modules that, when executed by the processor 104, may cause the processor 104 to present candidates to the user, as will be discussed in greater detail herein below. In an embodiment, the memory 106 may be a non- volatile memory or a volatile memory. In anembodiment, the memory 106 may also store a single module or a combination of different modules to present candidates to a user through the online platform 114. Examples of nonvolatile memory may include but are not limited to, a flash memory, a Read Only Memory (ROM), a Programmable ROM (PROM), Erasable PROM (EPROM), and Electrically EPROM (EEPROM) memory. Further, examples of volatile memory may include but are not limited to, Dynamic Random Access Memory (DRAM), and Static Random-Access memory (SRAM).
[0025] In an embodiment, the I / O device 108 may comprise of variety of interface(s), for example, interfaces for data input and output devices, and the like The I / O device 108 may facilitate inputting of instructions by a user communicating with the computing device 102. In an embodiment, the I / O device 108 may be wirelessly connected to the computing device 102 through wireless network interfaces such as Bluetooth®, infrared, or any other wireless radio communication known in the art. In an embodiment, the I / O device 108 may be connected to a communication pathway for one or more components of the computing device 102 to facilitate the transmission of inputted instructions and output results of data generated by various components such as, but not limited to, processor(s) 104 and memory 106.
[0026] In an embodiment, the online platform 114 may serve as a medium through which the system 100 interacts with the user. The online platform 114 receives user input, the computing device 102 processes it, and the online platform 114 dynamically presents candidates based on the models and / or modules stores in the memory 106 of the computing device 102 The online platform 114 interacts with the data server 116 to access necessary data, including historical user data, content, and candidate information to make recommendations. In an embodiment, the online platform 114 may be an online food platform, although it is not limited to this application. The online platform could encompass various other types of platforms, such as e-commerce, service booking, entertainment, or travel platforms. For the sake of clarity, anexemplary embodiment will be described within the context of an online food platform, but the same principles can be applied to other domains.
[0027] In an embodiment, the data server 116 may be enabled in a remote cloud server or a co-located server and may include a database 118 for retaining various data inputs and outputs necessary for operations of the system 100. In an embodiment, the data server 116 may store data input by the user device 112 or output generated by the computing device 102. It is to be noted that within the data server 116, a Large Language Model (LLM) is stored for use by the computing device 102. In an embodiment, examples of the LLM may include, but are not limited to, zephyr, code Large Language Model Meta Al (LLAMA), Generative Pretraining Transformer (GPT), etc. The LLM stored within the data server 116 serves as a foundational component for various computational tasks and applications. In an embodiment, the computing device 102 may be communicably coupled with the data server 116 through the communication network 110.
[0028] In an embodiment, the communication network 110 may be a wired or a wireless network or a combination thereof. The communication network 110 can be implemented as one of the different types of networks, such as but not limited to, ethemet IP network, intranet, local area network (LAN), wide area network (WAN), or a Metropolitan Area Network (MAN). Various devices in the system 100 may be configured to connect to the communication network 110, in accordance with various wired and wireless communication protocols Examples of such wired and wireless communication protocols may include, but are not limited to, a Transmission Control Protocol and Internet Protocol (TCP / IP), User Datagram Protocol (UDP), Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Zig Bee, EDGE, IEEE 802.11, light fidelity (Li-Fi), 802.16, IEEE 802.11s, IEEE 802.11g, multi-hop communication, wireless access point (AP), device to device communication, cellularcommunication protocols, and Bluetooth (BT) communication protocols. Further the communication network 110 can include a variety of network devices, including routers, bridges, servers, computing devices, storage devices, and the like.
[0029] In an embodiment, the computing device 102 may receive a plurality of inputs from the user device 112 through the communication network 110. In an embodiment, the computing device 102 and the user device 112 may be a computing system, including but not limited to, a laptop computer, a desktop computer, a notebook, a workstation, a server, a portable computer, a handheld or a mobile device. The user device 112 communicates with the computing device 102 and the online platform 114 over the communication network 110 to submit input and receive output, facilitating a personalized user experience. The computing device 102 may either be embedded in the user device 112 or exist as a standalone device working in conjunction with the user device 112 to process the data.
[0030] In an embodiment, the computing device 102 may perform various processing in order to present candidates to the user. By way of an example, the computing device 102 may receive a conversational input from the user inputting via the user device 112. In an embodiment, the conversational input may be related to a requirement of the user. The computing device 102 may further analyse the conversational input to infer a user intent based on a plurality of aspects using a Natural Language Processing (NLP) model. In an embodiment, the NLP model corresponds to a Name Entity Recognition (NER) model In an embodiment, the plurality of aspects may include one or more of a historical intent associated with the user, a preference, a list of prominent keywords, and ranking preferences.
[0031] The computing device 102 may further determine if the inferred user intent is related to a historical input within historical data associated with the user. In response to an unsuccessful determination that the inferred user intent is related to the historical input, the computing device102 may process the user intent using a query understanding model to determine a plurality of parameters based on a level of complexity associated with the user intent and historical data of user interactions. In an embodiment, the plurality of parameters may include one or more keywords, entities, and expansions. In response to processing the user intent through the query understanding model, the computing device 102 may determine an understanding of the requirement of the user. In an embodiment, the understanding of the user intent may be utilized to extract the one or more of the keywords, the entities, and the expansions. The computing device 102 may further dynamically retrieve candidates from the associated database 118 based on the determined parameters using a Retrieval-Augmented Generation (RAG) machine learning model. In an embodiment, the candidates may include potential options or suggestions corresponding to the conversational input. The computing device 102 may further provide a ranking of the retrieved candidates based on the conversational input, the inferred user intent, the historical data, and contextual relevance using the Large Language Model (LLM) stored or hosted on the data server 116. In an embodiment, the LLM may be a multi-modal model. The computing device 102 may further dynamically present the retrieved candidates to the user in a personalized format via the online platform 114. In an embodiment, the online platform 114 may be, but is not limited to, an online food platform.
[0032] However, in response to successful determination that the user intent is related to the historical input, historical candidates corresponding to the historical input within the historical data are presented to the user.
[0033] Referring now to FIG.2, a functional block diagram 200 of various modules within the memory 106 of the computing device 102 of FIG. 1, configured to present candidates to a user through the online platform 114, is illustrated, in accordance with an embodiment of the present disclosure. In an embodiment, the memory 106 may include an input receiving module 202, anNLP model 204, a historical input determination module 206, a query understanding model 208, and a RAG machine learning model 210, a ranking module 212, and a candidate presentation module 214.
[0034] The input receiving module 202 may receive a conversational input from a user as an input. It should be noted that the input may be indicated or provided by the user via the user device 112. In an embodiment, the conversational input may be related to a requirement of the user. For example, in one embodiment, a user may input a query such as, “Find me a nearby Italian restaurant that delivers pasta.
[0035] The NLP model 204 may further analyse the conversational input to infer a user intent based on a plurality of aspects. This input may be provided via various methods, such as voice commands. In an embodiment, the NLP model 204 corresponds to a Name Entity Recognition (NER) model. In an embodiment, the plurality of aspects may include one or more of a historical intent associated with the user, a preference, a list of prominent keywords, and ranking preferences. In an embodiment, the NLP model 204 leverages a Named Entity Recognition (NER) model to identify and classify entities within the conversational input. For example, if a user inputs, “Find me a good pizza place near Central Park,” the NER component of the NLP model identifies entities such as “pizza” (dish) and “Central Park” (location). By recognizing these key entities, the NLP model 204 is able to understand the core aspects of the user's request and then infer the user intent, which is to find nearby pizza restaurants.
[0036] The NLP model 204 also considers a plurality of aspects to enrich its understanding of the user intent. These aspects may include the historical intent, the user preferences, the prominent keywords, and the ranking preferences. The NLP 204 model analyses previous interactions with the user to understand patterns and preferences. For example, if the user has historically searched for vegan restaurants, the NLP model 204 might infer that the user prefersvegan options, even if this preference isn’t explicitly mentioned in the current query. In an exemplary scenario, if a user previously asked for “vegan sushi,” and now they ask for “healthy lunch options,” the NLP model 204 could prioritize vegan-friendly restaurants in its responses. The NLP model 204 also takes into account specific preferences that the user has either provided explicitly or has demonstrated over time. For example, if a user often searches for "spicy food," or has a saved preference for a particular cuisine like " Thai," the NLP model 204 will infer this preference as part of the current query processing. In a scenario where the user inputs, “I want something spicy for dinner,” the model can infer that the user prefers spicy dishes and is likely seeking restaurants that offer such options. The NLP model 204 also extracts and analyses keywords from the conversational input to ensure accurate intent detection. For instance, if the user says, “Find me a place with live music and seafood,” the NLP model 204 focuses on the keywords “live music” and “seafood,” and aligns the response accordingly. The NER component might tag “seafood” as a cuisine and “live music” as an event or feature offered by a restaurant, enhancing the overall understanding of the user needs. The NLP model 204 may also consider ranking preferences that influence how results are presented. For example, if the user previously expressed a preference for high-rated restaurants, the model would factor this into the ranking of the retrieved candidates, ensuring that top-rated restaurants are prioritized. In an exemplary embodiment, if the user queries, “Show me Italian places,” and has historically chosen restaurants with high user ratings, the model will rank the results accordingly.
[0037] The historical input determination module 206 may further determine if the inferred user intent is related to a historical input within historical data associated with the user. In an exemplary embodiment, the historical input determination module 206 accesses the database 118 where past user interactions are recorded. This historical data may include previous queries, selections, preferences, and actions taken by the user in response to systemrecommendations. By comparing the inferred user intent with the stored historical inputs, the historical input determination module 206 may determine if the current input aligns with or repeats any previous requests. For example, consider a scenario where a user has previously searched for “best sushi restaurants near me” multiple times over the past few months. When the user now inputs a query like, “Where should I go for sushi tonight?”, the historical input determination module 206 analyses the new input and identifies that it is closely related to past queries. Based on this determination, the historical input determination module 206 may prioritize recommendations from sushi restaurants that the user previously viewed, liked, or visited. This personalized approach saves time by leveraging historical data to provide relevant suggestions without requiring the user to repeat their preferences.
[0038] In response to an unsuccessful determination that the inferred user intent is related to the historical input, the query understanding model 208 may process the user intent to determine a plurality of parameters based on a level of complexity associated with the user intent and historical data of user interactions. In an embodiment, the plurality of parameters may include one or more keywords, entities, and expansions. In response to processing the user intent through the query understanding model, the query understanding model 208 may determine an understanding of the requirement of the user. In an embodiment, the understanding of the user intent may be utilized to extract the one or more of the keywords, the entities, and the expansions. In an exemplary embodiment, the query understanding model 208 uses natural language processing (NLP) techniques to break down the conversational input into smaller components, including keywords, entities, and expansions. For instance, in response to a user input such as “Find me a place to eat seafood,” the query understanding model 208 would extract key parameters from the input. The keyword might be “seafood,” while the entity could be recognized as a type of restaurant or cuisine. Expansions could include variations or relatedterms, such as specific seafood dishes (e.g., "lobster," "oysters") or geographic preferences (e.g., "nearby," "coastal").
[0039] In this embodiment, the query understanding model 208 processes incoming user queries using a combination of Named Entity Recognition (NER) and Intent Detection techniques to determine the user intent and extract key parameters. The query understanding model 208 may be an integral part of the search and ranking pipeline and may consist of two primary components: entity recognition and intent mapping. When a query is received, the query understanding model 208 utilizes NER to extract relevant entities from the user’s input. For instance, in response to a user query such as “Find a Pizza Hut near me,” the NER module identifies “Pizza Hut” as the entity. The model may then assign relevant tags to the identified entities, such as associating “Pizza Hut” with the tag “restaurant chain.” These tags assist in determining the user’s intent. In this embodiment, the system also maintains a golden query corpus, which is a predefined list of keywords, entities, and associated tags that maps the input to specific intents. For example, the golden query corpus includes: “Merchant names and corresponding chain names (Intent: Merchant)”, “Dishes (Intent: Dish)”, “Cuisines (Intent: Cuisine)”, “Points of Interest (POIs) (Intent: Location).” If the incoming query includes a keyword present in the golden query corpus, the system directly maps it to the corresponding intent. For example, the query “burger king” would map to the intent “merchant,” with “Burger King” as the recognized entity and “fast food” as its tag. Similarly, if a user’s query mentions a specific dish such as “spaghetti,” it maps to the intent “dish.” In cases where the input query includes keywords that are not present in the golden query corpus, the query understanding model 208 invokes the Intent Detection Model to determine the intent. This intent detection model is trained using historical data, including past user interactions and queries stored in the corpus. The query understanding model 208 uses the training data to infer the intent of the query based on similar past queries and the context of the current input.
[0040] The query understanding model 208 also processes the query to determine additional parameters based on the complexity of the user input. The parameters may include Keywords (e.g., “seafood”, “pasta”), entities (e.g., restaurant names, dish types, cuisines), expansions (e.g., related terms such as “lobster,” “grilled seafood,” or geographical terms like “near me”). Once the entities and intent are recognized, the system returns a set of potential results or actions based on the user’s requirement. For instance, when the query is “Find me a place to eat seafood,” the query understanding model 208 identifies “seafood” as a keyword and entity, assigns the cuisine tag to “seafood,” and expands the search by recognizing related terms like “lobster” or “oysters.” Based on these parameters, the system can present a list of restaurants specializing in seafood that are geographically nearby. Thus, the query understanding model 208 allows the platform to efficiently break down user inputs into actionable components using NLP techniques and a combination of entity recognition and intent detection, ensuring the delivery of highly relevant, personalized results.
[0041] Further, the RAG machine learning model 210 may dynamically retrieve candidates from the associated database 118 based on the determined parameters using a Retrieval-Augmented Generation (RAG) machine learning model. In an embodiment, the candidates may include potential options or suggestions corresponding to the conversational input. For example, if a user inputs a query such as “Find a cozy cafe for brunch with vegetarian options in downtown,” the RAG model 210 would first retrieve candidates — cafes located downtown, those serving brunch, and those offering vegetarian options. The retrieval step identifies these options based on the keywords and entities extracted by the query understanding model 208, such as “brunch,” “vegetarian options,” and “downtown.” These candidates may be ranked based on their relevance, proximity, and other contextual factors. In an exemplary embodiment, the RAG model 210 doesn’t stop at simply retrieving candidates but augments the retrieval with a generation component. This means that, in cases where the direct matches in the database118 are limited or insufficient, the model can generate additional candidates or suggestions based on learned patterns. For instance, if the database 118 doesn’t have an exact match for a “cozy cafe with vegetarian options,” the generation component might suggest similar establishments that fit most of the criteria, or cafes that are known for offering flexible menu options.
[0042] In an embodiment, the RAG (Retrieval-Augmented Generation) machine learning model 210 dynamically retrieves and ranks candidates from the associated database 118 based on the parameters extracted by the query understanding model 208. The RAG model 210 operates as part of the platform's recall and ranking system, using multiple recall mechanisms and deep learning techniques to ensure that relevant candidates are presented to the user based on their query.
[0043] In an embodiment, when a user inputs a query, such as “Find a cozy cafe for brunch with vegetarian options in downtown,” the RAG model 210 follows a multi-stage process to retrieve and rank potential candidates. The RAG model 210 utilizes several recall methods, including Elastic search recall, Ontology-based recall, Semantic recall. Elastic search recall, which retrieves candidates (such as cafes) based on keyword matching from the user's query (e.g., "brunch," "vegetarian options," "downtown"). Ontology-based recall, which uses structured knowledge graphs or predefined relationships between entities (e.g., cafes, cuisine types) to retrieve options that match the user's intent. Semantic recall, which applies deep learning models to retrieve candidates based on the semantic meaning of the user input rather than just exact keyword matches. This allows for the retrieval of results that may not include the exact terms but are contextually relevant. These combined recall methods help the system gather a broad set of potential candidates (e.g., cozy cafes offering brunch and vegetarian options).
[0044] After recalling relevant candidates, the RAG model 210 proceeds to a coarse ranking stage. During this stage, a simple linear ranking model is used to filter the top candidates based on parameters such as proximity, relevance to the query, and general user preferences. The coarse ranking quickly narrows down the pool to the top 150 candidates to optimize processing time and computational cost. The top 150 candidates are then passed through a more refined ranking model, which consists of a relevance model that ranks candidates based on how closely they match the user's specific query (e.g., how well a cafe fits the criteria of “cozy,” “brunch,” and “vegetarian options”) and a deep cross model that evaluates the interactions between different features of each candidate, such as location, customer reviews, price range, and available options, to further fine-tune the ranking. The top 20 ranked candidates from this stage are selected as the most relevant options for the user.
[0045] In addition to retrieving candidates, the RAG model 210 is capable of augmenting the retrieval process with a generation component. This means that if the system does not find an exact match for the user’s query in the database 118 (for instance, no cafe perfectly matching “cozy cafe with vegetarian options in downtown”), the model can generate additional candidates based on learned patterns from similar queries. For example, if there is no cafe labelled as “cozy,” the generation component might suggest similar establishments that offer a comfortable ambiance or vegetarian options even if they don’t explicitly match all the criteria. The model may also generate suggestions for flexible menus or nearby alternatives that closely align with the user’s preferences Through this retrieval and generation process, the RAG machine learning model 210 ensures that the user receives a comprehensive set of personalized and highly relevant recommendations that go beyond simple keyword matching, providing a more dynamic and contextually aware search experience.
[0046] Further, the ranking module 212 may further provide a ranking of the retrieved candidates based on the conversational input, the inferred user intent, the historical data, and contextual relevance using the Large Language Model (LLM) stored or hosted on the data server 116. In an embodiment, the LLM may be a multi-modal model. In an embodiment, examples of the LLM may include, but are not limited to, zephyr, code LLAMA, GPT, etc. The ranking process begins by first evaluating the relevance of the retrieved candidates based on the conversational input. For example, if the user’s query was “find a seafood restaurant with outdoor seating near me,” the ranking module 212 would consider restaurants offering seafood and outdoor seating and rank them higher than those that only partially meet the request. The LLM processes the conversational input to gauge how closely each retrieved candidate aligns with the specific needs of the user. Next, the inferred user intent, as determined by the NLP model 204 and other related modules, is factored into the ranking. In some cases, a user intent may not be explicitly stated but inferred from the conversational input. For example, a user may query “find something healthy for lunch,” implying an interest in restaurants or dishes that cater to health-conscious preferences. The ranking module 212 uses the inferred intent to prioritize candidates that offer healthy options, placing those higher in the results list. Additionally, the ranking module 212 considers contextual relevance, which may include realtime factors such as the user’s location, current time, and availability of the retrieved candidates For example, if the user searches for “late-night pizza delivery,” the ranking module 212 would prioritize candidates that are open at the time of the query and able to deliver within the user’s geographical location. The LLM uses its understanding of these contextual cues to adjust the ranking dynamically, ensuring that time-sensitive or location-based results are appropriately prioritized.
[0047] Further, the candidate presentation module 214 may dynamically present the retrieved candidates to the user in a personalized format via the online platform 114 and on the userdevice 112. In an embodiment, the online platform 114 may be, but is not limited to, an online food platform. When the user interacts with the online food platform 114 via their user device 112 (such as a smartphone, tablet, or desktop computer), the candidate presentation module 214 receives the ranked list of candidates (e.g., restaurants, dishes, or merchants) from the ranking module 212. The presentation module 214 then organizes these candidates in a format that is visually appealing and contextually relevant to the user. In one embodiment, the presentation format may involve a simple list of restaurant options, with each restaurant accompanied by relevant information such as name, cuisine type, rating, distance from the user’s location, estimated delivery time, and available promotions. For example, if a user is searching for a dinner option, the candidate presentation module 214 might display “Joe’s Pizzeria” at the top of the list, highlighting its proximity, 4.5-star rating, and a special discount on pizza.
[0048] However, in response to successful determination that the user intent is related to the historical input, the candidate presentation module 214 may present historical candidates corresponding to the historical input within the historical data to the user. In an exemplary embodiment, consider a scenario where a user frequently orders food from a specific restaurant, such as " John’s Pizza," and has done so multiple times in the past. When the user initiates a new search with a conversational input like, “I want pizza for dinner,” the system detects that this intent aligns with a historical pattern of selecting pizza from “John’s Pizza ” The historical input determination module 206 identifies this match, allowing the candidate presentation module 214 to prioritize or present this historical candidate directly to the user.
[0049] For instance, rather than showing a broad list of all pizza options available on the platform, the candidate presentation module 214 can highlight " John’s Pizza" as the top choice, displaying past orders, the restaurant’s menu, and any previous user interactions such as savedfavourites or preferred dishes. This approach allows the system to streamline the user's decision-making process by leveraging familiarity and historical preferences, effectively offering a shortcut based on the user's previous behaviour.
[0050] In an exemplary scenario, if the user is looking for a particular dish or cuisine, such as " Italian pasta," the online platform would present a highly personalized and context-aware response. The presentation of information may include, among other things, the ability to book a table for dining at a nearby restaurant offering Italian cuisine, or alternatively, provide a one-click option to order the food for delivery.
[0051] For instance, upon detecting the user conversational input, the online platform 114 might retrieve a list of Italian restaurants that serve pasta within a specified range of the user’s location. The user is presented with several options to choose from, including restaurant names, menus, delivery times, and proximity to their location. If the user prefers dining out, the online platform 114 may offer a real-time table reservation option, including available dining slots at each restaurant. The user could then select their preferred time and confirm their booking with a single tap. Additionally, the online platform 114 might provide special promotions, such as discounted dining or loyalty points for reserving through the online platform 114. If the user prefers ordering delivery, the online platform 114 may also provide a one-click food order option, where the user may immediately place an order for their favourite dish (e g., Spaghetti Carbonara). The online platform 114 would automatically detect whether the user is at home or at a known address, such as their office or a friend’s place. For example, if the user had previously ordered from the same restaurant while at their home, the online platform 114 could recognize their current location and prompt them with a suggestion to deliver the order to their home address.
[0052] The online platform 114 further enhance the convenience. If the user is at a known address (for instance, visiting a friend’s house), the online platform 114 may offer a personalized prompt, such as “Would you like to have this order delivered to [friend’s name]’s place, as you did last time?” In case the user has dietary preferences (e.g., vegetarian), the online platform 114 may automatically filter the menu or provide suggestions that align with these preferences, highlighting options such s vegetarian pasta dishes or vegan sides available for delivery or dine-in. Moreover, if the restaurant does not have exactly what the user is looking for, the RAG machine learning model 210 may suggest alternative restaurants with similar menus or dish variations based on the user previous orders or preferences.
[0053] It should be noted that all such aforementioned modules 202-214 may be represented as a single module or a combination of different modules. Further, as will be appreciated by those skilled in the art, each of the modules 202-214 may reside, in whole or in parts, on one device or multiple devices in communication with each other. In some embodiments, each of the modules 202-214 may be implemented as dedicated hardware circuit comprising custom application-specific integrated circuit (ASIC) or gate arrays, off-the-shelf semiconductors such as logic chips, transistors, or other discrete components. Each of the modules 202-214 may also be implemented in a programmable hardware device such as a field programmable gate array (FGPA), programmable array logic, programmable logic device, and so forth. Alternatively, each of the modules 202-214 may be implemented in software for execution by various types of processors (e.g. processor 104). An identified module of executable code may, for instance, include one or more physical or logical blocks of computer instructions, which may, for instance, be organized as an object, procedure, function, or other construct. Nevertheless, the executables of an identified module or component need not be physically located together but may include disparate instructions stored in different locations which, when joined logically together, include the module and achieve the stated purpose of the module. Indeed, a moduleof executable code could be a single instruction, or many instructions, and may even be distributed over several different code segments, among different applications, and across several memory devices.
[0054] As will be appreciated by one skilled in the art, a variety of processes may be employed for presenting candidates to the user through the online platform 114. For example, the exemplary system 100 and the associated computing device 102 may present candidates to the user through the online platform 114 by the processes discussed herein. In particular, as will be appreciated by those of ordinary skill in the art, control logic and / or automated routines for performing the techniques and steps described herein may be implemented by the system 100 and the associated computing device 102 either by hardware, software, or combinations of hardware and software. For example, suitable code may be accessed and executed by the one or more processors on the system 100 to perform some or all of the techniques described herein. Similarly, application specific integrated circuits (ASICs) configured to perform some, or all of the processes described herein may be included in the one or more processors on the system 100.
[0055] Referring to FIG. 3, a flowchart 300 of a method of presenting candidates to a user through the online platform 114, in accordance with an embodiment of present disclosure. FIG.3 is explained in conjunction with FIGs. 1 and 2. In an embodiment, the flowchart 300 may include a plurality of steps that may be performed by various modules of the computing device 102 so as to present candidates to a user through the online platform 114.
[0056] At step 302, the computing device 102 may receive a conversational input from the user inputting via the user device 112. In an embodiment, the conversational input may be related to a requirement of the user.
[0057] Further at step 304, the computing device 102 may analyse the conversational input to infer a user intent based on a plurality of aspects using a Natural Language Processing (NLP) model. In an embodiment, the NLP model corresponds to a Name Entity Recognition (NER) model. In an embodiment, the plurality of aspects may include one or more of a historical intent associated with the user, a preference, a list of prominent keywords, and ranking preferences.
[0058] Further at step 306, the computing device 102 may determine if the inferred user intent is related to a historical input within historical data associated with the user. In response to successful determination that the user intent is related to the historical input, the computing device, at step 308, present historical candidates corresponding to the historical input within the historical data to the user.
[0059] However, in response to an unsuccessful determination that the inferred user intent is related to the historical input, the computing device 102, at step 310, may process the user intent using a query understanding model to determine a plurality of parameters based on a level of complexity associated with the user intent and historical data of user interactions. In an embodiment, the plurality of parameters may include one or more keywords, entities, and expansions. In response to processing the user intent through the query understanding model, the computing device 102 may determine an understanding of the requirement of the user. In an embodiment, the understanding of the user intent may be utilized to extract the one or more of the keywords, the entities, and the expansions.
[0060] Further at step 312, the computing device 102 may dynamically retrieve candidates from the associated database 118 based on the determined parameters using a Retrieval-Augmented Generation (RAG) machine learning model. In an embodiment, the candidates may include potential options or suggestions corresponding to the conversational input.
[0061] Further at step 314, the computing device 102 may provide a ranking of the retrieved candidates based on the conversational input, the inferred user intent, the historical data, and contextual relevance using the Large Language Model (LLM) stored or hosted on the data server 116. In an embodiment, the LLM may be a multi-modal model.
[0062] Further at step 316, the computing device 102 may dynamically present the retrieved candidates to the user in a personalized format via the online platform 114. In an embodiment, the online platform 114 may be, but is not limited to, an online food platform.
[0063] In some embodiments, a method of presenting food options to a user through an online food platform is disclosed. The method may include receiving an input comprising at least one of a dish, a cuisine, or a dietary preference of the user. The method may further include analysing the input to infer a user intent based on a plurality of aspects, using a Natural Language Processing (NLP) model. In some embodiments, the plurality of aspects comprises one or more of a historical intent associated with the user, a user preference, a list of prominent keywords, and ranking preferences. The NLP model corresponds to a Name Entity Recognition (NER) model.
[0064] The method may further include determining if the inferred user intent is related to a historical input within historical data associated with the user. In response to an unsuccessful determination that the inferred user intent is related to a historical input, the method may further include processing, based on a level of complexity associated with the user intent and historical data of user interactions, the user intent using at least one of a queries understanding technique, or a Large Language Model (LLM), to determine a plurality of parameters. In some embodiments, the LLM is a multi-modal model. The plurality of parameters comprises one or more keywords, entities, and expansions related to the dish, cuisine, or the dietary preference of the user. The method may further include dynamically retrieving the food options from anassociated database based on the determined plurality of parameters, using a Retrieval-Augmented Generation (RAG) technique. The method may further include providing, using the LLM, ranks to the extracted food options based on the input, the inferred user intent, the historical data, and contextual relevance.
[0065] The method may further include dynamically presenting the retrieved food options to the user in a personalized format via the online food platform. The personalized format comprises at least one of a custom recommendation for nearby restaurants, visual presentation of the food options, sorting options by rating or distance, filter options by dietary restrictions, user ratings and reviews, a personalized message, contextual information, comparison tools, interactive elements, and / or dynamic layouts. The food options comprise an option to book a table for dining at a nearby restaurant that offers the dish, the cuisine, or the dietary preference of the user, and / or a one-click option to place an order for delivery, wherein a current location or a pre-defined address of the user is identified automatically to place the order. In some embodiments, the food options comprise potential dishes, restaurants, and dining alternatives corresponding to the input.
[0066] Referring now to FIG.4, a flow diagram 400 for presenting candidates to a user through the online platform 114, is illustrated, in accordance with an embodiment of present disclosure. The flow diagram 400 outlines the key steps involved in receiving and processing user input, analyzing the user intent, and dynamically presenting relevant candidates to the user based on several computational models.
[0067] The process begins with a first step 402, a conversational input is provided by the user through the user device 112 to the online platform 114. The conversational input can be a natural language query or command related to a specific requirement, such as ordering food, selecting a restaurant, or finding recommendations on the online platform 114.
[0068] The next step 404 involves, the conversational input is analysed to determine the user intent. This process leverages data from previous interactions, such as the user past preferences or frequently ordered items. For example, if a user regularly orders from a particular restaurant, the online platform 114 may infer that the user wants to reorder from that restaurant when similar input is detected.
[0069] Once the intent is inferred, the flow diagram 400 branches into two primary processes for query understanding, a traditional query understanding step 406 and an LLM-based query understanding step 408. In the traditional query understanding step 406, the user input is processed using conventional query understanding techniques, such as matching keywords, analyzing sentence structures, or using predefined rules. In the LLM-based query understanding step 408, a Large Language Model (LLM), such as GPT or code LLAMA is used to interpret the conversational input in a more nuanced and context-aware manner. The LLM analyses multiple aspects of the input, including preferences, historical interactions, and ranking preferences, to generate a more refined understanding of the user needs.
[0070] The next step 410 involves recalling and ranking candidates using the Retrieval-Augmented Generation (RAG) model. The RAG model retrieves relevant candidates from the associated database 118 based on the query parameters determined by either the traditional query understanding process or the LLM-based query understanding process The RAG model prioritizes candidates based on user preferences, previous interactions, and contextual relevance.
[0071] The next step 412 involves processing of the ranked candidates are then by the LLM-empowered fine-grained content display, which dynamically presents the results in a personalized format on the user device 112. This presentation is tailored to the user’s preferences, offering relevant sorting options, custom recommendations, or interactiveelements that enhance the overall user experience. For instance, the online platform 114 may display a list of suggested restaurants with ratings, reviews, and highlighted deals, all tailored to the user preferences.
[0072] Furthermore, the online platform 114 can seamlessly handle cases where the user input aligns with historical data. If the user input indicates a favourite restaurant or a commonly ordered item (as inferred at step 404), the online platform 114 can quickly retrieve the corresponding historical candidates and present them with high priority to the user. This ensures that the user frequently preferred options are presented efficiently.
[0073] Referring now to FIG. 5, a Graphic User Interface (GUI) 500 of the online platform presenting candidates to a user, is illustrated, in accordance with an exemplary embodiment of present disclosure. The GUI demonstrates how the online platform 114 dynamically displays candidates, such as restaurants or merchants, in response to a user's conversational input.
[0074] At the top of the interface, there is a conversational input field 502 where the user conversational input is displayed. In this example, the user has input the conversational input " Show me some popular merchants," indicating their interest in discovering popular or highly rated dining options. The conversational input allows the platform to understand the user’s intent and retrieve relevant candidates from the associated database 118.
[0075] Below the search bar 502, the GUI 500 presents a list of candidate options 504. Each candidate is represented by a candidate that provides key information to help the user make an informed decision. The candidates feature various elements. Each candidate displays the name of the restaurant or merchant, such as " McDonald’s - Queenstown" and " Pizza Hut - Ghim Moh Road." The distance between the user's location and the restaurant is shown in minutes, such as "1 min" or "0.8 min," providing convenience for users interested in nearby options. Each candidate also includes an estimated delivery time, which helps users quickly gauge how longit would take to receive their order. Some of the candidates include promotional offers or advertisements, indicated by labels such as “Ad” or visual cues like discounts (e.g., "$10 off). These offers are highlighted to catch the user’s attention and enhance the personalized experience. Each candidate displays a rating and the number of reviews, such as "4.3 stars" from "43 reviews." This helps the user assess the popularity and quality of the listed merchants.
[0076] Referring now to FIG. 6, another Graphic User Interface (GUI) 600 of the online platform 114 presenting candidates to the user, is illustrated, in accordance with an exemplary embodiment of the present disclosure This figure showcases the ability of the online platform 114 to dynamically respond to a specific conversational input and personalize the user experience with tailored options and order details
[0077] At the top of the GUI 600, there is a conversational input field 602 where the user has entered or spoken a specific request: " Order a beef lasagne pizza for me." This natural language input reflects how the platform enables seamless interaction through voice or text-based communication. In response to this request, the online platform 114 has inferred the user intent and is providing relevant candidates.
[0078] Below the conversational input field, the user is presented with the details of a selected candidate, in this case, " Pizza Hut - Ghim Moh Road." The GUI 604 displays the specific restaurant where the order will be placed. Key order details and customizable delivery options are provided. The GUI includes a breakdown of the order, showing the main item (" Beef Lasagne") along with its price ("16.85") This summary allows the user to review the details before finalizing the purchase. The online platform 114 also provides an option to edit the order if needed. Below the order summary, the GUI suggests additional items that other customers frequently ordered with the main dish, including " Hershey's Chocolate Chip Cookie (Whole)" for " 10.90" and " Coca-Cola Zero Sugar (Can)" for "3.50." These recommendations are basedon historical user data and ordering trends, offering a personalized shopping experience. The total price of the order is displayed at the bottom, showing a grand total of "520.85," which includes all selected items and fees. This clear presentation ensures transparency and helps the user quickly understand the cost of their order.
[0079] The GUI 600 exemplifies how the online platform 114 adapts to specific user requests by combining personalized recommendations, dynamic order summaries, and flexible delivery options. This tailored interface enhances the user experience, making it easy to place orders efficiently and customize them according to individual preferences
[0080] Referring now to FIG. 7, another Graphic User Interface (GUI) 700 of the online platform 114 presenting candidates to the user, in accordance with an exemplary embodiment of the present disclosure. The GUI 700 demonstrates how the online platform 114 processes a user conversational input and presents relevant food options in a visually organized and user-friendly manner.
[0081] At the top of the GUI, there is a conversational input field 702 where the user has either typed or spoken a request: " What dish are in pizza hut?" This input represents the user’s desire to explore available dishes from a specific restaurant. The online platform 114 responds to this conversational input by presenting a list of relevant food bundles and meals offered by " Pizza Hut."
[0082] The central portion 704 of the GUI 700 showcases several meal options, visually represented with images, titles, and prices, making it easier for the user to make a selection. The following are the candidate dishes presented as a response to the user conversational input. At the bottom, there are images of additional dishes, including pizza, which can be clicked on to view more details or to customize the order further. The platform uses visuals to enhance the shopping experience, making it more engaging and intuitive for users who may prefer browsingthrough images rather than reading text-heavy menus. This GUI showcases how the platform leverages natural language understanding to respond to user inquiries and present a range of relevant food choices. The layout is designed for convenience, with clear pricing, attractive imagery, and easy navigation to add items to the order.
[0083] Referring now to FIG. 8, a flow diagram 800 of Graphic User Interfaces (GUIs) of the online platform 114 for ordering a candidate, is illustrated, in accordance with an exemplary embodiment of the present disclosure. The flow diagram 800 shows the progression of screens that guide the user through the process of selecting a merchant, finding convenient locations, and placing an order, all driven by conversational input
[0084] The first GUI 802 showcases the conversational input by the user “Show me the pizza merchants near me?” This conversational input 804 is processed by the online platform 114, and in response, a list of pizza merchants 806 is displayed. Each merchant is presented with relevant details such as its name, customer rating, delivery options. In this case, merchants like “Pizza Hut-Ghim Moh Road” and “Domino’s Pizza-Holland Drive” are displayed, offering information about the estimated delivery times and promotional discounts. The design allows users to view multiple options and select their preferred merchant from a visual organized list.
[0085] The second GUI 808 transitions to the conversational input “Show me the pizza merchant on my way home?” Here, the online platform 114 responds with a map 812, indicating the location of “Pizza Hut” in relation to the user current location and destination. This GUI 808 provides convenience by allowing the user to find a pizza merchant that fits into commute or travel route The map includes markers, highlighting key locations such as “Home”, and visually guiding the user to an appropriate option for ordering while on the move.100861 The third GUI 814 demonstrates the order process once the user has identified a merchant and is ready to make a purchase. The conversational input 816, “I have ordered fromthis merchant before, could you reorder for me?” prompts the online platform 114 to retrieve the user previous orders. In this case, the online platform 114 displays an order summary 818 for a “Beef Lasagne” from Pizza Hut. Additionally, the user is presented with delivery options, such as priority, standard, or saver times, with corresponding delivery fees.
[0087] Referring now to FIG. 9, an exemplary computing system 900 for implementation of a method for presenting candidates to a user through the online platform 114, in accordance with an exemplary embodiment of the present disclosure.
[0088] Those skilled in the relevant art will also recognize how to implement the invention using other computer systems or architectures. The computing system 900 may represent, for example, an end device that involves network connection. In an embodiment, the end device may include, but not limited to a smart phone, a laptop computer, a desktop computer, a workstation, a portable computer, a handheld, or a mobile device. In an embodiment, the computing system 900 may represent, for example, an end-device with the provision of mobility. Examples of the end-device with the provision of mobility may include but not limited to a Telematics Control Unit (TCU), an infotainment system, a Vehicle-to-Everything Device (V2X) device, an On-board Diagnostics Device (OBD), an Advanced Driver Assistance Systems (ADAS) sensor, and the like. The computing system 900 may include one or more processors, such as a processor 902 that may be implemented using a general or special purpose processing engine such as, for example, a microprocessor, microcontroller or other control logic. In this example, the processor 902 is connected to a bus 904 or other communication medium. In an embodiment, examples of processor 902 may include, but are not limited to, microcontrollers, microprocessors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), system-on-chip (SoC)components, or any other suitable programmable logic devices, system-on-a-chip processors or other future processors.
[0089] The computing system 900 may also include a memory 906 (main memory), for example, Random Access Memory (RAM) or other dynamic memory, for storing information and instructions to be executed by the processor 902. The memory 906 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by the processor 902. The computing system 900 may likewise include a read only memory (“ROM”) or other static storage device coupled to bus 904 for storing static information and instructions for the processor 902.
[0090] The computing system 900 may also include a storage devices 908, which may include, for example, a media drive 910 and a removable storage interface 914. The media drive 910 may include a drive or other mechanism to support fixed or removable storage media, such as a hard disk drive, a floppy disk drive, a magnetic tape drive, an SD card port, a USB port, a micro-USB, an optical disk drive, a CD or DVD drive (R or RW), or other removable or fixed media drive. A storage media 912 may include, for example, a hard disk, magnetic tape, flash drive, or other fixed or removable medium that is read by and written to by the media drive 910. As these examples illustrate, the storage media 912 may include a computer-readable storage medium having stored there in particular computer software or data.
[0091] In alternative embodiments, the storage devices may include other similar instrumentalities for allowing computer programs or other instructions or data to be loaded into the computing system 900 Such instrumentalities may include, for example, a removable storage unit 914 and a storage unit interface 916, such as a program cartridge and cartridge interface, a removable memory (for example, a flash memory or other removable memorymodule) and memory slot, and other removable storage units and interfaces that allow software and data to be transferred from the removable storage unit 914 to the computing system 900.
[0092] The computing system 900 may also include a communications interface 918. The communications interface 918 may be used to allow software and data to be transferred between the computing system 900 and external devices. Examples of the communications interface 918 may include a network interface (such as an Ethernet or other NIC card), a communications port (such as for example, a USB port, a micro-USB port), Near field Communication (NFC), etc. Software and data transferred via the communications interface 918 are in the form of signals which may be electronic, electromagnetic, optical, or other signals capable of being received by the communications interface 918. These signals are provided to the communications interface 918 via a channel 920. The channel 920 may carry signals and may be implemented using a wireless medium, wire or cable, fiber optics, or another communications medium. Some examples of the channel 920 may include a phone line, a cellular phone link, an RF link, a Bluetooth link, a network interface, a local or wide area network, and other communications channels.
[0093] The computing system 900 may further include Input / Output (I / O) devices 922. Examples may include, but are not limited to a display, keypad, microphone, audio speakers, vibrating motor, LED lights, etc. The I / O devices 922 may receive input from a user and also display an output of the computation performed by the processor 902 In this document, the terms “computer program product” and “computer-readable medium” may be used generally to refer to media such as, for example, the memory 906, the storage devices 908, the removable storage unit 914, or signal(s) on the channel 920. These and other forms of computer-readable media may be involved in providing one or more sequences of one or more instructions to the processor 902 for execution. Such instructions, generally referred to as “computer programcode” (which may be grouped in the form of computer programs or other groupings), when executed, enable the computing system 900 to perform features or functions of embodiments of the present invention.
[0094] In an embodiment where the elements are implemented using software, the software may be stored in a computer-readable medium and loaded into the computing system 900 using, for example, the removable storage unit 914, the media drive 910 or the communications interface 918. The control logic (in this example, software instructions or computer program code), when executed by the processor 902, causes the processor 902 to perform the functions of the invention as described herein.
[0095] Thus, the disclosed method 300 and system 100 of presenting candidates to a user through the online platform 114 provide significant advantages over existing online platforms, addressing key limitations and enhancing the overall user experience. The disclosed method 300 and system 100 leverages a conversational interface rather than relying on static or traditional Ul-based methods. This allows users to interact with the online platform 114 using natural language, making the experience more intuitive and personalized. The integration of conversational elements reduces the need for complex navigation through menus and options, offering users a streamlined experience.
[0096] The disclosed method 300 and system 100 utilizes advanced machine learning models, such as the query understanding model 208 and the RAG machine learning model 210, to extract user intent, preferences, and contextual parameters from conversational inputs. This leads to highly personalized recommendations, ensuring that users are presented with candidates that closely match their preferences, location, and historical interactions. Existing online platforms may often provide generic suggestions that lack the same level of personalization.[00971 The disclosed method 300 and system 100 is capable of dynamically adapting the content presented to the user based on real-time data and contextual factors. For example, the platform can offer suggestions based on the time of day, location, or user preferences inferred from past interactions. Traditional platforms typically rely on static or predefined lists, limiting the adaptability and relevance of suggestions. Using the RAG machine learning model 210, the disclosed method 300 and system 100 not only retrieves candidates that match the user conversational input but also augments the retrieval process by generating additional candidates when direct matches are limited or insufficient. This ensures that users are never presented with an empty or irrelevant result set, which is a common limitation in many existing online platforms. The query understanding model 208 in the disclosed method 300 and system 100 goes beyond simple keyword matching by using natural language processing (NLP) techniques to understand the user’s intent, extract entities, and recognize complex queries. This deeper understanding of user input enables the system to provide more accurate and context-aware suggestions, unlike existing platforms that may struggle to handle nuanced or complex queries.
[0098] The multi-stage recall and ranking process of the RAG model significantly improves the quality of search results. By combining elastic search, ontology-based recall, and semantic recall, followed by coarse and fine ranking stages, the disclosed method 300 and system 100 ensures that only the most relevant candidates are presented to the user. This hierarchical approach to ranking is more sophisticated than traditional platforms that may rely solely on simple keyword-based retrieval. The disclosed method 300 and system 100 is designed to handle complex user queries by breaking them down into manageable components (keywords, entities, expansions) and retrieving or generating candidates accordingly. For example, a query like “Find a cozy cafe for brunch with vegetarian options in downtown” would result in arefined set of suggestions tailored to the specific request, whereas traditional platforms may struggle to provide results that meet all the given criteria.
[0099] As will be appreciated by those skilled in the art, the techniques described in the various embodiments discussed above are not routine, or conventional, or well-understood in the art. The techniques discussed above provide for presenting candidates to a user through the online platform 114.
[0100] In light of the above-mentioned advantages and the technical advancements provided by the disclosed method 300 and system 100, the claimed steps as discussed above are not routine, conventional, or well understood in the art, as the claimed steps enable the following solutions to the existing problems in conventional technologies. Further, the claimed steps bring an improvement in the functioning of the device itself as the claimed steps provide a technical solution to a technical problem.
[0101] The specification has described the disclosed method 300 and system 100 for presenting candidates to a user through the online platform 114. The illustrated steps are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for the purpose of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc, of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.[01021 It is intended that the disclosure and examples be considered as exemplary only, with a true scope of disclosed embodiments being indicated by the following claims.
Claims
CLAIMSWhat is Claimed is:
1. A method of presenting candidates to a user through an online platform, comprising:receiving, by the online platform, a conversational input from a user, wherein the conversational input is related to a requirement of the user;analyzing, by a Natural Language Processing (NLP) model, the conversational input to infer a user intent based on a plurality of aspects;determining if the inferred user intent is related to a historical input within historical data associated with the user;in response to an unsuccessful determination that the inferred user intent is related to the historical input:processing, by a query understanding model, the user intent to determine a plurality of parameters based on a level of complexity associated with the user intent and historical data of user interactions;dynamically retrieving candidates from an associated database based on the determined plurality of parameters using a Retrieval-Augmented Generation (RAG) machine learning model;providing a ranking of the retrieved candidates based on the conversational input, the inferred user intent, the historical data, and contextual relevance using a Large Language Model (LLM); anddynamically presenting the retrieved candidates to the user in a personalized format via the online platform.
2. The method of claim 1, wherein the plurality of aspects comprises one or more of a historical intent associated with the user, a user preference, a list of prominent keywords, and ranking preferences.
3. The method of claim 1, wherein the NLP model corresponds to a Name Entity Recognition (NER) model.
4. The method of claim 1, wherein in response to successful determination that the user intent is related to the historical input, historical candidates corresponding to the historical input within the historical data are presented to the user.
5. The method of claim 1, wherein the LLM is a multi-modal model.
6. The method of claim 1, wherein an understanding of the requirement of the user is determined, in response to processing the user intent through the query understanding model and wherein the understanding of the user intent is utilized to extract the one or more of keywords, entities, and expansions.
7. The method of claim 1, wherein the plurality of parameters comprises one or more keywords, entities, and expansions.
8. The method of claim 1, wherein the candidates comprise potential options or suggestions corresponding to the conversational input.
9. The method of claim 1, wherein the personalized format comprises at least one of a custom recommendation, a visual presentation, sorting options, filter options, user rating and reviews, a personalized message, contextual information, comparison tools, interactive elements, and / or dynamic layouts.
10. The method of claim 1, wherein the online platform is an online food platform.
11. A system for presenting candidates to a user through an online platform, the system comprising:a processor; anda memory communicatively coupled to the processor, wherein the memory stores processor-executable instructions, which, on execution, cause the processor to:receive, by the online platform, a conversational input from a user, wherein the conversational input is related to a requirement of the user;analyse, by a Natural Language Processing (NLP) model, the conversational input to infer a user intent based on a plurality of aspects;determine if the inferred user intent is related to a historical input within historical data associated with the user;in response to unsuccessful determination that the inferred user intent is related to a historical input:process, by a query understanding model, the user intent to determine a plurality of parameters based on a level of complexity associated with the user intent and historical data of user interactions;dynamically retrieve candidates from an associated database based on the determined plurality of parameters, using a Retrieval-Augmented Generation (RAG) machine learning model;provide a ranking of the retrieved candidates based on the conversational input, the inferred user intent, the historical data and contextual relevance using a Large Language Model (LLM); anddynamically present the retrieved candidates to the user in a personalized format via the online platform.
12. The system of claim 11, wherein the plurality of aspects comprises one or more of a historical intent associated with the user, a user preference, a list of prominent keywords, and ranking preferences.
13. The system of claim 11, wherein the NLP model corresponds to a Name Entity Recognition (NER) model, and wherein the LLM is a multi-modal model.
14. The system of claim 11, wherein in response to successful determination that the user intent is related to the historical input, historical candidates corresponding to the historical input within the historical data are presented to the user.
15. The system of claim 11, wherein an understanding of the requirement of the user is determined, in response to processing the user intent through the query understanding model, and wherein the understanding of the user intent is utilized to extract the one or more of keywords, entities, and expansions.
16. The system of claim 11, wherein the plurality of parameters comprises one or more keywords, entities, and expansions.
17. The system of claim 11, wherein the candidates comprise potential options or suggestions corresponding to the conversational input.
18. The system of claim 11, wherein the personalized format comprises at least one of a custom recommendation, a visual presentation, sorting options, filter options, user rating and reviews, a personalized message, contextual information, comparison tools, interactive elements, and / or dynamic layouts.
19. The system of claim 11, wherein the online platform is an online food platform.
20. A non-transitory computer-readable medium storing computer-executable instructions for presenting candidates to a user through an online platform, the computer-executable instructions configured for:receiving, by the online platform, a conversational input from a user, wherein the conversational input is related to a requirement of the user;analyzing, by a Natural Language Processing (NLP) model, the conversational input to infer a user intent based on a plurality of aspects;determining if the inferred user intent is related to a historical input within historical data associated with the user;in response to unsuccessful determination that the inferred user intent is related to a historical input:processing, by a query understanding model, the user intent to determine a plurality of parameters based on a level of complexity associated with the user intent and historical data of user interactions;dynamically retrieving candidates from an associated database based on the determined parameters using a Retrieval-Augmented Generation (RAG) machine learning model;providing a ranking of the retrieved candidates based on the conversational input, the inferred user intent, the historical data, and contextual relevance using a Large Language Model (LLM);dynamically presenting the retrieved candidates to the user in a personalized format via the online platform.
21. A method of presenting food options to a user through an online food platform, comprising:receiving an input comprising at least one of a dish, a cuisine, or a dietary preference of the user,analysing the input to infer a user intent based on a plurality of aspects, using a Natural Language Processing (NLP) model;determining if the inferred user intent is related to a historical input within historical data associated with the user; andin response to an unsuccessful determination that the inferred user intent is related to a historical input:processing, based on a level of complexity associated with the user intent and historical data of user interactions, the user intent using at least one of a queries understanding technique, or a Large Language Model (LLM), to determine a plurality of parameters;dynamically retrieving the food options from an associated database based on the determined plurality of parameters, using a Retrieval-Augmented Generation (RAG) technique;providing, using the LLM, ranks to the extracted food options based on the input, the inferred user intent, the historical data, and contextual relevance; and dynamically presenting the retrieved food options to the user in a personalized format via the online food platform,wherein:the food options comprise an option to book a table for dining at a nearby restaurant that offers the dish, the cuisine.
22. The method of claim 21, wherein the food options further comprise the dietary preference of the user.
23. The method of claim 21, wherein the food options comprise a one-click option to place an order for delivery, wherein a current location or a pre-defined address of the user is identified automatically to place the order.
24. The method of claim 21, wherein the plurality of aspects comprises one or more of a historical intent associated with the user, a user preference, a list of prominent keywords, and ranking preferences.
25. The method of claim 21, wherein the NLP model corresponds to a Name Entity Recognition (NER) model.
26. The method of claim 21, wherein the LLM is a multi-modal model.
27. The method of claim 21, wherein the plurality of parameters comprises one or more keywords, entities, and expansions related to the dish, cuisine, or the dietary preference of the user.
28. The method of claim 21, wherein the food options comprise potential dishes, restaurants, and dining alternatives corresponding to the input.
29. The method of claim 21, wherein the personalized format comprises at least one of a custom recommendation for nearby restaurants, visual presentation of the food options, sorting options by rating or distance, filter options by dietary restrictions, user ratings and reviews, a personalized message, contextual information, comparison tools, interactive elements, and / or dynamic layouts.