본문 바로가기

분류 전체보기

(166)
[Chapter 6] Markov Chains Markov Chain Hidden Markov Model를 정의하기 위해 Markov chain( observed Markov Model )에 대해 알아야 한다. Markov Chain은 Sequence 값이 입력될 경우 유일한 하나의 State를 결정하는 Weighted Finite-State Automaton의 특수한 경우이다. 모호성 문제가 없기 때문이다.(?) Markov Chain As Graphical Model Markov Chain의 그래프 모델의 구성 요소는 Set of States, Transition Probability Matrix, Start State & End Satate로 구성된다. Transition Probability Matrix의 합 $a_{01} + a_{02} +..
[Side Project] 인생퍼즐하고 느낀점... 마지막 모임 진행 사이드 프로젝트 인생퍼즐 마무리를 위해 7월 24일(토) 대면 모임을 가졌다. 1년 동안 진행하면서 잘한 점과 아쉬운 점에 대해서 이야기했다. 그리고 간단하게 아이폰에 빌드된 인생퍼즐을 시연했다. 그리고 함께 저녁을 먹고 모임을 마무리했다. 좋았던 점 사이드 프로젝트를 하면서 처음 접해보는 언어에 대해 공부를 할 수 있어서 좋았다. 프로젝트 개발자들과 "Modern JavaScript" 책 스터디를 하면서 자바스크립트의 기본과 좀 더 심화된 내용을 배울 수 있었다. DreamCoding 엘리의 TypeScript 강의를 들으면서 타입스크립트의 기본을 습득할 수 있었다.  꾸준히 코드를 작성할 수 있는 시간을 가질 수 있어서 좋았다. "수토이브닝코드"를 통해 수요일, 토요일 정해진 시간..
[Chapter 5] Part Of Speech Tagging (2) 1. Rule Based Part Of Speech Tagging 규칙 기반 태깅은 사전을 통해 각 단어에 잠재적 품사 목록을 만든다. 단어에 할당된 품사가 2개 이상인 경우 규칙을 통해 가장 적합한 품사를 정하는 방식이다. 규칙을 통한 품사를 정하는 건 해당 단어의 앞뒤 단어와 함께 이루어진다. 2. Step 1 사전을 통해 단어의 잠재적 품사 목록을 가져온다. 단어에 할당되는 품사는 TagSet에 따라 달라질 수 있다. shownSHOW PCP2 SVOO SVO SV that ADV PRON DEM SG DET CENTERAL DEM SG CS 3. Step 2 규칙을 통해 가장 적합한 품사를 정하는 건 품사 목록에서 적합하지 않은 것을 제거하는 방식으로 진행된다. 조건에서 양수는 해당 단어의 뒤 단..
Bigram Model 구현해보기 책을 보고 Unsmooth Bigram Model 구현 코드를 Python으로 코드를 작성했다. Unknown Word와 특정 단어의 반복 문제 등이 있는 Model이다. 개념을 코드로 구현해보기 위한 것이니 고려해서 보면 좋을 것 같다. 1. Train Corpus 로딩 with open(Corpus 파일 경로, 'r') as fr: contents = fr.read() 2. Bigram 단어 개수 Dictionary 생성 Corpus을 줄과 White Space(' ')기준으로 분리해 Bigram Model에 사용할 단어 개수 Dictionary를 생성 lines = contents.split('\n') word_count_for_bigram_dic = {} for line in lines : seq..
[Chapter4] N-gram 평가 방법 평가 방식 1. Extrinsic Evaluation (in vivo) 방식 end-to-end 방식으로 적용하려는 어플리케이션에서 각 모델을 수행함으로 성능 비교를 한다. 높은 정확도를 얻을 수 있지만 시간 비용이 높을 수 있다. 2. Intrinsic Evaluation 방식 어플리케이션에 독립적으로 모델의 성능을 평가할 수 있는 방식이다. 일반적으로 Extrinsic Evaluation 평가보다 속도가 빠르다. 일반적으로 많이 쓰이는 방식은 Perplexity 값을 구해 모델의 성능을 비교하는 것이다. Perplexity ? Perplexity는 언어 모델과 Test-Set을 통해 확률을 구해 단어 개수로 정규화한 값이다. Perplexity는 두 확률 모델이 주어졌을 때, Test-Data에서 예..
[Chapter 5] Part Of Speech Tagging (1) Part-of-Speech Tagging 필요 이유 단어와 주변 단어에 대한 정보를 제공해준다. 음성인식 모델, 자연스러운 발음을 할 수 있는 TTS 시스템, 정보 검색 Stemming 과정에서 활용될 수 있다. 자연스러운 TTS에 사용될 수 있는 예 [대문자는 악센트] content : CONtent [명사] conTENT [형용사] object : OBject [명사] obJECT [동사] discount : DIScount [명사] disCOUNT [동사] Part-of-Speech ? 영어권에서는 8 품사를 가지고 있으며, Closed Class와 Open Class로 분류할 수 있다. Closed Class는 단어의 집합이 고정되어 있는 품사들의 집합을 말한다. Open Class는 단어의 집합..
단어 수를 세기 위해 기준이 되는 용어 NLP에서는 Corpus(Corpora)의 단어 수를 사용한다. 단어를 셀 때 기준이 되는 것은 무엇일까? 문장에서 Punctuation을 단어로 취급 유무에 따라 한 문장을 이루고 있는 단어의 개수는 달라진다. Punctuation은 온점(.), 쉼표(,), 물음표(?) 등을 포함하며, 문장 간의 경계와 물음표같이 의미를 식별하는 기준으로 사용된다. He stepped out into the hall, was delighted to encounter a water brother. Punctuation 미포함 단어 개수 : 13개 Punctuation 포함된 단어 개수 : 15개 Disfluencies는 깨진 단어를 나타내는 Fragment와 영어의 uh와 um같은 단어를 나타내는 Filler(Fille..
[Chapter 4 ] N-gram 공부 정리 2022.05.15 (일) N-gram 장에서는 단어 예측과 예측에 대한 신뢰성을 다루고 있다. 단어 예측의 경우 전체 문장에서 예측 단어가 나올 확률을 구하는 방식을 사용한다. 이것을 매번 계산하는건 자원의 소모가 크다. 예측 단어 앞 N-1개의 단어를 통해 근사치의 확률을 구한다. 이를 통해 생성할 수 있는 모델이 N-gram이다. $P(w_{n}|w_{n-1}^{1})\approx P(w_{n}|w_{n-1}^{n-N+1})$ N-gram은 N의 개수에 따라 Unigram(1), Bigram(2), Trigram(3)등으로 분류가 된다. N의 개수에 따라 모델의 정확도는 올라가지만 계산 속도는 느려진다. 이처럼 정확도와 계산속도가 Trade-Off 관계이기에, 일반적으로 N을 5이하의 값으로 설정하..