ホームページ  >  記事  >  バックエンド開発  >  中国語単語セグメンテーション用の PHP コード_PHP チュートリアル

中国語単語セグメンテーション用の PHP コード_PHP チュートリアル

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

私は以前に dedecms の単語分割機能を使用したことがありますが、テスト後もまだ理想的ではありませんでした。その後、いくつかの処理を行った後、結果は許容範囲内でした。今日、この単語分割方法をもう一度見て、みんなに見せました。

class NLP{
private static $cmd_path;
// は '/' で終わりません
static function 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) ' , 'gbk', $str);
$output = stream_get_contents($pipes[0]);パイプ [1]);
$return_value = proc_close($process);
/*
$cmd = "printf '$input' | " ./ictclas"; , $output, $ret);
$output = join("n", $output);
$output = トリム($output); , $output);
return $output;
/**
* 単語の分割を実行し、単語リストを返します。*/
function 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 でコンパイルされた実行可能ファイルと辞書が現在のディレクトリにあることを確認してください):
コードをコピーします。次のように:
< ;?php
require_once('NLP.php');
var_dump(NLP::tokenize('Hello, World!'));
?>


中国語の単語の分割のための PHP クラスは次のとおりです。以下では、proc_open () 関数を使用して単語分割プログラムを実行し、パイプラインを通じて対話し、分割するテキストを入力して、単語分割結果を読み取ります。





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

www.bkjia.com

本当

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

技術記事
以前に dedecms の単語分割機能を使用しましたが、テスト後もまだ理想的ではありませんでしたが、後でいくつかの処理を行った後、結果は許容範囲内でした。今日、この単語分割方法をもう一度見て、みんなに紹介しました。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。