KR20160039273A - 컨셉 검색 및 탐색 시스템 및 방법 - Google Patents

컨셉 검색 및 탐색 시스템 및 방법 Download PDF

Info

Publication number
KR20160039273A
KR20160039273A KR1020167005393A KR20167005393A KR20160039273A KR 20160039273 A KR20160039273 A KR 20160039273A KR 1020167005393 A KR1020167005393 A KR 1020167005393A KR 20167005393 A KR20167005393 A KR 20167005393A KR 20160039273 A KR20160039273 A KR 20160039273A
Authority
KR
South Korea
Prior art keywords
processor
sentence
sentences
calculating
cluster
Prior art date
Application number
KR1020167005393A
Other languages
English (en)
Other versions
KR102111831B1 (ko
Inventor
아미르 레브-토브
아브라함 파이자코프
데이비드 올링거
요차이 코니그
Original Assignee
그린에덴 유.에스. 홀딩스 Ii, 엘엘씨
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
Priority claimed from US13/952,470 external-priority patent/US10061822B2/en
Priority claimed from US13/952,459 external-priority patent/US9971764B2/en
Application filed by 그린에덴 유.에스. 홀딩스 Ii, 엘엘씨 filed Critical 그린에덴 유.에스. 홀딩스 Ii, 엘엘씨
Publication of KR20160039273A publication Critical patent/KR20160039273A/ko
Application granted granted Critical
Publication of KR102111831B1 publication Critical patent/KR102111831B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G06F17/27
    • G06F17/30
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • 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
    • G06Q30/00Commerce
    • G06Q30/01Customer relationship services

Abstract

복수의 상호 작용 중의 컨셉(concept)을 식별하기 위한 방법은, 프로세서 상에서, 간격에 기초하여 상기 상호 작용을 필터링하는 단계; 상기 프로세서 상에서, 상기 필터링된 상호 작용으로부터 복수의 문장을 생성하는 단계; 상기 프로세서 상에서, 각각의 상기 문장의 현저도(saliency, 현저성)를 계산하는 단계; 상기 프로세서 상에서, 일련의 유효 문장을 생성하기 위해 낮은 현저도를 갖는 문장을 제거하는 단계; 상기 프로세서 상에서, 복수의 문장 클러스터를 생성하기 위해서 상기 일련의 유효 문장의 상기 배열을 클러스터화하는 단계로서, 각각의 상기 클러스터는 상기 컨셉들 중의 하나의 컨셉에 대응하는 단계; 상기 프로세서 상에서, 각각의 상기 클러스터의 현저도를 계산하는 단계; 및 상기 프로세서 상에서, 각각의 상기 클러스터에 이름을 붙이는 단계;를 포함하고 있다.

Description

컨셉 발굴 및 탐색 시스템 및 방법{SYSTEM AND METHOD FOR DISCOVERING AND EXPLORING CONCEPTS}
본 발명의 특징은 음성 처리, 인덱싱(indexing), 검색, 및 분석에 관한 것이다. 구체적으로, 본 발명의 특징은 녹음된 정보 및 현재 통화 중인 정보를 분석하여 대화를 범주복수의 상호 작용 중의 컨셉(concept)을 식별하기 위한 방법은, 프로세서 상에서, 간격에 기초하여 상기 상호 작용을 필터링하는 단계; 상기 프로세서 상에서, 상기 필터링된 상호 작용으로부터 복수의 문장을 생성하는 단계; 상기 프로세서 상에서, 각각의 상기 문장의 현저도(saliency, 현저성)를 계산하는 단계; 상기 프로세서 상에서, 일련의 유효 문장을 생성하기 위해 낮은 현저도를 갖는 문장을 제거하는 단계; 상기 프로세서 상에서, 복수의 문장 클러스터를 생성하기 위해서 상기 일련의 유효 문장의 상기 배열을 클러스터화하는 단계로서, 각각의 상기 클러스터는 상기 컨셉들 중의 하나의 컨셉에 대응하는 단계; 상기 프로세서 상에서, 각각의 상기 클러스터의 현저도를 계산하는 단계; 및 상기 프로세서 상에서, 각각의 상기 클러스터에 이름을 붙이는 단계;를 포함하고 있다.화하고, 또한 및 컨셉(concept)과 트렌드(trend)를 식별하는 것에 관한 것이다.
기업 조직의 콜 센터는 전형적으로 다양한 문제와 관련한 다량의 전화 상담을 수신한다. 예를 들면, 콜 센터의 판매부는 기업 조직이 제공하는 다양한 제품의 특징점 및 가격 정보에 대한 전화 문의를 수신할 수 있고, 고객 지원부는 제품의 사용에 있어서 특정한 문제점 또는 수행된 서비스의 품질과 관련된 문의 전화를 수신할 수 있으며, 회계부는 청구서 작성 정책에서의 변동, 잘못된 요금 청구, 및 기타 문제에 관한 전화를 수신할 수 있다.
일반적으로, 기업 조직에게는 대화(또는 "상호 작용"(interaction)) 내의 컨셉(concept) 및 패턴(pattern)을 식별하여 통화를 범주(category)화하고 또한 해결해야 할 잠재적인 문제(예를 들면, 제품에 대한 특정한 불만 사항 또는 서비스와 관련된 일반적인 불만족)를 식별할 수 있으면 유리하다. 그러나, 이와 같이 행하기 위한 통상적인 시스템은 일반적으로 고객 만족 부서에서 행하는 수동 조사 데이터 및 이 데이터의 수동 분석과 관련되어 있다. 이 수동 분석 절차는 시간 소모적이고, 또한 데이터의 수집 단계와 분석으로부터의 결과를 결정하는 단계 사이에서 장기간의 지연이 발생할 수 있다.
일부 종래의 시스템에 있어서, 대화(conversation)는 포함되어 있는 사전 설정된 키워드 또는 구문에 기초하여 태그(tag)가 설정되거나 범주화될 수 있다. 예를 들면, 분석자가 직접 듣고서 식별하거나 또는 구문 인식법을 사용하는 컴퓨터 시스템을 사용하여 식별하는 상술한 구문의 수동 (분석자가 행하는) 분석을 통해서, 콜 센터와의 대화가 더 고위층의 대표자와의 대화로 진행되는 "책임자와 통화하고 싶습니다(I would like to speak to your manager)"와 "사장과 통화할 수 있습니까?"(Can I talk to your supervisor?)와 같은 구문을 포함하고 있다고 추론할 수 있다. 그와 같기 때문에, 이들 구문을 포함하고 있는 임의의 호(통화, call)는 "더 고위층과의 접촉 시도"(escalation attempt)를 포함하고 있는 것으로 범주화될 수 있다.
그와 같기 때문에, 기업 조직은 트렌드를 식별할 수 있고 또한 이와 같은 상호 작용에 기초하여 여러 가지 조건들을 다양한 범주(category)로 분류하도록 추리할 수 있다. 예를 들면, 특정 지역으로부터 유래하고 또한 "서비스 중단"(service outage) 또는 "네트워크 성능 저하"(poor network performance)를 의미하도록 범주화된 대규모의 상호 작용은 인터넷 서비스 사업자에게 이들 특정 지역 내의 시스템 문제를 해결하도록 경고를 발할 수 있다.
그러나, 사전에 식별되지 않은 구문을 포함하고 있는 대화는 적절하게 범주화되지 않을 수 있다. 예를 들면, "사장님과 이야기하고 싶습니다"("Let me talk to your boss")가 고위층과의 대화 시도와 관련된 것으로 사전에 식별되어 있지 않다면, 이 구문을 포함하고 있는 대화는 "고위층과의 대화 시도"로서 범주화되지 않게 된다.
또한, 일부 종래의 시스템은 베이즈 네트워크(Bayesian network)를 사용하여 이벤트 사이의 상관 관계를 식별하고 있었다. 그러나, 이들 베이즈 네트워크를 개발하는 것은 다양한 파라미터(예를 들면, 베이즈 네트워크의 노드)를 지정하기 위해서 인력의 투입을 필요로 한다.
본 발명의 각 실시예의 특징은 데이터의 검색 및 탐색과 관련된 두 가지 문제를 해결하는 것과 관련되어 있다. 본 발명의 일 특징은 사람의 도움없이 일련의 문서로부터 컨셉(concept)을 자동으로 검색하고 또한 추출하는 것과 관련되어 있다. 또한, 본 발명의 각 실시예는 어떤 문서 또는 전화 통화가 소정의 범주(category)로 분류되는지, 또는 이 문서 또는 전화 통화가 (새롭게 식별되어질 수 있는) 특정한 컨셉을 포함하고 있는 지를 이해하는 것과 관련되어 있다. 달리 말하자면, 본 발명의 각 실시예는 고객이 보고하는 다양한 "증상"(symptom)에 대한 "근본 원인"(root cause)이 무엇인지를 발견하고 또한 소정의 범주 또는 통화를 소정의 범주로 범주화하는 근본 원인인 새롭게 발견된 컨셉("A") 또는 새롭게 발견된 컨셉("B")을 추론하고, 따라서 기업 조직 또는 사용자가 문제를 해결할 수 있도록 하는 것과 관련되어 있다.
본 발명의 일 실시예에 따르면, 복수의 상호 작용 중의 컨셉을 식별하기 위한 방법은, 프로세서 상에서, 간격에 기초하여 상기 상호 작용을 필터링하는 단계; 상기 프로세서 상에서, 상기 필터링된 상호 작용으로부터 복수의 문장을 생성하는 단계; 상기 프로세서 상에서, 각각의 상기 문장의 현저도(saliency, 현저성)를 계산하는 단계; 상기 프로세서 상에서, 일련의 유효 문장을 생성하기 위해 낮은 현저도를 갖는 문장을 제거하는 단계; 상기 프로세서 상에서, 복수의 문장 클러스터를 생성하기 위해서 상기 일련의 유효 문장의 상기 배열을 클러스터화하는 단계로서, 각각의 상기 클러스터는 상기 컨셉들 중의 하나의 컨셉에 대응하는 단계; 상기 프로세서 상에서, 각각의 상기 클러스터의 현저도를 계산하는 단계; 및 상기 프로세서 상에서, 각각의 상기 클러스터에 이름을 붙이는 단계;를 포함한다.
상호 작용은 음성 인식 시스템의 출력을 포함할 수 있다.
본 발명의 방법은 단어 신뢰 확률에 기초하여 음성 인식 시스템의 출력을 필터링하는 단계를 더 포함할 수 있다.
음성 인식 시스템은 대규모의 사전 기반 연속 음성 인식 시스템일 수 있다.
간격은 시간 간격일 수 있다.
문장을 클러스터화하는 단계는, 일련의 유효 문장으로부터 복수의 템플리트 문장을 선택하는 단계로서, 각각의 템플리트 문장은 클러스터 중의 하나에 대응하는 단계; 일련의 유효 문장 중의 각각의 문장의 템플리트 문장에 대한 유사도를 계산하는 단계; 템플리트 문장을 사용하여 계산된 유사도에 따라서 일련의 유효 문장 중의 각각의 문장을 클러스터들 중의 하나의 클러스터에 할당하는 단계; 및 할당된 문장의 역치값 미만의 역치값을 갖는 클러스터를 제거하는 단계;를 포함할 수 있다.
문장을 클러스터화하는 단계는, 반복적으로, 클러스터에 할당되지 않은 문장으로부터 추가 템플리트 문장을 선택하고 또한 복수의 템플리트 문장을 선택하는 단계를 반복하며, 템플리트 문장에 대한 각각의 문장의 유사도를 계산하는 단계;
클러스터에 대해 각각의 상기 문장을 할당하는 단계; 및 모든 문장이 할당되기 전까지 또는 반복 한계에 도달하기 전까지 할당된 문장의 역치값 미만의 역치값을 갖는 클러스터를 제거하는 단계를 더 포함할 수 있다.
각각의 클러스터에 대해서, 각각의 상기 클러스터에 이름을 붙이는 단계는, 상기 클러스터 내의 각각의 문장에 대해서 단어 빈도수 - 역문서 빈도수를 계산하는 단계; 및 가장 높은 단어 빈도수 - 역문서 빈도수를 갖는 상기 클러스터의 문장을 갖는 상기 클러스터에 이름을 붙이는 단계;를 포함할 수 있다.
본 발명의 다른 실시예에 따르면, 복수의 상호 작용 중에서 자동적으로 식별된 컨셉을 탐색하기 위한 방법은, 프로세서 상에서, 컨셉(concept)을 포함하고 있는 질의를 수신하는 단계; 상기 프로세서에 의해서, 상기 컨셉을 포함하고 있는 클러스터를 수신하는 단계; 및 상기 수신된 클러스터를 표시하는 단계;를 포함하며, 상기 컨셉은 상기 프로세서 상에서, 간격에 기초하여 상기 상호 작용을 필터링하는 단계; 상기 프로세서 상에서, 상기 필터링된 상호 작용으로부터 복수의 문장을 생성하는 단계; 상기 프로세서 상에서, 각각의 상기 문장의 현저도(saliency, 현저성)를 계산하는 단계; 상기 프로세서 상에서, 일련의 유효 문장을 생성하기 위해 낮은 현저도를 갖는 문장을 제거하는 단계; 및 상기 프로세서 상에서, 복수의 문장 클러스터를 생성하기 위해서 상기 일련의 유효 문장의 배열을 클러스터화하는 단계로서, 각각의 상기 클러스터는 상기 컨셉들 중의 하나의 컨셉에 대응하는 단계;를 포함하는 것에 의해서 자동적으로 식별될 수 있다.
본 발명의 일 실시예에 따르면, 컴퓨터 시스템은, 프로세서; 및 메모리;를 포함하며, 상기 메모리는, 상기 프로세서에 의해서 실행될 때, 상기 프로세서가 복수의 상호 작용 중의 컨셉을 식별하도록 하는 명령어가 저장되어 있으며, 상기 프로세서는 간격에 기초하여 상기 상호 작용을 필터링하는 단계; 상기 필터링된 상호 작용으로부터 복수의 문장을 생성하는 단계; 각각의 상기 문장의 현저도를 계산하는 단계; 일련의 유효 문장을 생성하기 위해서 현저도가 낮은 문장을 제거하는 단계; 복수의 문장 클러스터를 생성하기 위해서 상기 일련의 유효 문장의 상기 배열을 클러스터화하는 단계로서, 각각의 상기 클러스터는 상기 컨셉들 중의 하나의 컨셉에 대응하는 단계; 각각의 상기 클러스터의 현저도를 계산하는 단계; 및 각각의 상기 클러스터에 이름을 붙이는 단계;를 포함할 수 있다.
상호 작용은 음성 인식 시스템의 출력을 포함할 수 있다.
명령어는 단어 신뢰 확률에 기초하여 음성 인식 시스템의 출력을 필터링하기 위한 명령어를 더 포함할 수 있다.
음성 인식 시스템은 대규모의 사전 기반 연속 음성 인식 시스템일 수 있다.
간격은 시간 간격일 수 있다.
문장을 클러스터화하는 단계는, 일련의 유효 문장으로부터 복수의 템플리트 문장을 선택하는 단계로서, 각각의 템플리트 문장은 클러스터 중의 하나에 대응하는 단계; 일련의 유효 문장 중의 각각의 문장의 템플리트 문장에 대한 유사도를 계산하는 단계; 템플리트 문장을 사용하여 계산된 유사도에 따라서 일련의 유효 문장 중의 각각의 문장을 클러스터들 중의 하나의 클러스터에 할당하는 단계; 및 할당된 문장의 역치값 미만의 역치값을 갖는 클러스터를 제거하는 단계;를 포함할 수 있다.
문장을 클러스터화하는 단계는, 반복적으로, 클러스터에 할당되지 않은 문장으로부터 추가 템플리트 문장을 선택하고 또한 복수의 템플리트 문장을 선택하는 단계를 반복하며, 템플리트 문장에 대한 각각의 문장의 유사도를 계산하는 단계; 클러스터에 대해 각각의 상기 문장을 할당하는 단계; 및 모든 문장이 할당되기 전까지 또는 반복 한계에 도달하기 전까지 할당된 문장의 역치값 미만의 역치값을 갖는 클러스터를 제거하는 단계를 더 포함할 수 있다.
각각의 클러스터에 대해서, 각각의 상기 클러스터에 이름을 붙이는 단계는, 상기 클러스터 내의 각각의 문장에 대해서 단어 빈도수 - 역문서 빈도수를 계산하는 단계; 및 가장 높은 단어 빈도수 - 역문서 빈도수를 갖는 상기 클러스터의 문장을 갖는 상기 클러스터에 이름을 붙이는 단계;를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 컴퓨터 시스템은, 프로세서; 및 메모리;를 포함하며,
상기 메모리는, 상기 프로세서에 의해서 실행될 때, 상기 프로세서가, 컨셉을 포함하고 있는 질의를 수신하는 단계; 상기 컨셉을 포함하고 있는 클러스터를 수신하는 단계; 및 상기 수신된 클러스터를 표시하는 단계;에 의해서 컨셉을 탐색하도록 하는 요청에 응답하도록 하는 명령어가 저장되어 있으며,
상기 컨셉은 간격에 기초하여 상기 상호 작용을 필터링하는 단계; 상기 필터링된 상호 작용으로부터 복수의 문장을 생성하는 단계; 각각의 상기 문장의 현저도를 계산하는 단계; 일련의 유효 문장을 생성하기 위해서 현저도가 낮은 문장을 제거하는 단계; 및 복수의 문장 클러스터를 생성하기 위해서 상기 일련의 유효 문장의 상기 배열을 클러스터화하는 단계로서, 각각의 상기 클러스터는 상기 컨셉들 중의 하나의 컨셉에 대응하는 단계;에 의해서 자동적으로 식별될 수 있다.
본 발명의 각 실시예의 특징은 데이터의 검색 및 탐색과 관련된 두 가지 문제를 해결하는 것과 관련되어 있다. 본 발명의 일 특징은 사람의 도움없이 일련의 문서로부터 컨셉(concept)을 자동으로 검색하고 또한 추출하는 것과 관련되어 있다. 또한, 본 발명의 각 실시예는 어떤 문서 또는 전화 통화가 소정의 범주(category)로 분류되는지, 또는 이 문서 또는 전화 통화가 (새롭게 식별되어질 수 있는) 특정한 컨셉을 포함하고 있는 지를 이해하는 것과 관련되어 있다. 달리 말하자면, 본 발명의 각 실시예는 고객이 보고하는 다양한 "증상"(symptom)에 대한 "근본 원인"(root cause)이 무엇인지를 발견하고 또한 소정의 범주 또는 통화를 소정의 범주로 범주화하는 근본 원인인 새롭게 발견된 컨셉("A") 또는 새롭게 발견된 컨셉("B")을 추론하고, 따라서 기업 조직 또는 사용자가 문제를 해결할 수 있도록 하는 것과 관련되어 있다.
본 발명의 일 실시예에 따르면, 복수의 상호 작용 중에서 검출된 이벤트의 원인(cause)을 결정하기 위한 방법은, 프로세서 상에서, 상호 작용 중의 복수의 요소(elelment)를 식별하는 단계; 상기 프로세서 상에서, 상호 작용 중의 복수의 요소 배열(sequence)을 검출하는 단계; 상기 프로세서 상에서, 일련의 지지 패턴을 생성하기 위해 상기 복수의 배열을 검색(mining)하는 단계; 상기 프로세서 상에서, 상기 일련의 지지 패턴으로부터 연관성 규칙을 계산하는 단계; 및 상기 계산된 연관성 규칙을 반환하는 단계;를 포함할 수 있다.
요소(element)는 정의된 토픽(topic) 및 식별된 컨셉(concept)을 포함할 수 있다.
식별된 컨셉은, 상기 프로세서 상에서, 간격에 기초하여 상기 상호 작용을 필터링하는 단계; 상기 프로세서 상에서, 상기 필터링된 상호 작용으로부터 복수의 문장을 생성하는 단계; 상기 프로세서 상에서, 각각의 상기 문장의 현저도(saliency, 현저성)를 계산하는 단계; 상기 프로세서 상에서, 일련의 유효 문장을 생성하기 위해 낮은 현저도를 갖는 문장을 제거하는 단계; 상기 프로세서 상에서, 복수의 문장 클러스터를 생성하기 위해서 상기 일련의 유효 문장의 상기 배열을 클러스터화하는 단계로서, 각각의 상기 클러스터는 상기 컨셉들 중의 하나의 컨셉에 대응하는 단계; 상기 프로세서 상에서, 각각의 상기 클러스터의 현저도를 계산하는 단계; 및 상기 프로세서 상에서, 각각의 상기 클러스터에 이름을 붙이는 단계;에 의해서 유도될 수 있다.
상기 요소 배열을 검출하는 단계는, 상기 복수의 배열을 생성하기 위해서 상기 상호 작용 내의 각각의 상호 작용 중의 상기 식별된 요소를 타임스탬프(timestamp)에 따라 분류하는 단계; 및 반복되는 연속된 요소를 제거하기 위해서 각각의 상기 배열을 압축하는 단계;를 포함할 수 있다.
상술한 방법은, 프로세서 상에서, 배열 내의 반복된 요소를 제거하기 위해서 일련의 지지 확률을 갖는 패턴을 압축하는 단계를 더 포함할 수 있다.
상기 일련의 압축된 지지 확률을 갖는 패턴으로부터의 연관성 규칙을 계산하는 단계는, 상기 압축된 지지 확률을 갖는 패턴 내의 각각의 배열 패턴에 대해서 연관성 규칙을 계산하는 단계로서, 상기 연관성 규칙을 계산하는 상기 단계는 상기 배열 패턴이 두 개 이상의 요소(element)를 포함하고 있는 경우, 상기 배열 패턴을 제 1 부분 및 제 2 부분으로 분할하는 단계로서, 상기 제 2 부분은 상기 배열 패턴 내의 최종 요소를 포함하고 있는 단계; 제안된 연관성 규칙을 생생성하는 단계로서, 상기 제안된 연관성 규칙은 상기 제 1 부분으로부터 상기 제 2 부분으로의 논리적인 함의인 단계; 상기 제안된 연관성 규칙의 신뢰 확률을 계산하는 단계; 상기 계산된 신뢰 확률이 역치 신뢰 확률 레벨을 초과하는 경우, 상기 제안된 연관성 규칙을 저장하고 또한 상기 제 1 부분 내의 최종 요소를 상기 제 2 부분으로 이동하며 또한 상기 제안된 연관성 규칙을 반복해서 생성하고 또한 상기 신뢰 확률을 계산하는 단계; 및 상기 계산된 신뢰 확률이 역치 신뢰 확률 레벨 미만인 경우, 상기 배열 패턴의 분석을 종료하고 또한 이전에 저장된 제안된 연관성 규칙을 연관성 규칙으로 하여 반환하거나 또는 그와 같은 제안된 연관성 규칙이 저장되어 있지 않다면 연관성 규칙을 반환하지 않는 단계;를 포함하고 있다.
상술한 방법은 연관성 규칙의 향상도(lift) 및 현저도(saliency)를 계산하는 단계를 더 포함할 수 있다.
상술한 방법은 제안된 연관성 규칙의 향상도(lift) 및 현저도(saliency)를 계산하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따르면, 복수의 상호 작용 중에서 검출된 이벤트의 근본 원인을 결정하기 위한 방법은, 프로세서 상에서, 상기 이벤트의 상기 근본 원인에 대한 질의(query)를 수신하는 단계; 상기 프로세서 상에서, 복수의 연관성 규칙을 검색하는 단계로서, 각각의 상기 연관성 규칙은 하나 이상의 제 1 부분 요소 및 하나 이상의 제 2 부분 요소를 포함하고, 각각의 상기 연관성 규칙은 상기 제 1 부분으로부터 상기 제 2 부분으로의 논리적인 함의인 단계; 및 상기 프로세서로부터, 상기 질의와 매칭되는 하나 이상의 연관성 규칙을 반환하는 단계로서, 각각의 상기 매칭되는 연관성 규칙의 상기 제 2 부분 요소가 상기 이벤트를 포함하고 있는 단계;를 포함할 수 있다.
각각의 연관성 규칙은 대응하는 신뢰 확률값을 가지고 있을 수 있으며, 상기 질의(query)는 신뢰 확률 역치를 포함하고 있을 수 있으며, 또한 상기 질의와 매칭되는 상기 하나 이상의 연관성 규칙을 반환하는 상기 단계는 상기 신뢰 확률 역치를 초과하는 신뢰 확률값을 가지는 상기 질의와 매칭되는 연관성 규칙을 반환하는 단계를 더 포함할 수 있다.
각각의 연관성 규칙은 대응하는 향상도 값 및 대응하는 현저도 값을 가지고 있을 수 있으며, 상기 질의는 적어도 하나의 신뢰도 역치 및 현저도 역치를 포함하고 있을 수 있으며, 또한 상기 질의와 매칭되는 상기 하나 이상의 연관성 규칙을 반환하는 상기 단계는 상기 향상도 역치 또는 현저도 역치를 초과하는 향상도 값 또는 현저도 값을 갖는 상기 질의와 매칭되는 연관성 규칙을 반환하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따르면, 컴퓨터 시스템은, 프로세서; 및 메모리;를 포함하며, 상기 메모리는, 상기 프로세서에 의해서 실행될 때, 상기 프로세서가 복수의 상호 작용에서 검출된 이벤트 사이에서의 연관성 규칙을, 상기 상호 작용 중의 복수의 요소를 식별하는 단계; 상기 상호 작용 중의 복수의 요소의 배열을 검출하는 단계; 근거 확률을 갖는 일련의 패턴을 생성하기 위해서 복수의 배열을 마이닝(mining)하는 단계; 상기 근거 확률을 갖는 일련의 패턴으로부터 연관성 규칙을 계산하는 단계; 및 상기 계산된 연관성 규칙을 반환하는 단계;에 의해서 계산하도록 하는 명령어가 저장되어 있을 수 있다.
요소(element)는 정의된 토픽(topic) 및 식별된 컨셉(concept)을 포함할 수 있다.
식별된 컨셉은 상기 프로세서 상에서, 간격에 기초하여 상기 상호 작용을 필터링하는 단계; 상기 프로세서 상에서, 상기 필터링된 상호 작용으로부터 복수의 문장을 생성하는 단계;
상기 프로세서 상에서, 각각의 상기 문장의 현저도(saliency, 현저성)를 계산하는 단계; 상기 프로세서 상에서, 일련의 유효 문장을 생성하기 위해 낮은 현저도를 갖는 문장을 제거하는 단계; 상기 프로세서 상에서, 복수의 문장 클러스터를 생성하기 위해서 상기 일련의 유효 문장의 상기 배열을 클러스터화하는 단계로서, 각각의 상기 클러스터는 상기 컨셉들 중의 하나의 컨셉에 대응하는 단계; 상기 프로세서 상에서, 각각의 상기 클러스터의 현저도를 계산하는 단계; 및 상기 프로세서 상에서, 각각의 상기 클러스터에 이름을 붙이는 단계;에 의해서 유도될 수 있다.
프로세서는 또한 상기 복수의 배열을 생성하기 위해서 상기 상호 작용 내의 각각의 상호 작용 중의 상기 식별된 요소를 타임스탬프(timestamp)에 따라 분류하는 단계; 및 반복되는 연속된 요소를 제거하기 위해서 각각의 상기 배열을 압축하는 단계;에 의해서 복수의 상호 작용에서 검출된 이벤트 간의 연관성 규칙을 계산하도록 구성될 수 있다.
프로세서는 또한 배열 내의 반복되는 요소를 제거하기 위해서 근거 확률을 갖는 일련의 패턴을 압축하는 것에 의해서 복수의 상호 작용에서 검출된 이벤트 사이에서의 연관성 규칙을 계산하도록 구성될 수 있다.
상기 일련의 압축된 지지 확률을 갖는 패턴으로부터의 연관성 규칙을 계산하는 단계는, 상기 압축된 지지 확률을 갖는 패턴 내의 각각의 배열 패턴에 대해서 연관성 규칙을 계산하는 단계로서, 상기 연관성 규칙을 계산하는 상기 단계는 상기 배열 패턴이 두 개 이상의 요소(element)를 포함하고 있는 경우, 상기 배열 패턴을 제 1 부분 및 제 2 부분으로 분할하는 단계로서, 상기 제 2 부분은 상기 배열 패턴 내의 최종 요소를 포함하고 있는 단계; 제안된 연관성 규칙을 생생성하는 단계로서, 상기 제안된 연관성 규칙은 상기 제 1 부분으로부터 상기 제 2 부분으로의 논리적인 함의인 단계; 상기 제안된 연관성 규칙의 신뢰 확률을 계산하는 단계; 상기 계산된 신뢰 확률이 역치 신뢰 확률 레벨을 초과하는 경우, 상기 제안된 연관성 규칙을 저장하고 또한 상기 제 1 부분 내의 최종 요소를 상기 제 2 부분으로 이동하며 또한 상기 제안된 연관성 규칙을 반복해서 생성하고 또한 상기 신뢰 확률을 계산하는 단계; 및 상기 계산된 신뢰 확률이 역치 신뢰 확률 레벨 미만인 경우, 상기 배열 패턴의 분석을 종료하고 또한 이전에 저장된 제안된 연관성 규칙을 연관성 규칙으로 하여 반환하거나 또는 그와 같은 제안된 연관성 규칙이 저장되어 있지 않다면 연관성 규칙을 반환하지 않는 단계;를 포함하고 있다.
상기 연관성 규칙을 계산하는 단계는 상기 연관성 규칙의 향상도(lift) 및 현저도(saliency)를 계산하는 단계를 더 포함할 수 있다.
상기 연관성 규칙을 계산하는 단계는 상기 제안된 연관성 규칙의 향상도 및 현저도를 계산하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따르면, 컴퓨터 시스템은, 프로세서; 및 메모리;를 포함하며, 상기 메모리는, 상기 프로세서에 의해서 실행될 때, 상기 프로세서가, 상기 이벤트의 상기 근본 원인에 대한 상기 질의를 수신하는 단계; 복수의 연관성 규칙을 검색하는 단계로서, 각각의 상기 연관성 규칙은 하나 이상의 제 1 부분 요소 및 하나 이상의 제 2 부분 요소를 포함하고, 각각의 상기 연관성 규칙은 상기 제 1 부분으로부터 상기 제 2 부분으로의 논리적인 함의인 단계; 및 상기 질의와 매칭되는 하나 이상의 연관성 규칙을 반환하는 단계로서, 각각의 상기 매칭되는 연관성 규칙의 상기 제 2 부분 요소가 상기 이벤트를 포함하고 있는 단계;에 의해서 이벤트의 근본 원인에 대한 질의에 응답하도록 하는 명령어가 저장되어 있다.
도 1은, 본 발명의 예시적인 일 실시예에 따른, 고객 서비스 상담원에게 검색 가능한 기록에 대한 액세스를 제공하도록 구성된 콜 센터를 유지하고 있는 시스템의 개략적인 블록 다이아그램이다.
도 2a는, 본 발명의 일 실시예에 따른, 컴퓨팅 디바이스의 블록 다이아그램이다.
도 2b는, 본 발명의 일 실시예에 따른, 컴퓨팅 디바이스의 블록 다이아그램이다.
도 2c는, 본 발명의 일 실시예에 따른, 컴퓨팅 디바이스의 블록 다이아그램이다.
도 2d는, 본 발명의 일 실시예에 따른, 컴퓨팅 디바이스의 블록 다이아그램이다.
도 2e는, 본 발명의 일 실시예에 따른, 몇 개의 컴퓨팅 디바이스를 포함하고 있는 네트워크 환경의 블록 다이아그램이다.
도 3은, 본 발명의 일 실시예에 따른, 범주 분포 리포트의 스크린 샷이다.
도 4는, 본 발명의 일 실시예에 따른, 사전 설정된 범주를 맞춤화하고 또한 한정하기 위한 인터페이스를 도시하고 있는 스크린 샷이다.
도 5는, 본 발명의 일 실시예에 따른, 복수의 상호 작용 중의 토픽(topic) 사이에서의 관계를 탐색하기 위한 인터페이스를 도시하고 있는 스크린 샷이다.
도 6은, 본 발명의 일 실시예에 따른, 핵심 단어(key term)의 클러스터링을 탐색하기 위한 사용자 인터페이스를 도시하고 있는 도면이다.
도 7은, 본 발명의 일 실시예에 따른, 상호 작용 내에서의 토픽을 검출하기 위한 방법을 도시하고 있는 흐름도이다.
도 8은, 본 발명의 일 실시예에 따른, 문장을 클러스터화하기 위한 방법을 도시하고 있는 흐름도이다.
도 9는, 본 발명의 일 실시예에 따른, 각각의 유도된 추론 규칙에 대해서 근거 확률(support), 신뢰 확률(confidence), 향상도(lift), 및 현저도(saliency) 레벨과 함께 원인 및 이벤트 사이에서의 연역된 연관성 규칙의 리스트를 나타내고 있는 스크린 샷이다.
도 10은, 본 발명의 일 실시예에 따른, 이벤트의 원인을 결정하기 위한 방법을 도시하고 있는 흐름도이다.
도 11은, 본 발명의 일 실시예에 따른, 연관성 규칙을 생성하기 위한 방법을 도시하고 있는 흐름도이다.
도 12는, 본 발명의 일 실시예에 따른, 이벤트의 원인을 결정하기 위한 방법의 출력을 도시하고 있는 도면이다.
이하의 "발명을 실시하기 위한 구체적인 내용"에 있어서, 설명을 위해서 본 발명의 특정한 예시적인 실시예만을 나타내고 설명하였다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면, 본 발명이 서로 다른 다양한 형태로 구현될 수 있으며, 또한 본 명세서에서 설명한 각 실시예로 제한되는 것으로 간주되어서는 안된다는 것을 잘 알 것이다. 동일한 도면 참조 부호는 본 명세서의 전체에 걸쳐서 동일한 구성 요소를 지시한다.
본 명세서에서 설명되는 바와 같이, 본 발명의 다양한 적용 및 특징은 소프트웨어, 펌웨어, 하드웨어, 및 이들의 조합으로 구현될 수 있다. 소프트웨어로 구현되는 경우, 이 소프트웨어는 서버, 데스크 톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 또는 휴대용 개인 정보 단말기(personal digital assistant)와 같은 범용 컴퓨팅 디바이스 상에서 동작할 수 있다. 이와 같은 범용 컴퓨터는 범용 프로세서 및 메모리를 포함하고 있다.
본 발명의 일부 실시예는 콜 센터(contact center)의 맥락과 관련하여 기술될 것이다. 그러나, 본 발명의 각 실시예는 이들만으로 제한되지 않으며, 또한 컴퓨터 기반 교육 시스템, 음성 메시징 시스템, 메디컬 트랜스크립트, 또는 임의의 소스로부터의 모든 음성 코퍼스(corpus)와 같은 녹음된 오디오를 검색하는 것과 관련된 다른 조건 하에서도 사용될 수 있다.
본 발명의 각 실시예의 특징은 녹음된 또는 현재 통화 중인 상호 작용(또는 대화)의 내용으로부터 논의의 토픽(또는 컨셉)을 자동적으로 추론하고 또한 연역하기 위한 시스템 및 방법에 관한 것이다. 이들 상호 작용은, 예를 들면, 전화 대화, 텍스트 기반의 채팅 세션, 이메일 송수신 쓰레드(thread) 등과 같은 것을 포함할 수 있다. 이들 컨셉의 추론은 인간에 의한 수동 범주화를 필요로 하지 않으며, 또한 본 발명의 각 실시예에 따른 시스템(또는 "분석 시스템")에 의해서 수행될 수 있다. 따라서, 새롭고, 이전에 식별되지 않은 대화의 토픽이 신속하게 식별되고 또한 대화 기록이 수동 분석을 수행하지 않고도 기업 조직의 주의를 끌 수 있게 된다.
예를 들면, 어떤 회사가 블루투스® 접속 기능을 추가한 신제품을 출시하였고 또한 상호 작용 분석 시스템에 있어서 "블루투스 접속" 또는 "블루투스 페어링"이라는 구문이 블루투스® 접속과 관련된 이슈와 매치되는 사전 설정된 어떠한 범주도 없는 경우를 고려해 보기로 한다. 종래의 시스템에 있어서, 이 범주는 이들 구문이 분석 시스템에 수동으로 첨가되기 전까지는 검출되지 않을 수 있다.
이와는 대조적으로, 본 발명의 각 실시예는 현저한 구문을 식별하고, 이들 식별된 구문에 기초하여 새로운 범주(또는 "컨셉")를 생성하고, 또한 자동적으로 식별된 이들 범주에 기초하여 상호 작용을 범주화하는 시스템 및 방법과 관련되어 있다. 그 결과, 본 발명의 각 실시예를 사용하여 상호 작용(예를 들면, 고객들과의 대화) 내에서의 새로운 트렌드의 토픽에 대해 기업 조직에게 경고할 수 있고, 이에 의해서 변화하는 환경에 대해서 더욱 빠르게 대응할 수 있도록 할 수 있다. 예를 들어, 예시적인 범주로서 "신규 고객", "비상", "신원 확인", "청구서", 및 "납부 조회"와 함께 각각의 이들 범주로 범주화된 상호 작용의 개수 및 이들 범주와 관련된 모든 통화의 백분율을 나타내고 있는 도 3을 참조한다. 백분률은 100 %를 초과하여 추가되어 있는 점에 주목하여야 하는데, 이는 임의의 주어진 상호 작용이 복수의 범주로 할당되거나 또는 어떠한 범주에도 할당되지 않을 수도 있기 때문이다. 이 범주 분포 보고서를 참조하면, 기업 조직은 가장 빈번하게 언급된 토픽을 평가할 수 있다.
본 발명의 각 실시예의 다른 특징은 대화 내의 이벤트의 가능한 근본 원인 및 컨셉을 자동적으로 결정하기 위한 시스템 및 방법과 관련되어 있다. 예를 들면, 인터넷 서비스 제공자는 대규모의 요청에 대해서 경고를 발하여 인터넷 서비스 계획을 중지시킬 수 있다. 본 발명의 각 실시예를 사용하게 되면, 기업 조직은 이들 상호 작용으로부터 자동적으로 연역되는 연관성 규칙(또는 추론 규칙)을 참고하여 상호 작용 중에서 나타나는 다른 범주 및 컨셉에 기초하여 이들 이벤트 중의 하나 이상의 원인(또는 "근본 원인")을 식별할 수 있게 된다. 예를 들면, 본 발명의 일 실시예에 따른, 각각의 유도된 추론 규칙에 대해서 원인("좌변", Left Hand Side로 표시) 및 이벤트("우변", Right Hand Side으로 표시) 사이에서의 연역된 연관성 규칙과 함께 근거 확률, 신뢰 확률, 향상도, 및 현저도 레벨의 리스트를 나타내고 있는 스크린 샷인 도 9를 참조한다. 사용자는 특정 토픽(예컨대, 고객 "불만족(dissatisfaction)")과 관련된 규칙에 대해서 "목표 토픽"(Target Topic)을 나타내는 드롭 다운 박스로부터 이 토픽을 선택하여 검색할 수 있으며, 이 경우에 있어서, "불만족"을 포함하고 있는 규칙이 "우변"에 나타나게 된다. 도 9에 나타낸 실시예에 있어서, "불만족"(Dissatisfaction) 컨셉과 관련된 규칙 중에 규칙 "Transfer(계좌 이체) + Dispute(분쟁) → Dissatisfaction(불만족)" 및 "No Payment(무지불) + On Hold (대기)→ Dissatisfaction(불만족)"이 도시되어 있다.
따라서, 본 발명의 각 실시예는, 수집된 상호 작용에서 논의되는 토픽의 트렌드를 적시에 요약하여 제공하기 위한 시스템 및 방법, 및, 예를 들면, 동일한 상호 작용 내의 특정한 다른 토픽의 상관 관계에 기초하여 사전 정의되고 또한 추론된 논의의 토픽에 대한 근본 원인을 결정하기 위한 시스템 및 방법에 관련되어 있다.
일 실시예에 있어서, 상술한 시스템 및 방법은 콜 센터의 맥락과 관련하여 사용되었으며 또한 고객과 기업 간의 상호 작용 중의 대화의 토픽을 모니터하고 추론하는데, 및 이벤트의 근본 원인을 분석하고 결정하여 기업 조직의 구성원들에게 표시하기 위하여 사용되었다.
도 1은, 본 발명의 예시적인 일 실시예에 따른, 고객 서비스 상담원에게 입수 가능한 정보를 제공하도록 구성된 콜 센터를 유지하고 있는 시스템의 개략적인 블록 다이아그램이다. 콜 센터는 기업을 통해서 입수할 수 있는 제품 및 서비스에 관한 판매와 서비스 기능을 기업이 수행하도록 하기 위해서 사업소 또는 기업체 내에 설치되는 사내 설비일 수 있다. 다른 특징에 있어서, 콜 센터는 제 3자 서비스 제공자일 수 있다. 콜 센터는 기업 또는 제 3자 서비스 제공자 전용 장비로 호스팅될 수 있고, 및/또는, 예를 들면, 복수의 기업을 위해서 복수의 콜 센터를 지원하기 위한 인프라를 갖춘 사설 또는 공공 클라우드 환경과 같은 원격 컴퓨팅 환경으로 호스팅될 수 있다.
예시적인 일 실시예에 따르면, 콜 센터는 리소스(예를 들면, 직원, 컴퓨터, 및 통신 장비)를 포함하고 있어 전화 또는 기타 통신 메커니즘을 통해서 서비스를 제공할 수 있다. 그와 같은 서비스는 콜 센터의 유형에 따라서 변동될 수 있으며, 또한 대고객 서비스로부터 헬프 데스크, 긴급 대응, 텔레마케팅, 주문 접수, 등까지에 걸쳐 있을 수 있다.
콜 센터로부터 서비스를 받고자 원하는 고객, 잠재적인 고객, 또는 기타 최종 사용자(이하 집합적으로 고객이라고 칭함)는 자신의 최종 사용자 디바이스(10a - 10c, 이하 집합적으로 도면 부호 10으로 참조함)를 통해서 콜 센터로 전화를 걸 수 있다. 각각의 최종 사용자 디바이스(10)는 본 기술 분야에서 통상적인 통신 디바이스, 예를 들면, 전화, 무선 전화, 스마트 폰, 개인용 컴퓨터, 전자식 태블릿, 및/또는 이와 유사한 것과 같은 통신 디바이스일 수 있다. 최종 사용자 디바이스(10)를 조작하는 사용자는 전화 통화, 이메일, 채팅, 문자 메시지 전달, 웹 브라우징 세션, 및 기타 멀티미디어 작업을 개시, 관리, 및 응답할 수 있다.
최종 사용자 디바이스(10)로부터 걸려 오는 전화 및 최종 사용자 디바이스로 거는 전화는 사용되는 디바이스의 유형에 따라서 전화, 휴대폰, 및/또는 데이터 통신망(14)에 걸쳐 있을 수 있다. 예를 들면, 통신 네트워크(14)에는 사설 또는 공중 전화 교환망(PSTN, public switched telephone network), 근거리 통신망(LAN), 사설 광역망(WAN, private wide area network), 및/또는, 예를 들면, 인터넷과 같은 공중 광역망이 포함될 수 있다. 통신 네트워크(14)는 또한 본 기술 분야에서 통상적인 코드 분할 다중 접속(CDMA, code division multiple access) 네트워크, GSM(global system for mobile communications) 네트워크, 및/또는 임의의 3G 또는 4G 네트워크를 포함하는 무선 사업자망을 포함할 수 있다.
예시적인 일 실시예에 따르면, 콜 센터는 최종 사용자와 콜 센터 사이에서의 호(call)를 송수신하기 위해 통신 네트워크(14)에 접속된 스위치/미디어 게이트웨이(12)를 포함하고 있다. 스위치/미디어 게이트웨이(12)는 센터 내에서 상담원 레벨의 라우팅을 위한 중앙 스위치로서 기능하도록 구성된 텔리포니 스위치(telephony switch)를 포함할 수 있다. 이와 관련하여, 스위치(12)는, 인터넷 기반 전화 및/또는 전화망 기반 전화를 수신하도록 구성된 자동 호 분배 장치, 가설 구내 교환기(PBX), IP 기반 소프트웨어 스위치, 및/또는 임의의 기타 스위치를 포함할 수 있다. 본 발명의 예시적인 일 실시예에 따르면, 스위치는 콜 서버(18)에 접속되어 있고, 이 콜 서버는, 예를 들면, 스위치와, 콜 센터의 라우팅, 모니터링, 및 기타 호 처리 시스템의 나머지 사이에서의 어댑터 또는 인터페이스로서 기능하고 있다.
콜 센터는 또한 최종 사용자 디바이스(10) 및/또는 웹 서버(32)와의 음성 상호 작용 이외에도 미디어 상호 작용을 수행하기 위한 멀티 미디어/소셜 미디어 서버를 포함할 수 있다. 미디어 상호 작용은, 예를 들면, 이메일, v메일(vmail, 이메일을 통한 음성 메일), 채팅, 문자 메시지, 웹, 소셜 미디어, 스크린 공유 등과 관련되어 있을 수 있다. 웹 서버(32)는, 예를 들면, 최종 사용자가, 예를 들면, 페이스북(Facebook), 트위터(Twitter) 등과 같은 사이트를 구독할 수 있는 것으로 알려진 다양한 소셜 상호 작용 사이트(social interaction site)를 호스팅하는 소셜 상호 작용 사이트를 포함할 수 있다. 웹 서버는 또한 콜 센터에 의해서 지원되는 기업용 웹 페이지를 제공할 수 있다. 최종 사용자는 이 웹 페이지를 들여다 보면서 기업의 제품 및 서비스에 대한 정보를 획득할 수 있다. 또한, 웹 페이지는, 예를 들면, 웹 채팅, 음성 전화, 이메일, 웹 실시간 통신(WebRTC, web real time communication), 등을 통해서 콜 센터와 접촉하기 위한 메커니즘을 제공할 수 있다.
본 발명의 예시적인 일 실시예에 따르면, 스위치는 대화식 음성 응답(IVR, Interactive Voice Response) 서버(34)에 접속되어 있다. IVR 서버(34)는, 예를 들면, 필요에 따라서 고객이 질의할 수 있도록 하기 위한 IVR 스크립트를 구비하도록 구성되어 있다. 예를 들면, 은행에서 사용하는 콜 센터에서는 전화를 건 사람이 통장 잔고를 알고 싶어하는 경우 IVR 스크립트를 통해서 전화를 건 사람에게 "1 번을 누르세요"라고 통지할 수 있다. 이 경우라면, IVR과의 계속되는 상호 작용을 통해서, 고객은 상담원과 통화하지 않고 서비스를 완료할 수 있다.
전화가 상담원으로 돌려져야 하는 경우라면, 이 전화는 라우팅 서버(20)와 상호 작용하여 해당 전화를 처리하기에 가장 적합한 상담원을 찾도록 하는 콜 서버(18)로 전달된다. 콜 서버(18)는 PSTN 통화, VoIP 통화 등을 처리하도록 구성될 수 있다. 예를 들면, 콜 서버(18)는 SIP(session initiation protocol) 통화를 처리하기 위한 세션 개시 프로토콜(SIP) 서버를 포함할 수 있다.
일 실시예에 있어서, 상담원이 대기하고 있지만 상담원이 상담을 진행할 수 있을 때까지, 콜 서버는 해당 전화를, 예를 들면, 통화 대기열(queue)에 위치시킬 수 있다. 통화 대기열은 본 발명이 속하는 기술 분야에서 통상적인 임의의 자료 구조, 예를 들면, 링크드 리스트, 어레비 등과 같은 자료 구조를 통해서 구현될 수 있다. 자료 구조는, 예를 들면, 콜 서버(18)에 의해서 제공되는 버퍼 메모리 내에 유지되어 있을 수 있다.
적절한 상담원이 통화를 취급할 수 있게 되면, 해당 통화는 통화 대기열에서 제거되어 대응하는 에이전트 디바이스(38a - 38c, 이하 집합적으로 도면 부호 38로 참조함)로 전달된다. 전화를 건 사람에 대해 수집된 정보 및/또는 전화를 건 사람의 이력 정보 또한 에이전트 디바이스로 제공되어 상담원이 해당 통화에 더욱 잘 응대할 수 있도록 도와줄 수 있다. 이와 관련하여, 각각의 에이전트 디바이스(38)는 정규 전화 통화, VoIP 통화 등에 대응되는 전화기를 포함하고 있을 수 있다. 또한 에이전트 디바이스(38)는 콜 센터의 하나 이상의 서버와 통신하고 또한 콜 센터의 운용과 관련된 데이터 처리를 수행하고, 또한 채팅, 인스턴트 메시지 처리, 음성 전화 등과 같은 다양한 통신 메커니즘을 통해서 고객과 인터페이스를 형성하기 위한 컴퓨터를 포함하고 있을 수 있다.
걸려오는 전화를 라우팅하여 적절한 상담원을 선택하는 것은, 예를 들면, 라우팅 서버(20)에 의해서 채택된 라우팅 전략에 기초할 수 있으며, 더 나아가서는 상담원의 가용성, 숙련도, 및 기타, 예를 들면, 통계 서버(22)에 의해서 제공되는 라우팅 파라미터에 대한 정보에 기초할 수도 있다. 본 발명의 예시적인 일 실시예에 따르면, 통계 서버(22)는 서로 다른 통신 채널에서의 최종 사용자의 통화 가용 여부를 모니터링하고 또한 그와 같은 정보를, 예를 들면, 라우팅 서버(20), 에이전트 디바이스(38a - 38c), 및/또는 기타 콜 센터 애플리케이션 및 디바이스로 제공하기 위한 통합 고객 가용(CAA, customer availability aggregation) 모듈(36)을 포함하고 있다. CAA 모듈은 독립 애플리케이션 서버로 전개될 수 있다. 통합 모듈(36)은 통계 서버(22)(또는 일부 다른 서버)의 메모리 내에 저장되어 있는 컴퓨터 프로그램 명령어를 통해서 구현되는 소프트웨어 모듈일 수 있으며, 이 프로그램 명령어는 프로세서에 의해서 실행된다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 통합 모듈(36)은 또한 펌웨어(예컨대, 주문형 집적 회로), 하드웨어, 또는 소프트웨어, 펌웨어, 및 하드웨어의 조합에 의해서 구현될 수 있음을 잘 알 것이다.
예시적인 일 실시예에 따르면, 통합 모듈(36)은 콜 센터 내의, 예를 들면, 멀티미디어/소셜 미디어 서버(24)와 같은 다른 디바이스로부터 가용 고객 정보를 수신하도록 구성된다. 예를 들면, 멀티미디어/소셜 미디어 서버(24)는 소셜 미디어 사이트를 포함하는 서로 다른 웹 사이트 상에서의 사용자의 존재를 검출하고, 또한 이와 같은 정보를 통합 모듈(36)로 제공하도록 구성될 수 있다. 멀티미디어/소셜 미디어 서버(24)는 또한 이들 웹 사이트 상에서의 상호 작용을 모니터하고 추적하도록 구성될 수 있다.
멀티미디어/소셜 미디어 서버(24)는 또한 최종 사용자에게, 최종 사용자 디바이스(10)로 다운로드하기 위한 모바일 애플리케이션(40)을 제공하도록 구성될 수 있다. 모바일 애플리케이션(40)은, 콜 센터 상담원이 접촉할 수 있도록 하기 위한 목적으로서, 예를 들면, 사용자가 전화를 받을 수 있는지, 전화를 받을 수 없는지, 또는 그 여부를 알 수 없는지를 사용자가 설정 가능한 설정값을 제공할 수 있다. 멀티미디어/소셜 미디어 서버(24)는 상태 설정값을 모니터하고 상태 정보가 변경될 때마다 통합 모듈로 갱신 자료를 전송할 수 있다.
콜 센터는 또한 통계 서버(22)에 의해서 통합된 데이터로부터 리포트(report)를 생성하도록 구성된 리포트 서버(28)를 포함할 수 있다. 이와 같은 리포트에는, 예를 들면, 평균 대기 시간, 포기율, 상담원 통화 시간 등과 같은 리소스의 상태와 관련된 거의 실시간 리포트 또는 이력 리포트가 포함될 수 있다. 리포트는 자동적으로 생성되거나 요청자(예컨대, 상담원/관리자, 콜 센터의 애플리케이셔, 및/또는 기타)로부터의 특정한 요청에 응답하여 생성될 수 있다.
본 발명의 예시적인 일 실시예에 따르면, 라우팅 서버(20)는 상담원에게 할당된 창구 뒤에서의 활동 또는 쉬고 있을 때의 활동을 관리하기 위한 기능이 개선되어 있다. 그와 같은 활동에는 고객과의 실시간 통신을 필요로 하지 않는, 예를 들면, 이메일에 응답하기, 종이 편지에 대한 답장, 훈련 세미나에 참석하기, 또는 임의의 다른 활동이 포함될 수 있다. 일단 상담원에게 할당되면, 상담원에게는 행동이 부여되거나, 또는 상담원이 완료해야 할 태스크로서 상담원의 워크빈(26a - 26c, 이하 집합적으로 도면 부호 26으로 참조함) 내에 행동이 표시될 수 있다. 상담원의 워크빈은, 예를 들면, 링크드 리스트, 어레이 등과 같은 본 발명이 속하는 기술 분야에서 통상적인 임의의 자료 구조를 통해서 구현될 수 있다. 워크빈은, 예를 들면, 각각의 에이전트 디바이스(38)의 버퍼 메모리 내에 유지되어 있을 수 있다.
본 발명의 예시적인 일 실시예에 따르면, 콜 센터는 또한 상담원 데이터(예컨대, 상담원의 프로파일, 일정 등), 고객 데이터(예컨대, 고객 프로파일), 상호 작용 데이터(예컨대, 상호 작용의 원인, 처분된 데이터, 전화 보류 시간, 상담 처리 시간 등을 포함하는 고객과의 각각의 상호 작용에 대한 상세 내용) 등과 관련된 서로 다른 데이터베이스를 저장하기 위한 하나 이상의 대용량 스토리지 디바이스(30)를 포함하고 있다. 일 실시예에 따르면, 데이터의 일부(예컨대, 고객 프로파일 데이터)는, 예를 들면, 제 3자 고객 관계 관리(CRM) 데이터베이스와 같은 제 3자 데이터베이스에 의해서 제공되어질 수 있다. 대용량 스토리지 디바이스는 본 발명이 속하는 기술 분야에서 통상적인 바와 같이 하드 디스크 또는 디스크 어레이(disk array)의 형태를 취할 수 있다.
본 발명의 일 실시예에 따르면, 콜 센터(102)는 또한 콜 센터(102)를 통해서 수행된 통화의 오디오를 녹음하기 위한 통화 녹음 서버(40), 녹음된 오디오를 저장하기 위한 통화 녹음 스토리지 서버(42), 콜 센터(102)로부터 수집된 오디오를 처리하고 분석하도록 구성되는 통화 분석 서버(44), 및 분석된 오디오의 인덱스를 제공하기 위한 음성 인덱스 데이터베이스(46)를 포함하고 있다.
음성 분석 서버(44)는 토픽 검출 모듈(45a), 근본 원인 마이닝 모듈(45b), 및 사용자 인터페이스 모듈(45c)을 포함하고 있는 분석 서버(45)에 접속(또는 포함)될 수 있다. 분석 서버(45)는 통화 녹음 서버(40)에 의해서 녹음되고 또한 통화 녹음 스토리지 서버(42) 상에 저장된 상호 작용으로부터 토픽의 자동 검출을 제공하도록 구성될 수 있다. 분석 서버(45)는 또한 다양한 채팅, 소셜 미디어, 이메일, 및 기타 비음성적인 상호 작용으로부터의 상호 작용을 처리하기 위해서, 예를 들면, 멀티미디어/소셜 미디어 서버(24) 상에 저장된 데이터에 액세스할 수 있다.
도 1의 다양한 서버는 각각 본 명세서에서 설명한 다양한 기능을 수행하기 위해서 컴퓨터 프로그램 명령어를 실행하고 또한 다른 시스템 컴포넌트와 상호 작용하는 하나 이상의 프로세서를 포함할 수 있다. 컴퓨터 프로그램 명령어는, 예를 들면, 랜덤 액세스 메모리(RAM)과 같은 표준 메모리 디바이스를 사용하여 구현된 메모리 내에 저장되어진다. 컴퓨터 프로그램 명령어는 또한 기타 지속적인 데이터 저장이 가능한 컴퓨터 판독 가능 매체, 예를 들면, CD-ROM, 플래시 드라이브 등과 같은 매체에 저장될 수도 있다. 또한, 각각의 서버의 기능에 대해서 특정한 서버에 의해서 제공되는 것으로 설명하였으나, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면, 본 발명의 각 실시예의 범위로부터 이탈하지 않고도, 다양한 서버의 기능을 단일 서버에 조합 또는 통합시키거나, 또는 하나 이상의 서버에 걸쳐서 특정 서버의 기능을 분산시킬 수 있음을 잘 알 것이다.
콜 센터 내의 다양한 각각의 서버는 본 명세서에서 설명한 다양한 기능을 수행하기 위해서 컴퓨터 프로그램 명령어를 실행하고 또한 다른 시스템 컴포넌트와 상호 작용하는 하나 이상의 컴퓨팅 디바이스(500)(예컨대, 도 2a 및 도 2b 참조) 내의, 하나 이상의 프로세서 상에서 구동되는 프로세스 또는 쓰레드(thread)일 수 있다. 컴퓨터 프로그램 명령어는, 예를 들면, 랜덤 액세스 메모리(RAM)과 같은 표준 메모리 디바이스를 사용하는 컴퓨팅 디바이스 내에 구현되어질 수 있는 메모리 내에 저장되어진다. 컴퓨터 프로그램 명령어는 또한 기타 지속적인 데이터 저장이 가능한 컴퓨터 판독 가능 매체, 예를 들면, CD-ROM, 플래시 드라이브 등과 같은 매체에 저장될 수도 있다. 또한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 컴퓨팅 디바이스는 펌웨어(예컨대, 주문형 집적 회로), 하드웨어, 또는 소프트웨어, 펌웨어, 및 하드웨어의 조합에 의해서 구현될 수 있음을 잘 알 것이다. 또한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면, 본 발명의 예시적인 각 실시예의 범위로부터 이탈하지 않고도, 다양한 컴퓨팅 디바이스의 기능을 단일 컴퓨팅 디바이스에 조합 또는 통합시키거나, 또는 하나 이상의 컴퓨팅 디바이스에 걸쳐서 특정 컴퓨팅 디바이스의 기능을 분산시킬 수 있음을 잘 알 것이다. 서버는 소프트웨어 모듈일 수 있으며, 이 모듈 또한 단순하게 모듈로 참조될 수 있다. 콜 센터 내의 일련의 모듈은 서버 및 기타 모듈을 포함할 수 있다.
도 2a 및 도 2b는 본 발명의 예시적인 실시예에서 채택될 수 있는 것으로부터 컴퓨팅 디바이스(500)의 블록 다이아그램을 도시한 도면이다. 도 2a 및 도 2b에 나타낸 바와 같이, 각각의 컴퓨팅 디바이스(500)는 중앙 처리 장치(521), 및 메인 메모리 유닛(522)을 포함하고 있다. 도 2a에 나타낸 바와 가팅, 컴퓨팅 디바이스(500)는 스토리지 디바이스(528), 탈착 가능한 미디어 인터페이스(516), 네트워크 인터페이스(518), 입출력(I/O) 컨트롤러(523), 하나 이상의 디스플레이 디바이스(530c), 키보드(530a) 및, 마우스와 같은 포인팅 디바이스(530b)를 포함할 수 있다. 스토리지 디바이스(528)는, 제한하지 않고, 운영 체제 및 소프트웨어용의 스토리지를 포함할 수 있다. 도 2b에 나타낸 바와 같이, 컴퓨팅 디바이스(500)는 또한 메모리 포트(503), 브리지(570), 하나 이상의 입출력 디바이스(530d, 530e), 및 중앙 처리 장치(521)와 통신하는 캐시 메모리(540)와 같은 추가적이고 선택적인 구성 요소를 포함할 수 있다. 입출력 디바이스, 예컨대, 530a, 530b, 530d, 및 530e는 본 명세서에서 도면 부호 530을 사용하여 참조될 수 있다.
중앙 처리 장치(521)는 메인 메모리 유닛(522)으로부터 읽혀지는 명령어에 응답하고 또한 이 명령어를 처리하는 논리 회로이면 된다. 예를 들면, 집적 회로 내에서, 마이크로 프로세서, 마이크로 컨트롤러, 또는 그래픽 처리 유닛(GPU)의 형태로, 또는 논리 프로그램 가능 게이트 어레이(FPGA) 또는 주문형 집적 회로(ASIC)로 구현될 수 있다. 메인 메모리 유닛(522)은 데이터를 저장할 수 있고 또한 임의의 스토리지 중앙 처리 장치(521)에 의해서 직접 액세스될 수 있는 하나 이상의 메모리 칩일 수 있다. 도 2a에 나타낸 실시예에 있어서, 중앙 처리 장치(521)는 시스템 버스(550)를 통해서 메인 메모리(522)와 통신한다. 도 2b는 컴퓨팅 디바이스(500)의 일 실시예를 도시하고 있으며, 여기에서 중앙 처리 장치(521)는 메모리 포트(503)를 통해서 메인 메모리(522)와 직접 통신하고 있다.
도 2b는, 중앙 처리 장치(521)가 어떤 경우에는 백사이드 버스로도 지칭되는 제 2 버스를 통해서 캐시 메모리(540)와 직접 통신하는 실시예에 대해서 도시한 도면이다. 다른 실시예에 있어서, 중앙 처리 장치(521)는 시스템 버스(550)를 통해서 캐시 메모리(540)와 통신한다. 캐시 메모리(540)는 전형적으로 메인 메모리(522)보다 반응 시간이 더 빠르다. 도 2a에 나타낸 실시예에 있어서, 중앙 처리 장치(521)는 로컬 시스템 버스(550)를 통해서 다양한 I/O 디바이스(530)와 통신한다. 로컬 시스템 버스(550)로서는 VESA(Video Electronics Standards Association)(VESA) Local bus (VLB), ISA(Industry Standard Architecture) 버스, EISA(Extended Industry Standard Architecture) 버스, MCA(MicroChannel Architecture) 버스, PCI(Peripheral Component Interconnect) 버스, PCI-X(PCI Extended) 버스, PCI-Express 버스, 또는 NuBus를 포함하는 다양한 버스가 사용될 수 있다. I/O 디바이스가 디스플레이 디바이스(530c)인 실시예에 대해서, 중앙 처리 장치(521)는 AGP(Advanced Graphics Port)를 통해서 디스플레이 디바이스(530c)와 통신할 수 있다. 도 2b는, 중앙 처리 장치(521)가 I/O 디바이스(530c)와 직접 통신하는 컴퓨터(50)의 일 실시예를 도시하고 있다. 도 2b는 또한 로컬 버스 및 직접 통신이 혼합된 실시예에 대해서 도시하고 있으며, 중앙 처리 장치(521)가 로컬 시스템 버스(550)를 사용하여 I/O 디바이스(530c)와 통신하는 한편 I/O 디바이스(530c)와는 직접 통신하고 있다.
다양한 종류의 I/O 디바이스(530)가 컴퓨팅 디바이스(500)에 제공될 수 있다. 입력 디바이스는 하나 이상의 키보드(530a), 마우스, 트랙 패드, 트랙 볼, 마이크, 및 작화 태블릿을 포함하고 있다. 입력 디바이스는 비디오 디스플레이 디바이스(530c), 스피커, 및 프린터를 포함하고 있다. I/O 컨트롤러(523)는, 도 2a에 나타낸 바와 같이, I/O 디바이스를 제어할 수 있다. I/O 컨트롤러는, 키보드(530a)와 같은 I/O 디바이스, 및, 예컨대 마우스 또는 광학 펜과 같은 포인팅 디바이스(530b)를 하나 이상 제어할 수 있다.
다시 도 2a를 참조하면, 컴퓨팅 디바이스(500)는 플로피 디스크 드라이브, CD-ROM 드라이브, DVD-ROM 드라이브, 다양한 포맷의 테이프 드라이브, USB 포트, 시큐어 디지털 또는 COMPACT FLASH™ 메모리 카드 포트, 또는 임의의 기타 디바이스와 같은 하나 이상의 탈착식 미디어 인터페이스(516), 또는 판독 전용 미디어로부터 데이터를 판독할 수 있거나 또는 판독 미디어로부터 데이터를 판독하거나, 이 미디어에 데이터를 기입하기 위한 임의의 다른 디바이스를 지원할 수 있다. I/O 디바이스(530)는 시스템 버스(550) 및 탈착식 미디어 인터페이스(516) 사이에서의 브리지(bridage)일 수 있다.
탈착식 미디어 인터페이스(516)는, 예를 들면, 소프트웨어 및 프로그램을 설치하기 위해서 사용될 수 있다. 컴퓨팅 디바이스(500)는 운영 체제 및 기타 관련된 소프트웨어를 저장하고, 또한 애블리케이션 소프트웨어 프로그램을 저장하기 위한 하나 이상의 하드 디스크 드라이브 또는 하드 디스크 드라이브 어레이와 같은 스토리지 디바이스(528)를 더 포함하고 있을 수 있다. 선택적으로 탈착식 미디어 인터페이스(516)는 또한 스토리지 디바이스로도 사용될 수 있다. 예를 들면, 운영 체제 및 소프트웨어는 부팅 가능한 매체, 예를 들면, 부팅 가능한 CD로부터 실행되어질 수 있다.
일부 실시예에 있어서, 컴퓨팅 디바이스(500)는, 각각 동일한 유형 및/또는 형태일 수 있는 복수의 디스플레이 디바이스(530c)를 포함하고 있거나, 이에 접속되어 있을 수 있다. 그와 같기 때문에, 임의의 I/O 디바이스(530) 및/또는 I/O 컨트롤러(523)는 컴퓨팅 디바이스(500)에 의해서 복수의 디스플레이 디바이스(530c)로의 접속, 및 사용을 지원하거나, 가능하게 하거나, 또는 제공하기 위한 임의 유형 및/또는 형태의 적절한 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어의 조합을 포함할 수 있다. 예를 들면, 컴퓨팅 디바이스(500)는 디스플레이 디바이스(530c)와 인터페이스를 형성하거나, 이 디바이스와 통신하거나, 이 디바이스에 접속되거나, 또는 다르게는 이 디바이스를 사용할 수 있도록 임의 유형 및/또는 형태의 비디오 어댑터, 비디오 카드, 드라이버, 및/또는 라이브러리를 포함하고 있을 수 있다. 일 실시예에 있어서, 비디오 어댑터는 복수의 디스플레이 디바이스(530c)와 인터페이스를 형성하기 위한 복수의 커넥터를 포함할 수 있다. 다른 실시예에 있어서, 컴퓨팅 디바이스(500)는 각각의 비디오 어댑터가 하나 이상의 디스플레이 디바이스(530c)에 접속되어 있는 복수의 비디오 어댑터를 구비하고 있을 수 있다. 일부 실시예에 있어서, 컴퓨팅 디바이스(500)의 운영 체제의 임의의 일부가 복수의 디스플레이 디바이스(530c)를 사용하도록 구성되어 있을 수 있다. 다른 실시예에 있어서, 하나 이상의 디스플레이 디바이스(530c)는 하나 이상의 다른 컴퓨팅 디바이스에 의해서 제공되고, 네트워크를 통해서, 예를 들면, 컴퓨팅 디바이스(500)에 접속될 수 있다. 이들 실시예는 컴퓨팅 디바이스(500)에 대해서 제 2 디스플레이 디바이스(530c)로서 다른 컴퓨팅 디바이스의 디스플레이 디바이스를 사용하도록 디자인되고 형성된 임의 유형의 소프트웨어를 포함할 수 있다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 컴퓨팅 디바이스(500)가 복수의 디스플레이 디바이스(530c)를 가지도록 구성될 수 있는 다양한 방법 및 실시예에 대해서 잘 알고 있을 것이다.
도 2a 및 도 2b에 나타낸 종류의 컴퓨팅 디바이스(500)는 태스크의 스케줄링 및 컴퓨터 리소스에 대한 액세스를 제어하는 운영 체제의 제어 하에서 동작될 수 있다. 컴퓨팅 디바이스(500)는 컴퓨팅 디바이스 상에서 동작할 수 있고 또한 본 명세서에서 설명한 동작을 수행할 수 있는, 임의의 운영 체제, 임의의 임베디드 운영 체제, 임의의 오픈 소스 운영 체제, 임의의 전용 운영 체저, 임의의 모바일 컴퓨팅 디바이스용 운영 체제, 또는 임의의 기타 운영 체제가 동작할 수 있다.
컴퓨팅 디바이스(500)는 통신 가능하고 또한 본 명세서에서 설명한 동작을 수행할 수 있는 충분한 프로세서 성능 및 메모리 용량을 가진 임의의 워크스테이션, 데스크톱 컴퓨터, 랩탑 또는 노트북 컴퓨터, 서버 머신, 핸드헬드 컴퓨너, 모바일 전화 또는 기타 포터블 통신 디바이스, 미디어 플레이 디바이스, 게이밍 시스템, 모바일 컴퓨팅 디바이스, 또는 임의의 기타 유형 및/또는 형태의 컴퓨팅, 통신, 또는 미디어 디바이스일 수 있다. 일부 실시예에 있어서, 컴퓨팅 디바이스(500)는 가상화된 컴퓨팅 디바이스일 수 있으며, 이 가상화된 컴퓨팅 디바이스는 네트워크 또는 클라우드 기반 환경에서 동작할 수 있다. 일부 실시예에 있어서, 컴퓨팅 디바이스(500)는 서로 다른 프로세서, 운영 체제, 및 디바이스와 일치하는 입력 디바이스를 가질 수 있다.
다른 실시예에 있어서, 컴퓨팅 디바이스(500)는 자바(Java)가 실행 가능한 휴대 전화 또는 휴대용 개인 정보 단말기(PDA), 스마트 폰, 디지털 오디오 플레이어, 또는 포터블 미디어 플레이어와 같은 모바일 디바이스이다. 일부 실시예에 있어서, 컴퓨팅 디바이스(500)는, 디지털 오디오 플레이어 또는 포터빌 미디어 플레이어와 조합된 모바일 폰과 같은 조합된 디바이스를 포함하고 있다.
도 2c에 나타낸 바와 같이, 중앙 처리 장치(521)는 복수의 프로세서(P1, P2, P3, 및 P4)를 포함할 수 있으며, 또한 명령어의 동시 실행 또는 하나 이상의 데이터 조각 상에서 하나의 명령어를 동시에 실행하기 위한 기능을 제공할 수 있다. 일부 실시예에 있어서, 컴퓨팅 디바이스(500)는 하나 이상의 코어(core)를 갖는 병렬 프로세서를 포함할 수 있다. 이들 실시예 중의 하나에 있어서, 컴퓨팅 디바이스(500)는 복수의 프로세서 및/또는 복수의 프로세서 코어를 구비하고, 단일 전역 주소 공간으로서 가용한 전체 메모리에 액세스하는 메모리 공유 병렬 디바이스이다. 이들 실시예 중의 다른 실시예에 있어서, 컴퓨팅 디바이스(500)는 각각 로컬 메모리만 액세스하는 복수의 프로세서를 갖는 분산 병렬 메모리 디바이스이다. 이들 실시예 중의 또 다른 실시예에 있어서, 컴퓨팅 디바이스(500)는 일부 메모리는 공유되고 또한 일부 메모리는 특정 프로세서 또는 프로세서의 서브셋에 의해서만 액세스 될 수 있는 메모리를 가지고 있다. 이들 실시예 중의 또 다른 실시예에 있어서, 중앙 처리 장치(521)는 두 개 이상의 독립적인 프로세서를 단일 패키지, 예컨대 단일 집적 회로(IC)에 조합한 멀티 코어 마이크로 프로세서를 포함하고 있다. 예시적인 일 실시예에 있어서, 도 2d에 도시되어 있는 바와 같이, 컴퓨팅 디바이스(500)는 적어도 하나의 중앙 처리 장치(521) 및 적어도 하나의 그래픽 처리 유닛(521')을 구비하고 있다.
일부 실시예에 있어서, 중앙 처리 장치(521)는 단일 명령어, 복수 데이터(SIMD) 기능, 예컨대 단일 명령어를 실행하여 복수의 데이터 조각 상에서 동시에 실행되는 기능을 제공한다. 다른 실시예에 있어서, 중앙 처리 장치(521) 내의 몇 개의 프로세서는 복수의 데이터 조각 상에서 복수의 명령어를 실행하기 위한 기능(MIMD)을 제공할 수 있다. 또 다른 실시예에 있어서, 중앙 처리 장치(521)는 단일 디바이스 상에서 SIMD 및 MIMD 코어를 임의로 조합하여 사용할 수도 있다.
컴퓨팅 디바이스는 네트워크에 의해서 접속된 복수의 머신 중의 하나이거나, 그렇게 접속된 복수의 머신을 포함할 수 있다. 도 2e는 예시적인 네트워크 환경을 나타내고 있다. 네트워크 환경은, 하나 이상의 네트워크(504)를 통해서 하나 이상의 원격 머신(506a, 506b, 506c)(또한 일반적으로 서버 머신(506) 또는 원격 머신(506)으로도 지칭됨)과 통신하고 있는 하나 이상의 로컬 머신(502a, 502b)(또한 일반적으로 로컬 머신(502), 클라이언트(502), 클라이언트 노드(502), 클라이언트 머신(502), 클라이언트 컴퓨터(502), 클라이언트 디바이스(502), 엔드 포인트(502), 또는 엔드 포인트 노드(502)로도 지칭됨)을 포함하고 있다. 일부 실시예에 있어서, 로컬 머신(502)은 서버 머신에 의해서 제공되는 리소스에 대한 액세스를 탐색하는 클라이언트 노드로서, 및 다른 클라이언트(502a, 502b)에 대한 리소스를 호스팅하도록 하는 액세스를 제공하는 서버 머신으로의 기능을 모두 제공하는 능력을 가지고 있다. 도 2e에서는 두 개의 클라이언트(502) 및 세 개의 서버 머신(506)만이 도시되어 있지만, 일반적으로 각각에 대해서 임의의 개수일 수 있다. 네트워크(504)는 근거리 통신망(LAN), 예컨대, 회사 인트라넷과 같은 사설망, 인터넷과 같은 메트로폴리탄 네트워크(MAN)또는 광역망(WAN), 또는 다른 공중망, 또는 이들을 조합한 망일 수 있다.
컴퓨팅 디바이스(500)는, 제한하지 않고, 표준 전화선, 근거리 통신망(LAN), 광역망(WAN) 링크, 광대역 접속, 무선 접속, 또는 임의의 조합 또는 이들 모두의 조합한, 다양한 접속 방법을 통해서 네트워크(504)로의 인터페이스를 형성하기 위한 네트워크 인터페이스(518)를 포함할 수 있다. 접속은 다양한 통신 프로토콜을 사용하여 형성될 수 있다. 일 실시예에 있어서, 컴퓨팅 디바이스(500)는 임의 유형 및/또는 형태의 게이트웨이 또는 보안 소켓층(SSL) 또는 전송 계층 보안(TLS)과 같은 터널링 프로토콜을 통해서 다른 컴퓨팅 디바이스(500)와 통신하고 있다. 네트워크 인터페이스(518)는 컴퓨팅 디바이스(500)를 임의 유형의 네트워크와 인터페이스를 형성하고 또한 본 명세서에서 설명한 동작을 수행하기에 적합한 네트워크 인터페이스 카드와 같은 내장형 네트워크 어댑터를 포함할 수 있다. I/O 디바이스(530)는 시스템 버스(550) 및 외부 통신 버스 사이의 브리지일 수 있다.
본 발명의 다양한 실시예에 따르면, 탐색 및 검색 기술은 사용자의 입력 없이 흥미있는 현상을 검색하는 방법 - 달리 말하면, 사용자가 해당 정보에 대해서 명시적으로 검색하지 않고도 사용자에게 관련된 정보를 식별할 수 있는 하는 방법과 관련되어 있다. 범주화 기법은 문서(예컨대, 텍스트, 오디오, 및 비디오)를 "고객은 모든 통화에서 관리자와 대화하고 싶다"와 같은 소정의 범주로 분류하는데 촛점이 맞춰져 있다.
도 3은, 본 발명의 일 실시예에 따른, 범주 분포 리포트의 스크린 샷이다. 본 리포트에 있어서, 최근 7 일간 발생한 음성 통화, 고객-상담원 간의 전화 통화(또는 상호 작용)가 범주별(예컨대, 사전 설정된 범주)로 분류되어 있으며, 이 범주는 통화에 대해 알려진 이유의 집합을 나타내고 있다. 다른 실시예에 있어서, 대화는 통합될 수 있는 서로 다른 시간 주기(특정 날짜 또는 두 개의 임의의 날짜 사이에서, 예컨대, 어제, 지난 시간, 지난 한달에 걸쳐서)에 걸쳐서 통합되어 있다. 또한, 다른 실시예에 있어서, 상호 작용은 특정한 통신 채널, 이를테면 하나 이상의 전화, 이메일, 채팅, 및 소셜 미디어와 같은 통신 채널로 제한될 수 있으며, 특정 콜 센터로부터의 상호 작용으로 제한되거나, 또는 특정 부서(예를 들면, 영업부 또는 고객 지원부)로부터의 상호 작용으로 제한될 수 있다.
도 4는, 본 발명의 일 실시예에 따른, 사전 설정된 범주를 맞춤화하고 또한 한정하기 위한 인터페이스를 도시하고 있는 스크린 샷이다. 각각의 사전 설정된 범주는 각각의 토픽이 구문 또는 단어의 합집합으로서 정의될 수 있는 토픽의 불(Bool) 논리식으로 정의될 수 있으며, 따라서 상호 작용을 분류하는데 사용할 수 있는 일련의 범주화 규칙을 생성할 수 있다. 예를 들면, 도 4는 "전화 또는 상담 반복"(Repeat Call or Contact) 범주의 정의를 나타내고 있으며, 이 정의는 '적어도 한번은 매우 낮은 엄격도를 갖는 "통화 반복"이라는 토픽 발견 또는(OR) 적어도 한번은 매우 낮은 엄격도를 갖는 "상담 반복"'을 갖는 상호 작용에 의해서 정의되어 있다. "통화 반복" 및 "상담 반복"이라는 토픽은, 예를 들면, 특정 전화 번호로부터의 복수의 통화의 기록과 같은 특정 개시 이벤트를 검출하는 것에 의해서 또는 "다시 전화 주셔서 감사합니다"와 같은 상호 작용 중의 특정 구문을 식별하는 것에 의해서 개시될 수 있다.
이들 불(Bool) 논리식으로 나타낸 구문 중의 하나가 대화 중에 발화되면, 다양한 음성 인식 기술이 오디오 중에서 이를 인식할 수 있게 된다. (그와 같은 기술 중의 하나는 구문 인식으로 참조에 의해서 본 명세서에 그 내용에 합체되는 미합중국 특허 제7,487,094호(발명의 명칭: "System and method of call classification with context modeling based on composite words"이 있다.) 다른 실시예에 있어서, 상호 작용은 다른 미디어(예를 들면, 텍스트 채팅)를 통해서 수행되고 또한 다른 적절한 구문 검출 방법이 사용될 수 있다. 이들 구문 중의 하나를 검출하는 것에 의해서, 이들 구문이 속해 있는 토픽의 검출이 시작된다. 소정의 범주와 매칭되는 적절할 범주화 규칙을 갖는 토픽의 검출이 개시되고 또한 상호 작용은 매칭 범주에 따라서 라벨이 붙여진다.
따라서, 일 실시예에 따르면, 분석 서버(45)는 각각의 범주에 속하는 소정의 주기 내의 상호 작용의 갯수를 세는 것에 의해서 범주 분포 리포트를 생성할 수 있다.
본 발명의 일 실시예에 따르면, 분석 서버(45)는, 예를 들면, 도 5에서 도시한 바와 같이, 관련된 단어를 보거나 "탐색"할 수 있는 능력을 사용자에게 제공한다. 사용자는 단일 단어로부터 시작해서 다양한 대화 내의 다른 단어들을 갖는 시작 단어의 동시 출현을 탐색할 수 있다. 예를 들어서, 도 5는 일련의 관련된 통화 중에서 "신용"(credit)이라는 단어와 다른 단어와의 관계 또는 동시 출현에 대해서 도시하고 있다.
본 발명의 일 실시예에 따르면, 분석 서버(45) 및 토픽 검출 모듈(45a)은 사용자로 하여금 일련의 범주(예컨대, 일련의 사전 정의된 범주) 및 특정한 기간(예컨대, 최근 7 일간)에 이 범주로 분류된 일련의 통화로부터 일 범주를 선택하도록 하고, 또한 일련의 통화가 소정의 범주로 분류되어야 하는지에 대한 이유와 관련된 정보를 요청하도록 하는 사용자 인터페이스 모듈(45c)을 제공하고 있다. 분석 서버(45) 및 사용자 인터페이스 모듈(45c)은 자주 출현하고 또한 이 범주의 출현과 관련하여 유효하게 자주 발생하는 단어(예컨대, 동일 범주 내에서 일반적으로 발생하는 것보다 더 높은 빈도로 나타나는 단어)및 구문을 사용자에게 제공할 수 있다. 상호 작용을 범주화하기 위한 시스템 및 방법에 대해서는 이하에서 도 7을 참조하여 설명하기로 한다.
도 6은, 본 발명의 일 실시예에 따른, 핵심 단어(또는 "범주 주위의 버즈"(buzz around categories))의 클러스터링을 탐색하기 위한 사용자 인터페이스(6)를 도시하고 있다. 도 6을 참조하면, 문서의 시간 범위는 필드(61)에서 규정되어 있을 수 있다. 상호 작용 언어(또는 문서) 및 일반적인 분야(예컨대, 사업 범주) 또한 필드(62)에 규정될 수 있으며, 또한 상호 작용의 유형(예컨대, 전화 통화로부터의 오디오, 채팅, 이메일, 및 소셜 미디어 상호 작용)은 체크 박스(63)에서 선택될 수 있다. 도 6에 나타낸 바와 같이, 다양하게 정의된 통화의 범주(67)는, "은행 잔고"(Account Balance), "청구서 발행"(Billing Issue), "불만 확대"(Escalation), "불만족"(Dissatisfaction), 및 "긍정적인 반응"(Positive Feedback)이 리스트로 표시되며, 동시에 각각의 열에는 소정의 범주로 분류되어지는 상호 작용의 백분율, 해당 범주와 매칭되는 상호 작용의 총합, 및 이전 기간(예컨대, 현재 표시되고 있는 백분율이 지난 일주일간의 백분율이라면, 백분율의 변동은 이와 대비하여, 예를 들면, 직전 이주일까지, 또는 다른 예로서 지난해의 같은 주)로부터의 백분율 변동이 표시되어 있다.
일 범주에 대응하는 열이 선택되면(예컨대, 도 6에 있어서, "불만족"(Dissatisfaction) 열을 선택), 사용자 인터페이스의 작은 창(65)에 선택된 범주와 관련된 추가 정보가 표시될 수 있다. 도 6에 나타낸 바와 같이, 선택된 범주 내에서의 상호 작용과 공통인 상호 작용으로부터의 구문은 작은 창(65)에 표시된다. 일부 실시예에 있어서, 단어의 크기는 상호 작용 내에서 나타내는 구문의 빈도수에 대응할 수 있다. 또한, 일부 실시예에 있어서, 사용자 인터페이스는 또한 시간에 따른 해당 범주의 상호 작용의 숫자를 나타낼 수도 있다.
도 7은, 본 발명의 일 실시예에 따른, 상호 작용(예컨대, 텍스트 및 오디오의 전사 텍스트)로부터 컨셉을 추출하기 위한 분석 서버(45) 및 토픽 검출 모듈(45a)에 의해서 실행되는 프로세스의 흐름도이다. 일 실시예에 따르면, 의미론적으로 관련되어 있는 문장들은 동일한 아이디어를 포함하고 있는 것으로 하여 함께 그룹화(또는 클러스터화)된다. 클러스터화는 문장의 중요한 부분이 유사하거나 동일한 것으로 보이는 경우에 입력으로서의 문장을 취하고 또한 이들 문장을 함께 클러스터화하는데 사용될 수 있는 기계 학습 기법이다. 이들 각각의 클러스터 중의 하나는 상술한 바와 같이 컨셉(concept)이 된다. 따라서, 특정 범주 주위의 (또는 관련된) 버즈(buzz)(또는 활동)을 찾아내기 위해서는, 구문의 위치 주변에서 나타나는 텍스트를 범주(예컨대, 이 구문의 직전 및 직후 30 초간)와 관련시키고, 또한 이하에서 더욱 상세하게 설명하는 바와 같이, 이 텍스트의 클러스터화를 수행한다.
본 발명의 일 실시예에 따른, 도 7을 참조하면, 전체 상호 작용의 내용(또는 텍스트의 전체 내용)을 범주화를 수행하도록 구성된 시스템(예컨대, 도 2a에 나타낸 바와 같은 컴퓨터 시스템(500)일 수 있으며, 도 1에 나타낸 바와 같은 토픽 검출 모듈(45a)을 포함하고 있는, 도 1에 나타낸 것과 같은 분석 서버(45)에 공급하여 상호 작용으로부터 컨셉 또는 구문이 추출된다.
처리되는 상호 작용이 대규모 사건 기반 연속 음성 인식법(LVCSR)인 경우라면, 신뢰 확률이 낮은 단어는 단계(100)에서 필터링되며, 신뢰 확률이 높은 단어만이 처리될 텍스트에 남게 된다. 탐색이 이메일, 채팅, 또는 기타 텍스트 상에서 실행되는 경우에는, 전체 텍스트가 사용된다.
토픽에 대한 탐색의 경우, 일 실시예에 따르면, 토픽 인식의 전과 후의 특정한 시간 경계(예컨대, 토픽 전후 30 초간)에 들어가는 텍스트만 사용되며, 다른 데이터는 단계(101)에서 필터링되어 제거된다.
단계(102)에 있어서, "문장"(sentence)은 필터링된 텍스트로부터 생성된다. 본 명세서에서 정의되는 바와 같이, "문장"은 텍스트 중의 연속된 단어 블록을 지칭하며, 이 단어 블록은 반드시 특정한 문법 또는 정자법을 지킨 단위(예컨대, 문법이 완전한 문장 또는 영어의 경우 대문자로 시작해서 마침표로 끝나는 단어 배열)에 대응할 필요는 없다. 예를 들면, 일 실시예에 있어서, n이 4일 수 있는, 즉 매든 연속되는 4 단어가 "문장"을 형성함을 의미하는 중첩되어 있는 n-gram(중첩된 n-gram)이 생성된다. 그러나, 본 발명의 다른 실시예에 있어서, n은 임의의 다른 1을 초과하는 정수일 수 있다. 또한, n-gram은 단지 단어들로부터 문장을 생성하기 위한 일 방법일 뿐이며, 다른 실시예에 있어서는, 연속되는 단어의 "문장" 또는 블록을 형성하는 다른 방법을 채택할 수 있다.
단계(103)에 있어서, 문장의 현저도는 문장 내의 단어의 현저도로부터 계산된다. 일 실시예에 따르면, 단어의 역문서 빈도수(IDF)를 사용하여 단어(w)의 현저도를 측정하며, 또한 문장의 현저도는 문장 내의 각 단어의 IDF의 합계의 제곱에 의해서 얻어진다.
Figure pct00001
Figure pct00002
여기에서, N은 수집된 문서의 총수이며 DF(w)는 단어(w)가 나타나는 문서의 숫자이다.
클러스터화를 더욱 빠르게 진행시키기 위해서, 일 실시예에 있어서, 현저도가 가장 높은, 즉 현저성이 가장 큰 문장만을 사용한다. 그와 같기 때문에, 단계(104)에 있어서, 현저도에 의해서 문장을 분류하는 것에 의해서 문장을 제거하며 또한 상위에 있는 것들과 비교하여 현저도가 낮은 문장들은 폐기된다. 예를 들면, 일 실시예에 있어서, 최상위 문장 중에서 5 % 미만의 현저도를 갖는 문장은 고려 대상으로부터 제거된다. 단계(105)에 있어서, 문장은 현저도가 낮은 단어에 의해서만 다른 것들과는 다른 유사한 문장으로 함께 그룹화되도록 클러스터화(cluster)된다. 문장의 유사도는 다양한 텍스트 마이닝 측정 기법에 기초하여 측정될 수 있으며, 또한 이하에서 더욱 상세하게 설명하기로 한다.
단계(106)에 있어서, 각각의 클러스터의 현저도는 텍스트 마이닝 측정 기법에 기초하여 계산된다. 일 실시예에 따르면, 클러스터의 현저도는 클러스터 중의 문장의 현저도의 가중치 합으로부터 구성된다.
Figure pct00003
문장 제거와 관련하여 설명한 바와 유사한 방식으로, 일 실시예에 있어서, 최상위 클러스터만 사용자에게 제시되어지며, 현저도가 낮은 클러스터는 제거될 수 있다.
단계(107)에 있어서, 클러스터 내에서 모두 유효하고(informative) 또한 빈번한(frequent) 단어의 배열로 이름이 붙여진 클러스터들이 선택된다. 차수(N clustering >= N >= 2, 여기에서 Nn-gram 레벨)의 클러스터 내의 모든 문장(또는 n-gram)에 대해서, 문장의 길이(length)는 다음과 같이 계산한다.
Figure pct00004
여기에서, n-gram의 IDF는 상술한 바와 같이 정의되며, n-gram의 TF는 클러스터 내에 나타나는 n-gram의 개수이다.
이 수학식은 장배열 단어와 단배열 단어 사이에서 안정되어 있음에 주목하여야 한다. IDF가 단어 IDF의 합계로부터 형성되기 때문에 장배열은 더 큰 IDF를 가지게 될 것이고, TF는 더 낮게 될 것이다. 단배열은 더 큰 카운트(count, 또는 TF)를 가지게 될 것이고, IDF는 더 낮게 될 것이다.
그와 같기 때문에, 클러스터는 최대 TFIDF NG 를 갖는 클러스터의 n-gram에 의해서 이름이 붙여질 수 있다.
일 실시예에 따르면, n-gram 사이의 유사도 측정은 동일한 중요한 단어를 포함하고 있는 경우에는 두 개의 n-gram이 더욱 유사하고, 또한 이들 사이에 중요한 단어가 공유되지 않는 경우에는 덜 유사하다고 공식화된다. 다음의 유사도 측정(Sim)에 의해서 이들 특성을 알 수 있다.
Figure pct00005
Figure pct00006
Figure pct00007
Figure pct00008
여기에서, sent 1 sent 2 는 유사도에 있어서 비교되는 문장이다.
이 측정 방법을 사용하게 되면, 두 문장에 포함되어 있는 현저도는 유사도를 증가시키게 될 것이고, 또한 문장 중의 하나에만 포함되어 있는 현저도는 유사도를 감소시키게 될 것이다.
도 8은, 본 발명의 일 실시예에 따른, 문장을 클러스터화하기 위해서 분석 서버(45) 및 토픽 검출 모듈(45a)에 의해서 실행되는 방법을 도시하고 있는 흐름도이다.
도 8을 참조하면, 단계(200)에 있어서, 문장은 클러스터에 대한 센터(center, 또는 템플리트)로서 기능하도록 랜덤하게 선택되어진다. 이는 클러스터링 알고리즘에 있어서 표준 절차이지만, 본 발명의 각 실시예에 있어서, 센터(center)는 (전형적인) 수치 벡터가 아니라 단어 배열이며, 또한 클러스터링 프로세스는 양(both) 문장에서 발생하는, 어떤 점에서 일부 유사한, 단어에 기초하고 있다. 참조에 의해서 전체 개시 내용이 본 명세서에 병합되는, 예컨대, H. Ye and S. Young, "A Clustering Approach to Semantic Decoding" ICSLP 2006, Pittsburgh, PA (2006) 참조.
단계(201)에 있어서, 클러스터화 과정과 관련되어 있는 각각의 문장은 문장 유사도 함수(Sim)와 같은 유사도 공식을 사용하여 각각의 클러스터 센터(템플리트, template)와 비교된다.
단계(202)에 있어서, 각각의 문장은, 이 유사도 또한 유사도 역치(예컨대, 소정의 역치)를 초과한다면, 가장 높은 유사도를 가지는 클러스터에 할당된다.
단계(203)에 있어서, 프로세스는 매우 적은 수의 문장이 할당된 템플리트가 제거된다.
단계(204)에 있어서, 모든 문장이 템플리트로서 시도되었거나, 소정 횟수의 반복에 도달하게 되는 경우, 종료 조건을 충족하게 되고, 따라서 클러스터링 프로세스가 종료하게 된다. 종료 조건이 충족되지 않는 경우, 프로세스는 단계(200)로 반환되고 또한 템플리트로서 기능하게 될 추가 문장을 선택하며, 여기에서 추가 문장은 템플리트로서 시도되지 않았던 일련의 문장으로부터 랜덤하게 선택되어진다.
따라서, 본 발명의 각 실시예는 사용자에 의해서 수동으로 핵심 구문을 입력하지 않고서도 이들 토픽과 관련된 것으로서 관련 구문을 검출하고 또한 상호 작용에 라벨(label)(또는 태그 또는 분류)을 첨부하는 것에 의해서 대화의 새로운 토픽을 자동적으로 식별하고 또한 이 새로운 토픽에 이름을 붙일 수 있게 된다.
본 발명의 다른 실시예에 따르면, 근원 원인 마이닝 단계는 사전의 처리 단계에서 할당된 컨셉 및/또는 범주에 적용되어 이들 사이의 연관성 규칙(예를 들면, 논리적인 함의)을 추론할 수 있다. 예를 들면, 범주 및/또는 컨셉(A, B, 및 C)의 연관성 규칙, 이를테면, A, B → C와 같은 연관성 규칙은 C의 근본 원인(root cause)이 C 이전에 동일한 통화 또는 문서 내에 나타나는 A 및 B를 가지고 있음을 나타낼 수 있다. 여기에서, A, B, 및 C는 사전 설정된 범주 또는 새롭게 발견한 컨셉, 또는 이들의 혼합체일 수 있다. 설명을 위해서, 도 9에 이에 관해 나타내었다. 도 9는 추론된 연관성 규칙의 질의(querying) 및 표시(viewing)를 위한 사용자 인터페이스를 도시하고 있고 있는 스크린 샷이다. 향상도(lift) 및 현저도(saliency) 측정과 함께 각각의 이들 근거 확률(support) 및 신뢰 확률(confidence) 레벨과 함께 연관성 규칙을 나타내었다. 근본 원인 분석을 수행하여 도 9에 나타낸 추론된 연관성 규칙을 생성하기 위한 시스템 및 방법에 대해서는 도 10, 도 11, 및 도 12를 참조하여 설명하기로 한다.
본 발명의 다른 실시예에 있어서, 상술한 두 개의 접근법이 조합된다. 첫째, 사용자는 범주(예를 들면, 범주("C"))를 선택하고 이후에 다른 범주에 대한 관계를 "검색"(search)하도록 선택할 수 있다. 분석 서버(45)의 근본 원인 마이닝 모듈(45b)은 이후에 범주(C)를 초래하는 범주의 연관성 규칙, 즉, 우측(RHS, right hand side) 상에 C를 갖는 규칙(예를 들면, B → C)의 마이닝(mining)을 수행한다. 더욱 상세한 조사를 위해서, 사용자는 이후에 "관계 주위의 버즈"(buzz around relation)을 보려고 선택할 수 있다. 근본 원인 마이닝 모듈(45b)은, 이후에, 본 발명의 일 실시예에 따른, 복수의 상호 작용 중의 토픽 사이에서의 관계를 탐색하기 위한 인터페이스를 도시하고 있는 스크린 샷인 도 5에 나타낸 바와 같이 "범주 주위의 버즈"(Buzz around categories)와 같은 유사한 방식으로 이 관계를 갖는 일련의 상호 작용으로부터만 컨셉을 추출할 수 있다. 또한, 근본 원인 마이닝 모듈(45b)은 범주(B) 직전에 시작하고 또한 범주(C) 직후에 종료하는 상호 작용의 일부분만을 볼 수 있도록 구성 및 제한될 수 있다.
일반적으로, 본 명세서에서 사용된 바와 같이, "단어"(term)(또는 "구문"(phrase))는 "토픽"(topic)의 일부이며, 또한 "토픽"은 "범주"(category)의 일부이다. 본 명세서에서 설명된 시스템 및 방법은 임의의 이들 레벨(단어/구문, 토픽, 또는 범주)에 적용될 수 있다. 예를 들면, "관리자와 통화하고 싶습니다"라는 단어는 "동일 통화에서 고객이 한 번 이상 고위층과의 대화를 요청"한 범주의 일부일 수 있는 "고위층과의 대화" 토픽의 일부일 수 있다. 본 발명의 각 실시예는, 임의의 레벨 또는 이들 모든 레벨에 대해서 적용 가능하며, 또한, 설명의 편의를 위해서, 본 명세서에서는 토픽에 대해서만 설명하였다. 하지만, 본 발명의 각 실시예는 토픽과 함께 사용되는 것으로 한정되지 않으며 또한 다른 레벨, 예를 들면, 단어(term), 구문(phrase), 및 범주(category)에서 사용될 수 있다.
도 9는, 본 발명의 일 실시예에 따른, 각각의 유도된 추론 규칙에 대해서 근거 확률(support), 신뢰 확률(confidence), 향상도(lift), 및 현저도(saliency) 레벨과 함께 원인 및 이벤트 사이에서의 연역된 연관성 규칙의 리스트를 나타내고 있는 스크린 샷이다. 근거 확률, 신뢰 확률, 향상도, 및 현저도는 계산된 값으로서, 유도된 추론 규칙의 각각의 품질을 평가할 수 있도록 사용자에게 보여질 수 있으며, 이하에서 더욱 상세하게 설명하기로 한다. 본 도면에 있어서, 본 발명의 발명자들은 토픽 간의 연관성 규칙을 나타내었지만, 용어/구문 또는 범주 간의 연관성 규칙도 실질적으로 동일한 방식으로 생성되고 사용될 수 있다. 사용자는 특정 토픽(예컨대, 고객 "불만족(dissatisfaction)")과 관련된 규칙에 대해서 "목표 토픽"(Target Topic)을 나타내는 드롭 다운 박스로부터 이 토픽을 선택하여 검색할 수 있으며, 이 경우에 있어서, "불만족"을 포함하고 있는 규칙이 "우변"에 나타나게 된다. 사용자는 또한 결과를 특정 기준(예컨대, 최소 향상도 및/또는 최소 신뢰 확률)과 매칭되는 규칙으로 제한할 수 있다. 도 9에 나타낸 실시예에 있어서, 70의 최소 신뢰 확률을 만족하는 규칙만 반환되며, 또한, "목표 토픽" 항목에서 "불만족" 토픽이 선택되는 경우, "불만족" 컨셉과 관련된 규칙 중에서 "Transfer(계좌 이체) + Dispute(분쟁) → Dissatisfaction(불만족)" 및 "No Payment(무지불) + On Hold (대기)→ Dissatisfaction(불만족)"만이 나타내어질 수 있다.
상술한 바와 같이, 본 발명의 각 실시예를 사용하여 사전 설정된 토픽 또는 범주 사이에 있어서, 발견된 컨셉 사이에 있어서, 또는 이들 모두에 있어서, 상관 관계 및 인과 관계를 마이닝할 수 있다. 편의상, 마이닝된 객체는, 이들이 소정의 토픽의 인스턴스이든 또는 발견된 컨셉의 인스턴스이든 "요소"(element)로 참조될 수 있다.
도 10은, 본 발명의 일 실시예에 따른, 이벤트의 원인을 결정하기 위해서 분석 서버(45) 및 근본 원인 마이닝 모듈(45b)에 의해서 실행되는 프로세스를 도시하고 있는 흐름도이다.
분석되어야 할 일련의 문서는 전체 집합의 상호 작용이거나 또는 애플리케이션에 의해서 정의되거나 사용자에 의해서 선택된 문서의 서브셋(예컨대, 통화만, 채팅만, 판매 통화 이외의 모든 상호 작용 등)일 수 있다. 문서 집합에 있어서 빈도가 높은 배열을 식별하기 위해서는, 소정의 문서 집합에서의 각각의 문서에 대해서, 단계(300)에서는 특정한 신뢰 확률 값 미만의 요소는 필터링되며, 단계(301 및 302)에서는 오름 차순으로 정렬된 요소의 시작 시간에 의한 요소의 요소 ID의 배열이 생성된다. 토픽 또는 범주에 있어서, 요소의 시작 시간은 토픽 내에 포함된 단어(term)의 인식 시작 시간이다. 발견된 컨셉, 예를 들면, 문장의 클러스터의 경우에 있어서, 요소 시작 시간은 클러스터 내에 포함되어 있는 문장 내의 제 1 단어의 인식 시작 시간이다. 일련의 배열은 이후에 단계(303)에서 연속된 유사 토픽의 출현을 제거하는 것에 의해서 압축될 수 있다.
결과 집합(set)은 이후에 단계(304)에서 PrefixSpan(Pei J, Han J, Mortazavi-Asl B, Wang J, Pinto H, Chen Q, Dayal U, Hsu M-C, Mining Sequential Patterns by Pattern- Growth:The PrefixSpan Approach, IEEE Trans. Knowl. Data Eng. 16:1424-1440 (2004) 참조)과 같은 빈도수 배열을 마이닝(mining)하기 위한 알고리즘을 사용하여 단계(304)에서 마이닝되며, 그 결과 일련의 패턴(pattern, F)은 최소 근거 확률 역치(s)를 초과하는 근거 확률을 갖게 된다.
일련의 패턴(F)은 단계(305)에서 (불연속적인 것이라고 하더라도) 반복되는 배열을 삭제하는 것에 의해서 압축된다. 예를 들면, 패턴(a, d, a, b)은 패턴(a, d, b) 보다 훨씬 더 흥미롭지가 못하다. 최종 사용자에게 제공되는 출력의 크기를 축소시키기 위해서, 패턴(a, d, a, b)은 삭제되어진다. 또한, 비반복 패턴의 삭제는 조건(LHS) 및 결과(RHS)의 모두에 있어서 동일한 요소를 포함하고 있지 않은 패턴으로부터 연관성 규칙을 유도하는 것을 보장할 수 있다. 패턴(a, d, a, b)은 요소 {a, d, b} 사이에서의 관계와 관련된 정보를 분실하지 않고서도 일련의 패턴(F)으로부터 제거될 수 있으며, 이는 패턴((a, d, b) 및 (d, a, b))의 모두가 집합(F)을 압축한 이후에도 집합(F) 내에 남아 있기 때문이다.
보다 형식적으로 설명하자면, 일련의 빈도수 패턴(F) 및 패턴(p)가 반복되는 아이템(e)을 갖는다고 하면, F 중에 존재하는 반복(e)을 제거하는 것에 의해서 생성된 패턴(p')은 다음과 같다.
Figure pct00009
Figure pct00010
여기에서, sup(p)는 근거 확률 함수로, 모든 문서에 걸쳐서 나타나는 패턴(p)의 개수로 정의된다.
더 나아가서, 이 절차는 (a, d, b) 및 (d, a, b)의 근거 확률을 갱신하지 않고도 수행될 수 있는데, 이는 (a, d, a, b)의 모든 인스턴스가 패턴((a, d, b) 및 (d, a, b))에 대해서 이미 계산되었기 때문이다.
단계(305)에서 일련의 패턴(F)을 압축한 이후에, 단계(306)에서 F 내의 패턴에 대한 연관성 규칙을 계산한다.
도 11은, 본 발명의 일 실시예에 따른, 도 10에 나타낸 프로세스의 연관성 규칙을 생성하는 단계(306)의 동작에 대해서 더욱 상세하게 도시하고 있는 순서도이다. 본 발명의 각 실시예의 다른 특징에 따른 도 11을 참조하면, 연관성 규칙은 다음의 방법에 따라서 분석 서버(45) 및 토픽 검출 모듈(45a)에 의해서 계산될 수 있다.
단계(304)(도 10 참조)에서 마이닝된 패턴(F)은 연관성 규칙을 생성하는 단계에서 처리된다. 패턴(F) 내의 각각의 배열 패턴(p)에 대해서(단계(400), 패턴(p)의 길이를 검사한다(단계(401)). p가 하나의 요소만 가지고 있는 경우라면, 패턴(p)은 폐기되어 고려되지 않으며, 또한 프로세스는 F 내의 다음 패턴(p)으로 속행한다(단계(408) 참조). p가 두 개 이상의 요소를 가지고 있는 경우, 단계(402)에서 p는 제 1 부분(p 1 )(또는 "좌변"(left-hand side, LHS), 및 제 2 부분(p 2 )(또는 "우변"(right hand side", RHS)으로 분할되어 제 1 및 제 2 부분(p 1 p 2 )이 초기화되며, 여기에서 p 1 은 초기화되어 p의 마지막 요소를 제외한 모든 요소를 포함하고 있고, p 2 는 초기화되어 p의 마지막 요소만 포함하고 있다.
제 1 부분(p 1 )으로부터 제 2 부분(p 2 )로의 추론 규칙(p 1 p 2 , 또는 LHS → RHS)이 생성되고 저장된다. 이후에 단계(403)에서 추론 규칙의 신뢰 확률이 계산되며, 이때 신뢰 확률은 다음과 같이 계산된다.
Figure pct00011
규칙의 신뢰 확률은 문서가 LHS를 포함하고 있다는 가정하에서 문서 내에서 RHS를 가지고 있을 확률을 나타낸다. 달리 말하자면, 조건(LHS)이 주어지면, 이후의 결과(RHS)를 보여주는 확률이 무엇인가를 나타낸다.
계산된 신뢰 확률은 단계(404)에서 역치와 비교되며, 이 신뢰 확률이 소정의 역치를 초과한다면, 이 규칙은 단계(407)에서 결과 집합에 첨가된다. 동일한 패턴으로부터 잠재적인 규칙을 더욱 더 생성하기 위해서는 p 1 의 최종 요소가 p 2 의 시작 지점으로 이동된다. 이렇게 하더라도 (단계(406)에서 검사하는 것과 같이) p 1 이 비워지게 않게 된다면, 변형된 제 1 및 제 2 부분(p 1 p 2 )을 갖는 새로운 추론 규칙이 생성되고, 또한 새로운 추론 규칙의 신뢰 확률은 단계(403)에서 계산된다.
계산된 신뢰 확률이 역치 미만이거나 p 1 이 임의의 요소를 더 이상 가지고 있지 않는다면, 현재 패턴으로부터의 규칙의 생성은 중단된다. 단계(408)에서 결정되는 것과 같이, F 내에 더 많은 패턴이 있는 경우, 프로세스는 단계(401)에서의 다음 패턴으로 속행한다. 다르게는, 역치를 초과하여 설정된 저장된 결과 중의 규칙은 단계(409)에서 반환된다.
각각의 규칙에서의 신뢰 확률을 계산하는 것에 더하여, 단계(403)에서 또는 단계(409)에서 결과 집합이 반환된 직후의 어느 쪽에서든, 이 규칙에 대해서 향상도 및 현저도도 계산될 수 있다. 향상도 및 현저도의 특성은 다음 수학식에서와 같이 계산될 수 있다.
Figure pct00012
Figure pct00013
여기에서,
Figure pct00014
여기에서, N은 수집된 패턴의 총수이며 DF(e)는 요소(e)가 나타나는 패턴의 숫자이다. 이 수학식은 상술한 클러스터화 알고리즘에 대해서 사용한 문장의 현저도 계산 공식과 매우 유사하다.
향상도는 LHS 상에서의 RHS의 확률론적 종속의 측정값이다. 향상도가 낮으면, 예를 들면, 향상도(lift)가 1 미만인 경우(향상도 < 1)에는 이벤트(즉, LHS 및 RHS)가 더욱 독립적이라는 것을 의미한다. 향상도가 높으면, 예를 들면, 향상도(lift)가 1을 초과하는 경우(향상도 > 1)인 경우에는 서로에 대해서 더욱 의존적이라는 것을 의미한다.
현저도는, 패턴 집합 전체를 가정했을 때, 패턴 내에 포함되어 있는 정보의 양을 측정한 값이다. 현저도는 집합 내에 나타나는 모든 패턴 중에서 패턴의 상대적인 중요도 또는 돌출도로서 나타내어질 수 있다. 현저도가 더 높다는 것은 해당 패턴이 더욱 중요하다는 것을 의미한다.
결과 집합 내의 규칙 또한 신뢰 확률, 향상도, 및 현저도에 의해서 분류되어질 수 있다.
도 12는, 본 발명의 일 실시예에 따른, 근본 원인 마이닝 프로세스, 예를 들면, 도 10 및 도 11에 나타낸 프로세스의 출력을 도시하고 있는 도면이다. 도 12에 나타낸 바와 같이, 각각의 타원형은 검출된 특정 요소 또는 마이닝된 객체를 나타내며, 요소들은 다음을 포함하고 있다.
TRT TRT 이슈 구매자
Pur 구매 절차
Pos 연기 취소 우천 중지 미정
A 쿠폰 및 팬 코드 적용
T 티켓 상세
S 한정 및 제한 이벤트
S 아웃소싱
그러나, 다른 실시예에 있어서 및 서로 다른 맥락(예컨대, 고객 지원, 다른 제품 판매 등)에서 다양한 다른 상호 작용을 처리하는 경우, 패턴에는 다른 요소가 나타나게 될 것이다. 왼쪽에서 오른쪽으로의 각각의 화살표 경로는 요소의 서로 다른 배열을 나타내며, 또한 더 어둡거나 더 진하게 표시한 화살표는 더 높은 향상도의 관점에서 더 우수한 패턴임을 나타낸다. 그와 같기 때문에, 더욱 강하고 진하게 표시된 화살표를 갖는 경로는 오른쪽의 이벤트를 향해서 진행될 가능성이 높은 이벤트 간의 유사한 경로를 나타낸다.
예를 들면, 이벤트 "TRT, Pur"는 경로(Z → Pos → A)에 강하게 연결되어 있으므로, "한정 및 제한 이벤트", 다음으로 "연기 취소 우천 중지 미정", 및 "쿠폰 및 팬 코드 적용"의 배열은 "구매 절차" 및 "TRT 이슈 구매자" 이벤트로의 진행을 의미한다. 사용자가 "구매 절차" 이벤트로 귀결되는 상호 작용의 숫자를 증가시키고 하는 방향으로 탐색하는 경우, 사용자는 사용자 인터페이스 모듈(45c)(예컨대, 도 9 참조)을 통해서 유도된 규칙 내의 "구매 절차 이벤트"를 검색하도록 분석 서버(45)에 질의하며, 분석 서버(45)는 도 12에 도시되어 있는 자료 구조를 검색하여 일반적으로 소정의 이벤트로 진행되는 일련의 이벤트가 식별되도록 할 수 있다. 도 12에 나타낸 바와 같이, 상술한 경로(Z → Pos → A) 및 경로(Z → Pos)는 둘 다 이벤트(TRT Pur)로 확실하게 진행되며, 이들 경로가 사용자에 의해서 설정되는 역치 조건(예컨대, 최소 신뢰 확률 레벨)을 만족하는 경우라면, 이들 경로는 반환되어, 예를 들어, 도 9에 나타낸 바와 같이, 사용자에게 표시된다.
본 발명의 각 실시예는 방법 또는 시스템으로서 실시될 수 있다. 예를 들면, 마이크로 프로세서, 메모리, 네트워크 통신 디바이스, 및 대용량 스토리지 디바이스를 포함하고 있는 컴퓨터 디바이스 또는 시스템을 사용하여 상술한 프로세스를 자동화된 방식으로 또는 반자동화된 방식으로 실행할 수 있다. 달리 말하자면, 상술한 프로세스는 컴퓨터로 실행 가능한 코드로서 코딩되고 또한 컴퓨터 디바이스 또는 시스템에 의해서 처리될 수 있다.
또한, 상술한 설명으로부터, 본 명세서에서 기술한 다양한 구조 및 기능이 다양한 종류의 장치에 내장될 수 있음을 잘 알 것이다. 일부 실시예에 있어서, 프로세서, 컨트롤러, 및/또는 로직(logic)과 같은 하드웨어 컴포넌트를 사용하여 상술한 컴포넌트 또는 회로를 구현할 수 있다. 일부 실시예에 있어서, 하나 이상의 프로세싱 디바이스 상에서 실행되는 소프트웨어 또는 펌웨어와 같은 코드를 사용하여 하나 이상의 상술한 동작 또는 컴포넌트를 구현할 수 있다.
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면, 본 명세서에서 기술되어 있고 또한 도면의 흐름도에 도시되어 있는 것과 같은 프로세스가 컴퓨터 메모리에 저장된 명령어에 의해서 구현되어 컴퓨터 프로세서를 제어하여 상술한 기능을 수행하도록 할 수 있음을 이해할 것이다. 또한, 흐름도에 나타낸 단계 및 공정은 도시된 순서대로 실행될 필요는 없고 또한 본 발명이 행해졌을 때의 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 잠재적인 기법으로부터 이탈하거나 또는 실질적으로 변경하지 않고도 이들 단계 및 공정의 순서를 변경할 수 있다.
이상으로 특정한 예시적인 실시예와 관련하여 본 발명을 설명하였으나, 본 발명은 상술한 각 실시예로 한정되지 않고, 이와 반대로, 첨부 청구범위의 사상과 범주 내에 포함되는 다양한 변형 및 균등물, 및 이들의 등가물을 보호하도록 의도되었다.

Claims (39)

  1. 복수의 상호 작용 중의 컨셉(concept)을 식별하기 위한 방법에 있어서,
    프로세서 상에서, 간격에 기초하여 상기 상호 작용을 필터링하는 단계;
    상기 프로세서 상에서, 상기 필터링된 상호 작용으로부터 복수의 문장을 생성하는 단계;
    상기 프로세서 상에서, 각각의 상기 문장의 현저도(saliency, 현저성)를 계산하는 단계;
    상기 프로세서 상에서, 일련의 유효 문장을 생성하기 위해 낮은 현저도를 갖는 문장을 제거하는 단계;
    상기 프로세서 상에서, 복수의 문장 클러스터를 생성하기 위해서 상기 일련의 유효 문장의 상기 배열을 클러스터화하는 단계로서, 각각의 상기 클러스터는 상기 컨셉들 중의 하나의 컨셉에 대응하는 단계;
    상기 프로세서 상에서, 각각의 상기 클러스터의 현저도를 계산하는 단계; 및
    상기 프로세서 상에서, 각각의 상기 클러스터에 이름을 붙이는 단계;를 포함하는 것을 특징으로 하는, 복수의 상호 작용 중의 컨셉(concept)을 식별하기 위한 방법.
  2. 청구항 1에 있어서,
    상기 상호 작용은 음성 인식 시스템의 출력을 포함하는 것을 특징으로 하는, 방법.
  3. 청구항 2에 있어서,
    단어 신뢰 확률에 기초하여 상기 음성 인식 시스템의 상기 출력을 필터링하는 단계를 더 포함하는 것을 특징으로 하는, 방법.
  4. 청구항 2에 있어서,
    상기 음성 인식 시스템은 대규모의 사전 기반 연속 음성 인식 시스템인 것을 특징으로 하는, 방법.
  5. 청구항 1에 있어서,
    상기 간격은 시간 간격인 것을 특징으로 하는, 방법.
  6. 청구항 1에 있어서,
    상기 문장의 상기 클러스터화 단계는,
    일련의 유효 문장으로부터 복수의 템플리트 문장을 선택하는 단계로서, 각각의 템플리트 문장은 클러스터 중의 하나에 대응하는 단계;
    일련의 유효 문장 중의 각각의 문장의 템플리트 문장에 대한 유사도를 계산하는 단계;
    템플리트 문장을 사용하여 계산된 유사도에 따라서 일련의 유효 문장 중의 각각의 문장을 클러스터들 중의 하나의 클러스터에 할당하는 단계; 및
    할당된 문장의 역치값 미만의 역치값을 갖는 클러스터를 제거하는 단계;를 포함하는 것을 특징으로 하는, 방법.
  7. 청구항 6에 있어서,
    상기 문장을 클러스터화하는 단계는, 반복적으로, 클러스터에 할당되지 않은 문장으로부터 추가 템플리트 문장을 선택하는 단계 및 상기 복수의 템플리트 문장을 선택하는 단계, 상기 템플리트 문장에 대한 각각의 문장의 상기 유사도를 계산하는 단계를 반복하는 단계;
    클러스터에 대해 각각의 상기 문장을 할당하는 단계; 및
    모든 문장이 할당되기 전까지 또는 반복 한계에 도달하기 전까지 할당된 문장의 역치값 미만의 역치값을 갖는 클러스터를 제거하는 단계를 더 포함하는 것을 특징으로 하는, 방법.
  8. 청구항 1에 있어서,
    각각의 클러스터에 대해서, 각각의 상기 클러스터에 이름을 붙이는 단계는,
    상기 클러스터 내의 각각의 문장에 대해서 단어 빈도수 - 역문서 빈도수를 계산하는 단계; 및
    가장 높은 단어 빈도수 - 역문서 빈도수를 갖는 상기 클러스터의 문장을 갖는 상기 클러스터에 이름을 붙이는 단계;를 포함하는 것을 특징으로 하는, 방법.
  9. 복수의 상호 작용 중에서 자동적으로 식별된 컨셉을 탐색하기 위한 방법에 있어서,
    프로세서 상에서, 컨셉(concept)을 포함하고 있는 질의를 수신하는 단계;
    상기 프로세서에 의해서, 상기 컨셉을 포함하고 있는 클러스터를 수신하는 단계; 및
    상기 수신된 클러스터를 표시하는 단계;를 포함하며,
    상기 컨셉은,
    상기 프로세서 상에서, 간격에 기초하여 상기 상호 작용을 필터링하는 단계;
    상기 프로세서 상에서, 상기 필터링된 상호 작용으로부터 복수의 문장을 생성하는 단계;
    상기 프로세서 상에서, 각각의 상기 문장의 현저도(saliency, 현저성)를 계산하는 단계;
    상기 프로세서 상에서, 일련의 유효 문장을 생성하기 위해 낮은 현저도를 갖는 문장을 제거하는 단계; 및
    상기 프로세서 상에서, 복수의 문장 클러스터를 생성하기 위해서 상기 일련의 유효 문장의 배열을 클러스터화하는 단계로서, 각각의 상기 클러스터는 상기 컨셉들 중의 하나의 컨셉에 대응하는 단계;에 의해서 자동적으로 식별되는 것을 특징으로 하는, 방법.
  10. 컴퓨터 시스템에 있어서,
    프로세서; 및
    메모리;를 포함하며,
    상기 메모리는, 상기 프로세서에 의해서 실행될 때,
    간격에 기초하여 상기 상호 작용을 필터링하는 단계;
    상기 필터링된 상호 작용으로부터 복수의 문장을 생성하는 단계;
    각각의 상기 문장의 현저도를 계산하는 단계;
    일련의 유효 문장을 생성하기 위해서 현저도가 낮은 문장을 제거하는 단계;
    복수의 문장 클러스터를 생성하기 위해서 상기 일련의 유효 문장의 상기 배열을 클러스터화하는 단계로서, 각각의 상기 클러스터는 상기 컨셉들 중의 하나의 컨셉에 대응하는 단계;
    각각의 상기 클러스터의 현저도를 계산하는 단계; 및
    각각의 상기 클러스터에 이름을 붙이는 단계;에 의해서, 상기 프로세서가 복수의 상호 작용 중의 컨셉을 식별하도록 하는 명령어가 저장되어 있는 것을 특징으로 하는, 컴퓨터 시스템.
  11. 청구항 10에 있어서,
    상기 상호 작용은 음성 인식 시스템의 출력을 포함하는 것을 특징으로 하는, 컴퓨터 시스템.
  12. 청구항 11에 있어서,
    상기 명령어는 단어 신뢰 확률에 기초하여 상기 음성 인식 시스템의 상기 출력을 필터링하기 위한 명령어를 더 포함하는 것을 특징으로 하는, 컴퓨터 시스템.
  13. 청구항 11에 있어서,
    상기 음성 인식 시스템은 대규모의 사전 기반 연속 음성 인식 시스템인 것을 특징으로 하는, 컴퓨터 시스템.
  14. 청구항 10에 있어서,
    상기 간격은 시간 간격인 것을 특징으로 하는, 컴퓨터 시스템.
  15. 청구항 10에 있어서,
    상기 문장의 상기 클러스터화 단계는,
    일련의 유효 문장으로부터 복수의 템플리트 문장을 선택하는 단계로서, 각각의 템플리트 문장은 클러스터 중의 하나에 대응하는 단계;
    일련의 유효 문장 중의 각각의 문장의 템플리트 문장에 대한 유사도를 계산하는 단계;
    템플리트 문장을 사용하여 계산된 유사도에 따라서 일련의 유효 문장 중의 각각의 문장을 클러스터들 중의 하나의 클러스터에 할당하는 단계; 및
    할당된 문장의 역치값 미만의 역치값을 갖는 클러스터를 제거하는 단계;를 포함하는 것을 특징으로 하는, 컴퓨터 시스템.
  16. 청구항 15에 있어서,
    상기 문장을 클러스터화하는 상기 단계는, 반복적으로,
    클러스터에 할당되지 않은 문장으로부터 추가 템플리트 문장을 선택하고 또한 복수의 템플리트 문장을 선택하는 단계를 반복하며, 템플리트 문장에 대한 각각의 문장의 유사도를 계산하는 단계;
    클러스터에 대해 각각의 상기 문장을 할당하는 단계; 및
    모든 문장이 할당되기 전까지 또는 반복 한계에 도달하기 전까지 할당된 문장의 역치값 미만의 역치값을 갖는 클러스터를 제거하는 단계를 더 포함하는 것을 특징으로 하는, 컴퓨터 시스템.
  17. 청구항 10에 있어서,
    각각의 클러스터에 대해서, 각각의 상기 클러스터에 이름을 붙이는 단계는,
    상기 클러스터 내의 각각의 문장에 대해서 단어 빈도수 - 역문서 빈도수를 계산하는 단계; 및
    가장 높은 단어 빈도수 - 역문서 빈도수를 갖는 상기 클러스터의 문장을 갖는 상기 클러스터에 이름을 붙이는 단계;를 포함하는 것을 특징으로 하는, 컴퓨터 시스템.
  18. 컴퓨터 시스템에 있어서,
    프로세서; 및
    메모리;를 포함하며,
    상기 메모리는, 상기 프로세서에 의해서 실행될 때, 상기 프로세서가
    컨셉을 포함하고 있는 질의를 수신하는 단계;
    상기 컨셉을 포함하고 있는 클러스터를 수신하는 단계; 및
    상기 수신된 클러스터를 표시하는 단계;에 의해서 컨셉을 탐색하도록 하는 요청에 응답하도록 하는 명령어가 저장되어 있으며,
    상기 컨셉은,
    간격에 기초하여 상기 상호 작용을 필터링하는 단계;
    상기 필터링된 상호 작용으로부터 복수의 문장을 생성하는 단계;
    각각의 상기 문장의 현저도를 계산하는 단계;
    일련의 유효 문장을 생성하기 위해서 현저도가 낮은 문장을 제거하는 단계; 및
    복수의 문장 클러스터를 생성하기 위해서 상기 일련의 유효 문장의 상기 배열을 클러스터화하는 단계로서, 각각의 상기 클러스터는 상기 컨셉들 중의 하나의 컨셉에 대응하는 단계;에 의해서 자동적으로 식별되는 것을 특징으로 하는, 컴퓨터 시스템.
  19. 복수의 상호 작용 중에서 검출된 이벤트의 원인을 결정하기 위한 방법에 있어서,
    프로세서 상에서, 상호 작용 중의 복수의 요소(elelment)를 식별하는 단계;
    상기 프로세서 상에서, 상호 작용 중의 복수의 요소 배열(sequence)을 검출하는 단계;
    상기 프로세서 상에서, 일련의 지지 패턴을 생성하기 위해 상기 복수의 배열을 검색(mining)하는 단계;
    상기 프로세서 상에서, 상기 일련의 지지 패턴으로부터 연관성 규칙을 계산하는 단계; 및
    상기 계산된 연관성 규칙을 반환하는 단계;를 포함하는 것을 특징으로 하는, 방법.
  20. 청구항 19에 있어서,
    상기 요소는 정의된 토픽 및 식별된 컨셉을 포함하고 있는 것을 특징으로 하는, 방법.
  21. 청구항 20에 있어서,
    상기 식별된 컨셉들은,
    상기 프로세서 상에서, 간격에 기초하여 상기 상호 작용을 필터링하는 단계;
    상기 프로세서 상에서, 상기 필터링된 상호 작용으로부터 복수의 문장을 생성하는 단계;
    상기 프로세서 상에서, 각각의 상기 문장의 현저도(saliency, 현저성)를 계산하는 단계;
    상기 프로세서 상에서, 일련의 유효 문장을 생성하기 위해 낮은 현저도를 갖는 문장을 제거하는 단계;
    상기 프로세서 상에서, 복수의 문장 클러스터를 생성하기 위해서 상기 일련의 유효 문장의 상기 배열을 클러스터화하는 단계로서, 각각의 상기 클러스터는 상기 컨셉들 중의 하나의 컨셉에 대응하는 단계;
    상기 프로세서 상에서, 각각의 상기 클러스터의 현저도를 계산하는 단계; 및
    상기 프로세서 상에서, 각각의 상기 클러스터에 이름을 붙이는 단계;에 의해서 유도되는 것을 특징으로 하는, 방법.
  22. 청구항 19에 있어서,
    상기 요소 배열을 검출하는 상기 단계는,
    상기 복수의 배열을 생성하기 위해서 상기 상호 작용 내의 각각의 상호 작용 중의 상기 식별된 요소를 타임스탬프(timestamp)에 따라 분류하는 단계; 및
    반복되는 연속된 요소를 제거하기 위해서 각각의 상기 배열을 압축하는 단계;를 포함하는 것을 특징으로 하는, 방법.
  23. 청구항 19에 있어서,
    상기 프로세서 상에서, 상기 배열 내의 반복된 요소를 제거하기 위해서 일련의 지지 확률을 갖는 패턴을 압축하는 단계를 더 포함하는 것을 특징으로 하는, 방법.
  24. 청구항 19에 있어서,
    상기 압축된 일련의 지지 확률을 갖는 패턴으로부터 상기 연관성 규칙을 계산하는 상기 단계는,
    상기 압축된 지지 확률을 갖는 패턴 내의 각각의 배열 패턴에 대해서 연관성 규칙을 계산하는 단계로서, 상기 연관성 규칙을 계산하는 상기 단계는, 상기 배열 패턴이 두 개 이상의 요소(element)를 포함하고 있는 경우,
    상기 배열 패턴을 제 1 부분 및 제 2 부분으로 분할하는 단계로서, 상기 제 2 부분은 상기 배열 패턴 내의 최종 요소를 포함하고 있는 단계;
    제안된 연관성 규칙을 생생성하는 단계로서, 상기 제안된 연관성 규칙은 상기 제 1 부분으로부터 상기 제 2 부분으로의 논리적인 함의인 단계;
    상기 제안된 연관성 규칙의 신뢰 확률을 계산하는 단계;
    상기 계산된 신뢰 확률이 역치 신뢰 확률 레벨을 초과하는 경우, 상기 제안된 연관성 규칙을 저장하고 또한 상기 제 1 부분 내의 최종 요소를 상기 제 2 부분으로 이동하며 또한 상기 제안된 연관성 규칙을 반복해서 생성하고 또한 상기 신뢰 확률을 계산하는 단계; 및
    상기 계산된 신뢰 확률이 역치 신뢰 확률 레벨 미만인 경우, 상기 배열 패턴의 분석을 종료하고 또한 이전에 저장된 제안된 연관성 규칙을 연관성 규칙으로 하여 반환하거나 또는 그와 같은 제안된 연관성 규칙이 저장되어 있지 않다면 연관성 규칙을 반환하지 않는 단계;를 포함하는 것을 특징으로 하는, 방법.
  25. 청구항 24에 있어서,
    상기 연관성 규칙의 향상도(lift) 및 현저도(saliency)를 계산하는 단계를 더 포함하는 것을 특징으로 하는, 방법.
  26. 복수의 상호 작용 중에서 검출된 이벤트의 근본 원인을 결정하기 위한 방법에 있어서,
    프로세서 상에서, 상기 이벤트의 상기 근본 원인에 대한 질의(query)를 수신하는 단계;
    상기 프로세서 상에서, 복수의 연관성 규칙을 검색하는 단계로서, 각각의 상기 연관성 규칙은 하나 이상의 제 1 부분 요소 및 하나 이상의 제 2 부분 요소를 포함하고, 각각의 상기 연관성 규칙은 상기 제 1 부분으로부터 상기 제 2 부분으로의 논리적인 함의인 단계; 및
    상기 프로세서로부터, 상기 질의와 매칭되는 하나 이상의 연관성 규칙을 반환하는 단계로서, 각각의 상기 매칭되는 연관성 규칙의 상기 제 2 부분 요소가 상기 이벤트를 포함하고 있는 단계;를 포함하고 있는 것을 특징으로 하는, 방법.
  27. 청구항 26에 있어서,
    각각의 상기 연관성 규칙은 대응하는 신뢰 확률값을 가지고 있으며,
    상기 질의는 신뢰 확률 역치를 포함하고 있으며, 또한
    상기 질의에 매칭되는 상기 하나 이상의 연관성 규칙을 반환하는 상기 단계는 상기 신뢰 확률 역치를 초과하는 신뢰 확률값을 가지는 상기 질의와 매칭되는 연관성 규칙을 반환하는 단계를 더 포함하는 것을 특징으로 하는, 방법.
  28. 청구항 26에 있어서,
    각각의 상기 연관성 규칙은 대응하는 향상도 값 및 대응하는 현저도 값을 가지고 있으며,
    상기 질의는 적어도 하나의 향상도 역치 및 현저도 역치를 포함하고 있으며, 또한
    상기 질의와 매칭되는 상기 하나 이상의 연관성 규칙을 반환하는 상기 단계는 상기 향상도 역치 또는 상기 현저도 역치를 초과하는 향상도 값 또는 현저도 값을 갖는 상기 질의와 매칭되는 연관성 규칙을 반환하는 단계를 더 포함하는 것을 특징으로 하는, 방법.
  29. 컴퓨터 시스템에 있어서,
    프로세서; 및
    메모리;를 포함하며,
    상기 메모리는, 상기 프로세서에 의해서 실행될 때, 상기 프로세서가 복수의 상호 작용에서 검출된 이벤트 사이에서의 연관성 규칙을,
    상기 상호 작용 중의 복수의 요소를 식별하는 단계;
    상기 상호 작용 중의 복수의 요소의 배열을 검출하는 단계;
    근거 확률을 갖는 일련의 패턴을 생성하기 위해서 복수의 배열을 마이닝(mining)하는 단계;
    상기 근거 확률을 갖는 일련의 패턴으로부터 연관성 규칙을 계산하는 단계; 및
    상기 계산된 연관성 규칙을 반환하는 단계;에 의해서 계산하도록 하는 명령어가 저장되어 있는 것을 특징으로 하는, 컴퓨터 시스템.
  30. 청구항 29에 있어서,
    상기 요소는 정의된 토픽 및 식별된 컨셉을 포함하고 있는 것을 특징으로 하는, 컴퓨터 시스템.
  31. 청구항 30에 있어서,
    상기 식별된 컨셉들은,
    상기 프로세서 상에서, 간격에 기초하여 상기 상호 작용을 필터링하는 단계;
    상기 프로세서 상에서, 상기 필터링된 상호 작용으로부터 복수의 문장을 생성하는 단계;
    상기 프로세서 상에서, 각각의 상기 문장의 현저도(saliency, 현저성)를 계산하는 단계;
    상기 프로세서 상에서, 일련의 유효 문장을 생성하기 위해 낮은 현저도를 갖는 문장을 제거하는 단계;
    상기 프로세서 상에서, 복수의 문장 클러스터를 생성하기 위해서 상기 일련의 유효 문장의 상기 배열을 클러스터화하는 단계로서, 각각의 상기 클러스터는 상기 컨셉들 중의 하나의 컨셉에 대응하는 단계;
    상기 프로세서 상에서, 각각의 상기 클러스터의 현저도를 계산하는 단계; 및
    상기 프로세서 상에서, 각각의 상기 클러스터에 이름을 붙이는 단계;에 의해서 유도되는 것을 특징으로 하는, 컴퓨터 시스템.
  32. 청구항 29에 있어서,
    상기 프로세서는,
    상기 복수의 배열을 생성하기 위해서 상기 상호 작용 내의 각각의 상호 작용 중의 상기 식별된 요소를 타임스탬프(timestamp)에 따라 분류하는 단계; 및
    반복되는 연속된 요소를 제거하기 위해서 각각의 상기 배열을 압축하는 단계;에 의해서 복수의 상호 작용에서 검출된 이벤트 간의 연관성 규칙을 계산하도록 더 구성되는 것을 특징으로 하는, 컴퓨터 시스템.
  33. 청구항 29에 있어서,
    상기 프로세서는 배열 내의 반복되는 요소를 제거하기 위해서 상기 근거 확률을 갖는 일련의 패턴을 압축하는 것에 의해서 복수의 상호 작용에서 검출된 이벤트 사이에서의 연관성 규칙을 계산하도록 더 구성되는 것을 특징으로 하는, 컴퓨터 시스템.
  34. 청구항 29에 있어서,
    상기 압축된 일련의 지지 확률을 갖는 패턴으로부터 상기 연관성 규칙을 계산하는 상기 단계는,
    상기 압축된 지지 확률을 갖는 패턴 내의 각각의 배열 패턴에 대해서 연관성 규칙을 계산하는 단계로서, 상기 연관성 규칙을 계산하는 상기 단계는 상기 배열 패턴이 두 개 이상의 요소(element)를 포함하고 있는 경우,
    상기 배열 패턴을 제 1 부분 및 제 2 부분으로 분할하는 단계로서, 상기 제 2 부분은 상기 배열 패턴 내의 최종 요소를 포함하고 있는 단계;
    제안된 연관성 규칙을 생생성하는 단계로서, 상기 제안된 연관성 규칙은 상기 제 1 부분으로부터 상기 제 2 부분으로의 논리적인 함의인 단계;
    상기 제안된 연관성 규칙의 신뢰 확률을 계산하는 단계;
    상기 계산된 신뢰 확률이 역치 신뢰 확률 레벨을 초과하는 경우, 상기 제안된 연관성 규칙을 저장하고 또한 상기 제 1 부분 내의 최종 요소를 상기 제 2 부분으로 이동하며 또한 상기 제안된 연관성 규칙을 반복해서 생성하고 또한 상기 신뢰 확률을 계산하는 단계; 및
    상기 계산된 신뢰 확률이 역치 신뢰 확률 레벨 미만인 경우, 상기 배열 패턴의 분석을 종료하고 또한 이전에 저장된 제안된 연관성 규칙을 연관성 규칙으로 하여 반환하거나 또는 그와 같은 제안된 연관성 규칙이 저장되어 있지 않다면 연관성 규칙을 반환하지 않는 단계;를 포함하는 것을 특징으로 하는, 컴퓨터 시스템.
  35. 청구항 34에 있어서,
    상기 연관성 규칙을 계산하는 상기 단계는 상기 연관성 규칙의 향상도 및 현저도를 계산하는 단계를 더 포함하는 것을 특징으로 하는, 컴퓨터 시스템.
  36. 청구항 34에 있어서,
    상기 연관성 규칙을 계산하는 상기 단계는 상기 제안된 연관성 규칙의 향상도 및 현저도를 계산하는 단계를 더 포함하는 것을 특징으로 하는, 컴퓨터 시스템.
  37. 컴퓨터 시스템에 있어서,
    프로세서; 및
    메모리;를 포함하며,
    상기 메모리는, 상기 프로세서에 의해서 실행될 때, 상기 프로세서가,
    상기 이벤트의 상기 근본 원인에 대한 상기 질의를 수신하는 단계;
    복수의 연관성 규칙을 검색하는 단계로서, 각각의 상기 연관성 규칙은 하나 이상의 제 1 부분 요소 및 하나 이상의 제 2 부분 요소를 포함하고, 각각의 상기 연관성 규칙은 상기 제 1 부분으로부터 상기 제 2 부분으로의 논리적인 함의인 단계; 및
    상기 질의와 매칭되는 하나 이상의 연관성 규칙을 반환하는 단계로서, 각각의 상기 매칭되는 연관성 규칙의 상기 제 2 부분 요소가 상기 이벤트를 포함하고 있는 단계;에 의해서 이벤트의 근본 원인에 대한 질의에 응답하도록 하는 명령어가 저장되어 있는 것을 특징으로 하는, 컴퓨터 시스템.
  38. 첨부 도면을 참조하여 상술한 바와 실질적으로 동일한 시스템.
  39. 첨부 도면을 참조하여 상술한 바와 실질적으로 동일한 방법.
KR1020167005393A 2013-07-26 2014-07-24 컨셉 검색 및 탐색 시스템 및 방법 KR102111831B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US13/952,459 2013-07-26
US13/952,470 US10061822B2 (en) 2013-07-26 2013-07-26 System and method for discovering and exploring concepts and root causes of events
US13/952,459 US9971764B2 (en) 2013-07-26 2013-07-26 System and method for discovering and exploring concepts
US13/952,470 2013-07-26
PCT/US2014/048089 WO2015013554A1 (en) 2013-07-26 2014-07-24 System and method for discovering and exploring concepts

Publications (2)

Publication Number Publication Date
KR20160039273A true KR20160039273A (ko) 2016-04-08
KR102111831B1 KR102111831B1 (ko) 2020-05-15

Family

ID=52393853

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167005393A KR102111831B1 (ko) 2013-07-26 2014-07-24 컨셉 검색 및 탐색 시스템 및 방법

Country Status (4)

Country Link
EP (1) EP3025295A4 (ko)
KR (1) KR102111831B1 (ko)
CN (1) CN105745679B (ko)
WO (1) WO2015013554A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9971764B2 (en) 2013-07-26 2018-05-15 Genesys Telecommunications Laboratories, Inc. System and method for discovering and exploring concepts
US10061822B2 (en) 2013-07-26 2018-08-28 Genesys Telecommunications Laboratories, Inc. System and method for discovering and exploring concepts and root causes of events
CN107864457B (zh) * 2017-10-18 2021-06-01 上海复旦通讯股份有限公司 一种在铁路通讯网络中进行多呼叫管理的方法
CN108345583B (zh) * 2017-12-28 2020-07-28 中国科学院自动化研究所 基于多语注意力机制的事件识别及分类方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100380947B1 (ko) * 1999-01-19 2003-04-21 인터내셔널 비지네스 머신즈 코포레이션 오디오 신호 분석 방법 및 컴퓨터와 기록매체
US20080181390A1 (en) * 2006-12-21 2008-07-31 International Business Machines Corporation Method of analyzing conversational transcripts
KR20130036863A (ko) * 2011-10-05 2013-04-15 (주)워드워즈 의미적 자질을 이용한 문서 분류 시스템 및 그 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5860063A (en) * 1997-07-11 1999-01-12 At&T Corp Automated meaningful phrase clustering
KR100638198B1 (ko) * 1998-06-02 2006-10-26 소니 가부시끼 가이샤 정보처리장치 및 방법과 정보제공매체
US6778979B2 (en) * 2001-08-13 2004-08-17 Xerox Corporation System for automatically generating queries
US7584100B2 (en) * 2004-06-30 2009-09-01 Microsoft Corporation Method and system for clustering using generalized sentence patterns
US8156378B1 (en) * 2010-10-15 2012-04-10 Red Hat, Inc. System and method for determination of the root cause of an overall failure of a business application service
JP5024154B2 (ja) * 2008-03-27 2012-09-12 富士通株式会社 関連付け装置、関連付け方法及びコンピュータプログラム
TW201025035A (en) * 2008-12-18 2010-07-01 Univ Nat Taiwan Analysis algorithm of time series word summary and story plot evolution
US9213687B2 (en) * 2009-03-23 2015-12-15 Lawrence Au Compassion, variety and cohesion for methods of text analytics, writing, search, user interfaces
US8566360B2 (en) * 2010-05-28 2013-10-22 Drexel University System and method for automatically generating systematic reviews of a scientific field

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100380947B1 (ko) * 1999-01-19 2003-04-21 인터내셔널 비지네스 머신즈 코포레이션 오디오 신호 분석 방법 및 컴퓨터와 기록매체
US20080181390A1 (en) * 2006-12-21 2008-07-31 International Business Machines Corporation Method of analyzing conversational transcripts
KR20130036863A (ko) * 2011-10-05 2013-04-15 (주)워드워즈 의미적 자질을 이용한 문서 분류 시스템 및 그 방법

Also Published As

Publication number Publication date
KR102111831B1 (ko) 2020-05-15
CN105745679B (zh) 2020-01-14
WO2015013554A1 (en) 2015-01-29
CN105745679A (zh) 2016-07-06
EP3025295A4 (en) 2016-07-20
EP3025295A1 (en) 2016-06-01

Similar Documents

Publication Publication Date Title
US10446135B2 (en) System and method for semantically exploring concepts
US10061822B2 (en) System and method for discovering and exploring concepts and root causes of events
AU2018383615B2 (en) Systems and methods for chatbot generation
US10824814B2 (en) Generalized phrases in automatic speech recognition systems
US9971764B2 (en) System and method for discovering and exploring concepts
US9460083B2 (en) Interactive dashboard based on real-time sentiment analysis for synchronous communication
US10061867B2 (en) System and method for interactive multi-resolution topic detection and tracking
US9426289B2 (en) Techniques for topical customer service menu reconfiguration based on social media
JP6998680B2 (ja) 対話型業務支援システムおよび対話型業務支援プログラム
US20140255895A1 (en) System and method for training agents of a contact center
EP3446267A1 (en) Quality monitoring automation in contact centers
US11798539B2 (en) Systems and methods relating to bot authoring by mining intents from conversation data via intent seeding
US20230086668A1 (en) Database systems and methods of representing conversations
KR102111831B1 (ko) 컨셉 검색 및 탐색 시스템 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2018101001837; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20180427

Effective date: 20191008

S901 Examination by remand of revocation
E902 Notification of reason for refusal
GRNO Decision to grant (after opposition)
GRNT Written decision to grant