Khóa luận tốt nghiệp truyền thông và mạng máy tính xây dựng ứng dụng web hỗ trợ phát hiện tên riêng trong tiếng việt ứng dụng máy học

Khóa luận tốt nghiệp truyền thông và mạng máy tính tập trung xây dựng ứng dụng web hỗ trợ phát hiện tên riêng tiếng Việt bằng máy học.

Người đăng

Ẩn danh

Thể loại

khóa luận tốt nghiệp

2021

88
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

1. CHƯƠNG 1: HƯỚNG NGHIÊN CỨU VÀ NHỮNG ĐÁNH GIÁ LIÊN QUAN ĐẾN KHÓA LUẬN

1.1. Các hướng nghiên cứu, đánh giá liên quan đến luận văn

1.2. Word2vec

1.3. RNN và LSTM

1.4. BiLSTM

1.5. Hướng nghiên cứu chính của khóa luận

2. CHƯƠNG 2: CƠ SỞ VÀ PHƯƠNG PHÁP NGHIÊN CỨU

2.1. Sơ lược về bộ dữ liệu sử dụng trong luận văn

2.2. Sơ lược về bộ dữ liệu

2.3. Tìm hiểu về VnCoreNLP

2.4. Phân tích bộ dữ liệu

2.5. Tìm hiểu và phân tích thuật toán

2.5.1. Thuật toán SVM (Support Vector Machine)

2.5.2. Cách thức hoạt động của SVM

2.5.3. Cách chọn mặt phẳng tối ưu

2.5.4. Phương pháp tính margin

2.5.5. Ưu điểm của SVM

2.5.6. Nhược điểm của SVM

2.5.7. Thuật toán cây quyết định (Decision tree)

2.5.7.1. Cây quyết định
2.5.7.2. Cách thức hoạt động
2.5.7.3. Thuật toán ID3
2.5.7.4. Entropy trong cây quyết định (Decision Tree)
2.5.7.5. Information Gain trong cây quyết định (Decision Tree)
2.5.7.6. Tiêu chuẩn dừng
2.5.7.7. Ưu điểm của cây quyết định
2.5.7.8. Nhược điểm của cây quyết định

2.5.8. Huấn luyện và đánh giá

2.5.9. Tiền xử lí dữ liệu

3. CHƯƠNG 3: XÂY DỰNG VÀ PHÁT TRIỂN KHÓA LUẬN

3.1. Tìm hiểu và cài đặt những ứng dụng cần thiết

3.2. Cài đặt, thiết lập, phương thức hoạt động ở Front-end

3.3. Phương thức hoạt động của Front-end

3.4. Cài đặt, thiết lập, phương thức hoạt động ở Back-end

3.5. Cài đặt VnCoreNLP

3.6. Danh sách các API trong khóa luận

3.7. Xử lí dữ liệu đầu vào

3.8. Kết quả thực nghiệm

4. CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

4.1. Kết quả thu được

4.2. Hướng phát triển trong tương lai

TÀI LIỆU THAM KHẢO

PHỤ LỤC

Tóm tắt

I. Ứng dụng web và phát hiện tên riêng tiếng Việt

Khóa luận tập trung vào việc xây dựng ứng dụng web hỗ trợ phát hiện tên riêng trong văn bản tiếng Việt bằng phương pháp máy học. Ứng dụng này được phát triển dựa trên nền tảng web, giúp người dùng dễ dàng truy cập và sử dụng mà không cần cài đặt phức tạp. Phát hiện tên riêng là một bài toán quan trọng trong xử lý ngôn ngữ tự nhiên, đặc biệt là với tiếng Việt, nơi tên riêng thường không tuân theo quy tắc cụ thể. Ứng dụng sử dụng các thuật toán học máy như SVMcây quyết định để phân loại và dự đoán tên riêng.

1.1. Công nghệ thông tin và học máy

Khóa luận kết hợp công nghệ thông tinhọc máy để giải quyết bài toán phát hiện tên riêng. Các thuật toán như SVMcây quyết định được sử dụng để huấn luyện mô hình trên bộ dữ liệu được xây dựng từ các nguồn văn bản tiếng Việt. Học máy giúp ứng dụng tự động hóa quá trình phân tích và dự đoán, nâng cao độ chính xác và hiệu quả.

1.2. Phân tích ngữ nghĩa và tên riêng tiếng Việt

Việc phân tích ngữ nghĩa đóng vai trò quan trọng trong quá trình phát hiện tên riêng. Khóa luận sử dụng VnCoreNLP, một công cụ xử lý ngôn ngữ tự nhiên tiếng Việt, để trích xuất thông tin và xác định ngữ cảnh của từ. Tên riêng tiếng Việt thường có cấu trúc phức tạp, do đó, việc áp dụng các phương pháp học máy giúp cải thiện độ chính xác trong việc nhận diện.

II. Phương pháp nghiên cứu và cơ sở dữ liệu

Khóa luận sử dụng bộ dữ liệu được xây dựng từ các nguồn văn bản tiếng Việt như báo chí, truyện dân gian, và truyện ngụ ngôn. Bộ dữ liệu này được gán nhãn để huấn luyện mô hình học máy. Các thuật toán như SVMcây quyết định được áp dụng để phân loại tên riêng. VnCoreNLP được sử dụng để phân tích và trích xuất thông tin từ văn bản, giúp tăng cường độ chính xác của mô hình.

2.1. Thuật toán SVM và cây quyết định

SVM (Support Vector Machine) là một thuật toán phân loại mạnh mẽ, được sử dụng để tìm mặt phẳng tối ưu phân tách các lớp dữ liệu. Cây quyết định là một phương pháp khác, sử dụng cấu trúc cây để phân loại dữ liệu dựa trên các đặc điểm. Cả hai thuật toán đều được đánh giá về ưu điểm và nhược điểm trong việc phát hiện tên riêng.

2.2. Huấn luyện và đánh giá mô hình

Quá trình huấn luyện mô hình được thực hiện trên bộ dữ liệu đã được gán nhãn. Các phương pháp như tiền xử lý dữ liệuđánh giá kết quả được áp dụng để đảm bảo độ chính xác của mô hình. Kết quả huấn luyện cho thấy độ tin cậy của mô hình dao động từ 75% đến 80%, đạt được mục tiêu đề ra.

III. Xây dựng và phát triển ứng dụng web

Ứng dụng web được phát triển với giao diện thân thiện, hỗ trợ người dùng nhập văn bản và nhận kết quả dự đoán tên riêng. Front-end được xây dựng bằng ReactJS, trong khi back-end sử dụng Python-Flask để xử lý dữ liệu và gọi các API. VnCoreNLP được tích hợp vào hệ thống để phân tích ngữ nghĩa và trích xuất thông tin. Ứng dụng cũng cho phép người dùng đánh giá và phản hồi về kết quả, giúp cải thiện độ chính xác của mô hình.

3.1. Cài đặt và tích hợp VnCoreNLP

VnCoreNLP được cài đặt và tích hợp vào hệ thống để hỗ trợ phân tích ngữ nghĩa. Công cụ này giúp trích xuất thông tin từ văn bản tiếng Việt, tăng cường độ chính xác của mô hình. Quá trình cài đặt và tích hợp được thực hiện thông qua các API, đảm bảo tính linh hoạt và dễ dàng bảo trì.

3.2. Kết quả thực nghiệm và đánh giá

Các kết quả thực nghiệm cho thấy ứng dụng có khả năng phát hiện tên riêng với độ chính xác cao. Các trường hợp thử nghiệm bao gồm việc phát hiện tên riêng trong câu, tên người nước ngoài được phiên âm theo Hán Việt, và tên địa lý. Kết quả này khẳng định tính hiệu quả của ứng dụng trong việc hỗ trợ người dùng.

IV. Kết luận và hướng phát triển

Khóa luận đã thành công trong việc xây dựng một ứng dụng web hỗ trợ phát hiện tên riêng tiếng Việt bằng phương pháp học máy. Ứng dụng mang lại sự tiện lợi và độ chính xác cao, hỗ trợ người dùng trong việc phân tích văn bản. Trong tương lai, ứng dụng có thể được cải thiện bằng cách mở rộng bộ dữ liệu và tích hợp thêm các thuật toán học sâu như BiLSTM để nâng cao hiệu quả.

4.1. Giá trị thực tiễn của ứng dụng

Ứng dụng có giá trị thực tiễn cao, đặc biệt trong lĩnh vực xử lý ngôn ngữ tự nhiêncông nghệ thông tin. Nó giúp người dùng tiết kiệm thời gian và tránh các lỗi đáng tiếc trong việc viết và xuất bản văn bản. Ứng dụng cũng góp phần vào việc phát triển các công cụ hỗ trợ ngôn ngữ tiếng Việt.

4.2. Hướng phát triển trong tương lai

Trong tương lai, ứng dụng có thể được mở rộng bằng cách tích hợp các thuật toán học sâu như BiLSTM để cải thiện độ chính xác. Việc mở rộng bộ dữ liệu và tích hợp thêm các tính năng như phân tích ngữ cảnh cũng là những hướng phát triển tiềm năng.

21/02/2025

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

CHƯƠNG 1: HƯỚNG NGHIÊN CỨU VÀ NHỮNG ĐÁNH GIÁ LIÊN QUAN ĐÉN KHÓA LUẬN 1. Các hướng nghiên cứu, đánh giá liên quan đến luận văn 1. Word2vec Word2vec được tạo ra năm 2013 bởi một kỹ sư ở Google có tên là Tomas oo] Mikolov. Nó là một “model unsupervised learning”°, được training từ large corpus (kho đữ liệu lớn).

Chiều của Word2vec nhỏ hơn nhiều so với one-hot-encoding, với số chiều là NxD với N là Number of document và D là số chiều word embedding [1]. Word2vec có 2 model là skip-gram và Cbow: - Skip-gram model là model dự đoán dựa vào từ trung tâm dé dự đoán các từ xung quanh khi cho một từ cho trước [2] , ví dụ như: "Bạn Mai hôm nay di học rất chăm chỉ". Khi dùng 1 window search có size 3 ta thu được: {(Bạn,hôm), Mai}, {(Mai,nay), hôm}, {(hôm, di), nay}, {(nay,học), di}. Nhiệm vu của mô đồ là khi cho 1 từ trung tâm ví dụ: từ “đi” thì phải dự đoán các từ phía trước và phía sau là “nay” và “học”.

- Cbow là viết tắt của “continous bag of word”. Mô hình này ngược với model skip-gram tức là cho những từ xung quanh đề dự đoán từ trung tâm [3]. Trong thực tế người ta chỉ chọn một trong hai model đề training, Cbow thì training nhanh hơn nhưng độ chính xác không cao bằng skip-gram và ngược lại. Glove cũng được tạo ra năm 2013 bởi một nhóm nghiên cứu ở stanford.

Nó dựa trên word-count base model’, dùng kỹ thuật “matrix factorization” (thuật toán thừa số hóa ma trận hoạt động bằng cách phân rã ma trận tương tác giữa người dùng và 1 Học không giám sát (UL) là một loại thuật toán học các mẫu từ dữ liệu không được gắn thẻ. Hy vọng rằng, thông qua việc bắt chước, cỗ máy buộc phải xây dựng một bản trình bày bên trong nhỏ gọn về thé giới của nó va sau đó tạo ra nội dung giau trí tưởng tượng [11]. 2 Phương pháp dựa trên số lượng xem một từ đích theo bản chất của các từ cùng xuất hiện với từ đó trong nhiều ngữ cảnh. Điều này được xác định bằng cách sử dụng một số hình thức ước tính đồng xuất hiện.

Trong trường hợp này, nghĩa của một. từ được hình thành bởi các từ cùng xuất hiện với từ đó trong nhiều tình huống khác nhau [14]. mục thành tích của hai ma trận hình chữ nhật có kích thước nhỏ hơn) dé đưa matrix ban dau về các matrix nhỏ hon tương tự như model ở recommend system’. Word2vec man Em woman Ei Hình 1.

1: Minh họa về quá trình mã hóa cua Word2vec Theo nghiên cứu và đánh giá từ Word2vec chúng ta có thé thấy mô hình trên dựa vào việc biến đôi các từ thành những vector và dự đoán ra những từ xung quanh hoặc ngược lại. Điều này sẽ không thích hợp cho những từ giống nhau về hình thức nhưng khác nhau về ngữ nghĩa. Ví dụ: Chúng tôi có 2 câu: “ Cậu có muốn cá cược không ? ” “ Cậu có muốn con cá này không ? ” Ở 2 câu trên chúng ta có thé thay cùng là một từ cá nhưng nghĩa của chúng hoàn toàn khác nhau dan đến việc khó có thé áp dụng mô hình này vào trong luận văn. - Mô hình không dựa trên ngữ cảnh đề dự đoán.

Điều này sẽ gây khó khăn trong quá trình dự đoán liệu chữ hiện tại có phải là tên riêng hay không. RNN và LSTM Y tưởng chính cua RNN (Recurrent Neural Network) là sử dung 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à đầu ra là độc lập với nhau. RNN được gọi là hồi quy (Recurrent) bởi vì chúng thực hiện cùng một tác vụ cho tat cả các phân tử của một chuỗi với dau ra phụ thuộc vào cả các phép tính trước 3 Hệ thống đề xuất là một tính năng thiết yếu trong thế giới kỹ thuật số của chúng ta, vì người dùng thường bị choáng ngợp bởi sự lựa chọn và cần trợ giúp đề tìm kiếm những gì họ đang tìm kiếm.

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, RNN 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 đó (ta cùng bàn cụ thé van đề này sau) mà thôi. Về cơ bản một mạng RNN có dạng như sau: 0 O © t-l 0, Địy v| V vị § vị § - 0 > 4 W =p - 04 y0 5 KY >) Unfold W W U U lo lu x a x, x 1 t+l Hình 1. 2: Mô tả về quá trình hoạt động của RNN Mô hình trên mô tả phép triên khai nội dung của một RNN.

Triển khai ở đây có thé hiểu đơn giản là ta vẽ ra một mạng no-ron chuỗi tuần tự. Ví dụ: ta có một câu gồm 9 chữ “ Thúy Kiều và Thúy Vân là hai chị em ”, thì mạng nơ-ron được triển khai sẽ gồm 9 tầng nơ-ron tương ứng với mỗi chữ một tầng. Lúc đó việc tính toán bên trong RNN được thực hiện như sau: - xtla đầu vào tại bước t. Ví dụ, x1 là một vec-tơ one-hot tương ứng với tt thứ 2 của câu (Kiều).

- st là trạng thái ấn tại bước t. Nó chính là bộ nhớ của mạng. st được tính toán dựa trên cả các trạng thái ân phía trước và đầu vào tại bước đó: st = f(U(xt) + W(st-1)). Hàm f thường là một hàm phi tuyến tính như tang hyperbolic (tanh) hay ReLu.

Đề làm phép toán cho phan tử 4n đầu tiên ta cần khởi tạo thêm s—1, thường giá trị khởi tạo được gắn bang 0. - ot là đầu ra tại bước t. Ví dụ: ta muốn dự đoán từ tiếp theo có thể xuất hiện trong câu thì ot chính là một vec-tơ xác xuất các từ trong danh sách từ vựng của ta: ot=softmax(Vst). Trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP - Natural Language Processing) đã ghi nhận được nhiều thành công của RNN cho nhiều vấn đề khác nhau.

Tại thời điểm này, tôi muốn đề cập tới một mô hình phô biến nhất được sử dụng của RNN là LSTM. LSTM (Long Short-Term Memory) thê hiện được sự ưu việt ở điểm có thể nhớ được nhiều bước hơn mô hình RNN truyền thống. Nhưng bạn không cần phải quá lo lắng vì LSTM về cơ bản giống với cấu trúc của RNN truyền thống, chúng chỉ khác nhau ở cách tính toán của các nút ân. Theo nghiên cứu và đánh giá của RNN và LSTM có thể thấy răng RNN và LSTM hoạt động dự đoán dựa trên ngữ cảnh của những dữ liệu từ, những từ trước đó so với từ hiện tại, nhưng lại không xét những từ sau đó.

Điều này gây ra một số van dé làm ảnh hưởng đến kết quả dự đoán. Chúng ta sẽ xét qua ví dụ sau dé thay rõ hơn: Ví du: Có 2 cau: A: “Hôm nay tôi mang 20 triệu. B: “Hôm nay tôi mang 20 triệu. Dựa vào 2 câu trên ta có thê thay ở câu A việc biệt được từ phía sau là từ nào thì việc xác định của từ trong dâu “.” được dê dàng hơn rât nhiêu so với câu B.

BiLSTM BiLSTM (Bidirectional Long Short-Term Memory) là một mô hình mang nâng cấp dựa trên mang LSTM. Thay vì chi quan tâm đến ngữ cảnh nằm ở trước từ được xét như LSTM thì BiLSTM còn có thé quan tâm đến ngữ cảnh của những từ sau từ được xét. Mô hình làm được như vậy bởi vì nó sử dụng 2 mô hình LSTM cho 2 chiều phải và trái [5]. Ngoài ra vì cốt lõi vẫn là LSTM nên BiLSTM được thừa hưởng hết những đặc tính của LSTM.

Với sự nâng cấp trên, mô hình BiLSTM rất thích hợp đề áp dụng để giải bài toán của chúng tôi. Hướng nghiên cứu chính của khóa luận Luận văn của chúng tôi được phát trién dựa trên mô hình mạng BiLSTM. Dựa vào BiLSTM chúng tôi tạo ra một bộ dữ liệu mà trong đó mỗi dòng dữ liệu của chúng tôi sẽ chứa các thông tin của từ phía trước và từ phía sau của từ được xét. Nhưng thay vì quan tâm hết tất cả thì chúng tôi sẽ xét cứng có bao nhiêu dữ liệu được quan tâm so với một từ được xét.

Điều này giúp tăng tốc độ xử lí và trong quá trình huấn luyện máy có thê học được nhiều hơn. Dưới đây là 2 ví dụ so sánh giữa BILSTM và hướng nghiên cứu của chúng tôi: Ví dụ 1: Cách làm việc của model BiLSTM: DỮ KIÊN PHÍA TRƯỚC VÀ PHÍA SAU Hình 1. 4: Mô tả cách thức hoạt động cua BiLSTM, mô hình sé dùng hai LSTM để thu thập thông tin về những từ đứng trước và đứng sau từ “năng” nhằm xác định ngữ cảnh của từ trong câu. Ví dụ 2: Cách xây dựng bộ dữ liệu của luận văn bằng cách lấy thông tin về ba từ đứng trước và ba từ đứng sau của từ “năng” nhăm xác định ngữ cảnh của từ trong câu.

J Điểm nổi bật của Trend Micro Titanium Bo là khi|nâng hoạt động mượt] mà trên cả những hệ thống có cấu hình không quá mạnh. DỮ KIÊN PHÍA TRƯỚC VÀ PHÍA SAU Hình 1. 5: Mô tả cách thức xây dựng bộ dữ liệu. CHƯƠNG 2: CƠ SỞ VÀ PHƯƠNG PHÁP NGHIÊN CỨU 2.

Sơ lược về bộ dữ liệu sử dụng trong luận văn 2. Sơ lược về bộ dữ liệu Như đã nói ở trên, cách để tạo ra bộ dữ liệu là phương pháp nghiên cứu chính của đự án. Dựa trên nguyên lí hoạt động của mô hình mạng BILSTM, chúng tôi áp dụng và điều chỉnh đề tạo ra bộ dữ liệu và đưa bài toán của chúng tôi về bài toán phân lớp (Classification). Dựa trên những mẫu báo, mẫu truyện được trích xuất và đưa qua VnCoreNLP dé có thé lay được những thông tin cần thiết cho việc tái lập ngữ cảnh của từ được xét.

Dưới đây là quy trình thiết lập ra bộ dữ liệu: Trích xuất những thông tin cân thiệt và dán nhãn cười Văn học Việt Nam Hình 2. 1: Sơ đô mô tả về quá trình tạo ra bộ dữ liệu cho luận văn 2. Tìm hiểu về VnCoreNLP VnCoreNLP là một đường dẫn chú thích Java NLP cho tiếng Việt. Nó hỗ trợ các tác vụ xử lý ngôn ngữ tự nhiên (NLP) chính bao gồm phân đoạn từ, gắn thẻ một phần giọng nói (POS), nhận dạng thực thể được đặt tên (NER) và phân tích cú pháp phụ thuộc, đồng thời thu được các kết quả hiện tại (SOTA) cho những nhiệm vụ [6].

Việc phát hành VnCoreNLP dé cung cap các chú thích ngôn ngữ 10 phong phú nhằm tạo điều kiện thuận lợi cho công việc nghiên cứu về NLP Việt Nam. im hd es +r O-Q-- #6 ®@ 2+ ff Package Explorer $3 =. ØìVnCoreNLPExamplejava #3 E=ẲẰ© = # import vn.

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

Xây Dựng Ứng Dụng Web Phát Hiện Tên Riêng Tiếng Việt Bằng Máy Học là một khóa luận chuyên sâu trong lĩnh vực Truyền Thông & Mạng Máy Tính, tập trung vào việc ứng dụng máy học để nhận diện và phân loại tên riêng tiếng Việt trong các văn bản. Tài liệu này không chỉ cung cấp cái nhìn chi tiết về quy trình xây dựng ứng dụng web mà còn làm nổi bật các thách thức và giải pháp trong xử lý ngôn ngữ tự nhiên (NLP) đối với tiếng Việt. Độc giả sẽ được hưởng lợi từ việc hiểu rõ hơn về cách tích hợp máy học vào các ứng dụng web, đồng thời nắm bắt được các kỹ thuật tối ưu hóa hiệu suất và độ chính xác của mô hình.

Để mở rộng kiến thức về phát triển ứng dụng web, bạn có thể tham khảo Phát triển website quản lý cửa hàng bán máy đào coin sử dụng Angular và .NET Framework, một đồ án tốt nghiệp chi tiết về việc xây dựng hệ thống quản lý với công nghệ hiện đại. Ngoài ra, Đồ án phát triển website tìm kiếm cửa hàng sản phẩm sử dụng MERN Stack và Google Maps API sẽ giúp bạn hiểu rõ hơn về việc tích hợp các công nghệ mới vào ứng dụng web. Cuối cùng, Nghiên cứu mô hình MVC Laravel và xây dựng website đăng ký đề tài luận văn là một tài liệu hữu ích để khám phá cách áp dụng mô hình MVC trong phát triển web. Mỗi liên kết là cơ hội để bạn đào sâu hơn vào các chủ đề liên quan, từ đó nâng cao kỹ năng và kiến thức của mình.