ETC/Dialogflow

Dialogflow 란?[1]

Raconer 2023. 4. 15. 17:34
728x90

일반적인 Action -> Request 동작하는 1:1방 식이 아니라 대화를 하며 대화 내용을 통해 Request가 동작하는 1:N 동작도 가능할 거 같아서 DialogFlow를 공부하였습니다.(개인적인 생각입니다.)

1. DialogFlow란?

Dialogflow는 대화식 사용자 인터페이스를 모바일 앱, 웹 애플리케이션, 기기, 봇, 대화형 음성 응답 시스템 등에 쉽게 설계하고 통합할 수 있는 자연어 이해 플랫폼입니다. Dialogflow를 통해 사용자에게 제품과 상호작용할 수 있는 새롭고 흥미로운 방법을 제공할 수 있습니다.

Dialogflow는 텍스트 또는 오디오 입력(전화 또는 음성 녹음 등)을 포함하여 고객이 제공하는 여러 유형의 입력을 분석할 수 있습니다. 또한 텍스트 또는 합성 음성을 통해 두 가지 방법으로 고객에게 응답할 수 있습니다.

2. 종류

Dialogflow CX : 대규모이거나 매우 복잡한 에이전트에 적합한 고급 에이전트 유형을 제공합니다.

Dialogflow ES : 중소 규모의 단순한 에이전트에 적합한 표준 에이전트 유형을 제공합니다.

비교 : https://cloud.google.com/dialogflow/docs/editions?hl=ko

3. 구조 설명 Document 정의

1.Agent

최종 사용자와의 대화를 처리하는 가상 Agent입니다. 이는 인간 언어의 미묘한 차이를 이해하는 자연어 이해 모듈입니다. Dialogflow는 대화로 이루어진 최종 사용자의 텍스트 또는 오디오를 앱과 서비스가 이해할 수 있는 구조화된 데이터로 변환합니다. 시스템에 필요한 대화 유형을 처리하도록 Dialogflow Agent를 직접 설계하고 빌드할 수 있습니다.

Dialogflow Agent는 콜센터 상담원과 유사합니다. 둘 다 예상되는 대화 시나리오를 처리하도록 학습해야 하며, 학습이 지나치게 명시적일 필요는 없습니다.

💬 DialogFlow란?

일반적인 1:1 Request 방식이 아닌, 대화 기반의 1:N 방식의 인터랙션을 구현하기 위해 Dialogflow를 학습했습니다.
(개인적인 생각입니다.)


📌 1. DialogFlow란?

Dialogflow는 음성, 텍스트 입력을 분석하여
앱·웹·기기·봇 등과 상호작용 가능한 자연어 이해(NLU) 플랫폼입니다.
이를 통해 사용자는 더 직관적이고 대화식으로 제품과 상호작용할 수 있습니다.

  • 텍스트, 음성 입력 → 구조화된 데이터로 변환
  • 출력은 텍스트 또는 음성 형태로 제공

🧩 2. DialogFlow 종류

유형 설명
Dialogflow CX 대규모 또는 복잡한 에이전트 구축에 적합
Dialogflow ES 중소규모 에이전트에 적합

👉 비교 문서: Dialogflow Editions 비교


🧱 3. 구조 설명

🔹 1) Agent

사용자의 자연어 입력을 구조화된 데이터로 변환하는 핵심 엔진

  • 하나의 Agent는 특정 도메인의 대화 흐름을 담당
  • Call Center의 상담원과 유사: 다양한 시나리오에 대응하도록 설계 가능

🔗 Agent 개요 문서


🔹 2) Intents

사용자의 의도를 인식하고, 파라미터로 분류하여 처리를 유도

예시:

"What's the temperature going to be tomorrow in Seattle"
→ $location = Seattle
→ $time = tomorrow

Intents 구성 요소:

  1. Training phrases
    • 예시 문장을 통해 유사 표현 학습
  2. Action
    • 해당 Intent에 도달 시 트리거되는 작업명 정의
  3. Parameters
    • $location, $time 등 입력에서 추출된 정보
    • Entity를 기반으로 정의됨
  4. Responses
    • 사용자에게 반환할 메시지 정의 (텍스트, 음성, 카드 등)

추가 기능:

  • Contexts
    • 이전 대화 흐름을 기억하여 Intents 연결
  • Events
    • 외부 이벤트 발생 시 특정 Intent를 트리거

🔹 3) Entities

입력에서 특정 정보를 추출하기 위한 개념 (데이터 타입)

종류:

  • System Entities: 날짜, 시간, 이메일, 숫자 등
  • Custom Entities: 사용자가 정의

구성 요소:

  • Entity type: 추출 대상 정보 유형 (예: 개발툴)
  • Entity entry: 실제 단어/문구 목록
      개발툴 → intellij, eclipse, vs code
      언어 → Java, Python, C++
  • Reference value & synonyms
    • Java = [java, JAVA, 자바] 등으로 매칭

🔗 Dialogflow Entity 문서


📝 참고 자료

728x90

'ETC > Dialogflow' 카테고리의 다른 글

Dialogflow 사용[2]  (0) 2023.04.15
Dialogflow 사용[1]  (0) 2023.04.15
Dialogflow 란?[3]  (0) 2023.04.15
Dialogflow 란?[2]  (0) 2023.04.15