Method and system for expanding shopping search results
The method and system use AI to convert shopping search queries into vectors, determine expanded queries, and generate results using a candidate query database, addressing the challenge of mismatched user queries in online shopping by enhancing result relevance and efficiency.
Patent Information
- Application Number
- PCT/KR2024/013794
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-10
- Filing Date
- 2024-09-11
- Publication Date
- 2025-07-17
AI Technical Summary
Conventional online shopping services struggle to provide product search results that accurately meet user intentions when the user's query differs from the optimal query, especially for queries that have never been entered before.
A method and system that utilizes an artificial intelligence model to convert shopping search queries into vectors, determine expanded queries based on these vectors, and generate shopping search results, including products that better match user intentions by leveraging a candidate query database and calculating similarities between queries.
Enhances the relevance of shopping search results by providing products that align with user intentions, even when the entered query is different from the optimal one, while minimizing computing resources and time required for query expansion.
Smart Images

Figure KR2024013794_17072025_PF_FP_ABST
Abstract
Description
Method and system for expanding shopping search results
[0001] The present disclosure relates to a method and system for expanding shopping search results, and more particularly, to a method and system for generating shopping search results based on at least one of a shopping search query received from a user terminal or an expanded query extracted based on a vector converted from a shopping search query.
[0002] In the information age, search technology has become an essential tool for information retrieval. Search technology plays a crucial role in helping users effectively find the information they need on the web. Efforts are being made to apply various technologies, such as artificial intelligence, to provide information highly relevant to search queries.
[0003] Meanwhile, with the advancement of internet and mobile communication technologies, demand is growing in the online shopping market, where products can be purchased without constraints of time and place. As the geographic reach of online shopping services expands internationally, the variety and quantity of products available for sale is growing exponentially. Efforts are being made to apply search technologies to provide users with the products they desire.
[0004] However, conventional online shopping services face the problem of failing to provide search results that align with the user's intent when the user's query differs from the appropriate search query. This problem is particularly frequent when the user's query has never been entered before.
[0005] The present disclosure provides a method for expanding shopping search results, a computer program stored in a recording medium, and a system (device) for solving the above-described problem.
[0006] The present disclosure can be implemented in various ways, including as a method, a device (system), or a computer program stored on a readable storage medium.
[0007] According to one embodiment of the present disclosure, a method for expanding shopping search results, performed by at least one processor, includes the steps of receiving a shopping search query from a user terminal, converting the shopping search query into a first vector using an artificial intelligence model, determining an expanded query based on the first vector, and generating a shopping search result based on at least one of the shopping search query and the expanded query.
[0008] A computer program stored in a computer-readable recording medium is provided to execute the above-described method according to one embodiment of the present disclosure on a computer.
[0009] According to one embodiment of the present disclosure, an information processing system includes a communication module, a memory, and at least one processor connected to the memory and configured to execute at least one computer-readable program included in the memory, wherein the at least one program includes instructions for receiving a shopping search query from a user terminal, converting the shopping search query into a first vector using an artificial intelligence model, determining an expanded query based on the first vector, and generating a shopping search result based on at least one of the shopping search query and the expanded query.
[0010] According to various embodiments of the present disclosure, an expanded query can be extracted based on a vector generated based on a shopping search query entered by a user, and shopping search results can be generated using this vector. Accordingly, even if the user-entered query differs somewhat from a query suitable for product search, shopping search results including products the user wishes to purchase can be generated and provided.
[0011] According to various embodiments of the present disclosure, the extended query used to generate shopping search results can be determined using multiple candidate queries stored in a candidate query database. Accordingly, the time required to determine the extended query for generating shopping search results can be shortened, and the computing resource usage associated with determining the extended query can be minimized.
[0012] According to various embodiments of the present disclosure, when determining an extended query, the similarity between multiple candidate queries and a shopping search query entered by a user can be calculated, and queries with a similarity exceeding a predetermined threshold or a predetermined number of queries with the highest similarity can be extracted as candidate queries for the extended query. Accordingly, an extended query can be determined for a query without a search history / search results, and the corresponding scope of the extended query determination can be expanded.
[0013] According to various embodiments of the present disclosure, in response to determining that the number of products retrieved by a user-entered shopping search query is less than or equal to a predetermined number, the processor may generate shopping search results based on the shopping search query and / or the expanded query. This can prevent the problem of the expanded query being used even when the user has accurately entered the shopping search query.
[0014] According to various embodiments of the present disclosure, products searched by an expanded query are placed below products searched by a user-entered shopping search query, thereby providing shopping search results for the user-entered query with priority. This allows for expanded shopping search result coverage while also providing shopping search results more aligned with the user's intent.
[0015] The effects of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by a person having ordinary skill in the art to which the present disclosure belongs (referred to as “one skilled in the art”) from the description of the claims.
[0016] Embodiments of the present disclosure will be described below with reference to the accompanying drawings, wherein like reference numerals represent similar elements, but are not limited thereto.
[0017] FIG. 1 is a diagram illustrating an example in which a user inputs a shopping search query and is provided with shopping search results according to one embodiment of the present disclosure.
[0018] FIG. 2 is a schematic diagram showing a configuration in which an information processing system is connected to enable communication with a plurality of user terminals to provide a shopping search result expansion method according to one embodiment of the present disclosure.
[0019] FIG. 3 is a block diagram showing the internal configuration of a user terminal and an information processing system according to one embodiment of the present disclosure.
[0020] FIG. 4 is a block diagram showing the internal configuration of a processor of an information processing system according to one embodiment of the present disclosure.
[0021] FIG. 5 is a diagram showing an example of an encoder being trained according to one embodiment of the present disclosure.
[0022] FIG. 6 is a diagram showing an example of a database construction unit constructing a candidate query database according to one embodiment of the present disclosure.
[0023] FIG. 7 is a block diagram illustrating an example of a candidate query stored in a candidate query database according to one embodiment of the present disclosure.
[0024] FIG. 8 is a diagram illustrating an example of data associated with a candidate query stored in a candidate query database according to one embodiment of the present disclosure.
[0025] FIG. 9 is a diagram illustrating an example of determining an extended query according to one embodiment of the present disclosure.
[0026] FIG. 10 is a flowchart illustrating an example of generating shopping search results based on at least one of a shopping search query or an extended query according to one embodiment of the present disclosure.
[0027] FIG. 11 is a diagram illustrating an example of shopping search results generated based on a shopping search query and an extended query according to one embodiment of the present disclosure.
[0028] FIG. 12 is a flowchart illustrating an example of a shopping search result expansion method according to one embodiment of the present disclosure.
[0029] Hereinafter, specific details for implementing the present disclosure will be described in detail with reference to the attached drawings. However, in the following description, specific descriptions of widely known functions or configurations will be omitted if they may unnecessarily obscure the gist of the present disclosure.
[0030] In the attached drawings, identical or corresponding components are assigned the same reference numerals. Furthermore, in the description of the embodiments below, duplicate descriptions of identical or corresponding components may be omitted. However, even if a description of a component is omitted, it is not intended that such component is not included in any embodiment.
[0031] The advantages and features of the disclosed embodiments, and methods for achieving them, will become clearer with reference to the embodiments described below, along with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below and may be implemented in various different forms. These embodiments are provided solely to ensure the completeness of the disclosure and to fully inform those skilled in the art of the scope of the invention.
[0032] The terms used in this specification will be briefly explained, followed by a detailed description of the disclosed embodiments. The terms used in this specification have been selected from widely used, current terms, taking into account the functions of the present disclosure. However, these terms may vary depending on the intentions of engineers working in the relevant field, precedents, the emergence of new technologies, etc. Furthermore, in certain cases, terms may be arbitrarily selected by the applicant, and in such cases, their meanings will be described in detail in the relevant description of the invention. Therefore, the terms used in this disclosure should not be defined simply as names of terms, but rather based on their meanings and the overall content of the present disclosure.
[0033] In this specification, singular expressions include plural expressions unless the context clearly indicates otherwise. Furthermore, plural expressions include singular expressions unless the context clearly indicates otherwise. When a part of the specification is said to include a component, this does not exclude other components, but rather implies that other components may be included, unless otherwise specifically stated.
[0034] Also, the term 'module' or 'part' used in the specification means a software or hardware component, and the 'module' or 'part' performs certain roles. However, the 'module' or 'part' is not limited to software or hardware. The 'module' or 'part' may be configured to reside on an addressable storage medium and may be configured to execute one or more processors. Thus, as an example, the 'module' or 'part' may include at least one of components such as software components, object-oriented software components, class components, and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, or variables. The functionality provided within the components and 'modules' or 'parts' may be combined into a smaller number of components and 'modules' or 'parts', or further separated into additional components and 'modules' or 'parts'.
[0035] According to one embodiment of the present disclosure, a 'module' or 'unit' may be implemented as a processor and a memory. 'Processor' should be broadly construed to include a general-purpose processor, a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a controller, a microcontroller, a state machine, and the like. In some circumstances, a 'processor' may also refer to an application-specific integrated circuit (ASIC), a programmable logic device (PLD), a field-programmable gate array (FPGA), and the like. A 'processor' may also refer to a combination of processing devices, such as, for example, a combination of a DSP and a microprocessor, a combination of multiple microprocessors, a combination of one or more microprocessors in conjunction with a DSP core, or any other such combination of configurations. In addition, 'memory' should be broadly construed to include any electronic component capable of storing electronic information. 'Memory' may refer to various types of processor-readable media, such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, magnetic or optical data storage, registers, etc. Memory is said to be in electronic communication with the processor if the processor can read information from, and / or write information to, the memory. Memory integrated in a processor is in electronic communication with the processor.
[0036] In the present disclosure, the "system" may include, but is not limited to, at least one of a server device and a cloud device. For example, the system may be comprised of one or more server devices. As another example, the system may be comprised of one or more cloud devices. As yet another example, the system may be configured and operated by a combination of a server device and a cloud device.
[0037] In the present disclosure, "each of a plurality of A" or "each of a plurality of A" may refer to each of all components included in the plurality of A, or each of some components included in the plurality of A. For example, each of a plurality of candidate queries may refer to each of all candidate queries included in the plurality of candidate queries, or each of some candidate queries included in the plurality of candidate queries.
[0038] In this disclosure, "shopping search" may refer to extracting products associated with a shopping search query or extended query from a product database. As a result of the shopping search, the extracted products may be displayed on the user terminal's display in order of ranking.
[0039] In this disclosure, a "clicked product" may refer to a product (e.g., shopping search results) retrieved by a specific search query, that the user clicks and is directed to a page related to that product. For example, if products 1 through 4 are retrieved by a specific search query and the user selects a third product and is directed to a page related to that product, the third product may be referred to as the "clicked product."
[0040] In this disclosure, "CTR" (Click-Through Rate) may refer to the number of clicks relative to the number of searches. For example, the CTR for a shopping search query may be calculated as the number of search result clicks relative to the number of query entries (number of search result clicks / number of query entries). A query with a low CTR may indicate a high probability that the product the user wants was not found. As another example, the CTR for a product may be calculated as the number of clicks relative to the number of times the product appears as a search result (number of product clicks / number of times the product appears as a search result). A product with a low CTR may indicate low popularity.
[0041] Figure 1 is a diagram illustrating an example of a user entering a shopping search query and receiving shopping search results according to one embodiment of the present disclosure. For example, a user may perform a shopping search by running a shopping application, web browser, or other similar device on a user terminal (e.g., a smartphone).
[0042] According to one embodiment, a user may input a shopping search query (130) into a shopping search query input area (120) displayed on a display (110) of a user terminal. A shopping search result expansion system (140) may receive the shopping search query (130) from the user terminal. For example, as illustrated in FIG. 1, a user may input a shopping search query (130) such as 'chicken lever sea bream 3 colors' into the shopping search query input area (120), and the shopping search result expansion system (140) may receive the shopping search query (130) such as 'chicken lever sea bream 3 colors' from the user terminal.
[0043] According to one embodiment, the shopping search result expansion system (140) can determine an expanded query based on a shopping search query. For example, the shopping search result expansion system (140) can determine an expanded query, "Chicken Lever Sea Bream 3 Colors," from the shopping search query, "Chicken Lever Sea Bream 3 Colors." To this end, the shopping search result expansion system (140) can convert the shopping search query into a vector using an artificial intelligence model (e.g., an encoder model), and extract multiple candidate queries from a candidate query database based on the vector. Then, the shopping search result expansion system (140) can determine the ranking of the multiple candidate queries and determine the candidate query with the highest ranking as the expanded query. Details thereof will be described later with reference to FIGS. 4 and 9. In addition, the process of the shopping search result expansion system (140) determining an expanded query based on a shopping search query can be referred to as query reformulation.
[0044] According to one embodiment, the shopping search result expansion system (140) can generate shopping search results (150) based on at least one of a shopping search query or an expanded query. The shopping search result expansion system (140) can determine whether to use an expanded query and / or whether to generate shopping search results based on the expanded query depending on the number of products searched by the shopping search query. For example, if there are no or few products searched based on the search query 'Chicken Lever Sea Bream 3 Colors' (for example, 10 or fewer search results), the shopping search result expansion system (140) can generate shopping search results that display products searched based on the expanded query 'Chicken Lever Sea Bream 3 Colors'. This will be described in detail later with reference to FIGS. 10 and 11.
[0045] According to one embodiment, the shopping search result expansion system (140) can transmit the generated shopping search results (150) to a user terminal. In this case, the user terminal can output the shopping search results (150) in the shopping search result output area (160) of the display. For example, the user terminal can output the shopping search results (150) including the names, prices, etc. of products searched by the expanded query '3 kinds of chicken lever sea bream' in the shopping search result output area (160) on the display (110).
[0046] According to the above-described configuration, the shopping search result expansion system (140) can receive a shopping search query (130) input by a user and determine an expanded query based on a vector converted from the shopping search query (130). In addition, the shopping search result expansion system (140) can generate a shopping search result (150) based on the expanded query. Accordingly, the shopping search result expansion system (140) can generate a shopping search result (150) including a product that the user wants to purchase and provide it to the user terminal, even if the query input by the user is partially different from a query suitable for product search.
[0047] FIG. 2 is a schematic diagram illustrating a configuration in which an information processing system (230) is connected to a plurality of user terminals (210_1, 210_2, 210_3) so as to be able to communicate with each other in order to provide a shopping search result expansion method according to one embodiment of the present disclosure. As illustrated, the plurality of user terminals (210_1, 210_2, 210_3) may be connected to an information processing system (230) capable of generating / providing shopping search results via a network (220). Here, the plurality of user terminals (210_1, 210_2, 210_3) may be user terminals that receive shopping search queries from users and receive shopping search results from the information processing system (230). In addition, the information processing system (230) may include the shopping search result expansion system (140) of FIG. 1.
[0048] In one embodiment, the information processing system (230) may include one or more server devices and / or databases capable of storing, providing, and executing computer executable programs (e.g., downloadable applications) and data associated with generating / providing shopping search results, or one or more distributed computing devices and / or distributed databases based on cloud computing services.
[0049] The shopping search results provided by the information processing system (230) may be provided to the user through a shopping application, web browser, or web browser extension program installed on each of a plurality of user terminals (210_1, 210_2, 210_3). For example, the information processing system (230) may provide corresponding information, such as providing shopping search results, or perform corresponding processing in response to a shopping search query received from a user terminal (210_1, 210_2, 210_3) through a shopping application, etc.
[0050] A plurality of user terminals (210_1, 210_2, 210_3) can communicate with an information processing system (230) via a network (220). The network (220) can be configured to enable communication between the plurality of user terminals (210_1, 210_2, 210_3) and the information processing system (230). Depending on the installation environment, the network (220) can be configured as a wired network such as Ethernet, a wired home network (Power Line Communication), a telephone line communication device, and RS-serial communication, a wireless network such as a mobile communication network, WLAN (Wireless LAN), Wi-Fi, Bluetooth, and ZigBee, or a combination thereof. The communication method is not limited, and may include not only a communication method utilizing a communication network (e.g., a mobile communication network, wired Internet, wireless Internet, broadcasting network, satellite network, etc.) that the network (220) may include, but also short-range wireless communication between user terminals (210_1, 210_2, 210_3).
[0051] In FIG. 2, a mobile phone terminal (210_1), a tablet terminal (210_2), and a PC terminal (210_3) are illustrated as examples of user terminals, but are not limited thereto, and the user terminals (210_1, 210_2, 210_3) may be any computing device capable of wired and / or wireless communication and capable of installing and executing a shopping application or web browser, etc. For example, the user terminal may include an AI speaker, a smartphone, a mobile phone, a navigation device, a computer, a laptop, a digital broadcasting terminal, a PDA (Personal Digital Assistants), a PMP (Portable Multimedia Player), a tablet PC, a game console, a wearable device, an IoT (Internet of Things) device, a VR (virtual reality) device, an AR (augmented reality) device, a set-top box, etc. In addition, although FIG. 2 illustrates three user terminals (210_1, 210_2, 210_3) communicating with the information processing system (230) via the network (220), this is not limited thereto, and a different number of user terminals may be configured to communicate with the information processing system (230) via the network (220).
[0052] FIG. 3 is a block diagram showing the internal configuration of a user terminal (210) and an information processing system (230) according to one embodiment of the present disclosure. The user terminal (210) may refer to any computing device capable of executing applications, web browsers, etc., and capable of wired / wireless communication, and may include, for example, a mobile phone terminal (210_1), a tablet terminal (210_2), a PC terminal (210_3), etc. of FIG. 2. As illustrated, the user terminal (210) may include a memory (312), a processor (314), a communication module (316), and an input / output interface (318). Similarly, the information processing system (230) may include a memory (332), a processor (334), a communication module (336), and an input / output interface (338). As illustrated in FIG. 3, the user terminal (210) and the information processing system (230) may be configured to communicate information and / or data via a network (220) using respective communication modules (316, 336). In addition, the input / output device (320) may be configured to input information and / or data to the user terminal (210) or output information and / or data generated from the user terminal (210) via the input / output interface (318).
[0053] The memory (312, 332) may include any non-transitory computer-readable recording medium. According to one embodiment, the memory (312, 332) may include a permanent mass storage device such as a read-only memory (ROM), a disk drive, a solid-state drive (SSD), or a flash memory. As another example, a permanent mass storage device such as a ROM, an SSD, a flash memory, or a disk drive may be included in the user terminal (210) or the information processing system (230) as a separate permanent storage device distinct from the memory. In addition, the memory (312, 332) may store an operating system and at least one program code (e.g., code related to generating / providing shopping search results, etc.).
[0054] These software components may be loaded from a computer-readable recording medium separate from the memory (312, 332). This separate computer-readable recording medium may include a recording medium directly connectable to the user terminal (210) and the information processing system (230), and may include, for example, a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD / CD-ROM drive, a memory card, etc. As another example, the software components may be loaded into the memory (312, 332) through a communication module (316, 336) other than a computer-readable recording medium. For example, at least one program may be loaded into the memory (312, 332) based on a computer program (e.g., a program for generating / providing shopping search results) that is installed by files provided by developers or a file distribution system that distributes installation files of applications through a network (220).
[0055] The processor (314, 334) may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input / output operations. Instructions may be provided to the processor (314, 334) by a memory (312, 332) or a communication module (316, 336). For example, the processor (314, 334) may be configured to execute instructions received according to program code stored in a storage device such as the memory (312, 332).
[0056] The communication module (316, 336) may provide a configuration or function for the user terminal (210) and the information processing system (230) to communicate with each other via the network (220), and may provide a configuration or function for the user terminal (210) and / or the information processing system (230) to communicate with another user terminal or another system (e.g., a separate cloud system, etc.). For example, a request or data (e.g., a request for providing shopping search results, a shopping search query, etc.) generated by the processor (314) of the user terminal (210) according to a program code stored in a recording device such as a memory (312) may be transmitted to the information processing system (230) via the network (220) under the control of the communication module (316). Conversely, a control signal or command provided under the control of the processor (334) of the information processing system (230) can be received by the user terminal (210) through the communication module (316) of the user terminal (210) via the communication module (336) and the network (220).
[0057] The input / output interface (318) may be a means for interfacing with an input / output device (320). As an example, the input device may include a device such as a camera, keyboard, microphone, mouse, etc., including an audio sensor and / or an image sensor, and the output device may include a device such as a display, a speaker, a haptic feedback device, etc. As another example, the input / output interface (318) may be a means for interfacing with a device that has a configuration or function integrated into one for performing input and output, such as a touch screen. For example, when the processor (314) of the user terminal (210) processes a command of a computer program loaded in the memory (312), a service screen configured using information and / or data provided by the information processing system (230) or another user terminal may be displayed on the display through the input / output interface (318). In FIG. 3, the input / output device (320) is illustrated as not being included in the user terminal (210), but is not limited thereto, and may be configured as a single device with the user terminal (210). In addition, the input / output interface (338) of the information processing system (230) may be a means for interfacing with a device (not shown) for input or output that is connected to the information processing system (230) or that the information processing system (230) may include. In FIG. 3, the input / output interfaces (318, 338) are illustrated as elements configured separately from the processors (314, 334), but are not limited thereto, and the input / output interfaces (318, 338) may be configured to be included in the processors (314, 334).
[0058] The user terminal (210) and the information processing system (230) may include more components than those shown in FIG. 3. However, there is no need to explicitly illustrate most of the conventional components. In one embodiment, the user terminal (210) may be implemented to include at least some of the input / output devices (320) described above. In addition, the user terminal (210) may further include other components, such as a transceiver, a Global Positioning System (GPS) module, a camera, various sensors, a database, and the like. For example, if the user terminal (210) is a smartphone, it may include components that a smartphone generally includes, and various components, such as an acceleration sensor, a gyro sensor, a microphone module, a camera module, various physical buttons, buttons using a touch panel, input / output ports, and a vibrator for vibration, may be implemented to be further included in the user terminal (210).
[0059] While a program for a shopping application, etc. is running, the processor (314) can receive text, images, videos, voices and / or actions, etc. input or selected through input devices such as a camera, microphone, including a touch screen, keyboard, audio sensor and / or image sensor connected to an input / output interface (318), and can store the received text, images, videos, voices and / or actions, etc. in a memory (312) or provide them to an information processing system (230) through a communication module (316) and a network (220).
[0060] The processor (314) of the user terminal (210) may be configured to manage, process, and / or store information and / or data received from an input / output device (320), another user terminal, an information processing system (230), and / or multiple external systems. The information and / or data processed by the processor (314) may be provided to the information processing system (230) via a communication module (316) and a network (220). The processor (314) of the user terminal (210) may output the information and / or data by transmitting it to the input / output device (320) via an input / output interface (318). For example, the received shopping search results may be displayed or shown on the screen of the user terminal (210).
[0061] The processor (334) of the information processing system (230) may be configured to manage, process, and / or store information and / or data received from a plurality of user terminals (210) and / or a plurality of external systems. The information and / or data processed by the processor (334) may be provided to the user terminal (210) via the communication module (336) and the network (220). In one embodiment, the processor (334) may determine an expanded query from a shopping search query received from the user terminal (210) and execute instructions for generating a shopping search result based on at least one of the shopping search query and the expanded query.
[0062] FIG. 4 is a block diagram illustrating the internal configuration of a processor (334) of an information processing system according to one embodiment of the present disclosure. The information processing system may include the shopping search result expansion system (140) of FIG. 1. As illustrated in FIG. 4, the processor (334) may include an encoder learning unit (410), an encoder (420), a database construction unit (430), a query analysis unit (440), an expanded query determination unit (450), and a search result generation unit (460).
[0063] In one embodiment, the encoder training unit (410) can train an encoder (420) that converts text (e.g., a query) into a vector. To this end, the encoder training unit (410) can utilize multiple pairs of training queries and training extended queries. For example, the encoder training unit (410) can train the encoder (420) using a first query-second query pair that is input during a single search session and has a text similarity greater than or equal to a predetermined threshold. As another example, the encoder training unit (410) can train the encoder (420) using a first query-second query pair that has a similarity between clicked products greater than or equal to a predetermined threshold. This will be described in detail later with reference to FIG. 5.
[0064] According to one embodiment, the encoder (420) can convert a shopping search query received from a user terminal into a vector. For example, the vector converted by the encoder (420) can be an embedding vector that converts the shopping search query into a multidimensional real number, and the encoder can be an encoder of an artificial neural network model (e.g., a natural language processing model) that can convert the shopping search query into an embedding vector. The encoder (420) can transmit the converted vector to the expanded query determination unit (450), and the expanded query determination unit (450) can determine the expanded query based on the vector.
[0065] In one embodiment, the encoder (420) may convert a candidate query stored in the candidate query database (490) into a vector. The vector converted from the candidate query may be an embedding vector that converts the candidate query into a multidimensional real number. The encoder (420) may transmit the converted vector to the candidate query database (490), and the candidate query database (490) may store the vector in association with the candidate query.
[0066] According to one embodiment, the database construction unit (430) may construct a candidate query database (490) based on a search log database (470) and / or a product database (480). For example, the database construction unit (430) may extract data associated with a candidate query based on search log data stored in the search log database (470) and / or product meta information stored in the product database, and the candidate query database (490) may store the data extracted by the database construction unit (430). Details of constructing the candidate query database are described below with reference to FIG. 6. In addition, candidate queries stored in the candidate query database and data associated with the candidate queries are described below with reference to FIGS. 7 and 8.
[0067] According to one embodiment, the query analysis unit (440) may analyze a shopping search query received from a user terminal. For example, the query analysis unit (440) may analyze a shopping search query received from a user terminal and generate analysis data such as product categories, meta information, and keywords related to the shopping search query. To this end, the query analysis unit (440) may receive data by communicating with a search log database (470) and / or a product database (480). The query analysis unit (440) may transmit the generated analysis data to an extended query determination unit (450), and the extended query determination unit (450) may determine an extended query based on the received analysis data.
[0068] According to one embodiment, the extended query determination unit (450) may determine an extended query based on a shopping search query received from a user terminal. To this end, the extended query determination unit (450) may extract a plurality of candidate queries from the candidate query database (490). For example, the extended query determination unit (450) may calculate a similarity between a vector converted from a shopping search query and a query vector stored in the candidate query database (490), and extract a plurality of candidate queries having a similarity higher than a predetermined standard and / or a predetermined number of candidate queries having the highest similarity as the plurality of candidate queries. In addition, the extended query determination unit (450) may determine a ranking of the plurality of extracted candidate queries and determine an extended query based on the ranking. For example, the extended query decision unit (450) can determine the rank of multiple candidate queries extracted using vector similarity, text similarity, meta information consistency, popularity, etc., and can determine the candidate query with the highest rank as the extended query. Details thereof will be described later with reference to FIG. 9.
[0069] According to one embodiment, the search result generation unit (460) may search for products in the product database (480) based on at least one of a shopping search query or an expanded query, and generate shopping search results including information about the corresponding products. In this case, the search result generation unit (460) may determine whether to use an expanded query and / or whether to generate shopping search results based on the expanded query to prevent excessive expansion of search results. For example, the search result generation unit (460) may cause the expanded query determination unit (450) to determine an expanded query only when the number of products searched by the shopping search query is less than or equal to a predetermined number, and may use the determined expanded query to generate shopping search results. This will be described in detail later with reference to FIG. 10.
[0070] In one embodiment, the search result generation unit (460) may consider the user's intent when generating shopping search results and arrange products accordingly. For example, if both products retrieved by a shopping search query and products retrieved by an extended query exist, the search result generation unit (460) may arrange the products retrieved by the shopping search query at the top. A specific example of this is described below with reference to FIG. 11.
[0071] In FIG. 4, each component of the processor (334) represents functionally distinct functional elements, and a plurality of components may be implemented in a form in which they are integrated with each other in an actual physical environment. Alternatively, each component of the processor (334) may be implemented separately from each other in an actual physical environment. In addition, in FIG. 4, the internal configuration of the processor (334) is illustrated as being divided into an encoder learning unit (410), an encoder (420), a database construction unit (430), a query analysis unit (440), an extended query determination unit (450), and a search result generation unit (460), but the present invention is not limited thereto, and some components may be omitted or other components may be added. For example, the candidate query database (490) may be a database existing in an external system and may be constructed by the external system, in which case the database construction unit (430) may be omitted. As another example, the encoder (420) may be replaced with an artificial intelligence model or some other components included in the artificial intelligence model. In this case, the encoder learning unit (410) can be replaced with a configuration that learns the replaced configuration.
[0072] FIG. 5 is a diagram illustrating an example of an encoder (420) being trained according to one embodiment of the present disclosure. The encoder (420) may be trained by the encoder training unit (410) of FIG. 4. Additionally, the encoder (420) may be trained using a training data set consisting of multiple training query-training extension query pairs.
[0073] In one embodiment, the encoder (420) may be trained based on a first training data set (510). The first training data set (510) may include first query-second query pairs that are input during a single search session and have text similarity greater than or equal to a predetermined threshold. For example, if a user does not click on a product after a first query is input and a second query is input within a predetermined time period, and the user clicks on the product and the text similarity between the first and second queries is greater than or equal to a predetermined threshold (e.g., 0.5), the first query-second query pair may be included in the first training data set (510). Additionally or alternatively, the first training data set (510) may include a predetermined number of first query-second query pairs that are input during a single search session and have high text similarity as training data.
[0074] In one embodiment, the encoder (420) may be trained based on a second learning data set (520). The second learning data set (520) may include first query-second query pairs in which the similarity between the clicked products is greater than or equal to a predetermined threshold. For example, if the similarity between a product clicked by a user among products searched by the first query and a product clicked by the user among products searched by the second query is greater than or equal to a predetermined threshold (e.g., 0.5), the first query-second query pair may be included in the second learning data set (520). As another example, if the similarity between the category of a product clicked by a user among products searched by the first query and the category of a product clicked by the user among products searched by the second query is greater than or equal to a predetermined threshold (e.g., 0.7), the first query-second query pair may be included in the second learning data set (520). Additionally or alternatively, the second learning data set (520) may include a predetermined number of first query-second query pairs having a high similarity between clicked products.
[0075] The above-described training data sets (510, 520) are not limited to examples of training data for the encoder (420), and training data sets selected in other ways may be used in the training process of the encoder (420). In addition, some training data sets may be omitted or other training data sets may be added during the training process of the encoder (420).
[0076] In one embodiment, the encoder (420) may be an encoder of an artificial neural network model including an encoder and a decoder. For example, the artificial neural network model including an encoder and a decoder may be a Seq2Seq generation model. In this case, the artificial neural network model may be trained using a first training data set (510) and a second training data set (520). For example, the artificial neural network model may be trained to receive a first query included in the training data sets (510, 520) and generate a second query. The encoder (420) may be an encoder of an artificial neural network model trained in the above-described manner.
[0077] In another embodiment, the encoder (420) may be trained based on the similarity between the encoded vectors of the training data sets (510, 520). For example, for a first query-second query pair included in the training data sets (510, 520), the encoder (420) may be trained to increase the similarity between the encoded first vector of the first query and the encoded second vector of the second query. Additionally or in parallel, the encoder (420) may be trained to decrease the similarity between the first query and any other queries (excluding the second query) included in the training data sets (510, 520). Additionally or in parallel, the encoder (420) may be trained to decrease the similarity between the second query and any other queries (excluding the first query) included in the training data sets (510, 520). In this case, the similarity between vectors can be measured using the cosine similarity of real vectors, the inverse of the Euclidean distance, etc.
[0078] As a learning method of the encoder (420), for the first query-second query pair included in the learning data set (510, 520), a first example that is trained to input the first query and generate the second query and a second example that is trained based on the similarity between vectors have been described as separate examples, but the present invention is not limited thereto, and the encoder (420) can be trained in a manner (multi-task learning) in which the above-described learning methods are used together. In this case, the loss in learning the encoder (420) can be a weighted sum of the first loss that occurred during the learning process according to the first example and the second loss that occurred during the learning process according to the second example, and the encoder (420) can be trained to minimize the loss.
[0079] The above-described training data sets (510, 520) are merely examples of training data for the encoder (420), and are not limited thereto. Training data sets selected in other ways may be utilized in the training process of the encoder (420). Furthermore, some training data sets may be omitted or other training data sets may be added during the training process of the encoder (420). For example, a pair of training queries and training extension queries, as shown in the table below, may be utilized for encoder training.
[0080] Type learning query (Q1) Learning extension query (Q2) Similar word recommendation Bathroom water stains oxyclean Bathroom cleaning oxyclean User error Yotsuba milk drinking yogurt Yotsuba dairy drinking yogurt Okayama fruit paradise Okayama fruit kingdom Partial query How to grow a small bonsai zelkova tree Bonsai zelkova tree Spacing truck camper truck camper
[0081] FIG. 6 is a diagram illustrating an example of a database construction unit (430) constructing a candidate query database (490) according to one embodiment of the present disclosure. According to one embodiment, the database construction unit (430) may construct a candidate query database (490) based on a search log database (470) and / or a product database (480).
[0082] According to one embodiment, the database construction unit (430) may receive search log data (610) from the search log database (470). The search log data (610) may include search terms, search frequency, CTR, user response, etc. The database construction unit (430) may select some search terms as candidate queries to be stored in the candidate query database (490) based on the search log data (610). For example, the database construction unit (430) may calculate scores by assigning weights to search frequency, CTR, and user response, and may select search terms with calculated scores higher than a reference value as candidate queries to be stored in the candidate query database (490). Additionally or alternatively, the database construction unit (430) may select a predetermined number of search terms with high calculated scores as candidate queries to be stored in the candidate query database (490). In one example, the database construction unit (430) can store only candidate queries that contain products to be searched among the selected candidate queries in the candidate query database (490).
[0083] According to one embodiment, the database construction unit (430) may receive product meta information (620) from the product database (480). The product meta information (620) may include information related to the attributes of the product, such as the category of the product, the name of the product, the brand of the product, the name of the shopping mall selling the product, the number of clicks for the product, the number of reviews for the product, etc. The database construction unit (430) may select candidate queries to be stored in the candidate query database (490) based on the product meta information (620). For example, the database construction unit (430) may select the category, product name, brand, shopping mall name, etc. for a product whose number of clicks and / or number of reviews is greater than a predetermined threshold as candidate queries to be stored in the candidate query database (490). Additionally or alternatively, the database construction unit (430) may select categories, product names, brands, shopping mall names, etc. for a predetermined number of products with a high number of clicks and / or reviews as candidate queries to be stored in the candidate query database (490). Alternatively, the database construction unit (430) may select categories, product names, brands, shopping mall names, etc. for all products as candidate queries to be stored in the candidate query database (490).
[0084] According to one embodiment, the database construction unit (430) may extract data (630) associated with the candidate query along with the candidate query selection, and store the extracted data in the candidate query database (490). The data (630) associated with the candidate query may include not only the candidate query text but also sources, vectors, meta information, popularity, etc. Details thereof will be described later with reference to FIG. 8.
[0085] FIG. 7 is a block diagram illustrating an example of a candidate query stored in a candidate query database (490) according to one embodiment of the present disclosure. The candidate query database (490) can store candidate queries that do not contain typos and that contain shopping search results. As illustrated in FIG. 7 , the candidate query database (490) can include a search log candidate query (710), a product meta information candidate query (720), and / or a keyword candidate query (730).
[0086] In one embodiment, the search log candidate query (710) may refer to a candidate query extracted from search log data. For example, the search log candidate query (710) may include search terms recorded in the search log data, such as search terms with high search frequency, search terms with high click-through rate (CTR), and search terms with good user responses. Furthermore, the search log candidate query (710) may be a query for which shopping search results exist.
[0087] In one embodiment, the product meta information candidate query (720) may refer to a candidate query extracted from the product's meta information. For example, the product meta information candidate query (720) may include the product name, brand, shopping mall name, etc. of popular products (e.g., products with a high number of reviews, products with a high number of clicks, etc.). Alternatively, the product meta information candidate query (720) may include the product name, brand, shopping mall name, etc. of all products.
[0088] In one embodiment, the keyword candidate query (730) may refer to keywords extracted from the product name. An artificial neural network model may be used to extract keyword candidate queries from the product name. For example, a question answering model that understands a given text and extracts key content may be used to extract keyword candidate queries that are part of the product name. For example, if the product name is "1-Year Warranty Crane Game UFO Catcher Home Toy," "crane game" and "ufo catcher" may be extracted as keywords.
[0089] In Fig. 7, each candidate query stored in the candidate query database (490) represents an example of a candidate query categorized by type, and multiple candidate queries can be implemented in a form in which they are integrated and stored. In addition, in Fig. 7, the candidate query database (490) is illustrated as being divided into a search log candidate query (710), a product meta information candidate query (720), and a keyword candidate query (730), but is not limited thereto, and some candidate queries may be omitted or other candidate queries may be added.
[0090] FIG. 8 is a diagram illustrating an example of data (800) associated with a candidate query stored in a candidate query database according to one embodiment of the present disclosure. In one embodiment, the candidate query database may store candidate query text (810), a source (820), a vector (830) converted by an encoder, meta information (840), and popularity (850) as data (800) associated with the candidate query.
[0091] In one embodiment, the source (820) may refer to the source from which the candidate query was extracted. For example, if the candidate query was extracted from search log data, the source (820) may be recorded as "search log." As another example, if the candidate query was extracted from the product name in product metadata, the source (820) may be recorded as "product database (product name)."
[0092] In one embodiment, the vector (830) may refer to a vector in which a candidate query is converted by an encoder. For example, the vector (830) may record and store an embedding vector expressed by converting the candidate query into a multidimensional real number, and for this purpose, an encoder of a natural language processing model may be used. Furthermore, the encoder used to convert the candidate query into a vector may be identical to the encoder used to convert a shopping search query into a vector (e.g., encoder (420) of FIG. 4 ).
[0093] In one embodiment, meta information (840) may refer to meta information derived by analyzing a candidate query. For example, meta information (840) may include brands included in the candidate query text, categories included in the candidate query text, keywords included in the candidate query text, brands and categories of products most frequently selected by users through the candidate query, etc. As another example, meta information (840) may include meta data of products associated with the candidate query.
[0094] In one embodiment, popularity (850) may refer to a numerical representation of a user's preference for a candidate query. For example, popularity (850) may be calculated based on at least one of a search frequency, which is the number of times a candidate query is searched for over a certain period of time, a click-through rate (CTR) of the candidate query, and the number of times a product searched for from the candidate query is clicked. As another example, the candidate query may include a keyword candidate query (e.g., 730 of FIG. 7), and the popularity of the keyword candidate query may be calculated based on the popularity of a product from which the keyword is extracted, the frequency with which the keyword is extracted from a product database (e.g., 480 of FIG. 6), a keyword extraction confidence score calculated by a keyword extraction model (e.g., a question answering model), etc.
[0095] FIG. 9 is a diagram illustrating an example of determining an extended query (960) according to one embodiment of the present disclosure. In one embodiment, an extended query (960) may be determined based on a shopping search query (910) received from a user terminal. For this purpose, an encoder (420), a query analysis unit (440), and an extended query determination unit (450) may be utilized.
[0096] In one embodiment, the encoder (420) may receive a shopping search query (910) and convert it into a vector (920). For example, the encoder (420) may receive the shopping search query (910), 'Nike air maxx', and convert it into an embedding vector expressed as a multidimensional real number, '[0.10, -0.22, 쪋]'.
[0097] According to one embodiment, the query analysis unit (440) may receive a shopping search query (910) and generate a shopping search query analysis result (930). For example, the query analysis unit (440) may receive and analyze the shopping search query (910), 'Nike air maxx', and extract the brand name as 'Nike' by recognizing 'Nike' in the shopping search query text 'Nike air maxx'. In addition, the query analysis unit (440) may extract that the category of the product included in the shopping search query text is 'sneakers' from 'Nike' and 'air' in 'Nike air maxx'. In addition, the query analysis unit (440) may extract keywords such as 'Nike' and 'air' included in 'Nike air maxx' through an artificial neural network model (e.g., a question response model, etc.).
[0098] According to one embodiment, the extended query determination unit (450) may receive a vector (920) converted from a shopping search query, and extract a plurality of candidate queries from a candidate query database (490) based on the vector (920). For example, the extended query determination unit (450) may calculate a similarity between a vector (920) converted from a shopping search query and a vector converted from a specific candidate query stored in the candidate query database (490), and may determine a specific candidate query (e.g., a candidate query having a similarity higher than a predetermined threshold, a candidate query having a similarity in the top N, etc.) as one of the plurality of candidate queries based on the similarity.
[0099] According to one embodiment, the extended query decision unit (450) may receive data (940) associated with a plurality of extracted candidate queries from the candidate query database (490). The data (940) associated with a plurality of candidate queries may include the source of the candidate queries, a vector associated with the candidate queries generated by the encoder, meta information of products directly associated with the candidate queries or searched by the candidate queries, the popularity of the candidate queries, etc.
[0100] According to one embodiment, the extended query determination unit (450) may determine the ranking of a plurality of candidate queries. To this end, the extended query determination unit (450) may receive a vector (920) converted from a shopping search query, a shopping search query analysis result (930), and data (940) associated with the candidate queries, and may calculate reference data (950) for determining the ranking of the candidate queries based thereon. For example, the reference data (950) may include vector similarity (951), text similarity (953), meta information consistency (955), popularity (957), and total score (959) for each of the plurality of candidate queries. The vector similarity (951) may be a similarity calculated based on the vector (920) converted from the shopping search query and the vector converted from the candidate queries. The text similarity (953) may be a similarity calculated based on the text of the shopping search query (910) and the text of the candidate queries. The meta information consistency (955) may be a value calculated based on whether the meta information included in the shopping search query analysis result (930) and the meta information of the candidate query are consistent or have an inclusion relationship. The popularity (957) may be a value calculated based on the search frequency, number of clicks, CTR, number of clicks of products searched by the candidate query, etc. of each candidate query. In addition, the popularity (957) may be a value obtained by scaling the popularity stored in the data (940) associated with the candidate query. The total score (959) may refer to a value obtained by applying weights to and adding up each of the vector similarity (951), text similarity (953), meta information consistency (955), and popularity (957).
[0101] In one embodiment, the extended query decision unit (450) may determine at least one of a plurality of candidate queries as the extended query (960). For example, the extended query decision unit (450) may determine 'Nike air max', which is the candidate query with the highest total score (959), as the extended query (960).
[0102] As described above, the extended query decision unit (450) can determine an extended query (960) using multiple candidate queries stored in the candidate query database (490). Accordingly, the time required for determining an extended query for generating shopping search results can be shortened, and the use of computing resources related to determining an extended query can be minimized.
[0103] Additionally, the extended query decision unit (450) can extract queries with a similarity between multiple candidate queries and a shopping search query (910) entered by a user that is greater than a predetermined threshold or a predetermined number of queries with the highest similarity as candidate queries for the extended query. Accordingly, extended queries can be decided for queries without search history / search results, and the corresponding scope of extended query decision can be expanded.
[0104] FIG. 10 is a flowchart illustrating an example of generating shopping search results based on at least one of a shopping search query or an expanded query according to one embodiment of the present disclosure. In one embodiment, the shopping search results may be generated by at least one processor of a shopping search result expansion system (e.g., the shopping search result expansion system (140) of FIG. 1 ).
[0105] According to one embodiment, a shopping search result expansion system may receive a shopping search query from a user terminal (S1010). Then, the shopping search result expansion system may determine the number of products retrieved from the shopping search query (S1020). If the number of products retrieved from the shopping search query exceeds a predetermined number, the shopping search result expansion system may perform a shopping search based on the shopping search query without using the expanded query (S1030).
[0106] On the other hand, if the number of products retrieved from a shopping search query is less than or equal to a predetermined number, the shopping search result expansion system may determine an expansion query based on the shopping search query (S1040). Then, the shopping search result expansion system may perform a shopping search based on the shopping search query and the expansion query (S1050).
[0107] Then, the shopping search result expansion system can generate shopping search results (S1060). In this case, the shopping search result expansion system can arrange for products retrieved from shopping search queries to be displayed preferentially. Finally, the shopping search result expansion system can transmit the generated shopping search results to the user terminal (S1070).
[0108] The flowchart illustrated in FIG. 10 and the description above are merely examples, and some embodiments may implement the process differently. For example, in some embodiments, the order of each step may be changed, some steps may be repeated, some steps may be omitted, or some steps may be added. For example, step S1020 may be performed after step S1040.
[0109] FIG. 11 is a diagram illustrating an example of shopping search results generated based on a shopping search query and an extended query according to one embodiment of the present disclosure. In one embodiment, the shopping search results may include a shopping search query display area (1110), first product search results (1120) retrieved by the shopping search query, and second product search results (1130) retrieved by the extended query.
[0110] In one embodiment, the shopping search query display area (1110) may display a shopping search query entered by a user. For example, if a user enters 'berberry' for a shopping search, the shopping search query entered by the user, 'berberry', may be displayed.
[0111] In one embodiment, the first product search result (1120) may include products retrieved by a shopping search query. For example, products associated with the shopping search query "berberry" entered by the user may be retrieved from a product database and displayed on the display.
[0112] In one embodiment, the second product search results (1130) may include products searched by an extended query. For example, the extended query "burberry" may be determined from the shopping search query "berberry" entered by the user, and products associated with "burberry" may be retrieved from the product database and displayed on the display.
[0113] In one embodiment, the second product search results (1130) may be positioned below the first product search results (1120) so that products retrieved by a shopping search query are preferentially displayed. As illustrated in FIG. 11, products included in the first product search results (1120) may be preferentially displayed, and products included in the second product search results (1130) may be displayed after all or part of the products included in the first product search results (1120) are displayed.
[0114] As described above, products retrieved by an extended query are placed below products retrieved by the user's shopping search query, allowing for preferential delivery of shopping search results for the user's query. This expands the scope of shopping search results while also providing results more tailored to the user's intent.
[0115] FIG. 12 is a flowchart illustrating an example of a method for expanding shopping search results according to one embodiment of the present disclosure. In one embodiment, the method (1200) may be performed by at least one processor of an information processing system (e.g., processor (334)) and / or at least one processor of a user terminal (e.g., processor (314)). The method (1200) may be initiated by receiving a shopping search query from a user terminal (S1210).
[0116] Then, the processor can convert the shopping search query into a first vector using an artificial intelligence model (S1220). In this case, the artificial intelligence model can include an encoder, and the encoder can be trained by a plurality of pairs of learning queries-learning extension queries. In one embodiment, the plurality of pairs of learning queries-learning extension queries include pairs of first queries-second queries entered during one search session, and the text similarity between the first and second queries can be greater than or equal to a predetermined threshold. As another example, the plurality of pairs of learning queries-learning extension queries include pairs of first queries-second queries, and the similarity between clicked products associated with the first query and clicked products associated with the second query can be greater than or equal to a predetermined threshold.
[0117] Then, the processor can determine an extended query based on the first vector (S1230). In one embodiment, the processor can extract multiple candidate queries from the candidate query database based on the first vector, determine the ranking of the multiple candidate queries, and determine the candidate query with the highest ranking as the extended query.
[0118] In one embodiment, the processor may calculate a similarity between a first vector and a second vector, and, based on the similarity, determine a particular candidate query as one of multiple candidate queries. In this case, the second vector may be a transformation of a particular candidate query stored in a candidate query database using an encoder.
[0119] In one embodiment, the candidate queries stored in the candidate query database may include at least one of queries selected based on shopping search logs or queries associated with product metadata. Furthermore, the candidate queries stored in the candidate query database may include keywords extracted from product names using an artificial neural network model. Furthermore, the candidate queries stored in the candidate query database may be free of typos and may contain shopping search results.
[0120] In one embodiment, the processor may calculate a similarity between a first vector and a plurality of candidate vectors, and rank the plurality of candidate queries based on the similarity. In this case, the plurality of candidate vectors may be transformed using an encoder.
[0121] In one embodiment, the processor may calculate text similarity between a shopping search query and a plurality of candidate queries, and rank the plurality of candidate queries based on the text similarity.
[0122] In one embodiment, the processor calculates a degree of consistency between the meta-information of a shopping search query and the meta-information of multiple candidate queries, and ranks the multiple candidate queries based on the degree of consistency. In this case, the meta-information may include at least one of the following: a category of a product associated with the query, a brand of a product associated with the query, or a keyword included in the query.
[0123] In one embodiment, the processor may calculate the popularity of multiple candidate queries and rank the multiple candidate queries based on the popularity. In this case, the processor may calculate the popularity of the multiple candidate queries based on at least one of the search frequency, number of clicks, click-through rate (CTR), or number of clicks on associated products.
[0124] Finally, the processor may generate shopping search results based on at least one of the shopping search query and the extended query (S1240). In one embodiment, the processor may generate shopping search results based on the extended query in response to determining that the number of products searched by the shopping search query is less than or equal to a predetermined number.
[0125] In one embodiment, the processor may generate a first shopping search result based on a shopping search query, generate a second shopping search result based on an extended query, and position the second shopping search result below the first shopping search result.
[0126] The flowchart illustrated in Figure 12 and the description above are merely examples, and some embodiments may be implemented differently. For example, in some embodiments, the order of each step may be changed, some steps may be repeated, some steps may be omitted, or some steps may be added.
[0127] The above-described method may be provided as a computer program stored on a computer-readable recording medium for execution on a computer. The medium may be one that continuously stores a computer-executable program or one that temporarily stores it for execution or download. In addition, the medium may be various recording means or storage means in the form of a single or multiple hardware combinations, and is not limited to a medium directly connected to a computer system, but may also be distributed over a network. Examples of the medium may include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and those configured to store program instructions, including ROM, RAM, and flash memory. In addition, examples of other media may include recording or storage media managed by app stores that distribute applications, sites that supply or distribute various software, servers, etc.
[0128] The methods, operations, or techniques of the present disclosure may be implemented by various means. For example, these techniques may be implemented in hardware, firmware, software, or a combination thereof. Those skilled in the art will appreciate that the various exemplary logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or a combination of both. To clearly illustrate this interchangeability of hardware and software, various exemplary components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software will depend on the particular application and the design requirements imposed on the overall system. Those skilled in the art may implement the described functionality in various ways for each particular application, but such implementations should not be construed as departing from the scope of the present disclosure.
[0129] In a hardware implementation, the processing units used to perform the techniques may be implemented within one or more ASICs, DSPs, digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, a computer, or a combination thereof.
[0130] Accordingly, the various exemplary logical blocks, modules, and circuits described in connection with the present disclosure may be implemented or performed by any combination of a general-purpose processor, a DSP, an ASIC, an FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or those designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
[0131] In a firmware and / or software implementation, the techniques may be implemented as instructions stored on a computer-readable medium, such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, a compact disc (CD), a magnetic or optical data storage device, etc. The instructions may be executable by one or more processors and may cause the processor(s) to perform certain aspects of the functionality described herein.
[0132] When implemented in software, the techniques may be stored on or transmitted as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media, including any medium that facilitates transfer of a computer program from one place to another. Storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer-readable medium.
[0133] For example, if the software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, digital subscriber line, or wireless technologies such as infrared, radio, and microwave are included within the definition of media. Disk and disc, as used herein, includes compact discs, laser discs, optical discs, digital versatile discs (DVDs), floppy disks, and Blu-ray discs, where disks usually reproduce data magnetically, whereas discs reproduce data optically using lasers. Combinations of the above should also be included within the scope of computer-readable media.
[0134] A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium may be coupled to the processor such that the processor can read information from, and write information to, the storage medium. Alternatively, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. Alternatively, the processor and the storage medium may reside as discrete components in the user terminal.
[0135] While the embodiments described above have been described as utilizing aspects of the presently disclosed subject matter in one or more standalone computer systems, the present disclosure is not limited thereto and may be implemented in conjunction with any computing environment, such as a network or distributed computing environment. Furthermore, aspects of the present disclosure may be implemented in multiple processing chips or devices, and storage may be similarly affected across multiple devices. Such devices may include personal computers, network servers, and portable devices.
[0136] While the present disclosure has been described in connection with certain embodiments herein, various modifications and variations may be made without departing from the scope of the present disclosure, which would be apparent to those skilled in the art. Furthermore, such modifications and variations are intended to fall within the scope of the claims appended to this specification.
Claims
1. A method for expanding shopping search results performed by at least one processor, A step of receiving a shopping search query from a user terminal; A step of converting the shopping search query into a first vector using an artificial intelligence model; A step of determining an extended query based on the first vector; and A step of generating a shopping search result based on at least one of the above shopping search query or the above extended query. A method for expanding shopping search results, comprising:
2. In paragraph 1, The above artificial intelligence model includes an encoder, A method for expanding shopping search results, wherein the above encoder is trained by multiple pairs of learning queries-learning expansion queries.
3. In paragraph 2, The above multiple learning query-learning extension query pairs are, Contains a first query-second query pair entered during one search session, A method for expanding shopping search results, wherein the text similarity between the first query and the second query is greater than a predetermined threshold.
4. In paragraph 2, The above multiple learning query-learning extension query pairs are, Contains a pair of first query-second query, A method for expanding shopping search results, wherein the similarity between the clicked product associated with the first query and the clicked product associated with the second query is greater than a predetermined threshold.
5. In paragraph 1, The step of determining the above extended query is: A step of extracting a plurality of candidate queries from a candidate query database based on the first vector; a step of determining the order of the above multiple candidate queries; and Step of determining the highest ranked candidate query by the above extended query A method for expanding shopping search results, comprising:
6. In paragraph 5, The above artificial intelligence model includes an encoder, The step of extracting the above multiple candidate queries is: A step of calculating a similarity between the first vector and the second vector, wherein the second vector is a transformed specific candidate query stored in the candidate query database using the encoder; and A step of determining the specific candidate query as one of the plurality of candidate queries based on the above similarity. How to expand your shopping search results.
7. In paragraph 5, Candidate queries stored in the above candidate query database are: A method for expanding shopping search results, comprising at least one of a query selected based on a shopping search log or a query associated with meta information of a product.
8. In paragraph 5, A method for expanding shopping search results, wherein the candidate queries stored in the above candidate query database include keywords extracted from product names using an artificial neural network model.
9. In paragraph 5, Candidate queries stored in the above candidate query database are: A method for expanding shopping search results, where shopping search results exist without including dropouts 10. In paragraph 5, The above artificial intelligence model includes an encoder, The steps to determine the above ranking are: A step of calculating a similarity between the first vector and a plurality of candidate vectors, wherein the plurality of candidate vectors are obtained by transforming the plurality of candidate queries using the encoder; and A step of determining the ranking of the plurality of candidate queries based on the above similarity. A method for expanding shopping search results, comprising:
11. In paragraph 5, The steps to determine the above ranking are: A step of calculating text similarity between the above shopping search query and the plurality of candidate queries; and A step of determining the ranking of the plurality of candidate queries based on the above text similarity. A method for expanding shopping search results, comprising:
12. In paragraph 5, The step of determining the order of the above multiple candidate queries is: A step of calculating the degree of consistency of meta information between the meta information of the above shopping search query and the meta information of the plurality of candidate queries; and A step of determining the ranking of the plurality of candidate queries based on the above meta information consistency. A method for expanding shopping search results, comprising:
13. In paragraph 12, A method for expanding shopping search results, wherein the above meta information includes at least one of a category of a product related to the query, a brand of a product related to the query, or a keyword included in the query.
14. In paragraph 5, The steps to determine the above ranking are: A step of calculating the popularity of the above multiple candidate queries; and A step of determining the ranking of the plurality of candidate queries based on the above popularity. A method for expanding shopping search results, comprising:
15. In paragraph 14, The steps for calculating the above popularity are: A step of calculating the popularity of the plurality of candidate queries based on at least one of the search frequency, number of clicks, CTR (Click-Through Rate) of the plurality of candidate queries, or number of clicks of related products. A method for expanding shopping search results, comprising:
16. In paragraph 1, The steps for generating the above shopping search results are: A step of generating a shopping search result based on the extended query in response to determining that the number of products searched by the above shopping search query is less than or equal to a predetermined number. A method for expanding shopping search results, comprising:
17. In paragraph 1, The steps for generating the above shopping search results are: A step of generating a first shopping search result based on the above shopping search query; A step of generating a second shopping search result based on the above extended query; and Step of placing the second shopping search results below the first shopping search results A method for expanding shopping search results, comprising:
18. A computer program stored on a computer-readable recording medium for executing a method according to any one of claims 1 to 17 on a computer.
19. As an information processing system, memory; and At least one processor connected to said memory and configured to execute at least one computer-readable program contained in said memory Including, At least one of the above programs, Receive shopping search queries from user terminals, Using an artificial intelligence model, the above shopping search query is converted into a first vector, Determine the extended query based on the first vector above, An information processing system comprising commands for generating shopping search results based on at least one of the shopping search query or the extended query.
Citation Information
Patent Citations
System and Method for Spelling Correction of Misspelled Keyword
KR101483433B1
Charging terminal for detached battery
KR1020230139403A
Sterilizing apparatus for gate
KR102151990B1
Method and system for expanding shopping search results
KR102418953B1
KR20220081398A