티스토리 뷰
마약이나 폭력 등 금지어를 입력할 경우는 단호하게 대응하는 것이 좋다. 예를 들어 첫번째 때는 부드럽게 경고를 하되 2~3회 반복되면 더 이상 대화를 하지 않겠다고 하는 등 강력하게 대응하는 것이 좋다. 그리고 이런 악담에 올바르게 대응하기 위해서는 금지어를 빠뜨리지 않고 등록하는 것이 중요하다.
concept: ~금지어 [ 마약 폭력 도박 ]
Topic: ~금기 [ ~금지어 ]
u: ( _*1 _0?~금지어) ^keep()
If (!$Taboo) {저는 잘 모르겠는데요. $Taboo = 1 }
else If ($Taboo < 3) {다른 얘기하시죠. $Taboo = $Taboo + 1 }
else If ($Taboo >= 3) {당신과는 더 이상 대화하지 않겠어요. $Taboo = $Taboo + 1 }
사용자가 “마약”이라고 입력했다면 위에 선언한 ~금기 토픽이 활성화 되고 사용자가 입력한 단어를 캐치한다. 그런 후 그 단어가 ~금지어 컨셉에 포함되는지 확인한다. 만약 포함되었다면 룰 매칭이 되었으므로 출력문을 수행하게 되는데 그 전에 조건식을 만나게 되어 먼저 조건을 테스트 한다. 첫번째 IF문의 조건은 $Taboo변수가 정의되어 있지 않다면 실행하라는 뜻이므로 사용자가 “마약”이라는 단어를 처음 입력한 경우에 해당한다. “저는 잘 모르겠는데요”를 출력한 후, $Taboo 변수에 1을 할당한다. 사용자가 이 단어를 계속 입력할 수 있으므로 이 룰에는 keep() 함수를 적용하였다. 룰이 시행되었더라도 재사용 가능하도록 한 것이다.
만약, 이 사용자가 대화를 끊고 나간 후에 다음 번에 같은 로그인 네임으로 접속을 하면, 관리자가 :reset을 하지 않는 한, 이 $Taboo의 값은 계속 유지된다. (2절에서 설명한 것처럼 장기기억 메모리) 따라서 다시 금지어를 입력하면 지난 번에 말한 횟수에 더 해 카운팅이 된다.
위의 예시는 형식을 보여주는데 초점을 맞춘 것이고 실제 사용하기 위해서는 좀 더 다듬을 필요가 있다. 사용자가 단순히 “마약” 이라고만 입력하지는 않을 수 있을 것이다. 또한 출력문도 좀 더 강력한 문구로 수정할 수 있을 것이다.
'4장. 응용 대화 가르치기' 카테고리의 다른 글
13. 사랑, 연애, 결혼 등을 제안해 올 때 (0) | 2016.05.26 |
---|---|
12. 답변하기 위해 지식베이스를 이용하기 (0) | 2016.05.25 |
11. 지식베이스 구축하기 (1) | 2016.05.24 |
10. 어물쩍 대답하기 (얼버무리기) (0) | 2016.05.23 |
9. "예/아니오"와 한 데 묶어 답변하는 경우 (0) | 2016.05.21 |
- Total
- Today
- Yesterday
- 챗봇개발 채팅로봇 한국챗봇
- chatscript chatbot 챗봇 한국어챗봇 ai 인공지능
- 한국어챗봇
- Chatscript AI 인공지능 챗봇 chatbot
- 한글챗봇 우리말챗봇 인공지능챗봇 ai챗봇
- 소프트봇 채터봇
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |