KR20190064313A - Method for providing personalized chatbot service and apparatus thereof - Google Patents
Method for providing personalized chatbot service and apparatus thereof Download PDFInfo
- Publication number
- KR20190064313A KR20190064313A KR1020170163762A KR20170163762A KR20190064313A KR 20190064313 A KR20190064313 A KR 20190064313A KR 1020170163762 A KR1020170163762 A KR 1020170163762A KR 20170163762 A KR20170163762 A KR 20170163762A KR 20190064313 A KR20190064313 A KR 20190064313A
- Authority
- KR
- South Korea
- Prior art keywords
- subject
- user
- utterance
- chatbot
- preference
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 107
- 230000004044 response Effects 0.000 claims description 77
- 230000008451 emotion Effects 0.000 claims description 13
- 230000007704 transition Effects 0.000 claims 4
- 238000004590 computer program Methods 0.000 description 23
- 239000000284 extract Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 230000002996 emotional effect Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013075 data extraction Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- VZSRBBMJRBPUNF-UHFFFAOYSA-N 2-(2,3-dihydro-1H-inden-2-ylamino)-N-[3-oxo-3-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)propyl]pyrimidine-5-carboxamide Chemical compound C1C(CC2=CC=CC=C12)NC1=NC=C(C=N1)C(=O)NCCC(N1CC2=C(CC1)NN=N2)=O VZSRBBMJRBPUNF-UHFFFAOYSA-N 0.000 description 1
- YLZOPXRUQYQQID-UHFFFAOYSA-N 3-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)-1-[4-[2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidin-5-yl]piperazin-1-yl]propan-1-one Chemical compound N1N=NC=2CN(CCC=21)CCC(=O)N1CCN(CC1)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F YLZOPXRUQYQQID-UHFFFAOYSA-N 0.000 description 1
- 206010048909 Boredom Diseases 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000013518 transcription Methods 0.000 description 1
- 230000035897 transcription Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/50—Business processes related to the communications industry
-
- G06Q50/30—
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/04—Segmentation; Word boundary detection
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
본 발명은 개인화된 챗봇 서비스 제공 방법 및 그 장치에 관한 것이다. 보다 자세하게는, 챗봇 서비스 이용자의 주제별 선호도에 기초하여 개인화된 챗봇 서비스를 제공하는 방법 및 그 방법을 수행하는 장치에 관한 것이다.The present invention relates to a personalized chatbot service providing method and apparatus. More particularly, the present invention relates to a method of providing a personalized chat service on the basis of a topic preference of a user of a chat service and a device performing the method.
챗봇(chatbot)은 사람과의 대화를 통해 질문에 알맞은 답이나 각종 연관 정보를 제공하는 인공 지능(artificial intelligence; AI) 기반의 커뮤니케이션 소프트웨어(communication software)를 의미한다. 챗봇은 웹(Web)의 장점인 서비스 개선?업데이트의 용이함과 앱의 장점인 접근성?이동성을 동시에 보유하고 있어 성장 잠재력이 우수한 분야로 평가되고 있다.A chatbot is an artificial intelligence (AI) -based communication software that provides answers to questions and various related information through dialogue with people. Chattob is evaluated as an area with excellent growth potential because it has the convenience of updating the service, which is the advantage of the web, and accessibility and mobility, which are advantages of the app.
최근 인공지능 기술이 발달하고 자연어 처리 능력까지 더해져 더욱 다양한 분야에서 챗봇과 결합된 응용 서비스가 등장하고 있다. 예컨대, 컨택 센터의 상담원을 챗봇으로 대체하여 자동 응답 서비스를 제공하거나, 챗봇 기반으로 상품 또는 콘텐츠 추천 서비스를 제공하는 등 다양한 분야에서 챗봇이 활용되고 있다.Recently, artificial intelligence technology has been developed and natural language processing capability has been added, so that application services combined with chatbots are emerging in various fields. For example, chatbots have been used in various fields such as providing an automatic response service by replacing a contact center agent with a chatbot, or providing a product or content recommendation service based on a chatbot.
지금까지 제안된 대부분의 챗봇 서비스는 사용자의 발화(utterance)로부터 해당 사용자의 의도(intent) 또는 주제(topic)를 파악하고, 미리 정의된 주제별 대화 흐름(dialog flow) 또는 미리 정의된 대화 쌍에 따라 적절한 대화 서비스를 제공한다. 이에 따라, 사용자의 특성에 관계 없이 획일적인 챗봇 서비스만이 제공되고 있는 실정이다. 예를 들어, 사용자의 특성에 관계 없이, 동일 주제에 대한 대화의 경우 동일한 흐름에 따라 대화 서비스가 제공되고, 동일 질의에 대해서는 동일한 응답이 제공되고 있다.Most of the chaotic services proposed so far are able to identify the user's intent or topic from the utterance of the user and select a predefined dialog flow or a predefined conversation pair Provide appropriate conversation services. Accordingly, only a uniform chat service is provided regardless of the characteristics of the user. For example, regardless of the characteristics of the user, the dialogue service is provided according to the same flow of conversation on the same subject, and the same response is provided for the same question.
이에 따라, 사용자의 특성을 반영하여 개인화된 챗봇 서비스를 제공하는 방법에 대한 필요성이 제기되고 있다.Accordingly, there is a need for a method of providing a personalized chatbot service reflecting the characteristics of a user.
본 발명이 해결하고자 하는 기술적 과제는, 사용자의 주제별 선호도를 반영하여 개인화된 챗봇 서비스 제공하는 방법 및 그 방법을 수행하는 장치를 제공하는 것이다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a personalized chatbot service providing method and a device for performing the personalized chatbot service reflecting user's preference by theme.
본 발명이 해결하고자 하는 다른 기술적 과제는, 개인화된 챗봇 서비스 제공을 위해, 사용자에 대한 주제별 선호도를 결정하는 방법 및 그 방법을 수행하는 장치를 제공하는 것이다.It is another object of the present invention to provide a method for determining a preference degree for a user for a personalized chatbot service and an apparatus for performing the method.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical objects of the present invention are not limited to the above-mentioned technical problems, and other technical subjects not mentioned can be clearly understood by those skilled in the art from the following description.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 주제 선호도 결정 방법은, 컴퓨팅 장치에 의하여 수행되는 방법에 있어서, 제1 사용자와 챗봇 간의 대화(dialog)를 구성하는 각각의 발화(utterance)를 주제(topic) 별로 구분하는 단계 및 제1 주제에 속하는 전체 발화의 분량을 이용하여 상기 제1 사용자의 상기 제1 주제에 대한 선호도를 결정하는 단계를 포함할 수 있다.According to an aspect of the present invention, there is provided a method for determining a topic preference according to an embodiment of the present invention, the method comprising the steps of: generating a utterance ) Of the first subject and the amount of total utterance belonging to the first subject may be used to determine the preference of the first user for the first subject.
일 실시예에서, 상기 제1 주제에 대한 선호도를 결정하는 단계는, 상기 제1 주제에 속하는 전체 발화 중 상기 제1 사용자의 발화에 대하여 제1 특징 데이터를 추출하는 단계, 상기 제1 주제에 속하는 전체 발화 중 상기 챗봇의 발화에 대하여 제2 특징 데이터를 추출하는 단계 및 상기 제1 특징 데이터 및 상기 제2 특징 데이터를 이용하여 상기 분량을 연산하는 단계를 포함할 수 있다. 이때, 상기 제1 특징 데이터와 상기 제2 특징 데이터는 상이한 기준에 의하여 선정된 것일 수 있다.In one embodiment, the step of determining preferences for the first subject comprises extracting first feature data for a speech of the first user during a whole speech belonging to the first subject, Extracting the second characteristic data with respect to the ignition of the chatbot during the entire utterance, and calculating the quantity using the first characteristic data and the second characteristic data. At this time, the first feature data and the second feature data may be selected by different criteria.
상기 기술적 과제를 해결하기 위한, 본 발명의 다른 실시예에 따른 주제 선호도 결정 방법은, 컴퓨팅 장치에 의하여 수행되는 방법에 있어서, 제1 사용자와 챗봇 간의 대화를 구성하는 각각의 발화를 주제 별로 구분하는 단계 및 제1 주제에 속하는 대화에서 기 설정된 발화-응답 관계가 추출된 횟수를 이용하여 상기 제1 사용자의 상기 제1 주제에 대한 선호도를 결정하는 단계를 포함할 수 있다.According to another aspect of the present invention, there is provided a method for determining a topic preference according to another embodiment of the present invention, the method comprising the steps of: And determining a preference of the first user for the first subject using the number of times the predetermined speech-response relationship is extracted in the conversation belonging to the first topic.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 개인화된 챗봇 서비스의 제공 방법은, 컴퓨팅 장치에 의하여 수행되는 방법에 있어서, 제1 사용자의 주제별 선호도를 얻는 단계 및 상기 제1 사용자의 주제 제시 발화 없이, 챗봇이 상기 제1 사용자의 주제별 선호도를 이용하여 주제 제시 발화를 생성하는 단계를 포함할 수 있다.According to another aspect of the present invention, there is provided a method of providing personalized chatbot services, the method comprising the steps of: obtaining a preference for a theme of a first user; Without the topic presentation, the chatbot may generate the topic presentation using the subject-specific preferences of the first user.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 개인화된 챗봇 서비스의 제공 방법은, 컴퓨팅 장치에 의하여 수행되는 방법에 있어서, 제1 사용자의 사용자 모델을 조회하되, 상기 사용자 모델은 하나 이상의 발화-응답 관계를 포함하는 단계, 상기 조회된 사용자 모델의 발화-응답 관계를 이용하여 표준 대화 플로우(dialog flow)를 조정하는 단계 및 상기 조정된 표준 대화 플로우에 기반하여 상기 제1 사용자에 대한 챗봇 서비스를 제공하는 단계를 포함할 수 있다.According to another aspect of the present invention, there is provided a method of providing a personalized chatbot service, the method comprising the steps of: retrieving a user model of a first user, The method comprising the steps of: including a speech-response relationship, adjusting a standard dialog flow using a spoken-response relationship of the searched user model, And providing a chat service.
상술한 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 챗봇 서비스 제공 서버는, 프로세서, 네트워크 인터페이스, 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(Load)하는 메모리 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은, 제1 사용자와 챗봇 간의 대화(dialog)를 구성하는 각각의 발화(utterance)를 주제(topic) 별로 구분하는 인스트럭션 및 제1 주제에 속하는 전체 발화의 분량을 이용하여 상기 제1 사용자의 상기 제1 주제에 대한 선호도를 결정하는 인스트럭션을 포함할 수 있다.According to an aspect of the present invention, there is provided a server for providing a service to a chattcom, including a processor, a network interface, a memory for loading a computer program executed by the processor, Wherein the computer program comprises instructions for dividing each utterance constituting a dialog between a first user and a chatbot by topic and an amount of total utterance belonging to the first topic, And may include instructions for determining a preference of the first user for the first subject.
상술한 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 챗봇 서비스 제공 서버는, 프로세서, 네트워크 인터페이스, 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(Load)하는 메모리 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은, 제1 사용자와 챗봇 간의 대화를 구성하는 각각의 발화를 주제 별로 구분하는 인스트럭션 및 제1 주제에 속하는 대화에서 기 설정된 발화-응답 관계가 추출된 횟수를 이용하여 상기 제1 사용자의 상기 제1 주제에 대한 선호도를 결정하는 인스트럭션을 포함할 수 있다.According to another aspect of the present invention, there is provided a server for providing a chat service, including a processor, a network interface, a memory for loading a computer program executed by the processor, and a storage for storing the computer program. Wherein the computer program further comprises instructions for distinguishing each utterance constituting a conversation between the first user and the chatbot by a subject and an instruction for identifying the utterance of the chatbot using the number of times the predetermined utterance- And may include instructions for determining a preference of the first user for the first subject.
상술한 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 챗봇 서비스 제공 서버는, 프로세서, 네트워크 인터페이스, 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(Load)하는 메모리 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은, 제1 사용자의 주제별 선호도를 얻는 인스트럭션 및 상기 제1 사용자의 주제 제시 발화 없이, 챗봇이 상기 제1 사용자의 주제별 선호도를 이용하여 주제 제시 발화를 생성하는 인스트럭션을 포함할 수 있다.According to another aspect of the present invention, there is provided a server for providing a chat service including a processor, a network interface, a memory for loading a computer program executed by the processor, Wherein the computer program includes instructions for obtaining a subject matter preference of a first user and instructions for generating a topic presentation utterance using the subject matter preference of the first user without the subject presenting presentation of the first user .
상술한 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 챗봇 서비스 제공 서버는, 프로세서, 네트워크 인터페이스, 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(Load)하는 메모리 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은, 제1 사용자의 사용자 모델을 조회하되, 상기 사용자 모델은 하나 이상의 발화-응답 관계를 포함하는 인스트럭션, 상기 조회된 사용자 모델의 발화-응답 관계를 이용하여 표준 대화 플로우(dialog flow)를 조정하는 인스트럭션 및 상기 조정된 표준 대화 플로우에 기반하여 상기 제1 사용자에 대한 챗봇 서비스를 제공하는 인스트럭션을 포함할 수 있다.According to another aspect of the present invention, there is provided a server for providing a chat service including a processor, a network interface, a memory for loading a computer program executed by the processor, Wherein the computer program comprises: querying a user model of a first user, the user model comprising instructions comprising one or more spoken-response relationships, a standard dialogue using the spoken- Instructions for adjusting the dialog flow, and instructions for providing a chat service to the first user based on the adjusted standard chat flow.
상술한 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 제1 사용자와 챗봇 간의 대화(dialog)를 구성하는 각각의 발화(utterance)를 주제(topic) 별로 구분하는 단계 및 제1 주제에 속하는 전체 발화의 분량을 이용하여 상기 제1 사용자의 상기 제1 주제에 대한 선호도를 결정하는 단계를 실행시키기 위하여, 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.According to an aspect of the present invention, there is provided a computer program for causing a computer to function as a topic, comprising a utterance of utterances constituting a dialog between a first user and a chatbot, And to determine the preference of the first user for the first subject using the amount of total speech pertaining to the first subject. ≪ RTI ID = 0.0 > [0002] < / RTI >
상술한 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 제1 사용자와 챗봇 간의 대화를 구성하는 각각의 발화를 주제 별로 구분하는 단계 및 제1 주제에 속하는 대화에서 기 설정된 발화-응답 관계가 추출된 횟수를 이용하여 상기 제1 사용자의 상기 제1 주제에 대한 선호도를 결정하는 단계를 실행시키기 위하여, 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.According to another aspect of the present invention, there is provided a computer program product comprising a computer readable medium storing a computer program for causing a computer to function as: Readable recording medium so as to execute the step of determining the preference of the first user for the first subject by using the number of times the predetermined speech-response relationship is extracted in the conversation to which it belongs.
상술한 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 제1 사용자의 주제별 선호도를 얻는 단계 및 상기 제1 사용자의 주제 제시 발화 없이, 챗봇이 상기 제1 사용자의 주제별 선호도를 이용하여 주제 제시 발화를 생성하는 단계를 실행시키기 위하여, 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.According to another aspect of the present invention, there is provided a computer program product, which is combined with a computing device to obtain a preference for a subject of a first user, And may be stored in a computer-readable recording medium so as to execute the step of generating a topic presentation utterance using the first user's subject preference.
상술한 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 제1 사용자의 사용자 모델을 조회하되, 상기 사용자 모델은 하나 이상의 발화-응답 관계를 포함하는 단계, 상기 조회된 사용자 모델의 발화-응답 관계를 이용하여 표준 대화 플로우(dialog flow)를 조정하는 단계 및 상기 조정된 표준 대화 플로우에 기반하여 상기 제1 사용자에 대한 챗봇 서비스를 제공하는 단계를 실행시키기 위하여, 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.According to another aspect of the present invention, there is provided a computer program product, coupled to a computing device, for querying a user model of a first user, the user model including one or more spoken- Coordinating a standard dialog flow using the spoken-response relationship of the searched user model, and providing a chattob service to the first user based on the coordinated standard conversation flow Readable < / RTI > recordable medium.
도 1은 본 발명이 적용될 수 있는 예시적인 챗봇 서비스 제공 시스템의 구성도이다.
도 2 내지 도 4는 본 발명의 제1 실시예에 따른 주제별 선호도 결정 방법을 수행하는 방법 및 그 방법을 수행하는 챗봇 서비스 서버의 구성 및 동작을 설명하기 위한 도면이다.
도 5 내지 도 8은 본 발명의 제2 실시예에 따른 주제별 선호도 결정 방법 및 그 방법을 수행하는 챗봇 서비스 서버의 구성 및 동작을 설명하기 위한 도면이다.
도 9 및 도 10은 본 발명의 제3 실시예에 따른 주제별 선호도 결정 방법 및 그 방법을 수행하는 챗봇 서비스 서버의 구성 및 동작을 설명하기 위한 도면이다.
도 11은 본 발명의 제1 실시예에 따른 개인화된 챗봇 서비스 제공 방법을 설명하기 위한 예시도이다.
도 12 및 도 13은 본 발명의 제2 실시예에 따른 개인화된 챗봇 서비스 제공 방법을 설명하기 위한 예시도이다.
도 14는 본 발명의 제1 실시예에 따른 주제별 선호도 결정 방법을 나타내는 흐름도이다.
도 15는 본 발명의 제2 실시예에 따른 주제별 선호도 결정 방법을 나타내는 흐름도이다.
도 16은 본 발명의 제1 실시예에 따른 개인화된 챗봇 서비스 제공 방법을 나타내는 흐름도이다.
도 17은 본 발명의 제2 실시예에 따른 개인화된 챗봇 서비스 제공 방법을 나타내는 흐름도이다.
도 18은 본 발명의 일 실시예에 따른 챗봇 서비스 서버의 하드웨어 구성도이다.FIG. 1 is a block diagram of an exemplary chatbot service providing system to which the present invention can be applied.
FIGS. 2 to 4 are views for explaining a method of performing a method for determining a subject preference according to a first embodiment of the present invention and a configuration and operation of a chattb service server for performing the method.
5 to 8 are views for explaining a method and a method for determining a preference degree according to a second embodiment of the present invention and a configuration and operation of a chattb service server for performing the method.
FIG. 9 and FIG. 10 are views for explaining a method and a method for determining a topic preference according to a third embodiment of the present invention, and a configuration and operation of a chat service server performing the method.
11 is a diagram illustrating an exemplary method for providing a personalized chatbot service according to the first embodiment of the present invention.
12 and 13 are diagrams for explaining a personalized chatbot service providing method according to a second embodiment of the present invention.
FIG. 14 is a flowchart illustrating a method for determining a theme preference according to the first embodiment of the present invention.
FIG. 15 is a flowchart illustrating a method for determining a theme preference according to a second embodiment of the present invention.
16 is a flowchart illustrating a method of providing a personalized chatbot service according to the first embodiment of the present invention.
17 is a flowchart illustrating a method for providing a personalized chatbot service according to a second embodiment of the present invention.
FIG. 18 is a hardware configuration diagram of a chattop service server according to an embodiment of the present invention.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention and the manner of achieving them will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. To fully disclose the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless defined otherwise, all terms (including technical and scientific terms) used herein may be used in a sense commonly understood by one of ordinary skill in the art to which this invention belongs. Also, commonly used predefined terms are not ideally or excessively interpreted unless explicitly defined otherwise. The terminology used herein is for the purpose of illustrating embodiments and is not intended to be limiting of the present invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.It is noted that the terms "comprises" and / or "comprising" used in the specification are intended to be inclusive in a manner similar to the components, steps, operations, and / Or additions.
본 명세서에 대한 설명에 앞서, 본 명세서에서 사용되는 몇몇 용어들에 대하여 명확하게 하기로 한다.Prior to the description of the present specification, some terms used in this specification will be clarified.
본 명세서에서, 발화(utterance)는 사용자와 챗봇 간의 대화를 구성하는 요소를 가리킨다. 사용자와 챗봇 간의 대화가 사용자측 메시지, 상기 메시지에 대한 응답으로 챗봇이 제공하는 액션(또는 응답)으로 구성된다고 할 때, 상기 발화는 상기 메시지와 상기 액션을 모두 포함하는 개념일 수 있다.In the present specification, utterance refers to an element constituting a dialog between a user and a chatbot. When a conversation between a user and a chatbot is composed of a user-side message and an action (or a response) provided by the chatbot in response to the message, the speech may be a concept including both the message and the action.
본 명세서에서, 화행(dialog act or speech act)이란 발화에 내재된 사용자의 일반적인 발화 의도를 의미한다. 예를 들어, 상기 화행의 유형은 행위의 처리를 요청하는 요청 화행, 정보를 제공하는 알림 화행, 정보를 요청하는 질문 화행 등을 포함할 수 있으나, 이에 한정되는 것은 아니며, 화행을 분류하는 방식은 다양할 수 있다.In this specification, a dialog act or speech act means a user's general utterance intention inherent in utterance. For example, the type of the speech may include, but is not limited to, a request for requesting processing of a behavior, a notification for providing information, a query for requesting information, and the like. It can be varied.
본 명세서에서, 주제(topic)란, 사용자의 구체적인 발화 의도를 의미한다. 즉, 상기 주제는 발화를 통해 사용자가 달성하고자 하는 구체적인 발화 목적이라는 점에서 상술한 화행과 차이가 있다. 상기 발화는 당해 기술 분야에서 의도(intent), 토픽(topic), 주행(main act) 등의 용어와 혼용되어 사용될 수 있다. 실시예에 따라, 하나의 주제가 하나의 사용자 의도에 대응될 수도 있고, 하나의 주제에 복수의 사용자 의도가 포함될 수도 있다.In this specification, a topic refers to a user's specific utterance intention. That is, the subject differs from the above-mentioned speech in that it is a specific utterance object that the user wants to achieve through utterance. The utterance may be used interchangeably with terms such as intent, topic, main act, and the like in the art. According to an embodiment, one theme may correspond to one user intention, and a plurality of user intentions may be included in one theme.
본 명세서에서, 챗봇(chatbot)이란, 사용자의 개입 없이 대화 서비스를 제공하는 지능형 에이전트(intelligent agent)를 의미한다. 상기 챗봇은 당해 기술 분야에서 지능형 대화 에이전트(intelligent dialog agent), 인공 비서(artificial assistant), 가상 비서(virtual assistant) 등의 용어와 혼용되어 사용될 수 있다.In the present specification, a chatbot refers to an intelligent agent that provides a conversation service without user intervention. The chatbot can be used in the art in combination with terms such as an intelligent dialog agent, an artificial assistant, a virtual assistant, and the like.
본 명세서에서, 인스트럭션(instruction)은 기능을 기준으로 묶인 일련의 명령어들로서 컴퓨터 프로그램의 구성 요소이자 프로세서에 의해 실행되는 것을 가리킨다.In this specification, an instruction is a set of instructions, which are grouped by function, indicating that they are executed by a processor and a component of a computer program.
이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명이 적용될 수 있는 예시적인 챗봇 서비스 제공 시스템의 구성도이다.FIG. 1 is a block diagram of an exemplary chatbot service providing system to which the present invention can be applied.
도 1을 참조하면, 상기 챗봇 서비스 제공 시스템은 사용자 단말(10a, 10b, 10c) 및 챗봇 서비스 서버(100)를 포함하도록 구성될 수 있다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일 뿐이며, 필요에 따라 일부 구성 요소가 추가되거나 삭제될 수 있음은 물론이다. 또한, 도 1에 도시된 챗봇 서비스 제공 시스템의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다. 이하, 상기 챗봇 서비스 제공 시스템의 각 구성요소에 대하여 설명하도록 한다.Referring to FIG. 1, the chat service providing system may be configured to include
상기 챗봇 서비스 제공 시스템에서, 사용자 단말(10a, 10b, 10c)은 챗봇 서비스를 이용하기 위해 사용자에 의해 이용되는 단말이다. 도 1에 도시된 바와 같이, 사용자 단말은 노트북, 데스크톱(desktop), 랩탑(laptop), 스마트폰(Smart Phone), 웨어러블 디바이스(wearable device) 등으로 구현될 수 있으나, 이에 국한되는 것은 아니며 컴퓨팅 기능 및 통신 기능이 구비된 임의의 컴퓨팅 장치로 구현될 수 있다.In the chattop service providing system, the
사용자는 사용자 단말(10a, 10b, 10c)에 탑재된 앱(app) 또는 웹(web) 기반으로 챗봇 서비스 서버(100)가 제공하는 챗봇 서비스를 제공받을 수 있다.The user can be provided with a chat service provided by the
상기 챗봇 서비스 제공 시스템에서, 챗봇 서비스 서버(100)는 챗봇 서비스를 제공하는 컴퓨팅 장치이다. 상기 컴퓨팅 장치는 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며, 컴퓨팅 기능 및 통신 기능이 구비된 임의의 컴퓨팅 장치로 구현될 수 있다. 다만, 다수의 사용자에게 원활한 챗봇 서비스를 제공하기 위해, 챗봇 서비스 서버(100)는 고성능의 서버 컴퓨팅 장치로 구현되는 것이 바람직할 수 있다.In the chat service providing system, the
본 발명의 실시예에 따르면, 챗봇 서비스 서버(100)는 사용자 별로 개인화된 챗봇 서비스를 제공할 수 있다. 예를 들어, 챗봇 서비스 서버(100)는 사용자가 제시하지 않은 대화 주제를 먼저 제시하거나, 미리 정의된 표준 대화 흐름을 조정하여 특정 사용자에게 특화된 대화 서비스를 제공할 수 있다. 본 실시예에 따르면, 사용자 별로 특화된 대화 서비스가 제공되는 바, 챗봇 서비스에 대한 사용자의 만족도가 제고될 수 있다. 본 실시예에 대한 자세한 설명은 도 11 내지 도 13, 도 16 및 도 17을 참조하여 후술하도록 한다.According to the embodiment of the present invention, the chat
또한, 챗봇 서비스 서버(100)는 사용자의 대화 로그(dialog log)에서 각각의 사용자에 대한 주제별 선호도를 결정할 수 있다. 주제별 선호도는 개인화된 챗봇 서비스를 제공하기 위해 이용될 수 있다. 본 실시예에 대한 자세한 설명은 도 2 내지 도 10, 도 14 및 도 15를 참조하여 후술하도록 한다.In addition, the
상기 챗봇 서비스 제공 시스템에서, 챗봇 서비스 서버(100)와 사용자 단말(10a, 10b, 10c)는 네트워크를 통해 통신할 수 있다. 상기 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 이동 통신망(mobile radio communication network), Wibro(Wireless Broadband Internet) 등과 같은 모든 종류의 유/무선 네트워크로 구현될 수 있다.In the chattop service providing system, the
지금까지, 도 1을 참조하여 본 발명이 적용될 수 있는 예시적인 챗봇 서비스 제공 시스템에 대하여 설명하였다. 다음으로, 챗봇 서비스 서버(100)의 구성 및 동작에 대하여 도 2 내지 도 13을 참조하여 설명하도록 한다.Up to now, an exemplary chat service providing system to which the present invention can be applied has been described with reference to FIG. Next, the configuration and operation of the
먼저, 도 2 내지 도 4를 참조하여, 본 발명의 제1 실시예에 따른 주제별 선호도 결정 방법 및 그 방법을 수행하는 챗봇 서비스 서버(100)의 구성 및 동작에 대하여 설명하도록 한다.First, with reference to FIG. 2 to FIG. 4, a method of determining a theme preference according to a first embodiment of the present invention and a configuration and operation of a
상기 제1 실시예에서, 챗봇 서비스 서버(100)는 발화 분량에 기초하여 각각의 사용자에 대한 주제별 선호도를 결정한다. 예를 들어, 도 2에 도시된 바와 같이, 제1 사용자의 대화 로그에 5개의 주제(T1, T2, T3, T4, T5)가 포함되어 있다고 가정하자. 이와 같은 경우, 챗봇 서비스 서버(100)는 각 대화 주제(T1, T2, T3, T4, T5)에 대한 발화 분량(20, 9, 17, 7, 5)을 연산하고, 연산된 발화 분량을 이용하여 상기 제1 사용자의 주제별 선호도(T1 > T3 > T2 > T4 > T5)를 결정할 수 있다. 상기 주제별 선호도는 실시예에 따라 상대적인 수치로 결정될 수도 있고, 절대적인 수치로 결정될 수도 있다. 참고로, 도 2에서, 원 도형은 대화 주제에 대응되고, 원 도형의 크기는 발화 분량에 비례하도록 도시되었다.In the first embodiment, the
상기 제1 실시예에서, 챗봇 서비스 서버(100)는 각 주제별 발화 내용으로부터 소정의 특징 데이터를 추출하고, 추출된 특징 데이터에 기초하여 주제별로 발화 분량을 연산한다. 보다 자세하게는, 제1 대화 주제에 속하는 전체 발화 중 사용자의 발화로부터 제1 특징 데이터가 추출되고, 챗봇의 발화로부터 제2 특징 데이터가 추출되며, 상기 제1 특징 데이터 및 상기 제2 특징 데이터 중 적어도 하나의 데이터를 기초로 발화 분량이 연산된다. 이때, 상기 제1 특징 데이터 및 상기 제2 특징 데이터는 상이한 기준에 의하여 선정된 것일 수 있다. 이하에서, 상기 제1 특징 데이터 및 상기 제2 특징 데이터에 대하여 설명하도록 한다.In the first embodiment, the
일 실시예에서, 상기 제1 특징 데이터는 질문 타입의 발화의 개수, 요청 타입의 발화의 개수 및 알림 타입의 발화의 개수의 합산치를 포함할 수 있다. 해당 발화의 타입은 화행 분석을 통해 결정될 수 있다. 상기 화행 분석은 당해 기술 분야의 종사자에게 자명한 사항인 바, 이에 대한 설명은 생략하도록 한다.In one embodiment, the first feature data may include a sum of the number of utterances of the question type, the number of utterances of the request type, and the number of utterances of the notification type. The type of the utterance can be determined through an analysis of the sentence. The above-described analysis is obvious to those skilled in the art, and a description thereof will be omitted.
일 실시예에서, 상기 제1 특징 데이터는 질문 타입의 발화에 포함된 개체명(entity)의 개수, 요청 타입의 발화에 포함된 개체명의 개수 및 알림 타입의 발화에 포함된 개체명의 개수의 합산치를 포함할 수 있다. 개체명은 예를 들어 개체명 인식(named entity recognition; NER) 알고리즘을 통해 결정될 수 있다. 상기 개체명 인식은 당해 기술 분야의 종사자에게 이미 자명한 사항인 바, 이에 대한 설명은 생략하도록 한다.In one embodiment, the first feature data is a sum of the number of entities included in the query type's utterance, the number of entity names included in the request type's utterance, and the number of entity names included in the utterance of the notification type . The entity name may be determined, for example, by a named entity recognition (NER) algorithm. The identification of the entity name is already obvious to those skilled in the art, and a description thereof will be omitted.
일 실시예에서, 상기 제1 특징 데이터는 감정 표시어의 개수를 포함할 수 있다. 상기 감정 표시어는 예를 들어 미리 정의된 감성 사전에 기초하여 해당 발화에서 추출되거나, 형태소 분석을 통해 추출될 수 있으나, 어떠한 방식으로 추출되더라도 무방하다.In one embodiment, the first feature data may comprise the number of emotion indicator words. The emotional display word may be extracted from the corresponding utterance or extracted through morphological analysis based on a predefined emotional dictionary, but may be extracted in any manner.
일 실시예에서, 상기 제2 특징 데이터는 사용자의 답변이 긍정적이었던 챗봇의 발화에 포함된 개체명의 개수를 포함할 수 있다. 사용자의 답변이 긍정인지 여부는 감성 분석(sentiment analysis)을 통해 결정될 수 있다. 상기 감성 분석은 당해 기술 분야의 종사자에게 자명한 사항인 바, 이에 대한 설명은 생략하도록 한다.In one embodiment, the second feature data may include the number of entity names included in the chatbot's speech in which the user's answer was positive. Whether the user's answer is positive can be determined through sentiment analysis. The emotional analysis is obvious to those skilled in the art, and a description thereof will be omitted.
일 실시예에서, 상기 제2 특징 데이터는 알림 타입의 발화에 포함된 개체명의 개수를 포함할 수 있다.In one embodiment, the second feature data may include the number of entity names included in the notification type utterance.
챗봇 서비스 서버(100)는 전술한 실시예들의 조합에 따라 사용자와 챗봇 간의 발화에서 특징 데이터를 추출하고, 상기 특징 데이터를 이용하여 주제별 발화 분량을 연산할 수 있다.The
보다 이해의 편의를 제공하기 위해, 도 3에 도시된 예를 참조하여 상기 제1 실시예에 따른 주제별 선호도 결정 방법에 대하여 부연 설명하도록 한다.In order to provide a more convenient understanding, a method for determining the subject preference according to the first embodiment will be described in detail with reference to the example shown in FIG.
도 3은 제1 주제("카드 추천")에 대한 제1 발화(10)와 제2 주제("개인 정보 변경")에 대한 제2 발화(20)에 대한 선호도를 결정하는 예를 도시하고 있다. 특히, 도 3은 사용자 측 발화에서 결정된 제1 특징 데이터와 챗봇 측 발화에서 결정된 제2 특징 데이터를 모두 이용하여 주제별 선호도를 결정하는 것을 예로써 도시하고 있다.3 shows an example of determining preferences for a
도 3을 참조하면, 제1 발화(10)에서 추출된 특징 데이터가 테이블(30a)에 표시되어 있다. 제1 발화(10)에 대한 특징 데이터 추출 과정에 대하여 살펴보면, 사용자측 발화 중에서 "카드 추천 받고 싶어요", "쇼핑할인이요", "일반 카드요"는 각각 요청, 알림, 알림 타입이므로, 특징 데이터(U1)는 "3"으로 추출된다. 유사하게, 특징 데이터(U3)는 사용자측 발화에 대한 개체명 인식 결과에 따라 "3"으로 추출되고, 특징 데이터(C2)는 챗봇측 발화에 대한 화행 분석 결과에 따라 "1"로 추출된다. 이를 합산하면, 제1 발화(10)에 대한 발화 분량은 "7"로 연산될 수 있다.Referring to FIG. 3, the feature data extracted in the
제2 발화(20)에서 추출된 특징 데이터는 테이블(40a)에 표시되어 있다. 특징 데이터의 추출 방식은 제1 발화(10)와 동일하므로, 이에 대한 설명은 생략하도록 한다. 추출된 특징 데이터를 합산하면, 제2 발화(20)에 대한 발화 분량은 "3"으로 연산될 수 있다.The feature data extracted from the
이에 따라, 제1 사용자의 경우, 제1 주제("카드 추천")의 선호도("7")가 제2 주제("개인 정보 변경")의 선호도("3")보다 높은 값으로 결정된다.Accordingly, in the case of the first user, the preference ("7") of the first subject ("card recommendation") is determined to be higher than the preference ("3") of the second subject ("personal information change").
상기 제1 실시예에 따른 주제별 선호도 결정 방법을 수행하는 챗봇 서비스 서버(100)의 구성은 도 4에 도시되어 있다.FIG. 4 shows a configuration of a
도 4는 제1 실시예에 따른 챗봇 서비스 서버(100)를 나타내는 블록도이다.4 is a block diagram showing a chat
도 4를 참조하면, 챗봇 서비스 서버(100)는 주제 전환 판정부(104), 주제별 발화 그룹핑부(106), 화행 분석부(108), 감성 분석부(110), 개체명 인식부(112), 주제별 분량 산정부(114), 주제별 선호도 결정부(116) 및 챗봇 엔진(120)을 포함하도록 구성될 수 있다. 다만, 도 4에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 4에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 또한, 도 4에 도시된 챗봇 서비스 서버의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다.4, the
각 구성 요소를 살펴보면, 주제 전환 판정부(104)는 대화 로그(102)에 저장된 각 사용자에 대한 대화 데이터에서 주제 전환 여부를 판정한다.Referring to each component, the conversation switching
주제별 발화 그룹핑부(106)는 주제 전환 판정부(104)의 판정 결과에 따라 각각의 발화를 주제별로 그룹핑한다.The topic-based
화행 분석부(108)는 각각의 발화에 대한 화행 분석을 수행한다. 화행 분석을 통해 각각의 발화의 타입(e.g. 질문, 요청, 알림 등)이 결정될 수 있다. 상기 화행 분석을 위해 어떠한 화행 분석 알고리즘이 이용되더라도 무방하다.The
감성 분석부(110)는 각각의 발화에 대한 감성 분석을 수행한다. 상기 감성 분석 과정에서, 감성 분석부(110)는 각 발화에 포함된 감성 표시어를 추출할 수 있다. 또한, 감성 분석부(110)는 각 발화에 대한 감성 레이블(e.g. 긍정, 부정)을 결정할 수 있다. 상기 감성 분석을 위해 어떠한 감성 분석 알고리즘이 이용되더라도 무방하다.The
개체명 인식부(112)는 각각의 발화에 포함된 개체명을 인식한다. 상기 개체명 인식을 위해 어떠한 개체명 인식 알고리즘이 이용되더라도 무방하다.The entity
주제별 분량 산정부(114)는 화행 분석부(108), 감성 분석부(110), 개체명 인식부(112)의 결과 중 적어도 하나의 결과를 이용하여 대화 주제별로 발화 분량을 산정한다. 구체적으로, 주제별 분량 산정부(1140)는 화행 분석부(108), 감성 분석부(110), 개체명 인식부(112)의 결과를 이용하여 각 주제별로 발화 분량과 연관된 특징 데이터를 추출하고, 상기 특징 데이터에 기초하여 발화 분량을 산정한다. 상기 특징 데이터의 예는 전술한 바와 같으므로, 이에 대한 설명은 생략하도록 한다.The subject-specific amount-of-
주제별 선호도 결정부(116)는 주제별 발화 분량을 기초로 각 사용자에 대한 주제별 선호도를 결정한다. 발화 분량은 해당 주제에 대한 사용자의 관심을 반영하는 척도이므로, 상기 발화 분량이 큰 값일 수록 해당 주제에 대한 선호도는 높은 값으로 결정될 수 있다.The thematic
주제별 선호도 결정부(116)는 사용자 각각에 대하여 주제별 선호도를 결정하고, 이를 기초로 사용자 모델(118)를 구축할 수 있다. 사용자 모델(118)은 각각의 사용자에 대한 주제별 선호도 정보를 포함하는 모델로, 챗봇 엔진(120)이 개인화된 챗봇 서비스를 제공하기 위해 이용될 수 있다.The theme
챗봇 엔진(120)은 전반적인 대화 처리 기능을 제공한다.The
챗봇 엔진(120)은 사용자 모델(118)에 기초하여 사용자별로 특화된 챗봇 서비스를 제공할 수 있다. 이에 대한 자세한 설명은 도 11을 참조하여 후술하도록 한다.The
도 4, 후술할 도 8 및 도 10에 도시된 챗봇 서비스 서버(100)의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.Each component of the
지금까지, 도 2 내지 도 4를 참조하여 본 발명의 제1 실시예에 따른 주제별 선호도 결정 방법과 그 방법을 수행하는 챗봇 서비스 서버(100)의 구성 및 동작에 대하여 설명하였다. 상기 제1 실시예에 따르면, 해당 사용자의 발화 분량에 기초하여 주제별 선호도가 결정될 수 있다. 상기 발화 분량은 특정 주제에 대한 사용자의 관심을 가리키는 척도이므로, 본 실시예에 따르면, 사람의 개입 없이도 주제별 선호도가 정확하게 결정될 수 있다.2 to 4, a description has been given of a method for determining a topic preference according to the first embodiment of the present invention and a configuration and operation of the
이하에서는, 도 5 내지 도 8을 참조하여 본 발명의 제2 실시예에 따른 주제별 선호도 결정 방법 및 그 방법을 수행하는 챗봇 서비스 서버(100)의 구성 및 동작에 대하여 설명하도록 한다.Hereinafter, a method and a method for determining a theme preference according to a second embodiment of the present invention will be described with reference to FIGS. 5 to 8. FIG.
상기 제2 실시예에 따른 주제별 선호도 결정 방법은 발화-응답 관계에 기초하여 주제별 선호도를 결정한다. 예를 들어, 도 5에 도시된 바와 같이, 제1 사용자의 대화 로그에 5개의 대화 주제(T1, T2, T3, T4, T5)가 포함되어 있다고 가정하자. 이와 같은 경우, 챗봇 서비스 서버(100)는 각 대화 주제(T1, T2, T3, T4, T5)에 대한 발화에서 기 설정된 발화-응답 관계를 추출하고, 추출된 개수(10, 4, 8, 2, 1)를 연산한다. 또한, 챗봇 서비스 서버(100)는 연산된 개수에 기초하여 대화 주제별 선호도(T1 > T3 > T2 > T4 > T5)를 결정할 수 있다.The method for determining the subject preference according to the second embodiment determines the preference for the subject based on the utterance-response relationship. For example, suppose that the conversation log of the first user includes five conversation subjects T1, T2, T3, T4, and T5, as shown in Fig. In this case, the
기 설정된 발화-응답 관계의 예는 도 6에 도시되어 있다. 도 6에 도시된 발화-응답 관계 테이블(50)과 같이, 발화-응답 관계는 각 주제 별로 미리 설정되어 있을 수 있다. 이때, 상기 발화-응답 관계는 해당 주제와 밀접한 관련이 있는 발화의 쌍으로 결정되는 것이 바람직할 수 있다.An example of a predetermined speech-response relationship is shown in Fig. As in the utterance-response relationship table 50 shown in Fig. 6, the utterance-response relationship may be preset for each subject. In this case, it is preferable that the ignition-response relationship is determined as a pair of utterances closely related to the subject.
본 발명의 실시예들에 따르면, 발화-응답 관계 테이블은 챗봇 서비스 서버(100)에 의해 자동으로 구축될 수 있다.According to embodiments of the present invention, the utterance-response relationship table can be automatically constructed by the
일 실시예에서, 챗봇 서비스 서버(100)는 전체 사용자의 대화 로그에서 주제 별 발화-응답 관계를 추출하고, 추출된 발화-응답 관계를 도 6에 도시된 바와 같은 테이블로 구축할 수 있다. 이때, 챗봇 서비스 서버(100)는 발화-응답 관계의 빈도, 발화-응답 관계에 나타나는 사용자의 감성(e.g. 긍정 감성) 등에 기초하여 발화-응답 관계를 추출할 수 있다.In one embodiment, the
일 실시예에서, 챗봇 서비스 서버(100)는 특정 사용자의 대화 로그에서 주제별 발화-응답 관계를 추출하고, 추출된 발화-응답 관계를 도 6에 도시된 바와 같은 테이블로 구축할 수 있다. 이때, 챗봇 서비스 서버(100)는 발화-응답 관계의 빈도, 발화-응답 관계에 나타나는 사용자의 감성(e.g. 긍정 감성) 등에 기초하여 발화-응답 관계를 추출할 수 있다. 본 실시예에 따르면, 사용자 별로 발화-응답 관계 테이블이 구축되고, 챗봇 서비스 서버(100)는 해당 사용자의 발화-응답 관계 테이블을 참조하여 해당 사용자의 발화에서 기 설정된 발화-응답 관계를 추출할 수 있다.In one embodiment, the
보다 이해의 편의를 제공하기 위해, 도 7에 도시된 예를 참조하여 상기 제2 실시예에 따른 주제별 선호도 결정 방법에 대하여 부연 설명하도록 한다.In order to provide more convenience of understanding, the method for determining the subject preference according to the second embodiment will be described in detail with reference to the example shown in FIG.
도 7은 도 3과 동일한 발화 내용(10, 20)에서 추출된 발화-응답 관계의 개수를 기초로 주제별 선호도를 결정하는 예를 도시하고 있다.FIG. 7 shows an example of determining preferences by subject based on the number of utterance-response relationships extracted from the
도 7을 참조하면, 제1 발화 내용(10)에서 탐지된 발화-응답 관계는 테이블(30b)에 표시되어 있다. 테이블(30b)에 표시된 바와 같이, 제1 주제("카드 추천")에 대한 제1 발화 내용(10)에서 혜택-쇼핑 관계가 "1회" 추출되고, 카드종류-일반 관계가 "1회" 추출됨에 따라, 제1 발화 내용(10)에서 추출된 발화-응답 관계의 총 개수는 "2회"로 연산된다.Referring to Fig. 7, the speech-response relationship detected in the
위와 유사한 방식으로 발화-응답 관계를 추출하면, 제2 주제("개인 정보 변경")에 대한 제2 발화 내용(20)에서 추출된 발화-응답 관계의 총 개수는 "0회"로 연산된다.When the utterance-response relationship is extracted in a similar manner as described above, the total number of utterance-response relationships extracted from the
이에 따라, 제1 주제("카드 추천")에 대한 선호도("2")는 제2 주제("개인 정보 변경")에 대한 선호도("0")보다 높은 값으로 결정될 수 있다.Accordingly, the preference ("2") for the first theme ("card recommendation") can be determined to be a value higher than the preference ("0") for the second theme ("personal information change").
상기 제2 실시예에 따른 주제별 선호도 결정 방법을 수행하는 챗봇 서비스 서버(100)의 구성은 도 8에 도시되어 있다. 중복된 설명을 배제하기 위해, 도 8에 도시된 구성 요소 중에서 도 4에 도시된 챗봇 서비스 서버(100)와 동일 또는 유사한 구성 요소에 대한 설명은 생략하도록 한다.FIG. 8 shows a configuration of a
도 8은 본 발명의 제2 실시예에 따른 챗봇 서비스 서버(100)를 나타내는 블록도이다.FIG. 8 is a block diagram illustrating a chat
도 8을 참조하면, 챗봇 서비스 서버(100)는 주제 전환 판정부(104), 주제별 발화 그룹핑부(106), 개체명 인식부(112), 발화-응답 관계 추출부(122), 주제별 선호도 결정부(124) 및 챗봇 엔진(120)을 포함하도록 구성될 수 있다.Referring to FIG. 8, the
발화-응답 관계 추출부(122)는 사용자와 챗봇 간 대화에서 인식된 개체명을 이용하여 발화-응답 관계를 추출한다. 예를 들어, 발화-응답 관계 추출부(122)는 기 설정된 발화-응답 관계 테이블과 개체명 인식 결과를 이용하여 주제별 발화 내용에서 발화-응답 관계를 추출할 수 있다.The utterance-response
주제별 선호도 결정부(124)는 발화-응답 관계의 개수를 기초로 주제별 선호도를 결정한다. 이에 대한 설명은 전술한 바와 같으므로 생략하도록 한다. 상기 제1 실시예와 마찬가지로, 주제별 선호도 결정부(124)에 의해 결정된 주제별 선호도는 사용자 모델(118)에 저장된다. 저장된 주제별 선호도 정보는 개인화된 챗봇 서비스를 제공하기 위해 챗봇 엔진(120)에 의해 이용될 수 있다.The subject-specific
챗봇 엔진(120)은 기 설정된 사용자별 발화-응답 관계를 이용하여 표준 대화 플로우를 조정함으로써, 해당 사용자에 대한 개인화된 챗봇 서비스를 제공할 수 있다. 이에 대한 설명은 도 12 및 도 13을 참조하여 후술하도록 한다.The
지금까지, 도 5 내지 도 8을 참조하여 본 발명의 제2 실시예에 따른 주제별 선호도 결정 방법과 그 방법을 수행하는 챗봇 서비스 서버(100)의 구성 및 동작에 대하여 설명하였다. 상기 제2 실시예에 따르면, 기 설정된 발화-응답 관계가 탐지된 개수에 기초하여 주제별 선호도가 결정된다. 상기 발화-응답 관계는 해당 주제와 밀접한 관련이 있는 발화-응답 쌍으로 설정될 것이므로, 주제와 발화 간의 관련성에 기초하여 보다 정확하게 주제별 선호도가 결정될 수 있다. 예를 들어, 상기 제1 실시예에 따르면, 주제와 관련되지 않은 발화들이 발화 분량에 기여함으로써 주제별 선호도가 부정확한 값으로 결정될 수도 있다. 그러나, 상기 제2 실시예에 따르면, 상기와 같은 문제가 미연에 방지될 수 있다.5 to 8, a description has been given of a method for determining a topic preference according to the second embodiment of the present invention and a configuration and operation of the
이하에서는, 도 9 및 도 10을 참조하여 본 발명의 제3 실시예에 따른 주제도 결정 방법 및 그 방법을 수행하는 챗봇 서비스 서버(100)의 구성 및 동작에 대하여 설명하도록 한다.Hereinafter, with reference to FIG. 9 and FIG. 10, a description will be made of a method of determining a motif according to a third embodiment of the present invention and a configuration and operation of a
상기 제3 실시예에 따른 주제도 결정 방법은 발화 분량 및 발화-응답 관계의 개수를 이용하여 주제별 선호도를 결정한다. 이에 대한 예는 도 9에 도시되어 있다. 도 9에 대한 설명은 도 3 및 도 7의 설명 부분을 참조하도록 한다. 참고로, 도 9에서 발화 분량을 기초로 결정되는 제1 주제별 선호도와 발화-응답 관계의 개수를 기초로 결정되는 제2 주제별 선호도의 합산 값으로 최종 주제별 선호도가 결정되는 것을 예로써 도시하고 있으나, 가중치 합(weighted sum) 등의 기법을 이용하여 상기 최종 주제별 선호도가 결정될 수 있음은 물론이다.The subject matter determination method according to the third embodiment determines the subject matter preference using the number of utterances and the number of utterance-response relationships. An example of this is shown in Fig. The description of FIG. 9 will be made with reference to the explanations of FIGS. 3 and 7. FIG. For reference, FIG. 9 shows an example in which the final subject preference is determined by the sum of the first subject preference determined based on the utterance amount and the second subject preference determined based on the number of utterance-response relationships. However, The weighted sum or the like may be used to determine the preference according to the final theme.
상기 제3 실시예에 따른 주제별 선호도 결정 방법을 수행하는 챗봇 서비스 서버(100)의 구성은 도 10에 도시되어 있다. 각 구성요소에 대한 설명은 도 4 및 도 8에 대한 설명 부분을 참조하도록 한다.FIG. 10 shows a configuration of a
지금까지, 도 2 내지 도 10을 참조하여 본 발명의 몇몇 실시예에 따른 주제별 선호도 결정 방법 및 그 방법을 수행하는 챗봇 서비스 서버(100)의 구성에 대하여 설명하였다. 이하에서는, 도 11 내지 도 13을 참조하여, 챗봇 서비스 서버(100)가, 정확하게는 챗봇 엔진(120)이, 개인화된 챗봇 서비스를 제공하는 방법에 대하여 설명하도록 한다.Up to now, a method for determining a topic preference according to some embodiments of the present invention and a configuration of a
도 11은 본 발명의 제1 실시예에 따른 개인화된 챗봇 서비스 제공 방법을 설명하기 위한 예시도이다.11 is a diagram illustrating an exemplary method for providing a personalized chatbot service according to the first embodiment of the present invention.
상기 제1 실시예에 따른 개인화된 챗봇 서비스 제공 방법은 전술한 몇몇 실시예에 따라 산출된 주제별 선호도를 이용하여 주제 제시 발화를 사용자에게 제공한다. 이에 대한 예는 도 11에 도시되어 있다.The personalized chatbot service providing method according to the first embodiment provides the user with a topic presentation utterance using the calculated topic preference according to the above-described embodiments. An example of this is shown in Fig.
도 11에 도시된 대화 예제(60)를 참조하면, 제1 사용자의 대화 요청에 응답하여 챗봇 서비스 서버(100)는 제1 사용자를 식별한다. 다음으로, 챗봇 서비스 서버(100)는 상기 제1 사용자에 대한 사용자 모델(118)로부터 상기 제1 사용자의 주제별 선호도를 획득하고, 획득된 주제별 선호도에 기초하여 상기 제1 사용자가 주제를 제시하기 전에 주제 제시 발화를 제공할 수 있다. 특히, 도 11은 챗봇을 통해 "야식 주문"에 대한 주제 제시 발화를 제공하는 것을 예로써 도시하고 있다.Referring to the conversation example 60 shown in FIG. 11, the
한편, 챗봇 서비스 서버(100)가 제공한 제1 주제에 대한 주제 제시 발화에 대하여 사용자의 부정적인 반응이 감지되는 경우가 있을 수 있다. 상기 부정적인 반응은 예를 들어 상기 주제 제시 발화에 대응되는 사용자의 발화에 대한 감성 분석을 통해 감지될 수 있다.On the other hand, there may be a case where a user's negative reaction is detected with respect to the topic presentation utterance about the first subject provided by the
위와 같은 경우, 상기 부정 반응에 응답하여, 챗봇 서비스 서버(100)는 상기 제1 주제가 아닌 제2 주제에 대한 주제 제시 발화를 제공하도록 동작할 수 있다. 이때, 상기 제2 주제는 상기 제1 주제보다 낮은 선호도를 갖는 주제일 수 있다. 또는 상기 제2 주제는 랜덤하게 선정된 주제일 수도 있다. 실시예에 따라, 챗봇 서비스 서버(100)는 사용자에게 주제를 질의하는 발화를 생성하여 제공할 수도 있다. 예를 들어, 사용자의 격한 부정 반응이 감지된 경우, 챗봇 서비스 서버(100)는 더 이상의 주제 제시를 중지하고 사용자에게 관심 주제를 질의하도록 동작할 수 있다.In such a case, in response to the negative response, the
전술한 예에서, 챗봇 서비스 서버(100)는 사용자의 부정 발화에 응답하여, 상기 제1 주제에 대한 선호도를 더 낮은 값으로 조정할 수 있다. 또한, 상기 제1 주제 또는 상기 제2 주제에 대하여 긍정적인 반응이 감지된 경우, 챗봇 서비스 서버(100)는 상기 제1 주제 또는 상기 제2 주제에 대한 선호도를 더 높은 값으로 조정할 수 있다.In the above-described example, the chat
한편, 상기 제1 실시예에서, 사용자의 발화에서 사용자의 관심 주제에 관한 단서가 탐지되는 경우가 있을 수 있다. 예를 들어, 사용자가 "배고파"라는 발화를 하는 경우, 음식에 관한 주제(e.g. 음식 추천 문의, 음식점 추천 문의 등)가 사용자의 관심 주제일 확률이 높다. 다른 예를 들어, 사용자가 "심심해"라는 발화를 하는 경우, 놀이에 관한 주제(e.g. 영화 추천 문의 등)가 사용자의 관심 주제일 확률이 높다. 이와 같은 경우, 챗봇 서비스 서버(100)는 상기 탐지된 단서를 이용하여 복수의 후보 주제를 선정하고, 상기 복수의 후보 주제 중 해당 사용자의 주제별 선호도를 이용하여 선정된 주제에 대한 주제 제시 발화를 제공할 수 있다.On the other hand, in the first embodiment, there may be a case where a clue about the subject of interest of the user is detected in the user utterance. For example, when a user speaks "hungry", the topic of food (eg, food recommendation, restaurant recommendation, etc.) is likely to be a topic of interest to the user. As another example, when a user utters "boredom", the topic of play (eg, movie recommendation inquiry) is likely to be a topic of interest to the user. In this case, the
지금까지, 도 11을 참조하여 본 발명의 제1 실시예에 따른 개인화된 챗봇 서비스 제공 방법에 대하여 설명하였다. 상술한 방법에 따르면, 사용자의 주제별 선호도에 기초하여 액티브(active)하고 보다 지능적인 챗봇 서비스가 제공될 수 있으며, 사용자의 주제 제시 없이도 관심 주제에 대한 대화가 수행될 수 있는 바 챗봇 서비스에 대한 사용자의 만족도 및 편의성이 향상될 수 있다.The personalized chatbot service providing method according to the first embodiment of the present invention has been described with reference to FIG. According to the above-described method, an active and more intelligent chatbot service can be provided based on the user's preference according to the topic, and conversation about a topic of interest can be performed without presenting the topic of the user, The satisfaction and the convenience of the user can be improved.
이하에서는, 도 12 및 도 13을 참조하여 본 발명의 제2 실시예에 따른 개인화된 챗봇 서비스 제공 방법에 대하여 설명하도록 한다.Hereinafter, a personalized chat service providing method according to a second embodiment of the present invention will be described with reference to FIGS. 12 and 13. FIG.
상기 제2 실시예에 따른 개인화된 챗봇 서비스 제공 방법은 해당 사용자의 모델에 포함된 발화-응답 관계에 기초하여 개인화된 챗봇 서비스를 제공한다. 이에 대한 예는 도 12 및 도 13에 도시되어 있다.The personalized chatbot service providing method according to the second embodiment provides a personalized chatbot service based on the speech-response relationship included in the model of the user. An example of this is shown in Figs. 12 and 13. Fig.
먼저, 도 12는 기 정의된 표준 대화 플로우에 따라 챗봇 서비스가 제공되는 예를 도시하고 있다. 구체적으로, 도 12는 "카드 추천"에 대한 표준 대화 플로우(80a)에 따라 제1 사용자에게 챗봇 서비스가 제공되는 대화 예제(70a)를 도시하고 있다.12 shows an example in which a chat service is provided according to a predefined standard conversation flow. Specifically, FIG. 12 illustrates a dialog example 70a in which a first user is provided with a chat service in accordance with a
도 12에 도시된 대화 예제(70a)를 참조하면, "카드 추천"에 대한 표준 대화 플로우(80a)에 기초하여 정의된 흐름대로 대화가 진행되는 것을 확인할 수 있다.Referring to the conversation example 70a shown in FIG. 12, it can be seen that the conversation proceeds according to the defined flow based on the
도 13은 도 12와 동일한 주제에 대하여 조정된 표준 대화 플로우에 따라 대화가 진행되는 예를 도시한다.FIG. 13 shows an example in which conversation proceeds according to a standard conversation flow that has been adjusted for the same subject as in FIG.
도 13에 도시된 대화 예제(70b)를 참조하면, 챗봇 서비스 서버(100)는 제1 사용자의 사용자 모델(118)에 저장된 발화-응답 관계(71a, 73a)를 이용하여 표준 대화 플로우를 조정할 수 있다. 구체적으로, 표준 대화 플로우(80b)가 제1 의도("카드 추천")에서 제2 의도("혜택")로의 전환 및 상기 제2 의도("혜택")에서 제3 의도("쇼핑|주유|커피")로의 전환(71b)을 포함하고, 사용자 모델(118)의 발화-응답 관계(71a, 73a) 중에, 발화가 제2 의도("혜택")이고 그 응답이 제3 의도("쇼핑")인 관계(71a)가 포함되는 경우, 챗봇 서비스 서버(100)는 표준 대화 플로우가 상기 제1 의도("카드 추천")에서 상기 제3 의도("쇼핑")로 곧바로 전환(72)되도록 조정할 수 있다. 이에 따라, 대화 예제(70b)에 예시된 바와 같이, 챗봇 서비스 서버(100)는 바로 "쇼핑 혜택을 원하세요"라는 발화를 상기 제1 사용자에게 제공할 수 있다.Referring to the dialog example 70b shown in FIG. 13, the
지금까지, 도 12 및 도 13을 참조하여 본 발명의 제2 실시예에 따른 개인화된 챗봇 서비스 제공 방법의 예에 대하여 설명하였다. 상술한 바에 따르면, 사용자별로 정의된 발화-응답 관계에 기초하여, 사용자의 의도를 신속하게 파악하고 맞춤형 챗봇 서비스가 제공될 수 있다. 이에 따라, 효율적인 대화 처리가 가능하며, 챗봇 서비스에 대한 사용자의 만족도는 제고될 수 있다.Up to now, an example of a method for providing personalized chatbot service according to the second embodiment of the present invention has been described with reference to FIG. 12 and FIG. According to the above description, based on the utterance-response relationship defined for each user, a user's intention can be quickly grasped and a customized chatbot service can be provided. Accordingly, efficient conversation processing is possible, and the user's satisfaction with the chat service can be enhanced.
이하에서는, 보다 이해의 편의를 제공하기 위해, 도 14 내지 도 17에 도시된 흐름도를 참조하여 본 발명의 몇몇 실시예에 따른 주제별 선호도 결정 방법과 개인화된 챗봇 서비스 제공 방법에 대하여 간략하게 설명하도록 한다.Hereinafter, a method for determining a subject preference and a method for providing a personalized chat service according to some embodiments of the present invention will be briefly described with reference to flowcharts shown in FIGS. 14 to 17 .
이하에서 후술될 방법의 각 단계는, 컴퓨팅 장치에 의해 수행될 수 있다. 예를 들어, 상기 컴퓨팅 장치는 챗봇 서비스 서버(100)일 수 있다. 다만, 설명의 편의를 위해, 상기 방법에 포함되는 각 단계의 동작 주체는 그 기재가 생략될 수도 있다. 또한, 후술될 방법의 각 단계는 프로세서에 의해 실행되는 컴퓨터 프로그램의 인스트럭션으로 구현될 수 있다.Each step of the method described below may be performed by a computing device. For example, the computing device may be a
먼저, 도 14 및 도 15를 참조하여 본 발명의 몇몇 실시예에 따른 주제별 선호도 결정 방법에 대하여 설명하도록 한다.14 and 15, a method for determining a theme preference according to some embodiments of the present invention will be described.
도 14는 본 발명의 제1 실시예에 따른 주제별 선호도 결정 방법을 나타내는 흐름도이다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일 뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.FIG. 14 is a flowchart illustrating a method for determining a theme preference according to the first embodiment of the present invention. However, it should be understood that the present invention is not limited thereto and that some steps may be added or deleted as needed.
도 14를 참조하면, 단계(S101)에서, 챗봇 서비스 서버(100)는 대화 로그에 포함된 발화 내용을 주제별로 그룹핑한다.Referring to FIG. 14, in step S101, the
단계(S103)에서, 챗봇 서비스 서버(100)는 주제별 발화 내용에서 분량 관련 특징 데이터를 산정한다(S103). 상기 특징 데이터의 예에 대해서는 전술한 설명 내용을 참조하도록 한다.In step S103, the
단계(S105)에서, 챗봇 서비스 서버(100)는 산정된 분량 관련 특징 데이터에 기초하여 주제별 선호도를 결정한다. 예를 들어, 도 3을 참조하여 설명한 바와 같이, 발화 분량이 많은 주제의 선호도는 높은 값으로 결정될 수 있다.In step S105, the
지금까지, 도 14를 참조하여 제1 실시예에 따른 주제별 선호도 결정 방법에 대하여 설명하였다. 상술한 바에 따르면, 주제에 대한 발화의 양적인 측면을 고려하여 주제별 선호도가 결정된다. 발화의 분량은 해당 주제에 대한 사용자의 관심을 반영하는 주요 척도이므로, 사람의 개입 없이도 주제별 선호도가 정확하게 결정될 수 있다.Up to now, a method for determining a theme preference according to the first embodiment has been described with reference to FIG. According to the above, the topic preference is determined in consideration of the quantitative aspect of the utterance of the subject. The amount of utterance is a key measure that reflects the user's interest in the subject, so subject matter preferences can be accurately determined without human intervention.
도 15는 본 발명의 제2 실시예에 따른 주제별 선호도 결정 방법을 나타내는 흐름도이다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일 뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.FIG. 15 is a flowchart illustrating a method for determining a theme preference according to a second embodiment of the present invention. However, it should be understood that the present invention is not limited thereto and that some steps may be added or deleted as needed.
도 15를 참조하면, 단계(S101)에서, 챗봇 서비스 서버(100)는 대화 로그에 포함된 발화 내용을 주제별로 그룹핑한다.Referring to FIG. 15, in step S101, the
단계(S104)에서, 챗봇 서비스 서버(100)는 주제별 발화 내용에서 미리 설정된 발화-응답 관계를 추출한다. 실시예에 따라, 상기 미리 설정된 발화-응답 관계는 해당 사용자의 대화 로그를 기초로 설정될 수 있고, 복수의 사용자의 대화 로그를 기초로 설정될 수도 있다.In step S104, the
단계(S105)에서, 챗봇 서비스 서버(100)는 추출된 발화-응답 관계의 개수를 기초로 주제별 선호도를 결정한다.In step S105, the
지금까지, 도 15를 참조하여 제2 실시예에 따른 주제별 선호도 결정 방법에 대하여 설명하였다. 상술한 바에 따르면, 주제에 대한 발화의 질적인 측면을 고려하여 주제별 선호도가 결정된다. 이에 따라, 부정확하게 주제별 선호도가 결정되는 것이 방지될 수 있다.Up to now, a method for determining a theme preference according to the second embodiment has been described with reference to FIG. According to the above, the topic preference is determined considering the qualitative aspect of the utterance about the subject. Accordingly, it is possible to prevent the subject matter preference from being determined incorrectly.
한편, 전술한 바와 같이, 특정 주제에 대한 발화의 양적인 측면과 질적인 측면을 모두 고려하기 위해, 발화 분량 및 발화-응답 관계의 개수를 모두 이용하여 주제별 선호도가 결정될 수도 있다. 이에 대한 예는 도 9를 참조하도록 한다.On the other hand, as described above, the theme preference may be determined using both the number of utterances and the number of utterance-response relationships in order to consider both quantitative and qualitative aspects of utterance on a particular subject. An example of this is shown in Fig.
이하에서는, 도 16 및 도 17을 참조하여, 본 발명의 몇몇 실시예에 따른 개인화된 챗봇 서비스 제공 방법에 대하여 설명하도록 한다.Hereinafter, a personalized chatbot service providing method according to some embodiments of the present invention will be described with reference to FIG. 16 and FIG.
도 16은 본 발명의 제1 실시예에 따른 개인화된 챗봇 서비스 제공 방법의 흐름도이다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일 뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.16 is a flowchart illustrating a method of providing a personalized chatbot service according to the first embodiment of the present invention. However, it should be understood that the present invention is not limited thereto and that some steps may be added or deleted as needed.
도 16을 참조하면, 단계(S201)에서, 챗봇 서비스 서버(100)는 제1 사용자의 주제별 선호도 정보를 조회한다. 예를 들어, 챗봇 서비스 서버(100)는 제1 사용자의 대화 요청에 응답하여, 상기 제1 사용자의 주제별 선호도 정보를 사용자 모델에서 조회할 수 있다.Referring to FIG. 16, in step S201, the
단계(S203)에서, 챗봇 서비스 서버(100)는 제1 사용자의 발화를 이용하여 후보 주제를 결정한다(S203). 예를 들어, 챗봇 서비스 서버(100)는 상기 제1 사용자의 발화에서 상기 후보 주제에 대한 단서가 탐지된 경우, 상기 단서를 이용하여 후보 주제를 결정할 수 있다. 상기 단서와 후보 주제 간의 관계는 소정의 규칙에 따라 미리 지정된 것일 수 있다.In step S203, the
다만, 전술한 바와 같이, 챗봇 서비스 서버(100)는 상기 제1 사용자의 발화에서 특정 단서가 탐지되지 않은 경우에도, 상기 제1 사용자의 주제별 선호도 정보를 이용하여 주제 제시 발화를 제공할 수 있다. 이에 대한 예는 도 11을 참조하도록 한다.However, as described above, even when a specific clue is not detected in the utterance of the first user, the
단계(S205)에서, 챗봇 서비스 서버(100)는 제1 사용자의 주제별 선호도 정보를 이용하여 후보 주제 중 제안할 주제 결정한다.In step S205, the
단계(S207)에서, 챗봇 서비스 서버(100)는 제안 주제에 대한 챗봇의 주제 제시 발화 생성 및 송신한다.In step S207, the
지금까지, 도 16을 참조하여 제1 실시예에 따른 개인화된 챗봇 서비스 제공 방법에 대하여 설명하였다. 상술한 바에 따르면, 사용자의 주제 제시 전에 챗봇이 높은 확률로 사용자에게 관심 주제를 제공할 수 있다. 이에 따라, 보다 지능적인 챗봇 서비스가 제공될 수 있으며, 챗봇 서비스를 이용하는 사용자의 만족도는 크게 향상될 수 있다.Up to now, a personalized chatbot service providing method according to the first embodiment has been described with reference to FIG. As described above, the chatbots can provide a topic of interest to the user with a high probability before presenting the user's topic. Accordingly, a more intelligent chatbot service can be provided, and the satisfaction of the user using the chatbot service can be greatly improved.
도 17은 본 발명의 제2 실시예에 따른 개인화된 챗봇 서비스 제공 방법의 흐름도이다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일 뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.17 is a flowchart illustrating a method of providing a personalized chatbot service according to a second embodiment of the present invention. However, it should be understood that the present invention is not limited thereto and that some steps may be added or deleted as needed.
단계(S301)에서, 챗봇 서비스 서버(100)는 제1 사용자의 발화-응답 관계를 조회한다. 예를 들어, 챗봇 서비스 서버(100)는 상기 제1 사용자의 대화 요청에 응답하여 상기 제1 사용자의 사용자 모델에서 상기 제1 사용자의 발화-응답 관계를 조회할 수 있다.In step S301, the chat
단계(S303)에서, 챗봇 서비스 서버(100)는 현재 주제의 표준 대화 플로우를 조회 된 발화-응답 관계 이용하여 조정한다.In step S303, the
단계(S305)에서, 챗봇 서비스 서버(100)는 조정된 표준 대화 플로우를 이용하여 대화를 진행한다. 단계(S303, S305)에 대한 설명은 도 13에 도시된 예제 및 도 13에 대한 설명 부분을 참조하도록 한다.In step S305, the
지금까지, 도 17을 참조하여 제2 실시예에 따른 개인화된 챗봇 서비스 제공 방법에 대하여 설명하였다. 상술한 바에 따르면, 조정된 표준 대화 플로우에 기초하여 사용자별로 맞춤형 챗봇 서비스가 제공될 수 있다. 또한, 신속한 대화 처리가 가능한 바, 챗봇 서비스를 이용하는 사용자의 만족도가 더욱 향상될 수 있다.Up to now, a method of providing personalized chatbot service according to the second embodiment has been described with reference to FIG. In accordance with the above, customized chatbot services can be provided for each user based on the adjusted standard conversation flow. In addition, since the conversation process can be performed quickly, the satisfaction of the user using the chat service can be further improved.
마지막으로, 본 발명의 일 실시예에 따른 챗봇 서비스 서버(100)의 하드웨어 구성도에 대하여 도 18을 참조하여 설명하도록 한다.Lastly, a hardware configuration diagram of the
도 18을 참조하면, 챗봇 서비스 서버(100)는 하나 이상의 프로세서(101), 프로세서(101)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(102), 스토리지(103) 버스(104) 및 네트워크 인터페이스(105)를 포함할 수 있다. 다만, 도 18에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 18에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.18, the
프로세서(101)는 챗봇 서비스 서버(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(101)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(101)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 챗봇 서비스 서버(100)는 하나 이상의 프로세서를 구비할 수 있다.The
메모리(102)는 각종 데이터, 단계 및/또는 정보를 저장한다. 메모리(102)는 본 발명의 실시예들에 따른 주제 선호도 결정 방법 및/또는 개인화된 챗봇 서비스 제공 방법을 실행하기 위하여 스토리지(103)로부터 일련의 인스트럭션으로 구성된 컴퓨터 프로그램을 로드할 수 있다.The
제1 예에서, 제1 컴퓨터 프로그램은 메모리(102)에 로드되어 프로세서(101)로 하여금 본 발명의 몇몇 실시예에 따른 주제 선호도 결정 방법을 실행하도록 할 수 있다. 이를 위해, 상기 제1 컴퓨터 프로그램은 다음의 일련의 인스트럭션으로 구성될 수 있다.In a first example, a first computer program may be loaded into the
제1-1 예에서, 상기 일련의 인스트럭션은 제1 사용자와 챗봇 간의 대화(dialog)를 구성하는 각각의 발화(utterance)를 주제(topic) 별로 구분하는 인스트럭션(130, 132) 및 제1 주제에 속하는 전체 발화의 분량을 이용하여 상기 제1 사용자의 상기 제1 주제에 대한 선호도를 결정하는 인스트럭션(140, 144)을 포함할 수 있다. 또한, 상기 주제별 발화 분량을 산정하기 위해, 상기 일련의 인스트럭션에 화행 분석 인스트럭션(134), 감성 분석 인스트럭션(136) 및/또는 개체명 인식 인스트럭션(138)이 더 포함될 수 있다.In the example 1-1, the series of instructions includes
제1-2 예에서, 상기 일련의 인스트럭션은 제1 사용자와 챗봇 간의 대화를 구성하는 각각의 발화를 주제 별로 구분하는 인스트럭션(130, 132) 및 제1 주제에 속하는 대화에서 기 설정된 발화-응답 관계가 추출된 횟수를 이용하여 상기 제1 사용자의 상기 제1 주제에 대한 선호도를 결정하는 인스트럭션(142, 144)을 포함할 수 있다. 또한, 상기 발화-응답 관계 추출을 위해, 상기 일련의 인스트럭션에 개체명 인식 인스트럭션(138)이 더 포함될 수 있다.In the first to second examples, the series of instructions includes instructions (130, 132) for distinguishing each utterance constituting a conversation between a first user and a chatbot, and a predefined utterance-response relationship (142, 144) for determining a preference of the first user for the first subject using the number of times the first user has been extracted. Further, for the above-described ignition-response relationship extraction, the series of instructions may further include an entity
제2 예에서, 제2 컴퓨터 프로그램은 메모리(102)에 로드되어 프로세서(101)로 하여금 본 발명의 몇몇 실시예에 따른 개인화된 챗봇 서비스 제공 방법을 실행하도록 할 수 있다. 이를 위해, 상기 제2 컴퓨터 프로그램은 다음의 일련의 인스트럭션으로 구성될 수 있다.In a second example, the second computer program may be loaded into the
제2-1 예에서, 상기 일련의 인스트럭션은 주제별 선호도 DB(118)로부터 제1 사용자의 주제별 선호도를 얻는 인스트럭션 및 상기 제1 사용자의 주제 제시 발화 없이, 챗봇이 상기 제1 사용자의 주제별 선호도를 이용하여 주제 제시 발화를 생성하는 인스트럭션(146)을 포함할 수 있다.In the example 2-1, the series of instructions may include instructions to obtain a subject-specific preference of a first user from the subject-
제2-2 예에서, 상기 일련의 인스트럭션은 주제별 선호도 DB(118)로부터 제1 사용자의 발화-응답 관계를 조회하는 인스트럭션, 상기 조회된 제1 사용자의 발화-응답 관계를 이용하여 표준 대화 플로우(dialog flow)를 조정하는 표준 인스트럭션(148) 및 상기 조정된 표준 대화 플로우에 기반하여 상기 제1 사용자에 대한 챗봇 서비스를 제공하는 인스트럭션(120)을 포함할 수 있다.In the example 2-2, the series of instructions includes an instruction to inquire the first user's speech-response relationship from the
도 18에 도시된 각 인스트럭션에 대한 설명은 중복된 설명을 배제하기 위해 생략하도록 한다.The description of each instruction shown in FIG. 18 is omitted in order to avoid redundant description.
스토리지(103)는 대화 로그(102), 주제별 선호도 DB(118) 및 하나 이상의 프로그램(미도시)을 비임시적으로 저장할 수 있다.The
스토리지(103)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.The
버스(104)는 챗봇 서비스 서버(100)의 구성 요소 간 통신 기능을 제공한다. 버스(104)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.The
네트워크 인터페이스(105)는 챗봇 서비스 서버(100)의 유무선 인터넷 통신을 지원한다. 또한, 네트워크 인터페이스(105)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(105)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.The
지금까지, 도 18을 참조하여 본 발명의 일 실시예에 따른 챗봇 서비스 서버(100)의 하드웨어 구성도에 대하여 설명하였다.Up to now, a hardware configuration diagram of the
지금까지, 도 1 내지 도 18을 참조하여 본 발명의 몇몇 실시예들을 설명하였고, 상기 몇몇 실시예들에 따른 효과들을 언급하였다. 다만, 본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Up to now, some embodiments of the present invention have been described with reference to Figs. 1 to 18, and effects have been described according to some of the above embodiments. However, the effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood to those of ordinary skill in the art from the following description.
지금까지, 도 1 내지 도 18을 참조하여 설명된 본 발명의 개념은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.Up to this point, the concepts of the present invention described with reference to Figs. 1 to 18 can be embodied in computer readable code on a computer readable medium. The computer readable recording medium may be, for example, a removable recording medium (CD, DVD, Blu-ray disk, USB storage device, removable hard disk) . The computer program recorded on the computer-readable recording medium may be transmitted to another computing device via a network such as the Internet and installed in the other computing device, thereby being used in the other computing device.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.Although the operations are shown in the specific order in the figures, it should be understood that the operations need not necessarily be performed in the particular order shown or in a sequential order, or that all of the illustrated operations must be performed to achieve the desired result. In certain situations, multitasking and parallel processing may be advantageous. Moreover, the separation of the various configurations in the above-described embodiments should not be understood as such a separation being necessary, and the described program components and systems may generally be integrated together into a single software product or packaged into multiple software products .
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, I can understand that. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive.
Claims (15)
제1 사용자와 챗봇 간의 대화(dialog)를 구성하는 각각의 발화(utterance)를 주제(topic) 별로 구분하는 단계; 및
제1 주제에 속하는 전체 발화의 분량을 이용하여 상기 제1 사용자의 상기 제1 주제에 대한 선호도를 결정하는 단계를 포함하는,
주제별 선호도 결정 방법.A method performed by a computing device,
Dividing each utterance constituting a dialog between the first user and the chatbot by topic; And
Determining a preference for the first subject by the first user using the total amount of speech pertaining to the first subject,
How to determine preferences by subject.
상기 제1 주제에 대한 선호도를 결정하는 단계는,
상기 제1 주제에 속하는 전체 발화 중 상기 제1 사용자의 발화에 대하여 제1 특징 데이터를 추출하는 단계;
상기 제1 주제에 속하는 전체 발화 중 상기 챗봇의 발화에 대하여 제2 특징 데이터를 추출하는 단계; 및
상기 제1 특징 데이터 및 상기 제2 특징 데이터를 이용하여 상기 분량을 연산하는 단계를 포함하되,
상기 제1 특징 데이터와 상기 제2 특징 데이터는 상이한 기준에 의하여 선정된 것인,
주제별 선호도 결정 방법.The method according to claim 1,
Wherein the determining the preference for the first subject comprises:
Extracting first feature data for utterances of the first user during a total utterance belonging to the first subject;
Extracting second characteristic data for utterance of the chatbot during the entire utterance belonging to the first subject; And
Calculating the quantity using the first feature data and the second feature data,
Wherein the first feature data and the second feature data are selected by different criteria,
How to determine preferences by subject.
상기 제1 특징 데이터는,
질문 타입의 발화의 개수, 요청 타입의 발화의 개수 및 알림 타입의 발화의 개수의 합산치를 포함하는,
주제별 선호도 결정 방법.3. The method of claim 2,
Wherein the first feature data comprises:
The number of utterances of the inquiry type, the number of utterances of the request type, and the sum of the number of utterances of the notification type,
How to determine preferences by subject.
상기 제1 특징 데이터는,
질문 타입의 발화에 포함된 개체명(entity)의 개수, 요청 타입의 발화에 포함된 개체명의 개수 및 알림 타입의 발화에 포함된 개체명의 개수의 합산치를 포함하는,
주제별 선호도 결정 방법.3. The method of claim 2,
Wherein the first feature data comprises:
The number of entity names included in the query type's utterance, the number of entity names included in the request type's utterance, and the sum of the number of entity names included in the utterance of the notification type,
How to determine preferences by subject.
상기 제1 특징 데이터는,
감정 표시어의 개수를 포함하는,
주제별 선호도 결정 방법.3. The method of claim 2,
Wherein the first feature data comprises:
The number of emotion display words,
How to determine preferences by subject.
상기 제2 특징 데이터는,
상기 제1 사용자의 답변이 긍정인 상기 챗봇의 발화에 포함된 개체명의 개수를 포함하는,
주제별 선호도 결정 방법.3. The method of claim 2,
The second feature data may include:
And the number of entity names included in the speech of the chatbot to which the answer of the first user is affirmative,
How to determine preferences by subject.
상기 제2 특징 데이터는,
알림 타입의 발화에 포함된 개체명의 개수를 포함하는,
주제별 선호도 결정 방법.3. The method of claim 2,
The second feature data may include:
The number of object names included in the utterance of the notification type,
How to determine preferences by subject.
제1 사용자와 챗봇 간의 대화를 구성하는 각각의 발화를 주제 별로 구분하는 단계; 및
제1 주제에 속하는 대화에서 기 설정된 발화-응답 관계가 추출된 횟수를 이용하여 상기 제1 사용자의 상기 제1 주제에 대한 선호도를 결정하는 단계를 포함하는,
주제별 선호도 결정 방법.A method performed by a computing device,
Dividing each utterance constituting a dialog between the first user and the chatbot by subject; And
Determining a preference for the first subject by the first user using the number of times the predetermined speech-response relationship is extracted in the conversation pertaining to the first subject,
How to determine preferences by subject.
상기 기 설정된 발화-응답 관계는, 상기 챗봇의 복수의 사용자들과의 대화 로그로부터 추출된 것인,
주제별 선호도 결정 방법.9. The method of claim 8,
Wherein the predetermined speech-response relationship is extracted from a conversation log with a plurality of users of the chatbot,
How to determine preferences by subject.
상기 기 설정된 발화-응답 관계는, 상기 챗봇의 상기 제1 사용자와의 대화 로그로부터 추출된 것인,
주제별 선호도 결정 방법.9. The method of claim 8,
Wherein the predetermined speech-response relationship is extracted from a chat log with the first user of the chatbot,
How to determine preferences by subject.
제1 사용자의 주제별 선호도를 얻는 단계; 및
상기 제1 사용자의 주제 제시 발화 없이, 챗봇이 상기 제1 사용자의 주제별 선호도를 이용하여 주제 제시 발화를 생성하는 단계를 포함하는,
개인화된 챗봇 서비스의 제공 방법.A method performed by a computing device,
Obtaining a preference of the first user based on the theme; And
Wherein the chatbot generates a topic presentation using the subject matter preference of the first user without the subject presentation of the first user.
A method of providing a personalized chatbot service.
상기 주제 제시 발화를 생성하는 단계는,
제1 주제에 대한 제1 주제 제시 발화를 생성하는 단계; 및
상기 제1 주제 제시 발화에 대한 상기 제1 사용자의 부정 발화에 응답하여, 제2 주제에 대한 제2 주제 제시 발화를 생성하는 단계를 포함하되,
상기 제2 주제는 상기 제1 주제 보다 선호도보다 낮은 것인,
개인화된 챗봇 서비스의 제공 방법.12. The method of claim 11,
Wherein the generating the topic presentation comprises:
Generating a first subject presentation of the first subject; And
Generating a second topic presentation speech for a second subject in response to the first user's negative speech for the first topic presentation speech,
Wherein the second subject is lower than the preference of the first subject,
A method of providing a personalized chatbot service.
상기 주제 제시 발화를 생성하는 단계는,
상기 제1 사용자의 발화를 이용하여, 복수의 후보 주제를 선정하는 단계;
상기 복수의 후보 주제 중, 상기 제1 사용자의 주제별 선호도를 이용하여 선정된 주제에 대한 주제 제시 발화를 생성하는 단계를 포함하는,
개인화된 챗봇 서비스의 제공 방법.12. The method of claim 11,
Wherein the generating the topic presentation comprises:
Selecting a plurality of candidate topics using utterances of the first user;
And generating a topic presentation utterance for the selected topic using the preference of the first user among the plurality of candidate topics.
A method of providing a personalized chatbot service.
제1 사용자의 사용자 모델을 조회하되, 상기 사용자 모델은 하나 이상의 발화-응답 관계를 포함하는 단계;
상기 조회된 사용자 모델의 발화-응답 관계를 이용하여 표준 대화 플로우(dialog flow)를 조정하는 단계; 및
상기 조정된 표준 대화 플로우에 기반하여 상기 제1 사용자에 대한 챗봇 서비스를 제공하는 단계를 포함하는,
개인화된 챗봇 서비스의 제공 방법.A method performed by a computing device,
Querying a user model of a first user, the user model comprising one or more speech-response relationships;
Adjusting a standard dialog flow using the spoken-response relationship of the searched user model; And
And providing a chattb service for the first user based on the coordinated standard conversation flow.
A method of providing a personalized chatbot service.
상기 표준 대화 플로우는 제1 의도(intent)에서 제2 의도로의 전환 및 상기 제2 의도에서 제3 의도로의 전환을 포함하고,
상기 조회된 사용자 모델의 발화-응답 관계에, 발화가 제2 의도이고 그 응답이 제3 의도인 관계가 포함되는 경우, 상기 조정된 표준 대화 플로우는 상기 제1 의도에서 제2 의도로의 전환이 상기 제1 의도에서 상기 제3 의도로의 전환으로 교체된 것인,
개인화된 챗봇 서비스의 제공 방법.15. The method of claim 14,
Wherein the standard conversation flow includes a transition from a first intent to a second intent and a transition from the second intent to a third intent,
In the spoken-to-answer relationship of the searched user model, if the relationship is that the utterance is a second intention and the response is a third intention, then the coordinated standard conversation flow is a transition from the first intention to the second intention Wherein the second intention is replaced with a transition from the first intent to the third intent.
A method of providing a personalized chatbot service.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170163762A KR20190064313A (en) | 2017-11-30 | 2017-11-30 | Method for providing personalized chatbot service and apparatus thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170163762A KR20190064313A (en) | 2017-11-30 | 2017-11-30 | Method for providing personalized chatbot service and apparatus thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20190064313A true KR20190064313A (en) | 2019-06-10 |
Family
ID=66848319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170163762A KR20190064313A (en) | 2017-11-30 | 2017-11-30 | Method for providing personalized chatbot service and apparatus thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20190064313A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434653A (en) * | 2021-06-30 | 2021-09-24 | 平安科技(深圳)有限公司 | Method, device and equipment for processing query statement and storage medium |
KR20220114826A (en) | 2021-02-09 | 2022-08-17 | 주식회사 네이처랭귀지 | Messenger application that utilizes the SNS automatic response process |
US11538476B2 (en) | 2019-11-28 | 2022-12-27 | Samsung Electronics Co., Ltd. | Terminal device, server and controlling method thereof |
US11962545B2 (en) | 2021-12-27 | 2024-04-16 | Samsung Electronics Co., Ltd. | Method and device for providing chatbot participating chat service |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130124799A (en) | 2012-05-07 | 2013-11-15 | 고일권 | Evolutionary vertual secretary service system at smart device |
-
2017
- 2017-11-30 KR KR1020170163762A patent/KR20190064313A/en not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130124799A (en) | 2012-05-07 | 2013-11-15 | 고일권 | Evolutionary vertual secretary service system at smart device |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11538476B2 (en) | 2019-11-28 | 2022-12-27 | Samsung Electronics Co., Ltd. | Terminal device, server and controlling method thereof |
KR20220114826A (en) | 2021-02-09 | 2022-08-17 | 주식회사 네이처랭귀지 | Messenger application that utilizes the SNS automatic response process |
CN113434653A (en) * | 2021-06-30 | 2021-09-24 | 平安科技(深圳)有限公司 | Method, device and equipment for processing query statement and storage medium |
US11962545B2 (en) | 2021-12-27 | 2024-04-16 | Samsung Electronics Co., Ltd. | Method and device for providing chatbot participating chat service |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10819811B2 (en) | Accumulation of real-time crowd sourced data for inferring metadata about entities | |
US10991366B2 (en) | Method of processing dialogue query priority based on dialog act information dependent on number of empty slots of the query | |
US20190013017A1 (en) | Method, apparatus and system for processing task using chatbot | |
KR20190064313A (en) | Method for providing personalized chatbot service and apparatus thereof | |
US10289433B2 (en) | Domain specific language for encoding assistant dialog | |
US9378651B2 (en) | Audio book smart pause | |
US8103510B2 (en) | Device control device, speech recognition device, agent device, on-vehicle device control device, navigation device, audio device, device control method, speech recognition method, agent processing method, on-vehicle device control method, navigation method, and audio device control method, and program | |
US9378741B2 (en) | Search results using intonation nuances | |
US11626115B2 (en) | Voice to text conversion based on third-party agent content | |
CN109840052B (en) | Audio processing method and device, electronic equipment and storage medium | |
JP6570226B2 (en) | Response generation apparatus, response generation method, and response generation program | |
JP7132090B2 (en) | Dialogue system, dialogue device, dialogue method, and program | |
CN105491126A (en) | Service providing method and service providing device based on artificial intelligence | |
JP6370962B1 (en) | Generating device, generating method, and generating program | |
US20090150341A1 (en) | Generation of alternative phrasings for short descriptions | |
US11315552B1 (en) | Responding with unresponsive content | |
CN110457454A (en) | A kind of dialogue method, server, conversational system and storage medium | |
JP2020042131A (en) | Information processor, information processing method and program | |
CN108777804B (en) | Media playing method and device | |
US11544303B1 (en) | Responding with unresponsive content | |
US11755652B2 (en) | Information-processing device and information-processing method | |
KR102284912B1 (en) | Method and appratus for providing counseling service | |
JP2021012660A (en) | Information processing device, information processing method, and information processing program | |
CN111161706A (en) | Interaction method, device, equipment and system | |
US11893996B1 (en) | Supplemental content output |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |