반응형

Konlpy라이브러리를 처음 실행하다 보면 위와 같은 에러를 만날 수 있습니다.

 

예를들어 Okt를 통해 형태소분석 또는 명사추출을 진행할 때 아래와 같이 Okt.morph 또는 Okt.pos처럼 사용할 때 발생합니다.

 

from konlpy.tag import Okt
Okt.pos('오늘 배가 아파서 화장실을 갔어')


#TypeError Traceback (most recent call last)
#<ipython-input-138-573929ee924f> in <module>
#      1 from konlpy.tag import Okt
#----> 2 Okt.pos('오늘 배가 아파서 화장실을 갔어')

#TypeError: pos() missing 1 required positional argument: 'phrase'

 

해결 방법은 다음과 같습니다. Okt를 사용할때 가로를 넣어주면 됩니다. 

대부분 아래 두번째 방법을 많이 사용합니다.

반응형
반응형

tqdm 라이브러리는 반복문을 실행할 때 진행사항을 알려주는 유용한 라이브러리입니다.

아래와 같이 완료시간 및 진행시간, 진행횟수를 알려줍니다.

 

아래와 같이 에러가 발생할 경우

ipywidgwts 설치 후 커널을 재시작하게 되면 기능이 정상적으로 작동합니다.

반응형
반응형

최근 법률관련 데이터를 얻기 위해 공공데이터 포털을 이용했습니다.

https://www.data.go.kr/index.do

 

공공데이터 포털

국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase

www.data.go.kr

 

해당 데이터는 생활법률지식 정보였으며, 생활법률에 대한 Q&A데이터 였습니다.

아래 요청 주소 및 요청에 필요한 Parameter가 있습니다. 

 

API Parameter

코드

인증키의 경우 회원가입 후 특정 API에 대한 사용신청을 하게되면 얻을 수 있으며 약 1일 소요됩니다. requests.get을 통해 데이터를 얻었으며 beautifulsoup를 통해 xml로 파싱해줬습니다. 그 후 DataFrame으로 변형 후 합치는 코드입니다.

결과

반응형
반응형

python을 통해 pdf파일을 다운받는 중 제목과 같은 에러가 발생하였습니다.

 

에러 발생코드

import urllib
from random import randint

# a는 pdf주소가 저장된 list / b는 pdf문서 이름이 저장된 list
for i, n in enumerate(tqdm_notebook(a)):
	#random sleep
    sleep(randint(1,10))
    #주소를 통해 파일 다운로드
    urllib.request.urlretrieve(n, "{}.pdf".format(b[i]))

 

발생이유

https://file.download.com?file=1440047203387.pdf&path=001&downFile=파일다운12해보자.pdf

위와 같은 url에서 파일다운12해보자 부분을 encoding할 수 없어 발생하는 에러입니다.

 

해결

urllib라이브러리 quote_plus를 이용하여 urlencoding를 진행하면 됩니다.

url encoding

 

반응형
반응형

split는 strings objects를 input으로 받기 때문에 list가 들어오는 순간 에러를 발생합니다..

text = ['아버지 가방에 들어가신다']
text.split(" ")
#AttributeError: 'list' object has no attribute 'split'

 

 

리스트 안에 str값을 넣어줘야 split가 작동합니다.

text = ['아버지 가방에 들어가신다']
text[0].split(" ")
#['아버지', '가방에', '들어가신다']

 

 

output 값이 ['아버지', '가방에', '들어가신다'] 이렇게 나온 것을 볼 수 있습니다.

분리된 값이 리스트 안에 요소로 들어가 있습니다. 그렇다면 원상태로 되돌리려면 어떻게해야할까요?

#output 리스트 벗기기
text = ['아버지', '가방에', '들어가신다']
" ".join(text)
#'아버지 가방에 들어가신다'

 

반응형
반응형

저는 숫자 자체를 문자열로 취급하여 Word2vec를 돌리기 위해 리스트 안의 숫자들을 문자로 변경할 필요가 있었습니다.

리스트 안에 문자열 생성
a = ['1233113', '21424214', '14514214', '3213123']
a
# ['1233113', '21424214', '14514214', '3213123']


리스트 안에 문자를 숫자로 변경
a = list(map(int, a))
a
# [1233113, 21424214, 14514214, 3213123]


리스트 안에 숫자를 문자로 변경
a = list(map(str, a))
a
# ['1233113', '21424214', '14514214', '3213123']

 

반응형
반응형

딥러닝을 위하여 파이썬에 keras를 설치하는 도중 오류가 발생했습니다.

 

 

 

아나콘다 프롬프 창에

 

conda install -c anaconda html5lib 를 입력하면 keras가 제대로 설치되는걸 확인할 수 있습니다.

 

 

반응형
반응형

XGBoost는 머신러닝의 분류 알고리즘으로 현재 kaggle에서 가장 인기있는 머신러닝 모델이다


kaggle의 우승자의 대부분이 이 XGBoost를 쓴다고 해도 과언이 아니다.


anaconda 패키지 안에는 XGBoost가 설치되지 않아서 직접 설치해야하는 불편함이 있는데 


이러한 설치를 쉽게 알려주는 사이트가 있다.


이곳을 클릭하면 XGBoost를 쉽게 설치할 수 있다.

반응형

+ Recent posts