반응형

전체 글 71

[camelot] line_scale이란? (opencv로 라인 추출)

camelot은 사용자가 조절할 수 있는 파라미터가 다양합니다. 관련 포스팅 : tech-diary.tistory.com/13 파라미터를 조정해서 PDF에서 테이블을 조금 더 정확하게 추출할 수 있습니다. 파라미터는 lattice와 stream 방식에서 조금 차이가 있는데 그 중 lattice 방식에서 line_scale 이라는 이름의 파라미터가 있습니다. 이번 포스팅에서는 이 line_scale 이란 녀석이 어떤 목적인지, 어떻게 작동하는지를 분석해보겠습니다. line_scale이 사용되는 곳은 parser.Lattice() 클래스 내부의 _generate_table_bbox() 함수 내부입니다. path : parser > class Lattice > def _generate_table_bbox fr..

[camelot] read_pdf() 파라미터

Camelot이란? PDF 파일에서 표(Table, 이하 테이블)을 추출(Extract)해주는 Python 라이브러리 camelot을 사용하는 메인 방법은 read_pdf() 함수를 사용하는 것입니다. read_pdf()의 파라미터를 적절하게 적용시키면 PDF에서 테이블을 적절하게 추출하여 렌더링할 수 있습니다. 본 포스팅은 caemlot 공식 문서를 참고하였습니다. camelot-py.readthedocs.io/en/master/index.html 기본 사용법 camelot.read_pdf("./dir/file.pdf", pages="all") 첫 번째 인자로 pdf 파일 경로 두 번째 인자로 테이블을 추출할 페이지 범위를 설정해줍니다. 가장 기본이 되는 사용 방법입니다. 파라미터 우측에 [stream..

[camelot] PDF 테이블 인식 plot 기능 정리

Camelot이란? PDF 파일에서 표(Table, 이하 테이블)을 추출(Extract)해주는 Python 라이브러리 Camelot의 다양한 기능 중에서 plot 기능에 대해 알아보겠습니다. camelot.plot()은 camelot이 추출한 테이블을 여러 형태로 시각화해주는 기능입니다. 아래와 같은 총 6가지 기능이 있고, 하나씩 살펴보겠습니다. contour grid line joint text textedge 이 포스팅은 카멜롯 공식 문서를 참조하였습니다. camelot-py.readthedocs.io/en/master/user/advanced.html#visual-debugging 사용법 # 첫 번째 인자는 camelot table 객체 # 두 번째 인자는 kind에 plot 기능 중 하나를 설정..

[Python] 단어 빈도 분석 + 워드 클라우드

특정 기간에서 사람들의 관심 주제를 알아보기위해 단어 빈도 분석을 진행합니다. import nltk # make noun frequency graph per religion def make_top_word_graph( result, top ): tokens = result.split(" ") # 문자열을 공백 기준으로 구분 text = nltk.Text(tokens) # nltk topWord = text.vocab().most_common(top) # top n word count = 30 # top word on graph xlist = [a[0] for a in topWord[:count ]] ylist = [a[1] for a in topWord[:count ]] plt.figure(0) font..

Python tech/NLP 2021.02.08

[Python] 감성 분석 결과 + 유의미한 차이인지 확인

지난 포스팅에서 딥러닝 모델을 활용하여 댓글 데이터의 감성을 예측하였습니다. tech-diary.tistory.com/9 [Python, keras] 딥러닝을 활용한 감성 예측 + 그래프 생성(plot) 지난 포스팅에서 keras를 활용하여 딥러닝 모델을 생성했습니다. 생성된 모델을 활용하여 새로운 데이터의 감성을 예측해봅시다. 저장된 RNN 모델을 불러옵니다. 이때, TextVectorization으로 생성된 tech-diary.tistory.com 이번에는 생성된 종교별 감성 흐름 그래프의 차이가 유의미한 차이인지 확인해보도록 하겠습니다. 본 포스팅에서는 다음 3가지 방법을 통해 감성값의 차이를 검증합니다. 댓글 개수 표준 편차 유의 확률 월별 댓글 개수 그래프 '댓글 개수가 많다' 는 것은.......

Python tech/NLP 2021.02.07

[Python, keras] 딥러닝을 활용한 감성 예측 + 그래프 생성(plot)

지난 포스팅에서 keras를 활용하여 딥러닝 모델을 생성했습니다. 생성된 모델을 활용하여 새로운 데이터의 감성을 예측해봅시다. 저장된 RNN 모델을 불러옵니다. 이때, TextVectorization으로 생성된 모델이기 때문에, custom_objects에 TextVectorization를 설정해주어야 합니다. # load RNN model rnn_model = tf.keras.models.load_model("../save_dir/rnn_model", \ custom_objects={"TextVectorization":TextVectorization}) 새로운 댓글 데이터의 감성값을 예측하는 방법입니다. sentiment = float(rnn_model.predict([comment])) predict..

Python tech/NLP 2021.02.07

[Python keras] 감성 분석 딥러닝 모델 생성 - TextVectorization

Python tensorflow keras textvectorization sentimental analysis using deep learning 준비해야할 것 : 수집한 댓글 데이터 훈련 데이터(Train Data)를 생성하기 위해 약 900개의 댓글을 하나하나 레이블링(Labeling) 해주었습니다. 이때, 감성 수치는 긍정은 1, 부정은 0 제가 레이블링한 데이터를 사용하고 싶다면 아래 링크에서 train-data/comment-labeling.csv 파일을 활용하셔도 됩니다. >> github.com/Minku-Koo/Comment-Sentiment-Analysis 900개의 훈련 데이터가 부족할 것이라고 판단해서 전이 학습(Transfer Learning)을 시키기로 하였습니다. 아래 링크는 ..

Python tech/NLP 2021.02.01

[Python] PyQt5를 exe 파일로 만들기 (오류 해결 과정)

PyQt5로 제작한 프로그램을 exe 파일로 만들어봅시다. 실행하기도 편리하고, 배포하기도 쉽습니다. 1. pyinstaller 설치 python은 pyinstaller를 통해 exe 파일로 만들 수 있습니다. cmd> pip install pyinstaller pip로 간단하게 pyinstaller 설치가 가능합니다. 설치중 오류가 발생한다거나, 최신 버전 설치가 필요하신 분은 수동으로 설치해주어야 합니다. @최신 버전 수동 설치 pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz 2. exe 파일 생성, using pyinstaller 가장 기본적인 exe 파일 생성 방법은 아래와 같습니다. 예시로, 파이썬 파일 ..

[PyQt5] QPixmap에서 jpg 파일이 보이지 않는 현상 해결

PyQt5로 프로그램을 만들던 도중 문제가 발생했다. QPixmap으로 이미지를 보여주려는데 jpg 이미지가 보여지지 않는 것.... png 이미지는 정상적으로 보여진다. 원인을 찾아보는 도중 print(QtGui.QImageReader.supportedImageFormats()) 를 통해 QPixmap에서 불러와지는 이미지 포맷 형식을 알아보니,,, jpg가 없었다. 지원하는 이미지 포맷은 다음과 같다. [PyQt5.QtCore.QByteArray(b'bmp'), PyQt5.QtCore.QByteArray(b'pbm'), PyQt5.QtCore.QByteArray(b'pgm'), PyQt5.QtCore.QByteArray(b'png'), PyQt5.QtCore.QByteArray(b'xpm'), PyQ..

Mysql 에서 외부 프로그램 실행시키기

Execute external program on Mysql Mysql 혹은 MariaDB에서 외부 파일을 실행시키는 방법을 알아보았습니다. 기존 파이썬에서 DB를 연동하여 pymysql 라이브러리를 통해 데이터를 조작할 수 있었는데, 이번에는 Mysql에서 파이썬 프로그램을 실행해서 데이터를 입력하는 방법을 알아보려 합니다. 참고로 Mssql에서는 xp_cmdshell 이라는 기능을 활용하여 외부 프로그램을 실행시킬 수 있다고 합니다. Oracle에서도 비슷한 기능을 지원한다고 하네요. UDF(User Define Funtion)을 활용해야합니다. UDF중 sys_exec() 함수를 활용해야 하는데, lib_mysqludf_sys.dll 파일이 필요합니다. 윈도우 환경에서는 lib_mysqludf_sy..

기타 2020.08.21