찾다
기술 주변기기일체 포함상태 머신 기반 챗봇 설계 경험 요약

지능형 로봇 프로젝트의 요구 사항과 개선 방향을 더 잘 이해하기 위해 몇 가지 도구를 개발해야 하는 경우가 많습니다. 제가 참여한 여러 로봇공학 프로젝트 중 대부분은 제품 요구 사항을 성공적으로 충족했습니다. 이러한 관행을 통해 우리는 계속 발전하고 개선하려면 기존 로봇 정의 언어를 크게 개선해야 한다는 것을 깊이 깨달았습니다.

  • 복잡한 대화 흐름이 필요한 봇 생성 프로세스를 단순화하세요.
  • 과거에 정의한 모듈과 대화 경로를 재사용하여 봇을 생성하여 재사용성을 극대화합니다.

기존 관행에서는 의도 정의에 부분 순서 제약 조건이 혼합되어 대화의 자유를 제한하기 때문에 이를 수행하기가 쉽지 않습니다. 경로. 이는 대부분의 질문이 독립적이고 항상 사용 가능한 "개방형" 봇(FAQ 스타일 봇에서 일반적임)을 처리하는 데 충분합니다. 그러나 더 많은 "폐쇄형" 봇의 경우 잠재적인 대화 제한이 훨씬 더 큽니다(예: 온라인에서 티켓을 예약하는 데 사용되는 봇).

상태 머신 기반 챗봇 설계 경험 요약

챗봇 정의 언어의 기능을 새로운 수준으로 끌어올리기 위해 일부 프로젝트에서는 상태 머신 의미론에 더 가까운 DSL을 도입했으며 로봇이 고정된 실행을 제어하는 ​​변환 규칙과 의도 정의를 완전히 통합했습니다. -포인트 사용 가능한 의도 분리에는 다음과 같은 장점이 있습니다.

  1. 대화 경로가 다르게 설정되어 있어도 이전 의도를 새 로봇에서 재사용할 수 있습니다.
  2. 상태 머신을 사용하여 복잡한 대화 흐름을 정의할 수 있으므로 봇이 명확하고 정확한 의미를 유지할 수 있습니다.
  3. 전환을 제어하기 위해 복잡한 상태 가드를 만들 수 있습니다. 사용자 입력, 예정된 이벤트, 이전 데이터, 대화 매개변수 등을 기반으로 봇을 새로운 상태로 이동합니다.
  4. 상태 본문은 사용자 요청에 대한 응답으로 복잡한 대화 논리를 저장하는 데 사용될 수 있습니다.
  5. 로봇은 모듈화되어 상태 머신의 일부를 다른 로봇에 재사용할 수 있습니다.
  6. 로컬 폴백은 상태 저장 동작의 일부로 정의될 수 있습니다. 기본 전역 폴백 외에도 로컬 폴백을 상태와 연결하여 상태 컨텍스트에서 오류를 처리할 수도 있습니다. 예를 들어 대화의 특정 상태에서 봇이 묻는 질문에 사용자가 대답하는 데 도움이 되는 메시지를 표시할 수 있습니다.

의도 정의 언어

의도 정의는 이제 실행 부분에서 분리되었지만 여전히 별도의 하위 언어입니다. 각 의도에 대해 로봇이 사용자 발화의 의도를 인식하고 그로부터 필요한 매개변수를 추출할 수 있도록 몇 가지 훈련 문장만 제공하면 됩니다.

예를 들어, 인사말과 이름 언급이라는 두 가지 유형의 사용자 발화만 이해하는 간단한 봇이 있습니다. 각 발화 유형에 대해 몇 가지 예문을 제공하고 로봇이 이를 인식하는 방법을 학습하도록 할 수 있습니다. 사용자가 발화를 입력하면 로봇은 의도에 따라 해당 동작을 수행하고 그로부터 필요한 매개변수를 추출합니다.

intent Hello {
inputs {
"你好"
"早上好"
}
}
 
intent MyNameIs {
inputs {
"我的名字叫小明"
"我是小明"
"你可以叫我小明"
}
creates context Greetings {
set parameter name from fragment "小明" (entity any)
}
}

로봇이 인식하는 방법을 훈련시키기 위해 각 인텐트에 대해 몇 가지 샘플 문장을 제공합니다. 또한 경우에 따라 향후 사용자에게 더욱 개인적으로 응답할 수 있도록 컨텍스트에서 일부 매개변수(예: 사용자 이름)도 수집합니다.

봇이 먼저 일치를 시도해야 하는 인텐트를 지정하지 않았습니다. 이는 실행 언어의 일부입니다. 이 접근 방식을 사용하면 이러한 의도를 재사용할 수 있습니다(예를 들어 다른 봇에서는 인사말 의도뿐만 아니라 사용자에게 이름을 물어봐야 할 수도 있음).

실행 정의 언어

실행 파일을 사용하여 로봇이 의도/이벤트에 응답하고 전환할 수 있는 방법을 설명하는 상태 기계를 정의합니다. 이를 통해 봇 디자이너는 실행 파일을 보고 전체 대화 흐름을 이해할 수 있습니다.

실행 언어의 각 상태는 3개의 부분으로 구성됩니다

  • Body(선택 사항): 상태에 들어갈 때 로봇이 수행하는 반응입니다.
  • Next(필수): condition –> State로 표현되는 아웃바운드 변환을 정의합니다. 이벤트/인텐트가 수신되면 조건이 평가되고 전환이 충족되면 실행 엔진이 지정된 상태로 이동하고 해당 반응을 실행합니다. 변환 조건은 매우 복잡할 수 있다는 점에 유의해야 합니다. 이는 진정한 가드입니다. 즉, 전체 조건이 true가 아닌 경우 전환을 탐색할 수 없으며 엔진은 현재 상태로 유지됩니다.
  • Fallback(선택 사항): 이 섹션에는 엔진이 탐색 가능한 전환을 찾을 수 없는 경우 실행되는 임의의 코드(Body 섹션과 마찬가지로)가 포함될 수 있습니다.

실행 모델에는 2가지 특수 상태도 포함되어 있습니다.

  • Init:是创建用户会话时进入的常规状态。它可以包含 Body、_Next_和 Fallback 部分。
  • Default_Fallback:它只能包含 Body 部分,并且不能作为转换的目标状态。该状态表示在当前状态中未定义本地回退时执行的默认回退代码。该状态可用于打印通用错误消息(例如,“抱歉,我没明白您的意思”),而本地回退则可以打印针对当前状态的定制消息(例如,“请回答是或否”)。

最后,一个状态可以定义一个单一的通配符转换(使用保留字符___作为转换条件),当计算状态主体时将自动导航。这使我们能够在多个地方重用相同的代码并模块化执行逻辑。下面是一个简单的机器人示例,它只回复问候意图,询问用户名并向用户问好。这个机器人的回复可以通过我们基于 React 的聊天小部件显示。

//We can always have an init state in case we need to initialize some bot parameters (e.g. welcoming message)
Init {
Next { 
//Here we state that the bot will first listen for an utterance matching the Hello intent, it will ignore anything else
intent == Hello --> HandleHello
}
}
HandleHello {
Body {
 ReactPlatform.Reply("你好, 你叫什么名字?")
}
Next {
//We wait for the user to input the name, no other transition is possible at this point
//Obviously, in more complex bots we may have several possible outgoing transitions in a given state
intent == MyNameIs --> HandleMyNameIs
}
}
HandleMyNameIs {
Body {
ReactPlatform.Reply("你好 " + context.get("Greetings").get("name"))
}
Next {
// An automatic transition to the Init state since at this point the conversation is finished and we can start again
_ --> Init
}
}
// Default Fallback state could go here


위 내용은 상태 머신 기반 챗봇 설계 경험 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 51CTO.COM에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
chatgpt를 사용할 수 없습니다! 즉시 테스트 할 수있는 원인과 솔루션 설명 [최신 2025]chatgpt를 사용할 수 없습니다! 즉시 테스트 할 수있는 원인과 솔루션 설명 [최신 2025]May 14, 2025 am 05:04 AM

chatgpt에 액세스 할 수 없습니까? 이 기사는 다양한 실용적인 솔루션을 제공합니다! 많은 사용자가 매일 chatgpt를 사용할 때 액세스 할 수 없거나 느린 응답과 같은 문제가 발생할 수 있습니다. 이 기사는 다양한 상황에 따라 이러한 문제를 단계별로 해결하도록 안내합니다. Chatgpt의 접근성 및 예비 문제 해결의 원인 먼저 문제가 OpenAI 서버 측 또는 사용자의 네트워크 또는 장치 문제에 있는지 확인해야합니다. 문제 해결을 위해 아래 단계를 따르십시오. 1 단계 : OpenAI의 공식 상태를 확인하십시오 chatgpt 서비스가 정상적으로 실행 중인지 확인하려면 OpenAi 상태 페이지 (status.openai.com)를 방문하십시오. 빨간색 또는 노란색 알람이 표시되면 열린 것을 의미합니다.

ASI의 위험을 계산하는 것은 인간의 마음으로 시작합니다ASI의 위험을 계산하는 것은 인간의 마음으로 시작합니다May 14, 2025 am 05:02 AM

2025 년 5 월 10 일, MIT 물리학 자 Max Tegmark는 AI Labs가 인공 초 지능을 방출하기 전에 Oppenheimer의 삼위 일체 테스트 미적분학을 모방해야한다고 Guardian에게 말했다. “내 평가는 'Compton Constant', 인종이

Chatgpt에서 가사를 작성하고 작곡하는 방법에 대한 이해하기 쉬운 설명Chatgpt에서 가사를 작성하고 작곡하는 방법에 대한 이해하기 쉬운 설명May 14, 2025 am 05:01 AM

AI 음악 제작 기술은 매일 매일 변화하고 있습니다. 이 기사는 Chatgpt와 같은 AI 모델을 예로 사용하여 AI를 사용하여 음악 제작을 지원하고 실제 사례에 대해 설명하는 방법을 자세히 설명합니다. 우리는 Sunoai, Hugging Face의 AI Jukebox 및 Python 's Music21 Library를 통해 음악을 만드는 방법을 소개합니다. 이러한 기술을 통해 모든 사람은 독창적 인 음악을 쉽게 만들 수 있습니다. 그러나 AI 생성 컨텐츠의 저작권 문제는 무시할 수 없으며 사용할 때는 신중해야합니다. 음악 분야에서 AI의 무한한 가능성을 모색 해 봅시다! OpenAi의 최신 AI 에이전트 "OpenAi Deep Research"가 소개됩니다. [chatgpt] ope

chatgpt-4는 무엇입니까? 당신이 할 수있는 일, 가격 및 GPT-3.5의 차이에 대한 철저한 설명!chatgpt-4는 무엇입니까? 당신이 할 수있는 일, 가격 및 GPT-3.5의 차이에 대한 철저한 설명!May 14, 2025 am 05:00 AM

ChatGpt-4의 출현은 AI 응용 프로그램의 가능성을 크게 확장했습니다. GPT-3.5와 비교하여 ChatGpt-4는 상당히 개선되었습니다. 강력한 맥락 이해력이 있으며 이미지를 인식하고 생성 할 수도 있습니다. 그것은 보편적 인 AI 조수입니다. 비즈니스 효율성 향상 및 창출 지원과 같은 많은 분야에서 큰 잠재력을 보여주었습니다. 그러나 동시에, 우리는 또한 사용의 예방 조치에주의를 기울여야합니다. 이 기사에서는 ChatGpt-4의 특성을 자세히 설명하고 다양한 시나리오에 대한 효과적인 사용 방법을 소개합니다. 이 기사에는 최신 AI 기술을 최대한 활용하는 기술이 포함되어 있습니다. OpenAi의 최신 AI 에이전트, "OpenAi Deep Research"에 대한 자세한 내용은 아래 링크를 클릭하십시오.

chatgpt 앱을 사용하는 방법을 설명하십시오! 일본 지원 및 음성 대화 기능chatgpt 앱을 사용하는 방법을 설명하십시오! 일본 지원 및 음성 대화 기능May 14, 2025 am 04:59 AM

chatgpt 앱 : AI 조수와 함께 창의력을 발휘하십시오! 초보자 가이드 Chatgpt 앱은 쓰기, 번역 및 질문 답변을 포함하여 광범위한 작업을 처리하는 혁신적인 AI 어시스턴트입니다. 창의적인 활동과 정보 수집에 유용한 끝없는 가능성이있는 도구입니다. 이 기사에서는 초보자를위한 이해하기 쉬운 방법, ChatGpt 스마트 폰 앱을 설치하는 방법, 음성 입력 기능 및 플러그인과 같은 앱의 고유 한 기능 및 앱을 사용할 때 염두에 두는 포인트에 이르기까지 설명합니다. 또한 플러그인 제한 및 장치 간 구성 동기화를 자세히 살펴 보겠습니다.

중국어 버전의 Chatgpt를 어떻게 사용합니까? 등록 절차 및 수수료에 대한 설명중국어 버전의 Chatgpt를 어떻게 사용합니까? 등록 절차 및 수수료에 대한 설명May 14, 2025 am 04:56 AM

Chatgpt Chinese 버전 : 중국 AI 대화의 새로운 경험 잠금 해제 Chatgpt는 전 세계적으로 인기가 있습니다. 중국어 버전도 제공한다는 것을 알고 있습니까? 이 강력한 AI 도구는 일상적인 대화를 지원할뿐만 아니라 전문적인 콘텐츠를 처리하며 단순화되고 전통적인 중국어와 호환됩니다. 중국의 사용자이든 중국어를 배우는 친구이든 상관없이 혜택을 누릴 수 있습니다. 이 기사는 계정 설정, 중국 신속한 단어 입력, 필터 사용 및 다양한 패키지 선택을 포함하여 ChatGpt 중국어 버전을 사용하는 방법을 자세히 소개하고 잠재적 위험 및 응답 전략을 분석합니다. 또한 ChatGpt 중국어 버전을 다른 중국 AI 도구와 비교하여 장점과 응용 프로그램 시나리오를 더 잘 이해할 수 있도록 도와줍니다. Openai의 최신 AI 인텔리전스

5 AI 요원 신화 당신은 지금 믿음을 중단해야합니다.5 AI 요원 신화 당신은 지금 믿음을 중단해야합니다.May 14, 2025 am 04:54 AM

이것들은 생성 AI 분야의 다음 도약으로 생각 될 수 있으며, 이는 우리에게 Chatgpt 및 기타 대규모 모델 챗봇을 제공했습니다. 단순히 질문에 대답하거나 정보를 생성하는 대신, 우리를 대신하여 조치를 취할 수 있습니다.

Chatgpt를 사용하여 여러 계정을 만들고 관리하는 불법성에 대한 이해하기 쉬운 설명Chatgpt를 사용하여 여러 계정을 만들고 관리하는 불법성에 대한 이해하기 쉬운 설명May 14, 2025 am 04:50 AM

ChatGpt를 사용한 효율적인 다중 계정 관리 기술 | 비즈니스와 사생활 사용 방법에 대한 철저한 설명! Chatgpt는 다양한 상황에서 사용되지만 일부 사람들은 여러 계정 관리에 대해 걱정할 수 있습니다. 이 기사는 ChatGpt에 대한 여러 계정을 만드는 방법, 사용할 때 수행 할 작업 및 안전하고 효율적으로 작동하는 방법을 자세히 설명합니다. 또한 비즈니스와 개인 사용의 차이, OpenAI의 이용 약관을 준수하는 것과 같은 중요한 점을 다루며 여러 계정을 안전하게 활용하는 데 도움이되는 안내서를 제공합니다. Openai

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.