[김기현의 자연어 처리 딥러닝 캠프] 5장. 유사성과 모호성 (개념) - (1) (2022/03/10)

gromit·2022년 3월 10일
0

단어의 의미/원핫 인코딩/시소러스를 활용한 단어 의미 파악/특징 추출하기: TF-IDF/특징 벡터 만들기

  • “Context” → 사람은 주변 정보(= Context)를 파악하여 각 단어에 숨겨진 의미를 파악하고 이해함

  • 용어 단어 중의성 해소(WSD) : 단어가 가지는 모호성을 제거하는 과정 ⇒ 효과: 자연어 처리의 성능 높임

  • 단어

  • 불연속적인 심볼로써 이산 확률 변수로 나타냄 → 값을 불연속적으로 가짐

  1. 원핫 인코딩
  • 원핫 인코딩의 벡터의 차원은 보통 Vocab 의 개수 (30,000~100,000)
  • <문제점>
    (1)벡터의 차원이 너무 크다
    (2)많은 부분이 0으로 가득찬 sparse vector(희소 벡터) → 벡터 간 유사도 등 연산 시 결과값이 0으로 수렴 → 서로 유사한 경우지만 유사도가 0이 나옴 or 상대적으로 관계가 적어도 유사도가 0이 나옴
    (3)차원의 저주에 따라, 차원이 늘어날수록 이와 정보를 표현하는 점(벡터)가 낮은 밀도로 희소하게 퍼져있는 문제가 지수적으로 늘어남

<차원 축소의 필요성으로 등장한 방법>

  • Thesaurus(시소러스)를 활용한 단어 의미 파악 :
  • ex) Wordnet (1985년)
  • <구조> 계층적 구조, 트리 구조가 아닌 유향 비순환 그래프 DAG(directed acyclic graph)
  • <장점> 코퍼스(Training set)가 없어도 단어간 유사도를 구할 수 있음
  • <한계>
    (1)사전 구축에 너무 큰 비용과 시간 소요
    (2)특정 도메인(수집된 데이터)에 특화된 수치를 계산하고 싶은 경우 어려움
    (3)신조어 or 사전에 등록되지 않은 단어 문제
    (4)단어의 의미가 과거와 다르게 변화한 경우 문제
  • <배운점> : Data-driven 방식의 필요성..!
  1. 특징 벡터(Feature Vector)
  • ex) TF-IDF
  • 출현 빈도를 이용하여 어떤 단어 w가 문서 d 내에서 얼마나 중요한지 나타내는 수치 (수치가 높을수록 해당 단어가 해당 문서를 대표하는 성질을 띈다)
  • <가정> 의미가 비슷한 단어라면, 쓰임새/역할 역시 비슷할 것이고 함께 나타나는 단어들이 유사할 것이다.
  • <한계>
    (1)문서가 지나치게 많을 시, 여전히 벡터의 차원이 커지는 문제
    (2)여전히 sparse vector(희소 벡터)
    (3)단순히 문서에서의 ‘출현 횟수’만으로 특징 벡터를 구성하다 보니 많은 정보가 유실됨
    (4)단순한 원리로 아주 정확한 특징 벡터를 구성하기에는 무리
  1. Context Window로 함께 출현한 단어들의 정보 활용하기
  • 동시발생(Co-Occurrence) 단어들을 활용한 방법, 각 단어별로 윈도우 내에 속해 있는 이웃 단어들의 출현 빈도를 세어 행렬로 나타내는 ‘Windowing’ 실행
  • <가정> 의미가 비슷한 단어라면, 쓰임새/역할 역시 비슷할 것이고 함께 나타나는 단어들이 유사할 것이다.
  • <장점> TF-IDF 보다 더 정확
  • <한계>
    (1)‘윈도우 크기’라는 하이퍼파라미터 추가 → 적절한 크기를 정하는 문제
    (2)여전히 sparse vector(희소 벡터)


단어를 벡터로 표현하는 방식의 구분

➕) 딥러닝독학! (5) simple word2vec- 밑바닥부터시작하는딥러닝 2

  • 밑바닥부터시작하는딥러닝 2에서는 단어를 벡터로 표현하는 방법을 크게 통계 기반 기법와 추론 기반 기법로 나누고 있음
  • 용어 통계 기반 기법(ex. 특이값 분해(Singular Value Decomposition, SVD)) VS. 추론 기반 기법(ex. 신경망)
  • 통계 기반 기법이 김기현의 자연어 처리 딥러닝 캠프 에서 [5장. 유사성과 모호성 ()] VS. 추론 기반 기법 이 [6장. 단어 임베딩 (word2vec 계열 - CBOW/Skip-gram, Glove 계열 - FastText)]
  • (김기현은 전통적인 방식의 자연어 처리 VS. 딥러닝에서의 자연어 처리 라고 자주 표현함)


단어를 벡터로 표현하는 기법의 발전동향

➕) word2vec 이해를 위한 개념 정리 part1
1. 희소 표현(Sparse Represents)
2. 밀집 표현(Dense Representation)
3. 워드 임베딩(Word Embedding)
4. 분산 표현(Distributed Representatin)
5. 신경망에서의 단어 처리

profile
AI, Big Data, Industrial Engineering

0개의 댓글