Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 71 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
71
Dung lượng
6,4 MB
Nội dung
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 GVHD : Đỗ Thị Liên Sinh viên thực : Nhóm Nguyễn Thanh Bình Lưu Thị Huệ Nguyễn Minh Trung Nguyễn Hồng Văn Hà Nội, 11/2017 DANH MỤC HÌNH ẢNH MỞ ĐẦU Ứng dụng dịch vụ di động trở thành phương tiện giao tiếp thơng tin người dùng – người dùng, người dùng – nhà cung cấp dịch vụ Bài toán làm để ứng dụng dịch vụ di động ngày trở nên thông minh hơn, linh hoạt hơn, hiệu việc trao đổi thông tin, đáp ứng nhu cầu sở thích cá nhân người dùng ngày trở nên cần thiết khẩn cấp Giải pháp cá nhân hóa ứng dụng dịch vụ di động theo hướng tiếp cận ngữ cảnh người dùng dựa thông tin thu thập qua việc trao đổi liệu vị trí, thời gian, thiết bị, thói quen, sở thích, … người dùng áp dụng để giải toán trở thành xu hướng phát triển công nghệ tất yếu nhằm mang lại cho người sử dụng thiết bị di động tiện ích tốt nhất, đáp ứng đầy đủ nhu cầu cá nhân q trình sử dụng thơng tin thơng qua ứng dụng dịch vụ di động Theo thống kê IFL Science ,con người 2,5 triệu tỷ (quintillion) byte liệu ngày Với số lượng liệu khổng lồ thực tế người tiếp cận tới lượng liệu nhỏ Ví dụ trang web nghe nhạc Zingmp3 có hàng trăm nghìn nhạc khác , người nghe khoảng vài chục đến vài trăm nhạc Với việc người dùng tiếp cận nhạc nên khó để người quản lí đáp ứng u cầu nghe nhạc ngày cao khách hàng khách hàng có sở thích ngữ cảnh nghe nhạc riêng tập thể dục, chơi game Đây thách thức lớn với dịch vụ nghe nhạc trực tuyến cần giải để giúp khách hàng không cần tốn nhiều thời gian mà tìm kiếm nhạc phù hợp với thân Với thực trạng nêu trên, báo cáo hướng đến mục tiêu nghiên cứu xây dựng giải pháp cá nhân hoá ứng dụng dịch vụ động theo mơ hình hướng ngữ cảnh thời người dùng Đồng thời áp dụng kỹ thuật gợi ý dựa thông tin ngữ cảnh việc xây dựng ứng dụng nghe nhạc cho “game liên quân mobie” giúp hỗ trợ người chơi nhanh chóng lựa chọn nhạc phù hợp để vừa nghe vừa chơi game cách thoải mái A Tổng quan Hệ thống gợi ý theo ngữ cảnh ( CARS – Context Aware Recommend System) I Hệ thống gợi ý ( Recommender System – RS) Khái niệm Hệ gợi ý (Recommender system - RS) dạng hệ thống lọc thơng tin, sử dụng để dự đốn sở thích (preference) hay xếp hạng (rating) mà người dùng dành cho mục thơng tin (item) mà họ chưa xem xét tới khứ (item sản phẩm, phim, video clip, music, sách, ) nhằm gợi ý mục thơng tin “có thể quan tâm” người dùng Hệ gợi ý đưa gợi ý dựa trình thu thập, xử lý phân tích liệu từ người dùng Dữ liệu chia làm loại tường minh (explicit) cách yêu cầu người dùng phản hồi trực tiếp tiềm ẩn (implicit) cách tự động suy luận dựa tương tác 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 trường hợp, toán gợi ý coi toán dự đoán việc xếp hạng (rating) sản phẩm (phim, sản phẩm tiêu dùng, sách, nhạc…) chưa người dùng biết đến Việc dự đoán thường dựa đánh giá có người dùng người dùng khác Hệ thống gợi ý chứng minh ý 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 tải thông tin Hệ thống gợi ý trở thành công cụ mạnh mẽ phổ biến thương mại điện tử Mục đích hệ thống gợi ý dựa vào hành vi từ thói quen, nhu cầu khứ người sử dụng để dự đốn sở thích tương lai họ.RS đưa gợi ý dựa phản hồi khứ người dùng (như bình luận, đánh giá, ) sản phẩm, hát, phim, điểm du lịch, Các hệ thống gợi ý tiếng có như: gợi ý sản phẩm Amazon/Ebay, gợi ý phim/video clip NetFlix/Youtube, gợi ý đăng Facebook, Zalo RS cho thấy ý nghĩa to lớn việc giúp người dùng giải tình trạng tải thông tin ngày tăng Có hai loại mơ hình RS nghiên cứu ứng dụng thực tiễn là: hệ thống gợi ý chiều (2D RS) hệ thống gợi ý theo ngữ cảnh (đa chiều, thông thường chiều – 3D RS) Các thành phần hệ thống gợi ý Trong RS, thông thường người ta quan tâm đến ba thơng tin người dùng (user), mục tin (item, item sản phẩm, phim, hát, báo, tùy hệ thống), phản hồi (feedback) người dùng mục tin (thư ờng xếp hạng/đánh giá – rating biểu diễn mức đ ộ thích/quan tâm họ) Các thông tin biểu diễn thông qua ma trận Ở đó, dịng user, cột item, ô giá trị phản hồi (ví dụ, xếp hạng) biểu diễn “mức độ thích” user item tương ứng Các có giá trị item mà user xếp hạng khứ Những ô trống item chưa xếp hạng (điều đáng lưu ý user xếp hạng cho vài item khứ, có nhiều trống ma trận – gọi ma trận thưa – sparse matrix) Hình Ma trận biểu diễn liệu RS (user-item-rating matrix) Nhiệm vụ RS dựa vào có giá trị ma trận (dữ liệu thu từ khứ), thơng qua mơ hình đư ợc xây dựng, RS dự đốn cịn trống (của user hành), sau xếp kết dự đốn (ví dụ, từ cao xuống thấp) chọn 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 tập người dùng, I tập sản phẩm gợi ý Tập sản phẩm I lên đến hàng trăm, hàng nghìn chí hàng triệu sản phẩm Tương tự vậy, tập người dùng U lớn lên đến hàng triệu trường hợp Để dự đốn xếp hạng (hay tính tiện ích) sản phẩm i người dùng u người ta đưa hàm xếp hạng (rating) r: U x I-> R, R tập giá trị xếp hạng thứ tự tồn phần (ví dự số ngun dương số thực tập xác định) Mơ hình cịn gọi với tên gọi mơ hình dự đốn chiều (two-dimensional recommendation framework) Hình Các thành phần tiến trình gợi ý truyền thống Với người dùng u ∈ U, chọn sản phẩm i ∈ I cho hàm xếp hạng người dùng u item i lớn ∀ ∈ � , �′� = arg max �̂ (�, �) ∈ Tập người dùng U (u ∈ U; |U|=n), tập sản phẩm I (i ∈ I; |I| = m), rui ∈ R xếp hạng người dùng u cho sản phẩm i Trong hệ gợi ý, tính tiện ích sản phẩm i thường biểu thị mức độ quan tâm người dùng tới mặt hàng cụ thể thông qua trọng số; ví dụ người dùng Alice đánh giá sản phẩm có trọng số bảng sau Item1 Item2 Item3 Item4 Item5 Alice 4 ? Gil Kai 4 3 Bảng Bảng ma trận trọng số (đánh giá) hệ gợi ý 3.Thông tin phản hồi từ người dùng hai dạng tốn RS Trong RS, giá trị phản hồi (feedback) rui người dùng mục tin ghi nhận lại để làm sở cho việc dự đoán giá trị Tùy theo hệ thống mà giá trị có ý nghĩa khác nhau, ví dụ dùng để đo độ “phù hợp” hay “mức độ thích” (thường đánh giá s ản phẩm) hệ thống thương mại điện tử hay “năng lực/kết thực hiện” người dùng hệ thống e-learning Giá trị rui xác đ ịnh cách tường minh (explicit feedbacks) thơng qua việc đánh giá/xếp hạng (ví dụ, rating từ đến ; hay like (1) dislike (0),…) mà u bình chọn cho i; rui xác định 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ó dạng tốn RS dự đốn xếp hạng (rating prediction) hệ thống có phản hồi tường minh dự đốn mục thơng tin (item prediction/ recommendation) việc xác định xác suất mà người dùng thích mục tin tương ứng 4.Các kĩ thuật RS Hiện tại, RS có nhiều giải thuật đề xuất, nhiên gom chúng vào nhóm • Nhóm giải thuật lọc cộng tác (Collaborative Filtering): nhóm này, giải thuật chủ yếu sử dụng: Phương pháp láng giềng (Neighborhood-based, gọi Memorybased), dựa liệu khứ người dùng “tương tự - similarity” (user-based approach), dựa liệu khứ item “tương tự” (item-based approach) o Dựa mơ hình (Model-based): Nhóm liên quan đ ến việc xây dựng mơ hình dự đốn dựa liệu thu thập q khứ Như mơ hình Bayesian, mơ hình nhân tố tiềm ẩn (latent factor models): kỹ thuật phân rã ma trận (matrix factorization) điển hình o • Nhóm giải thuật lọc nội dung (Content-based Filtering): Gợi ý item dựa vào hồ sơ (profiles) người dùng dựa vào nội dung/thuộc tính (attributes) item tương tự item mà người dùng chọn q khứ • Nhóm lai ghép: Kết hợp cách Nhóm kỹ thuật khơng cá nhân hóa (non-personalization) Một khuyết điểm phương pháp lọc theo nội dung khó khăn việc thu thập thông tin, phần lớn mơ hình dựa lọc cộng tác cần thơng tin (user id, item id, feedback) hoạ t đ ộng tốt Do khuynh hướng đa phần nhà nghiên cứu thiên nhóm lọc cộng tác Phương pháp dựa hành vi khứ người dùng, ví dụ như: lịch sử giao dịch, đánh giá sản phẩm, xem phim, nghe hát, đặc biệt khơng cần thiết phải tạo • hồ sơ tường minh (explicit feedback) cho người dùng Để gợi ý sản phẩm cho người dùng, hệ thống lọc cộng tác cần so sánh đối tượng khác sản phẩm 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 sau: Hình Kiến trúc tổng quan hệ thống lọc cộng tác Do độ dài tài liệu nên nhóm tóm tắt kỹ thuật thông dụng trội (stateofthe-art) hệ thống gợi ý : 4.1 Kỹ thuật k láng giềng dựa người dùng/mục tin (User/Item kNNs) Có hai cách tiếp cận lọc cộng tác theo mơ hình K láng giềng dựa người dùng (User_kNN) – dự đoán dựa tương tự người dùng dựa mục tin (Item_kNN) – dự đoán dựa tương tự mục tin Kỹ thuật k láng giềng dựa người dùng (User_kNN) xác định độ tương tự hai người dùng thông qua việc so sánh đánh giá họ sản phẩm, sau dự đốn xếp hạng sản phẩm 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 việc chia ma trận lớn X thành hai ma trận có kích thước nhỏ W H, cho ta xây dựng lại X từ hai ma trận nhỏ xác tốt (Koren et al., 2009), nghĩa X ~ WHT Hình Minh họa kỹ thuật phân rã ma trận 4.3 Các kỹ thuật khơng cá nhân hóa Trong nhóm kỹ thuật này, chúng đơn gi ản, dễ cài đ ặt nên nên thường website/hệ thống tích hợp vào, gồm website thương mại, website tin tức, hay giải trí Chẳng hạn hệ thống bán hàng trực tuyến, người ta thường gợi ý sản phẩm xem/mua/bình luận/ nhiều nhất; gợi ý sản phẩm nhất; gợi ý sản phẩm loại/ nhà sản xuất/ ; gợi ý sản phẩm mua/chọn Một ví dụ điển hình thơng qua luật kết hợp (như Apriori), Amazon áp dụng thành cơng để tìm sản phẩm hay mua minh họa Hình Tuy vậy, bất lợi phương pháp khơng cá nhân hóa cho người dùng, nghĩa tất user gợi ý giống chọn sản phẩm Hình Gợi ý sản phẩm thường mua 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 biến thể kỹ thuật Matrix Factorization (MF) cộng thêm giá trị thiên vị/lệch (biases) Thực nghiệm cho th ấy, nhiều trường hợp, BMF cho kết tốt hẵn so với kỹ thuật MF (Koren et.al., 2009; Huỳnh Lý Thanh Nhàn 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 ệ (Multi-relational Matrix Factorization MRMF) Kỹ thuật phân rã ma trận đa quan h ệ (Multi-relational Matrix Factorization – MRMF) kỹ thuật mở rộng từ kỹ thuật MF với ý tưởng tận dụng tất mối quan hệ có sở liệu hệ thống Nếu MF, ta sử dụng ma trận (tương ứng với quan hệ sơ đồ ERD, ví dụ “Entity1-Relation1-Entity2” Hình MRMF ta sử dụng tất ma trận tương ứng với thực thể quan hệ có, minh họa : Hình Biểu diễn liệu MRMF 5.Đánh giá hệ gợi ý Các tiêu chí định lượng: Đánh giá độ xác hàm dự đốn xếp hạng (rating prediction): sai số bình phương trung bình (Mean square error – MSE), sai số bình phương trung bình (Root mean square error – RMSE), sai số trung bình tuyệt đối (Mean absolute error – MAE) - Đánh giá độ xác hàm gợi ý (item recommendation): Tiêu chí định tính: - Tính gợi ý - Tính đa dạng (Diversity) gợi ý - Độ bao phủ gợi ý - Sự hài lòng người dùng 10 2.3.5.Trạng thái List nhạc Nhân vật thêm nhạc Hình 28 Trạng thái List nhạc Nhân vật thêm nhạc 57 2.3.6 Trạng thái List nhạc NV xóa nhạc Hình 29 Trạng thái List nhạc NV xóa nhạc 58 2.3.7 Trạng thái Bản nhạc người dùng xem chi tiết Hình 30 Trạng thái Bản nhạc người dùng xem chi tiết Thiết kế kiến trúc hệ thống 3.1 Lựa chọn công nghệ mạng Ứng dụng nhóm ứng dụng nghe nhạc với tính nghe nhạc, thêm sửa xóa list nhạc, đề cử Vì ứng dụng cần sở liệu để lưu trữ bảo mật thông tin cập nhật thường xuyên Ngoài việc nhiều máy cilent sử dụng ứng dụng lúc yêu cầu hệ thống có cơng nghệ mạng đủ linh hoạt cần dễ phát triển cải tiến Với lí đó, nhóm em sử dụng kiến trúc kiểu tầng cho q trình phát triển ứng dụng nhóm 59 Theo ứng dụng phân rã thành tầng sau : Ứng dụng client( tầng giao diện người dùng ): • Phần client xây dựng tảng Android sử dụng ngôn ngữ Java Android SDK Client giao tiếp với hệ thống server qua giao thức http restful web service Phương thức xác thực dựa phiên làm việc (session) sinh từ hệ thống xác thực (authenticate) • Thu thập thơng tin cá nhân từ việc đăng kí, đăng nhập người dùng • Thu thập liệu đánh giá nhạc người dùng thông qua thời gian nghe nhạc thêm nhạc vào list nhạc NV • Thu thập thơng tin ngữ cảnh người dùng : thời gian, tâm trạng ngữ cảnh tĩnh người dùng nhập vào ứng dụng • Gửi thông tin ngữ cảnh , thông tin liệu người dùng server, yêu cầu phía server dự đoán xếp hạng nhận danh sách gợi ý từ server Phần server ( tầng ứng dụng ): • Phần server quản lý nhạc, liệu người dùng quản lý user xác thực hệ thống Server xây dựng ngôn ngữ Java, phần sở liệu xây dựng hệ quản trị sở liệu mysql • Nhận biết chuẩn hóa ngữ cảnh người dùng, xây dựng liệu ngữ cảnh theo định dạng chuẩn trước gửi sang hệ gợi ý để tiến hành trình học xây dựng hàm dự đốn xếp hạng • Thành phần gợi ý: dựa framework mã nguồn mở CARSkit Framework (CARSKit - A java based context aware recommendation engine), sử dụng kỹ thuật CAMF-CU để học xây dựng hàm dự đoán xếp hạng, có kiến trúc sau: Hình 31 Kiến trúc tảng mã nguồn mở CARSKIT • Thành phần giao tiếp với client, gửi danh sách gợi ý cho client cho ứng dụng bên thứ (third-party) Tầng liệu (Database Server, Data Storage): nhằm lưu trữ liệu cung cấp chế 60 an toàn cho việc truy nhập đồng thời với giúp đỡ hệ quản trị sở liệu Tầng thực công việc liên quan đến liệu mà phần mềm cần đến đọc, ghi … Dữ liệu nhóm đặt CSDL online cập nhật thường xuyên Các liệu bao gồm liệu nhạc, liệu thông tin người dùng hành vi người dung 3.2.Mơ hình thiết kế Người dùng Thu thập liệu ngữ cảnh Context Phân tích ngữ cảnh xây dựng liệu đầu vào User x Item x Context Hệ gợi ý dựa ngữ cảnh ( CARS , sử dụng CARSkit ) Xếp hạng nhạc Gợi ý nhạc Ngữ cảnh CSDL User x Item sample 3.3.Thiết kế tương tranh Trong hệ thống mạng, nhiều hoạt động thường xảy lúc thể thống tiến trình riêng lẻ thực thi phần hệ thống Các hệ thống gọi hệ thống tương tranh (concurrent system) hay đồng thời Để xử lí đề cần xác định hệ thống tương tranh xảy với hệ thống Qua phân tích ứng dụng nhóm gặp phải hoạt động tương tranh giải sau : • Chúng ta cập nhật nhạc người dùng sử dụng ứng dụng Điều khiến q trình gợi ý bị lỗi Giải : Các nhạc cập nhật CSDL online riêng, đến người dùng khơng sử dụng cập nhật lại • Cập nhật BXH BXH cập nhật 24h đêm để việc quản lí dễ dàng 61 3.4 An toàn bảo mật Với ứng dụng mạng việc bảo mật liệu quan trọng Ứng dụng nhóm có nhiều mục liên quan đến CSDL , việc an toàn bảo mật liệu đặt lên hàng đầu Các liệu nhạc , thông tin người dung ln có thêm CSDL dự phịng bên Là ứng dụng liên quan nhiều đến thông tin hành vi người dùng nên Các thông tin hành vi người dùng cần cẩn thận lưu trữ xử lí để hệ thống hoạt động cách xuyên suốt xác Liên tục kiểm tra , theo dõi trình truy xuất liệu từ CSDL để ứng phó tình bất thường xảy 3.5 Lược đồ CSDL Các thông tin cần lưu trữ xử lí hệ thống : - Thơng tin người dùng - Thông tin nhạc - Bảng liệu đánh giá người dùng với nhạc - Thông tin nhân vật game - Bảng xếp hạng nhạc với nhân vật 62 Hình 32 Lược đồ CSDL 4.Phác thảo thiết kế giao diện 4.1.Giao diện đăng nhập, đăng kí 4.2.Giao diện 63 Hình 33 Giao diện 4.3.Giao diện thơng tin cá nhân 64 Hình 34 Giao diện thơng tin cá nhân 4.4.Giao diện List nhạc NV 65 Hình 35 Giao diện List nhạc NV 66 Hình 36 Giao diện List nhạc NV 67 4.5.Giao diện nhạc đề cử Hình 37 Giao diện nhạc đề cử 68 Hình 38 Giao diện nhạc đề cử 69 4.6.Giao diện bảng Xếp hạng xem thông tin chi tiết nhạc Hình 39 Giao diện bảng Xếp hạng xem thông tin chi tiết nhạc 70 Hình 40 Giao diện bảng Xếp hạng xem thông tin chi tiết nhạc 71 ... phịng +1 Âm điệu chậm +1 Nhạc điện tử +1 Âm điệu sơi động +1 Nhạc thính phịng +1 Âm điệu nhí nhảnh +1 Nhạc điện tử +1 Âm điệu sôi động +1 Nhạc điện tử +1 Âm điệu sôi động +1 Nhạc điện tử +1 Âm... động +1 Nhạc thính phịng +1 Âm điệu nhí nhảnh +1 Nhạc thể loại +1 Nhạc điện tử +1 Âm điệu sôi động +1 pop, điện tử +1 Âm điệu buồn +1 pop, điện tử +1 Âm điệu nhí nhảnh +1 pop, điện tử +1 Âm... nhanh +1 Nhạc điện tử +1 Âm điệu sôi động +1 Nhạc điện tử +1 Âm điệu chậm +1 Nội dung liên quan đến “ a” Nội dung liên quan đến “ a” Nội dung liên quan đến “ b” Nội dung liên quan đến “ b” Nội dung