TIL
  • Main
  • TIL : ML
    • AI News
      • AI-powered coding, free of charge with Colab
    • Paper
      • Retrieval-augmented generation for knowledge-intensive nlp tasks
        • reference 정리
      • Sequence to Sequence
    • Generative AI
      • LLM
        • 기본 개념
    • Boostcamp
      • Daily Report
        • 2021
          • 09
            • week4
            • week5
          • 10
            • week1
            • week2
            • week3
            • week4
          • 11
            • week1
            • week2
            • week3
            • week4
            • week5
          • 12
            • week1
            • week2
            • week3
      • Final Project
        • 프로젝트 기획
          • 🌟최종 프로젝트 기획
          • 최종 프로젝트 Version
          • 아이디어 수집
          • 욕설, 혐오발언 감지
          • 라이브 커머스 레포팅 프로젝트
        • 프로젝트 진행
          • week1
          • week2
          • week3
      • Competition
        • 1. [NLP] 문장 내 개체간 관계 추출
          • Day1 (9.27, 월)
          • Day2-3 (9.28~29, 화~수)
          • Day4 (9.30, 목)
          • Day5 (10.1, 금)
          • Day6~7 (10.2~3, 토~일)
          • Day8 (10.4, 월)
          • Day9 (10.5, 화)
          • Day10 (10.6, 수)
          • Day 11 (10.7 목)
        • 2. [NLP] MRC 프로젝트
          • Day1 (10.25, 월)
          • Day2 (10.26, 화)
          • Day3 (10.27, 수)
          • Day4-5 (10.28-29, 목-금)
          • Day6 (11.1, 월)
          • Day7 (11.2, 화)
          • Day8 (11.3, 수)
          • Day9 (11.4, 목)
        • 🔨3. [NLP] 데이터 제작
          • Day1
        • 🔨4. [공통] 모델 경량화
      • [U Stage] - DL basic
        • (01강) 딥러닝 기본 용어 설명 - Historical Review
        • (02강) 뉴럴 네트워크 - MLP (Multi-Layer Perceptron)
        • (03강) Optimization
        • 🔨(04강) Convolution은 무엇인가?
        • 🔨(05강) Modern CNN - 1x1 convolution의 중요성
        • 🔨(06강) Computer Vision Applications
        • (07강) Sequential Models - RNN
        • (08강) Sequential Models - Transformer
        • Page 2
      • [U Stage] - PyTorch
        • (01강) Introduction to PyTorch
        • (02강) PyTorch Basics
        • (03강) PyTorch 프로젝트 구조 이해하기
        • (04강) AutoGrad & Optimizer
        • (05강) Dataset & Dataloader
        • (06강) 모델 불러오기
        • (07강) Monitoring tools for PyTorch
        • (08강) Multi-GPU 학습
        • (09강) Hyperparameter Tuning
        • (10강) PyTorch Troubleshooting
      • [U Stage] - NLP
        • (01강) Introduction to NLP, Bag-of-Words
        • (02강) Word Embedding
        • (03강) Recurrent Neural Network and Language Modeling
        • (04강) LSTM and GRU
        • (05강) Sequence to Sequence with Attention
        • (06강) Beam Search and BLEU score
        • (07-08강) Transformer
        • (09강) Self-supervised Pre-training Models
      • [P Stage] - KLUE
        • (1강) 인공지능과 자연어 처리
        • (2강) 자연어의 전처리
        • (3강) BERT 언어모델 소개
        • (4강) 한국어 BERT 언어 모델 학습
        • (5강) BERT 기반 단일 문장 분류 모델 학습
        • (6강) BERT 기반 두 문장 관계 분류 모델 학습
        • (7강) BERT 언어모델 기반의 문장 토큰 분류
        • 오피스아워 (9.30, 목)
        • (8강) GPT 언어 모델
        • (9강) GPT 언어모델 기반의 자연어 생성
        • (10강) 최신 자연어처리 연구
      • [P Stage] - MRC
        • Before Study
        • (1강) MRC Intro & Python Basics
        • (2강) Extraction-based MRC
        • (3강) Generation-based MRC
        • (4강) Passage Retrieval - Sparse Embedding
        • (5강) Passage Retrieval - Dense Embedding
        • 오피스아워
        • (6강) Scaling up with FAISS
        • (7강) Linking MRC and Retrieval
        • (8강) Reducing Training Bias
        • (9강) Closed-book QA with T5
        • (10강) QA with Phrase Retrieval
        • 마스터클래스
      • [P Stage] - 데이터제작(NLP)
        • (1강) 데이터 제작의 A to Z
        • (2강) 자연어처리 데이터 기초
        • (3강) 자연어처리 데이터 소개 1
        • (4강) 자연어처리 데이터 소개 2
        • (5강) 원시 데이터의 수집과 가공
        • 오피스아워 (11.10, 수)
        • (6강) 데이터 구축 작업 설계
        • (7강) 데이터 구축 가이드라인 작성 기초
        • (8강) 관계 추출 과제의 이해
        • (9강) 관계 추출 관련 논문 읽기
        • (10강) 관계 추출 데이터 구축 실습
      • [P Stage] - 모델 최적화
        • (1강) 최적화 소개 및 강의 개요
        • (2강) 대회 및 데이터셋 소개
        • (3강) 작은 모델, 좋은 파라미터 찾기: AutoML 이론
        • 🔨(4강) 작은 모델, 좋은 파라미터 찾기: AutoML 실습
        • (5강) 작은 모델, 좋은 파라미터 찾기: Data Augmentation & AutoML 결과 분석
        • 🔨오피스아워 -Baseline 코드에 모듈 작성하기(신종선 멘토님)
      • [P Stage] - Product Serving
        • Part 1: Product Serving 개론
          • 1.1 강의 진행 방식
          • 1.2 MLOps 개론
          • 1.3 Model Serving
          • 1.4 머신러닝 프로젝트 라이프 사이클
        • Part 2: 프로토타입부터 점진적으로 개선하기
          • 2.1 프로토타이핑 - Notebook 베이스(Voila)
          • 2.2 프로토타이핑 - 웹 서비스 형태(Streamlit)
          • 2.3 Linux & Shell Command
          • 2.4 Cloud
          • 2.5 Github Action을 활용한 CI/CD
        • Part 3: 더 완성화된 제품으로
          • 3.1.1 FastAPI
          • 3.1.2 Fast API
          • 3.1.3 Fast API
          • 3.2 Docker
          • 3.3 Logging
          • 3.4 MLFlow
        • Part 4: 심화 소재
          • 4.1 BentoML
          • 4.2 Airflow
          • 4.3 머신러닝 디자인 패턴
          • 4.4 앞으로 더 공부하면 좋을 내용
      • 특강
        • (특강) 김상훈 - 캐글 그랜드마스터의 노하우 대방출
        • (특강) 이활석 - 서비스 향 AI 모델 개발하기
        • (특강) 구종만 - AI + ML과 Quant Trading
        • (특강) 문지형 - 내가 만든 AI 모델은 합법일까, 불법일까
        • (특강) 이준엽 - Full Stack ML Engineer
        • (특강) 박은정 - AI 시대의 커리어 빌딩
        • (특강) 오혜연 - AI Ethics
    • Competition
      • (DACON)한국어 문장 관계 분류 경진대회
        • Day1(2.14, 월)
        • Day2(2.15, 화)
        • Day3(2.16, 수)
        • Day4(2.17, 목)
      • 2021 인공지능 데이터 활용 경진대회
        • 역량평가
          • Day1 (9.28, 화)
          • Day2 (9.29, 수)
          • Day3 (9.30, 목)
        • 예선
          • Data 분석
          • NSML
          • What We Have Done?
    • ETC
      • 인터뷰 대비
        • Computer Science
        • ML/DL
      • Poetry로 dependency 관리
        • window에서 설치하기
      • code block
      • 공부할 것 임시보관
      • Transformer to T5
      • Hugging Face Tutorial
        • Ch1. Transformer models
        • Ch2. Using Transformers
        • Ch3. Fine-tuning a model with the Trainer API
      • KLUE
      • Pandas
  • TIL : Ops
    • AWS
      • SageMaker
  • TIL : Computer (CS)
    • Error
      • TextEncodeInput must be Union[TextInputSequence, Tuple[InputSequence, InputSequence]]
    • Algorithm
      • Theory
      • Programmers
        • 기능개발
    • ETC
      • Github 커밋 히스토리 삭제
Powered by GitBook
On this page
  • 1. NLP의 활용
  • 1.1. Low-level parsing
  • 1.2. Word and phrase level
  • 1.3. Sentence level
  • 1.4. Multi-sentence and Paragraph level
  • 1.5. Text Mining
  • 1.6. Information Retrieval
  • 2. Trends of NLP
  • 3. Bag-of-Words
  • 3.1. Working Steps
  • 3.2. NaiveBayes Classifier for Document Classification
  • 참고코드 Link

Was this helpful?

  1. TIL : ML
  2. Boostcamp
  3. [U Stage] - NLP

(01강) Introduction to NLP, Bag-of-Words

다양한 자연어 처리 task, 그리고 최근 동향에 대해 소개합니다. 자연어를 처리하는 가장 간단한 알고리즘 중 하나인 Bag-of-Words에 대해서 소개합니다. Bag-of-Words를 이용한 문서 분류 모델을 소개합니다.

1. NLP의 활용

1.1. Low-level parsing

  • Token & Tokenization 문장에서 각 단어를 Token이라하며, Token을 추출하는 과정을 Tokenization이라 한다.

  • Stemming 단어는 어미가 다양하게 변하는데(맑다, 맑은, 맑고) 이런 다양성을 없애고 의미(어근)만을 추출하는 것

1.2. Word and phrase level

  • NER (Named Entity Recognition) 고유명사 인식

  • POS (Part Of Speech) 품사나 성분을 알아내는 Task

  • Noun-phrase chuking

  • dependency parsing

  • coreference resolution

1.3. Sentence level

  • Sentiment Analysis (감정분석) 긍정, 부정 감정 분석 Task

  • Machine Translation (기계번역) 영한 번역시 단어변형과 어순 변형등을 고려한 Task

1.4. Multi-sentence and Paragraph level

  • Entailment Prediction 두 문장간의 논리적인 내포 혹은 모순관계를 예측하는 Task ex) 나는 밥을 먹었다. / 나는 오늘 하루종일 아무것도 먹지 못했다 => 모순

  • Question Answering 질문에 대해 응답하는 Task. 구글 검색, siri 등

  • Dialog Systems 챗봇과 같이 대화를 수행하는 자연어 기술

  • Summarization 문장 요약

1.5. Text Mining

KDD, The WebConf(WWW), WSDM(CIKM, ICWSM)

  • 트랜드 분석

  • 키워드 분석

1.6. Information Retrieval

SIGIR, WSDM, CIKM, RecSys

  • 추천시스템 사용자가 좋아할 법한 데이터를 추천해주는 시스템으로 검색분야에서 등장한 새로운 Task

2. Trends of NLP

NLP는 꾸준한발전을 이루고 있다.

  • Word2Vec or GloVe

  • RNN-family models(LSTMs and GRUs)

  • Attention modules and Transformer models

  • Rule 기반의 번역에서 RNN기반의 번역을 통해 더 좋은 성능을 가져오게 되었다.

Transformer 이후, 각 Task 별로 모델을 구성하지 않고 Pre-Trained Model이 등장함으로써 Transfer Training이 가능해졌다. (BERT, GPT2, GPT3 ...)

단 사용되는 리소스가 매우 커서 대기업 위주로 활발하게 연구가 되고있다.

3. Bag-of-Words

리스트에 단어를 담는다는 느낌으로 Bag-of-Words 라는 명칭을 가지게 되었다.

3.1. Working Steps

  • Step1 : Constructing the vocabulary containing unique words

    • "John really really loves this movie", "Jane really likes this song"

    • vocab : {"Jone", "really", "loves", "this", "movie", "Jane", "likes", "song"}

  • Step2 : Encoding unique words to one-hot vectors

    • vocab : {"Jone", "really", "loves", "this", "movie", "Jane", "likes", "song"}

    • {[1, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0], ..., [0, 0, 0, 0, 0, 0, 0, 1]}

    • For any pair of words, cosine similarity(내적값) is 0

    "John really really loves this movie" => [1, 2, 1, 1, 1, 0, 0, 0] "Jane really likes this song" => [0, 1, 0, 1, 0, 1, 1, 1]

3.2. NaiveBayes Classifier for Document Classification

Bag of Words로 나타낸 문서의 분류를 처리하는 대표적인 방법이다.

  • C: Class of Document (ex. sport, financial etc..)

  • D : Document

  • MAP : Maximum a posteriori = most likely class

Document "d" 가 주어졌을때, 각 Class "c"에 해당할 조건부 확률이 최대가 되도록 하는 값을 구하는 것. Line 2에서 Line 3으로 넘어가는 것은 d라는 문서를 고정하였기 때문에 P(d)를 상수로 볼 수 있어 제거가 가능하다.

Document "d"에서 각 단어가 독립이라면 아래와 같이 나타낼 수 있다.

예를 들어 보도록 하자, 각 Training Data와 Test Data가 아래와 같이 주어져있다면, 각 Test Data의 각 토큰 별 확률과 Test 문서 d=5가 cv, nlp일 확률을 구할 수 있다.

여기서 우리가 볼 수 있는 것은 만약 한 단어(토큰)이라도 Training 의 단어 집합에 속하지 않는다면 그 확률값은 0이 되어 해당 클래스로 분류되지 않게 된다는 것이다.

참고코드 Link

Previous[U Stage] - NLPNext(02강) Word Embedding

Last updated 3 years ago

Was this helpful?

For any pair of words, the distance is 2\sqrt{2}2​

P(d∣c)P(c)=P(w1,w2,…,wn∣c)P(c)=P(c)∏w∈WP(w∣c) P(d \mid c) P(c) = P(w1, w_2, \dots, w_n \mid c) P(c) = P(c) \prod_{w\in W}P(w \mid c) P(d∣c)P(c)=P(w1,w2​,…,wn​∣c)P(c)=P(c)∏w∈W​P(w∣c)

P(ccv∣d5)=P(ccv)∏w∈WP(w∣ccv)=12×114×114×114×114P(c_{cv} \mid d_5) = P(c_{cv}) \prod_{w\in W}P(w \mid c_{cv}) = \frac{1}{2} \times \frac{1}{14} \times \frac{1}{14} \times \frac{1}{14} \times \frac{1}{14} P(ccv​∣d5​)=P(ccv​)∏w∈W​P(w∣ccv​)=21​×141​×141​×141​×141​

P(cnlp∣d5)=P(cnlp)∏w∈WP(w∣cnlp)=12×110×210×110×110 P(c_{nlp} \mid d_5) = P(c_{nlp}) \prod_{w\in W}P(w \mid c_{nlp}) = \frac{1}{2} \times \frac{1}{10} \times \frac{2}{10} \times \frac{1}{10} \times \frac{1}{10} P(cnlp​∣d5​)=P(cnlp​)∏w∈W​P(w∣cnlp​)=21​×101​×102​×101​×101​

1_naive_bayes.ipynbGoogle Docs
Logo