가독성은 주로 많은 경우 "어떻게 든 잘 작동하는"휴리스틱으로 구성됩니다.
이 주제에 대한 몇 가지 연구 논문을 작성했으며, 잘 작동하는 솔루션을 쉽게 찾을 수있는 이유와 100 % 정확도에 가까워 질 때의 배경에 대해 설명하고 싶습니다.
웹 페이지 콘텐츠에도 (배타적이지는 않지만) 명시되어있는 인간 언어의 언어 법이있는 것 같습니다.이 법칙은 이미 두 가지 유형의 텍스트 (전체 텍스트와 비 전체 텍스트 또는 대략적으로 " 주요 콘텐츠 "vs."상용구 ").
HTML에서 주요 콘텐츠를 가져 오려면 약 10 단어가 넘는 HTML 텍스트 요소 (즉, 마크 업에 의해 중단되지 않는 텍스트 블록) 만 유지하는 것으로 충분합니다. 인간은 텍스트를 작성하는 두 가지 다른 동기를 위해 두 가지 유형의 텍스트 (발산하는 단어 수로 측정되는 "짧은"및 "긴") 중에서 선택하는 것으로 보입니다. 나는 그들을 "항해 적"및 "정보 적"동기라고 부를 것입니다.
저자 가 작성한 내용 을 빨리 얻으려면 "탐색"텍스트를 사용합니다 (예 : "STOP", "Read this", "Click here"). 탐색 요소 (메뉴 등)에서 가장 눈에 잘 띄는 텍스트 유형입니다.
저자가 자신의 의미를 깊이 이해하기를 원하면 많은 단어를 사용합니다. 이렇게하면 중복성이 증가하는 대신 모호성이 제거됩니다. 기사와 유사한 콘텐츠는 일반적으로 몇 단어 이상이 포함되어 있으므로이 클래스에 속합니다.
이 분리는 수많은 경우에서 작동하는 것처럼 보이지만 헤드 라인, 짧은 문장, 면책 조항, 저작권 바닥 글 등으로 인해 까다로워지고 있습니다.
기본 콘텐츠와 상용구를 분리하는 데 도움이되는보다 정교한 전략과 기능이 있습니다. 예를 들어 링크 밀도 (링크 된 블록의 단어 수 대 블록의 전체 단어 수), 이전 / 다음 블록의 특징, "전체"웹에서 특정 블록 텍스트의 빈도, HTML 문서의 DOM 구조, 페이지의 시각적 이미지 등
이론적 관점에서 통찰력을 얻으 려면 저의 최신 기사 " 얕은 텍스트 기능을 사용한 상용구 감지 "를 읽을 수 있습니다 . VideoLectures.net에서 내 논문 프레젠테이션의 비디오를 볼 수도 있습니다.
"가독성"은 이러한 기능 중 일부를 사용합니다. SVN 변경 로그를주의 깊게 살펴보면 시간이 지남에 따라 전략 수가 변하고 가독성의 추출 품질도 변함을 알 수 있습니다. 예를 들어, 2009 년 12 월에 링크 밀도의 도입은 개선에 큰 도움이되었습니다.
제 생각에는 정확한 버전 번호를 언급하지 않고 "가독성이 그렇게 하죠"라고 말하는 것은 의미가 없습니다.
여러 가지 추출 전략을 제공하는 보일러 파이프 라는 오픈 소스 HTML 콘텐츠 추출 라이브러리를 게시했습니다 . 사용 사례에 따라 하나 또는 다른 추출기가 더 잘 작동합니다. Google AppEngine의 보조 보일러 파이프 웹 앱을 사용하여 선택한 페이지에서 이러한 추출기를 사용해 볼 수 있습니다.
숫자가 말하도록하려면 , 보일러 파이프, 가독성 및 Apple Safari를 포함한 일부 추출 전략을 비교하는 보일러 파이프 위키 의 " 벤치 마크 "페이지를 참조하십시오.
이 알고리즘은 주요 내용이 실제로 전체 텍스트라고 가정합니다. 이미지, 테이블, 비디오 등과 같이 "주요 내용"이 다른 경우가 있습니다. 이러한 경우에는 알고리즘이 제대로 작동하지 않습니다.
건배,
신자