Các phương pháp tiếp cận giải quyết bài toán nhận dạng thực thể Chương IV: Mô tả kiến trúc hệ gợi ý công việc khi áp dụng phương pháp trích rút thông tin kết hợp với phương pháp hồi q
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
──────── * ────────
Nguyễn Công Hoàn
ỨNG DỤNG TRÍCH RÚT THÔNG TIN TRONG VIỆC CẢI THIỆN CHẤT LƯỢNG
HỆ GỢI Ý
Chuyên ngành: Công nghệ thông tin
LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS TS Lê Thanh Hương
HÀ NỘI - 2016
Trang 2LỜI CAM ĐOAN
Tôi – Nguyễn Công Hoàn – cam kết luận văn tốt nghiệp là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của PGS TS Lê Thanh Hương
Những kiến thức trình bày trong luận văn là do tôi tìm hiểu, nghiên cứu và trình bày theo những kiến thức tổng hợp của cá nhân Kết quả nghiên cứu trong luận văn chưa từng được công bố tại bất kỳ công trình nào khác
Trong quá trình làm luận văn, tôi có tham khảo các tài liệu có liên quan và đã ghi rõ nguồn tài liệu tham khảo
Các kết quả nêu trong luận văn là trung thực, không phải là sao chép toàn văn của bất kỳ công trình nào khác
Hà Nội, ngày 24 tháng 10 năm 2016
Tác giả
Nguyễn Công Hoàn
Trang 3TÓM TẮT NỘI DUNG LUẬN VĂN TỐT NGHIỆP
Hệ gợi ý, là một dạng của hệ thống lọc thông tin, có thể đưa ra những thông tin phù hợp cho người dùng bằng cách dựa vào dữ liệu về hành vi trong quá khứ của cộng đồng để dự đoán những thông tin mới trong tương lai mà người dùng có thể quan tâm Hệ gợi ý đã chứng minh được ý nghĩa to lớn là: giúp cho người dùng đối phó với tình trạng quá tải thông tin Hiện nay, hệ gợi ý trở thành một trong những công cụ mạnh mẽ và phổ biến trong nhiều dịch vụ khác nhau, ví dụ: gợi ý công việc, gợi ý bài báo khoa học, gợi ý dịch vụ số
Giống như hệ gợi ý nói chung, hệ gợi ý công việc có khả năng đưa ra một danh sách các công việc đáp ứng mong muốn của một người tìm việc, hoặc một danh sách các ứng viên đáp ứng các yêu cầu của nhà tuyển dụng bằng cách sử dụng các kỹ thuật gợi ý; ví dụ, kỹ thuật gợi ý dựa trên nội dung và kỹ thuật gợi ý lọc cộng tác
Trích rút thông tin đề cập đến việc tự động trích rút ra những thông tin có cấu trúc như các thực thể, các quan hệ giữa các thực thể, và các thuộc tính mô tả những thực thể này từ một nguồn dữ liệu không có cấu trúc Điều này cho phép những dạng truy vấn phong phú, phức tạp và có được kết quả tốt hơn từ những nguồn dữ liệu khổng lồ hiện nay
Luận văn này tập trung vào việc đề xuất một cách cải thiện chất lượng hệ gợi
ý công việc, bằng cách áp dụng thêm trích rút thông tin vào một phương pháp gợi ý
cụ thể Hiện tại các thông tin mô tả công việc, liên quan đến chuyên ngành và kinh nghiệm mà công việc yêu cầu chỉ được mô tả dưới dạng text Các phương pháp gợi
ý thông thường chưa lấy được những thông tin này để phục vụ cho việc gợi ý Luận văn sẽ hỗ trợ trích rút ra những thông tin này để cải thiện chất lượng hệ gợi ý
Nội dung của luận văn sẽ được tổ chức thành 5 chương như sau:
Chương I: Giới thiệu về bài toán hệ gợi ý và các cách tiếp cận để giải
quyết bài toán
Chương II: Giới thiệu bài toán hệ gợi ý công việc và các phương pháp
gợi ý để giải quyết bài toán gợi ý công việc
Trang 4 Chương III: Trình bày tổng quan về trích rút thông tin và module nhận
dạng thực thể Các phương pháp tiếp cận giải quyết bài toán nhận dạng thực thể
Chương IV: Mô tả kiến trúc hệ gợi ý công việc khi áp dụng phương pháp
trích rút thông tin kết hợp với phương pháp hồi quy chủ đề cộng tác
Chương V: Kết luận, đánh giá và các định hướng phát triển
Trang 5LỜI CẢM ƠN
Em xin bày tỏ lòng biết ơn vô hạn đến tập thể các thầy cô giáo trường Đại Học Bách Khoa Hà Nội, đã trang bị cho em nhiều kiến thức quý báu, rất cần thiết cho việc hoàn thành luận văn này Các thầy cô luôn là tấm gương mẫu mực về tác phong làm việc và nghiên cứu để em noi theo
Em xin gửi lời cảm ơn chân thành tới PGS.TS Lê Thanh Hương và ThS
Phạm Minh Chuẩn đã tận tình hướng dẫn em từ những ngày đầu nhận đề tài và chỉ
bảo cho em trong suốt quá trình làm luận văn này
Xin gửi lời cảm ơn tới các anh-chị-em, lớp 14BCNTT, đã động viên tôi trong những lúc khó khăn và luôn nhiệt tình trao đổi tài liệu, kiến thức chuyên môn cũng như kinh nghiệm trong lúc làm luận văn
Cuối c ng, em muốn gửi lời cảm ơn sâu s c đến cha mẹ, gia đình và tất cả bạn bè, những người luôn kịp thời động viên và giúp đ em vượt qua những khó khăn trong cuộc sống
Học Viên
Nguyễn Công Hoàn
Trang 6MỤC LỤC
Bảng từ viết tắt 8
Danh mục hình 9
Danh mục bảng 10
Mở đầu 11
Chương I Bài toán hệ gợi ý và các cách tiếp cận để giải quyết bài toán 13
1 Cơ sở lý thuyết 13
2 Cách thức hoạt động của hệ gợi ý 13
3 Các phương pháp gợi ý 15
4 Nhận xét các cách tiếp cận 18
Chương II Bài toán hệ gợi ý công việc 20
1 Phát biểu bài toán hệ gợi ý công việc 20
2 Các phương pháp gợi ý áp dụng cho bài toán gợi ý công việc 24
2.1 Phương pháp phân tích ma trận 24
2.2 Phương pháp phân tích chủ đề ẩn (LDA – Latent Dirichlet Allocation) 25
2.3 Phương pháp kết hợp LDA và lọc cộng tác 26
3 Đề xuất áp dụng phương pháp sử dụng trích rút thông tin vào hệ gợi ý 28
4 Tổng kết chương 28
Chương III Tổng quan về trích rút thông tin và các hướng tiếp cận 30
1 Tổng quan hệ thống trích rút thông tin 30
2 Khái niệm về nhận dạng thực thể và các cách tiếp cận 31
2.1 Cách tiếp cận học máy để giải quyết bài toán nhận dạng thực thể 32
2.2 Cách tiếp cận thủ công 33
2.2.1 Tổng quan về GATE 34
2.2.2 Module JAPE của GATE 35
3 Tổng kết chương 36
Chương IV Mô hình hệ thống và kết quả thực nghiệm 38
1 Mô hình hệ gợi ý công việc có sử dụng module nhận dạng thực thể 38
2 Module nhận dạng thực thể trong mô hình kiến trúc 39
2.1 Các dữ liệu đã có cấu trúc trong mô tả của công việc 39
2.2 Trích rút lĩnh vực và chuyên ngành 39
2.3 Trích rút yêu cầu về kinh nghiệm 41
2.4 Đánh giá 44
Trang 73 Thử nghiệm hệ thống 45
3.1 Kịch bản thử nghiệm 45
3.2 Phương pháp đánh giá 45
3.3 Kết quả thực nghiệm 47
4 Tổng kết chương 49
Chương V Kết luận và định hướng phát triển 50
1 Kết luận 50
2 Định hướng phát triển 50
Tài liệu tham khảo 51
Trang 8Bảng từ viết tắt
Recommendation
Đề xuất, gợi ý – kết quả đầu ra của hệ thống gợi ý, dưới dạng danh sách items
Phương pháp dự đoán độ phù hợp của một sản phẩm với một người dùng dựa trên thông tin
từ cộng đồng người dùng
CTR Collaborative Topic Regression
Phương pháp hồi quy chủ đề cộng tác, là một phương pháp kết hợp phương pháp lọc cộng tác và mô hình chủ đề
Trang 9Danh mục hình
Hình 1.1: Hoạt động của hệ gợi ý 14
Hình 1.2: Các thành phần của hệ gợi ý 15
Hình 1.3: Gợi ý dựa trên lọc cộng tác 16
Hình 1.4: Gợi ý dựa trên nội dung 17
Hình 2.1: Thông tin cá nhân người dùng 20
Hình 2.2: Thông tin công việc 20
Hình 2.3: Lịch sử ứng tuyển công việc của người dùng 21
Hình 2.4: Mô hình tổng quát hệ gợi ý công việc 22
Hình 2.5: Hai nhiệm vụ của hệ gợi ý công việc 23
Hình 2.6: Mô hình đồ thị của CTR 27
Hình 3.1: Kiến trúc của hệ thống trích rút thông tin 31
Hình 3.2: Quá trình học máy 32
Hình 3.3: Kiến trúc của GATE 35
Hình 4.1: Kiến trúc của hệ gợi ý cộng việc sử dụng nhận dạng thực thể 38
Hình 4.2: Thông tin công việc 39
Hình 4.3: So sánh CTR và CTR + NER trường hợp trong ma trận 47
Hình 4.4: So sánh CTR và CTR + NER trường hợp ngoài ma trận 48
Trang 10Danh mục bảng
Bảng 1.1: Các phương pháp gợi ý 18
Bảng 1.2: Đánh giá một số phương pháp gợi ý 19
Bảng 4.1: Kết quả thực nghiệm trường hợp trong ma trận 47
Bảng 4.2: Kết quả thực nghiệm trường hợp ngoài ma trận 48
Trang 11Mở đầu
Ngày nay, sự phát triển và phổ biến rộng rãi của máy tính điện tử, cùng với sự phủ kh p toàn cầu của Internet, đã làm thay đổi cách mọi người tiếp cận, cập nhật, quản lý và phân phối thông tin Một hệ quả trực tiếp của điều này là việc quá tải thông tin, do lượng thông tin sẵn có quá lớn và liên tục gia tăng không ngừng Duyệt lần lượt các nội dung để quyết định được nội dung nào quan trọng, là không khả thi, và việc tìm các nội dung liên quan cũng trở nên khó khăn hơn do có quá nhiều sự lựa chọn Giả sử muốn mua một cuốn sách từ một nhà cung cấp trực tuyến với hàng triệu đầu sách; thật không dễ dàng để lựa chọn, khi mà phần lớn các cuốn sách hấp dẫn, mà bạn thì chưa từng đọc qua Tìm một cuốn sách bằng việc duyệt qua hàng triệu tiêu đề sách sẵn có là điều không thể, thêm nữa bạn khó có thể xác định rõ tiêu chí cụ thể cho việc tìm kiếm dễ dàng hơn.Theo thời gian, số lượng người d ng tăng lên, những nội dung cũng được cập nhật và gia tăng với tốc độ chóng mặt, lại càng gây khó khăn cho việc lựa chọn, quyết định của người dùng Trong những trường hợp như vậy, người dùng cần đến sự trợ giúp của hệ gợi ý giúp giải quyết vấn đề quá tải thông tin Hệ gợi ý dùng các thông tin về sở thích, lịch sử hành vi của cộng đồng người d ng để gợi ý cho một người cụ thể, những nội dung đáng quan tâm Người dùng tham gia hệ thống, có thể sẵn lòng phản hồi nhận xét về các đối tượng, và từ các thông tin như vậy, hệ gợi ý dự đoán mức độ ưu tiên của họ cho các đối tượng khác và đưa ra lời gợi ý với các đối tượng có mức độ liên quan được dự đoán cao nhất Hiện nay, các nhà cung cấp dịch vụ xem hệ gợi ý là một phần quan trọng trong hệ thống, giúp phục vụ tốt hơn tới từng cá nhân, nâng cao mức độ hài lòng của khách hàng
Liên quan đến hệ thống tìm kiếm công việc, để người ứng tuyển có được công việc phù hợp trong số lượng rất lớn nhà ứng tuyển, với các nội dung công việc khác nhau cũng là vấn đề phức tạp Việc hệ thống đưa ra danh sách các công việc phù hợp nhất cho người ứng tuyển, để người dùng không mất công sức để tìm kiếm cũng là chức năng sống còn của hệ thống Hiện tại các thông tin về chuyên ngành
và kinh nghiệm trong nội dung công việc chỉ được mô tả dưới dạng text Các phương pháp gợi ý thông thường chưa lấy được những thông tin này để phục vụ cho
Trang 12việc gợi ý Luận văn sẽ hỗ trợ trích ra những thông tin này để cải thiện chất lượng
hệ gợi ý
Trang 13Chương I Bài toán hệ gợi ý và các cách tiếp cận để giải quyết bài toán
1 Cơ sở lý thuyết
Hệ gợi ý ra đời và phát triển b t đầu từ những quan sát khá tự nhiên và lý thú: cá nhân thường dựa trên những lời khuyên từ những người xung quanh, người thân, bạn bè, đồng nghiệp… khi phải đưa ra các quyết định, các lựa chọn Ví dụ như chúng ta thường dựa trên lời khuyên của bạn bè khi lựa chọn một cuốn sách để đọc, hay quyết định xem một bộ phim nào đó bằng cách xem những nhận xét từ các nhà phê bình… Bằng việc mô hình hóa hành vi nói trên, thuật toán áp dụng cho hệ gợi
ý sử dụng các phản hồi của số đông người dùng, để đưa ra đề xuất cho một cá nhân người dùng Một cách đơn giản nhất, hệ gợi ý cung cấp cho người dùng một danh sách các sản phẩm (Items) được xếp hạng Việc xếp hạng các sản phẩm được hệ gợi
ý đưa ra dựa trên các dự đoán những sản phẩm phù hợp nhất với nhu cầu, sở thích
cá nhân người dùng cụ thể
2 Cách thức hoạt động của hệ gợi ý
Như thể hiện trong Hình 1.1, hai nguồn thông tin đầu vào cần thiết của hệ gợi
ý là: thông tin người dùng và thông tin các sản phẩm Các thông tin này có thể được lưu trữ theo các dữ liệu có cấu trúc, hoặc cũng có thể được rút ra từ các nguồn dữ
liệu phi cấu trúc Kết quả đầu ra của hệ gợi ý được thể hiện trong Hình 1.1, là một
tập các đề xuất – gợi ý cho người dùng Các đề xuất này là một tập danh sách sản phẩm, các thông tin tóm t t về sản phẩm…, và phụ thuộc vào từng phương pháp hệ gợi ý cụ thể
Trang 14Hình 1.1: Hoạt động của hệ gợi ý Quá trình hoạt động được thể hiện chi tiết hơn trong Hình 1.2, bao gồm các
bước sau: tập hợp thông tin, lựa chọn thông tin, chuyển đổi thông tin, cấu trúc hóa thông tin, và biểu diễn – trình bày thông tin Dưới đây là mô tả cụ thể các bước:
Tập hợp thông tin: Các thông tin lưu trữ không được thực hiện bởi hệ gợi ý,
nhưng nó đóng một vai trò quan trọng Nó bao gồm các thông tin cá nhân người dùng, lịch sử các hành vi của người dùng, và thông tin về sản phẩm như metadata, đặc tính của sản phẩm Bước này đóng một vai trò quan trọng,
vì nó là cơ sở cho toàn bộ quá trình hệ gợi ý thực hiện dự đoán và đưa ra gợi
ý cho người dùng Nếu thông tin thu thập không đầy đủ, hay mâu thuẫn; hệ gợi ý sẽ không thể thực hiện chức năng dự đoán, đưa ra đề xuất
Lựa chọn thông tin: Bước lựa chọn bao gồm việc xác định những thông tin
liên quan trực tiếp đến quá trình xử lý, dự đoán Cách lựa chọn tập thông tin phụ thuộc chặt chẽ vào phương pháp tiếp cận của hệ thống Từ tập thông tin lựa chọn, giúp chúng ta xác định được độ tương quan giữa hai sản phẩm, hoặc hai người dùng bất kỳ
Chuyển đổi thông tin: Mục tiêu chính của bước chuyển đổi là thực hiện các
biến đổi thông tin, xây dựng các mô hình, các hàm từ dữ liệu đã được xử lý trong hai bước đầu, biểu diễn thông tin dưới dạng quy định của hệ gợi ý, thực hiện các dự đoán
Cấu trúc thông tin: Cấu trúc thông tin có liên quan đến việc cấu trúc, tổ
chức thông tin mà người dùng duyệt qua các thông tin đề xuất đưa ra Bước
Trang 15này bao gồm các hoạt động như nhóm các sản phẩm, xếp hạng các sản phẩm, phân loại, liên kết các sản phẩm có quan hệ với nhau…
Biểu diễn - trình bày thông tin: Bước cuối trong quá trình gợi ý là đưa ra
các thông tin gợi ý cho người dùng theo các tiêu chuẩn: bố trí, định dạng tài liệu, màu s c, phông chữ…
Hình 1.2: Các thành phần của hệ gợi ý
Thông tin phản hồi của người dùng: Thu nhận các thông tin phản hồi là
một bước thêm vào, tùy theo mỗi hệ gợi ý Mặc dù đây là bước tùy chọn, nhưng nó giúp ích rất nhiều trong việc cải thiện hoạt động, nâng cao kết quả của hệ gợi ý Phản hồi của người d ng được hệ thống ghi nhận với hai dạng tiềm ẩn, hoặc rõ ràng Với phản hồi rõ ràng, người dùng cung cấp các thông tin thể hiện mức độ ưu tiên với các sản phẩm liên quan Các phản hồi tiềm ẩn
có được bằng cách thu thập, phân tích các hành vi người dùng: lịch sử duyệt các sản phẩm, thời gian lưu lại, số lần quay lại sử dụng…
3 Các phương pháp gợi ý
Chức năng của hệ gợi ý là xác định danh sách các sản phẩm phù hợp với nhu cầu, sở thích cá nhân của người d ng Để thực hiện chức năng này, hệ thống phải có khả năng đưa ra dự đoán giá trị, dụng ích của một số sản phẩm, hoặc so sánh mức
độ ưu tiên của người d ng đối với các sản phẩm, sau đó dựa trên quả so sánh, xếp hạng đưa ra gợi ý cho người dùng Thực hiện nhiệm vụ tính toán, dự đoán dụng ích của sản phẩm, hay mức độ ưu tiên của người d ng đối với một sản phẩm ứng với
Trang 16một cá nhân cụ thể, cần xây dựng một mô hình xác định dụng ích của sản phẩm đối với người dùng là giá trị của hàm Hệ thống sẽ đưa ra các giá trị mang tính ước lượng của người dùng đối với một tập sản phẩm: Dựa trên các kết quả tính toán, hệ thống đưa ra gợi ý sản phẩm cho người dùng Thành phần quan trọng trong mỗi hệ gợi ý, là việc dự đoán, để xếp hạng các sản phẩm liên quan, đây là tiêu chí để phân loại hệ gợi ý theo các kỹ thuật dự đoán được
sử dụng Trên cơ sở kỹ thuật dự đoán được sử dụng có thể phân loại các hệ gợi ý:
Lọc cộng tác (Collaborative Filtering - CF): Đây là phương pháp được sử
dụng rộng rãi nhất Hệ gợi ý d ng phương pháp lọc cộng tác tập hợp thông tin về đánh giá, hoạt động của người dùng, xác định mức độ giống nhau giữa người dùng dựa trên sở thích, nhu cầu và đưa ra các gợi ý từ kết quả so sánh Trong đó, thông tin cá nhân của người dùng (user profile) là sự tổng hợp thông tin về sản phẩm và đánh giá của người dùng, những thông tin này luôn được gia tăng theo thời gian trong quá trình người d ng tương tác với hệ thống
Hình 1.3: Gợi ý dựa trên lọc cộng tác
Dựa nội dung (Content based): Hệ thống đưa ra gợi ý về các sản phẩm dựa
trên mức độ giống nhau giữa một sản phẩm với sản phẩm người d ng ưa thích trong quá khứ Sự tương quan giữa các sản phẩm được đánh giá, tính toán dựa trên tập hợp các đặc điểm của các sản phẩm được đem so sánh Ví
dụ như nếu người dùng đã từng đăng ký tuyển dụng vào công việc lập trình ở
Trang 17công ty nào đó, hệ gợi ý sẽ xử lý đưa ra một công việc tương tự về lĩnh vực công nghệ thông tin – phần mềm
Hình 1.4: Gợi ý dựa trên nội dung
Dựa điều tra xã hội học (Demographic): Hệ thống đưa ra gợi ý về sản
phẩm dựa trên các điều tra khảo sát mang tính xã hội học dựa trên thông tin
cá nhân của người dùng Hệ thống tập trung vào việc phân loại người dùng dựa trên các đặc tính cá nhân: tuổi, giới tính, nghề nghiệp, trình độ học vấn…
Hệ gợi ý lai (Hybrid Recommender System): Việc kết hợp hai hay nhiều
phương pháp học để đưa ra gợi ý sản phẩm cho người dùng
Trang 18Dữ liệu học Đầu vào Quá trình xử lý
đồng người dùng với các sản phẩm
u, từ đó dự đoán
đánh giá của người
dùng u đối với sản phẩm i
Dựa nội dung Đặc điểm của tất cả
Thông tin điều tra mang tính xã hội về
người dùng u
Xác định người dùng
có sự tương quan cao về thông tin điều tra mang tính xã hội học của người dùng
u, từ đó dự đoán
đánh giá của người
dùng u đối với sản phẩm i
Bảng 1.1: Các phương pháp gợi ý
4 Nhận xét các cách tiếp cận
Các phương pháp trong hệ gợi ý đều có điểm mạnh và điểm yếu riêng; và cùng chung các vấn đề cần giải quyết như sau:
một người dùng cụ thể và những người dùng khác trong hệ thống, thông qua đánh giá của người dùng với sản phẩm Do đó người dùng ít tương
tác hệ thống sẽ có ít đánh giá hơn, sẽ khó khăn hơn trong việc phân loại
Sản phẩm mới: Cũng tương tự trường hợp người dùng, nếu sản phẩm có
ít đánh giá sẽ khó khăn hơn cho việc đưa ra gợi ý Vấn đề cần xử lý là những người đầu tiên đánh giá một sản phẩm sẽ nhận được ít lợi ích từ
Trang 19việc đánh giá này, vì sản phẩm đấy chưa có đủ thông tin để gợi ý tốt cho các người dùng đầu tiên này Để giải quyết các vấn đề này, cần có cơ chế
để người dùng cung cấp các thông tin cá nhân khởi tạo cần thiết trước khi
hệ thống có thể đưa các gợi ý
Mức độ thưa của dữ liệu: Trong các hệ gợi ý, số lượng đánh giá của người d ng được thu thập thường rất nhỏ so với số lượng người dùng nhân với số lượng sản phẩm Vì vậy yêu cầu đặt ra là một phương pháp
dự đoán hoạt động hiệu quả trong cả trường hợp dữ liệu thu thập không
lớn
sự tăng lên theo thời gian của số lượng người dùng và số lượng sản phẩm
loại sản phẩm
Có thể không cần sử dụng tri thức chuyên gia
Độ chính xác được cải thiện theo thời gian hoạt động
Vấn đề người dùng mới Vấn đề sản phẩm mới
Độ chính xác phụ thuộc vào khối lượng dữ liệu
Vấn đề về sự ổn định, tính mềm dẻo
tri thức chuyên gia
Mức độ chính xác nâng lên theo thời gian
Độ chính xác được cải thiện theo thời gian hoạt động
Vấn đề người dùng mới
Độ chính xác phụ thuộc vào khối lượng dữ liệu
Vấn đề về sự ổn định, tính mềm dẻo
Dựa điều tra xã hội
học
Áp dụng được với nhiều loại sản phẩm
Có thể không cần sử dụng tri thức chuyên gia
Độ chính xác được cải thiện theo thời gian hoạt động
Vấn đề người dùng mới
Độ chính xác phụ thuộc vào kết quả điều tra
Vấn đề về sự ổn định, tính mềm dẻo
Bảng 1.2: Đánh giá một số phương pháp gợi ý
Trang 20Chương II Bài toán hệ gợi ý công việc
1 Phát biểu bài toán hệ gợi ý công việc
Khi người dùng truy cập vào hệ thống tìm kiếm, gợi ý việc làm, để nhận được gợi ý tốt nhất từ hệ thống thì người dùng cần phải cung cấp các thông tin cá nhân khởi tạo ban đầu bao gồm (UserID, City, State, Country, Zipcode, DegreeType, currentlyEmployed, TotalYearExperience )
Ví dụ về thông tin người dùng:
Hình 2.1: Thông tin cá nhân người dùng
Ngoài ra hệ thống sẽ cung cấp các thông tin về công việc do các nhà tuyển dụng đăng bao gồm (JobID, JobTilte, City, State, Country, StartDate, EndDate, Desciption, Requirements),
Ví dụ thông tin công việc:
Hình 2.2: Thông tin công việc
Trong các trường thông tin về công việc, thì thông tin về mô tả công việc có giá trị thông tin lớn nhất, và quyết định ứng tuyển của người dùng phụ thuộc nhiều vào trường mô tả này Cụ thể phần nội dung mô tả công việc có mã 428 như sau:
Job_428_des
<div>Industry leading detection systems manufacturer is seeking experienced or
certified electronic repair technicians for their Northwest Houston facility.<br
Trang 21/>\r<br />\rPosition is responsible for assembly of electrical and electronic
systems according to engineering data and knowledge of electrical principles, using hand tools and measuring instruments.<br />\r<br />\rModify electrical parts, assemblies, and systems to correct functional deviations.<br />\r<br />\rSet up and operate test equipment to evaluate performance of developmental parts,
assemblies, or systems under simulated operating conditions, and record
results.<br />\r<br />\rCollaborate with electrical engineers and other personnel
to identify, define, and solve developmental problems.<br />\r<br />\rBuild,
calibrate, maintain, troubleshoot and repair electrical instruments or testing
equipment.<br />\r<br />\rAnalyze and interpret test information to resolve
design-related problems.<br />\r<br />\rConduct inspections for quality control and assurance programs, reporting findings and recommendations.<br />\r<br />\rProvide technical assistance and resolution when electrical or engineering problems are encountered before, during, and after construction.<br />\r<br
/>\r<br />\r</div>
Hệ thống gợi ý công việc lưu lại lịch sử người d ng đã ứng tuyển công việc theo dạng dữ liệu như sau:
Hình 2.3: Lịch sử ứng tuyển công việc của người dùng
Hệ thống sẽ xử lý dữ liệu trên và áp dụng các kỹ thuật gợi ý để đưa ra danh sách các công việc được dự báo sẽ phù hợp với khả năng và mong muốn của người dùng
Từ danh sách công việc này, người dùng lựa chọn công việc phù hợp nhất với bản thân
Mô hình tổng quát của hệ gợi ý công việc như sau:
Trang 22Hình 2.4: Mô hình tổng quát hệ gợi ý công việc Như đã trình bày ở Chương 1 hai thành phần quan trọng của một hệ gợi ý là
người dùng (Users) và sản phẩm (Items) Trong phạm vi của hệ gợi ý công việc, sản phẩm là các công việc cần tuyển dụng và người dùng là các ứng viên tìm kiếm công
việc Giả sử có I người dùng và J sản phẩm Các biến đánh giá biểu thị
người dùng i ứng tuyển công việc j trong tập ứng tuyển của mình hay không Nếu
, được diễn giải là công việc j có trong tập ứng tuyển của người dùng i, điều này có nghĩa rằng người dùng i quan tâm đến công việc j Với trường hợp
có thể được diễn giải thành hai cách Một là người dùng i không quan tâm đến công việc j, hoặc là người dùng i không biết về công việc j
Trang 23Hình 2.5: Hai nhiệm vụ của hệ gợi ý công việc
Với mỗi người dùng, nhiệm vụ của hệ thống là giới thiệu các công việc mà không có trong tập ứng tuyển của họ, nhưng có khả năng được người d ng đó thích
Có hai loại gợi ý: dự đoán trong ma trận (in-matrix prediction) và dự đoán ngoài ma
trận (out-of-matrix prediction) Trong Hình 2.5, (v) biểu thị cho "Thích", (×) là
"Không thích" và (?) là "Không biết"
Dự đoán trong ma trận: Hình 2.5(a) minh họa dự đoán trong ma trận Nó đề cập
đến vấn đề đưa ra các gợi ý về những công việc đã được đánh giá bởi ít nhất một người dùng trong hệ thống
Dự đoán ngoài ma trận: Hình 2.5(b) minh họa dự đoán ngoài mà trận Công
việc 4 và 5 chưa bao giờ được đánh giá Các công việc này là quan trọng đối với
kho lưu trữ công việc bởi vì người dùng muốn ứng tuyển các công việc mới trong các lĩnh vực của họ Một hệ thống gợi ý mà không thể xử lý các dự đoán ngoài ma trận thì không thể gợi ý các công việc vừa được công bố cho người dùng
Đây chính là hai nhiệm vụ cơ bản của bài toán hệ gợi ý công việc Và phần tiếp theo sẽ trình bày một số phương pháp gợi ý đã được áp dụng để xử lý hai nhiệm vụ này của bài toán gợi ý công việc
Trang 242 Các phương pháp gợi ý áp dụng cho bài toán gợi ý công việc
Như đã trình bày ở Phần 3 – Chương I, để tiếp cận bài toán hệ gợi ý nói chung,
chúng ta có các phương pháp: lọc cộng tác, dựa nội dung, dựa điều tra xã hội học,
và phương pháp lai Với phương pháp điều tra xã hội học, kết quả gợi ý phụ thuộc vào kết quả của các bản điều tra; dựa trên các thông tin cá nhân về tuổi, giới tính, nghề nghiệp để phân loại người d ng, do đó phương pháp này tôi không đi sâu tìm hiểu và trình bày Với 3 phương pháp còn lại, tôi sẽ chọn một kỹ thuật nổi bật cho mỗi phương pháp để trình bày, và làm rõ vai trò quan trọng của giá trị thông tin trong nội dung mô tả của công việc
Phương pháp phân tích ma trận sẽ biểu diễn người dùng và công việc vào cùng
một không gian vector K chiều; người sử dụng i được biểu diễn bởi một vector
và công việc j được biểu diễn bởi vector Chúng ta sẽ dự đoán
xem người dùng i có thích công việc j hay không dựa trên tích của hai vector và
; khi đó:
Phương pháp phân tích ma trận áp dụng đối với phương pháp lọc cộng tác có thể được khái quát như mô hình xác xuất sau:
(1) Đối với người dùng i, biến ẩn
(2) Đối với công việc j, biến ẩn
(3) Đối với mỗi cặp người dùng – công việc (i,j),
Trong đó, là ma trận đơn vị K chiều; là tham số độ tin cậy của đánh giá
; nếu càng lớn thì càng được tin cậy; ở đây tham số được tính theo công thức sau:
Trang 25(4)
Nhược điểm của phương pháp phân tích ma trận:
Khó mô tả không gian vectơ K chiều
Chỉ mới sử dụng những thông tin từ những người sử dụng, mà chưa thể khái quát hoàn toàn cho những sản phẩm chưa được đánh giá
Chưa sử dụng đến thông tin mô tả của công việc
2.2 Phương pháp phân tích chủ đề ẩn (LDA – Latent Dirichlet Allocation)
Đối với công việc thì thông tin quan trọng nằm chủ yếu trong mô tả và yêu cầu của chính công việc đó, tuy nhiên những thông tin này thường được biểu diễn dưới dạng văn bản phi cấu trúc, việc biểu diễn dưới dạng không gian vector với số chiều
là tập các từ khóa đặc trưng, trọng số của mỗi từ được tính theo tf-idf sẽ khó để khai thác thông tin ngữ nghĩa trong đó liên quan đến những yêu cầu của từng công việc Việc phát hiện ngữ nghĩa ẩn chúng ta có thể sử dụng phương pháp mô hình chủ
đề (Topic modeling) cụ thể là kỹ thuật LDA (Latent Dirichlet Allocation), với phương pháp này giả thiết ta có K chủ đề ký hiệu β = (β1, β2,…, βK) tương ứng với những yêu cầu của tập các công việc, mỗi một chủ đề phân bố trên một tập từ khóa (tập từ vựng) cố định Quá trình tổng quát của LDA được mô tả như sau:
Đối với mỗi yêu cầu của công việc j trong tập nguồn
1 Vector biểu diễn xác suất thuộc chủ đề của từng công việc j tuân theo phân phối Dirichlet với tham số α; tức là j ~ Dirichlet(α);
2 Với mỗi từ khóa n
(a) Biến nhãn chủ đề của từ (Topic assignment) zjn ~ Mult(j) (b) Từ wjn ~ Mult(βzjn)
Với một các yêu cầu của công việc cho trước, phân phối xác suất hậu nghiệm (hoặc là ước lượng cực đại kỳ vọng) của những chủ đề đại diện K chủ đề, cũng giống như việc sinh ra những yêu cầu của các công việc
Trang 262.3 Phương pháp kết hợp LDA và lọc cộng tác
Phương pháp CTR (Collaborative Topic Regression) của tác giả Wang & M Blei [18], lần đầu tiên sử dụng để gợi ý danh sách các bài báo khoa học cho người dùng và được tác giả Phạm Minh Chuẩn - [6] áp dụng để giải quyết bài toán gợi ý công việc Tác giả đã sử dụng các trường Description, Requirements của thông tin công việc, và sử dụng phương pháp tf-idf để xác định tập từ vựng cho phương pháp CTR
Giải pháp đầu tiên để kết hợp lọc cộng tác với mô hình chủ đề là làm phù hợp một mô hình sử dụng không gian chủ đề ẩn để giải thích cả các xếp hạng và các từ thấy được Ví dụ, chúng ta có thể sử dụng tỷ lệ chủ đề thay thế vector ẩn công việc trong phương trình (3),
Mô hình này bị hạn chế ở chỗ nó không thể phân biệt các chủ đề cho việc giải thích gợi ý từ các chủ đề, cái mà quan trọng đối với việc giải thích nội dung Xem xét hai công việc A và B đều tuyển dụng các lập trình viên Chúng là tương tự và do
đó, có tỷ lệ chủ đề tương tự nhau và Bây giờ tiếp tục giả định rằng những công việc này là đáng quan tâm đối với các kiểu người sử dụng khác nhau: Công việc A cần tuyển dụng các ứng viên lập trình hướng web, trong khi công việc B tuyển dụng ứng viên biết lập trình hướng mobile
Người dùng mà làm việc trong lĩnh vực lập trình web sẽ thích công việc A và hiếm khi xem xét công việc B, và ngược lại Tuy nhiên, bằng cách sử dụng tỷ lệ chủ
đề như trong phương trình 5 có khả năng sẽ đưa ra gợi ý tương tự với cả hai công
việc cho cả hai loại người sử dụng Hồi quy chủ đề cộng tác có thể phát hiện sự khác biệt, rằng một trong những loại người sử dụng thích công việc đầu tiên và loại khác thích công việc thứ hai
Như trên, hồi quy chủ đề cộng tác (CTR) trình bày cho người sử dụng những lợi ích chủ đề và cho là các văn bản được tạo ra bởi một mô hình chủ đề CTR cũng
bổ sung một biến ẩn bù vào tỷ lệ chủ đề khi mô hình hóa đánh giá của người dùng Khi nhiều người đánh giá các công việc, chúng ta có ý tưởng tốt hơn về biến
bù là gì Biến bù này có thể giải thích như sau, ví dụ, công việc A là đáng quan tâm