주제별로 모은 포스트들입니다. 한 포스트가 여러 주제에 속하기도 합니다.
Machine learning algorithm
Classification
- Logitsic regression and Softmax regression for document classification
- Logistic regression with L1, L2 regularization and keyword extraction
- Scikit-learn Logistic Regression fails for finding optima?
- Decision trees are not appropriate for text classifications.
- Tree traversal of trained decision tree (scikit-learn)
Sequential labeling
- From Softmax Regression to Conditional Random Field for Sequential Labeling
- Ford algorithm 을 이용한 품사 판별, 그리고 Hidden Markov Model (HMM) 과의 관계
- Hidden Markov Model 기반 품사 판별기의 decode 함수
- Reviews of sequential labeling algorithms (Sparse representation model)
Clustering
- k-means initial points 선택 방법
- Cluster labeling for text data
- Spherical k-means for document clustering
- k-means Ensemble 구현과 학습 시 주의할 점
Nearest neighbor search
- Random Projection and Locality Sensitive Hashing
- Small-world phenomenon 을 이용한 network 기반 nearest neighbor search
Graph ranking, similarity, distance
- Graph ranking algorithm. PageRank and HITS
- Implementing PageRank. Python dict vs numpy
- TextRank 를 이용한 키워드 추출과 핵심 문장 추출 (구현과 실험)
- Ford algorithm 을 이용한 최단 경로 탐색
- Ford algorithm 을 이용한 품사 판별, 그리고 Hidden Markov Model (HMM) 과의 관계
Embedding for visualization
- t-Stochastic Neighbor Embedding (t-SNE) 와 perplexity
- Embedding for Word Visualization (LLE, ISOMAP, MDS, t-SNE)
- Self Organizing Map. Part 1. Implementing SOM from scratch
Attention mechanism
Natural Language Processing
Text data preprocessing
- From text to term frequency matrix (KoNLPy)
- Komoran, 코모란 형태소 분석기 사용 방법과 사용자 사전 추가 (Java, Python)
- Building your KoNLPy. Komoran3 를 Python class 로 만들기
- Scipy sparse matrix handling
- Conditional Random Field based Korean Space Correction
- soyspacing. Heuristic Korean Space Correction, A safer space corrector.
Word extraction, Tokenization, Part of speech tagging
- Part of speech tagging, Tokenization, and Out of vocabulary problem
- Left-side substring tokenizer, the simplest tokenizer.
- Word Piece Model (a.k.a sentencepiece)
- Uncertanty to word boundary; Accessor Variety & Branching Entropy
- Cohesion score + L-Tokenizer. 띄어쓰기가 잘 되어있는 한국어 문서를 위한 unsupervised tokenizer
- 띄어쓰기가 되어있지 않은 한국어를 위한 토크나이저 만들기 (Max Score Tokenizer 를 Python 으로 구현하기)
- Unsupervised tokenizers in soynlp project
- 명사 추출기 (1) soynlp.noun.LRNounExtractor
- 명사 추출기 (2) soynlp.noun.LRNounExtractor_v2
- 명사 추출기 (3) Noun extraction and noun tokenization
- 한국어 용언의 원형 복원 (Korean lemmatization)
- 한국어 용언의 활용 함수 (Korean conjugation)
- 말뭉치를 이용한 한국어 용언 분석기 (Korean Lemmatizer)
- Hidden Markov Model (HMM) 기반 품사 판별기의 원리와 문제점
- Hidden Markov Model 기반 품사 판별기의 decode 함수
- Conditional Random Field (CRF) 기반 품사 판별기의 원리와 HMM 기반 품사 판별기와의 차이점
- (Review) Incorporating Global Information into Supervised Learning for Chinese Word Segmentation
Keywords, related-words extraction
- Logistic regression with L1, L2 regularization and keyword extraction
- Term proportion ratio base Keyword extraction
- KR-WordRank, 토크나이저를 이용하지 않는 한국어 키워드 추출기
- Implementing PMI (Practice handling matrix of numpy & scipy)
- TextRank 를 이용한 키워드 추출과 핵심 문장 추출 (구현과 실험)
- KR-WordRank 를 이용한 핵심 문장 추출과 ROUGE 를 이용한 요약문 성능 평가
Named Entity Recognition
- Conditional Random Field based Named Entity Recognition
- Word2Vec 과 Logistic Regression 을 이용한 (Semi-supervised) Named Entity Recognition
Word Representation
- Word / Document embedding (Word2Vec / Doc2Vec)
- Word2Vec understanding, Space odyssey of word embedding (1)
- (Review) From frequency to meaning, Vector space models of semantics (Turney & Pantel, 2010)
- (Review) Neural Word Embedding as Implicit Matrix Factorization (Levy & Goldberg, 2014 NIPS)
- Implementing PMI (Practice handling matrix of numpy & scipy)
- GloVe, word representation
- FastText, Word representation using subword
- (Gensim) Word2Vec 의 최소 빈도수 설정
- Document vectors 와 word vectors 를 함께 시각화 하기 (Doc2vec 공간의 이해)
Topic modeling
- pyLDAvis 를 이용한 Latent Dirichlet Allocation (LDA) 시각화하기
- pyLDAvis 를 이용한 k-means 학습 결과 시각화하기
- NMF, k-means 를 이용한 토픽 모델링과 NMF, k-means + PyLDAvis 시각화
String distance
- Levenshtein (edit) distance 를 이용한 한국어 단어의 형태적 유사성
- Inverted index 를 이용한 빠른 Levenshtein (edit) distance 탐색
Data visualization
- Seaborn vs Bokeh. Part 1. Seaborn tutorial
- Seaborn vs Bokeh. Part 2. Bokeh tutorial
- Python plotting kit Bokeh (beginner)
- Plotly 를 이용한 3D scatter plot
- Word cloud in Python
- t-Stochastic Neighbor Embedding (t-SNE) 와 perplexity
- Embedding for Word Visualization (LLE, ISOMAP, MDS, t-SNE)
- pyLDAvis 를 이용한 Latent Dirichlet Allocation (LDA) 시각화하기
- pyLDAvis 를 이용한 k-means 학습 결과 시각화하기
PyTorch
Application: 띄어쓰기 오류 교정
- From Softmax Regression to Conditional Random Field for Sequential Labeling
- Conditional Random Field based Korean Space Correction
- soyspacing. Heuristic Korean Space Correction, A safer space corrector.
Applications: Carblog
and more
- soydata. 복잡한 인공 데이터 생성을 위한 함수들
- Cherry picking 의 위험성과 testing 설계의 중요성
- Github 으로 텍스트 문서 버전 관리하기
- Github 으로 데이터 공유 API 만들기
- AWS S3 에 데이터셋 공유하기 (Bucket 만들고 파일 업로드 하기)
- AWS CLI (Command Line Interface) 를 이용하여 S3 버킷 다루기 (파일 업로드, 폴더 동기화) 및 AWS IAM 등록
- Bokeh 와 Flask 를 이용한 AWS S3 access log 모니터링 앱 만들기
- Python dill 로 class definition 까지 binary 로 저장하기
- praw 를 이용한 Reddit scrapping 과 아카이빙이 된 이전 Reddit 가져오기
- 한국어 텍스트마이닝 실습용 데이터셋 (lovit textmining dataset) 과 실습 코드 (python ml4nlp)