もちろん、この記事は中国の検索エンジンについて研究することではなく、PHP を使用してオンサイトの検索エンジンを構築する方法を共有することを目的としています。 この記事はこの系の記事です。
私が使用している単語分割ツールは、中国科学院計算技術研究所の ICTCLAS のオープンソース バージョンです。 オープンソースの Bamboo もありますが、これについても後で調査します。
ICCTCLAS のアルゴリズムは広く普及しており、公開された学術文書があり、コンパイルが簡単で、ライブラリへの依存関係がほとんどないため、 ICTCLAS から始めるのが良い選択です。 ただし、現在提供されているのは C/C、Java、および C# バージョンのコードのみであり、PHP バージョンのコードはありません。 どうすればよいでしょうか? C/C ソース コードと学術文書を研究して、PHP バージョンを開発することができます。 ただし、プロセス間通信を使用して、PHP コードから C/C バージョンの実行可能ファイルを呼び出したいと考えています。
ソース コードをダウンロードして解凍した後、C 開発ライブラリとコンパイル環境を備えたマシン上で ictclas を直接作成します。 Makefile スクリプトにエラーがあり、テストを実行するコードに ' が追加されていません。 /' と表示されますが、もちろん Windows のように正常に実行することはできません。 ただし、コンパイル結果には影響しません。
中国語の単語分割の PHP クラスは以下のとおりです。 proc_open() 関数を使用して単語分割プログラムを実行し、パイプラインを通じて対話し、分割するテキストを入力して、単語分割結果を読み取ります。
コードをコピー コードは次のとおりです:
class NLP{
private static $cmd_path;
// '/' で終了しない
static function set_cmd_path($path){
self::$cmd_path = $path;
}
private function cmd($ str){
$descriptorspec = array(
0 =>array("pipe", "r"),
1 =>array("pipe", "w"),
);
$cmd = self::$cmd_path . "/ictclas";
$process = proc_open($cmd, $descriptorspec, $pipes);
if (is_resource($process)) 🎜>$str = iconv('utf-8', 'gbk', $str);
fwrite($pipes[0], $str);
$output = stream_get_contents($pipes[1]) ;
fclose($pipes[0]);
$return_value = proc_close($process);
/*
$ cmd = "printf '$input' | " . self::$cmd_path . "/ictclas";
exec($cmd, $output, $ret);出力);
*/
$output = trim($output);
$output = iconv('gbk', 'utf-8', $output); 🎜>}
/**
* 単語の分割を実行し、単語リストを返します。
*/
関数 tokenize($str){
$tokens = array();
$output = self::cmd($input); 🎜>if( $output){
$ps = preg_split('/s /', $output);
foreach($ps as $p){
list($seg, $tag) = explode('/ ', $p);
$item = array(
'seg' => $seg,
'tag' => $tag,
); $tokens[] = $item;
}
return $tokens;
}
NLP::set_cmd_path(dirname(__FILE__)); ;
使い方は非常に簡単です (ICTCLAS でコンパイルされた実行可能ファイルと辞書が現在のディレクトリにあることを確認してください):
コードをコピーします
コードは次のとおりです。
require_once('NLP.php')
var_dump(NLP::tokenize('Hello, World!' ));
?>

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

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