1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu ứng dụng các kỹ thuật xử lý ngôn ngữ tự nhiên hỗ trợ phân loại tự động phản hồi công dân

66 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 66
Dung lượng 1,52 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO UBND TỈNH THANH HÓA TRƯỜNG ĐẠI HỌC HỒNG ĐỨC TRẦN VĂN NGỌC NGHIÊN CỨU ỨNG DỤNG CÁC KỸ THUẬT XỬ LÝ NGÔN NGỮ TỰ NHIÊN HỖ TRỢ PHÂN LOẠI TỰ ĐỘNG PHẢN HỒI CÔNG DÂN LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN THANH HÓA - 2019 BỘ GIÁO DỤC VÀ ĐÀO TẠO UBND TỈNH THANH HÓA TRƯỜNG ĐẠI HỌC HỒNG ĐỨC TRẦN VĂN NGỌC NGHIÊN CỨU ỨNG DỤNG CÁC KỸ THUẬT XỬ LÝ NGÔN NGỮ TỰ NHIÊN HỖ TRỢ PHÂN LOẠI TỰ ĐỘNG PHẢN HỒI CÔNG DÂN LUẬN VĂN THẠC SĨ CÔNG NGHỆ THƠNG TIN Chun ngành: KHOA HỌC MÁY TÍNH Mã số: 8480101 Người hướng dẫn khoa học: TS NGUYỄN THẾ CƯỜNG THANH HÓA - 2019 Danh sách Hội đồng chấm luận văn Thạc sĩ khoa học theo Quyết định số 1662/QĐ-ĐHHĐ ngày 17 tháng 10 năm 2019 Hiệu trưởng Trường Đại học Hồng Đức: Học hàm, học vị, Họ tên TS Hoàng Văn Dũng TS Trần Quang Diệu TS Vũ Việt Vũ Cơ quan Công tác Chức danh Hội đồng ĐH Quảng Bình Học viện Chính trị Quốc gia Hồ Chí Minh Viện CNTT – ĐHQG Hà Nội Chủ tịch Phản biện Phản biện Ts Phạm Thế Anh ĐH Hồng Đức Ủy viên TS Trịnh Viết Cường ĐH Hồng Đức Thư ký Xác nhận Người hướng dẫn Học viên chỉnh sửa theo ý kiến Hội đồng Ngày 11 tháng 11 năm 2019 Nguyễn Thế Cường i LỜI CAM ĐOAN Tôi xin cam đoan: Những nội dung luận văn thực trực tiếp hướng dẫn thầy giáo TS Nguyễn Thế Cường Mọi tham khảo dùng luận văn trích dẫn rõ ràng tên tác giả, tên cơng trình, thời gian, địa điểm công bố Mọi chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, xin chịu hồn tồn trách nhiệm Thanh Hóa, ngày 03 tháng 10 năm 2019 Tác giả luận văn Trần Văn Ngọc ii LỜI CẢM ƠN Lời xin bày tỏ lòng biết ơn chân thành đến Ban Giám Hiệu, thầy giáo, cô giáo trường Đại học Hồng Đức giảng dạy tạo điều kiện cho học tập, nghiên cứu hoàn thành luận văn Đặc biệt, tơi xin bày tỏ kính trọng lòng biết ơn sâu sắc đến TS Nguyễn Thế Cường, người tận tình hướng dẫn giúp đỡ tơi suốt q trình học tập, nghiên cứu hồn thành luận văn Tôi chân thành cảm ơn thầy cô, đồng nghiệp trường Dự bị Đại học Dân tộc Sầm Sơn nơi công tác tạo điều kiện hỗ trợ suốt thời gian qua Cám ơn đội ngũ kỹ sư Công ty Cổ phần ThinkLABs hỗ trợ việc thu thập liệu xây dựng module chức liên quan Tôi xin chân thành cảm ơn người thân, bạn bè giúp đỡ động viên suốt thời gian học tập thời gian thực luận văn Xin chân thành cảm ơn! Tác giả luận văn Trần Văn Ngọc iii MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ v MỞ ĐẦU 1 Lí chọn đề tài Mục tiêu nghiên cứu Đối tượng phạm vi nghiên cứu Phương pháp nghiên cứu Kết đạt Ý nghĩa khoa học thực tiễn Bố cục Luận văn CHƯƠNG 1: BÀI TOÁN PHÂN LOẠI PHẢN HỒI CÔNG DÂN 1.1 Tổng quan hệ thống tiếp nhận trả lời phản hồi cơng dân 1.1.1 Quy trình gửi thông tin phản hồi 1.1.2 Quy trình tiếp nhận thơng tin phản hồi 10 1.1.3 Quy trình xử lý thơng tin phản hồi 11 1.2 Bài tốn phân loại phản hồi cơng dân 12 1.3 Kết luận chương 14 CHƯƠNG 2: CÁC PHƯƠNG PHÁP PHÂN LOẠI VĂN BẢN 15 2.1 Tổng quan phân loại văn 15 2.2 Bài toán phân loại văn 16 2.2.1 Định nghĩa 16 2.2.2 Phát biểu toán 16 2.2.3 Phân loại 17 2.3 Biểu diễn văn phân loại văn 18 2.3.1 Sử dụng vector thuộc tính 18 2.3.2 Lựa chọn thuộc tính 19 2.4 Khai phá liệu phân loại văn 20 2.4.1 Khai phá liệu 20 2.4.2 Phân lớp phân cụm liệu 22 iv 2.4.3 Sử dụng phương pháp gần phân loại văn 23 2.5 Các phương pháp phân loại văn truyền thống 31 2.5.1 Phương pháp k-nearest Neighbour 31 2.5.2 Phương pháp Naive Bayes (NB) 32 2.5.3 Phương pháp Linear Least Square Fit – LLSF 33 2.5.4 Phương pháp Centroid-based 34 2.5.5 Phương pháp Support Vector Machine (SVM) 35 2.6 Tập nhúng từ (word embedding) vai trị biểu diễn ngơn ngữ 35 2.7 Kết luận chương 44 CHƯƠNG 3:ỨNG DỤNG KỸ THUẬT PHÂN LOẠI VĂN BẢN TRONG PHÂN LOẠI PHẢN HỒI CÔNG DÂN 45 3.1 Giới thiệu thư viện Fasttext 45 3.1.1 Biểu diễn từ 45 3.1.2 Phân loại văn 47 3.2 Áp dụng thư viện fastText cho toán phân loại phản hồi công dân 52 3.3 Kết luận chương 55 KẾT LUẬN & HƯỚNG PHÁT TRIỂN 56 KẾT LUẬN 56 HƯỚNG PHÁT TRIỂN 56 TÀI LIỆU THAM KHẢO 57 v DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 1.1: Tổng quan mục tiêu hệ thống tiếp nhận trả lời phản hồi Hình 1.2: Mơ hình tổng quan hệ thống tiếp nhận trả lời công dân Hình 1.3: Quy trình gửi thơng tin góp ý người dùng lên hệ thống phản hồi công dân Hình 1.4: Quy trình tiếp nhận thông tin phản hồi 10 Hình 1.5: Quy trình xử lý thông tin phản hồi nhận từ hệ thống 12 Hình 1.6: Mơ hình tốn phân loại văn 13 Hình 2.1: Tháp mơ tả q trình trích thơng tin từ liệu 21 Hình 2.2: Kiến trúc mạng skip-gram 42 Hình 3.1: Dữ liệu huấn luyện nội trợ (cooking) tải từ StackExchange 48 Hình 3.2: Dữ liệu huấn luyện mơ hình phân lớp văn 53 Hình 3.3: Giao diện phân loại chủ đề 54 Hình 3.4: Phân loại liệu liệu đầu vào cho kết thuộc lĩnh vực an tồn giao thơng 54 Hình 3.5: Phân loại liệu liệu đầu vào cho kết thuộc lĩnh vực hạ tầng th.……………………………………………………………………………… .55 Hình 3.6: Phân loại liệu liệu đầu vào cho kết thuộc lĩnh vực mơi trường …………………………………………………………………………………… 55 MỞ ĐẦU Lí chọn đề tài Thanh Hoá tỉnh mạnh việc áp dụng công nghệ thông tin vào công tác quản lý, giảm thủ tục hành chính, tăng tính kết nối cho người dân quyền Hiện UBND Tỉnh ban hành nhiều định nhằm tạo nên khung pháp lý tạo sở pháp lý để tổ chức, cá nhân tham gia vào q trình xây dựng quyền điện tử dịch vụ thành phố thông minh - Quyết định 2538/QĐ-UBND phê duyệt đề án xây dựng Chính quyền điện tử phát triển dịch vụ thành phố thơng minh tỉnh Thanh Hóa, giai đoạn 2017 – 2020 - Quyết định 3089/QĐ-UBND ngày 22/8/2017 phê duyệt Kiến trúc Chính quyền điện tử tỉnh Thanh Hóa - Quyết định 1025/QĐ-UBND ngày 04/4/2017, ban hành Kế hoạch hành động đẩy mạnh cải cách hành chính, cải thiện mạnh mẽ môi trường đầu tư kinh doanh, hỗ trợ phát triển doanh nghiệp nâng cao lực cạnh tranh tỉnh Thanh Hóa giai đoạn 2016 – 2020 Tuy nhiên, việc tiếp nhận phản ánh để kịp thời giải quyết, tháo gỡ khó khăn, vướng mắc, kiến nghị, đề xuất doanh nghiệp, người dân thực theo kênh truyền thống như: - Chủ tịch UBND tỉnh trì lịch tiếp doanh nghiệp lịch tiếp công dân định kỳ hàng tháng - Thông qua kênh tiếp nhận giải văn truyền thống - Thông qua báo đài phương tiện thông tin đại chúng, hay đầu mối tiếp dân địa phương Các kênh kết nối nhiều hạn chế, thủ tục phức tạp, trình tiếp nhận xử lý tốn nhiều thời gian, công sức nên thu hút chủ động tham gia đóng góp ý kiến người dân doanh nghiệp Vì vậy, u cầu thực tế địi hỏi hệ thống với mục đích tăng cường tính kết nối người dân, doanh nghiệp quyền, giảm thủ tục hành chính, tiết kiệm thời gian chi phí cho việc kết nối người dân quyền Một vấn đề cần phải giải xây dựng hệ thống kết nối người dân việc phân loại tự động phản hồi người dân Việc phân loại tự động hỗ trợ hệ thống giảm thời gian xử lý phản hồi, từ tăng hiệu xử lý cơng việc Từ yêu cầu đặt thực tế, chọn thực đề tài “Nghiên cứu ứng dụng kỹ thuật xử lý ngôn ngữ tự nhiên hỗ trợ phân loại tự động phản hồi cơng dân” nhằm tìm kiếm xây dựng giải pháp phân loại tự động phản hồi công dân làm liệu đầu vào cho hệ thống tiếp nhận xử lý phản hồi cơng dân tỉnh Thanh Hố Mục tiêu nghiên cứu - Nghiên cứu toán phân loại văn nói chung tốn phân loại phản hồi cơng dân hoạt động phủ điện tử nói riêng - Nghiên cứu thuật tốn học máy có giám sát sử dụng phân loại văn tiếng việt - Đề xuất giải thuật phân loại phản hồi công dân áp dụng hoạt động tiếp nhận xử lý phản hồi công dân - Xây dựng demo hệ thống kiểm thử đánh giá Đối tượng phạm vi nghiên cứu Các phương pháp phân loại văn tự động, ý kiến phản hồi công dân, doanh nghiệp tỉnh Thanh Hoá Phương pháp nghiên cứu Đề tài sử dụng hai phương pháp nghiên cứu chính: phương pháp nghiên cứu lý thuyết phương pháp nghiên cứu thực nghiệm - Phương pháp nghiên cứu lý thuyết: nghiên cứu tài liệu quy trình cơng nghệ liên quan; phân tích, tổng hợp tài liệu kỹ thuật học máy, phương pháp, kỹ thuật phân loại văn - Phương pháp nghiên cứu thực nghiệm: phân tích yêu cầu thực tế toán cách thức thu nhận thông tin phản hồi từ cá nhân, doanh nghiệp; phương pháp, kỹ thuật phân loại văn bản; thiết kế, xây dựng, 44 quan hệ italy rome tương tự với quan hệ france paris quan hệ quan hệ đất nước thủ đô c Mô hình Fasttext Một nhược điểm lớn word2vec mơ hình sử dụng từ có dataset, để khắc phục điều có FastText mở rộng Word2Vec, xây dựng Facebook năm 2016 Thay huấn luyện cho đơn vị word, mơ hình fasttext chia văn làm nhiều đoạn nhỏ gọi n-gram cho từ, ví dụ apple thành app, ppl, and ple, vector từ apple tổng tất Do vậy, mơ hình xử lý tốt cho trường hợp từ gặp 2.7 Kết luận chương Trong chương này, luận văn giới thiệu tổng quan phân loại văn bản, định nghĩa khái niệm, cách biểu diễn văn phân loại văn bản, tìm hiều liệu văn bản, cách thức phân lớp phân cụm liệu văn Luận văn trình bày phương pháp gần phân loại văn như: Phương pháp k-nearest Neighbour, Phương pháp Naive Bayes (NB), Phương pháp Linear Least Square Fit – LLSF, Phương pháp Centroid-based, Phương pháp Support Vector Machine (SVM) trình bày tập nhúng từ (word embedding) vai trò biểu diễn ngôn ngữ 45 CHƯƠNG 3: ỨNG DỤNG KỸ THUẬT PHÂN LOẠI VĂN BẢN TRONG PHÂN LOẠI PHẢN HỒI CÔNG DÂN 3.1 Giới thiệu thư viện Fasttext fastText thư viện miễn phí, mã nguồn mở, nhẹ cho phép người dùng tìm hiểu biểu diễn văn phân loại văn Fasttext cho phép hoạt động phần cứng tiêu chuẩn phần cứng đặc thù Các mơ hình xây dựng trước giảm kích thước để chí phù hợp với thiết bị di động 3.1.1 Biểu diễn từ Fasttext biểu diễn từ vector Để xây dựng vector, cần kho liệu lớn văn Tuỳ thuộc vào kho liệu khác nhau, vector xây dựng khác fastText cho phép sử dụng kho liệu có sẵn đề xây dựng vector a Xây dựng vector từ Việc xây dựng vector từ thực câu lệnh đơn sau (trong fil9 liệu lấy từ English Wikipedia): >>>import fasttext >>>model = fasttext.train_unsupervised('data/fil9') Để thực dòng lệnh này, /fasttext gọi thư viện fastText có sử dụng mơ hình skipgram (hoặc dùng cbow) để xây dựng vector từ Trong cú pháp lệnh, lựa chọn -input liệu đầu vào lựa chọn -output liệu kết (chứa vector từ) Kết thực cho tệp: tệp chứa mơ hình fastText tệp chưa vector từ Trong ví dụ nêu trên, kết gồm tệp fil9.bin fil9.vec Ta xem nội dung tệp chứa vector từ fil9.vec sau: >>>model.get_word_vector("the") array([-0.03087516,0.09221972, 0.17660329, 0.17308897, 0.12863874, 46 0.13912526, -0.09851588, 0.00739991, 0.37038437, -0.00845221, … -0.21184735, -0.05048715, -0.34571868, 0.23765688, 0.23726143], dtype=float32) Dòng tiêu đề chứa số lượng từ chiều vector Các dòng vector từ cho tất từ từ vựng, xếp theo tần số giảm dần b Điều chỉnh tham số Thơng thường, sử dụng mơ hình fastText với tham số mặc định, nhiên, tùy thuộc vào liệu sử dụng để huấn luyện tham số khơng tối ưu Chúng ta điều chỉnh tham số để tối ưu hiệu hoạt động mô hình Có số tham số cho vector từ điều chỉnh Các tham số quan trọng mơ hình kích thước phạm vi kích thước cho từ khóa Giá trị kích thước (dim) kiểm sốt kích thước vector mà mơ hình sử dụng, vector có kích thước lớn có nhiều thơng tin nắm bắt đòi hỏi nhiều liệu huấn luyện Nhưng, kích thước vector lớn, trình huấn luyện khó chậm Theo mặc định, kích thước vector sử dụng 100, giá trị phạm vi 100-300 sử dụng Các từ khóa tất chuỗi có từ kích thước tối thiểu (minn) kích thước tối đa (maxn) Theo mặc định, mơ hình sử dụng tất từ phụ khoảng từ đến ký tự, kích thước cửa sổ khác phù hợp ngôn ngữ khác >>>import fasttext >>>model = fasttext.train_unsupervised('data/fil9', minn=2, maxn=5,dim=300) Ví dụ cho thấy xây dựng vector từ có cửa sổ phạm vi từ 47 đến từ có kích thước vector 300.Một tham số quan trọng mơ hình số lần học lặp lại nguồn liệu huấn luyện Tùy thuộc vào kích thước liệu, tham số epoch thiết lập cho phù hợp Theo mặc định, giá trị epoch nghĩa liệu huấn luyện chạy lần Nếu số lượng liệu lớn, cần số lần lặp lại liệu thời gian chạy liệu huấn luyện lớn Một tham số quan trọng tốc độ huấn luyện Tốc độ huấn luyện cao mơ hình fastText hội tụ đến giải pháp nhanh, nhiên khả vừa (overfitting) với liệu huấn luyện cao Giá trị mặc định 0.05, nhiên khuyến cáo sử dụng phạm vi [0.01, 1] >>>import fasttext >>>model = fasttext.train_unsupervised('data/fil9', epoch=1, lr=0.5) Ví dụ xây dựng vector với số lần lặp tốc độ huấn luyện 0.5 3.1.2 Phân loại văn Mục tiêu giai đoạn gán văn cho với nhiều lớp liệu xây dựng sẵn Các lớp liệu xây dựng cung cấp người dùng cung cấp tổ chức có uy tín Để xây dựng phân lớp văn bản, cần gán nhãn liệu giai đoạn huấn luyện Để hiểu trình phân loại văn fastText, xét ví dụ việc phân loại câu hỏi liên quan đến nội trợ Chúng ta gán câu hỏi vào chủ đề “pot”, “bowl”, “baking” a Chuẩn bị liệu huấn luyện Như trình bày phần trên, trình chuẩn bị, liệu huấn luyện cần gán nhãn để huấn luyện cho mơ hình Trong ví dụ này, xây dựng mơ hình phân lớp liệu liên quan đến câu hỏi nấu nướng Dữ 48 liệu câu hỏi mẫu tải từ trang StackExchange gán nhãn tương ứng Hình 3.1: Dữ liệu huấn luyện nội trợ (cooking) tải từ StackExchange Mỗi dòng tệp văn chứa danh sách nhãn, theo sau câu hỏi tương ứng Tất nhãn bắt đầu tiền tố label , cách fastText nhận đâu nhãn đâu từ câu Mơ hình sau huấn luyện để dự đoán nhãn cho từ câu hỏi đưa Trước đào tạo trình phân loại thực hiện, liệu chia thành hai phần: liệu huấn luyện liệu đánh giá Dữ liệu đánh giá sử dụng để đánh giá mức độ tốt phân loại liệu Dữ liệu huấn luyện (cooking.train) 80% số mẫu liệu có, liệu đánh giá (cooking.valid) 20% số mẫu liệu có b Huấn luyện mơ hình Sử dụng fastText để huấn luyện mơ sau: >>>import fasttext >>>model = fasttext.train_supervised(input="cooking.train") Read 0M words Number of words:14598 Number of labels: 734 Progress: 100.0%words/sec/thread: 75109lr: 0.000000loss: 5.708354eta: 0h0m Đối số input tệp chứa mẫu huấn luyện Bây https://cooking.stackexchange.com/ 49 sử dụng biến model để truy cập thơng tin mơ hình huấn luyện Chúng ta gọi save_model để lưu dạng tệp tải sau với chức load_model >>> model.save_model("model_cooking.bin") Chúng ta kiểm tra mơ hình việc đưa vào câu hỏi sau: >>> model.predict("Which baking dish is best to bake a banana bread?") ((u' label baking',) array([0.15613931])) Kết câu hỏi “Loại đĩa nướng phù hợp để nướng bánh mì chuối” thuộc phân lớp “baking” (nướng bánh) phù hợp với dự kiến người kiểm thử Tuy nhiên, có trường hợp câu trả lời câu hỏi không với ý định người hỏi Điều phụ thuộc vào liệu huấn luyện Để đánh giá độ xác liệu huấn luyện, dùng phương pháp đánh giá Bước đầu, cần xác định chất lượng liệu đánh sau: >>>model.test("cooking.valid") (3000L, 0.124, 0.0541) Kết dầu số lượng mẫu (ở 3000), độ xác giá trị k = 0.124 giá trị recall k=1 0,0541 Đối với trường hợp k=5, kết là: >>>model.test("cooking.valid", k=5) (3000L, 0.0668, 0.146) c Độ xác (precision) recall Độ xác số lượng nhãn xác số nhãn dự đoán fastText Giá trị recall số lượng nhãn dự đốn thành cơng, số tất nhãn thực Hãy lấy ví dụ để làm rõ điều này: Với câu hỏi “Why not put knives in the dishwasher?”, sở liệu 50 gán nhãn “equipment”, “cleaning”và“knives” Nếu chạy mô hình với giá trị k = 5, ta có danh sách nhãn có giá trị lớn câu hỏi “food-safety”, “baking”, “equipment”, “substitutions” “bread” >>>model.predict("Why not put knives in the dishwasher?", k=5) ((u' label food-safety', u' label equipment', u' label baking', u' label substitutions', u' label bread'), array([0.0857, 0.0657, 0.0454, 0.0333, 0.0333])) Tuy nhiên có nhãn đúng, độ xác 0,20, nhãn thực câu hỏi dự đoán đúng, giá trị recall 0,33 d Cải tiến mơ hình dự đốn Mơ hình huấn luyện với giá trị mặc định hoạt động hiệu với truy vấn Để cải tiến mơ hình dự đốn, cần có điều chỉnh tham số trình huấn luyện - Tiền xử lý liệu: Nếu xem xét liệu huấn luyện, ta thấy có nhiều từ in hoa, có nhiều dấu chấm câu Điều ảnh hưởng nhiều đến liệu huấn luyện Ta cần tiền xử lý sau: >> cat cooking.stackexchange.txt | sed -e "s/\([.\!?,'/()]\)/ \1 /g"| tr"[:upper:]""[:lower:]"> cooking.preprocessed.txt >> head -n 12404 cooking.preprocessed.txt > cooking.train >> tail -n 3000 cooking.preprocessed.txt > cooking.valid Sau đó, thực thao tác huấn luyện lại mơ hình với liệu huấn luyện >>>importfasttext >>>model = fasttext.train_supervised(input="cooking.train") Read 0M words Number of words:9012 Number of labels: 734 Progress: 100.0%words/sec/thread: 82041lr: 0.000000loss: 51 5.671649eta: 0h0m >>>model.test("cooking.valid") (3000L, 0.164, 0.0717) Với thay đổi liệu huấn luyện, độ xác mơ hình tăng khoảng 4% - Tăng số bước lặp tăng tốc độ huấn luyện Mặc định thư viện fastText làm việc với ghi liệu huấn luyện lần trình huấn luyện mơ hình, giá trị tương đối nhỏ so với tổng số liệu tệp huấn luyện Giá trị lặp thay đổi tham số -epoch Thử huấn luyện lại mơ hình với tham số lặp 25 >>>import fasttext >>>model = fasttext.train_supervised(input="cooking.train",epoch=25) Read 0M words Number of words:9012 Number of labels: 734 Progress: 100.0%words/sec/thread: 77633lr: 0.000000loss: 7.147976eta: 0h0m Kiểm thử lại mô hình: >>>model.test("cooking.valid") (3000L, 0.501, 0.218) Kết mơ hình trở nên tốt nhiều so với mô hình kiểm thử phần Như vậy, việc điều chỉnh tham số trình huấn luyện làm tăng hiệu hoạt động mơ hình dự đoán e Gán nhãn liệu nhiều lớp Khi muốn gán văn cho nhiều nhãn, sử dụng hàm mát softmax điều chỉnh tham số để dự đoán, cụ thể 52 số lượng nhãn để dự đoán ngưỡng cho xác suất dự đoán Tuy nhiên, điều chỉnh với đối số khó khơng trực quan xác suất phải tổng Một cách thuận tiện để xử lý nhiều nhãn sử dụng phân loại nhị phân độc lập cho nhãn Điều thực với -loss-one-vsall -loss ova >>>import fasttext >>>model = fasttext.train_supervised(input="cooking.train", lr=0.5,epoch=25, wordNgrams=2, bucket=200000, dim=50, loss='ova') Read 0M words Number of words:14543 Number of labels:735 Progress: 100.0% words/sec/thread:72104 lr: 0.000000loss:4.340807ETA:0h 0m Kiểm thử với câu hỏi mà đề cập phần >>>model.predict("Which baking dish is best to bake a banana bread?",k=-1, threshold=0.5) ((u'' label baking,u' label bananas', u' label bread'), array([1.00000, 0.939923, 0.592677])) Kết cho thấy câu hỏi thuộc vào nhãn label baking, label bananas, label bread 3.2 Áp dụng thư viện fastText cho tốn phân loại phản hồi cơng dân Thư viện fastText cung cấp cho người dùng khả xây dựng mơ hình phân lớp văn Để áp dụng cho tốn phản hồi cơng dân, liệu thu thập từ nguồn liệu khác lĩnh vực quan tâm Cụ thể lĩnh vực: - Hạ tầng đô thị 53 - Công vụ - công chức - Nhà đất – xây dựng - An tồn giao thơng - An ninh trật tự - Hàng hố – dịch vụ - Mơi trường Dữ liệu thu thập, tiền xử lí, gán nhãn lưu trữ tệp văn Dữ liệu huấn luyện gồm 3006 ghi gán nhãn lĩnh vực quan tâm Dữ liệu định dạng Hình 3.2 Hình 3.2: Dữ liệu huấn luyện mơ hình phân lớp văn 54 Sau xây dựng mơ hình huấn luyện cho mơ hình, tác giả kiểm thử q trình hoạt động mơ hình việc xây dựng chức tự động phân loại liệu đầu vào Tác giả sử dụng thư viên có sẵn fastText kết hợp với ngơn ngữ lập trình React nhằm phát triển giao diện người dùng Bộ phân lớp cài đặt máy chủ độc lập, sau máy chủ cung cấp API cho người dùng để sử dụng phân lớp cài đặt Hình 3.3: Giao diện phân loại chủ đề Dữ liệu sau nhập vào, phân loại thành nhiều lĩnh vực tuỳ thuộc nội dung phản hồi Mức độ phù hợp đánh giá tỉ lệ % giá trị liệu nhập vào Độ xác xác nhận người dùng chuyên gia thuộc lĩnh vực liên quan, đạt 80% Hình 3.4: Phân loại liệu liệu đầu vào cho kết thuộc lĩnh vực an tồn giao thơng 55 Hình 3.5: Phân loại liệu liệu đầu vào cho kết thuộc lĩnh vực hạ tầng thị Hình 3.6: Phân loại liệu liệu đầu vào cho kết thuộc lĩnh vực mơi trường Thư viện fastText cịn cung cấp giao diện lập trình để người dùng xây dựng mơ hình, huấn luyện mơ hình kết xuất thông tin phục vụ cho việc phát triển ứng dụng khác liên quan đến phân lớp liệu dạng văn 3.3 Kết luận chương Trong chương này, luận văn trình bày thư viện fastText cung cấp Facebook Luận văn áp dụng thư viện để triển khai mơ hình phân lớp phản hồi xây dựng tập huấn luyện cho mơ hình phân lớp phản hồi 56 KẾT LUẬN & HƯỚNG PHÁT TRIỂN KẾT LUẬN Sau thời gian nghiên cứu, luận văn đạt số kết sau: - Trình bày tốn phân loại phản hồi công dân thông qua việc phân loại nội dung phản hồi công dân, doan nghiệp gửi đến hệ thống tiếp nhận, xử lý phản hồi ý kiến công dân - Hiểu toán phân loại văn bản, cách biểu diễn văn dạng thơng tin thuộc tính thống kê, cách thức xây dựng mơ hình học máy cho toán phân loại văn bản, phương pháp phân loại văn sử dụng nay; - Hiểu nguyên lý, phương pháp triển khai xây dựng mơ hình phân lớp văn tự động dựa thư viện fastText cung cấp Facebook; xây dựng sở liệu huấn luyện cho mơ hình phân lớp đề xuất - Thử nghiệm xây dựng chức phân loại văn theo chủ đề có HƯỚNG PHÁT TRIỂN Hướng phát triển đề tài tập trung vào bổ sung, xây dựng nhiều liệu cho mơ hình phân lớp nhằm đa dạng hố liệu huấn luyện Sau hồn thiện mơ hình, áp dụng giao diện lập trình fastText để phát triển ứng dụng phân loại phản hồi cho hệ thống tiếp nhận, xử lý phản hồi ý kiến công dân thuộc dịch vụ thành phố thông minh 57 TÀI LIỆU THAM KHẢO * Tiếng Việt [1] Trần Hoàng Hiệp, “Nghiên cứu giải thuật Naive Bayes toàn phân loại văn bản”,Đại học Bách Khoa Hà Nội, 2012 [2] Lưu Trường Huy, “Nghiên cứu cải tiến số phương pháp phân loại văn tự động áp dụng xử lý văn tiếng Việt” , Đại học Công nghệ - Đại học Quốc gia Hà Nội, 2008 [3] Phạm Thị Ngọc,” Phát triển chương trình thử nghiệm áp dụng kỹ thuật mục kỹ thuật tìm kiếm văn theo nội dung sở liệu đa phương tiện”, Đại học Thái Nguyên, 2008 [4] Nguyễn Thị Cẩm Quỳnh, “Nghiên cứu số kỹ thuật xử lý ngôn ngữ tiếng việt ứng dụng“ , Đại học Huế - Trường Khoa học Nhân văn, 2015 [5] Nguyễn Trần Thiên Thanh Trần Khải Hồng, “Tìm hiểu hướng tiếp cận toán phân loại văn xây dựng phần mềm phân loại tin tức báo điện tử”, Trường Đại học Khoa học Tự nhiên, 2005 [6] Võ Duy Thanh, “Nghiên cứu ứng dụng kỹ thuật học bán giám sátvào lĩnh vực phân loại văn tiếng việt”, Đại học Đà Nẵng, 2017 * Tiếng nước [7] Daniel Jurafsky and James H Martin, “Speech and Language Processing an Introduction to Natural Language Processing”, Computational Linguistics, and Speech Recognition, Second Edition 2nd edition PrenticeHall, 2009 [8] Indurkhya, Nitin and Fred Damerau, “Handbook of Natural Language Processing (second edition)”, Chapman & Hall/CRC, 2010 [9] Edward Loper - Steven Bird and Ewan Klein, “Natural Language 58 Processing with Python”, Production Editor: Loranah Dimant, 2006 [10] Yiming Yang and X.Liu, “A re-examination of text categorization methods,” in 22nd Annual International SIGIR, 1999, pp 1–8 * Trang Web [11] TinySVM, an implementation of Support Vector Machines, Open source, http://chasen.org/~taku/software/TinySVM/ [12] A tool for extracting key sub-string group feature Open source http://www.dcs.bbk.ac.uk/~dell/publications/ [13] LibSVM a Library for Support Vector Machines, Open source, https://www.csie.ntu.edu.tw/~cjlin/libsvm/ [14] SVM Light, an implementation of Support Vector Machines (SVMs) in C, Open source, www.svmlight.joachims.org [15] JVNSegmentor, Tool for Vietnamese segmentation- Open source, http://jvnsegmenter.sourceforge.net/

Ngày đăng: 17/07/2023, 23:56

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN