KWICは普通コンピューターのプログラムを動かして作る。プログラムを組み合わせて作業するので、どんな手順になっているかを以下に説明したい。
ウィキペディアにもKWICの説明がある。なかなかわかりやすく書いてあるのだが、そのなかに気になる記述があった。なんとコンピューター以前に手作業で作ることが試みられたのだとか。どうやったかの説明はなかったが、自分なりに一番簡単な(それでもかなりの手間の)方法を考えてみた。読者にも想像がしやすいと思われるので、以下に記す。コンピューターのアルゴリズムと基本的には同じなので、あとの説明にも役立つと思われる。
0.文庫本の小説を材料にする。ページをばらばらにする。
1.本文のすべての文に文節の区切り記号を書き入れて文節切りをする。
2.ページをまたいでいる文は抜き出して、その文だけを別のカード(文庫本のページと同じサイズ)に書き出し、文節切りもする。カードにはどのページか記入しておく。もとのページにあった部分は二重線を引いて抹消する。
3.すべてのページをそのページのなかにある文節の枚数コピーする。
4.2.のカードもその文の文節の数だけコピーをとる
5.文節を赤線で囲ってマークする。あるページのコピーが40枚あったとして、最初のコピーは先頭の文節、2枚目は2番目の文節というぐあいに順番にマークしていく。
6.カードをマークされた文節でソートする。(五十音順などの配列方式に従って並び替える。)
7.マークされた文節が存在する文を書き写す。
考えただけでもうんざりするような手間である。特に7.の転写が大変そうだ。文庫本を一冊書き写す手間だけでも大変なのに、ここでは文庫本を6冊あるいはそれ以上書き写すことになるのだ。間違いが発生するのは疑いない。
コンピューターでは6.のソートと7.の転写はお手の物で、間違いが発生する可能性はプログラムさえ合っていればゼロである。コンピューターを使った作業では以下の手順となる。
0.文節切りがされているテキストを使う。
1.テキストは普通段落の終わりで改行するが、一文の終わりごとに改行を入れるようにする。(そのほかに以下の処理のために余計な記号を除くなどの処置をする)
2.一行読み込んで、その行が何行目か、あるいはどのページにあるかなど行の位置に関する情報、キーになる文節、その文節に先行する部分、その文節に続く部分を区切り記号で区切って別のファイル(ファイルA)に書き出す。これを、先頭の文節から最後の文節までキーとして行う。
3.ファイルAを読み込んで、キーとなっている文節でソートし、結果をファイルBに書き出す。
4.ファイルBから1行ずつ読み込んで、整形して書き出す。
1.から4.までの作業はそれぞれ独立のプログラムでよい。1.はプログラムですべて行うこともできるが、適当に人手を入れたほうが楽だろう。
2.から4.はそれぞれ簡単なプログラムでできる。3.のソートがややこしいが、ソートのルーチンはプログラミングの教科書にのっているものを使えばよい。2.から4.をまとめて1本のプログラムにすることは可能だが、間違った結果が出たり、プログラムが全く動かなかったりしたときのチェックが面倒だ。全部独立したプログラムにすれば、問題の箇所を見つけるのが楽になる。
(追記 2021.8.3)プログラムをほとんど使わないが時間的に早くできる方法を考えた。エディターを使うことにし、紙を使った人手による作成法をヒントとした。
1.テキストを分解して1文ずつバラバラに(改行)する。
2.文の位置情報を文頭につける。
3.文節と文節の間に区切り記号(なんでもよい。@などがおすすめ)を入れて文節切りをする。
4.文をエディターのコピーアンドペーストで文節の数だけ複製する。
5.1文の文節を文節の前後を空ける(スペースを入れる)ことによってキーにする。これを最初の文節から最後の文節まで行う。
6.区切り記号を置換機能を使って消去する。
7.エクセルの表を用意し(スクリーン上にエクセルとエディターが両方開いてある)、エクセルの一番左のセルに文情報、次のセルに前部分、次のセルにキー文節、次のセルに後部分をコピーする。
8.7.をすべてのエディターの行に対して行う。
9.キー文節をキーにしてソートする。
これでKWICが作れるが、よい子は真似をしないでください。人間の手間が介在するところでかならずミスが生じる。私の個人的な意見ではプログラムを使えぼミスは防げるし、時間の節約にもなる。また、プログラミング能力は分析等のプログラムを作る助けになる。