ホームページ > バックエンド開発 > PHPチュートリアル > PHP 中国語単語分割拡張機能 SCWS

PHP 中国語単語分割拡張機能 SCWS

PHP中文网
リリース: 2016-06-23 13:47:55
オリジナル
1546 人が閲覧しました

この記事では、オープンソースの PHP 中国語単語分割システム SCWS のインストールと使用例を主に紹介します。必要な友人は参照してください

1. SCWS の概要

SCWS は、Simple Chinese Word Segmentation (つまり、 : 簡易中国語単語分割) システム)。
これは、単語頻度辞書に基づいた機械的な中国語単語分割エンジンであり、基本的に中国語テキストの段落全体を単語に正しく分割できます。 Word は中国語の最小の形態素単位ですが、英語のように単語をスペースで区切ることはありません。そのため、中国語の単語分割では、単語をいかに正確かつ迅速に分割するかが常に難しい問題でした。
SCWS は純粋な C 言語で開発されており、外部ライブラリ関数に依存せず、ダイナミック リンク ライブラリを直接使用してアプリケーションを埋め込むことができます。サポートされている中国語エンコーディングには GBK、UTF-8 などが含まれます。さらに、PHP の単語分割機能を迅速かつ簡単に使用できるように、PHP 拡張モジュールが提供されています。
単語分割アルゴリズムには革新的な要素はあまりありません。独自に収集した単語頻度辞書を使用し、特定の固有名、人名、地名、デジタル時代などのルール認識を追加して、基本的な単語分割を実現します。 -スケールテスト、精度は90%から95%の間で、基本的にいくつかの小規模な検索エンジン、キーワード抽出などのニーズを満たすことができます。最初のプロトタイプ バージョンは 2005 年末にリリースされました。
SCWS は hightman によって開発され、BSD ライセンスの下でオープンソースとしてリリースされており、ソースコードは github でホストされています。

2. scws のインストール

コードは次のとおりです:

# wget -c http://www.php.cn/
# tar jxvf scws-1.2.1.tar.bz2
# cd scws-1.2.1
# ./configure --prefix=/usr/local/scws
# make && make install
ログイン後にコピー

3. scws PHP 拡張機能のインストール

コードは次のとおりです:

# cd ./phpext
# phpize 
# ./configure --with-php-config=/usr/local/php5410/bin/php-config
# make && make install
# echo "[scws]" >> /usr/local/php5410/etc/php.ini 
# echo "extension = scws.so" >> /usr/local/php5410/etc/php.ini
# echo "scws.default.charset = utf-8" >> /usr/local/php5410/etc/php.ini
# echo "scws.default.fpath = /usr/local/scws/etc/" >> /usr/local/php5410/etc/php.ini
ログイン後にコピー

4.レキシコンのインストール

コードは次のとおりです:

# wget http://www.php.cn/
# tar jxvf scws-dict-chs-utf8.tar.bz2 -C /usr/local/scws/etc/
# chown www:www /usr/local/scws/etc/dict.utf8.xdb
ログイン後にコピー

5. SCWS 公式 API の詳細な説明を読むことができます

コードは次のとおりです:

//实例化分词插件核心类
 $so = scws_new();
 //设置分词时所用编码
 $so->set_charset('utf-8');
 //设置分词所用词典(此处使用utf8的词典)
 $so->set_dict('/usr/local/scws/etc/dict.utf8.xdb');
 //设置分词所用规则
 $so->set_rule('/usr/local/scws/etc/rules.utf8.ini ');
 //分词前去掉标点符号
 $so->set_ignore(true);
 //是否复式分割,如“中国人”返回“中国+人+中国人”三个词。
 $so->set_multi(true);
 //设定将文字自动以二字分词法聚合
 $so->set_duality(true);
 //要进行分词的语句
 $so->send_text(“欢迎来到火星时代IT开发”);
 //获取分词结果,如果提取高频词用get_tops方法
 while ($tmp = $so->get_result())
 {
     print_r($tmp);
 }
 $so->close();
ログイン後にコピー


配列結果の説明を返す:

コードは次のとおりです:

word   _string_ 词本身  
idf        _float_ 逆文本词频  
off         _int_ 该词在原文本路的位置  
attr       _string_ 词性
ログイン後にコピー

6. オンライン API

オンライン API を使用して中国語の単語セグメンテーションを実装することもできます。API アドレス: http://www.xunsearch.com/scws/api.php、詳細な説明もアドレスにあります。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート