Từ một trang web đến một document sạch

Từ một trang web đến một document sạch A data-flow diagram generated by Archify. 01 / Trang web 02 / Lưu trữ crawl 03 / Trích xuất 04 / Chuẩn hoá 05 / Corpus Trang web · nav · article · ads · footer · 01 / Trang web · nội dung lẫn boilerplate Trang web nav · article · ads · footer nội dung lẫn boilerplate Crawler · URL · headers · timestamp · 01 / Trang web Crawler URL · headers · timestamp WARC · raw response nguyên trạng · 02 / Lưu trữ crawl WARC raw response nguyên trạng WAT và WET · metadata · plaintext sẵn có · 02 / Lưu trữ crawl WAT và WET metadata · plaintext sẵn có Trích xuất main content · giữ code, bảng, công thức · 03 / Trích xuất · một quyết định thiết kế Trích xuất main content giữ code, bảng, công thức một quyết định thiết kế Phần bị loại · nav · cookie · related posts · 03 / Trích xuất Phần bị loại nav · cookie · related posts Chuẩn hoá · Unicode · whitespace · control · 04 / Chuẩn hoá · mạnh tay là hỏng cấu trúc Chuẩn hoá Unicode · whitespace · control mạnh tay là hỏng cấu trúc Language ID · en 0.99 · vi 0.97 · mixed? · 04 / Chuẩn hoá Language ID en 0.99 · vi 0.97 · mixed? Plain-text document · kèm metadata nguồn · 05 / Corpus · vẫn xa dataset lý tưởng Plain-text document kèm metadata nguồn vẫn xa dataset lý tưởng HTTP response HTML đầy đủ text chính text đã chuẩn hoá ghi lại nguyên trạng đường tắt plaintext bỏ ra khỏi document gắn nhãn ngôn ngữ Legend primary data async batch data store data flow

Trích xuất không phải là xoá thẻ HTML

  • • Extractor quá đơn giản giữ lại nav, cookie banner và footer
  • • Extractor quá mạnh tay xoá mất code block, bảng và công thức
  • • Pipeline cho math hoặc code cần giữ MathJax, KaTeX, MathML

Chuẩn hoá là con dao hai lưỡi

  • • Sửa encoding và bỏ control character thì gần như luôn đúng
  • • Ép lowercase hay bỏ dấu có thể phá tiếng Việt và thơ
  • • Whitespace là cú pháp thật trong Python và Markdown

Language ID là metadata, không phải bộ lọc

  • • Dùng để kiểm soát tỷ lệ sampling giữa các ngôn ngữ
  • • Document trộn nhiều ngôn ngữ thường nhận điểm không chắc chắn
  • • Nhãn ngôn ngữ sai sẽ đi thẳng vào bước data mixing phía sau