Luận văn Giải pháp xếp hạng và tính toán song song trên nền tảng Apache Spark sẽ nghiên cứu các cách tiếp cận cho bài toán xếp hạng sử dụng Apache Spark và các thành phần bên trong nó cho việc phân tích dữ liệu đồng thời trên quy mô lớn có thể mở rộng dễ dàng cũng như khả năng chịu lỗi.
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ GIẢI PHÁP XẾP HẠNG VÀ TÍNH TỐN SONG SONG TRÊN NỀN TẢNG APACHE SPARK Nguyễn Đông Đức LUẬN ÁN THẠC SĨ Bản tóm tắt Chuyên ngành: Hệ Thống Thơng Tin 12/2016 MỤC LỤC Tóm tắt iv 1.1 Tổng quan học máy xếp hạng 1.2 Mơ hình xếp hạng truyền thống 1.2.1 Mơ hình xếp hạng dựa độ liên quan 1.2.2 Mơ hình xếp hạng dựa độ quan trọng 1.3 Phương pháp đánh giá mơ hình xếp hạng 1.3.1 Phương pháp MRR (Mean Reciprocal Rank) 1.3.2 Phương pháp đánh giá MAP (Mean Average Precision) 1.3.3 Phương pháp đánh giá DCG (Discounted Cumulative Gain) 1.4 Học máy xếp hạng 10 1.4.1 Nền tảng sở học máy 10 1.4.1.1 Hướng tiếp cận Pointwise 10 1.4.1.2 Hướng tiếp cận Pairwise 10 1.4.1.3 Hướng tiếp cận Listwise 11 GIẢI PHÁP XẾP HẠNG KẾT QUẢ TÌM KIẾM 12 2.1 Công nghệ 12 2.2 Mơ hình hệ thống 12 2.3 Thu thập xử lý liệu 13 2.3.1 Thu thập liệu phim 14 2.3.2 Thu thập lịch sử click người dùng 15 2.3.3 Đánh mục cho liệu 16 2.4 Xác định vector đặc trưng cho mơ hình 16 THỰC NGHIỆM VÀ ĐÁNH GIÁ 18 3.1 Dữ liệu 18 3.2 Môi trường thực nghiệm 19 3.2.1 Cấu hình phần cứng 19 3.2.2 Các công cụ sử dụng 19 3.3 Quá trình thực nghiệm 19 3.3.1 Tiền xử lý liệu 20 3.3.2 Tiến hành thực nghiệm 20 3.3.2.1 So sánh hiệu thời gian 20 3.3.2.2 So sánh chất lượng xếp hạng 22 KẾT LUẬN 23 iii Tóm tắt Trong năm gần đây, với phát triển nhanh chóng WWW(World Wide Web) khó khăn việc tìm kiếm thơng tin mong muốn, hệ thống tìm kiếm thông tin hiệu trở nên quan trọng hết, cơng cụ tìm kiếm trở thành công cụ thiết yếu nhiều người Xếp hạng thông tin thành phần thiếu cơng cụ tìm kiếm, thành phần chịu trách nhiệm cho kết hợp truy vấn xử lý tài liệu lập mục Ngoài ra, Ranking thành phần then chốt cho nhiều ứng dụng tìm kiếm thơng tin khác, ví dụ lọc cộng tác, tóm tắt văn hệ thống quảng cáo trực tuyến Sử dụng mô hình học máy trình xếp hạng dẫn đến tạo cách mơ hình mơ hình xếp hạng sáng tạo hiệu hơn, dẫn đến phát triển lĩnh vực nghiên cứu có tên học máy xếp hạng (Learning to rank) Trong mô hình có nhiều cách tiếp cận Pointwise , Pairwise, Listwise Luận văn nghiên cứu cách tiếp cận cho toán xếp hạng sử dụng Apache Spark thành phần bên cho việc phân tích liệu đồng thời quy mơ lớn mở rộng dễ dàng khả chịu lỗi iv Chương TỔNG QUAN VỀ HỌC MÁY XẾP HẠNG 1.1 Tổng quan học máy xếp hạng Với phát triển nhanh giới Web dẫn đến tràn ngập thông tin mạng internet Một nghiên cứu tiến hành năm 2005 giới Web chứa khoảng 11.5 tỉ tài liệu thời điểm tháng năm 2005 Trong năm đó, Yahoo thơng báo cỗ máy tìm kiếm họ chứa khoảng 19.2 tài liệu web Ngày số lên đến 50 triệu tỉ tài liệu đánh mục cỗ máy tìm kiếm Từ số liệu thầy số lượng tài liệu web tăng lên nhanh Với kích thước lớn giới Web rõ ràng người dùng thơng thường khó tìm kiếm thông tin mà họ mong muốn cách duyệt tìm kiếm thơng tin trang web Việc tìm kiếm trích xuất thơng tin trở nên quan trọng hết, công cụ tìm kiếm trở thành cơng cụ thiết yếu mà người dùng internet sử dụng Một kiến trúc điển hình cơng cụ tìm kiếm hiển thị Hình 1-1 Hình 1-1 - Hệ thống tìm kiếm tổng qt 1.2 Mơ hình xếp hạng truyền thống Trong tài liệu hệ thống truy hồi thơng tin, nhiều mơ hình xếp hạng đề xuất Error! Reference source not found tạm phân loại mơ hình mơ hình xếp hạng dựa độ liên quan (Relevance Ranking Modal) mơ hình xếp hạng dựa độ quan trọng (Importance Ranking Models) 1.2.1 Mơ hình xếp hạng dựa độ liên quan Mục tiêu mơ hình xếp hạng liên quan tạo danh sách tài liệu xếp hạng theo mức độ liên quan tài liệu truy vấn Sau xếp tất các tài liệu theo thứ tự giảm dần theo số liên quan chúng Mơ hình xếp hạng liên quan hệ thống truy hồi thông tin dựa xuất term truy vấn tài liệu Ví dụ điển hình cho mơ hình mơ hình Boolean Error! Reference source not found Về mơ hình đốn tài liệu liên quan không liên quan với truy vấn không đo mức độ liên quan Một mơ hình đo độ liên quan mơ hình khơng gian Vector (Vector Space modal – SVM) đưa Error! Reference source not found Cả tài liệu truy vấn định nghĩa vector khơng gian Euclid, tích vector sử dụng để đo mức độ tương tự truy vấn tài liệu Để tạo vector hiệu đại diện truy vấn tài liệu từ khơng gian vector có trọng số, có nhiều phương pháp xếp hạng khác nhau, tf-idf (term frequency–inverse document frequency) Error! Reference source not found phương pháp phổ biến để đánh giá xếp hạng từ tài liệu Về tf-idf kỹ thuật (cụ thể ranking function) giúp chuyển đổi thông tin dạng văn thành Vector space model thông qua trọng số Vector space model tf-idf phát triển Gerard Salton vào đầu thập niên 1960s TF term t vector định số lần xuất tài liệu IDF định nghĩa sau 𝐼𝐷𝐹 𝑡 = 𝑙𝑜𝑔 𝑁 𝑛(𝑡) (2.1) N số lượng tài liệu liệu tập hợp truy vấn, n(t) só lượng tài liệu mà chứa term t 1.2.2 Mơ hình xếp hạng dựa độ quan trọng Trong tài liệu truy hồi thơng tin, có nhiều mơ hình mà xếp hạng tài liệu dựa độ quan trọng chúng Một mơ hình tiếng PageRank, mơ hình áp dụng đặc biệt hệ thống tìm kiếm Web sử dụng cấu trúc siêu liên kết Web để xếp hạng Hình 1-2 – Minh họa thuật tốn PageRank Mơ hình Page đồng tác giả đưa ý tưởng độ quan trọng trang chịu ảnh hưởng độ quan trọng từ trang liên kết đến 1.3 Phương pháp đánh giá mơ hình xếp hạng 1.3.1 Phương pháp MRR (Mean Reciprocal Rank) Cho truy vấn q, vị trí xếp hạng phần tử liên quan danh sách xếp hạng mà mơ hình xếp hạng trả biểu diển r1 Sau /0 định nghĩa như MRR cho truy vấn q Có thể hiểu tài liệu xếp hạng r1 xe khơng quan tâm MRR Hình 1-3 – Kết truy hồi cho truy vấn “learning to rank” Nhìn vào ví dụ minh họa Hình 1-3 Vì vị trí đầu tiền kết truy hồi liên quan r1 =1 Do MRR cho truy vấn 1.3.2 Phương pháp đánh giá MAP (Mean Average Precision) Để định nghĩa MAP Error! Reference source not found., cần phải định nghĩa độ xác vị trí k (P@k) Giả sử chúng có điểm số đánh giá nhị phân cho tài liệu, v.v, Nhãn cho tài liệu liên quan nhãn cho tài liệu không liên quan Sau P@k định nghĩa sau (2.10) Trong I{·} hàm đặc trưng π−1(j) biểu thị vị trí tài liệu xếp hạng vị trí j of the list π Sau trung bình độ xác (AP) định nghĩa sau (2.11) Trong m tổng số tài liệu tương ứng với truy vấn q, m1 số lượng tài liệu mà có nhán Giá trị trung bình AP cho toàn test truy vấn gọi độ xác trung bình (MAP) Với ví dụ Hình 1-3 Vì tài liệu kết truy hồi liên quan, rõ ràng P@1 = Bởi tài liệu thứ không liên quan nên P@2 = Cuối tài liệu thứ liên quan từ suy P@3 = Từ ta có 𝐴𝑃 = + = 1.3.3 Phương pháp đánh giá DCG (Discounted Cumulative Gain) DCG Error! Reference source not found phương pháp đánh giá sử dụng điểm số đánh số đánh giá cho nhiều loại đánh giá có thứ tự, có hệ số chiết khấu vị trí rõ ràng định nghĩa Định ngĩa cách thức sau, giả sử danh sách xếp cho truy vấn q π, sau DCG vị trí k định nghĩa sau: (2.12) Trong G(·) đánh giá tài liệu hàm thường gán G(z) = (2z − 1) η(j ) hệ số chiết khấu được gán η(j ) = 1/ log(j + 1) Bằng cách bình thường hóa DCG@k với giá trị cực đại Zk, có phương pháp đo khác Normalized DCG (NDCG) (2.13) Dó NDCG ln ln có giá trị từ Với ví dụ Hình 1-3 Có thể dễ dàng tính DCG@3 = 1.5, Z3=1.63 Cuối NDCG = NDCG@3 = 82 = 0.92 1.4 Học máy xếp hạng 1.4.1 Nền tảng sở học máy Có nhiều thuật tốn học máy xếp hạng sử có ba cách tiếp cận cho mơ hình học máy tiếp cận pointwise, pairwise listwise 1.4.1.1 Hướng tiếp cận Pointwise Theo hướng này, đối tượng xi liệu học có điểm số hay thứ tự yi Tiếp đó, học xếp hạng xấp xỉ hồi quy (hồi quy có thứ tự) Với D = {(xi, yi)}, hàm tính hạng h(x ) thỏa mãn, r(xi) = yi Một số thuật toán học xếp hạng như: OPRF [4], SLR [7], 1.4.1.2 Hướng tiếp cận Pairwise Có D = {(xi, xj)} tập cặp đối tượng thứ tự, với cặp (xi, xj) có thứ hạng xi cao thứ hạng xj, hay xi phù hợp xj: xi> xj) Tìm r(x): ∀ 𝒙𝒊 , 𝒙 𝒋 ∈ 𝑺 𝒄ó 𝒙𝒊 > 𝒙 𝒋 𝒕𝒉ì 𝒓(𝒙𝒊 ) > 𝒓(𝒙 𝒋 ) Một số thuật toán học xếp hạng SVM-rank, RankRLS 10 (2.14) 1.4.1.3 Hướng tiếp cận Listwise Các thuật toán theo hướng cố gắng trực tiếp xếp tất đối tượng liệu học Điều thực khó khăn Khi thứ hạng K đối tượng xác định tất đối tượng khác có hạng thấp Với D={x1,x2 ,xm} có thứ tự: x1 >x2 > >xm, tìm hàm tính hạng r(x) cho r(x1) > r(x2)> > r(xm) Một số thuật toán học xếp hạng ListMLE, Listnet, PermuRank Luận văn sử dụng cách tiếp để nghiên cứu thực nghiệm xếp hạng 11 Chương GIẢI PHÁP XẾP HẠNG KẾT QUẢ TÌM KIẾM 2.1 Cơng nghệ Như trình bày thực xây dựng hệ thống xếp hạng tính tốn song song nhiều máy tính làm rút ngắn thời gian truy vấn, huấn luyện liệu Bên cạch hệ thống cần phải chạy theo thời gian thực, khả mở rộng khả chịu lỗi Sau công nghệ sử dụng hệ thống Hệ thống sử dụng Elasticsearch ApacheSpark để tính tốn xử lý song song 2.2 Mơ hình hệ thống Phần giới thiệu tồn mơ hình từ thu thập liệu, huấn luyến mơ hình, phục vụ tìm kiếm phim cho hệ thống tìm kiếm Cốc Cốc 12 Hình 2-1 – Mơ hình giải pháp xếp hạng tính tốn song song 2.3 Thu thập xử lý liệu Dữ liệu thu thập từ nhiều trang web thông tin người dùng từ hệ thống crawler search cốc cốc 13 2.3.1 Thu thập liệu phim Đầu tiên hệ thống trích xuất thơng tin từ trang web đánh giá phim IMDb (Internet Movie Database) Hình 2-2 – Thông tin phim trang IMDb IMDb website trực tuyến đóng vai trò thư viện, nơi lưu trữ thông tin chi tiết tác phẩm điện ảnh tiếng, IMDb website uy tín đóng vai trò nhà phê bình IMDb nơi tổng hợp ý kiến đánh giá, xếp hạng tác phẩm điện ảnh dựa yếu tố kịch bản, cơng tác đạo diễn, bối cảnh, hiệu hình ảnh, kỹ thuật quay phim…IMDb có uy tín với giới độc giả Internet, tín đồ mơn nghệ thuật thứ Ngồi nội dung phê bình đánh giá tác phẩm thuộc lĩnh vực điện ảnh, IMDb đánh giá tác phẩm truyền hình hay điện ảnh, nhà sản xuất phim… Thứ Hai hệ thơng bóc tách thơng tin miêu tả Hình 2-3 (Các vùng bơi đỏ trích xuất thơng tin) thống tin trích xuất bao gồm thành phần bơi đỏ sau 14 Hình 2-3 – Thơng tin trích xuất trang phim trực tuyến 2.3.2 Thu thập lịch sử click người dùng Đây liệu có có hệ thống đưa để sử dụng, liệu coi tham số vector đặc điểm dùng để huấn luyện mơ hình Dữ liệu thông tin lịch sử thu thập bao gồm: truy vấn, định danh người dùng, liên kết phim click, hạng click Khi hệ thống chưa đưa sử dụng thơng thu thập từ hệ thống tìm kiếm cốc cốc trích xuất thông tin click người dùng từ trang phim định trước 15 Hình 2-4 – Mơ hình lưu trữ lịch sử người dùng 2.3.3 Đánh mục cho liệu Tất thông tin thu thông tin phim, liệu IMDb, lịch sử click người dùng đánh mục vào document hệ thống Elasticsearch sau: 2.4 Xác định vector đặc trưng cho mơ hình Vector đặc trưng sử dụng mơ hình huấn luyện bao gồm giá trị điểm số tính tốn dữa truy vấn tài liệu, thuộc tính thuộc tính vector đặc trược biểu diễn bảng Bảng 2.1 – Bảng mô tả vector đặc trinh cho mơ hình học máy xếp hạng Số thứ tự Mô tả 16 Tổng điểm số TF tiêu đề phim Độ dài tiêu đề phim Điểm số BM25 truy vấn tiêu đề phim Tổng điểm số TF nội dụng phim Độ dài nội dung phim Điểm số BM25 truy vấn nội dung phim Hạng trang web tài liệu Hạng domain gốc tài liệu Điểm số IMDB tài liệu 10 Tổng số lượt click tài liệu 11 Thơi gian sản xuất phim (Năm – Năm sản xuất) 17 Chương THỰC NGHIỆM VÀ ĐÁNH GIÁ 3.1 Dữ liệu Mơ hình sử dụng 130.380 thơng tin phim trích xuất từ IMDb 93.270 liết kết phim trích xuất Mơ hình sử dụng query log hệ thống tìm kiếm Cốc Cốc phân loại theo chủ đề phim Query log thành phần quan trọng máy tìm kiếm, liệu thu thập lại hành vi người sử dụng qua truy vấn mà người dùng thao tác máy tìm kiếm Dữ liệu log không chứa tài liệu quảng cáo mà hiển thị cho người sử dụng Đây liệu cho huấn luyện đánh giá Dữ liệu query log tổng hợp theo hàng tuần lưu trữ sơ đồ hình Hình 2-4 Dữ liệu huấn luyện sử dụng lịch sử ba tháng query log người dùng lọc theo nội dụng truy vấn liên kết tài liệu để xác định có phải truy vấn để truy hồi thông tin phim trực tuyến hay không Sau trích chọn thu 20 triệu truy vấn liệu click Dữ liệu bao gồm thông tin sau đây: • User: định danh người dùng • Query: nội dung query, nội dung query người dùng nhập vào • Time: thời điểm người dùng click vào URL • URL: URL người dùng click • Position: vị trí url click danh sách kết trả 18 3.2 Môi trường thực nghiệm 3.2.1 Cấu hình phần cứng Quá trình thực nghiệm tiến hành máy tính có cấu hình phần cứng sau: Bảng 3.1 - Thơng số máy chủ sử dụng thực nghiệm STT Thông số Số lượng OS: Debian 8.0 HDD: 2TB RAM: 32GB CPU: 2.7 GHz x 24 Core OS: Debian 8.0 HDD: 1TB RAM: 64GB CPU: 2.7 GHz x 24 Core 3.2.2 Các công cụ sử dụng Dưới công cụ mã nguồn mở sử dụng Bảng 3.2 - Danh sách phần mềm mã nguồn mở sử dụng STT Tên mềm elasticsearchhadoop phần Apache Spark Ranklib Phiên Nguồn https://www.elastic.co/downloads/hadoop 2.4.0 http://spark.apache.org/downloads.html 2.0.1 https://sourceforge.net/p/lemur/wiki/RankLib/ 2.7 3.3 Quá trình thực nghiệm Quá trình thực nghiệm gồm bước sau đây: 19 • Xử lý liệu: tiền xử lý liệu, xây dựng tập tài liệu học cho mơ hình, véc tơ hóa liệu Đánh mục cho liệu • Xây dựng hàm xếp hạng: tiến hành training tập liệu có thuật tốn ListNet tự viện RankLib 2.7 • Đánh giá kết mơ hình: Đánh giá thời gian thực thi mơ hình máy tính ba máy tính 3.3.1 Tiền xử lý liệu Sau khi trích xuất thông tin phim điểm Imdb tài liệu phim online liệu đánh mục vào Elasticsearch theo trường miêu tả Error! Reference source not found Error! Reference source not found Tiếp đến phần xác định điểm Imdb cho tất tài liệu phim online đánh mục Mỗi tên phim liệu phim online tìm kiếm tương ứng bảng liệu Imdb, liệu imdb đạo diễn, diễn viên, năm sản xuất làm yếu tố để đánh giá xem liệu phim imdb phù hợp với liệu phim online Bước lọc truy vấn liên kết phim online phù hợp dựa vào liên kết phim online có phải tên miền hợp lệ không với quy tắc truy vấn phải có 10 liên kết người dùng click domain phim Tại bước ta thu gần 430.000 truy vấn liên quan tới phim Từ liệu trích xuất ta tiến hành trích xuất vector đặc trưng với phần tử miêu tả Bảng 2.1 3.3.2 Tiến hành thực nghiệm Để đánh giá thời gian thực thi làm rõ mục tiêu luận văn xây dựng mơ hình xếp hạng tính tốn song song Cách thức thực nghiệm chia thành hai phần phần so sánh hiệu thời gian phần so sánh chất lượng phương pháp xếp hạng 3.3.2.1 So sánh hiệu thời gian Để so sánh hiệu thời gian tiến hành chạy bước thực nghiệm máy đơn ba máy tính có thống số Error! Reference source not found Kết trình thực nghiệm biểu diễu Bảng 3.3 – Bảng đánh giá hiệu mặt thời gian 20 Một máy tính Ba máy tính Đánh mục liệu cho triệu ghi 32 phút 15s 13 phút 27s Huấn luyện mơ hình cho gần 500.000 truy vấn tài liệu 2h 30phút 44 phút Chạy 1.000.000 truy vấn người dùng 45 phút 23s 18phút 09s Từ bảng kết cho thấy với ba máy tính tốc độ xử lý tăng lên nhiều tận dụng sức mạnh nhiều máy tính khoảng thời gian Mơ hình cho phép kế nối với nhiều máy để giảm thời gian chạy tăng khối lượng tính tốn 21 3.3.2.2 So sánh chất lượng xếp hạng Mơ hình chạy hệ thống Cốc Cốc thành phần hệ thống tìm kiếm Hình 3-1 – Hệ thống tìm kiếm phim online cốc cốc Hình 3-1 biểu diễn chức tìm kiếm phim với truy vấn “diep vien 007” Sau áp dụng mơ hình xếp hạng giải pháp tính tốn song song, tốc độ chất lượng hệ thống tìm kiếm phim online cụ thể điểm số CTR(Click through Rate) cải thiện đáng kể Dưới bảng thống kê số CTR trước sau 10 ngày sau triển khai mơ hình Bảng 3.4 – Tỉ lệ CTR trước vào sau áp dụng mơ hình Kết trước sau 10 ngày Số lần hiển thị Số lần nhấp chuột CTR 923.070 79,107 8,57% 1.110.402 136.579 12,3% Trước áp dụng mơ hình (03/09/2016 – 13/09/2016) Sau áp dụng mơ hình (14/09/2016 – 24/09/2016) 22 Chương KẾT LUẬN Tính tốn song song xu công nghệ lĩnh vực quan tâm Để đáp ứng phục vụ ngày nhiều người dùng ngày nhiều liệu WWW Tính tốn song song giúp việc xử lý liệu lớn nhiều máy tính khác để mở rộng khả tính tốn, mở rộng khả chịu lỗi Luận văn tiếp cập vấn đề học máy xếp hạng nghiên cứu, đưa mô hình, áp dụng vào máy tìm kiếm Cốc Cốc để nâng cao chất lượng máy tìm kiếm Luận văn kết quả: • Đưa nhìn tổng quát máy tìm kiếm thành phần bên máy tìm kiếm • Trình bày mơ xếp hạng truyến thống học máy xếp phương pháp đánh giá chất lượng mơ hình xếp hạng • Tìm hiểu nghiên cứu Apache Spark Elasticsearch hai phần mềm mã nguồn mở cho lưu trữ tính tốn song song • Đưa mơ hình xếp hạng phim trực tuyến cho máy tìm kiếm Cốc Cốc có khả mở rộng khả tính tốn song song nâng cao chất lượng tỉ lệ CTR 23 ... tính hạng r(x) cho r(x1) > r(x2)> > r(xm) Một số thuật toán học xếp hạng ListMLE, Listnet, PermuRank Luận văn sử dụng cách tiếp để nghiên cứu thực nghiệm xếp hạng 11 Chương GIẢI PHÁP XẾP HẠNG... phim cho hệ thống tìm kiếm Cốc Cốc 12 Hình 2-1 – Mơ hình giải pháp xếp hạng tính toán song song 2.3 Thu thập xử lý liệu Dữ liệu thu thập từ nhiều trang web thông tin người dùng từ hệ thống crawler... thực, khả mở rộng khả chịu lỗi Sau công nghệ sử dụng hệ thống Hệ thống sử dụng Elasticsearch ApacheSpark để tính tốn xử lý song song 2.2 Mơ hình hệ thống Phần giới thiệu tồn mơ hình từ thu thập