Skip to content

1. 시작하기 전에

hyji edited this page Jun 15, 2020 · 6 revisions

1. 시작하기 전에

● Dialog Kit이란?

개발자 여러분, 환영합니다!

DialogKit은 kt의 인공지능 서비스인 기가지니(Giga Genie)를 사용 중인 가입자들에게 대화형 서비스를 제공하려는 3rd Party사를 위한 개발 도구입니다. 3rd Party 개발자들은 대화모델 관리(DMT : Dialog Modeling Tool)를 통해 기가지니로부터 기능 또는 서비스를 실행하려는 사용자의 다양한 음성 발화문을 기가지니에서 이해하고 처리할 수 있도록 합니다. 또한 서비스로직 관리의 코드 편집기를 이용하면 기가지니가 인지한 발화문에 대한 서비스로직을 직접 구현할 수 있습니다. 서비스로직 관리는 아직 준비 중입니다.

● GGD와 3PD

GGD는 GigaGenie Devicegroup의 약자로 kt 기가지니 제품군의 디바이스를 의미하며, 기가지니, 기가지니2, LTE Speaker 등이 있습니다. GGD DialogKit는 3rd Party사가 이 기가지니 제품군 가입자에게 대화서비스를 제공하기 위한 대화모델을 저작하는 도구입니다. 이 때의 서비스를 3rd Party 서비스라고 합니다.

3PD는 3rd Party Devicegroup의 약자로 kt의 기가지니 제품군 외의 디바이스로 AI Makers Kit, INSIDE가 있습니다. 3PD DialogKit은 이러한 3rd Party 디바이스들에 대화서비스를 제공하기 위한 대화모델을 저작하는 도구입니다. 여기서는 꼭 디바이스가 아닌 모바일을 위한 G-Plugin, kt Cloud API도 대화모델을 저작할 수 있습니다.

● 대화 서비스 플랫폼의 구성 요소

대화 서비스 플랫폼은 아래와 같은 시스템으로 구성되어 있으며, DialogKit은 아래 구성요소가 대화해석 처리 프로세스를 수행하기 위한 대화모델을 저작 및 배포하는 툴킷입니다. 이러한 대화 서비스 플랫폼이 총 3가지 구성되어 있습니다.

  • DE(Development Environment) : 개발 환경으로 DialogKit에서 대화모델을 저작하는 과정에서 사용하는 대화 서비스 플랫폼으로 DialogKit에서 저작을 하는동안 해당 대화모델이 자동으로 배포됩니다.
  • TE(Test Environment) : 시험 환경으로 개발 환경에 개발이 완료된 대화모델이 DialogKit에서 시험환경 배포를 통해서 배포가 되고, 이후 검수를 받을 수 있는 환경입니다.
  • RE(Real Environment) : 개발 환경으로 실제로 서비스하는 환경입니다. 3PD의 경우 개발자가 직접 배포가 가능합니다

현재 CDSS는 DialogKit 내에서 현재 기능 확장을 위해 메뉴가 닫혀있습니다. 추후 고도화가 완료되고 오픈되면, 매뉴얼에 추가하도록 하겠습니다.

● GGD 대화해석 처리 로직

GGD 대화해석 요청은 GGD DSS로 요청합니다. 요청시 발화문과 함께 해당 서비스를 지정해주어야 하는데, 이를 Invoke명이라고 합니다. 대화해석 요청을 받은 GGD DSS가 모든 서비스 로직을 처리합니다.

  1. 발화문 (Invoke명 포함) 대화해석 요청
  2. 발화문(Invoke명 포함) 기본 대화해석 요청
  3. 기본 대화해석 결과, Invoke명
  4. 발화문(Invoke명 포함) 3rd Party 대화해석 요청, 서비스 구분자(Invoke명으로 3rd Party 서비스 구분자 추출)
  5. 3rd Party 대화해석 결과
  6. 3rd Party 대화해석 결과로 최종 응답(부재시 기본 대화해석 결과로 서비스 로직 처리 후 최종 응답)

● 3PD 대화해석 처리 로직(CLOUDAI, GPLUGIN, AIMAKERS)

3PD 대화해석 요청은 3PD DSS로 요청합니다. 요청시 발화문 외 3rd Party 서비스 구분자를 같이 전달해주어야 합니다. 대화해석 요청을 받은 3PD DSS가 모든 서비스 로직을 처리합니다. 3PD 서비스 중 CLOUDAI(kt Cloud API), GPLUGIN(G-Plugin), AIMAKERS(AI Makers Kit)의 경우, 전달한 3rd Party 서비스 구분자에 해당하는 서비스로 대화해석이 되지 않을 경우, 지정한 전문영역 기본 서비스 대화해석이 되면, 이 대화해석 결과로 최종 응답 처리합니다.

  1. 발화문 대화해석 요청, 3rd Party 서비스 구분자
  2. 발화문 3rd Party 대화해석 요청, 서비스 구분자
  3. 3rd Party 대화해석 결과
  4. 발화문 기본 대화해석 요청
  5. 기본 대화해석 결과
  6. 3rd Party 대화해석 결과로 최종 응답(부재시 기본 대화해석 결과로 서비스 로직 처리 후 최종 응답)

● 3PD 대화해석 처리 로직(GINSIDE)

3PD 대화해석 요청은 3PD DSS로 요청합니다. 요청시 발화문 외 3rd Party 서비스 구분자를 같이 전달해주어야 합니다. 대화해석 요청을 받은 3PD DSS가 모든 서비스 로직을 처리합니다. 3PD 서비스 중 GINSIDE(GiGA Genie Inside)의 경우, 1차 전달한 3rd Party 서비스 구분자에 해당하는 서비스(단말모델 서비스)로 대화해석 결과로, 2차 Invoke명이 추출된 경우, 이것으로 구한 서비스 구분자에 해당하는 서비스(앱모델 서비스)로 대화해석 결과로, 3차 기본 서비스 대화해석 결과로 최종 응답 처리합니다.

  1. 발화문(Invoke명이 포함될 수 있음) 대화해석 요청, 3rd Party 서비스 구분자(단말모델)2. 발화문(Invoke명이 포함될 수 있음) 기본 대화해석 요청
  2. 기본 대화해석 결과, Invoke명(Invoke명이 포함되어 있었다면...)
  3. 발화문 3rd Party 대화해석 요청(단말모델), 서비스 구분자(전달 받음)
  4. 3rd Party 대화해석 결과(단말모델)
  5. 발화문 3rd Party 대화해석 요청(앱모델), 서비스 구분자(Invoke명으로 3rd Party 서비스 구분자 추출)
  6. 3rd Party 대화해석 결과(앱모델)
  7. 3rd Party 대화해석 결과(단말모델)로 최종 응답(부재시 3rd Party 대화해석 결과(앱모델)로, 이도 부재시 기본 대화해석 결과로 최종응답)