수학 개념 지도
언어와 계산(Language and computation)

지프의 법칙(Zipf's law)

글에 나오는 낱말을 빈도순으로 늘어놓으면, r번째 낱말의 빈도가 대략 1/r에 비례한다는 경험 법칙. 로그–로그 그래프에서 기울기⁠(slope)⁠ 약 −1의 직선이 된다.

f(r)≈Crs, s≈1⟺log⁡f≈log⁡C−slog⁡rf(r) \approx \frac{C}{r^{s}},\ s \approx 1 \qquad \Longleftrightarrow \qquad \log f \approx \log C - s \log r
먼저 보면 좋은 개념자연로그확률

책 한 권의 낱말을 모두 세어 가장 많이 나온 것부터 늘어놓아(정렬) 순위를 매기면 이상한 규칙이 보입니다. 2위 낱말은 1위의 절반쯤, 3위는 3분의 1쯤, 10위는 10분의 1쯤 나옵니다. 곧 순위 r인 낱말의 빈도가 대략 1/r1/r에 비례합니다. 더 일반적으로 1/rs1/r^s(s는 1 근처의 수)로 적습니다. 1930–40년대 미국 언어학자 조지 킹슬리 지프가 여러 언어의 자료로 널리 알려서 지프의 법칙이라고 부릅니다. 양변에 로그를 취하면 log⁡f=log⁡C−slog⁡r\log f = \log C - s\log r이니, 가로축과 세로축을 모두 로그로 그리면 기울기 −s인 직선이 됩니다. 이렇게 한 양이 다른 양의 거듭제곱에 비례하는 관계를 멱법칙⁠(power law)⁠이라고 합니다.

아래는 이 위키를 위해 쓴 짧은 영어 이야기(단어)와 한국어 글(어절⁠, eojeol⁠), 그리고 영어 이야기와 같은 수의 낱말을 원숭이가 무작위로 친 결과입니다. 원숭이의 자판에는 글자 개와 띄어쓰기가 있고, 띄어쓰기를 칠 확률⁠(probability)⁠은 0.2입니다. 원숭이 다시 치기 한 번만 나온 낱말을 빼고 점들에 최소제곱⁠(least squares)⁠ 직선을 맞춘 기울기는 영어 , 한국어 , 원숭이 입니다.

가로는 순위, 세로는 빈도이고 두 축 모두 로그 눈금입니다. 흰검은 점선은 영어 1위 낱말에서 시작하는 기울기 −1의 직선이고, 색 직선은 한 번만 나온 낱말(맨 아래 평평한 줄)을 빼고 맞춘 직선입니다.

영어 이야기는 the, a, and, of 같은 기능어⁠(function word)⁠가 맨 위를 차지하고, 1,300여 단어짜리 짧은 글치고는 기울기가 −1에 꽤 가깝습니다. 한국어 어절(띄어쓰기로 나뉜 덩어리)은 '말을', '말이', '말은'처럼 같은 낱말도 조사와 어미에 따라 따로 세어지므로 빈도가 여러 갈래로 나뉘고, 그래서 곡선이 더 완만합니다. 게다가 둘 다 짧은 글이라 낱말 종류의 절반 가까이 또는 그 이상이 한 번만 나옵니다. 그림 오른쪽 아래의 평평한 줄이 그것인데, 이 줄은 글의 길이에 따라 생기는 것이라 기울기를 잴 때는 뺐습니다. 수백만 단어짜리 말뭉치(연구용으로 모은 글 뭉치)에서는 직선이 몇 자릿수에 걸쳐 길게 뻗습니다. 1위 낱말부터 10위까지 빈도를 1위에 대한 비율로 그리고, 지프의 법칙이 예측하는 1/r1/r을 점으로 찍어 보면 다음과 같습니다:

막대는 1위 낱말 빈도에 대한 비율, 흰검은 점은 1/r입니다. 오른쪽 수는 실제 등장 횟수입니다.

이 법칙은 확률 분포로서도 독특합니다. 정규분포⁠(normal distribution)⁠는 평균⁠(mean)⁠ 근처에 몰려 있지만, 멱법칙은 드문 것들이 끝없이 길게 꼬리를 이룹니다. s = 1이고 낱말이 V가지라면 r위 낱말의 몫은 (1/r)/HV(1/r)/H_V이고, 1위 낱말의 몫은 1/HV1/H_V입니다. 여기서 HV=1+12+⋯+1VH_V = 1 + \tfrac12 + \cdots + \tfrac1V는 조화급수⁠(harmonic series)⁠의 부분합⁠(partial sum)⁠으로, HV≈ln⁡V+0.577H_V \approx \ln V + 0.577이라서 V가 커져도 아주 천천히 자랍니다. 그래서 낱말이 5만 가지여도 HV≈11.4H_V \approx 11.4이고, 1위 낱말이 전체의 약 9%(1/11.4)를 차지합니다. s > 1이면 낱말이 무한히 많아도 1+1/2s+1/3s+⋯1 + 1/2^s + 1/3^s + \cdots이 유한한 값으로 수렴⁠(convergence)⁠하고, 그 합이 리만 제타 함수⁠(Riemann zeta function)⁠ ζ(s)\zeta(s)입니다.

그렇다면 지프의 법칙은 언어의 깊은 성질일까요? 원숭이 곡선이 조심하라고 말해 줍니다. 무작위로 치면 길이 L인 낱말 하나가 나올 확률은 L에 대해 지수적으로 줄고, 길이 L인 낱말의 가짓수는 지수적으로 늘어납니다. 길이가 L 이하인 낱말의 가짓수가 L에 대해 지수적으로 늘어나니 순위 r은 대략 cLc^L 꼴이고, 빈도는 d−Ld^{-L} 꼴로 줄어듭니다. 두 지수함수⁠(exponential function)⁠에서 L을 지우면 빈도가 순위의 거듭제곱, 곧 멱법칙이 됩니다(계단처럼 보이는 것은 길이가 같은 낱말들의 확률이 모두 같기 때문입니다). 1957년 미국 심리학자 조지 밀러가 이 점을 지적했습니다. 그래서 지프의 법칙만으로는 언어에 대해 많은 것을 말하기 어렵다는 견해와, 실제 언어의 세부 모양은 무작위 타자와 분명히 다르다는 반론이 함께 있습니다. 원숭이 실험은 몬테카를로 모의실험의 작은 예입니다.

이어지는 곳. 도시 인구, 웹 페이지가 받는 링크 수, 소득의 윗부분도 멱법칙에 가깝다는 보고가 많습니다. 긴 꼬리 때문에 말뭉치⁠(corpus)⁠를 아무리 늘려도 처음 보는 낱말이 계속 나옵니다. 이것이 앞 낱말 몇 개로 다음 낱말을 맞히는 n-그램⁠(n-gram)⁠ 모형이 겪는 희소성 문제, 곧 본 적 없는 낱말 묶음이 끝없이 나오는 문제의 뿌리입니다. 빈도가 치우친 만큼 글자나 낱말 하나가 주는 정보 엔트로피⁠(information entropy)⁠는 균등할 때보다 작고, 흔한 낱말에 짧은 부호를 주는 허프만 부호⁠(Huffman coding)⁠ 같은 방법으로 글을 압축할 수 있습니다. 낱말을 벡터⁠(vector)⁠로 바꾸는 단어 임베딩⁠(word embedding)⁠을 학습할 때는 the, a 같은 너무 흔한 낱말이 학습을 독차지하지 않도록 일부러 덜 뽑기도 합니다. 언어 모델⁠(language model)⁠의 시험 손실이 매개변수⁠(parameter)⁠ 수나 자료 양의 거듭제곱으로 줄어든다는 규모의 법칙⁠(scaling laws)⁠도 로그–로그 그래프에서 직선으로 보이는 멱법칙이지만, 측정한 범위 안에서 맞춘 경험식입니다.

이 개념이 나오는 큰 생각표현 바꾸기

이 개념이 나오는 긴 글

계산언어학 말을 세는 기계 문법은 규칙일까, 확률일까? 파니니의 문법에서 촘스키의 위계, 섀넌의 영어 엔트로피, 오늘날의 언어 모델까지. 정보 이론과 압축 짧게 보내기 모스 부호는 왜 E를 점 하나로 보낼까? 섀넌의 엔트로피가 정한 압축의 한계와, 허프만 부호에서 JPEG까지 그 한계에 다가간 방법들. 언어 모델 다음 단어를 맞히는 기계 다음 낱말을 짐작하는 일만으로 어디까지 갈 수 있을까? 마르코프의 글자 세기에서 섀넌의 추측 게임, 트랜스포머와 규모의 법칙, 사람의 선호까지. 밑바닥에는 확률의 곱셈 규칙과 로그 하나가 있고, 그 수학은 모델이 왜 그럴듯하게 틀리는지도 말해 준다. 측정의 수학 재는 순간 바뀐다 해안선의 길이는 자에 따라, 평균은 누구에게 묻느냐에 따라, 지표는 목표가 되는 순간 달라진다. 리처드슨의 국경과 프랙털 차원, 스티븐스의 척도, 버스 정류장과 타율의 역설, 스피어먼의 요인, 굿하트의 법칙과 보상 해킹을 한 줄로 꿴다. 압축과 과학 압축하는 것이 이해하는 것이다 튀코 브라헤가 20년 동안 적은 행성의 위치를 케플러는 법칙 세 줄로 줄였다. 짧게 적는 일과 이해하는 일은 정말 같은 일일까? 오컴의 면도날을 비트로 재는 법, 과적합을 압축의 실패로 읽는 법, 그리고 그 말이 정리인 곳과 철학인 곳.

이 개념 위에 세워진 것

이 개념을 언급하는 페이지

이 페이지가 가리키는 개념