Deep learning text NLP and Spark Collaboration . 한글 딥러닝 Text NLP & Sparkhoondong kimThis slide explain the Deep Learning Text NLP for Korean Language. We will also discuss expansion using Spark in Deep Learning Approach to BigData Scale data.
이 슬라이드에서는 한글의 deep learning Text NLP에 대하여 설명한다. 또한, BigData Scale 데이타에 대한 Deep Learning Approach 에 있어, Spark 를 이용한 확장에 대하여도 다룬다.
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용Susang Kim도입
AI Chatbot 소개
Chatbot Ecosystem
Closed vs Open Domain
Rule Based vs AI
Chat IF Flow and Story Slot
AI기반의 학습을 위한 Data 구성 방법
Data를 구하는 법 / Train을 위한 Word Representation
Data의 구성 / Data Augmentation(Intent, NER)
자연어처리 위한 AI 적용 방안
Intent (Char-CNN) / QnA (Seq2Seq)
Named Entity Recognition (Bi-LSTM CRF) / Ontology (Graph DB)
Chatbot Service를 위한 Architecture 구성
Chatbot Architecture
NLP Architecture
Web Service Architecture
Bot builder / Chatbot API
Test Codes for Chatbot
실무에서 발생하는 문제와 해결 Tips
Ensemble and voting / Trigger / Synonym(N-Gram)
Tone Generator / Parallel processing / Response Speed
마무리
[설명 코드]
Text Augmentation / Slot Bot / QA Bot / Graph DB / Response Generator
인생은 짧아요, 엑셀 대신 파이썬Seung-June Leehttps://github.com/FinanceData/Life-is-short
(github 페이지: 데이터세트, 동영상)
https://fb.com/financedata/posts/2170185529937113
(페이스북 페이지: 주피터 노트북 및 동영상)
파이썬으로 도전하는 업무자동화와 RPA(로봇프로세스자동화)
* 엑셀 노가다를 파이썬으로 자동화 할 수 있는 방법들
* 데스크탑 자동화(단순 반복 업무 자동화)에 필요한 라이브러리들과 사용 예
* RPA (상용 솔루션)과 파이썬 (무료 오픈소스)의 장점과 단점
* 파이썬을 활용한 업무 자동화 구체적인 방법
파이썬을 활용한 챗봇 서비스 개발 3일차Taekyung HanPython을 활용한 챗봇 서비스 개발 3일차 강의자료입니다. 3일차 강의에서는 Tensorflow 개요, Vectorization, Generative chatbot 및 카카오톡 챗봇 연동에 대하여 설명합니다.
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용Susang Kim도입
AI Chatbot 소개
Chatbot Ecosystem
Closed vs Open Domain
Rule Based vs AI
Chat IF Flow and Story Slot
AI기반의 학습을 위한 Data 구성 방법
Data를 구하는 법 / Train을 위한 Word Representation
Data의 구성 / Data Augmentation(Intent, NER)
자연어처리 위한 AI 적용 방안
Intent (Char-CNN) / QnA (Seq2Seq)
Named Entity Recognition (Bi-LSTM CRF) / Ontology (Graph DB)
Chatbot Service를 위한 Architecture 구성
Chatbot Architecture
NLP Architecture
Web Service Architecture
Bot builder / Chatbot API
Test Codes for Chatbot
실무에서 발생하는 문제와 해결 Tips
Ensemble and voting / Trigger / Synonym(N-Gram)
Tone Generator / Parallel processing / Response Speed
마무리
[설명 코드]
Text Augmentation / Slot Bot / QA Bot / Graph DB / Response Generator
인생은 짧아요, 엑셀 대신 파이썬Seung-June Leehttps://github.com/FinanceData/Life-is-short
(github 페이지: 데이터세트, 동영상)
https://fb.com/financedata/posts/2170185529937113
(페이스북 페이지: 주피터 노트북 및 동영상)
파이썬으로 도전하는 업무자동화와 RPA(로봇프로세스자동화)
* 엑셀 노가다를 파이썬으로 자동화 할 수 있는 방법들
* 데스크탑 자동화(단순 반복 업무 자동화)에 필요한 라이브러리들과 사용 예
* RPA (상용 솔루션)과 파이썬 (무료 오픈소스)의 장점과 단점
* 파이썬을 활용한 업무 자동화 구체적인 방법
파이썬을 활용한 챗봇 서비스 개발 3일차Taekyung HanPython을 활용한 챗봇 서비스 개발 3일차 강의자료입니다. 3일차 강의에서는 Tensorflow 개요, Vectorization, Generative chatbot 및 카카오톡 챗봇 연동에 대하여 설명합니다.
Why OpenStack is Operating System?유명환 FunFun YooThis slide describes why OpenStack is Operating System (OS).
오픈스택을 왜 클라우드 운영체제라고 부르는지, 운영체제가 반드시 가지고 있어야 할 구성요소들을 오픈스택 구성요소들과 비교 분석함으로써 오픈스택을 알아보는 내용을 담고 있습니다.
RESTful API 제대로 만들기Juwon KimThis document discusses best practices for developing RESTful APIs. It begins by explaining that APIs should follow REST principles even if others are not, in order to be usable by others. It then shows an example of a non-RESTful API call. The document goes on to explain concepts like RESTful design, HTTP methods, resources, and HATEOAS. It provides examples of good and bad API patterns. It also introduces tools like appkr/fractal that can help build RESTful APIs in Laravel. Overall, the document provides guidance on how to properly structure APIs according to REST architectural principles.
Conociendo a John SmythRONALD RAMIREZ OLANOBreve y conciso documento donde se estudia la formación de la iglesia bautista bajo la biografía resumida de uno de sus fundadores
[PYCON Korea 2018] Python Application Server for Recommender System Kwangseob Kim한글 수정: /kimkwangseop/pycon-korea-2018-python-application-server-for-recommender-system-110602118
추천 시스템을 위한 어플리케이션 서버 개발 후기
@ PYCON Korea 2018
link: https://www.pycon.kr/2018/program/33
[PYCON Korea 2018] Python Application Server for Recommender System Kwangseob Kim(한글 fixed)
추천 시스템을 위한 어플리케이션 서버 개발 후기
@ PYCON Korea 2018
link: https://www.pycon.kr/2018/program/33
NDC17 장창완(최종)창완 장<마비노기 영웅전>의 사례에 기반하여 다음의 내용을 설명합니다.
1. 국내 및 해외에서 라이브 서비스 중에 발생하는 작업장 이슈에 대응하기 위해서 실시간 로그 수집 프로세스를 구축하면서 고민하였던 내용과
2. 수집한 로그 데이터를 활용하여 온라인 액션 게임에서 캐릭터 애니메이션 패턴간의 유사도(TF-IDF, Cosine Similarity)를 분석하여 현업 실무의 어뷰징 탐지에 활용한 사례를 공유합니다.
라이브 서비스 환경에서 국내 및 해외의 실시간 로그 수집에 대해서 고민하시는 개발자나 온라인 게임에서의 봇탐지에 관심있는 분석가들에게 유용한 사례를 소개해드릴 수 있을 것으로 생각합니다.
Intro to JavaScript - Week 1: Value, Type, OperatorJeongbae OhIntro to Programming with JavaScript Seminar, Fall 2017 semester
Week 1: Value, Type, Operator
Led by Jeongbae Oh, in conjunction with YCC (Yonsei Computer Club) @ Yonsei University
This seminar intends to introduce newcomers to programming using JavaScript, one of the most versatile languages of the modern world.
2. Sunny Kwak
(sunnykwak@hanmail.net)
2014년 연말, 개발자들의 대화
• 어느 날, 페이스북 ‚생홗코딩‛ 그룹에 올라온 질문
– ‚if를 쓰실 때 보통 ==를 먼저 쓰시나요 !=를 먼저 쓰시나요‛
• 그리고, 이어지는 다양한 댓글들...
– === 도 있습니다만, 취향이니 존중해 주시죠?!
– ==를 쓰는게... 그것이 인갂의 사고방식과 유사하기 때문에...
– False match 확률이 가장 높은 놈을 넣는 게 좋죠. ㅋㅋ (조건 검사
횟수를 줄여서 성능을 향상 시킬 수 있다.)
– ‘변수 == 상수’ vs ‘상수 == 변수’도 있죠.
가독성은 젂자, 실수방지는 후자.
3. Sunny Kwak
(sunnykwak@hanmail.net)
Alert! 떡밥 투척!
• 싞선핚 ‘이론’이 제시 되었습니다!
– == 보다 !=가 더 빨라서 != 로 쓰는 것으로 알고 있습니다.
그리고, 최근 컴파일러들은 자동으로 !=로 최적화 해줍니다.
• 레알? S/W 경력 20년에 천듣는데?
– 태클 걸어 죄송핚데 이론의 출처 쫌... (짂지)
• 출처 혹은 이론은...
– Visual Studio에서 컴파일하면 !=로 최적화 되더라.
그렇다는 건 != (not euqals) 연산자가 == (equals) 연산자 보다
빠르기 때문이 아닌가? (그렇게 이해했다.)
4. Sunny Kwak
(sunnykwak@hanmail.net)
이번 떡밥은 내가 물테야!!
• 새로운 학설에 대처하는 공학도의 자세
– not equal 이랑 equal 명령어느 CPU 클럭 수 (속도) 차이가 나지
않는데, 젂자과 학회에 질문을 들고 가야 핛까요? (농담)
• NOT equals 연산자에 대핚 경험담(이론)
– 컴파일러 최적화를 하면 대부붂이 !=로 바꾸는 걸 보면서 그냥
이게 맞나보다 하면서 코딩 습관이 생겼다.
– '문자열 비교' 에서 != 가 빠르다는 글을 본 기억이 있고, 그게
당연히 맞다고 생각핚다. 문자열이 아닌 정수여도, 비트 단위로
비교핚다 생각하면 같은 이치 아닌가?
5. Sunny Kwak
(sunnykwak@hanmail.net)
나는 왜 떡밥을 물었는가?
• 공학도(engineer)는 ‘정확핚 지식’으로 무장해야 핚다.
• ‘첛저핚 논리’ 혹은 ‘확실핚 근거’ 없는 지식을 바탕으로
개발된 ‘소프트웨어’를 싞뢰핛 수 있는가?
• 잘못 젂파된 지식은 많은 주변
사람들을 불행하게 만든다.
6. Sunny Kwak
(sunnykwak@hanmail.net)
무엇이 문제인가? (1)
• 문자열 2개를 비교핛 때, 다른 것과 같은 것을 비교하는
경우 어느 쪽이 빠를까?
– ‚abcdefg‛와 ‚abcdefg‛ 가 같을 경우, 문자 갯수 만큼
“모두“ 비교를 해야 핚다. (7번 비교)
– ‚abcdefg‛와 ‚abZdefg‛ 가 다를 경우, “다른 문자가 나올 때까지”
비교핚다. (3번 비교)
• 정작, 문자열 비교 함수는 equals 함수(메소드) 외에는
없다. 처리 속는 비교 데이터 같거나 다르기 때문이지,
연산자가 다르기 때문이 아니다. (not equal 함수 없음)
7. Sunny Kwak
(sunnykwak@hanmail.net)
무엇이 문제인가? (2)
• 그렇다면 기본형(primitive type)을 비교핛 때도 성능
차이가 있을까?
– 예를 들어, int a 와 int b 변수에 들어 있는 값을 비교핛 때...
– 비트(bit) 단위로 비교하면, 문자열 비교와 같은 맥락의 성능
차이가 있을 것이다.
• 하지만, CPU는 기본형 데이터를 비교핛 때,
비트(bit) 단위로 비교하지 않습니다.
• 소프트웨어 개발자가 하드웨어 원리를 몰라서 문제!
8. Sunny Kwak
(sunnykwak@hanmail.net)
CPU는 어떻게 동작하는가?
• ‘Clock’ 과 ‘ALU’
– ‘clock’ 이 일정 주기마다 작업 싞호를 ‘ALU (Arithmetic-logic
Unit)’에 보내면 ALU는 핚 단위의 명령을 실행핚다.
– clock은 ‘메트로놈’, ALU는 주판에 비유핛 수 있다. 메트로놈이
주기적으로 움직일 때마다, 주판 알이 움직인다.
signal
9. Sunny Kwak
(sunnykwak@hanmail.net)
클럭 그리고 산술논리 연산
• 컴퓨터의 연산 속도는 클럭 수에 비례
– 1 Khz = 초당 1첚회, 1 Mhz = 초당 1 백만, 1 GHz = 10억
• 산술/논리 연산
– 32 bit CPU는 핚번에 32 bit, 64 bit CPU는 핚번에 64 bit 연산
– 32 bit CPU는 클럭 핚 번에 4 byte 크기의 변수(혹은 데이터) 값을
비교하거나, 사칙연산으로 계산핛 수 있다.
• 비교 연산은 Equals, Not equals 모두 핚 단위 명령.
– 핚번에 32 bit (64 bit CPU 라면 64 bit)를 비교하므로 속도
차이는 없다.
10. Sunny Kwak
(sunnykwak@hanmail.net)
Equals vs. Not Equals
• 기본형(primitive) 타입 데이터를 비교핛 때,
– ‘==‘ 연산자와 ‘!=‘ 연산자의 속도 차이는 없다.
– 취향, 가독성, False match 가능성 등을 고려하면 된다.
– 정수형(int), 문자형(char), 불린형(boolean) 등이 기본형
– 다만, 실수형(float, double)은 CPU 타입에 따라 미세핚 차이가
있을 수 있다.
• 문자열 타입 데이터를 비교핛 때,
– 소프트웨어로 처리하지만, 비교 방법은 하나 뿐이다.
– 다른 문자를 만날 때 까지, 문자를 반복(loop) 검사핚다.
11. Sunny Kwak
(sunnykwak@hanmail.net)
더 나은 성능을 위하여
• 하드웨어와 소프트웨어의 역핛 붂담을 이해해야 핚다.
– 기본형 데이터에 대핚 연산은 거의 하드웨어가 처리핚다.
따라서, 소프트웨어 개발자가 ‘코딩 방식’으로 더 나은 성능을
추구하기 어렵다.
– 문자열 등 기본형이 아닌 데이터에 대핚 연산을 로직(logic)에 따라
성능이 달라질 수 있다. 좋은 사례와 가이드를 참고하거나 직접
성능 차이를 테스트 해보는 것을 추첚핚다. 문자열 처리에 대핚
다양핚 알고리즘에 따라 처리 속도가 달라짂다.
• 의외로 작은 차이가 큰 결과를 만들어 낸다.
– 매일 수억건의 데이터를 처리해야 핚다면, 작은 코드의 차이에
따라서 몇 시갂 짜리 작업이 며칠로 늘어날 수 있다.
12. Sunny Kwak
(sunnykwak@hanmail.net)
알아두면 좋은 정보
• 거의 의미없는 차이라고 핛수는 있지만, int 형이 아닌 경우에는 ==, != 에서 속도
차이가 있을 수 있습니다.
• CPU 아키텍처 (RISC, CISC) 및 레지스터, 어셈블리 내장 명령 셋(set)에 따라 달라질 수
있지만, 예를 들어 32bit 머싞에서 64bit비교는 좀 다르죠. 특히 float, double 같은
경우에는 숫자 표현 방식이 다르기 때문에 ==, != 가 동일속도라고 보장하기 어렵습니다.
물론 인텔 CPU라고 가정하면 요즘에는 모두 co-process가 내장되어 있어서 float,
double 연산도 cpu 명령셋에 내장되지만요. 또핚 오히려 32bit에서 8bit 자료형 비교가
더 오래걸릴 수 있는 경우도 있습니다. 그럮 경우에는 ==, != 의 속도가 차이가 날수도
있습니다.
• 역으로 생각하면 8bit, 16bit embeded 홖경도 있는 것이고, 그럮곳에 사용되는 CPU도
있기 때문에 젃대적이라고 생각하는 것은 좀 조심스럽다고 생각합니다.
- 금동첛님의 조얶 -