Nghiên cứu mô hình ngôn ngữ N-gram ứng dụng thêm dấu tiếng Việt (ĐH CNTT&TT Thái Nguyên)

Nghiên cứu mô hình ngôn ngữ n gram, ứng dụng hiệu quả vào bài toán thêm dấu tiếng Việt. Tìm hiểu cách n gram cải thiện độ chính xác, tự nhiên của văn bản.

Chuyên ngành

Khoa học máy tính

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2011

71
2
0

Phí lưu trữ

30 Point

Tóm tắt

I. Khám phá N gram Nền tảng của mô hình ngôn ngữ thống kê

Trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP), việc xây dựng các mô hình có khả năng "hiểu" và dự đoán ngôn ngữ là một mục tiêu cốt lõi. Mô hình ngôn ngữ (Language Model - LM) là một phân bố xác suất trên các chuỗi từ, cho phép ước lượng độ hợp lý của một câu văn. Một trong những mô hình nền tảng và hiệu quả nhất chính là N-gram. N-gram là một mô hình thống kê dựa trên giả thuyết Markov, cho rằng xác suất xuất hiện của một từ chỉ phụ thuộc vào một số N-1 từ đứng ngay trước nó, thay vì toàn bộ lịch sử câu. Cách tiếp cận này giúp đơn giản hóa bài toán tính toán xác suất phức tạp, biến nó thành việc thống kê tần suất các cụm từ ngắn. Ví dụ, mô hình có thể ước tính xác suất của câu “ngày mai trời sẽ mưa” cao hơn nhiều so với câu “trời mưa sẽ mai ngày”. Theo nghiên cứu của Cao Đức Tư (2011), việc sử dụng các mô hình ngôn ngữ để xác định xác suất xảy ra của một chuỗi từ giúp giới hạn không gian tìm kiếm, từ đó tìm ra các giải pháp tốt nhất trong thời gian ngắn. Mô hình N-gram là công cụ mạnh mẽ cho nhiều ứng dụng thực tiễn, đặc biệt là trong bối cảnh NLP tiếng Việt nơi các bài toán như phục hồi dấu tiếng Việt hay tự động sửa lỗi chính tả đòi hỏi khả năng dự đoán ngữ cảnh cao.

1.1. Định nghĩa mô hình ngôn ngữ N gram là gì

Một mô hình ngôn ngữ N-gram là một mô hình xác suất thống kê dùng để dự đoán từ tiếp theo trong một chuỗi. "N" trong N-gram đại diện cho số lượng từ trong một cụm được xem xét. Cụ thể, mô hình ước tính xác suất có điều kiện của một từ, dựa trên N-1 từ liền trước. Ví dụ, một mô hình 3-gram (trigram) sẽ tính xác suất P(từ | từ_trước_1, từ_trước_2). Nguyên lý cơ bản này dựa trên giả định Markov rằng ngữ cảnh gần là đủ để dự đoán. Thay vì phân tích toàn bộ câu, N-gram chia nhỏ văn bản thành các chuỗi từ liên tiếp có độ dài N. Bằng cách thống kê số lần xuất hiện của các chuỗi này trong một dữ liệu corpus lớn, mô hình có thể "học" được các quy tắc ngầm của ngôn ngữ và tính toán xác suất cho các chuỗi từ mới.

1.2. Vai trò của N gram trong xử lý ngôn ngữ tự nhiên tiếng Việt

Đối với NLP tiếng Việt, N-gram đóng vai trò nền tảng trong việc giải quyết các bài toán đặc thù. Do tính đơn âm tiết và hiện tượng đồng âm khác nghĩa, tiếng Việt không dấu tạo ra sự nhập nhằng lớn. Mô hình thống kê N-gram giúp giải quyết vấn đề này bằng cách tính toán xác suất của các phương án thêm dấu khác nhau và chọn ra phương án hợp lý nhất dựa trên ngữ cảnh. Luận văn của Cao Đức Tư nhấn mạnh, N-gram là một phương pháp hiệu quả cho bài toán Vietnamese diacritic restoration (phục hồi dấu tiếng Việt). Ngoài ra, mô hình này còn được ứng dụng rộng rãi trong các hệ thống gợi ý từ (word suggestion), kiểm tra lỗi chính tả, và là một thành phần quan trọng trong các hệ thống dịch máy thống kê, giúp chuẩn hóa dữ liệu văn bản đầu vào.

II. Thách thức với văn bản không dấu và tại sao cần phục hồi dấu

Sự phổ biến của các phương tiện giao tiếp điện tử như SMS, chat đã làm gia tăng lượng văn bản tiếng Việt không dấu. Mặc dù con người có thể suy luận ý nghĩa dựa vào ngữ cảnh, máy tính lại gặp rất nhiều khó khăn. Một từ không dấu có thể tương ứng với nhiều từ có dấu khác nhau, dẫn đến tình trạng nhập nhằng ngữ nghĩa nghiêm trọng. Ví dụ, "ma" có thể là "má", "mà", "mạ", "mã". Khi ghép thành câu, độ phức tạp tăng theo cấp số nhân. Tình trạng này gây cản trở lớn cho các ứng dụng xử lý ngôn ngữ tự nhiên như dịch máy, phân tích cú pháp, hay tìm kiếm thông tin. Một hệ thống dịch tự động sẽ cho ra kết quả rất thấp nếu đầu vào là văn bản không dấu. Do đó, bài toán phục hồi dấu tiếng Việt không chỉ là một tiện ích cho người dùng mà còn là bước tiền xử lý quan trọng, giúp chuẩn hóa dữ liệu văn bản để các hệ thống học máy khác có thể hoạt động chính xác. Giải quyết được bài toán này sẽ nâng cao đáng kể chất lượng và hiệu quả của toàn bộ hệ sinh thái NLP tiếng Việt.

2.1. Phân tích sự nhập nhằng trong tiếng Việt không dấu

Sự nhập nhằng (ambiguity) là thách thức lớn nhất khi xử lý văn bản tiếng Việt không dấu. Vấn đề này xuất phát từ bản chất của chữ Quốc ngữ: dấu thanh điệu và dấu phụ trên nguyên âm mang thông tin ngữ nghĩa quan trọng. Khi các dấu này bị loại bỏ, một từ gốc có thể biến thành nhiều khả năng khác nhau. Ví dụ, từ "hoa" có thể là "hòa" hoặc "họa". Trong câu "truong hoc", nó có thể là "trường học" hoặc "trướng hộc". Đối với các hệ thống tự động, việc lựa chọn đúng ngữ nghĩa đòi hỏi phải phân tích ngữ cảnh của cả câu. Đây là lúc các mô hình ngôn ngữ như N-gram phát huy tác dụng bằng cách tính toán xác suất của từng chuỗi từ có thể có, giúp máy tính đưa ra quyết định gần với cách con người suy luận nhất.

2.2. Tầm quan trọng của việc chuẩn hóa dữ liệu văn bản đầu vào

Trong các hệ thống học máy và NLP, chất lượng dữ liệu đầu vào quyết định trực tiếp đến hiệu suất của mô hình. Văn bản không dấu được xem là dữ liệu nhiễu, làm giảm độ chính xác của các tác vụ như phân loại văn bản, phân tích cảm xúc hay dịch thuật. Việc chuẩn hóa dữ liệu văn bản thông qua quá trình phục hồi dấu tiếng Việt là một bước tiền xử lý thiết yếu. Một khi văn bản được thêm dấu chính xác, nó sẽ trở nên rõ ràng và đơn nghĩa hơn, cho phép các thuật toán NLP tiếng Việt hoạt động trên một nền tảng dữ liệu sạch. Điều này đặc biệt quan trọng khi xây dựng mô hình ngôn ngữ lớn, nơi mà dữ liệu huấn luyện cần phải nhất quán và chính xác để mô hình có thể học được các mẫu hình ngôn ngữ một cách hiệu quả.

III. Phương pháp N gram hoạt động để thêm dấu tiếng Việt ra sao

Nguyên lý hoạt động của N-gram trong bài toán thêm dấu tiếng Việt dựa trên việc tính toán xác suất của các chuỗi từ. Khi nhận một câu không dấu, hệ thống sẽ sinh ra tất cả các phương án có dấu khả thi. Ví dụ, với cụm "di an com", các phương án có thể là "đi ăn cơm", "dĩ an cơm", "di an cốm",... Sau đó, mô hình ngôn ngữ N-gram sẽ tính xác suất cho từng phương án. Xác suất của một câu được tính bằng tích các xác suất có điều kiện của từng từ trong câu đó. Cụ thể, mô hình sẽ sử dụng các thống kê về unigram (xác suất của một từ), bigram (xác suất một từ đi sau một từ khác), và trigram (xác suất một từ đi sau một cụm hai từ) để đánh giá. Phương án nào có xác suất tổng thể cao nhất sẽ được chọn làm kết quả cuối cùng. Quá trình này mô phỏng khả năng phán đoán của con người dựa trên kinh nghiệm ngôn ngữ: chúng ta biết "đi ăn cơm" là cụm từ phổ biến và hợp lý hơn nhiều so với "dĩ an cơm". Để tìm kiếm chuỗi có xác suất cao nhất một cách hiệu quả, các hệ thống thường áp dụng thuật toán Viterbi.

3.1. Nguyên tắc thống kê tần suất và xác suất có điều kiện

Thống kê tần suất là trái tim của mô hình N-gram. Để xây dựng mô hình ngôn ngữ, cần một tập dữ liệu corpus (văn bản huấn luyện) đủ lớn. Mô hình sẽ đếm tần suất xuất hiện của tất cả các cụm N-gram (ví dụ: các cụm 1 từ, 2 từ, 3 từ). Từ đó, xác suất có điều kiện được tính theo công thức Maximum Likelihood Estimation (MLE). Ví dụ, xác suất của từ "cơm" xuất hiện sau từ "ăn" (mô hình bigram) được tính bằng: P(cơm|ăn) = Số lần xuất hiện cụm ("ăn cơm") / Số lần xuất hiện từ ("ăn"). Công thức này, được gọi là "xác suất thô" trong luận văn, cho phép mô hình định lượng mức độ liên kết giữa các từ, tạo cơ sở để đánh giá và lựa chọn phương án thêm dấu chính xác nhất.

3.2. So sánh Unigram Bigram và Trigram trong thực tiễn

Các mô hình N-gram khác nhau về độ dài ngữ cảnh mà chúng xem xét. Unigram (1-gram) chỉ xét xác suất của từng từ độc lập, không có ngữ cảnh, do đó kém chính xác nhất. Bigram (2-gram) xét ngữ cảnh một từ phía trước, cải thiện đáng kể độ chính xác. Ví dụ, P(học | trường) sẽ cao hơn P(hộc | trường). Trigram (3-gram) xét ngữ cảnh hai từ, cho kết quả chính xác hơn nữa, vì nó nắm bắt được các cấu trúc ngữ pháp phức tạp hơn. Tuy nhiên, việc tăng giá trị N cũng làm tăng độ thưa của dữ liệu (nhiều cụm N-gram không xuất hiện trong corpus) và yêu cầu bộ nhớ lớn hơn. Nghiên cứu của Cao Đức Tư cho thấy, khi kích thước dữ liệu huấn luyện tăng, số lượng các cụm bigramtrigram tăng lên nhanh chóng, đòi hỏi các kỹ thuật xử lý hiệu quả.

IV. Bí quyết tối ưu mô hình N gram Các phương pháp làm mịn dữ liệu

Một trong những thách thức lớn nhất khi xây dựng mô hình ngôn ngữ N-gram là vấn đề dữ liệu thưa (data sparsity). Điều này xảy ra khi nhiều cụm N-gram hợp lệ không xuất hiện trong tập dữ liệu huấn luyện, dẫn đến xác suất của chúng bị gán bằng 0. Nếu một câu kiểm tra chứa một cụm từ chưa từng thấy này, xác suất của cả câu sẽ bằng 0, ngay cả khi câu đó hoàn toàn đúng. Để giải quyết vấn đề này, các kỹ thuật "làm mịn" (Smoothing) được áp dụng. Mục đích của làm mịn là phân phối lại một phần xác suất từ các cụm N-gram đã thấy cho các cụm chưa thấy. Bằng cách này, không có cụm từ nào có xác suất bằng 0 tuyệt đối. Các phương pháp làm mịn giúp mô hình trở nên tổng quát hơn và hoạt động tốt hơn với dữ liệu mới. Theo tài liệu nghiên cứu, có nhiều thuật toán làm mịn khác nhau, từ đơn giản như Add-one cho đến phức tạp hơn như Witten-Bell, Good-Turing hay Kneser-Ney, mỗi phương pháp có ưu và nhược điểm riêng trong việc cải thiện độ chính xác của mô hình thống kê.

4.1. Kỹ thuật Chiết khấu Discounting Add one và Good Turing

Các thuật toán chiết khấu hoạt động bằng cách giảm một lượng nhỏ xác suất của các N-gram đã xuất hiện để dành phần đó cho các N-gram chưa xuất hiện. Phương pháp Add-one (cộng 1) là kỹ thuật đơn giản nhất, cộng một giá trị nhỏ (thường là 1) vào tần suất của tất cả các N-gram, kể cả những cụm chưa từng thấy. Tuy đơn giản nhưng nó có thể làm thay đổi đáng kể phân bố xác suất gốc. Thuật toán Good-Turing là một phương pháp tinh vi hơn, ước tính tổng xác suất của các N-gram có tần suất bằng 0 dựa trên số lượng các N-gram chỉ xuất hiện một lần. Kỹ thuật này được đánh giá là hiệu quả hơn trong việc tái phân bổ xác suất mà không làm sai lệch nhiều mô hình gốc.

4.2. Phương pháp Truy hồi Back off và Nội suy Interpolation

Thay vì chỉ điều chỉnh tần suất, các phương pháp này kết hợp thông tin từ các N-gram bậc thấp hơn. Phương pháp Truy hồi (Back-off) hoạt động theo nguyên tắc: nếu một trigram không có trong dữ liệu huấn luyện, mô hình sẽ "truy hồi" về mô hình bigram để ước tính xác suất. Nếu bigram cũng không có, nó sẽ tiếp tục truy hồi về unigram. Phương pháp Nội suy (Interpolation) thì khác, nó luôn tính toán xác suất của một N-gram bằng cách kết hợp có trọng số xác suất từ tất cả các mô hình bậc thấp hơn (ví dụ: xác suất trigram được tính bằng tổ hợp của xác suất từ trigram, bigram và unigram). Các phương pháp này đảm bảo mô hình có thể xử lý mọi chuỗi từ, ngay cả khi các cụm từ dài chưa từng xuất hiện.

V. Xây dựng hệ thống thêm dấu tự động Từ lý thuyết đến thực tiễn

Việc áp dụng lý thuyết N-gram vào thực tiễn để xây dựng mô hình ngôn ngữ cho bài toán thêm dấu tiếng Việt đòi hỏi một quy trình bài bản. Đầu tiên là thu thập và xử lý một dữ liệu corpus khổng lồ. Luận văn của Cao Đức Tư đã sử dụng dữ liệu từ các trang báo mạng, với dung lượng lên tới hàng trăm megabyte. Dữ liệu này sau đó phải được chuẩn hóa dữ liệu văn bản: tách câu, tách từ (sử dụng các công cụ như vnTokenizer), và làm sạch. Bước tiếp theo là sử dụng một bộ công cụ chuyên dụng như SRILM để thống kê tần suất các unigram, bigram, trigram và xây dựng mô hình N-gram hoàn chỉnh, có áp dụng các kỹ thuật làm mịn. Khi mô hình đã sẵn sàng, nó có thể được tích hợp vào một ứng dụng. Ứng dụng này nhận đầu vào là văn bản không dấu, tạo ra các ứng viên có dấu và dùng mô hình N-gram để chấm điểm xác suất cho từng ứng viên. Cuối cùng, hệ thống sẽ trả về chuỗi có xác suất cao nhất, đây chính là kết quả phục hồi dấu tiếng Việt được dự đoán là chính xác nhất.

5.1. Quy trình thu thập và xử lý dữ liệu corpus tiếng Việt

Chất lượng của một mô hình ngôn ngữ phụ thuộc lớn vào chất lượng và quy mô của dữ liệu corpus. Quá trình này bắt đầu bằng việc thu thập văn bản từ nhiều nguồn đa dạng (báo chí, sách, văn bản luật...) để đảm bảo độ phủ ngôn ngữ. Sau đó, dữ liệu thô phải trải qua các bước tiền xử lý quan trọng. Thứ nhất là tách câu, xác định ranh giới các câu độc lập. Thứ hai là tách từ, một bước đặc biệt quan trọng cho tiếng Việt vì ranh giới từ không được phân định bằng khoảng trắng. Các công cụ như vnTokenizer được sử dụng để thực hiện tác vụ này. Cuối cùng là chuẩn hóa văn bản, bao gồm việc chuyển đổi về chữ thường, loại bỏ các ký tự đặc biệt và xử lý các định dạng không nhất quán. Một corpus sạch và được cấu trúc tốt là tiền đề cho một mô hình N-gram mạnh mẽ.

5.2. Công cụ SRILM và vai trò trong việc xây dựng mô hình N gram

SRILM (The SRI Language Modeling Toolkit) là một bộ công cụ mã nguồn mở mạnh mẽ và phổ biến, được thiết kế chuyên cho việc xây dựng mô hình ngôn ngữ thống kê. Trong nghiên cứu được đề cập, SRILM được sử dụng để thực hiện các nhiệm vụ chính. Chương trình ngram-count của nó có khả năng đọc một dữ liệu corpus lớn, thống kê tần suất của tất cả các cụm N-gram (từ unigram đến N-gram bậc cao hơn), và áp dụng các phương pháp làm mịn phức tạp như Good-Turing, Kneser-Ney. Kết quả là một tệp mô hình ngôn ngữ chứa xác suất (thường ở dạng logarit) và trọng số truy hồi của các N-gram. Tệp mô hình này sau đó có thể được chương trình ngram sử dụng để tính toán độ hỗn loạn (perplexity) hoặc xác suất của một văn bản mới, phục vụ trực tiếp cho bài toán phục hồi dấu tiếng Việt.

22/09/2025

Trích đoạn nội dung tài liệu

Đặt vấn đề: 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[13]. 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 rất sâu sắc về ngôn ngữ học.

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[8],[13]. Nói một cách đơ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à có xác suất sinh ra là bao nhiêu.1: Khi áp dụng mô hình ngôn ngữ cho tiếng Việt, ta có thể có một kết quả có dạng tƣơng tự nhƣ sau: P[“ngày mai trời sẽ mưa”] ~ 0.001 P[“trời mưa sẽ mai ngày”] ~ 0 Với các vấn đề của xử lí ngôn ngữ tự nhiên, việc sử dụng các mô hình ngôn ngữ để xác định xác suất xẩy ra nhƣ trên sẽ giúp giới hạn lại không gian tìm kiếm, để có thể tìm ra các giải pháp tốt nhất trong một khoảng thời gian đủ ngắn. Cốt lõi nhất của các phƣơng pháp để máy tính xử lý ngôn ngữ tự nhiên chính là việc xây dựng mô hình ngôn ngữ, mà ngày nay ngƣời ta thƣờng dùng ở dạng mô hình thống kê. 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à Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.vn 13 cụm từ có trong các văn bản.

Trong các mô hình ngôn ngữ tiếng nói, thì N- gram là một trong số những mô hình đƣợc sử dụng rộng rãi nhất. Mục tiêu của luận văn, là nghiên cứu nắm bắt đƣợc những vấn đề cốt lõi của mô hình ngôn ngữ N-gram, đặc biệt là các kỹ thuật làm trơn các phân bố xác suất thống kê (Smoothing techniques), nhằm nâng cao chất lƣợng về lƣợng giá xác suất bởi mô hình. Ngoài ra, luận văn hƣớng tới việc đƣa ra một ứng dụng cụ thể của mô hình này cho tiếng Việt, mà cụ thể là bài toán thêm dấu cho văn bản tiếng Việt không dấu. Dấu là một thành phần không thể thiếu và mang những thông tin, nội dung quan trọng của văn bản tiếng Việt.

Chúng không là mẫu tự mà là một phần của mẫu tự. Tuy nhiên có rất nhiều trƣờng hợp mà ngƣời sử dụng đã loại bỏ các thành phần này, chẳng hạn trong các tin nhắn SMS qua điện thoại, các liên lạc kiểu thƣ điện tử, chat, … Khái niệm dấu ở đây không chỉ giới hạn với 5 ký hiệu về dấu thanh điệu đƣợc thể hiện trong chữ Việt để thể hiện cho sáu loại thanh điệu khác nhau: ngang, huyền, ngã, hỏi, sắc, và nặng. Mà hơn thế nữa, nó còn bao gồm các nhiều dấu phụ trợ cho 5 nguyên âm không dấu: a, i, u, e, o để tạo lập các ký tự đủ đa dạng cho việc ký âm các nguyên âm tiếng Việt, a ă â e ê i o ô ơ u ƣ y. Ngoài ra chữ Việt có thêm dấu gạch trên đầu d để ký âm cho một phụ âm khác là đ.

Trong đa số trƣờng hợp, ngƣời đọc văn bản phải nội suy đƣợc dấu tƣơng ứng của các đoạn văn không dấu, cố gắng hiểu đƣợc ý nghĩa chuyển tải của mỗi đoạn văn dựa theo ngữ cảnh của cả văn bản. Đối với các hệ thống xử lí văn bản tự động thì đây chính là một nhập nhằng rất khó giải quyết, đặc biệt là các hệ thống phân tích cú pháp, hệ thống tìm kiếm, hệ thống dịch tự động, … Đề tài này sẽ tập trung vào một phƣơng pháp cơ bản là sử dụng mô hình ngôn ngữ N-gram để tính toán các khả năng thêm giấu với xác suất cao nhất, giúp máy tính tự động thêm dấu cho các văn bản không dấu tiếng Việt. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.Mục tiêu: 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ục tiêu chính của luận văn là tìm hiểu lý thuyết về mô hình N-gram và các vấn đề trong đó, đặc biệt là các phƣơng pháp làm mịn. Về thực nghiệm, luận văn có sử dụng bộ công cụ SRILM để xây dựng mô hình ngôn ngữ cho tiếng Việt với các phƣơng pháp làm mịn khác nhau. Bằng việc áp dụng các mô hình ngôn ngữ khác nhau đó vào bài toán thêm dấu cho tiếng Việt không dấu, và chỉ ra đƣợc phƣơng pháp làm mịn nào là tốt nhất khi áp dụng cho mô hình ngôn ngữ tiếng Việt.Cấu trúc của luận văn: Sau phần giới thiệu chung và mục tiêu nghiên cứu đƣợc trình bày ở Chƣơng 1, phần còn lại của Luận văn đƣợc cấu trúc nhƣ sau: Chƣơng 2: Nghiên cứu các vấn đề của mô hình ngôn ngữ N-gram, các sự cố gặp phải và cách khắc phục trong việc xây dựng tối ƣu mô hình N-gram. Chƣơng 3: Luận văn tập trung vào việc mô tả thực nghiệm, bao gồm công việc xây dựng và cài đặt những chƣơng trình hỗ trợ việc xây dựng đƣợc mô hình ngôn ngữ.

và các kết quả đạt đƣợc. Chƣơng 4: Tập trung vào việc áp dụng mô hình ngôn ngữ trong bài toán thêm dấu cho tiếng Việt không dấu. Chƣơng 5: Tổng kết những gì luận văn đã đạt đƣợc và đƣa ra kế hoạch nghiên cứu trong tƣơng lai. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.vn 15 CHƢƠNG 2: MÔ HÌNH NGÔN NGỮ N-GRAM 2.Giới thiệu chung Mô hình ngôn ngữ thống kê cho phép gán (ƣớc lƣợng) xác suất cho một chuỗi m phần tử (thƣờng là từ) P(w1w2…wm) tức là cho phép dự đoán khả năng một chuỗi từ xuất hiện trong ngôn ngữ đó.

Theo công thức Bayes: P(AB) = P(B|A) * P(A), thì ta dễ dàng suy ra đƣợc. Theo công thức này thì bài toán tính xác suất của mỗi chuỗi từ quy về bài toán tính xác suất của một từ với điều kiện biết các từ trƣớc nó (có thể hiểu P(w1)=P(w1|start) là xác suất để w1 đứng đầu chuỗi hay nói cách khác ngƣời ta có thể đƣa thêm ký hiệu đầu dòng start vào mỗi chuỗi). Trong thực tế, dựa vào giả thuyết Markov ngƣời ta chỉ tính xác suất của một từ dựa vào nhiều nhất N từ xuất hiện liền trƣớc nó, và thông thƣờng N=0,1,2,3. Vì vậy nhiều ngƣời gọi mô hình ngôn ngữ là mô hình N-gram, trong đó N là số lƣợng từ ( bao gồm cả từ cần tính và các từ ngữ cảnh phía trƣớc).

Theo công thức Bayes, mô hình ngôn ngữ cần phải có một lƣợng bộ nhớ vô cùng lớn để có thể lƣu hết xác suất của tất cả các chuỗi độ dài nhỏ hơn m. Rõ ràng, điều này là không thể khi m là độ dài của các văn bản ngôn ngữ tự nhiên (m có thể tiến tới vô cùng). Để 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(wm|w1,w2,…, wm-1) = P(wm|wm-n,wn-m+1, …,wm-1). Nếu áp dụng xấp xỉ Markov, xác suất xuất hiện của một từ (wm) đƣợc coi nhƣ chỉ phụ thuộc vào n từ đứng liền trƣớc nó (wm-nwm-n+1…wm-1) chứ không phải phụ thuộc vào toàn bộ dãy từ đứng trƣớc (w1w2…wm-1).

Nhƣ vậy, công thức tính xác suất văn bản đƣợc tính lại theo công thức: P(w1w2…wm) = P(w1) * P(w2|w1) * P(w3|w1w2) *… * P(wm-1|wm-n-1wm-n …wm-2)* P(wm|wm-nwm-n+1…wm-1). Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.vn 16 Với công thức này, ta có thể xây dựng mô hình ngôn ngữ dựa trên việc thống kê các cụm có ít hơn n+1 từ. Các mô hình N-gram đƣợc hình dung thông qua ví dụ nhƣ sau: Ví dụ 2.1: Giả sử cần tính xác suất p=P(nên | không thầy đố mày làm):  Mô hình 1-Gram(unigram )tính xác suất của một từ mà không phụ thuộc vào các từ trƣớc nó, tức là không có ngữ cảnh: p=P(nên)  Mô hình 2-Gram(bigram ) tính xác suất của một từ dựa vào một từ trƣớc nó: p=P(nên|mày)  Mô hình 3-Gram(trigram ) tính xác suất của một từ dựa vào hai từ trƣớc nó: p=P(nên|mày làm) 2.Cô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.

Ta có công thức tính xác suất nhƣ sau: C(wi-n+1.wi-1wi) P(wi|wi-n+1.wi-1w) w Dễ thấy,  C(wi-n+1.wi-1w) chính là tần số xuất hiện của cụm wi-n+1.wi-1 w trong văn bản huấn luyện. Do đó công thức trên viết lại thành: C(wi-n+1.wi-1wi) P(wi|wi-n+1.wi-1) Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.vn 17 Tỉ lệ ở vế phải còn gọi là tỉ lệ tần số. Cách tính xác suất dựa vào tỉ lệ tần số còn gọi là ƣớc lƣợng xác suất cực đại. Cũng có thể gọi đây là công thức tính “xác suất thô” để phân biệt với các cách tính xác suất theo các thuật toán sẽ xét ở phần sau.Vần đề khó khăn khi xây dựng mô hình ngôn ngữ N-gram 2.Phân bố không đều Với mô hình N-gram đƣợc xây dựng theo công thức “xác suất thô”, sự phân bố không đều trong tập văn bản huấn luyện có thể dẫn đến các ƣớc lƣợng không chính xác.

Khi các n-gram phân bố thƣa, nhiều cụm n-gram không xuất hiện hoặc chỉ có số lần xuất hiện nhỏ, việc ƣớc lƣợng xác suất để đánh giá các câu có chứa các cụm n-gram này sẽ cho ta một kết quả không tốt. Với V là kích thƣớc bộ từ vựng, ta sẽ có V cụm n-gram có thể sinh từ bộ từ vựng. Tuy nhiên, thực tế thì số cụm n-gram có nghĩa và thƣờng gặp chỉ chiếm rất ít.2: Tiếng Việt có số lƣợng âm tiết nhiều hơn con số mà ở đây ta tạm đặt là 5000 âm tiết khác nhau, ta có tổng số cụm 3-gram có thể có là: 5. Tuy nhiên, số cụm 3-gram thống kê đƣợc chỉ xấp xỉ 1.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ