1
태그가 지정된 문장의 목록이 있습니다. I는 다음의 방식으로 각각의 변환 된 각 단어 들어Keras : POS 태그 작업을위한 임베딩 및 LSTM 레이어
- 상대 한 핫 인코딩 방식 (
input_dim
차원의 벡터)를 얻는다; - 아래 예에서 설명한대로 사전 패딩을 삽입하십시오.
- 크기가
time_steps
인 창을 사용하여 각 문장을len(sentence)
개의 하위 문장으로 분할합니다 (다음 단어의 예상 내용을 알기 위해).time_steps=2
등을 사용
은 단일 문장 ["this", "is", "an", "example"]
가 형질 전환되어 고유리스트로서 서브 문장을 고려하여, 마지막에
[
[one_hot_enc("empty_word"), one_hot_enc("empty_word")],
[one_hot_enc("empty_word"), one_hot_enc("this")],
[one_hot_enc("this"), one_hot_enc("is")],
[one_hot_enc("is"), one_hot_enc("an")],
]
열차 데이터의 형상 X_train
는 (num_samples, time_steps, input_dim)
이고 , 여기서 :
input_dim
: 내 어휘의 크기;time_steps
: LSTM에 사용할 시퀀스의 길이.num_samples
: 샘플 수 (하위 문장);
는 지금, 나는 작은 연속 차원 공간에 각 단어를지도하기 위해에서는, Embedding
레이어를 사용하려면, 나는이 상황이 위와 같이 구축 사용하는에 LSTM
.
model = Sequential()
model.add(InputLayer(input_shape=(time_steps, input_dim)))
model.add(Embedding(input_dim, embedding_size, input_length=time_steps))
model.add(LSTM(32))
model.add(Dense(output_dim))
model.add(Activation('softmax'))
를하지만 나에게 다음과 같은 오류 제공 :
ValueError: Input 0 is incompatible with layer lstm_1: expected ndim=3, found ndim=4
내가 실종 무엇을? 내가하려고하는 것에 논리적 인 오류가 있습니까?