대화를 올바르게 이어나가기 위해서는 앞선 대화 내용을 기억해야 하는 경우가 많다. 예를 들어 “이번 일요일에 등산을 가요” 라고 했는데 잠시 후에 “일요일에 뭐 하세요” 라고 묻는다면 상대방은 자신의 말에 주의를 기울여 주지 않았음을 알게 될 것이다. 사람 간의 대화에서 이런 일이 잘 발생하지 않는 것은 앞서 나눈 대화 내용을 서로 기억하고 있기 때문이다. 마찬가지로 챗봇도 같은 질문을 반복하지 않아야 하는데 이를 위해 첫째, 후속 대화의 전제가 되는 사용자의 발언은 장기 기억장치에 저장해 두어야 하며, 둘째 사용자에게 질문할 때는 질문하기 전에 이미 주고 받은 내용인지 확인해야 한다. 위에 제시한 대화 예제는 모를 때만 질문하도록, 그러니까 필요한 정보를 이미 얻었으면 묻지 않도록 챗봇의 질문에 조건을..
대화의 화제거리로 흔히 쓰이는 영화, 만화, 소설, 음악, 스포츠 등은 지식과 경험이라는 두 개의 축을 가지고 대화를 이어 나갈 수 있는 소재이다. 예를 들면 매트릭스라는 영화를 안다는 지식 측면과 매트릭스를 보았다라는 경험 측면의 두 축을 바탕으로 서로 묻고 답하고 교감할 수 있다. 위의 대화 예제도 일상 대화에서처럼 경험을 묻고 있는데 이렇게 경험을 물었을 때는 사용자의 답변을 잘 기억해 두어야 향후 이어지는 대화에서 문맥에 맞는 질문이나 답을 할 수 있다.앞 절에서 설명한 매치변수가 한 룰 내에서 유효한 단기기억이라면 이번 절에서는 룰과 룰 사이에 공유할 수 있는 장기기억에 대해 알아보기로 하자. 이는 작성자 변수라고도 하는데 작성자가 만들고 작성자가 삭제할 수 있기 때문이며 $(달러 표시)로 시작..
스크립트를 작성하는 시점에는 사용자가 씨엘을 좋아한다고 할 지 박봄을 좋아한다고 할지 알 수 없다. 따라서 출력문을 위와 같이 만들려면, 사용자가 말한 것을 실시간으로 저장해서 사용해야 한다. 먼저 패턴을 작성해 보면, A. u: ( ~씨엘 *~2 좋아*) 위의 룰은 “씨엘을 좋아해요”, “저는 씨엘을 가장 많이 좋아해요”, “CL이 좋아” 등을 매칭시킬 수 있다. 이제 이 룰에서 사용자가 말하는 씨엘을 변수로 저장해 보자. 이를 위해 _(under bar)명령어를 사용한다. B. u: ( _~씨엘 *~2 좋아*) 이렇게 컨셉 앞에 _(under bar)를 붙이면 사용자가 컨셉 ~씨엘에 포함되어 있는 여러 단어 중에 한 단어를 입력할 경우 그 단어를 임시 변수에 저장하도록 한다. 임시 변수라는 것은 이 ..
시간, 날짜, 요일, 연도 등에 관한 값은 시스템이 직접 관리하고 있기 때문에 필요할 경우 시스템에 물어보면 된다. u: ( 몇 시에요 ) 지금 %hour : %minute 이에요 u: ( 몇 시에요 ) %time 에요 u: ( 오늘 * [요일 며칠] ) 오늘은 %monthname %day %date 입니다. 그런데 시스템 변수는 숫자 값만 주기 때문에 위의 출력문은 다음과 같이 출력된다. 지금 15: 28 이에요. 15:28 에요 오늘은 April 15 Thursday 입니다 위의 출력문을 “15시 28분”, “Thursday입니다” 등과 같이 시간 단위를 붙이고 띄어쓰기도 가다듬기 위해 시스템 변수에 시간 단위나 종결 조사를 붙여 쓰면 오류가 난다. “%hour시 %minute분” 이라고 쓰면, CS..
자연어 대화라고 해서 문자만 사용하는 것이 아니라 숫자도 많이 사용하며 경우에 따라 즉석에서 간단한 계산을 해야 하는 때도 있다. 우리의 일상 대화를 보면 나이, 키, 몸무게, 걸음 수, 수면시간, 집주소, 전화번호, 버스번호 등 숫자로 표현되는 단어가 많으며 특히 가격이나 할인폭 등은 대화하는 도중에 실시간으로 계산을 해야 하기도 한다. 위에 제시한 대화 예제는 나이를 묻고 답하는 상황인데 나이는 숫자이지만 문자숫자(text number)로 많이 표현하는 개념이라 연산을 하기 위해서는 먼저 아라비아 숫자로 변환하는 것이 필요하다. 예를 들어 사용자가 아래 중 어느 하나로 입력하더라도 “17”이라는 숫자로 캐치해 낼 수 있어야 한다. A. 열일곱 살 이에요B. 십칠 세 에요C. 17살 이에요 첫째로 생각..
“단언컨대”는 “단언컨데”로 자주 쓰이는, 맞춤법이 빈번하게 틀리는 단어이다. 이런 경우 자주 틀리는 부분에 와일드카드를 사용함으로써 사용자 입력을 놓치지 않을 수 있다. 즉 u: (단언* 한류 그룹) 예. 정말 독창적인 그룹이지요. 이런 미봉책이 아니라 보다 근본적인 방법으로는 replace 명령어로 보조 사전을 만들어 매칭을 시도하기 전에 먼저 사용자가 틀리게 입력한 문장을 교정하는 것이다. replace: 단언컨데 단언컨대replace: 단언건데 단언컨대 이렇게 replace를 이용해서 만들어진 보조사전은 TOPIC폴더 내에 private1.txt로 저장되고 반영된다.[1] 맞춤법이 흔히 틀리는 단어로는 역할, 오랜만이다, 설거지, 하마터면 등 많은 단어가 있는데 특히 채팅 상황에서는 오타가 흔히 ..
메신저로 문자 대화를 하는 경우 문자 이모티콘을 사용하는 경우가 있다. 예를 들면 :-(, :-), OTL 등 키보드 자판을 이용하여 말로 하기 곤란한 답을 간단히 대신하는 경우이다. 챗봇이 이런 이모티콘을 알아듣도록 하기 위해서는 LiveData 폴더에 있는 texting.txt 파일에 이 내용을 등록해 주면 된다. 이 파일을 열어보면 널리 쓰이는 문자 이모티콘 7개가 이미 등록되어 있는 것을 볼 수 있을 것이다. 이곳에 추가해 주면 되는데 등록할 때 그 이모티콘이 슬픔을 뜻하는 것인지, 기쁨을 뜻하는 것인지 등에 따라 옆에 적합한 컨셉을 함께 적어 주면 된다. 맨 마지막 줄의 신규등록은 사용자가 추가한 것이라 가정을 한 것이다. LiveData폴더 아래의 texting.txt 파일에 위의 내용을 입력..
대화의 문맥상 상대방이 투애니원의 "내가 제일 잘 나가"를 언급할 것이 예상된다고 가정해 보자. 그럼 이때 어떻게 하면 "내가 제일 잘 나가"를 4개 어절의 보통명사가 아니라 한 단어의 고유명사로 취급하게 할 수 있을까? 패턴에 겹 따옴표를 사용하면 된다. u: (“내가 제일 잘 나가” 들어 봤*) 그럼요, 저도 그 곡을 즐겨 들어요. 사용자가 겹따옴표 안에 들어있는 내용과 동일한 단어와 순서로 입력을 하면 CS는 그 일련의 단어들을 한 단어의 고유명사로 취급한다. 만약 겹 따옴표를 하지 않으면, CS는 저 4개의 어절을 각각 별도의 단어로 취급하여 아주 다른 결과를 내 놓을 수 있게 된다. 따라서 사람 이름, 회사 이름, 브랜드, 특히 영화 제목, 책 제목, 노래 제목 등 두 어절 이상으로 이뤄진 고유..
외래어 또는 외국어를 글로 표기할 때는 원어를 그대로 쓰는 경우도 있고 발음 나는 대로 한글로 쓰는 경우도 있다. 문제는 한글로 쓸 때인데 표준 표기법을 따르지 않고 제각각 다양하게 쓰는 것이 현실이기 때문에 표기가 달라도 동일한 단어로 인식하는 방법이 필요하다. 예를 들어 TV를 한글로 쓸 때는 티비, 티브이, 텔레비전, 텔레비죤, 텔레비, 테레비 등으로 사람마다 다양하게 표기한다.위의 대화 예제에서도 씨엘을 CL, 씨에루(팬들이 부르는 애칭) 등으로 표기할 수 있으므로 이를 컨셉으로 묶어 사용자가 어떻게 표기하든 놓치지 않도록 할 필요가 있다. concept: ~씨엘 [ 씨엘 씨에루 CL 이채린 “투애니원 리더” ]b: (~씨엘 *~2 좋아*) 그렇군요. 저는 박봄이 좀 더 좋아요. 위의 씨엘 컨셉에..
위의 표는 기본형 “좋아하다”의 활용형을 정리한 것이다. 존칭형은 생략하였고 과거완료, 미래완료 등의 완료시제와 완료진행시제도 생략하였으며 접속형도 대표적인 것 일부만 정리하였다. 그나마 “좋아하다”는 규칙 활용을 하기 때문에 쉬운 것이고 “반갑다” 등과 같이 불규칙 활용을 하는 경우는 더욱 변화무쌍하다.문제는 우리말의 모든 동사와 형용사가 위와 같이 활용을 한다는 점인데 이를 어떻게 챗봇에게 가르칠 것이냐 하는 점이다. 다행히 챗봇은 사용자가 입력한 문장을 올바르게 이해하기만 하면 되지만 (출력문은 챗봇의 개발자가 작성하므로) 대화 상대방이 문장의 형태에 따라, 시제에 따라, 뒤따르는 단어의 형태에 따라, 그리고 본인이 생각하는 챗봇과의 위계 질서에 따라 저 활용형 중 하나를 선택하여 입력문에 포함시킬..
- Total
- Today
- Yesterday
- Chatscript AI 인공지능 챗봇 chatbot
- chatscript chatbot 챗봇 한국어챗봇 ai 인공지능
- 챗봇개발 채팅로봇 한국챗봇
- 한글챗봇 우리말챗봇 인공지능챗봇 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 |