WO2022059985A1 - 전자 장치 및 이의 제어 방법 - Google Patents

전자 장치 및 이의 제어 방법 Download PDF

Info

Publication number
WO2022059985A1
WO2022059985A1 PCT/KR2021/012059 KR2021012059W WO2022059985A1 WO 2022059985 A1 WO2022059985 A1 WO 2022059985A1 KR 2021012059 W KR2021012059 W KR 2021012059W WO 2022059985 A1 WO2022059985 A1 WO 2022059985A1
Authority
WO
WIPO (PCT)
Prior art keywords
score
sentence
chat rooms
chat
model
Prior art date
Application number
PCT/KR2021/012059
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/503,819 priority Critical patent/US12069011B2/en
Publication of WO2022059985A1 publication Critical patent/WO2022059985A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]

Definitions

  • the present disclosure relates to an electronic device and a method for controlling the same, and to an apparatus for managing a sentence input from a user based on the context of a chat room created through a messenger application, for example, and a method for controlling the same.
  • a chat room with a plurality of users as members may be created on the messenger application, and users may freely exchange messages in real time in the created chat room.
  • chat rooms corresponding to various groups (eg, friends, co-workers, bosses, etc.), and communicates with members of various groups in the created chat rooms. is in progress
  • Embodiments of the present disclosure address the above needs and provide an electronic device for selecting a chat room most suitable for a sentence input by a user based on the relative characteristics of the chat room created on the messenger application, and a method for controlling the same.
  • the electronic device obtains characteristic information of a conversation conducted in each of the plurality of chat rooms by inputting sentences input to a plurality of chat rooms generated through a memory and a messenger application into a first model,
  • the first sentence and the characteristic information are input to a second model to obtain a first score indicating a degree of similarity between the first sentence and a characteristic of a conversation conducted in each of the plurality of chat rooms, inputting the first sentence and the sentences inputted into the plurality of chat rooms into a third model to obtain a second score indicating a degree of relevance between the first sentences and the sentences inputted into the plurality of chat rooms, and the feature information
  • a processor for identifying a chat room corresponding to the first sentence among the plurality of chat rooms based on the first score and the second score, and inputting the first sentence into the identified chat room.
  • a control method of an electronic device includes inputting sentences input to a plurality of chat rooms generated through a messenger application into a first model to obtain characteristic information of a conversation conducted in each of the plurality of chat rooms step, when a first sentence is input from a user, inputting the first sentence and the characteristic information into a second model to obtain a first score indicating the degree of similarity between the first sentence and the characteristics of a conversation conducted in each of the plurality of chat rooms obtaining a second score representing a degree of relevance between the first sentence and the sentences input into the plurality of chat rooms by inputting the first sentence and the sentences input into the plurality of chat rooms into a third model , identifying the chat room corresponding to the first sentence among the plurality of chat rooms based on the characteristic information, the first score, and the second score, and inputting the first sentence into the identified chat room.
  • a third model identifying the chat room corresponding to the first sentence among the plurality of chat rooms based on the characteristic information, the first score, and the second score, and inputting the first
  • the electronic device analyzes the characteristics of the chat room and identifies the chat room suitable for the input user sentence, so that the user can use the messenger application more efficiently and conveniently.
  • FIG. 1 is a block diagram illustrating an exemplary configuration of an electronic device, according to various embodiments of the present disclosure.
  • FIG. 2 is a flowchart illustrating an exemplary control method of an electronic device, according to various embodiments of the present disclosure.
  • 3A is a diagram for describing an exemplary process in which an electronic device acquires feature information of each of a plurality of chat rooms through a first model, according to various embodiments of the present disclosure
  • 3B is a diagram for describing an exemplary process in which an electronic device acquires characteristic information of each chat room by classifying a conversation conducted in a plurality of chat rooms, according to various embodiments of the present disclosure
  • FIG. 4 is a diagram for describing an exemplary process in which an electronic device acquires a first score of each of a plurality of chat rooms through a second model, according to various embodiments of the present disclosure
  • FIG. 5 is a diagram for describing an exemplary process in which an electronic device acquires a second score of each of a plurality of chat rooms through a third model, according to various embodiments of the present disclosure
  • FIG. 6 is a diagram for describing an exemplary process in which an electronic device selects a chat room suitable for an input text, according to various embodiments of the present disclosure
  • FIG. 7 is a flowchart illustrating an exemplary process for an electronic device to identify whether a sentence input into a chat room matches characteristics of the chat room, according to various embodiments of the present disclosure
  • FIG. 8 is a diagram for describing an exemplary process in which an electronic device provides a message to a user based on whether a sentence input into a chat room matches a characteristic of the chat room, according to various embodiments of the present disclosure
  • FIG. 9 is a detailed block diagram illustrating an exemplary configuration of an electronic device according to various embodiments of the present disclosure.
  • a messenger application may refer to, for example, an application that provides a service so that users can communicate while exchanging messages or various data in real time.
  • the chat room may mean, for example, a space in which a user can exchange messages or data with other users on a messenger application in real time, and may also be expressed as chatting or a chatting room.
  • the electronic device 100 may include a memory 110 , a communication unit (eg, a communication circuit) 120 , and a processor (eg, a processing circuit) 130 .
  • a memory 110 may include a volatile and non-volatile memory 110 .
  • a communication unit eg, a communication circuit
  • a processor eg, a processing circuit
  • FIG. 1 is an example that does not limit the embodiments of the present disclosure, and appropriate hardware and software configurations that are obvious to those skilled in the art may be additionally included in the electronic device 100 .
  • the memory 110 may store commands or data related to at least one other component of the electronic device 100 .
  • the memory 110 is accessed by the processor 130 , and reading/writing/modification/deletion/update of data by the processor 130 may be performed.
  • memory refers to a memory 110, a ROM (not shown) in the processor 130, a RAM (not shown), or a memory card (not shown) mounted in the electronic device 100 (eg, a micro SD card, a memory stick) may be included.
  • programs and data for configuring various screens to be displayed in the display area of the display may be stored in the memory 110 .
  • the memory 110 stores a first model (for example, an executable program command) that may be an artificial intelligence model that outputs characteristic information, first scores, and second scores of conversations conducted in each of a plurality of chat rooms. contains) 10 , a second model (eg, including executable program instructions) 20 , and a third model (eg, including executable program instructions) 30 .
  • a first model for example, an executable program command
  • an artificial intelligence model that outputs characteristic information, first scores, and second scores of conversations conducted in each of a plurality of chat rooms. contains) 10
  • a second model eg, including executable program instructions
  • a third model eg, including executable program instructions
  • the memory 110 may include a first model 10 , which may be an artificial intelligence model trained to output feature information of a conversation conducted in each of a plurality of chat rooms.
  • a first model 10 which may be an artificial intelligence model trained to output feature information of a conversation conducted in each of a plurality of chat rooms.
  • the first model 10 is a model trained to output characteristic information of each chat room.
  • the characteristic information of the conversation conducted in the chat room may include a third score indicating the formality of the conversation conducted in the chat room, a fourth score corresponding to the topic of the conversation conducted in the chat room, and a fifth score indicating the degree of activation of the chat room. there is.
  • the first model 10 is a formal classification model 10-1 trained to output a third score (see FIG. 3A), and a subject classification model 10-2 trained to output a fourth score (see FIG. 3A). reference) and an activation degree classification model 10-3 (refer to FIG. 3A ) trained to output a fifth score.
  • the fact that the first model 10 has been trained means, for example, the formal classification model 10-1, the topic classification model 10-2, and the activation degree classification model 10-3 included in the first model 10. This may mean that it has been learned.
  • An exemplary configuration and learning process of the first model 10 will be described in detail with reference to FIG. 3A .
  • the second model 20 is trained to output a first score indicating the degree of similarity between the first sentence input from the user and characteristic information of the conversation conducted in the chat room when the first sentence input from the user and characteristic information of the conversation progressed in the chat room, respectively. It may include artificial intelligence models.
  • the second model 20 is a feature extraction model 20-1 (refer to FIG. 4) for extracting the features of the input first sentence, and the similarity between the features of the first sentence and the features of conversations conducted in each of the plurality of chat rooms.
  • the output similarity extraction model 20-2 (refer to FIG. 4) may be included. An exemplary configuration and learning process of the second model 20 will be described in more detail below with reference to FIG. 4 .
  • the third model 30 is an artificial intelligence model trained to output a second score indicating the degree of relevance between the first sentence and the sentences input into the plurality of chat rooms when the first sentence and the sentences input into the plurality of chat rooms are input may include
  • the degree of relevance between the first sentence and the sentences input into the plurality of chat rooms is, for example, related to each other as the first sentence and the sentences input into the plurality of chat rooms contain a common word or have a relationship such as a question-and-answer relationship It can mean the probability that
  • the highest score for each chat room may be identified as a second score corresponding to each chat room.
  • a sentence corresponding to the subject of the first sentence may be input to the third model 30 from among a database in which the first sentence and sentences recently input for each chat room are classified by subject.
  • the database may refer to, for example, a database in which a preset number of sentences recently inputted for each chat room are extracted, and the extracted sentences are classified into a plurality of topics or start utterances without a topic. An embodiment related thereto will be described with reference to FIG. 5 .
  • the first model 10 , the second model 20 , and the third model 30 may be stored in the memory 110 , but this is only an example and each model can be stored in an external server that learns and manages.
  • the memory 110 may include a dialog system including an artificial intelligence model capable of recognizing a user's voice and outputting a response thereto.
  • the dialog system includes, for example, without limitation, an Auto Speech Recognition (ASR) module that outputs text corresponding to an input user's voice, a Natural Language Understanding (NLU) module that understands the meaning of text, and a TTS that converts text into speech.
  • a (Text to Speech) module may be included.
  • the conversation system may also be included in the memory 110, but may also be included in a separate external server.
  • the memory 110 may include a non-volatile memory capable of maintaining the stored information even if the power supply is interrupted, a volatile memory requiring continuous power supply in order to maintain the stored information.
  • FIG. 1 illustrates a case in which the volatile memory is implemented as a component separate from the processor 130 , this is only an exemplary embodiment and the volatile memory is included in the processor 130 as one component of the processor 130 . may be implemented.
  • the communication unit 120 includes a circuit and may communicate with an external device.
  • the communication connection of the communication unit 120 with the external device may include communicating through a third device (eg, a repeater, a hub, an access point, a server, or a gateway).
  • a third device eg, a repeater, a hub, an access point, a server, or a gateway.
  • the communication unit 120 may include various communication circuits included in various communication modules to communicate with an external device.
  • the communication unit 120 may include a wireless communication module, for example, 5G (5TH Generation), LTE, LTE-A (LTE Advance), CDMA (code division multiple access), WCDMA (wideband CDMA) It may include a cellular communication module using at least one of , , and the like.
  • the wireless communication module may include, for example, at least one of wireless fidelity (WiFi), Bluetooth, Bluetooth low energy (BLE), Zigbee, radio frequency (RF), or body area network (BAN).
  • WiFi wireless fidelity
  • BLE Bluetooth low energy
  • RF radio frequency
  • BAN body area network
  • the communication unit 120 may transmit the sentence input by the user to the server managing the messenger application.
  • the input of a sentence input from the user into a specific chat room may include a process in which the sentence input from the user is transmitted to a server managing a messenger application, and the server inputs the sentence transmitted to the specific chat room.
  • the communication unit 120 When the first model 10, the second model 20, and the third model 30 are stored in an external server, the communication unit 120 provides the first sentence to each model, characteristic information of a conversation conducted in each of the plurality of chat rooms, and At least one of the sentences input into the plurality of chat rooms may be transmitted to an external server in which each artificial intelligence model is stored. In addition, the communication unit 120 may receive from the external server at least one of characteristic information, a first score, and a second score of a conversation conducted in each of the plurality of chat rooms.
  • the processor 130 may be electrically connected to the memory 110 to include various processing circuits, and may control overall functions and operations of the electronic device 100 .
  • the processor 130 may load the first model 10 , the second model 20 , or the third model 30 from the non-volatile memory into the volatile memory. Loading may refer to, for example, an operation of loading and storing data stored in the nonvolatile memory into the volatile memory so that the processor 130 can access it.
  • the processor 130 may acquire characteristic information of a conversation conducted in each of the plurality of chat rooms by inputting sentences input to the plurality of chat rooms generated through the messenger application into the first model 10 .
  • the processor 130 classifies the formal level of a conversation conducted in each of the plurality of chat rooms through the formal classification model among the first model 10 , and based on the classified formal level, corresponds to each of the plurality of chat rooms.
  • a third score can be obtained.
  • the third score is a score indicating the formality of a conversation conducted in the chat room.
  • the third score may mean that, for example, a conversation conducted in a chat room is a conversation with a high formality level because honorific words and the like are included.
  • the learning process of the formal classification model will be described in more detail below with reference to FIG. 3A.
  • the processor 130 categorizes topics of a conversation conducted in each of the plurality of chat rooms into a plurality of categories through the topic classification model of the first model 10 , and the proportion of the plurality of categories classified in the conversations conducted in each chat room A fourth score corresponding to each of the plurality of chat rooms may be obtained based on the .
  • the fourth score may include a score including a weight associated with a plurality of subject categories and weights assigned to each category.
  • the topic classification model may classify the topic of the conversation into travel and politics categories. And, when the weight of travel and politics categories is 3:7 in the conversation conducted in the first chat room, the topic classification model may obtain a fourth score in which a weight of 3 is assigned to the travel category and a weight of 7 is assigned to the political category. .
  • the learning process of the topic classification model will be described in more detail below with reference to FIG. 3A.
  • the processor 130 may obtain a fifth score indicating the degree of activation of a conversation proceeding in each of the plurality of chat rooms through the activation degree classification model among the first models 10 .
  • the fifth score may include an activation index based on the frequency and timing of messages uploaded by participants to the chat room, and a participation index based on the frequency and timing at which the user transmits a message to the chat room.
  • a higher activation index among the fifth scores may mean, for example, that the conversation participation frequency of participants participating in the chat room is high. can mean that The learning process of the activation degree classification model will be described in more detail with reference to FIG. 3A .
  • the processor 130 may obtain the third score and the fourth score by using all the conversations conducted in the plurality of chat rooms through the first model 10 .
  • the processor 130 may classify the conversations conducted in the plurality of chat rooms through the first model 10 into a first conversation conducted for an entire time, a second conversation progressed for a preset time, and a third conversation input by the user.
  • the second conversation progressed for a preset time may mean, for example, a conversation progressed on the same day the first sentence is input or a conversation input for 1 hour before the first sentence is input.
  • the preset time may be variously changed by the user.
  • the processor 130 identifies a formal level and topic corresponding to each of the first conversation, the second conversation, and the third conversation, and based on the identified formal level and topic, a third score and a fourth score corresponding to each of the plurality of chat rooms score can be obtained.
  • a preset weight may be matched to each of the first conversation, the second conversation, and the third conversation.
  • the processor 130 may obtain a third score and a fourth score corresponding to each of the plurality of chat rooms by applying a preset weight to the score corresponding to the formal level and topic of each of the first conversation, the second conversation, and the third conversation.
  • the processor 130 When the first sentence is input from the user, the processor 130 inputs the first sentence and characteristic information of the conversations conducted in each of the plurality of chat rooms to the second model 20, so that the first sentence and the conversations conducted in each of the plurality of chat rooms A first score indicating a similarity between features may be obtained.
  • the processor 130 may obtain a score indicating the formality of the first sentence and a score corresponding to the subject through the feature extraction model among the second models 20 .
  • the processor 130 calculates the first similarity between the third score of each of the plurality of chat rooms and the score indicating the formality of the first sentence through the similarity extraction model of the second model 20, and a fourth score of each of the plurality of chat rooms and a score corresponding to the subject of the first sentence may be compared to calculate a second degree of similarity.
  • the processor 130 may obtain a first score indicating a degree of similarity between the first sentence and features of a conversation conducted in each of the plurality of chat rooms by summing the first and second similarities.
  • a high first score of the specific chat room may mean, for example, that the characteristics of the first sentence and the characteristics of the specific chat room are more similar.
  • the processor 130 may store, in the memory 110 , a database in which at least one sentence recently input for each chat room is classified by subject based on the degree of activation in the plurality of chat rooms.
  • the processor 130 may store in the memory 110 a database in which N (N is a natural number greater than or equal to 1) sentences among sentences recently input to the first chat room among the plurality of chat rooms are classified into a plurality of topics. there is.
  • the processor 130 may use the plurality of topic categories classified through the first model 10 when classifying the N sentences into a plurality of topics.
  • the processor 130 may limit the number of sentences stored for each subject in the database to X (where X is a natural number greater than or equal to 1). For example, when the number of sentences matching the travel category in the database exceeds X as the conversation proceeds in the first chat room, the processor 130 removes the oldest input sentence among the pre-stored sentences and enters a new one. sentences can be included in the travel category.
  • the database may include a no topic category that collects sentences that do not contain a specific topic.
  • the no topic category may include a sentence that is not included in the topic category classified on the database and cannot specify a topic (eg, a starting utterance for conducting a conversation on a new topic, etc.).
  • the processor 130 may determine the size of X based on the degree of activation of each chat room. As the degree of activation of the chat room increases, the processor 130 may determine the number of sentences to be matched and stored for each topic on the database corresponding to the chat room as a large value. In this case, the processor 130 may determine the size of X by using the fifth score indicating the activation degree of each chat room obtained through the activation degree classification model of the first model 10 .
  • the processor 130 inputs the sentence and the first sentence corresponding to the subject of the first sentence in the database into the third model 30, and the degree of relevance between the sentence corresponding to the subject of the first sentence in the database and the first sentence It is possible to obtain a score representing The degree of relevance may mean, for example, the probability that the first sentence and the sentence corresponding to the subject of the first sentence in the database are related sentences depending on whether they have a relationship such as a question-and-answer relationship or contain a common word. .
  • the processor 130 controls the first sentence and the sentences and articles included in the no topic category among the database.
  • One sentence may be input into the third model 30 .
  • the processor 130 may identify the first sentence as a sentence that is not included in the specific topic collected in the database.
  • the processor 130 inputs the first sentence and the sentence included in the no topic category among the database to the third model 30 to obtain a score indicating the degree of relevance between the first sentence and the sentence included in the no topic category among the database. can be obtained
  • the processor 130 identifies the highest score for each chat room among the scores indicating the degree of relevance between the first sentence and the sentence corresponding to the subject of the first sentence in the database, and assigns the highest score for each identified chat room to each of the plurality of chat rooms. It can be identified by the corresponding second score. An example related thereto will be described in more detail below with reference to FIG. 5 .
  • the processor 130 may obtain a summation score corresponding to each of the plurality of chat rooms by summing the first score, the second score, and a fifth score indicating the activation degree of each of the plurality of chat rooms. In addition, the processor 130 may identify the chat room having the highest sum score among the plurality of chat rooms as the chat room corresponding to the first sentence.
  • the processor 130 receives information from the user based on the degree of activation of each chat room, the similarity of formalities and topics between the conversation progressed in each chat room and the sentences inputted by the user, and the degree of relevance between the inputted sentences and the sentences inputted in the chatroom. It is possible to identify the chat room most suitable for the input first sentence.
  • the processor 130 may input the first sentence into the identified chat room.
  • the processor 130 may provide a message inquiring whether to input the first sentence into a chat room identified as corresponding to the first sentence.
  • the processor 130 may adjust a weight applied to each score to obtain a summed score based on the characteristic of the first sentence or the size of the score corresponding to each of the plurality of chat rooms. For example, the processor 130 may adjust the weight of the elements constituting the summed score according to the characteristic of the first sentence or the size of the score corresponding to each of the plurality of chat rooms.
  • the processor 130 applies a weight to the fourth score so that the weight of the fourth score among the sum scores of the plurality of chat rooms becomes smaller. can do. Since the classification of the topic for the first sentence input by the user is not an important factor in selecting a chat room suitable for the first sentence, the weight of the fourth score among the summation scores can be reduced.
  • the processor 130 may apply a weight to the third score so that the weight of the third score among the summed scores increases.
  • the processor 130 When a second sentence is input from the user in the first chat room selected by the user from among the plurality of chat rooms, the processor 130 obtains a first score and a second score corresponding to each of the plurality of chat rooms based on the input second sentence can do. As described above, the processor 130 may obtain a first score and a second score corresponding to each of the plurality of chat rooms based on the second sentence by using the first model, the second model, and the third model. there is.
  • the processor 130 may obtain a summation score corresponding to each of the plurality of chat rooms based on the first and second scores obtained based on the second sentence and the activation degree of each of the plurality of chat rooms. If there is a second chat room having a higher sum score than the sum score corresponding to the first chat room among the plurality of chat rooms, the processor 130 may provide a message inquiring whether to transmit the second sentence to the second chat room.
  • the processor 130 transmits the second sentence to the chat room more suitable than the first chat room. can provide Accordingly, the user can identify whether a message has been entered into the chat room that the user has selected incorrectly.
  • the processor 130 may include one or a plurality of processors.
  • One or more processors include a general-purpose processor such as a central processing unit (CPU), an application processor (AP), a digital signal processor (DSP), etc., a graphics-only processor such as a graphic processing unit (GPU), a vision processing unit (VPU), or an NPU.
  • a general-purpose processor such as a central processing unit (CPU), an application processor (AP), a digital signal processor (DSP), etc.
  • a graphics-only processor such as a graphic processing unit (GPU), a vision processing unit (VPU), or an NPU.
  • GPU graphic processing unit
  • VPU vision processing unit
  • NPU NPU
  • One or more processors 130 control to process input data according to a predefined operation rule or artificial intelligence model stored in the memory 110 .
  • the AI-only processor may be designed with a hardware structure specialized for processing a specific AI model.
  • a 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.
  • the artificial intelligence model includes a plurality of artificial neural networks, and the artificial neural network may include a plurality of 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 the operation result of a previous layer and the 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.
  • artificial neural networks include Convolutional Neural Network (CNN), Deep Neural Network (DNN), Recurrent Neural Network (RNN), Restricted Boltzmann Machine (RBM), Deep Belief Network (DBN), Bidirectional Recurrent Deep Neural Network (BRDNN) and Deep Q-Networks, and the like, and the artificial neural network in the present disclosure is not limited to the above-described example, except as otherwise specified.
  • FIG. 2 is a flowchart illustrating an exemplary control method of the electronic device 100 according to various embodiments of the present disclosure.
  • the electronic device 100 may obtain characteristic information of a conversation conducted in each of the plurality of chat rooms by inputting sentences input into the first model in the plurality of chat rooms generated through the messenger application ( S210 ).
  • the electronic device 100 inputs sentences inputted in the plurality of chat rooms into the first model, and a third score indicating the formality of a conversation conducted in each of the plurality of chat rooms, It is possible to obtain feature information including a fourth score corresponding to the subject and a fifth score indicating the degree of activation of each of the plurality of chat rooms.
  • a related embodiment will be described in more detail below with reference to FIGS. 3A and 3B.
  • the electronic device 100 When a first sentence is input by the user, the electronic device 100 inputs the first sentence and feature information of each of the plurality of chat rooms to the second model to indicate the degree of similarity between the first sentence and the features of the conversations conducted in each of the plurality of chat rooms.
  • a first score may be obtained (S220).
  • the electronic device 100 may extract a feature of the first sentence through the second model and obtain a first score indicating a degree of similarity between the extracted feature of the first character and the feature of a plurality of chat rooms. An embodiment related thereto will be described in detail with reference to FIG. 4 .
  • the electronic device 100 may obtain a second score indicating a degree of relevance between the first sentence and the sentences input into the plurality of chat rooms by inputting the first sentence and the sentences input into the plurality of chat rooms into the third model ( S230).
  • the electronic device 100 may include a common word in at least one of the first sentence and the sentences input to the plurality of chat rooms through the third model, or have a relationship such as a question-and-answer relationship between the two. , etc., may obtain a second score indicating a probability that the sentences are related to each other.
  • the electronic device 100 may input all sentences inputted into the plurality of chat rooms into the third model, but corresponding to the topic of the first sentence from among a database in which sentences recently input for each chat room are classified by topic. Sentences may also be input into the third model. An embodiment related thereto will be described in detail with reference to FIG. 5 .
  • the electronic device 100 may identify a chat room corresponding to the first sentence from among a plurality of chat rooms based on the feature information, the first score, and the second score ( S240 ). For example, the electronic device 100 adds a first score, a second score, and a fifth score indicating an activation degree of each of the plurality of chat rooms among the characteristic information corresponding to each of the plurality of chat rooms to correspond to each of the plurality of chat rooms. You can get a combined score. For example, the electronic device 100 may identify a chat room having the highest sum score among a plurality of chat rooms as a chat room corresponding to the first sentence.
  • the electronic device 100 may input the first sentence into a chat room corresponding to the identified first sentence (S250). Before inputting the first sentence into the chat room corresponding to the first sentence, the electronic device 100 may provide the user with a message indicating that the first sentence is input into the chat room corresponding to the first sentence. After receiving confirmation from the user, the electronic device 100 may input the first sentence into a chat room corresponding to the identified first sentence.
  • 3A is a diagram for describing an exemplary process in which the electronic device 100 acquires feature information of each of a plurality of chat rooms through the first model 10, according to various embodiments of the present disclosure.
  • the formal classification model 10-1, the topic classification model 10-2, and the activation degree classification model 10-3 are a component of the first model 10 ( 10), but this is only an example, and each model 10-1, 10-2, 10-3 may be implemented as a separate model.
  • the electronic device 100 inputs the sentences input to the plurality of chat rooms 40-1, 40-2 ... 40-N into the first model 10 to obtain characteristic information 50 of the conversations conducted in each of the plurality of chat rooms. can be obtained
  • the electronic device 100 inputs sentences input to the plurality of chat rooms 40-1, 40-2 ... 40-N into the formal classification model 10-1 among the first model 10, A third score indicating the formality of a conversation conducted in each chat room may be obtained.
  • the third score of the specific chat room is higher, it may mean that, for example, a conversation conducted in the specific chat room is a conversation having a high formality level.
  • the formal classification model 10-1 includes formal language training data (eg, news scripts, columns, speeches, etc.) and relatively informal language training data. It may include a model trained based on (eg, movie subtitles, community crawling data, etc.).
  • the learned formal classification model 10 - 1 may classify the formal level of the sentence input into the chat room, and may output a third score corresponding to the classified formal level.
  • the formal classification model 10-1 is A sentence input to the first chat room 40 - 1 may be classified into a low formal level, and a third score (eg, 1) corresponding to the classified formal level may be output.
  • the formal classification model 10-1 is inputted into the second chat room 40-2.
  • the sentence may be classified into a high formal level, and a third score (eg, 9) corresponding to the classified formal level may be output.
  • the electronic device 100 inputs sentences input to the plurality of chat rooms 40-1, 40-2 ... 40-N into the topic classification model 10-2 of the first model 10, A fourth score corresponding to the topic of the conversation conducted in each chat room may be obtained.
  • the topic classification model 10-2 classifies the topic of the sentence input into the chat room into a plurality of categories based on language learning data including various topics, and each of the plurality of chat rooms based on the weight of the plurality of categories on the entire sentence of the chat room It may be learned to output a fourth score corresponding to .
  • the fourth score may be a value including a plurality of topic categories and weights assigned according to weights of the topic categories.
  • the topic classification model 10-2 classifies sentences input to the first chat room 40-1 into travel, daily life, politics, etc., and the first chat room 40- A fourth score (eg, Travel:9, Daily Life: 7, Politics: 1, etc.) including a score indicating the weight of the topic category classified on the conversation among the entire sentences input in 1) may be obtained.
  • a fourth score eg, Travel:9, Daily Life: 7, Politics: 1, etc.
  • the topic classification model 10-2 classifies the sentences input to the second chat room 40-2 into travel, daily life, politics, etc., and includes a score indicating the weight of the classified topic category in the entire conversation
  • a fourth score eg, Travel: 0, Daily: 1, Politics: 7, etc.
  • the electronic device 100 inputs sentences input to the plurality of chat rooms 40 - 1 , 40 - 2 ... 40 -N to the activation degree classification model 10 - 3 of the first model 10 .
  • a fifth score indicating the degree of activation of each chat room can be obtained.
  • the fifth score may include an activation index indicating a frequency of uploading messages by participants in the chat room and a participation index indicating a frequency at which a user transmits a message to the chat room.
  • a high activation index may mean, for example, that participants in a chat room are more active in conversation, and a high engagement index means that, for example, users are more actively entering messages into a specific chat room. can mean
  • the activation degree classification model 10-3 may be trained to output a fifth score including an activation index and a participation index for each chat room based on a sentence input for each chat room and a time point at which the sentence is input.
  • Sentences input to each of a plurality of chat rooms input by the electronic device 100 to the first model 10 may be matched with information on a time point at which the sentences are input. Accordingly, the electronic device 100 obtains a fifth score of each chat room by inputting sentences input to each of the plurality of chat rooms matched with the input time point into the activation degree classification model 10 - 3 of the first model 10 . can do.
  • FIG. 3B is a diagram for describing an exemplary process in which the electronic device 100 obtains characteristic information of each chat room by classifying a conversation conducted in a plurality of chat rooms, according to various embodiments of the present disclosure.
  • the electronic device 100 records the conversations conducted in the plurality of chat rooms through the first model 10 , a first conversation conducted for the entire time, a second conversation conducted for a preset time, and a user input It can be classified as a third dialogue.
  • the electronic device 100 identifies a formal level and topic corresponding to each of the first conversation, the second conversation, and the third conversation through the first model 10 , and sets the score corresponding to the identified formal level and topic.
  • the included feature information 50 - 1 may be acquired.
  • the electronic device 100 applies a weight 50-2 corresponding to each of the first conversation, the second conversation, and the third conversation to the obtained characteristic information 50-1 to obtain the third conversation corresponding to each of the plurality of chat rooms. score and the fourth score may be obtained.
  • the formality-related feature appearing in the sentence input by the user may be more important than the formality-related feature of the entire conversation proceeding in the chat room.
  • the weight corresponding to the first conversation may be 0.2
  • the weight corresponding to the second conversation may be 0.2
  • the weight corresponding to the third conversation may be 0.6.
  • the electronic device 100 applies a score (first conversation: 2, second conversation: 1, third conversation: 5) corresponding to the formal level among the acquired feature information 50-1 and weights of each conversation to obtain a second
  • the topic of a conversation conducted for a preset time in the chat room may be the most important. Accordingly, in relation to the topic, the weight corresponding to the first conversation may be 0.2, the weight corresponding to the second conversation may be 0.6, and the weight corresponding to the third conversation may be 0.2.
  • the electronic device 100 may obtain a fourth score of the first chat room by applying a score corresponding to a topic among the acquired feature information 50 - 1 and a weight of each conversation.
  • FIG. 4 is a diagram for describing an exemplary process in which the electronic device 100 obtains a first score of each of a plurality of chat rooms through the second model 20, according to various embodiments of the present disclosure.
  • the feature extraction model 20 - 1 and the similarity extraction model 20 - 2 may be implemented in a form included in the second model 20 as one component of the second model 20 .
  • the electronic device 100 uses the first sentence input from the user (eg, “I am late for work so I can’t meet you today”) 60 and the characteristic information 70 of the conversation conducted in each of the plurality of chat rooms as the second model.
  • the first score 90 can be obtained by inputting to (20).
  • the electronic device 100 may obtain the characteristic information 80 of the first sentence by inputting the first sentence 60 into the feature extraction model 20 - 1 of the second model 20 .
  • the feature extraction model 20-1 outputs a score corresponding to the formal level of the input sentence, classifies the subject of the input sentence, and is trained to output a score indicating the weight of the classified subject in the first sentence.
  • intelligence model That is, the feature extraction model 20-1 may be implemented as a model that performs an operation performed by the first model 10 with respect to one sentence input from the user.
  • the electronic device 100 may obtain the first score 90 by inputting the feature 80 of the first sentence and the feature information 70 of the conversation conducted in each of the plurality of chat rooms into the similarity extraction model 20-2. there is.
  • the similarity extraction model 20-2 refers to a model that outputs the similarity between the feature 80 of the first sentence and the feature information 70 of a conversation conducted in each of a plurality of chat rooms.
  • the feature 80 of the first sentence and the feature information 80 of a plurality of chat rooms may be implemented in a vector form.
  • the similarity extraction model 20-2 applies a predetermined weight to the distance difference between the feature 80 of the first sentence implemented as a vector and the feature information 80 of a plurality of chat rooms to apply a first weight indicating the similarity.
  • a score 90 can be output.
  • the similarity extraction model 20-2 compares the third score of the first chat room among the feature information 70 and the score corresponding to the formal level among the features 80 of the first sentence to obtain a first score 90 ), it is possible to obtain a score indicating the degree of formal similarity between the first sentence 60 and the conversation conducted in the first chat room.
  • the similarity extraction model 20-2 compares the fourth score of the first chat room among the feature information 70 and the score corresponding to the topic among the features 80 of the first sentence to obtain the first sentence of the first score 90. (60) and a score indicating the degree of topic similarity of the conversation conducted in the first chat room may be obtained.
  • the highest degree of formal similarity and subject similarity of the third chat room among the first scores 90 of each of the plurality of chat rooms indicates, for example, that the formality and subject song of the third chat room are the first sentences 60 ) may mean that it is most similar to the formality and subject of
  • FIG. 5 is a diagram for describing an exemplary process in which the electronic device 100 obtains a second score of each of a plurality of chat rooms through the third model 30, according to various embodiments of the present disclosure.
  • the electronic device 100 inputs the first sentence and the sentences input into the plurality of chat rooms into the third model 30 to obtain a second score indicating the degree of relevance between the first sentence and the sentences input into the plurality of chat rooms can do.
  • the electronic device 100 may input all sentences input into the plurality of chat rooms into the third model 30 , but this is only an exemplary embodiment and as illustrated in FIG. 5 , the electronic device 100 includes a plurality of The second score of the plurality of chat rooms is obtained by inputting the sentence 95 corresponding to the subject of the first sentence 60 to the third model 30 from among the database in which the recently input sentences are classified by subject for each chat room of can do.
  • the electronic device 100 may store a database in which at least one sentence recently input for each chat room is classified by subject based on the activation degree of each of the plurality of chat rooms.
  • the database may include data obtained by classifying N sentences from among sentences recently input to each of the plurality of chat rooms into a plurality of topics.
  • the database may contain X sentences for each subject.
  • the database may include a no topic category in which sentences not related to a preset topic are collected.
  • the electronic device 100 identifies a sentence 95 corresponding to the subject of the first sentence in the database, and inputs the identified sentence 95 and the first sentence 60 into the third model 30 to obtain the first A score indicating the degree of relevance between the sentence 95 corresponding to the subject of the sentence and the first sentence 60 may be obtained.
  • the third model may output a score indicating a high degree of relevance.
  • the electronic device 100 may identify the highest score for each chat room among scores indicating the degree of relevance between the first sentence 60 and the sentence corresponding to the acquired subject of the first sentence. In addition, the electronic device 100 may identify the highest score for each identified chat room as a second score corresponding to each of the plurality of chat rooms.
  • the electronic device 100 includes a sentence and a first sentence 60 included in each of the first chat room and the second chat room among sentences corresponding to the subject of the first sentence 60 .
  • Scores 500-1 and 500-2 indicating the degree of interrelationship may be obtained.
  • the electronic device 100 displays the first sentence corresponding to the first chat room.
  • a score of 2 can be identified as 0.98.
  • the sentence 'Are there any problems with the final completion?' has the highest degree of relevance to the first sentence 60 (0.52), so that the electronic device 100 responds to the second chat room.
  • the second score to be obtained can be identified as 0.52.
  • FIG. 6 is a diagram for describing an exemplary process in which the electronic device 100 selects a chat room suitable for an input text, according to various embodiments of the present disclosure.
  • the electronic device 100 is implemented as a smart phone in FIG. 6 , this is only an exemplary embodiment, and the electronic device 100 is implemented as at least one of a tablet PC, a desktop PC, a laptop PC, a netbook computer, an AI speaker, or a wearable device. may be, but is not limited thereto.
  • the electronic device 100 may display an execution screen of a messenger application.
  • each chat room list and a message most recently input in the chat room may be included.
  • the messenger application execution screen is merely an example and may be implemented in various ways according to user settings or settings of a server that provides application services.
  • a message input window 610 for inputting a message into at least one chat room among all chat rooms may be included on the messenger application execution screen. That is, the message input window 610 may mean, for example, not an input window included in a specific chat room, but an input window in which a message can be inputted into the entire chat room or a message can be inputted into one chat room among all chat rooms. there is.
  • the electronic device 100 uses the first model, the second model, and the third model based on the first sentence input into the message input window 610 to obtain a first score, a second score, and a fifth score corresponding to each chat room. score can be obtained. In addition, the electronic device 100 may acquire the summed score for each chat room by summing the first score, the second score, and the fifth score.
  • the electronic device 100 may identify the chat room having the largest size of the sum score as the chat room corresponding to the first sentence. For example, as shown in (a) of FIG. 6 , the sum score of the 'university alumni meeting' chat room among the plurality of chat rooms may be the largest value.
  • the electronic device 100 may identify the 'university alumni meeting' as a chat room corresponding to the first sentence, and input the first sentence into the 'university alumni meeting'.
  • the electronic device 100 sends a message ( 620) can be provided.
  • a chat room eg, university alumni meeting chat room
  • the electronic device 100 sends the message to the university alumni meeting chat room. You can enter 1 sentence.
  • the electronic device 100 may be implemented as an AI speaker.
  • the electronic device 100 implemented as an AI speaker may store data related to a user account in a messenger application (eg, a list of chat rooms in which the user is included on the messenger application, sentences input in each chat room, etc.).
  • the electronic device 100 may obtain a text corresponding to the user's voice by inputting the user's voice into the chat system.
  • the electronic device 100 may obtain a first score, a second score, and a fifth score corresponding to each chat room by using the first model, the second model, and the third model based on the obtained text.
  • the electronic device 100 may acquire the summed score for each chat room by summing the first score, the second score, and the fifth score.
  • the electronic device 100 may identify the chat room having the largest size of the sum score as the chat room corresponding to the obtained text.
  • the electronic device 100 may input the acquired text into the identified chat room.
  • the electronic device 100 may output a message inquiring whether to input the acquired text into the identified chat room in the form of a voice.
  • the electronic device 100 may input the acquired text into the identified chat room.
  • FIG. 7 is a flowchart for describing an exemplary process of identifying whether a sentence input into a chat room matches the characteristics of the chat room by the electronic device 100, according to various embodiments of the present disclosure.
  • FIG. 8 shows an embodiment of the process described in the flowchart of FIG. 7 , and the implementation example shown in FIG. 8 will be described together while explaining each step of the flowchart of FIG. 7 .
  • the electronic device 100 may receive a selection of a first chat room from the user among a plurality of chat rooms ( S710 ). For example, the electronic device 100 may receive a user command for selecting a 'Company AI Lab' chat room from among the plurality of chat rooms shown in FIG. 6A .
  • the electronic device 100 may obtain a first score and a second score corresponding to each of the plurality of chat rooms based on the second sentence ( S720 ). For example, the electronic device 100 may obtain a first score and a second score corresponding to each of the plurality of chat rooms based on the second sentence by using the first model, the second model, and the third model. Since the process of obtaining the first score and the second score through each model has been described above, a redundant description will be omitted.
  • the electronic device 100 may acquire a first score and a second score corresponding to each of the plurality of chat rooms based on the second sentence.
  • the electronic device 100 may obtain a summation score corresponding to each of the plurality of chat rooms based on the first and second scores obtained based on the second sentence and the activation degree of each of the plurality of chat rooms ( S730 ).
  • the summed score is, for example, a first score indicating a degree of similarity between a score corresponding to the formal level and subject of each of the plurality of chat rooms and a score corresponding to the formal level and subject of the second sentence, the sentence and the second input to the plurality of chat rooms.
  • the second score indicating the degree of relevance between the two sentences and the fifth score indicating the activation index of each of the plurality of chat rooms may mean a sum of scores.
  • the electronic device 100 sends a message asking whether to transmit the second sentence to the second chat room.
  • the electronic device 100 transmits the second sentence to the university alumni meeting chat room.
  • a message 820 inquiring whether to input may be provided.
  • the electronic device 100 may input the second sentence input into the input window 810 according to a user's command corresponding to the message 820 into a company AI research institute chat room or a university alumni meeting chat room.
  • the electronic device 100 includes a memory 110 , a communication unit (eg, including a communication circuit) 120 , a processor (eg, including a processing circuit) 130 , a display 140 , and a speaker 150 . , a microphone 160 and an input unit (eg, including an input circuit) 170 may be included. Since the memory 110 , the communication unit, and the processor 130 have been described in detail with reference to FIG. 1 , redundant descriptions will be omitted.
  • the display 140 may display various information under the control of the processor 130 .
  • the display 140 may display an execution screen of the messenger application and a sentence input by the user.
  • An input window for displaying a sentence input by the user may be included on the execution screen of the messenger application.
  • the display 140 may display a message indicating that a sentence input to the user is inputted into one of a plurality of chat rooms or a message indicating that the input sentence is not suitable for the chat room selected by the user and is more suitable for another chat room. .
  • the display 140 may display an indicator indicating that the input sentence is not suitable for the chat room selected by the user.
  • the display 140 may be implemented as a touch screen together with a touch panel, or may be implemented as a flexible display.
  • the speaker 150 is configured to output not only various audio data on which various processing tasks such as decoding, amplification, and noise filtering have been performed by the audio processing unit, but also various notification sounds or voice messages.
  • the speaker 150 may output a message indicating that a sentence input to the user is inputted into one of a plurality of chat rooms or a message indicating that the input sentence is not suitable for the chat room selected by the user and is more suitable for another chat room.
  • the speaker 150 may output a notification sound indicating that the input sentence is not suitable for the chat room selected by the user.
  • the microphone 160 is configured to receive a voice input from a user.
  • the microphone 160 may be provided inside the electronic device 100 , but may be provided outside and electrically connected to the electronic device 100 . Also, when the microphone 160 is provided outside, the microphone 160 may transmit a user voice signal generated through a wired/wireless interface (eg, Wi-Fi, Bluetooth) to the processor 130 .
  • a wired/wireless interface eg, Wi-Fi, Bluetooth
  • the microphone 160 may receive a user's voice for inputting a specific message into the chat room.
  • the user's voice may include a wake-up word (or trigger word) capable of activating the dialogue system.
  • the input unit 170 includes a circuit and may receive a user input for controlling the electronic device 100 .
  • the input unit 170 may include a touch panel for receiving a user touch input using a user's hand or a stylus pen, a button for receiving a user manipulation, and the like.
  • the input unit 170 may be implemented as another input device (eg, a keyboard, a mouse, a motion input unit, etc.). Meanwhile, the input unit 170 may receive a sentence from the user to input a message into the chat room.
  • expressions such as “have,” “may have,” “include,” or “may include” indicate the presence of a corresponding characteristic (eg, a numerical value, function, operation, or component such as a part). and does not exclude the presence of additional features.
  • expressions such as “A or B,” “at least one of A and/and B,” or “one or more of A or/and B” may include all possible combinations of the items listed together.
  • “A or B,” “at least one of A and B,” or “at least one of A or B” means (1) includes at least one A, (2) includes at least one B; Or (3) it may refer to all cases including both at least one A and at least one B.
  • a component eg, a first component is "coupled with/to (operatively or communicatively)" to another component (eg, a second component);
  • another component eg, a second component
  • the certain element may be directly connected to the other element or may be connected through another element (eg, a third element).
  • a component eg, a first component
  • another component eg, a second component
  • a device configured to may mean that the device is “capable of” with other devices or parts.
  • a coprocessor configured (or configured to perform) A, B, and C may refer to a dedicated processor (eg, an embedded processor), or one or more software programs stored on a memory device, to perform the corresponding operations. By doing so, it may refer to a generic-purpose processor (eg, a CPU or an application processor) capable of performing corresponding operations.
  • Various embodiments of the present disclosure may be implemented as software including instructions stored in a machine-readable storage media readable by a machine (eg, a computer).
  • a machine eg, a computer
  • it may include the server cloud according to the disclosed embodiments.
  • the processor directly or under the control of the processor executes other components.
  • a function corresponding to the command can be performed using the )
  • the 'non-transitory storage medium' does not contain a signal and means that it is tangible and does not distinguish that data is semi-permanently or temporarily stored in the storage medium.
  • the 'non-transitory storage medium' may include a buffer in which data is temporarily stored.
  • the method according to various embodiments disclosed in the present disclosure may be provided by being included in a computer program product.
  • Computer program products may be traded between sellers and buyers as commodities.
  • the computer program product may be distributed in the form of a machine-readable storage medium (eg, compact disc read only memory (CD-ROM)) or online through an application store (eg, Play StoreTM).
  • an application store eg, Play StoreTM
  • at least a portion of a computer program product eg, a downloadable app
  • a storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server, or is temporarily stored can be created with
  • Each of the components may be composed of a singular or a plurality of entities, and some sub-components of the aforementioned sub-components may be omitted, or other sub-components may be various. It may be further included in the embodiment.
  • some components eg, a module or a program
  • operations performed by a module, program, or other component may be sequentially, parallel, repetitively or heuristically executed, or at least some operations may be executed in a different order, omitted, or other operations may be added.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Artificial Intelligence (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Operations Research (AREA)

Abstract

전자 장치 및 이의 제어 방법에 대해 개시한다. 전자 장치는 메모리 및 메신저 어플리케이션을 통해 생성된 복수의 대화방 상에 입력된 문장을 제1 모델에 입력하여 복수의 대화방 각각에서 진행된 대화의 특징 정보를 획득하고, 제1 문장이 입력되면, 제1 문장 및 특징 정보를 제2 모델에 입력하여 제1 문장 및 복수의 대화방 각각에서 진행된 대화의 특징 간의 유사도를 나타내는 제1 스코어를 획득하고, 제1 문장 및 복수의 대화방 상에 입력된 문장을 제3 모델에 입력하여 제1 문장과 복수의 대화방 상에 입력된 문장 간의 관련도를 나타내는 제2 스코어를 획득하고, 특징 정보, 제1 스코어 및 제2 스코어에 기초하여 복수의 대화방 중 제1 문장에 대응되는 대화방으로 식별하고, 제1 문장을 식별된 대화방에 입력하는 프로세서를 포함할 수 있다.

Description

전자 장치 및 이의 제어 방법
본 개시는 전자 장치 및 이의 제어 방법에 관한 것으로서, 예를 들어, 메신저 어플리케이션을 통해 생성된 대화방의 컨텍스트(context)에 기초하여 사용자로부터 입력된 문장을 관리하는 장치 및 이의 제어 방법에 관한 것이다.
CROSS-REFERENCE TO RELATED APPLICATIONS
본 출원은 2020년 9월 21일에 출원된 대한민국 특허출원 제 10-2020-0175222 호에 기초하여 우선권을 주장하며, 해당 출원의 모든 내용은 그 전체가 본 출원에 레퍼런스로 포함된다.
통신 기술이 발전됨에 따라 사용자 간에 각종 데이터 또는 대화를 실시간으로 주고받을 수 있는 서비스를 제공하는 메신저 어플리케이션의 종류 및 기능이 다양하게 개발되고 있다. 메신저 어플리케이션 상에서는 복수의 사용자를 구성원으로 하는 대화방이 생성될 수 있으며, 사용자들은 생성된 대화방 상에서 실시간으로 자유롭게 메시지를 주고받을 수 있다.
개발된 다양한 종류의 메신저 어플리케이션 및 기능을 이용하여, 사용자는 다양한 그룹(예를 들어, 친구, 회사 동료 또는 상사 등)에 대응되는 대화방을 생성하고, 생성된 대화방 속에서 각종 그룹의 구성원들과 대화를 진행하고 있다.
다만, 기존의 메신저 어플리케이션의 경우, 사용자가 특정 대화방을 다른 대화방으로 착각하고 메시지를 입력하는 경우 곤란한 상황이 발생할 수 있다는 문제점이 존재하였다.
본 개시의 실시 예들은 상술한 필요성을 다루고, 메신저 어플리케이션 상에서 생성된 대화방의 상대적 특징에 기초하여 사용자가 입력한 문장에 가장 적합한 대화방을 선택하는 전자 장치 및 이의 제어 방법을 제공한다.
본 개시의 일 실시예에 따른, 전자 장치는 메모리 및 메신저 어플리케이션을 통해 생성된 복수의 대화방 상에 입력된 문장을 제1 모델에 입력하여 상기 복수의 대화방 각각에서 진행된 대화의 특징 정보를 획득하고, 사용자로부터 제1 문장이 입력되면, 상기 제1 문장 및 상기 특징 정보를 제2 모델에 입력하여 상기 제1 문장 및 상기 복수의 대화방 각각에서 진행된 대화의 특징 간의 유사도를 나타내는 제1 스코어를 획득하고, 상기 제1 문장 및 상기 복수의 대화방 상에 입력된 문장을 제3 모델에 입력하여 상기 제1 문장과 상기 복수의 대화방 상에 입력된 문장 간의 관련도를 나타내는 제2 스코어를 획득하고, 상기 특징 정보, 상기 제1 스코어 및 상기 제2 스코어에 기초하여 상기 복수의 대화방 중 상기 제1 문장에 대응되는 대화방으로 식별하고, 상기 제1 문장을 상기 식별된 대화방에 입력하는 프로세서를 포함할 수 있다.
본 개시의 일 실시예에 따른, 전자 장치의 제어 방법은 메신저 어플리케이션을 통해 생성된 복수의 대화방 상에 입력된 문장을 제1 모델에 입력하여 상기 복수의 대화방 각각에서 진행된 대화의 특징 정보를 획득하는 단계, 사용자로부터 제1 문장이 입력되면, 상기 제1 문장 및 상기 특징 정보를 제2 모델에 입력하여 상기 제1 문장 및 상기 복수의 대화방 각각에서 진행된 대화의 특징 간의 유사도를 나타내는 제1 스코어를 획득하는 단계, 상기 제1 문장 및 상기 복수의 대화방 상에 입력된 문장을 제3 모델에 입력하여 상기 제1 문장과 상기 복수의 대화방 상에 입력된 문장 간의 관련도를 나타내는 제2 스코어를 획득하는 단계, 상기 특징 정보, 상기 제1 스코어 및 상기 제2 스코어에 기초하여 상기 복수의 대화방 중 상기 제1 문장에 대응되는 대화방으로 식별하는 단계 및 상기 제1 문장을 상기 식별된 대화방에 입력하는 단계를 포함할 수 있다.
상술한 바와 같이 본 개시의 다양한 실시예에 의해, 전자 장치는 대화방의 특징을 분석하여 입력된 사용자 문장에 적합한 대화방을 식별함으로써, 사용자는 메신저 어플리케이션을 보다 효율적이고 편리하게 이용할 수 있다.
본 개시의 특정 실시 예의 상기 측면 및 다른 측면, 첨부된 도면과 함께 다음의 상세한 설명으로부터 명백해질 것이다.
도 1은 본 개시의 다양한 실시예에 따른, 전자 장치의 예시적인 구성을 도시한 블록도이다.
도 2는 본 개시의 다양한 실시예에 따른, 전자 장치의 예시적인 제어 방법을 설명하기 위한 순서도이다.
도 3a는 본 개시의 다양한 실시예에 따른, 전자 장치가 제1 모델을 통해 복수의 대화방 각각의 특징 정보를 획득하는 예시적인 과정을 설명하기 위한 도면이다.
도 3b는 본 개시의 다양한 실시예에 따른, 전자 장치가 복수의 대화방에 진행된 대화를 분류하여 대화방 각각의 특징 정보를 획득하는 예시적인 과정을 설명하기 위한 도면이다.
도 4는 본 개시의 다양한 실시예에 따른, 전자 장치가 제2 모델을 통해 복수의 대화방 각각의 제1 스코어를 획득하는 예시적인 과정을 설명하기 위한 도면이다.
도 5는 본 개시의 다양한 실시예에 따른, 전자 장치가 제3 모델을 통해 복수의 대화방 각각의 제2 스코어를 획득하는 예시적인 과정을 설명하기 위한 도면이다.
도 6은 본 개시의 다양한 실시예에 따른, 전자 장치가 입력된 문자에 적합한 대화방을 선택하는 예시적인 과정을 설명하기 위한 도면이다.
도 7은 본 개시의 다양한 실시예에 따른, 전자 장치가 대화방 상에 입력된 문장이 대화방의 특징과 매칭되는지 여부를 식별하는 예시적인 과정을 설명하기 위한 순서도이다.
도 8은 본 개시의 다양한 실시예에 따른, 전자 장치가 대화방 상에 입력된 문장이 대화방의 특징과 매칭되는지 여부에 기초하여 사용자에게 메시지를 제공하는 예시적인 과정을 설명하기 위한 도면이다.
도 9는 본 개시의 다양한 실시예에 따른, 전자 장치의 예시적인 구성을 상세히 도시한 블록도이다.
본 개시를 설명함에 있어서, 메신저 어플리케이션은 예를 들어, 사용자들이 메시지 또는 각종 데이터를 실시간으로 교환하면서 커뮤니케이션을 수행할 수 있도록 서비스를 제공하는 어플리케이션을 의미할 수 있다. 대화방은 예를 들어, 사용자가 메신저 어플리케이션 상에서 다른 사용자와 메시지 또는 데이터를 실시간으로 교환할 수 있는 공간을 의미할 수 있으며, 채팅(chatting) 또는 채팅 방(chatting room)으로도 표현될 수 있다.
이하에서는 도면을 참조하여 본 개시의 다양한 실시예에 대해 설명하기도 한다.
도 1은 본 개시의 다양한 실시예에 따른, 전자 장치(100)의 예시적인 구성을 설명하기 위한 블록도이다. 도 1에 도시된 바와 같이, 전자 장치(100)는 메모리(110), 통신부(예를 들어, 통신 회로)(120) 및 프로세서(예를 들어, 프로세싱 회로)(130)를 포함할 수 있다. 다만, 도 1에 도시된 구성은 본 개시의 실시 예들을 제한하지 않는 예시이며, 통상의 기술자에게 자명한 수준의 적절한 하드웨어 및 소프트웨어 구성들이 전자 장치(100)에 추가로 포함될 수 있다.
메모리(110)는 전자 장치(100)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 메모리(110)는 프로세서(130)에 의해 액세스되며, 프로세서(130)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
메모리라는 용어는 메모리(110), 프로세서(130) 내 롬(미도시), 램(미도시) 또는 전자 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다. 또한, 메모리(110)에는 디스플레이의 디스플레이 영역에 표시될 각종 화면을 구성하기 위한 프로그램 및 데이터 등이 저장될 수 있다.
메모리(110)는 복수의 대화방 각각에서 진행된 대화의 특징 정보, 제1 스코어 및 제2 스코어 각각을 출력하는 인공 지능 모델(Artificial Intelligence Model)일 수 있는 제1 모델(예를 들어 실행 가능한 프로그램 명령어를 포함)(10), 제2 모델(예를 들어 실행 가능한 프로그램 명령어를 포함)(20) 및 제3 모델(예를 들어 실행 가능한 프로그램 명령어를 포함)(30)을 저장할 수 있다.
메모리(110)는 복수의 대화방 각각에서 진행되는 대화의 특징 정보를 출력하도록 학습된 인공지능 모델일 수 있는 제1 모델(10)을 포함할 수 있다. 예를 들어, 복수의 대화방 각각에 입력된 문장이 입력되면, 제1 모델(10)은 각 대화방의 특징 정보를 출력하도록 학습된 모델이다. 대화방에서 진행된 대화의 특징 정보는 대화방에서 진행된 대화의 격식(formality)을 나타내는 제3 스코어, 대화방에서 진행되는 대화의 주제에 대응되는 제4 스코어 및 대화방의 활성화 정도를 나타내는 제5 스코어를 포함할 수 있다.
제1 모델(10)은 제3 스코어를 출력하도록 학습된 격식 분류 모델(10-1)(도 3a를 참조), 제4 스코어를 출력하도록 학습된 주제 분류 모델(10-2)(도 3a를 참조) 및 제5 스코어를 출력하도록 학습된 활성화 정도 분류 모델(10-3)(도 3a를 참조)을 포함할 수 있다. 제1 모델(10)이 학습되었다는 것은 예를 들어, 제1 모델(10)에 포함된 격식 분류 모델(10-1), 주제 분류 모델(10-2) 및 활성화 정도 분류 모델(10-3)이 학습되었다는 것을 의미할 수 있다. 제1 모델(10)의 예시적인 구성 및 학습 과정은 도 3a를 참조하여 구체적으로 설명하도록 한다.
제2 모델(20)은 사용자로부터 입력된 제1 문장 및 대화방에서 진행된 대화의 특징 정보가 입력되면 제1 문장 및 복수의 대화방 각각에서 진행된 대화의 특징 간의 유사도를 나타내는 제1 스코어를 출력하도록 학습된 인공 지능 모델을 포함할 수 있다. 제2 모델(20)은 입력된 제1 문장의 특징을 추출하는 특징 추출 모델(20-1)(도 4를 참조) 및 제1 문장의 특징과 복수의 대화방 각각에서 진행된 대화의 특징 간의 유사도를 출력하는 유사도 추출 모델(20-2)(도 4를 참조)을 포함할 수 있다. 제2 모델(20)의 예시적인 구성 및 학습 과정은 도 4를 참조하여 아래에서 더 구체적으로 설명하도록 한다.
제3 모델(30)은 제1 문장 및 복수의 대화방 상에 입력된 문장이 입력되면 제1 문장과 복수의 대화방 상에 입력된 문장 간의 관련도를 나타내는 제2 스코어를 출력하도록 학습된 인공 지능 모델을 포함할 수 있다. 제1 문장과 복수의 대화방 상에 입력된 문장 간의 관련도는 예를 들어, 제1 문장과 복수의 대화방 상에 입력된 문장이 공통된 단어를 포함하거나 질의 응답 관계 등의 관계를 갖음에 따라 서로 관련 있을 확률을 의미할 수 있다.
복수의 대화방 상에 입력된 문장 각각과 제1 문장 간의 관련도를 나타내는 스코어 중 대화방 별로 가장 높은 스코어는 대화방 각각에 대응되는 제2 스코어로 식별될 수 있다. 제3 모델(30)의 예시적인 구성 및 학습 과정은 도 5를 참조하여 구체적으로 설명하도록 한다.
제3 모델(30)에 제1 문장 및 복수의 대화방 별로 최근에 입력된 문장을 주제별로 분류한 데이터 베이스 중 제1 문장의 주제에 대응되는 문장이 입력될 수 있다. 데이터 베이스는 예를 들어, 복수의 대화방 별로 최근에 입력된 기설정된 개수의 문장을 추출하고, 추출된 문장을 복수의 주제 또는 주제 없는 시작 발화로 분류하여 정리한 데이터 베이스를 의미할 수 있다. 이와 관련된 실시예는 도 5를 참조하여 설명하도록 한다.
한편, 도 1에 도시된 바와 같이, 제1 모델(10), 제2 모델(20) 및 제3 모델(30)은 메모리(110)에 저장될 수 있으나, 이는 일 실시예에 불과하며 각 모델을 학습 및 관리하는 외부 서버에 저장될 수 있다.
메모리(110)에는 사용자 음성을 인식하고 그에 대한 응답을 출력할 수 있는 인공 지능 모델을 포함하는 대화 시스템(Dialogue system)을 포함할 수 있다. 대화 시스템은 예를 들어, 한정 없이, 입력된 사용자 음성에 대응되는 텍스트를 출력하는 ASR(Auto Speech Recognition) 모듈, 텍스트의 의미를 파악하는 NLU(Natural Language Understanding) 모듈, 텍스트를 음성으로 변환하는 TTS(Text to Speech) 모듈 등이 포함할 수 있다. 대화 시스템 역시 메모리(110)에 포함되어 있을 수 있으나 별도의 외부 서버에 포함되어 있을 수 있다.
메모리(110)는 전력 공급이 중단되더라도 저장된 정보를 유지할 수 있는 비휘발성 메모리 저장된 정보를 유지하기 위해서는 지속적인 전력 공급이 필요한 휘발성 메모리를 포함할 수 있다. 도 1에는 휘발성 메모리가 프로세서(130)와 별개의 구성 요소로 구현된 경우를 도시하고 있으나, 이는 일 실시예에 불과하며 휘발성 메모리는 프로세서(130)에 포함되어 프로세서(130)의 일 구성요소로 구현될 수도 있다.
통신부(120)는 회로를 포함하며, 외부 장치와 통신을 수행할 수 있다. 이때, 통신부(120)가 외부 장치와 통신 연결되는 것은 제3 기기(예로, 중계기, 허브, 엑세스 포인트, 서버 또는 게이트웨이 등)를 거쳐서 통신하는 것을 포함할 수 있다.
통신부(120)는 외부 장치와 통신을 수행하기 위해 다양한 통신 모듈에 포함된 다양한 통신 회로를 포함할 수 있다. 일 예로, 통신부(120)는 무선 통신 모듈을 포함할 수 있으며, 예를 들면, 5G(5TH Generation), LTE, LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), 등 중 적어도 하나를 사용하는 셀룰러 통신 모듈을 포함할 수 있다.
다른 예로, 무선 통신 모듈은, 예를 들면, WiFi(wireless fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(Zigbee), 라디오 프리퀀시(RF), 또는 보디 에어리어 네트워크(BAN) 중 적어도 하나를 포함할 수 있다. 다만, 이는 일 실시예에 불과하며 통신부(120)는 유선 통신 모듈을 포함할 수 있다.
통신부(120)는 메신저 어플리케이션을 관리하는 서버에 사용자로부터 입력된 문장을 전송할 수 있다. 특정 대화방에 사용자로부터 입력된 문장이 입력된다는 것은 사용자로부터 입력된 문장이 메신저 어플리케이션을 관리하는 서버에 전송되고, 서버가 특정 대화방에 전송된 문장을 입력하는 과정을 포함할 수 있다.
제1 모델(10), 제2 모델(20) 및 제3 모델(30)이 외부 서버에 저장된 경우, 통신부(120)는 각 모델에 제1 문장, 복수의 대화방 각각에서 진행된 대화의 특징 정보 및 복수의 대화방 상에 입력된 문장 중 적어도 하나를 각 인공 지능 모델이 저장된 외부 서버에 전송할 수 있다. 그리고, 통신부(120)는 외부 서버로부터 복수의 대화방 각각에서 진행된 대화의 특징 정보, 제1 스코어 및 제2 스코어 중 적어도 하나를 수신할 수 있다.
프로세서(130)는 메모리(110)와 전기적으로 연결되어 다양한 프로세싱 회로를 포함할 수 있으며, 전자 장치(100)의 전반적인 기능 및 동작을 제어할 수 있다. 프로세서(130)는 제1 모델(10), 제2 모델(20) 또는 제3 모델(30)을 비휘발성 메모리에서 휘발성 메모리로 로딩(loading)할 수 있다. 로딩이란 예를 들어, 프로세서(130)가 액세스할 수 있도록 비휘발성 메모리에 저장된 데이터를 휘발성 메모리에 불러들여 저장하는 동작을 의미할 수 있다.
프로세서(130)는 메신저 어플리케이션을 통해 생성된 복수의 대화방 상에 입력된 문장을 제1 모델(10)에 입력하여 복수의 대화방 각각에서 진행된 대화의 특징 정보를 획득할 수 있다.
예를 들어, 프로세서(130)는 제1 모델(10) 중 격식 분류 모델을 통해 복수의 대화방 각각에서 진행되는 대화의 격식 레벨을 분류하고, 분류된 격식 레벨에 기초하여 복수의 대화방 각각에 대응되는 제3 스코어를 획득할 수 있다. 제3 스코어는 대화방에서 진행된 대화의 격식을 나타내는 스코어이다.
제3 스코어가 높을수록 예를 들어, 대화방에서 진행되는 대화는 존칭어 등이 포함되어 격식 레벨이 높은 대화라는 것을 의미할 수 있다. 격식 분류 모델의 학습 과정은 도 3a를 참조하여 아래에서 더 구체적으로 설명하도록 한다.
프로세서(130)는 제1 모델(10) 중 주제 분류 모델을 통해 복수의 대화방 각각에서 진행되는 대화의 주제를 복수의 카테고리로 분류하고, 상기 대화방 각각에서 진행되는 대화 상에서 분류된 복수의 카테고리의 비중에 기초하여 복수의 대화방 각각에 대응되는 제4 스코어를 획득할 수 있다. 제4 스코어는 복수의 주제 카테고리 및 각 카테고리에 할당된 비중과 관련된 가중치를 포함하는 스코어를 포함할 수 있다.
예를 들어, 제1 대화방에서 진행된 대화의 주제가 여행 및 정치인 경우, 주제 분류 모델은 대화의 주제를 여행 및 정치 카테고리로 분류할 수 있다. 그리고, 제1 대화방에서 진행된 대화 중 여행 및 정치 카테고리의 비중이 3:7인 경우, 주제 분류 모델은 여행 카테고리에 가중치 3이 할당되고 정치 카테고리에 가중치 7이 할당된 제4 스코어를 획득할 수 있다. 주제 분류 모델의 학습 과정은 도 3a를 참조하여 아래에서 더 구체적으로 설명하도록 한다.
프로세서(130)는 제1 모델(10) 중 활성화 정도 분류 모델을 통해 복수의 대화방 각각에서 진행되는 대화의 활성화 정도를 나타내는 제5 스코어를 획득할 수 있다. 제5 스코어는 대화방에 참여자들의 메시지 업로드 빈도 및 시점에 기초한 활성화 지수 및 사용자가 대화방에 메시지를 전송한 빈도 및 시점에 기초한 참여 지수를 포함할 수 있다.
제5 스코어 중 활성화 지수가 높을수록, 예를 들어, 대화방에 참여한 참여자들의 대화 참여 빈도가 높다는 것을 의미할 수 있으며, 제5 스코어 중 참여 지수가 높을수록, 대화방 상에서 사용자가 대화에 참여한 빈도가 높다는 것을 의미할 수 있다. 활성화 정도 분류 모델의 학습 과정은 도 3a를 참조하여 더 자세히 설명하도록 한다.
상술한 바와 같이, 프로세서(130)는 제1 모델(10)을 통해 복수의 대화방에 진행된 전체 대화를 이용하여 제3 스코어 및 제4 스코어를 획득할 수 있다. 프로세서(130)는 제1 모델(10)을 통해 복수의 대화방에서 진행된 대화를 전체 시간 동안 진행된 제1 대화, 기설정된 시간동안 진행된 제2 대화 및 사용자가 입력한 제3 대화로 분류할 수 있다.
기설정된 시간 동안 진행된 제2 대화는 예를 들어, 제1 문장이 입력된 당일에 진행된 대화 또는 제1 문장이 입력되기 전 1시간 동안 입력된 대화를 의미할 수 있다. 다만, 이는 예시에 불과하며 기설정된 시간은 사용자에 의해 다양하게 변경될 수 있다.
프로세서(130)는 제1 대화, 제2 대화 및 제3 대화 각각에 대응되는 격식 레벨 및 주제를 식별하고, 식별된 격식 레벨 및 주제에 기초하여 복수의 대화방 각각에 대응되는 제3 스코어 및 제4 스코어를 획득할 수 있다.
예를 들어, 제1 대화, 제2 대화 및 제3 대화 각각에는 기설정된 가중치가 매칭되어 있을 수 있다. 프로세서(130)는 제1 대화, 제2 대화 및 제3 대화 각각의 격식 레벨 및 주제에 대응되는 스코어에 기설정된 가중치를 적용하여 복수의 대화방 각각에 대응되는 제3 스코어 및 제4 스코어를 획득할 수 있다. 이와 관련된 실시예는 도 3b를 참조하여 아래에서 더 구체적으로 설명하도록 한다.
사용자로부터 제1 문장이 입력되면, 프로세서(130)는 제1 문장 및 복수의 대화방 각각에서 진행된 대화의 특징 정보를 제2 모델(20)에 입력하여 제1 문장 및 복수의 대화방 각각에서 진행된 대화의 특징 간의 유사도를 나타내는 제1 스코어를 획득할 수 있다.
예를 들어, 프로세서(130)는 제2 모델(20) 중 특징 추출 모델을 통해 제1 문장의 격식을 나타내는 스코어 및 주제에 대응되는 스코어를 획득할 수 있다. 프로세서(130)는 제2 모델(20) 중 유사도 추출 모델을 통해 복수의 대화방 각각의 제3 스코어와 제1 문장의 격식을 나타내는 스코어 간의 제1 유사도를 산출하고, 복수의 대화방 각각의 제4 스코어와 제1 문장의 주제에 대응되는 스코어를 비교하여 제2 유사도를 산출할 수 있다.
프로세서(130)는 제1 유사도 및 제2 유사도를 합산하여 제1 문장 및 복수의 대화방 각각에서 진행된 대화의 특징 간의 유사도를 나타내는 제1 스코어를 획득할 수 있다. 특정 대화방의 제1 스코어가 높다는 것은 예를 들어, 제1 문장의 특징과 특정 대화방에서 진행된 특징이 더욱 유사하다는 것을 의미할 수 있다. 이와 관련된 실시예는 도 4를 참조하여 구체적으로 설명하도록 한다.
프로세서(130)는 복수의 대화방 상의 활성화 정도에 기초하여 복수의 대화방 별로 최근에 입력된 적어도 하나의 문장을 주제 별로 분류한 데이터 베이스를 메모리(110)에 저장할 수 있다.
예를 들면, 프로세서(130)는 복수의 대화방 중 제1 대화방에 최근에 입력된 문장 중 N(N은 1 이상의 자연수)개의 문장을 복수의 주제로 분류한 데이터 베이스를 메모리(110)에 저장할 수 있다. 프로세서(130)는 N개의 문장을 복수의 주제로 분류할 때 제1 모델(10)을 통해 분류된 복수의 주제 카테고리를 이용할 수 있다.
프로세서(130)는 데이터 베이스 상에서 주제 별로 저장되는 문장은 X(X는 1 이상의 자연수)개로 한정할 수 있다. 예를 들어, 제1 대화방에서 대화가 진행됨에 따라 데이터 베이스 중 여행 카테고리에 매칭되는 문장이 X개를 초과할 경우, 프로세서(130)는 기저장된 문장 중 가장 오래전에 입력된 문장을 제거하고 새로 입력된 문장을 여행 카테고리에 포함시킬 수 있다.
또 다른 예로, 데이터 베이스에는 특정한 주제가 포함되어 있지 않은 문장을 수집한 no topic 카테고리를 포함할 수 있다. no topic 카테고리에는 데이터 베이스 상에서 분류한 주제 카테고리에 포함되지 않고 주제를 특정할 수 없는 문장(예를 들면, 새로운 주제에 대한 대화를 진행하기 위한 시작 발화 등)이 포함되어 있을 수 있다.
프로세서(130)는 각 대화방의 활성화 정도에 기초하여 X의 크기를 결정할 수 있다. 대화방의 활성화 정도가 클수록, 프로세서(130)는 대화방에 대응되는 데이터 베이스 상에서 하나의 주제마다 매칭되어 저장되는 문장의 개수를 큰 값으로 결정할 수 있다. 이 때, 프로세서(130)는 제1 모델(10)의 활성화 정도 분류 모델을 통해 획득된 각 대화방의 활성화 정도를 나타내는 제5 스코어를 이용하여 X의 크기를 결정할 수 있다.
프로세서(130)는 데이터 베이스 중 제1 문장의 주제에 대응되는 문장과 제1 문장을 제3 모델(30)에 입력하여 데이터 베이스 중 제1 문장의 주제에 대응되는 문장과 제1 문장 간의 관련도를 나타내는 스코어를 획득할 수 있다. 관련도는 예를 들어, 제1 문장과 데이터 베이스 중 제1 문장의 주제에 대응되는 문장이 질의 응답 관계 등의 관계를 갖거나 공통된 단어를 포함하는 등에 따라 서로 관련된 문장일 확률을 의미할 수 있다.
제2 모델의 특징 추출 모델을 통해 획득된 제1 문장의 주제에 할당된 가중치가 임계값을 초과하지 않은 경우, 프로세서(130)는 제1 문장과 데이터 베이스 중 no topic 카테고리에 포함된 문장과 제1 문장을 제3 모델(30)에 입력할 수 있다.
예를 들어, 제1 문장이 새로운 주제에 대한 대화를 진행하기 위한 시작 발화로서 데이터 베이스 상에 포함된 주제에 포함되지 않은 문장인 경우, 제2 모델을 통해 획득된 제1 문장의 적어도 하나의 주제에 매칭된 가중치는 임계값 미만일 수 있다. 제1 문장의 적어도 하나의 주제에 매칭된 가중치가 임계값 미만인 경우, 프로세서(130)는 제1 문장을 데이터 베이스에 수집된 특정한 주제에 포함되지 않는 문장이라고 식별할 수 있다. 프로세서(130)는 제1 문장 및 데이터 베이스 중 no topic 카테고리에 포함된 문장을 제3 모델(30)에 입력하여 제1 문장 및 데이터 베이스 중 no topic 카테고리에 포함된 문장 간의 관련도를 나타내는 스코어를 획득할 수 있다.
프로세서(130)는 제1 문장과 데이터 베이스 중 제1 문장의 주제에 대응되는 문장 간의 관련도를 나타내는 스코어 중 대화방 별로 가장 높은 스코어를 식별하고, 식별된 대화방 별로 가장 높은 스코어를 복수의 대화방 각각에 대응되는 제2 스코어로 식별할 수 있다. 이와 관련된 예시는 도 5를 참조하여 아래에서 더 구체적으로 설명하도록 한다.
프로세서(130)는 복수의 대화방 각각에 대응되는 제1 스코어, 제2 스코어 및 복수의 대화방 각각의 활성화 정도를 나타내는 제5 스코어를 합산하여 복수의 대화방 각각에 대응되는 합산 스코어를 획득할 수 있다. 그리고, 프로세서(130)는 복수의 대화방 중 합산 스코어가 가장 높은 대화방을 제1 문장에 대응되는 대화방으로 식별할 수 있다.
예를 들어, 프로세서(130)는 각 대화방의 활성화 정도, 각 대화방에서 진행된 대화와 사용자로부터 입력된 문장 간의 격식 및 주제의 유사성 및 입력된 문장과 대화방에서 입력된 문장 간의 관련도에 기초하여 사용자로부터 입력된 제1 문장과 가장 적합한 대화방을 식별할 수 있다.
일 실시예로, 프로세서(130)는 제1 문장을 식별된 대화방에 입력할 수 있다. 또 다른 예로, 프로세서(130)는 제1 문장을 제1 문장에 대응된다고 식별된 대화방에 입력할지 여부를 문의하는 메시지를 제공할 수 있다.
프로세서(130)는 제1 문장의 특징 또는 복수의 대화방 각각에 대응되는 스코어의 크기에 기초하여 합산 스코어를 획득하기 위해 각 스코어에 적용하는 가중치를 조절할 수 있다. 예를 들어, 프로세서(130)는 제1 문장의 특징 또는 복수의 대화방 각각에 대응되는 스코어의 크기에 따라 합산 스코어를 구성하는 요소의 가중치를 조절할 수 있다.
예를 들어, 제1 문장의 주제에 대응되는 스코어가 제1 기설정된 값 미만인 경우, 프로세서(130)는 복수의 대화방의 합산 스코어 중 제4 스코어의 비중이 작아지도록 하는 가중치를 제4 스코어에 적용할 수 있다. 사용자로부터 입력된 제1 문장에 대한 주제의 분류는 제1 문장에 적합한 대화방을 선택하는데 중요한 요소가 되지 않으므로 합산 스코어 중 제4 스코어의 비중을 줄일 수 있다.
또 다른 예로, 복수의 대화방 전체에서 진행되는 대화의 격식도가 낮을 경우, 약간의 격식도 차이가 대화방 간의 큰 차별점으로 작용될 수 있다. 따라서, 복수의 대화방 각각에 대응되는 제3 스코어 모두가 제2 기설정된 값 미만인 경우, 프로세서(130)는 합산 스코어 중 제3 스코어의 비중이 커지도록 하는 가중치를 제3 스코어에 적용할 수 있다.
복수의 대화방 중 사용자에 의해 선택된 제1 대화방 상에서 사용자로부터 제2 문장이 입력되면, 프로세서(130)는 입력된 제2 문장에 기초하여 복수의 대화방 각각에 대응되는 제1 스코어 및 제2 스코어를 획득할 수 있다. 상술한 바와 같이, 프로세서(130)는, 제1 모델, 제2 모델 및 제3 모델을 이용하여, 제2 문장에 기초하여 복수의 대화방 각각에 대응되는 제1 스코어 및 제2 스코어를 획득할 수 있다.
프로세서(130)는 제2 문장에 기초하여 획득된 제1 스코어와 제2 스코어 및 복수의 대화방 각각의 활성화 정도에 기초하여 복수의 대화방 각각에 대응되는 합산 스코어를 획득할 수 있다. 복수의 대화방 중 제1 대화방에 대응되는 합산 스코어보다 높은 값의 합산 스코어를 가지는 제2 대화방이 있는 경우, 프로세서(130)는 제2 대화방에 제2 문장을 전송할지 여부를 문의하는 메시지를 제공할 수 있다.
예를 들어, 제2 문장이 사용자에 의해 선택된 제1 대화방보다 더 적합한 대화방이 존재하는 것으로 식별되면, 프로세서(130)는 제2 문장을 제1 대화방보다 더 적합한 대화방에 전송할지 여부를 문의하는 메시지를 제공할 수 있다. 이에 따라, 사용자는 자신이 잘못 선택한 대화방에 메시지를 입력하였는지 여부를 식별할 수 있다.
본 개시에 따른 인공지능과 관련된 기능은 프로세서(130)와 메모리(110)를 통해 동작된다. 프로세서(130)는 하나 또는 복수의 프로세서를 포함할 수 있다. 하나 또는 복수의 프로세서는 CPU(Central Processing Unit), AP(Application Processor), DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU(Graphic Processing Unit), VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU(Neural Processing Unit)와 같은 인공지능 전용 프로세서를 포함할 수 있다.
하나 또는 복수의 프로세서(130)는, 메모리(110)에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다.
학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공지능 모델은 복수의 인공 신경망을 포함하며, 인공 신경망은 복수의 레이어들을 포함할 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다.
인공 신경망의 예로는, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 및 심층 Q-네트워크 (Deep Q-Networks) 등이 있으며, 본 개시에서의 인공 신경망은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
도 2는 본 개시의 다양한 실시예에 따른, 전자 장치(100)의 예시적인 제어 방법을 설명하기 위한 순서도이다.
전자 장치(100)는 메신저 어플리케이션을 통해 생성된 복수의 대화방 상에 입력된 문장을 제1 모델에 입력하여 복수의 대화방 각각에서 진행된 대화의 특징 정보 획득할 수 있다(S210).
예를 들어, 전자 장치(100)는 복수의 대화방 상에 입력된 문장을 제1 모델에 입력하여 복수의 대화방 각각에서 진행되는 대화의 격식을 나타내는 제3 스코어, 복수의 대화방 각각에서 진행되는 대화의 주제에 대응되는 제4 스코어 및 복수의 대화방 각각의 활성화 정도를 나타내는 제5 스코어를 포함하는 특징 정보를 획득할 수 있다. 이와 관련된 실시예는 도 3a 및 도 3b를 참조하여 아래에서 더 구체적으로 설명하도록 한다.
사용자로부터 제1 문장이 입력되면, 전자 장치(100)는 제1 문장 및 복수의 대화방 각각의 특징 정보를 제2 모델에 입력하여 제1 문장 및 복수의 대화방 각각에서 진행된 대화의 특징 간의 유사도를 나타내는 제1 스코어 획득할 수 있다(S220). 예를 들어, 전자 장치(100)는 제2 모델을 통해 제1 문장의 특징을 추출하고, 추출된 제1 문자의 특징과 복수의 대화방의 특징의 유사도를 나타내는 제1 스코어를 획득할 수 있다. 이와 관련된 실시예는 도 4를 참조하여 구체적으로 설명하도록 한다.
전자 장치(100)는 제1 문장 및 복수의 대화방 상에 입력된 문장을 제3 모델에 입력하여 제1 문장과 복수의 대화방 상에 입력된 문장 간의 관련도를 나타내는 제2 스코어 획득할 수 있다(S230). 예를 들어, 전자 장치(100)는 제3 모델을 통해 제1 문장과 복수의 대화방 상에 입력된 문장 중 적어도 하나의 문장에 공통된 단어가 포함되어 있거나, 양자 간에 질의 응답 관계 등의 관계를 갖는 등, 양자 간에 서로 관련된 문장일 확률을 나타내는 제2 스코어를 획득할 수 있다.
전자 장치(100)는 복수의 대화방 상에 입력된 문장 전체를 제3 모델에 입력할 수 있으나, 복수의 대화방 별로 최근에 입력된 문장을 주제 별로 분류한 데이터 베이스 중 제1 문장의 주제에 대응되는 문장을 제3 모델에 입력할 수도 있다. 이와 관련된 실시예는 도 5를 참조하여 구체적으로 설명하도록 한다.
전자 장치(100)는 특징 정보, 제1 스코어 및 제2 스코어에 기초하여 복수의 대화방 중 제1 문장에 대응되는 대화방을 식별할 수 있다(S240). 전자 장치(100)는 예를 들어, 복수의 대화방 각각에 대응되는 제1 스코어, 제2 스코어 및 특징 정보 중 복수의 대화방 각각의 활성화 정도를 나타내는 제5 스코어를 합산하여 복수의 대화방 각각에 대응되는 합산 스코어를 획득할 수 있다. 전자 장치(100)는 예를 들어, 복수의 대화방 중 합산 스코어가 가장 높은 대화방을 제1 문장에 대응되는 대화방으로 식별할 수 있다.
전자 장치(100)는 제1 문장을 식별된 제1 문장에 대응되는 대화방에 입력할 수 있다(S250). 제1 문장을 제1 문장에 대응되는 대화방에 입력하기 전, 전자 장치(100)는 사용자에게 제1 문장에 대응되는 대화방에 제1 문장을 입력한다는 메시지를 제공할 수 있다. 사용자로부터 확인을 받은 후, 전자 장치(100)는 제1 문장을 식별된 제1 문장에 대응되는 대화방에 입력할 수 있다.
도 3a는 본 개시의 다양한 실시예에 따른, 전자 장치(100)가 제1 모델(10)을 통해 복수의 대화방 각각의 특징 정보를 획득하는 예시적인 과정을 설명하기 위한 도면이다.
도 3a에 도시된 바와 같이 격식 분류 모델(10-1), 주제 분류 모델(10-2) 및 활성화 정도 분류 모델(10-3)은 제1 모델(10)의 일 구성 요소로서 제1 모델(10)에 포함된 형태로 구현될 수 있으나, 이는 예시에 불과하며 각 모델(10-1, 10-2, 10-3)은 별개의 모델로 구현될 수 있다.
전자 장치(100)는 복수의 대화방(40-1, 40-2 … 40-N)에 입력된 문장을 제1 모델(10)에 입력하여 복수의 대화방 각각에서 진행된 대화의 특징 정보(50)을 획득할 수 있다.
일 실시예로, 전자 장치(100)는 복수의 대화방(40-1, 40-2 … 40-N)에 입력된 문장을 제1 모델(10) 중 격식 분류 모델(10-1)에 입력하여 각 대화방에서 진행된 대화의 격식을 나타내는 제3 스코어를 획득할 수 있다. 특정 대화방의 제3 스코어가 높을수록, 예를 들어, 특정 대화방 상에서 진행된 대화는 격식 레벨이 높은 대화임을 의미할 수 있다.
격식 분류 모델(10-1)은 격식이 갖춰진 언어 학습 데이터(formal language training data)(예를 들어, 뉴스 스크립트, 칼럼, 연설문 등)와 격식이 비교적 갖춰지지 않은 언어 학습 데이터(informal language training data)(예를 들어, 영화 자막, 커뮤니티 크롤링 데이터 등)에 기초하여 학습된 모델을 포함할 수 있다. 학습된 격식 분류 모델(10-1)은 대화방에 입력된 문장의 격식 레벨을 분류하고, 분류된 격식 레벨에 대응되는 제3 스코어를 출력할 수 있다.
예를 들어, 도 3a에 도시된 바와 같이, 제1 대화방(40-1)에 입력된 문장에 비속어 등이 다수 포함되어 격식이 갖춰지지 않은 문장인 경우, 격식 분류 모델(10-1)은 제1 대화방(40-1)에 입력된 문장을 낮은 격식 레벨로 분류하고, 분류된 격식 레벨에 대응되는 제3 스코어(예를 들어, 1)를 출력할 수 있다.
또 다른 예로, 제2 대화방(40-2)에 입력된 문장에 극 존칭어가 다수 포함된 격식이 갖춰진 문장인 경우, 격식 분류 모델(10-1)은 제2 대화방(40-2)에 입력된 문장을 높은 격식 레벨로 분류하고, 분류된 격식 레벨에 대응되는 제3 스코어(예를 들어, 9)를 출력할 수 있다.
일 실시예로, 전자 장치(100)는 복수의 대화방(40-1, 40-2 … 40-N)에 입력된 문장을 제1 모델(10) 중 주제 분류 모델(10-2)에 입력하여 각 대화방에서 진행된 대화의 주제에 대응되는 제4 스코어를 획득할 수 있다.
주제 분류 모델(10-2)은 다양한 주제를 포함하는 언어 학습 데이터에 기초하여 대화방에 입력된 문장의 주제를 복수의 카테고리로 분류하고, 대화방 전체 문장 상에서 복수의 카테고리 비중에 기초하여 복수의 대화방 각각에 대응되는 제4 스코어를 출력하도록 학습될 수 있다. 제4 스코어는 복수의 주제 카테고리 및 주제 카테고리의 비중에 따라 할당된 가중치가 포함된 값일 수 있다.
예를 들어, 도 3a에 도시된 바와 같이, 주제 분류 모델(10-2)은 제1 대화방(40-1)에 입력된 문장을 여행, 일상 및 정치 등으로 분류하고, 제1 대화방(40-1)에 입력된 전체 문장 중 대화 상에서 분류된 주제 카테고리의 비중을 나타내는 스코어를 포함하는 제4 스코어(예를 들어, 여행:9, 일상: 7, 정치:1 등)를 획득할 수 있다.
또 다른 예로, 주제 분류 모델(10-2)은 제2 대화방(40-2)에 입력된 문장을 여행, 일상 및 정치 등으로 분류하고, 전체 대화 상에서 분류된 주제 카테고리의 비중을 나타내는 스코어를 포함하는 제4 스코어(예를 들어, 여행:0, 일상: 1, 정치:7 등)를 획득할 수 있다.
일 실시예로, 전자 장치(100)는 복수의 대화방(40-1, 40-2 … 40-N)에 입력된 문장을 제1 모델(10) 중 활성화 정도 분류 모델(10-3)에 입력하여 각 대화방의 활성화 정도를 나타내는 제5 스코어를 획득할 수 있다.
제5 스코어는 대화방에 참여한 자들의 메시지 업로드 빈도를 나타내는 활성화 지수 및 사용자가 대화방 상에 메시지를 전송한 빈도를 나타내는 참여 지수가 포함될 수 있다. 활성화 지수가 높다는 것은 예를 들어, 대화방에 참여한 자들이 보다 활발하게 대화를 진행하고 있음을 의미할 수 있으며, 참여지수가 높다는 것은 예를 들어, 사용자가 특정 대화방에 메시지를 더욱 활발하게 입력하고 있음을 의미할 수 있다.
활성화 정도 분류 모델(10-3)은 복수의 대화방 별로 입력된 문장 및 문장이 입력된 시점에 기초하여 각 대화방 별로 활성화 지수 및 참여 지수를 포함하는 제5 스코어를 출력하도록 학습될 수 있다.
전자 장치(100)가 제1 모델(10)에 입력하는 복수의 대화방 각각에 입력된 문장에는 문장이 입력된 시점에 대한 정보가 매칭되어 있을 수 있다. 따라서, 전자 장치(100)는 입력된 시점이 매칭된 복수의 대화방 각각에 입력된 문장을 제1 모델(10) 중 활성화 정도 분류 모델(10-3)에 입력하여 각 대화방의 제5 스코어를 획득할 수 있다.
도 3b는 본 개시의 다양한 실시예에 따른, 전자 장치(100)가 복수의 대화방에 진행된 대화를 분류하여 대화방 각각의 특징 정보를 획득하는 예시적인 과정을 설명하기 위한 도면이다.
도 3b에 도시된 바와 같이, 전자 장치(100)는 제1 모델(10)을 통해 복수의 대화방에서 진행된 대화를 전체 시간 동안 진행된 제1 대화, 기설정된 시간동안 진행된 제2 대화 및 사용자가 입력한 제3 대화로 분류할 수 있다. 그리고, 전자 장치(100)는 제1 모델(10)을 통해 제1 대화, 제2 대화 및 제3 대화 각각에 대응되는 격식 레벨 및 주제를 식별하고, 식별된 격식 레벨 및 주제에 대응되는 스코어가 포함된 특징 정보(50-1)를 획득할 수 있다.
전자 장치(100)는 획득된 특징 정보(50-1)에 제1 대화, 제2 대화 및 제3 대화 각각에 대응되는 가중치(50-2)를 적용하여 복수의 대화방 각각에 대응되는 상기 제3 스코어 및 상기 제4 스코어를 획득할 수 있다.
예를 들어, 사용자로부터 입력된 문장에 적합한 대화방을 식별할 때, 대화방에서 진행되는 전체 대화의 격식과 관련된 특징에 비해 사용자가 입력한 문장에서 나타나는 격식과 관련된 특징이 더 중요할 수 있다. 이에 따라, 격식 관련하여, 제1 대화에 대응되는 가중치가 0.2이고, 제2 대화에 대응되는 가중치가 0.2이고, 제3 대화에 대응되는 가중치는 0.6일 수 있다. 전자 장치(100)는 획득된 특징 정보(50-1) 중 격식 레벨에 대응되는 스코어(제1 대화:2, 제2 대화:1, 제3 대화:5)와 각 대화의 가중치를 적용하여 제1 대화방의 제3 스코어(예를 들어, 2*0.2+1*0.2+5*0.6=3.6)을 획득할 수 있다.
또 다른 예로, 사용자로부터 입력된 문장에 적합한 대화방을 식별할 때, 대화방에서 기설정된 시간 동안 진행된 대화의 주제가 제일 중요할 수 있다. 이에 따라, 주제와 관련하여, 제1 대화에 대응되는 가중치가 0.2이고, 제2 대화에 대응되는 가중치가 0.6이고, 제3 대화에 대응되는 가중치는 0.2일 수 있다. 전자 장치(100)는 획득된 특징 정보(50-1) 중 주제에 대응되는 스코어와 각 대화의 가중치를 적용하여 제1 대화방의 제4 스코어를 획득할 수 있다.
도 4는 본 개시의 다양한 실시예에 따른, 전자 장치(100)가 제2 모델(20)을 통해 복수의 대화방 각각의 제1 스코어를 획득하는 예시적인 과정을 설명하기 위한 도면이다. 도 4에 도시된 바와 같이 특징 추출 모델(20-1) 및 유사도 추출 모델(20-2)은 제2 모델(20)의 일 구성 요소로서 제2 모델(20)에 포함된 형태로 구현될 수 있으나, 이는 예시에 불과하며 각 모델(20-1, 20-2)은 별개의 모델로 구현될 수 있다.
전자 장치(100)는 사용자로부터 입력된 제1 문장(예를 들어, “난 퇴근이 늦어서 오늘 못 만나겠어”)(60) 및 복수의 대화방 각각에서 진행된 대화의 특징 정보(70)를 제2 모델(20)에 입력하여 제1 스코어(90)를 획득할 수 있다.
예를 들어, 전자 장치(100)는 제2 모델(20) 중 특징 추출 모델(20-1)에 제1 문장(60)을 입력하여 제1 문장의 특징 정보(80)를 획득할 수 있다. 특징 추출 모델(20-1)은 입력된 문장의 격식 레벨에 대응되는 스코어를 출력하고, 입력된 문장의 주제를 분류하고 제1 문장 사에서 분류된 주제의 비중을 나타내는 스코어를 출력하도록 학습된 인공지능 모델이다. 즉, 특징 추출 모델(20-1) 사용자로부터 입력된 하나의 문장에 대해 제1 모델(10)이 수행하는 동작을 수행하는 모델로 구현될 수 있다.
전자 장치(100)는 제1 문장의 특징(80) 및 복수의 대화방 각각에서 진행된 대화의 특징 정보(70)를 유사도 추출 모델(20-2)에 입력하여 제1 스코어(90)를 획득할 수 있다.
유사도 추출 모델(20-2)은 제1 문장의 특징(80)과 복수의 대화방 각각에서 진행된 대화의 특징 정보(70)간의 유사도를 출력하는 모델을 의미한다. 제1 문장의 특징(80) 및 복수의 대화방의 특징 정보(80)는 벡터 형태로 구현될 수 있다. 유사도 추출 모델(20-2)은 벡터로 구현된 제1 문장의 특징(80) 및 복수의 대화방의 특징 정보(80)간의 거리 차이(distance)에 기정의된 가중치를 적용하여 유사도를 나타내는 제1 스코어(90)를 출력할 수 있다.
예를 들어, 유사도 추출 모델(20-2)은 특징 정보(70) 중 제1 대화방의 제3 스코어와 제1 문장의 특징(80) 중 격식 레벨에 대응되는 스코어를 비교하여 제1 스코어(90) 중 제1 문장(60)과 제1 대화방에서 진행된 대화의 격식 유사도를 나타내는 스코어를 획득할 수 있다. 유사도 추출 모델(20-2)은 특징 정보(70) 중 제1 대화방의 제4 스코어와 제1 문장의 특징(80) 중 주제에 대응되는 스코어를 비교하여 제1 스코어(90) 중 제1 문장(60)과 제1 대화방에서 진행된 대화의 주제 유사도를 나타내는 스코어를 획득할 수 있다.
도 4에 도시된 바와 같이, 복수의 대화방 각각의 제1 스코어(90) 중 제3 대화방의 격식 유사도 및 주제 유사도가 제일 높다는 것은, 예를 들어, 제3 대화방의 격식 및 주제가 제1 문장(60)의 격식 및 주제와 가장 유사하다는 것을 의미할 수 있다.
도 5는 본 개시의 다양한 실시예에 따른, 전자 장치(100)가 제3 모델(30)을 통해 복수의 대화방 각각의 제2 스코어를 획득하는 예시적인 과정을 설명하기 위한 도면이다.
전자 장치(100)는 제1 문장 및 복수의 대화방 상에 입력된 문장을 제3 모델(30)에 입력하여 제1 문장과 복수의 대화방 상에 입력된 문장 간의 관련도를 나타내는 제2 스코어를 획득할 수 있다.
전자 장치(100)는 복수의 대화방 상에 입력된 전체 문장을 제3 모델(30)에 입력할 수 있으나, 이는 일 실시예에 불과하며 도 5에 도시된 바와 같이, 전자 장치(100)는 복수의 대화방 별로 최근에 입력된 문장을 주제 별로 분류한 데이터 베이스 중 제1 문장(60)의 주제에 대응되는 문장(95)을 제3 모델(30)에 입력하여 복수의 대화방의 제2 스코어를 획득할 수 있다.
전자 장치(100)는 복수의 대화방 각각의 활성화 정도에 기초하여 복수의 대화방 별로 최근에 입력된 적어도 하나의 문장을 주제 별로 분류한 데이터 베이스를 저장할 수 있다. 데이터 베이스에는 복수의 대화방 각각에 최근에 입력된 문장 중 N개의 문장을 복수의 주제로 분류한 데이터가 포함될 수 있다. 데이터 베이스에는 주제 별로 X 개의 문장이 포함되어 있을 수 있다. 데이터 베이스에는 기설정된 주제와 관련되지 않은 문장을 수집한 no topic 카테고리가 포함될 수 있다.
전자 장치(100)는 데이터 베이스 중 제1 문장의 주제에 대응되는 문장(95)을 식별하고, 식별된 문장(95)과 제1 문장(60)을 제3 모델(30)에 입력하여 제1 문장의 주제에 대응되는 문장(95)과 제1 문장(60) 간의 관련도를 나타내는 스코어를 획득할 수 있다. 예를 들어, 제1 문장의 주제에 대응되는 문장(95) 중 특정 문장이 질의하는 문장이고 제1 문장(60)이 답변을 하는 문장인 경우, 양자 간에는 질의 답변 관계를 가지고 있으므로 관련도가 높을 수 있다. 따라서, 특정 문장과 제1 문장(60)이 입력되면, 제3 모델은 높은 값의 관련도를 나타내는 스코어를 출력할 수 있다.
전자 장치(100)는 획득된 제1 문장의 주제에 대응되는 문장과 제1 문장(60) 간의 관련도를 나타내는 스코어 중 대화방 별로 가장 높은 스코어를 식별할 수 있다. 그리고, 전자 장치(100)는 식별된 대화방 별로 가장 높은 스코어를 복수의 대화방 각각에 대응되는 제2 스코어로 식별할 수 있다.
예를 들어, 도 5에 도시된 바와 같이, 전자 장치(100)는 제1 문장(60)의 주제에 대응되는 문장 중 제1 대화방 및 제2 대화방 각각에 포함된 문장과 제1 문장(60)간의 관련도를 나타내는 스코어(500-1, 500-2)를 획득할 수 있다. 이 때, 제1 대화방에 입력된 문장 중 '오늘 저녁에 만날래?'라는 문장이 제1 문장(60)과 관련도가 0.98로 제일 높으므로, 전자 장치(100)는 제1 대화방에 대응되는 제2 스코어를 0.98로 식별할 수 있다. 또 다른 예로, 제2 대화방에 입력된 문장 중 '최종 완료는 문제 없나요?'라는 문장이 제1 문장(60)과 관련도가 0.52로 제일 높으므로, 전자 장치(100)는 제2 대화방에 대응되는 제2 스코어를 0.52로 식별할 수 있다.
도 6은 본 개시의 다양한 실시예에 따른, 전자 장치(100)가 입력된 문자에 적합한 대화방을 선택하는 예시적인 과정을 설명하기 위한 도면이다. 도 6에는 전자 장치(100)가 스마트 폰으로 구현되어 있으나, 이는 일 실시예에 불과하며 전자 장치(100)는 태블릿 PC, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, AI 스피커 또는 웨어러블 장치 중 적어도 하나로 구현될 수 있으며, 이에 국한되는 것은 아니다.
도 6의 (a)에 도시된 바와 같이, 전자 장치(100)는 메신저 어플리케이션의 실행 화면을 표시할 수 있다. 메신저 어플리케이션의 실행 화면 상에는 각 대화방 목록 및 대화방에서 가장 최근에 입력된 메시지가 포함될 수 있다. 다만, 메신저 어플리케이션 실행 화면은 예시에 불과하며 사용자 설정 또는 어플리케이션 서비스를 제공하는 서버의 설정에 따라 다양하게 구현될 수 있다.
메신저 어플리케이션 실행 화면 상에는 전체 대화방 중 적어도 하나의 대화방에 메시지를 입력할 수 있는 메시지 입력창(610)이 포함될 수 있다. 즉, 메시지 입력창(610)은 예를 들어, 특정 대화방 상에 포함된 입력창이 아니라 전체 대화방에 메시지를 입력할 수 있거나 전체 대화방 중 하나의 대화방에 메시지를 입력할 수 있는 입력창을 의미할 수 있다.
전자 장치(100)는 메시지 입력창(610)에 입력된 제1 문장에 기초하여 제1 모델, 제2 모델 및 제3 모델을 이용하여 각 대화방에 대응되는 제1 스코어, 제2 스코어 및 제5 스코어를 획득할 수 있다. 그리고, 전자 장치(100)는 제1 스코어, 제2 스코어 및 제5 스코어를 합산하여 각 대화방 별로 합산 스코어를 획득할 수 있다.
전자 장치(100)는 합산 스코어의 크기가 가장 큰 대화방을 제1 문장에 대응되는 대화방으로 식별할 수 있다. 예를 들어, 도 6의 (a)에 도시된 바와 같이, 복수의 대화방 중 '대학교 동문 모임' 대화방의 합산 스코어가 가장 큰 값일 수 있다. 전자 장치(100)는 '대학교 동문 모임'을 제1 문장에 대응되는 대화방으로 식별하고, '대학교 동문 모임'에 제1 문장을 입력할 수 있다.
또 다른 실시예로, 도 6의 (b)에 도시된 바와 같이, 전자 장치(100)는 메시지 입력창(610)에 입력된 문장을 합산 스코어가 가장 큰 대화방에 입력할지 여부를 문의하는 메시지(620)를 제공할 수 있다. 예로, 합산 스코어가 가장 큰 대화방(예로, 대학교 동문 모임 대화방)에 제1 문장을 입력하라는 사용자 명령이 입력되면(예로, 'yes'를 터치), 전자 장치(100)는 대학교 동문 모임 대화방에 제1 문장을 입력할 수 있다.
본 개시의 일 실시예로, 전자 장치(100)는 AI 스피커로 구현될 수 있다. AI 스피커로 구현된 전자 장치(100)에는 메신저 어플리케이션에서 사용자 계정과 관련된 데이터(예를 들어, 메신저 어플리케이션 상에서 사용자가 포함된 대화방의 목록 및 각 대화방에서 입력된 문장 등)를 저장할 수 있다.
메신저 어플리케이션을 통해 생성된 대화방에 입력한다는 사용자 음성이 입력되면, 전자 장치(100)는 사용자 음성을 대화 시스템에 입력하여 사용자 음성에 대응되는 텍스트를 획득할 수 있다. 그리고, 전자 장치(100)는 획득된 텍스트에 기초하여 제1 모델, 제2 모델 및 제3 모델을 이용하여 각 대화방에 대응되는 제1 스코어, 제2 스코어 및 제5 스코어를 획득할 수 있다.
전자 장치(100)는 제1 스코어, 제2 스코어 및 제5 스코어를 합산하여 각 대화방 별로 합산 스코어를 획득할 수 있다. 전자 장치(100)는 합산 스코어의 크기가 가장 큰 대화방을 획득된 텍스트에 대응되는 대화방으로 식별할 수 있다.
일 실시예로, 전자 장치(100)는 식별된 대화방에 획득된 텍스트를 입력할 수 있다. 또 다른 실시예로, 전자 장치(100)는 식별된 대화방에 획득된 텍스트를 입력할지 여부를 문의하는 메시지를 음성 형태로 출력할 수 있다. 텍스트를 식별된 대화방에 입력하라는 사용자 음성이 입력되면, 전자 장치(100)는 식별된 대화방에 획득된 텍스트를 입력할 수 있다.
도 7은 본 개시의 다양한 실시예에 따른, 전자 장치(100)가 대화방 상에 입력된 문장이 대화방의 특징과 매칭되는지 여부를 식별하는 예시적인 과정을 설명하기 위한 순서도이다. 한편, 도 8은 도 7의 순서도에서 설명하고 있는 과정의 실시예를 도시하고 있는 바, 도 7의 순서도의 각 단계를 설명하면서 도 8에 도시된 구현 예시를 같이 설명하도록 한다.
전자 장치(100)는 복수의 대화방 중 사용자로부터 제1 대화방을 선택받을 수 있다(S710). 예를 들면, 전자 장치(100)는 도 6의 (a)에 도시된 복수의 대화방 중 '회사 AI 연구소' 대화방을 선택하는 사용자 명령을 입력 받을 수 있다.
사용자에 의해 선택된 제1 대화방 상에서 제2 문장이 입력되면, 전자 장치(100)는 제2 문장에 기초하여 복수의 대화방 각각에 대응되는 제1 스코어 및 제2 스코어를 획득할 수 있다(S720). 예를 들어, 전자 장치(100)는 제1 모델, 제2 모델 및 제3 모델을 이용하여 제2 문장에 기초하여 복수의 대화방 각각에 대응되는 제1 스코어 및 제2 스코어를 획득할 수 있다. 각 모델을 통해 제1 스코어 및 제2 스코어를 획득하는 과정은 전술하였으므로 중복되는 설명은 생략하도록 한다.
예를 들면, 사용자에 의해 선택된 회사 AI 연구소 대화방에 메시지를 입력할 수 있는 입력창(810)에 제2 문장(예로, '그나저나 철수 헤어졌다는 얘기 들었니?')이 입력되면, 전자 장치(100)는 제2 문장에 기초하여 복수의 대화방 각각에 대응되는 제1 스코어 및 제2 스코어를 획득할 수 있다.
전자 장치(100)는 제2 문장에 기초하여 획득된 제1 스코어 및 제2 스코어와 복수의 대화방 각각의 활성화 정도에 기초하여 복수의 대화방 각각에 대응되는 합산 스코어를 획득할 수 있다(S730).
합산 스코어는 예를 들어, 복수의 대화방 각각의 격식 레벨 및 주제에 대응되는 스코어와 제2 문장의 격식 레벨 및 주제에 대응되는 스코어 간의 유사도를 나타내는 제1 스코어, 복수의 대화방에 입력된 문장 및 제2 문장 간의 관련도를 나타내는 제2 스코어 및 복수의 대화방 각각의 활성화 지수를 나타내는 제5 스코어가 합산된 스코어를 의미할 수 있다.
복수의 대화방 중 제1 대화방에 대응되는 합산 스코어보다 높은 값의 합산 스코어를 가지는 제2 대화방이 존재하는 경우, 전자 장치(100)는 제2 대화방에 제2 문장을 전송할지 여부를 문의하는 메시지를 제공할 수 있다(S740). 예를 들어, 입력된 제2 문장이 사용자로부터 선택된 대화방이 아닌 다른 대화방에 더 적합하다고 판단할 경우, 전자 장치(100)는 더 적합하다고 판단한 대화방에 제2 문장을 입력할지 여부를 문의하는 메시지를 제공할 수 있다. 전자 장치(100)는 메시지에 대응되는 사용자 명령에 따라 제2 문장을 제1 대화방 또는 제2 대화방에 입력할 수 있다.
예를 들면, 입력된 제2 문장에 기초하여 회사 AI 연구소 대화방에 대응되는 합산 스코어보다 대학교 동문 모임 대화방에 대응되는 합산 스코어가 높을 경우, 전자 장치(100)는 제2 문장을 대학교 동문 모임 대화방에 입력할지 여부를 문의하는 메시지(820)를 제공할 수 있다. 전자 장치(100)는 메시지(820)에 대응되는 사용자의 명령에 따라 입력창(810)에 입력된 제2 문장을 회사 AI 연구소 대화방 또는 대학교 동문 모임 대화방에 입력할 수 있다.
도 9는 본 개시의 다양한 실시예에 따른, 전자 장치(100)의 예시적인 구성을 상세히 도시한 블록도이다. 전자 장치(100)는 메모리(110), 통신부(예를 들어, 통신 회로를 포함)(120), 프로세서(예를 들어, 프로세싱 회로를 포함)(130), 디스플레이(140), 스피커(150), 마이크(160) 및 입력부(예를 들어, 입력 회로를 포함)(170)를 포함할 수 있다. 메모리(110), 통신부 및 프로세서(130)는 도 1을 참조하여 구체적으로 설명하였으므로 중복되는 설명은 생략하도록 한다.
디스플레이(140)는 프로세서(130)의 제어에 따라 다양한 정보를 표시할 수 있다. 특히, 디스플레이(140)는 메신저 어플리케이션의 실행 화면 및 사용자에 의해 입력된 문장을 표시할 수 있다. 메신저 어플리케이션의 실행 화면 상에는 사용자가 입력한 문장을 표시하는 입력창이 포함될 수 있다.
또 다른 예로, 디스플레이(140)는 사용자에게 입력된 문장을 복수의 대화방 중 하나에 입력한다는 메시지 또는 입력된 문장이 사용자에 의해 선택된 대화방에 적합하지 않으며 다른 대화방에 더 적합하다는 메시지를 표시할 수 있다. 또 다른 예로, 디스플레이(140)는 입력된 문장이 사용자에 의해 선택된 대화방에 적합하지 않음을 나타내는 인디케이터를 표시할 수 있다.
디스플레이(140)는 터치 패널과 함께 터치 스크린으로 구현될 수 있으며, 플렉서블 디스플레이로도 구현될 수 있다.
스피커(150)는 오디오 처리부에 의해 디코딩이나 증폭, 노이즈 필터링과 같은 다양한 처리 작업이 수행된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지를 출력하는 구성이다.
스피커(150)는 사용자에게 입력된 문장을 복수의 대화방 중 하나에 입력한다는 메시지 또는 입력된 문장이 사용자에 의해 선택된 대화방에 적합하지 않으며 다른 대화방에 더 적합하다는 메시지를 음성 형태로 출력할 수 있다. 또 다른 예로, 스피커(150)는 입력된 문장이 사용자에 의해 선택된 대화방에 적합하지 않음을 나타내는 알림음을 출력할 수 있다.
마이크(160)는 사용자로부터 음성을 입력받을 수 있는 구성이다. 마이크(160)는 전자 장치(100) 내부에 구비될 수 있으나, 외부에 구비되어 전자 장치(100)와 전기적으로 연결될 수 있다. 또한, 마이크(160)가 외부에 구비된 경우, 마이크(160)는 유/무선 인터페이스(예를 들어, Wi-Fi, 블루투스)을 통해 생성된 사용자 음성 신호를 프로세서(130)에 전송할 수 있다.
마이크(160)는 대화방 상에 특정 메시지를 입력하라는 사용자 음성을 입력받을 수 있다. 이 때, 사용자 음성에는 대화 시스템을 활성화시킬 수 있는 웨이크 업 워드(wake-up word)(또는, 트리거 워드(trigger word))를 포함할 수 있다.
입력부(170)는 회로를 포함하며, 전자 장치(100)를 제어하기 위한 사용자 입력을 수신할 수 있다. 특히, 입력부(170)는 사용자 손 또는 스타일러스 펜 등을 이용한 사용자 터치를 입력받기 위한 터치 패널, 사용자 조작을 입력받기 위한 버튼 등이 포함될 수 있다. 또 다른 예로, 입력부(170)는 다른 입력 장치(예로, 키보드, 마우스, 모션 입력부 등)로 구현될 수 있다. 한편, 입력부(170)는 대화방 상에 메시지를 입력하기 위해 사용자로부터 문장을 입력 받을 수 있다.
본 개시에 첨부된 도면은 본 개시에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 부프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 개시의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 서버 클라우드를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러에 의해 생성되는 코드 또는 인터프리터에 의해 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. '비일시적은 저장매체'는 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
다양한 실시 예에 따르면, 본 개시에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예로, 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
본 개시는 다양한 실시예를 통해 설명되었지만, 다양한 실시에는 제한적인 것이 아니라 예시적인 것으로 이해될 것이다. 첨부된 청구범위 및 균등물을 포함하는 본 개시의 진정한 사상 및 전체 권리 범위를 벗어나지 않고 형태 및 세부사항에서의 다양한 변경이 이루어질 수 있다는 점이 당업자에 의해 추가적으로 이해될 것이다.

Claims (15)

  1. 전자 장치에 있어서,
    메모리; 및
    메신저 어플리케이션을 통해 생성된 복수의 대화방 상에 입력된 문장을 제1 모델에 입력하여 상기 복수의 대화방 각각에서 진행된 대화의 특징 정보를 획득하고,
    제1 문장이 입력되면, 상기 제1 문장 및 상기 특징 정보를 제2 모델에 입력하여 상기 제1 문장 및 상기 복수의 대화방 각각에서 진행된 대화의 특징 간의 유사도를 나타내는 제1 스코어를 획득하고,
    상기 제1 문장 및 상기 복수의 대화방 상에 입력된 문장을 제3 모델에 입력하여 상기 제1 문장과 상기 복수의 대화방 상에 입력된 문장 간의 관련도를 나타내는 제2 스코어를 획득하고,
    상기 특징 정보, 상기 제1 스코어 및 상기 제2 스코어에 기초하여 상기 복수의 대화방 중 상기 제1 문장에 대응되는 대화방으로 식별하고,
    상기 제1 문장을 상기 식별된 대화방에 입력하는 프로세서;를 포함하는 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 대화방 상에 입력된 문장을 상기 제1 모델에 입력하여 상기 복수의 대화방 각각에서 진행되는 대화의 격식을 나타내는 제3 스코어, 상기 복수의 대화방 각각에서 진행되는 대화의 주제에 대응되는 제4 스코어 및 상기 복수의 대화방 각각의 활성화 정도를 나타내는 제5 스코어를 포함하는 상기 특징 정보를 획득하는 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 제1 모델 중 격식 분류 모듈을 통해, 상기 복수의 대화방 각각에서 진행되는 대화의 격식 레벨을 분류하고, 상기 분류된 격식 레벨에 기초하여 상기 복수의 대화방 각각에 대응되는 제3 스코어를 획득하고,
    상기 제1 모델 중 주제 분류 모듈을 통해, 상기 복수의 대화방 각각에서 진행되는 대화의 주제를 복수의 카테고리로 분류하고, 상기 복수의 대화방 각각에서 진행되는 대화 상에서 상기 분류된 복수의 카테고리의 비중에 기초하여 상기 복수의 대화방 각각에 대응되는 제4 스코어를 획득하는 전자 장치.
  4. 제2항에 있어서,
    상기 프로세서는,
    상기 제1 모델 중 활성화 분류 모델을 통해, 상기 복수의 대화방 각각의 전체 사용자들의 문장의 입력 빈도 및 상기 복수의 대화방 각각에 문장을 입력한 빈도에 기초하여 상기 복수의 대화방 각각에 대응되는 제5 스코어를 획득하는 전자 장치.
  5. 제2항에 있어서,
    상기 프로세서는,
    상기 제1 모델을 통해, 상기 복수의 대화방에서 진행된 대화를 전체 시간 동안 진행된 제1 대화, 특정한 시간동안 진행된 제2 대화 및 문장이 입력된 제3 대화로 분류하고,
    상기 제1 대화, 상기 제2 대화 및 상기 제3 대화 각각에 대응되는 격식 레벨 및 주제를 식별하고, 상기 식별된 격식 레벨 및 주제에 기초하여 상기 복수의 대화방 각각에 대응되는 상기 제3 스코어 및 상기 제4 스코어를 획득하는 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 제2 모델을 통해, 상기 제1 문장의 격식 레벨에 대응되는 스코어 및 상기 제1 문장의 주제에 대응되는 스코어를 획득하고, 상기 특징 정보 중 상기 제3 스코어 및 상기 제4 스코어와 상기 획득된 제1 문장의 격식 레벨에 대응되는 스코어 및 상기 제1 문장의 주제에 대응되는 스코어간의 유사도를 산출하고, 상기 산출된 유사도에 기초하여 상기 복수의 대화방 각각에 대응되는 상기 제1 스코어를 획득하는 전자 장치.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 대화방 상의 활성화 정도에 기초하여 상기 복수의 대화방 별로 최근에 입력된 적어도 하나의 문장을 주제 별로 분류한 데이터 베이스를 상기 메모리에 저장하고,
    상기 데이터 베이스 중 상기 제1 문장의 주제에 대응되는 문장과 상기 제1 문장을 상기 제3 모델에 입력하여 상기 제1 문장의 주제에 대응되는 문장과 상기 제1 문장 간의 관련도를 나타내는 스코어를 획득하고,
    상기 획득된 제1 문장의 주제에 대응되는 문장과 상기 제1 문장 간의 관련도를 나타내는 스코어 중 상기 대화방 별로 가장 높은 스코어를 식별하고, 상기 식별된 대화방 별로 가장 높은 스코어를 상기 복수의 대화방 각각에 대응되는 제2 스코어로 식별하는 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 대화방 각각에 대응되는 상기 제1 스코어, 상기 제2 스코어 및 상기 특징 정보 중 상기 복수의 대화방 각각의 활성화 정도를 나타내는 제5 스코어를 합산하여 상기 복수의 대화방 각각에 대응되는 합산 스코어를 획득하고,
    상기 복수의 대화방 중 상기 합산 스코어가 가장 높은 대화방을 상기 제1 문장에 대응되는 대화방으로 식별하는 전자 장치.
  9. 제8항에 있어서,
    상기 프로세서는,
    상기 제1 문장의 특징 또는 상기 복수의 대화방 각각에 대응되는 스코어의 크기에 기초하여 상기 합산 스코어를 획득하기 위해 각 스코어에 적용하는 가중치를 조절하는 전자 장치.
  10. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 대화방 중 상기 사용자로부터 선택된 제1 대화방 상에 제2 문장이 입력되면, 상기 제2 문장에 기초하여 상기 복수의 대화방 각각에 대응되는 제1 스코어 및 제2 스코어를 획득하고,
    상기 제2 문장에 기초하여 획득된 제1 스코어와 제2 스코어 및 상기 복수의 대화방의 활성화 정도에 기초하여 상기 복수의 대화방 각각에 대응되는 합산 스코어를 획득하고,
    상기 복수의 대화방 중 상기 제1 대화방에 대응되는 합산 스코어보다 높은 값의 합산 스코어를 가지는 제2 대화방이 있는 경우, 상기 제2 대화방에 상기 제2 문장을 전송할지 여부를 문의하는 메시지를 제공하는 전자 장치.
  11. 전자 장치의 제어 방법에 있어서,
    메신저 어플리케이션을 통해 생성된 복수의 대화방 상에 입력된 문장을 제1 모델에 입력하여 상기 복수의 대화방 각각에서 진행된 대화의 특징 정보를 획득하는 단계;
    제1 문장이 입력되면, 상기 제1 문장 및 상기 특징 정보를 제2 모델에 입력하여 상기 제1 문장 및 상기 복수의 대화방 각각에서 진행된 대화의 특징 간의 유사도를 나타내는 제1 스코어를 획득하는 단계;
    상기 제1 문장 및 상기 복수의 대화방 상에 입력된 문장을 제3 모델에 입력하여 상기 제1 문장과 상기 복수의 대화방 상에 입력된 문장 간의 관련도를 나타내는 제2 스코어를 획득하는 단계;
    상기 특징 정보, 상기 제1 스코어 및 상기 제2 스코어에 기초하여 상기 복수의 대화방 중 상기 제1 문장에 대응되는 대화방으로 식별하는 단계; 및
    상기 제1 문장을 상기 식별된 대화방에 입력하는 단계;를 포함하는 제어 방법.
  12. 제11항에 있어서,
    상기 특징 정보를 획득하는 단계는,
    상기 복수의 대화방 상에 입력된 문장을 상기 제1 모델에 입력하여 상기 복수의 대화방 각각에서 진행되는 대화의 격식을 나타내는 제3 스코어, 상기 복수의 대화방 각각에서 진행되는 대화의 주제에 대응되는 제4 스코어 및 상기 복수의 대화방 각각의 활성화 정도를 나타내는 제5 스코어를 포함하는 상기 특징 정보를 획득하는 단계;를 포함하는 제어 방법.
  13. 제12항에 있어서,
    상기 특징 정보를 획득하는 단계는,
    상기 제1 모델 중 격식 분류 모듈을 통해, 상기 복수의 대화방 각각에서 진행되는 대화의 격식 레벨을 분류하고, 상기 분류된 격식 레벨에 기초하여 상기 복수의 대화방 각각에 대응되는 제3 스코어를 획득하고,
    상기 제1 모델 중 주제 분류 모듈을 통해, 상기 복수의 대화방 각각에서 진행되는 대화의 주제를 복수의 카테고리로 분류하고, 상기 복수의 대화방 각각에서 진행되는 대화 상에서 상기 분류된 복수의 카테고리의 비중에 기초하여 상기 복수의 대화방 각각에 대응되는 제4 스코어를 획득하는 단계;를 포함하는 제어 방법.
  14. 제12항에 있어서,
    상기 특징 정보를 획득하는 단계는,
    상기 제1 모델 중 활성화 분류 모델을 통해, 상기 복수의 대화방 각각의 전체 사용자들의 문장의 입력 빈도 및 상기 복수의 대화방 각각에 문장을 입력한 빈도에 기초하여 상기 복수의 대화방 각각에 대응되는 제5 스코어를 획득하는 전자 장치.
  15. 제12항에 있어서,
    상기 특징 정보를 획득하는 단계는,
    상기 제1 모델을 통해, 상기 복수의 대화방에서 진행된 대화를 전체 시간 동안 진행된 제1 대화, 특정한 시간동안 진행된 제2 대화 및 문장이 입력된 제3 대화로 분류하는 단계; 및
    상기 제1 대화, 상기 제2 대화 및 상기 제3 대화 각각에 대응되는 격식 레벨 및 주제를 식별하고, 상기 식별된 격식 레벨 및 주제에 기초하여 상기 복수의 대화방 각각에 대응되는 상기 제3 스코어 및 상기 제4 스코어를 획득하는 단계;를 포함하는 제어 방법.
PCT/KR2021/012059 2020-09-21 2021-09-06 전자 장치 및 이의 제어 방법 WO2022059985A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/503,819 US12069011B2 (en) 2020-09-21 2021-10-18 Electronic device and method for controlling electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200121778A KR20220039103A (ko) 2020-09-21 2020-09-21 전자 장치 및 이의 제어 방법
KR10-2020-0121778 2020-09-21

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/503,819 Continuation US12069011B2 (en) 2020-09-21 2021-10-18 Electronic device and method for controlling electronic device

Publications (1)

Publication Number Publication Date
WO2022059985A1 true WO2022059985A1 (ko) 2022-03-24

Family

ID=80776304

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/012059 WO2022059985A1 (ko) 2020-09-21 2021-09-06 전자 장치 및 이의 제어 방법

Country Status (2)

Country Link
KR (1) KR20220039103A (ko)
WO (1) WO2022059985A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160029045A (ko) * 2016-02-23 2016-03-14 임형철 메시지 전송 차단 방법
KR101614287B1 (ko) * 2015-04-22 2016-04-21 주식회사 카카오 채팅방 간편 이동 기능 제공 방법 및 이를 위한 단말
KR20180124433A (ko) * 2017-05-11 2018-11-21 주식회사 넥슨코리아 메시지 오전송 방지 방법 및 그를 수행하는 메신저 서비스 제공 장치
KR20200000604A (ko) * 2018-06-25 2020-01-03 현대자동차주식회사 대화 시스템 및 대화 처리 방법
KR20200011123A (ko) * 2018-07-24 2020-02-03 라인플러스 주식회사 어플리케이션의 내용 분석을 통해 사용자 접근을 제어하는 방법 및 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101614287B1 (ko) * 2015-04-22 2016-04-21 주식회사 카카오 채팅방 간편 이동 기능 제공 방법 및 이를 위한 단말
KR20160029045A (ko) * 2016-02-23 2016-03-14 임형철 메시지 전송 차단 방법
KR20180124433A (ko) * 2017-05-11 2018-11-21 주식회사 넥슨코리아 메시지 오전송 방지 방법 및 그를 수행하는 메신저 서비스 제공 장치
KR20200000604A (ko) * 2018-06-25 2020-01-03 현대자동차주식회사 대화 시스템 및 대화 처리 방법
KR20200011123A (ko) * 2018-07-24 2020-02-03 라인플러스 주식회사 어플리케이션의 내용 분석을 통해 사용자 접근을 제어하는 방법 및 시스템

Also Published As

Publication number Publication date
KR20220039103A (ko) 2022-03-29

Similar Documents

Publication Publication Date Title
WO2020166896A1 (en) Electronic apparatus and controlling method thereof
WO2019172656A1 (en) System and method for language model personalization
WO2019182346A1 (ko) 인공지능 모델을 이용하여 사용자 음성을 변조하기 위한 전자 장치 및 이의 제어 방법
WO2019194451A1 (ko) 인공지능을 이용한 음성 대화 분석 방법 및 장치
WO2020080830A1 (en) Electronic device for reconstructing an artificial intelligence model and a control method thereof
WO2019112342A1 (en) Voice recognition apparatus and operation method thereof cross-reference to related application
WO2020130549A1 (en) Electronic device and method for controlling electronic device
EP3523710A1 (en) Apparatus and method for providing sentence based on user input
WO2020222384A1 (ko) 전자 장치 및 이의 제어 방법
WO2019125082A1 (en) Device and method for recommending contact information
WO2018101671A1 (en) Apparatus and method for providing sentence based on user input
WO2021071110A1 (en) Electronic apparatus and method for controlling electronic apparatus
WO2021029643A1 (en) System and method for modifying speech recognition result
WO2018174397A1 (ko) 전자 장치 및 제어 방법
WO2019164144A1 (ko) 전자 장치 및 이의 자연어 생성 방법
WO2020180001A1 (ko) 전자 장치 및 이의 제어 방법
EP3652925A1 (en) Device and method for recommending contact information
WO2020045794A1 (ko) 전자 장치 및 그 제어 방법
WO2018097439A1 (ko) 발화의 문맥을 공유하여 번역을 수행하는 전자 장치 및 그 동작 방법
WO2022139122A1 (ko) 전자 장치 및 이의 제어 방법
WO2021054613A1 (en) Electronic device and method for controlling the electronic device thereof
WO2022039433A1 (ko) 대화 텍스트에 대한 요약 정보를 생성하는 전자 장치 및 그 동작 방법
US20210166685A1 (en) Speech processing apparatus and speech processing method
WO2022059985A1 (ko) 전자 장치 및 이의 제어 방법
WO2021045434A1 (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: 21869607

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

Country of ref document: EP

Kind code of ref document: A1