Mô hình tạo văn bản

Mạng nơ-ron hồi quy (RNN) cho Mô hình ngôn ngữ với Keras

David Cecchini

Data Scientist

Tương tự mô hình phân loại

Mô hình tạo văn bản:

  • Dùng từ vựng làm các lớp
  • Lớp cuối áp dụng softmax với số nút bằng kích thước từ vựng
  • Dùng categorical_crossentropy làm hàm mất mát
Mạng nơ-ron hồi quy (RNN) cho Mô hình ngôn ngữ với Keras

Ví dụ mô hình với keras

model = Sequential()

model.add(LSTM(units, input_shape=(chars_window, n_vocab), dropout=0.15, recurrent_dropout=0.15, return_sequences=True))
model.add(LSTM(units, dropout=dropout, recurrent_dropout=0.15, return_sequences=False))
model.add(Dense(n_vocab, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam')
Mạng nơ-ron hồi quy (RNN) cho Mô hình ngôn ngữ với Keras

Nhưng không hẳn là mô hình phân loại

Khác với phân loại:

  • Tính loss, không tính chỉ số hiệu năng (accuracy)
    • Con người xem kết quả và đánh giá.
    • Nếu chưa tốt, huấn luyện thêm epoch hoặc tăng độ phức tạp (thêm ô nhớ, thêm layer, v.v.).
  • Dùng quy tắc sinh theo nhiệm vụ
    • Sinh ký tự tiếp theo
    • Sinh một từ
    • Sinh một câu
    • Sinh một đoạn
Mạng nơ-ron hồi quy (RNN) cho Mô hình ngôn ngữ với Keras

Ứng dụng khác

  • Tạo tên
    • Tên em bé
    • Tên ngôi sao mới, v.v.
  • Sinh văn bản có đánh dấu
    • LaTeX
    • Markdown
    • XML, v.v.
    • Mã lập trình
  • Bài báo
  • Chatbot
Mạng nơ-ron hồi quy (RNN) cho Mô hình ngôn ngữ với Keras

Chuẩn bị dữ liệu

Mô tả quy trình chuẩn bị dữ liệu cho tác vụ tạo văn bản: chuyển văn bản thành chuỗi số và tách tập huấn luyện thành X và Y bằng cách giữ chuỗi cố định ở X và ký tự tiếp theo ở Y.

Mạng nơ-ron hồi quy (RNN) cho Mô hình ngôn ngữ với Keras

Ayo berlatih!

Mạng nơ-ron hồi quy (RNN) cho Mô hình ngôn ngữ với Keras

Preparing Video For Download...