분류 전체보기 78

[NLP] Selenium에서 Javascript 명령어 사용하기

1. 개요 파이썬 환경에서 셀레늄을 사용하여 데이터를 수집한 뒤, 전처리를 진행하는 것이 필수적입니다. 그러나, 셀레늄에 요청을 하는 것은 많은 리소스를 소모하여 시간이 오래 걸립니다. 그래서 셀레늄(Selenium)에서 execute_script 메서드를 사용하여 자바스크립트(Javascript) 코드를 실행하여 데이터 수집 전에 전처리를 진행해 비용을 감소시킵니다. 이 방법은 셀레늄의 기본 API만으로는 해결하기 어려운 특정 작업들을 수행할 수 있게 해주고 리소스를 줄여줍니다. 셀레늄에서 페이지 내의 모든 html의 내부 요소의 텍스트 길이를 파악하고 데이터를 수집하려면, for 문으로 매번 셀레늄으로 요청을 해야합니다. 이 때, 1분 정도의 시간이 소요됩니다. script = """ var text..

DL/NLP 2024.03.06

[NLP] Selenium 파일 다운로드 경로 설정

1. 개요 자동화된 크롤링 툴을 만들면서 여러 사이트에 적용되는 범용적인 툴을 개발하고자 했습니다. 그러나, 사이트마다 HTML 구조가 모두 다르기 때문에 자동화가 아닌 반자동 방법을 채택하여 직접 웹 페이지에서 PDF 파일을 클릭하면 어떠한 메시지도 없이 자동으로 지정한 경로로 저장되도록 세팅했습니다. chrome_options = Options() chrome_options.add_argument("--no-sandbox") # 샌드박스 모드 비활성화 chrome_options.add_argument("--disable-dev-shm-usage") # /dev/shm 사용 비활성화 chrome_options.add_argument("--disable-gpu") # GPU 가속 비활성화 download..

DL/NLP 2024.03.06

[NLP] Selenium으로 데이터 수집

1. 개요 머신러닝, 딥러닝 모델 학습을 위해 데이터를 직접 수집하여 정제하는 작업은 ML Framework에서 필수적입니다. 그러나, 모든 데이터를 하나씩 수집하고 라벨링을 진행하는 것은 많은 비용이 소모됩니다. 그렇기 때문에 뉴스 기사, 상품 정보 등 웹페이지의 데이터를 수집할 때, 사용자가 수동으로 수행할 수 있는 모든 작업을 프로그래밍 방식으로 수행하여 비용을 최소화하는 것이 필요합니다. 대표적으로 웹페이지의 데이터를 수집하는 방법은 Beautifulsoup와 Selenium이 있습니다. 이 글에서는 Selenium에 대해 다뤄보도록 하겠습니다. 2. Selenium? request와 Beautifulsoup를 사용해 데이터를 수집하는 방법은 셀레늄에 비해 실행 속도가 굉장히 빠르다는 장점이 있습..

DL/NLP 2024.03.06

[Computer Vision] Extraction of Table Text Information in Documents Using Deep Learning Object Detection (2023)

0. 요약 본 논문에서는 딥러닝 객체 인식을 기반으로 한글 문서 내 표 및 박스의 텍스트 정보를 추출하고 이를 재배열하여 문장화하는 방안을 제시하였습니다. 객체 감지 모델 Yolo를 통해 추출한 문서 내 표 및 박스의 좌표 정보를 토대로 OpenCV와 Google Cloud Platform의 Vision API를 적용하여 문서로부터 표 및 박스 이미지를 분리하고 텍스트를 감지하였습니다. 추출한 표 및 박스 내 텍스트를 문장화하기 위한 규칙 기반의 텍스트 재배열 방법을 제안하였으며 이를 통해 표의 텍스트 정보가 원래 의도된 문장으로 도출되는지 확인하였습니다. 1. 서론 문서 내에는 본문의 텍스트 정보뿐만 아니라 다양한 형태의 그림이나 표 등의 자료를 포함하고 있는 경우가 많습니다. 이러한 자료 중 표 내부..

DL/Computer Vision 2024.02.22

[Computer Vision] Methods of Classification and Character Recognitionfor Table Items through Deep Learning (2021) 리뷰 및 구현

1. 서론 문서 내 표 영역의 경우, 표 내부 항목명과 항목 내용을 인식하는 것은 업무 자동화를 위한 문서 처리 에 있어서 중요한 부분입니다. 하지만 OCR만을 통해서는 표 내부의 문자를 인식하는 것에만 국한되어있고, 해당 내용이 무슨 의미를 가지는지는 인식을하지 못합니다. 따라서 문서 인식을 수행한 후, 사람의 손으로 항목을 분류해야 한다는 불편함이 있으며, 표 영역 내 구분자는 문자 인식의 정확도를 떨어뜨리는 요인이 되기도 합니다. 본 논문에서는 딥러닝 신경망을 통해 표 항목 내의 문자를 인식하고, 이를 통해 문서를 디지털화하는 방법을 제안합니다. 먼저 스캔된 문서 이미지 파일에서 CNN을 통해 표 영역을 검출합니다. 그 후, 표 영역 내 수직선과 수평선의 구분자로 분리된 각 영역을 검출한 후, 각각..

DL/Computer Vision 2024.02.22

[Computer Vision] LayoutLM: Pre-training of Text and Layout for Document Image Understanding (2019) 리뷰

0. 요약 NLP 사전 학습 모델이 널리 사용되고 있지만, 대부분 텍스트에만 집중하고 문서 이미지 이해에 필수적인 레이아웃과 스타일 정보는 간과하고 있습니다. 본 논문에서는 스캔된 문서 이미지 전반에 걸쳐 텍스트와 레이아웃 그리고 이미지 정보를 고려한 joint 모델 LayoutLM을 제안합니다. (BERT + Fast R-CNN) LayoutLM이 문서 이미지 이해를 위해 텍스트와 레이아웃의 정보를 단일 프레임워크에서 학습하는 첫 번째 사례입니다. 이는 여러 Downstream task에서 최고 성능을 달성했습니다. form understanding (70.72 → 79.27) receipt understanding(94.02 → 95.24) document image classification (93..

DL/Computer Vision 2024.02.22

[Computer Vision] Document Layout Analysis (feat. OCR)

1. Document Layout Analysis? 사람이 문서를 읽을 때에는 어떤 부분이 제목인지, 표는 어떻게 읽어야하는지, 이미지 아래에 작게 들어간 글자는 캡션이라고 이해하는 것 등 문서 내 정보에 대해 자연스럽게 인식할 수 있습니다. 하지만 OCR 기술은 단순히 글자만 인식할 뿐, 문서에 대해 자동으로 이해하고 각 글자들이 어떤 맥락에서 배치되어 있는지는 전혀 읽어내지 못합니다. 그래서 등장한 것이 Document Layout Analysis 기술입니다. 컴퓨터 비전(CV) 또는 자연어 처리(NLP)에서 사용하는 기술로, 주로 텍스트 문서내에서 관심 영역을 식별하고 분류하는 기술입니다. 이 기술은 문서의 레이아웃을 분석하여 텍스트, 이미지, 표, 그래프 등 다양한 요소를 구분하고, 이러한 요소들..

DL/Computer Vision 2024.02.22

[ML] 머신러닝 기초 (5) Linear Regression. 회귀 실습

https://mz-moonzoo.tistory.com/52 [ML] 머신러닝 기초 (4) Linear Regression 회귀 이론 https://mcode.co.kr/video/list2?viewMode=view&idx=21 메타코드M 빅데이터 , AI 강의 플랫폼 & IT 현직자 모임 플랫폼ㅣ메타코드 커뮤니티 일원이 되시기 바랍니다. mcode.co.kr 이전 ML 카테고리의 포스팅에 이어 mz-moonzoo.tistory.com 선형 회귀의 이론을 포스팅하고 실습 강의 리뷰는 굳이 하지 않으려했지만 간단하게 코드 리뷰를 해보겠습니다. 실습 강의 및 코드는 메타코드 링크에서 받아보실 수 있습니다. https://mcode.co.kr/video/list2?viewMode=view&idx=21 메타코드..

ML 2024.02.19

[ML] 머신러닝 기초 (4) Linear Regression 회귀 이론

https://mcode.co.kr/video/list2?viewMode=view&idx=21 메타코드M 빅데이터 , AI 강의 플랫폼 & IT 현직자 모임 플랫폼ㅣ메타코드 커뮤니티 일원이 되시기 바랍니다. mcode.co.kr 이전 ML 카테고리의 포스팅에 이어 머신러닝 강의를 들으면서 내용을 정리하고 있습니다. 현재 무료로 강의를 보실 수 있으니 궁금하신 부분은 강의를 수강하시면 좋을 것 같습니다. 아! 그리고 실습은 제가 머신러닝 이론에 대해서 학부과정에 배웠던 내용을 리마인드 하고자 강의를 듣고 있는 것이라 실습 관련된 포스팅은 진행하지 않습니다. 실습을 원하시는 분들은 강의를 듣고 직접 따라서 해보시는 것을 추천드립니다! Linear Regression 차수를 높인 다항회귀 역시 선형 회귀로 봅..

ML 2024.02.15

[ML] 머신러닝 기초 (3) 머신러닝 기본 수학 이론

https://mcode.co.kr/video/list2?viewMode=view&idx=21 메타코드M 빅데이터 , AI 강의 플랫폼 & IT 현직자 모임 플랫폼ㅣ메타코드 커뮤니티 일원이 되시기 바랍니다. mcode.co.kr 이전 ML 카테고리의 포스팅에 이어 머신러닝 강의를 들으면서 내용을 정리하고 있습니다. 현재 무료로 강의를 보실 수 있으니 궁금하신 부분은 강의를 수강하시면 좋을 것 같습니다. 함수 두 집합 사이의 관계 혹은 규칙 y = f(x)의 식으로 표현, 이 때의 x는 입력값, y는 출력값 일차 함수 y가 x에 대한 일차식으로 표현된 경우 y = ax + b (a != 0) a를 기울기, b를 절편이라고 표현 이차 함수 y가 x에대한 이차식으로 표현된 경우 y=a(x-p)^2 +q(a!=..

ML 2024.02.14