자연어처리
-
(7) 자연어처리_ELMo자연어처리 2023. 8. 2. 00:06
1.ELMo(Embeddings from Language Model) 2018년에 논문에서 제안된 새로운 원드 임베딩 방법론 언어 모델로 하는 임베딩을 의미 ELMo의 가장 큰 특징은 사전 훈련된 언어 모델(Pre-Trained Language Model)을 사용한다는 것 1-1. 기존 워드 임베딩의 한계 주변 문맥 정보를 활용하여 단어를 벡터로 표현하는 방법 같은 표기의 단어를 문맥에 따라서 다르게 임베딩 할 수 없음 1-2. ELMo의 특징 사전 학습된 단어 표현을 사용했다는 것 사전학습은 대량의 자연어 코퍼스를 미리 학습하여, 자연어 코퍼스 안에 포함된 일반화된 언어 특성들을 모델의 파라미터 안에 함축하는 방법 기존 논문에서도 일반화된 언어 특성들을 고려하기 위해 사전 학습된 단어 표현들을 사용했으..
-
(6) 자연어처리_Seq2Seq자연어처리 2023. 7. 30. 14:42
1. 문장 임베딩 2017년 이전의 임베딩 기법들은 대부분 단어 수준 모델이였음(Word2Vec, FastText, GloVe) 단어 수준 임베딩 기법은 자연어의 특성인 모호성, 동음이의어를 구분하기 어렵다는 한계가 있음 2017년 이후에는 ELMo(Embeddings from Language Models) 와 같은 모델이 발표되고 트랜스포머와 같은 언어 모델에서 문장 수준의 언어 모델링을 고려하면서 한계점들이 해결됨 1-1. 언어 모델 자연어처리 작업은 자연어 문장을 생성하거나 예측하는 방식으로 결과를 표현함 자연어 처리 작업에서는 자연어를 수치화 하여 표현할 수 있는 언어 모델을 사용 언어 모델은 자연어 문장 혹은 단어에 확률을 할당하여 컴퓨터가 처리할 수 있도록 하는 모델로 주어진 입력에 대해 가장..
-
(5) 자연어처리_ 워드 임베딩 시각화자연어처리 2023. 7. 30. 00:19
#표에 한글을 쓰기위해 폰트 다운로드 !sudo apt-get install -y fonts-nanum !sudo fc-cache -fv !rm ~/.cache/matplotlib -rf 1. 네이버 영화 리뷰 데이터셋 총 200,000개의 리뷰로 구성된 데이터로, 영화 리뷰를 긍/부정으로 분류하기 위해 만들어진 데이터셋 리뷰가 긍정인 경우 1, 부정인 경우 0으로 표시한 레이블로 구성되어 있음 import urllib.request import pandas as pd urllib.request.urlretrieve('https://raw.githubusercontent.com/e9t/nsmc/master/ratings_train.txt', filename='ratings_train.txt') urlli..
-
(4) 자연어처리_워드임베딩자연어처리 2023. 7. 30. 00:10
1. 워드 임베딩(Word Embedding) 단어를 컴퓨터가 이해하고, 효율적으로 처리할 수 있도록 단어를 벡터화하는 기술 단어를 밀집 벡터의 형태로 표현하는 방법 워드 임베딩 과정을 통해 나온 결과를 임베딩 벡터 워드 임베딩을 거쳐 잘 표현된 단어 벡터들은 계산이 가능하며, 모델에 입력으로 사용할 수 있음 1-1. 인코딩(Encoding) 기계는 자연어를 이해할 수 없기 때문에 데이터를 기계가 이해할 수 있도록 숫자 등으로 변환해주는 작업 자연어를 수치화된 벡터로 변환하는 작업 1-2. 희소 표현(Sparse Representation) 원-핫 인코딩을 통해서 나온 원-핫 벡터들은 표현하고자 하는 단어의 인덱스의 값만 1이고, 나머지 인덱스에는 전부 0으로 표현되는 벡터 표현 방법 벡터 또는 행렬의 ..
-
(3) 자연어처리_임베딩자연어처리 2023. 7. 11. 02:38
1. 자연어의 특성 자연어를 기계가 처리하도록 하기 위해서는 먼저 자연어를 기계가 이해할 수 있는 언어로 바꾸는 방법을 알아야함 토큰화 작업의 결과인 단어 사전을 기계가 이해할 수 있는 언어로 표현하는 과정이고 단어 사전 내 단어 하나를 어떻게 표현할까의 문제로 볼 수 있음 1-1. 단어의 유사성과 모호성 대부분의 언어에서 단어의 의미는 유사성과 모호성을 가지고 있는데 단어는 겉으로 보이는 형태인 표제어 안에 여러가지 의미를 담고 있음 대부분 사람은 주변 정보에 따라 숨겨진 의미를 파악하고 이해할 수 있으나 기계는 학습의 부재 또는 잘못된 데이터로 의미를 파악하지 못하는 경우가 있음 한 가지 형태의 단어에 여러 의미가 포함되어 생기는 중의성 문제는 자연어 처리에서 매우 중요 동형어와 다의어 동형어 : 형..
-
(2) 자연어처리_데이터전처리자연어처리 2023. 7. 11. 02:26
1. 코퍼스(Corpus) 사전적인 의미는 "말뭉치", "대량의 텍스트 데이터"를 말함 자연어처리 연구나 애플리케이션 활용을 염두에 두고 수집된 텍스트 데이터셋을 의미 2. 토큰화(Tokenization) 전처리 과정에는 토큰화, 정제, 정규화 작업 등이 있음 토큰화는 원시 데이터를 가져와 유용한 데이터 문자열로 변환하는 간단한 프로세스 사이버 보안, NFT 생성에 사용되는 것으로 유명, 자연어 프로세스의 중요한 부분을 차지함 토큰의 단위는 자연어 내에서 의미를 가지는 최소 단위로 정의 단락과 문장을 보다 쉽게 의미를 할당할 수 있는 더 작은 단위로 분할하는데 사용 토큰화 작업은 주어진 코퍼스내 자연어 문장들을 토큰이라 불리는 최소 단위로 나누는 작업 2-2. 토큰화 방법 문장 토큰화: 토큰의 기준을 문..
-
(1) 자연어 처리 개요자연어처리 2023. 7. 10. 20:05
1. 자연어 정의: 프로그래밍 언어와 같이 인공적으로 만든 기계 언어와 대비되는 단어로 우리가 일상에서 주로 사용하는 언어이다. 1-1. 자연어 처리 컴퓨터가 한국어나 영어와 같은 인간의 자연어를 읽고 이해할 수 있도록 돕는 인공지능의 한 분야 자연어에서 의미 있는 정보를 추출하여 활용 기계가 자연어의 의미를 이해하게 한다. 기계가 사람의 언어로 소통할 수 있게 한다. 1-2. 자연어 처리의 활용 문서 분류, 스팸 처리와 같은 분류 문제부터 검색어 추천과 같은 추천 기능, 음성 인식, 질의 응답, 번역 등의 다양한 분야에서 사용되고 있다. 반복 업무 자동화 검색 효율 향상 및 검색 엔진 최적화 대규모 문서 분석 및 정리 소셜 미디어 분석 1-3. 용어 정리 자연어이해(NLU) 자연어 처리의 하위 집합 중..