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

BÁO CÁO, THIẾT KẾ VÀ TỔ CHỨC, SẢN XUẤT ĐA PHƯƠNG TIỆN, XÂY DỰNG ỨNG DỤNG, NGHE NHẠC CHO GAME, LIÊN QUÂN MOBILE

72 102 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 72
Dung lượng 6,4 MB

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

Nội dung

BÁO CÁO, THIẾT KẾ VÀ TỔ CHỨC, SẢN XUẤT ĐA PHƯƠNG TIỆN, XÂY DỰNG ỨNG DỤNG, NGHE NHẠC CHO GAME, LIÊN QUÂN MOBILE

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA ĐA PHƯƠNG TIỆN

  

-BÁO CÁO

THIẾT KẾ VÀ TỔ CHỨC SẢN XUẤT ĐA PHƯƠNG TIỆN

ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG NGHE NHẠC

CHO GAME LIÊN QUÂN MOBILE

Nguyễn Minh Trung Nguyễn Hồng Văn

Trang 2

3.THÔNG TIN PHẢN HỒI TỪ NGƯỜI DÙNG VÀ HAI DẠNG BÀI TOÁN CHÍNH TRONG RS 7

Trang 3

DANH MỤC HÌNH ẢNH

Hình 1 Ma trận biểu diễn dữ liệu trong RS (user-item-rating matrix) 7

Hình 2 Các thành phần cơ bản của tiến trình gợi ý truyền thống 7

Hình 3 Kiến trúc tổng quan của hệ thống lọc cộng tác 9

Hình 4 Minh họa kỹ thuật phân rã ma trận 10

Hình 5 Gợi ý sản phẩm thường được mua cùng nhau 10

Hình 6 Biểu diễn dữ liệu trong MRMF 11

Hình 7 Mô hình ngữ cảnh 13

Hình 8 Cấu trúc phân cấp của ngữ cảnh trong hệ gợi ý 16

Hình 9 Cấu trúc OLAP 3 chiều User x Item x Time trong hệ gợi ý 17

Hình 10 Các cơ chế tích hợp thông tin ngữ cảnh vào hệ gợi ý 18

Hình 11 Bước hiệu chỉnh danh sách gợi ý trong lọc sau theo ngữ cảnh 18

Hình 12 Sử dụng phương pháp Pre-filtering 26

Hình 13 Minh họa kỹ thuật phân rã ma trận 27

Hình 14 Thiết kế tương tác ( chi tiết xem trong file hình ảnh đi kèm ) 31

Hình 15 Biểu đồ Use Case 33

Hình 16 Biểu đồ lớp 45

Hình 17 Biểu đồ tuần tự Hiển thị Playlist Nhân vật 46

Hình 18 Biểu đồ tuần tự hiển thị bảng XH nhạc 47

Hình 19 Biểu đồ tuần tự Hiển thị List nhạc đề cử 48

Hình 20 Biểu đồ tuần tự Thêm 1 bản nhạc 50

Hình 21 Biểu đồ tuần tự Xóa 1 bản nhạc 51

Hình 22 Biểu đồ tuần tự xem thông tin chi tiết 52

Hình 23 Biểu đồ tuần tự xem Playlist nhân vật tiếp theo 53

Hình 24 Biểu đồ trạng thái Người dùng khi cập nhật thông tin 54

Hình 25 Biểu đồ trạng thái List nhạc nhân vật khi hiển thị 55

Hình 26 Biểu đồ trạng thái List nhạc đề cử khi hiển thị 56

Hình 27 Trạng thái List nhạc XH khi hiển thị 57

Hình 28 Trạng thái List nhạc Nhân vật khi thêm bản nhạc 58

Hình 29 Trạng thái List nhạc NV khi xóa 1 bản nhạc 59

Hình 30 Trạng thái của Bản nhạc khi người dùng xem chi tiết 60

Hình 31 Kiến trúc nền tảng mã nguồn mở CARSKIT 61

Hình 32 Lược đồ CSDL 63

Hình 33 Giao diện chính 64

Hình 34 Giao diện thông tin cá nhân 65

Hình 35 Giao diện List nhạc NV 66

Hình 36 Giao diện List nhạc NV 67

Hình 37 Giao diện nhạc đề cử 68

Hình 38 Giao diện nhạc đề cử 69

Hình 39 Giao diện bảng Xếp hạng và xem thông tin chi tiết bản nhạc 70

Hình 40 Giao diện bảng Xếp hạng và xem thông tin chi tiết bản nhạc 71

DANH MỤC BẢNG Bảng 1 Bảng ma trận trọng số (đánh giá) của hệ gợi ý 9

Trang 4

Bảng 2 Đặc trưng ngữ cảnh 15

Bảng 3 Bảng 2: Phân loại các chiều của ngữ cảnh 15

Bảng 4 Mô tả hoạt động hệ thống 25

Bảng 5 Mô tả hoạt động hệ thống 25

Bảng 6 Mô tả hoạt động hệ thống 26

Bảng 7 Mô tả hoạt động hệ thống 26

Bảng 8 Gợi ý dữ liệu 28

Bảng 9 Tập dữ liệu sau khi sử dụng Pre-filtering 28

Bảng 10 Kịch bản đăng nhập 35

Bảng 11 Kịch bản đăng ký 35

Bảng 12 Kich bản chỉnh sửa thông tin cá nhân 36

Bảng 13 Kịch bản chỉnh sửa Playlist 1 nv 36

Bảng 14 Kịch bản phát nhạc 37

Bảng 15 Kịch bản phát tất cả 37

Bảng 16 Kịch bản xem chi tiết 1 bản nhạc 37

Bảng 17 kịch bản Xóa 1 bản nhạc khỏi List nhạc Nhân vật 38

Bảng 18 Kịch bản Hiển thị nhạc đề cử 38

Bảng 19 kịch bản Gợi ý nhạc theo ngữ cảnh 39

Bảng 20 kịch bản nthêm bản nhạc 39

Bảng 21 Hiển thị bảng xếp hạng 40

Bảng 22 Xem Playlist nhạc của nhân vật tiếp theo 40

Bảng 23 lớp bản nhạc thuộc tính và phương thức 42

Bảng 24 Lớp Playlist 42

Bảng 25 Lớp List nhạc nhân vật 43

Bảng 26 Lớp List nhạc đề cử 44

Bảng 27 Lớp List nhạc xếp hạng 44

Bảng 28 Lớp Người dùng 45

Bảng 29 Lớp Nhân vật 45

Trang 5

MỞ ĐẦU

Ứng dụng và dịch vụ di động đã và đang trở thành phương tiện giao tiếp thông tinchính giữa người dùng – người dùng, người dùng – nhà cung cấp dịch vụ Bàitoán làm thế nào để các ứng dụng dịch vụ di động ngày càng trở nên thông minhhơn, linh hoạt hơn, hiệu quả hơn trong việc trao đổi thông tin, đáp ứng các nhucầu và sở thích cá nhân của người dùng ngày càng trở nên cần thiết và khẩn cấp.Giải pháp cá nhân hóa các ứng dụng và dịch vụ di động theo hướng tiếp cận ngữcảnh người dùng dựa trên các thông tin được thu thập qua việc trao đổi dữ liệunhư vị trí, thời gian, thiết bị, thói quen, sở thích, … của người dùng đã được ápdụng để giải quyết bài toán này và sẽ trở thành xu hướng phát triển công nghệ tấtyếu nhằm mang lại cho người sử dụng các thiết bị di động các tiện ích tốt nhất,đáp ứng đầy đủ các nhu cầu cá nhân trong quá trình sử dụng thông tin thông quacác ứng dụng dịch vụ di động

Theo thống kê của IFL Science ,con người tại ra 2,5 triệu tỷ (quintillion) byte dữliệu mỗi ngày Với số lượng dữ liệu khổng lồ như trên nhưng thực tế mỗi ngườichỉ có thể tiếp cận tới 1 lượng dữ liệu rất nhỏ Ví dụ như trang web nghe nhạcZingmp3 có hàng trăm nghìn bản nhạc khác nhau , nhưng mỗi người chỉ ngheđược khoảng vài chục đến vài trăm bản nhạc Với việc người dùng chỉ tiếp cậnđược ít nhạc như vậy nên rất khó để người quản lí có thể đáp ứng được yêu cầunghe nhạc ngày càng cao của mỗi khách hàng bởi mỗi khách hàng đều có sở thích

và ngữ cảnh nghe nhạc riêng như đang tập thể dục, chơi game Đây là 1 tháchthức lớn với các dịch vụ nghe nhạc trực tuyến cần giải quyết để giúp khách hàngkhông cần tốn nhiều thời gian mà vẫn có thể tìm kiếm được những bản nhạc phùhợp nhất với bản thân

Với thực trạng nêu trên, báo cáo này hướng đến mục tiêu nghiên cứu xây dựnggiải pháp cá nhân hoá các ứng dụng và dịch vụ đi động theo mô hình hướng ngữcảnh hiện thời người dùng Đồng thời áp dụng kỹ thuật gợi ý dựa trên thông tinngữ cảnh trong việc xây dựng một ứng dụng nghe nhạc cho “game liên quânmobie” giúp hỗ trợ người chơi nhanh chóng lựa chọn được các bản nhạc phù hợp

để có thể vừa nghe vừa chơi game một cách thoải mái nhất

Trang 6

A Tổng quan về Hệ thống gợi ý theo ngữ cảnh ( CARS – Context Aware

là một sản phẩm, bộ phim, video clip, music, sách, ) nhằm gợi ý các mục thông tin “cóthể quan tâm” bởi người dùng Hệ gợi ý sẽ đưa ra các gợi ý dựa trên quá trình thu thập,

xử lý và phân tích dữ liệu từ người dùng Dữ liệu đó được chia làm 2 loại là tường minh(explicit) bằng cách yêu cầu người dùng phản hồi trực tiếp và tiềm ẩn (implicit) bằngcách tự động suy luận dựa trên những tương tác của người dùng với hệ thống như: vị tríthay đổi, số lần nhấp chuột, thời gian quan sát Trong hầu hết các trường hợp, bài toángợi ý được coi là bài toán dự đoán việc xếp hạng (rating) của các sản phẩm (phim, sảnphẩm tiêu dùng, sách, nhạc…) chưa được người dùng biết đến Việc dự đoán này thườngdựa trên những đánh giá đã có của chính người dùng đó hoặc những người dùng khác

Hệ thống gợi ý đã chứng minh được ý nghĩa to lớn: giúp cho người sử dụng trực tuyếnđối phó với tình trạng quá tải thông tin Hệ thống gợi ý trở thành một trong những công

cụ mạnh mẽ và phổ biến trong thương mại điện tử Mục đích của hệ thống gợi ý là dựavào hành vi từ thói quen, nhu cầu trong quá khứ của người sử dụng để dự đoán sở thíchtrong tương lai của họ.RS sẽ đưa ra các gợi ý dựa trên phản hồi trong quá khứ của ngườidùng (như bình luận, đánh giá, ) trên sản phẩm, bài hát, bộ phim, điểm du lịch,

Các hệ thống gợi ý nổi tiếng hiện có như: gợi ý sản phẩm của Amazon/Ebay, gợi ý phim/video clip của NetFlix/Youtube, gợi ý bài đăng của Facebook, Zalo RS đã cho thấyđược ý nghĩa to lớn của nó trong việc giúp người dùng giải quyết tình trạng quá tải thôngtin ngày càng tăng hiện nay

Có hai loại mô hình RS được nghiên cứu và ứng dụng trong thực tiễn đó là: hệ thống gợi

ý 2 chiều (2D RS) và hệ thống gợi ý theo ngữ cảnh (đa chiều, thông thường là 3 chiều –3D RS)

2 Các thành phần cơ bản của 1 hệ thống gợi ý

Trong RS, thông thường người ta quan tâm đến ba thông tin chính là người dùng (user), mục tin (item, item có thể là sản phẩm, bộ phim, bài hát, bài báo, tùy hệ thống), và phản hồi (feedback) của người dùng trên mục tin đó (thư ờng là các xếp hạng/đánh giá – rating biểu diễn mức đ ộ thích/quan tâm của họ) Các thông tin này được biểu diễn thông

qua một ma trận Ở đó, mỗi dòng là một user, mỗi cột là một item, và mỗi ô là một giá trịphản hồi (ví dụ, xếp hạng) biểu diễn “mức độ thích” của user trên item tương ứng Các ô

có giá trị là những item mà các user đã xếp hạng trong quá khứ Những ô trống là nhữngitem chưa được xếp hạng (điều đáng lưu ý là mỗi user chỉ xếp hạng cho một vài itemtrong quá khứ, do vậy có rất nhiều ô trống trong ma trận này – còn gọi là ma trận thưa –sparse matrix)

Trang 7

Nhiệm vụ chính của RS là dựa vào các ô đã có giá trị trong ma trận trên (dữ liệu thuđược từ quá khứ), thông qua mô hình đã đư ợc xây dựng, RS dự đoán các ô còn trống(của user hiện hành), sau đó sắp xếp kết quả dự đoán (ví dụ, từ cao xuống thấp) và chọn

ra Top-N items theo thứ tự, từ đó gợi ý chúng cho người dùng

Một cách hình thức, gọi U là tập người dùng, I là tập các sản phẩm có thể được gợi ý.Tập sản phẩm I có thể lên đến hàng trăm, hàng nghìn thậm chí là hàng triệu sản phẩm.Tương tự như vậy, tập người dùng U cũng có thể rất lớn lên đến hàng triệu trường hợp

Để dự đoán xếp hạng (hay tính tiện ích) của sản phẩm i đối với người dùng u thì người tađưa ra hàm xếp hạng (rating) r: U x I-> R, trong đó R là tập các giá trị xếp hạng được thứ

tự toàn phần (ví dự số nguyên dương hoặc số thực trong tập xác định) Mô hình này cònđược gọi với tên gọi là mô hình dự đoán 2 chiều (two-dimensional recommendationframework)

Với mỗi người dùng u ∈ U, chúng ta có thể chọn được sản phẩm i ∈ I sao cho hàm xếphạng của người dùng u đối với item i là lớn nhất

dụ người dùng Alice đánh giá sản phẩm 3 có trọng số là 4 như trong bảng sau

Hình 1 Ma trận biểu diễn dữ liệu trong RS (user-item-rating matrix)

Hình 2 Các thành phần cơ bản của tiến trình gợi ý truyền thống

Trang 8

Item1 Item2 Item3 Item4 Item5

Bảng 1 Bảng ma trận trọng số (đánh giá) của hệ gợi ý

3.Thông tin phản hồi từ người dùng và hai dạng bài toán chính trong RS

Trong RS, giá trị phản hồi (feedback) r ui của mỗi người dùng trên mục tin sẽ được ghinhận lại để làm cơ sở cho việc dự đoán các giá trị kế tiếp Tùy theo hệ thống mà giá trịnày sẽ có ý nghĩa khác nhau, ví dụ nó có thể dùng để đo độ “phù hợp” hay “mức độthích” (thường là các đánh giá trên các s ản phẩm) trong các hệ thống thương mại điện tửhay “năng lực/kết quả thực hiện” của người dùng trong các hệ thống e-learning

Giá trị r ui có thể được xác đ ịnh một cách tường minh (explicit feedbacks) như thông qua

việc đánh giá/xếp hạng (ví dụ, rating từ  đến ; hay like (1) và dislike (0),…) mà u đã bình chọn cho i; hoặc r ui có thể được xác định một cách không tường minh (implicit

feedbacks) thông qua số lần click chuột, thời gian mà u đã duyệt/xem i,…

Có 2 dạng bài toán chính trong RS là dự đoán xếp hạng (rating prediction) của các hệ thống có phản hồi tường minh và dự đoán mục thông tin (item prediction/

recommendation) là việc xác định xác suất mà người dùng thích mục tin tương ứng

• Nhóm giải thuật lọc trên nội dung (Content-based Filtering): Gợi ý các item dựavào hồ sơ (profiles) của người dùng hoặc dựa vào nội dung/thuộc tính(attributes) của những item tương tự như item mà người dùng đã chọn trong quákhứ

• Nhóm lai ghép: Kết hợp cả 2 cách trên

• Nhóm kỹ thuật không cá nhân hóa (non-personalization)

Một trong những khuyết điểm của phương pháp lọc theo nội dung là khó khăn trong việcthu thập thông tin, trong khi phần lớn các mô hình dựa trên lọc cộng tác chỉ cần 3 thôngtin (user id, item id, feedback) là có thể hoạ t đ ộng tốt Do vậy khuynh hướng hiện nay

đa phần các nhà nghiên cứu thiên về nhóm lọc cộng tác Phương pháp này dựa trên

Trang 9

những hành vi quá khứ của người dùng, ví dụ như: lịch sử giao dịch, đánh giá sản phẩm,xem một bộ phim, nghe một bài hát, và đặc biệt là nó không cần thiết phải tạo ra các

hồ sơ tường minh (explicit feedback) cho người dùng Để gợi ý các sản phẩm cho ngườidùng, hệ thống lọc cộng tác cần so sánh các đối tượng cơ bản khác nhau như các sảnphẩm và người dùng Một hệ thống lọc cộng tác truyền thống thường có kiến trúc nhưsau:

Hình 3 Kiến trúc tổng quan của hệ thống lọc cộng tác

Do độ dài của tài liệu nên nhóm chỉ tóm tắt các kỹ thuật thông dụng và nổi trội ofthe-art) trong hệ thống gợi ý :

Có hai cách tiếp cận của lọc cộng tác theo mô hình K láng giềng là dựa trên người dùng(User_kNN) – dự đoán dựa trên sự tương tự giữa các người dùng và dựa trên mục tin(Item_kNN) – dự đoán dựa trên sự tương tự giữa các mục tin

Kỹ thuật k láng giềng dựa trên người dùng (User_kNN) xác định độ tương tự giữa haingười dùng thông qua việc so sánh các đánh giá của họ trên cùng sản phẩm, sau đó dựđoán xếp hạng trên sản phẩm i bởi người dùn

4.2.Kỹ thuật Phân rã ma trận (Matrix factorization - MF)

Kỹ thuật phân rã ma trận là việc chia một ma trận lớn X thành hai ma trận có kích thước nhỏ hơn W và H, sao cho ta có thể xây dựng lại X từ hai ma trận nhỏ hơn này càng chính xác càng tốt (Koren et al., 2009), nghĩa là X ~ WH T

Trang 10

Hình 4 Minh họa kỹ thuật phân rã ma trận

Trong nhóm kỹ thuật này, do chúng khá đơn gi ản, dễ cài đ ặt nên nên thường được cácwebsite/hệ thống tích hợp vào, gồm cả các website thương mại, website tin tức, hay giảitrí Chẳng hạn như trong các hệ thống bán hàng trực tuyến, người ta thường gợi ý các sảnphẩm được xem/mua/bình luận/ nhiều nhất; gợi ý các sản phẩm mới nhất; gợi ý các sảnphẩm cùng loại/ cùng nhà sản xuất/ ; gợi ý các sản phẩm được mua/chọn cùng nhau Một

ví dụ khá điển hình là thông qua luật kết hợp (như Apriori), Amazon đã áp dụng kháthành công để tìm ra các sản phẩm hay được mua cùng nhau như minh họa trong Hình 4.Tuy vậy, bất lợi của các phương pháp này là không cá nhân hóa cho từng người dùng,nghĩa là tất cả các user đều được gợi ý giống nhau khi chọn cùng sản phẩm

Hình 5 Gợi ý sản phẩm thường được mua cùng nhau

Trang 11

4.4 Kỹ thuật Phân rã ma trận thiên vị (Biased matrix factorization - BMF)

Kỹ thuật Phân rã ma trận thiên vị BMF là một biến thể của kỹ thuật Matrix Factorization(MF) cộng thêm các giá trị thiên vị/lệch (biases)

Thực nghiệm đã cho th ấy, trong khá nhiều trường hợp, BMF cho kết quả tốt hơn hẵn sovới kỹ thuật MF (Koren et.al., 2009; Huỳnh Lý Thanh Nhàn và Nguyễn Thái Nghe,2013; Thai-Nghe et.al., 2011a, 2012)

4.5 Kỹ thuật phân rã ma trận đa quan h ệ (Multirelational Matrix Factorization MRMF)

-Kỹ thuật phân rã ma trận đa quan h ệ (Multi-relational Matrix Factorization – MRMF) là

kỹ thuật mở rộng từ kỹ thuật MF với ý tưởng là tận dụng tất cả các mối quan hệ có thể cótrong cơ sở dữ liệu của hệ thống

Nếu như trong MF, ta chỉ sử dụng 1 ma trận (tương ứng với 1 quan hệ trong sơ đồ ERD,

ví dụ như “Entity1-Relation1-Entity2” trong Hình 5 thì trong MRMF ta sẽ sử dụng tất cảcác ma trận tương ứng với các thực thể và các quan hệ có thể có, như minh họa :

Hình 6 Biểu diễn dữ liệu trong MRMF

5.Đánh giá hệ gợi ý

Các tiêu chí định lượng:

- Đánh giá độ chính xác của hàm dự đoán xếp hạng (rating prediction): sai số

bình phương trung bình (Mean square error – MSE), căn của sai số bìnhphương trung bình (Root mean square error – RMSE), sai số trung bình tuyệtđối (Mean absolute error – MAE)

- Đánh giá độ chính xác của hàm gợi ý (item recommendation):

Tiêu chí định tính:

- Tính mới của các gợi ý

- Tính đa dạng (Diversity) của các gợi ý

- Độ bao phủ của các gợi ý

- Sự hài lòng của người dùng

Trang 12

6.Các thách thức của hệ gợi ý truyền thống

Những thách thức từ khi hệ gợi ý được quan tâm phát triển đến nay có thể kế đến như dữliệu thưa, khả năng mở rộng phạm vi, biến thể từ (nhóm từ đồng nghĩa), nhập nhằngnghĩa, quyền riêng tư… Đặc tính những thách thức này cụ thể như sau:

Dữ liệu thưa (sparsity) Trường hợp thường thấy khi tập sản phẩm item thường lớn và

ngày càng được mở rộng thêm, lượng người dùng mới cũng tăng theo thời gian, cộngthêm người dùng chỉ xem một phần rất nhỏ trong danh sách sản phẩm đó, dẫn đến matrận user – item cực kỳ thưa Người dùng đặc biệt là người dùng tại Việt Nam cũngkhông có thói quen đưa ra đánh giá hay nhận xét cho sản phẩm họ xem hoặc mua, rất khó

để nhận định họ thích hay không Một khởi đầu khó cho nhóm người dùng mới và sảnphẩm mới, hay còn được biết đến là vấn đề cold start

Khả năng mở rộng phạm vi Khi số người dùng và sản phẩm ngày càng mở rộng, phạm vi

xử lý sẽ trở thành một vấn đề lớn

Sản phẩm mới, người dùng mới (cold-start) Những đối tượng này rất khó gợi ý nếu chưa

hề hoặc rất ít thông tin lịch sử trước đó Không chỉ những sản phẩm mới ngay cả nhữngsản phẩm mô tả cụ thể, chung chung sẽ gây nhầm Với người dùng mới hệ thống cần học

để hiểu về sở thích của họ, có một vài phương pháp đã được đề xuất để giải quyết vấn đềnày, là theo hướng lai, kết hợp các phương pháp, có thể là lọc cộng tác và nội dung, ngoài

ra còn có một kỹ thuật để xác định những sản phẩm tốt nhất cho người dùng mới được đềcập trong [17], đây là những kỹ thuật áp dụng cho chiến lược lọc cộng tác

Gian lận là khi những nhà cung cấp sản phẩm, hay dịch vụ có những thủ thuật giả thông

tin khách hàng, giúp họ tăng lợi ích

Dễ bị tấn công là vấn đề thưởng xảy ra như kiểu tấn công dịch vụ, làm trì trệ khả năng

cung cấp dịch vụ tới người dùng thực

Bảo mật riêng tư: xu hướng cá nhân hóa là khi hệ gợi ý cần hiểu rõ về từng người dùng Một số thách thức về môi trường như: Lượng bán lẻ, người dùng và sản phẩm có thể rất

lớn (lên tới hàng triệu); các ứng dụng thường yêu cầu kết quả trả về trong thời gian thực(không quá nửa giây) trong khi vẫn phải đáp ứng gợi ý chất lượng tốt; người dùng cũ córất nhiều thông tin thừa, người dùng mới lại thiếu thông tin và dữ liệu người dùng thì dễ

bị trôi mất

Ngoài ra còn rất nhiều vấn đề khác cần quan tâm như: sự đa dạng và chính xác, dễ dàng

bị tấn công, giá trị thời gian, đánh giá độ hiệu quả, giao diện người dùng,…

II Hệ thống gợi ý theo ngữ cảnh.

Các thông tin ngữ cảnh người dùng sẽ được mô hình hóa và tích hợp vào các hệ gợi ý,khi đó một hệ gợi ý dựa trên nhận thức ngữ cảnh (Context-awareness RecommenderSystem – CARS) [18] sẽ tính toán xếp hạng và gợi ý cho người dùng không chỉ dựa trênthông tin người dùng và sản phẩm như hệ gợi ý truyền thống mà còn sử dụng cả thông tinngữ cảnh liên quan Nếu gọi Contexts là tập ngữ cảnh thì hàm gợi ý khi đó được viết lạinhư sau:

r: Users x Items x Contexts -> Ratings

1.Ngữ cảnh là gì ?

1.1.Khái niệm ngữ cảnh

Theo từ điển của Webster (Noah Webster - Mỹ), ngữ cảnh là "toàn bộ tình huống, nền

tảng hay môi trường có liên quan tới một vài sự kiện xảy ra hoặc cá nhân nào đó" Định

Trang 13

nghĩa này rất là chung khi sử dụng trong tính toán nhận biết ngữ cảnh.

Ngữ cảnh là một vấn đề chính trong trong tương tác giữa người và máy tính, miêu tả cácnhân tố xung quanh với ngữ nghĩa biểu đạt [1] Trong lĩnh vực nghiên cứu tính toán diđộng, tham số vị trí thường được dùng nhất để chỉ ngữ cảnh và cài đặt các ứng dụng nhậnbiết ngữ cảnh

Ngữ cảnh và nhận biết ngữ cảnh đã bắt đầu được nghiên cứu trong tính toán phân tán vớisức mạnh của các thành phần tính toán di động từ những năm 90 Những nghiên cứu từrất sớm này đã nhận biết vị trí của người dùng và sử dụng vị trí như là trung tâm của tínhtoán nhận biết ngữ cảnh

Cũng theo các định nghĩa trên chúng ta có thể thấy rằng các khía cạnh quan trọng nhấtcủa ngữ cảnh là: người dùng đang ở đâu, người dùng đang ở cùng ai và các tài nguyêngần đó Và ngữ cảnh này là cố định với những thay đổi của môi trường thực thi Môitrường ở đây gồm ba yếu tố:

- Môi trường tính toán: bộ xử lý có sẵn, các thiết bị truy cập cho người dùng với đầuvào và hiển thị, khả năng mạng, các kết nối, chi phí tính toán

- Môi trường người dùng: vị trí, tập những người gần kề, tình huống xã hội

- Môi trường vật lý: ánh sáng, mức độ ồn, mức độ nhiễu, …

Hình 7 Mô hình ngữ cảnh

1.2 Các đặc trưng của ngữ cảnh

Đặc trưng ngữ cảnh phụ thuộc vào hai yếu tố như: kiểu nhận biết ngữ cảnh, nguồn thu

thập Điều đó ảnh hưởng tới giá trị thuộc tính của ngữ cảnh Ví dụ nếu kiểu nhận biết ngữ

cảnh là các cảm biến thì khả năng tồn tại của thông tin ngữ cảnh là không cao, chất lượngthông tin có thể chưa tốt tại một thời điểm nhất định khi gặp các sự cố như: thiết bị có lỗi,mất mạng,…

Trang 14

Do người dùng đặc tảtrực tiếp hoặc giántiếp qua chương trình)

Mãi mãi

Có thể không chắc chắn

Lỗi con người

Bảng 2 Đặc trưng ngữ cảnh

Ngoài ra khi nghiên cứu về các đặc trưng ngữ cảnh, còn một số vấn đề sau:

- Chưa xác định khi không có thông tin nào về vật chất là sẵn có

- Mơ hồ (tối nghĩa) khi có một số báo cáo khác nhau về vật chất, ví dụ 2 vị trí cùng

được đọc cho một người được lấy từ các thiết bị định vị riêng

- Không chính xác: khi trạng thái được báo cáo không đúng với trạng thái đúng, ví dụ

khi vị trí của 1 người được biết trong miền giới hạn, nhưng vị trí trong miền nàykhông được chốt cho mức độ yêu cầu chuẩn xác

- Sai: khi có lỗi giữa trạng thái được báo cáo và trạng thái thực của vật chất

dùng Vị trí, nhiệm vụ hiện thời hoặc có liên quan tới người hay đối tượng khác

Ngữ cảnh môi trường Thời tiết, tiếng ồn, thời gian

Trong RS hai chiều như đã trình bày, người ta thường biểu diễn dữ liệu vào ma trận

user-item do vậy chỉ quan tâm đến người dùng và mục tin là chính chứ không quan tâm đến các thông tin ngữ cảnh (context) bên ngoài có tác động đến quyết định của người dùng

hay không “Thông tin ngữ cảnh là những thông tin có thể mô tả được hoàn cảnh của

một thực thể” (Gediminas et.al., 2011) Ví dụ: thời gian, nơi chốn, thời tiết, tâm trạng…

là những thông tin ngữ cảnh, chúng có thể ảnh hưởng đến đánh giá của người dùng đốivới các item, từ đó dẫn đến sự ảnh hưởng của những gợi ý trong RS

Với hệ thống gợi ý theo ngữ cảnh (đa chiều), hàm dự đoán được bổ sung thêm thông tinngữ cảnh (Context) và trở thành:

Trang 15

: U × I × C → R (C là thông tin ngữ cảnh)

Ví dụ, trong hệ thống gợi ý du l ịch, user là khách du lịch, item là những đ ịa điểm du

lịch, và ngữ cảnh có thể là thời gian (buổi sáng/tối, cuối tuần, mùa, lễ, tết, ), bạn đ ồng

hành (đi một mình, đi v ới bạn trai/bạn gái, đi v ới gia đình, tr ẻ nhỏ…)… Những đánh

giá cho m ột đi ểm du lịch bởi một người dùng có thể sẽ phụ thuộc và những ngữ cảnh

đó Ví dụ vào buổi tối mùa xuân đi cùng gia đình thì địa điểm ABC là hấp dẫn nhất,nhưng khi đi cùng bạn gái thì có thể địa điểm đó không phù hợp nữa

Trang 16

2.2 Cấu trúc thông tin ngữ cảnh trong hệ gợi ý

2.2.1 Cấu trúc dữ liệu phân cấp

Thông tin ngữ cảnh được định nghĩa bởi một tập K các chiều ngữ cảnh, mỗi chiều ngữcảnh K trong tập K được định nghĩa bởi một tập q thuộc tính K = (K1, , Kq), K có cấutrúc phân cấp và thể hiện cho một loại ngữ cảnh cụ thể Ngữ cảnh được xác định bởithuộc tính Kq sẽ có mức định nghĩa thấp hơn so với ngữ cảnh được xác định bởi thuộctính K1

Hình 8 Cấu trúc phân cấp của ngữ cảnh trong hệ gợi ý

2 2.3.Cấu trúc dữ liệu đa chiều

Nếu xem ngữ cảnh như một chiều dữ liệu trong hệ gợi ý bên cạnh các chiều User, vàItem, khi đó có thể biểu diễn dữ liệu của hệ gợi ý dựa trên ngữ cảnh dưới cấu trúc dữ liệu

đa chiều OLAP Cụ thể, gọi D1, D2, , Dn là các chiều dữ liệu, khi đó hai chiều dữ liệuđầu tiên sẽ là User, Item, các chiều dữ liệu còn lại sẽ là ngữ cảnh Di sẽ là tập con của tậptích Đề các (Cartesian) bao gồm cácthuộc tính Aij, (j=1, ,ki)

Khi đó gọi S là không gian gợi ý, S được xác định bởi tích đề các của các thuộc tính D1,D2, , Dn, đồng thời hàm xếp hạng R cũng sẽ được xác định như sau:

: 1 × 2 × … × −>

Như trong hình 8, với User có Id là 101, Item với id là 7, thì đánh giá xếp hạng rating sẽ

là 6 trong suốt tuần, R(101,7,1) = 6

Trang 17

Hình 9 Cấu trúc OLAP 3 chiều User x Item x Time trong hệ gợi ý

2.3 Cơ chế tích hợp ngữ cảnh vào hệ gợi ý

Gợi ý dựa trên tìm kiếm và truy vấn hướng ngữ cảnh (context-driven querying and search):

Hướng tiếp cận này được ứng dụng rộng rãi trong các hệ gợi ý di động và du lịch[20,21,22] Các hệ thống theo cách tiếp cận này sử dụng thông tin ngữ cảnh thu thậpđược (từ người dùng, từ thiết bị di động, ) để thực hiện truy vấn và tìm kiếm các tập sảnphẩm và cung cấp cho người dùng sản phẩm phù hợp nhất

Gợi ý dựa trên suy luận và tối ưu tham chiếu ngữ cảnh (contextual preference eliction and estimation):

Một hướng tiếp cận khác trong việc ứng dụng thông tin ngữ cảnh vào trong hệ gợi ý làgợi ý dựa trên suy luận và tối ưu tham chiếu ngữ cảnh Các kỹ thuật thuộc hướng tiếp cậnnày sẽ cố gắng mô hình hóa và học các sở thích của người dùng bằng cách theo dõi tươngtác của người dùng cần xem xét và các người dùng khác đối với hệ thống, hoặc bằng cáchthu thập thông tin phản hồi của người dùng đối với các sản phẩm đã được hệ thống gợi ýtrước đây

Các tiến trình gợi ý dựa trên suy luận và tối ưu tham chiếu ngữ cảnh người dùng có thểtriển khai dựa trên 1 trong 3 cơ chế sau (hình 9):

- Lọc trước theo ngữ cảnh (Contextual Pre-Filtering, hay còn gọi là ngữ cảnh hóa

dữ liệu đầu vào)

- Lọc sau theo ngữ cảnh (Contextual Post-Filtering, hay còn gọi là ngữ cảnh hóa

dữ liệu đầu ra)

- Mô hình hóa hướng ngữ cảnh (Contextual Modeling, hay còn gọi là mô hình hóa

theo ngữ cảnh hàm gợi ý)

Trang 18

Hình 10 Các cơ chế tích hợp thông tin ngữ cảnh vào hệ gợi ý

2.2.1 Lọc trước theo ngữ cảnh (Contextual Pre-Filtering)

Hàm dự đoán xếp hạng 3 chiều với ngữ cảnh là thời gian (Time) có thể được định nghĩa

bởi công thức: R D User x Item x Time: U x I x T -> Rating, trong đó D là tập dữ liệu

chứa các bảng ghi (user, item, time, rating) chứa thông tin xếp hạng của người dùng

2.2.2 Lọc sau theo ngữ cảnh (Contextual Pos-Filtering)

Danh sách gợi ý tinh chỉnh có thể thu được theo các bước:

 Lọc bỏ các gợi ý không liên quan với ngữ cảnh áp dụng

 Hiệu chỉnh thứ tự xếp hạng các gợi ý trong danh sách

Hình 11 Bước hiệu chỉnh danh sách gợi ý trong lọc sau theo ngữ cảnh

2.2.3 Mô hình hóa hướng ngữ cảnh (Contextual Modeling)

Trang 19

Dựa trên kinh nghiệm: ý tưởng của hướng tiếp cận này là mở rộng mô hình 2 chiều

truyền thống có kết hợp thông tin ngữ cảnh như các chiều dữ liệu thêm vào bên cạnhUser và Item Khi đó, hệ thống sẽ thực hiện xây dựng hàm tính đơn vị khoảng cánh n-chiều thay vì chỉ sử dụng các độ đo tương quan truyền thống là user-user, item-item

Trang 20

B Áp dụng kỹ thuật gợi ý dựa trên thông tin ngữ cảnh trong việc xây dựng một ứng dụng nghe nhạc cho “game liên quân mobie”

I Tổng quan về ứng dụng và xây dựng mô hình hệ thống gợi ý trong ứng dụng

1 Tổng quan

1.1 Giới thiệu đề tài

Âm nhạc là một trong những yếu tố quan trọng để tạo nên sự thành công của một tròchơi Chính vì vậy các nhà phát triển game luôn cố gắng chau chút, lựa chọn các bảnnhạc phù hợp nhất với tựa game của mình Tuy nhiên có một số game có nội dung vàcách chơi quá đa dạng , nhà phát triển rất khó để có thể lựa chọn được bản nhạc phù hợptrong cả trò chơi Điển hình như các dòng game Moba như LOL , Dota, Liên quân nơingười chơi có thể vào vai hàng trăm nhân vật với lối chơi khác nhau Nhà phát triểnkhông thể tạo ra được nhạc game thống nhất để thỏa mãn được lượng người chơi khổng

lồ đến từ nhiều quốc gia với ngôn ngữ , nền văn hóa khác nhau

Điều này dẫn đến việc người chơi tự tìm các bản nhạc bên ngoài phù hợp để có thể vừachơi game vừa thỏa mãn sở thích âm nhạc của mình Tuy nhiên việc tìm một bản nhạcphù hợp với sở thích cũng như game không phải là một điều dễ dàng chút nào Các hệthống nghe nhạc online hiện nay như mp3, nhaccuatui tuy đều có hệ thống gợi ý nhưngđều là gợi ý liên quan đến cùng tác giả , nội dung mà không thể gợi ý liên quan đến cácngữ cảnh như chơi game Vì vậy người dùng thường mất rất nhiều thời gian để có thểtìm kiếm, lựa chọn

Từ nhu cầu đó , cần có các nền tảng hỗ trợ người dùng trong công việc này Với mục tiêutrên , nhóm em quyết định xây dựng một ứng dụng nghe nhạc cho game liên quân mobiegiúp hỗ trợ người chơi trong game nhanh chóng lựa chọn được các bản nhạc phù hợp để

có thể vừa nghe vừa chơi game một cách thoải mái nhất

1.2.Đặt bài toán

Ứng dụng nghe nhạc cho game Liên quân cho phép người dùng có thể tìm kiếm bảnnhạc, bài hát phù hợp bằng cách hiển thị các bản nhạc theo đúng nhu cầu người dùngquan tâm cũng như phù hợp với ngữ cảnh Hệ thống có các chức năng cho người dùngthêm hoặc xóa các bản nhạc không cần thiết trong 1 danh sách qua đó tự động thu thậpcác dữ liệu người dùng để đưa ra các gợi ý bản nhạc phù hợp hơn

Người dùng muốn thực hiện các chức năng thì phải đăng ký thành viên và đăng nhập vào

hệ thống Các thông tin đăng kí sẽ được lưu trữ lại để trở thành các thông tin người dùng.Sau khi người dùng đăng nhập vào hệ thống Hệ thống sẽ thu thập các dữ liệu về hành vingười dùng như nghe bản nhạc nào, xóa bản nhạc nào đồng thời kết hợp với các thông tinđăng kí để đưa ra các gợi ý phù hợp với người dùng

1.3 Phương pháp triển khai :

Input : Các bản nhạc dưới dạng mp3 được phân chia thành các chủ đề, nội dung phù hợp.Yêu cầu của các bản nhạc này là có nội dung và âm điệu phù hợp với game

Output : Các bản nhạc gợi ý cho người dùng sao cho phù hợp với sở thích của ngườidùng cũng như ngữ cảnh mà người dùng lựa chọn

Trang 21

Phương pháp luận :

Để có thể xây dựng nên hệ thống gợi ý tốt nhất , cần xác định các yếu tố :

- Thông tin người dùng : Qua tên tuổi , giới tính , sở thích ,

- Dữ liệu hành vi người dùng : Các đánh giá nghe nhạc, lịch sử tương tác ứng dụng

- Các ngữ cảnh người dùng khi chơi game : Thời gian, nhân vật đang chơi, chơicùng ai …

Phương pháp xử lí :

- Nghiên cứu các thể loại nhạc , tác động của âm nhạc đến cảm xúc và việc chơigame

- Nghiên cứu xu hướng nghe nhạc , sở thích người nghe theo độ tuổi , giới tính …

- Lưu trữ các dữ liệu về người dùng

- Sử dụng CARS để đề xuất nhạc cho mỗi người dùng theo ngữ cảnh

Phương pháp lập trình : Hướng đối tượng

Mô tả các tính năng cơ bản : Người dùng cần đăng nhập để sử dụng hệ thống Với mỗinhân vật và ngữ cảnh người dùng lựa chọn , hệ thống sẽ gợi ý ra danh sách các bản nhạcphù hợp nhất Người dùng có thể nghe thử hoặc thêm bản nhạc vào 1 Playlist lưu trữ

2.Hệ thống gợi ý nhạc trong ứng dụng

2.1.Đặc tả hệ thống

Các đối tượng chính của hệ thống

Với 1 hệ thống gợi ý theo ngữ cảnh luôn có các đối tượng chính như user, item, ngữ cảnh

và đánh giá Qua phân tích hệ thống chúng ta xác định các hệ thống như sau :

User : Người dùng ứng dụng Từ nội dung của ứng dụng có thể xác định được ngườidùng mà chúng ta hướng đến là game thủ và thích nghe nhạc Ngoài ra để xây dựng hệthống gợi ý chính xác, chúng ta cần các thông tin liên quan đến xử lí bài toán Vì vậyvới đối tượng người dùng chúng ta cần xác định các thông tin :

- Thông tin đăng nhập : Tên , tài khoản đăng nhập , mật khẩu

- Thông tin cá nhân : Độ tuổi, giới tính, thể loại nhạc yêu thích , nhân vật hay chơi Item : Các bản nhạc Để có thể đưa ra các gợi ý cần phân loại cản bản nhạc theo nộidung riêng biệt Các thông tin cần có của 1 bản nhạc :

- Thông tin thường : Tên , tác giả , file nhạc

- Thông tin cần thiết để đề cử : Nội dung , thể loại , âm điệu

Ngữ cảnh : Từ các chương trước, chúng ta đã biết có rất nhiều loại ngữ cảnh khác nhau

có thể ảnh hưởng đến hệ thống gợi ý như ngữ cảnh thiết bị , ngữ cảnh người dùng ( hoạtđộng .) , ngữ cảnh vật lí ( thời tiết …) Chúng ta cần xác định các ngữ cảnh liên quan vàphù hợp với hệ thống

Đầu tiên xét đến ngữ cảnh thiết bị như khả năng CPU, bộ nhớ, mạng Đây là các ngữcảnh không liên quan trực tiếp với hệ thống của nhóm nên sẽ không đề cập đến

Ngữ cảnh người dùng : Vị trí, nhiệm vụ hiện thời liên quan đến người dùng hoặc đối

Trang 22

tượng khác Xem xét hoạt động của người dùng khi sử dụng hệ thống gợi ý : Ngườidùng đang sử dụng điện thoại để chơi game liên quân và nghe nhạc Các ngữ cảnh ngườidùng có thể xảy ra :

- Đang chơi nhân vật nào : Điều này ảnh hưởng trực tiếp đến tâm lí và quá trình xử líthông tin của người dùng Ví dụ chơi 1 nhân vật có lối chơi nhanh thì tâm lí ngườidùng đang rất năng động , vội vã Trong khi 1 nhân vật lối chơi vui vẻ, nhẹ nhàng thìtâm lí người dùng rất thoải mái , dễ chịu , không vội vàng Các tâm lí khác nhau nàycũng sẽ ảnh hưởng trực tiếp tới loại nhạc mà người dùng muốn nghe Vì vậy đây là

Vì vậy để đơn giản và tương tác tốt hơn với người dùng ứng dụng không có tính năngđánh giá 1 -5 sao Để có thể lưu trữ các đánh giá của người dùng , hệ thống sử dụng listnhạc yêu thích Theo đó nếu người dùng nghe và thêm bản nhạc vào list nhạc , bản nhạc

đó sẽ được đánh giá max điểm là 5 Ngoài ra hệ thống cũng tự động ghi nhận các thôngtin phản hồi tiềm ẩn từ người dùng Cụ thể, thay vì người dùng phải xếp hạng hay đánhgiá trên mỗi bài hát, ở đây hệ thống sẽ ghi nhận lại thời lượng mà họ đã nghe bài hát đó(thời gian càng lâu đồng nghĩa với người dùng càng thích, dĩ nhiên cũng có ngoại lệnhưng không đáng kể) và do vậy xem thời gian nghe là thông tin phản hồi từ người dùng

Do mỗi bài hát có thời lượng ngắn/dài khác nhau nên chúng tôi chuyển đổi thời lượng

mà người dùng đã nghe thành dạng tỷ lệ thời lượng Đây cũng chính là thông tin phảnhồi từ người dùng u cho bài hát i:

r ui=Thời lượngngười dùng u nghe bài hát i

Theo đó nếu người dùng nghe hết cả bản nhạc những vẫn không quyết định cho vào listnhạc thì điểm đánh giá người dùng với bản nhạc đó sẽ là 4 Nếu người dùng chỉ nghemột ít mà chuyển ngay sang bài khác thì điểm đánh giá sẽ càng thấp

Tổng kết : các đối tượng hệ thống :

Trang 23

Người dùng : các thông tin : Tên , tài khoản đăng nhập , mật khẩu , Độ tuổi, giới tính, thểloại nhạc yêu thích , nhân vật hay chơi

Bản nhạc : Tên, tác giả, file nhạc, nội dung, thể loại, âm điệu

Ngữ cảnh : Nhân vật đang chơi , chơi một mình hay cùng bạn , tâm trạng đang chơi , thờigian chơi

Đánh giá:

r ui=Thời lượngngười dùng u nghe bài hát i

Nếu u thêm i vào playlist yêu thích , r ui = 5

2.2 Mô tả hoạt động của hệ thống gợi ý trong ứng dụng

2.1 Hoạt động của hệ thống trong giai đoạn đầu

Khi ứng dụng mới đi vào hoạt động sẽ chưa có nhiều dữ liệu về người dùng khác nhaucũng chưa có các dữ liệu đánh giá bản nhạc của người dùng Vì vậy rất khó để tìm các

dữ liệu người dùng tương thích nhau để đối chiếu

Vì vậy cơ chế hoạt động của hệ thống gợi ý trong giai đoạn đầu như sau

Gợi ý dựa trên tìm kiếm và truy vấn hướng ngữ cảnh (context-driven querying andsearch):

Hướng tiếp cận này sử dụng thông tin ngữ cảnh thu thập được (từ người dùng, từ thiết bị

di động, ) để thực hiện truy vấn và tìm kiếm các tập sản phẩm và cung cấp cho ngườidùng sản phẩm phù hợp nhất mà không cần đối chiếu với người dùng khác Ví dụ, trongmột hệ gợi ý về nhạc, dựa trên thông tin sở thích của người dùng (thu thập theo thông tin

hồ sơ ban đầu của người dùng), và ngữ cảnh ( do người dùng chọn ) , hệ thống sẽ truyxuất dữ liệu và tạo ra list các bản nhạc sắp xếp theo mức độ phù hợp

Thể loại

Nhạc Hip -hopNhạc POPNhạc JazzNhạc thính phòngNhạc đồng quêNhạc điện tử

Nội dung

Nội dung liên quan đến “ a”

Nội dung liên quan đến “ b”

Nội dung liên quan đến “ c”

Nội dung liên quan đến “ d”

Nội dung liên quan đến “ e”

Nội dung liên quan đến “ f”

Trang 24

Nội dung liên quan đến “ h”

Âm điệu

NhanhChậmVui vẻSôi độngBuồnNhí nhảnh

Thoải mái Nhạc đồng quê, nhạc điển tử, thính phòng +1 Âm điệu

chậm +1Đang

chơi Một mìnhCùng bạn Nhạc điện tử+1 Âm điệu sôi động +1Nhạc thính phòng +1 Âm điệu nhí nhảnh +1

Thời gian

chơi

Sáng Nhạc điện tử+1 Âm điệu sôi động +1

Trưa Nhạc điện tử+1 Âm điệu sôi động +1

Chiều Nhạc điện tử+1 Âm điệu nhanh +1

Tối Nhạc điện tử+1 Âm điệu sôi động +1

Đêm Nhạc điện tử+1 Âm điệu chậm +1

Nhân vật

chơi NV 1NV 2 Nội dung liên quan đến “ a”Nội dung liên quan đến “ a”

NV3 Nội dung liên quan đến “ b”

NV4 Nội dung liên quan đến “ b”

NV5 Nội dung liên quan đến “ c”

NV6 Nội dung liên quan đến “ c”

NV 7 Nội dung liên quan đến “ d”

NV8 Nội dung liên quan đến “ d”

NV9 Nội dung liên quan đến “ e”

Trang 25

12 -16 pop, điện tử +1 Âm điệu nhí nhảnh, vui vẻ, sôi động +1

16-25 pop, điện tử +1 vui vẻ, sôi động +1

>25 Nhạc đồng quê, nhạc điển tử, thính phòng +1 Âm điệu

chậm +1Giới tính Nam Nhạc điện tử+1 Âm điệu sôi động +1

NV 1 Nhạc điện tử+1 Âm điệu sôi động +1

NV 2 pop, điện tử +1 Âm điệu buồn +1

NV3 pop, điện tử +1 Âm điệu nhí nhảnh +1

NV4 pop, điện tử +1 Âm điệu, vui vẻ +1

NV5 …… pop, điện tử +1 Âm điệu sôi động +1

Bảng 6 Mô tả hoạt động hệ thống

Dựa theo việc đối chiếu các thuộc tính phù hợp của thông tin đầu vào và thuộc tính củacác bản nhạc sẽ tạo nên danh sách các bản nhạc với mức độ phù hợp cao xuống thấp( mỗithuộc tính phù hợp sẽ cộng 1 điểm cho bản nhạc Bản nhạc nào có điểm càng cao sẽ cóxếp hạng càng cao )

Ví dụ với Người dùng A , độ tuổi >25 , giới tính nam, nhạc yêu thích POP , Nhân vật yêuthích NV1 cùng với ngữ cảnh đang vui, chơi một mình, ban đêm , nhân vật chơi là 2 Như vậy từ các bảng thuộc tính phù hợp ta có được yêu cầu bản nhạc phù hợp :

Thể loại nhạc : Nhạc điện tử +5 , nhạc Pop +2 , nhạc Jazz +1

Nội dung : Nội dung b +1

Âm điệu : Nhanh +2 , vui vẻ +2 , sôi động +1

Đối chiếu với dữ liệu bản nhạc sẽ có được điểm của bản nhạc

Ví dụ bản nhạc bn1 là nhạc điện tử, nội dung b, âm điệu sôi động sẽ có 5+1+1 =7 điểm Xếp hạng các bản nhạc từ điểm cao nhất xuống thấp nhất để có bảng đề cử

Bảng 7 Mô tả hoạt động hệ thống

2.2 Hoạt động của hệ thống trong các giai đoạn sau

Các bảng đánh giá mức độ phù hợp ở phía trên mang tính chủ quan từ người thiết kế ứngdụng , vì vậy độ chính xác sẽ không được cao Vì vậy phương pháp trên chỉ được sửdụng hiệu quả lúc đầu , khi đã có đủ thông tin tham chiếu người dùng chúng ta cần sử

Trang 26

dụng hướng tiếp cận khác hiệu quả hơn :

Gợi ý dựa trên suy luận và tối ưu tham chiếu ngữ cảnh (contextual preference eliction andestimation): Một hướng tiếp cận khác trong việc ứng dụng thông tin ngữ cảnh vào trong

hệ gợi ý là gợi ý dựa trên suy luận và tối ưu tham chiếu ngữ cảnh Đây cũng là xu hướngtiếp cận mới nhất trong việc nghiên cứu các hệ gợi ý dựa trên ngữ cảnh] Khác với hướngtiếp cận gợi ý dựa trên truy vấn và tìm kiếm hướng ngữ cảnh, chủ yếu dựa trên các thôngtin ngữ cảnh hiện tại của người dùng, các kỹ thuật thuộc hướng tiếp cận này sẽ cố gắng

mô hình hóa và học các sở thích của người dùng bằng cách theo dõi tương tác của ngườidùng cần xem xét và các người dùng khác đối với hệ thống, hoặc bằng cách thu thậpthông tin phản hồi của người dùng đối với các sản phẩm đã được hệ thống gợi ý trướcđây

Như vậy điểm quan trọng nhất trong hướng tiếp cận này là đánh giá của người dùng vớibản nhạc Như đã nói ở trên , việc đánh giá của người dùng với bản nhạc dựa trên 2 nộidung : Việc người dùng thêm bản nhạc vào list nhạc NV ( yêu thích ) và thời gian nghebản nhạc trước khi chuyển sang bài khác

Điểm đánh giá là 5 nếu người dùng thêm vào list nhạc

Còn lại , điểm đánh giá của người dùng u sau khi nghe bài hát I :

r ui=Thời lượngngười dùng u nghe bài hát i

Phương pháp đề xuất : xử lí thông tin ngữ cảnh đầu vào

Ví dụ Giả sử Qua thời gian vận hành ứng dụng và thu thập dữ liệu người dùng , chúng ta

sẽ có tập dữ liệu gợi ý bản nhạc sau :

Hình 12 Sử dụng phương pháp Pre-filtering

Trang 27

Bảng 9 Tập dữ liệu sau khi sử dụng Pre-filtering

Như vậy sau khi xử lý xong ta sẽ được một tập dữ liệu hai chiều Lúc này, ta có thể

áp dụng các thuật toán trong hệ thống gợi ý truyền thống để dự đoán xếp hạng và gợi

ý cho người dùng ,

Một trong những phương pháp hay được sử dụng hiện nay là phương pháp lọc cộngtác dựa trên mô hình đó là kỹ thuật phân rã ma trận (Matrix Factorization - MF) trêntập dữ liệu đã được xử lý ngữ cảnh đầu vào

2.Ứng dụng phương pháp phân rã ma trận MF

Kỹ thuật phân rã ma trận là việc chia một ma trận lớn X thành hai ma trận có kích thước nhỏ hơn W và H, sao cho ta có thể xây dựng lại X từ hai ma trận nhỏ hơn này càng chính xác càng tốt, nghĩa là X ~ WHT, như minh họa trong hình sau

Trang 28

Trong đó, W|U|×K là một ma trận mà mỗi dòng u là một véc-tơ bao gồm K nhân tố tiềm ẩn (latent factors) mô tả người dùng u; và H|I|×K là một ma trận mà mỗi dòng i

là một véc-tơ bao gồm K nhân tố tiềm ẩn mô tả cho item i Gọi w uk và h ik là các phần

tử tương ứng của hai ma trận W và H, khi đó xếp hạng của người dùng u trên mục

tin i được dự đoán bởi công thức:

Như vậy vấn đề ở đây là cần xác định các tham số của ma trân W và H Các tham số nàyđược xác định bằng phương pháp tối ưu hóa hàm mục tiêu ( objective funtion ) Một sốhàm mục tiêu thông dụng có thể kể đến như Root Mean Squared Error ( RMSE )

Tuy nhiên Trong hệ thống gợi ý bài hát, vì dữ liệu phản hồi từ người dùng là tiềm ẩn vàthuộc về vấn đề gợi ý mục tin (item recommendation) nên việc sử dụng giải thuật BPR-

MF phù hợp hơn do tính ưu việt của nó đối với loại tính chất của dữ liệu này Theo đóthay vì sử dụng RMSE , thuật toán sẽ sử dụng Hàm mục tiêu của BPR-MF như sau:

r uij=¿¿r ui¿ −r uj¿ ¿ là giá trị dự đoán của u tới ij

θ đại điện cho các tham số W và H

γθ ∥θ∥2 là thành phần chuẩn hóa để ngăn vấn đề học vẹt ( overfitting)

Sử dụng stochastic gradient descent (Bottou, 2004) để triển khai chi tiết giải thuật họctrong (Rendle et al., 2009), ta được giải thuật như bên dưới:

1: procedure LearnBPR-MF (D S, λw , λH , λH , α )

2: W  N (0, σ2 ) // khởi tạo giá trị cho tham số

3: H  N (0, σ 2 ) // khởi tạo giá trị cho tham số

Hình 13 Minh họa kỹ thuật phân rã ma trận

Trang 29

4: repeat // cập nhật lại giá trị tham số đến khi tối ưu

5: draw randomly (u, i, j) from Ds (j I \ I  )

wuk  wuk  α(v(hik hjk )  λwwuk )

hik  hik α(vwuk λH hik )

sẽ gửi lại danh sách này theo thứ tự xếp hạng từ cao tới thấp

Với người dùng mới u k , hệ thống sẽ kiểm tra dữ liệu để tìm kiếm người dùng cũ u m cócác thông tin cá nhân giống với u k Kết quả gợi ý cho người dùng u k sẽ được đối chiếu từngười dùng u m

II.Phân tích thiết kế

1.Xác định yêu cầu

1.1.Các tác nhân

chỉnh sửa playlist … Mỗi người dùng sẽ có các thông tin và dữ liệu lưu trữ riêng

lưu trữ trong CSDL

lưu trữ , đề cử hoặc xếp hạng

theo yêu cầu

1.2.Bảng thuật ngữ

Game liên quân mobie : Là 1 game mobie thể loại MOBA Người chơi lựa chọn 1 nhân

vật trong game cùng người chơi khác chia thành 2 đội ( 3v3 hoặc 5v5 ) Khi chơi, gamethủ sẽ điểu khiển nhân vật trong 1 bản đồ lớn , sử dụng các kĩ năng để tấn công quái vàngười chơi khác Trò chơi kết thúc khi 1 đội phá hủy được nhà chính bên kia

Nhân vật : Nhân vật trong game liên quân mobie Trong game người chơi có thể vào vai

1 trong hàng chục nhân vật khác nhau Mỗi nhân vật có hình ảnh, đặc điểm và lối chơikhác nhau

Trang 30

Ngữ cảnh : Là toàn bộ tình huống, nền tảng hay môi trường có liên quan tới một vài sự

kiện xảy ra hoặc cá nhân nào đó

Lối chơi của nhân vật : Mỗi nhân vật sẽ có tiểu sử, hình ảnh, cách chơi riêng biệt tạo

nên lối chơi khác nhau Vì vậy mỗi nhân vật sẽ yêu cầu các thể loại nhạc phù hợp khácnhau

Thời gian chơi game : Hoàn cảnh chơi game của nhân vật bao gồm các vấn đề liên quan đến thời gian ( sáng , trưa , tối ) và nhân vật đang chơi ( lối chơi )

Thể loại nhạc : Dùng để phần biệt các dòng nhạc lớn hiện nay như jazz, hiphop , pop ,

rock, nhạc đồng quê, nhạc thính phòng

Nội dung bản nhạc : Nội dung lời bản nhạc như nói về hòa bình, tình yêu, chiến tranh

Âm điệu bản nhạc : Âm điệu sôi động, nhanh, chậm …

Playlist nhân vật : Các bản nhạc liên quan đến nhân vật được phân chia thành các nội

dung khác nhau để quản lí Mỗi nhân vật sẽ có 3 list nhạc sau :

List nhạc Nhân vật : List nhạc lưu trữ các bản nhạc phù hợp với nhân vật Sử

dụng list nhạc mặc định của hệ thống trong lần dùng đầu tiên Người dùng có thểthay đổi bằng cách thêm, xóa các bản nhạc trong List nhạc Dữ liệu sẽ được lưu lại vàhiện thị trong các lần dùng tiếp theo

List nhạc đề cử : List nhạc được xây dựng dựa hệ thống gợi ý

List nhạc xếp hạng : List nhạc được xây dựng qua dữ liệu bảng xếp hạng

Thông tin người dùng : Các thông tin liên quan đến sở thích, tuổi, thông tin cá nhân…

do người dùng điền Ngoài ra ứng dụng cũng thu thập các thông tin về hành vi sử dụngứng dụng liên quan đến sở thích nhạc người dùng

Hệ thống gợi ý : Là hệ thống sử dụng 1 thuật toán cho phép xây dựng nên 1 list nhạc phù

hợp với các yêu cầu người dùng

Thuật toán đề cử : Thuật toán sử dụng CARS với các thông tin đầu vào là thông tin

người dùng và ngữ cảnh chơi game để lọc ra các bản nhạc

Trang 31

1.3.Danh sách các ca

Hình 14 Thiết kế tương tác ( chi tiết xem trong file hình ảnh đi kèm )

Liệt kê các ca trong ứng dụng :

U1 Đăng nhập : Sử dụng tài khoản, mật khẩu đã đăng kí để vào ứng dụng

U2 Đăng kí : Đăng kí tài khoản bằng cách điền các thông tin mà ứng dụng yêu cầu U3 Thay đổi thông tin cá nhân : Người dùng chọn hình avatar để vào xem và chỉnh sửa

thông tin cá nhân

U4 Đăng xuất : Chọn biểu tượng đăng xuất để quay lại giao diện Đăng nhập

U5 Hiển thị Playlist của 1 NV : Người dùng chọn một nhân vật trên màn hình chính để

xem play list về nhân vật đó

U6 Phát – dừng nhạc : Người dùng chọn button bên cạnh bản nhạc phát nhạc để phát

nhạc Chọn phát tất cả để phát tất cả bản nhạc trong list nhạc hiện tại Ân lại buttondừng để dừng phát nhạc

U7 Xem chi tiết bản nhạc : Người dùng chọn một bản nhạc để xem các thông tin về bản

Trang 32

U10 Chỉnh sửa thông tin ngữ cảnh cần gợi ý : Tại Tab đề cử chọn chỉnh sửa.

U11 Thêm bản nhạc vào play list nhân vật hiện tại : Tại danh sách nhạc đề cử hoặc xếp

hạng người dùng chọn “ thêm vào play list nhân vật

U12 Hiện thị bảng xếp hạng : Người dùng chọn Tab Xếp hạng

U13 Xem play list nhân vật tiếp theo : Nhân mũi tên bên cạnh tên nhân vật để chuyển

sang play list nhân vật tiếp theo

U14 Chọn lại play list nhân vật khác : Người dùng ấn quay lại để trở về giao diện chính.

1.4.Khảo sát các ca sử dụng :

Khi người dùng vào ứng dụng , hệ thống yêu cầu người dùng đăng nhập để sử dụng hệthống ( U1) Nếu chưa có tài khoản , người dùng có thể chọn đăng kí để đăng kí tài khoản( U2 )

Sau khi đăng nhập thành công, giao diện chính hiển thị bao gồm các hình ảnh đại diệncho các nhân vật game mà ứng dụng hỗ trợ , hình avatar mặc định người dùng và buttonđăng xuất Người dùng có thể xem và chỉnh sửa lại thông tin người dùng bằng cách chọnavatar (U3) hoặc quay lại giao diện đăng nhập để đăng xuất bằng cách chọn button ĐăngXuất ( U4)

Tại giao diện chính , Người dùng chọn 1 nhân vật để hiện thị giao diện xem Playlist củanhân vật (U5) Tại giao diện này chứa List nhạc của nhân vật List nhạc lúc đầu là listnhạc mặc định của hệ thống, người dùng có thể thay đổi bằng cách thêm, xóa các bảnnhạc Người dùng có thể phát nhạc bằng cách chọn button phát nhạc bên cạnh bản nhạcmuốn nghe hoặc button phát tất cả để phát tất cả nhạc trong list nhạc hiện tại (U6) Đểxem thông tin chi tiết bản nhạc , người dùng chỉ cần chọn tên bản nhạc muốn xem Khi

đó ứng dụng sẽ hiển thị giao diện thông tin chi tiết bản nhạc(U7) Ngoài ra , người dùng

có thể chỉnh sửa lại List nhạc thông qua việc chọn button xóa bên cạnh các bản nhạcmuốn xóa (U8) Ứng dụng sẽ yêu cầu người dùng xác nhận lại nếu muốn xóa

Trong giao diện này còn có 2 Tab là nhạc đề cử và nhạc xếp hạng Lựa chọn Tab nhạc đề

cử nếu muốn tìm kiếm các bản nhạc phù hợp (U9) Muốn lựa chọn các thông tin gợi ý,

ấn button chỉnh sửa tại giao diện tab đề cử Khi đó sẽ hiển thị giao diện yêu cầu ngườidùng lựa chọn các thông tin, ngữ cảnh hiện tại và xác nhận Khi đó giao diện đề cử sẽđược cập nhập lại theo thông tin nhận được (U10)

Ngoài ra nếu muốn thêm 1 bản nhạc nào đó trong danh sách đề cử vào list nhạc NV, cóthể lựa chọn button Thêm bên cạnh bản nhạc đó (U11)

Tương tự với Tab Nhạc xếp hạng (U12) Người dùng chọn Tab bảng xếp hạng để hiệnthị list nhạc xếp hạng

Để xem Playlist của các nhân vật khác, người dùng lựa chọn các button sang trái phải bêncạnh tên nhân vật (U13) hoặc nhấn nút quay lại để trở về giao diện chính (U14)

1.5.Biểu đồ các ca sử dụng -usecase.

Trang 33

Hình 15 Biểu đồ Use Case

1.6 Kịch bản

Tác nhân chính Người dùng

Người chịu trách nhiệm Thông tin người dùng

Tiền điều kiện Đã hiển thị giao diện đăng nhập

Đảm bảo tối thiểu Người dùng có thể thoát ứng dụng

Đảm bảo thành công Đăng nhập thành công

Chuỗi sự kiện chính

1.Người dùng mở ứng dụng

2.Hệ thống hiện thị popup yêu cầu điền thông tin đăng nhập 3.Người dùng điền thông tin và nhấn đăng nhập

4.Hệ thốn kiểm tra thông tin đăng nhập

5.Hệ thống đăng nhập thành công và hiển thị giao diện chính

Ngoại lệ

5.1 Hệ thống thông báo sai mật khẩu

5.1.1 Hệ thống yêu cầu người dùng nhập lại hoặc đăng kí 5.1.2 Người dùng điền lại mật khẩu cho đến khi chính xác

Trang 34

Bảng 10 Kịch bản đăng nhập

Tác nhân chính Người dùng

Người chịu trách nhiệm Thông tin người dùng

Tiền điều kiện Đã hiển thị đăng nhập, đăng kí

Đảm bảo tối thiểu Nhấn quay lại để trở về giao diện đăng nhập

Đảm bảo thành công Đăng kí tài khoản mới thành công

Chuỗi sự kiện chính

1.Người dùng chọn Đăng kí tại giao diện đăng nhập

2.Hệ thống hiện thị popup điền các thông tin để đăng kí

3.Người dùng điền các thông tin và xác nhận

4.Hệ thống kiểm tra thông tin đăng kí và lưu trữ

5.Hệ thống thông báo đăng kí thành công

Ngoại lệ

3.1 Người dùng điền lỗi thông tin

3.1.1.Hệ thống yêu cầu người dùng nhập lại thông tin

3.1.2 Người dùng điền thông tin chính xác và xác nhận

5.1 Hệ thống thông báo đăng kí lỗi do trùng tên

5.1.1.Hệ thống yêu cầu điền lại thông tin

5.1.2.Người dùng điền lại thông tin chính xác và xác nhận

Bảng 11 Kịch bản đăng ký

Tên Use Case U3 : Chỉnh sửa thông tin cá nhân

Tác nhân chính Người dùng

Người chịu trách nhiệm Thông tin người dùng

Tiền điều kiện Đã đăng nhập thành công

Đảm bảo tối thiểu Nhấn hủy bỏ để quay về trạng thái ban đầu

Đảm bảo thành công Cập nhật thông tin người dùng thành công

Kích hoạt Button sửa thông tin trên giao diện thông tin cá nhân

Chuỗi sự kiện chính

1 Tại Giao diện chính , người dùng chọn Avatar người dùng

2.Hệ thống hiện thị giao diện thông tin chi tiết về người dùng

3.Người dùng chọn button Thay đổi thông tin trên giao diện

4 Hệ thống hiển thị popup điền thông tin và yêu cầu người dùng điền lại

5.Người dùng điền thông tin và xác nhận

6.Hệ thống kiểm tra , lưu trữ

7.Hiển thị thông báo thay đổi thành công

8.Cập nhập lại giao diện

Trang 35

Ngoại lệ

5.1.Người dùng điền lỗi thông tin

5.1.1 Hệ thống yêu cầu người dùng điền lại thông tin

5.1.2 Người dùng điền lại thông tin chính xác và xác nhận

Bảng 12 Kich bản chỉnh sửa thông tin cá nhân

Tên Use Case U5 : Hiển thị Playlist 1 Nhân vật

Tác nhân chính Người dùng

Người chịu trách nhiệm Hệ thống quản lí nhạc

Tiền điều kiện Đã hiển thị giao diện chính thành công

Đảm bảo tối thiểu Nhấn quay lại để trở về giao diện chính

Đảm bảo thành công Hiển thị List nhạc của Nhân vật thành công

Kích hoạt Button Hình hiển thị các nhân vật trong game “ Liên quân

3.Người dùng lựa chọn 1 nhân vật muốn sử dụng trong danh sách đó

4.Hệ thống hiển thị List nhạc play list của nhân vật này

Ngoại lệ :

4.1 Lỗi lấy dữ liệu playlist của nhân vật

4.1.1 Thông báo popup lỗi và cho phép người dùng trở về giao diện chính

Bảng 13 Kịch bản chỉnh sửa Playlist 1 nv

Tên Use Case U6.1 : Phát nhạc

Tác nhân chính Người dùng

Người chịu trách nhiệm Hệ thống quản lí nhạc

Tiền điều kiện Giao diện có list nhạc

Đảm bảo tối thiểu Nhấn quay lại để trở về giao diện cũ

Đảm bảo thành công Bắt đầu phát nhạc

Kích hoạt Button phát nhạc bên cạnh bản nhạc muốn phát

2.1 Không thể tìm kiếm thông tin bản nhạc

2.1.1 Thông báo popup lỗi và cho phép người dùng trở về giao diện cũ

2.2 Lỗi thiết bị không thể phát nhạc

2.2.1 Thông báo popup lỗi và yêu cầu người dùng kiểm tra lại thiết bị

Trang 36

Bảng 14 Kịch bản phát nhạc

Tên Use Case U6.2 : Phát tất cả

Tác nhân chính Người dùng

Người chịu trách nhiệm Hệ thống quản lí nhạc

Tiền điều kiện Giao diện có list nhạc

Đảm bảo tối thiểu Nhấn quay lại để trở về giao diện cũ

Đảm bảo thành công Bắt đầu phát nhạc

Kích hoạt Button phát tất cả trên giao diện

Chuỗi sự kiện chính

1.Tại list nhạc trong giao diện, người dùng chọn 1 button phát tất cả

2.Hệ thống kiểm tra thông tin các bản nhạc và bắt đầu phát tất cả bản nhạc trong danhsách

3.Hiển thị popup nhỏ cho thấy bản nhạc đang phát

Ngoại lệ :

2.1 Không thể tìm kiếm thông tin bản nhạc nào đó trong danh sách

2.1.1 Thông báo popup lỗi bản nhạc đó và vẫn cho phép phát các bản nhạc còn lại 3.1 Trong quá trình phát nhạc người dùng xóa hoặc thêm 1 bản nhạc trong list nhạc sẽcập nhập lại danh sách phát

Bảng 15 Kịch bản phát tất cả

Tên Use Case U7.Xem chi tiết 1 bản nhạc

Tác nhân chính Người dùng

Người chịu trách nhiệm Hệ thống quản lí nhạc

Tiền điều kiện Giao diện có list nhạc

Đảm bảo tối thiểu Nhấn quay lại để trở về giao diện cũ

Đảm bảo thành công Hiển thị giao diện thông tin chi tiết bản nhạc

Kích hoạt Ấn vào tên bản nhạc muốn xem trên list nhạc

Chuỗi sự kiện chính

1.Người dùng ấn vào tên bản nhạc trên list nhạc

2.Hệ thống kiểm tra và gửi về thông tin bản nhạc

3.Hiển thị giao diện thông tin chi tiết bản nhạc

Ngoại lệ :

4.1 Lỗi lấy dữ liệu về bản nhạc

4.1.1 Thông báo popup lỗi và cho phép người dùng trở về giao diện cũ

Bảng 16 Kịch bản xem chi tiết 1 bản nhạc

Ngày đăng: 28/09/2019, 07:30

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