많은 데이터로 실험해보기
데이터 살펴보기
더 많은 학습 데이터로 모델을 학습한다.
데이터 원본 링크: https://www.kaggle.com/jiriroz/qa-jokes
총 3만 8천개의 문장
데이터 불러오기, 전처리
1 | import os |
한국어와 다르게 영어는 띄어쓰기로 단어가 잘 구분되기 때문에 형태소 분석은 생략한다. 형태소 분석을 하지 않아도 띄어쓰기로 split하면 단어 단위로 잘 짤리기 때문이다. 하지만 영어 단어를 원형으로 만들어 주는 lemmatization이나 the나 a같은 관사를 제거하는 stopword 제거는 해준다.
1 | from nltk.tokenize import word_tokenize |
1 | [['did', |
대문자를 모두 소문자로 바꿔주고 토큰화를 한 다음 띄어쓰기로 출력해주었다.
1 | lemmatizer = WordNetLemmatizer() |
1 | **[['hear', 'native', 'american', 'man', 'drank', '200', 'cup', 'tea', '?'], |
lemmatization하고 불용어를 제거하고 난 다음의 결과물. 이제 모든 전처리가 끝났으니 TaggedDocument로 변형시키고 나서 doc2vec에 넣어준다.
1 | # 리스트에서 각 문장부분 토큰화 |
doc2vec 모델화
doc2vec을 훈련하기 전에 모델에 변형을 주었다. for문도 빼고 파라미터도 변경해 주었다.
1 | # make model |
1 | # 테스트하는 문장도 같은 전처리를 해준다. |
1 | # 성능 측정 |
1 | 정확도 = 0.8626303274190598 % (33012/38269 ) |
- Local path :C:\Users\jmj30\Dropbox\카메라 업로드\Documentation\2022\2022 상반기\휴먼교육센터\mj_chatbot_prac\faq_chatbot
- Reference: https://cholol.tistory.com/466