Electronic device for extracting customer segment on basis of hybrid data and control method thereof

The electronic device addresses customer segmentation challenges by using neural network models to process mixed data types, enhancing segmentation accuracy and responsiveness.

WO2026034786A1PCT designated stage Publication Date: 2026-02-12SAMSUNG ELECTRONICS CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2025/008534
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-10-14
Filing Date
2025-06-19
Publication Date
2026-02-12

AI Technical Summary

Technical Problem

Marketers face challenges in segmenting customers based on large datasets due to varying data types (structured and unstructured) and lack of data analysis skills, leading to delayed segment creation and inaccurate targeting, with reliance on third-party data causing limited control and transparency.

Method used

An electronic device equipped with processors and memory that utilize neural network models to process structured and unstructured data, identify keywords, and generate customer lists based on natural language queries, enabling extraction of hybrid data-based customer segments.

Benefits of technology

Facilitates rapid and accurate customer segmentation by integrating structured and unstructured data, providing comprehensive insights and enabling quick market responses.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025008534_12022026_PF_FP_ABST
    Figure KR2025008534_12022026_PF_FP_ABST
Patent Text Reader

Abstract

An electronic device is disclosed. The electronic device comprises: a memory for storing instructions and customer information including structured data and unstructured data for a customer; and one or more processors including processing circuitry, wherein the instructions, when executed individually or collectively by the one or more processors, may: when a natural language query is received, identify an unstructured keyword from the natural language query; update the natural language query by excluding the unstructured keyword from the natural language query; obtain a first customer list corresponding to the updated natural language query from the structured data; obtain a second customer list on the basis of a vector distance between the unstructured data and the unstructured keyword; and provide a final customer list on the basis of the first customer list and the second customer list.
Need to check novelty before this filing date? Find Prior Art

Description

Electronic device and control method for extracting customer segments based on hybrid data

[0001] The present disclosure relates to an electronic device and a method for controlling the same, and more particularly, to an electronic device for extracting hybrid data-based customer segments and a method for controlling the same.

[0002] In today's digital marketplace, traditional marketing strategies are being replaced by data-driven approaches, making delivering personalized messages to specific customer segments a crucial element.

[0003] Segmenting customers based on analyzed data is crucial for successful marketing campaigns. However, extracting and analyzing large datasets to identify target segments remains a significant challenge.

[0004] Marketers often lack data analysis skills, creating bottlenecks and delaying segment creation and modification, hindering rapid response to market changes. Furthermore, the source data used to segment customers varies widely (structured and unstructured) and utilizes each in different ways, making it difficult to comprehensively segment customers by considering the relationships between these data.

[0005] Furthermore, traditionally, marketers have relied on third-party data to run marketing campaigns. This has led to limitations such as limited control, lack of transparency, inaccurate targeting, and limited insight into consumer behavior.

[0006] According to one embodiment of the present disclosure to achieve the above object, an electronic device includes one or more processors including a memory and processing circuitry that store customer information including structured data and unstructured data about customers and instructions, wherein the instructions, when individually or collectively executed by the one or more processors, when a natural language query is received, identify an unstructured keyword from the natural language query, update the natural language query by excluding the unstructured keyword from the natural language query, obtain a first customer list corresponding to the updated natural language query from the structured data, obtain a second customer list based on a vector distance between the unstructured data and the unstructured keyword, and provide a final customer list based on the first customer list and the second customer list.

[0007] Additionally, the instructions, when individually or collectively executed by the one or more processors, may provide, based on the natural language query, the final customer list including overlapping customers among the first customer list and the second customer list or including all customers among the first customer list and the second customer list.

[0008] And, the memory stores a first neural network model trained to update the first input data by excluding the unstructured keyword from the first input data and a second neural network model trained to generate a structured query (SQL) corresponding to the second input data, and the instructions, when individually or collectively executed by the one or more processors, input the natural language query into the first neural network model to obtain the updated natural language query, input the updated natural language query into the second neural network model to obtain a structured query corresponding to the updated natural language query, and obtain the first customer list from the structured data based on the structured query corresponding to the updated natural language query.

[0009] In addition, the instructions, when individually or collectively executed by the one or more processors, input a first query requesting identification of the natural language query and the atypical keyword into the first neural network model to identify the atypical keyword from the natural language query, and input a second query requesting exclusion of the natural language query and the atypical keyword into the first neural network model to obtain the updated natural language query.

[0010] And, when the instructions are individually or collectively executed by the one or more processors, the instructions may map the unstructured data and the unstructured keyword to a multidimensional space, respectively, and if the distance between the mapped unstructured data and the mapped unstructured keyword in the multidimensional space is within a preset distance, the customer corresponding to the unstructured data may be included in the second customer list.

[0011] Additionally, the non-structured data may include at least one of the customer's search history, description information of an application used by the customer, or information about a site accessed by the customer.

[0012] And, when the instructions are individually or collectively executed by the one or more processors, when a compound natural language query including the natural language query is received, the instructions can identify the natural language query and another natural language query from the compound natural language query, identify another unstructured keyword from the other natural language query, update the other natural language query by excluding the other unstructured keyword from the other natural language query, obtain a third customer list corresponding to the updated other natural language query from the structured data, obtain a fourth customer list based on a vector distance between the unstructured data and the other unstructured keyword, and provide the final customer list based on the first customer list, the second customer list, the third customer list, and the fourth customer list.

[0013] In addition, the memory stores a third neural network model trained to divide a complex query into multiple natural language queries, and the instructions, when individually or collectively executed by the one or more processors, when the complex natural language query is received, input the complex natural language query into the third neural network model to obtain the natural language query and the other natural language query.

[0014] And, further comprising a display, the instructions, when individually or collectively executed by the one or more processors, can display the natural language query through the display when the natural language query is received, and can display the final customer list through the display when the final customer list is obtained.

[0015] Meanwhile, according to one embodiment of the present disclosure, a control method of an electronic device may include, when a natural language query is received, a step of identifying an unstructured keyword from the natural language query, a step of updating the natural language query by excluding the unstructured keyword from the natural language query, a step of obtaining a first customer list corresponding to the updated natural language query from structured data about a customer included in customer information, a step of obtaining a second customer list based on a vector distance between unstructured data about a customer included in the customer information and the unstructured keyword, and a step of providing a final customer list based on the first customer list and the second customer list.

[0016] In addition, the providing step may provide the final customer list including overlapping customers among the first customer list and the second customer list or including all customers among the first customer list and the second customer list, based on the natural language query.

[0017] And, the updating step may input the natural language query into a first neural network model to obtain the updated natural language query, and the obtaining step may input the updated natural language query into a second neural network model to obtain a structured query corresponding to the updated natural language query, and obtain the first customer list from the structured data based on the structured query corresponding to the updated natural language query, and the first neural network model may be a neural network model trained to update the first input data by excluding the unstructured keyword from the first input data, and the second neural network model may be a neural network model trained to generate a structured query (structured query language, SQL) corresponding to the second input data.

[0018] In addition, the updating step may input a first query requesting identification of the natural language query and the atypical keyword into the first neural network model to identify the atypical keyword from the natural language query, and input a second query requesting exclusion of the natural language query and the atypical keyword into the first neural network model to obtain the updated natural language query.

[0019] And, the acquiring step may map the unstructured data and the unstructured keyword to a multidimensional space, respectively, and if the distance between the mapped unstructured data and the mapped unstructured keyword in the multidimensional space is within a preset distance, the customer corresponding to the unstructured data may be included in the second customer list.

[0020] Additionally, the non-structured data may include at least one of the customer's search history, description information of an application used by the customer, or information about a site accessed by the customer.

[0021] And, when a compound natural language query including the natural language query is received, the method further includes the steps of: identifying the natural language query and another natural language query from the compound natural language query, identifying another unstructured keyword from the other natural language query, updating the other natural language query by excluding the other unstructured keyword from the other natural language query, and obtaining a third customer list corresponding to the updated other natural language query from the structured data, and obtaining a fourth customer list based on a vector distance between the unstructured data and the other unstructured keyword, and the providing step may provide the final customer list based on the first customer list, the second customer list, the third customer list, and the fourth customer list.

[0022] In addition, the step of identifying the natural language query and the other natural language query may include, when the complex natural language query is received, inputting the complex natural language query into a third neural network model to obtain the natural language query and the other natural language query, and the third neural network model may be a neural network model trained to divide the complex query into a plurality of natural language queries.

[0023] And, when the natural language query is received, the step of displaying the natural language query through a display included in the electronic device is further included, and the step of providing may display the final customer list through the display when the final customer list is obtained.

[0024] Meanwhile, according to one embodiment of the present disclosure, in a non-transitory computer-readable recording medium storing a program for executing an operating method of an electronic device, the operating method may include, when a natural language query is received, a step of identifying an unstructured keyword from the natural language query, a step of updating the natural language query by excluding the unstructured keyword from the natural language query, a step of obtaining a first customer list corresponding to the updated natural language query from structured data about a customer included in customer information, a step of obtaining a second customer list based on a vector distance between unstructured data about a customer included in the customer information and the unstructured keyword, and a step of providing a final customer list based on the first customer list and the second customer list.

[0025] FIG. 1 is a block diagram showing the configuration of an electronic device according to one embodiment of the present disclosure.

[0026] FIG. 2 is a block diagram showing a detailed configuration of an electronic device according to an embodiment of the present disclosure.

[0027] FIG. 3 is a flowchart illustrating a method for providing a customer list according to one embodiment of the present disclosure.

[0028] FIG. 4 is a diagram illustrating a generative neural network model according to an embodiment of the present disclosure.

[0029] FIGS. 5 and 6 are drawings for explaining the logical structure and physical structure of the system architecture of an electronic device (100) according to one embodiment of the present disclosure.

[0030] FIGS. 7 to 9 are drawings for explaining a screen according to an embodiment of the present disclosure.

[0031] FIG. 10 is a flowchart illustrating a method for controlling an electronic device according to an embodiment of the present disclosure.

[0032] The purpose of the present disclosure is to provide an electronic device for extracting hybrid data-based customer segments and a method for controlling the same.

[0033] Hereinafter, the present disclosure will be described in detail with reference to the attached drawings.

[0034] The terms used in the embodiments of this disclosure have been selected from widely used, current terms, taking into account the functions of this disclosure. However, these terms may vary depending on the intentions of those skilled in the art, precedents, the emergence of new technologies, etc. Furthermore, in certain cases, terms may be arbitrarily selected by the applicant, and in such cases, their meanings will be described in detail in the description of the relevant disclosure. Therefore, the terms used in this disclosure should not be defined simply as names of terms, but rather based on the meanings of the terms and the overall content of this disclosure.

[0035] In this specification, expressions such as “has,” “can have,” “includes,” or “may include” indicate the presence of a feature (e.g., a number, function, operation, or component such as a part), and do not exclude the presence of additional features.

[0036] The expression "at least one of A and / or B" should be understood to mean either "A" or "B" or "A and B".

[0037] As used herein, the expressions “first,” “second,” “first,” or “second,” etc., may describe various components, regardless of order and / or importance, and are only used to distinguish one component from another, but do not limit the components.

[0038] Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, terms such as "comprise" or "consist of" are intended to indicate the presence of a feature, number, step, operation, component, part, or combination thereof described in the specification, but should be understood not to preclude the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.

[0039] In this specification, the term user may refer to a person using an electronic device or a device using an electronic device (e.g., an artificial intelligence electronic device).

[0040] Various embodiments of the present disclosure will be described in more detail with reference to the attached drawings below.

[0041] FIG. 1 is a block diagram showing the configuration of an electronic device (100) according to one embodiment of the present disclosure.

[0042] The electronic device (100) provides a customer segment and may be implemented as a server, TV, projector, desktop PC, laptop, smartphone, tablet PC, smart glasses, smart watch, etc. Here, the customer segment refers to a customer list, a customer group, etc., and is expressed as a customer list hereinafter for convenience of explanation. However, the present invention is not limited thereto, and the electronic device (100) may be any device capable of providing a customer list.

[0043] According to FIG. 2, the electronic device (100) includes a memory (110) and a processor (120).

[0044] Memory (110) may refer to hardware that stores information such as data in an electrical or magnetic form so that a processor (120) or the like can access it. To this end, memory (110) may be implemented as at least one piece of hardware from among non-volatile memory, volatile memory, flash memory, hard disk drive (HDD), solid state drive (SSD), RAM, ROM, etc.

[0045] The memory (110) may store at least one instruction required for the operation of the electronic device (100) or the processor (120). Here, the instruction is a code unit that instructs the operation of the electronic device (100) or the processor (120), and may be written in machine language, which is a language that a computer can understand. Alternatively, the memory (110) may store a plurality of instructions for performing a specific task of the electronic device (100) or the processor (120) as an instruction set.

[0046] The memory (110) may store data in bit or byte units that can represent characters, numbers, images, etc. For example, customer information, neural network models, etc. may be stored in the memory (110).

[0047] Here, customer information may include structured and unstructured data about the customer. Structured data may utilize a SQL-based database, while unstructured data may not utilize a SQL-based database. For example, structured data has a predefined data model and utilizes a limited number of data formats, while unstructured data may not have a predefined data model and may also have diverse data formats. Structured data is easily searchable because it utilizes a SQL-based database, but unstructured data may be difficult to search because it does not utilize a SQL-based database.

[0048] Structured data may include predefined information, such as a customer's personal information. Unstructured data refers to information related to a customer other than predefined information. For example, it may include at least one of the following: the customer's search history, descriptions of applications used by the customer, or information about the websites the customer accessed.

[0049] The neural network model may include at least one of a first neural network model trained to update the first input data by excluding an unstructured keyword (preference keyword) from the first input data, a second neural network model trained to generate a structured query language (SQL) corresponding to the second input data, or a third neural network model trained to split a complex query into multiple natural language queries.

[0050] The memory (110) is accessed by the processor (120), and reading / writing / modifying / deleting / updating instructions, instruction sets, or data can be performed by the processor (120).

[0051] The processor (120) controls the overall operation of the electronic device (100). Specifically, the processor (120) is connected to each component of the electronic device (100) and can control the overall operation of the electronic device (100). For example, the processor (120) is connected to components such as the memory (110) and can control the operation of the electronic device (100).

[0052] The one or more processors (120) may include one or more of a CPU, a GPU (Graphics Processing Unit), an APU (Accelerated Processing Unit), a MIC (Many Integrated Core), an NPU (Neural Processing Unit), a hardware accelerator, or a machine learning accelerator. The one or more processors (120) may control one or any combination of other components of the electronic device (100) and perform operations related to communication or data processing. The one or more processors (120) may execute one or more programs or instructions stored in the memory (110). For example, the one or more processors (120) may perform a method according to an embodiment of the present disclosure by executing one or more instructions stored in the memory (110).

[0053] When a method according to an embodiment of the present disclosure includes multiple operations, the multiple operations may be performed by one processor or by multiple processors. For example, when a first operation, a second operation, and a third operation are performed by a method according to an embodiment, the first operation, the second operation, and the third operation may all be performed by the first processor, or the first operation and the second operation may be performed by the first processor (e.g., a general-purpose processor) and the third operation may be performed by the second processor (e.g., an artificial intelligence-specific processor).

[0054] One or more processors (120) may be implemented as a single core processor including one core, or may be implemented as one or more multicore processors including multiple cores (e.g., homogeneous multicores or heterogeneous multicores). When one or more processors (120) are implemented as a multicore processor, each of the multiple cores included in the multicore processor may include an internal processor memory, such as a cache memory or an on-chip memory, and a common cache shared by the multiple cores may be included in the multicore processor. In addition, each of the multiple cores (or some of the multiple cores) included in the multicore processor may independently read and execute a program instruction for implementing a method according to an embodiment of the present disclosure, or all (or some) of the multiple cores may be linked to read and execute a program instruction for implementing a method according to an embodiment of the present disclosure.

[0055] When a method according to an embodiment of the present disclosure includes a plurality of operations, the plurality of operations may be performed by one core among the plurality of cores included in a multi-core processor, or may be performed by the plurality of cores. For example, when a first operation, a second operation, and a third operation are performed by a method according to an embodiment, the first operation, the second operation, and the third operation may all be performed by a first core included in the multi-core processor, or the first operation and the second operation may be performed by a first core included in the multi-core processor, and the third operation may be performed by a second core included in the multi-core processor.

[0056] In embodiments of the present disclosure, one or more processors (120) may refer to a system on a chip (SoC) in which one or more processors and other electronic components are integrated, a single-core processor, a multi-core processor, or a core included in a single-core processor or a multi-core processor, wherein the core may be implemented as a CPU, a GPU, an APU, a MIC, an NPU, a hardware accelerator, or a machine learning accelerator, but the embodiments of the present disclosure are not limited thereto. However, for convenience of explanation, the operation of the electronic device (100) is described below using the expression processor (120).

[0057] The processor (120) can receive a natural language query. For example, the electronic device (100) further includes a user interface, and the processor (120) can receive a natural language query through the user interface. Alternatively, the electronic device (100) further includes a communication interface, and the processor (120) can receive a natural language query from a user terminal device through the communication interface. Alternatively, the electronic device (100) further includes a microphone, and the processor (120) can receive a user's spoken voice through the microphone and obtain a natural language query from the user's spoken voice. However, the present invention is not limited thereto, and the processor (120) can receive a natural language query in any number of ways.

[0058] Natural language queries can be language queries that users commonly use. For example, natural language queries can include at least one of the following: direct natural language queries, complex natural language queries, conversations, or documents.

[0059] When a natural language query is received, the processor (120) can identify non-standard keywords from the natural language query and update the natural language query by excluding non-standard keywords from the natural language query.

[0060] For example, when a natural language query is received, the processor (120) may identify non-structured keywords, such as the customer's search history, description information of applications used by the customer, information about sites accessed by the customer, etc., from the natural language query, and update the natural language query by excluding the non-structured keywords from the natural language query. The updated natural language query may include only structured data.

[0061] Alternatively, when a natural language query is received, the processor (120) may identify structured data, such as customer personal information, from the natural language query and update the natural language query based on the structured data.

[0062] Alternatively, the processor (120) may input a natural language query into the first neural network model to obtain an updated natural language query. For example, the processor (120) may input a first query requesting identification of a natural language query and an atypical keyword into the first neural network model to identify the atypical keyword from the natural language query, and may input a second query requesting exclusion of the natural language query and an atypical keyword into the first neural network model to obtain an updated natural language query. Here, the first neural network model may be a neural network model trained to update the first input data by excluding an atypical keyword from the first input data.

[0063] The processor (120) can obtain a first customer list corresponding to an updated natural language query from structured data about customers included in customer information, and can obtain a second customer list based on a vector distance between unstructured data about customers included in customer information and unstructured keywords.

[0064] For example, the processor (120) may obtain a first customer list corresponding to a profile keyword in an updated natural language query. In addition, the processor (120) may map unstructured data and unstructured keywords about customers included in customer information to a multidimensional space, and if the distance between the mapped unstructured data and the mapped unstructured keywords in the multidimensional space is within a preset distance, the customer corresponding to the unstructured data may be included in a second customer list.

[0065] Alternatively, the processor (120) may input the updated natural language query into a second neural network model to obtain a structured query (SQL) corresponding to the updated natural language query, and obtain a first customer list from the structured data based on the structured query corresponding to the updated natural language query. Here, the first neural network model may be a neural network model trained to generate a structured query corresponding to the second input data.

[0066] As described above, the processor (120) can extract customers in different ways depending on the structured keyword and the unstructured keyword.

[0067] The processor (120) can provide a final customer list based on the first customer list and the second customer list.

[0068] For example, the processor (120) may provide a final customer list that includes overlapping customers in the first customer list and the second customer list, or includes all customers in the first customer list and the second customer list, based on a natural language query. For example, if the natural language query is an and condition, the processor (120) may provide a final customer list that includes overlapping customers in the first customer list and the second customer list, and if the natural language query is an or condition, the processor (120) may provide a final customer list that includes all customers in the first customer list and the second customer list.

[0069] When a compound natural language query including a natural language query is received, the processor (120) may identify a natural language query and another natural language query from the compound natural language query, identify another unstructured keyword from the other natural language query, update the other natural language query by excluding the other unstructured keyword from the other natural language query, obtain a third customer list corresponding to the updated other natural language query from the structured data, obtain a fourth customer list based on a vector distance between the unstructured data and the other unstructured keyword, and provide a final customer list based on the first customer list, the second customer list, the third customer list, and the fourth customer list.

[0070] For example, when a complex natural language query is received, the processor (120) inputs the complex natural language query into a third neural network model to obtain a natural language query and another natural language query, identifies another unstructured keyword from the other natural language query, updates the other natural language query by excluding the other unstructured keyword from the other natural language query, obtains a third customer list corresponding to the updated other natural language query from the structured data, obtains a fourth customer list based on the vector distance between the unstructured data and the other unstructured keyword, and provides a final customer list based on the first customer list, the second customer list, the third customer list, and the fourth customer list. Here, the third neural network model may be a neural network model trained to divide the complex query into a plurality of natural language queries.

[0071] The electronic device (100) further includes a display, and the processor (120) can display the natural language query through the display when a natural language query is received, and can display the final customer list through the display when a final customer list is obtained.

[0072] Meanwhile, functions related to artificial intelligence according to the present disclosure can be operated through a processor (120) and a memory (110).

[0073] The processor (120) may be composed of one or more processors. In this case, the one or more processors may be a general-purpose processor such as a CPU, AP, DSP, etc., a graphics-only processor such as a GPU or VPU (Vision Processing Unit), or an artificial intelligence-only processor such as an NPU.

[0074] One or more processors are controlled to process input data according to predefined operating rules or artificial intelligence models stored in the memory (110). Alternatively, if one or more processors are dedicated artificial intelligence processors, the dedicated artificial intelligence processors may be designed with a hardware structure specialized for processing a specific artificial intelligence model. The predefined operating rules or artificial intelligence models are characterized by being created through learning.

[0075] Here, "created through learning" means that a basic artificial intelligence model is learned using a learning algorithm using a plurality of learning data, thereby creating a predefined set of operating rules or an artificial intelligence model set to perform a desired characteristic (or purpose). This learning may be performed on the device itself on which the artificial intelligence according to the present disclosure is performed, or may be performed through a separate server and / or system. Examples of learning algorithms include, but are not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning.

[0076] An artificial intelligence model may be composed of multiple neural network layers. Each of the multiple neural network layers has multiple weight values ​​and performs neural network operations by calculating the results of previous layers and the multiple weights. The multiple weights of the multiple neural network layers can be optimized based on the learning results of the artificial intelligence model. For example, the multiple weights may be updated during the learning process to reduce or minimize the loss or cost values ​​obtained by the artificial intelligence model.

[0077] Artificial neural networks may include deep neural networks (DNNs), such as, but not limited to, convolutional neural networks (CNNs), deep neural networks (DNNs), recurrent neural networks (RNNs), restricted boltzmann machines (RBMs), deep belief networks (DBNs), bidirectional recurrent deep neural networks (BRDNNs), generative adversarial networks (GANs), or deep Q-networks.

[0078] FIG. 2 is a block diagram showing a detailed configuration of an electronic device (100) according to one embodiment of the present disclosure.

[0079] FIG. 2 is a block diagram illustrating a detailed configuration of an electronic device (100) according to an embodiment of the present disclosure. The electronic device (100) may include a memory (110) and a processor (120). In addition, according to FIG. 2, the electronic device (100) may further include a display (130), a user interface (140), a communication interface (150), a microphone (160), a speaker (170), and a camera (180). For components illustrated in FIG. 2 that overlap with those illustrated in FIG. 1, a detailed description thereof will be omitted.

[0080] The display (130) is a configuration that displays an image and can be implemented as a display of various forms such as an LCD (Liquid Crystal Display), an OLED (Organic Light Emitting Diodes) display, a PDP (Plasma Display Panel), etc. The display (130) may also include a driving circuit, a backlight unit, etc. that can be implemented as a form such as an a-si TFT, an LTPS (low temperature poly silicon) TFT, an OTFT (organic TFT), etc. Meanwhile, the display (130) may be implemented as a touch screen combined with a touch sensor, a flexible display, a 3D display, etc.

[0081] The user interface (140) may be implemented with buttons, a touch pad, a mouse, a keyboard, etc., or may be implemented with a touch screen capable of performing both display and operation input functions. Here, the buttons may be various types of buttons, such as mechanical buttons, touch pads, wheels, etc., formed on any area of ​​the front, side, or back of the main body of the electronic device (100).

[0082] The communication interface (150) is a component that performs communication with various types of external devices according to various types of communication methods. For example, the electronic device (100) can perform communication with a user terminal device or a server through the communication interface (150).

[0083] The communication interface (150) may include a Wi-Fi module, a Bluetooth module, an infrared communication module, a wireless communication module, etc. Here, each communication module may be implemented in the form of at least one hardware chip.

[0084] Wi-Fi and Bluetooth modules communicate via Wi-Fi and Bluetooth, respectively. When using a Wi-Fi or Bluetooth module, connection information, such as the SSID and session key, is first transmitted and received. This information is then used to establish a communication connection before various other information can be transmitted and received. Infrared communication modules use infrared data association (IrDA) technology, which wirelessly transmits data over short distances using infrared light, which lies between visible light and millimeter waves.

[0085] In addition to the above-described communication method, the wireless communication module may include at least one communication chip that performs communication according to various wireless communication standards such as zigbee, 3G (3rd Generation), 3GPP (3rd Generation Partnership Project), LTE (Long Term Evolution), LTE-A (LTE Advanced), 4G (4th Generation), 5G (5th Generation), etc.

[0086] Alternatively, the communication interface (150) may include a wired communication interface such as HDMI, DP, Thunderbolt, USB, RGB, D-SUB, DVI, etc.

[0087] In addition, the communication interface (150) may include at least one of a LAN (Local Area Network) module, an Ethernet module, or a wired communication module that performs communication using a pair cable, a coaxial cable, or an optical fiber cable.

[0088] The microphone (160) is configured to receive sound and convert it into an audio signal. The microphone (160) is electrically connected to the processor (120) and can receive sound under the control of the processor (120).

[0089] For example, the microphone (160) may be formed as an integrated unit integrated into the upper side, front side, side direction, etc. of the electronic device (100). Alternatively, the microphone (160) may be provided in a remote control, etc., separate from the electronic device (100). In this case, the remote control may receive sound through the microphone (160) and provide the received sound to the electronic device (100).

[0090] The microphone (160) may include various configurations such as a microphone that collects analog sound, an amplifier circuit that amplifies the collected sound, an A / D conversion circuit that samples the amplified sound and converts it into a digital signal, and a filter circuit that removes noise components from the converted digital signal.

[0091] Meanwhile, the microphone (160) may be implemented in the form of a sound sensor, and any method may be used as long as it has a configuration capable of collecting sound.

[0092] The speaker (170) is a component that outputs various audio data processed by the processor (120) as well as various notification sounds and voice messages.

[0093] The camera (180) is configured to capture still images or moving images. The camera (180) can capture still images at a specific point in time, but can also capture still images continuously.

[0094] The camera (180) can capture the front of the electronic device (100) to capture the actual environment in front of the electronic device (100). The processor (120) can also identify an area of ​​interest from an image captured by the camera (180).

[0095] The camera (180) includes a lens, a shutter, an aperture, a solid-state image sensor, an AFE (Analog Front End), and a TG (Timing Generator). The shutter controls the time at which light reflected from a subject enters the camera (180), and the aperture mechanically increases or decreases the size of the opening through which light enters to control the amount of light incident on the lens. When the solid-state image sensor accumulates light reflected from a subject as a photocharge, the image generated by the photocharge is output as an electrical signal. The TG outputs a timing signal for reading out pixel data of the solid-state image sensor, and the AFE samples and digitizes the electrical signal output from the solid-state image sensor.

[0096] As described above, the electronic device (100) can extract customers in different ways according to the structured keywords and unstructured keywords included in the natural language query, thereby providing a customer list that better matches the intention of the user who provided the natural language query.

[0097] Additionally, the electronic device (100) provides data-based insights, enabling users such as marketers to quickly respond to market changes.

[0098] Hereinafter, the operation of the electronic device (100) will be described in more detail with reference to FIGS. 3 to 9. For convenience of explanation, individual embodiments are described in FIGS. 3 to 9. However, the individual embodiments of FIGS. 3 to 9 may be implemented in any combination.

[0099] FIG. 3 is a flowchart illustrating a method for providing a customer list according to one embodiment of the present disclosure.

[0100] First, the processor (120) can receive a natural language query (S310). For example, the processor (120) can receive a natural language query such as, "Extract customers who have owned a smartphone or tablet in Korea for more than three years and have searched ss.com and agreed to receive marketing information, and customers in their 30s who have used the 'wedding' app in Korea and searched for wedding halls in the past three months."

[0101] The processor (120) can receive natural language queries in various ways. For example, the processor (120) can receive natural language queries through a user interface (140), such as a keyboard or touch channel. Alternatively, the processor (120) can receive a user's spoken voice through a microphone (160) and obtain a natural language query from the user's spoken voice. Alternatively, the user can input a natural language query through a user terminal device, such as a smartphone or tablet PC, and the processor (120) can receive the natural language query from the user terminal device (100) through a communication interface (150). However, the present invention is not limited thereto, and there are no particular restrictions on the method of receiving a natural language query.

[0102] When a natural language query is received, the processor (120) may segment the natural language query (S320). For example, when a complex natural language query is received, the processor (120) may segment the complex natural language query into multiple natural language queries based on insights and intent. In the above example, the processor (120) may identify "Extract customers who have owned a smartphone or tablet in Korea for more than three years and searched ss.com and have agreed to receive marketing messages, and customers in their 30s who have used the 'wedding' app and searched for wedding halls in Korea in the past three months" as a complex natural language query, and segment the query into a first natural language query such as "Extract customers who have owned a smartphone or tablet in Korea for more than three years and have searched ss.com and have agreed to receive marketing messages," and a second natural language query such as "Extract customers in their 30s who have used the 'wedding' app and searched for wedding halls in Korea in the past three months." That is, the processor (120) can divide the complex natural language query into first and second natural language queries based on the “customer” that is the target of “extract” in the complex natural language query.

[0103] However, the present invention is not limited thereto, and the processor (120) may segment the complex natural language query in any number of ways. For example, the processor (120) may identify "Extract customers who have owned a smartphone or tablet in Korea for more than 3 years and searched ss.com among those who have agreed to receive marketing information, and customers in their 30s who have used the 'wedding' app in Korea and searched for wedding halls in the past three months" as a complex natural language query, and segment the query into a first natural language query such as "Extract customers who have owned a smartphone or tablet in Korea for more than 3 years", a second natural language query such as "Extract customers who have agreed to receive marketing information among those who have searched ss.com", a third natural language query such as "Extract customers who have used the 'wedding' app in Korea in the past three months", and a fourth natural language query such as "Extract customers in their 30s who have searched for wedding halls".

[0104] If the processor (120) identifies a natural language query as a compound natural language query, it may input the compound natural language query into a third neural network model to divide it into multiple natural language queries. Here, the third neural network model may be a neural network model trained to divide the compound query into multiple natural language queries.

[0105] For convenience of explanation, the following description splits the complex natural language query into a first natural language query and a second natural language query. Furthermore, the processing method for the second natural language query is described first.

[0106] The processor (120) can extract keywords for utilizing unstructured data and structured data from the second natural language query and transform the query (S330). For example, the processor (120) can identify unstructured keywords from the second natural language query and update the second natural language query by excluding the unstructured keywords from the second natural language query. For example, the processor (120) can identify "wedding hall" as an unstructured keyword in the second natural language query, such as "Extract customers in their 30s who searched for wedding halls while using the 'wedding' app in the past three months in Korea.", and obtain an updated second natural language query, such as "Extract customers in their 30s who used the 'wedding' app in the past three months in Korea." by excluding "wedding hall" from the second natural language query.

[0107] Here, the unstructured data may include at least one of the customer's search history, description information of the application used by the customer, or information about the website accessed by the customer. That is, the processor (120) may identify unstructured keywords, such as the customer's search history, description information of the application used by the customer, or information about the website accessed by the customer, from the second natural language query, and update the second natural language query by excluding these keywords from the second natural language query. The updated second natural language query may only include structured keywords.

[0108] The processor (120) may input a second natural language query into the first neural network model to obtain an updated second natural language query. For example, the processor (120) may input a first query requesting identification of a natural language query and an unstructured keyword into the first neural network model to identify unstructured keywords from the natural language query, and may input a second query requesting exclusion of the natural language query and an unstructured keyword into the first neural network model to obtain an updated natural language query. Here, the first neural network model may be a neural network model trained to update the first input data by excluding an unstructured keyword from the first input data. That is, the first neural network model may be a neural network model trained to identify unstructured data including at least one of a customer's search history, description information of an application used by the customer, or information about a site accessed by the customer, and to generate sentences excluding the unstructured data.

[0109] However, it is not limited thereto, and the processor (120) may first identify structured keywords from a natural language query, identify the remainder as unstructured keywords, and then update the natural language query.

[0110] The processor (120) can generate a structured query (SQL) from the updated second natural language query (S340). For example, the processor (120) can generate a structured query tailored to a custom dataset (table) from the updated second natural language query. For example, the processor (120) can obtain the following structured query from the updated second natural language query, such as "Extract customers in their 30s who used the 'Wedding' app in Korea over the past three months." Here, the structured query may be data in a format suitable for extracting customers corresponding to the structured query from customer information.

[0111]

[0112] SELECT DISTINCT u.guid FROM database.table1 u JOIN database.table2 a ON u.grid WHERE u.country_code = 'KOR AND u.customer_age BETWEEN 30 AND 39 AND a.app_name IN ('com.wedding.app') AND a.app_usage_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 3 MONTH)

[0113]

[0114] Alternatively, the processor (120) may input the updated second natural language query into a second neural network model to obtain a structured query corresponding to the updated second natural language query. Here, the second neural network model may be a neural network model trained to generate a structured query corresponding to the second input data.

[0115] However, when utilizing a second-order neural network model, a set of queries and structured queries can be constructed in advance for fine-tuning. Structured queries that require prompt engineering can then be generated, and domain knowledge (data usage policies based on tables, abbreviation dictionaries) can be leveraged through Retrieval Augmented Generation (RAG).

[0116] The processor (120) can process structured keywords (S350). For example, a first customer list can be obtained from structured data based on a structured query corresponding to an updated second natural language query.

[0117] The processor (120) can process unstructured keywords (S360). For example, the processor (120) can map unstructured data and unstructured keywords to a multidimensional space, respectively. If the distance between the mapped unstructured data and the mapped unstructured keywords in the multidimensional space is within a preset distance, the processor (120) can obtain a second customer list including customers corresponding to the unstructured data.

[0118] The processor (120) may provide a final customer list based on the first customer list and the second customer list (S370). For example, the processor (120) may provide a final customer list that includes overlapping customers in the first customer list and the second customer list, or includes all customers in the first customer list and the second customer list, based on a natural language query. For example, if the natural language query is an "and" condition, the processor (120) may provide a final customer list that includes overlapping customers in the first customer list and the second customer list, and if the natural language query is an "or" condition, the processor (120) may provide a final customer list that includes all customers in the first customer list and the second customer list. In addition, the processor (120) may also update the final customer list based on the maximum number of requested customers included in the initial query. For example, if the maximum number of requested customers is 100, the processor (120) may filter the final customer list to 100 customers even if the final customer list has 500 customers. The processor (120) may filter the final customer list by asking the user additional questions. Alternatively, the processor (120) may filter the final customer list based on the vector distance between the unstructured data and the unstructured keywords.

[0119] The operations from S330 to S360 above have been described only for the second natural language query. However, the present invention is not limited thereto, and the processor (120) can perform the operations from S330 to S360 for the first natural language query. That is, the processor (120) can obtain a first customer list and a second customer list based on the second natural language query, and can obtain the first customer list and the second customer list based on the first natural language query. The processor (120) can provide a final customer list based on the first customer list and the second customer list based on the first natural language query, and the first customer list and the second customer list based on the second natural language query.

[0120] As described above, the processor (120) processes structured keywords and unstructured keywords from a natural language query in different ways to obtain multiple customer lists, and provides a final customer list based on the multiple customer lists, thereby providing results that are more suitable to the user's needs.

[0121] FIG. 4 is a diagram illustrating a generative neural network model according to an embodiment of the present disclosure.

[0122] The User Query / Response Interface (410) can receive user input. The user input may be in the form of natural language, images, and / or videos. Furthermore, context information may also be transmitted when the user input is transmitted. The context information may include various additional information at the time of user input. For example, the additional information may include information about the application currently being used by the user or information about the user's location. Furthermore, the user input may be in a mixed form of the aforementioned natural language, images, sounds, and context information. Furthermore, the user input may also be in a non-natural language form, such as selecting a menu. The User Query / Response Interface (410) can output the results of a generative artificial intelligence system to the user. The output may be in the form of natural language or specific content, and may also be provided in the form of an action requested by the user. The User Query Interface (410) can output the results of a generative artificial intelligence system to the user. The output may be in the form of natural language or specific content, and may also be provided in the form of an action requested by the user.

[0123] The AI ​​framework (420) can receive user input and coordinate and control each component necessary to perform the user's intention based on the user's query.

[0124] User input received from the User Query / Response Interface (410) can be transmitted to the Prompt design component (420-1). The Prompt design component (420-1) can be used to generate a prompt suitable for inputting the user input into a large language model (LLM) or a large multimodal model (LMM). The Prompt design component (420-1) can be an AI component that uses a machine learning algorithm or a neural network to develop better prompts over time. The Prompt design component (420-1) can access a knowledge component including user preference data, a prompt library, and prompt examples based on the user input to generate a prompt, and transmit the generated prompt to the LLM or LMM.

[0125] The API / Plug-in management component (420-2) can communicate with external information when there is a request for additional information when passing user input as input to a generative model. The API / Plug-in management component (420-2) establishes a channel for communication with the outside of the AI ​​Interface via the API, and can enable access to various data sources through the established channel. In addition, the API / Plug-in management component (420-2) can request an action through the API if the application or service needs to perform an action that ultimately performs the user input, rather than an intermediate result. Information obtained from an external source can be used to generate a prompt in the Prompt design component (420-1) along with the user input, or can be passed as input to the generative model.

[0126] The Output modification component (420-3) can fine-tune the output from the generative model. For example, the Output modification component (420-3) can verify whether the content generated by the LLM and / or LMM is irrelevant, biased, or harmful. Furthermore, the Output modification component (420-3) can determine the degree to which the content matches the user's desired result and, if necessary, perform additional processing. The Output modification component (420-3) can additionally configure and provide hints to the user to avoid undesired output.

[0127] Generative AI Model (430) can generally refer to an artificial intelligence neural network that creates new types of data based on user input information. Generative AI Model (430) can include an image-generating model and / or a language-generating model. Representative models for generating images include a generative adversarial network (GAN) and a variational auto-encoder (VAE), and examples include a Diffusion-based generative model that uses a VAE and a Transformer structure. A language-generating model is a model trained to statistically output the most appropriate output based on input values, and representative examples include models such as CHAT-GPT 3 and CHAT-GPT 4. In addition, there are also LMMs (large multimodal models) that can recognize various types of data input, such as text, images, and voice, and generate new data corresponding to them.

[0128] FIGS. 5 and 6 are drawings for explaining the logical structure and physical structure of the system architecture of an electronic device (100) according to one embodiment of the present disclosure.

[0129] The electronic device (100) may be a device that provides customer segments (lists) based on natural language queries. For example, the processor (120) may use a generative neural network model to provide customer segments corresponding to natural language queries from users, such as marketers. In FIGS. 5 and 6 , this service is referred to as a BD assistant service, and the system providing this service is referred to as a BD assistant. Furthermore, for convenience of explanation, in FIGS. 5 and 6 , the customer list is expressed as a customer segment.

[0130] The logical view of the system architecture of the electronic device (100) describes the related logical structures and modules, and the physical view outlines the physical packaging and arrangement of the modules in the logical view to improve metrics of some quality attributes such as maintainability, security, scalability, etc.

[0131] The logical structure of the system architecture may include first-layer core modules such as web service (510), orchestration (520), multi-agent (530), and BDA (BD Assistant) Studio (540), as illustrated in FIG. 5.

[0132] Web services (510) may provide components that handle user interactions. Orchestration (520) may manage interactions between different system components. Multi-agent (530) may be a multi-agent system that performs various specialized tasks within BD Assistant. BDA Studio (540) describes the user interface and tools provided by BDA Studio to manage data and metrics.

[0133] Users can extract customer segments by adding target data and manage key metrics such as data quality, data retrieval accuracy, and SQL generation accuracy.

[0134] Each core module of the first layer may include sub-modules of the second layer.

[0135] The web service (510) may include web-based user interface sub-modules such as Chat UI (510-1), History UI (510-2), Personal Data UI (510-3), and Segment UI (510-4).

[0136] The Chat UI (510-1) can allow users to submit natural language queries about real-time customer segments and receive responses from the BD Assistant. These responses can include insights and evidence. The InsightGen Agent (830-3), described below, generates insights from customer data in the generated customer segments, and the EvidenceGen Agent (830-5), described below, can verify segmented customer data and insights.

[0137] The History UI (510-2) can allow users to start new conversations and find previous conversations in their conversation list. Users can then resume chatting from the found conversation.

[0138] The Personal Data UI (510-3) can provide a personalized experience to users. The BD Assistant can create customer segments based on customer information stored and managed in the system. However, users can also add personal data in CSV file format to obtain more customized customer segments through the Personal Data Connector.

[0139] Segment UI (510-4) can link the created customer segment to a campaign channel.

[0140] Orchestration (520) may include sub-modules such as Agent Manager (520-1), Knowledge Manager (520-2), Retrieval Augmented Generation (RAG) Manager (520-3), Reasoning and Acting (ReAct) Manager (520-4), and Memory Manager (520-5).

[0141] Agent Manager (520-1) can coordinate multiple Agents to interact and collaborate to produce the best response to a user's natural language query.

[0142] Knowledge Manager (520-2) can connect multiple tools to the agent to interact with various existing knowledge through web searches, API calls, database queries, etc.

[0143] The RAG Manager (520-3) can provide multiple vector databases that can be connected to the LLM and form a new knowledge base based on semantic similarities between the knowledge index and the user's query.

[0144] ReAct Manager (520-4) can provide LLMs with tools to think more deeply and step-by-step to solve more complex problems, such as mathematical computations and data visualization.

[0145] Memory Manager (520-5) provides previous responses from the transformation history, and LLM can provide responses by considering the context of previous queries and responses in the transformation.

[0146] The multi-agent (530) may include sub-modules such as SegGen Agent (530-1), SQLGen Agent (530-2), InsightGen Agent (530-3), Preference Agent (530-4), EvidenceGen Agent (530-5), ReportGen Agent (530-6), TableGen Agent (530-7), etc.

[0147] The Preference Agent (530-4) can generate customer segments based on a given set of preference keywords. Using a vector database containing customer preference data, the Preference Agent (530-4) can match customers with preferences related to the preference keywords based on similarity in the vector space. The interface with other Agents was previously developed as a RESTful API, enabling the SegGen Agent (530-1) to extract preference keywords to create customer segments based on customer preference data.

[0148] The SQLGen Agent (530-2) can initiate a natural language query. First, it can search the tables containing query-related information from the RAG Manager (520-3). The search results are then provided to the LLM, which can retrieve several SQL shots as examples and hints for better SQL generation. Afterwards, it can generate SQL to extract customer segments from the customer information data warehouse. The ReAct Manager (520-4) can initiate an iterative process of observation, thinking, and optimization. Based on the results, the SQLGen Agent (530-2) can finalize the customer segments.

[0149] The SegGen Agent (530-1) can perform query analysis. The SegGen Agent (530-1) can extract non-standard keywords (preference keywords) to obtain a first customer segment from the Preference Agent (530-4). Furthermore, the SegGen Agent (530-1) can simultaneously remove non-standard keywords from a natural language query to generate an updated natural language query. The updated natural language query is transmitted to the SQLGen Agent (530-2), and the SQLGen Agent (530-2) can obtain a second customer segment using the updated natural language query. The SegGen Agent (530-1) can integrate the first and second customer segments and provide them to the user along with evidence data obtained from the EvidenceGen Agent (530-5).

[0150] The EvidenceGen Agent (530-5) can generate evidence data to prove that the generated customer segment matches all target information in the natural language query, such as customer age, gender, country, and device ownership. This evidence data can be extracted from customer information in the data warehouse. Accordingly, users such as marketers can verify that customers in this segment are accurately targeted at the real-time customer data level before using it in an actual campaign.

[0151] The InsightGen Agent (530-3) can generate insightful outputs through statistical analysis, exploratory data analysis (EDA), and predictive analytics, including time series analysis, in addition to generating basic data descriptions and simple statistical calculations. The generated insights can be primarily comprised of three components: the analysis process, summarized responses, and visualizations (charts). The analysis process can encompass the agent's entire thought process, including understanding the data, performing necessary preprocessing, generating code, and executing it. The summarized responses can represent the ultimate response to a natural language query.

[0152] ReportGen Agent (530-6) can generate a report that synthesizes and summarizes multiple insights generated by InsightGen Agent (530-3).

[0153] SegGen Agent (530-1), SQLGen Agent (530-2), InsightGen Agent (530-3), Preference Agent (530-4), EvidenceGen Agent (530-5), ReportGen Agent (530-6)

[0154] TableGen Agent (530-7) can create well-structured tables from raw, unrefined customer data tables. LLM can then upgrade the new tables to enable a clearer and more accurate understanding of the data.

[0155] BDA Studio (540) may include sub-modules such as Experiment Function (540-1), Query Function (540-2), Customer Data Function (540-3), Few Shot Function (540-4), Domain Knowledge Function (540-5), and Evaluation Function (540-6).

[0156] The Experiment Function (540-1) allows users to create, list, and manage their own experiments within a specific domain. Users can easily create new experiments, add team members, and list existing experiments. These features can be essential for efficiently organizing and collaborating on various experiments. An experiment can include components consisting of the Query Function (540-2), Customer Data Function (540-3), Few Shot Function (540-4), and Domain Knowledge Function (540-5).

[0157] The Query Function (540-2) can handle natural language query management within an experiment. Users can load existing queries, add new queries, and save updated query lists. This feature can be crucial for enabling intuitive interaction with data, allowing users to query the system using natural language queries.

[0158] The Customer Data Function (540-3) allows users to load and save tables used for data analysis. The Customer Data Function (540-3) can also support table modifications to ensure that the tables are up-to-date and relevant for ongoing analysis. Furthermore, the Customer Data Function (540-3) can seamlessly integrate new data into the analysis workflow.

[0159] Few-shot function (540-4) can be designed to process queries and examples used in Few-shot learning. Few-shot function (540-4) can load and validate Few-shot queries, helping the system learn and adapt with minimal data. Few-shot function (540-4) can be particularly useful for improving system performance with limited examples.

[0160] The Domain Knowledge Function (540-5) can be designed to manage domain-specific knowledge within an experiment. Users can load existing domain knowledge and store new information related to their experiment. This allows all team members to access up-to-date domain knowledge, crucial for accurate decision-making.

[0161] The Evaluation Function (540-6) can assess the quality and accuracy of materials used in experiments. Based on the data included in the experiment, the Evaluation Function (540-6) can provide tools for assessing customer data quality, search accuracy, and SQL generation accuracy. Regular evaluations using the Evaluation Function (540-6) ensure that data and processes maintain high standards, which can be essential for reliable and accurate results.

[0162] The physical structure of the system architecture may include core modules of the first layer, such as Kubernetes Cluster (910), Github (920), Vectore Database (930), Warehouse (940), Model Component (950), and Relational Database (960), as illustrated in FIG. 6.

[0163] The system architecture may include components for computing, storage, and modeling. Modules introduced in the logical view of the architecture design may be deployed as components in the deployment diagram of Figure 6. The modules may be separated into components for the BD Assistant and the web services of BDA Studio (540).

[0164] Implementing a microservices architecture for BD Assistant can improve development productivity and simplify maintenance. Furthermore, parallel development allows teams to work independently on different services, accelerating the development process. The architecture supports independent deployment and scaling, improving fault isolation and system resilience. Furthermore, it facilitates continuous integration and deployment (CI / CD), ensuring rapid and reliable updates with minimal disruption. It also allows for technical flexibility and service reusability, making the system more adaptable.

[0165] FIGS. 7 to 9 are drawings for explaining a screen according to an embodiment of the present disclosure.

[0166] When a natural language query is received, the processor (120) can display the natural language query through the display (130). For example, as illustrated in FIG. 7, when a natural language query such as "Tell me about customers in their 30s who have used the 'wedding' app in Korea and searched for the ss Gangnam main branch in the past three months," the processor (120) can display the received natural language query through the display (130).

[0167] The processor (120) can display a natural language query, identify unstructured keywords from the natural language query, and obtain an updated natural language query by removing the unstructured keywords from the natural language query. For example, as illustrated in FIG. 8, the processor (120) can identify “ss Gangnam Main Branch” as an unstructured keyword from a natural language query such as “Tell me about customers in their 30s who used the ‘wedding’ app in Korea in the past three months and searched for ‘ss Gangnam Main Branch’,” and can control “ss Gangnam Main Branch” from the natural language query to obtain an updated natural language query such as “Tell me about customers in their 30s who used the ‘wedding’ app in Korea in the past three months.” The processor (120) can display a method using unstructured keywords as source 1 and a method using the updated natural language query as source 2 through the display (130).

[0168] The processor (120) may obtain a first customer list based on an updated natural language query, obtain a second customer list based on an unstructured keyword, obtain a final customer list based on the first customer list and the second customer list, and display an icon for downloading the final customer list through the display (130). For example, the processor (120) may obtain a final customer list including overlapping customers among the first customer list and the second customer list, and display a first icon for downloading the final customer list and a second icon for downloading supporting documents therefor, as illustrated in FIG. 9, through the display (130).

[0169] In FIGS. 7 to 9, the operation is described when a natural language query such as “Tell me about customers in their 30s who searched for ss Gangnam main branch while using the ‘wedding’ app in Korea in the past three months.” is received, but the processor (120) can perform operations for any number of natural language queries.

[0170] Additionally, the processor (120) may generate natural language queries based on user requests. For example, the processor (120) may directly generate natural language queries based on user requests, such as, "You are a customer marketing expert. Create a request to request a customer list to extract based on the insights for extracting a customer list through a given text. If a single customer segment is needed, create only one request."

[0171] To apply the Chain of Thought (CoT), step-by-step processing requests such as “First, analyze the insight or intent, and then create a customer list request tailored to each insight or intent” can be added.

[0172] Based on the requester's country information, information on countries with restricted requests can be stored for each country, and data can be requested only for countries with customer list access through Retrieval Augmented Generation (RAG) upon request. For example, if the requester is Korean, the processor (120) can restrict access to customer information for corporations other than Korean corporations. For example, the processor (120) can adjust natural language generation according to data access permission requests, such as, "If the request is not for a customer list for a country with access permission for each corporation, please respond that it is difficult to extract a customer list for that country."

[0173] The processor (120) can divide the customer list into units to be extracted later according to the form of various natural language queries based on the request as described above.

[0174] Meanwhile, the processor (120) can identify non-standard keywords from a natural language query using a first neural network model. For example, the electronic device (100) may store a feature embedding model capable of identifying similarities and customer-specific feature information. The processor (120) can identify non-standard keywords (preference keywords) from a natural language query using the first neural network model, embed them, and extract a customer list based on feature similarity. For example, when a natural language query such as "You are a customer marketing expert. You are trying to extract a list of customers with a specific preference from among 'extract male customers in their 30s who like dogs'" is received, the processor (120) can identify 'dog' as an non-standard keyword.

[0175] The first neural network model uses a pre-trained GPT model and can accumulate natural language domain data by country (Korean / English) and marketing domain data to be used in RAG and Few Shot.

[0176] The processor (120) can analyze natural language queries step by step using CoT (Chain of Thought) and retrieve and integrate domain-specific related information using RAG (Retrieval Augmented Generation).

[0177] The processor (120) can extract non-standard keywords and generate a query for extracting standard keywords (profile keywords) from which the non-standard keywords extracted in stages are excluded. The processor (120) can generate a structured query from the generated query for extracting standard keywords through a second neural network model and obtain a first customer list.

[0178] For example, when a natural language query such as “a man in his 30s who likes dogs” is received, the processor (120) can extract “dog” as an atypical keyword and obtain an updated query such as “give me a list of male customers in their 30s” by excluding the atypical keyword.

[0179] Meanwhile, the processor (120) can process various types of natural language queries. For example, when a single natural language query such as "Extract a list of male customers in their 30s who like dogs" is received, the processor (120) can extract unstructured keywords and generate a structured query from the updated natural language query. The processor (120) can obtain a first customer list through filtering using the structured query, and obtain a second similar customer list based on embedded features using unstructured keywords, thereby obtaining a final customer list. Here, the structured query can be "SELECT * FROM customers WHERE age BETWEEN 30 AND 39 AND gender = 'male';"

[0180] Alternatively, the processor (120) may receive a complex natural language query such as "Extract a list of customers who are male in their 30s and female in their 40s who like dogs." In this case, the processor (120) may obtain a first natural language query, "a male in his 30s who likes dogs," from which the first unstructured keyword "dog" and the first structured query "a male in his 30s" may be obtained. In addition, the processor (120) may obtain a second natural language query, "a female in her 40s who likes cats," from which the second unstructured keyword "cat" and the second structured query "a female in her 40s" may be obtained. Here, the first structured query may be "SELECT * FROM customers WHERE age BETWEEN 30 AND 39 AND gender = 'male';", and the second structured query may be "SELECT * FROM customers WHERE age BETWEEN 40 AND 49 AND gender = 'female';".

[0181] Alternatively, the processor (120) may receive a natural language query in the form of a conversation as follows.

[0182]

[0183] A (male in his 30s): "I'm currently looking for a wedding hall because I'm preparing for marriage."

[0184] B (Female in her 20s): "A lot of my friends are raising cats these days, so I think they're interested in pet shops."

[0185]

[0186] In this case, the processor (120) may obtain a first natural language query, “a man in his 30s who is interested in wedding halls,” from which the first unstructured keyword “wedding halls” and the first structured query “a man in his 30s” may be obtained, and a second natural language query, “a woman in her 20s who is interested in cats and pet shops,” from which the second unstructured keywords “cats,” “pet shops,” and the second structured query “a woman in her 20s” may be obtained. Here, the first structured query may be “SELECT * FROM customers WHERE age BETWEEN 30 AND 39 AND gender = 'male';”, and the second structured query may be “SELECT * FROM customers WHERE age BETWEEN 20 AND 29 AND gender = 'female';”.

[0187] Alternatively, the processor (120) may receive a natural language query in the form of a report as follows.

[0188]

[0189] I'm trying to segment customers based on a report titled "Pet Preferences and Digital Pet Product Usage by Age and Gender." The report contains the following information:

[0190] - Customer segment statistics: number of customers, age distribution, gender ratio, etc.

[0191] - Preference Analysis: Key Interests and Preference Patterns

[0192] - Marketing strategy suggestions: effective marketing channels, message strategies, expected effects, etc.

[0193]

[0194] In this case, the processor (120) can analyze the main interests in the report to obtain the unstructured keyword "puppy" and the structured query "male in his 30s." Here, the structured query can be "SELECT * FROM customers WHERE age BETWEEN 30 AND 39 AND gender = 'male';"

[0195] The processor (120) can obtain a final customer list in a similar manner for various types of natural language queries as described above.

[0196] FIG. 10 is a flowchart illustrating a method for controlling an electronic device according to an embodiment of the present disclosure.

[0197] First, when a natural language query is received, unstructured keywords are identified from the natural language query (S1010). Then, the natural language query is updated by excluding unstructured keywords from the natural language query (S1020). Then, a first customer list corresponding to the updated natural language query is obtained from structured data about customers included in customer information, and a second customer list is obtained based on the vector distance between the unstructured data about customers included in the customer information and the unstructured keywords (S1030). Then, a final customer list is provided based on the first customer list and the second customer list (S1040).

[0198] In addition, the providing step (S1040) may provide a final customer list that includes overlapping customers among the first customer list and the second customer list or includes all customers among the first customer list and the second customer list, based on a natural language query.

[0199] And, the updating step (S1020) inputs a natural language query into a first neural network model to obtain an updated natural language query, and the obtaining step (S1030) inputs the updated natural language query into a second neural network model to obtain a structured query corresponding to the updated natural language query, and obtains a first customer list from structured data based on the structured query corresponding to the updated natural language query, and the first neural network model may be a neural network model trained to update the first input data by excluding unstructured keywords from the first input data, and the second neural network model may be a neural network model trained to generate a structured query (structured query language, SQL) corresponding to the second input data.

[0200] In addition, the updating step (S1020) may input a first query requesting identification of a natural language query and an atypical keyword into a first neural network model to identify an atypical keyword from the natural language query, and input a second query requesting exclusion of a natural language query and an atypical keyword into the first neural network model to obtain an updated natural language query.

[0201] And, the acquiring step (S1030) maps the unstructured data and the unstructured keywords to a multidimensional space, respectively, and if the distance between the mapped unstructured data and the mapped unstructured keywords in the multidimensional space is within a preset distance, the customer corresponding to the unstructured data can be included in the second customer list.

[0202] Additionally, the unstructured data may include at least one of the customer's search history, description information of the application the customer uses, or information about the site the customer accessed.

[0203] And, when a compound natural language query including a natural language query is received, the method further includes a step of identifying a natural language query and another natural language query from the compound natural language query, a step of identifying another unstructured keyword from the other natural language query, a step of updating the other natural language query by excluding the other unstructured keyword from the other natural language query, and a step of obtaining a third customer list corresponding to the updated other natural language query from the structured data, and a step of obtaining a fourth customer list based on a vector distance between the unstructured data and the other unstructured keyword, and the providing step (S1040) can provide a final customer list based on the first customer list, the second customer list, the third customer list, and the fourth customer list.

[0204] In addition, the step of identifying a natural language query and other natural language queries is such that when a complex natural language query is received, the complex natural language query is input into a third neural network model to obtain the natural language query and other natural language queries, and the third neural network model may be a neural network model trained to divide the complex query into multiple natural language queries.

[0205] And, when a natural language query is received, the step of displaying the natural language query through a display included in the electronic device is further included, and the step of providing (S1040) can display the final customer list through the display when the final customer list is obtained.

[0206] As described above, according to one embodiment, an electronic device includes one or more processors including a memory and processing circuitry that store customer information including structured data and unstructured data about customers and instructions, wherein the instructions, when individually or collectively executed by the one or more processors, when a natural language query is received, identify an unstructured keyword from the natural language query, update the natural language query by excluding the unstructured keyword from the natural language query, obtain a first customer list corresponding to the updated natural language query from the structured data, obtain a second customer list based on a vector distance between the unstructured data and the unstructured keyword, and provide a final customer list based on the first customer list and the second customer list.

[0207] In one example, the instructions, when individually or collectively executed by the one or more processors, may provide, based on the natural language query, the final customer list including overlapping customers from the first customer list and the second customer list or including all customers from the first customer list and the second customer list.

[0208] According to one example, the memory stores a first neural network model trained to update the first input data by excluding the unstructured keyword from the first input data and a second neural network model trained to generate a structured query (SQL) corresponding to the second input data, and the instructions, when individually or collectively executed by the one or more processors, input the natural language query to the first neural network model to obtain the updated natural language query, input the updated natural language query to the second neural network model to obtain a structured query corresponding to the updated natural language query, and obtain the first customer list from the structured data based on the structured query corresponding to the updated natural language query.

[0209] According to one example, the instructions, when individually or collectively executed by the one or more processors, may input a first query requesting identification of the natural language query and the atypical keyword to the first neural network model to identify the atypical keyword from the natural language query, and input a second query requesting exclusion of the natural language query and the atypical keyword to the first neural network model to obtain the updated natural language query.

[0210] According to one example, the instructions, when individually or collectively executed by the one or more processors, may map the unstructured data and the unstructured keyword to a multidimensional space, respectively, and include a customer corresponding to the unstructured data in the second customer list if the distance between the mapped unstructured data and the mapped unstructured keyword in the multidimensional space is within a preset distance.

[0211] In one example, the unstructured data may include at least one of the customer's search history, description information of an application used by the customer, or information about a site accessed by the customer.

[0212] According to one example, the instructions, when individually or collectively executed by the one or more processors, when a compound natural language query including the natural language query is received, identify the natural language query and another natural language query from the compound natural language query, identify another unstructured keyword from the other natural language query, update the other natural language query by excluding the other unstructured keyword from the other natural language query, obtain a third customer list corresponding to the updated other natural language query from the structured data, obtain a fourth customer list based on a vector distance between the unstructured data and the other unstructured keyword, and provide the final customer list based on the first customer list, the second customer list, the third customer list, and the fourth customer list.

[0213] According to one example, the memory stores a third neural network model trained to divide a compound query into a plurality of natural language queries, and the instructions, when individually or collectively executed by the one or more processors, when the compound natural language query is received, input the compound natural language query into the third neural network model to obtain the natural language query and the other natural language query.

[0214] According to one example, the display further includes instructions that, when individually or collectively executed by the one or more processors, when the natural language query is received, display the natural language query through the display, and when the final customer list is obtained, display the final customer list through the display.

[0215] A method for controlling an electronic device according to an embodiment may include, when a natural language query is received, a step of identifying an unstructured keyword from the natural language query, a step of updating the natural language query by excluding the unstructured keyword from the natural language query, a step of obtaining a first customer list corresponding to the updated natural language query from structured data about a customer included in customer information, a step of obtaining a second customer list based on a vector distance between unstructured data about a customer included in the customer information and the unstructured keyword, and a step of providing a final customer list based on the first customer list and the second customer list.

[0216] In one example, the providing step may provide, based on the natural language query, the final customer list including overlapping customers among the first customer list and the second customer list or including all customers among the first customer list and the second customer list.

[0217] According to one example, the updating step may input the natural language query into a first neural network model to obtain the updated natural language query, the obtaining step may input the updated natural language query into a second neural network model to obtain a structured query corresponding to the updated natural language query, and obtain the first customer list from the structured data based on the structured query corresponding to the updated natural language query, wherein the first neural network model may be a neural network model trained to update the first input data by excluding the unstructured keyword from the first input data, and the second neural network model may be a neural network model trained to generate a structured query (structured query language, SQL) corresponding to the second input data.

[0218] According to one example, the updating step may input a first query requesting identification of the natural language query and the atypical keyword into the first neural network model to identify the atypical keyword from the natural language query, and input a second query requesting exclusion of the natural language query and the atypical keyword into the first neural network model to obtain the updated natural language query.

[0219] According to one example, the acquiring step may include mapping the unstructured data and the unstructured keyword to a multidimensional space, respectively, and if the distance between the mapped unstructured data and the mapped unstructured keyword in the multidimensional space is within a preset distance, the customer corresponding to the unstructured data may be included in the second customer list.

[0220] In one example, the unstructured data may include at least one of the customer's search history, description information of an application used by the customer, or information about a site accessed by the customer.

[0221] According to one example, when a compound natural language query including the natural language query is received, the method further includes the steps of: identifying the natural language query and another natural language query from the compound natural language query; identifying another unstructured keyword from the other natural language query; updating the other natural language query by excluding the other unstructured keyword from the other natural language query; and obtaining a third customer list corresponding to the updated other natural language query from the structured data, and obtaining a fourth customer list based on a vector distance between the unstructured data and the other unstructured keyword, wherein the providing step may provide the final customer list based on the first customer list, the second customer list, the third customer list, and the fourth customer list.

[0222] According to one example, the step of identifying the natural language query and the other natural language query may include, when the compound natural language query is received, inputting the compound natural language query into a third neural network model to obtain the natural language query and the other natural language query, and the third neural network model may be a neural network model trained to divide the compound query into a plurality of natural language queries.

[0223] According to one example, when the natural language query is received, the step of displaying the natural language query through a display included in the electronic device may further include, and the step of providing may display the final customer list through the display when the final customer list is obtained.

[0224] In a non-transitory computer-readable recording medium storing a program for executing an operating method of an electronic device according to an embodiment, the operating method may include, when a natural language query is received, a step of identifying an unstructured keyword from the natural language query, a step of updating the natural language query by excluding the unstructured keyword from the natural language query, a step of obtaining a first customer list corresponding to the updated natural language query from structured data about a customer included in customer information, a step of obtaining a second customer list based on a vector distance between unstructured data about a customer included in the customer information and the unstructured keyword, and a step of providing a final customer list based on the first customer list and the second customer list.

[0225] According to various embodiments of the present disclosure as described above, an electronic device can extract customers in different ways according to structured keywords and unstructured keywords included in a natural language query, thereby providing a customer list that is more in line with the intention of a user who provided a natural language query.

[0226] Additionally, electronic devices provide data-driven insights, enabling users such as marketers to quickly respond to market changes.

[0227] Meanwhile, while the above description describes identifying a device to be used later using usage information from at least one of multiple electronic devices, the present invention is not limited thereto. For example, a refrigerator may transmit information about an item removed from the refrigerator to a server. If the server identifies the item as requiring oven preheating, it may transmit a control signal to the oven to preheat the oven. Here, the refrigerator may transmit an image of the item removed to the server via a camera, or may transmit the product name of the item removed from the image to the server. Upon receiving the image of the item removed, the server may identify the product name of the item removed from the image. For example, a neural network model may be used to identify the product name of the item removed from the image. Alternatively, the user may input information about the item removed through an IoT application on their terminal device.

[0228] Meanwhile, according to a temporary example of the present disclosure, the various embodiments described above can be implemented as software including instructions stored in a machine-readable storage medium that can be read by a machine (e.g., a computer). The device is a device that can call instructions stored from the storage medium and operate according to the called instructions, and may include an electronic device (e.g., electronic device (A)) according to the disclosed embodiments. When an instruction is executed by a processor, the processor can perform a function corresponding to the instruction directly or by using other components under the control of the processor. The instruction may include code generated or executed by a compiler or interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' means that the storage medium does not contain a signal and is tangible, but does not distinguish between data being stored semi-permanently or temporarily in the storage medium.

[0229] Furthermore, according to one embodiment of the present disclosure, the method according to the various embodiments described above may be provided as included in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read-only memory (CD-ROM)) or online through an application store (e.g., Play Store™). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily generated in a storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.

[0230] Furthermore, according to one embodiment of the present disclosure, the various embodiments described above may be implemented in a computer-readable recording medium or a similar device using software, hardware, or a combination thereof. In some cases, the embodiments described herein may be implemented by the processor itself. In a software implementation, embodiments such as the procedures and functions described herein may be implemented as separate software. Each software may perform one or more functions and operations described herein.

[0231] Meanwhile, computer instructions for performing processing operations of a device according to the various embodiments described above may be stored in a non-transitory computer-readable medium. The computer instructions stored in such a non-transitory computer-readable medium, when executed by a processor of a specific device, cause the specific device to perform processing operations in the device according to the various embodiments described above. A non-transitory computer-readable medium refers to a medium that permanently stores data and can be read by a device, rather than a medium that stores data for a short period of time, such as a register, cache, or memory. Specific examples of non-transitory computer-readable media may include a CD, DVD, hard disk, Blu-ray disk, USB, memory card, or ROM.

[0232] In addition, each of the components (e.g., modules or programs) according to the various embodiments described above may be composed of a single or multiple entities, and some of the corresponding sub-components described above may be omitted, or other sub-components may be further included in various embodiments. Alternatively or additionally, some components (e.g., modules or programs) may be integrated into a single entity, which may perform the same or similar functions as those performed by each of the corresponding components prior to integration. Operations performed by modules, programs or other components according to various embodiments may be executed sequentially, in parallel, iteratively or heuristically, or at least some operations may be executed in a different order, omitted, or other operations may be added.

[0233] Although the preferred embodiments of the present disclosure have been illustrated and described above, the present disclosure is not limited to the specific embodiments described above, and various modifications may be made by a person having ordinary skill in the art to which the present disclosure pertains without departing from the gist of the present disclosure as claimed in the claims, and such modifications should not be understood individually from the technical idea or prospect of the present disclosure.

Claims

1. In electronic devices, A memory that stores customer information and instructions including structured and unstructured data about the customer; and one or more processors including processing circuitry; The above instructions, when individually or collectively executed by the one or more processors, When a natural language query is received, non-standard keywords are identified from the natural language query, Update the natural language query by excluding the atypical keyword from the natural language query, Obtain a first customer list corresponding to the updated natural language query from the structured data, and obtain a second customer list based on the vector distance between the unstructured data and the unstructured keyword. An electronic device that provides a final customer list based on the first customer list and the second customer list.

2. In paragraph 1, The above instructions, when individually or collectively executed by one or more processors, An electronic device that provides, based on the natural language query, the final customer list including overlapping customers among the first customer list and the second customer list or including all customers among the first customer list and the second customer list.

3. In paragraph 1, The above memory is, Store a first neural network model trained to update the first input data by excluding the atypical keyword from the first input data and a second neural network model trained to generate a structured query language (SQL) corresponding to the second input data, The above instructions, when individually or collectively executed by one or more processors, By inputting the above natural language query into the first neural network model, the updated natural language query is obtained, By inputting the above updated natural language query into the second neural network model, a structured query corresponding to the above updated natural language query is obtained, An electronic device that obtains the first customer list from the structured data based on a structured query corresponding to the updated natural language query.

4. In paragraph 3, The above instructions, when individually or collectively executed by one or more processors, A first query requesting identification of the natural language query and the atypical keyword is input into the first neural network model to identify the atypical keyword from the natural language query, An electronic device that inputs the natural language query and a second query requesting exclusion of the atypical keyword into the first neural network model to obtain the updated natural language query.

5. In paragraph 1, The above instructions, when individually or collectively executed by one or more processors, An electronic device that maps the above-mentioned unstructured data and the above-mentioned unstructured keywords to a multidimensional space, and if the distance between the mapped unstructured data and the mapped unstructured keywords in the multidimensional space is within a preset distance, includes a customer corresponding to the above-mentioned unstructured data in the second customer list.

6. In paragraph 5, The above unstructured data is, An electronic device comprising at least one of the customer's search history, description information of an application used by the customer, or information about a site accessed by the customer.

7. In paragraph 1, The above instructions, when individually or collectively executed by one or more processors, When a compound natural language query including the above natural language query is received, the natural language query and other natural language queries are identified from the compound natural language query, Identifying other non-standard keywords from the above natural language queries, Update the above natural language query by excluding the above non-standard keywords from the above natural language query, Obtain a third customer list corresponding to the updated other natural language query from the above structured data, and obtain a fourth customer list based on the vector distance between the unstructured data and the other unstructured keyword. An electronic device that provides the final customer list based on the first customer list, the second customer list, the third customer list, and the fourth customer list.

8. In paragraph 7, The above memory is, Store a third neural network model trained to split a complex query into multiple natural language queries, The above instructions, when individually or collectively executed by one or more processors, An electronic device that, when the above-mentioned complex natural language query is received, inputs the above-mentioned complex natural language query into the third neural network model to obtain the above-mentioned natural language query and the above-mentioned other natural language query.

9. In paragraph 1, including display; The above instructions, when individually or collectively executed by one or more processors, When the above natural language query is received, the above natural language query is displayed through the display, An electronic device that displays the final customer list through the display when the final customer list is obtained.

10. In a method for controlling an electronic device, When a natural language query is received, a step of identifying an atypical keyword from the natural language query; A step of updating the natural language query by excluding the atypical keyword from the natural language query; A step of obtaining a first customer list corresponding to the updated natural language query from structured data about customers included in customer information, and obtaining a second customer list based on a vector distance between unstructured data about customers included in the customer information and the unstructured keyword; and A control method comprising: a step of providing a final customer list based on the first customer list and the second customer list.

11. In paragraph 10, The steps provided above are: A control method for providing, based on the natural language query, the final customer list including overlapping customers among the first customer list and the second customer list or including all customers among the first customer list and the second customer list.

12. In paragraph 10, The above updating steps are: By inputting the above natural language query into the first neural network model, the above updated natural language query is obtained, The above acquisition steps are: By inputting the above updated natural language query into the second neural network model, a structured query corresponding to the above updated natural language query is obtained, Obtaining the first customer list from the structured data based on a structured query corresponding to the updated natural language query; The above first neural network model is, A neural network model trained to update the first input data by excluding the atypical keyword from the first input data, The above second neural network model is, A control method, wherein the neural network model is trained to generate structured query language (SQL) corresponding to second input data.

13. In paragraph 12, The above updating steps are: A first query requesting identification of the natural language query and the atypical keyword is input into the first neural network model to identify the atypical keyword from the natural language query, A control method for obtaining the updated natural language query by inputting the natural language query and a second query requesting exclusion of the atypical keyword into the first neural network model.

14. In paragraph 10, The above acquisition steps are: A control method for mapping the above-mentioned unstructured data and the above-mentioned unstructured keywords to a multidimensional space, and including a customer corresponding to the above-mentioned unstructured data in the second customer list if the distance between the above-mentioned unstructured data and the above-mentioned unstructured keywords in the multidimensional space is within a preset distance.

15. In paragraph 14, The above unstructured data is, A control method comprising at least one of the customer's search history, description information of an application used by the customer, or information about a site accessed by the customer.

Citation Information

Patent Citations

  • Apparatus and method for multi-dimensional customer''s clustering using topic analysis

    KR101664358B1

  • Battery pack

    KR1020250014490A

  • System for providing multi-parameter analysis based commercial service using influencer matching to company

    KR102155342B1

  • Functional composition for hair loss relief and hair growth containing sturgeon extract

    KR102519730B1

  • Techniques for converting a natural language utterance to an intermediate database query representation

    US20240061832A1