Đề tài các mô hình ngôn ngữ Ngram và ứng dụng

26 1.9K 8
Đề tài các mô hình ngôn ngữ Ngram và ứng dụng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đề tài các mô hình ngôn ngữ Ngram và ứng dụng, tài liệu báo cáo về ngôn ngữ tự nhiên, Đề tài các mô hình ngôn ngữ Ngram và ứng dụng Đề tài các mô hình ngôn ngữ Ngram và ứng dụng v Đề tài các mô hình ngôn ngữ Ngram và ứng dụng Đề tài các mô hình ngôn ngữ Ngram và ứng dụng Đề tài các mô hình ngôn ngữ Ngram và ứng dụng Đề tài các mô hình ngôn ngữ Ngram và ứng dụng

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG BÀI TẬP LỚN MÔN: Xử lý ngơn ngữ tự nhiên Đề tài: Các mơ hình ngơn ngữ N-gram Ứng dụng Nhóm sinh viên thực hiện: Kim Đình Sơn 20102089 Đặng Ngọc Thuyên 20102277 Phùng Văn Chiến 20101163 Ngô Thành Đạt 20102624 Giảng viên hướng dẫn: TS Hoàng Anh Việt Hà Nội, tháng 12 năm 2013 Mục lục Tổng quan ngôn ngữ Mơ hình ngơn ngữ N-gram 2.1 Một số khái niệm 2.2 Mơ hình N-gram 2.2.2 Chuỗi Markov 2.2.3 Ước lượng xác suất cho mơ hình N-gram 2.3 Khó khăn xây dựng mơ hình ngơn ngữ N-gram 2.3.1 Phân bố không 2.3.2 Kích thước nhớ mơ hình ngơn ngữ Các phương pháp làm mịn 3.1 Phương pháp chiết khấu (discounting) 3.1.1 Phương pháp làm mịn Add-one (Laplace) 3.1.2 Phương pháp làm mịn Good-Turing 3.1.3 Phương pháp làm mịn Witten-Bell 11 3.2 Phương pháp truy hồi (Back-Off) 12 3.3 Phương pháp nội suy (Recursive Interpolation) 13 3.3 Phương pháp làm mịn Kneser – Ney 13 3.3.1 Phương pháp Kneser-Ney với mơ hình truy hồi 13 3.3.1 Phương pháp Kneser-Ney cải tiến 14 Kỹ thuật làm giảm kích thước liệu, tối ưu hóa cho mơ hình ngơn ngữ 15 4.1 Sử dụng Entropy Độ hỗn loạn thơng tin để đánh giá mơ hình Ngram 16 4.1.1 Entropy 16 4.1.2 Độ hỗn loạn thông tin (perplexity) 17 4.2 Các kỹ thuật làm giảm kích thước liệu mơ hình ngơn ngữ 18 4.2.1 Count cutoffs 19 4.2.2 Weighted Difference pruning 20 4.2.3 Stolcke pruning 21 5.Ứng dụng 24 Tài liệu tham khảo 26 Tổng quan ngôn ngữ Ngôn ngữ tự nhiên ngôn ngữ người sử dụng giao tiếp hàng ngày: nghe, nói đọc, viết Mặc dù người dễ dàng hiểu học ngôn ngữ tự nhiên việc làm cho máy hiểu ngôn ngữ tự nhiên chuyện dễ dàng Sở dĩ có khó khăn ngơn ngữ tự nhiên có luật, cấu trúc ngữ pháp phong phú nhiều ngơn ngữ máy tính, để hiểu nội dung giao tiếp, văn ngôn ngữ tự nhiên cần phải nắm ngữ cảnh nội dung Do vậy, để xây dựng ngữ pháp, từ vựng hồn chỉnh, xác để máy hiểu ngơn ngữ tự nhiên việc tốn cơng sức địi hỏi người thực phải có hiểu biết ngơn ngữ học Các phương pháp xử lý ngôn ngữ tự nhiên dựa thống kê không nhắm tới việc 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 “học” nhờ vào việc thống kê từ cụm từ có văn Cốt lõi phương pháp xử lý ngôn ngữ tự nhiên dựa thống kê việc xây dựng mơ hình ngơn ngữ Mơ hình ngơn ngữ phân bố xác suất tập văn Cụ thể mơ hình ngơn ngữ cho biết xác suất câu ( cụm từ từ) liệu mẫu Ví dụ : Khi áp dụng mơ hình ngơn ngữ cho tiếng Việt : P[“ngày tết thật vui”] = 0,001 P[“vui thật tết ngày”] = Mơ hình ngơn ngữ áp dụng nhiều lĩnh vực xử lý ngôn ngữ tự nhiên như: kiểm tra lỗi tả, dịch máy hay phân đoạn từ Chính vậy, nghiên cứu mơ hình ngơn ngữ tiền đề nghiên cứu lĩnh vực Mô hình ngơn ngữ có nhiều hướng tiếp cận, chủ yếu xây dựng theo mơ hình N-gram mà ta đề cập Mơ hình ngơn ngữ N-gram 2.1 Một số khái niệm Ngữ liệu: Ngữ liệu (Corpus) liệu tập hợp văn bản, ngơn ngữ số hố Cách dịch thơng thường Việt Nam “kho ngữ liệu” tập huấn luyện số báo khoa học Ví dụ corpus “tuyển tập tác phẩm Nam Cao”, hay “tuyển tập ca từ Trịnh Công Sơn” Các mơ hình ngơn ngữ N-gram N-gram: Là tần suất xuất n kí tự (hoặc từ) liên tiếp có liệu corpus  Với n = 1, unigram, tính kí tự, ta có thơng tin tần suất xuất nhiều chữ Điều ứng dụng để làm keyboard: phím hay xuất vị trí dễ sử dụng (e,a,…)  Với n = 2, ta có khái niệm bigram Ví dụ với chữ tiếng Anh, ‘th’,’he’,’in’,’an’,’er’ cặp kí tự hay xuất Ngồi ra, ta biết thêm sau kí tự ‘q’ phần lớn kí tự ‘u’  Với n = 3, ta có trigram Nhưng n lớn số trường hợp lớn nên thường người ta sử dụng với n = 1,2 đôi lúc Ví dụ với kí tự tiếng Việt, tiếng Việt sử dụng 29 kí tự, với n = số trường hợp 29, n = số trường hợp 29^2 = 841 trường hợp, n = có 24389 trường hợp Bigram sử dụng nhiều việc phân tích hình thái (từ, cụm từ, từ loại) cho ngơn ngữ khó phân tích tiếng Việt, tiếng Nhật, tiếng Trung, … Dựa vào tần suất xuất cạnh từ, người ta tính cách chia câu thành từ cho tổng bigram cao Với thuật giải phân tích hình thái dựa vào trọng số nhỏ nhất, người ta sử dụng n = để xác định tuần suất xuất từ tính trọng số Để đảm bảo tính thống kê xác địi hỏi corpus phải lớn có tính đại diện cao History (về ngơn ngữ): ta hiểu tiền ngữ, chẳng hạn “ngôn ngữ tự nhiên” “ngơn ngữ tự chế” có chung tiền ngữ “ngơn ngữ tự” Cụ thể, với n-gram 𝑤𝑤 = 𝑤𝑤1 … 𝑤𝑤 𝑛𝑛−1 𝑤𝑤 𝑛𝑛 , history 𝑤𝑤 𝑛𝑛 𝑤𝑤 𝑤𝑤1 , 𝑤𝑤2 … , 𝑤𝑤 𝑛𝑛−1 N-gram khơng nhìn thấy (Unseen N-Grams): Giả sử ta nhìn thấy “xử lý ngơn ngữ” tập ngữ liệu, ta hồn tồn khơng tìm thấy “xử lý ngơn ngữ tự”, đó, 𝑝𝑝(tự|xử lý ngơn ngữ) = Khi ta nói cụm “xử lý ngơn ngữ tự” khơng nhìn thấy, có xác suất 2.2 Mơ hình N-gram Nhiệm vụ mơ hình ngôn ngữ cho biết xác suất từ cụm từ 𝑊𝑊 = 𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤 𝑚𝑚 𝑝𝑝( 𝑊𝑊 ) Theo cơng thức Bayes: 𝑷𝑷( 𝑨𝑨𝑨𝑨) = 𝑷𝑷( 𝑩𝑩|𝑨𝑨) ∗ 𝑷𝑷(𝑨𝑨) thì: 𝑃𝑃( 𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤 𝑛𝑛 ) = 𝑃𝑃( 𝑤𝑤1 ) ∗ 𝑃𝑃( 𝑤𝑤2 |𝑤𝑤1 ) ∗ 𝑃𝑃( 𝑤𝑤3 |𝑤𝑤1 𝑤𝑤2 ) ∗ … ∗ 𝑃𝑃( 𝑤𝑤 𝑛𝑛|𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤 𝑛𝑛−1) (2.1) Theo cơng thức này, mơ hình ngơn ngữ cần phải có lượng nhớ vơ lớn để lưu hết xác suất tất chuỗi độ dài nhỏ m Rõ ràng, điều m độ dài văn ngơn ngữ tự nhiên (m tiến tới vô cùng) 2.2.2 Chuỗi Markov Giả thiết rằng, xác suất tính cho kiện: - Giới hạn nhớ: có 𝑘𝑘 từ đưa vào history (các từ “cũ hơn” có khả Chỉ phụ thuộc vào history trước liên quan), chẳng hạn chuỗi 𝑤𝑤 = 𝑤𝑤 ′ 𝑤𝑤1 … 𝑤𝑤 𝑘𝑘 , ta coi 𝑤𝑤~𝑤𝑤1 … 𝑤𝑤 𝑘𝑘 Ta gọi mơ hình Markov bậc 𝑘𝑘 2.2.3 Ước lượng xác suất cho mơ hình N-gram Để tính xác suất văn với lượng nhớ chấp nhận được, ta sử dụng xấp 𝑃𝑃( 𝑤𝑤𝑖𝑖 |𝑤𝑤1 , 𝑤𝑤2 , … , 𝑤𝑤𝑖𝑖−1) = 𝑃𝑃( 𝑤𝑤𝑖𝑖 𝑤𝑤𝑖𝑖−𝑛𝑛 , 𝑤𝑤𝑖𝑖−𝑛𝑛+1 , … , 𝑤𝑤𝑖𝑖−1 ) (2.2) xỉ Markov bậc n, thay tính theo (2.1) ta sử dụng công thức (2.2) đây: Nếu áp dụng xấp xỉ Markov, xác suất xuất từ (𝑤𝑤 𝑚𝑚 ) coi phụ thuộc vào n từ đứng liền trước (𝑤𝑤𝑖𝑖−𝑛𝑛 𝑤𝑤𝑖𝑖−𝑛𝑛+1 … 𝑤𝑤𝑖𝑖−1 ) khơng phải phụ thuộc vào tồn dãy từ đứng trước (𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤𝑖𝑖−1 ) Như vậy, công thức tính xác suất văn tính lại theo cơng thức : 𝑃𝑃( 𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤𝑖𝑖 ) = 𝑃𝑃( 𝑤𝑤1 ) ∗ 𝑃𝑃( 𝑤𝑤2 |𝑤𝑤1 ) ∗ 𝑃𝑃( 𝑤𝑤3 |𝑤𝑤1 𝑤𝑤2 ) ∗ … ∗ 𝑃𝑃( 𝑤𝑤𝑖𝑖−1 |𝑤𝑤𝑖𝑖−𝑛𝑛−1 𝑤𝑤𝑖𝑖−𝑛𝑛 𝑤𝑤𝑖𝑖−2) ∗ 𝑃𝑃(𝑤𝑤𝑖𝑖 |𝑤𝑤𝑖𝑖−𝑛𝑛 𝑤𝑤𝑖𝑖− 𝑛𝑛+1 𝑤𝑤𝑖𝑖−1 ) có 𝑛𝑛 + từ Mơ hình ngơn ngữ gọi mơ hình ngơn ngữ N-gram Với cơng thức này, ta xây dựng mơ hình ngơn ngữ dựa việc thống kê cụm 2.3 Khó khăn xây dựng mơ hình ngơn ngữ N-gram 2.3.1 Phân bố khơng Khi sử dụng mơ hình N-gram theo công thức “xác suất thô”, phân bố không tập văn huấn luyện dẫn đến ước lượng khơng xác Khi N-gram phân bố thưa, nhiều cụm n-gram không xuất có số lần xuất nhỏ, việc ước lượng câu có chứa cụm n-gram có kết tồi Với V kích thước từ vựng, ta có Vn cụm N-gram sinh từ từ vựng Tuy nhiên, thực tế số Các mơ hình ngơn ngữ N-gram cụm N-gram có nghĩa thường gặp chiếm Ví dụ: tiếng Việt có khoảng 5000 âm tiết khác nhau, ta có tổng số cụm 3-gram có là: 5.0003 = 125.000.000.000 Tuy nhiên, số cụm 3-gram thống kê xấp xỉ 1.500.000 Như có nhiều cụm 3-gram không xuất xuất Khi tính tốn xác suất câu, có nhiều trường hợp gặp cụm Ngram chưa xuất liệu huấn luyện Điều làm xác suất câu 0, câu câu hồn tồn mặt ngữ pháp ngữ nghĩa Đề khắc phục tình trạng này, người ta phải sử dụng số phương pháp “làm mịn” kết thống kê 2.3.2 Kích thước nhớ mơ hình ngơn ngữ Để khắc phục tình trạng cụm N-gram phân bố thưa, người ta áp dụng phương pháp “làm mịn” kết thống kê nhằm đánh giá xác (mịn hơn) xác suất cụm N-gram Các phương pháp “làm mịn” đánh giá lại xác suất cụm N-gram cách: Gán cho cụm N-gram có xác suất (không xuất hiện) giá trị khác Thay đổi lại giá trị xác suất cụm N-gram có xác suất khác (có xuất thống kê) thành giá trị phù hợp (tổng xác suất khơng đổi) Các phương pháp làm mịn chia thành loại sau :  Chiết khấu (Discounting): giảm (lượng nhỏ) xác suất cụm Ngram có xác suất lớn để bù cho cụm Ngram không xuất tập huấn luyện  Truy hồi (Back-off) : tính tốn xác suất cụm Ngram không xuất tập huấn luyện dựa vào cụm Ngram ngắn có xác suất lớn  Nội suy (Interpolation): tính tốn xác suất tất cụm Ngram dựa vào xác suất cụm Ngram ngắn Các phương pháp làm mịn 3.1 Phương pháp chiết khấu (discounting) Có phương pháp thông dụng Add-one, Good-Turing WittenBell Ký hiệu 𝑤𝑤 ≔ 𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤𝑖𝑖 cụm n-gram có độ dài 𝑖𝑖 tập ngữ liệu mẫu, chẳng hạn “xử lý ngôn ngữ tự nhiên” cụm n-gram có độ dài 6, đồng thời (xử, lý, ngôn, ngữ, tự, nhiên) cụm n-gram có độ dài (unigram), (xử lý, lý ngôn, ngôn ngữ, ngữ tự, tự nhiên) cụm n-gram có độ dài (bigram), … Trong ngữ cảnh khác, ta 𝑖𝑖−1 ký hiệu xác hơn: 𝑤𝑤𝑖𝑖−𝑛𝑛+1 ≔ 𝑤𝑤𝑖𝑖−𝑛𝑛+1 … 𝑤𝑤𝑖𝑖−1 cụm n-gram có độ dài 𝑛𝑛 Ở đây, 𝑤𝑤𝑖𝑖 từ tố hay unigram 3.1.1 Phương pháp làm mịn Add-one (Laplace) Phương pháp cộng thêm vào số lần xuất cụm n-gram lên 1, xác suất cụm n-gram tính lại là: 𝑝𝑝 = 𝑐𝑐 + (3.1) 𝑛𝑛 + 𝑣𝑣 Trong đó, 𝑐𝑐 số lần xuất cụm n-gram tập ngữ liệu mẫu, 𝑛𝑛 số cụm n-gram, 𝑣𝑣 kích thước tồn từ vựng (Ở đây, ∑ 𝑐𝑐 = 𝑛𝑛 sau thêm vào tần suất xuất cụm n-gram, tổng trở thành ∑(𝑐𝑐 + 1) = 𝑛𝑛 + 𝑣𝑣, ta cập nhật lại cơng thức tính xác suất cụm n-gram ) Với Unigram, ta viết lại (3.1) sau, Ta có, 𝑓𝑓 (1) = �𝑐𝑐 (1) + 1� ⋅ 𝑛𝑛 (1) 𝑛𝑛 (1) +𝑣𝑣 𝑝𝑝 (1) = 𝑐𝑐 (1) + 𝑛𝑛(1) + 𝑣𝑣 tần suất unigram, 𝑐𝑐 (1) số lần xuất Unigram trước làm mịn phương pháp Add-one Với cụm n-gram 𝑤𝑤 ≔ 𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤 𝑘𝑘 , 𝑘𝑘 > 1, ta có , Do đó, � 𝐶𝐶 ( 𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤 𝑘𝑘−1 𝑤𝑤 ) = 𝐶𝐶 ( 𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤 𝑘𝑘−1 ) 𝑤𝑤 𝑃𝑃( 𝑤𝑤 𝑘𝑘 |𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤 𝑘𝑘−1 ) = 𝐶𝐶 ( 𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤 𝑘𝑘 ) + (3.2) 𝐶𝐶 ( 𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤 𝑘𝑘−1 ) + 𝑉𝑉 Để ý rằng, có nhiều cụm n-gram khơng nhìn thấy (bậc thấp) so với ngram nhìn thấy (bậc cao) Trong đó, có cụm n-gram có nghĩa (cần thiết) bị giảm cịn cụm n-gram tối nghĩa lại có xác suất tăng lên Để hạn chế điều này, người ta đưa thêm hệ số 𝛼𝛼 thay cộng nhằm cân đối lại xác suất (Phương pháp làm mịn Add-𝛼𝛼) Các mô hình ngơn ngữ N-gram 𝑝𝑝 = 𝑐𝑐 + 𝛼𝛼 (3.3) 𝑛𝑛 + 𝛼𝛼𝛼𝛼 Trong đó, 𝛼𝛼 < Đặc biệt, = , gọi phương pháp Jeffreys – Perks Đặt 𝑀𝑀 = 𝛼𝛼𝛼𝛼, (3.2) viết lại thành, 𝐶𝐶 ( 𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤 𝑘𝑘 ) + 𝑀𝑀 ⋅ � � 𝑉𝑉 𝑃𝑃( 𝑤𝑤 𝑘𝑘 |𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤 𝑘𝑘−1 ) = 𝐶𝐶 ( 𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤 𝑘𝑘−1 ) + 𝑀𝑀 Dễ thấy với Unigram, tỷ số 𝑉𝑉 𝐶𝐶 ( 𝑤𝑤 𝑘𝑘−1 𝑤𝑤 𝑘𝑘 ) + 𝑀𝑀 ⋅ 𝑃𝑃( 𝑤𝑤 𝑘𝑘 ) 𝐶𝐶 ( 𝑤𝑤 𝑘𝑘−1 ) + 𝑀𝑀 xác suất xảy unigram, hay 𝑃𝑃( 𝑤𝑤 𝑘𝑘 |𝑤𝑤 𝑘𝑘−1 ) = 3.1.2 Phương pháp làm mịn Good-Turing Để khắc phục tình trạng cụm n-gram có nghĩa thực có số lần xuất nhỏ để thấy (hay không thấy—unseen), Alan Turing cộng I.J Good sử dụng thuật toán làm mịn dựa ước lượng tần suất, nghĩa nhóm cụm n-gram có số lần xuất tương đương Ký hiệu 𝑁𝑁𝑐𝑐 số cụm n-gram xuất 𝑐𝑐 lần Ví dụ, Tôi học môn học môn sinh học học Tơi mơn Như ta có, 𝑁𝑁1 = 2, 𝑁𝑁2 = 𝑁𝑁3 = Vấn đề đặt ta đếm xác cụm từ thấy ngữ liệu mẫu, với cụm từ mà ta không thấy cần phải ước lượng 𝑁𝑁0 sinh 𝟏𝟏𝟏𝟏 𝐜𝐜á 𝐜𝐜𝐜𝐜é𝐩𝐩, 𝟑𝟑 𝐜𝐜á 𝐫𝐫ô, 𝟐𝟐 𝐜𝐜á 𝐥𝐥ạ 𝐭𝐭( 𝐭𝐭𝐭𝐭ắ𝐧𝐧𝐧𝐧), 𝟏𝟏 𝐜𝐜á 𝐡𝐡ồ𝐢𝐢 𝐛𝐛𝐛𝐛ể 𝐧𝐧, 𝟏𝟏 𝐜𝐜á 𝐡𝐡ồ𝐢𝐢 𝐬𝐬ô𝐧𝐧𝐧𝐧, 𝟏𝟏 𝐥𝐥ươ𝐧𝐧 = 𝟏𝟏𝟏𝟏 𝐥𝐥 𝐥𝐥ạ𝐢𝐢 Ví dụ, đếm liệt kê loại cá, từ liệu gốc, ta thu kết quả: Như vậy, ước lượng tần suất loại “cá hồi sông” 18 Tuy nhiên, với loại cá khác mà ta khơng có liệt kê (chẳng hạn cá da trơn) ước lượng bao nhiêu? Để đơn giản, ta coi 𝑁𝑁1 𝑁𝑁 = 18 , tần suất “cá hồi sông” phải bé lại xác suất) Cách tính thuật tốn Good-Turing sau: 18 (để cân ∗ Ký hiệu 𝑃𝑃𝐺𝐺𝐺𝐺 xác suất cụm từ tính theo thuật tốn Good-Turing, đó, ∗ 𝑃𝑃𝐺𝐺𝐺𝐺 ( 𝑐𝑐 ( 𝑤𝑤 ) = 0) = Và số lần đếm 𝑐𝑐 thay bằng, Nói cách khác, ∗ 𝑃𝑃𝐺𝐺𝐺𝐺 ( 𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢) 𝑐𝑐 ∗ = ( 𝑐𝑐 + 1) ⋅ 𝑁𝑁1 (3.4) 𝑁𝑁 𝑁𝑁𝑐𝑐+1 (3.5) 𝑁𝑁𝑐𝑐 𝑁𝑁1 𝑐𝑐 ∗ ( 𝑐𝑐 + 1) 𝑁𝑁𝑐𝑐+1 ∗ ( )= = 𝑃𝑃𝐺𝐺𝐺𝐺 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 (3.6) = 𝑁𝑁 𝑁𝑁 𝑁𝑁𝑁𝑁𝑐𝑐 ∗ Ở ví dụ trên, 𝑃𝑃𝐺𝐺𝐺𝐺 ( 𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢𝑢) = 𝑁𝑁1 𝑁𝑁 = 18 2 N2 ∗ ( = ⋅ = ⟹ PGT cá hồi sông) = = c cá hồi sông) = ⋅ 3 N1 18 27 ∗( , Chú ý rằng, 𝑁𝑁𝑘𝑘 > 𝑁𝑁𝑘𝑘+1, ∀ 𝑘𝑘 ≥ (số cụm n-gram xuất nhiều dần chiếm kích thước ngữ liệu huấn luyện) Khi 𝑘𝑘 lớn, 𝑁𝑁𝑘𝑘 đột ngột nhảy gần Khi đó, cần thay cho 𝑁𝑁𝑘𝑘 giải thuật đơn giản khác Gale Sampson mô tả giải thuật gọi Simple Good-Turing, thay 𝑁𝑁𝑘𝑘 luật đếm phù hợp so với việc đếm không đảm bảo tin cậy Simple Good-Turing N1 N2 N3 Hình 3.1 Chứng minh cơng thức (3.5) Các mơ hình ngơn ngữ N-gram Ta biết rằng, cụm n-gram riêng biệt 𝛼𝛼 tập ngữ liệu có xác suất xảy 𝑝𝑝 Giả thiết tất cụm n-gram 𝛼𝛼 độc lập với Khi đó, số lần 𝛼𝛼 xuất tập ngữ liệu xác định: 𝑁𝑁 𝑝𝑝( 𝑐𝑐 ( 𝛼𝛼 ) = 𝑟𝑟) = � � 𝑝𝑝 𝑟𝑟 (1 − 𝑝𝑝) 𝑁𝑁−𝑟𝑟 𝑟𝑟 Mục đích phương pháp Good-Turing nhằm xác định kỳ vọng đếm 𝑐𝑐 ∗ thay cho số lần xuất 𝑐𝑐 n-gram Kỳ vọng đếm xác định sau: 𝑁𝑁 𝑁𝑁 ∗( 𝐸𝐸�𝑐𝑐 𝛼𝛼 )� = � 𝑟𝑟 ⋅ 𝑝𝑝( 𝑐𝑐 ( 𝛼𝛼) = 𝑟𝑟) = � 𝑟𝑟 ⋅ 𝑝𝑝 𝑟𝑟 (1 − 𝑝𝑝) 𝑁𝑁−𝑟𝑟 𝑟𝑟=0 𝑟𝑟=0 Ở đây, giá trị xác suất 𝑝𝑝 chưa biết, ta chưa thể xác định kỳ vọng Tiếp theo ta xác định số kỳ vọng cụm n-gram xuất 𝑟𝑟 lần: 𝐸𝐸 𝑁𝑁 ( 𝑁𝑁𝑟𝑟 ) Gọi 𝑠𝑠 số cụm n-gram phân biệt từ tập ngữ liệu, giả sử 𝛼𝛼1 , 𝛼𝛼2 , … , 𝛼𝛼 𝑠𝑠 , tương ứng với xác suất 𝑝𝑝1 , 𝑝𝑝2 , … , 𝑝𝑝 𝑠𝑠 Ta có, 𝑁𝑁 𝐸𝐸 𝑁𝑁 ( 𝑁𝑁𝑟𝑟 ) = � 𝑝𝑝𝑖𝑖 ( 𝑐𝑐 ( 𝛼𝛼 𝑖𝑖 ) = 𝑟𝑟) = � � � 𝑝𝑝𝑖𝑖𝑟𝑟 (1 − 𝑝𝑝𝑖𝑖 ) 𝑁𝑁−𝑟𝑟 ≈ 𝑁𝑁𝑟𝑟 (𝑟𝑟 nhỏ) 𝑟𝑟 𝑠𝑠 𝑠𝑠 𝑖𝑖=1 𝑖𝑖=1 Ở đây, 𝑝𝑝𝑖𝑖 chưa biết Ta biết trước 𝑐𝑐, vậy, ta xác định kỳ vọng 𝐸𝐸(𝑐𝑐 ∗ ( 𝛼𝛼 )|𝑐𝑐( 𝛼𝛼 ) = 𝑟𝑟) Ta có, xác suất để 𝛼𝛼 𝛼𝛼 𝑖𝑖 là, Khi đó, 𝑝𝑝( 𝛼𝛼 = 𝛼𝛼 𝑖𝑖 |𝑐𝑐(𝛼𝛼) = 𝑟𝑟) = 𝑠𝑠 𝑝𝑝(𝑐𝑐 ( 𝛼𝛼 𝑖𝑖 ) = 𝑟𝑟) 𝑠𝑠 ∑ 𝑗𝑗=1 𝑝𝑝�𝑐𝑐�𝛼𝛼𝑗𝑗 � = 𝑟𝑟� 𝑠𝑠 𝐸𝐸 ( 𝑐𝑐 𝛼𝛼 )| 𝑐𝑐 ( 𝛼𝛼 ) = 𝑟𝑟) = � 𝑁𝑁 𝑝𝑝𝑖𝑖 𝑝𝑝(𝛼𝛼 = 𝛼𝛼 𝑖𝑖 |𝑐𝑐 ( 𝛼𝛼) = 𝑟𝑟) = � 𝑁𝑁 𝑝𝑝𝑖𝑖 ∗( Mặt khác, 10 𝑖𝑖=1 𝑠𝑠 ∑ 𝑖𝑖=1 𝑁𝑁 𝑝𝑝𝑖𝑖 𝑝𝑝(𝑐𝑐 ( 𝛼𝛼 𝑖𝑖 ) = 𝑟𝑟) = 𝑠𝑠 ∑ 𝑗𝑗=1 𝑝𝑝�𝑐𝑐�𝛼𝛼𝑗𝑗 � = 𝑟𝑟� 𝑖𝑖=1 𝑝𝑝(𝑐𝑐 ( 𝛼𝛼 𝑖𝑖 ) = 𝑟𝑟) 𝑠𝑠 ∑ 𝑗𝑗=1 𝑝𝑝�𝑐𝑐�𝛼𝛼𝑗𝑗 � = 𝑟𝑟� 𝑃𝑃 𝐶𝐶(𝑤𝑤)=0 ( 𝑤𝑤𝑖𝑖 |𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤𝑖𝑖−1 ) và, = 𝑇𝑇( 𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤𝑖𝑖−1 ) (3.7) 𝑍𝑍( 𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤𝑖𝑖−1 )�𝐶𝐶 ( 𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤𝑖𝑖−1 ) + 𝑇𝑇( 𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤𝑖𝑖−1)� 𝑃𝑃 𝐶𝐶(𝑤𝑤)>0( 𝑤𝑤𝑖𝑖 |𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤𝑖𝑖−1 ) = 𝐶𝐶 ( 𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤𝑖𝑖−1 ) (3.8) 𝐶𝐶 ( 𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤𝑖𝑖−1 ) + 𝑇𝑇( 𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤𝑖𝑖−1) 3.2 Phương pháp truy hồi (Back-Off) Để ý rằng, phương pháp Add-one (hoặc Add − 𝛼𝛼) cụm 𝑤𝑤1 … 𝑤𝑤𝑖𝑖−1 khơng nhìn thấy cụm 𝑤𝑤1 … 𝑤𝑤𝑖𝑖−1 𝑤𝑤𝑖𝑖 có xác suất sau làm mịn Kết hợp với phương pháp truy hồi khắc phục điều Ta ước lượng xác suất cụm n-gram khơng nhìn thấy dựa vào xác suất cụm ngram ngắn mà xác suất khác Cụ thể ta có cơng thức truy hồi sau đây, 𝑖𝑖 𝑃𝑃𝐵𝐵𝐵𝐵 ( 𝑤𝑤𝑖𝑖 |𝑤𝑤1 … 𝑤𝑤𝑖𝑖−1 ) 𝛼𝛼 ( 𝑤𝑤 |𝑤𝑤 … 𝑤𝑤𝑖𝑖−1) 𝑛𝑛ế𝑢𝑢 𝑐𝑐( 𝑤𝑤1 … 𝑤𝑤𝑖𝑖 ) > = � 𝑖𝑖 𝑖𝑖 (3.9) 𝑖𝑖−1 𝑑𝑑 𝑖𝑖 ( 𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤𝑖𝑖−1 ) ∗ 𝑃𝑃𝐵𝐵𝐵𝐵 ( 𝑤𝑤𝑖𝑖 |𝑤𝑤2 … 𝑤𝑤𝑖𝑖−1 ) 𝑛𝑛ế𝑢𝑢 𝑐𝑐( 𝑤𝑤1 … 𝑤𝑤𝑖𝑖 ) = Trong đó, 𝛼𝛼 𝑖𝑖 ( 𝑤𝑤𝑖𝑖 |𝑤𝑤1 … 𝑤𝑤𝑖𝑖−1) xác suất (đã điều chỉnh) theo mơ hình tiên đốn hàm chiết khấu 𝑑𝑑 𝑖𝑖 ( 𝑤𝑤1 , 𝑤𝑤2 , … , 𝑤𝑤𝑖𝑖−1 ) Ta kết hợp phương pháp truy hồi với phương pháp chiết khấu để thu kết tốt so với ban đầu Ví dụ, kết hợp truy hồi với phương pháp làm Good-Turing, 𝑐𝑐( 𝑤𝑤1 , 𝑤𝑤2 ) 𝑐𝑐(𝑤𝑤1 ) Xác suất (tương đối) tính cho unigram, 𝑝𝑝( 𝑤𝑤2 |𝑤𝑤1 ) = Thuật tốn Good-Turing điều chỉnh count 𝑐𝑐 kì vọng 𝑐𝑐 ∗ , với 𝑐𝑐 ∗ ( 𝑤𝑤1 , 𝑤𝑤2 ) ≤ 𝑐𝑐 ( 𝑤𝑤1 , 𝑤𝑤2 ) Khi đó, 𝑐𝑐 ∗ ( 𝑤𝑤1 , 𝑤𝑤2 ) 𝛼𝛼 ( 𝑤𝑤2 |𝑤𝑤1 ) = 𝑐𝑐 ( 𝑤𝑤1 ) Điều dẫn đến công thức cho hàm chiết khấu 12 𝑑𝑑2 ( 𝑤𝑤1 ) = − � 𝛼𝛼 ( 𝑤𝑤2 |𝑤𝑤1 ) 𝑤𝑤2 3.3 Phương pháp nội suy (Recursive Interpolation) Cũng giống với phương pháp truy hồi, sử dụng cụm n-gram ngắn để tính xác suất cụm n-gram dài Cơng thức tính xác suất theo phương pháp nội suy sau: 𝑝𝑝𝐼𝐼𝑖𝑖 ( 𝑤𝑤𝑖𝑖 |𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤𝑖𝑖−1) = 𝜆𝜆 𝑤𝑤1…𝑤𝑤 𝑖𝑖−1 𝑝𝑝𝑖𝑖 ( 𝑤𝑤𝑖𝑖 |𝑤𝑤1 … 𝑤𝑤𝑖𝑖−1 ) + �1 − 𝜆𝜆 𝑤𝑤1…𝑤𝑤 𝑖𝑖−1 � 𝑝𝑝𝐼𝐼𝑖𝑖−1 ( 𝑤𝑤𝑖𝑖 |𝑤𝑤2 … 𝑤𝑤𝑖𝑖−1 ) (3.10) Trong đó, điều kiện 𝜆𝜆 𝑤𝑤1…𝑤𝑤 𝑖𝑖−1 trọng số nội suy Ví dụ, với bigram trigram, ta có: 𝑝𝑝 𝐼𝐼 ( 𝑤𝑤2 |𝑤𝑤1 ) = 𝜆𝜆 𝑝𝑝( 𝑤𝑤2 |𝑤𝑤1 ) + (1 − 𝜆𝜆) 𝑝𝑝(𝑤𝑤2 ) 𝑝𝑝 𝐼𝐼 ( 𝑤𝑤3 |𝑤𝑤1 𝑤𝑤2 ) = 𝜆𝜆 𝑝𝑝( 𝑤𝑤3 |𝑤𝑤1 𝑤𝑤2 ) + (1 − 𝜆𝜆) 𝑝𝑝( 𝑤𝑤1 𝑤𝑤2 ) = 𝜆𝜆1 𝑝𝑝( 𝑤𝑤3 |𝑤𝑤1 𝑤𝑤2 ) + 𝜆𝜆2 𝑝𝑝( 𝑤𝑤3 |𝑤𝑤2 ) + 𝜆𝜆3 ( 𝑤𝑤3 ) Lưu ý, công thức thứ với trigram, 𝜆𝜆 = 𝜆𝜆1 , − 𝜆𝜆 = 𝜆𝜆2 + 𝜆𝜆3 , 𝜆𝜆1 + 𝜆𝜆2 + 𝜆𝜆3 = 3.3 Phương pháp làm mịn Kneser – Ney Một phần mở rộng cho phương pháp chiết khấu, phương pháp Kneser-Ney (KN) xây dựng theo hai mơ hình trùy hồi nội suy 3.3.1 Phương pháp Kneser-Ney với mơ hình truy hồi Ta xét ví dụ, bigram “Bắc Kạn”, từ “Kạn” sau từ “Bắc”, đó, từ “Bắc” có số lần đếm nhiều nhiều so với từ “Kạn” (có thể khơng nhìn thấy), xác suất bigram “Bắc Kạn” Vì thế, ý tưởng phương pháp giảm số lần đếm n-gram nhìn thấy (tất nhiển không giảm 0), bù cho n-gram không nhìn thấy với hệ số chiết khấu cố định 𝛿𝛿 (chiết khấu tuyệt đối) Ký hiệu 𝑁𝑁1+ (• 𝑤𝑤 ) = |{𝑤𝑤𝑖𝑖 : 𝑐𝑐 ( 𝑤𝑤𝑖𝑖 , 𝑤𝑤 ) > 0}| số lượng n-gram khác kết thúc 𝑤𝑤 𝑁𝑁1+ (• •) = ∑ 𝑤𝑤 𝑖𝑖 𝑁𝑁1+ (𝑤𝑤𝑖𝑖 𝑤𝑤) Khi đó, xác suất trường hợp unigram (𝑖𝑖 = 1) Xác định, Các mô hình ngơn ngữ N-gram 𝑃𝑃𝐾𝐾𝐾𝐾 ( 𝑤𝑤 ) = 𝑁𝑁1+(• 𝑤𝑤) 𝑁𝑁1+(• •) 13 max{𝑐𝑐( 𝑤𝑤1 … 𝑤𝑤𝑖𝑖 ) − 𝛿𝛿, 0} = � với n-gram nhìn thấy: 𝑐𝑐 ( 𝑤𝑤1 … 𝑤𝑤𝑖𝑖 ) − 𝛿𝛿 𝑛𝑛ế𝑢𝑢 𝑐𝑐( 𝑤𝑤1 … 𝑤𝑤𝑖𝑖 ) > 0 𝑛𝑛ế𝑢𝑢 𝑐𝑐( 𝑤𝑤1 … 𝑤𝑤𝑖𝑖 ) = 𝛼𝛼 𝑖𝑖 ( 𝑤𝑤𝑖𝑖 |𝑤𝑤1 … 𝑤𝑤𝑖𝑖−1) = ∑ 𝑐𝑐 ( 𝑤𝑤1 … 𝑤𝑤𝑖𝑖 ) − 𝛿𝛿 𝑤𝑤 𝑐𝑐( 𝑤𝑤1 … 𝑤𝑤𝑖𝑖−1 𝑤𝑤 ) 𝑐𝑐(𝑤𝑤1 …𝑤𝑤 𝑖𝑖 )>0 𝑖𝑖 𝑃𝑃𝐾𝐾𝐾𝐾 ( 𝑤𝑤𝑖𝑖 |𝑤𝑤1 … 𝑤𝑤𝑖𝑖−1 ) max{𝑐𝑐 ( 𝑤𝑤1 … 𝑤𝑤𝑖𝑖 ) − 𝛿𝛿, 0} = ∑ 𝑤𝑤 𝑖𝑖 𝑐𝑐 ( 𝑤𝑤1 … 𝑤𝑤𝑖𝑖 ) 𝛿𝛿 𝑖𝑖−1 + 𝑁𝑁 ( 𝑤𝑤 … 𝑤𝑤𝑖𝑖−1 •) 𝑃𝑃𝐾𝐾𝐾𝐾 ( 𝑤𝑤𝑖𝑖 |𝑤𝑤2 … 𝑤𝑤𝑖𝑖−1 ) (3.11) ( 𝑤𝑤1 … 𝑤𝑤𝑖𝑖 ) 1+ ∑ 𝑤𝑤 𝑖𝑖 𝑐𝑐 Công thức tính xác suất thu gọn từ (3.9): Thơng thường, 𝛿𝛿 = 𝑁𝑁1 𝑁𝑁1 +2𝑁𝑁2 , đây, 𝑁𝑁𝑐𝑐 số đếm n-gram xuất 𝑐𝑐 lần (tương tự phương pháp Good-Turing, phần 3.1.2) 3.3.1 Phương pháp Kneser-Ney cải tiến Phương pháp Kneser-Ney cải tiến Chen-GoodMan, kết hợp phương pháp truy hồi nội suy, cụ thể, cơng thức tính xác suất theo phương pháp truy hồi: 𝑖𝑖 𝑃𝑃𝐵𝐵𝐵𝐵 ( 𝑤𝑤𝑖𝑖 |𝑤𝑤1 … 𝑤𝑤𝑖𝑖−1 ) = � 𝛼𝛼 𝑖𝑖 ( 𝑤𝑤𝑖𝑖 |𝑤𝑤1 … 𝑤𝑤𝑖𝑖−1) 𝑛𝑛ế𝑢𝑢 𝑐𝑐 ( 𝑤𝑤1 … 𝑤𝑤𝑖𝑖 ) > 𝑖𝑖 𝑑𝑑 𝑖𝑖 ( 𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤𝑖𝑖−1 ) ∗ 𝑃𝑃𝐵𝐵𝐵𝐵 ( 𝑤𝑤𝑖𝑖 |𝑤𝑤2 … 𝑤𝑤𝑖𝑖−1 ) 𝑛𝑛ế𝑢𝑢 𝑐𝑐 ( 𝑤𝑤1 … 𝑤𝑤𝑖𝑖 ) = 𝑐𝑐 ( 𝑤𝑤1 … 𝑤𝑤𝑖𝑖 ) − 𝛿𝛿 𝑤𝑤 𝑐𝑐( 𝑤𝑤1 … 𝑤𝑤𝑖𝑖−1 𝑤𝑤 ) Tương tự, ta xác định, xác suất điều chỉnh cho cụm n-gram nhìn thấy (bậc cao): 𝛼𝛼 𝑖𝑖 ( 𝑤𝑤𝑖𝑖 |𝑤𝑤1 … 𝑤𝑤𝑖𝑖−1) = ∑ 𝑐𝑐(𝑤𝑤1 …𝑤𝑤 𝑖𝑖 )>0 Nhưng ta xác định giá trị 𝛿𝛿 theo trường hợp, Trong đó, 14 𝛿𝛿1 𝑛𝑛ế𝑢𝑢 𝑐𝑐 = 𝛿𝛿 ( 𝑐𝑐 ) = � 𝛿𝛿2 𝑛𝑛ế𝑢𝑢 𝑐𝑐 = 𝛿𝛿3+ 𝑛𝑛ế𝑢𝑢 𝑐𝑐 ≥ 𝛾𝛾 = 𝑁𝑁1 𝑁𝑁1 + 2𝑁𝑁2 𝛿𝛿1 = − 2γ 𝛿𝛿2 = − 3γ N2 𝑁𝑁1 N3 𝑁𝑁2 𝛿𝛿3+ = − 4γ N4 𝑁𝑁3 Ký hiệu, 𝑁𝑁𝑐𝑐 số đếm n-gram xuất 𝑐𝑐 lần 𝑁𝑁1+ (• 𝑤𝑤1 … 𝑤𝑤𝑖𝑖−1 𝑤𝑤𝑖𝑖 ) − 𝛿𝛿 ∑ 𝑤𝑤 𝑁𝑁1+ (• 𝑤𝑤1 … 𝑤𝑤𝑖𝑖−1 𝑤𝑤 ) Với cụm n-gram khơng nhìn thấy (bậc thấp): 𝛼𝛼 ( 𝑤𝑤𝑖𝑖 |𝑤𝑤1 … 𝑤𝑤𝑖𝑖−1 ) = đó, 𝛿𝛿 = 𝛿𝛿 ( 𝑐𝑐 ) xác định phần ∑ 𝑖𝑖∈{1,2,3+} 𝛿𝛿𝑖𝑖 𝑁𝑁𝑖𝑖 (𝑤𝑤1 … 𝑤𝑤𝑖𝑖−1 •) ∑ 𝑤𝑤 𝑖𝑖 𝑐𝑐 ( 𝑤𝑤1 … 𝑤𝑤𝑖𝑖−1 𝑤𝑤𝑖𝑖 ) Hàm chiết khấu tính (chung cho n-gram nhìn thấy khơng nhìn thấy) 𝑑𝑑 𝑖𝑖 ( 𝑤𝑤1 𝑤𝑤2 … 𝑤𝑤𝑖𝑖−1 ) = Lưu ý rằng, dùng mơ hình hay phương pháp Truy hồi n-gram bậc cao Nếu tập ngữ liệu thưa, mơ hình khơng đáng tin cậy Khi có n-gram khác chung “history” có xác suất, lúc n-gram thực lại không chọn output n-gram khơng xác khác tập huấn luyện Vì vậy, ta ln xét mơ hình truy hồi n-gram bậc thấp Hàm điểu chỉnh 𝛼𝛼 chuyển thành hàm nội suy 𝛼𝛼 𝐼𝐼 cách thêm vào hàm chiết khấu truy hồi 𝛼𝛼 𝐼𝐼 ( 𝑤𝑤𝑖𝑖 |𝑤𝑤1 … 𝑤𝑤𝑖𝑖−1 ) = 𝛼𝛼 ( 𝑤𝑤𝑖𝑖 |𝑤𝑤1 … 𝑤𝑤𝑖𝑖−1 ) + 𝑑𝑑 ( 𝑤𝑤1 … 𝑤𝑤𝑖𝑖−1 ) 𝑝𝑝𝐼𝐼𝑖𝑖−1 ( 𝑤𝑤𝑖𝑖 |𝑤𝑤2 … 𝑤𝑤𝑖𝑖−1 ) Do đó, hàm 𝑑𝑑 cần điều chỉnh thực hợp lý để có mơ hình hiệu Kỹ thuật làm giảm kích thước liệu, tối ưu hóa cho mơ hình ngơn ngữ Trước vào phần tìm hiểu số khái niệm liên quan Các mơ hình ngơn ngữ N-gram 15 4.1 Sử dụng Entropy Độ hỗn loạn thông tin để đánh giá mơ hình Ngram 4.1.1 Entropy Entropy thước đo thơng tin, có giá trị lớn xử lý ngơn ngữ Nó thể mức độ thông tin ngữ pháp, thể phù hợp câu với ngơn ngữ, dự đốn từ cụm Ngram Để tính entropy cần tạo biến ngẫu nhiên 𝑋𝑋 liên quan tới thơng tin cần tính, thơng tin phải có hàm xác suất đặc trưng, gọi 𝑝𝑝(𝑥𝑥) Entropy biến ngẫu nhiên X tính theo cơng thức: 𝐻𝐻 ( 𝑋𝑋) = − � 𝑝𝑝(𝑥𝑥)log 𝑝𝑝(𝑥𝑥) 𝑋𝑋 Phần 𝑙𝑙 𝑙𝑙 𝑙𝑙 cơng thức tính số bất kỳ; sử dụng số kết entropy tính bit Với cơng thức trên, entropy hiểu cận số bit cần để mã hóa đoạn thơng tin 𝑋𝑋 Với mơ hình ngơn ngữ, cần xem biến ngẫu nhiên 𝑋𝑋 chuối từ 𝑊𝑊 = {… 𝑤𝑤0 , 𝑤𝑤1 , 𝑤𝑤2 , … , 𝑤𝑤 𝑛𝑛 } Như tính entropy biến ngẫu nhiên cụm từ có độ dài 𝑛𝑛 ngơn ngữ 𝐿𝐿 là: 𝐻𝐻 ( 𝑤𝑤1 , 𝑤𝑤2 , … , 𝑤𝑤 𝑛𝑛 ) = − � 𝑝𝑝(𝑊𝑊𝑖𝑖 𝑛𝑛 )log𝑝𝑝(𝑊𝑊𝑖𝑖 𝑛𝑛 ) 𝐿𝐿 Vậy entropy từ là: 𝐻𝐻 ( 𝑊𝑊𝑖𝑖 𝑛𝑛 ) = − ∑ 𝐿𝐿 𝑝𝑝(𝑊𝑊𝑖𝑖 𝑛𝑛 )log𝑝𝑝(𝑊𝑊𝑖𝑖 𝑛𝑛 ) 𝑛𝑛 𝑛𝑛 Nhưng để tính entropy ngôn ngữ, phải coi cụm từ có độ dài vơ hạn, nghĩa là: 1 𝐻𝐻 ( 𝑤𝑤1 , 𝑤𝑤2 , … , 𝑤𝑤 𝑛𝑛 ) = lim − � 𝑝𝑝(𝑊𝑊𝑖𝑖 𝑛𝑛 )log𝑝𝑝(𝑊𝑊𝑖𝑖 𝑛𝑛 ) 𝑛𝑛→∞ 𝑛𝑛 𝑛𝑛→∞ 𝑛𝑛 𝐻𝐻 ( 𝐿𝐿) = lim 𝐿𝐿 Định lý Shannon-McMillan-Breiman phát biểu ngôn ngữ sử dụng “ổn định” cơng thức viết lại sau: 𝐻𝐻 ( 𝐿𝐿) = lim − log𝑝𝑝 ( 𝑤𝑤1 , 𝑤𝑤2 , … , 𝑤𝑤 𝑛𝑛 ) 𝑛𝑛→∞ 𝑛𝑛 16 Như vậy, lấy cụm từ đủ dài thay tính tổng tồn cụm có Điểm dễ thấy định lý cụm đủ dài từ chứa cụm ngắn hơn, cụm ngắn lại xuất cụm dài dựa vào xác suất chúng Một kiểu truy xuất ngẫu nhiên coi “ổn định” xác suất gán cho cụm từ bất biến dịch khoảng thời gian Nói cách khác, xác suất phân bố cho từ thời điểm 𝑡𝑡 phải xác suất thời điểm 𝑡𝑡 + Ngram mô hình ổn định Tuy nhiên ngơn ngữ tự nhiên khơng ổn định, mơ hình thống kê Ngram cho xác suất entropy xấp xỉ ngôn ngữ tự nhiên Công thức biến đổi qua nhiều bước với xấp xỉ gần đúng, để tăng tính xác sử dụng độ đo entropy câu kiểm tra cần phải đủ dài tổng quát (phân tán rộng) để tránh tập trung vào xác suất lớn (chỉ chứa cụm thông dụng) Các bước biến đổi gần cơng thức khiến giá trị 𝐻𝐻(𝐿𝐿) tính theo công thức cuối lớn giá trị 𝐻𝐻(𝐿𝐿) gốc Do vậy, tính 𝐻𝐻(𝐿𝐿) mơ hình ngơn ngữ khác ngơn ngữ 𝐿𝐿, mơ hình cho 𝐻𝐻(𝐿𝐿) nhỏ mơ hình ngơn ngữ thể xác ngơn ngữ 𝐿𝐿 4.1.2 Độ hỗn loạn thông tin (perplexity) Độ hỗn loạn thông tin (perplexity) dùng làm thước đo để đánh giá độ xác mơ hình ngơn ngữ Trong mơ hình ngơn ngữ, độ hỗn loạn thơng tin văn với từ “cái” thể số từ sau từ “cái” Độ hỗn loạn thơng tin mơ hình ngơn ngữ nói chung, hiểu đơn giản số lựa chọn từ trung bình mà mơ hình ngơn ngữ phải đưa định Như vậy, độ hỗn loạn thông tin thấp, độ xác mơ hình ngơn ngữ cao Độ hỗn loạn thông tin mơ hình 𝑝𝑝 cụm từ 𝑊𝑊 tính theo cơng thức: Perpelexity ( 𝑊𝑊 ) = 𝐻𝐻(𝑊𝑊) = 𝑝𝑝( 𝑤𝑤1 , 𝑤𝑤2 , … , 𝑤𝑤 𝑛𝑛 ) = � 𝑛𝑛 𝑛𝑛 𝑝𝑝( 𝑤𝑤1 , 𝑤𝑤2 , … , 𝑤𝑤 𝑛𝑛 ) = �� 𝑛𝑛 Các mơ hình ngơn ngữ N-gram 𝑖𝑖=1 𝑝𝑝( 𝑤𝑤𝑖𝑖 |𝑤𝑤1 , … , 𝑤𝑤𝑖𝑖−1 ) 17 Dựa vào công thức ta thấy xác suất điều kiện cụm từ cao độ hỗn loạn thơng tin thấp Vì giảm thiểu độ hỗn loạn thơng tin đồng nghĩa với việc tăng cực đại xác suất tập thực nghiệm tương ứng với mơ hình ngơn ngữ Dưới ví dụ việc sử dụng độ hỗn loạn thông tin để so sánh mơ hình Ngram Chúng ta huấn luyện unigram, bigram trigram dạng truy hồi làm mịn Good-Turing tập 38 triệu từ thuộc liệu huấn luyện Tờ báo phố Wall Sử dụng từ điển 19,979 từ , tính độ hỗn loạn thơng tin mơ hình tập thực nghiệm 1.5 triệu từ công thức Bảng cho kết tương ứng: Ngram Perpelexity Unigram 962 Bigram 170 Trigram 109 Dựa vào bảng ta thấy rằng, nhiều thông tin mà Ngram cung cấp cụm từ độ hỗn loạn thơng tin nhỏ 4.2 Các kỹ thuật làm giảm kích thước liệu mơ hình ngơn ngữ Các mơ hình ngơn ngữ cho ứng dụng lớn nhận diện giọng nói cần phải huấn luyện hàng trăm triệu, chí hàng tỷ từ mơ hình chưa nén có kích cớ ngang với kích cỡ liệu huấn luyện Có số kỹ thuật dùng để giảm kích thước mơ hình ngơn ngữ, dùng nhiều phương pháp pruning (loại bỏ) Phương pháp loại bỏ gốm có phương pháp cắt bỏ (count cutoffs), loại bỏ dựa vào trọng số khác (Weighted Difference pruning), loại bỏ Stolcke Số lượng cụm Ngram xuất vài lần tập huấn luyện thường lớn so với tổng số cụm Ngram Các cụm Ngram thường lỗi ngữ pháp tập huấn luyện, số dạng đặc biệt như: tên riêng, từ viết tắt, Những cụm Ngram thường sử dụng thực tế, việc tồn chúng làm ảnh hưởng đến độ xác mơ hình ngơn ngữ Chính lý đó, kỹ thuật pruning tập trung vào việc loại bỏ cụm Ngram Có phương pháp chính: - Count cutoffs (cắt bỏ): phương pháp tập trung vào việc loại bỏ cụm Ngram có tần số thấp tập huấn luyện - Weighted Difference pruning (loại bỏ dựa vào khác biệt trọng số): phương pháp tập trung vào việc đánh giá loại bỏ cụm Ngram không hiệu dựa vào xác suất cụm Ngram trước sau làm mịn theo phương pháp truy hồi - Stolcke pruning: phương pháp loại bỏ cụm Ngram mà thay đổi độ hỗn loạn thông tin mức cho trước dựa entropy quan hệ mơ hình gốc 18 mơ hình giảm kích thước, entropy tính tốn xác mơ hình làm mịn theo phương pháp truy hồi Sau sâu vào tùng phương pháp 4.2.1 Count cutoffs Phương pháp phương pháp thơng dụng tính đơn giản nó, thường sử dụng để làm giảm kích thước mơ hình ngơn ngữ lưu trữ dạng tần số từ Trong thực tế, tập văn huấn luyện, có nhiều cụm bigram trigram xuất hai lần đoạn văn chứa triệu từ Khi loại bỏ cụm Ngram khỏi mơ hình ngôn ngữ, thông tin chúng (bao gồm tần số xác suất) chúng nhận lại thơng qua việc sử dụng mơ hình truy hồi hay nội suy Phương pháp count cutoffs hoạt động sau: Nếu cụm Ngram xuất k lần tập văn huấn luyện cụm Ngram bị loại bỏ khỏi mơ hình ngơn ngữ Khi tính tốn, gặp lại cụm Ngram này, tần số xác suất chúng tính tốn thơng qua phương pháp làm mịn trình bày Trong mơ hình ngơn ngữ, sử dụng tham số k khác với cụm Ngram có độ dài khác Ví dụ: với unigram sử dụng 𝑘𝑘 = 10, với bigram 𝑘𝑘 = 1, trigram 𝑘𝑘 = Như vậy, việc chọn tham số 𝑘𝑘 cho phương pháp count cutoffs vấn đề kỹ thuật Nếu 𝑘𝑘 lớn, bỏ sót thơng tin số cụm Ngram, hiệu suất ứng dụng bị giảm Nhưng ngược lại, 𝑘𝑘 q nhỏ, kích thước mơ hình ngơn ngữ giảm khơng đáng kể Có cách để chọn 𝑘𝑘: chọn 𝑘𝑘 theo phương pháp chạy thử nhiều lần chọn 𝑘𝑘 theo tỉ lệ phần trăm số lượng cụm Ngram Chọn k theo phương pháp chạy thử nhiều lần nghĩa ta dùng phương pháp count cutoffs cho mơ hình ngơn ngữ với nhiều giá trị k khác đánh giá độ hỗn loạn thông tin (perplexity) tập văn đầu vào sau sử dụng phương pháp count cutoffs Sau có kết quả, ta chọn tham số k cho mơ hình ngơn ngữ hiệu (độ hỗn loạn thông tin tập văn huấn luyện kích thước mơ hình ngơn ngữ thấp) Kỹ thuật giúp chọn 𝑘𝑘 phù hợp, nhiên thời gian phải chạy thử với nhiều giá trị 𝑘𝑘 Tuy nhiên, để đạt mơ hình ngơn ngữ hiệu phương pháp tốt Phương pháp thứ hai, chọn 𝑘𝑘 dựa theo tỷ lệ phần trăm số lượng cụm Ngram phải bảo đảm số cụm Ngram xuất không k lần chiếm h% so với tổng số cụm Ngram Ví dụ: h=50, chọn 𝑘𝑘 cho số lượng cụm Ngram xuất khơng q Các mơ hình ngơn ngữ N-gram 19 𝑘𝑘 lần (sẽ bị loại bỏ) chiếm 50% tổng số cụm Ngram thống kê Phương pháp nhanh độ xác khơng cao phương pháp thứ đề cập Vậy cắt bỏ cụm bigram trigram theo cách tiết kiệm nhớ bao nhiêu? Trong nhận diện giọng nói Sphinx II đại học Carnegie Mellon, cụm trigram chiếm 4byte nhớ (2byte cho từ 2byte cho xác suất) cụm bigram chiếm 8byte (2byte cho từ, 2byte cho xác suất, 2byte cho trọng số truy hồi 2byte cho trỏ tới cụm trigram) Bộ nhớ yêu cầu để lưu trữ xác suất unigram xem khơng đổi khơng tính Sử dụng từ điển 58000 từ 45 triệu từ thuộc liệu huấn luyện Tờ báo phố Wall(1992 – 1994), yêu cầu nhớ mơ hình tạo với hệ số k khác tính số mẫu cho bảng dưới, với hệ số cutoff có dạng (cắt bigram – cắt trigram) Hệ số cutoff (0-0) (0-1) (1-1) (0-10) (10-10) Số bigram 4,627,551 4,627,551 1,787,935 4,627,551 347,647 Số trigram 16,838,937 3,581,187 3,581,187 367,928 367,928 Dung lượng (MB) 104 51 29 38 Với liệu này, 78,5% trigram 61% bigram xuất lần, thấy dung lượng tiêt kiệm đáng kể cách loại bỏ cụm bigram trigram xuất lần 4.2.2 Weighted Difference pruning Phương pháp count cutoffs quan tâm đến việc loại bỏ cụm Ngram có tần số thấp, phương pháp weighted difference quan tâm đến nhiều thơng tin mơ hình ngơn ngữ mối quan hệ cụm Ngram, xác suất cụm Ngram, Như trình bày phần trên, cụm Ngram khơng xuất tập huấn luyện, xác suất ước lượng thơng qua xác suất cụm Ngram ngắn (phương pháp làm mịn kiểu truy hồi) Do đó, xác suất thực tế cụm Ngram xấp xỉ với xác suất có theo cơng thức truy hồi, chẳng cần lưu trữ cụm Ngram làm Đó ý tưởng phương pháp weighted difference Trọng số khác biệt (weighted difference factor) cụm Ngram định nghĩa bằng: ́ ̀ ́ ̀ w d factor = K ∗ log ��xá c suât ban đâu� − log�xá c st truy hơi�� Trong đó, K tham số sử dụng phương pháp làm mịn Good Turing Dựa vào trọng số w.d.factor trên, biết nên giữ lại hay loại bỏ cụm Ngram Nếu 20 w.d.factor nhỏ ngưỡng định, cụm Ngram bị loại bỏ khỏi mơ hình ngơn ngữ Và ngưỡng định cách tìm theo phương pháp thử sai đặt giá trị số Trong thực tế, phương pháp nhiều thời gian phương pháp count cutoffs phải tính tốn hệ số w.d.factor cho tất cụm Ngram mơ hình ngơn ngữ Và khác biệt lớn phương pháp loại bỏ phương pháp weighted different hoạt động mơ hình ngơn ngữ kiểu truy hồi, cịn phương pháp count cutoffs hoạt động mơ hình ngơn ngữ lưu trữ liệu dạng tần số 4.2.3 Stolcke pruning Tương tự phương pháp trọng số khác biệt nêu trên, phương pháp hoạt động với mơ hình ngơn ngữ kiểu truy hồi Nhác lại mơ hình truy hồi, mơ hình ngơn ngữ Ngram biểu diễn phân phối xác suất cho cụm từ 𝑤𝑤, kèm (N-1) từ trước, gọi lược sử ℎ Chỉ tập giới hạn N-gram (𝑤𝑤, ℎ) có xác suất điều kiện tường minh mơ hình Các N-gram lại gán xác suất quy luật truy hồi: 𝑝𝑝( 𝑤𝑤, ℎ) = 𝛼𝛼(ℎ) 𝑝𝑝(𝑤𝑤|ℎ′ ) ℎ′ phần lược sử ℎ bỏ từ 𝛼𝛼(ℎ) hệ số truy hồi tương ứng với lược sử ℎ để chắn ∑ 𝑤𝑤 𝑝𝑝( 𝑤𝑤|ℎ) = Mục đích phương pháp pruning loại bỏ xác suất 𝑝𝑝( 𝑤𝑤|ℎ) khỏi mơ hình, từ giảm số lượng tham số đồng thời phải giảm thiểu mát hiệu Chú ý sau loại bỏ, xác suất cụm N-gram giữ lại không đổi, trọng số truy hồi cần phải tính lại, từ thay đổi giá trị ước lượng xác suất truy hồi Vì vậy, phương pháp tiếp cận độc lập với phương pháp ước lượng dùng để xác định xác suất cụm N-gram Vì mục tiêu loại bỏ mà không cần truy cập đến thống kê khơng chứa mơ hình, chuẩn tự nhiên giảm “khoảng cách” phân bố xác suất mơ hình gốc mơ hình loại bỏ Một đại lượng chuẩn để tính tốn khác phân bố entropy quan hệ Với 𝑝𝑝(• | •) xác suất cụm Ngram mơ hình gốc, 𝑝𝑝′(• | •) xác suất mơ hình loại bỏ entropy quan hệ mơ hình là: 𝐷𝐷(𝑝𝑝||𝑝𝑝 ′ ) = − � 𝑝𝑝 ( 𝑤𝑤𝑖𝑖 , ℎ)[log𝑝𝑝 ′( 𝑤𝑤𝑖𝑖 |ℎ) − log𝑝𝑝( 𝑤𝑤𝑖𝑖 |ℎ)] Các mơ hình ngơn ngữ N-gram 𝑤𝑤 𝑖𝑖 21 tổng áp dụng với tất cụm từ 𝑤𝑤𝑖𝑖 lược sử ℎ𝑗𝑗 Mục tiêu chọn cụm N-gram mà có 𝐷𝐷(𝑝𝑝||𝑝𝑝′) nhỏ Tuy nhiên, khó chọn nhiều cụm N-gram Thay vào đó, thừa nhận cụm N-gram ảnh hưởng đến entropy quan hệ cách độc lập, tính tốn 𝐷𝐷(𝑝𝑝||𝑝𝑝′) dựa vào cụm N-gram riêng biệt Sau xếp hạng cụm dựa vào tác động lên entropy mô hình, loại bỏ cụm làm tăng entropy quan hệ lên Để chọn ngưỡng loại bỏ, xem cách trực quan 𝐷𝐷(𝑝𝑝||𝑝𝑝′) quan hệ với độ hỗn loạn thông tin Độ hỗn loạn thơng tin mơ hình gốc tính dựa cụm N-gram phân bố xác suất là: 𝑃𝑃𝑃𝑃 = 𝑒𝑒 − ∑ℎ,𝑤𝑤 𝑝𝑝(ℎ,𝑤𝑤)log𝑝𝑝(𝑤𝑤|ℎ) Và ta có độ hỗn loạn thơng tin mơ hình loại bỏ (dựa phân bố xác suất mẫu gốc) là: 𝑃𝑃𝑃𝑃′ = 𝑒𝑒 − ∑ℎ,𝑤𝑤 𝑝𝑝(ℎ,𝑤𝑤)log𝑝𝑝′(𝑤𝑤|ℎ) Như thay đổi quan hệ độ hỗn loạn thông tin mơ hình tính tốn dựa entropy quan hệ là: 𝑃𝑃𝑃𝑃′ − 𝑃𝑃𝑃𝑃 ′ = 𝑒𝑒 𝐷𝐷(𝑝𝑝||𝑝𝑝 ) − 𝑃𝑃𝑃𝑃 Từ đề xuất thuật toán tạo ngưỡng loại bỏ đơn giản sau: Chọn ngưỡng θ Tính tốn độ tăng độ hỗn loạn thơng tin quan hệ dựa vào loại bỏ cụm Ngram riêng biệt Loại bỏ tất cụm N-gram làm tăng độ hỗn loạn thơng tin nhỏ θ, tính toán lại trọng số truy hồi Bây xem cách để tính entropy quan hệ 𝐷𝐷(𝑝𝑝||𝑝𝑝′) dựa vào việc loại bỏ cụm N-gram cách hiệu xác Chú ý đến việc loại bỏ cụm N-gram gồm từ 𝑤𝑤 lược sử ℎ điều dẫn đến thay đổi tới ước lượng xác suất Tính tốn entropy quan hệ 22 - Trọng số truy hồi 𝑎𝑎(ℎ) liên quan tới lịch sử ℎ thay đổi, kéo theo tất xác suất truy hồi liên quan đến lược sử ℎ Chúng ta sử dụng ký hiệu 𝐵𝐵𝐵𝐵(𝑤𝑤𝑖𝑖 , ℎ)để biểu diễn điều này, tức mơ hình gốc không chứa xác suất cho (𝑤𝑤𝑖𝑖 , ℎ) Đặt 𝛼𝛼(ℎ) trọng số truy hồi cũ, 𝛼𝛼′(ℎ) trọng số truy hồi - Xác suất 𝑝𝑝( 𝑤𝑤|ℎ) thay xác suất truy hồi: 𝑝𝑝 ′ ( 𝑤𝑤|ℎ) = 𝛼𝛼 ′ (ℎ) 𝑝𝑝(𝑤𝑤|ℎ′) với ℎ′ lược sử thu cách bỏ từ ℎ Tất xác suất không liên quan đến lược sử ℎ giữ ngun khơng đổi, gán tất giá trị 𝐵𝐵𝐵𝐵(𝑤𝑤𝑖𝑖 , ℎ) false Thế vào (1) ta có: 𝐷𝐷(𝑝𝑝||𝑝𝑝 ′ ) = − � 𝑝𝑝 ( 𝑤𝑤𝑖𝑖 , ℎ)[log𝑝𝑝 ′( 𝑤𝑤𝑖𝑖 |ℎ) − log𝑝𝑝( 𝑤𝑤𝑖𝑖 |ℎ)] 𝑤𝑤 𝑖𝑖 = −𝑝𝑝( 𝑤𝑤, ℎ)[log𝑝𝑝′ ( 𝑤𝑤|ℎ) − log𝑝𝑝( 𝑤𝑤|ℎ)] − � 𝑤𝑤 𝑖𝑖 : 𝐵𝐵𝐵𝐵(𝑤𝑤 𝑖𝑖 ,ℎ) 𝑝𝑝( 𝑤𝑤 𝑖𝑖 , ℎ)[log𝑝𝑝 ′( 𝑤𝑤𝑖𝑖 |ℎ) − log𝑝𝑝( 𝑤𝑤𝑖𝑖 |ℎ)] = −𝑝𝑝(ℎ) �𝑝𝑝( 𝑤𝑤|ℎ)[log𝑝𝑝 ′( 𝑤𝑤|ℎ) − log𝑝𝑝( 𝑤𝑤|ℎ)] + � 𝑤𝑤 𝑖𝑖 : 𝐵𝐵𝐵𝐵(𝑤𝑤 𝑖𝑖 ,ℎ) 𝑝𝑝( 𝑤𝑤𝑖𝑖 , ℎ)[log𝑝𝑝′ ( 𝑤𝑤𝑖𝑖 |ℎ) − log𝑝𝑝( 𝑤𝑤𝑖𝑖 |ℎ)]� = −𝑝𝑝(ℎ) �𝑝𝑝( 𝑤𝑤|ℎ)[log𝑝𝑝( 𝑤𝑤|ℎ′) + log𝛼𝛼′(ℎ) − log𝑝𝑝( 𝑤𝑤|ℎ)] + Các mơ hình ngơn ngữ N-gram � 𝑤𝑤 𝑖𝑖 : 𝐵𝐵𝐵𝐵(𝑤𝑤 𝑖𝑖 ,ℎ) 𝑝𝑝( 𝑤𝑤𝑖𝑖 , ℎ)[log𝛼𝛼(ℎ′ ) − log𝛼𝛼(ℎ)]� 23 = −𝑝𝑝(ℎ) �𝑝𝑝( 𝑤𝑤|ℎ)[log𝑝𝑝( 𝑤𝑤|ℎ′) + log𝛼𝛼′(ℎ) − log𝑝𝑝( 𝑤𝑤|ℎ)] + [log𝛼𝛼(ℎ′ ) − log𝛼𝛼(ℎ)] � 𝑤𝑤 𝑖𝑖 : 𝐵𝐵𝐵𝐵(𝑤𝑤 𝑖𝑖 ,ℎ) 𝑝𝑝( 𝑤𝑤𝑖𝑖 , ℎ)� Tổng dịng cuối cụm tồn xác suất cho để truy hồi, tính lần với ℎ, tính cách hiệu dựa vào tổng tất ước lượng chưa truy hồi: � 𝑤𝑤 𝑖𝑖 : 𝐵𝐵𝐵𝐵(𝑤𝑤 𝑖𝑖 ,ℎ) 𝑝𝑝( 𝑤𝑤𝑖𝑖 , ℎ) = − � 𝑤𝑤 𝑖𝑖 : ¬𝐵𝐵𝐵𝐵(𝑤𝑤 𝑖𝑖 ,ℎ) 𝑝𝑝( 𝑤𝑤𝑖𝑖 , ℎ) Xác suất 𝑝𝑝(ℎ) tính cách nhân xác suất điều kiện 𝑝𝑝(ℎ1 ) 𝑝𝑝(ℎ2 |ℎ1) … Cuối cùng, cần tính tốn trọng số truy hồi hiệu chỉnh 𝛼𝛼′(ℎ) cách hiệu quả, nghĩa thời gian số với N-gram Với cơng thức tính 𝛼𝛼(ℎ): 𝛼𝛼 (ℎ) = − ∑ 𝑤𝑤 𝑖𝑖 : ¬𝐵𝐵𝐵𝐵(𝑤𝑤 𝑖𝑖,ℎ) 𝑝𝑝( 𝑤𝑤 𝑖𝑖 , ℎ) − ∑ 𝑤𝑤 𝑖𝑖 : ¬𝐵𝐵𝐵𝐵(𝑤𝑤 𝑖𝑖 ,ℎ) 𝑝𝑝( 𝑤𝑤𝑖𝑖 , ℎ′) 𝛼𝛼′(ℎ) tính cách bỏ số hạng chứa N-gram (𝑤𝑤, ℎ) loại bỏ từ tổng tử mẫu Vì vậy, tính tử mẫu gốc với lược sử h, sau cộng tương ứng 𝑝𝑝(𝑤𝑤|ℎ) 𝑝𝑝(𝑤𝑤|ℎ′) vào tử mẫu để tính 𝛼𝛼′(ℎ) với cụm từ 𝑤𝑤 loại bỏ Ứng dụng Mơ hình n-gram ứng dụng rộng rãi xác xuất, thuyết truyền đạt ngôn ngữ, học máy, nén liệu Một số ứng dụng thực tế gần gũi: • Đốn trước từ để hồn thành câu Ví dụ:Làm ơn tắt… Chương trình bạn khơng… • Dựa đoán đầu vào văn Hệ thống dự đoán đầu vào đốn bạn gõ đưa lựa chọn để hồn thành 24 • Ứng dụng chỉnh gõ sai đánh máy nhầm • Kết hợp xử lý tiếng nói, tách lời hát, đoạn hội thoại,… Các mơ hình ngơn ngữ N-gram 25 Tài liệu tham khảo [1] Xây dựng mơ hình ngơn ngữ N-gram cho Tiếng Việt, Cao Văn Kiệt, Khóa luận tốt nghiệp, K51, Khoa học máy tính, Trường Đại học Cơng nghệ [2] Good-Turing Smoothing Without Tears, William A Gale, AT&T Bell Laboratories [3] Power Law Discouting for N-gram Language Models, Songfang Huang, Steve Renals, The Centre for Speech Technology Research, University of Edinburgh, United Kingdom [4] Book: Statistical Machine Translation, slides Chapter 7, Language models, Philipp Koehn, http://www.statmt.org/book/ [5] Class-Based n-gram Models of Natural Language, Peter F Brown, Peter V deSouza, Robert L Mercer, Vincent J Della Pietra, Jenifer C Lai, IBM T J Watson Research Center [6] N-gram, Daniel Jurafsky &James H Martin, 2006 [7] Entropy-based Pruning of Backoff Language Models, Andreas Stolcke, Speech Technology And Research Laboratory SRI International, link: here [8] Scalable Trigram Backoff Language Models, Kristie Seymore, Ronald Rosenfeld, 1996, School of Computer Science Carnegie Mellon University Pittsburgh [9] Lectures online: - - Good-Turing Smoothing - Stanford NLP - Professor Dan Jurafsky & Chris Manning (http://youtu.be/XdjCCkFUBKU) 26 ... tương ứng

Ngày đăng: 09/07/2014, 14:53

Từ khóa liên quan

Mục lục

  • 1 Tổng quan về ngôn ngữ

  • 2 Mô hình ngôn ngữ N-gram

    • 2.1 Một số khái niệm

    • 2.2 Mô hình N-gram

      • 2.2.2 Chuỗi Markov

      • 2.2.3 Ước lượng xác suất cho mô hình N-gram

      • 2.3 Khó khăn khi xây dựng mô hình ngôn ngữ N-gram

        • 2.3.1 Phân bố không đều

        • 2.3.2 Kích thước bộ nhớ của mô hình ngôn ngữ

        • 3 Các phương pháp làm mịn

          • 3.1 Phương pháp chiết khấu (discounting)

            • 3.1.1 Phương pháp làm mịn Add-one (Laplace)

            • 3.1.2 Phương pháp làm mịn Good-Turing

            • 3.1.3 Phương pháp làm mịn Witten-Bell

            • 3.2 Phương pháp truy hồi (Back-Off)

            • 3.3 Phương pháp nội suy (Recursive Interpolation)

            • 3.3 Phương pháp làm mịn Kneser – Ney

              • 3.3.1 Phương pháp Kneser-Ney với mô hình truy hồi

              • 3.3.1 Phương pháp Kneser-Ney cải tiến

              • 4 Kỹ thuật làm giảm kích thước dữ liệu, tối ưu hóa cho mô hình ngôn ngữ

                • 4.1 Sử dụng Entropy và Độ hỗn loạn thông tin để đánh giá mô hình Ngram

                  • 4.1.1 Entropy

                  • 4.1.2 Độ hỗn loạn thông tin (perplexity)

                  • 4.2 Các kỹ thuật làm giảm kích thước dữ liệu của mô hình ngôn ngữ

                    • 4.2.1 Count cutoffs

                    • 4.2.2 Weighted Difference pruning

                    • 4.2.3 Stolcke pruning

                    • 5 Ứng dụng

                    • Tài liệu tham khảo

Tài liệu cùng người dùng

Tài liệu liên quan