# 解凍 $ gunzip pattern-tools-0.1.tar.gz $ tar -xvf pattern-tools-0.1.tar
本ツールを実行するに必要なプログラムは基本的にPerlのみです.あと、 File::SortedSeedというPerlモジュールに依存します.
まずパターンデータを圧縮した状態から作り直します.ダウンロードファイ ルのscriptsというディレクトリにある、reconstruct-data.shというスクリプ トをパターンデータが置いてあるディレクトリにコピーして、実行します.
$ cp scripts/reconstruct-data.sh path/to/data/files/ $ cd path/to/data/files/ $ bash reconstruct-data.sh reconstructing data... done checking reconstructed data...(may take a while) done $解凍後に約150Gのデータファイルができます。 なお、検索スクリプトの方はデータファイルに二分探索を行いますので、 Unix系のOS上でsystem localeによってソート順が影響されることがあります. 上記のreconstruct-data.shの実行時にエラーが発生すれば“LANG”, “LC_ALL”という環境変数を“C”に設定する必要があります (シェルがBashなら、export LANG=C; export LC_ALL=C).
$ perl scripts/find-similar-patterns.pl ./patternDB.dat '<AはBを防ぐ>' | head <AがBを防ぐ> 0.0224161276 <AはBを予防する> 0.0186121788 <AでBを防ぐ> 0.0175963197 <Bを防ぐA> 0.0175141447 <AはBを防止する> 0.0132786565 <Bを予防するA> 0.0132532850 <Bを防ぐAです> 0.0118343195 <Bを防止するA> 0.0117291936 <AにBを防ぐ> 0.0114255581 <AはBを防いでくれます> 0.0108145421 $ $ # または、パターンファイルから: $ cat ~/patternfiles/famous.seedpatterns <Bで有名なA> <Bで人気のA> <Bが有名なA> <A名物B> <A名物のB> <Aと言えばB> <A名産のB> <A特産のB> <AはBが名物> <AはBが有名> <AはBが有名だ> <AはBが有名で> <AはBが有名である> <AはBが有名です> <AはBが名物です> <AはBで有名> <AはBで有名だ> <AはBで有名である> <AはBで有名です> <AはBで有名な所です> <AはBで有名な町です> $ $ perl scripts/find-similar-patterns.pl ./patternDB.dat ~/patternfiles/famous.seedpatterns | head <AといえばB> 0.0377662401 <Bで知られるA> 0.0185306081 <AといえばBです> 0.0180992786 <BといえばA> 0.0168073959 <Aと言えばBです> 0.0127030069 <Bで有名なAです> 0.0094349223 <Bと言えばA> 0.0091436194 <Bでも有名なA> 0.0070493879 <BといえばAです> 0.0069228147 <AといえばBだ> 0.0067210028 $