付属アプリケーション利用ガイド for Ver.2.1

山下達雄(tatuo-y@cl.aist-nara.ac.jp)
last update 981115

SUFARY(http://cl.aist-nara.ac.jp/lab/nlt/ss/)


■ 表記
 $SUFRAY : SUFARYパッケージを展開したディレクトリ


■■■ 一覧

この文書では以下のアプリケーションの解説を行います。

sass    : お手軽な検索プログラム
af      : お手軽な記事検索プログラム
array   : 対話型検索プログラム
kwicview: arrayのグラフィカルユーザインターフェース

■■■ sass : お手軽な検索プログラム

検索結果を行単位で表示する簡単な検索プログラムです。キーワードは起動時
に引数で与えるか、標準入力から入力します。

★書式

sass KEYWORD TEXT_FILE [TEXT_FILE_2 ...]

TEXT_FILE にテキストファイル名を指定します。
TEXT_FILE.ary という名前の array ファイルが必要です。

KEYWORD に '' を指定すると、キーワードを標準入力から入力できるようにな
ります。

検索結果は以下の形式で出力されます。

[検索対象テキストファイルが一つのとき]
テキスト内での位置 : 行内での位置 : 検索結果が含まれる行

[検索対象テキストファイルが複数のとき]
ファイル名 : テキスト内での位置 : 行内での位置 : 検索結果が含まれる行

★実行例

------
% mkary -q README
% mkary -q CHANGES
% sass tatuo-y README
1835:52: / ___   /    /___       http://cl.aist-nara.ac.jp/~tatuo-y/
1707:35:  _/__ ____ _/_         山下 達雄  tatuo-y@cl.aist-nara.ac.jp
% sass '' README
Tcl/Tk                                        ● 標準入力からキーワードを入力
562:32:・array の GUI である kwicview (Tcl/Tk) のセットアップ
1251:0:Tcl/Tkのバージョンの関係で動かないことも多々あります。
make                                          ● キーワード make で検索
251:2:> make
510:2:> make array
^D                                            ● Ctrl-D で終了
% sass make README CHANGES                    ● 複数のファイルを検索
README:251:2:> make
README:510:2:> make array
CHANGES:1822:12:1998/04/13  makeary にソートしないモードとソートだけするモードを
追加
CHANGES:2284:12:1998/04/14  makeary を mkary に名前変更
------

■■■ af : お手軽な記事検索プログラム

簡単な記事検索プログラムです。キーワードは起動時に引数で与えるか、標準
入力から入力します。

★書式

af [-s NUM] KEYWORDS TEXT_FILE DOCID_FILE

TEXT_FILE にテキストファイル名を指定します。
TEXT_FILE.ary という名前の array ファイルが必要です。
DOCID_FILE で DocIDファイルを指定します。

KEYWORDS に '' を指定すると、キーワードを標準入力から入力できるようにな
ります。

複数キーワードによる検索が可能です。
 AND検索: キーワードを & でつなぐ
 NOT検索: キーワードの前に ^ をつける
例: ^歴史&言語&システム

DocIDの作り方、記事タグの設定は別文書を御参照下さい。

★オプション

[-s NUM]

検索結果記事の先頭から NUM 文字だけ表示します。NUM = 0 のときは検索結
果記事数のみを表示します。[-s]オプションを指定しないときは検索結果記事
をそのまま表示します。

★実行例

------
cherry % mkary -q samp3.txt
cherry % mkdid -q '<ARTICLE>' '</ARTICLE>' samp3.txt
cherry % af '自然言語処理' samp3.txt samp3.txt.did
FOUND 1
<ARTICLE>
<TITLE>自然言語処理バブルの崩壊</TITLE>
<CONTENT>
２１世紀初頭の自然言語処理システム開発への過剰な投資により、粗悪製品が
乱造され・・・（略）・・・若者の自然言語処理ばなれが深刻・・・（略）・
・・結局我々人間は歴史から何も学んでいないということを実感させられる。
</CONTENT>
</ARTICLE>
cherry % af -s 40 '自然言語処理' samp3.txt samp3.txt.did
FOUND 1
---
<ARTICLE>
<TITLE>自然言語処理バブルの崩%
cherry % af -s 0 '自然言語処理' samp3.txt samp3.txt.did
FOUND 1
------

■■■ array : 対話型検索プログラム

インタプリタ形式の検索プログラムです。起動後、`ok'が表示されている状態
でコマンドを入力して、検索、検索結果の表示、各種設定を行ないます。
kwicview というグラフィカルユーザインターフェース(後述)もあります。

○○○注意○○○
Ver.2.1 で採用された DocID ファイルによる記事検索処理はまだ組み込んで
いません。Ver.2.0 の array からほとんど変わっていません。

★書式

array [-R] [-r RC_FILE] [TEXT_FILE [ARRAY_FILE]]

TEXT_FILE でテキストファイルを、ARRAY_FILE で array ファイルを指定しま
す。TEXT_FILE だけ指定して、ARRAY_FILE を指定しなかった場合、array ファ
イルは TEXT_FILE.ary とみなされます。
何も指定しない場合は、コマンドインタプリタからファイル読み込みを行いま
す。

★オプション

[-R]

~/.arrayrc を初期化ファイルとして読み込む。初期化ファイルは後述のコマ
ンドからなるテキストファイルで、これらのコマンドは起動直後に実行される。
これにより自分好みの検索環境が設定できる。

[-r RC_FILE]

RC_FILE で初期化ファイルを指定することができる。

(筑波大学 基礎工学類 の牧さんから、初期化ファイル読み込み機能のパッチ
を頂きました。ありがとうございました。)

★コマンド

♪ open TEXT_FILE

検索対象テキストファイルとその array ファイルを開きます。array ファイ
ル名は、TEXT_FILE.aryとなります。open コマンドを重ねて実行することによ
り複数のファイルが開けます。その場合、検索は開かれた全てのファイルに対
して行なわれます。

♪ close

検索対象テキストファイルと array ファイルを全て閉じる。

♪ file TEXT_FILE

"close" ＋ "open TETX_FILE" と同じ働きをする。

♪ search KEYS

KEYSに指定された文字列を検索します。
検索結果はプログラム内部に保持され、次に search 命令を
実行したときにはその結果を対象に検索が行われます(追加検索)。
追加検索により、検索範囲を徐々に絞り込んでいくことができます。

------ 例
% array gene.dat
ok                                      ● 'ok' が表示されたらコマンド入力可能
search ACGT                             [コマンド] テキスト全体からACGTから始まる文字列を検索
FOUND: 2289                             ● ちょっと多い
ok
search ACGTAATAC                        [コマンド] 追加検索＝289個の検索結果のなかから検索
FOUND: 2
ok
show                                    [コマンド] 検索結果の全てを表示
from 1 to 2 (2)                         ● 検索結果の全てを表示
627968 : ACGTAATACCCTACAGGGTAAAAATTTTCTCTGATCTTAACTTCTGCAAATGTTAACTGC
356415 : ACGTAATACTACTTTCGAGTGAAAATCTACCTATCTCTTTGATTTTCAAATTATTCGATG
ok
init                                    [コマンド] 検索の初期化＝検索範囲をテキスト全体に戻す
ok
search ATG                              [コマンド] ATGから始まる文字列を新たに検索
FOUND: 12100
ok
------

二つのキーワードを指定するnear検索,exact検索を行なうこともできます。
near検索は、二つのキーワードの距離が指定された文字数以内のものを、
exact検索は、二つのキーワードの距離が指定された文字数丁度のものをさが
します。
+----------+----------------------------+------------------------+
|          | 記述例                     | 検索結果例             |
+----------+----------------------------+------------------------+
|near検索  | search 山が[near 10]きれい | 山がとってもきれいだね |
|exact検索 | search ab[exact 3]fgh      | abcdefghije...         |
+----------+----------------------------+------------------------+

検索結果の表示には、showコマンドを用います。
新たにテキストファイル全体から検索を行いたい場合には、init を実行
する必要があります。

コマンド名 search の代わりに s f find select が使えます。

♪ init

検索結果の初期化を行ないます。追加検索をしない場合は、必ず初期化しましょ
う。

コマンド名 init の代わりに i が使えます。

♪ show [FROM TO]

search コマンドによる検索結果を表示します。FROM と TO を指定することに、
検索結果の中から見たい部分を指定して表示することができます。例えば、検
索結果が100個(FOUND: 100 と表示される)で、そのうちの最初の10個だけ表示
したい場合は、
 show 1 10
と入力します。FROM, TO が指定されない場合、すべての検索結果を表示します。

コマンド名 show の代わりに sh d display が使えます。

♪ style {index|kwic|simple|line}

show コマンドで結果を表示する場合の表示スタイルを指定します。
デフォルトは simple です。

 index   テキスト中の文字位置
 kwic    検索キーワードとその周辺文字列
 simple  検索結果の文字列の位置から後60バイト
 line    検索結果の文字列の含まれる行

コマンド名 style の代わりに st mode が使えます。

♪ kwidth NUM

style コマンドで kwic が指定されているときに表示する周辺文字列の数(幅)
を指定します。様々な理由から偶数でなければなりません。デフォルトは50。

♪ get INDEX STR_1 STR_2

テキスト中の INDEX 番目の文字を含み、文字列 STR_1 と STR_2 で囲まれる
領域を表示します。例えば、一つのデータが <DATA>, </DATA> で囲まれてい
る構造のデータベースから、1002文字目を含むデータを表示したい場合は、
 get 1002 <DATA> </DATA>
と入力します。

♪ str INDEX LEN

テキスト中の INDEX 番目から LEN 文字を表示します。

♪ line INDEX

テキスト中の INDEX 番目の文字が含まれる行を表示します。

♪ mojibake FLAG

show コマンドを実行時に文字化け防止処理を行うか否かを設定します。
FLAG が 1 ならば処理を行い(デフォルト)、0 ならば行いません。
style コマンドで simple, kwic が指定されているときのみ有効。

♪ bye, quit, exit

プログラムを終了します。

♪ ?

バージョン情報とコマンド一覧を表示します。

♪ info

デバグ用情報を表示します。

■■■ kwicview: arrayのグラフィカルユーザインターフェース

array の GUIです。手軽に検索ができます。Tcl/Tk というプログラム言語で
作成されています。詳しい使い方はオンラインヘルプを御覧下さい。

