18

Gupta & Kaiser (2005) Extracting Content from Accessible Web Pagesなど、HTMLコンテンツ抽出に関する多くの学術研究が行われてます。後者の実践が前者の考えをどれほどうまく反映しているか。ベストプラクティスは何ですか?

優れた (特にオープン ソースの) 実装へのポインタと、実装に関する優れた学術調査は、私が探している種類のものです。

最初の追記: 正確に言うと、私が求めている調査の種類は、学術文献からの基準と多数の既存の実装の両方を議論し、実装がどれほど失敗したかを分析する論文 (公開、未公開、何でも) です。基準の観点から。そして、実際には、メーリング リストへの投稿も有効です。

2 番目の追記明確にするために、私が受け入れた Peter Rowell の回答の後、この質問が 2 つのサブ質問につながることがわかります。解決策、および (ii) 未解決の問題または粗悪​​品 (主にサイトに追加されたボイラープレートと販促資料) と肉 (ページが興味深いと思われる種類の人々が実際に関連性があると見なすコンテンツ) から分離すること。 、新しい答えは、肉からの粗悪品の問題に明示的に対処する必要があります。

4

8 に答える 8

18

抽出は、人によって意味が異なります。そこにある壊れた HTML をすべて処理できることは 1 つのことであり、この部門では Beautiful Soup が明らかに勝者です。しかし、BSは何が粗雑で何が肉なのか教えてくれません.

計算言語学者の観点からコンテンツ抽出を検討すると、状況は異なって (そして見苦しく) 見えます。ページを分析するとき、ページの特定のコンテンツのみに関心があり、ナビゲーション/広告などはすべて除外されます。クラフト。そして、重要なことを取り除くまで、共起分析、フレーズの発見、加重属性ベクトルの生成などの興味深いことを始めることはできません。

OPが参照した最初の論文は、これが彼らが達成しようとしていたことを示しています-サイトを分析し、全体的な構造を決定し、それを差し引いて出来上がり! あなたは肉だけを持っています-しかし、彼らはそれが彼らが思っていたよりも難しいことに気づきました. 彼らはアクセシビリティの向上という観点から問題に取り組んでいましたが、私は初期の検索エンジンの専門家でしたが、2 人とも同じ結論に達しました。

クラフトと肉を分離するのは難しい。そして (質問の行間を読むために) 粗雑さが取り除かれても、セマンティック マークアップを慎重に適用しないと、記事の「作成者の意図」を判断することは非常に困難です。citeseer のようなサイト (信号対雑音比が非常に高く、きれいに、予測可能にレイアウトされている) から肉を引き出すことは、ランダムな Web コンテンツを処理するよりも2、3 桁簡単です。

ところで、長いドキュメントを扱っている場合は、 Marti Hearst (現在は UC Berkely の教授)による作業に特に関心があるかもしれません。彼女の博士論文や、大きなドキュメントでのサブトピックの発見に関する他の論文は、小さなドキュメントで同様のことを行うことについて多くの洞察を与えてくれました (驚くべきことに、これは対処がより困難になる可能性があります)。しかし、これは、粗悪品を取り除いた後にのみ行うことができます。


興味があるかもしれない少数の人のために、ここにいくつかのバックストーリーがあります (おそらくオフトピックですが、今夜はそのような気分です):

80 年代と 90 年代には、私たちの顧客のほとんどは政府機関でした。その目は予算よりも大きく、その夢はディズニーランドを単調に見せました。彼らは手に入れることができるすべてのものを集めていて、ドキュメントの「意味」を何らかの方法で (巨大な手を振る) 抽出する特効薬の技術を探しに行きました。右。彼らが私たちを見つけたのは、私たちが 1986 年に「コンテンツの類似性検索」を行っていた奇妙な小さな会社だったからです。

私たちがすでに知っていたことの 1 つは (そして、彼らが私たちを信じるまでには長い時間がかかりました)、すべてのコレクションが異なり、それらの違いに対処するには独自の特別なスキャナーが必要であるということでした。たとえば、新聞記事をむしゃむしゃ食べているだけなら、人生はとても楽です。見出しは主に何か興味深いことを伝えており、ストーリーはピラミッド スタイルで書かれています。最初の 1 つか 2 つのパラグラフには、誰が/何を/どこで/いつの要点があり、その後のパラグラフはそれを拡張します。私が言ったように、これは簡単なことです。

雑誌の記事はどうですか?なんてこった、私を始めさせないでください!タイトルはほとんどの場合意味がなく、構造は雑誌ごとに異なり、さらには雑誌のセクションごとに異なります。Wired のコピーと Atlantic Monthly のコピーを入手してください。主要な記事を見て、その記事の内容を意味のある1 段落にまとめるようにしてください。次に、プログラムが同じことをどのように達成するかを説明してみてください。すべての記事に同じルール セットが適用されますか? 同じ雑誌の記事でも?いいえ、そうではありません。

これについて悪口のように聞こえて申し訳ありませんが、この問題は本当に難しいです。

奇妙なことに、Google が (検索エンジンの観点から) 現在のように成功している大きな理由は、別のサイトからのリンク内およびその周囲の単語に重点を置いていることです。そのリンクテキストは、リンク先のサイト/ページについて人間が行った一種の要約であり、まさに検索時に必要なものです。また、情報のほぼすべてのジャンル/レイアウト スタイルで機能します。それは前向きで素晴らしい洞察であり、私はそれを自分で持っていたらよかったのにと思います. しかし、昨夜のモスクワのテレビ番組から、彼らがキャプチャしたランダムなテレタイプ メッセージや、ひどく OCR されたエジプトの新聞へのリンクがなかったため、私の顧客には何の役にも立ちませんでした。

/mini-rant-and-trip-down-memory-lane

于 2009-12-26T03:05:54.343 に答える
14

一言:ボイラーパイプ。

ニュース ドメインについては、代表的なコーパスで、98% / 99% の抽出精度 (平均/中央値) になりました。

また、言語に依存しません (今日、ネパール語でも機能することを知りました)。

免責事項: 私はこの作品の作者です。

于 2012-04-25T20:29:36.237 に答える
6

ボイラーパイプを見たことがありますか?同様の質問で言及されていることがわかりました。

于 2010-12-21T17:27:40.153 に答える
5

私はhttp://www.keyvan.net/2010/08/php-readability/に出くわしました

昨年、Five Filters プロジェクトで使用するために、Arc90 の Readability を移植しました。1 年以上経ちましたが、読みやすさは大幅に改善されました。Chris Dary と Arc90 の他のチームのおかげです。

フルテキスト RSS サービスの更新の一環として、より新しいバージョン (1.6.2) の PHP への移植を開始し、コードがオンラインになりました。

なじみのない人のために説明すると、Readability はブラウザー アドオン (ブックマークレット) として使用するために作成されました。ワンクリックで Web ページを読みやすく変換し、雑然としたものを取り除きます。Apple は最近、それを Safari Reader に組み込みました。

また、コンテンツの抽出にも非常に便利であるため、そもそも PHP に移植したいと考えていました。

于 2010-12-20T12:39:47.740 に答える
2

私は何年にもわたって Peter Rowell と共に、さまざまな情報検索プロジェクトに取り組んできました。その多くは、さまざまなマークアップ ソースからの非常に困難なテキスト抽出を伴いました。

現在私は、Google などの「消防ホース」ソースからの知識の抽出に注力しています。これには、ローカル、地域、国内、および国際的なニュース記事を大量に収集する RSS パイプが含まれます。多くの場合、タイトルはリッチで意味のあるものですが、実際の記事が意味のない段落である Web サイトにトラフィックを引き寄せるための「フック」にすぎません。これは、トラフィックの評価を上げるために設計された一種の「逆スパム」のようです。

記事の長さという最も単純なメトリックでも記事をランク付けするには、マークアップからコンテンツを抽出できる必要があります。最近の Web コンテンツを支配する風変わりなマークアップとスクリプトは、Google や同様のソースの特徴である大量に適用されると、Beautiful Soup などのほとんどのオープン ソース解析パッケージを破壊します。経験則として、マイニングされた記事の 30% 以上がこれらのパッケージを破っていることがわかりました。これにより、生のテキストをマークアップやスクリプトから分離するために、非常に低レベルでインテリジェントな文字ベースのパーサーの開発に再び焦点を当てるようになりました。解析 (つまり、コンテンツの分割) が細かくなるほど、ツールはよりインテリジェント (かつ手作り) でなければなりません。さらに興味深いことに、Web オーサリングは新しいスクリプト アプローチの開発に伴い変化し続けています。マークアップ、および言語拡張。これは、「シュリンク ラップ」アプリケーションとは対照的に、サービス ベースの情報配信を好む傾向があります。

何年にもわたって振り返ってみると、そのような抽出の低レベルの仕組み (つまり、あなたが参照する「前者の実践」) について書かれた学術論文はほとんどないようです。

于 2011-07-26T14:30:36.697 に答える
1

Beautiful Soupは、Python で書かれた堅牢な HTML パーサーです。

これは不適切なマークアップを含む HTML を適切に処理し、Python ライブラリとしても適切に設計されており、反復と検索用のジェネレーター、子アクセス用のドット表記 (例: access <foo><bar/></foo>' usingdoc.foo.bar`)、およびシームレスな Unicode をサポートしています。

于 2009-12-26T01:32:00.067 に答える