임베딩 2

[Pytorch] 임베딩 (2) / GloVe임베딩 + CNN 을 활용한 뉴스 카테고리 분류기 구현

파이토치로 배우는 자연어처리 책을 참고하여 작성했습니다. 이전 포스팅에선 임베딩의 개념에 대해서 정리해보았다. 이번 포스팅에선 사전 훈련된 임베딩 GloVe와 CNN모델을 활용하여 뉴스 카테고리를 분류하는 모델을 구축하는 코드를 리뷰해보고자 한다. 코드리뷰는 참고한 책에서 추가 보충 설명을 달아놓고 이해를 높이기 위함이므로 전체 코드를 보고 싶다면 코드 원본 출처에서 보도록 하자. ▶ 분석 개요 분석에 사용할 데이터는 AG 뉴스 데이터 셋으로 2005년에 수집한 뉴스 기사 모음이다. 해당 분석에서는 네가지 범주로 균등하게 분할된 뉴스 기사 12만개에서 뉴스 제목을 대상으로 카테고리를 예측하는 분류모델을 만들었다. ▶ 분석 과정 분석과정은 다음 그림과 같다. - 우선 텍스트를 정수로 매핑하기 위해 voca..

임베딩 (1) / 임베딩 개념

파이토치로 배우는 자연어처리 책을 참고하여 작성했습니다. 참고 강의- 단어 임베딩 ▶ 임베딩(embedding)의 정의와 필요성 컴퓨터가 텍스트를 인식 처리할 수 있도록 단어나 문장을 벡터로 바꾼 것 혹은 그 과정을 임베딩이라고 한다. 임베딩 방식에는 전통적으로 사용해오던 원핫벡터, 카운트 기반의 TF-idf방식 등이 있다. 카운트 기반의 방식은 중요 내용이나 의미가 벡터의 여러차원에 표현되기 때문에 분산적 표현이라고도 부른다. 분산표현은 문서에 존재하는 단어들 보다 낮은 차원의 밀집벡터로 나타내지만 그럼에도 여러 차원에 비슷한 정보를 중복해 인코딩한 벡터를 만들기 때문에 통계적 장점을 공유하지 못한다. 또한 카운트 기반 표현은 차원이 수백만개로 늘어날 경우 상당히 고차원의 입력값 생성될 수 있는데, 이..