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

Ứng dụng mạng nơ ron đồ thị trong hệ gợi ý

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

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC QUY NHƠN

NGUYỄN THỊ NGỌC ANH

ỨNG DỤNG MẠNG NƠ-RON ĐỒ THỊ
TRONG HỆ GỢI Ý

ĐỀ ÁN THẠC SĨ KHOA HỌC MÁY TÍNH

Bình Định - năm 2023

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC QUY NHƠN

NGUYỄN THỊ NGỌC ANH

ỨNG DỤNG MẠNG NƠ-RON ĐỒ THỊ
TRONG HỆ GỢI Ý

Ngành: Khoa học máy tính
Mã ngành: 8480101

Người hướng dẫn: TS. LÊ QUANG HÙNG

Lời cam đoan

Tôi xin cam đoan đề án "Ứng dụng mạng nơ-ron đồ thị trong hệ gợi ý" là nghiên
cứu của riêng tôi, được thực hiện dưới sự hướng dẫn của TS. Lê Quang Hùng. Các nội
dung trích dẫn từ các nghiên cứu của các tác giả khác mà tôi trình bày trong đề án
này đã được ghi rõ nguồn gốc trong tài liệu tham khảo.



1

Lời cảm ơn

Lời đầu tiên tôi xin gửi lời cảm ơn đến TS. Lê Quang Hùng, khoa Công nghệ thông tin,
trường Đại học Quy Nhơn, đã định hướng đề tài và tận tình hướng dẫn cho tơi trong suốt quá
trình làm đề án tốt nghiệp này.

Tôi cũng xin trân trọng cảm ơn các thầy, cô trong khoa Công nghệ thông tin trường Đại
học Quy Nhơn đã tận tình giảng dạy, hướng dẫn tơi nghiên cứu trong suốt thời gian theo học
tại trường cũng như làm đề án này. Xin cảm ơn các anh, chị, em và các bạn học viên Khoa
học máy tính, những người đã giúp đỡ động viên tinh thần và chia sẻ kinh nghiệm q báu
giúp tơi vượt qua khó khăn, vướng mắc hoàn thành tốt đề án tốt nghiệp của mình.

Mặc dù đã rất cố gắng nhưng chắc chắn đề án của tơi cịn thiếu sót và có nhiều nội dung
cần hồn thiện hơn. Vì vậy, tôi rất mong nhận được những ý kiến đánh giá phê bình và góp ý
từ phía thầy cơ, anh chị và các bạn.

2

Tóm tắt

Hệ gợi ý đang được ứng dụng trong rất nhiều lĩnh vực khác nhau như thương mại điện
tử (hỗ trợ bán hàng trực tuyến), giải trí (gợi ý phim ảnh, bài hát,..), giáo dục đào tạo (gợi ý
nguồn tài nguyên học tập, nghiên cứu,..)... Chính vì khả năng ứng dụng rộng rãi của nó sẽ
mở ra nhiều tiềm năng trong nghiên cứu cũng như trong xây dựng các hệ thống thực tế, đặc
biệt là các hệ hỗ trợ người dùng đưa ra quyết định. Các kỹ thuật hệ gợi ý đã và đang được
nghiên cứu, ứng dụng một cách mạnh mẽ và đem lại lợi ích cho cả nhà cung cấp dịch vụ lẫn
người dùng. Hệ gợi ý là lĩnh vực nghiên cứu hiện đang rất được các nhà khoa học quan tâm.

Có nhiều cách tiếp cận hệ gợi ý, tuy nhiên, gần đây mô hình học sâu (Deep Learning), hay là
mạng nơ-ron đồ thị (GNN) đã trở thành phương pháp tiếp cận hiện đại mới cho các hệ gợi ý
[1], [2], vì hầu hết thông tin trong các hệ gợi ý về cơ bản đều có cấu trúc đồ thị và GNN có ưu
thế hơn trong việc học biểu diễn đồ thị.

Trong đề án này, trước hết chúng tơi trình bày các nhiệm vụ của hệ gợi ý. Tiếp theo phát
biểu bài tốn về mạng nơ-ron đồ thị. Sau đó chúng tơi trình bày mơ hình NGCF, LightGCN
và tiến hành thực nghiệm. Chúng tôi đánh giá hiệu suất của mô hình này trên tập dữ liệu
MovieLens 100K, chứa 100.000 xếp hạng của 943 người dùng đối với 1682 sản phẩm (phim).
Để đảm bảo chất lượng của tập dữ liệu, mỗi người dùng đã xếp hạng ít nhất 20 phim. Kết
quả thực nghiệm cho thấy cách tiếp cận này rất hiệu quả trên cả hai độ đo là precision@K và
recall@K.

Từ khóa: Hệ gợi ý, mạng nơ-ron đồ thị, kỹ thuật gợi ý, mơ hình học sâu, tầng nhúng.

3

Danh mục các chữ viết tắt

Chữ viết tắt Ý nghĩa
RS Recommender Systems
GNN Graph neural network
RNN Recursive neural networks
GCN Graph Convolutional Network
MSE Mean Square Error
RMSE Root Mean Square Error
MAE Mean Absolute Error
CF Collaborative Filtering
NCF Neural Collaborative Filtering
NGCF Neural Graph Collaborative Filtering


4

Danh sách hình vẽ

1.1 Ma trận biểu diễn dữ liệu trong RS . . . . . . . . . . . . . . . . . . . . 12
1.2 Mã hóa một nút thành một vector nhúng có d chiều . . . . . . . . . . 16
1.3 Biểu diễn đồ thị dưới dạng ma trận kề . . . . . . . . . . . . . . . . . . 17
1.4 Các nút trên đồ thị được ánh xạ sang không gian nhúng . . . . . . . . 17
1.5 Dự đoán giá trị của một nút với 3 lớp . . . . . . . . . . . . . . . . . . . 18
1.6 Tổng hợp thông tin từ các nút lân cận . . . . . . . . . . . . . . . . . . 18
1.7 Có nhiều mơ hình mạng nơ-ron đồ thị được áp dụng để tổng hợp thông

tin từ các nút lân cận . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.1 Các cấu trúc đồ thị biểu diễn trong các hệ gợi ý . . . . . . . . . . . . . 23
2.2 Khung tổng quát của GNN trong gợi ý lọc cộng tác . . . . . . . . . . . 23
2.3 Minh họa kiến trúc mơ hình NGCF (các đường mũi tên thể hiện luồng

thông tin). Các biểu diễn của người dùng eu1(trái) và sản phẩm ei4(phải)
được tinh chỉnh với nhiều lớp lan truyền nhúng, có đầu ra được kết nối
để đưa ra dự đoán cuối cùng. . . . . . . . . . . . . . . . . . . . . . . . 27
2.4 Minh họa về lan truyền nhúng bậc 3 cho người dùng u1 . . . . . . . . . 29
2.5 Minh họa kiến trúc mơ hình LightGCN. Trong LGC, chỉ tổng số lần
nhúng nút lân cận được chuẩn hóa mới được thực hiện đối với lớp tiếp
theo; các hoạt động khác như tự kết nối, chuyển đổi tính năng và kích
hoạt phi tuyến đều bị loại bỏ, điều này giúp đơn giản hóa phần lớn
GCN. Trong kết hợp lớp, chúng tơi tính tổng các phần nhúng ở mỗi lớp
để thu được các biểu diễn cuối cùng . . . . . . . . . . . . . . . . . . . . 32


3.1 Thống kê vài bộ dữ liệu của Movielens . . . . . . . . . . . . . . . . . . 35
3.2 Tương tác giữa người dùng và sản phẩm dưới dạng đồ thị hai phía . . . 36

5

3.3 Precision@K và Recall@K sử dụng cùng tử số nhưng khác mẫu số. Mẫu
số của Precision@K là số lượng mục được đề xuất, K. . . . . . . . . . . 38

3.4 GNCF Precision@20 và Recall@20 trên mỗi giai đoạn đào tạo . . . . . 41
3.5 LightGCN Precision@20 và Recall@20 trên mỗi giai đoạn đào tạo . . . 41
3.6 Bảng so sánh NGCF với LightGCN . . . . . . . . . . . . . . . . . . . . 42

6

Mở đầu

1. Lý do chọn đề tài

Trong những năm gần đây một loại mơ hình học sâu mới, mạng nơ-ron đồ thị (GNN)
đã được chứng minh là một mơ hình học tập mạnh mẽ khi được áp dụng tới các vấn đề
có thể được mô tả thông qua dữ liệu đồ thị [15], [24], [25]. GNN có thể được sử dụng
để giải quyết nhiều vấn đề trong nhiều lĩnh vực khác nhau như: phân loại đối tượng đồ
thị (ví dụ, phân loại các trang web trong một đồ thị web dựa trên nội dung và cấu trúc
của đồ thị); Dự đoán và gợi ý (ví dụ, gợi ý sản phẩm cho người dùng dựa trên lịch sử
mua sắm và quan hệ xã hội); phân tích mạng xã hội (ví dụ, dự đoán mức độ tương tác
giữa các người dùng hoặc phát hiện sự lan truyền thông tin giả mạo); xử lý ngôn ngữ
tự nhiên trong đồ thị (ví dụ, phân loại các bài viết trên mạng xã hội); dự đoán cấu trúc
và quan hệ (ví dụ, trong lĩnh vực hóa học, có thể dự đốn cấu trúc phân tử); phân tích
dữ liệu liên quan đến hình ảnh và video (ví dụ, trong lĩnh vực thị giác máy tính, chúng
có thể được sử dụng để phát hiện và theo dõi các đối tượng trong video) ... Sự linh hoạt

của GNN làm cho nó trở thành một công cụ mạnh mẽ trong việc xử lý và phân tích dữ
liệu có cấu trúc đồ thị. Các kỹ thuật mạng nơ-ron đồ thị đã được sử dụng rộng rãi trong
các hệ gợi ý vì hầu hết thơng tin trong các hệ gợi ý về cơ bản đều có cấu trúc đồ thị.
Trong thời đại số hóa ngày càng phát triển, ứng dụng mạng nơ-ron đồ thị trong hệ gợi
ý là một lĩnh vực nghiên cứu đang thu hút sự quan tâm lớn từ cộng đồng khoa học và
doanh nghiệp. Hệ gợi ý đang trở nên ngày càng quan trọng. Chúng giúp cải thiện trải
nghiệm của người dùng bằng cách gợi ý sản phẩm, nội dung, hoặc thông tin phù hợp
với sở thích và nhu cầu cá nhân. Việc nghiên cứu và phát triển các phương pháp gợi ý
hiệu quả có thể mang lại giá trị lớn cho các ứng dụng và doanh nghiệp trực tuyến. Nó
phản ảnh xu hướng tiên tiến của ngành khoa học máy tính và trí tuệ nhân tạo. Mạng
nơ-ron đồ thị là một lĩnh vực mới mẻ và hứa hẹn, kết hợp sức mạnh của mạng nơ-ron
và thông tin đồ thị để cải thiện khả năng gợi ý. Tuy nhiên, lĩnh vực này vẫn cịn nhiều
khía cạnh cần khám phá và giải quyết như việc phân tích và hiểu cấu trúc đồ thị, xây

7

dựng mơ hình mạng nơ-ron phù hợp, và tối ưu hóa thuật tốn để đảm bảo khả năng gợi
ý chính xác và hiệu quả. Do tích hợp nhiều yếu tố quan trọng như xu hướng cơng nghệ,
tính ứng dụng rộng rãi, tiềm năng thực tiễn,... nên chúng tôi thực hiện nghiên cứu đề
tài "Ứng dụng mạng nơ-ron đồ thị trong hệ gợi ý".
2. Mục tiêu của đề án
Trong đề án này, chúng tôi đặt ra các mục tiêu chính:

ˆ Nghiên cứu cơ sở lý thuyết về đồ thị, ứng dụng của mạng nơ-ron đồ thị trong hệ
gợi ý.

ˆ Cài đặt thực nghiệm về ứng dụng mạng nơ-ron đồ thị trong hệ gợi ý.
3. Đóng góp của đề án

Những đóng góp chính của đề án là:

ˆ Thứ nhất, trình bày mơ hình ứng dụng mạng nơ-ron đồ thị trong hệ gợi ý.
ˆ Thứ hai, xây dựng mơ hình dự đốn xếp hạng.
ˆ Thứ ba, thực nghiệm, đánh giá hiệu quả của ứng dụng mạng nơ-ron đồ thị trong
hệ gợi ý.

4. Bố cục của đề án
Ngoài phần mở đầu và kết luận, đề án được tổ chức thành 3 chương với bố cục như sau:
ˆ Chương 1. TỔNG QUAN: giới thiệu tổng quan về hệ gợi ý, bao gồm: sơ lược về
hệ gợi ý, các nhiệm vụ trong hệ gợi ý, bài toán hệ gợi ý, một số kỹ thuật hệ gợi ý,
đánh giá hệ gợi ý và mạng nơ-ron đồ thị.
ˆ Chương 2. MẠNG NƠ-RON ĐỒ THỊ TRONG HỆ GỢI Ý: chúng tơi trình bày về
định nghĩa đồ thị, kỹ thuật mạng nơ-ron đồ thị và mạng nơ-ron đồ thị trong gợi ý
lọc cộng tác.
ˆ Chương 3. THỰC NGHIỆM: chúng tôi cài đặt thực nghiệm hệ gợi ý trên bộ dữ
liệu Movielens 100K; đưa ra kết quả thực nghiệm và đánh giá.

8

Mục lục

Lời cam đoan 1

Lời cảm ơn 2

Tóm tắt 3

Danh mục các chữ viết tắt 4

Danh sách hình vẽ 6


Mở đầu 7

1 Tổng quan 11

1.1 Sơ lược về hệ gợi ý . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.2 Các nhiệm vụ trong hệ gợi ý . . . . . . . . . . . . . . . . . . . . . . . . 12

1.3 Bài toán hệ gợi ý . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.4 Một số kỹ thuật gợi ý . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.4.1 Lọc dựa trên nội dung . . . . . . . . . . . . . . . . . . . . . . . 13

1.4.2 Lọc cộng tác . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.4.3 Lọc kết hợp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.5 Mạng nơ-ron đồ thị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.5.1 Học biểu diễn đồ thị . . . . . . . . . . . . . . . . . . . . . . . . 15

1.5.2 Nhúng đồ thị . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.5.3 Kiến trúc mạng nơ-ron đồ thị . . . . . . . . . . . . . . . . . . . 17

1.6 Tổng kết chương 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2 Mạng nơ-ron đồ thị trong hệ gợi ý 20


2.1 Định nghĩa về đồ thị . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

9

2.2 Kỹ thuật mạng nơ-ron đồ thị . . . . . . . . . . . . . . . . . . . . . . . 21
2.3 Mạng nơ-ron đồ thị trong gợi ý lọc cộng tác . . . . . . . . . . . . . . . 23

2.3.1 Xây dựng đồ thị . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3.2 Tổng hợp lân cận . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.3 Cập nhật thông tin . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3.4 Biểu diễn nút cuối cùng . . . . . . . . . . . . . . . . . . . . . . 25
2.4 Mơ hình NGCF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.4.1 Tầng nhúng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.4.2 Tầng lan truyền . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.4.3 Mơ hình dự đoán . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5 Mơ hình LightGCN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5.1 Phép tích chập đồ thị . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5.2 Kết hợp lớp và dự đốn mơ hình . . . . . . . . . . . . . . . . . 33
2.5.3 Dạng ma trận . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.6 Tổng kết chương 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3 Thực nghiệm 35

3.1 Dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.2 Cài đặt thực nghiệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.3 Kết quả . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Kết luận 43


Tài liệu tham khảo 44

10

Chương 1

Tổng quan

Trong chương này, chúng tơi trình bày sơ lược về hệ gợi ý. Tiếp theo chúng tơi trình
bày các nhiệm vụ trong hệ gợi ý, bài toán hệ gợi ý, một số kỹ thuật gợi ý và đánh giá
hệ gợi ý thông qua các độ đo. Sau đó trình bày về mạng nơ-ron đồ thị với các nội dung:
học biểu diễn đồ thị, nhúng đồ thị và các kiến trúc mạng nơ-ron đồ thị.

1.1 Sơ lược về hệ gợi ý

Hệ gợi ý (RS) là một dạng của hệ thống lọc thơng tin, nó được sử dụng để dự đốn
sở thích của người dùng hay xếp hạng mà người dùng có thể dành cho một sản phẩm
nào đó, sản phẩm có thể là bộ phim, bài hát, video, bài báo, sách, ... Các chương trình
cố gắng dự đốn các sản phẩm mà người dùng có thể quan tâm thơng qua lịch sử
người dùng trước đó như: thơng qua việc xếp hạng của người dùng lên sản phẩm, thời
gian duyệt trên sản phẩm, tỉ lệ nhấp chuột, mua một mặt hàng, truy cập trang, xem
một video ... Từ đó cung cấp lựa chọn các sản phẩm (được dự đoán là "tốt" cho người
dùng), giúp cải thiện trải nghiệm người dùng và thúc đẩy lợi nhuận kinh doanh. Hệ gợi
ý là một trong những ứng dụng của học máy được thúc đẩy bởi thế giới thực, nó là chủ
đề rất được các nhà khoa học quan tâm. Kể từ năm 2007 đến nay, hàng năm đều có
hội thảo chuyên về hệ gợi ý của ACM (ACM RecSys [3]) cũng như các tiểu bang dành
riêng cho hệ gợi ý trong các hội nghị lớn khác như ACM KDD [4], ACM CIKM[5],..

11


1.2 Các nhiệm vụ trong hệ gợi ý

Trong RS thường quan tâm đến 3 yếu tố chính: người dùng (user), sản phẩm (item)
và các xếp hạng (rating) của người dùng trên sản phẩm. Các thông tin này được biểu
diễn trên một ma trận như Hình 1.1. Trong đó, mỗi dịng là 1 user, mỗi cột là một
item và mỗi ô là một giá trị xếp hạng của user trên item tương ứng. Những ơ có giá
trị là những item đã được user xếp hạng trong quá khứ, các ô trống là những item
chưa được xếp hạng (ma trận này gọi là ma trận thưa).

Hình 1.1: Ma trận biểu diễn dữ liệu trong RS
Nhiệm vụ của RS là thu thập các xếp hạng đã có trong ma trận, ngoại suy các xếp
hạng còn trống từ các xếp hạng đã biết, ước tính các xếp hạng cho các item chưa được
quan tâm bởi user, gợi ý các item có xếp hạng ước tính cao nhất cho user.

1.3 Bài toán hệ gợi ý

ˆ Đầu vào
C là tập người dùng, mỗi người dùng ci ∈ C có các đặc điểm I = {i1, i2, . . . , in}.
S là tập các sản phẩm, mỗi sản phẩm sj ∈ S có các thuộc tính J = {j1, j2, . . . , jm}.
Ma trận R = (rij) là tập các giá trị xếp hạng của người dùng ci cho sản phẩm
sj .

12

ˆ Đầu ra
Danh sách các sản phẩm sj ∈ S có độ phù hợp nhất với người dùng ci ∈ C.

ˆ Để giải bài toán này, chúng ta xây dựng hàm u(ci, sj) để đo độ phù hợp của sản
phẩm sj đối với người dùng ci, từ đó có thể dự đốn danh sách các sản phẩm

được cho là phù hợp nhất với người dùng.

ˆ Các cách xây dựng hàm u chủ yếu phụ thuộc vào các yếu tố sau:
Đặc điểm của người dùng ci (lọc theo nội dung người dùng). Ví dụ: Nếu người
dùng là nữ thì xu hướng sẽ mua các sản phẩm của nữ hơn các sản phẩm của
nam, ...

ˆ Đặc điểm của sản phẩm sj (lọc theo nội dung sản phẩm). Ví dụ: Những sản
phẩm có những đặc điểm giống nhau có khả năng được người dùng đánh giá như
nhau. Chẳng hạn, những bộ phim có cùng diễn viên, đạo diễn, thể loại, ...

ˆ Lịch sử giao dịch của người dùng ci: Từ các lịch sử giao dịch của người dùng có
thể dự đoán các nội dung mà người dùng quan tâm, do đó các sản phẩm có cùng
lĩnh vực sẽ có độ liên quan cao hơn.

ˆ Những người dùng ck khác có cùng đặc điểm giống ci: Những người dùng giống
nhau về sở thích thì sẽ đánh giá những sản phẩm giống nhau.

1.4 Một số kỹ thuật gợi ý

Về cơ bản cách để tiếp cận hệ gợi ý được chia làm 3 kỹ thuật chính là lọc dựa trên
nội dung, lọc cộng tác và lọc kết hợp [6], [7]

1.4.1 Lọc dựa trên nội dung

Lọc dựa trên nội dung: Dựa vào dữ liệu về các item mà user đã quan tâm trong
quá khứ để tính độ tương tự với các item trong hệ thống. Từ đó, gợi ý các item tương
tự với item mà user đã thích, đã mua, hoặc đã xem trong quá khứ.

13


ˆ Ý tưởng của phương pháp này là, nếu một user quan tâm item A thì cũng có
thể quan tâm item B tương tự A.

ˆ Gợi ý những item phù hợp với sở thích của từng user riêng biệt.
ˆ Hạn chế: Đối với user mới, vì khơng có lịch sử về item trên hệ thống, hoặc rất ít

đánh giá về item nên hệ thống không thể cung cấp gợi ý phù hợp.

1.4.2 Lọc cộng tác

Lọc cộng tác: Là phương pháp gợi ý phổ biến. Phương pháp này lưu trữ dữ liệu
dưới dạng ma trận: users - items, sau đó phân tích dữ liệu tính tốn sự tương đồng
giữa các users để đưa ra gợi ý.

ˆ Ý tưởng của phương pháp này là dựa vào sự đánh giá của những users lên các
items. Từ đó, dự đốn những users có cùng sở thích trong q khứ sẽ có những
sở thích tương tự trong tương lai.

ˆ Ví dụ: Nếu user A thích item tương tự user B thì dự đốn user A có khả năng
thích các item khác mà user B đã thích, mua, hoặc xem và ngược lại.

ˆ Hệ gợi ý dựa trên trải nghiệm của user tương tự khác nên có thể gợi ý những
item mới phù hợp với sở thích mới. Phương pháp này phù hợp với những hệ
thống lớn có nhiều đánh giá từ phía user.

ˆ Hạn chế:
– Đối với user mới, vì khơng có lịch sử về item trên hệ thống, hoặc rất ít đánh
giá về item nên hệ thống không thể cung cấp gợi ý phù hợp.
– Hoặc với số lượng item lớn mà lượng đánh giá của user ít thì gợi ý thiếu

chính xác.
– Hoặc không thể gợi ý những item mới hoặc những item chưa được đánh giá.
– Hoặc nếu như sở thích của item thay đổi thì khả năng hệ thống đưa ra các
gợi ý khơng chính xác.

14

1.4.3 Lọc kết hợp

Phương pháp này kết hợp giữa phương pháp lọc dựa trên nội dung và lọc cộng tác
bằng nhiều cách như: dựa vào thuộc tính của user cụ thể để đưa ra các gợi ý đa dạng,
tích hợp một số đặc điểm của cách tiếp cận của lọc dựa trên nội dung vào lọc cộng tác,
tích hợp một số đặc điểm của lọc cộng tác vào cách tiếp cận lọc dựa trên nội dung,
tích hợp cả cách tiếp cận nội dung và lọc cộng tác để đưa ra mơ hình phù hợp nhất.

1.5 Mạng nơ-ron đồ thị

1.5.1 Học biểu diễn đồ thị

Trong thực tế dữ liệu không chỉ đơn giản ở dạng ảnh hay dạng ngơn ngữ mà nó có
thể phức tạp hơn nhiều, ví dụ như mối quan hệ giữa mọi người trong một mạng xã hội,
hoặc mối quan hệ giữa các tập tin trong cùng một thư mục, ... các dữ kiện này khơng
độc lập mà có tính liên kết với nhau nên người ta đã tổng quát hóa lên thành dạng đồ
thị, đây là một dạng cấu trúc dữ liệu phổ biến trong lĩnh vực thị giác máy tính, phân
tích ảnh, nhận dạng đối tượng, xử lý ngôn ngữ tự nhiên, khai phá dữ liệu,...

Tuy nhiên, cấu trúc dữ liệu đồ thị tương đối phức tạp và được chia làm nhiều loại
như: đồ thị có hướng, vơ hướng, có chu trình và khơng có chu trình ... nên việc nghiên
cứu các mơ hình tính tốn phù hợp là cần thiết. Trong lĩnh vực mạng nơ-ron nhân tạo,
đã có một vài mơ hình mạng áp dụng cho dạng dữ liệu này như mạng nơ-ron đệ quy

(RNN) [8], [9], [10]. Tuy nhiên, mơ hình RNN có một số hạn chế. RNN khơng trực tiếp
xử lý dữ liệu đồ thị mà trước đó phải tiền xử lý để ánh xạ dữ liệu thành vector điều
này làm mất đi một số thông tin quan trọng như quan hệ và hình trạng giữa các nút
trong đồ thị.

Vì vậy, mạng nơ-ron đồ thị (GNN) [11], [12] đã được đề xuất phát triển từ RNN để
xử lý trực tiếp dữ liệu biểu diễn dưới dạng đồ thị mà không cần tiền xử lý dữ liệu về
dạng vector. GNN sử dụng phương pháp học sâu (Deep Learning) cho dữ liệu đồ thị
để mô tả những đối tượng và mối quan hệ của chúng dưới dạng các điểm được kết nối
bằng các đường trong đồ thị.

15

1.5.2 Nhúng đồ thị

GNN tổng hợp giá trị của các nút lân cận nhau, tuy nhiên các nút trên đồ thị là
khơng có thứ tự và số cạnh liên kết với từng nút là không giống nhau [13]. Cách biểu
diễn đơn giản nhất cho các nút và cạnh trên đồ thị là việc biểu diễn các nút/cạnh đó
dưới dạng các vector nhúng (vector có số chiều nhỏ hơn), tiếp đó sử dụng các nhúng
này cho các nhiệm vụ khác như:

ˆ Phân loại nút: Dự đoán nhãn của nút v dựa trên nhúng nút ov
ˆ Ví dụ: Phân loại người dùng/mặt hàng trực tuyến

ˆ Phân loại đồ thị: Dự đoán nhãn dựa trên nhúng đồ thị og
ˆ Ví dụ: Phát hiện tin giả

ˆ Dự đốn liên kết: Dự đốn liệu có thiếu liên kết giữa hai nút (bạn, v) dựa trên
(oban ,ov )
ˆ Ví dụ: Hệ gợi ý, hoàn thành sơ đồ tri thức


Hình 1.2: Mã hóa một nút thành một vector nhúng có d chiều

Ngồi việc nhúng nút, cịn có các loại nhúng khác, ví dụ: nhúng cạnh, nhúng cấu
trúc con và nhúng toàn bộ đồ thị (graph embedding). Mục tiêu của nhúng đồ
thị là thay vì biểu diễn các nút trong đồ thị một cách riêng lẻ, phương pháp này
tạo ra ánh xạ thể hiện được cả mối quan hệ của các nút trong đồ thị, các vector
nhúng của nút sẽ được tính tốn dựa trên vị trí tương đối của nó với các nút liên
quan và lân cận trên đồ thị. Các nút tương tự trong đồ thị sẽ có khoảng cách
gần nhau hơn trong khơng gian vector. Ví dụ, đối với một câu chúng ta có thể
sử dụng các từ xung quanh một từ để định nghĩa ngữ cảnh cho nó (ý tưởng của

16

n-gram). Tương tự như vậy, chúng ta có thể định nghĩa ngữ cảnh của một nút
trong đồ thị. Tuy nhiên chúng ta sẽ có nhiều lựa chọn hơn vì các kết nối của đồ
thị đa dạng hơn so với một chuỗi các từ. Chúng ta có thể biểu diễn đồ thị dưới
dạng ma trận kề, và với mỗi nút, ta có nhiều phương án khác nhau để định nghĩa
ngữ cảnh của nút đó.

Hình 1.3: Biểu diễn đồ thị dưới dạng ma trận kề
Ví dụ với một đồ thị như hình dưới, các nút trên đồ thị được ánh xạ sang một
không gian nhúng mới với mục tiêu là mã hóa các nút sao cho độ tương tự trong
không gian nhúng xấp xỉ độ tương tự trong đồ thị.

Hình 1.4: Các nút trên đồ thị được ánh xạ sang không gian nhúng

1.5.3 Kiến trúc mạng nơ-ron đồ thị

Giả sử có mơ hình như sau:

ˆ Những nút (node) có các lớp nhúng (layer).
ˆ Layer-0 của nút v là dữ liệu đầu vào xv.
ˆ Layer-k lấy thông tin từ những nút lân cận k.

17

ˆ Nút nhúng (node embedding) tạo ra dựa trên các vùng lân cận cục bộ.

Hình 1.5: Dự đốn giá trị của một nút với 3 lớp
Trong đó:
ˆ A là nút đang cần dự đốn, nó có liên kết với các nút B, C, D.
ˆ xA, xB, xC,. . . là các thuộc tính (features) của từng nút qua từng lớp (layers).
ˆ Nút nhúng được tạo ra từ các thuộc tính của các nút lân cận.
Như vậy, với các dữ liệu đồ thị ban đầu dần dần người ta có thể biểu diễn thành
nút A mới ở trong một chiều khơng gian thấp hơn mà vẫn giữ được tính chất của
nút A đó với đồ thị ban đầu.
Làm thế nào để tổng hợp thông tin trên các lớp?
Cách tiếp cận cơ bản là áp dụng một mạng đồ thị để tổng hợp thông tin từ các
nút lân cận.

Hình 1.6: Tổng hợp thơng tin từ các nút lân cận
18


×