Tải bản đầy đủ (.pdf) (52 trang)

Ứng dụng trích rút thông tin trong việc cải thiện chất lượng hệ gợi ý

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.21 MB, 52 trang )

BỘ 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
Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT

1


LỜ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

Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT

2


TÓ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
Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT

3


 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

Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT

4


LỜ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

Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT

5


MỤ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

3.

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

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

Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT

6


3.

4.

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

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

Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT

7


Bảng từ viết tắt
Viết tắt

Tiếng Anh

Tiếng Việt

Recommender System

Hệ gợi ý

User

Người dùng, đối tượng sử dụng
hệ gợi ý

Item


Trong hệ gợi ý, item tương ứng
với thông tin về một đối tượng,
cụ thể là một văn bản, sản
phẩm, dịch vụ được lưu trữ,
thông tin hóa.

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.

Collaborative Filter

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.

Topic Modeling

Phương pháp mô hình chủ đề.

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ủ đề.

IE

Information Extraction

Trích rút thông tin

NER

Named Entity Recognition

Nhận dạng thực thể

CF

Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT

8


Danh 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

Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT

9


Danh 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

Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT

10


Mở đầ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
Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT

11



việ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 ý.

Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT

12


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
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ể.

Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT

13


Hì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


Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT

14


nà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
Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT


15


mộ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

ước lượng của người dùng

. Hệ thống sẽ đưa ra các giá trị mang tính

đối với một tập sản phẩm:

các kết quả tính toán, hệ thống đưa ra gợi ý

sản phẩm

. Dựa trên
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 ở

Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT

16


cô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.

Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT

17



Dữ liệu học

Đầu vào

Quá trình xử lý

Lọc cộng tác

Đánh giá của cộng Đánh giá của một Xác định người dùng
đồng người dùng với người dùng u đối với có cùng mức độ ưu
các sản phẩm
một số sản phẩm
tiên như 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

Dựa nội dung

Đặc điểm của tất cả Người dùng u có
sản phẩm
đánh giá, hay ưa thích
một số sản phẩm nào
đó

Đặt ra phân loại phù
hợp với hành vi, sở

thích của người dùng
u và áp dụng lên sản
phẩm i

Dựa điều tra Thông tin điều tra Thông tin điều tra Xác định người dùng
mang tính xã hội mang tính xã hội về có sự tương quan
xã hội học
học về cộng đồng người dùng u
cao về thông tin điều
người d ng và đánh
tra mang tính xã hội
giá của cộng đồng
học của người dùng
đối với các sản
u, từ đó dự đoán
phẩm
đá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:
 Ngƣời dùng mới: Vì hệ thống đưa ra gợi ý dựa trên kết quả so sánh giữa
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ừ

Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT

18


việ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.


Quy mô hệ thống: Hệ gợi ý cần được thiết kế để hoạt động tốt cùng với
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.

Phƣơng pháp

Ƣu điểm

Nhƣợc điểm

Áp dụng được với nhiều Vấn đề người dùng mới.
loại sản phẩm.
Vấn đề sản phẩm mới.
Có thể không cần sử dụng Độ chính xác phụ thuộc vào
tri thức chuyên gia.

khối lượng dữ liệu.
Độ chính xác được cải Vấn đề về sự ổn định, tính
thiện theo thời gian hoạt mềm dẻo.
động.
Có thể không cần sử dụng Vấn đề người dùng mới.
Dựa nội dung
tri thức chuyên gia.
Độ chính xác phụ thuộc vào
Mức độ chính xác nâng lên khối lượng dữ liệu.
theo thời gian.
Vấn đề về sự ổn định, tính
Độ chính xác được cải mềm dẻo.
thiện theo thời gian hoạt
động.
Dựa điều tra xã hội Áp dụng được với nhiều Vấn đề người dùng mới.
loại sản phẩm.
Độ chính xác phụ thuộc vào
học
Có thể không cần sử dụng kết quả điều tra.
tri thức chuyên gia.
Vấn đề về sự ổn định, tính
Độ chính xác được cải mềm dẻo.
thiện theo thời gian hoạt
động.
Bảng 1.2: Đánh giá một số phƣơng pháp gợi ý.
Lọc cộng tác

Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT

19



Chƣơ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.Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT

20


/>\r
\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.
\r
\rModify electrical parts,
assemblies, and systems to correct functional deviations.
\r
\rSet up
and operate test equipment to evaluate performance of developmental parts,
assemblies, or systems under simulated operating conditions, and record
results.
\r
\rCollaborate with electrical engineers and other personnel
to identify, define, and solve developmental problems.
\r
\rBuild,
calibrate, maintain, troubleshoot and repair electrical instruments or testing
equipment.
\r
\rAnalyze and interpret test information to resolve
design-related problems.
\r
\rConduct inspections for quality control
and assurance programs, reporting findings and recommendations.
\r/>\rProvide technical assistance and resolution when electrical or engineering
problems are encountered before, during, and after construction.
\r/>\r
\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:

Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT

21


Hì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.

Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT


22


Hì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.

Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT

23


2. 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.
2.1. Phƣơng pháp phân tích ma trận
Phương pháp truyền thống cho việc gợi ý là lọc cộng tác (CF), các công việc
được gợi ý cho một người dùng dựa trên những người dùng khác có cùng sở thích.
Và phương pháp lọc này không sử dụng nội dung của các công việc, mà chỉ đánh
giá độ tương đồng của người dùng. Phương pháp phân tích ma trận được tôi chọn
làm đại diện cho phương pháp lọc cộng tác truyền thống.
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



; 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 đó,
; nếu


là ma trận đơn vị K chiều;

càng lớn thì

là tham số độ tin cậy của đánh giá

càng được tin cậy; ở đây tham số

được tính theo công

thức sau:
Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT

24


(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.
Học viên thực hiện: Nguyễn Công Hoàn – CB140095, Lớp 14BCNTT

25


×