본문 바로가기
업무 자동화 매크로

인공지능 AI와 데이터 추출 방법 - 정규 표현식 매크로

by 오토픽 2024. 8. 26.
반응형

안녕하세요. 업무 자동화 RPA 매크로 오토픽입니다.

오늘은 정규식에 대해서 알아보도록 하겠습니다. 정규식은 문자열에서 패턴을 인식해서 원하는 문자들을 추출할 때 사용하는데요.

범용적으로 사용할 수 있기 때문에 활용성이 매우 좋은 기능중에 하나입니다.

 

이 내용을 테스트하기 위해서 구글 Vision AI 기능을 같이 이용해보는게 좋을듯한데요.

구글 Vision AI를 사용하려면 미리 구글 회원 가입과 API 사용 신청을 해야 합니다.

 

오토픽 에디터를 실행하고, 오른쪽 하단의 외부 API탭을 클릭하세요.

구글 API 카테고리를 확장하세요. 그리고, 구글 비전 AI를 더블 클릭해서 추가해줍니다.

※ 구글 비전 AI를 사용하려면 먼저 회원 가입과 사용 승인을 받아야 합니다.

 

 

 

오토픽 에디터의 좌측 하단에 함수탭을 클릭하고, 표현식 카테고리를 확장하세요.

정규 표현식 액션을 더블 클릭하여 구글 비전 AI 아래에 추가하세요.

 

 

 

우선 구글 비전 AI로 이미지에서 문자를 추출 해볼께요. 그림판을 실행하고 아래와 같은 이미지를 불러왔습니다.

여기서 좌측 상단에 비스듬하게 있는 Bitcoin을 인식할께요.

 

 

 

아래 그림처럼 인식하고 싶은 영역을 마우스로 드래그해서 설정 해줍니다.

영역으로 잡은 이미지를 자세히 보면 Bitcoin뿐만 아니라 아래에 작게 숫자 1.00이 포함되어 있는걸 확인해주세요.

 

 

 

매크로를 실행하고 결과를 보면 아래와 같이 비트코인뿐만 아니라 아래 숫자도 인식이 된것을 알 수 있습니다.

 

 

 

실제로 구글에서 알려주는 정보는 훨씬 더 다양한데요. 이 값을 어떻게 활용할지는 상황에 따라서 달라질 수 있습니다.

구글에서 알려주는 실제 정보는 아래와 같습니다. 오토픽에서 필요한 정보만 추출해서 결과를 만들어주는 방식입니다.

[
  {
    "Mid": "",
    "Locale": "en",
    "Description": "Bitcoin\n1.00",
    "Score": 0.0,
    "Confidence": 0.0,
    "Topicality": 0.0,
    "BoundingPoly": {
      "Vertices": [
        {
          "X": 9,
          "Y": 5
        },
        {
          "X": 90,
          "Y": 5
        },
        {
          "X": 90,
          "Y": 39
        },
        {
          "X": 9,
          "Y": 39
        }
      ],
      "NormalizedVertices": [
        
      ]
    },
    "Locations": [
      
    ],
    "Properties": [
      
    ]
  },
  {
    "Mid": "",
    "Locale": "",
    "Description": "Bitcoin",
    "Score": 0.0,
    "Confidence": 0.0,
    "Topicality": 0.0,
    "BoundingPoly": {
      "Vertices": [
        {
          "X": 9,
          "Y": 26
        },
        {
          "X": 80,
          "Y": 5
        },
        {
          "X": 83,
          "Y": 16
        },
        {
          "X": 12,
          "Y": 37
        }
      ],
      "NormalizedVertices": [
        
      ]
    },
    "Locations": [
      
    ],
    "Properties": [
      
    ]
  },
  {
    "Mid": "",
    "Locale": "",
    "Description": "1.00",
    "Score": 0.0,
    "Confidence": 0.0,
    "Topicality": 0.0,
    "BoundingPoly": {
      "Vertices": [
        {
          "X": 73,
          "Y": 33
        },
        {
          "X": 89,
          "Y": 27
        },
        {
          "X": 90,
          "Y": 33
        },
        {
          "X": 75,
          "Y": 39
        }
      ],
      "NormalizedVertices": [
        
      ]
    },
    "Locations": [
      
    ],
    "Properties": [
      
    ]
  }
]

 

위 전체 내용에서 필요한 부분은 Description 내용입니다.

"Description": "Bitcoin\n1.00",

 

꼭 구글 비전 AI의 결과가 아니더라도 다른 문자열에서 필요한 내용만 추출하려면 정규 표현식 액션을 알아야 합니다.

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

 

 

 

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

인공지능 정규식 사이트 ]

 

 

 

샘플 텍스트가 기본으로 입력되어 있고, 찾고 싶은 내용들이 오른쪽에 Highlights를 보면 녹색으로 추가되어 있습니다.

녹색 버튼들을 클릭하면 모두 제거됩니다.

이제 좌측에 Text 내용을 모두 지우고 비전 AI의 내용을 입력하세요.

찾고 싶은 내용은 Description에 들어 있기 때문에 추가한 내용에서 Description을 더블 클릭합니다.

그러면, 우측 Highlights에 자동으로 추가됩니다.

 

 

 

하단의 Run 버튼을 클릭하세요. 4개의 에이전트가 분석해서 정규식을 자동으로 만들어주는데요.

아래에 결과도 같이 표시 해주기 때문에 내용을 보고 선택하면 됩니다.

 

 

 

우리가 찾을 텍스트는 Bitcoin입니다. Agent B가 정확하게 찾아준거 같네요.

Description 텍스트는 제외시켜야 할듯 합니다. 그러면, Agent B의 정규식을 복사합니다.

복사는 해당 정규 표현식이 표시되어 있는 흰색 박스 우측 하단에 문서 두개가 겹쳐져 있는 아이콘을 클릭하면 윈도우 클립보드에 복사됩니다.

아래 그림과 같이 필요 없는 구글 비전 AI는 사용 안함으로 체크를 끄세요.

구글 비전 AI의 결과 값을 정규 표현식의 원본 값에 넣어주고, 인공지능 정규식을 복사하여 액션의 정규식에 넣어주세요.

 

 

 

매크로를 실행하면 아래와같이 결과가 만들어집니다.

 

 

 

매치 옵션을 멀티로 수행할 수 있게 Matchs로 변경해줍니다. 그리고, 위에서 3개가 찾아졌듯이 가운데 항목을 가져와야 하기 때문에 배열 위치는 1로 입력하세요.

매크로를 다시 실행하고 결과를 확인해보면 뒤에 숫자는 사라진것을 알 수 있습니다.

 

 

 

그래도 여전히 Bitcoin만 추출된건 아닌데요. 아래 사이트에서 정규식을 수정해보도록 할께요.

[ 정규식 테스트 사이트 ]

 

아래와 같이 ①Expression에 정규식을 붙여넣기 하고, 구글 비전 AI의 아웃풋 값을 ②텍스트에 붙여넣기 해줍니다.

그리고, 멀티로 매치가 되어야하니 ③리스트로 변경해주세요.

아래 Tools의 결과 값을 확인해보면 오토픽 에디터와 동일하게 나오는 것을 알 수 있습니다.

 

 

 

우리가 필요한 값만 추출하려면 아래와 같이 정규식을 수정한 후 다시 확인 해보세요.

불필요한 부분을 제거시켰습니다.

  • (?<="Description":")([^"]+)

 

 

 

이제 오토픽 에디터의 정규식에 완성된 정규식을 붙여넣기하고 실행 해보세요.

원하는 결과 값을 추출했습니다.

 

 

 

정규식은 프로그래밍이 아니지만, 배우기는 쉽지 않습니다.

그리고, 자주 사용하는것도 아닙니다. 그렇다보니 정규 표현식을 공부했다가 까먹고 공부하다가 까먹고 그렇습니다.

일반적으로 많이 사용하는 정규식들은 인터넷에 조금만 검색해보면 자료들이 많이 나와서 사용에 문제는 없을겁니다.

주소, 이메일, 아이피, 핸드폰 번호등등... 이런것들은 쉽게 찾을 수 있을거예요.

요즘은 인공 지능 정규식 사이트도 있어서 예전보다는 많이 쉬워진편입니다.

감사합니다.

반응형