정말 간단한 LSTM으로 정확도 80%대까지 올렸다. 23,000개 데이터를 7,000번 학습시겼다. 정확하게 하려면 모든 카테고리 데이터를 동일하게 맞추고, 내부 태그를 정확하게 정리해야 하는데 시간없어 하지 못했다.
[21:33:28]>cat process | head -100
로드한 모델 vocab 최대값은 2611
로드한 모델 vectror 크기는 5
인티저 값은 ['AUX' 'DATA' 'EMER' 'END_A' 'END_B' 'ERROR' 'PROX_INTLK' 'SOL_A' 'SOL_B']
출력 크기는 9
Model: "sequential_1"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
embedding_1 (Embedding) (None, 10, 5) 13055
_________________________________________________________________
lstm_1 (LSTM) (None, 32) 4864
_________________________________________________________________
dropout_1 (Dropout) (None, 32) 0
_________________________________________________________________
dense_1 (Dense) (None, 16) 528
_________________________________________________________________
dropout_2 (Dropout) (None, 16) 0
_________________________________________________________________
dense_2 (Dense) (None, 9) 153
=================================================================
Total params: 18,600
Trainable params: 5,545
Non-trainable params: 13,055
_________________________________________________________________
Train on 18757 samples, validate on 4690 samples
Epoch 1/1000
- 5s - loss: 2.1842 - acc: 0.0887 - val_loss: 2.1683 - val_acc: 0.0908
Epoch 00001: acc improved from -inf to 0.08866, saving model to ./saved_network_weightv2.h5
Epoch 2/1000
- 4s - loss: 2.1073 - acc: 0.1674 - val_loss: 2.1181 - val_acc: 0.2066
Epoch 00002: acc improved from 0.08866 to 0.16735, saving model to ./saved_network_weightv2.h5
Epoch 3/1000
- 4s - loss: 2.0133 - acc: 0.2660 - val_loss: 2.0448 - val_acc: 0.2652
Epoch 02019: acc improved from 0.88084 to 0.88122, saving model to ./saved_network_weightv2.h5
Epoch 02129: acc improved from 0.88122 to 0.88218, saving model to ./saved_network_weightv2.h5
Epoch 02190: acc improved from 0.88218 to 0.88292, saving model to ./saved_network_weightv2.h5
Epoch 02542: acc improved from 0.88292 to 0.88394, saving model to ./saved_network_weightv2.h5
Epoch 02805: acc improved from 0.88394 to 0.88426, saving model to ./saved_network_weightv2.h5
Epoch 02928: acc improved from 0.88426 to 0.88474, saving model to ./saved_network_weightv2.h5
Epoch 03050: acc improved from 0.88474 to 0.88607, saving model to ./saved_network_weightv2.h5
Epoch 03836: acc improved from 0.88607 to 0.88650, saving model to ./saved_network_weightv2.h5
Epoch 03940: acc improved from 0.88650 to 0.88762, saving model to ./saved_network_weightv2.h5
Epoch 04337: acc improved from 0.88762 to 0.88810, saving model to ./saved_network_weightv2.h5
전에 텍스트 0이 인덱스 번호 47번인가 그랬다. 아무래도 이상하여 확이해보니 zero padding에는 0으로 넣었다. 0을 숫자로 처리할지, zero padding 값으로 처리할 지 결정해야 한다. 일단 검증할 경우에는 0을 강제로 입력했다.
입력한 단어는 ['M', 'YD', '4', 'PIN', 'SHIFT', '1', '전진', '단', 'ZERO!!', 'ZERO!!']
내 예상은 이번 텍스트가 0.87확율로 [4]임.
인티저 값은 ['AUX' 'DATA' 'EMER' 'END_A' 'END_B' 'ERROR' 'PROX_INTLK' 'SOL_A' 'SOL_B']
출력 크기는 9
1/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
M
69
[69]
2/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
YD
1
[69, 1]
3/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
4
11
[69, 1, 11]
4/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
10
21
[69, 1, 11, 21]
5/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
ST
0
[69, 1, 11, 21, 0]
6/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
PIN
154
[69, 1, 11, 21, 0, 154]
7/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
후진
42
[69, 1, 11, 21, 0, 154, 42]
8/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
단
13
[69, 1, 11, 21, 0, 154, 42, 13]
9/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
ZERO!!
zero index는 0
[69, 1, 11, 21, 0, 154, 42, 13, 0]
10/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
zero index는 0
[69, 1, 11, 21, 0, 154, 42, 13, 0, 0]
입력한 단어는 ['M', 'YD', '4', '10', 'ST', 'PIN', '후진', '단', 'ZERO!!', 'ZERO!!']
내 예상은 이번 텍스트가 0.84확율로 [4]임.
인티저 값은 ['AUX' 'DATA' 'EMER' 'END_A' 'END_B' 'ERROR' 'PROX_INTLK' 'SOL_A' 'SOL_B']
출력 크기는 9
1/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
M
69
[69]
2/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
OTR
91
[69, 91]
3/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
랙
28
[69, 91, 28]
4/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
10
21
[69, 91, 28, 21]
5/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
번방
121
[69, 91, 28, 21, 121]
6/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
차종
6
[69, 91, 28, 21, 121, 6]
7/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
20
51
[69, 91, 28, 21, 121, 6, 51]
8/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
이상
8
[69, 91, 28, 21, 121, 6, 51, 8]
9/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
ZERO!!
zero index는 0
[69, 91, 28, 21, 121, 6, 51, 8, 0]
10/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
zero index는 0
[69, 91, 28, 21, 121, 6, 51, 8, 0, 0]
입력한 단어는 ['M', 'OTR', '랙', '10', '번방', '차종', '20', '이상', 'ZERO!!', 'ZERO!!']
내 예상은 이번 텍스트가 1.00확율로 [5]임.
인티저 값은 ['AUX' 'DATA' 'EMER' 'END_A' 'END_B' 'ERROR' 'PROX_INTLK' 'SOL_A' 'SOL_B']
출력 크기는 9
1/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
M
69
[69]
2/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
70
36
[69, 36]
3/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
ST
0
[69, 36, 0]
4/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
주변
292
[69, 36, 0, 292]
5/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
설비
322
[69, 36, 0, 292, 322]
6/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
비상
63
[69, 36, 0, 292, 322, 63]
7/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
정지
73
[69, 36, 0, 292, 322, 63, 73]
8/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
ZERO!!
zero index는 0
[69, 36, 0, 292, 322, 63, 73, 0]
9/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
zero index는 0
[69, 36, 0, 292, 322, 63, 73, 0, 0]
10/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
zero index는 0
[69, 36, 0, 292, 322, 63, 73, 0, 0, 0]
입력한 단어는 ['M', '70', 'ST', '주변', '설비', '비상', '정지', 'ZERO!!', 'ZERO!!', 'ZERO!!']
내 예상은 이번 텍스트가 1.00확율로 [2]임.
인티저 값은 ['AUX' 'DATA' 'EMER' 'END_A' 'END_B' 'ERROR' 'PROX_INTLK' 'SOL_A' 'SOL_B']
출력 크기는 9
1/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
M
69
[69]
2/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
보조제어
리스트에 없는 단어 입력함. 다시 입력하세요
2/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
보조
26
[69, 26]
3/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
제어
38
[69, 26, 38]
4/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
GP
228
[69, 26, 38, 228]
5/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
동작
29
[69, 26, 38, 228, 29]
6/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
선택
14
[69, 26, 38, 228, 29, 14]
7/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
16
448
[69, 26, 38, 228, 29, 14, 448]
8/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
ZERO!!
zero index는 0
[69, 26, 38, 228, 29, 14, 448, 0]
9/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
zero index는 0
[69, 26, 38, 228, 29, 14, 448, 0, 0]
10/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
zero index는 0
[69, 26, 38, 228, 29, 14, 448, 0, 0, 0]
입력한 단어는 ['M', '보조', '제어', 'GP', '동작', '선택', '16', 'ZERO!!', 'ZERO!!', 'ZERO!!']
내 예상은 이번 텍스트가 1.00확율로 [0]임.
인티저 값은 ['AUX' 'DATA' 'EMER' 'END_A' 'END_B' 'ERROR' 'PROX_INTLK' 'SOL_A' 'SOL_B']
출력 크기는 9
1/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
M
69
[69]
2/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
70
36
[69, 36]
3/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
RH
9
[69, 36, 9]
4/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
피더
457
[69, 36, 9, 457]
5/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
전후진
리스트에 없는 단어 입력함. 다시 입력하세요
5/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
LS
75
[69, 36, 9, 457, 75]
6/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
이상
8
[69, 36, 9, 457, 75, 8]
7/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
ZERO!!
zero index는 0
[69, 36, 9, 457, 75, 8, 0]
8/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
zero index는 0
[69, 36, 9, 457, 75, 8, 0, 0]
9/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
zero index는 0
[69, 36, 9, 457, 75, 8, 0, 0, 0]
10/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
zero index는 0
[69, 36, 9, 457, 75, 8, 0, 0, 0, 0]
입력한 단어는 ['M', '70', 'RH', '피더', 'LS', '이상', 'ZERO!!', 'ZERO!!', 'ZERO!!', 'ZERO!!']
내 예상은 이번 텍스트가 1.00확율로 [5]임.
인티저 값은 ['AUX' 'DATA' 'EMER' 'END_A' 'END_B' 'ERROR' 'PROX_INTLK' 'SOL_A' 'SOL_B']
출력 크기는 9
1/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
M
69
[69]
2/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
80
209
[69, 209]
3/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
LH
5
[69, 209, 5]
4/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
카울
리스트에 없는 단어 입력함. 다시 입력하세요
4/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
PIN
154
[69, 209, 5, 154]
5/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
LS
75
[69, 209, 5, 154, 75]
6/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
이상
8
[69, 209, 5, 154, 75, 8]
7/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
ZERO!!
zero index는 0
[69, 209, 5, 154, 75, 8, 0]
8/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
zero index는 0
[69, 209, 5, 154, 75, 8, 0, 0]
9/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
zero index는 0
[69, 209, 5, 154, 75, 8, 0, 0, 0]
10/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
zero index는 0
[69, 209, 5, 154, 75, 8, 0, 0, 0, 0]
입력한 단어는 ['M', '80', 'LH', 'PIN', 'LS', '이상', 'ZERO!!', 'ZERO!!', 'ZERO!!', 'ZERO!!']
내 예상은 이번 텍스트가 1.00확율로 [5]임.
인티저 값은 ['AUX' 'DATA' 'EMER' 'END_A' 'END_B' 'ERROR' 'PROX_INTLK' 'SOL_A' 'SOL_B']
출력 크기는 9
1/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
M
69
[69]
2/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
60
134
[69, 134]
3/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
RH
9
[69, 134, 9]
4/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
CAM
179
[69, 134, 9, 179]
5/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
YD
1
[69, 134, 9, 179, 1]
6/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
제품
50
[69, 134, 9, 179, 1, 50]
7/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
감지
53
[69, 134, 9, 179, 1, 50, 53]
8/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
1
7
[69, 134, 9, 179, 1, 50, 53, 7]
9/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
ZERO!!
zero index는 0
[69, 134, 9, 179, 1, 50, 53, 7, 0]
10/10 단어 입력
끝내려면 END!!를 입력
마지막까지 0을 채우려면 ZERO!!를 입력
zero index는 0
[69, 134, 9, 179, 1, 50, 53, 7, 0, 0]
입력한 단어는 ['M', '60', 'RH', 'CAM', 'YD', '제품', '감지', '1', 'ZERO!!', 'ZERO!!']
내 예상은 이번 텍스트가 1.00확율로 [6]임.
인티저 값은 ['AUX' 'DATA' 'EMER' 'END_A' 'END_B' 'ERROR' 'PROX_INTLK' 'SOL_A' 'SOL_B']
출력 크기는 9