상태 머신 기반 챗봇 설계 경험 요약
지능형 로봇 프로젝트의 요구 사항과 개선 방향을 더 잘 이해하기 위해 몇 가지 도구를 개발해야 하는 경우가 많습니다. 제가 참여한 여러 로봇공학 프로젝트 중 대부분은 제품 요구 사항을 성공적으로 충족했습니다. 이러한 관행을 통해 우리는 계속 발전하고 개선하려면 기존 로봇 정의 언어를 크게 개선해야 한다는 것을 깊이 깨달았습니다.
- 복잡한 대화 흐름이 필요한 봇 생성 프로세스를 단순화하세요.
- 과거에 정의한 모듈과 대화 경로를 재사용하여 봇을 생성하여 재사용성을 극대화합니다.
기존 관행에서는 의도 정의에 부분 순서 제약 조건이 혼합되어 대화의 자유를 제한하기 때문에 이를 수행하기가 쉽지 않습니다. 경로. 이는 대부분의 질문이 독립적이고 항상 사용 가능한 "개방형" 봇(FAQ 스타일 봇에서 일반적임)을 처리하는 데 충분합니다. 그러나 더 많은 "폐쇄형" 봇의 경우 잠재적인 대화 제한이 훨씬 더 큽니다(예: 온라인에서 티켓을 예약하는 데 사용되는 봇).
챗봇 정의 언어의 기능을 새로운 수준으로 끌어올리기 위해 일부 프로젝트에서는 상태 머신 의미론에 더 가까운 DSL을 도입했으며 로봇이 고정된 실행을 제어하는 변환 규칙과 의도 정의를 완전히 통합했습니다. -포인트 사용 가능한 의도 분리에는 다음과 같은 장점이 있습니다.
- 대화 경로가 다르게 설정되어 있어도 이전 의도를 새 로봇에서 재사용할 수 있습니다.
- 상태 머신을 사용하여 복잡한 대화 흐름을 정의할 수 있으므로 봇이 명확하고 정확한 의미를 유지할 수 있습니다.
- 전환을 제어하기 위해 복잡한 상태 가드를 만들 수 있습니다. 사용자 입력, 예정된 이벤트, 이전 데이터, 대화 매개변수 등을 기반으로 봇을 새로운 상태로 이동합니다.
- 상태 본문은 사용자 요청에 대한 응답으로 복잡한 대화 논리를 저장하는 데 사용될 수 있습니다.
- 로봇은 모듈화되어 상태 머신의 일부를 다른 로봇에 재사용할 수 있습니다.
- 로컬 폴백은 상태 저장 동작의 일부로 정의될 수 있습니다. 기본 전역 폴백 외에도 로컬 폴백을 상태와 연결하여 상태 컨텍스트에서 오류를 처리할 수도 있습니다. 예를 들어 대화의 특정 상태에서 봇이 묻는 질문에 사용자가 대답하는 데 도움이 되는 메시지를 표시할 수 있습니다.
의도 정의 언어
의도 정의는 이제 실행 부분에서 분리되었지만 여전히 별도의 하위 언어입니다. 각 의도에 대해 로봇이 사용자 발화의 의도를 인식하고 그로부터 필요한 매개변수를 추출할 수 있도록 몇 가지 훈련 문장만 제공하면 됩니다.
예를 들어, 인사말과 이름 언급이라는 두 가지 유형의 사용자 발화만 이해하는 간단한 봇이 있습니다. 각 발화 유형에 대해 몇 가지 예문을 제공하고 로봇이 이를 인식하는 방법을 학습하도록 할 수 있습니다. 사용자가 발화를 입력하면 로봇은 의도에 따라 해당 동작을 수행하고 그로부터 필요한 매개변수를 추출합니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

기계력 보고서 편집자: 우신(Wu Xin) 국내판 휴머노이드 로봇+대형 모델팀이 옷 접기 등 복잡하고 유연한 재료의 작업 작업을 처음으로 완료했습니다. OpenAI 멀티모달 대형 모델을 접목한 Figure01이 공개되면서 국내 동종업체들의 관련 진전이 주목받고 있다. 바로 어제, 중국의 "1위 휴머노이드 로봇 주식"인 UBTECH는 Baidu Wenxin의 대형 모델과 긴밀하게 통합되어 몇 가지 흥미로운 새로운 기능을 보여주는 휴머노이드 로봇 WalkerS의 첫 번째 데모를 출시했습니다. 이제 Baidu Wenxin의 대형 모델 역량을 활용한 WalkerS의 모습은 이렇습니다. Figure01과 마찬가지로 WalkerS는 움직이지 않고 책상 뒤에 서서 일련의 작업을 완료합니다. 인간의 명령을 따르고 옷을 접을 수 있습니다.

산업자동화 기술 분야에서 최근 무시하기 어려운 두 핫스팟이 있는데 바로 인공지능(AI)과 엔비디아다. 원본 콘텐츠의 의미를 바꾸지 말고, 콘텐츠를 미세 조정하고, 콘텐츠를 다시 작성하고, 계속하지 마세요. “그뿐만 아니라 Nvidia가 원래 그래픽 처리 장치(GPU)에만 국한되지 않기 때문에 둘은 밀접하게 관련되어 있습니다. 엔비디아는 최근 GPU를 확장해 디지털 트윈 분야까지 확장하고 있으며, 최근 떠오르는 AI 기술과도 긴밀하게 연결돼 있다”고 말했다. Schneider Electric, Teradyne Robotics, MiR 및 Universal Robots 회사도 포함됩니다. 최근 엔비디아(Nvidia)는

휴머노이드 로봇 아메카가 2세대로 업그레이드 되었습니다! 최근 세계이동통신학회(MWC2024)에서 세계 최고 수준의 로봇 아메카(Ameca)가 다시 등장했다. 행사장 주변에는 아메카가 많은 관중을 끌어 모았습니다. GPT-4의 축복으로 Ameca는 다양한 문제에 실시간으로 대응할 수 있습니다. "춤을 추자." 감정이 있느냐는 질문에 아메카는 매우 생생해 보이는 일련의 표정으로 대답했습니다. 불과 며칠 전, Ameca의 뒤를 잇는 영국 로봇 회사인 EngineeredArts는 팀의 최신 개발 결과를 시연했습니다. 영상 속 로봇 아메카는 시각 능력을 갖고 있어 방 전체와 특정 사물을 보고 묘사할 수 있다. 가장 놀라운 점은 그녀도 할 수 있다는 것입니다.

이번 주, 오픈AI(OpenAI), 마이크로소프트(Microsoft), 베조스(Bezos), 엔비디아(Nvidia)가 투자한 로봇 회사인 FigureAI는 약 7억 달러의 자금 조달을 받았으며 내년 내에 독립적으로 걸을 수 있는 휴머노이드 로봇을 개발할 계획이라고 발표했습니다. 그리고 Tesla의 Optimus Prime은 계속해서 좋은 소식을 받았습니다. 올해가 휴머노이드 로봇이 폭발하는 해가 될 것이라는 데는 누구도 의심하지 않는다. 캐나다에 본사를 둔 로봇 회사인 SanctuaryAI는 최근 새로운 휴머노이드 로봇인 Phoenix를 출시했습니다. 관계자들은 이 로봇이 인간과 같은 속도로 자율적으로 많은 작업을 완료할 수 있다고 주장한다. 인간의 속도로 자동으로 작업을 완료할 수 있는 세계 최초의 로봇인 Pheonix는 각 물체를 부드럽게 잡고 움직이며 우아하게 왼쪽과 오른쪽에 배치할 수 있습니다. 자동으로 물체를 식별할 수 있습니다.

요즘 가장 인기 있는 소셜 소프트웨어 중 하나인 WeChat은 풍부한 채팅 기능을 제공합니다. 그러나 때로는 "이 채팅을 표시하지 않음" 상황이 발생하여 중요한 대화가 숨겨지는 경우가 있습니다. 이러한 채팅을 복원하는 방법은 실제로 매우 간단합니다. 이 단계를 따르면 숨겨진 채팅을 쉽게 복원하고 WeChat이 제공하는 편리한 커뮤니케이션 경험을 계속 즐길 수 있습니다. WeChat에 표시되지 않는 경우 채팅을 복원하는 방법은 무엇입니까? 위챗은 채팅 복구 방법을 표시하지 않습니다. 방법 1: 위챗 메시지 목록에서 채팅 파트너의 이름이나 키워드를 직접 검색해보세요. 검색 결과가 발견되면 클릭하여 채팅 인터페이스로 들어가 채팅을 복원하고 표시할 수 있습니다. 방법 2, 친구 채팅을 통해 복원: 위챗을 열고 주소록을 클릭한 후 숨겨진 채팅에 표시된 친구를 찾아 클릭하여 메시지 보내기

눈 깜짝할 사이에 로봇이 마법을 배웠다고? 먼저 테이블 위의 물숟가락을 집어서 관객들에게 아무것도 없다는 것을 증명하는 모습이 보였고... 그리고 달걀 같은 물체를 손에 쥐고 다시 물숟가락을 테이블 위에 올려 놓았습니다. 그리고 "주문을 걸기" 시작했습니다... ...다시 물숟가락을 집었을 때 기적이 일어났습니다. 원래 넣었던 알은 사라지고, 튀어나온 것은 농구공으로 변해버렸는데... 연속적인 동작을 다시 살펴보자: △ 이 애니메이션은 2배속으로 일련의 동작을 보여주며, 보기만 해도 부드럽게 흘러간다. 0.5배속으로 반복해서 영상을 보면, 마침내 단서를 발견했습니다. 내 손의 속도가 더 빨랐다면 적에게 숨길 수도 있었을 것입니다. 일부 네티즌들은 로봇의 마법 실력이 자신보다 훨씬 높다고 한탄했습니다. 이 마법을 우리를 위해 수행한 사람은 매그였습니다.

쓸고 닦는 로봇은 최근 소비자들 사이에서 가장 인기 있는 스마트 가전제품 중 하나입니다. 그것이 가져오는 조작의 편리함, 심지어 조작이 필요하지 않은 것만으로도 게으른 사람들이 손을 자유롭게 할 수 있게 되어 소비자는 일상적인 집안일에서 "해방"되고 위장된 형태로 삶의 질이 향상됩니다. 이러한 열풍에 힘입어 시중에 나와 있는 거의 모든 가전제품 브랜드가 자체적으로 청소, 물걸레 로봇을 제작하고 있어 전체 청소, 물걸레 로봇 시장이 매우 활발해지고 있습니다. 그러나 시장의 급속한 확장은 필연적으로 숨겨진 위험을 가져올 것입니다. 많은 제조업체가 더 많은 시장 점유율을 빠르게 점유하기 위해 바다의 전술을 사용할 것이며 결과적으로 업그레이드 포인트 없이 많은 신제품이 나올 것이라고도 합니다. '마트료시카' 모델이라고 해도 과언이 아닙니다. 그러나 모든 청소 및 걸레질 로봇이 그런 것은 아닙니다.

다음 10가지 휴머노이드 로봇이 우리의 미래를 형성하고 있습니다. 1. ASIMO: Honda가 개발한 ASIMO는 가장 잘 알려진 휴머노이드 로봇 중 하나입니다. 높이 4피트, 무게 119파운드의 ASIMO는 복잡한 환경을 탐색하고 인간과 상호 작용할 수 있는 고급 센서와 인공 지능 기능을 갖추고 있습니다. ASIMO의 다재다능함은 장애인 지원부터 이벤트 프레젠테이션 제공까지 다양한 작업에 적합합니다. 2. 페퍼(Pepper): 소프트뱅크 로보틱스가 만든 페퍼는 인간의 사회적 동반자가 되는 것을 목표로 한다. 표현력이 풍부한 얼굴과 감정을 인식하는 능력을 갖춘 Pepper는 대화에 참여하고, 소매업 환경을 돕고, 교육 지원도 제공할 수 있습니다. 피망
