본문 바로가기

전체 글64

(Python) 약수 구하기.(시간 복잡도:$O(\sqrt{n})$) 코딩테스트 문제를 풀다보면 어떤 수의 모든 약수를 구해야 할 때가 있다. 아주 간단하게 어떤 수의 약수를 구하는 알고리즘을 알아보자.추가로, 약수를 정렬된 순서로 리턴까지 해보자. 숫자 n의 약수를 구하는 알고리즘을 소개하면 다음과 같다.(시간 복잡도:$O(\sqrt{n})$) 1 ~ $\sqrt{n}$의 범위안에 드는 자연수 i를 대상으로 루프를 돈다. 만약 n이 i로 나누어 떨어진다면, i와 n을 i로 나눈 값은 n의 약수이다. 이를 코드로 나타내면 다음과 같다. x = 100 divisor_set = set() for divisor in range(1, int(x**0.5) + 1): if x % divisor == 0: divisor_set |= {divisor, x // divisor} prin.. 2022. 12. 26.
YAKE:단일문서 키워드 추출기. 문서에서 키워드를 추출하는 것은 NLP에서 중요한 태스크중 하나이다. 그래서 오늘은 YAKE라는 키워드 추출기에 대해서 소개한다. 어떤 방식으로 키워드를 추출하는 지는 간단하게만 소개하고, 실제 사용법은 다음 글에 작성하려 한다. 논문링크 https://repositorio.inesctec.pt/server/api/core/bitstreams/ef121a01-a0a6-4be8-945d-3324a58fc944/content YAKE의 장점 많은 양의 훈련데이터에 의존하지 않고, 단일 문서만 있어도 키워드 추출이 가능하다. 다국어에서 사용이 가능하다. 정확히 말하면 언어에 구애받는 부분이 매우 적다.(언어별로 stopword만 정의해주면 된다.) 추출 단계(6단계) 텍스트 사전 처리 특징 추출 개별 용어 점.. 2022. 12. 25.
ChatGPT가 알려주는 AI지식. OPENAI의 GPT3기반 ai 챗봇 ChatGPT가 베타테스팅 중이다. https://chat.openai.com/chat ChatGPT A conversational AI system that listens, learns, and challenges chat.openai.com 위의 링크에서 테스트 해볼 수 있으나, 대기열이 많아서 접속이 어려울 수 있다. 처음에는 모델 입장에서 조금 심술궂을 수 있는 질문을 해봤다. Q. what is 10 pow 10 pow 10 pow 10 pow 10?(10의 10승의 10승의 10승의 10승이 뭐야?) A.10 to the power of 10 to the power of 10 to the power of 10 to the power of 10 is a ve.. 2022. 12. 3.
how to random masking in Huggingface. 문장에 랜덤마스킹을 하고싶은데, 어떻게 하는지 기억이 안나서 찾은김에 기록하기로 했다. 아주 간단하다. transformer에서, DataCollatorForLanguageModeling을 임포트한다. 그 뒤 사용할 토크나이저와 mlm, mlm_probability(마스킹 비율), return_tensors(리턴할 텐서 타입)을 넣어주면 끝이다. # transformer import from transformers import DataCollatorForLanguageModeling, AutoTokenizer # 토크나이저 선언 tokenizer = AutoTokenizer.from_pretrained("klue/roberta-large") # DataCollator선언. mask_datacollator.. 2022. 11. 24.