Phát sinh ngôn ngữ trả lời tự động

Một phần của tài liệu (LUẬN văn THẠC sĩ) hệ thống tự động phân luồng câu hỏi và giải đáp yêu cầu trực tuyến luận văn ths máy tính 60 48 01 (Trang 35 - 37)

CHƯƠNG 2 : CƠ SỞ MẠNG NƠ-RON NHÂN TẠO

3.1 Phát sinh ngôn ngữ trả lời tự động

Nền tảng của việc xây dựng mô hình chuỗi tuần tự (ví dụ, mô hình dịch máy) là mô hình ngôn ngữ. Ở mức cao, một mô hình ngôn ngữ đón nhận chuỗi các phần tử đầu vào, nhìn vào từng phần tử của chuỗi và cố gắng để dự đoán các phần tử tiếp theo của chuỗi văn bản. Có thể mô tả quá trình này bằng phương trình hàm số sau đây:

𝑌 = 𝑓(𝑌 )

Trong đó, 𝑌 là phần tử chuỗi ở thời điểm t, 𝑌 là phần tử chuỗi ở thời điểm trước đó (t-1), và f là hàm ánh xạ các phần tử trước đó của chuỗi sang phần tử tiếp theo của chuỗi. Bởi vì chúng ta đang đề cập đến mô hình chuỗi sử dụng mạng nơ-ron, 𝑓 đại diện cho mạng nơ-ron mà có thể dự đoán được phần tử tiếp theo của một chuỗi, được cho trước bởi một phần tử hiện tại trong chuỗi đó.

Mô hình ngôn ngữ có thể sinh sản, khi được huấn luyện thì chúng có thể được sử dụng để sinh ra các chuỗi thông tin bằng cách cho kết quả đầu ra ở bước trước trở lại làm đầu vào của mô hình. Hình vẽ dưới đây là sơ đồ cho thấy việc huấn luyện và quá trình sinh sản của một mô hình ngôn ngữ.

Cho một chuỗi là ABCD. Một chuỗi đầu vào là một lát cắt của chuỗi cho đến phần tử cuối. Chuỗi đích target là một lát cắt của chuỗi từ phần tử thứ 2.

Hình 3.1: Mô hình phát sinh văn bản

Hình 3.2: Quá trình huấn luyện và phát sinh văn bản

Trong quá trình training, mô hình cố gắng dự đoán phần tử tiếp theo của chuỗi target được cho bởi phần tử hiện tại của chuỗi target. Trong quá trình sinh, mô hình sinh sẽ lấy kết quả đã được sinh ra ở bước trước làm đầu vào cho lần dự báo tiếp theo.

Có nhiều cách khác nhau để xây dựng một mô hình ngôn ngữ, nhưng trong luận văn này chỉ đề cập đến việc huấn luyện mô hình ngôn ngữ dựa trên Mạng nơ-ron tái phát RNN. Như đã biết mạng RNN giống với mạng ANN truyền thống, nhưng thao tác và xử lý các dữ liệu dạng chuỗi. Về cơ bản mạng RNN tiếp nhận

mỗi phần tử của chuỗi, nhân phân tử với một ma trận, sau đó cộng tổng kết quả với kết quả ở bước trước của mạng. Ta có phương trình biểu diễn như sau:

ht = activation (XtWx + ht-1Wh)

Để sử dụng mạng RNN cho mô hình ngôn ngữ, chúng ta sẽ đưa chuỗi đầu vào từ t = 1 đến t = seq_length – 1 và cố gắng dự đoán chuỗi tương tự từ t = 2 đến t = seq_length – 1. Khi đầu ra của RNN được dựa trên tất cả các đầu vào của sequence, thì output của nó được biểu diễn bởi hàm Yt = g (f (Yt-1, Yt-2, …, Yt1)). Hàm f tạo ra trạng thái tiếp theo của mạng RNN, trong khi hàm ánh xạ g ánh xạ trạng thái của RNN vào một giá trị trong tập các từ vựng target (vocabulary). Một cách đơn giản, f cho ra một trạng thái ẩn của mạng, trong khi hàm g cho đầu ra của mạng – giống với softmax layer của mạng nơ-ron đơn giản. Không giống với các mô hình ngôn ngữ đơn giản là chỉ dự đoán xác suất cho từ tiếp theo khi được cho bởi từ hiện tại, mô hình RNN chụp lại toàn bộ bối cảnh của chuỗi đầu vào. Do đó, RNN dự đoán xác suất tạo ra các từ tiếp theo dựa trên các từ hiện tại, cũng như tất cả các từ trước.

Một phần của tài liệu (LUẬN văn THẠC sĩ) hệ thống tự động phân luồng câu hỏi và giải đáp yêu cầu trực tuyến luận văn ths máy tính 60 48 01 (Trang 35 - 37)

Tải bản đầy đủ (PDF)

(70 trang)