nlp

    [NLP]. 인공지능에서 골드 라벨(Gold Label)은 뭘까? (feat. ChatGPT)

    가끔 논문이나 컨퍼런스에가면 골드 라벨, 실버 라벨 등의 용어를 자주 듣게된다. 지도학습에 필요한 라벨은 알겠는데 골드 라벨, 실버 라벨은 뭘까? 등급이 있는 것일까? 골드라벨(Gold Lable)이란? ChatGPT에게 한 번 물어봤다. 골드 라벨(Gold Label)은 보통 사람들이 만든 레이블이 아니라 전문가들이 만든 고품질의 레이블을 말합니다. 따라서, 골드 라벨이 부착된 데이터를 사용하면 보다 높은 정확도를 가진 모델을 만들 수 있습니다. 일반적으로, 골드 라벨을 가진 데이터를 얻는 방법은 두 가지입니다. 전문가에게 작업을 의뢰하여 골드 라벨을 만들어내는 방법: 전문가들이 작업한 데이터를 골드 라벨 데이터로 활용할 수 있습니다. 이전 연구나 대회에서 골드 라벨을 얻는 방법: 이전 연구나 대회에서..

    [NLP]. 챗봇 답변 Top-k sampling 구현

    TOP-K sampling 은 기존 생성 모델에서 사용하는 방법중 하나이다. https://velog.io/@nawnoes/Top-p-%EC%83%98%ED%94%8C%EB%A7%81-aka.-Nucleus-Sampling Top-p Sampling (aka. Nucleus Sampling) How to sample from language models 을 보며 정리GPT-2로 텍스트를 생성하다보면, 랜덤 샘플링이나 Top-k 샘플링 등을 사용해도 문맥이 잘 맞지 않는다고 생각이 된다. 추가로 다른 방법 중 Top-p, Nucleus 샘플 velog.io 챗봇의 대답은 일정한 기준(Similarity score , BM25 score)점수에 대한 최고점수를 답변으로 추론하는 경우가 많은데. 이럴 경우 똑..

    [전처리]. 한국어 존댓말과 반말을 구별하는 방법(feat. komoran)

    한국어는 영어와 다르게 존댓말(높힘말)과 반말(낮춤말)이 존재한다. 그래서 존댓말을 반말로 바꿔주고 반말을 존댓말로 바꿔주는 모델이 있으면 좋겠지만 (실제로 연구가 많이 진행되었지만 정확도가 높은 편은 아님) 존댓말과 반말을 구분하는 방법을 공유하고자 한다. 방법은 간단하다. 형태소 분석기를 통해 나온 토큰들 중 존댓말에 사용되는 토큰들의 갯 수를 구해서 판단하면 된다. 형태소 분석기는 한나눔 , 코모란 , okt 등이 있지만 코모란 형태소 분석기를 사용했다. 이유는 코모란은 존댓말 토큰을 normalize 하게 잡아주기 떄문이다. okt 의 경우는 습니다, 됩니다 , 합니다 로 토크나이즈 하는 반면 코모란은 ㅂ니다. 로 통일해주기 때문에 적은 토큰들을 가지고 많은 존댓말을 판단할 수 있게된다. *존댓말..

    [NLP] Transformer : Masked Multi-Head Attention - part3

    Transformer Decoder : 트렌스포머 모델의 디코더(Decoder)는 인코더(Encoder)와 다르게 Masked Attention 이 들어간다. Masked Multi-head Attention Mask(마스크) 란? Masked 혹은 Masking 이라는 용어 차제는 포토샵에서 많이 접할 수 있지만 무언가로 가린다는 의미이다. 디코더(Decoder)에서의 Self-Attention Layer 는 반드시 자기 자신 보다 앞쪽에 포지션에 해당하는 토큰들의 어텐션 스코어만 볼수있다. 아웃풋들이 주어졌을 때 뒤에 나오는 단어들은 볼 수 없다. ( 기본적인 seq2seq 모델의 학습 개념 transformer 도 동일함.) Masking을 수학적으로 구현할 때는 포지션에 해당하는 Score 값을 ..

    [NLP] Transformer : Self-Attention ( Multi-head-Attention ) - part2

    https://acdongpgm.tistory.com/219?category=910966 [NLP]. Transformer : Structure 앞서 시퀀스 투 시퀀스 모델에 대해서 설명하면서 어텐션에 대한 개념을 설명했다. Transformer의 논문 제목은 "Attention is All You Need"이다. 어텐션만 있으면 다 가능하다. 뭐 이런 뜻이다. 즉, 트랜스 acdongpgm.tistory.com 앞서 설명했듯이 임베딩 이후에 포지셔널 인코딩을 통해서 포지션 정보를 가진 임베딩 벡터가 인코딩 블록으로 들어오게 된다. 논문의 핵심인 Multi-Head Attention의 동작하는 방식을 알아보고 그 이후에 정규화 방법(Residual connection & Normalization)도 같이..

    [NLP] Sequence to Sequence (시퀀스 투 시퀀스), Attention(어텐션) 개념

    시퀀스 투 시퀀스 모델은 셀프 어텐션의 등장으로 요즘에 잘 사용하지 않지만 자연어 처리에서 중요한 개념을 내포하고 있고 Many to Many task에 대해서 자세히 알아볼 수 있다. 그리고 꼭 얻어가야 할 것은 시퀀스 투 시퀀스는 어떤 게 문제였고 현재는 그 문제를 어떻게 개선했는지에 대해서 반드시 알 필요가 있다. 먼저 시퀀스(Sequence)란 무엇일까? 시퀀스란 말은 영화에서 몇 개의 관련된 장면을 모아서 이루는 구성단위로도 쓰이고 전기 회로를 구성한 도면을 말하기도 한다. 이 처럼 여러 분야에서 각기 다르게 쓰이는데 자연어 처리에서는 단어들이 2개 이상 묶여있는 것으로 이해하면 된다. [ i , am , a ,boy ] 시퀀스 투 시퀀스 모델(Sequence to Sequence model) ..