KR20020042248A - Method and system for perceiving emotion from the text and visualizing the perceived emotion - Google Patents
Method and system for perceiving emotion from the text and visualizing the perceived emotion Download PDFInfo
- Publication number
- KR20020042248A KR20020042248A KR1020000072063A KR20000072063A KR20020042248A KR 20020042248 A KR20020042248 A KR 20020042248A KR 1020000072063 A KR1020000072063 A KR 1020000072063A KR 20000072063 A KR20000072063 A KR 20000072063A KR 20020042248 A KR20020042248 A KR 20020042248A
- Authority
- KR
- South Korea
- Prior art keywords
- sentence
- emotional state
- analyzed
- probability
- state
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/50—Business processes related to the communications industry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명에서는 메신저나 채팅에서 전달되는 텍스트를 분석하여 텍스트 내에 포함된 감정을 인식하고 이를 캐릭터의 표정이나 동작 등을 이용하여 시각적으로 표시할 수 있는 방법을 제공한다.The present invention provides a method of analyzing the text transmitted from a messenger or a chat to recognize an emotion included in the text and visually displaying it using a character's expression or motion.
먼저 샘플 문장들을 분석하여 각 문장에 그 문장이 나타내는 감정 상태를 코드로 부여하고, 해당 감정 상태를 나타내는 문장이 나타날 선험적 확률을 계산한다. 다음, 문장 내에 포함된 어절(띄어쓰기를 단위로 구분됨)에 대해 그 어절이 나타내는 감정 상태를 코드로 부여하고, 해당 감정 상태의 문장 내에서 해당 어절이 나타날 가능성을 계산한다. 이와 같이 두 값이 계산되면, 분석 대상의 문장의 어절을 분석하여 각 상태별로 상태 i의 선험적 확률과 해당 문장 내의 단어들이 상태 i에서 나타날 확률을 모두 곱하여 해당 문장의 각 상태별 확률을 계산하고, 이 중 가장 높은 확률을 갖는 감정 상태를 그 문장의 감정 상태로 결정한다. 한편, 그 자체로 텍스트의 감정을 표시할 수 있는 그림문자(이모티콘), 의성어/의태어, 감정을 나타내는 기호(!, ?) 등은 별도로 처리하여 처리의 효율을 높인다.First, the sample sentences are analyzed to give each sentence an emotional state represented by the sentence as a code, and a priori probability of appearing a sentence representing the emotional state is calculated. Next, for the word included in the sentence (divided by the unit of the spacing), the emotional state indicated by the word is given as a code, and the probability of the word appearing in the sentence of the emotional state is calculated. When two values are calculated as described above, the word of the sentence to be analyzed is analyzed, and the probability of each state of the sentence is calculated by multiplying the a priori probability of state i and the probability that words in the sentence appear in state i for each state. The emotional state having the highest probability is determined as the emotional state of the sentence. On the other hand, the pictograms (emoticons), onomatopoeia / idioms, symbols representing emotions (!,?), Etc., which can express the emotions of the texts themselves, are separately processed to increase processing efficiency.
Description
본 발명은 텍스트 문장으로부터 그 내용 안에 포함된 감정을 인식하고 이를표시하기 위한 방법 및 시스템에 관한 것으로서, 구체적으로는 컴퓨터 통신 상의 메신저나 채팅에서 사용되는 텍스트를 분석하여 감정을 인식하고 이를 컴퓨터 화면의 캐릭터를 이용해 표시하는 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for recognizing and displaying emotions contained in the contents from text sentences. Specifically, the present invention relates to analyzing texts used in messengers or chats on computer communications to recognize emotions, and A method and system for displaying using characters.
컴퓨터를 이용해 다른 사용자 간에 통신하는 방법으로는 전자우편, 채팅, 메신저 등의 방법이 있다. 이 중 메신저란 두 사용자가 적은 양의 문자 데이터를 실시간으로 전송할 수 있도록 해주는 소프트웨어를 말하는데, 수신자가 우편함을 수시로 확인해야 하는 전자우편 시스템과, 대화할 사람들이 약속된 시간에 특정 서버로 동시에 접속해야 하는 채팅 사이의 중간적인 것으로 볼 수 있으며, 앞서 설명한 두 방식의 단점을 해결함으로써 최근 그 사용이 급속히 늘어나고 있다.As a method of communicating between different users using a computer, there are methods such as email, chat, and messenger. The messenger is a software that allows two users to send a small amount of text data in real time. An e-mail system where the receiver frequently checks the mailbox and the people who need to talk to the server at the same time should be connected to a specific server. It can be seen as an intermediate between chats, and its use is rapidly increasing by solving the shortcomings of the two methods described above.
메신저를 비롯하여, 전자우편이나 채팅 등의 컴퓨터 통신 방법은 텍스트를 위주로 하는 의사소통을 하게 되므로, 일상어 전달시 필요한 화자의 표정 등을 표현하는 데에는 무리가 있다. 이러한 한계를 극복하기 위하여 젊은 층을 중심으로 이모티콘(emoticon; 그림문자)의 사용이 활성화되었다. 이모티콘은 유닉스(UNIX) 시스템의 네트워크 사용자들이 사용했던 스마일리(smiley)에서 그 유래를 찾을 수 있는데, 국내에서는 채팅 사용자를 중심으로 다양한 표정이 개발되었다. 표 1은 현재 채팅에서 많이 쓰이는 그림문자와 인터넷에서 자주 사용되는 이모티콘의 예이다.In addition to messengers, computer communication methods such as e-mail and chat are mainly text-based communication. In order to overcome this limitation, the use of emoticons has been activated around young people. Emoticons can be found in the smiley used by the network users of the UNIX system, and various expressions have been developed mainly in the chat users in Korea. Table 1 shows some of the most commonly used pictograms in chat and emoticons that are often used on the Internet.
이러한 그림문자는 텍스트 중심의 통신 때문에 발전한 것으로서, 현재 개인 사용자들이 주로 사용하는 마이크로소프트(Microsoft)사의 윈도우즈(Windows) 운영체제는 그래픽 인터페이스 방식의 운영체제로서 이론적으로 이러한 그림문자의 사용이 필요없이 그림을 이용한 더 직관적이고 감성적인 화자의 감정 표현이 가능하므로, 전송되는 텍스트로부터 감정을 인식하고 이를 시각화하여 그림으로 표시해줄 수 있다면, 컴퓨터 통신을 이용하여 메시지를 전달할 때 대화자의 감정을 좀 더 효과적이고 풍부하게 전달할 수 있을 것이다.These pictograms have been developed due to text-oriented communication, and Microsoft's Windows operating system, which is mainly used by individual users, is a graphic interface type operating system. More intuitive and emotional speakers can express their emotions, so if they can recognize the emotions from the transmitted text, visualize them, and display them in a picture, they can more effectively and richly communicate the emotions of the speakers when delivering messages using computer communication. Will be able to deliver.
본 발명은 이러한 점을 감안하여 이루어진 것으로서, 일정한 텍스트 문장을 분석하여 문장 내에 포함된 감정을 인식하고 이를 시각적으로 표시할 수 있는 방법 및 시스템을 제공하는 것을 그 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made in view of this point, and an object thereof is to provide a method and system for analyzing certain text sentences and recognizing and visually displaying the emotions contained in the text.
본 발명의 다른 목적은 메신저 프로그램을 이용할 때 전송되는 텍스트 메시지로부터 감정을 인식하여 이를 메시지와 함께 시각적으로 표시할 수 있는 방법 및 시스템을 제공하는 것이다.Another object of the present invention is to provide a method and system for recognizing an emotion from a text message transmitted when using a messenger program and visually displaying the emotion together with the message.
도 1은 본 발명에 따른 감정 인식 과정에서 통계적인 분석을 통해 그 문장의 감정 상태를 결정하는 과정을 나타내는 흐름도이다.1 is a flowchart illustrating a process of determining an emotional state of a sentence through statistical analysis in an emotion recognition process according to the present invention.
도 2는 본 발명에 따른 감정 인식 과정을 전체적으로 나타낸 흐름도이다.2 is a flowchart illustrating an emotion recognition process according to the present invention as a whole.
도 3은 본 발명에 따른 감정 인식 및 시각화 과정을 메신저 프로그램에서 구현한 예이다.3 is an example of implementing the emotion recognition and visualization process according to the present invention in a messenger program.
도 4는 본 발명에 따른 감정 인식 및 시각화 과정을 채팅 프로그램에서 구현한 예이다.4 is an example of implementing the emotion recognition and visualization process according to the present invention in the chat program.
도 5a 내지 도 5j는 본 발명에서 감정 시각화를 위해 사용하는 캐릭터의 행동의 예를 나타낸다.5A to 5J show examples of the behavior of the character used for emotion visualization in the present invention.
이와 같은 목적을 달성하기 위하여 본 발명에서는, 먼저 샘플 문장들을 분석하여 각 문장에 그 문장이 나타내는 감정 상태를 코드로 부여하고, 해당 감정 상태를 나타내는 문장이 나타날 선험적 확률을 계산한다. 다음, 문장 내에 포함된 어절(띄어쓰기를 단위로 구분됨)에 대해 그 어절이 나타내는 감정 상태를 코드로 부여하고, 해당 감정 상태의 문장 내에서 해당 어절이 나타날 가능성을 계산한다. 이와 같이 두 값이 계산되면, 분석 대상의 문장의 어절을 분석하여 각 상태별로 상태 i의 선험적 확률과 해당 문장 내의 단어들이 상태 i에서 나타날 확률을 모두 곱하여 해당 문장의 각 상태별 확률을 계산하고, 이 중 가장 높은 확률을 갖는 감정 상태를 그 문장의 감정 상태로 결정한다. 한편, 그 자체로 텍스트의 감정을 표시할 수 있는 그림문자(이모티콘), 의성어/의태어, 감정을 나타내는 기호(!, ?) 등은 별도로 처리하여 처리의 효율을 높인다.In order to achieve the above object, in the present invention, first, sample sentences are analyzed to give an emotional state represented by the sentence to each sentence as a code, and a priori probability of appearing a sentence representing the emotional state is calculated. Next, for the word included in the sentence (divided by the unit of the spacing), the emotional state indicated by the word is given as a code, and the probability of the word appearing in the sentence of the emotional state is calculated. When two values are calculated as described above, the word of the sentence to be analyzed is analyzed, and the probability of each state of the sentence is calculated by multiplying the a priori probability of state i and the probability that words in the sentence appear in state i for each state. The emotional state having the highest probability is determined as the emotional state of the sentence. On the other hand, the pictograms (emoticons), onomatopoeia / idioms, symbols representing emotions (!,?), Etc., which can express the emotions of the texts themselves, are separately processed to increase processing efficiency.
즉, 본 발명에 따른 문장으로부터의 감정 인식 방법은, 샘플링된 다수의 문장에 대해 각 문장이 나타내는 감정 상태를 표시하는 코드를 부여하고, 전체 문장 수에 대해 감정 상태 i로 판별된 문장 수의 비율을 계산하여 각 감정 상태의 선험적 확률을 계산한 표와, 다수의 문장을 띄어쓰기를 단위로 구분되는 어절로 분리한 후 각 어절마다 그 어절이 나타내는 감정 상태를 표시하는 코드를 부여하고, 각 감정 상태별로 해당 감정 상태의 문장에서 나타나는 어절의 종류와 해당 어절이 나타날 확률을 계산한 표를 이용하여, 분석 대상 문장에 대해 각 감정 상태별로 감정 상태 i의 선험적 확률과 해당 문장 내의 단어들이 감정 상태 i에서 나타날 확률을모두 곱하여 분석 대상 문장의 각 감정 상태별 확률을 계산하여, 각 감정 상태 중 가장 높은 확률을 갖는 감정 상태를 분석 대상 문장의 감정 상태로 결정하는 단계를 포함한다.That is, the emotion recognition method from sentences according to the present invention provides a code indicating an emotional state represented by each sentence to a plurality of sampled sentences, and the ratio of the number of sentences determined by the emotional state i to the total number of sentences. By calculating the a priori probability of each emotional state, and separates a large number of sentences into words separated by spaces, and gives a code to display the emotional state represented by the word for each word, each emotional state For each sentence, the a priori probability of the emotional state i and the words in the sentence are determined by the emotional state i. The probability of each emotional state of the sentence to be analyzed is multiplied by the probability of all occurrences, and the highest probability of each emotional state is obtained. Determining a positive emotional state to analyze the state of the target sentence.
여기에서, 이와 같은 단계 이전에, 분석 대상 문장으로부터 감정을 나타내는 그림문자나 의성어/의태어를 찾아내어, 발견된 그림문자 또는 의성어/의태어를 미리 지정한 기호로 변환하는 단계와, 분석 대상 문장 내에 위와 같은 기호가 포함되어 있는 경우에는, 그 기호가 나타내는 감정 상태를 분석 대상 문장의 감정 상태로 결정하고, 분석 대상 문장 내에 위와 같은 기호가 포함되어 있지 않은 경우에 앞서와 같은 단계를 통해 문장의 감정 상태를 결정할 수도 있다.Here, prior to such a step, finding a pictogram or an onomatopia / protocol representing emotions from the sentence to be analyzed, and converting the found pictogram or onomatopia / protocol to a predetermined symbol, and in the sentence to be analyzed as above. If the symbol is included, the emotional state represented by the symbol is determined as the emotional state of the sentence to be analyzed, and if the sentence is not included in the sentence to be analyzed, the emotional state of the sentence is performed through the same steps as described above. You can also decide.
또한, 앞서 설명한 단계 이전에, 분석 대상 문장으로부터 문장의 감정 상태와 관계없는 특수문자를 제거하는 단계를 더 포함하거나, 분석 대상 문장으로부터 물음표와 느낌표를 포함하는 문장의 감정 상태와 관계되는 문자를 찾아내고, 문장의 감정 상태와 관계되는 동일한 문자가 두 개 이상 반복될 경우, 반복되는 동일한 문자를 하나의 해당 문자로 대체하는 단계를 더 포함할 수도 있다.In addition, before the above-described step, further comprising the step of removing a special character unrelated to the emotional state of the sentence from the sentence to be analyzed, or find a character related to the emotional state of the sentence including a question mark and an exclamation mark from the analysis target sentence If more than two of the same character related to the emotional state of the sentence is repeated, it may further include the step of replacing the same character is repeated with one corresponding character.
한편, 감정 상태별 확률을 계산하여 분석 대상 문장의 감정 상태를 결정하는 단계에서는, 가장 높은 확률을 갖는 감정 상태의 확률과 두번째로 높은 확률을 갖는 감정 상태의 확률의 차이가 미리 정한 소정값 이상인 경우에만 가장 높은 확률을 갖는 감정 상태를 분석 대상 문장의 감정 상태로 결정하고, 차이가 미리 정한 소정값 미만인 경우에는 분석 대상 문장의 감정 상태를 아무런 감정도 나타내지 않는 상태로 하는 결정하거나, 분석 대상 문장으로부터 물음표와 느낌표를 포함하는문장의 감정 상태와 관계되는 문자를 찾아내고, 문장의 감정 상태와 관계되는 문자가 발견될 경우, 문장의 감정 상태와 관계되는 문자에 해당하는 감정 상태를 분석 대상 문장의 감정 상태로 결정할 수도 있다.Meanwhile, in the step of determining the emotional state of the sentence to be analyzed by calculating the probability for each emotional state, the difference between the probability of the emotional state having the highest probability and the emotional state having the second highest probability is equal to or greater than a predetermined value. Only the emotional state having the highest probability is determined as the emotional state of the sentence to be analyzed, and when the difference is less than a predetermined predetermined value, the emotional state of the sentence to be analyzed is determined to show no emotion or from the sentence to be analyzed. Finds a character that is related to the emotional state of a sentence including a question mark and an exclamation point, and if a character is found that is related to the emotional state of the sentence, the emotional state corresponding to the character that is related to the emotional state of the sentence is analyzed. You can also decide to state.
한편, 분석 대상 문장 내에 그림문자나 의성어/의태어를 변환하여 나타낸 기호가 둘 이상 포함되어 있는 경우에는 둘 이상의 기호가 나타내는 감정 상태 중 우선순위가 높은 감정 상태를 분석 대상 문장의 감정 상태로 결정하는 것이 바람직하다.On the other hand, if the sentence to be analyzed includes more than one symbol represented by converting a pictogram or an onomatopoeia / phrase, determining the emotional state with the highest priority among the emotional states represented by the two or more symbols as the emotional state of the sentence to be analyzed. desirable.
한편, 본 발명에 따른 문장으로부터의 감정 표시 방법은, 앞서 설명한 감정 인식 방법에 의해 결정된 분석 대상 문장의 감정 상태를 시각적으로 표시하는 방법이며, 이는 결정된 감정 상태를 미리 정한 캐릭터의 표정이나 동작으로 표시하는 것이 될 수 있다.On the other hand, the emotion display method from the sentence according to the present invention is a method of visually displaying the emotional state of the analysis target sentence determined by the above-mentioned emotion recognition method, which is displayed by the expression or action of the character determined in advance It can be done.
본 발명에 따른 문장으로부터의 감정 인식 및 표시 시스템은, 서버 컴퓨터 및 다른 사용자의 컴퓨터와 컴퓨터 통신망을 통해 접속 가능하며 다른 사용자와의 메신저 통신을 할 수 있도록 해 주는 메신저 프로그램, 메신저 프로그램으로부터 전달하고자 하는 메시지를 담고 있는 문장을 전달받아 문장이 표시하는 감정 상태를 인식할 수 있는 감정 인식 엔진, 감정 인식 엔진으로부터 문장이 표시하는 감정 상태를 전달받아 감정 상태를 시각적으로 표시할 수 있는 감정 표시 엔진을 포함한다.Emotion recognition and display system from the sentence according to the present invention, the server computer and the other user's computer and can be connected through a computer communication network and a messenger program that allows messenger communication with other users, to deliver from the messenger program Emotion recognition engine that can receive the sentence containing the message to recognize the emotional state displayed by the sentence, Emotion display engine that can receive the emotional state displayed by the sentence from the emotion recognition engine to visually display the emotional state do.
본 발명에 따른 다른 문장으로부터의 감정 인식 및 표시 시스템은, 다수의 사용자가 컴퓨터 통신망을 통해 접속하여 채팅을 할 수 있도록 하는 채팅 서버 프로그램과, 채팅 서버 프로그램으로부터 전달하고자 하는 메시지를 담고 있는 문장을 전달받아 문장이 표시하는 감정 상태를 인식할 수 있는 감정 인식 엔진을 포함하는 서버 컴퓨터, 컴퓨터 통신망을 통하여 서버 컴퓨터에 접속하여 다른 사용자와 채팅을 할 수 있도록 하며, 서버 컴퓨터로부터 전달되는 문장과 함께 문장이 표시하는 감정 상태를 전달받을 수 있는 채팅 클라이언트 프로그램과, 채팅 클라이언트 프로그램으로부터 문장이 표시하는 감정 상태를 전달받아 감정 상태를 시각적으로 표시할 수 있는 감정 표시 엔진을 포함하는 사용자의 컴퓨터를 포함한다.Emotion recognition and display system from another sentence according to the present invention, a chat server program that allows a large number of users to connect and chat via a computer communication network, and delivers a sentence containing a message to be delivered from the chat server program A server computer including an emotion recognition engine that can recognize the emotion state indicated by the sentence, and connects to the server computer via a computer communication network to chat with other users. A user's computer includes a chat client program capable of receiving an emotional state to be displayed, and an emotion display engine capable of visually displaying the emotional state by receiving an emotional state displayed by a sentence from the chat client program.
여기에서, 감정 인식 엔진은, 분석 대상 문장으로부터 문장의 감정 상태와 관계없는 특수문자를 제거하는 단계, 분석 대상 문장으로부터 감정을 나타내는 그림문자, 의성어 또는 의태어를 찾아내어, 발견된 그림문자, 의성어 또는 의태어를 미리 지정한 기호로 변환하는 단계, 분석 대상 문장으로부터 물음표와 느낌표를 포함하는 문장의 감정 상태와 관계되는 문자를 찾아내고, 문장의 감정 상태와 관계되는 동일한 문자가 두 개 이상 반복될 경우, 반복되는 동일한 문자를 하나의 해당 문자로 대체하는 단계, 분석 대상 문장을 분석하여 분석 대상 문장 내에 상기 기호가 포함되어 있는 경우, 상기 기호가 나타내는 감정 상태를 분석 대상 문장의 감정 상태로 결정하는 단계, 분석 대상 문장 내에 상기 기호가 포함되어 있지 않은 경우, 샘플링된 다수의 문장에 대해 각 문장이 나타내는 감정 상태를 표시하는 코드를 부여하고, 전체 문장 수에 대해 감정 상태 i로 판별된 문장 수의 비율을 계산하여 각 감정 상태의 선험적 확률을 계산한 표와, 다수의 문장을 띄어쓰기를 단위로 구분되는 어절로 분리한 후 각 어절마다 그 어절이 나타내는 감정 상태를 표시하는코드를 부여하고, 각 감정 상태별로 해당 감정 상태의 문장에서 나타나는 어절의 종류와 해당 어절이 나타날 확률을 계산한 표를 이용하여, 분석 대상 문장에 대해 각 감정 상태별로 감정 상태 i의 선험적 확률과 해당 문장 내의 단어들이 감정 상태 i에서 나타날 확률을 모두 곱하여 분석 대상 문장의 각 감정 상태별 확률을 계산하여, 각 감정 상태 중 가장 높은 확률을 갖는 감정 상태를 분석 대상 문장의 감정 상태로 결정하는 단계를 통해 문장이 표시하는 감정을 인식한다.Here, the emotion recognition engine is to remove the special characters that are not related to the emotional state of the sentence from the sentence to be analyzed, to find the pictograms, onomatopoeia, or synonyms representing emotions from the sentence to be analyzed, and to find found pictograms, onomatopia or Converting the pseudonym to a predetermined symbol, finding a character related to the emotional state of the sentence including a question mark and an exclamation mark from the sentence to be analyzed, and repeating if two or more identical characters related to the emotional state of the sentence are repeated Replacing the same letter with one corresponding character; analyzing the sentence to be analyzed and determining the emotional state represented by the symbol as an emotional state of the sentence to be analyzed, if the symbol is included in the sentence to be analyzed; If the symbol is not included in the target sentence, a number of sampled statements A table is given to a chapter indicating a code indicating an emotional state represented by each sentence, a table of calculating the a priori probability of each emotional state by calculating the ratio of the number of sentences determined by the emotional state i to the total number of sentences, and a plurality of sentences. Separate the spaces into words separated by units, and assign each code to indicate the emotional state represented by the word, and determine the type of word and the probability of the word appearing in the sentence of the emotional state for each emotional state. Using the calculated table, the probability for each emotional state of the sentence to be analyzed is calculated by multiplying the a priori probability of the emotional state i for each emotional state and the probability that words in the sentence appear in the emotional state i for the sentence to be analyzed. The sentence is represented by determining the emotional state having the highest probability among each emotional state as the emotional state of the sentence to be analyzed. Recognize shy feelings.
또한, 감정 표시 엔진은 전달받은 감정 상태를 미리 정한 캐릭터의 표정이나 동작으로 표시하며, 전달받은 감정 상태 외에도 사용자의 컴퓨터 사용 상태나 사용자의 입력과 관련된 상태를 미리 정한 캐릭터의 표정이나 동작으로 표시할 수 있다.In addition, the emotion display engine displays the received emotional state with a predetermined character's expression or action, and in addition to the received emotional state, the emotion display engine may display the user's computer use state or a state related to the user's input with a predetermined character's expression or action. Can be.
이제 본 발명의 바람직한 실시예에 대하여 도면을 참고로 하여 상세히 설명한다.Preferred embodiments of the present invention will now be described in detail with reference to the drawings.
먼저 입력된 텍스트를 분석하여 감정을 인식하는 과정에 대해 상세히 설명한다. 감정 인식은 감정 인식 엔진에서 이후에 설명할 학습 알고리즘을 사용해 단어가 나타나는 확률 데이터베이스를 분석한 후 입력 데이터를 분석한다. 이를 위해 감정 인식 엔진은 다시 문장마다 상태를 표시해둔 초기 데이터를 이용하여 통계정보를 구축하는 학습엔진과 이를 이용하여 실제 입력된 문장의 감정 상태를 분류해주는 대화분석 엔진을 포함한다.First, the process of recognizing emotions by analyzing the input text will be described in detail. Emotion Recognition analyzes the input data after analyzing the probability database of words using a learning algorithm, which will be described later in the Emotion Recognition Engine. To this end, the emotion recognition engine includes a learning engine for constructing statistical information using initial data displaying states for each sentence, and a dialogue analysis engine for classifying the emotional states of the actual input sentences using the same.
그런데, 메신저나 채팅 데이터는 특징은 맞춤법이나 띄어쓰기를 무시한 글이대부분이며, 젊은 연령이 사용하는 언어의 특징 때문에 은어나 비어를 많이 사용한다는 특징을 갖고 있다. 따라서 이러한 상황에서 정통적인 형태소 분석을 한다는 것은 그다지 의미가 없으며, 오히려 비어나 이모티콘을 활용하는 것이 효과적일 수 있다. 예를 들어, 채팅에서 자주 쓰이는 단어로 '하이루'는 만날 때의 인사이다. 이것은 다른 용도로 쓰는 일이 거의 없는 뜻이 한정된 단어이기 때문에 그 텍스트를 시각화하는 데 결정적인 단서가 될 수 있다. 그리고 앞서 설명한 이모티콘들은 그 자체가 감정 표현에 쓰이면서 다른 용도로 쓰이지 않는 것들이 대부분이기 때문에 이러한 것들을 잘 활용할 경우 효과적인 분류가 가능하다.By the way, most of the messenger and chat data are characters that ignore spelling and spacing, and have a lot of sweetfish and beer because of the language used by young age. Therefore, it is not meaningful to use orthodox stemming in such a situation, but it may be effective to use a blank or emoticon. For example, a word often used in chat is 'Hiru'. This is a confined word that visualizes the text because it is a limited word with very few uses for other purposes. And because the emoticons described above are mostly used for expressing emotions and not used for other purposes, it is possible to effectively classify them.
통계적인 분석을 통해 그 문장의 감정 상태를 결정하는 과정이 도 1에 나타나 있다.The process of determining the emotional state of the sentence through statistical analysis is shown in FIG.
도 1에 나타난 바와 같이, 먼저 초기 데이터 구축을 위해 샘플링된 문장들에 대해 각각 그 문장이 나타내는 감정 상태를 코드로 표시한다(S110). 감정 상태는 필요에 따라 임의로 정해서 분류할 수 있으며, 예를 들면 다음의 표 2와 같이 분류할 수 있다.As shown in FIG. 1, first, for each sentence sampled for initial data construction, an emotional state represented by the sentence is displayed as a code (S110). Emotional states can be arbitrarily determined and classified as necessary, and can be classified, for example, as shown in Table 2 below.
샘플 문장은 채팅방에서 수집하고, 다음의 표 3에 나오는 바와 같이, 각 문장에 대해 그 문장이 나타내는 감정을 코드로 표시한다.Sample sentences are collected in a chat room, and as shown in Table 3 below, for each sentence, the emotions represented by the sentence are represented by a code.
다음, 각 상태에 대해 그 상태가 나타날 선험적 확률을 계산한다(S120). 그 상태가 나타날 선험적 확률은 아래의 수학식 1에 따라 정해진다.Next, for each state is calculated a priori probability that the state will appear (S120). The a priori probability of the state to be determined according to Equation 1 below.
그리고, 각 상태(클래스)별로 그 분장을 어절 단위로 분리해서 각 어절마다 다시 상태 번호를 부여(tagging)한다(S130). 이 때 데이터의 특성상 각 어절을 형태소에 따라 분리하는 과정은 무의미하기 때문에 모든 데이터는 공백분자로 분리되는 어절에 따라 상태가 표시된다. 앞서 문장에 표시한 상태번호는 각 상태의 선험적 확률(각 상태의 가중치)을 계산하기 위해서 필요한 데 비해, 어절마다 표시한 상태번호는 실제 각 단어가 어떤 상태를 나타내는지의 통계자료를 구축하는 데 필요하다. 이와 같이 각 문장 내의 어절에 대해 상태표시를 한 후, 문장에서 나타나는 어절의 종류 및 그 어절이 나타날 확률을 계산하고(S140), 이 결과는 각 상태별로 하나의 파일로 저장된다. 파일에 저장되는 데이터는 다음의 표 4와 같다. 표 4에 나타난 데이터는 첫인사에 해당하는 class1.prb의 파일 예이며, 이와 같은 파일이 나타내고자 하는 감정 상태의 수만큼 형성되어 저장된다.Then, the makeup is divided into word units for each state (class), and a state number is added to each word (S130). At this time, since the process of separating each word by morpheme is meaningless due to the nature of data, all data are displayed according to the word separated by blank molecules. The state number indicated in the previous sentence is needed to calculate the a priori probability (weight of each state) of each state, whereas the state number displayed for each word is necessary to construct statistics of what state each word actually represents. Do. In this way, after the status is displayed for each word in each sentence, the type of word and the probability of the word appearing in the sentence are calculated (S140), and the result is stored in one file for each state. Data stored in the file is shown in Table 4 below. The data shown in Table 4 is an example of the file of class1.prb corresponding to the first greeting, and the file is formed and stored as many as the number of emotional states to be represented.
이제 이와 같은 데이터를 이용하여 분석 대상 문장이 각 상태에 속할 확률을 계산한다(S150). 각 상태의 확률을 계산하는 모델을 수식으로 나타내면 다음의 수학식 2와 같다.Now, using such data, the probability that the analysis target sentence belongs to each state is calculated (S150). A model for calculating the probability of each state is represented by Equation 2 below.
이 중 각 상태에서의 선험적 확률 prior-p(classi)는 앞서의 수학식 1에 의해 구할 수 있고, 그 상태에서 해당 단어가 나타날 확률 p(wj|Classi)은 앞서의 표 4에 나타난 바와 같이 저장되어 있으므로, 이 값들을 이용하여 상태 i가 나타날 확률 P(classi)의 값을 구할 수 있다.A priori p-class ( i ) in each state can be obtained by Equation 1 above, and the probability p (w j | Class i ) in which the word appears in that state is shown in Table 4 above. As it is stored as described above, the values of the probability P (class i ) at which state i appears can be obtained using these values.
이와 같이 분석 대상 문장에 대해 각 상태가 갖게 될 확률이 계산되면, 그 중 가장 높은 확률을 갖는 감정 상태를 분석 대상 문장의 감정 상태로 결정할 수 있다(S160).As such, when the probability that each state has the analysis target sentence is calculated, the emotional state having the highest probability may be determined as the emotional state of the analysis target sentence (S160).
이제 이와 같은 방법을 이용한 문장 분석의 전체 단계에 대해서 상세히 설명한다. 이 과정은 도 2에 나타나 있다.Now, the overall steps of sentence analysis using this method will be described in detail. This process is shown in FIG.
한편, 메신저나 채팅 데이터의 특징상 특정한 문자들이 반복되어 나타나거나(~~~~~, ........, 등), 감정 표시 와는 관계없는 특수문자(☆, ☜, 등)가 나타나는 경우가 자주 있다. 따라서, 문장을 분석하기 전에 먼저 이러한 문자들에 대한 처리를 해주는 것이 분석을 용이하게 할 수 있는 방법이다. 또한, 그 자체가 직접 감정을 나타내는 그림문자(이모티콘)가 문장 내에 포함되어 있는 경우, 문장을 분석할 필요없이 그림문자만으로 그 문장의 감정 상태를 추출해낼 수 있다. 이러한 경우를 위해 문장 분석 전에 전처리 과정을 거치도록 한다. 이하에서는 전처리 과정에 대해 먼저 설명한다. 전처리 과정은 도 2에서 점선 부분으로 표시한 S200 단계에 나타나 있다.On the other hand, due to the characteristics of messenger or chat data, certain characters repeatedly appear (~~~~~, ........, etc.), or special characters (☆, ☜, etc.) irrelevant to the emotion display are displayed. Often appear. Therefore, processing these characters before analyzing the sentences is a way to facilitate the analysis. In addition, when a pictogram (emoticon) that directly represents an emotion is included in a sentence, the emotion state of the sentence may be extracted using only the pictogram without analyzing the sentence. For this case, preprocessing is performed before sentence analysis. Hereinafter, the pretreatment process will be described first. The pretreatment process is shown in step S200 indicated by a dotted line in FIG.
먼저 특수문자 제거 단계에서는 ☆, ☜, 등의 감정 표시와는 관계없는 특수문자와 이후 감정 상태 식별을 위한 코드에서 사용될 escape 기호 '\'를 으로부터 제거한다(S202).First, in the step of removing special characters, special characters not related to the emotion display such as ☆, ☜, etc. and the escape symbol '\' to be used in the code for identifying the emotional state are removed from (S202).
다음, 그림문자 변환 단계에서는 그림문자 검색 파서(parser)를 이용하여 그 자체로 문장의 감정 상태를 나타낼 수 있는 그림문자들을 검색한다. 이와 같이 하여 검색된 그림문자에 대해서는 escape 기호 '\'를 첨가한 그림문자 고유번호로 변환한다(S204). 예를 들어 '^_^'와 같은 그림문자는 '\04'로 변환하는 등으로 할 수 있다.Next, in the pictogram converting step, a pictogram search parser is used to search for pictograms that can express the emotional state of a sentence. In this way, the retrieved pictogram is converted into a pictogram unique number to which an escape symbol '\' is added (S204). For example, glyphs such as '^ _ ^' can be converted to '04'.
다음, 의성어/의태어 처리 단계에서는 감정 상태를 나타내며 반복되는 같은 문자열을 역시 escape 기호 '\'를 첨가한 고유번호로 변환한다(S206). 예를 들면, '하하하'를 '\54'로 변환하거나, '흑흑흑'을 '\74'로 변환하는 등으로 할 수 있다.Next, in the onomatopoeic / protocol processing step, the same character string representing the emotional state is repeated and converted to a unique number with the escape symbol '\' also added (S206). For example, it can be converted from 'hahaha' to '# 54', or 'black and black' to '74'.
마지막으로, 연속기호 처리 단계에서는 아스키(ASCII) 코드에 있는 특수코드들(!, @, #, $, %, ?, 등)을 찾아낸 후, 감정에 영향을 주지 않는 기호(*, #, $, 등)의 연속을 모두 공백문자로 대치하고 영향을 주는 문자(?, !, 등)의 연속은 하나만 남기고 모두 제거한다(S208).Finally, in the continuation symbol processing, special codes (!, @, #, $,%,?, Etc.) in ASCII code are found, and symbols (*, #, $) that do not affect emotions are found. Replace all the sequences of spaces, etc. with spaces and remove all of the affected characters (?,!, Etc.), leaving only one (S208).
이와 같이 하여 전처리 과정(S200)을 완료한다. 이와 같은 전처리 과정을 거침으로써 통계를 내야 할 데이터의 수를 줄이고 데이터 분석 효율을 높일 수 있다.In this way, the preprocessing process (S200) is completed. Through this preprocessing process, the number of data to be statistically reduced and data analysis efficiency can be improved.
이와 같이 전처리 단계가 완료되면, 이제 본격적인 텍스트 분석 단계로 들어갈 수 있다. 텍스트 분석 단계에서는 앞서 설명한 확률 계산을 이용하여 지배적인 감정 상태를 계산한다. 그러나, 이와 같은 확률 계산 외에도, 앞서 전처리 단계에서 처리된 그 자체로 감정 상태를 나타내는 표현(이모티콘 또는 의성어/의태어 등)이 문장의 감정 상태를 나타내는 기준이 될 수 있고, 또한 그밖의 감정 상태를 나타낼 수 있는 특수기호(!, ? 등) 역시 감정 상태를 나타낼 수 있는 기준이 될 수 있으므로 이 모든 기준을 함께 사용한다.Once the preprocessing step is completed, you can now enter the full text analysis phase. In the text analysis step, the dominant emotional state is calculated using the probability calculation described above. However, in addition to such probabilistic calculations, expressions representing emotion states (such as emoticons or onomatopoeia / fractions), which are themselves processed in the preprocessing step, may also be a criterion that represents the emotional state of sentences, and may also indicate other emotional states. Special symbols (!,?, Etc.) can also be used to represent emotional states, so use all of these criteria together.
먼저, 문장을 분석하여(S210) escape 문자가 있는 경우, escape 문자 고유코드에 할당된 감정 상태를 우선적으로 고려한다(S212). 이와 같이 escape 문자로 표현된 감정은 그 특성상 가장 확률이 높은 감정 상태이기 때문에 이것이 발견되면 다른 내용은 분석할 필요없이 곧바로 상태를 결정할 수 있게 된다(S220).First, the sentence is analyzed (S210), when there is an escape character, the emotion state assigned to the escape character unique code is first considered (S212). Since the emotion represented by the escape character is the most probable emotional state in its characteristics, when it is found, the state can be determined immediately without analyzing other contents (S220).
그런데, 문제는 데이터 내에 다른 상태를 나타내는 escape 문자가 두 개 이상 있는 경우이다(S214). 이와 같은 경우는 각 감정 상태에 우선순위를 부여함으로써 결정한다(S218). 예를 들어 웃는 상태(^o^)와 우는 상태(T.T)에 대해서는 웃는 상태에 대해 더 높은 우선순위를 부여하도록 할 수 있다. 이와 같은 문장을 예로 들자면, "축하한다. ^o^ 나는 떨어졌어... T.T ..."와 같은 것을 들 수 있다. 이러한 결론은 위와 같이 두 개의 입력이 들어왔을 경우 웃는 표현과 우는 표현이 함께 있으면 대체로 진짜로 슬픈 경우는 드물다고 보기 때문이다. 물론 이는 경우에 따라서는 다르게 결정될 수도 있고, 우선순위가 필요에 따라 다르게 매겨질 수도 있다.However, the problem is when there are two or more escape characters indicating different states in the data (S214). In this case, it is determined by giving priority to each emotional state (S218). For example, a smiley state (^ o ^) and a crying state (T.T) can be given higher priority for the smiley state. For example, a sentence like this: "Congratulations. ^ O ^ I've fallen ... T.T ...". This conclusion is because when two inputs are entered as above, a smile and a crying expression are rarely really sad. Of course, this may be determined differently in some cases, and the priority may be differently set as necessary.
만약, escape 문자가 발견되지 않으면 앞서 설명한 바와 같은 확률 계산을 통해 가장 가능성 있는 상태를 찾아낸다(S216). 이 단계에서는 학습 엔진에서 구축된 통계정보와 앞서 나타낸 확률 계산 함수가 사용된다. 다만, 여기에서는 가장 높은 확률을 갖는 상태의 확률이 두번째로 높은 확률을 갖는 상태의 확률보다 미리 정한 임계값 k1이상 큰 경우(S222)에만 그 상태가 선택되도록 한다(S224). 임계값 k1은 실험에 의해 찾는다.If the escape character is not found, the most probable state is found through probability calculation as described above (S216). In this step, statistical information constructed in the learning engine and the probability calculation function described above are used. However, in this case, the state is selected only when the probability of the state having the highest probability is greater than or equal to a predetermined threshold k 1 or more than the probability of the state having the second highest probability (S222). The threshold k 1 is found by experiment.
이와 같이, 가장 높은 확률을 갖는 상태와 그 다음 상태의 확률 차이가 일정한 정도 이상일 경우에만 그 상태가 표시되도록 하는 것은 두 상태의 확률 차이가 작을 경우 분석 결과가 잘못될 가능성이 높고, 분석이 잘못되어 잘못된 상태를 나타내는 것보다는 아무 것도 표시하지 않는 상태를 나타내는 것이 더 좋기 때문이다. 시각화 과정에서는 예를 들면, 특정 캐릭터를 사용하고 그 캐릭터의 행동이나 표정을 통해 감정을 표시하게 되는데, 아무런 행동을 하지 않는 것 또한 캐릭터가 할 수 있는 일반적인 행동 중의 하나이기 때문에, 문장이 나타내는 감정이 모호한 경우에는 아무런 행동을 취하지 않는 '안전한 전략'을 취하도록 하는 것이다.As such, displaying the state only when the probability difference between the state with the highest probability and the next state is more than a certain degree is likely that the analysis result is wrong when the probability difference between the two states is small, and the analysis is wrong. This is because it is better to indicate a state that indicates nothing than a state. In the visualization process, for example, using a specific character and expressing emotions through the character's actions or facial expressions, because doing nothing is one of the common actions that a character can do, In case of ambiguity, try to take a 'safe strategy' that does nothing.
앞서 두 단계를 거쳐도 문장의 감정 상태를 결정할 수 없는 경우 문장 중에 감정을 나타내는 기호인 '!'나 '?'가 있는지를 검사하게 된다(S226). 그러나 앞서 설명한 바와 같이 텍스트 분석에서는 어절 단위로 감정 상태를 표시하기 때문에 단어가 물음표나 느낌표를 가지고 있더라도 통계 데이터 내에 없는 어절일 수 있다. 따라서 위의 두 단계를 거친 후 표시할 감정 상태가 결정되지 않은 상태에서 물음표나 느낌표가 문장 내에 있는 것이 찾아질 경우, 각 느낌에 해당하는 가장 포괄적인 감정 상태의 표현을 해 주도록 한다(S230).If it is not possible to determine the emotional state of the sentence even after the two steps above, it is checked whether there is a '!' Or '?' Symbol representing the emotion in the sentence (S226). However, as described above, since the text analysis expresses the emotional state in units of words, even if the word has a question mark or an exclamation point, it may be a word that is not included in the statistical data. Therefore, when the question mark or exclamation point is found in the sentence in the state where the emotional state to be displayed is not determined after the above two steps, the most comprehensive emotional state corresponding to each feeling is expressed (S230).
문장 중에 '!'나 '?'도 포함되어 있지 않은 경우에는(S226), 아무런 감정도 표시하지 않는 상태가 감정 상태로 결정된다(S228).If the sentence does not include '!' Or '?' (S226), a state in which no emotion is displayed is determined as an emotional state (S228).
이제, 이와 같이 결정된 감정 상태를 캐릭터의 표정이나 동작 등으로 표시한다(S232).Now, the emotion state determined as described above is displayed by the facial expression or motion of the character (S232).
한편, 앞서의 단계에서도 처리되지 않는 문제가 있는데, 이는 문장의 길이가 너무 길어서 한 번 전송한 내용에 너무 여러가지 감정이 표현된 경우를 들 수 있다. 이 경우에는 문장의 길이에 일정한 상한을 두어 그 상한(k2)을 넘는 길이의 문장인 경우 분석을 하지 않는 쪽으로 한다.On the other hand, there is a problem that is not processed even in the previous step, which is a case where the length of the sentence is too long, so many emotions are expressed in the content transmitted once. In this case, there is a fixed upper limit on the length of the sentence, and if the sentence is longer than the upper limit (k 2 ), the analysis is not performed.
이제 지금까지 설명한 감정 인식 및 시각화 과정을 실제 프로그램에서 구현하는 예에 대해 설명한다. 앞서 언급한 바와 같이, 본 발명의 감정 인식 및 시각화 과정은 메신저나 채팅 프로그램에서 사용된다.Now, an example of implementing the emotion recognition and visualization process described in the actual program will be described. As mentioned above, the emotion recognition and visualization process of the present invention is used in a messenger or chat program.
도 3은 본 발명에 따른 감정 인식 및 시각화 과정을 메신저 프로그램에서 구현한 예이다.3 is an example of implementing the emotion recognition and visualization process according to the present invention in a messenger program.
메신저는 상대방의 IP 주소나 온라인(online) 여부 및 부재중 메시지 처리를 위해서만 서버와 통신하고, 실제 대화의 내용이 되는 메시지는 상대방의 메신저와 직접 주고받는 프로그램이다. 따라서, 메신저 프로그램을 이용하여 감정 인식 및 시각화를 구현할 경우, 사용자의 컴퓨터(300)에는 메신저 통신 프로그램(310)과 감정 인식 엔진(320) 및 캐릭터 구동 엔진(330)의 세가지 소프트웨어가 필요하다.The messenger communicates with the server only to process the IP address or online status of the other party and to process the missed message, and the message that is the content of the actual conversation is a program that directly exchanges with the other party's messenger. Therefore, when implementing emotion recognition and visualization using a messenger program, three pieces of software are required for the user's computer 300: a messenger communication program 310, an emotion recognition engine 320, and a character driving engine 330.
메신저 통신 프로그램(310)은 인터넷과 같은 컴퓨터 통신망을 통해 서버 또는 다른 사용자와 통신하게 된다. 메신저 통신 프로그램(310)이 인터넷을 통해 다른 사용자로부터 텍스트 메시지를 입력받으면 입력받은 텍스트 메시지를 사용자에게 대화창을 통해 보여줌과 동시에 이를 감정 인식 엔진(320)으로 전달한다. 감정 인식 엔진(320)은 전달받은 텍스트를 앞서 설명한 방법으로 분석하여 텍스트의 감정 상태를 결정하고, 결정된 감정 상태를 캐릭터 구동 엔진(330)으로 전달한다. 캐릭터 구동 엔진(330)은 전달받은 감정 상태 코드를 이용하여 캐릭터가 그 감정 상태에 따라 정해진 표정이나 동작을 나타내도록 한다.The messenger communication program 310 may communicate with a server or another user through a computer communication network such as the Internet. When the messenger communication program 310 receives a text message from another user through the Internet, the messenger communication program 310 shows the received text message to the user through a chat window and simultaneously transmits the text message to the emotion recognition engine 320. The emotion recognition engine 320 analyzes the received text in the manner described above to determine the emotional state of the text, and transmits the determined emotional state to the character driving engine 330. The character driving engine 330 allows the character to express a facial expression or an action determined according to the emotional state using the received emotional state code.
다음은, 본 발명에 따른 감정 인식 및 시각화 과정을 채팅 프로그램에서 구현한 예에 대해 설명한다. 이와 같은 예가 도 4에 나타나 있다.Next, an example of implementing the emotion recognition and visualization process according to the present invention in a chat program will be described. An example of this is shown in FIG. 4.
채팅이란 둘 이상의 사용자가 동시에 동일한 서버에 접속하여 온라인으로 대화를 나누는 것을 말한다. 따라서, 채팅을 하는 경우에는 앞서 도 3을 참고로 설명한 메신저의 예와 같이 각 사용자가 감정 인식 엔진을 자신의 컴퓨터에 가지고 있을 수도 있지만, 채팅 서버에만 감정 인식 엔진을 두고 사용자 측에는 캐릭터 구동 엔진만을 두어 텍스트와 함께 감정 상태를 전달받아 감정을 표시하도록 할 수도 있다.Chat is when two or more users connect to the same server and talk online. Therefore, when chatting, each user may have an emotion recognition engine on his computer as in the example of the messenger described above with reference to FIG. 3, but the emotion recognition engine is placed only on the chat server, and only the character driving engine is placed on the user side. You can also receive an emotional state along with the text to indicate the emotion.
즉, 도 4에 나타난 바와 같이, 사용자 측(410)에는 채팅 클라이언트(411)와 채팅 클라이언트로부터 감정 상태를 전달받아 캐릭터를 이용해 감정을 표시하는 캐릭터 구동 엔진(413)이 있다. 채팅 클라이언트(411)는 인터넷과 같은 컴퓨터 통신망(430)을 통해 채팅 서버(421)와 연결된다. 채팅 클라이언트(411)는 채팅 서버(421)를 통해 다른 채팅 클라이언트와 통신할 수 있다. 채팅 서버(421)는 감정 인식 엔진(422)과 연결되어 있어 다른 사용자로부터 전달받은 텍스트를 감정 인식 엔진(422)으로 전달하여 감정 인식 엔진(422)이 앞서 설명한 방식으로 텍스트를 분석하여 추출한 감정 상태를 전달받는다. 그리고, 전달받은 감정 상태를 텍스트와 함께 메시지를 수신할 채팅 클라이언트(411)로 전달한다. 텍스트와 감정 상태를 함께 전달받은 채팅 클라이언트(411)는 대화창을 이용해 텍스트 메시지를 표시함과 동시에 캐릭터 구동 엔진(413)으로 감정 상태를 전달하여 캐릭터가 해당하는 감정 상태를 표시하도록 한다.That is, as shown in FIG. 4, the user side 410 has a character driving engine 413 that receives emotion states from the chat client 411 and the chat client and displays emotions using the character. The chat client 411 is connected to the chat server 421 through a computer communication network 430 such as the Internet. The chat client 411 can communicate with other chat clients via the chat server 421. The chat server 421 is connected to the emotion recognition engine 422 to transfer the text received from another user to the emotion recognition engine 422, so that the emotion recognition engine 422 analyzes and extracts the text in the manner described above. Received. Then, the sent emotional state is transmitted to the chat client 411 to receive the message along with the text. The chat client 411 that receives the text and the emotional state together displays the text message using the chat window and transmits the emotional state to the character driving engine 413 to display the emotional state corresponding to the character.
한편, 본 발명에서 감정을 시각화하기 위해 사용되는 캐릭터는 단순히 메신저나 채팅 메시지로부터 추출된 감정을 시각화하는 것 외에도 윈도우의 바탕화면에 상주하면서 특정한 행동을 하기도 하고 사용자에게 다른 서비스를 제공할 수도 있는 일종의 인터페이스가 될 수 있으며, 메신저나 채팅 프로그램은 이러한 캐릭터에서 제공하는 기능 중의 일부로 구현될 수 있다.On the other hand, the character used to visualize the emotion in the present invention, in addition to visualizing the emotion extracted from the messenger or chat messages, it is a kind of resident that can do a specific action while providing on the desktop of the window or provide other services to the user It can be an interface, and a messenger or chat program can be implemented as part of the functions provided by these characters.
따라서, 이 경우 캐릭터를 메신저나 채팅 메시지를 분석한 감정에 대해서만 반응하는 것이 아니라, 메시지 도착, 프로그램 시작 또는 장시간 입력이 없는 등의 여러가지 이벤트에 대해서 미리 정의된 동작으로 반응함으로써 사용자의 흥미를 유발시키는 등의 여러 가지 기능을 할 수 있다. 메시지에 포함된 감정 표시 외에 가능한 캐릭터의 동작으로는 다음의 표 5에 나타난 것들을 들 수 있다.Therefore, in this case, the character is not only reacted to the emotion of analyzing the messenger or the chat message, but also reacts to various events such as the arrival of a message, the start of a program, or no input for a long time. It can be used for various functions. In addition to the emotion display included in the message, possible character actions include those shown in Table 5 below.
한편, 도 5a 내지 도 5j는 본 발명에서 감정 시각화를 위해 사용하는 캐릭터의 행동의 예를 나타내는 것으로서, 각각 사랑하다, 생각하다, 설명하다, 축하하다, 자다(사용자의 입력이 장시간 없을 때), 울다, 화내다, 크게 웃다, 메시지 전송, 메시지 작성을 나타내는 캐릭터의 행동이다.On the other hand, Figures 5a to 5j show examples of the behavior of the character used for emotion visualization in the present invention, each of love, think, explain, congratulate, sleep (when there is no user input for a long time), A character's action that represents crying, angering, laughing loudly, sending a message, or composing a message.
캐릭터는 사용자에게 선택의 폭을 넓히기 위해 다양한 캐릭터를 개발하여 제공하는 것이 바람직하며, 감정을 표현하는 애니메이션은 캐릭터가 너무 특화된 행동을 하는 것을 피하고, 하나의 행동으로 여러 가지 상태를 나타낼 수 있도록 함으로써, 적은 상태로 많은 것을 표현하고, 캐릭터가 잘못된 행동을 취하더라도 사용자의 거부반응을 최소화하도록 구성하는 것이 바람직하다.It is desirable for a character to develop and provide a variety of characters to the user in order to expand the choice, and an animation that expresses emotions allows the character to express various states with a single action, avoiding an excessively specialized action, It is desirable to configure so as to express many things in a small state and to minimize the rejection of the user even if the character takes wrong actions.
지금까지 본 발명을 바람직한 실시예를 들어 구체적으로 설명하였으나, 이 실시예는 본 발명을 이해하기 위한 설명을 위해 제시된 것이며, 본 발명의 범위가 이 실시예에 제한되는 것은 아니다. 본 발명의 기술이 속하는 분야의 통상의 전문가라면 본 발명의 기술적 사상의 범위를 벗어나지 않고도 다양한 변형이 가능함을 이해할 수 있을 것이며, 본 발명의 범위는 첨부된 특허청구범위에 의해서 해석되어야 할 것이다.Although the present invention has been described in detail with reference to preferred embodiments, this embodiment has been presented for the purpose of understanding the present invention, and the scope of the present invention is not limited to this embodiment. It will be understood by those skilled in the art that various modifications can be made without departing from the scope of the technical idea of the present invention, and the scope of the present invention should be interpreted by the appended claims.
본 발명에 따르면, 채팅이나 메신저 텍스트를 분석하여 텍스트 내에 포함된 감정을 인식하고 이를 캐릭터의 행동으로 표현하여 시각화할 수 있으므로 채팅이나 메신저 프로그램을 이용하는 통신 상의 대화에서 감정 전달을 효과적으로 할 수 있다.According to the present invention, it is possible to analyze emotions contained in the text by analyzing the chat or messenger text and visualize it by expressing it as a character's behavior, thereby effectively communicating emotions in a communication conversation using a chat or messenger program.
또한, 본 발명에 따르면, 텍스트를 분석함에 있어서, 그림문자나 의성어/의태어 등을 효과적으로 활용함으로써 빠르고 정확하게 텍스트의 감정 상태를 분석하여 이를 시각화할 수 있다.In addition, according to the present invention, in analyzing the text, by effectively utilizing the pictograms, onomatopoeia / pseudonyms, etc., it is possible to analyze and visualize the emotional state of the text quickly and accurately.
Claims (22)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000072063A KR20020042248A (en) | 2000-11-30 | 2000-11-30 | Method and system for perceiving emotion from the text and visualizing the perceived emotion |
AU2002221158A AU2002221158A1 (en) | 2000-11-30 | 2001-11-27 | Method and system for emotion perception from text |
PCT/KR2001/002048 WO2002044991A1 (en) | 2000-11-30 | 2001-11-27 | Method and system for emotion perception from text |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000072063A KR20020042248A (en) | 2000-11-30 | 2000-11-30 | Method and system for perceiving emotion from the text and visualizing the perceived emotion |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20020042248A true KR20020042248A (en) | 2002-06-05 |
Family
ID=19702505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020000072063A KR20020042248A (en) | 2000-11-30 | 2000-11-30 | Method and system for perceiving emotion from the text and visualizing the perceived emotion |
Country Status (3)
Country | Link |
---|---|
KR (1) | KR20020042248A (en) |
AU (1) | AU2002221158A1 (en) |
WO (1) | WO2002044991A1 (en) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004095308A1 (en) * | 2003-04-21 | 2004-11-04 | Eulen, Inc. | Method and system for expressing avatar that correspond to message and sentence inputted of using natural language processing technology |
KR20060116880A (en) * | 2005-05-11 | 2006-11-15 | 엔에이치엔(주) | Method for displaying text animation in messenger and recording medium therefor |
KR100701823B1 (en) * | 2006-05-24 | 2007-03-30 | (주)시뮬레이션연구소 | Toy (Toy) robot communication system using messenger and toy robot linked to this |
KR100799160B1 (en) * | 2006-04-18 | 2008-01-31 | 이노메탈이지로봇(주) | Messenger and robot interworking method and device |
WO2010068882A2 (en) * | 2008-12-11 | 2010-06-17 | Nortel Networks Limited | Automated text-based messaging interaction using natural language understanding technologies |
KR101308601B1 (en) * | 2013-03-26 | 2013-09-17 | 성완 | Method for providing animation messenger service |
US8692830B2 (en) | 2010-06-01 | 2014-04-08 | Apple Inc. | Automatic avatar creation |
US8694899B2 (en) | 2010-06-01 | 2014-04-08 | Apple Inc. | Avatars reflecting user states |
US9542038B2 (en) | 2010-04-07 | 2017-01-10 | Apple Inc. | Personalizing colors of user interfaces |
US9576400B2 (en) | 2010-04-07 | 2017-02-21 | Apple Inc. | Avatar editing environment |
KR101981091B1 (en) | 2017-12-20 | 2019-05-22 | 충남대학교산학협력단 | Device for creating subtitles that visualizes emotion |
KR102261548B1 (en) * | 2019-12-20 | 2021-06-07 | 류준용 | Apparatus of transforming art work into multimedia based on emotion |
USRE49044E1 (en) | 2010-06-01 | 2022-04-19 | Apple Inc. | Automatic avatar creation |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8495503B2 (en) | 2002-06-27 | 2013-07-23 | International Business Machines Corporation | Indicating the context of a communication |
US20040225640A1 (en) * | 2002-06-27 | 2004-11-11 | International Business Machines Corporation | Context searchable communications |
JP2004198872A (en) * | 2002-12-20 | 2004-07-15 | Sony Electronics Inc | Terminal device and server |
US7874983B2 (en) | 2003-01-27 | 2011-01-25 | Motorola Mobility, Inc. | Determination of emotional and physiological states of a recipient of a communication |
JP2006528199A (en) * | 2003-07-22 | 2006-12-14 | シーブイ・セラピューティクス・インコーポレイテッド | A1 adenosine receptor antagonist |
KR100678209B1 (en) * | 2005-07-08 | 2007-02-02 | 삼성전자주식회사 | Image Control Method of Mobile Terminal |
US9336192B1 (en) | 2012-11-28 | 2016-05-10 | Lexalytics, Inc. | Methods for analyzing text |
US11031003B2 (en) | 2018-05-25 | 2021-06-08 | Microsoft Technology Licensing, Llc | Dynamic extraction of contextually-coherent text blocks |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6419427A (en) * | 1987-07-15 | 1989-01-23 | Hitachi Ltd | Voice input computer graphics processor |
JPH11242751A (en) * | 1998-02-24 | 1999-09-07 | Canon Inc | Animation controller and method therefor and sentence reading device |
JP2000174801A (en) * | 1998-12-07 | 2000-06-23 | Nippon Telegr & Teleph Corp <Ntt> | Message communication terminal equipment, message communication method and storage medium with message communication program recorded therein |
KR20010034987A (en) * | 2000-06-22 | 2001-05-07 | 문경수 | Method of using animated characters working together word in electronic mail or chatting on internet basis |
KR20010109047A (en) * | 2000-06-01 | 2001-12-08 | 박홍원 | Method and appratus for computing natural language using codes |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08286693A (en) * | 1995-04-13 | 1996-11-01 | Toshiba Corp | Information processing device |
JP3063073B2 (en) * | 1995-06-30 | 2000-07-12 | 富士ゼロックス株式会社 | Image analysis expression adding device |
US5923337A (en) * | 1996-04-23 | 1999-07-13 | Image Link Co., Ltd. | Systems and methods for communicating through computer animated images |
JP3178393B2 (en) * | 1997-11-11 | 2001-06-18 | オムロン株式会社 | Action generation device, action generation method, and action generation program recording medium |
-
2000
- 2000-11-30 KR KR1020000072063A patent/KR20020042248A/en not_active Application Discontinuation
-
2001
- 2001-11-27 AU AU2002221158A patent/AU2002221158A1/en not_active Abandoned
- 2001-11-27 WO PCT/KR2001/002048 patent/WO2002044991A1/en not_active Application Discontinuation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6419427A (en) * | 1987-07-15 | 1989-01-23 | Hitachi Ltd | Voice input computer graphics processor |
JPH11242751A (en) * | 1998-02-24 | 1999-09-07 | Canon Inc | Animation controller and method therefor and sentence reading device |
JP2000174801A (en) * | 1998-12-07 | 2000-06-23 | Nippon Telegr & Teleph Corp <Ntt> | Message communication terminal equipment, message communication method and storage medium with message communication program recorded therein |
KR20010109047A (en) * | 2000-06-01 | 2001-12-08 | 박홍원 | Method and appratus for computing natural language using codes |
KR20010034987A (en) * | 2000-06-22 | 2001-05-07 | 문경수 | Method of using animated characters working together word in electronic mail or chatting on internet basis |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004095308A1 (en) * | 2003-04-21 | 2004-11-04 | Eulen, Inc. | Method and system for expressing avatar that correspond to message and sentence inputted of using natural language processing technology |
KR20060116880A (en) * | 2005-05-11 | 2006-11-15 | 엔에이치엔(주) | Method for displaying text animation in messenger and recording medium therefor |
KR100799160B1 (en) * | 2006-04-18 | 2008-01-31 | 이노메탈이지로봇(주) | Messenger and robot interworking method and device |
KR100701823B1 (en) * | 2006-05-24 | 2007-03-30 | (주)시뮬레이션연구소 | Toy (Toy) robot communication system using messenger and toy robot linked to this |
WO2010068882A2 (en) * | 2008-12-11 | 2010-06-17 | Nortel Networks Limited | Automated text-based messaging interaction using natural language understanding technologies |
WO2010068882A3 (en) * | 2008-12-11 | 2010-08-26 | Nortel Networks Limited | Automated text-based messaging interaction using natural language understanding technologies |
US8442563B2 (en) | 2008-12-11 | 2013-05-14 | Avaya Inc. | Automated text-based messaging interaction using natural language understanding technologies |
US9542038B2 (en) | 2010-04-07 | 2017-01-10 | Apple Inc. | Personalizing colors of user interfaces |
US10607419B2 (en) | 2010-04-07 | 2020-03-31 | Apple Inc. | Avatar editing environment |
US12223612B2 (en) | 2010-04-07 | 2025-02-11 | Apple Inc. | Avatar editing environment |
US11869165B2 (en) | 2010-04-07 | 2024-01-09 | Apple Inc. | Avatar editing environment |
US9576400B2 (en) | 2010-04-07 | 2017-02-21 | Apple Inc. | Avatar editing environment |
US11481988B2 (en) | 2010-04-07 | 2022-10-25 | Apple Inc. | Avatar editing environment |
USRE49044E1 (en) | 2010-06-01 | 2022-04-19 | Apple Inc. | Automatic avatar creation |
US10042536B2 (en) | 2010-06-01 | 2018-08-07 | Apple Inc. | Avatars reflecting user states |
US8692830B2 (en) | 2010-06-01 | 2014-04-08 | Apple Inc. | Automatic avatar creation |
US9652134B2 (en) | 2010-06-01 | 2017-05-16 | Apple Inc. | Avatars reflecting user states |
US8694899B2 (en) | 2010-06-01 | 2014-04-08 | Apple Inc. | Avatars reflecting user states |
KR101308601B1 (en) * | 2013-03-26 | 2013-09-17 | 성완 | Method for providing animation messenger service |
KR101981091B1 (en) | 2017-12-20 | 2019-05-22 | 충남대학교산학협력단 | Device for creating subtitles that visualizes emotion |
KR102261548B1 (en) * | 2019-12-20 | 2021-06-07 | 류준용 | Apparatus of transforming art work into multimedia based on emotion |
Also Published As
Publication number | Publication date |
---|---|
WO2002044991A1 (en) | 2002-06-06 |
AU2002221158A1 (en) | 2002-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20020042248A (en) | Method and system for perceiving emotion from the text and visualizing the perceived emotion | |
US11132508B2 (en) | Monitoring conversations to identify topics of interest | |
US8954368B2 (en) | Translating paralinguistic indicators | |
US8726195B2 (en) | Enabling an IM user to navigate a virtual world | |
CN106202031A (en) | A kind of system and method group members being associated based on online social platform group chat data | |
Muncer et al. | Form and structure of newsgroups giving social support: A network approach | |
KR100695392B1 (en) | How to convert and send short message to multimedia message and text image conversion server | |
Tantawi et al. | The paralinguistic function of emojis in twitter communication | |
KR20190134100A (en) | Method and apparatus for providing chatting service | |
KR20190134080A (en) | Apparatus for providing chatting service | |
KR20200073502A (en) | Apparatus for providing chatting service | |
KR100627853B1 (en) | How to convert and send short message to multimedia message and text image conversion server | |
KR20200073497A (en) | Method for providing chatting service in user treminal, and the program stored in medium for executing the method | |
KR20190134049A (en) | User treminal for providing chatting service | |
JPH10254795A (en) | Electronic mail processor | |
KR20050027397A (en) | Messaging method and system for icon chaatting | |
KR20190134082A (en) | Method for providing chatting service | |
KR102173871B1 (en) | Operating method of terminal for instant messaging service(ims) and terminal thereof | |
Putri et al. | The Meaning behind???? and???? Emoticons in Chat Applications: A Semiotic Analysis | |
KR100415549B1 (en) | The multi user chatting interface method considering attention | |
KR20190134059A (en) | Apparatus for providing chatting service | |
Yumeina et al. | Meaning Analysis of???? and???? Emojis in Chat Apps: A Semiotic-Semantic Study | |
KR20190134065A (en) | Method for providing chatting service | |
KR20200073504A (en) | Method for providing chatting service | |
KR20200073506A (en) | Method for providing chatting service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20001130 |
|
PA0201 | Request for examination | ||
N231 | Notification of change of applicant | ||
PN2301 | Change of applicant |
Patent event date: 20011108 Comment text: Notification of Change of Applicant Patent event code: PN23011R01D |
|
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20030627 Patent event code: PE09021S01D |
|
E601 | Decision to refuse application | ||
PE0601 | Decision on rejection of patent |
Patent event date: 20040217 Comment text: Decision to Refuse Application Patent event code: PE06012S01D Patent event date: 20030804 Comment text: Notification of reason for refusal Patent event code: PE06011S01I Patent event date: 20030627 Comment text: Notification of reason for refusal Patent event code: PE06011S01I |