AI

태태코딩 - 자연어처리(word-net, tf,df,idf,pmi)

태태코 2026. 3. 28. 18:56
반응형

자연어처리모델

 

단어의 의미를 정확하게 하는 것이 가장 중요하다.

 

  1. 유의어
    ex) happy & joyful
  2. 반의어
    ex) hot & cold
  3. 포함
    ex) rose [ flower
  4. 다의어
    ex) mouse - 쥐, 기계

 

Lemmas

각 단어를 대표하는 표제형
ex) better,best => good

 

 

실제 LLM 자연어 처리할 때 명시적으로 사용하지는 않지만 tokenizer 시 사용한다고 한다.

 

유의,반의,포함,다의어 모두 긍정부정, 맥락 언어는 다양하다.

그렇다면 자연어는 어떻게 처리하는가?

 

 

WordNet

 

단어의 의미를 나타내기 위해 학자들이 만든 언어사전


*문장이들어오면 각 단어가 wordnet을 통해서 여러가지 의미로 구분되고, 가장 빈번하게 나타나는 단어를 체택한다.

 

단점:
     그냥 통계적인 기법이기 때문에, 맥락을 잘 파악하지 못한다는 단점을 가진다.

      또한 신조어나 다양한 단어를 지속적으로 업데이트하는 일에 한계를 가진다.

 

 

Representing Texts with vectors

 

단어를 벡터화 시켜서 계산하여 관계를 나타낸다.

 

cos연산을 통해서 vector의 유사도를 구한다.

v = [1,0,1,0] 

w= [0,1,1,0]

백터의 내적

백터의 크기

백터의 코사인 유사도

 

 

 

One-hot-encoding vector

각 자리의 index에 0,1을 통해서 나타낸 벡터

 

v = {good,feel,nice,sad,sea}

vgood = [1,0,0,0,0]

vfeel = [0,1,0,0,0]

 

 

*코사인 유사도를 계산했을 때 의미가없는 값이 나온다.

 

 

 

Term-Document Matrix, Document Similarity

 

행을 document 열을 단어로 놓고 빈도수를 통해서 문서끼리 코사인 유사도구하기

 

 

*코사인 유사도를 구했을 때, 같은 장르에 문서가 유사하게 나오는 결과를 확인할 수 있었다.

 

Word-word Matrix

    Context개념을 document 단어가 아닌 그 전 문장과 그 후 문장의 맥락을 봐야 더 정확하다고 인지

 

 

행과 열을 각 중심단어를 기준으로 코사인 계산을 해보았을 때도 마찬가지로, 앞뒤 맥락을 잘 파악하는 것으로 계산 결과가 나왔다.

 

한계:

     지금 가지고 있는  context에 없을 경우에 낮은 빈도를 나타낸다.

 

 

 

단순히 자주 등장하는게 좋은 것이 아닐 수도 있나는 가정을 가지고, 그냥 흔한건 패널티, 진짜 필요한 부분에 나온것은 높은 점수를 가지자는 이야기가 나옴.

 

 

TF/DF/IDF

특정 구간이 지나면 증가의 폭을 줄이는 로그함수를 통해서, 너무 값이 높게 튀는 것을 방지한 방법이다.

 

특정 Document에만 빈번하게 나온것이 좋은 것이고, 다 빈번하게 나오면 중요도를 깍는다.
문서에 있으면 1 없으면 0 을 대입하여 SUM

 

 

 

 

IDF는 DF에 역수와 로그를 취한 값

 

  1. 희귀 단어의 가중치 폭발 방지: 전체 문서 수가 커질수록, 아주 드물게 등장하는 단어의 IDF 값은 기하급수적으로 커집니다. 로그를 씌워 이 수치를 적절히 희석해준다.
  2. 0으로 수렴 방지: 모든 문서에 등장하는 단어\의 경우, $\log(1) = 0$이 되어 해당 단어의 영향력을 완전히 제거할 수 있다.

 

 

 

 

 

  1. TF(Term Frequency): "이 문서 안에서 이 단어가 얼마나 중요한가?" (많이 나올수록 좋음)
  2. IDF(Inverse Document Frequency): "이 단어가 전체 문서군 사이에서 얼마나 유니크한가?" (적은 문서에 나올수록 좋음)

 

 

 

 

PMI

 

확률기반을 통해서 우연히 나온 단어인지, 진짜 연관이 있는 단어인지를 확인한다.

 

GPT

 

 

 

즉 실제로 나타날 확률을 우연히 나타날 확률로 나눠서 두 단어의 연관관계를 실제로 파악하는 지표이다.

 

 

반응형