ホームページ バックエンド開発 PHPチュートリアル PHPの記事トピックキーワード自動取得・生成機能を徹底分析_PHPチュートリアル

PHPの記事トピックキーワード自動取得・生成機能を徹底分析_PHPチュートリアル

Jul 21, 2016 pm 03:09 PM
php テーマ キーワード 書く 関数 存在する 成し遂げる 記事 徹底した分析 生成する プログラム 自動 得る これ 質問

私はこれまでプログラムを書くときにこの問題を避けてきました。プログラムを使用する人は、一部の怠け者やプログラムの経験のために、記事のキーワードを自動的に生成し、記事のタグを自動的に取得することを望んでいます。同様の機能ですが、今回は新しいプロジェクトの準備のため、一晩中いじってこの機能を勉強しました。
キーワード自動取得機能を実現するには、大きく3つのステップに分かれます
1. 単語分割アルゴリズムを使用してタイトルと内容をそれぞれ分割し、キーワードと頻度を抽出します。
現在の 2 つの主要なアルゴリズムは、中国科学院の ICTCLAS と隠れマルコフ モデルです。しかし、どちらもハイエンドすぎるため、一定のしきい値があり、どちらも C++/JAVA のみをサポートしています。現在、PHP ベースの PSCWS と HTTPCWS の 2 つが推奨されています。 SCWS は 2008 年 3 月 8 日に正式バージョン 1.0.0 をリリースし、現在最新バージョンは 1.0.4 です。 PSCWS はその PHP バージョンです。 HTTPCWS は Zhang Yan によって開発され、以前は PHPCWS と呼ばれていました。 PHPCWS は、最初の単語分割処理に「ICTCLAS 3.0 共通版中国語単語分割アルゴリズム」の API を使用し、その後、独自に作成した「逆最大一致アルゴリズム」を使用して単語の分割と結合を行い、句読点フィルタリング機能を追加して、単語の分割処理を行います。単語の分割結果。残念ながら、現在は Linux システムのみをサポートしており、Win プラットフォームにはまだ移植されていません。
2. 抽出結果を既存の辞書と比較し、不要な単語を処理して削除し、ルールに最もよく適合するキーワードを取得します。 ここで重要なのは、シソーラスを確認することです。シソーラスを自分で定義することも、既存の成熟したシソーラスを使用することもできます。たとえば、Sina ブログや NetEase ブログにはこの機能があります。これらはすべて大きな Web サイトであり、一介のプログラマーである私には信頼できるシソーラスを入手できないため、単語の分割に適した単語ライブラリがあるはずです。そのため、既存のオープン ソース プログラムから始めて、辞書を調べるしかありません。 。
3. 処理された抽出結果から最終的なキーワードとして適切なものを選択し、現在のコンテンツに最も適合するキーワードを取得します。いずれにしても、特定の状況を詳細に分析することは不可能です。人間の知性のレベルに達する。せいぜい。現在、すべての PHP CMS には独自のキーワード抽出システムがあります。 DEDECMS のワード セグメンテーション ソース コードは現在インターネット上で最も広く流通していますが、テストを行ったところ、非常に鈍く、効果が非常に低いことがわかりました。まずキーワードの長さを設定し、取得するキーワードの数を決定し、タイトルに分割された単語が必要なキーワードであると考えて単語を取得し、設定された長さに達するまでテキストからキーワードを読み取ります。 , 最後のキーワードです。さらに、「we」などの意味のない単語が削除されず、キーワードとしてリストされることが多すぎるため、スペースを含む HTML がキーワードとして抽出されることもあるため、改善が必要です。しかし、補助機能としては、すでに非常に優れています。 Discuz の方がわずかに優れていますが、discuz はソース コードを提供せず、オンライン API のみを提供します。
dede の単語分割にはいくつかのバージョンがあります。出現頻度がすべて揃っているのが最新バージョンです。

テスト例:
$title="THINKPHP はバージョン 2.0 のサポートを正式に終了します";
$body="ThinkPHP フレームワークの開発、保守、サポートを改善するために、2012 年 5 月 1 日からバージョン 2.0 のサポートを終了すると公式が発表しました。 2.0 およびそれ以前のバージョンのサポートは、省エネと低炭素化のため、公式 Web サイトからの対応バージョンとドキュメントのダウンロードも中止されます。
当時一緒に開発した ThinkPHP のバージョンを思い出してください。

ThinkPHP 2.0 について。バージョン
ThinkPHP の誕生 2006 年、WEB アプリケーションの迅速な開発に注力し、その 2.0 バージョンが 2009 年 10 月 1 日にリリースされました。それは、以前の 1.* バージョンを新たに再構築し、飛躍的に進化しました。当時としては画期的なバージョンであり、新しいバージョンの基礎を築き、フレームワークの急速な更新と新しいバージョン 2.1、2.2 の連続リリースにより、多くのユーザー グループと Web サイトが構築されました。 3.0 は、ThinkPHP の 3.0 時代の到来と 2.0 ライフサイクルの終わりを告げるものですが、基本的に 2.0 の多くの機能はバージョン 2.1 で継続または改良されており、バージョン 2.0 からバージョン 2.1 および 2.1 へのアップグレードは比較的簡単です。 2.2. バージョン 2.2 はバージョン 2.* の最終バージョンであり、機能は更新されず、バグのみが修正されます。";
1.単語分割をデデ
結果は以下のようにソートされます
Title Array (
[THINKPHP] => 1
[Official] => 1
[Coming] => 1
[Stop ] = > 1
[2.0] => 1
[バージョン] => 1
[サポート] => 1
(
[バージョン] => 12
[その] => 12
[そして] => 8
[ThinkPHP] => 5
[2.0] => 5
[また] => 3
[2.2 ] => 3
[2.1] => 3
[開発] => 3
[3.0] => 2
[はい] => 2
[クイック] => 2
[へ] => 2
[リリース] => 2
[メンテナンス] => 2
[上へ] => 2
[サポート] => 2

[同時に] => 2
[From] => 2
最初のアイデアは、「of」と「some」を削除することです。このようにして、最終的なキーワードとして特定の単語を取り出すことができます。
バージョン thinkphp 2.0 のサポートが終了します。
結果は許容範囲内であるようです


次に、discuz を見ると、取得された API は XML ドキュメントであり、解析後に取得されたキーワードは


、高速、バージョン アップグレード、開発、ユーザーです。 5 つの単語、最初の言葉は「of」です... これら 2 つの方法を比較すると、最初の dede+ 以降の処理が文書の内容に近く、多少は優れているはずであることがわかりましたが、トピックから逸​​脱しています。の記事ですが、取り上げられている言葉がかなり人気です


http://www.bkjia.com/PHPjc/327239.html

www.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/327239.html技術記事私はこれまで、プログラムを作成するときに常にこの問題を避けてきました。プログラムを使用する人は、プログラムの経験を積むために、タグを自分で入力する必要があります。彼らは、テキストが自動生成されることを望んでいます。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

See all articles