태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

초보 리눅서의 이야기

벡터 공간 모델 (Vector Space Model)

벡터 공간 모델(vector space model) 또는 term vector model은 텍스트 문서(혹은 어떤 다른 객체)를 식별자(예를 들어, 색인어(index term))들의 벡터로 나타내는 대수적인 모델입니다.
벡터 공간 모델은 정보 필터링과 정보 검색, 색인 그리고 유사도 순위를 매기는 데에 이용됩니다.

벡터 공간 모델의 정의

벡터 공간 모델에서 문서(document)는 벡터로 표현되며, 각각의 차원(dimension)은 개별 단어(term)에 대응됩니다. 만약, 문서 내에 특정 단어가 포함되어 있다면, 벡터 내에서 해당 차원은 0이 아닌 값을 갖게 됩니다. 단어 가중치(term weight)라고 하는 이 값을 계산하는 데에는 여러 가지 방법이 있으며, 가장 잘 알려진 방법 중의 하나는 tf-idf 가중치를 구하는 방법입니다.

단어(term)의 정의는 응용 분야에 따라서 달라집니다. 일반적으로 term은 하나의 단어이거나, 키워드, 아니면 더 긴 구(句)가 될 수도 있습니다. 만약, 단어가 term으로 선택된다면, 벡터의 차원 수(dimensionality)는 단어집(vocabulary) 내의 단어들의 숫자(언어 자료(corpus) 내에 들어있는 개별 단어들의 숫자)가 됩니다.

벡터 공간 모델의 응용

벡터 공간 모델은 키워드 검색시, 문서의 유사도 순위를 매기는 데에 응용될 수 있습니다. 문서 유사도 이론의 가정을 이용하여, 각각의 문서 벡터와 (쿼리를 문서들과 같은 종류의 벡터로 표현한) 쿼리 벡터 사이의 각도를 비교해서 유사도 순위를 매깁니다.
실제적으로, 벡터 사이의 각도를 계산하는 것보다 각도의 코사인 값을 계산하는 것인 더 쉽습니다. 벡터의 내적 구하는 공식으로부터 쉽게 유도할 수 있기 때문이죠.

사용자 삽입 이미지

코사인 값이 0인 경우는 쿼리와 문서 벡터가 직각인 경우로, 둘 간의 유사성이 전혀 없음을 의미합니다. (예를 들어, 검색어가 문서 내에 들어 있지 않은 경우)

tf-idf 가중치

tf-idf(term frequency-inverse document frequency) 모델이라고 알려진 고전적인 벡터 공간 모델에서는 문서 벡터 내의 단어 가중치(term weight)는 지역 매개 변수와 전역 매개 변수의 곱으로 계산됩니다. 문서 d의 가중치 벡터
사용자 삽입 이미지
이고,
사용자 삽입 이미지
입니다.
여기서, tft는 문서 d에서 단어 t가 등장하는 단어 빈도(term frequency)이며, (지역 매개 변수)
사용자 삽입 이미지
는 역 문서 빈도(inverse document frequency)입니다. (전역 매개 변수)
| D |는 전체 문서 수이며,
사용자 삽입 이미지
은 단어 t를 포함하고 있는 문서들의 숫자입니다.

더 간단한 Term Count Model에서는 단어 가중치를 계산할 때, 전역 매개 변수를 고려하지 않습니다. 대신, 단순히 단어가 등장하는 빈도수만 계산합니다.
wt,d = tft

벡터 공간 모델의 한계

  • 긴 문서들은 유사도 값이 작기 때문에, 제대로 표현되지 않습니다.
  • 검색 키워드는 문서 내의 단어와 정확하게 일치해야 합니다.
  • 비슷한 의미를 갖고 있는 문서들일지라도 사용된 단어가 다르면 연관성을 갖지 않게 됩니다.
  • 벡터 공간 표현에서는 단어들이 나타나는 순서가 무시됩니다.

벡터 공간 모델에 기반한 모델들

  • Generalized vector space model
  • (enhanced) Topic-based Vector Space Model
  • Latent semantic analysis
  • DSIR model
  • Term Discrimination

출처 : http://en.wikipedia.org/wiki/Vector_space_model

신고
  1. Favicon of http://huhspunk.tistory.com BlogIcon 해표  댓글주소  수정/삭제  댓글쓰기

    이번 학기 정보검색론에 대해 들었는데 잘 보구 갑니당~^^

    2008.06.04 15:46 신고
  2. Favicon of http://opensea.egloos.com BlogIcon 떠돌이  댓글주소  수정/삭제  댓글쓰기

    벡터 자체가 수2에서 나오던가요..저랑은 인연이 없..

    그나저나 스킨 바꾸셨군요^^

    2008.06.04 17:12 신고
  3. 이병희  댓글주소  수정/삭제  댓글쓰기

    질문이 하나 있는데요, Vector Space Model을 써서 문서들간의 유사성을 Scoring하는걸 하려면 어떠한 프로그램이나 컴퓨터언어를 써야하는지요? 그리고 혹시 Python programming language에 대해서도 아시는지요?

    2012.08.23 17:57 신고

1 ··· 11 12 13 14 15 16 17 18 19 ··· 440 
BLOG main image
초보 리눅서의 이야기
초보 리눅서의 프로그래밍 이야기
by 초보 리눅서

카테고리

분류 전체보기 (440)
프로그래밍 (29)
Emacs (16)
Linux (109)
프로그램 (209)
기타 (77)
tistory!get rss Tistory Tistory 가입하기!

티스토리 툴바