SDP 테크팀의 역작 : Deal Auto - Tracker
안녕하세요? 저희는 SDP 테크팀 5기로 활동하고 있는 이길원, 김재원이라고 합니다! SDP는 COVID-19의 영향을 받은 PPI 딜을 추적 조사하고 있습니다. 그 과정에서 여러 가지 반복 작업이 이루어질 수밖에 없는데, 몹시
방대하고 지루했습니다.
테크팀은 크롤러와
AI, 웹 어플리케이션을 활용해서 이 작업들을 자동화했습니다. 그
결과 작업 시간을 수 백분의 1로 단축시킬 수 있었고, SDP는
다른 프로젝트도 진행할 여력을 확보했습니다.
이번 글을 통해
이 ‘자동 프로세스’를 소개하려 합니다.
저희가 개발한 제품은 총 세 개의 Stage로 구성되어 있습니다.
Stage 1 : URL을 수집해서 데이터베이스에 저장합니다.
Stage 2 : 각 URL에
해당하는 사이트의 본문을 추출해서 데이터베이스에 저장합니다.
Stage 3 : AI가 그 본문을 보고 ‘이 데이터가 우리가 원하는 데이터일 확률값’을 계산해서 데이터베이스에
저장합니다. 그리고 이 정보를 웹 앱에 게재하여 쉽게 다룰 수 있도록 합니다.
이상의 프로세스를 더 상세히 보여드리겠습니다.
Stage 1 - URL 수집하기
크롤러는 웹 페이지에서 원하는 정보를 수집하는 프로그램입니다. 저희는
이 프로그램을 이용해서 ‘검색 결과에 대한 URL’을 수집합니다.
위 사진은 특정 검색어를 검색한 사진입니다. 빨간 색으로 체크된 부분이
각 사이트의 URL입니다. 크롤러는 이 URL들을 수집해서 데이터베이스에 저장합니다.
Stage 2 – 각
사이트의 본문을 추출하기
데이터베이스에 저장된 URL들을 이용해서 각 사이트의 본문을 수집합니다. 그 결과가 아래 그림과 같습니다.
검색에
쓰인 키워드와 각 사이트의 URL, 그리고 각각 사이트의 본문까지 함께 저장되어 있습니다. 하지만 이 막대한 양의 데이터 중에 일부만 저희가 원하는 데이터입니다. 이제
이 데이터 중에 필요한 ‘옥석’을 가려낼 때입니다. 어떤 데이터가 저희가 원하는 데이터인지 판단하는 건 AI의 일입니다.
Stage 3 – 데이터의
판단과 시각화
AI는
데이터베이스에 저장된 데이터를 보고 “이 데이터가 우리가 원하는 데이터일 확률”을 계산합니다. 그 확률 값과 해당 데이터를 데이터베이스에 함께 저장합니다. 아래는 그 결과값입니다.
모자이크를 해서 잘 보이지 않으시겠지만, 아까 없던 weight 값이 새로 생긴 걸 확인할 수 있습니다. 이제 이 Weight값을 리서치팀이 잘 사용할 수 있도록 시각화 할 차례입니다.
위와 같이 데이터베이스의 Column 값을 웹 페이지에 보기 좋게
띄웁니다. 이 웹 어플리케이션을 통해 사용자가 원하는 데이터만 추출해낼 수 있습니다. 리서치팀은 이 페이지를 이용해서 각 기사가 유효한 데이터를 담고 있는지 확인하고 최종적으로 Deal의 현재 상태를 추출해냅니다. AI가 아직 기사의 맥락까지
정확히 판별해내지는 못하기 때문에 PPI Deal에 대한 직관이 있는 리서치팀이 검수를 한다고 이해하시면
되겠습니다. 이 데이터를 추출함으로써 전체 작업이 마무리됩니다.
이상으로 저희가 개발한 제품을 최대한 간단하게 설명해드렸습니다. 실제
코드는 몇 천 ~ 몇 만줄이나 돼서…더 구체적인 코드가 궁금하신
분은 SDP에 들어와서 함께 리팩토링하면 좋겠습니다.
일부 사진들은 대외비 정보를 포함하여 모자이크 처리 했습니다.
Comments
Post a Comment