読みやすさは主に、多くの場合「どういうわけかうまく機能する」ヒューリスティックで構成されています。
私はこのトピックについていくつかの研究論文を書きましたが、うまく機能するソリューションを思い付くのが簡単である理由と、100%の精度に近づくのが難しい場合の背景を説明したいと思います。
人間の言語の根底にある言語法則があり、それはWebページのコンテンツにも(ただし排他的にではなく)明示されており、2つのタイプのテキスト(フルテキストと非フルテキスト、または大まかに言って「メインコンテンツ」と「ボイラープレート」)。
HTMLからメインコンテンツを取得するには、多くの場合、約10語を超えるHTMLテキスト要素(つまり、マークアップによって中断されないテキストのブロック)のみを保持するだけで十分です。人間は、2種類のテキスト(「短い」と「長い」、発する単語の数で測定)から、テキストを書く2つの異なる動機を選択しているようです。私はそれらを「ナビゲーション」および「情報」の動機と呼びます。
作者があなたに書かれたものをすぐに手に入れたい場合、彼/彼女は「ナビゲーション」テキスト、すなわちいくつかの単語(「STOP」、「Read this」、「Clickhere」など)を使用します。これは、ナビゲーション要素(メニューなど)で最も目立つタイプのテキストです。
著者があなたに彼/彼女が何を意味するかを深く理解して欲しいなら、彼/彼女は多くの言葉を使います。このようにして、冗長性の増加を犠牲にしてあいまいさを取り除きます。記事のようなコンテンツは、単語が数語しかないため、通常このクラスに分類されます。
この分離は多くの場合に機能するように見えますが、見出し、短い文、免責事項、著作権フッターなどで注意が必要になります。
メインコンテンツを定型文から分離するのに役立つ、より洗練された戦略と機能があります。たとえば、リンク密度(リンクされているブロック内の単語数とブロック内の単語の総数)、前/次のブロックの特徴、「全体」のWeb内の特定のブロックテキストの頻度、 HTMLドキュメントのDOM構造、ページのビジュアルイメージなど。
私の最新の記事「浅いテキスト機能を使用したボイラープレート検出」を読んで、理論的な観点から洞察を得ることができます。VideoLectures.netで私の論文発表のビデオを見ることができます。
「読みやすさ」はこれらの機能のいくつかを使用します。SVN変更ログを注意深く見ると、戦略の数が時間の経過とともに変化し、読みやすさの抽出品質も変化していることがわかります。たとえば、2009年12月のリンク密度の導入は、改善に大いに役立ちました。
したがって、私の意見では、正確なバージョン番号を言及せずに、「読みやすさはそのようにしています」と言っても意味がありません。
ボイラーパイプと呼ばれるオープンソースのHTMLコンテンツ抽出ライブラリを公開しました。これは、いくつかの異なる抽出戦略を提供します。ユースケースに応じて、どちらかのエクストラクタがより適切に機能します。Google AppEngineのコンパニオンboilerpipe-webアプリを使用して、選択したページでこれらのエクストラクタを試すことができます。
数字を話せるようにするには、ボイラーパイプwikiの「ベンチマーク」ページを参照してください。ボイラーパイプ、読みやすさ、AppleSafariなどのいくつかの抽出戦略を比較しています。
これらのアルゴリズムは、メインコンテンツが実際にはフルテキストであることを前提としています。「メインコンテンツ」が他のもの、たとえば画像、表、ビデオなどである場合があります。そのような場合、アルゴリズムはうまく機能しません。
乾杯、
キリスト教徒