마약이나 폭력 등 금지어를 입력할 경우는 단호하게 대응하는 것이 좋다. 예를 들어 첫번째 때는 부드럽게 경고를 하되 2~3회 반복되면 더 이상 대화를 하지 않겠다고 하는 등 강력하게 대응하는 것이 좋다. 그리고 이런 악담에 올바르게 대응하기 위해서는 금지어를 빠뜨리지 않고 등록하는 것이 중요하다. concept: ~금지어 [ 마약 폭력 도박 ]Topic: ~금기 [ ~금지어 ]u: ( _*1 _0?~금지어) ^keep() If (!$Taboo) {저는 잘 모르겠는데요. $Taboo = 1 } else If ($Taboo = 3) {당신과는 더 이상 대화하지 않겠어요. $Taboo = $Taboo + 1 } ..
사용자가 사랑, 연애, 결혼 등에 관해 얘기를 할 때 어떻게 할 것이냐는 것은 전적으로 챗봇 개발자의 정책에 달려있다. 예를 들어 챗봇을 청소년으로 개발하고 있는지, 성인으로 개발하고 있는지에 따라 다르고 또 그런 대화에 응할 것인지 거절할 것인 지도 개발자가 선택할 문제이다. 기술적으로는 다른 주제와 동일하게 취급할 수 있는데, 이 주제를 특별 취급하겠다면 관련되는 유의어를 빠짐없이 모으는 것이 중요할 것이다.예를 들어, 챗봇을 20대 후반의 직장인으로 개발하고, 사랑에 관한 대화는 아래와 같이 3단계로 수위조절을 하기로 했다고 가정해 보자. concept: ~사랑1 [ 사랑, 아가페, 플라토닉_러브, 내리사랑 ]concept: ~사랑2 [ 그린라이트, 썸, 데이트, 프로포즈, 로맨틱, 연애 ]conc..
사용자의 질문에 대한 답을 스크립트 내에서 예상답변으로 준비할 수도 있지만 지식베이스에 지식으로 구축해 놓고 필요할 때 검색해서 답할 수도 있다. 어떤 방법을 선택할 것인가는 작성자의 판단이지만 보통 음악, 영화, 책, 스포츠, 가수, 배우, 작가, 운동선수 등 그 수가 방대할 때는 스크립트 내에 준비하기 보다 지식베이스로 구축하는 것이 반복 작업도 줄이고 코드를 읽기에도 더 효율적이다.이제 지식베이스를 이용하는 대표적인 상황을 알아 보기로 하자. 먼저 사용자가 챗봇에게 개인 신상을 묻는 경우이다. A. #! 너 학교에 다니니??: ( > ) if(^query(direct_svo 나 다니다 _0)) {예.} else {아니오.} 사람은 누군가를 알게 되면 점점 더 개인 신상에 대해 궁금해지게 마련이다. ..
사람 간의 대화에서 공유하는 지식이 비슷해야 말이 통하는 것처럼 챗봇도 사용자와 자연스런 대화를 하기 위해서는 사람만큼의 폭 넓은 배경지식을 가져야 한다. 대화는 사적인 영역뿐만 아니라 세상에 관한 내용도 포함하기 때문에 가족이나 친구, 사는 동네 등의 신상 명세에서부터 영화, 음악, 요리, 스포츠, 여행, 취미 등을 포함하여 역사, 지리, 경제, 사회 그리고 세세하게는 주요 건물의 이름, 관광지, 교통수단에 이르기까지 세상에 관한 지식을 폭 넓게 알고 있는 것이 필요하다. 많이 알면 알수록 대화가 자연스러워지겠으나 모든 것을 다 알게 만드는 데에는 시간이 많이 걸리므로 챗봇의 개발자가 잘 알고 있고 관심이 많은 분야를 선택해 지식을 구축해 가면 될 것이다.[1] 이 장에서는 K-POP이라는 분야를 예로..
대화 스크립트를 작성하는 시점에는 사용자의 반응을 다각도로 예상하여 그에 대한 답변을 충분히 작성하려 한다. 그러나 그렇게 준비하더라도 사용자의 모든 질문에 대응할 수 있는 룰을 작성하는 것은 매우 어렵다. 시간이 많이 필요하다는 점 뿐만 아니라 사용자의 반응이 예상대로 나오지 않을 수 있기 때문이다. 작성자는 이런 경우 챗봇이 어떤 행동을 취해야 할 것인가에 관해 미리 준비해 놓아야 한다. 매칭되는 룰이 없는 경우 챗봇의 취할 수 있는 행동은, A. 아무런 대답없이 계속 대기하기 (사용자의 추가 입력 대기)B. 임의로 새로운 화제 제시하기C. 얼버무리며 화제 전환하기 가 가능할 것이다. 이 중에서 A의 상태가 최악의 상태로, 사용자는 자신의 질문이나 대답에 아무런 반응이 없는 것을 보고 대화 해 볼만한..
대화를 할 때 상대방의 질문에 맞춰 차근차근 대답을 하는 경우도 있지만, 대화의 앞뒤 문맥에 맞춰 상대방의 질문을 미리 예상하고 앞서 답변을 하는 경우도 있다. 위의 예에서 첫 번째 예문은 상대방의 질문에 맟춰 하나씩 답변하는 경우이다. Bot > 그럼 콘서트에도 가 본 적 있겠네요? User> 예. Bot > 누구 콘서트에 가 봤어요? User> 투애니원 콘서트에 가 보았어요 그러나 두 번째 예문처럼 상대방의 질문 의도를 미리 파악하고 답변을 한데 묶어 대답할 수도 있다. Bot > 그럼 콘서트에도 가 본 적 있겠네요?User> 예. 투애니원 콘서트에 가 보았어요 즉 “예”라는 답변으로 일단 상대방의 질문에 긍정을 한 후, 연이어 상대방의 질문 의도인 누구 콘서트에 갔었는가에 대한 답변을 한 번에 하는..
되묻기란 질문에 대답을 한 후 동일한 내용으로 상대방에게 질문하는 것을 말한다. 예를 들면, 그런데, 되묻는 질문을 한 템포 뒤에 할 수도 있다. 이러한 되묻기는 일상 대화에서 흔히 볼 수 있는 질문인데, 다음과 같이 3가지 상황으로 나눠볼 수 있다. ① 답변과 되묻기를 한 번에 하기② 답변 한 후 다음 번 말할차례에서 되묻기③ 답하기 전에 되묻고 다시 최초 질문에 답하기 답을 한 후에 되묻기를 하는 경우는 스크립트를 작성하기 쉽다. 순서대로 주고 받는 대화이므로 그에 맞게 예상응답을 작성해 놓으면 되기 때문이다. 대화예제 A가 답변과 되묻기를 한꺼번에 하는 경우인데 이를 위한 스크립트는 다음과 같다. t: 그럼, 좋아하는 가수가 있어요?a: ( ~2NE1 ~당신 ) 저는 악동뮤지션을 좋아해요. 대화예제..
질문을 받으면 그 질문에 답변하는 대신 왜 그 질문을 하는지 먼저 물어 보고 그 후에 답을 하는 경우가 있다. 이때 제대로 답을 못하면 최초 질문에 대한 답도 기대하기 어렵다. 따라서 챗봇의 질문을 작성할 때는 사용자가 “왜” 라고 질문하는 경우에 대비해야 한다.이 대비에는 두 가지가 필요한 데 첫째는 예상응답 목록에 "왜"를 추가해야 하는 것이고 둘째는 사용자가 "왜"라고 질문을 하고 챗봇이 그에 대해 답변을 했다면, 그 후 다시 대화를 원점으로 되돌려서 최초 질문에 대한 사용자의 답을 기다려야 한다는 점이다. 아래의 예문을 보자. 위의 예문처럼 대화를 진행시키기 위해서는 왜 물어보냐는 질문에 대답을 한 후 최초의 질문으로 돌아와서 사용자의 답변을 기다리도록 대화 컨트롤을 재설정해야 한다. 이럴 때 사..
챗봇은 같은 말을 반복하지 않도록 작성할 수 있지만, 사용자는 같은 질문을 또 할 수 있다. 잊었을 수도 있고 챗봇이 어떻게 나오나 일부러 반복해서 물어볼 수도 있다. 이때 “아까 말했었는데… 잊었나 봐요. 제가 좋아하는 노래는 I love you에요” 라고 답변한다면 단순히 “제가 좋아하는 노래는 I love you에요” 라고 답하는 것보다는 좀 더 지능이 있다고 느끼게 될 것이다. 이렇게 답하기 위해서는 첫째 사용자의 질문이 반복이라는 것을 알아채야 하고 둘째 “아까 말했었는데…” 와 같은 문구를 오직 반복 질문일 때만 출력하도록 통제할 수 있어야 한다.먼저, 상대방이 중복해서 질문할 만한 내용을 찾아 다음과 같이 장기기억 변수에 값을 세팅해 놓자. A. t: MyFavorite () 저는 I lov..
한 토픽 내에 복수 개의 말걸기가 있을 경우 가장 위에서부터 차례로 출력되기 시작하며, 응답하기나 예상응답 등도 맨 위에서부터 차례로 매칭 여부를 점검하며 진행된다. 그리고 출력에 성공한 룰은 재사용이 되지 않도록 자동으로 ‘사용되었음’ 표시가 된다. 즉 챗봇이 한 번 한 말은 사용자에게 반복해서 말하지 않도록 CS가 관리한다. 만약 그 룰이 필요하다면 명시적으로 호출하여 재사용할 수 있다. 이 대원칙 하에 Label과 reuse[1] 함수를 사용하여 다음과 같은 형식으로 스크립트를 작성하면 같은 말을 되풀이 하는 것도 방지하고 코드 효율성도 높일 수 있게 된다 A. t: FaveSong ( ) 저는 I love you를 좋아해요.B. u: (좋아하는 노래가 뭐에요) reuse(FaveSong) 룰A는 ..
- Total
- Today
- Yesterday
- chatscript chatbot 챗봇 한국어챗봇 ai 인공지능
- 챗봇개발 채팅로봇 한국챗봇
- 한글챗봇 우리말챗봇 인공지능챗봇 ai챗봇
- 한국어챗봇
- 소프트봇 채터봇
- Chatscript AI 인공지능 챗봇 chatbot
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |