ホームページ >バックエンド開発 >PHPチュートリアル >PHP 中国語単語分割 PSCWS4 の使用説明書
この単語分割の技術は非常に重要であり、いくつかの側面で非常に重要な役割を果たします。これはブロガーの記事からの抜粋です
PSCWS4 クラスに対応するファイルは pscws4.class.php です。 PHP コードでの呼び出しメソッドは次のとおりです。
//加入头文件require './pscws4/pscws4.class.php'; //建立分词类对像, 参数为字符集, 默认为 gbk, //可在后面调用 set_charset 改变 $pscws = new PSCWS4('utf8'); //接下来, 设定一些分词参数或选项, set_dict 是必须的, //若想智能识别人名等需要 set_rule //包括: set_charset, set_dict, set_rule, //set_ignore, set_multi, set_debug, set_duality ... 等方法 $pscws->set_dict('./pscws4/etc/dict.xdb'); $pscws->set_rule('./pscws4/etc/rules.ini'); //分词调用 send_text() 将待分词的字符串传入, //紧接着循环调用 get_result() 方法取回一系列分好的词 //直到 get_result() 返回 false 为止 //返回的词是一个关联数组, 包含: word 词本身, idf 逆词率(重),//off 在text中的偏移, len 长度, attr 词性 $pscws->send_text($text); while ($some = $pscws->get_result()){ foreach ($some as $word){ print_r($word); } } //在send_te
—クラス メソッドの完全マニュアル—
(注: コンストラクターは文字セットをパラメーターとして渡すことができ、これは set_charset を個別に呼び出すのと同じ効果があります)
class PSCWS4 {
void set_charset(string charset);
説明: テキスト文字列に分割する単語分割辞書、ルール セット、文字セットを設定します。システムのデフォルトは gbk 文字セットです。
返品: なし。
パラメータ: charset は設定された文字セットで、現在は utf8 と gbk のみをサポートしています。 (注: big5 も gbk で処理できます)
注: 分割するテキスト、辞書、ルール ファイルの文字セットは、charset 値に統一する必要があります。
bool set_dict(string dict_fpath);
説明: 単語分割エンジンで使用される辞書ファイルを設定します。
パラメータ: dict_path は辞書のパスであり、相対パスまたはフルパスにすることができます。
Return: 成功した場合は true を返し、失敗した場合は false を返します。
エラー: エラーがある場合は、警告レベルのエラー メッセージが表示されます。
void set_rule(string rules_path);
説明: 単語の分割に使用される新しい単語認識ルール セットを設定します (人名、地名、デジタル時間と時代などの認識に使用されます)。
返品: なし。
パラメータ:rule_path はルール セットのパスであり、相対パスまたは完全パスを指定できます。
void set_ignore(bool yes)
説明: 単語分割の結果を返すときに特殊な句読点を削除するかどうかを設定します。
返品: なし。
パラメータ: はいの設定値。 true の場合、句読点は返されません。 false の場合、デフォルトは false です。
void set_multi(int mode);
説明: 結果を返すときに単語の分割を複合分割にするかどうかを設定します。たとえば、「中国語」は「中国 + 人民 + 中国語」という 3 つの単語を返します。
返品: なし。
パラメータ:モード設定値、1〜15。
1 | 2 | 4 | 8 のビットごとの AND は、それぞれ次のことを表します: 短い単語 | バイナリの単語 | すべての単語
説明: アイドルテキストを 2 文字の単語に自動的に分割するかどうかを設定します。
返品: なし。
パラメータ: yes の設定値。 true の場合、結果内の複数の単語は自動的に 2 つの部分に分割されます。 false の場合、デフォルトは false です。
void set_debug(bool yes);
説明: 単語分割プロセスが N-Path 単語分割プロセスのデバッグ情報を出力するかどうかを設定します。
パラメータ: yes の設定値。true の場合、単語分割プロセス中にマルチパス分割に関するプロンプト情報が表示されます。
返品: なし。
void send_text(string text)
説明: 単語分割を設定して切り取るテキストを送信します。
返品: なし。
パラメータ: text はテキストの内容です。
注: この機能を実行するときは、最初に辞書とルールセットファイルをロードし、関連するオプションを設定してください。
mixed get_result(void)
説明: send_text で設定されたテキスト内容に基づいて、切り取られた一連の単語を返します。
Return: 切り取られた単語の配列を正常に返します。それ以上単語がない場合は false を返します。
パラメータ: なし。
注: プログラムによって毎回返される単語数は不確実であるため、この関数は各カット後に false が返されるまでループで呼び出す必要があります。
返される語彙にはキー値が含まれます: word (文字列、単語自体) idf (folat、テキスト単語の逆数頻度) off (int、テキスト内の位置) attr (文字列、品詞)
mixed get_tops( [int limit [ , string attr]] )
説明: send_text で設定されたテキスト内容に基づいて、システムによって計算された最も重要な語彙リストを返します。
Return: 切り取られた単語の配列を正常に返します。それ以上単語がない場合は false を返します。
パラメータ: 返される単語の最大数を制限するオプションのパラメータ。デフォルトは 10 です。
attr オプションのパラメータは、半角カンマで区切られた一連の品詞で構成される文字列です。
これは、その部分を返すことを意味します。 -of-speech が ~ で始まる場合は、否定を意味します。デフォルトは空であり、すべての品詞がフィルタリングされずに返されます。 。
string version(void);
説明: このバージョン番号を返します。
戻り値: バージョン番号 (文字列)。
パラメータ: なし。
void close(void);
説明: 使用後にこの関数を手動で呼び出すか、システムが自動的にリサイクルするのを待つことができます。
返品: なし。
パラメータ: なし。
};
関連リソースのダウンロード アドレスは次のとおりです:
PSCWS4: http://www.ftphp.com/scws/down/pscws4-20081221.tar.bz2
ルール セット: http://www.ftphp.com/scws /down /scws-rules-all.zip
辞書シリーズ: http://www.ftphp.com/scws/down/scws-dict-chs-gbk.tar.bz2
http://www.ftphp.com/ scws/down/scws-dict-chs-utf8.tar.bz2