SlideShare a Scribd company logo
Glove:GlobalVectors
for
WordRepresentation
(2014) J.Pennington et al.
발표: 곽근봉
이 논문을 선정한 이유
이 컨텐츠를 누구한테 보여줄까?
일단 카테고리 설정은 ‘연애’
코스모폴리탄이니깐 20~30대 여성 노출량을 많도록!
어떻게하면 더 정교하게 타겟팅 할 수 있을까?
사람의 개입을 줄일 수는 없을까?
컨텐츠 개수가 100배 이상 늘어난다는데?
이 논문을 선정한 이유
컨텐츠 본문을 분석하자!
어떤 것에 관한 페이지인지 태그를 자동으로 달아보자
(Keyword Extraction)
카테고리도 자동으로 달아보자
(Document Classification)
유사한 웹 페이지는 어떤 것이 있는지 찾아보자
(Document Similarity)
어떤 작업부터 해야할까?
이 논문을 선정한 이유
Word Vector를 구축하는 모델들은?
각 모델들의 장단점은 무엇일까?
한국어에 가장 적합한 Word Vector 모델은 무엇일까?
Word Representation!
일단 각 단어들을 계산 가능하도록 만들어보자
GloVe가 Word2Vec의 어떤 점을 개선시키려고 했는지 살펴보자
참고 자료
Ratsgo님의 블로그
https://ratsgo.github.io/from%20frequency%20to%20semantics/2017/04/09/glove/
논문 저자의 강의 (Stanford CS224n)
https://youtu.be/OQQ-W_63UgQ?list=PL3FW7Lu3i5Jsnh1rnUwq_TcylNr7EkRe6
https://web.stanford.edu/class/cs224n/lectures/cs224n-2017-lecture2.pdf
https://web.stanford.edu/class/cs224n/lectures/cs224n-2017-lecture3.pdf
Word Representation 분류
Word Representation
Discrete Representation Distributed Representation
Count BasedDirect Prediction
Full Document windows
Word2Vec
WordNet One-hot Vector
LSA SVD of X GloVe
Discrete Representation (Symbolic)
단점
단어의 관계( e.g. 유사도, 반의어, 문법 등)를 측정할 수 없다
사람이 직접 구축해야한다. 주관적인 판단이 개입될 수 있다
새로운 단어가 나올 경우 일일이 대응해야한다
뉘앙스와 같은 것들을 표현하기 어렵다
Dictionary 기반 (e.g. WordNet) 혹은 One-hot Vector를 통한 Representation
장점
(Dictionary 기반의 경우) 사람이 이해할 수 있는 형태의 Representation
(One-hot Vector의 경우) 비교적 간단하게 구축할 수 있다
Distributed Representation
단점
성능을 측정하기가 쉽지 않다
단어의 출현 빈도를 기반으로 계산한 Word Vector
장점
단어의 관계를 측정, 표현 할 수 있다
비지도 학습!
새로운 단어가 나올 경우 Corpus만 제공하면 된다
다른 모델들과 결합해서 추가적인 정보를 제공한다
Word2Vec
딥러닝을 활용한 자연어처리에
단어가 출현하는 위치를 기반으로 단어를 학습시켜보자 (Skip-grams)
Center word
(Position t)
Output Context words
(m word window)
Output Context words
(m word window)
P(wt+1|wt)P(wt-1|wt)
“저는
P(wt-2|wt)
관심이 많습니다”
P(wt+2|wt)
Word2Vec
단어가 출현하는 위치를 기반으로 단어를 학습시켜보자
Word2Vec
학습 결과
의미, 문법과 관련된 정보들이 Capture 된다!
Word2Vec
비효율적인 부분?
한 번에 하나의 동시 출현만 계산해서 업데이트하는게 좀 비효율처럼 느껴지는데?
왜 통계 정보를 사용하지 않는거지?
전체 Corpus로 부터 한 단어 한 단어씩 훑어가며 학습한다
Center Word를 둘러싸고 있는 단어들을 각각 학습한다
한 번에 단어 한 쌍의 관계를 학습한다
Word2Vec 요약
통계 정보를 활용한 Word Vector
Co-occurrence matrix X 를 구축하자
Full Document 기반
단어-문서간 동시 출현을 기반으로 matrix X를 구축한다
일반적인 주제 분류에 적합하다.
Latent Semantic Analysis
Window 기반
각 단어의 위치로 단어-단어간 동시 출현을 matrix X를 구축한다
의미와 문법 정보를 모두 캡쳐할 수 있다.
© NBT All Rights Reserved.
© NBT All Rights Reserved.
Singular Value Decomposition
의미있는 정보만 추려서 dense vector로 만들자
Singular Value Decomposition
의미있는 정보만 추려서 dense vector로 만들자
Singular Value Decomposition
의미있는 정보만 추려서 dense vector로 만들자
SVD의 문제점
• 계산양이 많음 ( n<m 일 때 O(mn2) )
• 새로운 단어와 문서들을 적용하기 위해서는 새로 계산해야함
• 자주 출현하는 단어들을 위한 고려가 필요함
Count based vs direct prediction
Count based Direct prediction
단점
장점
통계 정보를 효율적으로 사용한다
단어 유사도 정도만 사용할 수 있지만
성능은 그다지 높지 않다
빈도수가 높은 단어들을 위해서
별도의 고려가 필요하다
단어수가 적은 경우 학습이 빠르다
통계 정보를 효율적으로
사용하지 않는다
Corpus가 큰 경우
학습이 오래걸릴 수 있다
다른 딥러닝 모델과 연계해서
사용할 수 있다
유사도 뿐만 아니라 다양한 분야에서
활용 될 수 있다
Recap - Word Representation 분류
Word Representation
Discrete Representation Distributed Representation
Count BasedDirect Prediction
Full Document windows
Word2Vec
WordNet One-hot Vector
LSA SVD of X GloVe
Combiningthebestofbothworlds:GloVe
GloVe에서 풀고자 했던 것은?!
기존의 Word2Vec 에서는 전체 Corpus의 통계 정보를 활용하지 않는다.
Þ 통계 정보를 활용해서 더 효율적으로 계산해보자
Þ 통계 정보를 활용해서 추가 성능 향상을 만들어보자
Count 기반으로 만든 Vector는 다양한 활용이 어렵다
Þ 범용적으로 사용가능하도록 만들어보자
모델 수식 설명
동시등장확률(thewords’probabilityofco-occurrence)
모델 수식 설명
ObjectiveFunction을만들어보자
모델 수식 설명
ObjectiveFunction을만들어보자
모델 수식 설명
ObjectiveFunction을만들어보자
모델 수식 설명
ObjectiveFunction을만들어보자
모델 수식 설명
두개의벡터셋을가지는이유?
• Target word를 학습시키는 것과 Context word를 학습시키는게 뭔가 다른점이 있지 않을까?
• 일반적으로 딥러닝에서 많이 사용하기 때문에 적용해봤는데, 성능이 더 잘 나왔다
• 각각 학습시킨 다음에 간단하게 Sum을 하는게 제일 성능이 좋더라
전체 모델 요약 설명
1. 주어진 Corpus와 Window size를 가지고 co-occurrence matrix X를 만든다
2. Word2Vec과 유사한 방법으로 학습 대상이 되는 단어들을 Window size안에서 고른다
3. 고른 단어와 matrix X 를 기반으로 Objective Function을 사용해서 학습시킨다
“저는 딥러닝을 활용한 자연어 처리에 관심이 많습니다”
“저는 딥러능을 응용한 소프트웨어 개발에 관심이 많습니다”
.
.
.
성능 평가
잘안나오는단어에서도좋은성능이나온다
성능 평가
Word analogy task
Ex)
한국:서울=일본:?
가다:갔다=오다:?
성능 평가
단어유사도
성능 평가
개체명인식(NamedEntityRecognition)
성능 평가
Word2Vec과비교–analogytask
성능 평가
Hyper-parameters
결론
• Count 기반의 방법과 direct prediction 기반 방법을 합쳐서 사용하니 성능이 크게 올라가더라
• 학습 시간도 빠르다
• 큰 Corpus도 적용 가능하다
• 작은 Corpus에서도 성능이 좋다
• Vector size가 작아도 성능이 좋다
한국어에 더 잘 맞는 모델은?
A Study on Word Vector Models for Representing Korean Semantic Information(2015, Yang, Hejung et al.)
한국어에 적합한 단어 임베딩 모델 및 파라미터 튜닝에 관한 연구(2016, 최상혁, 설진석, 이상구)
Word2Vec이 좋다 GloVe가 좋다
어떤 Corpus로 어떻게 전처리 하느냐에 따라서 성능이 크게 달라진다.
References
• Glove: Global Vectors for Word Representation(2014, J. Pennington et al)
• Distributed representations of words and phrases and their compositionality (2013, T. Mikolov et al.)
• A Study on Word Vector Models for Representing Korean Semantic Information(2015, Yang, Hejung et al.)
• 한국어에 적합한 단어 임베딩 모델 및 파라미터 튜닝에 관한 연구(2016, 최상혁, 설진석, 이상구)
• https://youtu.be/OQQ-W_63UgQ?list=PL3FW7Lu3i5Jsnh1rnUwq_TcylNr7EkRe6
• https://web.stanford.edu/class/cs224n/lectures/cs224n-2017-lecture2.pdf
• https://web.stanford.edu/class/cs224n/lectures/cs224n-2017-lecture3.pdf
• https://ratsgo.github.io/from%20frequency%20to%20semantics/2017/04/09/glove/
© NBT All Rights Reserved.
감사합니다.

More Related Content

What's hot

코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
Suhyun Park
 
손코딩뇌컴파일눈디버깅을 소개합니다.
손코딩뇌컴파일눈디버깅을 소개합니다.손코딩뇌컴파일눈디버깅을 소개합니다.
손코딩뇌컴파일눈디버깅을 소개합니다.
Kwangsung Ha
 
Python을 활용한 챗봇 서비스 개발 1일차
Python을 활용한 챗봇 서비스 개발 1일차Python을 활용한 챗봇 서비스 개발 1일차
Python을 활용한 챗봇 서비스 개발 1일차
Taekyung Han
 
Text summarization
Text summarizationText summarization
Text summarization
Sang-Houn Choi
 
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
WON JOON YOO
 
머신러닝 해외 취업 준비: 닳고 닳은 이력서와 고통스러웠던 면접을 돌아보며 SNU 2018
머신러닝 해외 취업 준비: 닳고 닳은 이력서와 고통스러웠던 면접을 돌아보며 SNU 2018머신러닝 해외 취업 준비: 닳고 닳은 이력서와 고통스러웠던 면접을 돌아보며 SNU 2018
머신러닝 해외 취업 준비: 닳고 닳은 이력서와 고통스러웠던 면접을 돌아보며 SNU 2018
Taehoon Kim
 
Software engineer가 되기 위한 여정
Software engineer가 되기 위한 여정Software engineer가 되기 위한 여정
Software engineer가 되기 위한 여정
Aree Oh
 
딥러닝 논문읽기 모임 - 송헌 Deep sets 슬라이드
딥러닝 논문읽기 모임 - 송헌 Deep sets 슬라이드딥러닝 논문읽기 모임 - 송헌 Deep sets 슬라이드
딥러닝 논문읽기 모임 - 송헌 Deep sets 슬라이드
taeseon ryu
 
Intrusive data structure 소개
Intrusive data structure 소개Intrusive data structure 소개
Intrusive data structure 소개종빈 오
 
AtCoder Regular Contest 031 解説
AtCoder Regular Contest 031 解説AtCoder Regular Contest 031 解説
AtCoder Regular Contest 031 解説
AtCoder Inc.
 
[2D4]Python에서의 동시성_병렬성
[2D4]Python에서의 동시성_병렬성[2D4]Python에서의 동시성_병렬성
[2D4]Python에서의 동시성_병렬성
NAVER D2
 
クックパッド特売情報 における自然言語処理 〜固有表現抽出を利用した検索システム〜
クックパッド特売情報 における自然言語処理 〜固有表現抽出を利用した検索システム〜クックパッド特売情報 における自然言語処理 〜固有表現抽出を利用した検索システム〜
クックパッド特売情報 における自然言語処理 〜固有表現抽出を利用した検索システム〜
Takeshi Arabiki
 
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
Chris Ohk
 
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
catupper
 
Union find(素集合データ構造)
Union find(素集合データ構造)Union find(素集合データ構造)
Union find(素集合データ構造)
AtCoder Inc.
 
Windows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCPWindows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCP
Seungmo Koo
 
Multi thread game server
Multi thread game serverMulti thread game server
Multi thread game serverOnGameServer
 
Event Sourcing with Kotlin, who needs frameworks!
Event Sourcing with Kotlin, who needs frameworks!Event Sourcing with Kotlin, who needs frameworks!
Event Sourcing with Kotlin, who needs frameworks!
Nico Krijnen
 
개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님
NAVER D2
 
[0410 박민근] 기술 면접시 자주 나오는 문제들
[0410 박민근] 기술 면접시 자주 나오는 문제들[0410 박민근] 기술 면접시 자주 나오는 문제들
[0410 박민근] 기술 면접시 자주 나오는 문제들MinGeun Park
 

What's hot (20)

코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
 
손코딩뇌컴파일눈디버깅을 소개합니다.
손코딩뇌컴파일눈디버깅을 소개합니다.손코딩뇌컴파일눈디버깅을 소개합니다.
손코딩뇌컴파일눈디버깅을 소개합니다.
 
Python을 활용한 챗봇 서비스 개발 1일차
Python을 활용한 챗봇 서비스 개발 1일차Python을 활용한 챗봇 서비스 개발 1일차
Python을 활용한 챗봇 서비스 개발 1일차
 
Text summarization
Text summarizationText summarization
Text summarization
 
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
 
머신러닝 해외 취업 준비: 닳고 닳은 이력서와 고통스러웠던 면접을 돌아보며 SNU 2018
머신러닝 해외 취업 준비: 닳고 닳은 이력서와 고통스러웠던 면접을 돌아보며 SNU 2018머신러닝 해외 취업 준비: 닳고 닳은 이력서와 고통스러웠던 면접을 돌아보며 SNU 2018
머신러닝 해외 취업 준비: 닳고 닳은 이력서와 고통스러웠던 면접을 돌아보며 SNU 2018
 
Software engineer가 되기 위한 여정
Software engineer가 되기 위한 여정Software engineer가 되기 위한 여정
Software engineer가 되기 위한 여정
 
딥러닝 논문읽기 모임 - 송헌 Deep sets 슬라이드
딥러닝 논문읽기 모임 - 송헌 Deep sets 슬라이드딥러닝 논문읽기 모임 - 송헌 Deep sets 슬라이드
딥러닝 논문읽기 모임 - 송헌 Deep sets 슬라이드
 
Intrusive data structure 소개
Intrusive data structure 소개Intrusive data structure 소개
Intrusive data structure 소개
 
AtCoder Regular Contest 031 解説
AtCoder Regular Contest 031 解説AtCoder Regular Contest 031 解説
AtCoder Regular Contest 031 解説
 
[2D4]Python에서의 동시성_병렬성
[2D4]Python에서의 동시성_병렬성[2D4]Python에서의 동시성_병렬성
[2D4]Python에서의 동시성_병렬성
 
クックパッド特売情報 における自然言語処理 〜固有表現抽出を利用した検索システム〜
クックパッド特売情報 における自然言語処理 〜固有表現抽出を利用した検索システム〜クックパッド特売情報 における自然言語処理 〜固有表現抽出を利用した検索システム〜
クックパッド特売情報 における自然言語処理 〜固有表現抽出を利用した検索システム〜
 
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
 
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
 
Union find(素集合データ構造)
Union find(素集合データ構造)Union find(素集合データ構造)
Union find(素集合データ構造)
 
Windows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCPWindows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCP
 
Multi thread game server
Multi thread game serverMulti thread game server
Multi thread game server
 
Event Sourcing with Kotlin, who needs frameworks!
Event Sourcing with Kotlin, who needs frameworks!Event Sourcing with Kotlin, who needs frameworks!
Event Sourcing with Kotlin, who needs frameworks!
 
개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님
 
[0410 박민근] 기술 면접시 자주 나오는 문제들
[0410 박민근] 기술 면접시 자주 나오는 문제들[0410 박민근] 기술 면접시 자주 나오는 문제들
[0410 박민근] 기술 면접시 자주 나오는 문제들
 

Similar to GloVe:Global vectors for word representation

Word 2 Vec Algorithm
Word 2 Vec AlgorithmWord 2 Vec Algorithm
Word 2 Vec Algorithm
Hyeongmin Lee
 
Word2Vec 개요 및 활용
Word2Vec 개요 및 활용Word2Vec 개요 및 활용
Word2Vec 개요 및 활용
찬희 이
 
(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)
(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)
(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)
Adonis Han
 
Brief hystory of NLP and Word2Vec
Brief hystory of NLP and Word2VecBrief hystory of NLP and Word2Vec
Brief hystory of NLP and Word2Vec
SilverQ
 
객체지향이란? - <객체지향의 사실과 오해>를 읽고
객체지향이란? - <객체지향의 사실과 오해>를 읽고객체지향이란? - <객체지향의 사실과 오해>를 읽고
객체지향이란? - <객체지향의 사실과 오해>를 읽고
HeechanLee6
 
Natural Language Processing(NLP) - Basic
Natural Language Processing(NLP) - BasicNatural Language Processing(NLP) - Basic
Natural Language Processing(NLP) - Basic
KyeongUkJang
 
Nlp word2vec
Nlp word2vecNlp word2vec
Nlp word2vec
진성 김
 
DDD 산책
DDD 산책DDD 산책
DDD 산책
Sungchul Park
 
연구실 세미나 Show and tell google image captioning
연구실 세미나 Show and tell google image captioning연구실 세미나 Show and tell google image captioning
연구실 세미나 Show and tell google image captioning
hkh
 
CoreDot TechSeminar 2018 - Session3 Doh Seungheon
CoreDot TechSeminar 2018 - Session3 Doh SeungheonCoreDot TechSeminar 2018 - Session3 Doh Seungheon
CoreDot TechSeminar 2018 - Session3 Doh Seungheon
Core.Today
 
220906_Glove
220906_Glove220906_Glove
220906_Glove
YongSang Yoo
 
파이썬을 활용한 자연어 분석
파이썬을 활용한 자연어 분석파이썬을 활용한 자연어 분석
파이썬을 활용한 자연어 분석
김용범 | 무영인터내쇼날
 
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
복연 이
 
제 11회 보아즈(BOAZ) 빅데이터 컨퍼런스 - 코끼리(BOAZ) 사서의 도서 추천 솔루션
제 11회 보아즈(BOAZ) 빅데이터 컨퍼런스 - 코끼리(BOAZ) 사서의 도서 추천 솔루션제 11회 보아즈(BOAZ) 빅데이터 컨퍼런스 - 코끼리(BOAZ) 사서의 도서 추천 솔루션
제 11회 보아즈(BOAZ) 빅데이터 컨퍼런스 - 코끼리(BOAZ) 사서의 도서 추천 솔루션
BOAZ Bigdata
 
Patterns for effectviely documenting frameworks
Patterns for effectviely documenting frameworksPatterns for effectviely documenting frameworks
Patterns for effectviely documenting frameworks
Sunuk Park
 
Convolutional neural networks for sentence classification
Convolutional neural networks for sentence classificationConvolutional neural networks for sentence classification
Convolutional neural networks for sentence classification
keunbong kwak
 
Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄
Suhyeon Jo
 
Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄
현 수
 
깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)
Jay Park
 
Context2Vec 기반 단어 의미 중의성 해소, Word Sense Disambiguation
Context2Vec 기반 단어 의미 중의성 해소, Word Sense DisambiguationContext2Vec 기반 단어 의미 중의성 해소, Word Sense Disambiguation
Context2Vec 기반 단어 의미 중의성 해소, Word Sense Disambiguation
찬희 이
 

Similar to GloVe:Global vectors for word representation (20)

Word 2 Vec Algorithm
Word 2 Vec AlgorithmWord 2 Vec Algorithm
Word 2 Vec Algorithm
 
Word2Vec 개요 및 활용
Word2Vec 개요 및 활용Word2Vec 개요 및 활용
Word2Vec 개요 및 활용
 
(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)
(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)
(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)
 
Brief hystory of NLP and Word2Vec
Brief hystory of NLP and Word2VecBrief hystory of NLP and Word2Vec
Brief hystory of NLP and Word2Vec
 
객체지향이란? - <객체지향의 사실과 오해>를 읽고
객체지향이란? - <객체지향의 사실과 오해>를 읽고객체지향이란? - <객체지향의 사실과 오해>를 읽고
객체지향이란? - <객체지향의 사실과 오해>를 읽고
 
Natural Language Processing(NLP) - Basic
Natural Language Processing(NLP) - BasicNatural Language Processing(NLP) - Basic
Natural Language Processing(NLP) - Basic
 
Nlp word2vec
Nlp word2vecNlp word2vec
Nlp word2vec
 
DDD 산책
DDD 산책DDD 산책
DDD 산책
 
연구실 세미나 Show and tell google image captioning
연구실 세미나 Show and tell google image captioning연구실 세미나 Show and tell google image captioning
연구실 세미나 Show and tell google image captioning
 
CoreDot TechSeminar 2018 - Session3 Doh Seungheon
CoreDot TechSeminar 2018 - Session3 Doh SeungheonCoreDot TechSeminar 2018 - Session3 Doh Seungheon
CoreDot TechSeminar 2018 - Session3 Doh Seungheon
 
220906_Glove
220906_Glove220906_Glove
220906_Glove
 
파이썬을 활용한 자연어 분석
파이썬을 활용한 자연어 분석파이썬을 활용한 자연어 분석
파이썬을 활용한 자연어 분석
 
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
 
제 11회 보아즈(BOAZ) 빅데이터 컨퍼런스 - 코끼리(BOAZ) 사서의 도서 추천 솔루션
제 11회 보아즈(BOAZ) 빅데이터 컨퍼런스 - 코끼리(BOAZ) 사서의 도서 추천 솔루션제 11회 보아즈(BOAZ) 빅데이터 컨퍼런스 - 코끼리(BOAZ) 사서의 도서 추천 솔루션
제 11회 보아즈(BOAZ) 빅데이터 컨퍼런스 - 코끼리(BOAZ) 사서의 도서 추천 솔루션
 
Patterns for effectviely documenting frameworks
Patterns for effectviely documenting frameworksPatterns for effectviely documenting frameworks
Patterns for effectviely documenting frameworks
 
Convolutional neural networks for sentence classification
Convolutional neural networks for sentence classificationConvolutional neural networks for sentence classification
Convolutional neural networks for sentence classification
 
Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄
 
Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄
 
깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)
 
Context2Vec 기반 단어 의미 중의성 해소, Word Sense Disambiguation
Context2Vec 기반 단어 의미 중의성 해소, Word Sense DisambiguationContext2Vec 기반 단어 의미 중의성 해소, Word Sense Disambiguation
Context2Vec 기반 단어 의미 중의성 해소, Word Sense Disambiguation
 

More from keunbong kwak

그로스해킹 기초
그로스해킹 기초그로스해킹 기초
그로스해킹 기초
keunbong kwak
 
NBT 그로스해킹 교육 자료
NBT 그로스해킹 교육 자료NBT 그로스해킹 교육 자료
NBT 그로스해킹 교육 자료
keunbong kwak
 
PR-099: MRNet-Product2Vec
PR-099: MRNet-Product2VecPR-099: MRNet-Product2Vec
PR-099: MRNet-Product2Vec
keunbong kwak
 
Wide&Deep Learning for Recommender Systems
Wide&Deep Learning for Recommender SystemsWide&Deep Learning for Recommender Systems
Wide&Deep Learning for Recommender Systems
keunbong kwak
 
논문리뷰: Deep Neural Networks for YouTube Recommendations
논문리뷰: Deep Neural Networks for YouTube Recommendations논문리뷰: Deep Neural Networks for YouTube Recommendations
논문리뷰: Deep Neural Networks for YouTube Recommendations
keunbong kwak
 
Ad Tech 개요
Ad Tech 개요Ad Tech 개요
Ad Tech 개요
keunbong kwak
 
Ask me anything: Dynamic memory networks for natural language processing
Ask me anything: Dynamic memory networks for natural language processingAsk me anything: Dynamic memory networks for natural language processing
Ask me anything: Dynamic memory networks for natural language processing
keunbong kwak
 
딥러닝 논문 리뷰 Learning phrase representations using rnn encoder decoder for stati...
딥러닝 논문 리뷰 Learning phrase representations using rnn encoder decoder for stati...딥러닝 논문 리뷰 Learning phrase representations using rnn encoder decoder for stati...
딥러닝 논문 리뷰 Learning phrase representations using rnn encoder decoder for stati...
keunbong kwak
 
에디터스랩 발표
에디터스랩 발표에디터스랩 발표
에디터스랩 발표
keunbong kwak
 
NBT 유클라우드 사례 발표
NBT 유클라우드 사례 발표NBT 유클라우드 사례 발표
NBT 유클라우드 사례 발표
keunbong kwak
 
Window manager활용하기 곽근봉
Window manager활용하기 곽근봉Window manager활용하기 곽근봉
Window manager활용하기 곽근봉
keunbong kwak
 

More from keunbong kwak (11)

그로스해킹 기초
그로스해킹 기초그로스해킹 기초
그로스해킹 기초
 
NBT 그로스해킹 교육 자료
NBT 그로스해킹 교육 자료NBT 그로스해킹 교육 자료
NBT 그로스해킹 교육 자료
 
PR-099: MRNet-Product2Vec
PR-099: MRNet-Product2VecPR-099: MRNet-Product2Vec
PR-099: MRNet-Product2Vec
 
Wide&Deep Learning for Recommender Systems
Wide&Deep Learning for Recommender SystemsWide&Deep Learning for Recommender Systems
Wide&Deep Learning for Recommender Systems
 
논문리뷰: Deep Neural Networks for YouTube Recommendations
논문리뷰: Deep Neural Networks for YouTube Recommendations논문리뷰: Deep Neural Networks for YouTube Recommendations
논문리뷰: Deep Neural Networks for YouTube Recommendations
 
Ad Tech 개요
Ad Tech 개요Ad Tech 개요
Ad Tech 개요
 
Ask me anything: Dynamic memory networks for natural language processing
Ask me anything: Dynamic memory networks for natural language processingAsk me anything: Dynamic memory networks for natural language processing
Ask me anything: Dynamic memory networks for natural language processing
 
딥러닝 논문 리뷰 Learning phrase representations using rnn encoder decoder for stati...
딥러닝 논문 리뷰 Learning phrase representations using rnn encoder decoder for stati...딥러닝 논문 리뷰 Learning phrase representations using rnn encoder decoder for stati...
딥러닝 논문 리뷰 Learning phrase representations using rnn encoder decoder for stati...
 
에디터스랩 발표
에디터스랩 발표에디터스랩 발표
에디터스랩 발표
 
NBT 유클라우드 사례 발표
NBT 유클라우드 사례 발표NBT 유클라우드 사례 발표
NBT 유클라우드 사례 발표
 
Window manager활용하기 곽근봉
Window manager활용하기 곽근봉Window manager활용하기 곽근봉
Window manager활용하기 곽근봉
 

GloVe:Global vectors for word representation

  • 2. 이 논문을 선정한 이유 이 컨텐츠를 누구한테 보여줄까? 일단 카테고리 설정은 ‘연애’ 코스모폴리탄이니깐 20~30대 여성 노출량을 많도록! 어떻게하면 더 정교하게 타겟팅 할 수 있을까? 사람의 개입을 줄일 수는 없을까? 컨텐츠 개수가 100배 이상 늘어난다는데?
  • 3. 이 논문을 선정한 이유 컨텐츠 본문을 분석하자! 어떤 것에 관한 페이지인지 태그를 자동으로 달아보자 (Keyword Extraction) 카테고리도 자동으로 달아보자 (Document Classification) 유사한 웹 페이지는 어떤 것이 있는지 찾아보자 (Document Similarity) 어떤 작업부터 해야할까?
  • 4. 이 논문을 선정한 이유 Word Vector를 구축하는 모델들은? 각 모델들의 장단점은 무엇일까? 한국어에 가장 적합한 Word Vector 모델은 무엇일까? Word Representation! 일단 각 단어들을 계산 가능하도록 만들어보자 GloVe가 Word2Vec의 어떤 점을 개선시키려고 했는지 살펴보자
  • 5. 참고 자료 Ratsgo님의 블로그 https://ratsgo.github.io/from%20frequency%20to%20semantics/2017/04/09/glove/ 논문 저자의 강의 (Stanford CS224n) https://youtu.be/OQQ-W_63UgQ?list=PL3FW7Lu3i5Jsnh1rnUwq_TcylNr7EkRe6 https://web.stanford.edu/class/cs224n/lectures/cs224n-2017-lecture2.pdf https://web.stanford.edu/class/cs224n/lectures/cs224n-2017-lecture3.pdf
  • 6. Word Representation 분류 Word Representation Discrete Representation Distributed Representation Count BasedDirect Prediction Full Document windows Word2Vec WordNet One-hot Vector LSA SVD of X GloVe
  • 7. Discrete Representation (Symbolic) 단점 단어의 관계( e.g. 유사도, 반의어, 문법 등)를 측정할 수 없다 사람이 직접 구축해야한다. 주관적인 판단이 개입될 수 있다 새로운 단어가 나올 경우 일일이 대응해야한다 뉘앙스와 같은 것들을 표현하기 어렵다 Dictionary 기반 (e.g. WordNet) 혹은 One-hot Vector를 통한 Representation 장점 (Dictionary 기반의 경우) 사람이 이해할 수 있는 형태의 Representation (One-hot Vector의 경우) 비교적 간단하게 구축할 수 있다
  • 8. Distributed Representation 단점 성능을 측정하기가 쉽지 않다 단어의 출현 빈도를 기반으로 계산한 Word Vector 장점 단어의 관계를 측정, 표현 할 수 있다 비지도 학습! 새로운 단어가 나올 경우 Corpus만 제공하면 된다 다른 모델들과 결합해서 추가적인 정보를 제공한다
  • 9. Word2Vec 딥러닝을 활용한 자연어처리에 단어가 출현하는 위치를 기반으로 단어를 학습시켜보자 (Skip-grams) Center word (Position t) Output Context words (m word window) Output Context words (m word window) P(wt+1|wt)P(wt-1|wt) “저는 P(wt-2|wt) 관심이 많습니다” P(wt+2|wt)
  • 10. Word2Vec 단어가 출현하는 위치를 기반으로 단어를 학습시켜보자
  • 11. Word2Vec 학습 결과 의미, 문법과 관련된 정보들이 Capture 된다!
  • 12. Word2Vec 비효율적인 부분? 한 번에 하나의 동시 출현만 계산해서 업데이트하는게 좀 비효율처럼 느껴지는데? 왜 통계 정보를 사용하지 않는거지? 전체 Corpus로 부터 한 단어 한 단어씩 훑어가며 학습한다 Center Word를 둘러싸고 있는 단어들을 각각 학습한다 한 번에 단어 한 쌍의 관계를 학습한다 Word2Vec 요약
  • 13. 통계 정보를 활용한 Word Vector Co-occurrence matrix X 를 구축하자 Full Document 기반 단어-문서간 동시 출현을 기반으로 matrix X를 구축한다 일반적인 주제 분류에 적합하다. Latent Semantic Analysis Window 기반 각 단어의 위치로 단어-단어간 동시 출현을 matrix X를 구축한다 의미와 문법 정보를 모두 캡쳐할 수 있다.
  • 14. © NBT All Rights Reserved.
  • 15. © NBT All Rights Reserved.
  • 16. Singular Value Decomposition 의미있는 정보만 추려서 dense vector로 만들자
  • 17. Singular Value Decomposition 의미있는 정보만 추려서 dense vector로 만들자
  • 18. Singular Value Decomposition 의미있는 정보만 추려서 dense vector로 만들자
  • 19. SVD의 문제점 • 계산양이 많음 ( n<m 일 때 O(mn2) ) • 새로운 단어와 문서들을 적용하기 위해서는 새로 계산해야함 • 자주 출현하는 단어들을 위한 고려가 필요함
  • 20. Count based vs direct prediction Count based Direct prediction 단점 장점 통계 정보를 효율적으로 사용한다 단어 유사도 정도만 사용할 수 있지만 성능은 그다지 높지 않다 빈도수가 높은 단어들을 위해서 별도의 고려가 필요하다 단어수가 적은 경우 학습이 빠르다 통계 정보를 효율적으로 사용하지 않는다 Corpus가 큰 경우 학습이 오래걸릴 수 있다 다른 딥러닝 모델과 연계해서 사용할 수 있다 유사도 뿐만 아니라 다양한 분야에서 활용 될 수 있다
  • 21. Recap - Word Representation 분류 Word Representation Discrete Representation Distributed Representation Count BasedDirect Prediction Full Document windows Word2Vec WordNet One-hot Vector LSA SVD of X GloVe
  • 22. Combiningthebestofbothworlds:GloVe GloVe에서 풀고자 했던 것은?! 기존의 Word2Vec 에서는 전체 Corpus의 통계 정보를 활용하지 않는다. Þ 통계 정보를 활용해서 더 효율적으로 계산해보자 Þ 통계 정보를 활용해서 추가 성능 향상을 만들어보자 Count 기반으로 만든 Vector는 다양한 활용이 어렵다 Þ 범용적으로 사용가능하도록 만들어보자
  • 28. 모델 수식 설명 두개의벡터셋을가지는이유? • Target word를 학습시키는 것과 Context word를 학습시키는게 뭔가 다른점이 있지 않을까? • 일반적으로 딥러닝에서 많이 사용하기 때문에 적용해봤는데, 성능이 더 잘 나왔다 • 각각 학습시킨 다음에 간단하게 Sum을 하는게 제일 성능이 좋더라
  • 29. 전체 모델 요약 설명 1. 주어진 Corpus와 Window size를 가지고 co-occurrence matrix X를 만든다 2. Word2Vec과 유사한 방법으로 학습 대상이 되는 단어들을 Window size안에서 고른다 3. 고른 단어와 matrix X 를 기반으로 Objective Function을 사용해서 학습시킨다 “저는 딥러닝을 활용한 자연어 처리에 관심이 많습니다” “저는 딥러능을 응용한 소프트웨어 개발에 관심이 많습니다” . . .
  • 31. 성능 평가 Word analogy task Ex) 한국:서울=일본:? 가다:갔다=오다:?
  • 36. 결론 • Count 기반의 방법과 direct prediction 기반 방법을 합쳐서 사용하니 성능이 크게 올라가더라 • 학습 시간도 빠르다 • 큰 Corpus도 적용 가능하다 • 작은 Corpus에서도 성능이 좋다 • Vector size가 작아도 성능이 좋다
  • 37. 한국어에 더 잘 맞는 모델은? A Study on Word Vector Models for Representing Korean Semantic Information(2015, Yang, Hejung et al.) 한국어에 적합한 단어 임베딩 모델 및 파라미터 튜닝에 관한 연구(2016, 최상혁, 설진석, 이상구) Word2Vec이 좋다 GloVe가 좋다 어떤 Corpus로 어떻게 전처리 하느냐에 따라서 성능이 크게 달라진다.
  • 38. References • Glove: Global Vectors for Word Representation(2014, J. Pennington et al) • Distributed representations of words and phrases and their compositionality (2013, T. Mikolov et al.) • A Study on Word Vector Models for Representing Korean Semantic Information(2015, Yang, Hejung et al.) • 한국어에 적합한 단어 임베딩 모델 및 파라미터 튜닝에 관한 연구(2016, 최상혁, 설진석, 이상구) • https://youtu.be/OQQ-W_63UgQ?list=PL3FW7Lu3i5Jsnh1rnUwq_TcylNr7EkRe6 • https://web.stanford.edu/class/cs224n/lectures/cs224n-2017-lecture2.pdf • https://web.stanford.edu/class/cs224n/lectures/cs224n-2017-lecture3.pdf • https://ratsgo.github.io/from%20frequency%20to%20semantics/2017/04/09/glove/
  • 39. © NBT All Rights Reserved. 감사합니다.