Processing math: 100%
본문 바로가기

전체 글

(172)
[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(wn|w1n1)P(wn|wnN+1n1) N-gram은 N의 개수에 따라 Unigram(1), Bigram(2), Trigram(3)등으로 분류가 된다. N의 개수에 따라 모델의 정확도는 올라가지만 계산 속도는 느려진다. 이처럼 정확도와 계산속도가 Trade-Off 관계이기에, 일반적으로 N을 5이하의 값으로 설정하..
[계획] 2022년 4개월을 보내고, 앞으로 계획 NLP라는 막연한 목표로 나아가게 된 계기는 대단하지 않다. 개발에 대해 관심을 갖게 되었을 때 국문과를 다녔으며, 전과를 생각했을 때 NLP를 하시는 좋은 교수님을 만났고 멋있어 보였기 때문이다. 생각해보면 전공을 살려 멋있어 보이는 걸 하고 싶은 대책 없는 마음이었다. 30살이 돼서 돌아보니, NLP에 대한 지식은 하나도 공부하지 않았다. 졸업 후 취업 준비, 직장 일로 바빴다고 핑계는 많이 늘어놓고 싶은 심정이지만 내가 게을렀기 때문이다. 지금은 능력없는 고집을 버리기가 무서워서인지 대학원 준비라는 명목으로 도망을 치려고 하는 것 같다. 이전과 같이 뚜렷한 목표와 열정, 노력도 없는 상태에서 말이다. 그러다 보니 NLP, 수학, 대학원 준비에 대한 공부는 하지 않고 사이드 프로젝트, 개발도서 스터디..
[RN] Android Permission "never_ask_again"일 때 권한 허락 1. Permission Never Ask Agian 문제 음성 녹음 기능 구현 중 Mic의 권한이 never_ask_again이며 dneined 상태라는 것을 알게됐다. App에서 권한 재요청을 할 수 없었고 이로인해 기능 테스트를 할 수가 없었다. 코드를 통해 다시 요청할 수 있는 방식을 찾을 수 없어 Simualtor에서 App의 권한을 주는 방법을 사용하기로 했다. App Permission은 Android Studio Simulator 설정 창에 들어가 변경할 수 있다. Setting > App & notifications > Permission manager 경로로 들어가면 Android의 여러 권한을 각각 설정할 수 있다. 2. Microphone 권한 부여 Permission manager..