Khả năng đọc chủ yếu bao gồm các phương pháp heuristics "chỉ bằng cách nào đó hoạt động tốt" trong nhiều trường hợp.
Tôi đã viết một số bài nghiên cứu về chủ đề này và tôi muốn giải thích cơ sở lý do tại sao có thể dễ dàng đưa ra một giải pháp hoạt động tốt và khi khó đạt được độ chính xác 100%.
Dường như có một quy luật ngôn ngữ cơ bản trong ngôn ngữ của con người cũng (nhưng không phải riêng) được thể hiện trong nội dung trang Web, vốn đã phân tách khá rõ ràng hai loại văn bản (toàn văn so với không toàn văn hoặc đại khái là " nội dung chính "so với" boilerplate ").
Để lấy nội dung chính từ HTML, trong nhiều trường hợp chỉ giữ lại các phần tử văn bản HTML (tức là các khối văn bản không bị ngắt quãng bởi đánh dấu) có nhiều hơn khoảng 10 từ. Dường như con người chọn từ hai loại văn bản ("ngắn" và "dài", được đo bằng số từ mà họ phát ra) cho hai động cơ khác nhau của việc viết văn bản. Tôi gọi chúng là động lực "định hướng" và "thông tin".
Nếu một tác giả muốn bạn nhanh chóng nhận được những gì được viết, họ sử dụng văn bản "điều hướng", tức là ít từ (như "STOP", "Read this", "Click here"). Đây là loại văn bản nổi bật nhất trong các phần tử điều hướng (menu, v.v.)
Nếu một tác giả muốn bạn hiểu sâu sắc ý của anh ấy / cô ấy, anh ấy / cô ấy sẽ sử dụng nhiều từ. Bằng cách này, sự mơ hồ được loại bỏ với cái giá phải trả là sự gia tăng sự dư thừa. Nội dung giống như bài viết thường rơi vào lớp này vì nó chỉ có một vài từ.
Mặc dù sự tách biệt này dường như hoạt động trong rất nhiều trường hợp, nhưng nó ngày càng trở nên phức tạp với tiêu đề, câu ngắn, tuyên bố từ chối trách nhiệm, chân trang bản quyền, v.v.
Có nhiều chiến lược và tính năng phức tạp hơn, giúp tách nội dung chính khỏi bản soạn sẵn. Ví dụ: mật độ liên kết (số từ trong một khối được liên kết so với tổng số từ trong khối), các tính năng của khối trước / sau, tần suất xuất hiện của một văn bản khối cụ thể trong "toàn bộ" Web, Cấu trúc DOM của tài liệu HTML, hình ảnh trực quan của trang, v.v.
Bạn có thể đọc bài viết mới nhất của tôi " Phát hiện tấm lót bằng cách sử dụng Tính năng văn bản nông " để có một số hiểu biết sâu sắc từ góc độ lý thuyết. Bạn cũng có thể xem video bài thuyết trình của tôi trên VideoLectures.net.
"Khả năng đọc" sử dụng một số tính năng này. Nếu bạn xem kỹ bảng thay đổi SVN, bạn sẽ thấy rằng số lượng chiến lược thay đổi theo thời gian và chất lượng trích xuất của Khả năng đọc cũng vậy. Ví dụ, việc giới thiệu mật độ liên kết vào tháng 12 năm 2009 đã giúp cải thiện rất nhiều.
Theo ý kiến của tôi, do đó không có ý nghĩa gì khi nói "Khả năng đọc được như vậy", mà không đề cập đến số phiên bản chính xác.
Tôi đã xuất bản một thư viện trích xuất nội dung HTML nguồn mở có tên là boilerpipe , cung cấp một số chiến lược trích xuất khác nhau. Tùy thuộc vào trường hợp sử dụng, một hoặc các bộ giải nén khác hoạt động tốt hơn. Bạn có thể thử các trình giải nén này trên các trang mà bạn chọn bằng ứng dụng web boilerpipe đồng hành trên Google AppEngine.
Để nói lên con số, hãy xem trang " Điểm chuẩn " trên wiki boilerpipe so sánh một số chiến lược trích xuất, bao gồm boilerpipe, Readability và Apple Safari.
Tôi nên đề cập rằng các thuật toán này giả định rằng nội dung chính thực sự là toàn văn. Có những trường hợp "nội dung chính" là thứ khác, ví dụ như hình ảnh, bảng, video, v.v. Các thuật toán sẽ không hoạt động tốt cho những trường hợp như vậy.
Chúc mừng,
Cơ đốc giáo