반응형 Study86 [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. [2-2] Word2Vec을 활용해 문장을 벡터로 변환하기 단어임베딩(Word Embedding)이란? - 단어 간의 관계를 반영하기 위해 단어를 벡터로 매핑하는 것을 말한다. - 대표적인 모델 : word2vec, GloVe, FastText Word2Vec 이란? - word2vec은 단어 임베딩 모델 중 하나이다. word2vec에서 가장 중요한 아이디어는 비슷한 분포를 가진 단어들은 비슷한 의미를 가진다는 것이다. - word2vec에서 사용하는 2가지 알고리즘 : CBOW(Continuous bag of words), Skip-gram ① CBOW : 주변 단어(맥락)로 타겟 단어를 예측하는 방식 - 크기가 작은 데이터셋에 적합하다. ② Skip-gram : CBOW와 정반대 방식으로 타겟 단어로 주변 단어(맥락)를 예측하는 방식 - 크기가 큰 데이터셋.. 2020. 7. 17. 이전 1 ··· 15 16 17 18 19 20 21 22 다음 반응형