본문 바로가기

natural language processing33

[논문 리뷰] Local Interpretations for Explainable Natural Language Processing: A Survey (arXiv 2021) 오랜만에 논문 리뷰! 대학원 생활을 하면서 너무 정신이 없어서 글을 쓸 생각을 못하면서 한동안 지냈다. 연휴 기간 동안 어느정도 여유가 생겨서 오랜만에 해보는 논문 리뷰! 요즘은 prompting 관련한 연구를 연구실에서 진행 중이다. 간단하게 정리해보면, 엄청 많은 텍스트 데이터를 기반으로 학습한 Pre-trained Language Model 들을 (예를들어, BERT, GPT2, RoBERTa 등등) 이용해서 어떠한 downstream task를 풀 때 기본적으로 모델의 모든 파라미터를 학습시키는 fine-tuning 방식을 가장 많이 사용했었다. 이후에 GPT-3 가 공개되면서, in-context learning 이 실제로 큰 효과가 있다는 것을 보였고, 이를 기반으로 "prompting"이라는.. 2022. 2. 1.
[자연어 처리 입문] 순환 신경망 (Recurrent Neural Network) 을 읽고 간단하게 정리한 내용이다. Vanilla RNN에 대해서 알아보고, Vanilla RNN의 한계를 개선한 LSTM과 GRU에 대해서 간단하게 알아본다. 기존의 신경망들은 입력의 크기가 정해져있다는 단점이 있었다. 하지만, 자연어 처리를 위해서는 다양한 길이의 입력을 처리할 수 있는 인공신경망이 필요했다. # RNN (Recurrent Neural Network) RNN은 시퀸스 모델이다. 시퀸스 모델이란 입력과 출력을 시퀸스 단위로 처리한다는 뜻이다. RNN 은닉층의 셀에서는 셀의 값을 출력층 방량으로 보낼 수 도 있고, 재귀적으로 은닉층의 다음 입력의 계산을 위한 입력으로 사용되기도 한다. 은닉층의 셀은 이전 값을 기억하기 위해 값을 저장하는 역할을 수행하기 때문에, 메모리 셀이라고도 한다. .. 2021. 1. 7.
[자연어 처리 입문] 토픽 모델링 (Topic Modeling) 을 읽고 간단하게 정리한 내용이다. Topic modeling의 대표적인 예로, LSA와 LDA에 대해서 알아본다. 주어진 문제의 추상적인 주제를 발견하는 것이 Topic modeling의 목표이다. # LSA (Latent Semantic Analysis) LSA (LSI 라고 부르기도 한다.) 는 DTM의 잠재된 (latent) 의미를 이끌어내는 방법이다. (DTM에 관련된 내용은 여기에서 확인할 수 있다.) LSA에 대해서 이야기하기 전에, 먼저 SVD(Singular Value Decomposition)에 대해서 이야기해보겠다. SVD는 m×n 차원의 행렬 A 를 3개의 행렬 U, ∑, 로 분해하는 방법이다. 이 때, U, V 는 직교행렬이고, ∑ 는 직사각 대각행렬(주대각선의 값을 제외한 모든 .. 2021. 1. 5.
[자연어 처리 입문] 문서 유사도 (Document similarity) 을 읽고 간단하게 정리한 내용이다. 두 문서(두 벡터)의 유사도를 구하는 방식에 대해서 이야기해본다. 가장 대표적으로는 코사인 유사도가 있고, 유클리드 거리, 자카드 유사도도 고려해볼 수 있다. 두 문서가 얼마나 유사한 내용을 포함하고 있는지, 문서의 유사도를 구하는 방법에 대해서 이야기해본다. # 코사인 유사도 (cosine similarity) 코사인 유사도는 두 벡터간의 각도를 이용해서, 두 벡터의 유사도를 구하는 방법이다. 두 벡터의 방향이 같다면 1, 수직을 이루고 있으면 0, 완전 반대 방향을 향하고 있으면 -1의 값을 결과로 갖는다. 코사인 유사도의 값이 1에 가까울수록 두 벡터는 유사하다고 판단한다. 벡터의 크기로 나눠주기 때문에, 벡터의 크기가 아닌, 방향에 초점을 두고 있다. 그러므로 .. 2020. 12. 31.
[자연어 처리 입문] Count-based word representation (BoW, DTM, TF-IDF) 을 읽고 간단하게 정리한 내용이다. Count-based word representation 중 가장 대표적인 BoW, DTM, TF-IDF에 대해서 간단하게 알아본다. Count-based 단어의 표현 방법은 크게 두 가지로 구분할 수 있다. 현재 단어만 고려하는 local representation(discrete representation)과 주변 단어들을 모두 고려하는 distributed representation (continuous representation) 으로 구분할 수 있다. 이번에는 count-based word representation 방식 중 몇 가지를 알아본다. # Bag-of-Words (BoW) BoW 방식은 단어들의 순서를 고려하지 않고, 출연 빈도수에만 집중하는 방식이.. 2020. 12. 31.
[논문 리뷰] Neural Machine Translation of Rare Words with Subword Units (ACL 2016) Neural Machine Translation에서 자주 나타나지 않는 단어나, 처음보는 단어들에 대해서 대처하기 위해 subword model을 제안한다. 논문의 원본은 여기에서 볼 수 있다. 보통 Neural Machine Translation을 수행할 때 우리는 고정된 크기의 vocabulary 를 사용한다. 하지만, 번역하는 작업은 처음 보는 단어를 입력받을 수도 있고, 처음 보는 단어를 생성해야 하는 경우도 있기 때문에, open-vocabulary problem 이라고 볼 수 있다. 우리는 자주 등장하지 않는 단어나, 처음보는 단어에 대해서도 유연하게 번역 작업을 수행하는 것을 목표로 한다. 기존에 이렇게 자주 등장하지 않는 단어나 처음 보는 단어를 만났을 때, dictionary look-u.. 2020. 12. 30.
[자연어 처리 입문] 언어 모델 (Language Model) 을 읽고 간단하게 정리한 내용이다. 이번 글에서는 통계적 언어 모델(SLM)을 다뤄본다. 추가적으로 automated evaluation metric 중 하나인 perplexity에 대해서도 알아본다. # 언어 모델 (Language Model) Language model (LM) 은 단어 시퀸스에 확률을 할당하는 문제이다. 단어에 확률을 할당해서 가장 자연스러운 단어 시퀸스를 찾아내는 것을 목표로 한다. 시퀸스를 구성하는 이전 단어들이 주어지면, 그 단어들을 기반으로 다음 단어를 예측하게 된다. LM 을 적용할 수 있는 분야들로는 기계번역(machine translation, MT), 오타 교정, 음성 인식 등이 있다. LM은 크게 통계를 이용하는 방법과 인공 신경망을 이용하는 방법으로 구분할 수 있다.. 2020. 12. 29.
[논문 리뷰] Neural Net Models of Open-domain Discourse Coherence (EMNLP 2017) Open-domain 환경에서 discourse coherence(담화 응집성)을 유지하는 dialogue generation에 대한 내용이다. 논뭔의 원본은 여기에서 확인할 수 있다. Discourse coherence(담화 응집성) 는 언어응 이해하고 생성하는데 매우 중요한 역할을 한다. 하지만 기존의 모델들은 세부적인 각각의 요소들에 대한 coherence 를 측정하는 기능만 제공한다. (lexical overlap, entity centering 등) 이번 논문에서는 discourse coherence에 대한 domain-independent neural model 을 제안한다. 크게 discriminative model과 generative model을 제안한다. # Discriminative .. 2020. 12. 28.
[자연어 처리 입문] 데이터 전처리 (text preprocessing) 을 읽고 간단하게 정리한 내용이다. 개념 정리할 겸 써본다. # 데이터 전처리 데이터 (텍스트)를 사용하고자 하는 용도에 맞게 토큰과, 정제, 정규화를 수행해야 한다. # Tokenization : corpus를 token 단위로 나누는 작업 크게 단어 토큰화와 문장 토큰화로 구분할 수 있다. 단어 토큰화(word tokenization)는 말 그대로 토큰의 기준을 단어로 정하는 경우이다. 이 경우 특별히 고려해야 하는 점은 단순히 마침표나 특수문자를 그냥 제외해서는 안된다는 것이다. 예를 들어, Ph.D., m.p.h. 등의 줄임말들은 마침표까지 하나의 토큰으로 분류해야 하는 경우가 있다. 추가적으로 단어들은 품사에 따라서 의미가 달라지기도 한다. 단어들의 품사를 찾아내는 과정을 POS(Part of .. 2020. 12. 28.