본문 바로가기

전체 글

(413)
워드 임베딩(Word Embedding) 워드 임베딩(Word Embedding)은 단어를 벡터로 표현하는 방법으로, 단어를 밀집 표현으로 변환합니다. 1. 희소 표현(Sparse Representation) 원-핫 인코딩을 통해서 나온 원-핫 벡터들은 표현하고자 하는 단어의 인덱스의 값만 1이고, 나머지 인덱스에는 전부 0으로 표현되는 벡터 표현 방법이었습니다. 이렇게 벡터 또는 행렬(matrix)의 값이 대부분이 0으로 표현되는 방법을 희소 표현(sparse representation)이라고 합니다. 원-핫 벡터는 희소 벡터(sparse vector)입니다. 원-핫 인코딩을 통해 얻어진 벡터는 대부분의 원소가 0으로 표현되기 때문에 희소 벡터라고 부릅니다. 이러한 희소 표현은 메모리 공간을 많이 차지하게 되는 문제가 있습니다. 이에 대한 대..
여러가지 유사도 기법 자연어 처리에서 사용되는 여러 가지 유사도 기법: 코사인 유사도 (Cosine Similarity): 문서나 단어들을 벡터로 변환하여 두 벡터 사이의 코사인 각도를 계산하여 유사도를 측정하는 방법입니다. 자카드 유사도 (Jaccard Similarity): 두 집합 사이의 유사도를 측정하는 방법으로, 두 집합에서 공통으로 포함된 원소의 개수를 전체 원소의 개수로 나눈 값입니다. 유클리디안 거리 (Euclidean Distance): 두 점 사이의 직선 거리를 계산하여 유사도를 측정하는 방법입니다. 맨하탄 거리 (Manhattan Distance): 두 점 사이의 맨하탄 거리를 계산하여 유사도를 측정하는 방법으로, 좌표축에 수직으로 이동하는 거리의 합입니다. 편집 거리 (Edit Distance): 두 문..
코사인 유사도(Cosine Similarity) 1. 코사인 유사도(Cosine Similarity) 코사인 유사도는 두 벡터 간의 방향적 유사성을 측정하는 데 사용됩니다. 코사인 유사도가 1에 가까울수록 두 벡터가 가리키는 방향이 유사하고, 0에 가까울수록 유사하지 않습니다. 음수 값을 가질 경우, 두 벡터가 반대 방향을 가리키고 있다는 것을 의미합니다. 이를 통해 코사인 유사도는 문서 검색, 추천 시스템 등에서 사용되며, 벡터 공간에서의 유사성 측정을 위한 일반적인 방법 중 하나입니다. similarity=cos(Θ)=A⋅B||A|| ||B||=∑i=1nAi×Bi∑i=1n(Ai)2×∑i=1n(Bi)2 Numpy를 사용해서 코사인 유사도를 계산하는 함수를 구현하고 각 문서 벡터 간의 코사인 유사도를 계산해보겠습니다. 코사인 유사도는 유사도를 구할 때..
TF-IDF(Term Frequency-Inverse Document Frequency) DTM 내에 있는 각 단어에 대한 중요도를 계산할 수 있는 TF-IDF 가중치 TF-IDF를 사용하면, 기존의 DTM을 사용하는 것보다 보다 많은 정보, 성능을 얻을 수 있습니다. 1. TF-IDF(단어 빈도-역 문서 빈도, Term Frequency-Inverse Document Frequency) 단어의 빈도와 역 문서 빈도(문서의 빈도에 특정 식을 취함)를 사용하여 DTM 내의 각 단어들마다 중요한 정도를 가중치로 주는 방법 주로 문서의 유사도를 구하는 작업 검색 시스템에서 검색 결과의 중요도를 정하는 작업 문서 내에서 특정 단어의 중요도를 구하는 작업 TF-IDF는 TF와 IDF를 곱한 값 문서를 d, 단어를 t, 문서의 총 개수를 n이라고 표현할 때 (1) tf(d,t) : 특정 문서 d에서의 ..
[W.ChatGPT]ajax랑 axios랑 차이가 뭐야? Ajax(Asynchronous JavaScript and XML)와 Axios는 모두 JavaScript를 사용하여 비동기적으로 서버와 데이터를 주고받을 수 있는 기술입니다. 하지만, Ajax는 순수한 JavaScript를 사용하여 데이터를 서버와 주고받습니다. XMLHttpRequest 객체를 사용하여 서버로 데이터를 요청하고, 서버가 응답한 데이터를 처리합니다. 그리고 jQuery, Prototype, Dojo, MooTools 등의 자바스크립트 라이브러리나 프레임워크에서도 Ajax 기능을 제공합니다. 반면에 Axios는 자바스크립트의 Promise 기반 HTTP 클라이언트 라이브러리입니다. Axios는 XMLHttpRequest 객체나 fetch API를 래핑하여 HTTP 요청을 보내고, HTTP..
문서 단어 행렬(Document-Term Matrix, DTM) DTM : 서로 다른 문서들의 BoW들을 결합한 표현 방법인 문서 단어 행렬(Document-Term Matrix, DTM) 표현 방법. 행과 열을 반대로 선택하면 TDM. 서로 다른 문서들을 비교할 수 있게 됩니다. 1. 문서 단어 행렬(Document-Term Matrix, DTM)의 표기법 문서 단어 행렬(Document-Term Matrix, DTM)이란 다수의 문서에서 등장하는 각 단어들의 빈도를 행렬로 표현한 것. BoW 표현을 다수의 문서에 대해서 행렬로 표현하고 부르는 용어로, 각 문서에서 등장한 단어의 빈도를 행렬의 값으로 표기합니다. 문서 단어 행렬은 문서들을 서로 비교할 수 있도록 수치화할 수 있다 2. 문서 단어 행렬(Document-Term Matrix)의 한계 1) 희소 표현(S..
Bag of Words(BoW) 단어의 등장 순서를 고려하지 않는 빈도수 기반의 단어 표현 방법인 Bag of Words 1. Bag of Words란? 가방안의 단어들! 즉 순서 고려 안하고 오직 빈도만 고려한다. Bag of Words란 단어들의 순서는 전혀 고려하지 않고, 단어들의 출현 빈도(frequency)에만 집중하는 텍스트 데이터의 수치화 표현 방법입니다. (1)단어 집합 생성 : 각 단어에 고유한 정수 인덱스를 부여합니다. (2)각 인덱스의 위치에 단어 토큰의 등장 횟수를 기록한 벡터를 만듭니다. 만약, 한국어에서 불용어에 해당되는 조사들 또한 제거한다면 더 정제된 BoW를 만들 수도 있습니다. 2. Bag of Words의 다른 예제들 BoW는 각 단어가 등장한 횟수를 수치화하는 텍스트 표현 방법이므로 주로 어떤 단어가..
다양한 단어의 표현 방법 1. 단어의 표현 방법 1)국소 표현(Local Representation) 방법 이산 표현(Discrete Representation) 해당 단어 그 자체만 보고, 특정값을 맵핑하여 단어를 표현하는 방법 2)분산 표현(Distributed Representation) 방법 연속 표현(Continuous Represnetation) 단어를 표현하고자 주변을 참고하여 단어를 표현하는 방법입니다. 국소 표현 방법은 단어의 의미, 뉘앙스를 표현할 수 없지만, 분산 표현 방법은 단어의 뉘앙스를 표현할 수 있게 됩니다. 2. 단어 표현의 카테고리화 1)국소 표현(Local Representation) 방법 Bag of Words - 단어의 빈도수를 카운트(Count)하여 단어를 수치화하는 단어 표현 방법 BoW의..