Luận Văn Thạc Sĩ: Bắt Lỗi Chính Tả Bằng Phương Pháp Transformer Trong Khoa Học Máy Tính

Khám phá phương pháp Transformer để bắt lỗi chính tả trong khoa học máy tính, nâng cao độ chính xác và hiệu quả xử lý ngôn ngữ tự nhiên.

Trường đại học

Đại học Quốc gia TP. HCM

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ĩ

2020

50
3
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới thiệu đề tài

Trong thời đại công nghệ 4.0, việc phát hiện và sửa lỗi chính tả trở thành một nhu cầu thiết yếu trong các ứng dụng xử lý văn bản. Hệ thống tự động phát hiện lỗi chính tả có khả năng nhận diện các từ không chính xác và đề xuất các từ thay thế phù hợp. Tuy nhiên, việc phát hiện lỗi chính tả trong tiếng Việt gặp nhiều thách thức do sự phức tạp của ngôn ngữ. Các phương pháp truyền thống như tra cứu từ điển hay phân tích n-gram thường không đủ hiệu quả. Do đó, việc áp dụng phương pháp transformer trong việc phát hiện và sửa lỗi chính tả là một hướng đi mới, hứa hẹn mang lại kết quả khả quan hơn. Mô hình transformer, với khả năng xử lý ngữ cảnh tốt hơn, có thể giúp cải thiện độ chính xác trong việc phát hiện lỗi chính tả.

1.1 Mục tiêu của đề tài

Mục tiêu chính của đề tài là nghiên cứu và phát triển một mô hình học sâu dựa trên phương pháp transformer để phát hiện và sửa lỗi chính tả trong tiếng Việt. Mô hình này sẽ kết hợp các kỹ thuật hiện đại như học sâuxử lý ngôn ngữ tự nhiên để tạo ra một hệ thống có khả năng tự động phát hiện và sửa lỗi chính tả một cách hiệu quả. Đề tài cũng hướng đến việc xây dựng một tập dữ liệu huấn luyện cho mô hình, nhằm đảm bảo tính chính xác và khả năng áp dụng trong thực tế.

II. Công trình liên quan

Nghiên cứu về bắt lỗi chính tả đã được thực hiện qua nhiều phương pháp khác nhau. Các phương pháp truyền thống như tra cứu từ điển và phân tích n-gram đã được áp dụng rộng rãi, nhưng vẫn còn nhiều hạn chế. Việc sử dụng mạng nơ-ron và các phương pháp học sâu đã mở ra hướng đi mới cho bài toán này. Các nghiên cứu gần đây cho thấy rằng mô hình sequence-to-sequence kết hợp với kỹ thuật attention có thể cải thiện đáng kể độ chính xác trong việc phát hiện và sửa lỗi chính tả. Đặc biệt, mô hình BERT cũng đã chứng minh được hiệu quả của nó trong nhiều tác vụ xử lý ngôn ngữ tự nhiên, mở ra cơ hội cho việc áp dụng trong lĩnh vực này.

2.1 Phương pháp phát hiện lỗi chính tả

Phương pháp phát hiện lỗi chính tả thường bắt đầu bằng việc trích xuất các từ có khả năng không chính xác từ chuỗi đầu vào. Hai kỹ thuật phổ biến là tra cứu từ điển và phân tích n-gram. Tra cứu từ điển yêu cầu một kho ngữ liệu phong phú và thường xuyên được cập nhật. Trong khi đó, phân tích n-gram cho phép ước lượng xác suất cho một chuỗi từ, nhưng cũng gặp khó khăn trong việc xử lý các từ không có trong từ điển. Do đó, việc áp dụng phương pháp transformer có thể giúp cải thiện khả năng phát hiện lỗi chính tả nhờ vào khả năng xử lý ngữ cảnh tốt hơn.

III. Cơ sở lý thuyết

Mô hình transformer đã trở thành một trong những kiến trúc phổ biến nhất trong lĩnh vực xử lý ngôn ngữ tự nhiên. Kiến trúc này bao gồm hai phần chính: encoder và decoder, cho phép xử lý thông tin một cách hiệu quả. Kỹ thuật self-attention trong transformer giúp mô hình tập trung vào các phần quan trọng của đầu vào, từ đó cải thiện khả năng hiểu ngữ cảnh. Việc áp dụng mô hình BERT trong bài toán phát hiện và sửa lỗi chính tả cũng cho thấy tiềm năng lớn, nhờ vào khả năng học từ ngữ cảnh rộng hơn. Những nghiên cứu này đã mở ra hướng đi mới cho việc phát triển các hệ thống tự động sửa lỗi chính tả trong tiếng Việt.

3.1 Kiến trúc Transformer

Kiến trúc transformer được thiết kế để xử lý các chuỗi dữ liệu một cách hiệu quả mà không cần sử dụng mạng nơ-ron hồi quy. Điều này giúp giảm thiểu thời gian tính toán và tăng cường khả năng xử lý song song. Kỹ thuật attention cho phép mô hình xác định các phần quan trọng trong đầu vào, từ đó cải thiện độ chính xác trong việc phát hiện và sửa lỗi chính tả. Việc áp dụng transformer trong bài toán này không chỉ giúp cải thiện hiệu suất mà còn mở ra nhiều cơ hội nghiên cứu mới trong lĩnh vực xử lý ngôn ngữ tự nhiên.

IV. Phương pháp đề xuất

Đề tài nghiên cứu xây dựng một mô hình học sâu để phát hiện và sửa lỗi chính tả trong tiếng Việt. Mô hình này sẽ sử dụng kiến trúc transformer kết hợp với các kỹ thuật học sâu khác. Đầu tiên, tập dữ liệu sẽ được thu thập và xử lý để tạo ra các ví dụ về lỗi chính tả. Sau đó, mô hình sẽ được huấn luyện để nhận diện và sửa các lỗi này. Việc áp dụng phương pháp transformer trong mô hình sẽ giúp cải thiện khả năng phát hiện lỗi nhờ vào khả năng xử lý ngữ cảnh tốt hơn. Kết quả của mô hình sẽ được đánh giá dựa trên các tiêu chí như độ chính xác và khả năng áp dụng trong thực tế.

4.1 Xây dựng tập dữ liệu

Tập dữ liệu là yếu tố quan trọng trong việc phát triển mô hình học sâu. Để xây dựng tập dữ liệu cho bài toán bắt lỗi chính tả, cần thu thập các văn bản tiếng Việt chuẩn và tự động tạo ra các lỗi chính tả. Việc này sẽ giúp mô hình có đủ dữ liệu để học và cải thiện khả năng phát hiện lỗi. Các phương pháp như tạo lỗi ngẫu nhiên hoặc sử dụng các quy tắc ngữ pháp có thể được áp dụng để tạo ra các ví dụ phong phú cho mô hình. Tập dữ liệu này sẽ là cơ sở cho việc huấn luyện và đánh giá mô hình trong các bước tiếp theo.

V. Thực nghiệm và đánh giá

Sau khi xây dựng mô hình, các thử nghiệm sẽ được thực hiện để đánh giá hiệu quả của mô hình trong việc phát hiện và sửa lỗi chính tả. Các tiêu chí đánh giá sẽ bao gồm độ chính xác, độ phủ và thời gian xử lý. Kết quả thực nghiệm sẽ được so sánh với các phương pháp truyền thống để xác định hiệu quả của mô hình. Việc áp dụng phương pháp transformer trong bài toán này hứa hẹn sẽ mang lại những kết quả khả quan, mở ra hướng đi mới cho việc phát triển các hệ thống tự động sửa lỗi chính tả trong tiếng Việt.

5.1 Tiêu chí đánh giá

Để đánh giá hiệu quả của mô hình, các tiêu chí như độ chính xác, độ phủ và thời gian xử lý sẽ được sử dụng. Độ chính xác đo lường khả năng của mô hình trong việc phát hiện và sửa lỗi chính tả đúng cách. Độ phủ cho biết tỷ lệ các lỗi được phát hiện so với tổng số lỗi có trong tập dữ liệu. Thời gian xử lý là yếu tố quan trọng trong việc đánh giá khả năng áp dụng của mô hình trong thực tế. Kết quả đánh giá sẽ giúp xác định tính khả thi và hiệu quả của mô hình trong việc phát hiện và sửa lỗi chính tả.

09/02/2025

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

Chương 1 giới thiệu khái quát về đề tài. Chương 2 giới thiệu các công trình nghiên cứu liên quan, các hướng giải quyết cho bài toán phát hiện và sửa lỗi chính tả. Chương 3 cung cấp một số cơ sở lý thuyết đặt nền móng cho các mô hình được đề xuất trong chương 4. Chương 5 là các kết quả thực nghiệm các chỉ tiêu đánh giá, kết quả đánh giá của các phương pháp và phân tích, nhận xét các kết quả đó.

Cuối cùng là phần kết luận về luận văn và trình bày hướng phát triển trong tương lai. 5 CHƯƠNG 2: CÔNG TRÌNH LIÊN QUAN Luận văn nghiên cứu các công trình hiện nay về tự động sửa lỗi chính tả để xác định phương pháp ứng dụng cho đề tài.1 trình bày tóm tắt các giải thuật, kỹ thuật được áp dụng để phát hiện lỗi chính tả trong văn bản.2 trình bày các kỹ thuật sửa lỗi chính tả được sử dụng hiện nay.1 Phương pháp phát hiện lỗi chính tả Trong hầu hết các hệ thống, trước khi thực hiện bất kỳ thao tác tự động sửa lỗi hay đề xuất từ thay thế đều thực hiện bước trích xuất các từ có khả năng không chính xác của chuổi đầu vào. Hai kỹ thuật phổ biến được dùng để phát hiện lỗi chính tả trong văn bản là tra cứu từ điển và phân tích n-gram.1 Phương pháp tra cứu từ điển Tra cứu từ điển là một trong những kỹ thuật cơ bản được sử dụng để so sánh các chuỗi đầu vào với các mục trong kho ngữ liệu. Từ điển phải chứa tất cả các biến thể của các từ và cần được cập nhật thường xuyên.

Nếu không tìm thấy một từ trong từ điển, sẽ được hiểu từ đó có khả năng bị lỗi chính tả. Thách thức của phương pháp này là cần phải giảm kích thước lưu trữ và cải thiện hiệu suất tìm kiếm, bằng cách phân tích hình thái và thuật toán khớp mẫu (ví dụ: băm, cây tìm kiếm.2 Phương pháp phân tích n-gram N-gram là mô hình thống kê P(w1w2…wm), cho phép ước lượng xác suất cho một chuỗi m phần tử (ký tự hoặc từ) 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 xác suất có điều kiện: 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ó.

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 6 nhất N từ xuất hiện liền trước nó, và thông thường N=1,2,3,4. Vì vậy phương pháp này có tên gọi mô hình N-gram, trong đó N là số lượng phần tử (bao gồm cả phần tử cần tính và các phần tử liền 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 ,wm-n+1, …,wm-1) Nghĩa là 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ó chứ không xét toàn bộ dãy từ đứng trước. 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: # 𝑃 (𝑤! 𝑤". 𝑤$%! ) $&! Cách tính xác xuất đơn giãn nhất là ước lượng xác suất cực đại (Maximum Likelihood Estimation - MLE), được tính theo công thức sau 𝐶(𝑤$%'(! .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. Đối với nhiệm vụ phát hiện lỗi, phân tích n-gram ước tính khả năng câu đầu vào được viết đúng chính tả hay không.

Để thực hiện điều này, một thống kê n-gram được tính toán trước từ kho ngữ liệu phụ vụ cho tác vụ so sánh sau này. Giá trị của n được chọn phụ thuộc vào kích thước của tập huấn luyện.2 Phương pháp sửa lỗi chính tả Tác vụ sửa lổi chính tả có thể định nghĩa là quá trình hiệu chỉnh chuổi N phần tử S=s1.sN thành chuổi M phần tử T=t1. Như vậy, bất kỳ hệ thống sửa lỗi chính tả nào cũng có thể xem như hàm MC như sau: 𝑇+ = 𝑀𝐶(𝑆), nó trả về một chuổi dự đoán 𝑇+ tương ứng với chuổi đầu vào S. Do đó, ta có thể coi sửa lỗi chính tả là tương đương với dịch máy đơn ngôn ngữ (dịch từ văn bản sai chính tả sang văn bản đúng chính tả).

Sau đây chúng ta xem xét tổng quan một 7 số phương pháp sửa lỗi chính tả và phương phương pháp dịch máy dựa trên mạng nơ-ron có thể áp dụng cho tác vụ sửa lổi chính tả.1 Khoảng cách chỉnh sửa tối thiểu (Minimum edit distance) Khoảng cách chỉnh sửa tối thiểu là một trong những kỹ thuật được nghiên cứu nhiều nhất để sửa lỗi. Nó dựa trên việc đếm các thao tác chỉnh sửa (như chèn, xóa, thay thế và hoán vị) để chuyển đổi chuổi đầu vào không chính xác thành chuổi tối ưu nhất, tức là có khoảng cách chỉnh sửa ít nhất. Hamming[28], Jaro, Winkler[35], Wagner, Fischer[29], Damerau-Levenshtein[11] và Levenshtein [33] là những thuật toán khoảng cách chỉnh sửa nổi tiếng nhất.2 Khóa tương tự (Similarity key technique) Kỹ thuật khóa tương tự là một kỹ thuật khác để sửa lỗi, dựa trên việc phân loại các ký tự thành các nhóm có các khóa giống nhau. Khi một từ được phát hiện là có khả năng không chính xác, các ký tự của nó được ánh xạ vào các khóa được định sẵn để tất cả các từ khác trong tài nguyên ngôn ngữ có cùng khóa được đề xuất làm ứng viên sửa lỗi.

Các ứng cử viên sau đó được xếp hạng theo khoảng cách chỉnh sửa tối thiểu. Các thuật toán khác nhau đề xuất cách phân loại các nhóm khóa khác nhau cho các ký tự. Tuy nhiên, nhìn chung đều dựa trên vị trí và thứ tự của các ký tự trong các từ. Soundex[20], Metaphone[19], SPEEDCOP[15] và Caverphone [5] là những phương pháp phổ biến sử dụng kỹ thuật khóa tương tự.3 Kỹ thuật dựa trên luật (Rule-based techniques) Bằng cách phân tích các lỗi chính tả phổ biến nhất, một số nhà nghiên cứu đã cố gắng tạo ra một cơ sở kiến thức về lỗi cho nhiệm vụ sửa lỗi [10, 21, 32] bằng cách sử dụng các mô hình dựa trên quy tắc mã hóa kiến thức ngữ pháp.

Các quy tắc này thường dựa trên các đặc điểm hình thái của ngôn ngữ.4 Phương pháp xác suất (Probabilistic Techniques) Các phương pháp tiếp cận dựa trên mô hình xác suất thống kê được sử dụng cho các tác vụ dịch máy và sửa lỗi [3], sử dụng mô hình ngôn ngữ xác suất trên chuỗi các ký hiệu, ví dụ: ký tự và từ, mà đầu ra mong muốn có xác suất cao nhất theo các tham số 𝜃 cụ thể của mô hình. Do đó, ta có: 𝑇+ = 𝑎𝑟𝑔𝑚𝑎𝑥 𝑃(𝑇|𝑆; 𝜃), gọi là phương trình cơ bản của dịch máy (Fundamental Equation of Machine Translation)[27] Có nhiều hướng tiếp cận khác nhau để xây dựng mô hình xác suất. Một phương pháp phổ biến là mô hình ngôn ngữ log-linear [30], tính toán xác suất bằng cách tạo một vectơ đặc trưng, thể hiện ngữ cảnh bằng các đặc trưng khác nhau và sau đó tính toán một vectơ điểm tương ứng với khả năng của từng ký hiệu. Hơn nữa, các mạng xác suất phức tạp hơn cũng đã được giới thiệu [3, 7] để thực hiện mô hình xác suất.

Ví dụ, mô hình Markov ẩn (hidden Markov model - HMM) đã thể hiện khả năng có thể mô hình hóa ngôn ngữ của con người [4]. Tuy nhiên, vì các HMM giả định rằng các trạng thái chỉ phụ thuộc duy nhất vào trạng thái trước nó nên chúng không thích hợp để mô hình hóa các phụ thuộc xa. Hiện nay các kỹ thuật dựa trên học sâu sử dụng mạng nơ-ron, ví dụ RNN [1] đã khắc phục được hạn chế này.5 Phương pháp dựa trên học sâu (Deep Learning) Mạng nơ-ron nhân tạo cũng dựa trên phân phối xác suất của ngôn ngữ và chúng đã cho thấy thành công gần đây trong các ứng dụng khác nhau về xử lý ngôn ngữ tự nhiên. Trong phạm vi đề tài này tác giả tập trung nghiên cứu các kỹ thuật dịch máy dựa trên mạng nơ-ron, trong đó nổi bật là mô hình Sequence to Sequence (Seq2seq)[14] là một mô hình Deep Learning với mục đích tạo ra một chuỗi từ xuất ra (output sequence) từ một chuỗi từ nhập (input sequence) mà độ dài của hai chuỗi (sequences) này có thể khác nhau.

Seq2seq gồm hai phần chính là mã hóa (Encoder) và giải mã (Decoder). Cả hai thành phần này đều được hình thành từ các mạng Neural Networks, trong đó Encoder có nhiệm vụ tính toán vector đại diện cho câu đầu vào và bộ giải mã lần lượt tạo ra từng từ của câu mục tiêu dựa vào véc-tơ đã tạo ở Encoder. 9 Nhiều nghiên cứu gần đây đã đề xuất các kiến trúc khác nhau cho bộ Encoder và Decoder. Ví dụ Kalchbrenner và Blunom [24] đã sử dụng RNN cho decoder và mạng nơ ron tích chập (CNN) cho encoder.

Trong khi, Sutskever và cộng sự [14], Lương và cộng sự [23] lại sử dụng mạng bộ nhớ dài-ngắn (Long Short-Term Memory - LSTM) cho cả encoder và decoder. Còn Cho và cộng sự [18], Bahdanau và cộng sự [9], Jean và cộng sự [31] đều sử dụng kiến trúc GRU (Gated Recurrent Unit) cho cả encoder và decoder.1 minh họa mô hình Sequence to sequence, đầu vào là chuổi x = (x1,x2,.xT), trong Encoder véc-tơ đơn vị ẩn cuối cùng hT được dùng để tính vector ngữ cảnh c, ví dụ Encoder sử dụng LSTM và hàm tanh được tính như sau: ht = LSTM(xt, ht-1), c = tanh(hT), trong đó ht là giá trị đơn vị ẩn ở thời điềm t. Vector c lại được truyền tiếp cho Decoder làm đầu vào, tại đây hàm softmax được sử dụng để chuẩn hóa phân phối xác suất cho đầu ra ot. Sau đó, đầu ra softmax cũng sẽ được sử dụng để tính toán hàm lỗi.1: Mô hình Sequence to Sequence Mô hình seq2seq cơ bản có nhược điểm là yêu cầu Decoder sử dụng toàn bộ thông tin mã hóa từ chuỗi đầu vào cho dù chuỗi đó dài hay ngắn và Encoder mã hóa chuỗi đầu vào thành một vec-tơ duy nhất và có độ dài cố định.

Điều này không thực sự hiệu quả vì trong thực tế, việc sinh ra từ tại một bước thời gian trong chuỗi đầu ra có khi phụ thuộc nhiều hơn vào một số những thành phần nhất định trong chuỗi đầu vào.

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

Bài viết "Bắt Lỗi Chính Tả Trong Khoa Học Máy Tính Bằng Phương Pháp Transformer" khám phá cách mà các mô hình Transformer có thể được áp dụng để phát hiện và sửa lỗi chính tả trong văn bản. Tác giả trình bày những ưu điểm của phương pháp này, bao gồm khả năng xử lý ngữ nghĩa và ngữ cảnh tốt hơn so với các phương pháp truyền thống. Độc giả sẽ nhận thấy rằng việc áp dụng công nghệ này không chỉ giúp cải thiện chất lượng văn bản mà còn nâng cao hiệu suất trong các ứng dụng xử lý ngôn ngữ tự nhiên.

Nếu bạn muốn tìm hiểu thêm về các ứng dụng khác của công nghệ trong lĩnh vực xử lý ngôn ngữ, hãy tham khảo bài viết "Luận văn thạc sĩ enhancing the quality of machine translation system using cross lingual word embedding models", nơi mà các mô hình ngôn ngữ được sử dụng để cải thiện chất lượng dịch máy. Ngoài ra, bài viết "Luận văn thạc sĩ phân tách cụm danh từ cơ sở tiếng việt sử dụng mô hình crfs" cũng sẽ cung cấp cho bạn cái nhìn sâu sắc về việc phân tích ngữ nghĩa trong tiếng Việt. Cuối cùng, bạn có thể khám phá thêm về "Luận văn thạc sĩ phát hiện quan hệ ngữ nghĩa nguyên nhân kết quả từ các văn bản", giúp bạn hiểu rõ hơn về các mối quan hệ ngữ nghĩa trong văn bản. Những tài liệu này sẽ mở rộng kiến thức của bạn về ứng dụng của công nghệ trong xử lý ngôn ngữ tự nhiên.