Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 29 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
29
Dung lượng
1,06 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM THIỀU QUANG LÂM – 19520674 NGUYỄN HUY ĐỨC – 19521377 ĐỒ ÁN MƠN HỌC ĐỒ ÁN – SE122.N11.PMCL Tìm hiểu Beautiful Soup để lấy liệu từ trang web gợi ý mức lương cho ứng viên xin việc làm GIẢNG VIÊN GIẢNG DẠY NGUYỄN HỒNG THUỶ TP HỒ CHÍ MINH, 2022 MỤC LỤC Chương GIỚI THIỆU CHUNG 1.1 Lý chọn đề tài 1.2 Tóm tắt đồ án Chương CƠ SỞ LÝ THUYẾT 2.1 Data Scraping 2.2 Beautiful Soup 2.3 Hồi quy (Regression) 2.4 Scikit-learn Chương QUÁ TRÌNH THỰC HIỆN 3.1 Chuẩn bị liệu 3.1.1 Lấy liệu từ web 3.1.2 Làm liệu 3.2 Thực huấn luyện mơ hình máy học 9 14 17 3.2.1 Huấn luyện với mơ hình 17 3.2.2 Dự đoán kết 22 Chương KẾT LUẬN 23 4.1 Kết đạt 23 4.2 Ưu điểm 23 4.3 Nhược điểm 23 4.4 Hướng phát triển 23 TÀI LIỆU THAM KHẢO 25 DANH MỤC HÌNH ẢNH Hình 1: Logo scikit-learn Hình 2: Import package Hình 3: Giao diện trang vieclam24h 10 Hình 4: Khám phá thành phần trang web 10 Hình 5: Lấy liệu dựa thẻ HTML 11 Hình 6: Tách liệu từ chuỗi salary 11 Hình 7: Lưu liệu vừa lấy 12 Hình 8: Giao diện trang careerlink.vn 12 Hình 9: Hàm chuyển đổi đơn vị tiền tệ 13 Hình 10: Hàm tách số từ chuỗi 13 Hình 11: Hàm tách hai số từ chuỗi, trả giá trị trung bình 14 Hình 12: Xử lý trường liệu lương 14 Hình 13: Import thư viện mở file csv 15 Hình 14: Loại bỏ liệu rỗng 15 Hình 15: Loại bỏ liệu lặp 15 Hình 16: Tách hàng chứa nhiều giá trị 15 Hình 17: Chuẩn hố cách ghi tên địa điểm 16 Hình 18: Import thư viện 17 Hình 19: Nạp liệu 17 Hình 20: Chuyển chữ hoa thành chữ thường 18 Hình 21: Loại bỏ ký tự đặc biệt 18 Hình 22: Vector hố liệu 18 Hình 23: Tạo tập liệu đầu vào 18 Hình 24: Tạo tập liệu đầu 18 Hình 25: Tách liệu 19 Hình 26: Huấn luyện mơ hình decision_dataset1 19 Hình 27: Lưu mơ hình decision_dataset1 19 Hình 28: Tính tốn RMSE MAPE decision_dataset1 20 Hình 29: RMSE MAPE decision_dataset1 20 Hình 30: Huấn luyện mơ hình decision_dataset2 21 Hình 31: RMSE MAPE decision_dataset2 21 Hình 32: RMSE MAPE forest_dataset1 21 Hình 33: RMSE MAPE forest_dataset2 21 Hình 34: Giao diện trang web thực dự đoán 22 Chương GIỚI THIỆU CHUNG 1.1 Lý chọn đề tài Theo dịng chảy cách mạng 4.0, trí tuệ nhân tạo (AI) ngày phổ biến ứng dụng rộng rãi lĩnh vực sống, John McCarthy – nhà khoa học máy tính người Mỹ đề cập lần vào năm 1950 đến ngày thuật ngữ trí tuệ nhân tạo thực biết đến rộng rãi “ông lớn” làng công nghệ chạy đua phát triển AI công nghệ sử dụng đến kỹ thuật số có khả thực nhiệm vụ mà bình thường phải cần tới trí thơng minh người, xem phổ biến Đặc trưng công nghệ AI lực “tự học” máy tính, tự phán đốn, phân tích trước liệu mà khơng cần hỗ trợ người, đồng thời có khả xử lý liệu với số lượng lớn tốc độ cao Trí tuệ nhân tạo lĩnh vực liên quan đến chuyên ngành khoa học máy tính cơng nghệ thơng tin, chất trí tuệ nhân tạo người làm ra, họ xây dựng thuật tốn, lập trình công cụ phần mềm công nghệ thông tin, giúp máy tính tự động xử lý hành vi thông minh người Sử dụng AI hay đề tài máy học, chúng em mong muốn giải nhu cầu người, mà cụ thể trường hợp này, dự đốn mức lương cho cơng việc Đề tài giúp ích cho người cần tìm kiếm việc làm mong muốn biết thêm mức lương phù hợp với cơng việc 1.2 Tóm tắt đồ án Trong đồ án này, chúng em thực công việc kéo liệu từ trang web tuyển dụng việc làm vieclam24h, sau sử dụng liệu vừa thu thập cho vào mô hình máy học, cuối dựa theo kết mơ hình vừa để gợi ý mức lương phù hợp cho người dùng họ cần ứng tuyển việc làm Chương CƠ SỞ LÝ THUYẾT 2.1 Data Scraping Lấy liệu (Data Scraping) q trình thu thập liệu thơng tin website nhằm phục vụ nhiều mục đích khác Các phần mềm lấy liệu truy cập vào website giao thức HTTP trình duyệt web để lấy liệu mà người thực quan tâm Quá trình thực thủ cơng cách sử dụng phần mềm, nhiên phần lớn nhắc đến scraping tương đương với trình thu thập liệu tự động triển khai bot web crawler Khi thực lấy liệu, mã HTML bên trang web trích xuất trình lấy liệu (data scraper) lưu trữ sở liệu Web scraping sử dụng nhiều loại hình kinh doanh kỹ thuật số dựa vào việc thu thập liệu Một số trường hợp sử dụng hợp pháp bao gồm: • Các bot cơng cụ tìm kiếm thu thập thơng tin website, phân tích nội dung sau xếp hạng • Các trang web so sánh giá triển khai bot để tự động tìm giá mơ tả sản phẩm cho seller website • Các cơng ty nghiên cứu thị trường sử dụng scraper để lấy liệu từ forum phương tiện truyền thông xã hội Cách thức hoạt động Web Scraping: • Đầu tiên, trình duyệt web cung cấp nhiều URL để tải trước scrape Sau đó, scraper tải tồn HTML cho trang đề cập Các công cụ scraper nâng cao hiển thị toàn trang web, bao gồm phần tử CSS Javascript • Sau đó, scraper trích xuất tất liệu trang liệu cụ thể người dùng chọn trước chạy project • Người dùng trải qua trình chọn liệu cụ thể mà họ muốn chọn từ website Ví dụ: muốn scrape trang Amazon để biết giá mẫu mã không thiết phải quan tâm đến đánh giá sản phẩm • Cuối cùng, web scraper output tất liệu thu thập sang định dạng có ích cho người dùng Hầu hết web scraper output liệu sang CSV Excel spreadsheet Trong scraper nâng cao hỗ trợ định dạng JSON để sử dụng cho API Cũng giống cách người xây dựng trang web, xây dựng web scraper riêng Tuy nhiên, cơng cụ có sẵn để xây dựng web scraper yêu cầu số kiến thực lập trình nâng cao Phạm vi kiến thức tăng lên theo số lượng tính muốn có cho scraper người lập trình Mặt khác, có nhiều cơng cụ web scraper pre-built mà dễ dàng tải xuống chạy Một số bổ sung tùy chọn nâng cao scrape scheduling, xuất JSON GoogleSheets… 2.2 Beautiful Soup BeautifulSoup thư viện Python dùng để lấy liệu khỏi file HTML XML Nó hoạt động với parser (trình phân tích cú pháp) cung cấp cách để điều hướng, tìm kiếm chỉnh sửa parse tree (cây phân tích tạo từ parser) Nhờ parser giúp lập trình viên tiết kiệm nhiều làm việc Một số tính BeautifulSoup kể đến bao gồm: • BeautifulSoup cung cấp phương thức đơn giản kiểu từ vựng Python để điều hướng, tìm kiếm sửa đổi phân tích cú pháp: công cụ để chia nhỏ văn HTML lấy cần thiết, tất gói gọn vài dịng code • BeautifulSoup tự động chuyển đổi tài liệu đầu vào thành Unicode tài liệu đầu sang UTF-8, việc mã hố khơng cần thiết, trừ tài liệu khơng có cách mã hố cụ thể mà BeautifulSoup nhận dạng • BeautifulSoup hoạt động với parser lxml html5lib, cho phép thử nhiều cách khác để parse đoạn văn So với số công cụ lấy liệu khác Selenium hay Scrapy BeautifulSoup có số ưu điểm định dễ học, dễ sử dụng, thân thiện với người dùng Phiên BeautifulSoup phiên 4.x, phiên cuối cịn hỗ trợ Python 2.7 BeautifulSoup 4.9.3 2.3 Hồi quy (Regression) Trong máy học, hồi quy phương pháp học có giám sát (Supervised learning) trình tìm kiếm mối liên hệ biến phụ thuộc độc lập Hồi quy dùng để dự đoán chuỗi giá trị liên tục dự đoán giá nhà, dự báo thời tiết, … Trong hồi quy, vẽ biểu đồ biến phù hợp với điểm liệu cho, dựa vào biểu đồ này, mơ hình học máy đưa dự đốn liệu Nói cách đơn giản, “Hồi quy hiển thị đường thẳng đường cong qua tất điểm liệu biểu đồ dự đoán mục tiêu theo cách cho khoảng cách dọc điểm liệu hồi quy nhỏ nhất.” Khoảng cách điểm liệu đường thẳng cho biết liệu mơ hình có dự đốn gần với giá trị thực tế khơng Có nhiều thuật tốn hồi quy khác sử dụng khoa học liệu học máy Mỗi loại có tầm quan trọng riêng tình khác nhau, cốt lõi, tất phương pháp hồi quy phân tích ảnh hưởng biến độc lập biến phụ thuộc Một số thuật toán hồi quy bao gồm: Linear Regression: Là phương pháp thống kê để hồi quy liệu với biến phụ thuộc có giá trị liên tục biến độc lập có hai giá trị liên tục giá trị phân loại Nói cách khác "Hồi quy tuyến tính" phương pháp để dự đoán biến phụ thuộc (Y) dựa giá trị biến độc lập (X) Nó sử dụng cho trường hợp muốn dự đốn số lượng liên tục Ví dụ, dự đốn giao thơng cửa hàng bán lẻ, dự đoán thời gian người dùng dừng lại trang số trang truy cập vào website đó, … Linear Regression thuật tốn hồi quy đơn giản nên thường sử dụng rộng rãi Tuy nhiên, Linear Regression có số nhược điểm nhạy với nhiễu, biểu diễn mơ hình phức tạp, … Support Vector Machine (SVM): SVM thuật tốn sử dụng cho toán Phân loại Hồi quy Mục tiêu thuật tốn SVM tìm hyperplane khơng gian N chiều phân loại rõ ràng điểm liệu Kích thước hyperplane phụ thuộc vào số lượng feature, số feature đầu vào hai, hyperplane đường thẳng, số lượng feature đầu vào ba, hyperplane biểu diễn dạng mặt phẳng hai chiều SVM có số ưu điểm như: hoạt động tốt trường hợp số chiều (dimension) nhiều số mẫu (sample), sử dụng tập hợp điểm training hàm định (được gọi support vector) nên tiết kiệm nhớ Nhưng có số hạn chế định, khó tránh khỏi overfitting số feature nhiều số mẫu, SVM khơng đưa giá trị dự đốn xác suất, mà tính tốn cách sử dụng xác thực chéo năm lần (five-fold cross-validation) Decision Tree: Tương tự SVM, Cây định thuật tốn sử dụng cho toán Phân loại Hồi quy Thuật tốn sử dụng mơ hình định dạng để dự đoán giá trị (Hồi quy) dự đốn lớp giá trị (Phân loại) Q trình phân tách để tạo bắt đầu nút gốc theo sau phân nhánh cuối dẫn đến nút (nút đầu cuối) có chứa dự đoán kết cuối thuật toán Việc xây dựng định thường hoạt động từ xuống, cách chọn biến bước để phân chia cho hợp lý tập hợp mục Mỗi mơ hình định biểu diễn dạng nhị phân nút định chia thành hai nút tuỳ thuộc vào điều kiện Cây nhị phân biểu diễn cách trực quan, dễ hiểu, xử lý hai loại liệu số chữ Nhưng nhị phân dễ bị overfitting, nhị phân khơng ổn định biến có giá trị nhỏ tập liệu sinh hoàn toàn Random Forest: Như tên gọi, Random Forest thuật toán chứa số lượng định tập hợp khác tập liệu cho lấy giá trị trung bình để cải thiện độ xác cho dự đốn cuối tập liệu Thay dựa vào định, Random Forest lấy dự đoán từ tuỳ thuộc vào mục tiêu, mơ hình dự đốn kết cuối tập kết Vì dựa Cây định nên thuật tốn sử dụng cho toán Phân loại Hồi quy Random Forest có ưu điểm đưa kết có độ xác cao, xử lý liệu có kích thước lớn Nhưng có số nhược điểm, tiêu tốn nhiều tài nguyên, cần thời gian dài để huấn luyện mơ hình 2.4 Scikit-learn Hình 1: Logo scikit-learn Scikit-learn (Sklearn) thư viện mạnh mẽ dành cho thuật tốn học máy viết ngơn ngữ Python Thư viện cung cấp tập công cụ xử lý toán machine learning statistical modeling gồm: classification, regression, clustering, dimensionality reduction Scikit-learn hỗ trợ mạnh mẽ việc xây dựng sản phẩm Nghĩa thư viện tập trung sâu việc xây dựng yếu tố: dễ sử dụng, dễ code, dễ tham khảo, dễ làm việc, hiệu cao Mặc dù viết cho Python thực tế, thư viện tảng scikit-learn lại viết thư viện C để tăng hiệu suất làm việc Ví dụ như: Numpy (Tính tốn ma trận), LAPACK, LibSVM Cython Thư viện cấp phép quyền chuẩn FreeBSD chạy nhiều tảng Linux Scikit-learn sử dụng tài liệu để học tập Khi cài đặt scikit-learn, số thư viện khác cài đặt chung để kết hợp với nhau, bao gồm: • Numpy: Gói thư viện xử lý dãy số ma trận nhiều chiều • SciPy: Gói hàm tính tốn logic khoa học • Matplotlib: Biểu diễn liệu dạng đồ thị chiều, chiều • IPython: Notebook dùng để tương tác trực quan với Python Hình 7: Lưu liệu vừa lấy Chạy chương trình, thấy thư mục xuất thêm file tên “dataset1.csv” Tương tự vậy, tiếp tục với dataset số từ trang careerlink.vn Hình 8: Giao diện trang careerlink.vn 12 Tuy nhiên, khác với trang vieclam24h, liệu lương trang có đơn vị tiền tệ khác sử dụng, USD VND Để chuyển giá trị từ USD VND, sử dụng API exchangerate.host để chuyển đổi đơn vị tiền tệ Cách gọi API đơn giản, không cần API key cả, cần package requests mà gọi trước sử dụng API Sử dụng API để chuyển đổi đơn vị tiền tệ, cuối trả kết theo VND (kết nằm trường ‘result’): Hình 9: Hàm chuyển đổi đơn vị tiền tệ Ngồi ra, phần lương trang có nhiều kiểu khác nhau, tạm chia làm loại: Loại 1: Chỉ bao gồm giá trị (ví dụ: “trên 3,000 USD”, “lên đến 12,000,000 VND”, …) Loại 2: Bao gồm giá trị (ví dụ: “1,200 USD – 3,000 USD”, …) Loại 3: Khơng có giá trị rõ ràng (ví dụ: “Cạnh tranh”, “Thương lượng”, …) Đối với loại 1, cần xử lý cách loại bỏ tất ký tự số chuỗi lương lưu vào liệu (Lưu ý: hàm có sử dụng thư viện re, viết tắt Regular Expression, dùng để xử lý chuỗi Cần import re trước sử dụng Hàm sub dùng để thay ký tự số thành ký tự rỗng) Hình 10: Hàm tách số từ chuỗi 13 Đối với loại 2, trước tiên cần tách riêng tất giá trị số chuỗi ra, lưu lại thành mảng Từ mảng giá trị đó, tiếp tục loại bỏ ký tự số (có thể dùng hàm phía trên) sau trả giá trị trung bình cộng hai số vừa nhận được: Hình 11: Hàm tách hai số từ chuỗi, trả giá trị trung bình Đối với loại 3, khơng có mức lương rõ ràng nên để trống phần Kết hợp hàm chuyển đổi đơn vị tiền tệ với hàm xử lý mức lương: Hình 12: Xử lý trường liệu lương Cuối lưu lại vào dataset2.csv 3.1.2 Làm liệu Sau có liệu file dataset1.csv dataset2.csv, bắt đầu trình làm Làm liệu (Data cleaning) trình thay đổi loại bỏ liệu khơng xác, trùng lặp, bị hỏng không đầy đủ bên sở liệu Quy trình làm khơng đơn quan tâm đến việc xóa liệu để tăng dung lượng cho liệu mới, mà cịn tìm phương pháp tối đa hóa tính xác thực tập liệu mà khơng cần phải xóa thơng tin 14 Làm liệu không đơn loại bỏ liệu, mà cịn bao gồm sửa lỗi cú pháp tả, sửa đổi lỗi thiếu mã, trường trống, xác định điểm liệu trùng lặp chuẩn hóa tập liệu Để tiến hành làm liệu, tạo module Python Import thư viện pandas mở tập liệu lưu trước Hình 13: Import thư viện mở file csv Trước tiên, loại bỏ tất liệu chứa giá trị rỗng: Hình 14: Loại bỏ liệu rỗng Sau loại bỏ tất liệu chứa giá trị bị lặp lại: Hình 15: Loại bỏ liệu lặp Ngoài ra, cột vị trí làm việc, có số hàng chứa nhiều giá trị khác nên tách làm nhiều hàng, sử dụng hàm explode: Hình 16: Tách hàng chứa nhiều giá trị 15 Cuối cùng, dataset1 dataset2 có hai cách ghi khác nơi TP HCM nên chuẩn hố lại thành cách ghi nhất: Hình 17: Chuẩn hoá cách ghi tên địa điểm Sau làm xong trình làm liệu, lưu lại vào tập liệu 16 3.2 Thực huấn luyện mơ hình máy học 3.2.1 Huấn luyện với mơ hình Dữ liệu sau làm sạch, đưa vào mơ hình máy học để huấn luyện, phục vụ việc dự đốn tiền lương Có thể thực dự đốn với mơ hình có sẵn từ thư viện scikit-learn, ví dụ thuật tốn DecisionTreeRegressor RandomForestRegressor Đầu tiên import thư viện cần thiết cho tiền xử lý liệu, tách liệu làm hai phần training testing, thư viên pickle để lưu lại mơ hình vừa huấn luyện Hình 18: Import thư viện Nạp liệu vào dataframe từ tập liệu trước Hình 19: Nạp liệu Đối với công đoạn xử lý liệu, thuật tốn scikit-learn xử lý liệu dạng vector số nên cần chuyển đổi liệu dạng chuỗi sang dạng vector Đầu tiên chuyển tất chữ hoa thành chữ thường 17 Hình 20: Chuyển chữ hoa thành chữ thường Sau loại bỏ tất ký tự đặc biệt, thay khoảng trống Hình 21: Loại bỏ ký tự đặc biệt Tiếp theo vector hoá liệu vừa xử lý hàm TfidfVectorizer DictVectorizer Hình 22: Vector hố liệu Sau vector hoá, ghép phần lại với tạo thành tập liệu đầu vào Hình 23: Tạo tập liệu đầu vào Và tạo tập liệu đầu Hình 24: Tạo tập liệu đầu Tiến hành tách liệu thành hai phần, phần để huấn luyện phần để kiểm thử 18 Hình 25: Tách liệu Đến giai đoạn huấn luyện mô hình Trước tiên huấn luyện thuật tốn Decision Tree dataset1 Sau huấn luyện tiến hành dự đốn mơ hình Hình 26: Huấn luyện mơ hình decision_dataset1 Lưu mơ hình lại với tên gọi “decision_dataset1.pkl” Hình 27: Lưu mơ hình decision_dataset1 Cuối tính tốn giá trị RMSE MAPE mơ hình RMSE (Root Mean Squared Error) thước đo thường sử dụng để đánh giá khác biệt giá trị dự đốn mơ hình cơng cụ ước tính giá trị quan sát thực tế Cơng thức tính RMSE: 𝑛 (𝑦̂𝑖 − 𝑦𝑖 )2 𝑅𝑀𝑆𝐸 = √∑ 𝑛 𝑖=1 Trong 𝑛 số lượng điểm liệu, 𝑦̂𝑖 giá trị dự đốn mơ hình, 𝑦𝑖 giá trị thực tế RMSE mơ hình gần mơ hình có độ xác cao Nhưng RMSE có nhược điểm nhạy với nhiễu MAPE (Mean Absolute Percentage Error) thước đo lỗi tương đối sử dụng giá trị tuyệt đối để giữ cho lỗi dương âm không triệt tiêu lẫn sử dụng 19 lỗi tương đối phép so sánh độ xác dự báo mơ hình hồi quy Cơng thức tính MAPE: 𝑛 |𝑦̂𝑖 − 𝑦𝑖 | 𝑀𝐴𝑃𝐸 = ∑ 𝑛 𝑦𝑖 𝑖=1 Tương tự RMSE, giá trị MAPE thấp mơ hình có độ xác cao Vì biểu diễn dạng phần trăm nên MAPE dễ hiểu hơn, MAPE trả giá trị cao bị lỗi chia cho (division by 0) tập liệu có giá trị gần Thư viện scikit-learn có cung cấp phương thức để tính tốn RMSE MAPE nên cần gọi phương thức tính (cần lưu ý gọi mean_squared_error cần bổ sung tham số squared=False để trả RMSE, khơng có tham số squared mặc định True trả giá trị MSE) Hình 28: Tính tốn RMSE MAPE decision_dataset1 Kết quả: Hình 29: RMSE MAPE decision_dataset1 Tương tự tiếp tục huấn luyện mơ hình decision_dataset2, lưu lại, xuất kết RMSE MAPE mơ hình 20 Hình 30: Huấn luyện mơ hình decision_dataset2 Kết quả: Hình 31: RMSE MAPE decision_dataset2 Nhận xét: Cả hai giá trị RMSE MAPE mơ hình cao so với mơ hình decision_dataset1, nhiên giá trị MAPE cao nhiều, chứng tỏ mơ hình decision_dataset2 hoạt động khơng hiệu so với mơ hình decision_dataset1 Tiếp tục thực với thuật toán RandomForestRegressor dataset1, mang lại kết sau: Hình 32: RMSE MAPE forest_dataset1 Kết thực huấn luyện dataset2 (có sử dụng max_depth=6 để hạn chế việc sử dụng nhiều tài nguyên) Hình 33: RMSE MAPE forest_dataset2 Tương tự DecisionTreeRegressor, RMSE MAPE hai mơ hình sử dụng thuật tốn RandomForestRegressor cao nhiều huấn luyện dataset2 Nhận xét: Hai mơ hình decision_dataset1 forest_dataset1 mang lại kết tốt so với decision_dataset2 forest_dataset2, nhiên tất mơ hình có RMSE tương đối cao 21 3.2.2 Dự đoán kết Sau huấn luyện mơ hình, kết hiển thị lên trang web Ở sử dụng Gradio để tạo giao diện website đưa mơ hình lên để kiểm thử Có bốn trường đầu vào: Tên công việc, tên công ty, địa điểm làm việc, lựa chọn mơ hình để dự đốn Có mơ hình để lựa chọn mơ hình huấn luyện trước Khi nhấn Submit trả mức lương cơng việc mà mơ hình dự đốn Hình 34: Giao diện trang web thực dự đoán 22 Chương KẾT LUẬN 4.1 Kết đạt Thông qua đồ án này, nhóm chúng em tìm hiểu số kiến thức tảng máy học, cách sử dụng BeautifulSoup để lấy liệu từ trang web, cách thức hoạt động mơ hình máy học, ưu nhược điểm số thuật tốn máy học 4.2 Ưu điểm BeautifulSoup có ưu điểm dễ sử dụng việc lấy liệu nhờ vào cú pháp đơn giản, qua tiết kiệm thời gian lập trình Đối với hai thuật tốn Decision Tree Random Forest, hai thuật toán áp dụng cho tốn Hồi quy Phân loại, nhờ mà tăng khả linh hoạt việc giải tốn Hơn nữa, phải phân loại nhiều lần nên thuật tốn có độ xác cao so với thuật toán Hồi quy khác Linear Regression, SVM, … 4.3 Nhược điểm BeautifulSoup có tính đơn giản nên không thực phát huy hết hiệu việc lấy liệu, lấy thông tin đơn giản chuỗi HTML XML Ngồi ra, đồ án mang tính nghiên cứu nên kết cuối chưa thể áp dụng vào thực tiễn ứng dụng, mà dùng để so sánh đưa nhận xét chủ quan 4.4 Hướng phát triển Trong tương lai, đồ án phát triển thêm nhiều cách khác nhau, như: • Tìm thêm nhiều nguồn liệu khác nhiều trang web việc làm khác, mở rộng nhiều cơng việc thuộc nhiều ngành nghề khác 23 • Thực huấn luyện nhiều mơ hình khác để chọn mơ hình mang lại kết tốt • Áp dụng mơ hình tốt vào ứng dụng thực tế, trang web tạo CV cho người xin việc làm, tính cho phép gợi ý mức lương nhà tuyển dụng đăng tin việc làm 24 TÀI LIỆU THAM KHẢO Data Scraping/Web Scraping: https://vietnix.vn/web-scraping-la-gi/ BeautifulSoup: https://www.crummy.com/software/BeautifulSoup/bs4/doc/ https://howkteam.vn/d/thu-vien-beautiful-soup-460 Linear Regression: https://scikitlearn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html#skl earn.linear_model.LinearRegression Support Vector Machine: https://scikit-learn.org/stable/modules/svm.html Decision Tree: https://www.theclickreader.com/decision-tree-regression/ https://scikit-learn.org/stable/modules/tree.html Random Forest: https://www.javatpoint.com/machine-learning-random-forest-algorithm https://scikit-learn.org/stable/modules/ensemble.html#forests-of-randomized-trees Scikit-learn: https://scikit-learn.org/stable/ https://codelearn.io/sharing/scikit-learn-trong-python-la-gi API exchange.host dùng để chuyển đổi đơn vị tiền tệ: https://exchangerate.host/#/#docs Data Cleaning: 25 https://realpython.com/python-data-cleaning-numpy-pandas/ RMSE: https://scikitlearn.org/stable/modules/generated/sklearn.metrics.mean_squared_error.html MAPE: https://scikitlearn.org/stable/modules/generated/sklearn.metrics.mean_absolute_percentage_error html Gradio: https://gradio.app/docs/ 26 ... liệu từ trang web tuyển dụng việc làm vieclam24h, sau sử dụng liệu vừa thu thập cho vào mơ hình máy học, cuối dựa theo kết mô hình vừa để gợi ý mức lương phù hợp cho người dùng họ cần ứng tuyển việc. .. CV cho người xin việc làm, tính cho phép gợi ý mức lương nhà tuyển dụng đăng tin việc làm 24 TÀI LIỆU THAM KHẢO Data Scraping /Web Scraping: https://vietnix.vn /web- scraping-la-gi/ BeautifulSoup:... sử dụng BeautifulSoup để lấy liệu từ trang web, cách thức hoạt động mơ hình máy học, ưu nhược điểm số thuật toán máy học 4.2 Ưu điểm BeautifulSoup có ưu điểm dễ sử dụng việc lấy liệu nhờ vào cú