전체 글 649

점별 상호정보량 Pointwise Mutual information(PMI)

1. PMI(Pointwise Mutual information)정의하기 pointwise: 점별의, 즉 주어진 집합의 각점에서 일어나는 경우 mutual: 상호간, 서로의 information: 정보 이를 통해 PMI는 각 벡터에서 일어나는 정보 뿐만이 아니라, 벡터들 간 동시에 일어나는 정보 모두를 고려한다는 것을 유추할 수 있습니다. 2. 식으로 구현하기 PMI는 확률변수 x와 y에 대해 다음 식으로 정의됩니다. P(x,y) 는 x,y가 말뭉치에 동시에 등장할 확률 P(x) x가 말뭉치에 등장할 확률 P(y) y가 말뭉치에 등장할 확률 을 뜻합니다. PMI값이 높다면? 이는 x,y 가 관련이 높다는 것을 뜻합니다. 이번에는 횟수를 사용하여 식을 다시 써봅시다. C(x,y) 는 x,y가 말뭉치에 동시..

코사인 유사도 cosine similarity

백터 사이의 유사도를 측정하는 방법을 배우겠습니다. 다양한 방법이 있겠지만, 자주 이용하는 코사인 유사도에 대해 알아보기로 합시다. 1. 코사인 유사도 cosine similarity 앞서, 단어를 벡터화시켰는데요. 단어와 단어, 즉 벡터와 벡터 사이에 얼마나 관련성이 있는가를 측정하는 것입니다. 만약 코사인 유사도 값이 높다면 이 두 벡터 간의 관련이 높다는 뜻입니다. 2. 구하는 방법 코사인유사도를 구하는 방법은 벡터를 L2노름으로 정규화하고, 내적을 구하는 것입니다. 식은 다음과 같습니다. 분자에는 벡터의 내적이 분모에는 각 벡터의 노름(벡터의 크기)이 등장합니다. 여기에서는 L2노름(벡터의 각 원소를 제곱해 더한 후, 다시 제곱근)을 계산합니다. 두 벡터가 가리키는 방향이 완전히 같다면 코사인 유..

분산 표현 distributional representation/ 분포가설 distributional hypothesis/동시발생 행렬 co-occurrence matrix

지난 시간 컴퓨터에게 자연어를 이해시키기 위해서, 먼저 우리가 사용하는 문장을 단어라는 단위로 나누어 말뭉치(corpus)에 담는 작업을 했습니다. 이번 시간에는 corpus를 이용해서 단어의 의미를 추출하는 방법을 알아보겠습니다. 다양한 방법이 있지만 이번에는 통계 기반 기법을 이용하려고 합니다. 1. 분산 표현 distributional representation 말이 어렵지만, 간단히 말해 단어를 분산하여 표현한다는 뜻입니다. 예를 들어 '사랑'이라는 단어를 분산 표현으로 나타내면 [0, 0, 1] [0.21, 0.34, -0.44] 등으로 나타내는 것이죠. 단어를 벡터화시키는 작업이라고도 할 수 있겠습니다. 2. 분포 가설 distributional hypothesis 분산 표현하는 기준은 무엇일..

카테고리 없음 2022.07.29

말뭉치(corpus)란?

컴퓨터가 자연어를 이해시키는 방법 두 번째입니다. 이번에는 통계 기반 기법을 사용할 것입니다. 먼저 말뭉치(corpus)에 대해 알아봅시다. 말뭉치란? 간단히 말하면 대량의 텍스트 데이터입니다. '나는 너를 진심으로 사랑한다'는 문장에서 나는, 너를, 진심으로, 사랑한다는 단어를 어떤 공간에 한 곳에 뭉쳐놓은 것이죠. 파이썬 코드로 살펴보겠습니다. ※ 하단의 재생 버튼▶을 눌러보시면 출력 화면을 볼 수 있습니다. 말뭉치를 위한 사전작업을 마쳤습니다. 이를 preprocess() 함수로 구현하면 아래와 같습니다. def preprocess(text): text = text.lower() text = text.replace('.', ' .') words = text.split(' ') word_to_id =..

자연어처리 NLP(Natural Language Processing)란?

자연어 Natural Language =우리가 평소 쓰는 말 자연어처리 Natural Language Processing = 컴퓨터가 이해할 수 있도록 자연어를 바꾸는 것 문장의 기본 단위 = 단어 컴퓨터에게 단어의 의미를 어떻게 이해시키는 방법 시소러스 = 단어 유의어사전 시소러스의 문제점 1. 자연어 Natural Language = 우리가 평소 쓰는 말 우리가 평소 쓰는 말 = 자연어 Natural Language 안녕하세요, 여러분! 지금 제가 쓰고 있는 말을 자연어라고 합니다. 2. 지연어처리 Natural Language Processing = 컴퓨터가 이해할 수 있도록 자연어를 바꾸는 것 우리가 쓰는 이런 자연스러운 말을 컴퓨터가 이해할 수 있도록 변경, 처리하는 것을 자연어처리 Natura..