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Ủ ĐỀ

58 8 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

Định dạng
Số trang 58
Dung lượng 784,57 KB

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

Nội dung

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àn lượng dữ liệuđề sử dụng mô hình ẩn là Probabilistic Latent Sematic AnalysispLSA và LatentDirichl

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

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

MSSV: 20185457

Lớp: Hệ thống thông tin 01 – K63

HÀ NỘI – 07/2022

2

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)

Trang 4

Mục lục

Lời cảm ơn 6

Đặt vấn đề 7

Danh mục hình vẽ 8

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

1.1 Hệ thống gợi ý 10

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

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

1.1.3 Ứng dụng 11

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

1.2.1 Latent Semantic Allocation 13

1.2.2 LDA 15

1.3 Cơ sở lý thuyết 19

1.3.1 Cosine similarity 19

1.3.2 SVD 19

1.3.3 Tf – idf 20

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

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

2.1.1 Mô hình tổng quan 23

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

2.1.3 Ưu điểm 29

2.1.4 Nhược điểm 29

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

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

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

2.2.3 Ưu điểm 38

2.2.4 Nhược điểm 38

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

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

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

2.3.3 Ưu điểm 40

2.3.4 Nhược điểm 40

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

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

4

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

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ành trang

để tôi có thể bước đi tiếp trên những chặng đường của mình Đặc biệt, tôi xin gửilờ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ắc tớ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 đồ án này.Cảm ơn tất cả mọi người!

6

Trang 7

đề khó khăn trong việc tìm kiếm các sản phẩm, các bài viết bởi lượng bài viếtngà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àn lượng dữ liệu

đề sử dụng mô hình ẩn là Probabilistic Latent Sematic Analysis(pLSA) và LatentDirichlet 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

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

8

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

Trang 10

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

Hệ thống gợi ý hay Recommendation System [1] là một dạng của hệ thốnglọc thông tin, nó được sử dụng để dự đoán sở thích hay xếp hạng mà người dùng

có thể dành cho một mục thông tin(item) nào đó mà họ chưa xem xét tới (item

có thể là bài báo, bộ phim, sách, âm nhạc, …) nhằm gợi ý các mục thông tin cóthể được quan tâm bởi người dùng Hệ thống gợi ý sẽ đưa ra các gợi ý dựa trênquá trình thu thập, xử lý và phân tích dữ liệu người dùng Trong hầu hết cáctrường hợp, hệ thống gợi ý được coi là bài toán dự đoán việc xếp hạng của cácsản phẩm (bài báo, bộ phim, cuối sách, …) chưa được người dùng biết đến Hệthống gợi ý 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 ứngdụ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 dungliên quan, giữ người dùng ở lại trên trang web lâu hơn, tăng được số lượngkhách hàng tiềm nă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

10

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ượngkhá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

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ật gợi ýnhư: zingmp3.vn, nhccuatui.com, nhacso.net, … tuy nhiên phần lớn các hệ thốngnà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

12

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

tiề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ântách nó thành hai ma trận riêng biệt:

 Một ma trận document – topic

 Một ma trận topic – term

13

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ứatập từ W = { w1, w2, …, d m} Giá trị phần tử a ij của ma trận chính là chỉ sốtf-idf của từ wj trong tài liệu d i

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

14

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

S: Ma trận chéo chứa các trị riêng của A

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

1.2.2 LDA

LDA (Latent Dirichlet Allocation) [8] là mô hình thuộc lớp mô hình sinhxác suất của một bộ văn bản Ý tưởng cơ bản của mô hình là mọi văn bản được

15

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

16

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ồmnxm, từ wi rút từ một tập từ vựng của các mục từ {t1, t2, …, tv}, V là số lượng cácmục từ t trong tập từ vựng LDA cung cấp một mô hình sinh đầy đủ chỉ ra kếtquả tốt hơn các phương pháp trước Quá trình sinh văn bản như hình vẽ sau:

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

Trong đó:

- Các khối vuông biểu diễn quá trình lặp Như vậy ta có thể thấy có 2 quátrình lặp lại liên tục trong LDA là quá trình lựa chọn topic và quá trìnhlựa chọn từ Các tham số được khởi tạo tiến trình ban đầu là α và β Từ

đó tính toán được phân phối hỗn hợp của topic ⃗θm và phân phối của từtheo topic wmn

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

17

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ớimỗi văn bản

 β: là tham số của phân phối tiên nghiệm Dirichlet của topic đối vớimỗ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ứ m

 K: 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ỗi vă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ânphối xác định Trong đó quan trọng nhất là một phân phối tiên nghiệmDirichlet được sử dụng để mô hình hóa các cặp topic - word Phân phốicủa một topic qua các từ thường có skew lớn (phân phối dạng nhọn, đuôimỏ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ánLSA

1.3 Cơ sở lý thuyết

18

Trang 19

1.3.1 Cosine similarity

Cosine similarity [1] là một cách đo độ tương tự giữa 2 vectơ khác khôngcủa một không gian tích vô hướng Độ đo tương tự này được định nghĩa bằnggiá trị cosine của góc giữa hai vectơ, và cũng là tích vô hướng của cùng cácvectơ đơn vị

Cosine của hai vectơ khác không được suy ra bằng cách sử dụng côngthức tích vô hướng Euclid:

A.B = ¿ ∨|A|∨⋅∨|B|∨⋅cos(θ)

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ônggiống nhau ở mức trung gian

1.3.2 SVD

Ý tưởng đằng sau SVD [7] vô cùng đơn giản, Một ma trận A m, n bất kỳđều có thể phân tích thành dạng:

A m, n =U m ,m Σ m,n (V¿¿n,n) T¿trong đó U ,V là các ma trận trực giao, Σ là ma trận đường chéo với cácphần tử trên đường chéo σ1≥ σ2≥ σ3≥ …≥ σ r ≥ 0 với rrank của ma trận A Sốlượng các phần tử khác 0 trong Σ chính là rank của ma trận A:

Trang 20

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

¿U ⋅ Σ Σ 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ố σ1222,… 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 đườngchéo chí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

Trang 21

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ệntrong văn bản Tf - Idf chuyển đổi dạng biểu diễn văn bản thành dạng khônggian 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ộtphương thức chuẩn hóa (normalization) Tf được tính bởi công thức:

Tf(t) = f (t ,d) TVớ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 quantrọ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ệnnhưng có ý nghĩa đặc biệt cho một số đoạn văn bản hơn bằng cách tínhIdf:

Idf(t) = log ¿¿)

Với:

 N: tổng số đoạn văn bản

21

Trang 22

 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

Trang 23

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

23

Trang 24

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

Trang 25

- 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 khi rate 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 rate hoặ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 ra các rating (like hoặc dislike) cho sản phẩm (các bàipost, 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

Item Profiles

Trong các hệ thống Content-Based, tức dựa trên nội dung của mỗi item, chúng ta cần xây dựng một bộ hồ sơ (profile) cho mỗi item Profile này được

25

Trang 26

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,

Tôi thấy hoa vàng trên cỏ xanh 0.9 0

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

Bảng 2: Feature vector

Tôi thấy hoa vàng trên cỏ xanh 5 5 0 0

26

Trang 27

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

Tuổi trẻ đáng giá bao nhiêu 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à đượcbiể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ánregression 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êubằng 1 công thức đơn giản:

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

Ví dụ:

Tôi thấy hoa vàng trên cỏ xanh 5 5 0 0

27

Trang 28

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)

x2

(Kỹ năng)

Tôi thấy hoa vàng trên cỏ xanh 0.9 0

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

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:

Y ij =x i ∗w j +b j Hay có thể viết lại dưới dạng:

Trang 29

- 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

- 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

Ngày đăng: 18/08/2022, 20:01

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2]. Siraj Munir, Shaukat Wasi - A Comparison of Topic Modelling Approaches for Urdu Text, 2019 Khác
[3]. Bijoyan Das, Sarit Chakraborty - An Improved Text Sentiment Classification Model Using TF-IDF and Next Word Negation, 2018 [4]. Thomas K Landauer, Peter W. Foltz, Darrell Laham - An Introductionto Latent Semantic Analysis, 1998 Khác
[5]. Ayisha Tabassum1, Dr. Rajendra R. Patil - A Survey on Text Pre- Processing & Feature Extraction Techniques in Natural Language Processing, 2020 Khác
[6]. V. Thada, Vivek Jaglan - Comparison of Jaccard, Dice, Cosine Similarity Coefficient To Find Best Fitness Value for Web Retrieved Documents Using Genetic Algorithm Khác
[8]. David M. Blei, Andrew Y. Ng - Latent Dirichlet Allocation, 2003 [9] Francesco Ricci, Lior Rokach, Bracha Shapira, Paul B.Kantor -Recommender Systems Handbook , 2010 Khác
[10]. Stefan B. Beckers - Recommander system, Duisburg Publisher, 2006 Khác

TỪ KHÓA LIÊN QUAN

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