Electronic device and similar product recommendation method using electronic device

The electronic device uses an object embedding model and machine learning to address the limitations of existing recommendation technologies by accurately recommending products based on user behavior and feature analysis, ensuring personalized matches.

WO2026127266A1PCT designated stage Publication Date: 2026-06-18SAMSUNG ELECTRONICS CO LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
SAMSUNG ELECTRONICS CO LTD
Filing Date
2025-08-19
Publication Date
2026-06-18

Smart Images

  • Figure KR2025012571_18062026_PF_FP_ABST
    Figure KR2025012571_18062026_PF_FP_ABST
Patent Text Reader

Abstract

This electronic device may comprise: a memory for storing instructions and including one or more storage media; and at least one processor including processing circuitry. The instructions, when executed individually or collectively by the at least one processor, may control the electronic device to: receive, from an external server, attribute information about a plurality of products including a first product and a second product; convert the received attribute information into features; select, from among the converted features, one or more features to be used for training a machine-learning model and for prediction, and calculate an inter-product distance for the selected features; determine an inter-product similarity on the basis of the inter-product distance of the selected features; calculate, on the basis of the inter-product similarity, a probability that a user input for the second product can be detected together in the same session when a user input for the first product is detected; train the machine-learning model by using a feature corresponding to the received attribute information, the inter-product similarity, and the probability that the second product can be recommended together; and by using the trained machine-learning model, generate an item for each product having a similarity exceeding a designated level.
Need to check novelty before this filing date? Find Prior Art

Description

Electronic devices and methods for recommending similar products using electronic devices

[0001] This document relates to an electronic device and a method for recommending similar products using the electronic device. More specifically, it relates to a method for recommending similar objects by analyzing feature information of objects provided by various internet services and user behavior patterns, and to an electronic device for performing this.

[0002] As e-commerce (e.g., internet services) such as online shopping malls and social commerce grows, users can search for products they wish to purchase through an online search environment, and it has become very frequent for users to purchase the searched products online.

[0003] Typically, when searching for a specific product on an online network, an electronic device can determine a search term by combining at least one of a word, a character, and a number that designates a specific product, and can search for at least one product related to the search term based on a program and application related to the search.

[0004] The information described above may be provided as related art for the purpose of aiding understanding of the present disclosure. No claim or determination is made as to whether any of the foregoing may be applied as prior art related to the present disclosure.

[0005] Internet services provide a wide variety of objects, including videos, images, text, products, and customer information. Each of these objects possesses unique attributes, and it is important to group and classify objects with similar attributes. For example, in an online shopping mall, it is convenient to classify similar products together and display them to the user.

[0006] With the growth of the e-commerce market, the importance of technology that recommends suitable products to users is increasing. Existing similarity recommendation technologies primarily measure similarity based on product metadata (price, color, size, etc.). However, this method has limitations, such as the restricted types and quantities of metadata, and the difficulty in reflecting users' situations or preferences.

[0007] Typically, when searching for a specific product on an online network, users can search for the item they wish to purchase through a dedicated application program for purchasing goods (e.g., products) or a search engine. For instance, if a user uses a generic name for the product they wish to purchase (e.g., a word referring to a product group, computer, refrigerator, washing machine, air conditioner, TV) as a search term, multiple products based on that generic name may be found. However, because the number and variety of products provided in the search results are diverse, it may be difficult for the user to appropriately select the product they actually want.

[0008] Generally, in the process of searching for a specific product, the electronic device detects multiple products determined to be similar to the specific product based on input characters, numbers, and symbols, and can output the detected multiple products as results. The electronic device can perform a search operation using detailed information included in the specific product (e.g., metadata), or it can perform a search operation based on input search terms (e.g., characters, numbers, symbols).

[0009] If an electronic device does not perform search operations based on specific information about the product desired by the user (e.g., stock information, model information, option information), it may be difficult to provide similar or recommended products tailored to the user's intent. For instance, individual products within the same product family may have different classification systems, and the storage formats of identification information (e.g., classification code information) and attribute information may also differ. Consequently, it is difficult for the electronic device to classify individual products within the same product family, and it may be challenging to select and provide similar or recommended products to the user in accordance with their intent.

[0010] The electronic device may include a memory that stores instructions and includes one or more storage media, and at least one processor that includes processing circuitry. The instructions, when executed individually or collectively by at least one processor, allow the electronic device to receive attribute information of a plurality of products including a first product and a second product from an external server, convert the received attribute information by feature, select one or more features among the converted features to be used for training and prediction of a machine learning model, calculate the distance between products for the corresponding features, determine the similarity between products based on the distance between products of the selected features, calculate the probability that a user input for the second product may be detected together in the same session when a user input for the first product is detected based on the similarity between products, train a machine learning model using the features corresponding to the received attribute information, the similarity between products, and the probability that the second product may be recommended together, and control the creation of items for products whose similarity exceeds a specified level for each product using the trained machine learning model.

[0011] The electronic device according to this document can accurately measure similarity by utilizing various types of object information. The electronic device can recommend personalized similar products by analyzing the user's behavioral patterns.

[0012] The electronic device according to this document can recommend accurate similar products even when metadata is insufficient or incomplete. By using an object embedding model, the electronic device can identify second products (e.g., similar products, recommended products) more quickly and provide the second products desired by the user more efficiently.

[0013] In relation to the description of the drawings, the same or similar reference numerals may be used for identical or similar components.

[0014] FIG. 1 is a block diagram of an electronic device in a network environment according to various embodiments.

[0015] FIG. 2 is an exemplary diagram illustrating a method for recommending similar products related to a specific product according to one embodiment of the present disclosure.

[0016] FIG. 3 is a block diagram of an electronic device according to one embodiment of the present disclosure.

[0017] FIG. 4 is a block diagram illustrating the process of an electronic device according to one embodiment recommending a similar product.

[0018] FIG. 5 is a flowchart illustrating a method for recommending similar products of an electronic device according to one embodiment.

[0019] FIG. 6 illustrates a user interface in which an electronic device according to one embodiment recommends similar products.

[0020] FIG. 7 is a flowchart illustrating a method for recommending similar products of an electronic device according to one embodiment.

[0021] Hereinafter, embodiments of the present disclosure are described in detail with reference to the drawings so that those skilled in the art can easily practice them. However, the present disclosure may be embodied in various different forms and is not limited to the embodiments described herein. In relation to the description of the drawings, the same or similar reference numerals may be used for identical or similar components. Furthermore, in the drawings and related descriptions, descriptions of well-known functions and configurations may be omitted for clarity and brevity.

[0022] FIG. 1 is a block diagram of an electronic device (101) in a network environment (100) according to various embodiments. Referring to FIG. 1, in the network environment (100), the electronic device (101) may communicate with an electronic device (102) through a first network (198) (e.g., a short-range wireless communication network) or may communicate with at least one of an electronic device (104) or a server (108) through a second network (199) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (101) may communicate with the electronic device (104) through a server (108). According to one embodiment, the electronic device (101) may include a processor (120), memory (130), input module (150), sound output module (155), display module (160), audio module (170), sensor module (176), interface (177), connection terminal (178), haptic module (179), camera module (180), power management module (188), battery (189), communication module (190), subscriber identification module (196), or antenna module (197). In some embodiments, at least one of these components (e.g., connection terminal (178)) may be omitted from the electronic device (101), or one or more other components may be added. In some embodiments, some of these components (e.g., sensor module (176), camera module (180), or antenna module (197)) may be integrated into a single component (e.g., display module (160)).

[0023] The processor (120) can control at least one other component (e.g., hardware or software component) of the electronic device (101) connected to the processor (120) by executing software (e.g., program (140)), for example, and can perform various data processing or operations. According to one embodiment, as at least part of the data processing or operations, the processor (120) can store commands or data received from other components (e.g., sensor module (176) or communication module (190)) in volatile memory (132), process the commands or data stored in volatile memory (132), and store the resulting data in non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., central processing unit or application processor) or an auxiliary processor (123) that can operate independently or together with it (e.g., graphics processing unit, neural processing unit (NPU), image signal processor, sensor hub processor, or communication processor). For example, if the electronic device (101) includes a main processor (121) and an auxiliary processor (123), the auxiliary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a designated function. The auxiliary processor (123) may be implemented separately from the main processor (121) or as part thereof.

[0024] The auxiliary processor (123) may control at least some of the functions or states associated with at least one component of the electronic device (101) (e.g., display module (160), sensor module (176), or communication module (190)) on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. According to one embodiment, the auxiliary processor (123) (e.g., image signal processor or communication processor) may be implemented as part of another functionally related component (e.g., camera module (180) or communication module (190)). According to one embodiment, the auxiliary processor (123) (e.g., neural network processing unit) may include a hardware structure specialized for processing an artificial intelligence model. The artificial intelligence model may be generated through machine learning. Such learning may be performed, for example, on the electronic device (101) itself where the artificial intelligence model is executed, or through a separate server (e.g., server (108)). The learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model may include a plurality of artificial neural network layers.An artificial neural network may be a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to the hardware structure, the artificial intelligence model may include a software structure, either additionally or substantially.

[0025] The memory (130) can store various data used by at least one component of the electronic device (101) (e.g., processor (120) or sensor module (176)). The data may include, for example, input data or output data for software (e.g., program (140)) and related commands. The memory (130) may include volatile memory (132) or non-volatile memory (134).

[0026] The program (140) may be stored as software in memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).

[0027] The input module (150) can receive commands or data to be used for a component of the electronic device (101) (e.g., processor (120)) from outside the electronic device (101) (e.g., user). The input module (150) may include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).

[0028] The sound output module (155) can output a sound signal to the outside of the electronic device (101). The sound output module (155) may include, for example, a speaker or a receiver. The speaker may be used for general purposes, such as multimedia playback or recording playback. The receiver may be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part thereof.

[0029] The display module (160) can visually provide information to an external (e.g., user) of the electronic device (101). The display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling said device. According to one embodiment, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of the force generated by said touch.

[0030] The audio module (170) can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150) or output sound through the sound output module (155) or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphones) connected directly or wirelessly to the electronic device (101).

[0031] The sensor module (176) can detect the operating state of the electronic device (101) (e.g., power or temperature) or the external environmental state (e.g., user state) and generate an electrical signal or data value corresponding to the detected state. According to one embodiment, the sensor module (176) may include, for example, a gesture sensor, a gyroscope sensor, a barometric pressure sensor, a magnetic sensor, an accelerometer sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biosensor, a temperature sensor, a humidity sensor, or an illuminance sensor.

[0032] The interface (177) may support one or more specified protocols that can be used for the electronic device (101) to be connected directly or wirelessly to an external electronic device (e.g., electronic device (102)). According to one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.

[0033] The connection terminal (178) may include a connector through which the electronic device (101) can be physically connected to an external electronic device (e.g., electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).

[0034] The haptic module (179) can convert an electrical signal into a mechanical stimulus (e.g., vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic senses. According to one embodiment, the haptic module (179) may include, for example, a motor, a piezoelectric element, or an electric stimulation device.

[0035] The camera module (180) can capture still images and video. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.

[0036] The power management module (188) can manage the power supplied to the electronic device (101). According to one embodiment, the power management module (188) can be implemented, for example, as at least part of a power management integrated circuit (PMIC).

[0037] The battery (189) can supply power to at least one component of the electronic device (101). According to one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

[0038] The communication module (190) can support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between an electronic device (101) and an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel. The communication module (190) may include one or more communication processors that operate independently of the processor (120) (e.g., application processor) and support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., cellular communication module, short-range wireless communication module, or GNSS (global navigation satellite system) communication module) or a wired communication module (194) (e.g., LAN (local area network) communication module, or power line communication module). The corresponding communication module among these communication modules can communicate with an external electronic device (104) through a first network (198) (e.g., a short-range communication network such as Bluetooth, WiFi (wireless fidelity) direct, or IrDA (infrared data association)) or a second network (199) (e.g., a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules may be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can identify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) using subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module (196).

[0039] The wireless communication module (192) can support 5G networks and next-generation communication technologies following 4G networks, for example, new radio access technology. NR access technology can support high-speed transmission of high-capacity data (enhanced mobile broadband (eMBB)), minimization of terminal power and connection of multiple terminals (massive machine type communications (mMTC)), or high reliability and low latency (ultra-reliable and low-latency communications (URLLC)). The wireless communication module (192) can support a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate, for example. The wireless communication module (192) can support various technologies for securing performance in the high-frequency band, such as beamforming, massive MIMO (multiple-input and multiple-output), full-dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large-scale antenna. The wireless communication module (192) can support various requirements specified in the electronic device (101), external electronic device (e.g., electronic device (104)), or network system (e.g., second network (199)). According to one embodiment, the wireless communication module (192) can support a Peak data rate (e.g., 20 Gbps or more) for realizing eMBB, loss coverage (e.g., 164 dB or less) for realizing mMTC, or U-plane latency (e.g., downlink (DL) and uplink (UL) each 0.5 ms or less, or round trip 1 ms or less) for realizing URLLC.

[0040] An antenna module (197) can transmit a signal or power to or from an external source (e.g., an external electronic device). According to one embodiment, the antenna module (197) may include an antenna comprising a radiator made of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). According to one embodiment, the antenna module (197) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as a first network (198) or a second network (199), may be selected from the plurality of antennas, for example, by a communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device through the selected at least one antenna. According to some embodiments, in addition to the radiator, other components (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as part of the antenna module (197).

[0041] According to various embodiments, the antenna module (197) may form a mmWave antenna module. According to one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent to a first surface (e.g., bottom surface) of the printed circuit board and capable of supporting a specified high frequency band (e.g., mmWave band), and a plurality of antennas (e.g., array antennas) disposed on or adjacent to a second surface (e.g., top surface or side surface) of the printed circuit board and capable of transmitting or receiving a signal of the specified high frequency band.

[0042] At least some of the above components can be connected to each other via a communication method between peripheral devices (e.g., bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)) and exchange signals (e.g., commands or data) with each other.

[0043] According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) through a server (108) connected to a second network (199). Each of the external electronic devices (102, or 104) may be the same or different type of device as the electronic device (101). According to one embodiment, all or part of the operations performed on the electronic device (101) may be performed on one or more of the external electronic devices (102, 104, or 108). For example, if the electronic device (101) needs to perform a function or service automatically or in response to a request from a user or another device, the electronic device (101) may request one or more external electronic devices to perform at least part of the function or service instead of performing the function or service itself or additionally. One or more external electronic devices that receive the above request may execute at least part of the requested function or service, or additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may provide the result as is or additionally processed as at least part of the response to the request. For this purpose, for example, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used. The electronic device (101) may provide ultra-low latency services using, for example, distributed computing or mobile edge computing. In another embodiment, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server using machine learning and / or neural networks. According to one embodiment, the external electronic device (104) or the server (108) may be included within a second network (199).The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.

[0044] The electronic device according to the various embodiments disclosed in this document may be of various forms. The electronic device may include, for example, a portable communication device (e.g., a smartphone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a consumer electronics device. The electronic device according to the embodiments of this document is not limited to the devices described above.

[0045] The various embodiments of this document and the terms used therein are not intended to limit the technical features described in this document to specific embodiments, and should be understood to include various modifications, equivalents, or substitutions of said embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of said items unless the relevant context clearly indicates otherwise. In this document, phrases such as "A or B," "at least one of A and B," "at least one of A or B," "A, B or C," "at least one of A, B and C," and "at least one of A, B, or C" may each include any one of the items listed together in the corresponding phrase, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used simply to distinguish said components from other said components and do not limit said components in any other aspect (e.g., importance or order). Where any (e.g., 1st) component is referred to as “coupled” or “connected” to another (e.g., 2nd) component, with or without the terms “functionally” or “communicationly,” it means that said any component may be connected to said other component directly (e.g., via a wire), wirelessly, or through a third component.

[0046] The term “module” as used in the various embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit, for example. A module may be a component formed integrally, or a minimum unit of said component or a part thereof that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).

[0047] Various embodiments of the present document may be implemented as software (e.g., program (140)) comprising one or more instructions stored in a storage medium (e.g., internal memory (136) or external memory (138)) readable by a machine (e.g., electronic device (101)). For example, a processor (e.g., processor (120)) of the machine (e.g., electronic device (101)) may call at least one of the one or more instructions stored in the storage medium and execute it. This enables the machine to be operated to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code that can be executed by an interpreter. The storage medium readable by the machine may be provided in the form of a non-transitory storage medium. Here, 'non-temporary' simply means that the storage medium is a tangible device and does not contain a signal (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently and cases where it is stored temporarily.

[0048] According to one embodiment, the method according to the various embodiments disclosed herein may be provided by being included in a computer program product. The computer program product may be traded between a seller and a buyer as a product. The computer program product may be distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)), or distributed online (e.g., download or upload) through an application store (e.g., Play Store™) or directly between two user devices (e.g., smartphones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily created on a device-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.

[0049] According to various embodiments, each component (e.g., module or program) of the components described above may include a singular or multiple entities, and some of the multiple entities may be separated and placed in other components. According to various embodiments, one or more of the components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Generally or additionally, multiple components (e.g., module or program) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each of the multiple components in the same or similar manner as those performed by the corresponding component among the multiple components prior to integration. According to various embodiments, operations performed by the module, program, or other components may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.

[0050] The number of processors (120) may be one or more. For example, the processor (120) may have the structure of a multi-core processor such as a dual core, a quad core, or a hexa core.

[0051] The processor (120) can control the operations of the electronic device (101) by executing instructions stored in memory (130). For example, the processor (120) may correspond to a plurality of processors that divide and collectively perform a plurality of operations among the processors.

[0052] FIG. 2 is an exemplary diagram illustrating a method for recommending similar products related to a specific product according to one embodiment of the present disclosure.

[0053] Referring to FIG. 2, an electronic device (e.g., the electronic device (101) of FIG. 1) can perform a similar product recommendation program for searching and extracting similar products (e.g., a similar product recommendation application, an application that performs a similar product recommendation function based on an object embedding model). For example, the object embedding model may include a specified artificial intelligence model (e.g., an AI model). Referring to FIG. 2, a processor of the electronic device (101) (e.g., the processor (120) of FIG. 1) can apply identification information related to a first product (201) (e.g., a product that a user wants to search for) to the object embedding model, and based on the object embedding model, can search for at least one second product (221, 222, 223) (e.g., a similar product (202)). For example, the processor (120) can generate first code information by coding identification information for the first product (201) based on the object embedding model. The processor (120) can generate second code information by coding identification information for the second product (202) based on an object embedding model. The processor (120) can search for a second product (202) that is at least partially similar to the first product (201) by comparing the first code information and the second code information. The processor (120) can perform a product search (211) function for the first product (201) and, based on the object embedding model, search for at least one second product (221, 222, 223) and provide it to the user.

[0054] Referring to FIG. 2, the electronic device (101) can execute a similar product recommendation program (e.g., a similar product recommendation application, an application that performs a similar product recommendation function based on an object embedding model) installed in memory (e.g., memory (130) of FIG. 1) and can perform a product search (211) function for the first product (201). For example, in response to the performance of the product search (211) function, the electronic device (101) can select at least one second product (221, 222, 223) (e.g., a similar product family (202)) that is at least partially similar to the first product (201), and can output and display the selected at least one second product (221, 222, 223) through a display (e.g., a display module (160) of FIG. 1). For example, the electronic device (101) can display the first product (201) and at least one second product (221, 222, 223) together through a user interface based on a similar product recommendation program.

[0055] According to one embodiment, the processor (120) can determine which product family the first product (201) belongs to, and in detail, what kind of product it is, based on an object embedding model provided by a similar product recommendation program. According to one embodiment, the object embedding model is based on a multi-layered neural network (e.g., a deep neural network (DNN)) and can classify multiple product families according to set criteria and manage at least one similar product belonging to the same product family. For example, the object embedding model may be included in machine learning techniques, learn based on user experiential data, and perform predictions to improve its performance. For example, the object embedding model may include a designated artificial intelligence model (e.g., an AI model). The object embedding model may be updated based on the execution history, search history, and user selection history related to result values ​​(e.g., similar products) of a similar product recommendation program. For example, the object embedding model may be managed individually by account (e.g., user). The processor (120) may generate code information corresponding to said specific product by coding identification information for a specific product based on the object embedding model. For example, the code information may include classification code information in which multiple objects (e.g., characters, numbers) are arranged according to set positions. According to an embodiment, the code information may include position information (e.g., location information, array information) for each object within feature and identification information for each of the plurality of objects.

[0056] According to one embodiment, the processor (120) can search for at least one second product (221, 222, 223) that belongs to the same product family as the first product (201) and has at least partial similarity to the first product (201) based on an object embedding model, and can output the at least one second product (221, 222, 223) as a similar product for the first product (201). For example, the electronic device (101) can display at least one second product (221, 222, 223) in the user interface (UI) of a similar product recommendation program through a display (160). When a user searches for the first product (201), the at least one second product (221, 222, 223) can be output and provided to the user as a recommended product (e.g., a similar product) related to the first product (201).

[0057] Referring to FIG. 2, the first product (201) may include a portable terminal device such as a smartphone. The electronic device (101) may select at least one second product (221, 222, 223) that is at least partially related to the first product (201) in response to a product search (211) for the first product (201). For example, the second product family (202) containing at least one second product may differ from the first product (201) in at least one of color, shape, version, form factor, specifications, function, weight, price, and stock status. For example, the first code information for the first product (201) and the second code information for the second product (202) may differ from each other at least partially. According to one embodiment, the electronic device (101) can determine a priority according to an object embedding model among a plurality of second products that have remaining stock in response to a product search (211) for a first product (201), and can select at least one second product (221, 222, 223) in order of relatively high priority. For example, the electronic device (101) may display the second product with relatively high priority at the top of a list of similar products (e.g., recommended products), or may display it by applying a highlight effect.

[0058] FIG. 3 is a block diagram of an electronic device according to one embodiment of the present disclosure.

[0059] The electronic device (101) of FIG. 3 (e.g., the electronic device (101) of FIG. 1) may be at least partially similar to the electronic device (101) of FIG. 1 or may include other embodiments of the electronic device. For example, the electronic device (101) may support a function to search for and display a first product (e.g., the first product (201) of FIG. 2) and at least one second product (e.g., the second product family (202) of FIG. 2) associated with the first product (201) based on an object embedding model in response to the execution of a similar product recommendation program (e.g., an application program). For example, the electronic device (101) may generate first code information by coding identification information for the first product (201) based on an object embedding model, and may generate second code information by coding identification information for the second product (201). The electronic device (101) can search for a second product (202) that is at least partially similar to the first product (201) by comparing the first code information and the second code information. According to one embodiment, the electronic device (101) can display the first product (201) and at least one second product (221, 222, 223) (e.g., similar product, recommended product) based on a user interface according to a similar product recommendation program.

[0060] According to one embodiment, the processor (120) can search for at least one second product (221, 222, 223) that belongs to the same product family as the first product (201) and has at least partial similarity to the first product (201) based on an object embedding model, and can output the at least one second product (221, 222, 223) as a similar product to the first product (201). For example, the electronic device (101) can display the first product (201) and at least one second product (221, 222, 223) in a user interface (UI) of a similar product recommendation program through a display (e.g., the display module (160) of FIG. 1). According to one embodiment, when a user searches for a first product (201), the electronic device (101) may output the at least one second product (221, 222, 223) as a recommended product (e.g., a similar product) related to the first product (201) through a display (160) and provide it to the user.

[0061] Referring to FIG. 3, the electronic device (101) may include a processor (e.g., processor (120) of FIG. 1), memory (e.g., memory (130) of FIG. 1), a display (e.g., display module (160) of FIG. 1), and / or a communication circuit (390) (e.g., communication module (190) of FIG. 1). In various embodiments, the electronic device (101) may include additional components in addition to the components shown in FIG. 3, or at least one of the components shown in FIG. 3 may be omitted. For example, the processor (120) of the electronic device (101) may be operatively, functionally, and / or electrically connected to the memory (130), the display (160), and the communication circuit (390).

[0062] According to one embodiment, the processor (120) of the electronic device (101) can execute a program stored in memory (130) (e.g., the program (140) of FIG. 1) to control at least one other component (e.g., a hardware or software component) and perform various data processing or operations. For example, the processor (120) can support a function to search for and display a first product (201) and at least one second product (202) associated with the first product (201) based on an object embedding model in response to the execution of a similar product recommendation program (e.g., an application program). The processor (120) can select a second product (202) based on at least one object information (311) (e.g., code information implemented using an object embedding model) included in the identification information (302) of the first product (201), and can display the selected second product (202) through a display (160).

[0063] According to one embodiment, the memory (130) may store a similar product recommendation program (e.g., an application program) and an object embedding model for recommending similar products. According to one embodiment, the memory (130) may store data and / or commands received from or generated by other components (e.g., a processor (120), a display module (160), or a communication circuit (390)). According to one embodiment, the processor (120) may use the object embedding model stored in the memory (130) to search for a first product (201) and at least one second product (202) similar to the first product (201).

[0064] According to one embodiment, an object embedding model can select a first product (201) and a second product (202) that is at least partially related to the first product (201) based on category information (301) and identification information (302). For example, category information (301) may be defined as a product family indicating the type and category of a specific product. For example, category information (301) may include information indicating the type of electronic device (101) universally, such as a TV, refrigerator, washing machine, or dryer. For example, identification information (302) may include a product name or model name indicating each product. Identification information (302) may include object information (311) indicating at least one of color, shape, version, form factor, specifications, function, weight, price, and stock status for each product. According to one embodiment, the processor (120) can code identification information (302) of a specific product based on an object embedding model and generate code information corresponding to the specific product (e.g., classification code information composed of a plurality of objects). For example, the first code information for the first product (201) and the second code information for the second product (202) may be at least partially different.

[0065] According to one embodiment, the object embedding model may select a first product (201) and a second product (202) that is at least partially related to the first product (201) based on a description of the product and text information of the product. For example, when a description (e.g., text) and features related to a specific product are input, the object embedding model may generate identification information (302) (e.g., object information (311)) corresponding to the specific product based on the input description and features. For example, the processor (120) may generate first code information corresponding to the first product (201) based on a description and features related to the first product (201). As another example, the processor (120) may generate second code information corresponding to the second product (202) based on a description and features related to the second product (202). According to one embodiment, the processor (120) can select at least one second product (202) that is at least partially similar to the first product (201) by using first code information and second code information generated based on an object embedding model.

[0066] According to one embodiment, an object embedding model may generate identification information (302) (e.g., object information (311)) corresponding to a specific product by combining at least one of the category information (301), identification information (302), a description of the product, and text information of the product. For example, when a search request for a specific product is received, the processor (120) may apply the product description, product text information, product category information, and product identification information according to the search request to the object embedding model, and may generate identification information corresponding to the specific product based on the object embedding model.

[0067] According to one embodiment, the processor (120) can identify a first product (201) based on at least one of a description, text information, category information, and identification information corresponding to at least one product in response to a search request.

[0068] According to one embodiment, the processor (120) may select at least one second product (202) that is at least partially similar to the first product (201) based on category information (301) and identification information (302) in response to a product search request for the first product (201). For example, the processor (120) may identify identification information (302) corresponding to the first product (201) and identify object information (311) for each of the plurality of objects included in the identification information (302). The object information (311) may include arrangement information (e.g., location information, position information) for each object within the identification information (302). For example, the object information (311) may include arrangement information for a plurality of objects included within the identification information (302). The arrangement information may include information related to the placement location, placement order, and arrangement order of the objects for the plurality of objects constituting the identification information (302). According to one embodiment, the processor (120) can search for at least one second product (202) that is at least partially related to the first product (201) based on arrangement information (e.g., placement location, placement order, arrangement order) for each object included in the identification information of the first product (201). According to one embodiment, the processor (120) can provide the first product (201) and at least one second product (202) together to the user.

[0069] According to one embodiment, the processor (120) can convert a processed image signal, data signal, control signal, etc. based on an object embedding model and can display information related to the processed signal through a display (160). For example, the processor (120) can display a first product (201) and at least one second product (202) that is at least partially related to the first product (201) based on a user interface generated by a similar product recommendation program (e.g., an application program).

[0070] According to one embodiment, the processor (120) can establish a direct (e.g., wired) communication channel or a wireless communication channel with an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)) through a communication circuit (390) (e.g., communication module (190) of FIG. 1), and perform network communication through the established communication channel.

[0071] According to one embodiment, in the process of searching for a similar product family (e.g., a second product (202), at least one second product (221, 222, 222)) for a first product (201), the processor (120) of the electronic device (101) can identify category information (301) (e.g., product family, product type, product type) related to the first product (201) and can identify identification information (302) corresponding to the identified category information (301). For example, the identification information (302) may include metadata information and attribute information of the product (e.g., the first product (201)). For example, a first product (201) and a second product (202) (e.g., at least one second product (221, 222, 223)) belonging to the same category (e.g., mobile terminal, smartphone) may include at least partially identical identification information (302). For example, a processor (120) may generate first code information by coding identification information for the first product (201) based on an object embedding model. A processor (120) may generate second code information by coding identification information for the second product (202) based on an object embedding model. By comparing the first code information and the second code information, the processor (120) may select second code information that is at least partially similar to the first code information. According to one embodiment, the processor (120) can search for at least one second product (221, 222, 222) based on first identification information for a first product (201).

[0072] According to one embodiment, the processor (120) can identify first identification information corresponding to a first product (201) and, based on the identified first identification information, can select at least one second product (221, 222, 223) belonging to the same category (e.g., product family). For example, each of the at least one second product (221, 222, 223) may include second identification information. The first identification information for the first product (201) and the second identification information for each of the second products (221, 222, 223) may include at least partially identical objects (e.g., object information (311)).

[0073] According to one embodiment, the identification information (302) may include a plurality of objects (e.g., objects, object information (311)) and may be implemented in a form representing array information for each of the plurality of objects. For example, the object information (311) included in the identification information (302) may include at least one character and at least one number, and may include a code value representing a product feature (e.g., code information, classification code information). The first product (201) may include first identification information and first code information corresponding to the first identification information, and the second product (202) may include second identification information and second code information corresponding to the second identification information. According to one embodiment, the object information (311) included in the identification information (320) may be set to include at least one of at least one character, at least one number, and at least one symbol. The object information (311) may include array information for at least one of at least one character, at least one number, and at least one symbol.

[0074] According to one embodiment, the processor (120) can apply array information for each object included in the first object information of the first product (201) to an object embedding model and can select at least one second product (202) that is related to the first product (201). For example, the processor (120) can select second object information (e.g., second code information) that is at least partially different from the first object information (e.g., first code information) based on array information for each object included in the first object information. The processor (120) can calculate a similarity between the first product (201) and at least one second product (202) and can select at least one second product (202) based on the calculated similarity. For example, at least one second product (202) may include products of the same product family having a certain level of similarity (e.g., a set threshold) based on the first product (201).

[0075] According to one embodiment, the processor (120) can set weights for object information (311) and operate an object embedding model to which the weights are applied. When selecting at least one second product (202), the processor (120) can apply a relatively high weight to objects of high importance (e.g., at least one of color, shape, version, form factor, specification, function, weight, price, stock status). For example, when a user searches for a first product (201), if the user wants a second product (202) that has the same product family but a different form factor, the processor (120) can set a relatively high weight to be assigned to objects representing "form factor" (e.g., characters, numbers). As another example, when a user searches for a first product (201), if the user wants a second product (202) that has the same product family but supports a specific function, the processor (120) can set a relatively high weight to be assigned to objects representing the "specific function". According to one embodiment, the processor (120) can set different weights corresponding to each object included in the object information (311).

[0076] According to one embodiment, each object constituting a plurality of objects may include at least one of category information, type information, option information, function information, color information, shape information, manufacturing date information, and country of manufacture information related to the corresponding product. According to one embodiment, the information represented by each object is not limited to the aforementioned information and may be set in various ways by the manufacturer and developer. According to one embodiment, the number of objects constituting the object information (311) is not limited to a specific number.

[0077] According to one embodiment, the processor (120) can compare first code information of a first product (201) and second code information of a second product (202), and can calculate the similarity of the second product (202) based on the first product (201) based on code information that matches at least partially among the first code information and the second code information. For example, the similarity of the second product (202) may be information that quantifies how similar the second product (202) is to the first product (201). The similarity of the second product (202) may be information that quantifies the relevance of the second product (202) to the first product (201) in a state that matches the criteria desired by the user (e.g., a state in which weights are reflected for each object). According to one embodiment, the processor (120) may apply weights set in the first code information and the second code information, and may calculate the similarity in the state where the weights are applied.

[0078] According to one embodiment, the processor (120) can select a second product (202) that is at least partially related to a first product (201) based on an object embedding model, and can provide the first product (201) and the selected second product (202) to a user. For example, the user can select a product of relatively high interest among the first product (201) and the second product (202). According to one embodiment, the processor (120) can identify a product selected by the user among similar products recommended based on the object embedding model (e.g., the second product (202)), and can update the object embedding model using information related to the similar product selected by the user. For example, if it is confirmed that the user preferentially selects a product with a different form factor among the recommended similar products, the processor (120) can update the object embedding model so that when searching for the first product (201), a second product (202) with a different form factor from the first product (201) is displayed relatively first.

[0079] According to one embodiment, an electronic device (e.g., the electronic device (101) of FIG. 3) may include a display (e.g., the display module (160) of FIG. 1, the display (160) of FIG. 3), a memory (e.g., the memory (130) of FIG. 1 and FIG. 3), and a processor (e.g., the processor (120) of FIG. 1 and FIG. 3) operatively connected to the display (160) and the memory (130). According to one embodiment, the processor (120) may identify a first product in response to a search request related to at least one product. The processor (120) may identify identification information (e.g., identification information (302) of FIG. 3) of a category related to the first product (e.g., the first product (201) of FIG. 2) based on an object embedding model. The processor (120) may identify arrangement information of a plurality of objects within the identification information (302) regarding a plurality of objects included in the identification information (302). The processor (120) can search for at least one second product (202) related to the first product (201) based on array information of a plurality of objects. The processor (120) can output information related to the searched at least one second product (202) through the display (160).

[0080] According to one embodiment, the processor (120) can calculate a similarity corresponding to at least one second product (202) based on array information of a plurality of objects. The processor (120) can search for at least one second product (202) based on the calculated similarity.

[0081] According to one embodiment, each object included in the identification information (302) may be configured to include at least one character, at least one number, and at least one symbol.

[0082] According to one embodiment, the processor (120) may set a weight corresponding to each object included in the identification information (302). The processor (120) may apply a weight set corresponding to the matched code information in response to a situation where the first code information corresponding to the first product (201) and the second code information corresponding to the second product (202) match at least partially with each other.

[0083] According to one embodiment, each object constituting a plurality of objects may include information representing at least one of product category information, product type information, product option information, product function information, product color information, product manufacturing date information, and product country of manufacture information, which is associated with at least one product.

[0084] According to one embodiment, if the first object is not included among a plurality of objects, the processor (120) can identify a second object related to the first object based on an object embedding model. Based on the object embedding model, the processor (120) can search for at least one second product (202) that is at least partially matched to the identified second object.

[0085] According to one embodiment, the processor (120) can check the weights set based on array information for each object. The processor (120) can apply the weights set corresponding to each object to a plurality of objects. The processor (120) can search for at least one second product (202) based on similarity according to the set weights.

[0086] According to one embodiment, the processor (120) can update an object embedding model based on at least one second product (202) in response to information related to at least one second product (202) being output.

[0087] According to one embodiment, the electronic device (101) may further include a communication circuit (190) for establishing a communication connection with an external electronic device (e.g., the server (108) of FIG. 1). The processor (120) may transmit product information related to the first product (201) to the external electronic device (108) through the communication circuit (190). The processor (120) may receive at least one second product (202) related to the first product (201), which is retrieved based on the object embedding model of the external electronic device (108). The processor (120) may output information related to the received at least one second product (202).

[0088] According to one embodiment, the processor (120) can identify the first product (201) based on at least one of a description, text information, category information, and identification information corresponding to the at least one product in response to a search request.

[0089] FIG. 4 is a block diagram illustrating the process of an electronic device according to one embodiment recommending a similar product.

[0090] The operations described in FIG. 4 can be executed by at least one processor (e.g., the processor (120) of FIG. 1). According to FIG. 4, the electronic device (101) can perform a process for recommending similar products as follows.

[0091] According to one embodiment, an electronic device (101) may collect and store product feature information (e.g., model code, product name, category, price, etc.) from various sources using a metadata (e.g., feature data) collection processing unit (402). Alternatively, the electronic device (101) may collect and store product feature information (e.g., model code, product name, category, price, etc.) from various sources using a processor (120). In this case, the electronic device (101) may collect various feature information by product family. For example, in the case of a mobile phone, hardware specifications such as a processor, display, memory, camera, and color, and software function information such as support services and applications may be collected. The types of hardware and feature information are merely examples and are not limited thereto.

[0092] According to one embodiment, an electronic device (101) can classify collected data into four types—numerical data (404a), categorical data (404b), text data (404c), and model code (404d)—using a feature-specific Value / Format conversion processing unit (404) or a processor (120), and process the data into a form capable of distance calculation. At this time, the electronic device (101) can convert numerical data into pure numerical values ​​excluding units, convert categorical data into ordinal or one-hot encoding, and convert text data into vectors by utilizing an embedding technique (e.g., FastText, SBERT, etc.). The electronic device (101) performs normalization processing to prevent bias between features, and if the number of values ​​within the same attribute is small compared to the total number of model codes, it can be considered as categorical data and ordinal encoding can be applied.

[0093] According to one embodiment, the electronic device (101) can generate a feature distance matrix by calculating the distance (or difference) between products by feature using a feature-specific distance calculation processing unit (406) or a processor (120). For numerical data, the electronic device (101) calculates a normalized distance (406a) by dividing the absolute value of the difference by the maximum value, uses a binary distance (1 if same, 0 otherwise) (406b) which is expressed as 1 if they are the same and 0 otherwise for categorical data, and calculates a cosine distance (406c) by calculating the cosine similarity between embedding vectors for text data. The electronic device (101) can generate a distance matrix of size mxm for each feature. Here, m may represent the total number of model codes.

[0094] According to one embodiment, the electronic device (101) can calculate the similarity of the model code using a heuristics processing unit (420) or a processor (120). The electronic device (101) can generate an additional distance matrix by calculating using the following formula.

[0095] Heuristics Similarity = 1 - (format_similarity * format_weight + value_similarity * value_weight)

[0096] Here, format_similarity may refer to the degree of match for each character type of the model code. value_similarity may refer to the degree of match for each digit value. Through this, the electronic device (101) can generate an additional distance matrix.

[0097] According to one embodiment, an electronic device (101) can generate a co-act matrix between products by analyzing session data including user clicks, searches, orders, and purchase history using a session data processing unit (407) or a processor (120). At this time, the electronic device (101) can indicate a conditional probability that other products will appear simultaneously for a given product or whether there is a history of co-act within the same session.

[0098] According to one embodiment, the electronic device (101) can calculate the conditional probability that other products appear simultaneously for a given product and represent it as a matrix. The electronic device (101) can generate a co-act matrix that records whether two products appeared together (1 or 0) within the same session.

[0099] According to one embodiment, the electronic device (101) can learn feature-specific weights using a feature weight learning processing unit (408) or a processor (120). The electronic device (101) can utilize various learning methods including linear regression, ensemble, or neural networks. The electronic device (101) can receive information about a user's co-act using the feature weight learning processing unit (408).

[0100] According to one embodiment, the electronic device (101) may provide a function that allows a user to directly adjust a learned feature weight using a feature weight manual operation unit (410) or a processor (120).

[0101] According to one embodiment, the electronic device (101) can calculate the distance between products in operation 412 using the following formula based on the feature weights finally learned using the product-specific similar product item generation unit (414) or processor (120), and generate a list of similar products in order of closest distance.

[0102] Model_distance(a,b) = (feature_distance * feature_weight)

[0103] According to one embodiment, the electronic device (101) can perform the operations described in FIG. 4 to analyze the similarity between products and recommend similar products to the user based on this.

[0104] According to one embodiment, an electronic device (101) receives attribute information of a plurality of products including a first product and a second product from an external server, converts the received attribute information by feature to calculate the distance between products, determines the similarity between products based on the calculated distance between products, and calculates the probability that the second product can be recommended together in the same session when the first product is searched based on the similarity between products.

[0105] According to one embodiment, the electronic device (101) converts attribute information of products received from an external server into features. For example, attribute information such as the price, size, model name, and release date of a product can be converted into quantified features. The electronic device (101) can select one or more features from among all the converted features that can be effectively utilized for training and prediction of a machine learning model. For example, features that have a more significant impact on product recommendation can be selected and used.

[0106] According to one embodiment, the electronic device (101) can calculate the distance between products only for selected features. The electronic device (101) can determine the similarity between products based on the distance between products of the selected features calculated in this way. The closer the distance, the higher the similarity, and the farther the distance, the lower the similarity. For example, if two smartphones have similar price ranges and screen sizes, the distance for those features is calculated to be close, so they can have high similarity.

[0107] The similarity between products calculated in this way is used as training data for a machine learning model, and the trained model can be used when performing recommendations for new products. Through this, the electronic device (101) can provide more accurate and relevant product recommendations to the user.

[0108] According to one embodiment, the electronic device (101) can train a machine learning model using features corresponding to received attribute information, similarity between products, and the probability that the second product can be recommended together, and can use the trained machine learning model to generate items for products where the similarity for each product exceeds a specified level.

[0109] According to one embodiment, the electronic device (101) may collect product common attributes including product model code, product name, category, price, description and search keywords, collect specifications of at least one of a processor, display, memory or camera as hardware specifications by product family, collect supported service and application information as software features by product family, and store and manage the collected information in memory (e.g., memory (130) of FIG. 1).

[0110] According to one embodiment, the electronic device (101) automatically classifies values ​​by feature type, classifies them as categorical data if the cardinality of the value within the same feature is less than a threshold value relative to the total number of model codes, classifies them as numerical data if they consist entirely of numbers excluding units such as length, weight, and volume, processes the parts consisting of numbers so that only numbers remain excluding units, processes categorical data by replacing specific values ​​with specific numbers, and otherwise classifies them as text data, processes them by connecting multiple attributes into one attribute, and then performs FastText, sBERT, or LLM-based embedding.

[0111] According to one embodiment, the electronic device (101) can convert received attribute information by feature. For example, numeric data (e.g., price, display size) can be expressed as a value between 0 and 1 by performing normalization. Category data (e.g., product family, color) can be converted into a unique integer value for each category by applying ordinal encoding. Text data (e.g., product name, description) can be converted into a numeric vector using word embedding technology. In this way, the electronic device (101) can convert various data types into a form suitable for machine learning.

[0112] According to one embodiment, the electronic device (101) calculates the difference between two values ​​for numerical data, applies the absolute value, and calculates a normalized distance value between 0 and 1 by dividing it by the maximum value of the corresponding feature; for categorical data, sets the distance to 0 when the two values ​​are the same and to 1 when they are different; for text data, converts it into a vector through embedding and then calculates the cosine similarity between the two vectors to use as a distance value, and can standardize the values ​​within each matrix to remove bias between the distance matrices for each calculated feature.

[0113] According to one embodiment, the electronic device (101) calculates the ratio of matching digits to the total number of digits by comparing whether each digit is a number, an alphabet, or a symbol for the format similarity of each digit of the model code, and calculates the ratio of matching digits to the total number of digits by comparing whether the actual value of each digit matches for the value similarity of each digit of the model code, and can determine the final heuristic similarity using the formula [1 - (format similarity X format weight + value similarity X value weight)] which applies weights to the calculated format similarity and value similarity, respectively.

[0114] According to one embodiment, the electronic device (101) can calculate the distance between products of converted features. The electronic device (101) can calculate the absolute difference in the case of numeric data and check for identity in the case of category data. The electronic device (101) can calculate the distance using cosine similarity in the case of text data. The electronic device (101) can organize the distance information for each feature calculated in this way into a feature distance matrix.

[0115] According to one embodiment, the electronic device (101) can also separately calculate the similarity of the model code. The electronic device (101) can calculate format similarity based on whether each digit of the model code is a number, a character, or a symbol. The electronic device (101) can also calculate value similarity based on how much the value of each digit of the model code matches. For example, if the model code consists entirely of numbers, the electronic device (101) can calculate that the format similarity exceeds a specified level because the format is similar. The electronic device (101) can calculate value similarity based on how many numbers of the model code match. The electronic device (101) can calculate similarity between model codes by applying weights to the format similarity and value similarity.

[0116] According to one embodiment, the electronic device (101) can extract information on the association between products by analyzing the user's session data. For example, if a user clicks, searches for, orders, or purchases a specific product, the electronic device (101) can analyze this to generate a matrix indicating the probability that the products appeared together in the same session or whether they occurred simultaneously.

[0117] According to one embodiment, the electronic device (101) can learn the weights of each feature by using the previously calculated feature distance matrix, model code similarity matrix, and product association matrix as input variables for a machine learning model.

[0118] According to one embodiment, the electronic device (101) may provide a function to manually adjust the learned weights as desired by the user. For example, the electronic device (101) may provide a function to adjust the weights by setting the weight of a specific feature higher or lower.

[0119] According to one embodiment, the electronic device (101) can calculate the distance between products based on finally determined weights and generate a list of the most similar products for each product. The electronic device (101) can collect and analyze various product information to calculate the similarity between products and provide a function to recommend related products based on this. In particular, the electronic device (101) can provide a similarity judgment by comprehensively utilizing various information including model code similarity, feature distance, and user session data. Additionally, the electronic device (101) can optimize the similarity calculation method according to the situation through a manual adjustment function for learned weights.

[0120] FIG. 5 is a flowchart illustrating a method for recommending similar products of an electronic device according to one embodiment.

[0121] The operations described through FIG. 5 may be implemented based on instructions that can be stored in a computer recording medium or memory (e.g., memory (130) of FIG. 1). The illustrated method (500) may be executed by an electronic device (e.g., electronic device (101) of FIG. 1) described above through FIG. 1 to 4, and the technical features described above will be omitted below. The order of each operation in FIG. 5 may be changed, some operations may be omitted, and some operations may be performed simultaneously.

[0122] In operation 510, the electronic device (101) can receive attribute information of a plurality of products under the control of a processor (e.g., the processor (120) of FIG. 1). The electronic device (101) can receive attribute information of a plurality of products, including a first product and a second product, from an external server.

[0123] According to one embodiment, an electronic device (101) may communicate with an external server to collect attribute information of various products. Here, attribute information may include basic characteristics such as price, brand, color, size, and material of a product, as well as attributes specialized by product group (e.g., size, material, and style in the case of clothing). This data may be automatically classified and processed into numerical (price, weight), categorical (brand, color), model code, and text data (product description, reviews). The types of attribute information and data are merely examples and are not limited thereto.

[0124] In operation 520, the electronic device (101) can calculate distance and similarity based on the difference in attribute values ​​between products. The electronic device (101) can calculate the distance between products by converting the received attribute information by feature and determine the similarity between products based on the calculated distance between products. The collected data is converted according to each characteristic, and in this process, a standardization operation may be performed to prevent bias by characteristic of the data. In the case of numerical data, the difference between two products can be calculated as an absolute value and then divided by the maximum value of the entire data to normalize it to a value between 0 and 1.

[0125] According to one embodiment, the electronic device (101) can represent whether the corresponding attributes of two products are the same for categorical data as 1 or 0. The electronic device (101) can quantify the semantic similarity between texts by utilizing embedding technology such as Word2Vec or BERT to convert text data into a vector, and then calculating cosine similarity.

[0126] Word2Vec can refer to a method of representing words as fixed-dimensional vectors. Each word can be mapped to a single vector representing its meaning. BERT (Bidirectional Encoder Representations from Transformers) can refer to a method of representing words as vectors by considering context. Even the same word can be represented by different vectors depending on the context.

[0127] In operation 530, the electronic device (101) can calculate the probability that a second product may be recommended together in the same session when the first product is searched, based on product similarity. The product recommendation probability is calculated based on sessions, where a session may refer to a series of activities in which a user performs consecutive actions on a website or app. The probability that product B is recommended together when a specific product A is searched can be calculated as (the number of times products A and B appear together in the same session) / (the number of sessions in which product A appears out of the total sessions). For example, if product A is searched in 1,000 sessions and appears together with product B in 200 of those sessions, the conditional probability may be 0.2 (20%). These are all examples, and the types, number, and probabilities of the products may vary depending on the situation.

[0128] In operation 540, the electronic device (101) can train a machine learning model. The electronic device (101) can train a machine learning model using features corresponding to received attribute information, similarity between products, and the probability that the second product can be recommended together.

[0129] According to one embodiment, algorithms including linear regression, LightGBM, or neural networks may be utilized for training the machine learning model. As training data, a previously calculated feature-specific distance matrix may be used as an independent variable, and a heuristic similarity matrix or a session-based concurrent action probability matrix may be used as a dependent variable. The electronic device (101) may calculate the final distance between products as the sum of the products of feature-specific distances and weights. The electronic device (101) may recommend similar products in order of proximity.

[0130] LightGBM is a type of Gradient Boosting Machine (GBM) algorithm that can refer to an algorithm that generates predictive models using decision trees. Neural networks refer to algorithms that mimic the neural networks of the human brain and can be used to learn complex patterns.

[0131] In operation 550, the electronic device (101) can use a learned machine learning model to generate items for products where the similarity for each product exceeds a specified level.

[0132] According to one embodiment, an electronic device (101) receives attribute information from an external server including product common attributes and product family-specific attributes of a plurality of products including a first product and a second product from various sources, and can automatically classify the received attribute information into one of numeric data, categorical data, model code, and text data and convert it by feature.

[0133] According to one embodiment, the electronic device (101) can calculate the distance between products by standardizing the transformed features so that no bias occurs between them. The electronic device (101) can determine the similarity between products based on the calculated distance between products. In this case, for numerical data, the electronic device (101) can calculate a normalized value by dividing the absolute value of the difference between two values ​​by the maximum value, for categorical data, check whether the two values ​​are identical, and for text data, determine the similarity by calculating the cosine similarity after performing text embedding.

[0134] According to one embodiment, the electronic device (101) can calculate a conditional probability that the second product can be recommended together in the same session when the first product is searched, with the number of sessions in which the first product appears among all sessions as the denominator and the number of times the first product and the second product appear together in the same session as the numerator, based on product similarity.

[0135] According to one embodiment, an electronic device (101) can train a machine learning model using any one of linear regression, LightGBM, or neural network algorithms, using features corresponding to received attribute information, similarity between products, and the probability that a second product can be recommended together. The electronic device (101) can train the model by setting a feature-specific distance matrix as an independent variable and setting a heuristic similarity matrix of the model code or a session-based co-act probability matrix as a dependent variable.

[0136] According to one embodiment, the electronic device (101) can generate items for products that exceed a specified level of similarity for each product using a learned machine learning model, calculate the distance between products as the sum of the products of the distance for each feature and the weight for each feature, and generate similar product items in order of lowest distance value.

[0137] According to one embodiment, the electronic device (101) can analyze user-specific sessions to collect information on products in which at least one action among click, search, order, and purchase occurred within the same session. The electronic device (101) can calculate a conditional probability by using the number of sessions in which the first product appeared among all sessions as the denominator and the number of times the first product and the second product appeared together in the same session as the numerator, or generate a co-act matrix by assigning '1' if there is a history of co-act within the same session and '0' if there is no history.

[0138] According to one embodiment, the electronic device (101) can control feature-specific weights differently depending on the algorithm used when training a machine learning model. When using a linear regression algorithm, feature-specific coefficients can be learned so that the feature-specific weights are intuitively understood and can be manually manipulated by the user. That is, the user can directly control the influence of each feature on the similarity between products.

[0139] On the other hand, when the electronic device (101) uses an ensemble algorithm including LightGBM or a neural network, it can learn feature-specific weights by setting a feature-specific distance matrix as an independent variable and a heuristic similarity matrix or a simultaneous action probability matrix as a dependent variable. In this case, since the feature-specific weights are determined within the complex model, they can be controlled so that the user cannot directly manipulate them.

[0140] According to one embodiment, the electronic device (101) provides an interface that allows a user to manually adjust the learned coefficients w1 to wf for features 1 to f, and controls the weight of a specific feature to be directly assigned to the weight of another feature when the user wants to set the weight of a specific feature to be the same as the weight of another feature, and can increase or decrease the weight of a specific feature by any ratio.

[0141] In the first operating mode, the electronic device (101) may provide a user interface that can set individual coefficients w1 to wf for each feature from feature 1 to feature f. Through this interface, the user can directly adjust the coefficients of each feature. For example, the electronic device (101) may provide an interface that can directly specify the importance of each feature numerically, such as setting the coefficient w1 of feature 1 to 0.8 and the coefficient w2 of feature 2 to 0.5.

[0142] In the second operation mode, the electronic device (101) can set priorities for each feature and calculate a similarity score based thereon. For example, if the product family is a smartphone, the electronic device (101) can set priorities for features such as 'price', 'screen size', 'battery capacity', and 'camera pixels', calculate the similarity for each feature, and then combine them to calculate a final similarity score. In this case, the similarity of features with higher priority may have a greater influence on the final score.

[0143] For example, the electronic device (101) can determine the rank of four similar products similar to the product being compared (e.g., a smartphone) based on screen size. Three similar products may have the same rank for the screen size of the product being compared, and the remaining one similar product may have a lower priority. In this case, it can be represented by a vector of (1,1,1,4). Also, the electronic device (101) can determine the rank of four similar products similar to the product being compared (e.g., a smartphone) based on memory capacity. In this case, it can be represented by a vector of (1,2,3,4), for example.

[0144] According to one embodiment, the electronic device (101) determines that consumers are more influenced by screen size than by memory capacity when purchasing a product and can multiply a vector of (1,1,1,4) by a weight (e.g., 4). The magnitude of the weight may be determined based on the number of products being compared. The electronic device (101) may assign a relatively low weight (e.g., 1) to a vector of (1,2,3,4) which has relatively low influence. The magnitude of the weight or the value of the vector is merely an example and may vary depending on the settings.

[0145] The first product may have a value of 4 for screen size by multiplying a vector value of 1 by a weight of 4. The first product may have a value of 1 for memory capacity by multiplying a vector value of 1 by a weight of 1. In this case, the electronic device (101) may determine that the first product has a similarity score of 5 by adding 4 and 1.

[0146] The second product may have a value of 4 for screen size by multiplying a vector value of 1 by a weight of 4. The second product may have a value of 2 for memory capacity by multiplying a vector value of 2 by a weight of 1. In this case, the electronic device (101) may determine that the similarity score for the second product is 6 by adding 4 and 2.

[0147] The third product may have a screen size of 4 by multiplying a vector value of 1 by a weight of 4. The third product may have a memory capacity of 3 by multiplying a vector value of 3 by a weight of 1. In this case, the electronic device (101) may determine that the similarity score for the third product is 7 by adding 4 and 3.

[0148] The fourth product may have a value of 16 for screen size by multiplying the vector value of 4 by a weight of 4. The fourth product may have a value of 4 for memory capacity by multiplying the vector value of 4 by a weight of 1. In this case, the electronic device (101) may determine that the similarity score for the fourth product is 20 by adding 16 and 4.

[0149] The electronic device (101) determines a similarity score for the first to fourth products and can determine the first product, which has the lowest similarity score of 5 points, as the recommended product. In this way, the similarity of high-priority features (e.g., screen size) can have a greater influence on the similarity score.

[0150] The electronic device (101) can operate in either a first operation mode or a second operation mode depending on the user's selection. In the first operation mode, if the electronic device (101) wishes to set the weight of a specific feature to be equal to the weight of another feature, it can control the device to directly assign the weight value of another feature to the weight of the corresponding feature. Additionally, the electronic device (101) can provide a function to increase or decrease the weight of a specific feature by an arbitrary ratio.

[0151] According to one embodiment, the electronic device (101) may provide an interface that allows a user to manually adjust weights for each feature. For example, it may provide a function that allows the user to directly change values ​​by displaying learned weights (coefficients) w1 through wf for features 1 through f in the form of a slider or input field.

[0152] Additionally, if it is desired to set the weight of a specific feature to be the same as the weight of another feature, the electronic device (101) may provide a function to directly assign the weight value of another feature to the weight of the corresponding feature. For example, the electronic device (101) may provide an interface to copy and paste the weight value of a "brand" feature into the weight value of a "color" feature.

[0153] According to one embodiment, the electronic device (101) periodically retrains a machine learning model rather than a one-time learning, continuously collects information on co-acts between new products including clicks, searches, orders, or purchases from users' session data, and updates feature-specific weights using the collected co-act information to reflect changes in users' perception of similarity in the model.

[0154] According to one embodiment, the electronic device (101) can maintain and improve the performance of the model by periodically retraining the machine learning model rather than through one-time learning. The electronic device (101) can continuously collect information on simultaneous behavior between new products, including clicks, searches, orders, or purchases, from users' session data and use this information to update feature-specific weights. For example, if users have recently (e.g., one month) shown a tendency to frequently purchase "smartphones" and "watches" together in the same session, the electronic device (101) can update feature-specific weights in a direction that increases the similarity between "smartphones" and "watches."

[0155] According to one embodiment, the electronic device (101) can calculate the distance between the new product and existing products by applying previously learned feature-specific weights in the category based on the addition of a new product, and can immediately generate similar product recommendation items for the new product based on the calculated distance.

[0156] According to one embodiment, when a new product is added, the electronic device (101) can calculate the distance between the new product and existing products by applying previously learned feature-specific weights in the corresponding category. For example, a new product called "Foldable 2" may be added to the "Smartphone" category. In this case, the electronic device (101) can calculate the distance between "Foldable 2" and existing smartphone products (e.g., "S24", "I14") using previously learned feature-specific weights of the "Smartphone" category (e.g., screen size 0.3, battery capacity 0.2, camera pixel 0.5). The mentioned products and feature-specific weights are merely examples and are not limited thereto and may vary depending on the settings.

[0157] According to one embodiment, the electronic device (101) can immediately generate similar product recommendation items for a new product based on a calculated distance. The electronic device (101) can add smartphone products similar to "Foldable 5" to the recommendation list and provide them to the user. In this way, the electronic device (101) can immediately provide a similar product recommendation service even when a new product is added.

[0158] According to one embodiment, an electronic device (101) receives attribute information from an external server including product common attributes and product family-specific attributes of a plurality of products including a first product and a second product from various sources, and can automatically classify the received attribute information into one of numeric data, categorical data, model code, and text data and convert it by feature.

[0159] According to one embodiment, numeric data can be converted into values ​​within a certain range through normalization into data expressed as numbers (e.g., price, size, weight). Categorical data may refer to data expressed as categories (e.g., brand, color). Categorical data can be converted into a vector consisting of 0s and 1s through a one-hot encoding method. One-hot encoding is a method of converting categorical data into a numerical vector that a machine can learn. One-hot encoding may refer to a method of representing each category as a unique binary vector. In one-hot encoding, the value at a position corresponding to a specific category can be set to 1, and the values ​​at all other positions can be set to 0. For example, if there is a categorical variable called color (Red, Blue, Green), Red can be converted to [1, 0, 0], Blue to [0, 1, 0], and Green to [0, 0, 1]. The vectors converted in this way can clearly express that there is no order relationship between the categories, and each category can be processed independently.

[0160] The model code is a unique code that identifies a product (e.g., product model name), and the electronic device (101) can convert each code by mapping it to a unique number. The text data is data expressed in text form (e.g., product description), and the electronic device (101) can convert the text data into a vector by utilizing text embedding technology.

[0161] According to one embodiment, the electronic device (101) calculates the distance between products by standardizing the transformed features so that no bias occurs between them, and can determine the similarity between products based on the calculated distance between products. For numerical data, the electronic device (101) calculates a normalized value by dividing the absolute value of the difference between two values ​​by the maximum value, checks whether the two values ​​are identical for categorical data, and for text data, determines the similarity by calculating the cosine similarity after performing text embedding.

[0162] According to one embodiment, the electronic device (101) calculates a conditional probability that a second product can be recommended together in the same session when the first product is searched based on the similarity between products, trains a machine learning model using an algorithm of linear regression, LightGBM, or a neural network using features corresponding to received attribute information, similarity between products, and the probability that the second product can be recommended together, generates items for products whose similarity exceeds a specified level for each product using the trained machine learning model, calculates the distance between products as the sum of the products of the distance by feature and the weight by feature, and generates similar product items in order of lowest distance value.

[0163] According to one embodiment, the electronic device (101) can calculate a conditional probability that a second product may be recommended together in the same session when a first product is searched, based on product similarity. For example, the conditional probability can be calculated based on the number of times "S24" and "Watch" appear together in the same session compared to the number of sessions in which "S24" appears during the entire session.

[0164] According to one embodiment, an electronic device (101) can train a machine learning model using any one of linear regression, LightGBM, and neural network algorithms by utilizing features corresponding to received attribute information, similarity between products, and the probability that a second product can be recommended together. Linear regression may refer to an algorithm that models a linear relationship between independent variables and dependent variables. LightGBM may refer to an algorithm that generates a prediction model using a decision tree, which is a type of Gradient Boosting Machine (GBM) algorithm. A neural network refers to an algorithm that mimics the neural network of the human brain and can be used to learn complex patterns.

[0165] FIG. 6 illustrates a user interface in which an electronic device according to one embodiment recommends similar products.

[0166] In FIG. 6, an electronic device (e.g., the electronic device (101) of FIG. 1) may display a first product (612) and a second product (614) on a display. Although two products are displayed in FIG. 6, the number or type of products is merely an example and is not limited thereto. The electronic device (101) may check user input for an interface (615) related to the second product (614). Based on user input for the interface (615), the electronic device (101) may enlarge the second product (614) and display it as a detailed screen (624), and display a list (630) of products similar to the second product (614).

[0167] According to one embodiment, the electronic device (101) can check user input for an interface (615) related to a second product (614). Here, the interface (615) may refer to a user operation area for checking detailed information about the product.

[0168] According to one embodiment, the electronic device (101) may enlarge a second product (614) based on user input to an interface (615) and display it as a detail screen (624), and may display a list (630) of products similar to the second product (614). The detail screen (624) may include detailed specification information along with an enlarged image of the selected second product. The types of products are merely examples and are not limited thereto, and may vary depending on the settings.

[0169] According to one embodiment, an electronic device (101) performs the following process to generate a list of similar products (630). First, the electronic device (101) collects and stores metadata for each product (e.g., screen size, resolution, processor, memory, etc. in the case of a TV). Then, the electronic device (101) classifies the collected metadata into numeric, categorical, model code, text, etc., and converts each into a form capable of calculating distance. The metadata of the product may vary depending on the type of product. Although FIG. 6 describes the product assuming it is a TV, the type of product is not limited to this.

[0170] According to one embodiment, the electronic device (101) can calculate distances for each characteristic based on the converted data. For example, for numeric data, the absolute value of the difference in values ​​can be normalized and calculated, for categorical data, whether the values ​​are identical can be calculated, and for text data, cosine similarity can be calculated. Additionally, the electronic device (101) can generate a heuristic distance matrix by calculating format_similarity and value_similarity for the model code.

[0171] According to one embodiment, the electronic device (101) can analyze the session data of users and generate a co-act matrix of products that are viewed or searched together within the same session. Subsequently, the electronic device (101) can learn weights by setting a distance matrix for each characteristic as an independent variable and setting a heuristic distance matrix and a co-act matrix as dependent variables.

[0172] According to one embodiment, the electronic device (101) can calculate the distance between products based on learned weights and generate and display a list of similar products (630) in order of proximity. The electronic device (101) can display the list of similar products (630) to provide convenience to the user, allowing them to efficiently search for and compare similar products while checking detailed information about products of interest.

[0173] FIG. 7 is a flowchart illustrating a method for recommending similar products of an electronic device according to one embodiment.

[0174] The operations described through FIG. 7 may be implemented based on instructions that can be stored in a computer recording medium or memory (e.g., memory (130) of FIG. 1). The illustrated method (500) may be executed by an electronic device (e.g., electronic device (101) of FIG. 1) described above through FIG. 1 to 4, and the technical features described above will be omitted below. The order of each operation in FIG. 7 may be changed, some operations may be omitted, and some operations may be performed simultaneously.

[0175] In operation 710, the electronic device (101) can receive attribute information of a plurality of products under the control of a processor (e.g., the processor (120) of FIG. 1). The electronic device (101) can receive attribute information of a plurality of products, including a first product and a second product, from an external server.

[0176] According to one embodiment, an electronic device (101) may communicate with an external server to collect attribute information of various products. Here, attribute information may include basic characteristics such as price, brand, color, size, and material of a product, as well as attributes specialized by product group (e.g., size, material, and style in the case of clothing). This data may be automatically classified and processed into numerical (price, weight), categorical (brand, color), model code, and text data (product description, reviews). The types of attribute information and data are merely examples and are not limited thereto.

[0177] In operation 720, the electronic device (101) can calculate distance and similarity based on the difference in attribute values ​​between products. It can determine the distance between products and the similarity between products. The electronic device (101) can calculate the distance between products by converting the received attribute information by feature and determine the similarity between products based on the calculated distance between products. The collected data is converted according to each characteristic, and in this process, a standardization operation may be performed to prevent bias by characteristic of the data. In the case of numerical data, the difference between two products can be calculated as an absolute value and then divided by the maximum value of the entire data to normalize it to a value between 0 and 1.

[0178] According to one embodiment, the electronic device (101) can represent whether the corresponding attributes of two products are the same for categorical data as 1 or 0. The electronic device (101) can quantify the semantic similarity between texts by utilizing embedding technology such as Word2Vec or BERT to convert text data into a vector, and then calculating cosine similarity.

[0179] Word2Vec can refer to a method of representing words as fixed-dimensional vectors. Each word can be mapped to a single vector representing its meaning. BERT (Bidirectional Encoder Representations from Transformers) can refer to a method of representing words as vectors by considering context. Even the same word can be represented by different vectors depending on the context.

[0180] In operation 730, the electronic device (101) can calculate the probability that a second product may be recommended together in the same session when the first product is searched, based on product similarity. The product recommendation probability is calculated based on sessions, where a session may refer to a series of activities in which a user performs consecutive actions on a website or app. The probability that product B is recommended together when a specific product A is searched can be calculated as (the number of times products A and B appear together in the same session) / (the number of sessions in which product A appears out of the total sessions). For example, if product A is searched in 1,000 sessions and appears together with product B in 200 of those sessions, the conditional probability may be 0.2 (20%). These are all examples, and the types, number, and probabilities of products may vary depending on the situation.

[0181] In operation 740, the electronic device (101) can determine the final list of similar products by readjusting priorities based on the distance vector generated for each product.

[0182] According to one embodiment, the electronic device (101) can generate a final list of similar products by calculating product-specific similarity in operation 740 and reranking priorities. The electronic device (101) can reflect the latest product similarity by generating a new heuristic matrix and a co-act matrix at regular intervals (e.g., daily).

[0183] According to one embodiment, the electronic device (101) can first calculate a distance matrix for each feature of the product. At this time, numerical data can be normalized by the absolute difference, categorical data can be checked for a match, and text data can be measured by calculating the cosine similarity between embedding vectors.

[0184] According to one embodiment, the electronic device (101) can calculate a heuristic score to calculate the similarity of the model code. The electronic device (101) can calculate the format similarity and value similarity for each digit of the model code and determine the final heuristic score by weighting them together.

[0185] According to one embodiment, an electronic device (101) can generate a concurrent action matrix by analyzing a user's session data. The concurrent action matrix records behavioral patterns such as two products being clicked, searched, or purchased together in the same session, and the electronic device (101) can express this as a conditional probability or a binary value (0 or 1).

[0186] According to one embodiment, the electronic device (101) can determine the final ranking by applying weights to prioritized features. According to one embodiment, the electronic device (101) can calculate the final score using the following formula:

[0187] Final score = rank_1*(M^P) + rank_2*(M^(P-1)) + ... + rank_p*(M^1) + rank_h

[0188] Here, P is the number of priority features, M is the number of model codes within the corresponding category, rank_1 through rank_p represent the rank for each priority feature, and rank_h represents the rank based on heuristic scores. The electronic device (101) can determine the final recommendation rank by performing sorting based on the calculated final scores.

[0189] According to one embodiment, the electronic device (101) can change the similarity recommendation criteria by adjusting the number of priority features. For example, the electronic device (101) can set the priority of hardware features, such as screen size or memory capacity, high so that products with similar features are recommended first.

[0190] According to one embodiment, the electronic device (101) can generate a list of similar products based on a calculated final score. In this case, a similarity-based recommendation order can be determined while maintaining the original product order by utilizing a sorted index. The electronic device (101) can generate a predicted similarity matrix and generate a final list of similar product recommendations by performing reranking based on prioritized features.

[0191] According to one embodiment, the electronic device (101) can determine the ranking of recommended products in two ways.

[0192] In the first method, the electronic device (101) can generate a heuristic matrix only when the model is first generated. Afterward, the electronic device (101) can perform a prediction using the generated model without generating a heuristic matrix separately. The electronic device (101) can generate a recommendation list based on the prediction results.

[0193] In a second method, the electronic device (101) can generate a heuristic matrix and a basic recommendation list at regular intervals (e.g., daily), and generate a difference matrix or a similarity matrix only for prioritized features. Here, the interval for generating the heuristic matrix is ​​described as daily, but this may vary depending on the settings.

[0194] According to one embodiment, the electronic device (101) can perform re-ranking for products within a specific category. For example, screen size and memory capacity may be designated as priority features, and rankings may be determined by calculating the differences between products for each feature. The electronic device (101) may calculate a final score by combining the rankings of the priority features and heuristic scores, and readjust the rankings of similar products based on this.

[0195] The embodiments of this document disclosed in this specification and drawings are provided merely as specific examples to facilitate the explanation of the technical content according to the embodiments of this document and to aid in understanding the embodiments of this document, and are not intended to limit the scope of the embodiments of this document. Accordingly, the scope of the embodiments of this document should be interpreted to include all modifications or variations derived based on the technical concept of the embodiments of this document, in addition to the embodiments disclosed herein.

Claims

In electronic devices, Memory that stores instructions and includes one or more storage media; It includes at least one processor comprising processing circuitry, and When the above instructions are executed individually or collectively by the at least one processor, the electronic device Receive attribute information of a plurality of products, including a first product and a second product, from an external server, and Convert the received attribute information by feature, and Select one or more features from the transformed features to be used for training and prediction of a machine learning model, and calculate the distance between products for those features, The similarity between products is determined based on the distance between products of selected features, and Calculate the probability that when user input for the first product is detected, user input for the second product may also be detected in the same session based on the similarity between products, and A machine learning model is trained using features corresponding to the received attribute information, similarity between products, and the probability that the second product can be recommended together, and An electronic device that controls the generation of items for products whose similarity exceeds a specified level for each product using a trained machine learning model. In Article 1, When the above instructions are executed individually or collectively by the at least one processor, the electronic device Common product attributes including product model code, product name, category, price, description, and search keywords, Hardware specifications by product family including at least one of a processor, display, memory, or camera or collects at least one of the software specifications by product family that includes information on supported services and applications, An electronic device that controls the storage of collected information in the above memory. In Article 1, When the above instructions are executed individually or collectively by the at least one processor, the electronic device Automatically classifies types for values ​​by feature, classifies as categorical data if the cardinality of values ​​within the same feature is below a threshold relative to the total number of model codes, and Data composed entirely of numbers, excluding units such as length, weight, and volume, is classified as numerical data. For parts consisting of numbers, process them so that only the numbers remain after excluding the units, and Categorical data is processed by replacing specific values ​​with specific numbers, and Classified as text data based on the fact that it is not classified as the above numerical data and the above categorical data, and An electronic device that controls the concatenation of multiple attributes into a single attribute for processing, and then performs FastText, sBERT, or LLM-based embedding. In Paragraph 3, When the above instructions are executed individually or collectively by the at least one processor, the electronic device For numerical data, the difference between two values ​​is calculated, the absolute value is applied, and this is divided by the maximum value of the corresponding feature to calculate a normalized distance value between 0 and 1, and For categorical data, the distance is set to 0 if the two values ​​are the same, and to 1 if they are different, and For text data, it is converted into a vector through embedding, and then the cosine similarity between the two vectors is calculated and used as the distance value. An electronic device that controls the standardization of values ​​within each matrix to eliminate bias between calculated distance matrices for each feature. In Article 1, When the above instructions are executed individually or collectively by the at least one processor, the electronic device For the format similarity of each digit of the model code, compare whether each digit is a number, an alphabet, or a symbol to calculate the ratio of matching digits to the total number of digits, and For the similarity of values ​​for each digit of the model code, the ratio of matching digits to the total number of digits is calculated by comparing whether the actual value of each digit matches, and An electronic device that controls the determination of similarity between the products using a formula [1 - (Formal similarity X Form weight + Value similarity X Value weight)] in which weights are applied to the calculated format similarity and value similarity, respectively. In Article 1, When the above instructions are executed individually or collectively by the at least one processor, the electronic device By analyzing user sessions, information on products for which at least one of the actions—click, search, order, and purchase—occurred within the same session is collected, and Calculate the conditional probability by using the number of sessions in which the first product appeared among all sessions as the denominator and the number of times the first product and the second product appeared together in the same session as the numerator, or Or an electronic device that controls the generation of a co-act matrix by assigning '1' if a co-act history exists within the same session, and '0' if it does not. In Article 1, When the above instructions are executed individually or collectively by the at least one processor, the electronic device When using a linear regression algorithm, feature coefficients are learned so that feature-specific weights are intuitively understood and can be manually manipulated, and When using ensemble algorithms or neural networks including LightGBM, set the feature-specific distance matrix as an independent variable, and An electronic device that learns feature-specific weights by setting a heuristic similarity matrix or a simultaneous action probability matrix as the dependent variable and controls it so that manual operation is impossible. In Article 7, When the above instructions are executed individually or collectively by the at least one processor, the electronic device A first mode in which the user can manually adjust the coefficients w1 through wf for each feature; or An interface is provided that operates in one of two modes, which sets a priority for each feature and calculates a similarity score based on that priority, and If you want to set the weight of one feature to be equal to the weight of another feature, control it so that the weight value of the other feature can be directly assigned to the weight of that feature, and An electronic device that controls the weight of a single feature to increase or decrease at an arbitrary ratio. In Article 1, When the above instructions are executed individually or collectively by the at least one processor, the electronic device Instead of one-time learning, periodically retrain the machine learning model, and Continuously collecting new product co-act information, including clicks, searches, orders, or purchases, from users' session data, and An electronic device that controls the model to reflect changes in users' perception of similarity by updating feature-specific weights using collected simultaneous behavior information. In Article 1, When the above instructions are executed individually or collectively by the at least one processor, the electronic device Based on the addition of new products, the distance between new products and existing products is calculated by applying previously learned feature-specific weights in the relevant category, and An electronic device that controls the immediate generation of similar product recommendations for new products based on calculated distances. In Article 1, When the above instructions are executed individually or collectively by the at least one processor, the electronic device Receive attribute information from an external server including product common attributes and product family-specific attributes of multiple products, including a first product and a second product, from various sources, and Automatically classify the received attribute information into one of the types—numerical data, categorical data, model code, or text data—and convert it by feature, and Calculate the distance between products by standardizing to prevent bias between transformed features, and Similarity between products is determined based on the calculated distance between products; for numerical data, a normalized value is calculated by dividing the absolute difference between two values ​​by the maximum value; for categorical data, the equality of two values ​​is checked; and for text data, it is determined by calculating cosine similarity after performing text embedding. Based on product similarity, the number of sessions in which the first product appeared among all sessions is used as the denominator, and Calculate the conditional probability that the second product can be recommended together in the same session when the first product is searched, using the number of times the first product and the second product appear together in the same session as the numerator. A machine learning model is trained using one of the algorithms of linear regression, LightGBM, and neural networks, utilizing features corresponding to the received attribute information, similarity between products, and the probability that the second product can be recommended together. Train by setting the feature-specific distance matrix as the independent variable and the heuristic similarity matrix of the model code or the session-based concurrent action probability matrix as the dependent variable, and Using a trained machine learning model, items for products whose similarity exceeds a specified level are generated, and An electronic device that calculates the distance between products as the sum of the products of the distance by feature and the weight by feature, and controls the generation of similar product items in order of lowest distance value. In a computer-readable non-transient storage medium storing one or more programs including instructions executable by at least one processor of an electronic device, When the above instructions are executed individually or collectively by the at least one processor, the electronic device Convert the received attribute information by feature, and Select one or more prioritized features from the transformed features and calculate the product distance for those features, The similarity between products is determined based on the distance between products of selected features, and Calculate the probability that when user input for the first product is detected, user input for the second product may also be detected in the same session based on the similarity between products, and It analyzes the product's model code to calculate format similarity and value similarity, and calculates heuristic scores based on this, Calculate the final similarity by comprehensively considering the distances of prioritized features, user input detection probabilities, and heuristic scores, and A computer-readable non-transient storage medium that controls the generation of items for products where the similarity exceeds a specified level for each product, based on the calculated final similarity. In Paragraph 12, When the above instructions are executed individually or collectively by the at least one processor, the electronic device Common product attributes including product model code, product name, category, price, description, and search keywords, Hardware specifications by product family including at least one of a processor, display, memory, or camera Collecting at least one of the software specifications by product family that includes information on supported services and applications, A computer-readable non-transient storage medium that controls the storage of collected information in the memory. In Paragraph 12, When the above instructions are executed individually or collectively by the at least one processor, the electronic device Automatically classifies types for values ​​by feature, classifies as categorical data if the cardinality of values ​​within the same feature is below a threshold relative to the total number of model codes, and Data composed entirely of numbers, excluding units such as length, weight, and volume, is classified as numerical data. For parts consisting of numbers, process them so that only the numbers remain after excluding the units, and Categorical data is processed by replacing specific values ​​with specific numbers, and Classified as text data based on the fact that it is not classified as the above numerical data and the above categorical data, and A computer-readable non-transient storage medium that controls the concatenation of multiple attributes into a single attribute for processing and then performs FastText, sBERT, or LLM-based embeddings. In Article 14, When the above instructions are executed individually or collectively by the at least one processor, the electronic device For numerical data, the difference between two values ​​is calculated, the absolute value is applied, and this is divided by the maximum value of the corresponding feature to calculate a normalized distance value between 0 and 1, and For categorical data, the distance is set to 0 if the two values ​​are the same, and to 1 if they are different, and For text data, it is converted into a vector through embedding, and then the cosine similarity between the two vectors is calculated and used as the distance value. A computer-readable non-transient storage medium that controls the standardization of values ​​within each matrix to eliminate bias between calculated distance matrices for each feature.