austin-distel-rxpThOwuVgE-unsplash.jpg

AI연구회

경남ICT협회 AI 연구 모임

학습

문장 유사도를 사용하는 이유

# 문장 유사도를 사용하는 이유

문장 유사도는 텍스트 데이터 분석에서 매우 중요한 개념입니다. 텍스트 데이터가 폭발적으로 증가하는 현대 사회에서,**문장 간의 유사성을 측정하는 것은** 다양한 분야에서 활용될 수 있습니다.

### 문장 유사도를 사용하는 주요 이유는 다음과 같습니다.

- **정보 검색:**
   - 사용자의 질의와 문서 간의 유사도를 측정하여 관련성 높은 문서를 검색합니다.
   - 중복된 문서를 제거하고, 유사한 문서를 군집화하여 정보를 효율적으로 관리합니다.


- **텍스트 분류:**
   - 유사한 문장들을 같은 카테고리로 분류하여 텍스트 분류 작업을 수행합니다.
   - 감성 분석, 주제 분류 등 다양한 분야에 활용됩니다.
 

- **문장 생성:**
   - 기존 문장과 유사한 새로운 문장을 생성하여 챗봇, 번역, 요약 등의 자연어 처리 태스크에 활용됩니다.
 

- **추천 시스템:**
   - 사용자의 과거 행동 데이터를 기반으로 유사한 상품이나 콘텐츠를 추천합니다.
 

- **표절 검사:**
   - 두 문서 간의 유사도를 측정하여 표절 여부를 판단합니다.
 

- **지식 그래프 구축:**
   - 유사한 개념이나 엔티티를 연결하여 지식 그래프를 구축합니다.

 

### 문장 유사도를 측정하는 방법

문장 유사도를 측정하는 방법은 다양합니다. 대표적인 방법으로는 다음과 같은 것들이 있습니다.

- **단어 기반:**
   - **TF-IDF:** 단어의 문서 내 빈도와 전체 문서에서의 빈도를 고려하여 중요도를 부여합니다.
   - **Word Embedding:** 단어를 고차원 벡터 공간에 매핑하여 의미적 유사도를 측정합니다.

- **문장 임베딩:**
   - **BERT, RoBERTa:** 문장 전체를 하나의 벡터로 표현하여 유사도를 측정합니다.

- **유사도 측정:**
   - **코사인 유사도:** 두 벡터 사이의 코사인 값을 계산하여 유사도를 측정합니다.
   - **유클리디안 거리:** 두 벡터 사이의 유클리디안 거리를 계산하여 유사도를 측정합니다.
   - **자카드 유사도:** 두 집합 간의 유사도를 측정하는 방법으로, 단어 집합 간의 유사도를 측정할 때 사용됩니다.

 

### 테스트를 위한 코드 
 

- 두 문장  _"나는 사과를 좋아한다."_,  _"그는 바나나를 좋아한다."_  
- 코사인 유사 도를 측정하면 약 33% 유사하다고 나옵니다.  
- 의미로 보면 전혀 다른 문장입니다. 
- 최근 언어 모델인 LLM 부각이 되고 있지만 가장 기본이 데이터 처리가 아주 중요한 요소 입니다. 이를 위해 아주 간단한 코드입니다.

 

 

 

 

답글  총 1
·

좋은 내용 감사합니다. 평소 관심있던 내용인데 잘 정리해 주셨네요. ^^

기업 홍보를 위한 확실한 방법
협회 홈페이지에 회사정보를 보강해 보세요.