본문 바로가기

IT11

Python을 이용한 이용한 유튜브 (YouTube) 댓글 수집 1. YouTube Data API YouTubue 댓글 수집에는 Google에서 제공하는 YouTube Data API를 이용하는 방법과 동영상이 게시된 HTML 문서에서 직접 데이터를 크롤링 (crawling)하는 방법이 있다. 그러나 크롤링 방식은 YouTube에 의해 크롤링 코드의 접근이 차단되거나, 홈페이지 업데이트로 인해 HTML 문서의 형식이 변경되면 동작하지 않을 수 있다는 문제점이 있다. 이 글에서는 Python과 Google에서 제공하는 YouTube Data API를 이용하여 YouTube에 게시된 동영상의 댓글을 수집하는 방법을 소개한다. 개인적인 용도로 API를 이용할 경우에는 할당량을 초과할 일이 거의 없지만, 공개 서비스를 제공하기 위한 목적으로 API를 이용하는 경우에는 반드.. 2021. 1. 17.
CORD-19: 인공지능 기반의 COVID-19 연구 COVID-19 Open Research Dataset (CORD-19) 세계 최대 규모의 데이터 플랫폼인 Kaggle에서는 인공지능 기반의 코로나 바이러스 연구를 위해 COVID-19 open research dataset (CORD-19)을 공개했다. CORD-19는 COVID-19, SART-CoV-2, 그 외의 관련 코로나 바이러스에 대한 약 135,000개의 문헌을 모아 놓은 dataset이다. CORD-19는 Allen Instutite, Microsoft Research, IBM 등에서 코로나 바이러스 관련 연구를 위해 무료로 공개했으며, Kaggle CORD-19 페이지에서 다운 받을 수 있다. 데이터셋 구조 CORD-19는 코로나 바이러스 관련 문헌들의 metadata와 본문을 JSON의.. 2020. 6. 8.
머신 러닝 기반의 Scientific Application을 위한 파이썬 라이브러리 1. Sckit-learn [link] 다양한 머신 러닝 알고리즘과 데이터 전처리 기법을 제공하는 라이브러이다. 간단하게 머신 러닝 기반의 application을 제작하고자 한다면 scikit-learn은 아마도 최적의 라이브러리일 것이다. 2. TensorFlow [link] 구글에서 공개한 딥 러닝 라이브러리이다. 텐서 기반의 병렬화된 연산과 다양한 종류의 인공신경망 (artificial neural network) 구현을 제공한다. 기업에서 머신 러닝 기반의 application을 제작하기 위해 특히 많이 이용되고 있다. 3. PyTorch [link] TensorFlow와 비슷한 딥 러닝 라이브러이다. PyTorch 또한 텐서 기반의 연산과 다양한 종류의 인공신경망 구현을 제공한다. 모듈화된 코드.. 2020. 5. 21.
샘플링 (Sampling), 양자화 (Quantization) 및 부호화 (Coding) 1. 샘플링 (Sampling) 컴퓨터는 0과 1 같은 이산적인 자료들로 구성된다. 그러나 실세계에서는 0과 1사이에도 무한히 많은 수가 존재한다. 샘플링은 연속적인 시간에 대해 생성되는 데이터를 이산적인 시간에 대한 데이터로 변환하는 과정이다. [그림 1] 아날로그 데이터에 대한 샘플링 컴퓨터에서는 연속적인 시간에 대한 데이터에 포함되어 있는 무한히 많은 정보를 모두 저장할 수 없기 때문에 위의 [그림 1]과 같이 0, 1, 2, ... 와 같은 일정 시간 간격으로 데이터를 읽는 샘플링을 수행한다. 2. 양자화 (Quantizaton) 샘플링은 연속적인 시간에 대해 생성되는 데이터를 이산적인 시간에 대한 데이터로 변환하는 과정이다. 실세계의 아날로그 데이터는 시간뿐만 아니라, 데이터가 표현하는 값에 대.. 2016. 10. 24.
정보이론과 엔트로피 1. 정보이론에서 엔트로피가 갖는 의미 물리학에서 엔트로피는 어떠한 물리계의 무질서한 정도를 의미한다. 정보이론에서도 엔트로피는 무질서한 정도를 뜻하며, 더욱 엄밀히 말하자면 "불확실성"을 의미한다. 아래의 [그림 1-a]는 엔트로피가 낮은 데이터이고, [그림 1-b]는 엔트로피가 높은 데이터이다. [그림 1] 데이터와 엔트로피 위의 [그림 1-a]의 데이터에서는 모든 영역이 검은색이므로 불확실성이 낮다. 즉, 데이터 중에 어떤 부분을 선택하더라도 검은색이 추출된다는 것을 확실하게 말할 수 있다. 그러나 [그림 1-b]의 데이터에서는 흰색과 검은색이 무작위하게 분포되어 있기 때문에 불확실성이 높다.위의 [그림 1-a]와 같은 데이터를 표현할 때는 검은색을 표현하는 단 하나의 비트 1만 있으면 충분할 것이.. 2016. 10. 20.
Java에서 문자열을 XML 파일로 변환하기 이 글에서는 Java를 이용하여 문자열을 XML 파일로 변환하는 방법에 대해 서술한다. 아래의 [코드 1]에 구현된 XMLBuilder.buildXML 객체에 정의된 buildXML 메소드는 "XML 파일 이름"과 "소스 문자열"을 인자로 받아서 프로젝트 폴더에 "XML 파일 이름.xml"을 생성한다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647import java.io.File;import java.io.IOException;import java.io.StringReader;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.Do.. 2016. 2. 19.
공공데이터를 이용한 어플리케이션 개발 2014년 상반기 4억 2천만원의 매출액을 달성한 굿닥과 2015년 다음카카오가 626억에 인수한 김기사는 모두 공공데이터를 활용한 어플리케이션이다. 각각의 어플리케이션은 정부에서 제공하는 위탁병원 위치정보, 한국도로공사 교통정보 등의 공공데이터를 이용한 것으로 알려져있다. 이렇듯 어플리케이션 개발자에게 공공데이터는 활용가치가 무궁무진한 또 다른 자원이다. 정부에서 제공하는 공공데이터를 이용하기 위해서는 몇 가지 회원가입과 인증이 필요한데, 이 글에서는 공공데이터를 어플리케이션 개발에 이용하기 위한 방법을 소개한다. 1. 공공데이터포털(https://www.data.go.kr)에 접속한다. 2. 공공데이터포털의 안내에 따라 회원가입을 진행한다. 3. 이용하고자 하는 공공데이터를 검색한다. 4. 활용신청을.. 2016. 2. 17.
Android Studio에서 RenderScript 환경 구축 RenderScript는 고성능 그래픽 랜더링과 연산을 지원하기 위한 API이다. Android Studio에서 RenderScript를 이용하기 위해서는 2가지 환경설정이 필요하다. 1. rs 폴더 생성app 폴더의 하위에 rs 폴더를 생성하고, RenderScript로 작성한 소스 코드는 rs 폴더에 저장한다. 아래의 그림은 he.rs라는 RenderScript 소스 코드를 rs 폴더에 위치시켜놓은 것이다. 2. Gradle에 RenderScript 빌드 정보 추가안드로이드 프로젝트에 있는 build.gradle (Mudle: app)에 아래의 붉은색 사각형에 있는 두 줄의 RenderScript 빌드 정보를 추가한다. 2016. 2. 2.
Android Studio - Unable to start the daemon process 오류 Android Studio에는 Windows7 32bit 4G RAM 환경에서 Gradle Daemon 실행이 실패하는 이슈가 있다.이러한 오류의 해결 방법은 virtual machine의 메모리 공간을 확보해주는 것이다.아래는 Android Studio에서 Gradle Daemon 실행이 실패할 때 출력되는 오류 메시지 이다. Unable to start the daemon process.This problem might be caused by incorrect configuration of the daemon.For example, an unrecognized jvm option is used.Please refer to the user guide chapter on the daemon at http.. 2016. 2. 2.
Windows 버전 Flex(Lex) 설치 방법 1. http://gnuwin32.sourceforge.net/packages/flex.htm 에 접속한다. 2. Complete package, except sources를 다운로드한다. 3. 설치 마법사의 진행에 따라 Flex를 설치한다. 설치가 끝나면 환경변수를 설정해야하므로, 설치 경로를 적절하게 설정한다. 4. 시작 메뉴>컴퓨터 항목에서 마우스 오른쪽>속성>고급 시스템 설정>환경 변수를 클릭한다. 5. 시스템 변수에서 Path 항목을 편집한다. 6. 변수 값의 가장 뒤에 세미콜론(;)이 없으면 ;과 Flex.exe (Flex가 설치된 폴더의 bin 폴더에 존재)가 설치된 경로를 변수 값의 가장 뒤에 추가한다. 기본 설정 경로에 설치했다면, C:\GNU\GnuWin32\bin이다. 이 예시에서는 .. 2016. 1. 31.
CSS 폰트 단위 변환 pt(point) : 1포인트가 0.72인치와 같은 단위px(pixel) : 화면 해상도에 비례한 상대적인 단위em, % : 상위, 또는 상속받거나 지정된 요소에 대한 상대 크기를 백분율로 환산한 단위 아래의 표는 HTML의 body에 기본 픽셀로 16px가 설정되어 있을 때의 단위 환산 표이다. 기본 픽셀이 16px일 때, 8px는 16px의 50%이므로 8px에 대한 em 값은 0.5이고, %는 50이다. 2016. 1. 25.