Automatically generated product recommendations based on questions and answers
By using the semantic similarity model in the question-answering system to extract and sort noun phrases and generate product recommendations, the bridge problem from asking questions to shopping in e-commerce is solved, and a convenient shopping experience is achieved.
Patent Information
- Application Number
- CN202480014090.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-03-30
- Filing Date
- 2024-02-21
- Publication Date
- 2025-10-03
AI Technical Summary
Existing question-answering systems fail to effectively provide a simple and natural bridge from questioning to shopping activities in e-commerce, and users need to reformulate their search queries to obtain relevant product information.
By highlighting relevant shopping recommendations in the question-answering system, a semantic similarity model is used to extract noun phrases from the answer text and sort them based on click training data to generate a recommendation list related to the product.
Users do not need to reformulate their search queries and can directly obtain relevant product information by selecting noun phrases, which improves the convenience and efficiency of the shopping experience.
Smart Images

Figure CN120752628A_ABST
Abstract
Description
Background Art
[0001] Question answering (QA) is a popular feature in e-commerce services, with many customers using it as part of their shopping journey. QA involves building systems that automatically answer questions users ask in natural language. Part of QA is natural language processing, which involves processing text, understanding the meaning of specific words, understanding the context of words, and drawing inferences from paragraphs and content. Once natural language processing is complete, answers can be provided that can help users generate new searches for specific products. For example, a user can generate a question such as "How to remove dog hair from furniture?", and an automated answer such as "Try a lint brush or asqueegee with a rubber edge" can be provided. The user can then use this answer to generate an appropriate search in the search box. While the QA experience is useful, it can be improved through further automation. BRIEF DESCRIPTION OF THE DRAWINGS
[0002] Figure 1 is a schematic diagram of a user interface (UI) in which noun phrases are highlighted and associated with products using link arrows.
[0003] Figure 2 is a schematic diagram of a UI where noun phrases in answers are associated with products and n-grams are associated with reviews of products.
[0004] Figure 3 is a system diagram showing the interaction of a UI with a backend system including a semantic similarity model.
[0005] Figure 4 Shown Figure 3 Further details of the semantic similarity model.
[0006] Figure 5 Provided Figure 4 A specific example of a semantic similarity model.
[0007] Figure 6 shows the obtained Figure 3 and Figure 4 Click data for semantic similarity model.
[0008] Figure 7 is an example system diagram illustrating multiple virtual machine instances running in a multi-tenant environment, where a semantic similarity model is executed on a server computer.
[0009] Figure 8is a flow chart for generating a display having productions associated with n-grams, according to one embodiment.
[0010] Figure 9 is a flow chart for generating a display having productions associated with n-grams according to another embodiment.
[0011] Figure 10 A generalized example of a suitable computing environment is depicted in which the described innovations may be implemented. DETAILED DESCRIPTION
[0012] In Q&A, answers can spark customer curiosity and lead to opportunities for shopping actions. However, current solutions do not provide customers with a simple and natural bridge from asking questions to shopping activities. An automatic technology is disclosed that enriches the presented answers by highlighting relevant shopping recommendations. Shopping recommendations can be highlighted within the answer itself or as an auxiliary list of suggestions. A model is described that selects phrases from the answer text (a sequence of words called an n-gram) that refer to potential products that may represent relevant shopping recommendations in the context of a question-answer pair. Noun phrases can be extracted from the n-gram. A noun phrase is an n-gram that includes nouns. The noun phrases are then sorted in order of score. The noun phrases with the highest score are used to search for products displayed in association with the noun phrase. Clicking (in a web interface) or tapping (in a mobile device) the highlighted noun phrase will initiate a shopping-related process, such as presenting a widget with product recommendations or running a search in a search engine. Although the embodiments described herein focus on noun phrases, such embodiments can be equally applicable to any type of n-gram.
[0013] Figure 11 is a UI 100 for e-commerce. A user can enter a question 110 into an input text field 112 and select a search indicator 116. Although shown as a question, the input text field can also receive a search query or voice recognition command. An answer 120 associated with the question is displayed. The answer 120 may have certain noun phrases, such as highlighting a noun phrase 130 by underlining, changing color, changing formatting, etc. The user has the option of selecting a noun phrase, such as by clicking, hovering, etc. The highlighted noun phrase 130 has an arrow 132 pointing to a product search result 140, creating an association between the noun phrase 130 and the product search result 140. Although an arrow is used to illustrate the association, other associations can also be used, such as through the use of color, text, or other formatting. The product search result 140 can be displayed automatically or after the user selects a noun phrase. Although only a single noun phrase is displayed, the answer can have multiple noun phrases, and a product search can be performed after the user selects a specific noun phrase of interest. One advantage of UI 100 is that the user does not need to reformulate the search query; instead, they can simply select the appropriate noun phrase to continue searching for the desired product. Additionally, users can ask questions without necessarily thinking about products, but the answers provide useful product recommendations that initiate a shopping journey for the user. In some cases, content other than products can be associated with noun phrases, such as instructional videos, photos, reviews, and the like.
[0014] Figure 2 Another example of UI 200 is shown in which question 210 is entered into input text field 212. Answer 220 is automatically generated and two n-grams are indicated by highlighting, including noun phrase 1 and n-gram 1. Noun phrase 1 includes multiple words including "Company A's newest mouse," while n-gram 1 includes only a single word (an adjective) including the word "comfortable." UI 200 may associate some n-grams with products and other n-grams with content such as reviews. For example, noun phrase 1 has been identified as including product-related terms, and a search for that product produces search result 230. However, n-gram 1 has been identified as an adjective, which results in display of user review 240. Thus, multiple n-grams may be within a single answer, and n-grams may be associated with different types of supplemental information, such as products, reviews, explainer videos, and the like. Additionally, similar to Figure 1 , an association can be created between the n-gram and the supplemental information, such as an arrow indicating that the two are paired together or otherwise associated. Once a product is found, as shown in 230, an add to cart button 250 can be displayed to allow the user to easily purchase the product.
[0015] Figure 3 Is used to generate Figure 1 and Figure 2 The system 300 of the UI of the embodiment of the present invention is shown. The UI 302 is typically located on a client computer (not shown) coupled to a network 310 such as the Internet. One or more backend server computers 318 are used to receive questions 314 from the UI 302 and provide answers 316 displayed as results, wherein noun phrases are highlighted and associated with products, such as Figure 1As shown. Question 314 can be user-generated, or system-generated and combined with the user's selection of the question. In either case, question 314 is received from UI 302 in a server computer that executes answer generation model 320. Answer generation model 320 can process text, understand the meaning of specific words, understand the context of the words' discourse, and draw inferences from the paragraph and content. Then, answer generation model 320 can generate answer 326 to question 314. Answer generation model 320 can also select a saved question received from a third party. However, before answer 326 is supplied back to UI 302, it is further enhanced with supplementary data. For example, answer 326 is sent to a server computer that executes semantic similarity model 330. In offline mode, semantic similarity model 330 can be trained using click training data 340. As further described below, click training data can be related to (third-party) searches for products and the different search terms used to find the same product. Assume that the search terms in different searches are related because the same product is found. Thus, click training data 340 is automatically generated using click data from multiple users of an e-commerce website. Further alternative training data 342 may include manually selected training data to supplement click training data 340. After being trained, semantic similarity model 330 may parse answers 326 and search for noun phrases 348 within the answers. Using the techniques described below, the noun phrases may then be ranked to provide ranked noun phrases 350. Ranked noun phrases 350 may be supplied to product search engine 360, which may use the noun phrases to find related products in a product database 362 that includes image data of the products. Product search engine 360 provides product images 370 to UI generator 372. Noun phrases 348 are also supplied to UI generator 372, either from semantic similarity model 330 or from product search engine 360. In either case, UI generator 372 receives associations (or links) describing which noun phrases are linked to which product images 370. UI generator 372 may then provide answers 316 in which the noun phrases are highlighted and linked to the corresponding products. Answer 316 is transmitted back through network 310 and displayed on user interface 302. Although described as question / answer, UI 302 can receive search queries through text or voice commands. Figure 3 It is described with respect to noun phrases, but it can be extended to other types of n-grams. Typically, noun phrases (which are a type of n-gram) are identified from the n-gram and used to determine the production.
[0016] Figure 4The semantic similarity model 330 is shown in more detail. The answer 326 is input to a noun phrase identifier 408, which parses the answer and extracts the noun phrases. The noun phrase identifier 408 can be a natural language processing (NLP) modeling tool. The NLP modeling tool can include a multi-layer perceptron (MLP) classifier that includes an underlying neural network for classifying the parts of the answer and a semantic segmentation algorithm for identifying noun phrases and dependencies between noun phrase words. The output of the noun phrase identifier 408 is a plurality of noun phrases 410 included in the answer 326. The semantic similarity model 330 also includes a plurality of semantic similarity modules 412, 414, and 416 that generate scores based on a combination of inputs, the combination of which includes the following: one of the noun phrases 410 and the question (input to module 412); one of the noun phrases 410 and the answer (input to module 414); and one of the noun phrases 410 and the question and the answer (input to module 416). Instead of using multiple semantic similarity modules 412, 414, and 416 in parallel, a single semantic similarity model can be used to perform serial operations. Each of the semantic similarity modules 412, 414, and 416 generates one or more scores 420, 422, and 424 based on the combination. As further described below, the semantic similarity module 416 calculates two scores based on different combinations of questions, answers, and noun phrases. Additional scores or fewer scores can be calculated based on the design. The controller 430 receives the scores and sorts the noun phrases based on the scores to generate an output 350. Click training data 340 can be received by the controller and used as feedback from past results to train 440 semantic similarity modules 412, 414, and 416. The training data 440 can result in adjusting the weights within the semantic similarity modules 412, 414, and 416. The training data 440 can be obtained offline using a bidirectional encoder representation transformer (BERT) model of several pre-trained sentences to represent candidate keywords, questions, and answers using vectors.
[0017] Figure 5 is an example of how the semantic similarity model 330 can convert the question-answer pairs 510 into the ranked output 350. First, the semantic similarity model 330 generates the answer pairs from the answer generation module 320 ( Figure 3) receives a question 314 and an answer 326 (shown as question-answer pairs 510). At 520, a noun phrase identifier 408 is used to identify a plurality of noun phrases. The noun phrases are highlighted by placing boxes around the noun phrases, as can be seen, for example, with the word "Regular damp". Other noun phrases are also identified, including "floor cleaning agent", "porcelain flooring", and "years". At 530, scores are generated using the four combinations input to the semantic similarity module. At 540, a first combination is input including a noun phrase and a question. At 542, a second combination is input including a noun phrase and an answer. At 544, a third combination is input including a noun phrase and a combination of a question and an answer. At 546, a fourth combination also includes a noun phrase, where the combination of the question and the answer is calculated separately and then averaged. These combinations can be repeated for each noun phrase identified at 520. The different combinations described above can be summarized using the following formula: SimScore = Sim(ngram,Q)*z+Sim(ngram,A)*(1-z), where z is a hyperparameter selected between 0 and 1. Thus, z is a weighting parameter that defines the relative weight of a question or answer as input to the semantic similarity module. The controller 430 accumulates all scores as output of the semantic similarity module and generates a ranking 350 based on the scores. As described below, the ranking 350 can be used to identify products, which can then be displayed in the UI 100 ( Figure 1 ), as shown at 140.
[0018] Figure 6This example illustrates obtaining training data from clickthrough data. Specifically, similar results can be used to determine that different searches from different customers are related. Accordingly, noun phrases within the input terms are also related. The related input terms can then be used as training data 340. In a first search 610, a first user enters a question 613 into an input text field 612: "Are car seat bases interchangeable?" An answer 614 is displayed, along with a product 616. Of particular interest in this example is product ID 1, which was identified as a result of the search. The user can click (or otherwise select) product ID 1 as confirmation that the product is correctly linked to the searched phrase 613. In a second search 630, performed by the same or a different customer, the search query used is not a question, but includes standard search terms 632. Notably, no answer is provided, but the results of the search are shown at 640. The search found the same product ID 1. If the customer clicks on the product, search term 632 is linked to it. Additionally, search term 632 (and any noun phrases therein), question 613 (and any noun phrases therein), and product ID 1 are all associated together. This association can then be used as click training data 340.
[0019] Figure 77 is a computing system diagram of a network-based computing service provider 700, which shows an environment in which the embodiments described herein can be used. As background, the computing service provider 700 (i.e., cloud provider) is capable of delivering computing and storage capacity as a service to a community of end recipients. In an example embodiment, a computing service provider can be established for an organization by or on behalf of an organization. In other words, the computing service provider 700 can provide a "private cloud environment." In another embodiment, the computing service provider 700 supports a multi-tenant environment in which multiple customers operate independently (i.e., a public cloud environment). Generally speaking, the computing service provider 700 can provide the following models: Infrastructure as a Service ("IaaS"), Platform as a Service ("PaaS"), and / or Software as a Service ("SaaS"). Other models can be provided. For the IaaS model, the computing service provider 700 can provide computers as physical or virtual machines and other resources. Virtual machines can run as guests through a hypervisor, as further described below. The PaaS model provides a computing platform that can include an operating system, a programming language execution environment, a database, and a web server. Application developers can develop and run their software solutions on the computing service provider platform without the cost of purchasing and managing the underlying hardware and software. The SaaS model allows application software to be installed and operated in the computing service provider. In some embodiments, end customers access the computing service provider 700 using a network client device (such as a desktop computer, laptop computer, tablet computer, smart phone, etc. running a web browser or other lightweight client application). Those skilled in the art will recognize that the computing service provider 700 can be described as a "cloud" environment.
[0020] In some implementations of the disclosed technology, the computer service provider 500 may be a cloud provider network. A cloud provider network (sometimes simply referred to as a "cloud") refers to a pool of network-accessible computing resources (such as computing, storage, and network resources, applications, and services), which may be virtualized or bare metal. A cloud can provide convenient, on-demand network access to a shared pool of configurable computing resources that can be programmatically provisioned and released in response to customer commands. These resources can be dynamically provisioned and reconfigured to adjust to variable loads. Cloud computing can therefore be viewed as both applications delivered as services over a publicly accessible network (e.g., the Internet, a cellular communication network) and the hardware and software in the cloud provider's data center that provides those services.
[0021] With cloud computing, rather than purchasing, owning, and maintaining their own data centers and servers, organizations can access technologies such as computing power, storage, databases, and other services on demand. A network of cloud providers can offer customers an on-demand, scalable computing platform over the Internet, allowing customers, for example, to have scalable "virtual computing devices" at their disposal through their use of computing servers and block storage servers. These virtual computing devices have the attributes of a personal computing device, including hardware (various types of processors, local memory, random access memory ("RAM"), hard disk and / or solid-state drive ("SSD") storage devices), a choice of operating system, networking capabilities, and pre-loaded application software. Each virtual computing device can also virtualize its console input and output ("I / O") (e.g., keyboard, display, and mouse). This virtualization allows customers to connect to their virtual computing device using computer applications (such as browsers, application programming interfaces, software development kits, etc.) to configure and use their virtual computing device just as they would with a personal computing device. Unlike personal computing devices, which have a fixed number of hardware resources available to customers, the hardware associated with a virtual computing device can be scaled up or down based on the resources required by the user. Customers may choose to deploy their virtual computing systems to provide network-based services for their own use and / or for use by their customers or clients.
[0022] A cloud provider network can be organized into multiple regions, where a region is a separate geographic area in which a cloud provider clusters its data centers. Each region can include two or more availability zones connected to each other via a private high-speed network (e.g., a fiber-optic connection). An availability zone (also called an availability domain or simply a "zone") is an isolated fault domain consisting of one or more data center facilities with separate power, networking, and cooling from data center facilities in another availability zone. A data center is a physical building or enclosure that houses and provides power and cooling for the cloud provider network's servers. Availability zones within a region are preferably located far enough apart that a natural disaster cannot simultaneously take more than one availability zone offline. Customers can connect to an availability zone in the cloud provider network via a publicly accessible network (e.g., the internet, a cellular network) through a transit center (TC). TCs are the primary backbone locations that connect customers to the cloud provider network and can be co-located at other network provider facilities (e.g., an internet service provider, a telecommunications provider) and securely connected to the availability zones (e.g., via a VPN or direct connection). Each region can operate two or more TCs for redundancy. The regions are connected to a global network that includes private network infrastructure (e.g., fiber optic connections controlled by the cloud provider) that connects each region to at least one other region. The cloud provider network can deliver content from points of presence located outside of these regions but networked with them through edge locations and regional edge cache servers. This partitioning and geographic distribution of computing hardware enables the cloud provider network to provide customers with low-latency access to resources worldwide with a high degree of fault tolerance and stability.
[0023] A cloud provider network may implement various computing resources or services (which implement the disclosed techniques for TLS session management), which may include elastic computing cloud services (referred to in various implementations as elastic computing services, virtual machine services, computing cloud services, computing engines, or cloud computing services), data processing services (e.g., map-reduce, data streaming, and / or other large-scale data processing techniques), data storage services (e.g., object storage services, block-based storage services, or data warehouse storage services), and / or any other type of network-based services (which may include various other types of storage, processing, analysis, communication, event handling, visualization, and security services not described). The resources required to support the operation of such services (e.g., computing and storage resources) may be provisioned in an account associated with the cloud provider, as opposed to resources that may be provisioned in a customer account at the request of a customer of the cloud provider network.
[0024] The computing service provider 700 shown specifically includes a plurality of server computers 702A-702D. Although only four server computers are shown, any number can be used, and large centers can include thousands of server computers. Server computers 702A-702D can provide computing resources for executing software instances 706A-706D. In one embodiment, instances 706A-706D are virtual machines. As is known in the art, a virtual machine is an instance of a software implementation of a machine (i.e., a computer) that executes applications like a physical machine. In the example of a virtual machine, each of servers 702A-702D can be configured to execute a hypervisor 708 or another type of program that is configured to enable execution of multiple instances 706 on a single server. In addition, each of instances 706 can be configured to execute one or more applications.
[0025] It should be understood that although the embodiments disclosed herein are primarily described in the context of virtual machines, other types of instances may also be used with the concepts and techniques disclosed herein. For example, the techniques disclosed herein may be used with storage resources, data communication resources, and other types of computing resources. The embodiments disclosed herein may also execute all or part of an application program directly on a computer system without utilizing a virtual machine instance.
[0026] One or more server computers 704 may be reserved for executing software components for managing the operation of server computers 702 and instances 706. For example, server computers 704 may execute management component 710. Customers may access management component 710 to configure various aspects of the operation of instances 706 purchased by the customer. For example, customers may purchase, rent, or lease instances and make changes to the configuration of the instances. Customers may also specify settings regarding how the purchased instances should be scaled in response to demand. The management component may further include policy documents to implement customer policies. An automatic scaling component 712 may scale instances 706 based on customer-defined rules. In one embodiment, automatic scaling component 712 allows customers to specify scale-up rules for determining when new instances should be instantiated and scale-down rules for determining when existing instances should be terminated. Automatic scaling component 712 may be composed of multiple subcomponents executed on different server computers 702 or other computing devices. Automatic scaling component 712 may monitor available computing resources via an internal management network and modify available resources as needed.
[0027] A deployment component 714 can be used to help a customer deploy a new instance 706 of a computing resource. The deployment component can access account information associated with the instance, such as who owns the account, credit card information, the owner's country, and the like. The deployment component 714 can receive a configuration from the customer, including data describing how the new instance 706 should be configured. For example, the configuration can specify one or more applications to be installed in the new instance 706, provide scripts and / or other types of code to be executed to configure the new instance 706, provide caching logic that specifies how application caches should be prepared, and other types of information. The deployment component 714 can utilize the customer-provided configuration and caching logic to configure, prepare, and start the new instance 706. The configuration, caching logic, and other information can be specified by the customer using the management component 710 or by providing this information directly to the deployment component 714. The instance manager can be considered part of the deployment component.
[0028] Customer account information 715 may include any desired information associated with a customer of a multi-tenant environment. For example, customer account information may include a unique identifier for the customer, customer address, billing information, licensing information, custom parameters for launching instances, scheduling information, auto-scaling parameters, previous IP addresses used to access the account, and the like.
[0029] A network 730 may be used to interconnect the server computers 702A-702D and the server computer 704. The network 730 may be a local area network (LAN) and may be connected to a wide area network (WAN) 740 so that end customers can access the computing service provider 700. It should be understood that the present invention has been simplified. Figure 7 The network topologies shown are not exhaustive, and many more networks and network devices may be used to interconnect the various computing systems disclosed herein.
[0030] The semantic similarity model 330 can be executed on a server computer within the computing service provider 700. In addition, a separate server computer 752 can perform the data collection required to train the semantic similarity model 330 and obtain click training data 340. As described above, the training data can be obtained by reviewing search terms, noun phrases used in questions, and any other queries that lead to finding the same or similar products.
[0031] Figure 8 is a flow chart for recommending products in a UI according to one embodiment. In process block 810, a question is received from a client computer. For example, Figure 1 In FIG. 1 , a client computer may be associated with UI 100, and a user may enter a text field 112 ( Figure 1) to enter the question into the UI. Alternatively, the user may select an automatically generated question in the UI 100. In process block 820, an answer to the question may be received. For example, Figure 3 In , the answer 326 is generated by the answer generation model 320 and received by the semantic similarity model 330. In process block 830, a pool of candidate n-grams is extracted from the answer. For example, in Figure 4 In the example, noun phrase identifier 408 may identify noun phrases such as Figure 5 In process block 840, the n-grams are sorted using a semantic similarity model. For example, Figure 5 , the semantic similarity model can rank the noun phrases using a plurality of algorithms 540, 542, 544, and 546 that create different scores based on the combination of questions, answers, and noun phrases input into the semantic similarity model. Such scores can be used to generate a ranked output 350. Finally, in process block 850, a display element of a UI can be generated for showing the products associated with the n-gram, such as Figure 1 shown.
[0032] Figure 9 is a flow chart for recommending products in a UI according to another embodiment. In process block 910, a question is received from a user interface. For example, Figure 3 In FIG, a user enters a question 314 in UI 302. Question 314 may be received by semantic similarity model 330. In process block 920, an answer associated with the question is received. For example, in Figure 3 In , the semantic similarity model 330 receives the answer 326 from the answer generation model 320. In process block 930, n-grams are extracted from the generated answer. For example, in Figure 5 In , noun phrases are identified as shown in 520. In process block 940, scores for n-grams are generated. For example, in Figure 4 In the example, semantic similarity modules 412, 414, and 416 can generate scores 420, 422, and 424, respectively. In process block 950, the n-grams are sorted based on the scores. For example, the sorted scores can be seen at 350. Finally, at 960, products are searched and selected based on the sorting. For example, in Figure 3 , product search engine 360 may use ranked noun phrases 350 to find product images 370 to display.
[0033] Figure 10A generalized example of a suitable computing environment 1000 in which the described innovations may be implemented is depicted. The computing environment 1000 is not intended to present any limitation as to scope of use or functionality, as the innovations may be implemented in a variety of general-purpose or special-purpose computing systems. For example, the computing environment 1000 may be any of a variety of computing devices (e.g., a desktop computer, a laptop computer, a server computer, a tablet computer, etc.).
[0034] refer to Figure 10 , the computing environment 1000 includes one or more processing units 1010, 1015 and memories 1020, 1025. Figure 10 In FIG, this basic configuration 1030 is included within the dashed line. Processing units 1010, 1015 execute computer-executable instructions. A processing unit may be a general-purpose central processing unit (CPU), a processor in an application-specific integrated circuit (ASIC), or any other type of processor. In a multi-processing system, multiple processing units execute computer-executable instructions to increase processing power. For example, Figure 10 A central processing unit 1010 and a graphics processing unit or co-processing unit 1015 are shown. Tangible memory 1020, 1025 can be volatile memory (e.g., registers, cache, RAM), non-volatile memory (e.g., ROM, EEPROM, flash memory, etc.), or some combination of the two, accessible by the processing unit. Memory 1020, 1025 stores software 1080 implementing one or more innovations described herein in the form of computer-executable instructions suitable for execution by the processing unit. For example, a semantic similarity model can be implemented in software 1080.
[0035] The computing system may have additional features. For example, the computing environment 1000 includes a storage area 1040, one or more input devices 1050, one or more output devices 1060, and one or more communication connections 1070. An interconnection mechanism (not shown), such as a bus, controller, or network, interconnects the components of the computing environment 1000. Typically, operating system software (not shown) provides an operating environment for other software executed in the computing environment 1000 and coordinates the activities of the components of the computing environment 1000.
[0036] The tangible storage area 1040 may be removable or non-removable and include magnetic disks, magnetic tapes or cartridges, CD-ROMs, DVDs, or any other medium that can be used to store information in a non-transitory manner and that can be accessed within the computing environment 1000. The storage area 1040 stores instructions for software 1080 that implement one or more innovations described herein.
[0037] The input device 1050 may be a touch input device such as a keyboard, a mouse, a pen or trackball, a voice input device, a scanning device, or another device that provides input to the computing environment 1000. The output device 1060 may be a display, a printer, a speaker, a CD writer, or another device that provides output from the computing environment 1000.
[0038] Communication connection 1070 enables communication with another computing entity via a communication medium. A communication medium transmits information, such as computer-executable instructions, audio or video input or output, or other data, in the form of a modulated data signal. A modulated data signal has one or more of its characteristics set or changed in such a manner as to encode the information in the signal. By way of example, and not limitation, the communication medium may utilize electrical, optical, radio frequency, or other carriers.
[0039] Although the operations of some disclosed methods are described in a particular ordered sequence for ease of presentation, it should be understood that this description includes reordering unless the specific language set forth below requires a particular order. For example, operations described sequentially may in some cases be rearranged or performed simultaneously. Furthermore, for simplicity, the accompanying drawings may not illustrate the various ways in which the disclosed methods can be used in conjunction with other methods.
[0040] Any disclosed method can be implemented as computer-executable instructions stored on one or more computer-readable storage media (e.g., one or more optical media disks, volatile memory components (such as DRAM or SRAM), or non-volatile memory components (such as flash memory or a hard drive)) and executed on a computer (e.g., any commercially available computer, including smartphones or other mobile devices that include computing hardware). The term computer-readable storage medium does not include communication connections, such as signals and carrier waves. Any computer-executable instructions for implementing the disclosed techniques, as well as any data created and used during implementation of the disclosed embodiments, can be stored on one or more computer-readable storage media. The computer-executable instructions can be, for example, a dedicated software application or part of a software application that is accessed or downloaded via a web browser or other software application (such as a remote computing application). Such software can be executed, for example, on a single local computer (e.g., any suitable commercially available computer) or in a network environment (e.g., via the Internet, a wide area network, a local area network, a client-server network (such as a cloud computing network), or other such network) using one or more network computers.
[0041] For the sake of clarity, only certain selected aspects of a software-based implementation are described. Other details well known in the art have been omitted. For example, it should be understood that the disclosed technology is not limited to any particular computer language or program. For example, various aspects of the disclosed technology can be implemented by software written in C++, Java, Perl, or any other suitable programming language. Similarly, the disclosed technology is not limited to any particular computer or hardware type. Certain details of suitable computers and hardware are well known and need not be elaborated in this disclosure.
[0042] It should also be understood that any functionality described herein may be performed, at least in part, by one or more hardware logic components instead of software. For example, but not limited to, illustrative types of hardware logic components that may be used include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-a-chip systems (SOCs), complex programmable logic devices (CPLDs), and the like.
[0043] Furthermore, any software-based embodiment (e.g., including computer-executable instructions for causing a computer to perform any disclosed method) can be uploaded, downloaded, or remotely accessed via any suitable communication means, including, for example, the Internet, the World Wide Web, an intranet, a software application, cables (including fiber optic cables), magnetic communications, electromagnetic communications (including RF, microwave, and infrared communications), electronic communications, or other such communications means.
[0044] The disclosed methods, apparatus, and systems should not be construed as limiting in any way. On the contrary, the present disclosure is directed to all novel and non-obvious features and aspects of the various disclosed embodiments, both individually and in various combinations and sub-combinations with each other. The disclosed methods, apparatus, and systems are not limited to any particular aspect or feature or combination thereof, nor do the disclosed embodiments require that any one or more specific advantages be present or that any one or more specific problems be solved.
[0045] For example, the following numbered paragraphs describe several embodiments:
[0046] Paragraph 1. A method for recommending a product, the method comprising:
[0047] receiving a question entered from a client computer via an input text box in a user interface (UI);
[0048] receiving answers to questions;
[0049] extracting a pool of candidate noun phrases including words from the answer;
[0050] Input the question, answer, and candidate noun phrases into the semantic similarity model;
[0051] Ranking noun phrases using a semantic similarity model;
[0052] For the highest ranked noun phrase, identifying a product for display in a UI; and generating the product associated with the noun phrase for display.
[0053] Paragraph 2. The method of Paragraph 1, further comprising training a semantic similarity model using a first search comprising a question and a second search comprising a search term, wherein both the first search and the second search result in finding the same product.
[0054] Paragraph 3. A method as described in any of the preceding paragraphs, wherein ranking includes receiving multiple numerical scores using multiple different input sequences to the semantic similarity model.
[0055] Paragraph 4. A method as described in any of the preceding paragraphs, wherein the plurality of different input sequences includes a first one of the candidate noun phrases and a question and a first one of the candidate noun phrases and an answer.
[0056] Paragraph 5. The method as described in any of the preceding paragraphs further comprises using click data received in the e-commerce website to train a semantic similarity model.
[0057] Paragraph 6. A method comprising:
[0058] Receive questions from the user interface;
[0059] receiving associated answers to questions;
[0060] Extract n-grams from the generated answers;
[0061] generating a score for the n-gram using at least one semantic similarity module, the semantic similarity module inputting the n-gram and one or both of the question and the answer;
[0062] sorting n-grams using the scores; and
[0063] Search and select products based on sorting.
[0064] Paragraph 7. The method of paragraph 6, wherein the semantic similarity module includes the following inputs:
[0065] n-grams and questions;
[0066] n-grams and answers; and
[0067] N-grams and questions and answers.
[0068] Paragraph 8. The method of any one of paragraphs 6 to 7, further comprising training a plurality of semantic similarity modules using click data from product queries in an e-commerce website.
[0069] Paragraph 9. The method of any of Paragraphs 6 to 8, further comprising training a plurality of semantic similarity modules using a first search comprising a question and a second search comprising a search term, wherein both the first search and the second search result in finding the same product.
[0070] Paragraph 10. The method of any of Paragraphs 6 to 9, further comprising displaying the selected product on a user interface (UI).
[0071] Paragraph 11. The method of any of paragraphs 6 to 10, wherein n-grams are identified using natural language processing (NLP) modeling tools, and wherein the n-grams include noun phrases.
[0072] Paragraph 12. The method of any of paragraphs 6 to 11, further comprising associating at least one of the n-grams with the selected product on a user interface (UI).
[0073] Paragraph 13. The method of any of paragraphs 6 to 12, wherein the ranking is based on which n-grams are most likely associated with the product.
[0074] Paragraph 14. The method of any one of paragraphs 6 to 13, further comprising adjusting the weights in the semantic similarity module using a pre-trained Bidirectional Encoder Representation Transformers (BERT) model for sentences.
[0075] Paragraph 15. One or more computer-readable media comprising computer-executable instructions that, when executed, cause a computing system to perform a method comprising:
[0076] Generate answers to user questions;
[0077] Use a natural language processing (NLP) model to extract noun phrases from the answers;
[0078] inputting the extracted noun phrases and user questions into a semantic similarity model to determine products associated with the noun phrases; and
[0079] An image of the determined product is sent for display in association with a corresponding one of the selected noun phrases.
[0080] Paragraph 16. One or more computer-readable media as described in paragraph 15, wherein the method further comprises inputting the extracted noun phrases and the answer into a semantic similarity model to generate a score, and using the score to determine the product.
[0081] Paragraph 17. One or more computer-readable media as described in any of paragraphs 15 to 16, wherein a semantic similarity model is used to generate a plurality of scores using the extracted noun phrases and a combination of user questions and answers.
[0082] Paragraph 18. The one or more computer-readable media of Paragraph 17, wherein the selected scores are used to rank the noun phrases.
[0083] Paragraph 19. One or more computer-readable media as described in Paragraph 18, wherein a highest ranked noun phrase in the ranking of noun phrases is used to search for the identified product.
[0084] Paragraph 20. One or more computer-readable media as described in any of paragraphs 15 to 19, wherein the method further comprises training a plurality of semantic similarity modules using click data from product queries in an e-commerce website.
[0085] In view of the many possible embodiments to which the principles of the disclosed invention may be applied, it should be recognized that the illustrated embodiments are merely exemplary of the invention and should not be taken as limiting the scope of the invention. We therefore claim the full extent of our invention to fall within the scope of these claims.
Claims
1. A method comprising: Receive questions from the user interface; receiving an associated answer to the question; Extract n-grams from the generated answers; generating a score for the n-gram using at least one semantic similarity module, the semantic similarity module inputting the n-gram and one or both of the question and the answer; sorting the n-grams using the scores; as well as Products are searched and selected based on the ranking.
2. The method according to claim 1, wherein The semantic similarity module includes the following inputs: the n-gram and the question; the n-gram and the answer; and The n-gram, the question, and the answer.
3. The method of claim 1, further comprising training a plurality of semantic similarity modules using click data from product queries in an e-commerce website.
4. The method of claim 1, further comprising training a plurality of semantic similarity modules using a first search comprising a question and a second search comprising a search term, wherein Both the first search and the second search result in finding the same product. The method of claim 1 , further comprising displaying the selected product on a user interface (UI).
6. The method of claim 1, wherein: The n-gram is identified using a natural language processing (NLP) modeling tool, and wherein the n-gram comprises a noun phrase. 7 . The method of claim 1 , further comprising associating at least one of the n-grams with the selected product on a user interface (UI).
8. The method of claim 1, wherein: The ranking is based on which n-grams are most likely to be associated with the product.
9. The method of claim 1, further comprising adjusting weights in the semantic similarity module using a pre-trained Bidirectional Encoder Representation Transformers (BERT) model for sentences.
10. One or more computer-readable media comprising computer-executable instructions that, when executed, cause a computing system to perform a method comprising: Generate answers to user questions; Extract noun phrases from the answers using a natural language processing (NLP) model; Inputting the extracted noun phrase and the user question into a semantic similarity model to determine products associated with the noun phrase; as well as An image of the determined product is sent for display in association with a corresponding one of the selected noun phrases.
11. One or more computer-readable media as claimed in claim 10, wherein: The method further includes inputting the extracted noun phrase and the answer into the semantic similarity model to generate a score, and determining the product using the score.
12. One or more computer-readable media as recited in claim 10, wherein: The semantic similarity model is used to generate a plurality of scores using the extracted noun phrases and a combination of the user question and the answer.
13. One or more computer-readable media as claimed in claim 12, wherein: The generated scores are used to rank the noun phrases.
14. One or more computer-readable media as claimed in claim 13, wherein: The highest ranked noun phrase in the ranking of the noun phrases is used to search for the determined product.
15. One or more computer-readable media as recited in claim 10, wherein: The method further includes training a plurality of semantic similarity modules using click data from product queries in the e-commerce website.