메뉴 건너뛰기

[기술적 해법(Technical Insights) | Unlock Your Data's Value With Address Normalization]

원문 출처: https://www.arbutussoftware.com/en/technical-insights/what-is-normalization

 

주소 정규화를 통해 데이터 가치 실현

(Unlock Your Data's Value With Address Normalization)

 

정규화(Normalization)란?

데이터 정규화(Data normalization)는 익숙하지 않은 용어이지만 거의 모든 매칭(matching) 연습의 성공을 위한 열쇠이며, 사실 일반적으로 데이터베이스 이론의 기초가 됩니다.

 

본질적으로 "당신은 pot-tay-to라고 말하고 나는 po-tah-to라고 말합니다(영어권에서 감자를 이렇게 부르나 저렇게 부르나 마찬가지, 즉 매 한가지 라는 표현)"는 과학입니다.

 

우리는 같은 것의 다른 표현(expression)이 일치(match)하기를 원합니다.

데이터에는 셀 수 없이 많은 데이터 정규화(normalization) 기회가 있습니다.
 
"(604) 437-7873" 대 "+1 604 4377873" 또는 "604-437-7873"과 같은 전화번호(phone number)
"Richard" 대 "Dick"과 같은 이름(name);
또는 "210-123 W Ridge Rd" 및 "123 Ridge Road West, Appt. 210"과 같은 주소(address).
"Richard" 대 "RICHARD"도 문제가 될 수 있습니다.
 
이러한 예는 모두 분명히 동일한 것을 나타내지만 때로는 일치(match)시키기가 매우 어려울 수 있습니다.
 
예시:
Are these the same addresses-1.jpg

Normalize data- example 1.jpg

 

정규화의 가치(The Value of Normalizing)

중복(duplicates) 및 일치(matches) 항목을 더 쉽게 찾을 수 있다는 점을 제외하고는 데이터 정규화의 가치(the value of data normalization)를 정량화(quantify)하기는 어렵습니다.

 

구체적인 예시를 살펴봐야 가치(the value)가 나타납니다.

 

중복(Duplicate) 고객(customer) 또는 공급업체(vendor) 레코드를 찾으면 파일 크기(size)가 줄어들 수 있지만(좋은 경우), 정보를 결합(combining)하면 데이터 관계(data relationships)에 대한 더 나은 통찰력(insights)을 얻을 수 있고, 우편 발송 비용을 절감할 수 있으며, 부정적발(detect fraud)을 할 수도 있습니다(더 가치 있는 경우).

 
외부 데이터베이스를 자신의 파일과 일치(matching)시키는 것은 훨씬 더 가치가 있을 수 있습니다.
고객 데이터(Customer data)를 웹 사이트 애플리케이션과 비교(comparing)하여 정보를 동기화(sync)할 수 있습니다.
 
더욱 설득력 있는 것은, 고객(Customer), 공급업체(vendor) 또는 사원(employee)을 다양한 감시 목록(watch-list)과 비교하여 리스크를 평가할 수 있다는 것입니다.
 
보기 전에는 가치(the value)를 알지 못하지만, 거의 0에 가까운 찾는 비용(near-zero cost) 보다 더 많은 가치를 가질 것이 거의 확실합니다.
 
일치(Match)하는 것이 없다는 확신(confidence)도 동일한 가치가 있습니다.
 

정규화(Normalizing)에 대한 접근 방식: 중요하지 않은 세부 사항 제거

데이터 정규화(Data normalization)는 데이터, 특히 다른 소스의 데이터를 혼합(comparing-비교, joining-결합 등)할 때마다 핵심사항입니다.

 

주소(Address)를 사용하는 한 가지 유용한 접근 방식은 중요하지 않은 차이를 가능한 한 많이 제거하는 것입니다. 이렇게 하면 중요한 부분에 대한 처리를 집중할 수 있습니다.

 

예를 들어, 고객 파일(customer file)을 구매한 주소(address), 감시 목록(watch list) 또는 웹 사이트에 있는 주소(address)와 일치(match)시킬 수 있습니다.

서로 다른 데이터 소스가 주소(address)를 정확히 동일하게 기록하지 않았을 가능성이 큽니다.

 
단일 데이터베이스에서 중복(duplicate)을 찾을 수도 있습니다.
이 경우, 우발적인 중복(duplication) 또는 부정(fraud)을 저지르기 위한 의도적인 중복(duplication)이 있을 수 있습니다.
후자의 경우, 활동(activity)을 더 잘 숨기기 위해 의도적으로 주소(address)를 다르게 만들었을 수 있습니다.
 
주소 정규화(Address Normalization)
주소 정규화(Address normalization)는 공급업체(vendor), 직원(employee) 및 감시 목록(watch list) 엔티티가 동일한 주소를 공유할 경우 발생하는 리스크를 해결할 때 특히 중요합니다.
 
어떤 것이 중요할까요?

자 그럼, 중요하지 않은 차이(insignificant differences)가 정확히 무엇을 의미할까요?

 

대문자(Capitalization), 구두점(punctuation) 등은 분명하고 중요하지만 다루기가 매우 쉽습니다.

 

보다 어려운 것은 약어(abbreviations)와 "noise" 단어입니다.

주소(address) "123 Main Street" 와 "123 Main St."는 분명히 동일한 주소를 가리키지만 자동으로 일치(match)시키는 것은 어려울 수 있습니다.

마찬가지로, 동일한 주소 "210-123 W 3rd Ave." 와 "123 Third Avenue West, Appt. 210"을 일치시키려 한다고 상상해 보십시오.

 

정규화(Normalizing)는 이러한 복잡성을 해결하는 방법입니다.

 

구현 문제(Implementation Issues)

주소(Address)를 일치(matching)시키는 것은 어렵고, 주소는 고유한 문제(issue)를 일으킵니다.

 

첫째,

표준화(Standardized)해야 하는 주소(street/st, road/rd 등)에는 말 그대로 수백 개의 약어(abbreviations)가 있습니다.

우리가 사용하는 미국 우편 서비스(US Postal Service-USPS)의 목록은 약 500가지 변형(variations)이 포함되어 있습니다.

주소 해석에 중요하지 않을 수 있는 많은 'noise' 단어(appt, unit, floor, Suite ...)도 있습니다.

 
둘째(그리고 매우 중요하게),
이 분석을 "whole word(전체 단어)" 기반으로 적용해야 합니다.
단순히 "ROAD"를 "RD"로 바꾸면 "BROADWAY"가 "BRDWAY"가 되고, "FLOOR"와 같은 noise 단어를 생략하면 "JONES FLOORING"이 "JONES ING"이 됩니다.
 

셋째,

이전 단락의 예에서와 같이 각 주소(address)의 구성요소가 서로 다른 순서(different order)로 되어 있을 수 있다는 점에 유의하는 것이 중요합니다.

 
Arbutus 가 도움이 되는 방법

올바른 도구가 없으면, 위에서 언급한 문제를 올바르게 처리하는 규칙을 만드는 것이 생각보다 어려울 수 있습니다.

 

대부분의 작업과 마찬가지로 목표는 'simpler is better(단순할 수록 좋다)'가 되어야 하며, 이것이 Arbutus 가 등장하는 곳입니다.

 

Arbutus 는 위에서 언급한 모든 정규화(normalization) 등을 자동(automatically)으로 수행할 수 있습니다.

"#200 - 1234 W Main Street" 와 "1234 MAIN ST. WEST, Suite 200"처럼 다른 두 주소가 매번,  one command(하나의 명령)로 완벽하게 일치(match)합니다!

 
예시:
Matched data.jpg

 

Arbutus Analyzer 에 포함된 Normalize 및 SortNormalize function(함수)은 여기에 언급된 기술을 포함하여 다양한 기술을 자동으로 적용하여 데이터 블렌딩 분석(blending analytics)의 최대 성능을 보장합니다.

 

다음과 같은 간단한 computed field(계산된 필드): SortNormalize(address, "USPS")는 이 강력한 정규화(normalization)를 수행하여 주소를 일치(matching address)시킬 때 결과(result)를 극적으로 개선하는데 사용할 수 있습니다.

 
Analyzer 의 독점 정규화 기술(proprietary normalization technology)은 완전한 사용자 구성이 가능하며, 자동으로 전체 단어(automatically whole-word)를 기반으로 합니다.
그것은 어떤 단어(word)나 약어(abbreviation)를 대체(replacement)하거나 제거(elimination)할 수 있습니다.
또한 산업용으로 설계되었으므로, 수천만 또는 수억 개의 레코드가 있는 데이터 세트에서 수백 개(수천 개)의 고유한 용어(distinct terms)를 쉽게 처리할 수 있습니다.
 
경험이나 새로운 아이디어를 반영하기 위해 언제든지 목록을 업데이트할 수 있습니다.
영역별(Area), 언어별(language) 또는 필요(need)에 따라 각각의 고유한 정규화(normalization) 타입에 대해 별도의 목록을 생성할 수도 있습니다.
점검 목록(Watch lists) 또는 기타 관련 콘텐츠와 같은 다른 중요한 외부 목록을 참조하여 다른 사람의 지식을 활용할 수도 있습니다.
 
마지막으로, 매우 중요하게도, 주소를 정규화(normalize address)하는데 사용하는 목록은 해당 목록을 사용하는 script 와 완전히 별개입니다.
즉, Script 를 변경하지 않고도 언제든지 기준을 업데이트, 정제(refine) 또는 추가(add)할 수 있습니다.