ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルで作成した簡単な中国語単語分割コード

PHP_PHP チュートリアルで作成した簡単な中国語単語分割コード

WBOY
WBOYオリジナル
2016-07-20 11:09:401065ブラウズ

中国語の検索エンジンの場合、中国語の単語の分割はシステム全体の最も基本的な部分の 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;
}

/**

* 単語分割を実行し、単語リストを返します。

* /
関数 tokenize ($ Str) {

$ tokens = Array () ; U u Output = Self :: cmd ($ input);

$ PS チュートリアル = Preg_Split ('/S+/', $ OUTPUT);
Foreach ($ ps as $p) {

list($seg, $tag) =explode('/', $p); );

トークン[] = $item;
」」 現在のディレクトリにあるコンパイルされた実行可能ファイルと辞書):

require_once('NLP.php');

var_dump(NLP::tokenize(' Hello, world!'));

?>


ウェブマスター経験、

検索エンジンで単語の分割を実現したい場合は、強力な語彙ライブラリと、よりインテリジェントな中国語のピンイン、文字、習慣などが必要です。機能的なライブラリ。


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/444776.html技術記事中国語の検索エンジンにとって、中国語の単語の分割はシステム全体の最も基本的な部分の 1 つです。これは、単一文字に基づく現在の中国語検索アルゴリズムがあまり優れていないためです。もちろん、この記事は中国語の検索をガイドするものではありません...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。