システムは、どの html 要素にどの変数に関するデータが含まれているかをどのように判断しますか?
HTML5 では、次のような要素にタグを付けることができます
<div data-productname=BMW>BMW</div>
しかし、検索エンジンは古いウェブサイトでどのようにそれを行うのでしょうか?
システムは、どの html 要素にどの変数に関するデータが含まれているかをどのように判断しますか?
HTML5 では、次のような要素にタグを付けることができます
<div data-productname=BMW>BMW</div>
しかし、検索エンジンは古いウェブサイトでどのようにそれを行うのでしょうか?
data-
属性は、作成者が「私的使用」のために自分の目的で使用するためのものです。それらは、それらに割り当てられた私的な意味に従ってそれらを使用するように特別に調整されたソフトウェアを除いて、ブラウザ、検索エンジン、および他のソフトウェアによって無視されることが期待されるべきです。
したがって、それらを使用する検索エンジンはすべて壊れています。
一般に、検索エンジンは、どのhtml要素にどの変数に関するデータが含まれているかを判別しようとはしません。それらはページのテキストコンテンツに作用し、ある程度はいくつかのマークアップ要素(h1
他のテキストよりも相対的な関連性が高いと見なされる可能性があるなど)に作用します。
システムは、低レベルのメタデータ用に開発されてきました。これは、たとえば、特別な名前を持つクラス属性やいくつかの新しい属性を使用する場合があります。いくつかの主要な検索エンジンは、いくつかの方法でこれに対するサポートを表明しています。特にhttp://www.schema.orgを参照してください。しかし実際には、公開されていない原則に従って、主に非常に大規模なWebサイトに対してこれを行っているようです。
rdfa や microformats などのセマンティック マークアップは、製品スキーマをサポートしています。
多くの製品 Web サイトでは、特定の形式で製品データを含むフィードを提供することも期待されています。
特定の例では、RDFa を使用して HTML ドキュメントのデータを記述することを検討する必要があります。Microdata の使用については触れていませんが、これは、RDFa がより豊富でファセットに富んだデータをクローラーに提供できるためです。特定のケースでは、GoodRelations ボキャブラリ (e コマース、製品、サービス用)、schema.org ボキャブラリ (GoodRelations から借用)、Vehicle Sales Ontology (自動車用) を活用できます。以下の作業例を参照してください。
<div prefix="sc: http://schema.org/ gr: http://purl.org/goodrelations/v1# vso: http://purl.org/vso/ns#"
typeof="vso:Automobile gr:ProductOrServiceModel sc:Product"
resource="http://dbpedia.org/page/BMW_1_Series">
<span property="gr:name sc:name">BMW 1 Series</span>
</div>
これにより、あらゆる面でデータが公開され、ほぼすべての検索エンジン (セマンティック検索エンジンを含む) で理解および利用できるようになります。さらに、同じ URI を使用してインスタンスを識別することにより、DBPedia (ウィキペディア データベース) のリソースにリンクすることもできます。
この種の情報を抽出する方法はいくつかあります。
セマンティック Web が成長するまで (いつ、どのような最終的な形で発生するかはわかりません)、純粋な HTML から意味を取得する際にいくつかの問題が実際にあります。(必ずしも HTML ではない) ページの発行者が、どのデータが何であるかを示す標準的な方法を使用しない場合は、(検索エンジンの当事者として) 自分でセマンティクスを推測する必要があります。まず、「非 HTML」ページへの言及が新鮮であるため、ブラウザーでのレンダリング用に XSL を伴う XML ページをホストするサイトが存在します。XML は、使用されているスキーマまたは DTD を知っている場合、より多くのセマンティック情報を提供します。(ちなみに、ウィキペディアは記事のアーカイブを XML で提供しています。) XML が使用されていない、または文書化されていない場合、いわば、専門家とプログラマーを必要とする 2 番目のアプローチがあります。専門家は、コンテンツを分析し、HTML ページのどの部分を特定の情報を格納するテンプレートとして扱うべきかを決定する人々です。たとえば、インターネット カタログの html ページから検索結果のテンプレートを作成し、リストされた各サイトのカテゴリ、評価、その他のものを抽出できます。これらのテンプレートは、任意のプログラミング言語 (C++、Python など) を使用して Web ページから解析および検出できます。この後、よく知られているmap-reduce
キーと値のペアによって抽出されたデータにインデックスを付けるアルゴリズムまたはその他の手段。このようなテンプレート化された方法で通常処理されているサイトを見ると、それらが大きく、公開されており、適切に構造化されていることがわかります (時間の経過とともに構造にほとんど変化がありません)。これは、テンプレートを作成して再利用するのに理にかなっています。もちろん、同じ専門家がデータ抽出の品質を監視し、対応するサイト マークアップに何か変更があった場合はテンプレートを編集する必要があります。そして、意味の 3 番目のリソースは語彙です。たとえば、地理的な名前、ビジネス会社 (自動車メーカーのサブカテゴリを含む)、およびその他の分類されたものの包括的なベースがある場合、それらをセマンティック インデックスでほぼ自動的にヒットできます。「ほぼ」と言ったのは、文脈上の単語に関して各ヒットを重み付けする必要があるためです。コンピューターに関するドキュメントでは、Java
プログラミング言語に関するものである可能性が最も高く、旅行代理店のサイトでは、島である可能性が高くなります。
彼らはどのようにして構造化された情報を導き出したのでしょうか?
それらはページの html 要素を解析し、それらを検索エンジン自体と同じくらい多様なデータ構造に格納します。
一部の検索エンジンはメタ情報をインデックス化しますが、主要な検索エンジンはメタ タグを無視し始めています。
ほとんどの検索エンジンは次のことを考慮します。
その他の質問に答えてくれる興味深い情報グラフィックを次に示します: http://ppcblog.com/how-google-works/