이번 AWS AI 서비스 활용편에서는 두 서비스를 융합하는 파이썬 프로그램을 제작할 예정입니다. 이전 유튜브에서 공유했던 ‘Amazon Rekognition 사진 판독’ 영상을 보고 아래 추가 내용을 보시면 학습에 도움이 됩니다.
Amazon Textract는 문서나 사진 파일 내의 텍스트를 자동으로 추출하는 기능을 가지고 있습니다. jgp파일, png파일, PDF파일 등 모든 텍스트 추출이 가능합니다. AWS AI 서비스 권한을 부여해 파이썬에서 한 줄로 할 수 있을 만큼 강력한 서비스입니다.
먼저 IAM에서 아래와 같이 두 가지 정책 권한을 설정합니다. 그림 파일 내의 텍스트를 추출할 수 있는 Amazon Textract Full Access와 추출된 텍스트를 다른 언어로 번역하는 Translate Full Access입니다. 우리는 boto3 라이브러리로 부여된 권한을 이용하여 AWS AI 서비스를 활용합니다.
이번 실습에서 사용되는 것은 제가 ChatGPT를 이용하여 문의한 화면의 그림입니다. 아래와 같이 png 파일로 여러분도 실습을 할 때 영문 문장이 포함된 사진 파일을 준비해 주시기 바랍니다. 영문 텍스트를 추출하여 한글로 번역할 예정입니다.
파이썬 프로그램 풀 코드는 다음과 같습니다.boto3의 클라이언트()함수를 이용하여 두 서비스 개체를 정의합니다.textract와 translate입니다.그리고 준비한 화상 파일을 읽습니다.임포트된 화상을 AI서비스에 업로드하여 텍스트를 읽고 추출합니다.결과는 Json파일 형식이며 이를 결과로 가져올 때문에 “Blocks”속성 값을 가져옵니다.이렇게 취득한 결과는 text에 저장하겠습니다.저장된 텍스트를 출력하면 영문 텍스트가 출력되죠?그럼 마지막으로 이 결과 텍스트를 다른 AI서비스 translate를 이용하고 영문 → 한글로 번역합니다.이 결과도 result[Translated Text]로부터 취득됩니다.
파이썬 프로그램의 풀 코드는 다음과 같습니다. boto3의 클라이언트() 함수를 이용하여 두 서비스 객체를 정의합니다. textract와 translate 입니다. 그리고 준비한 이미지 파일을 가져옵니다. 가져온 이미지를 AI 서비스에 업로드하여 텍스트를 읽고 추출합니다. 결과는 Json 파일 형식이며, 이를 결과적으로 가져오기 위해 “Blocks” 속성 값을 가져옵니다. 이렇게 얻은 결과는 text에 저장해 둡니다.저장된 텍스트를 출력하면 영문 텍스트가 출력되죠? 그럼 마지막으로, 이 결과 텍스트를 다른 AI 서비스 translate를 이용하여 영문 → 한글로 번역하겠습니다. 이 결과도 result [Translated Text]에서 가져옵니다.
이제 작성된 파이썬 프로그램을 동작한 후 결과인 translated_text.txt 파일을 봅니다. 아래 화면 위는 그림에서 추출한 영문 문장이고 아래는 번역된 한글 문장입니다.
이렇게 AWS AI 서비스를 이용하면 간단한 프로그램으로도 여러분이 원하는 기능을 구현해 나갈 수 있습니다. IT 보안 영역에서도 S3 스토리지에 대량의 이미지와 문서를 업로드하는 기능이 있으면 이 문서 내에서 개인정보가 포함된 민감한 정보인지 여부를 자동으로 판별하는 기능도 구현할 수 있습니다. 나중에 다룰게요