KR20230000044A - Apparatus for automatically providing response and a method for controlling the same - Google Patents

Apparatus for automatically providing response and a method for controlling the same Download PDF

Info

Publication number
KR20230000044A
KR20230000044A KR1020210081923A KR20210081923A KR20230000044A KR 20230000044 A KR20230000044 A KR 20230000044A KR 1020210081923 A KR1020210081923 A KR 1020210081923A KR 20210081923 A KR20210081923 A KR 20210081923A KR 20230000044 A KR20230000044 A KR 20230000044A
Authority
KR
South Korea
Prior art keywords
emotion
type
word
sentence
current
Prior art date
Application number
KR1020210081923A
Other languages
Korean (ko)
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 KR1020210081923A priority Critical patent/KR20230000044A/en
Publication of KR20230000044A publication Critical patent/KR20230000044A/en

Links

Images

Classifications

    • 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/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • 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/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • 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/3332Query translation
    • G06F16/3335Syntactic pre-processing, e.g. stopword elimination, stemming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation

Abstract

The present invention relates to a device for constructing an emotional dictionary of new words and emoticons, wherein the device includes: an emotional dictionary construction module; and a database unit which is connected to the emotional dictionary construction module and in which collected social data to be worked is stored. The emotional dictionary construction module is configured to partition the social data to be worked into sentences to create partitioned sentences, extract new words and emoticons from the partitioned sentences, determine, if at least one of the extracted new words and emoticons is the same as a determined new word or a determined emoticon, another new word or emoticon other than the same new word or the same emoticon as the determined new word or emoticon among the extracted new words and emoticons as a subordinate new word or subordinate emoticon, extract the partitioned sentences as emotional sentences, calculate the polarity strength of the emotional sentences using the total number of determined new words and the determined emoticons present in the emotional sentences and the polarity of the determined new words and the determined emoticons, and construct a new word and emoticon database by storing the subordinate new word, the subordinate emoticon, and the polarity strength in the database unit. According to the present invention, a response generation module can generate responses by considering the emotions of conversation participants.

Description

자동 응답 제공 장치 및 그 제어 방법{APPARATUS FOR AUTOMATICALLY PROVIDING RESPONSE AND A METHOD FOR CONTROLLING THE SAME}Automatic response providing device and control method thereof

본 발명은 자동 응답 제공 장치 및 그 제어 방법에 관한 것으로서, 더욱 상세하게는, 입력 문장에 포함되어 있는 신조어 및 이모티콘과 감성어를 이용하여 현재 대화의 기분의 종류를 판정하여 판정된 기분의 종류를 고려하여 응답을 생성하여 출력하는 자동 응답 제공 장치 및 그 제어 방법에 관한 것이다.The present invention relates to an automatic response providing device and a control method thereof, and more particularly, to determine the type of mood of a current conversation by using a coined word, emoticon, and sentimental word included in an input sentence, and to determine the type of the determined mood. An automatic response providing device for generating and outputting a response in consideration of the present invention and a control method thereof.

인공지능(AI, artificial intelligence) 기술의 발전으로 인해, 딥러닝(deep learning)과 같은 기계 학습(machine learning) 기술이 하루가 다르게 발전하고 있다.Due to the development of artificial intelligence (AI) technology, machine learning technology such as deep learning is developing day by day.

따라서, 인간을 대신하여 질문에 답하고 필요한 질문을 하며 상대방과 대화를 진행하는 대화형 메신저인 챗봇(chatterbot)이 개발되어 사용되고 있다.Accordingly, chatterbots, which are interactive messengers that answer questions, ask necessary questions, and conduct conversations with counterparts on behalf of humans, have been developed and used.

이러한 챗봇의 등장으로 인해, 기업의 입장에서는 많은 인건비가 절약되며 업무 시간에 구애받지 않고 해당 서비스를 고객에게 제공할 수 이점이 발생한다.Due to the emergence of these chatbots, companies can save a lot of labor costs and provide the service to customers regardless of working hours.

이러한 챗봇은 동작 방식에 따라 규칙기반 챗봇과 기계학습기반 챗봇으로 나뉘며, 또한 일회성 질문 응답 챗봇과 연속 대화형 챗봇으로 분류될 수 있다. 답변생성 방식에 따라, 챗봇은 다시 검색모델 챗봇과 생성모델 챗봇으로 분류된다.These chatbots are divided into rule-based chatbots and machine learning-based chatbots according to their operation method, and can also be classified into one-time question-answering chatbots and continuous conversational chatbots. According to the method of generating answers, chatbots are further classified into search model chatbots and generative model chatbots.

규칙기반 챗봇은 미리 정의한 규칙대로 동작하는 챗봇으로서, 사용자의 입력을 해석하는 해석 규칙, 입력에 대해 반응하는 반응 규칙 및 응답 규칙을 포함하고 있다. A rule-based chatbot is a chatbot that operates according to predefined rules, and includes interpretation rules for interpreting user input, response rules for responding to inputs, and response rules.

규칙기반 챗봇의 개발은 많은 양의 데이터가 필요하지 않고, 또한 상대적으로 구현이 용이하며, 규칙이 잘 정의된다면 높은 품질의 대화 서비스가 가능하다. 하지만, 이러한 규칙기반 챗봇은 원활한 대화를 위한 규칙을 정의하는 것에 많은 시간과 인력이 요구되는 단점이 존재한다.The development of a rule-based chatbot does not require a large amount of data, is relatively easy to implement, and high-quality conversation service is possible if the rules are well defined. However, these rule-based chatbots have the disadvantage of requiring a lot of time and manpower to define rules for smooth conversation.

기계학습기반 챗봇은 규칙기반 챗봇에 비해 적은 시간과 인력으로 챗봇을 구현할 수 있다. Machine learning-based chatbots can be implemented with less time and manpower compared to rule-based chatbots.

기계학습기반 챗봇은 자연어 처리 기술을 사용하므로, 사용자가 입력한 문장에서 다양한 언어학적 자원을 활용해 자연어를 분해한 후, 분해한 자연어를 이용하여 미리 정의된 답변을 선택하거나 새로운 답변을 생성하게 된다. Since the machine learning-based chatbot uses natural language processing technology, it decomposes the natural language using various linguistic resources in the sentence input by the user, and then selects a predefined answer or creates a new answer using the decomposed natural language. .

하지만, 이러한 종래의 챗봇은 사용자와의 감정을 판정하는 기술이 없으므로, 사용자와의 감정적인 교류가 이루어지지 않고 단순히 기능적으로만 사용된다.However, since these conventional chatbots do not have a technique for determining emotions with users, they are used only functionally without emotional exchanges with users.

따라서, 종래의 챗봇은 사용자의 감정 상태를 파악하지 못하므로, 사용자와의 직접적인 감정 교류가 불가능하다.Therefore, since the conventional chatbot cannot grasp the user's emotional state, direct emotional exchange with the user is impossible.

또한, 사용자의 감정상태를 고려하지 못하기 때문에 사용자의 발화 의도를 분석하는 분석의 정확도 역시 크게 떨어지므로, 사용자는 챗봇을 통해 만족스러운 서비스를 제공받지 못하여, 서비스 만족도가 낮아지는 문제가 있다.In addition, since the user's emotional state is not taken into account, the accuracy of analysis for analyzing the user's utterance intention is also greatly reduced. Therefore, the user is not provided with a satisfactory service through the chatbot, and thus the service satisfaction level is lowered.

대한민국 등록특허 제10-1894060호(공고일자: 2018년 08월 31일, 발명의 명칭: 사용자 분석기반 챗봇을 이용한 지능형 광고 제공 서버)Republic of Korea Patent Registration No. 10-1894060 (Publication date: August 31, 2018, title of invention: Intelligent advertisement providing server using user analysis-based chatbot) 대한민국 등록특허 제10-1945297호(공고일자: 2019년 02월 07, 발명의 명칭: 메신저 연동형 챗봇의 제작 및 제공 서버)Republic of Korea Patent Registration No. 10-1945297 (Public date: February 07, 2019, title of invention: production and provision server of messenger-linked chatbot)

본 발명이 해결하려는 과제는 현재 대화의 기분의 종류를 고려하여 응답을 생성해 출력하여 응답의 정확도를 높이기 위한 것이다.The problem to be solved by the present invention is to increase the accuracy of the response by generating and outputting a response in consideration of the type of mood of the current conversation.

상기 과제를 해결하기 위한 본 발명의 한 특징에 따른 자동 응답 제공 장치는 현재 입력 문장을 어절 단위와 형태소 단위로 분리하고, 분리된 형태소를 이용하여 상기 현재 입력 문장에 대한 최종 키워드를 추출하고, 상기 최종 키워드에서 의도어를 추출하여, 상기 의도어로 추출된 최종 키워드에 대한 의도 종류를 판정하고, 판정된 의도 종류에 대한 의도 종류별 개수를 산출하여, 가장 큰 개수를 갖는 의도 종류를 상기 현재 입력 문장의 의도 종류로 판정하는 제어 모듈, 상기 제어 모듈과 연결되고, 상기 제어 모듈로부터 어절 단위와 형태소 단위로 분리된 현재 입력 문장에서 신조어, 이모티콘 및 감성어를 추출하고, 추출된 신조어, 이모티콘 및 감성어 각각에 대한 감정 종류를 판정하여 현재 문장 감정 종류를 판정하는 감정 종류 추출 모듈 및 상기 감정 종류 추출 모듈과 연결되어 있고, 상기 감정 종류 추출 모듈로부터 입력되는 상기 현재 문장 감정 종류와 바로 이전 문장 감정 종류가 동일한 지 비교하여 비교 결과에 따라 서로 다른 현재 문장 감정값을 산출한 후 이전 문장 감정값을 설정 크기만큼 삭감하고, 감정 종류별 문장 감정값을 합산하여 산출된 감정 종류별 문장 감정값의 크기를 이용하여 현재 대화에 대한 기분 종류로 판정하는 기분 종류 결정 모듈을 포함한다. An automatic response providing apparatus according to one feature of the present invention for solving the above problem separates a current input sentence into word units and morpheme units, extracts a final keyword for the current input sentence using the separated morphemes, and An intent word is extracted from the final keyword, the intent type for the final keyword extracted as the intent word is determined, the number of intent types for the determined intent type is calculated, and the intent type having the largest number is selected as the current input sentence. A control module that determines the type of intention, extracts neologisms, emoticons, and sentimental words from the current input sentence connected to the control module and separated into word units and morpheme units from the control module, and extracted neologisms, emoticons, and sentimental words, respectively An emotion type extraction module that determines the emotion type of the current sentence by determining the emotion type for the current sentence and is connected to the emotion type extraction module, and the emotion type of the current sentence input from the emotion type extraction module and the emotion type of the immediately previous sentence are the same. After calculating different current sentence sentiment values according to the comparison result, the previous sentence sentiment value is reduced by the set size, and the current conversation is calculated by summing up the sentence sentiment values for each emotion type. and a mood type determination module for determining the mood type for .

상기 제어 모듈은 분리된 형태소를 이용하여 상기 현재 입력 문장의 주어, 목적어 및 서술어를 추출하여 상기 현재 입력 문장에 대한 예비 키워드를 추출할 수 있고, 유사어와 유의어가 대표 단어에 대응되게 저장되어 있는 유사어 및 유의어 데이터베이스와 상기 예비 키워드를 비교하여 상기 예비 키워드 중에서 유의어나 유사어에 해당하는 예비 키워드가 존재하면, 해당 유의어나 유사어에 대응하는 대표 단어를 해당 예비 키워드의 최종 키워드로 결정할 수 있고, 상기 예비 키워드 중에서 유의어나 유사어에 해당되지 않는 예비 키워드를 최종 키워드로 결정할 수 있다.The control module may extract a preliminary keyword for the current input sentence by extracting the subject, object, and predicate of the current input sentence using the separated morphemes, and similar words and synonyms stored corresponding to representative words. and if a preliminary keyword corresponding to a synonym or similar word exists among the preliminary keywords by comparing the preliminary keyword with a synonym database, a representative word corresponding to the corresponding synonym or similar word may be determined as a final keyword of the corresponding preliminary keyword, and the preliminary keyword Among them, preliminary keywords that do not correspond to synonyms or similar words may be determined as final keywords.

상기 감정 종류 추출 모듈은 신조어와 이모티콘 및 각 신조어와 이모티콘에 대응되게 감정 종류가 저장되어 있는 신조어 및 이모티콘 감성 사전 데이터베이스와 각 어절을 비교하여, 각 어절에 포함되어 있는 신조어와 이모티콘을 추출하고, 추출된 각 신조어와 각 이모티콘에 대한 감정 종류의 판정할 수 있고, 감성어와 각 감성어에 대응되게 감정 종류가 저장되어 있는 감성어 사전 데이터베이스와 각 형태소를 비교하여, 형태소에서 감성어를 추출하고, 추출된 각 감성어에 대한 감정 종류를 판정할 수 있고, 신조어와 이모티콘에 대한 감정 종류와 감성어에 대한 감정 종류에서 감정 종류별 총 개수를 산출하여, 가장 큰 개수를 갖는 감정 종류를 상기 현재 문장 감정 종류로 판정할 수 있다.The emotion type extraction module compares each word with a new word and emoticon emotion dictionary database in which emotion types corresponding to each new word and emoticon are stored, and extracts the newly coined word and emoticon included in each word and extracts the emotion type. It is possible to determine the emotion type for each newly coined word and each emoticon, and compare each morpheme with a sentiment word dictionary database in which emotion words and emotion types corresponding to each emotion word are stored, and extract the emotion word from the morpheme. It is possible to determine the emotion type for each emotional word, calculate the total number of emotions for each emotion type from the emotion types for new words and emoticons and the emotion types for sentiment words, and select the emotion type with the largest number as the emotion type for the current sentence. can be judged by

상기 감정 종류 추출 모듈은 상기 신조어 및 이모티콘 감성 사전 데이터베이스과의 비교 전에 각 어절에 포함되어 있는 불용어를 제거할 수 있다.The emotion type extraction module may remove stopwords included in each word before comparing the coined word and the emoticon emotion dictionary database.

상기 기분 종류 결정 모듈은 감정 종류별 문장 감정값 중 정해진 값 이상의 총 문장 감정값에서 가장 큰 크기를 갖는 문장 감정값에 해당하는 감정 종류를 현재 대화에 대한 기분 종류로 판정할 수 있다.The mood type determining module may determine, as the mood type for the current conversation, an emotion type corresponding to a sentence emotion value having the largest magnitude among total sentence emotion values equal to or greater than a predetermined value among sentence emotion values for each emotion type.

상기 기분 종류 결정 모듈은 감정 종류별 문장 감정값이 모두 정해진 값 미만의 값을 가질 경우, 현재 대화에 대한 기분 종류를 안정으로 판정할 수 있다.The mood type determination module may determine the mood type for the current conversation as stable when all sentence emotion values for each emotion type have values less than a predetermined value.

상기 특징에 따른 자동 응답 제공 장치는 상기 제어 모듈에 연결되어 있는 응답 생성 모듈을 더 포함할 수 있고, 상기 제어 모듈은 대화 카테고리를 추가로 입력받아, 상기 대화 카테고리, 상기 의도 종류 및 상기 현재 입력 문장을 상기 응답 생성 모듈로 출력할 수 있고, 상기 응답 생성 모듈은 입력된 상기 대화 카테고리, 상기 의도 종류, 상기 현재 입력 문장 및 상기 기분 종류를 이용하여 기계 학습하여 상기 현재 입력 문장에 대한 응답을 생성할 수 있다.The automatic response providing apparatus according to the above feature may further include a response generation module connected to the control module, wherein the control module additionally receives a conversation category, the conversation category, the intention type, and the current input sentence. may be output to the response generation module, and the response generation module may generate a response to the current input sentence by machine learning using the inputted dialogue category, the intention type, the current input sentence, and the mood type. can

상기 감정 종류는 기쁨, 슬픔, 신뢰, 분노, 두려움, 기대, 놀람 및 불쾌 중 하나일 수 있다.The emotion type may be one of joy, sadness, trust, anger, fear, expectation, surprise, and displeasure.

본 발명의 다른 특징에 따른 자동 응답 제공 장치의 제어 방법은 제어 모듈은 현재 입력 문장을 어절 단위와 형태소 단위로 분리하는 단계, 상기 제어 모듈은 분리된 형태소를 이용하여 상기 현재 입력 문장에 대한 최종 키워드를 추출하는 단계, 상기 제어 모듈은 상기 추출된 상기 최종 키워드에서 의도어를 추출하여, 상기 의도어로 추출된 최종 키워드에 대한 의도 종류를 판정하는 단계, 상기 제어 모듈은 판정된 의도 종류에 대한 의도 종류별 개수를 산출하여, 가장 큰 개수를 갖는 의도 종류를 상기 현재 입력 문장의 의도 종류로 판정하는 단계, 감정 종류 추출 모듈은 상기 제어 모듈로부터 어절 단위와 형태소 단위로 분리된 현재 입력 문장을 입력받아, 신조어, 이모티콘 및 감성어를 추출하는 단계, 상기 감정 종류 추출 모듈은 추출된 신조어, 이모티콘 및 감성어 각각에 대한 감정 종류를 판정하여 현재 문장 감정 종류를 판정하는 단계, 기분 종류 결정 모듈은 상기 감정 종류 추출 모듈로부터 입력되는 상기 현재 문장 감정 종류와 바로 이전 문장 감정 종류가 동일한 지 비교하는 단계, 상기 기분 종류 결정 모듈은 현재 문장 감정 종류와 바로 이전 문장 감정 종류를 비교 결과에 따라 서로 다른 현재 문장 감정값을 산출하는 단계, 상기 기분 종류 결정 모듈은 상기 현재 문장 감정값을 산출한 후 이전 문장 감정값을 설정 크기만큼 삭감하는 단계 및 상기 기분 종류 결정 모듈은 감정 종류별 문장 감정값을 합산하여 산출된 감정 종류별 문장 감정값의 크기를 이용하여 현재 대화에 대한 기분 종류로 판정하는 단계를 포함한다.A control method of an automatic response providing apparatus according to another aspect of the present invention includes the step of separating, by a control module, a current input sentence into word units and morpheme units, wherein the control module uses the separated morphemes to provide a final keyword for the current input sentence. extracting, by the control module, extracting an intent word from the extracted final keyword and determining an intent type for the final keyword extracted as the intended word; Calculating the number and determining the intention type having the largest number as the intention type of the current input sentence, the emotion type extraction module receives the current input sentence divided into word units and morpheme units from the control module, and creates new words extracting emoticons and emotional words, the emotion type extraction module determining the emotion types of the current sentence by determining the emotion types for each of the extracted neologisms, emoticons, and emotional words; the emotion type determination module extracting the emotion types Comparing whether the emotion type of the current sentence and the emotion type of the immediately previous sentence input from a module are the same, wherein the emotion type determination module determines different emotion values of the current sentence according to a comparison result between the emotion type of the current sentence and the emotion type of the immediately previous sentence. calculating, by the mood type determining module, calculating the current sentence emotion value and then reducing the previous sentence emotion value by a set size; and the mood type determining module calculates the sentence for each emotion type calculated by summing the emotion values of the sentence for each emotion type and determining a mood type for the current conversation by using the magnitude of the emotion value.

상기 최종 키워드를 추출하는 단계는 상기 제어 모듈은 분리된 형태소를 이용하여 상기 현재 입력 문장의 주어, 목적어 및 서술어를 추출하여 상기 현재 입력 문장에 대한 예비 키워드를 추출하는 단계, 상기 제어 모듈은 유사어와 유의어가 대표 단어에 대응되게 저장되어 있는 유사어 및 유의어 데이터베이스와 상기 예비 키워드를 비교하여, 상기 예비 키워드 중에서 유사어나 유의어에 해당하는 예비 키워드가 존재하는 지 판단하는 단계, 상기 제어 모듈은 상기 예비 키워드 중에서 유사어나 유의어에 해당하는 예비 키워드가 존재하면, 해당 유의어나 유사어에 대응하는 대표 단어를 해당 예비 키워드의 최종 키워드로 결정하는 단계 및 상기 제어 모듈은 상기 예비 키워드 중에서 유의어나 유사어에 해당되지 않는 예비 키워드를 최종 키워드로 결정하는 단계를 포함할 수 있다. In the step of extracting the final keyword, the control module extracts a preliminary keyword for the current input sentence by extracting the subject, object, and predicate of the current input sentence using separated morphemes, and the control module extracts a similar word and a predicate. comparing the preliminary keyword with a synonym database in which synonyms are stored corresponding to representative words, and determining whether a preliminary keyword corresponding to a similar word or synonym exists among the preliminary keywords, wherein the control module selects among the preliminary keywords If a preliminary keyword corresponding to a similar word or synonym exists, determining a representative word corresponding to the corresponding synonym or synonym as a final keyword of the corresponding preliminary keyword, and the control module, among the preliminary keywords, a preliminary keyword that does not correspond to the synonym or similar word It may include determining as the final keyword.

상기 신조어, 이모티콘 및 감성어를 추출하는 단계는 상기 감정 종류 추출 모듈은 신조어와 이모티콘 및 각 신조어와 이모티콘에 대응되게 감정 종류가 저장되어 있는 신조어 및 이모티콘 감성 사전 데이터베이스와 각 어절을 비교하는 단계, 상기 감정 종류 추출 모듈은 각 어절에 상기 신조어 및 이모티콘 감성 사전 데이터베이스에 저장되어 있는 신조어나 이모티콘이 존재하면, 각 어절에 포함된 신조어나 이모티콘을 추출하는 단계 및 상기 감정 종류 추출 모듈은 상기 신조어 및 이모티콘 감성 사전 데이터베이스에서 추출된 각 신조어와 각 이모티콘에 대한 감정 종류의 판정하는 단계를 포함할 수 있다.The step of extracting the newly coined words, emoticons, and emotional words may include comparing each word with a new coined word and emoticon emotion dictionary database storing new words, emoticons, and emotion types corresponding to each newly coined word and emoticon, by the emotion type extraction module; The emotion type extraction module extracts the newly coined word or emoticon included in each word if there is a new word or emoticon stored in the new word and emoticon emotion dictionary database in each word, and the emotion type extraction module performs the step of extracting the newly coined word and emoticon emotion and determining the type of emotion for each newly coined word and each emoticon extracted from the dictionary database.

상기 신조어, 이모티콘 및 감성어를 추출하는 단계는 신조어 및 이모티콘 감성 사전 데이터베이스와 각 어절을 비교하기 전에, 각 어절에 포함되어 있는 불용어를 제거하는 단계를 더 포함할 수 있다.The step of extracting the newly coined word, emoticon, and emotional word may further include removing stopwords included in each word before comparing each word with a new coined word and an emoticon emotion dictionary database.

상기 현재 문장 감정 종류를 판정하는 단계는 상기 감정 종류 추출 모듈은 감성어와 각 감성어에 대응되게 감정 종류가 저장되어 있는 감성어 사전 데이터베이스와 각 형태소를 비교하는 단계, 상기 감정 종류 추출 모듈은 각 형태소에 상기 감성어 사전 데이터에 저장되어 있는 감성어가 존재하면, 상기 형태소에서 포함되어 있는 감성어를 추출하는 단계. 상기 감정 종류 추출 모듈은 상기 감성어 사전 데이터베이스에서 추출된 감성어에 대한 감정 종류를 판정하는 단계, 상기 감정 종류 추출 모듈은 신조어와 이모티콘에 대한 감정 종류와 감성어에 대한 감정 종류에서 감정 종류별 총 개수를 산출하는 단계 및 상기 감정 종류 추출 모듈은 산출된 감정 종류별 총 개수 중에서 가장 큰 개수를 갖는 감정 종류를 상기 현재 문장 감정 종류로 판정하는 단계를 포함할 수 있다. The step of determining the emotion type of the current sentence may include comparing, by the emotion type extraction module, each morpheme with a sentiment word dictionary database in which emotional words and emotion types corresponding to each emotion word are stored; If there is a sentiment word stored in the sentiment word dictionary data, extracting the sentiment word included in the morpheme. Determining, by the emotion type extraction module, the emotion type for the emotional word extracted from the sentiment word dictionary database, wherein the emotion type extraction module is the total number of emotions for each emotion type among the emotion types for newly coined words and emoticons and the emotion types for emotional words. and determining, by the emotion type extraction module, an emotion type having the largest number among the total number of calculated emotion types as the emotion type of the current sentence.

상기 현재 대화에 대한 기분 종류로 판정하는 단계는 감정 종류별 문장 감정값 중 정해진 값 이상의 총 문장 감정값이 존재하는 지 판단하는 단계, 감정 종류별 문장 감정값 중 정해진 값 이상의 총 문장 감정값이 존재하면, 정해진 값 이상의 감정 종류별 총 문장 감정값에서 가장 큰 크기를 갖는 문장 감정값에 해당하는 감정 종류를 현재 대화에 대한 기분 종류로 판정하는 단계 및 감정 종류별 문장 감정값 중 정해진 값 이상의 총 문장 감정값이 존재하지 않으면, 현재 대화에 대한 기분 종류를 안정으로 판정하는 단계를 포함할 수 있다.The step of determining as the mood type for the current conversation is determining whether a total sentence emotional value of a predetermined value or more exists among sentence emotional values for each emotion type, and if a total sentence emotional value of a predetermined value or more exists among the sentence emotional values for each emotion type, Determining the emotion type corresponding to the sentence emotion value having the largest magnitude among the total sentence emotion values for each emotion type having a predetermined value or more as the mood type for the current conversation, and the total sentence emotion value of each emotion type having a total sentence emotion value greater than or equal to the predetermined value exists If not, determining the mood type for the current conversation as stable.

상기 특징에 따른 자동 응답 제공 장치의 제어 방법은 상기 제어 모듈이 대화 카테고리, 상기 의도 종류 및 상기 현재 입력 문장을 응답 생성 모듈로 출력하는 단계를 더 포함할 수 있다.The control method of the automatic response providing device according to the above feature may further include outputting, by the control module, the conversation category, the intention type, and the current input sentence to a response generating module.

상기 감정 종류는 기쁨, 슬픔, 신뢰, 분노, 두려움, 기대, 놀람 및 불쾌 중 하나일 수 있다.The emotion type may be one of joy, sadness, trust, anger, fear, expectation, surprise, and displeasure.

이러한 특징에 따르면, 현재 입력 문장뿐만 아니라, 현재 입력 문장에 대한 의도 종류, 현재 대화에 대한 기분 종류가 응답 생성 모듈로 입력되므로, 응답 생성 모듈은 현재 입력 문장에 대한 기분과 대화 참여자의 의도에 맞는 응답을 생성할 수 있다.According to this feature, since not only the current input sentence, but also the type of intention for the current input sentence and the type of mood for the current conversation are input to the response generating module, the response generating module matches the mood for the current input sentence and the intention of the conversation participant. response can be generated.

또한, 현재 대화에 대한 기분 종류는 현재 입력 문장에 대한 감정 종류를 이용하여 판정되므로, 응답 생성 모듈은 대화 참여자의 감정을 고려하여 응답의 생성을 실시할 수 있다.Also, since the mood type for the current conversation is determined using the emotion type for the current input sentence, the response generation module may generate a response in consideration of the conversation participant's emotion.

이때, 감정 종류는 현재 입력 문장에 포함되어 있는 감성어뿐만 아니라 신조어와 이모티콘을 이용하여 최종적으로 판정되므로, 판정된 감정의 종류에 대한 정확도가 크게 향상될 수 있다. At this time, since the emotion type is finally determined using not only emotional words included in the current input sentence but also neologisms and emoticons, the accuracy of the determined emotion type can be greatly improved.

도 1은 본 발명의 일 실시예에 따른 자동 응답 제공 시스템의 개략적인 블록도이다.
도 2a는 도 1에 도시한 사용자 단말의 개략적인 블록도이다.
도 2b는 도 1에 도시한 자동 응답 제공 장치 및 데이터베이스부에 대한 개략적인 블록도이다.
도 3은 본 발명의 일 실시예에 따른 자동 응답 제공 시스템의 사용자 단말의 동작 순서도이다.
도 4 내지 6은 본 발명의 일 실시예에 따른 자동 응답 제공 시스템의 자동 응답 제공 장치의 동작 순서도로서, 도 4는 제어 모듈의 동작 순서도이고, 도 5는 감정 종류 추출 모듈의 동작 순서도이며, 도 6은 기분 종류 결정 모듈의 동작 순서도이다.
1 is a schematic block diagram of an automatic response providing system according to an embodiment of the present invention.
Figure 2a is a schematic block diagram of the user terminal shown in Figure 1;
FIG. 2B is a schematic block diagram of the automatic response providing device and database unit shown in FIG. 1 .
3 is an operation flowchart of a user terminal of an automatic response providing system according to an embodiment of the present invention.
4 to 6 are operational flowcharts of the automatic response providing device of the automatic response providing system according to an embodiment of the present invention, FIG. 4 is an operational flowchart of a control module, and FIG. 5 is an operational flowchart of an emotion type extraction module. 6 is an operation flowchart of the mood type determination module.

이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 본 발명을 설명하는데 있어서, 해당 분야에 이미 공지된 기술 또는 구성에 대한 구체적인 설명을 부가하는 것이 본 발명의 요지를 불분명하게 할 수 있다고 판단되는 경우에는 상세한 설명에서 이를 일부 생략하도록 한다. 또한, 본 명세서에서 사용되는 용어들은 본 발명의 실시예들을 적절히 표현하기 위해 사용된 용어들로서, 이는 해당 분야의 관련된 사람 또는 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In describing the present invention, if it is determined that adding a detailed description of a technology or configuration already known in the related field may obscure the gist of the present invention, some of them will be omitted from the detailed description. In addition, the terms used in this specification are terms used to properly express the embodiments of the present invention, which may vary depending on people or customs related to the field. Therefore, definitions of these terms will have to be made based on the content throughout this specification.

여기서 사용되는 전문용어는 단지 특정 실시예를 언급하기 위한 것이며, 본 발명을 한정하는 것을 의도하지 않는다. 여기서 사용되는 단수 형태들은 문구들이 이와 명백히 반대의 의미를 나타내지 않는 한 복수 형태들도 포함한다. 명세서에서 사용되는 '포함하는'의 의미는 특정 특성, 영역, 정수, 단계, 동작, 요소 및/또는 성분을 구체화하며, 다른 특정 특성, 영역, 정수, 단계, 동작, 요소, 성분 및/또는 군의 존재나 부가를 제외시키는 것은 아니다.The terminology used herein is intended only to refer to specific embodiments and is not intended to limit the present invention. As used herein, the singular forms also include the plural forms unless the phrases clearly indicate the opposite. As used herein, the meaning of 'comprising' specifies specific characteristics, regions, integers, steps, operations, elements and/or components, and other specific characteristics, regions, integers, steps, operations, elements, components and/or groups. does not exclude the presence or addition of

이하, 첨부된 도면을 참조하여 본 발명의 일 실시예에 따른 자동 응답 제공 장치(20) 및 방법에 대해서 설명하도록 한다.Hereinafter, an automatic response providing apparatus 20 and method according to an embodiment of the present invention will be described with reference to the accompanying drawings.

먼저, 도 1을 참고하여, 본 예에 따른 자동 응답 제공 장치(20)를 구비하는 자동 응답 제공 시스템에 대해 설명한다.First, with reference to FIG. 1 , an automatic response providing system including the automatic response providing apparatus 20 according to the present example will be described.

도 1에 도시한 것처럼, 본 예의 자동 응답 제공 시스템은 사용자 단말(10), 사용자 단말(10)과 통신하는 자동 응답 제공 장치(20) 및 자동 응답 제공 장치(20)에 연결되어 있는 데이터베이스부(30)를 구비할 수 있다.As shown in FIG. 1, the automatic response providing system of this example includes a user terminal 10, an automatic response providing device 20 communicating with the user terminal 10, and a database unit connected to the automatic response providing device 20 ( 30) may be provided.

사용자 단말(10)은 자동 응답 제공 장치(20)에 접속하여 자동 응답 제공 장치(20)와 대화를 실시하는 참여자의 단말일 수 있다.The user terminal 10 may be a terminal of a participant who accesses the automatic response providing device 20 and conducts a conversation with the automatic response providing device 20 .

따라서, 사용자 단말(10)은 자동 응답 제공 장치(20)와 통신하고, 대화창을 통해 문장을 입력하여 자동 응답 제공 장치(20)로 전송하고, 자동 응답 제공 장치(20)로부터 전송된 입력된 문장(이하, 사용자 단말(10)로 입력된 문장을 '입력 문장'이라 함)에 대한 응답을 전송받아 출력할 수 있다. Therefore, the user terminal 10 communicates with the automatic response providing device 20, inputs a sentence through a chat window and transmits it to the automatic response providing device 20, and inputs the sentence transmitted from the automatic response providing device 20. (Hereinafter, a sentence input to the user terminal 10 is referred to as an 'input sentence') and may receive and output a response.

이러한 사용자 단말(10)은, 데스크톱 컴퓨터(desktop computer)와 같은 고정형 컴퓨터, 또는 스마트폰(smart phone)과 같은 휴대용 컴퓨터일 수 있다.The user terminal 10 may be a fixed computer such as a desktop computer or a portable computer such as a smart phone.

이러한 사용자 단말(10)은, 도 2a에 도시한 것처럼, 사용자 입력부(11), 통신부(12), 사용자 입력부(11)와 통신부(12)에 연결되어 있는 동작 제어부(13), 동작 제어부(13)에 연결되어 있는 저장부(14) 및 정보 출력부(15)일 수 있다.As shown in FIG. 2A, the user terminal 10 includes a user input unit 11, a communication unit 12, an operation control unit 13 connected to the user input unit 11 and the communication unit 12, and an operation control unit 13. ) It may be the storage unit 14 and the information output unit 15 connected to.

이때, 도 1에 도시된 구성요소들(11-15)은 필수적인 것은 아니어서, 사용자 단말(10)은 이들 구성 요소(11-15) 이외의 다른 적어도 하나의 구성요소를 추가로 구비하거나 이들 중 일부를 생략할 수 있다.At this time, the components 11 to 15 shown in FIG. 1 are not essential, so the user terminal 10 additionally includes at least one other component other than these components 11 to 15 or among them. Some may be omitted.

사용자 입력부(11)는 사용자 단말(10)의 동작 제어에 필요한 명령이나 데이터 등에 관련된 신호를 발생시킬 수 있다.The user input unit 11 may generate signals related to commands or data necessary for controlling the operation of the user terminal 10 .

따라서, 참여자는 사용자 입력부(11)를 이용하여 대화의 주제 및 입력 문장을 입력할 수 있다. Accordingly, the participant may input the topic of the conversation and input sentences using the user input unit 11 .

이러한 사용자 입력부(11)는 키 패드(key pad), 터치 패드(touch pad), 조그(jog) 스위치 또는 마우스(mouse) 등으로 구성될 수 있다.The user input unit 11 may include a key pad, a touch pad, a jog switch, or a mouse.

통신부(12)는 자동 응답 제공 장치(20) 등과 같은 외부 기기와의 유선 또는 무선 통신을 위한 것으로서, 외부 기기가 위치한 네트워크 사이의 통신을 가능하게 하는 적어도 하나의 통신 모듈을 구비할 수 있다.The communication unit 12 is for wired or wireless communication with an external device such as the automatic response providing device 20, and may include at least one communication module enabling communication between networks in which the external device is located.

예를 들어, 통신부(12)는 인터넷 모듈을 구비할 수 있다.For example, the communication unit 12 may include an internet module.

인터넷 모듈은 무선 또는 유선 인터넷 접속을 위한 모듈을 말하는 것으로, WLAN(Wireless LAN)(WiFi) 또는 Wibro(Wireless broadband) 등의 인터넷 기술을 이용될 수 있다. The Internet module refers to a module for wireless or wired Internet access, and Internet technologies such as WLAN (Wireless LAN) (WiFi) or Wibro (Wireless broadband) may be used.

하지만, 대안적인 예에서, 통신부(12)는 인터넷 모듈뿐만 아니라 근거리 통신 모듈 또는 이동통신 모듈과 같이 적어도 하나의 다른 통신 모듈을 구비할 수 있다. However, in an alternative example, the communication unit 12 may include at least one other communication module, such as a short-distance communication module or a mobile communication module, as well as an Internet module.

동작 제어부(13)는 사용자 단말(10)의 전반적인 동작을 제어하는 제어 모듈(231)로서, 프로세서(processor)일 수 있다.The operation controller 13 is a control module 231 that controls overall operations of the user terminal 10 and may be a processor.

따라서, 동작 제어부(13)는 사용자 입력부(11)로 인가되는 신호에 따라 자동 응답 제공 장치(20)와 접속되면, 대화의 카테고리를 선택할 수 있는 카테고리 선택 화면 및 자동 응답 제공 장치(20)와의 대화를 위한 대화창의 출력을 제어하고, 사용자 입력부(11)를 통해 현재 입력되는 입력 문장(이하, 현재 입력되는 입력 문장을 '현재 입력 문장'이라 함)을 대화창에 출력하고 또한 사용자 입력부(11)를 통해 입력되는 선택된 카테고리와 현재 입력 문장을 자동 응답 제공 장치(20)로 전송할 수 있다.Therefore, when the operation control unit 13 is connected to the automatic response providing device 20 according to the signal applied to the user input unit 11, a category selection screen for selecting a category of conversation and a conversation with the automatic response providing device 20 Controls the output of the dialog window for this, outputs an input sentence currently input through the user input unit 11 (hereinafter, the currently input input sentence is referred to as 'current input sentence') to the dialog window, and also controls the user input unit 11 The selected category and the current input sentence input through the automatic response providing device 20 may be transmitted.

또한, 동작 제어부(13)는 현재 입력 문장에 대응하는 응답이 자동 응답 제공 장치(20)로부터 전송되면 대화창에 출력될 수 있도록 한다. In addition, the operation control unit 13 allows a response corresponding to the current input sentence to be output on the chat window when it is transmitted from the automatic response providing device 20 .

저장부(14)는 사용자 단말(10)의 동작에 필요한 데이터나 동작 중에 발생하는 데이터를 저장하는 저장 매체로서, 하드 디스크 등이나 롬(ROM) 등과 같은 메모리(memory)일 수 있다.The storage unit 14 is a storage medium for storing data necessary for the operation of the user terminal 10 or data generated during operation, and may be a memory such as a hard disk or a ROM.

정보 출력부(15)는 동작 제어부(13)의 제어에 따라 시각에 관련된 출력을 발생시키기 위한 것으로서, 디스플레이 모듈을 구비할 수 있다.The information output unit 15 is for generating an output related to time under the control of the operation controller 13 and may include a display module.

따라서, 디스플레이 모듈은 동작 제어부(13)의 동작에 따라 해당 영상을 화면에 표시할 수 있으므로, 카테고리 선택 화면 및 대화창을 출력할 수 있다. Therefore, since the display module can display the corresponding image on the screen according to the operation of the operation controller 13, it can output a category selection screen and a chat window.

이러한 디스플레이 모듈은 액정 디스플레이(liquid crystal display), 유기 발광 표시 장치(organic light emitting diode display), 플렉시블 디스플레이(flexible display) 및 3차원 디스플레이(3D display) 중에서 적어도 하나의 표시 장치를 포함할 수 있다.Such a display module may include at least one display device among a liquid crystal display, an organic light emitting diode display, a flexible display, and a 3D display.

대안적인 예에서, 정보 출력부(15)는 시각에 관련된 출력뿐만 아니라 청각 및 촉각 중 적어도 하나에 관련된 출력을 추가로 발생시킬 수 있다.In an alternative example, the information output unit 15 may additionally generate an output related to at least one of auditory and tactile as well as visual output.

따라서, 정보 출력부(15)가 청각에 관련된 출력을 발생시킬 경우, 정보 출력부(15)는 마이크와 스피커를 추가로 구비할 수 있고, 촉각에 관련된 출력을 발생시킬 경우, 정보 출력부(15)는 진동 모터를 추가로 구비할 수 있다. Therefore, when the information output unit 15 generates an output related to hearing, the information output unit 15 may additionally include a microphone and a speaker, and when generating an output related to the tactile sense, the information output unit 15 ) may further include a vibration motor.

자동 응답 제공 장치(20)는 사용자 단말(10)로부터 전송되는 현재 입력 문장에 대응하는 응답을 자동으로 생성하여 사용자 단말(10)로 전송하는 것으로, 챗봇(chtbot) 기능을 수행할 수 있다. The automatic response providing device 20 automatically generates and transmits a response corresponding to the current input sentence transmitted from the user terminal 10 to the user terminal 10, and can perform a chatbot function.

이러한 자동 응답 제공 장치(20)는 서버(server)나 컴퓨터일 수 있다. The automatic response providing device 20 may be a server or a computer.

도 2b에 도시한 것처럼, 본 예의 자동 응답 제공 장치(20)는 통신부(21), 통신부(21)에 연결되어 있는 응답 제어부(23) 및 응답 제어부(23)에 연결되어 있는 저장부(24)를 구비할 수 있다.As shown in FIG. 2B, the automatic response providing device 20 of this example includes a communication unit 21, a response control unit 23 connected to the communication unit 21, and a storage unit 24 connected to the response control unit 23. can be provided.

이들 구성요소들(21-23) 역시 필수적인 것은 아니어서, 자동 응답 제공 장치(20)는 이들 구성 요소(21-23) 이외의 다른 적어도 하나의 구성요소를 추가로 구비하거나 이들 중 일부를 생략할 수 있다.These components 21-23 are also not essential, so the automatic response providing device 20 may additionally include at least one other component other than these components 21-23 or omit some of them. can

통신부(21)는 사용자 단말(10)의 통신부(12)와 유사하게, 사용자 단말(10)이나 데이터베이스부(30) 등과 같은 외부 기기와의 유선 또는 무선 통신을 위한 것으로서, 외부 기기가 위치한 네트워크 사이의 통신을 가능하게 하는 적어도 하나의 통신 모듈을 구비할 수 있다.Similar to the communication unit 12 of the user terminal 10, the communication unit 21 is for wired or wireless communication with external devices such as the user terminal 10 or the database unit 30, and between networks where the external devices are located. It may include at least one communication module enabling communication of

한 예로, 자동 응답 제공 장치(20)의 통신부(21)는 인터넷 모듈을 구비할 수 있지만, 이외에도 다른 종류의 통신 모듈을 추가로 구비할 수 있다.For example, the communication unit 21 of the automatic response providing device 20 may include an Internet module, but may additionally include other types of communication modules.

응답 제어부(23) 역시 자동 응답 제공 장치(20)의 전반적인 동작을 제어하는 것으로서, 프로세서(processor)을 구비할 수 있다. The response control unit 23 also controls overall operations of the automatic response providing device 20 and may include a processor.

이러한 응답 제어부(23)는, 도 2b에 도시한 것처럼, 이러한 응답 제어부(23)는, 도 1에 도시한 것처럼, 제어 모듈(231), 감정 종류 추출 모듈(232), 기분 종류 결정 모듈(233) 및 응답 생성 모듈(234)을 구비할 수 있다.As shown in FIG. 2B, the response controller 23 includes a control module 231, an emotion type extraction module 232, a mood type determination module 233, as shown in FIG. ) and a response generation module 234.

제어 모듈(231)은 사용자 입력부(11)로부터 입력된 현재 입력 문장을 어절 단위와 형태소 단위로 분리하고, 분리된 형태소를 이용하여 현재 입력 문장에 대한 최종 키워드를 추출할 수 있다.The control module 231 may divide the current input sentence input from the user input unit 11 into word units and morpheme units, and extract a final keyword for the current input sentence using the separated morphemes.

또한, 제어 모듈(231)은 추출된 최종 키워드에서 의도어를 추출하여, 의도어로 추출된 최종 키워드에 대한 의도 종류를 판정할 수 있고, 판정된 의도 종류에 대한 의도 종류별 개수를 산출하여, 가장 큰 개수를 갖는 의도 종류를 현재 입력 문장의 의도 종류로 판정할 수 있다. In addition, the control module 231 may extract the intended word from the extracted final keyword, determine the type of intent for the final keyword extracted as the intended word, calculate the number of types for each type of intent for the determined type of intent, and calculate the largest The number of intention types may be determined as the intention type of the current input sentence.

제어 모듈(231)과 연결되어 있는 감정 종류 추출 모듈(232)은 제어 모듈(231)로부터 어절 단위와 형태소 단위로 분리된 현재 입력 문장을 입력 받을 수 있다.The emotion type extraction module 232 connected to the control module 231 may receive the current input sentence divided into word units and morpheme units from the control module 231 .

따라서, 감정 종류 추출 모듈(232)은 분리된 각 어절에서 신조어와 이모티콘을 추출하고, 분리된 형태소에서 감성어를 추출하여, 추출된 신조어, 이모티콘 및 감성어 각각에 대한 감정 종류를 판정하여 현재 문장 감정 종류를 판정할 수 있다.Therefore, the emotion type extraction module 232 extracts new words and emoticons from each separated word, extracts emotional words from the separated morphemes, and determines the emotion type for each of the extracted new words, emoticons, and sentiment words, and determines the current sentence. Emotion types can be determined.

감정 종류 추출 모듈(232)과 연결되어 있는 기분 종류 결정 모듈(233)은 감정 종류 추출 모듈(232)로부터 입력되는 현재 문장 감정 종류와 바로 이전 문장 감정 종류가 동일한 지 비교하여 비교 결과에 따라 서로 다른 현재 문장 감정값을 산출할 수 있다.The mood type determination module 233 connected to the emotion type extraction module 232 compares whether the emotion type of the current sentence input from the emotion type extraction module 232 is the same as the emotion type of the immediately previous sentence, and determines whether or not the emotion type of the immediately previous sentence is the same. The current sentence emotion value can be calculated.

또한, 기분 종류 결정 모듈(233)은 현재 문장 감정값을 산출한 후, 이전 문장 감정값을 설정값만큼 삭감한 다음, 현재 대화까지의 모든 입력 문장에 대한 감정 종류별 문장 감정값을 합산하여 가장 큰 감정값을 갖는 감정 종류를 현재 대화에 대한 기분 종류를 판정할 수 있다.In addition, the mood type determination module 233 calculates the current sentence emotion value, reduces the previous sentence emotion value by a set value, and then sums the sentence emotion values for each emotion type for all input sentences up to the current conversation to obtain the largest sentence emotion value. The emotion type having the emotion value may determine the mood type for the current conversation.

응답 생성 모듈(234)은 제어 모듈(231)과 연결될 수 있고, 제어 모듈(231)로부터 인가되는 대화 카테고리, 의도 종류, 현재 입력 문장 및 기분 종류를 이용하여 기계 학습하여 현재 입력 문장에 대한 응답을 생성할 수 잇다.The response generating module 234 may be connected to the control module 231 and generate a response to the current input sentence by machine learning using the conversation category, intention type, current input sentence, and mood type applied from the control module 231. can create

그런 다음, 응답 생성 모듈(234)는 생성된 응답을 제어 모듈(231)로 출력하여, 제어 모듈(231)에 의해 사용자 단말로 생성된 응답이 전송될 수 있도록 한다.Then, the response generation module 234 outputs the generated response to the control module 231 so that the response generated by the control module 231 to the user terminal can be transmitted.

자동 응답 제공 장치(20)의 저장부(24)는 역시 자동 응답 제공 장치(20)의 동작에 필요한 데이터나 동작 중에 발생하는 데이터를 저장하는 저장 매체로서, 하드 디스크 등이나 롬(ROM) 등과 같은 메모리(memory)일 수 있다.The storage unit 24 of the automatic response providing device 20 is also a storage medium for storing data necessary for the operation of the automatic response providing device 20 or data generated during operation, such as a hard disk or a ROM. It may be a memory.

데이터베이스부(30)는 자동 응답 제공 장치(20)와 무선 또는 유선으로 연결될 수 있고, 자동 응답 제공 장치(20)의 동작에 필요한 데이터를 각각 저장하고 관리하는 복수 개의 데이터베이스를 구비할 수 있다.The database unit 30 may be connected to the automatic response providing device 20 by wire or wirelessly, and may include a plurality of databases for storing and managing data necessary for the operation of the automatic response providing device 20, respectively.

도 b에 도시한 것처럼, 본 예의 데이터베이스부(30)는 신조어 및 이모티콘 감성 사전 데이터베이스, 형태소 사전 데이터베이스(32), 감성어가 저장되어 있는 감성어 사전 데이터베이스(33), 단어에 대한 유사어 및 유의어가 저장되어 있는 유사 및 유의어 사전 데이터베이스, 및 단어에 대한 의도의 종류가 저장되어 있는 의도 종류 데이터베이스(35)를 구비할 수 있다.As shown in FIG. b, the database unit 30 of this example includes a new coined word and emoticon sentiment dictionary database, a morpheme dictionary database 32, a sentiment word dictionary database 33 storing sentiment words, and storing synonyms and synonyms for words. similar and thesaurus database, and an intention type database 35 storing the types of intentions for words.

신조어 및 이모티콘 감성 사전 데이터베이스는 신조어와 이모티콘 및 각 신조어와 각 이모티콘에 대한 감정의 종류(즉, 감정 종류)가 대응되게 저장되는 항목을 구비할 수 있다.A new word and emoticon emotion dictionary database may include items in which new words and emoticons and types of emotions (ie, types of emotions) for each new word and each emoticon are stored in correspondence with each other.

신조어는 비표준어로서, 기존에 있던 단어나 문장을 축약한 축약어나 새롭게 생성된 단어이거나 적어도 하나의 자음인 모음으로 이루어진 글자일 수 있다. A newly coined word is a non-standard word, and may be an abbreviation of an existing word or sentence, a newly created word, or a letter composed of at least one consonant vowel.

이모티콘은 감정을 표시하는 기호로서, 아스키 문자(예,

Figure pat00001
), 이미지(예,
Figure pat00002
), 4바이트 유니코드 문자(예,
Figure pat00003
) 등을 포함할 수 있다.An emoticon is a symbol that expresses an emotion, and is an ASCII character (e.g.,
Figure pat00001
), images (eg,
Figure pat00002
), 4-byte Unicode characters (e.g.,
Figure pat00003
) and the like.

감성 종류는 '기쁨', '슬픔', '신뢰', '분노', '두려움', '기대', '놀람'및 '불쾌'와 같이, 인간의 다양한 감정일 수 있다.Emotion types may include various human emotions, such as 'joy', 'sadness', 'trust', 'anger', 'fear', 'expectation', 'surprise' and 'unpleasure'.

따라서, 감정 종류 추출 모듈(232)은 신조어 및 이모티콘 감성 사전 데이터베이스와의 비교 동작을 통해, 현재 입력 문장에 포함된 신조어 및 이모티콘을 추출하고, 각 추출된 신조어 및 이모티콘에 대한 감정 종류를 판정할 수 있다.Therefore, the emotion type extraction module 232 extracts the newly coined word and emoticon included in the current input sentence through a comparison operation with the new coined word and emoticon emotion dictionary database, and determines the emotion type for each extracted new word and emoticon. there is.

형태소 사전 데이터베이스(32)는 현재 입력 문장의 분할을 위해 사용되는 형태소 분석을 위한 형태소 사전이 저장되어 있는 데이터베이스로서, 형태소 사전은 각 형태소에 대한 품사 및 활용 정보 등을 구비할 수 있다. The morpheme dictionary database 32 is a database in which a morpheme dictionary for morpheme analysis used for segmentation of a current input sentence is stored, and the morpheme dictionary may include parts of speech and usage information for each morpheme.

감성어 사전 데이터베이스(33)는 감성이나 감성을 나타내는 단어인 감성어 및 각 감성어에 대응되는 감정 종류가 서로 대응되게 저장될 수 있다.In the emotional word dictionary database 33 , emotional words that are words representing emotions and emotions and emotion types corresponding to each emotional word may be stored in correspondence with each other.

따라서, 감정 종류 추출 모듈(232)은 감성어 사전 데이터베이스(33)와의 비교 동작을 통해, 현재 입력 문장에 대한 각 형태소에서 감성어를 추출하고, 각 추출된 감성어에 대한 감정 종류를 판정할 수 있다.Accordingly, the emotion type extraction module 232 may extract a sentiment word from each morpheme of the current input sentence through a comparison operation with the sentiment word dictionary database 33 and determine the emotion type for each extracted sentiment word. there is.

유사어 및 유의어 사전 데이터베이스(34)(34)는 대표단어와 각 대표단어의 유사어 및 유의어가 서로 대응되게 저장될 수 있다. 따라서, 제어 모듈(231)은 현재 입력 문장에서 예비 키워드로 추출된 단어가 유사어나 유의어와 동일한 경우, 해당 단어를 대표단어로 치환한 후, 치환된 대표단어를 최종 키워드로 판정할 수 있다.The synonym and thesaurus database 34 (34) may store representative words and synonyms and synonyms of each representative word corresponding to each other. Accordingly, when a word extracted as a preliminary keyword in the current input sentence is the same as a similar word or a synonym, the control module 231 may replace the corresponding word with a representative word and determine the replaced representative word as a final keyword.

의도 종류 데이터베이스(35)는 현재 입력 문장의 의도의 종류(즉, 의도 종류)를 판정하기 위해 사용될 수 있다. The intent type database 35 may be used to determine the type of intent (ie, type of intent) of the current input sentence.

본 예에서, 의도 종류는 "요청", "명령", "경고", "축하" 및 "안부"로 구분될 수 있으나, 이러한 의도 종류는 필요에 따라 가감될 수 있다. In this example, intention types may be classified into “request”, “command”, “warning”, “congratulations”, and “regards”, but these types of intentions may be added or subtracted as needed.

따라서, 의도 종류 데이터베이스(35)는 참여자의 의도와 관련된 단어(이하, 참여자의 의도와 관련된 단어를 '의도어'라 칭함) 및 각 의도어에 대한 의도 종류가 서로 대응되게 저장될 수 있다. Accordingly, the intention type database 35 may store words related to the participant's intention (hereinafter, a word related to the participant's intention is referred to as 'intention word') and the intention type of each intention word corresponding to each other.

이러한 구조를 갖는 자동 응답 제공 시스템의 동작을 설명한다.The operation of the automatic response providing system having such a structure will be described.

먼저, 도 3을 참고하여, 사용자 단말(10)의 동작을 설명한다.First, with reference to FIG. 3, the operation of the user terminal 10 will be described.

사용자 단말(10)의 동작이 시작되고, 예로서 사용자 단말(10)에 설치된 애플리케이션(application)의 동작으로 자동 응답 제공 장치(20)에서 제공되는 챗봇 동작이 수행될 수 있다.The operation of the user terminal 10 starts, and as an example, a chatbot operation provided by the automatic response providing device 20 may be performed as an operation of an application installed in the user terminal 10 .

따라서, 사용자 단말(10)의 동자 제어부는 애플리케이션의 동작이 시작되면, 저장부(14)에 저장되어 있는 영상 데이터를 이용하여 대화 카테고리를 선택할 수 있는 대화 카테고리 선택 화면을 정보 출력부(15)로 출력할 수 있다(S11).Therefore, when the operation of the application starts, the dynamic control unit of the user terminal 10 displays a conversation category selection screen capable of selecting a conversation category using the video data stored in the storage unit 14 to the information output unit 15. It can be output (S11).

대화 카테고리 선택 화면은 사용자가 선택할 수 있는 복수 개의 대화 카테고리를 포함할 수 있고, 예를 들어, 대화 카테고리는 '우울', '불안' '가족' 및 '성(性)'으로 나눠질 수 있다. The conversation category selection screen may include a plurality of conversation categories that the user can select. For example, the conversation category may be divided into 'depression', 'anxiety', 'family', and 'sex'.

이와 같이, 정보 출력부(15)로 대화 카테고리 선택 화면이 출력되면, 사용자는 사용자 입력부(11)를 이용하여 복수 개의 대화 카테고리 중에서 원하는 하나의 카테고리를 선택할 수 있다.In this way, when the conversation category selection screen is output to the information output unit 15, the user can select one desired category from among a plurality of conversation categories using the user input unit 11.

따라서, 동작 제어부(13)는 사용자 입력부(11)로부터 인가되는 신호를 이용하여 사용자에 의해 복수 개의 대화 카테고리 중에서 선택된 대화 카테고리가 존재하는지 판단할 수 있다(S12). Accordingly, the operation control unit 13 may determine whether a conversation category selected by the user from among a plurality of conversation categories exists using a signal applied from the user input unit 11 (S12).

사용자, 즉 참여자의 선택 동작에 의해, 사용자 입력부(11)로부터 해당 신호가 입력되면, 동작 제어부(13)는 사용자 입력부(11)로부터 인가되는 신호를 판독하여 사용자에 의해 선택된 대화 카테고리를 판정한 후(S13), 판정된 대화 카테고리를 통신부(12)를 통해 자동 응답 제공 장치(20)로 전송할 수 있다(S14).When a corresponding signal is input from the user input unit 11 by a user, that is, a participant's selection operation, the operation control unit 13 reads the signal applied from the user input unit 11 and determines the conversation category selected by the user. (S13), the determined conversation category may be transmitted to the automatic response providing device 20 through the communication unit 12 (S14).

그런 다음, 동작 제어부(13)는 저장부(14)에 저장되어 있는 영상 데이터를 이용하여 정보 출력부(15)를 대화를 위하여 입력을 실시하는 대화창이 정보 출력부(15)로 출력될 수 있도록 한다(S15). 따라서, 참여자는 정보 출력부(15)로 출력되는 대화창에 원하는 문장 등을 입력하여 자동 응답 제공 장치(20)와의 대화, 즉 채팅을 실시할 수 있다. Then, the operation control unit 13 uses the image data stored in the storage unit 14 to output the information output unit 15 to the information output unit 15 so that a dialog window for performing an input for a conversation can be output. Do (S15). Accordingly, a participant may enter a desired sentence or the like into a chat window output to the information output unit 15 to conduct a conversation with the automatic response providing device 20, that is, chatting.

사용자 입력부(11)를 통해서 대화창에 입력 문장이 입력되면(S16), 동작 제어부(13)는 사용자 입력부(11)로 입력되는 입력 문장을 판정하여 정보 출력부(15)로 출력할 수 있다(S17). 따라서, 참여자는 자신이 입력되는 입력 문장을 정보 출력부(15)를 통해 확인할 수 있다.When an input sentence is input to the chat window through the user input unit 11 (S16), the operation control unit 13 may determine the input sentence input to the user input unit 11 and output it to the information output unit 15 (S17). ). Accordingly, the participant can check the input sentence inputted by the participant through the information output unit 15 .

참여자에 대한 현재 문장의 입력이 최종적으로 완료되면, 동작 제어부(13)는 현재 입력 문장을 통신부(12)를 이용하여 자동 응답 제공 장치(20)로 전송할 수 있다. 이때, 동작 제어부(13)는 사용자 입력부(11)의 특징 키[예, 줄바뀜 키(엔터키(enter key))]의 입력이 판정되면, 현재 입력 문장의 입력이 완료된 상태로 판정할 수 있다. 현재 입력 문장은 저장부(14)에 저장될 수 있다. When input of the current sentence to the participant is finally completed, the operation controller 13 may transmit the current input sentence to the automatic response providing device 20 using the communication unit 12 . At this time, the operation control unit 13 may determine that input of the current input sentence is completed when input of a feature key (eg, line change key (enter key)) of the user input unit 11 is determined. . The current input sentence may be stored in the storage unit 14 .

이와 같이, 현재 입력 문장이 자동 응답 제공 장치(20)로 전송되면, 사용자 단말(10)의 동작 제어부(13)는 통신부(12)를 통해 자동 응답 제공 장치(20)로부터 응답이 전송되는 지 판단할 수 있다(S19).In this way, when the current input sentence is transmitted to the automatic response providing device 20, the operation controller 13 of the user terminal 10 determines whether a response is transmitted from the automatic response providing device 20 through the communication unit 12. It can (S19).

따라서, 자동 응답 제공 장치(20)로부터 현재 입력 문장에 대한 응답이 전송되면, 동작 제어부(13)는 전송된 응답을 저장부(14)에 저장하고 또한 정보 출력부(15)로 출력할 수 있다(S110). Accordingly, when a response to the current input sentence is transmitted from the automatic response providing device 20, the operation control unit 13 can store the transmitted response in the storage unit 14 and also output it to the information output unit 15. (S110).

이러한 동작을 통해, 자동 응답 제공 장치(20)와의 챗봇 동작이 이루어지는 동안, 참여자는 대화창을 통해 원하는 입력 문장을 입력하고, 그에 대한 응답을 자동 응답 제공 장치(20)로부터 전달 받을 수 있다.Through this operation, during the chatbot operation with the automatic response providing device 20, the participant can input a desired input sentence through the chat window and receive a response from the automatic response providing device 20.

다음, 도 4 내지 6을 이용하여 현재 입력 문장에 대한 응답을 생성하여 사용자 단말(10)로 전송하는 자동 응답 제공 장치(20)의 동작을 설명한다.Next, an operation of the automatic response providing apparatus 20 generating a response to the current input sentence and transmitting the generated response to the user terminal 10 will be described using FIGS. 4 to 6 .

먼저, 도 4를 참고하여, 제어 모듈(231)의 동작의 일 예를 설명한다.First, an example of an operation of the control module 231 will be described with reference to FIG. 4 .

자동 응답 제공 장치(20)의 동작이 시작되면, 제어 모듈(231)은 사용자 단말(10)로부터 전송되는 대화 카테고리를 통신부(21)를 통해 수신한 후 저장부(24)에 저장할 수 있다(S21).When the operation of the automatic response providing apparatus 20 starts, the control module 231 may receive the conversation category transmitted from the user terminal 10 through the communication unit 21 and store it in the storage unit 24 (S21). ).

그런 다음, 사용자 단말(10)로부터 현재 입력 문장이 전송되면, 제어 모듈(231)은 현재 입력 문장을 저장부에 저장할 수 있다(S22).Then, when the current input sentence is transmitted from the user terminal 10, the control module 231 may store the current input sentence in the storage unit (S22).

본 예에서, 저장부(24)는 현재 입력 문장이 저장되는 사용자 입력 테이블을 구비할 수 있고, 이 사용자 입력 테이블은 토큰부(token), 문장부(sentence) 및 감정부(emotion)로 나눠질 수 있다. In this example, the storage unit 24 may include a user input table in which a current input sentence is stored, and this user input table may be divided into a token part, a sentence part, and an emotion part. there is.

토큰부는 현재 대화의 참여자를 식별하기 위한 식별번호, 즉 사용자 단말(10)의 식별번호가 저장되는 부분으로서, 한 예로 식별번호는 IP 주소일 수 있다.The token unit stores an identification number for identifying a participant in a current conversation, that is, an identification number of the user terminal 10. For example, the identification number may be an IP address.

문장부는 전송된 입력 문장 자체가 저장되는 부분이며, 감정부는 현재 입력 문장에 대해 추출된 감정 종류가 저장될 수 있다. The sentence part is a part where the transmitted input sentence itself is stored, and the emotion type extracted for the current input sentence may be stored in the emotion part.

한 예로서, 사용자 단말(10)로부터 전송된 입력 문장이 '나는 직장 상사가 말을 너무 심하게 해서 힘들어. ㅠㅠ.'라고 가정하면, 제어 모듈(231)은 사용자 입력 테이블의 문장부에 '나는 직장 상사가 말을 너무 심하게 해서 힘들어. ㅠㅠ.'라는 현재 입력 문장 전체를 저장할 수 있다.As an example, the input sentence transmitted from the user terminal 10 is 'I'm having a hard time because my boss talks too much. ㅠㅠ.', the control module 231 writes 'I'm having a hard time because my boss is talking too much. It is possible to store the entire current input sentence of '.

매 현재 입력 문장이 입력될 때마다 사용자 입력 테이블의 데이터가 축적되므로, 사용자 입력 테이블의 개수는 입력 문장의 개수와 무관하지만, 동일할 수 있다. Since data in the user input table is accumulated whenever a current input sentence is input, the number of user input tables is independent of the number of input sentences, but may be the same.

다음, 제어 모듈(231)은 현재 입력 문장을 이용하여 현재 입력 문장에 대한 의도(즉, 참여자의 생각이나 계획)의 종류(즉, 의도 종류)를 판정하기 위한 의도 판정 동작을 실시할 수 있다. Next, the control module 231 may perform an intention determination operation for determining the type (ie, intention type) of the intention (ie, the participant's thoughts or plans) for the current input sentence using the current input sentence.

이를 위해, 제어 모듈(231)은 저장부(24)에 저장되어 있는 현재 입력 문장을 어절 단위로 분리한 후 저장부(24)에 저장할 수 있다(S23). 이때, 제어 모듈(231)은 현재 입력 문장에 포함되어 있는 띄어쓰기, 즉 빈 칸을 이용하여 어절을 분리할 수 있다.To this end, the control module 231 may divide the current input sentence stored in the storage unit 24 into word units and then store them in the storage unit 24 (S23). At this time, the control module 231 may separate words using spaces included in the current input sentence, that is, blank spaces.

따라서, '나는 직장 상사가 말을 너무 심하게 해서 힘들어 ㅠㅠ'라는 현재 입력 문장이 띄어쓰기를 이용하여 어절 단위로 분리되면, “나는”, “직장”, “상사가”, “말을”, “너무”, “심하게”, “해서”, “힘들어”, "ㅠㅠ"로 각각 분리될 수 있다. Therefore, if the current input sentence 'I'm having a hard time because my boss is talking too much' is separated into word units using spaces, "I", "workplace", "boss", "talk", "too much" ”, “severely”, “because”, “hard”, and “ㅠㅠㅠ” can be separated respectively.

다음, 제어 모듈(231)은 분리된 각 어절을 감정 종류 추출 모듈(232)로 출력하여 현재 입력 문장에 대한 감정 종류의 추출을 행할 수 있도록 한다(S24). 따라서, 제어 모듈(231)로부터 현재 입력 문장에 대한 분리된 어절이 입력되면 감정 종류 추출 모듈(232)은 동작을 시작하여 입력된 어절에서 신조어 및 이모티콘을 추출하여 현재 입력 문장에 대한 감정 종류를 판정할 수 있다. Next, the control module 231 outputs each separated word to the emotion type extraction module 232 so that the emotion type for the current input sentence can be extracted (S24). Therefore, when a separate word for the current input sentence is input from the control module 231, the emotion type extraction module 232 starts an operation to extract new words and emoticons from the input word to determine the emotion type for the current input sentence. can do.

본 예에서, 감정 종류 추출 모듈(232)은 입력된 각 어절에서 마침표(.)나, 느낌표(!) 및 물음표(?), 조사 등과 같이 불용어를 생략한 후 신조어와 이모티콘의 추출 동작을 실시할 수 있다.In this example, the emotion type extraction module 232 omits stopwords such as periods (.), exclamation marks (!), question marks (?), and investigations from each input word, and then extracts new words and emoticons. can

그런 다음, 제어 모듈(231)은 분리된 각 어절을 다시 형태소 단위로 분리하여 저장부(24)에 저장한 후(S25), 각 분리된 형태소를 기분 종류 결정 모듈(233)로 출력할 수 있다(S26). Then, the control module 231 separates each separated word into morpheme units and stores them in the storage unit 24 (S25), and then outputs each separated morpheme to the mood type determination module 233. (S26).

이때, 제어 모듈(231)은 형태소 사전 데이터베이스(32)에 저장되어 있는 형태소를 비교하여, 해당 어절을 다시 형태소 단위로 분리하고 해당 품사를 태킹하여 저장부(24)에 저장할 수 있다. In this case, the control module 231 compares the morphemes stored in the morpheme dictionary database 32, separates the corresponding word into morpheme units again, tags the corresponding parts of speech, and stores them in the storage unit 24.

따라서, 제어 모듈(231)로부터 현재 입력 문장에 대한 분리된 형태소가 입력되면 감정 종류 추출 모듈(232)은 동작을 시작하여 입력된 형태소에서 감성어를 추출하여 현재 입력 문장에 대한 감정 종류를 판정할 수 있다. Accordingly, when a separated morpheme for the current input sentence is input from the control module 231, the emotion type extraction module 232 starts an operation to extract a sentiment word from the input morpheme to determine the emotion type for the current input sentence. can

한 예로서, 어절 단위로의 분리를 통해 "나는”, “직장”, “상사가”, “말을”, “너무”, “심하게”, “해서”, “힘들어”, "ㅠㅠ"로 분리된 입력 문장은 다시 “나/NP”, “는/JX”, “직장/NNG”, “상사/NNG”, “가/JKS” “말/NNG”, “을/JKO”, “너무/MAG”, “심하/VA”, “게/EC”, “하/VV”, “아서/EC”, “힘들/VA” 및 “어/EC”와 같이 형태소 단위로 분리될 수 있다. As an example, through word-by-word separation, “I”, “work”, “boss”, “talk”, “too”, “severely”, “because”, “tough”, and “ㅠㅠㅠ” The entered input sentences are again “me/np”, “a/jx”, “work/nng”, “boss/nng”, “go/jks”, “say/nng”, “to/jko”, “too/mag ”, “Shimha/VA”, “Ge/EC”, “Ha/VV”, “Arthur/EC”, “Hard/VA” and “Uh/EC” can be separated into morpheme units.

신조어나 이모티콘은 형태소로 해당 데이터베이스(32)에 등재되어 있지 않으므로, 신조어인 "ㅠㅠ"는 형태소 분리 시 형태소로 분리되지 않고 삭제될 수 있다.Since the newly coined word or emoticon is not registered in the corresponding database 32 as a morpheme, the newly coined word “ㅠ” can be deleted without being separated into a morpheme when the morpheme is separated.

이러한 형태소 분석 시 각 분리된 형태소에는, 이미 기술한 것처럼, 품사가 부여될 수 있다.In this morpheme analysis, parts of speech may be assigned to each separated morpheme, as described above.

여기서, NP는 대명사, JX는 보조사, NNG는 일반명사, JKS는 주격조사, JKO는 목적격조사, MAG는 일반부사, VA는 형용사, EC는 연결어미, VV는 동사, EC는 연결어미를 각각 나타내는 품사 기호일 수 있다. Here, NP is a pronoun, JX is an auxiliary, NNG is a common noun, JKS is a nominative case, JKO is an objective case, MAG is a common adverb, VA is an adjective, EC is a connecting ending, VV is a verb, and EC is a connecting ending. It can be a part of speech symbol.

현재 입력 문장에 대한 형태소 분석이 완료되며, 제어 모듈(231)은 분리된 각 형태소를 이용하여 구문을 분석해 현재 입력 문장에 대한 예비 키워드를 추출할 수 있다.After the morpheme analysis of the current input sentence is completed, the control module 231 may analyze the syntax using each separated morpheme to extract a preliminary keyword for the current input sentence.

본 예에서, 예비 키워드는 주어, 목적어 및 서술어일 수 있다. In this example, preliminary keywords may be subject, object, and predicate.

주어는 주격조사가 붙어있는 단어이고, 목적어는 목적격 조사가 붙어있는 단어이며, 서술어는 동사와 형용사일 수 있으므로, 제어 모듈(231)은 형태소 분석을 통해 부여된 품사 기호를 이용하여 현재 입력 문장에서 주어, 목적어 및 서술어를 판정해 예비 키워드로서 추출할 수 있다(S27)Since the subject is a word with a nominative particle, the object is a word with an object particle, and the predicate can be a verb or an adjective, the control module 231 uses the part-of-speech symbol assigned through morpheme analysis in the current input sentence. A subject, an object, and a predicate may be determined and extracted as preliminary keywords (S27).

이때, 형용사의 경우, 명사 앞에 바로 위치하는 형용사는 서술어에서 제외될 수 있다. 하지만, 명사 앞의 형용사가 위치하여도 해당 형용사가 구문분석 이후 VP(용언구)일 경우, 해당 형용사는 서술어로 간주될 수 있다.In this case, in the case of adjectives, adjectives located immediately before the noun may be excluded from the predicate. However, even if an adjective is located in front of a noun, if the adjective is a VP (verb phrase) after parsing, the adjective may be regarded as a predicate.

본 예에서, 구문의 분석은 입력 문장을 입력한 참여자의 대화 의도를 분석하기 위한 것이므로, 제어 모듈(231)은 입력 문장의 주어, 목적어 및 서술어를 추출하여 대화 의도를 판정할 수 있다.In this example, since the syntax analysis is to analyze the conversation intention of the participant who inputs the input sentence, the control module 231 may determine the conversation intention by extracting the subject, object, and predicate of the input sentence.

따라서, “나/NP”, “는/JX”, “직장/NNG”, “상사/NNG”, “가/JKS” “말/NNG”, “을/JKO”, “너무/MAG”, “심하/VA”, “게/EC”, “하/VV”, “아서/EC”, “힘들/VA” 및 “어/EC"로 형태소 단위로 분리된 입력 문장은, 일 예로서, 나/NP는/JX/NP_SBJ”,“직장/NNG/NP”, “상사/NNG가/JKS/NP_SBJ”, “말/NNG을/JKO/NP_OBJ”, “너무/MAG/AP”, “심하/VA게/EC/VP”, “하/VV아서/EC/VP”, “힘들/VA어/EC/VP” 와 같이, 구문 분석되어 문장 성분이 태깅된 형태로 저장부(24)에 저장될 수 있다. 이때 구문 분석은 Konlpy 파이썬(Python) 패키지의 구문 분석 기능을 사용하여 행해질 수 있다.Thus, “me/NP”, “a/JX”, “work/NNG”, “boss/NNG”, “go/JKS”, “say/NNG”, “to/JKO”, “too/MAG”, “ The input sentences separated by morpheme units into “shimha/VA”, “crab/EC”, “ha/VV”, “Arthur/EC”, “hard/VA” and “uh/EC” are, for example, I/ NP/JX/NP_SBJ”, “work/NNG/NP”, “boss/NNG/JKS/NP_SBJ”, “say/NNG/JKO/NP_OBJ”, “too/MAG/AP”, “SG/VA It can be parsed and stored in the storage unit 24 in the form of tagging sentence components, such as "Ge/EC/VP", "Ha/VVAs/EC/VP", and "Hard/VA/EC/VP". At this time, syntax analysis can be done using the syntax analysis function of the Konlpy Python package.

따라서, 현재 입력 문장인 '나는 직장 상사가 말을 너무 심하게 해서 힘들어 ㅠㅠ'에서, 제어 모듈(231)은 "나/NP는/JX/NP_SBJ”, “상사/NNG가/JKS/NP_SBJ”, “말/NNG을/JKO/NP_OBJ”, “심하/VA게/EC/VP”, “하/VV아서/EC/VP”및 “힘들/VA어/EC/VP”를 예비 키워드로서 추출될 수 있다.Therefore, in the current input sentence 'I'm having a hard time because my boss is talking too much ㅠㅠ', the control module 231 responds with "I/NP is/JX/NP_SBJ", "boss/NNG is/JKS/NP_SBJ", " Say/NNG/JKO/NP_OBJ”, “Severe/VAG/EC/VP”, “Ha/VVAS/EC/VP”, and “HARD/VA/EC/VP” can be extracted as preliminary keywords. .

다음, 제어 모듈(231)은 현재 입력 문장에서 추출된 예비 키워드 각각을 유사어 및 유의어 사전 데이터베이스(34)에 저장되어 있는 유사어 및 유의어와 비교하여 해당 예비 키워드에 대한 대표 단어를 추출한 후, 추출된 대표 키워드는 최종 키워드로서 저장부(24)에 저장할 수 있다(S28). Next, the control module 231 compares each preliminary keyword extracted from the current input sentence with similar words and synonyms stored in the synonym and synonym dictionary database 34 to extract a representative word for the corresponding preliminary keyword, and then extracts the extracted representative word. The keyword may be stored in the storage unit 24 as a final keyword (S28).

따라서, 제어 모듈(231)은 유사어 및 유의어 사전 데이터베이스(34)와의 비교 동작에 의해, 추출된 예비 키워드 중에서 유의어나 유사어에 해당하는 예비 키워드가 존재하는 지 판단할 수 있다.Accordingly, the control module 231 may determine whether a preliminary keyword corresponding to a synonym or similar word exists among the extracted preliminary keywords through a comparison operation with the synonym and thesaurus dictionary database 34 .

추출된 예비 키워드 중에서 유사어 및 유의어 사전 데이터베이스(34)에 저장되어 있는 유의어나 유사어와 동일한 예비 키워드가 존재하면, 제어 모듈(231)은 해당 유의어나 유사어에 대응하는 대표 단어를 해당 예비 키워드의 최종 키워드로 결정할 수 있다.If there is a preliminary keyword identical to a synonym or synonym stored in the synonym and synonym dictionary database 34 among the extracted preliminary keywords, the control module 231 converts a representative word corresponding to the synonym or synonym to the final keyword of the corresponding preliminary keyword. can be determined by

하지만, 예비 키워드 중에서 유의어나 유사어에 해당되지 않는 예비 키워드, 즉, 유사어 및 유의어 사전 데이터베이스(34)에 저장되어 있지 않는 예비 키워드는 그에 대응하는 유사어나 유의어가 존재하지 않는 상태일 수 있다. 따라서, 이런 경우, 제어 모듈은 해당 유사 키워드를 최종 키워드로 결정할 수 있다. However, among preliminary keywords, preliminary keywords that do not correspond to synonyms or synonyms, that is, preliminary keywords that are not stored in the synonym and synonym dictionary database 34 may be in a state in which no analog or synonym corresponding thereto exists. Accordingly, in this case, the control module may determine the corresponding similar keyword as the final keyword.

이미 기술한 것처럼, 유사/유의어 사전 데이터베이스는 대표단어 및 각 대표단어에 대응되게 유사어 및 유의어가 저장되어 있다.As already described, the synonym/thesaurus database stores representative words and similar words and synonyms corresponding to each representative word.

따라서, 제어 모듈(231)은 각 예비 키워드가 유사어 및 유의어로서 해당 데이터베이스(34)에 저장되어 있는 경우, 제어 모듈(231)은 해당 예비 키워드에 대응하는 대표단어를 추출하여, 추출된 대표단어를 최종 키워드로 결정할 수 있다.Accordingly, the control module 231 extracts a representative word corresponding to the corresponding preliminary keyword when each preliminary keyword is stored in the corresponding database 34 as a similar word or a synonym, and the extracted representative word It can be determined by the final keyword.

예를 들어, 대표단어가 '힘들다'인 경우, '힘들다'의 유사어 및 유의어는 '험난하다', '험난해', '힘겹다', '힘겨워' 등일 수 있다.For example, when the representative word is 'difficult', synonyms and synonyms of 'difficult' may be 'difficult', 'difficult', 'difficult', 'difficult', and the like.

대표단어가 '심하다'인 경우, '심하다'의 유사 및 유의어는 '심한'와 '심하게'일 수 있으며, 대표단어가 '하다'인 경우, '하다'의 유사 및 유의어는 '해서', '하여', '하여서'및 '하아서'일수 있다. When the representative word is 'severe', similar and synonyms of 'severe' can be 'severe' and 'severely', and when the representative word is 'hada', similarities and synonyms of 'hada' can be 'severely' and 'severely'. It can be 'so', 'so' and 'so'.

따라서, 예비 키워드인 "심하게"의 대표단어는 "심하다"이고, '하아서'의 대표단어는 '하다'이며, '힘들어'의 대표단어는 '힘들다'일 수 있다.Therefore, the representative word of "severely" as a preliminary keyword may be "severe", the representative word of 'haseo' may be 'do', and the representative word of 'severe' may be 'difficult'.

하지만, 예비 키워드가 해당 데이터베이스(34)의 유사어 및 유의어로서 저장되어 있지 않는 경우, 제어 모듈(231)은 해당 예비 키워드는 대표단어에 대응하는 유사어나 유의어가 아닌 그 자체가 대표단어로서 판정할 수 있다. 따라서, 이와 같이, 예비 키워드가 해당 데이터베이스(34)의 유사어 및 유의어로서 저장되어 있지 않는 경우, 제어 모듈(231)은 해당 예비 키워드를 최종 키워드로서 결정할 수 있다.However, when the preliminary keyword is not stored as a synonym or synonym in the database 34, the control module 231 may determine that the preliminary keyword itself is a representative word rather than a synonym or synonym corresponding to the representative word. there is. Accordingly, when the preliminary keyword is not stored as a synonym or synonym in the corresponding database 34, the control module 231 may determine the corresponding preliminary keyword as the final keyword.

따라서, 예비 키워드인 "나", "상사"및 "말"은 치환될 대표 단어가 존재하지 않으므로, 제어 모듈(231)은 '나', '상사'및 '말' 자체를 최종 키워드로서 저장할 수 있다.Therefore, since representative words to be replaced do not exist for the preliminary keywords “I”, “boss”, and “word”, the control module 231 may store “I”, “boss”, and “word” as final keywords. there is.

따라서, 현재 입력 문장인 "나는 직장 상사가 말을 너무 심하게 해서 힘들어 ㅠㅠ"에 대한 최종 키워드는 '나', '상사'및 '말', '심하다' '하다' 및 '힘들다'일 수 있다.Therefore, final keywords for the current input sentence "I'm having a hard time because my boss is talking too hard ㅠㅠ" may be 'me', 'boss' and 'talk', 'severe', 'do', and 'difficult'.

이와 같이, 현재 입력 문장에 대한 최종 키워드가 결정되면, 제어 모듈(231)은 정해진 최종 키워드 각각을 의도 종류 데이터베이스(35)와 비교하여 현재 입력 문장에 대한 의도 종류를 판정하여(S29), 응답 생성 모듈(234)로 출력할 수 있다(S210). 이때, 제어 모듈(231)은 의도 종류와 함께 저장부(24)에 저장되어 있는 현재 입력 문장 및 선택된 대화 카테고리를 응답 생성 모듈(234)로 출력할 수 있다(S210).In this way, when the final keyword for the current input sentence is determined, the control module 231 compares each of the determined final keywords with the intention type database 35 to determine the intention type for the current input sentence (S29) and generates a response. It can be output to the module 234 (S210). At this time, the control module 231 may output the current input sentence stored in the storage unit 24 and the selected dialogue category along with the type of intention to the response generation module 234 (S210).

본 예에서, 의도 종류는 "요청", "명령", "경고", "축하" 및 "안부"로 구분될 수 있으나, 이러한 의도 종류는 필요에 따라 가감될 수 있다. In this example, intention types may be classified into “request”, “command”, “warning”, “congratulations”, and “regards”, but these types of intentions may be added or subtracted as needed.

이미 기술할 것처럼, 의도 종류 데이터베이스(35)는 의도어 및 각 의도어에 대응하는 의도 종류가 저장될 수 있다. As already described, the intent type database 35 may store intent words and intent types corresponding to each intent word.

따라서, 최종 키워드 중에는 의도 종류 데이터베이스(35)에 의도어로 저장되어 있지 않는 최종 키워드가 존재할 수 있으므로, 모든 최종 키워드에 각각 대응되는 의도어가 의도 종류 데이터베이스(35)에 존재하지 않을 수 있다.Accordingly, since final keywords that are not stored as intended words in the intention type database 35 may exist among final keywords, intended words respectively corresponding to all final keywords may not exist in the intention type database 35 .

이와 같이, '나는 직장 상사가 말을 너무 심하게 해서 힘들어 ㅠㅠ'에 대한 최종 키워드인 '나', '상사'및 '말', '심하다' '하다' 및 '힘들다'중에서, 의도 종류 데이터베이스(35)에 저장되어 있는 의도어는 '심하다'와 '힘들다'일 수 있고, 이들 '심하다'와 '힘들다'의 의도 종류는 각각 '안부'일 수 있다. In this way, among the final keywords 'me', 'boss' and 'talk', 'severe', 'do' and 'difficulty' for 'I'm having a hard time because my boss talked too much', the intention type database (35 ) may be 'severe' and 'difficult', and the intention types of these 'severe' and 'difficult' may be 'regards', respectively.

이와 같이, 해당 최종 키워드, 즉 의도 종류 데이터베이스(35)에 의도어로서 저장되어 있는 최종 키워드에 대한 의도 종류가 판정되면, 제어 모듈(231)은 동일한 의도 종류의 갖는 최종 키워드의 개수를 합산하여, 판정된 각 의도 종류별 개수를 산출할 수 있다. In this way, if the intent type for the final keyword, that is, the final keyword stored as an intent word in the intent type database 35 is determined, the control module 231 sums up the number of final keywords having the same intent type, The number of each determined intention type may be calculated.

그런 다음, 제어 모듈(231)은 산출된 각 의도 종류별 개수 중에서 가장 많은 개수를 갖는 의도 종류를 현재 입력 문장에 대한 의도 종류로서 판정할 수 있다.Then, the control module 231 may determine the intention type having the largest number among the calculated numbers for each intention type as the intention type for the current input sentence.

따라서, 의도 종류 데이터베이스(35)에 저장되어 있는 의도어는 '심하다'와 '힘들다'일 수 있고, 이들 '심하다'와 '힘들다'의 의도 종류는 각각 '안부'일 수 있다.Accordingly, the intention words stored in the intention type database 35 may be 'serious' and 'difficult', and the intention types of these 'severe' and 'difficult' may be 'regards', respectively.

이로 인해, 현재 입력 문장인 '나는 직장 상사가 말을 너무 심하게 해서 힘들어 ㅠㅠ'에서, 요청, 명령, 경고 및 축하에 대한 의도 종류의 개수는 각각 모두 '0'인 반면, 안부에 대한 의도 종류의 개수는 '2'이므로, 제어 모듈(231)은 '나는 직장 상사가 말을 너무 심하게 해서 힘들어 ㅠㅠ'에 대한 현재 입력 문장의 의도 종류를 '안부'로 판정해 응답 생성 모듈(234)로 출력할 수 있다. Because of this, in the current input sentence 'I'm having a hard time because my boss is talking too much ㅠㅠ', the number of intention types for request, command, warning, and congratulation are all '0', whereas the number of intention types for regards Since the number is '2', the control module 231 determines the intention type of the current input sentence for 'I'm having a hard time because my boss is talking too much ㅠㅠ' as 'regards' and outputs it to the response generation module 234. can

이와 같이, 제어 모듈(231)은 현재 입력 문장을 어절 단위로 분리하여 감정 종류 추출 모듈(232)로 출력하고 형태소 단위로 분리하여 기분 종류 결정 모듈(233)로 출력하여, 기분 종류 결정 모듈(233)에서 현재 대화에 대한 기분의 종류(즉, 기분 종류)를 판정하여 응답 생성 모듈(234)로 판정된 기분 종류를 출력할 수 있도록 한다.In this way, the control module 231 divides the current input sentence into word units and outputs them to the emotion type extraction module 232, separates the current input sentence into word units and outputs it to the mood type determination module 233 by dividing the current input sentence into morpheme units, ) determines the mood type (ie, mood type) for the current conversation so that the determined mood type can be output to the response generation module 234.

이로 인해, 응답 생성 모듈(234)은 제어 모듈(231)로부터 전송되는 제어 모듈(231)은 의도 종류, 현재 입력 문장, 선택된 대화 카테고리 및 기분 종류를 이용하여 현재 입력 문장에 대한 응답을 생성하여 제어 모듈(231)로 출력할 수 있다.Accordingly, the response generation module 234 controls the control module 231 by generating a response to the current input sentence using the intention type, the current input sentence, the selected dialogue category, and the mood type transmitted from the control module 231. It can be output to module 231.

이와 같이, 응답 생성 모듈(234)의 동작으로 인해, 현재 입력 문장에 대한 응답이 입력되면, 제어 모듈(231)은 입력된 응답을 저장부(24)에 저장하고 또한 통신부(21)를 이용하여 사용자 단말(10)로 출력할 수 있다(S211).In this way, when a response to the current input sentence is input due to the operation of the response generation module 234, the control module 231 stores the input response in the storage unit 24 and also uses the communication unit 21 to It can be output to the user terminal 10 (S211).

따라서, 사용자 단말(10)은 자동 응답 제공 장치(20)로부터 전송된 응답을 현재 입력 문장에 대한 응답으로서 대화창에 출력할 수 있다. Accordingly, the user terminal 10 may output the response transmitted from the automatic response providing device 20 to the chat window as a response to the current input sentence.

다음, 도 6을 참고하여, 감정 종류 추출 모듈(232)의 동작을 설명한다. Next, referring to FIG. 6 , the operation of the emotion type extraction module 232 will be described.

감정 종류 추출 모듈(232)은, 이미 기술한 것처럼, 현재 입력 문장에 대한 감정 종류를 판정하기 위한 것으로서, 분리된 각 어절에 포함된 신조어 및 이모티콘과 각 형태소를 이용하여 감정 종류를 판정할 수 있다. As described above, the emotion type extraction module 232 is for determining the emotion type for the current input sentence, and can determine the emotion type using the newly coined word and emoticon included in each separated word and each morpheme. .

본 예에서, 판정되는 감정 종류는 '기쁨', '슬픔', '신뢰', '분노', '두려움', '기대', '놀람'및 '불쾌'일 수 있지만, 이에 한정되지 않는다. In this example, the determined emotion type may be 'joy', 'sadness', 'trust', 'anger', 'fear', 'expectation', 'surprise', and 'unpleasure', but is not limited thereto.

따라서, 제어 모듈(231)로부터 현재 입력 문장에 대한 분리된 어절과 형태소가 각각 입력되면, 감정 종류 추출 모듈(232)은 분리된 어절을 이용하여 현재 입력 문장에 포함된 감정 종류를 판정하여 제어 동작(S31)과 분리된 형태소를 이용하여 현재 입력 문장에 포함된 감정 종류를 판정하여 제어 동작(S32)을 실시할 수 있다. Therefore, when separate words and morphemes for the current input sentence are input from the control module 231, the emotion type extraction module 232 determines the emotion types included in the current input sentence using the separated words and performs a control operation. The control operation (S32) may be performed by determining the type of emotion included in the current input sentence using the morpheme separated from (S31).

이때, 제어 동작(S31, S32)는 도 5에 도시한 것처럼 병렬적으로 행해질 수 있다. 하지만, 이와 달리, 직렬적으로 이루어져 이들 제어 동작(S31, S32)이 순차적으로 행해질 수 있다. 예를 들어, 어절을 이용한 제어 동작(S31)이 먼저 행해진 후 형태소를 이용한 제어 동작(S32)이 행해질 수 있다. At this time, the control operations S31 and S32 may be performed in parallel as shown in FIG. 5 . However, unlike this, these control operations (S31 and S32) may be performed serially in series. For example, a control operation (S31) using a word may be performed first, and then a control operation (S32) using a morpheme may be performed.

이로 인해, 감정 종류 추출 모델은 제어 모듈(231)로부터 현재 입력 문장에 대해 분리된 각 구문이 입력되면, 입력되는 각 어절을 저장부(24)에 저장한 후(S311), 각 어절에 포함되어 있는 신조어나 이모티콘을 추출하여 현재 입력 문장에 포함되어 있는 신조어나 이모티콘을 추출할 수 있다(S312).For this reason, when each phrase separated from the current input sentence is input from the control module 231, the emotion type extraction model stores each input word in the storage unit 24 (S311) and is included in each word New words or emoticons included in the current input sentence may be extracted by extracting newly coined words or emoticons (S312).

따라서, 감정 종류 추출 모듈(232)은 저장부(24)에 저장되어 있는 현재 입력 문장의 분리된 각 어절을 읽어와, 각 어절에 포함되어 있는 불용어를 삭제한 후 불용어가 삭제된 각 어절과 신조어 및 이모티콘 감성 사전 데이터베이스에 저장되어 있는 신조어 및 이모티콘와 비교하여 각 어절에 신조어와 이모티콘이 존재하는 지 판단할 수 있다.Therefore, the emotion type extraction module 232 reads each separated word of the current input sentence stored in the storage unit 24, deletes the stopwords included in each word, and then each word from which the stopwords are deleted and the newly coined word. and compared with new words and emoticons stored in the emoticon emotion dictionary database, it is possible to determine whether new words and emoticons exist in each word.

어절에 따라서, 신조어와 이모티콘 모두 추출되지 않는 경우, 신조어와 이모티콘 모두 추출되는 경우, 또는 신조어와 이모티콘 중 하나만 추출되는 경우가 존재할 수 있다.Depending on the word, there may be a case in which both a coined word and an emoticon are not extracted, a case in which both a coined word and an emoticon are extracted, or a case in which only one of a coined word and an emoticon is extracted.

본 예에서, 현재 입력 문장을 형태소가 아닌 어절 단위로 분리하여 신조어와 이모티콘을 추출하는 이유는 신조어와 이모티콘은 국어사전에 등재되어 있지 않는 경우가 많기 때문이다. 즉, 신조어와 이모티콘은 형태소 분석 시 형태소로 인식되지 않기 때문에 형태소로 분리되지 않으므로, 신조어와 이모티콘은 형태소 단위로 분리되지 않는다. 따라서, 본 예에서, 감정 종류 추출 모듈(232)은 신조어 및 이모티콘 감성사전 데이터베이스(31)에 저장되어 있는 신조어 및 이모티콘을 분리된 각 구문과 비교하여 각 구문에 포함되어 있는 신조어와 이모티콘을 추출하게 된다.In this example, the reason why newly coined words and emoticons are extracted by separating the current input sentence into word units rather than morphemes is that new words and emoticons are not registered in Korean dictionaries in many cases. That is, new words and emoticons are not separated into morphemes because they are not recognized as morphemes during morpheme analysis, and thus new words and emoticons are not separated into morpheme units. Therefore, in this example, the emotion type extraction module 232 compares the newly coined word and emoticon stored in the new word and emoticon emotion dictionary database 31 with each separated phrase, and extracts the newly coined word and emoticon included in each phrase. do.

또한, 분리된 어절에 불용어가 포함되는 경우, 신조어와 이모티콘의 추출이 곤란하거나 불가능하므로, 위에 기술한 것처럼, 신조어 및 이모티콘 감성사전 데이터베이스(31)와의 비교 동작 전에 각 어절에 포함되어 있는 불용어의 제거 동작이 이루어질 수 있다. In addition, when the separated words include stopwords, it is difficult or impossible to extract new words and emoticons, so as described above, the stopwords included in each word are removed before the comparison operation with the new words and emoticon sentiment dictionary database 31 action can be made.

이러한 비교 동작에 의해, 감정 종류 추출 모듈(232)은 각 어절에서 신조어와 이모티콘 중 적어도 하나가 존재하는 경우, 해당 어절에 존재하는 신조어와 이모티콘을 추출한 후 추출된 신조어와 이모티콘에 각각 대응하는 감정 종류를 판정하여 저장할 수 있다.Through this comparison operation, the emotion type extraction module 232, when at least one of the newly coined word and emoticon exists in each word, extracts the newly coined word and emoticon existing in the corresponding word, and then the emotion type corresponding to the extracted new word and emoticon, respectively. can be determined and stored.

이미 기술한 것처럼, 신조어 및 이모티콘 감성 사전 데이터베이스는 신조어와 이모티콘뿐만 아니라 각 신조어와 이모티콘에 대응되는 감정 종류도 함께 저장되어 있다.As already described, the newly coined word and emoticon emotion dictionary database stores not only newly coined words and emoticons but also emotion types corresponding to each new word and emoticon.

한 예로서, 신조어 및 이모티콘 감성 사전 데이터베이스(31)에 신조어로서 "ㅠㅠ"가 저장되어 있고, "ㅠㅠ"에 대응하는 감정 종류는 "슬픔"이라고 가정한다.As an example, it is assumed that “ㅠ” is stored as a newly coined word in the new word and emoticon emotion dictionary database 31, and the emotion type corresponding to “ㅠ” is “sad”.

이런 경우, 제어 모듈(231)의 어절 분리 동작에 의해 분리된 각 어절인 “나는”, “직장”, “상사가”, “말을”, “너무”, “심하게”, “해서”, “힘들어”, "ㅠㅠ"이 입력되면, 감정 종류 추출 모듈(232)은 "ㅠㅠ"의 어절에서 신조어인 'ㅠㅠ'를 추출할 수 있다.In this case, each word separated by the word separation operation of the control module 231 “I”, “work”, “boss”, “talk”, “too”, “seriously”, “because”, “ If "It's hard" or "ㅠㅠㅠ" is input, the emotion type extraction module 232 may extract the newly coined word 'ㅠㅠㅠ' from the word of "ㅠㅠㅠ".

그런 다음, 감정 종류 추출 모듈(232)은 추출된 신조어인 "ㅠㅠ"에 대한 감정 종류를 "슬픔"으로 판정할 수 있다. Then, the emotion type extraction module 232 may determine the emotion type for the extracted neologism “ㅠ” as “sad”.

이와 같이, 감정 종류 추출 모듈(232)은 각 어절을 신조어 및 이모티콘 감성 사전 데이터베이스(31)에 저장된 신조어 및 이모티콘과 비교하여 현재 입력 문장에 포함되어 있는 신조어 및 이모티콘을 추출하고, 각 추출된 이모티콘과 신조어에 대한 감정 종류를 판정하여 저장부(24)에 저장할 수 있다. 이때, 판정된 감정 종류는 해당 신조어 및 이모티콘과 대응되게 저장될 수 있다.In this way, the emotion type extraction module 232 compares each word with the newly coined word and emoticon stored in the new word and emoticon emotion dictionary database 31, extracts the newly coined word and emoticon included in the current input sentence, and extracts each extracted emoticon and emoticon. The emotion type for the newly coined word may be determined and stored in the storage unit 24 . At this time, the determined emotion type may be stored in correspondence with the corresponding neologism and emoticon.

또한, 감정 종류 추출 모듈(232)은 제어 모듈(231)로부터 형태소 단위로 분리된 현재 입력 문장, 즉 형태소가 입력되면, 해당 형태소와 감성어 사전 데이터베이스(33)에 저장되어 있는 감성어와 비교하여 해당 형태소가 감성어로서 감성어 사전 데이터베이스(33)에 저장되어 있는 단어인지를 판정할 수 있다(S322).In addition, when the current input sentence separated by morphemes from the control module 231, that is, the morphemes, is input, the emotion type extraction module 232 compares the corresponding morphemes with the emotion words stored in the emotion word dictionary database 33 to correspond to the corresponding morphemes. It may be determined whether the morpheme is a word stored in the emotional word dictionary database 33 as a sentimental word (S322).

따라서, 감정 종류 추출 모듈(232)은 입력된 형태소가 감성어로서 감성어 사전 데이터베이스(33)에 존재하는지 판단할 수 있다.Accordingly, the emotion type extraction module 232 may determine whether the input morpheme exists in the emotion word dictionary database 33 as a emotion word.

입력된 형태소가 감성어 사전 데이터베이스(33)에 감성어로서 존재하면, 감정 종류 추출 모듈(232)은 입력된 형태소를 감성이나 감성을 나타내는 감성어로서 판정하여 해당 형태소를 감성어로서 추출할 수 있다.If the input morpheme exists as a sentiment word in the emotional word dictionary database 33, the emotion type extraction module 232 may determine the input morpheme as an emotion or a sentiment word representing emotion and extract the corresponding morpheme as a sentiment word. .

그런 다음, 감정 종류 추출 모듈(232)은 추출된 감성어에 대응되게 저장되어 있는 감정 종류를 판정한 후, 해당 형태소에 대응되게 판정된 감정 종류를 저장부(24)에 저장할 수 있다(S323).Then, the emotion type extraction module 232 may determine the emotion type stored to correspond to the extracted sentiment word, and then store the determined emotion type corresponding to the corresponding morpheme in the storage unit 24 (S323). .

이와 같이, 감정 종류 추출 모듈(232)은 현재 입력 문장에 대한 모든 형태소를 감성어 사전 데이터베이스(33)와 비교하여, 입력된 형태소 중에서 감성어에 해당하는 형태소를 추출한 후 그에 대응되는 감정 종류를 판정할 수 있게 된다.In this way, the emotion type extraction module 232 compares all morphemes of the current input sentence with the emotion word dictionary database 33, extracts a morpheme corresponding to the emotion word from among the input morphemes, and then determines the emotion type corresponding thereto. You can do it.

이와 같이, 현재 입력 문장에 포함되어 있는 신조어와 이모티콘에 대한 감정 종류 및 현재 입력 문장에 포함되어 있는 감성어에 대한 감정 종류가 판정되면, 감정 종류 추출 모듈(232)은 현재 입력 문장에 포함되어 있는 감정 종류를 이용하여 현재 입력 문장에 대한 감정 종류(이하, 현재 입력 문장에 대한 감정 종류를 '현재 문장 감정 종류'라 함)를 판정할 수 있다.In this way, when the emotion type for the newly coined word and emoticon included in the current input sentence and the emotion type for the emotion word included in the current input sentence are determined, the emotion type extraction module 232 includes the emotion type included in the current input sentence. The emotion type for the current input sentence (hereinafter, the emotion type for the current input sentence will be referred to as 'current sentence emotion type') can be determined using the emotion type.

이때, 현재 입력 문장은 기쁨', '슬픔', '신뢰', '분노', '두려움', '기대', '놀람'및 '불쾌' 중 어떠한 종류의 감정도 판정되지 않는 경우도 존재할 수 있다. 이런 경우, 감정 종류 추출 모듈(232)는 현재 문장 감정 종류를 '무감정'으로 판정할 수 있다.At this time, there may be cases in which the current input sentence does not determine any type of emotion among joy, sadness, trust, anger, fear, fear, surprise, and displeasure. . In this case, the emotion type extraction module 232 may determine 'no emotion' as the emotion type of the current sentence.

따라서, 감정 종류 추출 모듈(232)은 신조어 및 이모티콘, 그리고 형태소를 이용하여 판정된 현재 입력 문장에 대한 모든 감정 종류에서, 종류별로 감정 종류를 합산할 수 있다(S33)).Accordingly, the emotion type extraction module 232 may sum the emotion types by type among all emotion types for the current input sentence determined using the newly coined word, emoticon, and morpheme (S33).

예를 들어, 입력 문장이 '나는 직장 상사가 말을 너무 심하게 해서 힘들어 ㅠㅠ'인 경우, 신조어 및 이모티콘을 이용하여 판정된 감정의 종류는 한 개의 신조어 'ㅠㅠ'에 해당하는 '슬픔'일 수 있다.For example, if the input sentence is 'I'm having a hard time because my boss is talking too much', the type of emotion determined using the new word and emoticon may be 'sadness' corresponding to one new word 'ㅠㅠㅠ' .

또한, 형태소를 이용하여 판정된 감정의 종류는 '심하'에 해당하는 '불쾌'와 '힘들'에 해당하는 '슬픔'일 수 있다.In addition, the type of emotion determined using the morpheme may be 'unpleasant' corresponding to 'severe' and 'sadness' corresponding to 'difficulty'.

따라서, '나는 직장 상사가 말을 너무 심하게 해서 힘들어 ㅠㅠ'에 대한 입력 문장에서 총 판정된 감정의 종류는 '슬픔'과 '불쾌'일 수 있고, 현재 입력 문장에서 판정된 '슬픔'이라는 감정의 종류의 총 개수는 '2'이고 '불쾌'라는 감정의 종류의 총 개수는 '1'일 수 있다. 다른 감정의 종류(즉, 기쁨, 신뢰, 분노, 두려움, 기대, 놀람) 각각에 대한 총 개수는 '0'이 될 수 있다.Therefore, the types of total judged emotions in the input sentence for 'I'm having a hard time because my boss talked too harshly ㅠㅠ' may be 'sadness' and 'displeasure', and the emotion of 'sadness' determined in the current input sentence The total number of types may be '2', and the total number of emotion types 'unpleasant' may be '1'. The total number of each of the different emotion types (ie, joy, trust, anger, fear, expectation, and surprise) may be '0'.

이와 같이, 현재 입력 문장에서 판정된 종류별 감정의 총 개수가 산출되면, 감정 종류 추출 모듈(232)은 산출된 총 개수 중에서 가장 큰 값을 갖는 감정 종류를 현재 입력 문장에 대한 감정 종류인 현재 문장 감정 종류로서 판정한 후(S34), 기분 종류 결정 모듈(233)로 출력하며 또한 저장부(24)에 생성된 현재 입력 문장에 대한 사용자 입력 테이블의 '감정부'에 저장할 수 있다(S35).In this way, when the total number of emotions for each type determined in the current input sentence is calculated, the emotion type extraction module 232 determines the emotion type having the largest value among the calculated total number of emotions in the current sentence, which is the emotion type for the current input sentence. After determining as a type (S34), it is output to the mood type determination module 233 and can be stored in the 'emotion unit' of the user input table for the current input sentence generated in the storage unit 24 (S35).

따라서, '나는 직장 상사가 말을 너무 심하게 해서 힘들어 ㅠㅠ'라는 현재 입력 문장에 대한 현재 문장 감정 종류는 총 개수가 2개인 '슬픔'이 될 수 있으므로, 감정 종류 추출 모듈(232)은 현재 문장 감정 종류를 '슬픔'으로 판정할 수 있다Therefore, since the current sentence emotion type for the current input sentence 'I'm having a hard time because my boss talked too much' can be 'sadness' with a total number of two, the emotion type extraction module 232 determines the current sentence emotion type. Type can be judged as 'sad'

이때, 현재 입력 문장에 대해 판정된 감정의 종류가 2개 이상이고, 각 감정의 종류마다 산출된 총 개수의 최대값이 2개 이상 동일한 감정이 존재할 경우, 감정 종류 추출 모듈(232)은 현재 입력 문장에 대한 감정을 '무감정' 상태로 판정하여 기분 종류 결정 모듈(233)로서 전달할 수 있으며, 사용자 입력 테이블의 감정부에는 '무감정'으로서 저장될 수 있다.At this time, if there are two or more types of emotions determined for the current input sentence and there are two or more emotions having the same maximum value of the total number calculated for each emotion type, the emotion type extraction module 232 performs the current input The emotion for the sentence may be determined as 'no emotion' and transmitted as the mood type determination module 233, and may be stored as 'no emotion' in the emotion unit of the user input table.

이와 같이, 감정 종류 추출 모듈(232)로부터 현재 문장 감정 종류가 입력되면, 기분 종류 결정 모듈(233)은 입력된 현재 문장 감정 종류를 이용하여 현재 대화에 대한 기분의 종류(즉, 기분 종류)를 판정할 수 있다.In this way, when the current sentence emotion type is input from the emotion type extraction module 232, the mood type determination module 233 determines the mood type (ie, mood type) for the current conversation using the input current sentence emotion type. can judge

이때, 판정된 기분 종류는 감정 종류인 기쁨, 슬픔, 신뢰, 분노, 두려움, 기대, 놀람 및 불쾌 중 하나이거나 안정일 수 있다. At this time, the determined mood type may be one of joy, sadness, trust, anger, fear, expectation, surprise, and displeasure, or stability.

이를 위해, 먼저, 기분 종류 판정 모듈은 입력된 현재 문장 감정 종류와 저장부(24)에 저장되어 있는 바로 이전의 입력 문장의 감정 종류(즉, 바로 이전 문장 감정 종류)를 서로 비교할 수 있다(S41).To this end, first, the mood type determination module may compare the emotion type of the current input sentence and the emotion type of the immediately previous input sentence stored in the storage 24 (ie, the emotion type of the immediately previous sentence) with each other (S41 ).

따라서, 현재 문장 감정 종류와 바로 이전 문장 감정 종류가 서로 동일하며(S42), 즉 2번 연속으로 입력된 문장의 감정 종류가 서로 동일하면, 현재 문장 감정 종류에 대한 수치(이하, 현재 문장 감정의 종류에 대한 수치를'현재 문장 감정값'이라 함)를 '2'로 정할 수 있다(S43).Therefore, if the current sentence emotion type and the immediately previous sentence emotion type are the same (S42), that is, if the emotion types of the sentences input twice in succession are the same, the value for the current sentence emotion type (hereinafter, the current sentence emotion type) A numerical value for the type (referred to as 'current sentence emotion value') may be set to '2' (S43).

하지만, 현재 문장 감정 종류와 바로 이전 문장 감정 종류가 서로 상이하면(S42), 즉 2번 연속으로 입력된 문장의 감정 종류가 서로 상이하면, 기분 종류 결정 모듈(233)은 현재 문장 감정값을 '1'로 정해질 수 있다(S44).However, if the emotion type of the current sentence and the emotion type of the immediately previous sentence are different from each other (S42), that is, if the emotion types of the sentences input twice in succession are different from each other, the mood type determination module 233 determines the emotion value of the current sentence ' It may be set to 1' (S44).

따라서, 현재 문장 감정값은 '2' 또는 '1'의 값을 가질 수 있다. Accordingly, the current sentence sentiment value may have a value of '2' or '1'.

그런 다음, 기분 종류 결정 모듈(233)은 현재 문장 감정값을 제외한 이전 입력 문장에 대한 모든 문장 감정값을 조정할 수 있다. 따라서, 기분 종류 결정 모듈(233)은 모든 이전 입력 문장에 대한 현재 각 문장 감정값에서 설정 크기(예,0.1)만큼 감소시켜 이전 입력 문장에 대한 현재의 문장 감정값으로 저장할 수 있다(S45). 이때, 각 이전 입력 문장에 대한 감정 종류는 '기쁨', '슬픔', '신뢰', '분노', '두려움', '기대', '놀람' 및 '불쾌' 중 하나를 가질 수 있다. Then, the mood type determination module 233 may adjust sentiment values of all sentences for previous input sentences except for the current sentence sentiment values. Accordingly, the mood type determination module 233 may reduce the current sentiment value of each sentence for all previous input sentences by a set size (eg, 0.1) and store it as the current sentence sentiment value for the previous input sentence (S45). In this case, the emotion type for each previous input sentence may have one of 'joy', 'sadness', 'trust', 'anger', 'fear', 'expectation', 'surprise', and 'unpleasure'.

이로 인해, 문장 감정값은 새로운 입력 문장이 사용자 단말(10)로부터 전송될 때마다 최대 2에서부터 0.1씩 순차적으로 감소하여 '0'의 최소값을 가질 수 있다. 따라서, 본 예에서, 대화창에 입력된 각 문장에 문장 감정값은 0 내지 2의 범위의 값을 가질 수 있어, 문장 감정값의 최소값은 '0'이고 문장 감정값의 최대값은 '2'일 수 있다.For this reason, the sentence sentiment value may have a minimum value of '0' by sequentially decreasing from a maximum of 2 by 0.1 each time a new input sentence is transmitted from the user terminal 10 . Therefore, in this example, the sentence emotion value of each sentence input to the chat window may have a value in the range of 0 to 2, so that the minimum value of the sentence emotion value is '0' and the maximum value of the sentence emotion value is '2'. can

다음, 감정 결정 모듈은 현재 대화창에 입력된 모든 입력 문장을 대상으로 하여, 감정 종류별로 산출된 문장 감정값을 합산하여, 감정 종류별 총 감정값을 산출할 수 있다(S46).Next, the emotion determination module may calculate a total emotion value for each emotion type by summing sentence emotion values calculated for each emotion type, targeting all input sentences input to the current chat window (S46).

다음, 감정 결정 모듈은 감정 종류별 총 감정값의 크기를 이용하여 각 감정 종류별 감정의 강도(즉, 감정 강도)를 판정할 수 있다(S47).Next, the emotion determination module may determine the intensity of emotion (ie, intensity of emotion) for each emotion type by using the size of the total emotion value for each emotion type (S47).

본 예에서, 기분 종류 결정 모듈(233)은 총 감정값이 제1 설정값 이상(예, 3.5 이상)을 갖는 감정 종류(예, '슬픔')에 대한 감정 강도는 '강함'으로 판정할 수 있다.In this example, the mood type determination module 233 may determine the emotional intensity of an emotion type (eg, 'sadness') having a total emotion value equal to or greater than a first set value (eg, 3.5 or greater) as 'strong'. there is.

또한, 기분 종류 결정 모듈(233)은 합산된 총 감정값이 제1 설정값 미만 제2 설정값 이상의 범위(예, 0.4 이상 3.5 미만)에 속하는 감정 종류(예, '분노')에 대한 감정 강도는 '약함'으로 판정할 수 있다. 여기서, 제2 설정값은 제1 설정값보다 작은 값일 수 있다. In addition, the mood type determination module 233 determines the emotion intensity for the emotion type (eg, 'anger') in which the sum of total emotion values is less than the first set value and greater than or equal to the second set value (eg, greater than or equal to 0.4 and less than 3.5). can be judged as 'weak'. Here, the second set value may be a value smaller than the first set value.

이와 같이, 각 감정 종류에 대한 감정 강도가 판정되면, 기분 종류 결정 모듈(233)은 감정 강도가 '강함'을 갖는 감정 종류가 존재하는지 판단할 수 있다(S48).In this way, if the emotional intensity for each emotion type is determined, the mood type determination module 233 may determine whether an emotion type having 'strong' emotional intensity exists (S48).

감정 강도가 '강함'을 갖는 감정 종류가 존재할 경우(S48), 기분 종류 결정 모듈(233)은 감정 강도가 '강함'을 갖는 감정 종류가 한 개인 지 판단할 수 있다(S49).If there is an emotion type having 'strong' emotional intensity (S48), the mood type determining module 233 may determine whether there is one emotion type having 'strong' emotional intensity (S49).

감정 강도가 '강함'을 갖는 감정 종류가 한 개인 경우(S48), 기분 종류 결정 모듈(233)은 '강함'의 감정 강도를 갖는 감정 종류를 현재 대화에 대한 기분 종류를 판정할 수 있다(S49).When there is only one emotion type having an emotion intensity of 'strong' (S48), the mood type determination module 233 may determine the emotion type with an emotion intensity of 'strong' as the mood type for the current conversation (S49). ).

감정 강도가 '강함'을 갖는 감정 종류가 한 개인 경우, 기분 종류 결정 모듈(233)은 '강함'의 감정 강도를 갖는 감정 종류를 현재 대화에 대한 기분 종류를 판정하여 저장부(24)에 저장할 수 있다(S410).When there is one emotion type having an emotion intensity of 'strong', the mood type determination module 233 determines the emotion type having an emotion intensity of 'strong' as a mood type for the current conversation and stores it in the storage unit 24. It can (S410).

하지만, '강함'을 갖는 감정 종류가 복 수 개인 경우, 기분 종류 결정 모듈(233)은 '강함'을 갖는 감정 종류 중에서 가장 큰 감정값을 갖는 감정 종류를 현재 대화에 대한 기분 종류로 판정하여 저장할 수 있다(S411).However, if there are a plurality of emotion types with 'strong', the mood type determination module 233 determines the emotion type with the largest emotion value among the emotion types with 'strong' as the mood type for the current conversation and stores it. It can (S411).

하지만, 단계(S48)에서, 기분 종류 결정 모듈(233)은 감정 강도가 '강함'을 갖는 감정 종류가 존재하지 않는 경우, 기분 종류 결정 모듈(233)은 감정 강도가 '약함'을 갖는 감정 종류가 존재하는 지 판단할 수 있다(S412).However, in step S48, when the emotion type determination module 233 does not exist the emotion type having 'strong' emotion intensity, the mood type determination module 233 determines the emotion type having 'weak' emotion intensity. It can be determined whether there exists (S412).

감정 강도가 '약함'을 갖는 감정 종류가 존재하는 경우, 기분 종류 결정 모듈(233)은 '약함'을 갖는 감정 종류 중에서 가장 큰 총 감정값을 갖는 감정 종류를 현재 대화에 대한 기분 종류로 판정한 후 저장할 수 있다(S413).If emotion types having 'weak' emotion intensity exist, the mood type determination module 233 determines the emotion type having the largest total emotion value among the emotion types having 'weak' as the mood type for the current conversation. After that, it can be stored (S413).

하지만, 감정 강도가 '약함'을 갖는 감정 종류가 존재하지 않는 경우, 즉, 산출된 감정 종류별 총 감정값이 모두 제2 설정값인 0.4 미만인 경우(S412), 기분 종류 결정 모듈(233)은 현재 대화에 대한 기분 종류를 '안정'으로 판정한 후 저장할 수 있다(S414).However, when there is no emotion type having 'weak' emotion intensity, that is, when the total emotion values for each emotion type calculated are less than the second set value of 0.4 (S412), the mood type determination module 233 determines the current The mood type for the conversation may be determined to be 'stable' and then stored (S414).

기분 종류 결정 모듈(233) Mood Type Determination Module 233

이와 같이, 각 감정 종류별 총 감정값의 크기를 이용하여 현재 대화에 대한 기분 종류가 판정되면, 기분 종류 결정 모듈(233)은 판정된 기분 종류를 제어 모듈(231)로 출력할 수 있고 또한 산출된 수치(즉, 감정값) 역시 출력할 수 있다(S415). In this way, if the mood type for the current conversation is determined using the magnitude of the total emotion value for each emotion type, the mood type determination module 233 may output the determined mood type to the control module 231 and also calculate the A numerical value (ie, an emotional value) may also be output (S415).

이로 인해, 기분 종류 결정 모듈(233)은 정해진 값(예, 제2 설정값) 이상의 총 감정값을 갖는 감정 종류가 존재하는 지 판단하여, 정해진 값 이상의 총 감정값을 갖는 감정 종류가 존재하면 가장 큰 값을 갖는 감정 종류를 기분 종류로 판정할 수 있다.For this reason, the mood type determination module 233 determines whether there is an emotion type having a total emotion value equal to or greater than a predetermined value (eg, the second set value), and if an emotion type having a total emotion value equal to or greater than the predetermined value exists, the most emotional type exists. An emotion type having a large value may be determined as a mood type.

하지만, 정해진 값 이상의 총 감정값을 갖는 감정 종류가 존재하지 않아 모든 감정 종류의 총 감정값이 정해진 값 미만인 경우, 기분 종류 결정 모듈(233)은 기분 종류를 '안정'으로 판정할 수 있다.However, when there is no emotion type having a total emotional value greater than or equal to a predetermined value and the total emotional value of all emotion types is less than the predetermined value, the mood type determination module 233 may determine the mood type as 'stable'.

이때, 감정 강도(예, '강함'과 '약함')를 이용하여 기분 대화를 판정하는 경우, 데이터 비교 시간이 크게 절감되어 기분 종류 결정 모듈(233)의 처리 시간이 크게 단축될 수 있다. In this case, when mood conversation is determined using emotion intensities (eg, 'strong' and 'weak'), data comparison time is greatly reduced, and thus processing time of the mood type determination module 233 can be greatly reduced.

예를 들어, 현재 입력 문장의 순서가 5번째인 경우, 5번째 입력 문장의 감정의 종류는 '슬픔'이고 문장 감정값은 2이고, 4번째 입력 문장의 감정의 종류는 '슬픔'이고 문장 감정값은 1.9이고, 3번째 입력 문장의 감정의 종류는 '슬픔'이고 문장 감정값은 0.8이고, 2번째 입력 문장의 감정의 종류는 '분노'이고, 문장 감정값은 0.7이고, 1번째 입력 문장의 감정의 종류는 '두려움'이고, 문장 감정값은 0.6인 경우를 가정하자.For example, if the order of the current input sentence is 5th, the emotion type of the 5th input sentence is 'sadness' and the sentence emotion value is 2, the emotion type of the 4th input sentence is 'sadness' and the sentence emotion value is 1.9, the emotion type of the third input sentence is 'sadness' and the sentence emotion value is 0.8, the emotion type of the second input sentence is 'anger', the sentence emotion value is 0.7, and the first input sentence Assume that the emotion type of is 'fear' and the sentence emotion value is 0.6.

이런 경우, 현재 입력 문장까지 '슬픔'에 대한 총 감정값은 4.7이고, '분노'에 대한 총 감정값은 0.7이며, '두려움'에 대한 총 감정값은 0.6이 된다. In this case, the total emotion value for 'sadness' up to the current input sentence is 4.7, the total emotion value for 'anger' is 0.7, and the total emotion value for 'fear' is 0.6.

따라서, '강함'의 감정 정도를 갖는 감정 종류를 갖는 개수를 한 개이므로, 기분 종류 결정 모듈(233)은 감정 종류별 각 산출된 총 감정값의 비교 동작 없이 바로 기분 종류 결정 모듈(233)현재 대화에 대한 기분 종류를 '슬픔'으로 판정하여 제어 모듈(231)로 출력할 수 있다. Therefore, since the number of emotion types having an emotion level of 'strong' is one, the mood type determination module 233 directly operates the mood type determination module 233 without comparing the total emotional values calculated for each emotion type. It is possible to determine the mood type for 'sadness' and output it to the control module 231.

감정 종류 추출 모듈(232)의 동작에 의해 산출된 현재 입력 문장에 감정 종류인 현재 문장 감정 종류가 '무감정'인 경우, 현재 문장 감정값은 '0'일 수 있다. When the emotion type of the current input sentence calculated by the operation of the emotion type extraction module 232 is 'no emotion', the emotion value of the current sentence may be '0'.

이와 같이, 현재 대화에 대한 기분 종류가 산출되면, 기분 종류 결정 모듈(233)은 판정된 기분 종류를 제어 모듈(231)로 출력하고 제어 모듈(231)이 응답 생성 모듈(234)로 출력하게 되므로, 현재 입력 문장에 대한 응답의 생성이 이루어질 수 있도록 한다. In this way, when the mood type for the current conversation is calculated, the mood type determination module 233 outputs the determined mood type to the control module 231 and the control module 231 outputs the determined mood type to the response generation module 234. , so that a response to the current input sentence can be generated.

따라서, 제어 모듈(231)은, 이미 기술한 것처럼, 저장부(24)에 저장되어 있는 카테고리의 종류, 사용자 입력 테이블에 저장되어 있는 현재 입력 문장, 기분 종류 결정 모듈(233)로부터 입력된 현재 대화의 기분 종류 및 현재 입력 문장의 의도 종류를 응답 생성 모듈(234)로 입력할 수 있다.Therefore, as described above, the control module 231 controls the type of category stored in the storage unit 24, the current input sentence stored in the user input table, and the current conversation input from the mood type determination module 233. The mood type of and the intention type of the current input sentence may be input to the response generating module 234 .

응답 생성 모듈(234)은 제어 모듈(231)로부터 인가되는 카테고리의 종류, 현재 입력 문장, 기분의 종류 및 의도 종류를 입력으로 하여 현재 입력 문장에 대한 응답을 생성하여 사용자 단말(10)로 전송할 수 있다.The response generating module 234 generates a response to the current input sentence by taking the type of category, the current input sentence, the type of mood, and the type of intention applied from the control module 231 as inputs, and transmits the response to the user terminal 10. there is.

하지만 대안적인 예에서, 제어 모듈(231)은 판정된 의도 종류를 응답 생성 모듈(234)로 출력하고, 기분 종류 결정 모듈(233)은 판정된 기분 종류를 응답생성 모듈(234)로 출력할 수 있고, 이로 인해, 응답 생성 모듈(234)은 제어 모듈(231)과 기분 종류 결정 모듈(233)로부터 각각 입력된 의도 종류와 기분 종류를 이용하여 현재 입력 문장에 대한 응답의 생성이 이루어질 수 있다. 이런 경우, 응답 생성 모듈(234)은 기분 종류 결정 모듈(233)과도 연결되어 기분 종류를 입력받을 수 있다.However, in an alternative example, control module 231 may output the determined intent type to response generation module 234, and mood type determination module 233 may output the determined mood type to response generation module 234. As a result, the response generation module 234 may generate a response to the current input sentence using the intention type and the mood type respectively input from the control module 231 and the mood type determination module 233. In this case, the response generation module 234 may also be connected to the mood type determination module 233 to receive a mood type.

본 예의 응답 생성 모듈(234)은 딥러닝 학습과 같은 기계 학습 알고리즘을 이용할 수 있고, 예를 들어, seq2seq 알고리즘이 사용될 수 있다. Response generation module 234 of the present example may use a machine learning algorithm, such as deep learning learning; for example, the seq2seq algorithm may be used.

또한, 본 예의 경우, Ubuntu 20.04에서 seq2seq알고리즘을 사용한 자동 응답생성 알고리즘을 개발하기 위해 Anaconda 3 가상 환경이 구축되었다. Also, in this example, an Anaconda 3 virtual environment was built to develop an automatic response generation algorithm using the seq2seq algorithm in Ubuntu 20.04.

또한, 응답 생성 모듈(234)은 NVIDIA CUDA이 설치되어 알고리즘 학습 시간이 단축될 수 있다. In addition, since NVIDIA CUDA is installed in the response generation module 234, algorithm learning time can be reduced.

응답 생성 모듈(234)은 학습데이터로 트위터의 트윗을 크롤링하여 사용할 수 있고, 크롤링 된 트윗 중에서 게시자가 mention, reply의 형태인 트윗을 조회하여 사용하므로, 응답 생성 모듈(234)은 트윗의 게시자가 mention, reply의 형태로 존재하지 않는 트윗을 학습데이터로 사용하지 않을 수 있다. Since the response generation module 234 can crawl and use Twitter's tweets as learning data, and the publisher retrieves and uses tweets in the form of mention and reply among the crawled tweets, the response generation module 234 is Tweets that do not exist in the form of mention or reply may not be used as training data.

원 트윗과 mention, reply의 형태로 연관된 트윗을 대화로 간주하여 독립적인 학습데이터로 사용한다. The original tweet and related tweets in the form of mention and reply are regarded as conversations and used as independent learning data.

응답 생성 모듈(234)은 예능, 드라마, 영화에서 하나의 주제에 대한 2명의 대화 스크립트를 추출하여 학습데이터로 사용할 수 있다. The response generation module 234 may extract two dialogue scripts for one subject from entertainment, dramas, and movies and use them as learning data.

또한, AIHub에서 웰니스 대화 스크립트 데이터셋, 한국어 대화 데이터셋, 트위터 기반 일상 대화 데이터셋, 대화형 한글 에이전트 데이터셋을 학습데이터로 사용할 수 있다. In addition, AIHub can use wellness conversation script dataset, Korean conversation dataset, Twitter-based daily conversation dataset, and interactive Korean agent dataset as learning data.

응답 생성 모듈(234)은 각 대화 데이터셋을 8가지 감정(즉, 기쁨, 슬픔, 신뢰, 분노, 두려움, 기대, 놀람, 불쾌)으로 분류하여 나타내는 감정을 대화 데이터에 태깅할 수 있고, 8개의 감정으로 태깅된 대화데이터를 기준으로 응답생성 알고리즘을 학습시킬 수 있다.The response generation module 234 may classify each conversation dataset into eight emotions (ie, joy, sadness, trust, anger, fear, expectation, surprise, and displeasure), and tag the emotions represented by the conversation data, and Based on conversation data tagged with emotions, a response generation algorithm can be trained.

이와 같이, 응답 생성 모듈(234)은 기분 종류 결정 모듈(233)을 통해 정해진 현재 대화의 기분 종류를 seq2seq 알고리즘의 입력값으로 사용하므로, 대화의 참여자에 현재 기분에 적합하게 현재 입력 문장에 대한 알맞은 응답을 생성할 수 있다.In this way, since the response generation module 234 uses the mood type of the current conversation determined through the mood type determination module 233 as an input value of the seq2seq algorithm, the conversation participant has a suitable response for the current input sentence suitable for the current mood. response can be generated.

본 발명의 각 실시예에 개시된 기술적 특징들은 해당 실시예에만 한정되는 것은 아니고, 서로 양립 불가능하지 않은 이상, 각 실시예에 개시된 기술적 특징들은 서로 다른 실시예에 병합되어 적용될 수 있다.The technical features disclosed in each embodiment of the present invention are not limited to the corresponding embodiment, and unless incompatible with each other, the technical features disclosed in each embodiment may be merged and applied to other embodiments.

이상, 본 발명의 실시예들에 대해 설명하였다. 본 발명은 상술한 실시예 및 첨부한 도면에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자의 관점에서 다양한 수정 및 변형이 가능할 것이다. 따라서 본 발명의 범위는 본 명세서의 청구범위뿐만 아니라 이 청구범위와 균등한 것들에 의해 정해져야 한다.In the above, the embodiments of the present invention have been described. The present invention is not limited to the above-described embodiments and accompanying drawings, and various modifications and variations will be possible from the viewpoint of those skilled in the art to which the present invention belongs. Therefore, the scope of the present invention should be defined by not only the claims of this specification but also those equivalent to these claims.

10: 사용자 단말 20: 자동 응답 제공 장치
30: 데이터베이스부 21: 통신부
23: 응답 제어부(23) 231: 제어 모듈
232: 감정 종류 추출 모듈 233: 기분 종류 결정 모듈
234: 응답 생성 모듈 24: 저장부
31: 신조어 및 이모티콘 감성사전 데이터베이스
32: 형태소 사전 데이터베이스
33: 감성어 사전 데이터베이스
34: 유사어 및 유의어 사전 데이터베이스
35: 의도 종류 데이터베이스
10: user terminal 20: automatic response providing device
30: database unit 21: communication unit
23: response control unit 23 231: control module
232 Emotion type extraction module 233 Mood type determination module
234: response generation module 24: storage unit
31: New words and emoticon sentiment dictionary database
32: morpheme dictionary database
33: Emotional dictionary database
34: Synonyms and thesaurus database
35: Intent Type Database

Claims (16)

현재 입력 문장을 어절 단위와 형태소 단위로 분리하고, 분리된 형태소를 이용하여 상기 현재 입력 문장에 대한 최종 키워드를 추출하고, 상기 최종 키워드에서 의도어를 추출하여, 상기 의도어로 추출된 최종 키워드에 대한 의도 종류를 판정하고, 판정된 의도 종류에 대한 의도 종류별 개수를 산출하여, 가장 큰 개수를 갖는 의도 종류를 상기 현재 입력 문장의 의도 종류로 판정하는 제어 모듈;
상기 제어 모듈과 연결되고, 상기 제어 모듈로부터 어절 단위와 형태소 단위로 분리된 현재 입력 문장에서 신조어, 이모티콘 및 감성어를 추출하고, 추출된 신조어, 이모티콘 및 감성어 각각에 대한 감정 종류를 판정하여 현재 문장 감정 종류를 판정하는 감정 종류 추출 모듈; 및
상기 감정 종류 추출 모듈과 연결되어 있고, 상기 감정 종류 추출 모듈로부터 입력되는 상기 현재 문장 감정 종류와 바로 이전 문장 감정 종류가 동일한 지 비교하여 비교 결과에 따라 서로 다른 현재 문장 감정값을 산출한 후 이전 문장 감정값을 설정 크기만큼 삭감하고, 감정 종류별 문장 감정값을 합산하여 산출된 감정 종류별 문장 감정값의 크기를 이용하여 현재 대화에 대한 기분 종류로 판정하는 기분 종류 결정 모듈
을 포함하는 자동 응답 제공 장치.
The current input sentence is divided into word units and morpheme units, a final keyword for the current input sentence is extracted using the separated morphemes, an intended word is extracted from the final keyword, and a final keyword extracted as the intended word is extracted. a control module that determines intent types, calculates the number of intent types for each intent type, and determines the intent type having the largest number as the intent type of the current input sentence;
Connected to the control module, extracts neologisms, emoticons, and sentimental words from the current input sentence separated into word units and morpheme units from the control module, and determines the emotion type for each of the extracted neologisms, emoticons, and sentimental words, and determines the current input sentence. an emotion type extraction module for determining a sentence emotion type; and
It is connected to the emotion type extraction module and compares whether the current sentence emotion type input from the emotion type extraction module and the immediately previous sentence emotion type are the same, and calculates different current sentence emotion values according to the comparison result, and then calculates the previous sentence emotion type. Mood type determination module that determines the mood type for the current conversation by reducing the emotion value by a set size and using the size of the sentence emotion value for each emotion type calculated by summing the sentence emotion values for each emotion type
An automatic response providing device comprising a.
제1 항에 있어서,
상기 제어 모듈은,
분리된 형태소를 이용하여 상기 현재 입력 문장의 주어, 목적어 및 서술어를 추출하여 상기 현재 입력 문장에 대한 예비 키워드를 추출하고,
유사어와 유의어가 대표 단어에 대응되게 저장되어 있는 유사어 및 유의어 데이터베이스와 상기 예비 키워드를 비교하여 상기 예비 키워드 중에서 유의어나 유사어에 해당하는 예비 키워드가 존재하면, 해당 유의어나 유사어에 대응하는 대표 단어를 해당 예비 키워드의 최종 키워드로 결정하고,
상기 예비 키워드 중에서 유의어나 유사어에 해당되지 않는 예비 키워드를 최종 키워드로 결정하는 자동 응답 제공 장치.
According to claim 1,
The control module,
Extracting the subject, object, and predicate of the current input sentence using the separated morphemes to extract preliminary keywords for the current input sentence;
The preliminary keyword is compared with a similar word and synonym database in which similar words and synonyms are stored corresponding to representative words, and if there is a preliminary keyword corresponding to a synonym or similar word among the preliminary keywords, a representative word corresponding to the corresponding synonym or similar word is selected. Determine the final keyword of the preliminary keyword,
An automatic response providing apparatus for determining a preliminary keyword that does not correspond to a synonym or a synonym among the preliminary keywords as a final keyword.
제1 항에 있어서,
상기 감정 종류 추출 모듈은,
신조어와 이모티콘 및 각 신조어와 이모티콘에 대응되게 감정 종류가 저장되어 있는 신조어 및 이모티콘 감성 사전 데이터베이스와 각 어절을 비교하여, 각 어절에 포함되어 있는 신조어와 이모티콘을 추출하고, 추출된 각 신조어와 각 이모티콘에 대한 감정 종류의 판정하며,
감성어와 각 감성어에 대응되게 감정 종류가 저장되어 있는 감성어 사전 데이터베이스와 각 형태소를 비교하여, 형태소에서 감성어를 추출하고, 추출된 각 감성어에 대한 감정 종류를 판정하고,
신조어와 이모티콘에 대한 감정 종류와 감성어에 대한 감정 종류에서 감정 종류별 총 개수를 산출하여, 가장 큰 개수를 갖는 감정 종류를 상기 현재 문장 감정 종류로 판정하는 자동 응답 제공 장치.
According to claim 1,
The emotion type extraction module,
Newly coined words and emoticons and each word are compared with the newly coined word and emoticon emotion dictionary database in which emotion types corresponding to each new word and emoticon are stored, and the newly coined word and emoticon included in each word are extracted, and each extracted new word and each emoticon is compared. To determine the kind of emotion for
Sentiment words are extracted from the morphemes by comparing each morpheme with a sentiment word dictionary database in which emotional words and emotion types corresponding to each emotion word are stored, and emotion types for each extracted emotion word are determined;
An automatic response providing device that calculates the total number of emotions for each emotion type from the emotion types for newly coined words and emoticons and the emotion types for emotional words, and determines the emotion type having the largest number as the emotion type for the current sentence.
제1 항에 있어서,
상기 감정 종류 추출 모듈은 상기 신조어 및 이모티콘 감성 사전 데이터베이스과의 비교 전에 각 어절에 포함되어 있는 불용어를 제거하는 자동 응답 제공 장치.
According to claim 1,
The emotion type extraction module removes stopwords included in each word before comparison with the newly coined word and the emoticon emotion dictionary database.
제1 항에 있어서,
상기 기분 종류 결정 모듈은 감정 종류별 문장 감정값 중 정해진 값 이상의 총 문장 감정값에서 가장 큰 크기를 갖는 문장 감정값에 해당하는 감정 종류를 현재 대화에 대한 기분 종류로 판정하는 자동 응답 제공 장치.
According to claim 1,
wherein the mood type determination module determines, as the mood type for the current conversation, an emotion type corresponding to a sentence emotion value having the largest magnitude among total sentence emotion values equal to or greater than a predetermined value among sentence emotion values for each emotion type.
제5 항에 있어서,
상기 기분 종류 결정 모듈은 감정 종류별 문장 감정값이 모두 정해진 값 미만의 값을 가질 경우, 현재 대화에 대한 기분 종류를 안정으로 판정하는 자동 응답 제공 장치.
According to claim 5,
The mood type determination module determines the mood type for the current conversation as stable when all sentence emotion values for each emotion type have values less than a predetermined value.
제1 항에 있어서,
상기 제어 모듈에 연결되어 있는 응답 생성 모듈
을 더 포함하고,
상기 제어 모듈은 대화 카테고리를 추가로 입력받아, 상기 대화 카테고리, 상기 의도 종류 및 상기 현재 입력 문장을 상기 응답 생성 모듈로 출력하고,
상기 응답 생성 모듈은 입력된 상기 대화 카테고리, 상기 의도 종류, 상기 현재 입력 문장 및 상기 기분 종류를 이용하여 기계 학습하여 상기 현재 입력 문장에 대한 응답을 생성하는 자동 응답 제공 장치.
According to claim 1,
A response generation module connected to the control module.
Including more,
The control module additionally receives a conversation category and outputs the conversation category, the intention type, and the current input sentence to the response generation module;
The response generation module generates a response to the current input sentence by machine learning using the input conversation category, the intention type, the current input sentence, and the mood type.
제1 항에 있어서,
상기 감정 종류는 기쁨, 슬픔, 신뢰, 분노, 두려움, 기대, 놀람 및 불쾌 중 하나인 자동 응답 제공 장치.
According to claim 1,
The emotion type is one of joy, sadness, trust, anger, fear, expectation, surprise, and displeasure.
제어 모듈은 현재 입력 문장을 어절 단위와 형태소 단위로 분리하는 단계;
상기 제어 모듈은 분리된 형태소를 이용하여 상기 현재 입력 문장에 대한 최종 키워드를 추출하는 단계;
상기 제어 모듈은 상기 추출된 상기 최종 키워드에서 의도어를 추출하여, 상기 의도어로 추출된 최종 키워드에 대한 의도 종류를 판정하는 단계;
상기 제어 모듈은 판정된 의도 종류에 대한 의도 종류별 개수를 산출하여, 가장 큰 개수를 갖는 의도 종류를 상기 현재 입력 문장의 의도 종류로 판정하는 단계;
감정 종류 추출 모듈은 상기 제어 모듈로부터 어절 단위와 형태소 단위로 분리된 현재 입력 문장을 입력받아, 신조어, 이모티콘 및 감성어를 추출하는 단계;
상기 감정 종류 추출 모듈은 추출된 신조어, 이모티콘 및 감성어 각각에 대한 감정 종류를 판정하여 현재 문장 감정 종류를 판정하는 단계;
기분 종류 결정 모듈은 상기 감정 종류 추출 모듈로부터 입력되는 상기 현재 문장 감정 종류와 바로 이전 문장 감정 종류가 동일한 지 비교하는 단계;
상기 기분 종류 결정 모듈은 현재 문장 감정 종류와 바로 이전 문장 감정 종류를 비교 결과에 따라 서로 다른 현재 문장 감정값을 산출하는 단계;
상기 기분 종류 결정 모듈은 상기 현재 문장 감정값을 산출한 후 이전 문장 감정값을 설정 크기만큼 삭감하는 단계; 및
상기 기분 종류 결정 모듈은 감정 종류별 문장 감정값을 합산하여 산출된 감정 종류별 문장 감정값의 크기를 이용하여 현재 대화에 대한 기분 종류로 판정하는 단계
를 포함하는 자동 응답 제공 장치의 제어 방법.
separating, by the control module, the current input sentence into word units and morpheme units;
extracting, by the control module, a final keyword for the current input sentence using the separated morphemes;
extracting, by the control module, an intended word from the extracted final keyword, and determining an intended type of the final keyword extracted from the extracted final keyword;
calculating, by the control module, the number of each intent type for the determined intent types, and determining the intention type having the largest number as the intention type of the current input sentence;
The emotion type extraction module receives the current input sentence divided into word units and morpheme units from the control module, and extracts neologisms, emoticons, and emotional words;
determining, by the emotion type extraction module, a current sentence emotion type by determining an emotion type for each of the extracted neologism, emoticon, and emotional word;
comparing, by the mood type determination module, whether the emotion type of the current sentence and the emotion type of the immediately previous sentence input from the emotion type extraction module are the same;
calculating, by the mood type determination module, different current sentence emotion values according to a comparison result between a current sentence emotion type and an immediately previous sentence emotion type;
reducing, by the mood type determination module, a previous sentence emotion value by a set size after calculating the current sentence emotion value; and
determining, by the mood type determination module, the mood type for the current conversation by using the size of the sentence emotion value for each emotion type calculated by adding up the sentence emotion values for each emotion type;
Control method of an automatic response providing device comprising a.
제9 항에 있어서,
상기 최종 키워드를 추출하는 단계는,
상기 제어 모듈은 분리된 형태소를 이용하여 상기 현재 입력 문장의 주어, 목적어 및 서술어를 추출하여 상기 현재 입력 문장에 대한 예비 키워드를 추출하는 단계;
상기 제어 모듈은 유사어와 유의어가 대표 단어에 대응되게 저장되어 있는 유사어 및 유의어 데이터베이스와 상기 예비 키워드를 비교하여, 상기 예비 키워드 중에서 유사어나 유의어에 해당하는 예비 키워드가 존재하는 지 판단하는 단계;
상기 제어 모듈은 상기 예비 키워드 중에서 유사어나 유의어에 해당하는 예비 키워드가 존재하면, 해당 유의어나 유사어에 대응하는 대표 단어를 해당 예비 키워드의 최종 키워드로 결정하는 단계; 및
상기 제어 모듈은 상기 예비 키워드 중에서 유의어나 유사어에 해당되지 않는 예비 키워드를 최종 키워드로 결정하는 단계
를 포함하는 자동 응답 제공 장치의 제어 방법.
According to claim 9,
The step of extracting the final keyword,
extracting, by the control module, a preliminary keyword for the current input sentence by extracting the subject, object, and predicate of the current input sentence using the separated morphemes;
comparing the preliminary keyword with a similar word and synonym database in which similar words and synonyms are stored corresponding to representative words, and determining, by the control module, whether a preliminary keyword corresponding to a similar word or a synonym exists among the preliminary keywords;
determining, by the control module, a representative word corresponding to the corresponding synonym or synonym as a final keyword of the corresponding preliminary keyword, if a preliminary keyword corresponding to a similar word or a synonym exists among the preliminary keywords; and
determining, by the control module, a preliminary keyword that does not correspond to a synonym or a synonym among the preliminary keywords as a final keyword;
Control method of an automatic response providing device comprising a.
제9 항에 있어서,
상기 신조어, 이모티콘 및 감성어를 추출하는 단계는,
상기 감정 종류 추출 모듈은 신조어와 이모티콘 및 각 신조어와 이모티콘에 대응되게 감정 종류가 저장되어 있는 신조어 및 이모티콘 감성 사전 데이터베이스와 각 어절을 비교하는 단계;
상기 감정 종류 추출 모듈은 각 어절에 상기 신조어 및 이모티콘 감성 사전 데이터베이스에 저장되어 있는 신조어나 이모티콘이 존재하면, 각 어절에 포함된 신조어나 이모티콘을 추출하는 단계; 및
상기 감정 종류 추출 모듈은 상기 신조어 및 이모티콘 감성 사전 데이터베이스에서 추출된 각 신조어와 각 이모티콘에 대한 감정 종류의 판정하는 단계
를 포함하는 자동 응답 제공 장치의 제어 방법.
According to claim 9,
The step of extracting the neologisms, emoticons and emotional words,
The emotion type extraction module compares each word with a new word and emoticon emotion dictionary database storing new words and emoticons and emotion types corresponding to each new word and emoticon;
extracting, by the emotion type extraction module, a newly coined word or emoticon included in each word, if the newly coined word or emoticon stored in the emoticon emotion dictionary database exists in each word; and
The emotion type extraction module determining the emotion type for each new word and each emoticon extracted from the new word and emoticon emotion dictionary database
Control method of an automatic response providing device comprising a.
제11 항에 있어서,
상기 신조어, 이모티콘 및 감성어를 추출하는 단계는 신조어 및 이모티콘 감성 사전 데이터베이스와 각 어절을 비교하기 전에, 각 어절에 포함되어 있는 불용어를 제거하는 단계를 더 포함하는 자동 응답 제공 장치의 제어 방법.
According to claim 11,
The step of extracting the newly coined word, emoticon, and emotional word further comprises removing stopwords included in each word before comparing each word with a new coined word and an emoticon emotion dictionary database.
제9 항에 있어서,
상기 현재 문장 감정 종류를 판정하는 단계는,
상기 감정 종류 추출 모듈은 감성어와 각 감성어에 대응되게 감정 종류가 저장되어 있는 감성어 사전 데이터베이스와 각 형태소를 비교하는 단계;
상기 감정 종류 추출 모듈은 각 형태소에 상기 감성어 사전 데이터에 저장되어 있는 감성어가 존재하면, 상기 형태소에서 포함되어 있는 감성어를 추출하는 단계;
상기 감정 종류 추출 모듈은 상기 감성어 사전 데이터베이스에서 추출된 감성어에 대한 감정 종류를 판정하는 단계;
상기 감정 종류 추출 모듈은 신조어와 이모티콘에 대한 감정 종류와 감성어에 대한 감정 종류에서 감정 종류별 총 개수를 산출하는 단계; 및
상기 감정 종류 추출 모듈은 산출된 감정 종류별 총 개수 중에서 가장 큰 개수를 갖는 감정 종류를 상기 현재 문장 감정 종류로 판정하는 단계
를 포함하는 자동 응답 제공 장치의 제어 방법.
According to claim 9,
The step of determining the emotion type of the current sentence,
comparing, by the emotion type extraction module, each morpheme with a sentiment word dictionary database in which emotion words and emotion types corresponding to each emotion word are stored;
extracting, by the emotion type extraction module, a sentiment word included in the morpheme if the sentiment word stored in the sentiment word dictionary data exists in each morpheme;
determining, by the emotion type extraction module, an emotion type for the emotion word extracted from the emotion word dictionary database;
calculating, by the emotion type extraction module, a total number of emotion types for each emotion type among emotion types for new words and emoticons and emotion types for emotional words; and
determining, by the emotion type extraction module, the emotion type having the largest number among the total number of calculated emotion types as the current sentence emotion type;
Control method of an automatic response providing device comprising a.
제9 항에 있어서,
상기 현재 대화에 대한 기분 종류로 판정하는 단계는,
감정 종류별 문장 감정값 중 정해진 값 이상의 총 문장 감정값이 존재하는 지 판단하는 단계;
감정 종류별 문장 감정값 중 정해진 값 이상의 총 문장 감정값이 존재하면, 정해진 값 이상의 감정 종류별 총 문장 감정값에서 가장 큰 크기를 갖는 문장 감정값에 해당하는 감정 종류를 현재 대화에 대한 기분 종류로 판정하는 단계; 및
감정 종류별 문장 감정값 중 정해진 값 이상의 총 문장 감정값이 존재하지 않으면, 현재 대화에 대한 기분 종류를 안정으로 판정하는 단계
를 포함하는 자동 응답 제공 장치의 제어 방법.
According to claim 9,
Determining the mood type for the current conversation includes:
determining whether total sentence emotion values greater than or equal to a predetermined value exist among sentence emotion values for each emotion type;
If there is a total sentence emotional value of more than a predetermined value among sentence emotional values for each emotion type, the emotion type corresponding to the sentence emotional value having the largest magnitude among the total sentence emotional values for each emotion type that is equal to or greater than the predetermined value is determined as the mood type for the current conversation. step; and
Determining the mood type for the current conversation as stable if there is no total sentence emotion value greater than or equal to a predetermined value among the sentence emotion values for each emotion type.
Control method of an automatic response providing device comprising a.
제9 항에 있어서,
상기 제어 모듈이 대화 카테고리, 상기 의도 종류 및 상기 현재 입력 문장을 응답 생성 모듈로 출력하는 단계를 더 포함하는 자동 응답 제공 장치의 제어 방법.
According to claim 9,
and outputting, by the control module, the conversation category, the intention type, and the current input sentence to a response generating module.
제9 항에 있어서,
상기 감정 종류는 기쁨, 슬픔, 신뢰, 분노, 두려움, 기대, 놀람 및 불쾌 중 하나인 자동 응답 제공 장치의 제어 방법.
According to claim 9,
The emotion type is one of joy, sadness, trust, anger, fear, expectation, surprise, and displeasure.
KR1020210081923A 2021-06-23 2021-06-23 Apparatus for automatically providing response and a method for controlling the same KR20230000044A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210081923A KR20230000044A (en) 2021-06-23 2021-06-23 Apparatus for automatically providing response and a method for controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210081923A KR20230000044A (en) 2021-06-23 2021-06-23 Apparatus for automatically providing response and a method for controlling the same

Publications (1)

Publication Number Publication Date
KR20230000044A true KR20230000044A (en) 2023-01-02

Family

ID=84925581

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210081923A KR20230000044A (en) 2021-06-23 2021-06-23 Apparatus for automatically providing response and a method for controlling the same

Country Status (1)

Country Link
KR (1) KR20230000044A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101894060B1 (en) 2017-12-15 2018-08-31 유승재 Advertisement providing server using chatbot
KR101945297B1 (en) 2017-11-10 2019-02-07 (주)페르소나시스템 Server for producing and providing of chatbot linked with instant messenger

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101945297B1 (en) 2017-11-10 2019-02-07 (주)페르소나시스템 Server for producing and providing of chatbot linked with instant messenger
KR101894060B1 (en) 2017-12-15 2018-08-31 유승재 Advertisement providing server using chatbot

Similar Documents

Publication Publication Date Title
Bragg et al. Sign language recognition, generation, and translation: An interdisciplinary perspective
Hovy et al. The social impact of natural language processing
US20190332680A1 (en) Multi-lingual virtual personal assistant
Wu et al. Emotion recognition from text using semantic labels and separable mixture models
US7860705B2 (en) Methods and apparatus for context adaptation of speech-to-speech translation systems
Ralston et al. A voice interactive multilingual student support system using IBM Watson
JP2022130635A (en) Conference support system, conference support device, method for supporting conference, and program
US20220245354A1 (en) Automated classification of emotio-cogniton
KR102445519B1 (en) System and method for manufacturing conversational intelligence service providing chatbot
US20140046876A1 (en) System and method of providing a computer-generated response
JP2017215931A (en) Conference support system, conference support device, conference support method, and program
JP2017016566A (en) Information processing device, information processing method and program
US10783329B2 (en) Method, device and computer readable storage medium for presenting emotion
McKee et al. The online dictionary of New Zealand Sign Language: A case study of contemporary sign lexicography
EP3404555A1 (en) Speech converter
KR20190123093A (en) System and Method for Automated Emoticon Recommendation based on Emotion Ontology
Varaprasad et al. Applications and Techniques of Natural Language Processing: An Overview.
Skowron et al. Automatic identification of character types from film dialogs
Elmitwally et al. Personality Detection Using Context Based Emotions in Cognitive Agents.
Shawar et al. A chatbot system as a tool to animate a corpus
Hoek et al. Automatic coherence analysis of Dutch: Testing the subjectivity hypothesis on a larger scale
Deewattananon et al. Analyzing user reviews in Thai language toward aspects in mobile applications
Alm The role of affect in the computational modeling of natural language
KR20230000044A (en) Apparatus for automatically providing response and a method for controlling the same
Trivedi Fundamentals of Natural Language Processing

Legal Events

Date Code Title Description
E902 Notification of reason for refusal