Chương 1. Giới thiệu và tông quan đề tài 1.3 Mục tiêu Sau khi hoàn thành đề tài nghiên cứu, em muốn xây dựng được một hệ thống bán hàng điện tử có tích hợp chức năng khuyến nghị sản phẩm. Người dùng sử dụng hệ thống có thé lướt xem sản phẩm, thêm sản phẩm vào giỏ hàng và đặt hàng. Trong quá trình xem các mặt hàng, khách hàng có thể xem và tiếp cận với nhiều sản phầm tương tự với các sản phẩm đã xem trước đó nhờ tính năng khuyến nghị.
Người bán hàng cung cấp nhiều mặt hàng khi sử dụng hệ thống sẽ dễ dàng giới thiệu các sản phẩm gần với nhu cầu của khách hàng mà không tốn chi phí quảng cáo, marketing hay khảo sát thị trường. Tính năng khuyến nghị sẽ xuất hiện trong nhiều màn hình: màn hình trang chủ, màn hình chỉ tiết sản phẩm, màn hình sau khi đặt hàng thành công. Thông qua việc khảo sát ở trên, em đã trình bày những lợi ích mà hệ khuyến nghị mang lại cho các sàn thương mại điện tử và lựa chọn xây dựng một ứng dụng Android để mô tả một hệ thống bán hàng điện tử có ứng dụng hệ khuyến nghị. Nguyễn Quốc Khánh — DI7CNPM3 4 Đồ án tốt nghiệp đại học Chương 2.
Giải quyết vấn đề CHUONG 2: GIẢI QUYẾT VAN DE Dé có thé xây dựng được hệ khuyến nghị tích hợp vào ứng dụng bán hang diện tử, em cần tìm hiểu về hệ khuyến nghị và các phương pháp học máy như CNN và K-NN.1 Hệ khuyến nghị Hệ khuyến nghị, hay Recommender System là các công cụ va kỹ thuật phần mềm cung cấp các dé xuất về các hạng mục/nội dung đề xuất cho người dùng. Các đề xuất liên quan đến các quá trình ra quyết định khác nhau tại những thời điểm bat kỳ cho người dùng, ví dụ như mua hàng hóa nào, nghe nhạc gì hoặc đọc tin tức gì. Rất nhiều công ty và dịch vụ đã sử dụng hệ khuyến nghị dé nang cao trải nghiệm người dung va tăng doanh thu như Amazon, Facebook, Shopee, Netflix, Spotify,. Lý do cần có hệ thống khuyến nghị là bởi số lượng sản pham/dich vụ/nội dung được cung cấp trực tuyến quá nhiều và người dùng khó tìm được thứ mình cần.
Khi người dùng vào website cung cấp sản phẩm, hệ thống khuyến nghị sẽ trả về một danh sách ngắn các sản phẩm mà người dùng nhiều khả năng sẽ chọn, có thé bao gồm cả những thứ mà người đó không biết từ trước. Như vậy, hệ thống khuyến nghị giúp tiết kiệm thời gian, tăng tốc độ tìm kiếm và giúp người dùng truy cập tới nội dung họ quan tâm một cách dễ dàng hơn, đồng thời, gợi ý tới người dùng những đề xuất mới mà trước đây họ chưa từng biết đến. Với khả năng của hệ thống khuyến nghị, các doanh nghiệp sử dụng chúng để giới thiệu sản phẩm tới người tiêu dùng, giúp gia tăng doanh số nhờ các ưu đãi, sản phẩm, dịch vụ được khuyến nghị một cách cá nhân hóa, làm nâng cao trải nghiệm khách hàng. Điều này cải thiện lợi thế cạnh tranh của doanh nghiệp và giảm thiểu tỷ lệ khách hàng rời bỏ và đến với đối thủ cạnh tranh khi họ nhận thấy doanh nghiệp hiểu nhu cầu của họ và cung cấp cho họ những thứ họ muốn.
Hệ thống khuyến nghị là thành phần không thể thiếu của các nền tảng trực tuyến cung cấp đa dạng các loại hình dịch vụ, từ các website thương mại điện tử tới nền tang dao tạo trực tuyến. Theo McKinsey, 35% doanh thu của Amazon được tạo ra từ các tương tác với hệ thống khuyến nghị của hãng này. Một thống kê khác cũng cho thấy 75% thời lượng xem phim trên Netflix được thực hiện nhờ các khuyến nghị được cá nhân hoá. Nguyễn Quốc Khánh — DI7CNPM3 5 Đồ án tốt nghiệp đại học Chương 2.
Giải quyết vấn đề Đa số hệ thống khuyến nghị hiện nay cho phép cá nhân hoá khuyến nghị tới người dùng, tức là giới thiệu những dịch vụ, sản phẩm chỉ có một nhóm người thích, bên cạnh các sản phẩm đại chúng. Việc cá nhân hoá khuyến nghị đòi hỏi các thuật toán khuyến nghị hoàn thiện hơn. Ví dụ, thuật toán thế hệ đầu tìm kiếm những người dùng có lịch sử mua sắm tương tự như người dùng mà hệ thống đang cần đưa ra khuyến nghị (mua những sản phẩm tương tự trong quá khứ), sau đó giới thiệu cho người dùng này những sản phẩm mà những người kia mới mua. Các thuật toán thế hệ tiếp theo ngày càng hoàn thiện và cho kết quả tốt hơn.
Một phương pháp thường được nhắc đến là thừa số hoá ma trận. Theo phương pháp nay, mỗi người dùng sẽ được biểu diễn đưới dạng một vector các con số, trong đó mỗi phan tử của vector thé hiện mức độ người đó liên quan tới một số sở thích nào đó. Chang hạn, trong trường hợp khuyến nghị sản phẩm, một người dùng có thé biểu diễn bằng vector (công nghé/0.2) thể hiện đó là người thích sản phẩm công nghệ và không thích mỹ phẩm hay quan áo lắm. Tương tự, một sản pham có thé được biểu dién dưới dạng (công nghệ/0.
Người dùng sẽ được khuyến nghị những sản phẩm có vector biểu diễn tương tự vector của mình. Các vector này được tính từ lịch sử xem sản phẩm và mua hàng của người dùng nhờ một thuật toán riêng. Trên thực tế, các vector biểu diễn thường có vài trăm phan tử và các phan tử không có ý nghĩa rõ rang như trong ví dụ trên. 5 $ ° xử a » Ẻ e s* = é & x FF c? a < sẼ Sal © ° “ e 6 ° ` ° ° Hình 2.1 Hệ thong khuyến nghị bằng thừa số ma trận Các hệ thống khuyến nghị hiện nay thường sử dụng mạng nơ ron nhân tạo nhiều lớp và kỹ thuật học sâu dé xây dựng biểu diễn người dùng và sản phẩm.
Học Nguyễn Quốc Khánh — DI7CNPM3 6 Đồ án tốt nghiệp đại học Chương 2. Giải quyết vấn đề sâu cho thấy những tiến bộ đầy hứa hẹn trong những năm gan đây trong việc cung cấp các khuyến nghị được cá nhân hóa. Hệ thống dạng này cho phép học các quan hệ phức tạp giữa người dùng, sản phẩm và tích hợp thêm các thông tin khác như ngữ cảnh diễn ra tương tác giữa người dùng với sản phẩm, hay tích hợp thêm các thông tin mô tả sản phẩm. Điều này thực hiện được bởi học sâu có khả năng tìm hiểu các đại diện phân tán trong các thuộc tính của người dùng và của mặt hàng trong không gian vecto day đặc chiều thấp và kết hợp chúng dé giới thiệu các mặt hàng phù hợp cho người dùng.
Với những lợi ích mang lại, các dịch vụ trực tuyến nồi tiếng nhất hiện nay như Youtube, Netflix, Spotify, Pinterest, Amazon. déu da chuyên sang hệ thống khuyến nghị sử dung các kỹ thuật học sâu.2 Mang neural học sâu Qua khảo sát về các phương pháp khuyến nghị, em đã chọn phương pháp sử dụng mạng nẻual nhân tạo, cụ thể là phân loại sản phẩm băng CNN và tìm kiếm các sản phâm tương ứng bằng thuật toán K-NN.2 Mạng neural nhân tạo (Neural Network) Mang neural nhân tạo (Neural Network - NN) là một mô hình lập trình mô phỏng cách thức hoạt động của mạng neural thần kinh. Nó được cấu thành bởi các neural đơn lẻ được gọi là các perceptron. Nguyễn Quốc Khánh — DI7CNPM3 7 Đồ án tốt nghiệp đại học Chương 2.
Giải quyết vấn đề Perceptron Bias by Activation function X2 o—>( Input signals Summing junction Synaptic weights Hình 2.4 Cầu trúc một neural nhân tạo Một perceptron sẽ nhận một hoặc nhiều đầu vào x (thể hiện bằng các node) và cho ra một kết quả dạng nhị phân. Các đầu vào được điều phối tầm ảnh hưởng bởi các tham số trọng lượng tương ứng w của nó, còn kết quả đầu ra được quyết định dựa vào một ngưỡng ở quyết định nào đó: 0, if) w¡x¡ < threshold i 1, if) W¡x¡ > threshold L Đặt b = -threshold, ta có thé viết lại thành: 0, if) w¡x¡ +b <0 i 1, if) w¡x¡ +b>0 i Gan xạ =1 và Wo = b, ta có thé viết gọn thành: =(° if w'x <0 “H1, ifwx>0 Với dau ra là dang nhị phan, ta rat khó có thé điều chỉnh một lượng nhỏ đầu vào dé đầu ra thay đổi chút ít, nên dé linh động ta mở rộng đầu ra thành khoảng [0, 1]. Lúc này đầu ra được quyết định bởi một hàm ø(wTz) có giá trị trong khoảng [0, 1] gọi là hàm kích hoạt (activation function). Vi dụ hàm kích hoạt sigmoid: Nguyễn Quốc Khánh — DI7CNPM3 8 Đồ án tốt nghiệp đại học Chương 2.
Giải quyết vấn đề Hinh 2.5 Ham sigmoid Ngoài ham sigmoid ra con có các ham kích hoạt khác như ReLU, softmax,. Multi-layer perceptron (mạng neural nhân tạo) Khi kết hợp các tang perceptron ta có một mạng neural tổng quát gồm 3 layer: e Input layer: nhiều node ở input tạo thành một lớp đầu vào của mạng. e Hidden layer: các layer trung gian thé hiện cho việc suy luận logic của mạng. © Output layer: nhiều node ở dau ra tạo thành một lớp đầu ra của mạng.
output layer image input layer hidden layer Hình 2.6 Mô hình neural network Nguyễn Quốc Khánh — DI7CNPM3 9 Đồ án tốt nghiệp đại học Chương 2. Giải quyết vấn đề Mỗi mô hình luôn có 1 input layer, 1 output layer, có thé có hoặc không các hidden layer. Tống số layer trong mô hình được quy ước là số layer — 1 (Không tinh input layer). Mỗi node trong hidden layer va output layer : e Liên kết với tat cả các node ở layer trước đó với các hệ số w riêng.
© Mỗi node có | hệ số bias b riêng. e Diễn ra 2 bước: tinh tng linear và áp dụng activation function. Quá trình suy luận từ lớp đầu vào tới lớp đầu ra của mạng neural là quá trình lan truyền tiến (feedforward), tức là đầu vào của các neural tại một tầng là lay két qua từ neural tầng trước đó mà không có quá trình suy luận ngược lại.7 Mô hình neural network với 2-3-3-1 (input layer có 2 node, hidden layer 1 có 3 node, hidden layer 2 có 3 node, output layer có I node) Goi input layer là a = x, (ở hình vé dưới day thia® = {x;,x;}), thực hiện tinh za đầu ra của input layer, dau vào của hidden layer 1: Nguyễn Quốc Khánh — DI7CNPM3 10 Đồ án tốt nghiệp đại học Chương 2. Giải quyết vấn đề AO] fash + af? ow ca 2)=| 20] = |a(9 * wi + a) sw 4p *MW22 (1) io ww + ao wld) +B = (WO)!