분류 전체보기 (15) 썸네일형 리스트형 Cross-encoder를 사용한 Open Named Entity Recognition 모델 개발 1. Introduction 개체명 인식(Named entity recogntion)은 텍스트에서 사람, 지역, 단위 등과 같은 개체명을 인식하는 문제다. 대부분의 개체명 인식은 미리 정해진 클래스 안에서 개체명을 분류하는 closed-ner 방식으로 이뤄진다. 하지만 closed-ner 방식은 새로운 클래스의 개체명 인식을 위해서 새로 데이터셋을 구축해야 한다는 단점이 있다. 이를 해소하기 위해 최근 새로운 클래스의 개체명도 인식할 수 있는 open-ner 연구가 제안되고 있다. 이 글에서는 cross-encoder 구조를 사용하여 open-ner 모델을 학습하는 방법에 대해 다룬다. 사용한 코드와 모델은 아래 url에서 확인할 수 있다. 코드, 영어 모델, 다국어 모델 2. UniversalNER C.. Sentinel Hub API로 위성 사진 수집하기 1. Introduction Sentinel Hub은 Sentinel, Landsat 등의 위성이 찍은 위성 사진을 제공하는 플랫폼이다. Sentinel Hub의 API와 위성 사진 처리를 위한 python library인 eo-learn을 사용하면 원하는 위치와 날짜의 위성 사진을 쉽게 수집할 수 있다. 이 코드는 OrbitalAI repository를 참고하였다. 2. Setup Install libraries pip install sentinelhub[AWS] pip install eo-learn lmport libraries import datetime import numpy as np from PIL import Image from typing import Tuple import matplotl.. VIsual LAyout(VILA) 모델로 논문 PDF 파일에서 구조를 추출하는 방법 1. Introduction 논문은 대체로 서론, 관련 연구, 방법론, 실험, 결론과 같은 구조로 구성되어 있다. 하지만 PDF로 배포된 논문에서 위와 같은 구조를 자동으로 파악하는 것은 쉽지 않다. 이러한 문제를 해결하기 위해 다양한 Document-Image Understanding 모델들이 제안되었다. 그 중 VIsual LAyout (VILA) 모델을 사용하여 논문의 구조를 추출하는 과정을 진행해보았다. 2. VILA: VIsual LAyout VILA: Improving structured content extraction from scientific PDFs using visual layout groups 문서의 구조를 인식하는 Document Layout Analysis 문제는 주로 toke.. BERTScore Knowledge Distillation 1. Introduction BERTScore는 pretrained language model을 사용하여 두 문장의 유사도를 측정하는 방법이다. 주로 번역, 요약 등 문장 생성 모델을 평가하는 데 사용한다 [1]. language model의 크기가 클수록 BERTScore와 Human evalution의 상관 관계가 큰 경향이 있다. 하지만 큰 모델은 어플리케이션에서 실시간으로 사용되기 어렵다는 단점이 있다. 이를 해결하고자 Knowledge distillation을 통해 작은 모델이 큰 모델의 BERTScore를 따라하도록 학습시켰다. 결과 모델: yongsun-yoon/minilmv2-bertscore-distilled 2. Setup student model은 경량화된 모델 nreimers/Min.. Maximal Marginal Relevance를 사용한 뉴스 요약 1. Introduction 뉴스를 크롤링하여 주요 문장을 추출하여 요약 Maximal Marginal Relvance(MMR)을 사용한 unsupervised extractive summarization 구현 pretrained sentence transformer를 사용하여 sentence embedding 추출 2. Maximal Marginal Relevance 에서 제안된 방법 Marginal relevance: query와의 relevance가 높고, 이미 선택한 sentence와의 중복도가 낮은 sentence 선택 3. Code load_model 불필요한 모델 로딩을 방지하기 위해 cache 적용 read_article newsplease를 사용하여 뉴스 크롤링 clean_text kiw.. GNU screen 사용법 0. 들어가며 GNU screen은 여러 개의 가상 터미널 세션을 사용할 수 있는 소프트웨어다. 이 글은 screen을 사용하는 방법을 다룬다. 1. 설치 아래 명령어로 screen을 설치할 수 있다. E: Unable to locate package screen 에러가 발생하면 apt-get update로 업데이트 후 다시 시도한다. code apt-get install screen 2. 주요 명령어 screen 외부 screen --help # 도움말 screen # screen 생성 후 진입 (이름은 무작위로 생성) screen -r {name} # 기존 screen 진입 (reattach) screen -S {name} # screen 생성 후 진입 (이름 지정) screen -R (name} #.. Hydra + Lightning Fabric으로 딥러닝 학습 template 만들기 0. 들어가며 Hydra는 python code의 configuration을 쉽게 관리하기 위한 라이브러리다. Lightning Fabric은 최소한의 코드 변경으로 Pytorch 모델의 효율적인 학습을 도와주는 라이브러리다. Fabric accelerates your PyTorch training or inference code with minimal changes required. Hydra와 Lightning Fabric을 사용하여 딥러닝 학습 코드 template을 만들었다. 예시를 위해 한국어 문장 분류 데이터인 KLUE YNAT 데이터를 사용했다. 1. 설치 hydra와 lightning을 설치한다. pip install hydra-core pip install lightning 2. Conf.. neo4j docker로 배포하기 0. 들어가며 neo4j를 docker로 배포하는 방법 1. 배포 ports 7474: HTTP 7473: HTTPS 7687: Bolt Bolt is an application protocol for the execution of database queries via a database query language, such as Cypher. [url] volumes: data와 logs 디렉토리를 연결한다. 필요할 경우 import, plugins와 같은 디렉토리도 연결할 수 있다. NEO4J_AUTH: admin name과 password admin name은 neo4j를 사용해야 한다. code docker run --name myneo4j -d -p 7474:7474 -p 7473:7473 -p.. 이전 1 2 다음