Process Program 과 Processor 랑은 다른 개념, Process 는 실행가능한 Program의 instance 이다.(* Program: 실행가능한 file)(* Processor: CPU) 여러개의 프로그램들이 동시에 같은 시스템에서 실행 될 수 있는데, 이런 동시 실행은 context switch 를 통해 이루어진다.이때 context란 프로세스가 필요로 하는 정보들인 Program Counter(* PC)나 register, main memory들을 담은 상태 정보를 의미한다. Virtual Address Space 각각의 프로세스가 사용하는 가상의 메모리 공간.(* 아래의 이미지는 리눅스 환경에서의 프로세스의 가상 메모리 공간입니다.) 위 가상공간의 주소 값으로 보아 32bit..
전체 글
0. 들어가기전 https://wikidocs.net/48558 08. 순환 신경망(Recurrent Neural Network)앞서 배운 피드 포워드 신경망은 입력의 길이가 고정되어 있어 자연어 처리를 위한 신경망으로는 한계가 있었습니다. 결국 다양한 길이의 입력 시퀀스를 처리할 수 있는 인공 신경망이 …wikidocs.net을 정리한 내용입니다. 1. 순환 신경망의 출현 배경 피드 포워드 신경망은 입력의 길이가 고정되어 있어 자연어 처리를 위한 신경망으로는 한계가 있었습니다.그리고 피드 포워드 신경망은 입력 -> 은닉 -> 출력층으로 이어지는 단방향 구조로써, 이전 스텝의 출력의 영향을 받지 않는다는 점이 시퀀스를 처리하기에는 한계가 있었습니다. 결국 다양한 길이의 입력 시퀀스를 처리할 수 있는 인공..
1. 임베딩(* Embedding) 워드 임베딩은 단어를 컴퓨터가 이해하고, 효율적으로 처리할 수 있도록 단어를 벡터화하는 기술입니다.워드 임베딩은 단어의 의미를 잘 표현해야만 하며, 현재까지도 많은 표현 방법이 연구되고 있는 분야입니다. 워드 임베딩을 거쳐 잘 표현된 단어 벡터들은 벡터 공간에서 계산이 가능하며, 모델 투입도 가능합니다. 2. 인코딩(* Encoding) 기계는 자연어(* 영어, 한국어)를 이해할 수 없기 때문에, 데이터를 기계가 이해할 수 있도록 숫자 등으로 변환해주는 작업이 필수적입니다. 이런 작업을 인코딩(* Encoding)이라고 합니다.텍스트 처리에서는 주로 정수 인코딩, 원 핫 인코딩을 사용합니다. 2.1 정수 인코딩 dictionary를 이용해서 정수 인코딩을 할 수 있습니..
0. 시작하기 전 https://nlpinkorean.github.io/visualizing-neural-machine-translation-mechanics-of-seq2seq-models-with-attention/ Visualizing A Neural Machine Translation Model (Mechanics of Seq2seq Models With Attention)최근 10년 동안의 자연어 처리 연구 중에 가장 영향력이 컸던 3가지를 꼽는 서베이에서 여러 연구자들이 꼽았던 연구가 바로 2014년에 발표됐던 sequence-to-sequence (Seq2seq) + Attention 모델입니다 (Sutskevnlpinkorean.github.io다음의 글을 참고해서 작성했습니다. 1. Se..
0. 개요 토픽 모델링은 문서 집합에서 주제를 찾아내기 위한 기술입니다.토픽 모델링은 '특정 주제에 관한 문서에서는 특정 단어가 자주 등장할 것이다'라는 직관을 기반으로 합니다. 예를 들어, 주제가 '개'인 문서에서는 개의 품종, 개의 특성을 나타내는 단어가 다른 문서에 비해 많이 등장할 것입니다. 주로 사용되는 토픽 모델링 방법은 잠재 의미 분석(* LSA)와 잠재 디리클래 할당 기법(* LDA)이 있습니다. 1. 잠재 의미 분석(* Latent Semantic Analysis) 잠재 의미 분석(* LSA)은 주로 문서 색인의 의미 검색에 사용됩니다. 그래서 잠재 의미 인덱싱(* Latent Semantic Indexing, LSI)로도 알려져 있습니다. LSA의 목표는 문서와 단어의 기반이 되는 잠재..
0. 개요 사회 연결망 분석(* Social Network Analysis)는 분석 대상 및 분석 대상들간의 관계를 연결망 구조로 표현하고 이를 계량적으로 제시하는 분석 기법입니다. 사회 연결망 분석은 사람, 장소, 물품 등의 객체 간의 관계를 분석하는데 효과적이며 주로 친구 관계, 전력 공급 등을 분석하는데 사용합니다. 사회 연결망 분석 기법은 텍스트 내 단어의 관계에 적용한 것이 바로 의미 연결망 분석입니다.의미 연결망 분석에서는 일정한 범위 내에서 어휘가 동시에 등장하면 서로 연결된 것으로 간주, 이 연결 관계를 분석합니다. 1. n-gram nltk 라이브러리는 편하게 n-gram을 생성할 수 있는 함수를 제공합니다.먼저 nltk 의 'punkt' 를 다운받습니다.import nltknltk.do..
1. 군집 분석 군집 분석은 데이터의 특성에 따라 유사한 것끼리 묶어 분석하는 것을 의미합니다.다시 말해, 유사성을 기반으로 군집을 분류하고, 군집에 따라 유형별 특징을 분석하는 기법입니다. 텍스트에 대한 군집 분석에서는 군집으로 묶여진 텍스트끼리는 최대한 유사하고, 다른 군집으로 묶여진 텍스트들과는 최대한 유사하지 않도록 분류하는 것이 핵심입니다. 2. 유사? 텍스트 유사도를 계산하는 방식에는 여러 가지 방법이 있지만,지금은 자카드 유사도와 코사인 유사도를 사용하겠습니다.자카드 유사도(* Jaccard Similarity): 두 텍스트 문서 사이에 공통된 용어의 수와 해당 텍스트에 존재하는 총 고유 용어 수의 비율을 사용하는 유사도입니다.https://heytech.tistory.com/358 [NLP..
1. Deep Learning 딥러닝은 심층학습입니다. 통계를 기반으로 하는 머신러닝 알고리즘보다 데이터의 복잡한 패턴을 파악하기에 더욱 용이합니다. 딥러닝은 인공지능의 한 분야로 대표적인 기계학습 방법론입니다.Deep Learning Architecture 는 다음과 같습니다: 신경망은 뇌의 뉴런들이 상호 연결되어 경험으로부터 학습한느 두뇌의 생물학적 활동을 모형화 한 것입니다.대표적인 신경망 아키텍처로는 MLP(* Multi-Layer Preceptron) 혹은 FFN 이라고 부르는(* Feed-Forward networks) 가 있습니다. 이 네트워크는 단순히 입력 값을 받아들이는 노드들로 구성된 입력층(* Input Layer)과 이전 층으로부터 입력 정보를 받아들이는 노드들로 구성된 전방향층(*..