この記事では、オープンソースの 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、詳細な説明もアドレスにあります。