Tổng quan nghiên cứu

Trong kỷ nguyên bùng nổ thông tin số, việc khai thác dữ liệu từ các website đóng vai trò cốt lõi trong việc hình thành bức tranh thị trường cho doanh nghiệp. Tại các doanh nghiệp dịch vụ bất động sản quy mô lớn như Cengroup, việc duy trì dữ liệu thị trường theo thời gian thực đòi hỏi hệ thống thu thập dữ liệu phải mở rộng liên tục qua hàng trăm nền tảng trực tuyến. Tuy nhiên, kiến trúc thu thập truyền thống dựa trên Scrapy bộc lộ rào cản nghiêm trọng: mỗi website yêu cầu lập trình một Spider riêng biệt và việc bảo trì mã nguồn khi giao diện thay đổi tiêu tốn khoảng 60% đến 70% nguồn lực kỹ thuật.

Luận văn thạc sĩ chuyên ngành Khoa học Dữ liệu và Trí tuệ Nhân tạo của tác giả Nguyễn Hoàng Long, dưới sự hướng dẫn của TS. Trần Việt Trung tại Trường Công nghệ Thông tin và Truyền thông – Đại học Bách khoa Hà Nội (thực hiện hoàn thành vào tháng 07/2022), đã giải quyết triệt để bài toán này. Nghiên cứu tập trung phát triển hệ thống thu thập dữ liệu thông minh mang tên AI Crawler và ứng dụng phương pháp Học tập Giám sát Yếu (Weak Supervision Learning) nhằm tự động hóa quá trình trích xuất thông tin.

Mục tiêu trọng tâm của đề tài là xây dựng hệ thống tự động nhận diện cấu trúc, phân loại trang và trích xuất 12 trường dữ liệu thực thể bất động sản từ mã nguồn HTML thô mà không cần định nghĩa cấu trúc từ trước. Nghiên cứu giải quyết nút thắt thiếu dữ liệu gán nhãn trong bài toán Trích xuất Thông tin (Information Extraction - IE), cắt giảm ước tính 80% chi phí gán nhãn thủ công thông qua việc kết hợp các nguồn giám sát yếu. Tập dữ liệu thực nghiệm gồm 78.943 trang web từ 17 cổng thông tin bất động sản lớn tại Việt Nam đã chứng minh tính hiệu quả vượt trội của giải pháp trong môi trường vận hành thực tế.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết áp dụng

Nghiên cứu xây dựng trên nền tảng tích hợp của bốn trụ cột lý thuyết và mô hình tính toán hiện đại:

  1. Học tập Giám sát Yếu có lập trình (Programmatic Weak Supervision - PWS): Thay vì gán nhãn từng mẫu bằng tay, PWS sử dụng các Hàm gán nhãn (Labeling Functions - LFs) để mô hình hóa tri thức chuyên gia, quy tắc heuristics, và các bộ từ điển có sẵn. Luận văn áp dụng kiến trúc Snorkel với mô hình tạo sinh (Generative Model) để ước lượng độ chính xác của từng LF thông qua ma trận hiệp phương sai, giải quyết xung đột nhãn và tạo ra nhãn xác suất (probabilistic labels) cho giai đoạn huấn luyện mô hình phân loại tiếp theo.
  2. Loại bỏ nội dung thừa và phân đoạn chuỗi HTML (Boilerplate Removal & Sequence Segmentation): Dựa trên mô hình Web2text, trang web được chuyển đổi thành cây DOM thu gọn (Collapsed DOM) và biểu diễn dưới dạng chuỗi các khối văn bản (text blocks). Mạng nơ-ron tích chập (CNN) kết hợp thuật toán Viterbi được sử dụng để tối ưu hóa xác suất nhãn chuỗi, phân tách chính xác phần nội dung chính (Main HTML/Main Text) khỏi các thành phần phụ như header, footer và sidebar.
  3. Trích xuất thông tin từ tài liệu định dạng phong phú (Rich-format Information Extraction): Ứng dụng khung làm việc Fonduer để khai thác đồng thời đặc trưng văn bản (textual features) và đặc trưng cấu trúc (structural features) của tài liệu HTML. Hệ thống mô hình hóa các thực thể bất động sản dưới dạng các Cặp Ứng viên (Candidates) và Biểu hiện Thực thể (Mentions).
  4. Phân loại văn bản bằng FastText: Tận dụng biểu diễn từ dạng n-gram ký tự của thư viện FastText để xây dựng mô hình phân loại nội dung và phân loại URL theo miền, tối ưu hóa tốc độ xử lý trên tập ngữ liệu lớn.

Phương pháp nghiên cứu

Phương pháp nghiên cứu được triển khai theo quy trình thực nghiệm kỹ thuật dữ liệu chặt chẽ từ tháng 07/2021 đến tháng 07/2022 với các bước chuẩn hóa:

  • Thu thập và phân vùng mẫu nghiên cứu: Tổng số 78.943 trang HTML thô được thu thập từ 17 website bất động sản. Sau quá trình lọc lỗi cú pháp và kiểm tra tính toàn vẹn, 73.952 trang hợp lệ được đưa vào nghiên cứu, gồm 39.609 trang chi tiết bất động sản (REAL_ESTATE_PAGE) và 34.343 trang nội dung khác (OTHER_PAGE).
  • Phân chia tập dữ liệu huấn luyện: Đối với mô hình phân loại nội dung, dữ liệu được phân tầng thành 3 tập độc lập: Tập huấn luyện (Train) gồm 44.993 trang từ 7 website; Tập kiểm thử (Test) gồm 16.228 trang từ 4 website; Tập đánh giá (Validate) gồm 12.731 trang từ 6 website.
  • Quy trình gán nhãn và tinh chỉnh giám sát yếu: Tác giả xây dựng tập nhãn chuẩn (GoldLabel) thủ công trên mẫu gồm 10 trang ngẫu nhiên cho mỗi website (tổng cộng 170 trang chuẩn). Quá trình phát triển các hàm gán nhãn LFs được thực hiện qua chu trình lặp tương tác (interactive iterative cycle), phân tích các chỉ số độ phủ (Coverage), độ trùng lặp (Overlaps), mức độ xung đột (Conflicts) và độ chính xác thực nghiệm so với GoldLabel.
  • Lý do lựa chọn phương pháp: Phương pháp tiếp cận Two-Stage trong Weak Supervision được lựa chọn để huấn luyện mô hình phân loại cuối cùng (Logistic Regression) mà không làm phát sinh phụ thuộc runtime vào các dịch vụ gán nhãn bên thứ ba. Đồng thời, việc loại bỏ xử lý đặc trưng hiển thị (Display Features) giúp loại bỏ bước render trình duyệt tốn kém, giảm thời gian xử lý từ 8 - 12 giây xuống dưới 2 giây trên mỗi trang web.

Kết quả nghiên cứu và thảo luận

Những phát hiện chính

Quá trình thực nghiệm và kiểm thử hệ thống AI Crawler đã mang lại 4 kết quả định lượng nổi bật:

  1. Hiệu năng vượt trội của mô hình nhận diện nội dung chính Web2text: Khi so sánh trực tiếp với thuật toán Dragnet trên 5 tập kiểm thử khác nhau, Web2text duy trì độ tương đồng trung bình (Average Coincidence) từ 0,83 đến 0,90 và độ bao phủ (Coverage với Coincidence > 85%) đạt từ 74% đến 79%. Ngược lại, Dragnet sụt giảm độ phủ từ 67% xuống còn 56% khi số lượng website trong tập huấn luyện giảm từ 12 xuống 3 website.
  2. Độ chính xác cao trong phân loại trang và đường dẫn: Mô hình Content Classification sử dụng FastText đạt độ chính xác (Precision) 0,93, độ bao phủ (Recall) 0,92 và điểm F1 đạt 0,93 đối với lớp REAL_ESTATE_PAGE. Trên lớp OTHER_PAGE, mô hình đạt điểm F1 là 0,90. Đối với mô hình phân loại URL cục bộ theo từng tên miền (điển hình tại website nhadatdongnai.tv), mô hình đạt điểm F1 là 0,89 trên tập kiểm thử gồm 564 URL (dự đoán đúng 502/564 mẫu).
  3. Hiệu quả gán nhãn của các hàm Weak Supervision: Các hàm gán nhãn LFs cho thực thể Địa chỉ đạt hiệu suất vượt trội. Cụ thể, hàm trích xuất dựa trên mô hình học sẵn (lf_address_extract_model) đạt độ phủ 33,57% với độ chính xác lên đến 98%. Hàm gán nhãn dựa trên từ điển địa danh (lf_in_dict) đạt độ phủ 24,35% và độ chính xác 76%. Hàm nhận diện tiền tố từ khóa (lf_pre_key) đạt độ phủ 9,8% và độ chính xác 88%.
  4. Tối ưu hóa thời gian xử lý và trích xuất thực thể: Việc sử dụng cấu trúc DOM thay cho thuật toán thị giác VIPS giúp loại bỏ hoàn toàn 60% tổng thời gian dùng để render trang trên trình duyệt. Hệ thống trích xuất thành công 12 trường dữ liệu phức tạp bao gồm Địa chỉ (Tỉnh/Thành phố, Quận/Huyện, Phường/Xã, Đường/Phố, Dự án), Giá, Diện tích, Kích thước mặt tiền, Chiều dài, Độ rộng ngõ, Số phòng ngủ, Số nhà vệ sinh, Số tầng, Số điện thoại liên hệ và Ngày đăng tin.

Thảo luận kết quả

Các kết quả định lượng trên bảng dữ liệu kiểm thử minh chứng rõ nét tính thích ứng của kiến trúc AI Crawler đối với các website mới chưa từng xuất hiện trong tập huấn luyện. Sự vượt trội của Web2text trước Dragnet xuất phát từ việc mô hình hóa chuỗi khối văn bản thông qua cặp thế năng (unary and pairwise potentials) kết hợp mạng CNN, giúp bảo toàn mối liên hệ không gian cấu trúc giữa các thẻ HTML lân cận.

Dữ liệu đánh giá hiệu năng có thể được biểu diễn trực quan qua bảng tổng hợp ma trận phân loại (Confusion Matrix) và biểu đồ phân phối độ phủ của các Hàm gán nhãn. Khi trực quan hóa mối tương quan giữa các LFs trên đồ thị nhân tố có trọng số (Weighted Factor Graph), các hàm dựa trên mô hình tiền huấn luyện và từ điển có sự củng cố lẫn nhau mạnh mẽ, trong khi các hàm heuristic theo tiền tố từ đơn lẻ (như tiền tố "thành phố" hay "quận") có tỷ lệ xung đột dao động từ 0,04% đến 0,23% và độ chính xác thấp (từ 14% đến 47%), cho phép kỹ sư loại bỏ hoặc điều chỉnh trọng số kịp thời.

So với phương pháp trích xuất truyền thống dựa trên quy tắc (Rule-based Regex/CSS Selector), giải pháp kết hợp Fonduer và Snorkel cho phép hệ thống tự học các đặc trưng ngữ cảnh phức tạp mà không bị gãy vỡ khi cấu trúc giao diện website nguồn thay đổi. Sai số còn tồn đọng chủ yếu tập trung ở các URL quá ngắn thiếu thông tin ngữ nghĩa hoặc một số trang tin tức có tiêu đề tương đồng với bài đăng bất động sản.

Đề xuất và khuyến nghị

Dựa trên kết quả thực nghiệm của luận văn, 4 nhóm giải pháp kỹ thuật cụ thể được đề xuất nhằm nâng cấp và mở rộng hệ sinh thái trích xuất dữ liệu:

  1. Mở rộng và làm giàu tập Hàm gán nhãn đa ngữ cảnh: Bổ sung tối thiểu 15 đến 20 hàm gán nhãn mới tích hợp tri thức bản đồ địa lý (GIS) và danh mục dự án bất động sản mở rộng. Mục tiêu: Nâng độ phủ tổng hợp của các LFs thực thể địa chỉ từ mức 33,57% lên trên 65% và duy trì độ chính xác của mô hình gán nhãn nhị phân trên 95%. Thời gian triển khai: 3 tháng. Chủ thể thực hiện: Đội ngũ Kỹ sư Dữ liệu (Data Engineers).
  2. Ứng dụng cơ chế Active Learning tự động sinh Hàm gán nhãn: Tích hợp phương pháp Guided Generation kết hợp Active Learning nhằm tự động phát hiện các mẫu dữ liệu không chắc chắn (uncertain samples) từ tập dữ liệu thô để đề xuất quy tắc heuristic mới. Mục tiêu: Giảm 50% thời gian xây dựng LF thủ công cho các miền dữ liệu mới. Thời gian triển khai: 6 tháng. Chủ thể thực hiện: Kỹ sư Nghiên cứu Trí tuệ Nhân tạo (AI/ML Research Engineers).
  3. Nâng cấp mô hình biểu diễn ngôn ngữ sang Transformer: Thay thế mô hình vi-spacy và phân loại FastText bằng các mô hình ngôn ngữ tiền huấn luyện chuyên sâu cho tiếng Việt (như PhoBERT hoặc ViDeBERTa) trong bước trích xuất đặc trưng văn bản. Mục tiêu: Nâng điểm F1 trích xuất thực thể tên đường và dự án thêm 4% đến 6%. Thời gian triển khai: 4 tháng. Chủ thể thực hiện: Nhóm Xử lý Ngôn ngữ Tự nhiên (NLP Team).
  4. Chuẩn hóa hạ tầng MLOps cho hệ thống AI Crawler: Thiết lập quy trình tự động đóng gói mô hình qua MLflow và lưu trữ trạng thái trung gian trên PostgreSQL kết hợp hàng đợi phân tán Redis/RabbitMQ. Mục tiêu: Tăng tốc độ thu thập và bóc tách dữ liệu lên mức 100 trang/giây trên cụm máy chủ phân tán. Thời gian triển khai: 2 tháng. Chủ thể thực hiện: Đội ngũ Kỹ sư Vận hành Máy học (MLOps/DevOps Engineers).

Đối tượng nên tham khảo luận văn

Tài liệu luận văn thạc sĩ này là tài liệu tham khảo giá trị cao cho 4 nhóm đối tượng chuyên môn:

  • Kỹ sư Trí tuệ Nhân tạo và Khoa học Dữ liệu (AI/Data Scientists): Học hỏi phương pháp ứng dụng thực tế của Học tập Giám sát Yếu (Snorkel) và trích xuất dữ liệu đa phương thức (Fonduer) trên dữ liệu văn bản tiếng Việt để giải quyết bài toán thiếu nhãn huấn luyện.
  • Kỹ sư Kỹ thuật Dữ liệu (Data/Scraping Engineers): Nắm bắt kiến trúc AI Crawler nâng cao, phương pháp bóc tách nội dung chính tự động bằng Web2text thay cho các đoạn mã cào dữ liệu Scrapy truyền thống dễ bị lỗi thời.
  • Doanh nghiệp Bất động sản và Công nghệ Tài sản (Proptech): Tham khảo mô hình thu thập và làm giàu dữ liệu thị trường tự động nhằm xây dựng kho dữ liệu lớn phục vụ định giá, phân tích xu hướng và tối ưu hóa quyết định kinh doanh.
  • Giảng viên, Học viên Cao học và Nghiên cứu sinh: Sử dụng tài liệu như một nghiên cứu điển hình (case study) hoàn chỉnh về quy trình nghiên cứu ứng dụng từ khảo sát lý thuyết, thiết kế kiến trúc, thu thập 80.000 mẫu dữ liệu đến đánh giá thực nghiệm định lượng.

Câu hỏi thường gặp

1. Tại sao nghiên cứu không sử dụng phương pháp trích xuất theo quy tắc truyền thống?
Phương pháp quy tắc (CSS Selector/XPath) đòi hỏi viết Spider riêng cho từng website. Khi thu thập hàng trăm website hoặc khi website thay đổi giao diện, hệ thống sẽ bị gián đoạn và chi phí bảo trì tăng vọt gấp 3 đến 5 lần so với hệ thống tự động học máy.

2. Giám sát Yếu (Weak Supervision) giúp giảm chi phí dán nhãn như thế nào?
Thay vì gán nhãn thủ công hàng vạn mẫu với chi phí hàng trăm triệu đồng, giám sát yếu cho phép chuyên gia viết các hàm gán nhãn (LFs) dựa trên từ điển và mô hình có sẵn. Mô hình Snorkel tự động tổng hợp ma trận nhãn, giúp tạo tập dữ liệu huấn luyện lớn chỉ với 170 mẫu kiểm chuẩn.

3. Vì sao nghiên cứu chọn Web2text thay vì thuật toán phân tích thị giác VIPS?
Thuật toán VIPS yêu cầu render toàn bộ trang web trên trình duyệt, tiêu tốn từ 8 đến 12 giây mỗi trang (chiếm 60% thời gian hệ thống). Web2text phân tích trực tiếp cây DOM của mã nguồn HTML thô, xử lý dưới 2 giây/trang và đạt độ phủ ổn định 74% - 79%.

4. Mô hình AI Crawler phân loại các đường dẫn URL như thế nào?
Website Explorer sử dụng mô hình Content Classification để gán nhãn nội dung trang, sau đó lấy kết quả này để tự động huấn luyện một mô hình FastText URL Classification riêng cho từng tên miền, đạt điểm F1 0,89 trên tập kiểm thử thực tế.

5. Hệ thống trích xuất được những thông tin cụ thể nào từ bài đăng bất động sản?
Hệ thống trích xuất tự động 12 trường thông tin quan trọng bao gồm: 5 cấp địa chỉ (Tỉnh, Quận, Phường, Đường, Dự án), Giá bán/thuê kèm đơn vị, Diện tích, Chiều rộng mặt tiền, Chiều dài, Độ rộng đường vào, Số phòng ngủ, Số vệ sinh, Số tầng, Số điện thoại và Ngày đăng tin.

Kết luận

  • Luận văn đã thiết kế thành công kiến trúc AI Crawler hoàn chỉnh, tích hợp chuỗi mô hình học máy giúp tự động hóa quá trình thu thập và trích xuất dữ liệu web.
  • Ứng dụng xuất sắc phương pháp Học tập Giám sát Yếu (Weak Supervision) với khung làm việc Fonduer và Snorkel, giải quyết triệt để rào cản chi phí gán nhãn dữ liệu lớn trong bài toán NLP tiếng Việt.
  • Mô hình Web2text đạt độ tương đồng 0,83 - 0,90 và FastText đạt điểm F1 0,93 trong phân loại nội dung, loại bỏ hoàn toàn sự phụ thuộc vào bước render trình duyệt tốn kém.
  • Nghiên cứu mở ra hướng phát triển mở rộng cho các bài toán trích xuất thực thể trên nhiều lĩnh vực thương mại điện tử, việc làm và tài chính trong lộ trình 6 đến 12 tháng tới.
  • Độc giả và các nhóm nghiên cứu quan tâm có thể khai thác mã nguồn và khung phương pháp luận của luận văn để tối ưu hóa quy trình khai phá dữ liệu quy mô lớn trong doanh nghiệp.