개발/NLP

개발/NLP

Transformer

우리가 사용하는 자연어를 컴퓨터가 알아듣게 하려면 word embedding이라는 작업이 필요합니다. word embedding에는 여러가지 시도가 있어왔고 2017년부터 Transformer라는 방법을 기반으로 하고있습니다. Transformer Transformer에 대해 간단하게 설명하겠습니다. 기존에 많이 사용되던 Word2Vec과의 차이점은 output으로 나오는 벡터값이 단어냐 문장이냐 입니다. Word2Vec은 단어에 대한 벡터값이 나오고 Transformer는 문장에 대한 벡터값이 나오게됩니다. 그렇기때문에 Transformer는 문장 맥락에 대한 이해가 가능합니다. 하지만 속도가 느리다는 단점이 존재합니다. 이미지 출처: https://wikidocs.net/31379 Transforme..

개발/NLP

TF-IDF

1. DTM (Document-Term Matrix) 각 문서에 대한 BoW 표현 방법을 그대로 갖고와서, 서로 다른 문서들의 BoW들을 결합한 표현 방법인 문서 단어 행렬입니다. 2. TF (Term Frequency) 특정 문서에서의 특정 단어 t의 등장 횟수입니다. 3. DF (Documet Frequency) 전체 문서에서 해당 단어가 포함된 문서가 몇번 나왔는지를 체크합니다. 해당 단어가 나타난 문서의 수/ 전체 문서의 수 4. IDF (Inverse Document Frequency) DF에 역수를 취해주는 작업입니다. 값에 로그를 취해 수가 많이 커지는 것을 방지하고, 분모에 1을 더해 분모가 0이되는 것을 방지합니다. 공식은 아래와 같습니다. $$log(\frac{n}{1+df(x)})$$..

개발/NLP

Bag of Words

컴퓨터는 자연어를 이해하지 못하기 때문에 컴퓨터가 알 수 있게끔 해줘야 합니다. 가장 간단한 방법은 문장을 쪼개서 컴퓨터한테 인식시키는 것입니다. 문장을 쪼개서 해당하는 칼럼의 값에 카운트를 올려주는 방식입니다. 즉 문장 속 단어의 빈도수를 체크해줍니다. BoW 단점: 단어의 빈도수만 체크하기 때문에 문장의 의미를 제대로 이해하기 힘들다. ex_ "좋다가 말았네" 문장의 재구성이 불가능하다 Bow를 만드는 방법 "오늘도 나는 축구를 한다 나는 축구를 좋아해" "지금 축구를 하고 싶어" 라는 문장들이 있을 때 이 문장을 컴퓨터가 이해하게끔 간단한 방법을 사용해 보겠습니다. 1. 띄어쓰기 단위 단점: 좋아해, 좋아함, 좋아 등을 구분 못해서 사용자 사전이 엄청 커집니다. 오늘도 나는 축구를 한다 좋아해 지금..

개발/NLP

자연어 평가 지표

자연어 평가 지표 1. GLUE (General Language Understanding Evaluation) GLUE는 NLP모델에 대한 여러 테스크들을 평가할 수 있는 지표입니다. 현재 Human Baselines는 15위로 밀려났습니다. 2. SUPER GLUE GLUE가 출시 후 1년만에 NLP 기술이 인간의 수준을 뛰어 넘었기 때문에 Super GLUE라는 더 어려운 평가 지표를 만들게 되었습니다. Super GLUE에서는 Human Baselines가 3위네요.

모플로
'개발/NLP' 카테고리의 글 목록