Mạng nơ-ron hồi quy (RNN) cho Mô hình ngôn ngữ với Keras
David Cecchini
Data Scientist
Câu được xác định bởi dấu câu, ví dụ: . (chấm), ! (chấm than) hoặc ? (chấm hỏi).
Có token câu, ví dụ <SENT> và </SENT>, để đánh dấu bắt đầu và kết thúc câu.
sentence = ''# Lặp cho đến khi hết câu while next_char != '.':# Dự đoán ký tự tiếp theo: lấy mảng dự đoán ở vị trí 0 pred = model.predict(X)[0]char_index = np.argmax(pred)next_char = index_to_char(char_index)# Nối vào câu sentence = sentence + next_char
Điều chỉnh phân phối xác suất.
def scale_softmax(softmax_pred, temperature=1.0): # Lấy log scaled_pred = np.log(softmax_pred) / temperature# Áp dụng lại hàm mũ scaled_pred = np.exp(scaled_pred)# Tạo phân phối xác suất scaled_pred = scaled_pred / np.sum(scaled_pred)# Mô phỏng đa thức scaled_pred = np.random.multinomial(1, scaled_pred, 1)# Trả về lớp đã mô phỏng return np.argmax(scaled_pred)
Mạng nơ-ron hồi quy (RNN) cho Mô hình ngôn ngữ với Keras