Method and system for determining categories for query
The method and system address the challenge of accurately reflecting user intentions in online shopping search results by using a classification model to calculate category probabilities, resulting in improved search result relevance and user experience.
Patent Information
- Application Number
- JP2024165734
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-25
- Filing Date
- 2024-09-25
- Publication Date
- 2025-04-07
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing online shopping systems struggle to accurately reflect user intentions in search results, particularly for queries with fewer input times, due to limitations in calculating product category scores.
A method and system that use a classification model trained on product category distributions and user selection data to calculate category probabilities for queries, ensuring more accurate reflection of user intent in search results.
The solution minimizes the reflection of less relevant product category classifications in search results and provides more accurate product category information, even for queries with less frequently searched words, leading to improved user experience and click-through rates.
Smart Images

Figure 2025054287000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a method and system for determining a category for a query, and more particularly, to a method and system for providing product category information for a search query, calculating a category probability using a classification model trained based on whether a user can select a search result for the query, or a category probability for a product name, and a category occurrence frequency of words, etc. included in the query, and adjusting product search rankings based on the calculated category probability. [Background technology]
[0002] Recently, various services such as shopping, games, movies, and music are provided online in the Internet and mobile environments. In particular, online shopping is used by many users because there is no time restriction for purchasing products and products can be selected and purchased without visiting a product store in person. Due to the convenience of online shopping, the number of users using online shopping is increasing, and the number and types of products sold or handled online are also increasing exponentially.
[0003] Meanwhile, when a user connects to an online shopping system and inputs a query to search for a desired product, product search results including product information related to the query, connection information for a purchasing source, etc. Such online shopping systems simply compare the query with product data in a product database to extract search results, making it difficult to derive product search results that match the user's intent contained in the query.
[0004] To solve this problem, a technology has been developed that uses a classification model based on artificial intelligence to provide search results that reflect the product category intended by the user from the input query. Such a classification model can learn based on the query input by the user and the product information selected by the user from the search results for the query. For example, learning of the classification model can be performed based on search log data.
[0005] Conventional classification models are trained to assign high scores to product categories selected by users among actual search results, so they can correctly reflect the relevance scores of product categories in search results for frequently entered queries. However, they cannot correctly reflect the relevance scores of product categories in search results for queries that are entered infrequently. Therefore, there is a demand for a system that can accurately calculate the relevance scores of product categories and reflect them in search results even for queries that are not frequently entered. [Prior art documents] [Patent documents]
[0006] [Patent Document 1] Korean Patent Publication No. 2015-0101340 Summary of the Invention [Problem to be solved by the invention]
[0007] The present disclosure provides a method for determining a category for a query to solve the above problem, a computer program stored in a computer-readable recording medium, a computer-readable recording medium, and an apparatus (system). [Means for solving the problem]
[0008] The present disclosure can be embodied in numerous ways, including as a method, an apparatus (system), and / or a computer program stored on a computer readable storage medium.
[0009] According to one embodiment of the present disclosure, a method for determining a category for a query, performed by at least one processor, may include obtaining distribution information for each of a plurality of categories of one or more words included in the query, calculating features of the one or more words based on the distribution information for each of the plurality of categories, and calculating information regarding at least one category associated with the query based on the features of the one or more words and the query using a classification model.
[0010] A computer program stored on a computer-readable recording medium may be provided for executing the method for determining a category for a query according to an embodiment of the present disclosure on a computer.
[0011] According to one embodiment of the present disclosure, an information processing system includes a memory and at least one processor coupled to the memory and configured to execute at least one computer-readable program included in the memory, wherein the at least one program may include instructions for obtaining distribution information for each of a plurality of categories of one or more words included in a query, calculating features of the one or more words based on the distribution information for each of the plurality of categories, and calculating information regarding at least one category associated with the query based on the features of the one or more words and the query using a classification model. Effect of the Invention
[0012] According to some embodiments of the present disclosure, a classification model can be trained using a training data set generated based on a product category distribution of query constituent words calculated based on various information related to product searches. By calculating a product category probability related to a query using a classification model trained based on such training data, it is possible to minimize a phenomenon in which a product category classification with low relevance to a query is reflected in a search result, and more accurately calculated product category information can be reflected in a query search result.
[0013] According to some embodiments of the present disclosure, even when a query containing a word with a low search frequency is received, the classification model can more accurately predict product categories associated with the query, thereby providing search results that match the user's intent, thereby improving the user's selectability and click-through rate for product search results provided to the user in response to the query.
[0014] According to some embodiments of the present disclosure, the importance of each word included in a query can be calculated, and each word or its feature vector can be weighted based on the importance of each word. The weighted word features can be input to a classification model, and the classification model can calculate more accurate product category probabilities.
[0015] The effects of the present disclosure are not limited thereto, and other effects not mentioned therein should be clearly understood by a person having ordinary knowledge in the technical field to which the present disclosure pertains (referred to as an "ordinary engineer") from the description in the claims. [Brief description of the drawings]
[0016] BRIEF DESCRIPTION OF THE DRAWINGS Examples of the present disclosure will now be described with reference to the accompanying drawings, in which like reference numerals indicate like elements, but are not limited to the drawings, in which: [Figure 1] FIG. 13 is a diagram illustrating an example of a service that provides product search results based on category classifications determined for a query according to an embodiment of the present disclosure. [Diagram 2] 1 is a schematic diagram showing a configuration in which an information processing system according to an embodiment of the present disclosure and a plurality of user terminals are communicatively connected to each other. [Diagram 3] 2 is a block diagram showing an internal configuration of a user terminal and an information processing system according to an embodiment of the present disclosure. FIG. [Figure 4] 2 is a block diagram showing an internal configuration of a processor of an information processing system according to an embodiment of the present disclosure. FIG. [Diagram 5] 11 is a diagram illustrating an example of a configuration in which a feature calculation unit and a category determination unit according to an embodiment of the present disclosure calculate a category related score from a query. [Figure 6] FIG. 4 is a block diagram showing an internal configuration of a feature calculation unit according to an embodiment of the present disclosure. [Figure 7] FIG. 4 is a block diagram showing an internal configuration of a feature calculation unit according to an embodiment of the present disclosure. [Figure 8] FIG. 1 is a diagram illustrating a procedure for training a classification model according to an embodiment of the present disclosure. [Figure 9] A diagram showing a procedure for generating category probability learning data based on user selection information of product search results corresponding to a query in one embodiment of the present disclosure. [Figure 10] FIG. 13 is a diagram showing a procedure for generating category probability learning data based on product names according to an embodiment of the present disclosure. [Figure 11] FIG. 11 is a diagram showing a procedure for generating word-category occurrence frequency data according to an embodiment of the present disclosure. [Figure 12] FIG. 1 is a diagram illustrating a procedure for training a classification model according to an embodiment of the present disclosure. [Figure 13] 1 is a flowchart illustrating a method for determining a category for a query according to an embodiment of the present disclosure. [Figure 14] 1 is a flowchart illustrating a method for learning a classification model for a query according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0017] Hereinafter, specific contents for carrying out the present disclosure will be described in detail with reference to the accompanying drawings. However, in the following description, detailed descriptions of known functions and configurations will be omitted if there is a risk of unnecessarily obscuring the gist of the present disclosure.
[0018] In the accompanying drawings, the same or corresponding components are given the same reference numerals. In addition, in the following description of the embodiments, duplicated descriptions of the same or corresponding components may be omitted. However, even if the description of a component is omitted, it should not be intended that such a component is not included in a certain embodiment.
[0019] The advantages and features of the disclosed embodiments and the methods of achieving them will become apparent from the following examples, taken in conjunction with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below, and may be embodied in various different forms. However, the embodiments are provided only to complete the disclosure and to allow those skilled in the art to accurately recognize the category of the invention.
[0020] The terms used in this disclosure are briefly explained, and the disclosed embodiments are specifically described. The terms used in this disclosure are selected as currently widely used general terms as much as possible while taking into consideration the functions in this disclosure, but these may change depending on the intentions or precedents of engineers engaged in related fields, the emergence of new technologies, etc. In addition, in certain cases, there may be terms arbitrarily selected by the applicant, but the meanings of these will be described in detail in the description of the invention. Therefore, the terms used in this disclosure should be defined based on the meanings of the terms and the overall content of this disclosure, rather than simply the names of the terms.
[0021] In this disclosure, unless otherwise clearly specified in the context, singular expressions include plural expressions, and plural expressions include singular expressions. Throughout the specification, when a part "comprises" a certain element, this does not exclude other elements, and means that other elements may also be included, unless otherwise specified to the contrary.
[0022] In addition, the term "module" or "unit" as used in the specification means a software or hardware component, and the "module" or "unit" performs a certain function. However, the term "module" or "unit" is not limited to software or hardware. The "module" or "unit" may be configured to be in an addressable storage medium or to execute one or more processors. Thus, by way of example, a "module" or "unit" may include at least one of a software component, an object-oriented software component, a class component, a task component, and a process, a function, an attribute, a procedure, a subroutine, a segment of program code, a driver, firmware, microcode, a circuit, data, a database, a data structure, a table, an array, or a variable. The components and "modules" or "units" may be combined into a smaller number of components and "modules" or "units" or the functions provided therein may be further separated into additional components and "modules" or "units".
[0023] According to an embodiment of the present disclosure, a "module" or a "part" may be embodied with a processor and a memory, and may be embodied with a circuit. Terms such as circuit and circuitry may refer to a hardware circuit, but may also refer to a software circuit. A "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 environments, a "processor" may also refer to an application specific semiconductor (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 configuration. Additionally, a "memory" should be broadly construed to include any electronic component capable of storing electronic information. "Memory" can be RAM (Random Access Memory), ROM (Read Only Memory), NVRAM (Non-Volatile Random Access Memory), PROM (Programmable Read-Only Memory), EPROM (Erasable Programmable Read-Only Memory), EEPROM (Electrically Erasable Programmable A memory can refer to various types of processor-readable media, such as a read-only memory (ROM), flash memory, magnetic or optical data storage devices, registers, etc. A memory is said to be in electronic communication with a processor if the processor can read / write information from the memory or write information to the memory. Memory that is integrated into a processor is in electronic communication with the processor.
[0024] In the present disclosure, a "system" may include at least one of a server device and a cloud device, but is not limited thereto. For example, the system may be composed of one or more server devices. As another example, the system may be composed of one or more cloud devices. As yet another example, the system may be operated by being composed of all of the server device and the cloud device.
[0025] Furthermore, terms such as 1, 2, A, B, (a), (b), etc. used in the following examples are used only to distinguish one component from another, and are not intended to limit the essence, order, or procedure of the components.
[0026] In addition, in the following examples, when a certain component is "coupled," "coupled," or "connected" to another component, it should be understood that although the components may be directly coupled or connected to each other, other components may also be "coupled," "coupled," or "connected" between each component.
[0027] Furthermore, the word "comprise" or "comprising" as used in the following examples does not exclude the presence or addition of one or more other components, steps, operations and / or elements to a referenced component, step, operation and / or element.
[0028] In the present disclosure, "each of a plurality of A's" can refer to each of all of the components included in the plurality of A's, or each of some of the components included in the plurality of A's.
[0029] Before describing the various embodiments of the present disclosure, a description of the terminology used will be provided.
[0030] In the embodiments of the present disclosure, a "query" may include, but is not limited to, text (e.g., a word, phrase, sentence, etc.) that can be entered and searched using a search engine. For example, a query may include text entered through an input UI of a search program such as a web browser, a search application, or a shopping application, or may include text that can be selected by clicking from a query list provided by a search program. In other examples, a query is not limited to text, but may include text or information that can be extracted from multimedia content such as images, videos, sounds, voices, etc.
[0031] In the embodiments of the present disclosure, a "product category" or a "category" may refer to a type, a type, a category, or similar product data determined to classify a product. Product categories are divided into stages such as a major category, a medium category, a medium / small category, and a small category depending on the size of the category to which the product belongs. In addition, a major category of a product category may include one or more medium categories, and a medium category may include one or more small / medium categories or small categories. For example, "fashion", which is a major category of fashion products, may include medium categories such as "men's fashion" and "women's fashion", and among the medium categories, "women's fashion" may include medium / small categories such as "dresses" and "knit / sweaters". It is determined which of the above-mentioned product categories by stage a query for product search is related to, and by searching for products belonging to the product category by stage, a product search result close to the user's intention included in the query can be derived.
[0032] In the embodiments of the present disclosure, a "classification model" may generally refer to a classifier or machine learning model trained to classify unlabeled information based on its relevance to known labeled data. For example, a classification model may be a language model, a support vector machine (SVM), a maximum entropy model, a conditional random field model (CRF) model, or a combination of these. random field model), FFNN (feed-forward neural network), RNN (recurrent neural network), GRU (gated recurrent unit), LSTM (long short-term memory), transformer model, BERT model (bidirectional The model may include any one of a variety of machine learning or artificial neural network models, such as the ensemble of machine learning (ML) or neural network (NN) models (e.g., ensemble of machine learning representations from transformers model).
[0033] In the embodiments of the present disclosure, “embedding” refers to converting a categorical or discrete variable into a continuous vector. Embedding can refer to the technique of converting a categorical variable, such as a query, into a continuous vector. Embedding can be used to reduce the dimensionality of the information and derive meaning from it by converting it into a continuous vector. Also, when a query is represented as a vector in an embedding vector space, vectors that are nearby (spatially close) in the vector space can share similar or related properties. For example, embedding a query into a vector space can be implemented by training an artificial neural network.
[0034] In the embodiments of the present disclosure, "product metadata" may refer to various data related to a product. For example, the product metadata may include at least one of the following: brand, title (or product name), seller information, shopping mall information, product model name, product description information, and product category.
[0035] Various embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings.
[0036] 1 is a diagram illustrating an example of a service that provides product search results 130 based on a category classification result 120 for a query 110 according to an embodiment of the present disclosure. As illustrated in FIG. 1, a query 110 is input to a classification model 100, and a probability or score 120 that the query is associated with each of a plurality of product categories may be calculated. The probability or score 120 thus calculated may be reflected in product search results 130 for the query, and may be output via a display of a user terminal or computer device to which the query 110 is input.
[0037] According to one embodiment, query 110 or one or more words contained in query 110 may be input to classification model 100. Here, classification model 100 may extract input features from query 110 or one or more words contained in query 110. For example, the input features may be features extracted from query 110 or one or more words contained in query 110, and / or distribution information (e.g., occurrence frequency, distribution probability, etc.) regarding each of a plurality of categories of one or more words contained in query 110, or features of one or more words calculated based on such distribution information.
[0038] According to one embodiment, the classification model 100 may be trained based on a training dataset of various product queries, product search results, or category probabilities and distributions of products or query words, such as information on user selectability of product search results for a query (e.g., information on the number of user clicks on product search results for a query), product information (e.g., product names or words contained in product names, etc.), etc. A training method for the classification model 100 will be described below with reference to Figures 8 to 12.
[0039] The classification model 100 trained based on the above-mentioned training dataset may be configured to give a relatively high score to a product category in which one or more words included in the query 110 appear frequently (or have a high frequency of appearance) or have a high probability of appearing. Conversely, the classification model 100 may be configured to give a relatively low score to a product category in which one or more words included in the query 110 appear frequently or have a low probability of appearing. As a result, even if the classification model 100 receives a query including a word with a relatively low search frequency, if the word has a high frequency of appearance / probability of appearance in a specific product category, the classification model 100 may output a product category related score proportional to the frequency of appearance / probability of appearance for the category. As a result, even if a query related to a newly registered product or a query including a word with a low search frequency is received, the classification model 100 may appropriately calculate and output a category related score related to the product. As shown in FIG. 1, when a user enters a query 110 into a search box on a shopping site, the query 110 or input features obtained from the query 110 are input into a classification model 100, which can output an association score 120 for each of a number of product categories.
[0040] In addition, search results 130 for the query can be output to the user terminal, reflecting the relevance scores 120 for each of a plurality of product categories. The search results 130 can include an image or name of the searched product, the product category, and the like.
[0041] FIG. 1 shows that when, for example, "dress" is input as a query 110, a fashion product (dress 1) related to the "women's fashion" category and a game product (game 1) related to the "game title" category are output as search results 130. According to an embodiment, after a plurality of products related to the query are searched from the product database, the product search ranking displayed in the search result area can be adjusted based on the associated score for each of a plurality of product categories output from the classification model 100. FIG. 1 shows that, among various products extracted from the product database, "dress 1" from women's fashion and "game 1" from game titles are preferentially displayed as search results. For example, "dress 1" may be displayed at the top because it has the highest score calculated for the "women's fashion" category, and "game 1" may be displayed at the second highest score calculated for the "game title" category.
[0042] Based on the search results 130, the user can easily and quickly check products included in the product category that is highly relevant to the query 110. In addition, the user can select or click on one of the products as necessary to obtain specific information about the selected product or to make an online purchase.
[0043] Meanwhile, product search results for the query 110 can be obtained from the product database. The product search results can include multiple product data. Here, the product data can include a product image, a product name, a product price, seller information, detailed product information, a link to view product details, and a product category. A product search for a query can be performed by extracting multiple product data that are highly related to the query from the product data stored in the product database. In the product search results extracted in this manner, product data that are highly related to the query 110 can be displayed higher than product data that are less related to the query 110. In addition, the product search ranking of the product search results can be adjusted based on the calculated relevance score of the product category for the query 110. For example, if the query 110 is "one piece" and the relevance score of the "women's fashion" category is the highest, the product search result 130 can display product data belonging to the "women's fashion" category at the top.
[0044] According to one embodiment, the relevance score 120 of a product category may be a predicted probability value that the query 110 is related to a particular product category. In Fig. 1, when the query 110 includes "dress", the relevance score of the "women's fashion" category included in category 1 is "0.9", the relevance score of the "game title" category included in category 2 is "0.4", and the relevance score of the "figure" category included in category 3 is "0.2". In this case, the product data belonging to the "women's fashion" category can be displayed at the top of the search results 130.
[0045] 2 is a schematic diagram illustrating a configuration in which an information processing system 230 and a plurality of user terminals 210_1, 210_2, and 210_3 according to an embodiment of the present disclosure are communicatively connected to each other. As shown in FIG. 2, the plurality of user terminals 210_1, 210_2, and 210_3 can communicate with the information processing system 230 via a network 220. According to an embodiment, the information processing system 230 may be a system for providing a product search service. In order to provide the product search service, the information processing system 230 may be connected to a product database (DB) 240 that stores and manages a learning dataset for training a classification model, a frequency of query words by category, product data provided as product search results, and the like.
[0046] The network 220 can be configured to enable communication between a plurality of user terminals 210_1, 210_2, 210_3 and the information processing system 230. The network 220 can be configured, depending on the installation environment, as a wired network such as Ethernet, PLC (Power Line Communication), telephone line communication device, and RS-serial communication, a mobile communication network, WLAN (Wireless LAN), Wi-Fi, Bluetooth, ZigBee, or a combination thereof. The communication method is not limited, and includes not only a communication method utilizing a communication network (e.g., a mobile communication network, a wired Internet, a wireless Internet, a broadcast network, a satellite network, etc.) that can include the network 220, but also a short-distance wireless communication between the user terminals 210_1, 210_2, 210_3. For example, the network 220 may include one or more of a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), a broadband network (BBN), the Internet, etc. In addition, the network 220 may include a network topology including a bus network, a star network, a ring network, a mesh network, a star-bus network, a tree or hierarchical network, etc. The term "interface topology" may include, but is not limited to, one or more of:
[0047] According to an embodiment, the information processing system 230 may include one or more server devices and / or databases that can store, provide, and execute computer executable programs (e.g., downloadable applications) and data related to the product search service, etc., or one or more distributed computing devices and / or distributed databases based on a cloud computing service. The information processing system 230 may perform pre-training on the classification model. According to an embodiment, the information processing system 230 may train the classification model based on a training dataset on various product queries, product search results, or category distribution of products or query words, such as information on whether a product search result for a query is selectable by a user, and product information (e.g., product names).
[0048] The information processing system 230 may provide a product search service using a search engine, etc. According to an embodiment, the information processing system 230 may access a product database 240 to search for a plurality of products related to a query. Here, the product database 240 may store a plurality of product data. Also, the product database may store a plurality of product metadata. According to some embodiments, a portion of the product data may be set as representative product data. Here, the representative product data may be product data determined to be frequently exposed according to an advertising policy, etc. Also, the information processing system 230 may access a search log database (not shown) including queries input by users and product data selected by users to generate a learning dataset to be used for model learning.
[0049] According to an embodiment, the information processing system 230 may receive a query related to a search from each of the plurality of user terminals 210_1, 210_2, and 210_3. For example, the information processing system 230 may receive a query entered into a search engine of a search site displayed by a web browser, a query entered into a search engine of a search site displayed by a mobile browser application, or a query entered into a search engine of a shopping site that sells products.
[0050] According to an embodiment, the information processing system 230 can apply input features acquired from a query to a classification model to obtain relevance scores of multiple product categories for the query. In an embodiment, the information processing system 230 can include a classification model configured to calculate relevance scores of the product categories. The information processing system 230 can extract product categories that have a high probability (i.e., relevance scores) of being associated with one or more words included in the query from among the multiple product categories, and can search the product database for product data belonging to the product categories. The ranking of the product data thus retrieved can be readjusted based on the relevance scores of the product categories.
[0051] A plurality of user terminals 210_1, 210_2, and 210_3 can communicate with the information processing system 230 via the network 220. The network 220 can be configured to enable communication between the plurality of user terminals 210_1, 210_2, and 210_3 and the information processing system 230. The network 220 can be composed of a wired network such as Ethernet (registered trademark), PLC (Power Line Communication), telephone line communication device, and RS-serial communication, a mobile communication network, a wireless network such as WLAN (Wireless LAN), Wi-Fi (registered trademark), Bluetooth (registered trademark), and ZigBee (registered trademark), or a combination thereof, depending on the installation environment. The communication method is not limited, and can include not only a communication method utilizing a communication network (e.g., a mobile communication network, a wired Internet, a wireless Internet, a broadcast network, a satellite network, etc.) that can include the network 220, but also a short-distance wireless communication between the user terminals 210_1, 210_2, and 210_3.
[0052] According to an embodiment, each of the plurality of user terminals 210_1, 210_2, and 210_3 can transmit a query related to a product search to the information processing system 230, and receive and output query response data including the search results.
[0053] 2, a mobile phone terminal 210_1, a tablet terminal 210_2, and a PC terminal 210_3 are shown as examples of user terminals, but the user terminals 210_1, 210_2, and 210_3 may be any computing device capable of wired and / or wireless communication and capable of installing and executing an application or a web browser, etc. For example, the user terminal may include a smartphone, a mobile phone, a navigation system, a desktop computer, a laptop computer, a digital broadcasting terminal, a PDA (Personal Digital Assistant), 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. Also, while FIG. 2 shows three user terminals 210_1, 210_2, and 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.
[0054] FIG. 3 is a block diagram showing the internal configuration of a user terminal 210 and an information processing system 230 according to an embodiment of the present disclosure. The user terminal 210 may refer to any computing device capable of wired / wireless communication, and may include, for example, a mobile phone or smartphone 210_1, a tablet computer 210_2, a laptop computer, and a desktop computer 210_3 in FIG. 2. As shown in the figure, 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 shown in FIG. 3, the user terminal 210 and the information processing system 230 may be configured to communicate information and / or data via the network 220 using the respective communication modules 316 and 336. In addition, the input / output device 320 may be configured to input information and / or data to the user terminal 210 and output information and / or data generated from the user terminal 210 via the input / output interface 318.
[0055] The memory 312, 332 may include any non-transitory computer-readable storage medium. According to one embodiment, the memory 312, 332 may include a read only memory (ROM), a disk drive, a solid state drive (SSD), or a combination of both. The memory 312, 332 may include a permanent mass storage device such as a ROM, SSD, flash memory, disk drive, etc. As another example, a permanent mass storage device such as a ROM, SSD, flash memory, disk drive, etc. may be included in the user terminal 210 or the information processing system 230 as a permanent storage device separate 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 a product search service, etc.).
[0056] Such software components, etc. may be loaded from a computer-readable recording medium other than the memory 312, 332. Such another computer-readable recording medium may include a recording medium directly connectable to such a user terminal 210 and 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, and a memory card. As another example, the software components, etc. may be loaded into the memory 312, 332 via the communication module 316, 336 instead of 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 product search) that is installed by a file provided via the network 220 by a developer or a file distribution system that distributes an installation file of an application.
[0057] The processor 314, 334 may be configured to process computer program instructions by performing basic arithmetic, logic, and input / output operations. The instructions may be provided to the processor 314, 334 by the memory 312, 332 or the communication module 316, 336. For example, the processor 314, 334 may be configured to execute instructions received by program code stored in a storage device, such as the memory 312, 332.
[0058] The communication modules 316, 336 may provide configurations and functions for the user terminal 210 and the information processing system 230 to communicate with each other via the network 220, and may provide configurations and functions for the user terminal 210 and / or the information processing system 230 to communicate with other user terminals or other systems (e.g., another cloud system, etc.). As an example, a request (e.g., a product search request, etc.) generated by the processor 314 of the user terminal 210 using a program code stored in a recording device such as the 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 by the processor 334 of the information processing system 230 may be received by the user terminal 210 via the communication module 316 of the user terminal 210 via the communication module 336 and the network 220.
[0059] The input / output interface 318 may be a means for interfacing with the input / output devices 320. By way of example, the input devices include devices such as a keyboard, a microphone, a mouse, a camera including an image sensor, and the like, and the output devices include a display, a speaker, a haptic feedback device, and the like. As another example, the input / output interface 318 may include a device such as a touch screen, which is an integrated device having a configuration or function for performing input and output. For example, when the processor 314 of the user terminal 210 processes instructions 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 a display via the input / output interface 318.
[0060] 3, the I / O device 320 is not shown included in the user terminal 210, but is not limited thereto and may be configured integrally with the user terminal 210. Also, the I / O interface 338 of the information processing system 230 may be a means for connecting to the information processing system 230 or for interfacing with a device (not shown) for input or output that may be included in the information processing system 230. In FIG. 3, the I / O interfaces 318, 338 are shown as elements configured separately from the processors 314, 334, but is not limited thereto and may be configured so that the I / O interfaces 318, 338 are included in the processors 314, 334.
[0061] The user terminal 210 and the information processing system 230 may include more components than those shown in FIG. 3. However, it is not necessary to explicitly show most of the conventional components. According to an embodiment, the user terminal 210 may be embodied to include at least a portion of the input / output device 320 described above. The user terminal 210 may further include other components such as a transceiver, a global positioning system (GPS) module, a camera, various sensors, and a database.
[0062] 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, including the user terminal 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. In one embodiment, the processor 334 may execute instructions to receive a query associated with a product search, extract product search results for the query from a product database, input the query or one or more words included in the query into a classification model, and obtain a relevance score for each of a plurality of product categories. Additionally, the processor 334 may execute instructions to adjust a product search ranking of the product search results based on the obtained relevance scores.
[0063] 4 is a block diagram showing an internal configuration of a processor of an information processing system according to an embodiment of the present disclosure. As shown in the figure, the processor 334 of the information processing system can include a learning unit 410, a feature calculation unit 420, a category determination unit 430, and a product search unit 440. The classification model according to the embodiment of the present disclosure can be configured to include the feature calculation unit 420 and the category determination unit 430.
[0064] The training unit 410 can train the classification model to calculate association scores or probabilities for a plurality of categories in response to an input query. According to an embodiment, the training unit 410 can train the classification model based on a training data set including training data on category probabilities based on information on whether a product search result for a query is selected by a user (e.g., query-click information) and / or training data on category probabilities based on product information (e.g., product name). A method in which the training unit 410 trains the classification model will be described below with reference to FIGS. 8 to 12.
[0065] The feature calculation unit 420 can calculate input features from a query. According to an embodiment, the input features can be features extracted from the query or one or more words included in the query, and / or distribution information (e.g., occurrence frequency, distribution probability, etc.) for each of a plurality of categories of one or more words included in the query, or one or more word features calculated based on such distribution information. A method in which the feature calculation unit 420 calculates input features from a query will be described below with reference to FIG. 6 and FIG. 7.
[0066] The category determination unit 430 can calculate relevance scores or probabilities of multiple categories for the query based on the input features calculated from the query by the feature calculation unit 420. The category determination unit 430 can also determine one or more categories related to the query based on the calculated relevance scores or probabilities of the multiple categories. For example, the category determination unit 430 can determine a category having a predetermined number of the highest relevance scores or probabilities as a category related to the query.
[0067] The product search unit 440 can generate product search results for a query based on the relevance scores or probabilities of multiple categories calculated by the category determination unit 430. In one embodiment, the product search unit 440 can obtain product search results corresponding to a query from a product database. The product search results can include multiple product data. The product search unit 440 can generate product search results by extracting multiple product data that are highly relevant to the query from the product data stored in the product database. In the product search results generated in this manner, product data that are highly relevant to the query can be displayed higher than product data that are less relevant to the query. In addition, the product search unit 440 can adjust the product search ranking of the product search results based on the relevance scores of the product categories for the query calculated by the category determination unit 430.
[0068] 5 is a diagram illustrating an example of a configuration in which a classification model including a feature calculation unit and a category determination unit according to an embodiment of the present disclosure calculates a category-related score from a query. The feature calculation unit 520 and the category determination unit 530 may correspond to the feature calculation unit 420 and the category determination unit 430 included in the processor 334 of the information processing system illustrated in FIG. 4. The classification model 500 including the feature calculation unit 520 and the category determination unit 530 may be generated and stored by the learning unit 410 of the processor 334.
[0069] The feature calculation unit 520 may obtain input features from the query 510. The feature calculation unit 520 may obtain input features based on the query 510 and input the input features to the category determination unit 530. In one embodiment, the input features may include features of the query 510 or one or more words included in the query 510. For example, the query or word features may be a query embedding vector extracted from the query or one or more words included in the query by a language model. Additionally, the input features may be a result of reflecting the importance of each query word in a query word feature extracted based on the category frequency of one or more words (or query words) included in the query 510. For example, the importance of each query word may be a feature vector calculated by inputting the query embedding vector and the query word feature extracted by the language model to an attention model based on a decoder-encoder architecture.
[0070] The category determination unit 530 inputs the input features calculated by the feature calculation unit 520 to a category model 532, and calculates and outputs relevance scores 542, 552, 562, and 572 for a plurality of product categories 540, 550, 560, and 570. The category model 532 may be a deep learning model configured to output high relevance scores for product categories associated with a word having a high importance among one or more words included in the query 510.
[0071] FIG. 6 is a block diagram showing an internal configuration of a feature calculation unit according to an embodiment of the present disclosure. As shown in the figure, when a query including one or more words (word_1, word_2, ..., word_n) is input, the feature calculation unit 600 can extract the category-specific frequency of the query words (word_1, word_2, ..., word_n). In one embodiment, the feature calculation unit 600 can extract the category-specific frequency of the query words (word_1, word_2, ..., word_n) stored in the product database 610. Here, the product database 610 can extract and store frequency or distribution information of each of the query words appearing in multiple categories based on, for example, the product name included in the product data or product metadata and the corresponding product category information. In another embodiment, the feature calculation unit 600 can extract the category-specific frequency for each of the words that are a combination of two or more of the query words (word_1, word_2, ..., word_n). In this case, the product database 610 can extract and store frequency or distribution information of each of the query words, which are combinations of two or more words, appearing in multiple categories, based on, for example, the product names included in the product data or product metadata and the corresponding product category information.
[0072] Furthermore, the feature calculation unit 600 can use the mapping model 620 to calculate a query word feature 622 based on the category frequency of the query word extracted from the product database 610. In one embodiment, the mapping model 620 can determine m words (e.g., m=4) that have the lowest frequency values among the category frequencies of the query word. Furthermore, the mapping model 620 can calculate an output vector by reducing the degree of a vector indicating the category frequency values of the determined m words as the query word feature 622.
[0073] Meanwhile, the feature calculation unit 600 may input the query to a language model 630 (e.g., a BERT model) to calculate a query embedding vector 632. The feature calculation unit 600 may input the query word feature 622 as a key value to an attention model 640 and input the query embedding vector 632 as a query to calculate a query word importance 642. The query word importance 642 may be weighted and added to the query word feature 622. The query word feature 622 weighted and added by the query word importance 642 may be concatenated to the query embedding vector 632 and provided to a category determination unit or a category model.
[0074] FIG. 7 is a block diagram showing an internal configuration of a feature calculation unit according to an embodiment of the present disclosure. As shown in the figure, when a query including one or more words (word_1, word_2, ..., word_n) is input, the feature calculation unit 700 can extract the category-specific frequency of the query words (word_1, word_2, ..., word_n). In one embodiment, the feature calculation unit 700 can extract the category-specific frequency of the query words (word_1, word_2, ..., word_n) stored in the product database 710. Here, the product database 710 can extract and store frequency or distribution information of each of the query words appearing in multiple categories based on, for example, the product name included in the product data or product metadata and the corresponding product category information. In another embodiment, the feature calculation unit 700 can also extract the category-specific frequency for each word that is a combination of two or more of the query words (word_1, word_2, ..., word_n).
[0075] Furthermore, the feature calculation unit 700 can use the first mapping model 720 to calculate a query word feature 722 based on the frequency of the query word by category extracted from the product database 710. In one embodiment, the first mapping model 720 can calculate a vector indicating the average value of the frequency of the query word by category. Furthermore, the feature calculation unit 700 can use the second mapping model 740 to calculate an output vector obtained by reducing the degree of the vector indicating the average value of the frequency of the query word by category as the query word feature 742.
[0076] Meanwhile, the feature calculator 700 may input the query to a language model 730 (e.g., a BERT model) to calculate a query embedding vector 732. The query word features 742 may be concatenated with the query embedding vector 732 and provided to a category determiner or a category model.
[0077] Fig. 8 is a diagram showing a procedure for training a classification model according to an embodiment of the present disclosure. The classification model 100 may correspond to the feature calculation units 420, 520, 600, 700 and the category determination units 430, 530 described with reference to Figs. 4 to 7. The classification model 100 may be trained based on a training dataset related to various product queries, product search results, or category probabilities and distributions of products or query words, such as information related to whether a product search result for a query is selectable by a user (e.g., query-click information) and product information (e.g., product name).
[0078] According to an embodiment, the classification model 100 can be trained based on the query-click based category probability training data 810 and the product name based category probability training data 820. Here, the query-click based category probability training data 810 can be extracted from a search log (e.g., exposure / click information) for a product query. Also, the product name based category probability training data 820 can be extracted from product category information corresponding to a plurality of product names stored in a product database. A method for extracting or generating the training data 810, 820 will be described later with reference to FIGS. 9 and 10.
[0079] In addition, the classification model 100 can use the word-specific category occurrence frequency 830 in the process of learning based on the query-click-based category probability learning data 810 and the product name-based category probability learning data 820. In one embodiment, in the process of learning the classification model 100 based on the learning data 810, 820, a query word-specific feature can be extracted based on the word-specific category occurrence frequency 830. For example, a method identical to or similar to the method in which the feature calculation units 600, 700 described with reference to Figures 6 and 7 extract query word-specific features based on the word-specific category occurrence frequency can be applied to the learning process of the classification model 100.
[0080] As described above, in the process of learning the classification model 100 using the learning data 810 and 820, the classification model 100 can be configured to assign a relatively high score to a product category in which one or more words included in a query have a high frequency of appearance (or occurrence frequency) or a high probability of appearance by using the query word-specific features extracted based on the word-specific category occurrence frequency 830. As a result, even if the classification model 100 receives a query including a word with a relatively low search frequency, if the occurrence frequency / occurrence probability of the word in a specific product category is high, the classification model 100 can output a product category related score proportional to the occurrence frequency / occurrence probability for the category. As a result, even if a query related to a newly registered product or a query including a word with a low search frequency is received, the classification model 100 can appropriately calculate and output a category related score related to the product.
[0081] 9 is a diagram showing a procedure for generating category probability learning data based on user selection information of product search results corresponding to a query according to an embodiment of the present disclosure. As shown in the figure, category probability learning data 920 based on query-clicks can be extracted from search log exposure / click information 910. That is, category probability learning data 920 based on query-clicks can be generated based on whether or not a user has selected (e.g., clicked) a product search result for a product query, or the number of times the user has selected (e.g., clicked) a product search result.
[0082] In one embodiment, the search log exposure / click information 910 may be analyzed from a database storing product search records to determine whether or not a user selected (e.g., clicked) a product search result for a product query, or the number of times such a selection was made. For example, if the search log exposure / click information 910 is analyzed to determine that a user clicked nine times on the product "Dress 1" and one time on the product "Game 1" among the product search results for a query, then category probability values of 0.9 and 0.1 may be generated for the categories to which the product belongs, "Fashion > Women's Fashion > Dresses" and "Digital / Home Appliances > Game Consoles / Titles > Game Titles," in proportion to the number of user clicks on each product. The category probability values thus generated are stored in the category probability learning data 920 based on query-clicks, and can be used to learn a classification model (e.g., the classification model 100 of FIG. 8).
[0083] 10 is a diagram showing a procedure for generating category probability training data based on product names according to an embodiment of the present disclosure. As shown in the figure, product name-based category probability training data 1020 can be extracted from a product database 1010. That is, product name-based category probability training data 1020 can be generated based on the frequency with which each of multiple product names appears in multiple categories.
[0084] In one embodiment, the product database 1010 can be analyzed to determine the number of times or probability that each product name belongs to or appears in each category. For example, the product database 1010 can be analyzed to determine that the product name "N Sneakers" appears twice in the "Fashion Accessories > Men's Shoes > Sneakers" category, once in the "Fashion Accessories > Women's Shoes > Sneakers" category, and once in the "Childcare > Accessories > Shoes" category. In this case, the category probability values can be calculated as 0.5, 0.25, and 0.25 based on the number of times the product appears in the three categories. The category probability values calculated in this way are stored in the product name-based category probability training data 1020 and can be used to train a classification model (e.g., the classification model 100 of FIG. 8).
[0085] 11 is a diagram showing a procedure for generating word-specific category occurrence frequency data according to an embodiment of the present disclosure. As shown in the figure, word-specific category occurrence frequency data 1120 can be extracted from a product database 1110. That is, word-specific category occurrence frequency data 1120 can be generated based on the frequency with which each of a plurality of words included in a plurality of product names appears in a plurality of categories.
[0086] In one embodiment, the product database 1110 may be analyzed to determine the number of times each of the multiple words included in the product name belongs to or appears in each category. For example, the product database 1110 may be analyzed to determine that the product name "T brand V-neck knit" appears in the "Women's fashion > Knit" category, the product names "T brand knit dress" and "N brand navy dress" appear in the "Women's fashion > Dress" category, and the product name "knit lint cleaner" appears in the "Digital / Home appliances" category. In this case, a category frequency value may be calculated based on the number of times each of the multiple words included in the multiple product names, "T brand," "V-neck," "knit," "dress," and "navy," appears in each of the three categories. The category frequency values calculated in this manner are stored in the word-specific category frequency data 1120 and can be used to extract input features for a query in the learning process of a classification model (e.g., the classification model 100 of FIG. 8). The word-specific category frequency values may also be used to extract input features for a query via a feature calculation unit (e.g., the feature calculation unit 520 of FIG. 5).
[0087] 11 shows a process of calculating the category occurrence frequency for each of the multiple words included in the multiple product names, but the process is not limited thereto. For example, it is also possible to calculate the category occurrence frequency for each of the words that are a combination of two or more of the one or more words included in the multiple product names. For example, based on the occurrence frequency information of the word-specific category occurrence frequency data 1120, it is possible to further calculate the occurrence frequency for each of the multiple categories for "T brand V-neck", which is a combination of "T brand" and "V-neck".
[0088] Fig. 12 is a diagram showing a procedure for training a classification model according to an embodiment of the present disclosure. The classification models 1220 and 1240 may correspond to the feature calculation units 420, 520, 600, and 70 and the category determination units 430 and 530 described with reference to Figs. 4 to 7. The classification models 1220 and 1240 may be trained based on information regarding whether a product search result for a query is selectable by a user (e.g., query-click information) and a training data set regarding category probability or distribution of product information (e.g., product name).
[0089] According to an embodiment, the first classification model 1220 can be trained based on product name-based category probability training data 1210. Here, the product name-based category probability training data 1210 can be extracted from product category information corresponding to multiple product names stored in a product database. For example, the training data 1210 can be extracted using the method shown in FIG.
[0090] Additionally, the first classification model 1220 is retrained based on the query-click based category probability training data 1230 and updated to the second classification model 1240. Here, the query-click based category probability training data 1230 can be extracted from search logs (e.g., exposure / click information) for the product query. For example, the training data 1230 can be extracted using the method shown in FIG. 9.
[0091] As described above, the classification model 1240 trained using not only the training data 1210 but also the training data 1230 can be configured to give a relatively high score to a product category in which one or more words included in a query or product names including the words appear more frequently (or the frequency of appearance) or more likely to appear. As a result, even if the classification model 1240 receives a query including a word or product name with a relatively low search frequency, if the frequency of appearance / probability of appearance of the word or product name in a specific product category is high, the classification model 1240 can output a product category related score proportional to the frequency of appearance / probability of appearance for the category. As a result, even if a query related to a newly registered product or a query including a word or product name with a low search frequency is received, the classification model 1240 can appropriately calculate and output a category related score related to the product.
[0092] 13 is a flowchart illustrating a method for determining a category for a query according to an embodiment of the present disclosure. According to an embodiment, the method for determining a category for a query 1300 can be executed by a processor of an information processing system (e.g., the processor 334 of FIG. 4). The method for determining a category for a query 1300 starts with a step of obtaining distribution information for each of a plurality of categories of one or more words included in the query (S1310).
[0093] In one embodiment, the step of obtaining distribution information for each of a plurality of categories of one or more words included in the query (S1310) may include a step of obtaining probability information calculated based on the frequency of occurrence of one or more words in each of a plurality of categories within a plurality of product data.
[0094] In another embodiment, the step of obtaining distribution information for each of a plurality of categories of one or more words included in the query (S1310) may include a step of calculating distribution information for each of a plurality of categories of one or more words, or for each of a combination of two or more of the one or more words. In this case, when calculating features of the one or more words based on the distribution information for each of the plurality of categories, the features of the one or more words may be calculated based on the distribution information for each of a plurality of categories of one or more words, or for each of a combination of two or more of the one or more words.
[0095] The method 1300 may further include calculating (S1320) one or more features of the word based on the distribution information for each of the multiple categories.
[0096] In one embodiment, the step of calculating the features of the one or more words (S1320) may include a step of calculating the importance of the one or more words based on the distribution information for each of the multiple categories and the features of the query, and a step of calculating the features of the one or more words by weighting and applying the importance to the distribution information for each of the multiple categories. The step of calculating the importance of the one or more words may also include a step of calculating the features of each of the one or more words based on the distribution information for each of the multiple categories, a step of calculating the features of the query by a language model, and a step of calculating the importance of the one or more words based on the features of each of the one or more words and the features of the query by an attention model.
[0097] In another embodiment, the step of calculating the features of the one or more words (S1320) may include the steps of: selecting a predetermined number of words from the one or more words based on the number of categories in which each of the one or more words appears in the multiple product data; calculating an importance for each of the selected words based on distribution information for each of the multiple categories of the selected words and the features of the query; and calculating the features of the selected words by weighting and applying the importance to the distribution information for each of the multiple categories.
[0098] In still another embodiment, the step of calculating the characteristics of the one or more words (S1320) may include a step of calculating an average value of category occurrence frequencies associated with each of the one or more words based on a frequency at which the one or more words appear in each of a plurality of categories within the plurality of product data, and a step of obtaining the characteristics of the one or more words based on the calculated average value.
[0099] The method 1300 may further include calculating (S1330) information about at least one category associated with the query based on the one or more word features and the query using the classification model. Additionally, the method 1300 may further include adjusting ranking information of product search results for the query based on the calculated information about the at least one category.
[0100] 14 is a flowchart illustrating a method for training a classification model for a query according to an embodiment of the present disclosure. According to an embodiment, the method 1400 for training a classification model for a query can be executed by a processor (e.g., the processor 334 in FIG. 4) of an information processing system. The method 1400 for training a classification model for a query starts with a step (S1410) of training a classification model for performing category classification for a query based on first training data including category probabilities based on product names. Here, the first training data can be generated based on the probability that each of a plurality of product names is included in product meta information associated with a plurality of categories.
[0101] The method 1400 may further include training the classification model based on second training data including category probabilities based on a user selection of search results for the query (S1420), where the second training data may be generated based on category probabilities of products selected by the user among the search results for the plurality of queries.
[0102] The above steps (S1410, S1420) may be performed simultaneously or sequentially. In one embodiment, the classification model may be trained using the first training data and the second training data simultaneously. In another embodiment, the classification model may be trained using the first training data and then re-trained using the second training data.
[0103] Also, the classification model can use the frequency of occurrence of each word category in the process of being trained based on the first training data and the second training data. That is, the classification model can extract features for each query word based on the frequency of occurrence of each word category in the process of being trained based on the first and second training data. In one embodiment, at least one of step (S1410) or step (S1420) can include the steps of: acquiring distribution information for each of a plurality of categories of one or more words included in the query; calculating features of one or more words based on the distribution information for each of the plurality of categories; and calculating a probability for at least one category associated with the query by the classification model based on the features of the one or more words and the query.
[0104] The above-mentioned method may be provided as a computer program stored in a computer-readable recording medium for execution by a computer. The medium may be a medium for continuously storing a computer-executable program or a medium for temporarily storing the program for execution or download. The medium may be various recording means or storage means in the form of a single or multiple hardware components combined, and may be distributed over a network without being limited to a medium directly connected to a computer system. Examples of the medium 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 ROMs, RAMs, flash memories, etc., configured to store program instructions. Other examples of the medium include recording media or storage media managed by app stores that distribute applications, or sites, servers, etc. that supply or distribute various other software.
[0105] The disclosed methods, operations, or techniques can be embodied in a variety of ways. For example, such techniques can be embodied in hardware, firmware, software, or a combination thereof. Those skilled in the art will appreciate that the various exemplary logic blocks, modules, circuits, and algorithm steps described in the present disclosure can be embodied in electronic hardware, computer software, or a combination of both. To clearly illustrate such interchangeability between hardware and software, the various exemplary components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is embodied as hardware or software will vary depending on the particular application and design requirements imposed on the overall system. Those skilled in the art may also embody the described functionality in various ways for each particular application, but such embodying should not be interpreted as departing from the scope of the present disclosure.
[0106] In a hardware implementation, the processing units used to perform the techniques may be embodied within one or more ASICs, DSPs, digital signal processing devices (DSPD), programmable logic devices (PLD), field programmable gate arrays (FPGA), processors, controllers, microcontrollers, microprocessors, electronic devices, other electronic units designed to perform the functions described in this disclosure, computers, or any combination thereof.
[0107] Thus, the various example logic blocks, modules and circuits described in this disclosure may be embodied or performed by any combination of general purpose processors, DSPs, ASICs, FPGAs or other programmable logic devices, discrete gate and transistor logic, discrete hardware components, or any combination designed to perform the functions described herein. A general purpose processor may be a microprocessor, but alternatively, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be embodied by a combination of computing devices, such as a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other configuration.
[0108] In a firmware and / or software implementation, the techniques may include random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable read-only memory (EPROM), and the like. programmable read-only memory), EEPROM (electrically erasable programmable read-only memory, flash memory, CD (compact The instructions may be embodied as instructions stored on a computer-readable medium, such as a disc, magnetic or optical data storage device, etc. The instructions may be executable by one or more processors to cause the processors to perform certain aspects of the functions described in this disclosure.
[0109] If embodied as software, the techniques can be stored on or transferred via a computer-readable medium as one or more instructions or code. A computer-readable medium includes any medium that facilitates transfer of a computer program from one place to another, and includes both computer storage media and communication media. A storage medium can be any available medium that can be accessed by a computer. By way of non-limiting example, 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 transport or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Additionally, any connection can be properly termed a computer-readable medium.
[0110] For example, if the software is transferred from a website, server, or other remote source using coaxial cable, fiber optic cable, lead wire, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, lead wire, digital subscriber line, or wireless technologies such as infrared, radio, and microwave are included within the definition of medium. As used herein, disk and disc include CDs, laser discs, optical discs, digital versatile discs (DVDs), floppy disks, and Blu-ray discs, where disks typically reproduce data magnetically while discs reproduce data optically using lasers. Combinations of the above should also be included within the scope of computer-readable media, etc.
[0111] A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, 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 reads information from, and writes information to, the storage medium. In the alternative, 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. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
[0112] Although the embodiments described above are described as utilizing aspects of the presently disclosed subject matter on one or more stand-alone computer systems, the present disclosure is not limited thereto and may be embodied in any computing environment, such as a network or distributed computing environment. Moreover, aspects of the subject matter in the present disclosure may be embodied in multiple processing chips or devices, and storage may be shared across multiple devices. Such devices may include PCs, network servers, and handheld devices.
[0113] Although the present disclosure has been described in the present specification by way of some embodiments, various modifications and alterations can be made within the scope of the present disclosure that can be understood by those skilled in the art to which the present disclosure pertains. In addition, such modifications and alterations should be understood to fall within the scope of the claims attached hereto. [Explanation of symbols]
[0114] 100 Classification Models 110 Queries 120 Related Items in Product Categories 130 product search results
Claims
1. 1. A method for determining a category for a query, the method being performed by at least one processor, comprising: obtaining distribution information for each of a plurality of categories of one or more words included in the query; calculating features of the one or more words based on distribution information for each of the plurality of categories; and calculating, using a classification model, information regarding at least one category associated with the query based on features of the one or more words and the query.
2. The category determination method of claim 1 , wherein the step of obtaining distribution information regarding each of the plurality of categories of one or more words included in the query includes a step of obtaining probability information calculated based on the frequency of occurrence of the one or more words in each of the plurality of categories within a plurality of product data.
3. The step of calculating the features of the one or more words includes: calculating an importance of the one or more words based on distribution information for each of the plurality of categories and the features of the query; The method of claim 1 , further comprising the step of: calculating features of the one or more words by weighting and applying the importance to distribution information regarding each of the plurality of categories.
4. The step of calculating the importance of one or more words includes: calculating a feature for each of the one or more words based on distribution information for each of the plurality of categories; calculating features of the query using a language model; The method of claim 3 , further comprising: calculating an importance of the one or more words based on features of each of the one or more words and features of the query using an attention model.
5. The step of calculating the features of the one or more words includes: selecting a predetermined number of words from the one or more words based on a number of categories in which each of the one or more words appears in a plurality of product data; calculating an importance for each of the selected words based on distribution information for each of the categories of the selected words and features of the query; The method of claim 1 , further comprising the step of: calculating a feature of the selected word by weighting and applying the importance to distribution information for each of the plurality of categories.
6. The step of calculating the features of the one or more words includes: calculating an average value of category occurrence frequency associated with each of the one or more words based on a frequency with which the one or more words appear in each of the plurality of categories in a plurality of product data; and obtaining features of the one or more words based on the calculated average value.
7. The step of acquiring distribution information for each of a plurality of categories of one or more words included in the query includes a step of calculating distribution information for each of the plurality of categories of each of the one or more words or each combination of two or more of the one or more words; 2. The category determination method according to claim 1, wherein the step of calculating the characteristics of the one or more words includes a step of calculating the characteristics of the one or more words based on distribution information regarding each of the multiple categories of each of the one or more words or each of a combination of two or more of the one or more words.
8. The method of claim 1 , further comprising adjusting ranking information of product search results for the query based on the calculated probability for at least one category.
9. 1. A method for training a classification model for a query, the method being performed by at least one processor, comprising: training a classification model for performing category classification on a query based on first training data including category probabilities based on product names; training the classification model based on second training data including category probabilities based on user selections of search results for a query.
10. The step of training a classification model to perform category classification on a query includes: obtaining distribution information for each of a plurality of categories of one or more words included in the query; calculating features of the one or more words based on distribution information for each of the plurality of categories; and calculating, by the classification model, a probability for at least one category associated with the query based on features of the one or more words and the query.
11. The classification model training method according to claim 9 , wherein the first training data is generated based on a probability that each of a plurality of product names is included in product meta information associated with a plurality of categories.
12. The classification model training method according to claim 9 , wherein the second training data is generated based on category probabilities of products selected by a user from among search results for a plurality of queries.
13. A computer program stored on a computer readable recording medium for executing the method according to any one of claims 1 to 12 on a computer.
14. An information processing system, Memory, at least one processor coupled to the memory and configured to execute at least one computer readable program contained in the memory; The at least one program comprises: Obtaining distribution information for each of a plurality of categories of one or more words included in the query; calculating features of the one or more words based on distribution information for each of the plurality of categories; An information processing system comprising instructions for calculating, using a classification model, information regarding at least one category associated with the query based on features of the one or more words and the query.
Citation Information
Patent Citations
Document classification method, document classification program and document classification device
JP2014056331A
Method for extracting category of item for shopping search
JP2021179980A
Query classification
US20100293174A1
KR2015-0101340