본문 바로가기

Computer/NLP

Bert Examples 1) huggingface bert를 많이 사용 huggingface.co/transformers/notebooks.html 🤗 Transformers Notebooks You can find here a list of the official notebooks provided by Hugging Face. Also, we would like to list here interesting content created by the community. I... huggingface.co 2) best practice: bert를 classification에 사용 colab.research.google.com/github/huggingface/notebooks/blob/master/examples/text_cla.. 더보기
jaro-winkler similarity(jaro-winkler distance) 프로젝트 중 알게된 edit distance 비교 방법이 있어서 정리해본다.(사실 매번 Damerau–Levenshtein distance만 사용했었다...) jaro similarity(jaro distance) jaro distance는 두 단어간의 transpositions에 집중한 알고리즘이다.(insertion, deletion, substitution은 고려하지 않음) transposition은 간단히 위치 교환이라고 생각하면 된다. 아래와 같이 두 단어가 있을 때, transpositions은 총 2회 발생한다.(a=> b, b => a) word1 : a ---- bword2 : b ---- a jaro distance는 두 단어가 비슷할수록 1에 가까운 값을 가지고, 다를수록 0에 가까운.. 더보기
noisy channel model and spell correction 잠깐 보고 정리해봅니다...(기억력의 한계를 극복해보고자...) ref : https://web.stanford.edu/~jurafsky/slp3/5.pdf일단 noisy channel model은 "original word가 noisy channel에 의해 noisy word(distorted 됐다고 표현)가 되고, 이를 decoder를 통해 original word와 가장 비슷한 것을 추측"하는 모델인데... 스펠러와 연결지어 생각해보면... 1) misspelled word : noisy word(noisy channel을 통해 distorted된 word)2) noise는 substitutions or other changes to the letters(original word에서 distorte.. 더보기
Perplexity in LM 뭔가 아는데, 설명을 못하는 상황이라서 개념 정리한 내용입니다.지금 필요한 내용이 LM의 perplexity를 어떻게 계산할 것인지에 대한 내용이라 LM perplexity를 계산하는 관점에서 정리했습니다. Perplexity란?확률이 얼마나 샘플 데이터를 예측하고 있는지를 측정하는 방법perplexity is a measurement of how well a probability distribution or probability model predicts a sample.(https://en.wikipedia.org/wiki/Perplexity)Perplexity수식 설명b : 보통 2를 사용(왜 2를 보통으로 사용하는지는 모르겠으나, 왠지 엔트로피를 구할 때 bits로 표현 가능한 정보량을 설명하는 .. 더보기
논문 리뷰(한글 검색 질의어 오타 패턴 분석과 사용자 로그를 이용한 질의어 오타 교정 시스템 구축) 회사분이 추천해 준 논문인데, 배울 점이 많은 것 같다.수작업으로 만든 데이터와 기계적으로 추출한 데이터의 상관관계를 비교하는 부분이나,한국어 발음과 키보드간 거리를 결합하여 사용한 부분,연산비용을 계산하여 swap에 우선순위를 둔 부분 등이 마음에 든다. 논문한글 검색 질의어 오타 패턴 분석과 사용자 로그를 이용한 질의어 오타 교정 시스템 구축(전희원, 다니엘 홍, 임해창)http://www.slideshare.net/gogamza/ss-6265729요약가중치를 적용한 교정 거리 연산 사용베이지언 노이즈 채널 모델 + 한국어 특유의 속성 추가야후 로그에서 ed2까지의 데이터를 추출 후, 오타 -정타 쌍을 추출 후 계산ㅇㅑ후, 야후 의 keystroke 구분하기 위해 divider라는 개념 사용(d~i~.. 더보기
Moses 학습 & 실행 이번 글에서는 moses를 이용하여 번역 모델을 학습하고, 실행하는 방법에 대해 공유한다.moses 공식 사이트에 있는 baseline 실행하고, 정리한 내용이다.baseline url : http://www.statmt.org/moses/?n=Moses.Baseline 이 글을 검색해서 보고 있다는 것 자체가 번역모델이 무엇인지, 그리고 학습이 왜 필요한지에 대해 알고 있는 분이라 생각하여 why에 대한 부분은 생략하고 바로 실행하는 부분에 대해 설명한다. 학습과정을 나누면 5단계로 구성되어 있다.(baseline 기준) 1. 말뭉치를 전처리하고, moses 학습 형태로 변경2. 언어 모델(lanaguage model)을 빌드3. 번역 모델 학습 4. 파라미터 튜닝5. 번역 모델 바이너리화 * 영어를 .. 더보기
Moses 설치 moses는 smt(statistical machine translation) tool이다.예전에 더 어려웠던 것 같은데, 설치 과정이 많이 단순해졌다. 직접 경험했던 설치 과정을 공유한다. 일단 링크부터...http://www.statmt.org/moses/?n=Development.GetStarted 위 사이트를 가서 한 단계씩 따라한다면 아주 쉽게 설치할 수 있다...(사실 여러번의 삽질을 통해 쉽게 설치할 수 있다는 것을 알았다.) 1. moses download & release 3.0 선택 $ git clone https://github.com/moses-smt/mosesdecoder.git $ git checkout RELEASE-3.0 처음에 릴리즈 된 버전을 선택하지 않고, 사용했다가 설.. 더보기
nltk pos tagger import nltk tokenized_sentence = nltk.word_tokenize('I want to something to drink')tagged_sentence = nltk.pos_tag(tokenized_sentence) print tagged_sentence [('I', 'PRP'), ('want', 'VBP'), ('to', 'TO'), ('something', 'NN'), ('to', 'TO'), ('drink', 'VB')] 이렇게 사용하면 간단히 사용 가능~ 더보기
english pos tagger english pos tagger 찾기 NLP 역사가 오래된 만큼, 여러 tagger 들이 존재한다. http://aclweb.org/aclwiki/index.php?title=POS_Tagging_(State_of_the_art) 여기에 잘 정리되어 있다.몇멏 tagger에 대해 테스트 해 볼 예정이다. 더보기
베이지안 정리(Bayes' Theorem) 베이즈 정리에 대해 잘 안다고 말하는 정도가 어느정도인지...이 정도를 안다고 하는 건 들어는 봤다고 말하는 느낌이다.하지만, 일단 이해한 부분까지 정리해본다.http://darkpgmr.tistory.com/62 의 글을 통해 이해했다. * 조건부 확률 = 베이지안 룰 = 베이지안 정리 = 베이지안 법칙 P(x | z) = p( z | x) * p( x ) / p( z ) - 용어 정리p(x | z) : 사후 확률(posterior probability), 어떤 사건(관측값) 이후에 나타나는 확률p(z | x) : 우도, 가능도(liklihood), 표본이 모집단을 대표하는 정도?(이 부분에 대해서는 공부가 더 필요하다)p( x ) : 사전 확률(prior probability), 어떤 사건(관측값) .. 더보기