TÍCH HỢP & PHÂN TÍCH DỮ LIỆU LỚNIMDb · TMDb / JustWatch · MagnetDB
Dashboard ↗

Mở đầu • 01 / 18

Một bộ phim. Ba góc nhìn.

Sự quan tâm của khán giả, khả năng tiếp cận và các bản chia sẻ trên BitTorrent liên hệ thế nào?

01

IMDb

Phim & sự quan tâm

02

TMDb / JustWatch

Phát hành & nơi xem

03

MagnetDB

Các bản chia sẻ được ghi nhận

Mở đầu • 02 / 18

Ba nguồn dữ liệu và bước tiền xử lý

Mỗi nguồn trả lời một phần câu hỏi; tiền xử lý đưa ba nguồn về cùng một bộ phim.

01

IMDb

Hồ sơ phim: tên, năm, thể loại, điểm và lượt bình chọn. Lượt bình chọn là chỉ báo sự quan tâm.

02

TMDb / JustWatch

Ngày phát hành và nơi xem hợp pháp. Thông tin nơi xem trong TMDb do JustWatch cung cấp.

03

MagnetDB

Metadata các gói tệp chia sẻ qua BitTorrent. Đếm bản chia sẻ, không đếm người tải hoặc người xem.

Tiền xử lý

  1. 1

    Lọc phim

    Chỉ phim lẻ; bỏ phim người lớn, tập phim bộ, sự kiện thể thao

  2. 2

    Chuẩn hóa tên

    Bỏ dấu, chữ thường, thêm tên theo từng nước (akas)

  3. 3

    Ghép thực thể

    Tên + năm từ tên torrent ↔ IMDb; TMDb nối qua imdb_id

  4. 4

    Làm sạch

    Bỏ tệp < 100 MB, năm lệch, ca trùng tên, torrent giả

  5. 5

    Cửa sổ thời gian

    Chỉ giữ giai đoạn thu thập ổn định 04/2021 – 09/2024

Kết quả: 2.078.927 cặp torrent–phim sạch · 126.081 phim

Tiền xử lý • 03 / 18

Dữ liệu còn lại sau từng bước làm sạch

Tiền xử lý • 04 / 18

Chuẩn hóa dữ liệu và tạo chỉ mục tên phim

Bước 01–03, 10 · Trích phần cần dùng, giữ định danh và đưa tên phim về cùng một dạng.

MagnetDB · SQLite 117 GB

Lấy metadata cần phân tích

  • Tên torrent, tên file, dung lượng và thời điểm phát hiện.
  • Ghép theo torrent_id, chuyển phần trích xuất sang Parquet.
  • Sửa tên lỗi mã hóa; giữ dữ liệu gốc để đối chiếu.

Đầu ra: matched_files, magnetdb_matched_slice, mdb_*

IMDb · basics + ratings + akas

Một phim có nhiều tên để tra

  • Giữ titleType = movie; nối điểm và bình chọn bằng tconst.
  • Thêm tên gốc và tên ở các nước từ title.akas.
  • Bỏ dấu, viết thường và bỏ ký tự đặc biệt.

758.524 phim · 1.875.336 tên trong chỉ mục.

Ví dụ tên thay thế trong notebook
El gran Lebowski→el gran lebowski→The Big Lebowski · 1998tt0118715

Tên thay thế vẫn dẫn về cùng một mã IMDb; chưa cần so khớp gần đúng.

Nguồn: notebook 00_quy_trinh_xu_ly · số liệu và ví dụ từ kết quả đã lưu.

Tiền xử lý • 05 / 18

Ghép chính xác tên chuẩn hóa + năm; bỏ ca mơ hồ

Bước 04, 08 · Ghép tên bằng chỉ mục IMDb; kiểm tra bằng cách so với nhãn có sẵn của MagnetDB.

  1. 01 · Làm sạch tênBỏ tiền tố trang, đuôi file; loại dấu hiệu phim bộ.
  2. 02 · Tách tên + nămLấy tên trước năm; không nhầm 1080p với năm phim.
  3. 03 · Tra chính xácTên chuẩn hóa trùng chỉ mục; năm lệch tối đa ±1.
  4. 04 · Bỏ mơ hồNhiều phim trùng tên hoặc tên quá chung chung.
Ví dụ ghép thậtParasite.2019.PLSUBBED.480p.WEB-DL.XViD.AC3-LLA.avi
parasite + 2019→Parasite (2019)
2.253.337dòng ghép ban đầu
193.739ca mơ hồ bị bỏ
122.990phim sau loại mơ hồ

Kiểm tra thuật toán này trên 226.006 torrent MagnetDB đã gán phim: thuật toán trả lời 129.184 torrent, 92,0% trùng nhãn MagnetDB (mức đồng thuận); độ phủ 52,6% vì thuật toán từ chối tên không có năm hoặc mơ hồ. Ca lệch phần lớn do MagnetDB gán nhầm phần phim/năm (vd. Paranormal Activity 4 → phần 1).

Nguồn: notebook 00_quy_trinh_xu_ly · số liệu và ví dụ từ kết quả đã lưu.

Tiền xử lý • 06 / 18

Bộ lọc A–J xử lý những lỗi nào?

Bước 09 · Kiểm tra nội dung, danh tính phim, sự nhất quán giữa nguồn và các mốc thời gian.

Năm nhóm kiểm tra

A–C
Chỉ phim lẻ; bỏ tập phim bộ và file dưới 100 MB.
D–E2
Kiểm tra năm, độ giống tên và đúng phần phim.
F
Bỏ torrent sớm hơn lần ra mắt đầu tiên trên 60 ngày.
G–I
Bỏ ghép mâu thuẫn, dấu hiệu phim bộ và năm lệch.
J
Gắn cờ bản WEB/BluRay có thời điểm khó hợp lý; loại cờ này khi phân tích.

Ba ví dụ bị loại trong notebook

B · Nhầm phim bộ thành phim lẻ

…S03E01… bị gán vào A Series of Unfortunate Events (2004).

D · Tên đúng, năm sai

Independence Day · tên file 2016 nhưng phim được gán là 1996.

J · Tự xưng BluRay trước ngày ra mắt

Ant-Man and the Wasp: Quantumania
Phát hiện 18/12/2022 · ra rạp 15/02/2023.

Có thể truy vết: số lượng còn lại được ghi trong cleaning_log.csv; bảng torrent giữ các cờ như is_pack, quality_tier và implausible.

Nguồn: notebook 00_quy_trinh_xu_ly · số liệu và ví dụ từ kết quả đã lưu.

Tiền xử lý • 07 / 18

Chốt hai bảng sạch, phân biệt đơn vị và thời gian

Đầu ra bước 09 · Một bảng theo cặp torrent–phim và một bảng tổng hợp theo phim.

1 dòng = 1 cặp torrent–phim

torrents_clean

Mã torrent + IMDb; nguồn ghép, chất lượng, cờ gói nhiều phim, cờ bất thường và ngày phát hiện UTC.

Số cặp có thể lớn hơn số torrent vì một gói chứa nhiều phim.

1 dòng = 1 phim

movie_analysis

Hồ sơ IMDb + TMDb và thống kê torrent theo phim trong cửa sổ quan sát.

Đếm torrent riêng biệt theo phim trước khi tính chỉ số so sánh.

2.078.927cặp sạch · toàn phạm vi
2.066.598torrent riêng biệt · toàn phạm vi
126.081phim có cặp sạch · toàn phạm vi
923.998cặp trong cửa sổ quan sát
Cửa sổ thống kê chính · UTC01/04/2021 ≤ ngày phát hiện < 29/09/2024Chọn giai đoạn thu thập ổn định hơn; vẫn có gián đoạn.
IMDb · năm phimTMDb · ngày phát hành theo nước/loạiMagnetDB · ngày hệ thống phát hiện

Các số đếm sạch loại implausible. Ngày phát hiện không phải ngày tạo torrent; điểm và nơi xem là ảnh chụp năm 2026.

Nguồn: notebook 00_quy_trinh_xu_ly · số liệu và ví dụ từ kết quả đã lưu.

IMDb • 08 / 18

Kho phim thay đổi thế nào theo thời gian?

IMDb • 09 / 18

Sự chú ý tập trung vào một nhóm phim nhỏ

TMDb • 10 / 18

Nơi xem phim khác nhau giữa các quốc gia

TMDb • 11 / 18

Từ chiếu rạp đến phát hành số mất bao lâu?

MagnetDB • 12 / 18

Trong kho chia sẻ có những loại nội dung nào?

MagnetDB • 13 / 18

Chọn thời gian quan sát trước khi so sánh

Tích hợp • 14 / 18

Nối ba nguồn về cùng một bộ phim

Tích hợp • 15 / 18

Tự ghép tên bổ sung độ phủ của dữ liệu

Phân tích chung • 16 / 18

Sự quan tâm liên hệ thế nào với số bản chia sẻ?

Phân tích chung • 17 / 18

Thể loại còn khác nhau sau khi xét sự quan tâm?

Phân tích chung • 18 / 18

Bản WEB được ghi nhận gần mốc Digital đến đâu?

Mạch thuyết trình · 18 slide