도비LOG(跳飛錄)

도비의 AI 엔지니어 도전기

자연어처리 6

NLP 트렌드의 흐름 간단 요약

이 글은 업스테이지 블로그의 "Data-Centric AI 관점으로 재해석하는 자연언어처리 기반 History of AI (https://www.upstage.ai/blog/tech/reinterpreting-the-history-of-nlp-based-ai-through-a-data-centric-perspective) 게시물을 참고하여 작성하였습니다. 자연어처리(NLP)란? 인간의 언어를 컴퓨터가 처리하는 것. 형태소 분석, 질의응답, 대화 시스템 등에 활용된다. 언어 모델은 사람이 읽고 쓰는 문자(Characters)를 컴퓨터가 읽고 쓸 수 있는 Numbers로 표현하고자 함. One-hot encoding 0과 1로 단어를 표현함. 단어들 간의 관계성을 고려할 수 없음. 단어 집합의 크기만큼 벡터..

NLP 2023.06.23

[NLP] BPE 기반 Tokenization 간단 정리

(이 글은 rat'sgo 님의 블로그 (https://ratsgo.github.io/nlpbook/)와 네이버 커넥트재단 부스트캠프 AI Tech 4기의 강의 자료를 바탕으로 작성하였습니다.) 1. Intro BPE(Byte Pair Encoding)는 토큰화를 할 때 단어를 단어보다 더 작은 단위인 subword로 쪼개어 표현하는 기법입니다. 자연어처리 분야에서 문장을 잘 처리하기 위해서는 문장을 더 작게 나눠주어야 합니다. 이때 나누어지는 한 단위를 '토큰(token)'이라고 하고, 이렇게 문장을 토큰 단위로 쪼개는 과정을 '토큰화(Tokenization)'라고 합니다. (토큰화 방법에는 여러 가지 방법이 제안되었습니다. 특히, 교착어인 한국어를 토큰화하는 것은 꽤나 어려운 작업입니다. 이에 대해서는..

NLP 2023.05.15

Boostcamp AI Tech 4기 최종 프로젝트 후기 (일기 감성 분석 및 코멘트 생성)

목차 프로젝트 기획 의도 데이터셋 코멘트 생성 모델링 Human-evaluation 생성 예시 결론 및 회고 프로젝트 기획 의도 '너하궁(너의 하루가 궁금해)'은 사용자가 일기를 입력하면, 해당 일기에서 주로 나타나는 감성을 분석해주고, 일기에 대해 공감해주는 코멘트를 생성하는 서비스이다. 누구나 공감과 위로를 받고 싶은 순간이 있다. 어렸을 때 내가 일기를 쓰면 따뜻한 말 한마디를 적어 주시던 선생님처럼, 누군가 내 하루의 이야기를 들어주고, 나의 감정에 공감해준다면 어떨까 하는 마음으로 프로젝트를 기획하였다. 이번 글에서는 내가 담당하였던 '코멘트 생성 모델링'에 대해 주로 다뤄보도록 하겠다. 데이터셋 일기 코멘트 생성 모델은 일기를 입력으로 받아서, 적절한 공감 코멘트를 출력해야 한다. 이를 위해 ..

NLP 2023.02.19

ODQA (Open Domain Question Answering) 경진대회 후기 (Naver BoostCamp AI tech 4기)

목차 - 프로젝트 개요 - Retriever - Reader - Post-Processing - 결론 프로젝트 개요 ODQA (Open Domain Question Answering)란 domain이 한정되어 있지 않은, 다양한 종류의 질문에 대답하는 task이다. ODQA는 지문이 따로 주어지지 않고, knowledge resource에서 질문에 대답할 때 참고할 수 있는 문서를 스스로 찾아야 하는 과정(retrieval) 단계가 추가되기 때문에 풀기 어려운 task이다. 예를 들어, "광화문이 있는 도시는 어디야?"라는 질문이 입력으로 들어오면, Retriever 모델은 광화문과 관련된 문서를 찾는다. 그 다음, Reader 모델이 해당 문서에서 '서울'이라는 정답을 찾아내야 한다. ODQA는 이처럼..

NLP 2023.01.23

한국어 관계 추출(Relation Extraction) 경진대회 후기 (Naver BoostCamp AI tech 4기)

이번 대회에서 나는 데이터를 담당하였다. 이 글에서는 데이터 담당으로서 진행하였던 EDA 및 data augmentation을 중점적으로 정리해 보고자 한다. 대회 개요 관계 추출(Relation Extraction)이란 문장의 개체(Entity)에 대한 속성과 관계를 예측하는 문제이다. 예를 들어, 아래의 문장에서 주체(Subject entity)와 객체(Object entity)를 추출하고, 이들 간의 관계를 추론해보면 다음과 같다. 이순신은 1545년 한성에서 태어났다. 먼저 '이순신'을 주체로, '한성'을 객체로 추출하고, 이들의 속성을 각각 '인물'과 '장소'로 부여한다면, 이들 간의 관계를 '출생지'라고 추론할 수 있다. 본 대회에서는 각 문장마다 Subject entity, Object en..

NLP 2022.12.12

[NLP] 한국어의 토큰화(Tokeniziation) - Subword BPE, Sub-character BPE, Morheme-aware-subword BPE

목차 1. Subword Tokenization (BPE) 2. Sub-character BPE 3. Morpheme-aware subword BPE 4. Conclusion References Intro 이번 글에서는 최근에 제안된 한국어 토크나이징 방안들에 정리해보고자 한다. 한국어는 언어유형학적으로 교착어로 분류된다. 교착어란 실질적인 의미를 갖는 실질형태소인 어근(root)에, 형식 형태소인 접사(affix)가 결합되어 새로운 단어를 생성하거나, 문장 내에서 각 형태소들 간의 문법적 관계를 나타내는 언어를 가리킨다. 예를 들어, 어근 '설명'에 최근 유행하는 접사 '-충(蟲)'이 결합하여 '설명충'이라는 단어를 만들어내고, '철수는 밥을 먹는다.'에서 어근 '철수'에 주격조사 '는'이 결합하여 '..

NLP 2022.11.13