検索用ファイル作成ガイド[応用篇] for Ver.2.1 山下達雄(tatuo-y@cl.aist-nara.ac.jp) last update 990102 SUFARY(http://cl.aist-nara.ac.jp/lab/nlt/ss/) ■ 表記 $SUFRAY : SUFARYパッケージを展開したディレクトリ ■■■ もっと複雑なテキスト構造に対する検索 *** まだプログラム作ってません。気力があるとき作ります。 *** ちょっと複雑な構造の文書 samp4.txt を用いて、 「文字列『形態素』をタイトルに含む記事を見つけて取り出す」 といったより高度なテキストエリア検索を行うことを考えます。このような検 索を多階層テキストエリア検索と呼ぶことにします。 ------ samp4.txt
形態素解析システム『茶筌』の歴史 形態素システム『茶筌』は20世紀末に奈良先端大で開発された・・・(略) ・・・フリーソフトとして公開・・・(略)・・・
自然言語処理バブルの崩壊 21世紀初頭の自然言語処理システム開発への過剰な投資により、粗悪製品が 乱造され・・・(略)・・・若者の自然言語処理ばなれが深刻・・・(略)・ ・・結局我々人間は歴史から何も学んでいないということを実感させられる。
------
タグに対する DocID を作るだけでなく、 タグに対する DocID ファイルも作る必要があります。また、TITLE テキストエリアは ARTICLE テキストエリアに含まれているといった階層情報 も検索時には必要となります。 このような検索のためのデータを作ってくれるPerlスクリプトが mkdids.perl ($SUFARY/mkdid/mkdids.perl) です。 まず、以下のような定義ファイルを用意します。 (ただし、テキストエリアはSGML風なタグで表されていなければなりません。) ------ samp4.sad TXT /home/tatuo-y/work/sufary/sufary/doc/samp/samp4.txt 1 ARTICLE /home/tatuo-y/work/sufary/sufary/doc/samp/samp4.txt.did.1 2 TITLE /home/tatuo-y/work/sufary/sufary/doc/samp/samp4.txt.did.2 2 CONTENT /home/tatuo-y/work/sufary/sufary/doc/samp/samp4.txt.did.3 ------ 最初の数字が階層を表しています。つまり TITLE と CONTENT は ARTICLE に含 まれるということです。詳しい表記法は後で述べます。 この定義ファイルを mkdids.perl に渡せば、各タグごとの DocID ファイルの 作成を行ってくれます。ただし、実行時には array ファイル(この場合 sample4.txt.ary)が必要です。mkary で作っておきましょう。 ------ % mkdids.perl samp4.sad ------ この定義ファイルは当然、多階層テキストエリア検索を行うときに必要になり ます。 多階層テキストエリア検索を行うプログラム ?($SUFARY/?/?)を使って検索し てみます。 コマンドインタプリタ形式のプログラムです。起動後に "?" と打ち込んで下 さい。 ------ ------