Từ mẫu HTML đến phân tích bias AI: Cách trích xuất nội dung, loại boilerplate và kiểm soát thiên lệch

    Trí tuệ nhân tạo10/07/2026— lượt xem

    Giới thiệu

    Trong nhiều dự án AI thực tế, “dữ liệu đầu vào” không phải là văn bản sạch để đưa thẳng vào mô hình. Thay vào đó, ta thường nhận được tài liệu HTML đầy thành phần trình bày: cấu trúc HTML (head/body), các thẻ h1, thẻ h2, đoạn văn HTML, cùng CSS container (ví dụ text-align center, padding, border-radius, màu sắc CSS) và đôi khi còn có JavaScript kiểu console.log("Hello World").

    Vấn đề nằm ở chỗ: khi mục tiêu của ta là phân tích nội dung về AI—chẳng hạn “bias trong machine learning” như trong bài Let's talk about biases in machine learning! Ethics and Society Newsletter #2—thì một trang chỉ chứa template frontend cơ bản sẽ khiến pipeline NLP/LLM “hiểu nhầm” hoặc rút ra kết luận sai. Nói cách khác, thiên lệch (bias) không chỉ đến từ dữ liệu huấn luyện của mô hình, mà còn đến từ cách ta trích xuất và chuẩn hóa dữ liệu.

    Bài viết này đi từ một ví dụ rất phổ biến: một mẫu HTML tối giản (có CSS và JS) nhưng nội dung thực tế không khớp tiêu đề. Từ đó, tôi phân tích cách xây dựng pipeline để: (1) tách phần nội dung chính khỏi boilerplate; (2) thiết kế dữ liệu đầu vào phù hợp cho nhiệm vụ AI; và (3) giảm rủi ro bias/nhận định sai trong các hệ thống tóm tắt, phân loại, hay trích xuất keywords.

    1) Khi “mẫu HTML” làm lệch mục tiêu phân tích AI

    Một tài liệu HTML cơ bản thường có:

    • Cấu trúc HTML: <head> chứa metadata, CSS; <body> chứa nội dung hiển thị.
    • Các thành phần nội dung: thẻ h1, thẻ h2, đoạn văn HTML.
    • Phần trình bày: CSS container với padding: 16px, border-radius: 8px, background-color: #ffffff, màu heading như h1 { color: #ff6d5a }, h2 { color: #909399 }, kèm các thuộc tính như text-align center.
    • Script kiểm thử: JavaScript rất nhỏ như console.log("Hello World!").

    Đây là mẫu rất hợp lý cho thiết kế giao diện web và học frontend cơ bản. Nhưng nếu bạn dùng nó để “phân tích bias trong machine learning”, pipeline AI sẽ gặp các rủi ro sau:

    • Nhiễu tín hiệu nội dung: Mô hình có thể coi các từ như “container”, “padding”, “border-radius” là chủ đề chính, dẫn tới sai lệch keywords và topic.
    • Sai lệch do thiếu ngữ cảnh: Tiêu đề nói về bias/ethics, nhưng body chỉ có placeholder. Mô hình sẽ “ảo tưởng” (hallucinate) để lấp chỗ trống, đặc biệt khi bị ép phải trả lời.
    • Đánh giá sai xu hướng: Nếu bạn tổng hợp nhiều trang mà đa số là template, bạn sẽ kết luận “xu hướng đang nói về CSS/JS”, trong khi mục tiêu là AI/ML.

    Điểm đáng chú ý: đây là một dạng bias do quy trình (process-induced bias). Nó không nằm ở mô hình, mà nằm ở cách ta thu thập, làm sạch, và biến đổi dữ liệu.

    2) Trend đáng chú ý: Trình bày theo “component” và hệ quả với trích xuất nội dung

    Trong phát triển web hiện đại, xu hướng là trình bày theo cấu trúc “component”: một khối container bao nội dung, style tách riêng bằng CSS, script tối giản để kiểm tra. Điều này tốt cho UI, nhưng với AI, nó tạo ra hai hệ quả:

    2.1 Boilerplate xuất hiện dày đặc trong dữ liệu crawl

    Nhiều nguồn dữ liệu web bị “đồng phục hóa” bởi các template giống nhau: container, header, footer, thẻ heading chung, màu sắc CSS thống nhất. Khi crawl hàng nghìn trang, boilerplate lặp lại áp đảo nội dung chính.

    Insight: Nếu không loại bỏ boilerplate, mô hình tóm tắt/keyword có xu hướng học và “ưu tiên” các mẫu lặp (CSS/JS) thay vì thông điệp nội dung.

    2.2 Cần phân tách rõ “trình bày” và “ngữ nghĩa”

    Với AI/NLP, ta cần ngữ nghĩa thuần: tiêu đề, các đoạn nội dung, trích dẫn, danh sách, dữ liệu. Trong khi đó, background-color: #ffffff hay font-size: 24px không đóng góp cho phân tích ethics/bias.

    Trend: Nhiều đội ngũ đang chuyển từ “scrape raw HTML” sang “extract main content” (content extraction) trước khi đưa vào LLM, đồng thời lưu lại layout như metadata (nếu cần cho QA/trace).

    3) Pipeline khuyến nghị: Từ HTML/CSS/JS sang dữ liệu sạch cho AI

    Dưới góc nhìn chuyên gia triển khai hệ thống AI, tôi đề xuất pipeline 4 lớp. Mục tiêu là đảm bảo phần bạn đưa vào mô hình thực sự là nội dung, không phải lớp trình bày.

    3.1 Lớp 1: Tiền xử lý và “giải độc” HTML

    • Loại bỏ hoàn toàn <script> và <style> (tránh dính console.log("Hello World"), CSS như border-radius, padding).
    • Chuẩn hóa ký tự, loại bỏ menu/footer nếu nhận diện được.

    Khi làm việc với mẫu HTML, điều quan trọng là đừng để các token như “text-align center” hay “CSS container” len vào tập phân tích chủ đề.

    3.2 Lớp 2: Trích xuất “main content” theo cấu trúc

    • Ưu tiên giữ lại cấu trúc ngữ nghĩa: thẻ h1, thẻ h2, đoạn văn HTML, danh sách.
    • Nếu trang là template placeholder, cần gắn cờ “thin content” (nội dung mỏng) để loại khỏi phân tích bias.

    Insight: Nhiều hệ thống search/SEO đã làm “thin content detection” từ lâu. Trong AI, ta cũng cần tương tự để tránh mô hình suy diễn quá mức.

    3.3 Lớp 3: Kiểm tra “độ khớp” giữa tiêu đề và nội dung

    Trường hợp phổ biến: title nói về “bias trong machine learning” nhưng body là mẫu frontend cơ bản. Ta cần một bước kiểm tra:

    • So khớp embedding giữa tiêu đề và nội dung.
    • Nếu độ tương đồng thấp, đưa vào hàng đợi review hoặc loại khỏi tập tóm tắt.

    Bước này trực tiếp giảm hallucination và giảm nguy cơ báo cáo sai “xu hướng đạo đức AI” dựa trên trang không có nội dung.

    3.4 Lớp 4: Phân tích bias đúng nghĩa (khi đã có nội dung sạch)

    Khi có nội dung thực, lúc đó mới triển khai các bước liên quan đến ethics/bias:

    • Nhận diện nhóm đối tượng bị tác động (giới, chủng tộc, vùng miền, tầng lớp, khuyết tật…).
    • Phân loại dạng bias: bias dữ liệu, bias nhãn, bias đo lường, bias triển khai.
    • Kiểm tra ngôn ngữ: framing, stereotype, từ ngữ “định kiến”.

    Ở đây bạn mới thực sự bám vào tinh thần của các tài liệu về ethics như bài trên Hugging Face: không chỉ nói “có bias”, mà chỉ ra bias sinh ra ở đâu trong vòng đời ML (thu thập dữ liệu → huấn luyện → đánh giá → triển khai).

    4) Góc nhìn riêng: Bias bắt đầu từ “đầu vào sai loại”, không chỉ từ mô hình

    Nhiều tổ chức tập trung vào fairness metric, debiasing, hoặc RLHF, nhưng bỏ qua một lớp rất đời thường: đầu vào. Nếu kho dữ liệu của bạn tràn ngập template, boilerplate, hoặc các tài liệu HTML thiếu nội dung, bạn đang tạo ra “thiên lệch hệ thống”:

    • Thiên lệch phân tích (analytic bias): báo cáo keywords/trends bị kéo về phía “thiết kế giao diện web”, “frontend cơ bản” thay vì “AI ethics”.
    • Thiên lệch quyết định (decision bias): đội sản phẩm tưởng người dùng quan tâm CSS/JS vì dữ liệu nói vậy.
    • Thiên lệch mô hình (model bias): LLM học mạnh về mẫu HTML/CSS/JS, yếu về lập luận đạo đức.

    Điều này đặc biệt nguy hiểm khi bạn xây hệ thống tóm tắt tự động: một trang “không có gì” nhưng tiêu đề lớn sẽ khiến mô hình tự bịa nội dung để “đáp ứng kỳ vọng”. Vì vậy, kiểm soát dữ liệu đầu vào và phát hiện mismatch là một phần của “AI governance” thực dụng.

    Kết luận

    Một mẫu HTML với cấu trúc HTML chuẩn, có thẻ h1, thẻ h2, đoạn văn HTML, thêm CSS container (như text-align center, padding: 16px, border-radius: 8px, background-color: #ffffff, màu heading #ff6d5a, #909399) và JavaScript console.log("Hello World!") là ví dụ tốt cho frontend cơ bản—nhưng là “bẫy” nếu bạn dùng để phân tích nội dung AI/ML.

    Muốn phân tích đúng các chủ đề như bias/ethics trong machine learning (theo tinh thần các newsletter về Ethics & Society), bạn cần một pipeline rõ ràng: loại boilerplate, trích xuất main content, phát hiện thin content và kiểm tra độ khớp giữa tiêu đề–nội dung trước khi chạy tóm tắt/keywords/trend. Khi đó, việc bàn về bias mới có nền tảng dữ liệu vững chắc—và giảm đáng kể rủi ro kết luận sai hoặc hallucination trong hệ thống AI.