분류 전체보기
-
AI와 자연어 처리 분야 같은 경우는 최신 기술이나 최신 연구 내용이 정말 중요한데요. 계속 새로운 SOTA(State-of-the-art) 알고리즘이 나오고 있고, 내가 열심히 사용한 알고리즘보다 성능이 뛰어난 알고리즘이 나온다면 지금 짜고 있는 코드가 무용지물 될 수도 있기 때문이에요. 1. 인공지능 최신 논문 찾기 1) top conference 확인하기 찾고 싶은 주제와 top conference를 검색해 봅니다. "GAN top conference"를 검색해보니 유명 학회의 논문들이 나옵니다. 좀 더 자세한 주제를 검색할 수도 있고 끝에 년도를 붙어 해당 년도에 발표된 논문을 찾아볼 수도 있어요. AI 관련 Top Conference(최우수 학회) 로는 - NIPS (GAN이 처음 발표되었던 학..
[AI 논문] 인공지능 최신 논문 찾아보기 / SOTA 알고리즘 찾아보기AI와 자연어 처리 분야 같은 경우는 최신 기술이나 최신 연구 내용이 정말 중요한데요. 계속 새로운 SOTA(State-of-the-art) 알고리즘이 나오고 있고, 내가 열심히 사용한 알고리즘보다 성능이 뛰어난 알고리즘이 나온다면 지금 짜고 있는 코드가 무용지물 될 수도 있기 때문이에요. 1. 인공지능 최신 논문 찾기 1) top conference 확인하기 찾고 싶은 주제와 top conference를 검색해 봅니다. "GAN top conference"를 검색해보니 유명 학회의 논문들이 나옵니다. 좀 더 자세한 주제를 검색할 수도 있고 끝에 년도를 붙어 해당 년도에 발표된 논문을 찾아볼 수도 있어요. AI 관련 Top Conference(최우수 학회) 로는 - NIPS (GAN이 처음 발표되었던 학..
2020.12.28 -
이번 시간은 파이썬 '클래스'와 '언더스코어(_)'에 대한 개념을 짚고 넘어가보려고 합니다. 파이썬의 클래스 사실 C언어처럼 파이썬은 굳이 클래스가 없어도 프로그램을 충분히 만들 수 있다고 합니다. 왜 사용할까? # order.py customer1 = 0 def order(price): global customer1 customer1 += price return customer1 print(order(3000)) print(order(5000)) # 결과 3000 8000 고객의 누적 주문금액을 반환하는 order()라는 함수가 있다고 해봅시다. 먼저 고객이 1명일때는 이렇게 함수를 1개만 구현하면 되겠죠. 근데 고객이 3명이라면?,, # order.py customer1 = 0 customer2 = ..
[Python] Class & Underscore( _ , __ )이번 시간은 파이썬 '클래스'와 '언더스코어(_)'에 대한 개념을 짚고 넘어가보려고 합니다. 파이썬의 클래스 사실 C언어처럼 파이썬은 굳이 클래스가 없어도 프로그램을 충분히 만들 수 있다고 합니다. 왜 사용할까? # order.py customer1 = 0 def order(price): global customer1 customer1 += price return customer1 print(order(3000)) print(order(5000)) # 결과 3000 8000 고객의 누적 주문금액을 반환하는 order()라는 함수가 있다고 해봅시다. 먼저 고객이 1명일때는 이렇게 함수를 1개만 구현하면 되겠죠. 근데 고객이 3명이라면?,, # order.py customer1 = 0 customer2 = ..
2020.12.18 -
이전글한국어 데이터 전처리 이전 포스팅에서 텍스트 데이터의 전처리에 관한 내용을 살펴보았는데요. 그 다음 스텝은 자연어 처리를 위한 필수 코스 바로 '임베딩'입니다. 오늘은 임베딩에 대해서 정리해 볼거에요. 임베딩(embedding) 이란?자연어를 컴퓨터가 이해할 수 있으려면 자연어를 수치화 해야합니다. 자연어(영어, 한국어, 중국어...)를 수치화 한 것으로 벡터로 표현하는 것을 말하고 '임베딩'은 그 과정까지 모두 포함하는 단어이다. 'embed'는 한국어로 '끼워 넣는다'라는 의미이고, 자연어를 벡터 공간에 끼워 넣는다는 취지로 embedding이라는 용어가 생겨났다고 합니다. 사진 출처 자연어를 왜 벡터로 바꾸어야 할까요? 컴퓨터는 '언어'를 이해하지 못합니다. 우리가 프로그래밍 언어로 코드를 짜..
[NLP] 자연어처리 - 한국어 임베딩이전글한국어 데이터 전처리 이전 포스팅에서 텍스트 데이터의 전처리에 관한 내용을 살펴보았는데요. 그 다음 스텝은 자연어 처리를 위한 필수 코스 바로 '임베딩'입니다. 오늘은 임베딩에 대해서 정리해 볼거에요. 임베딩(embedding) 이란?자연어를 컴퓨터가 이해할 수 있으려면 자연어를 수치화 해야합니다. 자연어(영어, 한국어, 중국어...)를 수치화 한 것으로 벡터로 표현하는 것을 말하고 '임베딩'은 그 과정까지 모두 포함하는 단어이다. 'embed'는 한국어로 '끼워 넣는다'라는 의미이고, 자연어를 벡터 공간에 끼워 넣는다는 취지로 embedding이라는 용어가 생겨났다고 합니다. 사진 출처 자연어를 왜 벡터로 바꾸어야 할까요? 컴퓨터는 '언어'를 이해하지 못합니다. 우리가 프로그래밍 언어로 코드를 짜..
2020.10.30 -
한국어는 너무 어렵다. 띄어쓰기 차이, 한 글자 차이 등으로 의미가 달라진다. 많은 자연어 처리 책이나 논문등에서 영어에 대한 전처리 기법은 많지만 한국어에 대한 전처리 및 임베딩이 약했습니다. 하지만 최근에는 오픈프로젝트나 개인이 라이브러리나 오픈소스를 개발해주셔서..! 많이 좋아졌습니다. 데이터 전처리? 텍스트 데이터 관련 신경망 모델을 만들어야 한다. 일단 그러면 많은 양의 텍스트, 즉 코퍼스(Corpus)가 필요할 것이다. 크롤링이나 오픈 데이터 등을 통해 일단 얻는다. 하지만 띄어쓰기가 잘못되 있는 것도 있을 것이고, 맞춤법이 틀린 것도 있을 것이다. 이렇게 사소한 차이도 임베딩 벡터로 보면 큰 차이일 수 있기 때문에 처음에 전처리를 잘하는 것이 중요하다. 그래서 오늘은 한국어 전용 텍스트 전처..
[NLP] 자연어처리 - 한국어 전처리를 위한 기법들한국어는 너무 어렵다. 띄어쓰기 차이, 한 글자 차이 등으로 의미가 달라진다. 많은 자연어 처리 책이나 논문등에서 영어에 대한 전처리 기법은 많지만 한국어에 대한 전처리 및 임베딩이 약했습니다. 하지만 최근에는 오픈프로젝트나 개인이 라이브러리나 오픈소스를 개발해주셔서..! 많이 좋아졌습니다. 데이터 전처리? 텍스트 데이터 관련 신경망 모델을 만들어야 한다. 일단 그러면 많은 양의 텍스트, 즉 코퍼스(Corpus)가 필요할 것이다. 크롤링이나 오픈 데이터 등을 통해 일단 얻는다. 하지만 띄어쓰기가 잘못되 있는 것도 있을 것이고, 맞춤법이 틀린 것도 있을 것이다. 이렇게 사소한 차이도 임베딩 벡터로 보면 큰 차이일 수 있기 때문에 처음에 전처리를 잘하는 것이 중요하다. 그래서 오늘은 한국어 전용 텍스트 전처..
2020.10.22 -
자바스크립트의 비동기를 다루는 async/await 콜백함수의 콜백지옥을 탈출하게 해주는 Promise, 그리고 또 Promise의 단점을 보완해주는 async/await. async/await은 Promise와 다른 개념이 아니고 Promise를 사용하는 패턴이니 Promise의 이해가 선행되어야 합니다. Promise 포스팅 참고하기 인간의 욕심은 끝이 없고 보완의 보완을 거듭하는 패턴은 계속 나옵니다. 현재 비동기 연산을 다루는 패턴 중 가장 쉽게 접근할 수 있는 방법인 async/await는 비동기 처리의 꽃 이라고 할 수 있습니다. 왜 callback, promise로도 비동기 처리가 가능한데, async/await까지 알아야 할까요? 가장 큰 이유는 여전히 Promise도 가독성이 썩 좋지 않..
[NodeJS] 자바스크립트 비동기 연산을 다루는 async/await자바스크립트의 비동기를 다루는 async/await 콜백함수의 콜백지옥을 탈출하게 해주는 Promise, 그리고 또 Promise의 단점을 보완해주는 async/await. async/await은 Promise와 다른 개념이 아니고 Promise를 사용하는 패턴이니 Promise의 이해가 선행되어야 합니다. Promise 포스팅 참고하기 인간의 욕심은 끝이 없고 보완의 보완을 거듭하는 패턴은 계속 나옵니다. 현재 비동기 연산을 다루는 패턴 중 가장 쉽게 접근할 수 있는 방법인 async/await는 비동기 처리의 꽃 이라고 할 수 있습니다. 왜 callback, promise로도 비동기 처리가 가능한데, async/await까지 알아야 할까요? 가장 큰 이유는 여전히 Promise도 가독성이 썩 좋지 않..
2020.10.20 -
▒ 코딩테스트 공부 방법 1. codeup 기초 100제로 기초를 다지고 사용할 언어에 익숙해지도록 한다. 2. 백준온라인 저지 단계별, 유형별 문제를 푼다. 배열, 문자열, 정렬, 브루트포스(완전탐색), 재귀, 백트래킹, 동적계획법, bfs/dfs 등의 유형에 익숙해진다. -완전탐색(재귀나 백트래킹으로)->시뮬레이션->그래프(위상정렬, 다익스트라..)->최소신장유니온트리(유니온파인드 등)->심화문제(스택으로 라인스위핑 같은)->DP, dp는 코딩테스트에 나오면 완죠니 어렵게 나온다고 한다. 3. 프로그래머스 코딩테스트 고득점 kit를 푼다. 유형별 4~7문제를 풀며 자주 나오는 유형을 익힌다. 4. 프로그래머스 스킬체크 주어진 시간내에 2문제를 풀고, 나의 실력을 파악한다. 레벨3정도면 웬만한 코딩테스..
[알고리즘] 완전탐색 문제풀이 _ 파이썬▒ 코딩테스트 공부 방법 1. codeup 기초 100제로 기초를 다지고 사용할 언어에 익숙해지도록 한다. 2. 백준온라인 저지 단계별, 유형별 문제를 푼다. 배열, 문자열, 정렬, 브루트포스(완전탐색), 재귀, 백트래킹, 동적계획법, bfs/dfs 등의 유형에 익숙해진다. -완전탐색(재귀나 백트래킹으로)->시뮬레이션->그래프(위상정렬, 다익스트라..)->최소신장유니온트리(유니온파인드 등)->심화문제(스택으로 라인스위핑 같은)->DP, dp는 코딩테스트에 나오면 완죠니 어렵게 나온다고 한다. 3. 프로그래머스 코딩테스트 고득점 kit를 푼다. 유형별 4~7문제를 풀며 자주 나오는 유형을 익힌다. 4. 프로그래머스 스킬체크 주어진 시간내에 2문제를 풀고, 나의 실력을 파악한다. 레벨3정도면 웬만한 코딩테스..
2020.10.06 -
▒ 코딩테스트 공부 방법 1. codeup 기초 100제로 기초를 다지고 사용할 언어에 익숙해지도록 한다. 2. 백준온라인 저지 단계별, 유형별 문제를 푼다. 배열, 문자열, 정렬, 브루트포스(완전탐색), 재귀, 백트래킹, 동적계획법, bfs/dfs 등의 유형에 익숙해진다. -완전탐색(재귀나 백트래킹으로)->시뮬레이션->그래프(위상정렬, 다익스트라..)->최소신장유니온트리(유니온파인드 등)->심화문제(스택으로 라인스위핑 같은)->DP, dp는 코딩테스트에 나오면 완죠니 어렵게 나온다고 한다. 3. 프로그래머스 코딩테스트 고득점 kit를 푼다. 유형별 4~7문제를 풀며 자주 나오는 유형을 익힌다. 4. 프로그래머스 스킬체크 주어진 시간내에 2문제를 풀고, 나의 실력을 파악한다. 레벨3정도면 웬만한 코딩테스..
[알고리즘] BFS/DFS 문제 풀이 _ 파이썬▒ 코딩테스트 공부 방법 1. codeup 기초 100제로 기초를 다지고 사용할 언어에 익숙해지도록 한다. 2. 백준온라인 저지 단계별, 유형별 문제를 푼다. 배열, 문자열, 정렬, 브루트포스(완전탐색), 재귀, 백트래킹, 동적계획법, bfs/dfs 등의 유형에 익숙해진다. -완전탐색(재귀나 백트래킹으로)->시뮬레이션->그래프(위상정렬, 다익스트라..)->최소신장유니온트리(유니온파인드 등)->심화문제(스택으로 라인스위핑 같은)->DP, dp는 코딩테스트에 나오면 완죠니 어렵게 나온다고 한다. 3. 프로그래머스 코딩테스트 고득점 kit를 푼다. 유형별 4~7문제를 풀며 자주 나오는 유형을 익힌다. 4. 프로그래머스 스킬체크 주어진 시간내에 2문제를 풀고, 나의 실력을 파악한다. 레벨3정도면 웬만한 코딩테스..
2020.09.10 -
알고리즘 문제를 푸는데 자꾸 헷갈리는 파이썬 개념과 메소드들을 정리하려고 한다. 파이썬 자료형 종류와 차이점 - 리스트, 튜플, 딕셔너리 리스트 a = [1,2,3,4] b = [1,2,[a,b]] 변수를 여러개 저장할 수 있는 자료구조 중 대표적인 것. 반복문을 통해 데이터 관리가 가능하고 다양한 모양으로 생성할 수 있다. 정수와 문자를 섞어 넣는다던지, 리스트 안에 리스트를 넣는다던지 튜플 a = (1,2,3) b = (1,) c = 1,2,3 d = ('a','b',('c','d')) 리스트와 거의 유사하나 차이점은 1개의 요소만을 가질 때 반드시 , 붙여주어야 하고 괄호 생략해도 무방하다는 점 또, 요소의 값을 변경하거나 지울 수 없다. 대신 리스트보다 빠르다. 수정할 필요가 없는 리스트는 튜플로..
[Python] list, tuple, dictionary, iterator(map, filter)알고리즘 문제를 푸는데 자꾸 헷갈리는 파이썬 개념과 메소드들을 정리하려고 한다. 파이썬 자료형 종류와 차이점 - 리스트, 튜플, 딕셔너리 리스트 a = [1,2,3,4] b = [1,2,[a,b]] 변수를 여러개 저장할 수 있는 자료구조 중 대표적인 것. 반복문을 통해 데이터 관리가 가능하고 다양한 모양으로 생성할 수 있다. 정수와 문자를 섞어 넣는다던지, 리스트 안에 리스트를 넣는다던지 튜플 a = (1,2,3) b = (1,) c = 1,2,3 d = ('a','b',('c','d')) 리스트와 거의 유사하나 차이점은 1개의 요소만을 가질 때 반드시 , 붙여주어야 하고 괄호 생략해도 무방하다는 점 또, 요소의 값을 변경하거나 지울 수 없다. 대신 리스트보다 빠르다. 수정할 필요가 없는 리스트는 튜플로..
2020.09.06