Coding/Personal Project

작심삼일이 복귀해서 만든 ocr 캡쳐 정리

자테커 2023. 4. 7. 21:27

요즘 독서모임을 진행하게 되서, 책을 캡쳐하는 작업을 많이 하고 있습니다. 아이폰의 텍스트 캡쳐는 정말 편하지만, 가끔 글자를 혼동해서 인식합니다. 그럼에도 오탈자만 고치면 되서 자주 쓰고 있습니다.

그런데, 모임에 필요한 글을 만들려면 찍은 사진들의 텍스트 캡쳐를 합치는 작업이 필요합니다. 한 두쪽이면 하겠지만, 수십쪽이 넘어갈 때 여간 노가다가 아닙니다. 그래서, 이 부분을 편하게 작업할 수는 없을까? 싶어서 직접 만들어봤습니다.

오늘 사용할 책입니다.

이미지는 저런 방식으로 자동으로 인식된다.

예를 들어 1~10P를 저런 방식으로 10번 찍으면 글자는 다음처럼 표현됩니다.

 

1995년 이전 : 인간은 이성적인 존재다
10900년대 중반까지만 해도 뇌의 세 부분이 어떤 기능을 하는지에
•대해 의견이 거의 인지했다. 당시의 뇌 연구에 따르면, 대처와 신피질은 지성과 이성을 담당한 곳이고, 그 아래에 있는 변연계는 머릿속에서 감 정을 담당하는 중십지였다. 그리고 뇌줄기는 본능을 담당하는 영역으 로 알려져 있었다. 이 주장대로라면 이러한 뇌 영역들은 마지 양파껍질 처럼 겹쳐져 있을 뿐, 서로 연결되어 있지 않기 때문에 비교적 독립적으 로 작동해야 한다.
당시 활동했던 뇌과학자 중 가장 유명했던 사람은 미국의 맥클 린 Nackean 이었다. 그는 변연계의 개념으로 두각을 나타냈던 인물이다.
이 모델에서 무엇보다 중요한 것은 신피질과 그 역할이다. 당시 학자들 은 신피질이 인간의 머릿속에서 권력의 중심지고, 바로 이 부분이 컴퓨 터처럼 이성적이고 합리적인 결정을 내리는 곳이라고 추정했다. 그런데 이 모델에 따르자면, 가끔 모순이 발생하게 된다. 감정과 본능을 담당 한 뇌의 하부영역이 대뇌의 이성적 사고를 방해할 때가 있기 때문이다.
당시 학자들은 머릿속에서 결정이 내려지는 과정과 방법에 대해서도 의견이 일치했다. 의식에 따라 스스로 결정한다는 것 말이다.
뇌의 위쪽에는 명석하고 순수한 이성이, 아래쪽에는 천한 본능이 자 리한다는 이 모델은 플라톤으로 거슬러 올라간다. 그는 계층 이론을
'신체에 비유해 설명하지만 기분 원리는 같다. 플라톤에 따르면 머리는
'이성과 논리를 담당하는 영역이고, 가슴은 감정을 담당하는 영억이며,

보이는 것처럼 1900년대 중반을 10900년 중반등으로 표현합니다. 이런 부분은 직접 수동으로 오탈자를 고쳐주면 해결됩니다.  문제는 아이폰에서 txt 파일을 전송하면 제목이 랜덤하게 생겨버립니다. 찍은 순서대로 텍스트가 병합되어야 글이 올바르게 연결되는데, 그냥 코드로 병합을 돌리면, 순서가 틀리게 됩니다. 기본적인 맥 옵션인  cat -t -v * 등으로는 오류가 계속 생겨서 방법을 바꿔보기로 했습니다.

 

 

 

그래서 오늘은 시간 순서에 맞게 병합할 수 있게 이 부분을 해결하고자 합니다.

import glob
import os
import datetime
import pandas as pd
import json

#1
with open('/Users/jeonmincheol/Downloads/Book_Capture/path_box.json') as f:
    path = json.load(f)

#2 
file = glob.glob("{}/*.txt".format(path['path']['text_path']))
dic = dict()
str_list = []
time = datetime.datetime.today()
accurate_today = str(time.year) + '_' + str(time.month).zfill(2) + '_' + str(time.day).zfill(2)
for i in file:
    dic[int(os.path.getmtime(i))] = i
#3
idx = list(dic.keys())
idx = sorted(idx)

#4
for i in idx:
    f = open("{}".format(dic[i]),'r')
    sentence = f.readlines()
    str_list += sentence
    f.close()
    
#5
with open('{}/combine_{}.txt'.format(path['path']['combine_path'],accurate_today),'w') as file:
    file.writelines(str_list)

처음에는 경로를 지정한 json 파일을 읽어옵니다. 저렇게 경로를 따로 json으로 만드는 이유는 배치파일로 클릭해서 실행할 때 상대경로로 만들면, 실행파일이 잘 돌아가지 않습니다. 그래서 따로 json 파일로 경로를 관리하는 방법은 여러 버전 관리에 유용합니다.

두 번째는 모든 txt 파일들을 가져와서 딕셔너리 자료형에 집어넣습니다. 여기서 핵심은 해당 텍스트 파일이 캡쳐 후 별도의 수정을 거치지 않았다면 수정시간은 바뀌지 않습니다. 그래서 해당 수정시간을 읽어오는 메소드인 os.path.getmtime 값을 key값으로 딕셔너리 자료형에 넣으면, {수정시간 : 파일 이름}의 관계로 맵핑됩니다. 

세 번째는 키값인 modified time(수정시간)이 낮은 순서대로(먼저 찍은 사진 순서대로) 정렬합니다.

네 번째는 낮은 수정시간 값의 순서대로 텍스트파일을 열고 읽어와서, 리스트에 추가합니다.

마지막으로, 모두 병합된 텍스트 파일을 작업시간을 기준으로 저장하면 됩니다.

 

일부 결과물을 한번 보겠습니다.

더보기
1995년 이전 : 인간은 이성적인 존재다
10900년대 중반까지만 해도 뇌의 세 부분이 어떤 기능을 하는지에
•대해 의견이 거의 인지했다. 당시의 뇌 연구에 따르면, 대처와 신피질은 지성과 이성을 담당한 곳이고, 그 아래에 있는 변연계는 머릿속에서 감 정을 담당하는 중십지였다. 그리고 뇌줄기는 본능을 담당하는 영역으 로 알려져 있었다. 이 주장대로라면 이러한 뇌 영역들은 마지 양파껍질 처럼 겹쳐져 있을 뿐, 서로 연결되어 있지 않기 때문에 비교적 독립적으 로 작동해야 한다.
당시 활동했던 뇌과학자 중 가장 유명했던 사람은 미국의 맥클 린 Nackean 이었다. 그는 변연계의 개념으로 두각을 나타냈던 인물이다.
이 모델에서 무엇보다 중요한 것은 신피질과 그 역할이다. 당시 학자들 은 신피질이 인간의 머릿속에서 권력의 중심지고, 바로 이 부분이 컴퓨 터처럼 이성적이고 합리적인 결정을 내리는 곳이라고 추정했다. 그런데 이 모델에 따르자면, 가끔 모순이 발생하게 된다. 감정과 본능을 담당 한 뇌의 하부영역이 대뇌의 이성적 사고를 방해할 때가 있기 때문이다.
당시 학자들은 머릿속에서 결정이 내려지는 과정과 방법에 대해서도 의견이 일치했다. 의식에 따라 스스로 결정한다는 것 말이다.
뇌의 위쪽에는 명석하고 순수한 이성이, 아래쪽에는 천한 본능이 자 리한다는 이 모델은 플라톤으로 거슬러 올라간다. 그는 계층 이론을
'신체에 비유해 설명하지만 기분 원리는 같다. 플라톤에 따르면 머리는
'이성과 논리를 담당하는 영역이고, 가슴은 감정을 담당하는 영억이며,배는 본능, 배고픔, 순수한 정육의 중심지로서 욕망의 영역이다. 매슬 로 Mmion의 인간 욕구 5단계 이론 역시 이 계층 모델을 기반으로 하고
있다.
이러한 이성 중심의 사고는 컴퓨터의 급속한 발전으로 더욱 강화되 었다. 인간의 이성은 컴퓨터와 비교되기에 이르렀다. 뇌 연구 뿐만 아니 라 심리학도 오로지 하나의 목적을 위해 달려간다. 인간의 머릿속에 있 는 합리적 프로그램을 파헤쳐 신경망을 복제하는 것이 그 목적이다. 논 리적인 인공지능 , Articeal Inteligence 프로그램을 이용해 인간의 사고와 행위 전체를 모방하고 개선하는 것이 머잖아 이뤄질 것이라 여겼다.하 지만 그러한 기대는 충족되지 못했다. 프로그램을 통해 산출되는 결과 와 인간이 실제로 하는 결정 사이에 엄청난 간극이 있었기 때문이다.
프로그램을 만든 사람들은 인간의 이성적인 면을 토대로 했기 때문 에 인간의 결정을 좌우하는 것이 어쩌면 감정일 수도 있다는 점을 고려 하지 못했다. 그러는 사이에 AT 분야에서는 인식의 전환이 일었다. 인 간의 감정을 연구해서 적용하기 시작한 것이다. 감정은 마땅히 그럴 자 격이 있었다.
1995년 : 뇌 혁명이 시작되다
1995년, 뇌 연구 분야에서 기준과는 반대되는 윤직임이 나타나기 시작했다. 당시 뇌 연구 분야의 대표적 인물인 미국의 신경생물학자 안 토니오. 다마지오. ww.mies bumuto 와 조정 코두 1patan) copour가 부상했다. 다 마지오는 뇌손상 환자의 검사를 통해 결점을 하는 과정에서 감정이 방 해가 되지 않는다는 것을 발전했다. 반대로 감정이 없으면 결정 과정도 진행되지 않았다.예를 들어 감정중추를 다친 환자들은 돈을 걸고 승패를 겨루는 카 드 게임을 할 때 합리적인 결정을 하지 못하는 것으로 나타났다. 여기 서 말하는 합리성은, 이의(쾌감)은 최대화하고 리스크(불쾌감)는 최소화 하는 게임이론의 만집에서 본 합리성이다. 감정공구가 손상된 한자들 은 카드 게임에서 항상 졌다. 게임 참가자들에게 알려주지 않고 승률을 바랐을 때, 일반 찬가자들은 게임을 몇 자레 한 뒤 바진 승활에 무의식 적으로 적응했다. 그래서 바뀐 승률에 맞춰 게임 전략을 바꾸었다. 그 러나 감정중추를 다친 환자들은 승률이 변했음에도 그 이전 전략을 게 임이 끝날 때까지 그대로 유지했다.
당시 다마지오가 검사했던 뇌 영역은 대뇌 전방부, 즉 전전두피질이 었다. 그의 검사는 두 가지 중요한 결과를 낳았다. 첫째, 감정이 매우 중 요하다는 것을 보여주었다. 둘째, 이성적인 대뇌도 감정 처리에 관여한 다는 것을 알게 됐다. 이러한 이유로 현재는 대뇌의 앞부분인 안와전두 피질과 전전두피질이 변연계로 분류된다.
조셉 르두는 연구 초점을 약간 다르게 했다. 그는 변연계에서 가장 중요한 핵이자 머리에서 감정적 평가의 중심부인 편도체를 다루었다.
편도체는 편도핵 Mandelkem 이라고도 불린다(도표 4-2> 참조). 그에 따르 면, 두려움이나 공포와 관련된 신호와 자극은 편도체에 의해 직접 처리 돼 몸이 즉시 공포반응을 나타낸다. 처음에는 의식과 신피질은 아무런
•영향을 받지 않는다. 그러다 시간이 조금 흐를 후 의식과 신미질은 관 린 정보를 얻고, 어떤 대상이 공포를 불러일으켰는지 더 정확하게 평가
하는 일에 집중한다.
• 협실 동물들의 뇌에서 편도체를 제거하자 그 동물들은 독사처럼
'생병을 위태롭게 하는 대상을 망설임 없이 옮겨잡거나 덥석 입으로 품었다. 르두는 이 실험을 통해 신피질이 변연계에 미치는 영향보다 면도 체와 변연계가 신피질에 미치는 (무의식적인) 영향이 훨씬 더 크다는 전 을 밝혀냈다.
나 역시 같은 시기에 감정과 변연계의 주도권에 대해 연구하기 시작 했다. 돈을 쓰는 행동과 소비행동에 대한 실험에서 모든 결정을 내릴 때 지배, 균형, 자극 시스템의 협력을 통해 결정한다는 것을 확인했다.
그리고 결정하는 과정에서 '이성'의 개입은 찾을 수 없었다. 바로 이 점 이 내가 뇌 연구, 특히 변연계가 인간의 생각과 행동에 미치는 영향을 연구하게 된 이유다.현재 : 진정한 결정자는 바로 감정이다
어느 분야든 패러다임 전환이 일어날 때 그것이 받아들여지고 인정 받기까지는 시간이 필요하다. 과학도 마찬가지다. 새로운 아이디어가 인정받아 확고하게 자리 잡고, 대다수 과학자들이 수용하기까지는 오 캔 시간이 걸린다. 그렇다면 오늘날 뇌 연구는 어디쯤 와 있을까? 입 은 이미 끝났다고 말할지도 모른다. 지금은 뇌에서 감정이 주도권을 주 고 있다는 걸 부정하는 사람은 소수에 불과하다. 현재는 감정의 영향 이 뇌 속에서 어떻게 처리되는지가 주요 논쟁거리다. 일부는 관계를 파 악하는 인지 행위보다 감정이 우선한다고 말한다. 그들의 생각에 따르 면, 감정을 통해 인식된 관계만이 의미를 얻을 수 있다는 말이 된다. 또 다른 사람들은 관계가 먼저 인식돼야 그 후에 감정이 생길 수 있다고 주장한다.214.2.16, 217 다른 과학적 논쟁들과 마찬가지로 이 부분도 현 재 진행 중인 연구들을 통해 타협점을 찾아나가고 있다.
결정에 미치는 감정의 영향은 대부분 무의식적으로 진행된다(70~80
퍼센트). 그러나 그 상황에 대한 의식적인 평가도 분명히 존재한다. 이는 감정과 계획을 그 상황에 맞춰 더 효과적으로 적응하도록 해준다. 의식 적인 평가가차지하는 비율과 영향은 약 20~30퍼센트다.
그러나 이 20~30퍼센트조차 우리가 생각하는 것만큼 자유롭지는 못하다. 이 비율도 우리의 감정 프로그램에 의해 정해진다. 하지만 나머 저 20~30퍼센트가 자유의지에 얼마나 많은 영향을 받는지. 또 실제 로 자유의지가 준재하는지 여부는 아직 밝혀지지 않았다. 물론 자유의 지가 있다 하더라도, 우리가 하는 결정 중 극히 일부분에만 영향을 기 칠 수 있다는 점에서 의견이 일치할 것이다. AS A16 AT7.42다시, 지성과 이성에 대하여
Chapter 3에서 다웠던 주제를 짧게나마 다시 살펴보려 한다. 정화 성 논리를 못하는 '합리적이라는 표현이 감정의 대립어가 아니라는 것
'은 이미 알고 있다. 이제 또 다른 측면을 살펴보자. 감정은 마구잡이로 날뛰는 것이 아니라 나름의 주마수를 지니고 있다. 때문에 삶에 방해
'가 되는 것이 아니라 중요한 이성적 기능을 담당한다. 그렇다면 비이성 적이거나 비합리적이라는 것은 무엇을 말하는 걸까? 지나치게 감정에 치우쳐 상황에 맞지 않거나 오랜 기간 해가 되는 결정을 내리는 것이다.

여전히 오타는 있지만, 오탈자는 제가 실제 책을 보면서 고치면 되는거고 만약 이 부분을 모두 직접 타이핑했다고 생각하면... 정말 미친 비효율이 아닐 수 없습니다. 간단하게 오늘은 아이폰에서 찍은 텍스트 캡쳐로 책을 순서대로 정리해서 시간을 아낄 수 있는 방법을 해봤습니다.

 

이와는 별개로 좋은 책이니 읽어보시는 걸 추천드립니다.

 

아래는 깃허브 주소입니다. 감사합니다. 실행파일은 batch와 bash로도 구동할 수 있습니다~

https://github.com/mincheol-Jeon/book_caputre_preprocess

 

GitHub - mincheol-Jeon/book_caputre_preprocess: i make this project for my small book reading club.

i make this project for my small book reading club. - GitHub - mincheol-Jeon/book_caputre_preprocess: i make this project for my small book reading club.

github.com