안녕하세요, 생각의 웹입니다.


앞서 python을 이용 해 open API 로 얻어온 social data를 가공한 포스팅을 한 바 있습니다.


이런 기법(?)를 통해 얻은 정량적인 데이터로 사회의 현상을 분석하고 통찰하는 융합적 학문 영역을 Social Computing 이라고 하는데 

현재 제가 이 과목을 수강하는 중이라 이전의 포스팅은 제가 했던 일들 중 몇 가지를 포스팅한 사례라고 보시면 됩니다.


이번에는 좀 더 심화적인 내용으로 이런 빅 데이터 분석 기법이 어떻게 응용되어 

미처 깨닫지 못했던 재밌는 결과를 발견해 낼 수 있는 지에 대해 논문의 초안 형식으로 작성해 보았습니다.


가볍게 보시고 제가 얻은 통찰 이상의 것을 얻으시길 바라며...

감사합니다.  

 



A Butterfly of the Dawn: "레 미제라블 등장 인물 관계 분석을 통한 임계 사회에서의 나비 효과 통찰"



Abstract

  • 소설 작품은 작성 시점의의 시대 상을 보여주고 '레 미제라블'은 프랑스 혁명을 앞둔 임계 시대 상황을 장 발장이라는 인물을 통해 보여 줌
  • 소설의 등장 인물들의 사회적 관계를 정량 / 정성 분석함으로써 나비 효과를 일으키는 존재를 통찰해 보임



1. Introduction


    Do you hear the people sing?
    Singing the song of angry men?
    It is the music of a people
    who will not be slaves again!
    When the beating of your heart
    echoes the beating of the drums 
    There is a life about to start
    when tomorrow comes!

[Fig.1] Lyric of 'Do You Hear The People Sing' (excerpted from 'Les Miserables: The Motion Picture Soundtrack' )


  • 흥미롭지만 논쟁 거리가 많은 엔하 위키1)에 따르면, 레 미제라블은 소설을 원작으로 동화, 뮤지컬, 영화 등의 다양한 장르로 해석되어 소비되는 고전 중의 고전
    • 원작의 상당한 분량 때문에 성경 다음으로 많이 읽혔다는 프랑스 조차도 원작이 아닌 요약 본으로 주로 소비
    • 사실 동화의 영향으로 원작의 서두인 장발장의 회심까지만 알려져 있으나 원작은 상당히 사회제도의 비판을 중심으로 서정적인 스토리가 주를 이룸.
  • 작가인 빅토르 휴고는 본 작품의 서문에서 " 한 비천한 인간이 어떻게 성자가 되고, 어떻게 예수가 되며 어떻게 하느님이 되는지를 그려낸 이야기. 이 지상에 무지와 비참이 있는 한, 이러한 책들이 쓸모 없지는 않을 것이다." 라고 논평함.
  • 본 소설의 배경은 역사적으로 프랑스 대혁명에 앞서 닥친 불황과 영국에서 촉발된 산업 혁명으로 인해 생산성 측면에서 지위를 잃은 농민들의 도시 이주가 사회 문제로 대두되는 시점이고 이에 걸맞는 정치 사회 시스템의 부재로 인해 언제 터질 지 모르는 임계 사회 속에서 벌어지는 군상들의 개인적, 사회적 갈증을 그림
  • 한국에는 이 작품이 일제강점기 육당 최남선에 의해 일본어 중역을 통해서 최초로 소개했으며 <너 참 불쌍타>라는, 원제를 살린 제목으로 출간되어 국권 피탈의 시대를 살았던 선조들에게 카타르시스를 제공해 줌.
  • 신 자유주의와 글로벌 무한 경쟁에 따른 피로감과 불안감이 쌓이고 있는 현재에도 공감대를 형성하고 있으며 이 작품의 등장 인물들 간의 사회적 관계를 정성적/정량적으로 연구해 봄으로써 인해 임계 시대 상황의 인간 관계적 요인들을 조명해 볼 수 있을 것으로 기대
  • 이후로 2장에서 본 연구의 동기와 문제 제기, 3장에서 이 문제를 살펴보기 위한 접근 방식, 4장에서 구현 방식과 이에 대한 해석을 진행하고 5장에서 논의하며 6장에서 결론 짓기로 함



2. Motivation

  • 심각한 사고 1 건, 사소한 사고 29건, 위험 300건이 벌어진다는 하인리히(Heinrich)의 원칙에 따르면 큰 변혁이 일어나기 이전 빈번한 징후들이 포착됨을 알 수 있음
  • 마크 뷰캐넌은 그의 저서 우발과 패턴2)에서 "거대한 격변이 역사의 다음 모퉁이에 도사리고 있다. 지금 나의 결정과 행동은 아무리 작은 것이라도 임계상태의 세계에 그 어떤 변화도 불러일으킬 가능성이 있다"라고 언급
  • 이런 격변이 일어나는 배경에는 우리가 네트워크인 사회적 관계 속에서 끝임없이 영향을 주고 받으며 엔트로피를 증가시켜 가기 때문임.
  • 이런 관계성은 한 개인이 다른 개인과의 묶임(tie)를 통해 도식화가 가능하나 너무 많은 개체 간의 관계가 가져오는 복잡성 때문에 정량적인 분석이 불가능하다고 여겨짐
  • 컴퓨팅 능력의 비약적인 향상과 Web 2.0 으로 대변되는 social network service의 편재가 데이터와 알고리즘을 이용해 정량적 통계 분석이 가능한 시대가 도래 3)
  • 이에 앞서, 소설 레 미제라블의 지문 분석을 통해 등장 인물간의 상관 관계 (relationship)을 정리한 데이터를 기반으로 경제적 불황기의 사회 상을 그린 소설을 통해 사회 대 변혁(프랑스 혁명)을 앞둔 시대 상을 등장 인물들의 정성적 특성(character)와 그 들간의 사회적 관계를 통해 이런 징후의 함의(inference)들을 유추해 보고자 함




3. Approach

  • 다양한 등장 인물들이 등장하는 대작이나 엔하 위키 1)에 따르면 주요 인물들과 그 특성은 다음 Table 1.과 같음.


    [Table 1. 레 미제라블 주요 등장 인물 - Excerpt from enha wiki 2) ]


영문 명 한글 명 특성 기타
Jean Valjean 장발장 주인공, 무시무시한 괴력의 소유자, 빈곤으로 죄를 저지른 다음 오랜 투옥으로 원망과 증오를 품다가 미리엘 주교의 용서로 개과천선. 이후 사업가로 성공해 마들렌 시장까지 역임. 추후 엄청난 부자가 되는데 본인이 사업으로 벌어서 예금한 돈이 물경 60만 프랑에 달함. (이게 얼마나 많냐면 1500프랑이 3년 생활비다.) 신분을 들통나 자베르에게 쫒김에도 백만 프랑도 넘는 돈을 자선사업, 복지사업에 쏟아부음. 팡틴의 딸인 코제트를 입양해 죽을 때까지 보살핌 죄수 번호 24601(소설은 9430)로 불림. 이름이 장이고 성은 '발장'이다.
Myriel 미리엘 주교 소설 속에서 디뉴 교구(Digne)의 주교로 등장. 디뉴의 성당에 나타난 장 발장이 은식기를 훔친 뒤 잡혀오자, 미리엘 주교는 오히려 장 발장에게 은촛대 2개를 줬다. 소설의 배경이 되는 시기의 실제 디뉴 주교였던 비앵브뉘 드 미올리(1753년~1843년)이 모델
Javert 자베르 범죄자는 절대로 용서하지 않는 엄정한 경찰관, 주인공 장 발장과 대립하다 자살, 어머니가 점쟁이(1998년 영화판에서는 창녀), 아버지가 범죄자로 감옥에서 태어났는데, 이 태생에 대한 콤플렉스가 집요하고 이분법적인 성격을 야기. 거짓말을 한 번도 하지 않는 사람 (예를 들면 원작에서 바리케이트에 숨어들었을 때 "너 밀정이지" 한 마디에 바로 "난 정부 관리다."라고 말 함) 옳은 일을 하기 위해 평생을 노력했으나 법으로 대표되는 사회 구조에 결함이 있을 수 있다는 사실과 법 너머의 정의가 있을 수 있다는 사실에 대해서 이해하지 못했기 때문에 결국 법을 어겼지만 정의로운 사람이라는 모순에 빠짐
Fantine 팡틴 고아인 여직공, 장발장의 공장에서 직공으로 일을 하지만, 사생아를 갖고 있다는 게 들통나서 일자리를 잃고 매춘부로 전락. 헤어진 딸 코제트를 기다리다 자수한 장 발장을 잡으러 온 자베르가 들려준 그의 정체에 충격을 받고 사망 모성애의 아이콘, 이름 "Fantine"은 프랑스어의 "enfantine"에서 온 것으로 보이며, 뜻은 "아이."
Cosette 코제트 팡틴의 딸. 본명은 외프라지(Euphrasie). 테나르디에 부부 밑에서 온갖 학대를 당하며 노예처럼 살다가 장 발장이 데리러 와서 구해줌. 마리우스와 사랑에 빠짐 메인 등장인물 중 그나마 덜 불쌍한 인물
Les Thénardiers 테나르디에 부부 팡틴이 코제트를 맡긴 여관집 부부. 코제트를 노예처럼 부리며 과대한 양육비를 요구해 팡틴이 나락에 빠지도록 함. 돈만 된다면 어지간한 범죄는 다 저지르는 작품 내 부동의 악역.
Marius Pontmercy 마리우스 퐁메르시 골수 왕당파인 외할아버지 밑에서 자라난 청년. 집을 나와 가난하지만 성실하게 살면서 자유주의자인 친구들을 사귀다 코제트와 사랑에 빠짐. 자유주의자들의 시내 반란에 가담했다가 부상을 당하나 장 발장이 와서 구해 줌 딸 가진 아빠들의 공공의 적 (작품을 보다보면 은혜도 모르는 놈이라는 소리가 절로 나온다)
Éponine Thénardier 에포닌 테나르디에 테나르디에 부부 사이에서 태어난 다섯 남매 중 장녀. 코제트가 있을 때는 공주 대접 받다 망한 후 반대 신세. 코제트와 사랑에 빠진 마리우스를 짝사랑. 마리우스가 정부군의 총격을 당할 위험에 놓이자 자신이 그 총을 대신 맞고 숨을 거둠. 뮤지컬과 영화의 On My Own 우로 부각된 인물
Enjolras 앙졸라스 아베쎄의 벗들(Les amis de l'ABC)의 리더. 인데, 십대 소년과 같은, 아름다운 미모의 금발 벽안 미청년으로 묘사. 공화주의자들의 거목이었던 라마르크 장군이 죽자 그의 장례식 당일 시민군을 결성하고 바리케이드를 쌓아서 혁명을 일으킴, 혁명 현장에서 총살 당함 위고가 가장 외모 찬양에 공을 들인 인물 가운데 하나 - 피크말리온?
Combeferre 콩브페르 의대생. 앙졸라스가 혁명의 논리를 대변하는 리더라면 콩브페르는 혁명의 이상을 대변하는 안내자 고요히 타오르는 불빛이라고 언급
Gavroche 가브로슈 테나르디에 부부의 세 아들중 한 명. 정의로운 마음을 가졌지만 엉뚱한 소년 영화에서 활약이 돋보임
Courfeyrac 쿠르페락 귀족 출신임을 거부하는 귀족으로 앙졸라스가 리더이고 콩브페르가 안내자라면 쿠르페락은 중심(Centre)으로 일컬어진다 재치있고 입담이 좋으며, 마당발이라 아베쎄의 벗들의 모든 이들과 두루두루 친하다.
Lesgle 레글르 대학에서는 법학을 공부해 변호사를 목표하나 잘 안됨. 단골 술집에서 식사를 하고 있다가, 지나가는 앙졸라스와 그 일행들을 불러서 그 자리에 바리케이드를 쌓음 손대는 일마다 되는 일이 없는 안습 인생
Joly 졸리 예민한 성격의 의대생. 의사보다는 환자에 더 가깝다고 묘사
Feuilly 푀이 아베쎄의 벗들의 핵심멤버들 가운데 유일하게 노동자 계급. 혼자서도 읽고 쓰는 법을 깨우쳐, 독학을 하며 교양을 쌓아옴. 혁명을 통해 더 나은 세상을 만들 수 있다는 굳은 믿음을 가지고 살아 감
Bahorel 바오렐 거칠고 격정적인 성격을 가졌으며 '입담만으로도 모든 것을 깨부술 수 있는' 인물. 정부군과 첫번째 전투를 벌이던 도중 사망 한마디로 키보드 워리어
Jean Prouvaire 장 프루베르 다양한 외국어를 구사할 줄 알며 시도 쓰고 식물도 키우는 부드러운 남자. 혁명 후 정부군 측에서 벌인 즉결재판에서 곧바로 처형 당함 역사 덕후.
Grantaire 그랑테르 주정뱅이. 세상 일에 회의적이고 도박과 음주에 빠져 방탕하게 굴지만 리더인 앙졸라스만큼은 항상 동경. 하는 일 없이 혁명 당시 술에 절어 자기만 했으나 실패 후 정부군에게 혁명군 가운데 한 사람임을 자처하고 앙졸라스와 함께 총살당함 무능하나 의리에 살고 죽는 순박한 인물
  • github에는 이 인물들 간의 동시 등장 (Co-occurrence) 빈도를 PageRank 알고리즘을 통해 분석하는 오픈소스 프로젝트 4) 가 존재하고 이 데이터를 csv 파일로 제공함
  • csv를 통해 PageRank score를 계산한 결과로 도식화(visualization)한 내용과 함께 Table 1.의 정성적 분석을 혼합해 (hybrid analysis) insight 를 도출하려 함.



4. Implemetation & Analysis

  • Python 언어로 구현한 PageRank Algorithm 은 Fig. 2 과 같음

##
# Ranking node with page rank algorithm
#
# @param graph the graph to be page-ranked
# @param k the steps
# @return the ranking dictionary
#
def rank_nodes(graph, k=10):
    # Assign initial values
    ranks = dict()
    V = float(len(graph))
    s = 0.85

    for key, node in graph.nodes(data=True):
        ranks[key] = node.get('rank')

    for _ in range(k):
        for key, node in graph.nodes(data=True):
            rank_sum = 0.0
            curr_rank = node.get('rank')
            #print curr_rank

            neighbors = graph[key]
            for n in neighbors: # for each neighbors, gather its pagerank
                if graph.node[n].has_key('rank'):
                    if graph.node[n]['rank'] is not None:
                        out_links = len(graph.neighbors(n))
                        rank_sum += (1 / float(out_links)) * graph.node[n]['rank']
            ranks[key] = ((1 - s) * (1 / V)) + s * rank_sum

            for key, rank in ranks.iteritems():
                graph.node[key]['rank'] = rank
    return ranks
 

[Fig. 2 PageRank Algorithm]


[Fig. 3 Soicial network which argumented with PageRank score]


  • Fig. 3은 PageRank score 를 이용해 각 등장인물 들 간의 상관 관계를 D3 Visualization tool을 이용해 node와 edge로 도식화 5)
    • 주인공인 발장(Valjean - 농담하듯이 '장씨 가문의 발장 씨'도 아니고 머리가 길어서 '장발 장'도 아니다.1) )이 가장 중심 부에 위치
    • 은인인 미리엘 주교(Myriel)과 천적인 자베르(Javert), 양녀 코제트(Cosette)를 괴롭힌 테나르디에 부부(Thénardiers) 들과 빈번한 교류를 보여 줌
    • 소설의 초반부 (동화의 전부)에 핵심 인물인 미리엘 주교(Myriel)은 발장 외 다른 인물들과 관계를 갖지 않음
      • 등장인물 요약을 기반한 맥락적 분석으로 보면 소설의 전체 얼개 중 핵심 발단을 제공하는 인물
    • 발장의 사위인 마리우스(Marius)는 발장과 아베쎄의 벗들의 연결자(hub)이며 혁명의 소용돌이로 이끄는 문제적 인물
      • 아내이자 발장의 양녀인 코제트(Cosette)와의 관계 만큼 발장과 관계가 강함 (strong tie)
    • 아베쎄의 벗들은 리더는 앙졸라스(Enjolras)이나 중심(Cente)이라 일컬어지는 콩브페르(Combeferre)에 의해 더 많은 벗들과 연결되고 있음을 보임
    • 테나르디에 가족의 일원인 가브르슈 (Gavroche)는 역할은 미미하나 미리엘 주교 (Myriel) 다음으로 강한 점수를 보여주며 임계 지점 (tipping point) 역할 수행
      • 가족들 보다 혁명을 이끄는 아베쎄의 벗들 간 관계가 강하고 다양한 인물들과 약한 관계 (weak tie)를 맺고 있음.


[Fig. 4 Co-occurence matrix]


  • Fig. 4은 matrix 형태로 등장 인물 간의 관계 성을 색깔의 농도로 표현
    • 소설의 중후반 부에 등장하는 아베쎄의 벗들과 장발장의 겪는 혁명에 관한 네러티브가 소설의 핵심임을 보여 줌
    • 소설 속에서 팡틴 (Fantine)은 딸인 코제트(Cosette)와 함께 등장하지 않는다는 것이 특이



5. Discussion

  • 정량 분석을 통해서는 한 인물의 전반적 정보를 투영할 수 있으나 연대기 별로 (초년, 성년, 중년, 노년 등) 관계를 갖는 인물이 다를 수 있고 이런 특징적 정보는 안 보임
  • 동화 장발장이나 영화 레 미제라블이 아닌 원작 소설을 읽지 않아 기타 등장 인물들의 관계가 분석이 되지 않아 보다 근원적인 나비 효과를 분석하기 힘듦.
  • 사건이나 등장 인물들의 급격한 변화를 보이는 지점 (tipping point) 를 기준으로 데이터를 나눠 이 때 가장 강한 상관 관계를 갖는 인물에 대한 분석(영향력 분석)이 필요함.



6. Conclusion

  • 소설의 인물들의 관계를 정량/정성 분석함으로써 나비 효과처럼 임계 상황에서 의도치 않게 핵심 역할을 수행하는 인물 - 가브르슈 - 를 찾아 낼 수 있었음.
  • 정량 분석을 통해 소설의 원작자의 입장(전지적 작가 시점)에서 관망할 수 있는 효과 확인
  • 올바른 정량 분석을 위해서는 정성 분석이 함께 수행되어야 효과적임
  • 후속 연구로 분기 상황에 대한 데이터를 확보해서 해당 상황 별로 정량 분석을 하면 추가 insight 기대 됨.



7. References


+ Recent posts