ความสามารถในการอ่านส่วนใหญ่ประกอบด้วยฮิวริสติกที่ "ใช้ได้ผลดี" ในหลาย ๆ กรณี
ฉันได้เขียนงานวิจัยเกี่ยวกับหัวข้อนี้แล้วและฉันอยากจะอธิบายถึงความเป็นมาว่าเหตุใดจึงเป็นเรื่องง่ายที่จะหาวิธีแก้ปัญหาที่ใช้งานได้ดีและเมื่อยากที่จะเข้าใกล้ความแม่นยำ 100%
ดูเหมือนว่าจะมีกฎหมายภาษาศาสตร์แฝงอยู่ในภาษามนุษย์ซึ่งปรากฏ (แต่ไม่เฉพาะ) ในเนื้อหาของหน้าเว็บซึ่งแยกข้อความออกเป็นสองประเภทอย่างชัดเจนอยู่แล้ว (ข้อความเต็มกับข้อความที่ไม่ใช่ข้อความเต็มหรือโดยประมาณ " เนื้อหาหลัก "เทียบกับ" สำเร็จรูป ")
ในการรับเนื้อหาหลักจาก HTML ในหลาย ๆ กรณีก็เพียงพอที่จะเก็บเฉพาะองค์ประกอบข้อความ HTML (เช่นบล็อกของข้อความที่ไม่ถูกขัดจังหวะด้วยมาร์กอัป) ซึ่งมีมากกว่า 10 คำ ดูเหมือนว่ามนุษย์เลือกจากข้อความสองประเภท ("สั้น" และ "ยาว" โดยวัดจากจำนวนคำที่เปล่งออกมา) สำหรับแรงจูงใจในการเขียนข้อความสองแบบ ฉันจะเรียกสิ่งเหล่านี้ว่า "การเดินเรือ" และ "การให้ข้อมูล"
หากผู้เขียนต้องการให้คุณอ่านสิ่งที่เขียนได้อย่างรวดเร็วเขา / เธอใช้ข้อความ "การนำทาง" คือไม่กี่คำ (เช่น "STOP", "อ่านนี้", "คลิกที่นี่") นี่คือประเภทข้อความที่โดดเด่นที่สุดในองค์ประกอบการนำทาง (เมนู ฯลฯ )
หากผู้เขียนต้องการให้คุณเข้าใจอย่างลึกซึ้งว่าเขาหมายถึงอะไรเขา / เธอใช้คำหลายคำ ด้วยวิธีนี้ความคลุมเครือจะถูกลบออกด้วยต้นทุนของความซ้ำซ้อนที่เพิ่มขึ้น เนื้อหาที่คล้ายบทความมักจะจัดอยู่ในชั้นนี้เนื่องจากมีมากกว่าสองสามคำ
ในขณะที่การแยกนี้ดูเหมือนจะใช้ได้ผลในหลายกรณี แต่มันก็ยุ่งยากกับหัวข้อข่าวประโยคสั้น ๆ ข้อจำกัดความรับผิดชอบส่วนท้ายลิขสิทธิ์ ฯลฯ
มีกลยุทธ์และคุณลักษณะที่ซับซ้อนมากขึ้นซึ่งช่วยแยกเนื้อหาหลักออกจากเอกสารสำเร็จรูป ตัวอย่างเช่นความหนาแน่นของลิงก์ (จำนวนคำในบล็อกที่เชื่อมโยงกับจำนวนคำทั้งหมดในบล็อก) คุณลักษณะของบล็อกก่อนหน้า / ถัดไปความถี่ของข้อความบล็อกเฉพาะในเว็บ "ทั้งหมด" โครงสร้าง DOM ของเอกสาร HTML ภาพของหน้าเป็นต้น
คุณสามารถอ่านบทความล่าสุดของฉัน "การตรวจจับ Boilerplate โดยใช้คุณสมบัติข้อความตื้น " เพื่อรับข้อมูลเชิงลึกจากมุมมองทางทฤษฎี คุณสามารถดูวิดีโอการนำเสนอเอกสารของฉันได้ที่ VideoLectures.net
"ความสามารถในการอ่าน" ใช้คุณลักษณะบางอย่างเหล่านี้ หากคุณดูบันทึกการเปลี่ยนแปลง SVN อย่างรอบคอบคุณจะเห็นว่าจำนวนของกลยุทธ์แตกต่างกันไปตามช่วงเวลาและคุณภาพการสกัดของ Readability ก็เช่นกัน ตัวอย่างเช่นการเปิดตัวความหนาแน่นของลิงก์ในเดือนธันวาคม 2552 ช่วยปรับปรุงได้มาก
ในความคิดของฉันดังนั้นจึงไม่สมเหตุสมผลที่จะพูดว่า "Readability does it like that" โดยไม่ต้องระบุหมายเลขเวอร์ชันที่แน่นอน
ฉันได้เผยแพร่ไลบรารีการแยกเนื้อหา HTML ของโอเพ่นซอร์สที่เรียกว่าboilerpipeซึ่งมีกลยุทธ์การแยกข้อมูลที่แตกต่างกัน ขึ้นอยู่กับกรณีการใช้งานตัวแยกหนึ่งหรือตัวอื่นจะทำงานได้ดีกว่า คุณสามารถลองใช้ตัวแยกเหล่านี้ในหน้าที่คุณเลือกได้โดยใช้แอปเว็บ boilerpipe ที่ใช้ร่วมกันบน Google AppEngine
หากต้องการให้ตัวเลขพูดให้ดูหน้า " Benchmarks " บนวิกิ boilerpipe ซึ่งเปรียบเทียบกลยุทธ์การแยกข้อมูลบางอย่างเช่น boilerpipe, Readability และ Apple Safari
ฉันควรพูดถึงว่าอัลกอริทึมเหล่านี้ถือว่าเนื้อหาหลักเป็นข้อความแบบเต็มจริงๆ มีบางกรณีที่ "เนื้อหาหลัก" เป็นอย่างอื่นเช่นรูปภาพตารางวิดีโอเป็นต้นอัลกอริทึมจะทำงานได้ไม่ดีในกรณีดังกล่าว
ไชโย
คริสเตียน