챕터별 상세
솔루션 개요 및 3단계 파이프라인 구조
대규모 데이터셋(100만 개 이상)을 효율적으로 처리하기 위해 후보 생성, Transformer 필터링, 최종 분류의 3단계 구조를 설계했다. 1단계에서는 거리와 텍스트 유사도로 후보를 뽑고, 2단계에서 Transformer를 페어 필터로 사용하여 유망하지 않은 쌍을 제거하며, 3단계에서 GBDT와 BERT로 최종 매칭 여부를 판단한다. 이러한 다단계 접근 방식은 연산 효율성과 매칭 정확도 사이의 균형을 맞추는 데 핵심적인 역할을 했다.
대규모 데이터 매칭(Entity Resolution)에서는 모든 쌍을 비교하는 것이 불가능하므로 단계별로 후보군을 좁혀가는 전략이 필수적이다.
1단계: 거리 및 텍스트 유사도 기반 후보 생성
Haversine 거리와 2/3-gram 기반 TF-IDF 코사인 유사도를 결합하여 각 지점당 128개의 후보를 추출했다. 국가별로 GPS 데이터의 신뢰도와 이름 유사도의 중요도가 다르다는 점에 착안하여 거리 기반과 이름 기반 후보의 비율을 국가별로 최적화했다. 예를 들어 미국은 거리 기반 비중을 높이고 일본은 이름 유사도 비중을 높이는 방식으로 설정하여 Recall을 98.9%까지 확보했다.
Haversine 거리는 구 위에서 두 지점 사이의 거리를 계산하며, TF-IDF는 텍스트 내 단어의 중요도를 평가하는 지표이다.
python
model = TfidfVectorizer(
tokenizer=lambda x: x,
preprocessor=lambda x: x,
token_pattern=None,
analyzer='char_wb',
ngram_range=(2, 3),
min_df=2,
)
# ...(중략)
country_df_tfidf = model.fit_transform(name_list)2-gram 및 3-gram 문자 단위 분석을 사용하여 이름 유사도를 계산하기 위한 TF-IDF 벡터라이저 설정 예시
2단계: Transformer를 활용한 후보 필터링 (Blocking)
Transformer 아키텍처를 활용하여 1단계에서 생성된 후보 쌍 중 매칭 가능성이 낮은 것들을 걸러내는 페어 필터(Pair Filter)를 구축했다. 위도, 경도, 카테고리 등의 절대적 특징과 편집 거리(Edit Distance), TF-IDF 코사인 유사도 등의 상대적 특징을 벡터화하여 입력으로 사용했다. 이 단계에서 0.005라는 보수적인 임계값을 적용하여 최종 단계로 넘어갈 후보를 지점당 평균 4.1개로 대폭 압축했다.
Transformer는 시퀀스 데이터뿐만 아니라 특징 벡터 간의 관계를 파악하는 데에도 강력한 성능을 발휘한다.
3단계: GBDT와 BERT를 이용한 정밀 매칭
최종 분류를 위해 LightGBM, XGBoost와 같은 GBDT 모델과 m-luke, xlm-roberta 등 다국어 BERT 모델을 결합했다. GBDT 모델은 레벤슈타인 거리, Jaro-Winkler 유사도 등 수치화된 편집 거리를 주로 학습했으며, BERT 모델은 이름과 카테고리 텍스트를 직접 입력받아 시맨틱 유사도를 포착했다. 두 계열의 모델 결과를 앙상블하여 최종 매칭 여부를 결정함으로써 리더보드 상위권 성적을 거두었다.
GBDT는 정형 데이터 처리에 강점이 있고, BERT는 텍스트의 문맥적 의미를 파악하는 데 탁월하다.
용어 해설
- 하버사인 거리(Haversine Distance)
- — 구 위에서 두 지점 사이의 최단 거리를 계산하는 공식이다. 위도와 경도 데이터를 사용하여 지표면 상의 실제 거리를 측정하며, 위치 기반 데이터 매칭에서 가장 기초적이고 중요한 지표로 활용된다.
- 단어 빈도-역문서 빈도(TF-IDF)
- — 특정 단어가 문서 내에서 얼마나 중요한지를 나타내는 통계적 수치이다. 단어의 빈도와 전체 문서군에서의 희소성을 동시에 고려하여 텍스트 유사도를 계산하며, 이름이나 카테고리 매칭의 후보군 추출에 사용된다.
- 레벤슈타인 거리(Levenshtein Distance)
- — 한 문자열을 다른 문자열로 변환하기 위해 필요한 삽입, 삭제, 교체 연산의 최소 횟수이다. 편집 거리라고도 불리며, 오타나 약어가 포함된 POI 이름 간의 유사도를 정량적으로 평가하는 데 필수적이다.
- 블로킹(Blocking)
- — 대규모 데이터셋에서 모든 쌍을 비교하는 대신, 유사할 가능성이 높은 후보들만 묶어 비교 횟수를 줄이는 기법이다. 연산 효율성을 극대화하기 위해 Transformer나 거리 기반 필터를 사용하여 유망한 후보군을 선별하는 과정이다.
언급된 리소스
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
원문 발행 2026. 02. 25.수집 2026. 02. 25.출처 타입 YOUTUBE
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.