
from Scratch
307
그림 21-2
21.2
n-그램 언어모델
검색 엔진 마케팅 부사장은 데이터 과학에 관한 수천 개의 웹페이지를 만들어서
데이텀의 검색 엔진의 순위를 높이고 싶어 한다. (요즘 검색 엔진들이 너무 똑
똑하기 때문에 이런 전략이 먹히지 않을 거라는 사실을 그녀에게 얘기해 주려고
했지만, 그녀가 좀처럼 들으려고 하지 않는다.)
그렇다고 그녀가 직접 웹페이지 수천 개를 만들거나 수많은 콘텐츠 전략가를
고용할 것은 아니다. 그녀는 프로그래밍으로 웹사이트를 대량으로 만들어 낼 방
법이 없는지 궁금해하고 있다. 따라서 우리는 어떻게든 언어 모델을 만들 방법
을 찾아야 한다.
한 가지 방법은 문서가 여러 개 있는 말뭉치(
corpus
, 코퍼스)를 구해서 언어에
대한 통계적 모델을 만드는 것이다. 여기서는 마이크 루키디스(
Mike
Loukides
)
의 에세이
What Is Data Science?
1
를 사용해 보자.
9
장 ‘파이썬으로 데이터 수집하기’와 마찬가지로
requests
와
BeautifulSoup
라
이브러리를 사용해서 데이터를 수집하자. 이때 신경 쓰면 좋을 몇 가지 이슈가
있다.
첫째, 텍스트 안의 따옴표가 유니코드 문자
u"
\
u2019"
이다. 이를 일반 아스키
따옴표로 ...