CS 지식/검색 모델

언어 모델

윤씅 2024. 8. 9. 22:47

📊 언어모델이란?

  • 여러 단어로 이루어진 열에 확률 값을 매김
  • 음성 인식에 사용

 

  • unigram language model 
    • 가정 : 각 단어의 등장 확률은 서로 독립적이다.
    • 각 단어의 확률을 곱해서 구한다. 다음이 언어모델이다.
    • P(d|q) : 쿼리가 주어졌는데 해당 문서가 정답일 확률
        1. P(q)는 모든 상황에 같기 때문에 무시한다.
        2. P(d)는 질의와 상관없기 때문에 무시한다.
        3. 결국 P(d|q) ∝ P(q|d) 이다.
        4. 질의에 맞는 문서의 확률을 구하는 것보다, 문서가 주어졌을 때 쿼리의 확률을 구하는 것이 더 쉽다.
        5. 하나의 질의는 여러개의 단어로 구성되어 있고, 각 단어의 확률은 독립적으로 작용한다.
        6. 각 단어의 등장확률을 곱해준다.
    • 문서 d가 주어졌을 때, term의 등장 확률 : 최대 가능도 (Maximum Likelihood Estimation - MLE)
    • 하지만 확률이 0인 요소가 있어 결론이 0이 되어버린다. ➜ smoothing 필요


    • Mixture model
      • 전체 문서들에서의 tf를 활용한다.



📊 언어모델 VS Vetor Space model

  • 공통점
      1. tf가 들어있다.
      2. |d|처럼 길이 정규화가 되어있다.
      3. 언어모델에서 스무딩한 결과는 idf와 결과가 유사해진다.

 

  • 차이점
      1. 언어모델은 확률을 기반을 했고, vector space는 휴리스틱한 부분이 있다
      2. 언어모델에서는 collection frequency를 사용하였다.