KR20220126521A - 대화 서비스를 제공하는 대화 추론 서버, 방법 및 컴퓨터 프로그램 - Google Patents

대화 서비스를 제공하는 대화 추론 서버, 방법 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20220126521A
KR20220126521A KR1020210030895A KR20210030895A KR20220126521A KR 20220126521 A KR20220126521 A KR 20220126521A KR 1020210030895 A KR1020210030895 A KR 1020210030895A KR 20210030895 A KR20210030895 A KR 20210030895A KR 20220126521 A KR20220126521 A KR 20220126521A
Authority
KR
South Korea
Prior art keywords
agent
information
conversation
call
server
Prior art date
Application number
KR1020210030895A
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 KR1020210030895A priority Critical patent/KR20220126521A/ko
Publication of KR20220126521A publication Critical patent/KR20220126521A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24522Translation of natural language queries to structured queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • 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/005Language recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

대화 서비스를 제공하는 대화 추론 서버는 복수의 에이전트를 관리하는 에이전트 관리부, 대화 제공 서버로부터 발화 텍스트를 수신한 경우, 발화 텍스트에 기초하여 에이전트 호출에 대한 탐색 조건 정보를 추론하는 추론부, 에이전트 호출에 대한 탐색 조건 정보에 기초하여 적어도 하나의 에이전트를 호출하는 호출부 및 호출된 적어도 하나의 에이전트를 통해 도출된 발화 텍스트에 대한 응답 정보를 대화 제공 서버로 전송하는 전송부를 포함할 수 있다.

Description

대화 서비스를 제공하는 대화 추론 서버, 방법 및 컴퓨터 프로그램{CONVERSATION INFERENCE SERVER, METHOD AND COMPUPER PROGRAM FOR PROVIDING CONVERSATION SERVICE}
본 발명은 대화 서비스를 제공하는 대화 추론 서버, 방법 및 컴퓨터 프로그램에 관한 것이다.
기존의 단일 대화 모델을 이용한 단일 대화 시스템에서 대화 응답에 대한 품질을 높이기 위해 에이전트들을 이용한다. 이러한 기존의 단일 대화 시스템 내 존재하는 복수개의 에이전트를 이용하여 응답을 도출하기 위해서는 각 에이전트 호출을 위한 대화 모델의 학습이 선행되어야 하고, 대화 모델의 학습 비용이 발생된다.
이러한, 기존의 단일 대화 시스템은 사전에 협의되지 않은 신규 에이전트를 단 시간 내에 연결하기 어렵고, 실시간 정보(예컨대, 코로나 확진자수)를 안내하는 신규 에이전트(예컨대, 코로나 정보 에이전트)를 유연하게 추가하거나, 질의 유형에 따라 신속하게 대화를 확장하는데 어려움이 있다.
또한, 기존의 단일 대화 시스템은 에이전트 장애 또는 응답 이상이 발생하는 경우, 시스템 장애에 대한 대응이 불가능하고, 긴급하게 대체 에이전트를 대안적으로 연결하는데 어려움이 있다.
최근까지는 독립된 대화 모델을 호출하여 독립된 대화 시나리오 방식을 통해서만 대화의 답변이 이루어졌기 때문에 대화 모델의 답변의 다양성을 추구하기 어려웠다.
한국등록특허공보 제10-0571443호 (206.04.10. 등록)
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 대화 제공 서버로부터 수신된 발화 텍스트에 기초하여 에이전트 호출에 대한 탐색 조건 정보를 추론하고자 한다. 또한, 본 발명은 에이전트 호출에 대한 탐색 조건 정보에 기초하여 적어도 하나의 에이전트를 통해 발화 텍스트에 대한 응답 정보를 도출하여 이를 대화 제공 서버로 전송하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 대화 서비스를 제공하는 대화 추론 서버는 복수의 에이전트를 관리하는 에이전트 관리부; 대화 제공 서버로부터 발화 텍스트를 수신한 경우, 상기 발화 텍스트에 기초하여 에이전트 호출에 대한 탐색 조건 정보를 추론하는 추론부; 상기 에이전트 호출에 대한 탐색 조건 정보에 기초하여 적어도 하나의 에이전트를 호출하는 호출부 및 상기 호출된 적어도 하나의 에이전트를 통해 도출된 상기 발화 텍스트에 대한 응답 정보를 상기 대화 제공 서버로 전송하는 전송부를 포함할 수 있다.
본 발명의 제 2 측면에 따른 대화 추론 서버에 의해 대화 서비스를 제공하는 방법은 복수의 에이전트를 관리하는 단계; 대화 제공 서버로부터 발화 텍스트를 수신한 경우, 상기 발화 텍스트에 기초하여 에이전트 호출에 대한 탐색 조건 정보를 추론하는 단계; 상기 에이전트 호출에 대한 탐색 조건 정보에 기초하여 적어도 하나의 에이전트를 호출하는 단계 및 상기 호출된 적어도 하나의 에이전트를 통해 도출된 상기 발화 텍스트에 대한 응답 정보를 상기 대화 제공 서버로 전송하는 단계를 포함할 수 있다.
본 발명의 제 3 측면에 따른 대화 서비스를 제공하는 명령어들의 시퀀스를 포함하는 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우, 복수의 에이전트를 관리하고, 대화 제공 서버로부터 발화 텍스트를 수신한 경우, 상기 발화 텍스트에 기초하여 에이전트 호출에 대한 탐색 조건 정보를 추론하고, 상기 에이전트 호출에 대한 탐색 조건 정보에 기초하여 적어도 하나의 에이전트를 호출하고, 상기 호출된 적어도 하나의 에이전트를 통해 도출된 상기 발화 텍스트에 대한 응답 정보를 상기 대화 제공 서버로 전송하는 명령어들의 시퀀스를 포함할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명은 대화 제공 서버로부터 수신된 발화 텍스트에 기초하여 에이전트 호출에 대한 탐색 조건 정보를 추론할 수 있다. 또한, 본 발명은 에이전트 호출에 대한 탐색 조건 정보에 기초하여 적어도 하나의 에이전트를 통해 발화 텍스트에 대한 응답 정보를 도출하여 이를 대화 제공 서버로 전송할 수 있다.
이를 통해, 본 발명은 사전에 등록된 에이전트(예컨대, 증권 에이전트, 날씨 정보 제공 에이전트 등)뿐만 아니라 사전에 등록되지 않은 신규 에이전트(예컨대, 코로나 정보 제공 에이전트 등)를 연계하여 발화 텍스트에 대한 응답 정보의 다양성을 제공할 수 있다.
또한, 본 발명은 특정 에이전트의 장애가 발생하더라도 다른 대체 에이전트를 통해 발화 텍스트에 대한 응답 정보를 제공할 수 있다.
또한, 본 발명은 다양한 전문 영역의 에이전트를 제공하는 에이전트 제공자들을 유치함으로써 전문 유사 도메인 영역뿐만 아니라 동일 주제라도 다양한 에이전트들을 활용하여 발화 텍스트에 대한 응답 정보의 다양성 및 응답 정보의 품질을 높일 수 있다.
도 1은 본 발명의 일 실시예에 따른, 대화 서비스 제공 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른, 도 1에 도시된 대화 추론 서버의 블록도이다.
도 3은 본 발명의 일 실시예에 따른, 복수의 에이전트를 관리하는 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른, 구조적 쿼리를 생성하는 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른, 에이전트별로 도출된 발화 텍스트에 대한 응답 정보를 순위화한 결과를 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른, 대화 서비스를 제공하는 방법을 나타낸 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하, 첨부된 구성도 또는 처리 흐름도를 참고하여, 본 발명의 실시를 위한 구체적인 내용을 설명하도록 한다.
도 1은 본 발명의 일 실시예에 따른, 대화 서비스 제공 시스템의 구성도이다.
도 1을 참조하면, 대화 서비스 제공 시스템은 대화 추론 서버(100), 대화 제공 서버(110) 및 서비스 매퍼 서버(120)를 포함할 수 있다. 다만, 이러한 도 1의 대화 서비스 제공 시스템은 본 발명의 일 실시예에 불과하므로 도 1을 통해 본 발명이 한정 해석되는 것은 아니며, 본 발명의 다양한 실시예들에 따라 도 1과 다르게 구성될 수도 있다.
일반적으로, 도 1의 대화 서비스 제공 시스템의 각 구성요소들은 네트워크(미도시)를 통해 연결된다. 네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷 (WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 블루투스 통신, 적외선 통신, 초음파 통신, 가시광 통신(VLC: Visible Light Communication), 라이파이(LiFi) 등이 포함되나 이에 한정되지는 않는다.
대화 추론 서버(100)는 각종 전문 분야별 사용자 발화에 대한 응답 정보를 생성하기 위해 복수의 에이전트와 연동함으로써 전문 도메인의 영역을 확장시킬 수 있다. 여기서, 복수의 에이전트는 전문 도메인 정보(예컨대, 날씨 정보, 법률 정보, 의료 정보, 뉴스 정보 등)를 제공하는 독립적인 서버 또는 프로그램일 수 있다.
대화 추론 서버(100)는 복수의 에이전트로부터 수신된 에이전트 실행 정보에 기초하여 복수의 에이전트를 관리할 수 있다. 여기서, 에이전트 실행 정보는 에이전트 호출 및 에이전트 실행에 필요한 정보를 의미한다
대화 제공 서버(110)는 사용자 단말(미도시)로부터 사용자 발화로 구성된 발화 텍스트를 수신하면, 일반 대화 모델을 호출하여 일반 대화 모델을 통해 발화 텍스트에 대한 질의 속성 타입(Property Type)과 상세 질의 속성 타입(Detail Property Type )을 결정할 수 있다.
대화 제공 서버(110)는 대화 추론 서버(100)에게 사용자 발화로 구성된 발화 텍스트에 대한 대화 분석을 요청하는 대화 분석 요청 메시지를 전송할 수 있다.
대화 추론 서버(100)는 대화 제공 서버(110)로부터 수신된 발화 텍스트에 대한 분석 요청 메시지에 기초하여 발화 텍스트로부터 에이전트 호출에 대한 탐색 조건 정보를 추론할 수 있다. 여기서, 탐색 조건 정보는 예를 들어, 발화 텍스트에 포함된 발화 내용에 대한 주제어(Topic) 및 질의 속성 타입을 포함할 수 있다.
대화 추론 서버(100)는 추론된 에이전트 호출에 대한 탐색 조건 정보에 기초하여 적어도 하나의 에이전트를 호출할 수 있다.
대화 추론 서버(100)는 호출된 적어도 하나의 에이전트를 통해 도출된 상기 발화 텍스트에 대한 응답 정보 중 적어도 하나의 응답 정보를 서비스 매퍼 서버(120)와 연동하여 선별할 수 있다.
대화 추론 서버(100)는 서비스 매퍼 서버(120)를 통해 선별된 응답 정보를 대화 제공 서버(110)에게 전송할 수 있다.
대화 제공 서버(110)는 대화 추론 서버(100)로부터 수신된 응답 정보를 사용자 단말(미도시)에게 전달할 수 있다.
이하에서는 도 1의 대화 서비스 제공 시스템의 각 구성요소의 동작에 대해 보다 구체적으로 설명한다.
도 2는 본 발명의 일 실시예에 따른, 도 1에 도시된 대화 추론 서버(100)의 블록도이다.
도 2를 참조하면, 대화 추론 서버(100)는 에이전트 관리부(200), 추론부(210), 쿼리 생성부(220), 스케쥴링부(230), 호출부(240), 산출부(250), 선별부(260) 및 전송부(270)를 포함할 수 있다. 다만, 도 2에 도시된 대화 추론 서버(100)는 본 발명의 하나의 구현 예에 불과하며, 도 2에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다.
에이전트 관리부(200)는 복수의 에이전트를 관리할 수 있다. 여기서, 복수의 에이전트는 전문 도메인 정보(예컨대, 날씨 정보, 법률 정보, 의료 정보, 뉴스 정보 등)을 제공하는 독립적인 서버 또는 프로그램일 수 있다.
에이전트 관리부(200)는 각 에이전트가 등록될 때 각 에이전트로부터 수신된 에이전트 실행 정보를 관리할 수 있다. 여기서, 에이전트 실행 정보는 에이전트 호출 및 에이전트 실행에 필요한 정보를 의미한다. 예를 들어, 도 3을 참조하면, 에이전트 실행 정보는 에이전트 정보, 서비스 매핑 정보 및 에이전트 주제어 사전 정보를 포함할 수 있다. 여기서, 에이전트 정보는 에이전트 식별에 필요한 메타 정보를 포함하고, 서비스 매핑 정보는 에이전트 호출에 필요한 호출 인자에 대한 매핑 정보 및 답변 템플릿 정보를 포함할 수 있다. 여기서, 에이전트 주제어 사전 정보는 에이전트 대화 모델의 대화 해석을 위한 개체명 사전 정보로서 활용되고, 대화 응답을 도출하는데 이용될 에이전트의 탐색 개선을 위한 용도로 사용될 수 있다.
서비스 매핑 정보에 포함된 인터페이스 매핑 조건은 에이전트 대화 모델의 대화 해석 결과에 기초하여 특정 에이전트를 호출할 때 사용되는 조건이다. 예를 들어, 도 3의 제 1 실시예를 살펴보면, 인터페이스 매핑 조건의 예로서, 주제어, 질의 속성 타입, 상세 질의 속성 타입의 매핑 조건을 포함한다. "TP_DIEASE=>topic, Year = {year=2022}, Nation = {nation= 한국}"은 주제어에 대한 매핑 조건을 의미한다. 'TP_DIEASE=>topic'에서 좌측 정의(TP_DIEASE)는 주제어에 대한 슬롯(SLOT)을 정의하고, 우측 정의(topic)는 실제 에이전트 호출시 사용되는 URL 인자명으로 정의될 수 있다. 'ConfirmedCase=>question'은 질의 속성 타입 정보에 대한 매핑 조건을 의미한다. 'ConfirmedCase=>question'에서 좌측 정의(ConfirmedCase)는 질의 속성 타입 정보로 정의하며, 에이전트 대화 모델에서 사전에 정의한 내재된 질의 유형으로서 에이전트에서는 복수의 질의 속성 타입 중 하나의 질의 속성 타입을 선택할 수 있다. 'ConfirmedCase=>question'에서 우측 정의(question)는 실제 에이전트 호출시 사용하는 인자명으로 정의될 수 있다.
에이전트 API에 허용되는 인터페이스에 따라 "http://{에이전트 URL}?topic=코로나바이러스&type=question"가 매핑될 수 있다. 답변 생성 및 서비스 실행 인자로 사용하기 위해 에이전트 응답(JSON, XML 및 데이터 표준 형식)에 대한 추출 조건을 정의할 수 있다.
{Number}에 대한 에이전트 응답 추출 조건은 제 1 깊이 탐색 조건에 해당하는 응답을 추출하는 조건으로 사용될 수 있다. {Info.Name}은 제 2 깊이 탐색 조건에 해당하는 응답을 추출하는 조건으로 사용될 수 있다. {Info.Name}은 Info ID에 속한 Name ID를 탐색하는 탐색 조건을 포함할 수 있다.
답변 템플릿 정보는 질의 속성 타입(질의 유형에 따라 확장 가능함)에 따라 설정될 수 있다. 예를 들어, 답변 템플릿 정보에 '{Info.Name} 확진자수는 {Number}'라고 명시되어 있는 경우, [에이전트 응답 추츨 조건]에 따라 에이전트에 의해 응답 정보가 도출될 수 있다. 이 때, 에이전트로부터 도출된 응답 정보가 {Info.Name:코로나 바이러스, Number: 300}일 때, 최종적으로 템플릿 정보(Slot filling)를 채워서 "코로나 바이러스 확진자수는 300명입니다"라는 응답 정보가 생성될 수 있다.
에이전트 관리부(200)는 각 에이전트의 에이전트 실행 정보에 포함된 에이전트 정보 및 서비스 매핑 정보에 기초하여 복수의 에이전트를 관리할 수 있다.
에이전트 관리부(200)는 신규 에이전트와의 연동을 위해 신규 에이전트에 대한 에이전트 실행 정보를 신규 에이전트로부터 수신한 경우, 신규 에이전트에 대한 에이전트 실행 정보에 기초하여 신규 에이전트를 등록할 수 있다. 여기서, 신규 에이전트에 대한 에이전트 실행 정보는 신규 에이전트 정보(신규 에이전트의 식별에 필요한 메타 정보), 신규 에이전트의 서비스 매핑 정보(신규 에이전트 호출에 필요한 호출 인자에 대한 매핑 정보)를 포함할 수 있다.
본 발명은 신규 에이전트를 연동하고자 할 때, 신규 에이전트로부터 수신된 신규 에이전트에 대한 에이전트 실행 정보를 이용하면, 낮은 비용으로 대화 응답 생성에 필요한 전문 분야 확장이 가능하다. 또한, 본 발명은 에이전트 호출 상태에서 수행되는 개별 대화 모델의 독립적인 대화 영역이 아닌 일반 대화 모델의 일반 대화 영역에서 사용할 에이전트들로 대화 응답 생성에 필요한 전문 분야를 확장시킬 수 있다.
또한, 본 발명은 스케쥴러 및 맵퍼의 역할에 해당하는 에이전트 관리부(200)를 이용함으로써 실시간으로 외부 에이전트를 등록시킬 수 있다.
한 편, 대화 제공 서버(110)가 사용자 단말(미도시)로부터 사용자 발화로 구성된 발화 텍스트를 수신하면, 대화 제공 서버(110)는 일반 대화 모델을 호출하여 일반 대화 모델을 통해 발화 텍스트에 대한 질의 속성 타입을 결정할 수 있다. 예를 들어, 대화 제공 서버(110)는 발화 텍스트가 복수의 질의 속성 타입(예컨대, 일반 정보 질의 속성 타입, 위치 정보 질의 속성 타입, 수치 요청 질의 속성 타입 등) 중 어느 질의 속성 타입에 속하는지를 결정할 수 있다.
수신부(미도시)는 대화 제공 서버(110)로부터 사용자 발화로 구성된 발화 텍스트에 대한 대화 분석을 요청하는 대화 분석 요청 메시지를 수신할 수 있다.
추론부(210)는 대화 제공 서버(110)로부터 대화 분석 요청 메시지를 수신한 경우, 에이전트 대화 모델을 호출하여 에이전트 대화 모델을 통해 발화 텍스트에 포함된 발화 내용을 분석할 수 있다.
추론부(210)는 분석된 발화 텍스트에 기초하여 에이전트 호출에 대한 탐색 조건 정보를 추론할 수 있다. 예를 들어, 탐색 조건 정보는 발화 텍스트에 포함된 발화 내용에 대한 주제어 및 질의 속성 타입 정보를 포함할 수 있다.
쿼리 생성부(220)는 에이전트 호출에 대한 탐색 조건 정보에 기초하여 에이전트 호출을 위한 구조적 쿼리를 생성할 수 있다.
예를 들어, 도 4를 참조하면, 에이전트 A는 실시간성 신규 감염병 정보를 제공하는 에이전트이고, 에이전트 B는 일반 감염병 정보를 제공하는 에이전트라고 할 때, 쿼리 생성부(220)는 발화 내용에 따라 에이전트 A를 호출하기 위한 제 1 구조적 쿼리를 생성하고, 에이전트 B를 호출하기 위한 제 2 구조적 쿼리를 생성할 수 있다. 여기서, 제 1 구조적 쿼리는 '코로나 바이러스 확진자 수'에 대한 쿼리로서, 'IN_DISEASE:코로나바이러스+ConfirmedCase(실시간성 질의)'로 구성될 수 있다. 제 2 구조적 쿼리는 '코로나 바이러스 정보'에 대한 일반 정보 질의에 대한 쿼리로서 'IN_DISEASE:코로나바이러스+Qtype(정보형 질의속성타입)'로 구성될 수 있다. '한국 2022년 코로나 바이러스 정보'와 같은 복합 질의 유형 처리를 위해 Year='2022', Nation='한국'과 같은 상세 속성 타입을 추가해 구성될 수 있다.
호출부(240)는 에이전트 호출에 대한 탐색 조건 정보에 기초하여 적어도 하나의 에이전트를 호출할 수 있다.
전송부(270)는 호출된 적어도 하나의 에이전트를 통해 도출된 발화 텍스트에 대한 응답 정보를 대화 제공 서버(110)에게 전송할 수 있다.
호출부(240)는 에이전트 호출에 대한 탐색 조건 정보 및 서비스 매핑 정보(도 3의 서비스 매핑 정보)에 기초하여 적어도 하나의 에이전트를 호출할 수 있다.
호출부(240)는 복수의 에이전트에 대한 서비스 매핑 정보를 활용하여 에이전트 호출 URL 정보를 생성하고, 생성된 에이전트 호출 URL 정보를 이용하여 적어도 하나의 에이전트를 호출할 수 있다.
스케쥴링부(230)는 적어도 하나의 에이전트로부터 발화 텍스트에 대한 응답 정보가 도출되기까지의 응답 대기 시간을 기록하고, 에이전트별 응답 대기 시간에 기초하여 각 에이전트에 대한 에이전트 응답 상태를 관리할 수 있다.
스케쥴링부(230)는 에이전트별 응답 대기 시간에 따른 에이전트 응답 상태에 기초하여 복수의 에이전트에 대한 에이전트의 호출 순서를 스케줄링할 수 있다.
예를 들어, 스케쥴링부(230)는 에이전트 응답 상태가 좋은 에이전트에게 호출 순서에 대한 높은 가중치를 부여하고, 에이전트 응답 상태가 안 좋은 에이전트에게 호출 순서에 대한 낮은 가중치를 부여함으로써 복수의 에이전트의 호출 순서를 스케쥴링할 수 있다.
스케쥴링부(230)는 에이전트 호출을 위한 구조적 쿼리에 포함된 복수의 호출 인자에 기초하여 복수의 에이전트 중 적어도 하나의 에이전트를 선정하고, 선정된 에이전트의 호출 순서를 스케쥴링할 수 있다.
호출부(240)는 선정된 에이전트의 호출 순서에 대한 스케쥴링 결과에 기초하여 선정된 에이전트를 호출할 수 있다.
다른 실시예로, 스케쥴링부(230)는 발화 텍스트에 대응하여 생성된 구조적 쿼리에 포함된 주제어에 대한 호출 인자 및 질의 속성 타입 정보에 대한 호출 인자에 기초하여 에이전트의 호출 순서를 스케쥴링할 수 있다. 이 때, 에이전트의 호출 순서는 주제어에 대한 호출 인자의 일치성 및 질의 속성 타입 정보(상세 질의 속성 타입 포함)에 대한 호출 인자의 일치성에 기초하여 결정될 수 있다.
스케쥴링부(230)는 주제어에 대한 호출 인자의 일치성 및 질의 속성 타입 정보에 대한 호출 인자의 일치성 여부에 기초하여 에이전트별로 호출 순서에 대한 가중치를 상이하게 부여할 수 있다.
스케쥴링부(230)는 각 에이전트가 제공하는 정보의 최신성을 고려하여 최신 정보를 제공하는 에이전트에게 호출 순서에 대한 높은 가중치를 부여할 수 있다.
스케쥴링부(230)는 주제어에 대한 호출 인자 및 질의 속성 타입 정보에 대한 호출 인자 각각의 일치성 여부, 에이전트 응답 상태 및 에이전트의 정보 최신성 중 적어도 하나 이상을 고려하여 복수의 에이전트에 대한 에이전트의 호출 순서를 스케줄링할 수 있다.
산출부(250)는 호출된 적어도 하나의 에이전트별로 도출된 발화 텍스트에 대한 응답 정보에 대응하는 신뢰도 점수를 산출할 수 있다.
예를 들어, 도 5를 참조하면, 산출부(250)는 주제어에 대한 호출 인자 및 질의 속성 타입 정보에 대한 호출 인자 각각의 일치성 여부, 에이전트 응답 상태 및 에이전트의 정보 최신성에 기초하여 호출된 적어도 하나의 에이전트별로 도출된 발화 텍스트에 대한 응답 정보에 대응하는 신뢰도 점수를 산출할 수 있다.
선별부(260)는 도출된 신뢰도 점수에 기초하여 에이전트별로 도출된 응답 정보 중 적어도 하나의 응답 정보를 서비스 매퍼 서버(120)와 연동하여 선별할 수 있다. 이 때, 서비스 매퍼 서버(120)는 대화 추론 서버(100)로부터 수신된 복수의 에이전트의 서비스 매핑 정보(도 3의 서비스 매핑 정보)를 이용하여 에이전트별로 도출된 응답 정보 중 최적의 응답 정보를 선택할 수 있다.
전송부(270)는 선별된 응답 정보를 대화 제공 서버(110)에게 전송할 수 있다
선별부(260)는 호출된 적어도 하나의 에이전트별로 도출된 응답 정보에 대응하는 신뢰도 점수 중 가장 높은 신뢰도 점수를 갖는 응답 정보를 서비스 매퍼 서버(120)로 전달할 수 있다.
서비스 매퍼 서버(120)는 가장 높은 신뢰도 점수를 갖는 응답 정보를 도출한 에이전트의 서비스 매핑 정보(도 3의 서비스 매핑 정보)를 이용하여 해당 응답 정보가 최적의 응답 정보인지를 판별하고, 해당 응답 정보에 대한 판별 결과를 대화 추론 서버(100)에게 전송할 수 있다.
전송부(270)는 최적의 응답 정보를 대화 제공 서버(110)에게 전송할 수 있다
이와 같이, 본 발명은 서비스 매퍼 서버(120)와 연동하여 최적의 응답 정보를 선별하기 때문에 답변의 다양성과 답변의 품질을 향상시킬 수 있다.
한편, 당업자라면, 에이전트 관리부(200), 추론부(210), 쿼리 생성부(220), 스케쥴링부(230), 호출부(240), 산출부(250), 선별부(260) 및 전송부(270) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다.
도 6은 본 발명의 일 실시예에 따른, 대화 서비스를 제공하는 방법을 나타낸 흐름도이다.
도 6을 참조하면, 단계 S601에서 대화 추론 서버(100)는 복수의 에이전트를 관리할 수 있다.
단계 S603에서 대화 추론 서버(100)는 대화 제공 서버(100)로부터 발화 텍스트를 수신한 경우, 발화 텍스트에 기초하여 에이전트 호출에 대한 탐색 조건 정보를 추론할 수 있다. 여기서, 탐색 조건 정보는 주제어 및 질의 속성 타입 정보를 포함할 수 있다.
단계 S605에서 대화 추론 서버(100)는 에이전트 호출에 대한 탐색 조건 정보에 기초하여 적어도 하나의 에이전트를 호출할 수 있다.
단계 S607에서 대화 추론 서버(100)는 호출된 적어도 하나의 에이전트를 통해 도출된 발화 텍스트에 대한 응답 정보를 대화 제공 서버(110)에게 전송할 수 있다.
상술한 설명에서, 단계 S601 내지 S607은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 대화 추론 서버
110: 대화 제공 서버
120: 서비스 매퍼 서버
200: 에이전트 관리부
210: 추론부
220: 쿼리 생성부
230: 스케쥴링부
240: 호출부
250: 산출부
260: 선별부
270: 전송부

Claims (19)

  1. 대화 서비스를 제공하는 대화 추론 서버에 있어서,
    복수의 에이전트를 관리하는 에이전트 관리부;
    대화 제공 서버로부터 발화 텍스트를 수신한 경우, 상기 발화 텍스트에 기초하여 에이전트 호출에 대한 탐색 조건 정보를 추론하는 추론부;
    상기 에이전트 호출에 대한 탐색 조건 정보에 기초하여 적어도 하나의 에이전트를 호출하는 호출부; 및
    상기 호출된 적어도 하나의 에이전트를 통해 도출된 상기 발화 텍스트에 대한 응답 정보를 상기 대화 제공 서버로 전송하는 전송부
    를 포함하는 것인, 대화 추론 서버.
  2. 제 1 항에 있어서,
    상기 에이전트 관리부는 에이전트 정보 및 서비스 매핑 정보에 기초하여 상기 복수의 에이전트를 관리하고,
    상기 에이전트 정보는 에이전트 식별에 필요한 메타 정보를 포함하고,
    상기 서비스 매핑 정보는 상기 에이전트 호출에 필요한 호출 인자에 대한 매핑 정보를 포함하는 것인, 대화 추론 서버.
  3. 제 1 항에 있어서,
    상기 에이전트 호출에 대한 탐색 조건 정보에 기초하여 상기 에이전트 호출을 위한 구조적 쿼리를 생성하는 쿼리 생성부를 더 포함하는 것인, 대화 추론 서버.
  4. 제 1 항에 있어서,
    상기 탐색 조건 정보는 주제어 및 질의 속성 타입 정보를 포함하는 것인, 대화 추론 서버.
  5. 제 3 항에 있어서,
    상기 에이전트 호출을 위한 구조적 쿼리에 포함된 복수의 호출 인자에 기초하여 상기 복수의 에이전트 중 적어도 하나의 에이전트를 선정하고,
    상기 선정된 에이전트의 호출 순서를 스케쥴링하는 스케쥴링부를 더 포함하는 것인, 대화 추론 서버.
  6. 제 5 항에 있어서,
    상기 호출부는 상기 스케쥴링에 대한 결과에 기초하여 상기 선정된 에이전트를 호출하는 것인, 대화 추론 서버.
  7. 제 2 항에 있어서,
    상기 호출부는 상기 에이전트 호출에 대한 탐색 조건 정보 및 상기 서비스 매핑 정보에 기초하여 상기 적어도 하나의 에이전트를 호출하는 것인, 대화 추론 서버.
  8. 제 1 항에 있어서,
    상기 호출된 적어도 하나의 에이전트별로 도출된 상기 발화 텍스트에 대한 응답 정보에 대응하는 신뢰도 점수를 산출하는 산출부를 더 포함하는 것인, 대화 추론 서버.
  9. 제 8 항에 있어서,
    상기 도출된 신뢰도 점수에 기초하여 상기 에이전트별로 도출된 응답 정보 중 적어도 하나의 응답 정보를 서비스 매퍼 서버와 연동하여 선별하는 선별부를 더 포함하고,
    상기 전송부는 상기 선별된 응답 정보를 상기 대화 제공 서버로 전송하는 것인, 대화 추론 서버.
  10. 대화 추론 서버에 의해 대화 서비스를 제공하는 방법에 있어서,
    복수의 에이전트를 관리하는 단계;
    대화 제공 서버로부터 발화 텍스트를 수신한 경우, 상기 발화 텍스트에 기초하여 에이전트 호출에 대한 탐색 조건 정보를 추론하는 단계;
    상기 에이전트 호출에 대한 탐색 조건 정보에 기초하여 적어도 하나의 에이전트를 호출하는 단계; 및
    상기 호출된 적어도 하나의 에이전트를 통해 도출된 상기 발화 텍스트에 대한 응답 정보를 상기 대화 제공 서버로 전송하는 단계
    를 포함하는 대화 추론 방법.
  11. 제 10 항에 있어서,
    상기 복수의 에이전트를 관리하는 단계는
    에이전트 정보 및 서비스 매핑 정보에 기초하여 상기 복수의 에이전트를 관리하는 단계를 포함하고,
    상기 에이전트 정보는 에이전트 식별에 필요한 메타 정보를 포함하고,
    상기 서비스 매핑 정보는 상기 에이전트 호출에 필요한 호출 인자에 대한 매핑 정보를 포함하는 것인, 대화 추론 방법.
  12. 제 10 항에 있어서,
    상기 에이전트 호출에 대한 탐색 조건 정보에 기초하여 상기 에이전트 호출을 위한 구조적 쿼리를 생성하는 단계를 더 포함하는 것인, 대화 추론 방법.
  13. 제 10 항에 있어서,
    상기 탐색 조건 정보는 주제어 및 질의 속성 타입 정보를 포함하는 것인, 대화 추론 방법.
  14. 제 12 항에 있어서,
    상기 에이전트 호출을 위한 구조적 쿼리에 포함된 복수의 호출 인자에 기초하여 상기 복수의 에이전트 중 적어도 하나의 에이전트를 선정하는 단계 및
    상기 선정된 에이전트의 호출 순서를 스케쥴링하는 단계를 더 포함하는 것인, 대화 추론 방법.
  15. 제 14 항에 있어서,
    상기 적어도 하나의 에이전트를 호출하는 단계는
    상기 스케쥴링에 대한 결과에 기초하여 상기 선정된 에이전트를 호출하는 단계를 포함하는 것인, 대화 추론 방법.
  16. 제 11 항에 있어서,
    상기 적어도 하나의 에이전트를 호출하는 단계는
    상기 에이전트 호출에 대한 탐색 조건 정보 및 상기 서비스 매핑 정보에 기초하여 상기 적어도 하나의 에이전트를 호출하는 것인, 대화 추론 방법.
  17. 제 10 항에 있어서,
    상기 호출된 적어도 하나의 에이전트별로 도출된 상기 발화 텍스트에 대한 응답 정보에 대응하는 신뢰도 점수를 산출하는 단계를 더 포함하는 것인, 대화 추론 방법.
  18. 제 17 항에 있어서,
    상기 도출된 신뢰도 점수에 기초하여 상기 에이전트별로 도출된 응답 정보 중 적어도 하나의 응답 정보를 서비스 매퍼 서버와 연동하여 선별하는 단계를 더 포함하고,
    상기 발화 텍스트에 대한 응답 정보를 상기 대화 제공 서버로 전송하는 단계는
    상기 선별된 응답 정보를 상기 대화 제공 서버로 전송하는 단계를 포함하는 것인, 대화 추론 방법.
  19. 대화 서비스를 제공하는 명령어들의 시퀀스를 포함하는 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램에 있어서,
    상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우,
    복수의 에이전트를 관리하고,
    대화 제공 서버로부터 발화 텍스트를 수신한 경우, 상기 발화 텍스트에 기초하여 에이전트 호출에 대한 탐색 조건 정보를 추론하고,
    상기 에이전트 호출에 대한 탐색 조건 정보에 기초하여 적어도 하나의 에이전트를 호출하고,
    상기 호출된 적어도 하나의 에이전트를 통해 도출된 상기 발화 텍스트에 대한 응답 정보를 상기 대화 제공 서버로 전송하는 명령어들의 시퀀스를 포함하는, 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.
KR1020210030895A 2021-03-09 2021-03-09 대화 서비스를 제공하는 대화 추론 서버, 방법 및 컴퓨터 프로그램 KR20220126521A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210030895A KR20220126521A (ko) 2021-03-09 2021-03-09 대화 서비스를 제공하는 대화 추론 서버, 방법 및 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210030895A KR20220126521A (ko) 2021-03-09 2021-03-09 대화 서비스를 제공하는 대화 추론 서버, 방법 및 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR20220126521A true KR20220126521A (ko) 2022-09-16

Family

ID=83445277

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210030895A KR20220126521A (ko) 2021-03-09 2021-03-09 대화 서비스를 제공하는 대화 추론 서버, 방법 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR20220126521A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100571443B1 (ko) 2003-10-20 2006-04-14 주식회사 다이퀘스트 Cca 구조를 이용한 다매체 정보제공 대화 에이전트시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100571443B1 (ko) 2003-10-20 2006-04-14 주식회사 다이퀘스트 Cca 구조를 이용한 다매체 정보제공 대화 에이전트시스템 및 방법

Similar Documents

Publication Publication Date Title
KR102029277B1 (ko) 패킷 기반 데이터 통신의 디바이스 식별자 의존적 오퍼레이션 프로세싱
US11170161B2 (en) Generating conversation models from documents
RU2359422C2 (ru) Способ, система и компьютерная программа для запроса ресурсов в определенном контексте путем определения пакета событий протокола sip
US20190306107A1 (en) Systems, apparatus, and methods for platform-agnostic message processing
US7099855B1 (en) System and method for electronic communication management
US11425215B1 (en) Methods and systems for virtual assistant routing
KR20180090729A (ko) 음성 활성 데이터 패킷의 데이터 구조 풀링
US20060190580A1 (en) Dynamic extensible lightweight access to web services for pervasive devices
US20190065498A1 (en) System and method for rich conversation in artificial intelligence
AU2020229706B2 (en) Intent-driven contact center
US20200387980A1 (en) Automated mechanism to regulate membership in expert group system
US8260839B2 (en) Messenger based system and method to access a service from a backend system
US11399097B2 (en) Systems and methods for search based call routing
US20090187444A1 (en) Service knowledge map
KR100752351B1 (ko) 쌍방향 데이터 및 음성 송수신이 가능한 통신매체를 이용한실시간 답변 시스템 및 제공 방법
KR20220126521A (ko) 대화 서비스를 제공하는 대화 추론 서버, 방법 및 컴퓨터 프로그램
US11729121B2 (en) Executing a network of chatbots using a combination approach
KR20230083183A (ko) 외부 api를 이용한 시나리오 기반의 인공지능 챗봇 서비스 제공 시스템
KR102293772B1 (ko) 음성 합성 서비스를 제공하는 서버, 사용자 단말 및 방법
US7752293B1 (en) Command processing in a telecommunications network
KR101270746B1 (ko) 웹 서비스 중개 장치 및 방법
CN108809900B (zh) 一种统一资源访问的框架及方法
EP4220512A1 (en) Integrated secondary virtual agents
KR100477798B1 (ko) 다중 단말기간 세션 유지 방법
KR102368488B1 (ko) 발화 내용을 태깅하는 서버, 사용자 단말 및 방법