AI Tech Day 25 (Bag of Words & Word Embedding)

이연걸·2021년 9월 6일
post-thumbnail

1. 학습 일정

1) NLP 강의 수강
2) 필수 과제
3) 데이터 시각화 수강
4) 피어 세션
5) 1기 수강생님들과 MeetUp

2. 학습 내용

NLP

1강: Introduction to NLP & Bag-of-Words

Natural language processing (major conferences: ACL, EMNLP, NAACL)

  • Low-level parsing
    • Tokenization
    • stemming (어미 변화): studying & studied
  • Word and phrase level
    • Named eitity recognition (NER): 고유 명사 (ex: New York Times)
    • part-of-speech(POS) tagging: 품사, 성분, 주어, 목적어, 부사, 형용사...
    • noun-phrase chunking
    • dependency parsing
    • coreference resolution
  • Sentence level
    • Sentiment analysis: 감정 분석
    • machine translation
  • Multi-sentence and paragraph level
    • Entailment prediction: 논리적 모순 관계
    • question answering: 질의 응답
    • dialog systems: 대화 (챗봇)
    • summarization: 문서 한줄 요약

Text mining

  • 트렌드 분석
  • 신조어

Information retrieval

  • 추천 시스템

Bag-of-Words

Step 1. Vocabulary 생성 (중복 제거)

  • Example sentences: “John really really loves this movie“, “Jane really likes this song”
  • Vocabulary: {“John“, “really“, “loves“, “this“, “movie“, “Jane“, “likes“, “song”}

Step 2. Vocabulary 단어들을 원-핫 벡터로 인코딩

  • Vocabulary: {“John“, “really“, “loves“, “this“, “movie“, “Jane“, “likes“, “song”}
    • John: [1 0 0 0 0 0 0 0]
    • really: [0 1 0 0 0 0 0 0]
    • loves: [0 0 1 0 0 0 0 0]
    • this: [0 0 0 1 0 0 0 0]
    • movie: [0 0 0 0 1 0 0 0]
    • Jane: [0 0 0 0 0 1 0 0]
    • likes: [0 0 0 0 0 0 1 0]
    • song: [0 0 0 0 0 0 0 1]
  • 모두 동일한 관계
    • 어떤 단어 쌍에 대해서도 거리는 2\sqrt{2}이며 코사인 유사도는 00

따라서 문장은 다음과 같이 표현 된다.

  • Sentence 1: “John really really loves this movie“
    • John + really + really + loves + this + movie: [1 2 1 1 1 0 0 0]
  • Sentence 2: “Jane really likes this song”
    • Jane + really + likes + this + song: [0 1 0 1 0 1 1 1]

NaiveBayes Classifier

  • P(dc)P(c)=P(w1,w2,,wnc)P(c)P(c)wiWP(wic)P(d|c)P(c) = P(w_1,w_2,\dots,w_n|c)P(c) \rightarrow P(c)\prod_{w_i \in W}P(w_i|c) (by conditional independence assumption)

2강: Word Embedding

Word Embedding이란?

  • 단어를 벡터로 표현하는 것
  • 'cat'과 'kitty'는 유사한 단어이므로 short distance를 가질 수 있도록 한다.
  • 'hamburger'는 유사한 단어가 아니므로 far distance를 가질 수 있도록 한다.

Word2Vec

  • 벡터가 adjacent words에 대해 표현할 수 있도록 train시키는 알고리즘
  • 가정: 비슷한 맥락의 단어들은 유사한 뜻을 가진다.
  • What is the probability P(wcat)P(w|cat) that we'll read the word w nearby?
  • Word2Vec의 동작 방식

Property of Word2Vec

  • word vector는 word간의 관계를 표현한다.
  • 같은 관계는 같은 벡터로 표현된다.
  • vec[queen] – vec[king] = vec[woman] – vec[man]

GloVe: Global Vectors for Word Representation

  • 단어가 몇번 등장하는지 사전에 check하여 중복 계산을 줄여준다.

3. 피어 세션 정리

  • 앞으로 공부 일정 논의

4. 1기 수강생님들과 MeetUp

  • 무엇을 얻어갈 것인가?
    • 양질의 강의 & 실습 환경
    • 수료증은 취업 free pass가 아니다.
  • 의미있는 무언가에 집중하자.
    • 무엇을, 어떻게, 왜
  • 적극적으로 공유

P stage / 협업 팁

  1. 순위 < 기록(github, notion, velog ...)
  2. 좋은 Team을 꾸리자
  3. Teamwork

취준

  1. 자소서/이력서
  • 자소서: 어렵다면 Wrap Up 레포트 재구성
  • 이력서: 핵심만, 가독서 있게
  1. 깃허브/포트폴리오
  • 깃허브: 개인 프로젝트 결과물정리, CLI 작성(주피터 탈출), 네트워킹 데이
  • 포트폴리오: 자소서/이력서/깃허브에 부족한 무언가를 적자. AI 모르는 사람이 읽어도 이해될 정도로.
  1. 면접
  • 기술 질문: 기본 + 대답 어려운 질문
  • 프로젝트: 프로젝트 요약 질문, 활용 기술을 알고 사용했는가?
  • 생각 정리: 면접 스터디, 혼잣말, 무한 필기
  1. 프로젝트 수행
  • 협업에 대한 증거
  • 팀 내 포지션 파악, 팀원 강점 파악, 협업도구 사용법 익히기
  • 다양한 시도
    • 강의 코드 안 보고 직접 구현, 비교
    • 데이터 깊게 EDA
    • 논문 하나 잡고 구현
    • 유용한 코드 아카이빙

5. 과제 수행 과정

  • 몸풀기용 과제였음.

6. 회고

다시 달려야 한다. 화이팅!

7. 내일 할일

  • 강의 수강
  • 시각화 강의 수강
  • 필수 과제
  • 시간남으면 코테 준비
profile
AI가 세상을 바꾼다. 열심히 AI를 배워서 선한 영향력을 펼치는 개발자가 되고싶다. 인생은 Gradient Descent와 같지.

0개의 댓글