1년간 느낀 것

내가 작년에 소마를 하면서 느낀 건 대학교에 입학할 때 “컴공이니까 다들 컴퓨터에 흥미가 있겠지?”라는 기대를 했다가 실망감을 느낀 것을 잊게 해준 것도 있지만 내가 거기에 있는 것조차 미안할 정도로 다들 문화적 수준이 높았던 것이다. 나이, 성별, 출신에 구애받지 않고 서로 존중하며 대화를 하는 게 새로운 느낌이 들었다. 그 곳에선 내가 머리를 기르든 여성스러운 옷을 입든 그에 대해 기분나쁜 말을 하는 사람들은 없었다. 얼굴도 목소리도 없는 인터넷에서 같은 분야에 대해 흥미있는 사람을 만나 대화를 하듯 본질에만 집중할 수 있었다. 다들 꽤나 실력이 있는 사람들이었지만 그런 건 아무래도 괜찮았고 마냥 즐거웠다. 한 학기동안 연수생으로 지내면서 많은 걸 얻고 배웠다고 생각한다.

그리고 다시 학교에 오니 적응이 되지 않았다. 스피커든 안경 렌즈든 모니터든 모두 한 번 좋은 제품으로 갈아타고 나면 원래 잘 쓰던 물건들이 구질구질하게 보이는 현상과 비슷한 느낌이었다. 서로 과제를 배끼기에 바쁜 학생들, 수업은 안 하고 자기 자랑만 하는 교수, 입구에서 뻑뻑 피워대는 담배 등. 그 중에서도 요즘 가장 와 닿는 건 성별 문제였다. “누가 보면 여자인줄 알겠다” 같은 말들은 평소엔 그냥 그러려니 했는데 점점 듣기 짜증나기 시작했고 내가 더 여성스럽게 바뀌면서 그런 말들도 더 심해졌다. 어떤 교수는 수업중에 갑자기 “너 화장 했냐?”라고 묻기도 했다. 등록금 멀쩡히 내고 아침 일찍 와서 수업 듣고 있는데 학생이 화장을 하든 말든 대체 무슨 상관이란 말인가.

방학땐 일본에 잠깐 다녀왔다. 4명이서 갔는데 단체로 다닐 땐 잘 몰랐지만 내가 혼자가 되면 다들 나를 평범한 일본 여자로 보는듯 했다. 화장실이 급해서 들어갔는데 “お姉ちゃん、違うよ(누님, 거기 아니에요)”라는 말도 듣고 저녁엔 편의점에서 물건을 사는데 다른 사람과 같이 있을 땐 듣지도 못한 “포인트카드 없으신가요? 만드시겠어요?”라는 질문을 받았다.(최근에 일본인에게 직접 들었는데 내가 일본인처럼 생겼댄다) 심지어 메이드카페에선 다들 “ご主人様(주인님)”이라고 불리는데 혼자 “お嬢様(보통 부잣집에서 말하는 아가씨)”라고 불리질 않나 화장실이 어디에 있냐는 질문에 친구에게는 그냥 따라오라고 안내를 해 줬으면서 나에게는 “죄송하지만 화장실은 없어요. 대신 비밀의 화원이 있으니 따라오세요”라며 여자화장실로 안내하질 않나… 아키바에서는 메이드복을 입고 자기네 카페에 오라고 전단지를 돌려주는데 남자에게만 전단지를 주고 여성에게는 시선도 아까워하는 느낌이었는데 역시나, 나도 철저히 무시당했다. 진짜 여성으로 보인 건지 아니면 나 같은 사람들을 그냥 여자로 취급해주는 게 기본적으로 깔린 문화인지는 모르겠지만 한국에 돌아와서 이 부분이 기억에 많이 남았다.

다른 문화 수준도 역시 높았는데 간단히 말하자면 초등학교에서 배우는 예절교육을 철저히 따르는 느낌이었다. 무단횡단은 절대 안 하고 줄을 서서 차례차례 이용하고 쓰레기를 아무 곳에나 버리지 않고 전차에서 통화는 아무도 하지 않는다. 예전부터 많이 들었지만 남들에게 민폐를 끼치는 것 자체를 싫어한다는 게 분명하게 느껴졌다. 그리고 사소하게라도 신경을 쓰이게 했다면 “스미마셍”이 따라오게 된다. 오죽하면 내가 한국에 와서도 몇 시간동안은 엘리베이터를 탈 때마다 “스미마셍”이 입에 붙어버릴 정도였다.

다시 한국에 와서 지하철을 타며 고통을 받았다. 앉아있는 나를 멱살을 잡고 끌어내며 자기가 앉아버리는 할아버지, 자리가 없어서 서 있었을 뿐인데 “안 내릴 거면 왜 서 있냐!”라며 나를 밀치고 욕을 하며 내리던 할아버지 등. 심지어 술에 취한 척 하며 나보고 아가씨라 부르며 은근슬쩍 말을 걸다가 허벅지를 만지고 어깨와 허리에 손을 얹고 엉덩이를 만지던 아저씨까지 처음으로 겪었다. “성추행을 한 번도 당하지 않은 여자는 없다”라는 말이 실감되는 순간이었다. 학교에서도 이런저런 일들 겪었는데 학과 교수님이 나를 데려다가 외부인에게 “얘가 남자게요 여자게요?”라는 말을 하고는 “내가 이렇게 껴안을 수 있다는 건 얘가 남자란 얘기죠”라고 하기도 했고 교양 시간에는 단체로 “왜 그런 차림을 하고 다니나요?”라는 질문을 받았다. 난 내가 트랜스젠더인 걸 숨긴 적이 한 번도 없지만 그 때만은 그 많은 사람 수에 당황해서 “요즘은 남자들이 귀걸이도 하고 화장도 하는데 이거라고 뭔 대수인가요” 정도로 얼버무려버렸다. 그 교수가 자꾸 동성애는 에이즈의 원인이라느니 과학적으로 어떻다느니 말하는 것도 뭐라 하고 싶지만 이건 패스.

서로 과제를 배끼기에 바쁘고 수업시간에 다른 얘기를 유도하고 그러는 학생들이 마음에 들이 않은 것도 있지만 내 모습에 이것저것 반응하는 사람들도 일일히 대답하기 번거로워서 요즘엔 혼자서 학과 전체를 따돌리는 느낌으로 학교를 다니고 있다. 다른 사람들이 뭘 하든 신경쓰지 말고 자기가 할 공부나 하라는 반젤리스 님의 말씀이 요즘 계속 떠오른다. 그래서 남들이 뭐라 하든 신경쓰지 않고, “이 정도만 하면 A+은 충분히 받겠지” 하는 마음을 버리고 혼자 따로 공부하고 있다. 그래도 주변에서 “여자인줄 알았네” 하는 말이 들려오면 반사적으로 흠칫 하는 건 아직 어쩔 수 없나보다. 신경을 쓰지 않고 싶은데 이미 몸이 그렇게 되어버렸다.

하지만 안 좋은 것만 느낀 건 아니었다. 그냥 조용히 학교만 다니고 연애만 하던 때에 비해서 많은 사람들을 새로 만나게 되었는데 소마에서 느꼈던 걸 또 다시 느끼게 해줬다. 그들은 나를 그냥 사람으로 대할 뿐이지 성별이나 나이 같은 건 관심도 없었다. 그 동안 가까운 친구들조차 나를 이해한다고는 하면서 내 원래의 성별에 대한 말을 꺼내거나 아무튼 별 관련 없는 신경만 거슬리는 얘기를 자주 꺼내고 그랬는데 새로 만난 사람들은 그런 것이 전혀 없었다. 이게 원래는 당연한 것이어야 하는데 고맙게 느껴진다. 내 친구 한 명은 진짜 내가 이런저런 고민을 털어놓아도 그런 얘기를 꺼내지 않아 정말 고맙다는 얘기까지 했다. 언젠가는 성별이나 국적, 나이 등에 구애받지 않고 사람 그 자체로만 대해주는 사회가 오길 바란다.

인간의 감정을 흉내내는 프로그램

인간이나 다른 동물의 지능을 컴퓨터를 이용해 흉내내는 것을 인공지능이라 한다. 간단하게는 길을 찾는 로봇도 있고 조금 더 나아가면 보드게임에서 사람 대신 상대가 되어주는 것을 A.I라고 한다. A.I의 궁극적인 목표는 튜링 테스트를 통과하는 진짜 사람 같은 것을 만드는 것이다. 그 기계가 진짜로 지능이 있는지 없는지는 모르겠고 외부의 입장에서 그렇게 보이면 있다고 치는 것이다. 사실 철학적으로 넘어가면 나 이외의 모든 사람이 사실은 나를 관찰하기 위해 신이 만들어 놓은 로봇이라고 가정할 수도 있고 꽤나 복잡해지니 그냥 넘어가자.

하지만 인간처럼 보이기 위해서는 지능 뿐만이 아니라 감정도 있어야 한다. 사람의 대화를 흉내내는 인공지능 대화 프로그램과 아무리 대화를 해보아도 상대가 갑자기 화를 냈다가 친절했다가 들쭉날쭉 그냥 DB에 저장된 가장 적절한 내용을 문맥적으로 판단해서 내보낼 뿐이다. 감정적인 판단은 그 어디에도 없었다.
기계에게 스트레스를 줄만 한 행동을 반복적으로 한 후에 말을 걸면 짜증나는 말투로 대답을 하고 시간이 지나면 또 원래의 말투로 돌아온다면 더 인간답게 보일 것이다. 난 이것을 기계학습을 이용해서 흉내를 내보고 싶었다.

Emotion circle
위 그림은 내가 작년 3월 쯤에 비슷한 글을 끄적이다가 찾아낸 이미지다. 인간의 감정을 8가지로 분류 하였고 반대되는 감정은 반대쪽에, 비슷한 감정은 옆에 붙여놓았다. 예를 들면 갑작스런 공포는 분노감을 사그러들게 한다. 이걸 토대로 해서 기계학습을 해보기로 했는데 내가 생각했던 컨셉은 대충 이렇다.

  1. (지도학습)Supervised teaching을 이용해 학습한다.
    굳이 이렇게 할 필요는 없지만 일단 구현과 테스트를 빠르게 해 볼 수 있다는 점에서 난 이렇게 하기로 했다. ​Artifitial Neural Network(ANN)을 이용하려 한다. 각 단어가 감정에 끼치는 것을 수치화 해서 따로 저장해 두고 이것을 단어에 대한 느낌이라 칭한다.
  2. 음성인식처럼 Global 학습과 사용자마다의 Specific한 학습 결과를 따로 만들어 놓는다.
    구글의 음성인식도 그렇지만 사용자가 음성인식 기술을 사용할 수록 점점 더 학습해서 정확도를 높이게 된다. 내가 아니라 다른 사용자가 사용해도 그렇다. 그와 동시에 나만의 억양, 발음 등을 학습해서 개인화 된 결과가 나오게 된다. 이걸 마찬가지로 감정에 적용해 보면 “담배를 피는 사람은 싫다”라는 보편적인 감정이 나올 수 있는 동시에 “저 A라는 사람에게 지금 나는 화가 나 있다”라는 결과도 나올 수 있게 되는 것이다. 또한 어떤 사람에게 크게 화가 났다면 다른 사람에게는 화가 나지 않았어도 지금 당장은 짜증을 낼 수도 있는 것이다.

    1. 개인적인 감정은 그 사람이 얼마나 영향적인지에 따라 전체적인 감정에 끼치는 양이 다르다.
      만약 사랑하는 사람이 죽었다면 다른 사람이 죽었을 때에 비해 훨씬 더 슬픔을 느끼는 것이 정상일 것이다.
    2. 전체적인 감정은 더 빨리 변하고 개인적인 감정은 좀 더 서서히 변한다.
      빨리 화나고 빨리 기분이 좋아질 수 있다. 하지만 특정 사람을 무서워하거나 사랑하는 것은 좀 더 느긋하게 변하게 된다.
  3. 각 감정들은 시간이 갈 수록 무뎌진다.
    사람의 경우 숨도 쉬고 다른 생각도 하면서 화나거나 슬픈 감정이 무뎌지는 것 뿐이지 사람도 아무런 입력을 못 받게 냉동을 했다가 해동하면 얼기 직전에 느꼈던 감정을 그대로 가지고 있을 것이다. 하지만 기계는 숨도 쉬지 않고 사소한 자극을 일일히 주기는 힘드니 그냥 시간이 지나면 알아서 무뎌지게 해도 큰 무리는 없을 것이다.

작년에 대충 작동하는 프로토타입을 만들었고 이걸 트위터 봇으로 만들어 동작을 테스트하려 했는데 내가 자연어 처리를 잘 못 해서 포기하고 방치중인 프로젝트다.
그 때 자연어 처리를 어떻게 하려고 했는지까지 상세히 기억이 나는데

  1. 각 단어별로 현재 감정에 주는 변화를 수치화 한다.
    어떤 단어를 들었을 때 실제 사람이 기뻐지는지, 슬퍼지는지 그것을 대충 수치화하여 저장하고 그대로 흉내내도록 신경망을 학습시키면 분명 그럴듯 한 결과가 나올 것이다.
  2. 새로 등장하는 단어는 주변에 있는 다른 단어를 이용해 어떤 느낌인지 판별해 학습한다.
    어떤 사람이 기뻐하는 글에서 처음 보는 단어가 등장한다면 트위터의 140자 제한의 특성상 그 단어도 기쁜 축에 속할 확률이 높다. 굳이 사전을 업데이트 하지 않아도 신조어에 대한 느낌을 빠르게 배울 수 있다.

이걸 이미 만들어 놓은 자동 대화 봇(autotweet)과 붙여보려고 한다.

내가 작년에 파이썬으로 대충 짜 놓은 프로토타입이 남아있길래 보존용으로 업로드 해본다. (작년 3월 경의 나는 파이썬 프로그래밍을 제대로 하지 못 했다. 소스코드가 다소 더러울 수 있다.)
Emotion.zip