Mặc dù con người có thể dễ dàng hiểu và học các ngôn ngữ tự nhiên; việc làm cho máy hiểu được ngôn ngữ tự nhiên không phải là chuyện dễ dàng.. Sở dĩ có khó khăn là do ngôn ngữ tự nhiên c
Trang 1Lớp sáng thứ 4: tiết 1,2,3
Trang 3Lời mở đầu
Ngôn ngữ tự nhiên là những ngôn ngữ được con người sử dụng trong các giao tiếp hàng ngày: nghe, nói, đọc, viết Mặc dù con người có thể dễ dàng hiểu và học các ngôn ngữ tự nhiên; việc làm cho máy hiểu được ngôn ngữ tự nhiên không phải là chuyện dễ dàng Sở dĩ có khó khăn là do ngôn ngữ
tự nhiên có các bộ luật, cấu trúc ngữ pháp phong phú hơn nhiều các ngôn ngữ máy tính, hơn nữa để hiểu đúng nội dung các giao tiếp, văn bản trong ngôn ngữ tự nhiên cần phải nắm được ngữ cảnh của nội dung đó Do vậy, để có thể xây dựng được một bộ ngữ pháp, từ vựng hoàn chỉnh, chính xác để máy có thể hiểu ngôn ngữ tự nhiên là một việc rất tốn công sức và đòi hỏi người thực hiện phải có hiểu biết sâu về ngôn ngữ học
Các phương pháp xử lý ngôn ngữ tự nhiên dựa trên thống kê không nhắm tới việc con người tự xây dựng mô hình ngữ pháp mà lập chương trình cho máy tính có thể “học” nhờ vào việc thống kê các từ
và cụm từ có trong các văn bản Cốt lõi nhất của các phương pháp xử lý ngôn ngữ tự nhiên dựa trên thống kê chính là việc xây dựng mô hình ngôn ngữ
Trang 4Mục tiêu
Hiểu được khái niệm về mô hình ngôn ngữ.
Tìm hiểu các mô hình ngôn ngữ được sử dụng trong xử lý ngôn ngữ tự nhiên.
Phân tích được các ví dụ cho từng mô hình cụ thể.
Trang 5Mô hình ngôn ngữ n-gram
1. Khái quát chung
2. Chuỗi Markov
3. Ước lượng xác suất cho mô hình ngôn ngữ n-gram
4. Công thức tính xác suất thô
5. Khó khăn khi xây dựng mô hình ngôn ngữ n-gram
6. Các phương pháp làm mịn
7. Kỹ thuật làm giảm kích thước dữ liệu
8. Độ đo
Trang 6Giới thiệu về mô hình ngôn ngữ
Mô hình ngôn ngữ là một phân bố xác suất trên các tập văn bản Nói đơn giản, mô hình ngôn ngữ có thể cho biết xác suất một câu (hoặc cụm từ) thuộc một ngôn ngữ là bao nhiêu
Ví dụ: khi áp dụng mô hình ngôn ngữ cho tiếng Việt:
P[“hôm qua là thứ năm”] = 0.001
P[“năm thứ hôm là qua”] = 0
Mô hình ngôn ngữ được áp dụng trong rất nhiều lĩnh vực của xử lý ngôn ngữ tự nhiên như: kiểm lỗi chính tả, dịch máy hay phân đoạn từ Chính vì vậy, nghiên cứu mô hình ngôn ngữ chính là tiền đề
để nghiên cứu các lĩnh vực tiếp theo
Mô hình ngôn ngữ có nhiều hướng tiếp cận, nhưng chủ yếu được xây dựng theo mô hình Ngram
Trang 7Mô hình ngôn ngữ n-gram
Khái niệm về n-gram
Khái niệm về n-gram : là tần suất xuất hiện của n kí tự ( hoặc từ ) liên tiếp nhau có trong dữ liệu của corpus
Với n = 1 và tính trên kí tự, ta có thông tin về tần suất xuất hiện nhiều nhất của các chữ cái Điều này ứng dụng để làm keyboard : các phím hay xuất hiện nhất sẽ ở những vị trí dễ sử dụng nhất
Trang 8Mô hình ngôn ngữ N-gram
Với n = 2, ta có 2 - gram (Bigram) Ví dụ với các chữ cái tiếng Anh, ‘th’, ’he’, ’in’, ’an’, ’er’ là các cặp kí tự hay xuất hiện nhất Ngoài ra ta có thể thấy rằng sau kí tự ‘q’ hầu hết sẽ là kí tự ‘u’
Với n = 3, ta có(Trigram) Vì khi n càng lớn thì số trường hợp càng lớn nên thường người ta chỉ sử dụng với n=1,2 đôi khi là n=3 Ví dụ với các kí tự tiếng Việt, tiếng Việt sử dụng 29 ký tự, vậy với n=1 thì số trường hợp là 29, n=2 thì số trường hợp là 29^2=841, n=3 thì có 29^3=24389 trường hợp
Trang 9Chuỗi Markov
Giả thiết rằng xác suất tính cho một sự kiện:
Chỉ phụ thuộc vào các history trước.
Giới hạn bộ nhớ: chỉ có k từ được đưa vào trong history (các từ “cũ hơn” có khả năng ít liên quan), chẳng hạn chuỗi w= w’w1w wn ta sẽ coi như w ~ w1w wn
Ta gọi là mô hình Markov bậc n.
Trang 10Ước lượng xác suất thô cho mô hình ngôn ngữ n-gram
Để có thể tính được xác suất của văn bản với lượng bộ nhớ chấp nhận được, ta sử dụng xấp xỉ Markov bậc n:
P(wi|w1,w2,…, wi-1) = P(wi|wi-n,wi-n+1, …,wi-1)
Nếu áp dụng công thức xấp xỉ Markov công thức được viết lại như sau:
P(w1w2…wi) = P(w1) * P(w2|w1) * P(w3|w1w2) *…* P(wi-1|wi-n-1wi- n …wi-2)*
P(wi|wi-nwi-n+1…wi-1)
Ví dụ: P(“hôm qua là thứ năm”)=P(“hôm”)*P(“qua|hôm”)*P(“là|hôm qua”)*P(“thứ|hôm qua
là”)*P(“năm|hôm qua là thứ”)
Trang 11Công thức tính xác suất thô
Gọi C(wi-n+1 wi-1wi) là tần số xuất hiện của cụm
wi-n+1 wi-1wi trong tập văn bản huấn luyện
Gọi P(wi|wi-n+1 wi-1) là xác suất wi đi sau cụm
wi-n+1 wi-2wi-1
Ta có công thức tính xác suất như sau:
Trang 12Khó khăn khi xây dựng một mô hình ngôn ngữ n-gram
Do sự phân bố không đều
Kích thước bộ nhớ của mô hình ngôn ngữ Khi kích thước tập văn bản huấn luyện lớn, số lượng các cụm Ngram và kích thước của mô hình ngôn ngữ cũng rất lớn Nó không những gây khó khăn trong việc lưu trữ mà còn làm tốc độ xử lý của mô hình ngôn ngữ giảm xuống do bộ nhớ của máy tính là hạn chế Để xây dựng mô hình ngôn ngữ hiệu quả, chúng ta phải giảm kích thước của mô hình ngôn ngữ mà vẫn đảm bảo độ chính xác
Trang 13Các phương pháp làm mịn
Phương pháp truy hồi.
Phương pháp nội suy.
Phương pháp làm mịn Kneser – Ney.
Phương pháp làm mịn Kneser - Ney cải tiến bởi Chen-GoodMan
Các thuật toán chiết khấu (discounting):
Trang 14Kỹ thuật làm giảm kích thước dữ liệu
Pruning (loại bỏ): làm giảm số lượng các cụm
N-gram trong mô hình ngôn ngữ bằng cách loại bỏ các cụm N-gram không quan trọng
Quantization (lượng tử hóa): thay đổi cấu trúc thông tin của mỗi cụm Ngram trong mô hình ngôn
ngữ
Compression (nén): nén cấu trúc dữ liệu sử dụng trong việc lưu trữ các cụm Ngram trong mô hình
ngôn ngữ
Trang 15Độ đo
Để xây dựng được một hình ngôn ngữ hiệu quả, chúng ta phải có cách để đánh giá chúng Dưới đây
là một số phương pháp phổ biến để đánh giá một mô hình ngôn ngữ:
Entropy- Độ đo thông tin
Perplexity- Độ hỗn loạn thông tin
Error rate- Tỉ lệ lỗi
Trang 16Kết thúc bài báo cáo
Nhóm 1: thứ 4 tiết 1,2,3