KR20190064313A - Method for providing personalized chatbot service and apparatus thereof - Google Patents

Method for providing personalized chatbot service and apparatus thereof Download PDF

Info

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
Application number
KR1020170163762A
Other languages
Korean (ko)
Inventor
강한훈
윤수인
Original Assignee
삼성에스디에스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Priority to KR1020170163762A priority Critical patent/KR20190064313A/en
Publication of KR20190064313A publication Critical patent/KR20190064313A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry
    • G06Q50/30
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures 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

Provided are a method for determining a preference for a topic for a user and a method for providing a personalized chatbot service based on the determined preference. According to an embodiment of the present invention, the method for determining a preference by each topic performed by a computing device comprises the steps of: classifying utterances constituting a dialog between a first user and a chatbot by each topic; and determining a preference for a first topic of the first user using the total amount of utterances pertaining to the first topic.

Description

개인화된 챗봇 서비스 제공 방법 및 그 장치{METHOD FOR PROVIDING PERSONALIZED CHATBOT SERVICE AND APPARATUS THEREOF}[0001] METHOD FOR PROVIDING PERSONALIZED CHATBOT SERVICE AND APPARATUS THEREOF [0002]

본 발명은 개인화된 챗봇 서비스 제공 방법 및 그 장치에 관한 것이다. 보다 자세하게는, 챗봇 서비스 이용자의 주제별 선호도에 기초하여 개인화된 챗봇 서비스를 제공하는 방법 및 그 방법을 수행하는 장치에 관한 것이다.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.

한국공개특허 10-2013-0124799호 (2013.11.15 공개)Korean Patent Publication No. 10-2013-0124799 (published Nov. 15, 2013)

본 발명이 해결하고자 하는 기술적 과제는, 사용자의 주제별 선호도를 반영하여 개인화된 챗봇 서비스 제공하는 방법 및 그 방법을 수행하는 장치를 제공하는 것이다.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 user terminals 10a, 10b, and 10c and a chat service server 100. However, it should be understood that the present invention is not limited to the above-described embodiments, and that various changes and modifications may be made without departing from the scope of the present invention. It should be noted that each component of the chattbool service providing system shown in FIG. 1 shows functional elements that are functionally distinguished, and that at least one component may be implemented in a form that they are integrated with each other in an actual physical environment. Hereinafter, each component of the chattop service providing system will be described.

상기 챗봇 서비스 제공 시스템에서, 사용자 단말(10a, 10b, 10c)은 챗봇 서비스를 이용하기 위해 사용자에 의해 이용되는 단말이다. 도 1에 도시된 바와 같이, 사용자 단말은 노트북, 데스크톱(desktop), 랩탑(laptop), 스마트폰(Smart Phone), 웨어러블 디바이스(wearable device) 등으로 구현될 수 있으나, 이에 국한되는 것은 아니며 컴퓨팅 기능 및 통신 기능이 구비된 임의의 컴퓨팅 장치로 구현될 수 있다.In the chattop service providing system, the user terminals 10a, 10b, and 10c are terminals used by a user to use a chat service. 1, the user terminal may be implemented as a laptop, a desktop, a laptop, a smart phone, a wearable device, and the like, but is not limited thereto, And any computing device with communication capabilities.

사용자는 사용자 단말(10a, 10b, 10c)에 탑재된 앱(app) 또는 웹(web) 기반으로 챗봇 서비스 서버(100)가 제공하는 챗봇 서비스를 제공받을 수 있다.The user can be provided with a chat service provided by the chat service server 100 on the basis of an app or web installed in the user terminals 10a, 10b, and 10c.

상기 챗봇 서비스 제공 시스템에서, 챗봇 서비스 서버(100)는 챗봇 서비스를 제공하는 컴퓨팅 장치이다. 상기 컴퓨팅 장치는 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며, 컴퓨팅 기능 및 통신 기능이 구비된 임의의 컴퓨팅 장치로 구현될 수 있다. 다만, 다수의 사용자에게 원활한 챗봇 서비스를 제공하기 위해, 챗봇 서비스 서버(100)는 고성능의 서버 컴퓨팅 장치로 구현되는 것이 바람직할 수 있다.In the chat service providing system, the chat service server 100 is a computing device that provides a chat service. The computing device may be a notebook computer, a desktop computer, a laptop computer, etc., but is not limited thereto and may be implemented in any computing device having a computing function and a communication function. However, in order to provide a smooth chat service to a large number of users, the chat service server 100 may be preferably implemented as a high performance server computing device.

본 발명의 실시예에 따르면, 챗봇 서비스 서버(100)는 사용자 별로 개인화된 챗봇 서비스를 제공할 수 있다. 예를 들어, 챗봇 서비스 서버(100)는 사용자가 제시하지 않은 대화 주제를 먼저 제시하거나, 미리 정의된 표준 대화 흐름을 조정하여 특정 사용자에게 특화된 대화 서비스를 제공할 수 있다. 본 실시예에 따르면, 사용자 별로 특화된 대화 서비스가 제공되는 바, 챗봇 서비스에 대한 사용자의 만족도가 제고될 수 있다. 본 실시예에 대한 자세한 설명은 도 11 내지 도 13, 도 16 및 도 17을 참조하여 후술하도록 한다.According to the embodiment of the present invention, the chat service service server 100 can provide personalized chat service to each user. For example, the chatbot service server 100 may present a conversation topic not presented by a user, or may provide a conversation service specialized for a specific user by adjusting a predefined standard conversation flow. According to the present embodiment, since the conversation service specialized for each user is provided, the user's satisfaction with the chat service can be enhanced. A detailed description of this embodiment will be given later with reference to Figs. 11 to 13, Fig. 16, and Fig.

또한, 챗봇 서비스 서버(100)는 사용자의 대화 로그(dialog log)에서 각각의 사용자에 대한 주제별 선호도를 결정할 수 있다. 주제별 선호도는 개인화된 챗봇 서비스를 제공하기 위해 이용될 수 있다. 본 실시예에 대한 자세한 설명은 도 2 내지 도 10, 도 14 및 도 15를 참조하여 후술하도록 한다.In addition, the chattop service server 100 can determine a topic preference for each user in a dialog log of the user. Subject preferences can be used to provide personalized chatbot services. A detailed description of this embodiment will be given later with reference to Figs. 2 to 10, Fig. 14, and Fig.

상기 챗봇 서비스 제공 시스템에서, 챗봇 서비스 서버(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 chattcom service server 100 and the user terminals 10a, 10b, and 10c can communicate through a network. The network may be implemented in any type of wired / wireless network such as a local area network (LAN), a wide area network (WAN), a mobile radio communication network, a Wibro (Wireless Broadband Internet) .

지금까지, 도 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 chattcom service server 100 will be described with reference to FIG. 2 to FIG.

먼저, 도 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 chat service server 100 for performing the method will be described.

상기 제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 chattob service server 100 determines the theme preference for each user based on the volume of speech. For example, suppose that the first user's conversation log includes five topics (T1, T2, T3, T4, T5), as shown in FIG. In this case, the chat service service server 100 calculates the utterance amounts 20, 9, 17, 7 and 5 for the respective conversation subjects T1, T2, T3, T4 and T5, (T1> T3> T2> T4> T5) of the first user. The thematic preference may be determined to be a relative value or an absolute value according to the embodiment. 2, the original figure corresponds to the conversation subject, and the size of the original figure is shown to be proportional to the speaking amount.

상기 제1 실시예에서, 챗봇 서비스 서버(100)는 각 주제별 발화 내용으로부터 소정의 특징 데이터를 추출하고, 추출된 특징 데이터에 기초하여 주제별로 발화 분량을 연산한다. 보다 자세하게는, 제1 대화 주제에 속하는 전체 발화 중 사용자의 발화로부터 제1 특징 데이터가 추출되고, 챗봇의 발화로부터 제2 특징 데이터가 추출되며, 상기 제1 특징 데이터 및 상기 제2 특징 데이터 중 적어도 하나의 데이터를 기초로 발화 분량이 연산된다. 이때, 상기 제1 특징 데이터 및 상기 제2 특징 데이터는 상이한 기준에 의하여 선정된 것일 수 있다. 이하에서, 상기 제1 특징 데이터 및 상기 제2 특징 데이터에 대하여 설명하도록 한다.In the first embodiment, the chattop service server 100 extracts predetermined feature data from the topic-specific utterance contents, and calculates the utterance amount for each topic based on the extracted feature data. More specifically, the first feature data is extracted from the utterance of the user during the entire utterance belonging to the first conversation subject, the second feature data is extracted from the utterance of the chatbot, and at least one of the first feature data and the second feature data The ignition amount is calculated based on one piece of data. At this time, the first feature data and the second feature data may be selected by different criteria. Hereinafter, the first characteristic data and the second characteristic data will be described.

일 실시예에서, 상기 제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 chatbot service server 100 may extract feature data from a speech between a user and a chatbot according to a combination of the above-described embodiments, and may calculate a volume of a topic by using the feature data.

보다 이해의 편의를 제공하기 위해, 도 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 second utterance 20 for a first utterance 10 and a second subject ("personal information change") for a first subject ("card recommendation") . Particularly, FIG. 3 shows an example of determining the preference by theme using both the first feature data determined in the user-side utterance and the second feature data determined in the chattobook utterance.

도 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 first speech 10 is displayed in the table 30a. In the feature data extraction process for the first speech 10, since the user wants to receive a recommendation for a card, a discount for a shopping card, and a general card for a request, a notification, and a notification type, U1) is extracted as "3 ". Similarly, the feature data U3 is extracted as "3" according to the entity name recognition result for the user side utterance, and the feature data C2 is extracted as "1 " When summed, the ignition quantity for the first ignition 10 can be calculated as "7 ".

제2 발화(20)에서 추출된 특징 데이터는 테이블(40a)에 표시되어 있다. 특징 데이터의 추출 방식은 제1 발화(10)와 동일하므로, 이에 대한 설명은 생략하도록 한다. 추출된 특징 데이터를 합산하면, 제2 발화(20)에 대한 발화 분량은 "3"으로 연산될 수 있다.The feature data extracted from the second utterance 20 is displayed in the table 40a. The feature data extraction method is the same as that of the first speech 10, and a description thereof will be omitted. When the extracted feature data is added, the amount of utterance for the second utterance 20 can be calculated as "3 ".

이에 따라, 제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 chat service server 100 that performs a method for determining a subject preference according to the first embodiment.

도 4는 제1 실시예에 따른 챗봇 서비스 서버(100)를 나타내는 블록도이다.4 is a block diagram showing a chat service service server 100 according to the first embodiment.

도 4를 참조하면, 챗봇 서비스 서버(100)는 주제 전환 판정부(104), 주제별 발화 그룹핑부(106), 화행 분석부(108), 감성 분석부(110), 개체명 인식부(112), 주제별 분량 산정부(114), 주제별 선호도 결정부(116) 및 챗봇 엔진(120)을 포함하도록 구성될 수 있다. 다만, 도 4에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 4에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 또한, 도 4에 도시된 챗봇 서비스 서버의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다.4, the chattop service server 100 includes a topic switching determination unit 104, a topic-based speech grouping unit 106, an analysis unit 108, an emotion analyzing unit 110, an entity name recognizing unit 112, A subject-specific amount determining unit 114, a subject-specific preference determining unit 116, and a chat bot engine 120. 4, only the components related to the embodiment of the present invention are shown. Accordingly, those skilled in the art will recognize that other general-purpose components may be included in addition to those shown in FIG. It should be noted that each component of the chat service service server shown in FIG. 4 shows functional elements that are functionally distinguished, and that at least one component may be integrated in a physical environment.

각 구성 요소를 살펴보면, 주제 전환 판정부(104)는 대화 로그(102)에 저장된 각 사용자에 대한 대화 데이터에서 주제 전환 여부를 판정한다.Referring to each component, the conversation switching determination unit 104 determines whether to switch conversions from conversation data for each user stored in the conversation log 102. [

주제별 발화 그룹핑부(106)는 주제 전환 판정부(104)의 판정 결과에 따라 각각의 발화를 주제별로 그룹핑한다.The topic-based grouping unit 106 groups each utterance according to a theme according to the determination result of the subject-matter switching determination unit 104. [

화행 분석부(108)는 각각의 발화에 대한 화행 분석을 수행한다. 화행 분석을 통해 각각의 발화의 타입(e.g. 질문, 요청, 알림 등)이 결정될 수 있다. 상기 화행 분석을 위해 어떠한 화행 분석 알고리즘이 이용되더라도 무방하다.The transposition analyzing unit 108 performs transcript analysis on each utterance. The type of each utterance (eg question, request, notification, etc.) can be determined through an analysis of the legend. Any leg analysis algorithm may be used for the above analysis.

감성 분석부(110)는 각각의 발화에 대한 감성 분석을 수행한다. 상기 감성 분석 과정에서, 감성 분석부(110)는 각 발화에 포함된 감성 표시어를 추출할 수 있다. 또한, 감성 분석부(110)는 각 발화에 대한 감성 레이블(e.g. 긍정, 부정)을 결정할 수 있다. 상기 감성 분석을 위해 어떠한 감성 분석 알고리즘이 이용되더라도 무방하다.The emotion analyzing unit 110 performs emotion analysis for each utterance. In the emotional analysis process, the emotional analysis unit 110 may extract emotional display words included in each utterance. Also, the emotional analysis unit 110 may determine emotional labels (e.g., affirmative, negative) for each utterance. Any emotion analysis algorithm may be used for the emotional analysis.

개체명 인식부(112)는 각각의 발화에 포함된 개체명을 인식한다. 상기 개체명 인식을 위해 어떠한 개체명 인식 알고리즘이 이용되더라도 무방하다.The entity name recognizing unit 112 recognizes the entity names included in each utterance. Any entity name recognition algorithm may be used for entity name recognition.

주제별 분량 산정부(114)는 화행 분석부(108), 감성 분석부(110), 개체명 인식부(112)의 결과 중 적어도 하나의 결과를 이용하여 대화 주제별로 발화 분량을 산정한다. 구체적으로, 주제별 분량 산정부(1140)는 화행 분석부(108), 감성 분석부(110), 개체명 인식부(112)의 결과를 이용하여 각 주제별로 발화 분량과 연관된 특징 데이터를 추출하고, 상기 특징 데이터에 기초하여 발화 분량을 산정한다. 상기 특징 데이터의 예는 전술한 바와 같으므로, 이에 대한 설명은 생략하도록 한다.The subject-specific amount-of-speech calculating unit 114 calculates a speaking amount for each conversation topic using at least one result of the results of the speech analyzing unit 108, the emotion analyzing unit 110, and the entity name recognizing unit 112. Specifically, the subject-specific amount calculating unit 1140 extracts feature data associated with the utterance amount for each subject using the results of the transcription analyzing unit 108, the emotion analyzing unit 110, and the entity name recognizing unit 112, And calculates the amount of utterance based on the feature data. An example of the feature data is as described above, and a description thereof will be omitted.

주제별 선호도 결정부(116)는 주제별 발화 분량을 기초로 각 사용자에 대한 주제별 선호도를 결정한다. 발화 분량은 해당 주제에 대한 사용자의 관심을 반영하는 척도이므로, 상기 발화 분량이 큰 값일 수록 해당 주제에 대한 선호도는 높은 값으로 결정될 수 있다.The thematic preference determination unit 116 determines a preference for each user based on the subject's utterance amount. Since the amount of utterance reflects a user's interest in the subject, the higher the value of the utterance, the higher the preference for the subject.

주제별 선호도 결정부(116)는 사용자 각각에 대하여 주제별 선호도를 결정하고, 이를 기초로 사용자 모델(118)를 구축할 수 있다. 사용자 모델(118)은 각각의 사용자에 대한 주제별 선호도 정보를 포함하는 모델로, 챗봇 엔진(120)이 개인화된 챗봇 서비스를 제공하기 위해 이용될 수 있다.The theme preference determination unit 116 may determine a theme preference for each user, and build a user model 118 based on the preference preference. The user model 118 is a model that includes the topic preference information for each user, and can be used by the chatbot engine 120 to provide a personalized chatbot service.

챗봇 엔진(120)은 전반적인 대화 처리 기능을 제공한다.The chatbot engine 120 provides an overall dialog processing function.

챗봇 엔진(120)은 사용자 모델(118)에 기초하여 사용자별로 특화된 챗봇 서비스를 제공할 수 있다. 이에 대한 자세한 설명은 도 11을 참조하여 후술하도록 한다.The chatbot engine 120 may provide a user-specific chatbot service based on the user model 118. A detailed description thereof will be given later with reference to Fig.

도 4, 후술할 도 8 및 도 10에 도시된 챗봇 서비스 서버(100)의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.Each component of the chattop service server 100 shown in FIG. 4 and FIG. 8 and FIG. 10 to be described later may be implemented by software or hardware such as an FPGA (Field Programmable Gate Array) or ASIC (Application-Specific Integrated Circuit) Hardware). However, the components are not limited to software or hardware, and may be configured to be addressable storage media, and configured to execute one or more processors. The functions provided in the components may be implemented by a more detailed component, or may be implemented by a single component that performs a specific function by combining a plurality of components.

지금까지, 도 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 chattcom service server 100 for performing the method. According to the first embodiment, the preference according to the subject can be determined based on the volume of the user's utterance. According to the present embodiment, the subject matter preference can be accurately determined without human intervention, because the amount of utterance is a measure indicating the user's interest in a specific subject.

이하에서는, 도 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 chattop service server 100 extracts a predetermined speech-response relationship from the utterances of the respective conversation subjects T1, T2, T3, T4, and T5 and extracts the extracted number (10, 4, 8, 2 , 1). Also, the chatbot service server 100 can determine the preference degree (T1> T3> T2> T4> T5) according to the conversation subject based on the calculated number.

기 설정된 발화-응답 관계의 예는 도 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 chatbot service server 100.

일 실시예에서, 챗봇 서비스 서버(100)는 전체 사용자의 대화 로그에서 주제 별 발화-응답 관계를 추출하고, 추출된 발화-응답 관계를 도 6에 도시된 바와 같은 테이블로 구축할 수 있다. 이때, 챗봇 서비스 서버(100)는 발화-응답 관계의 빈도, 발화-응답 관계에 나타나는 사용자의 감성(e.g. 긍정 감성) 등에 기초하여 발화-응답 관계를 추출할 수 있다.In one embodiment, the chatbot service server 100 may extract the topic-specific utterance-response relationship from the conversation log of the entire user and construct the extracted utterance-response relationship as a table as shown in FIG. At this time, the chatab service server 100 can extract the utterance-response relationship based on the frequency of the utterance-response relationship, the emotion of the user (e.g., positive emotion) expressed in the utterance-response relationship, and the like.

일 실시예에서, 챗봇 서비스 서버(100)는 특정 사용자의 대화 로그에서 주제별 발화-응답 관계를 추출하고, 추출된 발화-응답 관계를 도 6에 도시된 바와 같은 테이블로 구축할 수 있다. 이때, 챗봇 서비스 서버(100)는 발화-응답 관계의 빈도, 발화-응답 관계에 나타나는 사용자의 감성(e.g. 긍정 감성) 등에 기초하여 발화-응답 관계를 추출할 수 있다. 본 실시예에 따르면, 사용자 별로 발화-응답 관계 테이블이 구축되고, 챗봇 서비스 서버(100)는 해당 사용자의 발화-응답 관계 테이블을 참조하여 해당 사용자의 발화에서 기 설정된 발화-응답 관계를 추출할 수 있다.In one embodiment, the chatbot service server 100 may extract the subject-specific utterance-response relationship from the conversation log of a specific user and construct the extracted utterance-response relationship as a table as shown in FIG. At this time, the chatab service server 100 can extract the utterance-response relationship based on the frequency of the utterance-response relationship, the emotion of the user (e.g., positive emotion) expressed in the utterance-response relationship, and the like. According to the present embodiment, an utterance-response relation table is constructed for each user, and the chatbot service server 100 refers to the utterance-response relationship table of the user and extracts a predetermined utterance-response relationship from the utterance of the user have.

보다 이해의 편의를 제공하기 위해, 도 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 same utterance contents 10 and 20 as in FIG.

도 7을 참조하면, 제1 발화 내용(10)에서 탐지된 발화-응답 관계는 테이블(30b)에 표시되어 있다. 테이블(30b)에 표시된 바와 같이, 제1 주제("카드 추천")에 대한 제1 발화 내용(10)에서 혜택-쇼핑 관계가 "1회" 추출되고, 카드종류-일반 관계가 "1회" 추출됨에 따라, 제1 발화 내용(10)에서 추출된 발화-응답 관계의 총 개수는 "2회"로 연산된다.Referring to Fig. 7, the speech-response relationship detected in the first speech 10 is indicated in the table 30b. Shopping relationship is extracted "once" in the first utterance content 10 for the first subject ("card recommendation") and the card type- general relationship is " As extracted, the total number of utterance-response relationships extracted from the first utterance content 10 is calculated "twice ".

위와 유사한 방식으로 발화-응답 관계를 추출하면, 제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 second utterance content 20 for the second subject ("personal information change") is calculated as "zero".

이에 따라, 제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 chat service server 100 that performs a method for determining a subject preference according to the second embodiment. In order to avoid redundant description, description of the same or similar components as those of the chat service service server 100 shown in FIG. 4 among the components shown in FIG. 8 will be omitted.

도 8은 본 발명의 제2 실시예에 따른 챗봇 서비스 서버(100)를 나타내는 블록도이다.FIG. 8 is a block diagram illustrating a chat service service server 100 according to a second embodiment of the present invention.

도 8을 참조하면, 챗봇 서비스 서버(100)는 주제 전환 판정부(104), 주제별 발화 그룹핑부(106), 개체명 인식부(112), 발화-응답 관계 추출부(122), 주제별 선호도 결정부(124) 및 챗봇 엔진(120)을 포함하도록 구성될 수 있다.Referring to FIG. 8, the chattop service server 100 includes a topic switching determination unit 104, a topic-based speech grouping unit 106, an entity name recognition unit 112, a speech-response relationship extraction unit 122, Unit 124 and a chat bot engine 120. [

발화-응답 관계 추출부(122)는 사용자와 챗봇 간 대화에서 인식된 개체명을 이용하여 발화-응답 관계를 추출한다. 예를 들어, 발화-응답 관계 추출부(122)는 기 설정된 발화-응답 관계 테이블과 개체명 인식 결과를 이용하여 주제별 발화 내용에서 발화-응답 관계를 추출할 수 있다.The utterance-response relation extraction unit 122 extracts the utterance-response relation using the entity name recognized in the dialog between the user and the chopsticks. For example, the utterance-response relation extraction unit 122 may extract the utterance-response relation from the topic utterance contents using the pre-set utterance-response relationship table and the entity name recognition result.

주제별 선호도 결정부(124)는 발화-응답 관계의 개수를 기초로 주제별 선호도를 결정한다. 이에 대한 설명은 전술한 바와 같으므로 생략하도록 한다. 상기 제1 실시예와 마찬가지로, 주제별 선호도 결정부(124)에 의해 결정된 주제별 선호도는 사용자 모델(118)에 저장된다. 저장된 주제별 선호도 정보는 개인화된 챗봇 서비스를 제공하기 위해 챗봇 엔진(120)에 의해 이용될 수 있다.The subject-specific preference determining unit 124 determines the preference of the subject based on the number of the utterance-response relationships. The description is omitted since it is the same as described above. As in the first embodiment, the theme preference determined by the subject preference determination unit 124 is stored in the user model 118. [ The stored subject-specific preference information may be used by the chatbot engine 120 to provide a personalized chatbot service.

챗봇 엔진(120)은 기 설정된 사용자별 발화-응답 관계를 이용하여 표준 대화 플로우를 조정함으로써, 해당 사용자에 대한 개인화된 챗봇 서비스를 제공할 수 있다. 이에 대한 설명은 도 12 및 도 13을 참조하여 후술하도록 한다.The chatbot engine 120 may provide a personalized chatbot service for the user by adjusting the standard chat flow using the predetermined user-specific chat-response relationship. This will be described later with reference to FIG. 12 and FIG.

지금까지, 도 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 chattcom service server 100 for performing the method. According to the second embodiment, the theme preference is determined based on the detected number of the predetermined speech-response relationship. Since the utterance-response relationship will be set as an utterance-response pair closely related to the subject, the subject matter preference can be more accurately determined based on the relation between the subject and utterance. For example, according to the first embodiment, subject-related preferences may be determined to be inaccurate by contributing utterances not related to the subject to the utterance amount. However, according to the second embodiment, the above-described problems can be prevented in advance.

이하에서는, 도 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 chattcom service server 100 performing the method.

상기 제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 chat service server 100 that performs a method for determining a subject preference according to the third embodiment. The description of each component will be made with reference to the explanatory portions of FIGS. 4 and 8. FIG.

지금까지, 도 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 chat service server 100 for performing the method have been described with reference to FIG. 2 to FIG. Hereinafter, with reference to FIG. 11 to FIG. 13, a description will be given of a method by which the chat service server 100 provides the personalized chat service in detail.

도 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 chattop service server 100 identifies the first user in response to a chat request of the first user. Next, the chat service service server 100 acquires the preference of the first user from the user model 118 for the first user, and before the first user presents the topic on the basis of the acquired preference for the theme, It can provide a topic presentation. In particular, FIG. 11 illustrates by way of example the provision of a topic presentation on "nightly orders" via chatbots.

한편, 챗봇 서비스 서버(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 chattob service server 100. [ The negative reaction can be detected, for example, through emotional analysis of the user's utterance corresponding to the topic presentation utterance.

위와 같은 경우, 상기 부정 반응에 응답하여, 챗봇 서비스 서버(100)는 상기 제1 주제가 아닌 제2 주제에 대한 주제 제시 발화를 제공하도록 동작할 수 있다. 이때, 상기 제2 주제는 상기 제1 주제보다 낮은 선호도를 갖는 주제일 수 있다. 또는 상기 제2 주제는 랜덤하게 선정된 주제일 수도 있다. 실시예에 따라, 챗봇 서비스 서버(100)는 사용자에게 주제를 질의하는 발화를 생성하여 제공할 수도 있다. 예를 들어, 사용자의 격한 부정 반응이 감지된 경우, 챗봇 서비스 서버(100)는 더 이상의 주제 제시를 중지하고 사용자에게 관심 주제를 질의하도록 동작할 수 있다.In such a case, in response to the negative response, the chatbot service server 100 may be operable to provide a topic presentation speech for a second subject other than the first subject. Here, the second subject may be a subject having a lower preference than the first subject. Or the second subject may be a randomly selected topic. In accordance with an embodiment, the chattob service server 100 may generate and provide a user with a topic query query. For example, if a strong negative reaction of the user is detected, the chatbot service server 100 may stop serving further topics and act to query the user for a subject of interest.

전술한 예에서, 챗봇 서비스 서버(100)는 사용자의 부정 발화에 응답하여, 상기 제1 주제에 대한 선호도를 더 낮은 값으로 조정할 수 있다. 또한, 상기 제1 주제 또는 상기 제2 주제에 대하여 긍정적인 반응이 감지된 경우, 챗봇 서비스 서버(100)는 상기 제1 주제 또는 상기 제2 주제에 대한 선호도를 더 높은 값으로 조정할 수 있다.In the above-described example, the chat service service server 100 may adjust the preference for the first topic to a lower value in response to the user's negative statement. Also, when a positive response to the first subject or the second subject is sensed, the chattob service server 100 may adjust the preferences for the first subject or the second subject to a higher value.

한편, 상기 제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 service server 100 selects a plurality of candidate topics by using the detected clues, and provides a topic presentation utterance about the selected topic using the preference of the user among the plurality of candidate topics can do.

지금까지, 도 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 standard conversation flow 80a for "card recommendation ".

도 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 standard conversation flow 80a for "card recommendation ".

도 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 chattv service server 100 can adjust the standard conversation flow using the speech-response relationship 71a, 73a stored in the user model 118 of the first user have. Specifically, the standard conversation flow 80b is switched from a first intention ("card recommendation") to a second intention ("benefit") and from a second intention ("benefit") to a third intention ("shopping | Quot; coffee ") 71b, and during the speech-response relationship 71a, 73a of the user model 118, the utterance is the second intention (" benefit ") and the response is the third intention ), The chattop service server 100 adjusts so that the standard conversation flow is immediately switched 72 from the first intention ("card recommendation") to the third intention ("shopping") . Accordingly, as illustrated in the conversation example 70b, the chattob service server 100 can provide the first user with a speech "just want a shopping benefit".

지금까지, 도 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 chatbot service server 100. For the sake of convenience of explanation, the description of the operation subject of each step included in the above method may be omitted. In addition, each step of the method described below may be implemented as an instruction of a computer program executed by a processor.

먼저, 도 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 chattob service server 100 groups the utterance contents included in the conversation log by topic.

단계(S103)에서, 챗봇 서비스 서버(100)는 주제별 발화 내용에서 분량 관련 특징 데이터를 산정한다(S103). 상기 특징 데이터의 예에 대해서는 전술한 설명 내용을 참조하도록 한다.In step S103, the chattop service server 100 calculates the volume related characteristic data from the subject utterance contents (S103). For the example of the feature data, the contents of the above description are referred to.

단계(S105)에서, 챗봇 서비스 서버(100)는 산정된 분량 관련 특징 데이터에 기초하여 주제별 선호도를 결정한다. 예를 들어, 도 3을 참조하여 설명한 바와 같이, 발화 분량이 많은 주제의 선호도는 높은 값으로 결정될 수 있다.In step S105, the chattop service server 100 determines the preference by subject based on the calculated volume related characteristic data. For example, as described with reference to FIG. 3, the preference of a topic having a large amount of speech can be determined to be a high value.

지금까지, 도 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 chattob service server 100 groups the utterance contents included in the conversation log by topic.

단계(S104)에서, 챗봇 서비스 서버(100)는 주제별 발화 내용에서 미리 설정된 발화-응답 관계를 추출한다. 실시예에 따라, 상기 미리 설정된 발화-응답 관계는 해당 사용자의 대화 로그를 기초로 설정될 수 있고, 복수의 사용자의 대화 로그를 기초로 설정될 수도 있다.In step S104, the chattob service server 100 extracts a pre-set speech-response relationship from the topic utterance contents. According to an embodiment, the preset speech-response relationship may be set based on the conversation log of the user, and may be set based on a plurality of conversation logs of the user.

단계(S105)에서, 챗봇 서비스 서버(100)는 추출된 발화-응답 관계의 개수를 기초로 주제별 선호도를 결정한다.In step S105, the chattob service server 100 determines the preference by topic based on the number of extracted speech-response relationships.

지금까지, 도 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 chattob service server 100 inquires about the preference information of the first user. For example, the chatbot service server 100 may inquire the user's preference information of the first user in the user model in response to the chat request of the first user.

단계(S203)에서, 챗봇 서비스 서버(100)는 제1 사용자의 발화를 이용하여 후보 주제를 결정한다(S203). 예를 들어, 챗봇 서비스 서버(100)는 상기 제1 사용자의 발화에서 상기 후보 주제에 대한 단서가 탐지된 경우, 상기 단서를 이용하여 후보 주제를 결정할 수 있다. 상기 단서와 후보 주제 간의 관계는 소정의 규칙에 따라 미리 지정된 것일 수 있다.In step S203, the chattob service server 100 determines a candidate topic using the utterance of the first user (S203). For example, when a clue to the candidate topic is detected in the utterance of the first user, the chatbot service server 100 may determine the candidate topic using the clue. The relationship between the clue and the candidate topic may be predetermined according to a predetermined rule.

다만, 전술한 바와 같이, 챗봇 서비스 서버(100)는 상기 제1 사용자의 발화에서 특정 단서가 탐지되지 않은 경우에도, 상기 제1 사용자의 주제별 선호도 정보를 이용하여 주제 제시 발화를 제공할 수 있다. 이에 대한 예는 도 11을 참조하도록 한다.However, as described above, even when a specific clue is not detected in the utterance of the first user, the chattob service server 100 may provide the utterance utterance using the utterance preference information of the first user. An example of this is shown in Fig.

단계(S205)에서, 챗봇 서비스 서버(100)는 제1 사용자의 주제별 선호도 정보를 이용하여 후보 주제 중 제안할 주제 결정한다.In step S205, the chattob service server 100 determines a topic to be proposed among candidate topics using the preference information of the first user.

단계(S207)에서, 챗봇 서비스 서버(100)는 제안 주제에 대한 챗봇의 주제 제시 발화 생성 및 송신한다.In step S207, the chattop service server 100 generates and transmits the topic presentation speech of the chatbot on the proposed topic.

지금까지, 도 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 bot service server 100 inquires about the speech-response relationship of the first user. For example, the chatbot service server 100 may inquire the user's speech-response relationship in the user model of the first user in response to the chat request of the first user.

단계(S303)에서, 챗봇 서비스 서버(100)는 현재 주제의 표준 대화 플로우를 조회 된 발화-응답 관계 이용하여 조정한다.In step S303, the chattop service server 100 adjusts the standard conversation flow of the current topic using the inquired-response relationship.

단계(S305)에서, 챗봇 서비스 서버(100)는 조정된 표준 대화 플로우를 이용하여 대화를 진행한다. 단계(S303, S305)에 대한 설명은 도 13에 도시된 예제 및 도 13에 대한 설명 부분을 참조하도록 한다.In step S305, the chattop service server 100 proceeds with the conversation using the adjusted standard conversation flow. The description of steps S303 and S305 will be made with reference to the example shown in FIG. 13 and the description of FIG.

지금까지, 도 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 chattop service server 100 according to an embodiment of the present invention will be described with reference to FIG.

도 18을 참조하면, 챗봇 서비스 서버(100)는 하나 이상의 프로세서(101), 프로세서(101)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(102), 스토리지(103) 버스(104) 및 네트워크 인터페이스(105)를 포함할 수 있다. 다만, 도 18에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 18에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.18, the chattop service server 100 includes one or more processors 101, a memory 102 for loading a computer program executed by the processor 101, a storage 103 bus 104, And a network interface 105. Fig. 18 shows only the components related to the embodiment of the present invention. Therefore, it will be understood by those skilled in the art that other general-purpose components other than the components shown in FIG. 18 may be further included.

프로세서(101)는 챗봇 서비스 서버(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(101)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(101)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 챗봇 서비스 서버(100)는 하나 이상의 프로세서를 구비할 수 있다.The processor 101 controls the overall operation of each configuration of the chatbot service server 100. The processor 101 includes a central processing unit (CPU), a microprocessor unit (MPU), a microcontroller unit (MCU), a graphics processing unit (GPU), or any type of processor well known in the art . The processor 101 may also perform operations on at least one application or program to perform the method according to embodiments of the present invention. The chatbot service server 100 may include one or more processors.

메모리(102)는 각종 데이터, 단계 및/또는 정보를 저장한다. 메모리(102)는 본 발명의 실시예들에 따른 주제 선호도 결정 방법 및/또는 개인화된 챗봇 서비스 제공 방법을 실행하기 위하여 스토리지(103)로부터 일련의 인스트럭션으로 구성된 컴퓨터 프로그램을 로드할 수 있다.The memory 102 stores various data, steps and / or information. The memory 102 may load a computer program comprised of a series of instructions from the storage 103 to perform a method for determining a subject preference and / or a method for providing a personalized chat service, in accordance with embodiments of the present invention.

제1 예에서, 제1 컴퓨터 프로그램은 메모리(102)에 로드되어 프로세서(101)로 하여금 본 발명의 몇몇 실시예에 따른 주제 선호도 결정 방법을 실행하도록 할 수 있다. 이를 위해, 상기 제1 컴퓨터 프로그램은 다음의 일련의 인스트럭션으로 구성될 수 있다.In a first example, a first computer program may be loaded into the memory 102 to cause the processor 101 to execute a method of determining a subject preference according to some embodiments of the present invention. To this end, the first computer program may consist of the following series of instructions.

제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 instructions 130 and 132 for distinguishing utterances constituting a dialog between the first user and the chatbot by topic, (140, 144) for determining the preference of the first user for the first subject using the total amount of speech to which the first user belongs. In addition, the series of instructions may further include an analysis analysis instruction 134, an emotion analysis instruction 136, and / or an entity name recognition instruction 138 to estimate the subject's utterance volume.

제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 name recognition instruction 138. [

제2 예에서, 제2 컴퓨터 프로그램은 메모리(102)에 로드되어 프로세서(101)로 하여금 본 발명의 몇몇 실시예에 따른 개인화된 챗봇 서비스 제공 방법을 실행하도록 할 수 있다. 이를 위해, 상기 제2 컴퓨터 프로그램은 다음의 일련의 인스트럭션으로 구성될 수 있다.In a second example, the second computer program may be loaded into the memory 102 to cause the processor 101 to execute a personalized chatbot service provisioning method according to some embodiments of the present invention. To this end, the second computer program may consist of the following sequence of instructions.

제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-specific preferences DB 118 and instructions to use the subject-specific preference of the first user To generate a topic presentation utterance (146).

제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 subject preference DB 118, a standard conversation flow (" and instructions for providing a chat service to the first user based on the coordinated standard chat flow.

도 18에 도시된 각 인스트럭션에 대한 설명은 중복된 설명을 배제하기 위해 생략하도록 한다.The description of each instruction shown in FIG. 18 is omitted in order to avoid redundant description.

스토리지(103)는 대화 로그(102), 주제별 선호도 DB(118) 및 하나 이상의 프로그램(미도시)을 비임시적으로 저장할 수 있다.The storage 103 may non-provisionally store the conversation log 102, the subject matter preference DB 118 and one or more programs (not shown).

스토리지(103)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.The storage 103 may be a nonvolatile memory such as a ROM (Read Only Memory), an EPROM (Erasable Programmable ROM), an EEPROM (Electrically Erasable Programmable ROM), a flash memory or the like, a hard disk, a removable disk, And any form of computer-readable recording medium known in the art.

버스(104)는 챗봇 서비스 서버(100)의 구성 요소 간 통신 기능을 제공한다. 버스(104)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.The bus 104 provides communication functions between the components of the chattcom service server 100. The bus 104 may be implemented as various types of buses such as an address bus, a data bus, and a control bus.

네트워크 인터페이스(105)는 챗봇 서비스 서버(100)의 유무선 인터넷 통신을 지원한다. 또한, 네트워크 인터페이스(105)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(105)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.The network interface 105 supports wired / wireless Internet communication of the chat service server 100. In addition, the network interface 105 may support various communication methods other than Internet communication. To this end, the network interface 105 may comprise a communication module well known in the art.

지금까지, 도 18을 참조하여 본 발명의 일 실시예에 따른 챗봇 서비스 서버(100)의 하드웨어 구성도에 대하여 설명하였다.Up to now, a hardware configuration diagram of the chattcom service server 100 according to the embodiment of the present invention has been described with reference to FIG.

지금까지, 도 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 특징 데이터를 추출하는 단계;
상기 제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.
제2 항에 있어서,
상기 제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.
제2 항에 있어서,
상기 제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.
제2 항에 있어서,
상기 제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 항에 있어서,
상기 제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 항에 있어서,
상기 제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.
제8 항에 있어서,
상기 기 설정된 발화-응답 관계는, 상기 챗봇의 복수의 사용자들과의 대화 로그로부터 추출된 것인,
주제별 선호도 결정 방법.
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.
제8 항에 있어서,
상기 기 설정된 발화-응답 관계는, 상기 챗봇의 상기 제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.
제11 항에 있어서,
상기 주제 제시 발화를 생성하는 단계는,
제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.
제11 항에 있어서,
상기 주제 제시 발화를 생성하는 단계는,
상기 제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.
제14 항에 있어서,
상기 표준 대화 플로우는 제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.
KR1020170163762A 2017-11-30 2017-11-30 Method for providing personalized chatbot service and apparatus thereof KR20190064313A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130124799A (en) 2012-05-07 2013-11-15 고일권 Evolutionary vertual secretary service system at smart device

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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