[자연어처리] Corpus-based Chatbot

KIMHYUNSU·2025년 4월 24일

NLP

목록 보기
3/22
post-thumbnail

Corpus-based Chatbot


Corpus and corpora

  • corpus(코퍼스):
    • NLP 분석용 특수 목적 텍스트 데이터 뭉치임
    • 말뭉치
  • corpora:
    • corpus 여러 개
    • 일반, 특정 분야(금융/의료 등), 번역된 거(병렬 코퍼스), 실제 대화(구어체/대화 코퍼스) 등등 있음
  • 밑에 그림은 대화 예시, 이런 거 모아서 대화 코퍼스 만듦

Corpus-based Chatbot

이건 사람이 규칙 안 만듦. 대신 실제 사람들 대화 데이터 엄청 학습해서 입력->출력 패턴을 지가 배움.

  • 장점:
    • 규칙 안 짜도 됨.
    • 시스템 구조나 데이터 특징에 집중 가능
    • 요즘 많이 씀.
  • 단점:
    • 데이터 많이 필요
    • 수억 단어 필요할 수도 있음
  • 작동 원리:
    • 학습 데이터로 패턴 익혀서, 처음 보는 입력 들어와도 알아서 적절히 대답
    • 그림은 '안녕' -> '어 안녕 잘 지냄?' 같은 입력/출력 쌍 보여줌

어떤 데이터셋?

  • 실제 사람들 대화 녹음 -> 텍스트
  • 영화 대본.
  • 트위터 글
  • 돈 주고 사람들한테 대화 만들라고 시켜서 모은 거 (크라우드소싱, 예: Topical-Chatbot).

Non-dialogue corpora

꼭 대화 데이터만 쓰는 건 아님.
뉴스나 위키백과 같은 것도 써서 챗봇 응답 학습 가능..

왜 쓰냐면?

  • 챗봇이 그냥 대답만 하는 게 아니라 사실 정보나 이야기도 할 수 있게 하려고 임 (외부 지식 활용). 응답이 더 유익해짐.
  • 특히 위키백과 -> 정보 활용 용이함..
    • 팩트 기반 응답 가능해짐.

Using human utterance

  • 유저가 챗봇이랑 한 말 자체도 학습 데이터로 또 쓸 수 있음.
  • 장점:
    • 챗봇이 점점 똑똑해짐
    • 근데 조심해야 됨: 유저 말에 개인정보(PII) 있을 수 있음. 프라이버시 문제 생김.
    • personally identifiable information
  • 해결책:
    • 학습 전에 개인정보 꼭 지워야 함
    • 어떻게 지우냐면: 개체명 인식(NER)으로 이름/회사/장소 같은 거 찾아내고, Masking으로 *** 처리 함.
    • named entity recognition

종류 및 한계

  • 코퍼스 기반 챗봇 크게 두 종류:
    • 정보 검색(IR) 기반: 데이터 뒤져서 제일 비슷한 답 찾아옴.
    • 기계 학습 시퀀스 변환 기반: 입력 문장을 응답 문장으로 바꾸는 법을 배움 (인코더-디코더 같은 거 씀).
  • 단점: 대부분 대화 맥락(Context) 파악 잘 못함
    • 그래서 주로 유저가 바로 전에 한 말 듣고, 그거에 맞는 단일 응답 하나 잘 만드는 거에만 신경 씀

맥락 인식 잘 못함

  • 그래서 완전한 대화 시스템이라기보단 그냥 '응답 생성기'나 'QA 시스템' 같음
  • 딱 한 번 대답 잘하는 거에만 집중하고, 전체적인 대화 목표 같은 건 신경 안 쓰는 경향이 있음.

0개의 댓글