「このエントリーを含むほかのエントリー」の表示について
本日、はてなブックマークのエントリーページで「このエントリーを含むほかのエントリー」の項目を新たに表示よう変更を行いました。ある特定のエントリーに対してリンクしているほかのエントリー(ここで言うエントリーは、はてなブックマークで一度以上ブックマークされたエントリーのことを指します。)の一覧がエントリーページの下部に表示されます。
例えば以下のエントリーには、現時点で2件の「含むほかのエントリー」が表示されています。
このように「あるエントリーを含むほかのエントリー」をはてなブックマークのエントリーページで把握できるようにし、ウェブ上での議論を追いやすくするための機能となります。
なお、現時点では対象ページからのリンク抽出処理の精度に改良の余地があるため本機能は試験的なものと位置づけさせていただいております。また、過去にブックマークされたエントリーに関してはリンク抽出は行っておりませんのでご了承ください。
過去のブックマークからのリンク抽出は行っていないため、現時点では「含むほかのエントリー」を目にする場面は少ないかと思いますが、時間の経過とともにリンクデータベースが蓄積されて、目にする機会も増えていくかと思います。
現在のリンク抽出処理の仕様について
現在のリンク抽出処理の流れは、
- そのページが初めてブックマークされた場合にはてなブックマークのシステムが該当のコンテンツ(HTML)を取得する。
- 取得した HTML にフィードへのリンク(RSS/Atom Auto-Discovery) がないかを検索する
- フィードの URI が発見された場合、最初の一件目のフィードを取得する
- フィード内でブックマークされたエントリーを、ブックマーク時の URI を元に検索する
- RSS 1.0 や Atom フィードの場合ブックマークした URI と link 要素の値が同じかどうかで判定します。
- RSS 2.0 の場合 link 要素に加え、guid 要素、FeedBurner名前空間(http://rssnamespace.org/feedburner/ext/1.0) の origLink 要素なども判定条件に含めます。
- エントリーが発見された場合、該当エントリーの本文箇所を取得する
- 本文箇所が HTML マークアップされていた場合、そこからリンク抽出を行う
- 抽出されたリンク一覧をはてなブックマークのデータベースと照合し、ブックマークされているものだけを選択し、それ以外は破棄する
という処理を行っております。そのため、
などをブックマークした場合には、リンク抽出ができない場合があります。(HTML 内から本文と思しき箇所を取得する処理を実行してはいますが、まだ精度が低くリンク抽出には十分ではありません。)
すなわち
ではリンク抽出が高い精度で行われるようになっています。