KR20190004495A - 챗봇을 이용한 태스크 처리 방법, 장치 및 시스템 - Google Patents

챗봇을 이용한 태스크 처리 방법, 장치 및 시스템 Download PDF

Info

Publication number
KR20190004495A
KR20190004495A KR1020170084785A KR20170084785A KR20190004495A KR 20190004495 A KR20190004495 A KR 20190004495A KR 1020170084785 A KR1020170084785 A KR 1020170084785A KR 20170084785 A KR20170084785 A KR 20170084785A KR 20190004495 A KR20190004495 A KR 20190004495A
Authority
KR
South Korea
Prior art keywords
interactive task
sentence
user
task
determining whether
Prior art date
Application number
KR1020170084785A
Other languages
English (en)
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 KR1020170084785A priority Critical patent/KR20190004495A/ko
Priority to US16/026,690 priority patent/US20190013017A1/en
Publication of KR20190004495A publication Critical patent/KR20190004495A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/493Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/027Frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • G06Q50/30
    • 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
    • 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/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • 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
    • 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
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • G10L25/63Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for estimating an emotional state

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Probability & Statistics with Applications (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Machine Translation (AREA)
  • Operations Research (AREA)

Abstract

사용자의 발화 문장에서 이전과 다른 사용자 의도가 탐지되는 경우, 원활한 대화 처리를 진행하기 위한 태스크 처리 방법이 제공된다. 태스크 처리 장치에 의해 수행되는 본 발명의 일 실시예에 따른 태스크 처리 방법은, 제1 사용자 의도에 대한 대화 처리 과정을 가리키는 제1 대화 태스크의 수행 중에, 사용자의 발화 문장에서 상기 제1 사용자 의도와 다른 제2 사용자 의도를 탐지하는 단계, 상기 제2 사용자 의도가 탐지됨에 응답하여, 상기 제2 사용자 의도에 대한 대화 처리 과정을 가리키는 제2 대화 태스크의 수행 개시 여부를 결정하는 단계 및 상기 제2 대화 태스크의 수행 개시 결정에 응답하여, 상기 발화 문장에 대한 응답 문장을 생성하는 단계를 포함할 수 있다.

Description

챗봇을 이용한 태스크 처리 방법, 장치 및 시스템 {Method, Apparatus and System for processing task using chatbot}
본 발명은 챗봇을 이용한 태스크 처리 방법, 장치 및 시스템에 관한 것이다. 보다 자세하게는, 사용자와 챗봇 간의 대화 태스크 진행 중에 사용자의 발화 문장에서 상기 대화 태스크와 관련되지 않은 다른 사용자 의도가 탐지되는 경우, 원활한 대화 태스크 진행을 위해 이용되는 태스크 처리 방법, 그 방법을 수행하는 장치 및 시스템에 관한 것이다.
많은 기업체들은 대고객 서비스의 일환으로 콜 센터(call center)를 운영하고 있으며, 기업체들의 비즈니스가 확장됨에 따라 콜 센터의 규모 또한 거대해지고 있다. 이와 더불어, IT 기술을 접목하여 다양한 형태로 콜 센터를 보완해 주는 시스템이 구축되고 있다. 이와 같은 시스템의 예로는 ARS(Automatic Response Service) 시스템을 들 수 있다.
최근에는, 인공 지능 및 빅 데이터 기술이 성숙됨에 따라, 콜 센터의 상담원을 챗봇(chatbot)과 같은 지능형 에이전트(intelligent agent)로 대체한 지능형 ARS 시스템이 구축되고 있다. 지능형 ARS 시스템에서는, 사용자에 의해 발화된 음성이 텍스트 형식의 발화 문장으로 변환되고, 지능형 에이전트가 발화 문장을 분석하여 사용자의 질의 내용을 이해하고 이에 대한 응답을 자동으로 제공하게 된다.
한편, 콜 센터를 이용하는 고객들은 상담 도중 갑작스럽게 다른 주제에 대한 질의를 하는 경우가 있다. 이와 같은 경우, 상담원이라면 고객의 의도를 파악하여 상황에 맞는 응답을 할 수 있다. 즉, 급작스럽게 주제가 변경되더라도, 상담원이라면 이에 능동적으로 대처하여 변경된 주제에 대한 대화를 이어 나가거나, 자신이 응답을 할 차례였더라도 고객의 의도를 보다 정확하게 파악하기 고객의 말을 좀더 경청할 수 있다.
그러나, 지능형 ARS 시스템에서, 지능형 에이전트가 고객의 발화 의도를 정확히 파악하여 현재 진행 중인 상담을 계속할 지 또는 새로운 주제에 대한 상담을 진행할 지 여부를 판단하는 것은 매우 어려운 문제이다. 물론, 고객에게 새로운 주제에 대한 상담을 진행할 지 여부를 질의함으로써, 상기와 같은 판단을 고객의 결정에 맡길 수도 있으나, 이와 같은 질의가 빈번하게 반복된다면 이 또한 지능형 ARS 시스템을 이용하는 고객의 만족도를 저하시키는 요인이 될 수 있다.
따라서, 새로운 발화 의도가 탐지된 경우, 새로운 주제로 대화를 시작할 지 또는 이전 주제로 대화를 계속할 지 여부 등을 정확하게 결정할 수 있는 방법이 요구된다.
한국등록특허 제10-0818979호 (2008.03.19 공개)
본 발명이 해결하고자 하는 기술적 과제는, 제1 사용자 의도에 대한 대화 태스크 수행 중에, 사용자의 발화 문장에서 제2 사용자 의도가 탐지되는 경우에 원활한 대화 처리를 수행하기 위한 태스크 처리 방법 및 그 방법을 수행하는 장치 및 시스템을 제공하는 것이다.
구체적으로, 본 발명은 사용자의 발화 문장에서 상기 제1 사용자 의도와 상이한 상기 제2 사용자 의도가 탐지되는 경우, 상기 제2 사용자 의도에 대한 대화 태스크의 개시 여부를 정확하게 결정하는 태스크 처리 방법 및 그 방법을 수행하는 장치 및 시스템을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 태스크 처리 방법은, 태스크 처리 장치에 의해 수행되는 태스크 처리 방법에 있어서, 제1 사용자 의도에 대한 대화 처리 과정을 가리키는 제1 대화 태스크의 수행 중에, 사용자의 발화 문장에서 상기 제1 사용자 의도와 다른 제2 사용자 의도를 탐지하는 단계, 상기 제2 사용자 의도가 탐지됨에 응답하여, 상기 제2 사용자 의도에 대한 대화 처리 과정을 가리키는 제2 대화 태스크의 수행 개시 여부를 결정하는 단계 및 상기 제2 대화 태스크의 수행 개시 결정에 응답하여, 상기 발화 문장에 대한 응답 문장을 생성하는 단계를 포함할 수 있다.
일 실시예에서, 상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계는, 상기 발화 문장에 대한 문장 자질을 기초로, 상기 발화 문장의 중요도 점수를 산출하는 단계 및 상기 중요도 점수가 기 설정된 임계 값 이상인 경우, 상기 제2 대화 태스크를 수행하기로 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계는, 상기 발화 문장에 포함된 감성 단어를 기초로 감성 분석(sentimental analysis)을 수행하는 단계 및 상기 감성 분석의 결과를 기초로, 상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계는, 상기 제1 대화 태스크의 예상 완료 시간에 기초하여, 상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 제1 대화 태스크는, 그래프 기반의 대화 모델에 기초하여 수행되고, 상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계는, 상기 그래프 기반의 대화 모델에서, 상기 제1 대화 태스크의 시작 지점을 가리키는 제1 노드와 상기 제1 대화 태스크의 현재 수행 지점을 가리키는 제2 노드 사이의 거리에 기초하여, 상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계는, 상기 제2 대화 태스크의 예상 완료 시간에 기초하여, 상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계를 포함할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 태스크 처리 장치는, 하나 이상의 프로세서, 네트워크 인터페이스, 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(Load)하는 메모리 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 제1 사용자 의도에 대한 대화 처리 과정을 가리키는 제1 대화 태스크의 수행 중에, 사용자의 발화 문장에서 상기 제1 사용자 의도와 다른 제2 사용자 의도를 탐지하는 오퍼레이션, 상기 제2 사용자 의도가 탐지됨에 응답하여, 상기 제2 사용자 의도에 대한 대화 처리 과정을 가리키는 제2 대화 태스크의 수행 개시 여부를 결정하는 오퍼레이션 및 상기 제2 대화 태스크의 수행 개시 결정에 응답하여, 상기 발화 문장에 대한 응답 문장을 생성하는 오퍼레이션을 포함할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터 프로그램은, 제1 사용자 의도에 대한 대화 처리 과정을 가리키는 제1 대화 태스크의 수행 중에, 사용자의 발화 문장에서 상기 제1 사용자 의도와 다른 제2 사용자 의도를 탐지하는 단계, 상기 제2 사용자 의도가 탐지됨에 응답하여, 상기 제2 사용자 의도에 대한 대화 처리 과정을 가리키는 제2 대화 태스크의 수행 개시 여부를 결정하는 단계 및 상기 제2 대화 태스크의 수행 개시 결정에 응답하여, 상기 발화 문장에 대한 응답 문장을 생성하는 단계를 실행시키기 위하여 기록 매체에 저장될 수 있다.
상술한 본 발명에 따르면, 제1 사용자 의도에 대한 제1 대화 태스크 수행 중에, 사용자의 발화 문장에서 상기 제1 사용자 의도와 상이한 제2 사용자 의도가 탐지되면, 대화 상황, 사용자의 발화 의도 등을 고려하여 자동으로 상기 제2 사용자 의도에 대한 제2 대화 태스크의 수행 개시 여부가 결정될 수 있다. 이에 따라, 본 발명이 적용된 지능형 에이전트는 사용자의 갑작스런 의도 변화에 대처하여, 상담원 등의 사람 개입 없이 원활한 대화 진행이 가능할 수 있다.
또한, 본 발명이 대고객 서비스를 제공하는 지능형 ARS 시스템에 적용되는 경우, 고객의 의도를 파악하여 원활한 대화 진행이 이루어질 수 있는 바, 고객 만족도가 제고될 수 있다.
또한, 본 발명이 적용된 지능형 ARS 시스템의 경우, 상담원 등의 사람 개입이 최소화될 수 있는 바, 시스템 운용에 소요되는 인적 비용이 크게 절감될 수 있다.
또한, 상술한 본 발명에 따르면, 제2 사용자 의도가 포함된 발화 문장에서, 문장 자체의 중요도, 사용자의 대화 이력, 감성 분석 결과 등의 합리적인 기준에 따라 사용자의 주제 전환 의사가 정확하게 파악될 수 있다는 장점이 있다.
또한, 상술한 본 발명에 따르면, 제1 대화 태스크 및/또는 제2 대화 태스크의 예상 완료 시점을 기초로 대화 태스크 전환 여부가 결정될 수 있다. 즉, 대화 태스크의 완료 시점이 얼마 남지 않은 경우라면, 신속하게 해당 대화 처리하고, 다음 대화 태스크가 수행될 수 있는 바, 효율적인 대화 태스크 처리가 이루어질 수 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 지능형 ARS 시스템의 구성도이다.
도 2는 지능형 ARS 시스템의 일 구성 요소인 서비스 제공 서버를 나타내는 블록도이다.
도 3a 내지 도 3c는 사용자와 지능형 에이전트 간의 상담 대화의 예시를 도시한다.
도 4는 본 발명의 다른 실시예에 따른 태스크 처리 장치를 나타내는 블록도이다.
도 5a 내지 도 5b는 본 발명의 몇몇 실시예에서 참조될 수 있는 화행의 예를 도시한다.
도 6은 본 발명의 몇몇 실시예에서 참조될 수 있는 사용자 의도 카테고리의 예를 도시한다.
도 7은 본 발명의 또 다른 실시예에 따른 태스크 처리 장치의 하드웨어 구성도이다.
도 8은 본 발명의 또 다른 실시예에 따른 태스크 처리 방법의 흐름도이다.
도 9는 도 8에 도시된 사용자 의도 추출 단계(S300)의 예시적인 상세 흐름도이다.
도 10은 도 8에 도시된 제2 대화 태스크 수행 여부 결정 단계(S500)에 대한 예시적인 제1 상세 흐름도이다.
도 11은 도 8에 도시된 제2 대화 태스크 수행 여부 결정 단계(S500)에 대한 예시적인 제2 상세 흐름도이다.
도 12a 및 도 12b는 본 발명의 몇몇 실시예에서 참조될 수 있는 감성어 사전의 예를 도시한다.
도 13은 도 8에 도시된 제2 대화 태스크 수행 여부 결정 단계(S500)에 대한 예시적인 제3 상세 흐름도이다.
도 14 및 도 15는 본 발명의 몇몇 실시예에서 참조될 수 있는 대화 모델의 예를 도시한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
본 명세서에 대한 설명에 앞서, 본 명세서에서 사용되는 몇몇 용어들에 대하여 명확하게 하기로 한다.
본 명세서에서, 화행(dialog act or speech act)이란 발화 문장에 내재된 사용자의 일반적인 발화 의도를 의미한다. 예를 들어, 상기 화행의 유형은 행위의 처리를 요구하는 요구 화행, 정보를 제공하는 알림 화행, 정보를 요청하는 질문 화행 등을 포함할 수 있으나, 이에 한정되는 것은 아니며, 화행을 분류하는 방식은 다양할 수 있다.
본 명세서에서, 사용자 의도(user intent)란, 발화 문장에 포함된 사용자의 구체적인 발화 의도를 의미한다. 즉, 상기 사용자 의도는 상기 발화 문장을 통해 사용자가 달성하고자 하는 구체적인 발화 목적이라는 점에서 상술한 화행과 차이가 있다. 상기 사용자 의도는 예를 들어 주제, 토픽(topic), 주행(main act) 등의 용어와 혼용되어 사용될 수 있으나, 동일한 대상을 지칭할 수 있음에 유의한다.
본 명세서에서, 대화 태스크(dialog task)란, 상기 사용자 의도를 달성하기 위해 이루어지는 일련의 대화 처리 과정을 의미한다. 예를 들어, 발화 문장에 포함된 사용자 의도가 "출장 접수"인 경우, "출장 접수"에 대한 대화 태스크는 출장 접수가 완료되기까지 지능형 에이전트가 수행하는 대화 처리 과정을 의미할 수 있다.
본 명세서에서, 대화 모델(dialog model)이란, 상기 대화 태스크를 처리하기 위해, 지능형 에이전트가 이용하는 모델을 의미한다. 상기 대화 모델의 예로는 슬롯 필링(slot filling) 기반의 대화 프레임, 유한 상태 관리 기반의 대화 모델, 대화 계획 기반의 대화 모델 등을 포함할 수 있다. 슬롯 필링 기반의 대화 프레임과 유한 상태 관리 기반의 대화 모델의 예시는 각각 도 14 및 도 15를 참조하도록 한다.
이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 지능형 ARS 시스템을 도시한다.
지능형 ARS 시스템은 챗봇과 같은 지능형 에이전트를 이용하여 사용자의 질의에 대한 자동 응답 서비스를 제공하는 시스템을 의미한다. 도 1에 도시된 지능형 ARS 시스템은 지능형 에이전트가 상담원을 완전히 대체한 경우를 예로써 도시하였으나, 원활한 응답 서비스 제공을 위해 일부 상담원이 상기 지능형 에이전트를 보조하는 형태로 구현될 수도 있을 것이다.
본 실시예에서, 지능형 ARS 시스템은 콜 센터 서버(2), 사용자 단말(3) 및 서비스 제공 서버(1)를 포함하도록 구성될 수 있다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 구성 요소가 추가되거나 삭제될 수 있음은 물론이다. 또한, 도 1에 도시된 지능형 ARS 시스템의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다.
본 실시예에서, 사용자 단말(3)은 자동 응답 서비스를 제공받기 위해 사용자가 이용하는 단말이다. 예를 들어, 사용자는 사용자 단말(3)을 통해 콜 센터 서버(2)로 전화를 걸어서 질의 내용을 음성으로 발화하고, 서비스 제공 서버(1)에 의해 제공된 응답 내용을 음성으로 제공받을 수 있다.
사용자 단말(3)은 음성 통화 수단이 구비된 장치로, 예를 들어 스마트 폰(smart phone)을 포함하는 이동 통신 단말기, 유무선 전화기 등이 될 수 있으나, 이에 국한되는 것은 아니며, 음성 통화 수단이 구비된 모든 종류의 장치를 포함할 수 있다.
본 실시예에서, 콜 센터 서버(2)는 복수의 사용자 단말(3)과의 음성 통화 기능을 제공하는 서버 장치를 의미한다. 콜 센터 서버(2)는 복수의 사용자 단말(3)과 음성 통화 연결을 수행하고, 음성 통화 과정에서 사용자에 의해 발화된 질의 내용을 가리키는 음성 데이터를 서비스 제공 서버(1)로 전달한다. 또한, 콜 센터 서버(2)는 서비스 제공 서버(1)에 의해 제공되고, 상기 질의 내용에 대한 응답 내용을 가리키는 음성 데이터를 사용자 단말(3)로 제공한다.
본 실시예에서, 서비스 제공 서버(1)는 사용자에게 자동 응답 서비스를 제공하는 컴퓨팅 장치이다. 여기서, 상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 연산 수단 및 통신 수단이 구비된 모든 종류의 장치를 포함할 수 있다. 다만, 원활한 서비스 제공을 위해 서비스 제공 서버(1)는 고성능의 서버 컴퓨팅 장치로 구현되는 것이 바람직할 수 있다. 참고로, 도 1에는, 서비스 제공 서버(1)가 단일한 컴퓨팅 장치인 것으로 도시되어 있으나, 실시예에 따라 서비스 제공 서버(1)는 복수의 컴퓨팅 장치를 포함하는 시스템으로 구현될 수도 있다. 서비스 제공 서버(1)의 세부 기능에 대해서는 도 2를 참조하여 후술하도록 한다.
본 실시예에서, 사용자 단말(3)과 콜 센터 서버(2)는 네트워크를 통해 음성 통화를 수행할 수 있다. 여기서, 네트워크는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 유무선 공중 전화망을 비롯하여, 단거리 통신망(PAN; Personal Area Network), 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있다.
지금까지 도 1을 참조하여 본 발명의 일 실시예에 따른 지능형 ARS 시스템에 대하여 설명하였다. 다음으로, 도 2를 참조하여 지능형 자동 응답 서비스를 제공하는 서비스 제공 서버(1)의 구성 및 동작에 대하여 설명하도록 한다.
도 2는 본 발명의 다른 실시예에 따른 서비스 제공 서버(1)를 나타내는 블록도이다.
도 2를 참조하면, 예를 들어, 서비스 제공 서버(1)는 "어제 냉장고 A 구매했는데 언제 배송되나요"와 같은 사용자의 질문 내용이 음성 데이터로 입력되면, 이에 대한 응답으로 "배송안내 메시지를 받으셨나요?"와 같은 음성 데이터를 제공할 수 있다.
이와 같은 지능형 자동 응답 서비스를 제공하기 위해, 서비스 제공 서버(1)는 STT 모듈(20), NLU 모듈(10), 대화 관리 모듈(30) 및 TTS 모듈(40)을 포함하도록 구성될 수 있다. 다만, 도 2에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 2에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 또한, 도 2에 도시된 서비스 제공 서버(1)의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수 있고, 각 구성 요소가 독립된 장치에 의해 구현될 수도 있음에 유의한다. 이하, 각 구성 요소에 대하여 설명하도록 한다.
STT(Speech-To-Text) 모듈(20)는 사용자에 의해 발화된 음성을 인식하여 텍스트 형식의 발화 문장으로 변환한다. 이를 위해, STT 모듈(20)은 당해 기술 분야에서 널리 알려진 적어도 하나의 음성 인식 알고리즘을 이용할 수 있다. 도 2에는 배송 문의와 관련된 사용자의 음성이 텍스트 형식의 발화 문장으로 변환된 예를 도시하였다.
NLU(Natural Language Understanding) 모듈(10)은 텍스트 형식의 발화 문장을 분석하여 사용자의 발화 내용을 파악한다. 이를 위해, NLU 모듈(10)은 언어 전처리, 형태소 및 구문 분석, 화행 분석 등의 자연어 처리를 수행할 수 있다.
대화 관리 모듈(30)는 NLU 모듈(10)에 의해 생성된 대화 프레임(50)에 기초하여 상황에 맞는 응답 문장을 생성한다. 이를 위해, 대화 관리 모듈(30)은 챗봇과 같은 지능형 에이전트를 포함하도록 구성될 수 있다.
본 발명의 실시예에 따르면, NLU 모듈(10) 및/또는 대화 관리 모듈(30)은 제1 사용자 의도에 대한 제1 대화 태스크 수행 중에, 사용자의 발화 문장에서 상기 제1 사용자 의도와 다른 제2 사용자 의도가 탐지되면, 상기 제2 사용자 의도에 대한 제2 대화 태스크의 수행 개시 여부를 결정하고, 상기 제1 대화 태스크 및 상기 제2 대화 태스크에 대한 관리를 수행할 수 있다. 이와 같은 실시예에 한하여, NLU 모듈(10) 및/또는 대화 관리 모듈(30)을 통합하여 태스크 처리 모듈로 명명할 수 있고, 상기 태스크 처리 모듈이 탑재된 컴퓨팅 장치는 태스크 처리 장치(100)로 명명될 수 있다. 상기 태스크 처리 장치에 대한 자세한 설명은 도 4 내지 도 7을 참조하여 후술하도록 한다.
TTS(Text-To-Speech) 모듈(40)은 텍스트 형식의 응답 문장을 음성 데이터로 변환하다. 이를 위해, TTS 모듈(40)은 당해 기술 분야에서 널리 알려진 적어도 하나의 음성 합성 알고리즘을 이용할 수 있다. 도 2에는 배송 안내 메시지 수신 여부를 확인하는 응답 문장이 음성 데이터 형식으로 변환되는 예를 도시하였다.
지금까지, 도 2를 참조하여 본 발명의 실시예에 따른 서비스 제공 서버(1)에 대하여 설명하였다. 다음으로, 이해의 편의를 제공하기 위해 지능형 ARS 시스템을 이용하는 사용자의 발화 문장에서 다른 사용자 의도가 탐지된 경우 이를 처리하는 예에 대하여 설명하도록 한다.
도 3a 내지 도 3c는 지능형 ARS 시스템을 이용하는 사용자(60)와 자동 응답 서비스를 이용하는 지능형 에이전트(70) 간의 상담 대화의 예시를 도시한다.
도 3a를 참조하면, 사용자(60)로부터 "출장 접수 하려고 합니다."라는 발화 문장(81)이 입력되면, 지능형 에이전트(70)는 발화 문장(81)로부터 제1 사용자 의도가 출장 접수 요청이라는 것을 파악하고, 상기 출장 접수 요청에 대한 대화 처리 과정을 가리키는 제1 대화 태스크(80)를 개시할 수 있다. 예를 들어, 지능형 에이전트(70)는 제1 대화 태스크(80)를 완료하기 위해, 제품의 종류, 제품의 증상 등에 대한 질의가 포함된 응답 문장을 생성할 수 있다.
제1 대화 태스크(80)를 통해 출장 접수 요청이 완료되기 전에, 사용자(60)로부터 "출장 접수 요청"과 다른 사용자 의도가 포함된 발화 문장이 입력되는 경우가 있을 수 있다. 도 3a에서는, 인근 서비스 센터의 위치를 문의하는 발화 문장(91)을 예로 도시하였다. 예를 들어, 사용자(60)가 이미 출장 접수가 완료된 것으로 착각하거나, A/S 기사가 출장 올 때까지 기다리지 않고 직접 서비스 센터를 찾아가는 것으로 생각이 바뀐 경우 등 다양한 원인에 의해, 이전과 다른 사용자 의도가 포함된 발화 문장이 입력될 수 있다.
위와 같은 상황에서, 지능형 에이전트(70)는 입력된 발화 문장을 무시하고 제1 대화 태스크(80)의 수행을 계속할 것인지, 제1 대화 태스크(80)의 수행을 보류 또는 중지하고 제2 사용자 의도에 대한 제2 대화 태스크(90)를 개시할 것인지를 결정해야 한다.
이와 같은 경우, 도 3b에 도시된 바와 같이, 지능형 에이전트(70)는 발화 문장(91)의 처리를 무시 또는 보류하고 제1 대화 태스크(80)를 완료하기 위한 응답 문장(83)을 제공할 수 있다.
또는, 도 3c에 도시된 바와 같이, 지능형 에이전트(70)는 제1 대화 태스크(80)를 중지 또는 보류하고, 제2 대화 태스크(90)의 수행을 개시할 수도 있다.
또는, 지능형 에이전트(70)는 제1 대화 태스크(80) 또는 제2 대화 태스크(90) 중 어느 대화 태스크를 수행하는지에 대한 질의가 포함된 응답 문장을 생성하고, 사용자(60)의 선택에 따라 어느 하나의 대화 태스크(80, 90)를 수행할 수도 있다.
이하에서, 후술할 본 발명의 몇몇 실시예들은 상술한 경우에 대화 상황, 사용자의 발화 의도를 고려하여 지능형 에이전트(70)의 동작을 결정하는 방법 및 그 방법을 수행하는 장치에 관한 것이다.
이하에서는 도 4 내지 도 9를 참조하여, 본 발명의 또 다른 실시예에 따른 태스크 처리 장치(100)의 구성 및 동작에 대하여 설명하도록 한다.
도 4는 본 발명의 또 다른 실시예에 따른 태스크 처리 장치(100)를 나타내는 블록도이다.
도 4를 참조하면, 태스크 처리 장치(100)는 발화 데이터 입력부(110), 자연어 처리부(120), 사용자 의도 추출부(130), 대화 태스크 전환 결정부(140), 대화 태스크 관리부(150) 및 대화 태스크 처리부(160)를 포함할 수 있다. 다만, 도 4에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 4에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 또한, 도 4에 도시된 태스크 처리 장치(100)의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다. 이하, 태스크 처리 장치(100)의 각 구성 요소에 대하여 설명하도록 한다.
발화 데이터 입력부(110)는 사용자에 의해 발화된 데이터를 가리키는 발화 데이터를 입력받는다. 여기서, 상기 발화 데이터는 예를 들어 사용자에 의해 발화된 음성 데이터, 텍스트 형식의 발화 문장 등을 포함할 수 있다.
자연어 처리부(120)는 발화 데이터 입력부(110)에 입력된 발화 데이터에 대하여 형태소 분석, 화행 분석, 구문 분석, 개체명 인식(named entity recognition; NER), 감성 분석(sentimental analysis) 등의 자연어 처리를 수행할 수 있다. 이를 위해, 자연어 처리부(120)는 당해 기술 분야에서 널리 알려진 적어도 하나의 자연어 처리 알고리즘을 이용할 수 있으며, 상기 자연어 처리 알고리즘에는 어떠한 알고리즘이 이용되더라도 무방하다.
본 발명의 실시예에 따르면, 자연어 처리부(120)는 사용자 의도 추출부(130) 및 대화 태스크 전환 결정부(140)의 기능 수행에 이용되는 기초 정보를 제공하기 위해, 화행 추출, 문장 자질 추출, 기 정의된 감성어 사전을 이용한 감성 분석 등을 수행할 수 있다. 이에 대한 자세한 사항은 도 9 내지 도 11을 참조하여 후술하도록 한다.
사용자 의도 추출부(130)는 상기 발화 데이터로부터 사용자 의도를 추출한다. 이를 위해, 사용자 의도 추출부(130)는 자연어 처리부(120)가 제공하는 자연어 처리 결과를 이용할 수 있다.
몇몇 실시예에서, 사용자 의도 추출부(130)는 자연어 처리부(120)에 의해 추출된 키워드를 이용하여 사용자 의도를 추출할 수 있다. 이때, 사용자 의도에 관한 카테고리는 미리 정의되어 있을 수 있다. 예를 들어, 사용자 의도는 도 6에 도시된 바와 같이 계층적 카테고리 또는 그래프의 형태로 미리 정의되어 있을 수 있다. 상기 사용자 의도의 예로는 전술한 바와 같이 출장 접수(201), 센터 위치 문의(203) 등을 들 수 있다.
몇몇 실시예에서, 사용자 의도 추출부(130)는 추출된 키워드에서 사용자 의도를 결정하기 위해 당해 기술 분야에서 널리 알려진 적어도 하나의 클러스터링 알고리즘을 이용할 수 있다. 예를 들어, 사용자 의도 추출부(130)는 각각의 사용자 의도를 나타내는 키워드를 클러스터링하여, 각각의 사용자 의도에 대응되는 클러스터를 구축할 수 있다. 또한, 사용자 의도 추출부(130)는 상기 클러스터링 알고리즘을 이용하여 발화 문장에서 추출된 키워드가 어느 클러스터에 위치하는지 또는 어느 클러스터와 가장 관련도가 높은 지를 판단하여, 해당 발화 문장에 포함된 사용자 의도를 결정할 수 있다.
몇몇 실시예에서, 사용자 의도 추출부(130)는 자연어 처리부(120)에 의해 제공된 화행 정보를 이용하여 발화 문장을 필터링 할 수 있다. 구체적으로, 사용자 의도 추출부(130)는 발화 문장에 내재된 화행이 질문 화행 또는 요청 화행인 경우에 한하여 해당 발화 문장에서 사용자 의도를 추출할 수 있다. 다시 말하면, 사용자의 구체적인 발화 의도를 분석하기에 앞서, 일반적인 발화 의도인 화행을 이용하여 사용자 의도 추출 대상이 되는 발화 문장의 수를 감소시킬 수 있다. 이에 따라, 사용자 의도 추출부(130)에 소요되는 컴퓨팅 비용이 절약될 수 있다.
위 실시예에서, 상기 화행의 유형은 예를 들어 도 5a에 도시된 바와 같이 정의될 수 있다. 도 5a를 참조하면, 상기 화행의 유형은 행위의 처리를 요구하는 요구 화행, 정보를 제공하는 알림 화행, 정보를 요청하는 질문 화행 등을 포함할 수 있으나, 이에 한정되는 것은 아니며, 화행을 분류하는 방식은 다양할 수 있다.
또한, 실시예에 따라, 상기 질문 화행은 특정 질의에 대하여 포괄적인 정보 요청을 목적으로 하는 제1 질문 화행(e.g. WH-질문 화행), 긍정(예) 또는 부정(아니오)의 정보 요청만을 목적으로 하는 제2 질문 화행(e.g. YN-질문 화행), 이전 질의에 대한 확인 요청을 목적으로 하는 제3 질문 화행 등으로 세분화될 수도 있다.
대화 태스크 전환 결정부(140)는 제1 사용자 의도에 대한 제1 대화 태스크 수행 중에 입력된 발화 문장에서 제2 사용자 의도가 탐지되는 경우, 제2 대화 태스크의 수행을 개시할 지, 상기 제1 대화 태스크의 수행을 계속할 지 등에 대한 결정을 수행한다. 대화 태스크 전환 결정부(140)에 대한 상세한 설명은 도 10 내지 도 15를 참조하여 후술하도록 한다.
대화 태스크 관리부(150)는 전반적인 대화 태스크의 관리를 수행한다. 예를 들어, 대화 태스크 전환 결정부(140)가 현재 대화 태스크를 제1 대화 태스크에서 제2 대화 태스크로 전환하기로 결정한 경우, 상기 제1 대화 태스크에 대한 관리 정보를 저장한다. 이때, 상기 관리 정보는 예를 들어 태스크 수행 상태(e.g. 보류, 종료 등), 태스크 수행 보류 지점 등을 포함할 수 있다.
또한, 대화 태스크 관리부(150)는 상기 제2 대화 태스크가 종료되면, 저장된 관리 정보를 이용하여 상기 제1 대화 태스크의 수행을 재개할 수 있다.
대화 태스크 처리부(160)는 각 대화 태스크의 처리를 수행한다. 예를 들어, 대화 태스크 처리부(160)는 각 대화 태스크의 수행 목적인 사용자 의도가 달성되도록 적절한 응답 문장을 생성한다. 상기 응답 문장을 생성하기 위해, 대화 태스크 처리부(160)는 기 구축된 대화 모델을 이용할 수 있다. 여기서, 상기 대화 모델은 예를 들어 슬롯 필링 기반의 대화 프레임, 유한 상태 관리 기반의 대화 모델 등을 포함할 수 있다.
예를 들어, 상기 대화 모델이 슬롯 필링 기반의 대화 프레임인 경우, 대화 태스크 처리부(160)는 해당 대화 태스크에 대한 대화 프레임의 슬롯을 채우기 위해 적절한 응답 문장을 생성할 수 있다. 이에 같은 사항은 당해 기술 분야의 통상의 기술자에게 자명한 사항이므로 더 이상의 자세한 설명은 생략하도록 한다.
대화 이력 관리부(미도시)는 사용자의 대화 이력을 관리한다. 대화 이력 관리부(미도시)는 대화 이력을 체계적인 기준에 따라 분류하여 관리할 수 있다. 예를 들어, 대화 이력 관리부(미도시)는 사용자 별, 일자 별, 사용자의 위치 별 등으로 대화 이력을 관리하거나, 사용자들의 인구 통계학적 정보(e.g. 연령층, 성별 등)를 기준으로 대화 이력을 관리할 수 있다.
또한, 대화 이력 관리부(미도시)는 상기 대화 이력을 기초로 다양한 통계 정보를 제공할 수 있다. 예를 들어, 대화 이력 관리부(미도시)는 통계 정보에서 기 설정된 횟수 이상 나타난 사용자 의도, 상기 사용자 의도가 포함된 질문 사항(e.g. 빈출 질문(FAQ)) 등의 정보를 제공할 수 있다.
지금까지 설명한 도 4의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.
도 7은 본 발명의 또 다른 실시예에 따른 태스크 처리 장치(100)의 하드웨어 구성도이다.
도 7을 참조하면, 태스크 처리 장치(100)는 하나 이상의 프로세서(101), 버스(105), 네트워크 인터페이스(107), 프로세서(101)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(103)와, 태스크 처리 소프트웨어(109a)를 저장하는 스토리지(109)를 포함할 수 있다. 다만, 도 7에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 7에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(101)는 태스크 처리 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(101)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(101)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 태스크 처리 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.
메모리(103)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(103)는 본 발명의 실시예들에 따른 태스크 처리 방법을 실행하기 위하여 스토리지(109)로부터 하나 이상의 프로그램(109a)을 로드할 수 있다. 도 7에서 메모리(103)의 예시로 RAM이 도시되었다.
버스(105)는 태스크 처리 장치(100)의 구성 요소 간 통신 기능을 제공한다. 버스(105)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
네트워크 인터페이스(107)는 태스크 처리 장치(100)의 유무선 인터넷 통신을 지원한다. 또한, 네트워크 인터페이스(107)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(107)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
스토리지(109)는 상기 하나 이상의 프로그램(109a)을 비임시적으로 저장할 수 있다. 도 x에서 상기 하나 이상의 프로그램(109a)의 예시로 태스크 처리 소프트웨어(109a)가 도시되었다.
스토리지(109)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
태스크 처리 소프트웨어(109a)는 본 발명의 실시예에 따라 태스크 처리 방법을 수행할 수 있다.
구체적으로, 태스크 처리 소프트웨어(109a)는 메모리(103)에 로드되어, 하나 이상의 프로세서(101)에 의해, 제1 사용자 의도에 대한 대화 처리 과정을 가리키는 제1 대화 태스크의 수행 중에, 사용자의 발화 문장에서 상기 제1 사용자 의도와 다른 제2 사용자 의도를 탐지하는 오퍼레이션, 상기 제2 사용자 의도가 탐지됨에 응답하여, 상기 제2 사용자 의도에 대한 대화 처리 과정을 가리키는 제2 대화 태스크의 수행 개시 여부를 결정하는 오퍼레이션 및 상기 제2 대화 태스크의 수행 개시 결정에 응답하여, 상기 발화 문장에 대한 응답 문장을 생성하는 오퍼레이션을 실행할 수 있다.
지금까지, 도 4 내지 도 7을 참조하여 본 발명의 실시예에 따른 태스크 처리 장치(100)의 구성 및 동작에 대하여 설명하였다. 다음으로, 도 8 내지 도 15를 참조하여 본 발명의 또 다른 실시예에 따른 태스크 처리 방법에 대하여 상세하게 설명한다.
이하, 본 발명의 실시예에 따른 태스크 처리 방법의 각 단계는, 컴퓨팅 장치에 의해 수행될 수 있다. 예를 들어, 상기 컴퓨팅 장치는 태스크 처리 장치(100)일 수 있다. 다만, 설명의 편의를 위해, 상기 태스크 처리 방법에 포함되는 각 단계의 동작 주체는 그 기재가 생략될 수도 있다. 또한, 태스크 처리 방법의 각 단계는 태스크 처리 소프트웨어(109a)가 프로세서(101)에 의해 실행됨으로써, 태스크 처리 장치(100)에서 수행되는 오퍼레이션일 수 있다.
도 8은 본 발명의 실시예에 따른 태스크 처리 방법의 흐름도이다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일 뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.
도 8을 참조하면, 태스크 처리 장치(100)는 제1 사용자 의도에 대한 대화 처리 과정을 가리키는 제1 대화 태스크를 수행하고(S100), 상기 제1 대화 태스크의 수행 중에, 발화 문장을 입력받는다(S200).
그러면, 태스크 처리 장치(100)는 상기 발화 문장에서 제2 사용자 의도를 추출한다(S300). 이때, 상기 제2 사용자 의도를 추출하는 방법은 어떠한 방식이 이용되더라도 무방하다.
몇몇 실시예에서, 상기 제2 사용자 의도를 추출하기에 앞서, 화행 분석이 선행될 수 있다. 예를 들어, 도 9에 도시된 바와 같이, 태스크 처리 장치(100)는 발화 문장에 내재된 화행을 추출하고(S310), 상기 추출된 화행이 질문 화행 또는 요청 화행인지 판정하며(S330), 판정 결과 상기 추출된 화행이 질문 화행 또는 요청 화해인 경우에 한하여, 상기 발화 문장에 포함된 제2 사용자 의도를 추출할 수 있다(S350).
다음으로, 태스크 처리 장치(100)는 추출된 제2 사용자 의도가 상기 제1 사용자 의도와 상이한지 여부를 판정한다(S400).
몇몇 실시예에서, 태스크 처리 장치(100)는 상기 제2 사용자 의도와 상기 제1 사용자 의도 사이의 유사도를 산출하고, 상기 유사도가 기 설정된 임계 값 이하인지 여부를 판정하는 방식으로 본 단계(S400)를 수행할 수도 있다. 상기 유사도는 예를 들어 각각의 사용자 의도가 클러스터로 구축된 경우 클러스터 중심(centroid) 간의 거리에 기초하여 결정될 수 있다. 다른 예를 들어, 사용자 의도가 도 6에 도시된 바와 같이 그래프 기반의 자료 구조로 설정된 경우, 상기 제1 사용자 의도에 대응되는 제1 노드와 상기 제2 사용자 의도에 대응되는 제2 노드 간의 거리에 기초하여 결정될 수도 있다.
단계(S400)의 판정 결과, 사용자 의도가 상이한 경우, 상기 제2 사용자 의도에 대한 대화 처리 과정을 가리키는 제2 대화 태스크의 수행 개시 여부가 결정된다(S500). 본 단계에 대한 상세한 설명은 도 10 내지 도 15를 참조하여 후술하도록 한다.
단계(S500)에서, 수행 개시 결정이 내려진 경우, 상기 수행 개시 결정에 응답하여, 태스크 처리 장치(100)는 발화 문장에 대한 응답 문장을 생성함으로써 제2 대화 태스크의 수행을 개시한다(S600). 단계(S600)에서, 상기 응답 문장을 생성하기 위해, 대화 내용 및 순서 등이 정의된 대화 모델이 이용될 수 있고, 상기 대화 모델의 예는 도 14 및 도 15를 참조하도록 한다.
지금까지, 도 8 및 도 9를 참조하여, 본 발명의 실시예에 따른 태스크 처리 방법에 대하여 설명하였다. 이하에서는, 도 10 내지 도 15를 참조하여, 도 8에 도시된 단계(S500)에서 수행되는 대화 태스크 전환 여부 결정 방법에 대하여 상세하게 설명하도록 한다.
도 10은 대화 태스크 전환 여부 결정 방법에 대한 제1 흐름도를 도시한다.
도 10을 참조하면, 태스크 처리 장치(100)는 발화 문장 자체의 중요도 점수에 기초하여, 제2 대화 태스크 수행 개시 여부를 결정할 수 있다.
이에 대하여 구체적으로 살펴보면, 태스크 처리 장치(100)는 발화 문장에 대한 문장 자질을 기초로 제1 중요도 점수를 산출한다(S511). 여기서, 상기 문장 자질은 예를 들어 명사의 개수 및 개체명 인식을 통해 인식된 단어의 개수 등을 포함할 수 있다. 상기 개체명 인식은 당해 기술 분야에서 널리 알려진 적어도 하나의 개체명 인식 알고리즘을 이용하여 수행될 수 있다.
단계(S511)에서, 태스크 처리 장치(100)는 예를 들어 문장 자질 별 중요도 점수 및 가중치에 기초한 가중치 합을 통해 상기 제1 중요도 점수를 산출할 수 있고, 각 문장 자질 별 중요도 점수는 예를 들어 개수가 많을수록 높은 값으로 결정될 수 있다. 상기 문장 자질 별 가중치는 기 설정된 고정 값 또는 상황에 따라 변동되는 변동 값일 수 있다.
또한, 태스크 처리 장치(100)는 사용자 자신의 대화 이력에 나타난 제3 사용자 의도와 제2 사용자 의도와의 유사도에 기초하여 제2 중요도 점수를 산출할 수 있다(S512). 여기서, 상기 제3 사용자 의도는 사용자 자신의 대화 이력에 대한 통계 결과에 기초하여 결정된 사용자 의도를 의미할 수 있다. 예를 들어, 상기 제3 사용자 의도는 해당 사용자의 대화 이력에서 일정 횟수 이상 나타난 사용자 의도를 포함할 수 있다.
또한, 태스크 처리 장치(100)는 복수의 사용자의 대화 이력에 나타난 제4 사용자 의도와 제2 사용자 의도와의 유사도에 기초하여 제3 중요도 점수를 산출할 수 있다(S513). 여기서, 상기 복수의 사용자는 발화 문장을 발화한 사용자를 포함하여, 태스크 처리 장치(100)와 대화 태스크를 수행한 다른 사용자를 포함하는 개념일 수 있다. 또한, 상기 제4 사용자 의도는 상기 복수의 사용자의 대화 이력에 대한 통계 결과에 기초하여 결정된 사용자 의도를 의미할 수 있다. 예를 들어, 상기 제4 사용자 의도는 복수의 사용자의 대화 이력에서 일정 횟수 이상 나타난 사용자 의도를 포함할 수 있다.
단계(S512, S513)에서 유사도는 상술한 클러스터 유사도, 그래프 거리 기반 유사도 등 어떠한 방식으로 산출되더라도 무방하다.
다음으로, 태스크 처리 장치(100)는 상기 제1 중요도 점수, 상기 제2 중요도 점수 및 상기 제3 중요도 점수를 기초로 최종 중요도 점수를 산출할 수 있다. 예를 들어, 태스크 처리 장치(100)는 상기 제1 내지 제3 중요도 점수의 가중치 합으로 상기 최종 중요도 점수를 산출할 수 있다(S514). 여기서, 상기 가중치 합에 이용되는 각각의 가중치는 기 설정된 고정 값일 수 있고, 상황에 따라 변동되는 변동 값일 수도 있다.
다음으로, 태스크 처리 장치(100)는 최종 중요도 점수가 기 설정된 임계 값 이상인지 판정하고(S515), 판정 결과 상기 임계 값 이상인 경우, 제2 대화 태스크의 수행 개시를 결정할 수 있다(S517). 반대의 경우는, 태스크 처리 장치(100)는 상기 제2 대화 태스크의 수행 보류 또는 수행 중단을 결정할 수 있다.
한편, 도 10에 도시된 바와 같이, 단계(S511 내지 S513) 간에는 어떠한 순서가 존재하는 것은 아니고, 실시예에 따라 순차적 또는 병렬적으로 수행될 수 있다. 또한, 실시예에 따라, 상기 제1 중요도 점수 및 상기 제3 중요도 점수 중 적어도 하나의 중요도 점수만을 이용하여 최종 중요도 점수가 산출될 수도 있다.
다음으로, 도 11 내지 도 12b를 참조하여, 대화 태스크 전환 여부 결정 방법에 대한 제2 흐름도에 대하여 설명하도록 한다.
도 11을 참조하면, 태스크 처리 장치(100)는 발화 문장의 감성 지수를 기초로, 제2 대화 태스크 수행 개시 여부를 결정할 수 있다. 지능형 ARS 시스템에서, 상담 중인 사용자의 현재 감성 상태는 고객 만족도와 밀접한 관련이 있기 때문이다.
이에 대하여 구체적으로 살펴보면, 태스크 처리 장치(100)는 발화 문장으로부터 사용자의 현재 감성 상태를 파악하기 위해, 기 정의된 감성어 사전을 기초로 발화 문장에 포함된 감성 단어를 추출한다(S521). 상기 감성어 사전은 예를 들어 도 12a에 도시된 바와 같이 긍정어 사전 및 부정어 사전을 포함할 수 있고, 도 12b에 도시된 바와 같이 각각의 감성 단어에 대한 감성 지수 정보를 포함할 수 있다.
다음으로, 태스크 처리 장치(100)는 추출된 감성 단어 각각에 대한 감성 지수의 가중치 합을 이용하여 사용자의 감성 상태를 가리키는 최종 감성 지수를 산출할 수 있다. 여기서, 상기 가중치 합에 이용되는 감성 단어 별 가중치는 예를 들어 부정과 관련된 감성 단어의 감성 지수에 더 높은 가중치가 부여될 수 있다. 이는, 사용자가 부정에 가까운 감성 상태에 있을수록, 발화 문장을 신속하게 처리할 필요가 있기 때문이다.
한편, 본 발명의 실시예에 따르면, 상기 발화 문장에 대응되는 음성 데이터가 입력되는 경우, 상기 음성 데이터를 이용하여 사용자의 감성 상태가 보다 정확하게 파악될 수 있다.
본 실시예에 대하여 구체적으로 살펴보면, 태스크 처리 장치(100)는 감성 단어 각각에 대응되는 음성 데이터 부분의 음성 특징을 기초로 최종 감성 지수 산출에 이용되는 감성 단어 별 가중치를 결정할 수 있다(S522). 여기서, 상기 음성 특징은 예를 들어 톤, 높낮이, 빠르기, 크기 등의 특징을 포함할 수 있다. 구체적인 예를 들어, 제1 감성 단어에 대응되는 제1 음성 데이터 부분의 소리가 크거나, 음이 높거나, 말이 빠르거나 하는 등의 음성 특징이 추출된 경우, 상기 제1 감성 단어의 감성 지수에 더 높은 감성 단어 별 가중치가 부여될 수 있다. 즉, 격양된 감성 또는 부정적인 감성 상태 등을 가리키는 음성 특징이 특정 음성 데이터에서 나타나면, 해당 음성 데이터 부분에 대응되는 감성 단어 별 감성 지수에 더 높은 가중치가 부여될 수 있다.
다음으로, 태스크 처리 장치(100)는 감성 단어 별 가중치 및 감성 단어 별 감성 지수의 가중치 합을 이용하여 최종 감성 지수를 산출하고(S523), 상기 최종 감성 지수가 임계 값 이상인 경우, 제2 대화 태스크의 수행 개시를 결정할 수 있다(S524, S525).
실시예에 따라, 상기 음성 특징으로부터 사용자의 감성 상태를 예측하기 위해 기계 학습 모델이 이용될 수도 있다. 이와 같은 경우, 상기 기계 학습 모델을 통해 예측된 사용자의 감성 상태를 기초로 감성 단어 별 가중치가 결정될 수도 있다.
또는, 실시예에 따라, 상기 기계 학습 모델을 이용하여 발화 문장 전반에 대하여 나타난 사용자의 감성 상태가 예측될 수 있다. 이와 같은 경우, 발화 문장에 드러나는 현재 사용자의 감성 상태가 기 설정된 조건(e.g. 부정적인 감성이 강하게 나타난 경우)을 만족하면, 바로 제2 대화 태스크의 수행 개시가 결정될 수도 있다.
다음으로, 도 13 내지 도 15를 참조하여, 대화 태스크 전환 여부 결정 방법에 대한 제3 흐름도에 대하여 설명하도록 한다.
도 13을 참조하면, 태스크 처리 장치(100)는 제1 대화 태스크의 예상 완료 시간에 기초하여, 제2 대화 태스크의 수행 개시 여부를 결정할 수 있다. 제1 대화 태스크의 수행 완료 시점이 가까운 경우, 상기 제1 대화 태스크를 완료하고, 제2 대화 태스크의 수행을 개시하는 것이 보다 효율적이기 때문이다.
이에 대하여 구체적으로 살펴보면, 태스크 처리 장치(100)는 제1 대화 태스크의 예상 완료 시간을 결정한다(S531). 여기서, 상기 제1 대화 태스크의 예상 완료 시간을 결정하는 방법은 예를 들어 상기 제1 대화 태스크의 대화 모델에 따라 달라질 수 있다.
예를 들어, 상기 제1 대화 태스크가 도 14에 도시된 바와 같이 그래프 기반의 대화 모델(e.g. 유한 상태 관리 기반 대화 모델)에 기초하여 수행되는 경우, 상기 제1 대화 태스크의 예상 완료 시간은, 상기 그래프 기반의 대화 모델에서, 상기 제1 대화 태스크의 현재 수행 지점을 가리키는 제1 노드(e.g. 211, 213, 221, 223)와 상기 제1 대화 태스크의 처리 완료 지점을 가리키는 제2 노드(e.g. 마지막 노드) 사이의 거리에 기초하여 결정될 수 있다.
다른 예를 들어, 상기 제1 대화 태스크가 도 15에 도시된 바와 같이 슬롯 필링(slot filling) 기반의 대화 프레임에 기초하여 수행되는 경우, 상기 제1 대화 태스크의 예상 완료 시간은, 상기 대화 프레임의 빈 슬롯 개수에 기초하여, 결정될 수 있다.
다음으로, 단계(S531)에서 결정된 제1 대화 태스크의 예상 완료 시간이 기 설정된 임계 값 이상이면, 태스크 처리 장치(100)는 제2 대화 태스크의 수행 개시를 결정할 수 있다(S533, S537). 그러나, 반대의 경우, 태스크 처리 장치(100)는 제1 대화 태스크의 예상 완료 시간이 얼마 남지 않은 바, 제2 대화 태스크의 수행을 보류 또는 중단하고, 제1 대화 태스크를 신속하게 처리할 수 있다(S535)
한편, 본 발명의 실시예에 따르면, 태스크 처리 장치(100)는 제2 대화 태스크의 예상 완료 시간을 기초로, 상기 제2 대화 태스크의 수행 개시 여부를 결정할 수도 있다. 제2 대화 태스크의 금방 종료될 수 있는 태스크인 경우, 신속하게 제2 대화 태스크를 처리하고, 제1 대화 태스크를 이어가는 것이 보다 효율적이기 때문이다.
구체적으로, 태스크 처리 장치(100)는 상기 제2 대화 태스크가 슬롯 필링 기반의 대화 프레임에 기초하여 수행되는 경우, 상기 제1 대화 태스크의 처리에 이용된 대화 정보 및 상기 발화 문장에 기초하여, 상기 제2 대화 태스크에 대한 대화 프레임의 슬롯을 채우고, 상기 대화 프레임의 빈 슬롯 개수에 기초하여 상기 제2 대화 태스크의 예상 완료 시간을 결정할 수 있다. 또한, 상기 제2 대화 태스크의 예상 완료 시간이 기 설정된 임계 값 이하인 경우, 상기 제2 대화 태스크의 수행 개시를 결정할 수도 있다.
또한, 본 발명의 실시예에 따르면, 태스크 처리 장치(100)는 상기 제1 대화 태스크의 예상 완료 시간과 상기 제2 대화 태스크의 예상 완료 시간을 비교하고, 예상 완료 시간이 더 작아 빠르게 종료될 수 있는 대화 태스크를 수행할 수도 있다. 예를 들어, 상기 제2 대화 태스크의 예상 완료 시간이 더 작은 경우, 태스크 처리 장치(100)는 상기 제2 대화 태스크의 수행 개시를 결정할 수 있다.
또한, 본 발명의 실시예에 따르면, 발화 문장에 내재된 화행에 기초하여 상기 제2 대화 태스크의 수행 개시 여부를 결정될 수도 있다. 예를 들어, 상기 발화 문장에서 화행이 긍정(yes) 또는 부정(no)의 응답을 요구하는 질문 화행(e.g. YN-질문 화행)인 경우, 빠르게 종료될 수 있는 대화 태스크이므로, 태스크 처리 장치(100)는 상기 제2 대화 태스크의 수행 개시를 결정할 수 있다. 그리고, 태스크 처리 장치(100)는 상기 발화 문장에 대한 응답 문장을 생성한 뒤, 바로 제1 대화 태스크의 수행을 재개할 수 있다.
또한, 본 발명의 실시예에 따르면, 태스크 처리 장치(100)는 상기 제1 대화 태스크의 진행 정도에 기초하여, 상기 제2 대화 태스크의 수행 개시 여부를 결정할 수도 있다. 예를 들어, 상기 제1 대화 태스크가 그래프 기반의 대화 모델에 기초하여 수행되는 경우, 상기 그래프 기반의 대화 모델에서, 상기 제1 대화 태스크의 시작 지점을 가리키는 제1 노드와 상기 제1 대화 태스크의 현재 수행 지점을 가리키는 제2 노드 사이의 거리를 산출하고, 상기 산출된 거리 기 설정된 임계 값 이하인 경우에 한하여, 상기 제2 대화 태스크의 수행 개시를 결정할 수 있다.
한편, 본 발명의 몇몇 실시예에 따르면, 태스크 처리 장치(100)는 사용자 의도를 보다 정확하게 파악하기 위해, 대화 태스크 전환 여부에 대한 결정을 질의하는 응답 문장을 생성하여 제공할 수 있다.
예를 들어, 제1 사용자 의도에 대한 대화 태스크 수행 중에, 발화 문장에서 상이한 제2 사용자 의도가 탐지된 경우, 사용자 의도 파악을 위한 질의를 수행할 수 있다. 구체적으로, 태스크 처리 장치(100)는 상기 제1 사용자 의도와 상기 제2 사용자 의도 사이의 유사도를 산출하고, 상기 유사도가 기 설정된 임계 값 이하인 경우, 상기 제2 대화 태스크의 수행 개시 여부에 대한 질의 문장을 생성하여 제공할 수 있다. 또한, 상기 질의 문장의 응답으로 입력된 발화 문장에 기초하여, 상기 제2 대화 태스크의 수행 개시 여부를 결정할 수 있다.
다른 예를 들어, 태스크 처리 장치(100)는 도 8, 도 10, 도 11 및 도 13에 도시된 흐름도에서, 제2 대화 태스크의 수행 보류를 결정한 경우(S500, S516, S525, S535) 또는 상기 수행 보류의 결정에 앞서, 상기 제2 대화 태스크의 수행 개시 여부에 대한 질의 문장을 생성하여 제공할 수 있다.
또 다른 예를 들어, 태스크 처리 장치(100)는 도 10, 도 11 및 도 13에 도시된 흐름도에서, 이용되는 결정 지표(e.g. 최종 중요도 점수, 최종 감성 지수, 예상 완료 시간)가 제1 임계 값 미만인 경우에는 자동으로 제2 대화 태스크의 수행 보류를 결정하고, 상기 제1 임계 값과 제2 임계 값 사이인 경우(단, 상기 제2 임계 값은 제1 임계 값보다 큰 값으로 설정됨)에는 상기 질의 문장을 생성하여 제공하고, 제2 임계 값 이상인 경우에는, 제2 대화 태스크의 수행 개시를 결정할 수 있다.
한편, 본 발명의 몇몇 실시예에 따르면, 태스크 처리 장치(100)는 기계 학습 기반의 제1 베이즈 모델(bayes model)을 이용하여, 각 발화 문장의 중요도 점수를 산출하고, 상기 산출된 중요도 점수의 비교 결과에 기초하여 제2 대화 태스크의 수행 개시 여부를 결정할 수 있다. 여기서, 상기 제1 베이즈 모델은 예를 들어 나이브 베이즈 모델(naive bayes model)일 수 있으나, 이에 한정되는 것은 아니다. 또한, 상기 제1 베이즈 모델은 발화 문장을 발화한 사용자의 대화 이력을 기초로 학습된 모델일 수 있다.
구체적으로, 발화 문장 별로 소정의 중요도 점수가 태깅된 사용자의 대화 이력을 학습하여, 상기 제1 베이즈 모델이 구축될 수 있고, 상기 학습에 이용되는 특징은 예를 들어 각 발화 문장에 포함된 단어, 명사, 개체명 인식을 통해 인식된 단어 등이 될 수 있다. 또한, 상기 학습은 예를 들어 MLE(Maximum Likelihood Estimation) 방법이 이용될 수 있으나, 사전 확률(prior)이 존재한다면 MAP(Maximum A Posteriori) 방법이 이용되더라도 무방하다. 상기 제1 베이즈 모델이 구축되면, 제1 대화 태스크와 관련된 제1 발화 문장과 제2 사용자 의도가 탐지된 제2 발화 문장에 포함된 특징을 이용하여 각 발화 문장에 대한 베이즈 확률이 산출될 수 있고, 상기 베이즈 확률을 이용하여 각각의 발화 문장에 대한 중요도 점수가 산출될 수 있다. 예를 들어, 제1 발화 문장 및 제2 발화 문장에 대한 중요도 점수를 산출한다고 가정하면, 상기 제1 베이즈 모델 이용하여, 상기 제1 발화 문장에 대한 예측된 중요도 점수를 가리키는 제1-1 베이즈 확률 값이 산출되고, 상기 제2 문장에 대한 예측된 중요도 점수를 가리키는 제1-2 베이즈 확률 값이 산출될 수 있다. 그러면, 상기 제1-1 베이즈 확률 값과 상기 제1-2 베이즈 확률 값의 상대적 비율(e.g. 우도비)을 이용하여, 상기 제1 발화 문장 및 상기 제2 발화 문장 각각의 중요도가 평가될 수 있다.
본 발명의 몇몇 실시예에 따르면, 기계 학습 기반의 제2 베이즈 모델을 이용하여, 각 문장의 중요도 점수가 산출될 수도 있다. 여기서, 상기 제2 베이즈 모델은 복수의 사용자(e.g. 지능형 ARS 서비스를 이용하는 전체 사용자)의 대화 이력을 기초로 학습된 모델일 수 있다. 또한, 상기 제2 베이즈 모델도 예를 들어 나이브 베이즈 모델일 수 있으나, 이에 한정되는 것은 아니다. 상기 제2 베이즈 모델을 이용하여, 각 문장의 증요도 점수를 산출하는 방법은 상기 제1 베이즈 모델을 이용하는 것과 유사하므로 이에 대한 설명은 생략하도록 한다.
본 발명의 몇몇 실시예에 따르면, 상기 제1 베이즈 모델 및 상기 제2 베이즈 모델을 모두 이용하여, 각 발화 문장의 중요도 점수가 산출될 수 있다. 예를 들어, 제1 대화 태스크와 관련된 제1 발화 문장 및 제2 사용자 의도가 탐지된 제2 발화 문장에 대한 중요도 점수를 산출한다고 가정하면, 상기 제1 베이즈 모델 이용하여, 상기 제1 발화 문장에 대한 예측된 중요도 점수를 가리키는 제1-1 베이즈 확률 값이 산출되고, 상기 제2 발화 문장에 대한 예측된 중요도 점수를 가리키는 제1-2 베이즈 확률 값이 산출될 수 있다. 또한, 상기 제2 베이즈 모델을 이용하여, 상기 제1 발화 문장에 대한 제2-1 베이즈 확률 값이 산출되고, 상기 제2 발화 문장에 대한 제2-2 베이즈 확률 값이 산출될 수 있다. 그러면, 상기 제1-1 베이즈 확률 값과 상기 제1-2 베이즈 확률 값의 상대적 비율(e.g. 우도비)을 이용하여, 상기 제1 발화 문장에 대한 제1-1 중요도 점수가 결정되고, 상기 제2 발화 문장에 대한 제1-2 중요도 점수가 결정될 수 있고, 동일하게 제2-1 베이즈 확률 값과 상기 제2-2 베이즈 확률 값의 상대적 비율(e.g. 우도비)을 이용하여, 상기 제1 발화 문장에 대한 제2-1 중요도 점수가 결정되고, 상기 제2 발화 문장에 대한 제2-2 중요도 점수가 결정될 수 있다. 최종적으로, 상기 제1-1 중요도 점수와 상기 제2-1 중요도 점수의 가중치 합 등을 통해 상기 제1 발화 문장의 최종 중요도 점수가 결정되고, 제1-2 중요도 점수와 상기 제2-2 중요도 점수의 가중치 합 등을 통해 상기 제2 발화 문장의 최종 중요도 점수가 결정될 수 있다. 그러면, 태스크 처리 장치(100)는 상기 제1 발화 문장의 최종 중요도 점수와 상기 제2 발화 문장의 최종 중요도 점수의 비교 결과에 기초하여, 제2 사용자 의도를 처리하기 위한 제2 대화 태스크의 수행 개시 여부를 결정할 수 있다. 예를 들어, 제2 발화 문장의 최종 중요도 점수가 제1 발화 문장의 최종 중요도 점수보다 높거나, 점수 차이가 기 설정된 임계 값 이상이거나 등의 조건을 만족하는 경우, 태스크 처리 장치(100)는 상기 제2 대화 태스크의 수행 개시를 결정할 수 있다.
지금까지 도 8 내지 도 15를 참조하여, 본 발명의 실시예에 따른 태스크 처리 방법에 대하여 설명하였다. 상술한 방법에 따르면, 제1 사용자 의도에 대한 제1 대화 태스크 수행 중에, 사용자의 발화 문장에서 상기 제1 사용자 의도와 상이한 제2 사용자 의도가 탐지되면, 대화 상황, 사용자의 발화 의도 등을 고려하여 자동으로 상기 제2 사용자 의도에 대한 제2 대화 태스크의 수행 개시 여부가 결정될 수 있다. 이에 따라, 본 발명이 적용된 지능형 에이전트는 사용자의 갑작스런 의도 변화에 대처하여, 상담원 등의 사람 개입 없이 원활한 대화 진행이 가능할 수 있다.
또한, 본 발명이 대고객 서비스를 제공하는 지능형 ARS 시스템에 적용되는 경우, 고객의 의도를 파악하여 원활한 대화 진행이 이루어질 수 있는 바, 고객 만족도가 제고될 수 있다.
또한, 본 발명이 적용된 지능형 ARS 시스템의 경우, 상담원 등의 사람 개입이 최소화될 수 있는 바, 시스템 운용에 소요되는 인적 비용이 크게 절감될 수 있다.
지금까지 도 1 내지 도 15를 참조하여 설명된 본 발명의 개념은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.

Claims (20)

  1. 태스크 처리 장치에 의해 수행되는 태스크 처리 방법에 있어서,
    제1 사용자 의도에 대한 대화 처리 과정을 가리키는 제1 대화 태스크의 수행 중에, 사용자의 발화 문장에서 상기 제1 사용자 의도와 다른 제2 사용자 의도를 탐지하는 단계;
    상기 제2 사용자 의도가 탐지됨에 응답하여, 상기 제2 사용자 의도에 대한 대화 처리 과정을 가리키는 제2 대화 태스크의 수행 개시 여부를 결정하는 단계; 및
    상기 제2 대화 태스크의 수행 개시 결정에 응답하여, 상기 발화 문장에 대한 응답 문장을 생성하는 단계를 포함하는 것을 특징으로 하는,
    태스크 처리 방법.
  2. 제1 항에 있어서,
    상기 제1 사용자 의도와 다른 제2 사용자 의도를 탐지하는 단계는,
    상기 발화 문장을 입력받는 단계;
    화행 분석을 통해, 상기 발화 문장에 내재된 화행을 추출하는 단계;
    상기 추출된 화행이 질문 화행 또는 요청 화행인 경우, 상기 발화 문장에서 상기 제2 사용자 의도를 추출하는 단계; 및
    상기 제1 사용자 의도와 상기 제2 사용자 의도를 비교하는 단계를 포함하는 것을 특징으로 하는,
    태스크 처리 방법.
  3. 제1 항에 있어서,
    상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계는,
    화행 분석을 통해, 상기 발화 문장에 내재된 화행을 추출하는 단계; 및
    상기 추출된 화행이 긍정(yes) 또는 부정(no)의 응답을 요구하는 질문 화행인 경우, 상기 제2 대화 태스크의 수행 개시를 결정하는 단계를 포함하고,
    상기 응답 문장을 제공하는 단계 이후에, 상기 제1 대화 태스크의 수행을 재개하는 단계를 더 포함하는 것을 특징으로 하는,
    태스크 처리 방법.
  4. 제1 항에 있어서,
    상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계는,
    상기 발화 문장에 대한 문장 자질을 기초로, 상기 발화 문장의 중요도 점수를 산출하는 단계; 및
    상기 중요도 점수가 기 설정된 임계 값 이상인 경우, 상기 제2 대화 태스크를 수행하기로 결정하는 단계를 포함하는 것을 특징으로 하는,
    태스크 처리 방법.
  5. 제4 항에 있어서,
    상기 문장 자질은,
    명사의 개수 및 개체명 인식을 통해 인식된 단어의 개수를 포함하는 것을 특징으로 하는,
    태스크 처리 방법.
  6. 제1 항에 있어서,
    상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계는,
    상기 발화 문장을 발화한 사용자의 대화 이력을 기초로 산출된 통계 정보에서 기 설정된 횟수 이상 나타난 제3 사용자 의도와 상기 제2 사용자 의도와의 유사도에 기초하여, 상기 제2 대화 태스크를 수행하기로 결정하는 단계를 포함하는 것을 특징으로 하는,
    태스크 처리 방법.
  7. 제1 항에 있어서,
    상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계는,
    복수의 사용자의 대화 이력을 기초로 산출된 통계 정보에서 기 설정된 횟수 이상 나타난 제3 사용자 의도와 상기 제2 사용자 의도와의 유사도에 기초하여, 상기 제2 대화 태스크를 수행하기로 결정하는 단계를 포함하는 것을 특징으로 하는,
    태스크 처리 방법.
  8. 제1 항에 있어서,
    상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계는,
    상기 발화 문장에 포함된 감성 단어를 기초로 감성 분석(sentimental analysis)을 수행하는 단계; 및
    상기 감성 분석의 결과를 기초로, 상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계를 포함하는 것을 특징으로 하는,
    태스크 처리 방법.
  9. 제8 항에 있어서,
    상기 발화 문장을 가리키는 음성 데이터를 입력받는 단계를 더 포함하되,
    상기 감성 분석을 수행하는 단계는,
    상기 음성 데이터에 포함된 음성 특징을 더 이용하여, 상기 감성 분석을 수행하는 단계를 포함하는 것을 특징으로 하는,
    태스크 처리 방법.
  10. 제9 항에 있어서,
    상기 음성 데이터에 포함된 음성 특징을 더 이용하여, 상기 감성 분석을 수행하는 단계는,
    기 정의된 감성어 사전을 이용하여, 상기 발화 문장에 포함된 감성 단어를 추출하는 단계; 및
    상기 추출된 감성 단어 각각의 감성 지수에 대한 가중치 합(weighted sum)을 통해 상기 감성 분석의 결과를 산출하는 단계를 포함하되,
    상기 가중치 합에 이용되는 감성 단어 별 가중치는,
    상기 추출된 감성 단어에 대응되는 음성 데이터 부분의 음성 특징에 기초하여 결정되는 것을 특징으로 하는,
    태스크 처리 방법.
  11. 제1 항에 있어서,
    상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계는,
    상기 제1 대화 태스크의 예상 완료 시간에 기초하여, 상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계를 포함하는 것을 특징으로 하는,
    태스크 처리 방법.
  12. 제11 항에 있어서,
    상기 제1 대화 태스크는,
    슬롯 필링(slot filling) 기반의 대화 프레임에 기초하여 수행되고,
    상기 제1 대화 태스크의 예상 완료 시간은,
    상기 대화 프레임의 빈 슬롯 개수에 기초하여, 결정되는 것을 특징으로 하는,
    태스크 처리 방법.
  13. 제11 항에 있어서,
    상기 제1 대화 태스크는,
    그래프 기반의 대화 모델에 기초하여 수행되고,
    상기 제1 대화 태스크의 예상 완료 시간은,
    상기 그래프 기반의 대화 모델에서, 상기 제1 대화 태스크의 현재 수행 지점을 가리키는 제1 노드와 상기 제1 대화 태스크의 처리 완료 지점을 가리키는 제2 노드 사이의 거리에 기초하여 결정되는 것을 특징으로 하는,
    태스크 처리 방법.
  14. 제1 항에 있어서,
    상기 제1 대화 태스크는,
    그래프 기반의 대화 모델에 기초하여 수행되고,
    상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계는,
    상기 그래프 기반의 대화 모델에서, 상기 제1 대화 태스크의 시작 지점을 가리키는 제1 노드와 상기 제1 대화 태스크의 현재 수행 지점을 가리키는 제2 노드 사이의 거리에 기초하여, 상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계를 포함하는 것을 특징으로 하는,
    태스크 처리 방법.
  15. 제1 항에 있어서,
    상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계는,
    상기 제2 대화 태스크의 예상 완료 시간에 기초하여, 상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계를 포함하는 것을 특징으로 하는,
    태스크 처리 방법.
  16. 제15 항에 있어서,
    상기 제2 대화 태스크는,
    슬롯 필링(slot filling) 기반의 대화 프레임에 기초하여 수행되고,
    상기 제2 대화 태스크의 예상 완료 시간에 기초하여, 상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계는,
    상기 제1 대화 태스크에 관련된 대화 정보 및 상기 발화 문장에 기초하여, 상기 제2 대화 태스크에 대한 대화 프레임의 슬롯을 채우는 단계; 및
    상기 대화 프레임의 빈 슬롯 개수에 기초하여 결정된 상기 제2 대화 태스크의 예상 완료 시간을 이용하여, 상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계를 포함하는 것을 특징으로 하는,
    태스크 처리 방법.
  17. 제1 항에 있어서,
    상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계는,
    상기 제1 대화 태스크의 예상 완료 시간과 상기 제2 대화 태스크의 예상 완료 시간을 비교하는 단계;
    상기 비교된 결과에 기초하여, 상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계를 포함하는 것을 특징으로 하는,
    태스크 처리 방법.
  18. 제1 항에 있어서,
    상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계는,
    상기 제1 사용자 의도와 상기 제2 사용자 의도 사이의 유사도를 산출하는 단계;
    상기 유사도가 기 설정된 임계 값 이하인 경우, 상기 제2 대화 태스크의 수행 개시 여부에 대한 질의 문장을 생성하여 제공하는 단계; 및
    상기 질의 문장의 응답으로 입력된 발화 문장에 기초하여, 상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계를 포함하는 것을 특징으로 하는,
    태스크 처리 방법.
  19. 제1 항에 있어서,
    상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계는,
    상기 제1 대화 태스크와 관련된 사용자의 제1 발화 문장과 상기 제2 사용자 의도가 탐지된 제2 발화 문장 각각의 중요도 점수를 산출하는 단계; 및
    상기 산출된 중요도 점수의 비교 결과에 기초하여, 상기 제2 대화 태스크의 수행 개시 여부를 결정하는 단계를 포함하되,
    상기 중요도 점수를 산출하는 단계는,
    기계 학습에 기초한 제1 베이즈 모델 이용하여, 상기 제1 발화 문장에 대한 예측된 중요도 점수를 가리키는 제1-1 베이즈 확률 값을 산출하고, 상기 제2 발화 문장에 대한 예측된 중요도 점수를 가리키는 제1-2 베이즈 확률 값을 산출하는 단계; 및
    상기 제1-1 베이즈 확률 값 및 상기 제1-2 베이즈 확률 값을 기초로, 상기 제1 발화 문장 및 상기 제2 발화 문장 각각에 대한 중요도 점수를 산출하는 단계를 포함하고,
    상기 제1 베이즈 모델은,
    상기 사용자의 대화 이력을 기초로 기계 학습된 모델인 것을 특징으로 하는,
    태스크 처리 방법.
  20. 제19 항에 있어서,
    상기 제1-1 베이즈 확률 값 및 상기 제1-2 베이즈 확률 값을 기초로, 상기 제1 발화 문장 및 상기 제2 발화 문장 각각에 대한 중요도 점수를 산출하는 단계는,
    기계 학습에 기초한 제2 베이즈 모델을 더 이용하여, 상기 제1 발화 문장에 대한 제2-1 베이즈 확률 값을 산출하고, 상기 제2 발화 문장에 대한 제2-2 베이즈 확률 값을 산출하는 단계; 및
    상기 제2-1 베이즈 확률 값 및 상기 제2-2 베이즈 확률 값을 더 이용하여, 상기 제1 발화 문장 및 상기 제2 발화 문장 각각에 대한 중요도를 평가하는 단계를 포함하되,
    상기 제2 베이즈 모델은,
    복수의 사용자의 대화 이력을 기초로 기계 학습된 모델인 것을 특징으로 하는,
    태스크 처리 방법.
KR1020170084785A 2017-07-04 2017-07-04 챗봇을 이용한 태스크 처리 방법, 장치 및 시스템 KR20190004495A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170084785A KR20190004495A (ko) 2017-07-04 2017-07-04 챗봇을 이용한 태스크 처리 방법, 장치 및 시스템
US16/026,690 US20190013017A1 (en) 2017-07-04 2018-07-03 Method, apparatus and system for processing task using chatbot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170084785A KR20190004495A (ko) 2017-07-04 2017-07-04 챗봇을 이용한 태스크 처리 방법, 장치 및 시스템

Publications (1)

Publication Number Publication Date
KR20190004495A true KR20190004495A (ko) 2019-01-14

Family

ID=64902831

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170084785A KR20190004495A (ko) 2017-07-04 2017-07-04 챗봇을 이용한 태스크 처리 방법, 장치 및 시스템

Country Status (2)

Country Link
US (1) US20190013017A1 (ko)
KR (1) KR20190004495A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102170088B1 (ko) * 2019-07-24 2020-10-26 네이버 주식회사 인공지능 기반 자동 응답 방법 및 시스템

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11120326B2 (en) * 2018-01-09 2021-09-14 Fujifilm Business Innovation Corp. Systems and methods for a context aware conversational agent for journaling based on machine learning
KR20200024511A (ko) * 2018-08-28 2020-03-09 삼성전자주식회사 대화 에이전트의 동작 방법 및 그 장치
US11349989B2 (en) * 2018-09-19 2022-05-31 Genpact Luxembourg S.à r.l. II Systems and methods for sensing emotion in voice signals and dynamically changing suggestions in a call center
US11985023B2 (en) 2018-09-27 2024-05-14 Juniper Networks, Inc. Supporting graphQL based queries on yang based configuration data models
US20200142719A1 (en) * 2018-11-02 2020-05-07 International Business Machines Corporation Automatic generation of chatbot meta communication
US11308281B1 (en) * 2018-11-08 2022-04-19 Amazon Technologies, Inc. Slot type resolution process
US11281857B1 (en) * 2018-11-08 2022-03-22 Amazon Technologies, Inc. Composite slot type resolution
US11138374B1 (en) * 2018-11-08 2021-10-05 Amazon Technologies, Inc. Slot type authoring
US10770059B2 (en) * 2019-01-29 2020-09-08 Gridspace Inc. Conversational speech agent
US10841182B2 (en) * 2019-03-29 2020-11-17 Juniper Networks, Inc. Supporting near real time service level agreements
US10897396B2 (en) 2019-03-29 2021-01-19 Juniper Networks, Inc. Supporting concurrency for graph-based high level configuration models
US11163960B2 (en) * 2019-04-18 2021-11-02 International Business Machines Corporation Automatic semantic analysis and comparison of chatbot capabilities
US11195532B2 (en) * 2019-04-26 2021-12-07 Oracle International Corporation Handling multiple intents in utterances
CN110457447A (zh) * 2019-05-15 2019-11-15 国网浙江省电力有限公司电力科学研究院 一种电网任务型对话系统
CN112017642B (zh) * 2019-05-31 2024-04-26 华为技术有限公司 语音识别的方法、装置、设备及计算机可读存储介质
US20210004818A1 (en) 2019-07-05 2021-01-07 Talkdesk, Inc. System and method for automated agent assistance within a cloud-based contact center
US11328205B2 (en) 2019-08-23 2022-05-10 Talkdesk, Inc. Generating featureless service provider matches
US20210065019A1 (en) * 2019-08-28 2021-03-04 International Business Machines Corporation Using a dialog system for learning and inferring judgment reasoning knowledge
US11416755B2 (en) * 2019-08-30 2022-08-16 Accenture Global Solutions Limited Artificial intelligence based system and method for controlling virtual agent task flow
CN110534108A (zh) * 2019-09-25 2019-12-03 北京猎户星空科技有限公司 一种语音交互方法及装置
US11380300B2 (en) * 2019-10-11 2022-07-05 Samsung Electronics Company, Ltd. Automatically generating speech markup language tags for text
US20210117882A1 (en) 2019-10-16 2021-04-22 Talkdesk, Inc Systems and methods for workforce management system deployment
US20210136220A1 (en) 2019-10-31 2021-05-06 Talkdesk, Inc. Monitoring and listening tools across omni-channel inputs in a graphically interactive voice response system
KR20210066644A (ko) * 2019-11-28 2021-06-07 삼성전자주식회사 단말 장치, 서버 및 그 제어 방법
US11736615B2 (en) 2020-01-16 2023-08-22 Talkdesk, Inc. Method, apparatus, and computer-readable medium for managing concurrent communications in a networked call center
CN111612482A (zh) * 2020-05-22 2020-09-01 云知声智能科技股份有限公司 对话管理方法、装置和设备
KR102371659B1 (ko) * 2020-09-04 2022-03-07 에스케이스토아 주식회사 커머스 컨텐츠에 대한 온디맨드 요청을 처리하는 미디어 제공 시스템, 방법 및 컴퓨터 프로그램
CN112559701A (zh) * 2020-11-10 2021-03-26 联想(北京)有限公司 一种人机交互方法、装置及存储介质
US20220245489A1 (en) * 2021-01-29 2022-08-04 Salesforce.Com, Inc. Automatic intent generation within a virtual agent platform
US11881216B2 (en) 2021-06-08 2024-01-23 Bank Of America Corporation System and method for conversation agent selection based on processing contextual data from speech
US11677875B2 (en) 2021-07-02 2023-06-13 Talkdesk Inc. Method and apparatus for automated quality management of communication records
CN113488047A (zh) * 2021-07-06 2021-10-08 思必驰科技股份有限公司 人机对话打断方法、电子设备及计算机可读存储介质
US11967309B2 (en) * 2021-12-01 2024-04-23 Bank Of America Corporation Methods and apparatus for leveraging machine learning for generating responses in an interactive response system
US11922928B2 (en) * 2021-12-01 2024-03-05 Bank Of America Corporation Multi-tier rule and AI processing for high-speed conversation scoring
US11935532B2 (en) * 2021-12-01 2024-03-19 Bank Of America Corporation Methods and apparatus for leveraging an application programming interface (“API”) request for storing a list of sentiment values in real time interactive response systems
US11948557B2 (en) * 2021-12-01 2024-04-02 Bank Of America Corporation Methods and apparatus for leveraging sentiment values in flagging and/or removal of real time workflows
US11935531B2 (en) * 2021-12-01 2024-03-19 Bank Of America Corporation Multi-tier rule and AI processing for high-speed conversation scoring and selecting of optimal responses
US11856140B2 (en) 2022-03-07 2023-12-26 Talkdesk, Inc. Predictive communications system
US11889153B2 (en) 2022-05-11 2024-01-30 Bank Of America Corporation System and method for integration of automatic response generating systems with non-API applications
US11977779B2 (en) 2022-05-11 2024-05-07 Bank Of America Corporation Smart queue for distributing user requests to automated response generating systems
US11736616B1 (en) 2022-05-27 2023-08-22 Talkdesk, Inc. Method and apparatus for automatically taking action based on the content of call center communications
US11971908B2 (en) 2022-06-17 2024-04-30 Talkdesk, Inc. Method and apparatus for detecting anomalies in communication data
US11943391B1 (en) 2022-12-13 2024-03-26 Talkdesk, Inc. Method and apparatus for routing communications within a contact center

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102170088B1 (ko) * 2019-07-24 2020-10-26 네이버 주식회사 인공지능 기반 자동 응답 방법 및 시스템

Also Published As

Publication number Publication date
US20190013017A1 (en) 2019-01-10

Similar Documents

Publication Publication Date Title
KR20190004495A (ko) 챗봇을 이용한 태스크 처리 방법, 장치 및 시스템
KR102289917B1 (ko) 화행 정보를 이용한 대화 처리 방법 및 그 장치
US11132509B1 (en) Utilization of natural language understanding (NLU) models
JP6827479B2 (ja) パーソナルアシスタントモジュールによる非決定的なタスク開始
JP4849663B2 (ja) 会話制御装置
EP2994908B1 (en) Incremental speech input interface with real time feedback
EP3370230B1 (en) Voice interaction apparatus, its processing method, and program
JP6998517B2 (ja) 発話継続判定方法、発話継続判定装置およびプログラム
KR20190064314A (ko) 지능형 대화 에이전트를 위한 대화 태스크 처리 방법 및 그 장치
US20090055176A1 (en) Method and System of Optimal Selection Strategy for Statistical Classifications
US11398226B1 (en) Complex natural language processing
CN112825248A (zh) 语音处理方法、模型训练方法、界面显示方法及设备
EP4047506A1 (en) Method and system to automatically train a chatbot using domain conversations
CN113674742B (zh) 人机交互方法、装置、设备以及存储介质
KR20200084260A (ko) 전자 장치 및 이의 제어 방법
US11862149B2 (en) Learning how to rewrite user-specific input for natural language understanding
US11990122B2 (en) User-system dialog expansion
CN116583837A (zh) 用于自然语言处理的基于距离的logit值
US20230350929A1 (en) Method and system for generating intent responses through virtual agents
CN116547676A (zh) 用于自然语言处理的增强型logit
CN114155839A (zh) 一种语音端点检测方法、装置、设备及存储介质
KR20230104712A (ko) 개인화된 네거티브에 기초한 핫워드 인식 적응
JP7460338B2 (ja) 対話エージェントの動作方法及びその装置
CN112100339A (zh) 用于智能语音机器人的用户意图识别方法、装置和电子设备
US11817093B2 (en) Method and system for processing user spoken utterance

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application