2

고서이미지번역GPT

타이키모스

챗GPT API기반 자사서비스 연동 챗봇 - 고서이미지번역GPT (데모, 소스코드 포함)

AF 김태영
2023.03.11 08:55
4855

기존의 자사서비스가 있다면, 챗GPT API를 이용하여 챗봇 형태의 서비스로 구성해볼면 어떨까요? 한가지 예시로, 고서 이미지 번역 딥러닝 모델과 챗GPT API를 이용하여 고서 이미지를 입력하면 한자 추출을 하고, 추출된 결과를 챗GPT에게 전달하여 한글로 번역을 수행하도록 구현해봤습니다. 추가로 번역한 결과를 해석하고 이후 추가 질문이나 주제에 대해 챗GPT와 토론이 가능합니다. 

서비스 구성

고서 한자 인식 OCR과 챗 GPT의 번역과 대화 기능을 활용하였습니다. 기존 서비스에 ChatGPT api를 접목한다는 것은 아래 2가지 장점을 얻을 수 있습니다.

  1. 채팅 인터페이스를 가질 수 있습니다. 서비스별로 특화된 인터페이스를 제공한다면 아무리 직관적이고 쉽다고 하더라도 익히거나 적응해야한다는 장벽이 있습니다. 채팅 인터페이스는 디지털기기 사용에 있어서 가장 널리 사용되며, 이 인터페이스 조차 “대화”를 본따 만든 인터페이스이기 때문에 사람에게 가장 친숙한 인터페이스입니다. ChatGPT api이전 대화 메시지를 전달하면 이후 챗봇 대화를 알려주므로 흐름있는 대화가 가능합니다.
  2. 챗GPT가 학습한 방대한 지식 기반으로 대화를 이어갈 수 있습니다. 주어진 지문내에서만 검색하거나 없는 경우 알고 있는 내용에 대해서 설명하라고 지시할 수 있기 때문에 기존의 서비스를 좀 더 풍요롭게 만들 수 있습니다. 다만 검증이 안되는 답변을 할 수 있기 때문에 공식적인 서비스를 하고 있는 경우에는 챗GPT 응답에 대한 후처리가 필요합니다.

데모 사용해보기

상단에 [플레이]탭을 클릭한 뒤, [플레이] 버튼을 클릭하면 서비스를 이용해보실 수 있습니다.

고서 한자 인식 OCR

AIHub의 고서 한자 인식 OCR 데이터셋에서 제공하는 것을 활용하였습니다. 

https://aihub.or.kr/aihubdata/data/view.do?currMenu=115&topMenu=100&aihubDataSe=realm&dataSetSn=234

이 데이터셋 구축 사업에서 제공하는 AI 모델을 바로 사용해도 되지만, 본 사례에서는 이를 AIFactory 플랫폼에 올려서 API로 서빙을 하게 만든 뒤에 API를 호출하는 식으로 구성을 했습니다. 아래 태스크 링크로 들어가시면 API 사용법에 대해서 보실 수 있습니다. 태스크를 만들어주신 AIFactory의 데이터사이언스팀인 이재현님 감사합니다~

https://aifactory.space/competition/play/2269

챗봇 서비스라면 채팅형태로 이미지를 업로드하는 것이 적절하나 고서 이미지 분석하는 데 시간이 오래걸리고 또한 고서 이미지 분석에 특화된 서비스로 한정 지었기 때문에 이미지 업로드를 위한 별도 컨트롤로 구성했습니다. 컨트롤에 이미지 파일을 올리면 분석 결과를 우측창에서 보실 수 있습니다. 마우스 커서를 올리면, 인식된 한자와 좌표 정보도 함께 나옵니다.

검출 결과의 순서가 문장 순서와 다르기 때문에 후처리가 필요합니다. 검출 결과에는 위치 정보를 포함하고 있기 때문에 이를 기반으로 아래 그림과 같이 문자를 정렬하여 최종 문자열을 생성합니다.

챗GPT 번역 기능 활용

앞서 생성한 최종 문자열을 챗GPT에게 번역해달라고 프롬프트를 구성한 뒤 요청합니다. 구성한 프롬프트는 아래 [소스코드] 챕터에서 보실 수 있습니다.

챗GPT 대화 기능 활용

챗GPT는 대화 흐름을 기억하고 있으므로 번역이나 해석에 대해 궁금한 점을 챗GPT에게 요청하면 답변도 친절하게 해줍니다.

함께보기

챗GPT 러닝데이 

3월 한 달동안 매주 화요일 저녁에 챗GPT를 이해하기 위한 기초 내용 및 이론을 배우고, 실습을 해본 뒤 실제 개발과 활용을 어떻게 해야할 지 살펴봅니다. 

챗GPT MS애저톤

이어서 4월에는 3월 동안 배운 것을 활용하여 프롬프트, 확장앱, API 기반 서비스를 만드는 해커톤을 진행합니다. 챗GPT에 관심있는 기관 혹은 서비스나 기술을 알리고싶은 기업 후원을 받고 있으니 아래 링크에서 신청 부탁드립니다.

소스코드

본 예제에서 사용된 소스코드는 아래와 같습니다. 

코드 공유

2
0개의 댓글
로그인 후 이용해주세요!