Chủ đề của NLP301c - Xử lý ngôn ngữ tự nhiên

NLP301c - Phần 7: Mô hình ngôn ngữ n-gram và tự hoàn thành

Mô hình ngôn ngữ n-gram ước lượng xác suất một từ dựa trên n−1 từ đứng trước, nhờ giả định Markov rằng ngữ cảnh xa ít ảnh hưởng tới từ kế tiếp. Xác suất của cả câu là tích các xác suất có điều kiện, thường kèm ký hiệu đánh dấu đầu và cuối câu. Một n-gram chưa gặp trong dữ liệu huấn luyện làm cả tích bằng 0 và độ hỗn loạn perplexity tăng tới vô cùng, nên cần làm trơn như cộng một, backoff hay nội suy. Perplexity càng thấp thì mô hình càng ít bất ngờ trước văn bản thật. Tự hoàn thành câu là ứng dụng trực tiếp: gợi ý từ kế tiếp có xác suất cao nhất cho đoạn người dùng đã gõ. Cùng giả định Markov được dùng cho chuỗi nhãn từ loại trong Phần 6.

Xem danh sách câu hỏi5 câu hỏi100% có giải thích

Bắt đầu bằng Chế độ học nếu bạn muốn đáp án và giải thích hiện ngay sau mỗi câu — không bấm giờ, dừng lúc nào cũng được. Chọn Thi thử khi muốn biết mình đang ở đâu: có bấm giờ, chấm điểm ở cuối, và giải thích chỉ mở sau khi nộp.

Học ngân hàng câu hỏi của chủ đề

Luyện tập theo chủ đề này

5Câu hỏi hiện có

Câu hỏi của chủ đề

5/5 câuHết danh sách
AZero
BInfinity
CAny Non-Zero Value
DInefficient
Lời giải
Đáp án đúng: "Infinity". Perplexity (độ hỗn loạn) của mô hình ngôn ngữ trên tập kiểm thử W gồm N từ được tính bằng PP(W) = P(w1…wN) mũ (−1/N), tức nghịch đảo xác suất chuẩn hoá theo độ dài. Mô hình không làm trơn (unsmoothed) ước lượng xác suất bằng tần suất tối đa (maximum likelihood), nên một từ chưa từng gặp trong tập huấn luyện nhận xác suất 0; tích xác suất của cả câu khi đó bằng 0 và PP = 1 chia cho 0 tiến tới vô cực. Đây chính là lý do phải dùng làm trơn Laplace, Kneser-Ney hay token UNK. "Zero" sai vì perplexity luôn lớn hơn hoặc bằng 1, càng nhỏ mô hình càng tốt, và chỉ có thể giảm chứ không thể về 0. "Any Non-Zero Value" quá mơ hồ và hàm ý một số hữu hạn, trong khi ở đây giá trị không xác định hữu hạn. "Inefficient" là một tính từ đánh giá, không phải giá trị số mà công thức perplexity trả về.
Mở trang câu hỏi này →
AAdd-1 smoothing
BAdd-k smoothing
CWitten-Bell smoothing
DGood-Turing smoothing
Lời giải
Đáp án đúng: "Add-1 smoothing". Làm trơn (smoothing) trong mô hình n-gram chuyển bớt xác suất từ các sự kiện đã thấy sang sự kiện chưa thấy để tránh xác suất bằng 0. Add-1 (Laplace) cộng 1 vào mọi số đếm; vì từ vựng lớn nên số bigram chưa thấy chiếm tuyệt đại đa số, khối xác suất bị dồn sang chúng quá nhiều và xác suất của các bigram phổ biến bị giảm mạnh. "Add-k smoothing" cộng một số k nhỏ hơn 1 nên giảm bớt hiện tượng trên, dù vẫn phải chọn k phù hợp. "Witten-Bell smoothing" ước lượng khối xác suất dành cho sự kiện mới dựa trên số loại từ khác nhau đã từng theo sau một ngữ cảnh, nên phân bổ hợp lý hơn. "Good-Turing smoothing" dùng số sự kiện chỉ xuất hiện một lần để ước lượng xác suất của sự kiện chưa thấy, cũng được thiết kế để không cho quá nhiều. Vì thế Add-1 là ví dụ điển hình của kỹ thuật cho sự kiện chưa thấy quá nhiều xác suất.
Mở trang câu hỏi này →
3Language models predict:4 lựa chọn
ANext character
BNext word
CNext sentence
DTopic
Lời giải
Đáp án đúng: "Next word". Mô hình ngôn ngữ (language model) gán xác suất cho chuỗi từ bằng quy tắc nhân xác suất, P(w1…wn) là tích các P(wi | w1…wi−1), nên nhiệm vụ cốt lõi của nó là dự đoán từ kế tiếp khi biết các từ đứng trước; mô hình n-gram ước lượng xác suất đó từ số đếm, còn RNN hay GPT học nó bằng mạng nơ-ron. "Next character" đúng với mô hình ngôn ngữ mức ký tự, một biến thể riêng, nhưng không phải định nghĩa chung của mô hình ngôn ngữ vốn lấy từ hay token làm đơn vị. "Next sentence" là một bài toán phụ, như mục tiêu next sentence prediction của BERT, chỉ phân loại hai câu có liền nhau hay không chứ không sinh câu. "Topic" là đầu ra của mô hình chủ đề như LDA, không dự đoán phần tiếp theo của chuỗi.
Mở trang câu hỏi này →
A0
BInfinity
Cany non-zero value
DNone of the mentioned
Lời giải
Đáp án đúng: "Infinity". Perplexity đo mức một mô hình ngôn ngữ bị bất ngờ trước tập kiểm thử, bằng nghịch đảo xác suất của chuỗi kiểm thử lấy căn bậc N, với N là số từ. Mô hình không làm trơn ước lượng P(từ | lịch sử) bằng tỉ lệ đếm trong dữ liệu huấn luyện, nên từ chưa thấy (unseen word) có đếm bằng 0 và xác suất bằng 0; chỉ một thừa số 0 cũng làm cả tích bằng 0, và nghịch đảo của 0 là vô cực, vì thế perplexity bằng vô cực. Đây là lý do mô hình thực tế luôn làm trơn hoặc dùng token UNK. "0" sai vì perplexity có cận dưới là 1, đạt được khi mô hình gán xác suất 1 cho mọi từ đúng, không bao giờ về 0. "any non-zero value" quá chung chung, không nêu được hệ quả cụ thể của xác suất 0. "None of the mentioned" sai vì vô cực đã có trong các lựa chọn và là kết quả chính xác.
Mở trang câu hỏi này →
AGradient descent smoothing
BAdd-one smoothing
CKernel smoothing
DFourier smoothing
Lời giải
Đáp án đúng: "Add-one smoothing". Mô hình n-gram ước lượng xác suất bằng số đếm, nên n-gram chưa xuất hiện trong kho huấn luyện nhận xác suất 0 và kéo cả câu về xác suất 0; làm trơn cộng một (Laplace smoothing) cộng thêm 1 vào mọi số đếm, với bigram là P(wi | wi−1) = (C(wi−1 wi) + 1) / (C(wi−1) + V) trong đó V là kích thước từ vựng, để mọi n-gram đều có xác suất dương. "Gradient descent smoothing" không phải kỹ thuật làm trơn nào; gradient descent là phương pháp tối ưu tham số bằng cách đi ngược hướng đạo hàm. "Kernel smoothing" là phương pháp ước lượng mật độ hay hồi quy cho dữ liệu liên tục bằng hàm nhân, không dùng cho số đếm n-gram. "Fourier smoothing" lọc tín hiệu trong miền tần số, thuộc xử lý tín hiệu chứ không thuộc mô hình ngôn ngữ.
Mở trang câu hỏi này →

Đề có câu hỏi của chủ đề này

3 đề chứa ít nhất một câu thuộc chủ đề — mở đề để làm cả bộ, không chỉ từng câu.