1. Trang chủ
  2. » Giáo Dục - Đào Tạo

ĐỒ án tốt NGHIỆP xây DỰNG hệ THỐNG gợi ý BẰNG PHƯƠNG PHÁP mô HÌNH hóa CHỦ đề

62 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Hệ Thống Gợi Ý Bằng Phương Pháp Mô Hình Hóa Chủ Đề
Tác giả Nguyễn Thị Thu Huyền
Người hướng dẫn TS. Nguyễn Thị Thanh Huyền
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Hệ thống thông tin quản lý
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 62
Dung lượng 374,05 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chúng ta có thể đã gặp ứng dụng của hệthống này khi qua các trang Amazon, Netflix, Vinabook, Tiki … Ngoài nội dung mà bạn đang xem, các trang nói trên còn hiển thị các nội dung liên quan

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

ĐỒ ÁN TỐT NGHIỆP

XÂY DỰNG HỆ THỐNG GỢI Ý BẰNG PHƯƠNG PHÁP MÔ HÌNH HÓA CHỦ ĐỀ

NGUYỄN THỊ THU HUYỀN

huyenthubka@gmail.com

Chuyên ngành: Hệ thống thông tin quản lý

Giảng viên hướng dẫn: TS Nguyễn Thị Thanh Huyền _

HÀ NỘI – 07/2022

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 2

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC

XÂY DỰNG HỆ THỐNG GỢI Ý BẰNG PHƯƠNG PHÁP MÔ HÌNH HÓA CHỦ ĐỀ

ĐỒ ÁN TỐT NGHIỆP

Chuyên ngành: Hệ thống thông tin quản lý

Chuyên sâu: Tin học

Giảng viên hướng dẫn: TS Nguyễn Thị Thanh Huyền Sinh viên thực hiện: Nguyễn Thị Thu Huyền

HÀ NỘI – 07/2022

Trang 3

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

1 Mục đích và nội dung của đồ án:

2 Kết quả đạt được:

3 Ý thức làm việc của sinh viên:

Hà Nội, ngày… tháng….năm 2022

Giảng viên hướng dẫn

(Ký và ghi rõ họ tên)

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 4

Mục lục

Lời cảm ơn

Đặt vấn đề

Danh mục hình vẽ

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1 Hệ thống gợi ý

1.1.1 Hệ thống gợi ý là gì?

1.1.2 Sự quan trọng của hệ thống gợi ý

1.1.3 Ứng dụng

1.2 Mô hình hóa chủ đề văn bản

1.2.1.Latent Semantic Allocation

1.2.2 LDA

1.3 Cơ sở lý thuyết

1.3.1 Cosine similarity

1.3.2 SVD

1.3.3 Tf – idf

CHƯƠNG 2: CÁC PHƯƠNG PHÁP GỢI Ý

2.1 Hệ thống gợi ý dựa trên nội dung

2.1.1 Mô hình tổng quan

2.1.2 Cách thức hoạt động

2.1.3 Ưu điểm

2.1.4 Nhược điểm

2.2 Hệ thống gợi ý dựa trên người dùng – lọc cộng tác

2.2.1 Mô hình toán học

2.2.2 Cách thức hoạt động

2.2.3 Ưu điểm

2.2.4 Nhược điểm

2.3 Hệ thống gợi ý sử dụng phương pháp mô hình hóa chủ đề

2.3.1 Hệ thống gợi ý dựa trên nội dung sử dụng mô hình hoá chủ đề

2.3.2 Cách thức hoạt động

2.3.3 Ưu điểm

2.3.4 Nhược điểm

CHƯƠNG 3: XÂY DỰNG HỆ THỐNG GỢI Ý

3.1 Thu thập và xử lý dữ liệu

Trang 5

3.1.1 Thu thập 41

3.1.2 Xử lý dữ liệu 41

3.2 Đào tạo mô hình LDA 45

3.2.1 Xác định số lượng chủ đề cho mô hình 45

3.2.2 Đào tạo mô hình LDA 47

3.3 Xây dựng hệ thống gợi ý bằng LDA 50

3.3.1 Xây dựng ma trận document - topic 50

3.3.2 Gợi ý bài viết 51

3.4 Kết quả 52

KẾT LUẬN 53

Tài liệu tham khảo 55

5

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 6

Lời cảm ơn

Vốn dĩ cuộc đời dài mấy chục năm nhưng chỉ cho ta vỏn vẹn vài nămthanh xuân tuổi trẻ, vậy mà trong khoảng thời gian ngắn ngủi đấy, vừa phải họctập, vừa phải lớn lên, trưởng thành, trải qua không biết bao nhiêu thăng trầmcảm xúc Nhưng cũng trong những năm tháng thanh xuân ấy tôi có Bách Khoa ởbên, có Toán Tin là nhà Nếu như nói cuộc đời là một chuyến tàu thì Bách Khoachính là một điểm dừng chân mà tôi không nỡ rời xa nhất

Vẫn nhớ những ngày đầu còn lạ lẫm bước chân vào trường, cầm trên tay tờgiấy báo trúng tuyển mà lòng còn hân hoan vui sướng, thế mà bây giờ cũng sắpkhép lại chặng đường bốn năm mang tên Bách Khoa Đi qua những năm thángBách Khoa, ta mới thấy tuổi trẻ đáng trân trọng như thế nào

Cảm ơn Bách Khoa, cảm ơn Toán Tin đã trang bị cho tôi những hànhtrang để tôi có thể bước đi tiếp trên những chặng đường của mình Đặc biệt, tôixin gửi lời cảm ơn đến cô TS.Nguyễn Thị Thanh Huyền đã tận tình hướng dẫn,chỉ bảo để em có thể hoàn thành đồ án này Tôi cũng xin gửi lời cảm ơn sâu sắctới gia đình, bạn bè và những người bạn đã luôn ở bên cạnh ủng hộ, động viên,giúp tôi có thêm nhiều niềm vui, động lực để học tập cũng như hoàn thành đồ ánnày Cảm ơn tất cả mọi người!

Trang 7

Đặt vấn đề

Ngày nay, việc sử dụng Internet là một tất yếu của cuộc sống VớiInternet, chúng ta có thể truy cập mọi thông tin trên toàn thế giới một cáchnhanh chóng, dễ dàng đọc bất cứ một bài báo, bài viết nào chỉ với một chiếcđiện thoại thông minh hay một chiếc ipad, laptop Nhu cầu tìm kiếm sản phẩm,tìm kiếm thông tin, bài viết ngày càng gia tăng Với lượng thông tin khổng lồtrên Internet cùng với lượng người dùng tăng lên đáng kể, việc tìm kiếm, liên kết

và cung cấp cho khách hàng những thông tin theo sở thích và thị hiếu rất quantrọng Một trong những thách thức là người dùng làm thế nào để lựa chọn đượcsản phẩm, hay các tin tức đáp ứng đúng nhu cầu tìm kiếm của họ? Người dùngthường gặp các vấn đề khó khăn trong việc tìm kiếm các sản phẩm, các bài viếtbởi lượng bài viết ngày càng nhiều, việc tìm kiếm tốn thời gian hơn Vấn để đặt

ra là làm sao để người dùng có thể tìm được sản phẩm, các bài viết trong vô vànlượng dữ liệu mà họ đang tìm?

Do đó, hệ thống gợi ý đã được xây dựng để giải quyết vấn đề trên Hệthống gợi ý sẽ hỗ trợ người dùng tìm kiếm đúng các thông tin cần thiết, dự đoán

sở thích hay xếp hạng mà người dùng người dùng có thể dành cho một sảnphẩm, một bài viết mà người dùng xem xét trong quá khứ Từ đó gợi ý chongười dùng các sản phẩm liên quan Với các bài viết, việc khai thác nội dunggặp nhiều khó khăn đối với những văn bản có độ dài khác nhau Các bài viếtđược biểu diễn để khai thác mối quan hệ giữa chúng một cách hiệu quả ngàycàng trở nên tinh vi và phức tạp hơn Các mô hình chủ đề ẩn là một bước tiếnquan trọng trong việc mô hình hóa dữ liệu văn bản Hai kĩ thuật về phân tích chủ

đề sử dụng mô hình ẩn là Probabilistic Latent Sematic Analysis(pLSA) vàLatent Dirichlet Allocation (LDA)

Trong đồ án này, em xin lựa chon đề tài:” Xây dựng hệ thống gợi bằngphương pháp mô hình hóa chủ đề” nhằm xây dựng hệ thống, tích hợp hệ gợi ý

để tối ưu hóa việc hiển thị nội dung các bài báo phù hợp với từng đối tượngngười đọc

7

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 8

Danh mục hình vẽ

Hình 1: Hệ thống gợi ý 10

Hình 2: Tổng quan mô hình LSA 14

Hình 3: Ma trận documents – term 14

Hình 4: tf-idf cho giá trị trong ma trận trận documents – term 15

Hình 5: Phân tích ma trận gồm m documents và n từ thành k topic 15

Hình 6: Mọi tài liệu bao gồm một phân phối các chủ đề 16

Hình 7: Mỗi chủ đề được đặc trưng bởi sự phân bố các từ 16

Hình 8: Tài liệu với chủ đề ẩn 17

Hình 9: Ước lượng tham số cho tập dữ liệu 17

Hình 10: Xây dựng mà trận phân phối topic 40

Hình 11: Biểu đồ Coherence score 46

Hình 12: Biểu đồ Jacar 47

Hình 13: Mô hình tổng quan đào tạo mô hình LDA 47

Hình 14: Phân bố topic 50

Hình 15: Ma trận documents – topics 50

Hình 16: Hệ thống gợi ý bài viết 51

Trang 9

Danh mục bảng

Bảng 1: Unility Matrix biểu diễn các giá trị "rating" giữa người dùng và sản phẩm 24

Bảng 2: Feature vector 26

Bảng 3: Thông tin của users quan tâm tương ứng 26

Bảng 4: Mức độ quan tâm của user 27

Bảng 5: Feature Vector (Thiếu nhi, Kỹ năng) 28

Bảng 6: Rating 31

Bảng 7: Tính các giá trị trung bình rating của từng user_i 32

Bảng 8: Chuẩn hóa Utility matrix 33

Bảng 9: Dự đoán các giá trị rating còn thiếu 34

Bảng 10: Quay lại các giá trị trung bình rating của từng user_i 35

Bảng 11: Giá trị trung bình rating của từng item 35

Bảng 12: Chuẩn hóa ma trận 36

Bảng 13: Tính toán độ tương đồng giữa 2 item 36

Bảng 14: Dự đoán các rating còn thiếu 36

Bảng 15: Chuẩn hóa ma trận 37

Bảng 16: Chuyển markdown sang text 42

Bảng 17: Parse HTML 44

Bảng 18: Tokenize 44

Bảng 19: Coherence Score 45

Bảng 20: Bảng jaccard similarity score 46

Bảng 21: Dictionary 48

Bảng 22: Corpus 49

Bảng 23: Topic của mô hình LDA 49

Bảng 24: Kết quả gợi ý một số bài viết 52

9

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 10

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

là ứng dụng rõ ràng nhất và hữu dụng nhất của Khoa học dữ liệu (Data Science)trong thời đại công nghệ số hiện nay Chúng ta có thể đã gặp ứng dụng của hệthống này khi qua các trang Amazon, Netflix, Vinabook, Tiki … Ngoài nội dung

mà bạn đang xem, các trang nói trên còn hiển thị các nội dung liên quan, giữngười dùng ở lại trên trang web lâu hơn, tăng được số lượng khách hàng tiềmnăng…

Hình 1: Hệ thống gợi ý

Nội dung liên quan nói trên chính là các gợi ý, là kết quả được tính toándựa trên việc thu thập dữ liệu về người dùng như khi mua hàng, khi đưa ra cácđánh giá cá nhân hoặc dựa trên mối quan hệ giữa người dùng và món hàng, hay

Trang 11

giữa các món hàng với nhau Việc thực hiện tính toán được xây dựng trên cácthuật toán Học máy (Machine Learning), đưa ra các dự đoán tốt nhất về sảnphẩm mà người dùng có thể thích, giúp gia tăng số lượng sản phẩm bán được.

1.1.2 Sự quan trọng của hệ thống gợi ý

Hệ gợi ý được xác định ở đây chính là kĩ thuật của trí tuệ nhân tạo, đượcnghiên cứu để cung cấp những gợi ý tự động tới người dùng hoặc khách hàng

sự bùng nổ của Internet như thời đại hiện nay, thương mại điện tử này càng pháttriển Với mạnh mẽ Người mua và người bán không cần đến gặp gỡ trực tiếp, mà

họ giao dịch với nhau qua trang web Việc tích hợp các kĩ thuật gợi ý(Recommender Systems) trong các website bán hàng như 1 chuyên gia tư vấn,

dự đoán thông minh sở thích của khách hàng và cung cấp những thông tin mà họthực sự quan tâm Các kỹ thuật gợi ý đã và đang được nghiên cứu, ứng dụngmạnh mẽ mang lại lợi ích cho cả người cung cấp và sử dụng dịch vụ Nếu quảngcáo sản phẩm tới đúng người dùng, khả năng các món hàng được mua sẽ nhiềuhơn Nếu gợi ý một video mà đúng sở thích của người dùng hoặc gợi ý kết bạnđúng đối tượng, họ sẽ ở lại bên nên nền tảng của bạn lâu hơn Khi đó, lợi nhuận

từ phía quảng cáo sẽ tăng lên

Hệ thống gợi ý mang lại nhiều mục đích to lớn cho doanh nghiệp, baogồm:

Khả năng đưa ra các dịch vụ cá nhân hóa, hướng tới từng đối tượng khách hàng cụ thể

Tăng mức tín nhiệm và trung thành của khách hàng Tăng doanh thu, tăng tỉ lệ chuyển đổi của khách hàng Thêm hiểu biết về khách hàng

1.1.3 Ứng dụng

Có rất nhiều ứng dụng liên quan đến tích hợp hệ thống gợi ý vào thực tếtrong nhiều lĩnh vực khác nhau, như của Amazon, Ebay, Youtube, Netflix,LastFM, …

11

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 12

Gợi ý sản phẩm

Trên các trang thương mại điện tử, hệ hống gợi ý đóng vai trò như mộtchuyên gia thông minh hỗ trợ khách hàng trong quá trình tìm và chọn mua sảnphẩm Amazon được coi là một trong những hệ thống gợi ý tiên phong, đặc biệttrong thương mại và hệ thống gợi ý đã sử dụng rất thành công ở Amazon Hệthống này sử dụng đánh giá của người dùng, hành vi của người dùng và lịch sửhoạt động để làm dữ liệu dự đoán Ratings ở Amazon có thang điểm từ 1 đến 5,còn lịch sử mua hàng và lịch sử hoạt động có thể dễ dàng được thu thập bằng khi

mà user thực hiện đăng nhập trên trang web của Amazon Những gợi ý chongười dùng được hiển thị trên trang chủ của Amazon, ngay khi người dùng truycập vào trang web Trong nhiều trường hợp, những items được gợi ý cũng đượcgiải thích, ví dụ như trong mối quan hệ của sản phẩm được gợi ý với những sảnphẩm mà user đã mua trước đó Ngoài ra, một số trang thương mại điện tử khácnhư Shopee, Lazada, Tiki, … cũng đã ứng dựng rất tốt hệ thống gợi ý để đưa ranhững sản phẩm gợi ý cho khách hàng

Gợi ý bài hát

Last.fm là một trang web (hệ thống) gợi ý bài hát nổi tiếng trên thế giới.Dựa trên các xếp hạng mà người dùng đã cho trên các bài hát trong quá khứ, hệthống gợi ý có những bài hát kế tiếp mà người dùng dự doán là sẽ thích chúng

Ở Việt Nam cũng có rất nhiều trang nghe nhạc trực tuyến có tích hợp kĩ thuậtgợi ý như: zingmp3.vn, nhccuatui.com, nhacso.net, … tuy nhiên phần lớn các hệthống này gợi ý dạng không cá nhân hóa, nghã là gợi ý dựa vào các bài hát cùng

ca sĩ, cùng thể loại, …

Gợi ý phim

Hệ thống gợi ý cũng được ứng dụng vào để đưa ra các gợi ý các bộ phim,các video cho khách hàng Một trong các hệ thống gợi ý phim nổi tiếng trên thếgiới là Netflix.com Hệ thống này cũng dựa trên các đánh giá, các tương táctrong quá khứ để dự đoán sở thích của người dùng trên các bộ phim mà họ chưaxem

Trang 13

Gợi ý kết bạn

Facebook thường gợi ý cho chúng ta kết bạn với những người mà chúng ta

có thể quen, nhằm mục đích tăng số lượng kết nối trên mạng xã hội Kiểu gợi ýnày với mục tiêu có chút khác biệt so với hệ thống gợi ý sản phẩm Trong khi hệthống gợi ý sản phẩm trực tiếp tạo ra lợi nhuận cho người cung cấp dịch vụ bằngcách tăng doanh số sản phẩm bán được, thì trong mạng xã hội, việc gợi ý kết bạnnhằm tăng số lượng kết nối trên mạng xã hội và từ đó nâng cao trải nghiệm củangười dùng Cùng với việc tăng được số lượng kết nối, lợi nhuận thu được từviệc quảng cáo cũng sẽ tăng lên

Gợi ý bài viết, tin tức

Các cổng tin tức phổ biến như Google News, Yahoo News, The New YorkTimes, cùng với nhiều cổng thông tin khác đã thu hút được sự chú ý ngàycàng tăng của độc giả trên Internet Các hệ thống gợi ý tin tức trực tuyến đãđược các nhà nghiên cứu đề cập đến trong những năm qua, bằng cách sử dụngcác phương pháp khác nhau

1.2 Mô hình hóa chủ đề văn bản

1.2.1 Latent Semantic Allocation

LSA (Latent Semantic Allocation) [4] là viết tắt của phân tích ngữ nghĩatiềm ẩn, là một trong những kĩ thuật nền tảng được sử dụng trong mô hình hóachủ đề Có thể hiểu, phân tích ngữ nghĩa là đưa rả cách “hiểu” văn bản qua mốiliên quan ngữ nghĩa của văn bản với tập khái niệm cho trước Khái niệm là ýchung và trừu tượng về một vật, do hoặt động của trí tuệ nhân tạo nên qua cáckinh nghiệm đúc kết thành Các khái niệm này được biểu thị nghĩa thông qua tập

từ khóa sử dụng trong nó Ví dụ, khi nói đến “bệnh viện” thì ta nghĩ ngay đếnbác sĩ, y tá, bệnh nhân, thuốc, v.v…

Ý tưởng của phương pháp là từ một ma trận tài liệu và các thuật ngữ, và phân tách nó thành hai ma trận riêng biệt:

Một ma trận document – topicMột ma trận topic – term

13

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 14

Hình 2: Tổng quan mô hình LSA

Các bước thực hiện:

Bước 1: Tạo ma trận A - Ma trận document - term

Bỏ qua trật tự xuất hiện của các từ, tập tài liệu D = {d1, d2, …, d n} chứa tập

từ W = { w1, w2, …, d m} Giá trị phần tử a ij của ma trận chính là chỉ số idf của từ wj trong tài liệu d i

tf-Hình 3: Ma trận documents – term

Trong đó, các chỉ số trong ma trận được tính bằng điểm tf – idf

Trang 15

Hình 4: tf-idf cho giá trị trong ma trận trận documents – term

Bước 2: Áp dụng SVD - phân tích ma trận gốc thành 3 ma trận với số

V: Ma trận term - topic, ma trận trực giao theo cột thỏa mãn VTxV= I

Hình 5: Phân tích ma trận gồm m documents và n từ thành k topic

Trang 16

biểu diễn bởi một hỗn hợp các chủ đề, mỗi chủ đề được đặc tả bởi phân phối củacác nhóm từ.

Hình 6: Mọi tài liệu bao gồm một phân phối các chủ đề 1

Hình 7: Mỗi chủ đề được đặc trưng bởi sự phân bố các từ 2

LDA dựa trên ý tưởng: Mỗi tài liệu là sự trộn lẫn của nhiều chủ đề(topic)

Về bản chất, LDA là một mô hình Bayesian 3 cấp (three- level hierarchicalBayes model: copus level, document level, word level) trong đó mỗi phần của

mô hình được coi như là một mô hình trộn hữu hạn trên cơ sở tập các xác suấtchủ đề

1 https://www.youtube.com/watch?v=DWJYZq_fQ2A

2 https://www.youtube.com/watch?v=DWJYZq_fQ2A

Trang 17

Hình 8: Tài liệu với chủ đề ẩn 3

Ước lượng tham số cho mô hình LDA: Cho một corpus của M tài liệu biểudiễn bởi D = {d1, d2, …, dm}, trong đó, mỗi tài liệu m trong corpus bao gồm nxm,

3 https://medium0.com/m/the-complete-guide-for-topics-extraction-in-python-a6aaa6cedbbc

17

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 18

- Tham số đầu vào gồm α và β:

α: là tham số của phân phối tiên nghiệm Dirichlet của topic đối với mỗi văn bản

β: là tham số của phân phối tiên nghiệm Dirichlet của topic đối với mỗi từ

θ

m: phân phối của topic trong document thứ m

Zm, n: là topic của từ thứ m đối với văn bản thứ n Là một số nguyên

có giá trị trong khoảng [1, k]

Wm, n: là vị trí trong từ điển của từ thứ n thuộc văn bản m Giá trị là một số nguyên trong khoảng [1, V]

φ⃗

k : phân phối của các từ được sinh ra từ topic zm, n

m: số lượng các tài liệu

Nm: số lượng các từ trong tài liệu thứ mK: số lượng các topic ẩn

- LDA sinh ra một tập các từ wm, n cho các văn bản ⃗

d m bằng cách: Với mỗivăn bản m, sinh ra phân phối topic θ⃗

m cho văn bản Với mỗi từ zm, n được lấy mẫu dựa vào phân

phối topic trên

Với mỗi topic index zm, n dựa vào phân phối φ

k ,

wm, n được sinh

ra φ

k: được lấy mẫu một lần cho toàn bộ corpus

- Trong mô hình LDA biến duy nhất nà chúng ta quan sát được là các từ

wmn, các biến còn lại đều là những nhân tố ẩn được sinhh ra từ các phân phối xác định.Trong đó quan trọng nhất là một phân phối tiên nghiệm Dirichlet được sử dụng để mô hìnhhóa các cặp topic - word Phân phối của một topic qua các từ thường có skew lớn (phânphối dạng nhọn, đuôi mỏng) để xác xuất tập trung vào một nhóm nhỏ các từ

- Ta cũng có thể coi rằng θ⃗m và φ⃗ k tương tự như những ma trận được tạo ra

từ phép phân tích suy biến từ ma trận document – word ở thuật toán LSA

1.3 Cơ sở lý thuyết

18

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 19

Cho hai vectơ chứa các thuộc tính, A và B, độ tương tự cosine, cos(θ),),

được thể hiện bằng tích vô hướng và độ lớn là

với Ai và Bi là thành phần của vectơ A và B tương ứng

Độ tương tự có giá trị −1 có nghĩa là trái nghĩa hoàn toàn, với giá trị 1nghĩa là giống nhau hoàn toàn, với 0 có nghĩa là trực giao hay tương quan

(decorrelation), trong khi các giá trị ở giữa biểu thị sự giống nhau hoặc không

giống nhau ở mức trung gian

Trang 20

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 21

¿ U⋅Σ⋅V T V ⋅Σ T ⋅U T

¿ U ⋅ ΣΣ ⋅U−1

Dấu bằng thứ 3 xảy ra vì V T V =I do V là 1 ma trận trực giao

Các tham số σ2122 , … chính là các trị riêng của A A T Ma trận A A T luôn là matrận xác định dương nên các trị riêng của nó là không âm Các σ i là căn bậc haicủa các trị riêng của A A T còn được gọi là singular value của A Theo đó phươngpháp chung được gọi là Singular Value Decomposition

Mỗi cột của U chính là 1 vector riêng của A A T Ta gọi mỗi cột này là left singular vectơ của A Tương tự như thế, A T A=V Σ T ΣV T là các cột của V cònđược gọi là các right - singular vectơ của A

-Các bước thực hiện:

Bước 1: Tìm trị riêng của ma trận ATA và sắp xếp chúng theo thứ tự giảmdần, kí hiệu là i

Bước 2: Tính số các trị riêng khác 0 của ma trận ATA

Bước 3: Tìm các vectơ riêng trực giao của ma trận ATA tương ứng với cáctrị riêng i , và sắp xếp chúng theo trật tự tương ứng với các trị riêng dướidạng các vectơ cột của ma trận V RNxN

Bước 4: Ma trận chéo RMxN chứa p = min{m, n} trị riêng trên đường chéochính, khi đó i √ λ i

Bước 5: Tính các vectơ cột đầu tiên của ma trận U RMxM theo công thứcsau:

ui -1

Avi (i = 1, 2, …, r)

Bước 6: Tìm m - r vectơ còn lại của ma trận U bằng cách sử dụng phương

pháp chéo hóa trực giao

1.3.3 Tf – idf

Mỗi từ trong không gian vectơ sẽ có một trọng số, có nhiều phương phápxếp hạng khác nhau, nhưng Tf - Idf (term frequency - inverse documentfrequency) là một phương pháp phổ biến để đánh giá và xếp hạng một từ trongmột tài liệu TF - IDF [3] là một kĩ thuật sử dụng trong khai phá dữ liệu văn

20

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 22

bản, một phương thức thống kê được biết đến rộng rãi để xác định độ quan trọngcủa một từ trong đoạn văn bản trong một tập nhiều đoạn văn bản khác nhau Giá trị càng cao thể hiện độ quan trọng cao và nó phụ thuộc vào số lần từ xuất hiện trong văn bản Tf - Idf chuyển đổi dạng biểu diễn văn bản thành dạng không gian vectơ (VSM), hoặc thành những vectơ thưa thớt Công thức tổng quát của

phương pháp Tf-Idf:

TF−IDF i , j =tf (t) idf (t)

Trong đó:

- Tf (Term Frequency): Là tần suất xuất hiện của một từ trong một đoạn

văn bản Với những đoạn văn bản có độ dài khác nhau, sẽ có những từ xuất hiện nhiều ởđoạn văn bản dài thay vì đoạn văn bản ngắn Vì thế, tần suất này thường được chia cho độdài của đoạn văn bản như một phương thức chuẩn hóa (normalization) Tf được tính bởicông thức:

Tf(t) = f (t T ,d)Với:

t là một từ trong đoạn văn bản

f (t, d) là tần suất xuất hiện của t trong đoạn văn bản

d T là tổng số từ trong đoạn văn bản đó

- Idf (Inverse Document Frequency): Tính toán độ quan trọng của một

tà Khi tính toán tần số xuất hiện TF, mỗi từ đều quan trọng như nhau, nhưng còn một số từthường được sử dụng nhiều nhưng không quan trọng như: “và”, “nhưng”, “vì thế”, “trong”,trên”, “đó”, … để thể hiện ý nghĩa cho đoạn văn Vì thế, chúng ta cần một phương thức bùtrừ những từ xuất hiện nhiều lần và tăng độ quan trọng của những từ ít xuất hiện nhưng có ýnghĩa đặc biệt cho một số đoạn văn bản hơn bằng cách tính Idf:

Trang 23

Tập | tϵ D : tϵd| là số văn bản chứa từ t, với điều kiện t xuất hiện trong văn bản d

22

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 24

CHƯƠNG 2: CÁC PHƯƠNG PHÁP GỢI Ý

2.1 Hệ thống gợi ý dựa trên nội dung

Hệ thống gợi ý dựa trên nội dung (Content - Based Filtering) [9] [10] là

phương pháp đánh giá đặc tính của items được “recommend” dựa trên mối quan

hệ giữa nội dung các sản phẩm và thông tin người dùng Như tên gọi của phươngpháp này, dĩ nhiên nó phụ thuộc vào thuộc tính của các sản phẩm, đặc biệt rấtmạnh đối với các sản phẩm giàu nội dung như các sản phẩm thuộc lĩnh vựctruyền thông, quảng cáo, y tế Đặc biệt có thể gợi ý các item mới, thích hợp khidanh sách sản phẩm được cập nhật liên tục và giải quyết tốt vấn đề “Item coldstart” sẽ được nói kĩ hơn trong phần sau của báo cáo

Ví dụ: Cách tiếp cận này có thể sử dụng thông tin duyệt lịch sử, chẳng hạnnhư blog mà người dùng đã đọc và đặc điểm của các blog đó Nếu người dùngthường đọc các bài báo về Linux hoặc có khả năng để lại bình luận trên các blog

về kỹ thuật phần mềm, Content - Based Filtering có thể sử dụng lịch sử này đểxác định và giới thiệu nội dung tương tự (bài viết trên Linux hoặc các blog khác

về kỹ thuật phần mềm) Nội dung này có thể được định nghĩa bằng tay hoặc tựđộng chiết xuất dựa trên các phương pháp tương tự khác

2.1.1 Mô hình tổng quan

Như đã đề cập, thường có hai thực thể chính trong các hệ thống gợi ý là

users và items Mỗi user sẽ có mức độ quan tâm tới từng item là khác nhau.

Mức độ quan tâm này nếu đã biết trước, được gán cho một giá trị ứng với mỗi

cặp user-item Giả sử rằng mức độ quan tâm được đo bằng giá trị user đánh giá cho item, ta tạm gọi giá trị này là các “rating” Các giá trị rating đó thường gom

vào 1 tập (set), nhóm xác định, ví dụ: các user có thể đánh giá từ 1-5 sao cho 1sản phẩm, dựa trên trải nghiệm người dùng, thông tin mà sản phẩm đó cung cấp.Tập hợp tất cả các ratings, bao gồm cả những giá trị chưa biết cần được dự đoán,

tạo nên một ma trận gọi là Utility matrix Thông thường, các ma trận đó là các

ma trận sparse (thưa thớt), khi phần lớn không tồn tại các cặp user-item dựa

trên rating, hay ngoài trường hợp user cho sao với 1 sản phẩm từ 1-5, sẽ có rất

Trang 25

nhiều các sản phẩm khác không hề có các đánh giá từ phía người dùng hay

Bảng 1: Unility Matrix biểu diễn các giá trị "rating" giữa người dùng và sản phẩm

Chú ý rằng, kích thước của ma trận thường rất lớn, ví dụ với 100.000 user

và 100.000 sản phẩm sẽ sản sinh ra 1 ma trận unility có kích thước (100.000 x100.000), 1 số lượng phần tử “rating” tương đối lớn Phần lớn các ô trong matrận đều bỏ trống, đồng nghĩa với việc người dùng chưa đánh giá sản phẩm đó

Trong thực tế, ma trận user-item còn thưa thớt hơn rất nhiều, khi mà số lượt

rating chỉ là 1 phần rất nhỏ trong tổng số sản phẩm thực tế

Unitity matrix chính là ma trận trọng số thể hiện mối liên hệ giữa đối

tượng A và B Với từng bài toán cụ thể, Unitily matrix là khác nhau và thành phần tạo nên ma trận cũng khác nhau Thông thường, Unitily matrix được tạo thành từ 2 yếu tố là users và items Trong trường hợp khác, Unitily matrix có

thể bao gồm 2 thành phần, ví dụ tập các văn bản và tập các từ Trọng số của matrận thể hiện mức độ quan trọng của từng từ trong từng đoạn văn bản Qua đó,rất phù hợp với những bài toán xử lí ngôn ngữ tự nhiên, ví dụ tìm kiếm sự tươngđồng giữa các đoạn văn bản hoặc rút ngắn văn bản nhưng vẫn giữ được nội dungchính (Text Summarization),

Xây dựng Utility Matrix:

Xây dựng Utility Matrix là bước quan trọng nhất để gợi ý sản phẩm tớingười dùng Tuy nhiên, dữ liệu đáp ứng đủ để xây dựng Utility Matrix thườngkhá khó khăn

Có 2 hướng tiếp cận chính để xác định các giá trị rating cho mỗi cặp user-item:

24

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 26

- Cách thứ 1: Có thể nhờ người dùng “rating” sản phẩm Tuy nhiên, cách

này không thực sự hiểu quả với đa phần các hệ thống Recommend System Tuy nhiên,

cách tiếp cận của các trang bán hàng trực tuyến rất hạn chế, vì thường người dùng rất ít khirate sản phẩm Và nếu có, thường đến từ các đánh giá của những người dùng sẵn sàng ratehoặc đánh giá qua loa, đại khái

Ví dụ: Một số trang thương mại điện tử khuyến khích người dùng đánhgiá sản phẩm sau khi họ mua hàng Amazon luôn nhờ người dùng đánhgiá các sản phẩm của họ bằng cách gửi các email nhắc nhở nhiều lần.Rất nhiều hệ thống khác cũng làm việc tương tự

- Cách thứ 2: Là qua hành vi của người dùng Một số các trang cung cấp

hay truyền tải nội dung như youtube, facebook, twitter, … thì có vẻ dễ dàng hơn khi đưa racác rating (like hoặc dislike) cho sản phẩm (các bài post, video, tweet, )

Ví dụ: Nếu một người dùng mua một sản phẩm trên Amazon, xem mộtclip trên Youtube (có thể là nhiều lần), hay đọc một bài báo, thì có thểkhẳng định rằng ngừời dùng đó thích sản phẩm đó Facebook cũng dựatrên việc chúng ta thích những nội dung nào để hiển thị newsfeed nhữngnội dung liên quan

Thường thì với cách này, ta chỉ xây dựng được một ma trận với cácthành phần là “1” và “0”, với “1” thể hiện người dùng thích sản phẩm,

“0” thể hiện chưa có thông tin Trong trường hợp này, “0” không cónghĩa là thấp hơn “1”, nó chỉ có nghĩa là người dùng chưa cung cấpthông tin Chúng ta cũng có thể xây dựng ma trận với các giá trị cao hơn

“1” thông qua thời gian hoặc số lượt mà người dùng xem một sản phẩmnào đó Đôi khi, nút dislike cũng mang lại những lợi ích nhất định cho

hệ thống, lúc này có thể gán giá trị tương ứng bằng “-1” chẳng hạn

Trang 27

biểu diễn dưới dạng toán học là một feature vector (vectơ hóa) Trong những

trường hợp đơn giản, feature vector được trực tiếp trích xuất từ item.

Một số phương pháp thường được sử dụng để xây dựng feature vector là:

Thể loại: là yếu tố rất quan trọng, nhiều người dùng thích đọc các cuốn

sách về văn học, 1 số các lại thích đọc sách về trinh thám nhiều hơn,

(Thiếu nhi) (Kỹ năng)

Bảng 2: Feature vector

26

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 28

Đắc nhân tâm 0 0 5

Bảng 3: Thông tin của users quan tâm tương ứng

Theo như bảng bên trên, chúng ta sẽ đơn giản hóa bằng việc xây dựng 1

feature vector 2 chiều cho mỗi bài hát: mức độ thiếu nhi và mức độ kỹ

năng.

Cơ sở toán học

Giả sử rằng số user là N, số items là M Ta quy định ma trận R là ma trậnbiểu diễn user đã rate item đó hay chưa (0 nếu chưa rate, 1 nếu đã rate)

Ma trận Y là ma trận utility matrix, phần tử tại ô (m, n) biểu diễn mức độ

quan tâm của user n với item m ( giá trị rating lâý khoảng từ 1 đến 5) và được

biểu thị bằng dấu “?” nếu chưa được rating Bài toán đặt ra rằng: với lượng data

đã cung cấp ở trên, cùng với các giá trị đã cho trong các ma trận R, Y, từ đó cố

gắng xác định giá trị y ij bị trống (user chưa rate) và xây dựng mô hình kèm theo

Trong ví dụ trên, đơn giản hóa bài toán bằng việc xây dựng 1 feature

vectơ 2 chiều cho mỗi cuốn sách: mức độ Thiếu Nhi và mức độ Kỹ năng của

mỗi cuốn sách Đặt các feature vector cho mỗi cuốn sách là x i với i = {1, ,5}

Ở đây, đơn giản sẽ sử dụng mô hình tuyến tính để áp dụng lên bài toán

regression này Giả sử mỗi user j nào đó sẽ tồn tại 1 vectơ gọi là vectơ trọng số

w i, từ đó có thể dự đoán việc user j sẽ rating cho item i với số sao là bao nhiêu

bằng 1 công thức đơn giản:

y ij =(w j)T x i = stars

Ví dụ:

27

Trang 29

Tuổi trẻ đáng giá bao nhiêu 0 0 5 ?

Bảng 4: Mức độ quan tâm của user

(Thiếu nhi) (Kỹ năng)

Bảng 5: Feature Vector (Thiếu nhi, Kỹ năng)

Giả sử ta có 1 vectơ trọng số w1 của người dùng thứ nhất là Liên:

Giả sử rằng đã tìm được mô hình cho mỗi user, minh họa bởi vectơ hệ số

bias b j sao cho mức độ quan tâm của mỗi user tới mỗi item có thể được

Trang 30

- Biểu diễn mỗi sản phẩm dưới dạng một vectơ thuộc tính (hay vectơ hóa

thông tin sản phẩm)

- Recommend các sản phẩm tương tự nhau, dựa trên thông tin của các sảnphẩm, hoặc các hành vi của người dùng trong quá khứ, thông qua các phương pháp đánh giá

độ tương tự của 2 vector, ví dụ: cosine similarity hoặc Pearson similarity, …

- Hoặc có thể xây dựng profile người dùng theo các thuộc tính sản phẩm

và gợi ý sản phẩm có thuộc tính phù hợp với profile người dùng

2.1.3 Ưu điểm

Content-based Recommendation Systems là phương pháp đơn giản

nhất trong các hệ thống gợi ý Đặc điểm của phương pháp này là việc xây dựng

mô hình cho mỗi user không phụ thuộc vào các users khác Việc làm này có lợi

thế là tiết kiệm bộ nhớ và thời gian tính toán Đồng thời, hệ thống có khả năngtận dụng các thông tin đặc trưng của mỗi item như được mô tả trong bản mô tả(description) của mỗi item Bản mô tả này có thể được xây dựng bởi nhà cungcấp hoặc được thu thập bằng cách yêu cầu users gắn tags cho items Việc xây

dựng feature vector cho mỗi item thường bao gồm các kỹ thuật Xử lý ngôn

ngữ tự nhiên (Natural Language Processing - NLP).

Việc xây dựng mô hình cho mỗi users có thể được coi như bài toán

Regression hoặc Classsification với training data là cặp dữ liệu (item profile,

rating) mà user đó đã rated Item profile không phụ thuộc vào user, nó thườngphụ thuộc vào các đặc điểm mô tả của item hoặc cũng có thể được xác định bằngcách yêu cầu người dùng gắn tag

2.1.4 Nhược điểm

Thứ nhất: Khi xây dựng mô hình cho một user, các hệ thống

Content-Based không tận dụng được thông tin từ các users khác Những thông tin này

thường rất hữu ích vì hành vi mua hàng của các users thường được nhóm thànhmột vài nhóm đơn giản; nếu biết hành vi mua hàng của một vài users trongnhóm, hệ thống nên suy luận ra hành vi của những users còn lại

Ví dụ đơn giản với trường hợp 2 user có những đặc điểm giống nhau khilựa chọn các sản phẩm; Use r1 lựa chọn các sản phẩm A, B, C, D; User2lựa chọn

29

Trang 31

các sản phẩm A, B, C, E; vậy liệu hệ thống có đủ khả năng nhận biết được mốitương đồng giữa 2 user, từ đó dẫn tới việc recommend sản phẩm D cho

hoặc ngược lại

Thứ hai: không phải lúc nào chúng ta cũng có đầy đủ bản mô tả cho mỗi item Việc yêu cầu users gắn tags còn khó khăn hơn vì không phải ai cũng sẵn

sàng làm việc đó; hoặc có làm nhưng sẽ mang xu hướng cá nhân

Khi áp dụng các thuật toán Natural Language Processing (xử lí ngôn ngữ

tự nhiên) vào trong bài toán gợi ý cũng phức tạp hơn ở việc phải xử lý các từ gầnnghĩa, viết tắt, sai chính tả, hoặc được viết ở các ngôn ngữ khác nhau, đặc biệttrong các ngôn ngữ phức tạp về âm điệu như Tiếng Việt

2.2 Hệ thống gợi ý dựa trên người dùng – lọc cộng tác

Hệ thống gợi ý dựa trên người dùng – lọc cộng tác (CollabroativeFiltering) [9] [10] hoạt động dựa trên mô hình là những hành vi của người dùngtrước đó như: lịch sử giao dịch, để tìm các quy luật tương tác giữa người dùng(user) và các thông tin (item) Do đó những hệ thống gợi ý dựa trên cách tiếp cậnnày đều không quan tâm đến các thuộc tính của item, Nó có khả năng khai thácthông tin ngoài phạm vi của các thuộc tính thông tin Mô hình huấn luyện có thểxây dựng dựa trên hành vi của một người dùng, hoặc hiệu quả hơn, nó có thể từnhiều người dùng khác có cùng đặc điểm Khi làm việc với hành vi của người

dùng khác, Collaborative Filtering sử dụng kiến thức nhóm để tạo ra đề xuất

dựa trên những người dùng tương tự Về bản chất, nó lọc trên những người cócùng sở thích, hay những người có cùng những hành vi tương tự, cùng bấm like,cho điểm đối với cùng một item Ví dụ, A, B đều thích đọc cuốn sách “Bảy bướctới mùa hè” của nhà văn Nguyễn Nhật Ánh, tức đều rate cho cuốn sách này 5 sao– tương ứng với mức đọ rất hài lòng Ta đã biết A cũng thích tác phẩm “Tôi thấyhoa vàng trên cỏ xanh”, 1 tác phẩm văn học khác và cũng của nhà văn NguyễnNhật Ánh, vậy nhiều khả năng B cũng thích bộ phim này

Khi đó, để xây dựng được hệ thống Collaborative Filtering RS, 1 số câu

hỏi được đặt ra là:

- Làm thế nào xác định được sự giống nhau giữa hai users?

- Khi đã xác định được các users gần giống nhau (similar users) rồi, làm thế nào dự đoán được mức độ quan tâm của một user lên một item?

30

TIEU LUAN MOI download : skknchat123@gmail.com

User2

Ngày đăng: 19/08/2022, 14:07

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w