SlideShare a Scribd company logo
1 of 32
Download to read offline
솔루션그룹 김광섭 상무
머싞러닝을 홗용핚 품목 데이터 표준화
(Character Embedding + CNN + B-LSTM)
- 2018 엠로 세미나 -
2018 엠로 세미나
[ 2 ]
목 차
I. 추짂 배경
II. 구현 목표
III.구현 방법
IV.Demo
2018 엠로 세미나
[ 3 ]
I. 추짂 배경
왜 품목 데이터 표준화인가?
2018 엠로 세미나
[ 4 ]
I. 추짂 배경
구매/조달 곾점에서 Item Master Data의 품질 저하로 인해 구매 단가 차이,
조달 효윣성 저하, 주기적인 표준화 비용 발생 등의 다양핚 이슈가 발생함
Item Master Data 곾리
Item
Item
Item
Item 분류
오류 존재
3 Level
4 Level
5 Level
2 Level
1 Level
Item
분류체계 속성체계
유사/동일 Item 중복 발생
 대부분 기업들은 Item Master 정보에 대핚 분류체계/식별체계
/속성체계/표기표준 관리측면에서 다양핚 Data 품질 이슈가 존재함.
 Item Master 정보의 부정확성으로 인해, 구매단가 차이 발생, 구매
Lead-time 증가, Data 표준화를 위핚 추가비용 발생 등의 문제가 발생함.
식별체계
Item Description
비체계적인 Item 정보관리
공통속성 개별속성
2 4
3
C
E
D
AB
2
4
3 F
H
GI
J
속성 항목 갂
유사/중복 발생
관리 속성 Pool
표기표준
미준수
(Item명,
속성값 등)
현상 및 이슈
표
기
표
준
 분류체계 - Item 갂의 Mapping 오류 발생
- 물품특성, 용도 등 다양핚 기준 적용으로 인해
Leaf-Class(Level 4 or 5)와 품목 갂 Mapping 오류 발생
(구매 업무 진행상 다양핚 비효율 발생)
 유사/동일 Item 중복 발생
- 싞규 품목 정보 등록 시, Validation 체크 미흡
등으로 인해 유사/동일 Item 중복 발생
(동일 Item 갂의 구매단가 Gap 발생)
 속성항목 갂의 유사/중복 발생
- 속성항목들에 대핚 비계층적(≠속성그룹 관리)
관리로 인핚 항목 갂 유사/중복 발생 및
속성 Data Table 증가에 따른 검색속도 저하
등의 이슈가 발생됨
 비 체계적인 Item 정보 곾리
- 일부 품목(갂접자재/비 중요 품목 등)에 대해
Description 형태 관리로 인핚 품목 인지 및
속성 확인 곤란
 표기 표준 미 준수 발생
- 품목명, 속성항목, 속성값, UOM 등의
표기표준 미 준수로 인핚 품목/속성값 식별 불가
1
2
3
4
5
1
2
3
4
5
Item Master 곾렦 주요 이슈
2018 엠로 세미나
[ 5 ]
I. 추짂 배경
Item Master Data의 품질 향상을 위핚 일반적인 표준화 젃차는 다음과 같이 짂행됨
 싞규 Item 등록이나, Excel 일괄 Upload를
통핚 Spot 성 Data 정비, 기존 등록 Item
정보를 대상으로 Clean-up을 진행함
Item Code(ID) Description
1000020387 UPS/Powerware 9340 100kVA, 12P필터내장
1000031285 H/W/SERVER/HP/BL460c(2CPUQ, 8GB, 146*2
Data Input
Parsing
Item Name
Standardization
Classification
표준화 젃차 수행 내용 예시
 Description 상의 속성 관련 정보 분석을
통해 적합핚 속성항목 Mapping 및 필요 시
싞규속성 항목 추가
 속성 항목 별로 적합핚 속성 값을 핛당함
 Item Description 이나 현행 분류 정보 등에
대핚 분석을 통해 Item 표준 명칭을 정의함
일반장비 네트워크장비
IT장비
UPS
SERVER
SERVER
…
Level 1 Level 3~4 Item Name
추첚
 수요기관의 분류체계 특성(물리적 성질, 용도
등) 기준에 따라 분류체계 Mapping 작업을
진행함
Item 명칭 식별
Item
Name
Maker Model No. Type CPU HDD Memory
HP BL460c BLADE 2CPUQ 146*2 8GB
SERVER
Item
Name
Maker Model No. Type CPU HDD Memory
SERVER HP BL460c BLADE 2CPUQ 146*2 8GB
„Server‟ Item에 대핚 속성 분류
Item Master Data 표준화 젃차
2018 엠로 세미나
[ 6 ]
II. 구현 목표
그래서…
품목 표준화 작업을 자동화 핛 수 있을까?
그렇다면, 품목 description 만 보고도
자동으로 표준품명을 지정하고 속성값들을 분류 하겠다는 것인데…
그리고…
표준화 작업 이외에 어디에 홗용 핛 수 있는가?
2018 엠로 세미나
[ 7 ]
II. 구현 목표
고속젃단기, YS-16A,3728W, 2200rpm, 90kg, 톱날:OD405(16˝)*ID25.4(1˝)mm,삼상5HP
자동그리스주입기, TM-01,125CC, Φ79*118mm 나사:NPT 1/4˝
별비트, B4VT660, T6*Ø4mm*L60
육각비트, S35-1.5-70, 1.5*L70mm, ETC:100-7143
SDS-PLUS함마드릴비트,,외경*길이: 10.0Ø*160mm 유효장: 100mm
키레스척, KC-13MG-SH(JT.6), D51*L94*L106mm, 1-13
에어임팩렌치, IR-2130AP, 1/2SQ*L180mm,14mm,612N.m,2.15kg
자동에어릴, 내경:8Φ외경:12Φ길이:25m, RA-825ST
에어타카, T64R(구.NT64), H292*W83*L311mm,2.3kg,95,사용핀:T30/35/40/45/50/57/64
유압단동램, TS-305, OD102*H172mm,220cc,30ton,THPA-1B,스트로크:50mm,9.8kg
원형톱날, LP60M028P, OD355*T3.0(팁)*T2.2(판)*ID25.4mm, 날수:108날
SizeModel No.
아래 품목들에서 Model No, Size, Power, RPM, Weight 등등의 속성들을 자동으로
분류하고, 표준품명을 추롞 핛 수 있는 시스템 구현
Item Name Model No. Size
Speed/
RPM
Weight Volume
고속젃단기 YS-16A 톱날:OD405(16˝)*ID25.4(1˝)mm 2200rpm 90kg
자동그리스주입기 TM-0000001 파이79*118mm 125CC
별비트 B4V-T660 T6*Ø4mm*L60
육각비트 S35-1.5-70 1.5*L70mm
SDS-PLUS함마드릴비트 10.0Ø*160mm
키레스척 KC-13MG-SH(JT.6) D51*L94*L106mm
에어임팩렌치 IR-2130AP 1/2SQ*L180mm 2.15kg
자동에어릴 RA-825ST 내경:8Φ외경:12Φ길이:25m
에어타카 T64R(구.NT64) H292*W83*L311mm 2.3kg
유압단동램 TS-305 OD102*H172mm 30ton 220CC
원형톱날 LP60M028P OD355*T3.0(팁)*T2.2(판)*ID25.4mm
Item Master 속성분석 자동화
2018 엠로 세미나
[ 8 ]
II. 구현 목표
품목 description 에서 속성들을 분류하고, 분류핚 품목명과 속성정보들을 홗용하여
동일/유사품목 검색, 발주실적 조회, 시장가격 검색을 자동화 하여 Sourcing 업무에 홗용
품목 description 형식의
PR item 접수
Open Market 에서
시장가격 검색
Open API
(Item Name, Model No.)
검색엔짂
(품목마스터, 발주이력)
유사품목 검색
발주실적 / 단가이력 검색
검색 API
(Item Name, 속성 정보)
Sourcing 업무에 홗용
품명, 속성 분석
Cleansing 대상
품목 description 데이터 셋
표준품명, 속성 값으로
Cleansing 된 데이터 셋
Item Doctor
품목 Cleansing Sourcing
PR Item의 품명, 속성 분석
Item Doctor
2018 엠로 세미나
[ 9 ]
III. 구현 방법
왜 머싞러닝 인가?
2018 엠로 세미나
[ 10 ]
III. 구현 방법
데이터로부터 스스로 학습하여 해결핚다.
사람이나 프로그램이 해결하기 어려운 문제를
문제영역의 데이터를 이해해서,
스스로 학습 핛 수 있도록
학습모델을 만들어야 함.
CNN, Bidirectional-LSTM …
해결하고자 하는 문제영역이
가지고 있는 자료
머싞러닝에 대핚 생각
2018 엠로 세미나
[ 11 ]
III. 구현 방법
문제와 정답을 알려주고 학습시킨 다음, 새로운 문제를 제시했을 때 정답을 맞출 수
있도록 데이터를 준비 (지도학습)
문제 정답정답
학습 데이터
2018 엠로 세미나
[ 12 ]
III. 구현 방법
Character embedding
lookup table
CNN
(Convolutional Neural Network)
Fully connected network
B-LSTM
(Bidirectional-Long Short Term Memory)
Loss
계산
Loss
계산
Loss 합
계산
Loss 합이 어느 정도 최소화 될 때까지
training
1 문자(Character)를
벡터(Vector) 값으로 표현
words
embedding2 품목 description 개별
속성 값들의 특징 학습
4
품목 description 들의
표준 품목명 학습/추롞
데이터를 홗용하여 스스로 학습하고 추롞 핛 수 있는 싞경망(Neural Network)
학습모델 설계
3 품목 description 개별
속성 값의 속성유형 추롞
스스로 학습하는 방법
2018 엠로 세미나
[ 13 ]
III. 구현 방법
핚 걸음 더 들어가 보겠습니다.
CNN
Character embedding
Bidirectional-LSTM
2018 엠로 세미나
[ 14 ]
III. 구현 방법
CNN 은 이미지 분석 분야에서 주로 사용되며, 성능이 뛰어난 기본 학습 모델
 사짂(이미지)은 픽셀 단위의 계산 가능핚 실수들의 집합
 물체의 특징은 사짂의 어디에서든 나타날 수 있음. (눈, 코, 귀, 입, 꼬리 등등)
 젂체 픽셀을 핚꺼번에 사용하여 학습(계산)핚다면 일반화가 어려움
 젂체 픽셀이 아니라 주변 픽셀만 학습(계산)하면?
 CNN은 이미지의 주변 픽셀만 학습(계산)하여 물체의 특징(feature) 들만 뽑아 내어 feature map 을 만들어 낼 수 있음
1 0 1 1 0 1
1 1 0
1 0 1
0 1 1 0 1 1
1 1 1
1 0 1
이미지를 표현하는
픽셀 단위의 데이터 구조
CNN (Convolutional Neural Network)
2018 엠로 세미나
[ 15 ]
III. 구현 방법
CNN Layer 의 학습(계산) 방법
32
32
1 0 1
1 1 1
1 0 0
3
3
30
30=
filter
CNN (Convolutional Neural Network)
 일정핚 크기의 filter 를 사용하여 이미지 픽셀을 scan
 Filter 의 size 와 개수, 출력값(channel)의 개수를 지정핛 수 있음
 일반적으로 Convolutional Layer 를 여러 개 이어서 학습 모델을 만듦 (CONV/ACTV/CONV/POOL/CONV/POOL/FC)
 Filter 가 움직이면서 이미지의 지역적인
정보를 추출하여 보졲 하는 형태로 학습
 첫번 째 Convolutional Layer 의 학습결과는
주로 이미지 윢곽(shape)의 특징들을 학습
 다음 Layer 로 갈수록 구체적인 특징들을
학습하기 시작 함
2018 엠로 세미나
[ 16 ]
III. 구현 방법
CNN 은 일정 크기의 픽셀 단위로 학습(계산)해서 이미지의 주요핚 특징들을 뽑아냄
 Convolutional Layer를 시각화하면, Layer가 어떤 Feature를 뽑아냈는지 알 수 있음.
 앞의 레이어일수록 Linear핚 결과를 뽑아 냄.
 뒤의 레이어일수록 조금 더 구체적인 결과를 뽑아 냄
CNN (Convolutional Neural Network)
CONV1
CONV2
CONV3
CONV4
CONV5
윢곽
눈,코,입,
귀,꼬리..
2018 엠로 세미나
[ 17 ]
III. 구현 방법
잠깐, 오늘의 주제는 자연어 처리 아니었나요?
고속젃단기, YS-16A,3728W,
2200rpm, 90kg,
OD405(16˝)*ID25.4(1˝)mm,
삼상5HP
자연어 처리(NLP)
이미지가 고양이 인지를 분류하는 것과
품목 description 을 분석해서 속성들을 찾아내는 것과 무슨 연곾이?
2018 엠로 세미나
[ 18 ]
III. 구현 방법
품목 description을 단순히 문자(character)들의 나열로 이루어짂 텍스트로 이해
고속젃단기, YS-16A,3728W, 2200rpm, 90kg, OD405(16˝)*ID25.4(1˝)mm,삼상5HP
고속젃단기 YS-16A 3728W 2200rpm 90kg OD405(16˝)*ID25.4(1˝)mm
고 속 젃 단 기 Y S - 1 6 A * I D 2 5 . 4 ( 1 ˝ ) m m…
품목의 full description 은
의미 있는 속성(token)들로 구성,
이 속성들이 학습대상이며,
Model No., Size 같은 속성유형이 정답
각 속성들은
문자(Character)* 들의 집합으로 구성
Model No. Size
* 문자(Character) : 여기서는 문자/숫자/기호를 총칭 함
Character Embedding
이미지가 단위 픽셀로 구성된 것처럼
학습대상인 속성값들을 단순히 여러
문자로 구성된 텍스트로 바라보면?
2018 엠로 세미나
[ 19 ]
III. 구현 방법
Character embedding
lookup table
CNN
(Convolutional Neural Network)
Fully connected network
B-LSTM
(Bidirectional-Long Short Term Memory)
Loss
계산
Loss
계산
Loss 합
계산
Loss 합이 어느 정도 최소화 될 때까지
training
words
embedding
Character Embedding
1 문자(Character)를
벡터(Vector) 값으로 표현
머싞러닝 모델들은 문자(character) 를 다룰 수 없음. 숫자로 표현해야 계산이 가능 함.
2018 엠로 세미나
[ 20 ]
III. 구현 방법
문자(character)들을 계산이 가능핚 벡터(vector)로 표현 하고,
Character embedding lookup table 을 생성.
OD405(16˝)*ID25.4(1˝)mm
O
D
4
0
5
(
1
6
“
)
*
I
…
m
…
1 0 1 0 0 … 1 0 1 1 0 0 1 1 1
0 1 1 0 1 … 1 0 0 1 1 0 1 0 1
1 1 1 0 1 … 1 1 1 0 1 0 0 1 1
0 0 1 1 1 … 1 0 0 1 0 0 1 0 1
1 1 0 0 0 … 1 0 1 1 0 0 1 1 0
0 1 1 0 0 … 1 0 0 1 1 0 1 0 1
1 1 1 0 1 … 1 0 1 1 1 1 0 1 0
0 0 1 1 0 … 1 1 1 1 0 0 1 0 1
1 1 0 0 0 … 1 0 1 1 0 0 1 1 0
0 1 1 0 0 … 1 0 0 1 1 0 1 0 1
1 1 1 0 1 … 1 0 1 1 1 1 0 1 0
0 0 1 1 0 … 1 1 1 1 0 0 1 0 1
… … … … … … … … … … … … … … …
1 1 1 0 1 … 0 1 1 1 1 0 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
125
23
61
99
35
976
13
42
1047
985
1354
745
…
649
…
30
30
Character Embedding
1word = max 30 character
Character Embedding
Character index
Character Dictionary (Character : index)
{'외': 0, '층': 1, '㎜': 2, '1': 3, '착': 4, '#': 5, '납': 6, '단': 7, '든': 8,
'록': 9, '*': 10, '쏙': 11, 'R': 12, „1': 13, '판': 14, '금': 15, '온': 16,
'홗': 17, '깜': 18, '툴': 19, '족': 20, '블': 21, '앙': 22, „D': 23, '력': 24,
'x01': 25, '배': 26, '경': 27, '첼': 28, '소': 29, '튜': 30, '떠': 31, '쿼':
32,…‟O‟: 125}
하나의 문자(character)를 30차원 벡터로 표현 
2018 엠로 세미나
[ 21 ]
III. 구현 방법
품목 description 의 속성 값들을 character embedding 하고 난 후에
고양이와 품목 속성(여기서는 size를 예시로 함)의 데이터 구조가 비슷해 보일까요?
O
D
4
0
5
(
1
6
“
)
*
I
…
m
…
1 0 1 0 0 … 1 0 1 1 0 0 1 1 1
0 1 1 0 1 … 1 0 0 1 1 0 1 0 1
1 1 1 0 1 … 1 1 1 0 1 0 0 1 1
0 0 1 1 1 … 1 0 0 1 0 0 1 0 1
1 1 0 0 0 … 1 0 1 1 0 0 1 1 0
0 1 1 0 0 … 1 0 0 1 1 0 1 0 1
1 1 1 0 1 … 1 0 1 1 1 1 0 1 0
0 0 1 1 0 … 1 1 1 1 0 0 1 0 1
1 1 0 0 0 … 1 0 1 1 0 0 1 1 0
0 1 1 0 0 … 1 0 0 1 1 0 1 0 1
1 1 1 0 1 … 1 0 1 1 1 1 0 1 0
0 0 1 1 0 … 1 1 1 1 0 0 1 0 1
… … … … … … … … … … … … … … …
1 1 1 0 1 … 0 1 1 1 1 0 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
OD405(16˝)*ID25.4(1˝)mm
Character Embedding
그렇다면, 이미지처럼 filter 를 움직이면서 문자집합의
지역적인 정보를 추출하여 보졲 하는 형태로 학습이
가능하지 않을까요?
2018 엠로 세미나
[ 22 ]
III. 구현 방법
Character embedding
lookup table
CNN
(Convolutional Neural Network)
Fully connected network
B-LSTM
(Bidirectional-Long Short Term Memory)
Loss
계산
Loss
계산
Loss 합
계산
Loss 합이 어느 정도 최소화 될 때까지
training
1 문자(Character)를
벡터(Vector) 값으로 표현
words
embedding 4 표준 품목명 학습/추롞
3 Description 의 개별
속성 값의 속성유형 추롞
CNN (Convolutional Neural Network)
2 Description 의 개별
속성 값의 특징 학습
이미지처럼 텍스트의 지역적인 특징을 추출하고 보졲
2018 엠로 세미나
[ 23 ]
III. 구현 방법
품목 description 에서 개별 속성들의 특징들을 뽑아낸 후, 그에 대핚 정답을 알려 줌
O
D
4
0
5
(
1
6
“
)
*
I
…
m
…
1 0 1 0 0 … 1 0 1 1 0 0 1 1 1
0 1 1 0 1 … 1 0 0 1 1 0 1 0 1
1 1 1 0 1 … 1 1 1 0 1 0 0 1 1
0 0 1 1 1 … 1 0 0 1 0 0 1 0 1
1 1 0 0 0 … 1 0 1 1 0 0 1 1 0
0 1 1 0 0 … 1 0 0 1 1 0 1 0 1
1 1 1 0 1 … 1 0 1 1 1 1 0 1 0
0 0 1 1 0 … 1 1 1 1 0 0 1 0 1
1 1 0 0 0 … 1 0 1 1 0 0 1 1 0
0 1 1 0 0 … 1 0 0 1 1 0 1 0 1
1 1 1 0 1 … 1 0 1 1 1 1 0 1 0
0 0 1 1 0 … 1 1 1 1 0 0 1 0 1
… … … … … … … … … … … … … … …
1 1 1 0 1 … 0 1 1 1 1 0 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1
0
1
1
0
…
1
0
OD405(16˝)*ID25.4(1˝)mm
0
1
0
1
1
…
1
0
1
1
0
0
1
…
1
1
1
1
1
0
0
…
0
1
4 feature map 1 feature map
Concatenation
Size
(30 X 30)
CNN (Convolutional Neural Network)
고속젃단기 YS-16A 3728W 2200rpm 90kg OD405(16˝)*ID25.4(1˝)mm문제
정답 Model No. Power RPM Weight Size
OD600(18inch)xID27.4(3”)MM
2글자 단위의 특징
3글자 단위의 특징
4글자 단위의 특징
5글자 단위의 특징
2018 엠로 세미나
[ 24 ]
III. 구현 방법
CNN 에서는 품목 description 에서 개별 속성값의 특징(feature)들을 뽑아 냄
2
Description 의 token(word) 들이
어떤 속성인지 분류하기 위하여
token 들의 특징들을 학습함
고속젃단기
YS-16A
3728W
2200rpm
90kg
OD405(16˝)*ID25.4(1˝)mm
고속젃단기, YS-16A,3728W, 2200rpm, 90kg, OD405(16˝)*ID25.4(1˝)mm,삼상5HP
…
CNN (Convolutional Neural Network)
2018 엠로 세미나
[ 25 ]
III. 구현 방법
Character embedding
lookup table
CNN
(Convolutional Neural Network)
Fully connected network
B-LSTM
(Bidirectional-Long Short Term Memory)
Loss
계산
Loss
계산
Loss 합
계산
Loss 합이 어느 정도 최소화 될 때까지
training
1 문자(Character)를
벡터(Vector) 값으로 표현
words
embedding2 Description 의 개별
속성 값의 특징 학습
4 표준 품목명 학습/추롞
3 Description 의 개별
속성 값의 속성유형 추롞
Loss(Cost) 계산
추롞핚 값과 정답 사이의 손실(오차)을 계산하고 손실 값이 최소화 되도록
처음부터 반복
2018 엠로 세미나
[ 26 ]
III. 구현 방법
CNN 을 통해 학습핚 개별 속성들의 특징을 기반으로 추롞핚 결과가 확률적으로
정답과 얼마나 오차가 있는지 계산하여 오차를 줄이는 방향으로 반복 학습
고속젃단기
YS-16A
3728W
2200rpm
90kg
OD405(16˝)*ID25.4(1˝)mm
…
Loss(Cost) 계산
고속젃단기, YS-16A,3728W, 2200rpm, 90kg, OD405(16˝)*ID25.4(1˝)mm,삼상5HP
CNN 을 통해 학습 된 description 의
속성 특징 값 (실제는 벡터 값)
의 feature
의 feature
의 feature
의 feature
의 feature
의 feature
손실함수를 통해 추롞핚 결과 값과
정답과의 오차를 계산
2018 엠로 세미나
[ 27 ]
III. 구현 방법
싞규 데이터에 대핚 속성 분류 추롞
CNN 학습을 통해 만들고자 하는 모델의 목적은 싞규 description 이 들어왔을 때, description 의 word(token)들을
속성들로 분류 핛 수 있도록 하기 위함 임.
각 word(token) 단위로 속성(12개) 별 확률 계산
“CNN 을 통해 학습되는 결과물은 description token 들의 속성 별 확률 값을 계산 핛 수 있도록 해주는
character embedding 과 network 학습 parameter 들임 ”
“육각비트,S35-1.5-70,1.5*L70mm,ETC:100-7143”
처리해야 핛 싞규 description
• 학습을 통해서 character 단위의 embedding vector 를 알 수 있음
• embedding lookup을 통해서 입력 character 들의 embedding vector 를 알 수 있음
• character, word(token)으로 구성된 description 의 vector
embedding lookup
• 학습을 통해 character 단위 embedding vector 가 업데이트 됨
• CNN + fully connected layer 의 파라미터들이 업데이트 됨
• 새로운 description 에 대해 word(token)들의 속성 별 확률 테이블을 구핛 수 있음
word = character id 로 구성
character id = embedding vector (30차원)
CNN Fully connected layer
싞규 데이터 속성 추롞
Model no. Maker Brand Power … … … Size … … … …
2018 엠로 세미나
[ 28 ]
III. 구현 방법
Character embedding
lookup table
CNN
(Convolutional Neural Network)
Fully connected network
B-LSTM
(Bidirectional-Long Short Term Memory)
Loss
계산
Loss
계산
Loss 합
계산
Loss 합이 어느 정도 최소화 될 때까지
training
1 문자(Character)를
벡터(Vector) 값으로 표현
words
embedding2 Description 의 개별
속성 값의 특징 학습
3 Description 의 개별
속성 값의 속성유형 학습
4 표준 품목명 학습/추롞
Bidirectional-LSTM
젂체를 이해하는 방법으로 표준 품명을 학습하고 추롞
2018 엠로 세미나
[ 29 ]
III. 구현 방법
B-LSTM의 역핛은 품목 description 의 젂체 속성들의 특징들과 구성을 고려하여
표준품명을 학습하고 추롞 핛 수 있도록 함
고속젃단기YS-16A3728W2200rpm90kgOD405(16˝)*ID25.4(1˝)mm
OD405(16˝)*ID25.4(1˝)mm90kg2200rpm3728WYS-16A고속젃단기
Bidirectional-LSTM
Forward LSTM
Backward LSTM
• LSTM은 주로 sequential 핚 입력 데이터를 처리
(문장, 음성, 영상 등등)
• B-LSTM 은 기계어 번역 같은 자연어 처리 분야에서
가장 성능이 뛰어난 모델로 평가
Bidirectional – Long Short Term Memory
• 순차적으로 입력되는 정보들의 연곾성을 고려
• 품목 description 에서 젂체 속성 들의 특징들을
고려하여 품목 명을 학습하고 추롞
• 표준품명 dictionary 를 구성
고속젃단기, YS-16A,3728W, 2200rpm, 90kg, OD405(16˝)*ID25.4(1˝)mm,삼상5HP
CNN 을 통해 추출 된 속성들의 특징(feature)
CNN 을 통해 추출 된 속성들의 특징(feature)
2018 엠로 세미나
[ 30 ]
III. 구현 방법
싞규 데이터에 대핚 표준품명 추롞
BLSTM 학습을 통해 만들고자 하는 모델의 목적은 싞규 description 이 들어왔을 때, 표준 품명을 추첚해 줄 수 있도록 하기
위함 임.
“BLSTM 을 통해 학습되는 결과물은 item name dictionary 에서 description 의 item name 을 특정하기 위핚
character embedding 과 network 학습 parameter 들임 ”
“육각비트,S35-1.5-70,1.5*L70mm,ETC:100-7143”
처리해야 핛 싞규 description
• 학습을 통해서 character 단위의 embedding vector 를 알 수 있음
• embedding lookup을 통해서 입력 character 들의 embedding vector 를 알 수 있음
• character, word(token)으로 구성된 description 의 vector
embedding vector 로 변홖
젂체 item name dictionary
중에서 score 가 가장 높은
item name 을 선택.
학습된 파라미터들에 의해
입력된 description 과 곾렦하여
젂체 item name score 를 계산.
name score 출력
• CNN 을 통해 word embedding
• description 을 구성하는 word embedding 을 sequential 하게 BLSTM 에 젂달
• 입력된 description 의 item name 을 특정핛 수 있도록 젂체 name 별 score 계산
CNN BLSTM
word = character id 로 구성
character id = embedding vector (30차원)
싞규 데이터 표준품명 추롞
2018 엠로 세미나
[ 31 ]
III. 구현 방법
Global 지식공유기업인 „XINOVA‟와 협업을 통해 공동 개발
정규식, LOV 와 같은 Rule 기반 처리와 머싞러닝을 함께 사용(1만건 학습 데이터)
Rule 기반 표준화 Engine
 표준화 수행사례의 DB화를
통해 표준 Rule Set 정의 및
적용
정규식
Data 패턴 속성 Pool 및 입력 예시
Volume
Size
Power
100m3
14mm
100KW
LOV2)
머싞러닝
Character
Embedding
비정형 Text의 Parsing을
위핚 머싞러닝 NLP 적용
Item description 에서
속성값들의 특징을 학습
싞규 Item description 에서
속성값들을 자동 분류
Item description 의 표준품명
을 학습/추롞
CNN/RNN
(BLSTM)
머싞러닝
Character
Embedding
비정형 Text의 Parsing을
위핚 머싞러닝 NLP 적용
Item description 에서
속성값들의 특징을 학습
싞규 Item description 에서
속성값들을 자동 분류
Item description 의 표준품명
을 학습/추롞
CNN/RNN
(BLSTM)
학습 핛 데이터가 충분히 많을 경우
머싞러닝만 사용 가능
XINOVA 소개
 젂세계 10,000여명의 정상급
과학자, 공학자, 발명가, 젂문가로
구성된 Innovation Network 보유
 Pepsico, Honda, Fujitsu, Funai 등의
기술연구 대행 사례 보유
약력
- PhD : Stanford University
- MBA : University of Pennsylvania
- The Wharton School
Vlad Dabija
- Computer Technology 및 Virtual Synaptics
젂문가로서, Netflix 영화 추천 알고리즘을
개발하였으며, 금번 Data Clean-up Algorithm
연구 총 책임자 역핛을 수행하고 있음
다양핚 산업의 기곾/기업
들의 R&D 문제해결을
위핚 연구대행을 수행함
Data Clean-up 연구 총 책임자
2018 엠로 세미나
[ 32 ]
DEMO
- 감사합니다 -
IV. Demo
2018 엠로 세미나

More Related Content

Similar to Standardization of item_data_by_ai_decryption

Python 활용: 이미지 처리와 데이터 분석
Python 활용: 이미지 처리와 데이터 분석Python 활용: 이미지 처리와 데이터 분석
Python 활용: 이미지 처리와 데이터 분석용 최
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기YEONG-CHEON YOU
 
파이썬 데이터 분석 3종세트
파이썬 데이터 분석 3종세트파이썬 데이터 분석 3종세트
파이썬 데이터 분석 3종세트itproman35
 
Workshop 210417 dhlee
Workshop 210417 dhleeWorkshop 210417 dhlee
Workshop 210417 dhleeDongheon Lee
 
딥러닝을 활용한 뉴스 메타 태깅
딥러닝을 활용한 뉴스 메타 태깅딥러닝을 활용한 뉴스 메타 태깅
딥러닝을 활용한 뉴스 메타 태깅if kakao
 
패턴인식-소개
패턴인식-소개패턴인식-소개
패턴인식-소개jdo
 
패턴 인식 1 introduction
패턴 인식 1 introduction패턴 인식 1 introduction
패턴 인식 1 introductionjdo
 
Memento, 그 사람에 대한 모든 정보
Memento, 그 사람에 대한 모든 정보Memento, 그 사람에 대한 모든 정보
Memento, 그 사람에 대한 모든 정보Jiun Bae
 
Deep learning framework 제작
Deep learning framework 제작Deep learning framework 제작
Deep learning framework 제작Tae Young Lee
 
효율적인 2D 게임 개발을 위한 2d skeletal 구조에 관한 연구 - Spine을 중심으로
효율적인 2D 게임 개발을 위한 2d skeletal 구조에 관한 연구 - Spine을 중심으로효율적인 2D 게임 개발을 위한 2d skeletal 구조에 관한 연구 - Spine을 중심으로
효율적인 2D 게임 개발을 위한 2d skeletal 구조에 관한 연구 - Spine을 중심으로Hyunwoo Kim
 
[Apex Trigger 연재강의 6회차] 트리거를 실무에서 어디에 어떻게 사용 하는가?
[Apex Trigger 연재강의 6회차] 트리거를 실무에서 어디에 어떻게 사용 하는가?[Apex Trigger 연재강의 6회차] 트리거를 실무에서 어디에 어떻게 사용 하는가?
[Apex Trigger 연재강의 6회차] 트리거를 실무에서 어디에 어떻게 사용 하는가?JaewonLee153
 
제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Stalker 팀] : 감정분석을 통한 MBTI 기반 개인별 투자 성향 분석
제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Stalker 팀] : 감정분석을 통한 MBTI 기반 개인별 투자 성향 분석제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Stalker 팀] : 감정분석을 통한 MBTI 기반 개인별 투자 성향 분석
제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Stalker 팀] : 감정분석을 통한 MBTI 기반 개인별 투자 성향 분석BOAZ Bigdata
 
2011 미니탭(Minitab) 교재(랜드코리아)
2011 미니탭(Minitab) 교재(랜드코리아)2011 미니탭(Minitab) 교재(랜드코리아)
2011 미니탭(Minitab) 교재(랜드코리아)Elvin Jung
 
유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석SangYun Yi
 
Into The Unknown - A Gentle Introduction to AI.pptx
Into The Unknown - A Gentle Introduction to AI.pptxInto The Unknown - A Gentle Introduction to AI.pptx
Into The Unknown - A Gentle Introduction to AI.pptxMyungHoKim10
 
IoT 기반 스마트 사이니지 서비스 모델 발굴 및 사업화 방안 연구 _2016 smart signage service model
IoT 기반 스마트 사이니지 서비스 모델 발굴 및 사업화 방안 연구 _2016  smart signage service modelIoT 기반 스마트 사이니지 서비스 모델 발굴 및 사업화 방안 연구 _2016  smart signage service model
IoT 기반 스마트 사이니지 서비스 모델 발굴 및 사업화 방안 연구 _2016 smart signage service modelM&M Networks
 
[226]대용량 텍스트마이닝 기술 하정우
[226]대용량 텍스트마이닝 기술 하정우[226]대용량 텍스트마이닝 기술 하정우
[226]대용량 텍스트마이닝 기술 하정우NAVER D2
 

Similar to Standardization of item_data_by_ai_decryption (20)

Python 활용: 이미지 처리와 데이터 분석
Python 활용: 이미지 처리와 데이터 분석Python 활용: 이미지 처리와 데이터 분석
Python 활용: 이미지 처리와 데이터 분석
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기
 
파이썬 데이터 분석 3종세트
파이썬 데이터 분석 3종세트파이썬 데이터 분석 3종세트
파이썬 데이터 분석 3종세트
 
Workshop 210417 dhlee
Workshop 210417 dhleeWorkshop 210417 dhlee
Workshop 210417 dhlee
 
딥러닝을 활용한 뉴스 메타 태깅
딥러닝을 활용한 뉴스 메타 태깅딥러닝을 활용한 뉴스 메타 태깅
딥러닝을 활용한 뉴스 메타 태깅
 
패턴인식-소개
패턴인식-소개패턴인식-소개
패턴인식-소개
 
패턴 인식 1 introduction
패턴 인식 1 introduction패턴 인식 1 introduction
패턴 인식 1 introduction
 
Memento
MementoMemento
Memento
 
Memento, 그 사람에 대한 모든 정보
Memento, 그 사람에 대한 모든 정보Memento, 그 사람에 대한 모든 정보
Memento, 그 사람에 대한 모든 정보
 
Deep learning framework 제작
Deep learning framework 제작Deep learning framework 제작
Deep learning framework 제작
 
효율적인 2D 게임 개발을 위한 2d skeletal 구조에 관한 연구 - Spine을 중심으로
효율적인 2D 게임 개발을 위한 2d skeletal 구조에 관한 연구 - Spine을 중심으로효율적인 2D 게임 개발을 위한 2d skeletal 구조에 관한 연구 - Spine을 중심으로
효율적인 2D 게임 개발을 위한 2d skeletal 구조에 관한 연구 - Spine을 중심으로
 
[Apex Trigger 연재강의 6회차] 트리거를 실무에서 어디에 어떻게 사용 하는가?
[Apex Trigger 연재강의 6회차] 트리거를 실무에서 어디에 어떻게 사용 하는가?[Apex Trigger 연재강의 6회차] 트리거를 실무에서 어디에 어떻게 사용 하는가?
[Apex Trigger 연재강의 6회차] 트리거를 실무에서 어디에 어떻게 사용 하는가?
 
제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Stalker 팀] : 감정분석을 통한 MBTI 기반 개인별 투자 성향 분석
제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Stalker 팀] : 감정분석을 통한 MBTI 기반 개인별 투자 성향 분석제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Stalker 팀] : 감정분석을 통한 MBTI 기반 개인별 투자 성향 분석
제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Stalker 팀] : 감정분석을 통한 MBTI 기반 개인별 투자 성향 분석
 
2011 미니탭(Minitab) 교재(랜드코리아)
2011 미니탭(Minitab) 교재(랜드코리아)2011 미니탭(Minitab) 교재(랜드코리아)
2011 미니탭(Minitab) 교재(랜드코리아)
 
유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석
 
분석6기 4조
분석6기 4조분석6기 4조
분석6기 4조
 
Into The Unknown - A Gentle Introduction to AI.pptx
Into The Unknown - A Gentle Introduction to AI.pptxInto The Unknown - A Gentle Introduction to AI.pptx
Into The Unknown - A Gentle Introduction to AI.pptx
 
IoT 기반 스마트 사이니지 서비스 모델 발굴 및 사업화 방안 연구 _2016 smart signage service model
IoT 기반 스마트 사이니지 서비스 모델 발굴 및 사업화 방안 연구 _2016  smart signage service modelIoT 기반 스마트 사이니지 서비스 모델 발굴 및 사업화 방안 연구 _2016  smart signage service model
IoT 기반 스마트 사이니지 서비스 모델 발굴 및 사업화 방안 연구 _2016 smart signage service model
 
우리동네 무비스팟
우리동네 무비스팟우리동네 무비스팟
우리동네 무비스팟
 
[226]대용량 텍스트마이닝 기술 하정우
[226]대용량 텍스트마이닝 기술 하정우[226]대용량 텍스트마이닝 기술 하정우
[226]대용량 텍스트마이닝 기술 하정우
 

More from JihyunSong13

More from JihyunSong13 (10)

Ism conference, cpsm certi.
Ism conference, cpsm certi.Ism conference, cpsm certi.
Ism conference, cpsm certi.
 
Facilities purchase
Facilities purchaseFacilities purchase
Facilities purchase
 
Pmo tasks status
Pmo tasks statusPmo tasks status
Pmo tasks status
 
Pmo community
Pmo communityPmo community
Pmo community
 
Cpsm ism2019
Cpsm ism2019Cpsm ism2019
Cpsm ism2019
 
Cpsm ism2019
Cpsm ism2019Cpsm ism2019
Cpsm ism2019
 
New law
New lawNew law
New law
 
화평법 개정
화평법 개정화평법 개정
화평법 개정
 
New law of_environment_decryption
New law of_environment_decryptionNew law of_environment_decryption
New law of_environment_decryption
 
Emro seminar
Emro seminarEmro seminar
Emro seminar
 

Standardization of item_data_by_ai_decryption

  • 1. 솔루션그룹 김광섭 상무 머싞러닝을 홗용핚 품목 데이터 표준화 (Character Embedding + CNN + B-LSTM) - 2018 엠로 세미나 - 2018 엠로 세미나
  • 2. [ 2 ] 목 차 I. 추짂 배경 II. 구현 목표 III.구현 방법 IV.Demo 2018 엠로 세미나
  • 3. [ 3 ] I. 추짂 배경 왜 품목 데이터 표준화인가? 2018 엠로 세미나
  • 4. [ 4 ] I. 추짂 배경 구매/조달 곾점에서 Item Master Data의 품질 저하로 인해 구매 단가 차이, 조달 효윣성 저하, 주기적인 표준화 비용 발생 등의 다양핚 이슈가 발생함 Item Master Data 곾리 Item Item Item Item 분류 오류 존재 3 Level 4 Level 5 Level 2 Level 1 Level Item 분류체계 속성체계 유사/동일 Item 중복 발생  대부분 기업들은 Item Master 정보에 대핚 분류체계/식별체계 /속성체계/표기표준 관리측면에서 다양핚 Data 품질 이슈가 존재함.  Item Master 정보의 부정확성으로 인해, 구매단가 차이 발생, 구매 Lead-time 증가, Data 표준화를 위핚 추가비용 발생 등의 문제가 발생함. 식별체계 Item Description 비체계적인 Item 정보관리 공통속성 개별속성 2 4 3 C E D AB 2 4 3 F H GI J 속성 항목 갂 유사/중복 발생 관리 속성 Pool 표기표준 미준수 (Item명, 속성값 등) 현상 및 이슈 표 기 표 준  분류체계 - Item 갂의 Mapping 오류 발생 - 물품특성, 용도 등 다양핚 기준 적용으로 인해 Leaf-Class(Level 4 or 5)와 품목 갂 Mapping 오류 발생 (구매 업무 진행상 다양핚 비효율 발생)  유사/동일 Item 중복 발생 - 싞규 품목 정보 등록 시, Validation 체크 미흡 등으로 인해 유사/동일 Item 중복 발생 (동일 Item 갂의 구매단가 Gap 발생)  속성항목 갂의 유사/중복 발생 - 속성항목들에 대핚 비계층적(≠속성그룹 관리) 관리로 인핚 항목 갂 유사/중복 발생 및 속성 Data Table 증가에 따른 검색속도 저하 등의 이슈가 발생됨  비 체계적인 Item 정보 곾리 - 일부 품목(갂접자재/비 중요 품목 등)에 대해 Description 형태 관리로 인핚 품목 인지 및 속성 확인 곤란  표기 표준 미 준수 발생 - 품목명, 속성항목, 속성값, UOM 등의 표기표준 미 준수로 인핚 품목/속성값 식별 불가 1 2 3 4 5 1 2 3 4 5 Item Master 곾렦 주요 이슈 2018 엠로 세미나
  • 5. [ 5 ] I. 추짂 배경 Item Master Data의 품질 향상을 위핚 일반적인 표준화 젃차는 다음과 같이 짂행됨  싞규 Item 등록이나, Excel 일괄 Upload를 통핚 Spot 성 Data 정비, 기존 등록 Item 정보를 대상으로 Clean-up을 진행함 Item Code(ID) Description 1000020387 UPS/Powerware 9340 100kVA, 12P필터내장 1000031285 H/W/SERVER/HP/BL460c(2CPUQ, 8GB, 146*2 Data Input Parsing Item Name Standardization Classification 표준화 젃차 수행 내용 예시  Description 상의 속성 관련 정보 분석을 통해 적합핚 속성항목 Mapping 및 필요 시 싞규속성 항목 추가  속성 항목 별로 적합핚 속성 값을 핛당함  Item Description 이나 현행 분류 정보 등에 대핚 분석을 통해 Item 표준 명칭을 정의함 일반장비 네트워크장비 IT장비 UPS SERVER SERVER … Level 1 Level 3~4 Item Name 추첚  수요기관의 분류체계 특성(물리적 성질, 용도 등) 기준에 따라 분류체계 Mapping 작업을 진행함 Item 명칭 식별 Item Name Maker Model No. Type CPU HDD Memory HP BL460c BLADE 2CPUQ 146*2 8GB SERVER Item Name Maker Model No. Type CPU HDD Memory SERVER HP BL460c BLADE 2CPUQ 146*2 8GB „Server‟ Item에 대핚 속성 분류 Item Master Data 표준화 젃차 2018 엠로 세미나
  • 6. [ 6 ] II. 구현 목표 그래서… 품목 표준화 작업을 자동화 핛 수 있을까? 그렇다면, 품목 description 만 보고도 자동으로 표준품명을 지정하고 속성값들을 분류 하겠다는 것인데… 그리고… 표준화 작업 이외에 어디에 홗용 핛 수 있는가? 2018 엠로 세미나
  • 7. [ 7 ] II. 구현 목표 고속젃단기, YS-16A,3728W, 2200rpm, 90kg, 톱날:OD405(16˝)*ID25.4(1˝)mm,삼상5HP 자동그리스주입기, TM-01,125CC, Φ79*118mm 나사:NPT 1/4˝ 별비트, B4VT660, T6*Ø4mm*L60 육각비트, S35-1.5-70, 1.5*L70mm, ETC:100-7143 SDS-PLUS함마드릴비트,,외경*길이: 10.0Ø*160mm 유효장: 100mm 키레스척, KC-13MG-SH(JT.6), D51*L94*L106mm, 1-13 에어임팩렌치, IR-2130AP, 1/2SQ*L180mm,14mm,612N.m,2.15kg 자동에어릴, 내경:8Φ외경:12Φ길이:25m, RA-825ST 에어타카, T64R(구.NT64), H292*W83*L311mm,2.3kg,95,사용핀:T30/35/40/45/50/57/64 유압단동램, TS-305, OD102*H172mm,220cc,30ton,THPA-1B,스트로크:50mm,9.8kg 원형톱날, LP60M028P, OD355*T3.0(팁)*T2.2(판)*ID25.4mm, 날수:108날 SizeModel No. 아래 품목들에서 Model No, Size, Power, RPM, Weight 등등의 속성들을 자동으로 분류하고, 표준품명을 추롞 핛 수 있는 시스템 구현 Item Name Model No. Size Speed/ RPM Weight Volume 고속젃단기 YS-16A 톱날:OD405(16˝)*ID25.4(1˝)mm 2200rpm 90kg 자동그리스주입기 TM-0000001 파이79*118mm 125CC 별비트 B4V-T660 T6*Ø4mm*L60 육각비트 S35-1.5-70 1.5*L70mm SDS-PLUS함마드릴비트 10.0Ø*160mm 키레스척 KC-13MG-SH(JT.6) D51*L94*L106mm 에어임팩렌치 IR-2130AP 1/2SQ*L180mm 2.15kg 자동에어릴 RA-825ST 내경:8Φ외경:12Φ길이:25m 에어타카 T64R(구.NT64) H292*W83*L311mm 2.3kg 유압단동램 TS-305 OD102*H172mm 30ton 220CC 원형톱날 LP60M028P OD355*T3.0(팁)*T2.2(판)*ID25.4mm Item Master 속성분석 자동화 2018 엠로 세미나
  • 8. [ 8 ] II. 구현 목표 품목 description 에서 속성들을 분류하고, 분류핚 품목명과 속성정보들을 홗용하여 동일/유사품목 검색, 발주실적 조회, 시장가격 검색을 자동화 하여 Sourcing 업무에 홗용 품목 description 형식의 PR item 접수 Open Market 에서 시장가격 검색 Open API (Item Name, Model No.) 검색엔짂 (품목마스터, 발주이력) 유사품목 검색 발주실적 / 단가이력 검색 검색 API (Item Name, 속성 정보) Sourcing 업무에 홗용 품명, 속성 분석 Cleansing 대상 품목 description 데이터 셋 표준품명, 속성 값으로 Cleansing 된 데이터 셋 Item Doctor 품목 Cleansing Sourcing PR Item의 품명, 속성 분석 Item Doctor 2018 엠로 세미나
  • 9. [ 9 ] III. 구현 방법 왜 머싞러닝 인가? 2018 엠로 세미나
  • 10. [ 10 ] III. 구현 방법 데이터로부터 스스로 학습하여 해결핚다. 사람이나 프로그램이 해결하기 어려운 문제를 문제영역의 데이터를 이해해서, 스스로 학습 핛 수 있도록 학습모델을 만들어야 함. CNN, Bidirectional-LSTM … 해결하고자 하는 문제영역이 가지고 있는 자료 머싞러닝에 대핚 생각 2018 엠로 세미나
  • 11. [ 11 ] III. 구현 방법 문제와 정답을 알려주고 학습시킨 다음, 새로운 문제를 제시했을 때 정답을 맞출 수 있도록 데이터를 준비 (지도학습) 문제 정답정답 학습 데이터 2018 엠로 세미나
  • 12. [ 12 ] III. 구현 방법 Character embedding lookup table CNN (Convolutional Neural Network) Fully connected network B-LSTM (Bidirectional-Long Short Term Memory) Loss 계산 Loss 계산 Loss 합 계산 Loss 합이 어느 정도 최소화 될 때까지 training 1 문자(Character)를 벡터(Vector) 값으로 표현 words embedding2 품목 description 개별 속성 값들의 특징 학습 4 품목 description 들의 표준 품목명 학습/추롞 데이터를 홗용하여 스스로 학습하고 추롞 핛 수 있는 싞경망(Neural Network) 학습모델 설계 3 품목 description 개별 속성 값의 속성유형 추롞 스스로 학습하는 방법 2018 엠로 세미나
  • 13. [ 13 ] III. 구현 방법 핚 걸음 더 들어가 보겠습니다. CNN Character embedding Bidirectional-LSTM 2018 엠로 세미나
  • 14. [ 14 ] III. 구현 방법 CNN 은 이미지 분석 분야에서 주로 사용되며, 성능이 뛰어난 기본 학습 모델  사짂(이미지)은 픽셀 단위의 계산 가능핚 실수들의 집합  물체의 특징은 사짂의 어디에서든 나타날 수 있음. (눈, 코, 귀, 입, 꼬리 등등)  젂체 픽셀을 핚꺼번에 사용하여 학습(계산)핚다면 일반화가 어려움  젂체 픽셀이 아니라 주변 픽셀만 학습(계산)하면?  CNN은 이미지의 주변 픽셀만 학습(계산)하여 물체의 특징(feature) 들만 뽑아 내어 feature map 을 만들어 낼 수 있음 1 0 1 1 0 1 1 1 0 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 이미지를 표현하는 픽셀 단위의 데이터 구조 CNN (Convolutional Neural Network) 2018 엠로 세미나
  • 15. [ 15 ] III. 구현 방법 CNN Layer 의 학습(계산) 방법 32 32 1 0 1 1 1 1 1 0 0 3 3 30 30= filter CNN (Convolutional Neural Network)  일정핚 크기의 filter 를 사용하여 이미지 픽셀을 scan  Filter 의 size 와 개수, 출력값(channel)의 개수를 지정핛 수 있음  일반적으로 Convolutional Layer 를 여러 개 이어서 학습 모델을 만듦 (CONV/ACTV/CONV/POOL/CONV/POOL/FC)  Filter 가 움직이면서 이미지의 지역적인 정보를 추출하여 보졲 하는 형태로 학습  첫번 째 Convolutional Layer 의 학습결과는 주로 이미지 윢곽(shape)의 특징들을 학습  다음 Layer 로 갈수록 구체적인 특징들을 학습하기 시작 함 2018 엠로 세미나
  • 16. [ 16 ] III. 구현 방법 CNN 은 일정 크기의 픽셀 단위로 학습(계산)해서 이미지의 주요핚 특징들을 뽑아냄  Convolutional Layer를 시각화하면, Layer가 어떤 Feature를 뽑아냈는지 알 수 있음.  앞의 레이어일수록 Linear핚 결과를 뽑아 냄.  뒤의 레이어일수록 조금 더 구체적인 결과를 뽑아 냄 CNN (Convolutional Neural Network) CONV1 CONV2 CONV3 CONV4 CONV5 윢곽 눈,코,입, 귀,꼬리.. 2018 엠로 세미나
  • 17. [ 17 ] III. 구현 방법 잠깐, 오늘의 주제는 자연어 처리 아니었나요? 고속젃단기, YS-16A,3728W, 2200rpm, 90kg, OD405(16˝)*ID25.4(1˝)mm, 삼상5HP 자연어 처리(NLP) 이미지가 고양이 인지를 분류하는 것과 품목 description 을 분석해서 속성들을 찾아내는 것과 무슨 연곾이? 2018 엠로 세미나
  • 18. [ 18 ] III. 구현 방법 품목 description을 단순히 문자(character)들의 나열로 이루어짂 텍스트로 이해 고속젃단기, YS-16A,3728W, 2200rpm, 90kg, OD405(16˝)*ID25.4(1˝)mm,삼상5HP 고속젃단기 YS-16A 3728W 2200rpm 90kg OD405(16˝)*ID25.4(1˝)mm 고 속 젃 단 기 Y S - 1 6 A * I D 2 5 . 4 ( 1 ˝ ) m m… 품목의 full description 은 의미 있는 속성(token)들로 구성, 이 속성들이 학습대상이며, Model No., Size 같은 속성유형이 정답 각 속성들은 문자(Character)* 들의 집합으로 구성 Model No. Size * 문자(Character) : 여기서는 문자/숫자/기호를 총칭 함 Character Embedding 이미지가 단위 픽셀로 구성된 것처럼 학습대상인 속성값들을 단순히 여러 문자로 구성된 텍스트로 바라보면? 2018 엠로 세미나
  • 19. [ 19 ] III. 구현 방법 Character embedding lookup table CNN (Convolutional Neural Network) Fully connected network B-LSTM (Bidirectional-Long Short Term Memory) Loss 계산 Loss 계산 Loss 합 계산 Loss 합이 어느 정도 최소화 될 때까지 training words embedding Character Embedding 1 문자(Character)를 벡터(Vector) 값으로 표현 머싞러닝 모델들은 문자(character) 를 다룰 수 없음. 숫자로 표현해야 계산이 가능 함. 2018 엠로 세미나
  • 20. [ 20 ] III. 구현 방법 문자(character)들을 계산이 가능핚 벡터(vector)로 표현 하고, Character embedding lookup table 을 생성. OD405(16˝)*ID25.4(1˝)mm O D 4 0 5 ( 1 6 “ ) * I … m … 1 0 1 0 0 … 1 0 1 1 0 0 1 1 1 0 1 1 0 1 … 1 0 0 1 1 0 1 0 1 1 1 1 0 1 … 1 1 1 0 1 0 0 1 1 0 0 1 1 1 … 1 0 0 1 0 0 1 0 1 1 1 0 0 0 … 1 0 1 1 0 0 1 1 0 0 1 1 0 0 … 1 0 0 1 1 0 1 0 1 1 1 1 0 1 … 1 0 1 1 1 1 0 1 0 0 0 1 1 0 … 1 1 1 1 0 0 1 0 1 1 1 0 0 0 … 1 0 1 1 0 0 1 1 0 0 1 1 0 0 … 1 0 0 1 1 0 1 0 1 1 1 1 0 1 … 1 0 1 1 1 1 0 1 0 0 0 1 1 0 … 1 1 1 1 0 0 1 0 1 … … … … … … … … … … … … … … … 1 1 1 0 1 … 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 125 23 61 99 35 976 13 42 1047 985 1354 745 … 649 … 30 30 Character Embedding 1word = max 30 character Character Embedding Character index Character Dictionary (Character : index) {'외': 0, '층': 1, '㎜': 2, '1': 3, '착': 4, '#': 5, '납': 6, '단': 7, '든': 8, '록': 9, '*': 10, '쏙': 11, 'R': 12, „1': 13, '판': 14, '금': 15, '온': 16, '홗': 17, '깜': 18, '툴': 19, '족': 20, '블': 21, '앙': 22, „D': 23, '력': 24, 'x01': 25, '배': 26, '경': 27, '첼': 28, '소': 29, '튜': 30, '떠': 31, '쿼': 32,…‟O‟: 125} 하나의 문자(character)를 30차원 벡터로 표현  2018 엠로 세미나
  • 21. [ 21 ] III. 구현 방법 품목 description 의 속성 값들을 character embedding 하고 난 후에 고양이와 품목 속성(여기서는 size를 예시로 함)의 데이터 구조가 비슷해 보일까요? O D 4 0 5 ( 1 6 “ ) * I … m … 1 0 1 0 0 … 1 0 1 1 0 0 1 1 1 0 1 1 0 1 … 1 0 0 1 1 0 1 0 1 1 1 1 0 1 … 1 1 1 0 1 0 0 1 1 0 0 1 1 1 … 1 0 0 1 0 0 1 0 1 1 1 0 0 0 … 1 0 1 1 0 0 1 1 0 0 1 1 0 0 … 1 0 0 1 1 0 1 0 1 1 1 1 0 1 … 1 0 1 1 1 1 0 1 0 0 0 1 1 0 … 1 1 1 1 0 0 1 0 1 1 1 0 0 0 … 1 0 1 1 0 0 1 1 0 0 1 1 0 0 … 1 0 0 1 1 0 1 0 1 1 1 1 0 1 … 1 0 1 1 1 1 0 1 0 0 0 1 1 0 … 1 1 1 1 0 0 1 0 1 … … … … … … … … … … … … … … … 1 1 1 0 1 … 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 OD405(16˝)*ID25.4(1˝)mm Character Embedding 그렇다면, 이미지처럼 filter 를 움직이면서 문자집합의 지역적인 정보를 추출하여 보졲 하는 형태로 학습이 가능하지 않을까요? 2018 엠로 세미나
  • 22. [ 22 ] III. 구현 방법 Character embedding lookup table CNN (Convolutional Neural Network) Fully connected network B-LSTM (Bidirectional-Long Short Term Memory) Loss 계산 Loss 계산 Loss 합 계산 Loss 합이 어느 정도 최소화 될 때까지 training 1 문자(Character)를 벡터(Vector) 값으로 표현 words embedding 4 표준 품목명 학습/추롞 3 Description 의 개별 속성 값의 속성유형 추롞 CNN (Convolutional Neural Network) 2 Description 의 개별 속성 값의 특징 학습 이미지처럼 텍스트의 지역적인 특징을 추출하고 보졲 2018 엠로 세미나
  • 23. [ 23 ] III. 구현 방법 품목 description 에서 개별 속성들의 특징들을 뽑아낸 후, 그에 대핚 정답을 알려 줌 O D 4 0 5 ( 1 6 “ ) * I … m … 1 0 1 0 0 … 1 0 1 1 0 0 1 1 1 0 1 1 0 1 … 1 0 0 1 1 0 1 0 1 1 1 1 0 1 … 1 1 1 0 1 0 0 1 1 0 0 1 1 1 … 1 0 0 1 0 0 1 0 1 1 1 0 0 0 … 1 0 1 1 0 0 1 1 0 0 1 1 0 0 … 1 0 0 1 1 0 1 0 1 1 1 1 0 1 … 1 0 1 1 1 1 0 1 0 0 0 1 1 0 … 1 1 1 1 0 0 1 0 1 1 1 0 0 0 … 1 0 1 1 0 0 1 1 0 0 1 1 0 0 … 1 0 0 1 1 0 1 0 1 1 1 1 0 1 … 1 0 1 1 1 1 0 1 0 0 0 1 1 0 … 1 1 1 1 0 0 1 0 1 … … … … … … … … … … … … … … … 1 1 1 0 1 … 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 … 1 0 OD405(16˝)*ID25.4(1˝)mm 0 1 0 1 1 … 1 0 1 1 0 0 1 … 1 1 1 1 1 0 0 … 0 1 4 feature map 1 feature map Concatenation Size (30 X 30) CNN (Convolutional Neural Network) 고속젃단기 YS-16A 3728W 2200rpm 90kg OD405(16˝)*ID25.4(1˝)mm문제 정답 Model No. Power RPM Weight Size OD600(18inch)xID27.4(3”)MM 2글자 단위의 특징 3글자 단위의 특징 4글자 단위의 특징 5글자 단위의 특징 2018 엠로 세미나
  • 24. [ 24 ] III. 구현 방법 CNN 에서는 품목 description 에서 개별 속성값의 특징(feature)들을 뽑아 냄 2 Description 의 token(word) 들이 어떤 속성인지 분류하기 위하여 token 들의 특징들을 학습함 고속젃단기 YS-16A 3728W 2200rpm 90kg OD405(16˝)*ID25.4(1˝)mm 고속젃단기, YS-16A,3728W, 2200rpm, 90kg, OD405(16˝)*ID25.4(1˝)mm,삼상5HP … CNN (Convolutional Neural Network) 2018 엠로 세미나
  • 25. [ 25 ] III. 구현 방법 Character embedding lookup table CNN (Convolutional Neural Network) Fully connected network B-LSTM (Bidirectional-Long Short Term Memory) Loss 계산 Loss 계산 Loss 합 계산 Loss 합이 어느 정도 최소화 될 때까지 training 1 문자(Character)를 벡터(Vector) 값으로 표현 words embedding2 Description 의 개별 속성 값의 특징 학습 4 표준 품목명 학습/추롞 3 Description 의 개별 속성 값의 속성유형 추롞 Loss(Cost) 계산 추롞핚 값과 정답 사이의 손실(오차)을 계산하고 손실 값이 최소화 되도록 처음부터 반복 2018 엠로 세미나
  • 26. [ 26 ] III. 구현 방법 CNN 을 통해 학습핚 개별 속성들의 특징을 기반으로 추롞핚 결과가 확률적으로 정답과 얼마나 오차가 있는지 계산하여 오차를 줄이는 방향으로 반복 학습 고속젃단기 YS-16A 3728W 2200rpm 90kg OD405(16˝)*ID25.4(1˝)mm … Loss(Cost) 계산 고속젃단기, YS-16A,3728W, 2200rpm, 90kg, OD405(16˝)*ID25.4(1˝)mm,삼상5HP CNN 을 통해 학습 된 description 의 속성 특징 값 (실제는 벡터 값) 의 feature 의 feature 의 feature 의 feature 의 feature 의 feature 손실함수를 통해 추롞핚 결과 값과 정답과의 오차를 계산 2018 엠로 세미나
  • 27. [ 27 ] III. 구현 방법 싞규 데이터에 대핚 속성 분류 추롞 CNN 학습을 통해 만들고자 하는 모델의 목적은 싞규 description 이 들어왔을 때, description 의 word(token)들을 속성들로 분류 핛 수 있도록 하기 위함 임. 각 word(token) 단위로 속성(12개) 별 확률 계산 “CNN 을 통해 학습되는 결과물은 description token 들의 속성 별 확률 값을 계산 핛 수 있도록 해주는 character embedding 과 network 학습 parameter 들임 ” “육각비트,S35-1.5-70,1.5*L70mm,ETC:100-7143” 처리해야 핛 싞규 description • 학습을 통해서 character 단위의 embedding vector 를 알 수 있음 • embedding lookup을 통해서 입력 character 들의 embedding vector 를 알 수 있음 • character, word(token)으로 구성된 description 의 vector embedding lookup • 학습을 통해 character 단위 embedding vector 가 업데이트 됨 • CNN + fully connected layer 의 파라미터들이 업데이트 됨 • 새로운 description 에 대해 word(token)들의 속성 별 확률 테이블을 구핛 수 있음 word = character id 로 구성 character id = embedding vector (30차원) CNN Fully connected layer 싞규 데이터 속성 추롞 Model no. Maker Brand Power … … … Size … … … … 2018 엠로 세미나
  • 28. [ 28 ] III. 구현 방법 Character embedding lookup table CNN (Convolutional Neural Network) Fully connected network B-LSTM (Bidirectional-Long Short Term Memory) Loss 계산 Loss 계산 Loss 합 계산 Loss 합이 어느 정도 최소화 될 때까지 training 1 문자(Character)를 벡터(Vector) 값으로 표현 words embedding2 Description 의 개별 속성 값의 특징 학습 3 Description 의 개별 속성 값의 속성유형 학습 4 표준 품목명 학습/추롞 Bidirectional-LSTM 젂체를 이해하는 방법으로 표준 품명을 학습하고 추롞 2018 엠로 세미나
  • 29. [ 29 ] III. 구현 방법 B-LSTM의 역핛은 품목 description 의 젂체 속성들의 특징들과 구성을 고려하여 표준품명을 학습하고 추롞 핛 수 있도록 함 고속젃단기YS-16A3728W2200rpm90kgOD405(16˝)*ID25.4(1˝)mm OD405(16˝)*ID25.4(1˝)mm90kg2200rpm3728WYS-16A고속젃단기 Bidirectional-LSTM Forward LSTM Backward LSTM • LSTM은 주로 sequential 핚 입력 데이터를 처리 (문장, 음성, 영상 등등) • B-LSTM 은 기계어 번역 같은 자연어 처리 분야에서 가장 성능이 뛰어난 모델로 평가 Bidirectional – Long Short Term Memory • 순차적으로 입력되는 정보들의 연곾성을 고려 • 품목 description 에서 젂체 속성 들의 특징들을 고려하여 품목 명을 학습하고 추롞 • 표준품명 dictionary 를 구성 고속젃단기, YS-16A,3728W, 2200rpm, 90kg, OD405(16˝)*ID25.4(1˝)mm,삼상5HP CNN 을 통해 추출 된 속성들의 특징(feature) CNN 을 통해 추출 된 속성들의 특징(feature) 2018 엠로 세미나
  • 30. [ 30 ] III. 구현 방법 싞규 데이터에 대핚 표준품명 추롞 BLSTM 학습을 통해 만들고자 하는 모델의 목적은 싞규 description 이 들어왔을 때, 표준 품명을 추첚해 줄 수 있도록 하기 위함 임. “BLSTM 을 통해 학습되는 결과물은 item name dictionary 에서 description 의 item name 을 특정하기 위핚 character embedding 과 network 학습 parameter 들임 ” “육각비트,S35-1.5-70,1.5*L70mm,ETC:100-7143” 처리해야 핛 싞규 description • 학습을 통해서 character 단위의 embedding vector 를 알 수 있음 • embedding lookup을 통해서 입력 character 들의 embedding vector 를 알 수 있음 • character, word(token)으로 구성된 description 의 vector embedding vector 로 변홖 젂체 item name dictionary 중에서 score 가 가장 높은 item name 을 선택. 학습된 파라미터들에 의해 입력된 description 과 곾렦하여 젂체 item name score 를 계산. name score 출력 • CNN 을 통해 word embedding • description 을 구성하는 word embedding 을 sequential 하게 BLSTM 에 젂달 • 입력된 description 의 item name 을 특정핛 수 있도록 젂체 name 별 score 계산 CNN BLSTM word = character id 로 구성 character id = embedding vector (30차원) 싞규 데이터 표준품명 추롞 2018 엠로 세미나
  • 31. [ 31 ] III. 구현 방법 Global 지식공유기업인 „XINOVA‟와 협업을 통해 공동 개발 정규식, LOV 와 같은 Rule 기반 처리와 머싞러닝을 함께 사용(1만건 학습 데이터) Rule 기반 표준화 Engine  표준화 수행사례의 DB화를 통해 표준 Rule Set 정의 및 적용 정규식 Data 패턴 속성 Pool 및 입력 예시 Volume Size Power 100m3 14mm 100KW LOV2) 머싞러닝 Character Embedding 비정형 Text의 Parsing을 위핚 머싞러닝 NLP 적용 Item description 에서 속성값들의 특징을 학습 싞규 Item description 에서 속성값들을 자동 분류 Item description 의 표준품명 을 학습/추롞 CNN/RNN (BLSTM) 머싞러닝 Character Embedding 비정형 Text의 Parsing을 위핚 머싞러닝 NLP 적용 Item description 에서 속성값들의 특징을 학습 싞규 Item description 에서 속성값들을 자동 분류 Item description 의 표준품명 을 학습/추롞 CNN/RNN (BLSTM) 학습 핛 데이터가 충분히 많을 경우 머싞러닝만 사용 가능 XINOVA 소개  젂세계 10,000여명의 정상급 과학자, 공학자, 발명가, 젂문가로 구성된 Innovation Network 보유  Pepsico, Honda, Fujitsu, Funai 등의 기술연구 대행 사례 보유 약력 - PhD : Stanford University - MBA : University of Pennsylvania - The Wharton School Vlad Dabija - Computer Technology 및 Virtual Synaptics 젂문가로서, Netflix 영화 추천 알고리즘을 개발하였으며, 금번 Data Clean-up Algorithm 연구 총 책임자 역핛을 수행하고 있음 다양핚 산업의 기곾/기업 들의 R&D 문제해결을 위핚 연구대행을 수행함 Data Clean-up 연구 총 책임자 2018 엠로 세미나
  • 32. [ 32 ] DEMO - 감사합니다 - IV. Demo 2018 엠로 세미나