풀고자 하는 문제의 용도에 맞게 텍스트 데이터를 사전 처리하는 과정말뭉치(corpus, 복수형: corpora): 자연언어 연구를 위해 특정한 목적을 가지고 언어의 표본을 추출한 집합주어진 코퍼스(corpus)에서 토큰(token)이라 불리는 단위로 나누는 작업이다보통
언어 모델은 단어 시퀀스에 확률을 할당(assign) 하는 것이다언어 모델링(Language Modeling) 은 주어진 단어들로부터 아직 모르는 단어를 예측하는 작업이다방법론들 \- 방법론1. 언어 모델이 이전 단어들이 주어졌을 때 다음 단어를 예측하도록 하기 \
종류 \- DTM(Document Term Matrix) \- TF-IDF(Term Frequency-Inverse Document Frequency)응용 \- 문서내 단어의 중요도 평가 \- 문서의 핵심어 추출 \- 검색 엔진에서의 검색 결과 순위 결정 \
두 벡터를 내적한 후 각각의 크기에 대해 나눈것이 일반화된 코사인값 정의다 \- 원래 삼각함수는 직각삼각형의 기하학적 성질에서 부터 정의되기 시작한 것이지만, 다차원 벡터공간에서도 '각도'란 개념을 도입하기 위해서 반대로 내적이란 대수적 정의로부터 코사인을 정의함B
데이터 준비하기 \- 머신 러닝을 위한 데이터를 준비했다면 기계를 학습하기 전 해당 데이터를 훈련용, 검증용, 테스트용 이렇게 세 가지로 분리하는 것이 일반적임 \- 훈련 데이터: 머신 러닝 모델을 학습하는 용도 \- 테스트 데이터: 학습한 머신 러닝 모델
머신러닝의 특정 한 분야로 인공 신경망 Artificial Neural Network 층을 연속적으로 깊이 쌓아올려 데이터를 학습시키는 방법이다1957년 프랭크 로젠블라트 Frank Rosenblatt가 제안한 초기형태 인공신경망이다다수의 입력으로부터 하나의 결과를 내
입력층 뉴런이 3개 출력층의 뉴런이 2개, 활성화함수는 소프트맥스인 기초적 형태의 신경망을 고려해보자이때 파라미터의 갯수는 (입력층 뉴런수 +1)$\\times$ (출력층 뉴런수)로 이 경우 8개이다이때 입력벡터와 곱해지는 계수행렬을 가중치 행렬 $W$ Weigh Ma
과거엔 기계가 자연어를 학습하게 하는 방법으로 통계적 방법론을 사용하였으나, 최근 인공 신경망을 사용하는 방법이 자연어처리에서 더 좋은 성능을 얻고 있다. 번역기, 음성 인식등과 같은 자연어 생성NLG(Natural Language Generation) 기반 언어 모델
관련 용어 \- 시퀀스 \- 어떤 순서를 갖고 있는 데이터 \- 예: 시계열 time series, 자연어 NL \- 메모리셀 \- 타임 스텝에 걸쳐 어떤 상태를 보존하는 신경망의 구조기본적인 신경망은 은닉층에서 활성화함수를 지나 나온 값은 출력층 방향(
텍스트를 컴퓨터가 이해하고, 효율적으로 처리할 수 있게 단어를 벡터로 표현하는 방법표현들의 종류 \- 희소 표현 Sparse Representation \- 원 -핫 인코딩을 통해 생성된 원 -핫 벡터는 표현하고자 하는 단어의 인덱스만 1이고 나머지 인덱스는 전부
LSA는 DTM이나 TF-IDF 행렬과 같이 각 문서에서의 각 단어의 빈도수를 카운트 한 행렬이라는 전체적인 통계 정보를 입력으로 받아 차원을 축소(Truncated SVD)하여 잠재된 의미를 끌어내는 방법론다. 반면, Word2Vec는 실제값과 예측값에 대한 오차를
tensorflow.keras.layers.Embedding \- 케라스는 훈련 데이터셋의 단어들을 임베딩해주는 레이어를 제공한다 \- 임베딩은 기본적으로 '단어>정수 인코딩>원-핫>임베딩 벡터'순으로 이루어지나 케라스의 임베딩층은 정수 인코딩된 단어를 원-핫 벡
용어정리 \- 채널 \- 이미지를 보통 높이,너비,채널의 3차원 텐서로 표기한다. 채널은 이미지의 색상일수도 있고, 이미지의 특성을 담은것일수도 있다 \- 합성곱 \- $\\boldsymbol{H}{i,j}=u+\\displaystyle\\sum{a=-\\
기계에게 아무리 많은 단어를 학습시킨다 할지라도, 세상에 존재하는 모든 단어를 알려주는 것은 불가능하다따라서 기계가 모르는 단어(Out-Of-Vocabulary or Unknown Token)가 존재한다면 이 단어를 유추해내는 능력이 필요하다서브워드 분리Subword
RNN은 일대다 구조로 텍스트 분류를 해결한다던지, 다대다 구조로 개체명인식이나 품사 태깅등의 문제들을 해결할 수 있다인코더와 디코더라는 새로운 구조를 소개한다. 인코더와 디코더는 주로 입력 문장과 출력 문장의 길이가 다를 때 사용한다. \- 예: 번역, 텍스트 요약
Seq2Seq모델은 인코더로부터 입력 시퀀스를 컨텍스트 벡터라는 하나의 고정된 크기의 벡터로 압축하고, 디코더는 컨텍스트 벡터를 입력받아 출력 시퀀스를 출력한다RNN은 다음과 같은 문제를 갖는다 1\. 하나의 고정된 크기 벡터에 모든 정보를 압축하려 하니 정보 손실이