2. 1
인문학 텍스트 분석 도구
구글의 ‘엔그램 뷰어’
voyant-tools.org
형태소 분석기
3. 2
인문학 텍스트 분석 도구
• 구글의 ‘엔그램 뷰어’(books.google.com/ngrams)
• 2010년에 공개
• 에레즈 레이든(Erez Aiden)과 장바티스 미셸(Jean-Baptiste Michel)에 의해 개발
• 구글이 2004년부터 시작한 구글 북스(Google Books) 프로젝트를 통해 디지털
화한 도 서에서 단어를 검색할 수 있는 도구
• 웹사이트에 접속하여 검색창에 원하는 단어를 입력하고 클릭하면 해당 단어의
시대별 빈도 추이를 그래프로 확인할 수 있음
• 구글이 디지털화한 도서는 1500년부터 2019년까지 출판된 것들로, 오랜 시
간을 아우르고 있는 “롱데이터”이기 때문에 단어 빈도의 변화량은 문화와 역
사의 흐름을 추적 하는데 중요한 단서를 제공
• 구체적인 연구 성과는 아래 논문에서 확인 가능
• J.B. Michel et al. “Quantitative analysis of culture using millions of
digitized books”, Science, Vol. 331, No. 6014, 2011, pp. 176-182.
4. 3
인문학 텍스트 분석 도구
• 구글의 ‘엔그램 뷰어’(books.google.com/ngrams)
• n-gram’이란 텍스트에서 연이어 n개 출현하는 항목들의 연속체
• 예를 들어 2-gram은 2개 어절 연속체
• 구글 n그램의 n은 5로 제한
‘Albert Einstein’, ‘Sherlock Holmes’,
‘Frankenstein’이라는 세 단어가 1800년
부터 2019년 사이에 발표된 책에서 각
각 어떤 빈도로 사용되어 왔는지를 보
여 주고 있다
5. 4
인문학 텍스트 분석 도구
• 알베르트 아인슈타인(1879-1955)과 같은 과학자보다는
셜록 홈즈(1887년부터 등장)나 프랑켄슈타인(1818년부
터 등장) 같은 허구의 인물이 책에 더 많이 언급됨
• 프랑켄슈타인의 높은 빈도는 그 명칭이 영국 소설가 메
리 셸리 Mary Shelly가 만든 허구 괴물의 이름만이 아니
라, 실제 지명, 가문, 인물 등을 가리키는 다양한 이름인
데서 연유
6. 5
인문학 텍스트 분석 도구
• 구글 엔그램과 디지털 인문학
• 문화와 역사를 들여다볼 수 있게 해 주는 “디지털 렌즈 digital lens”
• 철학자 들뢰즈(Deleuze), 데리다(Derrida), 플라톤(Plato)그리고 히틀러(Hitler) 중에서 20세기에
가장 책에서 많이 언급된 사람은 누구였을까?
• 들뢰즈 보다는 데리다의 세기였으며 데리다보다는 푸코의 세기였고 푸코보다는 플라톤, 플
라톤 보다는 압도적으로 히틀러가 더 많이 언급
7. 6
토론
• 구글 엔그램 사용자 체험
• 각자 원하는 키워드를 입력하여 해당 키워드에 대한 시대별 빈도 추
이에 대해 이야기 하기
8. 7
텍스트 분석 툴(Tools) : Voyant
• Voyant Tools is an open-source,
web-based application for performing
text analysis. It supports scholarly
reading and interpretation of texts or
corpus, particularly by scholars in
the digital humanities, but also by
students and the general public. It
can be used to analyze online texts
or ones uploaded by users.
• Voyant Tools was developed by
Stéfan Sinclair (McGill) and Geoffrey
Rockwell (University of Alberta)
https://voyant-tools.org/
9. 8
텍스트 분석 툴(Tools) : Voyant
• 텍스트 분석을 위한 오픈 소스 웹 기반 응용 프로그램
• 어휘 차원에서의 다양한 분석 가능
• 분석 텍스트는 쇼데를로 드 라클로(Choderlos de Laclos(1741~1803))
소설 『위험한 관계』 중에서 일부
17. 16
• 텍스트 분석 (Text Analysis) : AI人 : 인공지능 기반의 한국어 시 생성 프로젝트
• 2019 콘텐츠 임팩트 창의랩(한국콘텐츠진흥원)
• (스토리 x 인공지능) AI : Storyteller
형태소 분석기를 이용한 텍스트 분석
18. 17
• 텍스트 분석 (Text Analysis) : AI人 : 인공지능 기반의 한국어 시 생성 프로젝트
형태소 분석기를 이용한 텍스트 분석
19. 18
• 텍스트 분석 (Text Analysis) : AI人 : 인공지능 기반의 한국어 시 생성 프로젝트
• 특정 시인들의 문체를 모방한 시 생성기 개발
• 학습 데이터 구축의 중요성
• 윤동주, 김소월, 백석, 정지용 시인 선정, 시 수집
• 수집된 데이터의 정제
• 한자와 같이 학습에 불필요한 요소 제거
형태소 분석기를 이용한 텍스트 분석
20. 19
• 텍스트 분석 (Text Analysis) : AI人 : 인공지능 기반의 한국어 시 생성 프로젝트
• 시인 별 정량적 문체 분석
• 자연어처리(Natural Language Processing, NLP) 기술
• 형태소 분석
• 텍스트로부터 ‘뜻을 가진 가장 최소의 단위’(형태소)를 추출
• 서울대학교에서 개발한 ‘꼬꼬마 형태소 분석기’를 활용
형태소 분석기를 이용한 텍스트 분석
21. 20
• 국내 형태소 분석기 종류
• 한나눔 (Hannanum)
• 꼬꼬마(Kkma)
• 코모란(Komoran)
• 은전 한 닢(Mecab)
• 트위터(Twitter)
• 형태소 분석 예시
• ‘나는 공을 찬다’
• 나(대명사)+는(주격 조사)+공(명사)+을(조사)+차(동사)+ㄴ다(종결 어미)
형태소 분석기를 이용한 텍스트 분석
22. 21
• 시인 별 정량적 문체 연구
백석 시인의 빈발 워드 클라우드 윤동주 시인의 빈발 워드 클라우드
형태소 분석기를 이용한 텍스트 분석
23. 22
• 시인 별 정량적 문체 연구
정지용 시인의 빈발 워드 클라우드 김소월 시인의 빈발 워드 클라우드
형태소 분석기를 이용한 텍스트 분석
25. 24
• 딥러닝 기반의 시 창작 모델
• 단어 레벨의 인코더·디코더 네트워크 구축
• 인코더 네트워크: 입력 문장으로부터 문장 구조, 단어 사이의 관계 등 특징 값 추출
• 디코더 네트워크: 특징 값을 반영한 새로운 문장 생성
• 작가, 제목, 행의 줄 번호를 네트워크에 입력
• 학습할 타겟 문장과 네트워크로 생성한 문장 사이의 차이를 최소화
형태소 분석기를 이용한 텍스트 분석
26. 25
• 딥러닝 기반의 시 창작 모델
딥러닝 모델 - Word-level encoder-decoder LSTM 모델(aka. seq2seq 네트워크)을 변형
학습 데이터
- 학습 데이터의 형태: 텍스트 파일로 저장된 ‘작가명’, ‘시 제목’,’ ‘시 문장’ (전처리를 통해 한자 등을 필터링함)
- 윤동주(96편), 백석(135편), 김소월(210편), 정지용(112편) 포함 유명 시 약 1000 편 수집
Encoder
모델
- LSTM 네트워크 기반
- 입력 시퀀스 (작가명, 시 제목, 시 줄 번호)가 들어오면, Embedding 후 LSTM 네트워크에 입력하여 입력 시퀀스의 특
징을 추출
- Encoder LSTM의 Output과 Last Hidden States를 Decoder의 입력으로 사용
Decoder
모델
- LSTM 네트워크 기반
- Attention Mechanism을 적용하여 학습 시 입력 시퀀스와 출력 문장 간의 관련성을 잘 학습하도록 구성
- Encoder의 Last Hidden States과 Decoder의 입력(Start Token)과 Concatenate하여 Attention Weight를 구함
- Attention Weight를 이용해 Encoder의 Output에 적용, LSTM에 입력하여 시 문장 시퀀스를 출력
네트워크
- 각 네트워크의 Hidden Size: 256 Dimension
- 각 네트워크의 레이어 깊이: 3
- 학습할 수 있는 최대 길이: 30 word sequence lenth
- 학습 전 모든 LSTM 네트워크는 0으로 초기화
학습 과정
- 학습은 입력 시퀀스와 관련된 시 문장과, Seq2Seq 네트워크 출력 문장 사이의 차이를 Negative Log Likelihood Loss
로 계산하여 Stochastic gradient descent를 이용해 학습
- 학습 방향성 지시를 위한 모멘텀: 0.9
- 전체 시 문장을 모두 학습하도록 50만번 Interation(반복)함
형태소 분석기를 이용한 텍스트 분석