|
検索エンジンについて簡単に説明しましょう。 モデルとアルゴリズムについてお話しするのは久しぶりです。以前、階層的クラスタリング、K平均法クラスタリング、線形回帰、ロジスティック回帰、ナイーブベイズ分類といった一般的な機械学習アルゴリズムについてご紹介しました。 4年前、金融業界向けの検索エンジン製品の開発を主導した経験があり、検索に関する基本的な知識はある程度あります。そのため、後ほど検索レコメンデーションアルゴリズムに関する記事をいくつかご紹介したいと思います。この記事では、検索の基本原則から始め、初心者向けに検索の基礎について簡単に説明します。 01 検索エンジンとは何ですか?はい、検索エンジンといえば、どちらも検索エンジンなので、誰もが百度とGoogleを思い浮かべると思います。 たとえば、上の画像では、左側に表示されているコンテンツは検索結果リストです。 実は、誰もが使っている別のタイプの検索エンジンがあるのですが、本当に注目していますか?例えば、JD.comの商品検索を見てみましょう。 したがって、まとめると、検索エンジンは主に 2 つのカテゴリに分類されます。1 つは Baidu や Google などの専用検索エンジンで、検索が企業の主要ビジネスです。もう 1 つは、主流のビジネスにサービスを提供するために使用される、Web サイト内の機能モジュールです。 現在、検索エンジンを専門とする企業は多くありません。中国では、百度(バイドゥ)、捜狗検索(ソゴウサーチ)、360検索(360サーチ)が主要プレーヤーであり、業界の集中度が高いことが分かります。(下の画像は参考用です。) しかし、ほぼすべての企業が社内検索機能を提供しています。成熟したインターネットアプリやウェブサイトのほとんどは検索サービスを提供しているため、検索は情報検索の主流となっています。例えば、Meituan、Zhihu、Tencent Videoなどのスマートフォンアプリを見れば、ホームページには検索エントリポイントが目立つように表示されています。 プロフェッショナル検索エンジンとサイト検索機能の類似点と相違点は何ですか?
02 検索サービスのコアプロセス検索サービスのコアプロセスについて説明します。 (1)データの取得と処理 専用検索エンジンの場合、データと情報の取得は、以下の画像の左側に示すように、主に Web クロール操作を指します。 Baiduがどのようにしてキーワードやフレーズをリアルタイムで検索結果として返せるのか、疑問に思ったことはありませんか?例えば、Baiduで「データサイエンス」を検索すると、インターネット全体をリアルタイムで検索するのでしょうか?もちろん、そんなことはありません。どれだけ多くのコンピューティングリソースや処理速度を持っていても、短時間で信頼できる結果を返すことは不可能です。 したがって、効率の問題を解決するために、すべての検索エンジンは事前にさまざまな Web サイトからデータをクロールし、それを処理および修正して、ユーザーがクエリを実行するのを待ちます。 ここで行われるデータ処理は広範囲にわたります。これには、ウェブページから重複コンテンツを排除すること、すべてのウェブページを解析して意味的に認識すること、そして後続のキーワード検索のためのインデックスを作成することが含まれます。ここでは詳細は割愛しますが、これらの側面については後ほど一つずつ説明していきます。 ウェブサイト内部の検索機能モジュールの場合、データ取得は比較的容易です。データは自社データベースに既に存在するため、ウェブスクレイピングは不要です。例えば、ECサイト検索を例に挙げると、検索語はすべて商品であるため、主に商品データの処理に重点が置かれます。商品データは既に商品テーブルに存在しており、基本的な検索アプリケーションに必要な基本情報が豊富に揃っています。そのため、専門的な検索エンジンと比較して、データ処理の難易度は大幅に低くなります。 (2)検索クエリの解析 ユーザーが検索を実行するかどうかに関わらず、上記の最初のステップは必ず実行する必要がある基本的なタスクです。ユーザーが検索を実行すると、次のステップであるクエリ解析が実行されます。 クエリ解析は、ユーザーの検索クエリの意味を理解し分析するプロセスです。 例えば、「データサイエンティストの主な業務は何ですか?」と入力した場合、検索エンジンは冷たく無機質な機械に過ぎません。この文の意味を理解できないのに、どうして信頼できる答えを返せるのでしょうか? 多くの人がこう考えるかもしれません。「キーワードに基づいてマッチングすればいい」と。確かに、基本的なロジックは理にかなっています。しかし、実際に実装してみると、細部に多くの問題があることに気づくでしょう。 例えば、キーワードマッチングでは、まず「データサイエンティストの主な業務は何ですか?」という質問に関連するキーワードを把握する必要があります。そのためには単語のセグメンテーションが必要です。単語のセグメンテーションとは、クエリを常識的なキーワードに分割することです。これはNLP(自然言語処理)における典型的な知識コンテンツです。例えば、「データ」+「科学」+「科学者」+「主に」…と分割するのと、「データ」+「科学者」+…と分割するのとでは全く異なります。 例えば、「[生物学を研究している]」という単語のセグメンテーションはさらに多様です。単語セグメンテーション関連のNLPアルゴリズムについては後ほど詳しく説明しますが、これはあくまでも出発点に過ぎません。 例えば、「データサイエンティストの主な仕事は何ですか?」という文には、「的」や「是啥」といった単語が登場します。キーワードマッチングはこれに影響を与えるでしょうか?結局のところ、こうした助詞はそれほど重要ではありませんが、ウェブページには頻繁に出現します。この作業では、コアキーワードの抽出とその重み付けを決定します。 例えば、「[私と祖父母]」という検索クエリでは、私が誤って入力した可能性がありますが、クエリは私が「[私と父]」を検索した可能性があると推測し、修正しました。もし私が厳格で一元的な方法で検索していたら、このような結果は得られなかったでしょう。 要約すると、クエリ解析の主なタスクは、ユーザーの入力ステートメントを処理して、マシンがその意味を理解できるようにし、関連する結果を効率的に検索できるようにすることです。 もちろん、キーワードベースのアプローチは非常に基本的なものです。現在、私たちは実際の検索ニーズにより適したナレッジグラフや質問と回答のシステムへと移行しつつあります。 (3)コンテンツ検索再現率+ランキング 上記の 2 つのステップには、2 つの側面があります。1 つはサーバー側からのデータ処理と操作であり、もう 1 つはユーザーの視点からユーザーの検索クエリを理解することです。 3 番目の重要なステップは、ユーザーの検索内容に基づいて処理されたデータベースから結果を取得し、関連するすべてのコンテンツを見つけて、特定のルールに従って並べ替えることです。 このコンテンツは検索エンジンの核となる部分です。そのため、企業やウェブサイトによって検索エンジンのロジックは大きく異なり、ランキングのロジックはさらに異なります。 並べ替えの必要性は比較的容易に理解できるはずです。理論的には、検索語句に一致する結果にスコアが付けられ、スコアの高いものが最初に表示されます。ユーザーは当然のことながら、最も関連性の高い、あるいはより重要な、最も関連性の高いコンテンツを最初に見たいと考えており、結果がリストの下位に表示されるにつれて、そのコンテンツを見る可能性は低くなります。 そのため、検索エンジンのランキング向上という課題に対処するための専門業界と職種が生まれました。それがSEO(検索エンジン最適化)です。SEOとは、関連性の高いコンテンツを持つウェブサイトのランキング向上を指します。Taobaoの販売業者にとって、TaobaoとTmallでの商品の検索ランキングを向上させるには、様々なキーワードと指標を最適化する必要があります。同様に、ウェブサイトもBaiduの検索ランキングを向上させるために、タイトルなどの要素を最適化しています。 したがって、ウェブサイトのランキングを公平にし、他者がランキングルールの抜け穴を悪用するのを防ぐために、各ウェブサイトの検索ランキングルールやスコアの重み付けなどは通常、比較的秘密にされています。 (4)検索結果の表示 最後の部分は主に製品機能に関係しており、上位にランクされた検索結果を適切な製品形式で提示します。 たとえば、Zhihu で「Viya」を検索すると次のようになります。 ホームページ(一般)セクションには、ディスカッション関連コンテンツ、Q&A関連コンテンツ、動画関連コンテンツなど、様々なカテゴリの検索結果上位がまとめられています。この表示方法は、マルチタイプウェブサイトでよく見られるハイブリッドアプローチです。そのため、検索においては、それぞれの異なる方法が独立した検索エンジンとして機能し、異なる検索結果が製品化された形で統合されます。 もちろん、テクノロジーが進歩し、ユーザーエクスペリエンスが向上するにつれて、検索結果も様々な独自の特徴を示すようになります。例えば、百度で「北京 青島」を検索すると、次のような結果になります。 これはもはや上記の手順に従う単純な検索ではなく、特定の種類のキーワードを特別な方法で表示し、基本的な検索サービスを補完する役割を果たします。上記の例では、ユーザーのクエリに2つの都市名が含まれている場合に、この特別な表示がトリガーされるというルールになります。興味のある方は、「山東省と山西省」、「中国と日本」、「北京、深圳、青島」などのキーワードで検索してみてください。どれも特別な表示はされません(笑)。 専門的なプレゼンテーションはユーザーエクスペリエンスを大幅に向上させますが、検索エンジンにとっては継続的な蓄積と改善が必要であり、これは長期的なプロセスです。 もちろん、特別な機能を備えているのは検索エンジンだけではありません。他のウェブサイトも、検索結果内に特別な機能を表示することができます。例えば、Taobaoでブランド名を検索すると、商品リストに加えて、フラッグシップストアへのトラフィックの多いエントリーポイントが表示されます(ただし、これは広告スペースです)。 本日は検索関連技術の紹介はこれで終わりです。検索は膨大なコンテンツを扱うため、1つの記事ですべてを網羅することはできません。この記事の主な目的は、検索の全体的な枠組みと基本的な動作原理について、基本的な理解を提供することです。後ほど、より詳細な情報や具体的な内容について掘り下げてご紹介していきますので、ぜひご覧ください。 本日の記事は以上です。ご清聴ありがとうございました! -終わり- |