@PyCon Korea 2014
NLTK 덕에 파이썬으로 자연어처리를 하는 것이 편리해졌다. 단, 한국어만 분석하려하지 않는다면. 파이썬으로 한국어를 분석할 수는 없을까? 국문, 영문, 중문 등 다양한 문자가 섞여 있는 문서는 어떻게 분석을 할 수 있을까?
이 발표에서는 자연어처리의 기초적인 개념을 다룬 후, NLTK 등의 자연어처리 라이브러리와 한국어 분석을 위해 개발중인 KoNLPy를 소개한다. 또, 파이썬으로 한국어를 분석할 때 유용한 몇 가지 트릭을 공유한다.
http://konlpy.readthedocs.org
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
[Langcon2020]롯데의 딥러닝 모델은 어떻게 자기소개서를 읽고 있을까?ssuseraf7587
그룹사의 자기소개서 데이터를 기반으로 진행했던 연구들을 진솔하게 담았습니다. 먼저 자기소개서만으로 서류 전형 합격/불합격을 딥러닝이 구분할 수 있는지에 대해 연구했던 과정을 소개합니다. 더불어 “AI가 자기소개서를 적어줄 수 있을까?” 라는 아이디어를 가지고 Transformer 딥러닝 모델로 자기소개서 문장이 생성되는 Prototype모델을 시연합니다. 끝으로 [Ctrl+C, Ctrl+V] 자기소개서를 딥러닝 모델로 어떻게 찾는지와 오타 데이터를 검정하는 방법을 소개합니다.
Zeppelin 노트북, 화재 뉴스 기사 데이터셋:
https://github.com/uosdmlab/playdata-zeppelin-notebook
2016년 10월 14일(금)에 "마루180"서 열린 "데이터야놀자"에서 진행한 세션 "Spark & Zeppelin을 활용한 머신러닝 실전 적용기" 슬라이드입니다. 많은 분들이 빠르고 쉽게 Spark ML을 시작했으면 하는 마음에서 발표를 준비했습니다! 실제로 Spark와 Zeppelin으로 머신러닝을 하며 발생한 문제점과 해결법, 간단한 텍스트 분류 예제와 성능 향상 사례 등의 내용을 담았습니다. 세션에서는 제플린 노트북과 슬라이드를 번갈아가며 진행하였는데, 노트북이 궁금하신 분들은 GitHub에 올려두었으니 직접 실행해보세요^^ (정말 열심히 정리했습니다 ㅠㅠ)
서울시립대학교 데이터마이닝연구실 김태준
*(SlideShare에서도 배달의민족 도현체 쓰고 싶어요)
@PyCon Korea 2014
NLTK 덕에 파이썬으로 자연어처리를 하는 것이 편리해졌다. 단, 한국어만 분석하려하지 않는다면. 파이썬으로 한국어를 분석할 수는 없을까? 국문, 영문, 중문 등 다양한 문자가 섞여 있는 문서는 어떻게 분석을 할 수 있을까?
이 발표에서는 자연어처리의 기초적인 개념을 다룬 후, NLTK 등의 자연어처리 라이브러리와 한국어 분석을 위해 개발중인 KoNLPy를 소개한다. 또, 파이썬으로 한국어를 분석할 때 유용한 몇 가지 트릭을 공유한다.
http://konlpy.readthedocs.org
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
[Langcon2020]롯데의 딥러닝 모델은 어떻게 자기소개서를 읽고 있을까?ssuseraf7587
그룹사의 자기소개서 데이터를 기반으로 진행했던 연구들을 진솔하게 담았습니다. 먼저 자기소개서만으로 서류 전형 합격/불합격을 딥러닝이 구분할 수 있는지에 대해 연구했던 과정을 소개합니다. 더불어 “AI가 자기소개서를 적어줄 수 있을까?” 라는 아이디어를 가지고 Transformer 딥러닝 모델로 자기소개서 문장이 생성되는 Prototype모델을 시연합니다. 끝으로 [Ctrl+C, Ctrl+V] 자기소개서를 딥러닝 모델로 어떻게 찾는지와 오타 데이터를 검정하는 방법을 소개합니다.
Zeppelin 노트북, 화재 뉴스 기사 데이터셋:
https://github.com/uosdmlab/playdata-zeppelin-notebook
2016년 10월 14일(금)에 "마루180"서 열린 "데이터야놀자"에서 진행한 세션 "Spark & Zeppelin을 활용한 머신러닝 실전 적용기" 슬라이드입니다. 많은 분들이 빠르고 쉽게 Spark ML을 시작했으면 하는 마음에서 발표를 준비했습니다! 실제로 Spark와 Zeppelin으로 머신러닝을 하며 발생한 문제점과 해결법, 간단한 텍스트 분류 예제와 성능 향상 사례 등의 내용을 담았습니다. 세션에서는 제플린 노트북과 슬라이드를 번갈아가며 진행하였는데, 노트북이 궁금하신 분들은 GitHub에 올려두었으니 직접 실행해보세요^^ (정말 열심히 정리했습니다 ㅠㅠ)
서울시립대학교 데이터마이닝연구실 김태준
*(SlideShare에서도 배달의민족 도현체 쓰고 싶어요)
텍스트 마이닝 기본 정리(말뭉치, 텍스트 전처리 절차, TF, IDF 기타)limdongjo 임동조
텍스트 마이닝 기본에 대해 알아보기
1-1 텍스트 마이닝은 무엇인지?
1-2 데이터 마이닝 vs 텍스트 마이닝
1-3 텍스트 분석 절차
1-4 텍스트 수집
2-1 형태소 분석
2-2 텍스트 전처리
2-3 품사 태깅
2-4 키워드 추출
2-5 키워드 선정
2-6 불용어, 가용어, 키워드
2-6 키워드 추출 절차
2-7 말뭉치(Corpus)
2-8 단어와 문서 관계 표현(Term-Document)
2-9 TF-IDF에 대해 알아보기
Legacy code refactoring video rental systemJaehoon Oh
Legacy Code Refactoring
- 마틴 파울러의 Refactoring 책 1장 예제를 워크샾 형태로 구성했다.
- 레거시 코드인 비디오 렌탈 시스템을 리팩토링 하는 방법을 단계적으로 살펴본다.
- 마이클 페더스의 Characterization Test 방법을 이용해서 Legacy Code 의 테스트를 작성한다.
- 새로운 기능을 추가할 때는 Sprouting Pattern(마이클 페더스가 만든 용어)를 이용해서 기능을 추가한다.
- 코드 스멜을 찾고 코드 스멜을 제거하면서 코드의 설계를 개선한다.
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.Adonis Han
*Introduction - Unsupervised Learning (Text-mining or Machine learning?
*Method - Learning Process, Packages
*Explanation Formula
*Case Study of LDA
*Coding with Best LDA Model from Grid search
*Conclusion - insight & Furthur more
*Not edit here
-What is Text-Rank?
-What is Jieba Packages?
2009 CodeEngn Conference 03
새로운 CTF 운영 단체로 인하여 전체적으로 변화된 스타일 등을 간략히 알아보고 DEFCON CTF 2009 Binary Leetness 분야의 100부터 500까지의 문제를 풀이해본다.
http://codeengn.com/conference/03
29. 토큰 (Token)
1. 토큰(token) : 의미를 갖는 문자열 (단어, 절, 문장 등)
2. 토크나이징(tokenizing) : 토큰을 나누는 작업
3. 영문은 공백 만으로도 충분히 토큰을 나눌 수 있다
4. 한글은 합성어, 조사합성 등의 별도 처리를 요한다
5. 작업기준을 어떻게 설정 할 것인가?
43. Co Lab | Google Drive
>>> https://colab.research.google.com/
NLTK : Token -> Stemming -> Tag
44. Stemming / Tagging 의 구조적 한계
1. 독립된 개별 Token의 태그 값을 추출
2. 평문, 일반문의 경우 규격화된 결과를 출력
3. 강조문/ 도치문/ 압축문 등 특수한 문장구조 는 부적합
4. Token / Stemming / Tagging 기준이 별도로 존재
47. Konlpy
1. KKMA : 서울대 이상구 교수 연구실
2. Hannanum : 카이스트 최기선 교수 연구실
3. Twitter : OpenKoreanText 오픈 소스 한국어 처리기
4. MeCab : 은전한닢 프로젝트 최신분류 (리눅스/Mac) [링크]
5. KOMORAN : Junsoo Shin님의 코모란 v3.3.3
6. 빠른 분석이 중요할 때 : 트위터
7. 정확한 품사 정보가 필요할 때 : 꼬꼬마
8. 정확성, 시간 모두 중요할 때 : 코모란
48. Co Lab | Google Drive
>>> https://colab.research.google.com/
1. NLTK : Token -> Stemming -> Tag
2. Konlpy : 함수 일괄 처리
108. pip install --upgrade gensim
1. Gensim Word2Vec so faster than Keras GPU [link]
2. 데이터와 모델 을 저장하고, 호출하는 방식을 잘 익히자
3. 주요한 기능을 메소드 함수로 제공
https://radimrehurek.com/gensim/install.html
109. Co Lab | Google Drive
>>> https://colab.research.google.com/
살인의 추억시나리오 분석
110. from gensim.models import Word2Vec
Word2Vec( data, size=30, window = 2, min_count=10, hs=1,
workers=4, iter=100, sg=1)
1. size = 30 : 30차원 벡터를 사용 (크면 차원의 저주)
2. window = 2 : 주변 단어(window)는 앞 뒤 두개
3. min_count = 20 : 출현 빈도가 20번 미만은 제외
4. hs = 1 : Hierarchical Softmax
5. sg = 1 : CBOW, Skip-Gram 중 Skip-Gram
https://shuuki4.wordpress.com/2016/01/27/word2vec-관련-이론-정리/
111. TSNE - t-distributed Stochastic Neighbor Embedding
유클리디안 측정방법을 활용하여
데이터 포인트의 유사성을
조건부 확률 변환기법 으로
차원을 축소한다.
단점으로는 생성시 마다
모양이 다름
112. (5 Model 해석)
1. Word2Vec도 연산의 결과일 뿐이다
2. 사람의 논리적 근거/ 선별의 추가작업이 필요
3. 모델의 유사/ 반대의 모든 Token이 유의미 하지 않다
4. 핵심적인 Token 간의 유의미한 관계를 분석하는 용도
114. 문장간 Cosin 유사도를 활용한 추천 시스템
1. 영화제목 과 영화설명 데이터를 불러옵니다
2. 영화제목 과 영화설명을 별개로 구분합니다
3. 영화설명 문장을 Tf-Idf 벡터로 변환 (CBOW)
4. Tf-Idf 변환시 StopWord는 제외 합니다
5. 영화설명 Text의 Cosine 유사도를 측정합니다
6. 측정된 유사도 Matrix를 활용합니다
115.
116. Stop Words
1. 분석목적과 연관성이 낮은 단어들을 제외
2. 작업의 난이도가 낮다
3. 목적에 맞는 불용어 선별을 위한 다양한 기준이
활용가능하다
117.
118. Tf-Idf 왜 필요한가?
파이썬 책을 분석한 결과
for, if, import, return
토큰이 많이 등장했다.
이들의 실제 중요도는?
119. Tf-Idf 해결방법
case1) 그 Token 은 원래 많이 등장해서
변별력이 없어..
case 2) 그 Token 은 거의 등장하지 않는
단어인데, 여기선 많아 특이하네?
120. 1. Token 의 중요도를 실수로 계산 (값이 클수록 중요)
2. TF는 해당 문서만 있으면 바로 연산이 가능하지만
3. IDF는 모집단의 Token 별 통계 데이터가 필요
Tf-Idf 공식 (Term Frequency Inverse Document Frequency)
출처 : https://www.bloter.net/archives/264262
121. 1. 수학적 통계를 바탕으로 밝혀진 경험적 법칙.
2. 단어의 빈도는 해당 단어의 순위에 반비례
3. 로그 회귀를 적용하면 확인이 가능하다
ex1) 빈도 1위 단어는 빈도 2위/3위 단어보다 2배/3배 빈도로 출현
Zip’s Law (지프의 법칙)
출처 : https://www.bloter.net/archives/264262
122.
123.
124. Co Lab | Google Drive
>>> https://colab.research.google.com/
영화 줄거리 활용 영화 추천