[NLP] 챗봇 엔진 : Chatbot Engine

KingU·2022년 6월 6일
0

NLP

목록 보기
12/14
post-thumbnail

챗봇 엔진 : Chatbot Engine



챗봇이란 채팅하는 봇을 의미한다.

챗봇 엔진이란 핵심 기능을 하는 모듈이며
화자의 질문을 이해하고 알맞는 답변을 출력하는 역할을 한다.
=> 자연어 처리 모듈






챗봇 엔진 구조


챗봇을 설계하기 ,
우리가 만들려는 챗봇의 목적과 어떤 도메인 지식을 가지는 챗봇인지 결정해야 한다.

목적과 도메인 지식이 달라질수록 개발 방법론데이터셋이 달라지기에 매우 중요하다.

음식점 예약 주문에 특화된 챗봇 엔진


핵심 기능설명
질문 의도 분류화자의 질문 의도를 파악, 해당 질문을 의도 분류 모델을 통해 의도 클래스 예측
개체명 인식화자의 질문에서 단어 토큰별 개체명 인식, 단어 토큰에 맞는 개체명을 예츧하는 문제
핵심 키워드 추출화자의 질문 의미에서 핵심이 될 만한 단어 토큰 추출,
형태소 분석기를 통해 핵심 키워드가 되는 명사나 동사 추출
답변 검색해당 질문의 의도, 개체명, 핵심 키워드 등을 기반으로 답변을 학습 DB에서 검색
소켓 서버다양한 종류의 챗봇 클라이언트에서 요청하는 질문 처리를 위해 소켓 서버 프로그램 역할
=> 챗봇 엔진 서버 프로그램

순서



  1. 전처리
  • 형태소 분석기
    • 단어 토크(키워드 추출)
    • 불용어 제거
  1. 의도 분석
  2. 개체명 인식
  3. 학습 DB에서 검색
  4. 화자에게 답변 출력

해당 챗봇 엔진에는 2가지 딥러닝 모델 사용

  • 의도 분석
  • 개체명 인식

해당 도메인 지식 domain knowledge에 맞는 데이터셋을 보유할수록
챗봇 엔진 개발에 도움이 된다.

자주 반복되고 빈도가 높은 문제에 대해서는 작은 학습 데이터셋으로
딥러닝 모델보다 품질이 우수한 결과를 보여줌






당신의 시간이 헛되지 않는 글이 되겠습니다.
I'll write something that won't waste your time.

profile
원하는 것을 창조하고 창조한 것을 의미있게 사용하자

0개의 댓글