내용
1. NLP, 자연어 처리
2. 주요 프레임워크
NLP, 자연어 처리
[RECAP] 자연어 처리 (Natural Language Processing, NLP)
• 자연어 처리란,
• 컴퓨터가 인간의 언어를 이해하고 해석하는데 사용되는 분야로
• 컴퓨터 과학, 인공 지능, 언어학의 개념이 사용됨
• NLP의 목적은 인간 언어의 구조와 의미 이해를 바탕으로
• 글을 활용한 문제를 해결하고
• 향상된 사용자 경험을 제공하고자 함
• chatGPT와 같은 사용 경험이 해당하겠죠?
• 대규모 텍스트 데이터 내의 존재하는 패턴, 관계, 정보를 발견하고 분석하는 텍스트 마이닝과 거리가 있음
• 두 개념의 목표 차이는
• NLP : 언어의 이해
• TM : 언어 속 내포된 정보 파악
자연어 처리의 다양한 문제
텍스트 이해 (Text Understanding)
• 질의응답 (QA, Question Answering)
• 문장 이해 (Reading Comprehension)
• 정보 검색 (Information Retrieval)
텍스트 생성 (Text Generation)
• 문장 생성 (Text Generation)
• 요약 (Text Summarization)
• 번역 (Neural Machine Translation)
텍스트 분류 및 태깅 (Text Classification & Tagging)
• 문장 분류 (Text Classification)
• 개체명 인식 (NER, Named Entity Recognition)
• 품사 태깅 (POS tagging, Part of Speech tagging)
텍스트 관계 추출 (Text Relation Extraction)
• 문장 관계 추출 (Relation Extraction)
주요 프레임워크
Natural Language Tool Kit (NLTK)
• 전통적인 NLP 기법을 구현한 패키지 모음
• 전처리, 딥러닝 이전의 NLP 방법들이 많이 활용됨
PyTorch, TorchText
• Facebook에서 개발한 머신 러닝 오픈 소스 라이브러리
• 특히, 딥러닝에 특화
• TorchText는 PyTorch에서 제공하는 NLP에 특화된 내부 라이브러리
• (초기 ~ 최신의) 딥러닝 모델을 쉽게 구현할 수 있는 인터페이스 제공
• 또한, 데이터 전/후처리와 모델 학습에 필요한 여러 요소를 제공
HuggingFace
• 자연어 처리에 특화된 커뮤니티 기반의 라이브러리
• NLP를 비롯해 다양한 연구 분야(이미지, 음성, 생성 등)의 연구 성과를 공유 & 활용 가능
• 손쉬운 사용과 학습을 위한 유용한 기능을 내포
• 또한, 데모 사이트(Spaces) 사용, 데이터 업로드 & 다운로드(Datasets)가 가능
• 커뮤니티 기반의 플랫폼이라
• 매우 다양한 연구 결과물(학습 결과 모델, 데이터, 데모 등)이 빠르게 업데이트
• 연구 결과물을 공통된 인터페이스로 강제
• 코드 진행의 통일성 제공
KoNLPy
• 자연어 처리(NLP) 중 한글 데이터 처리에 특화된 파이썬 라이브러리
• 한국어에 특화된 전처리 기법을 많이 갖고 있음
• 형태소 분석
• 학교에 갑니다 > 학교 / 에 / 가/ㅂ니다
• 품사 태깅 및 추출
• 한국어 단어에 특화된 품사 예측