中国語の検索エンジンの場合、中国語の単語の分割はシステム全体の最も基本的な部分の 1 つです。これは、単一文字に基づく現在の中国語の検索アルゴリズムがあまり優れていないためです。もちろん、この記事は中国語の検索エンジンについて研究するためのものではありません。 、しかし、PHPの使い方を共有する オンサイト検索エンジンを作成する この記事はこのシステムの記事です
中国語の単語分割のためのPHPクラスは以下のとおりです proc_open() 関数を使用して単語分割プログラムを実行します。パイプラインを介してそれを使用し、セグメント化するテキストを入力し、単語のセグメント化結果を読み取ります。
class NLP{
private static $cmd_path;//「/」で終わらない。
静的関数 set_cmd_path($path){
self::$cmd_path = $path;
}プライベート関数 cmd($str){
$descriptorspec = array(
0 => array("pipe", "r "),
1 => array("pipe", "w "),); $ $ Cmd = Self :: $ cmd_path."/ICTCLAS ";
$ PROCESS = PROC_OPEN ($ CMD, $ Descriptorspec, $ Pipes ){$ str = iconv( 'utf-8'、$ str = [0]); ";
exec($cmd, $output, $ret);
$output = join("n", $output); = iconv ('gbk', 'utf-8', $ Output);Return $ OUTPUT;
* 単語分割を実行し、単語リストを返します。
}
/*** /
$ tokens = Array () ; U u Output = Self :: cmd ($ input);
関数 tokenize ($ Str) {$ PS チュートリアル = Preg_Split ('/S+/', $ OUTPUT);
list($seg, $tag) =explode('/', $p); );
Foreach ($ ps as $p) {トークン[] = $item;
var_dump(NLP::tokenize(' Hello, world!'));
」」 現在のディレクトリにあるコンパイルされた実行可能ファイルと辞書):
require_once('NLP.php');?>
ウェブマスター経験、検索エンジンで単語の分割を実現したい場合は、強力な語彙ライブラリと、よりインテリジェントな中国語のピンイン、文字、習慣などが必要です。機能的なライブラリ。