분류 전체보기
-
[CV+NLP] Show and Tell: A Neural Image Caption Generator 논문 리뷰Paper Review 2021. 7. 5. 01:56
논문과 구글링해서 얻은 내용을 정리한 글 입니다. 1. Introduction 이미지의 컨텐츠를 영어 문장을 사용해 자동으로 설명하는 '이미지 캡셔닝(image captioning)' 문제를 다룬다. 이미지 캡셔닝은 기계 번역 문제에서 영감을 얻었다. 기계 번역 문제는 source 언어로 쓰인 문장(S)을 target 언어로 번역된 문장(T)으로 변환하며 이때 p(T|S)를 최대화함으로써 해결한다. 예를 들어, 기계 번역 모델 중 하나인 seq2seq 모델은 encoder RNN이 source 문장(S)을 입력으로 받아 고정 길이 벡터 표현으로 변환한다. 그리고 변환된 벡터 표현은 target 문장(T)을 생성하는 decoder RNN의 입력으로 사용된다. seq2seq의 구조는 아래와 같다. 본 논문에..
-
[Django] Pythonanywhere 사용하여 웹 호스팅하기Web Programming/Django 2021. 6. 19. 13:00
[Django] Pythonanywhere 사용하여 웹 호스팅 하기 최근에 간단한 웹 페이지를 만들어 웹 호스팅 한 적이 있다. 난 지금까지 웹 페이지만 만들어봤지 호스팅 해보는 것은 처음이라 호스팅 과정을 기록하고자 한다. 무료 호스팅 사이트를 찾아보다가 Pythonanywhere가 간단해 보여서 사용하기로 결정했다. 참고한 사이트는 https://tutorial-extensions.djangogirls.org/ko/manual_pythonanywhere_deploy 이곳이다. 먼저 settings.py에서 다음과 같은 설정을 한다. DEBUG = False ALLOWED_HOSTS = [ '.pythonanywhere.com' ] ALLOWED_HOSTS에 pythonanywhere에 가입한 '아이디..
-
[Python] 데이터프레임 중복 행, 중복 열 제거알.쓸.코드/알.쓸.파.코(알아두면 쓸데있는 파이썬 코드) 2021. 6. 18. 10:43
[Python] 데이터프레임 중복 행, 중복 열 제거 데이터프레임의 규모가 큰 경우 미처 확인하지 못 한 중복된 행과 열이 있을 수 있다. 이를 해결하는 방법으로 duplicated와 drop_duplicates을 적용하면 쉽게 해결 가능하다. 먼저 행과 열이 중복되는 간단한 데이터프레임을 생성한다. data_frame=pd.DataFrame({'col1':['A', 'B', 'C', 'A', 'B', 'B'], 'col2':[1,2,3,1,2,4], 'col3':[1,2,3,1,2,4]}) 생성된 데이터프레임은 다음과 같다. 데이터프레임의 0번째 행과 3번째 행이 중복되고 1번째 행과 4번째 행이 중복된다. 그리고 중복되는 컬럼은 'col2'와 'col3'이 중복된다. data_frame 먼저 중복..
-
[Python] JSON 파일(.json) 저장하고 불러오기알.쓸.코드/알.쓸.파.코(알아두면 쓸데있는 파이썬 코드) 2021. 6. 14. 14:20
[Python] JSON 파일(.json) 저장하고 불러오기 JSON 파일 저장하기 python의 딕셔너리(dictionary) 객체를 생성한다. 이 딕셔너리는 국가 코드를 key로 가지고 국가 코드에 대한 국가의 한글 이름을 value로 가진다. oecd_cnty={'AUS': '오스트레일리아', 'AUT': '오스트리아', 'BEL': '벨기에', ...} 이 딕셔너리를 json 파일로 저장하기 위해 경로를 설정해준다. file_path='oecd_cnty.json' 다음은 딕셔너리를 file_path에 맞게 .json 파일로 저장하는 코드이다. with open(file_path, 'w'..
-
[Django] AJAX 사용해서 데이터 주고 받기Web Programming/Django 2021. 6. 13. 15:57
[Django] AJAX 사용해서 데이터 주고 받기 공부한 내용을 기록하는 글입니다. 잘못된 내용을 알려주시면 감사하겠습니다. AJAX란? AJAX는 Asynchronous JavaScript and XML의 약자로 웹 페이지를 비동기적으로 업데이트할 수 있도록 해주는 기술이다. 즉, 페이지의 아주 적은 부분만 변경되는 경우 브라우저는 전체 페이지를 다시 로드할 필요가 없다. 브라우저에 내장된 XMLHttpRequest 객체를 사용하여 웹 서버로부터 데이터를 요청할 수 있다. JavaScript와 HTML DOM을 사용해서 받은 데이터를 보여주거나 사용할 수 있다. AJAX를 사용하면 좋은 점? AJAX는 필요한 데이터만을 웹 서버에 요청해서 받은 후 클라이언트에서 데이터에 대한 처리를 할 수 있다. =..
-
한국어 전처리 패키지Natural Language Processing/딥 러닝을 이용한 자연어 처리 입문 2021. 5. 18. 16:32
https://wikidocs.net/92961 참고하여 공부한 내용 정리 10) 한국어 전처리 패키지 1. PyKoSpacing PyKoSpacing은 한국어 띄어쓰기 패키지, 띄어쓰기 딥러닝 모델 new_sent="김철수는극중두인격의사나이이광수역을맡았다.철수는한국유일의태권도전승자를가리는결전의날을앞두고10년간함께훈련한사형인유연재(김광수분)를찾으러속세로내려온인물이다." from pykospacing import spacing kospacing_sent=spacing(new_sent) print(kospacing_sent) 김철수는 극중 두 인격의 사나이 이광수 역을 맡았다. 철수는 한국 유일의 태권도 전승자를 가리는 결전의 날을 앞두고 10년간 함께 훈련한 사형인 유연재(김광수 분)를 찾으러 속세로 내려..
-
원-핫 인코딩 (One-hot Encoding)Natural Language Processing/딥 러닝을 이용한 자연어 처리 입문 2021. 5. 18. 14:18
https://wikidocs.net/22647 참고하여 공부한 내용 정리 08) 원-핫 인코딩 (One-hot Encoding) 단어 집합(vocabulary): 서로 다른 단어들의 집합, 여기에서 book과 books를 다른 단어로 간주함 원-핫 인코딩을 위해 먼저 해야하는 일은 단어 집합을 만드는 일. 그리고 단어 집합에 고유한 숫자를 부여하는 정수 인코딩을 진행함 1. 원-핫 인코딩(One-hot Encoding) 이란? 원-핫 인코딩은 단어 집합의 크기를 벡터의 차원으로 하고 표현하고 싶은 단어의 인덱스에 1 값을 부여하고 나머지 인덱스에 0을 부여하는 단어의 벡터 표현 방식임 원-핫 인코딩 과정 (1) 각 단어에 고유한 인덱스 부여(정수 인코딩) (2) 표현하고 싶은 단어의 인덱스 위치에 1 ..
-
패딩(Padding)Natural Language Processing/딥 러닝을 이용한 자연어 처리 입문 2021. 5. 18. 13:38
https://wikidocs.net/83544 참고하여 공부한 내용 정리 07) 패딩(Padding) 병렬 연산을 위해 여러 문장의 길이를 임의로 동일하게 맞춰주는 작업이 필요함 1. Numpy 로 패딩하기 import numpy as np from tensorflow.keras.preprocessing.text import Tokenizer 정수 인코딩 진행 tokenizer=Tokenizer() tokenizer.fit_on_texts(sentences) # sentences는 이전 데이터 사용 텍스트 시퀀스의 모든 단어들을 각 정수에 매핑 후 출력 encoded=tokenizer.texts_to_sequences(sentences) print(encoded) [[1, 5], [1, 8, 5], [..