전체 글
-
[Transformers] Table Question-Answering 모델을 이용해서 파이썬 에러 질의응답 서비스 만들어보기Python/Transformers 2023. 4. 12. 13:28
Table Question-Answering 모델을 이용해서 파이썬 에러 질의응답 서비스 만들어보기 허깅페이스(Huggingface)의 트랜스포머(Transformers) 패키지는 파이썬(Python)을 이용한 자연어 처리(Natural Language Processing, NLP) 작업을 아주 간단하게 만들어 주었습니다. 특히, 여러가지 모델을 이용하고 싶을 때 똑같은 파이프라인에 모델 이름만 바꿔넣으면서 사용할 수 있어서 파이썬 기초만 뗀 사람이 바로 NLP 모델을 이용한 서비스를 만들 수도 있게 되었지요. 그래서, 이번에는 NLP를 이용한 간단한 서비스를 하나 만들어 보도록 하겠습니다. 자연어 처리 중 Table Question-Answering 작업에 해당하는 서비스입니다. 사전 지식을 표 형태로..
-
[Anaconda] 파이썬 개발을 위한 아나콘다 설치하기Python/Anaconda 2023. 4. 11. 12:55
파이썬 개발을 위한 아나콘다 설치하기 만약 파이썬(Python) 개발을 하기로 마음먹었다면, 이런 문제가 우리를 기다리고 있습니다. 파이썬을 설치하고 IDE(통합 개발 환경)을 선택하고 개발에 필요한 다양한 패키지까지 설치하는 과정이 필요합니다. 숙련된 개발자라면 이런 과정이 물 흐르듯 매끄럽게 이어지겠지만, 당장 hello, world!정도밖에 칠 수 없는 사람들이라면 이야기가 다릅니다. 그래서, 파이썬 초보 개발자에게는 아나콘다(Anaconda)를 설치하는걸 권해드리고 있는데요, 아나콘다는 파이썬과 주피터 노트북(Jupyter Notebook)과 스파이더(Spyder)이라는 IDE, 그리고 몇 가지 유용한 파이썬 패키지, 콘다(conda) 패키지 관리자를 세트로 설치할 수 있는 유용한 녀석입니다. 아..
-
[Transformers] 파이썬 트랜스포머 사용 중 no module named 'keras.saving.hdf5_format' 발생시 해결하는 방법Python/Transformers 2023. 4. 7. 13:12
Transformers 사용 중 no module named 'keras.saving.hdf5_format' 발생시 해결하는 방법 최근 자연어 처리(Natural Language Processing, NLP) 모델을 배우고 있습니다. 제가 원래 기계학습(Machine Learning, ML) 모델을 잘 다루던 사람이긴 하지만, 언제나 남이 짜 놓은 모델을 쓰는건 어렵다는걸 느끼게 됩니다. 그래서, 어디 쉬운 패키지가 업나 해서 찾아보니, 허깅페이스(HuggingFace🤗)에서 제공하는 트랜스포머(Transformers)라는게 하나 있더라고요. 딥러닝 프레임워크는 유행을 많이 타는 편인데, 최근에는 이런 경향이 있습니다. 알파고로 유명해진 텐서플로우(Tensorflow)의 약진이 있었다가, 이후 파이토치(..
-
[Anaconda] 파이썬 프로젝트 관리를 위한 Conda 가상환경 만들기Python/Anaconda 2023. 4. 6. 08:11
파이썬 프로젝트 관리를 위한 Conda 가상환경 만들기 파이썬뿐만 아니라, 프로젝트마다 가상환경을 하나씩 만들어 두는 것은 중요합니다. 각 프로젝트마다 필요한 패키지를 깔다 보면, 버전 충돌 문제가 자주 일어나거든요. 파이썬 패키지를 만드는 만드는 개발자들이 업데이트를 재깍재깍 해 주면 그것이 최선이겠지만, 그분들도 패키지 하나 수정한다고 해서 먹고 살 돈이 나오는게 아니니까 우리들이 맞춰서 써야 합니다. 그래서, 파이썬 개발을 할 때는 가상환경을 잘 만들어야 합니다. 대개 프로젝트에 따라서 필요한 패키지만 깔아둔 가상환경을 꾸려 놓고, 재현성을 우선하는 선택을 합니다. 여기서 가상환경이란, 컴퓨터 안에 독립적인 공간을 만들어 두는 것을 이르는데요, 이 덕분에 A 프로젝트에서는 파이썬 3.7버전을 쓰고,..
-
[nbconvert] ipynb 파일을 마크다운 파일로 변환하는 방법유용한 프로그램 2023. 3. 29. 15:35
ipynb 파일을 마크다운 파일로 변환하는 방법 파이썬(Python) 프로그래밍 강의를 할 때, 저는 주피터 노트북(Jupyter Notebook)을 주로 이용하는 편입니다. 제가 코딩을 할 때, 주피터 랩(Jupyter Lab)을 주로 쓰기 때문에 익숙한 UI 때문이기도 하고, ipynb 파일의 경우 중간중간에 마크다운을 끼워넣거나 해서 강의 내용을 메모하는 등으로 이용할 수 있기도 해서 그렇습니다. 물론, 제가 글을 쓸 때 코드를 적어놓은 파일을 기반으로 사용할 수 있기 때문이기도 하지요. 하지만, 주피터 노트북 등에서 사용하는 ipynb 파일은 텍스트 에디터에게는 조금 불친절할 때가 있는 파일입니다. 지금 작성하고 있는 파일을 메모장으로 열어보기만 해도 눈으로 구조를 한눈에 파악하는데 어려움이 있기..
-
[Newspaper] 파이썬으로 뉴스 데이터를 크롤링을 할 수 있는 Newspaper 패키지Python/크롤링 2023. 3. 27. 09:42
파이썬으로 뉴스 데이터를 크롤링을 할 수 있는 Newspaper 패키지 파이썬(Python)으로 웹 크롤링(Web Crawling)을 하기 위해서 대부분 셀레니움(Selenium)이나 뷰티풀수프(BeautifulSoup)이라는 패키지를 사용하는 편입니다. 셀레니움은 흔히 말하는 동적 크롤링(상호작용을 하는 웹페이지를 크롤링할 때 효과적)이며, 뷰티풀수프는 정적 크롤링(HTML 코드를 파싱해서 크롤링하는 방식)의 대표적인 패키지죠. 하지만, 특정한 양식을 가지고 있는 웹사이트의 경우에는 조금 더 짧은 코드로 편하게 크롤링을 할 수 있게끔 패키지가 마련되어 있습니다. 어차피 있는 패키지는 활용하지 않으면 손해죠. 그래서, 이번에 살펴볼 패키지는 파이썬을 이용해서 뉴스와 같은 형식의 데이터를 크롤링할 수 있는..
-
[Selenium] 파이썬 셀레니움을 이용한 네이버 지도 크롤링 프로그램 만들기Python/크롤링 2023. 3. 23. 09:15
파이썬 셀레니움을 이용한 네이버 지도 크롤링 프로그램 만들기 우리나라 업체 정보는 대부분 네이버 지도에 등록되어 있습니다. 그래서, 이런 정보를 이용하기 위해 다양한 시도가 이루어지고 있지요. 대표적인 것으로는 각종 업체에서 분야별 업체 리스트를 확보하기 위해 크롤링을 이용하며, 사소하게는 개인이 우리 동네 맛집 리스트를 가지고 싶어서 크롤링하는 경우도 있습니다. 이러한 사례를 들어보면 아시겠지만, 크롤링이라는건 제법 간단한 편입니다. 만약 파이썬으로 웹 크롤링을 한다면, 셀레니움(selenium) 이라는 패키지를 이용할 수 있으며, 이번에는 파이썬 셀레니움과 구글 크롬을 이용해서 웹 크롤링을 하는 예시를 소개해 드리겠습니다. 이번에 크롤링을 하는 시나리오는, '네이버 지도에 등재된 서울특별시 강남구에 ..
-
[Python] 파이썬 변수 알아보기Python/파이썬 기초 2022. 8. 5. 23:38
파이썬의 변수를 알아보자 우선 이 글을 시작하기 전에 변수라는 단어를 알아봅시다. 그렇다고 해서 사전적인 의미를 외울 필요는 없고요, 변수란 어떤 값을 저장할 수 있는 공간이라고 개념적으로만 이해해 두시면 되겠습니다. 다른 프로그래밍 언어에서는 변수를 사용하기 위해 선언하는 과정이 필요하지만, 파이썬은 그냥 변수에 적절한 값만 집어넣으면 됩니다. 파이썬에서 변수를 표현하는 방법은 다음과 같습니다. x = 3 y = x + 1 위 코드에서는 x에 5라는 값이 저장되어 있고, y에는 x에 1이 더해진 값으로 저장됩니다. 여기서 x가 변경되면 y는 저절로 변경되는 등 변수를 이용하면 서로 연동되는 값을 편리하게 지정할 수 있습니다. 변수 사용하기 앞서 알아본 변수 사용 방법과 print()구문을 이용해서 변수..