맨위로가기

잠재 의미 분석

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

잠재 의미 분석(LSA)은 1960년대에 개발된 자연어 처리 기술로, 문서 내 단어의 출현 빈도를 분석하여 단어와 문서 간의 잠재적인 의미 관계를 파악한다. LSA는 단어-문서 행렬에 특이값 분해(SVD)를 적용하여 차원을 축소하고 잠재 의미 공간을 생성하며, 이 공간에서 단어와 문서 간의 코사인 유사도를 계산하여 의미적 유사성을 파악한다. 정보 검색, 자동 문서 분류, 텍스트 요약 등 다양한 분야에서 활용되며, 동의어 및 다의어 문제를 해결하여 검색 성능을 향상시킨다. 하지만 단어 순서를 고려하지 못하고 다의성을 부분적으로만 포착하는 한계가 있으며, 잠재 의미 공간의 차원을 결정하는 것이 어렵다는 단점이 있다. LSA와 관련된 기술로는 확률적 잠재 의미 분석(pLSA), 잠재 디리클레 할당(LDA), 의미적 해싱, Word2Vec 등이 있다.

더 읽어볼만한 페이지

  • 잠재 변수 모형 - 토픽 모델
    토픽 모델은 텍스트 데이터에서 문서의 주제를 찾기 위해 사용되는 통계적 모델링 방법으로, 잠재 의미 분석(LSI)에서 잠재 디리클레 할당(LDA)까지 다양한 모델이 개발되어 텍스트 데이터 분석 외 여러 분야에 응용되며, Mallet, Gensim 등의 도구로 사용 가능하다.
  • 잠재 변수 모형 - 레이몬드 카텔
    레이몬드 카텔은 심리학, 특히 성격, 능력, 동기 연구에 큰 영향을 미친 영국의 심리학자로, 다변량 연구 방법론을 개척하고 지능 구조를 밝히며 16가지 성격 요인 모델을 제시했지만, 말년에 인종과 우생학에 대한 관점으로 논란이 되었다.
  • 정보 검색 기술 - 해시태그
    해시태그는 2007년 트위터에서 관심 주제를 묶기 위해 제안되어 마이크로블로깅 네트워크에서 널리 사용되기 시작했으며, 다양한 분야에서 활용되고 언어학적 분석의 대상이 되기도 한다.
  • 정보 검색 기술 - 개인화
    개인화는 청중의 요구에 맞춰 맞춤형 경험을 제공하는 행위로, 웹사이트, 지도 등 다양한 매체에서 사용자의 특성을 기반으로 하며, 필터 버블과 같은 사회적 영향을 미칠 수 있다.
  • 의미 유사도 - 반의어
    반의어는 의미가 반대되는 낱말이나 어구로, 한자 구성 방식이나 의미상 관계에 따라 분류되지만, 품사가 항상 같지 않고 문맥에 따라 관계가 달라지는 모호성을 지니며, 언어의 문화적 배경과 사용 문맥에 의존한다.
  • 의미 유사도 - 시맨틱 네트워크
    시맨틱 네트워크는 개념 간의 관계를 표현하는 지식 표현 방법으로, 노드와 링크를 사용하여 지식을 구조화하며 인공지능, 언어학 등 다양한 분야에서 활용된다.
잠재 의미 분석
개요
유형자연어 처리 기술
분야정보 검색
텍스트 마이닝
자연어 처리
상세 정보
설명문서 집합에서 단어와 개념 간의 관계를 분석하는 데 사용되는 자연어 처리 기술이다.
목적문서 내 잠재 의미 구조 파악
검색 결과의 정확성 향상
작동 방식단어-문서 행렬 생성
특이값 분해(SVD) 적용
차원 축소
잠재 의미 공간 생성
활용 분야정보 검색
텍스트 분류
문서 요약
교차 언어 정보 검색
장점동의어 및 다의어 처리
인간의 인지 능력 모방
단점계산 비용 높음
대규모 데이터 필요
새로운 단어/문서 추가 시 SVD 재계산 필요
관련 기술잠재 디리클레 할당 (LDA)
단어 임베딩 (Word Embedding)
개발자수잔 T. 듀마이스(Susan T. Dumais)
조지 W. 퍼나스(George W. Furnas)
토마스 K. 랜다우어(Thomas K. Landauer)
스콧 디어웨스터(Scott Deerwester)

2. 역사


  • '''1960년대 중반''' – 요인 분석 기법이 처음으로 설명되고 테스트되었다 (H. Borko 및 M. Bernick).
  • '''1988년''' – 잠재 의미 분석(LSA) 기술에 대한 중요한 논문이 발표되었다.[22]
  • '''1989년''' – LSA 관련 최초 특허가 등록되었다.[22]
  • '''1992년''' – 잠재 의미 색인(LSI)을 사용하여 학술 기사를 심사자에게 할당하는 방식이 처음으로 사용되었다.[32]
  • '''1994년''' – LSI의 상호 언어적 적용에 대한 특허가 등록되었다 (Landauer 외).
  • '''1995년''' – 에세이 채점에 LSI가 처음으로 사용되었다 (Foltz 외, Landauer 외).
  • '''1999년''' – SAIC에서 정보 기관을 위한 비정형 텍스트 분석에 LSI 기술을 최초로 구현하였다.
  • '''2002년''' – SAIC에서 정보 기반 정부 기관에 LSI 기반 제품을 제공하기 시작하였다.

3. 작동 원리

잠재 의미 분석(LSA, Latent Semantic Analysiseng) 또는 잠재 의미 색인(LSI, Latent Semantic Indexingeng)은 텍스트 모음에서 단어들 간의 숨겨진 의미적 관계, 즉 개념적 상관 관계를 파악하기 위해 선형대수 기법을 활용하는 기술이다.

이 과정은 일반적으로 다음과 같은 단계로 이루어진다.

# 문서 집합 내 각 단어의 중요도를 반영한 가중치 단어-문서 행렬을 구성한다.

# 구성된 행렬에 특잇값 분해(Singular Value Decomposition, SVD)라는 수학적 기법을 적용하여 행렬을 분해하고, 정보 손실을 최소화하면서 차원 축소를 수행한다. (자세한 내용은 특이값 분해(SVD) 참조)

# 분해되고 축소된 행렬 정보를 이용하여 단어와 문서 뒤에 숨어 있는 잠재 의미 공간(개념)을 식별하고 분석한다.

600px


이러한 과정을 통해 LSA는 단순히 단어의 표면적인 출현 빈도뿐만 아니라, 문맥 속에서 단어들이 어떻게 함께 사용되는지를 분석하여 동의어나 관련 주제처럼 직접적으로 드러나지 않는 의미적 유사성을 찾아낼 수 있다.

3. 1. 출현 행렬 (Term-document matrix)

잠재 의미 분석(LSA)은 문서 내 단어(용어)의 출현 빈도를 나타내는 출현 행렬(occurrence matrix) 또는 단어-문서 행렬(term-document matrix)을 사용한다.[22] 이 행렬은 각 행이 용어에 해당하고, 각 열이 문서에 해당하는 희소 행렬이다.

행렬의 각 요소(셀) 값, 즉 가중치는 해당 문서에서 특정 단어가 얼마나 자주 나타나는지를 나타낸다. 일반적으로 tf-idf(단어 빈도-역 문서 빈도)와 같은 가중치 기법이 사용된다. tf-idf는 특정 문서 내에서 자주 등장하는 단어일수록 높은 값을 가지지만, 전체 문서 집합에서 흔하게 나타나는 단어의 가중치는 낮춘다. 반면, 특정 문서에 집중적으로 나타나는 희귀한 단어에는 더 높은 가중치를 부여하여 단어의 상대적 중요성을 반영한다.

수학적으로 행렬 X의 요소 (i,j)는 단어 i가 문서 j에 나타난 횟수(빈도)를 의미할 수 있다. 행렬 X는 다음과 같이 표현될 수 있다.

:

\begin{matrix}

& \textbf{d}_j \\

& \downarrow \\

\textbf{t}_i^T \rightarrow &

\begin{bmatrix}

x_{1,1} & \dots & x_{1,j} & \dots & x_{1,n} \\

\vdots & \ddots & \vdots & \ddots & \vdots \\

x_{i,1} & \dots & x_{i,j} & \dots & x_{i,n} \\

\vdots & \ddots & \vdots & \ddots & \vdots \\

x_{m,1} & \dots & x_{m,j} & \dots & x_{m,n} \\

\end{bmatrix}

\end{matrix}



여기서 각 행 벡터 \textbf{t}_i^T는 단어 i와 각 문서와의 관계를 나타내는 단어 벡터(term vector)이다.

:\textbf{t}_i^T = \begin{bmatrix} x_{i,1} & \dots & x_{i,j} & \dots & x_{i,n} \end{bmatrix}

마찬가지로, 각 열 벡터 \textbf{d}_j는 문서 j와 각 단어와의 관계를 나타내는 문서 벡터(document vector)이다.

:\textbf{d}_j = \begin{bmatrix}

x_{1,j} \\

\vdots \\

x_{i,j} \\

\vdots \\

x_{m,j} \\

\end{bmatrix}

이 행렬은 표준적인 의미 모델에서도 사용되지만, 반드시 행렬 형태로 명시적으로 표현되거나 수학적 속성이 활용되는 것은 아니다.

두 단어 벡터의 내적 \textbf{t}_i^T \textbf{t}_p는 문서 집합 전체에서 두 단어 간의 상관 관계를 나타낸다. 마찬가지로 두 문서 벡터의 내적 \textbf{d}_j^T \textbf{d}_q는 단어 집합 전체에서 두 문서 간의 상관 관계를 보여준다. 행렬 곱셈 X X^T는 모든 단어 간의 상관 관계를, X^T X는 모든 문서 간의 상관 관계를 담고 있다.

LSA는 이 출현 행렬에 특이값 분해(SVD)라는 수학적 기법을 적용하여 단어와 문서 뒤에 숨겨진 잠재적인 의미 구조(개념)를 분석한다.

3. 2. 특이값 분해 (Singular Value Decomposition, SVD)



잠재 의미 분석(LSA)은 주어진 단어-문서 행렬에 특이값 분해(Singular Value Decomposition, SVD)라는 수학적 기법을 적용하여 텍스트 데이터에 숨어있는 의미 구조를 파악하는 방법이다.[22] SVD는 원래의 행렬을 세 개의 다른 행렬로 분해하여 데이터의 차원 축소를 가능하게 한다.

LSA는 단어-문서 행렬(발생 행렬)을 구성한 후, 이 행렬에 낮은 랭크 근사치[5]를 적용하는데, 이때 SVD가 핵심적인 역할을 한다. 낮은 랭크 근사치를 사용하는 이유는 다음과 같다.

  • 원본 행렬의 크기가 너무 커서 계산 자원이 부족할 때, 더 작은 크기의 근사 행렬을 사용한다. ("최소한의 필요악")
  • 원본 행렬에 포함된 잡음(noise)이나 불필요한 정보(예: 항목의 일화적 사례)를 제거하여 데이터의 본질적인 구조를 파악하고자 할 때 사용한다. 근사된 행렬은 원본보다 더 정제된 "잡음 제거된 행렬"로 간주될 수 있다.
  • 원본 행렬이 지나치게 희소할 때, 즉 문서에 실제로 사용된 단어만 포함되어 관련 단어(예: 동의어) 정보가 부족할 때, 근사를 통해 잠재적인 연관성을 보강한다.


SVD는 ''m'' × ''n'' 크기의 원본 단어-문서 행렬 A (''m''은 고유 단어 수, ''n''은 문서 수)를 세 행렬의 곱으로 분해한다.[35]

A = U \Sigma V^T

여기서,

  • U는 ''m'' × ''r'' 크기의 직교 행렬로, 열벡터 \textbf{u}_i는 좌특이 벡터이며, U의 행 \hat{\textbf{t}}_i^T는 단어 i를 개념 공간에서 나타내는 벡터와 관련된다.
  • \Sigma는 ''r'' × ''r'' 크기의 대각 행렬로, 대각 성분은 행렬 A의 특이값(\sigma_1, \sigma_2, ..., \sigma_r)이며, 내림차순으로 정렬되어 있다 (\sigma_1 \geq \sigma_2 \geq \ldots \geq \sigma_r > 0). ''r''은 행렬 A랭크로, r \le \min(m, n)이다.
  • V^T는 ''r'' × ''n'' 크기의 직교 행렬 V전치 행렬로, V의 열벡터 \textbf{v}_j는 우특이 벡터이며, V^T의 열 \hat{\textbf{d}}_j는 문서 j를 개념 공간에서 나타내는 벡터와 관련된다.


LSA의 핵심은 이 분해된 행렬에서 가장 중요한 정보만을 남기고 차원을 축소하는 것이다. 이는 특이값 행렬 \Sigma에서 가장 큰 ''k''개의 특이값(\sigma_1, ..., \sigma_k)과 이에 해당하는 UV의 벡터들만 선택하여 새로운 근사 행렬 A_k를 만드는 방식으로 이루어진다. 여기서 ''k''는 원본 랭크 ''r''보다 훨씬 작은 값(일반적으로 100에서 300 차원 정도)을 사용한다.

A \approx A_k = U_k \Sigma_k V_k^T

  • U_k: U의 첫 ''k''개 열벡터로 구성된 ''m'' × ''k'' 행렬.
  • \Sigma_k: \Sigma의 첫 ''k''개 특이값으로 구성된 ''k'' × ''k'' 대각 행렬.
  • V_k^T: V^T의 첫 ''k''개 행벡터(즉, V의 첫 ''k''개 열벡터의 전치)로 구성된 ''k'' × ''n'' 행렬.


이 과정을 절단된 SVD(Truncated SVD)라고 한다. 이 랭크-k 근사 A_k는 프로베니우스 노름 기준으로 원본 행렬 A를 가장 잘 근사하는 행렬이다.

차원 축소는 단순히 데이터 크기를 줄이는 것 이상의 의미를 가진다.

  • 중요도가 낮은 특이값들을 제거함으로써 원본 데이터의 잡음을 줄이는 효과가 있다.
  • 원본 행렬에서는 직접적으로 드러나지 않았던 단어와 단어, 문서와 문서, 단어와 문서 간의 잠재적인 의미 관계(예: 동의어나 관련 주제)를 포착할 수 있다. 예를 들어, '자동차'와 '트럭'처럼 의미적으로 유사한 단어들은 축소된 차원 공간에서 가깝게 표현될 수 있다.

:: {(자동차), (트럭), (꽃)} → {(1.3452 * 자동차 + 0.2828 * 트럭), (꽃)} (예시)

  • 다의어 문제도 일부 완화될 수 있다. 여러 의미를 가진 단어라도 특정 문맥에서 주로 사용되는 의미 방향의 성분이 강화되고 다른 의미 방향의 성분은 약화되거나 상쇄될 수 있다.


효율적인 LSI 알고리즘은 전체 SVD를 계산한 후 절단하는 대신, 처음 ''k''개의 특이값과 해당 특이 벡터들만 직접 계산하는 방식을 사용하기도 한다.

이러한 랭크 축소 과정은 행렬 A에 대해 주성분 분석(PCA)을 수행하는 것과 유사하지만, PCA는 데이터를 평균 중심으로 이동시키는 전처리를 포함하는 반면 SVD는 그렇지 않다는 차이가 있다. PCA는 원본 행렬의 희소성을 잃게 만들어 대규모 어휘집의 경우 실현 불가능하게 만들 수 있다.

SVD를 통해 얻어진 축소된 차원의 벡터들, 즉 개념 공간 벡터를 이용해 다음과 같은 작업이 가능하다.

  • 문서 벡터 \hat{\textbf{d}_j} = \Sigma_k^{-1} U_k^T \textbf{d}_j\hat{\textbf{d}_q}를 (일반적으로 코사인 유사도로) 비교하여 문서 jq의 의미적 유사도를 파악하고, 이를 통해 문서 클러스터링을 수행할 수 있다.
  • 단어 벡터 \hat{\textbf{t}_i} = \Sigma_k^{-1} V_k^T \textbf{t}_i\hat{\textbf{t}_p}를 비교하여 단어 ip의 의미적 유사도를 파악하고, 개념 공간에서 단어 클러스터링을 수행할 수 있다.
  • 새로운 쿼리(검색어) q가 주어졌을 때, 이를 짧은 문서로 간주하여 개념 공간 벡터로 변환(\hat{\textbf{q}} = \Sigma_k^{-1} U_k^T \textbf{q})한 후, 기존 문서 벡터들과 비교하여 의미적으로 가장 관련성이 높은 문서를 검색한다. 이는 쿼리와 문서가 동일한 단어를 포함하지 않더라도 가능하다.

3. 3. 잠재 의미 공간 (Latent Semantic Space)

특이값 분해(SVD)를 통해 얻어진 행렬 T''k''D''k''는 단어와 문서를 위한 벡터 공간을 정의한다. 이 계산된 특이값 S''k''와 함께, 이 공간은 문서 모음에서 추출된 개념적 정보를 담고 있다. 이 공간을 잠재 의미 공간(Latent Semantic Space)이라고 부른다.

잠재 의미 공간은 원본 문서-단어 행렬보다 훨씬 낮은 차원을 가지며, 이 공간 내에서 각 단어와 문서는 저차원의 벡터로 표현된다. 예를 들어, 원래 행렬 X가 SVD를 통해 X = U \Sigma V^T로 분해되고, 이를 k개의 주요 특이값으로 근사하여 차원을 축소하면 X_k = U_k \Sigma_k V_k^T가 된다. 여기서 U_k의 행 벡터 \hat{\textbf{t}_i}는 단어 i를, V_k의 행 벡터 \hat{\textbf{d}_j} (원래 V_k^T의 열 벡터)는 문서 j를 잠재 의미 공간상의 벡터로 나타낸다. 각 벡터는 k개의 차원(개념)을 가지며, 각 차원은 해당 단어 또는 문서가 특정 잠재적 개념과 얼마나 관련 있는지를 나타낸다.

이 공간에서 두 벡터(단어-단어, 문서-문서, 단어-문서) 사이의 거리는 의미적 유사성을 나타낸다. 일반적으로 벡터 간 각도의 코사인 값을 사용하여 유사성을 계산한다. 코사인 값이 1에 가까울수록 두 벡터가 가리키는 방향이 비슷하며, 이는 해당 단어들이나 문서들이 의미적으로 유사함을 의미한다. 이를 통해 다음과 같은 작업이 가능하다.

  • 문서 벡터들(\hat{\textbf{d}_j}, \hat{\textbf{d}_q})을 비교하여 의미적으로 유사한 문서를 찾거나 문서를 클러스터링할 수 있다.
  • 단어 벡터들(\hat{\textbf{t}_i}, \hat{\textbf{t}_p})을 비교하여 동의어나 관련어를 찾거나 단어를 클러스터링할 수 있다.
  • 사용자의 쿼리를 짧은 문서로 간주하여 잠재 의미 공간상의 벡터 \hat{\textbf{q}}로 변환한 뒤(\hat{\textbf{q}} = \Sigma_k^{-1} U_k^T \textbf{q} 공식을 사용), 기존 문서 벡터들과 비교하여 관련 문서를 검색할 수 있다. 이를 통해 쿼리에 사용된 단어가 문서에 없더라도 의미적으로 관련된 문서를 찾을 수 있다.


차원을 축소하는 과정(k값 선택)은 다음과 같은 이유로 중요하다.

  • 노이즈 제거: 원본 행렬의 사소하거나 우연적인 단어 사용 패턴(노이즈)을 제거하여 주요 의미 구조를 부각시킨다.
  • 희소성 문제 완화: 대부분의 값이 0인 희소 행렬에서 단어와 문서 간의 숨겨진 관계를 더 잘 포착한다.
  • 동의어 문제 완화: '자동차'와 '트럭'처럼 의미는 비슷하지만 다른 단어들이 잠재 의미 공간에서는 서로 가깝게 위치하게 된다. 차원 축소 과정에서 이들의 공통된 의미적 특징이 같은 차원으로 통합될 수 있다. 예를 들어, {(자동차), (트럭), (꽃)}과 같은 단어 집합이 차원 축소를 통해 {(1.3452 * 자동차 + 0.2828 * 트럭), (꽃)}과 같이 유사한 단어들이 하나의 차원으로 합쳐질 수 있다.
  • 다의어 문제 완화: 하나의 단어가 여러 의미를 가질 때(예: '배'), 각 의미는 서로 다른 개념(차원)과 연관되어 표현될 수 있어 문맥에 따른 의미 구분이 가능해진다. 다의어의 성분이 여러 유의미한 차원으로 분산되어 통합되면 다의성 문제가 완화될 수 있다.


새로운 문서를 기존의 LSA 인덱스에 추가하는 것을 "폴딩 인(folding-in)"이라고 한다. 이는 새로운 문서 벡터를 \hat{\textbf{d}}_{\text{new}} = \Sigma_k^{-1} U_k^T \textbf{d}_{\text{new}} 공식을 사용하여 기존의 잠재 의미 공간에 투영하는 과정이다. 이 방법은 계산이 빠르다는 장점이 있지만, 새로운 문서에 포함된 새로운 단어나 개념이 기존 모델 자체를 업데이트하지는 못한다. 많은 문서를 폴딩 인 방식으로 추가하면 검색 성능은 유지될 수 있으나, 새로운 개념을 반영하려면 전체 SVD를 다시 계산하거나 증분 업데이트 방법[14]을 사용해야 한다.

4. 응용 분야

잠재 의미 분석(LSA)은 정보 검색, 자연어 처리(NLP), 인지 과학, 전산언어학 등 다양한 분야에 걸쳐 응용되며, 여러 종류의 응용 프로그램을 지원하기 위해 구현되었다. LSA를 통해 생성된 저차원 의미 공간은 다음과 같은 다양한 목적으로 활용될 수 있다.


  • 저차원 공간에서 문서를 비교하여 데이터 클러스터링이나 문서 분류를 수행한다.
  • 번역된 문서 집합을 분석하여 여러 언어 간 유사한 문서를 찾는 교차 언어 정보 검색에 활용한다.
  • 동의어다의어와 같은 용어 간의 관계를 파악한다.
  • 주어진 질의어를 저차원 공간으로 변환하여 의미적으로 관련된 문서를 찾는 정보 검색에 사용한다.
  • 객관식 문제 응답 모델처럼, 소규모 용어 그룹 간의 의미적 유사성을 평가한다.[6]
  • 기계 학습이나 텍스트 마이닝 시스템의 특징 공간을 확장한다.[7]
  • 텍스트 말뭉치에서 단어 간의 연관성을 분석한다.[8]


LSA는 자연어 처리의 근본적인 문제인 동의어다의어 문제를 해결하는 데 도움을 준다.

  • 동의어: 서로 다른 단어가 같은 의미를 나타내는 경우(예: '의사'와 '내과의사'), 일반적인 키워드 검색으로는 관련 문서를 찾기 어렵다. LSA는 의미적 유사성을 기반으로 검색하여 이러한 문제를 완화하고 정보 검색의 재현율을 높인다.[18][24]
  • 다의어: 하나의 단어가 여러 의미를 갖는 경우(예: '나무'가 식물학적 의미와 컴퓨터 과학적 의미를 모두 가짐), 관련 없는 문서가 검색될 수 있다. LSA는 문맥 속에서 단어의 의미를 파악하여 보다 정확한 검색 결과를 제공한다.


LSA는 다음과 같은 추가적인 장점과 응용 가능성을 가진다.

  • 자동 문서 분류 및 클러스터링: LSA는 문서의 개념적 내용을 분석하여 자동으로 문서를 분류하거나[25][26], 알려지지 않은 문서 집합을 의미적으로 유사한 그룹으로 묶는 동적 클러스터링을 수행하는 데 효과적이다.
  • 언어 독립성 및 교차 언어 처리: 수학적 접근 방식 덕분에 특정 언어에 구애받지 않으며, 사전 없이도 의미 분석이 가능하다. 이를 통해 한 언어로 질의하여 다른 언어로 된 관련 문서를 찾는 상호 언어 개념 검색 및 분류가 가능하다.
  • 유연성 및 강인성: 단어뿐만 아니라 임의의 문자열(예: 유전자 정보[27])도 처리할 수 있으며, 새로운 용어에 자동으로 적응한다. 또한 광학 문자 인식(OCR)이나 음성-텍스트 변환 과정에서 발생할 수 있는 오타, 노이즈 등에도 비교적 강한 모습을 보인다.[28] 목록, 메모, 이메일 등 비정형 텍스트에도 적용할 수 있다.
  • 관계 정보 캡처: LSA는 인과 관계, 목표 지향 정보, 분류 정보 등 주요 관계 정보를 효과적으로 파악하는 것으로 나타났다.[31][29][30]
  • 인간 기억 연구: LSA는 인간 기억 연구, 특히 자유 회상 및 기억 탐색 분야에서도 활용된다. 단어 간 의미적 유사성(LSA 측정)과 자유 회상 과제에서 단어가 연속적으로 회상될 확률 사이에 양의 상관관계가 있으며, 의미적으로 유사한 단어 사이의 반응 시간 간격이 더 짧다는 의미적 근접 효과가 관찰되었다.[10] 또한 회상 오류 시 의미적으로 더 관련 있는 단어를 떠올리는 경향[11]이나, 자유 연상 데이터를 기반으로 단어 관련성을 측정하는 단어 연상 공간(WAS) 모델[12] 연구에도 LSA의 원리가 적용될 수 있다.


LSI는 정보 검색 시스템의 필수 요소로 인식되면서 그 사용이 확대되고 있으며[36], 주요 응용 분야는 다음과 같다.

  • 정보 발견[37] (eDiscovery, 정부/정보 기관, 출판)
  • 자동 문서 분류[38] (eDiscovery, 정부/정보 기관, 출판)
  • 텍스트 요약[39] (eDiscovery, 출판)
  • 관계 발견[40] (정부, 정보 기관, 소셜 네트워킹)
  • 개인 및 조직의 링크 차트 자동 생성[41] (정부, 정보 기관)
  • 기술 논문 및 보조금과 검토자 매칭[42] (정부)
  • 온라인 고객 지원[43] (고객 관리)
  • 문서 저작자 결정[44] (교육)
  • 이미지의 자동 키워드 주석
  • 소프트웨어 소스 코드 이해[46] (소프트웨어 공학)
  • 스팸 필터링[47] (시스템 관리)
  • 정보 시각화[48]
  • 에세이 채점[49] (교육)
  • 문헌 기반 발견[50]
  • 주식 수익률 예측[7]
  • 꿈 내용 분석 (심리학)[8]


특히 전자 증거 개시(eDiscovery) 분야에서 LSA의 활용이 증가하고 있다. 방대한 양의 비정형 텍스트 문서를 개념적으로 검색, 분류, 클러스터링하는 기능은 소송 준비 과정에서 필수적이며, LSA 기반의 개념 검색은 2003년부터 주요 서비스 제공업체들에 의해 eDiscovery 프로세스에 적용되어 왔다.[51]

5. 한계

잠재 의미 분석(LSA)은 여러 유용한 기능을 제공하지만 몇 가지 한계점도 가지고 있다.


  • 단어 가방(Bag-of-words) 모델의 한계: LSA는 기본적으로 단어의 순서를 고려하지 않는 Bag-of-words 모델을 사용한다. 이로 인해 문맥 정보나 단어의 배열 순서가 중요한 의미를 갖는 경우 이를 제대로 반영하기 어렵다. 예를 들어 "사과가 맛있다"와 "맛있는 사과"는 단어 구성은 같지만 LSA는 이를 동일하게 취급할 수 있다. 이러한 한계를 일부 보완하기 위해 N-gram과 같은 기법을 사용하여 여러 단어를 하나의 단위로 묶어 처리하기도 한다.[19]

  • 다의성 처리의 어려움: 하나의 단어가 여러 의미를 가지는 다의성 문제를 효과적으로 처리하기 어렵다. LSA는 각 단어를 문맥과 상관없이 하나의 벡터로 표현하기 때문에, 예를 들어 '배'라는 단어가 과일, 선박, 신체 부위 등 다양한 의미로 사용되더라도 이를 구분하지 못하고 모든 의미를 평균화한 벡터로 나타낸다. 이는 특정 문맥에서의 정확한 의미 비교를 어렵게 만들 수 있다.[18] 다만, 실제 문서에서는 특정 단어가 주로 사용되는 지배적인 의미가 있는 경우가 많아 이 문제가 다소 완화될 수는 있다.

  • 확률 모델의 불일치: LSA는 내부적으로 단어와 문서의 분포가 가우시안 모델(에르고딕 가설)을 따른다고 가정하지만, 실제 텍스트 데이터에서는 단어의 출현 빈도가 푸아송 분포를 따르는 경향이 관찰된다. 이러한 가정과 실제 데이터 간의 불일치는 모델의 정확성에 영향을 줄 수 있다. 이 문제를 해결하기 위해 다항 분포 모델에 기반한 확률적 잠재 의미 분석(pLSA)과 같은 개선된 기법들이 제안되었으며, 특정 경우 LSA보다 더 나은 성능을 보이는 것으로 보고되었다.[20][60]

  • 결과 차원의 해석 어려움: LSA를 통해 생성된 잠재 의미 차원(축)들이 사람이 직관적으로 이해할 수 있는 명확한 의미를 갖지 않는 경우가 많다. 예를 들어, '자동차', '트럭'이라는 단어들이 포함된 차원은 '차량'이라는 의미로 해석될 수 있지만, '자동차'와 '병'이 같은 차원에 묶이는 경우처럼 수학적으로는 타당하지만 자연어로는 즉각적인 의미를 부여하기 어려운 조합이 나타날 수 있다. 이는 생성된 차원이 단어들의 통계적 관계를 반영할 뿐, 반드시 사람이 이해하는 의미 단위와 일치하지는 않기 때문이다.

  • 최적 차원 수 결정의 어려움: LSA를 적용할 때 SVD를 통해 원본 행렬을 축소하는데, 이때 몇 개의 차원으로 축소할지(즉, k값 결정)가 중요한 문제이다. 차원의 수를 너무 적게 하면 중요한 의미 정보가 손실될 수 있고, 너무 많게 하면 노이즈까지 포함되어 성능이 저하될 수 있다. 최적의 차원 수는 분석하려는 문서 집합의 크기와 특성에 따라 달라지며, 명확한 기준을 찾기 어렵다. 연구에 따르면 수십만 건의 문서 집합에는 약 300차원이 가장 좋은 결과를 제공하며, 대규모 문서 모음(수백만 개의 문서)의 경우 400차원이 적합하다는 결과도 있다.[54] 그러나 최근 연구에 따르면 문서 모음의 크기와 특성에 따라 50~1000차원이 적합하다.[55] 최적의 차원성을 결정하기 위해 PCA 또는 요인 분석과 유사하게 유지된 분산의 비율을 확인하는 것은 LSI에 적합하지 않다. 동의어 테스트 또는 누락된 단어 예측은 올바른 차원성을 찾는 두 가지 가능한 방법이다.[56]

  • 계산 비용 및 확장성 문제: 과거에는 대규모 행렬에 대한 SVD 계산이 많은 계산 자원(시간, 메모리)을 요구하여 LSA의 주요 단점으로 지적되었다.[52] 하지만 컴퓨터 하드웨어의 발전과 더불어, 란초스 방법과 같은 효율적인 알고리즘[13], 점진적(incremental) 및 병렬 처리 SVD 알고리즘[14][17] 등이 개발되면서 이러한 문제는 상당 부분 완화되었다. 현재는 수천만 건 이상의 문서를 처리하는 실제 응용 사례도 일반적이며, 오픈 소스 gensim 소프트웨어 패키지를 통해 LSI의 완전히 확장 가능한(무제한 수의 문서, 온라인 훈련) 구현도 가능하다.[53]

6. 다른 방법

잠재 의미 분석(LSA) 외에도 텍스트의 의미 구조를 분석하고 활용하는 여러 다른 방법들이 존재한다.


  • '''잠재 의미 인덱싱 (Latent Semantic Indexing, LSI)''': 특이값 분해 (SVD)를 사용하여 구조화되지 않은 텍스트 모음에서 용어와 개념 간의 관계 패턴을 식별하는 색인 및 검색 방법이다.[22] LSI는 동일한 맥락에서 사용되는 단어가 유사한 의미를 갖는 경향이 있다는 원칙에 기반하며, 유사한 문맥에서 발생하는 용어 간의 연관성을 설정하여 텍스트의 개념적 내용을 추출한다.[22] 1980년대 후반 벨코어(Bellcore)에서 처음 텍스트에 적용되었으며, 잠재 의미 분석(LSA)이라고도 불린다. LSI는 특히 정보 검색 분야에 특화된 활용을 보인다. 또한, 1970년대 초 장폴 벤제크리(Jean-Paul Benzécri)가 개발한 다변량 통계 기법인 대응 분석을 문서-단어 행렬에 적용한 것으로 볼 수도 있다.[23]

  • '''확률적 잠재 의미 분석 (Probabilistic Latent Semantic Analysis, pLSA)''': LSA는 단어와 문서가 결합된 가우시안 모델을 가정하지만, 실제 관찰되는 데이터는 푸아송 분포에 더 가깝다는 비판이 있다. pLSA는 이러한 점을 개선하여 다항 모델을 기반으로 하며, 표준 LSA보다 더 나은 결과를 제공하는 것으로 보고된다.[20]

  • '''잠재 디리클레 할당 (Latent Dirichlet Allocation, LDA)''': 토픽 모델링에 널리 사용되는 또 다른 확률적 방법이다.

  • '''의미적 해싱 (Semantic Hashing)''': 신경망을 사용하여 문서를 메모리 주소에 매핑하는 방법이다.[21] 의미적으로 유사한 문서는 가까운 메모리 주소에 위치하게 되며, 이를 통해 쿼리 문서와 유사한 문서를 매우 빠르게 찾을 수 있다. 이러한 해시 코딩 방식은 지역 민감 해싱보다 더 빠른 검색 속도를 보일 수 있다.[21]

  • '''단어 임베딩 기반 방법''': Word2vec, GloVe, FastText, BERT 등은 단어를 벡터 공간에 표현하는 단어 임베딩 기법을 기반으로 하는 최신 자연어 처리 방법들이다. 이들은 단어 간의 의미적, 문법적 관계를 효과적으로 포착하여 다양한 자연어 처리 과제에서 높은 성능을 보인다.

참조

[1] 논문 Latent Semantic Analysis
[2] 웹사이트 US Patent 4,839,853 http://patft.uspto.g[...]
[3] 웹사이트 The Latent Semantic Indexing home page http://lsa.colorado.[...]
[4] 웹사이트 image http://topicmodels.w[...]
[5] 서적 Low-Rank Approximation: Algorithms, Implementation, Applications Springer
[6] 논문 Effect of tuned parameters on an LSA multiple choice questions answering model http://hal.archives-[...]
[7] 논문 Assessing the usefulness of online message board mining in automatic stock prediction systems
[8] 논문 The interpretation of dream meaning: Resolving ambiguity using Latent Semantic Analysis in a small corpus of text
[9] 논문 Automated Patent Examination Support - A proposal 2007-10
[10] 논문 Contextual Variability and Serial Position Effects in Free Recall http://psycnet.apa.o[...]
[11] 간행물 Temporal Associations and Prior-List Intrusions in Free Recall https://memory.psych[...]
[12] 웹사이트 The University of South Florida Word Association, Rhyme and Word Fragment Norms http://w3.usf.edu/Fr[...] 2011-05-08
[13] 간행물 Generalized Hebbian Algorithm for Latent Semantic Analysis http://www.dcs.shef.[...]
[14] 논문 Fast Low-Rank Modifications of the Thin Singular Value Decomposition
[15] 웹사이트 MATLAB http://web.mit.edu/~[...]
[16] Python Python http://radimrehurek.[...]
[17] 서적 Proceedings of 2011 International Conference on Computer Science and Network Technology
[18] 논문 Indexing by latent semantic analysis 1990
[19] 논문 Empirical study using network of semantically related associations in bridging the knowledge gap 2014-11-27
[20] 간행물 Probabilistic Latent Semantic Analysis
[21] 문서 Semantic hashing.
[22] 문서 Improving Information Retrieval with Latent Semantic Indexing
[23] 서적 L'Analyse des Données. Volume II. L'Analyse des Correspondences Dunod
[24] 논문 The vocabulary problem in human-system communication
[25] 문서 Learning Human-like Knowledge by Singular Value Decomposition: A Progress Report
[26] 서적 Proceedings of the seventh international conference on Information and knowledge management - CIKM '98 https://archive.org/[...]
[27] 논문 Gene clustering by Latent Semantic Indexing of MEDLINE abstracts
[28] 서적 Intelligence and Security Informatics
[29] 문서 A Similarity-based Probability Model for Latent Semantic Indexing
[30] 문서 Latent Semantic Indexing is an Optimal Special Case of Multidimensional Scaling
[31] 간행물 Latent Semantic Analysis Captures Causal, Goal-oriented, and Taxonomic Structures
[32] 서적 Proceedings of the 15th annual international ACM SIGIR conference on Research and development in information retrieval - SIGIR '92
[33] 문서 Understanding Search Engines: Mathematical Modeling and Text Retrieval
[34] 문서 Handbook of Latent Semantic Analysis
[35] 문서 Using Linear Algebra for Intelligent Information Retrieval
[36] 논문 Latent Semantic Analysis
[37] 간행물 Best Practices Commentary on the Use of Search and Information Retrieval Methods in E-Discovery the Sedona Conference
[38] 논문 Personalized Information Delivery: An analysis of information filtering methods https://web.archive.[...]
[39] 논문 Creating Generic Text Summaries https://ieeexplore.i[...]
[40] 논문 Efficient Discovery of New Information in Large Text Databases https://www.research[...]
[41] 서적 Intelligence and Security Informatics
[42] 논문 Taking the Load off the Conference Chairs: Towards a Digital Paper-routing Assistant https://www.aclweb.o[...]
[43] 학위논문 Applying LSA to Online Customer Support: A Trial Study
[44] 논문 Visualizing Document Authorship Using N-grams and Latent Semantic Indexing https://www.research[...]
[45] 논문 On Image Auto-annotation with Latent Space Models https://infoscience.[...]
[46] 서적 Proceedings 12th IEEE Internationals Conference on Tools with Artificial Intelligence. ICTAI 2000 2000-11-13
[47] 논문 Using Latent Semantic Indexing to Filter Spam http://citeseerx.ist[...]
[48] 논문 From Paragraph to Graph: Latent Semantic Analysis for Information Visualization https://www.pnas.org[...]
[49] 논문 Automated Essay Scoring: Applications to Educational Technology https://web.archive.[...]
[50] 논문 Using Latent Semantic Indexing for Literature Based Discovery https://deepblue.lib[...]
[51] 문서 There Has to be a Better Way to Search Fios, Inc.
[52] 논문 Fast Supervised Dimensionality Reduction Algorithm with Applications to Document Categorization and Retrieval https://www.research[...]
[53] 서적 Advances in Information Retrieval
[54] 논문 An Empirical Study of Required Dimensionality for Large-scale Latent Semantic Indexing Applications https://dl.acm.org/c[...]
[55] 문서 Latent Semantic Analysis
[56] 논문 Introduction to Latent Semantic Analysis https://mimno.infosc[...]
[57] 특허 US Patent 4,839,853 http://patft.uspto.g[...]
[58] 문서 Generalized Hebbian Algorithm for Incremental Latent Semantic Analysis http://www.dcs.shef.[...]
[59] 문서 Fast Low-Rank Modifications of the Think Singular Value Decomposition http://www.merl.com/[...]
[60] 문서 Probabilistic Latent Semantic Analysis http://www.cs.brown.[...]
[61] 저널 Latent Semantic Analysis
[62] 웹인용 US Patent 4,839,853 http://patft.uspto.g[...]
[63] 웹인용 The Latent Semantic Indexing home page http://lsa.colorado.[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com