단어 가방(Bag-Of-Words) 모델

박경민·2023년 3월 9일
0

[ChatBot Project]

목록 보기
3/11

이메일에 자연어처리를 적용하는 방법

Yes/No 모델 생성하기

수많은 0으로 정의된 벡터. 2만개.

2만개는 평균을 나타낸다. 영어에는 171,476 단어 정도가 존재하고, 구글에서 제안하는 성인 기준 사용 단어는 2만 단어 정도가 된다. 평균적으로는 3천 단어가 95%를 차지하게 된다. 따라서 2만개 정도로 벡터를 잡으면 거의 모든 단어의 커버가 가능하다.

일곱 번째 위치는 if 일 수 있다. (항상)
badminton, table 도 항상 저 위치일 수 있다.

처음 두 공간은 SOS, EOS 이고, 마지막 공간은 Special Words(고려하지 않은 나머지 모든 단어) 이다.

이제 이메일의 텍스트를 BOW 에 던지기만 하면 된다.

  • 각 벡터마다 특정 단어를 정하고
  • 주어진 문장의 단어를 해당 위치에 던진다
  • 같은 단어가 있다면 count+1 해준다

이제 우리의 목표는 이 벡터를 가지고 Yes/No 답장을 보내는 것이다.

데이터 훈련을 통해 진행한다. (이전에 답장한 데이터)

  1. BOW 를 사용하여 다음 훈련 데이터를 벡터로 변환시킨다.(2만개의 단어로 구성된 벡터)

  1. 로지스틱 회귀 모델 등을 구축하고, Yes/No 답변의 경계를 정한다.


이는 NLP에 속한다.

  1. 그 다음 실제 메일을 정하고 어디에 들어가는지 분류한다.

회귀 모델이 아닌 다음과 같은 신경망에 제공할 수도 있다.


이는 DNLP에 속한다.

profile
Mathematics, Algorithm, and IDEA for AI research🦖

0개의 댓글