Tải bản đầy đủ (.pptx) (18 trang)

BÁO cáo môn học môn: các hệ THỐNG THÔNG MINH

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.08 MB, 18 trang )

BÁO CÁO MÔN HỌC
MÔN: CÁC HỆ THỐNG THÔNG MINH
ĐỀ TÀI : Spelling Correction – Sửa lỗi chính tả văn bản

Nhóm 4
Thành viên: Nguyễn Cát Hải (NHÓM TRƯỞNG)
Nguyễn Đức Hải
Trần Văn Hoàng
Vũ Phú Tài
Vũ Văn Dương
1

Lớp: CNTT1.K21

 


1. Giới thiệu bài tốn.

Hiện nay cơng nghệ thơng tin ngày càng phát triển, văn bản được soạn thảo bằng hình thức viết tay dần được thay thế bằng hình thức đánh máy. Lỗi chính tả xuất hiện là
điều khơng thể tránh khỏi và có thể do nhiều nguyên nhân khác nhau: lỗi đánh máy, người soạn thảo không biết mình đang viết sai... Những lỗi sai này, người soạn thảo văn
bản thường khơng hoặc khó có thể nhận ra lỗi chính tả của mình. Để phát hiện và sửa lỗi cho một văn bản có thể mất rất nhiều thời gian. Điều này đã dẫn nhu cầu phát hiện
và sữa lỗi chính tả tự động cho nhiều ngơn ngữ trên các hệ soạn thảo văn bản khác nhau.

2


Đầu vào, đầu ra của bài tốn:




-

Đầu vào:
Các tệp dữ liệu ngôn ngữ txt,các file văn bản doc,docs,…như được soạn trên ngơn ngữ tiếng Việt nhưng bị sai lỗi chính tả.
Các văn bản dịch tự động từ ngôn ngữ khác chưa chính xác.
Các loại OCR chữ viết thành văn bản.
Đầu ra:
Tệp chứa văn bản đã qua xử lý tự động loại bỏ các lỗi thừa ,thiếu, sai,.. khiến tệp văn bản ít lỗi hơn hoặc khơng cịn lỗi, các câu từ mang đúng ý nghĩa, đúng đấu câu, ngữ
pháp của bài , đảm bảo được yêu cầu đặt ra.

3


Một số lỗi chính tả cơ bản và phương pháp kiểm lỗi mức độ âm tiết

-Nguyên nhân do nhập liệu sai

-Nguyên nhân do phát âm sai
-Nguyên nhân do sử dụng từ vựng sai
-Các ngun nhân khác: Ngồi ra cịn các loại lỗi chính tả khác như viết hoa, viết tên riêng, thuật ngữ, tên tiếng nước ngồi
khơng đúng qui cách, …

4


Phân loại lỗi chính tả.

-non-word :Đây là lỗi tạo ra từ sai, nghĩa là từ đó hồn tồn khơng có trong từ điển từ vựng tiếng Việt hoặc một số dữ liệu đầu vào cho quá trình tiền xử lý văn bản như:
từ điển tên riêng, từ điển viết tắt, từ điển vay mượn,... Đây là loại lỗi dễ phát hiện.


-real-word:Đây là lỗi chính tả mà từ đó có trong từ điển nhưng sử dụng từ sai. Nếu không dựa vào ngữ cảnh xung quanh thì khơng thể xác định được đó có phải là lỗi chính tả hay
khơng. Đây là loại lỗi rất khó phát hiện và xử lý.

5


2. Các phương pháp tiếp cận để giải quyết bài tốn

Kiến trúc mạng nơ-ron nhân tạo:
-là một mơ hình xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật.
-ANN hoạt động giống như bộ não của con người, được học bởi kinh nghiệm (thơng qua việc huấn luyện).
-Có khả năng lưu giữ các tri thức và sử dụng các tri thức đó trong việc dự đốn các dữ liệu chưa biết (unseen data).

6


Kiến trúc chung của một ANN gồm 3 thành phần đó là Input Layer, Hidden Layer và Output Layer

7


Mạng nơ-ron hồi quy RNN
- Một trong những mơ hình Deep learning được đánh giá có nhiều ưu điểm trong các tác vụ xử lý ngôn ngữ tự nhiên (NLP)

- Có khả năng nhớ được thơng tin đã tính tốn trước đó .
- Thơng tin đầu vào (input) hồn tồn độc lập với thơng tin đầu ra (output).
- Mơ hình này chỉ nhớ được thông tin ở vài bước trước đó.

8



Mạng Long Short-term Memory

-LSTM là một mạng cải tiến của RNN nhằm giải quyết vấn đề nhớ các bước dài của RNN
-LSTM được thiết kế để tránh được vấn đề phụ thuộc xa (long-term dependency).

-Chìa khóa của LSTM là trạng thái tế bào (cell state).
-LSTM có khả năng bỏ đi hoặc thêm vào các thông tin cần thiết cho trạng thái tế báo, chúng được điều chỉnh
cẩn thận bởi các nhóm được gọi là cổng (gate).
-Các cổng là nơi sàng lọc thơng tin đi qua nó, chúng được kết hợp bởi một tầng mạng sigmoid và một phép
nhân.

9


3. Ứng dụng RNN cho bài tốn sửa lỗi chính tả tiếng Việt

Mơ hình hóa ngơn ngữ:
-xây dựng một mơ hình ngơn ngữ sử dụng RNN
-với m từ, thì một mơ hình ngơn ngữ cho phép ta dự đốn được xác suất của một câu (trong tập dữ
liệu) là:

10


Các bước thực hiện và xử lý của bài toán
Tạo bộ dữ liệu:
-Để huấn luyện mơ hình ngơn ngữ, ta cần dữ liệu là văn bản để làm dữ liệu huấn học.
-Tiền xử lý dữ liệu thô cho đúng định dạng đầu vào.


Khởi tạo:
- Phải khởi tạo các tham số của mạng RNN một cách ngẫu nhiên.
-Trường hợp của ta là hàm tanh nên giá trị được khuyến khích trong khoảng[-1/(n^(1/2)); 1/(n^(1/2))].
-n là lượng kết nối tới từ tầng mạng trước.
3.1.2.3.2.Lan truyền tuyến
- cài đặt hàm lan truyền tiến (forward propagation) để thực hiện việc tính xác xuất của từ.
3.1.2.3.3. Tính lỗi
- Để huấn luyện mạng, ta cần phải đánh giá được lỗi cho từng tham số.
- Tìm các tham số U, V, W để tối thiểu hàm lỗi (loss function) L trong quá trình huấn luyện

11


Áp dụng LSTM trong bài tốn sửa lỗi chính tả tiếng Việt

-Dùng mơ hình sequence-to-sequence (seq2seq) cùng với kỹ thuật attention sẽ làm tăng độ chính xác cho bài tốn sửa lỗi chính tả.
-Nhược điểm là yêu cầu RNN decoder sử dụng tồn bộ thơng tin mã hóa từ chuỗi đầu vào cho dù chuỗi đó dài hay ngắn.
-RNN encoder cần phải mã hóa chuỗi đầu vào thành một vec-tơ duy nhất và có độ dài cố định
-Từ những nhược điểm trên,kỹ thuật attention được đưa ra.
-Ngoài phương pháp soft attention, kỹ thuật attention cịn có một số các kiểu attention khác như additive attention, multiplicative attention, self-attention,
key- value attention

12


4. Cài đặt

Thư viện tensorflow:
-Thư viện này hỗ trợ xây dựng các mơ hình deeplearning rất phức tạp qua những API cực kì
ngắn gọn.

-Các mơ hình deeplearning phát triển trên TensorFlow có thể được sử dụng trên nhiều các
loại platform khác nhau
-Tensorflow cũng cho phép tính tốn song song trên nhiều máy tính khác nhau, tất nhiên là
cũng có thể trên nhiều CPU, GPU trong cùng một máy.

13


Tạo data noise

-Cài đặt hàm noise_maker () là hàm sẽ chuyển đổi các câu thành các câu có lỗi chính tả, nó sẽ được sử dụng làm dữ liệu đầu vào.
-Các lỗi chính tả này được tạo ra trong hàm này theo một trong ba cách:



Thứ tự của hai ký tự sẽ được đổi chỗ (kơhng ~ khơng)



Một ký tự sẽ được thêm vào (ytuổi ~ tuổi)



Một ký tự sẽ bị loại bỏ (ến ~ đến)

Cài đặt mơ hình:
-cài đặt cho mơ hình huấn luyện dữ liệu sử dụng mơ hình sequence-to-sequence (biLSTM
Encoder-– Decoder)
-kết hợp thêm kỹ thuật Attention trong quá trình Decoder.


14


Tiến hành huấn luyện
-Ta sẽ huấn luyện mơ hình sử dụng các tham số:

15


Thử nghiệm, đánh giá.
Ta sẽ huấn luyện mơ hình kiểm tra lỗi chính tả sử dụng:



Data: Sử dụng data trên trang corpus. Cụ thể:

o

File VNTQcorpus(small).txt

o

Kích thước: ~35 Mb.

o

Số lượng câu: khoảng 300.000 câu.

o


Trích xuất từ khoảng 1.000 bài báo trên vnthuquan.net

o

Dữ liệu khơng có phân loại theo thể loại, nhưng tập trung vào thể loại văn bản nghệ thuật.

o

Đã qua xử lý cơ bản như:





Chỉnh sửa lại những kí tự lỗi khi chuyển từ html sang dạng text.
Loại bỏ những câu giống nhau.
Loại bỏ những câu có thể khơng phải tiếng Việt. (dựa vào thống kê các kí tự đặc trưng của tiếng Việt như: ả, ạ, á, ã, ...)



Sử dụng thư viện tensorflow GPU



Code python 3



Cấu hình máy GPU: Geforce GTX 1060(cấu hình giả định)




Thời gian training: ~ 1 ngày.(thời gian giả định)

Sau khi training ta tiến hành kiểm tra lỗi chính tả cho các câu được trọn random trong bộ dữ liệu test (được lấy ra từ 1 phần của data đầu vào sau khi đã tiền xử lý)

16


Một số kết quả thu được:

Thực nghiệm 1

Thực nghiệm 2

Thực nghiệm 3

Thực nghiệm 4
Thực nghiệm 5
17


Đánh giá.

Do dữ liệu sử dụng huấn luyện và thử nghiệm khá lớn khoảng 200000 câu (chỉ tính dấu phân cách câu là dấu “.”), tôi sử dụng khoảng 100000 câu (độ
dài trong khoảng 10 đến 101 ký tự) để làm dữ liệu huấn luyện và thử nghiệm. Trong đó sẽ sử dụng khoảng 89000 câu (~85% tổng số câu) cho tập dữ liệu
huấn luyện và 15700 (~15% tổng số câu) cho tập dữ liệu thử nghiệm. Độ học ban đầu dùng cho mơ hình là learning_rate = 0.001
Sau đó tiến hành training cho dữ liệu với số lần train (epochs) lần lượt là 1, 2, 3, 5, 10, … Sau đó tiến hành thử nghiệm cho tập dữ liệu thử nghiệm.
Kết quả thu được độ mất mát (loss) của dữ liệu (sai lỗi chính tả) sau mơ hình so với dữ liệu đầu ra chuẩn.


18



×