기본 콘텐츠로 건너뛰기

자연어 처리(Natural Language Processing, NLP)로 텍스트 다루기 (1)

디지털 자료를 다루는 데 빠뜨릴 수 없는 기술 중 하나가 자연어 처리(Natural Language Processing) 기술이다. 여기서 '자연어'란 컴퓨터 언어에 대비되는 인간의 언어를 말하는 것으로 우리가 일상에서 사용하는 말(소리, 텍스트 등)을 뜻한다. 챗봇이나 AI 스피커 등에 쓰이는 기술이 NLP 기술인데, '디지털 인문학' 분야에서 기본적으로 사용하는 분석 기법이기도 하다.

디지털 텍스트 자료를 수집해서 이를 분석한다면 바로 NLP 기술을 적용해서 해야 한다. 종교문화 연구에도 적용이 가능하리라 생각한다.

어쨌든 NLP도 웹스크래핑과 함께 공부를 시작했다. Python 공부를 하면서 수업 시간에 종종 사용했던 주피터 노트북(jupyter notebook)을 활용해서 관련 책을 보면서 연습을 했다. 

(그냥 하는 소리지만 '주피터 노트북' 이야기를 처음 들었을 때는 '노트북 컴퓨터'를 떠올렸다. 몇 번 맛을 보고 시간이 흘러 사용한 것을 까먹을 때 쯤에는 파이썬 IDE 중 하나인 파이참이나 비쥬얼 스튜디오 같은 프로그램이라고 생각했다. 수업이나 관련 책에서 '주피터 노트북'을 준비하세요라는 말을 들을 때마다 '어 어떻게 깔지'라는 생각부터 했다. 근데 컴퓨터에 이미 깔려 있어서 '뭐지?'했던 기억이... '아나콘다' 깔면서 사용할 수 있게 되었던 것인 듯.

뭐 IDE 중 하나긴 한데, 웹브라우저에서 구동해서 구글의 코랩colab 같은 종류로 느껴진다. 실제로 교육 현장에서는 jupyter나 colab을 많이 쓰는 듯. colab은 클라우드 기반이라 협업-그래서 Colaboratory의 앞글자로 colab이라 한 것-에 강점을 가진다고 한다. 참고)

━━━━━━

문장이 있으면 단어들의 일부를 뽑을 수도 있고(3행은 위 문장에서 짝수 번째 단어를 추출한 것이다), 특정 단어만 뽑을 수도 있고(아래), 글자의 순서를 뒤바꿀 수도 있다.

단어의 순서는 그대로지만 단어의 철자는 거꾸로 적히게도 만든다.

그렇다면 철자는 그대로이고 단어의 순서는 거꾸로인 것을 어떻게 만들 수 있을까? 내가 본 책에는 그런 예제는 나오지 않았다. 

여러 방법이 있겠지만 내가 생각해 본 것은 애초 word는 리스트의 배열 순서를 바꿔서 그대로 문장으로 묶어주는 것이다.

iwords = words[::-1]

print(' '.join([iword for iword in iwords]))

그러면 단어의 철자는 그대로지만 단어의 순서는 거꾸로 쓰인 문장이 완성된다. 보다 완벽하게 하려면 구두점의 위치를 바꾸도록 해야하는데, 아직 그 정도까지는...

댓글

이 블로그의 인기 게시물

제임스 카메론 감독과 예수 가족의 무덤, '예수 신화'에 이야기를 더하다

 얼룩소에 2023년 8월 2일에 쓴 글입니다. *  *  * 최근에 『예수의 무덤: 역사를 뒤집을 고고학 최대의 발견』(2007)이란 책을 보게 되었습니다. 『예수의 무덤』의 표지(출처: 교보문고) 원제는 The Jesus Family Tomb: The Discovery, the Investigation, and the Evidence That Could Change History (예수 가족의 무덤: 역사를 바꿀 수 있는 발견, 조사, 그리고 증거, 2007)입니다. 이 책을 보고 '제임스 카메론'이 등장할 것을 알기는 어렵지요. 관련 논란을 미리 알았더라면, 그리 놀라지는 않았을 것 같습니다. 책을 펼치면 '추천의 글'이 있습니다. 이 글을 쓴 사람이 제임스 카메론(캐머런)이었습니다. 『예수의 무덤』 17쪽, '추천의 글' 글쓴이 그런데 이 책의 문제 의식은 상당히 인상적입니다. 역사학자, 성서학자의 '예수의 실존'에 관한 일반론에 대한 반박을 할 수 있는 결정적인 물리적 증거(예수 가족의 무덤)가 심차 자코보비치(Simcha Jacobovici)와 찰스 펠리그리노(Charles R. Pellegrino)에 의해서 발견되었다는 것입니다.  요즘 많은 전문가들이 예수가 실제로 존재하지 않았다고 주장하고는 한다. 이교도들의 신, 죽음과 부활의 신화, 1세기경 유대인들의 메시아 전통 등이 결합되어 조작된 존재로, 예수 역시 그리스 신화의 제우스처럼 역사적 실존 인물이 아니라는 주장이다. ... 그리고 대부분의 학자가 크리스마스도 동지를 축하하는 이교도의 전통을 받아들인 것으로 해석한다. 동정녀 잉태와 부활 등 예수의 이야기에서 기본적인 틀을 이루는 많은 부분이 예수의 존재보다 적게는 수백 년을 앞서고 있기 때문에, 예수가 실존 인물이 아니라 어떤 특별한 이유로 조작된 신화적 인물이라는 주장이 설득력 있게 들린다. 예수 그리스도가 실제로 이 땅에서 살았다는 물리적 증거가 하나도 없기 때문에 ...

태백산, 산당, 서낭당 그리고 사람들┃답사 후기

[2017년 6월에 태백산 일대의 답사를 다녀와서 쓴 글입니다. 답사는 6월 3일부터 6월 4일까지. 후기 작성일 2017. 6. 7.] · · · 태백산에 다녀왔다. 천제단, https://www.khan.co.kr/local/Gangwon/article/202204281434001#c2b 난 답사를 싫어한다. 주위 사람들은 다 알고 있다. '왜 가야 하나'에 적절한 답을 가져본 적이 없다. 학부 때는 '학술'을 가장한 MT같은 것이니 어쩔 수 없다 싶었는데, 대학원에 들어와서는 그마저도 관심이 시들해졌다. '학'은 사라지고 '술'을 위해서 가는 것이라면 또 굳이 갈 이유가 있을까 싶기도 했다. (실제 답사가 다 그런 것은 아니다. 내가 답사에서 무언가 발견할 수 없었기 때문에 그렇게 느꼈던 것 같다) 그런데 박사수료 후부터 조금 달라졌다. 이제 '그곳'에 가면 이야기가 보이기 시작한다. 그것도 재미가 있다. 왜 그런가 싶었는데, 역시 수준 높은 연구자들과 함께 가서 그런 것 같다. 혼자 갔다면 도저히 그곳의 이야기, 그곳 사람들의 이야기를 듣지 못했을 터다. ('자기 문제의식'이 명료화 되었다는 점도 중요한 것 같기는 하다) '산악신앙'은 상식적으로는 '원시신앙'으로 학술적으로는 자연신앙 내지는 마을신앙과 관련된 민속신앙으로 이야기된다. 고도의 신학적 이야기, 그래서 인생의 의미를 음미하는 따위의 것이 담겨있지 않다. 그래서 상당히 빈곤하게 이해된다. 그런데 이번에 태백산 답사를 가서, 거기에 '인간'을 들여다 보는 '어떤 창'이 있다는 것을 새삼스럽게 확인하게 되었다. 산은 '신성한 곳'이다 태백산 같이 높은 산, 주변 지역의 '중심'이 되는 산은 특히 그렇다. 그런 산들은 일단 직접적으로 인간에게 '위험'하다. 맹수로부터 목숨을 위협 받을 수 있는 곳이다. 높...

우리 뇌의 '미래 보상 감지기'로서의 세로토닌?!

최근 오타와 대학교 연구팀이 세로토닌 뉴런이 우리 뇌에서 어떤 역할을 하는지에 관한 흥미로운 연구 결과를 발표했다. 이 연구는 우리가 일상에서 수많은 결정을 내릴 때 세로토닌이 어떻게 작용하는지에 대한 새로운 시각을 제시한다. 세로토닌의 새로운 역할: 미래 가치 예측자 세로토닌(serotonin)은 흔히 '행복 호르몬' 또는 '기분 좋게 만드는 화학물질'로 알려져 있다. 많은 항우울제가 이 세로토닌 시스템을 대상으로 하는 이유도 여기에 있다. 그러나 세로토닌의 정확한 역할은 그동안 과학자들에게 수수께끼였다. 이번 연구에서 밝혀진 중요한 발견은 세로토닌 뉴런이 단순히 즐거움이나 고통에 반응하는 것이 아니라, '예상 가치(prospective value)'라는 신호를 보낸다는 것이다. 이는 가까운 미래가 얼마나 좋을지를 뇌에 알려주는 일종의 예측 신호이다. 강화 학습 이론과 뇌 연구의 만남 연구팀은 '강화 학습 이론(reinforcement learning theory)'과 뇌의 세로토닌이 풍부한 지역인 '등쪽 솔기핵(dorsal raphe nucleus)'에서 얻은 신경 기록을 결합했다. 강화 학습 이론은 인공지능 분야에서도 사용되는 개념으로, 행동의 결과를 바탕으로 학습하는 방식을 설명한다. 쉽게 말해, 좋은 결과를 가져온 행동은 반복하고, 나쁜 결과를 가져온 행동은 피하게 되는 학습 방식이다. 등쪽 솔기핵은 뇌간의 한 부분으로, 세로토닌을 생산하는 뉴런이 많이 모여 있는 곳이다. 이 지역은 우리의 기분, 수면, 식욕 등 다양한 기능에 관여하고 있다. 의외의 보상에 더 강하게 반응하는 세로토닌 뉴런 연구에 따르면, 세로토닌 뉴런은 특히 '예상치 못한 보상(unexpected rewards)'에 가장 강하게 반응한다. 예를 들어, 갑자기 길에서 돈을 발견했을 때 우리 뇌의 세로토닌 뉴런은 평소보다 더 활발하게 활동한다. 이는 세로토닌이 단순히 현재의 즐거움이나...