본문 바로가기
  • 데이터에 가치를 더하다, 서영석입니다.

딥러닝25

[딥러닝 자연어처리] 6-1. 토픽 모델링 딥러닝을 이용한 자연어처리 입문 # 6-1. 토픽 모델링 토픽 모델링 : 기계 학습이나 자연어 처리 분야에서 텍스트 본문의 숨겨진 의미 구조를 발견하기 위해 사용되는 텍스트 마이닝 기법 1) 잠재 의미 분석 (Latent Semantic Analysis, LSA) LSA : 토픽 모델링을 위한 최적화 알고리즘 x LDA : LSA의 단점을 보완한 최적화 알고리즘 o DTM or TF-IDF : 단어의 빈도 수를 이용한 수치화 방법 → 단어의 의미 고려하지 못함 ⇒ 대안 = LSA : DTM의 의미를 이끌어내는 방법(잠재 의미 분석) ⇒ 특이값 분해(SVD) 특이값 분해(Singular Value Decomposition, SVD) A = m x n 행렬 → 3개의 행렬의 곱으로 분해 직교행렬 : 자신과 .. 2023. 12. 8.
[딥러닝 자연어처리] 5. 벡터의 유사도 딥러닝을 이용한 자연어처리 입문 # 5. 벡터의 유사도 벡터의 유사도란? 문장과 문서의 유사도 인간: 문서들 간에 동일한 단어가 얼마나 공통적으로 사용되었는지 기계: 문서의 단어들을 어떤 방법으로 수치화하여 표현했는지 (ex: DTM, Word2Vec), 문서간의 단어들의 차이를 어떤 방법으로 계산했는지 (ex: Euclidean distance, Cosine similarity) 1) 코사인 유사도 정의: 두 벡터간의 코사인 각도를 이용하여 구할 수 있는 벡터의 유사도 코사인 유사도는 -1에서 1사이의 값을 가짐 두 벡터의 방향이 동일할 경우: 1 두 벡터의 방향이 180도로 반대일 경우: -1 1에 가까울수록 유사도가 높다고 판단 2) 코사인 유사도 식 코사인 유사도의 장점 예시 > 문서1 : 저는 .. 2023. 12. 6.
[딥러닝 자연어처리] 4. 카운트 기반의 단어 표현 딥러닝을 이용한 자연어처리 입문 #4. 카운트 기반의 단어 표현 1. 다양한 단어의 표현 방법 1. 단어의 표현 방법 국소 표현 - 단어 자체만 보고, 특정값을 맴핑해 단어 표현하는 방법 분산 표현 - 주변을 참고해서 단어 표현하는 방법 ex) puppy, cute, lovely란 단어가 있을 때, 숫자를 mapping → 국소 표현 방법 ↔ 분산 표현 방법 = 단어 표현 위해 주변 단어 참고 puppy란 단어 근처에 cute, lovely가 나오게 되면 → puppy를 이런 단어로 정의하도록 분산 표현은 단어의 뉘앙스를 이해, 표현하도록 함 국소 표현 ⇒ 이산 표현, 분산 표현 ⇒ 연속 표현 (분리 방법과 관련있음) 2. 단어 표현의 카테고리화 뒤에 나오는 Bag of Words ⇒ 국소 표현에 속해... 2023. 12. 5.
[딥러닝 자연어처리] 3. 언어모델 (Language Model) 딥러닝을 이용한 자연어처리 입문 #3. 언어모델 (Language Model) 언어모델이란? 언어 모델(Languagel Model)이란 단어 시퀀스(문장)에 확률을 할당하는 모델 언어 모델이 이전 단어들로부터 다음 단어를 예측하는 일 자연어 처리에서 단어 시퀀스에 확률을 할당하는 일이 왜 필요할까? 주어진 이전 단어들로부터 다음 단어 예측 단어 시퀀스의 확률 하나의 단어를 w, 단어 시퀀스을 대문자 W라고 한다면, n개의 단어가 등장하는 단어 시퀀스 W의 확률은 다음과 같다 다음 단어 등장 확률 1개의 단어가 나열된 상태에서 n번째 단어의 확률 전체 단어 시퀀스 W의 확률은 모든 단어가 예측되고 나서야 알 수 있으므로 단어 시퀀스의 확률은 다음과 같음 N-gram 언어 모델 통계적 접근을 사용하고 있음.. 2023. 12. 4.
[딥러닝 자연어처리] 2-2. 텍스트 전처리 (Text Preprocessing) 딥러닝을 이용한 자연어처리 입문 #2-2. 텍스트 전처리 (Text Preprocessing) 06) 정수 인코딩(Integer Encoding) 컴퓨터는 텍스트보다는 숫자를 더 잘 처리할 수 있음. 특정 단어들과 매핑되는 고유한 정수, 인덱스를 부여하는 것 1. 정수 인코딩 Dictionary 사용하기 from nltk.tokenize import sent_tokenize from nltk.tokenize import word_tokenize from nltk.corpus import stopwords raw_text = "A barber is a person. a barber is good person. a barber is huge person. he Knew A Secret! The Secret .. 2023. 12. 1.
[딥러닝 자연어처리] 2-1. 텍스트 전처리 (Text Preprocessing) 딥러닝을 이용한 자연어처리 입문 #2-1. 텍스트 전처리 (Text Preprocessing) 01) 토큰화(Tokenization) 주어진 코퍼스(corpus)에서 토큰(token)이라 불리는 단위로 나누는 작업 1. 단어 토큰화 (Word Tokenization) 토큰의 기준을 단어(word)로 하는 경우 입력: **Time is an illusion. Lunchtime double so!** 출력: "Time", "is", "an", "illusion", "Lunchtime", "double", "so" 2. 토큰화 중 생기는 순간 토큰화를 진행하다보면, 예상치 못한 경우가 발생하여 토큰화의 기준을 설정하는 것이 필요 분석자가 기준을 정해서 토큰화를 수행 3. 토큰화에서 고려해야할 사항 구두점이나 .. 2023. 11. 30.