NLP와 프레임워크
NLP, 자연어 처리 (Natural Language Processing)
: 컴퓨터가 인간의 언어를 이해하고 해석하는데 사용되는 분야.
-> 인간 언어의 구조와 의미 이해를 바탕으로 글을 활용한 문제를 해결하고
향상된 사용자 경험을 제공
NLP : 언어의 이해
Text Mining : 언어 속 내포된 정보 파악
자연어 처리의 다양한 문제
- 텍스트 이해 : 질의응답, 문장이해, 정보검색
- 텍스트 생성 : 문장생성, 요약, 번역
- 텍스트 분류 및 태깅 : 문장분류, 개체명 인식, 품사 태깅
- 텍스트 관계 추출 : 문장관계추출
주요 프레임워크
- Natural Language Tool Kit (NLTK)
: 전통적인 NLP 기법을 구현한 패키지 모음
: 다양한 텍스트 데이터 제공! (대부분 영어)
- PyTorch, TorchText
: Facebook에서 개발한 머신러닝 오픈소스 라이브러리 (딥러닝에 특화)
: TorchText는 PyTorch에서 제공하는 NLP에 특화된 내부 라이브러리
- HuggingFace
: 자연어 처리에 특화된 커뮤니티 기반의 라이브러리
NLP를 비롯해 다양한 연구 분야(이미지, 음성, 생성 등)의 연구 성과를 공유&활용 가능
: 커뮤니티 기반의 플랫폼으로 매우 다양한 연구 결과물
(학습 결과 모델, 데이터, 데모 등)이 빠르게 업데이트됨 (공통된 인터페이스로)
- KoNLPy
: 자연어 처리 중 한글 데이터 처리에 특화된 파이썬 라이브러리
-> 한국어에 특화된 전처리 기법을 많이 갖고 있음
형태소 분석, 품사 태깅 및 추출
문장 분류 문제
문장 분류 문제
: 텍스트 데이터를 활용해 분류 문제를 푸는 것.
정해진 클래스 중 어떤 클래스에 속하는지를 판단
=> 텍스트의 의미를 이해하고 구조화된 방식으로 분류하는 것이 목표
+ 감정 분석도 분장 분류의 한 종류
: 분류 이외의 다른 복잡한 문제에서 문장 분류에 특화된 기술 모델을 사용
-> 분류는 가장 기본적인 문제 해결이기 때문!
문장 분류의 다양한 하위 문제
- 감정 분석
- 주제 분류 (앞선 토픽 모델링과 약간 다름) -> 글의 주제를 미리 지정해줌
- 의도 분석
- 언어 감지
- 등
=> 텍스트 요약, 생성, 챗봇 등의 복잡한 문제를 풀기 위한 베이스 모델로 문장 분류 모델 사용
딥러닝 모델을 활용한 문장 분류 접근
순환신경망, RNN (Recurrent Neural Network)
: 딥러닝을 활용한 초기 텍스트 처리 모델
사람이 글을 읽고 이해하는 과정을 모방해 모델 설계
-> 단어를 하나씩 입력받고, 이전에 이해한 내용을 바탕으로 새로운 정보 생성
-> 모든 단어를 처리할 때까지 반복 -> 생성된 정보를 바탕으로 분류 진행
주의 매커니즘 (Attention Mechanism)
: RNN 이후 나타난 방법
입력으로 받은 텍스트 정보에서 딥러닝 모델이 주의(Attention)를 집중할 단어를 자동 판단
-> 집중된 단어를 바탕으로 NLP 문제 처리
=> 단어의 정보를 모델 스스로 판단
문장 분류 with 주의 메커니즘
: 주의 메커니즘을 활용해 분류 문제를 풀기 위해서는 이것으로 생성된 문장 임베딩 값을 활용함
-> 정리된 문장의 정보를 바탕으로 원하는 타겟 클래스 예측
분류 문제를 넘어
'분류'는 대부분의 데이터에서 가장 기본이 되는 문제
=> 분류 문제로 데이터의 특성을 익힌 모델을 분류보다 더 복잡한 문제에 적용하는
전이학습(Transfer Learning), 미세조정(Fine-Tuning) 진행!
'STUDY > DevCourse' 카테고리의 다른 글
[데브코스][데이터 분석] 데이터 마이닝 (0) | 2024.05.16 |
---|---|
[데브코스][데이터 분석] 딥러닝 모델을 활용한 문장 분류 실습 (1) | 2024.05.15 |
[데브코스][데이터 분석] 토픽 모델링과 워드 클라우드 (1) | 2024.05.15 |
[데브코스][데이터 분석] 감정 분석 (0) | 2024.05.14 |
[데브코스][데이터 분석] 단어 임베딩과 문장 임베딩 (0) | 2024.05.14 |