본문 바로가기
  • 데이터에 가치를 더하다, 서영석입니다.
공부하는 습관을 들이자/Deep Learning (NLP,LLM)

[딥러닝 자연어처리] 1. 자연어처리란?

by 꿀먹은데이터 2023. 11. 29.

딥러닝을 이용한 자연어처리 입문

#1. 자연어처리란?

 

자연어 (Natural Language)는 우리가 일상 생활에서 사용하는 언어를 의미.

  • 이는 음성 인식, 번역, 감성 분석, 텍스트 분류 작업, 질의 응답 시스템, 챗봇과 같은 자연어 처리 (Natural Language Processing) 작업에 활용. 이러한 작업들은 방대한 데이터 양을 가진 데이터프레임을 간단하게 탐색할 수 있도록 함

판다스 프로파일링 (Pandas-Profiling)은 자연어의 의미를 분석하여 컴퓨터가 처리할 수 있도록 하는 일을 수행.

  • 이 도구는 데이터프레임을 분석하여 데이터의 특성을 요약하고 시각화하여 데이터를 더 잘 이해할 수 있도록 돕는다.
pip install -U pandas-profiling

#스팸 메일 분류 데이터 불러오기

import pandas as pd
import pandas_profiling
data = pd.read_csv('spam.csv', encoding='latin1')

data[:5]

 

#리포트 생성하기

pr=data.profile_report()  # 프로파일링 결과 리포트를 pr에 저장
pr.to_file('./pr_report.html') # pr_report.html 파일로 저장

1) 개요(Overview)

  • 데이터의 전체적인 개요
  • 데이터의 크기, 변수의 수, 결측값(missing value) 비율, 데이터의 종류 등

2) 변수(Variables)

  • 데이터에 존재하는 모든 특성 변수들에 대한 결측값, Unique Values의 개수 등의 통계치를 보여줌
  • 상위 5개의 값에 대해서는 우측에 바 그래프로 시각화

3) 상세사항 확인하기(Toggle details)

  • 빈도값(Common values), 구성(Composition) 탭 제공
  • 수치형 데이터를 위한 상관계수, 결측값에 대한 히트맵, 수치도 등을 지원

머신 러닝 워크플로우(Machine Learning Workflow)

 

1. 수집 (Acquisition)

  • 머신 러닝을 위해서는 학습에 사용할 데이터가 필요
  • 자연어 처리에서는 이러한 데이터를 말뭉치 또는 코퍼스(corpus)라고 함

2. 점검 및 탐색 (Inspection and Exploration)

  • 데이터를 점검하고 탐색하는 단계
  • 데이터의 구조, 노이즈 데이터, 머신 러닝 적용을 위해 데이터를 어떻게 정제할지를 파악
  • 이 단계를 탐색적 데이터 분석(Exploratory Data Analysis, EDA)라고 함

3. 전처리 및 정제 (Preprocessing and Cleaning)

  • 데이터 전처리 과정을 의미
  • 자연어 처리에서는 토큰화, 정제, 정규화, 불용어 제거 등의 과정을 포함

4. 모델링 및 훈련 (Modeling and Training)

  • 머신 러닝 모델을 구축하는 단계
  • 모델링을 위한 코드를 작성하고, 데이터를 적절한 머신 러닝 알고리즘에 적용하여 기계에 학습
  • 훈련이 완료되면 우리가 원하는 자연어 처리 작업(기계 번역, 음성 인식, 텍스트 분류 등)을 수행할 수 있음
  • 모든 데이터를 기계에 학습시키는 것이 아니라 일부는 검증과 테스트를 위해 보류됨

5.평가 (Evaluation)

  • 학습이 완료된 후에는 테스트용 데이터로 모델의 성능을 평가
  • 평가 방법은 예측한 데이터와 테스트용 데이터의 실제 정답과의 유사성을 측정

6. 배포 (Deployment)

  • 완성된 모델이 배포되는 단계
  • 훈련된 모델을 실제 환경에서 사용할 수 있도록 배포하고 적용