목록Deep Learning/NLP (6)
운동하는 공대생

1. Background Theories 1.1 Graph representation learning GNN 은 우리가 일상적으로 접하는 데이터중에서 데이터 간의 복잡한 관계를 표현하기에 위해서 등장한 이론이다. 예를 들어 소셜 네트워크, 웹 페이지 및 분자 구조 등이 그래프로 표현될 수 있다. GNN은 이러한 그래프 데이터를 분석하여 패턴, 상호 관계 및 특성을 발견하는 데 사용된다. 모델은 데이터 간의 관계를 이해하고 활용하는 데 사용되며 데이터 간의 상호작용까지도 그룹화가 가능해진다. 1.2 What is a graph? GNN에서 설명하는 그래프의 구조랑 노드(node)와 간선(edge)을 관계도를 말하는 자료구조를 말한다. 논문에서는 그래프를 G 그리고 그 안에 노드를 V 그리고 간선을 E라고 ..

이전 까지는 문장에서 단어의 빈도를 바탕으로 하는 NLP 방법을 알아보았다. 이 방식의 큰 문제는 단어의 빈도를 바탕으로 처리를 해서 문서의 특징을 파악하는 건 가능하지만 각 단어 간의 유사성이나 의미를 파악하기는 어렵다. 예를 들어서 뜻이 다른 같은 단어가 여러 개 나오는 문장에서 이전 방식을 사용하면 의미를 파악하기보다는 문장의 특징을 파악하는 건 가능하지만 그 단어가 다르다는 의미를 파악하기는 어렵다 가령 '날아다니는 파리'와 '프랑스의 수도인 파리' 같은 예시이다. 워드 임베딩 예측을 기반으로 하는 벡터 임베딩 방식을 이용하기 이전에 단어를 수치적으로 표현하는 방식인 워드 임베딩 방식을 꼭 알아햐 한다. 예측을 하기 위한 단어의 데이터를 수치화를 시켜서 예측이 가능한 형태로 바꿔주는 작업니다. 예..
NLP 방식에서 횟수 기반 임베딩(Frequency - based Embedding)은 단어의 빈도수를 바탕으로 하는 NLP 방법이다. 여기서 가장 자주 사용하고 있는 방식은 BOW, Count Vector, TF-IDF Vector 기법이 있다. BOW BOW 방식은 주어진 문장을 형태소 분석을 통해 문자나 단어를 분리하고, 분리된 문자를 인덱스 번호를 부여하여 빈도수로 벡터화를 시키는 방식을 BOW 방식이라고 말한다. 예를 들어, 다음과 같은 단어별로 인덱스를 부여했다고 가정해 보자. 이를 'BOW를 정의했다'라고 한다. "I" -------------- 0 "teacher" ------- 1 "am"------------ 2 "top" ----------- 3 "a" ------------- 4 "..
What is TF-IDF TF-IDF는 NLP 분야에 거 가장 흔하게 사용하는 방식으로 텍스트들이 나열되어있는 데이터에서 단어의 빈도수를 기준으로 하여서 한 단어가 그 문장에서 얼마나 수학적으로 중요한지 가중치를 나타내는 방식이다. 한 문장에서 한 단어의 빈도가 높으면 높을수록 이 TF 값은 커지고 여러 문장에서 한 단어의 빈도수가 높아면 IDF 값이 줄어드는 형식으로 이 두 값 TF, IDF를 곱한 것을 결과로 도출한다. 즉 한 문장에서 자주 사용되는 단어는 중요하다 판단하지만 다른 문장에서도 흔하게 사용하면 중요하지 않다고 단어를 판단하는 알고리즘이다. Mathematical Formula of TF-IDF 단어의 빈도를 나타내는 이 알고리즘은 결과값을 여러 가지 방식으로 산출한다. 먼저 총빈도수를..

What is Levenshtein Distance 레벤슈타인 거리는 문자열의 유사도를 판별하는 알고리즘의 한 방식으로 두 문자열 사이에 같아지기 위한 연산을 최소화하는 값을 찾는 알고리즘이다. 여기서 연산이랑 수정, 삭제, 삽입 이렇게 3가지 연산을 칭한다. 위의 사진처럼 1차 수정에서 4번 삭제에서 1번 삽입에서 1번 총 6번의 비용이 필요한 문자열이다. Levenshtein Distance Process 레벤 슈타인은 그렇다면 어떤 방식으로 작동하는지 알아보겠다. 기본적으로 LCS 알고리즘과 유사하게 알고리즘이 작동한다. LCS LCS: 최장 공통 부분수열 문제는 LCS라고도 불린다. 이는 주어진 여러 개의 수열 모두의 부분수열이 되는 수열들 중에 가장 긴 것을 찾는 문제다 사전적인 의미는 이렇지만..

NLP vs 텍스트 분석 텍스트 분석 분야를 크게 나누자면 NLP와 텍스트 분석으로 나눌 수 있다. NLP: National Language Processing의 약자로 보통 인간의 언어를 이해하는 쪽으로 발전하였으며 텍스트 마이닝(Text Minning)이라고도 한다. 텍스트 분석: 텍스트 분석은 데이터를 기반으로 모델을 수립하고 정보를 추출하여 예측 분석 등의 분석 작업을 하는 것이다. 보통 텍스트 분류, 감성 분석, 텍스트 요약, 텍스트 군집화와 유사도 측정에 주로 쓰인다. Text Analysis Process 텍스트 전처리: 클렌징, 대/소문자 변경, 특수문자 삭제 등의 클렌징 작업, 단어 등의 토큰화 작업, 의미 없는 단어 제거 작업, 어근 추출 등의 텍스트 정규화 작업 피처 벡터화/추출: 사..