본문 바로가기
이미지 매크로

인공지능 구글 Vision AI로 문자를 판독한 후 AI 정규식으로 데이터를 파싱하는 방법.

by 업무자동화 2024. 8. 17.
반응형

안녕하세요. 업무 자동화 RPA 매크로 엔지엠소프트웨어입니다. 엔지엠 매크로에는 OCR(Optical Character Recognition) 기능이 기본 탑제되어 있습니다. 이 액션은 윈도우 화면에서 텍스트를 인식해서 뽑아내주는 기능을 하는데요. 일부 이미지의 텍스트는 정상적으로 추출이 안되는 경우가 있습니다. 그래서, 구글의 Vision AI를 사용해서 텍스트를 추출하기도 하는데요. 엔지엠 매크로에 구글 Vision AI도 탑제되어 있어서 쉽게 사용할 수 있습니다.

[ 구글 Vision AI로 문자 판독하는 방법 ]

 

구글 비전 AI로 텍스트를 인식했다고 가정하고, 아웃풋을 확인 해볼께요. 아웃풋은 아래와 같이 출력됩니다.

[
  {
    "BoundingPoly": {
      "NormalizedVertices": [
        
      ],
      "Vertices": [
        {
          "X": 53,
          "Y": 45
        },
        {
          "X": 203,
          "Y": 45
        },
        {
          "X": 203,
          "Y": 64
        },
        {
          "X": 53,
          "Y": 64
        }
      ]
    },
    "Confidence": 0,
    "Description": "TEST1234",
    "Locale": "la",
    "Locations": [
      
    ],
    "Mid": "",
    "Properties": [
      
    ],
    "Score": 0,
    "Topicality": 0
  },
  {
    "BoundingPoly": {
      "NormalizedVertices": [
        
      ],
      "Vertices": [
        {
          "X": 53,
          "Y": 45
        },
        {
          "X": 203,
          "Y": 45
        },
        {
          "X": 203,
          "Y": 64
        },
        {
          "X": 53,
          "Y": 64
        }
      ]
    },
    "Confidence": 0,
    "Description": "TEST1234",
    "Locale": "",
    "Locations": [
      
    ],
    "Mid": "",
    "Properties": [
      
    ],
    "Score": 0,
    "Topicality": 0
  }
]

 

윈도우 화면에서 또는 이미지에서 텍스트를 추출하게 되면 Description에 인식한 문자가 표시됩니다. 물론, 해당 문자의 위치도 알아낼 수 있는데요. Vertices안에 내용을 파싱하면 됩니다. 이 내용을 코딩으로 파싱하려면 커스텀 모듈을 별도로 개발해서 엔지엠 매크로에 탑재해야 합니다. 이 방법을 사용하면 좀 더 파워풀하게 처리할 수 있지만, 목적에 맞지 않게 너무 많은 비용이 듭니다. 여기서 비용이란 시간과 노력을 말하는거예요^^

 

요즘은 인공지능 시대에 맞게 정규 표현식도 비개발자가 쉽게 처리할 수 있는 서비스가 존재합니다. 개발자가 아니더라도 인터넷에 조금만 검색해보면 인공지능을 활용해서 원하는 것들을 쉽게 만들 수 있습니다. 물론, 검색 능력을 키워야겠지만요. 편리한 서비스가 많아도 모르면 사용할수가 없습니다. 요즘은 일반인분들도 검색 능력이 많이 좋아져서 금방금방 원하는 기능을 만들어서 사용하기도 합니다.

 

일단 구글에 인공지능 정규식이라고 검색을 해볼까요?

 

 

 

여러가지 블로그나 사이트가 나오는데요. 내용들을 하나씩 읽어보면 쓸만한 정보를 얻을 수 있습니다. regex.ai라는 사이트를 이용하면 될듯 하네요.

[ 인공지능 정규식 사이트 ]

 

 

 

샘플 텍스트가 기본으로 입력되어 있고, 찾고 싶은 내용들이 오른쪽에 Highlights를 보면 녹색으로 추가되어 있습니다. 녹색 버튼들을 클릭하면 모두 제거됩니다. 이제 좌측에 Text 내용을 모두 지우고 비전 AI의 내용을 입력하세요. 찾고 싶은 내용은 Description에 들어 있기 때문에 추가한 내용에서 Description을 더블 클릭합니다. 그러면, 우측 Highlights에 자동으로 추가됩니다.

 

 

 

하단의 Run 버튼을 클릭하세요. 4개의 에이전트가 분석해서 정규식을 자동으로 만들어주는데요. 아래에 결과도 같이 표시 해주기 때문에 내용을 보고 선택하면 됩니다.

 

 

 

우리가 찾을 텍스트는 TEST1234입니다. Agent B가 정확하게 찾아준거 같네요. 그러면, Agent B의 정규식을 복사합니다. 복사는 해당 정규 표현식이 표시되어 있는 흰색 박스 우측 하단에 문서 두개가 겹쳐져 있는 아이콘을 클릭하면 윈도우 클립보드에 복사됩니다. 이제 엔지엠 매크로를 실행하고 새로운 스크립트를 추가하세요. 함수 상자에 있는 정규 표현식 액션을 스크립트에 추가합니다.

 

 

 

우측의 속성창에서 원본 문자열에 아래 내용을 입력하세요. 이 내용은 구글의 비전 AI에서 인식한 후 결과 Json입니다.

[{"BoundingPoly":{"NormalizedVertices":[],"Vertices":[{"X":53,"Y":45},{"X":203,"Y":45},{"X":203,"Y":64},{"X":53,"Y":64}]},"Confidence":0,"Description":"TEST1234","Locale":"la","Locations":[],"Mid":"","Properties":[],"Score":0,"Topicality":0},{"BoundingPoly":{"NormalizedVertices":[],"Vertices":[{"X":53,"Y":45},{"X":203,"Y":45},{"X":203,"Y":64},{"X":53,"Y":64}]},"Confidence":0,"Description":"TEST1234","Locale":"","Locations":[],"Mid":"","Properties":[],"Score":0,"Topicality":0}]

 

regex.ai 사이트에서 만든 정규 표현식을 아래 속성에 붙여넣기 하세요.

 

 

 

매크로를 실행 해보세요. 그리고, 결과 값을 확인해보면 원하는 값을 쉽게 추출할 수 있습니다.

 

 

 

추출된 텍스트를 변수와 함께 사용하면 다른 액션에서도 사용할 수 있습니다. 그리고, 특정 문자를 추출하고 싶으면 정규식을 사용하는게 가장 좋은 방법인데요. 문제는 정규 표현식을 학습하는데 생각보다 오래 걸린다는겁니다. 개발자라면 몇분이면 금방 사용법을 익힐텐데요. 사실 외워야 하는 표현식이 몇가지 안되기 때문입니다. 그런데, 몇가지 안되는 표현식도 일반인이 보기에는 너무 어렵고 이해하기가 쉽지 않을겁니다. 그래서, 인공지능의 도움을 받아서 처리하는게 효율적인데요. 문제는 이런 고마운 기능이 있다는것조차 모르면 사용할 수 없다는거죠.

 

[ 엔지엠 매크로 다운로드 ]

반응형

댓글