<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>ru_kim_dev.log</title>
        <link>https://velog.io/</link>
        <description>데이터 엔지니어를 향해</description>
        <lastBuildDate>Wed, 09 Mar 2022 12:23:03 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>ru_kim_dev.log</title>
            <url>https://images.velog.io/images/ru_kim_dev/profile/30da6d78-e33d-48b9-b932-b89b51cfbffd/3EA60370-2A60-44CA-B4E9-8DD1FAF6792A.jpeg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. ru_kim_dev.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/ru_kim_dev" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[[Week 3-3]Attention Is You Need., 2017]]></title>
            <link>https://velog.io/@ru_kim_dev/Week-3-3Attention-Is-You-Need.-2017</link>
            <guid>https://velog.io/@ru_kim_dev/Week-3-3Attention-Is-You-Need.-2017</guid>
            <pubDate>Wed, 09 Mar 2022 12:23:03 GMT</pubDate>
            <description><![CDATA[<h1 id="attention-is-all-you-need2017">Attention Is All You Need.,2017</h1>
<p>Ashish Vaswani, Noam Shazeer, NikiParmar, Jakob Uszkoreit, Llion Jones, Aidam N.Gomez, Lukasz Kaiser, Illia Polosukhin</p>
<h2 id="abstract">Abstract</h2>
<p>RNN과 CNN을 기반으로 한 모델이 가진 한계점(긴 학습시간, 병렬작업 불가능)을 해결하기 위해 attention 기법을 사용하는 transformer 모델을 소개한다.</p>
<h2 id="introduction">Introduction</h2>
<p>Transformer는 recurrence 하지 않고, attention 기법을 통해 input과 output 사이에 독립성을 보장하고자 하는 모델이다.</p>
<h2 id="model-architecture">Model Architecture</h2>
<p>대부분의 transduction 모델들이 그러하듯, Transformer 역시 encoder와 decoder로 나뉘어 있다.</p>
<h3 id="encoder-and-decoder-stacks">Encoder and Decoder Stacks</h3>
<p>encoder에 seqeunce (x1, ..., xn)을 넣으면, 이에 대한 다른 상징적인 의미의 z = (z1, ..., zn)으로 바꾼다. 이렇게 나온 z를 decoder가 받아 새로운 의미의 (y1, ..., yn)으로 바꿔준다.
encoder는 6개의 레이어로, 하나의 레이어당 두 개의 sub 레이어(self-attention, fully connected feed-forword) 로 나뉘어 있다.
decoder 역시 6개의 레이어로, encoder의 결과에 multi-head attention을 하는 layer가 추가된다. </p>
<h3 id="attention">Attention</h3>
<h3 id="scaled-dot-product-attention">Scaled Dot-Product Attention</h3>
<h3 id="multi-head-attention">Multi-Head Attention</h3>
<h3 id="applications-of-attention-in-our-model">Applications of Attention in our Model</h3>
<h3 id="position-wise-feed-forword-networks">Position-wise-Feed-Forword Networks</h3>
<h3 id="embedding-and-softmax">Embedding and Softmax</h3>
<h3 id="positional-encoding">Positional Encoding</h3>
<h2 id="why-self-attention">Why Self-Attention</h2>
<h2 id="training">Training</h2>
<h3 id="training-data-and-batching">Training Data and Batching</h3>
<h3 id="hardware-and-schedule">Hardware and Schedule</h3>
<h3 id="optimizer">Optimizer</h3>
<h3 id="regularization">Regularization</h3>
<h2 id="results">Results</h2>
<h3 id="machine-translation">Machine Translation</h3>
<h3 id="model-variatioins">Model Variatioins</h3>
<h3 id="english-canstituency-parsing">English Canstituency Parsing</h3>
<h2 id="conclusion">Conclusion</h2>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Week 1-3] NLG task 분석 과제]]></title>
            <link>https://velog.io/@ru_kim_dev/Week-1-3-NLG-task-%EB%B6%84%EC%84%9D-%EA%B3%BC%EC%A0%9C</link>
            <guid>https://velog.io/@ru_kim_dev/Week-1-3-NLG-task-%EB%B6%84%EC%84%9D-%EA%B3%BC%EC%A0%9C</guid>
            <pubDate>Wed, 23 Feb 2022 05:08:55 GMT</pubDate>
            <description><![CDATA[<h2 id="1-nlgnatural-language-generation">1. NLG(Natural Language Generation)</h2>
<h3 id="1-1-text-abbreviation">1-1. Text Abbreviation</h3>
<h3 id="1-2-text-expansion">1-2. Text Expansion</h3>
<h3 id="1-3-text-rewriting">1-3. Text Rewriting</h3>
<hr>
<h2 id="2-text-summarization">2. <a href="https://paperswithcode.com/task/text-summarization">Text Summarization</a></h2>
<h3 id="2-1-문제-정의">2-1. 문제 정의</h3>
<ul>
<li><p>Text Summarization(문장 요약)은 원지문에서 중요도가 높은 정보를 추려 요약하는 것으로 정의된다.</p>
</li>
<li><p>수 많은 정보가 넘치는 인터넷 내에서 유의미한 정보로 가공한다는 것은 중요한 분야일 것이다.</p>
</li>
<li><p>개인적으로는 youtube와 같이 영상 정보 역시 활발히 제공되는 현재, 영상 내 내용 요약과 같은 서비스 역시 필요하게 될 것이라 생각된다.</p>
</li>
</ul>
<h3 id="2-2-data-소개">2-2. data 소개</h3>
<ul>
<li><p><a href="https://paperswithcode.com/dataset/pubmed">Pubmed dataset</a></p>
</li>
<li><p>과학 및 의학 정보 공유 사이트인 <a href="https://pubmed.ncbi.nlm.nih.gov/">Pubmed</a>에서 수집한 정보를 바탕으로 다양한 형태의 가공이 이루어져 있다.</p>
</li>
<li><p>가공 및 labeling 방식에 따라 여러 dataset을 제공하는데, dataset별 세부 정보는 <a href="https://linqs.soe.ucsc.edu/data">LINQS</a>에서 확인하고 다운받을 수 있다.</p>
</li>
<li><p>data의 구조는 각 data마다 상이하기 때문에 상황에 맞게 필요한 dataset을 확인하는 방법이 좋을 것으로 보인다.</p>
</li>
</ul>
<h3 id="2-3-sota-models">2-3. SOTA models</h3>
<h4 id="1-hat-bart">1) <a href="https://paperswithcode.com/paper/hierarchical-learning-for-generation-with">HAT-BART</a></h4>
<ul>
<li><p>HAT-BART는 기존의 document 레벨의 seq2seq로 진행되던 model의 방식에서 발전하여 token 레벨, 문장 레벨, 문단 레벨로 다양화한 단계의 seq2seq 진행방식을 지원하기 위해 설계되었다.</p>
</li>
<li><p><a href="https://arxiv.org/pdf/2104.07545v2.pdf">Hierarchical Learning for Generation with Long Source Sequences</a></p>
</li>
</ul>
<h4 id="2-dancer-pegasus">2) <a href="https://paperswithcode.com/paper/a-divide-and-conquer-approach-to-the">DANCER PEGASUS</a></h4>
<ul>
<li><p>DANCER PEGASUS model은 소설 data를 기반한 긴 문서를 분절하여 multiple source-target 쌍으로 만들어 학습되었다. 이런 방식은 문서 요약을 각 파트에 따라 개별적으로 진행하도록 만들었다. 이렇게 분리된 요약은 최종적인 결과물에 합쳐져 더욱 효율적인 문서 요약을 가능하게 했다.</p>
</li>
<li><p><a href="https://arxiv.org/pdf/2004.06190v3.pdf">A Divide-and-Conquer Approach to the Summarization of Long Documents</a></p>
</li>
</ul>
<hr>
<h2 id="마치며">마치며,</h2>
<ol>
<li><p>NLP를 공부하면서 그 하위에 있는 분야인 NLU, NLG를 모두 다뤄보았다.</p>
</li>
<li><p>NLU와 NLG를 분리하여 공부하다보니 결국 NLP 분야에 task들은 NLU와 NLG를 모두 잘 이해하고, 유기적으로 활용할 수 있어야겠다는 생각이 들었다.</p>
</li>
<li><p>하나의 application은 만드는 데에 있어 하나의 기술만을 요구하지 않고, 여러 기술을 종합하여 다룰 줄 알아야 할 것이다.</p>
</li>
</ol>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Week 1-2] NLU task 분석 과제]]></title>
            <link>https://velog.io/@ru_kim_dev/Week-1-2-NLU-task-%EB%B6%84%EC%84%9D-%EA%B3%BC%EC%A0%9C</link>
            <guid>https://velog.io/@ru_kim_dev/Week-1-2-NLU-task-%EB%B6%84%EC%84%9D-%EA%B3%BC%EC%A0%9C</guid>
            <pubDate>Tue, 22 Feb 2022 07:36:36 GMT</pubDate>
            <description><![CDATA[<h2 id="1-nlu-tasknatural-language-understanding">1. NLU task(Natural Language Understanding)</h2>
<h3 id="1-1-sentiment-analysis감정-분석">1-1. Sentiment Analysis(감정 분석)</h3>
<h3 id="1-2-similarity-prediction유사도-예측">1-2. Similarity Prediction(유사도 예측)</h3>
<h3 id="1-3-natural-language-inference자연어-추론">1-3. Natural Language Inference(자연어 추론)</h3>
<h3 id="1-4-linguistic-acceptability언어적-용인-가능성">1-4. Linguistic Acceptability(언어적 용인 가능성)</h3>
<h3 id="1-5-reading-comprehension기계-독해">1-5. Reading Comprehension(기계 독해)</h3>
<h3 id="1-6-intent-classification의도-분류">1-6. Intent Classification(의도 분류)</h3>
<hr>
<h2 id="2-sentiment-analysis">2. <a href="https://paperswithcode.com/task/sentiment-analysis">Sentiment Analysis</a></h2>
<ul>
<li>NLU sub task 중 Sentiment Analysis를 선택해 탐구해보고자 한다.</li>
</ul>
<h3 id="2-1-문제-정의">2-1. 문제 정의</h3>
<ul>
<li><p>Sentiment Analysis(감정 분석)이란 앞서 Week 1-1 과제로 선택했던 Emotion Classificaion의 상위 task로, 문장의 긍정/부정 혹은 중립을 판단하는 것으로 정의할 수 있다.</p>
</li>
<li><p>해당 기술을 통해 소비자 리뷰 분석과 같이 기업의 product에 대한 반응을 분석할 수 있을 것이다.</p>
</li>
</ul>
<h3 id="2-2-data-소개">2-2. data 소개</h3>
<ul>
<li><p>Setiment Analysis task에서 대표적으로 사용되는 data는 대부분 <a href="https://gluebenchmark.com/">GLUE</a>에 소개되어 있다.</p>
</li>
<li><p>그 중 <a href="https://nlp.stanford.edu/sentiment/">SST-2</a>(Stanford Sentiment Treebank) dataset을 분석해보자</p>
</li>
</ul>
<p><img src="https://images.velog.io/images/ru_kim_dev/post/bbd7a43c-95ee-4c06-88cf-1e4f7d380e34/image.png" alt=""></p>
<ul>
<li><p>SST-2의 구조는 위와 같이 sentence와 binary label로 구분되어 있다.</p>
<blockquote>
<p>train.tsv 
row : 67,349
column : sentence, label
sentence : 영화 리뷰에서 추출한 단일 문장
label : binary로 표기된 긍정(1)/부정(0) 값</p>
</blockquote>
</li>
<li><p>단순한 긍정/부정 binary label로 이루어져 있어 학습에 용이해 보인다.</p>
</li>
</ul>
<h3 id="2-3-sota-models">2-3. SOTA models</h3>
<h4 id="1-smart-roberta-large">1) <a href="https://paperswithcode.com/paper/smart-robust-and-efficient-fine-tuning-for">SMART-RoBERTa Large</a></h4>
<ul>
<li><p>최근 NLP 관련 task에서 가장 잘 활용되는 model을 꼽자면 단연 BERT가 있을 것이다.</p>
</li>
<li><p>해당 model 역시 BERT에서 파생된 model이다. </p>
</li>
<li><p>해당 model을 소개하는 paper인 &#39;<a href="https://arxiv.org/pdf/1911.03437v5.pdf">SMART: Robust and Efficient Fine-Tuning for Pre-trained Natural Language Models through Principled Regularized
Optimization</a>&#39;에 따르면 기존의, pre-trained model의 문제점인 model의 복잡성으로 인한 fine-tunning이 비효율적인 부분과 기존의 data에 overfitting되어 생소한 data에 대한 성능 저하의 부분을 보완한 model이라고 소개한다.</p>
</li>
</ul>
<h4 id="2-t5-3b">2) <a href="https://paperswithcode.com/paper/exploring-the-limits-of-transfer-learning">T5-3B</a></h4>
<ul>
<li><p>T5(the Text-To-Text Transfer Transformer), 입력과 출력이 text-to-text로 NLP task를 처리하는 model이다.</p>
</li>
<li><p>기존의 BERT 파생 model들의 출력값이 클래스명이거나 입력값의 일부였던 것과는 달라 다양한 NLP task에서도 동일한 model, loss function, hyperparmeter을 사용할 수 있다는 장점이 있다.(<a href="https://researcher-hj.tistory.com/30">reference</a>)</p>
</li>
<li><p><a href="https://arxiv.org/pdf/1910.10683v3.pdf">Exploring the Limits of Transfer Learning with a Unified
Text-to-Text Transformer</a>를 통해 더욱 자세한 내용을 확인할 수 있다.</p>
</li>
</ul>
<hr>
<h2 id="마치며">마치며,</h2>
<ol>
<li><p>Week 1-1 과제를 하며 오직 흥미로만 sub task를 골랐던 것이 모두 NLU sub task였다는 것이 신기했다.</p>
</li>
<li><p>지금까지는 막연하게 NLP skill stack을 어떻게 쌓을지를 고민했다면, 이번 기회를 통해 내가 어떤 분야에 확실히 흥미를 가지고 있는지 확인할 수 있었다.</p>
</li>
<li><p>특히 소비자 리뷰 분석과 같이 기업의 product에 대한 결정권에 영향을 줄 수 있는 직무를 구체화해보고자 한다.</p>
</li>
</ol>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Week 1-1]NLP sub task 분석 과제]]></title>
            <link>https://velog.io/@ru_kim_dev/Week-1-1NLP-sub-task-%EB%B6%84%EC%84%9D-%EA%B3%BC%EC%A0%9C</link>
            <guid>https://velog.io/@ru_kim_dev/Week-1-1NLP-sub-task-%EB%B6%84%EC%84%9D-%EA%B3%BC%EC%A0%9C</guid>
            <pubDate>Mon, 21 Feb 2022 10:51:18 GMT</pubDate>
            <description><![CDATA[<h2 id="1-본-강의를-수강하는-목적">1. 본 강의를 수강하는 목적</h2>
<ol>
<li><p>지난 2021년 7월부터 12월까지 수강했던 패스트캠퍼스 <strong>K-digital training AI 데이터 사이언티스트 과정</strong>이 끝난 후, 데이터 사이언티스트로 거듭나기 위한 준비를 하던 중 <strong>원티드 프리온보딩 AI/ML 과정</strong>을 발견하게 되었다. </p>
</li>
<li><p>마침 해당 강의가 패스트캠퍼스 교육과정 중 final project로 <strong><a href="https://www.kaggle.com/c/jigsaw-toxic-severity-rating">kaggle Jigsaw Rate Severity of Toxic Comments</a></strong> 를 진행하며 공부했던 NLP 심화 과정임을 확인하였고, final project를 하면서 NLP에 대해 관심이 높아졌던지라 망설임 없이 신청하게 되었다.</p>
</li>
<li><p>그렇게 참여하게 된 본 과정에서 가장 바라는 것은 당연히 취업일 것이다. 패스트캠퍼스 AI 과정을 수료한 후 개인적으로 취업준비를 하며 부딪혔던 한계점은 1) AI/ML 직군에 취업을 준비하는 데에 있어 스스로 직무 분석이나 지향하는 업무를 특정하지 못했다는 것과, 2) 현재 내가 알고 있는 지식과 보유한 포트폴리오가 너무나 빈약하다는 점이었다.</p>
</li>
<li><p>이러한 문제로 인해 취업이 쉽게 풀리지 않았고, 특히 내가 지향하는 직무가 확정되지 않았다는 점으로 인해 개인 포트폴리오를 만들고자 할 때 일관적인 작업을 진행하지 못하게 되어 결국 악순환으로 이어졌다.</p>
</li>
<li><p>이런 상황에서 다수의 기업에서 원하는 직군이 특정되어 있고, 해당 직군의 분야가 final project에서 다뤄봤던 NLP이며, 정해진 직무로 취업 연계가 가능한 <strong>원티드 프리온보딩 AI/ML 과정</strong>은 내가 취업을 하는 데에 부족했던 모든 부분을 채워줄 수 있다고 생각했다.</p>
</li>
<li><p>해당 과정을 통해 NLP 분야의 직무를 구체화하고, 나의 skill stack을 어떤 방향으로 쌓을 것인지 설정하여 알맞은 포트폴리오를 만들어서 최종적으로 기업이 찾는 실무자로 거듭나기를 바라며 1주차를 과제를 진행한다.</p>
</li>
</ol>
<hr>
<h2 id="2-과제---paperwithcode-nlp-sub-task">2. 과제 - Paperwithcode NLP sub task</h2>
<ul>
<li><a href="https://paperswithcode.com/area/natural-language-processing">Paperwithcode</a>에서 NLP 분야 중 관심있는 task를 다음 두 개로 정해보았다.</li>
</ul>
<hr>
<h3 id="2-1-emotion-classfication">2-1. <a href="https://paperswithcode.com/task/emotion-classification">Emotion Classfication</a></h3>
<h4 id="1-문제-정의">1) 문제 정의</h4>
<ul>
<li><p><strong>Emotion Classification</strong>(감정 분류)이란 문장에 드러나는 작성자의 감정을 분류하는 것으로 정의할 수 있다.</p>
</li>
<li><p>예컨대 &#39;이 영화를 보고 없던 암이 생겼습니다.&#39;와 같은 문장이 있다면 해당 문장에서 드러나는 감정을 부정적인 감정 중 &#39;<strong>답답함</strong>&#39; 혹은 &#39;<strong>분노</strong>&#39;라고 분류하는 것이다.<em>(물론 다분히 비유적인 표현이라 생각한다. 이런 문장의 감정 분류를 하기 위해서는 정말 많은 학습을 해야 하지 않을까?)</em></p>
</li>
<li><p>해당 기술을 적용할 수 있는 분야로는 소비자 반응 분석 등이 있을 것이다.</p>
</li>
</ul>
<h4 id="2-data-소개">2) data 소개</h4>
<ul>
<li><p>Paperwithcode에서 소개된 data중 하나를 선정해 해당 data의 구성을 살펴보고자 한다.</p>
</li>
<li><p>기본적으로 문장에 담긴 작성자의 감정을 분류한다는 목적을 충족시키기 위해서는 문장별 감정 labeling이 필요할 것이다.</p>
</li>
<li><p>위와 같은 전제를 충족시키는 data로 [GoEmotions] (<a href="https://paperswithcode.com/dataset/goemotions)%EB%A5%BC">https://paperswithcode.com/dataset/goemotions)를</a> 선택했다.</p>
</li>
<li><p>해당 data는 Reddit이라는 커뮤니티에서 선별된 58K개의 comment를 수집하고 사람이 감정 분류 labeling을 진행한 data이다.</p>
</li>
</ul>
<p><a href="https://paperswithcode.com/paper/spanemo-casting-multi-label-emotion"><img src="https://images.velog.io/images/ru_kim_dev/post/aab2dda5-f3ff-4f5b-a05b-3517c09e05dc/Screenshot_2021-01-10_at_13.10.55.png" alt="data sample"></a></p>
<ul>
<li>data의 상세한 구성은 다음과 같다.</li>
</ul>
<ol>
<li>text : comment 문장</li>
<li>id : comment 별로 부여된 고유 id</li>
<li>author : comment 작성자의 Reddit username</li>
<li>subreddit : comment가 속한 subreddit</li>
<li>link_id : comment의 link id</li>
<li>parent_id : comment의 부모 id</li>
<li>created_utc : comment가 생성된 timestamp</li>
<li>rater_id : labeling한 사람의 고유 id</li>
<li>example_very_unclear : 문장 감정 분류 난해함 여부(labeling한 사람 기준, Ture/False 로 구분, True일 경우 어떠한 감정 카테고리에도 labeling하지 않음) </li>
<li>emotion categories : 총 27개의 감정과 neutral 카테고리, binary로 labeling됨</li>
</ol>
<ul>
<li>admiration, amusement, anger, annoyance, approval, caring, confusion, curiosity, desire, disappointment, disapproval, disgust, embarrassment, excitement, fear, gratitude, grief, joy, love, nervousness, optimism, pride, realization, relief, remorse, sadness, surprise</li>
</ul>
<h4 id="3-sota-model-소개">3) SOTA model 소개</h4>
<ul>
<li><p>SOTA model을 알아보기 이전에, Emotion Classification의 정의와 data를 살펴보던 중 문득 든 의문이 있었다. </p>
<blockquote>
<p><strong>사람의 감정이란 것이 꼭 하나의 카테고리로 정의 가능한 것인가?</strong></p>
</blockquote>
</li>
<li><p>처음 문제 정의의 예시로 들었던 문장을 다시 가져와보자. &#39;이 영화를 보고 없던 암이 생겼습니다.&#39; 라는 문장 안에만 해도 언급했듯 답답함, 불만, 분노와 같이 유추할 수 있는 감정이 아주 많다. 그리고 때로는 독자의 관점에 따라 충분히 다르게 정의할 수도 있다!</p>
</li>
<li><p>이러한 의문을 가지고 다양한 model을 탐색하던 중, 나의 생각을 예상이라도 했다는 듯 하나의 답안을 제시한 model paper를 읽게 되었다.</p>
</li>
<li><p><a href="https://paperswithcode.com/paper/spanemo-casting-multi-label-emotion"><strong>SpanEmo: Casting Multi-label Emotion Classification as Span-prediction</strong></a></p>
<blockquote>
<p>모델명 : <strong>SpanEmo</strong>
Dataset :    <strong>SemEval 2018 Task 1E-c</strong>
(아쉽게도 배포된 dataset은 아니었다.)</p>
</blockquote>
</li>
<li><p>해당 model이 시도한 실험을 요약하자면 &#39;감정 사이의 상관 관계를 통한 복합 감정 분류&#39;라고 할 수 있다.</p>
</li>
<li><p>나의 의문처럼 하나의 문장에는 여러 복합적인 감정이 담길 수 있으나,  문장의 지배적인 감정을 긍정적/부정적이라는 대분류 안에서 구분한다면 둘 중 하나로 통일되는 것이 일반적이다.</p>
<blockquote>
<p>well my day started off great the mocha machine wasn’t working</p>
</blockquote>
</li>
<li><p>paper 내에서 제시된 예시를 보자면, 위의 문장을 지배하는 감정은 분명히 부정적임에도 불구하고 Emotion Classification 결과는 &#39;<strong>anger, disgust, joy, sadness</strong>&#39;였다. &#39;great&#39;라는 표현이 문장을 &#39;joy&#39;라고 판단하게 한 것이다.</p>
</li>
<li><p>SpanEmo model은 위와 같은 상황에서 복합적인 감정 사이의 상관 관계를 만들어 최종적으로 감정 분류 결과의 오차를 줄일 수 있도록 하였다.</p>
</li>
<li><p>즉, 문장 안에 &#39;긍정의 표현&#39;과 &#39;부정의 표현&#39;이 상충되더라도 문장을 지배하는 감정과의 상관 관계를 따져 일관된(긍정적 혹은 부정적) 감정으로 분류할 수 있도록 하는 것이다.</p>
</li>
</ul>
<hr>
<h3 id="2-2-question-answering">2-2. <a href="https://paperswithcode.com/task/question-answering">Question Answering</a></h3>
<h4 id="1-문제-정의-1">1) 문제 정의</h4>
<ul>
<li><p><strong>Question Answering</strong>(질답)은 일반적으로 주어진 문장에서 답을 찾을 수 없는 경우를 제외하고, 주어진 문장을 통해 질문과 답변을 생성하는 것으로 정의할 수 있다.</p>
</li>
<li><p>해당 분야에 속한 하위 분야로는 다음 네 종류가 있다.
  1) Open-Domain Question Answering
  2) Answer Selection
  3) Community Question Answering
  4) Knowledge Base Question Answering</p>
</li>
<li><p>각각의 분야마다 기반으로 삼는 data가 다르고, 최종 산출물이 달라지지만 이번 시간에는 Question Answering 전반에 대해 다뤄보고자 한다.</p>
</li>
<li><p>이런 Question Answering 기술의 활용 방식은 목적이 분명하지만 활용 가능한 산업은 아주 넓을 것으로 예상된다.</p>
</li>
</ul>
<h4 id="2-data-소개-1">2) data 소개</h4>
<ul>
<li>인터넷이 보급된 이래로 수없이 많은 정보들이 온라인 상에서 공유되고, 다양한 분야의 질문과 답변이 여러 커뮤니티를 통해 오갔을 것을 생각하면 Question Answering에 활용할 수 있는 data는 정말 무궁무진하게 많을 것이라 생각된다.</li>
<li>예상처럼 각종 포럼 및 커뮤니티의 Q&amp;A 게시판의 data들이 제공되는 중에 가장 활용이 많이 되고 있는 data를 소개하고자 한다.</li>
<li><a href="https://paperswithcode.com/dataset/squad">SQuAD(Stanford Question Answering Dataset)</a> </li>
</ul>
<p><a href="https://paperswithcode.com/dataset/squad"><img src="https://images.velog.io/images/ru_kim_dev/post/d751086a-106b-45d4-998b-f0b835ae53a3/SQuAD-0000000201-f1042aa7_sx8KtbI.jpg" alt=""></a></p>
<ul>
<li>해당 data는 위키피디아 문서에서 파생된 질문-답변 쌍으로 이루어진 dataset이다. 1.1 버전에는 107,785개의 질문-답변 쌍이 존재한다.</li>
</ul>
<h4 id="3-sota-model-소개-1">3) SOTA model 소개</h4>
<ul>
<li><p>Question Answering 분야의 경우 기존에 주어진 문장을 기준으로 알고리즘 스스로 독해하고, 질답하는 것이라 별도의 의문점이 들지는 않았다.</p>
</li>
<li><p>따라서 가장 최근의, 고성능을 보인 model을 선택하게 되었다.</p>
</li>
<li><p>현재 제공되어 있는 model 중 선택한 것은 다음 model이다.</p>
</li>
<li><p><a href="https://paperswithcode.com/paper/luke-deep-contextualized-entity">LUKE: Deep Contextualized Entity Representations with Entity-aware Self-attention</a></p>
</li>
<li><p>해당 paper에는 LUKE model이 자연어 처리 관련 task에서 중요하게 다뤄지는 entity(학습에 사용되는 단위)를 얼마나 효율적으로 학습하는지 설명하고 있다.</p>
</li>
</ul>
<hr>
<h2 id="마치며">마치며,</h2>
<ol>
<li><p>여기까지 원티드 프리온보딩 AI/ML 과정 1주차 과제를 마무리한다.</p>
</li>
<li><p>시간이 촉박하여 좀 더 깊은 고민을 하지 못해 아쉽지만 해당 과제를 통해 NLP 분야의 다양한 sub task를 확인해 볼 수 있었다.</p>
</li>
<li><p>Emotion Classification에 대해 공부를 하며 가장 즐거운 고민을 해보지 않았나 싶다. 앞으로 진행될 5주간의 여정이 기대된다.</p>
</li>
</ol>
]]></description>
        </item>
    </channel>
</rss>