챗봇이란 채팅하는 봇을 의미한다.
챗봇 엔진이란 핵심 기능을 하는 모듈이며
화자의 질문을 이해하고 알맞는 답변을 출력하는 역할을 한다.
=> 자연어 처리 모듈
챗봇을 설계하기 전,
우리가 만들려는 챗봇의 목적과 어떤 도메인 지식을 가지는 챗봇인지 결정해야 한다.
목적과 도메인 지식이 달라질수록 개발 방법론과 데이터셋이 달라지기에 매우 중요하다.
음식점 예약 주문에 특화된 챗봇 엔진
핵심 기능 | 설명 |
---|---|
질문 의도 분류 | 화자의 질문 의도를 파악, 해당 질문을 의도 분류 모델을 통해 의도 클래스 예측 |
개체명 인식 | 화자의 질문에서 단어 토큰별 개체명 인식, 단어 토큰에 맞는 개체명을 예츧하는 문제 |
핵심 키워드 추출 | 화자의 질문 의미에서 핵심이 될 만한 단어 토큰 추출, 형태소 분석기를 통해 핵심 키워드가 되는 명사나 동사 추출 |
답변 검색 | 해당 질문의 의도, 개체명, 핵심 키워드 등을 기반으로 답변을 학습 DB에서 검색 |
소켓 서버 | 다양한 종류의 챗봇 클라이언트에서 요청하는 질문 처리를 위해 소켓 서버 프로그램 역할 => 챗봇 엔진 서버 프로그램 |
해당 챗봇 엔진에는 2가지 딥러닝 모델 사용
해당 도메인 지식 domain knowledge에 맞는 데이터셋을 보유할수록
챗봇 엔진 개발에 도움이 된다.
자주 반복되고 빈도가 높은 문제에 대해서는 작은 학습 데이터셋으로
딥러닝 모델보다 품질이 우수한 결과를 보여줌
당신의 시간이 헛되지 않는 글이 되겠습니다.
I'll write something that won't waste your time.