この単語分割技術は非常に重要であり、いくつかの側面で非常に重要な役割を果たします。以下はブロガーの記事からの抜粋です。
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 はそれぞれ次の値を表します。
void set_duality(bool yes); 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 を返します。
パラメータ:limit オプションのパラメータ、返される単語の最大数、デフォルトは 10;
attr オプションのパラメータ、半角カンマで区切られた一連の品詞で構成される文字列、
This ~ で始まる場合は、返された品詞がリスト内に存在する必要があることを意味します。
デフォルトは空で、すべての品詞が返されます。フィルタリングなしで。
string version(void);
説明: このバージョン番号を返します。
戻り値: バージョン番号 (文字列)。
パラメータ: なし。
void close(void);
説明: 使用後にこの関数を手動で呼び出すか、システムが自動的にリサイクルするのを待つことができます。
返品: なし。
パラメータ: なし。
};
関連リソースのダウンロード アドレスは次のとおりです:
ルールセット: 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