You are on page 1of 16

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.

HCM
CAO HỌC KHÓA 30
Chuyên ngành: KHOA HỌC DỮ LIỆU

Đồ án môn học:
( XỬ LÝ NGÔN NGỮ TỰ NHIÊN )
CHỈNH SỬA VÀ KHÔI PHỤC DẤU THANH
TRONG VĂN BẢN TIẾNG VIỆT BẰNG
PHƯƠNG PHÁP HỌC SÂU

Giảng viên hướng dẫn: PGS.TS. Đinh Điền


Danh sách nhóm: Phạm Đình Duy MSHV: 20C29005
Phạm Phi Nhung MSHV: 20C29031
Nguyễn Mạnh Phú MSHV: 20C29032

TP. Hồ Chí Minh, tháng 03 năm 2021


Mục lục

1 TỔNG QUAN: 2
1.1 Giới thiệu bài toán: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Các hướng tiếp cận: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Phạm vi bài toán thực hiện: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 KIẾN THỨC CƠ SỞ: 4


2.1 Chính tả . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Mô hình ngôn ngữ N-gram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 Học sâu (Deep learning) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4 Recurrent Neural Network và biến thể LSTM . . . . . . . . . . . . . . . . . . . . . . . 5
2.4.1 RNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4.2 LSTM (Long Short Term Memory) . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.5 Nhúng từ - Word Embedding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.6 Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 PHƯƠNG PHÁP ĐỀ XUẤT và KẾT QUẢ THỰC NGHIỆM: 9


3.1 Mô tả dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Tiền xử lý dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 Xây dựng mô hình: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4 Kết quả . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.5 Kết quả trên tập test: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.6 Đánh giá và định hướng phát triển . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

TÀI LIÊU THAM KHẢO 13

i
Danh sách hình vẽ

2.1 ví dụ Trigam Language Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5


2.2 Mạng nơ-ron, được tổ chức theo lớp bao gồm một tập hợp các nút kết nối với nhau . . 6
2.3 cấu trúc của RNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4 cấu trúc của LSTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.5 mã hóa và giải mã văn bản thành ma trận. . . . . . . . . . . . . . . . . . . . . . . . . 7

3.1 Thống kê số lượng độ dài của câu trong bộ dữ liệu . . . . . . . . . . . . . . . . . . . . 9


3.2 Thống kê N-grams dựa trên bộ dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3 Mô hình Deep Learning với 3 lớp LSTM . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4 Kết quả thử nghiệm sau epoch đầu tiên . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.5 Kết quả thử nghiệm sau 50 epochs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.6 Kết quả sau 300 epochs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.7 Kết quả sau khi huấn luyện trên đoạn đầu vào mới . . . . . . . . . . . . . . . . . . . . 12
3.8 Kết quả khi chạy thử nghiệm với nội dung truyện ngắn . . . . . . . . . . . . . . . . . 12

1
Chương 1

TỔNG QUAN:

Nội dung được trình bày trong chương 1 bao gồm giới thiệu chung về bài toán, các hướng đã tiếp cận
và đề xuất giải pháp.

1.1 Giới thiệu bài toán:


Chính tả có một vai trò quan trọng đối với mỗi cá nhân và cả cộng đồng xã hội. Vấn đề viết đúng
chính tả luôn luôn được đặt ra để nâng cao hiệu quả sử dụng tiếng Việt. Tuy nhiên, đã từ lâu, vì
nhiều lí do khác nhau, mắc lỗi chính tả đã trở thành một căn bệnh trầm kha của nhiều người Việt,
người lớn mắc, trẻ em mắc, người học ít mắc, người học nhiều cũng mắc, điều đó ảnh hưởng không
nhỏ tới hiệu quả giao tiếp và làm mất đi sự trong sáng của tiếng Việt.
Bảng 1.1 là một số ví dụ cho thấy các lỗi chính tả thường gặp liên quan đến dấu thanh. Và vấn đề
khó nhất ở đây là khi người viết sai chính tả họ thường không biết mình sai và khi lỗi sai bị lặp lại
nhiều lần sẽ dễ dẫn đến trở thành thói quen

Từ sai từ đúng
chia sẽ chia sẻ
chỉnh sữa chỉnh sửa
chẵng lẻ chắng lẽ
có lẻ có lẽ
cổ máy cỗ máy
cặp bến cập bến
giúp đở giúp đỡ
kỹ niệm kỷ niệm
kiễm tra kiểm tra
nổ lực nỗ lực
năng nỗ năng nổ
rãnh rỗi rảnh rỗi
... ...

Bảng 1.1: Ví dụ về sai dấu thanh

1.2 Các hướng tiếp cận:


Trong những năm đầu thế kỷ 21, nhiều phương pháp đề xuất cho việc tự động khôi phục các thanh
dấu trong văn bản Tiếng việt, bao gồm [3]:
• Vietpad (Quan,2002) đã sử dụng tập tin lưu trữ tất cả các từ trong tiếng Việt (từ điển): họ
sử dụng tệp Dictio Nary và từng từ không có dấu thanh được ánh xạ 1-1 thành 1 từ có dấu.

2
Xử lý ngôn ngữ tự nhiên

Tuy nhiên, trong từ điển cũng lưu trữ những từ ngữ hiếm khi được sử dụng nên trong một số
trường hợp VietPad vẫn có sai sót (độ chính xác khoảng 60-85% và phụ thuộc tùy theo văn bản
tương ứng)
• AMPAD(TAM,2008) cũng là một công cụ được xây dựng để phục hồi dấu thanh tiếng Việt.
Với ý tưởng sử dụng tần số thống kê của các từ không dấu và sử dụng thuật toán lựa chọn nhằm
đưa ra các từ có xác suất cao nhất (độ chính xác khoảng 80% hoặc cao hơn đối với các bình
luận chính trị và lĩnh vực khoa học, nhưng 50% đối với tài liệu chuyên ngành hoặc thơ có cấu
trúc)
• VietEditor(LAN,2005) cùng ý tưởng với Vietpad nhưng ở mức độ cải thiện hơn. Nó sử dụng
tập từ điển và lưu trữ các cụm từ thường được sử dụng giúp chương trình kiểm tra thêm để tìm
từ thích hợp nhất.

• Viaccent (Truyen et al., 2008) mô hình hướng đến tốc độ khôi phụ dấu trong văn bản. Ý
tưởng chính là sử dụng mô hình ngôn ngữ N-gram (được báo cáo ở the conference PRICAI 2008
(The Pacific Rim International Conference on Artificial Intelligence).
• The VnMark (Toan, 2008) đã sử dụng mô hình GUAGE N-Gram để tạo tệp từ điển, điều
này cho thấy khả năng xuất hiện hoặc sử dụng các cụm âm tiết trong văn bản tiếng Việt.

1.3 Phạm vi bài toán thực hiện:


Do giới hạn về thời gian và lượng kiến thức, đề tài chủ yếu giải quyết việc chỉnh sửa và khôi phục các
dấu thanh trong tiếng Việt, hướng đến đào tạo mô hình học sâu để tự động hóa yêu cầu bài toán.
Trong đó, chuỗi 3 lớp LSTM được chọn với xấp xỉ 1.5 triệu tham số được huấn luyện với dữ liệu đầu
vào là tệp tin 150MB gồm các bài viết tin tức được viết bằng tiếng Việt với các quá trình xử lý cơ
bản và được khoảng 97% độ chính xác so với thực tế.
Chương 2

KIẾN THỨC CƠ SỞ:

Nội dung của chương xoay quanh các khái niệm, kiến thức cơ bản liên quan đến đề tài.

2.1 Chính tả
Định nghĩa:
Chính tả: Được hiểu là "phép viết đúng" hoặc "lối viết hợp với chuẩn". Nói cách khác thì chính tả
là tiêu chuẩn chữ viết của một ngôn ngữ. Yêu cầu cơ bản của chính tả là phải thống nhất cách viết
cụ thể trên phạm vi toàn quốc và trong tất cả các loại hình văn bản viết... [2]

Tác hại của việc sai chính tả:


Sai chính tả dễ dàng dẫn tới sự hiểu lầm về nội dung được trao đổi hoặc được đề cập trong văn bản.
Ngoài ra, tần suất sai chính tả hay việc viết sai chính tả thể hiện được mức độ tư duy và trình độ văn
hóa của người đang sử dụng tiếng việt. Điều này cũng làm giảm mức độ uy tín và ảnh hưởng đến sự
tin tưởng của người khác.[1]

2.2 Mô hình ngôn ngữ N-gram


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ó 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. Mô hình ngôn ngữ được áp dụng trong nhiều lĩnh vực xử
lý ngôn ngữ tự nhiên như: kiểm tra lỗi chính tả, dịch máy hay phân đoạn từ...

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


Nhiệm vụ chính của mô hình ngôn ngữ là cho biết xác suất của một câu w1 w2 ...wm là bao nhiêu. Dựa
theo công thức Bayes: P (AB) = P (B|A) ∗ P (A), thì:

P (w1 w2 ...wm ) = P (w1 ) ∗ P (w2 |w1) ∗ P (w3 |w1 w2 ) ∗ ... ∗ P (wm |w1 w2 ...wm−1

Nhưng trong trường hợp này cần sử dụng lượng lớn vùng nhớ để lưu các xác suất của các chuỗi độ
dài nhỏ hơn m. Vì vậy, người ta đề xuất sử dụng xấp xỉ Markov bậc n. Thuật toán để tính xác suất
xuất hiện của xi có phân bố là: P (Xi = xi | Xi−2 = xi−2 , Xi−1 = xi−1 ) với các bước:

1. Khởi tạo i = 1 và x0 = x−1 = ∗


2. Lấy giá trị xác suất xi từ công thức P (Xi = xi |Xi−2 , Xi−1 = xi−1 )

4
Xử lý ngôn ngữ tự nhiên

3. 3. Nếu xi = STOP thì ta trả vê ’ chuỗi x1 . . . xi . Ngược lại, ta gán i = i + 1 và quay lại bước 2 .
Mô hình ngôn ngữ N-gram là danh từ chung để chỉ các mô hình ngôn ngữ sử dụng dữ liệu đầu vào
dưới dạng N-gram (bao gồm N âm tiết).
Hình dung tương tự với Trigram Language Models

Hình 2.1: ví dụ Trigam Language Models

2.3 Học sâu (Deep learning)


Học sâu là một nhánh quan trọng của máy học, dạy máy tính làm những việc con người thực hiện
một cách tự nhiên và chính xác: học từ các ví dụ mà con người cung cấp cho máy tính. Học sâu là
một công nghệ quan trọng đằng sau ô tô không người lái, cho phép chúng nhận ra biển báo dừng hoặc
phân biệt người đi bộ với cột đèn. Đây là chìa khóa để điều khiển bằng giọng nói trong các thiết bị
tiêu dùng như điện thoại, máy tính bảng, TV. Học sâu đang được chú ý rất nhiều gần đây bởi nó đã
và đang đạt được những kết qủa trước đây không thể thực hiện được.
Trong học sâu, máy tính học cách thực hiện các nhiệm vụ phân loại từ hình ảnh, văn bản hoặc âm
thanh, có thể đạt được độ chính xác tốt, đôi khi vượt quá hiệu suất ở cấp độ con người. Các mô hình
được đào tạo bằng cách sử dụng một tập hợp lớn dữ liệu có nhãn và kiến trúc mạng nơ-ron nhiều lớp.
Khi học sâu lần đầu tiên được đưa ra lý thuyết vào những năm 1980, có hai lý do chính khiến nó chỉ
trở nên hữu ích gần đây:
• Yêu cầu một lượng lớn dữ liệu được gắn nhãn. Ví dụ: phát triển ô tô không người lái đòi hỏi
hàng triệu hình ảnh và hàng nghìn giờ video.
• Đòi hỏi khả năng tính toán đáng kể. GPU hiệu suất cao có kiến trúc song song hiệu quả cho
việc học sâu. Khi được kết hợp với các cụm hoặc điện toán đám mây, điều này cho phép các
nhóm phát triển giảm thời gian đào tạo cho một mạng học sâu từ vài tuần xuống còn vài giờ
hoặc ít hơn.
Thuật ngữ "sâu" thường đề cập đến số lượng các lớp ẩn trong mạng nơ-ron. Mạng nơ-ron truyền
thống chỉ chứa 1-2 lớp ẩn, trong khi mạng sâu có thể có tới hàng trăm lớp.

2.4 Recurrent Neural Network và biến thể LSTM


Tổng quan về RNN:
NeurMô hình mạng nơ-ron nhân tạo truyền thẳng (Feedforward Neural Network) và CNN ra đời đã
được áp dụng cho nhiều bài toán trong lĩnh vực máy học và học sâu. Tuy nhiên, những mô hình này
lại hoạt động kém khi được cung cấp một bộ dữ liệu chuỗi. Có thể thấy rằng mạng nơ-ron nhân tạo
truyền thẳng và CNN lấy độ dài cố định làm đầu vào (input), nhưng đối với dữ liệu là văn bản gồm
nhiều câu, dễ thấy rằng không phải tất cả các câu đều có cùng chiều dài. Trong những mô hình mạng
nơ-ron truyền thông, chúng ta đã giả định rằng tất cả các đầu vào và đầu ra (output) độc lập với
nhau, nghĩa là chúng không liên kết thành chuỗi với nhau. Chính điều này làm cho những mô hình
truyền thống trở nên kém hiệu quả đối với việc giải quyết các bài toán có dữ Liệu tuần tự vì chúng
hầu như không thể biểu được ngữ cảnh của đầu vào đã cho.
RNN được sinh ra để giải quyết vấn đề này.
Xử lý ngôn ngữ tự nhiên

Hình 2.2: Mạng nơ-ron, được tổ chức theo lớp bao gồm một tập hợp các nút kết nối với nhau

2.4.1 RNN
Mạng nơ-ron hồi quy (RNN - Recurrent Neural Network) là một thuật toán được chú ý rất nhiều
trong thời gian gần đây bởi các kết quả tốt thu được trong lĩnh vực xử lý ngôn ngữ tự nhiên.
Ý tưởng chính của RNN là sử dụng chuỗi các thông tin. Trong các mạng nơ-ron truyền thống tất cả
các đầu vào và cả đầu ra là độc lập với nhau, chúng không liên kết thành chuỗi với nhau. Nhưng các
mô hình này không phù hợp trong rất nhiều bài toán.
Mô hình được gọi là hồi quy (Recurrent) bởi lẽ chúng thực hiện cùng một tác vụ cho tất cả các phần
tử của một chuỗi với đầu ra phụ thuộc vào cả các phép tính trước đó. Nói cách khác, RNN có khả
năng nhớ các thông tin được tính toán trước đó. Trên lý thuyết, mô hình có thể sử dụng được thông
tin của một văn bản rất dài, tuy nhiên thực tế thì nó chỉ có thể nhớ được một vài bước trước đó.
Mạng nơ-ron, được tổ chức theo lớp bao gồm một tập hợp các nút kết nối với nhau. Một RNN có

Hình 2.3: cấu trúc của RNN

thề nhận vào một chuỗi có chiều dài bất kỳ và tạo ra một chuỗi nhãn có chiều dài tương ứng. Việc
tính toán bên trong được thực hiện như sau:

• xt là chuỗi đầu vào tại t.


• U, W, V là các ma trận trọng sồ.
• st là trạng thái ần tại bước t.
st = f (U xt + W st−1 )
Trong đó f thường là một hàm phi tuyến tính như tanh với ot là đầu ra tại bước t.

ot = softmax (V st )
Xử lý ngôn ngữ tự nhiên

2.4.2 LSTM (Long Short Term Memory)


Một điểm nổi bật của mạng nơ-ron này là ý tưởng kết nối các thông tin phía trước để dự đoán cho
hiện tại. Việc này tương tự như ta sử dụng các cảnh trước của bộ phim để hiểu được cảnh hiện thời.
Thật không may khi với khoảng cách càng lớn dần thì mạng nơ-ron bắt đầu không thể nhớ và học
được nữa. Đây được gọi là vấn đề phụ thuộc xa (Long-term Dependency) của RNN, hay còn có tên
gọi khác là mạng bộ nhớ dài-ngắn (Long Short Term Memory Networks), thường được gọi là LSTM
- đây là một dạng đặc biệt của RNN, nó có khả năng học được các phụ thuộc xa.
LSTM được thiết kế để tránh được vấn đề phụ thuộc xa (long-term dependency). Việc nhớ thông tin
trong suốt thời gian dài là đặc tính mặc định của mô hình. Điều này mang ý nghĩa có khả năng ghi
nhớ được mà không cần bất kì can thiệp nào.
Chìa khóa của LSTM là trạng thái tế bào (cell state) - chính đường chạy thông ngang phía trên của
sơ đồ hình vẽ.
Trạng thái tế bào là một dạng giống như băng chuyền. Nó chạy xuyên suốt tất cả các mắt xích (các
nút mạng) và chỉ tương tác tuyến tính đôi chút. Vì vậy mà các thông tin có thể dễ dàng truyền đi
thông suốt mà không sợ bị thay đổi.
Bên cạnh đó còn có 2 cổng khác là forget gate và input gate. Trong đó:

• Tầng cổng quên (forget gate) giúp quyết định xem thông tin nào cần bỏ đi từ trạng thái tế bào.
Quyết định này được đưa ra bởi hàm sigmoid.
• Tầng cổng vào (input gate) sử dụng sigmoid để quyết định giá trị nào ta sẽ cập nhật.

Hình 2.4: cấu trúc của LSTM

Cuối cùng các giá trị đầu ra sẽ dựa vào trạng thái tế bào nhưng sẽ được tiếp tục sàng lọc rồi quyết
định phần nào của trạng thái tế bào được xuất ra.

2.5 Nhúng từ - Word Embedding


Trong các ứng dụng về Xử lý ngôn ngữ tự nhiên và máy học, các thuật toán không thể hiểu dữ liệu
đầu vào là ngôn ngữ tự nhiên, thay vào đó, ta cần chuyển các từ ngữ sang ngôn ngữ máy. Kỹ thuật
này được gọi là Word Embedding - nhúng từ, phương pháp nhúng từ được nhóm sử dụng trong bài
toán là chuyển các ký tự sang chuỗi 0 1 với 1 là vị trí tương ứng và 0 ở các vị trí còn lại.

Hình 2.5: mã hóa và giải mã văn bản thành ma trận.


Xử lý ngôn ngữ tự nhiên

2.6 Accuracy
Accuracy (Độ chính xác) là độ đo đơn giản nhất để đánh giá một mô hình phân lớp. Cách đánh giá
này đơn giản tính tỉ lệ giữa số điểm được dự đoán đúng và tổng số điểm trong tập dữ liệu kiểm thử.
Chương 3

PHƯƠNG PHÁP ĐỀ XUẤT và


KẾT QUẢ THỰC NGHIỆM:

Trong khuôn khổ đề tài này, nhóm chọn nghiên cứu bài toán tập trung về các thanh dấu của câu,
bằng việc bổ sung các dấu câu còn thiếu hoặc chỉnh sửa lại câu đó theo đúng chính tả.

3.1 Mô tả dữ liệu
Để đào tạo mô hình học sâu, nhóm sử dụng lượng lớn văn bản tiếng Việt bao gồm có thanh dấu và
không có thanh dấu. Lượng data này được thu thập được khỏang 23000 bài báo từ 2 trang tin tức
lớn của Việt Nam http://vnexpress.net/ và http://kenh14.vn/ (hy vọng) bao gồm nhiều thể loại văn
bản Việt Nam thông dụng. Trong đó với bộ dữ liệu được thu thập từ một số trang web sau đó chúng
tôi bỏ các thanh dấu, dấu câu, kể cả các dấu của ký tự ô chuyển thành o, ê chuyển thành e,...
và thêm vào dữ liệu huấn luyện nhằm tăng thêm tính cấu trúc văn bản.

3.2 Tiền xử lý dữ liệu


Tiền xử lý dữ liệu là một trong những bước quan trọng nhất trong xử lý ngôn ngữ tự nhiên, đặc biệt
với dữ liệu văn bản được thu thập từ các trang web báo điện tử. Trong tập dữ liệu chúng tôi thu
thập, tồn tại nhiều câu, đoạn, từ ngữ không chính thống, không phù hợp với tiêu chuẩn thông thường
của Tiếng Việt. Do đó, tiền xử lý dữ liệu có thể giúp loại bỏ nhiễu trong dữ liệu. Đầu tiên, chúng tôi
viết thường tất cả các ký tự và loại bỏ dấu câu, các ký tự đặc biệt, biểu tượng như !@?(), , loại bỏ
các chữ số vì gần như không cần thiết. Mặc dù tất cả các bài báo được lấy từ trang web Tiếng Việt

Hình 3.1: Thống kê số lượng độ dài của câu trong bộ dữ liệu

9
Xử lý ngôn ngữ tự nhiên

nhưng vẫn tồn tại một tỉ lệ nhỏ các bài báo có lẫn các ngôn ngữ khác như Tiếng Anh, tiếng Trung,
tiếng Hàn,... Do đó trong quá trình tiền xử lý dữ liệu, tất cả các dạng này đều được loại bỏ.
Trong đó, chúng tôi thống kê từ dữ liệu đã được đề cập, bao gồm tất cả 1,5 triệu câu. Dựa theo kết
quả hình 3.3 cho thấy số lượng câu trong bộ dữ liệu có độ dài chủ yếu từ 0 - 200 ký tự, sau đó sử
dụng phương pháp N-gram để tạo các dữ liệu đầu vào cho mô hình. Theo mô hình tham khảo từ [4],
thì mô hình 5 gram hoặc 7 gram được sử dụng sẽ phù hợp hơn. Cụ thể, dựa theo kết quả từ hình 3.2,
chúng tôi có xấp xỉ 12 triệu 5-gram với các độ dài tương ứng 15-25 ký tự.

Hình 3.2: Thống kê N-grams dựa trên bộ dữ liệu

Tăng cường thêm dữ liệu:


Phạm vi bài toán của nhóm tập trung trong phạm vi chỉnh sửa và bổ sung dấu. Do đó để có thêm dữ
liệu huấn luyện đó là lấy văn bản tiếng Việt có dấu và sau đó bỏ dấu để thêm vào bộ dữ liệu huấn
luyện.

3.3 Xây dựng mô hình:


Sử dụng bộ thư viện Keras để xây dựng mô hình Deep Learning 3 lớp LSTM với khoảng 1,5 triệu
tham số.

Hình 3.3: Mô hình Deep Learning với 3 lớp LSTM


Xử lý ngôn ngữ tự nhiên

3.4 Kết quả


Đạt độ chính xác 50% sau epoch đầu tiên (về mặt kỹ thuật là 1/100 epoch), thử với câu "co gai den
tu hom qua". Từ hình 3.4, ta thấy có vấn đề vì mô hình đã đặt dấu sai cho câu trên, ngoài ra độ

Hình 3.4: Kết quả thử nghiệm sau epoch đầu tiên

chính xác cũng chưa đáp ứng mong đợi, vì vậy có thể kết luận rằng cần huấn luyện thêm nhiều hơn.
Từ kết quả hình 3.5, nhận được đầu ra nhận được kết quả đúng ở epoch thứ 12 và hoàn chỉnh sau 22
epochs. Quan sát kỹ hơn, mô hình nhận tất cả phụ âm sau 4 epochs và tất cả các nguyên âm cơ bản
sau 6 epochs, độ chính xác được cải thiện lên 95% sau epoch thứ 50.

Hình 3.5: Kết quả thử nghiệm sau 50 epochs

Cuối cùng, sau 300 epochs (hình 3.6 mô hình đạt độ chính xác 97% và hàm loss giảm xuống 0.07.
Do giới hạn về phần cứng của máy cũng như giới hạn về thời gian, quá trình huấn luyện được dừng lại.

3.5 Kết quả trên tập test:


Kết thúc quá trình train và đánh giá, nhóm chọn một đoạn văn hoặc các câu lẻ (hình 3.8)

phò thư tưong rà soat viec chò formosa thuê đất 70 nam đối với các dự án đang tồn tại và hoat đong
trên lãnh thổ Việt Nam không riềng Formosa sẽ cò kế hoạch kiểm tra rà soat đánh giá lại theo tinh
thần sai phạm la phải xữ lý

Ta nhận thấy mô hình không hoạt động tốt trên các từ không phải tiếng Việt (nhà máy Formosa
- Fomosa).

Thử nghiệm với các kết quả khác:


Nội dung sau đây được trích từ "Cho tôi xin một vé đi tuổi thơ". Do bộ dữ liệu huấn liệu được lấy từ
Vnexpress hay Kenh14 có nội dung và lĩnh vực khác với phong cách viết của nhà văn truyện Nguyễn
Nhật Ánh.
Xử lý ngôn ngữ tự nhiên

Hình 3.6: Kết quả sau 300 epochs

Hình 3.7: Kết quả sau khi huấn luyện trên đoạn đầu vào mới

’cho tôi xin một vé đi tuổi thơ’


’tóm lại là đã hết một ngày’
’một ngày’
’sẽ có kế hoạch kiểm tra’
’tôi chợt nhận thấy cuộc sống thật là buồn chán và tẻ nhạt’
’năm đó tôi 8 tuổi’

Đoạn trên được input với các giá trị là từng dòng câu rời tương ứng kết quả mô hình hiển thị tại
hình 3.8.

Hình 3.8: Kết quả khi chạy thử nghiệm với nội dung truyện ngắn
Xử lý ngôn ngữ tự nhiên

3.6 Đánh giá và định hướng phát triển


Kết quả thực nghiệm cho thấy sự mất cân bằng giữa các nội dung cho thấy vấn đề thách thức về
lượng dữ liệu được huấn luyện chưa bao quát tất cả các lĩnh vực có thể xuất hiện trong tiếng Việt.
Tăng thêm dữ liệu bằng cách cào thêm dữ liệu từ các trang báo mạng khác, mở rộng tới các lĩnh vực
như bình luận từ các người dùng Facebook, đánh giá sản phẩm.
Thử nghiệm các mô hình SOTA cho xử lý ngôn ngữ tự nhiên ở mặt sửa lỗi chính tả và mở rộng lên
sửa lỗi sai chính tả, không giới hạn ở dấu thanh.
Tài liệu tham khảo

[1] Phan Thị Hồng Xuân Một số giải pháp khắc phục lỗi chính tả của người sử dụng Tiếng Việt,
Tạp chí Khoa học ĐHQGHN: Nghiên cứu giáo dục, số 2 (2017) 68-74
[2] Lê A, Đỗ Xuân Thảo, Lê Hữu Tỉnh,Giáo trình tiếng Việt 2, NXB Đại học Sư phạm, 2014.

[3] Luan Nghia Pham, Viet Hong Tran, Vinh Van Nguyen Vietnamese Text Accent Restoration With
Statistical Machine Translation PACLIC-27
[4] Le Binh, vietnamese-accent-model
[5] Nguyen Van Cuong, Le Huy Khiem, Tran Minh Anh, Binh Thanh Nguyen, An Efficient Frame-
work for Vietnamese Sentiment Classification, SoMeT 2020.

[6] Pham Thi Thuy, Nguyen Thao Nhu, Pham Hong Quang, Cao Ky Han, Binh Thanh Nguyen, Viet-
namese Punctuation Prediction Using Deep Neural Networks, SOFSEM 2020, Cyprus, January
20-24 2020.

14

You might also like