Xây dựng ứng dụng tư vấn nhạc chuông
XÂY DỰNG ỨNG DỤNG TƯ VẤN NHẠC CHUÔNG Mục lụcMục lục .2Các thuật ngữ được sử dụng trong tài liệu .4Bảng biểu 5Hình vẽ .6Giới thiệu 7Chương 1: Lọc cộng tác .91.1.Giới thiệu về lọc cộng tác 91.2.Lọc cộng tác dựa trên bộ nhớ 121.2.1.Tính toán độ tương tự .151.2.2. Tính toán dự đoán và tư vấn 171.3.Lọc cộng tác dựa trên mô hình 181.4.Ưu điểm và những thách thức trong lọc cộng tác .211.2.1. Ưu điểm của lọc cộng tác 211.2.1.1. Có thể lọc thông tin thuộc bất kỳ loại nào .211.2.1.2. Không cần xác định thông tin mô tả yêu cầu .211.2.1.3. Người dùng có thể nhận được những gợi ý bất ngờ 221.2.1.4. Khả năng ứng dụng thực tiễn cao .221.2.2. Khó khăn và thách thức trong lọc cộng tác .221.2.2.1. Sự thưa thớt dữ liệu 231.2.2.2. Khả năng mở rộng 251.2.2.3. Tính đồng nghĩa 261.2.2.4. Sự mập mờ 271.2.2.5. Sự tấn công .27Chương 2: Lọc cộng tác có sử dụng độ tương quan gián tiếp 292.1. Mô hình .292.2. Thuật toán 322.3. Độ phức tạp thuật toán 35Chương 3: Ứng dụng 373.1 Chức năng hệ thống .373.1.1. Search module 373.1.2 Auth module 383.1.3. Management module 383.1.4 Recommendation module .393.1.5. Download module 393.1.6 User profile module 393.2 Use-case 403.2.1. Package view 403.2.2. Use case diagram .413.2.2.1. <<package>> search module 413.2.2.2. <<package>> auth module .423.2.2.3. <<package>> management module 443.2.2.4. <<package>> recommendation module .443.2.2.5. <<package>> user profile module 44 3.3. Thiết kế kiến trúc hệ thống .45KẾT LUẬN 51Tài liệu tham khảo 51 Các thuật ngữ được sử dụng trong tài liệuSTTTên tiếng anhTên tiếng việt Giải thích1 User Người dùng Chỉ những người sử dụng, người dùng hệ thống…2 Item Sản phẩm, mục Chỉ những mục trên hệ thống như: sản phẩm, phim, ảnh, bản nhạc, trang web, đoạn văn bản,…3 Rating Đánh giá Chỉ mức độ thích của một người dùng với sản phẩm (item). Rating có thể có nhiều biểu hiện: như đánh giá thích hoặc không thích, hay đánh già theo mức độ từ 1 – 5 đại diện từ không thích đến rất thích. Trong tài liệu này, các đánh giá được biểu diễn dưới dạng ma trận user – item hay ma trận người dùng – sản phẩm. Bảng biểu Hình vẽ Giới thiệuSự phát triển của internet đã mở ra cho con người rất nhiều cơ hội mới, nhưng cũng đầy thách thức. Với internet, con người có cơ hội được tiếp cận với nguồn thông tin gần như vô hạn và vẫn đang tăng lên một cách nhanh chóng[?]. Tuy nhiên, việc chọn được đúng thông tin cần thiết từ nguồn tin khổng lồ đó không hề đơn giản. Con người càng ngày càng mất nhiều thời gian vào việc tìm kiếm và chọn lọc thông tin. Vấn đề này được gọi là quá tải thông tin. Những nghiên cứu nhằm giải quyết vấn đề này dẫn đến sự ra đời của một ngành khoa học mới, đó là lọc thông tin (information filtering)[?].Tư vấn lựa chọn là một trong những phương pháp lọc tin được quan tâm nhiều nhất. Hệ tư vấn lựa chọn là những hệ thống có thể “hiểu” được người dùng và có thể đưa ra được những gợi ý cho người dùng.Những hệ tư vấn là những hệ tư vấn dựa trên nội dung[?], những hệ tư vấn này so sánh nội dung của item (chỉ mục) với những sở thích của người dùng đã cung cấp, từ đó dự đoánh khả năng người dùng sẽ thích item đó. Tuy nhiên, phương pháp tư vấn dựa trên nội dung chỉ phù hợp với những item dạng văn bản. Trong những hệ thống thương mại điện tử, việc so sánh nội dung của item với sở thích của người dùng quả không dễ dàng. Hay với những item không phải dạng văn bản như phim, ảnh, âm nhạc… thì việc so sánh nội dung của nó quả là vấn đề nan giải. Trong những trường hợp này, việc tư vấn dựa trên nội dung gặp phải khó khăn rất lớn.Đầu những năm 90 của thế kỷ XX, một hướng nghiên cứu mới cho các hệ tư vấn lựa chọn, đó là lọc cộng tác[?]. Ngay từ khi ra đời, các hệ tư vấn dựa trên lọc cộng tác đã thể hiện được những ưu điểm cùng tính kinh tế của mình. Nó nhanh chóng thu hút được sự quan tâm nghiên cứu và đã được ứng dụng thành công trong khá nhiều hệ thống thương mại như www.amazon.com, www.ebay.com, . Trong đồ án này, tôi sẽ trình bày về hệ tư vấn lựa chọn với lọc cộng tác. Trong đồ án này tôi sẽ đưa ra những lý thuyết cơ bản nhất về lọc cộng tác (mục 1.1), những đặc điểm cũng như những ưu điểm và các khó khăn, thách thức của lọc cộng tác (mục 1.2), hai mô hình sử dụng của lọc cộng tác là lọc cộng tác dựa trên bộ nhớ (mục 1.3) và lọc cộng tác dựa trên mô hỉnh (mục 1.4). Trong đồ án này, tôi sẽ xây dựng một hệ tư vấn người dùng với kỹ thuật lọc cộng tác, đó là “hệ thống tư vấn nhạc chuông điện thoại”.Cấu trúc của đồ án như sau:Chương 1: Trình bày về những vấn đề cơ bản nhất của lọc cộng tác, như định nghĩa, các lý thuyết cơ bản được sử dụng trong lọc cộng tác, những ưu điểm cùng khó khăn thách thức của lọc cộng tác. Hai mô hình của lọc cộng tác là dựa trên bộ nhớ và dựa trên mô hình cũng được trình bày trong chương này.Chương 2: Tôi sẽ trình bày chi tiết một phương pháp lọc cộng tác dựa trên bộ nhớ, trong đó có sử dụng độ tương tự gián tiếp giữa hai người dùng. Với thuật toán này, chúng ta có thể khắc phục được phần nào cá vấn đề của lọc cộng tác đã được trình bày ở chương 1.Chương 3: Tôi sẽ trình bày về ứng dụng “tư vấn nhạc chuông điện thoại”. Chương 1: Lọc cộng tácTrong chương này, tôi sẽ giới thiệu về lọc cộng tác. Những đặc trưng, những ưu điểm cùng những thách thức đối với lọc cộng tác. Đồng thời, tôi cũng sẽ trình bày về hai môi hình cơ sở của lọc cộng tác: lọc cộng tác dựa trên bộ nhớ và lọc cộng tác dựa trên mô hình. Giới thiệu Đặc điểm và thách thức trong lọc cộng tác Lọc cộng tác dựa trên bộ nhớ Lọc cộng tác dựa trên mô hình1.1. Giới thiệu về lọc cộng tácTrong cuộc sống hàng ngày, mọi người thường tin vào những lời giới thiệu từ những người khác thông qua lời nói, thư từ văn bản, các nguồn tin thu được trên các phương tiện thông tin đại chúng. Về bản chất của lọc cộng tác cũng chính là hình thức tư vấn như trên, tuy nhiên, việc này được thực hiện tự động bởi các máy tính. Các nhà phát triển hệ tư vấn đầu tiên (Trapestry[9]) đã đưa ra thuật ngữ “collabrative filtering” (lọc cộng tác). Giả thuyết của lọc cộng tác là: “nếu người dùng i và j dánh giá cho n sản phẩm tương tự nhau, hoặc có hành vi tương tự nhau (như: xem, mua, nghe…) thì họ sẽ có các đánh giá tương tự nhau đối với các sản phẩm khác”.Trong hầu hết những hệ lọc cộng tác, dữ liệu luôn sẵn sàng dưới dạng những đánh giá của người dùng về sản phẩm. Cụ thể, ta đặt U là tập người dùng, P là tập sản phẩm, và dữ liệu D là tập bộ ba (i, x, r), trong đó là một người dùng, là một sản phẩm, và là trọng số của sản phẩm x do người dùng i đánh giá. Để đơn giản những kỹ hiệu này, chúng ta biểu diễn rix là trọng số của của người dùng i cho sản phẩm x – tức là rix = (i, x, r). Hơn nữa, ứng với mỗi người dùng chúng ta biểu diễn là tập các sản phẩm được đánh giá bởi người dùng i. Tương tự thế, là tập người dùng đã đưa đánh giá cho sản phẩm x.Dựa vào mỗi người dùng và sản phẩm , dự đoán trọng số sản phẩm chính là dự đoán trọng số của người dùng i cho sản phẩm x. Mở rộng của vấn đề này là tìm tập k sản phẩm mà rất có thể người dùng sẽ quan tâm là công việc chính trong các hệ tư vấn hiện nay. Giả sử rằng chúng ta có một hệ thống dự đoán các đánh giá của người dùng lên các sản phẩm mới, và dựa vào đó ta có thể lấy ra k sản phẩm được dự đoán có trọng số cao nhất. Cuối cùng, hai vấn đề quan trọng nhất đó là làm thế nào để tìm được tập k người dùng tương tự với người dùng i nhất dựa trên thị hiếu về sản phẩm hay làm thế nào để tìm ra tập k sản phẩm tương tự với sản phẩm x nhất để có thể đưa ra các dự đoán trọng số đánh giá của người dùng và sản phẩm tương ứng. Trong lọc cộng tác, các kỹ thuật này được chia thành hai nhóm chính là phương pháp tiếp cận dựa trên bộ nhớ (mục 1.3) và phương pháp tiếp cận dựa trên mô hình (mục 1.4).Với phương pháp lọc cộng tác dựa trên bộ nhớ, các hệ thống thường có xu hướng sử dụng toàn bộ dữ liệu đánh giá của người dùng để dự đoán đánh giá của người dùng nào đó về một sản phẩm mới. Nhờ lợi thế là có khả năng đưa trực tiếp dữ liệu mới vào bảng dữ liệu, do đó nó đạt được khá nhiều thành công khi được áp dụng vào thực tế. Cũng do đó mà các kỹ thuật này thường đưa ra các dự đoán chính xác hơn trong các hệ trự tuyến – nơi mà ở đó luôn có dữ liệu mới được cập nhật. Kỹ thuật này đã được áp dụng khá thành công trong nhiều hệ thống thương mại như [...]... ngược nhau, đây là nhóm mà thị hiếu đặc trưng của họ đưa ra những tư vấn gần như là không có khả năng xảy ra Mặc dù đây là lỗi của hệ tư vấn, nhưng những hệ tư vấn không điện tử cũng gặp những vấn đề lớn này, vì vậy back sheep là lỗi không thể thế chấp được[?] Claypool et al đã đưa ra phương pháp kết hợp giữa hệ tư vấn lọc cộng tác và tư vấn dựa trên nội dung là cơ sở dự đoán trọng số đánh giá trung bình... các sản phẩm thuật toán cung cấp để đưa ra tư vấn Vấn đề giảm độ bao phủ xảy ra khi số lượng các đánh giá của người dùng có thể nhỏ hơn so với số lượng các sản phẩm trong hệ thống và hệ tư vấn không có khả năng sinh ra tư vấn cho họ Neighbor transitivity (tính tịnh tiến hàng xóm) đề cập tới vấn đề về cơ sở dữ liệu thưa thớt Ở đó, những người dùng với thị hiếu tư ng tự nhau không được xác định nếu họ... là một tham số, chúng ta có thể sử dụng aij = |Pi ∩ Pj| như là một số hạng tiêu chuẩn, từ đó độ đo tư ng tự của người dùng được định nghĩa như sau: Trong một vài trường hợp cụ thể, chúng ta cần sử dụng những công thức tính độ tư ng quan khác như tư ng quan Pearson, hay độ tư ng tự cosine giữa các vector nhằm nâng cao hiệu năng dự đoán Với độ tư ng quan Pearson, độ tư ng tự uij giữa hai người dùng i... Chúng ta cũng có thể tính toán độ tư ng tự giữa hai người dùng sử dụng độ tư ng tự cosine giữa hai vector i •j uij = cos(i , j ) = i ⋅ j Trong đó phép toán • biểu thị phép nhân vector giữa hai vector i và j 1.2.2 Tính toán dự đoán và tư vấn Đưa ra được những dự đoán hoặc lời gợi ý là một bước quan trọng trong hệ tư vấn lọc cộng tác Sau khi tính toán độ tư ng tự giữa các người dùng hay... thức (2.1) Tư ng tự, nếu ta chọn và thì phương trình (3.8) sẽ trở thành (2.4) Ngoài ra, chúng ta có thể thấy độ tư ng tự được định nghĩa bằng phương trình này là đối xứng trong một vài điều kiện Trong trường hợp độ tư ng tự người dùng, nếu và aij = aji, chúng ta có: và aij là đối xứng, nghĩa là Như vậy, với giả thiết như trên độ tư ng tự giữa người dùng là đối xứng, chúng ta cũng thấy rằng độ tư ng tự... tính toán lại chiều SVD sử dụng những người dùng đã có sẵn Khi có một tập trọng số đánh giá mới được thêm vào cơ sở dữ liệu, thuật toán sử dụng kỹ thuật lấp đầy[?] để xây dựng hệ thống cải tiến mà không cần tính toán lại mô hình có chiều thấp hơn từ vạch xuất phát Vì vậy, nó tạo ra hệ tư vấn có khả năng mở rộng cao Thuật toán lọc cộng tác dựa trên mô hình, như thuật toán độ tư ng quan Pearson[?] trên... cộng tác không yêu cầu phải mô tả những thông tin này một cách tư ng minh Các hàng hóa, sản phẩm được lọc và gợi ý cho người dùng dựa vào mối quan hệ, sự tư ng đồng sâu xa giữa người dùng với nhau thể hiện thông qua những đánh giá của họ trên các hàng hóa, sản phẩm của hệ thống Ví dụ, lọc cộng tác có thẻ được sử dụng để xây dựng hệ tư vấn lựa chọn gợi ý những tài liệu được viết tốt trong khi lọc nội... tác trên mô hình cũng được tin tư ng có khả năng giải quyết vấn đề một phần lỗi này[?] O’Mahoney et al đã góp phần vào việc giải quyết vấn đề shilling attacks bằng việc phân tích thiết kế mạnh, khả năng phục hồi hệ thống tư vấn từ những tình trạng chống phá có ác ý trong ma trận trọng số khách hàng/sản phẩm[?] Bell và Koren[?] sử dụng phương pháp lĩnh hội để giải quyết vấn đề shilling attacks bằng việc... phẩm, chúng ta sử dụng hai tham số là Đây chính là điểm khác thứ hai trong việc tính toán độ tư ng tự giữa những người dùng và sản phẩm Do đó, trong tính toán độ tư ng tự của hai người dùng, chúng ta sử dụng tất cả các sản phẩm được đánh giá bởi hai người dùng này thay vì chỉ sử dụng những sản phẩm được đánh giá chung bởi cả hai người Tư ng tự vậy, chúng ta bổ xung vào công thức tính độ tư ng tự giữa... trung bình của người dùng i về các sản phẩm x tư ng tự với y, công thức tính là: (2.5) Trong khi khung làm việc nói chung để dự đoán các đánh giá chỉ có khả năng sử dụng những độ tư ng tự xuất hiện đơn giản thì các hệ lọc cộng tác điển hình sử dụng độ đo tư ng tự phức tạp hơn như độ đo tư ng tự không gian vecto được tính như sau: (2.6) Ta cũng có thể dùng độ đo tư ng quan Pearson Phương pháp lọc cộng tác . XÂY DỰNG ỨNG DỤNG TƯ VẤN NHẠC CHUÔNG Mục lụcMục lục.....................................................................................................................................2Các. đưa ra được những gợi ý cho người dùng.Những hệ tư vấn là những hệ tư vấn dựa trên nội dung[?], những hệ tư vấn này so sánh nội dung của item (chỉ mục) với