HOME | 事務所紹介 | サーチャー紹介 |講習会・講演会・執筆 | コラムバックナンバーお問合せ |


注意:内容は執筆時点での情報です
コラム第71号(2008/11/11UP)
 「文字列の一部分が一致する言葉をまとめてヒットさせる-部分一致検索-」

  例えば「
遺伝子治療」と「遺伝子診断」と「遺伝子情報」に関する文献をモレ無く検索したいとき、
  検索式を「
遺伝子治療 OR 遺伝子診断 OR 遺伝子情報」とすれば良いわけですが、
  これを「
遺伝子?」と入力することで、前方部分が一致するデータを全てまとめてヒットさせるような検索方法があります。
  この例「遺伝子?」は、前方部分が一致するため「
前方一致」といいます。
  この他に「後方一致」「中間一致」「中間任意(前後一致)」があります。
  この4つをまとめて「
部分一致」ともいいます。

  部分一致は既に皆さんも使っていらっしゃると思います。
  でも、たぶん自分の使っている検索システムで、
  
“部分一致をなんとなく覚えた” というかたが多いのではないでしょうか。

  そこで今回は、
部分一致についての “基本” と、
  
部分一致を使う際の “基本的な考え方” を確認してみたいと思います。


トランケーション、ワイルドカード・・・そもそも部分一致とはどういう機能なのか

   「部分一致」をデータベースの専門用語では「
トランケーション」ともいいます。
   「トランケーション(Truncation)」は、もともと「
端を切断する」という意味です。

   部分一致はもともと情報検索技術が先行して発達した欧米における、
   英語を中心とした言語データに対応するための検索技術です。
   ですからもともとは前方一致も英語の
語尾変化をまとめて検索するなど
   「単語内でのアルファベットの並びの多様性」を考慮した検索技法なんです。
   そのため実は海外の検索システム(DIALOG、Questel・Orbitなど)で
   英語を使って検索する場合などには特に威力を発揮する検索方法です。
   それを日本語の検索にも応用しているわけです。

   部分一致は、検索画面のプルダウンキーやラジオボタンで「部分一致」を選択する方式のほか、
   「
?」「*」「@」「!」などの「ワイルドカード」や「マスク文字」といわれる記号を使って入力する方式があります。

   「ワイルドカード(Wild card)」は、もともとトランプなどのカードゲームで、
   他のカードの代用が可能なカード(例えばジョーカー)のことです。
   それが転じて、
検索する際にどんなパターンにも代替可能な特殊文字のことを「ワイルドカード」と言うようになりました。
   「マスク文字」は「検索語の異なる箇所に代替させる記号」です。
   ワイルドカードの場合は一般に「?」「*」をマスク文字として使います。
   トランケーションの場合は、検索システムによって「?」「@」「!」などの記号を使います。
   この
マスク文字は、検索システムごとに違いますので、マニュアルなどで確認してから使います。

   なお、検索システムによっては、前方一致、後方一致、中間一致をまとめて「
任意一致」という場合もあります。
   例えば日経テレコン21の新聞記事検索で「任意一致」を選択した場合は、
   前方一致、後方一致、中間一致が全て検索されます。


前方一致、後方一致、中間一致、中間任意(前後一致)

   では、部分一致を具体的に見てみましょう。
   この説明では、例として「
?」のマスク文字で何文字でもマスク可能な場合として説明します。

   
★前方一致?★
   プルダウンキーなどで「前方一致」を指定する、またはマスク文字を使って「
遺伝子?」と入力することにより、
   「
遺伝子治療」「遺伝子診断」「遺伝子情報」など、
   
検索語の前方部分が一致するものを全てヒットさせる方法です。
   また、「
ディスプレ?」と入力することにより、「ディスプレー」「ディスプレイ」などの
   
語尾の変化する言葉を全てヒットさせるときにも使います。
   英語などでの語尾変化を考慮した検索をする場合に使うと便利です。

   
★?後方一致★
   プルダウンキーなどで「後方一致」を指定する、またはマスク文字を使って「
?シューズ」と入力することにより、
   「スポーツ
シューズ」「ランニングシューズ」「エアロビクスシューズ」など、
   
検索語の後方部分が一致するものを全てヒットさせる方法です。

   
★?中間一致?★
   プルダウンキーなどで「中間一致」を指定する、またはマスク文字を使って「
?色発光?」と入力することにより、
   「青
色発光素子」「赤色発光ダイオード」など、語の中間が一致するものを全てヒットさせる方法です。

   
★中間?任意★
   「
エンタ?メント」と入力することにより
   「
エンターテインメント」「エンタテインメント」「エンターテイメント」「エンタテイメント」など、
   
語の中間が異なるものを全てヒットさせる方法です。「前後一致」ともいいます。
   英語などで語の中間が変化する語をまとめて検索する場合に使うと便利です
   (例:「T?TH」と入力して「TEETH」と「TOOTH」の両方をヒットさせる)。
   しかし残念ながら、中間任意は使えない検索システムも多いです。


部分一致も“目的に適合した情報のみをモレ無く検索”を考える

   最初に書いたように、皆さんも前方一致などは既に使い慣れているかたが多いと思います。

   
でも皆さんの検索式を拝見すると、
   
“テキトーに途中まで入力しただけの前方一致” を見かけることが多いのです。残念ながら。
   以前にコラム56号で、精度の良い検索を行うために、
   
「目的に適合した情報のみをモレ無く検索する検索式を考える」ということをご案内しました。

   復習してみましょう。
   まず「
網羅性」を重視した検索をする場合には、広くモレ無く検索します。
   一般にはOR演算で検索語を足します。
   また「
適合性」を重視する場合は、目的に合致した情報に絞り込んで検索します。
   一般にはAND演算で絞り込みを行います。
   そして
最も良い検索は“目的に適合した情報のみをモレ無く検索する”ことです。
   なるべくこれに近づくように、検索式をよく考える必要があるわけです。

   
この考え方は、部分一致を使う場合も同じです。
   目的に適合した情報のみをモレ無く検索するには、どの部分をマスクするのが最も効果的か、
   検索式と併せて考えます。

   例えば「カスタマー(Customer:顧客、得意先)」に関連する言葉として、
   「
カスタマー」「カスタマ」「カスタマイズ」「カスタム」を一度にヒットさせるために、
   共通の文字列部分のみに着目して「
カスタ?」で検索したとします。
   すると「
カスタネット」や「カスタード」など、
   
「カスタマー」と無関係の言葉もヒットしてしまいます。

   この場合は「カスタ?」だけの検索ではなく、次の2つの方法を考えます。
    ①「カスタマ? OR カスタム」で検索する。
    ②検索テーマに応じて「カスタ?」に、さらに別の検索語をAND演算する。


   
の方法はコラム68号で例にとった、国立国会図書館のNDL-OPAC
   
テーマ「マーケティングにおけるテキストマイニングの有効性」を文献検索したのときの検索式を思い出してください。

   このときの
検索式「(マーケティング++消費者+ユーザ+ニーズ+クレーム+アンケート)&((テキスト+文章)&(マイニング+データ+解析+分析))」
   「
」という検索語は
   「顧
」「お様」などの「」という文字を含んだデータをすべて拾ってくることを狙っていますが、
   じつは「論
」とか「間」などテーマとは無関係な言葉もヒットしてしまいます。
   しかし
「(テキスト+文章)&(マイニング+データ+解析+分析)」をAND(この場合は&)演算させることにより、
   テーマとは無関係な言葉は除かれる可能性が高いと判断できます。


     ・・・なお、補足説明すると、
       本来の部分一致は「単語検索」「統制語」のしくみをとっている検索システムで使えます。
       例えば、文字列として 「東京都内」 というデータがある場合、
       単語検索のしくみをとっている検索システムで 「東京都 / 内」、
       つまり 「東京都」 と 「内」 に分解(単語の切り出し)されてデータが格納されるされる、などのしくみです。
       この 「東京都」 という単語が 「東京?」 で検索された場合に 
       単なる 「東京」 という単語と共にヒットするするしくみです。
       また、このように文章データから単語の切り出しが行われている検索システムのほか、
       「フリーワード」や「シソーラス」や「件名」などの統制語が付与されている検索システムでは、
       上でご紹介した「マスク文字」を使った部分一致(トランケーション)が使えます。

       で、何を言いたいかというと、
       国立国会図書館のNDL-OPACの雑誌記事索引検索は単語検索や統制語の検索ではない、ということです。
       国立国会図書館のNDL-OPACは、雑誌記事の書誌データを「文字列検索」します。
       だから上で例にとった「客」という文字は、「書誌データ全体の文字列で一致する部分」
       という意味での「部分一致」です。だから「?」や「*」などのマスク文字は使っていません。
       その点が本来の「マスク文字を使った部分一致」とは、やや違っています。

いかがでしょうか。
長々と説明しましたが、大事な点は1つだけです。
部分一致を使った検索を行うも“目的に適合した情報のみをモレ無く検索”を考える。
この点を考えながら使っていただくと、検索の腕も上がるのではないかと思います。
    
HOME