Chương 6 Mô hình ngôn ngữ<br />
Mô hình ngôn ngữ<br />
Mô hình n-gram<br />
Perplexity<br />
IT4772 Xử lý ngôn ngữ tự nhiên<br />
Viện CNTT-TT, ĐHBKHN<br />
<br />
Sửa lỗi chính tả<br />
<br />
2<br />
<br />
Chương 6 Mô hình ngôn ngữ<br />
Mô hình ngôn ngữ<br />
INFORMATION EXTRACTION<br />
<br />
NATURAL LANGUAGE UNDERSTANDING<br />
<br />
END-TO-END<br />
APPLICATIONS<br />
<br />
`<br />
NATURAL LANGUAGE GENERATION<br />
<br />
DATA + LINGUISTICS + MACHINE LEARNING<br />
<br />
3<br />
<br />
From Dan Jurafsky 2018<br />
<br />
4<br />
<br />
Chương 6 Mô hình ngôn ngữ<br />
Mô hình ngôn ngữ<br />
<br />
●<br />
<br />
●<br />
<br />
Chương 6 Mô hình ngôn ngữ<br />
Mô hình ngôn ngữ<br />
<br />
Tìm từ tiếp theo biết các từ đ ằng tr ước<br />
<br />
●<br />
<br />
Ứng dụng<br />
<br />
“Hôm nay tôi đi...”<br />
<br />
Sửa lỗi chính tả<br />
<br />
P(học| hôm_nay tôi đi) = ?<br />
<br />
Dịch máy<br />
<br />
P(chơi| hôm_nay tôi đi) = ?<br />
<br />
Tóm tắt văn bản<br />
Biểu diễn văn bản<br />
<br />
Tính xác suất của một chuỗi<br />
P( hôm_nay tôi đi học ) = ?<br />
<br />
5<br />
<br />
Chương 6 Mô hình ngôn ngữ<br />
Mô hình n-gram<br />
Mô hình unigram<br />
<br />
6<br />
<br />
Chương 6 Mô hình ngôn ngữ<br />
Mô hình n-gram<br />
Mô hình bigram<br />
<br />
●<br />
<br />
p(w|w1 w2 … wn) = p(w)<br />
<br />
●<br />
<br />
p(w|w1 w2 … wn) = p(w|wn)<br />
<br />
●<br />
<br />
p(w) = (count(w) + 1) / (sum count(w’) + V)<br />
<br />
●<br />
<br />
p(w|wn) = (count(wn w) + 1)<br />
/ (count(w n) + V )<br />
<br />
p( hôm_nay tôi đi học ) = p() *<br />
p(hôm_nay) * p(tôi) * p(đi) * p(học) * p()<br />
<br />
●<br />
<br />
Chú ý: không sử dụng đến p(wn)<br />
p( hôm_nay tôi đi h ọc ) = p(hôm_nay|)<br />
* p(tôi|hôm_nay) * p(đi|tôi) * p(học|đi) * p(|h ọc)<br />
<br />
7<br />
<br />
8<br />
<br />
Chương 6 Mô hình ngôn ngữ<br />
Mô hình n-gram<br />
Mô hình bigram<br />
●<br />
<br />
Chương 6 Mô hình ngôn ngữ<br />
Perplexity<br />
<br />
Backup ngram<br />
<br />
●<br />
<br />
Đánh giá chất lượng của mô hình ngôn ng ữ<br />
<br />
9<br />
<br />
Chương 6 Mô hình ngôn ngữ<br />
Sửa lỗi chính tả<br />
<br />
Chương 6 Mô hình ngôn ngữ<br />
Perplexity<br />
<br />
●<br />
●<br />
<br />
●<br />
<br />
10<br />
<br />
Mô hình bigram<br />
Sử dụng tập train để xác định tham s ố cho mô<br />
hình ngôn ngữ<br />
<br />
●<br />
<br />
1-2% lỗi đánh máy văn bản<br />
<br />
●<br />
<br />
10-15% lỗi gõ câu truy vấn<br />
<br />
●<br />
<br />
20-40% lỗi là từ có trong từ đi ển<br />
<br />
Tính perplexity trên tập test đ ộc l ập v ới t ập train<br />
<br />
11<br />
<br />
12<br />
<br />
Chương 6 Mô hình ngôn ngữ<br />
Sửa lỗi chính tả<br />
Mô hình kênh nhiễu<br />
<br />
w<br />
wbest<br />
<br />
Chương 6 Mô hình ngôn ngữ<br />
Sửa lỗi chính tả<br />
Mô hình kênh nhiễu<br />
<br />
noisy channel<br />
<br />
w’<br />
<br />
decoder<br />
<br />
13<br />
<br />
Chương 6 Mô hình ngôn ngữ<br />
Sửa lỗi chính tả<br />
Mô hình kênh nhiễu<br />
<br />
14<br />
<br />
Chương 6 Mô hình ngôn ngữ<br />
Sửa lỗi chính tả<br />
Mô hình kênh nhiễu<br />
<br />
15<br />
<br />
16<br />
<br />
Chương 6 Mô hình ngôn ngữ<br />
Sửa lỗi chính tả<br />
Mô hình kênh nhiễu<br />
<br />
Chương 6 Mô hình ngôn ngữ<br />
Sửa lỗi chính tả<br />
Mô hình kênh nhiễu<br />
<br />
17<br />
<br />
Chương 6 Mô hình ngôn ngữ<br />
Sửa lỗi chính tả<br />
Mô hình kênh nhiễu<br />
<br />
From Jurafsky (2018)<br />
<br />
18<br />
<br />
Chương 6 Mô hình ngôn ngữ<br />
Sửa lỗi chính tả<br />
Mô hình kênh nhiễu<br />
●<br />
<br />
Xây dựng confusion matrix s ử dụng ph ương<br />
pháp Expectation – Maximization<br />
Kernighan, M. D., Church, K. W., and Gale, W. A. (1990). “A spelling<br />
correction program base on a noisy channel model”. In COLING-90,<br />
Helsinki, Vol. II, pp. 205–211.<br />
<br />
19<br />
<br />
20<br />
<br />