가이드

제품 속성: 추출, 정규화, 매핑하는 방법

깔끔한 제품 속성이 있어야 필터, 비교, 피드, 규정 준수 문서 초안이 제대로 작동합니다. 이 가이드는 흩어진 공급업체의 값을 일관된 데이터로 바꾸는 스키마, 추출, 단위 및 어휘 규칙, 분류 체계 매핑을 다룹니다.

공급업체마다 같은 것을 다르게 표현합니다. 한 데이터시트에는 “용량: 1,5 l”, 다른 데이터시트에는 “1500 ml”, 세 번째는 문단 속에 “1.5리터 담김”이라고 적혀 있습니다. 구매자에게는 하나의 사실이지만 필터나 피드에는 서로 무관한 세 개의 문자열입니다. 제품 속성 정규화는 이러한 변형을 하나의 속성 이름 아래 하나의 단위를 가진 하나의 값으로 바꿉니다.

이 가이드는 실제 작업이 이루어지는 순서를 따라 진행합니다. 스키마, 추출, 숫자와 텍스트의 정규화, 분류 체계 매핑, 변형, 검증 순입니다. 예시에는 실제 단위 코드와 분류 체계 구조를 사용하므로 그대로 적용할 수 있습니다.

제품 속성이란 무엇이며, 무엇이 아닌가

제품 속성은 값을 가진 이름 있는 특성입니다. 소재 = 스테인리스강, 용량 = 1.5 L, 색상 = 블랙 같은 것입니다. 속성 추출 연구에서는 이를 속성-값 쌍이라고 부릅니다. 속성은 제품 자체를 설명하며 어디에서 판매되든 동일하게 유지되므로, 설명 본문에만 두지 않고 구조화된 필드에 넣어야 합니다.

속성과 혼동하기 쉬운 인접 개념이 세 가지 있으며, 이를 섞어 쓰면 이후 스키마 문제의 대부분이 발생합니다.

속성과 관련 제품 데이터 비교
개념목적예시일반적인 위치
속성제품의 특성을 설명소재: 스테인리스강, 용량: 1.5 L사양 표, 필터, 카테고리 필드
식별자제품 또는 거래 단위를 고유하게 식별GTIN, MPN, SKU, 모델 번호전용 식별자 필드
변형 옵션구매자가 선택하는 속성색상: 블랙 / 화이트, 사이즈: S / M / L변형 축(Shopify는 최대 3개 옵션 허용)
설명혜택과 사용법을 문장으로 설명“주전자를 가득 채워도 몇 분이면 끓습니다”설명과 불렛 포인트

추출하기 전에 속성 스키마부터 정의하세요

속성 스키마는 모든 값이 충족해야 하는 계약입니다. 스키마가 없으면 추출 결과는 원본에 우연히 적힌 내용이 되고, 정규화는 추측에 의존하게 됩니다. 각 속성마다 이름, 데이터 유형, 기준 단위, 허용 값 또는 검증 규칙, 여러 값을 가질 수 있는지 여부, 필수 여부를 정하세요.

스키마는 하나의 거대한 목록이 아니라 제품군별로 유지하세요. 주전자에는 용량과 정격 전력이 필요하고, 티셔츠에는 섬유 혼용률과 사이즈가 필요합니다. 판매 채널이 요구하고 구매자가 필터링에 쓰는 속성부터 시작한 다음, 데이터시트가 꾸준히 제공하는 기술 속성을 추가하세요.

전기 주전자 제품군의 속성 스키마 예시
속성데이터 유형단위 / 형식허용 값 또는 규칙필수 여부
model_number텍스트—제조업체가 인쇄한 그대로, 공백을 추가하지 않음예
gtin텍스트(숫자)8, 12, 13 또는 14자리유효한 GS1 체크 디지트부여된 경우
capacity소수LTR(리터)0.1~5.0, 변형당 하나의 값예
rated_power_min / rated_power_max정수WTT(와트)min ≤ max, 둘 다 같은 정격 줄에서 가져옴예
body_material열거형(다중 값)—스테인리스강, 유리, 플라스틱, 세라믹예
color열거형—기본 색상 목록, 마케팅용 색상명은 별도 저장예, 변형별
net_weight소수KGM(킬로그램)> 0, 총중량을 초과하면 안 됨배송용

속성 값은 어디에서 오며, 어느 출처가 우선하는가

값은 보통 여러 출처에서 오는데 서로 일치하지 않을 수 있습니다. 충돌이 마지막으로 레코드를 수정한 사람에 따라 결정되지 않고 일관되게 해결되도록 속성별로 출처 우선순위를 정하세요.

실용적인 기본 원칙은 기술 문서가 마케팅 문구보다 우선하고, 구체적인 문서가 일반적인 문서보다 우선한다는 것입니다. 동등한 출처끼리 충돌할 때(예를 들어 데이터시트와 포장에 서로 다른 무게가 적혀 있을 때)는 평균을 내거나 하나를 고르지 말고 공급업체에 어느 쪽이 최신인지 문의하세요.

  • 데이터시트와 사양서: 치수, 정격, 소재, 성능 값에 대해 가장 신뢰할 수 있는 출처이며 보통 표로 되어 있습니다.
  • 포장과 라벨 디자인 원본: 순 내용량, 경고, 마킹처럼 포장에 인쇄된 내용에 대해서는 이 자료가 기준입니다.
  • 안전 데이터 시트: 화학 제품의 유해성 분류, 조성, 물리적 특성을 담고 있으며 마케팅 속성은 아닙니다.
  • 공급업체 제품 설명: 스타일, 용도, 호환 모델처럼 표에는 나오지 않는 속성에 유용하지만 정확도는 가장 낮습니다.

제품 설명에서 속성을 추출하는 방법

자유 형식의 설명은 값이 문장 속에 감싸여 있고, 마케팅 표현으로 수식되며, 때로는 부정문으로 쓰이기도 해서 가장 다루기 어려운 출처입니다. 규칙, 알려진 값의 사전, 언어 모델 중 무엇을 쓰든 결과를 신뢰할 수 있게 하는 절차는 같습니다.

  1. 텍스트를 읽기 전에 제품군의 대상 속성을 허용 값과 단위와 함께 정리합니다.
  2. 텍스트를 문장과 불렛 포인트로 나눈 다음 후보 값을 찾습니다. 단위가 붙은 숫자, 알려진 어휘, “…와 호환” 같은 패턴이 해당됩니다.
  3. 각 후보의 문맥에서 한정어(“최대”, “약”, “부터”), 부정(“BPA-free”, “~에는 적합하지 않음”), 조건(“뚜껑 포함”, “20 °C에서”)을 확인합니다.
  4. 각 값을 정확히 하나의 속성에 할당합니다. 숫자가 두 속성에 모두 해당할 수 있다면 추측하지 말고 할당하지 않은 채 검토로 넘깁니다.
  5. 다음 섹션의 규칙에 따라 값과 단위를 정규화하되, 원문은 함께 보관합니다.
  6. 마케팅 문구에서만 나온 속성은 모두 표시하여, 검토자가 사양 표나 선언문 초안에 사용하기 전에 데이터시트와 대조해 확인할 수 있게 합니다.
실제 사례: 설명 문장 하나에서 찾은 속성
설명에 있는 텍스트속성추출된 값비고
“…1.7리터 스테인리스강 주전자…”capacity, body_material1.7 LTR, 스테인리스강한 구절에 속성 두 개
“…BPA-free 플라스틱 뚜껑이 있는…”lid_material, bpa_freeplastic, true부정문은 소재가 아니라 불리언 값이 됨
“…인덕션 레인지에는 적합하지 않음…”induction_compatiblefalse부정문을 반전하여 저장
“…무광 블랙과 크림 색상으로 출시…”color(변형 옵션)black; beige마케팅용 색상명은 별도 보관

데이터시트 머리글을 표준 속성 이름에 매핑하기

제조업체마다 같은 속성을 다르게, 종종 자국어로 표기합니다. 실제로 마주치는 머리글 텍스트를 표준 속성 이름에 매핑하는 동의어 표를 만드세요. 처음에는 빠르게 늘어나다가 점차 안정되며, 가장 재사용성이 높은 정규화 자산이 됩니다. 머리글에 인쇄된 단위도 함께 기록하세요. “중량(lbs)” 아래의 셀에는 단위가 반복되지 않습니다. 표 레이아웃, 스캔, OCR은 PDF에서 제품 데이터를 추출하는 가이드에서 다룹니다.

하나의 표준 속성에 매핑된 머리글 동의어
인쇄된 머리글표준 속성머리글이 암시하는 단위비고
정격 전력 / 소비 전력 / Leistungrated_powerWTT출력이 아니라 입력 전력인지 확인
순중량 / 중량(단위) / Nettogewichtnet_weightKGM 또는 LBR, 인쇄된 대로배송 중량이 아님
용량 / 부피 / FassungsvermögencapacityLTR 또는 MLT포장 부피가 아니라 용기에 해당
치수(W × D × H) mmwidth, depth, heightMMT축 순서는 머리글을 따름

숫자와 단위 정규화하기

모든 정량 속성은 숫자와 단위 코드의 두 필드로 저장하세요. UN/CEFACT 권고 제20호(“국제 무역에 사용되는 측정 단위 코드”)는 이를 위한 세 글자 공통 코드를 제공하며, schema.org도 unitCode 속성에서 동일한 코드를 사용합니다. 예를 들어 값이 25이고 unitCode가 CMT인 QuantitativeValue가 있습니다. “cm”, “cms”, “centimetres” 같은 자유 형식 단위 대신 이러한 코드를 쓰면 한 종류의 불일치가 통째로 사라집니다.

속성마다 하나의 표준 단위를 정하세요. 보통 SI 단위나 그 십진 배수이며, 가져올 때 변환해서 공급업체 간에 값을 올바르게 비교할 수 있게 합니다. 추적성을 위해 원래의 값과 단위는 인쇄된 그대로 보관하고, 내보낼 때 채널 단위로 다시 변환하세요. Shopify 제품 CSV는 무게를 그램 단위로 기대하는 반면, WooCommerce는 스토어에 설정된 무게 및 치수 단위를 사용합니다.

조용히 오류를 일으키는 세부 사항에 주의하세요. 소수점과 천 단위 구분 기호는 문서의 로케일에 따라 다릅니다. 독일어 데이터시트의 “1.000 W”는 1천 와트입니다. 범위는 최솟값과 최댓값 필드로 나누고, 공차는 공칭 값과 따로 저장하며, “약”이나 “최대” 같은 한정어는 별도 필드에 보관하세요. 야드·파운드법 환산에는 정확한 정의(1 inch = 25.4 mm, 1 lb = 0.45359237 kg)를 사용하고, 반올림은 표시할 때 한 번만 하세요.

공급업체의 원본 값과 정규화된 형태
인쇄된 원본 값정규화된 값UNECE 권고 20 코드적용한 규칙
1,5 l1.5LTR소수점 쉼표는 문서의 로케일에 따라 해석
1500 ml1.5LTR속성의 표준 단위로 변환하되 원본은 보관
1.000 W(독일어 데이터시트)1000WTT마침표를 천 단위 구분 기호로 해석
220–240 V~최소 220, 최대 240VLT범위를 분리하고 “~”는 전류 유형 AC로 저장
Ø 12 mm ± 0,2공칭 12, 공차 0.2MMT공차는 별도로 저장
약 2.3 kg2.3(한정어: 약)KGM한정어를 삭제하지 않고 유지
5 lb2.26796KGM0.45359237로 환산, 원본 LBR 보관
1/2 in12.7MMT분수를 계산하여 변환, 원본 INH 보관
6개입6H87팩당 낱개 수량

텍스트 속성에는 통제 어휘를 사용하세요

통제 어휘란 텍스트 속성이 가질 수 있는 값의 목록과 각 값에 연결되는 동의어를 말합니다. 이를 통해 “색상: 블랙” 필터가 “blk”, “Black”, “schwarz”로 기재된 제품도 찾아냅니다.

마케팅과 필터링의 요구가 서로 엇갈리는 경우에는 두 개의 필드를 유지하세요. 필터와 피드를 위한 정규화된 기본 값과, 표시용 제조업체 고유 명칭입니다. “Midnight Graphite”는 상품 페이지에는 좋은 정보지만 필터 값으로는 쓸모가 없고, “gray”는 그 반대입니다. 다국어 카탈로그에서는 어휘 값을 언어 중립적인 코드로 저장하고 그 라벨을 번역하세요. 그러면 같은 제품이 모든 스토어 언어에서 올바르게 필터링됩니다.

어휘 정규화 전후의 텍스트 값
원본 텍스트 값정규화된 값어휘 규칙
blk / BLACK / schwarzblack동의어와 번역을 하나의 코드에 매핑
Midnight Graphitegray(표시용 이름은 유지)마케팅용 이름은 별도 저장
18/8 SSstainless steel약어를 풀어 쓰고 등급은 별도 속성으로 유지
면 95%, 엘라스탄 5%cotton 95; elastane 5조성을 값-백분율 쌍으로 저장
예 / ✓ / 포함true불리언은 true 또는 false로 단순화

속성을 분류 체계와 채널 스키마에 매핑하기

분류 체계는 제품에 어떤 속성이 적용되고 그 이름이 무엇인지를 결정합니다. 하나를 직접 고를 수 있는 경우는 드뭅니다. 리테일러는 GS1 GPC를, 도매업체는 ETIM을, Shopify는 Standard Product Taxonomy를 요구하고, 검색 엔진은 schema.org 마크업을 읽습니다. 자체 속성 스키마를 마스터로 유지하고 각 외부 분류 체계에 대한 매핑을 관리하세요.

GS1 GPC에서는 브릭(brick)이 기본 단위이며, 브릭 속성은 우유가 동물성인지 비동물성인지 같은 세부 정보를 담습니다. ETIM은 각 클래스에 고정된 값 목록과 단위를 가진 사전 정의된 특성 집합을 부여하고, 그 모델을 17개 언어로 공개합니다. Shopify는 제품의 주된 기능에 따라 선택한 카테고리 하나를 요구하며, 이를 설정하면 카테고리 메타필드를 사용할 수 있습니다. schema.org Product에는 gtin, mpn, brand, color, material, size, weight 같은 전용 속성이 있습니다.

제품 분류 체계 비교
분류 체계주요 사용처구조속성 모델유의할 점
GS1 GPC리테일 및 소비재 데이터 교환Segment > Family > Class > Brick값이 정의된 브릭 속성분류 체계일 뿐 완전한 사양 모델은 아님
ETIM기술 도매: 전기, 냉난방(HVAC), 배관동의어가 있는 클래스영숫자, 논리, 수치, 범위 유형으로 정의되고 단위가 있는 특성특성 값은 클래스 목록에서 가져와야 함
Shopify Standard Product TaxonomyShopify 스토어카테고리 경로 또는 카테고리 ID카테고리별 카테고리 메타필드(제품 속성)CSV에서는 경로와 ID 중 하나만 입력하고 둘 다 입력하지 않음
schema.org Product검색 엔진용 구조화 데이터속성이 있는 단일 Product 유형전용 속성, unitCode가 있는 QuantitativeValueadditionalProperty보다 구체적인 속성을 먼저 사용

속성을 중복하지 않고 변형 처리하기

변형은 대부분의 속성을 공유하고 몇 가지만 다른 제품입니다. 공유 속성을 담은 상위 레코드와, 색상, 사이즈, 용량 같은 변형 축과 그에 따라 달라지는 값, 그리고 고유 식별자만 담은 하위 레코드로 모델링하세요. GS1의 GTIN 규칙은 스타일, 색상, 사이즈 변형을 각각 고유한 GTIN을 가진 별개의 제품으로 취급하므로, 식별자는 항상 하위 레코드에 둡니다.

변형 오류의 대부분은 여러 모델이 담긴 사양 표에서 발생합니다. 모델마다 열이 있는 표는 열마다 하나의 레코드로 나누고, 열에 걸쳐 한 번만 인쇄된 값(병합된 셀이나 표 아래의 “전 모델: 230 V”)은 해당하는 모든 하위 레코드에 복사하세요. Shopify에서 Option1 LinkedTo CSV 열은 변형 옵션을 카테고리 메타필드에 연결하며, 제품에는 최대 3개의 옵션과 2,048개의 변형을 둘 수 있습니다.

규칙과 QA 샘플링으로 속성 검증하기

검증 규칙은 잘못된 유형, 잘못된 단위, 불가능한 값, 필수 속성 누락 같은 기계적 오류를 잡아냅니다. 가져올 때마다 규칙을 실행하고, 실패한 항목은 값을 조용히 버리지 말고 검토자에게 넘기세요.

규칙은 그럴듯하지만 틀린 값(옆 모델 열에서 복사한 용량은 모든 검사를 통과합니다)은 잡아내지 못합니다. QA 샘플링은 이를 잡아냅니다. 샘플링한 레코드를 필드별로 원본 문서와 비교하세요. 보편적인 샘플 크기나 오류 허용 기준은 없으며, 위험도에 따라 정합니다.

  1. 공급업체별로 레코드 샘플을 추출하되, 신규 공급업체와 새로운 문서 레이아웃에 가중치를 둡니다.
  2. 샘플링한 모든 속성을 원본과 비교하며, 일치, 틀린 값, 누락된 값을 따로 기록합니다.
  3. 레코드별이 아니라 속성별로 오류율을 계산하여 문제를 일으키는 속성이나 머리글 매핑을 찾아냅니다.
  4. 안전과 관련된 속성과 법적으로 요구되는 속성은 샘플이 아니라 모든 레코드에서 확인합니다.
검증 규칙 유형과 예시
규칙 유형예시실패 시 조치
유형 및 형식capacity는 소수여야 함, gtin은 숫자만 허용값을 거부하고 검토를 위해 원본 텍스트 보관
범위 및 타당성주전자 용량은 0.1~5 L 사이단위 또는 구분 기호 오류일 가능성이 있다고 표시
열거형 포함 여부color는 기본 색상 목록에 있어야 함동의어를 매핑하거나 어휘에 추가
필드 간 검증min ≤ max, 순중량 ≤ 총중량두 필드를 모두 표시
체크 디지트GTIN이 GS1 mod-10 검사를 통과거부하고 원본에서 다시 읽기
완전성제품군과 채널에 필요한 모든 속성이 채워짐게시를 차단하고 공급업체에 데이터 요청

대규모로 속성 정규화 운영하기

스키마, 동의어 표, 어휘, 규칙이 이 작업에서 오래 가는 부분이며, 추출 방법은 그 아래에서 바뀔 수 있습니다. 이들을 버전 관리하고, 각각 담당자를 정하고, 수동 수정은 사유와 함께 기록하며(반복되는 수정은 누락된 규칙이 있다는 신호입니다), 새 공급업체를 도입할 때마다 동의어 표를 검토하세요.

속성이 공급업체 PDF에서 시작된다면 Doc2Shelf가 추출 단계를 맡을 수 있습니다. 업로드한 데이터시트, 사양서, SDS, 카탈로그를 읽고, 값과 단위를 인쇄된 그대로 유지하며 페이지와 짧은 인용문을 근거로 남기고, 누락된 필수 데이터를 표시합니다. 이후 정규화 규칙은 레코드가 리스팅이나 선언문 초안에 반영되기 전 검토 단계에서 적용됩니다.

자주 묻는 질문

제품 속성이란 무엇인가요?
제품 속성은 소재, 색상, 용량, 치수, 정격 전력처럼 제품을 설명하는 값이 있는 이름 있는 특성입니다. 설명 텍스트와 달리 구조화된 필드에 저장되므로 필터, 사양 표, 피드, 카테고리 요건을 구동할 수 있습니다.
제품 속성과 변형의 차이는 무엇인가요?
속성은 제품의 모든 특성입니다. 변형은 사이즈나 색상처럼 구매자가 선택하는 하나 이상의 속성이 다른 제품 버전입니다. 이렇게 선택하는 속성이 변형 옵션이며, 나머지는 상위 제품에서 공유됩니다.
제품 설명에서 속성을 추출하려면 어떻게 하나요?
먼저 대상 속성과 허용 값을 정의하고, 텍스트를 문장으로 나눈 다음 후보 값을 찾아 속성에 할당하기 전에 각각의 한정어, 부정, 조건을 확인하세요. 마케팅 문구에만 나오는 속성은 데이터시트와 대조해 확인합니다.
UNECE 권고 20 단위 코드란 무엇인가요?
UN/CEFACT가 발표한 국제 무역에서 쓰는 측정 단위의 세 글자 코드입니다. 예를 들어 미터는 MTR, 킬로그램은 KGM, 리터는 LTR, 와트는 WTT입니다. schema.org의 unitCode 속성도 동일한 코드를 사용합니다.
원래 값과 변환된 값 중 무엇을 저장해야 하나요?
둘 다 저장합니다. 필터링, 비교, 검증을 위해 정규화된 숫자와 단위 코드를 저장하고, 추적성을 위해 인쇄된 그대로의 값도 보관하세요. 내보낼 때 각 채널이 기대하는 단위(예: Shopify 제품 CSV의 무게는 그램)로 변환합니다.
GS1 GPC, ETIM, Shopify 중 어떤 제품 분류 체계를 써야 하나요?
거래처와 채널이 요구하는 것을 사용하며, 여러 개를 쓰는 경우도 많습니다. 자체 속성 스키마를 마스터로 유지하고, 리테일 데이터 교환용 GPC, 기술 도매용 ETIM, Shopify 스토어용 Shopify Standard Product Taxonomy에 대한 매핑을 관리하세요.
속성 추출 품질은 어떻게 측정하나요?
추출된 레코드 샘플을 필드별로 원본 문서와 비교하고, 속성마다 정확한 값, 틀린 값, 누락된 값을 따로 집계합니다. 틀린 값은 정밀도 문제를, 누락된 값은 재현율 문제를 나타냅니다. 공급업체별로 둘 다 추적하세요.
여러 언어의 제품 속성은 어떻게 처리하나요?
색상이나 소재 같은 열거형 값은 언어 중립적인 코드로 저장하고 번역된 라벨을 붙이며, 숫자와 단위 코드는 언어와 무관하게 유지합니다. 자유 형식 속성은 언어별 번역과 검토가 필요합니다.

공식 자료

이 가이드에서 참조한 1차 법령 원문과 공식 안내 자료입니다.

이 가이드는 일반적인 정보이며 법률 자문이 아닙니다. 요건은 제품과 시장에 따라 다르므로, 공식 원문을 확인하시고 상황에 맞는 전문가의 조언을 받으시기 바랍니다.

더 많은 가이드

공급업체 PDF를 검토된 제품 데이터로 변환하세요

Doc2Shelf는 공급업체 문서에서 제품 데이터를 추출하고, 검토를 위한 리스팅과 규정 준수 문서 초안을 작성합니다.

무료 계정 만들기