- 인쇄
- PDF
CLOVA Chatbot 자주하는 질문
- 인쇄
- PDF
Q. 오류 코드가 뜨는데 무슨 뜻인지 모르겠어요.
오류 코드에 대한 설명은 오류 코드를 참고해 주십시오.
Q. 콘솔에서 CLOVA Chatbot 서비스에 어떻게 접근하나요?
네이버 클라우드 플랫폼의 콘솔에서 Products & Services > AI Application Service > CLOVA Chatbot을 클릭해 주십시오.
Q. 네이버클라우드의 CLOVA Chatbot 서비스 엔진은 무엇이 다른가요?
네이버클라우드 CLOVA Chatbot 서비스 엔진은 네이버의 노하우가 축적된 자연어 기반 챗봇 엔진입니다. 챗봇에 탑재된 대화 모델링 엔진은 자연어 처리 기술과 머신 러닝 기반 ‘자가 학습’을 통해서 대화 모델을 강화시켜 자연스러운 대화 연결이 가능하도록 도와줍니다.
Q. 실제 사용자의 이용 패턴과 발화 유형이 궁금합니다.
실제 챗봇 서비스에서는 실사용자들의 이용 방식이 대화 생성 과정에서 예상한 발화 유형과 다를 수 있습니다. 따라서 통계 데이터 및 유입된 사용자의 발화 기록을 분석하는 것이 중요합니다. 네이버 클라우드 플랫폼에서는 지속적으로 대화 모델을 개선할 수 있도록 다양한 분석 지표를 제공합니다. 자세한 사항은 지표 및 분석을 참고해 주십시오.
Q. 대표적으로 Intent 방식의 챗봇을 구글, 왓슨이 사용한다고 알고 있는데 네이버 챗봇은 정확하게 해당 단어가 포함되어야만 하는 패턴 매칭 방식을 쓰는건가요?
챗봇에서 인텐트(Intent)는 사용자의 의도를 의미합니다. 많은 챗봇 빌더에서 인텐트 방식을 사용하고 있습니다. 인텐트는 사용자의 입력 문장에 따라 분류(또는 학습)가 될 수 있으며, 챗봇은 이를 기준으로 답변합니다. CLOVA Chatbot은 대화 유형이라는 형태로 인텐트 방식을 지원합니다.
또한 CLOVA Chatbot은 자연어 처리 엔진을 사용하며, 사람이 대화를 배워가는 과정과 유사하게 모델을 만들고 학습합니다. 즉, 다양한 문장과 문법을 공부하고 중요한 정보를 기억하며 추가로 전후 문맥을 보고 반복 학습을 하며 정답을 위주로 피드백을 합니다. 그리고 다양한 모델로 다수결로 답변을 추출합니다. 간략하게 설명했지만, 매우 복잡한 과정을 거쳐서 자연어를 이해하고 답변을 하도록 머신러닝 학습을 시키고 있습니다.
정확하게 해당 단어가 나타나야만 하는 패턴 매칭 방식도 처리 기법 중 일부라고 볼 수 있지만 패턴 매칭 방식은 저희 프로세스 중 아주 작은 부분이며 고도의 학습 프로세스로 자연어를 처리하고 있습니다.
Q. 개발자가 아니어도 챗봇 제작이 가능한가요?
네이버 클라우드 플랫폼의 콘솔에서 제작할 수 있는 대화 데이터셋 중심의 챗봇은 개발자가 아닌 사용자도 챗봇 빌더를 이용해 대화 모델을 빌드한 후 수 분에서 몇 시간 안에 학습 및 배포가 가능합니다. 테스트 기능을 이용해 손쉽게 챗봇의 동작을 확인할 수 있으며 재학습을 위한 신규 발화를 추가로 등록하면 빌드 완료 후 새롭게 학습된 모델로 즉시 서비스할 수 있습니다.
단, CLOVA Chatbot의 ActionMethod를 사용하여 외부 서버와 연동이 필요한 경우 또는 회사의 Custom 채팅창과 연동하여 서비스를 제공할 경우에는 개발이 필요합니다. 이 경우, 제공되는 가이드 및 챗봇 Custom API Spec을 개발자와 함께 검토하여 진행해야 합니다.
Q. 음성 챗봇을 제공하고 싶은데 어떻게 해야 하나요?
네이버클라우드의 다양한 API를 활용하여 챗봇 서비스를 확장할 수 있습니다. 특히 CLOVA API와 쉬운 연동(CSR/CSS)을 제공하여 음성 채팅으로도 확장이 가능합니다.
Q. LINE과 톡톡 같은 상용 메신저에 연동할 수 있나요?
다양한 경로로 들어오는 발화를 실시간 처리하여 LINE, 톡톡, FaceBook 등 주요 메신저 플랫폼과의 연동할 수 있습니다. 네이버클라우드의 CLOVA Chatbot 서비스는 메신저 연동 뿐만 아니라 커스텀 연동을 지원하여 웹 기반의 페이지 및 모바일 애플리케이션과도 쉽게 연동이 가능합니다.
카카오톡 서비스의 사정으로 챗봇에서 카카오톡 API 스마트 채팅으로의 연동이 2019년 12월 31일 이후로 완전 중단되었습니다. (2018년 11월 30일 API형 스마트 채팅 신규 등록 중단/ 2019년 12월 31일 API형 스마트 채팅 완전 종료)
Q. 다양한 방식으로 대화를 테스트하고 싶은데 편하게 대화를 입력하는 방법이 있을까요?
현재 템플릿을 통한 엑셀 대량 업로드 기능이 제공되고 있으며 처음 챗봇을 이용하여 간단한 대화를 생성할 수 있도록 빌트인 템플릿 기능을 제공하고 있습니다. 약 150여 개의 대화 데이터셋이 포함되어 있어 간단한 테스트가 가능합니다.
Q. 테스트 용도로 미리 일정 수량의 대화가 등록된 데이터 셋팅이 가능할까요? 충분한 데이터가 있을 경우 어느 정도의 대화가 가능할지 테스트를 해보고 싶습니다.
빌트인 템플릿 기능을 제공하고 있으며, 잡담 대화가 약 150개 포함되어 배포됩니다. 챗봇을 처음 시작할 때 유용하게 사용할 수 있는 정도의 발화 규모로 제공됩니다. 처음 도메인을 생성하고 한 개 정도의 시나리오를 등록하고 학습하는 경우 빌드에 실패하게 됩니다. 최소 10개 이상의 시나리오를 입력하고 빌드 학습 테스트를 하는 것을 권장합니다.
Q. 메신저랑 연동 시 메신저 사용자의 ID를 확인할 수 있는 방법이 있을까요?
LINE, Facebook 등 상용 메신저사에서는 API로 서비스 연동 시에 유저 정보(유저의 ID 등) 개인 정보를 제공하고 있지 않습니다. 따라서 저희가 메신저에서 전달 받은 사용자 ID 정보 값은 같은 사용자라는 것을 보장할 수 있는 고유값을 의미하며, 정확한 사용자가 누구인지는 확인할 수 없습니다. 현재 메신저에서 전달받은 사용자 ID 정보 값은 액션 메소드 URL을 호출할 때 헤더에 담아 보내고 있으므로 헤더에서 X-KAA-USERKEY 값을 확인하면 됩니다.
<예시> X-KAA-USERKEY: e579cf601ea0e6d53ff6d632ab35c720weoir13
만약 유저의 정확한 정보를 저장하여 서비스를 제공해야 한다면, 별도의 로그인 등의 기능을 개발하여 정보를 확인하는 것이 가장 좋은 방법입니다.
Q. 다국어 지원 문의 - 만약 해외 이용자가 중국어로 질문을 한다면 중국어를 한국어로 번역을 하여 챗봇에서 대답을 할 수 있을까요? 대답할 때도 한국어 답변을 중국어로 번역하여 이용자가 볼 수 있는지 궁금합니다.
챗봇은 한국어, 영어, 중국어 간자체, 중국어 번자체, 일본어, 인도네시아어, 태국어를 지원합니다. 도메인을 생성할 때 자연어 처리 언어를 선택할 수 있으며, 선택한 언어셋에 맞게 대화 데이터 셋을 입력하면 다국어 지원 챗봇을 만들 수 있습니다. 대화를 한국어로 만든 후 다양한 Papago API(번역)를 고객님의 애플리케이션에서 연동되도록 추가 개발을 하는 방법도 가능합니다.
CLOVA Chatbot은 음성 인식 및 파파고 API 연동을 기본 지원하지 않습니다. 하지만 현재 CLOVA Chatbot에서는 Custom 연동 기능을 제공하고 있기 때문에 추가 개발을 통해서 CSS/CSR 연동하여 음성 챗봇으로 확장하거나, Papago API 연동을 통해서 번역 챗봇으로 확장할 수 있습니다.
Q. 챗봇을 LINE에 연동하고 LINE 영어 통역을 초대하니 LINE 영어 통역이 대화방에서 나가 버립니다. 챗봇 대화 시 통역을 쓸 수 없는 건가요?
챗봇 대화 시 통역을 쓸 수 없습니다. 두 개의 봇(챗봇)이 한 채팅방에 있을 수 없기 때문입니다. 봇 한 개의 대답이 다른 봇에 입력이 되고 그 응답이 다시 봇에게 입력되면 무한 반복에 빠질 수 있습니다.
Q. '이미지 및 다중링크'에 대하여 캐로셀 형태로 가로 스크롤로 노출되는 답변을 설정할 수 있나요?
CLOVA Chatbot 서비스에서는 캐로셀을 지원하고 있습니다. 다만, 연동한 메신저별로 캐로셀을 지원하지 않는 곳도 있으니, 미리 연동할 채널(메신저)에서 테스트를 진행해 주시기 바랍니다.
Q. 빌드가 되지 않습니다.
학습 시간은 데이터의 양에 따라 다르지만, 대화 데이터셋 100개 이하의 경우는 5분~10분 사이에서 학습이 완료됩니다. 그리고 대화를 한 개만 등록하고 학습을 수행한 경우, 데이터 셋이 너무 작아서 학습에 실패할 수 있습니다. 적어도 10개 이상의 대화 데이터 셋을 입력하고 테스트를 진행해 주십시오. 빌드가 실패한 경우에는 과금되지 않습니다.
Q. 챗봇 사용자가 창을 열었을 때 챗봇이 먼저 말을 걸게 하고 싶습니다.
챗봇 빌더의 공통 메시지 메뉴의 ‘웰컴 메시지’ 기능을 사용하면 됩니다. 연동하려는 채널(메신저)에서 지원하는 경우에만 설정할 수 있습니다. 웰컴 메시지를 설정해 놓으면 사용자가 챗봇과 처음 대화하는 상황에서 챗봇이 웰컴 메시지로 등록된 메시지를 먼저 응답합니다. 그러나 Custom Chatbot을 구축하는 경우에는 서비스 기획 흐름에 맞게 웰컴 메시지 동작을 위한 개발이 별도로 필요합니다.
Q. 폼 형식을 써서 객관식 옵션으로 답을 받은 다음 그 답변에 맞춰서 계속 질문 답변을 받고 싶습니다. 예를 들어, ‘어떤 피자를 원하시나요? 옵션1(페퍼로니) 옵션2(수퍼수프림)에 대한 답변으로 옵션1(페퍼로니)가 선택되었을 경우, 다음 질문은 '페퍼로니 피자의 햄 종류를 다음에서 선택해 주세요. 옵션1(벨기에산) 옵션2(진주햄)'과 같이 답변에 따라 다른 질문을 하게 만들려면 어떻게 하나요?
슬롯 대화를 활용하면 됩니다. 자세한 사항은 태스크 사용 가이드의 슬롯 대화 부분을 참고해 주십시오.
Q. 답변 내용을 가지고 있다가 한번에 외부 API로 전달하려고 할 때 답변 내용 저장은 어떻게 할 수 있을까요?
슬롯 대화를 사용하면 답변 내용을 저장하고 있다가 모아서 액션 메소드로 전달할 수 있습니다.
Q. 한 문장에 두 가지 질문을 했을 경우 답변을 어떻게 작성하면 되나요?
두 가지 질문에 대한 답변을 작성합니다. 예를 들어, "서버 요금은 얼마이며 사용하는 방법은 뭐예요?"라는 질문에 대해서 서버 요금은 얼마이고 사용하는 방법은 무엇인지 답변을 작성해 놓으면 됩니다.
Q. B 도메인을 새로 만들었는데 A 도메인에서 만든 대화 데이터셋을 사용하고 싶다면 어떻게 해야 하나요?
도메인 복사 기능 및 Excel 업로드/다운로드 기능을 활용하여 대화 데이터셋을 편리하게 관리할 수 있습니다.
Q. 챗봇의 빌드 시간은 어떻게 되나요?
빌드 시간은 데이터 양에 따라 다르지만, 대화 데이터셋 100개 이하의 경우는 5분~10분 사이에 학습이 완료됩니다. 대화를 1개만 등록하고 빌드하면 데이터 셋이 너무 작아서 빌드에 실패하게 되므로 최소 10개 이상의 대화 데이터 셋을 입력하고 빌드해 주십시오.
Q. Custom API 연동은 어떻게 하나요?
Custom API 연동을 하려면 API Gateway 이용 신청을 완료해야 합니다. 자세한 내용은 채널 연동 가이드(챗봇과 API G/W 기본 연동)와 CLOVA Chatbot Custom API Spec 가이드를 참조해 주십시오.
Q. 챗봇 다중 버튼은 어떻게 만드나요?
네이버 클라우드 플랫폼의 챗봇에서는 버튼으로 선택할 수 있는 기능이 두 가지 형태로 제공됩니다.
- URL 링크 버튼: 노출 문구가 버튼 형식으로 보이고 유저 버튼 클릭 시 지정한 URL 주소로 새 창이 열립니다. 다중 URL 링크는 답변 유형 중 '멀티 링크 답변'을 활용하면 됩니다.
- 객관식 버튼: 선택지가 버튼 형식으로 보이고 유저가 그중 하나의 버튼을 선택한 경우 이에 적합한 답변이 응답됩니다. 객관식 폼은 답변 유형 중 '객관식 답변'을 활용하면 됩니다.
Q. 물음표, 느낌표와 같은 문장 기호를 사용 가능한가요?
챗봇 엔진은 문장에서 문장 기호를 제외하고 판단하기 때문에, 사용자가 “배고파?”를 입력하더라도 “배고파”로 답변을 찾습니다.
Q. 한국어로 된 도메인을 복사하여 다른 언어(일본어, 중국어)로 도메인의 언어를 설정한 경우 학습이 되나요?
챗봇 서비스는 도메인 생성 시 선택된 언어를 기본으로 인식하여 학습합니다. 만약 일본어로 설정된 도메인에 한국어 대화셋이 존재하는 경우 빌드에 실패합니다.
Q. 슬롯과 사용자 변수의 기능 차이
항목 | 슬롯 | 사용자 변수 |
---|---|---|
유지 기간 | 태스크 내에서만 유지 (제한적으로 컨텍스트가 연결된 다른 태스크의 슬롯으로 유지 가능) | 세션 내에서 계속 유지 |
업데이트 방식 | 사용자 발화를 통해서만 슬롯 필링 | 답변이 응답되는 시점에 업데이트 1) 작업자가 직접 입력한 값으로 업데이트 2) 사용자 발화에 담긴 엔티티 값으로 업데이트 3) 해당 태스크에서 필링된 슬롯의 값으로 업데이트 4) 다른 사용자 변수에 채워진 값으로 업데이트 5) 기존에 채워진 값에 + 또는 – 연산한 값으로 업데이트 6) 액션 메소드 리턴 시 함께 전달된 사용자 변수 값으로 업데이트 7) 커스텀조건V2.0 리턴 시 함께 전달된 사용자 변수 값으로 업데이트 |
답변에 삽입 가능 여부 | 해당 태스크의 최종 답변에만 삽입 가능 | 대화의 제한 없이 답변에 삽입 가능 |
연산 가능 여부 | 연산 불가능 | 문자열 유형의 사용자 변수를 제외하고는 연산 가능 |
조건 분기 가능 여부 | 조건 분기 불가능 | 조건 분기 가능 |
액션 메소드 호출 시 | 해당 태스크에서 출현한 슬롯의 정보들은 모두 전달 | 선언된 모든 사용자 변수 전달 |
Q. 액션 메소드 호출 Timeout 값을 변경하려면 어떻게 해야 하나요?
액션 메소드 호출 Timeout 기본값은 200ms으로, 고객이 직접 변경할 수 없습니다. 고객센터로 요청해 주시기 바랍니다.
Q. 웰컴 메시지를 등록했는데 테스트할 때 웰컴 메시지가 나타나지 않아요. 어떻게 해야 하나요?
웰컴 메시지를 등록한 후에 대화 모델 빌드 또는 변경된 설정 적용을 완료했는지 확인해 주시기 바랍니다. 또는 수동 테스트 시 [웰컴으로 시작] 버튼을 클릭했는지 확인해 주십시오.
Q. 액션 메소드 버전별 차이
항목 | 액션 메소드 V1.0 | 액션 메소드 V2.0 |
---|---|---|
방식 | GET, POST 두가지 방식 지원 | POST 만 지원 |
호출 시 전달 항목 | User ID User Key 엔티티 슬롯 사용자의 발화(주관식 폼에서 사용된 경우만) | User ID User Key 엔티티 슬롯 사용자의 발화 사용자 변수 |
리턴 항목 | 1개의 리턴 값 | 여러 개의 리턴 값 사용자 변수 |
복수의 리턴값 활용 가능 여부 | 불가능 | $2{액션메소드.key1}, $2{액션메소드.key2}의 방식으로 입력 가능 |
Q. 챗봇 빌더에서 대화를 추가한 후 빌드하기 전에 미리 테스트할 수 있는 방법이 없나요? 빌드하기 전에 대화가 정상적으로 작동하는지 확인하고 싶습니다.
빌드를 완료해야 대화 테스트가 가능합니다. 추후 빌드 전에 대화 목록에 추가된 대화를 테스트할 수 있는 기능을 준비할 예정입니다.
Q. 등록한 엔티티에는 띄어쓰기가 있는데, 인식된 시나리오에서 응답을 받을 때는 띄어쓰기가 없어집니다. 등록된 엔티티 그대로(띄어쓰기까지 동일하게) 시나리오 응답 엔티티 필드에 넣는 것이 가능할까요?
현재 스펙은 엔티티 처리 시 때 띄어쓰기를 고려하지 않으며, 엔티티 return 시 띄어쓰기가 제거됩니다. 띄어쓰기를 유지한 채 분석값을 내려주는 기능은 현재 지원하지 않습니다.
Q. 사용자에게 입력 받은 "라이선스수"와 "라이선스개월수"를 태스크의 엔티티로 전달 받은 후, 해당 정보를 활용하여 요금값(5,000X라이선스수X라이선스개월수)을 답변하고 싶습니다. 기본 답변을 연산 처리하려면 어떻게 해야 하나요?
현재 엔티티 자체 연산 기능은 지원하지 않으며, 분석된 엔티티 값을 사용자 변수에 상속한 후 사용자 변수 내에서 연산하여 처리해야 합니다. 하지만 챗봇 빌더에서의 연산은 +, -만 제공하며, 곱셈 연산은 지원하지 않으므로 별도 구현을 부탁드립니다.
Q. 요금 단위는 월 단위인가요 주 단위인가요?
월 단위로 정산됩니다.
Q. 정확도 낮음 구간에 해당하여 답변을 찾지 못한 경우, 실패 메시지도 띄우지 않고 아무 답변도 하지 않도록 설정하고 싶습니다.
커스텀 채널을 사용한 경우, 메시지 타입을 확인하여 실패 메시지는 사용자에게 응답하지 않도록 설정하면 됩니다. 그 외 메신저의 경우, 실패 메시지 대신 아무 응답도 하지 않는 기능은 지원이 어렵습니다.
Q. 객관식 답변과 멀티링크 답변을 동시에 설정한 경우, 우선순위를 정할 수 있나요?
CLOVA Chatbot에서 특정 답변의 우선순위는 지원하지 않습니다.
Q. 챗봇 답변에 URL을 사용하려고 하는데, localhost 주소는 사용할 수 없나요?
localhost 주소는 사용할 수 없습니다.
Q. 도메인을 백업하고 싶습니다.
빌드한 이후에도 이전 빌드 버전으로 롤백할 수 있습니다. 또는 도메인 복사 기능을 활용하여 도메인을 복사해 두는 방법으로 도메인을 백업할 수 있습니다.
Q. 챗봇 Custom 연동을 위해 Python 코드를 사용하여 API 호출해 보니, 결과 text가 정상적으로 나타나지 않습니다. 대화모델 빌드 및 배포 이외에 더 수행해야 하는 작업이 있나요?
빌드 내역 메뉴에서 서비스 배포를 완료해야 API 호출 시 정상 응답합니다. 베타 배포만 완료한 것은 아닌지 확인해 주시기 바랍니다.
Q. 대화 질문에 입력한 정규식 질문이 정상적으로 동작하지 않는 것 같습니다.
현재 정규식 질문의 길이는 500자로 제한하고 있습니다. 정규식 질문을 500자 이내로 입력해 주시기 바랍니다.
Q. 사용자가 입력한 문장을 그대로 불러온 후, 답변을 제공하는 방식으로 제작하려면 어떻게 하나요? 예를 들어, 고객이 “지하철 노선도를 보는게 힘들다”라고 질문했을 경우, 챗봇은 "지하철 노선도를 보는게 힘들다"는 불편사항이 있으시군요?”라고 대답한 후 답변을 제공하도록 구성하고 싶습니다.
사용자가 챗봇에 입력한 문장을 그대로 답변에 불러오고자 할 때, 액션 메소드를 개발하여 해당 대화의 답변에 사용합니다.
액션 메소드 예시
def main(args):
userInfo = args.get("userInfo", {"query":""})
query = userInfo.get("query", "")
return {"data":[{"variableName":"query","value":query}]}