Việc xây dựng một mạng bao gồm các chuyên gia thuộc nhiều lĩnh vực, dựa trên các thông tin có được về mỗi người để xây dựng nên hồ sơ profile của người đó, so sánh các profile này để tìm
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA
THÁI THỊ THU THỦY
PHÁT TRIỂN GIẢI THUẬT SO TRÙNG HỒ
SƠ CÁ NHÂN TRONG CỘNG ĐỒNG NGHIÊN
CỨU KHOA HỌC
Chuyên ngành: Khoa học Máy tính
LUẬN VĂN THẠC SĨ
TP HỒ CHÍ MINH, tháng 12 năm 2010
Trang 2CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
Cán bộ hướng dẫn khoa học : TS Phạm Trần Vũ
Cán bộ chấm nhận xét 1 :
Cán bộ chấm nhận xét 2 :
Luận văn thạc sĩ được bảo vệ tại
HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày tháng năm 2010
Trang 3TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA KHOA HỌC MÁY TÍNH Độc Lập - Tự Do - Hạnh Phúc
Tp HCM, ngày tháng năm 2010
NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ và tên học viên: Thái Thị Thu Thủy Phái: Nữ
Ngày, tháng, năm sinh: 24-09-1983 Nơi sinh: Huế
Chuyên ngành: Khoa học Máy tính
MSHV: 00707188
1- TÊN ĐỀ TÀI:
PHÁT TRIỂN GIẢI THUẬT SO TRÙNG HỒ SƠ CÁ NHÂN TRONG CỘNG ĐỒNG NGHIÊN CỨU KHOA HỌC 2- NHIỆM VỤ LUẬN VĂN:
3- NGÀY GIAO NHIỆM VỤ :
4- NGÀY HOÀN THÀNH NHIỆM VỤ :
5- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: TS Phạm Trần Vũ
Nội dung và đề cương Luận văn thạc sĩ đã được Hội Đồng Chuyên Ngành thông qua
CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM BỘ MÔN KHOA QL CHUYÊN NGÀNH
(Họ tên và chữ ký) QUẢN LÝ CHUYÊN NGÀNH (Họ tên và chữ ký)
(Họ tên và chữ ký)
Trang 4LỜI CAM ĐOAN
Tôi cam đoan rằng, ngoại trừ các kết quả tham khảo từ các công trình khác như
đã ghi rõ trong luận văn, các công việc trình bày trong luận văn này là do chính tôi thực hiện và chưa có phần nội dung nào của luận văn này được nộp để lấy một bằng cấp ở trường này hoặc trường khác
Ngày 06 tháng 12 năm 2010
Thái Thị Thu Thủy
Trang 5LỜI CẢM ƠN
Tôi xin gởi lời cảm ơn chân thành và sâu sắc nhất đến TS Phạm Trần Vũ Cám
ơn Thầy đã tận tình chỉ bảo, hướng dẫn, định hướng cho tôi trong suốt thời gian thực hiện Luận văn Cám ơn Thầy đã chia sẻ cho tôi những kinh nghiệm quý báu trong nghiên cứu khoa học Điều đó đã giúp tôi rất nhiều trong việc thực hiện Luận văn cũng như trong công việc giảng dạy, nghiên cứu của tôi sau này
Tôi cũng xin cảm ơn gia đình đã động viên và tạo mọi điều kiện tốt nhất để tôi có thể tiếp tục theo đuổi việc học tập nghiên cứu Con xin cám ơn Cha Mẹ, nhờ công lao dưỡng dục của Người mà con mới có được thành quả như ngày hôm nay Con xin hứa
sẽ tiếp tục cố gắng phấn đấu để vươn cao hơn nữa Cám ơn anh Huỳnh Văn Quốc Phương, chồng của tôi, vì những động viên và hỗ trợ cho tôi trong suốt thời gian qua
Thái Thị Thu Thủy
Trang 6TÓM TẮT ĐỀ TÀI
Trong đời sống sinh hoạt thường ngày cũng như trong công việc, học tập; được chia sẻ, tham vấn thông tin từ Internet là một nhu cầu thiết yếu Người mua hàng muốn biết thông tin về sản phẩm, ý kiến của các khách hàng khác đã từng mua và sử dụng sản phẩm để hỗ trợ cho việc ra quyết định mua hay không mua; người bán hàng cung cấp thông tin về sản phẩm, thông tin về các khách hàng đã từng mua sản phẩm, những gợi ý sản phẩm đi kèm; bạn bè muốn kết nối để chia sẻ thông tin, hình ảnh… của nhau…
Lĩnh vực nghiên cứu khoa học cũng vậy Trong lĩnh vực này, các nhà nghiên cứu luôn có nhu cầu chia sẻ và được chia sẻ thông tin với nhau Người làm nghiên cứu mong muốn được chia sẻ những nghiên cứu của họ, đồng thời cũng muốn có thông tin về hướng nghiên cứu mà họ đang quan tâm từ các nhà nghiên cứu khác Việc tìm ra các nhà nghiên cứu có cùng mối quan tâm, giới thiệu họ với nhau là một vấn đề rất đáng quan tâm
Đề tài mong muốn tìm ra một phương pháp đơn giản nhưng vẫn hiệu quả trong việc tìm ra những người dùng (cụ thể là các nhà nghiên cứu khoa học) có cùng mối quan tâm nghiên cứu Kết quả sẽ được sử dụng trong việc xây dựng một mạng (tương
tự mạng xã hội) gồm các nhà nghiên cứu, tìm ra những người có cùng mối quan tâm (có độ tương tự lớn nhất) để giới thiệu họ với nhau
Trang 7ABSTRACT
In everyday life, sharing and getting information from Internet is an essential need Customers want to know about product information, comments about the products that other customers have bought and used; providers provide information
of products and that of customers whose have bought and used, recommend accompanied products; friends want to connect to share each other information, pictures…
It is the same for research field In this area, researchers always have the need
to share information They hope to share their research and at the same time want to have information about current research directions of others The task of finding researchers that have similar interest and introduce them is a noticeable issue
This work will try to find a simpe but efficient method to find out users (researchers specifically) with similar research interest The result will be used in the project of buiding a researcher network (something like social network) that can find researchers with similar interest and recommend them to each others
Trang 8MỤC LỤC
Chương 1: GIỚI THIỆU 1
1.1 Phát biểu vấn đề 1
1.2 Tên đề tài 2
1.3 Phạm vi đề tài 2
1.4 Mục tiêu đề tài 3
1.5 Phương pháp thực hiện 3
Chương 2: TỔNG QUAN VỀ THU THẬP THÔNG TIN VÀ MÔ HÌNH NGƯỜI DÙNG 4
2.1 Thu thập thông tin (Information Retrieval – IR) 4
2.2 Mô hình người dùng (User Modeling) trong các hệ thống IR 5
2.2.1 Tạo, biểu diễn, duy trì profile 6
2.2.2 So sánh profile 16
Chương 3: LATENT SEMANTIC ANALYSIS (LSA) 25
3.1 Hoạt động của LSA 25
3.2 Ưu nhược điểm và các ứng dụng của LSA 32
Chương 4: HƯỚNG TIẾP CẬN ĐỀ TÀI VÀ GIẢI PHÁP 34
4.1 Hướng tiếp cận đề tài 34
4.2 Giải pháp 35
4.2.1 Xây dựng profile 35
4.2.2 So sánh profile 38
Chương 5: CHƯƠNG TRÌNH HIỆN THỰC VÀ ĐÁNH GIÁ 41
5.1 Chương trình hiện thực 41
5.2 Kết quả và đánh giá 42
Chương 6: TỔNG KẾT 75
6.1 Tổng kết những công việc đã làm 75
6.2 Đóng góp của đề tài 76
6.3 Hướng phát triển đề tài 76
TÀI LIỆU THAM KHẢO 77
Trang 9Chương 1: GIỚI THIỆU
1.1 Phát biểu vấn đề
Ngày nay với sự phát triển rộng khắp của mạng toàn cầu Internet, mọi người
có cơ hội kết nối và nhu cầu chia sẻ thông tin với nhau nhiều hơn Lĩnh vực chuyên gia cũng vậy Khi các nhà khoa học tiến hành các nghiên cứu hay cần tìm hiểu thêm kiến thức ở một lĩnh vực nào đó mà họ đang quan tâm, họ rất mong muốn được biết những ai đang có mối quan tâm giống mình để có thể chia sẻ thông tin Việc xây dựng một mạng bao gồm các chuyên gia thuộc nhiều lĩnh vực, dựa trên các thông tin có được về mỗi người để xây dựng nên hồ sơ (profile) của người đó, so sánh các profile này để tìm ra những người dùng tương tự (nghĩa là đang có các mối quan tâm giống nhau) để giới thiệu họ với nhau là một vấn đề rất đáng quan tâm
Vấn đề nêu trên có nhiều điểm tương đồng với các mạng xã hội hiện nay Hàng triệu người hiện đang sử dụng các mạng xã hội để kết nối, gặp gỡ và chia sẻ thông tin Người dùng của các mạng xã hội như MySpace.com, Facebook.com, … thuộc mọi lứa tuổi, ngành nghề và sở thích khác nhau Đa số người dùng sử dụng các mạng xã hội này như một công cụ để giữ liên lạc với bạn bè
Mỗi người dùng trong các mạng xã hội này có một mô tả/tiểu sử sơ lược về bản thân, được gọi là các profile người dùng (user profile) Thông tin chứa trong profile có thể là họ tên, ngày tháng năm sinh, tình trạng hôn nhân, trường học, các sách đã đọc, phim đã xem và một số thông tin khác liên quan đến người dùng và thường là do người dùng khai báo, cập nhật Các thông tin profile này sẽ được so sánh
để đưa ra các gợi ý (kết bạn, tham gia các hội, nhóm …) Các profile được người dùng khai báo và chỉ thay đổi khi người dùng cập nhật được gọi là các profile tĩnh (static user profile)
Có thể nói việc khai thác thông tin của các profile là một vấn đề mấu chốt trong lĩnh vực thu thập thông tin (IR – Information Retrieval) mà trong đó chúng
Trang 10được sử dụng để hỗ trợ cho các ứng dụng tìm kiếm, gợi ý (recommendation applications) hoặc các ứng dụng tìm kiếm chuyên gia (expert finding applications)
Profile người dùng chứa tri thức về một người dùng cụ thể Profile được khai thác để các thao tác tìm kiếm trong các hệ thống IR được cá nhân hóa (personalized) hơn Các hệ thống này tận dụng các thông tin hướng người dùng cụ thể (user-specific)
có trong profile để thu thập các tài liệu thỏa mãn một truy vấn nào đó tương ứng với một cá nhân người dùng Profile cũng được dùng để xếp hạng lại các tài liệu theo sở thích cá nhân của người dùng Trong các ứng dụng tìm kiếm chuyên gia [8, 9, 10, 13], các profile được so sánh, xếp hạng để tìm kiếm những người dùng có cùng các mối quan tâm
Tuy nhiên, việc sử dụng các profile tĩnh trong các thao tác xử lý có chính xác hay không? Profile tĩnh chỉ phản ánh được các thông tin ít thay đổi của người dùng như họ tên, tuổi, các sở thích bền vững… mà không đủ linh động để phản ánh các thay đổi theo thời gian của người dùng (ví dụ như một mối quan tâm nào đó mới xuất hiện) Do đó các ứng dụng đòi hỏi việc tạo và duy trì một cách tự động các profile
Nói tóm lại, việc tạo, duy trì tự động các profile người dùng [2] dựa trên các thông tin của người dùng như các dự án đã tham gia, các dự án đang thực hiện, wiki
…; so sánh các profile người dùng này để tìm ra những người dùng có mức độ tương
tự nhau lớn nhất (nghĩa là người dùng có cùng mối quan tâm), giới thiệu họ với nhau
là vấn đề đang đặt ra cho các mạng cộng tác giữa các chuyên gia
Trang 11nhóm tính độ tương tự dựa trên các phương pháp thống kê sự xuất hiện của từ Phương pháp dựa trên ontology tuy thường cho kết quả tốt hơn nhưng lại có nhược điểm ở việc xây dựng và bảo trì ontology cũng như vấn đề bao phủ (khi 2 từ không xuất hiện trong ontology) Với mục tiêu tìm ra một phương pháp đơn giản trong tính toán và xây dựng nhưng vẫn hiệu quả, đề tài sẽ sử dụng phương pháp dựa trên thống
kê sử dụng LSA (Latent Semantic Analysis) làm cơ sở Bên cạnh đó, yếu tố thời gian cũng sẽ được xem xét dựa trên thực tế là mối quan tâm của một người có thể thay đổi theo thời gian
1.4 Mục tiêu đề tài
Xây dựng profile cho người dùng sử dụng các phương pháp đánh trọng số cho các nhóm dữ liệu, trọng số thời gian, trọng số cho mỗi từ khóa Profile kết quả sẽ có dạng vector các từ khóa
Xây dựng giải thuật so sánh các profile Việc so sánh ngữ nghĩa của các từ khóa sẽ dựa trên phương pháp được đề nghị
Phân tích, đánh giá kết quả đạt được dựa trên dữ liệu thực tế
Trong quá trình thử nghiệm đưa ra các ưu nhược điểm của mô hình, đề nghị các giải pháp khắc phục nhược điểm, cải tiến mô hình trong tương lai
Trang 12Chương 2: TỔNG QUAN VỀ THU THẬP THÔNG TIN VÀ
MÔ HÌNH NGƯỜI DÙNG
2.1 Thu thập thông tin (Information Retrieval – IR)
IR [1] là một nhánh của khoa học máy tính liên quan đến các vấn đề lưu trữ, duy trì và tìm kiếm với khối lượng dữ liệu lớn Dữ liệu có thể ở dưới dạng văn bản, hình ảnh, âm thanh… IR đang trở thành dạng truy xuất dữ liệu chiếm ưu thế, vượt trội hình thức tìm kiếm dạng cơ sở dữ liệu truyền thống
Một hệ thống thu thập thông tin (Information Retrieval System – IRS) là một công cụ cho phép biểu diễn, lưu trữ dữ liệu và tìm kiếm thông tin Lượng tài liệu (documents) chứa trong các tập dữ liệu được quản lý bởi IRS thường rất lớn và vấn đề tìm kiếm thông tin chính xác, dễ dàng, hiệu quả là một trong những vấn đề lớn được quan tâm
Tập các tài liệu sử dụng cho mục đích tìm kiếm thường được phân tích và chuyển đổi sang dạng biểu diễn phù hợp trong một quá trình gọi là indexing Thông tin trong thế giới thực sẽ được diễn đạt theo ngôn ngữ truy vấn mà các hệ thống IRS
có thể hiểu được Một câu truy vấn tìm kiếm sau đó sẽ được đánh giá với các biểu diễn của tài liệu và hệ thống sẽ quyết định một tài liệu nào đó có phù hợp với truy vấn hay không và mức độ phù hợp như thế nào Cách thức indexing tài liệu, cấu trúc biểu diễn bên trong của tài liệu, ngôn ngữ truy vấn và các cơ chế so trùng giữa tài liệu và câu truy vấn phụ thuộc vào từng IRS Thông thường người sử dụng cung cấp cho IRS
2 chức năng cơ bản: lưu trữ dữ liệu và thu thập thông tin để thỏa mãn nhu cầu thông tin (information need) của người dùng
Nhu cầu thông tin là trạng thái mà trong đó tri thức của một người dùng chưa
đủ thỏa mãn các đòi hỏi của họ Nếu một IRS được sử dụng cho quá trình tìm kiếm thông tin, thì nhu cầu thông tin được đòi hỏi phải được mô tả bằng ngôn ngữ truy vấn của IRS trong quá trình được gọi là truy vấn (querying) Hệ thống tìm kiếm cố gắng
Trang 13tìm kiếm trong các tập tài liệu đang được quản lý các thực thể phù hợp với truy vấn Tập có thứ tự các tài liệu được thu thập sau đó sẽ được đưa cho người dùng Tập các tài liệu được thu thập là tập con của tập các tài liệu được ứng dụng IR đánh giá là phù hợp (relevant) đối với truy vấn của người dùng Các tài liệu được thu thập sẽ được sắp xếp theo thứ tự nào đó (phụ thuộc vào chiến lược xếp hạng cụ thể của IRS)
Có thể thấy rằng không phải bất kì tài liệu phù hợp nào cũng được thu thập và một số các tài liệu không phù hợp lại có thể nằm trong số các tài liệu được thu thập
Do đó một trong các mục tiêu cơ bản của các hệ thống tìm kiếm IR là cải tiến độ chính xác của tập tài liệu được thu thập, nghĩa là tăng các tài liệu phù hợp được thu thập và giảm bớt các tài liệu không phù hợp được thu thập
Các tài liệu được đánh giá là phù hợp hoặc không phù hợp đối với một truy vấn mặc dù khái niệm phù hợp là khái niệm còn đang được bàn luận Phù hợp khách quan (objective relevance) có thể là một độ đo của giải thuật đo mức độ tương tự giữa tài liệu và câu truy vấn Phù hợp chủ quan (subjective relevance) phụ thuộc người dùng, liên quan đến cách hiểu thuộc về trí tuệ của người dùng và có thể xem như là một quá trình động, dựa trên kinh nghiệm, có liên quan đến các tương tác giữa người dùng thông tin và nguồn thông tin
Trong thực tế, cùng một câu truy vấn nhưng mỗi người dùng lại có mức độ hài lòng khác nhau đối với kết quả truy vấn nhận được Đó là do mỗi người dùng có các
sở thích, khả năng, mong muốn… khác nhau Vấn đề cá nhân hóa quá trình tìm kiếm được đặt ra như một tất yếu nhằm cải thiện hiệu quả tìm kiếm theo từng cá nhân, thông qua việc sử dụng các tri thức của người dùng như sở thích, mối quan tâm, khả năng… Vấn đề này được biết đến thông qua các thuật ngữ như mô hình người dùng (User Modeling) [11, 12, 22, 23] hay hồ sơ người dùng (User Profiling)
2.2 Mô hình người dùng (User Modeling) trong các hệ thống IR
Như đã nói ở trên, khái niệm phù hợp giữa tài liệu và truy vấn là một vấn đề mang tính chủ quan Thông tin mong muốn đối với mỗi người dùng cụ thể có thể được đáp ứng tốt hơn nếu có thêm tri thức về nhu cầu, khả năng, ngữ cảnh
Trang 14(context)… của người dùng Đây là lĩnh vực của các hệ thống IR cá nhân hóa (personalized IR system) khai thác profile người dùng [12] Một profile người dùng (user profile) hay một mô hình người dùng (user modeling) là một tri thức được lưu trữ về một người dùng cụ thể Profile đơn giản thường chứa các từ khóa (keywords)
mô tả các mối quan tâm bền vững của người dùng Các profile mở rộng có thể bao gồm thêm các thông tin như tên, địa chỉ, ngôn ngữ… Profile nâng cao chứa thêm các
mô tả về hành vi và thói quen của người dùng
Profile người dùng có thể được khai thác để quá trình tìm kiếm được cá nhân hóa hơn Profile người dùng có thể được tạo bởi người dùng hoặc người quản trị hệ thống, các profile dạng này thường không chính xác và linh động trong việc phản ánh các thay đổi của người dùng Một cách khác là profile có thể được tạo và cập nhật tự động thông qua các thông tin có được về người dùng (ngoài các thông tin do người dùng khai báo còn có thêm các thông tin như các thao tác của người dùng trong một cộng đồng (đọc, tải một bài báo; tag cho một bài báo…)); các profile dạng này được
đề cập đến trong nhiều nghiên cứu gần đây về vấn đề User Modeling/User Profiling
Bất kì một hệ thống IR nào có sử dụng profile trong quá trình tìm kiếm đều bao gồm 2 bước cơ bản sau:
- Tạo, biểu diễn, duy trì profile người dùng từ các thông tin có được
- So sánh profile (profile matching) Profile có thể được so sánh với các item (ví dụ như một món hàng trong các hệ thống gợi ý sản phẩm) hoặc các profile có thể được so sánh với nhau (trong các hệ thống tìm kiếm chuyên gia) Dựa trên mức độ tương tự của kết quả so sánh để xếp hạng và trả kết quả về cho người dùng
2.2.1 Tạo, biểu diễn, duy trì profile
Có 5 vấn đề cần được quan tâm trong quá trình tạo và duy trì một profile người dùng: (1) biểu diễn của profile, (2) kĩ thuật sinh profile khởi tạo, (3) nguồn phản hồi
sự phù hợp nhằm biểu diễn mối quan tâm của người dùng, (4) kĩ thuật học profile và (5) kĩ thuật thích ứng của profile
Trang 15Biểu diễn của profile
Xây dựng các profile chính xác là một công việc quan trọng bởi vì sự thành công của hệ thống phụ thuộc khá nhiều vào khả năng biểu diễn các mối quan tâm hiện tại của người dùng Profile chính xác là vấn đề sống còn đối với các thành phần dựa vào nội dung (content-based) (để đảm bảo các gợi ý là thích hợp) cũng như các thành phần cộng tác (collaborative) (để đảm bảo những người dùng có các profile tương tự thật sự tương tự nhau)
Có nhiều cách tiếp cận khác nhau để biểu diễn profile người dùng, ví dụ như lịch sử mua hàng, điều hướng web (web navigation) hoặc thư điện tử, một vector có chỉ mục của các đặc trưng (feature), n-gram, mạng ngữ nghĩa, mạng kết hợp (associative network), một bộ phân lớp bao gồm các mạng nơ ron, cây quyết định, các luật suy diễn hoặc mạng Bayesian, một ma trận sắp hạng và một tập các đặc tính nhân khẩu học
Mô hình dựa trên lịch sử (History-based Model): Một vài hệ thống lưu giữ một danh sách các sản phẩm đã mua, lịch sử điều hướng trong WWW hay nội dung của các hộp thư điện tử như một profile người dùng Thêm vào đó còn có các phản hồi về sự phù hợp của người dùng tương ứng với mỗi sản phẩm trong lịch sử Cách tiếp cận lịch sử thường được sử dụng trong thương mại điện tử, trong đó các hệ thống lưu giữ danh sách các sản phẩm đã mua và xếp hạng của người dùng như là một profile của người dùng đó Hệ thống gợi ý của Amazon.com sử dụng phương pháp này
Mô hình không gian vector (Vector Space Model): Trong mô hình không gian vector [34], các item được biểu diễn bằng một vector các đặc trưng, thường là các từ (words) hoặc khái niệm (concepts) với một giá trị tương ứng Giá trị này có thể là một giá trị Boolean hoặc một giá trị thực Giá trị Boolean biểu diễn sự hiện diện (có hoặc không) giá trị của đặc trưng, giá trị thực biểu diễn tần số, độ phù hợp hoặc xác suất của đặc trưng được tính toán bằng các kĩ thuật chỉ mục thông tin (information indexing techniques)
Trang 16N-grams có trọng số (Weighted N-Grams): Trong n-grams [25] có trọng số, các item được biểu diễn bằng một mạng các từ với các trọng số tại các nút và các cạnh Một số hệ thống dựa trên giả định rằng các từ có xu hướng xuất hiện cùng nhau nhiều lần, rút trích loạt có chiều dài cố định n kí tự và tổ chức chúng bằng các liên kết
có trọng số biểu diễn sự xuất hiện đồng thời của các từ khác nhau Do đó, cấu trúc đạt được một biểu diễn ngữ nghĩa của các từ
Các mạng ngữ nghĩa có trọng số: Các mạng ngữ nghĩa có khả năng lưu trữ nghĩa của từ, do đó việc sử dụng nghĩa của từ này như con người là có thể đạt được Một vài hệ thống biểu diễn mỗi nút như là một từ hoặc một khái niệm và các cung giữa các nút biểu diễn mối quan hệ cùng xuất hiện giữa 2 từ; mỗi nút và mỗi cung có một trọng số biểu diễn các mức độ được quan tâm khác nhau đối với người dùng
Các mạng kết hợp có trọng số: Một mạng kết hợp bao gồm một tập các nút biểu diễn các thuật ngữ (term), các khái niệm hoặc từ cơ sở mà người dùng quan tâm Một tập các liên kết có trọng số thiết lập nên tổ chức của các thuật ngữ này trong các cụm từ phù hợp (relevant phrases) Các mạng kết hợp khác với mạng ngữ nghĩa vì các mạng ngữ nghĩa có các kiểu liên kết chung khác nhau như đồng nghĩa, lớp cha-lớp con, và có thể là tập các liên kết phân biệt hoặc liên kết Ngược lại, các mạng kết hợp chỉ có một kiểu liên kết đơn, một cạnh có trọng số, ngữ nghĩa ngầm định trong cấu trúc của mạng và các thông số liên kết với quá trình xử lý
Mô hình dựa trên phân loại: Các hệ thống sử dụng một bộ phân loại như là một kĩ thuật học profile sẽ giữ cấu trúc của bộ phân loại như là một profile Đây là các trường hợp trong các mạng nơ ron, cây quyết định, các luật suy diễn và mạng Bayesian
Ma trận xếp hạng người dùng- sản phẩm: Một vài hệ thống lọc cộng tác duy trì ma trận người dùng-sản phẩm như là một profile người dùng Ma trận này chứa lịch sử xếp hạng của người dùng cho các sản phẩm Mỗi phần tử của ma trận chứa một xếp hạng thể hiện đánh giá của người dùng đối với sản phẩm, giá trị rỗng nếu
Trang 17không có đánh giá Các hệ thống này không sử dụng kĩ thuật học profile nào nhưng bao gồm tất cả các quy trình trong các kĩ thuật so trùng profile
Các đặc trưng nhân khẩu học: Các hệ thống lọc nhân khẩu học tạo một profile người dùng thông qua các mẫu có sẵn Do đó, biểu diễn profile người dùng là một danh sách các đặc trưng nhân khẩu học thể hiện loại người dùng
Sinh profile khởi tạo
Các hệ thống rất mong muốn học được càng nhiều càng tốt từ các thông tin có được của người dùng sao cho hệ thống cho ra kết quả thỏa mãn ngay từ đầu Tuy nhiên không phải lúc nào người dùng cũng muốn bỏ thời gian vào việc khai báo các mối quan tâm của họ để phục vụ cho việc tạo profile Thêm vào đó các mối quan tâm của người dùng luôn thay đổi theo thời gian nên việc bảo trì profile khá khó khăn Vì những lý do này mà việc khởi tạo và bảo trì profile người dùng là một vấn đề khó khăn trong việc thiết kế và phát triển các hệ thống gợi ý Mức độ tự động trong việc
có được profile có thể trải rộng từ việc nhập thủ công, các thủ tục bán tự động (các mẫu có sẵn và các tập đào tạo) đến các nhận biết tự động của bản thân các hệ thống
Rỗng: Một vài hệ thống không cần quan tâm đến profile khởi tạo và bắt đầu với cấu trúc profile rỗng Không có giai đoạn khởi tạo, cấu trúc profile được lấp đầy thông qua các phương pháp nhận biết tự động khi người dùng bắt đầu tương tác với
hệ thống
Phương pháp thủ công: Hệ thống thủ công đòi hỏi người dùng đăng kí các mối quan tâm của họ dưới dạng các từ khóa, chủ đề… Một trong những ưu điểm của phương pháp này là tính trong suốt của hành vi của hệ thống Khi các item được phân phối cho một người dùng, họ dễ dàng đoán được vì sao mỗi item được phân phối Tuy nhiên vấn đề đối với phương pháp này là nó đòi hỏi nhiều nỗ lực từ phía người dùng Một vấn đề khác là người dùng đôi khi cũng không nhận ra được mối quan tâm của
họ là gì
Mẫu sẵn có: Mẫu sẵn có dựa trên việc mô hình khởi tạo, theo một nghĩa nào
đó, là một vấn đề phân loại, nhắm đến việc tạo ra một dự báo về người dùng Mô hình
Trang 18người dùng được khởi tạo bằng cách phân loại người dùng vào các mô tả khuôn mẫu, biểu diễn cho các đặc trưng của các lớp người dùng Thông thường, dữ liệu sử dụng trong phân loại là các dữ liệu về nhân khẩu học và người dùng được yêu cầu điền vào các mẫu đăng kí: các dữ liệu bản ghi (tên, địa chỉ…), dữ liệu địa lý (mã vùng, thành phố…), đặc điểm cá nhân (tuổi, giới tính…), dữ liệu tâm lý (lối sống…)…
Giới hạn của kĩ thuật này là các khó khăn trong việc lấy dữ liệu cá nhân từ người dùng Người sử dụng Internet thường tránh việc tham gia vào các mối quan hệ với các Internet sites Nguyên nhân là do việc thiếu sự tin tưởng vào các chính sách bảo mật của các site Thường thì người dùng giấu các thông tin cá nhân hoặc cung cấp
dữ liệu sai
Tập đào tạo: Tập đào tạo là một tập các mẫu tương tác của người dùng được dùng để suy luận ra profile khởi tạo của người dùng Một cách thực tế để thiết lập tập đào tạo là yêu cầu người dùng đánh giá một vài mẫu rời rạc có phù hợp hay không phù hợp với mối quan tâm của họ Một cách tiếp cận tương tự là yêu cầu người dùng đánh giá một tập các mẫu đã được xác định trước Trong cả 2 trường hợp, một khi người dùng đã đưa ra thông tin thích hợp, hệ thống xử lý dữ liệu với một trong các kĩ thuật học sẽ được đề cập vào phần sau
Cách này có ưu điểm là đơn giản hóa việc quản lý nhưng có nhược điểm là đôi khi người dùng chọn các mẫu không tiêu biểu và kết quả ít chính xác
Các kĩ thuật học profile
Phần trước đã mô tả các nguồn thông tin tiêu biểu cho mối quan tâm của người dùng, chủ yếu là các tập đào tạo Các kĩ thuật học profile xây dựng một profile người dùng thông qua các dữ liệu này Các kĩ thuật này có thể được xem như là bước chuẩn
bị cho việc biểu diễn profile
Cần chú ý rằng khi dữ liệu học chứa các văn bản (text) không có cấu trúc thì cần tiền xử lý các thông tin để có được thông tin thích hợp có cấu trúc Một vài hệ thống sử dụng một kĩ thuật chỉ mục thông tin (information indexing technique) để xây
Trang 19dựng một profile và biểu diễn nó như một cấu trúc các từ có chỉ mục, mặc dù các kĩ thuật chỉ mục thông tin không thể được xem như các kĩ thuật trí tuệ nhân tạo
Không cần thiết: Một vài hệ thống dùng thông tin lấy trực tiếp từ hệ thống để làm profile người dùng, do đó chúng không cần một kĩ thuật học profile nào cả Có 3 loại hệ thống không cần các kĩ thuật học profile:
Các hệ thống lấy thông tin profile người dùng từ cơ sở dữ liệu
Các hệ thống lọc cộng tác dùng ma trận đánh giá người dùng-sản phẩm như một profile
Các hệ thống tạo profile khởi tạo từ mẫu có sẵn và không chỉnh sửa
nó Đây là trường hợp của các hệ thống lọc nhân khẩu học
Các hệ thống không cần kĩ thuật học profile sẽ tập trung các công việc lọc dữ liệu cho các kĩ thuật so trùng profile-item hoặc profile-profile
Các kĩ thuật thu thập thông tin có cấu trúc: Khi thông tin không có cấu trúc (ví dụ như văn bản) thì cần có các bước tiền xử lý để trích rút ra các thông tin thích hợp có cấu trúc Thông thường quá trình này gồm 2 bước chính: chọn đặc trưng và chỉ mục thông tin
Chọn đặc trưng có thể đạt được thông qua các cách khác nhau nhằm làm giảm
số lượng các từ như stopwords, stemming, …
Chỉ mục thông tin sử dụng tần số xuất hiện của từ để tính toán sự phù hợp của một item TF-IDF [1, 36] là một trong những kĩ thuật thành công nhất Một tài liệu được biểu diễn như một vector các từ có trọng số Tính toán các trọng số phản ánh các quan sát dựa trên kinh nghiệm đối với văn bản Các thuật ngữ xuất hiện nhiều trong một tài liệu (TF-Term Frequency) nhưng ít xuất hiện bên ngoài (IDF-Inverse Document Frequency) có khả năng phù hợp với chủ đề của tài liệu
TF-IDF có 2 biến thể: phương pháp Boolean và phương pháp xác suất Phương pháp Boolean là phương pháp đơn giản trong đó profile được biểu diễn như là một vector các từ với các giá trị Boolean thể hiện sự hiện diện của từ trong văn bản
Trang 20Phương pháp xác suất là tổng quát của kĩ thuật so trùng chính xác Mạng suy luận Bayesian được chứng minh là một kĩ thuật hữu ích trong việc tính toán xác suất này
Gom nhóm: Ý tưởng cơ bản của kĩ thuật này là gom nhóm các thông tin người dùng tương tự vào các nhóm dựa trên dữ liệu Sau đó các nhóm này được so trùng với thông tin thực để kết luận xem nó có được quan tâm hay không
Các kĩ thuật lọc cộng tác truyền thống thường dựa vào việc so trùng profile người dùng hiện tại với các nhóm gồm các profile tương tự được hệ thống thu thập theo thời gian từ những người dùng khác
Bộ phân loại: Bộ phân loại là các mô hình tính toán tổng quát nhằm gán một phân lớp cho một đầu vào Để xây dựng một hệ thống gợi ý sử dụng một bộ phân loại
có nghĩa là sử dụng thông tin về item (sản phẩm) và profile người dùng như là đầu vào, và có phân lớp đầu ra biểu diễn mức độ trong việc gợi ý một item cho người dùng Bộ phân loại có thể được hiện thực sử dụng nhiều chiến lược học máy khác nhau bao gồm mạng nơ ron, cây quyết định, luật kết hợp và mạng Bayesian
Học trong mạng nơ ron đạt được bằng cách đào tạo mạng với một tập dữ liệu Mỗi mẫu đầu vào được lan truyền tiến thông qua mạng và các đầu ra thể hiện mức độ quan tâm của người dùng Khi một lỗi được phát hiện, nó sẽ được lan truyền ngược để điều chỉnh các thông số nhằm giảm lỗi
Cây quyết định là một phương pháp xấp xỉ các hàm đích có giá trị rời rạc, trong đó hàm học được biểu diễn bởi một cây quyết định Các cây dùng để học có thể được biểu diễn như một tập các luật if-then Cây quyết định được xây dựng bằng cách chia đệ quy các mẫu thành các nhóm con
Việc khám phá ra các luật kết hợp bằng học suy diễn là một trong các ví dụ về
bộ phân loại phổ biến nhất Phương pháp phát hiện luật suy diễn bắt đầu bằng việc tìm các nhóm item thường xuất hiện cùng nhau trong nhiều giao tác Các nhóm item như vậy được gọi là các tập item thường xuyên Các luật kết hợp giữ các mối quan hệ giữa các item này dựa trên sự xuất hiện cùng nhau
Trang 21Giải thuật học mạng Bayesian được áp dụng cho một tập các dữ liệu đào tạo, tìm kiếm trên nhiều cấu trúc mô hình khác nhau dưới dạng độc lập cho mỗi item Trong mạng kết quả, mỗi item sẽ có một tập các item cha là dự báo cho việc bầu chọn của item đó Mô hình có thể được xây dựng offline Do đó, kĩ thuật này có thể được chứng minh là thiết thực cho các môi trường trong đó tri thức về mối quan tâm của người dùng thay đổi chậm so với thời gian cần có để xây dựng mô hình
Phản hồi sự phù hợp
Mối quan tâm của người dùng luôn thay đổi theo thời gian Do đó, các hệ thống gợi ý cần các thông tin cập nhật để tự động cập nhật profile của người dùng Các cách thức để đạt được thông tin này được gọi là phản hồi sự phù hợp
Thông thường có 2 loại phản hồi sự phù hợp: thông tin rõ ràng (các sản phẩm
mà người dùng thích) và thông tin không rõ ràng (suy diễn các đặc tính mà người dùng không quan tâm) Các thông tin không rõ ràng này có thể làm tăng hay giảm độ chính xác của hệ thống tùy theo từng hệ thống
2 cách thức thông thường để có được phản hồi sự phù hợp là sử dụng các thông tin được đưa ra một cách rõ ràng hoặc lấy các thông tin được quan sát một cách ngầm định từ các tương tác của người dùng Một vài hệ thống sử dụng các cách tiếp cận lai giữa thông tin rõ ràng và ngầm định
Không phản hồi: Một vài hệ thống không cập nhật profile người dùng một cách tự động và do đó không cần phản hồi sự phù hợp Ví dụ như các hệ thống cập nhật profile thủ công hoặc các hệ thống không bao giờ cập nhật profile
Phản hồi rõ ràng: Trong một vài hệ thống, người dùng cần đánh giá các item một cách rõ ràng Các đánh giá này cho biết item đó được người dùng quan tâm như thế nào, hoặc một người dùng nghĩ item đó phù hợp hay được quan tâm bởi người dùng khác như thế nào
3 phương pháp cơ bản để có các phản hồi sự phù hợp: thích/không thích, đánh giá (ratings) hoặc các lời bình dưới dạng văn bản Trong các hệ thống thích/không thích, người dùng đánh giá các item trong phạm vi nhị phân, nghĩa là phân loại một
Trang 22đối tượng là quan tâm hay không quan tâm, phù hợp hay không phù hợp, thích hay không thích Phương pháp đánh giá yêu cầu người dùng cung cấp đánh giá trong phạm vi rời rạc Phạm vi đánh giá thường là phạm vi số hoặc các biểu tượng được gán vào phạm vi số Một vài site khuyến khích các bình luận văn bản của người dùng Các
hệ thống tập hợp các lời bình về một item nào đó và đưa chúng cho người dùng như là một cách thức để làm dễ dàng hơn quá trình ra quyết định Mặc dù bình luận văn bản khá hữu ích nhưng chúng lại đòi hỏi một lượng xử lý khá nhiều đối với người dùng Người dùng phải đọc văn bản và xem thử chúng tích cực hay tiêu cực ở mức độ nào
Phản hồi rõ ràng có ưu thế là đơn giản Tuy nhiên trong thực tế, phản hồi rõ ràng có 3 trở ngại cơ bản:
Sự phù hợp của thông tin thường tương đối đối với việc thay đổi yêu cầu thông tin của người dùng, và đánh giá sự phù hợp thông tin của mỗi item riêng rẽ thường được giả định là độc lập trong khi thực tế lại không như vậy
Các phạm vi số chưa đủ để mô tả phản ứng mà con người có đối với các item
Người dùng máy tính không cung cấp đủ phản hồi, đặc biệt là các phản hồi không rõ ràng (negative)
Phản hồi ngầm định: Phản hồi ngầm định [2] nghĩa là hệ thống tự động suy diễn sự quan tâm của người dùng một cách thụ động thông qua việc quan sát các hành động của người dùng
Đa số các phương pháp ngầm định lấy phản hồi sự phù hợp bằng cách phân tích các liên kết được người dùng liên kết đến, lịch sử mua hàng, lịch sử điều hướng, hộp thư điện tử và thời gian bỏ ra cho một trang web nào đó
Còn có một vài thao tác củng cố khác Đối với các tài liệu như trang web, các bài báo tin tức hoặc thông điệp thư điện tử, việc xem người dùng có sử dụng các thao tác như lưu một tài liệu, in một tài liệu, đánh dấu một trang web, xóa một tài liệu, trả lời hoặc chuyển tiếp một thư điện tử, cuộn chuột để xem… cũng rất có giá trị Do các
Trang 23thao tác này được thực hiện dưới sự điều khiển của ứng dụng nên chúng có thể được đăng kí và đánh giá để học profile người dùng
Phương pháp lai: phản hồi rõ ràng và phản hồi ngầm định có thể được kết hợp trong một hệ thống lai Phản hồi ngầm định làm giảm các nỗ lực của người dùng trong khi đó phản hồi rõ ràng giúp cho hệ thống suy diễn mối quan tâm của người dùng chính xác hơn
Các kĩ thuật thích ứng profile
Các hệ thống gợi ý thường tương tác với người dùng trong một khoảng thời gian dài nên mối quan tâm của người dùng không thể giả định là không thay đổi Nghĩa là những quan sát có được thông qua phản hồi sự phù hợp sẽ thể hiện mối quan tâm hiện tại của người dùng tốt hơn Do đó, cần có một kĩ thuật thích ứng profile người dùng với các mối quan tâm mới
Có nhiều kĩ thuật liên quan đến vấn đề này: thủ công (chỉ đơn giản là thêm các thông tin mới), cửa sổ thời gian, kết hợp các mô hình lâu dài (long-term) và ngắn hạn (short-term)…
Thủ công: Trong một vài hệ thống người dùng phải thay đổi profile khi họ muốn cập nhật nó Cũng giống như việc sinh profile khởi tạo bằng phương pháp thủ công, phương pháp này có 2 vấn đề quan trọng: nó đòi hỏi nỗ lực từ phía người dùng
và đôi khi người dùng cũng chưa xác định được mối quan tâm của họ là gì Do đó, cập nhật thủ công sẽ rất khó khi các yêu cầu thay đổi nhanh chóng
Thêm thông tin mới: Phương pháp này được sử dụng phổ biến trong nhiều hệ thống Ý tưởng là cập nhật profile người dùng bằng cách thêm các thông tin mới có được thông qua việc trích rút các phản hồi sự phù hợp của người dùng Do đó, profile được thích ứng với các mối quan tâm mới của người dùng Với phương pháp này thì các mối quan tâm cũ không bị bỏ qua
Các hàm quên dần: Khái niệm quên dần được đưa ra trên cơ sở của việc quên
tự nhiên là một quá trình từ từ Do đó, một hàm quên dần có thể được định nghĩa Nó
sẽ tạo ra một trọng số cho mỗi quan sát (observation) dựa trên vị trí của nó trong tiến
Trang 24trình thời gian Một số hệ thống gán khởi tạo cho mỗi quan sát một trọng số là 1, khi
có một quan sát phù hợp mới được đưa vào mô hình thì các quan sát cũ sẽ bị giảm trọng số theo một tỉ lệ nào đó Như vậy, các quan sát mới sẽ được xem là quan trọng hơn với giả định là nó thể hiện mối quan tâm hiện tại của người dùng tốt hơn
Một trường hợp cụ thể của hàm quên dần là phương pháp cửa sổ thời gian Đây là phương pháp phổ biến giải quyết vấn đề quên dần mối quan tâm cũ Nó bao gồm việc học các mô tả về mối quan tâm mới của người dùng từ các quan sát gần nhất Các mẫu đào tạo được chọn từ cửa sổ thời gian, nghĩa là chỉ có các mẫu mới nhất được sử dụng cho việc đào tạo
Chọn lọc tự nhiên: Cách tiếp cận tự nhiên kết hợp với các hệ thống hiện thực một kiến trúc hệ sinh thái các tác nhân (agents) dựa trên giải thuật di truyền Các tác nhân tạo ra các kết quả tốt nhất được tái tạo thông qua các toán tử trao đổi chéo và đột biến, các tác nhân khác sẽ bị phá hủy
2.2.2 So sánh profile
Để gợi ý các sản phẩm hoặc thao tác cho người dùng, một hệ thống gợi ý sẽ ra các quyết định dựa trên các thông tin có sẵn (sản phẩm, profile của những người dùng khác… ) Do đó, việc chọn thông tin thích hợp để ra quyết định là vấn đề khá quan trọng Các phương pháp lọc thông tin dựa trên các kĩ thuật so trùng profile-item và so trùng các profile với nhau Vì vậy có 3 vấn đề cần quan tâm khi khai thác profile: (1) phương pháp lọc thông tin (nhân khẩu học, dựa trên nội dung, cộng tác), (2) kĩ thuật
so trùng item-profile (khi dựa trên nội dung) và (3) kĩ thuật so trùng các profile với nhau (trường hợp cộng tác)
2.2.2.1 Các phương pháp lọc thông tin
Có 3 phương pháp lọc thông tin cơ bản: nhân khẩu học, dựa trên nội dung, cộng tác
Lọc nhân khẩu học: Phương pháp này sử dụng các mô tả về con người để học mối quan hệ giữa một item và kiểu người thích nó Các profile người dùng được tạo
ra bằng cách phân loại những người dùng theo các mô tả khuôn mẫu, tiêu biểu cho
Trang 25đặc trưng của lớp người dùng Dữ liệu cá nhân của người dùng được yêu cầu và được
sử dụng để phân loại người dùng theo các dữ liệu nhân khẩu học này Phân loại được
sử dụng như các mô tả tính cách của người dùng và mối quan tâm của họ Thông thường, dữ liệu cá nhân được lấy từ người dùng thông qua các mẫu đăng kí Các profile kết quả trải rộng trong phạm vi thông tin được chứa trong cơ sở dữ liệu nhân khẩu học
Hệ thống lọc nhân khẩu học có 2 hạn chế cơ bản:
- Lọc nhân khẩu học được dựa trên sự tổng quát hóa các mối quan tâm của người dùng, do đó hệ thống sẽ gợi ý cùng các item cho những người có các profile nhân khẩu học tương tự nhau Mỗi người dùng là khác nhau nên những gợi ý này tỏ ra quá tổng quát
- Cách tiếp cận nhân khẩu học không cung cấp sự thích ứng đối với sự thay đổi mối quan tâm
Lọc dựa trên nội dung [15]: Phương pháp này gợi ý các item cho người dùng dựa trên các mô tả về các item đã được đánh giá trước đó Nói một cách khác, hệ thống gợi ý các item bởi vì chúng tương tự với các item mà người dùng quan tâm trong quá khứ Profile người dùng được tạo ra bằng cách sử dụng các đặc trưng được rút trích từ các item này và mỗi người dùng được giả định là hoạt động độc lập
Một hệ thống thuần lọc trên nội dung có các hạn chế sau:
- Phương pháp dựa trên nội dung dựa trên thông tin khách quan về các item Thông tin này được trích rút tự động từ nhiều nguồn khác nhau (các trang web) hoặc được giới thiệu thủ công (ví dụ như cơ sở dữ liệu sản phẩm) Tuy nhiên lựa chọn item này hay item khác là phụ thuộc vào các thuộc tính chủ quan của item Các thuộc tính này, dù ảnh hưởng hơn đến việc lựa chọn của người dùng lại không được bàn đến
- Các kĩ thuật lọc dựa trên nội dung không có phương thức cố hữu nào để tạo ra các tìm kiếm may mắn, người dùng bị giới hạn trong việc được giới thiệu chỉ các item tương tự với các item trong quá khứ
Trang 26- Với cách tiếp cận dựa trên nội dung thuần, đánh giá của người dùng là nhân tố duy nhất ảnh hưởng đến các hoạt động tương lai
Lọc cộng tác: Lọc cộng tác [3, 14, 16] so trùng những người dùng có cùng mối quan tâm và ra gợi ý dựa trên cơ sở này Các gợi ý thường được trích rút từ các phân tích thống kê các mẫu, sự tương tự của dữ liệu được trích rút rõ ràng từ việc đánh giá các item của những người dùng khác nhau hoặc dữ liệu trích rút ngầm định từ việc quan sát các hành xử của người dùng trong hệ thống Phương pháp này khác với phương pháp dựa trên nội dung, thay vì gợi ý item vì nó tương tự với các item mà người dùng quan tâm trong quá khứ, nó sẽ gợi ý các item dựa trên mối quan tâm của người dùng khác Thay vì tính độ tương tự giữa các item, độ tương tự giữa các người dùng sẽ được tính toán Trong lọc cộng tác, profile người dùng chứa các dữ liệu mà người dùng đã chỉ định Dữ liệu này được so sánh với dữ liệu của những người dùng khác để tìm sự chồng lắp về mối quan tâm giữa những người dùng
Với vấn đề so trùng, thông thường có 2 loại so trùng được quan tâm là so trùng item-profile và so trùng profile-profile Ở đây chỉ bàn sơ qua về so trùng giữa item-profile, vấn đề so trùng profile-profile sẽ được nói kĩ hơn vì sự liên quan trực tiếp của
b Cosine similarity [37]
Mô hình này xem biểu diễn của profile và item là các vector n chiều Công thức Cosine sẽ tính toán góc Cosine giữa 2 vector Phép tính toán tiến tới 1 khi 2 vector đồng nhất Nếu 2 vector hoàn toàn không có mối quan hệ thì nó sẽ trực giao và giá trị cosine là 0
c Láng giềng gần nhất (Nearest Neighbor)
Trang 27Các giải thuật dạng này dựa trên việc tính toán khoảng cách từ item được quan tâm đến các item còn lại hoặc các lớp item trong profile người dùng Giải thuật hoạt động bằng cách lưu trữ tất cả các mẫu trong tập đào tạo, tức là tất cả các item trong profile người dùng Để biết được một item có được quan tâm hay không, giải thuật sẽ gán nó cho lớp các mẫu gần nhất Dựa trên biểu diễn của item, hàm tính toán khoảng cách có thể là kĩ thuật so trùng từ khóa đơn giản hoặc một so sánh trọng số
d Phân loại
Các hệ thống dựa trên lọc nội dung có thể điều khiển tác vụ gợi ý như là một tác vụ phân loại Dựa trên một tập các đặc tính của item, hệ thống sẽ cố gắng suy luận một mô hình cho mỗi người dùng cho phép họ phân loại các item mới vào trong 2 hay nhiều lớp Các phân lớp tiêu biểu là thích hay không thích nhưng hệ thống có thể phân loại các item vào bất kì tập các lớp nào (thích hợp, không thích hợp, chưa định nghĩa) Điều này có nghĩa là profile người dùng được biểu diễn như là một bộ phân loại: mạng nơ ron, cây quyết định, các luật suy diễn hay mạng Bayesian
2.2.2.3 So trùng profile-profile
Các hệ thống dựa trên lọc cộng tác so trùng những người dùng có cùng mối quan tâm và sau đó đưa ra các gợi ý dựa trên cơ sở này Nói chung quá trình tính toán một gợi ý bao gồm 3 bước sau: (1) tìm kiếm người dùng tương tự, (2) tạo một vùng lân cận (vùng láng giềng) và (3) tính toán dự đoán dựa trên những láng giềng được lựa chọn
a Tìm kiếm người dùng tương tự
Các độ đo tương tự chuẩn được sử dụng để tính toán khoảng cách giữa biểu diễn người dùng hiện tại và biểu diễn của một tập các người dùng Kĩ thuật phổ biến nhất được sử dụng để tính toán sự tương tự giữa các người dùng là láng giềng gần nhất, gom nhóm và phân loại
i Láng giềng gần nhất: Các giải thuật láng giềng gần nhất có thể áp dụng (như trong kĩ thuật so trùng profile-item) như là phương pháp tìm người dùng tương tự Ở đây, các giải thuật láng giềng gần nhất sẽ dựa trên việc
Trang 28tính toán khoảng cách giữa các người dùng dựa trên lịch sử của họ.Việc dự đoán một người dùng thích một item như thế nào được tính toán bằng cách lấy trung bình cộng trọng số các ý kiến đối với item đó của một tập các láng giềng gần nhất Các giải thuật láng giềng gần nhất có ưu điểm là có thể kết hợp các thông tin cập nhật một cách nhanh chóng nhưng việc tìm kiếm các láng giềng là khá chậm trong cơ sở dữ liệu lớn Có 2 phương pháp được sử dụng trong các hệ thống hiện tại để tính toán sự tương tự giữa những người dùng: cosine similarity và correlation
1 Cosine similarity: được áp dụng tương tự như trong kĩ thuật
so sánh item-profile, người dùng được so sánh với những người dùng khác bằng cách sử dụng 2 vector
2 Correlation: dễ dàng định nghĩa các độ đo tương tự giữa 2 profile người dùng khi sử dụng các cơ sở dữ liệu về đánh giá của người dùng đối với item, trong đó người dùng cho biết mối quan tâm của họ với một item bằng một con số Các độ đo correlation điển hình là hệ số correlation Pearson r và hệ số correlation xếp hạng Spearman
[14] đưa ra một phép đo độ tương tự mới giữa các người dùng dựa trên các đặc tính chung (common features) lẫn các đặc tính riêng (different features)
ii Gom nhóm (Clustering): đây là cách tiếp cận dựa trên khuôn mẫu, trong suốt giai đoạn phát triển hệ thống, các nhóm con của người dùng được xác định và các đặc tính tiêu biểu của các thành viên của các nhóm con này được xác định Trong thời gian chạy của hệ thống, người dùng được gán vào một hoặc nhiều nhóm người dùng đã được định nghĩa trước và các đặc tính của nhóm được gán cho người dùng Nhược điểm của phương pháp này là việc định nghĩa trước các khuôn mẫu này phụ thuộc vào kinh nghiệm Các kĩ thuật gom nhóm thường đưa ra các gợi ý ít mang tính cá
Trang 29nhân hơn các phương pháp khác, trong một vài trường hợp, phương pháp này ít chính xác hơn phương pháp láng giềng gần nhất Tuy nhiên một khi việc gom nhóm được hoàn tất thì nó hoạt động với hiệu suất tốt do kích thước các nhóm cần được phân tích sẽ nhỏ hơn
iii Phân loại (Classification): Phương pháp lọc cộng tác có thể được xem như một tác vụ phân loại như một phần của lọc dựa trên nội dung Trong lọc cộng tác, khi muốn suy diễn mối quan tâm của người dùng dựa trên sự tương tự với những người dùng khác thì dữ liệu khởi tạo thường tồn tại dưới dạng một ma trận rải rác, trong đó các hàng tương ứng với các người dùng, các cột tương ứng với các item và mỗi thành phần của ma trận là đánh giá của người dùng Sự rải rác ở đây nghĩa là phần lớn ma trận là rỗng
vì mỗi người dùng chỉ đánh giá trên một tập con rất nhỏ các item Việc dự đoán có thể được xem như việc điền các giá trị còn thiếu vào ma trận Do ta quan tâm đến việc học các mô hình cá nhân hóa cho mỗi người dùng, ta sẽ kết hợp một bộ phân loại với mỗi người dùng Mô hình này có thể được sử dụng để dự đoán các giá trị còn thiếu cho một dòng trong ma trận
b Tạo vùng lân cận
Khi các hệ thống tìm kiếm những người dùng tương tự, nó sẽ tạo một vùng những người dùng tương tự nhất với người dùng đích Một cách tổng quát, 2 kĩ thuật được sử dụng để xác định vùng lân cận: kĩ thuật ngưỡng correlation và kĩ thuật n láng giềng tốt nhất
Kĩ thuật ngưỡng correlation thiết lập một ngưỡng correlation tuyệt đối trong đó tất cả người dùng với một giá trị correlation tuyệt đối lớn hơn những ngưỡng nào đó
sẽ được chọn Thiết lập ngưỡng cao sẽ giới hạn vùng lân cận chỉ chứa các người dùng
có độ tương quan tốt nhưng với nhiều người dùng, độ tương quan tốt không tồn tại, dẫn đến vùng lân cận nhỏ không thể cung cấp sự dự đoán bao phủ cho nhiều item
Trang 30Kĩ thuật n láng giềng gần nhất lấy ra số lượng người dùng cố định tốt nhất Kĩ thuật này hoạt động tương đối tốt do nó không giới hạn độ bao phủ dự đoán Tuy nhiên, lấy một số lượng người dùng lớn hay quá nhỏ đều không tốt
c Dự đoán dựa trên những láng giềng được lựa chọn
Bước cuối cùng là đưa ra các gợi ý dựa trên vùng lân cận đã được lựa chọn Một khi vùng lân cận được chọn, đánh giá từ những người dùng lân cận này sẽ được tính toán để đưa ra dự đoán Các kĩ thuật có thể được sử dụng: gợi ý các item được đánh giá thường xuyên nhất, gợi ý dựa trên luật kết hợp và trung bình trọng số của các đánh giá
[9, 18, 21] đưa ra một số phương pháp so sánh độ tương tự của các profile Việc so sánh 2 profile thông thường được đưa về việc so sánh 2 từ 2 từ hoàn toàn giống nhau có thể khác nhau về mặt ngữ nghĩa Ngược lại, 2 từ khác nhau hoàn toàn lại có thể cùng ngữ nghĩa Tính đa nghĩa và đồng nghĩa của từ luôn là vấn đề được quan tâm trong các nghiên cứu liên quan đến ngữ nghĩa Từ đồng nghĩa có thể được giải quyết thông qua từ điển hoặc phân loại (taxonomy), từ đa nghĩa cần có các
kĩ thuật phức tạp hơn như kĩ thuật làm đồng nghĩa từ (word sense disambiguation) [41] Bên cạnh việc quản lý từ đồng nghĩa và đa nghĩa, một số ứng dụng quan tâm đến
độ tương tự ngữ nghĩa giữa 2 từ hoặc 2 khái niệm Các độ đo tương tự này có thể được xếp vào 2 phương pháp cơ bản: Phương pháp dựa trên tri thức [4, 5] và phương pháp dựa trên thống kê
Các độ đo của phương pháp dựa trên tri thức có thể được chia thành 2 phân lớp chính:
Các độ đo dựa trên cạnh (edge-based measure) [39]: tính toán sự tương tự dựa vào việc đếm số cạnh phân tách 2 nút bằng một quan hệ “is-a” Do các khái niệm
cụ thể có thể tương tự hơn các khái niệm trừu tượng nên độ sâu được tính đến bằng cách tính toán xem thử độ sâu tối đa trong taxonomy hay độ sâu của khái niệm cụ thể nhất bao gộp 2 khái niệm được so sánh Có thể xem 2 khái niệm là tương tự về mặt
Trang 31ngữ nghĩa nếu chúng được nối với nhau bằng một đường đi không quá dài và không thay đổi hướng thường xuyên
Các độ đo dựa trên nút (node-based measure): Cách tiếp cận này nhằm khắc phục tính không tin cậy khi sử dụng khoảng cách giữa các cạnh, thay vào đó sự tương
tự được dựa trên thông tin kết hợp với mỗi nút Thông tin có thể là mô tả của một nút (các độ đo đựa trên đặc điểm-feature based measures) hoặc các giá trị số được gia tăng từ kho văn bản (các độ đo nội dung thông tin-information content measures)
Phương pháp dựa trên tri thức [4, 5, 9, 10] thường cho kết quả đáng tin cậy vì các tính toán của chúng dựa trên cấu trúc của các ontology Tuy nhiên phương pháp này lại gặp một số vấn đề như:
Việc xây dựng và bảo trì các ontology không phải là một vấn đề đơn giản
Vấn đề bao phủ: Việc so sánh độ tương tự chỉ được thực hiện khi 2 từ hiện diện trong cấu trúc của ontology
Phương pháp thống kê dựa vào các phân tích thống kê trên các kho văn bản (text corpus) lớn Chúng có ưu điểm là độc lập, nghĩa là không cần các nguồn tri thức bên ngoài, do đó có thể giải quyết vấn đề bao phủ của các phương pháp ngữ nghĩa dựa trên taxonomy Phương pháp thống kê bao gồm các độ đo dựa trên sự xuất hiện đồng thời (co-occurrence), dựa trên ngữ cảnh (context-based) và LSA (Latent Semantic Analysis)
Sự tương tự dựa trên sự xuất hiện đồng thời [31]: Phương pháp này nghiên cứu sự xuất hiện đồng thời hoặc sự gần nhau của các từ trong các văn bản với giả định rằng các cặp từ thường xuyên thể hiện sự tồn tại một sự phụ thuộc nào đó giữa chúng
Sự tương tự dựa trên ngữ cảnh [33, 38]: phương pháp này dựa trên trực giác rằng các từ tương tự nhau có xu hướng xuất hiện trong các ngữ cảnh tương tự Mô hình không gian vector được sử dụng như một công cụ đo ngữ nghĩa
LSA (Latent Semantic Analysis) [40]: LSA được đưa ra nhằm khắc phục vấn đề đa chiều của mô hình không gian vector chuẩn, đặc biệt là cho các phương pháp dựa trên ngữ cảnh Đầu tiên văn bản được biểu diễn như một ma trận trong đó
Trang 32các hàng đại diện cho các từ, các cột đại diện cho ngữ cảnh và mỗi phần tử của ma trận chứa trọng số chỉ định nào đó (ví dụ như tần số) Sau đó, SVD (Singular Value Decomposition) được áp dụng cho ma trận để phân tích các mối quan hệ thống kê giữa các từ trong tập các văn bản Trong SVD, một ma trận dạng hình chữ nhật được phân rã thành tích của 3 ma trận khác và sau đó được tạo lại thành một ma trận nén 2 chiều Cuối cùng, độ tương tự LSA được tính toán trong một không gian chiều thấp hơn, trong đó các quan hệ thứ cấp giữa từ và văn bản được khai thác Độ tương tự giữa 2 từ được tính toán bằng cosine của góc giữa các vector hàng nén (compressed row vectors) tương ứng
Trang 33Chương 3: LATENT SEMANTIC ANALYSIS (LSA)
Latent Semantic Analysis (LSA) [40], còn được gọi là Latent Sematic Indexing (LSI) là phương pháp phân tích các tài liệu để tìm được ý nghĩa hoặc khái niệm bên trong các tài liệu này Nếu mỗi từ chỉ có một khái niệm, và mỗi khái niệm chỉ được
mô tả bởi một từ thì LSA trở nên đơn giản vì chỉ có một đơn ánh từ các từ vào các khái niệm
Tuy nhiên điều này là không thể do hiện tượng đồng nghĩa và đa nghĩa của từ,
và một số nhập nhằng khác mà ngay cả con người đôi khi cũng khó hiểu được khái niệm của một từ
Ví dụ trong tiếng Anh, nếu từ “bank” được sử dụng chung với các từ
“mortage” (sự cầm cố), “loan” (khoản vay) và “rates” (lãi suất) thì nó có nghĩa là ngân hàng, nhưng khi từ “bank” được sử dụng cùng với các từ như “lures” (nhử mồi),
“fish” (cá) thì nó có nghĩa là bờ sông
3.1 Hoạt động của LSA
LSA được nảy sinh từ vấn đề làm thế nào để tìm ra các tài liệu thích hợp từ các
từ tìm kiếm Vấn đề khó khăn cơ bản là ở chỗ ta so sánh các từ để tìm ra tài liệu phù hợp trong khi cái thực sự chúng ta muốn là so sánh ý nghĩa và khái niệm bên trong của từ LSA cố gắng giải quyết vấn đề này bằng cách ánh xạ các từ và khái niệm vào không gian khái niệm và thực hiện các so sánh trong không gian này
Do người viết có thể có nhiều cách lựa chọn từ khi họ viết, các khái niệm có thể bị che khuất do các lựa chọn từ khác nhau giữa các tác giả khác nhau Cách lựa chọn từ khác nhau này sẽ tạo ra nhiễu trong mỗi quan hệ từ-khái niệm LSA lọc bớt các nhiễu này, đồng thời cố gắng tìm tập nhỏ nhất các khái niệm bao phủ toàn tài liệu
LSA đưa ra một vài sự đơn giản hóa như sau:
- Các tài liệu được biểu diễn như là một tập các từ, trong đó thứ tự của các từ trong tài liệu là không quan trọng, chỉ quan trọng ở số lần xuất hiện của mỗi từ trong
Trang 34- Các khái niệm được biểu diễn như là một mẫu các từ thường xuất hiện cùng nhau trong các tài liệu
- Các từ được giả định là chỉ có một nghĩa Điều này có vẻ không hoàn toàn đúng (như từ “bank” ở trên) nhưng sẽ giúp cho vấn đề dễ kiểm soát hơn
Xem xét một ví dụ nhỏ trong đó ta tìm kiếm các cuốn sách trên Amazon.com
sử dụng từ tìm kiếm là “investing” và lấy ra 10 tiêu đề sách xuất hiện trong kết quả tìm kiếm Một tiêu đề trong số này sẽ được loại bỏ vì nó chỉ chứa một index word chung với các tiêu đề khác Index word là một từ thỏa mãn các điều kiện sau:
- Xuất hiện trong 2 hoặc nhiều tiêu đề
- Không phải là một từ phổ biến như “and”, “the” (gọi là các stopword) Các
từ này không được xem xét vì nó không đóng góp nhiều ý nghĩa
Trong ví dụ này ta loại bỏ các stopword sau: and, edition, for, in, little, of, the,
to
Đây là 9 tiêu đề còn lại Các index word (các từ xuất hiện trong 2 hoặc nhiều tiêu đề và không phải là stopword) được gạch dưới
1 The Neatest Little Guide to Stock Market Investing
2 Investing For Dummies, 4th Edition
3 The Little Book of Common Sense Investing: The Only Way to Guarantee Your Fair Share of Stock Market Returns
4 The Little Book of Value Investing
5 Value Investing: From Graham to Buffett and Beyond
6 Rich Dad's Guide to Investing: What the Rich Invest in, That the Poor and the Middle Class Do Not!
7 Investing in Real Estate, 5th Edition
8 Stock Investing For Dummies
9 Rich Dad's Advisors: The ABC's of Real Estate Investing: The Secrets
of Finding Hidden Profits Most Investors Miss
Trang 35Khi LSA được thực hiện trên ví dụ này, chúng ta có thể biểu diễn các index word và các tiêu đề trong một đồ thị XY và xác định các nhóm (cluster) của tiêu đề 9 tiêu đề được biểu diễn là các chấm tròn và 11 index word là các ô vuông Không những có thể đánh dấu nhóm các tiêu đề mà chúng ta còn có thể gán nhãn cho các nhóm do các từ có thể được biểu diễn cùng với các tiêu đề Ví dụ nhóm chứa tiêu đề T7 và T9 là về bất động sản (real estate) Nhóm chứa T2, T4, T5, và T8 về đầu tư giá trị (value investing) và nhóm chứa T1, T3 là về thị trường cổ phiếu (stock market) T6 chỉ có một mình nó
Tạo ma trận đếm
Công việc đầu tiên trong LSA là tạo ma trận từ-tài liệu (trong ví dụ của chúng
ta là ma trận từ-tiêu đề) Trong ma trận này, mỗi từ là một hàng, và mỗi tiêu đề là một cột Giao điểm của hàng và cột chứa số lần từ đó xuất hiện trong tiêu đề tương ứng
Ví dụ, từ “book” xuất hiện 1 lần trong tiêu đề T3 và 1 lần trong tiêu đề T4, trong khi
Trang 36đó “investing” xuất hiện 1 lần trong tất cả các tiêu đề Thường thì ma trận được xây dựng rất lớn nhưng cũng rất thưa thớt (nhiều giao điểm hàng cột chứa giá trị 0) Điều này xảy ra do mỗi tiêu đề hay tài liệu thường chỉ chứa một lượng từ rất ít so với số lượng từ có thể có
Trong ma trận sau, ta bỏ qua các giá trị 0 để dễ nhìn hơn:
Thay đổi ma trận bằng phương pháp TF-IDF
Trong các hệ thống LSA phức tạp, ma trận đếm thường được chỉnh sửa để các
từ hiếm được đánh trọng số lớn hơn các từ phổ biến Ví dụ, từ xuất hiện trong khoảng 5% số tài liệu nên được đánh trọng số cao hơn các từ xuất hiện trong 90% tài liệu Phương pháp đánh trọng số phổ biến là TF-IDF (Term Frenquency – Inverse Document Frequency) Theo phương pháp này, số đếm trong mỗi cell (giao điểm giữa hàng và cột của ma trận) được thay thế bằng công thức sau:
Trang 37TF-IDFi,j = (Ni,j/N*j) * log(D/Di)
Trong đó:
Ni,j: số lần từ i xuất hiện trong tài liệu j (giá trị đếm trong cell gốc)
N*j: số lượng tất cả các từ trong tài liệu (cộng các số đếm theo cột j)
D: số lượng tài liệu (số lượng các cột)
Di: số lượng tài liệu trong đó từ i xuất hiện (số lượng các cột không có giá trị 0 trong hàng i)
Trong công thức này, các từ tập trung ở các tài liệu nào đó được nhấn mạnh (bởi tỉ lệ Ni,j/N*j) và các từ chỉ xuất hiện trong một số ít các tài liệu cũng được nhấn mạnh (bởi thành phần log(D/Di))
Sử dụng phân rã giá trị đơn (Singular Value Decomposion – SVD)
a/ Phân rã giá trị đơn
SVD là phương pháp hệ số hóa ma trận thành một chuỗi các xấp xỉ tuyến tính bộc lộ được cấu trúc của ma trận SVD đặc biệt hữu ích và có nhiều ứng dụng như phân tích dữ liệu, xử lý tín hiệu, nhận dạng mẫu, dự báo thời tiết và LSA
SVD hoạt động như thế nào?
Xem xét ví dụ đơn giản sau về điểm số trong trận đấu gôn Giả sử Phil, Tiger
và Vijay chơi với nhau trong 9 lỗ (hole) và mỗi người đều có tỉ số thắng (par) cho mỗi
lỗ Bảng điểm có thể mô tả dưới dạng ma trận như sau:
Hole Par Phil Tiger Vijay
Trang 388 3 3 3 3
Xem xét bài toán dự báo mỗi người chơi sẽ có điểm như thế nào đối với một
hole nào đó Có thể cho mỗi lỗ một hệ số HoleDifficulty thể hiện độ khó của lỗ và mỗi người chơi có một hệ số PlayerAbility thể hiện khả năng của người chơi Điểm thực
sự được dự đoán bằng cách nhân 2 hệ số này với nhau
PredictedScore = HoleDifficulty * PlayerAbility
Cho HoleDifficulty là điểm par cho lỗ, và cho khả năng người chơi là 1 Như
vậy đối với lỗ đầu tiên, có par là 4, chúng ta mong đợi người chơi có khả năng 1 sẽ ghi điểm là 4
PredictedScore = HoleDifficulty * PlayerAbility = 4 * 1 = 4
Đối với toàn ma trận, ta cần nhân PlayerAbility (giả sử là 1 cho tất cả người
chơi) cho HoleDifficulty (trong phạm vi từ par 3 đến par 5) và ta có thể đoán chính
xác tất cả các điểm trong ví dụ này
Thực sự, đây là hệ số hóa SVD một chiều của bảng điểm Chúng ta có thể biểu
diễn bảng điểm hay ma trận như là tích của 2 véc tơ, véc tơ HoleDifficulty và véc tơ
PlayerAbility Để dự báo điểm bất kì, chỉ cần nhân hệ số HoleDifficulty thích hợp với
hệ số PlayerAbility thích hợp Tuân theo các luật nhân véc tơ thông thường, ta có thể tạo ma trận điểm bằng cách nhân véc tơ HoleDifficulty và véc tơ PlayerAbility theo
Trang 39Các nhà toán học muốn giữ mọi thứ có thứ tự, do đó quy tắc là tất cả các véc tơ
phải được scale để có chiều dài là 1 Ví dụ, véc tơ PlayerAbility được sửa đổi để tổng
bình phương các thành phần của nó là 1 thay vì hiện tại là 12+12+12 =3 Để thực hiện điều này, ta phải chia mỗi thành phần bởi căn bình phương của 3, khi đó khi ta bình phương sẽ có giá trị 1/3 và 3 thành phần có tổng sẽ là 1 Tương tự, ta chia mỗi thành
phần HoleDifficulty cho căn bình phương của 148 Tích của căn bậc 2 của 3 và căn
bậc 2 của 148 sẽ là hệ số scale 21.07 Hệ số hóa SVD một chiều là:
Trang 403.2 Ưu nhược điểm và các ứng dụng của LSA
LSA có nhiều ưu điểm và được sử dụng rộng rãi cho nhiều bài toán
- Thứ nhất, các tài liệu và các từ cuối cùng được ánh xạ vào cùng không gian khái niệm Trong không gian này chúng ta có thể gom nhóm các tài liệu, các từ và quan trọng nhất là thấy được các gom nhóm này đồng nhất như thế nào để chúng ta có thể truy xuất tài liệu dựa trên các từ và ngược lại
PlayerAbility Phil Tiger Vijay 0.58 0.58 0.58