Trong luận văn này Chúng tôi áp dụng khai phá dữ liệu kết hợp với các độ đo khác nhau Consine, Mahattan, Jaccard và Levenshtein trên dữ liệu của Trung tâm dịch vụ việc làm tỉnh Bình Dươn
Trang 2NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS.TS LÊ TUẤN ANH
BÌNH DƯƠNG - NĂM 2019
Trang 3i
LỜI CAM ĐOAN
Tác giả xin cam đoan đây là công trình nghiên cứu của bản thân tác giả Các kết quả nghiên cứu và các kết luận trong luận văn là trung thực, không sao chép từ bất kỳ một nguồn nào và dưới bất kỳ hình thức nào Việc tham khảo các nguồn tài liệu (nếu có) đã được thực hiện trích dẫn và ghi nguồn tài liệu tham khảo đúng quy định
Tác giả luận văn
Hồ Ngọc Trung Kiên
Trang 4ii
LỜI CÁM ƠN
Tác giả xin bày tỏ lòng biết ơn chân thành PGS.TS Lê Tuấn Anh, Thầy đã
tận tình chỉ dẫn, định hướng và truyền đạt những kiến thức cho tác giả suốt thời gian thực hiện luận văn này
Tác giả xin bày tỏ long biết ơn đến với quí Thầy, Cô trong khoa Kỹ thuật - Công nghệ, Phòng Đào tạo sau đại học – Trường đại học Thủ Dầu Một đã trang bị cho tác giả những kiến thức nền tảng quan trọng, đóng góp ý kiến cho việc soạn thảo tài liệu Hướng dẫn trình bày Luận văn thạc sĩ này
Tác giả xin chân thành cảm ơn Lãnh đạo Sở Lao động – Thương binh và Xã hội, Lãnh đạo Trung tâm Dịch vụ Việc làm tỉnh Bình Dương đã tạo điều kiện và cung cấp số liệu cho tác giả hoàn thiện luận văn này
Trang 5iii
MỤC LỤC
DANH MỤC CÁC HÌNH ẢNH iv
DANH MỤC BẢNG BIỂU v
DANH MỤC CÁC TỪ VIẾT TẮT vi
CHƯƠNG 1 GIỚI THIỆU TỔNG QUAN 1
1.1 Tổng quan về việc làm và công tác giới thiệu việc làm tại tỉnh Bình Dương 1
1.2 Tổng quan về phát hiện tri thức và khai phá dữ liệu 3
CHƯƠNG 2 CÁC NGHIÊN CỨU LIÊN QUAN 9
2.1 Các nghiên cứu về kết nối người tìm việc với nhà tuyển dụng 9
2.2 Các nghiên cứu liên quan đến phương pháp biểu diễn văn bản 10
2.2.1 Mô hình vector 11
2.2.2 So khớp chuổi 12
2.2.3 Các độ đo tương đồng 12
CHƯƠNG 3 ĐỀ XUẤT XÂY DỰNG MÔ HÌNH XỬ LÝ 14
3.1 Mô hình xử lý 14
3.2 Một số độ đo áp dụng cho mô hình xử lý 15
3.2.1 Độ đo Cosine 15
3.2.2 Độ đo khoảng cách Manhattan 16
3.2.3 Độ đo sử dụng hệ số Jaccard 17
3.2.4 Độ đo khoảng cách Levenshtein 18
CHƯƠNG 4 ĐÁNH GIÁ KẾT QUẢ THỰC NGHIỆM 20
4.1 Môi trường thử nghiệm 20
4.2 Mô tả dữ liệu 20
4.3 So sánh, đánh giá kết quả thực nghiệm 23
KẾT LUẬN 34
DANH MỤC CÔNG TRÌNH ĐÃ CÔNG BỐ 35
TÀI LIỆU THAM KHẢO 36
PHỤ LỤC 38
Trang 6iv
DANH MỤC CÁC HÌNH ẢNH
Hình 1.1 Quá trình phát hiện tri thức 5
Hình 2.1 Góc tạo bởi 2 vector d1, d2 và q 12
Hình 3.1: Mô hình xử lý việc hỗ trợ gợi ý kết nối người tìm việc và nhà tuyển dụng 14 Hình 4.1 Một số tên công việc đã được tách và bỏ stopword 22
Hình 4.2: Một dòng của bảng người tìm việc được chọn để đưa vào mô hình 24
Hình 4.3: Bảng dữ liệu sau khi đã so sánh tường minh 24
Hình 4.4: Bảng dữ liệu sau khi sữ dụng các độ đo 25
Hình 4.5: Biểu đồ kết quả độ tương đồng sử dụng độ đo Cosine 25
Hình 4.6: Biểu đồ kết quả độ tương đồng sử dụng độ đo Jaccard 26
Hình 4.7 Biểu đồ kết quả độ tương đồng sử dụng độ đo Manhattan 26
Hình 4.8: Biểu đồ kết quả độ tương đống sử dụng độ đo Levenshtein 27
Hình 4.9: Biểu đồ so sánh các thuật toán với tỉ lệ phần trăm ước lượng 28
Hình 4.10: Biểu đồ so sánh các độ đo theo tỉ lệ phần trăm ước lượng với mẫu 10 dòng 29
Hình 4.11: Biểu đồ so sánh các độ đo theo tỉ lệ phần trăm ước lượng với mẫu 50 dòng 30
Hình 4.12: Biểu đồ so sánh các độ đo theo tỉ lệ phần trăm ước lượng với mẫu 100 dòng 31
Hình 4.13: Biểu đồ so sánh các độ đo theo tỉ lệ phần trăm ước lượng với mẫu 500 dòng 32
Hình 4.14: Biểu đồ so sánh độ tương đồng của 4 thuật toán 32
Trang 7v
DANH MỤC BẢNG BIỂU
Bảng 4.1: Bảng dữ liệu Người tìm việc dạng thô chưa được xử lý 20
Bảng 4.2: Bảng dữ liệu Nhà tuyển dụng dạng thô chưa xử lý 21
Bảng 4.3: Bảng dữ liệu Người tìm việc đã được tiền xử lý dữ liệu thô 21
Bảng 4.4: Bảng dữ liệu nhà tuyển dụng đã được tiền xử lý dữ liệu thô 22
Bảng 4.5: Tổng hợp kết quả thử nghiệm theo mẫu so với ước lượng 1 mẫu 27
Bảng 4.6: Tổng hợp kết quả theo mẫu so với ước lượng 10 mẫu 28
Bảng 4.7: Tổng hợp kết quả theo mẫu so với ước lượng 50 mẫu 29
Bảng 4.8: Tổng hợp kết quả theo mẫu so với ước lượng 100 mẫu 30
Bảng 4.9: Tổng hợp kết quả theo mẫu so với ước lượng 500 mẫu 31
Trang 8vi
DANH MỤC CÁC TỪ VIẾT TẮT
(Xếp theo thứ tự A,B,C của chữ cái đầu viết tắt)
BHTN Bảo hiểm thất nghiệp
CMND Chứng minh nhân dân
GDVL Giao dịch việc làm
KDD Knowledge Discovery in Databases
Trang 9vii
MỞ ĐẦU
Bình Dương là một trong những tỉnh tập trung nhiều khu công nghiệp nhất cả nước, do đó thị trường lao động tại đây rất sôi động Ngoài lao động trên địa bàn tỉnh, Bình Dương còn thu hút rất nhiều người lao động từ khắp nơi trên cả nước, chủ yếu là lao động phổ thông tập trung tại các khu công nghiệp Với đặc trưng đó, thị trường lao động tại Bình Dương luôn có những biến động lớn về cung, cầu lao động
Hầu hết tại Trung tâm dịch vụ việc làm tỉnh Bình Dương việc kết nối người lao động với nhà tuyển dụng bằng cách thu hút người lao động đến với Trung tâm dịch vụ việc làm qua các hình thức tổ chức tuyên truyền trên các phương tiện thông tin đại chúng như báo chí, đài phát thanh và hệ thống truyền thanh cơ sở, tư vấn tại trụ sở, tư vấn lưu động, kết hợp với các cơ quan tổ chức và doanh nghiệp, thực hiện sàn giao dịch việc làm, sàn giao dịch online
Tuy nhiên việc tư vấn, sàn giao dịch việc làm đòi hỏi người lao động và nhà tuyển dụng phải đến trực tiếp với Trung tâm dịch vụ việc làm Vì thế khối lượng công việc và nhân viên tại trung tâm đòi hỏi phải rất lớn Nhưng hiệu quả mang lại chưa cao, cụ thể là hàng năm Trung tâm dịch vụ việc làm phải giải quyết trên 60.000 hồ sơ bảo hiểm thất nghiệp
Để khắc phục các hạn chế trên Trong luận văn này Chúng tôi áp dụng khai phá
dữ liệu kết hợp với các độ đo khác nhau Consine, Mahattan, Jaccard và Levenshtein trên dữ liệu của Trung tâm dịch vụ việc làm tỉnh Bình Dương để tìm thuật toán và độ
đo nào phù hợp nhất cho bài toán kết nối người tìm việc với nhà tuyển dụng cho công tác giới thiệu việc làm tại tỉnh Bình Dương
Luận văn được trình bày gồm 4 chương với các nội dung chính như sau:
Chương 1: Trình bày một cách tổng quan về tỉnh Bình Dương, về công tác thực hiện một số chính sách bảo hiểm thất nghiệp, thực hiện việc cung cấp thông tin về tuyển dụng lao động ở nước ngoài, quản lý người nước ngoài làm việc tại tỉnh Bình Dương và công tác giới thiệu việc làm, tư vấn giới thiệu việc làm và hỗ trợ phát triển thị trường lao động Trình bày tổng quan về khai phá dữ liệu và các bước khai phá dữ
Trang 10Chương 3: Mô tả về cơ sở dữ liệu dùng trong luận văn Sau đó Chúng tôi sẽ đề xuất mô hình hỗ trợ gợi ý kết nối người tìm việc với nhà tuyển dụng và nêu lên một số
độ đo để áp dụng cho mô hình xử lý
Chương 4: Mô tả về cơ sở dữ liệu dùng để kiểm tra, thử nghiệm Đồng thời nêu lên các kết quả thử nghiệm thực tế và đưa ra quyết định lựa chọn phương pháp nào là phù hợp nhất đối với bài toán hỗ trợ gợi ý kết nối người tìm việc với nhà tuyển dụng cho công tác giới thiệu việc làm tại tỉnh Bình Dương
Trang 111
Trong chương này, chúng tôi sẽ trình bày một cách tổng quan về tỉnh Bình Dương, về công tác thực hiện một số chính sách bảo hiểm thất nghiệp, thực hiện việc cung cấp thông tin về tuyển dụng lao động ở nước ngoài, quản lý người nước ngoài làm việc tại tỉnh Bình Dương và công tác giới thiệu việc làm, tư vấn giới thiệu việc làm và hỗ trợ phát triển thị trường lao động Trình bày tổng quan về khai phá dữ liệu
và các bước khai phá dữ liệu để áp dụng vào việc hỗ trợ gợi kết nối người tìm việc với nhà tuyển dụng cho công tác giới thiệu việc làm tại tỉnh Bình Dương
1.1 Tổng quan về việc làm và công tác giới thiệu việc làm tại tỉnh Bình Dương
Bình Dương là một tỉnh nằm ở vùng trọng điểm kinh tế phía nam, hiện nay trên địa bàn tỉnh có trên 32 ngàn doanh nghiệp đăng ký hoạt động và hơn một triệu lao động đang làm việc
Ngày 16 tháng 11 năm 2013, Luật Việc làm số 38/2013/QH13 đã được Quốc hội ban hành Luật Việc làm quy định chính sách hỗ trợ tạo việc làm; thông tin thị trường lao động; đánh giá, cấp chứng chỉ kỹ năng nghề quốc gia; tổ chức, hoạt động dịch vụ việc làm; bảo hiểm thất nghiệp và quản lý nhà nước về việc làm
Trên cơ sở hành lang pháp lý được ban hành thì các hoạt động dịch vụ việc làm tiếp tục phát triển, hình thành một mạng lưới rộng khắp trong toàn tỉnh có nhiệm vụ kết nối cung – cầu về lao động, kết nối người lao động với doanh nghiệp giúp người lao động có việc làm phù hợp… Và Trung tâm Dịch vụ Việc làm tỉnh Bình Dương được giao nhiệm vụ thực hiện cầu nối giữ cung và cầu lao động trên địa bàn tỉnh Bình Dương
Trung tâm Dịch vụ Việc làm tỉnh Bình Dương là một trong những Trung tâm công lập tại tỉnh Bình Dương, tiền thân là Trung tâm dạy nghề 3/2, thực hiện nhiệm vụ
tư vấn, xúc tiến lao động cho doanh nghiệp và người lao động về pháp luật lao động, trực thuộc Sở Lao động – Thương binh và Xã hội tỉnh Bình Dương Qua nhiều lần chuyển đổi thay tên theo chức năng nhiệm vụ, nay theo quyết định số 2062/QĐ-
Trang 12Với chức năng thực hiện tư vấn, giới thiệu việc làm cho người lao động tự do cũng như lao động đang hưởng trợ cấp thất nghiệp, cung ứng lao động cho người sử dụng lao động, Trung tâm đã trở thành cầu nối vững chắc kết nối giữa người lao động
và doanh nghiệp
Hầu hết tại Trung tâm dịch vụ việc làm tỉnh Bình Dương việc kết nối người lao động với nhà tuyển dụng bằng cách thu hút người lao động đến với Trung tâm dịch vụ việc làm qua các hình thức tổ chức tuyên truyền trên các phương tiện thông tin đại chúng như báo chí, đài phát thanh và hệ thống truyền thanh cơ sở, tư vấn tại trụ sở, tư vấn lưu động, kết hợp với các cơ quan tổ chức và doanh nghiệp, thực hiện sàn giao dịch việc làm, sàn giao dịch online Các thông tin tuyển dụng của doanh nghiệp đều được nhân viên Trung tâm lưu lại và nhập vào cơ sở dữ liệu việc làm của Trung tâm
để làm cơ sở dữ liệu cho công tác phân tích, dự báo và thông tin thị trường lao động Tuy nhiên việc tư vấn, sàn giao dịch việc làm đòi hỏi người lao động và nhà tuyển dụng phải đến trực tiếp với Trung tâm dịch vụ việc làm Vì thế khối lượng công việc và nhân viên tại trung tâm đòi hỏi phải rất lớn Nhưng hiệu quả mang lại chưa cao, cụ thể là hàng năm Trung tâm dịch vụ việc làm phải giải quyết trên 60.000 hồ sơ bảo hiểm thất nghiệp
Để khắc phục các hạn chế trên Trong bài viết này Chúng tôi áp dụng khai phá dữ liệu kết hợp với các độ đo khác nhau Consine, Mahattan, Jaccard và Levenshtein trên
dữ liệu của Trung tâm dịch vụ việc làm để tìm thuật toán và độ đo nào phù hợp nhất
Trang 133
cho bài toán kết nối người tìm việc với nhà tuyển dụng cho công tác giới thiệu việc làm tại tỉnh Bình Dương
1.2 Tổng quan về phát hiện tri thức và khai phá dữ liệu
Lượng dữ liệu mà chúng ta tạo ra mỗi ngày thật sự đáng kinh ngạc, ước tính khoảng trên 2,5 tỷ tỷ byte/ngày Chính vì vậy, hiện nay lượng dữ liệu mà con người thu thập và lưu trữ được trong các kho dữ liệu là rất lớn, nhiều khi vượt qua khả năng quản lý Hiện tại, người ta đang đề cập đến khái niệm khủng hoảng phân tích dữ liệu tác nghiệp để cung cấp thông tin với yêu cầu chất lượng ngày càng cao cho những người ra quyết định trong các tổ chức tài chính, thương mại, khoa học, việc làm Ông John Naisbett đã cảnh báo về vấn đề này “Chúng ta đang chìm ngập trong dữ liệu mà vẫn đói tri thức”
Với khối lượng dữ liệu tăng nhanh và khổng lồ như vậy, chính vì vậy các phương pháp thủ công truyền thống áp dụng để phân tích dữ liệu sẽ không hiệu quả, tốn kém và dễ dẫn đến những sai lệch Trong luận văn này dữ liệu của chúng tôi sử dụng được trích từ bộ cơ sở dữ liệu tại Trung tâm dịch vụ việc làm tỉnh Bình Dương, với bộ dữ liệu về nhà tuyển dụng và người tìm việc là rất lớn và hầu như dữ liệu do người dùng nhập liệu Nên dữ liệu sử dụng không theo dạng chuẩn (không có cấu trúc) Trên cơ sở đó chúng tôi áp dụng các phương pháp khai phá dữ liệu để chuẩn hóa lại cơ sở dữ liệu, giúp chúng tôi có được một bộ dữ liệu có cấu trúc và có thể sử dụng được để đưa vào mô hình xử lý cho bài toán hỗ trợ gợi ý kết nối người tìm việc với nhà tuyển dụng cho công tác giới thiệu việc làm tại Bình Dương
1.2.1 Khái niệm
Nếu cho rằng các điện tử và các sóng điện tử chính là bản chất của công nghệ điện tử truyền thống thì dữ liệu, thông tin và tri thức hiện đang là tiêu điểm của một lĩnh vực mới trong nghiên cứu và ứng dụng về phát hiện tri thức (Knowledge Discovery) và khai phá dữ liệu (Data Mining)
Thông thường chúng ta coi dữ liệu như một dãy các bit, hoặc các số và các ký hiệu, hoặc các “đối tượng” với một ý nghĩa nào đó khi được gửi cho một chương trình dưới một dạng nhất định Chúng ta sử dụng các bit để đo lường các thông tin và xem
Trang 144
nó như là các dữ liệu đã được lọc bỏ các dư thừa, được rút gọn tới mức tối thiểu để đặc trưng một cách cơ bản cho dữ liệu Chúng ta có thể xem tri thức như là các thông tin tích hợp, bao gồm các sự kiện và các mối quan hệ giữa chúng Các mối quan hệ này có thể được hiểu ra, có thể được phát hiện, hoặc có thể được học Nói cách khác, tri thức
có thể được coi là dữ liệu có độ trừu tượng và tổ chức cao
Phát hiện tri thức trong các cơ sở dữ liệu là một qui trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính năng: hợp thức, mới, khả ích, và có thể hiểu được Còn khai thác dữ liệu là một bước trong qui trình phát hiện tri thức gồm có các thuật toán khai thác dữ liệu chuyên dùng dưới một số qui định về hiệu quả tính toán chấp nhận được để tìm ra các mẫu hoặc các mô hình trong dữ liệu Nói một cách khác, mục đích của phát hiện tri thức và khai phá dữ liệu chính là tìm ra các mẫu và/hoặc các mô hình đang tồn tại trong các cơ sở dữ liệu nhưng vẫn còn bị che khuất bởi hàng núi dữ liệu
Định nghĩa: “KDD (Knowledge Discovery in Databases) là quá trình không tầm thường nhận ra những mẫu có giá trị, mới, hữu ích tiềm năng và hiểu được trong
dữ liệu”
Còn các nhà thống kê thì xem Khai phá dữ liệu như là một qui trình phân tích được thiết kế để thăm dò một lượng cực lớn các dữ liệu nhằm phát hiện ra các mẫu thích hợp và/hoặc các mối quan hệ mang tính hệ thống giữa các biến và sau đó sẽ hợp thức hoá các kết quả tìm đưọc bằng cách áp dụng các mẫu đã phát hiện được cho các tập con mới của dữ liệu Qui trình này bao gồm ba giai đoạn cơ bản: thăm dò, xây dựng mô hình hoặc định nghĩa mẫu, hợp thức/kiểm chứng
1.2.2 Quy trình phát hiện tri thức
Quy trình phát hiện tri thức được mô tả tóm tắt như sau:
Trang 155
Bước thứ nhất: Hình thành, xác định và định nghĩa bài toán là tìm hiểu lĩnh vực ứng dụng từ đó hình thành bài toán, xác định các nhiệm vụ cần phải hoàn thành Bước này sẽ quyết định cho việc rút ra được các tri thức hữu ích và cho phép chọn các phương pháp khai phá dữ liệu thích hợp với mục đích ứng dụng và bản chất của dữ liệu
Bước thứ hai: Thu thập và tiền xử lý dữ liệu là thu thập và xử lý thô, còn được gọi là tiền xử lý dữ liệu nhằm loại bỏ nhiễu, xử lý việc thiếu dữ liệu, biến đổi
dữ liệu và rút gọn dữ liệu nếu cần thiết, bước này thường chiếm nhiều thời gian nhất trong toàn bộ qui trình phát hiện tri thức
Bước thứ ba: Khai phá dữ liệu, rút ra các tri thức là khai phá dữ liệu hay nói cách khác là trích ra các mẫu và/hoặc các mô hình ẩn dưới các dữ liệu Giai đoạn này rất quan trọng, bao gồm các công đoạn như: chức năng, nhiệm vụ và mục đích của khai phá dữ liệu, dùng phương pháp khai phá nào
Bước thứ tư: Sử dụng các tri thức phát hiện được là hiểu tri thức đã tìm được, đặc biệt là làm sáng tỏ các mô tả và dự đoán Các bước trên có thể lặp đi lặp lại một số lần, kết quả thu được có thể được lấy trung bình trên tất cả các lần thực hiện
Tóm lại: KDD là một quá trình chiết xuất ra tri thức từ kho dữ liệu mà trong
đó khai phá dữ liệu là công đoạn quan trọng nhất
1.2.3 Các phương pháp khai phá dữ liệu
KDD bao gồm hai yếu tố quan trọng không thể thiếu được là Dự đoán (Prediction) và Mô tả (Description)
Dự đoán: Đòi hỏi sử dụng một vài biến hoặc trường để dự đoán thông tin tiềm
Hình 1.1 Quá trình phát hiện tri thức
Trang 166
ẩn hoặc một giá trị tương lai của một biến thuộc tính mà ta quan tâm đến
Mô tả: Tập trung là nổi bật lên mô hình kết quả mà con người có thể hiểu sâu
về thông tin dữ liệu
Với hai mục đích chính đã nêu ở trên, người ta thường sử dụng các phương pháp sau cho khai phá dữ liệu:
- Phân lớp, phân loại (Classification): Là việc học một hàm ánh xạ từ một mẫu
dữ liệu vào một trong số các lớp đã được xác định trước đó
- Hồi qui (Regression): Là việc học một hàm ánh xạ từ một mẫu dữ liệu thành một biến dự đoán có giá trị thực
- Phân nhóm (Clustering): Là việc mô tả chung để tìm ra các tập hay các nhóm, loại mô tả dữ liệu Các nhóm có thể tách nhau hoặc phân cấp
- Tổng hợp (Summarization): Là công việc lên quan đến các phương pháp tìm kiếm một mô tả tập con dữ liệu, thường áp dụng trong việc phân tích dữ liệu có tính thăm dò và báo cáo tự động
- Mô hình ràng buộc (Dependency modeling): Là việc tìm kiếm một mô hình
mô tả sự phụ thuộc giữa các biến, thuộc tính theo hai mức: phụ thuộc cục bộ vào cấu trúc của mô hình, phụ thuộc vào thước đo, ước lượng của một định lượng nào
đó
- Dò tìm biến đổi và độ lệch (Change and Deviation Dectection): Chú ý vào những thay đổi quan trọng trong dữ liệu từ các giá trị chuẩn hoặc đã được xác định trước đó
- Biểu diễn mô hình (Model Representation): Là việc dùng một ngôn ngữ L_ Language nào đó để mô tả các mẫu mô hình có thể khai phá được Mô tả mô hình
rõ ràng thì học máy sẽ tạo ra mẫu có mô hình chính xác cho dữ liệu Tuy nhiên, nếu
mô hình quá lớn thì khả năng dự đoán của học máy sẽ bị hạn chế Như thế sẽ làm cho việc tìm kiếm phức tạp hơn cũng như hiểu được mô hình là không đơn giản
- Kiểm định mô hình (Model Evaluation): Là việc đánh giá, ước lượng các mô hình chi tiết, chuẩn trong quá trình xử lý và phát hiện tri thức với sự ước lượng có
dự báo chính xác hay không và có thoả mãn cơ sở logic hay không? Ước lượng phải được đánh giá chéo (cross validation) với việc mô tả đặc điểm bao gồm dự báo chính xác, tính mới lạ, tính hữu ích, tính hiểu được phừ hợp với các mô hình Hai
Trang 177
phương pháp logic và thống kê chuẩn có thể sử dụng trong mô hình kiểm định
- Phương pháp tìm kiếm (Search Method):Gồm có hai thành phần: (1) – Trong bảng tham biến (phạm vi tìm kiếm tham số) thuật toán phải tìm kiếm các tham số tronng phạm vi các chuẩn của mô hình kiểm định rồi tối ưu hoá và đưa ra tiêu chí (quan sát) dữ liệu và biểu diễn mô hình đã định (2) – Mô hình tìm kiếm, xuất hiện như một đường vòng trên toàn bộ phương pháp tìm kiếm, biểu diễn mô hình phải thay đổi sao cho các hệ mô hình phải thay đổi sao cho các hệ gia phả mô hình phải được thông qua
1.2.4 Các lĩnh vực liên quan đến phát hiện tri thức và khai phá dữ liệu
Phát hiện tri thức và khai phá dữ liệu liên quan đến nhiều ngành, nhiều lĩnh vực: thống kê, trí tuệ nhân tạo, cơ sở dữ liệu, thuật toán học, tính toán song song và tốc độ cao, thu thập tri thức cho các hệ chuyên gia, quan sát dữ liệu Đặc biệt phát hiện tri thức và khai phá dữ liệu rất gần gũi với lĩnh vực thống kê, sử dụng các phương pháp thống kê để mô hình dữ liệu và phát hiện các mẫu, luật Ngân hàng
dữ liệu (Data Warehousing) và các công cụ phân tích trực tuyến (OLAP) cũng liên quan rất chặt chẽ với phát hiện tri thức và khai phá dữ liệu
Khai phá dữ liệu có nhiều ứng dụng trong thực tế Một số ứng dụng điển hình như:
- Bảo hiểm, tài chính và thị trường chứng khoán: Phân tích tình hình tài chính
và dự báo giá của các loại cổ phiếu trong thị trường chứng khoán Danh mục vốn và giá, lãi suất, dữ liệu thẻ tín dụng, phát hiện gian lận,
- Phân tích dữ liệu và hỗ trợ ra quyết định
- Điều trị y học và chăm sóc y tế: Một số thông tin về chuẩn đoán bệnh lưu trong các hệ thống quản lý bệnh viện Phân tích mối liên hệ giữa các triệu chứng bệnh, chuẩn đoán và phương pháp điều trị (chế độ dinh dưỡng, thuốc, )
- Sản xuất và chế biến: Quy trình, phương pháp chế biến và xử lý sự cố
- Text mining và Web mining: Phân lớp văn bản và các trang Web, tóm tắt
Trang 188
văn bản,
- Lĩnh vực khoa học: Quan sát thiên văn, dữ liệu gene, dữ liệu sinh vật học, tìm kiếm, so sánh các hệ gene và thông tin di truyền, mối liên hệ gene và một số bệnh di truyền,
- Mạng viễn thông: Phân tích các cuộc gọi điện thoại và hệ thống giám sát lỗi,
sự cố, chất lượng dịch vụ,
Tổng kết chương 1
Trong chương 1 của luận văn, Chúng tôi đã trình bày một cách tổng quan về tỉnh Bình Dương, về công tác thực hiện một số chính sách bảo hiểm thất nghiệp, thực hiện việc cung cấp thông tin về tuyển dụng lao động ở nước ngoài, quản lý người nước ngoài làm việc tại tỉnh Bình Dương và công tác giới thiệu việc làm, tư vấn giới thiệu việc làm và hỗ trợ phát triển thị trường lao động Trình bày tổng quan về khai phá dữ liệu và các bước khai phá dữ liệu để áp dụng vào việc hỗ trợ gợi kết nối người tìm việc với nhà tuyển dụng cho công tác giới thiệu việc làm tại tỉnh Bình Dương
Trang 199
Trong chương 2, chúng tôi trình bày một số nghiên cứu liên quan về kết nối người tìm việc với nhà tuyển dụng và một số nghiên cứu liên quan đến phương pháp biểu diễn văn bản, mô hình vector, so khớp chuỗi, các độ đo tương đồng văn bản nhằm mục đích khai phá dữ liệu của Trung tâm dịch vụ việc làm tỉnh Bình Dương để cài đặt
và thực nghiệm bài toán hỗ trợ gợi ý kết nối người tìm việc với nhà tuyển dụng cho công tác giới thiệu việc làm tại Bình Dương Đồng thời, chương 2 cũng đưa đánh giá
về các nghiên cứu đó và đưa ra quyết định lựa chọn phương pháp nào để thực hiện cài đặt, thực nghiệm trong luận văn
2.1 Các nghiên cứu về kết nối người tìm việc với nhà tuyển dụng
Các nghiên cứu liên quan đến kết nối người tìm việc với nhà tuyển dụng ở Việt Nam đã được công bố ở nhiều nghiên cứu trong những năm gần đây Bài phân tích Thực trạng Cung – Cầu lao động và những giải pháp [1], bài phân tích này nêu rỏ về thực trạng tại thị trường lao động tại Việt Nam và đưa ra giải pháp trong tương lai cho việc kết nối người lao động và nhà tuyển dụng tại Việt Nam
Nghiên cứu kết nối cung – cầu việc làm hiệu quả [2] nêu ra được một số bài toán và các chương trình để có thể tìm được việc làm cho người lao động
Bài phân tích nâng cao hiệu suất kết nối cung – cầu lao động [3] cũng nêu lên được một số phương pháp để các Trung tâm dịch vụ việc làm trên cả nước thực hiện
để từng bước nâng cao được hiệu suất việc kết nối người lao động với nhà tuyển dụng
Tuy nhiên các nghiên cứu và bài phân tích trên chỉ đưa ra được những giải pháp chung để các Trung tâm dịch vụ việc làm trên cả nước thực hiện việc kết nối người lao động với nhà tuyển dụng thông qua các kênh tuyên truyền, sàn dịch vụ việc làm , theo sự hiểu biết của Chúng tôi, chưa có một nghiên cứu nào để phân tích mô hình hỗ trợ gợi ý kết nối người lao động và nhà tuyển dụng để áp dụng cho thị trường lao động tại tỉnh Bình Dương
Ngoài ra, một số đề tài đáng chú ý về so sánh, đánh giá độ tương tự văn bản
như “Tính toán độ tương tự ngữ nghĩa văn bản dựa vào độ tương tự giữa từ với từ” của tác giả Đỗ Thị Thanh Nga (Đại học Công nghệ Đại học Quốc gia Hà Nội,
Trang 20áp dụng công thức tính độ tương tự giữa từ với từ còn khá đơn giản
Đề tài của tác giả Dương Thăng Long năm 2014 giới thiệu phương pháp đánh giá độ tương tự văn bản tiếng Việt sử dụng 3 yếu tố: độ tương tự dựa trên vector đặc trưng ngữ nghĩa, độ tương tự dựa trên cấu trúc thứ tự các từ và độ tương tự dựa trên
ma trận so sánh cặp từ vựng theo nhóm từ loại [6] Nhưng phương pháp đề xuất còn phụ thuộc vào kết quả của các xử lý trung gian, đặc biệt là dịch từ tiếng Việt sang tiếng Anh và đánh giá độ tương tự của cặp từ vựng tiếng Anh
Đề tài của tác giả Nguyễn Kim Anh năm 2016 giới thiệu phương pháp đánh giá
độ tương tự hai văn bản bằng cách kết hợp độ tương tự ngữ nghĩa và độ tương tự về thứ tự từ [7] Nhưng tác giả chưa xử lý từ dừng (Stopword) trong việc so sánh độ tương tự
Trong luận văn này, chúng tôi đánh giá độ tương đồng văn bản dựa vào độ tương tự về thứ tự từ và độ tương tự về ngữ nghĩa kết hợp việc xử lý từ dừng (Stopword) Và theo chúng tôi được biết là chưa có mô hình nào khai phá dữ liệu về cung cầu lao động cũng như mô hình hỗ trợ gợi ý kết nối người tìm việc và nhà tuyển dụng cho công tác giới thiệu việc làm tại tỉnh Bình Dương
2.2 Các nghiên cứu liên quan đến phương pháp biểu diễn văn bản
Trong xử lý văn bản có rất nhiều phương pháp có cách tính toán khác nhau, nhưng nhìn một cách tổng quan thì các phương pháp đó thường không tương tác trực tiếp trên tập dữ liệu thô ban đầu, mà thường thực hiện một số bước như tiền xử lý văn bản và mô hình hóa văn bản
Trang 2111
Văn bản trước khi được mô hình hóa, tức là trước khi sử dụng, cần phải được tiền xử lý Quá trình tiền xử lý sẽ giúp nâng cao hiệu suất và giảm độ phức tạp khi sử dụng các phương pháp tính độ tương đồng Tùy vào mục đích khai thác mà chúng ta sẽ
có những phương pháp tiền xử lý văn bản khác nhau như: chuyển hẳn về chữ thường; loại bỏ các ký tự đặc biệt, các chữ số, phép toán số học; tách văn bản thành các câu và các từ riêng lẻ để sử dụng cho mục đích tính toán sau này; loại bỏ các từ dừng (stopword); lưu các câu và các từ vào một cấu trúc dữ liệu phù hợp;… Nói cách khác, một văn bản ở dạng thô (dạng chuỗi) cần được chuyển sang một mô hình khác để tạo thuận lợi cho việc biểu diễn và tính toán Tùy thuộc vào từng thuật toán xử lý khác nhau mà chọn mô hình biểu diễn phù hợp
Trong các cơ sở dữ liệu văn bản, mô hình vector là mô hình biểu diễn văn bản được sử dụng phổ biến nhất Mối quan hệ giữa các tập văn bản được thực hiện thông qua việc tính toán trên các vector biểu diễn nên đem lại hiệu quả cao Theo mô hình này, mỗi văn bản được biểu diễn thành một vector Mỗi thành phần của vector là một
từ khóa riêng biệt trong tập văn bản gốc và được gán một giá trị là hàm f, chỉ mật độ xuất hiện của từ (hay từ khóa) trong văn bản Trong nghiên cứu này, Chúng tôi đề xuất cách biểu diễn văn bản theo mô hình vector với ma trận trọng số từ (hay từ khóa)/tài liệu theo từ hoặc n-gram từ và sử dụng một số độ đo để tính toán, đo khoảng cách giữa các vector để đưa ra độ tương đồng giữa các văn bản
2.2.1 Mô hình vector
Mô hình vector là một mô hình đại số thông dụng và đơn giản, thường được dùng
để biểu diễn văn bản Sau khi tiền xử lý, một văn bản được mô tả bởi một tập các từ hay cụm từ (gọi là từ chỉ mục) Tập các từ chỉ mục xác định một không gian mà mỗi từ chỉ mục tượng trưng cho một chiều trong không gian đó Các từ chỉ mục này cũng chính là các từ chứa nội dung chính của tập văn bản, mỗi từ chỉ mục này được gán một trọng số [4] Để tính toán độ đo tương đồng giữa văn bản truy vấn và các văn bản mẫu, chúng ta có thể sử dụng các phép toán trên mô hình vector
Trang 2212
2.2.2 So khớp chuỗi
Với bài toán so khớp văn bản, có thể giải quyết thông qua việc so khớp chuỗi Bài toán so khớp chuỗi được phát biểu như sau: Cho trước một chuỗi văn bản có độ dài n và một mẫu có độ dài m, hãy tìm sự xuất hiện của mẫu trong văn bản Để tìm sự xuất hiện của tất cả các mẫu trong văn bản, thực hiện bằng cách quét qua toàn bộ văn bản một cách tuần tự Bài toán “so khớp” có đặc trưng như một bài toán tìm kiếm, trong đó mẫu được xem như khóa Một số thuật toán để giải quyết bài toán so khớp chuỗi như: Brute-Force, Morris-Pratt, KnuthMorris-Pratt (KMP), Boyer-Moore, Karp-Rabin, Horspool, … [4] Những thuật toán này tập trung vào vấn đề so sánh hai chuỗi
ký tự bất kỳ và phát hiện sự giống nhau giữa chúng Trong một số trường hợp, việc đo
độ tương đồng giữa hai đoạn văn bản là sử dụng so khớp từ đơn giản và tạo ra một điểm tương tự trên số đơn vị từ vựng xảy ra ở cả hai đoạn văn bản đầu vào Việc loại
bỏ các từ dừng, gán nhãn từ loại, so khớp tập con dài nhất, cũng như gán các trọng số,
… đều có thể được tích hợp để mang lại hiệu quả cho phương pháp so khớp văn bản Qua quá trình kiểm tra thực tế, Chúng tôi nghiên cứu các thuật toán so khớp chuỗi để có thể ứng dụng trong bài toán hỗ trợ gợi ý kết nối người tìm việc với nhà tuyển dụng cho công tác giới thiệu việc làm tại tỉnh Bình Dương
2.2.3 Các độ đo tương đồng
Sự tương đồng giữa hai văn bản là sự giống nhau về nội dung giữa hai văn bản
đó Do đó, hai văn bản là bản sao hoặc gần giống nhau thì sẽ có nội dung giống nhau nhiều, hay “độ tương đồng” giữa hai văn bản là cao Độ tương đồng nằm trong khoảng
Hình 2.1 Góc tạo bởi 2 vector d1, d2 và q
𝑑 2
𝑝
α 𝜃
𝑑 1
Trang 2313
giữa 0 và 1, như vậy độ tương đồng càng gần 1 thì khả năng các văn bản là bản sao hoặc gần giống nhau là cao, và ngược lại Do đó, để xét xem các văn bản có phải là bản sao hoặc gần giống nhau hay không ta phải tính độ tương đồng giữa chúng [13] Một số phương pháp tính độ tương đồng văn bản có kết quả khả quan trong tiếng Anh như sử dụng các tập dữ liệu chuẩn về ngôn ngữ để tìm ra mối quan hệ giữa các từ trong các kho dữ liệu như: Wordnet, Brown Corpus, Penn TreeBank, … Phương pháp dựa trên tập dữ liệu và dựa trên tri thức sẽ xác định sự giống nhau về mặt ngữ nghĩa của từ, phương pháp dựa trên chuỗi xác định sự giống nhau về mặt từ vựng Trong đó, phương pháp thao tác trên chuỗi xác định sự giống nhau giữa các chuỗi dựa vào thành phần cấu tạo nên chuỗi và được tách thành hai phương pháp là dựa trên ký tự (character-based) và dựa trên từ (term-based) Một số thuật toán dựa trên ký tự như: chuỗi con chung dài nhất (LCS), Damerau-Levenshtein, Jaro, Jaro-Winkler, Needleman-Wunsch, Smith-Waterman, n-gram và thuật toán dựa trên từ như: khoảng cách Manhattan, Cosine Similarity, hệ số Dice, khoảng cách Euclid, Jaccard Similarity, hệ số Matching và hệ số Overlap [14]
Trong luận văn này, Chúng tôi nghiên cứu, cài đặt và thực nghiệm dựa trên bốn
độ đo Cosine, Jaccard, Matthanan, Levenshtein để tính toán mức độ giống nhau giữa tên hồ sơ tuyển dụng của doanh nghiệp và tên tên hồ sơ xin việc của người tìm việc trong cơ sở dữ liệu của bài toán hỗ trợ kết nối người tìm việc với nhà tuyển dụng cho công tác giới thiệu việc làm tại tỉnh Bình Dương
Tổng kết chương 2
Trong chương 2 của luận văn, Chúng tôi đã Trình bày một số nghiên cứu liên quan đã được công bố về kết nối người tìm việc với nhà tuyển dụng và một số nghiên cứu liên quan đến phương pháp biểu diễn văn bản, mô hình vector, so khớp chuỗi, các
độ đo tương đồng văn bản Đồng thời, chương 2 cũng đưa ra đánh giá về các nghiên cứu đó và đưa ra quyết định lựa chọn phương pháp nào để thực hiện cài đặt, thực nghiệm trong luận văn
Trang 2414
Trong chương này chúng tôi đề xuất mô hình xử lý cho bài toán hỗ trợ kết nối người tìm việc và nhà tuyển dụng cho công tác giới thiệu việc làm ở Bình Dương Ngoài ra chúng tôi còn trình bày một số phương pháp tính độ tương đồng để áp dụng trong mô hình giải quyết bài toán trên
3.1 Mô hình xử lý
Mô hình xử lý việc hỗ trợ gợi ý kết nối người tìm việc với nhà tuyển dụng cho công tác giới thiệu việc làm: Với 02 dữ liệu đầu vào của người tìm việc và nhà tuyển dụng sẽ được chuyển vào hệ thống xử lý kết nối người tìm việc và nhà tuyển dụng, để cho kết quả là các gợi ý gần giống với thông tin mà người tìm việc hoặc nhà tuyển dụng đã cung cấp vào hệ thống
- Tiền xử lý: bao gồm xử lý dữ liệu thô và xử lý dữ liệu đã được làm sạch
+Xử lý dữ liệu thô: Làm sạch dữ liệu, loại bỏ nhiễu, hiểu chỉnh những thành phần dữ liệu không nhất quán, xử lý các dữ liệu của các biến dư thừa hoặc thiếu thông tin; Tích hợp dữ liệu: trộn dữ liệu từ nhiều bảng với nhau thành 02 bảng dữ liệu “Nhà tuyển dụng” và “Người tìm việc” Tại đây, các công việc được sử dụng để so trùng dữ liệu, phát hiện ra các dữ liệu dư thừa và các dữ liệu không nhất quán; Biến đổi dữ liệu: chuẩn hóa dữ liệu và xây dựng các thuộc tính cho dữ liệu;
Hình 3.1: Mô hình xử lý việc hỗ trợ gợi ý kết nối người tìm việc và nhà tuyển dụng
Trang 2515
+Xử lý dữ liệu đã được làm sạch: Giai đoạn này có nhiệm vụ tách tên hồ sơ công việc ra các từ Do việc xây dựng bộ tách từ khá phức tạp và nằm ngoài phạm vi nghiên cứu nên Chúng tôi đã sử dụng bộ tách từ của thư viện sklearn đã được viết sẳn để thực hiện bước tiền xử lý; Xử lý từ nhằm mục đích loại bỏ các từ dừng dựa trên từ điển từ dừng có trước và thêm vào một số từ dừng có trên dữ liệu của Trung tâm dịch vụ việc làm tỉnh Bình Dương
- Vec tơ hóa: Giai đoạn này có nhiệm vụ xây dựng vector biểu diễn văn bản gồm vector đặc trưng ngữ nghĩa và vector thứ tự từ, sử dụng danh sách các câu và các từ đã được xử lý ở trên
- So khớp (tính độ tương đồng): Độ tương đồng cho dữ liệu là sự kết hợp giữa độ tương đồng của vec tơ ngữ nghĩa và vec tơ thứ tự biểu diễn hai tên hồ sơ Các độ đo Cosine, Manhattan thường được sử dụng để xác định độ tương đồng giữa các vec tơ biểu diễn tên hồ sơ.Trong nghiên cứu này, Chúng tôi sử dụng 4 độ đo Cosine, Jaccard, Manhattan và Levenshtein để áp dụng vào mô hình xử lý việc hỗ trợ gợi ý kết nối người tìm việc và nhà tuyển dụng nhằm chọn ra độ đo phù hợp nhất đối với dữ liệu này
3.2 Một số độ đo áp dụng cho mô hình xử lý
Trong mục này, Chúng tôi giới thiệu, nêu ý tưởng của những thuật toán và các bước thực hiện để tính độ tương đồng của các bộ dữ liệu thông qua bốn độ đo tương đồng Cosine, Jaccard, Manhattan, Levenshtein
3.2.1 Độ đo Cosine
Tính độ tương đồng văn bản dựa trên độ đo Cosine là phương pháp tương đối đơn giản và cho kết quả với độ chính xác cao Các văn bản được biểu diễn theo mô hình túi từ (bag-of-words) Trong mô hình này, một văn bản được thể hiện như là một túi các từ của nó, không theo ngữ pháp và thứ tự từ Mỗi văn bản được được tách ra thành các từ hay cụm từ (n-gram từ), sau đó được bỏ vào trong túi Mỗi từ hay cụm từ được tính tổng số lần xuất hiện và được tạo thành vector n chiều, trong đó n là số phần
tử trong danh sách chung các từ hay cụm từ khác nhau của các văn bản Sau khi
Trang 26Thuật toán 1: Tính độ tương đồng Cosine
Đầu vào: 2 văn bản cần so sánh (văn bản 1 và văn bản 2)
Xử lý: Thực hiện qua các bước sau:
Bước 1: Tiền xử lý (tách từ, tạo danh sách từ vựng, loại bỏ stopword )
Bước 2: Xây dựng tập từ vựng chung X = {x1, x2, }
Bước 3: Mô hình hóa văn bản thành vector: Dựa vào X ta tạo ra vector tần số của văn bản 1 và văn bản 2 lần lược là 𝑣1⃗⃗⃗⃗ 𝑣à 𝑣2⃗⃗⃗⃗ (áp dụng phương pháp TF*IDF)
Bước 4: Từ 2 vector tần số từ tương ứng với văn bản 1 và văn bản 2, Áp dụng công thức (1) để tính cos góc giữa 2 vector
Đầu ra: Ta được số đo về độ tương đồng giữa văn bản 1 và văn bản 2
3.2.2 Độ đo khoảng cách Manhattan
Khoảng cách Manhattan là một dạng khoảng cách giữa hai điểm trong không gian Euclid với hệ tọa độ Descartes Đại lượng này được tính bằng tổng chiều dài của hình chiếu của đường thẳng nối hai điểm này trong hệ trục tọa độ Descartes
Khi hai văn bản đươc biểu diễn thành hai vector đặc trưng 𝑎 và 𝑏⃗ ta có công thức Manhattan [9], [10] là:
Trang 2717
𝑆𝑖𝑚𝑀(𝑎 , 𝑏⃗ ) = 1 −∑𝑛𝑖=1|𝑎𝑖 −𝑏𝑖|
Thuật toán 1: Tính độ tương đồng Manhattan
Đầu vào: 2 văn bản cần so sánh (văn bản 1 và văn bản 2)
Xử lý: Thực hiện qua các bước sau:
Bước 1: Tiền xử lý (tách từ, tạo danh sách từ vựng, loại bỏ stopword )
Bước 2: Xây dựng tập từ vựng chung X = {x1, x2, }
Bước 3: Mô hình hóa văn bản thành vector: Dựa vào X ta tạo ra vector tần số của văn bản 1 và văn bản 2 lần lược là 𝑣1⃗⃗⃗⃗ 𝑣à 𝑣2⃗⃗⃗⃗ (áp dụng phương pháp TF*IDF)
Bước 4: Từ 2 vector tần số từ tương ứng với văn bản 1 và văn bản 2, Áp dụng công thức (2) để tính hệ số manhattan
Đầu ra: Ta được số đo về độ tương đồng giữa văn bản 1 và văn bản 2
3.2.3 Độ đo sử dụng hệ số Jaccard
Các chuỗi đầu vào của từng văn bản được chuyển thành tập hợp n-gram Cho hai tập hợp n-gram tương ứng với hai văn bản cần so sánh là A và B Sau khi chuyển hai văn bản thành vector lần lượt là 𝑎 và 𝑏⃗ , hệ số Jaccard được tính như công thức sau [8], [11]:
𝑆𝑖𝑚𝐽(𝑎 , 𝑏⃗ ) = |𝑎 ∩ 𝑏⃗ |
|𝑎 ∪ 𝑏⃗ | (3)
Thuật toán 1: Tính độ tương đồng Jaccard
Đầu vào: 2 văn bản cần so sánh (văn bản 1 và văn bản 2)
Xử lý: Thực hiện qua các bước sau:
Bước 1: Tiền xử lý (tách từ, tạo danh sách từ vựng, loại bỏ stopword )
Bước 2: Xây dựng tập từ vựng chung X = {x1, x2, }
Trang 28Đầu ra: Ta được số đo về độ tương đồng giữa văn bản 1 và văn bản 2
3.2.4 Độ đo khoảng cách Levenshtein
Khoảng cách Levenshtein thể hiện khoảng cách khác biệt giữa hai chuỗi ký tự Khoảng cách Levenshtein giữa chuỗi A và chuỗi B là số bước nhỏ nhất để biến đổi chuỗi A thành chuỗi B thông qua ba phép biến đổi là: xóa một ký tự, thêm một ký tự
và thay ký tự này thành ký tự khác Để tính toán khoảng cách Levenshtein, sử dụng thuật toán quy hoạch động, tính toán trên mảng 2 chiều (n+1)*(m+1), với n và m lần lượt là độ dài chuỗi A và B
Khoảng cách Levenshtein là khoảng cách giữa hai chuỗi ký tự có giá trị của d[m, n], với s là độ dài của chuỗi dài nhất Độ đo tương tự được tính theo công thức sau: [12]
𝑆𝑖𝑚𝐿(𝐴, 𝐵) = 1 −𝑑[𝑚, 𝑛]
𝑠 (4)
Thuật toán 1: Tính độ tương đồng Levenshtein
Đầu vào: 2 văn bản cần so sánh (văn bản 1 và văn bản 2)
Xử lý: Thực hiện qua các bước sau:
Bước 1: Tiền xử lý (tách từ, tạo danh sách từ vựng, loại bỏ stopword )
Bước 2: Xây dựng tập từ vựng chung X = {x1, x2, }
Bước 3: Mô hình hóa văn bản thành vector: Dựa vào X ta tạo ra vector tần số của văn bản 1 và văn bản 2 lần lược là 𝑣1⃗⃗⃗⃗ 𝑣à 𝑣2⃗⃗⃗⃗ (áp dụng phương pháp TF*IDF)