Dễ đọc chủ yếu bao gồm các chẩn đoán rằng "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ố tài liệu nghiên cứu về chủ đề này và tôi muốn giải thích lý do tại sao dễ dàng tìm ra giải pháp hoạt động tốt và khi khó đạt được độ chính xác 100%.
Có vẻ như là một ngôn ngữ cơ bản trong ngôn ngữ của con người cũng là (nhưng không độc quyền) biểu hiện trong nội dung trang Web, mà đã khá rõ ràng tách hai loại văn bản (toàn văn so với toàn văn hoặc , gần như "nội dung chính" so với "bản mẫu").
Để lấy nội dung chính từ HTML, trong nhiều trường hợp chỉ đủ để giữ các thành phần văn bản HTML (tức là khối văn bản không bị gián đoạn bởi đánh dấu) có nhiều hơn 10 từ. Có vẻ 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à chúng phát ra) cho hai động cơ viết văn bản khác nhau. Tôi sẽ gọi chúng là động lực "điều hướng" và "thông tin".
Nếu tác giả muốn bạn nhanh chóng nhận nội dung được viết, anh ấy/cô ấy sử dụng văn bản "điều hướng", tức là vài từ (như "STOP", "Đọc", "Nhấp vào đây"). Đây là loại văn bản chủ yếu nổi bật trong các phần tử điều hướng (menu, v.v.)
Nếu tác giả muốn bạn hiểu sâu ý nghĩa của từ, người đó sử dụng nhiều từ. Bằng cách này, sự mơ hồ được loại bỏ với chi phí tăng dự phòng. Nội dung giống như bài viết thường rơi vào lớp này vì nó có nhiều hơn chỉ một vài từ.
Trong khi tách này dường như làm việc trong một loạt các trường hợp, nó là nhận được khó khăn với các tiêu đề, những câu ngắn, từ chối về quyền, footers bản quyền, vv
Có chiến lược phức tạp hơn, và các tính năng, giúp đỡ mà tách nội dung chính từ boilerplate. Ví dụ mật độ liên kết (số từ trong 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 đó/tiếp theo, tần suất của một khối văn bản cụ thể trong Web "toàn bộ", 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 "Boilerplate Detection using Shallow Text Features" để hiểu rõ hơn về góc độ lý thuyết. Bạn cũng có thể xem video bài thuyết trình trên trang của tôi trên VideoLectures.net.
"Tính dễ đọc" sử dụng một số tính năng này. Nếu bạn cẩn thận xem các thay đổi SVN, bạn sẽ thấy rằng số lượng các chiến lược thay đổi theo thời gian, và do đó đã làm chất lượng khai thác của dễ đọc. Ví dụ, việc giới thiệu mật độ liên kết trong tháng 12 năm 2009 rất nhiều đã giúp cải thiện.
Theo ý kiến của tôi, do đó, không có ý nghĩa khi nói "Tính dễ đọc thực hiện như thế", mà không đề cập đến số phiên bản chính xác.
Tôi đã xuất bản thư viện trích xuất nội dung HTML nguồn mở được gọi 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 bộ tách 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 nồi hơi đồng hành trên Google AppEngine.
Để cho phép số nói, hãy xem trang "Benchmarks" trên trang wiki buồng lái so sánh một số chiến lược khai thác, bao gồm cả nồi hơi, khả năng đọc 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à văn bản đầy đủ. Có những trường hợp "nội dung chính" là nội dung khác, ví dụ: một hình ảnh, một bảng, một đoạn video, vv Các thuật toán sẽ không hoạt động tốt cho các trường hợp như vậy.
Chúc mừng,
Christian
Câu hỏi đặt ra là thuật toán nào SO sử dụng tính dễ đọc không xử lý các trang của nó? :) –
Liên quan: [Safari hoạt động như thế nào và khi nào nó hiển thị?] (Http://superuser.com/q/387572/664) –