イメージサーチ/テキストサーチ


イメージ・サーチとは
行切り出し・DSCファイルの作成
イメージサーチの実行
バケット・サーチ
サーチ結果の管理

イメージサーチとは

手書き史料の判読を進めてゆく際、筆跡の汚さなどのために判読が困難な文字列に行き当たる場合があります。
この場合、他の箇所の文字列との対比から内容を類推するといった対処が有効ですが、このような作業は多大な労力を必要とします。
また、ある単語が史料の中に出現する場所や頻度を調べるためには、史料のすべてに目を通すことが必要になり、これも膨大な作業量になります。
史料の判読に伴うこうした労働を軽減するために作られたのが、イメージサーチ の機能です。

イメージサーチを使うことにより、特定の文字列の収集や文字列同士の比較を効率よく行うことができます。

行切り出し・DSCファイルの作成

イメージサーチを実行するためには、前処理として画像内の「行」の切り出しを行い、その情報を保持する「DSCファイル」を作成する必要があります。
このDSCファイルは一つの画像に対して一つ割り当てられ、画像が持っている「行」の情報を保持します。
例えば、「sample1.jpg」というイメージに対してイメージサーチを実行するためには、「sample1.dsc」というファイルが作成されていなければなりません。また、DSCファイルを作成にするには、通常 Segfo ファイルというものを作ります。(この Segfo ファイルはサーチのためだけに使われるのではなく、翻刻の際に画像のどの部分を一つの行とみるかを指定するためにも使われます。)

このDSCファイルは Segfo-DSC ツール呼ばれる外部ツール群を使うことで作成することができます。 現在の Segfo-DSC ツールには、寺沢憲吾が開発した SegfoMaker, Segfo2dscや、京大情報・史料学専修の依頼で清水土筆が開発した改良版 SegfoMaker, SegfoMaker改 がありますが、その使用法については、それぞれのマニュアルを参照してください。(ただし、2008年9月リリースのSMART-GSでは、原始的方法ながら、SMART-GSでこの作業が可能です。これについては付録を参照してください。)これらのツールはHCPサイト (2008年10月04日時点では http:.//www.shayashi.jp/xoops/html で取得できます。

Sefoファイルにはtable形式と xml形式の2種類があり、SMART-GS では、猪村元によって定義された xml形式を使います。SefoMaker, SefoMaker改は table 形式の segfo ファイルを出力するので注意が必要です。table 形式の segfo ファイルを xml 形式に変更するには、SegfoMaker改にあわせて配布されている tbl2xml.jar というツールを使います。 SMART-GSでは次の手順を踏んでください。この作業は少し複雑ですが、例を添付してあります。例を消してしまわないように、まず作業の流れを位階の1-5で確認し終わってから作業を開始してください:

  1. HCPprojectサイトでメンバー登録を行い、HDIMS(Segfo2Dsc), SegfoMaker改を取得しインストールする。
  2. SegfoMake(HDIMS附属)r, SegfoMaker改を使い、table 形式の sego ファイルを作る。たとえば、SMART-GS の画像フォルダー smart_gs/img の sample.jpg から、sample.segfo のような extension を持つファイルができる。
  3. SegfoMaker改のdownloadファイルに含まれている tbl2xml.jar を起動し、2 で作った table 形式 segfo ファイルをドラッグ&ドロップして、xml形式 segfoファイルを作る。たとえば、sample1.xml ができる。
  4. HDIMSのdownload ファイルに附属の Segfo2dsc.exe を起動し、segfoファイル sample1.segfo をドラッグ&ドロップして sample1.dsc ファイルを作る。。
  5. もとの画像が SMART-GS のimg フォルダーの下の sample/sample.jpg の場合(これは download ファイルの例の通り)、sample.xmlを SMART-GS の dscフォルダ直下のフォルダー sample/sample1.xml に、一方で sample1.dsc を SMART-GS の dscフォルダの下の dsc/sample/sample1.xml に置く。 SMART-GS のdownload には、これと同じサンプルがあるので、sample1.dsc などを作るのではなく、まず、この例を確認してから自分の画像ファイルに対して,segfoやdscなどのファイルを作ると良い。

以上うのような作業の後、 イメージサーチは、Segfo-DSC ツールで作ったDSCファイルが置いてあるディレクトリをSMART-GSに読みこませることで実行できるようになります。
DSCファイルが置いてあるフォルダをSMART-GSに認識させるには、まずメニューバーの「Preference」から「set directory path」を選択し、「Directory Setting」というダイアログを開きます。

ここで「dsc」という項目に、DSCファイルが置いてあるディレクトリのパスを設定してやれば、SMART-GSがDSCファイルを認識できるようになります。

ディレクトリパスの設定については、「初期設定 」の項も参照してください。

イメージ・サーチの実行

  1. まず、検索対象となる史料が縦書きの文章であるか、横書きの文章であるかを指定します。
    これは、メニューバーの「Preference」から、「Text Type」という項目を開き、ここで「Vertical」ないし「Horizontal」を選択することで設定できます。
    (一度設定すれば、サーチの度に設定を行う必要はありません。)
  2. 縦書き/横書きの設定が出来たら、イメージの中でサーチの対象となる部分の画像(クエリイメージ)を指定します
    クエリイメージの指定には、2.ワークベンチで説明した「画像のマークアップ」のためのツールを使用します。
    画像のマークアップには「Rectangle」、「Marker」、「Lasso」の3つの方法がありますが、ここでは例として「Rectangle」を選択して、画像中の「feet」という文字列をクエリイメージとして指定することにします。
    ツールバーの「Rectangle」ボタンを押し、画像中の「feet」という文字列を囲むようにカーソルをドラッグします。 

    feet 」という文字列がマークアップされました。

  3. マークアップされたクエリイメージを選択し(Rectangle が赤色に変色します)、ツールバー上段中央の「ImageSearch」ボタンを押します。
    すると、「Search Dialog」という次のようなダイアログが現れます。

    このダイアログでは、サーチをかけるイメージの範囲を指定します。

    「All Spreads」 を選択すれば、root 以下のディレクトリ及びそのサブディレクトリに含まれるすべてのイメージがサーチの対象となります。
    「Current Directory」 を選択した場合にサーチの対象となるのは、現在編集しているイメージを含むフォルダに含まれる、すべてのスプレッドです。
    「Select Spreads」 を指定すれば、サーチを行うイメージを具体的に番号で指定することができます。イメージの番号とは、画面左にあるイメージツリーで、各々のイメージの左に表示されている数字のことです。
    例えば、2番、4番のイメージと、6番〜10番のイメージすべてをサーチの範囲として指定したい場合は、「Select 」直下にある空白部分に半角で「2, 4, 6-10」と記入してください。

    ここでは現在編集しているイメージにサーチの範囲を限定することにして、番号0を記入しました。

    ※イメージサーチの対象となるスプレッドは、DSCファイルが作成されているものに限られることに注意してください。
    DSCファイルが作成されているイメージには、画面左のイメージツリーで、イメージ名の後に"(SEARCH)" という文字列が加わります。
    逆に、イメージ名の後に"(SEARCH)"と書かれていないイメージには、DSCファイルが作られていないということです。
    下の図を見ると、「sample」フォルダ直下にある「sample1」にはDSCファイルが作成されていることが分かります。


  4. Search Dialogの下部にある「Edit」ボタンを押すと、サーチを行う前にクエリイメージを編集することができます。

    フリーラインや点による描画、消しゴム、カット&ペーストなど、簡単なお絵かきツールが用意されています。
    サーチしたい文字列の筆跡が汚れている場合、あるいは、文字列の一部分が擦れていてその部分を強調する必要がある場合などは、
    このエディット機能を使ってクエリイメージの編集を行えば、サーチでよい結果が得られることがあります。

  5. サーチをかけるイメージの範囲を指定し、クエリイメージの編集が終わったら、「Serach Dialog」の下段左にある「Search」ボタンを押してサーチを実行します。
    少し待つと、次のようにサーチ結果の一覧が表示されます。
     
    ここでパネル内の画像にマウスカーソルをかざすと、サーチにヒットした文字列が拡大して表示されます。
    このスプレッドにはクエリイメージ以外に「feet」という文字が4回出現していましたが、そのすべてがサーチにヒットしました。
    上図のように、各々のサーチ結果の画像には隣に「Yes」、「No」という2つのチェックボックスが置かれています。
    このボックスの役割についてはこの後の「バケットサーチ」 の項で説明するのでそちらを参照してください。

  6. サーチ結果の画像をクリックすれば、その画像が含まれているイメージを新しいウィンドウで開くことができます。
    このとき、赤く太いRectangle で囲まれているのが、サーチにヒットした文字列です。


  7. なお、サーチ結果の表示方法は「Search Result」ダイアログ上段にあるメニューバーの「Option」メニューから「DisplayMode」メニューを辿ることで変更することができます。



    「Context Mode」・・・サーチにヒットした文字列を、その周辺部分も含めた大きな画像で表示します。
    下図で薄く灰色に着色されているのが検索にヒットした文字列です。


    「Line Mode」・・・サーチにヒットした文字列を、その周辺部分も含めた中程度の大きさのイメージで表示します。
    Context Mode と同様に薄く灰色に着色されているのがヒットした文字列です。
    下図のようにサーチ結果の一覧は縦一列に表示されます。


    「Segment Mode」・・・サーチにヒットした文字列のみの画像を表示します(デフォルト)。サーチ結果は下のように碁盤状に並んで表示されます。

バケット・サーチ

上で例として行ったサーチでは、イメージに含まれている「feet」という文字列をすべてサーチで見つけ出すことができました。
しかしながら、求める文字列を常に漏れなく見つけ出すことができるとは限りません。
また、あるクエリイメージではヒットしなかった文字列が、別の箇所にある文字列をクエリイメージとして用いることでヒットする、ということも十分あり得ます。
このようなサーチの取りこぼしを防ぐために実装されているのが、検索結果を「バケット」 に入れてクエリイメージとし再利用する機能です。

  1. サーチにヒットしたイメージを収納しているパネルの左側には、「Yes」、「No」という2つのチェックボックスがあります。
     
    ここで「Yes」にチェックを入れると、下図のように「Backet」ダイアログが現れ、チェックを入れたイメージがBacketの中に加わります。

    このバケットには、サーチ結果をいくつでも入れることができます。また、「Search Dialog」で行ったようにそれぞれのイメージをここで編集することができます。
    また、ここで「No」を指定するとそれ以降のサーチにその文字列は出現しなくなります。これによって、イメージを無駄に確認する手間を省くことができます。

  2. ここで「Backet」ダイアログ下部にある「Search」ボタンを押せば、バケットに収納されている複数のクエリイメージを用いてサーチをかけることができます。
    下図は上のバケットでサーチを実行した結果です。

    パネルの左上に赤文字で「NEW」 と書かれているものは、前回のサーチではヒットしなかった文字列を表しています。
    というマークが付いているパネルは、バケットの中に含まれているクエリイメージです。
    何もマークがついていないパネルは、前回のサーチでもヒットした文字列を表します。

  3. バケットを使って行ったサーチ結果をさらにバケットの中に加えて、再度サーチを実行することができます。
    この作業を繰り返すことによって、 サーチの取りこぼしを防ぎ、またサーチの精度を上げてゆくことが可能になります。

サーチ結果の管理

SMART-GSでは、サーチを行う度に履歴を自動で保存しています。この履歴は 「Reasoning Web」 で見ることができます。
サーチを行った後、Reasoning Web の「Desktop View」を見るとここに「queries」というフォルダができています。
この中に日時情報が入ったサーチ履歴が保存されます。



また、バケットを使ってサーチを行った場合、バケットに名前とメモをつけて保存することができます。
サーチ結果からバケットを作った後、バケット下部の「Register」ボタンを押すと次のようなダイアログが現れます。


これに適当な名前とメモを付ければ、バケットは Reasoning Web に保存されます。
サーチ履歴と同様、保存したバケットは Reasoning Web の Desktop View から確認できます。
保存したバケットは、サーチ履歴を保存する「queries」フォルダと同じ階層に表示されます。
ここでは例としてバケットに「Search Sample」という名前をつけましたが、「queries」フォルダの横に「Search Sample」という名前のアイコンが現れていることが分かります。 

このアイコンをダブルクリックすれば、保存したバケットを開くことができます。


テキストサーチ

SMART-GSでは、手書き史料の翻刻を記入するための「Transcription」や、史料に対するコメントを付けるための「Annotation」、
翻刻済み文章を翻訳した文章を格納するための「Translation」、また汎用の「Text」など、さまざまな種類の「テキスト」が用意されています。

これらの「テキスト」に対して、通常の文字列検索をかけるのための機能が、「テキストサーチ」です。

まず、ツールバーの「TextSearch」ボタンを押すと、次の「Search Dialog」が現れます。


ここで「query text:」と書かれた欄に検索をかけたいテキストを入力し、サーチをかけるイメージの範囲や、サーチをかけるテキストの種類などを選択します。
「Transcription」、「Translation」、「Annotation」はいずれも特定のイメージに関連付けられているので、
これらのテキストにサーチをかける際は、対象となるイメージの範囲を指定しなければなりません。
この範囲の指定の方法は「イメージサーチ」と同様ですので、そちらを参照してください。

さて、例として「sample」という文字列をサーチの対象として入力しました。
ここで「Case Sensitive」というボタンにチェックを入れておくと、検索の際にアルファベットの大文字/小文字を区別します。
ここで「Search」ボタンを押せば、検索結果一覧が表示されます。


上の図のように、サーチにヒットした文字列は黄色くハイライト表示されます。
ここでサーチ結果が表示されているラベルをダブルクリックすれば、サーチ結果を含むテキストの編集画面にジャンプすることができます。


 トップへ戻る