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

Khóa luận tốt nghiệp Nghiên cứu mô hình đa tác tử hút và đẩy cho phương pháp lọc cộng tác

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 (2.46 MB, 61 trang )



i



i
Khoá luận tốt nghiệp



Sinh viên thực hiện: Nguyễn Minh Đức

ii

MỤC LỤC

LỜI CẢM ƠN i
MỤC LỤC ii
DANH MỤC HÌNH ẢNH v
DANH MỤC CÁC TỪ VIẾT TẮT vii
PHẦN MỞ ĐẦU 8
1. Tính cấp thiết của đề tài 8
2. Mục tiêu, nhiệm vụ, đối tượng nghiên cứu 9
3. Phạm vi nghiên cứu 10
4. Phương pháp nghiên cứu 10
5. Kết cấu đề tài 11
Chương 1: TỔNG QUAN VỀ HỆ TƯ VẤN VÀ PHƯƠNG PHÁP
LỌC CỘNG TÁC 12
1.1. Tổng quan về hệ tư vấn 12
1.1.1. Giới thiệu về hệ tư vấn 12


1.1.2. Chức năng của hệ tư vấn 14
1.1.3. Các thông tin được sử dụng trong hệ tư vấn 17
1.1.4. Các hướng tiếp cận của hệ tư vấn 19
1.1.5. Phương pháp đánh giá hệ tư vấn 21
1.2. Phương pháp lọc cộng tác 22
1.2.1. Tổng quan 22
1.2.2. Lọc cộng tác dựa trên láng giềng 23
Khoá luận tốt nghiệp



Sinh viên thực hiện: Nguyễn Minh Đức

iii

Chương 2: MÔ HÌNH ĐA TÁC TỬ HÚT VÀ ĐẨY
CHO PHƯƠNG PHÁP LỌC CỘNG TÁC 26
2.1. Lý thuyết về tác tử và hệ thống đa tác tử 26
2.1.1. Tác tử 26
2.1.2. Hệ thống đa tác tử 29
2.2. Mô hình đa tác tử sử dụng lực hút và đẩy 32
2.2.1. Mô hình đa tác tử cho phân loại email 32
2.2.2. Mô hình đa tác tử cho tìm kiếm ảnh 33
2.3. Mô hình đa tác tử hút và đẩy cho phương pháp lọc cộng tác 34
2.3.1. Tổng quan về mô hình 34
2.3.2. Lực hút và đẩy trong mô hình 38
2.3.3. Mô hình tự tổ chức 41
Chương 3: HỆ THỐNG THỬ NGHIỆM TƯ VẤN PHIM SỬ DỤNG
MÔ HÌNH ĐA TÁC TỬ HÚT VÀ ĐẨY 43
3.1. Giới thiệu hệ thống tư vấn 43

3.1.1. Mô tả bài toán 43
3.1.2. Mô tả về bộ dữ liệu MovieLens 43
3.1.3. Ưu, nhược điểm của bộ dữ liệu MovieLens 45
3.2. Ngôn ngữ lập trình Objective-C và thư viện đồ hoạ OpenGL 46
3.2.1. Ngôn ngữ lập trình Objective-C 46
3.2.2. Thư viện đồ hoạ OpenGL 47
3.3. Cài đặt hệ thống 49
3.3.1. Các yếu tố đầu vào 49
3.3.2. Các yếu tố đầu ra 50
Khoá luận tốt nghiệp



Sinh viên thực hiện: Nguyễn Minh Đức

iv

3.3.3. Quy trình hoạt động 50
3.4. So sánh, đánh giá mô hình đa tác tử hút và đẩy với phương pháp lọc cộng tác 58
KẾT LUẬN 60
DANH MỤC TÀI LIỆU THAM KHẢO 61




















Khoá luận tốt nghiệp



Sinh viên thực hiện: Nguyễn Minh Đức

v

DANH MỤC HÌNH ẢNH

Hình 1.1. Hệ tư vấn của trang web www.amazon.com. 13
Hình 1.2. Ma trận đánh giá của người dùng 18
Hình 1.3. Tư vấn dựa trên lọc cộng tác và dựa trên nội dung 20
Hình 1.4. Hệ thống tư vấn lọc cộng tác trên trang web www.amazon.com 22
Hình 1.5. Lọc cộng tác dựa trên người dùng và dựa trên sản phẩm. 25
Hình 2.1. Tác tử tương tác với môi trường 27
Hình 2.2. Mô hình đa tác tử hút và đẩy cho phân loại email 33
Hình 2.3. Mô hình đa tác tử hút và đẩy cho tìm kiếm ảnh 34
Hình 2.4. Không gian của mô hình 35
Hình 2.5. Môi trường của các tác tử 36

Hình 2.6. Quản lý lực quán tính trong mô hình 36
Hình 2.7. Các cách chọn láng giềng 37
Hình 2.8. Tính chất lực và độ mạnh lực dựa trên độ tương tự và khoảng cách
(cách tiếp cận rời rạc) 39
Hình 2.9. Tính chất lực và độ mạnh lực dựa trên độ tương tự và khoảng cách
(cách tiếp cận liên tục) 39
Hình 2.10. Ví dụ về phản ứng của một tác tử với hai láng giềng 40
Hình 3.1. Ngôn ngữ lập trình Objective-C 46
Hình 3.2. Thư viện đồ họa OpenGL 48
Hình 3.3. Ảnh đại diện của phim / tác tử 49
Hình 3.4. Sơ đồ quy trình hoạt động 50
Khoá luận tốt nghiệp



Sinh viên thực hiện: Nguyễn Minh Đức

vi

Hình 3.5. Cách quản lý trên lưới của mô hình 52
Hình 3.6. Thuật toán chọn láng giềng lân cận. 53
Hình 3.7. Mô hình ở mức độ địa phương 54
Hình 3.8. Mô hình ở mức độ toàn cục 55
Hình 3.9. Thuật toán tính giá trị dự đoán. 57
Hình 3.10. Danh sách tư vấn phim 57
Hình 3.11. Biểu đồ biểu diễn kết quả MAE của 5 bộ dữ liệu kiểm tra 58
Hình 3.12. Biểu đồ biểu diễn kết quả MAE của hai phương pháp. 59
















Khoá luận tốt nghiệp



Sinh viên thực hiện: Nguyễn Minh Đức

vii

DANH MỤC CÁC TỪ VIẾT TẮT
CF : Collaborative filtering – Lọc cộng tác.
MAE : Mean Absolute Error – Sai số tuyệt đối trung bình.
MAM : Multi-Agents System – Hệ thống đa tác tử.
RMSE : Root Mean Squared Error – Sai số bình phương trung bình.










Khoá luận tốt nghiệp



Sinh viên thực hiện: Nguyễn Minh Đức

8

PHẦN MỞ ĐẦU

1. Tính cấp thiết của đề tài
Trong kỷ nguyên của sự bùng nổ thông tin, internet với các tiện ích của nó đang
có ảnh hưởng lớn đối với cộng đồng sử dụng mạng. Với lượng thông tin khổng lồ, nhu
cầu người dùng ngày càng tăng thêm, người dùng cần có sự tư vấn chính xác và kịp thời
để có thể tìm kiếm thông tin một cách nhanh chóng và tiết kiệm thời gian một cách tối
đa. Có rất nhiều hệ tư vấn áp dụng đối với các website thuộc các lnh vực sách, âm nhạc,
phim ảnh,… Tuy nhiên, cuộc sống lại rất phong phú trong mọi lnh vực và một khi nhu
cầu đã quá lớn thì yêu cầu đặt ra cng s phải cao hơn rất nhiều.
Khi người dùng cần tìm kiếm thông tin về một sản phẩm nào đó, giải pháp được
sử dụng hầu hết là đưa câu hi vào máy tìm kiếm thay vì tìm đến những website/forum
chuyên ngành. Tuy nhiên, máy tìm kiếm không phải lúc nào cng hiệu quả. Máy tìm
kiếm ch có thể đưa ra một danh sách các lựa chọn (có thể lên đến hàng triệu) chứ không
thể nói được lựa chọn nào là tốt nhất.
Chẳng hạn, một khách hàng cần mua một đa phim hay, họ cần một vài cái tên
để tham khảo và lựa chọn, đa số họ s vào Google tìm kiếm thông tin nhưng với lượng
thông tin về các loại phim quá phong phú, lại không có nhiều thời gian để tìm hiểu tng

kết quả đề xuất, họ khó lòng tìm ra được số lượng phim nhất định cng như loại phim
va ý, đúng sở thích. Lúc này, họ cần sự tư vấn.
Hệ tư vấn ra đời là điều tất yếu để đáp ứng nhu cầu của con người. Trong các kỹ
thuật được dùng thì phương pháp lọc cộng tác là một trong những kỹ thuật phổ biến nhất
của một hệ tư vấn. Các hệ thống sử dụng phương pháp này biểu diễn mỗi người sử dụng
bằng một vectơ sở thích m chiều, mỗi chiều tương ứng với một sản phẩm (một điểm du
lịch, một món hàng, một quyển sách,…). Hệ thống s tư vấn bằng cách lọc ra những
người sử dụng có sở thích gần với người cần tư vấn. Những sản phẩm được họ thích mà
người cần tư vấn chưa bình chọn s là những sản phẩm được chọn để tư vấn. Nếu đặt
trong không gian toán học thì bài toán lọc ra những người sử dụng có sở thích gần giống
Khoá luận tốt nghiệp



Sinh viên thực hiện: Nguyễn Minh Đức

9

là bài toán tính khoảng cách giữa các vectơ sở thích m chiều. Mặc dù đã đạt được một
số hiệu quả nhất định, nhưng kỹ thuật này vẫn tồn tại nhiều hạn chế như vấn đề thưa
thớt và thay đổi của dữ liệu, cng như độ phức tạp tính toán và thời gian.
Kỹ thuật sử dụng các tác tử thông minh (agent) được xem là một giải pháp hữu
hiệu nhằm giải quyết những hạn chế nói trên, đồng thời vẫn đảm bảo cung cấp những
lời tư vấn chính xác có giá trị, đặc biệt là đối với nguồn dữ liệu đầu vào hỗn tạp. Nghiên
cứu của Cao Hồng Huệ và các cộng sự [4] về hệ thống tìm kiếm và truy hồi ảnh đã sử
dụng mô hình đa tác tử hút và đẩy. Hệ thống này nhằm mục đích tổ chức các bức ảnh
trong không gian 2 chiều dựa trên độ tương tự, ở đó mỗi bức ảnh được biểu diễn bởi
một tác tử và không cần phải xác định các trục cng như cách để biểu diễn thông tin.
Mô hình này cho phép các tác tử tự động tổ chức một cách có chọn lọc trong không gian
2 chiều. Với không quá nhiều ràng buộc, hệ thống có thể tổ chức (gom cụm/phân lớp)

thông tin và cho phép người dùng có thể tương tác với nó. Trong đề tài này, tác giả s
vẫn giữ ý tưởng về việc sử dụng các tác tử với các lực hút và đẩy như trong nghiên cứu
nói trên nhằm tổ chức dữ liệu trong không gian 2 chiều và nghiên cứu để áp dụng mô
hình đa tác tử hút và đẩy thay thế cho hướng tiếp cận lọc cộng tác.
Xuất phát t tầm quan trọng của một hệ tư vấn hoàn chnh, những tồn tại cơ bản
của phương pháp lọc cộng tác là vấn đề cấp thiết và quan trọng nên tác giả quyết định
chọn: “Nghiên cứu mô hình đa tác tử hút và đẩy cho phương pháp lọc cộng tác” làm
hướng nghiên cứu cho đề tài.
2. Mục tiêu, nhiệm vụ, đối tượng nghiên cứu
 Mục tiêu nghiên cứu
- Lý thuyết về hệ tư vấn và phương pháp lọc cộng tác.
- Lý thuyết về tác tử, hệ thống đa tác tử, mô hình đa tác tử hút và đẩy.
- Đề xuất mô hình đa tác tử hút và đẩy cho hướng tiếp cận lọc cộng tác.
- Nghiên cứu các công cụ, kỹ thuật, nền tảng lập trình được sử dụng để xây dựng
hệ thống.
Khoá luận tốt nghiệp



Sinh viên thực hiện: Nguyễn Minh Đức

10

- Xây dựng hệ thống thử nghiệm tư vấn phim sử dụng mô hình đa tác tử hút và đẩy
đã đề xuất.
- So sánh, đánh giá mô hình đa tác tử hút và đẩy với phương pháp lọc cộng tác.
 Nhiệm vụ nghiên cứu
Để đạt được mục đích nghiên cứu nêu ra ở trên, đề tài tập trung giải quyết các
nhiệm vụ chủ yếu sau:
Về mặt lí luận: 1) Phân tích, tổng hợp các kiến thức về hệ tư vấn bảo đảm tính

logic, đầy đủ, chính xác; 2) Giải thích các vấn đề liên quan đến lọc cộng tác; 3) Nêu
được khái niệm, phân loại, ứng dụng của tác tử và hệ thống đa tác tử; 4) Giới thiệu mô
hình đa tác tử hút và đẩy.
Về mặt thực tiễn: 1) Xây dựng hệ thống thử nghiệm tư vấn phim sử dụng mô hình
đa tác tử hút và đẩy; 2) So sánh, đánh giá mô hình đa tác tử hút và đẩy với phương pháp
lọc cộng tác, t đó rút ra kết quả, hướng phát triển trong tương lai.
 Đối tượng nghiên cứu
Đối tượng nghiên cứu của đề tài là: “Mô hình đa tác tử hút và đẩy cho phương
pháp lọc cộng tác”.
3. Phạm vi nghiên cứu
Các phương pháp lọc cộng tác có thể được phân thành những tiếp cận nh hơn
như các hướng tiếp cận dựa trên láng giềng (neigborhood-based) và dựa trên mô hình
(model-based). Mô hình đa tác tử hút và đẩy cho phương pháp lọc cộng tác ch nghiên
cứu dựa trên láng giềng, sử dụng kỹ thuật tư vấn dựa trên sản phẩm (item-based).
4. Phương pháp nghiên cứu
Phương pháp nghiên cứu bằng tài liệu: chủ động tìm kiếm, nghiên cứu các tài
liệu liên quan đến đề tài, các phương pháp của hệ tư vấn để t đó đánh giá những ưu
nhược điểm, học hi cách thức xây dựng để t đó đề xuất ra mô hình đa tác tử hút và
đẩy thay thế cho phương pháp lọc cộng tác và áp dụng cho hệ tư vấn hỗ trợ khách hàng.
Khoá luận tốt nghiệp



Sinh viên thực hiện: Nguyễn Minh Đức

11

Phương pháp so sánh: sử dụng các ch tiêu để so sánh phương pháp lọc cộng tác
với mô hình đa tác tử hút và đẩy.
Phương pháp phân tích, đánh giá: quan sát, nhìn nhận vấn đề, sàng lọc những

kiến thức cần thiết để bổ sung một cách chi tiết, cụ thể, t đó hoàn thiện khóa luận.
Phương pháp chủ động học hi: bản thân cần chủ động học hi những người xung
quanh nhằm thu thập thông tin và bổ sung kiến thức.
Phương pháp tổng hợp: hoàn thiện khóa luận dựa trên những kiến thức cơ bản đã
thu nhận được trong quá trình học tập ở trường, kiến thức thực tế trong chuyến đi thực
tập tại Trung tâm Công nghệ Thông tin Tha Thiên Huế và những tài liệu đã nhận được
ở Công ty cng như tài liệu chủ động tìm kiếm.
5. Kết cấu đề tài
Ngoài Phần mở đầu, Kết luận, Danh mục viết tắt, Danh mục bảng biểu, Danh
mục hình ảnh, Danh mục tài liệu tham khảo, nội dung của Báo cáo thực tế gồm 3 chương:
Chương 1: Tổng quan về hệ tư vấn và phương pháp lọc cộng tác. Chương
này s giới thiệu tổng quan về hệ tư vấn, các chức năng, thông tin, hướng tiếp cận và
phương pháp đánh giá hệ tư vấn.
Chương 2: Mô hình đa tác tử hút và đẩy cho phương pháp lọc cộng tác.
Chương này đi sâu tìm hiểu lý thuyết về tác tử, hệ thống đa tác tử, mô hình đa tác tử sử
dụng lực hút và đẩy trong phân loại email và tìm kiềm ảnh; mô hình đa tác tử hút và đẩy
cho phương pháp lọc cộng tác.
Chương 3: Hệ thống thử nghiệm tư vấn phim sử dụng mô hình đa tác tử hút
và đẩy. Nội dung chương này đi vào phân tích hệ thống thử nghiệm được sử dụng trong
khóa luận, các bộ công cụ hỗ trợ lập trình, cách thức cài đặt hệ thống, so sánh, đánh giá
hệ thống với phương pháp lọc cộng tác.

Khoá luận tốt nghiệp



Sinh viên thực hiện: Nguyễn Minh Đức

12


Chương 1
TỔNG QUAN VỀ HỆ TƯ VẤN
VÀ PHƯƠNG PHÁP LỌC CỘNG TÁC

1.1. Tổng quan về hệ tư vấn
1.1.1. Giới thiệu về hệ tư vấn
Trong cuộc sống hàng ngày, người ta đưa ra các lựa chọn dựa trên những ý kiến
hay lời khuyên của mọi người xung quanh, có thể qua lời nói, các bản đánh giá sản
phẩm, khảo sát thị trường, thư giới thiệu, Nhưng trong k nguyên thông tin, mỗi ngày
có hàng triệu thông tin được đưa lên Internet, người dùng thực sự gặp khó khăn để nắm
bắt và tìm kiếm thông tin.
Một số công cụ tìm kiếm với t khóa, điển hình như Google, Yahoo, Bing, giúp
chúng ta rất nhiều trong tìm kiếm thông tin cần thiết. Nhưng với lượng thông tin tăng
lên nhanh chóng, các công cụ tìm kiếm theo t khóa cng đang dần t ra không hoàn
toàn đáp ứng được nhu cầu của con người. Hàng ngày bạn phải b ra quá nhiều thời gian
để lọc những thông tin tìm kiếm được trên Google. Đôi khi người dùng cng không hiểu
hết nhu cầu của mình, không biết được t khóa chính xác mình muốn tìm kiếm, do đó
rất khó để tìm được thông tin mình cần. Chính những điều này dẫn tới yêu cầu phải có
các phương pháp tự động thu thập thông tin và đưa ra lời khuyên chính xác để hỗ trợ
cho các phương pháp truyền thống trên. Hệ tư vấn (Recommender System) là một giải
pháp như vậy.
Hệ tư vấn là công cụ phần mềm kỹ thuật cung cấp các mặt hàng đề xuất cho
người sử dụng. Những lời tư vấn liên quan đến các khía cạnh khác nhau của quá trình
ra quyết định, chẳng hạn như nên mua mặt hàng nào, nên nghe thể loại nhạc nào, hoặc
nên đọc loại tin tức trực tuyến nào. Hệ thống này đưa ra gợi ý dựa trên những gì người
dùng đã làm trong quá khứ, hoặc dựa trên tổng hợp ý kiến của những người dùng khác.
Hệ tư vấn đã trở thành một ứng dụng quan trọng và thu hút được sự quan tâm lớn của
các nhà nghiên cứu cng như các doanh nghiệp.
Khoá luận tốt nghiệp




Sinh viên thực hiện: Nguyễn Minh Đức

13


Hình 1.1. Hệ tư vấn của trang web www.amazon.com.
Hiểu một cách đơn giản thì các tư vấn được cung cấp dưới dạng các danh sách
xếp hạng các mặt hàng. Trong việc thực hiện bảng xếp hạng này, hệ tư vấn cố gắng dự
đoán những sản phẩm hoặc dịch vụ phù hợp nhất, dựa trên sở thích của người sử dụng.
Để hoàn thành một nhiệm vụ tính toán như vậy, hệ tư vấn thu thập t người sử dụng sở
thích của họ, ví dụ như đánh giá của người dùng cho các mặt hàng, sản phẩm.
Hệ tư vấn bắt đầu được chú ý t những quan sát sau: một người thường dựa trên
những lời khuyên, tư vấn t những người khác trong việc đưa ra các quyết định. Ví dụ,
người ta thường dựa vào lời giới thiệu của bạn b khi chọn mua sách để đọc, người sử
dụng lao động dựa trên thư giới thiệu để tuyển dụng và người xem dựa vào các đánh giá
phê bình phim của nhà phê bình phim trong các tạp chí để chọn phim xem.
Để bắt chước các hành vi này, các hệ tư vấn đầu tiên s áp dụng các thuật toán
để tận dụng các đánh giá được đưa ra bởi một cộng đồng người sử dụng nhằm cung cấp
các tư vấn cho một người dùng cần tư vấn. Hệ thống s tư vấn các mặt hàng mà người
dùng tương tự (những người có sở thích tương tự) đã thích. Cách tiếp cận này gọi là lọc
cộng tác, tức là khi người dùng cần tư vấn có những tương đồng trước đó trong quá khứ
với một số người dùng khác, khi đó các tư vấn khác s đến t những người sử dụng
tương tự.
Khoá luận tốt nghiệp



Sinh viên thực hiện: Nguyễn Minh Đức


14

Hệ tư vấn đã được chứng minh trong những năm gần đây là một phương tiện hiệu
quả để đối phó với vấn đề quá tải thông tin. Khi có yêu cầu của người dùng, hệ tư vấn
tạo ra các tư vấn sử dụng các kiến thức và dữ liệu khác nhau về người sử dụng, các mặt
hàng có sn, và giao dịch trước đó được lưu trữ trong cơ sở dữ liệu. Sau đó, người dùng
có thể duyệt các tư vấn. Tất cả những hành động và phản hồi của người sử dụng có thể
được lưu trữ trong cơ sở dữ liệu tư vấn và có thể được sử dụng để tạo ra tư vấn mới
trong hệ thống cho người dùng tương tác tiếp theo.
1.1.2. Chức năng của hệ tư vấn
Hệ tư vấn mang lại lợi ích cho cả nhà cung cấp và người sử dụng. Lợi ích này có
thể được mô tả qua ví dụ sau: Một khách sạn dùng hệ thống tư vấn du lịch để thu hút du
khách, nhằm tăng doanh thu và quảng bá sản phẩm. Trong khi đó, động cơ của người sử
dụng khi truy cập vào hệ thống này là tìm một khách sạn phù hợp với nhu cầu, túi tiền
cùng các sự kiện thú vị và các điểm du lịch hấp dẫn khi đến thăm một điểm đến. Phần
sau đây s trình bày chức năng của hệ tư vấn theo hai đối tượng này:
Đầu tiên, với các nhà cung cấp dịch vụ, hệ tư vấn có các chức năng:
 Tng s lưng hàng bán đưc: Đây có l là chức năng quan trọng nhất đối
với hệ tư vấn thương mại. Doanh nghiệp dùng hệ tư vấn s có số lượng hàng bán
vượt trội so với doanh nghiệp không dùng sản phẩm này.
 Bán các mặt hàng đa dng hơn: Hệ tư vấn đưa ra lời tư vấn chính xác có
thể giúp người dùng lựa chọn được nhiều mặt hàng hơn. T đó các mặt hàng của
nhà cung cấp s được tiêu thụ nhanh và mạnh hơn.
 Tng sự hài lng ca ngưi dng: Người dùng s tìm thấy các tư vấn có
giá trị t sự tương tác giữa con người với máy tính. Sự kết hợp của hiệu quả,
chính xác, tư vấn kịp thời và một giao diện đp có thể tối ưu việc sử dụng và làm
tăng sự hài lòng của người dùng trong hệ thống.
 Tng sự trung thành ca ngưi dng: Một người sử dụng nên trung thành
với một nhà cung cấp. Khi truy cập vào trang web của nhà cung cấp đó, hệ thống

s nhận diện người dùng c và tương tác với người dùng đó như một người truy
Khoá luận tốt nghiệp



Sinh viên thực hiện: Nguyễn Minh Đức

15

cập có giá trị. Hệ tư vấn s sử dụng lịch sử của người dùng c này để đưa ra các
lời tư vấn chính xác.
 Hiu r hơn về nhng gì ngưi dng mun: Đây là một chức năng quan
trọng của một hệ tư vấn, hệ thống s mô tả sở thích của người sử dụng thành một
dữ liệu có tổ chức. Sau đó, nhà cung cấp dịch vụ có thể quyết định tái sử dụng
dữ liệu này cho một số mục tiêu khác như cải thiện việc quản lý kinh doanh hoặc
đề ra các ý tưởng mới.
Bên cạnh đó, các chức năng quan trọng của hệ tư vấn đối với người sử dụng hệ
thống đó là:
 Tìm một s nhm hàng tt: Tư vấn cho người dùng một số mặt hàng dưới
dạng một danh sách xếp hạng cùng với dự đoán bao nhiêu người dùng muốn sử
dụng chúng.
 Tìm tt c các mặt hàng tt: Tư vấn tất cả các mặt hàng có thể đáp ứng
một số nhu cầu của người sử dụng.
 Chú thch trong ng cnh: Tùy vào ngữ cảnh nhất định s có một danh
sách nhấn mạnh các mặt hàng cụ thể nào đó tùy thuộc vào nhu cầu và sở thích
của số đông người dùng.
 Tư vn một chui các mặt hàng: Thay vì tập trung vào một tư vấn duy
nhất, ý tưởng của hệ tư vấn là để giới thiệu một chuỗi các mặt hàng s thu hút
hơn. Ví dụ điển hình như giới thiệu một loạt phim truyền hình, một cuốn sách về
hệ tư vấn sau khi đã giới thiệu một cuốn sách về khai thác dữ liệu.

 Tư vn một gi hàng: Tư vấn một nhóm các mặt hàng phù hợp với nhau.
Ví dụ: một kế hoạch du lịch có thể bao gồm các điểm tham quan khác nhau, điểm
đến, phương thức giải trí, dịch vụ ăn ngh,…
 Tư vn ch xem: Trong chức năng này, người dùng duyệt các mặt hàng mà
không có bất k ý định mua một món hàng nào. Nhiệm vụ của hệ tư vấn là giúp
cho người dùng duyệt qua các mặt hàng mà họ có khả năng yêu thích nhất.
Khoá luận tốt nghiệp



Sinh viên thực hiện: Nguyễn Minh Đức

16

 Tìm tư vn đáng tin cậy: Một số người dùng không tin tưởng vào hệ thống
tư vấn, họ thử nghiệm với chính họ để xem nó tốt như thế nào trong việc đưa ra
các tư vấn. Do đó, một số hệ thống cng có thể cung cấp các chức năng cụ thể để
cho phép người sử dụng kiểm tra hoạt động của nó ngoài những yêu cầu để có
được tư vấn.
 Ci thin h sơ cá nhn: Điều này liên quan đến khả năng của người sử
dụng cung cấp thông tin đầu vào cho hệ thống tư vấn về những gì mình thích và
không thích. Đây là một nhiệm vụ cơ bản và thực sự cần thiết để cung cấp các đề
xuất được cá nhân hóa. Nếu hệ thống không có kiến thức cụ thể về người sử dụng
cần tư vấn thì sau đó nó có thể ch cung cấp cho họ các tư vấn dành cho một
người dùng “trung bình”.
 Tự th hin: Một số người dùng có thể không quan tâm đến tất cả các tư
vấn. Thay vào đó, nó ch quan trọng với họ vì họ được phép đóng góp đánh giá
và bày t ý kiến cng như niềm tin của họ. Sự hài lòng của người sử dụng cho
hoạt động đó vẫn có thể được xem như một cách để giữ chân người dùng cho.
 Giúp đ ngưi khác: Một số người dùng hài lòng với việc đóng góp thông

tin, ví dụ như: đánh giá cho các mặt hàng (Ratings), bởi vì họ tin rằng đóng góp
của họ s có ích. Điều này có thể là một động lực lớn để nhập thông tin thành
một hệ thống tư vấn. Ví dụ: với một hệ tư vấn về xe, một người dùng đã mua một
chiếc xe mới thì họ nhận thức được rằng ý kiến đánh giá của mình về chiếc xe đó
có thể s hữu ích cho người khác.
 nh hưng nhng ngưi khác: Đối với hệ tư vấn trên website, người dùng
có mục tiêu r ràng chính là người ảnh hưởng đến những người dùng khác vào
mua các sản phẩm. Cng có một số người sử dụng có thể sử dụng hệ thống ch
để thúc đẩy hoặc hạ thấp một số mặt hàng theo ý riêng của họ.
Như những điểm khác nhau trong chức năng của hệ tư vấn, ta thấy vai trò của
một hệ tư vấn trong một hệ thống thông tin là khá đa dạng. Sự đa dạng này s là khởi
đầu cho việc khai thác một loạt các nguồn kiến thức và các kỹ thuật khác nhau.
Khoá luận tốt nghiệp



Sinh viên thực hiện: Nguyễn Minh Đức

17

1.1.3. Các thông tin được sử dụng trong hệ tư vấn
Hệ tư vấn là hệ thống xử lý thông tin thu thập t các loại dữ liệu khác nhau để
xây dựng các tư vấn. Dữ liệu chủ yếu là về các mặt hàng cần tư vấn và người dùng s
nhận được các tư vấn này. Tuy nhiên, dữ liệu và các nguồn tri thức sn có cho các hệ
thống tư vấn có thể rất đa dạng. Trong bất k trường hợp nào, dữ liệu được sử dụng bởi
hệ tư vấn thuộc ba loại: Sn phẩm (Item), ngưi sử dng (User), và các giao dch
(Transactions) - đó chính là quan hệ giữa người sử dụng và các mặt hàng.
Sn phẩm (Item): Sản phẩm là các đối tượng được tư vấn. Các sản phẩm này đặc
trưng bởi tiện ích và giá trị của nó. Giá trị của một mặt hàng có thể là tích cực nếu hữu
ích cho người sử dụng, hoặc tiêu cực nếu chúng không phù hợp với người sử dụng.

Sản phẩm có giá trị thấp là: tin tức, trang web, sách, đa CD, phim, Mặt hàng
hàng có giá trị lớn hơn là: máy ảnh, điện thoại di động, máy tính, Các sản phẩm phức
tạp nhất như là những chính sách bảo hiểm, tài chính đầu tư, tư vấn du lịch, Hệ tư vấn
có thể sử dụng một loạt các thuộc tính và các tính năng của các sản phẩm. Ví dụ trong
một hệ thống tư vấn phim, thể loại (hài, kinh dị, ) cng như tên tuổi các đạo diễn, diễn
viên có thể được sử dụng để mô tả một bộ phim và là đặc điểm nổi bật của nó.
Ngưi sử dng (User): Người sử dụng của một hệ tư vấn có thể có các đặc điểm
và mục tiêu rất đa dạng. Để cá nhân hóa các tư vấn và hỗ trợ tương tác giữa máy tính và
con người, hệ tư vấn khai thác một loạt các thông tin về người sử dụng. Thông tin này
có thể được cấu trúc theo nhiều cách khác nhau và hệ thống s lựa chọn những thông tin
nào phụ thuộc vào kỹ thuật tư vấn.
Ví dụ: trong lọc cộng tác, người sử dụng được mô hình hóa bởi một danh sách
đơn giản có chứa các đánh giá được cung cấp bởi người sử dụng đối với một số mặt
hàng. Hệ tư vấn dựa trên nhân khẩu học lại dùng các thuộc tính như giới tính, tuổi, nghề
nghiệp, và giáo dục Các dữ liệu người dùng này s được sử dụng để tạo thành mô hình
mã hóa sở thích và nhu cầu người sử dụng.
Giao dch (Transaction): Giao dịch là sự tương tác giữa một người dùng và hệ
tư vấn. Nó lưu trữ dữ liệu, thông tin đăng nhập quan trọng được tạo ra trong quá trình
Khoá luận tốt nghiệp



Sinh viên thực hiện: Nguyễn Minh Đức

18

tương tác giữa con người - máy tính và có ích cho thuật toán tư vấn mà hệ thống đang
sử dụng. Ví dụ: một bản ghi giao dịch có thể chứa một tham chiếu đến mặt hàng được
lựa chọn bởi người dùng và một mô tả về bối cảnh (mục tiêu người sử dụng / truy vấn)
cho tư vấn cụ thể. Nếu có sn, giao dịch cng có thể bao gồm một thông tin phản của

người sử dụng đã cung cấp, chẳng hạn như đánh giá cho các sản phẩm được chọn.
Trong thực tế, xếp hạng là hình thức phổ biến nhất của các dữ liệu giao dịch trong
hệ tư vấn. Những đánh giá này có thể được thu thập một cách r ràng hoặc ngầm định.
Người dùng s được yêu cầu cung cấp ý kiến của mình về một mặt hàng theo một thang
đánh giá. Ví dụ như: Xếp hạng số t 1-5 sao; Xếp hạng theo thứ tự, chẳng hạn: "hoàn
toàn đồng ý, đồng ý,…”,
Một kịch bản tư vấn điển hình được thể hiện trong hình 1.2. Ta có tập n người
dùng U = {u
1
, u
2
, , u
n
} và tập m sản phẩm I = {i
1
, i
2
, , i
m
}. Mỗi người dùng u
i
có thể
có dữ liệu nhân khẩu học và một danh sách các sản phẩm 


(vớI 


 và 



có thể
là một tập rỗng), trong đó mỗi giá trị là một đánh giá cho sản phẩm nào đó. Đánh giá
của người dùng u
i
trên sản phẩm i
j
(ký hiệu là p
ij
) có thể là một bình chọn chủ quan được
thực hiện một cách tường minh bởi người dùng hoặc được suy luận một cách không
tường minh t quá trình mua hàng, duyệt web của người dùng.

Hình 1.2. Ma trận đánh giá của người dùng
Khoá luận tốt nghiệp



Sinh viên thực hiện: Nguyễn Minh Đức

19

Nói cách khác, một tập các đặc tính có thể được sử dụng để mô tả mỗi sản phẩm


. Do đó, một hệ thống tư vấn thường dựa trên dữ liệu nhân khẩu học của người sử
dụng, các đặc tính của sản phẩm, và/hoặc những hành vi của người dùng để suy luận ra
những gợi ý. Khi thực hiện tư vấn, các gợi ý cho một người dùng cụ thể 

 , được

gọi là người dùng cần tư vấn (active user), được lấy t các sản phẩm chưa được bình
chọn tường minh bởi người dùng đó. Mặt khác, hệ thống có thể đề xuất một sản phẩm
mới, 

, cho những người dùng có thể quan tâm.
1.1.4. Các hướng tiếp cận của hệ tư vấn
Để thực hiện chức năng tư vấn, một hệ tư vấn phải dự đoán được một mặt hàng
để tư vấn. Muốn làm được điều này, hệ thống phải dự đoán sở thích của một số người
hoặc so sánh công dụng, chức năng của một số mặt hàng sau đó đưa ra các mặt hàng tư
vấn cho người dùng dựa trên sự so sánh này. Sử dụng các thuật toán tư vấn có thể đưa
ra các mặt hàng tư vấn không hoàn toàn chính xác, tuy nhiên chúng ta vẫn có thể áp
dụng nó để mô tả vai trò chung của một hệ tư vấn.
Dựa vào loại dữ liệu và kỹ thuật được sử dụng để đi đến quyết định tư vấn, hệ
thống tư vấn có thể được phân loại thành các hướng tiếp cận sau đây:
1) Lọc cộng tác
Tiếp cận tư vấn lọc cộng tác còn được gọi là lọc xã hội hoặc tiếp cận dựa trên sự
tương đồng giữa người dùng với người dùng. Hệ thống lọc cộng tác xác định những
người dùng có sở thích tương tự với người dùng cần tư vấn và các sản phẩm mà họ đã
thích được chọn để tư vấn. Với phương pháp này, sở thích của người dùng s là đầu vào
cho các quyết định tư vấn.
Các hệ thống lọc cộng tác hoạt động bằng cách tập hợp các đánh giá của người
dùng cho các sản phẩm trong một miền xác định và đo lường sự tương tự trong hành vi
đánh giá giữa một số người dùng nhằm xác định cách tư vấn cho một sản phẩm.
Các phương pháp lọc cộng tác có thể được phân thành những tiếp cận nh hơn
như các hướng tiếp cận dựa trên láng giềng (neigborhood-based) và dựa trên mô hình
(model-based).
Khoá luận tốt nghiệp




Sinh viên thực hiện: Nguyễn Minh Đức

20

2) Tư vấn dựa trên nội dung
Kỹ thuật lọc cộng tác thường ch sử dụng hoặc ma trận đánh giá của người dùng,
hoặc dùng ma trận đó để quy nạp ra một mô hình cộng tác. Trong tiếp cận này, các tư
vấn được tạo ra mà không quan tâm đến những đặc tính cụ thể của tng cá nhân người
dùng hoặc của các sản phẩm. Một hướng tiếp cận khác có thể tạo ra những tư vấn cá
nhân hoá hơn bằng cách tìm hiểu nhiều hơn về người dùng, như thông tin nhân khẩu
học, hoặc về sản phẩm, như đạo diễn, thể loại của một bộ phim,… Các hệ tư vấn dựa
trên nội dung sử dụng hướng tiếp cận như vậy, trong đó mỗi sản phẩm được biểu diễn
bằng một hồ sơ sản phẩm (các đặc tính của sản phẩm), mỗi người dùng được biểu diễn
bằng hồ sơ người dùng. Các tư vấn được thực hiện dựa trên việc so sánh hồ sơ sản phẩm,
nhằm tìm ra những sản phẩm tương tự với những gì người dùng đã tng quan tâm để
giới thiệu cho họ những sản phẩm mà họ cần.
Nhiều nghiên cứu trong mảng này cng tập trung vào tư vấn sản phẩm mà nội
dung của nó có dạng văn bản, như trang web, sách và phim; ở đó tự bản thân các trang
web, nội dung của nó hay các mô tả và nhận xét của người dùng là đã có sn. Với cách
như vậy, một số tiếp cận đã xử lý vấn đề này bằng các kỹ thuật trích rút thông tin
(Information Retrieval), trong đó nội dung của các tài liệu đã được đánh giá s đóng vai
trò là câu truy vấn và giá trị dự đoán cho các tài liệu chưa được đánh giá s là độ tương
tự với câu truy vấn này.

Hình 1.3. Tư vấn dựa trên lọc cộng tác và dựa trên nội dung
Khoá luận tốt nghiệp



Sinh viên thực hiện: Nguyễn Minh Đức


21

3) Phương pháp lai
Mặc dù đã đạt được một số hiệu quả nhất định, nhưng phương pháp lọc cộng tác
vẫn tồn tại nhiều hạn chế như vấn đề thưa thớt dữ liệu, sự thay đổi của dữ liệu, cng như
độ phức tạp tính toán và thời gian. Bên cạnh đó, vấn đề bộ nhớ luôn là nhược điểm của
phương pháp tư vấn dựa trên nội dung. Để có thể tận dụng những điểm mạnh của các
kỹ thuật này, đồng thời hạn chế các khuyết điểm của chúng, phương pháp lai sử dụng
đồng thời cả hai phương pháp trên để có kết quả tư vấn tốt hơn.
1.1.5. Phương pháp đánh giá hệ tư vấn
Chất lượng của một hệ tư vấn có thể được đánh giá bằng việc so sánh các tư vấn
với một tập mẫu kiểm tra, với các giá trị bình chọn của người dùng là đã biết, bằng cách
sử dụng các phép đo độ chính xác dự đoán. Phương pháp đo lường được sử dụng phổ
biến nhất là sai số tuyệt đối trung bình (Mean Absolute Error - MAE) được định ngha
như là sự sai khác trung bình giữa các giá trị bình chọn đã dự đoán được với các giá trị
bình chọn thực sự theo công thức:










Trong đó 

là giá trị bình chọn được dự đoán cho người dùng u cho sản phẩm i, 



là giá trị bình chọn thực sự và N là tổng số các bình chọn trong tập mẫu kiểm tra.
Một phép đo khác đó là sai số bình phương trung bình (Root Mean Squared Error
- RMSE), nhằm nhấn mạnh vào các lỗi lớn hơn, và được tính theo công thức sau:












Với hầu hết các hệ thống tư vấn, chúng ta thường quan tâm đến việc dự đoán một
cách chính xác các sản phẩm mà người dùng s thích. Do đó, các nhà nghiên cứu thường
xem tư vấn như là việc dự đoán các sản phẩm được đánh giá cao là tốt hay xấu. Trong
kỹ thuật trích rút thông tin, việc xác định các sản phẩm tốt và xấu này là tương đương
với sự phân biệt các sản phẩm thích hợp (relevant) và không thích hợp (irrelevant).
Khoá luận tốt nghiệp



Sinh viên thực hiện: Nguyễn Minh Đức

22


1.2. Phương pháp lọc cộng tác
1.2.1. Tổng quan
Lọc cộng tác (Collaborative Filtering) là kỹ thuật được áp dụng khá thành công
trong các hệ tư vấn, nó được dùng để đánh giá độ quan tâm của người dùng tới một mặt
hàng mới. Trong các hệ thống lọc cộng tác, các dự đoán được đưa ra dựa trên tập dữ liệu
về sở thích người dùng – mặt hàng có liên quan tới người dùng hoặc mặt hàng. Tuy nhiên,
trong trường hợp dữ liệu ít, độ tương tự trực tiếp giữa hai người dùng hoặc hai mặt hàng
ch cung cấp rất ít thông tin cho ta dự đoán.

Hình 1.4. Hệ thống tư vấn lọc cộng tác trên trang web www.amazon.com
Phương pháp tư vấn lọc cộng tác hoàn toàn khác so với phương pháp tư vấn dựa
trên nội dung. Thay vì giới thiệu các mặt hàng, vì chúng tương tự như các mặt hàng người
dùng đã thích trong quá khứ, cách tiếp cận lọc cộng tác tư vấn các mặt hàng dựa vào ý
kiến của những người dùng khác. Thông thường, bằng cách tính toán sự giống nhau của
những người sử dụng, một tập hợp láng giềng gần nhất (nearest neighbor) các người dùng
có sở thích tương quan đáng kể với một người dùng nhất định s được tìm thấy. Như vậy,
trong phương pháp này, người dùng chia s sở thích của họ về tng mặt hàng mà họ đã
tng tiêu dùng để những người dùng khác của hệ thống có những quyết định tốt hơn đối
với những mặt hàng đó.
Lọc cộng tác có thể được phân thành những tiếp cận nh hơn như hướng tiếp cận
dựa trên láng giềng (neigborhood-based) và dựa trên mô hình (model-based).
Khoá luận tốt nghiệp



Sinh viên thực hiện: Nguyễn Minh Đức

23

1.2.2. Lọc cộng tác dựa trên láng giềng

Trong các kỹ thuật dựa trên láng giềng, một tập con của các người dùng được lựa
chọn dựa trên độ tương tự của họ với người dùng cần tư vấn, và một tổ hợp có trọng số
của các đánh giá đó được sử dụng để tạo ra các gợi ý cho người dùng cần tư vấn này.
Kỹ thuật láng giềng có thể được chia thành hai phương pháp: Lọc cộng tác dựa trên
người dùng (User-based Collaboration Filtering) và lọc cộng tác dựa trên sản phẩm
(Item-based Collaboration Filtering).
Quá trình tư vấn của phương pháp lọc cộng tác dựa trên ngưi dùng có thể được
tóm tắt bởi giải thuật sau:
1. Tính độ tương tự (hay còn gọi là trọng số) cho tất cả người dùng với người
dùng cần tư vấn.
2. Chọn k người dùng có độ tương tự cao nhất so với người dùng cần tư vấn,
thường được gọi là các láng giềng hoặc lân cận (neighborhood).
3. Tính giá trị dự đoán bằng một tổ hợp có trọng số (giá trị này chính là các độ
tương tự được tính trong bước 1) t đánh giá của các láng giềng tương tự đã được chọn.
Trong bước 1, trọng số 

là độ tương tự giữa người dùng u và người dùng cần
tư vấn a. Phương pháp tính độ tương tự phổ biến nhất là sử dụng hệ số tương quan
Pearson có công thức như sau:
































Trong đó, I là tập các sản phẩm được bình chọn bởi cả hai người dùng, 

là bình chọn
được gán cho sản phẩm i bởi người dùng u, và 

 là giá trị bình chọn trung bình được
cho bởi người dùng u.
Một số cách đo độ tương tự khác cng đã được nghiên cứu, như: H s tương
quan Spearman, H s tương quan ca Kendall, Sai phn bình phương trung bình,
Entropy, Độ tương tự cosin, Độ tương tự cosin điều chnh. Về bản chất, những độ đo

Khoá luận tốt nghiệp



Sinh viên thực hiện: Nguyễn Minh Đức

24

tương tự này là biến đổi của độ tương quan Pearson, nhưng các nghiên cứu thực nghiệm
đã cho thấy rằng hệ số tương quan Pearson cho kết quả tốt hơn.
Trong bước 3, giá trị dự đoán được tính bằng độ lệch trung bình có trọng số so
với giá trị trung bình của các láng giềng và có công thức như sau:








 

  








Trong đó 

là giá trị dự đoán cho người dùng cần tư vấn a đối với sản phẩm i, 


độ tương tự giữa hai người dùng a và u, và K là láng giềng hoặc tập những người dùng
có độ tương tự cao nhất.
Lọc cộng tác dựa trên sn phẩm: Khi được áp dụng cho hàng triệu người dùng
và sản phẩm, các giải thuật lọc cộng tác dựa trên láng giềng gặp phải một số hạn chế về
độ phức tạp trong việc tính toán độ tương tự giữa những người dùng. Trong một hướng
nghiên cứu khác, thay vì lựa chọn ra những người dùng tương tự thì chuyển sang tìm
kiếm các sản phẩm được bình chọn tương tự. Tiếp cận này giúp cho các hệ thống trực
tuyến hoạt động nhanh hơn, và thường cải tiến được chất lượng của các lời tư vấn.
Trong tiếp cận này, độ tương tự giữa các cặp sản phẩm i và j được tính toán nội
tuyến (offline) sử dụng độ tương quan Pearson như sau:































Trong đó U là tập tất cả các người dùng đã bình chọn cho cả hai sản phẩm i và j, 


bình chọn của người dùng u trên sản phẩm i, và 

 là giá trị bình chọn trung bình của tất
cả người dùng đối với sản phẩm i. Sau đó, giá trị bình chọn cho sản phẩm i của người
dùng a được dự đoán bằng cách sử dụng một giá trị trung bình có trọng số đơn giản sau:















Trong đó K là tập các láng giềng của k sản phẩm được bình chọn bởi người dùng a mà
chúng tương tự với sản phẩm i nhất.
Khoá luận tốt nghiệp



Sinh viên thực hiện: Nguyễn Minh Đức

25


Hình 1.5. Lọc cộng tác dựa trên người dùng và dựa trên sản phẩm.
Không giống như lọc theo nội dung, lọc cộng tác khai thác những khía cạnh liên
quan đến thói quen sở thích của người sử dụng sản phẩm để đưa ra dự đoán các sản
phẩm mới cho người dùng này. Cho nên lọc cộng tác không phải phân tích, bóc tách,
hiểu, đánh ch mục cho các đặc trưng nội dung sản phẩm. Chính vì vậy, lọc cộng tác có
thể lọc hiệu quả trên nhiều dạng sản phẩm khác nhau như hàng hóa, phim, ảnh, tài liệu,
Cùng trên một hệ tư vấn, người dùng s được tư vấn nhiều loại mặt hàng khác nhau cho
dù các mặt hàng này có thể biểu diễn trên không gian các đặc trưng nội dung khác nhau.










×