Phương pháp này sử dụng để tính toán độ tương tự giữa từng cặp hai mẫu một. Áp dụng với bài toán gợi ý, ta cần tính được độ tương tự của các sản phẩm trong catalog đối với sản phẩm mà người dùng mong muốn. Đầu ra sẽ là danh sách sản phẩm có độ tương tự cao nhất đối với sản phẩm mẫu (sản phẩm mà người dùng mong muốn được xây dựng dựa trên phản hồi người dùng).
Đối với bài toán Gợi ý sản phẩm sử dụng phương pháp Geometric Pattern Matching. Phương pháp này có thể áp dụng cho dạng dữ liệu được biểu diễn dưới dạng vecto, mà trong bài toán này các thuộc tính của sản phẩm.
Đầu vào của phương pháp Pattern Matching là vecto các thuộc tính của sản phẩm mà người dùng mong muốn ( bộ sở thích người dùng ). Đầu ra là danh sách các sản phẩm mà có độ tương tự cao nhất đối với sản phẩm mà người dùng mong muốn.
Giả sử vecto đầu vào là véc tơ mẫu x và véc tơ cần so sánh y, trong đó: x(x1, x2, x3, ...xn), y(y1, y2, y3, ...yn)
xi, yi lần lượt là các thuộc tính thứ i của sản phẩm mẫu x vả sản phẩm cần so sánh y Gọi hàm tính độ tương tự giữa sản phẩm mẫu x và sản phẩm cần so sánh y là g(x,y) thì:
g(x, y) = ∑i=1->n [Compare(xi, yi)*wi ]
Compare(xi, yi) : Là hàm so sánh giữa giá trị thuộc tính thứ i của sản phẩm M với sản phẩm mẫu N. Hàm này để so sánh giá trị giữa các thuộc tính, tùy vào kiểu thuộc tính mà công thức khác nhau. Hàm này có thể để so sánh thuộc tính có dạng String hay thuộc tính có dạng số.
wi: Là trọng số ứng với thuộc tính thứ i, vecto trọng số w(w1, w2, w3, ... wn)Các trạng thái đối với hàm Compare(xi,yi): Với xi, yi là thuộc tính thứ i của sản Các trạng thái đối với hàm Compare(xi,yi): Với xi, yi là thuộc tính thứ i của sản phẩm mẫu x và sản phẩm cần so sánh y
+ Kiểu numeric : Nghĩa là thuộc tính kiểu float hoặc interger Đối với kiểu numeric:
σ là độ lệch chuẩn: σ =
+ Kiểu string: Nghĩa là thuộc tính kiểu xâu string Đối với kiểu string:
Sau khi tính toán được độ tương tự của tất cả các sản phẩm đối với sản phẩm mẫu, hệ thống sẽ xếp hạng theo thứ tự từ phù hợp nhất đến ít phù hợp nhất theo độ tương tự từ cao đến thấp. Sau đó hệ thống sẽ đưa ra danh sách những sản phẩm có độ phù hợp cao nhất đối với người dùng.
3.2 Critique Based
Là phương pháp gợi ý dựa trên phản hồi/ đánh giá của người dùng về sản phẩm. Phương pháp dựa trên những phản hồi của người dùng để từng bước một hướng đến một sản phẩm mà thỏa mãn nhu cầu người dùng.
Khi một người dùng phản hồi về một sản phẩm, họ có thể sẽ tập trung vào một hay một số tính năng đặc biệt. Khi có một phản hồi mới x'k , hệ thống sẽ cập nhật giá trị này vào thuộc tính tương ứng của sản phẩm mẫu, từ đó ta sẽ xây dựng được một sản phẩm mẫu x với giá trị vecto thuộc tính mới x'(x1, x2, x3, ..x'k...xn). Đồng thời với cập nhập vecto thuộc tính x là cập nhập trọng số ứng với thuộc tính x'k. Khi đó ta có vecto trong số mới w'(w1, w2, w3, ..w'k. wn)
Với mỗi lần phản hồi của người dùng hệ thống sẽ tính toán để đưa ra danh sách kết quả phù hợp nhất đối với người dùng dựa trên phương pháp đối sánh mẫu:
g(x', y) = ∑i=1->n [Compare(x'i, yi)*w'i ]
PHẦN IV: CÀI ĐẶT4.1 Công nghệ sử dụng 4.1 Công nghệ sử dụng
Ngôn ngữ lập trình : PHP, Jquery
+ PHP: Viết tắt của cụm từ Hypertext Preprocessor, là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới.
Trong phạm vi đồ án PHP được dùng để xử lý dữ liệu, tính toán kết quả. Ngoài ra PHP cũng được dùng trong một số tùy biến giao diện, truyền tham số, lấy dữ liệu từ hệ quản trị cơ sở dữ liệu
+ JQuery là thư viện JavaScript đa trình duyệt được thiết kế để đơn giản hóa lập trình phía máy người dùng của HTML.
Trong phạm vi đồ án Jquery được dùng trong các xử lý dữ kiện, truyền dữ liệu qua lại với PHP
Ngôn ngữ trình bày: HTML, CSS
HTML là ngôn ngữ dùng để mô tả trang web, nó là viết tắt của Hyper Text Markup Language. Html không phải là ngôn ngữ lập trình mà nó là ngôn ngữ đánh dấu. HTML được xây dựng từ những thẻ đánh dấu ( các tag) để mô tả trang web. Ngôn ngữ HTML có ưu điểm là rất đơn giản và có thể chạy tốt với nhiều hệ điều hành và nhiều trình duyệt khác nhau.
CSS viết tắt của cụm từ Cascading Style Sheet, là các tập tin định kiểu theo tầng, được dùng để miêu tả cách trình bày các tài liệu được viết bằng ngôn ngữ HTML và XHTML. Ngoài ra CSS cũng có thể dùng cho XML, SVG, XUL. CSS được thiết kế chủ yếu để cho phép tách nội dung tài liệu (viết bằng HTML hoặc một ngôn ngữ đánh dấu tương tự) từ tài liệu trình bày, bao gồm các thành tố như hiểu thị (layout), màu sắc (colors) và phông chữ (fonts).
Thông thường HTML và CSS là hai ngôn ngữ không thể tách rời trong giới thiết kế web. Sự kết hợp giữa HTML và CSS là hoàn hảo.
Trong phạm vi đồ án HTML và CSS được sử dụng kết hợp để thiết kế giao điện hệ thống.
Hệ quản trị cơ sở dữ liệu: MS SQLServer 2008
Microsoft SQL Server là hệ quản trị cơ sở dữ liệu quan hệ được phát triển bởi Microsoft. Ngôn ngữ truy vấn của nó là T-SQL và ANSI SQL.
Trong phạm vi đồ án sẽ sử dụng cơ sở dữ liệu của website http://hangtot.com là HangtotRS_Data.mdf
Danh mục Mã danh mục Số bản ghi Máy tính xách tay 6532 5766 Máy tính để bàn 6533 1018 Smartphone 6547 1400 Sách 7791 829 Máy ảnh 6622 1610 Máy quay phim 6623 163 Xe đạp điện 7152 292 Máy tính bảng 6545 845
Tổng tất cả bản ghi 448981
Bảng 4.1: Bảng thông tin về tập cơ sở dữ liệu dùng để cài đặt thử nghiệm hệ thống
4.2 Chi tiết kịch bản cài đặt hệ thống gợi ý
Như đã trình bày ở Phần III, hệ thống gợi ý được chia ra làm hai pha như sau: