今回は、インターネットのポータルサイトで検索したり、専門資料を探したりする際に主に利用される情報検索の方法について、資料をまとめたいと思います。ここで使われるブール検索という演算は、一般に検索機能の詳細検索でよく見られます。
ブール検索は、現在のオンライン検索システムで最も多く使われている検索手法です。ブール論理を用いた検索語間の論理的な関係によって、求める情報を正確に表現でき、主な演算子としてAND、OR、NOT、XORなどが使われます。
また、これらの演算子は記号で表されることもあり、その記号は以下のとおりです。
- AND : &, *
- OR : +, |
- NOT : -, !
ブール検索の概念
ブール検索の概念図
ブールモデルは、ブール論理(真、偽/0と1)および伝統的な集合論(共通集合、和集合など)に基づく概念で、検索対象の文書とユーザーのクエリをともに単語の集合とみなして検索を行います。
上の例は、「三国志」というキーワードと「曹操」というキーワードをもとに、ブール検索の概念を適用してみたものです。
AND検索は、「三国志」と「曹操」の両方のキーワードを含む文書を検索する方式で、OR検索は、「三国志」または「曹操」というキーワードのうち、少なくとも一方を含んでいれば検索対象に含めます。
最後に、NOT検索は、前に置かれたキーワードを含み、NOTの後に置かれたキーワードをすべて除外した文書を検索する方式です。
実際の検索の様子
ここまで説明した概念を、実際の検索を通して簡単に見ていきたいと思います。
RISS詳細検索
実際の様子を示すために、学術情報をまとめて閲覧できるRISSの詳細検索機能を使って検索してみます。
詳細検索でのブール演算(AND、OR、NOT)
検索欄の上にある詳細検索ボタンを押すと、上のようにAND、OR、NOT方式が適用された検索欄を確認できます。
AND検索
三国志 AND 曹操
AND演算の検索結果
最初に検索した方式は、基本となる AND演算による検索です。「三国志 AND 曹操」または「三国志 & 曹操」とも表せるこの検索方式は、入力した単語である「三国志」と「曹操」の両方を同じ文書内に含む文書を探し出します。
OR検索
三国志 OR 曹操
OR演算の検索結果
次に行った OR検索は、「三国志」と「曹操」という検索語のうち、一方だけでも含まれていれば検索結果に表示するという、和集合の概念です。
この方式は、AND演算による検索文書を含む最も包括的な検索方式で、多くの文書が見つかります。先ほどのAND演算による単行本の検索結果は157件でしたが、OR演算による単行本の検索では8,886件が見つかりました。
NOT検索
三国志 NOT 曹操
[三国志 NOT 曹操] 検索結果NOT検索は、不要な検索語を除外する演算で、同じ検索語でも結果に大きな違いが出るため、検索を分けて行ってみました。
まず、[三国志 NOT 曹操] という検索は、言い換えると、「三国志」を検索しつつ、「曹操」が含まれる文書を除外して検索するという意味です。
結果は上のように、タイトルに三国志だけが含まれ、「曹操」というキーワードは含まれていない文書だけが検索されていることがわかります。
曹操 NOT 三国志
[曹操 NOT 三国志] 検索結果 今度は逆に、「曹操」というキーワードを前に置き、「三国志」というキーワードがNOTの後に来るように検索しました。この検索は、曹操というキーワードで検索し、「三国志」が含まれる文書は除外するという検索コマンドです。
検索結果では、上のように曹操という単語だけがタイトルに含まれ、三国志というキーワードが完全に除外された文書を確認できます。
以上、インターネットのポータルサイトや専門的な学術情報サイトで主に使われるブール検索について見てきました。このようなモデルには、検索が簡潔で速く、実装しやすいという利点があります。
しかし、完全一致を基準に検索すると、結果の文書が少なすぎたり多すぎたりすることがあり、検索された文書間で重要度が異なるにもかかわらず、結果の文書に順位を付けられないという限界があります。また、クエリを式に変換することが難しいという欠点もあります。
本資料で紹介した概念と特徴をもとに、ブール演算の概念を理解し、求める情報を探す際の助けになれば幸いです。