CMSのページのコンテンツ(つまりデータベースフィールド)を分析し、(X)HTML METAの説明とキーワードタグを自動生成するPHPスクリプトを作成することを考えていましたが、いつものように、車輪の再発明をする意味はありません。誰かがそのような獣を知っているかどうか疑問に思いますか?
前者は、最初の1つか2つの文を取得するための比較的簡単な正規表現のようなものですが、後者はおそらく、一般的な単語の辞書に対する単語の削除と、頻度の重み付けなどを伴います。
CMSのページのコンテンツ(つまりデータベースフィールド)を分析し、(X)HTML METAの説明とキーワードタグを自動生成するPHPスクリプトを作成することを考えていましたが、いつものように、車輪の再発明をする意味はありません。誰かがそのような獣を知っているかどうか疑問に思いますか?
前者は、最初の1つか2つの文を取得するための比較的簡単な正規表現のようなものですが、後者はおそらく、一般的な単語の辞書に対する単語の削除と、頻度の重み付けなどを伴います。
あなたが考えている問題は 2 つあります。1 つはキーワード抽出の問題で、もう 1 つはドキュメントの要約の問題です。1 つ目は、明らかにキーワードに使用する非常に単純なアプローチです。コンテンツ内で最も頻繁に使用される単語から、すべてのストップワードを除いたものを選択します (これらが何であるかがわからない場合は、ウィキペディアで調べてください)。同義語を含めるための重み付け、テキストまたはマークアップ内の位置など、さらに多くの高度な方法があります。おそらく問題なく実装できる PHP の簡単なキーワード抽出スクリプトの例がいくつかあります。「PHP キーワード抽出」などを Google で検索するだけで、いくつか見つかります。
一方、2 番目の問題はもう少し難しく、依然として多くの学術研究の源となっています。非常に完全なメタ ディスクリプション タグの要約が必要です。長期的な AI プロジェクトを探していないのであれば、実際には時間を割く価値はないかもしれません。もう 1 つのアプローチは、キーワード抽出を使用する単純なヒューリスティックです。「この記事は、(1 番目に多いキーワード)、(2 番目に多いキーワード)、(3 番目に多いキーワード) に関するものです。」少なくとも、キーワードと説明の両方で一部のコンテンツに収まるというメリットがあります。それを揺るがしたい場合は、代わりにいくつかの同義語を使用してください。WordNetの半機能的なPHP 実装がありますが、私は'ほとんどの作業はすでに完了しているため、そこでの重い作業は不要です。
この分野でのあなたの研究を奨励し、Warnica 氏からの否定的な意見を無視するために少し時間を取りたいと思います。メタ情報は、ドキュメントの分類と検索領域での情報抽出の両方にとって重要です。データを持たないのは愚かなことであり、実際、大規模なコンテンツ管理システム用にデータを自動化する価値があります。がんばってください。
Yahoo Pipes Term Extractorモジュールは、あなたが望むものと同様のことを行います。残念ながら、ソースからパイプへのモジュールが開いていることを知りません。