中国語検索エンジンの場合、単一文字に基づく現在の中国語検索アルゴリズムはあまり優れていないため、中国語の単語の分割はシステム全体の最も基本的な部分の 1 つです。 もちろん、この記事は中国の検索エンジンについて研究することではなく、PHP を使用してオンサイトの検索エンジンを構築する方法を共有することを目的としています。 この記事はこの系の記事です。
私が使用している単語セグメンテーション ツールは、中国科学院計算技術研究所の ICTCLAS のオープンソース バージョンです。 オープンソースの Bamboo もありますが、これについても後で調査します。
ICTCLAS のアルゴリズムは広く普及しており、公開された学術文書があり、コンパイルが簡単で、ライブラリへの依存関係がほとんどないため、 ICTCLAS から始めることは良い選択です。 ただし、現在提供されているのは C/C++、Java、および C# バージョンのコードのみであり、PHP バージョンのコードはありません。 どうすればよいでしょうか? C/C++ のソース コードと学術文書を研究して、PHP バージョンを開発することができるかもしれません。 ただし、プロセス間通信を使用して、PHP コードから C/C++ バージョンの実行可能ファイルを呼び出したいと考えています。
ソースコードをダウンロードして解凍した後、C++ 開発ライブラリとコンパイル環境を備えたマシン上で ictclas を直接作成します。 Makefile スクリプトにエラーがあり、テストを実行するコードに ' が追加されていません。 /' と表示されますが、もちろん Windows のように正常に実行することはできません。 ただし、コンパイル結果には影響しません。
中国語の単語分割のための PHP クラスは以下のとおりです。 proc_open() 関数を使用して単語分割プログラムを実行し、パイプラインを通じて対話します。分割するテキストを入力し、単語分割結果を読み取ります。
リーリー使いやすい (ICTCLAS でコンパイルされた実行可能ファイルと辞書が現在のディレクトリにあることを確認してください):
れーれー