[tensorflow] preprocessing(전처리) 하기 0. 들어가면서 TensorFlow로 입력값을 모델에 넣기 위해서는 딥러닝 모델이 처리 있도록 전처리라는 과정을 거쳐 숫자로 입력값을 넣어야한다. 전처리의 종류에는 여러가지가 있지만, 오늘은 tensorflow.keras에서 제공하는 text 전처리에 대해 알아 보고자 한다. 자연어 처리에 대한 전반적인 내용을 알려면 아래의 블로그를 참고하자. han-py.tistory.com/281 tf.keras.preprocessing.text 종류 tf.keras.preprocessing.text의 종류는 hashing_trick, one_hot, text_to_word_sequence, Tokenizer으로 크게 4가지가 있다. 필요한 전처리에 맞게..
tensorflow로 모델 만들기 0. 들어가면서 우리는 전 단계에서 모델을 구성하는 layers에 대해 알아 보았다. 관련 내용은 아래의 링크를 따라가 보자. han-py.tistory.com/269 [tensorflow] 자연어처리(NLP) 1. 기초다지기(layers) 0. 들어가면서 자연어처리, 즉 글자를 컴퓨터가 이해할 수 있게 만드는 것이다. CNN과 RNN의 차이도 모르고, 단 한번도 구현해 본 적이 없다면, 이곳은 오아시스 같은 해결책을 줄 수 있을 것이다. han-py.tistory.com 이제는 layer로 구성된 model을 만들어 보자. 1. tensorflow 2.0 나도 처음에 자연어처리 관련 구글링을 해서 tensorflow관련 코드를 찾아서 colab에서 진행해보면 안되는 경..
0. 들어가면서 자연어처리, 즉 글자를 컴퓨터가 이해할 수 있게 만드는 것이다. CNN과 RNN의 차이도 모르고, 단 한번도 구현해 본 적이 없다면, 이곳은 오아시스 같은 해결책을 줄 수 있을 것이다. 시작해보자. 혹시나 텐서플로의 기초가 아닌 자연어 처리에 대한 전반적인 적용 알고리즘에 대해 알고 싶다면, 아래의 링크를 들어가 보자. han-py.tistory.com/249?category=942088 자연어처리 발전흐름(RNN에서 BERT) 1. RNN (Recurrent Neural Network) RNN이 왜나왔을까? 기존 신경망은 연속적인 시퀀스를 처리하기 어렵다. 따라서 입력의 순서가 중요한 분야인 자연어 처리, 음성인식, 주식, 날씨, 음악 같은 부분에서 한 han-py.tistory.com..
0. 들어가면서 실제로 우리가 버트 모델을 훈련하기 위해서는 많은 데이터와 시간이 필요하다. 그러나 기존에 구글에서 공개한 버트 모델을 활용하면 쉽게 한글 데이터를 분석할 수 있다. 구글에서 공개한 버트 모델은 학습한 데이터에 따라 여러 형태로 공개가 되어 있지만, 대부분은 영어를 위한 모델이다. 우리는 한글 데이터를 활용한 버트를 활용할 것이기 때문에 다국어 지원을 위한 버트 모델을 활용할 예정이다. 버트를 활용한 실습을 진행해 볼까 한다. 가장 기초가 되는 영어 데이터를 시작으로 한글 텍스트 데이터를 버트를 활용하며 문장 분류, 자연어 추론, 개체명 인식, 텍스트 유사도, 기계 독해 등을 해결해 보자. 사실 버트 자체를 사용한다는 말은, 버트를 구현한다는 말은 아니다. 즉, 사전 훈련이 되어있는 모델..
0. 들어가면서 대부분 신경망이 원본을 입력르로 사용하지 못하는 것 처럼 텍스트도 텍스트 자체를 입력으로 사용할 수 없다. 딥러닝 모델은 수치형 텐서로만 다룰 수있다. 텍스트를 수치형 텐서로 변환하는 과정을 텍스트 벡터화(vectorizing text)라고 한다. 1. vectorizing text 텍스트 벡터화 하는 방법에는 크게 아래와 같이 3가지가 있다. 텍스트 => 단어 => 벡터 텍스트 => 문자 => 벡터 텍스트 => 단어나 문자의 n-그램 (연속된 단어나 문자를 하나씩 이동하면서 추출) => 벡터 위의 예를 보면 텍스트를 나누는 단위에는 단어, 문자, n-그램이 있음을 알 수 있다. 이런 단위(단어, 문자, n-그램)를 토큰이라 한다. 그리고 텍스트를 토큰으로 나누는 작업도 토큰화(token..
0. 들어가면서 'Attention is All You Need'라는 말에서 알 수 있 듯, Transformer은 Attention으로만 이루어져 있다. 기계 번역(언어 번역)을 예로 깊숙한 곳으로 조금씩 들어가 보려고 한다. 1. Model 위의 그림을 보면 한 언어의 문장이 INPUT으로 넣으면 OUTPUT으로 다른 번역된 언어가 나오는 것을 알 수 있다. 그렇다면 조금 더 디테일 하게 들어가 보자. Transformer의 내부를 보면 ENCODERS와 DECODERS로 나눠져 있고, 그 둘 사이에 연결이 있는 것을 알 수 있다. encoding component는 encoders가 쌓여서 만들어져 있다. 그리고 decoder도 6개가 쌓여있는 것을 볼 수 있다. 인코더의 구조가 모두 동일하지만 가..
0. 들어가면서 텍스트 데이터를 학습한 모델의 크기는 단어의 개수에 영향을 받는다. RNN에서는 단어 개수에 비례하여 계산비용이 증가하기 때문에 word embedding 벡터의 종류가 제한이 생기는 문제가 발생한다. 이러한 문제를 해결하기 위해 단어를 한정적인 유닛으로 표현하는 Word Picece Model(WPM)이 생겼다. WPM은 언어에 상관 없이 모두 적용 할 수 있어서 특정 언어의 토크나이저를 만들지 않아도 되지만, 그렇다고 모든 데이터 분석에 적합한 것은 아니다. 수백만개의 단어를 포함하는 데이터를 표현하기 위해서는 bag of words model에서는 단어 개수 만큼의 embedding vector를 학습하기 때문에 단어의 개수가 많을 수록 차원이 커지고 모델이 무거워진다. 이러한 문제..
0. 들어가면서 기본적인 자연어 처리 흐름을 알기 위해서는 아래의 블로그에서 확인을 하자. han-py.tistory.com/249?category=942088 자연어처리 개념(RNN에서 BERT) 1. RNN (Recurrent Neural Network) RNN이 왜나왔을까? 기존 신경망은 연속적인 시퀀스를 처리하기 어렵다. 따라서 입력의 순서가 중요한 분야인 자연어 처리, 음성인식, 주식, 날씨, 음악 같은 부분에서 한 han-py.tistory.com 1. BERT(Bi-directional Encoder Representations from Transformers) 기본 개념 기본적으로 Pre-trained BERT에 위에 classification layer를 하나 추가해주면 다양한 NLP를 ..
- Total
- Today
- Yesterday
- Deque
- read_csv
- error:0308010C:digital envelope routines::unsupported
- vuejs
- login
- TensorFlow
- mongoDB
- UserCreationForm
- nextjs autoFocus
- 자료구조
- Vue
- logout
- django
- next.config.js
- react
- BFS
- useState
- typescript
- Python
- JavaScript
- useHistory 안됨
- 자연어처리
- NextJS
- nodejs
- Queue
- 클라우데라
- DFS
- Express
- pandas
- react autoFocus
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |