WO2022158663A1 - 전자 장치 및 그 제어 방법 - Google Patents

전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
WO2022158663A1
WO2022158663A1 PCT/KR2021/009014 KR2021009014W WO2022158663A1 WO 2022158663 A1 WO2022158663 A1 WO 2022158663A1 KR 2021009014 W KR2021009014 W KR 2021009014W WO 2022158663 A1 WO2022158663 A1 WO 2022158663A1
Authority
WO
WIPO (PCT)
Prior art keywords
electronic device
content
content information
embedding
embedding vector
Prior art date
Application number
PCT/KR2021/009014
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
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US17/429,517 priority Critical patent/US20230185843A1/en
Publication of WO2022158663A1 publication Critical patent/WO2022158663A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/532Query formulation, e.g. graphical querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/56Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9038Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language

Definitions

  • the present disclosure relates to an electronic device and a method for controlling the same, and more particularly, to an electronic device for obtaining and providing content information based on a user's sketch input, and a method for controlling the same.
  • a vast amount of data for various types of content such as image content, audio content, and video content is stored in a user terminal such as a smart phone.
  • the user terminal As a vast amount of data exists in the user terminal, it is difficult for the user to find specific content stored in the user terminal. For example, the user may not remember exactly where a specific image (eg, an image of a receipt) stored in the user terminal is stored. In this case, the user has trouble finding the images by checking the numerous images stored in the gallery one by one.
  • a specific image eg, an image of a receipt
  • an aspect of the present disclosure is to provide an electronic device that searches for content information based on a user's sketch input.
  • an electronic device includes: an input interface; a memory for storing a plurality of first embedding vectors and content information related to each of the plurality of first embedding vectors; at least one processor, wherein the at least one processor obtains a user's sketch input through the input interface, inputs the sketch input to a neural network model to obtain a second embedding vector, and An electronic device may be provided for identifying a first embedding vector having the highest similarity with the second embedding vector among a plurality of first embedding vectors, and obtaining and outputting content information corresponding to the identified first embedding vector.
  • the at least one processor may calculate a similarity through a cosine similarity between each of the plurality of first embedding vectors and the second embedding vector.
  • the neural network model may include an encoder module that acquires a feature vector based on the sketch input, and a decoder module that acquires the second embedding vector based on the feature vector.
  • the content information related to each of the plurality of first embedding vectors may include a plurality of types of content information, and the plurality of types of content information may include image content, audio content, video content, text content, and document content. .
  • the at least one processor may obtain a user command for selecting one of the plurality of types of content information, identify and output content information corresponding to the selected type among the plurality of types of content information.
  • the at least one processor identifies one type of the plurality of types based on the type information of the electronic device, and identifies the identified type of content information among content information corresponding to the identified first embedding vector can be printed out.
  • the electronic device may further include a communication interface.
  • the at least one processor obtains type information of an external device connected to the electronic device through the communication interface, identifies one type among the plurality of types based on the type information, and performs the identified first embedding Content information of the identified type among information corresponding to the vector may be identified and transmitted to the external device.
  • the input interface may include a touch panel, and the at least one processor may obtain the sketch input based on a user input touching the touch panel.
  • the input interface may include a camera, and the at least one processor may obtain the user's gesture input through the camera, and obtain the sketch input based on the gesture input.
  • a plurality of first embedding vectors and content related to each of the plurality of first embedding vectors storing information; obtaining a user's sketch input; obtaining a second embedding vector by inputting the sketch input to a neural network model; identifying a first embedding vector having the highest similarity with the second embedding vector among the plurality of first embedding vectors; and obtaining and outputting content information corresponding to the identified first embedding vector.
  • the identifying of the first embedding vector may include calculating a similarity through cosine similarity between each of the plurality of first embedding vectors and the second embedding vector.
  • the neural network model may include an encoder that acquires a feature vector based on the sketch input, and a decoder that acquires the second embedding vector based on the feature vector.
  • the content information related to each of the plurality of first embedding vectors may include a plurality of types of content information, and the plurality of types of content information may include image content, audio content, video content, text content, and document content. .
  • the control method may further include obtaining a user command for selecting one of the plurality of types of content information, wherein the obtaining and outputting the content information includes: among the plurality of types of content information It may include identifying content information corresponding to the selected type, and outputting the identified content information.
  • the control method may further include: identifying one of the plurality of types based on the type information of the electronic device, wherein the obtaining and outputting the content information includes: the identified first embedding vector It is possible to identify and output the identified type of content information among content information corresponding to .
  • the electronic device may search for content information based on a user's sketch input. Accordingly, user convenience and satisfaction may be improved.
  • FIG. 1 is a diagram for explaining a concept of an electronic device according to an embodiment of the present disclosure.
  • FIG. 2 is a block diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure.
  • 3A is a diagram for describing a neural network model according to an embodiment of the present disclosure.
  • 3B is a diagram for explaining a method of learning a neural network model according to an embodiment of the present disclosure.
  • FIG. 4 is a diagram for explaining a method for obtaining a degree of similarity according to an embodiment of the present disclosure.
  • FIG. 5 is a diagram for explaining content information stored in a database according to an embodiment of the present disclosure.
  • 6A is a diagram for explaining a content output method according to an embodiment of the present disclosure.
  • 6B is a diagram for explaining a content output method according to an embodiment of the present disclosure.
  • 7A is a diagram for explaining a method for providing content information according to an embodiment of the present disclosure.
  • FIG. 7B is a diagram for explaining a content information providing method according to an embodiment of the present disclosure.
  • 7C is a diagram for explaining a method for providing content information according to an embodiment of the present disclosure.
  • 7D is a diagram for explaining a method for providing content information according to an embodiment of the present disclosure.
  • 8A is a flowchart illustrating a method of indexing document content according to an embodiment of the present disclosure.
  • 8B is a diagram for explaining a method of indexing document content according to an embodiment of the present disclosure.
  • 9A is a flowchart illustrating a method of performing indexing on image content according to an embodiment of the present disclosure.
  • 9B is a diagram for explaining a method of indexing image content according to an embodiment of the present disclosure.
  • 10A is a flowchart illustrating a method of indexing audio content according to an embodiment of the present disclosure.
  • 10B is a diagram for describing a method of indexing audio content according to an embodiment of the present disclosure.
  • 11A is a flowchart illustrating a method of indexing video content according to an embodiment of the present disclosure.
  • 11B is a diagram for explaining a method of indexing video content according to an embodiment of the present disclosure.
  • FIG. 12 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.
  • Embodiments of the present disclosure may apply various transformations and may have various embodiments, and specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the scope of the specific embodiments, and it should be understood to include all transformations, equivalents and substitutions included in the spirit and scope of the disclosure. In describing the embodiments, if it is determined that a detailed description of a related known technology may obscure the subject matter, the detailed description thereof will be omitted.
  • FIG. 1 is a diagram for explaining a concept of an electronic device according to an embodiment of the present disclosure.
  • the electronic device 100 may obtain a user's sketch input 11 through the touch panel 111 .
  • the electronic device 100 may obtain a sketch input 11 of a user who touches the touch panel 111 using an external device (eg, a stylus pen) 20 .
  • the sketch input 11 may refer to a shape formed by displaying a touch position or a touch drag path received from a user through the touch panel 111 in a predetermined color.
  • the electronic device 100 may provide information related to the sketch input 11 among content information stored in the electronic device 100 based on the sketch input 11 .
  • the electronic device 100 may display the image content 12 related to the sketch input 11 .
  • the electronic device 100 may provide various types of content information including audio content, video content, and document content.
  • the type of content to be provided may be determined based on a user command for selecting the type of content.
  • the electronic device 100 may obtain and provide content information based on the user's sketch input 11 rather than a keyword indicating a specific object. Accordingly, a user who knows the shape of the object but does not know the word for the object may search for and enjoy content using the electronic device 100 . Accordingly, user convenience and satisfaction may be improved.
  • FIG. 2 is a block diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure.
  • the electronic device 100 may include an input interface 110 , a display 120 , a speaker 130 , a communication interface 140 , a memory 150 , and a processor 160 .
  • the electronic device 100 may be one of a smart phone, a tablet PC, a TV, and a smart watch, but is not limited thereto.
  • each configuration of the electronic device 100 will be described.
  • the input interface 110 is configured to obtain a user command.
  • the input interface 110 may be implemented as at least one of a touch panel for acquiring a user's touch input and a camera for acquiring a user's gesture, but is not limited thereto.
  • the display 120 may display various screens under the control of the processor 160 .
  • the display 120 may display a picture corresponding to a sketch input input by a user.
  • the display 120 may display an object (eg, an eraser icon) for correcting the user's sketch input and an object (eg, a search icon) for performing a search for the sketch input.
  • the display 120 may display an icon indicating the type of content information.
  • the display 120 may display content identified based on the user's sketch input.
  • the display 120 may be implemented as a liquid crystal display panel (LCD), organic light emitting diodes (OLED), or the like.
  • LCD liquid crystal display panel
  • OLED organic light emitting diodes
  • the speaker 130 may output various audio signals under the control of the processor 160 .
  • the speaker 130 may output audio signals corresponding to audio content and video content.
  • the communication interface 140 includes at least one circuit and may communicate with various types of external devices or external servers. For example, the communication interface 140 may receive information on the type of the external device from the external device. Also, the communication interface 140 may transmit information on the type of the external device and content information identified based on the user's sketch input to the external device.
  • the communication interface 140 may communicate with an external device or an external server according to various types of communication methods.
  • the communication interface 140 may perform data communication wirelessly or by wire.
  • the communication interface 140 is a Wi-Fi communication module, a Bluetooth module, a cellular communication module, a 3G (3rd generation) mobile communication module, a 4G (4th generation) mobile communication module, a 4th generation It may include at least one of a Long Term Evolution (LTE) communication module and a 5G (5th generation) mobile communication module.
  • LTE Long Term Evolution
  • 5th generation 5th generation
  • the memory 150 may store an operating system (OS) for controlling overall operations of the components of the electronic device 100 and commands or data related to the components of the electronic device 100 .
  • OS operating system
  • the memory 150 may store an embedding vector in association with content information corresponding to the embedding vector.
  • the memory 150 may store a neural network model trained to obtain an embedding vector based on a sketch input.
  • the memory 150 may be implemented as a non-volatile memory (eg, a hard disk, a solid state drive (SSD), a flash memory), a volatile memory, or the like.
  • the processor 160 may control the overall operation of the electronic device 100 .
  • the processor 160 may identify a plurality of first embedding vectors stored in the memory 150 and content information related to each of the plurality of first embedding vectors.
  • the content information related to each of the plurality of first embedding vectors may include a plurality of types of content information.
  • the plurality of types of content information may include image content, audio content (eg, music content), video content, text content, document content, and game content.
  • the processor 160 may obtain a user's sketch input through the input interface. For example, the processor 160 may obtain a sketch input based on a user input of touching the touch panel. Alternatively, the processor 160 may obtain a user's gesture input through the camera and obtain a sketch input based on the gesture input. Also, the processor 160 may obtain a sketch input through an external device. For example, the processor 160 may obtain motion information of the user through a controller including a motion sensor, and obtain a sketch input based on the obtained motion information. Also, the processor 160 may acquire a sketch input based on a user input of touching the touch panel through the stylus pen.
  • the processor 160 may obtain the second embedding vector by inputting information about the user's sketch input to the neural network model.
  • the information on the sketch input may include RGB values corresponding to the sketch input and pixel position information.
  • the neural network model may be trained to output an embedding vector based on information about the sketch input.
  • the neural network model may include an encoder that acquires a feature vector based on a sketch input, and a decoder that acquires a second embedding vector based on the feature vector.
  • the processor 160 may identify the first embedding vector having the highest similarity to the second embedding vector among the plurality of first embedding vectors. In this case, the processor 160 may calculate the similarity based on the cosine similarity between each of the plurality of first embedding vectors and the second embedding vector.
  • the processor 160 may obtain and output content information corresponding to the identified first embedding vector. Meanwhile, the processor 160 may identify and output a specific type of content information among a plurality of types of content information. For example, the processor 160 may obtain a user command for selecting one of a plurality of types of content information. In addition, the processor 160 may identify and output content information corresponding to a selected type among a plurality of types of content information. As another example, the processor 160 may identify one type from among a plurality of types based on type information of the electronic device 100 . Specifically, when the electronic device 100 is a TV, the processor 160 may identify video content.
  • the processor 160 may output content through an external device.
  • the processor 160 may transmit the identified content information to an external device.
  • the processor 160 may obtain type information of the external device and determine the type of content based on the type information. For example, when the external device is an earphone, the processor 160 may identify audio content among a plurality of types of content information.
  • the processor 160 may build a database including the content information.
  • the processor 160 may identify a plurality of types of content information stored in the memory 150 .
  • the processor 160 may perform indexing on the identified plurality of types of content information.
  • indexing may refer to an operation of storing an embedding vector in association with content information.
  • the processor 160 may store a plurality of types of indexed information in a database. Meanwhile, a more specific method for constructing a database will be described later with reference to FIGS. 8A to 11B .
  • the processor 160 may include one or a plurality of processors.
  • the one or more processors may be a general-purpose processor such as a CPU, an AP, a digital signal processor (DSP), or the like, a graphics-only processor such as a GPU, a VPU (Vision Processing Unit), or an artificial intelligence-only processor such as an NPU.
  • One or more processors control to process input data according to a predefined operation rule or artificial intelligence model stored in the memory 150 .
  • the AI-only processor may be designed with a hardware structure specialized for processing a specific AI model.
  • the predefined action rule or artificial intelligence model is characterized in that it is created through learning.
  • being made through learning means that a basic artificial intelligence model is learned using a plurality of learning data by a learning algorithm, so that a predefined action rule or artificial intelligence model set to perform a desired characteristic (or purpose) is created means burden.
  • Such learning may be performed in the device itself on which artificial intelligence according to the present disclosure is performed, or may be performed through a separate server and/or system.
  • Examples of the learning algorithm include, but are not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning.
  • AI models can be created through learning.
  • being made through learning means that a basic artificial intelligence model is learned using a plurality of learning data by a learning algorithm, so that a predefined action rule or artificial intelligence model set to perform a desired characteristic (or purpose) is created means burden.
  • the artificial intelligence model may be composed of a plurality of neural network layers.
  • Each of the plurality of neural network layers has a plurality of weight values, and a neural network operation is performed through an operation between an operation result of a previous layer and a plurality of weights.
  • the plurality of weights of the plurality of neural network layers may be optimized by the learning result of the artificial intelligence model. For example, a plurality of weights may be updated so that a loss value or a cost value obtained from the artificial intelligence model during the learning process is reduced or minimized.
  • the AI model can be processed by an AI-only processor designed with a hardware structure specialized for processing the AI model.
  • AI models can be created through learning.
  • being made through learning means that a basic artificial intelligence model is learned using a plurality of learning data by a learning algorithm, so that a predefined action rule or artificial intelligence model set to perform a desired characteristic (or purpose) is created means burden.
  • the artificial intelligence model may be composed of a plurality of neural network layers. Each of the plurality of neural network layers has a plurality of weight values, and a neural network operation is performed through an operation between an operation result of a previous layer and a plurality of weights.
  • the artificial neural network may include a deep neural network (DNN), for example, a Convolutional Neural Network (CNN), a Deep Neural Network (DNN), a Recurrent Neural Network (RNN), a Generative Adversarial Network (GAN), Restricted Boltzmann Machine (RBM), Deep Belief Network (DBN), Bidirectional Recurrent Deep Neural Network (BRDNN), or Deep Q-Networks, but is not limited to the above-described example.
  • DNN deep neural network
  • CNN Convolutional Neural Network
  • DNN Deep Neural Network
  • RNN Recurrent Neural Network
  • GAN Generative Adversarial Network
  • RBM Restricted Boltzmann Machine
  • DBN Deep Belief Network
  • BDN Bidirectional Recurrent Deep Neural Network
  • Deep Q-Networks Deep Q-Networks
  • 3A is a diagram for describing a neural network model according to an embodiment of the present disclosure.
  • the electronic device 100 may obtain an embedding vector 33 by inputting a sketch input 31 obtained from a user into the neural network model 300 .
  • the neural network model 300 includes an encoder 310 that acquires a feature vector 32 based on a sketch input 31 and a first decoder 321 that acquires an embedding vector 33 based on the feature vector 32 .
  • the encoder 310 and the first decoder 321 may include a Convolutional Neural Network (CNN) and a Recurrent Neural Network (RNN), respectively.
  • CNN Convolutional Neural Network
  • RNN Recurrent Neural Network
  • 3B is a diagram for explaining a method of learning a neural network model according to an embodiment of the present disclosure.
  • the encoder 310 may be trained to output a feature vector 32 based on a sketch input 34 .
  • the second decoder 322 may be trained to obtain the sketch output 35 based on the feature vector 32 .
  • the encoder 310 and the second decoder 322 may be trained so that the difference between the sketch input 34 and the sketch output 35 is smaller than a preset value.
  • the parameters of the encoder 310 and the second decoder 322 may be updated so that the difference between the sketch input 34 and the sketch output 35 is smaller than a preset value.
  • the first decoder 321 may be learned.
  • the first decoder 321 may be trained to output the embedding vector 33 based on the feature vector 32 . While the first decoder 321 is being trained, the parameters of the encoder 310 may be fixed.
  • FIG. 4 is a diagram for explaining a method for obtaining a degree of similarity according to an embodiment of the present disclosure.
  • the electronic device 100 may obtain a similarity between a plurality of first embedding vectors stored in the memory 150 and a second embedding vector 41 corresponding to a sketch input.
  • the similarity between the first embedding vector and the second embedding vector 41 may be calculated based on a cosine distance or a cosine similarity.
  • the electronic device 100 may map the first embedding vector and the second embedding vector 41 on the same vector space.
  • the electronic device 100 may identify the first embedding vector having the highest similarity (or the closest distance) to the second embedding vector 41 among the plurality of first embedding vectors.
  • the identified first embedding vector may be an embedding vector corresponding to “flower”.
  • the electronic device 100 may calculate a similarity between a part of the plurality of first embeddings rather than all of them and the second embedding vector 41 .
  • the electronic device 100 may identify at least one first embedding vector existing within a preset range R based on the second embedding vector 41 . Then, the similarity between the identified at least one first embedding vector and the second embedding vector 41 may be calculated. Accordingly, the amount of computation for calculating the similarity may be reduced.
  • FIG. 5 is a diagram for explaining content information stored in a database according to an embodiment of the present disclosure.
  • the electronic device 100 may obtain and output content information corresponding to the identified first embedding vector.
  • the electronic device 100 may identify content information to be output based on the indexed content information 52 stored in the database DB.
  • the embedding vector 51 and the content information 52 may be matched and stored.
  • the embedding vector 51 may correspond to words (eg, “Flower” and “Roses”) existing in the content information.
  • a plurality of types of content information 52 may be stored in the database DB.
  • the plurality of types of content information 52 may include image content, document content, audio content, and video content.
  • a priority may be assigned to a plurality of types of content information 52 according to a degree of relevance to the embedding vector 51 .
  • the image content corresponding to the first embedding vector v1 is a second image (image #2), a seventh image (image #7), a ninth image (image #9), and a third image (image #3).
  • a first priority may be allocated to the second image (image #2), and a second priority that is lower than the first priority may be allocated to the seventh image (image #7).
  • the relation between the content information 52 and the embedding vector 51 may be calculated in various ways.
  • the relation between the content information 52 and the embedding vector 51 is based on the number of words corresponding to the embedding vector 51 included in the content information 52 . can be calculated as In this case, as the number of words increases, relevance may be high.
  • the relation between the content information 52 and the embedding vector 51 is based on the area occupied by the object corresponding to the embedding vector 51 in the content information 52 .
  • the larger the area the higher the relevance.
  • the electronic device 100 may identify content information to be output based on the assigned priority.
  • the electronic device 100 may identify and output content information having the highest priority.
  • the electronic device 100 may identify and output the second image (image #2).
  • the electronic device 100 may list and output the content information in order of priority. For example, when outputting four image contents, the electronic device 100 displays a second image (image #2), a seventh image (image #7), a ninth image (image #9), and a third image (image #) 3) can be identified and output in order.
  • the information stored in the database DB may include information received from an external server as well as content information stored in the memory 150 .
  • content information related to sketch input received from an external server may be stored in the database DB.
  • 6A and 6B are diagrams for explaining a content output method according to various embodiments of the present disclosure.
  • the electronic device 100 may obtain a sketch input 61 from a user.
  • the sketch input 61 may correspond to the shape of a 'carrot'.
  • the electronic device 100 may identify and output a plurality of types of content information related to the sketch input 61 .
  • the electronic device 100 may output image content 62-1 and video content 62-2 including 'carrot'.
  • the electronic device 100 may display at least one image included in the image content 62-1.
  • the electronic device 100 may display a thumbnail image corresponding to the video content 62-2.
  • the electronic device 100 may overlay and display a UI element (eg, a play icon) for playing the video content 62 - 2 on the thumbnail image.
  • a UI element eg, a play icon
  • the electronic device 100 may output the audio content 62 - 3 (eg, 'carrot cake recipe)' with the theme of 'carrot'.
  • the electronic device 100 may display a title of the audio content 62 - 3 and a UI element for playing the audio content 62 - 3 .
  • the electronic device 100 may display content information for each type according to priority.
  • the electronic device 100 may display image contents having a first priority, a second priority, and a third priority among a plurality of image contents, respectively.
  • the electronic device 100 may display different sizes of image contents according to priorities. For example, the size of the first image content having the first priority may be greater than the size of the second image content having the second priority having a lower priority than the first priority.
  • the electronic device 100 may output only the type of content information selected by the user from among the plurality of types of content information.
  • the electronic device 100 may display arbitrary content information stored in the memory 150 .
  • the electronic device 100 may display content information of the currently selected type.
  • the electronic device 100 may display arbitrary image content 63 - 1 stored in the memory 150 .
  • the electronic device 100 displays a first object 65-1 for correcting the user's sketch input 61 and a second object 65-2 for executing a search for the sketch input 61 . can do.
  • the electronic device 100 may obtain a user's sketch input 61 .
  • the electronic device 100 may obtain a user command for selecting the second object 65 - 2 .
  • the electronic device 100 may obtain a first embedding vector corresponding to the sketch input 61 .
  • the electronic device 100 may identify a second embedding vector having the highest similarity to the first embedding vector from the database DB.
  • the electronic device 100 may acquire a plurality of types of content information stored in association with the second embedding vector in the database DB.
  • the electronic device 100 may display the obtained content information.
  • the electronic device 100 may display content information of the currently selected type.
  • the electronic device 100 may display the image content 63-2 from among the plurality of types of acquired content information.
  • the electronic device 100 may obtain a user command for selecting the document type 64 - 2 .
  • the electronic device 100 may display the document content 63 - 3 among the plurality of types of acquired content information.
  • 7A, 7B, 7C, and 7D are diagrams for explaining a content information providing method according to various embodiments of the present disclosure.
  • the electronic device 100 may be a smart watch, and the external device 710 may be Augmented Reality (AR) glasses.
  • the electronic device 100 may obtain a sketch input 71-1 from the user 1 through the touch panel.
  • the sketch input 71-1 may correspond to the shape of a specific object (eg, teeth).
  • the electronic device 100 may obtain information 72-1 related to an object (ie, teeth).
  • the electronic device 100 may obtain text content related to an object.
  • the text content may include a list of words related to 'tooth'.
  • the electronic device 100 may transmit information related to the obtained object to the external device 710 .
  • the external device 710 may display information 72-1 related to the received object.
  • the electronic device 100 may be a smart watch and the external device 720 may be an earphone.
  • the electronic device 100 may obtain the sketch input 71 - 2 of the user 1 through the touch panel.
  • the electronic device 100 may acquire content information 72-2 related to the sketch input 71-2.
  • the content information 72-2 may include an audio file for music content related to 'rose'.
  • the electronic device 100 may display text (eg, the title of the music content) corresponding to the content information 72 - 2 .
  • the electronic device 100 may obtain a command for selecting a specific music content from among the plurality of music contents from the user 1 .
  • the electronic device 100 may transmit information about the music content selected by the user to the external device 720 .
  • the external device 720 may output the received content information 72 - 2 . That is, the external device 720 may output an audio signal for music content related to 'rose'.
  • the electronic device 100 may identify a specific type of content information among a plurality of types of content information related to the sketch input 71 - 2 based on the information on the external device 720 .
  • the information on the external device 720 may include type information and specification information of the external device 720 .
  • the electronic device 100 may identify audio content among a plurality of types of content information. Accordingly, the user 1 may be provided with contents corresponding to the external device 720 , and the satisfaction and convenience of the user 1 may be improved.
  • information on the external device 720 may be previously stored in the memory 150 or received from the external device 720 .
  • the electronic device 100 may be a TV.
  • the electronic device 100 may acquire a plurality of images of the user 1 through the camera 112 .
  • the electronic device 100 may acquire the gesture of the user 1 by analyzing the plurality of acquired images.
  • the electronic device 100 may acquire the sketch input 71-3 of the user 1 based on the acquired gesture.
  • the sketch input 71-3 may correspond to 'cat'.
  • the electronic device 100 may acquire content information related to the sketch input 71-3.
  • the obtained content information may include thumbnail images and video files for a plurality of video content including 'cat'.
  • the electronic device 100 may display a thumbnail image 72 - 3 for each of a plurality of video contents.
  • the electronic device 100 may display video content by executing a video file corresponding to the selected thumbnail image.
  • the electronic device 100 may identify a specific type of content information among a plurality of types of content information related to the sketch input 71-3 based on a preset priority. For example, when the electronic device 100 is a TV, the electronic device 100 may identify video content with a first priority and may identify image content with a second priority that is lower than the first priority. Accordingly, the user 1 may be provided with contents corresponding to the electronic device 100 , and the satisfaction and convenience of the user 1 may be improved.
  • the electronic device 100 may be augmented reality (AR) glasses, and the external device 730 may be a controller connected to the electronic device 100 .
  • the external device 730 may include a motion sensor (eg, an IMU sensor). While the electronic device 100 displays game content, the external device 730 may acquire motion information of the user 1 and transmit it to the electronic device 100 .
  • the electronic device 100 may obtain a sketch input 71-4 based on the received motion information. For example, the sketch input 71-4 may correspond to an item related to game content.
  • the electronic device 100 may obtain and output content information related to the sketch input 71-4 based on the sketch input 71-4. For example, the electronic device 100 may obtain and display the object 72-4 corresponding to the sketch input 71-4. Meanwhile, the electronic device 100 may identify the content type based on information on the currently running application. For example, when a sketch input 71-4 is obtained while a game application is running, the electronic device 100 may identify game content among a plurality of content types. In addition, the electronic device 100 may identify game content related to the sketch input 71-4 from among a plurality of types of content in the database DB.
  • the electronic device 100 may index the content information and build a database including the content information.
  • a method for the electronic device 100 to build a database will be described.
  • 8A is a flowchart illustrating a method of indexing document content according to an embodiment of the present disclosure.
  • the electronic device 100 may identify document content ( S810 ). For example, the electronic device 100 may identify content stored in the memory 150 . The electronic device 100 may identify a word included in the identified document content (S820) and obtain a weight for the identified word (S830). Here, the weight may mean a value indicating how important the identified word is in the document content. For example, the electronic device 100 may calculate a weight based on the following [Equation 1] called 'TF-IDF'.
  • the electronic device 100 may obtain an embedding vector by inputting the identified word into the word embedding model ( S840 ).
  • the word embedding model may be a neural network model trained to obtain an embedding vector corresponding to a word based on the word.
  • the word embedding model may be implemented based on a word-to-vector (Word2Vec) algorithm.
  • the electronic device 100 may store the embedding vector in association with the document content based on the obtained weight (S850).
  • the electronic device 100 may match and store an embedding vector corresponding to the identified word and document content including the identified word.
  • the electronic device 100 may index document content.
  • the electronic device 100 may assign a priority to the document content identified in the order of the obtained weights. For example, when indexing is performed on a plurality of document contents in association with the first word, the electronic device 100 assigns the first priority to the first document content having the greatest weight for the first word among the plurality of document contents. can Also, the electronic device 100 may allocate a second priority, which is a lower priority than the first priority, to a second document having a lower weight for the first word than that of the first document content.
  • the electronic device 100 may perform indexing on each of a plurality of document contents, and store the indexed plurality of document contents in a database.
  • 8B is a diagram for explaining a method of indexing document content according to an embodiment of the present disclosure.
  • the electronic device 100 may identify the document content 81 and scan the document content 81 to identify a plurality of words 82 included in the document content 81 .
  • the plurality of words 82 may include a first word ('buy'), a second word ('tree'), and a third word ('sample').
  • the electronic device 100 may obtain a weight 83 indicating the importance of each of the plurality of words 82 in the document content 81 .
  • the weight of the first word 'buy' in the first document content 'Doc 1' may be 0.38.
  • the weight of the third word 'sample' in the second document content 'Doc 2' may be 0.12.
  • the electronic device 100 may obtain an embedding vector 85 corresponding to each of the plurality of words 82 by inputting the plurality of words 82 into the word embedding model 84 .
  • the embedding vector 85 may include a first vector v1 and a second vector v2 corresponding to the first word ('buy'), the second word ('tree'), and the third word ('sample'), respectively. ) and a third vector v3.
  • the electronic device 100 may store the embedding vector 85 in association with the content information 86 .
  • the electronic device 100 may match the first vector v1 with the document content including the first word 'buy' and store it in the database DB.
  • 9A is a flowchart illustrating a method of performing indexing on image content according to an embodiment of the present disclosure.
  • 9B is a diagram for explaining a method of indexing image content according to an embodiment of the present disclosure.
  • the electronic device 100 may identify image content (S910) and identify an object included in the image content (S920).
  • the electronic device 100 may obtain information about the objects ob1 and ob2 included in the image content 91 by inputting the image content 91 into the learned object recognition model 92 .
  • the information ob1 and ob2 about the object may include location information of the object in the image content (eg, coordinate information of a bounding box corresponding to the object) and identification information of the object.
  • the electronic device 100 may obtain a weight 93 for the identified object (S930). For example, the electronic device 100 may obtain a weight indicating the importance of an object in the image content based on [Equation 2].
  • Ims is a weight indicating the importance of an object in the image content (93), is the object identified in the image content; is the width of the object x's bounding box, is the height of the bounding box of the identified object x, is the width of the image (or image content) in which the object x is detected, is the height of the image (or image content) in which the object x is detected, is the probability that object x corresponds to class y.
  • the electronic device 100 may obtain a weight 93 in image content of each of the first object ob1 , the second object ob2 , and the third object ob3 .
  • the electronic device 100 may obtain an embedding vector corresponding to the identified object by inputting the image content into the image embedding model (S940).
  • the electronic device 100 inputs the image content 91 to the image embedding model 94 to obtain an embedding vector 95 corresponding to the first object ob1 and the second object ob2. can do. That is, the electronic device 100 may obtain a first vector v1 corresponding to the first object ob1 and a second vector v2 corresponding to the second object ob2 .
  • the image embedding model 94 may be a neural network model trained to obtain an embedding vector for an object included in the image content based on the image content.
  • the electronic device 100 may associate and store the embedding vector with the image content based on the obtained weight (S950). In this case, the electronic device 100 may assign priorities to the image contents in the order of increasing weights, match the embedding vector with the image contents, and store them. For example, referring to FIG. 9B , the electronic device 100 may match the embedding vectors v1 , v2 and v3 for each of a plurality of objects with the content information 96 including the object and store it in the database DB. .
  • 10A is a flowchart illustrating a method of indexing audio content according to an embodiment of the present disclosure.
  • the electronic device 100 may identify audio content ( S1010 ) and obtain a plurality of words from the audio content ( S1020 ).
  • the electronic device 100 may acquire a plurality of words by inputting information about audio content into a text acquisition model.
  • the information on the audio content may include an audio sequence and a sound spectrogram for the audio content.
  • the text acquisition model may include a Recurrent Neural Network (RNN) as a neural network model trained to acquire text based on information on audio content.
  • RNN Recurrent Neural Network
  • the electronic device 100 may obtain a weight for each of a plurality of acquired words ( S1030 ). In this case, the electronic device 100 may calculate a weight for the acquired word as in step S830 described above. For example, the electronic device 100 may calculate a weight for a word based on [Equation 1]. Also, the electronic device 100 may obtain an embedding vector by inputting the plurality of acquired words into the word embedding model ( S1040 ). Here, the word embedding model may correspond to the word embedding model 84 of FIG. 8B . The electronic device 100 may associate and store the embedding vector with the image content based on the obtained weight (S950).
  • 10B is a diagram for describing a method of indexing audio content according to an embodiment of the present disclosure.
  • the electronic device 100 may obtain a plurality of words 102 from the audio content 101 .
  • the electronic device 100 may obtain a weight 103 for each of the plurality of words 102 .
  • the electronic device 100 may obtain an embedding vector 105 for each of the plurality of words 102 by inputting the plurality of words 102 into the word embedding model 104 .
  • the electronic device 100 may match the embedding vector 105 with the content information 106 including a plurality of audio content and store it in the database DB.
  • 11A is a flowchart illustrating a method of indexing video content according to an embodiment of the present disclosure.
  • 11B is a diagram for explaining a method of indexing video content according to an embodiment of the present disclosure.
  • the electronic device 100 may identify video content (S1110) and obtain audio content and image content from the identified video content (S1120).
  • the electronic device 100 may obtain the audio content 122 and the image content 125 by separating an audio component and an image component of the video content 121 .
  • the electronic device 100 may obtain a plurality of words from the audio content and obtain a first weight for each of the obtained plurality of words ( S1131 ). This step may correspond to steps S1020 and S1030, and a detailed description thereof will be omitted. Referring to FIG. 11B , the electronic device 100 obtains a plurality of words 123-1 from the audio content 122 and calculates a first weight 124-1 for each of the plurality of words 123-1. can be obtained
  • the electronic device 100 may obtain an embedding vector by inputting the plurality of acquired words into the word embedding model 124 ( S1141 ). Referring to FIG. 11B , the electronic device 100 may obtain an embedding vector 126 by inputting a plurality of words 123 - 1 to the word embedding model 124 . For example, the electronic device 100 may obtain embedding vectors v1 and v2 for each of the plurality of words 123 - 1 .
  • the electronic device 100 may identify an object included in the video content and obtain a second weight for the identified object (S1132). This operation may correspond to operations S920 and S930, and a detailed description thereof will be omitted. Referring to FIG. 11B , the electronic device 100 may obtain information 123 - 3 on each of a plurality of objects ob1 and ob2 from the video content 121 . In addition, the electronic device 100 may acquire a second weight 124 - 2 for each of the plurality of objects ob1 and ob2 . For example, the electronic device 100
  • the electronic device 100 may obtain an embedding vector corresponding to the identified object by inputting the image content into the image embedding model (S1142). Since this operation may correspond to the above-described operation S940, a detailed description thereof will be omitted. Referring to FIG. 11B , the electronic device 100 may obtain an embedding vector 128 corresponding to each of a plurality of objects ob1 and ob2 by using the image embedding model 127 .
  • the electronic device 100 may store the embedding vector in association with the video content 121 based on the first weight and the second weight (S1150). Referring to FIG. 11B , the electronic device 100 generates embedding vectors v1 and v2 for each of a plurality of words 123-1 and an embedding vector v3 corresponding to an object ob1 with content information 129 and It can be matched and stored in the database (DB).
  • DB database
  • the content information 129 for each type may be stored by matching the embedding vector. Accordingly, the electronic device 100 may build a database as shown in FIG. 5 .
  • FIG. 12 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.
  • the electronic device 100 may store a plurality of first embedding vectors and content information related to each of the plurality of first embedding vectors ( S1210 ).
  • the electronic device 100 may build a database by indexing the content information stored in the memory 150 . Meanwhile, since this operation has been described above with reference to FIGS. 8A to 11B , a detailed description thereof will be omitted.
  • the electronic device 100 may obtain a user's sketch input (S1220). For example, the electronic device 100 may obtain a sketch input based on a user input of touching the touch panel. Alternatively, the electronic device 100 may obtain a user's gesture input through a camera, and may obtain a sketch input based on the gesture input.
  • the electronic device 100 may obtain a second embedding vector by inputting a sketch input to the neural network model (S1230).
  • the neural network model may include an encoder that acquires a feature vector based on a sketch input, and a decoder that acquires a second embedding vector based on the feature vector.
  • the electronic device 100 may identify the first embedding vector having the highest similarity to the second embedding vector among the plurality of first embedding vectors (S1240). In this case, the electronic device 100 may calculate the similarity through the cosine similarity between each of the plurality of first embedding vectors and the second embedding vector.
  • the electronic device 100 may obtain and output content information corresponding to the identified first embedding vector (S1250). Since the content output method of the electronic device 100 has been described above, a detailed description thereof will be omitted.
  • the various embodiments described above may be implemented in a recording medium readable by a computer or a similar device using software, hardware, or a combination thereof.
  • the embodiments described herein may be implemented by the processor itself.
  • embodiments such as the procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein.
  • computer instructions for performing the processing operation according to various embodiments of the present disclosure described above may be stored in a non-transitory computer-readable medium.
  • a specific device may perform the processing operation according to the various embodiments described above.
  • the non-transitory computer-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, a cache, a memory, and the like, and can be read by a device.
  • Specific examples of the non-transitory computer-readable medium may include 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)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Facsimiles In General (AREA)

Abstract

전자 장치가 개시된다. 전자 장치는, 입력 인터페이스; 복수의 제1 임베딩 벡터와 복수의 제1 임베딩 벡터 각각과 관련된 컨텐츠 정보를 저장하는 메모리; 적어도 하나의 프로세서;를 포함하고, 적어도 하나의 프로세서는, 입력 인터페이스를 통해 사용자의 스케치 입력을 획득하고, 스케치 입력을 신경망 모델에 입력하여 제2 임베딩 벡터를 획득하고, 복수의 제1 임베딩 벡터 중 제2 임베딩 벡터와의 유사도가 가장 높은 제1 임베딩 벡터를 식별하고, 식별된 제1 임베딩 벡터에 대응되는 컨텐츠 정보를 획득하여 출력한다.

Description

전자 장치 및 그 제어 방법
본 개시는 전자 장치 및 그 제어 방법으로, 보다 상세하게는, 사용자의 스케치 입력을 바탕으로 컨텐츠 정보를 획득하여 제공하는 전자 장치 및 그 제어 방법에 관한 것이다.
본 출원은 2021년 1월 25일에 출원된 대한민국 특허출원 제10-2021-0009940호에 기초하여 우선권을 주장하며, 해당 출원의 모든 내용은 그 전체가 본 출원에 레퍼런스로 포함된다.
전자 기술의 발달에 힘입어 스마트 폰과 같은 사용자 단말에는 이미지 컨텐츠, 오디오 컨텐츠, 비디오 컨텐츠 등 다양한 종류의 컨텐츠에 대한 방대한 양의 데이터가 저장된다.
한편, 사용자 단말에는 방대한 양의 데이터가 존재함에 따라, 사용자는 사용자 단말에 저장된 특정 컨텐츠를 찾는데 어려움이 있다. 예를 들어, 사용자는 사용자 단말에 저장된 특정 이미지(예로, 영수증을 촬영한 이미지)가 정확히 어디에 저장되어 있는지 기억하지 못할 수 있다. 이 같은 경우, 사용자는 갤러리에 저장된 수많은 이미지들을 일일이 확인해가며 이미지를 찾아야 하는 번거로움이 있다.
이에 따라, 사용자가 보다 편리하고 직관적으로 컨텐츠 정보를 검색할 수 있는 기술에 대한 필요성이 대두된다.
상기 정보는 본 개시의 이해를 돕기 위한 배경 정보로서만 제공된다. 위의 내용 중 어느 것이 본 개시와 관련하여 선행 기술로 적용될 수 있는지 여부에 대해서는 어떠한 결정 및 주장도 이루어지지 않는다.
본 개시의 양상은 적어도 위에서 언급된 문제 및/또는 단점을 다루고 아래에서 설명되는 이점들을 제공하는 것이다. 따라서, 본 개시의 일 양상은 사용자의 스케치 입력을 바탕으로 컨텐츠 정보를 검색하는 전자 장치를 제공하는 것이다.
추가적인 양샹들은 다음의 설명에서 부분적으로 설명될 것이고, 부분적으로는 설명으로부터 명백할 것이고, 또는 제시된 실시예의 실행에 의해 학습될 수 있다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
상술한 기술적 과제를 해결하기 위한 본 개시의 예시적인 일 실시 예에 따르면, 전자 장치에 있어서, 입력 인터페이스; 복수의 제1 임베딩 벡터(embedding vector)와 상기 복수의 제1 임베딩 벡터 각각과 관련된 컨텐츠 정보를 저장하는 메모리; 적어도 하나의 프로세서;를 포함하고, 상기 적어도 하나의 프로세서는, 상기 입력 인터페이스를 통해 사용자의 스케치(sketch) 입력을 획득하고, 상기 스케치 입력을 신경망 모델에 입력하여 제2 임베딩 벡터를 획득하고, 상기 복수의 제1 임베딩 벡터 중 상기 제2 임베딩 벡터와의 유사도가 가장 높은 제1 임베딩 벡터를 식별하고, 상기 식별된 제1 임베딩 벡터에 대응되는 컨텐츠 정보를 획득하여 출력하는 전자 장치가 제공될 수 있다.
상기 적어도 하나의 프로세서는, 상기 복수의 제1 임베딩 벡터 각각과 상기 제2 임베딩 벡터간의 코사인 유사도를 통해 유사도를 산출할 수 있다.
상기 신경망 모델은, 상기 스케치 입력을 바탕으로 특징 벡터를 획득하는 인코더 모듈, 및 상기 특징 벡터를 바탕으로 상기 제2 임베딩 벡터를 획득하는 디코더 모듈을 포함할 수 있다.
상기 복수의 제1 임베딩 벡터 각각과 관련된 컨텐츠 정보는 복수의 유형의 컨텐츠 정보를 포함하며, 상기 복수의 유형의 컨텐츠 정보는 이미지 컨텐츠, 오디오 컨텐츠, 비디오 컨텐츠, 텍스트 컨텐츠 및 문서 컨텐츠를 포함할 수 있다.
상기 적어도 하나의 프로세서는, 상기 복수의 유형의 컨텐츠 정보 중 하나를 선택하기 위한 사용자 명령을 획득하고, 상기 복수의 유형의 컨텐츠 정보 중 상기 선택된 유형에 대응되는 컨텐츠 정보를 식별하여 출력할 수 있다.
상기 적어도 하나의 프로세서는, 상기 전자 장치의 유형 정보를 바탕으로 상기 복수의 유형 중 하나의 유형을 식별하고, 상기 식별된 제1 임베딩 벡터에 대응되는 컨텐츠 정보 중 상기 식별된 유형의 컨텐츠 정보를 식별하여 출력할 수 있다.
상기 전자 장치는 통신 인터페이스;를 더 포함할 수 있다. 상기 적어도 하나의 프로세서는, 상기 통신 인터페이스를 통해 상기 전자 장치와 연결된 외부 장치의 유형 정보를 획득하고, 상기 유형 정보를 바탕으로 상기 복수의 유형 중 하나의 유형을 식별하고, 상기 식별된 제1 임베딩 벡터에 대응되는 정보 중 상기 식별된 유형의 컨텐츠 정보를 식별하여 상기 외부 장치로 전송할 수 있다.
상기 입력 인터페이스는 터치 패널을 포함하고, 상기 적어도 하나의 프로세서는, 상기 터치 패널을 터치하는 사용자 입력을 바탕으로 상기 스케치 입력을 획득할 수 있다.
상기 입력 인터페이스는 카메라를 포함하고, 상기 적어도 하나의 프로세서는, 상기 카메라를 통해 상기 사용자의 제스처 입력을 획득하고, 상기 제스처 입력을 바탕으로 상기 스케치 입력을 획득할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 개시의 예시적인 다른 일 실시 예에 따르면, 전자 장치의 제어 방법에 있어서, 복수의 제1 임베딩 벡터(embedding vector)와 상기 복수의 제1 임베딩 벡터 각각과 관련된 컨텐츠 정보를 저장하는 단계; 사용자의 스케치(sketch) 입력을 획득하는 단계; 상기 스케치 입력을 신경망 모델에 입력하여 제2 임베딩 벡터를 획득하는 단계; 상기 복수의 제1 임베딩 벡터 중 상기 제2 임베딩 벡터와의 유사도가 가장 높은 제1 임베딩 벡터를 식별하는 단계; 및 상기 식별된 제1 임베딩 벡터에 대응되는 컨텐츠 정보를 획득하여 출력하는 단계;를 포함하는 제어 방법이 제공될 수 있다.
상기 제1 임베딩 벡터를 식별하는 단계는, 상기 복수의 제1 임베딩 벡터 각각과 상기 제2 임베딩 벡터간의 코사인 유사도를 통해 유사도를 산출하는 단계를 포함할 수 있다.
상기 신경망 모델은, 상기 스케치 입력을 바탕으로 특징 벡터를 획득하는 인코더, 및 상기 특징 벡터를 바탕으로 상기 제2 임베딩 벡터를 획득하는 디코더를 포함할 수 있다.
상기 복수의 제1 임베딩 벡터 각각과 관련된 컨텐츠 정보는 복수의 유형의 컨텐츠 정보를 포함하며, 상기 복수의 유형의 컨텐츠 정보는 이미지 컨텐츠, 오디오 컨텐츠, 비디오 컨텐츠, 텍스트 컨텐츠 및 문서 컨텐츠를 포함할 수 있다.
상기 제어 방법은, 상기 복수의 유형의 컨텐츠 정보 중 하나를 선택하기 위한 사용자 명령을 획득하는 단계;를 더 포함하고, 상기 컨텐츠 정보를 획득하여 출력하는 단계는, 상기 복수의 유형의 컨텐츠 정보 중 상기 선택된 유형에 대응되는 컨텐츠 정보를 식별하는 단계, 및 상기 식별된 컨텐츠 정보를 출력하는 단계를 포함할 수 있다.
상기 제어 방법은, 상기 전자 장치의 유형 정보를 바탕으로 상기 복수의 유형 중 하나의 유형을 식별하는 단계;를 더 포함하고, 상기 컨텐츠 정보를 획득하여 출력하는 단계는, 상기 식별된 제1 임베딩 벡터에 대응되는 컨텐츠 정보 중 상기 식별된 유형의 컨텐츠 정보를 식별하여 출력할 수 있다.
본 개시의 과제의 해결 수단이 상술한 해결 수단들로 제한되는 것은 아니며, 언급되지 아니한 해결 수단들은 본 명세서 및 첨부된 도면으로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 전자 장치는 사용자의 스케치 입력을 바탕으로 컨텐츠 정보를 검색할 수 있다. 이에 따라, 사용자 편의성 및 만족감이 향상될 수 있다.
그 외에 본 개시의 실시 예로 인하여 얻을 수 있거나 예측되는 효과에 대해서는 본 개시의 실시 예에 대한 상세한 설명에서 직접적 또는 암시적으로 개시하도록 한다. 예컨대, 본 개시의 실시 예에 따라 예측되는 다양한 효과에 대해서는 후술될 상세한 설명 내에서 개시될 것이다.
본 개시의 다른 양상, 이점 및 두드러진 특징들은 첨부된 도면과 관련하여 본 발명의 다양한 실시 예들을 개시하는 다음의 상세한 설명으로부터 당업자에게 명백해질 것이다.
본 개시의 특정 실시 예의 양상, 특징 및 이점은 첨부된 도면들을 참조하여 후술되는 설명을 통해 보다 명확해질 것이다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 컨셉을 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 도시한 블록도이다.
도 3a는 본 개시의 일 실시 예에 따른 신경망 모델을 설명하기 위한 도면이다.
도 3b는 본 개시의 일 실시 예에 따른 신경망 모델의 학습 방법을 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시 예에 따른 유사도 획득 방법을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시 예에 따른 데이터베이스에 저장된 컨텐츠 정보를 설명하기 위한 도면이다.
도 6a는 본 개시의 일 실시 예에 따른 컨텐츠 출력 방법을 설명하기 위한 도면이다.
도 6b는 본 개시의 일 실시 예에 따른 컨텐츠 출력 방법을 설명하기 위한 도면이다.
도 7a는 본 개시의 일 실시 예에 따른 컨텐츠 정보 제공 방법을 설명하기 위한 도면이다.
도 7b는 본 개시의 일 실시 예에 따른 컨텐츠 정보 제공 방법을 설명하기 위한 도면이다.
도 7c는 본 개시의 일 실시 예에 따른 컨텐츠 정보 제공 방법을 설명하기 위한 도면이다.
도 7d는 본 개시의 일 실시 예에 따른 컨텐츠 정보 제공 방법을 설명하기 위한 도면이다.
도 8a는 본 개시의 일 실시 예에 따른 문서 컨텐츠에 대한 인덱싱을 수행하는 방법을 설명하기 위한 순서도이다.
도 8b는 본 개시의 일 실시 예에 따른 문서 컨텐츠에 대한 인덱싱을 수행하는 방법을 설명하기 위한 도면이다.
도 9a는 본 개시의 일 실시 예에 따른 이미지 컨텐츠에 대한 인덱싱을 수행하는 방법을 설명하기 위한 순서도이다.
도 9b는 본 개시의 일 실시 예에 따른 이미지 컨텐츠에 대한 인덱싱을 수행하는 방법을 설명하기 위한 도면이다.
도 10a는 본 개시의 일 실시 예에 따른 오디오 컨텐츠에 대한 인덱싱을 수행하는 방법을 설명하기 위한 순서도이다.
도 10b는 본 개시의 일 실시 예에 따른 오디오 컨텐츠에 대한 인덱싱을 수행하는 방법을 설명하기 위한 도면이다.
도 11a는 본 개시의 일 실시 예에 따른 비디오 컨텐츠에 대한 인덱싱을 수행하는 방법을 설명하기 위한 순서도이다.
도 11b는 본 개시의 일 실시 예에 따른 비디오 컨텐츠에 대한 인덱싱을 수행하는 방법을 설명하기 위한 도면이다.
도 12는 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 도시한 순서도이다.
도면 전체에 걸쳐 동일한 구성요소를 나타내기 위해 동일한 참조 번호가 사용된다.
첨부된 도면을 참조한 다음의 설명은 청구범위 및 그 균등물에 의해 정의된 바와 같은 본 개시의 다양한 실시예의 포괄적인 이해를 돕기 위해 제공된다. 여기에는 이해를 돕기 위한 다양한 특정 세부 사항이 포함되어 있지만 이는 단지 예시적인 것으로 간주되어야 합니다. 따라서, 본 기술분야의 통상의 지식을 가진 자는 본 개시의 범위 및 사상을 벗어나지 않고 본 명세서에 기술된 다양한 실시예의 다양한 변경 및 수정이 이루어질 수 있음을 인식할 것이다. 또한, 명료함과 간결함을 위해 잘 알려진 기능 및 구성에 대한 설명은 생략될 수 있다.
하기 설명 및 특허청구범위에서 사용된 용어 및 단어는 서지적 의미에 한정되지 않으며, 본 발명의 명확하고 일관된 이해를 가능하게 하기 위해 발명자가 사용한 것에 불과하다. 따라서, 본 발명의 다양한 실시예에 대한 다음의 설명은 단지 예시의 목적으로 제공되고 첨부된 청구범위 및 그 균등물에 의해 정의된 바와 같은 본 발명을 제한하기 위한 것이 아님이 당업자에게 명백하다.
단수 형태 "a", "an" 및 "the"는 문맥이 명백하게 달리 지시하지 않는 한 복수 지시 대상을 포함하는 것으로 이해되어야 한다. 따라서, 예를 들어 "구성요소 표면"에 대한 언급은 그러한 표면 중 하나 이상에 대한 언급을 포함한다.
본 개시의 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 컨셉을 설명하기 위한 도면이다.
도 1을 참조하면, 전자 장치(100)는 터치 패널(111)을 통해 사용자의 스케치(sketch) 입력(11)을 획득할 수 있다. 예로, 전자 장치(100)는 외부 장치(예로, 스타일러스 펜)(20)을 이용하여 터치 패널(111)을 터치하는 사용자의 스케치 입력(11)을 획득할 수 있다. 스케치 입력(11)이란, 터치 패널(111)을 통하여 사용자로부터 수신되는 터치 위치 또는 터치 드래그의 경로를 소정 색상으로 표시할 경우, 소정 색상으로의 표시에 의해서 형성되는 형상을 의미할 수 있다.
전자 장치(100)는 스케치 입력(11)을 바탕으로 전자 장치(100)에 저장된 컨텐츠 정보 중 스케치 입력(11)과 관련된 정보를 제공할 수 있다. 예를 들어, 전자 장치(100)는 스케치 입력(11)과 관련된 이미지 컨텐츠(12)를 디스플레이할 수 있다. 다만 이는 일 실시 예에 불과하며, 전자 장치(100)는 오디오 컨텐츠, 비디오 컨텐츠 및 문서 컨텐츠를 비롯한 다양한 유형의 컨텐츠 정보를 제공할 수 있다. 한편, 제공되는 컨텐츠의 유형은, 컨텐츠의 유형을 선택하는 사용자 명령에 기초하여 결정될 수 있다.
이와 같이, 전자 장치(100)는 특정 오브젝트를 지칭하는 키워드가 아닌 사용자의 스케치 입력(11)에 기초하여 컨텐츠 정보를 획득하여 제공할 수 있다. 이에 따라, 오브젝트의 형상은 알고 있으나 오브젝트를 지칭하는 단어를 알지 못하는 사용자도 전자 장치(100)를 이용하여 컨텐츠를 검색하고 감상할 수 있다. 이에 따라, 사용자 편의성 및 만족감이 향상될 수 있다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 도시한 블록도이다.
도 2를 참조하면, 전자 장치(100)는 입력 인터페이스(110), 디스플레이(120), 스피커(130), 통신 인터페이스(140), 메모리(150) 및 프로세서(160)를 포함할 수 있다. 예로, 전자 장치(100)는 스마트 폰, 태블릿 PC, TV 및 스마트 워치 중 하나일 수 있으나, 이에 한정되는 것은 아니다. 이하에서는 전자 장치(100)의 각 구성에 대하여 설명하도록 한다.
입력 인터페이스(110)는 사용자 명령을 획득하기 위한 구성이다. 예로, 입력 인터페이스(110)는 사용자의 터치 입력을 획득하기 위한 터치 패널 및 사용자의 제스처를 획득하기 위한 카메라 중 적어도 하나로 구현될 수 있으나, 이에 한정되는 것은 아니다.
디스플레이(120)는 프로세서(160)의 제어에 의해 다양한 화면을 표시할 수 있다. 예로, 디스플레이(120)는 사용자에 의해 입력되는 스케치 입력에 대응되는 그림을 디스플레이할 수 있다. 디스플레이(120)는 사용자의 스케치 입력을 수정하기 위한 오브젝트(예로, 지우개 아이콘) 및 스케치 입력에 대한 검색을 수행하기 위한 오브젝트(예로, 검색 아이콘)를 디스플레이할 수 있다. 디스플레이(120)는 컨텐츠 정보의 유형을 나타내는 아이콘을 디스플레이할 수 있다. 또한, 디스플레이(120)는 사용자의 스케치 입력을 바탕으로 식별되는 컨텐츠를 디스플레이할 수 있다. 한편, 디스플레이(120)는 LCD(Liquid Crystal Display Panel), OLED(Organic Light Emitting Diodes) 등으로 구현될 수 있다.
스피커(130)는 프로세서(160)의 제어에 의해 다양한 오디오 신호를 출력할 수 있다. 특히, 스피커(130)는 오디오 컨텐츠 및 비디오 컨텐츠에 대응되는 오디오 신호를 출력할 수 있다.
통신 인터페이스(140)는 적어도 하나의 회로를 포함하며 다양한 유형의 외부 기기 또는 외부 서버와 통신을 수행할 수 있다. 예를 들어, 통신 인터페이스(140)는 외부 장치로부터 외부 장치의 유형에 대한 정보를 수신할 수 있다. 또한, 통신 인터페이스(140)는 외부 장치의 유형에 대한 정보 및 사용자의 스케치 입력을 바탕으로 식별된 컨텐츠 정보를 외부 장치로 전송할 수 있다.
한편, 통신 인터페이스(140)는 다양한 유형의 통신 방식에 따라 외부 기기 또는 외부 서버와 통신을 수행할 수 있다. 예로, 통신 인터페이스(140)는 무선 혹은 유선으로 데이터 통신을 수행할 수 있다. 무선 통신 방식으로 외부 장치와 통신을 수행할 경우, 통신 인터페이스(140)는 와이파이 통신 모듈, 불루투스 모듈, 셀룰러 통신모듈, 3G(3세대) 이동통신 모듈, 4G(4세대) 이동통신 모듈, 4세대 LTE(Long Term Evolution) 통신 모듈, 5G(5세대) 이동통신 모듈 중 적어도 하나를 포함할 수 있다.
메모리(150)는 전자 장치(100)의 구성요소들의 전반적인 동작을 제어하기 위한 운영체제(OS: Operating System) 및 전자 장치(100)의 구성요소와 관련된 명령 또는 데이터를 저장할 수 있다. 특히, 메모리(150)에는 임베딩 벡터와 임베딩 벡터에 대응되는 컨텐츠 정보가 연관지어 저장되어 있을 수 있다. 또한, 메모리(150)는 스케치 입력을 바탕으로 임베딩 벡터를 획득하도록 학습된 신경망 모델을 저장할 수 있다. 한편, 메모리(150)는 비휘발성 메모리(ex: 하드 디스크, SSD(Solid state drive), 플래시 메모리), 휘발성 메모리 등으로 구현될 수 있다.
프로세서(160)는 전자 장치(100)의 전반적인 동작을 제어할 수 있다.
예를 들어, 프로세서(160)는 메모리(150)에 저장된 복수의 제1 임베딩 벡터(embedding vector)와 복수의 제1 임베딩 벡터 각각과 관련된 컨텐츠 정보를 식별할 수 있다. 복수의 제1 임베딩 벡터 각각과 관련된 컨텐츠 정보는 복수의 유형의 컨텐츠 정보를 포함할 수 있다. 예로, 복수의 유형의 컨텐츠 정보는 이미지 컨텐츠, 오디오 컨텐츠(예로, 음악 컨텐츠), 비디오 컨텐츠, 텍스트 컨텐츠, 문서 컨텐츠 및 게임 컨텐츠를 포함할 수 있다.
프로세서(160)는 입력 인터페이스를 통해 사용자의 스케치(sketch) 입력을 획득할 수 있다. 예로, 프로세서(160)는, 터치 패널을 터치하는 사용자 입력을 바탕으로 스케치 입력을 획득할 수 있다. 또는, 프로세서(160)는 카메라를 통해 사용자의 제스처 입력을 획득하고, 제스처 입력을 바탕으로 스케치 입력을 획득할 수 있다. 또한, 프로세서(160)는 외부 장치를 통해 스케치 입력을 획득할 수 있다. 예를 들어, 프로세서(160)는 모션 센서를 포함하는 콘트롤러를 통해 사용자의 모션 정보를 획득하고, 획득된 모션 정보를 바탕으로 스케치 입력을 획득할 수 있다. 또한, 프로세서(160)는 스타일러스 펜을 통해 터치 패널을 터치하는 사용자 입력을 바탕으로 스케치 입력을 획득할 수 있다.
프로세서(160)는 사용자의 스케치 입력에 대한 정보를 신경망 모델에 입력하여 제2 임베딩 벡터를 획득할 수 있다. 여기서, 스케치 입력에 대한 정보는, 스케치 입력에 대응되는 RGB 값 및 픽셀의 위치 정보를 포함할 수 있다. 신경망 모델은, 스케치 입력에 대한 정보 바탕으로 임베딩 벡터를 출력하도록 학습될 수 있다. 또한, 신경망 모델은 스케치 입력을 바탕으로 특징 벡터를 획득하는 인코더, 및 특징 벡터를 바탕으로 제2 임베딩 벡터를 획득하는 디코더를 포함할 수 있다.
프로세서(160)는 복수의 제1 임베딩 벡터 중 제2 임베딩 벡터와의 유사도가 가장 높은 제1 임베딩 벡터를 식별할 수 있다. 이 때, 프로세서(160)는 복수의 제1 임베딩 벡터 각각과 제2 임베딩 벡터간의 코사인 유사도를 바탕으로 유사도를 산출할 수 있다.
프로세서(160)는 식별된 제1 임베딩 벡터에 대응되는 컨텐츠 정보를 획득하여 출력할 수 있다. 한편, 프로세서(160)는 복수의 유형의 컨텐츠 정보 중 특정 유형의 컨텐츠 정보를 식별하여 출력할 수 있다. 일 예로, 프로세서(160)는 복수의 유형의 컨텐츠 정보 중 하나를 선택하기 위한 사용자 명령을 획득할 수 있다. 그리고, 프로세서(160)는 복수의 유형의 컨텐츠 정보 중 선택된 유형에 대응되는 컨텐츠 정보를 식별하여 출력할 수 있다. 다른 일 예로, 프로세서(160)는 전자 장치(100)의 유형 정보를 바탕으로 복수의 유형 중 하나의 유형을 식별할 수 있다. 구체적으로, 전자 장치(100)가 TV인 경우, 프로세서(160)는 비디오 컨텐츠를 식별할 수 있다.
한편, 프로세서(160)는 외부 장치를 통해 컨텐츠를 출력할 수 있다. 이를 위해, 프로세서(160)는 식별된 컨텐츠 정보를 외부 장치로 전송할 수 있다. 이 때, 프로세서(160)는 외부 장치의 유형 정보를 획득하고, 유형 정보를 바탕으로 컨텐츠의 유형을 결정할 수 있다. 예로, 외부 장치가 이어폰인 경우, 프로세서(160)는 복수의 유형의 컨텐츠 정보 중 오디오 컨텐츠를 식별할 수 있다.
한편, 메모리(150)에 저장된 컨텐츠 정보 중 사용자의 스케치 입력에 대응되는 컨텐츠 정보를 용이하게 식별하기 위해서, 프로세서(160)는 컨텐츠 정보를 포함하는 데이터베이스를 구축할 수 있다. 프로세서(160)는 메모리(150)에 저장된 복수의 유형의 컨텐츠 정보를 식별할 수 있다. 프로세서(160)는 식별된 복수의 유형의 컨텐츠 정보에 대하여 인덱싱(indexing)을 수행할 수 있다. 여기서, 인덱싱이란, 임베딩 벡터와 컨텐츠 정보를 관련지어 저장하는 동작을 의미할 수 있다. 프로세서(160)는 인덱스된 복수의 유형의 정보를 데이터베이스에 저장할 수 있다. 한편, 데이터베이스 구축에 관한 보다 구체적인 방법에 대해서는 도 8a 내지 도 11b를 참조하여 후술하도록 한다.
한편, 본 개시에 따른 인공지능과 관련된 기능은 프로세서(160)와 메모리(150)를 통해 동작된다. 프로세서(160)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리(150)에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공지능 모델은 학습을 통해 만들어 질 수 있다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다.
인공지능 모델은 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계된 인공지능 전용 프로세서에 의해 처리될 수 있다. 인공지능 모델은 학습을 통해 만들어 질 수 있다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다.
인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), GAN (Generative Adversarial Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.
도 3a는 본 개시의 일 실시 예에 따른 신경망 모델을 설명하기 위한 도면이다.
도 3a를 참조하면, 전자 장치(100)는 사용자로부터 획득된 스케치 입력(31)을 신경망 모델(300)에 입력하여 임베딩 벡터(33)를 획득할 수 있다. 신경망 모델(300)은 스케치 입력(31)을 바탕으로 특징 벡터(32)를 획득하는 인코더(310) 및 특징 벡터(32)를 바탕으로 임베딩 벡터(33)를 획득하는 제1 디코더(321)를 포함할 수 있다. 한편, 인코더(310) 및 제1 디코더(321)는 각각 CNN (Convolutional Neural Network) 및 RNN (Recurrent Neural Network)을 포함할 수 있다.
도 3b는 본 개시의 일 실시 예에 따른 신경망 모델의 학습 방법을 설명하기 위한 도면이다.
도 3b를 참조하면, 인코더(310)는 스케치 입력(34)을 바탕으로 특징 벡터(32)를 출력하도록 학습될 수 있다. 그리고, 제2 디코더(322)는 특징 벡터(32)를 바탕으로 스케치 출력(35)을 획득하도록 학습될 수 있다. 인코더(310) 및 제2 디코더(322)는 스케치 입력(34)과 스케치 출력(35)의 차이가 기설정된 값보다 작아지도록 학습될 수 있다. 이 때, 인코더(310) 및 제2 디코더(322)의 파라미터는 스케치 입력(34)과 스케치 출력(35)의 차이가 기설정된 값보다 작아지도록 업데이트될 수 있다. 인코더(310)의 학습이 완료되면, 제1 디코더(321)가 학습될 수 있다. 다시 도 3a를 참조하면, 제1 디코더(321)는 특징 벡터(32)를 바탕으로 임베딩 벡터(33)를 출력하도록 학습될 수 있다. 제1 디코더(321)가 학습되는 동안, 인코더(310)의 파라미터는 고정될 수 있다.
도 4는 본 개시의 일 실시 예에 따른 유사도 획득 방법을 설명하기 위한 도면이다.
도 4를 참조하면, 전자 장치(100)는 메모리(150)에 저장된 복수의 제1 임베딩 벡터와 스케치 입력에 대응되는 제2 임베딩 벡터(41)의 유사도를 획득할 수 있다. 예를 들어, 코사인 거리(cosine distance) 또는 코사인 유사도(cosine similarity)를 바탕으로 제1 임베딩 벡터와 제2 임베딩 벡터(41)의 유사도를 산출할 수 있다. 한편, 전자 장치(100)는 제1 임베딩 벡터와 제2 임베딩 벡터(41)를 동일한 벡터 공간 상에 매핑할 수 있다. 전자 장치(100)는 복수의 제1 임베딩 벡터 중 제2 임베딩 벡터(41)와의 유사도가 가장 높은(또는 거리가 가장 가까운) 제1 임베딩 벡터를 식별할 수 있다. 예로, 식별된 제1 임베딩 벡터는 “flower”에 대응되는 임베딩 벡터일 수 있다.
한편, 전자 장치(100)는 복수의 제1 임베딩 전체가 아닌 일부와 제2 임베딩 벡터(41) 간의 유사도를 산출할 수도 있다. 예로, 전자 장치(100)는 제2 임베딩 벡터(41)를 기준으로 기설정된 범위(R)이내에 존재하는 적어도 하나의 제1 임베딩 벡터를 식별할 수 있다. 그리고, 식별된 적어도 하나의 제1 임베딩 벡터와 제2 임베딩 벡터(41) 간의 유사도를 산출할 수 있다. 이에 따라, 유사도 산출을 위한 연산량의 줄어들 수 있다.
도 5는 본 개시의 일 실시 예에 따른 데이터베이스에 저장된 컨텐츠 정보를 설명하기 위한 도면이다.
도 5를 참조하면, 전자 장치(100)는 식별된 제1 임베딩 벡터에 대응되는 컨텐츠 정보를 획득하여 출력할 수 있다. 이 때, 전자 장치(100)는 데이터베이스(DB)에 저장된 인덱스된 컨텐츠 정보(52)를 바탕으로 출력할 컨텐츠 정보를 식별할 수 있다. 데이터베이스(DB)에는 임베딩 벡터(51)와 컨텐츠 정보(52)가 매칭되어 저장되어 있을 수 있다. 이 때, 임베딩 벡터(51)는 컨텐츠 정보에 존재하는 단어(예로, “Flower”, “Roses”)에 대응될 수 있다.
데이터베이스(DB)에는 복수의 유형의 컨텐츠 정보(52)가 저장될 수 있다. 예로, 복수의 유형의 컨텐츠 정보(52)는 이미지 컨텐츠, 문서 컨텐츠, 오디오 컨텐츠 및 비디오 컨텐츠를 포함할 수 있다. 한편, 복수의 유형의 컨텐츠 정보(52)에는 임베딩 벡터(51)와의 관련성 정도에 따라 우선 순위가 할당되어 있을 수 있다. 예로, 제1 임베딩 벡터(v1)에 대응되는 이미지 컨텐츠는 제2 이미지(image #2), 제7 이미지(image #7), 제9 이미지(image #9) 및 제3 이미지(image #3)를 포함할 수 있다. 이 때, 제2 이미지(image #2)에는 제1 순위가 할당되며, 제7 이미지(image #7)에는 제1 순위보다 후순위인 제2 순위가 할당될 수 있다.
한편, 컨텐츠 정보(52)와 임베딩 벡터(51)의 관련성은 다양한 방법으로 산출될 수 있다. 일 예로, 컨텐츠 정보(52)가 문서 컨텐츠인 경우, 컨텐츠 정보(52)와 임베딩 벡터(51)의 관련성은, 컨텐츠 정보(52)에 포함된 임베딩 벡터(51)에 대응되는 단어의 개수를 바탕으로 산출될 수 있다. 이 때, 단어의 개수가 많을수록 관련성은 높을 수 있다. 다른 일 예로, 컨텐츠 정보(52)가 이미지 컨텐츠인 경우, 컨텐츠 정보(52)와 임베딩 벡터(51)의 관련성은, 임베딩 벡터(51)에 대응되는 오브젝트가 컨텐츠 정보(52)에서 차지하는 면적을 바탕을 산출될 수 있다. 이 때, 면적이 클수록 관련성은 높을 수 있다.
한편, 전자 장치(100)는 할당된 우선 순위를 바탕으로 출력할 컨텐츠 정보를 식별할 수 있다. 하나의 컨텐츠 정보를 출력하는 경우, 전자 장치(100)는 우선 순위가 가장 높은 컨텐츠 정보를 식별하여 출력할 수 있다. 예로, 하나의 이미지 컨텐츠를 출력하는 경우, 전자 장치(100)는 제2 이미지(image #2)를 식별하여 출력할 수 있다. 복수의 컨텐츠 정보를 출력하는 경우, 전자 장치(100)는 우선 순위대로 컨텐츠 정보를 나열하여 출력할 수 있다. 예로, 4개의 이미지 컨텐츠를 출력하는 경우, 전자 장치(100)는 제2 이미지(image #2), 제7 이미지(image #7), 제9 이미지(image #9) 및 제3 이미지(image #3)를 식별하여 순서대로 출력할 수 있다.
한편, 데이터베이스(DB)에 저장되는 정보는 메모리(150)에 저장된 컨텐츠 정보뿐만 아니라, 외부 서버로부터 수신되는 정보를 포함할 수 있다. 예로, 외부 서버로부터 수신된 스케치 입력과 관련된 컨텐츠 정보가 데이터베이스(DB)에 저장될 수 있다.
도 6a 및 도 6b는 본 개시의 여러 실시 예에 따른 컨텐츠 출력 방법을 설명하기 위한 도면이다.
도 6a를 참조하면, 전자 장치(100)는 사용자로부터 스케치 입력(61)을 획득할 수 있다. 예로, 스케치 입력(61)은 '당근'의 형상에 대응될 수 있다. 전자 장치(100)는 스케치 입력(61)과 관련된 복수의 유형의 컨텐츠 정보를 식별하여 출력할 수 있다. 예로, 전자 장치(100)는 '당근'이 포함된 이미지 컨텐츠(62-1) 및 비디오 컨텐츠(62-2)를 출력할 수 있다. 전자 장치(100)는 이미지 컨텐츠(62-1)에 포함된 적어도 하나의 이미지를 디스플레이할 수 있다. 또한, 전자 장치(100)는 비디오 컨텐츠(62-2)에 대응되는 썸네일 이미지를 디스플레이할 수 있다. 이 때, 전자 장치(100)는 비디오 컨텐츠(62-2)의 재생을 위한 UI 엘리먼트(예로, 재생 아이콘)를 썸네일 이미지에 오버레이하여 디스플레이할 수 있다.
또한, 전자 장치(100)는 '당근'을 주제로 하는 오디오 컨텐츠(62-3)(예로, '당근 케이크 레시피)를 출력할 수 있다. 이 때, 전자 장치(100)는 오디오 컨텐츠(62-3)의 제목 및 오디오 컨텐츠(62-3)의 재생을 위한 UI 엘리먼트를 디스플레이할 수 있다.
한편, 전자 장치(100)는 각 유형별 컨텐츠 정보를 우선 순위에 따라 디스플레이할 수 있다. 예로, 전자 장치(100)는 복수의 이미지 컨텐츠 중 우선 순위가 제1 순위, 제2 순위 및 제3 순위인 이미지 컨텐츠를 각각 디스플레이할 수 있다. 또한, 전자 장치(100)는 우선 순위에 따라 이미지 컨텐츠의 크기를 다르게 디스플레이할 수 있다. 예로, 우선 순위가 제1 순위인 제1 이미지 컨텐츠의 크기는 우선 순위가 제1 순위보다 후순위인 제2 순위인 제2 이미지 컨텐츠보다 클 수 있다.
한편, 전자 장치(100)는 복수의 유형의 컨텐츠 정보 중 사용자에 의해 선택된 유형의 컨텐츠 정보만 출력할 수 있다.
도 6b를 참조하면, 전자 장치(100)는 메모리(150)에 저장된 임의의 컨텐츠 정보를 디스플레이할 수 있다. 이 때, 전자 장치(100)는 현재 선택된 유형의 컨텐츠 정보를 디스플레이할 수 있다. 예로, 이미지 유형(64-1)이 선택된 경우, 전자 장치(100)는 메모리(150)에 저장된 임의의 이미지 컨텐츠(63-1)를 디스플레이할 수 있다. 또한, 전자 장치(100)는 사용자의 스케치 입력(61)을 수정하기 위한 제1 오브젝트(65-1) 및 스케치 입력(61)에 대한 검색을 실행하기 위한 제2 오브젝트(65-2)를 디스플레이할 수 있다.
메모리(150)에 저장된 임의의 이미지 컨텐츠(63-1)를 디스플레이하는 동안, 전자 장치(100)는 사용자의 스케치 입력(61)을 획득할 수 있다. 그리고, 전자 장치(100)는 제2 오브젝트(65-2)를 선택하는 사용자 명령을 획득할 수 있다. 사용자 명령이 획득되면, 전자 장치(100)는 스케치 입력(61)에 대응되는 제1 임베딩 벡터를 획득할 수 있다. 그리고, 전자 장치(100)는 데이터베이스(DB)에서 제1 임베딩 벡터와 가장 유사도가 높은 제2 임베딩 벡터를 식별할 수 있다. 또한, 전자 장치(100)는 데이터베이스(DB)에서 제2 임베딩 벡터와 연관지어 저장된 복수의 유형의 컨텐츠 정보를 획득할 수 있다.
전자 장치(100)는 획득된 컨텐츠 정보를 디스플레이할 수 있다. 이 때, 전자 장치(100)는 현재 선택된 유형의 컨텐츠 정보를 디스플레이할 수 있다. 예로, 이미지 유형(64-1)이 선택된 경우, 전자 장치(100)는 획득된 복수의 유형의 컨텐츠 정보 중 이미지 컨텐츠(63-2)를 디스플레이할 수 있다. 한편, 이미지 컨텐츠(63-2)를 디스플레이하는 동안, 전자 장치(100)는 문서 유형(64-2)을 선택하는 사용자 명령을 획득할 수 있다. 이 때, 전자 장치(100)는 획득된 복수의 유형의 컨텐츠 정보 중 문서 컨텐츠(63-3)를 디스플레이할 수 있다.
도 7a, 7b, 7c 및 도 7d는 본 개시의 다양한 실시 예에 따른 컨텐츠 정보 제공 방법을 설명하기 위한 도면이다.
도 7a를 참조하면, 전자 장치(100)는 스마트 워치이며, 외부 장치(710)는 증강 현실(AR: Augmented Reality) 글래스일 수 있다. 전자 장치(100)는 터치 패널을 통해 사용자(1)로부터 스케치 입력(71-1)을 획득할 수 있다. 이 때, 스케치 입력(71-1)은 특정 오브젝트(예로, 치아)의 형상에 대응될 수 있다. 전자 장치(100)는 오브젝트(즉, 치아)와 관련된 정보(72-1)를 획득할 수 있다. 예로, 전자 장치(100)는 오브젝트와 관련된 텍스트 컨텐츠를 획득할 수 있다. 구체적으로, 텍스트 컨텐츠는 '치아'와 관련된 단어 리스트를 포함할 수 있다. 전자 장치(100)는 획득된 오브젝트와 관련된 정보를 외부 장치(710)로 전송할 수 있다. 외부 장치(710)는 수신된 오브젝트와 관련된 정보(72-1)를 디스플레이할 수 있다.
도 7b를 참조하면, 전자 장치(100)는 스마트 워치이며 외부 장치(720)는 이어폰일 수 있다. 전자 장치(100)는 터치 패널을 통해 사용자(1)의 스케치 입력(71-2)을 획득할 수 있다. 전자 장치(100)는 스케치 입력(71-2)과 관련된 컨텐츠 정보(72-2)를 획득할 수 있다. 예를 들어, 스케치 입력(71-2)이 '장미'에 대응되는 경우, 컨텐츠 정보(72-2)는 '장미'와 관련된 음악 컨텐츠에 대한 오디오 파일을 포함할 수 있다. 이 때, 전자 장치(100)는 컨텐츠 정보(72-2)에 대응되는 텍스트(예로, 음악 컨텐츠의 제목)를 디스플레이할 수 있다. 한편, 전자 장치(100)가 복수의 음악 컨텐츠 리스트를 디스플레이하는 경우, 전자 장치(100)는 사용자(1)로부터 복수의 음악 컨텐츠 중 특정 음악 컨텐츠를 선택하는 명령을 획득할 수 있다. 이 때, 전자 장치(100)는 사용자에 의해 선택된 음악 컨텐츠에 대한 정보를 외부 장치(720)로 전송할 수 있다. 외부 장치(720)는 수신된 컨텐츠 정보(72-2)를 출력할 수 있다. 즉, 외부 장치(720)는 '장미'와 관련된 음악 컨텐츠에 대한 오디오 신호를 출력할 수 있다.
한편, 전자 장치(100)는 외부 장치(720)에 대한 정보를 바탕으로 스케치 입력(71-2)과 관련된 복수의 유형의 컨텐츠 정보 중 특정 유형의 컨텐츠 정보를 식별할 수 있다. 외부 장치(720)에 대한 정보는 외부 장치(720)의 유형 정보 및 스펙 정보를 포함할 수 있다. 예를 들어, 외부 장치(720)가 이어폰인 경우, 전자 장치(100)는 복수의 유형의 컨텐츠 정보 중 오디오 컨텐츠를 식별할 수 있다. 이에 따라, 사용자(1)는 외부 장치(720)에 대응되는 컨텐츠를 제공받을 수 있고, 사용자(1)의 만족감 및 편의성이 향상될 수 있다. 한편, 외부 장치(720)에 대한 정보는 메모리(150)에 미리 저장되거나, 외부 장치(720)로부터 수신될 수 있다.
도 7c를 참조하면, 전자 장치(100)는 TV일 수 있다. 전자 장치(100)는 카메라(112)를 통해 사용자(1)를 촬영한 복수의 이미지를 획득할 수 있다. 전자 장치(100)는 획득된 복수의 이미지를 분석하여 사용자(1)의 제스처를 획득할 수 있다. 그리고, 전자 장치(100)는 획득된 제스처를 바탕으로 사용자(1)의 스케치 입력(71-3)을 획득할 수 있다. 예로, 스케치 입력(71-3)은 '고양이'에 대응될 수 있다.
한편, 전자 장치(100)는 스케치 입력(71-3)과 관련된 컨텐츠 정보를 획득할 수 있다. 예로, 획득된 컨텐츠 정보는 '고양이'를 포함하는 복수의 비디오 컨텐츠에 대한 썸네일 이미지 및 비디오 파일을 포함할 수 있다. 전자 장치(100)는 복수의 비디오 컨텐츠 각각에 대한 썸네일 이미지(72-3)를 디스플레이할 수 있다. 썸네일 이미지(72-3) 중 하나를 선택하는 사용자 명령이 획득되면, 전자 장치(100)는 선택된 썸네일 이미지에 대응되는 비디오 파일을 실행하여 비디오 컨텐츠를 디스플레이할 수 있다.
한편, 전자 장치(100)는 기설정된 우선 순위를 바탕으로 스케치 입력(71-3)과 관련된 복수의 유형의 컨텐츠 정보 중 특정 유형의 컨텐츠 정보를 식별할 수 있다. 예를 들어, 전자 장치(100)가 TV인 경우, 전자 장치(100)는 제1 순위로 비디오 컨텐츠를 식별하며, 제1 순위보다 후순위인 제2 순위로 이미지 컨텐츠를 식별할 수 있다. 이에 따라, 사용자(1)는 전자 장치(100)에 대응되는 컨텐츠를 제공받을 수 있고, 사용자(1)의 만족감 및 편의성이 향상될 수 있다.
도 7d를 참조하면, 전자 장치(100)는 증강 현실(AR: Augmented Reality) 글래스이며 외부 장치(730)는 전자 장치(100)와 연결된 콘트롤러일 수 있다. 외부 장치(730)는 모션 센서(예로, IMU 센서)를 포함할 수 있다. 전자 장치(100)가 게임 컨텐츠를 디스플레이하는 동안, 외부 장치(730)는 사용자(1)의 모션 정보를 획득하여 전자 장치(100)로 전송할 수 있다. 전자 장치(100)는 수신된 모션 정보를 바탕으로 스케치 입력(71-4)을 획득할 수 있다. 예로, 스케치 입력(71-4)은 게임 컨텐츠와 관련된 아이템에 대응될 수 있다.
전자 장치(100)는 스케치 입력(71-4)을 바탕으로 스케치 입력(71-4)과 관련된 컨텐츠 정보를 획득하여 출력할 수 있다. 예로, 전자 장치(100)는 스케치 입력(71-4)에 대응되는 오브젝트(72-4)를 획득하여 디스플레이할 수 있다. 한편, 전자 장치(100)는 현재 실행중인 어플리케이션에 대한 정보를 바탕으로 컨텐츠 유형을 식별할 수 있다. 예로, 게임 어플리케이션이 실행되는 동안 스케치 입력(71-4)이 획득되면, 전자 장치(100)는 복수의 컨텐츠 유형 중 게임 컨텐츠를 식별할 수 있다. 그리고, 전자 장치(100)는 데이터베이스(DB)에서 복수의 유형의 컨텐츠 중 스케치 입력(71-4)과 관련된 게임 컨텐츠를 식별할 수 있다
이상에서는, 스케치 입력을 획득하는 방법, 스케치 입력을 바탕으로 컨텐츠 정보를 획득하는 방법, 및 컨텐츠 정보를 출력하는 방법에 대하여 살펴보았다. 한편, 스케치 입력을 바탕으로 컨텐츠 정보를 용이하게 획득하기 위해, 전자 장치(100)는 컨텐츠 정보에 대한 인덱싱을 수행하고, 컨텐츠 정보를 포함하는 데이터베이스를 구축할 수 있다. 이하에서는, 전자 장치(100)가 데이터베이스를 구축하는 방법에 대하여 설명하도록 한다.
도 8a는 본 개시의 일 실시 예에 따른 문서 컨텐츠에 대한 인덱싱을 수행하는 방법을 설명하기 위한 순서도이다.
도 8a를 참조하면, 전자 장치(100)는 문서 컨텐츠를 식별할 수 있다(S810). 예로, 전자 장치(100)는 메모리(150)에 저장된 컨텐츠를 식별할 수 있다. 전자 장치(100)는 식별된 문서 컨텐츠에 포함된 단어를 식별하고(S820), 식별된 단어에 대한 가중치를 획득할 수 있다(S830). 여기서, 가중치는 식별된 단어가 문서 컨텐츠에서 얼마나 중요한가를 나타내는 값을 의미할 수 있다. 예로, 전자 장치(100)는 소위 'TF-IDF'라 불리는 아래의 [수학식 1]을 바탕으로 가중치를 산출할 수 있다.
Figure PCTKR2021009014-appb-img-000001
여기서,
Figure PCTKR2021009014-appb-img-000002
는 문서 y에 단어 x가 등장하는 횟수 또는 빈도,
Figure PCTKR2021009014-appb-img-000003
는 단어 x를 포함하는 문서의 개수,
Figure PCTKR2021009014-appb-img-000004
은 문서의 전체 개수를 의미한다.
전자 장치(100)는 식별된 단어를 워드 임베딩 모델에 입력하여 임베딩 벡터를 획득할 수 있다(S840). 여기서, 워드 임베딩 모델은 단어를 바탕으로 단어에 대응되는 임베딩 벡터를 획득하도록 학습된 신경망 모델일 수 있다. 또한, 워드 임베딩 모델은 워드투벡터(Word2Vec) 알고리즘에 기반하여 구현될 수 있다.
전자 장치(100)는 획득된 가중치를 바탕으로 임베딩 벡터와 문서 컨텐츠를 연관지어 저장할 수 있다(S850). 전자 장치(100)는 식별된 단어에 대응되는 임베딩 벡터와 식별된 단어를 포함하는 문서 컨텐츠를 매칭하여 저장할 수 있다. 예를 들어, 전자 장치(100)는 문서 컨텐츠에 대해 인덱싱을 수행할 수 있다. 한편, 전자 장치(100)는 획득된 가중치가 높은 순서대로 식별된 문서 컨텐츠에 대해 우선 순위를 할당할 수 있다. 예로, 제1 단어와 관련지어 복수의 문서 컨텐츠에 대해 인덱싱을 수행하는 경우, 전자 장치(100)는 복수의 문서 컨텐츠 중 제1 단어에 대한 가중치가 가장 큰 제1 문서 컨텐츠에 1순위를 할당할 수 있다. 또한, 전자 장치(100)는 제1 문서 컨텐츠보다 제1 단어에 대한 가중치가 낮은 제2 문서에 대해서는 제1 순위보다 후순위인 제2 순위를 할당할 수 있다. 전자 장치(100)는 복수의 문서 컨텐츠 각각에 대해 인덱싱을 수행하고, 인덱스된 복수의 문서 컨텐츠를 데이터베이스에 저장할 수 있다.
도 8b는 본 개시의 일 실시 예에 따른 문서 컨텐츠에 대한 인덱싱을 수행하는 방법을 설명하기 위한 도면이다.
도 8b를 참조하면, 전자 장치(100)는 문서 컨텐츠(81)를 식별하고, 문서 컨텐츠(81)를 스캔하여 문서 컨텐츠(81)에 포함된 복수의 단어(82)를 식별할 수 있다. 예를 들어, 복수의 단어(82)는 제1 단어('buy'), 제2 단어('tree') 및 제3 단어('sample')를 포함할 수 있다. 한편, 전자 장치(100)는 문서 컨텐츠(81)에서 복수의 단어(82) 각각의 중요도를 나타내는 가중치(83)를 획득할 수 있다. 예를 들어, 제1 문서 컨텐츠('Doc 1')에서 제1 단어('buy')의 가중치는 0.38일 수 있다. 또한, 제2 문서 컨텐츠('Doc 2')에서 제3 단어('sample')의 가중치는 0.12일 수 있다.
한편, 전자 장치(100)는 복수의 단어(82)를 워드 임베딩 모델(84)에 입력하여 복수의 단어(82) 각각에 대응되는 임베딩 벡터(85)를 획득할 수 있다. 예로, 임베딩 벡터(85)는 제1 단어('buy'), 제2 단어('tree') 및 제3 단어('sample')에 각각 대응되는 제1 벡터(v1), 제2 벡터(v2) 및 제3 벡터(v3)를 포함할 수 있다. 전자 장치(100)는 임베딩 벡터(85)와 컨텐츠 정보(86)를 연관지어 저장할 수 있다. 예를 들어, 전자 장치(100)는 제1 벡터(v1)와 제1 단어('buy')를 포함하는 문서 컨텐츠를 매칭하여 데이터베이스(DB)에 저장할 수 있다.
도 9a는 본 개시의 일 실시 예에 따른 이미지 컨텐츠에 대한 인덱싱을 수행하는 방법을 설명하기 위한 순서도이다. 도 9b는 본 개시의 일 실시 예에 따른 이미지 컨텐츠에 대한 인덱싱을 수행하는 방법을 설명하기 위한 도면이다.
도 9a를 참조하면, 전자 장치(100)는 이미지 컨텐츠를 식별하고(S910), 이미지 컨텐츠에 포함된 오브젝트를 식별할 수 있다(S920).
도 9b를 참조하면, 전자 장치(100)는 학습된 오브젝트 인식 모델(92)에 이미지 컨텐츠(91)를 입력하여 이미지 컨텐츠(91)에 포함된 오브젝트(ob1, ob2)에 대한 정보를 획득할 수 있다. 오브젝트에 대한 정보(ob1, ob2)는, 이미지 컨텐츠에서 오브젝트의 위치 정보(예로, 오브젝트에 대응되는 바운딩 박스(bounding box)의 좌표 정보) 및 오브젝트의 식별 정보를 포함할 수 있다.
전자 장치(100)는 식별된 오브젝트에 대한 가중치(93)를 획득할 수 있다(S930). 예를 들어, 전자 장치(100)는 [수학식 2]에 기초하여 이미지 컨텐츠에서 오브젝트의 중요도를 나타내는 가중치를 획득할 수 있다.
Figure PCTKR2021009014-appb-img-000005
여기서, Ims(Image importance score)는 이미지 컨텐츠에서 오브젝트의 중요도를 나타내는 가중치(93),
Figure PCTKR2021009014-appb-img-000006
는 이미지 컨텐츠에서 식별된 오브젝트,
Figure PCTKR2021009014-appb-img-000007
는 오브젝트 x의 바운딩 박스의 폭,
Figure PCTKR2021009014-appb-img-000008
는 식별된 오브젝트 x의 바운딩 박스의 높이,
Figure PCTKR2021009014-appb-img-000009
는 오브젝트 x가 검출된 이미지(또는 이미지 컨텐츠)의 폭,
Figure PCTKR2021009014-appb-img-000010
는 오브젝트 x가 검출된 이미지(또는 이미지 컨텐츠)의 높이,
Figure PCTKR2021009014-appb-img-000011
는 오브젝트 x가 클래스 y에 해당될 확률을 의미한다. 도 9b을 참조하면, 전자 장치(100)는 제1 오브젝트(ob1) 제2 오브젝트(ob2) 제3 오브젝트(ob3) 각각의 이미지 컨텐츠에서의 가중치(93)를 획득할 수 있다.
전자 장치(100)는 이미지 컨텐츠를 이미지 임베딩 모델에 입력하여 식별된 오브젝트에 대응되는 임베딩 벡터를 획득할 수 있다(S940). 도 9b를 참조하면, 전자 장치(100)는 이미지 컨텐츠(91)를 이미지 임베딩 모델(94)에 입력하여 제1 오브젝트(ob1) 및 제2 오브젝트(ob2)에 대응되는 임베딩 벡터(95)를 획득할 수 있다. 즉, 전자 장치(100)는 제1 오브젝트(ob1)에 대응되는 제1 벡터(v1) 및 제2 오브젝트(ob2)에 대응되는 제2 벡터(v2)를 획득할 수 있다. 여기서, 이미지 임베딩 모델(94)은 이미지 컨텐츠를 바탕으로 이미지 컨텐츠에 포함된 오브젝트에 대한 임베딩 벡터를 획득하도록 학습된 신경망 모델일 수 있다.
전자 장치(100)는 획득된 가중치를 바탕으로, 임베딩 벡터와 이미지 컨텐츠를 연관지어 저장할 수 있다(S950). 이 때, 전자 장치(100)는 가중치가 높은 순서대로 이미지 컨텐츠에 우선 순위를 할당하고, 임베딩 벡터와 이미지 컨텐츠를 매칭하여 저장할 수 있다. 예로, 도 9b를 참조하면, 전자 장치(100)는 복수의 오브젝트 각각에 대한 임베딩 벡터(v1, v2, v3)와 오브젝트가 포함되는 컨텐츠 정보(96)를 매칭하여 데이터베이스(DB)에 저장할 수 있다.
도 10a는 본 개시의 일 실시 예에 따른 오디오 컨텐츠에 대한 인덱싱을 수행하는 방법을 설명하기 위한 순서도이다.
도 10a를 참조하면, 전자 장치(100)는 오디오 컨텐츠를 식별하고(S1010), 오디오 컨텐츠로부터 복수의 단어를 획득할 수 있다(S1020). 예로, 전자 장치(100)는 한편, 전자 장치(100)는 오디오 컨텐츠에 대한 정보를 텍스트 획득 모델에 입력하여 복수의 단어를 획득할 수 있다. 여기서, 오디오 컨텐츠에 대한 정보는 오디오 컨텐츠에 대한 오디오 시퀀스 및 소리 스펙트로그램(spectrogram)을 포함할 수 있다. 한편, 텍스트 획득 모델은 오디오 컨텐츠에 대한 정보를 바탕으로 텍스트를 획득하도록 학습된 신경망 모델로서 RNN(Recurrent Neural Network)을 포함할 수 있다.
전자 장치(100)는 획득된 복수의 단어 각각에 대한 가중치를 획득할 수 있다(S1030). 이 때, 전자 장치(100)는 전술한 단계 S830과 같이 획득된 단어에 대한 가중치를 산출할 수 있다. 예로, 전자 장치(100)는 [수학식 1]에 기초하여 단어에 대한 가중치를 산출할 수 있다. 또한, 전자 장치(100)는 획득된 복수의 단어를 워드 임베딩 모델에 입력하여 임베딩 벡터를 획득할 수 있다(S1040). 여기서, 워드 임베딩 모델은 도 8b의 워드 임베딩 모델(84)에 대응될 수 있다. 전자 장치(100)는 획득된 가중치를 바탕으로, 임베딩 벡터와 이미지 컨텐츠를 연관지어 저장할 수 있다(S950).
도 10b는 본 개시의 일 실시 예에 따른 오디오 컨텐츠에 대한 인덱싱을 수행하는 방법을 설명하기 위한 도면이다.
도 10b를 참조하면, 전자 장치(100)는 오디오 컨텐츠(101)로부터 복수의 단어(102)를 획득할 수 있다. 전자 장치(100)는 복수의 단어(102) 각각에 대한 가중치(103)를 획득할 수 있다. 전자 장치(100)는 복수의 단어(102)를 워드 임베딩 모델(104)에 입력하여 복수의 단어(102) 각각에 대한 임베딩 벡터(105)를 획득할 수 있다. 전자 장치(100)는 임베딩 벡터(105)와 복수의 오디오 컨텐츠를 포함하는 컨텐츠 정보(106)를 매칭하여 데이터베이스(DB)에 저장할 수 있다.
도 11a는 본 개시의 일 실시 예에 따른 비디오 컨텐츠에 대한 인덱싱을 수행하는 방법을 설명하기 위한 순서도이다. 도 11b는 본 개시의 일 실시 예에 따른 비디오 컨텐츠에 대한 인덱싱을 수행하는 방법을 설명하기 위한 도면이다.
도 11a를 참조하면, 전자 장치(100)는 비디오 컨텐츠를 식별하고(S1110), 식별된 비디오 컨텐츠로부터 오디오 컨텐츠 및 이미지 컨텐츠를 획득할 수 있다(S1120).
도 11b를 참조하면, 전자 장치(100)는 비디오 컨텐츠(121)의 오디오 성분과 이미지 성분을 분리하여 오디오 컨텐츠(122) 및 이미지 컨텐츠(125)를 획득할 수 있다.
전자 장치(100)는 오디오 컨텐츠로부터 복수의 단어를 획득하고, 획득된 복수의 단어 각각에 대한 제1 가중치를 획득할 수 있다(S1131). 본 단계는, 단계 S1020 및 단계 S1030와 대응될 수 있는 바 그 상세한 설명은 생략한다. 도 11b를 참조하면, 전자 장치(100)는 오디오 컨텐츠(122)로부터 복수의 단어(123-1)를 획득하고, 복수의 단어(123-1) 각각에 대한 제1 가중치(124-1)를 획득할 수 있다.
전자 장치(100)는 획득된 복수의 단어를 워드 임베딩 모델(124)에 입력하여 임베딩 벡터를 획득할 수 있다(S1141). 도 11b를 참조하면, 전자 장치(100)는 복수의 단어(123-1)를 워드 임베딩 모델(124)를 입력하여 임베딩 벡터(126)를 획득할 수 있다. 예로, 전자 장치(100)는 복수의 단어(123-1) 각각에 대한 임베딩 벡터(v1, v2)를 획득할 수 있다.
전자 장치(100)는 비디오 컨텐츠에 포함된 오브젝트를 식별하고, 식별된 오브젝트에 대한 제2 가중치를 획득할 수 있다(S1132). 본 동작은, 동작 S920 및 동작 S930와 대응될 수 있는 바 그 상세한 설명은 생략한다. 도 11b를 참조하면, 전자 장치(100)는 비디오 컨텐츠(121) 로부터 복수의 오브젝트(ob1, ob2) 각각에 대한 정보(123-3)를 획득할 수 있다. 그리고, 전자 장치(100)는 복수의 오브젝트(ob1, ob2) 각각에 대한 제2 가중치(124-2)를 획득할 수 있다. 예로, 전자 장치(100)는
한편, 전자 장치(100)는 이미지 컨텐츠를 이미지 임베딩 모델에 입력하여 식별된 오브젝트에 대응되는 임베딩 벡터를 획득할 수 있다(S1142). 본 동작은, 전술한 동작 S940에 대응될 수 있는 바 그 상세한 설명은 생략한다. 도 11b를 참조하면, 전자 장치(100)는 이미지 임베딩 모델(127)을 이용하여 복수의 오브젝트(ob1, ob2) 각각에 대응되는 임베딩 벡터(128)를 획득할 수 있다.
전자 장치(100)는 제1 가중치 및 제2 가중치를 바탕으로, 임베딩 벡터와 비디오 컨텐츠(121)를 연관지어 저장할 수 있다(S1150). 도 11b를 참조하면, 전자 장치(100)는 복수의 단어(123-1) 각각에 대한 임베딩 벡터(v1, v2) 및 오브젝트(ob1)에 대응되는 임베딩 벡터(v3)를 컨텐츠 정보(129)와 매칭하여 데이터베이스(DB)에 저장할 수 있다.
이상과 같은 방법으로, 각 유형별 컨텐츠 정보(129)는 임베딩 벡터와 매칭되어 저장될 수 있다. 따라서, 전자 장치(100)는 도 5에 도시된 바와 같은 데이터베이스를 구축할 수 있다.
도 12는 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 도시한 순서도이다.
도 12를 참조하면, 전자 장치(100)는 복수의 제1 임베딩 벡터(embedding vector)와 복수의 제1 임베딩 벡터 각각과 관련된 컨텐츠 정보를 저장할 수 있다(S1210). 전자 장치(100)는 메모리(150)에 저장된 컨텐츠 정보들에 대해 인덱싱을 수행하여 데이터베이스를 구축할 수 있다. 한편, 본 동작에 대해서는 도 8a 내지 도 11b를 참조하여 전술하였는 바 그 상세한 설명은 생략하도록 한다.
전자 장치(100)는 사용자의 스케치(sketch) 입력을 획득할 수 있다(S1220). 예를 들어, 전자 장치(100)는 터치 패널을 터치하는 사용자 입력을 바탕으로 스케치 입력을 획득할 수 있다. 또는, 전자 장치(100)는 카메라를 통해 사용자의 제스처 입력을 획득하고, 제스처 입력을 바탕으로 스케치 입력을 획득할 수 있다.
전자 장치(100)는 스케치 입력을 신경망 모델에 입력하여 제2 임베딩 벡터를 획득할 수 있다(S1230). 신경망 모델은 스케치 입력을 바탕으로 특징 벡터를 획득하는 인코더, 및 특징 벡터를 바탕으로 제2 임베딩 벡터를 획득하는 디코더를 포함할 수 있다. 전자 장치(100)는 복수의 제1 임베딩 벡터 중 제2 임베딩 벡터와의 유사도가 가장 높은 제1 임베딩 벡터를 식별할 수 있다(S1240). 이 때, 전자 장치(100)는 복수의 제1 임베딩 벡터 각각과 제2 임베딩 벡터간의 코사인 유사도를 통해 유사도를 산출할 수 있다. 전자 장치(100)는 식별된 제1 임베딩 벡터에 대응되는 컨텐츠 정보를 획득하여 출력할 수 있다(S1250). 전자 장치(100)의 컨텐츠 출력 방법에 대해서는 전술하였는 바 그 상세한 설명은 생략하도록 한다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 처리 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium) 에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 처리 동작을 특정 기기가 수행하도록 할 수 있다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (15)

  1. 전자 장치에 있어서,
    입력 인터페이스;
    복수의 제1 임베딩 벡터(embedding vector)와 상기 복수의 제1 임베딩 벡터 각각과 관련된 컨텐츠 정보를 저장하는 메모리;
    적어도 하나의 프로세서;를 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 입력 인터페이스를 통해 사용자의 스케치(sketch) 입력을 획득하고,
    상기 스케치 입력을 신경망 모델에 입력하여 제2 임베딩 벡터를 획득하고,
    상기 복수의 제1 임베딩 벡터 중 상기 제2 임베딩 벡터와의 유사도가 가장 높은 제1 임베딩 벡터를 식별하고,
    상기 식별된 제1 임베딩 벡터에 대응되는 컨텐츠 정보를 획득하여 출력하는
    전자 장치.
  2. 제1 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 복수의 제1 임베딩 벡터 각각과 상기 제2 임베딩 벡터간의 코사인 유사도를 통해 유사도를 산출하는
    전자 장치.
  3. 제1 항에 있어서,
    상기 신경망 모델은,
    상기 스케치 입력을 바탕으로 특징 벡터를 획득하는 인코더, 및
    상기 특징 벡터를 바탕으로 상기 제2 임베딩 벡터를 획득하는 디코더를 포함하는
    전자 장치.
  4. 제1 항에 있어서,
    상기 복수의 제1 임베딩 벡터 각각과 관련된 컨텐츠 정보는 복수의 유형의 컨텐츠 정보를 포함하며,
    상기 복수의 유형의 컨텐츠 정보는 이미지 컨텐츠, 오디오 컨텐츠, 비디오 컨텐츠, 텍스트 컨텐츠 및 문서 컨텐츠를 포함하는
    전자 장치.
  5. 제4 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 복수의 유형의 컨텐츠 정보 중 하나를 선택하기 위한 사용자 명령을 획득하고,
    상기 복수의 유형의 컨텐츠 정보 중 상기 선택된 유형에 대응되는 컨텐츠 정보를 식별하여 출력하는
    전자 장치.
  6. 제4 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 전자 장치의 유형 정보를 바탕으로 상기 복수의 유형 중 하나의 유형을 식별하고,
    상기 식별된 제1 임베딩 벡터에 대응되는 컨텐츠 정보 중 상기 식별된 유형의 컨텐츠 정보를 식별하여 출력하는
    전자 장치.
  7. 제4 항에 있어서,
    통신 인터페이스;를 더 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 통신 인터페이스를 통해 상기 전자 장치와 연결된 외부 장치의 유형 정보를 획득하고,
    상기 유형 정보를 바탕으로 상기 복수의 유형 중 하나의 유형을 식별하고,
    상기 식별된 제1 임베딩 벡터에 대응되는 정보 중 상기 식별된 유형의 컨텐츠 정보를 식별하여 상기 외부 장치로 전송하는
    전자 장치.
  8. 제1 항에 있어서,
    상기 입력 인터페이스는 터치 패널을 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 터치 패널을 터치하는 사용자 입력을 바탕으로 상기 스케치 입력을 획득하는
    전자 장치.
  9. 제1 항에 있어서,
    상기 입력 인터페이스는 카메라를 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 카메라를 통해 상기 사용자의 제스처 입력을 획득하고,
    상기 제스처 입력을 바탕으로 상기 스케치 입력을 획득하는
    전자 장치.
  10. 전자 장치의 제어 방법에 있어서,
    복수의 제1 임베딩 벡터(embedding vector)와 상기 복수의 제1 임베딩 벡터 각각과 관련된 컨텐츠 정보를 저장하는 단계;
    사용자의 스케치(sketch) 입력을 획득하는 단계;
    상기 스케치 입력을 신경망 모델에 입력하여 제2 임베딩 벡터를 획득하는 단계;
    상기 복수의 제1 임베딩 벡터 중 상기 제2 임베딩 벡터와의 유사도가 가장 높은 제1 임베딩 벡터를 식별하는 단계; 및
    상기 식별된 제1 임베딩 벡터에 대응되는 컨텐츠 정보를 획득하여 출력하는 단계;를 포함하는
    제어 방법.
  11. 제10 항에 있어서,
    상기 제1 임베딩 벡터를 식별하는 단계는,
    상기 복수의 제1 임베딩 벡터 각각과 상기 제2 임베딩 벡터간의 코사인 유사도를 통해 유사도를 산출하는 단계를 포함하는
    제어 방법.
  12. 제10 항에 있어서,
    상기 신경망 모델은,
    상기 스케치 입력을 바탕으로 특징 벡터를 획득하는 인코더, 및
    상기 특징 벡터를 바탕으로 상기 제2 임베딩 벡터를 획득하는 디코더를 포함하는
    제어 방법.
  13. 제10 항에 있어서,
    상기 복수의 제1 임베딩 벡터 각각과 관련된 컨텐츠 정보는 복수의 유형의 컨텐츠 정보를 포함하며,
    상기 복수의 유형의 컨텐츠 정보는 이미지 컨텐츠, 오디오 컨텐츠, 비디오 컨텐츠, 텍스트 컨텐츠 및 문서 컨텐츠를 포함하는
    제어 방법.
  14. 제13 항에 있어서,
    상기 복수의 유형의 컨텐츠 정보 중 하나를 선택하기 위한 사용자 명령을 획득하는 단계;를 더 포함하고,
    상기 컨텐츠 정보를 획득하여 출력하는 단계는,
    상기 복수의 유형의 컨텐츠 정보 중 상기 선택된 유형에 대응되는 컨텐츠 정보를 식별하는 단계, 및
    상기 식별된 컨텐츠 정보를 출력하는 단계를 포함하는
    제어 방법.
  15. 제13 항에 있어서,
    상기 전자 장치의 유형 정보를 바탕으로 상기 복수의 유형 중 하나의 유형을 식별하는 단계;를 더 포함하고,
    상기 컨텐츠 정보를 획득하여 출력하는 단계는,
    상기 식별된 제1 임베딩 벡터에 대응되는 컨텐츠 정보 중 상기 식별된 유형의 컨텐츠 정보를 식별하여 출력하는
    제어 방법.
PCT/KR2021/009014 2021-01-25 2021-07-14 전자 장치 및 그 제어 방법 WO2022158663A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/429,517 US20230185843A1 (en) 2021-01-25 2021-07-14 Electronic apparatus and controlling method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0009940 2021-01-25
KR1020210009940A KR20220107381A (ko) 2021-01-25 2021-01-25 전자 장치 및 그 제어 방법

Publications (1)

Publication Number Publication Date
WO2022158663A1 true WO2022158663A1 (ko) 2022-07-28

Family

ID=82549110

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/009014 WO2022158663A1 (ko) 2021-01-25 2021-07-14 전자 장치 및 그 제어 방법

Country Status (3)

Country Link
US (1) US20230185843A1 (ko)
KR (1) KR20220107381A (ko)
WO (1) WO2022158663A1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130059033A (ko) * 2011-11-28 2013-06-05 연세대학교 산학협력단 스케치를 이용한 멀티미디어 검색 시스템 및 방법
KR20130059040A (ko) * 2011-11-28 2013-06-05 연세대학교 산학협력단 스케치를 이용한 매장 내 물품 검색 시스템 및 방법
US20180232400A1 (en) * 2015-08-03 2018-08-16 Orand S.A. Sketch-based image searching system using cell-orientation histograms and outline extraction based on medium-level features
KR20200002332A (ko) * 2018-06-29 2020-01-08 고려대학교 산학협력단 딥 러닝을 이용하여 이미지를 검색하는 단말 장치 및 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7991764B2 (en) * 2005-07-22 2011-08-02 Yogesh Chunilal Rathod Method and system for communication, publishing, searching, sharing and dynamically providing a journal feed
US10503775B1 (en) * 2016-12-28 2019-12-10 Shutterstock, Inc. Composition aware image querying
US10832387B2 (en) * 2017-07-19 2020-11-10 Petuum Inc. Real-time intelligent image manipulation system
US20200356592A1 (en) * 2019-05-09 2020-11-12 Microsoft Technology Licensing, Llc Plural-Mode Image-Based Search

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130059033A (ko) * 2011-11-28 2013-06-05 연세대학교 산학협력단 스케치를 이용한 멀티미디어 검색 시스템 및 방법
KR20130059040A (ko) * 2011-11-28 2013-06-05 연세대학교 산학협력단 스케치를 이용한 매장 내 물품 검색 시스템 및 방법
US20180232400A1 (en) * 2015-08-03 2018-08-16 Orand S.A. Sketch-based image searching system using cell-orientation histograms and outline extraction based on medium-level features
KR20200002332A (ko) * 2018-06-29 2020-01-08 고려대학교 산학협력단 딥 러닝을 이용하여 이미지를 검색하는 단말 장치 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
VINCENT WAN; YANNIS AGIOMYRGIANNAKIS; HANNA SILEN; JAKUB VÍT: "Google’s Next-Generation Real-Time Unit-Selection Synthesizer Using Sequence-to-Sequence LSTM-Based Autoencoders", INTERSPEECH 2017, 1 January 2017 (2017-01-01), ISCA , pages 1143 - 1147, XP055598601, DOI: 10.21437/Interspeech.2017-1107 *

Also Published As

Publication number Publication date
KR20220107381A (ko) 2022-08-02
US20230185843A1 (en) 2023-06-15

Similar Documents

Publication Publication Date Title
WO2016126007A1 (en) Method and device for searching for image
WO2019059505A1 (ko) 객체를 인식하는 방법 및 장치
WO2019093744A1 (en) Display apparatus and control method thereof
WO2020149689A1 (ko) 영상 처리 방법 및 이를 지원하는 전자 장치
WO2016140545A1 (en) Method and device for synthesizing three-dimensional background content
WO2020130281A1 (en) Electronic device and method for providing avatar based on emotion state of user
EP3980976A1 (en) Electronic device for providing avatar and operating method thereof
WO2019066373A1 (ko) 이미지에 포함된 오브젝트의 카테고리 및 인식률에 기반하여 이미지를 보정하는 방법 및 이를 구현한 전자 장치
WO2021045552A1 (en) Electronic device for image synthesis and operating method thereof
WO2020032383A1 (ko) 이미지에 대한 인식 정보, 인식 정보와 관련된 유사 인식 정보, 및 계층 정보를 이용하여 외부 객체에 대한 인식 결과를 제공하는 전자 장치 및 그의 동작 방법
WO2020054978A1 (ko) 이미지 생성 장치 및 그 방법
WO2019172642A1 (ko) 심장 박동을 측정하기 위한 전자 장치 및 방법
WO2022211271A1 (ko) 학습 기반의 필기 입력을 처리하는 전자 장치, 그 동작 방법 및 저장매체
WO2021221490A1 (en) System and method for robust image-query understanding based on contextual features
WO2021251615A1 (ko) 전자 장치 및 전자 장치의 제어 방법
WO2022158663A1 (ko) 전자 장치 및 그 제어 방법
WO2019103420A1 (en) Electronic device and method for sharing image with external device using image link information
WO2021025495A1 (en) Electronic device and method for processing handwriting input thereof
WO2018056587A1 (en) Electronic apparatus and controlling method thereof
WO2013105759A1 (en) Method and apparatus for managing content, and computer readable recording medium having recorded thereon a program for executing the content management method
WO2020130274A1 (ko) 영상에서 오브젝트를 인식하는 전자 장치 및 그 동작 방법
WO2022124476A1 (ko) 전자 장치 및 이의 제어 방법
WO2020197071A1 (ko) 전자 장치 및 그 제어 방법
WO2020141808A1 (ko) 외부 장치의 콘텐트를 편집하는 전자 장치 및 방법
WO2019103518A1 (ko) 전자 장치 및 그 제어 방법

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: 21921426

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: 21921426

Country of ref document: EP

Kind code of ref document: A1