본문 바로가기

전체 글

21. AI 모델의 정확도 향상하기 AI 모델의 정확도 향상하기 예전 글에서 정형, 텍스트, 비전 분석에 대해서 설명하였다. 단순한 기술적인 구현에 집중했고, 어떻게 검증하고 정확도를 향상할 것인지에 대해서 언급 하지 않았다 설명이 부족했다. 이번글에서 아이디어를 공유하고자 한다. AI 프로젝트를 시작할 때 가장 떠오르는 생각은 ‘정확도를 어떻게 향상시킬까?’ 다수 AI 프로젝트를 경험하면서 느낀 점은 아래와 같다. 학습 데이터가 부족하고, 데이터가 정제되지 않은 경우가 많다. 문제는 데이터만이 아니다. 즉 데이터가 많아진다고 정확도가 비약적으로 향상되지 않는다. AI 프로젝트에 많은 비용을 지불한다. 그리고 많은 프로젝트가 실패한다 고객의 기대치가 높고, 단기간 내 정확도 높은 AI를 원한다 복잡하고 다양한 예외처리를 무시한다. AI는 .. 더보기
20. 비전을 사용한 프로세스 자동화 19. 비전을 사용한 프로세스 자동화 RPA 중심으로 시작된 이번 글은 많은 시행착오를 경험하고, 고도화를 거쳐 완성되었다. 아래에 언급된 순서대로 문서를 진행하도록 한다. SAP, RPA, AWS를 사용한 프로세스 자동화 GCP, Azure OCR 문서(전표, 주문, 영수증) 분류 기술검증 GCP, Azure OCR 필기인식 기술검증 AWS, GCP, Azure VDI 기술검증 Azure Lens 기술검증 Naver OCR 기술검증 이미지 전처리 및 사전을 통한 정확도 향상 학습방안 및 자체 모델 고도화 위의 내용 중 4, 5, 6 번은 본 블로그에서는 제외하도록 한다. 일반적으로 OCR 처리의 기본적인 절차는 아래와 같다. 전처리: 이미지 확대, 색깔 변경, 이미지 부분 캡처, 전체 이미지의 위치 보.. 더보기
19. SAS를 사용한 자연어 처리 13. SAS를 사용한 자연어 처리 일반적으로 텍스트 분석, 자연어 처리에서 사용되는 기술들은 아래와 같다 검색엔진 텍스트 마이닝 피처, 주성분분석 텍사노미 분류와 문맥 기반 분석 단어 임베딩 W2V 딥러닝 LSTM 정규 표현식 NLTK SAS 제품군을 사용해서 텍스트 마이닝과 텍스트 분석 프로젝트를 수행했다. 용어에 대한 정리를 하면 텍스트 마이닝은 알고리즘을 통해 결과를 만든다. 결과는 벡터 형태로 생성된다. 일반적으로 알고리즘은 토픽, 클러스터링, 주성분분석 등을 통해서 처리한다. 텍스트 분석은 다계층 구조의 텍사노미를 만들고 부울규칙과 컨셉규칙 등을 개발한다. 다양한 업무규칙을 개발해서 직관적으로 결과를 확인할 수 있다. 텍스트 마이닝과 텍스트 분석 모두 사전의 개발은 필요하다. 실제 프로젝트에서.. 더보기
18. SAP를 사용한 수요 예측 11. SAP를 사용한 수요 예 예전 글에서 택시 운행 데이터를 사용해서 다양한 분석이 가능하다고 기술하였다. 수요 예측, 요금 예측, 서비스 예측, 트래픽 예측, 이용률 예측 등이 좋은 예이고, 블로그에서도 각 분석 시나리오를 비중있게 다루고 있다. 또 다른 중요 데이터세트는 주문데이터이다. 동일한 의미를 조직에 따라서 주문, 거래, 매출 등으로 다양하게 칭한다. 회계 관점에서는 매출 등이며, 영업팀은 영업 주문, 구매팀은 구매 주문, 현업에서는 발주라는 용어로 사용되지만, 본 글에서는 주문이라고 통칭한다. 주문 데이터로 할 수 있는 분석 시나리오는 아주 다양하고 많다. 고객 세분화 점포 유형화 고객 평생 가치 예측(Customer Lifetime Value Prediction) 고객 이탈 상품 추천 .. 더보기
17. 빅쿼리 머신러닝을 사용한 군집분석 12. 빅쿼리 머신러닝을 사용한 군집분석 블로그에서 다양한 글들이 주문데이터와 택시 운행 데이터를 사용해서 분석 및 예측을 수행한다. 분석 작업은 마스터와 코드를 참조하여 거래데이터로 수행된다. 일반적인 리테일 산업의 데이터 모델은 아래와 같다. 오프라인의 특수성을 고려한 온오프라인 통합도 아래의 모델로 수용이 가능하다. 쿠폰, 포인트도 제각각인 경우가 많다. 그룹사, 제휴사, 타사 등 포인트 시스템이 복잡하다. 결제 수단에 따라서 카드사는 일부 고객 데이터만 관리한다. 주문 내 자세한 상품 데이터를 카드사는 가지고 있지 않다. 백화점 내 점포는 카드사에 간략한 결재 데이터만 공유하고, 별도로 정산을 처리한다. 예를 들어 CJ올리브영이 신세계백화점에 입점하면, 주문 및 결재 정보는 신세계백화점에서 관리하.. 더보기
16. 프레스토를 사용한 연합쿼리 4. 프레스토를 사용한 연합쿼리 회사에서 일상적으로 마주치는 몇 가지 업무에 대해서 설명한다. 근래에는 JSON 문서를 저장하고, 변환하는 업무들이 많다. AWS AI 서비스가 만들어 내는 JSON 결과물은 몇 만라인이 넘는 큰 문서이다. 고객은 이러한 다수의 JSON문서를 집계해서 시각화해 달라고 자주 요청하곤 한다. 예전에 많이 사용하는 오라클, MySQL이 해결책이 될 수 없다. 요즘 많이 사용하는 몽고DB, 빅쿼리, AWS Athena 등이 바로 이러한 요구사항에 최적화되고 좋은 결과물을 만들어내는 툴이다. 클라우드의 업무 자동화와 최적화를 위해서 여러가지 툴을 사용하고 있다. 지라, 젠킨스, 깃허브, 아르고CD, 헬름뮤지엄, 쿠베플로우, 에어플로우 등이 자주 사용된다. 일반적으로 이러한 툴들은 .. 더보기
15. 스파크를 사용한 택시 운행 데이터 분석 7. 스파크를 사용한 택시 운행 데이터 분석 이 블로그에서 사용되는 중요 기술 중 하나는 스파크이다. 데이터 처리 엔진을 선정하기 위해서 많은 솔루션을 고려하였는데, 빔, 카프카, 프레스토 등이 후보였다. 신속하게 데이터 파이프라인을 구축하도록 도와주는 CDAP의 런타임환경은 스파크이다. 즉 웹 기반 IDE는 개발환경을 제공하고, 코드가 실행되는 런타임 환경은 스파크이다. 스파크 스트리밍은 카프카와 연계해서, 실시간 이벤트 스트리밍을 쉽게 개발할 수 있도록 도와준다. 기술 블로그 내 많은 글들이 스파크를 활용하고 있다. 필자가 근무하는 회사의 데이터 플랫폼은 데이터브릭스이다. 데이터브릭스는 스파크를 개발한 회사이고, 엔진도 스파크를 사용한다. 빔, 카프카, 프레스토 등이 후보였다. 다른 솔류션보다 스파크.. 더보기
14. GCP를 사용한 머신러닝 자동화 9. 구글 클라우드를 사용한 머신러닝 자동화 이번 글에서는 GCP 데이터 플랫폼에 대해서 설명한다. AWS가 인프라, 서버리스에 우수하고, GCP는 데이터 분석과 AI에 우수한 서비스를 제공한다. GCP를 사용한 일반적인 데이터분석의 절차는 빅쿼리 등 데이터웨어하우스 혹은 데이터레이크에서 필요한 데이터를 추출한다 데이터플로우를 사용해서 전처리를 수행한다. 전처리된 결과는 데이터과학자의 특정 볼륨으로 복사한다 파이프라인 자동화는 쿠베플로우로, 쿠베플로우 노트북 서버를 사용해서 분석을 수행한다. 디지털북스 쿠브플로우 이명환 지음, 비제이퍼블릭 구글 클라우드 플랫폼 뽀개기 박정운 지음을 인용하였다 데이터플로우의 장점을 설명하면, ETL을 개발하다보면 상당히 유사한 로직을 중복해서 개발하는 경우가 있다. 즉 소.. 더보기