제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Stalker 팀] : 감정분석을 통한 MBTI 기반 개인별 투자 성향 분석BOAZ Bigdata
데이터 분석 프로젝트를 진행한 Stalker 팀에서는 아래와 같은 프로젝트를 진행했습니다.
감정분석을 통한 MBTI 기반 개인별 투자 성향 분석
16기 김지원 명지대학교 산업경영공학과
17기 곽윤경 홍익대학교 디자인경영융합학부
17기 김나현 서울대학교 언어학과
17기 유승희 중앙대학교 응용통계학과
17기 조수연 연세대학교 통계데이터사이언스학과
기존 채용프로세스의 문제점
1. 운영비용 : 대관료, 운영 인건비, 위탁비, 면접교육관비, 위원급 전문가 인건비,
면접 교통비
-> 하이버프의 솔루션 : 채용 마케팅과 수시 채용 등 다양한 방면에서 비용과 시간 절감
2. 인력 미스매칭 : 최고의 인재를 뽑았다고 생각했는데..
-> 하이버프의 솔루션 : AI 분석과 인재추천 기능을 통해 가장 적합한 인재를 매칭
3. 장애인 채용 : 장애인을 채용이 쉬운
환경을 조성해줬으면 좋겠어요
-> 하이버프의 솔루션 : 이동이 불편한 지원자들을 위해 더 많은 면접 기회 제공
4. 면접평판 : 신경쓰이는 SNS 지원자의 면접 후기
->하이버프의 솔루션 : 객관성과 공정성을 토대로 채용비리, 또는 불합격과
불만자에 대한 사전방지
하이버프의 장점
1. 하이버프 솔루션을 통해 대면 면접시 드는 불필요한 비용을 약 90% 절감할 수 있습니다.
2. A.I 및 음성인식 기술을 통하여 인터뷰 점수를 책정하여 경쟁우위에 있는 지원자를 선별할 수 있습니다.
3. 인사 담당자가 100명의 지원자의 서류를 검토해서 면접자별 맞춤식 면접 질문을 만드는데
소요되는 시간은 10시간 이상이지만, 하이버프는 단 1분이면 끝납니다.
4. 인재 서칭, 이력서 관리, 면접 및 채용 업무를 획기적으로 줄일 수 있는
AI 기반 인재 매칭 자동화 솔루션
위 자료는 BOAZ 2016 하반기 프로젝트 주제의 하나로, Advanced 정규세션 동안 Base 정규세션에서 배웠던 다양한 이론들과 기본 지식들, 그리고 툴 활용능력들을 직접 실행하며 진행한 결과물입니다.
*** 워드임베딩과 인공신경망을 이용한 개인 맞춤형 레시피 추천 ***
추천 시스템의 Cold start Problem에 대처하기 위해, 대량의 레시피 텍스트로부터 각 레시피의 특징을 추출하고 이를 인공신경망에 매핑하여 복잡미묘한 입맛의 선호를 예측, 봇 인터페이스를 통해 피드백을 받는 Online learning 형태의 추천 시스템을 제안함.
6기 김성동 숭실대학교 경영학부
6기 김수연 동덕여자대학교 정보통계학과
6기 노우영 한양대학교 ERICA 응용수학과
6기 박소영 건국대학교 응용통계학과
6기 박소현 연세대학교 응용통계학과
6기 이지원 고려대학교 통계학과
** 국내 최초 대학생 빅데이터 연합동아리 BOAZ **
Blog : http://BOAZbigdata.com
Facebook : http://fb.com/BOAZbigdata
제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Stalker 팀] : 감정분석을 통한 MBTI 기반 개인별 투자 성향 분석BOAZ Bigdata
데이터 분석 프로젝트를 진행한 Stalker 팀에서는 아래와 같은 프로젝트를 진행했습니다.
감정분석을 통한 MBTI 기반 개인별 투자 성향 분석
16기 김지원 명지대학교 산업경영공학과
17기 곽윤경 홍익대학교 디자인경영융합학부
17기 김나현 서울대학교 언어학과
17기 유승희 중앙대학교 응용통계학과
17기 조수연 연세대학교 통계데이터사이언스학과
기존 채용프로세스의 문제점
1. 운영비용 : 대관료, 운영 인건비, 위탁비, 면접교육관비, 위원급 전문가 인건비,
면접 교통비
-> 하이버프의 솔루션 : 채용 마케팅과 수시 채용 등 다양한 방면에서 비용과 시간 절감
2. 인력 미스매칭 : 최고의 인재를 뽑았다고 생각했는데..
-> 하이버프의 솔루션 : AI 분석과 인재추천 기능을 통해 가장 적합한 인재를 매칭
3. 장애인 채용 : 장애인을 채용이 쉬운
환경을 조성해줬으면 좋겠어요
-> 하이버프의 솔루션 : 이동이 불편한 지원자들을 위해 더 많은 면접 기회 제공
4. 면접평판 : 신경쓰이는 SNS 지원자의 면접 후기
->하이버프의 솔루션 : 객관성과 공정성을 토대로 채용비리, 또는 불합격과
불만자에 대한 사전방지
하이버프의 장점
1. 하이버프 솔루션을 통해 대면 면접시 드는 불필요한 비용을 약 90% 절감할 수 있습니다.
2. A.I 및 음성인식 기술을 통하여 인터뷰 점수를 책정하여 경쟁우위에 있는 지원자를 선별할 수 있습니다.
3. 인사 담당자가 100명의 지원자의 서류를 검토해서 면접자별 맞춤식 면접 질문을 만드는데
소요되는 시간은 10시간 이상이지만, 하이버프는 단 1분이면 끝납니다.
4. 인재 서칭, 이력서 관리, 면접 및 채용 업무를 획기적으로 줄일 수 있는
AI 기반 인재 매칭 자동화 솔루션
위 자료는 BOAZ 2016 하반기 프로젝트 주제의 하나로, Advanced 정규세션 동안 Base 정규세션에서 배웠던 다양한 이론들과 기본 지식들, 그리고 툴 활용능력들을 직접 실행하며 진행한 결과물입니다.
*** 워드임베딩과 인공신경망을 이용한 개인 맞춤형 레시피 추천 ***
추천 시스템의 Cold start Problem에 대처하기 위해, 대량의 레시피 텍스트로부터 각 레시피의 특징을 추출하고 이를 인공신경망에 매핑하여 복잡미묘한 입맛의 선호를 예측, 봇 인터페이스를 통해 피드백을 받는 Online learning 형태의 추천 시스템을 제안함.
6기 김성동 숭실대학교 경영학부
6기 김수연 동덕여자대학교 정보통계학과
6기 노우영 한양대학교 ERICA 응용수학과
6기 박소영 건국대학교 응용통계학과
6기 박소현 연세대학교 응용통계학과
6기 이지원 고려대학교 통계학과
** 국내 최초 대학생 빅데이터 연합동아리 BOAZ **
Blog : http://BOAZbigdata.com
Facebook : http://fb.com/BOAZbigdata
**매출향상을 위한 마케팅 전략
소상공인 창업을 준비하거나 창업 중인 분들을 위한 온, 오프라인 마케팅 전략 강의안 입니다.
주로 점포창업, 온라인 쇼핑몰 등을 운영하시는 분들에게 적합합니다.
1.소상공인 온라인 마케팅
- 온라인 마케팅 로드맵
- 신규 고객 및 점포 홍보
- 단골 관리 및 판매 촉진
- 매출 성장 및 신시장 개척
2. 소상공인 오프라인 마케팅
- 오감자극 마케팅
- 불황심리 마케팅
- 뉴트로 마케팅
- 헝거 마케팅
- page : 65P
- 강의대상 : 예비창업자, 초기 창업 기업
- 강의시간 : 2시간
허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정
발표영상 https://youtu.be/Yb3UU66XoIM
---
PAP가 준비한 팝콘 시즌1에서 프로덕트와 함께 성장하는 데이터 실무자들의 이야기를 담았습니다.
---
PAP(Product Analytics Playground)는 프로덕트 데이터 분석에 대해 편안하게 이야기할 수 있는 커뮤니티입니다.
우리는 데이터 드리븐 프로덕트 문화를 더 많은 분들이 각자의 자리에서 이끌어갈 수 있도록 하는 것을 목표로 합니다.
다양한 직군의 사람들이 모여 프로덕트를 만들듯 PAP 역시 다양한 멤버로 구성되어 있으며, 여러분들의 참여로 만들어집니다.
---
공식 페이지 : https://playinpap.oopy.io
페이스북 그룹 : https://www.facebook.com/groups/talkinpap
팀블로그 : https://playinpap.github.io
제10회 보아즈(BOAZ) 빅데이터 컨퍼런스 - 밑바닥부터 시작하는 trivago 추천시스템BOAZ Bigdata
밑바닥부터 시작하는 trivago 추천시스템
: '수백만개의 호텔 중에서 나한테 왜 이 호텔을 추천해준 거지?'
내 화면에 보이는 호텔은 수백만개의 호텔 중 아주 일부란 사실 알고 계신가요?
데이터 관심 있는 사람이라면 한 번쯤 궁금했을 추천 시스템!
Trivago의 실제 로그 데이터를 가지고 직접 밑바닥부터 구현해 보았습니다.
그리고 직접 만든 추천 시스템 시연까지!
이제는 "뭘 좋아할지 몰라서 다 준비"하지 않아도 돼요.
왜냐하면 우린 당신이 좋아할 것을 알고 있거든요.
일상이 된 추천 서비스들, 이제는 알고 이용해봐요!
11기 신승진 박보정 박효선 위승민
[국내 최초 빅데이터 연합동아리 BOAZ]
유튜브 - https://www.youtube.com/channel/UCSniI26A56n2QZ71opJtTUg
페이스북 - https://www.facebook.com/BOAZbigdata
인스타그램 - http://www.instagram.com/boaz_bigdata
블로그 - https://blog.naver.com/boazbigdata
Brighton SEO - Measurefest talk.
With data visualisation, you can uncover insights much easier than reading through a list of numbers. In this talk you will find how you should use Google Data Studio and Power BI for visualizing SEO performance. This will help you to tell the correct SEO data stories.
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유Hyojun Jeon
NDC18에서 발표하였습니다. 현재 보고 계신 슬라이드는 1부 입니다.(총 2부)
- 1부 링크: https://goo.gl/3v4DAa
- 2부 링크: https://goo.gl/wpoZpY
(SlideShare에 슬라이드 300장 제한으로 2부로 나누어 올렸습니다. 불편하시더라도 양해 부탁드립니다.)
2021-07-16 잔디콘 시즌6 발표자료
- 베이지안 방법론에 Expected Loss를 활용하여 프로덕트 개선 속도를 높이는 방법에 대해 알아봅니다.
- 개발자 및 통계학 전공자가 아닌 분들을 대상으로 한 발표입니다. 다소 엄밀하지 못한 설명이 포함되었을 수 있으니 양해 부탁드립니다. 잘못된 부분은 답글로 달아주시면 감사하겠습니다.
원본 파일은 다음 링크로 다운로드 받으실 수 있습니다 :)
https://www.dropbox.com/s/zo1er99muu2oj5l/leeminho_til6_bayesian_abtest.pdf?dl=0
**매출향상을 위한 마케팅 전략
소상공인 창업을 준비하거나 창업 중인 분들을 위한 온, 오프라인 마케팅 전략 강의안 입니다.
주로 점포창업, 온라인 쇼핑몰 등을 운영하시는 분들에게 적합합니다.
1.소상공인 온라인 마케팅
- 온라인 마케팅 로드맵
- 신규 고객 및 점포 홍보
- 단골 관리 및 판매 촉진
- 매출 성장 및 신시장 개척
2. 소상공인 오프라인 마케팅
- 오감자극 마케팅
- 불황심리 마케팅
- 뉴트로 마케팅
- 헝거 마케팅
- page : 65P
- 강의대상 : 예비창업자, 초기 창업 기업
- 강의시간 : 2시간
허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정
발표영상 https://youtu.be/Yb3UU66XoIM
---
PAP가 준비한 팝콘 시즌1에서 프로덕트와 함께 성장하는 데이터 실무자들의 이야기를 담았습니다.
---
PAP(Product Analytics Playground)는 프로덕트 데이터 분석에 대해 편안하게 이야기할 수 있는 커뮤니티입니다.
우리는 데이터 드리븐 프로덕트 문화를 더 많은 분들이 각자의 자리에서 이끌어갈 수 있도록 하는 것을 목표로 합니다.
다양한 직군의 사람들이 모여 프로덕트를 만들듯 PAP 역시 다양한 멤버로 구성되어 있으며, 여러분들의 참여로 만들어집니다.
---
공식 페이지 : https://playinpap.oopy.io
페이스북 그룹 : https://www.facebook.com/groups/talkinpap
팀블로그 : https://playinpap.github.io
제10회 보아즈(BOAZ) 빅데이터 컨퍼런스 - 밑바닥부터 시작하는 trivago 추천시스템BOAZ Bigdata
밑바닥부터 시작하는 trivago 추천시스템
: '수백만개의 호텔 중에서 나한테 왜 이 호텔을 추천해준 거지?'
내 화면에 보이는 호텔은 수백만개의 호텔 중 아주 일부란 사실 알고 계신가요?
데이터 관심 있는 사람이라면 한 번쯤 궁금했을 추천 시스템!
Trivago의 실제 로그 데이터를 가지고 직접 밑바닥부터 구현해 보았습니다.
그리고 직접 만든 추천 시스템 시연까지!
이제는 "뭘 좋아할지 몰라서 다 준비"하지 않아도 돼요.
왜냐하면 우린 당신이 좋아할 것을 알고 있거든요.
일상이 된 추천 서비스들, 이제는 알고 이용해봐요!
11기 신승진 박보정 박효선 위승민
[국내 최초 빅데이터 연합동아리 BOAZ]
유튜브 - https://www.youtube.com/channel/UCSniI26A56n2QZ71opJtTUg
페이스북 - https://www.facebook.com/BOAZbigdata
인스타그램 - http://www.instagram.com/boaz_bigdata
블로그 - https://blog.naver.com/boazbigdata
Brighton SEO - Measurefest talk.
With data visualisation, you can uncover insights much easier than reading through a list of numbers. In this talk you will find how you should use Google Data Studio and Power BI for visualizing SEO performance. This will help you to tell the correct SEO data stories.
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유Hyojun Jeon
NDC18에서 발표하였습니다. 현재 보고 계신 슬라이드는 1부 입니다.(총 2부)
- 1부 링크: https://goo.gl/3v4DAa
- 2부 링크: https://goo.gl/wpoZpY
(SlideShare에 슬라이드 300장 제한으로 2부로 나누어 올렸습니다. 불편하시더라도 양해 부탁드립니다.)
2021-07-16 잔디콘 시즌6 발표자료
- 베이지안 방법론에 Expected Loss를 활용하여 프로덕트 개선 속도를 높이는 방법에 대해 알아봅니다.
- 개발자 및 통계학 전공자가 아닌 분들을 대상으로 한 발표입니다. 다소 엄밀하지 못한 설명이 포함되었을 수 있으니 양해 부탁드립니다. 잘못된 부분은 답글로 달아주시면 감사하겠습니다.
원본 파일은 다음 링크로 다운로드 받으실 수 있습니다 :)
https://www.dropbox.com/s/zo1er99muu2oj5l/leeminho_til6_bayesian_abtest.pdf?dl=0
AI/Machine Learning의 한 분야인 Natural Language Processing (NLP)에 대해서 발표를 할 예정입니다. NLP는 한국어로 “자연어 처리”로서 Computer Vision 및 Image Processing에서 “언어적 문맥” 이해와 “그 처리”는 상당히 중요한 역할을 차지합니다. Image/Video를 Language화하여 처리하는 다양한 알고리즘이 존재하며 CVPR/ICCV의 학회에서도 핫한 분야 중 하나입니다. 대표적인 분야는 Image/Video Captioning, Description 및 Visual Q&A 등이 있습니다.
그 중에서도 핵심 Background가 되는 Word2Vec에 대해서 소개하고자 합니다. Word2Vec은 언어처리 뿐만 아니라 Generative Model과도 연관성이 높다는 것이 특징이며. NLP의 모든 분야에서의 핵심 이론으로 보시면 되겠습니다.
6. Motivation
• 뉴럴넷은 내부적으로 수많은 벡터 연산을 수행하지만,
• 벡터 값을 눈으로 봐도 아무것도 알 수 없습니다
• 이 거대한 기계의 동작을 이해하려면 어떻게 접근해야 할까요?
• 이 발표에서는 NMT 동작을 이해하기 위해 시도한 시각화 방법들을 소개합니다
어떤 원리로 번역이 이루어질까?
7. Motivation
• 뉴럴넷 동작이 워낙 복잡하기 때문에, 단순 시각화로는 한계가 있습니다
• “왜 이런 동작을 할까”를 알고 싶다면, 그 동작만 관찰하는 것보다
다른 동작을 시켰을 때 무슨 일이 일어나는지 보는 게 쉽습니다
• 이 발표에서는 뉴럴넷을 실시간으로 인터랙티브하게 조작하는 분석법을 소개합니다
• “Interactive Visualization and Manipulation of Attention-based NMT”,
NMT Workshop 2017 & EMNLP 2017 System Demo Track
Interaction 기반 분석 방법의 필요성
8. 순서
1. NMT 아키텍처 구조
• Encoder-Decoder, Attention Layer
2. NMT 이해를 위한 시각화 방법
• 뉴럴넷 중간 값들을 어떻게 이해할 수 있을까?
3. 조작을 통한 NMT 동작 이해하기
• 단순 시각화보다 강력하고 편리한 방법론 소개
10. Encoder-Decoder Architecture
• 입력 문장을 #%^deep@$!해서 출력 문장을 생성
• Encoder: 입력 문장의 각 단어들을 vector로 “encode”하는 네트워크
• Decoder: encoder 결과물을 “decode”하여 문장을 만드는 네트워크
Encoder
I don’t know .
벡터 벡터 벡터 벡터
Decoder
<GO> 겠어요 .모르
겠어요 .모르 <END>
11. Encoder
• 입력 문장을 단어 단위로 끊어서, 각 단어를 벡터에 인코딩하는 네트워크
• 일반적으로 Embedding layer + RNN을 사용
• 구체적인 구조는 다루지 않습니다
• 각 단어마다 벡터를 하나씩 만들고
그 단어에 관련된 정보를 저장합니다
Encoder
I know .
벡터 벡터 벡터 벡터
don’t
12. Decoder
• Encoder 결과물을 디코딩하여, 문장을 생성하는 네트워크
• 단어를 하나씩 생성하고, <END>가 나오면 생성 종료
• 보통 이렇게 설명하지만, 실제로는 더 복잡합니다
Decoder
<GO> 겠어요 .모르
겠어요 .모르 <END>
Encoder
벡터 벡터 벡터 벡터
I know .don’t
13. Decoder: 문장 생성
• NMT는 문장을 한 개 만들지 않고, 수많은 문장을 동시에 만듭니다
• 문장의 각 단어에 확률이 부여되고, 문장 전체 확률이 높을수록
좋은 번역문이 됩니다
P(몰라)=0.5 P(모르)=0.4
Decoder
<GO>
…
P(요)=0.3 P(.)=0.4
Decoder
… P(겠네요)=0.2 P(겠어요)=0.7
Decoder
…
P(.)=0.9
Decoder
…
…
… …
14. Decoder: 문장 생성
• 문장이 굉장히 많기 때문에, 실제로는 휴리스틱 트리 서치(beam search)를 사용하여
생성 후보를 제한합니다
15. Decoder
Decoder: Attention
• Decoder가 단어를 만들 때, 우선
원문의 단어와 생성할 단어 간의 연관성을 계산합니다
• 가령 “몰라”라는 단어를 만들 때에는
“I”보다는 “don’t”와 “know”가 중요
• 연관성 값을 attention weight이라고 부릅니다
• 계산된 값을 참조하여 다음 단어를 생성합니다
요약 벡터
P(몰라)=0.5
Encoder
I don’t know .
0.05 0.30 0.55 0.10
18. Decoder: Attention
• Attention weight를 시각화해보면
• 영어-프랑스어 번역 예시
• 가로축: 입력 문장, 세로축: 출력 문장
• “économique”를 생성해야 할 때
원문 영어의 “Economic”을 참조
• 생성하려는 단어에 대응하는 부분에
높은 weight를 주는 패턴이 관측
Image source: https://arxiv.org/pdf/1409.0473.pdf
20. Questions
• Encoder는 어떤 벡터들을 만들까? 해석할 방법이 있을까?
• Decoder는 어떤 문장들을 만들까? 문장들은 얼마나 다양할까?
• 영어-한국어 attention은 어째서 영어-프랑스어보다 복잡할까?
• 이러한 질문들에 답하기 위해서는, NMT 동작을 분석할 방법이 필요합니다
• 특히, 눈으로 이해할 수 있는 시각화 기반 분석이 유용합니다
22. t-SNE로 벡터 시각화하기
• Encoder가 생성한 벡터들을 이해할 방법은?
• 어떤 벡터들이 비슷한 의미를 가지는지 볼 수 있을까?
• 벡터가 비슷한 의미를 담는다 ≈ 벡터 값이 비슷하다 ≈ 벡터 간 거리가 가깝다
• t-SNE: 고차원 공간의 거리 정보를 저차원 공간에 복원하는 알고리즘
• 고차원에서 가까운 점들을 2차원에서도 가깝게 보여줍니다
• NMT가 생성한 벡터들을 t-SNE로 계산해보자!
25. t-SNE로 벡터 시각화하기
• 곳곳에 해석 가능한 클러스터 발견
• 같은 단어들이 묶이거나, 조동사들이 묶이거나
• 하지만 이게 클러스터인지 아닌지 이해할 수 없는 것도 잔뜩
• t-SNE에서 클러스터를 관찰하려면 많은 문장이 필요합니다
• 하지만, 문장이 많으면 클러스터도 많아 해석이 힘들어집니다
• 문장 하나에만 집중해서 분석할 방법이 있을까?
26. 단어 확률 시각화하기
• 이번엔 문장 하나에만 집중하고,
• Decoder가 단어 생성 시 어떤 확률 분포를 만드는지 관찰합니다
• LSTMVis (Strobelt et al. 2016) 시각화 기법을 일부 차용
• 벡터의 각 요소가 시간이 지날수록
어떻게 변하는지 시각화하는 기법
27. 입력: “As a bass player, he is known for
his highly distinctive tone and phrasing.”
timestep
생성확률
각 단어마다 확률의 변화를 그래프로 그리고,
특정 단어 그래프에 마우스를 대면 굵게 강조
28. 단어 확률 시각화하기
• 비슷한 단어들이 비슷한 확률을 받는 현상이 보입니다
• “독특한”과 “뛰어난”, “~로서”와 “~로”
• 하지만 종종 해석하기 어려운 행동도 관찰
• “베이스”(bass)와 “그”(he)는 전혀 다른 단어인데
동시에 높은 확률을 받은 이유는?
• Attention 및 다른 문장 분석을 함께 수행해야 해석 가능
• 앞서와 반대로, 문장 하나로는 분석이 제한적이고
다른 문장을 함께 봐야 할 필요가 생깁니다
29. Interaction 기반 분석의 필요성
• 너무 많은 정보를 한번에 펼쳐 놓으면 아무것도 이해할 수 없습니다
• 눈으로 이해할 수 있을 만큼의 정보에만 집중할 필요성
• 한편 한 눈에 이해할 수 있는 정보는 굉장히 작은 정보입니다
• 여러 시각에서의 정보들을 조합할 필요성
• 따라서, 다양한 시각화 방법을 인터랙티브하게 조합하는 도구가 필요합니다
31. Interactive Beam Search
입력: “As a bass player, he is known for his highly distinctive tone and phrasing.”
• 문장 후보들을 tree로 표시
• 문장 생성 확률을 edge 두께로 표시
• 직접 문장 후보 생성 가능
32. Interactive Beam Search
입력: “As a bass player, he is known for his highly distinctive tone and phrasing.”
• 문장 후보들을 tree로 표시
• 문장 생성 확률을 edge 두께로 표시
• 직접 문장 후보 생성 가능
33. Interactive Beam Search
입력: “As a bass player, he is known for his highly distinctive tone and phrasing.”
• 문장 후보들을 tree로 표시
• 문장 생성 확률을 edge 두께로 표시
• 직접 문장 후보 생성 가능
34. Interactive Beam Search
입력: “As a bass player, he is known for his highly distinctive tone and phrasing.”
• 문장 후보들을 tree로 표시
• 문장 생성 확률을 edge 두께로 표시
• 직접 문장 후보 생성 가능
35. Interactive Beam Search
입력: “As a bass player, he is known for his highly distinctive tone and phrasing.”
• 문장 후보들을 tree로 표시
• 문장 생성 확률을 edge 두께로 표시
• 직접 문장 후보 생성 가능
36. • Attention 시각화는 평소에는 숨기고,
• Node를 클릭하면 그 node의 attention을 시각화
• Attention과 단어 생성을 연계하여 분석 가능
• “bass”와 “he”에 높은 attention이 주어졌으므로
“베이스”와 “그”가 생성
Beam Search + Attention 관찰
37. • 그렇다면 attention weight를 수정하면
어떤 결과가 발생할까?
• 가령 “he”의 attention을 0.073에서 0으로 바꾸면
생성 후보에서 “그”가 어떤 영향을 받을까?
Beam Search + Attention 관찰
44. ”distinctive” 정보를 삭제하면 “음색”보다 “어조”를 선호합니다
NMT가 “distinctive”에 attention을 둔 이유는
거기에 음악 맥락이 들어있어 “음색”이라고 정확히 번역할 수 있기 때문
“distinctive tone” -> “독특한 음색”의 “음색” 부분을 생성하는 단계
45. Interactive Attention Manipulation
• 처음 시도했던 시각화 방법들은 수동적이었습니다
• Attention weight를 관찰하거나, t-SNE 결과를 관찰하거나
• 쉬운 패턴들만 이해할 수 있었고 세부적인 동작을 이해하는 건 무리
• 뉴럴넷 중간 값을 능동적으로 조작하면 빠른 이해가 가능합니다
• ”왜 이런 동작을 할까?”가 궁금하면 다른 동작을 시켜보면 됩니다
46. Automatic Attention Manipulation
• Attention weight를 조작하면 단어 생성 확률을
마음대로 조정할 수 있는데,
• 그렇다면 반대로 “베이스”의 확률을 높이도록
weight를 자동조작해보면 어떨까?
• Gradient ascent로 weight를 최적화하도록 구현
?
47. 입력: ”As a bass player, he is known for …”
출력: ”베이스 연주자로서 그는 …” 혹은
“그는 베이스 연주자로서 …”
48. 입력: ”As a bass player, he is known for …”
출력: ”베이스 연주자로서 그는 …” 혹은
“그는 베이스 연주자로서 …”
“베이스” 확률을 높이도록 attention 최적화
“bass” weight가 높아지고,
“he” weight가 낮아지면서
후보에서 “그”가 사라지는 효과
49. 입력: ”As a bass player, he is known for …”
출력: ”베이스 연주자로서 그는 …” 혹은
“그는 베이스 연주자로서 …”
이번엔 “그” 확률을 높이도록 attention 최적화
아까와 반대로 “he” weight가 높아지고
“bass” weight가 낮아지는 결과
50. 입력: ”As a bass player, he is known for …”
출력: ”베이스 연주자로서 그는 …” 혹은
“그는 베이스 연주자로서 …”
“저음” 확률을 높이도록 attention을 최적화하면
“bass”와 함께 “tone”의 weight가 증가
“저음”이라는 단어를 만들려면
“bass tone”이라는 두 정보를 조합해야 하기 때문
52. Automatic Attention Manipulation
• NMT는 여러 문장을 동시에 생성하기 때문에,
영어-한국어처럼 번역 후보가 다양한 경우
attention을 해석하기 어렵습니다
• 번역 문장을 하나 고른 다음,
그 문장을 위한 새로운 attention을 만들면
더 나은 해석이 가능해집니다
53. 구현 사항
• NMT 서버: TensorFlow/Theano + Flask
• 수동 expand 가능한 beam search 구현
• attention weight를 사용자가 바꿀 수 있게
NMT 아키텍처 수정
• 프론트엔드: JavaScript, d3.js
• NMT 서버와 JSON 통신
55. 결론
• NMT 내부의 거대한 계산 과정을 이해하기 위해,
• 눈으로 쉽게 이해할 수 있는 시각화 방법들을
• 손으로 쉽게 조작할 수 있도록 조합하여
• 인터랙티브하게 실시간으로 조작하는 분석 기법을 소개했습니다
• 내 뉴럴넷 모델에는 어떻게 응용할 수 있을까?
• 어떤 레이어를 뜯어보면 좋을까?
• 눈으로 이해 가능하고 손으로 조작 가능한 입출력 범위를 찾는 것이 핵심
• d3.js를 이용하면 빠르게 시각화/인터랙션 툴을 만들 수 있어요
더 자세한 내용은
“Interactive Visualization and Manipulation of Attention-based NMT”,
EMNLP 2017 System Demo Track