본문 바로가기
반응형

전체보기119

[6] 마르코프 체인과 LSTM으로 문장 생성하기 마르코프 체인(Markov Chain)이란? 마르코프 체인은 마르코프 특성을 가지고 이산적인 경우만 고려하는 것을 말한다. 마르코프 특성은 과거 상태와 현재 상태가 주어졌을 때, 미래 상태가 과거 상태와 무관하게 현재 상태에 의해서만 결정되는 것을 말한다. 마르코프 체인으로 문장 생성하기 마르코프 체인으로 문장을 만드는 과정은 다음과 같다. 1. 문장을 단어로 분할(형태소 분석)합니다. 2. 단어의 전후 연결을 딕셔너리에 등록합니다. 3. 사전을 사용해 임의의 문장을 생성합니다. 사전은 단어 하나씩이 아니라 단어를 몇 개씩 묶어서 사전으로 등록한다. 예를 들면 "나는 커피를 마신다."라는 문장이 있으면 아래와 같이 사전으로 등록한다. 나|는|커피 는|커피|를 커피|를|마신다 import os import.. 2020. 8. 15.
[5] 문장의 유사도 분석하기 - 레벤슈타인 거리, N-gram 레벤슈타인 거리란? 레벤슈타인 거리는 문자열이 얼마나 비슷한 지를 나타내는 것으로 편집 거리라고도 부른다. 비슷한 어구 검색, DNA 배열의 유사성 판단 등 다양한 분야에서 활용된다. 편집할 때 몇 번의 문자열 조작이 필요한지를 계산해 편집 거리를 구한다. 예시로 살펴보자면 hat과 here의 편집거리는 3이다. hat을 here이라는 문자열로 바꾸려면 a를 e로, t를 r로 수정하고 e를 추가해야한다. 물론 hat을 here로 바꾸는 방법은 매우 다양하다. 하지만 레벤슈타인 거리는 hat에서 here로 편집할 때 필요한 문자열 조작 횟수 중에서 가장 최솟값을 말한다. 그러면 파이썬으로 레벤슈타인 거리를 구하는 프로그램을 만들어보자. #레벤슈타인 거리 구하기 def calc_distance(a, b): .. 2020. 8. 6.
[4] MLP(Multi Layer Perceptron)로 텍스트 분류하기 MLP(Multi Layer Perceptron)란? 단층 퍼셉트론에서 은닉층이 추가된 신경망을 말한다. 단층 퍼셉트론은 입력층, 출력층으로 구성되어 있다. 다층 퍼셉트론은 입력층, 출력층, 은닉층으로 구성된다. 다층 퍼셉트론은 입력층에서 출력층 방향으로만 연산이 진행된다. 이러한 신경망을 피드 포워드 신경망(Feed-Forward Neural Network, FFNN)이라 부른다. 텍스트 데이터를 고정 길이의 벡터로 변환하는 방법 텍스트를 벡터 데이터로 변환하는 방법은 One-Hot Encoding, Bag of Words(BOW), Count Vector, TF-IDF 등이 있다. 여기서 Bag of Words를 사용해 텍스트를 변환해보겠다. *Bag of Words(BoW)란? - 단어들의 출현 횟.. 2020. 7. 30.
[3] 나이브 베이즈 분류를 사용한 텍스트 분류 텍스트 분류란? - 텍스트를 카테고리별로 분류하는 것을 말한다. - 텍스트 분류의 예시로는 스팸 분류, 감정 분류, 의도 분류 등이 있다. 텍스트 분류 방법 - 지도 학습을 통한 텍스트 분류 모델 : 나이브 베이즈 분류, SVM, 신경망, 선형 분류 등 - 비지도 학습을 통한 텍스트 분류 모델 : K-평균 군집화, 계층적 군집화 나이브 베이즈(Naive Bayse) 분류란? - 나이브 베이즈 분류는 베이즈 정리를 기본으로 하는 분류 기법 - 스팸 필터, 감정 분석, 추천 시스템 등에 활용된다. - 학습을 많이 시킬수록 분류 능력이 향상된다. - 나이브(naive)라는 단어가 붙는 이유는 데이터셋의 모든 특징들이 동등하고 독립하다고 가정하기 때문이다. 베이즈 정리 - P(A) : A가 일어날 확률 (사전 .. 2020. 7. 25.
반응형