본문 바로가기

분류 전체보기

BART 학습 및 예측 다음은 Fairseq를 이용하여 학습을 하는 방법입니다. 먼저 저는 Fairseq의 2번째 방법을 이용합니다. 다음 코드를 이용합니다. # Download bart.large model wget https://dl.fbaipublicfiles.com/fairseq/models/bart.large.tar.gz tar -xzvf bart.large.tar.gz # Load the model in fairseq from fairseq.models.bart import BARTModel bart = BARTModel.from_pretrained('/path/to/bart.large', checkpoint_file='model.pt') bart.eval() # disable dropout (or leave in .. 더보기
BART - Transformer Encoder-Decoder Model (Sequence-to-Sequence) BART는 Facebook AI 에서 발표한 모델입니다. Encoder는 Bidirectional Encoder를 이용하고, Decoder는 Autoregressive Decoder를 이용합니다. 다음 사진은 바트모델입니다. Sequence-to-Sequence 방식을 이용합니다. Sequence-to-Sequence는 입력된 시퀀스로부터 다른 도멘의 시퀀스를 출력하는 다양한 분야에서 사용되는 모델입니다. 예를 들어 챗봇(Chatbot)과 기계 번역(Machine Translation)이 그러한 대표적인 예인데, 입력 시퀀스와 출력 시퀀스를 각각 질문과 대답으로 구성하면 챗봇으로 만들 수 있고, 입력 시퀀스와 출력 시퀀스를 각각 입력 문장과 번역 문장으로 만들면 번역기로 만들 수 있습니다. 그 외에도 다.. 더보기
TextRank, PageRank PageRank, TextRank TextRank는 Mihalcea(2004)이 제안한 알고리즘으로 텍스트에 관한 graph-based ranking model 입니다. 이는 Google의 PageRank를 활용한 알고리즘입니다. PageRank는 Brin and Page(1998)이 제안한 알고리즘으로 하이퍼링크를 가지는 웹 문서에 상대적 중요도에 따라 가중치를 부여하는 방법입니다. 서로간의 인용과 참조로 연결된 임의의 묶음으로 정의 할 수 있습니다. 예를 들어 소셜 네트워크에서 각 사람은 그래프의 node가 되고, 사람 간의 친밀도 혹은 영향럭은 edge로 표현된다고 생각하시면 됩니다. ex formula) G = (N, E), N은 node를 의미하고 E는 edge를 의미합니다. 텍스트 데이터도 그.. 더보기
NLP(자연어처리) - Language Model (언어 모델) 들어가기 앞서 간단히 설명하자면, 위의 그림과 같이 Language Modeling은 학습을 통해 다음에 어떤 단어가 나올지 예측하는 작업입니다. 조금 더 형식적으로는, 다음 단어의 확률 분포를 계산하는 것입니다. 다음 수식에서와 같이 다음 단어는 vocabulary 에 있는 어떠한 단어도 올 수 있습니다. 언어모델을 직관적으로 알 수 있는 다른 예 입니다. 나는 오늘 늦잠을 자서, 학교에 [ ]. 우리는 [ ]에 어떤 단어가 올 것인지 쉽게 예상할 수 있습니다. 우리는 지식에 기반하여 나올 수 있는 여러 단어들을 후보에 놓고, '늦었다'라는 단어의 확률이 가장 높다고 판단하였기 때문입니다. 1. Statistical Language Model (SLM, 통계적 언어모델) 1.1) Conditional .. 더보기
임의의 데이터에서 이진 분류 하기 필요한 모듈 : Numpy, OrderedDict, Matplotlib 추가 설명 OrderedDict 란? OrderedDict 는 기본 딕셔너리(Dictionary)와 거의 비슷하지만, 입력된 아이템들(items)의 순서를 기억하는 Dictionary 클래스입니다. collections.OrderedDict의 자세한 내용은 docs.python.org 에서 확인할 수 있습니다. 간단하게 소개하자면 일반적인 dict 메소드를 지원하는 dict 서브 클래스의 인스턴트를 리턴합니다. OrderedDict 는 키가 먼저 삽입 된 순서를 기억 사전인가됩니다. 새로운 정렬된 사전은 항목이 삭제될 때 정렬 순서를 유지합니다. 그러나 새 키가 추가되면 키가 끝에 추가되고 정렬이 유지되지 않습니다. 키가 마지막으로 .. 더보기
NLP Tools / 자연어처리 툴 소개 출처 : https://github.com/datanada/Awesome-Korean-NLP#11-morpheme%ED%98%95%ED%83%9C%EC%86%8C-%EB%B6%84%EC%84%9D%EA%B8%B0---part-of-speechpos%ED%92%88%EC%82%AC-tagger datanada/Awesome-Korean-NLP A curated list of resources for NLP (Natural Language Processing) for Korean - datanada/Awesome-Korean-NLP github.com 1. Tools (Korean-specific tools are listed ahead of language-agnostic tools.) 1.1. Morph.. 더보기
BERT 모델을 이용해 SQuAD 1.1v 학습하기 트랜스포머의 양방향 인코더 표현 (BERT)은 Google에서 개발한 NLP(Natural Language Processing, 자연어 처리) 사전 교육 기술입니다. BERT는 2018년 Jacob Devlin과 Google의 동료가 작성하고 게시했습니다. 성능은 BERT가 출시되었을 때, 여러 NLU(Natural Language Understanding, 자연 언어 이해) 과제에서 최첨단 성능을 달성했습니다. GLUE (일반 언어 이해 평가) 작업 세트 (9개 작업으로 구성) SQuAD (Stanford Question Answering Dataset) v1.1 및 v2.0. SWAG (대적 세대의 상황) BERT 논문 : arxiv.org/abs/1810.04805 SQuAD 데이터 다운로드 The.. 더보기
GLUE GLUE GLUE Benchmark Hompage : https://gluebenchmark.com/ GLUE Benchmark The General Language Understanding Evaluation (GLUE) benchmark is a collection of resources for training, evaluating, and analyzing natural language understanding systems gluebenchmark.com -- 공식 홈페이지 솧개 -- 일반언어이해평가(GLUE) 벤치마크는 자연어이해 시스템을 교육, 평가, 분석하기 위한 자원의 집합이다. GULT는 다음으로 구성된다. 기존 데이터셋을 기반으로 구축되고 다양한 데이터셋 크기, 텍스트 장르 및 난이도를.. 더보기