学術CDの論文検索の仕組み

Pocket

デジタルエイドが提供する学術CDの論文検索機能はキーワードのみならず、タイトルや著者、論文掲載の年度による検索絞り込みが可能だ。しかもコストも安い。
検索機能がどういう仕組みになっているのか、解説しよう。

「検索システム」といえば、ふつうデータベースを組み、SQLなどのデータベース言語で、データベース内のデータの中から要求された条件で合うものをピックアップする。CDでもデータベースを作れなくはないが、コストがかかりすぎてしまうので、もっと簡易な、しかし十分機能的な論文検索システムを開発した。ただし考え方はデータベースと同じだ。

『溶接・接合・表面改質論文集録集』の検索機能

デジタルエイドがサポートしたCD『溶接・接合・表面改質論文集録集』を例に述べていこう。

この論文集は、中田一博元大阪大学教授が研究者人生40年間に執筆した論文のうち340編をPDF形式で集録している。すべてが中田先生単独の執筆ではなく、共著も多い。また、340編中約8割が査読付き学術雑誌に掲載された論文で、残り2割が学会誌に掲載された欧文論文である。日本語/英語両方が入り混じっているうえに、研究分野も多岐にわたる。しかも分野をオーバーラップしている論文もあり、分野別の分類では一意に確定しない。
しかし、340編のただ並べただけでは、読者はなかなか読み切れない。かといって、分野別に分類すると、複数の分野にまたぐ論文もあり、かえって混乱する。そこで、読者が自らの関心事を扱った論文を検出できるよう検索機能を付けた。
つまり、分類をキーワードに落とし込み、他のキーワードも合わせて必要なだけ設定する。それらキーワードを一つのフィールドとして扱う。この他、著者名、タイトル、出典もぞれぞれフィールドとし、これらを合わせて、一つのアイテムを形成する。これをレコードと呼ぶ。レコードが340件集まったのが今回の論文集である。
そしてぞれぞれのフィールドを文字列検索するようにした。(図1)
フィールド検索
文字列検索とは、検索語として設定された言葉を意味ではなく、ただの文字列と見なし、合致する文字列を、各フィールド内の値(データ)から読み取ることである。
たとえば「マグネシウム」という検索語で検索した場合、キーワードフィールドに「マグネシウム」という文字の並びがありさえすれば何でも検出する。つまり「マグネシウム以外」も検出してしまう。一方「Mg」は検出しない。
そのため、欧文論文に対してもキーワードはすべて日本語にしてもらった。

それぞれのフィールドを検索して、検出したデータはレコードごとに表示するようにした。
これによって、ユーザーが必要な論文を検索絞り込みをして読むことが可能になった。

検索するフィールドはキーワードや著者名などに限定されない。例えば、アブストラクトというフィールドを作れば、アブストラクトで使われるすべての言葉を自由語検索できるようになる。ただし、マグネシウム/Mgの場合と同じく、語句を統一する必要が出てくるが。

要するに、検索フィールドは固定ではなく、案件によって、検索したい項目をフィールドとして設定し、そのフィールドに各アイテムのデータを入れてレコードを形成すればよい。

検索機能の応用

賢明な読者はすでに気づかれたと思う。
この検索機能は論文検索に限らず、他にもいろいろ応用できる。
たとえば、画像データ検索。つまり、被写体やその分類などをフィールドとして決め、フィールドごとにデータを抽出し、レコードを構成する。そこへ画像へのリンクを張れば、フィールドごとに検索し、画像を表示できる。
たとえば、生物図鑑はどうだろうか?
科目属の分類、学名、俗名、形状、生態、あるいは採取場所や採取日とか、必要と思うものをいくらでもフィールドに設定すればよい。写真も1点だけでなく、複数掲載できる。もちろんカラーだ。動画だってOK。専門家が作るこうしたCDは、非常に貴重で、一般の人でも欲しがるかもしれない。うまく売れば、学会の活動資金になるだけでなく、啓蒙活動になり、社会貢献にもなる。
この他、貴重な画像資料や実験映像、シミュレーション動画などを次世代の研究者や一般人に伝えるなど、検索機能付CDの応用範囲は広く、意義も深い。

まとめ

デジタルエイドが提供する論文検索機能は、検索項目をフィールドとして設定できる。そのフィールドに各アイテムのデータを入れて、レコードを作る。プログラムは各フィールドごとに文字列検索を行い、該当するレコードをピックアップすることで、検索絞り込みが可能になった。
そして同じ手法を画像検索などにも用いることができる。CDに検索機能が付けば、CDの利用価値は格段に高まる。

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA