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 PDFInfo
- 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
Links
- 230000004044 response Effects 0.000 title claims abstract description 136
- 238000000034 method Methods 0.000 title claims description 14
- 230000008451 emotion Effects 0.000 claims abstract description 409
- 230000002996 emotional effect Effects 0.000 claims abstract description 52
- 239000000284 extract Substances 0.000 claims abstract description 30
- 230000036651 mood Effects 0.000 claims description 101
- 238000000605 extraction Methods 0.000 claims description 67
- 206010028916 Neologism Diseases 0.000 claims description 11
- 238000010801 machine learning Methods 0.000 claims description 8
- 238000010276 construction Methods 0.000 abstract 3
- 238000005192 partition Methods 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 25
- 238000004458 analytical method Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 241000630665 Hada Species 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 208000019901 Anxiety disease Diseases 0.000 description 1
- 241000512668 Eunectes Species 0.000 description 1
- 241000590419 Polygonia interrogationis Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000036506 anxiety Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000015541 sensory perception of touch Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3334—Selection or weighting of terms from queries, including natural language queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3335—Syntactic pre-processing, e.g. stopword elimination, stemming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/247—Thesauruses; Synonyms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/268—Morphological analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
Abstract
Description
본 발명은 자동 응답 제공 장치 및 그 제어 방법에 관한 것으로서, 더욱 상세하게는, 입력 문장에 포함되어 있는 신조어 및 이모티콘과 감성어를 이용하여 현재 대화의 기분의 종류를 판정하여 판정된 기분의 종류를 고려하여 응답을 생성하여 출력하는 자동 응답 제공 장치 및 그 제어 방법에 관한 것이다.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.
본 발명이 해결하려는 과제는 현재 대화의 기분의 종류를 고려하여 응답을 생성해 출력하여 응답의 정확도를 높이기 위한 것이다.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
먼저, 도 1을 참고하여, 본 예에 따른 자동 응답 제공 장치(20)를 구비하는 자동 응답 제공 시스템에 대해 설명한다.First, with reference to FIG. 1 , an automatic response providing system including the automatic
도 1에 도시한 것처럼, 본 예의 자동 응답 제공 시스템은 사용자 단말(10), 사용자 단말(10)과 통신하는 자동 응답 제공 장치(20) 및 자동 응답 제공 장치(20)에 연결되어 있는 데이터베이스부(30)를 구비할 수 있다.As shown in FIG. 1, the automatic response providing system of this example includes a
사용자 단말(10)은 자동 응답 제공 장치(20)에 접속하여 자동 응답 제공 장치(20)와 대화를 실시하는 참여자의 단말일 수 있다.The
따라서, 사용자 단말(10)은 자동 응답 제공 장치(20)와 통신하고, 대화창을 통해 문장을 입력하여 자동 응답 제공 장치(20)로 전송하고, 자동 응답 제공 장치(20)로부터 전송된 입력된 문장(이하, 사용자 단말(10)로 입력된 문장을 '입력 문장'이라 함)에 대한 응답을 전송받아 출력할 수 있다. Therefore, the
이러한 사용자 단말(10)은, 데스크톱 컴퓨터(desktop computer)와 같은 고정형 컴퓨터, 또는 스마트폰(smart phone)과 같은 휴대용 컴퓨터일 수 있다.The
이러한 사용자 단말(10)은, 도 2a에 도시한 것처럼, 사용자 입력부(11), 통신부(12), 사용자 입력부(11)와 통신부(12)에 연결되어 있는 동작 제어부(13), 동작 제어부(13)에 연결되어 있는 저장부(14) 및 정보 출력부(15)일 수 있다.As shown in FIG. 2A, the
이때, 도 1에 도시된 구성요소들(11-15)은 필수적인 것은 아니어서, 사용자 단말(10)은 이들 구성 요소(11-15) 이외의 다른 적어도 하나의 구성요소를 추가로 구비하거나 이들 중 일부를 생략할 수 있다.At this time, the
사용자 입력부(11)는 사용자 단말(10)의 동작 제어에 필요한 명령이나 데이터 등에 관련된 신호를 발생시킬 수 있다.The
따라서, 참여자는 사용자 입력부(11)를 이용하여 대화의 주제 및 입력 문장을 입력할 수 있다. Accordingly, the participant may input the topic of the conversation and input sentences using the
이러한 사용자 입력부(11)는 키 패드(key pad), 터치 패드(touch pad), 조그(jog) 스위치 또는 마우스(mouse) 등으로 구성될 수 있다.The
통신부(12)는 자동 응답 제공 장치(20) 등과 같은 외부 기기와의 유선 또는 무선 통신을 위한 것으로서, 외부 기기가 위치한 네트워크 사이의 통신을 가능하게 하는 적어도 하나의 통신 모듈을 구비할 수 있다.The
예를 들어, 통신부(12)는 인터넷 모듈을 구비할 수 있다.For example, the
인터넷 모듈은 무선 또는 유선 인터넷 접속을 위한 모듈을 말하는 것으로, 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
동작 제어부(13)는 사용자 단말(10)의 전반적인 동작을 제어하는 제어 모듈(231)로서, 프로세서(processor)일 수 있다.The
따라서, 동작 제어부(13)는 사용자 입력부(11)로 인가되는 신호에 따라 자동 응답 제공 장치(20)와 접속되면, 대화의 카테고리를 선택할 수 있는 카테고리 선택 화면 및 자동 응답 제공 장치(20)와의 대화를 위한 대화창의 출력을 제어하고, 사용자 입력부(11)를 통해 현재 입력되는 입력 문장(이하, 현재 입력되는 입력 문장을 '현재 입력 문장'이라 함)을 대화창에 출력하고 또한 사용자 입력부(11)를 통해 입력되는 선택된 카테고리와 현재 입력 문장을 자동 응답 제공 장치(20)로 전송할 수 있다.Therefore, when the
또한, 동작 제어부(13)는 현재 입력 문장에 대응하는 응답이 자동 응답 제공 장치(20)로부터 전송되면 대화창에 출력될 수 있도록 한다. In addition, the
저장부(14)는 사용자 단말(10)의 동작에 필요한 데이터나 동작 중에 발생하는 데이터를 저장하는 저장 매체로서, 하드 디스크 등이나 롬(ROM) 등과 같은 메모리(memory)일 수 있다.The
정보 출력부(15)는 동작 제어부(13)의 제어에 따라 시각에 관련된 출력을 발생시키기 위한 것으로서, 디스플레이 모듈을 구비할 수 있다.The
따라서, 디스플레이 모듈은 동작 제어부(13)의 동작에 따라 해당 영상을 화면에 표시할 수 있으므로, 카테고리 선택 화면 및 대화창을 출력할 수 있다. Therefore, since the display module can display the corresponding image on the screen according to the operation of the
이러한 디스플레이 모듈은 액정 디스플레이(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
따라서, 정보 출력부(15)가 청각에 관련된 출력을 발생시킬 경우, 정보 출력부(15)는 마이크와 스피커를 추가로 구비할 수 있고, 촉각에 관련된 출력을 발생시킬 경우, 정보 출력부(15)는 진동 모터를 추가로 구비할 수 있다. Therefore, when the
자동 응답 제공 장치(20)는 사용자 단말(10)로부터 전송되는 현재 입력 문장에 대응하는 응답을 자동으로 생성하여 사용자 단말(10)로 전송하는 것으로, 챗봇(chtbot) 기능을 수행할 수 있다. The automatic
이러한 자동 응답 제공 장치(20)는 서버(server)나 컴퓨터일 수 있다. The automatic
도 2b에 도시한 것처럼, 본 예의 자동 응답 제공 장치(20)는 통신부(21), 통신부(21)에 연결되어 있는 응답 제어부(23) 및 응답 제어부(23)에 연결되어 있는 저장부(24)를 구비할 수 있다.As shown in FIG. 2B, the automatic
이들 구성요소들(21-23) 역시 필수적인 것은 아니어서, 자동 응답 제공 장치(20)는 이들 구성 요소(21-23) 이외의 다른 적어도 하나의 구성요소를 추가로 구비하거나 이들 중 일부를 생략할 수 있다.These components 21-23 are also not essential, so the automatic
통신부(21)는 사용자 단말(10)의 통신부(12)와 유사하게, 사용자 단말(10)이나 데이터베이스부(30) 등과 같은 외부 기기와의 유선 또는 무선 통신을 위한 것으로서, 외부 기기가 위치한 네트워크 사이의 통신을 가능하게 하는 적어도 하나의 통신 모듈을 구비할 수 있다.Similar to the
한 예로, 자동 응답 제공 장치(20)의 통신부(21)는 인터넷 모듈을 구비할 수 있지만, 이외에도 다른 종류의 통신 모듈을 추가로 구비할 수 있다.For example, the
응답 제어부(23) 역시 자동 응답 제공 장치(20)의 전반적인 동작을 제어하는 것으로서, 프로세서(processor)을 구비할 수 있다. The
이러한 응답 제어부(23)는, 도 2b에 도시한 것처럼, 이러한 응답 제어부(23)는, 도 1에 도시한 것처럼, 제어 모듈(231), 감정 종류 추출 모듈(232), 기분 종류 결정 모듈(233) 및 응답 생성 모듈(234)을 구비할 수 있다.As shown in FIG. 2B, the
제어 모듈(231)은 사용자 입력부(11)로부터 입력된 현재 입력 문장을 어절 단위와 형태소 단위로 분리하고, 분리된 형태소를 이용하여 현재 입력 문장에 대한 최종 키워드를 추출할 수 있다.The
또한, 제어 모듈(231)은 추출된 최종 키워드에서 의도어를 추출하여, 의도어로 추출된 최종 키워드에 대한 의도 종류를 판정할 수 있고, 판정된 의도 종류에 대한 의도 종류별 개수를 산출하여, 가장 큰 개수를 갖는 의도 종류를 현재 입력 문장의 의도 종류로 판정할 수 있다. In addition, the
제어 모듈(231)과 연결되어 있는 감정 종류 추출 모듈(232)은 제어 모듈(231)로부터 어절 단위와 형태소 단위로 분리된 현재 입력 문장을 입력 받을 수 있다.The emotion
따라서, 감정 종류 추출 모듈(232)은 분리된 각 어절에서 신조어와 이모티콘을 추출하고, 분리된 형태소에서 감성어를 추출하여, 추출된 신조어, 이모티콘 및 감성어 각각에 대한 감정 종류를 판정하여 현재 문장 감정 종류를 판정할 수 있다.Therefore, the emotion
감정 종류 추출 모듈(232)과 연결되어 있는 기분 종류 결정 모듈(233)은 감정 종류 추출 모듈(232)로부터 입력되는 현재 문장 감정 종류와 바로 이전 문장 감정 종류가 동일한 지 비교하여 비교 결과에 따라 서로 다른 현재 문장 감정값을 산출할 수 있다.The mood
또한, 기분 종류 결정 모듈(233)은 현재 문장 감정값을 산출한 후, 이전 문장 감정값을 설정값만큼 삭감한 다음, 현재 대화까지의 모든 입력 문장에 대한 감정 종류별 문장 감정값을 합산하여 가장 큰 감정값을 갖는 감정 종류를 현재 대화에 대한 기분 종류를 판정할 수 있다.In addition, the mood
응답 생성 모듈(234)은 제어 모듈(231)과 연결될 수 있고, 제어 모듈(231)로부터 인가되는 대화 카테고리, 의도 종류, 현재 입력 문장 및 기분 종류를 이용하여 기계 학습하여 현재 입력 문장에 대한 응답을 생성할 수 잇다.The
그런 다음, 응답 생성 모듈(234)는 생성된 응답을 제어 모듈(231)로 출력하여, 제어 모듈(231)에 의해 사용자 단말로 생성된 응답이 전송될 수 있도록 한다.Then, the
자동 응답 제공 장치(20)의 저장부(24)는 역시 자동 응답 제공 장치(20)의 동작에 필요한 데이터나 동작 중에 발생하는 데이터를 저장하는 저장 매체로서, 하드 디스크 등이나 롬(ROM) 등과 같은 메모리(memory)일 수 있다.The
데이터베이스부(30)는 자동 응답 제공 장치(20)와 무선 또는 유선으로 연결될 수 있고, 자동 응답 제공 장치(20)의 동작에 필요한 데이터를 각각 저장하고 관리하는 복수 개의 데이터베이스를 구비할 수 있다.The
도 b에 도시한 것처럼, 본 예의 데이터베이스부(30)는 신조어 및 이모티콘 감성 사전 데이터베이스, 형태소 사전 데이터베이스(32), 감성어가 저장되어 있는 감성어 사전 데이터베이스(33), 단어에 대한 유사어 및 유의어가 저장되어 있는 유사 및 유의어 사전 데이터베이스, 및 단어에 대한 의도의 종류가 저장되어 있는 의도 종류 데이터베이스(35)를 구비할 수 있다.As shown in FIG. b, the
신조어 및 이모티콘 감성 사전 데이터베이스는 신조어와 이모티콘 및 각 신조어와 각 이모티콘에 대한 감정의 종류(즉, 감정 종류)가 대응되게 저장되는 항목을 구비할 수 있다.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.
이모티콘은 감정을 표시하는 기호로서, 아스키 문자(예, ), 이미지(예, ), 4바이트 유니코드 문자(예, ) 등을 포함할 수 있다.An emoticon is a symbol that expresses an emotion, and is an ASCII character (e.g., ), images (eg, ), 4-byte Unicode characters (e.g., ) 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
형태소 사전 데이터베이스(32)는 현재 입력 문장의 분할을 위해 사용되는 형태소 분석을 위한 형태소 사전이 저장되어 있는 데이터베이스로서, 형태소 사전은 각 형태소에 대한 품사 및 활용 정보 등을 구비할 수 있다. The
감성어 사전 데이터베이스(33)는 감성이나 감성을 나타내는 단어인 감성어 및 각 감성어에 대응되는 감정 종류가 서로 대응되게 저장될 수 있다.In the emotional
따라서, 감정 종류 추출 모듈(232)은 감성어 사전 데이터베이스(33)와의 비교 동작을 통해, 현재 입력 문장에 대한 각 형태소에서 감성어를 추출하고, 각 추출된 감성어에 대한 감정 종류를 판정할 수 있다.Accordingly, the emotion
유사어 및 유의어 사전 데이터베이스(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
의도 종류 데이터베이스(35)는 현재 입력 문장의 의도의 종류(즉, 의도 종류)를 판정하기 위해 사용될 수 있다. The
본 예에서, 의도 종류는 "요청", "명령", "경고", "축하" 및 "안부"로 구분될 수 있으나, 이러한 의도 종류는 필요에 따라 가감될 수 있다. 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
이러한 구조를 갖는 자동 응답 제공 시스템의 동작을 설명한다.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
사용자 단말(10)의 동작이 시작되고, 예로서 사용자 단말(10)에 설치된 애플리케이션(application)의 동작으로 자동 응답 제공 장치(20)에서 제공되는 챗봇 동작이 수행될 수 있다.The operation of the
따라서, 사용자 단말(10)의 동자 제어부는 애플리케이션의 동작이 시작되면, 저장부(14)에 저장되어 있는 영상 데이터를 이용하여 대화 카테고리를 선택할 수 있는 대화 카테고리 선택 화면을 정보 출력부(15)로 출력할 수 있다(S11).Therefore, when the operation of the application starts, the dynamic control unit of the
대화 카테고리 선택 화면은 사용자가 선택할 수 있는 복수 개의 대화 카테고리를 포함할 수 있고, 예를 들어, 대화 카테고리는 '우울', '불안' '가족' 및 '성(性)'으로 나눠질 수 있다. 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
따라서, 동작 제어부(13)는 사용자 입력부(11)로부터 인가되는 신호를 이용하여 사용자에 의해 복수 개의 대화 카테고리 중에서 선택된 대화 카테고리가 존재하는지 판단할 수 있다(S12). Accordingly, the
사용자, 즉 참여자의 선택 동작에 의해, 사용자 입력부(11)로부터 해당 신호가 입력되면, 동작 제어부(13)는 사용자 입력부(11)로부터 인가되는 신호를 판독하여 사용자에 의해 선택된 대화 카테고리를 판정한 후(S13), 판정된 대화 카테고리를 통신부(12)를 통해 자동 응답 제공 장치(20)로 전송할 수 있다(S14).When a corresponding signal is input from the
그런 다음, 동작 제어부(13)는 저장부(14)에 저장되어 있는 영상 데이터를 이용하여 정보 출력부(15)를 대화를 위하여 입력을 실시하는 대화창이 정보 출력부(15)로 출력될 수 있도록 한다(S15). 따라서, 참여자는 정보 출력부(15)로 출력되는 대화창에 원하는 문장 등을 입력하여 자동 응답 제공 장치(20)와의 대화, 즉 채팅을 실시할 수 있다. Then, the
사용자 입력부(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
참여자에 대한 현재 문장의 입력이 최종적으로 완료되면, 동작 제어부(13)는 현재 입력 문장을 통신부(12)를 이용하여 자동 응답 제공 장치(20)로 전송할 수 있다. 이때, 동작 제어부(13)는 사용자 입력부(11)의 특징 키[예, 줄바뀜 키(엔터키(enter key))]의 입력이 판정되면, 현재 입력 문장의 입력이 완료된 상태로 판정할 수 있다. 현재 입력 문장은 저장부(14)에 저장될 수 있다. When input of the current sentence to the participant is finally completed, the
이와 같이, 현재 입력 문장이 자동 응답 제공 장치(20)로 전송되면, 사용자 단말(10)의 동작 제어부(13)는 통신부(12)를 통해 자동 응답 제공 장치(20)로부터 응답이 전송되는 지 판단할 수 있다(S19).In this way, when the current input sentence is transmitted to the automatic
따라서, 자동 응답 제공 장치(20)로부터 현재 입력 문장에 대한 응답이 전송되면, 동작 제어부(13)는 전송된 응답을 저장부(14)에 저장하고 또한 정보 출력부(15)로 출력할 수 있다(S110). Accordingly, when a response to the current input sentence is transmitted from the automatic
이러한 동작을 통해, 자동 응답 제공 장치(20)와의 챗봇 동작이 이루어지는 동안, 참여자는 대화창을 통해 원하는 입력 문장을 입력하고, 그에 대한 응답을 자동 응답 제공 장치(20)로부터 전달 받을 수 있다.Through this operation, during the chatbot operation with the automatic
다음, 도 4 내지 6을 이용하여 현재 입력 문장에 대한 응답을 생성하여 사용자 단말(10)로 전송하는 자동 응답 제공 장치(20)의 동작을 설명한다.Next, an operation of the automatic
먼저, 도 4를 참고하여, 제어 모듈(231)의 동작의 일 예를 설명한다.First, an example of an operation of the
자동 응답 제공 장치(20)의 동작이 시작되면, 제어 모듈(231)은 사용자 단말(10)로부터 전송되는 대화 카테고리를 통신부(21)를 통해 수신한 후 저장부(24)에 저장할 수 있다(S21).When the operation of the automatic
그런 다음, 사용자 단말(10)로부터 현재 입력 문장이 전송되면, 제어 모듈(231)은 현재 입력 문장을 저장부에 저장할 수 있다(S22).Then, when the current input sentence is transmitted from the
본 예에서, 저장부(24)는 현재 입력 문장이 저장되는 사용자 입력 테이블을 구비할 수 있고, 이 사용자 입력 테이블은 토큰부(token), 문장부(sentence) 및 감정부(emotion)로 나눠질 수 있다. In this example, the
토큰부는 현재 대화의 참여자를 식별하기 위한 식별번호, 즉 사용자 단말(10)의 식별번호가 저장되는 부분으로서, 한 예로 식별번호는 IP 주소일 수 있다.The token unit stores an identification number for identifying a participant in a current conversation, that is, an identification number of the
문장부는 전송된 입력 문장 자체가 저장되는 부분이며, 감정부는 현재 입력 문장에 대해 추출된 감정 종류가 저장될 수 있다. 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
매 현재 입력 문장이 입력될 때마다 사용자 입력 테이블의 데이터가 축적되므로, 사용자 입력 테이블의 개수는 입력 문장의 개수와 무관하지만, 동일할 수 있다. 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
이를 위해, 제어 모듈(231)은 저장부(24)에 저장되어 있는 현재 입력 문장을 어절 단위로 분리한 후 저장부(24)에 저장할 수 있다(S23). 이때, 제어 모듈(231)은 현재 입력 문장에 포함되어 있는 띄어쓰기, 즉 빈 칸을 이용하여 어절을 분리할 수 있다.To this end, the
따라서, '나는 직장 상사가 말을 너무 심하게 해서 힘들어 ㅠㅠ'라는 현재 입력 문장이 띄어쓰기를 이용하여 어절 단위로 분리되면, “나는”, “직장”, “상사가”, “말을”, “너무”, “심하게”, “해서”, “힘들어”, "ㅠㅠ"로 각각 분리될 수 있다. 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
본 예에서, 감정 종류 추출 모듈(232)은 입력된 각 어절에서 마침표(.)나, 느낌표(!) 및 물음표(?), 조사 등과 같이 불용어를 생략한 후 신조어와 이모티콘의 추출 동작을 실시할 수 있다.In this example, the emotion
그런 다음, 제어 모듈(231)은 분리된 각 어절을 다시 형태소 단위로 분리하여 저장부(24)에 저장한 후(S25), 각 분리된 형태소를 기분 종류 결정 모듈(233)로 출력할 수 있다(S26). Then, the
이때, 제어 모듈(231)은 형태소 사전 데이터베이스(32)에 저장되어 있는 형태소를 비교하여, 해당 어절을 다시 형태소 단위로 분리하고 해당 품사를 태킹하여 저장부(24)에 저장할 수 있다. In this case, the
따라서, 제어 모듈(231)로부터 현재 입력 문장에 대한 분리된 형태소가 입력되면 감정 종류 추출 모듈(232)은 동작을 시작하여 입력된 형태소에서 감성어를 추출하여 현재 입력 문장에 대한 감정 종류를 판정할 수 있다. Accordingly, when a separated morpheme for the current input sentence is input from the
한 예로서, 어절 단위로의 분리를 통해 "나는”, “직장”, “상사가”, “말을”, “너무”, “심하게”, “해서”, “힘들어”, "ㅠㅠ"로 분리된 입력 문장은 다시 “나/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
이러한 형태소 분석 시 각 분리된 형태소에는, 이미 기술한 것처럼, 품사가 부여될 수 있다.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
본 예에서, 예비 키워드는 주어, 목적어 및 서술어일 수 있다. 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
이때, 형용사의 경우, 명사 앞에 바로 위치하는 형용사는 서술어에서 제외될 수 있다. 하지만, 명사 앞의 형용사가 위치하여도 해당 형용사가 구문분석 이후 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
따라서, “나/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
따라서, 현재 입력 문장인 '나는 직장 상사가 말을 너무 심하게 해서 힘들어 ㅠㅠ'에서, 제어 모듈(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
다음, 제어 모듈(231)은 현재 입력 문장에서 추출된 예비 키워드 각각을 유사어 및 유의어 사전 데이터베이스(34)에 저장되어 있는 유사어 및 유의어와 비교하여 해당 예비 키워드에 대한 대표 단어를 추출한 후, 추출된 대표 키워드는 최종 키워드로서 저장부(24)에 저장할 수 있다(S28). Next, the
따라서, 제어 모듈(231)은 유사어 및 유의어 사전 데이터베이스(34)와의 비교 동작에 의해, 추출된 예비 키워드 중에서 유의어나 유사어에 해당하는 예비 키워드가 존재하는 지 판단할 수 있다.Accordingly, the
추출된 예비 키워드 중에서 유사어 및 유의어 사전 데이터베이스(34)에 저장되어 있는 유의어나 유사어와 동일한 예비 키워드가 존재하면, 제어 모듈(231)은 해당 유의어나 유사어에 대응하는 대표 단어를 해당 예비 키워드의 최종 키워드로 결정할 수 있다.If there is a preliminary keyword identical to a synonym or synonym stored in the synonym and
하지만, 예비 키워드 중에서 유의어나 유사어에 해당되지 않는 예비 키워드, 즉, 유사어 및 유의어 사전 데이터베이스(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
이미 기술한 것처럼, 유사/유의어 사전 데이터베이스는 대표단어 및 각 대표단어에 대응되게 유사어 및 유의어가 저장되어 있다.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
예를 들어, 대표단어가 '힘들다'인 경우, '힘들다'의 유사어 및 유의어는 '험난하다', '험난해', '힘겹다', '힘겨워' 등일 수 있다.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
따라서, 예비 키워드인 "나", "상사"및 "말"은 치환될 대표 단어가 존재하지 않으므로, 제어 모듈(231)은 '나', '상사'및 '말' 자체를 최종 키워드로서 저장할 수 있다.Therefore, since representative words to be replaced do not exist for the preliminary keywords “I”, “boss”, and “word”, the
따라서, 현재 입력 문장인 "나는 직장 상사가 말을 너무 심하게 해서 힘들어 ㅠㅠ"에 대한 최종 키워드는 '나', '상사'및 '말', '심하다' '하다' 및 '힘들다'일 수 있다.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
본 예에서, 의도 종류는 "요청", "명령", "경고", "축하" 및 "안부"로 구분될 수 있으나, 이러한 의도 종류는 필요에 따라 가감될 수 있다. 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
따라서, 최종 키워드 중에는 의도 종류 데이터베이스(35)에 의도어로 저장되어 있지 않는 최종 키워드가 존재할 수 있으므로, 모든 최종 키워드에 각각 대응되는 의도어가 의도 종류 데이터베이스(35)에 존재하지 않을 수 있다.Accordingly, since final keywords that are not stored as intended words in the
이와 같이, '나는 직장 상사가 말을 너무 심하게 해서 힘들어 ㅠㅠ'에 대한 최종 키워드인 '나', '상사'및 '말', '심하다' '하다' 및 '힘들다'중에서, 의도 종류 데이터베이스(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
그런 다음, 제어 모듈(231)은 산출된 각 의도 종류별 개수 중에서 가장 많은 개수를 갖는 의도 종류를 현재 입력 문장에 대한 의도 종류로서 판정할 수 있다.Then, the
따라서, 의도 종류 데이터베이스(35)에 저장되어 있는 의도어는 '심하다'와 '힘들다'일 수 있고, 이들 '심하다'와 '힘들다'의 의도 종류는 각각 '안부'일 수 있다.Accordingly, the intention words stored in the
이로 인해, 현재 입력 문장인 '나는 직장 상사가 말을 너무 심하게 해서 힘들어 ㅠㅠ'에서, 요청, 명령, 경고 및 축하에 대한 의도 종류의 개수는 각각 모두 '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
이와 같이, 제어 모듈(231)은 현재 입력 문장을 어절 단위로 분리하여 감정 종류 추출 모듈(232)로 출력하고 형태소 단위로 분리하여 기분 종류 결정 모듈(233)로 출력하여, 기분 종류 결정 모듈(233)에서 현재 대화에 대한 기분의 종류(즉, 기분 종류)를 판정하여 응답 생성 모듈(234)로 판정된 기분 종류를 출력할 수 있도록 한다.In this way, the
이로 인해, 응답 생성 모듈(234)은 제어 모듈(231)로부터 전송되는 제어 모듈(231)은 의도 종류, 현재 입력 문장, 선택된 대화 카테고리 및 기분 종류를 이용하여 현재 입력 문장에 대한 응답을 생성하여 제어 모듈(231)로 출력할 수 있다.Accordingly, the
이와 같이, 응답 생성 모듈(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
따라서, 사용자 단말(10)은 자동 응답 제공 장치(20)로부터 전송된 응답을 현재 입력 문장에 대한 응답으로서 대화창에 출력할 수 있다. Accordingly, the
다음, 도 6을 참고하여, 감정 종류 추출 모듈(232)의 동작을 설명한다. Next, referring to FIG. 6 , the operation of the emotion
감정 종류 추출 모듈(232)은, 이미 기술한 것처럼, 현재 입력 문장에 대한 감정 종류를 판정하기 위한 것으로서, 분리된 각 어절에 포함된 신조어 및 이모티콘과 각 형태소를 이용하여 감정 종류를 판정할 수 있다. As described above, the emotion
본 예에서, 판정되는 감정 종류는 '기쁨', '슬픔', '신뢰', '분노', '두려움', '기대', '놀람'및 '불쾌'일 수 있지만, 이에 한정되지 않는다. 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
이때, 제어 동작(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
따라서, 감정 종류 추출 모듈(232)은 저장부(24)에 저장되어 있는 현재 입력 문장의 분리된 각 어절을 읽어와, 각 어절에 포함되어 있는 불용어를 삭제한 후 불용어가 삭제된 각 어절과 신조어 및 이모티콘 감성 사전 데이터베이스에 저장되어 있는 신조어 및 이모티콘와 비교하여 각 어절에 신조어와 이모티콘이 존재하는 지 판단할 수 있다.Therefore, the emotion
어절에 따라서, 신조어와 이모티콘 모두 추출되지 않는 경우, 신조어와 이모티콘 모두 추출되는 경우, 또는 신조어와 이모티콘 중 하나만 추출되는 경우가 존재할 수 있다.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
또한, 분리된 어절에 불용어가 포함되는 경우, 신조어와 이모티콘의 추출이 곤란하거나 불가능하므로, 위에 기술한 것처럼, 신조어 및 이모티콘 감성사전 데이터베이스(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
이러한 비교 동작에 의해, 감정 종류 추출 모듈(232)은 각 어절에서 신조어와 이모티콘 중 적어도 하나가 존재하는 경우, 해당 어절에 존재하는 신조어와 이모티콘을 추출한 후 추출된 신조어와 이모티콘에 각각 대응하는 감정 종류를 판정하여 저장할 수 있다.Through this comparison operation, the emotion
이미 기술한 것처럼, 신조어 및 이모티콘 감성 사전 데이터베이스는 신조어와 이모티콘뿐만 아니라 각 신조어와 이모티콘에 대응되는 감정 종류도 함께 저장되어 있다.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
이런 경우, 제어 모듈(231)의 어절 분리 동작에 의해 분리된 각 어절인 “나는”, “직장”, “상사가”, “말을”, “너무”, “심하게”, “해서”, “힘들어”, "ㅠㅠ"이 입력되면, 감정 종류 추출 모듈(232)은 "ㅠㅠ"의 어절에서 신조어인 'ㅠㅠ'를 추출할 수 있다.In this case, each word separated by the word separation operation of the
그런 다음, 감정 종류 추출 모듈(232)은 추출된 신조어인 "ㅠㅠ"에 대한 감정 종류를 "슬픔"으로 판정할 수 있다. Then, the emotion
이와 같이, 감정 종류 추출 모듈(232)은 각 어절을 신조어 및 이모티콘 감성 사전 데이터베이스(31)에 저장된 신조어 및 이모티콘과 비교하여 현재 입력 문장에 포함되어 있는 신조어 및 이모티콘을 추출하고, 각 추출된 이모티콘과 신조어에 대한 감정 종류를 판정하여 저장부(24)에 저장할 수 있다. 이때, 판정된 감정 종류는 해당 신조어 및 이모티콘과 대응되게 저장될 수 있다.In this way, the emotion
또한, 감정 종류 추출 모듈(232)은 제어 모듈(231)로부터 형태소 단위로 분리된 현재 입력 문장, 즉 형태소가 입력되면, 해당 형태소와 감성어 사전 데이터베이스(33)에 저장되어 있는 감성어와 비교하여 해당 형태소가 감성어로서 감성어 사전 데이터베이스(33)에 저장되어 있는 단어인지를 판정할 수 있다(S322).In addition, when the current input sentence separated by morphemes from the
따라서, 감정 종류 추출 모듈(232)은 입력된 형태소가 감성어로서 감성어 사전 데이터베이스(33)에 존재하는지 판단할 수 있다.Accordingly, the emotion
입력된 형태소가 감성어 사전 데이터베이스(33)에 감성어로서 존재하면, 감정 종류 추출 모듈(232)은 입력된 형태소를 감성이나 감성을 나타내는 감성어로서 판정하여 해당 형태소를 감성어로서 추출할 수 있다.If the input morpheme exists as a sentiment word in the emotional
그런 다음, 감정 종류 추출 모듈(232)은 추출된 감성어에 대응되게 저장되어 있는 감정 종류를 판정한 후, 해당 형태소에 대응되게 판정된 감정 종류를 저장부(24)에 저장할 수 있다(S323).Then, the emotion
이와 같이, 감정 종류 추출 모듈(232)은 현재 입력 문장에 대한 모든 형태소를 감성어 사전 데이터베이스(33)와 비교하여, 입력된 형태소 중에서 감성어에 해당하는 형태소를 추출한 후 그에 대응되는 감정 종류를 판정할 수 있게 된다.In this way, the emotion
이와 같이, 현재 입력 문장에 포함되어 있는 신조어와 이모티콘에 대한 감정 종류 및 현재 입력 문장에 포함되어 있는 감성어에 대한 감정 종류가 판정되면, 감정 종류 추출 모듈(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
이때, 현재 입력 문장은 기쁨', '슬픔', '신뢰', '분노', '두려움', '기대', '놀람'및 '불쾌' 중 어떠한 종류의 감정도 판정되지 않는 경우도 존재할 수 있다. 이런 경우, 감정 종류 추출 모듈(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
따라서, 감정 종류 추출 모듈(232)은 신조어 및 이모티콘, 그리고 형태소를 이용하여 판정된 현재 입력 문장에 대한 모든 감정 종류에서, 종류별로 감정 종류를 합산할 수 있다(S33)).Accordingly, the emotion
예를 들어, 입력 문장이 '나는 직장 상사가 말을 너무 심하게 해서 힘들어 ㅠㅠ'인 경우, 신조어 및 이모티콘을 이용하여 판정된 감정의 종류는 한 개의 신조어 'ㅠㅠ'에 해당하는 '슬픔'일 수 있다.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
따라서, '나는 직장 상사가 말을 너무 심하게 해서 힘들어 ㅠㅠ'라는 현재 입력 문장에 대한 현재 문장 감정 종류는 총 개수가 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
이때, 현재 입력 문장에 대해 판정된 감정의 종류가 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
이와 같이, 감정 종류 추출 모듈(232)로부터 현재 문장 감정 종류가 입력되면, 기분 종류 결정 모듈(233)은 입력된 현재 문장 감정 종류를 이용하여 현재 대화에 대한 기분의 종류(즉, 기분 종류)를 판정할 수 있다.In this way, when the current sentence emotion type is input from the emotion
이때, 판정된 기분 종류는 감정 종류인 기쁨, 슬픔, 신뢰, 분노, 두려움, 기대, 놀람 및 불쾌 중 하나이거나 안정일 수 있다. 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
따라서, 현재 문장 감정값은 '2' 또는 '1'의 값을 가질 수 있다. Accordingly, the current sentence sentiment value may have a value of '2' or '1'.
그런 다음, 기분 종류 결정 모듈(233)은 현재 문장 감정값을 제외한 이전 입력 문장에 대한 모든 문장 감정값을 조정할 수 있다. 따라서, 기분 종류 결정 모듈(233)은 모든 이전 입력 문장에 대한 현재 각 문장 감정값에서 설정 크기(예,0.1)만큼 감소시켜 이전 입력 문장에 대한 현재의 문장 감정값으로 저장할 수 있다(S45). 이때, 각 이전 입력 문장에 대한 감정 종류는 '기쁨', '슬픔', '신뢰', '분노', '두려움', '기대', '놀람' 및 '불쾌' 중 하나를 가질 수 있다. Then, the mood
이로 인해, 문장 감정값은 새로운 입력 문장이 사용자 단말(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
다음, 감정 결정 모듈은 현재 대화창에 입력된 모든 입력 문장을 대상으로 하여, 감정 종류별로 산출된 문장 감정값을 합산하여, 감정 종류별 총 감정값을 산출할 수 있다(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
또한, 기분 종류 결정 모듈(233)은 합산된 총 감정값이 제1 설정값 미만 제2 설정값 이상의 범위(예, 0.4 이상 3.5 미만)에 속하는 감정 종류(예, '분노')에 대한 감정 강도는 '약함'으로 판정할 수 있다. 여기서, 제2 설정값은 제1 설정값보다 작은 값일 수 있다. In addition, the mood
이와 같이, 각 감정 종류에 대한 감정 강도가 판정되면, 기분 종류 결정 모듈(233)은 감정 강도가 '강함'을 갖는 감정 종류가 존재하는지 판단할 수 있다(S48).In this way, if the emotional intensity for each emotion type is determined, the mood
감정 강도가 '강함'을 갖는 감정 종류가 존재할 경우(S48), 기분 종류 결정 모듈(233)은 감정 강도가 '강함'을 갖는 감정 종류가 한 개인 지 판단할 수 있다(S49).If there is an emotion type having 'strong' emotional intensity (S48), the mood
감정 강도가 '강함'을 갖는 감정 종류가 한 개인 경우(S48), 기분 종류 결정 모듈(233)은 '강함'의 감정 강도를 갖는 감정 종류를 현재 대화에 대한 기분 종류를 판정할 수 있다(S49).When there is only one emotion type having an emotion intensity of 'strong' (S48), the mood
감정 강도가 '강함'을 갖는 감정 종류가 한 개인 경우, 기분 종류 결정 모듈(233)은 '강함'의 감정 강도를 갖는 감정 종류를 현재 대화에 대한 기분 종류를 판정하여 저장부(24)에 저장할 수 있다(S410).When there is one emotion type having an emotion intensity of 'strong', the mood
하지만, '강함'을 갖는 감정 종류가 복 수 개인 경우, 기분 종류 결정 모듈(233)은 '강함'을 갖는 감정 종류 중에서 가장 큰 감정값을 갖는 감정 종류를 현재 대화에 대한 기분 종류로 판정하여 저장할 수 있다(S411).However, if there are a plurality of emotion types with 'strong', the mood
하지만, 단계(S48)에서, 기분 종류 결정 모듈(233)은 감정 강도가 '강함'을 갖는 감정 종류가 존재하지 않는 경우, 기분 종류 결정 모듈(233)은 감정 강도가 '약함'을 갖는 감정 종류가 존재하는 지 판단할 수 있다(S412).However, in step S48, when the emotion
감정 강도가 '약함'을 갖는 감정 종류가 존재하는 경우, 기분 종류 결정 모듈(233)은 '약함'을 갖는 감정 종류 중에서 가장 큰 총 감정값을 갖는 감정 종류를 현재 대화에 대한 기분 종류로 판정한 후 저장할 수 있다(S413).If emotion types having 'weak' emotion intensity exist, the mood
하지만, 감정 강도가 '약함'을 갖는 감정 종류가 존재하지 않는 경우, 즉, 산출된 감정 종류별 총 감정값이 모두 제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
기분 종류 결정 모듈(233) Mood
이와 같이, 각 감정 종류별 총 감정값의 크기를 이용하여 현재 대화에 대한 기분 종류가 판정되면, 기분 종류 결정 모듈(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
이로 인해, 기분 종류 결정 모듈(233)은 정해진 값(예, 제2 설정값) 이상의 총 감정값을 갖는 감정 종류가 존재하는 지 판단하여, 정해진 값 이상의 총 감정값을 갖는 감정 종류가 존재하면 가장 큰 값을 갖는 감정 종류를 기분 종류로 판정할 수 있다.For this reason, the mood
하지만, 정해진 값 이상의 총 감정값을 갖는 감정 종류가 존재하지 않아 모든 감정 종류의 총 감정값이 정해진 값 미만인 경우, 기분 종류 결정 모듈(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
이때, 감정 강도(예, '강함'과 '약함')를 이용하여 기분 대화를 판정하는 경우, 데이터 비교 시간이 크게 절감되어 기분 종류 결정 모듈(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
예를 들어, 현재 입력 문장의 순서가 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
감정 종류 추출 모듈(232)의 동작에 의해 산출된 현재 입력 문장에 감정 종류인 현재 문장 감정 종류가 '무감정'인 경우, 현재 문장 감정값은 '0'일 수 있다. When the emotion type of the current input sentence calculated by the operation of the emotion
이와 같이, 현재 대화에 대한 기분 종류가 산출되면, 기분 종류 결정 모듈(233)은 판정된 기분 종류를 제어 모듈(231)로 출력하고 제어 모듈(231)이 응답 생성 모듈(234)로 출력하게 되므로, 현재 입력 문장에 대한 응답의 생성이 이루어질 수 있도록 한다. In this way, when the mood type for the current conversation is calculated, the mood
따라서, 제어 모듈(231)은, 이미 기술한 것처럼, 저장부(24)에 저장되어 있는 카테고리의 종류, 사용자 입력 테이블에 저장되어 있는 현재 입력 문장, 기분 종류 결정 모듈(233)로부터 입력된 현재 대화의 기분 종류 및 현재 입력 문장의 의도 종류를 응답 생성 모듈(234)로 입력할 수 있다.Therefore, as described above, the
응답 생성 모듈(234)은 제어 모듈(231)로부터 인가되는 카테고리의 종류, 현재 입력 문장, 기분의 종류 및 의도 종류를 입력으로 하여 현재 입력 문장에 대한 응답을 생성하여 사용자 단말(10)로 전송할 수 있다.The
하지만 대안적인 예에서, 제어 모듈(231)은 판정된 의도 종류를 응답 생성 모듈(234)로 출력하고, 기분 종류 결정 모듈(233)은 판정된 기분 종류를 응답생성 모듈(234)로 출력할 수 있고, 이로 인해, 응답 생성 모듈(234)은 제어 모듈(231)과 기분 종류 결정 모듈(233)로부터 각각 입력된 의도 종류와 기분 종류를 이용하여 현재 입력 문장에 대한 응답의 생성이 이루어질 수 있다. 이런 경우, 응답 생성 모듈(234)은 기분 종류 결정 모듈(233)과도 연결되어 기분 종류를 입력받을 수 있다.However, in an alternative example,
본 예의 응답 생성 모듈(234)은 딥러닝 학습과 같은 기계 학습 알고리즘을 이용할 수 있고, 예를 들어, seq2seq 알고리즘이 사용될 수 있다.
또한, 본 예의 경우, 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
응답 생성 모듈(234)은 학습데이터로 트위터의 트윗을 크롤링하여 사용할 수 있고, 크롤링 된 트윗 중에서 게시자가 mention, reply의 형태인 트윗을 조회하여 사용하므로, 응답 생성 모듈(234)은 트윗의 게시자가 mention, reply의 형태로 존재하지 않는 트윗을 학습데이터로 사용하지 않을 수 있다. Since the
원 트윗과 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
또한, 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
이와 같이, 응답 생성 모듈(234)은 기분 종류 결정 모듈(233)을 통해 정해진 현재 대화의 기분 종류를 seq2seq 알고리즘의 입력값으로 사용하므로, 대화의 참여자에 현재 기분에 적합하게 현재 입력 문장에 대한 알맞은 응답을 생성할 수 있다.In this way, since the
본 발명의 각 실시예에 개시된 기술적 특징들은 해당 실시예에만 한정되는 것은 아니고, 서로 양립 불가능하지 않은 이상, 각 실시예에 개시된 기술적 특징들은 서로 다른 실시예에 병합되어 적용될 수 있다.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:
232 Emotion
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.
상기 제어 모듈은,
분리된 형태소를 이용하여 상기 현재 입력 문장의 주어, 목적어 및 서술어를 추출하여 상기 현재 입력 문장에 대한 예비 키워드를 추출하고,
유사어와 유의어가 대표 단어에 대응되게 저장되어 있는 유사어 및 유의어 데이터베이스와 상기 예비 키워드를 비교하여 상기 예비 키워드 중에서 유의어나 유사어에 해당하는 예비 키워드가 존재하면, 해당 유의어나 유사어에 대응하는 대표 단어를 해당 예비 키워드의 최종 키워드로 결정하고,
상기 예비 키워드 중에서 유의어나 유사어에 해당되지 않는 예비 키워드를 최종 키워드로 결정하는 자동 응답 제공 장치.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.
상기 감정 종류 추출 모듈은,
신조어와 이모티콘 및 각 신조어와 이모티콘에 대응되게 감정 종류가 저장되어 있는 신조어 및 이모티콘 감성 사전 데이터베이스와 각 어절을 비교하여, 각 어절에 포함되어 있는 신조어와 이모티콘을 추출하고, 추출된 각 신조어와 각 이모티콘에 대한 감정 종류의 판정하며,
감성어와 각 감성어에 대응되게 감정 종류가 저장되어 있는 감성어 사전 데이터베이스와 각 형태소를 비교하여, 형태소에서 감성어를 추출하고, 추출된 각 감성어에 대한 감정 종류를 판정하고,
신조어와 이모티콘에 대한 감정 종류와 감성어에 대한 감정 종류에서 감정 종류별 총 개수를 산출하여, 가장 큰 개수를 갖는 감정 종류를 상기 현재 문장 감정 종류로 판정하는 자동 응답 제공 장치.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.
상기 감정 종류 추출 모듈은 상기 신조어 및 이모티콘 감성 사전 데이터베이스과의 비교 전에 각 어절에 포함되어 있는 불용어를 제거하는 자동 응답 제공 장치.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.
상기 기분 종류 결정 모듈은 감정 종류별 문장 감정값 중 정해진 값 이상의 총 문장 감정값에서 가장 큰 크기를 갖는 문장 감정값에 해당하는 감정 종류를 현재 대화에 대한 기분 종류로 판정하는 자동 응답 제공 장치.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.
상기 기분 종류 결정 모듈은 감정 종류별 문장 감정값이 모두 정해진 값 미만의 값을 가질 경우, 현재 대화에 대한 기분 종류를 안정으로 판정하는 자동 응답 제공 장치.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.
상기 제어 모듈에 연결되어 있는 응답 생성 모듈
을 더 포함하고,
상기 제어 모듈은 대화 카테고리를 추가로 입력받아, 상기 대화 카테고리, 상기 의도 종류 및 상기 현재 입력 문장을 상기 응답 생성 모듈로 출력하고,
상기 응답 생성 모듈은 입력된 상기 대화 카테고리, 상기 의도 종류, 상기 현재 입력 문장 및 상기 기분 종류를 이용하여 기계 학습하여 상기 현재 입력 문장에 대한 응답을 생성하는 자동 응답 제공 장치.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.
상기 감정 종류는 기쁨, 슬픔, 신뢰, 분노, 두려움, 기대, 놀람 및 불쾌 중 하나인 자동 응답 제공 장치.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.
상기 최종 키워드를 추출하는 단계는,
상기 제어 모듈은 분리된 형태소를 이용하여 상기 현재 입력 문장의 주어, 목적어 및 서술어를 추출하여 상기 현재 입력 문장에 대한 예비 키워드를 추출하는 단계;
상기 제어 모듈은 유사어와 유의어가 대표 단어에 대응되게 저장되어 있는 유사어 및 유의어 데이터베이스와 상기 예비 키워드를 비교하여, 상기 예비 키워드 중에서 유사어나 유의어에 해당하는 예비 키워드가 존재하는 지 판단하는 단계;
상기 제어 모듈은 상기 예비 키워드 중에서 유사어나 유의어에 해당하는 예비 키워드가 존재하면, 해당 유의어나 유사어에 대응하는 대표 단어를 해당 예비 키워드의 최종 키워드로 결정하는 단계; 및
상기 제어 모듈은 상기 예비 키워드 중에서 유의어나 유사어에 해당되지 않는 예비 키워드를 최종 키워드로 결정하는 단계
를 포함하는 자동 응답 제공 장치의 제어 방법.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.
상기 신조어, 이모티콘 및 감성어를 추출하는 단계는,
상기 감정 종류 추출 모듈은 신조어와 이모티콘 및 각 신조어와 이모티콘에 대응되게 감정 종류가 저장되어 있는 신조어 및 이모티콘 감성 사전 데이터베이스와 각 어절을 비교하는 단계;
상기 감정 종류 추출 모듈은 각 어절에 상기 신조어 및 이모티콘 감성 사전 데이터베이스에 저장되어 있는 신조어나 이모티콘이 존재하면, 각 어절에 포함된 신조어나 이모티콘을 추출하는 단계; 및
상기 감정 종류 추출 모듈은 상기 신조어 및 이모티콘 감성 사전 데이터베이스에서 추출된 각 신조어와 각 이모티콘에 대한 감정 종류의 판정하는 단계
를 포함하는 자동 응답 제공 장치의 제어 방법.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.
상기 신조어, 이모티콘 및 감성어를 추출하는 단계는 신조어 및 이모티콘 감성 사전 데이터베이스와 각 어절을 비교하기 전에, 각 어절에 포함되어 있는 불용어를 제거하는 단계를 더 포함하는 자동 응답 제공 장치의 제어 방법.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.
상기 현재 문장 감정 종류를 판정하는 단계는,
상기 감정 종류 추출 모듈은 감성어와 각 감성어에 대응되게 감정 종류가 저장되어 있는 감성어 사전 데이터베이스와 각 형태소를 비교하는 단계;
상기 감정 종류 추출 모듈은 각 형태소에 상기 감성어 사전 데이터에 저장되어 있는 감성어가 존재하면, 상기 형태소에서 포함되어 있는 감성어를 추출하는 단계;
상기 감정 종류 추출 모듈은 상기 감성어 사전 데이터베이스에서 추출된 감성어에 대한 감정 종류를 판정하는 단계;
상기 감정 종류 추출 모듈은 신조어와 이모티콘에 대한 감정 종류와 감성어에 대한 감정 종류에서 감정 종류별 총 개수를 산출하는 단계; 및
상기 감정 종류 추출 모듈은 산출된 감정 종류별 총 개수 중에서 가장 큰 개수를 갖는 감정 종류를 상기 현재 문장 감정 종류로 판정하는 단계
를 포함하는 자동 응답 제공 장치의 제어 방법.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.
상기 현재 대화에 대한 기분 종류로 판정하는 단계는,
감정 종류별 문장 감정값 중 정해진 값 이상의 총 문장 감정값이 존재하는 지 판단하는 단계;
감정 종류별 문장 감정값 중 정해진 값 이상의 총 문장 감정값이 존재하면, 정해진 값 이상의 감정 종류별 총 문장 감정값에서 가장 큰 크기를 갖는 문장 감정값에 해당하는 감정 종류를 현재 대화에 대한 기분 종류로 판정하는 단계; 및
감정 종류별 문장 감정값 중 정해진 값 이상의 총 문장 감정값이 존재하지 않으면, 현재 대화에 대한 기분 종류를 안정으로 판정하는 단계
를 포함하는 자동 응답 제공 장치의 제어 방법.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.
상기 제어 모듈이 대화 카테고리, 상기 의도 종류 및 상기 현재 입력 문장을 응답 생성 모듈로 출력하는 단계를 더 포함하는 자동 응답 제공 장치의 제어 방법. 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.
상기 감정 종류는 기쁨, 슬픔, 신뢰, 분노, 두려움, 기대, 놀람 및 불쾌 중 하나인 자동 응답 제공 장치의 제어 방법. According to claim 9,
The emotion type is one of joy, sadness, trust, anger, fear, expectation, surprise, and displeasure.
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)
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 |
-
2021
- 2021-06-23 KR KR1020210081923A patent/KR20230000044A/en not_active Application Discontinuation
Patent Citations (2)
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 |