Study/데이터 분석

NLP의 이해

going.yoon 2022. 3. 26. 18:27

1. NLP ( natural Launguage Processing )

 : 텍스트에서 의미있는 데이터를 처리하는 기술. 자연어는 기계어에 비해 처리하기가 어렵기 때문에 전처리 과정이 필요한데,

Tokenization, cleaning, normalization 단계를 거친다.

 

  • 토큰 : 문법적으로 이상 나눌 없는 언어 요소
  • OOV : Out of Vocabulary - 구축한 단에 사전에 단어가 없어 null값으로 처리됨. 단어사전수가 많아지면 Vector 수가 많아지고, 단어 사전 수가 적으면 예측력이 떨어지기 때문에 적절한 단어사전의 수를 정하는 것이 중요하다. 
  • 형태소 분석과 명사 추출 : Token 만들 형태소나 명사 단위로 추출을 하는 방법.
  • BPE : 형태소와 명사 추출 방법 라이브러리에서는 구어체의 경우에 정확도가 많이 떨어지기때문에 사용하는 방법.

 

 

2. Natural Language Embedding

  • 자연어를 다차원의 벡터로 매핑시켜주는 . 

 

3. 처리 방법

 - One Hot Encoding : 단어들을 vocabulary vector(2 행렬) 넣어놓고, 발생했는지 안했는지만 0 1 count하는 방법

 - Back of Word : 단어당 1차원 리스트를 만들어놓고 row 몇번 등장했는지를 count한다

 - TF-IDF(term frequency - inverse document frequency) : 딥러닝은 오래 걸리고, 핵심 키워드별로 정리를 하자 했을때 유용하게 쓰이는 알고리즘.

  : 여러 문서로 이루어진 문서 군이 있을 어떤 단어가 특정 문서 내에서 얼마나 중요한 것인지릘 나타내는 통계적 수치 TF * IDF 값을 벡터로 저장.

    - TF : 특정 문서에서 특정 단어의 등장 횟수

    - IDF : 특정 단어가 등장한 문서의 역수 ex. 보험기사에서 보험이 너무 많이나오면 이는 중요한 데이터는 아니라고 판단하는 .

 - WORD2Vec : 머신러닝을 이용해서 단어를 임베딩하는 알고리즘. 단어 벡터간의 유의미한 유사도를 반영할 있도록 의미를 수치화하는 방법.

    : 중심 단어를 기준으로 분석하는데 앞뒤로 토큰을 몇개를 분석할건지는 window size 파라미터로 조절한다.

    : 중심단어 앞의 데이터를 Input Layer 분석 - > CBOW

    : 중심단어 뒤의 데이터를 Output Layer 분석 -> Skip gram

  • ELMO and BERT : 단어 단위의 머신러닝 분석 방법은 중의어에 취약하다. 그래서 딥러닝 방식으로 분석기법이 나온게 엘모엔버트.
    - 나는 나비가 좋다, 하늘을 나는 나비에서나는 문맥을 고려하는게 중요함.
    - 현업에서는 Generation보다 Classification 대한 요구가 많기 때문에 BERT 보통 많이 사용함
    - OpenAI GPT Decoder이기 때문에 텍스트를 새로 Generation하는 경우(챗봇) 많이 사용함
    - 요새는 GPT 기반의 classification 모델도 많음.
  • KILT : Open Domain QA, Dialogue(문맥 분석), Fact Checking, Entity Linking ( 데이터베이스와 키워드 맵핑 )

 

 

4. 처리 순서

  • 형태소 분석
  • 구문 분석 
  • 의미 분석 : 선생님이 교실에 오신다.
  • 화용 분석 : 그러니까 조용히 해야겠다. 실세계와 가지는 연관관계를 분석
  • 객체명 인식 : Named Entity Recognition ( Entity Linking 유사)
  • 스팸메일 탐지 : Recall 보다 Precision 훨씬 중요함. 스팸메일이 아닌데 스팸메일로 판단하는게 위험하기 때문
  • 토픽 모델 
  • 번역기
  • 자동 요약:  핵심 주제를 파악하고, 핵심 주제가 무엇인지 새로운 문장을 만들어주는

 

5. NER : Named Entity Recognition

  • 이름을 가진 개체(Entity) 인식하는 . 정보 추출의 하위범주의 비정형 텍스트에서 미리 정의된 레이블(이름, 기관, 장소, 의료코드, 시간 ) 개체를 분류하는 .
  • 검색 기능 향상 : Text Data에서 PER : 홍길동, OG : 삼성전자, TI: 10시경, AFM: 아반떼 객체 명을 추출한 , 추출된 객체정보고 문서를 검색
  • Tensorboard 사용하면 시각화가 매우 유용함. PSA : 차원 축소 분산이 가장 정도로 축소시킴.

 

6. 감성분석 

  • 긍정과 부정 또는 중립으로 구분하는
  • 기반 감성분석 : 사용자 사전 생성 매칭을 하는데, 이때 단점은 룰이 많아지면 나중에는 side effect 커지기 때문에 추가/수정이 어려워짐.

'Study > 데이터 분석' 카테고리의 다른 글

CNN의 이해  (0) 2022.03.26
데이터 과학과 AI  (0) 2022.03.26