特定の URL の概要を作成するための Ruby ライブラリを推奨できる人はいますか? 私が念頭に置いているのは、検索エンジンの結果に見られる 1 文または 2 文の要約のようなものです。
2 に答える
説明のメタ タグを取得するために Web ページをスクレイピングするか、それが利用できない場合は<p>
、ページの最初の要素から最初の数文をスクレイピングすることができます。説明のメタ タグは次のようになります。
<meta name="description" content="Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser with XPath and CSS selector support." />
HTML を解析するための Ruby ライブラリがいくつかあります。ノコギリはこういうのに良いと聞きますが、私自身は経験がありません。
サイトのスパイダーとページのスクレイピングは簡単です。ページを要約するのは難しいです。
要約とコンテンツの間には直接的な相関関係があるはずなので、メタタグは少し役に立ちます。
残念ながら、すべてのページにそれらが含まれているわけではなく、含まれているものの多くは不正確です。そのため、テキストがコンテンツとコンテキストに関連していることを期待して、テキストをスケープする必要があります。ページ レイアウトはさまざまであり、メイン コンテンツが実際にページのどこにあるのかを示す標準はありません。また、CSS と Ajax のために、テキストの最初の数行で、それが期待される場所にない場合があります。または適切な CSS で外観を置き換えることができるため、<p>
タグがない場合があります。<div>
<span>
私は、要約しようとして、ページのコンテキスト分析を行う多くのスパイダーを書きましたが、特に同音異義語、同義語、および邪魔になる他の「ニム」のために英語を扱う場合は、見苦しく、防弾ではありません。 .
要約するテキストを見つけることができれば、いくつかの段落または紙を短い文に短縮する適切なツールがあります。Mac OS にはサマライザーが付属しており、何年も使用されています。「Mac OSX Summarize または Microsoft Word AutoSummarize を使用してテキストを要約する」では、試してみたい場合に有効にする方法について説明しています。「Mac 101: 要約サービスを使用してテキストを短縮する」は、Mac での使用についてです。CLI から呼び出すことができるドライバーまたはアプリがあります。詳細については、「コマンド ラインで Mac OS X の Summary Service を使用する方法は?」 を参照してください。
そして、デモとして、リンカーンのゲティスバーグでの演説を 1 行にまとめたものを次に示します。
むしろ、私たちはここで、私たちの前に残されている大きな課題に専念すること、つまり、これらの名誉ある死者から、彼らが最後に完全な献身の手段を与えた大義へのさらなる献身を取り、これらの死者がそうしないことをここで強く決意することです。この国は、神の下で新たな自由の誕生を迎え、人々の、人々による、人々のための政府は、地球上から滅びることはありません。