소장한 소설책을 텍스트화하여 보관을 목적으로 작업하는 것을 일명 ‘텍본(텍스트본)’이라고 한다.

가급적 eBook으로 구매하여 읽고 있지만, 가끔 종이책의 달달한 유혹은 시리즈물 전권을 지르게 만든다.

솔직히 말해 소설류는 한번 구입하고 리뷰를 위해 한번 더 훑어볼 뿐 이후는 서재에 고스란히 모셔놓는다.

그나마 컴퓨터 관련 기술서적은 꽤나 펼쳐보지만 이도 GPT 형님 덕에 그 수명이 얼마 가지는 않는다.

아무튼!

배포를 목적으로 하는 게 아닌 소장을 목적으로 텍본을 만들다 보면 이놈에 오타가 시도 때도 없이 남발하니 수정하는데만 해도 하세월이다.

이런 텍본을 가지고 epub 파일 형식의 전자책으로 만들어 필요한 문장을 필요할 때마다 보곤한다. 뭐 애시당초 eBook으로 샀으면 큰 문제 안되지만 가끔이지만 애써 종이책으로 구입하여 생고생 하는 경우는 여러모로 신경쓸게 많다.

그럼 Chat GPT에 업로드하고 수정해 달라고 하면 안 돼??

해봤는데 미약했다.

‘햇다, 했따, 갔따 ….. ‘

나름 근래 소설을 집필하는 나로서는 오타가 보일 때마다 협압이 치솓는다.

결국 만들어 놓은 텍스트를 자동 교정할 수 있도록 웹프로그램에 손을 댄다.

베이스는 빠른 실행과 결과 도출을 위해 php를 사용했다. 어지간하면 flask로 만들고 있지만, 이게 설정하고 구동하는데 꽤 시간이 소요된다. 결국 php가 빠른 결과에 최적화되어 있어 php 베이스로 프로그램을 만들었다.

AI가 세상에 출시되고 Chat GTP도 어느덧 4.5까지 선보이고 있다. 확실히 개발에 있어 결과물 도출은 AI를 활용함으로 1/10 이상으로 빨라진 느낌이 든다. 아울러 작년 한 여름 병신짓해대는 GPT와 사투를 벌이다가 끝내 Claude로 갈아타기도 했었는데, 이제는 많이 착해진 것 같다.

프로그램 구조

오타를 수정하기 위해서는 오타와 수정될 단어의 데이터가 필요하다.

이 데이터를 바탕으로 수정할 텍본(txt파일)을 업로드하고 교정한 후 다운로드하게 하는 게 이 프로그램의 최종 목표이다.

자주 틀리는 단어를 바탕으로 만들다 보니 데이터에만 350개 이상을 쌓았다.

즉, 파일 업로드와 수정 후 다운로드하는 페이지와 별도로 오타관리하는 페이지 크게 2 분류로 나누어진다고 보면 된다.

간략한 프로그램 구조는 아래와 같다.

오타 자동 변환기는 오타 데이터인. csv파일을 불러와 업로드된 txt파일에서 해당하는 단어나 문장의 오타를 수정한다. 이때, 문장 마치기 전의 줄 바꿈도 교정할 수 있게 체크 박스로 기능을 선택할 수 있다.

오타 데이터는 사용자가 직접 오타와 수정할 단어를 입력하고 이를 csv파일로 서버에 자동 저장한다. 이에 대한 csv파일은 사용자가 다운로드하여 다른 곳에 사용할 수 있도록 인터페이스를 마련하였다.

오타 자동 변환기의 메인 소스의 일부 내용이다.

이번 웹프로그램은 Flask(플라스크)를 이용하지 않고 PHP를 이용하였다. 현재 서버에는 php 8.1 버전이 설치되어 있다.

만드는 재미는 flask가 손맛이 더 느껴진다. 하지만, gunicorn 설정 후 소켓 연결에서 문제가 발생하면 은근히 진땀 빼게 만든다. 그런 면에서 php는 Nginx와 잘 어우려 저 있어 별도의 http서버 구동이 없이 즉각적으로 이용 가능하고, 아울러 php페이지에 html까지 바로 구현할 수 있어 편린성은 상당히 높다.

고로, 손맛은 떨어지더라도 시간을 단축시키기 위해 php를 사용하기로 했다는 것.

일반적으로 주요 오타는 40~50 단어 내에서 해결된다. 오타도 있고 띄어쓰기 교정도 있지만 아주 기본적인 ‘햇다’, ‘갔따’와 같은 오타는 즉각 처리되고 은근히 이런 오타가 숨어 있었다는 게 변환을 통해 확인할 수 있었다.

해당 웹프로그램은 현재 운영 중인 vtoon.net에서 운영 중이지만 파일 업로드나 오타 관리 등으로 인해 불특정 다수에게는 공개하지 않고 있다. 이걸 그냥 열어 놓으면 해커들의 놀이터가 될게 불 보듯 선하다.

참고로, 해당 프로그램은 윈도우용 python으로 만들었고 이를 Chat GPT 4.1 기반으로 php화 시켰다.

4.5의 경우 얼마 사용하지 못하기에 성능은 좋을 망정 실 화용에는 아쉬움이 크다.

트리 구조는 아래와 같고, 변환기는 index로 하였고 오타 관리는 check에서 하고 있다.

작년 10월 이후로는 Chat GPT를 거의 사용하지 않았다. 개발할 일이 없다 보니 퍼플렉시티 (SKT사용자 1년 무료)로 검색정도만 활용했을 뿐 Chat GPT는 무료 사용으로도 충분했었다.

1년이 지난 지금 Chat GTP도 당시와는 사뭇 다른 느낌이 든다.

냄새가 달라졌다고나 할까? 그녀의 향기가 느껴지지 않는다.

혹자, 그런 말을 가끔 듣는다.


‘GTP만 쓰면 그거 금방 만들잖아!’


근데, 서버부터 환경설정 부터 실제 구현 그리고, 어떤 구조를 취할 것인지는 만드는 사람 머릿속에 그림이 그려져 있어야 한다는 것이다. 그리고, 우리의 친구 AI를 활용하는 것이다.

아무튼 AI가 긴 프로그래밍 생활의 공백을 단숨에 메꿔 주었고 언 1년 만에 다시금 그 활용가치를 느끼게 되었다.

2025.06.12

By voka

답글 남기기