1. Trang chủ
  2. » Luận Văn - Báo Cáo

Hệ Thống Thông Tin Giải Pháp Xếp Hàng Và Tính Toán Song Song Nền Tảng Apache Spark.pdf

53 11 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Hệ Thống Thông Tin Giải Pháp Xếp Hạng Và Tính Toán Song Song Trên Nền Tảng Apache Spark
Tác giả Nguyễn Đùng Đức
Người hướng dẫn PGS. TS. Nguyễn Ngọc H—a
Trường học Đại Học Quốc Gia Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại luận văn thạc sĩ
Năm xuất bản 2016
Thành phố Hà Nội
Định dạng
Số trang 53
Dung lượng 1,89 MB

Cấu trúc

  • Chương 1. Giới thiệu chung (13)
  • Chương 2. Tổng quan về xếp hạng (15)
  • Chương 3. Học m‡y xếp hạng (22)
    • 3.2.1 Hướng tiếp cận Pointwise (24)
    • 3.2.2 Hướng tiếp cận Pairwise (24)
    • 3.2.3 Hướng tiếp cận Listwise (24)
  • Chương 4. Giải ph‡p xếp hạng vˆ t’nh to‡n song song tr•n nền apache spark (26)
    • 4.3.1 T’nh năng của Apache Spark (29)
    • 4.3.2 C‡c thˆnh phần của Apache Spark (29)
    • 4.3.3 Resilient Distributed Datasets (30)
    • 4.4.1 T’nh năng tổng qu‡t (31)
    • 4.4.4 Nhược điểm của Elasticsearch (32)
  • Chương 5. Thực nghiệm vˆ đ‡nh gi‡ (34)
    • 5.2.1 Hạ tầng t’nh to‡n (35)
    • 5.2.2 C‡c c™ng cụ được sử dụng (35)
    • 5.3.1 Thu thập dữ liệu phim (36)
    • 5.3.2 Thu thập lịch sử click của người d•ng (40)
    • 5.3.3 Їnh chỉ mục cho dữ liệu (42)
    • 5.3.4 Tr’ch xuất dữ liệu huấn luyện (43)
    • 5.3.5 Tr’ch xuất vector đặc trưng cho m™ h“nh (44)
    • 5.3.6 X‰y dựng hệ thống xếp hạng vˆ t’nh to‡n song song (46)
    • 5.3.7 Kết quả thực nghiệm (47)
    • 5.4.1 Hiệu năng (48)
    • 5.4.2 Chất lượng xếp hạng (49)

Nội dung

Giới thiệu chung

Với sự phát triển mạnh mẽ của công nghệ thông tin, người dùng internet thường gặp khó khăn trong việc tìm kiếm thông tin do khối lượng dữ liệu khổng lồ Đặc biệt, nhu cầu tìm kiếm phim online đang gia tăng đáng kể trên các hệ thống tìm kiếm như Cốc Cốc, với hàng triệu lượt truy vấn mỗi tuần Nhằm đáp ứng nhu cầu này, Cốc Cốc đã phát triển một thành phần tìm kiếm phim trực tuyến, giúp cập nhật thông tin về các bộ phim mới nhất và cung cấp nhiều thông tin hữu ích cho người dùng Hệ thống tìm kiếm chuyên biệt của Cốc Cốc không chỉ hiển thị trực quan mà còn cung cấp các thông tin như trailer, nội dung phim, đạo diễn, diễn viên, điểm IMDb, cùng với liên kết đến các trang web xem phim trực tuyến.

Hệ thống tìm kiếm phim trực tuyến ban đầu được thiết kế trên một máy chủ, cho phép xử lý hiệu quả trong giai đoạn đầu Tuy nhiên, với sự gia tăng dữ liệu, hệ thống cần được nâng cấp để đáp ứng khả năng mở rộng, yêu cầu một kiến trúc tính toán song song trên nhiều máy tính Điều này không chỉ giúp cải thiện hiệu suất mà còn đảm bảo tính ổn định và khả năng chịu lỗi khi có sự cố xảy ra trên một máy tính.

Trong giai đoạn đầu, các hệ số nhấn của các yếu tố trong hệ thống xếp hạng phim đã được cố định và điều chỉnh dựa trên cảm quan ban đầu Điều này dẫn đến tình trạng khớp không chính xác trong một số trường hợp tìm kiếm Do đó, cần có một mô hình xếp hạng tổng quan để tìm ra các tham số thích hợp cho từng truy vấn, có khả năng áp dụng cho nhiều loại truy vấn khác nhau, không chỉ riêng tìm kiếm phim ảnh.

Mục ti•u vˆ nội dung của luận văn

Luận văn này nghiên cứu các phương pháp tiếp cận mô hình học máy xếp hạng, áp dụng cho bài toán xếp hạng trang web xem phim trên Cốc Cốc, sử dụng Apache Spark và Elasticsearch để lưu trữ và phân tích dữ liệu trên quy mô lớn Nghiên cứu khảo sát bài toán xếp hạng tổng quát và nền tảng Apache Spark, phân tích và đánh giá một số kỹ thuật Listwise trong học xếp hạng Bên cạnh đó, luận văn cũng xây dựng giải pháp triển khai kỹ thuật học xếp hạng kiểu Listwise trên nền Apache Spark và thực nghiệm, đánh giá khả năng xử lý xếp hạng trên Apache Spark thông qua bài toán xếp hạng phim tích hợp trong dịch vụ tìm kiếm của Cốc Cốc.

Tổ chức của luận văn

Kh—a luận bao gồm năm chương sau đ‰y lˆ m™ tả vắn tắt c‡c chương:

Chương 1 Giới thiệu chung Chương nˆy giới thiệu về mục ti•u vˆ động lực nghi•n cứu của luận văn

Chương 2 Tổng quan về xếp hạng Chương nˆy tr“nh bˆy tổng quan về c‡c m™ h“nh xếp hạng truyền thống được sử dụng vˆ ph‰n loại c‡c m™ h“nh xếp hạng

Chương 3 Tổng quan về học m‡y xếp hạng Chương nˆy tr“nh bˆy nền c‡c m™ h“nh học m‡y xếp hạng được sử dụng trong c‡c hệ thống truy hồi th™ng tin

Chương 4 trình bày giải pháp xếp hạng kết quả tìm kiếm bằng công nghệ tính toán song song Bài viết giới thiệu cách áp dụng Apache Spark và Elasticsearch để giải quyết bài toán xếp hạng hiệu quả.

Chương 5 trình bày chi tiết về dữ liệu được sử dụng trong nghiên cứu, các giai đoạn xử lý dữ liệu và thực nghiệm Bên cạnh đó, chương này cũng đưa ra kết quả của mô hình, kèm theo nhận xét và phân tích kết quả thu được.

Chương 6 Kết luận Chương nˆy tổng kết vˆ t—m lược nội dung ch’nh của kh—a luận.

Tổng quan về xếp hạng

Tổng quan về xếp hạng

Sự phát triển bùng nổ thông tin trên thế giới Web đã dẫn đến tình trạng tràn ngập thông tin trên internet Nghiên cứu năm 2005 cho thấy thế giới Web chứa khoảng 11.5 tỷ tài liệu Cùng năm đó, Yahoo thông báo cỗ máy tìm kiếm của họ có hơn 19.2 tỷ tài liệu web Hiện nay, con số này đã vượt quá 50 triệu tỷ tài liệu được lập chỉ mục trong các cỗ máy tìm kiếm Những số liệu này chứng tỏ rằng số lượng tài liệu web đang tăng lên một cách nhanh chóng.

Với kích thước khổng lồ của thế giới Web, người dùng thường gặp khó khăn trong việc tìm kiếm thông tin mong muốn Việc tìm kiếm và trích xuất thông tin đã trở nên quan trọng hơn bao giờ hết, vì các công cụ tìm kiếm đã dần trở thành một phần thiết yếu mà mọi người sử dụng khi lướt internet.

Một kiến trœc điển h“nh của c™ng cụ t“m kiếm được hiển theo h“nh dưới đ‰y

H“nh 2-1 Hệ thống t“m kiếm tổng qu‡t [24]

Trong một hệ thống tìm kiếm, có sáu thành phần chính, bao gồm: Crawler (Bộ thu thập dữ liệu) chịu trách nhiệm thu thập thông tin từ các trang web và tài liệu khác trên internet theo thứ tự ưu tiên; Parser (Bộ phân tích dữ liệu) lấy dữ liệu từ crawler, đánh chỉ mục và tạo đồ thị liên kết chứa các đường dẫn đến trang web; và Indexer (Bộ đánh chỉ mục) đóng vai trò quan trọng trong việc lấy dữ liệu từ Parser và tạo ra các chỉ mục.

Hệ thống tìm kiếm bao gồm các thành phần chính như sau: Bộ phân tích liên kết (Link Analyzer) thu thập dữ liệu từ đồ thị siêu liên kết để xác định độ quan trọng của từng trang web, từ đó hỗ trợ việc tối ưu hóa và cập nhật nội dung qua Crawler Bộ xử lý truy vấn (Query Processor) nhận và xử lý các truy vấn của người dùng, loại bỏ từ phổ biến và sửa lỗi để chuyển đổi thành các từ khóa mà hệ thống tìm kiếm có thể hiểu Cuối cùng, Bộ xếp hạng (Ranker) là thành phần trung tâm, chịu trách nhiệm tìm kiếm tài liệu phù hợp từ truy vấn và tài liệu đã được lập chỉ mục, sử dụng các công thức heuristic để tính toán điểm số hoặc trích xuất đặc điểm giữa các cặp tài liệu và truy vấn nhằm tạo ra điểm số kết hợp.

Hệ thống xếp hạng đóng vai trò trung tâm trong các công cụ tìm kiếm, được phát triển bởi các công ty công nghệ lớn như Yahoo, Google, Microsoft và Cốc Cốc tại Việt Nam Các thuật toán xếp hạng không ngừng được cải thiện nhằm nâng cao chất lượng của các cỗ máy tìm kiếm, đây là lĩnh vực được nghiên cứu và phát triển nhiều nhất hiện nay.

Bộ xếp hạng đóng vai trò quan trọng trong nhiều ứng dụng truy hồi thông tin như lọc cộng tác, hệ thống hỏi đáp, truy hồi đa phương tiện, tìm kiếm văn bản và các hệ thống quảng cáo trực tuyến Để khắc phục vấn đề trong hệ thống truy hồi thông tin, nhiều mô hình xếp hạng heuristic đã được đề xuất và áp dụng.

Trong những năm gần đây, học máy xếp hạng đã trở thành một lĩnh vực nghiên cứu nổi bật trong truy hồi thông tin, với nhiều bài báo khoa học được công bố tại các hội nghị hàng đầu Hàng năm, nhiều chủ đề trong hội nghị SIGIR được dành riêng cho học máy xếp hạng, và các dataset như LETOR được phát hành để hỗ trợ nghiên cứu trong lĩnh vực này Nhiều bài báo đã áp dụng dataset này cho thực nghiệm và nghiên cứu, cho thấy tầm quan trọng và sự phổ biến của học máy xếp hạng trong các hệ thống truy hồi thông tin.

Trong các tài liệu của hệ thống truy hồi thông tin, có nhiều mô hình xếp hạng đã được đề xuất, có thể tạm phân loại thành hai nhóm chính: mô hình xếp hạng dựa trên độ liên quan (Relevance Ranking Models) và mô hình xếp hạng dựa trên độ quan trọng (Importance Ranking Models).

M™ h“nh xếp hạng dựa tr•n độ li•n quan

Mục tiêu của mô hình xếp hạng là tạo ra một danh sách các tài liệu được sắp xếp theo mức độ liên quan giữa tài liệu và truy vấn Sau đó, tất cả các tài liệu sẽ được sắp xếp theo thứ tự giảm dần dựa trên mức độ liên quan của chúng.

Mô hình xếp hạng dựa trên độ liên quan trong hệ thống truy hồi thông tin đầu tiên dựa vào sự xuất hiện của các từ khóa trong tài liệu Ví dụ điển hình cho mô hình này là mô hình Boolean Về cơ bản, mô hình này có thể xác định một tài liệu là liên quan hoặc không liên quan với truy vấn, nhưng không thể đo được mức độ liên quan của nó.

Một mô hình đo độ liên quan mới là mô hình không gian vector (Vector Space Model) được giới thiệu Trong mô hình này, tài liệu và truy vấn được biểu diễn dưới dạng các vector trong không gian Euclid, với tích trong của hai vector được sử dụng để đo mức độ liên quan giữa truy vấn và tài liệu Để tạo ra vector có kết quả tốt nhất, mỗi term trong không gian vector sẽ có một trọng số Có nhiều phương pháp xếp hạng khác nhau, nhưng tf-idf (term frequency-inverse document frequency) là một phương pháp phổ biến để đánh giá và xếp hạng một từ trong tài liệu Cơ bản, tf-idf là một hàm xếp hạng giúp chuyển đổi văn bản thành mô hình không gian vector thông qua các trọng số Mô hình không gian vector và tf-idf được phát triển bởi Gerard Salton vào đầu thập niên 1960.

TF của một term t trong một vector được định nghĩa lˆ số lần xuất hiện của n— trong tˆi liệu

IDF được định nghĩa như sau

+,$- (2.1) trong đ— N lˆ số lượng tˆi liệu liệu trong tập hợp truy vấn, vˆ n(t) lˆ số lượng tˆi liệu mˆ chứa term t

Mô hình không gian vector thường giả định về sự phụ thuộc giữa các thuật ngữ, trong khi mô hình không gian LSI (Latent Semantic Indexing) lại bác bỏ giả định này Cụ thể, phương pháp phân tích giá trị riêng (SVD - Singular Value Decomposition) được áp dụng để chuyển đổi không gian tuyến tính của các đặc trưng ban đầu thành không gian ngữ nghĩa ẩn Không gian mới này tương tự như mô hình không gian vector, được sử dụng để xác định độ liên quan giữa truy vấn và tài liệu.

So sánh với mô hình dựa trên xác suất, mô hình BM25 và LMIR đã thu hút sự chú ý đáng kể nhờ vào thành công nổi bật trong thập kỷ qua BM25 nổi bật với khả năng xếp hạng tài liệu dựa trên log và chỉ số odds về mức độ liên quan Mặc dù BM25 không phải là một mô hình riêng biệt, nó định nghĩa một loạt các mô hình xếp hạng với sự khác biệt về các thành phần và tham số trong công thức Một trong những cách triển khai phổ biến của chỉ số BM25 cho tài liệu d được tính toán một cách cụ thể.

Trong một truy vấn chứa các term t1, , tm, TF(t,d) là tần suất xuất hiện của term t trong tài liệu d, trong khi LEN(d) là tổng độ dài (số từ) của tài liệu d Giá trị avdl đại diện cho độ dài trung bình của tài liệu trong tập hợp được lấy ra Các tham số k1 và b là các tham số tùy chọn, và IDF(t) là trọng số IDF của term t được tính bằng công thức đã nêu.

LMIR là một ứng dụng của mô hình ngôn ngữ thống kê trong truy hồi thông tin Mô hình ngôn ngữ thống kê gán một xác suất đến một chuỗi các term Khi được sử dụng trong hệ thống truy hồi thông tin, mô hình ngôn ngữ sẽ liên kết với một tài liệu Với đầu vào là truy vấn q, các tài liệu được xếp hạng dựa trên sự hợp lý của truy vấn đó hoặc xác suất mà mô hình ngôn ngữ của tài liệu sẽ tạo ra term trong truy vấn (tức là P(q|d)) Bằng cách tiếp tục giả định sự độc lập giữa các term do đó.

Học m‡y xếp hạng

Hướng tiếp cận Pointwise

Trong học xếp hạng, các đối tượng xi trong dữ liệu học được gán một điểm số hoặc thứ tự yi Học xếp hạng có thể được xấp xỉ bằng hồi quy, cụ thể là hồi quy có thứ tự Với tập dữ liệu D = {(xi, yi)}, hàm xếp hạng h(x) cần thỏa mãn điều kiện r(xi) = yi Một số thuật toán học xếp hạng phổ biến bao gồm OPRF và SLR.

Hướng tiếp cận Pairwise

C— D = {(xi, xj)} là tập hợp các cặp đối tượng được sắp xếp, trong đó mỗi cặp (xi, xj) có thứ hạng của xi cao hơn thứ hạng của xj, tức là xi phù hợp hơn xj (xi > xj) Tìm r(x):

Một số thuật to‡n học xếp hạng như SVM-rank, RankRLS 


Hướng tiếp cận Listwise

Thuật toán này tập trung vào việc sắp xếp trực tiếp tất cả các đối tượng trong dữ liệu học Quá trình này gặp nhiều khó khăn, vì khi thứ hạng của K đối tượng đầu tiên được xác định, tất cả các đối tượng khác sẽ có thứ hạng thấp hơn.

Với D={x1,x2 ,xm} c— sắp thứ tự: x1 >x2 > >xm, t“m hˆm t’nh hạng r(x) sao cho r(x1)

Một số thuật to‡n học xếp hạng như ListMLE, ListNet, PermuRank

Chương này giới thiệu nền tảng cơ sở về học máy xếp hạng và ba cách tiếp cận chính: Pointwise, Pairwise, và ListWise Luận văn sẽ tập trung vào cách tiếp cận ListWise, trong khi chương tiếp theo sẽ trình bày cách triển khai phương pháp này và đưa ra mô hình xếp hạng cùng với tính toán song song cho máy tìm kiếm phim tại Cốc Cốc.

Giải ph‡p xếp hạng vˆ t’nh to‡n song song tr•n nền apache spark

T’nh năng của Apache Spark

Apache Spark có những tính năng nổi bật sau: Tốc độ: Spark có khả năng chạy trên cụm Hadoop và nhanh hơn 100 lần khi chạy trên bộ nhớ RAM, cũng như nhanh hơn 10 lần khi chạy trên ổ cứng, nhờ vào việc giảm số thao tác đọc ghi lên đĩa cứng và lưu trữ trực tiếp dữ liệu trong bộ nhớ Hỗ trợ đa ngôn ngữ: Spark cung cấp các API cho các ngôn ngữ Java, Scala và Python, cho phép phát triển ứng dụng bằng nhiều ngôn ngữ khác nhau, đồng thời hỗ trợ 80 truy vấn tương tác cấp cao Phân tích nâng cao: Spark không chỉ hỗ trợ các thao tác "Map" và "Reduce", mà còn hỗ trợ truy vấn SQL, xử lý theo Stream, học máy và các thuật toán đồ thị (Graph).

C‡c thˆnh phần của Apache Spark

Apache Spark bao gồm các thành phần chính như sau: Spark Core, là phần cốt lõi thực thi, cung cấp khả năng tính toán trên bộ nhớ và dữ liệu lưu trữ ngoài; Spark SQL, nằm trên Spark Core, cung cấp ảo hóa dữ liệu dưới dạng SchemaRDD, hỗ trợ cả dữ liệu có cấu trúc và bán cấu trúc; Spark Streaming, cho phép xử lý dữ liệu theo thời gian thực; và MLlib, thư viện học máy phân tán trên Spark, được thiết kế dựa trên kiến trúc phân tán và bộ nhớ, mang lại hiệu suất cao trong các bài toán học máy.

Spark MLlib nhanh hơn gấp mười lần so với phiên bản chạy trên Hadoop (Apache Mahout) GrapX là nền tảng xử lý đồ thị dựa trên Spark, cung cấp các API để mô tả các tính toán trong đồ thị thông qua việc sử dụng Pregel API.

Resilient Distributed Datasets

Resilient Distributed Datasets (RDD) là cấu trúc dữ liệu cơ bản của Spark, bao gồm một tập hợp bất biến và phân tán của các đối tượng Mỗi RDD được chia thành nhiều phần vùng logical và có thể được tính toán trên các node khác nhau trong một cụm máy chủ RDDs hỗ trợ nhiều kiểu dữ liệu, bao gồm Python, Java, và Scala, cũng như các kiểu dữ liệu do người dùng định nghĩa.

RDD (Resilient Distributed Dataset) là một tập hợp các bản ghi có khả năng chịu lỗi, cho phép thực hiện tính toán song song RDDs có thể được tạo ra thông qua việc điều khiển xác định trên dữ liệu trong bộ nhớ hoặc từ các RDDs khác.

Có hai cách để tạo RDDs: Thứ nhất, tạo từ một tập hợp dữ liệu có sẵn trong các ngôn ngữ lập trình như Java, Python, hoặc Scala Thứ hai, lấy dữ liệu từ các hệ thống lưu trữ bên ngoài như HDFS, Hbase hoặc các cơ sở dữ liệu quan hệ.

Elasticsearch được ph‡t triển bởi Shay Banon vˆo năm 2010 vˆ dựa tr•n Apache Lucene, Elasticsearch được ph‡t hˆnh theo Giấy phŽp Apache 2.0

Elasticsearch là một hệ thống phân tán theo thời gian thực, chuyên tìm kiếm full-text và phân tích dữ liệu, với mã nguồn mở Hệ thống này có thể được truy cập thông qua RESTful API sử dụng JSON (JavaScript Object Notation) để lưu trữ dữ liệu Được phát triển bằng ngôn ngữ Java, Elasticsearch có khả năng chạy trên nhiều nền tảng khác nhau, cho phép người dùng thực hiện các truy vấn dữ liệu lớn với tốc độ cao.

T’nh năng tổng qu‡t

Elasticsearch có khả năng mở rộng lên đến Petabyte dữ liệu mà không cần cấu trúc cụ thể Nó có thể được sử dụng như một giải pháp thay thế cho các hệ thống lưu trữ tài liệu như MongoDB hay RavenDB Đặc biệt, Elasticsearch cải thiện hiệu suất tìm kiếm, đặc biệt là tìm kiếm full-text Đây là một trong những máy tìm kiếm phổ biến nhất, được nhiều tổ chức lớn như Wikipedia, The Guardian, StackOverflow và GitHub sử dụng.

4.4.2 Kh‡i niệm cơ bản ¥ Nœt (Node): N— lˆ thể hiện của một chương tr“nh chạy độc lập của Elasticsearch

Một máy chủ vật lý và máy chủ ảo có thể chứa nhiều node phụ thuộc vào tài nguyên như RAM, CPU và bộ nhớ Cụm (Cluster) là tập hợp của một hoặc nhiều node, cung cấp khả năng chỉ mục và tìm kiếm xuyên suốt toàn bộ node cho toàn bộ dữ liệu Chỉ mục (Index) là tập hợp các kiểu dữ liệu khác nhau của tài liệu và sử dụng khái niệm shard để cải thiện hiệu năng tính toán, ví dụ như dữ liệu cho mạng xã hội Type/Mapping là tập hợp các tài liệu mô tả các miêu tả của trường dữ liệu trong cùng index, chẳng hạn như dữ liệu người dùng, tin nhắn và bình luận Tài liệu (Document) là tập hợp các trường dữ liệu được xác định cụ thể trong định dạng JSON, mỗi tài liệu thuộc về một Type và lưu trữ trong mỗi index với định dạng duy nhất là UID Shard là các Index được mở rộng theo chiều ngang bằng cách chia thành nhiều shards, mỗi shard chứa tất cả các thuộc tính của một Document nhưng ít đối tượng JSON hơn Index Việc phân chia theo chiều ngang làm shard là một node độc lập và có thể chứa trên bất kỳ node nào Replicas cho phép người sử dụng tạo nhiều nhân bản với các index và shard, giúp tăng sẵn sàng cho dữ liệu và nâng cao hiệu năng tìm kiếm bằng tìm kiếm song song trong các phần nhân bản này.

H“nh 4-6 Minh họa một Cluster trong Elasticsearch

4.4.3 Ưu điểm của Elasticsearch ¥ Elasticsearch được ph‡t triển tr•n Java điều nˆy cho phŽp n— c— thể chạy tr•n hầu hết mọi nền tảng ¥ Elasticsearch c— thể hoạt động một c‡ch trực tuyến, nghĩa lˆ việc th•m tˆi liệu được cập nhập vˆ t“m kiếm ngay lập tức ¥ Xử lý đa người sử dụng trong Elasticsearch lˆ dễ dˆng hơn so với Apache Solr ¥ Elasticsearch sử dụng định dạng JSON cho truy vấn vˆ kết quả trả về do đ— dễ dˆng gọi Elasticsearch từ nhiều ng™n ngữ lập tr“nh kh‡c nhau ¥ Elasticsearch hỗ trợ nhiều loại kiểu dữ liệu kh‡c nhau như văn bản, ngˆy th‡ng, số thực, số nguy•n, địa chỉ IPÉ vˆ nhiều truy vấn phức tạp.

Nhược điểm của Elasticsearch

Một nhược điểm cố hữu của Elasticsearch là việc sử dụng cấu trúc của Apache Lucene cho mỗi shard, dẫn đến việc không thể thay đổi số lượng shard sau khi tạo index Điều này yêu cầu người dùng phải tính toán kỹ số lượng shard cho mỗi index, vì nếu số shard quá nhiều sẽ ảnh hưởng đến hiệu năng, trong khi nếu quá ít sẽ giảm khả năng mở rộng khi dữ liệu tăng Hơn nữa, Elasticsearch chỉ hỗ trợ định dạng trả về JSON, khác với Apache Solr, nơi hỗ trợ nhiều định dạng như CSV, XML và JSON.

T’nh to‡n song song tr•n ElasticSearch vˆ Apache Spark

Elasticsearch là một hệ thống tìm kiếm và phân tích trực tuyến có khả năng mở rộng theo chiều ngang Dữ liệu trong Elasticsearch được chia thành các Shard, mỗi Shard là một thành phần độc lập Khi có dữ liệu mới được index, dữ liệu sẽ được gửi đến máy Master, nơi kiểm tra thông tin về các Shard như kích thước và vị trí lưu trữ Máy Master sẽ phân bổ tài nguyên và chia công việc index ra nhiều Shard khác nhau để tăng tốc độ đánh chỉ mục Khi có yêu cầu truy vấn, truy vấn sẽ được gửi về máy Master, sau đó máy này sẽ chuyển truy vấn đến tất cả các Shard chứa dữ liệu liên quan và thực thi tìm kiếm, xếp hạng kết quả trên mỗi Shard Cuối cùng, toàn bộ dữ liệu sẽ được hợp nhất để đưa ra kết quả cuối cùng.

Apache Spark là nền tảng tính toán song song với nhiều module truy cập dữ liệu từ các nguồn khác nhau như HDFS và Spark SQL Module Apache Spark connector cho phép tương tác với Elasticsearch, giúp chỉ mục và truy vấn dữ liệu song song thông qua phần mở rộng elasticsearch-hadoop Trong quá trình này, Apache Spark tìm kiếm thông tin phim dựa trên truy vấn của người dùng trên từng máy đơn lẻ, hoàn toàn thực hiện song song Mỗi máy sẽ lấy 100 truy vấn liên quan nhất và đưa vào học máy, sau đó sắp xếp lại Khi tất cả các máy chủ hoàn tất, Apache Spark tổng hợp kết quả và đưa ra danh sách cuối cùng được xếp hạng theo độ liên quan giữa truy vấn và tài liệu.

Mô hình sẽ được tính toán song song dựa trên hai quy trình: tìm kiếm song song trên Elasticsearch và tính toán, áp dụng mô hình học máy xếp hạng song song với Apache Spark.

Chương này trình bày giải pháp xếp hạng và tính toán song song cho máy tìm kiếm thông tin phim ảnh, sử dụng nền tảng Apache Spark và công cụ quản trị dữ liệu Elasticsearch Dựa trên giải pháp này, chúng tôi sẽ tiến hành xây dựng hệ thống thử nghiệm và thực hiện đánh giá trong chương tiếp theo.

Thực nghiệm vˆ đ‡nh gi‡

Hạ tầng t’nh to‡n

Qu‡ tr“nh thực nghiệm được tiến hˆnh tr•n hệ thống m‡y t’nh c— cấu h“nh phần cứng như sau:

Bảng 5-1 Th™ng số m‡y chủ sử dụng trong 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

C‡c c™ng cụ được sử dụng

Dưới đ‰y lˆ c‡c c™ng cụ m‹ nguồn mở được sử dụng

Bảng 5-2 Danh s‡ch phần mềm m‹ nguồn mở được sử dụng

STT Tên phần mềm Nguồn Phiên bản

1 Elasticsearch-hadoop https://www.elastic.co/downloads/hadoop 2.4.0

2 Apache Spark http://spark.apache.org/downloads.html 2.0.1

3 Ranklib https://sourceforge.net/p/lemur/wiki/RankLib/ 2.7

Elasticsearch-Jdbc https://github.com/jprante/elasticsearch-jdbc 2.3.4.1

Quá trình thực nghiệm học máy xếp hạng bao gồm các bước chính sau đây: Đầu tiên, thu thập dữ liệu toàn bộ về phim và dữ liệu lịch sử của người dùng trong hệ thống tìm kiếm Cốc Cốc Tiếp theo, xử lý dữ liệu bằng cách tiền xử lý, đánh chỉ mục cho dữ liệu và xây dựng tập tài liệu học cho mô hình, cũng như vector hóa dữ liệu Cuối cùng, xây dựng hàm xếp hạng bằng cách tiến hành training trên tập dữ liệu đã có bằng thuật toán ListNet trong thư viện RankLib 2.7.

Thu thập dữ liệu phim

Tất cả dữ liệu sẽ được thu thập từ nhiều trang web và thông tin của người dùng thông qua hệ thống crawler và search của Cốc Cốc Hệ thống này hoạt động hàng ngày để cập nhật dữ liệu mới, bộ phận phân tích sẽ tự động trích xuất thông tin bằng Jsoup, một công cụ cho phép sử dụng CSS để chọn các thẻ và thuộc tính trong HTML, và lưu trữ vào cơ sở dữ liệu Đầu tiên, hệ thống sẽ trích xuất thông tin từ trang web đánh giá phim IMDb (Internet Movie Database), cung cấp dữ liệu chi tiết về các bộ phim.

H“nh 5-2 Th™ng tin phim tr•n trang IMDb

IMDb là một trang web trực tuyến nổi tiếng, hoạt động như một thư viện lưu trữ thông tin chi tiết về các tác phẩm điện ảnh Đây không chỉ là nơi cung cấp đánh giá và xếp hạng cho các bộ phim dựa trên kịch bản, đạo diễn, bối cảnh và kỹ thuật quay phim, mà còn được xem như một nguồn thông tin uy tín cho cả khán giả và những người làm trong ngành điện ảnh Ngoài việc đánh giá phim, IMDb còn tổng hợp thông tin về các chương trình truyền hình và các ngôi sao, nhà sản xuất phim, tạo nên một kho tàng dữ liệu phong phú cho những ai yêu thích nghệ thuật thứ bảy.

C‡c th™ng tin tr•n trang được tr’ch xuất tr•n trang IMDb bao gồm

T•n phim, năm sản xuất Đạo diễn, diễn vi•n

Nội dung phim, thể loại, điểm số rating

Bước nˆy thu thập được 117.094 th™ng tin phim IMDb dữ liệu ban đầu được chứa vˆo cơ sở dữ liệu MySQL, vˆ được chứa theo định dạng sau

Bảng 5-3 Định dạng trường dữ liệu th™ng tin phim IMDb trong cơ sở dữ liệu

The article provides essential details about films, including the title (name), description (outline), release year (year), release date (release_date), director (director), genre (genre), and cast (actor) It also includes the film's unique identifier (id) and IMDb link (link), along with the poster image (image_link) Additionally, it mentions the runtime (runtime), total number of ratings (ratingCount), and average rating (rate).

Dưới đ‰y lˆ một vˆi th™ng tin phim đ‹ thu thập được

H“nh 5-3 Dữ liệu IMDb trong cơ sở dữ liệu Mysql b Thu th ậ p d ữ li ệ u tr•n trang chi ế u phim tr ự c tuy ế n

Dữ liệu từ các trang chiếu phim trực tuyến sẽ được Cốc Cốc thu thập hàng ngày thông qua hệ thống crawler Các nguồn dữ liệu bao gồm các website như phim3s.net, hayhaytv.vn, phim14.net, hdviet.com, phimmoi.net, hdonline.vn và bomtan.org.

Thông tin về bộ phim "Mũi Tên Xanh Phần 5" đã được trích xuất từ HTML của các trang web khác Bạn có thể tìm thấy thông tin chi tiết về phim tại trang web http://www.phimmoi.net/phim/mui-ten-xanh-phan-5-4268/.

H“nh 5-4 Dữ liệu th™ng tin phim tr•n trang phimmoi.net

Dữ liệu th™ng tin thu thập về được lưu trữ vˆo cơ sở dữ liệu MySQL theo bảng dưới đ‰y

Bảng 5-4 Định dạng trường dữ liệu dữ liệu phim trực tuyến trong cơ sở dữ liệu

The article provides a structured overview of film-related data, including essential elements such as the film's title in Vietnamese and English, director, genre, release date, runtime, cast, IMDb ID, and a poster image link Each component is identified by specific labels, ensuring clarity and coherence in presenting the film's information.

Bước nˆy thu thập được 213.253 dữ liệu mẫu cho phim online vˆ được m™ tả dưới đ‰y

H“nh 5-5 Th™ng tin được tr’ch xuất trong trang phim trực tuyến.

Thu thập lịch sử click của người d•ng

Dữ liệu lịch sử được thu thập khi hệ thống được đưa vào sử dụng, bao gồm các tham số như truy vấn, định danh người dùng, liên kết phim đã click và hạng mục được click Những thông tin này tạo thành một vector đặc trưng quan trọng để huấn luyện mô hình hành vi.

Trước khi hệ thống được triển khai, dữ liệu sẽ được thu thập từ công cụ tìm kiếm của Cốc Cốc, bao gồm thông tin về lượt click của người dùng từ các trang phim đã được chỉ định.

H“nh 5-6 M™ h“nh lưu trữ lịch sử của người d•ng

Hệ thống tìm kiếm tại Cốc Cốc sử dụng query log được phân loại theo chủ đề phim, là thành phần quan trọng trong việc thu thập dữ liệu hành vi người dùng qua từng truy vấn Dữ liệu này không chứa thông tin quảng cáo mà chỉ hiển thị kết quả cho người dùng Nó cũng đóng vai trò quan trọng trong việc huấn luyện và đánh giá hệ thống Thêm vào đó, dữ liệu query log được tổng hợp hàng tuần và lưu trữ theo sơ đồ đã định.

Dữ liệu huấn luyện được lấy từ lịch sử ba tháng của log truy vấn người dùng, được lọc theo nội dung truy vấn và liên kết tài liệu để xác định khả năng truy hồi thông tin phim trực tuyến Sau khi trích xuất, tổng cộng có 583,129 truy vấn dữ liệu click được thu thập và lưu trữ theo định dạng nhất định.

Bảng 5-5 C‡c trường dữ liệu được đ‡nh chỉ mục của lịch sử click của người d•ng

Tên trường bao gồm: Miêu tả, query_id (định danh truy vấn), user_id (định danh của người dùng), link (liên kết được click), order (hạng của liên kết) và time (thời gian được click).

Їnh chỉ mục cho dữ liệu

Tất cả thông tin như dữ liệu phim, thông tin từ IMDb và lịch sử click của người dùng được chỉ mục vào các tài liệu trong hệ thống Elasticsearch Quá trình này sử dụng thư viện Elasticsearch-Jdbc để cấu hình kết nối từ cơ sở dữ liệu MySQL đến một cụm máy chủ.

Elasticsearch indexing involves a series of steps executed under a specific configuration on a single server, as well as on two servers that index simultaneously.

H“nh 5-7 Cấu h“nh đ‡nh chỉ mục từ Mysql sang cụm ElasticSearch

Sau bước nˆy toˆn bộ dữ liệu được đ‡nh chỉ mục l•n Elasticsearch vˆ c— thể t“m kiếm d•ng c‡c API t“m kiếm của Elasticsech

H“nh 5-8 Dữ liệu được đ‡nh chỉ mục l•n Elasticsearch

Tr’ch xuất dữ liệu huấn luyện

Toàn bộ dữ liệu huấn luyện được thu thập từ lịch sử click thể hiện mối liên quan giữa truy vấn và hành động click của người dùng Dữ liệu này sẽ được lọc để chỉ giữ lại các truy vấn và click liên quan đến chủ đề phim trực tuyến, và sẽ được sắp xếp theo số lượng click.

V’ dụ như truy vấn phim Òqu‡ nhanh qu‡ nguy hiểmÓ

Bảng 5-6 Dữ liệu huấn luyện cho m™ h“nh

1 http://hdonline.vn/phim-qua-nhanh-qua-nguy-hiem-7-

2 http://phim3s.net/phim-le/qua-nhanh-qua-nguy-hiem-

3 http://www.phimmoi.net/phim/qua-nhanh-qua-nguy- hiem-5-70/?utm_source=CocCoc

Sau khi chọn lọc thông tin từ các truy vấn, chúng ta tiến hành trích xuất vector đặc trưng để tạo dữ liệu huấn luyện Ở bước này, chúng tôi đã thu được 583,129 truy vấn dữ liệu từ người dùng và các liên kết trang web được nhấp vào.

Tr’ch xuất vector đặc trưng cho m™ h“nh

Vector đặc trưng trong mô hình huấn luyện bao gồm các giá trị điểm số tính toán dựa trên truy vấn và tài liệu Các thuộc tính của vector đặc trưng được trình bày trong bảng dưới đây.

Bảng 5-7 Bảng m™ tả vector đặc trưng cho m™ h“nh học m‡y xếp hạng

Số thứ tự Mô tả

1 IDF của tiêu đề phim

2 Độ dài của tiêu đề phim

3 Điểm số BM25 của truy vấn và tiêu đề phim

4 IDF của nội dung phim

5 Độ dài của nội dung phim

6 Điểm số BM25 của truy vấn và nội dung phim

7 Hạng trang web của tài liệu

8 Hạng của domain gốc của tài liệu

9 Điểm số IMDB của tài liệu

10 Tổng số lượt click của tài liệu

11 Thời gian sản xuất phim (Năm hiện tại – Năm sản xuất)

Tại bước này, chúng ta sẽ thu thập toàn bộ dữ liệu truy vấn của người dùng và thứ tự xếp hạng của các truy vấn xem phim mà người dùng nhập vào hệ thống tìm kiếm Cốc Cốc Dữ liệu lịch sử thu được sẽ bao gồm tên truy vấn, liên kết được click và số lượng click Để xác định truy vấn nào là truy vấn phim, chúng ta sẽ dựa vào hai tiêu chí sau đây.

Ti•u để truy vấn: Ti•u đề của truy vấn lˆ những truy vấn mˆ xuất hiện trong cơ sở dữ liệu phim đ‹ được đ‡nh chỉ mục trong Elasticsearch

Li•n kết được click: C‡c domain trong c‡c li•n kết được click phải nằm trong c‡c trang web xem phim online như sau

H“nh 5-9 Lịch sử click của người d•ng

Sau khi lựa chọn các truy vấn xem phim và sắp xếp theo thứ tự lượt click của người dùng, danh sách các liên kết phim liên quan đến truy vấn sẽ được hiển thị Tham số đầu vào của mô hình huấn luyện được biểu diễn một cách cụ thể.

Độ liên quan của truy vấn và liên kết phim được xác định thông qua các chỉ số như ID của truy vấn và ID của liên kết phim Bảng vector đặc trưng giữa truy vấn và liên kết phim được mô tả theo thứ tự chỉ số, nhằm tối ưu hóa khả năng truy xuất dữ liệu từ cơ sở dữ liệu gốc.

H“nh 5-10 Vector đặc trưng giữa truy vấn vˆ li•n kết phim

Sau khi tạo bảng vector đặc trưng từ truy vấn và liên kết phim, chúng ta tiến hành huấn luyện mô hình Mô hình sẽ áp dụng thuật toán ListNet trong thư viện RankLib, với các tham số huấn luyện được chỉ định cụ thể cho thuật toán này Thông tin chi tiết về cách sử dụng và các tham số có thể tham khảo tại trang web của RankLib.

X‰y dựng hệ thống xếp hạng vˆ t’nh to‡n song song

Sau khi hoàn tất huấn luyện mô hình học máy, bước tiếp theo là tích hợp mô hình vào hệ thống tìm kiếm phim trực tuyến Mỗi khi người dùng gửi truy vấn, hệ thống sẽ chuyển tiếp đến bộ tìm kiếm, sử dụng Apache Spark để thực hiện truy vấn và tìm kiếm song song trong Elasticsearch, nhằm lấy về 500 kết quả hàng đầu cho mỗi máy.

Sau khi dữ liệu được lập chỉ mục trong Elasticsearch, người dùng có thể tìm kiếm thông tin bằng tên tiếng Việt, tên tiếng Anh, nội dung và thể loại phim Điều này cho phép thực hiện các truy vấn hiệu quả, ví dụ như truy vấn "quá nhanh quá nguy hiểm".

Sau khi gửi mẫu truy vấn nˆy bộ ph‰n t’ch truy vấn của Elasticserch ta c— thể thu thập được kết quả lˆ danh s‡ch c‡c bộ phim như dưới đ‰y

Sau khi thu thập được top 500 kết quả, chúng tôi sẽ tiến hành trích xuất vector đặc trưng và đưa vào mô hình học máy xếp hạng Listnet để tính toán Cuối cùng, kết quả sẽ được gửi đến người dùng thông qua Json Web Service.

H“nh 5-11 Dữ liệu trả về từ service t“m kiếm phim trực tuyến tại Cốc Cốc

Kết quả thực nghiệm

Kết quả của quá trình thực nghiệm đã được áp dụng trong việc xây dựng chức năng tìm kiếm riêng biệt cho chức năng xem phim online trên trình duyệt Cốc Cốc Tính năng này cho phép người dùng nhanh chóng truy cập nội dung phim, bao gồm tiêu đề tiếng Anh, tiếng Việt, năm sản xuất và liên kết xem phim trực tuyến một cách trực quan Tất cả các bộ phim sẽ được sắp xếp theo mô hình học máy xếp hạng được trình bày rõ ràng Dưới đây là minh họa cho truy vấn phim "Nhiệm vụ bất khả thi": http://coccoc.com/search#query=nhiệm vụ bất khả thi.

Chức năng tìm kiếm phim trực tuyến là một tiện ích hữu ích cho người dùng, cho phép họ dễ dàng tìm kiếm thông tin về nội dung phim Người dùng có thể lựa chọn giữa các nhà cung cấp phim trực tuyến đã được xếp hạng, giúp hiển thị nội dung phù hợp hơn với sở thích của họ Để đánh giá hiệu quả, luận văn sẽ xây dựng mô hình xếp hạng bằng toán toán song song, chia thành hai phần: một phần so sánh hiệu quả thời gian và một phần so sánh chất lượng của phương pháp xếp hạng.

Hiệu năng

Để so sánh hiệu quả thời gian, tôi đã tiến hành chạy các bước thực nghiệm trên một máy đơn và ba máy tính với các thông số như sau Kết quả của quá trình thực nghiệm này được biểu diễn dưới đây.

Bảng 5-8 Bảng đ‡nh gi‡ hiệu quả về mặt thời gian

Công việc thực hiện Một máy tính

Ba máy tính Đánh chỉ mục dữ liệu cho 117.094 bản ghi IMDb, 213.253 phim online, 583,129 truy vấn dữ liệu click 32 phút

Huấn luyện mô hình 230.000 truy vấn và tài liệu 2h 30phút 44 phút

Chạy 930.321 truy vấn của người dùng 45 phút

Bảng kết quả cho thấy rằng việc sử dụng ba máy tính đã làm tăng đáng kể tốc độ xử lý nhờ vào khả năng tận dụng sức mạnh của nhiều máy tính trong cùng một khoảng thời gian Hệ thống cũng cho phép kết nối với nhiều máy hơn nữa, giúp giảm thời gian chạy hoặc tăng khối lượng tính toán.

Chất lượng xếp hạng

M™ hiện đang hoạt động trên hệ thống Cốc Cốc như một phần của công cụ tìm kiếm, mang đến cho người dùng một giao diện trực quan hơn Hệ thống tìm kiếm mới giúp người dùng dễ dàng tìm kiếm và lựa chọn bộ phim phù hợp nhất thông qua việc hiển thị dữ liệu một cách rõ ràng và thuận tiện.

H“nh 5-13 Hệ thống t“m kiếm phim online tr•n Cốc Cốc

Hệ thống tìm kiếm phim đã được cải thiện đáng kể với truy vấn "điệp viên 007" nhờ áp dụng mô hình xếp hạng mới và giải pháp tính toán song song Tốc độ và chất lượng của hệ thống được thể hiện qua chỉ số CTR (Click through Rate), cho thấy sự gia tăng rõ rệt Dưới đây là bảng thống kê chỉ số CTR trước và sau 10 ngày triển khai mô hình mới.

Bảng 5-9 Tỉ lệ CTR trước vˆo sau khi ‡p dụng m™ h“nh

Kết quả trước và sau 10 ngày Số lần hiển thị Số lần nhấp chuột CTR

Trước khi áp dụng mô hình

Sau khi áp dụng mô hình

Kết quả nghiên cứu cho thấy việc áp dụng phương pháp tính toán song song mang lại hiệu quả rõ rệt về thời gian Đồng thời, chất lượng tìm kiếm cũng được cải thiện, với tỷ lệ CTR tăng từ 8,57% lên 12,3% khi áp dụng mô hình mới tại máy tìm phim.

Tính toán song song đang trở thành xu thế quan trọng trong công nghệ, đặc biệt là trong việc xử lý lượng lớn dữ liệu trên Internet Phương pháp này cho phép xử lý dữ liệu trên nhiều máy tính khác nhau, giúp mở rộng khả năng tính toán và tăng cường độ tin cậy.

Luận văn nˆy đ‹ tiếp cập vấn đề học m‡y xếp hạng vˆ nghi•n cứu, đưa ra 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 của bộ m‡y t“m kiếm

Luận văn đã đạt được những kết quả quan trọng: đưa ra cái nhìn tổng quát về bộ máy tìm kiếm và các thành phần bên trong; trình bày các mô hình xếp hạng truyền thống và học máy xếp hạng cùng các phương pháp đánh giá chất lượng của mô hình xếp hạng; tìm hiểu nghiên cứu về Apache Spark và Elasticsearch, hai phần mềm mã nguồn mở cho lưu trữ và tính toán song song; đề xuất mô hình xếp hạng phim trực tuyến cho máy tìm kiếm Cốc Cốc, nhằm nâng cao khả năng mở rộng, tính toán song song, chất lượng và tỷ lệ CTR Hướng phát triển tiếp theo là tiếp tục tham khảo nhiều thuật toán học máy xếp hạng khác để so sánh và nâng cao chất lượng tìm kiếm, áp dụng mô hình cho nhiều máy tìm kiếm chuyên biệt tại Cốc Cốc như tìm kiếm tin tức và sản phẩm mua sắm.

[1] ITU, ÒInternet protocol data communication service Ð IP packet transfer and availability performance parameters,Ó ITU-T Recommendation Y.1540, Feb 1999

The paper by Winlaw et al (2015) discusses an innovative algorithmic acceleration of the Alternating Least Squares (ALS) method for collaborative filtering, aimed at enhancing the efficiency of distributed big data recommendations within the Spark framework Presented at the 21st IEEE International Conference on Parallel and Distributed Systems in Melbourne, this research highlights significant improvements in processing speed and scalability for recommendation systems, addressing the challenges posed by large datasets.

[3] X M Li and Y Y Wang, "Design and Implementation of an Indexing Method Based on Fields for Elasticsearch," 2015 Fifth International Conference on Instrumentation and Measurement, Computer, Communication and Control (IMCCC), Qinhuangdao, 2015, pp 626-630

In their 2015 paper presented at the International Conference on Information & Communication Technology and Systems (ICTS) in Surabaya, P P I Langi, Widyawan, W Najib, and T B Aji evaluate the performance of Twitter River and Logstash as inputs for Elasticsearch in the context of social media analysis Their findings contribute valuable insights into the effectiveness of these tools for processing Twitter data, highlighting their capabilities and limitations in enhancing social media analytics.

[5] Baeza-Yates, R., Ribeiro-Neto, B.: Modern Information Retrieval Addison-Wesley, Reading (1999) 


[6] Singhal, A.: Modern information retrieval: a brief overview IEEE Data Engineering Bulletin 24(4), 35Ð43

[7] Tax, Niek (2014) Scaling Learning to Rank to Big Data: Using MapReduce to parallelise Learning to Rank

[8] H Karau, A Konwinski, P Wendell, and M Zaharia, Learning Spark: Lightning-Fast Big Data Analysis Sebastopol, CA, USA: ÕReilly Media, Inc., 2015

[9] C Avery, ÒGiraph: Large-scale graph processing infrastructure on 
hadoop,Ó Proceedings of the Hadoop Summit Santa Clara, 2011 


[10] M Gates, H Anzt, J Kurzak and J Dongarra, "Accelerating collaborative filtering using concepts from high performance computing," 2015 IEEE International Conference on Big Data (Big Data), Santa Clara, CA,

In the study by Amento, Terveen, and Hill presented at the 23rd Annual International ACM SIGIR Conference, the authors explore the relationship between authority and quality in web documents They investigate whether expert quality ratings can be predicted based on the authority of the content, providing insights into the evaluation of online information Their findings contribute to understanding how perceived authority influences the assessment of document quality in the realm of information retrieval.

[12] Haveliwala, T.: Efficient computation of pageRank Tech rep 1999-31, Stanford University (1999) 


[13] McSherry, F.: A uniform approach to accelerated pagerank computation In: Proceedings of the 14th International Conference on World Wide Web (WWW 2005), pp 575Ð582 ACM, New York (2005) 


[14] S Hatakenaka and T Miura, "Query and Topic Sensitive PageRank for general documents," 2012 14th IEEE International Symposium on Web Systems Evolution (WSE), Trento, 2012, pp 97-101

[15] Richardson, M., Domingos, P.: The intelligent surfer: probabilistic combination of link and 
content information in pagerank In: Advances in Neural Information Processing Systems 14 
(NIPS 2001), pp 1441Ð

[16] Gyongyi, Z., Garcia-Molina, H., Pedersen, J.: Combating web spam with trustrank In: Pro- ceedings of the 30th International Conference on Very Large Data Bases (VLDB 2004), pp 576Ð587 (2004) VLDB Endowment 


[17] Voorhees,E.M.:The philosophyof information retrieval evaluation In: Lecture Notes in Computer Science (CLEF 2001), pp 355Ð370 (2001) 


[18] JŠrvelin, K., KekŠlŠinen, J.: Cumulated gain-based evaluation of IR techniques ACM Trans- actions on Information Systems 20(4), 422Ð446 (2002) 


[19] IEEE Reference Format [Online] http://www.ieee.org/auinfo03.pdf

Ngày đăng: 30/11/2023, 10:27

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w