Orange를 활용한 코딩 없는 AI 데이터 분석 - Lv.6 텍스트와 이미지 분석 강좌의 맛보기 강의입니다.
이번 영상에서는 비정형 데이터 분석이란 어떤 것인가? 라고 하는 것을 함께 간단하게 살펴보도록 하겠습니다. 우리는 데이터를 굉장히 여러 가지 기준을 가지고 분류할 수가 있는데요. 그 중에서도 체계적으로 어떠한 형식이 정해져 있는가? 모양이 정해져 있는가? 라고 하는 것을 가지고 크게 보면 정형 데이터와 비정형 데이터로 나눌 수 있습니다. 물론 이 둘 사이에 약간은 정형 데이터 같고 약간은 비정형 데이터 같은 성격을 가지고 있는 반정형 데이터로 이렇게 세 가지로 나누기도 합니다. 크게 보면 두 가지 정형, 비정형 또는 세 가지로 나눠서 정형, 반정형, 비정형 이렇게 나누기도 하는 거죠. 정형 데이터란 어떤 것이냐 라고 하면 아주 간단하게 딱 한마디로 하면 여러분께서 엑셀 파일을 열었는데 워크시트가 있고 거기에서 볼 수 있어 거기에 셀 안에 들어갈 수 있는 것들이 있잖아요 문자 데이터라던가 숫자 데이터라던가 이런 것들 정형 데이터는 미리 정해놓은 잘 알려진 포맷이나 명확한 데이터 구조 표현 방법을 사용하고 있는 데이터들입니다. 가장 대표적인 것이 지금 그림에서 보시는 것처럼 엑셀 워크시트에서 보시는 모습, 구글 스프레드시트라던가 또는 다양한 형태의 문서 같은 데서 보시게 되는 표 형식으로 되어 있는 것들이 바로 정형 데이터다 라고 말할 수 있습니다. 우리가 일반적으로 이야기하는 데이터베이스라고 하는 것 데이터들이 많이 담겨져 있는 데이터베이스도 바로 이렇게 데이터가 대체적으로 정형화되어서 들어가 있습니다 그러면 반정형 데이터란 무엇이냐 라고 하면 얼핏 보기에는 정형 데이터가 아닌 거예요 가장 대표적인 예가 인터넷 웹사이트 같은 것들이 있죠 HTML 문서 같은 것들 또는 우리가 많이 보게 되는 JSON 파일 같은 것들 이런 것들은 얼핏 보기에는 표가 아닌데 라고 하지만 그러한 데이터 안에 그 현재 들어 있는 데이터를 어떻게 이렇게 정형 데이터로 바꿔 나가야 할지 제대로 된 규칙이 딱딱딱딱딱딱 같이 들어있는 겁니다 즉 정형 데이터처럼 테이블 이렇게 가로, 세로로 나눠져 있는 이 형식을 테이블이라고 하고요. 이렇게 테이블로 만들어져 있지는 않아요. 하지만 파일에 여러 가지 데이터 구조에 관련된 정보가 들어있고 이 구조 정보를 이용해서 데이터를 잘 매핑을 하면 테이블 형태로 바꿔질 수 있는 정형 데이터로 바뀔 수 있는 형태의 데이터를 우리가 반정형 데이터라고 합니다. 여러분께서 일반적으로 데이터 분석을 배우시면 CSV 파일이라던가 이런 것들을 가지고 그러한 파일의 정보를 가져다가 읽어들여서 분석을 하는 것 이런 것도 배우시고 또 추가적으로 많이 학습을 하시게 되는 게 웹페이지를 크롤링하는 것들 이런 것들 배우시게 되잖아요 웹문서 같이 HTML로 되어 있는 것들을 크롤링해서 가져와서 정형 데이터로 만드는 과정을 학습하는 것이다 이렇게 보시면 좋겠습니다 데이터 분석의 여러 가지 내용을 배울 때는 정형 데이터를 가지고 기법을 배우고 반정형 데이터를 정형 데이터로 변환하는 것을 추가적으로 학습하는 게 일반적으로 입문하시는 단계에서 많이 배우시는 내용이다 라고 말씀드릴 수 있겠습니다 비정형 데이터는 정형도 아니고 반정형도 아니면 비정형이다. 이렇게 생각할 수도 있어요. 비정형은 쉽게 생각하면 사전에 정의된 형식과 구조가 없는 겁니다. 그래서 이것이 어떻게 테이블로 바뀌어야 될지 정해진 게 없어요. 이러한 유형에 해당하는 데이터가 굉장히 많거든요. 예를 들어서 여러분께서 메신저, 카카오톡이라던가 인스타 DM이라던가 이런 걸로 채팅을 하시면 채팅의 정보라던가 또는 인터넷에 댓글을 쓰는 것, 그리고 우리가 휴대폰으로 찍은 사진 이미지들, 듣고 있는 음악 이런 것들 있잖아요. 굉장히 다양한 형태의 데이터들이 바로 이런 비정형 데이터에 속합니다. 그럼 당연히 현실 세계에서 정형 데이터나 반정형 데이터가 많은가? 둘을 합친 게 더 많은가? 또는 비정형 데이터가 많은가? 라고 하면 압도적으로 비정형 데이터가 많죠. 그래서 우리가 가지고 있는 데이터의 상당 부분은 사실은 비정형 데이터인 거고 우리는 이러한 비정형 데이터를 어떻게 다뤄낼 것인가 라고 하는 부분에 대해서도 추가적인 학습이 필요하다 라고 말씀드릴 수가 있겠습니다 데이터를 그래서 어 아주 기본적인 내용이긴 하지만 그럼에도 불구하고 이게 이론으로는 아무것도 아닌데 실제로 보시면 의외로 혼란스러워 하시는 경향이 있거든요 데이터가 있습니다 그럼 데이터는 크게 보면 정형 반정형 비정형으로 나뉘게 되는 거구요 반정형 데이터는 여러 가지 작업에 의해서 정형으로 변할 수 있습니다. 그럼 정형으로 변한 데이터는 형식을 다시 그 아래쪽에 갖고 있는가 라고 하면 정형 데이터는 다시 범주형 카테고리컬 데이터와 수치형 뉴메릭 데이터로 나뉠 수가 있습니다. 뒤집어 생각하면 여러분께서 딱 보시고 아 이거 수치형이야 이건 범주형이야 라고 말할 수 있다는 것 자체가 이미 정형 데이터화 되어 있다 라고 얘기할 수가 있는 거죠. 그러면 비정형 데이터라는 건 도대체 어떻게 분석하느냐 라고 하면 비정형 데이터는 전체 데이터의 약 80% 이상을 차지하는 굉장히 많은 양의 데이터들이고요. 정형 데이터가 아니기 때문에 구조화된 틀이 없는 거예요. 그렇기 때문에 사실 이것을 분석하는 것이 쉽지 않습니다. 가장 기본이 되는 건 뭐냐면 비정형 데이터의 의미 있는 내용을 정형화시켜서 분석 비정형 데이터는 이미지 파일, 영상, 긴 텍스트들 통상적으로 Orange에서 불렀을 때 메타로 분류되게 되는 그러한 데이터들이 바로 비정형 데이터인데 이러한 비정형 데이터를 분석한다고 하는 것은 여러 가지 과정을 거쳐서 비정형 데이터에서 우리가 보고자 하는 것을 정형화 시킨 다음에 정형 데이터로 만든 부분을 분석한다 이렇게 과정을 이해하시면 좋겠어요 그래서 이러한 것들에 관련된 여러 가지 분석 방법은 크게 보면 가장 대표적인 게 바로 자연어 처리라고 하는 겁니다 자연어는 사람이 하는 일상적인 대화 제가 지금 얘기하고 있는 또 여러분께서 일상생활에서 하시는 이러한 말들 또 우리가 쓰게 되는 그런 사람의 자연스러운 표현들이 바로 자연어인 거고요 그런 자연어 텍스트를 이용해서 텍스트의 단어의 의미가 뭔지 중요한 키워드도 추출하고 그래서 이게 좋다는 건지 나쁘다는 건지 이런 것들을 파악해 나가는 그러한 것들이 바로 자연어 처리입니다. 최근에는 인공지능 언어모델 예를 들어서 GPT라던가 제미나이라던가 이런 것들이 굉장히 많이 발전하면서 자연어 처리 분야가 굉장히 각광을 받고 있죠. 자연어 처리 분야도 있고 또 사실 비슷한 맥락일 수가 있는데요 조금 이제 우리가 그 뒷단에서 움직이는 것 때문에 어떤 인공지능 언어 모델을 만들기 위한 어떤 학습의 데이터를 만들고 뭐 이런 부분들이 이제 좀 더 자연어 처리로 가게 되고요 같이 똑같이 텍스트를 대상으로 하는데 이러한 텍스트에서 긴 텍스트에서 텍스트를 구조화해서 의미 있는 패턴이나 관계를 찾아내는 것 여러 가지 다양한 문서들, 긴 텍스트들, 메타로 분류되는 텍스트들로부터 의미를 파악해내는 텍스트 마이닝이라고 하는 분야도 있습니다. 우리 강의에서 본 강좌에서는 텍스트 마이닝을 기본으로 해서 그래서 자연어처리의 일부분이라고 할 수 있는 감성 분석까지 이렇게 다뤄보도록 하겠습니다 그리고 텍스트뿐만이 아니라 또 다른 비정형의 대표적인 것이 바로 이미지와 비디오인 거죠. 이미지도 있고 비디오도 있는데 사실 비디오라고 하는 것은 이미지의 연속이기 때문에 우리가 크게 보면 이미지 분석이라고 볼 수 있어요. 그래서 이런 어떤 이미지, 우리가 이미지적인 정보, 이런 비전 정보를 어떻게 이해할 것인가에 관련되어 있는 비정형 데이터 분석이 Lv.6 텍스트와 이미지 분석의 이해 소셜 네트워크 분석 누가 누구를 팔로잉하고 있는가 누가 누구와 친구인가라고 하는 여러 사람들의 관계 이 사람과 이 사람이 친구이고 이 사람과 이 사람이 또 친구이고 이런 관계를 통해서 예를 들어서 여러분이 기업의 마케팅 담당자다 라고 하면 우리 제품이 있는데 이 제품을 누구한테 광고를 보여주는 것이 또는 누구를 통해서 인플루언서 마케팅 같은 걸 하는 게 가장 잘 퍼져 나갈 수 있을까 바이럴이 어떻게 하면 잘 될까 뭐 이런 것들 또 비슷하게 꼭 SNS 네트워크만 생각하지 마시고요 뭐 이런 것들 있잖아요 전염병이 발생한다 Lv.6 텍스트와 이미지 분석의 이해 그런데 이 비정형 데이터 분석은 사실 굉장히 어려워요. 정말 너무 어려울 수밖에 없습니다. 왜냐하면 이 비정형 데이터라는 것 자체가 애초에 어떤 체계화된 구조적인 게 정확하게 없는 거잖아요. 그래서 이 데이터를 실제로 우리가 분석한다고 말하는 건 우리가 비정형 데이터 분석 이렇게 얘기하지만 사실 엄밀하게 보면 이러한 비정형 데이터 분석은 언제나 두 단계로 이루어져야 되거든요. 그래서 제대로 체계적인 구조가 없는 비정형 데이터를 다양한 방식을 통해서 정형 데이터로 만들게 됩니다. 정형으로 만들어요. 그래서 여러 가지 벡터나 행렬 같은 것들로 만들어서 그래서 이 정형 데이터를 우리가 기존에 알고 있는 여러 가지 분석 방법을 통해서 분석해 나가는 이런 과정을 거치게 됩니다. 그러니까 비정형 데이터가 정형 데이터로 바꿀 때까지의 전처리가 굉장히 어렵고 복잡한 거죠. 그래서 비정형 데이터 분석은 전처리가 너무 어렵다라고 하는 문제가 있고요. 또 하나는 뭐냐면 이러한 비정형 데이터들의 공통적인 특징이 뭐냐면 용량이 엄청나게 큽니다 용량이 너무 커요 그래서 하는 방법을 안다고 해도 내가 이미 그 내용을 충분히 알아도 그것을 실제로 실행하는 것은 얘기가 좀 다릅니다 너무 오래 걸리고 무겁고 굉장한 하드웨어적인 그러한 컴퓨팅 자원이 필요할 수가 있기 때문에 이게 현실에서는 또 다른 조금 큰 허들이 될 수도 있습니다 마지막으로 비정형 데이터라고 하는 것이 비정형 데이터가 정형화되고 다시 분석이 되고 이런 부분에서 손실되는 부분들도 있고 또 그 데이터에 정확히 어떤 부분을 봐야 되느냐 라고 하는 것도 좀 애매한 부분이 있잖아요 굉장히 의미가 있는 데이터임에도 불구하고 굉장히 칼같이 딱 잘라서 우리가 숫자를 계산하듯이 이렇게 결론을 내리기에는 조금은 애매모호한 면도 있을 수가 있다 라고 하는 것이 비정형 데이터가 가지고 있는 일종의 도전 과제다 라고 말씀드릴 수가 있겠습니다 그런데 그럼에도 불구하고 사실 비정형 데이터라고 하는 것이 세상에 존재하는 데이터의 대부분이 사실은 비정형인 거고 또 우리가 실상에서 부딪히고 우리가 필요로 하는 어떤 인사이트를 담고 있는 상당 부분이 비정형에 들어 있어요 그래서 내가 제품을 팔았는데 이 고객들이 예를 들어서 후기를 남겼어요 그러면 이 사람들이 그래서 좋다는 거야 나쁘다는 거야 뭐 어떻게 하라는 거야 한 두 명의 고객 후기를 사람이 보고 파악하는 건 쉽겠지만 그러한 후기가 예를 들어서 500만 건이 되고 1000만 건이 됐을 때도 가능하냐라고 하면 이건 완전히 다른 얘기가 되거든요 그래서 굉장히 대용량의 어떠한 비정형 데이터를 오히려 많이 보아야지 우리가 인사이트를 얻을 수 있기 때문에 그러한 고객의 감정을 분석하거나 다양한 마케팅을 최적화하거나 검색어 최적화 이런 것들이 있거든요 검색엔진에서 어떤 단어를 쳤을 때 이것이 가장 위로 올라가게 하는 걸 어떻게 할 거냐 유튜브 동영상에서 노출 알고리즘을 최적화시키려면 어떻게 할 거냐 이런 부분들이 있어요 또 예를 들어서 아이들이 다니는 학교 주변에 CCTV가 있는데 이 CCTV에서 어린이 안전을 위한 내용을 보겠다 라고 하면 사실 CCTV가 영상을 계속 촬영하고 있는데 거기서 이상을 탐지하고 위험을 감지한다 뭐 이런 부분들은 사실 정형화해서 처리하기에는 굉장히 어려운 부분이 있거든요 그래서 전처리가 복잡하기도 하고 데이터가 크기도 하고 또 그렇게 얻게 되는 인사이트가 뭐 어떤 칼 같은 이론이 되긴 좀 어렵더라도 현실적으로는 굉장히 많은 다양한 상황에서 이익을 주기 때문에 우리가 이런 비정형 데이터 분석의 필요성에 대해서 공감하고 함께 할 필요가 있다고 말씀을 드립니다. 방금 말씀드렸던 것을 구체적인 데이터 분석을 아직 시작하지는 않지만 오렌지에서 우리가 이해한 바를 잠깐 다시 보시면 우리는 지금까지 오렌지를 이용해서 이런 노코딩 데이터 분석 도구를 이용해서 데이터 탭, 트랜스포머, 트랜스폼, 비주얼라이즈, 모델, 이밸류에이트, 언슈퍼바이즈드 이런 지도학습, 비지도학습의 다양한 머신러닝을 했습니다. 그런데 이때 우리가 머신러닝을 하면서 다뤘던 여러 가지 이러한 데이터, 원천 데이터, 우리가 분석했던 분석 대상 데이터가 무엇이냐 라고 하면 그러한 분석 대상 데이터는 이러한 네 가지 중에 무엇인 거였죠. 예를 들면 엑셀 같은 CSV라던가 엑셀 문서를 가져오거나 CSV 파일을 가져오거나 또는 오렌지가 제공하는 데이터셋을 가져오거나 SQL로 데이터베이스에서 가져오거나 이러한 방식을 했습니다. 이 위젯을 가져오고 그 위젯을 불러오는 방식으로 우리가 했던 거죠. 예를 들어 데이터셋을 보시면 이 데이터셋에 가보면 오렌지에 제공하는 여러가지 데이터가 있고 이 데이터들을 보고 우리는 아 이런 데이터가 있구나 이런 내용이 있구나 이 데이터는 인스턴스가 몇 개고 변수가 몇 개가 있고 타겟이 있네 없네, 범주형이다, 수치형이다 이런 부분들을 봤어요. 그런데 이 말 자체가 인스턴스, 변수, 타겟이라고 하는 말 자체가 이미 무엇을 전제하고 있는 거냐면 데이터가 정형화되어 있고 인스턴스들은 모두 다 각각의 행으로 들어가 있고 개별적인 피처라던가 메타, 타겟 이런 것들은 이미 변수로 이렇게 들어가 있다 라고 하는 거잖아요 그런데 이 변수 중에 이게 바로 타겟이야 근데 그 타겟이 범주형이다 또는 수치형이다 이렇게 표현하고 있는 게 바로 이 데이터셋의 정보예요 벌써 이 말 자체가 이 데이터셋에 들어있는 데이터는 모두 다 정형 데이터다 라고 하는 걸 얘기하는 거죠 즉 여러분께서 이 오렌지라고 하는 데이터 분석 도구에서 데이터 탭에서 불러오시게 되는 이러한 데이터들은 모두 다 정형이다 라고 하는 겁니다 그런데 우리의 오늘 주제는 비정형 데이터죠 비정형 데이터니까 그 정형 데이터들은 여기서 불러오는 게 아니겠구나 라고 하는 거 충분히 예상하실 수 있으시죠 그러면 데이터를 가져오는, 임포팅하는 것부터가 여기서 진행되진 않습니다 저건 정형 데이터를 위한 그러한 위젯들의 탭인 거죠 그래서 여러분께서 비정형 데이터를 학습을 하시게 될 텐데 우리는 크게 비정형 데이터 그 중에서도 일단 텍스트 분석에 대해서 다뤄보려고 합니다 그리고 이후에는 이미지를 다뤄볼 거에요 그럼 텍스트라던가 이미지라고 하는 비정형 데이터를 다루려면 어떻게 해야 되느냐 왼쪽의 위젯 탭이 필요 텍스트 마이닝, 텍스트를 다루기 위해서 텍스트 마이닝이 있고 저는 여기서 임포트 도큐먼트, 코퍼스 등을 가지고 있습니다. 자 그러면 이런 위젯이 지금 나는 없는데 라고 생각이 되시잖아요 그래서 위쪽에 보시면 오렌지 상단에 있는 리본 메뉴바를 보시면 옵션스가 있고요 옵션스 아래쪽에 Add-ons가 있습니다 Add-ons를 눌러 보시면 오렌지가 가지고 있는 여러가지 add-on 플러그들의 쭉 목록이 나오게 되는데요 이 강의에서는 우리의 주제가 텍스트 분석 그리고 이미지 분석이기 때문에 우리는 여기 보시면 거의 아래쪽에 있는 텍스트라고 하는 add-on을 설치할 거고요. 저는 이미 설치되어 있고 여러분은 체크하신 다음에 OK 하시면 설치를 하게 될 겁니다. 그리고 뒤쪽 강의 후반부에서 이미지 분석을 하실 때는 조금 더 위로 올려 보시면 이미지 애널리틱스라고 하는 것 보이시죠? 이미지 애널리틱스라고 하는 것을 설치하시고 OK를 하시면 되겠습니다. 이미지 애널리틱스 그리고 텍스트 마이닝이라고 하는 2개의 애드온이 설치가 되어야 한다 라고 하는 말씀을 드리고요 혹시라도 필요하시다면 텍스트 마이닝의 일부 실습에서 사용하게 될 네트워크라고 하는 것도 같이 설치하시면 좋겠습니다 참고로 이러한 애드온은 설치하시면 좀 시간이 오래 걸릴 수 있어요 그래서 체크하시고 오케이 하시고 인스톨 될 동안 굉장히 좀 시간이 많이 소요될 수 있으니까 영상을 멈추고 기다려 주셔야 되구요 그렇게 해서 전부 인스톨이 끝나게 되면 설치가 모두 끝나면 이 오렌지를 새로 시작하게 됩니다 열려있는 오렌지 창을 모두 다 닫고 새로이 띄우시면 되구요 그렇게 띄우고 나서 그런데도 불구하고 설치를 했는데 왼쪽 이런 탭에 안 나타난다 라고 하시면 옵션스의 세팅을 눌러 보시면 세팅의 네 번째에 여기 카테고리즈 라고 하는 게 보이실 거예요 카테고리즈에 보시면은 제가 지금 설치해 놓은 목록이 보이거든요 그래서 여러분께서도 만약에 설치했다 라고 하시면 텍스트 마이닝이라던가 네트워크라던가 이미지 애널리틱스라고 하는 것이 보이실 겁니다 그래서 예를 들면 저는 이미지 애널리틱스를 이미 설치했는데 앞부분에 체크를 해놓지 않았죠 그래서 여기에 보이지 않고 있습니다 텍스트 마이닝은 설치되었고 체크도 되어 있으니까 보이고 있어요 그러니까 혹시라도 설치했는데도 안 보인다 라고 하시면 이렇게 앞부분에 체크하시고 클로즈 하시면 이렇게 왼쪽에 탭이 나타나게 되겠습니다 그러면 일단 Text Mining 애드온을 모두 설치하신 후에 다음 영상에서 이어서 텍스트 분석에 대해서 함께 다뤄보도록 하겠습니다.
