Personalized query auto-completion
The information processing apparatus personalizes search query re-ranking on e-commerce sites by using a natural language model trained with user purchase data, addressing the lack of personalized suggestions in existing systems and improving search efficiency and usability.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-05-20
- Publication Date
- 2026-04-03
AI Technical Summary
Existing query auto-completion systems on e-commerce sites lack a mechanism to personalize search query re-ranking based on user purchase information, failing to leverage purchase-related data for optimized search suggestions.
An information processing apparatus and method that acquires user prefixes and contexts on an e-commerce site, generates search query candidates, and reranks them using a natural language processing model trained with user purchase history data, employing a dual encoder to minimize distances between relevant pairs and maximize distances between irrelevant pairs.
Provides personalized search query candidates that reflect user purchase trends, enhancing search efficiency and usability by presenting relevant suggestions based on real-time search characteristics and purchase history without increasing processing load.
Smart Images

Figure 0007840458000001 
Figure 0007840458000002 
Figure 0007840458000003
Abstract
Description
Technical Field
[0001] The present invention relates to the technology of personalized query auto-completion.
Background Art
[0002] In recent years, query auto-completion (also referred to as query suggestion) has been widely used in search engines. Query auto-completion is a task of predicting and proposing a complete search query intended by the user based on the prefix (prefix) of the search query (character string) input by the user. By query auto-completion, the user can input the intended search query with fewer keystrokes (that is, by reducing the number of characters to be input) and obtain the corresponding search results. For example, in an EC (E-Commerce) site where query auto-completion is implemented, the user can obtain search results according to the selection of the intended search query and efficiently use the services provided by the site.
[0003] Since the preferences and search tendencies of users are different, it is preferable that query auto-completion is optimized for each user, that is, personalized. Patent Document 1 discloses learning a sorting (reranking) model based on the prefixes input by the user in the past, a plurality of search query candidates (Points of Interest (POI)) corresponding to the prefixes, and the search queries selected by the user. The learning is performed using a positive pair (a pair of a prefix and a selected search query) and one or more negative pairs (a pair of a prefix and an unselected search query). Further, the document discloses reranking the candidates of search queries by inputting the prefix currently input by the user into the learned sorting model.
Prior Art Documents
Patent Documents
[0004] [Patent Document 1] Special Publication No. 2022-530688 [Overview of the Initiative] [Problems that the invention aims to solve]
[0005] The technology disclosed in the document allows for the re-ranking of search query candidates according to the user's past search trends by using a sorting model learned based on prefixes previously entered by the user and the search queries selected by the user. On the other hand, when applying query auto-completion to an e-commerce site, considering purchase-related information such as the user's purchase history may enable more personalized re-ranking. However, a mechanism for re-ranking search query candidates that takes into account user purchase information on e-commerce sites has not been proposed until now.
[0006] In light of the above issues, this disclosure provides a mechanism for re-ranking personalized search query candidates on an e-commerce site. [Means for solving the problem]
[0007] One aspect of the information processing apparatus according to the present invention includes: a prefix acquisition unit that acquires prefixes entered by a user on an e-commerce (EC) site; a context acquisition unit that acquires contexts representing the user's search characteristics on the EC site; a candidate acquisition unit that generates a plurality of search query candidates based on the prefixes; and a reranking unit that reranks the plurality of search query candidates using the results obtained by inputting the plurality of search query candidates and the contexts into a natural language processing model learned using information about the user's purchases on the EC site.
[0008] One aspect of the information processing method according to the present invention includes: obtaining a prefix entered by a user on an e-commerce (EC) site; obtaining a context representing the user's search characteristics on the EC site; generating a plurality of search query candidates based on the prefix; and re-ranking the plurality of search query candidates using the results obtained by inputting the plurality of search query candidates and the context into a natural language processing model trained using information about the user's purchases on the EC site. [Effects of the Invention]
[0009] This disclosure provides a mechanism for re-ranking personalized search query candidates on e-commerce sites. [Brief explanation of the drawing]
[0010] [Figure 1] Figure 1 shows an example of the configuration of an information processing system. [Figure 2] Figure 2 shows an example of the functional configuration of an information processing device. [Figure 3] Figure 3 shows an example of the hardware configuration of an information processing device. [Figure 4A] Figure 4A shows a flowchart of the learning process performed by the information processing device. [Figure 4B] Figure 4B shows an example of a sales page for bags on an e-commerce site. [Figure 4C] Figure 4C shows an example of training data. [Figure 5A] Figure 5A shows a flowchart of the re-ranking process of search query candidates performed by the information processing device. [Figure 5B] Figure 5B shows the data flow in the re-ranking process of search query candidates based on prefixes. [Modes for carrying out the invention]
[0011] Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the attached drawings. Among the components disclosed below, those having the same function are denoted by the same reference numeral, and their descriptions are omitted. The embodiments disclosed below are merely examples of means for realizing the present invention, and should be modified or changed as appropriate depending on the configuration of the apparatus to which the present invention is applied and various conditions, and the present invention is not limited to the embodiments below. Furthermore, not all combinations of features described in these embodiments are essential for solving the problem of the present invention.
[0012] [Configuration of the Information Processing System] Figure 1 shows an example of the configuration of the information processing system 1 according to this embodiment. The information processing system 1 is composed of a user device 10 and an information processing device 20. The information processing device 20 is a server device that operates a website including an e-commerce site (EC site) and provides the EC site service to multiple user devices, including the user device 10. The EC site provided by the information processing device 20 is not limited to one EC site, but may be multiple EC sites. For example, the information processing device 20 may provide multiple EC sites corresponding to multiple different services (e.g., shopping service, travel service, etc.). A user 11 of the user device 10 can access the EC site provided by the information processing device 20 and enter one or more characters (prefixes) at the beginning of a search query (string) to search for a desired item (item to be searched) into the search window (input field) on the site. When a prefix is entered by the user 11, the prefix is transmitted from the user device 10 to the information processing device 20 in real time. When the information processing device 20 receives a prefix sent from the user device 10, it generates a number of search query candidates based on the prefix and sends these candidates to the user device 10. In this embodiment, the information processing device 20 reranks the generated search query candidates and sends the reranked search query candidates to the user device 10. The user device 10 receives the search query candidates sent from the information processing device 20 and displays them on the display unit (display surface). The user 11 selects (determines) one search query from the displayed search query candidates, and the user device 10 sends the selected search query to the information processing device 20. The information processing device 20 receives the search query sent from the user device 10 and sends (distributes) information corresponding to the search query (for example, a web page or web service) to the user device 10.
[0013] The user device 10 is, for example, a smartphone or tablet, and is configured to communicate with the information processing device 20 via a public network such as LTE (Long Term Evolution) or a wireless communication network such as Wi-Fi (Local Area Network). The user device 10 has a display unit (display surface) such as a liquid crystal display, and the user 11 of the user device 10 can perform various operations using the GUI (Graphical User Interface) equipped on the liquid crystal display. These operations include various operations on content such as images displayed on the screen, such as tapping, sliding, and scrolling using a finger or stylus. The user device 10 is not limited to the device shown in Figure 1, but may also be a desktop PC (Personal Computer) or a notebook PC. In that case, the user 11 may operate the device using input devices such as a mouse or keyboard. The user device 10 may also have a separate display unit.
[0014] In this embodiment, input information such as prefixes transmitted from the user device 10 to the information processing device 20 may be linked to information that identifies user 11 on the e-commerce site (hereinafter also referred to as user ID (identifier)), the date and time of input, and the location information of user device 10. The location information of user device 10 may be obtained using GPS (Global Positioning System). Furthermore, the input information may be linked to the attributes of user device 10 and user 11 (hereinafter also referred to as user attributes). These user attributes may include demographic information. Demographic information is demographic user attributes such as gender, age, residential area, occupation, and family structure. User attributes may be obtained from information registered by user 11 in order to use the e-commerce site provided by the information processing device 20.
[0015] In this embodiment, the items to be searched by the user 11 are items that can be provided on the EC site operated by the information processing apparatus 20, and can be tangible or intangible goods or services. For example, regarding digital content services, there are items such as video content such as movies and animations, and still image content such as photos and illustrations. Regarding online shopping services, there are items such as intangible or tangible goods handled in online shopping. Regarding travel services, there are items such as information and reservations regarding hotels, package tours, and transportation. Regarding mobile services, there are items such as mobile devices, public network / Internet connections, and communication usage fees. Regarding sports and cultural services, there are items such as events such as sports events and concerts, and goods sold at events.
[0016] [Functional Configuration of Information Processing Apparatus 20] Next, an example of the functional configuration of the information processing apparatus 20 according to this embodiment will be described. The information processing apparatus 20 generates a plurality of search query candidates based on the prefix received from the user apparatus 10, and acquires a context representing the characteristics of the search in the EC site of the user 11. Further, the information processing apparatus 20 learns the natural language model 121 based on the information regarding the past purchase history of the user 11. Then, the information processing apparatus 20 re-ranks the plurality of search query candidates by using the results obtained by inputting the plurality of search query candidates and the context into the learned natural language processing model 121. After re-ranking the search query candidates, the information processing apparatus 20 provides the re-ranked search query candidates to the user apparatus 10.
[0017] An example of the functional configuration of the information processing apparatus 20 according to this embodiment is shown in FIG. 2. Note that the functional configuration shown in FIG. 2 mainly shows a configuration for realizing that the information processing apparatus 20 generates a plurality of search query candidates based on the prefix acquired from the user apparatus 10 and re-ranks the generated search query candidates, and other functions are omitted.
[0018] The information processing apparatus 20 includes a user input acquisition unit 101, a context acquisition unit 102, a query candidate generation unit 103, a reranking unit 104, a learning data generation unit 105, a learning unit 106, an output unit 107, a purchase history database 110, and a model information storage unit 120. The purchase history database 110 is configured to be able to store information on purchase histories of a plurality of users including the user 11. The model information storage unit 120 is configured to be able to store a natural language model 121 and learning data 122. The natural language model 121 is a learning model configured to extract (encode) the features of the input language information and generate (derive) a feature vector (embedding vector) representing the features of the language information. That is, the feature vector corresponds to the vector representation of the features of the language information. The architecture of the natural language model 121 and various parameters derived by learning can be stored in the model information storage unit 120. The learning data 122 may include learning data generated by the learning data generation unit 105 for training the natural language model 121.
[0019] The user input acquisition unit 101 receives input information from the user device 10 by the user 11. For example, the user input acquisition unit 101 acquires a prefix input by the user 11 to the user device 10. Each time the user inputs a prefix of a search query for searching for a desired item (the item to be searched), the input prefix is transmitted, and the user input acquisition unit 101 acquires the prefix. Also, the user input acquisition unit 101 can acquire from the user device 10 a search query selected by the user 11 from a plurality of search query candidates provided by the information processing apparatus 20 and a full-word search query input by the user 11.
[0020] The user input acquisition unit 101 further associates the information of the purchased item with the user's information each time the user 11 purchases an item on the e-commerce site provided by the information processing device 20, and stores this information in the purchase history database 110 as a purchase history (item purchase history). The item information may include the item's brand name, genre or category, information of the store (merchant) selling the item, and the item's price. The user 11's information may include the user ID, purchase date and time, and user attributes.
[0021] The context acquisition unit 102 acquires a context that represents the characteristics of user 11's search. In this embodiment, the context is the last search query entered by user 11 before the prefix input, on the same e-commerce site that user 11 is viewing, that is, in the same (single) browsing session. A browsing session refers to a series of communications by user 11 from the start to the end of accessing a certain website. The context acquisition unit 102 can acquire and temporarily store information about user 11 regarding the e-commerce site being accessed, including the search query entered by user 11, from the user input acquisition unit 101 within a single browsing session. The last entered search query may be a search query selected by user 11 before the prefix input from a plurality of search query candidates provided by the information processing device 20. Alternatively, the last entered search query may be a search query entered by user 11 in full word form before the prefix input.
[0022] On the same e-commerce site, the last search query entered by user 11 can be said to reflect user 11's search characteristics in real time. Furthermore, since the search queries entered by the user in a single browsing session are temporarily stored, there is no need to retrieve search queries from the input logs of user 11's past browsing sessions. As a result, the context acquisition unit 102 can acquire user 11's context in real time without increasing memory capacity or processing load. In this embodiment, the context is defined as the last search query entered by user 11 on the same e-commerce site, but it is not limited to this, and other information may be used as long as it represents user 11's search characteristics. For example, the context may be words that user 11 has entered more than a predetermined number of times on the same e-commerce site, or information related to those words.
[0023] The query candidate generation unit 103 generates multiple search query candidates based on the prefix acquired by the user input acquisition unit 101. In this embodiment, the query candidate generation unit 103 generates multiple search query candidates by automatically completing prefixes using existing technology. For example, the query candidate generation unit 103 can generate multiple search query candidates from a prefix by using a library that provides an auto-completion function. The query candidate generation unit 103 may generate multiple search query candidates each time a prefix is acquired by the user input acquisition unit 101. The number of search query candidates can be set by, for example, the operator of the information processing device 20 or the information processing system 1, and may be about eight per prefix.
[0024] The reranking unit 104 reranks the multiple search query candidates generated by the query candidate generation unit 103 based on the context obtained by the context acquisition unit 102. In this embodiment, the reranking unit 104 reranks the search query candidates using the natural language model 121 learned by the learning unit 106. Specifically, the reranking unit 104 inputs each of the multiple search query candidates (language information) into the learned natural language model 121 to generate multiple query feature vectors that represent the characteristics of each search query candidate. The reranking unit 104 also inputs the context (language information) into the learned natural language model 121 to generate a context feature vector that represents the characteristics of the context. Then, each of the multiple query feature vectors and the context feature vector are embedded in a common vector space. Each of the multiple query feature vectors and the context feature vector embedded in the common vector space corresponds to a query embedding and a context embedding, respectively. The reranking unit 104 calculates the distance between each of the multiple query feature vectors and the context feature vector in the common vector space, and reranks the multiple search query candidates based on the calculated distance.
[0025] The training data generation unit 105 generates a training dataset for training the natural language model 121. In this embodiment, the training data generation unit 105 generates training data using the purchase history of user 11 stored in the purchase history database 110. As mentioned above, the purchase history associates the user ID of user 11 with information about the items purchased, so the training data generation unit 105 can retrieve information about items purchased by user 11 from the purchase history database 110. The training data generation unit 105 generates multiple positive pairs from information about two items that user 11 purchased while browsing the e-commerce site. Since the positive pairs include information about items that user 11 actually purchased, they can represent user 11's purchasing tendencies. The training data generation unit 105 also generates multiple negative pairs using information about items that have not been purchased. In this embodiment, as will be described later, the brand name of the item is used as the item information. The training data generation unit 105 stores the generated training data as training data 122 in the model information storage unit 120.
[0026] The learning unit 106 trains the natural language model 121 using the training data (training data 122) generated by the training data generation unit 105. The natural language model 121 before being trained by the learning unit 106 is, for example, a Transformer-based natural language processing model, such as a pre-trained BERT (Bidirectional Encoder Representations from Transformers). The learning unit 106 fine-tunes the natural language processing model 121 using the training data generated by the training data generation unit 105.
[0027] Specifically, the learning unit 106 inputs each positive pair generated by the learning data generation unit 105 into the natural language model 121 to generate feature vectors for those positive pairs. The learning unit 106 then embeds the feature vectors of those positive pairs into a common vector space and trains the natural language model 121 to minimize the distance between the feature vectors of those positive pairs. The learning unit 106 also inputs each negative pair generated by the learning data generation unit 105 into the natural language model 121 to generate feature vectors for those negative pairs. The learning unit 106 then embeds the feature vectors of those negative pairs into a common vector space and trains the natural language model 121 to maximize the distance between the feature vectors of those negative pairs. As a result, the natural language model 121 is trained such that when the distance between feature vectors embedded in the common vector space is short, the features represented by those feature vectors are highly related, and when the distance between feature vectors is long, the features represented by those feature vectors are less related. Thus, the natural language model 121 functions as a dual encoder, as it is configured to take two inputs (a positive pair or a negative pair) and generate a feature vector for each of those inputs.
[0028] The output unit 107 provides (outputs) various information generated by the information processing device 20 to the user device 10. In this embodiment, the output unit 107 provides (outputs) search query candidates reranked by the reranking unit 104 to the user device 10.
[0029] [Hardware configuration of information processing equipment] Next, an example of the hardware configuration of the information processing device 20 will be described. Figure 3 is a block diagram showing an example of the hardware configuration of the information processing device 20 according to this embodiment. The information processing device 20 according to this embodiment can be implemented on one or more computers, mobile devices, or any other processing platform. Referring to Figure 3, an example is shown in which the information processing device 20 is implemented in a single computer; however, the information processing device 20 according to this embodiment may be implemented in a computer system including multiple computers. The multiple computers may be connected to each other via a wired or wireless network.
[0030] As shown in Figure 3, the information processing device 20 may include a CPU (Central Processing Unit) 301, a ROM (Read Only Memory) 302, a RAM (Random Access Memory) 303, an HDD (Hard Disk Drive) 304, an input unit 305, a display unit 306, a communication I / F (interface) 307, and a system bus 308. The information processing device 20 may also include external memory.
[0031] The CPU 301 comprehensively controls the operation of the information processing device 20 and controls each component (302 to 307) via the system bus 308, which is a data transmission path. The ROM 302 is a non-volatile memory that stores control programs and the like necessary for the CPU 301 to execute processing. These programs may be stored in non-volatile memory such as an HDD 304 or SSD (Solid State Drive), or in external memory such as a removable storage medium (not shown). The RAM 303 is a volatile memory and functions as the main memory, work area, etc., of the CPU 301. That is, when executing processing, the CPU 301 loads the necessary programs and the like from the ROM 302 into the RAM 303 and executes these programs to realize various functional operations. The RAM 303 may include the purchase history database 110 and the model information storage unit 120 shown in Figure 2.
[0032] HDD304 stores various data and information necessary for the CPU301 to perform processing using programs, for example. Furthermore, HDD304 also stores various data and information obtained through the processing performed by the CPU301 using programs, for example. The input unit 305 consists of a pointing device such as a keyboard or mouse. The display unit 306 is comprised of a monitor such as a liquid crystal display (LCD). The display unit 306 may function as a GUI (Graphical User Interface) when combined with the input unit 305. User input operations (including selection operations, etc.) described below can be performed via the input unit 305 or the GUI.
[0033] The communication interface 307 is an interface that controls communication between the information processing device 20 and an external device. The communication interface 307 provides an interface to a network and performs communication with the external device via the network. Various data and parameters are sent and received between the external device and the communication interface 307. In this embodiment, the communication interface 307 may perform communication via a wired LAN (Local Area Network) or a dedicated line compliant with a communication standard such as Ethernet (registered trademark). However, the network that can be used in this embodiment is not limited to this and may consist of a wireless network. This wireless network includes wireless PANs (Personal Area Networks) such as Bluetooth (registered trademark), ZigBee (registered trademark), and UWB (Ultra Wide Band). It also includes wireless LANs (Local Area Networks) such as Wi-Fi (Wireless Fidelity) (registered trademark) and wireless MANs (Metropolitan Area Networks) such as WiMAX (registered trademark). Furthermore, it includes wireless WANs (Wide Area Networks) such as 4G and 5G. Furthermore, the network only needs to connect each device in a way that allows it to communicate with one another, and the communication standards, scale, and configuration are not limited to those described above.
[0034] At least some of the functions of the information processing device 20 shown in Figure 2 can be realized by the CPU 301 executing a program. However, at least some of the functions of the information processing device 20 shown in Figure 2 may be operated as dedicated hardware. In this case, the dedicated hardware operates based on the control of the CPU 301.
[0035] [Processing flow by the information processing device 20] Next, the processing flow of the information processing device 20 according to this embodiment will be described. First, the information processing device 20 trains a natural language processing model 121, and then uses the trained natural language model 121 to rerank multiple search query candidates according to the prefix input by the user 11. The procedures for (1) training the natural language model 121 and (2) reranking the search query candidates will be described in order below.
[0036] (1) Procedure for training the natural language model 121 Referring to Figures 4A to 4C, the procedure for the learning process of the natural language model 121 executed by the information processing device 20 according to this embodiment will be described. Figure 4A shows a flowchart of the learning process executed by the information processing device 20. The purchase history database 110 is assumed to store the purchase history of items by multiple users, including user 11, from among the multiple items sold on the e-commerce site provided by the information processing device 20.
[0037] In S401, the training data generation unit 105 generates training data. In this embodiment, the training data generation unit 105 generates training data including positive pairs and negative pairs from information on multiple purchased items and multiple non-purchased items by user 11, based on the user's purchase history stored in the purchase history database 110. Specifically, the training data generation unit 105 generates training data including positive pairs, which are pairs of information on two items out of multiple purchased items, and negative pairs, which are pairs of information on two items out of multiple items, with at least one of them being information on one non-purchased item out of multiple non-purchased items. Note that the purchase history data stored in the purchase history database 110 may have data older than a certain period from the present (for example, during training of the natural language model 121) deleted in order to generate positive pairs that better represent purchase trends. In this embodiment, the brand name of the item is used as the item information.
[0038] Figure 4B shows an example of a sales page for an item on an e-commerce site provided by the information processing device 20, specifically a screen 410 for a bag sales page. Each bag sold on the bag sales page shown in screen 410 may be sold by a different store (merchant) or by the same store. In screen 410, the item for purchase is a bag, and bags from brands A through F are sold. In screen 410, brands A through F represent brand names. When a user operates screen 410 and purchases any bag from brands A through F, the user's user ID and the information of the purchased bag (item) are associated and stored in the purchase history database 110.
[0039] In screen 410 of Figure 4B, the user can select and purchase a desired bag from bags of brands A through F. For example, if the user purchases a bag of brand A, they can select area 411, proceed to the purchase procedure, and complete the payment for the purchase. Now, suppose user 11 purchases bags of brand A, brand B, and brand C from among the bags shown on screen 410 at the same time or at different times (for example, within a certain period). In accordance with these purchases, the purchase history database 110 stores user 11's item purchase history, which associates user 11's user ID with information on bags of brand A, brand B, and brand C. In this embodiment, the brand name of the item is used as item information for generating training data from the item information stored in the purchase history database 110. Therefore, the training data generation unit 105 retrieves user 11's item purchase history from the purchase history database 110 and generates pairs of two brand names from the purchased items brand A, brand B, and brand C as positive pairs. In other words, if we consider bags from brands A to F shown in Figure 4B, the training data generation unit 105 generates three pairs as positive pairs: brand A-brand B, brand B-brand C, and brand C-brand A. Figure 4C shows an example of the training data in this case, where the positive pair 420 consists of three pairs: brand A-brand B, brand B-brand C, and brand C-brand A.
[0040] Furthermore, when the learning data generation unit 105 targets bags from brands A to F shown in Figure 4B, it generates negative pairs of brand names that include at least one of the brand names of bags from brands D to F that the user 11 has not purchased. Therefore, in this example, the negative pairs 421 in Figure 4C consist of the following pairs: brand A-brand D, brand A-brand E, brand A-brand F, brand B-brand D, brand B-brand E, brand B-brand F, brand C-brand D, brand C-brand E, brand C-brand F, brand D-brand E, brand D-brand F, and brand E-brand F.
[0041] In this embodiment, the brand name of the item was used as item information for the positive and negative pairs of training data, but other information such as the item's genre, category, or the store where the item is sold may also be used. Furthermore, although the training data generation unit 105 generated pairs of item names and brand names, pairs of the item's brand name and other information about the item may also be generated as training data. For example, when user 11 purchases a bag from brand A, the training data generation unit 105 may generate a pair of brand A (brand name) and bag (name of the item's genre or category) as a positive pair. Alternatively, when user 11 purchases a bag from brand A, the training data generation unit 105 may generate a pair of brand A (brand name) and user attributes or location information of user 11 as a positive pair.
[0042] Next, the learning data generation unit 105 stores the generated learning data as learning data 122 in the model information storage unit 120. The learning data generation unit 105 may store the generated learning data in the model information storage unit 120 in association with the user's user ID. The learning data generation unit 105 may generate learning data each time the user completes the item purchase procedure on the e-commerce site and the purchase history database 110 is updated.
[0043] After training data is generated in S401, in S402, the learning unit 106 trains the natural language model 121 using the generated training data. In this embodiment, the positive pairs and negative pairs included in the training data are pairs of brand names, as explained with reference to Figure 4B. The learning unit 167 inputs the two brand names included in the positive pairs into the natural language model 121 and generates feature vectors for each of the two brand names (feature vectors of the positive pair). The learning unit 106 then embeds the feature vectors of the positive pairs into a common vector space and trains the natural language model 121 to minimize the distance between the feature vectors of the positive pairs. The learning unit 106 also inputs the two brand names included in the negative pairs into the natural language model 121 and generates feature vectors for each of the two brand names (feature vectors of the negative pairs). The learning unit 106 then embeds the feature vectors of the negative pairs into a common vector space and trains the natural language model 121 to maximize the distance between the feature vectors of the negative pairs. As a result, the natural language model 121 is trained so that, for user 11, the feature vectors of brands that are relatively likely to be purchased based on their purchase history are close together in a common vector space. On the other hand, the natural language model 121 is trained so that, for user 11, the feature vectors of brands that are relatively unlikely to be purchased are far apart in the same space. In other words, a natural language model 121 is generated that is personalized (customized) for user 11, having learned the purchase tendencies of a specific user, user 11 in this example.
[0044] The learning unit 106 can calculate the distance between feature vectors in a common vector space as either a cosine distance or a Euclidean distance. The cosine distance corresponds to the cosine value (-1 to +1) of the angle between two vectors in the common vector space, while the Euclidean distance corresponds to the usual distance between two vectors in the common vector space. Furthermore, the criteria for minimization and maximization (i.e., the target learning accuracy) can be set arbitrarily. The learning unit 106 stores the trained natural language model 121 in the model information storage unit 120.
[0045] (2) Procedure for reranking search query candidates Next, with reference to Figures 5A and 5B, the procedure for the re-ranking of search query candidates performed by the information processing device 20 according to this embodiment will be described. Figure 5A shows a flowchart of the re-ranking of search query candidates performed by the information processing device 20. This process is performed when the information processing device 20 receives a prefix from the user 11 after the natural language model 121 has been trained by the learning unit 106. Figure 5B shows the data flow in the re-ranking of search query candidates based on the prefix input by the user 11.
[0046] In Figure 5A, the processes S501 to S506 included in S50 may be repeated each time a prefix is obtained in S501. In S501, the input data acquisition unit 101 acquires a prefix (corresponding to prefix 510 in Figure 5) for a search query used by user 11 to search for desired items on the e-commerce site provided by the information processing device 20.
[0047] In S502, the query candidate generation unit 103 generates multiple search query candidates (corresponding to search query candidate 511 in Figure 5B) corresponding to the prefix obtained in S501. The query candidate generation unit 103 can generate multiple search query candidates by automatically completing the prefix obtained in S501 using existing technology. Also in S503, the context acquisition unit 102 acquires a context that represents the characteristics of user 11's search (corresponding to context 512 in Figure 5B). In this embodiment, user 11's context is the last search query entered by user 11 before entering the prefix in S501 on the same e-commerce site that user 11 is viewing. If there is no last search query entered by user 11 on the same site, the context acquisition unit 102 may acquire other information related to user 11's search as context. Other information related to user 11's search may be obtained, for example, from user 11's input log in past browsing sessions. Note that the processes in S502 and S503 may be performed in reverse order or simultaneously.
[0048] In S504, the reranking unit 104 inputs each of the multiple search query candidates generated in S502 into the trained natural language model 121 to generate a query feature vector (corresponding to the query feature vector 513 in Figure 5B) that represents the characteristics of each of the search query candidates. Also in S504, the reranking unit 104 inputs the context obtained in S503 into the trained language model 121 to generate a context feature vector (corresponding to the context feature vector 514 in Figure 5) that represents the characteristics of the context. In this way, the reranking unit 104 generates multiple query feature vectors corresponding to the multiple search query candidates and a context feature vector corresponding to the context. Note that the generation process of the multiple query feature vectors and context feature vectors may be performed in the reverse order. In addition, in this embodiment, one natural language model 121 was used to obtain multiple query feature vectors and context feature vectors, but two trained natural language models 121 may be used. When two natural language models 121 are used, the generation process of the multiple query feature vectors and context feature vectors can be performed almost simultaneously.
[0049] In S504, after generating multiple query feature vectors and context feature vectors, the reranking unit 104 then embeds each query feature vector and the context feature vector into a common vector space in S505. The reranking unit 104 then calculates the distance between each query feature vector and the context feature vector in the common vector space and reranks the search query candidates based on this distance. This distance is, for example, the cosine distance or the Euclidean distance. The reranking unit 104 reranks the multiple search query candidates so that they are ordered from the query feature vector with the shortest distance to the context feature vector in the common vector space. If there are multiple query feature vectors with the same distance to the context feature vector, the reranking unit 104 may perform reranking based on any rule. As mentioned above, the natural language model 121 is trained so that the shorter the distance between two generated feature vectors in the common vector space, the higher the relevance of the features represented by that feature vector. Therefore, query feature vectors with a shorter distance to the context feature vector can be said to have a higher relevance to the context feature vector. The reranking unit 104 generates reranked search query candidates (corresponding to the reranked search query candidates 515 in Figure 5B).
[0050] Once the reranking is complete, in S506 the output unit 107 provides the user 11 with a list of reranked search query candidates. For example, the output unit 107 sends the search query candidates to the user device 10 so that the display unit of the user device 10 displays the list of reranked search query candidates.
[0051] The process in S50, including S501 to S506, is repeated each time a prefix is obtained in S501. Then, when the user input acquisition unit 101 receives the selected search query in response to the user 11 selecting one search query from the multiple search query candidates provided in S506, the process in S50 is completed and the process proceeds to S507. The search query selected by the user 11 corresponds to the ground truth data for the multiple search query candidates provided to the user 11. In S507, the learning unit 106 obtains the search query selected by the user 11 as ground truth data and uses this ground truth data to retrain the natural language processing model 121.
[0052] As described above, the information processing device 20 according to this embodiment can train the natural language model 121 to be personalized for user 11 by training the natural language model 121 using training data generated based on user 11's purchase information. Here, the natural language model 121 functions as a dual encoder and is trained using positive pairs (pairs of item information based on purchase history) and negative pairs (pairs other than positive pairs) generated as purchase information. The information processing device 20 then reranks the multiple search query candidates based on prefixes entered by user 11 and context representing user 11's latest search characteristics by inputting them into the trained natural language processing model and using the results generated. This reranking realizes a reranking that reflects user 11's purchase trends. As a result, user 11, presented with the reranked search query candidates, can efficiently search for the intended items.
[0053] Furthermore, in this embodiment, the user 11 uses the last search query on the same e-commerce site as the context. This allows the information processing device 20 to rerank in real time without increasing the processing load. In other words, the time from the user 11 inputting a prefix to the presentation of search query candidates to the user 11 can be shortened, potentially improving usability.
[0054] Although specific embodiments are described above, these embodiments are merely illustrative and not intended to limit the scope of the present invention. Apparatuses and methods described herein can be embodied in forms other than those described above. Furthermore, the embodiments described above can be appropriately omitted, substituted, and modified without departing from the scope of the present invention. Such omitted, substituted, and modified forms fall within the scope of the claims and their equivalents and are within the technical scope of the present invention.
[0055] This embodiment includes the following configuration. [1] An information processing device comprising: a prefix acquisition unit that acquires prefixes entered by a user on an e-commerce (EC) site; a context acquisition unit that acquires contexts representing the user's search characteristics on the EC site; a candidate acquisition unit that generates a plurality of search query candidates based on the prefixes; and a reranking unit that reranks the plurality of search query candidates using the results generated by inputting the plurality of search query candidates and the contexts into a natural language processing model learned using information about the user's purchases on the EC site.
[0056] [2] The information processing apparatus according to [1], wherein the context acquisition unit acquires the last search query entered by the user before the input of the prefix on the e-commerce site as the context.
[0057] [3] The information processing apparatus according to [1] or [2], further comprising: a learning data generation unit that generates learning data from information on multiple purchased items and information on multiple unpurchased items among multiple items sold on the e-commerce site; and a learning unit that trains the natural language model using the learning data.
[0058] [4] The learning data generation unit generates learning data which includes positive pairs which are pairs of information of two items from the plurality of purchased items and negative pairs which are pairs of information of two items from the plurality of items, at least one of which is information of one of the plurality of non-purchased items; the learning unit inputs each of the positive pairs into the natural language model to generate feature vectors for the positive pairs, inputs each of the negative pairs into the natural language model to generate feature vectors for the negative pairs, and trains the natural language model in the common vector space to minimize the distance between the feature vectors of the positive pairs and maximize the distance between the feature vectors of the negative pairs, as described in [3].
[0059] [5] Information of the two items, the brand names of the two items, as described in [4].
[0060] [6] The reranking unit inputs each of the multiple search query candidates into the learned natural language model to generate a plurality of query feature vectors representing the characteristics of each of the search query candidates, inputs the context into the learned natural language model to generate a context feature vector representing the characteristics of the context, and reranks the plurality of search query candidates in a common vector space based on the distance between each of the plurality of query feature vectors and the context feature vector, according to any one of [1] to [5].
[0061] [7] The information processing apparatus according to [6], wherein the reranking unit reranks the plurality of search query candidates so that they are arranged in order from the query feature vectors that have a shorter distance from the context feature vector among the plurality of query feature vectors.
[0062] [8] The natural language model is a pre-trained BERT (Bidirectional Encoder Representations from Transformers), as described in any of [1] to [7].
[0063] [9] The information processing apparatus according to any one of [1] to [8], further comprising an output unit that provides the reranked search query candidates to the user. [Explanation of symbols]
[0064] 10: User device, 11: User, 20: Information processing device, 101: User input acquisition unit, 102: Context acquisition unit, 103: Query candidate generation unit, 104: Reranking unit, 105: Training data generation unit, 106: Training unit, 107: Output unit, 110: Purchase history database, 120: Model information storage unit, 121: Natural language model, 122: Training data
Claims
1. A prefix acquisition unit that acquires prefixes entered by users on an e-commerce (e-commerce) site, A context acquisition unit that acquires a context representing the characteristics of the user's search on the e-commerce site, A candidate acquisition unit that generates multiple search query candidates based on the aforementioned prefix, A reranking unit that reranks the multiple search query candidates using the results generated by inputting the multiple search query candidates and the context into a natural language processing model trained using information about the user's purchases on the e-commerce site, An information processing device having
2. The context acquisition unit acquires the last search query entered by the user before the prefix input on the e-commerce site as the context. The information processing apparatus according to claim 1.
3. A learning data generation unit generates learning data from information on multiple purchased items and information on multiple unpurchased items among multiple items sold on the aforementioned e-commerce site. A learning unit that trains the natural language processing model using the aforementioned training data, It further possesses, The information processing apparatus according to claim 1.
4. The training data generation unit generates training data that includes positive pairs, which are pairs of information of two items from the plurality of purchased items, and negative pairs, which are pairs of information of two items from the plurality of items, where at least one of them is information of one of the plurality of non-purchased items. The aforementioned learning unit, Each of the positive pairs is input to the natural language processing model to generate a feature vector for the positive pair, and each of the negative pairs is input to the natural language processing model to generate a feature vector for the negative pair. The natural language processing model is trained to minimize the distance between the positive pair of feature vectors and maximize the distance between the negative pair of feature vectors in a common vector space. The information processing apparatus according to claim 3.
5. The information for the two items mentioned above is the brand name of the two items. The information processing apparatus according to claim 4.
6. The aforementioned reranking unit is Each of the multiple search query candidates is input into the trained natural language processing model to generate multiple query feature vectors representing the characteristics of each of the search query candidates, and the context is input into the trained natural language processing model to generate a context feature vector representing the characteristics of the context. In a common vector space, the multiple search query candidates are reranked based on the distance between each of the multiple query feature vectors and the context feature vector. The information processing apparatus according to claim 1.
7. The reranking unit reranks the plurality of search query candidates so that they are arranged in order from the query feature vectors with the shortest distance from the context feature vector among the plurality of query feature vectors. The information processing apparatus according to claim 6.
8. The aforementioned natural language processing model is a pre-trained BERT (Bidirectional Encoder Representations from Transformers). The information processing apparatus according to claim 1.
9. The system further includes an output unit that provides the reranked search query candidates to the user. The information processing apparatus according to claim 1.
10. An information processing method performed by an information processing device, Obtaining prefixes entered by users on an e-commerce (e-commerce) site, To obtain a context representing the characteristics of the user's search on the aforementioned e-commerce site, Based on the aforementioned prefix, multiple search query candidates are generated, The process involves inputting the aforementioned multiple search query candidates and the aforementioned context into a natural language processing model trained using information about the user's purchases on the e-commerce site, and using the resulting output to rerank the aforementioned multiple search query candidates. Information processing methods including
Citation Information
Patent Citations
Shopping search result extension method and system
JP2021179987A
Method for constructing a sorting model, method for automatic query completion, and corresponding device
JP2022530688A
Removing semantic duplicates from results based on similarity between embeddings for different results
US20230252554A1