WO2022102975A1 - 음성 비서를 통해 광고를 제공하는 전자 장치 및 그 제어 방법 - Google Patents

음성 비서를 통해 광고를 제공하는 전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
WO2022102975A1
WO2022102975A1 PCT/KR2021/013707 KR2021013707W WO2022102975A1 WO 2022102975 A1 WO2022102975 A1 WO 2022102975A1 KR 2021013707 W KR2021013707 W KR 2021013707W WO 2022102975 A1 WO2022102975 A1 WO 2022102975A1
Authority
WO
WIPO (PCT)
Prior art keywords
advertisement
user
identified
attribute
product
Prior art date
Application number
PCT/KR2021/013707
Other languages
English (en)
French (fr)
Inventor
민범기
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020210019126A external-priority patent/KR20220064868A/ko
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US17/521,391 priority Critical patent/US11880866B2/en
Publication of WO2022102975A1 publication Critical patent/WO2022102975A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/632Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/635Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/638Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Definitions

  • the present disclosure relates to an electronic device that provides an advertisement voice, and more particularly, to an electronic device that provides an advertisement voice that matches the content of an input user voice.
  • the interactive service provides interactive advertisement voice and voice search, and the function of providing the interactive advertisement voice is emerging as a new business model for advertisement.
  • the present disclosure provides an electronic device for outputting an advertisement suitable for conversation with a user when it is determined that advertisement fatigue does not occur, and a method for controlling the same.
  • the present disclosure provides an electronic device for selecting an advertisement target product or service according to a user's past utterance history, and outputting an advertisement voice for a target product or service interest of the user, and a control method thereof.
  • An electronic device provides a microphone, a speaker, a knowledge graph including information on a plurality of product categories corresponding to a plurality of products, and a speech history obtained based on a user voice input through the microphone. and a memory and a processor in which information and advertisement history information for past advertisements provided through the speaker are stored.
  • the processor obtains at least one product keyword from the converted text of the user voice input through the microphone, and at least one product related to the at least one product keyword among the plurality of product categories based on the knowledge graph
  • a product category is identified, and the user's interest level in the identified at least one product category obtained according to the speech history information and the user's advertisement fatigue level obtained according to the advertisement history information (Ad fatique level) ) based on whether or not to provide an advertisement related to the user's voice, and when it is determined to provide the advertisement, a target product category determined according to the user's interest among the identified at least one product category (target product) category), and control the speaker to output advertisement sound based on the advertisement information.
  • a knowledge graph including information on a plurality of product categories corresponding to a plurality of products, speech history information obtained based on a user's voice input through a microphone, and past advertisements provided through a speaker
  • a control method of an electronic device including a memory in which advertisement history information for identifying at least one product category related to the at least one product keyword among product categories of Determining whether to provide an advertisement related to the user's voice based on the user's Ad fatique level obtained according to advertisement history information; If it is determined to provide the advertisement, the identified at least one obtaining advertisement information based on a target product category determined according to the user's interest among product categories; and outputting advertisement voice through the speaker based on the advertisement information.
  • An electronic device and a control method thereof according to the present disclosure provide an advertisement voice reflecting a user's interest without interfering with the content of conversation with the user.
  • the electronic device and the control method thereof according to the present disclosure provide an advertisement voice based on a determination that advertisement fatigue does not occur to the user, thereby preventing the user from disliked or not paying attention to the advertisement, which is a cause of lowering the advertisement effect.
  • FIG. 1 is a view for schematically explaining an operation example of an electronic device 100 according to an embodiment of the present disclosure
  • FIG. 2 is a block diagram illustrating the configuration and operation of the electronic device 100 according to an embodiment of the present disclosure
  • FIG. 3 is a view for explaining the configuration of a knowledge graph according to an embodiment of the present disclosure.
  • 4A is a table showing utterance history information of a user who uttered product keywords of various product categories input through a microphone according to an embodiment of the present disclosure
  • 4B is a table for explaining an operation in which an electronic device determines an interest level for each product category according to a user's utterance history information according to an embodiment of the present disclosure
  • 5A is a table for indicating speech history information of a user who has uttered various attribute keywords input through a microphone according to an embodiment of the present disclosure
  • 5B is a table for explaining an operation in which an electronic device determines an interest level for each attribute according to a user's utterance history information according to an embodiment of the present disclosure
  • 6A is a table showing advertisement history information of an advertisement voice provided through an audio output unit according to an embodiment of the present disclosure
  • 6B is a table for explaining an operation in which an electronic device determines whether to provide an advertisement according to a history of providing an advertisement voice according to an embodiment of the present disclosure
  • FIG. 7A is a view for explaining the configuration of a knowledge graph according to an embodiment of the present disclosure.
  • FIG. 7B is a table for explaining an operation in which an electronic device determines a degree of relevance between a currently input product keyword and each product category using the knowledge graph of FIG. 7A according to an embodiment of the present disclosure
  • FIG. 8 is a table for explaining an operation of an electronic device updating an interest level for each product category using a determined degree of relevance according to an embodiment of the present disclosure
  • FIG. 9 is a table for explaining an operation in which an electronic device calculates an advertisement concentration for each product category in consideration of interest and advertisement fatigue according to an embodiment of the present disclosure
  • FIG. 10 is a block diagram for explaining the configuration and operation of an electronic device according to an embodiment of the present disclosure.
  • FIG. 11 is a block diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure.
  • FIG. 12 is a flowchart for explaining a method of controlling an electronic device according to an embodiment of the present disclosure
  • 13 is an algorithm for explaining an operation of determining whether an advertisement is provided by a control method of an electronic device according to an embodiment of the present disclosure
  • ordinal number such as “first” and “second” may be used to distinguish between elements. This ordinal number is used to distinguish the same or similar elements from each other, and the meaning of the term should not be construed as limited due to the use of the ordinal number. As an example, the use order or arrangement order of components combined with such an ordinal number should not be limited by the number. If necessary, each ordinal number may be used interchangeably.
  • modules are terms for designating a component that performs at least one function or operation, and such component is hardware or software. It may be implemented or implemented as a combination of hardware and software.
  • a plurality of "modules”, “units”, “parts”, etc. are integrated into at least one module or chip, except when each needs to be implemented in individual specific hardware, and thus at least one processor. can be implemented as
  • a certain part when it is said that a certain part is connected to another part, this includes not only a direct connection but also an indirect connection through another medium.
  • the meaning that a certain part includes a certain component means that other components may be further included, rather than excluding other components, unless otherwise stated.
  • FIG. 1 is a diagram schematically illustrating an operation example of an electronic device 100 according to an embodiment of the present disclosure.
  • the electronic device 100 may provide a voice assistant service in response to the user's 1 inquiry.
  • the electronic device 100 responds with “The price of Car X is 60 million won” ( 12) can be provided.
  • the electronic device 100 extracts keywords such as “car X” and “price” from the user's query voice 11 , and returns information about the extracted keyword (eg. 60 million won) to the response voice 12 .
  • keywords such as “car X” and “price”
  • the electronic device 100 extracts keywords such as “car X” and “price” from the user's query voice 11 , and returns information about the extracted keyword (eg. 60 million won) to the response voice 12 .
  • keywords such as “car X” and “price”
  • the electronic device 100 extracts keywords such as “car X” and “price” from the user's query voice 11 , and returns information about the extracted keyword (eg. 60 million won) to the response voice 12 .
  • the electronic device 100 may obtain advertisement information related to keywords (car X, price) included in the user's query voice 11 .
  • the electronic device 100 responds, "By the way, the price of the new model car Z in 2020 is 50 million won. Would you like to find out more information about the car Z?"
  • the advertisement voice 13 may be additionally output.
  • the electronic device 100 is related to keywords (“car X”, “price”) of interest to the user, and also the content and response voice of the user 1 's query voice 11 . Advertisement information related to the content of the conversation including the content of (12) may be provided.
  • the electronic device 100 may provide an effect of providing an advertisement voice between the conversation contents between the user and the voice assistant without a sense of heterogeneity caused by the interruption of the conversation based on advertisement information related to the conversation contents.
  • FIG. 2 is a block diagram for explaining the configuration and operation of the electronic device 100 according to an embodiment of the present disclosure.
  • the electronic device 100 may include a microphone 110 , a memory 120 , an audio output unit 130 , and a processor 140 .
  • the electronic device 100 may correspond to various terminal devices, such as a smart speaker, a smart phone, a tablet PC, and a notebook PC. Also, the electronic device 100 may correspond to various other electronic devices such as a kiosk, a TV, a refrigerator, and the like.
  • the memory 120 may store a knowledge graph 121 including information on a plurality of products and a product category to which each of the plurality of products belongs.
  • the knowledge graph 121 may also include information on a plurality of services and information on a plurality of service categories corresponding to the plurality of services.
  • the product may mean one product defined by a product name or the like.
  • the product (or service) category may mean a category serving as a classification criterion for classifying the product (or service).
  • one or more products (or services) may be included for each product (or service) category.
  • the product category may include a plurality of product categories divided according to the type of product (eg, car, bicycle, umbrella, etc.).
  • the product category may include a plurality of product categories classified according to a manufacturer and a brand name.
  • the service category may include a plurality of service categories classified according to the type of service (eg, a ride service, a delivery service, a translation service, etc.).
  • the type of service e.g, a ride service, a delivery service, a translation service, etc.
  • a plurality of product (or service) categories included in the knowledge graph 121 may be hierarchically defined according to a parent-child relationship. That is, at least one product (or service) category included in the knowledge graph 121 may include at least one other product (or service) category.
  • automobiles 1 and 2 are produced by manufacturer A
  • automobiles 3 and 4 are produced by manufacturer B.
  • automobiles 1 and 2 which are products, may belong to manufacturer A, which is a product category
  • automobiles 3 and 4 which are products, may belong to manufacturer B, which is a product category.
  • manufacturers A and B which are product categories, may belong to automobiles, which are their upper product categories.
  • the memory 120 may store the knowledge graph 121 in which a plurality of products and hierarchical relationships for a plurality of product categories are defined, and a plurality of services and hierarchical relationships to a plurality of service categories are defined. there is.
  • the knowledge graph 121 may further include information on at least one attribute of each of a plurality of products and of each of a plurality of services.
  • the attribute may mean various characteristics of the product (or service), such as the price, color, release date, expiration date, manufacturing date, manufacturer, manufacturing location, seller, ingredient, performance, size, etc. of the product (or service). there is.
  • the memory 120 may include the utterance history information 122 obtained based on the user's voice received through the microphone 110 .
  • the utterance history information 122 includes information about a history in which various product (or service) keywords and attribute keywords have been uttered by the user in the past (eg, during the past two weeks).
  • the product (or service) keyword may mean at least one product (or service) category included in the knowledge graph 121 or at least one product (or service) included in the corresponding product category. .
  • the attribute keyword is the product (or service) related to the price, color, release date, expiration date, manufacturing date, manufacturer (or service provider), manufacturing location, seller, ingredient, performance, size, etc. of the product (or service). It may contain text indicating attributes.
  • the processor 140 may convert the received user's voice into text, and obtain at least one of a product (or service) keyword and an attribute keyword from the text. .
  • the processor 140 determines the time when the user's voice is received through the microphone 110 , matches information on each keyword by time to generate the utterance history information 122 , and generates the utterance history information 122 . It may be stored in the memory 120 . In particular, the processor 140 may store information on the number of times, frequency, etc. indicating how many times the user has uttered each keyword.
  • the process of converting the user's voice into text may be performed by the speech recognition module 141 to be described later, and the process of acquiring keywords from the text may be performed by the keyword extraction module 142 to be described later.
  • the memory 120 may include advertisement history information 123 for at least one advertisement provided through the audio output unit 130 .
  • the audio output unit 130 may include a speaker and an earphone/headphone output terminal.
  • the processor 140 may provide at least one advertisement in the form of a voice through the audio output unit 130, and the processor 140 determines the time at which the at least one advertisement is provided through the audio output unit 130; Information on the number of times, frequency, etc. may be stored in the memory 120 as advertisement history information 123 .
  • the advertisement history information 123 may include information on the number of advertisements provided within a predetermined time range based on the current time point.
  • the processor 140 includes a voice recognition module 141 , a keyword extraction module 142 , a question-and-answer module 143 , a related information extraction module 144 , an interest analysis module 145 , and an advertisement decision.
  • the module 146 , the advertisement generating module 147 , the conversation combining module 148 , the TTS (Text-to-Speech) module 149 and the like can be controlled.
  • modules are software stored in the memory 120 and may be controlled by the processor 140 .
  • these modules may be implemented as hardware and may be controlled by the processor 140 .
  • the modules may be implemented by a combination of software and hardware.
  • the voice recognition module 141 may convert the user's voice into text. To this end, the voice recognition module 141 may use a conventionally known noise removal module, an Automatic Speech Recognition (ASR) module, or the like.
  • ASR Automatic Speech Recognition
  • the voice recognition module 141 may convert the audio signal obtained through the microphone 110 into text.
  • the keyword extraction module 142 may extract at least one keyword from the converted text.
  • the keyword may include a product keyword indicating at least one product or product category, and an attribute keyword indicating at least one characteristic/attribute of the product.
  • the keyword may include a service keyword indicating at least one service or service category and an attribute keyword indicating at least one characteristic or attribute of the service.
  • the keyword extraction module 142 may extract 'car X' as a product keyword and 'price' as attribute keywords. there is.
  • the keyword extraction module 142 may use a natural language understanding module for understanding the meaning of the converted text.
  • the natural language understanding module may convert the text into a machine language to identify the meaning of at least one word/sentence included in the text.
  • the keyword extraction module 142 may classify text into one or more semantic units (eg, words, morphemes, surveys, symbols, etc.) using the natural language understanding module.
  • semantic units eg, words, morphemes, surveys, symbols, etc.
  • the keyword extraction module 142 matches or corresponds to at least one product, product category, or at least one attribute included in the knowledge graph 121 among at least one word included in the at least one divided semantic unit. Words can be extracted as keywords (product keywords or attribute keywords).
  • the question-response module 143 may provide a response to a user's query.
  • the question-response module 143 may obtain a response text constituting a response to the query. there is.
  • the question-and-answer module 143 may obtain the response text using various conventionally used question-and-answer algorithms.
  • the question-answer module 143 may search for information on at least one keyword ('car X', 'price') extracted by the keyword extraction module 142 .
  • the query-response module 143 may perform a search for the extracted keyword using the database.
  • the database may be a conventional search engine or a database of a search engine for searching for various keywords.
  • the database may be stored in the memory 120 of the electronic device 100 or stored in at least one external device capable of communicating with the electronic device 100 .
  • the question-answer module 143 may obtain at least one response text (eg, "The price of car X is XXXX won") by using the information obtained through the above-described search.
  • at least one artificial intelligence model trained to construct a sentence or at least one sentence template for constructing a response text may be used.
  • the processor 140 may convert the response text obtained through the question-answer module 143 into an audio signal (voice) through the TTS module 149 to be described later.
  • the processor 140 may control the audio output unit 130 to output a voice corresponding to the converted audio signal.
  • the response text obtained from the question-and-answer module 143 and the output voice matching or corresponding to the response text may be defined to be included in the voice assistant service provided by the electronic device 100 .
  • the related information extraction module 144 may extract information (product or service category, attribute, etc.) related to the keyword (product or service keyword, attribute keyword) extracted by the keyword extraction module 142 .
  • the related information extraction module 144 may identify at least one product category related to the product keyword (car X) in the knowledge graph 121 .
  • the related information extraction module 144 identifies at least one product category related to a product keyword will be described with reference to FIG. 3 .
  • FIG. 3 exemplarily illustrates a portion of a knowledge graph according to an embodiment of the present disclosure.
  • a plurality of product categories (automobile, company H's car, company I's car, company B's car, etc.) and a plurality of products (car X, car Y, car Z, car ZZ) may be matched to each of a plurality of nodes 300, 310, 320, 330, 311, 312, 321, 322, etc.
  • a direct connection or an indirect connection between nodes may be defined according to a plurality of product categories and upper-lower hierarchical relationships of a plurality of products.
  • the nodes 311 and 312 of 'Car X' and 'Car Y' belonging to the product category 'H company's car' are 'H company's car' 310 .
  • each node (310, 320) of 'H company's car' and 'I company's car' belonging to the product category 'Automobile' is connected to the node 300 of 'Car' ( sub-concepts) are directly linked.
  • the nodes (310, 320, 330, etc.) corresponding to the car of company H, the car of company I, the car of company B, etc. correspond to the same level.
  • the nodes 311 , 312 , 321 , and 322 corresponding to the vehicle X, the vehicle Y, the vehicle Z, and the vehicle ZZ correspond to the same level.
  • the related information extraction module 144 is, in the knowledge graph 121-1, at least one product corresponding to a node connected from a node of the extracted product keyword through a node having a predetermined number or less. categories can be identified.
  • the related information extraction module 144 may identify only the product category in which the level difference from the node of the extracted product keyword is equal to or less than a preset level.
  • the related information extraction module 144 is connected through three or less nodes from the node 311 of 'Car X', which is the extracted product keyword, in the knowledge graph 121-1 of FIG. 3 .
  • product categories a car of company H, a car, a car of company I, and a car of company B
  • product categories a car of company H, a car, a car of company I, and a car of company B
  • the nodes 310 , 300 , 320 , and 330 having a level difference of 2 or less from the node 311 may be identified.
  • the related information extraction module 144 may identify at least one attribute related to a plurality of products included in the identified product category by using the knowledge graph 121-1.
  • nodes 311-1, 2, 3, etc. indicating attributes such as price, release date, fuel efficiency, etc. can be connected
  • nodes 312 of 'car Y' which is a product
  • nodes 312 - 1 and 2 indicating attributes such as price and color may be connected.
  • the related information extraction module 144 is a product included in the previously identified categories (a car of company H, a car of company I, a car of company B) among various properties defined in the knowledge graph 121-1. Attributes (such as price, release date, fuel economy, color, etc.) associated with each of the following items (car X, car Y, car Z, car ZZ, etc.) may be identified.
  • the interest analysis module 145 may determine a product (or service) category and/or attribute in which the user is interested.
  • the interest analysis module 145 may acquire the user's interest for each product (or service) category and/or attribute identified by the related information extraction module 144 .
  • the interest analysis module 145 may determine a high-interest product category and/or high-interest attribute in which the user's interest level is greater than or equal to a threshold value.
  • interest product category “interest service category” and “interest attribute” respectively refer to “target product category”, “target service category” and “target attribute (target product category)” attribute)”.
  • the interest analysis module 145 may obtain the user's degree of interest in each of one or more product (or service) categories identified by the related information extraction module 144 by using the above-described utterance history information 122 . there is.
  • the user's interest in one product (or service) category is at least included in the corresponding product (or service) category or the corresponding product category (or the lower product category included in the corresponding product category) for a certain period of time.
  • One product (or service) may be calculated according to the number and frequency of utterances.
  • FIG. 4A is a table showing the utterance history of a user who uttered product keywords of various product categories, input through a microphone, according to an embodiment of the present disclosure.
  • the utterance history information 122-1 shown in FIG. 4A is related to the product categories (H company car, I company car, B company car, and car) identified by the interest information extraction module 144 in the last ten days ( 2020-07-02 ⁇ 2020-07-11) is about the history of ignition.
  • the interest analysis module 145 may calculate the user's interest by multiplying the number of utterances by a preset weight.
  • the preset weight is the number of intermediate nodes in which a node (eg, a first node) corresponding to a product keyword and a node (eg, a second node) corresponding to a product category are connected in the knowledge graph 121-1 may be set differently.
  • car X is directly connected (included) to 'H company's car', and 'H company car' is directly connected to 'car' ( included).
  • 'H company car' is defined as a product category corresponding to level 1
  • 'car' is a product category corresponding to level 2
  • the utterance history information may be used for a product category of level 3 or higher.
  • the weight for the product category of level 1 is preset to 0.1
  • the weight for the product category of level 2 is preset to be 0.04.
  • the interest analysis module 145 may obtain the user's interest in 'Company I's car' as 0.3 multiplied by 3 (times) by a weight of 0.1. In addition, the interest analysis module 145 may obtain the user's interest in 'car' as 0.36 obtained by multiplying the weight 0.04 by 9 (times).
  • the interest analysis module 145 may calculate the user's interest in 'H company's car' as 0.1 and the user's interest in 'B company's car' as 0.
  • the interest analysis module 145 may determine 'company I's car' and 'car' having an interest level of 0.2 or higher as the product category of interest. there is.
  • the interest analysis module 145 may transmit information on the determined interest product (or service) category to the advertisement determination module 146 .
  • the degree of interest was calculated by simply multiplying the number of utterances for each category within the last ten days by the same weight, but a period longer or shorter than the last ten days is also possible.
  • the history of utterances for each product (or service) category for a period prior to the last ten days may also be additionally considered, but in this case, a lower weight may be given as the number of utterances during an older period increases.
  • the degree of interest may be calculated in various ways according to the utterance history for each product (or service) category.
  • the interest analysis module 145 is configured to relate to each of the at least one attribute identified by the related information extraction module 144 for at least one product (or service) category identified by the related information extraction module 144 . It is also possible to identify a history (number of times, frequency) in which the attribute keyword is uttered.
  • the interest analysis module 145 includes a product keyword included in at least one identified product category (eg, company I's car, company H's car, and automobile) and the identified at least one attribute (eg, price, release date, History of attribute keywords indicating fuel efficiency, color, etc. uttered by users together (ex. "How much is car X ?”, " Car X is too expensive . Please recommend a cheaper one", " Discounts on company H's car these days No events?") can be identified.
  • a product keyword included in at least one identified product category eg, company I's car, company H's car, and automobile
  • the identified at least one attribute eg, price, release date, History of attribute keywords indicating fuel efficiency, color, etc. uttered by users together (ex. "How much is car X ?”, " Car X is too expensive . Please recommend a cheaper one", " Discounts on company H's car these days No events?"
  • FIG. 5A is a table for showing the utterance history for each attribute of a user who has uttered various attribute keywords according to an embodiment of the present disclosure.
  • the utterance history information 122-2 of FIG. 5A is a product included in product categories (H company's car, car, I's car, B's car, etc.) extracted from the knowledge graph 121-1 of FIG. 3 above. Attribute keywords (color, release date, how much, price, discount, It is about the history of ignition for the last ten days (2020-07-02 ⁇ 2020-07-11) in which fuel efficiency, etc.) were mentioned.
  • the number of utterances of the attribute keyword related to price is 4 times
  • the number of utterances of the attribute keyword related to release date is 3 times
  • the number of utterances of the attribute keyword related to fuel efficiency is 1 time
  • the number of utterances related to color is 1 time. am.
  • the interest analysis module 145 may calculate the user's interest by multiplying the number of utterances by a preset weight.
  • the interest analysis module 145 sets the user's interest in 'price' to 0.4 and the user's interest in 'release date'. 0.3, the user's interest in 'fuel efficiency' may be calculated as 0.1, and the user's interest in 'color' may be calculated as 0.1.
  • the interest analysis module 145 may determine 'price' and 'release date' of 0.2 or more as the interest attribute.
  • the determined interest attribute may be used by the advertisement generating module 147 to be described later to generate advertisement text.
  • the advertisement determination module 146 may determine whether to provide an advertisement related to the user's voice input through the microphone 110 through the audio output unit 130 .
  • the advertisement determination module 146 may determine whether to provide the advertisement based on the user's interest in the interest product (or service) category determined by the interest analysis module 145 and the user's advertisement fatigue level. .
  • Ad fatigue conceptually, means fatigue that a user will feel if an advertisement is provided at the present time.
  • the advertisement determination module 146 uses the advertisement history information 123 to identify a history (number of times, time, frequency, etc.) in which advertisements are provided through the audio output unit 130 for a certain period, and according to the identified history Advertisement fatigue can be calculated.
  • 6A is a table illustrating advertisement history information of an advertisement voice provided through an audio output unit according to an embodiment of the present disclosure.
  • the advertisement history information 123-1 of FIG. 6A relates to a history of advertisements provided through the audio output unit 130 to various advertisement targets for the last ten days (2020-07-02 ⁇ 2020-07-11).
  • the advertisement determination module 146 may use the advertisement history information 123 - 1 to obtain the user's advertisement fatigue level at the current point in time.
  • the advertisement determination module 146 may multiply the number of advertisements (: 6 times) in the last ten days with a weight of 0.05 for each number of advertisements. In this case, the advertisement determination module 146 may calculate the user's advertisement fatigue level as 0.3.
  • advertisement fatigue was calculated by simply multiplying advertisements provided within the last ten days by the same weight.
  • advertisement fatigue may be calculated using various other methods.
  • advertisements provided for a period earlier than the last ten days may also be considered, but in this case, the older the advertisement, the lower the weight per number may be given.
  • the advertisement determination module 146 may calculate the user's advertisement concentration for each product of interest (or service) category based on the user's degree of interest in each of the product categories of interest and the user's advertisement fatigue.
  • the advertisement determination module 146 may calculate the advertisement concentration level by subtracting the user's advertisement fatigue from the user's interest level for each interest product (or service) category.
  • the advertisement determination module 146 may determine the interest (: 0.36, 0.3) of interest product (or service) categories (: car, company I's car) determined through the embodiment of FIGS. 4A to 4B described above. By subtracting the advertisement fatigue degree (0.3) from each, it is possible to calculate the user's advertisement concentration for each interest product (or service) category.
  • the advertisement concentration for 'car' may be calculated as 0.06
  • the advertisement concentration for 'company I's car' may be calculated as 0.
  • the advertisement determination module 146 may identify whether the advertisement concentration of the product (or service) category of interest with the highest calculated advertisement fatigue is greater than or equal to a preset threshold value.
  • the advertisement determination module 146 may determine to provide the advertisement.
  • the advertisement determination module 146 may generate an advertisement request for providing an advertisement for a product (or service) category of interest having the highest advertisement concentration.
  • the advertisement determination module 146 may generate an advertisement request for 'car'.
  • the advertisement determination module 146 may not generate an advertisement request, and as a result, no advertisement may be provided.
  • the advertisement determination module 146 may transmit the generated advertisement request to an external server and/or the advertisement generation module 146 .
  • the advertisement determination module 146 may transmit an advertisement request for the product of interest category determined to provide the advertisement to the external server 146 and/or the advertisement generation module 146 .
  • the advertisement determination module 146 is configured to match or correspond to the attribute keyword (: price) previously extracted by the keyword extraction module 142, information about the attribute (: price) and/or the related information extraction module 144 previously Information on the attribute of interest (: price, release date) determined by can be transmitted together.
  • an advertisement including the extracted attribute keyword and/or information (: price, release date) on the determined attribute of interest Information may be obtained.
  • the advertisement information may include information for advertising at least one product registered by the advertiser among products included in the product of interest category that is the target of the advertisement request.
  • the advertisement information may include information that matches or corresponds to various attributes with respect to the registered product.
  • the advertisement information may be received from an external server that receives an advertisement request from the advertisement determination module 146 .
  • the product as the target of the advertisement may be registered for at least one product category by the request or application of the advertiser.
  • an advertisement contract for at least one product can be established for each product category. there is.
  • the advertiser may request an advertisement for at least one product with respect to at least one product category. And, if the advertisement request received from the electronic device 100 is for a corresponding product category, advertisement information on the product requested by the advertiser may be provided to the electronic device 100 through the server.
  • the advertiser's request for advertising at least one product may be performed in a real-time bidding method.
  • the advertisement determination module 146 transmits an advertisement request for the product of interest category determined to provide the advertisement through the audio output unit 130 to the server
  • the server sends the advertisement request for the product of interest category to the advertiser devices. information can be transmitted.
  • advertiser devices may participate in a real-time auction for an advertisement to be provided through the audio output unit 130 of the electronic device 100 .
  • each advertiser device transmits, to the server, advertisement information on at least one product included in a product category of interest, which is a target of an advertisement request, among products of each advertiser, and transmits information on a bid price to receive an advertisement to the server. can be sent to
  • a product (ex. car Z) of an advertiser (ex. company H) that has transmitted information on the highest bid price during the auction period (ex. 100ms, 200ms) may be successful as an advertisement target. .
  • the server may transmit advertisement information of the corresponding product (: car Z) to the electronic device 100 .
  • the advertisement information may be pre-stored in the memory 120 of the electronic device 100 .
  • the advertisement generation module 147 obtains advertisement information for a product category of interest corresponding to the advertisement request among advertisement information pre-stored in the memory 120 .
  • the advertisement generating module 147 is configured to generate advertisement text by using the obtained advertisement information when it is determined by the advertisement determining module 146 to provide an advertisement.
  • the advertisement generating module 147 when 'car' is a product category of interest that is the target of an advertisement request, the advertisement generating module 147 generates advertisement text including advertisement information on at least one product (eg, car Z) included in 'car'. can create
  • the advertisement generating module 147 may generate the advertisement text based on the attribute keyword (eg, price) previously extracted from the user's voice (: tell me the price of the car X) by the keyword extraction module 142.
  • the attribute keyword eg, price
  • the advertisement generating module 147 may generate the advertisement text based on the attribute keyword (eg, price) previously extracted from the user's voice (: tell me the price of the car X) by the keyword extraction module 142.
  • the advertisement generating module 147 may identify an attribute matching the attribute keyword uttered by the user at the current time as the interest attribute, and may generate advertisement text based on the interest attribute.
  • the advertisement generating module 147 applies to the 'price' attribute of the obtained advertisement information of the car Z.
  • Advertisement text can be generated by extracting information about
  • the advertisement generating module 147 may generate advertisement text by using the interest attribute previously determined by the interest analysis module 145 .
  • the advertisement generating module 147 may generate 'price' and 'release date' among the obtained advertisement information. Advertisement text can be generated by extracting information about
  • advertisement text eg, the price of the new model car Z in 2020 is 50 million won
  • advertisement text including only information about the price and release date of the car Z.
  • the dialog combining module 148 may combine the response text obtained through the query-response module 143 and the advertisement text generated through the advertisement generating module 147 to obtain the combined text.
  • the dialogue combining module 148 may change at least a portion of the advertisement text to fit the context of the response text. Then, the dialog combining module 148 may configure the combined text so that the changed advertisement text continues after the response text.
  • the dialogue combining module 148 may obtain the combined text by inputting the above-described response text and the changed advertisement text into a sentence fusion model trained to combine one or more sentences or phrases.
  • the response text is 'The price of car X is 60 million won,' and the advertisement text is 'The price of the new model car Z in 2020 is 50 million won.
  • the dialog combining module 148 is 'The price of car X is 60 million won. By the way, the price of the 2020 new model car Z is said to be 50 million won. Would you like to learn more about Car Z?'
  • the text-to-speech (TTS) module 149 is a module for converting at least one text into an audio signal.
  • the TTS module 149 may convert the response text, advertisement text, or combined text to generate an audio signal.
  • the TTS module 149 may divide the combined text into syllable units, obtain an audio signal mapped to each divided syllable, and then combine the obtained audio signals.
  • various conventionally known techniques may be used, and the present invention is not limited thereto.
  • the processor 140 may control the audio output unit 130 to output a voice according to the audio signal in which the combined text is converted.
  • a response to a user's query and an advertisement may be provided together in a voice form.
  • the advertisement voice (by the way, the price of the 2020 new model car Z is 50 million won) would you like to learn more about Car Z?) may be output through the audio output unit 130 .
  • the electronic device 100 includes the microphone 110 and the audio output unit 130 is illustrated, but the electronic device 100 includes at least one of the microphone and/or the audio output unit.
  • the electronic device 100 may be implemented as a server, a set-top box, a console device, or the like.
  • the above-described interest level for each product category determined by the interest analysis module 145 may be additionally updated according to the degree of relevance between the keyword included in the user's voice and each product category.
  • the criterion for selecting the product category of interest is It may be slightly different from the embodiment of FIG. 4B .
  • the degree of relevance between keywords and each product category can be defined by the knowledge graph, and will be described below through the knowledge graph of FIG. 7A .
  • the knowledge graph 121 - 2 may additionally include information on distances between nodes.
  • the distance may be understood as a concept that is inversely proportional to the relationship between nodes.
  • the distance between the node 311 of car X, which is a product keyword included in the currently inputted user voice, and the node 310 of the car of company H is 2, and the distance between the node 310 of company H and the car is The distance between the nodes 300 is 4.
  • the distance between the node 311 and the node 300 becomes 6 (2+4).
  • the degree of relevance between the keyword and each product category may be defined as the reciprocal of the above-described distance.
  • the degree of relevance between “car X” and “car” is 0.167.
  • the interest analysis module 145 may update the interest level for each product category by adding the above-described degree of interest to each product category calculated in FIG. 4B .
  • the degree of interest for each product category may be updated. Specifically, the user's interest in “car” is updated to 0.527, the user's interest in “I company's car” is updated to 0.4, the user's interest in “H company's car” is updated to 0.6, " The user's interest in "Company B's car” may be updated to 0.1.
  • the interest analysis module 145 may determine "car” and "company H's car” having an interest level of 0.5 or higher as the product category of interest.
  • the determined product category of interest may be different from the example of FIG. 4B (a car and a car of Company I are identified as the product category of interest).
  • the advertisement determination module 146 subtracts the advertisement fatigue degree (: 0.3, see FIG. 6a) from the interest level of each of the product categories of interest calculated in FIG. can be calculated.
  • the advertisement determination module 146 may select “Company H’s car” having the highest advertisement concentration equal to or greater than a threshold (ex. 0.0) as a product category to be advertised. And, as a result, an advertisement voice for “Company H’s car” may be output through the audio output unit 140 .
  • FIG. 10 is a block diagram illustrating a configuration and operation of an electronic device according to an embodiment of the present disclosure.
  • the electronic device 100 may not include the question-and-answer module 143 and the conversation combining module 148 .
  • the electronic device 100 does not provide a response to the user's inquiry, but responds to the user's voice command for using at least one service (eg, search, purchase, etc.) provided by the electronic device 100 .
  • Whether to provide advertisements may be determined using the included keywords (product keywords, attribute keywords) and the user's speech history (eg, the user's voice command history).
  • the electronic device 100 determines at least one product category according to a keyword included in the user's voice command, and generates an advertisement voice related to the determined product category. can provide
  • FIG. 11 is a block diagram illustrating a configuration of an electronic device according to various embodiments of the present disclosure.
  • the electronic device 100 may include a microphone 110 , a memory 120 , an audio output unit 130 , a processor 140 , a communication interface 150 , and the like.
  • the microphone 120 is a component for receiving a user's voice and converting it into an electrical audio signal, and may include at least one circuit.
  • the memory 120 is a configuration for storing an operating system (OS) for controlling overall operations of the components of the electronic device 100 and at least one instruction or data related to the components of the electronic device 100 . .
  • OS operating system
  • the memory 120 may include non-volatile memory such as ROM and flash memory, and may include volatile memory such as DRAM. Also, the memory 120 may include a hard disk, a solid state drive (SSD), or the like.
  • non-volatile memory such as ROM and flash memory
  • volatile memory such as DRAM
  • the memory 120 may include a hard disk, a solid state drive (SSD), or the like.
  • the memory 120 may include data about an acoustic model, a language model, etc. used by the speech recognition module 141, and may include a natural language understanding model used by the keyword extraction module 142. can
  • the memory 120 may include various artificial intelligence models for providing the service of the voice assistant.
  • the audio output unit 130 is configured to output a voice response and/or advertisement voice of the electronic device 100 to a user's query in voice form.
  • the audio output unit 130 may include a speaker, an earphone/headphone output terminal, and the like.
  • the processor 140 controls the overall operation of the electronic device 100 .
  • the processor 140 may be connected to the memory 120 to control the electronic device 100 .
  • the processor 140 may include a central processing unit (CPU), a graphic processing unit (GPU), a neural processing unit (NPU), etc. in hardware, Control-related operations and data processing can be performed.
  • CPU central processing unit
  • GPU graphic processing unit
  • NPU neural processing unit
  • the processor 140 may be implemented as a micro processing unit (MPU), or may correspond to a computer in which random access memory (RAM) and read only memory (ROM) are connected to a CPU or the like through a system bus.
  • MPU micro processing unit
  • RAM random access memory
  • ROM read only memory
  • the processor 140 may control one or more software modules included in the electronic device 100 as well as hardware components included in the electronic device 100 , and the result of the processor 140 controlling the software modules is It may be derived from the operation of hardware configurations.
  • the processor 140 may include one or a plurality of processors.
  • processors are general-purpose processors such as CPUs, accelerated processing units (APUs), GPUs. It may be a graphics-only processor, such as a vision processing unit (VPU), or an artificial intelligence (AI)-only processor, such as an NPU, an AI accelerator, or a machine learning accelerator.
  • VPU vision processing unit
  • AI artificial intelligence
  • One or a plurality of processors control to process input data according to predefined operation rules or artificial intelligence models stored in the memory.
  • a predefined action rule or artificial intelligence model is characterized by being created through learning (training).
  • a predefined operation rule or artificial intelligence model of a desired characteristic is created by applying a learning algorithm to a plurality of learning data.
  • Such learning may be performed in the device itself on which the artificial intelligence according to the present disclosure is performed, or may be performed through a separate server/system.
  • the learning algorithm is a method of training a predetermined target device (eg, a robot) using a plurality of learning data so that the predetermined target device can make a decision or make a prediction by itself.
  • Examples of the learning algorithm include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, and the learning algorithm in the present disclosure is specified when It is not limited to the above-mentioned example except for.
  • the communication interface 150 may include a circuit as a component for performing communication with one or more external electronic devices.
  • Communication interface 150 is TCP/IP (Transmission Control Protocol/Internet Protocol), UDP (User Datagram Protocol), HTTP (Hyper Text Transfer Protocol), HTTPS (Secure Hyper Text Transfer Protocol), FTP (File Transfer Protocol), SFTP A communication protocol (protocol) such as (Secure File Transfer Protocol) and MQTT (Message Queuing Telemetry Transport) may be used to transmit/receive various information to and from one or more external electronic devices.
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • UDP User Datagram Protocol
  • HTTP Hyper Text Transfer Protocol
  • HTTPS Secure Hyper Text Transfer Protocol
  • FTP File Transfer Protocol
  • SFTP FTP (File Transfer Protocol)
  • a communication protocol such as (Secure File Transfer Protocol) and MQTT (Message Queuing Telemetry Transport) may be used to transmit/receive various information to and from one or more external electronic devices.
  • the communication interface 150 may be connected to an external electronic device based on a network implemented through wired communication and/or wireless communication.
  • the communication interface 150 may be directly connected to an external electronic device, or may be connected to an external electronic device through one or more external servers (eg, Internet Service Providers (ISPs)) that provide a network.
  • ISPs Internet Service Providers
  • the network may be a personal area network (PAN), a local area network (LAN), a wide area network (WAN), etc. depending on the area or size, and depending on the openness of the network, an intranet, It may be an extranet or the Internet.
  • PAN personal area network
  • LAN local area network
  • WAN wide area network
  • Wireless communication includes long-term evolution (LTE), LTE Advance (LTE-A), 5th generation (5G) mobile communication, code division multiple access (CDMA), wideband CDMA (WCDMA), universal mobile telecommunications system (UMTS), WiBro (Wireless Broadband), GSM (Global System for Mobile Communications), DMA (Time Division Multiple Access), WiFi (Wi-Fi), WiFi Direct, Bluetooth, NFC (near field communication), at least one of the communication methods such as Zigbee may include
  • Wired communication may include at least one of communication methods such as Ethernet, optical network, USB (Universal Serial Bus), and ThunderBolt.
  • the communication interface 150 may include a network interface or a network chip according to the above-described wired/wireless communication method.
  • the communication method is not limited to the above-described example, and may include a communication method newly appearing according to the development of technology.
  • the processor 140 may transmit information on a product category to which the advertisement is to be provided to the server through the communication interface 150 .
  • the processor 140 may provide at least a portion of the received advertisement information in the form of voice through the audio output unit 130 .
  • the knowledge graph 121 may be stored in a server other than the electronic device 100 .
  • the processor 140 receives at least a portion of the knowledge graph 121 from the server through the communication interface 150 . can also be used.
  • the utterance history information 122 may additionally include information on the user's utterance history input through another electronic device of the user in addition to the user's utterance history through the microphone 110 of the electronic device 100 . .
  • the information on the user's utterance history input through the aforementioned other electronic device may be received through the communication interface 150 .
  • the advertisement history information 123 may also include a history of advertisement voices provided through other electronic devices in addition to the history of advertisement voices provided through the audio output unit 130 of the electronic device 100 .
  • the information on the history of the advertisement voice provided through the aforementioned other electronic device may be received through the communication interface 150 .
  • At least one of the above-described modules 141 , 142 , 143 , 144 , 145 , 146 , 147 , 148 , and 149 may be included in an external server.
  • the processor 140 may communicate with a corresponding server through the communication interface 150 , and operations of modules may be performed through a system including the electronic device 100 and the server.
  • FIG. 12 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.
  • information on a knowledge graph including information on a plurality of product categories corresponding to a plurality of products, utterance history information obtained based on a user's voice received through a microphone, and advertisements provided through an audio output unit Advertising history information may be included.
  • the present control method may identify at least one product keyword from the text converted from the user's voice input through the microphone (step S1210).
  • step S1220 it is possible to identify at least one product category related to the product keyword.
  • a product category corresponding to at least one node adjacent to a node of a product keyword may be identified.
  • the present control method based on the user's interest level for the identified product category and the user's Ad fatique level obtained according to the advertisement history information, whether the advertisement related to the user's voice is provided can be determined (step S1230).
  • the number of times the user has uttered the identified product category for a preset period may be identified, and based on the identified number of times, the user's degree of interest in each of the identified product categories may be identified.
  • the advertisement history information it is possible to identify the number of times the advertisement is provided through the audio output unit for a preset period, and identify the user's advertisement fatigue based on the identified number of times.
  • the determined advertisement concentration of the product of interest category is greater than or equal to a preset threshold, it may be determined to provide the advertisement.
  • advertisement information may be obtained based on the determined interest product category, and advertisement voice may be output through an audio output unit based on the advertisement information.
  • the advertisement information may be pre-stored in the electronic device or may be received from a server.
  • the advertisement information received from the server may be received.
  • the received advertisement information can be provided as advertisement voice.
  • control method may output the advertisement voice after outputting the response voice.
  • the above-described knowledge graph may include information on a plurality of attributes corresponding to a plurality of products.
  • an attribute matching the attribute keyword may be identified and selected as the first interest attribute.
  • At least one attribute belonging to each of the product categories previously identified through the product keyword may be identified.
  • at least one attribute among the identified attributes may be determined as the second interest attribute.
  • the number of times the user has uttered the attribute keyword for each of the identified at least one attribute during a preset period may be identified.
  • the number of times the user has uttered the corresponding attribute keyword for the identified product category may be identified.
  • the user's interest in each of the identified at least one attribute may be identified.
  • at least one attribute whose degree of interest is equal to or greater than a preset threshold value may be determined as the second interest attribute.
  • advertisement information matching the first interest attribute and/or the second interest attribute may be output as an advertisement voice.
  • FIG. 13 is an algorithm for explaining an operation of determining whether an advertisement is provided by a control method of an electronic device according to an embodiment of the present disclosure.
  • the present control method may identify the user's degree of interest in each of at least one product category extracted through the product keyword extracted from the user's voice (step S1310).
  • the user's advertisement fatigue may be identified (step S1320 ).
  • step S1340 it is possible to identify a product category of interest with the greatest advertisement concentration (step S1340).
  • the advertisement for the product of interest category may be provided in voice form through the audio output unit (step S1360).
  • step S1350 - N when the advertisement concentration of the product of interest category is less than the threshold value (step S1350 - N), the advertisement may not be provided (step S1370).
  • FIG. 14 is an algorithm for explaining an overall operation flow of an electronic device according to an embodiment of the present disclosure.
  • the present control method when the user's voice is input through the microphone, it may be determined whether the user's voice corresponds to an inquiry ( S1410 ).
  • step S1410 - Y If the user's voice corresponds to the query (step S1410 - Y), a text response to the query may be obtained (step S1420).
  • step S1430 it may be determined whether to provide the advertisement together with the response.
  • product categories related to product keywords included in the user's voice may be identified, and whether the advertisement concentration of a product category having the highest advertisement concentration among product categories is greater than or equal to a threshold may be identified.
  • the threshold is higher, it may be determined to provide advertisements for the corresponding product category. On the other hand, if it is less than the threshold, it may be decided not to provide the advertisement.
  • step S1440 - N When it is determined not to provide advertisements (step S1440 - N), only the voice corresponding to the response text may be output (step S1450).
  • step S1440 - N advertisement information for a product category having the highest advertisement concentration may be obtained, and an advertisement text may be obtained through this (step S1460).
  • a combined text in which the response text and the advertisement text are combined may be obtained (step S1470), and a voice (response + advertisement) corresponding to the combined text may be output (step S1480).
  • the method of controlling the electronic device described with reference to FIGS. 12 to 14 may be performed through the electronic device 100 illustrated and described with reference to FIGS. 2 and 11 .
  • the method of controlling the electronic device described with reference to FIGS. 12 to 14 may be performed through a system including the electronic device 100 and at least one external device.
  • the embodiments described in the present disclosure are ASICs (Application Specific Integrated Circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (Programmable logic devices), FPGAs (field programmable gate arrays) ), a processor, a controller, a micro-controller, a microprocessor, and may be implemented using at least one of an electrical unit for performing other functions.
  • ASICs Application Specific Integrated Circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs Programmable logic devices
  • FPGAs field programmable gate arrays
  • embodiments described herein may be implemented by the processor itself. According to the software implementation, embodiments such as the procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules described above may perform one or more functions and operations described herein.
  • computer instructions for performing the processing operation in the electronic device 100 according to various embodiments of the present disclosure described above may be stored in a non-transitory computer-readable medium.
  • the specific device When the computer instructions stored in the non-transitory computer-readable medium are executed by the processor of the specific device, the specific device performs the processing operation of the electronic device 100 according to the various embodiments described above.
  • the non-transitory readable medium refers to a medium that stores data semi-permanently, rather than a medium that stores data for a short moment, such as a register, cache, memory, and the like, and can be read by a device.
  • a non-transitory readable medium such as a CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

전자 장치는, 마이크, 스피커, 메모리, 프로세서를 포함한다. 프로세서는, 마이크를 통해 입력된 사용자 음성이 변환된 텍스트로부터 상품 키워드를 획득하고, 상품 키워드와 관련된 상품 카테고리를 식별하고, 발화 이력 정보에 따른 사용자의 관심도 및 사용자의 광고 피로도를 기반으로, 사용자 음성과 관련된 광고의 제공 여부를 결정하고, 광고를 제공하는 것으로 결정되면, 사용자의 관심도에 따라 결정된 타겟 상품 카테고리에 기초하여 광고 정보를 획득하고, 광고 정보에 기초하여 광고 음성을 출력하도록 스피커를 제어한다.

Description

음성 비서를 통해 광고를 제공하는 전자 장치 및 그 제어 방법
본 개시는 광고 음성을 제공하는 전자 장치에 관한 것으로, 보다 상세하게는 입력된 사용자 음성의 내용에 맞는 광고 음성을 제공하는 전자 장치에 관한 것이다.
스마트폰 및 스마트 스피커 등이 다수 보급됨에 따라, 음성 비서 서비스의 활용이 증가하고 있으며 음성비서를 통한 검색의 발생이 증가하고 있다.
그리고, 대화형 서비스는 대화형 광고 음성 및 음성 검색을 제공하며, 대화형 광고 음성을 제공하는 기능이 광고를 위한 새로운 비즈니스 모델로 부상하고 있다.
대화형 광고는, 기존의 검색광고, 지면광고 등의 온라인 영상 기반 광고와는 다르게 광고를 노출하기 위한 정해진 공간이라는 것이 존재하지 않기 때문에, 사용자의 대화 내용에 따라 광고 송출 여부를 직접 결정할 필요가 있다.
다만, 종래 기술은 이러한 대화형 광고를 위하여 기 제작된 광고를 송출하는 데만 집중하고 있어, 음성 비서와 사용자 간 대화의 맥이 끊기고 거부감을 유발한다는 문제가 있었다.
본 개시는, 광고 피로가 발생하지 않은 것으로 판단될 때, 사용자와의 대화 내용에 맞는 광고를 출력하는 전자 장치 및 그 제어 방법을 제공한다.
본 개시는, 사용자의 지난 발화 이력에 따라 광고의 대상 상품 또는 서비스를 선정하고, 사용자가 관심 있는 대상 상품 또는 서비스에 대한 광고 음성을 출력하는 전자 장치 및 그 제어 방법을 제공한다.
본 개시의 일 실시 예에 따른 전자 장치는, 마이크, 스피커, 복수의 상품에 대응되는 복수의 상품 카테고리에 대한 정보를 포함하는 지식 그래프, 상기 마이크를 통해 입력된 사용자 음성에 기초하여 획득된 발화 이력 정보 및 상기 스피커를 통해 제공된 과거 광고에 대한 광고 이력 정보가 저장된 메모리, 프로세서를 포함한다.
상기 프로세서는, 상기 마이크를 통해 입력된 상기 사용자 음성이 변환된 텍스트로부터 적어도 하나의 상품 키워드를 획득하고, 상기 지식 그래프에 기초하여 상기 복수의 상품 카테고리 중 상기 적어도 하나의 상품 키워드와 관련된 적어도 하나의 상품 카테고리를 식별하고, 상기 발화 이력 정보에 따라 획득된 상기 식별된 적어도 하나의 상품 카테고리에 대한 상기 사용자의 관심도(interest level) 및 상기 광고 이력 정보에 따라 획득된 상기 사용자의 광고 피로도(Ad fatique level)를 기반으로, 상기 사용자의 음성과 관련된 광고의 제공 여부를 결정하고, 상기 광고를 제공하는 것으로 결정되면, 상기 식별된 적어도 하나의 상품 카테고리 중 상기 사용자의 관심도에 따라 결정된 타겟 상품 카테고리(target product category)에 기초하여 광고 정보를 획득하고, 상기 광고 정보에 기초하여 광고 음성을 출력하도록 상기 스피커를 제어한다.
본 개시의 일 실시 예에 따라, 복수의 상품에 대응되는 복수의 상품 카테고리에 대한 정보를 포함하는 지식 그래프, 마이크를 통해 입력된 사용자 음성에 기초하여 획득된 발화 이력 정보 및 스피커를 통해 제공된 과거 광고에 대한 광고 이력 정보가 저장된 메모리를 포함하는 전자 장치의 제어 방법은, 상기 마이크를 통해 입력된 상기 사용자 음성이 변환된 텍스트로부터 적어도 하나의 상품 키워드를 획득하는 단계, 상기 지식 그래프에 기초하여 상기 복수의 상품 카테고리 중 상기 적어도 하나의 상품 키워드와 관련된 적어도 하나의 상품 카테고리를 식별하는 단계, 상기 발화 이력 정보에 따라 획득된 상기 식별된 적어도 하나의 상품 카테고리에 대한 상기 사용자의 관심도(interest level) 및 상기 광고 이력 정보에 따라 획득된 상기 사용자의 광고 피로도(Ad fatique level)를 기반으로, 상기 사용자 음성과 관련된 광고의 제공 여부를 결정하는 단계, 상기 광고를 제공하는 것으로 결정되면, 상기 식별된 적어도 하나의 상품 카테고리 중 상기 사용자의 관심도에 따라 결정된 타겟 상품 카테고리(target product category)에 기초하여 광고 정보를 획득하는 단계, 상기 광고 정보에 기초하여, 상기 스피커를 통해 광고 음성을 출력하는 단계를 포함한다.
본 개시에 따른 전자 장치 및 그 제어 방법은, 사용자와의 대화 내용을 방해하지 않으면서 사용자의 관심을 반영한 광고 음성을 제공한다.
본 개시에 따른 전자 장치 및 그 제어 방법은, 사용자에게 광고 피로가 발생하지 않았다는 판단에 기초하여 광고 음성을 제공함으로써, 광고 효과를 떨어뜨리는 원인인 사용자가 광고를 싫어하거나 주의를 기울이지 않는 것을 방지할 수 있다.
본 개시의 실시 예의 다른 측면, 특징 및 이점들은 첨부된 도면 및 설명으로부터 더욱 명백해질 것이며, 첨부된 도면은 다음과 같다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치(100)의 동작 예를 개략적으로 설명하기 위한 도면,
도 2는 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성 및 동작을 설명하기 위한 블록도,
도 3은 본 개시의 일 실시 예에 따른 지식 그래프의 구성을 설명하기 위한 도면,
도 4a는 본 개시의 일 실시 예에 따라 마이크를 통해 입력된, 다양한 상품 카테고리의 상품 키워드를 발화한 사용자의 발화 이력 정보를 나타내는 표,
도 4b는 본 개시의 일 실시 예에 따른 전자 장치가 사용자의 발화 이력 정보에 따라 상품 카테고리 별 관심도를 판단하는 동작을 설명하기 위한 표,
도 5a는 본 개시의 일 실시 예에 따라 마이크를 통해 입력된, 다양한 속성 키워드를 발화한 사용자의 발화 이력 정보를 나타내기 위한 표,
도 5b는 본 개시의 일 실시 예에 따른 전자 장치가 사용자의 발화 이력 정보에 따라 속성 별 관심도를 판단하는 동작을 설명하기 위한 표,
도 6a는 본 개시의 일 실시 예에 따라 오디오 출력부를 통해 제공된 광고 음성의 광고 이력 정보를 나타내기 위한 표,
도 6b는 본 개시의 일 실시 예에 따른 전자 장치가 광고 음성이 제공된 이력에 따라 광고 제공 여부를 판단하는 동작을 설명하기 위한 표,
도 7a는 본 개시의 일 실시 예에 따른 지식 그래프의 구성을 설명하기 위한 도면,
도 7b는 본 개시의 일 실시 예에 따른 전자 장치가 도 7a의 지식 그래프를 이용하여, 현재 입력된 상품 키워드와 각 상품 카테고리 간의 관련도를 판단하는 동작을 설명하기 위한 표,
도 8은 본 개시의 일 실시 예에 따른 전자 장치가, 판단된 관련도를 이용하여 상품 카테고리 별 관심도를 업데이트하는 동작을 설명하기 위한 표,
도 9는 본 개시의 일 실시 예에 따른 전자 장치가 관심도 및 광고 피로도를 고려하여 상품 카테고리 별 광고 집중도를 산출하는 동작을 설명하기 위한 표,
도 10은 본 개시의 일 실시 예에 따른 전자 장치의 구성 및 동작을 설명하기 위한 블록도,
도 11은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도,
도 12는 본 개시의 일 실시 에에 따른 전자 장치의 제어 방법을 설명하기 위한 순서도,
도 13은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법이 광고 제공 여부를 결정하는 동작을 설명하기 위한 알고리즘, 그리고
도 14는 본 개시의 일 실시 예에 따른 전자 장치의 동작 흐름을 설명하기 위한 알고리즘이다.
이하, 첨부된 도면을 참조하여 본 개시의 실시 예를 상세히 설명한다.
이하의 설명에서, 동일한 도면 부호는 상이한 도면에서도 동일한 요소에 대해 사용된다. 상세한 구성 및 요소 등 본 명세서에서 정의된 사항은 본 발명의 전반적인 이해를 돕기 위하여 제공된 것이다. 그러나, 본 발명은 특별히 정의된 사항 없이 실시될 수 있음은 자명하다. 또한, 잘 알려진 기능이나 구성은 불필요한 내용으로 설명을 흐릴 수 있으므로 자세히 설명하지 않는다.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당해 기술 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 "제1", "제2" 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성요소들을 서로 구별하기 위하여 사용하는 것이며 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안 된다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되어서는 안 된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다.
본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
"적어도 하나 이상의"가 구성 요소들 앞에 기재되는 경우, 개별 구성 요소들을 지칭하는 것으로 해석될 뿐만 아니라, 전체 구성 요소들을 지칭하는 것으로 해석될 수 있다. 예를 들어, "a, b 및 c 중 적어도 하나"라는 표현은 a만, b만, c만, a와 b 모두, a와 c 모두, b와 c 모두, 모두 포함하는 것으로 이해되어야 한다.
또한, 본 개시의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치(100)의 동작 예를 개략적으로 설명하기 위한 도면이다.
도 1은, 스마트 스피커로 구현된 전자 장치(100) 및 사용자(1)를 도시한다. 전자 장치(100)는 사용자(1)의 질의에 응답하는 음성 비서 서비스를 제공할 수 있다.
도 1을 참조하면, 사용자(1)가 "자동차 X의 가격을 알려줘"라는 질의 음성(11)이 입력됨에 따라, 전자 장치(100)는 "자동차 X의 가격은 6천만원 입니다"라는 응답 음성(12)을 제공할 수 있다.
구체적으로, 전자 장치(100)는 사용자의 질의 음성(11) 으로부터 "자동차 X" 및 "가격" 등의 키워드를 추출하고, 추출된 키워드에 대한 정보(ex. 6천만원)를 응답 음성(12)으로서 제공할 수 있다.
이때, 전자 장치(100)는, 사용자의 질의 음성(11)에 포함된 키워드들(자동차 X, 가격)과 관련된 광고 정보를 획득할 수 있다.
그리고, 응답 음성(12)이 출력된 후, 전자 장치(100)는 "그런데, 2020년 신형 모델 자동차 Z의 가격은 5천만원이라고 하네요. 자동차 Z에 대한 더 자세한 정보를 알아보시겠어요?"와 같은 광고 음성(13)을 추가로 출력할 수 있다.
이렇듯, 본 개시에 따른 전자 장치(100)는 사용자가 관심을 가지는 키워드("자동차 X", "가격")와 관련되고, 그리고, 또한 사용자(1)의 질의 음성(11)의 내용 및 응답 음성(12)의 내용을 포함하는 대화 내용과 연관성이 있는 광고 정보를 제공할 수 있다.
즉, 전자 장치(100)는 대화 내용과 연관성이 있는 광고 정보에 기초하여 대화의 중단으로 인해 발생되는 이질감 없이 사용자와 음성 비서 간의 대화 내용 사이사이에 광고 음성을 제공하는 효과를 제공할 수 있다.
본 개시에 따른 전자 장치(100)의 구성 및 동작에 대해, 이하 도면들을 통해 보다 상세하게 설명한다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성 및 동작을 설명하기 위한 블록도이다.
도 2를 참조하면, 전자 장치(100)는 마이크(110), 메모리(120), 오디오 출력부(130) 및 프로세서(140)를 포함할 수 있다.
전자 장치(100)는 스마트 스피커, 스마트폰, 태블릿 PC, 노트북 PC 등 다양한 단말 장치에 해당할 수 있다. 또한, 전자 장치(100)는 키오스크, TV, 냉장고, 등 그밖에 다양한 전자 기기에 해당할 수 있다.
도 2를 참조하면, 메모리(120)는 복수의 상품 및 복수의 상품 각각이 속한 상품 카테고리에 대한 정보를 포함하는 지식 그래프(121)를 저장할 수 있다. 여기에서, 지식 그래프(121)는 또한 복수의 서비스에 대한 정보 및 복수의 서비스에 대응하는 복수의 서비스 카테고리에 대한 정보를 포함할 수 있다.
여기에서, 상품은 제품명 등으로 정의되는 하나의 상품을 의미할 수 있다.
그리고, 상품(또는, 서비스) 카테고리는 상품(또는, 서비스)을 분류하기 위한 분류 기준이 되는 카테고리를 의미할 수 있다. 이 경우, 상품(또는, 서비스) 카테고리 별로, 하나 이상의 상품(또는, 서비스)을 포함할 수 있다.
일 예로, 상품 카테고리는 상품의 종류(ex. 자동차, 자전거, 우산 등)에 따라 구분된 복수의 상품 카테고리를 포함할 수 있다. 또한, 상품 카테고리는, 제조사, 브랜드 명에 따라 구분된 복수의 상품 카테고리를 포함할 수 있다.
이 경우, 서비스 카테고리는 서비스의 종류(가령, 승차 서비스, 배달 서비스, 번역 서비스 등)에 따라 분류된 복수의 서비스 카테고리를 포함할 수 있다.
한편, 지식 그래프(121) 내에 포함된 복수의 상품(또는, 서비스) 카테고리는 상-하위 관계에 따라 계층적으로 정의될 수 있다. 즉, 지식 그래프(121)에 포함된 적어도 하나의 상품(또는, 서비스) 카테고리는 적어도 하나의 다른 상품(또는, 서비스) 카테고리를 포함할 수 있다.
예를 들어, 자동차 1 및 2는 제조사 A에 의해 생산되고, 자동차 3 및 4는 제조사 B에 의해 생산된 경우를 가정한다.
이 경우, 상품인 자동차 1 및 2는 상품 카테고리인 제조사 A에 속하고, 상품인 자동차 3 및 4는 상품 카테고리인 제조사 B에 속할 수 있다.
또한, 자동차 1 내지 4는 모두 자동차라는 공통적인 특성을 갖는다는 점에서, 상품 카테고리인 제조사 A 및 B는 그 상위 상품 카테고리인 자동차에 속할 수 있다.
이와 같이, 메모리(120)는 복수의 상품 및 복수의 상품 카테고리에 대한 계층적인 관계가 정의되어 있고, 복수의 서비스 및 복수의 서비스 카테고리에 대한 계층적인 관계가 정의된 지식 그래프(121)를 저장할 수 있다.
또한, 지식 그래프(121)는 복수의 상품 각각의 및 복수의 서비스 각각의 적어도 하나의 속성에 대한 정보를 더 포함할 수 있다.
여기에서, 속성은 상품(또는, 서비스)의 가격, 색상, 출시일, 유통기한, 제조일, 제조사, 제조 장소, 판매자, 성분, 성능, 크기 등과 같이 상품(또는, 서비스)의 다양한 특징을 의미할 수 있다.
한편, 메모리(120)는 마이크(110)를 통해 수신된 사용자의 음성에 기초하여 획득된 발화 이력 정보(122)를 포함할 수 있다.
여기에서, 발화 이력 정보(122)는 다양한 상품(또는, 서비스) 키워드 및 속성 키워드가 사용자에 의해 과거에(가령, 지난 2주 동안) 발화되었던 이력에 대한 정보를 포함한다.
여기에서, 상품(또는, 서비스) 키워드는 지식 그래프(121)에 포함된 적어도 하나의 상품(또는, 서비스) 카테고리 또는 해당 상품 카테고리에 포함된 적어도 하나의 상품(또는, 서비스)을 의미할 수 있다.
또한, 속성 키워드는 상품(또는, 서비스)의 가격, 색상, 출시일, 유통기한, 제조일, 제조사(또는, 서비스 제공자), 제조 장소, 판매자, 성분, 성능, 크기 등과 관련된 상품(또는, 서비스)의 속성을 나타내는 텍스트를 포함할 수 있다.
이를 위해, 프로세서(140)는 마이크(110)를 통해 사용자 음성이 수신되면, 수신된 사용자 음성을 텍스트로 변환하고, 텍스트에서 상품(또는, 서비스) 키워드 및 속성 키워드 중 적어도 하나를 획득할 수 있다.
그리고, 프로세서(140)는 사용자 음성이 마이크(110)를 통해 수신된 시간을 판단하고, 시간 별로 각 키워드에 대한 정보를 매칭시켜 발화 이력 정보(122)를 생성하고, 발화 이력 정보(122)를 메모리(120)에 저장할 수 있다. 특히, 프로세서(140)는 사용자가 키워드를 각각 몇 번 발화하였는지를 나타내는 횟수, 빈도 등에 대한 정보를 함께 저장할 수 있다.
여기에서, 사용자 음성을 텍스트로 변환하는 과정은 후술하는 음성 인식 모듈(141)에 의해 수행될 수 있고, 텍스트에서 키워드를 획득하는 과정은 후술하는 키워드 추출 모듈(142)에 의해 수행될 수 있다.
메모리(120)는 오디오 출력부(130)를 통해 제공된 적어도 하나의 광고에 대한 광고 이력 정보(123)를 포함할 수 있다. 여기에서, 오디오 출력부(130)는 스피커 및 이어폰/헤드폰 출력 단자 등을 포함할 수 있다.
구체적으로, 프로세서(140)는 오디오 출력부(130)를 통해 적어도 하나의 광고를 음성 형태로 제공할 수 있으며, 프로세서(140)는 오디오 출력부(130)를 통해 적어도 하나의 광고가 제공된 시간, 횟수, 빈도 등에 대한 정보를 광고 이력 정보(123)로서 메모리(120)에 저장할 수 있다.
광고 이력 정보(123)는 현재 시점을 기준으로 일정 시간 범위 내에 제공된 광고의 횟수에 대한 정보를 포함할 수 있다.
도 2를 참조하면, 프로세서(140)는 음성 인식 모듈(141), 키워드 추출 모듈(142), 질의-응답 모듈(143), 관련 정보 추출 모듈(144), 관심사 분석 모듈(145), 광고 결정 모듈(146), 광고 생성 모듈(147), 대화 결합 모듈(148), TTS(Text-to-Speech)모듈(149) 등을 제어할 수 있다.
본 모듈들은 메모리(120)에 저장된 소프트웨어로서 프로세서(140)의 제어를 받을 수 있다. 또는, 본 모듈들은 하드웨어로 구현되어 프로세서(140)의 제어를 받을 수도 있다. 또는, 본 모듈들은 소프트웨어 및 하드웨어의 결합으로 구현될 수도 있다.
음성 인식 모듈(141)은 사용자의 음성을 텍스트로 변환할 수 있다. 이를 위해, 음성 인식 모듈(141)은 종래 알려진 노이즈 제거 모듈, ASR(Automatic Speech Recognition) 모듈 등을 이용할 수 있다.
도 2를 참조하면, 마이크(110)를 통해 사용자의 음성이 입력되면, 사용자의음성이 전기적 신호로 변환되어 오디오 신호가 획득될 수 있다. 이때, 음성 인식 모듈(141)은 마이크(110)를 통해 획득된 오디오 신호를 텍스트로 변환할 수 있다.
키워드 추출 모듈(142)은 변환된 텍스트로부터 적어도 하나의 키워드를 추출할 수 있다.
키워드는, 적어도 하나의 상품 또는 상품 카테고리를 지칭하는 상품 키워드, 상품에 대한 적어도 하나의 특징/속성을 나타내는 속성 키워드를 포함할 수 있다. 다른 예로, 키워드는 적어도 하나의 서비스 또는 서비스 카테고리를 나타내는 서비스 키워드 및 서비스의 적어도 하나의 특성 또는 속성을 나타내는 속성 키워드를 포함할 수 있다.
일 예로, 상술한 도 1과 같이 "자동차 X의 가격을 알려줘"라는 사용자 음성이 입력된 경우, 키워드 추출 모듈(142)은 상품 키워드인 '자동차 X' 및 속성 키워드들인 '가격'을 추출할 수 있다.
키워드 추출 모듈(142)은 변환된 텍스트의 의미를 이해하기 위한 자연어 이해 모듈을 이용할 수 있다. 자연어 이해 모듈은, 텍스트를 기계 언어로 변환하여 텍스트 내에 포함된 적어도 하나의 단어/문장의 의미를 식별할 수 있다.
일 예로, 키워드 추출 모듈(142)은 자연어 이해 모듈을 이용하여 텍스트를 하나 이상의 의미 단위(ex. 단어, 형태소, 조사, 기호 등)로 구분할 수 있다.
여기서, 키워드 추출 모듈(142)은 구분된 적어도 하나의 의미 단위에 포함되는 적어도 하나의 단어 중, 지식 그래프(121)에 포함되는 적어도 하나의 상품, 상품 카테고리 또는 적어도 하나의 속성에 매칭되거나 대응되는 단어를 키워드(상품 키워드 또는 속성 키워드)로 추출할 수 있다.
질의-응답 모듈(143)은 사용자의 질의에 대한 응답을 제공할 수 있다.
일 예로, 상술한 자연어 이해 모듈에 의해 사용자 음성에 대응되는 텍스트가 질의(question)에 해당하는 것으로 식별된 경우, 질의-응답 모듈(143)은 질의에 대한 응답을 구성하는 응답 텍스트를 획득할 수 있다.
질의-응답 모듈(143)은, 종래 이용되고 있는 다양한 질의-응답 알고리즘을 이용하여 응답 텍스트를 획득할 수 있다.
일 예로, 사용자 음성에 대응되는 텍스트가 "자동차 'X'의 가격이 얼마야?"라는 질의 텍스트에 해당하는 경우를 가정할 수 있다.
이 경우, 질의-응답 모듈(143)은, 키워드 추출 모듈(142)에 의해 추출된 적어도 하나의 키워드('자동차 X', '가격')에 대한 정보를 검색할 수 있다.
여기서, 질의-응답 모듈(143)은, 데이터 베이스를 이용하여, 추출된 키워드에 대한 검색을 수행할 수 있다.
데이터 베이스는, 다양한 키워드를 검색하기 위한 종래의 검색 엔진 내지는 검색 엔진의 데이터 베이스일 수 있다. 데이터 베이스는 전자 장치(100)의 메모리(120)에 저장되거나 또는 전자 장치(100)와 통신 가능한 적어도 하나의 외부 장치에 저장될 수 있다.
그리고, 질의-응답 모듈(143)은 상술한 검색을 통해 획득된 정보를 이용하여 적어도 하나의 응답 텍스트(ex. "자동차 X의 가격은 XXXX원입니다")를 획득할 수 있다. 이때, 문장을 구성하도록 훈련된 적어도 하나의 인공지능 모델 또는 응답 텍스트를 구성하기 위한 적어도 하나의 문장 템플릿이 이용될 수 있다.
프로세서(140)는 질의-응답 모듈(143)을 통해 획득된 응답 텍스트를 후술할 TTS 모듈(149)을 통해 오디오 신호(음성)로 변환할 수 있다.
그리고, 프로세서(140)는 변환된 오디오 신호에 해당하는 음성을 출력하도록 오디오 출력부(130)를 제어할 수 있다.
이렇듯, 질의-응답 모듈(143)에서 획득된 응답 텍스트 및 응답 텍스트에 매칭되거나 대응되는 출력 음성은, 본 전자 장치(100)가 제공하는 음성 비서 서비스에 포함되는 것으로 정의될 수 있다.
관련 정보 추출 모듈(144)은 키워드 추출 모듈(142)에 의해 추출된 키워드(상품 또는 서비스 키워드, 속성 키워드)와 관련된 정보(상품 또는 서비스 카테고리, 속성 등)를 추출할 수 있다.
구체적인 예로, 상품 키워드가 '자동차 X'인 경우, 관련 정보 추출 모듈(144)은 지식 그래프(121) 내에서 상품 키워드(: 자동차 X)와 관련된 적어도 하나의 상품 카테고리를 식별할 수 있다.
이하 도 3을 통해, 관련 정보 추출 모듈(144)이 상품 키워드와 관련된 적어도 하나의 상품 카테고리를 식별하는 일 예를 설명한다.
도 3은 본 개시의 일 실시 예에 따른 지식 그래프의 일부분을 예시적으로 도시한 것이다.
도 3을 참조하면, 지식 그래프(121-1) 내에서, 복수의 상품 카테고리(자동차, H사의 자동차, I사의 자동차, B사의 자동차 등) 및 복수의 상품(자동차 X, 자동차 Y, 자동차 Z, 자동차 ZZ)이 복수의 노드 (300, 310, 320, 330, 311, 312, 321, 322 등) 각각에 매칭될 수 있다.
지식 그래프(121-1) 내에서, 복수의 상품 카테고리 및 복수의 상품의 상-하위 계층 관계에 따라 노드들 간의 직접 연결 또는 간접 연결이 정의될 수 있다.
도 3의 지식 그래프(121-1)를 참조하면, 상품 카테고리인 'H사의 자동차'에 속하는 '자동차 X' 및 '자동차 Y'의 각 노드(311, 312)가 'H사의 자동차'(310)의 노드에 (하위 개념으로) 직접 연결되고, 상품 카테고리인 '자동차'에 속하는 'H사의 자동차' 및 'I사의 자동차'의 각 노드(310, 320)가 '자동차'의 노드(300)에 (하위 개념으로) 직접 연결된다.
여기서, H사의 자동차, I사의 자동차, B사의 자동차 등에 해당하는 노드들(310, 320, 330 등)은 서로 동일한 레벨에 해당한다. 마찬가지로, 자동차 X, 자동차 Y, 자동차 Z, 자동차 ZZ 등에 해당하는 노드들(311, 312, 321, 322)은 서로 동일한 레벨에 해당한다.
일 실시 예에 따르면, 관련 정보 추출 모듈(144)은, 지식 그래프(121-1) 내에서, 추출된 상품 키워드의 노드로부터 기설정된 개수 이하의 노드를 거쳐 연결되는 노드에 해당하는 적어도 하나의 상품 카테고리를 식별할 수 있다.
이때, 관련 정보 추출 모듈(144)은, 추출된 상품 키워드의 노드와 레벨 차이가 기설정된 레벨 이하인 상품 카테고리만을 식별할 수 있다.
구체적인 예로, 관련 정보 추출 모듈(144)은, 도 3의 지식 그래프(121-1) 내에서, 추출된 상품 키워드인 '자동차 X'의 노드(311)로부터 3개 이하의 노드를 거쳐 연결되고, 또한 노드(311)와 레벨 차이가 2 레벨 이하인 노드들(310, 300, 320, 330)의 상품 카테고리들(H사의 자동차, 자동차, I사의 자동차, B사의 자동차)을 식별할 수 있다.
또한, 관련 정보 추출 모듈(144)은, 지식 그래프(121-1)를 이용하여, 식별된 상품 카테고리에 포함된 복수의 상품과 관련된 적어도 하나의 속성을 식별할 수 있다.
도 3의 지식 그래프(121-1)를 참조하면, 상품인 '자동차 X'의 노드(311)에 대해서는 가격, 출시일, 연비 등의 속성을 나타내는 노드들(311-1, 2, 3 등)이 연결될 수 있다. 또한, 상품인 '자동차 Y'의 노드(312)에 대해서는 가격, 컬러 등의 속성을 나타내는 노드들(312-1, 2 등)이 연결될 수 있다.
여기서, 관련 정보 추출 모듈(144)은, 지식 그래프(121-1) 내에 정의된 다양한 속성들 중, 앞서 식별된 카테고리들(H사의 자동차, 자동차, I사의 자동차, B사의 자동차)에 포함되는 상품들(자동차 X, 자동차 Y, 자동차 Z, 자동차 ZZ 등)에 대해 연결된 속성들(가격, 출시일, 연비, 컬러 등)을 식별할 수 있다.
한편, 관심사 분석 모듈(145)은, 사용자가 관심을 가지고 있는 상품(또는, 서비스) 카테고리 및/또는 속성을 판단할 수 있다.
구체적으로, 관심사 분석 모듈(145)은, 관련 정보 추출 모듈(144)에 의해 식별된 상품(또는, 서비스) 카테고리 및/또는 속성 각각에 대하여, 사용자의 관심도를 획득할 수 있다.
그리고, 관심사 분석 모듈(145)은 사용자의 관심도가 임계치 이상인 관심 상품(또는, 서비스) 카테고리(high-interest product category) 및/또는 관심 속성(high-interest attribute)을 판단할 수 있다. 여기에서, "관심 상품 카테고리", "관심 서비스 카테고리" 및 "관심 속성"이라는 용어는 각각 "타겟 상품 카테고리(target product category)", "타겟 서비스 카테고리(target service category)" 및 "타겟 속성(target attribute)"로 표현될 수도 있다.
관심사 분석 모듈(145)은, 상술한 발화 이력 정보(122)를 이용하여, 관련 정보 추출 모듈(144)에 의해 식별된 하나 이상의 상품(또는, 서비스) 카테고리 각각에 대한 사용자의 관심도를 획득할 수 있다.
구체적으로, 일 상품(또는, 서비스) 카테고리에 대한 사용자의 관심도는, 일정 기간 동안 해당 상품(또는, 서비스) 카테고리 또는 해당 상품 카테고리(또는 해당 상품 카테고리에 포함되는 하위의 상품 카테고리)에 포함되는 적어도 하나의 상품(또는, 서비스)이 발화된 횟수, 빈도 등에 따라 산정될 수 있다.
관련하여, 도 4a는, 본 개시의 일 실시 예에 따라 마이크를 통해 입력된, 다양한 상품 카테고리의 상품 키워드를 발화한 사용자의 발화 이력을 나타내기 위한 표이다.
도 4a에 도시된 발화 이력 정보(122-1)는, 앞서 관심 정보 추출 모듈(144)에 의해 식별된 상품 카테고리들(H사의 자동차, I사의 자동차, B사의 자동차, 자동차)과 관련된 최근 열흘(2020-07-02 ~ 2020-07-11) 동안의 발화 이력에 대한 것이다.
도 4a를 참조하면, 최근 열흘 동안, 상품 카테고리인 'H사의 자동차'와 관련된 상품 키워드가 발화된 횟수는 1회, 상품 카테고리인 'I사의 자동차'와 관련된 상품 키워드가 발화된 횟수는 3회, 상품 카테고리인 'B사의 자동차'와 관련된 상품 키워드가 발화된 횟수는 0회, 상품 카테고리인 '자동차'와 관련된 상품 키워드가 발화된 횟수는 9회이다.
여기서, 관심사 분석 모듈(145)은, 발화 횟수에 기설정된 가중치를 곱함으로써, 사용자의 관심도를 산출할 수 있다.
이때, 기설정된 가중치는, 지식 그래프(121-1) 내에서, 상품 키워드에 해당하는 노드(가령, 제1 노드)와 상품 카테고리에 해당하는 노드(가령, 제2 노드)가 연결된 중간 노드의 수에 따라 달리 설정될 수 있다.
관련하여, 상술한 도 3의 지식 그래프(121-1)에서, 자동차 X는 'H사의 자동차'에 직접적으로 연결되고(포함되고), 'H사의 자동차'는 '자동차'에 직접적으로 연결된다(포함된다).
따라서, 도 4a를 참조하면, 2020-07-11에 발화된 자동차 X에 대해서, 'H사의 자동차'는 1 level에 해당하는 상품 카테고리로 정의되고, '자동차'는 2 level에 해당하는 상품 카테고리로 정의되었다. 한편, 도 4a와 달리, 3 level 이상의 상품 카테고리에 대해서도 발화 이력 정보가 이용될 수 있음은 물론이다.
일 예로, 1 level의 상품 카테고리에 대한 가중치는 0.1로 기설정되고, 2 level의 상품 카테고리에 대한 가중치는 0.04로 기설정된 경우를 가정할 수 있다.
이 경우, 도 4b를 참조하면, 관심사 분석 모듈(145)은 'I사의 자동차'에 대한 사용자의 관심도를 가중치 0.1에 3(회)를 곱한 0.3으로 획득할 수 있다. 또한, 관심사 분석 모듈(145)은 '자동차'에 대한 사용자의 관심도를 가중치 0.04에 9(회)를 곱한 0.36으로 획득할 수 있다.
마찬가지로, 관심사 분석 모듈(145)은 'H사의 자동차'에 대한 사용자의 관심도를 0.1로, 'B사의 자동차'에 대한 사용자의 관심도를 0으로 산출할 수 있다.
만약, 적어도 하나의 상품 카테고리가 관심 상품 카테고리로 선택 받기 위한 관심도의 임계치가 0.2인 경우, 관심사 분석 모듈(145)은 관심도가 0.2 이상인 'I사의 자동차' 및 '자동차'를 관심 상품 카테고리로 결정할 수 있다.
그리고, 관심사 분석 모듈(145)은 결정된 관심 상품(또는, 서비스) 카테고리에 대한 정보를 광고 결정 모듈(146)로 전달할 수 있다.
상술한 도 4b의 경우, 단순히 최근 열흘 내의 카테고리 별 발화 횟수에 일괄적으로 동일한 가중치를 곱하여 관심도가 산출되었으나, 최근의 열흘보다 더 길거나 짧은 기간도 가능하다.
최근의 열흘보다 이전의 기간 동안의 상품(또는, 서비스) 카테고리 별 발화 이력 역시 추가로 고려될 수 있으며, 다만 이때 더 오래된 기간 동안의 발화 횟수일수록 가중치가 더 낮게 부여될 수 있다. 이밖에도 상품(또는, 서비스) 카테고리 별 발화 이력에 따라 다양한 방식으로 관심도가 산출될 수 있다.
관심사 분석 모듈(145)은, 관련 정보 추출 모듈(144)에 의해 식별된 적어도 하나의 상품(또는, 서비스) 카테고리에 대하여, 관련 정보 추출 모듈(144)에 의해 식별된 적어도 하나의 속성 각각과 관련된 속성 키워드가 발화된 이력(횟수, 빈도)을 식별할 수도 있다.
즉, 관심사 분석 모듈(145)은, 식별된 적어도 하나의 상품 카테고리(ex. I사의 자동차, H사의 자동차, 자동차)에 포함되는 상품 키워드와, 식별된 적어도 하나의 속성(ex. 가격, 출시일, 연비, 컬러 등)을 나타내는 속성 키워드가 사용자에 의해 함께 발화된 이력(ex. "자동차 X 얼마야?", "자동차 X는 너무 비싸. 더 것 추천해줘", "요즘 H사의 자동차에 대한 할인 이벤트는 없어?")을 식별할 수 있다.
관련하여, 도 5a는 본 개시의 일 실시 예에 따라 다양한 속성 키워드를 발화한 사용자의 속성 별 발화 이력을 나타내기 위한 표이다.
도 5a의 발화 이력 정보(122-2)는, 앞서 도 3의 지식 그래프(121-1)로부터 추출된 상품 카테고리들(H사의 자동차, 자동차, I사의 자동차, B사의 자동차 등)에 포함되는 상품 키워드(자동차 ZZ, 자동차 ZZZ, 자동차 T, 자동차 P, 자동차 X 등)와 함께, 추출된 속성들(가격, 출시일, 연비, 컬러 등)에 대한 속성 키워드(컬러, 출시일, 얼마, 가격, 할인, 연비 등)가 언급된 최근 열흘(2020-07-02 ~ 2020-07-11) 간의 발화 이력에 대한 것이다.
도 5a를 참조하면, 가격과 관련된 속성 키워드의 발화 횟수는 4회, 출시일과 관련된 속성 키워드의 발화 횟수는 3회, 연비와 관련된 속성 키워드의 발화 횟수는 1회, 컬러와 관련된 발화 횟수는 1회이다.
여기서, 관심사 분석 모듈(145)은, 발화 횟수에 기설정된 가중치를 곱함으로써, 사용자의 관심도를 산출할 수 있다.
구체적으로, 발화 횟수 별 가중치가 0.1로 기설정된 경우를 전제로 한 도 5b를 참조하면, 관심사 분석 모듈(145)은 '가격'에 대한 사용자의 관심도를 0.4, '출시일'에 대한 사용자의 관심도를 0.3, '연비'에 대한 사용자의 관심도를 0.1, '컬러'에 대한 사용자의 관심도를 0.1로 산출할 수 있다.
만약, 적어도 하나의 속성이 관심 속성으로 선택 받기 위한 관심도의 임계치가 0.2인 경우, 관심사 분석 모듈(145)은 관심도가 0.2 이상인 '가격' 및 '출시일'을 관심 속성으로 결정할 수 있다.
이렇게 결정된 관심 속성은, 후술할 광고 생성 모듈(147)이 광고 텍스트를 생성하는 데에 이용될 수 있다.
한편, 광고 결정 모듈(146)은 마이크(110)를 통해 입력된 사용자의 음성과 관련된 광고를 오디오 출력부(130)를 통해 제공할지 여부를 판단할 수 있다.
구체적으로, 광고 결정 모듈(146)은, 관심사 분석 모듈(145)에 의해 결정된 관심 상품(또는, 서비스) 카테고리에 대한 사용자의 관심도 및 사용자의 광고 피로도를 기반으로, 광고의 제공 여부를 결정할 수 있다.
광고 피로도는, 개념적으로, 만약 현 시점에서 광고가 제공될 경우 그로 인해 사용자가 느끼게 될 피로도를 의미하는 것이다.
광고 결정 모듈(146)은, 광고 이력 정보(123)를 이용하여, 일정 기간 동안 오디오 출력부(130)를 통해 광고가 제공된 이력(횟수, 시간, 빈도 등)을 식별하고, 식별된 이력에 따라 광고 피로도를 산정할 수 있다.
도 6a는 본 개시의 일 실시 예에 따라 오디오 출력부를 통해 제공된 광고 음성의 광고 이력 정보를 나타낸 표이다.
도 6a의 광고 이력 정보(123-1)는, 최근 열흘(2020-07-02 ~ 2020-07-11) 동안 다양한 광고 대상에 대하여 오디오 출력부(130)를 통해 제공된 광고들의 이력에 대한 것이다.
여기서, 광고 결정 모듈(146)은 광고 이력 정보(123-1)를 이용하여 현 시점에서 사용자의 광고 피로도를 획득할 수 있다.
구체적인 예로, 광고 결정 모듈(146)은 광고 횟수 별 가중치를 0.05로 하여, 최근 열흘 간의 광고 횟수(: 6회)를 곱할 수 있다. 이 경우, 광고 결정 모듈(146)은 사용자의 광고 피로도를 0.3으로 산정할 수 있다.
상술한 도 6a의 경우, 단순히 최근 열흘 내에 제공된 광고들에 일괄적으로 동일한 가중치를 곱하여 광고 피로도가 산출되었으나, 광고 피로도는 이밖에도 다양한 방식을 이용하여 산출될 수 있다.
예를 들어, 최근의 열흘보다 이전의 기간 동안 제공된 광고 역시 고려될 수 있으며, 다만 이때 더 오래된 광고일수록 횟수 별 가중치가 더 낮게 부여될 수 있다.
그리고, 광고 결정 모듈(146)은, 각 관심 상품 카테고리에 대한 사용자의 관심도 및 사용자의 광고 피로도를 기반으로, 관심 상품(또는, 서비스) 카테고리 각각에 대한 사용자의 광고 집중도를 산출할 수 있다.
이때, 광고 결정 모듈(146)은, 관심 상품(또는, 서비스) 카테고리 별로, 사용자의 관심도에서 사용자의 광고 피로도를 차감한 값을 광고 집중도로 산출할 수 있다.
예를 들어, 광고 결정 모듈(146)은, 상술한 도 4a 내지 도 4b의 실시 예를 통해 결정된 관심 상품(또는, 서비스) 카테고리들(: 자동차, I사의 자동차)의 관심도(: 0.36, 0.3) 각각에서 광고 피로도(0.3)를 차감하여, 관심 상품(또는, 서비스) 카테고리 각각에 대한 사용자의 광고 집중도를 산출할 수 있다.
그 결과, 도 6b를 참조하면, '자동차'에 대한 광고 집중도는 0.06, 'I사의 자동차'에 대한 광고 집중도는 0으로 산출될 수 있다.
그리고, 광고 결정 모듈(146)은 산출된 광고 피로도가 가장 큰 관심 상품(또는, 서비스) 카테고리의 광고 집중도가 기설정된 임계 값 이상인지 여부를 식별할 수 있다.
만약, 해당 광고 집중도가 기설정된 임계 값 이상인 경우, 광고 결정 모듈(146)은 광고를 제공하는 것으로 결정할 수 있다.
즉, 광고 결정 모듈(146)은 광고 집중도가 가장 큰 관심 상품(또는, 서비스) 카테고리에 대한 광고를 제공하기 위한 광고 요청을 생성할 수 있다.
일 예로, 광고 집중도에 대한 임계 값이 0.0인 경우를 가정할 수 있다. 도 6b를 참조하면, 광고 집중도가 가장 큰 '자동차'의 광고 집중도는 0.0보다 큰 0.06이기 때문에, 이 경우 광고 결정 모듈(146)은 '자동차'에 대한 광고 요청을 생성할 수 있다.
반면, 해당 광고 집중도가 기설정된 임계 값 미만인 경우, 광고 결정 모듈(146)은 광고 요청을 생성하지 않을 수 있고, 그 결과 아무런 광고가 제공되지 않을 수 있다.
광고 결정 모듈(146)은 생성된 광고 요청을 외부 서버 및/또는 광고 생성 모듈(146)로 전송할 수 있다.
구체적으로, 광고 결정 모듈(146)은 광고를 제공하는 것으로 결정된 관심 상품 카테고리에 대한 광고 요청을 외부 서버(146) 및/또는 광고 생성 모듈(146)로 전송할 수 있다.
이때, 광고 결정 모듈(146)은 앞서 키워드 추출 모듈(142)에 의해 추출된 속성 키워드(: 가격)에 매칭되거나 대응되는 속성(: 가격)에 대한 정보 및/또는 앞서 관련 정보 추출 모듈(144)에 의해 결정된 관심 속성(: 가격, 출시일)에 대한 정보를 함께 전송할 수 있다.
그 결과, 광고를 제공하는 것으로 결정된 관심 상품 카테고리(ex. 자동차)에 포함된 적어도 하나의 상품에 대하여, 추출된 속성 키워드 및/또는 결정된 관심 속성에 대한 정보(: 가격, 출시일)를 포함하는 광고 정보가 획득될 수 있다.
광고 정보는, 광고 요청의 대상인 관심 상품 카테고리에 포함되는 상품들 중 광고주에 의해 등록된 적어도 하나의 상품을 광고하기 위한 정보를 포함할 수 있다.
광고 정보는, 등록된 상품에 대하여 다양한 속성에 매칭되거나 대응되는 정보를 포함할 수 있다.
일 예로, 광고 정보는 광고 결정 모듈(146)로부터 광고 요청을 수신한 외부 서버로부터 수신될 수 있다.
여기서, 광고의 대상인 상품은 광고주의 요청 또는 신청에 의해 적어도 하나의 상품 카테고리에 대하여 등록된 것일 수 있다.
구체적으로, 하나 이상의 서버, 하나 이상의 광고주 장치 및 하나 이상의 사용자 장치(ex. 전자 장치(100))로 구성된 광고 시스템이 구축된 경우, 상품 카테고리 별로, 적어도 하나의 상품에 대한 광고 계약이 성립될 수 있다.
이를 위해, 광고주는 적어도 하나의 상품 카테고리에 대하여 적어도 하나의 상품에 대한 광고를 요청할 수 있다. 그리고, 만약 전자 장치(100)로부터 수신된 광고 요청이 해당 상품 카테고리에 대한 것인 경우, 광고주가 요청한 상품에 대한 광고 정보가 서버를 통해 전자 장치(100)로 제공될 수 있다.
적어도 하나의 상품을 광고하기 위한 광고주의 요청은, 실시간 비딩(bidding) 방식으로 수행될 수도 있다.
일 예로, 오디오 출력부(130)를 통한 광고를 제공하기로 결정된 관심 상품 카테고리에 대한 광고 요청을 광고 결정 모듈(146)이 서버로 전송한 경우, 서버는 광고주 장치들에 해당 관심 상품 카테고리에 대한 정보를 전송할 수 있다.
이 경우, 광고주 장치들은 전자 장치(100)의 오디오 출력부(130)를 통해 제공될 광고에 대한 실시간 경매에 참여할 수 있다.
구체적으로, 각 광고주 장치는, 각 광고주의 상품들 중 광고 요청의 대상인 관심 상품 카테고리에 포함되는 적어도 하나의 상품에 대한 광고 정보를 서버로 전송하고, 광고를 낙찰 받기 위한 비딩 가격에 대한 정보를 서버로 전송할 수 있다.
그 결과, 경매가 진행된 시간(ex. 100ms, 200ms) 동안 가장 높은 비딩 가격에 대한 정보를 전송한 일 광고주(ex. H사)의 상품(ex. 자동차 Z)이 광고의 대상으로 낙찰될 수 있다.
그리고, 서버는 해당 상품(: 자동차 Z)의 광고 정보를 전자 장치(100)로 전송할 수 있다.
광고 정보는, 전자 장치(100)의 메모리(120)에 기저장된 것일 수도 있다. 이 경우, 광고 생성 모듈(147)은, 광고 결정 모듈(146)로부터 광고 요청이 수신됨에 따라, 메모리(120)에 기저장된 광고 정보 중 광고 요청에 대응되는 관심 상품 카테고리에 대한 광고 정보를 획득할 수 있다.
광고 생성 모듈(147)은 광고 결정 모듈(146)에 의해 광고를 제공하는 것으로 결정된 경우, 획득된 광고 정보를 이용하여 광고 텍스트를 생성하기 위한 구성이다.
일 예로, '자동차' 가 광고 요청의 대상인 관심 상품 카테고리인 경우, 광고 생성 모듈(147)은 '자동차'에 포함되는 적어도 하나의 상품(ex. 자동차 Z)에 대한 광고 정보를 포함하는 광고 텍스트를 생성할 수 있다.
이때, 광고 생성 모듈(147)은, 앞서 키워드 추출 모듈(142)이 사용자 음성(: 자동차 X의 가격을 알려줘)으로부터 추출했던 속성 키워드(ex. 가격)를 기반으로 광고 텍스트를 생성할 수 있다.
즉, 광고 생성 모듈(147)은, 사용자가 현 시점에 발화한 속성 키워드와 매칭되는 속성을 관심 속성으로 식별할 수 있으며, 관심 속성을 기반으로 광고 텍스트를 생성할 수 있다.
이 경우, 설령 광고 정보가 자동차 Z의 수많은 속성들(가격, 출시일, 색상, 연비 등)에 대한 정보를 포함하더라도, 광고 생성 모듈(147)은 획득된 자동차 Z의 광고 정보 중 '가격' 속성에 대한 정보를 추출하여 광고 텍스트를 생성할 수 있다.
또한, 광고 생성 모듈(147)은, 앞서 관심사 분석 모듈(145)에 의해 결정된 관심 속성을 이용하여 광고 텍스트를 생성할 수도 있다.
일 예로, 상술한 도 5b와 같이 관심사 분석 모듈(145)에 의해 결정된 관심 속성이 '가격' 및 '출시일'인 경우, 광고 생성 모듈(147)은 획득된 광고 정보 중 '가격' 및 '출시일' 에 대한 정보를 추출하여 광고 텍스트를 생성할 수 있다.
그 결과, 자동차 Z의 가격 및 출시일에 대한 정보만을 포함하는 광고 텍스트(ex. 2020년 신형 모델 자동차 Z의 가격은 5천만원이다.)를 생성할 수도 있다.
대화 결합 모듈(148)은, 질의-응답 모듈(143)을 통해 획득된 응답 텍스트 및 광고 생성 모듈(147)을 통해 생성된 광고 텍스트를 결합하여 결합 텍스트를 획득할 수 있다.
이 경우, 대화 결합 모듈(148)은 응답 텍스트의 문맥에 맞도록 광고 텍스트의 적어도 일부를 변경할 수 있다. 그리고, 대화 결합 모듈(148)은 응답 텍스트 다음으로 변경된 광고 텍스트가 이어지도록 결합 텍스트를 구성할 수 있다.
이때, 대화 결합 모듈(148)은 하나 이상의 문장 또는 문구를 결합하도록 훈련된 문장 융합 모델에 상술한 응답 텍스트 및 변경된 광고 텍스트를 입력하여 결합 텍스트를 획득할 수도 있다.
일 예로, 응답 텍스트가 '자동차 X의 가격은 6천만원입니다.'이고, 광고 텍스트가 '2020년 신형 모델 자동차 Z의 가격은 5천만원이다.'인 경우를 가정할 수 있다.
이 경우, 대화 결합 모듈(148)은 '자동차 X의 가격은 6천만원입니다. 그런데, 2020년 신형 모델 자동차 Z의 가격은 5천만원이라고 하네요. 자동차 Z에 대한 더 자세한 정보를 알아보시겠어요?'와 같은 결합 텍스트를 획득할 수 있다.
TTS(text-to-speech) 모듈(149)은 적어도 하나의 텍스트를 오디오 신호로 변환하기 위한 모듈이다. TTS 모듈(149)은 응답 텍스트, 광고 텍스트 또는 결합 텍스트를 변환하여 오디오 신호를 생성할 수 있다.
일 예로, TTS 모듈(149)은 결합 텍스트를 음절 단위로 구분하고, 구분된 각 음절에 매핑되는 오디오 신호를 획득한 뒤, 획득된 오디오 신호들을 결합할 수 있다. 다만, 이밖에도 종래 알려진 다양한 기술이 이용될 수 있으며 이에 한정되지 않는다.
그리고, 프로세서(140)는 결합 텍스트가 변환된 오디오 신호에 따른 음성을 출력하도록 오디오 출력부(130)를 제어할 수 있다. 그 결과, 사용자의 질의에 대한 응답 및 광고가 함께 음성 형태로 제공될 수 있다.
구체적으로, 사용자의 질의에 대한 응답 음성(자동차 X의 가격은 6천만원입니다)이 오디오 출력부(130)를 통해 출력된 이후, 뒤이어 광고 음성(그런데, 2020년 신형 모델 자동차 Z의 가격은 5천만원이라고 하네요. 자동차 Z에 대한 더 자세한 정보를 알아보시겠어요?)이 오디오 출력부(130)를 통해 출력될 수 있다.
다만, 상술한 사용자의 음성이 질의가 아니었던 경우라면, 광고 텍스트만이 TTS 모듈(149)에 입력될 수도 있다. 이 경우, 오디오 출력부(130)를 통해 출력되는 음성에는 광고만이 포함된다.
상술한 도 2를 통해서는, 전자 장치(100)가 마이크(110) 및 오디오 출력부(130)를 포함하는 경우만을 도시하였으나, 전자 장치(100)는 마이크 및/또는 오디오 출력부를 포함하는 적어도 하나의 외부 장치와 통신을 수행함으로써 상술한 동작을 수행할 수 있음은 물론이다. 이 경우, 전자 장치(100)는 서버, 셋탑박스, 콘솔 기기 등으로 구현될 수 있다.
관심사 분석 모듈(145)이 판단하는 상술한 상품 카테고리 별 관심도는, 사용자 음성에 포함된 키워드와 각 상품 카테고리 간의 관련도에 따라 추가적으로 업데이트될 수 있으며, 이 경우 관심 상품 카테고리를 선정하는 기준이 상술한 도 4b의 실시 예와 조금 달라질 수 있다.
키워드와 각 상품 카테고리 간의 관련도는 지식 그래프에 의해 정의될 수 있는바, 이하 도 7a의 지식 그래프를 통해 설명한다.
도 7a를 참조하면, 지식 그래프(121-2)는 각 노드들 간의 distance에 대한 정보를 추가로 포함할 수 있다.
여기서, distance는 노드 간의 관련성에 반비례하는 개념으로 이해될 수 있다.
도 7a를 참조하면, 현재 입력된 사용자 음성에 포함된 상품 키워드인 자동차 X의 노드(311)와 H사의 자동차의 노드(310) 간의 distance는 2이고, H사의 자동차의 노드(310)와 자동차의 노드(300) 간의 distance는 4이다. 여기서, 노드(311)와 노드(300) 간의 distance는 6(2+4)이 된다.
그리고, 일 예로, 키워드와 각 상품 카테고리 간의 관련도는 상술한 distance의 역수로 정의될 수 있다.
이 경우, 도 7a 및 도 7b를 참조하면, 노드(311)과 노드(310) 간의 distance는 2이므로, "자동차 X"와 "H사의 자동차" 간의 관련도는 0.5이다.
또한, 노드(311)과 노드(300) 간의 distance는 6이므로, "자동차 X"와 "자동차" 간의 관련도는 0.167이다.
또한, 노드(311)과 노드(320) 간의 distance는 10이므로, "자동차 X"와 "I사의 자동차" 간의 관련도는 0.167이다.
또한, 노드(311)과 노드(330) 간의 distance는 10이므로, "자동차 X"와 "B사의 자동차" 간의 관련도는 0.167이다.
그리고, 관심사 분석 모듈(145)은 도 4b에서 산출된 상품 카테고리 별 관심도마다 상술한 관련도를 더하여, 상품 카테고리 별 관심도를 업데이트할 수 있다.
그 결과, 도 8을 참조하면, 상품 카테고리 별 관심도가 업데이트될 수 있다. 구체적으로, "자동차" 에 대한 사용자의 관심도는 0.527로 업데이트되고, "I사의 자동차"에 대한 사용자의 관심도는 0.4로 업데이트되며, "H사의 자동차"에 대한 사용자의 관심도는 0.6으로 업데이트되고, "B사의 자동차"에 대한 사용자의 관심도는 0.1로 업데이트될 수 있다.
만약, 관심 상품 카테고리로 선택받기 위한 관심도의 임계치가 0.5인 경우, 관심사 분석 모듈(145)은 관심도가 0.5 이상인 "자동차" 및 "H사의 자동차"를 관심 상품 카테고리로 결정할 수 있다.
이렇듯 상품 카테고리 별 관심도를 산출함에 있어 관련도가 추가적으로 고려된 결과, 결정된 관심 상품 카테고리가 도 4b의 실시 예(: 자동차 및 I사의 자동차가 관심 상품 카테고리로 식별됨)와는 달라질 수 있다.
이 경우, 광고 결정 모듈(146)은 도 8에서 산출된 관심 상품 카테고리들(H사의 자동차, 자동차) 각각의 관심도에서 광고 피로도(: 0.3, 도 6a 참조)를 차감함으로써, 관심 상품 카테고리 별 광고 집중도를 산출할 수 있다.
그 결과, 도 9를 참조하면, 광고 결정 모듈(146)은 광고 집중도가 임계치(ex. 0.0) 이상이고 가장 큰 "H사의 자동차"를 광고 대상인 상품 카테고리로 선택할 수 있다. 그리고, 결과적으로 "H사의 자동차"에 대한 광고 음성이 오디오 출력부(140)를 통해 출력될 수 있다.
도 10은 본 개시의 일 실시 예에 따른 전자 장치의 구성 및 동작을 설명하기 위한 블록도이다.
도 10을 참조하면, 도 2와 달리, 전자 장치(100)는 질의-응답 모듈(143) 및 대화 결합 모듈(148)을 포함하지 않을 수도 있다.
이 경우, 전자 장치(100)는, 사용자의 질의에 대한 응답을 제공하지는 않지만, 전자 장치(100)가 제공하는 적어도 하나의 서비스(ex. 검색, 구매 등)를 이용하기 위한 사용자의 음성 명령에 포함된 키워드(상품 키워드, 속성 키워드) 및 사용자의 발화 이력(ex. 사용자의 음성 명령 이력)을 이용하여, 광고 제공 여부를 결정할 수 있다.
그리고, 광고를 제공하는 것으로 결정된 경우, 상술한 실시 예들과 마찬가지로, 전자 장치(100)는 사용자의 음성 명령에 포함된 키워드에 따라 적어도 하나의 상품 카테고리를 결정하고, 결정된 상품 카테고리와 관련된 광고 음성을 제공할 수 있다.
도 11은 본 개시의 다양한 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도이다.
도 11을 참조하면, 전자 장치(100)는 마이크(110), 메모리(120), 오디오 출력부(130), 프로세서(140), 통신 인터페이스(150) 등을 포함할 수 있다.
마이크(120)는 사용자의 음성을 입력받아 전기적인 오디오 신호로 변환하기 위한 구성으로서, 적어도 하나의 회로를 포함할 수 있다.
메모리(120)는 전자 장치(100)의 구성요소들의 전반적인 동작을 제어하기 위한 운영체제(OS: Operating System) 및 전자 장치(100)의 구성요소와 관련된 적어도 하나의 인스트럭션 또는 데이터를 저장하기 위한 구성이다.
메모리(120)는 ROM, 플래시 메모리 등의 비휘발성 메모리를 포함할 수 있으며, DRAM 등으로 구성된 휘발성 메모리를 포함할 수 있다. 또한, 메모리(120)는 하드 디스크, SSD(Solid state drive) 등을 포함할 수도 있다.
메모리(120)는 음성 인식 모듈(141)이 이용하는 음향 모델(Acoustic Model), 언어 모델(Language Model) 등에 대한 데이터를 포함할 수 있으며, 키워드 추출 모듈(142)이 이용하는 자연어 이해 모델 등을 포함할 수 있다.
그밖에 메모리(120)는 음성 비서의 서비스를 제공하기 위한 다양한 인공지능 모델을 포함할 수 있다.
오디오 출력부(130)는 사용자의 질의에 대한 전자 장치(100)의 응답 음성 및/또는 광고 음성을 음성 형태로 출력하기 위한 구성이다. 오디오 출력부(130)는 스피커, 이어폰/헤드폰 출력 단자 등을 포함할 수 있다.
프로세서(140)는 전자 장치(100)의 전반적인 동작을 제어한다. 구체적으로, 프로세서(140)는 메모리(120)와 연결되어 전자 장치(100)를 제어할 수 있다.
이를 위해, 프로세서(140)는 하드웨어적으로 CPU(central processing unit), GPU(Graphic processing unit), NPU(neural processing unit) 등을 포함할 수 있으며, 전자 장치(100)에 포함된 다른 구성요소들의 제어에 관한 연산이나 데이터 처리를 실행할 수 있다.
프로세서(140)는 MPU(Micro Processing Unit)로 구현되거나, 또는 RAM(Random Access Memory) 및 ROM(Read Only Memory) 등이 CPU 등과 시스템 버스를 통해 연결된 컴퓨터에 해당할 수도 있다.
프로세서(140)는 전자 장치(100)에 포함된 하드웨어적 구성요소뿐만 아니라, 전자 장치(100)에 포함되는 하나 이상의 소프트웨어 모듈을 제어할 수도 있으며, 프로세서(140)가 소프트웨어 모듈을 제어한 결과가 하드웨어 구성들의 동작으로 도출될 수도 있다.
프로세서(140)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, APU(accelerated processing unit) 등과 같은 범용 프로세서, GPU. VPU(vision processing unit) 등과 같은 그래픽 전용 프로세서 또는 NPU, AI 가속기(AI accelerator), 기계 학습 가속기(machine learning accelerator) 등과 같은 인공지능(AI) 전용 프로세서일 수 있다.
하나 또는 복수의 프로세서는, 메모리에 저장된 기정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 기정의된 동작 규칙 또는 인공지능 모델은 학습(훈련)을 통해 만들어진 것을 특징으로 한다.
여기서, 학습을 통해 만들어진다는 것은, 다수의 학습 데이터들에 학습 알고리즘을 적용함으로써, 원하는 특성의 기정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버/시스템을 통해 이루어 질 수도 있다.
학습 알고리즘은, 다수의 학습 데이터들을 이용하여 소정의 대상 기기(예컨대, 로봇)을 훈련시켜 소정의 대상 기기 스스로 결정을 내리거나 예측을 할 수 있도록 하는 방법이다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으며, 본 개시에서의 학습 알고리즘은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
통신 인터페이스(150)는 하나 이상의 외부 전자 장치와 통신을 수행하기 위한 구성으로서 회로를 포함할 수 있다.
통신 인터페이스(150)는 TCP/IP(Transmission Control Protocol/Internet Protocol), UDP(User Datagram Protocol), HTTP(Hyper Text Transfer Protocol), HTTPS(Secure Hyper Text Transfer Protocol), FTP(File Transfer Protocol), SFTP(Secure File Transfer Protocol), MQTT(Message Queuing Telemetry Transport) 등의 통신 규약(프로토콜)을 이용하여 하나 이상의 외부 전자 장치와 다양한 정보를 송수신할 수 있다.
이를 위해, 통신 인터페이스(150)는 유선 통신 및/또는 무선 통신을 통해 구현된 네트워크를 기반으로, 외부 전자 장치와 연결될 수 있다. 이때, 통신 인터페이스(150)는 외부 전자 장치와 직접적으로 연결될 수도 있지만, 네트워크를 제공하는 하나 이상의 외부 서버(ex. ISP(Internet Service Provider))를 통해서 외부 전자 장치와 연결될 수도 있다.
네트워크는 영역 또는 규모에 따라 개인 통신망(PAN; Personal Area Network), 근거리 통신망(LAN; Local Area Network), 광역 통신망(WAN; Wide Area Network) 등일 수 있으며, 네트워크의 개방성에 따라 인트라넷(Intranet), 엑스트라넷(Extranet), 또는 인터넷(Internet) 등일 수 있다.
무선 통신은 LTE(long-term evolution), LTE-A(LTE Advance), 5G(5th Generation) 이동통신, CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), GSM(Global System for Mobile Communications), DMA(Time Division Multiple Access), WiFi(Wi-Fi), WiFi Direct, Bluetooth, NFC(near field communication), Zigbee 등의 통신 방식 중 적어도 하나를 포함할 수 있다.
유선 통신은 이더넷(Ethernet), 광 네트워크(optical network), USB(Universal Serial Bus), 선더볼트(ThunderBolt) 등의 통신 방식 중 적어도 하나를 포함할 수 있다. 여기서, 통신 인터페이스(150)는 상술한 유무선 통신 방식에 따른 네트워크 인터페이스(Network Interface) 또는 네트워크 칩을 포함할 수 있다. 한편, 통신 방식은 상술한 예에 한정되지 아니하고, 기술의 발전에 따라 새롭게 등장하는 통신 방식을 포함할 수 있다.
일 예로, 광고 결정 모듈(146)에 의해 광고를 제공하는 것으로 결정된 경우, 프로세서(140)는 광고를 제공할 상품 카테고리에 대한 정보를 통신 인터페이스(150)를 통해 서버로 전송할 수 있다.
이때, 통신 인터페이스(150)를 통해 서버로부터 광고 정보가 수신되면, 프로세서(140)는 수신된 광고 정보의 적어도 일부를 오디오 출력부(130)를 통해 음성 형태로 제공할 수 있다.
한편, 지식 그래프(121)가 전자 장치(100)가 아닌 서버에 저장될 수도 있는바, 이 경우, 프로세서(140)는 통신 인터페이스(150)를 통해 서버로부터 지식 그래프(121)의 적어도 일부를 수신하여 이용할 수도 있다.
한편, 발화 이력 정보(122)는 전자 장치(100)의 마이크(110)를 통해 사용자의 발화 이력 외에, 사용자의 다른 전자 장치를 통해 입력된 사용자의 발화 이력에 대한 정보를 추가로 포함할 수도 있다.
이때, 상술한 다른 전자 장치를 통해 입력된 사용자의 발화 이력에 대한 정보는, 통신 인터페이스(150)를 통해 수신된 것일 수 있다.
마찬가지로, 광고 이력 정보(123) 역시, 전자 장치(100)의 오디오 출력부(130)를 통해 제공된 광고 음성의 이력 외에, 다른 전자 장치를 통해 제공된 광고 음성의 이력을 포함할 수 있다.
이때, 상술한 다른 전자 장치를 통해 제공된 광고 음성의 이력에 대한 정보는, 통신 인터페이스(150)를 통해 수신된 것일 수 있다.
한편, 상술한 모듈들(141, 142, 143, 144, 145, 146, 147, 148, 149) 중 적어도 하나는 외부의 서버에 포함될 수도 있다.
이 경우, 프로세서(140)는 통신 인터페이스(150)를 통해 해당 서버와 통신을 수행할 수 있고, 전자 장치(100)및 서버를 포함하는 시스템을 통해 모듈들의 동작이 수행될 수 있다.
이하 도 12 내지 도 14를 통해서는, 본 개시에 따른 전자 장치의 제어 방법을 설명한다.
도 12는 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 순서도이다. 본 전자 장치의 메모리에는, 복수의 상품에 대응되는 복수의 상품 카테고리에 대한 정보를 포함하는 지식 그래프, 마이크를 통해 수신된 사용자의 음성에 기초하여 획득된 발화 이력 정보 및 오디오 출력부를 통해 제공된 광고에 대한 광고 이력 정보가 포함될 수 있다.
도 12를 참조하면, 본 제어 방법은, 마이크를 통해 입력된 사용자의 음성이 변환된 텍스트로부터 적어도 하나의 상품 키워드를 식별할 수 있다(S1210 단계).
그리고, 지식 그래프에 기초하여, 상품 키워드와 관련된 적어도 하나의 상품 카테고리를 식별할수 있다(S1220 단계).
구체적으로, 지식 그래프 내에서, 상품 키워드의 노드에 근접한 적어도 하나의 노드에 해당하는 상품 카테고리를 식별할 수 있다.
그리고, 본 제어 방법은, 식별된 상품 카테고리에 대한 사용자의 관심도(interest level) 및 광고 이력 정보에 따라 획득된 사용자의 광고 피로도(Ad fatique level)를 기반으로, 사용자의 음성과 관련된 광고의 제공 여부를 결정할 수 있다(S1230 단계).
여기서, 발화 이력 정보에 기초하여, 사용자가 기설정된 기간 동안 식별된 상품 카테고리를 발화한 횟수를 식별하고, 식별된 횟수에 기초하여, 식별된 상품 카테고리 각각에 대한 사용자의 관심도를 식별할 수 있다.
또한, 광고 이력 정보에 기초하여, 기설정된 기간 동안 광고가 오디오 출력부를 통해 제공된 횟수를 식별하고, 식별된 횟수에 기초하여 사용자의 광고 피로도를 식별할 수 있다.
이때, 사용자의 관심도 및 사용자의 광고 피로도를 기반으로, 상기 식별된 상품 카테고리 각각에 대한 사용자의 광고 집중도를 식별할 수 있다.
그리고, 식별된 상품 카테고리 중 광고 집중도가 가장 높은 관심 상품 카테고리를 결정할 수 있다.
여기서, 결정된 관심 상품 카테고리의 광고 집중도가 기설정된 임계 값 이상인 경우, 광고를 제공하는 것으로 결정할 수 있다.
구체적으로, 결정된 관심 상품 카테고리에 기초하여 광고 정보를 획득하고, 광고 정보에 기초하여, 오디오 출력부를 통해 광고 음성을 출력할 수 있다.
광고 정보는, 전자 장치에 기저장된 것일 수도 있지만, 서버로부터 수신될 수도 있다.
일 예로, 관심 상품 카테고리에 대한 정보를 포함하는 광고 요청을 서버로 전송함으로써, 서버로부터 수신된 광고 정보를 수신할 수 있다.
그 결과, 수신된 광고 정보가 광고 음성으로 제공될 수 있다.
만약 앞서 입력된 사용자의 음성이 질의에 해당하는 경우, 본 제어 방법은, 응답 음성을 출력한 이후 광고 음성을 출력할 수 있다.
상술한 지식 그래프는, 복수의 상품에 대응되는 복수의 속성에 대한 정보를 포함할 수 있다.
이 경우, 본 제어 방법은, 입력된 사용자의 음성이 변환된 텍스트로부터 상품 키워드와 관련된 속성 키워드를 획득할 수 있다.
이때, 지식 그래프 내에서, 속성 키워드에 매칭되는 속성을 식별하여 제1 관심 속성으로 선택할 수 있다.
또한, 지식 그래프 내에서, 앞서 상품 키워드를 통해 식별된 상품 카테고리들 각각에 속한 적어도 하나의 속성을 식별할 수 있다. 그리고, 발화 이력 정보에 따라, 식별된 속성 중 적어도 하나의 속성을 제2 관심 속성으로 결정할 수 있다.
구체적으로, 발화 이력 정보에 기초하여, 기설정된 기간 동안 사용자가 식별된 적어도 하나의 속성 각각에 대한 속성 키워드를 발화한 횟수를 식별할 수 있다. 이때, 식별된 상품 카테고리에 대해 사용자가 해당 속성 키워드를 발화한 횟수를 식별할 수 있다.
그리고, 식별된 횟수에 기초하여, 식별된 적어도 하나의 속성 각각에 대한 사용자의 관심도를 식별할 수 있다. 여기서, 관심도가 기설정된 임계 값 이상인 적어도 하나의 속성을 제2 관심 속성으로 결정할 수 있다.
그리고, 앞서 획득된 광고 정보 중, 제1 관심 속성 및/또는 제2 관심 속성에 매칭되는 광고 정보를 광고 음성으로 출력할 수 있다.
한편, 도 13은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법이 광고 제공 여부를 결정하는 동작을 설명하기 위한 알고리즘이다.
도 13을 참조하면, 본 제어 방법은, 사용자의 음성에서 추출된 상품 키워드를 통해 추출된 적어도 하나의 상품 카테고리 각각에 대한 사용자의 관심도를 식별할 수 있다(S1310 단계).
그리고, 최근의 기설정된 기간 동안 오디오 출력부를 통하여 광고 음성이 제공된 광고 이력 정보에 따라, 사용자의 광고 피로도를 식별할 수 있다(S1320 단계).
그리고, S1310에서 식별된 상품 카테고리 별로, 광고 집중도(= 관심도 - 광고 피로도)를 식별할 수 있다(S1330 단계).
여기서, 광고 집중도가 가장 큰 관심 상품 카테고리를 식별할 수 있다(S1340 단계).
이때, 관심 상품 카테고리의 광고 집중도가 임계 값 이상인 경우(S1350 단계 - Y), 관심 상품 카테고리에 대한 광고를 오디오 출력부를 통해 음성 형태로 제공할 수 있다(S1360 단계).
반면, 관심 상품 카테고리의 광고 집중도가 임계 값 미만인 경우(S1350 단계 - N), 광고를 제공하지 않을 수 있다(S1370 단계).
한편, 도 14는 본 개시의 일 실시 예에 따른 전자 장치의 전반적인 동작 흐름을 설명하기 위한 알고리즘이다.
도 14를 참조하면, 본 제어 방법은, 사용자의 음성이 마이크를 통해 입력되는 경우, 사용자의 음성이 질의에 해당하는지 여부를 판단할 수 있다(S1410).
만약, 사용자의 음성이 질의에 해당하는 경우(S1410 단계 - Y), 질의에 대한 응답 텍스트를 획득할 수 있다(S1420 단계).
그리고, 응답과 함께 광고를 제공할 지 여부를 결정할 수 있다(S1430 단계).
구체적으로, 사용자의 음성에 포함된 상품 키워드와 관련된 상품 카테고리들을 식별하고, 상품 카테고리들 중 광고 집중도가 가장 높은 상품 카테고리의 광고 집중도가 임계치 이상인지 식별할 수 있다.
만약, 임계치 이상이면, 해당 상품 카테고리에 대한 광고를 제공하는 것으로 결정할 수 있다. 반면, 임계치 미만이면, 광고를 제공하지 않는 것으로 결정할 수 있다.
광고를 제공하지 않는 것으로 결정된 경우(S1440 단계 - N), 응답 텍스트에 해당하는 음성만을 출력할 수 있다(S1450 단계).
반면, 광고를 제공하는 것으로 결정된 경우(S1440 단계 - N), 광고 집중도가 가장 높은 상품 카테고리에 대한 광고 정보를 획득하고, 이를 통해 광고 텍스트를 획득할 수 있다(S1460 단계).
이어서, 응답 텍스트와 광고 텍스트가 결합된 결합 텍스트를 획득하고(S1470 단계), 결합 텍스트에 해당하는 음성(응답+광고)을 출력할 수 있다(S1480 단계).
한편, 도 12 내지 도 14를 통해 설명된 전자 장치의 제어 방법은, 도 2 및 도 11을 통해 도시 및 설명된 전자 장치(100)를 통해 수행될 수 있다.
또는, 도 12 내지 도 14를 통해 설명된 전자 장치의 제어 방법은, 전자 장치(100) 및 적어도 하나의 외부 장치를 포함하는 시스템을 통해 수행될 수 있다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(Programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processor), 제어기(controller), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessor), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다.
일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상술한 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 전자 장치(100)에서의 처리동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 전자 장치(100)의 처리 동작을 상술한 특정 기기가 수행하도록 한다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
전술한 예시적인 실시 예 및 이점은 단지 예시적이며, 본 발명의 범위를 제한하는 것으로 해석되어서는 안 된다. 본 개시는 다른 유형의 장치에 용이하게 적용될 수 있다. 또한, 본 개시의 실시 예에 대한 설명은 예시를 위한 것이며, 청구범위의 범위를 제한하려는 것이 아니고, 다양한 대안, 수정 및 변형이 당업자에게 명백할 수 있다.

Claims (15)

  1. 전자 장치에 있어서,
    마이크;
    스피커;
    복수의 상품에 대응되는 복수의 상품 카테고리에 대한 정보를 포함하는 지식 그래프, 상기 마이크를 통해 입력된 사용자 음성에 기초하여 획득된 발화 이력 정보 및 상기 스피커를 통해 제공된 과거 광고에 대한 광고 이력 정보가 저장된 메모리; 및
    상기 마이크, 상기 스피커 및 상기 메모리와 연결된 프로세서;를 포함하고,
    상기 프로세서는,
    상기 마이크를 통해 입력된 상기 사용자 음성이 변환된 텍스트로부터 적어도 하나의 상품 키워드를 획득하고,
    상기 지식 그래프에 기초하여 상기 복수의 상품 카테고리 중 상기 적어도 하나의 상품 키워드와 관련된 적어도 하나의 상품 카테고리를 식별하고,
    상기 발화 이력 정보에 따라 획득된 상기 식별된 적어도 하나의 상품 카테고리에 대한 상기 사용자의 관심도(interest level) 및 상기 광고 이력 정보에 따라 획득된 상기 사용자의 광고 피로도(Ad fatique level)를 기반으로, 상기 사용자 음성과 관련된 광고의 제공 여부를 결정하고,
    상기 광고를 제공하는 것으로 결정되면, 상기 식별된 적어도 하나의 상품 카테고리 중 상기 사용자의 관심도에 따라 결정된 타겟 상품 카테고리(target product category)에 기초하여 광고 정보를 획득하고, 상기 광고 정보에 기초하여 광고 음성을 출력하도록 상기 스피커를 제어하는, 전자 장치.
  2. 제1항에 있어서,
    통신 인터페이스;를 더 포함하고,
    상기 프로세서는,
    상기 광고를 제공하는 것으로 결정되면, 상기 타겟 상품 카테고리에 대한 정보를 포함하는 광고 요청을 상기 통신 인터페이스를 통해 서버로 전송하고, 상기 광고 정보를 상기 서버로부터 상기 통신 인터페이스를 통해 수신하는, 전자 장치.
  3. 제1항에 있어서,
    상기 프로세서는,
    상기 발화 이력 정보에 기초하여, 상기 사용자가 기설정된 제1 기간 동안 상기 식별된 적어도 하나의 상품 카테고리를 발화한 횟수를 식별하고, 상기 식별된 횟수에 기초하여 상기 식별된 적어도 하나의 상품 카테고리 각각에 대한 상기 사용자의 관심도를 식별하고,
    상기 광고 이력 정보에 기초하여, 기설정된 제2 기간 동안 상기 과거 광고가 상기 스피커를 통해 제공된 횟수를 식별하고, 상기 식별된 횟수에 기초하여 상기 사용자의 광고 피로도를 식별하는, 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 사용자의 관심도 및 상기 사용자의 광고 피로도를 기반으로, 상기 식별된 적어도 하나의 상품 카테고리 각각에 대한 상기 사용자의 광고 집중도를 식별하고,
    상기 식별된 적어도 하나의 상품 카테고리 중 상기 광고 집중도가 가장 높은 타겟 상품 카테고리를 결정하고,
    상기 결정된 타겟 상품 카테고리의 광고 집중도가 기설정된 임계 값 이상인 경우, 상기 광고를 제공하는 것으로 결정하는, 전자 장치.
  5. 제1항에 있어서,
    상기 지식 그래프는, 상기 복수의 상품에 대응되는 복수의 속성에 대한 정보를 포함하고,
    상기 프로세서는,
    상기 텍스트로부터 상기 적어도 하나의 상품 키워드와 관련된 속성 키워드를 획득하고,
    상기 지식 그래프에 포함된 상기 복수의 속성 중, 상기 속성 키워드와 관련된 타겟 속성를 식별하고,
    상기 식별된 타겟 속성에 대응되는 광고 정보에 기초하여 상기 광고 음성을 출력하도록 상기 스피커를 제어하는, 전자 장치.
  6. 제1항에 있어서,
    상기 지식 그래프는, 상기 복수의 상품에 대응되는 복수의 속성에 대한 정보를 포함하고,
    상기 프로세서는,
    상기 지식 그래프에 기초하여 상기 식별된 적어도 하나의 상품 카테고리에 속한 적어도 하나의 상품에 대한 적어도 하나의 속성을 식별하고,
    상기 발화 이력 정보에 기초하여, 상기 식별된 적어도 하나의 속성 중 적어도 하나의 속성을 타겟 속성으로 식별하고,
    상기 식별된 타겟 속성에 대응되는 광고 정보에 기초하여 광고 음성을 출력하도록 상기 스피커를 제어하는, 전자 장치.
  7. 제6항에 있어서,
    상기 프로세서는,
    상기 발화 이력 정보에 기초하여, 상기 사용자가 기설정된 기간 동안 상기 식별된 적어도 하나의 상품 카테고리에 대해 상기 식별된 적어도 하나의 속성 각각에 대한 속성 키워드를 발화한 횟수를 식별하고,
    상기 식별된 횟수에 기초하여 상기 식별된 적어도 하나의 속성 각각에 대한 상기 사용자의 관심도를 식별하고,
    상기 식별된 적어도 하나의 속성 중 상기 식별된 관심도가 기설정된 임계 값 이상인 속성을 상기 타겟 속성을 결정하는, 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는,
    상기 사용자 음성에 대한 응답 음성을 상기 스피커를 통해 출력하고,
    상기 광고를 제공하는 것으로 결정되면, 상기 응답 음성이 출력된 이후, 상기 광고 음성을 출력하도록 상기 스피커를 제어하는, 전자 장치.
  9. 복수의 상품에 대응되는 복수의 상품 카테고리에 대한 정보를 포함하는 지식 그래프, 마이크를 통해 입력된 사용자 음성에 기초하여 획득된 발화 이력 정보 및 스피커를 통해 제공된 과거 광고에 대한 광고 이력 정보가 저장된 메모리를 포함하는 전자 장치의 제어 방법에 있어서,
    상기 마이크를 통해 입력된 상기 사용자 음성이 변환된 텍스트로부터 적어도 하나의 상품 키워드를 획득하는 단계;
    상기 지식 그래프에 기초하여 상기 복수의 상품 카테고리 중 상기 적어도 하나의 상품 키워드와 관련된 적어도 하나의 상품 카테고리를 식별하는 단계;
    상기 발화 이력 정보에 따라 획득된 상기 식별된 적어도 하나의 상품 카테고리에 대한 상기 사용자의 관심도(interest level) 및 상기 광고 이력 정보에 따라 획득된 상기 사용자의 광고 피로도(Ad fatique level)를 기반으로, 상기 사용자 음성과 관련된 광고의 제공 여부를 결정하는 단계;
    상기 광고를 제공하는 것으로 결정되면, 상기 식별된 적어도 하나의 상품 카테고리 중 상기 사용자의 관심도에 따라 결정된 타겟 상품 카테고리(target product category)에 기초하여 광고 정보를 획득하는 단계; 및
    상기 광고 정보에 기초하여, 상기 스피커를 통해 광고 음성을 출력하는 단계;를 포함하는, 전자 장치의 제어 방법.
  10. 제9항에 있어서,
    상기 광고 정보를 획득하는 단계는,
    상기 광고를 제공하는 것으로 결정되면, 상기 타겟 상품 카테고리에 대한 정보를 포함하는 광고 요청을 서버로 전송하고,
    상기 서버로부터 상기 광고 정보를 수신하는, 전자 장치의 제어 방법.
  11. 제9항에 있어서,
    상기 발화 이력 정보에 기초하여, 상기 사용자가 기설정된 제1 기간 동안 상기 식별된 적어도 하나의 상품 카테고리를 발화한 횟수를 식별하고, 상기 식별된 횟수에 기초하여 상기 식별된 적어도 하나의 상품 카테고리 각각에 대한 상기 사용자의 관심도를 식별하는 단계; 및
    상기 광고 이력 정보에 기초하여, 기설정된 제2 기간 동안 상기 과거 광고가 상기 스피커를 통해 제공된 횟수를 식별하고, 상기 식별된 횟수에 기초하여 상기 사용자의 광고 피로도를 식별하는 단계;를 더 포함하는, 전자 장치의 제어 방법.
  12. 제9항에 있어서,
    상기 광고의 제공 여부를 결정하는 단계는,
    상기 사용자의 관심도 및 상기 사용자의 광고 피로도를 기반으로, 상기 식별된 적어도 하나의 상품 카테고리 각각에 대한 상기 사용자의 광고 집중도를 식별하고,
    상기 식별된 적어도 하나의 상품 카테고리 중 상기 광고 집중도가 가장 높은 상기 타겟 상품 카테고리를 결정하고,
    상기 결정된 타겟 상품 카테고리의 광고 집중도가 기설정된 임계 값 이상인 경우, 상기 광고를 제공하는 것으로 결정하는, 전자 장치의 제어 방법.
  13. 제9항에 있어서,
    상기 지식 그래프는, 상기 복수의 상품에 대응되는 복수의 속성에 대한 정보를 포함하고,
    상기 제어 방법은,
    상기 텍스트로부터 상기 적어도 하나의 상품 키워드와 관련된 속성 키워드를 획득하는 단계; 및
    상기 지식 그래프에 포함된 상기 복수의 속성 중, 상기 속성 키워드와 관련된 타겟 속성를 식별하는 단계;를 더 포함하고,
    상기 광고 음성을 출력하는 단계는,
    상기 획득된 광고 정보 중, 상기 식별된 타겟 속성에 대응되는 상기 광고 정보에 기초하여 상기 광고 음성을 출력하는, 전자 장치의 제어 방법.
  14. 제9항에 있어서,
    상기 지식 그래프는, 상기 복수의 상품에 대응되는 복수의 속성에 대한 정보를 포함하고,
    상기 지식 그래프에 기초하여 상기 식별된 적어도 하나의 상품 카테고리에 속한 적어도 하나의 상품에 대한 적어도 하나의 속성을 식별하는 단계; 및
    상기 발화 이력 정보에 기초하여, 상기 식별된 적어도 하나의 속성 중 적어도 하나의 속성을 타겟 속성으로 결정하는 단계;를 더 포함하고
    상기 광고 음성을 출력하는 단계는,
    상기 식별된 타겟 속성에 대응되는 상기 광고 정보에 기초하여 상기 광고 음성을 출력하는, 전자 장치의 제어 방법.
  15. 제14항에 있어서,
    상기 적어도 하나의 속성을 타겟 속성으로 결정하는 단계는,
    상기 발화 이력 정보에 기초하여, 상기 사용자가 기설정된 기간 동안 상기 식별된 적어도 하나의 상품 카테고리에 대해 상기 식별된 적어도 하나의 속성 각각에 대한 속성 키워드를 발화한 횟수를 식별하고,
    상기 식별된 횟수에 기초하여 상기 식별된 적어도 하나의 속성 각각에 대한 상기 사용자의 관심도를 식별하고,
    상기 식별된 적어도 하나의 속성 중 상기 식별된 관심도가 기설정된 임계 값 이상인 속성을 상기 타겟 속성으로 결정하는, 전자 장치의 제어 방법.
PCT/KR2021/013707 2020-11-12 2021-10-06 음성 비서를 통해 광고를 제공하는 전자 장치 및 그 제어 방법 WO2022102975A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/521,391 US11880866B2 (en) 2020-11-12 2021-11-08 Electronic apparatus for providing advertisement through voice assistant and control method thereof

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2020-0150834 2020-11-12
KR20200150834 2020-11-12
KR10-2021-0019126 2021-02-10
KR1020210019126A KR20220064868A (ko) 2020-11-12 2021-02-10 음성 비서를 통해 광고를 제공하는 전자 장치 및 그 제어 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/521,391 Continuation US11880866B2 (en) 2020-11-12 2021-11-08 Electronic apparatus for providing advertisement through voice assistant and control method thereof

Publications (1)

Publication Number Publication Date
WO2022102975A1 true WO2022102975A1 (ko) 2022-05-19

Family

ID=81601440

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/013707 WO2022102975A1 (ko) 2020-11-12 2021-10-06 음성 비서를 통해 광고를 제공하는 전자 장치 및 그 제어 방법

Country Status (1)

Country Link
WO (1) WO2022102975A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120140587A (ko) * 2011-06-21 2012-12-31 김영준 스마트폰 광고 노출 관리 방법 및 스마트폰에서 실행 가능한 프로그램 저장매체
JP2019125364A (ja) * 2018-01-03 2019-07-25 エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー マルチモーダルレコメンデーション方法及びシステム
KR20190094314A (ko) * 2019-05-21 2019-08-13 엘지전자 주식회사 콘텐츠 기반의 스타일을 갖는 텍스트 또는 음성을 생성하는 인공 지능 장치 및 그 방법
KR20200007917A (ko) * 2017-07-26 2020-01-22 베이징 싼콰이 온라인 테크놀로지 컴퍼니, 리미티드 추천 정보 획득 방법, 장치 및 전자설비
KR20200063646A (ko) * 2018-11-28 2020-06-05 주식회사 케이티 음성 광고 제공 방법 및 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120140587A (ko) * 2011-06-21 2012-12-31 김영준 스마트폰 광고 노출 관리 방법 및 스마트폰에서 실행 가능한 프로그램 저장매체
KR20200007917A (ko) * 2017-07-26 2020-01-22 베이징 싼콰이 온라인 테크놀로지 컴퍼니, 리미티드 추천 정보 획득 방법, 장치 및 전자설비
JP2019125364A (ja) * 2018-01-03 2019-07-25 エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー マルチモーダルレコメンデーション方法及びシステム
KR20200063646A (ko) * 2018-11-28 2020-06-05 주식회사 케이티 음성 광고 제공 방법 및 시스템
KR20190094314A (ko) * 2019-05-21 2019-08-13 엘지전자 주식회사 콘텐츠 기반의 스타일을 갖는 텍스트 또는 음성을 생성하는 인공 지능 장치 및 그 방법

Similar Documents

Publication Publication Date Title
WO2020009297A1 (ko) 도메인 추출기반의 언어 이해 성능 향상장치및 성능 향상방법
WO2020214011A1 (en) Information processing method, apparatus, electronic device and computer readable storage medium
WO2020060325A1 (ko) 전자 장치, 시스템 및 음성 인식 서비스 이용 방법
WO2016133319A1 (en) Method and device for providing information
EP3669289A1 (en) Method and electronic device for translating speech signal
WO2019182226A1 (en) System for processing sound data and method of controlling system
WO2018034426A1 (ko) 커널 rdr을 이용한 태깅 말뭉치 오류 자동수정방법
WO2021112642A1 (en) Voice user interface
WO2021020877A1 (en) System and method for registering device for voice assistant service
WO2019177182A1 (ko) 속성 정보 분석을 통한 멀티미디어 컨텐츠 검색장치 및 검색방법
WO2020101263A1 (en) Electronic apparatus and method for controlling thereof
WO2020230926A1 (ko) 인공 지능을 이용하여, 합성 음성의 품질을 평가하는 음성 합성 장치 및 그의 동작 방법
EP3818518A1 (en) Electronic apparatus and method for controlling thereof
WO2022065811A1 (en) Multimodal translation method, apparatus, electronic device and computer-readable storage medium
WO2021029627A1 (en) Server that supports speech recognition of device, and operation method of the server
WO2021137637A1 (en) Server, client device, and operation methods thereof for training natural language understanding model
WO2020032564A1 (en) Electronic device and method for providing one or more items in response to user speech
WO2020130447A1 (ko) 페르소나에 기반하여 문장을 제공하는 방법 및 이를 지원하는 전자 장치
WO2021029643A1 (en) System and method for modifying speech recognition result
WO2020153717A1 (en) Electronic device and controlling method of electronic device
WO2018056779A1 (en) Method of translating speech signal and electronic device employing the same
WO2021246812A1 (ko) 딥러닝 nlp 모델을 활용한 뉴스 긍정도 분석 솔루션 및 장치
WO2022102975A1 (ko) 음성 비서를 통해 광고를 제공하는 전자 장치 및 그 제어 방법
WO2019039873A1 (ko) Tts 모델을 생성하는 시스템 및 전자 장치
WO2023085584A1 (en) Speech synthesis device and speech synthesis method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21892145

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21892145

Country of ref document: EP

Kind code of ref document: A1