NLU - 자연어 이해 = 기계가 자연어의 의미를 이해하는 것으로 의도나 감정, 질문 등을 사람처럼 이해하도록 돕는 것이다.
NLG - 자연어 생성 = 자연어를 생성하도록 돕는 기술로 자연스럽고, 정확한 정보를 포함하는 문장을 생성한다.
NLP Task
text classification - 사전에 정의된 카테고리 할당
정보 추출
문장 변환 및 생성
품사 분류 및 관계
토픽, 키워드 추출
자연어 추론
information retrieval, document ranking - 두 문서나 문장 간 유사도를 결정하는 작업에서 시작
Text Similarity Task - Query text에 대해 document DB에서 가장 유사한 문서를 반환하는 것을 목표로 하는 retrival 혹은 ranking 작업으로 확장될 수 있다.
Query text와 Document DB 내 모든 문서 쌍에 대해 유사도를 계산한 후 가장 높은 유사도를 가지는 문서를 retrieval하는 방식
Text-to-Text Generation Task - 텍스트를 입력받아 목표를 달성하는 텍스트 생성
Machine Translation Task - 소스 언어의 텍스트 의미를 유지한 채 타겟 언어의 텍스트로 번역하는 작업
Text Summarization Task - 여러 문서들의 의미를 유지한 채 더 짧은 버전으로 요약. 추출요약과 추상 요악으로 나뉜다.
NER Task - 두 개의 의미론 적인 엔티티 간의 관계를 식별하는 작업
ex) jun ha - 사람, AIV - 동아리, iphone - 가전제품
Relation Extraction Task - 텍스트에서 의미론적인 관계를 추출하는 작업. 주체(Subject)와 대상(Object)
Keyword Extraction Task - 키워드 식별 작업
Topic Modeling Task - 문서 모음을 추상화하는데 기본이 되는 주제를 식별하는 작업
Text Reasoning - 주어진 지식이나 상식을 활용하여 일련의 추론 작업을 수행
Fake News Detection, Hate Speech Detection - 허위 혹은 오해의 소지가 있는 정보를 감지하고 필터링
NLP 진행 순서
문제 정의 > 데이터 수집 및 분석 > 데이터 전처리 > 모델링 > 모델 학습 및 평가
정량 평가 - 수치로 평가하는 방법 : 미묘한 차이에 따라 결과가 바뀌는 경우가 많다.
정성 평가 - 사람이 기준에 따라 평가하는 방법 : 평가 비용이 비싸고, 시간이 오래 걸린다.
데이터 정제, 정규화
정제 - 노이즈 제거
불용어 처리 - 빈번하게 발생하여 의미를 부여하기 어려운 단어 : 단어 사전을 효율적으로 관리하며 유의미한 정보를 가지게 한다.
불필요한 태그 및 특수 문자 제거
코퍼스 내 등장 빈도가 적은 단어 제거 - threshold를 넘기는 단어만 남기는 방식으로 정제할 수 있다.
정규화 - 표현 방법이 다른 단어들을 통합시켜 같은 단어로 만듦
ex) 대문자 -> 소문자, 이모지 통일
어간 추출과 표제어 추출 - 표기가 다른 단어들을 하나의 단어로 일반화 시켜 단어 수를 줄이는 것
대소문자 통함 - 조심스럽게 하여 사람 이름과, 회사 이름, 나라 등 대문자는 지켜줘야 한다.
tokenization
토큰 - 자연어 내에서 의미를 가지는 최소 단위!
토큰화 - 단락과 문장을 보다 쉽게 의미를 할당할 수 있는 더 작은 단위로 분할
띄어쓰기 단위로 간단하게 할 수 있지만 모델의 자연어 이해 능력 향상과, 효율적인 자연어 표현을 위해 다양하게 진행한다.
문장 토큰화 - 토큰 단위가 문장
.?!와 같은 부호를 기준으로 잘라내면 DR. Ph.D 와 같은 단어에서 걸리기 때문에 예외가 생기고, 다량의 자연어 텍스트 코퍼스를 이해하기에 적절한 분절 방식이 아니다.
단어 토큰화 - 보편적으로 생각해볼 수 있는 토큰 방식
기본적으로는 공백을 구분자로 사용하지만, 한국어는 어근과 접사에 의해 단어의 기능이 결정되는 교착어이기 때문에 성능이 좋지 않다.
그리고 OOV(단어 사전에 없는 단어), 새로운 단어 추가시마다 사전 크기의 증가가 있다.
문자 토큰화 - 한글과 같은 경우 자음 19개와 모음 21개가 토큰화 되어 총 40개의 글자에 따라 분리된다.
문장 하나 생성하는데 너무 많은 추론 필요
단어 사전은 작지만 예측 시간에 문제가 생길 수 있다.
서브 워드 토큰화 - 토큰 단위를 n-gram characters로 정의하고, 해당 기준에 따라 텍스트를 분절 ex) BPE
섬세하게 잘 진행하지 못하면 애매한 토큰화만 남는다.
'인공지능 > 자연어 처리' 카테고리의 다른 글
자연어 처리 복습 3 - 토큰화, 임베딩, 언어 모델 (2) | 2024.09.03 |
---|---|
세미나 정리 8-29 (0) | 2024.08.29 |
자연어 처리 복습 1 - transformer, token, attention (0) | 2024.08.26 |
학습한 모델 웹사이트 챗봇으로 시각화 하기! - 모델 서빙하기 2 (0) | 2024.08.14 |
학습한 모델 시각화 하여 보기 깔끔하게 하기! - 모델 서빙하기 1 (0) | 2024.08.13 |