메신저로 문자 대화를 하는 경우 문자 이모티콘을 사용하는 경우가 있다. 예를 들면 :-(, :-), OTL 등 키보드 자판을 이용하여 말로 하기 곤란한 답을 간단히 대신하는 경우이다. 챗봇이 이런 이모티콘을 알아듣도록 하기 위해서는 LiveData 폴더에 있는 texting.txt 파일에 이 내용을 등록해 주면 된다. 이 파일을 열어보면 널리 쓰이는 문자 이모티콘 7개가 이미 등록되어 있는 것을 볼 수 있을 것이다. 이곳에 추가해 주면 되는데 등록할 때 그 이모티콘이 슬픔을 뜻하는 것인지, 기쁨을 뜻하는 것인지 등에 따라 옆에 적합한 컨셉을 함께 적어 주면 된다. 맨 마지막 줄의 신규등록은 사용자가 추가한 것이라 가정을 한 것이다. LiveData폴더 아래의 texting.txt 파일에 위의 내용을 입력..
대화의 문맥상 상대방이 투애니원의 "내가 제일 잘 나가"를 언급할 것이 예상된다고 가정해 보자. 그럼 이때 어떻게 하면 "내가 제일 잘 나가"를 4개 어절의 보통명사가 아니라 한 단어의 고유명사로 취급하게 할 수 있을까? 패턴에 겹 따옴표를 사용하면 된다. u: (“내가 제일 잘 나가” 들어 봤*) 그럼요, 저도 그 곡을 즐겨 들어요. 사용자가 겹따옴표 안에 들어있는 내용과 동일한 단어와 순서로 입력을 하면 CS는 그 일련의 단어들을 한 단어의 고유명사로 취급한다. 만약 겹 따옴표를 하지 않으면, CS는 저 4개의 어절을 각각 별도의 단어로 취급하여 아주 다른 결과를 내 놓을 수 있게 된다. 따라서 사람 이름, 회사 이름, 브랜드, 특히 영화 제목, 책 제목, 노래 제목 등 두 어절 이상으로 이뤄진 고유..
외래어 또는 외국어를 글로 표기할 때는 원어를 그대로 쓰는 경우도 있고 발음 나는 대로 한글로 쓰는 경우도 있다. 문제는 한글로 쓸 때인데 표준 표기법을 따르지 않고 제각각 다양하게 쓰는 것이 현실이기 때문에 표기가 달라도 동일한 단어로 인식하는 방법이 필요하다. 예를 들어 TV를 한글로 쓸 때는 티비, 티브이, 텔레비전, 텔레비죤, 텔레비, 테레비 등으로 사람마다 다양하게 표기한다.위의 대화 예제에서도 씨엘을 CL, 씨에루(팬들이 부르는 애칭) 등으로 표기할 수 있으므로 이를 컨셉으로 묶어 사용자가 어떻게 표기하든 놓치지 않도록 할 필요가 있다. concept: ~씨엘 [ 씨엘 씨에루 CL 이채린 “투애니원 리더” ]b: (~씨엘 *~2 좋아*) 그렇군요. 저는 박봄이 좀 더 좋아요. 위의 씨엘 컨셉에..
위의 표는 기본형 “좋아하다”의 활용형을 정리한 것이다. 존칭형은 생략하였고 과거완료, 미래완료 등의 완료시제와 완료진행시제도 생략하였으며 접속형도 대표적인 것 일부만 정리하였다. 그나마 “좋아하다”는 규칙 활용을 하기 때문에 쉬운 것이고 “반갑다” 등과 같이 불규칙 활용을 하는 경우는 더욱 변화무쌍하다.문제는 우리말의 모든 동사와 형용사가 위와 같이 활용을 한다는 점인데 이를 어떻게 챗봇에게 가르칠 것이냐 하는 점이다. 다행히 챗봇은 사용자가 입력한 문장을 올바르게 이해하기만 하면 되지만 (출력문은 챗봇의 개발자가 작성하므로) 대화 상대방이 문장의 형태에 따라, 시제에 따라, 뒤따르는 단어의 형태에 따라, 그리고 본인이 생각하는 챗봇과의 위계 질서에 따라 저 활용형 중 하나를 선택하여 입력문에 포함시킬..
사용자가 “좋아하는 노래 있어요?” 라고 질문하는 경우를 생각해 보자. 이때 사용자는 노래대신에 음악, 팜송, K-POP, 곡 등 여러 표현으로 물어볼 수 있다. 즉 비슷한 말을 어떻게 알아 듣게 할 것인가 하는 문제이다. 이 역시 선택매칭([ ], 꺽은괄호) 또는 concept을 이용하여 처리할 수 있다. 선택매칭과 concept의 구문형식에 대해서는 이미 제3장 2절 듣고 말하기에서 설명하였기 때문에 이곳에서는 그 용도와 확장 사용에 대해서만 설명하기로 하겠다.[1] A. u: ( 좋아* [노래, 곡, 음악, 가사, song] 있어요) 예. I love you를 좋아해요 B. concept: ~노래 [노래, 곡, 음악, 가사, Song] u: ( 좋아* ~노래 있어요) 예. I love you를 좋아..
챗봇의 질문에 사용자가 늘 기대한 형식대로 답변을 하는 것은 아니다. 예를 들어 “좋아하는 가수 있어요?”라고 물었을 때 사용자의 답변은 크게 아래와 같이 두 가지가 가능하다. A. 저는 2NE1을 좋아해요B. 저는 2NE1을 안 좋아해요 위 답변의 어려운 점은 구문 형식은 흡사한데 뜻은 정반대라는 점이다. 우선 예제 A를 위한 패턴을 작성해 보자. C. u: ( ~2NE1 좋아* ) 이 패턴은 “저는 2NE1을 좋아해요”, “저는 2NE1이 좋아요” 등의 입력문과 매칭될 수 있다. 이제 사용자가 “무척 좋아해요”, “아주 많이 좋아해요” 등의 강조형으로 입력할 경우를 대비하여 패턴을 수정하면, D. u: ( ~2NE1 *~2 좋아* ) 그런데 이 패턴은 예제 B와도 매칭이 된다는 점이 문제이다. 이런 ..
챗봇이 예-아니오 형식의 질문을 한다면 사용자의 가능한 응답은 예, 아니오, 왜 물어요? 정도가 되겠지만 챗봇이 열린 질문을 한다면 그 때는 대비해야 할 사용자 예상 응답이 무척 많게 된다. 예를 들어 “라면 좋아하세요?”라는 질문에는 예, 아니오, 왜 물어요? 정도의 사용자 답변이 가능하지만 “좋아하는 요리가 뭐에요?”라는 열린 질문에 대해서는 수 십 개에서 수 백 개의 사용자 답변이 가능할 것이다. 더구나 각각의 답변이 다시 꼬리에 꼬리를 물며 대화가 이어질 수도 있기 때문에 각 상황에 맞는 답변을 준비하는 것은 내용상으로도 쉽지 않을 뿐만 아니라 형식상으로도 복잡할 수 있다. 위의 대화 예제는 이러한 열린 질문을 약식으로 정리해 본 것이다. 예제에서 보는 것처럼 열린 질문을 할 경우 그 답변은 크게..
사용자가 챗봇에게 “좋아하는 노래 있어요?”라고 묻는 상황을 가정해 보자. 이때 사용자는 아래와 같이 물어볼 수 있다. A. 좋아하는 노래 있어요?B. 노래 좋아하는 거 있어요? 어순이 중요한 영어에서도 구어의 경우 어순을 무시하는 경우가 많다고 하는데, 한국어와 같이 어순이 중요하지 않은 언어의 경우는 어순이 더더욱 무시될 수 있다. 이런 경우에는 순서에 상관없이 패턴과 사용자 입력문을 비교하는 것이 필요하다. 이때 사용하는 명령어가 >이다. C. u: (>) 예. I love you를 좋아해요. 패턴에 > 명령어가 있으면 CS엔진은 단어의 나열된 순서에 상관없이 그 단어들이 사용자 입력문에 나타나는가를 조사하여 매칭여부를 판단한다. 이제 룰C가 어떻게 사용자 입력문 B와 매칭되는지 확인해 보기로 하자..
챗봇이 K-POP을 좋아하냐고 물은 후, 사용자의 대답을 듣고 그에 적합한 응대를 함으로써 대화를 이어 나가는 예제이다. 이와 같은 대화가 가능하기 위해서는 첫째 사용자의 말을 “잘” 들어야 하며 둘째 “들은” 말에 대응하는 규칙이 준비되어 있어야 한다 사용자의 말을 잘 듣는다는 것은, 사용자가 이렇게 말할 것이다라고 예상하여 그 말과 매칭이 가능하도록 패턴을 준비해 놓는 것을 뜻한다. 위의 대화를 위한 스크립트를 보면, 로 작성되어 있는데 먼저 룰의 형식을 다시 한 번 복습해 보자. 이 룰은 사용자 입력문(u:)이 패턴(괄호 안의 내용)과 일치하면 오른쪽의 출력문을 출력하라는 룰이다. 이런 형식의 룰을 응답하기(responder) 룰이라고 부른다. 즉 사용자의 말에, 그것이 의문문이든 평서문이든 관계없..
사용자가 말을 걸기 전에 챗봇이 먼저 사용자에게 말을 걸 수 있다. 또는 챗봇에게 대화의 컨트롤이 왔을 때 사용자에게 새로운 화제를 제시할 수 있다. 이때 사용하는 규칙이 말걸기[1] (gambit) 규칙이다.챗봇에게 대화의 컨트롤이 오는 경우는 다음과 같은 경우이다. 사용자가 입력을 하면 챗봇에게 말할 차례가 온 것인데 이때, 챗봇이 하는 최우선 업무는 사용자 입력문에 일치하는 규칙을 찾는 일이다. 찾으면 그 규칙을 시행하게 되고 따라서 이 경우 대화의 컨트롤은 사용자가 갖고 있다. 사용자의 입력문에 챗봇이 대응하여야 하기 때문이다. 대신 사용자는 자연스런 대화를 하고 있다는 느낌을 받게 된다. 그런데 사용자 입력문에 해당하는 규칙을 발견하지 못한 경우에는 챗봇이 어떤 말이든 할 수 있는 상태가 된다...
- 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 |