以下、実施形態の検索装置、検索方法およびプログラムを、図面を参照して説明する。以下で示す実施形態は、サーバ・クライアント型の情報システムにおけるサーバへの適用例である。
(情報システム)
まず、実施形態の検索装置を含む情報システムの概要について説明する。図1は、実施形態の検索装置1を含む情報システムの構成図である。この情報システムは、図1に示すように、検索サービスを提供するサーバとして機能する検索装置1と、検索装置1に対してクライアントとなる複数のユーザ端末2−1,2−2,・・・,2−n(以下、総称して「ユーザ端末2」という。)と、各種コンテンツを蓄積・管理するコンテンツサーバ3−1,3−2,・・・3−n(以下、総称して「コンテンツサーバ3」という。)とが、通信ネットワーク4を介して接続された構成である。
検索装置1は、各種コンテンツの検索を行う検索サービスを提供する情報処理装置である。検索装置1は、ハードウェア構成として、例えば、CPUなどの制御装置、ROMやRAMなどの内部記憶装置、ハードディスク、CD、DVD、フラッシュメモリなどの外部記憶装置を備えた、通常のコンピュータを利用したハードウェア構成を採用することができる。この場合、コンピュータがプログラムを実行することによって、検索装置1における後述の機能的な構成を実現し、例えば、Webベースでの検索サービスをユーザに提供することができる。
ユーザ端末2は、検索サービスを受けるユーザが使用する装置である。ユーザ端末2としては、例えば、パーソナルコンピュータ、デジタル家電、タブレット端末、携帯電話機など、ユーザが各種操作を行うための入力デバイスおよび各種情報を表示するための表示装置をハードウェアとして備え、ソフトウェアとしてWebブラウザを搭載した各種の情報処理端末を利用することができる。また、複数の情報処理装置を組み合わせて1つのユーザ端末2を構成してもよい。
コンテンツサーバ3は、通信ネットワーク4上に公開された各種コンテンツを蓄積し管理する装置である。コンテンツサーバ3は、検索装置1と同様に、通常のコンピュータを利用したハードウェア構成を採用することができる。通信ネットワーク4の形態は任意であり、例えばインターネット、LAN(ローカルエリアネットワーク)などを利用することができる。
なお、コンテンツサーバ3の機能を検索装置1に持たせることもできる。つまり、検索装置1が各種コンテンツの蓄積・管理を行う機能を持ち、自己が管理するコンテンツを検索対象とした検索サービスを提供することもできる。また、検索装置1の機能をユーザ端末2において実現することもできる。
図1の情報システムでは、ユーザがユーザ端末2を用いて検索装置1にアクセスすると、検索装置1がユーザ端末2の表示装置に検索画面を表示させる。そして、ユーザがこの検索画面上で検索キーワードを指定した検索要求を行うと、検索装置1が、コンテンツサーバ3が管理する各種コンテンツを検索対象とする検索を実行し、例えば、検索キーワードに合致するコンテンツのタイトル一覧を検索結果としてユーザ端末2に返す。タイトル一覧に含まれる各タイトルは、コンテンツサーバ3が管理する各コンテンツの格納場所へのリンクとなっている。ユーザは、タイトル一覧の中から所望のタイトルを選択することで、所望のコンテンツにアクセスし、必要な情報を取得することができる。
ここで、実施形態の検索装置1は、ユーザが検索画面を用いて検索キーワードを指定する操作を簡便に行えるようにするために、検索キーワードの候補となるキーワード候補のうち、ユーザが入力した入力文字列(確定前の入力文字列)を部分的に含むキーワード候補を、第1推奨キーワードとして検索画面上で表示してユーザに提示する。また、これと同時に、第1推奨キーワードと関連性のある他のキーワード候補を、第2推奨キーワードとして検索画面上で表示してユーザに提示する。検索画面上に表示されるこれら第1推奨キーワードや第2推奨キーワードは、入力文字列が変化するたびに、つまり、ユーザによる入力文字列の入力が進むに従って動的に変化する。ユーザは、検索画面上に表示された第1推奨キーワードと第2推奨キーワードのいずれかを選択することで、検索キーワードを確定し、検索装置1に対する検索要求を行うことができる。
以下、検索装置1の詳細を第1乃至第5実施形態として説明する。なお、以下では、第1実施形態の検索装置1を検索装置1Aと表記し、第2実施形態の検索装置1を検索装置1Bと表記し、第3実施形態の検索装置1を検索装置1Cと表記し、第4実施形態の検索装置1を検索装置1Dと表記し、第5実施形態の検索装置1を検索装置1Eと表記する。
(第1実施形態)
図2は、第1実施形態の検索装置1Aの機能的な構成を示すブロック図である。本実施形態の検索装置1Aは、図2に示すように、キーワード候補収集部11、キーワード候補記憶部12、キーワードグループ生成部13、キーワードグループ記憶部14、キーワードグループ生成ルール記憶部15、入力部16、第1推奨キーワード取得部17、第2推奨キーワード取得部18、出力部19、および検索部20を備える。
キーワード候補収集部11は、ユーザが検索を実行する際に使用する検索キーワードの候補となるキーワード候補を収集し、収集したキーワード候補をキーワード候補記憶部12に格納する。キーワード候補を収集する方法としては、例えば、業務上作成された文書や特許公報などの文書が検索対象である場合には、これらの文書をコンテンツサーバ3から取得し、公知の技術である形態素解析などにより文書からキーワード候補を抽出する方法がある。また、文書からキーワード候補を抽出するには、上記の形態素解析に加えて、固有表現抽出、複合語抽出などの様々な抽出手法を用いることができる。固有表現抽出には、例えば、文献「“質問応答と日本語固有表現抽出および固有表現体系の関係についての考察”、市村由美,他,情報処理学会研究報告,NL−161−3,2004」に記載されているような公知の固有表現抽出手法を用いることができる。また、複合語抽出には、例えば、文献「Frantsi,K.and Ananiadou,S.“Extracting Nested Collocations.”,COLING 96,pp.41−46,1996」に記載されているような公知の複合語抽出手法を用いることができる。
なお、検索対象の文書からキーワード候補を抽出する場合、キーワード候補収集部11は、形態素解析の結果から、“名詞”など特定の品詞のみをキーワード候補として抽出してもよいし、上述の手法による固有表現抽出の結果から“地名”や“動物名”など特定の種類の意味属性を持つキーワード候補のみを抽出してもよい。さらに、文書がXML(Extensible Markup Language)などの構造情報を持つ形式で記述されている場合は、キーワード候補収集部11は、例えば、“<TITLE>”や“<AUTHOR>”など特定のタグで囲まれたテキスト領域を切り出して1つのキーワード候補とするなど、構造情報に基づいて文書中の特定箇所をキーワード候補として抽出してもよい。
また、キーワード候補収集部11は、上記のように検索対象の文書からキーワード候補を抽出する方法に限らず、様々な方法でキーワード候補を収集することができる。例えば、キーワード候補収集部11は、WWW上の予め定めた特定のWebページのテキストデータや辞書データから上述した抽出方法によりキーワード候補を収集し、収集したキーワード候補のキーワード情報をキーワード候補記憶部12に格納するようにしてもよい。また、キーワード候補収集部11は、このような方法で収集したキーワード候補から、検索対象の文書に出現するキーワード候補のキーワード情報のみをキーワード候補記憶部12に格納するようにしてもよい。また、検索対象がWWW上のWebページやメタデータを持つ映像コンテンツを含む場合、キーワード候補収集部11は、検索対象のWebページのテキストデータや映像コンテンツのメタデータから、上述した抽出方法によりキーワード候補を収集するようにしてもよい。また、コンテンツサーバ3が上述した抽出方法によりコンテンツからキーワード候補となる語句を抽出する機能を持つ場合、キーワード候補収集部11は、コンテンツサーバ3によって予め各種コンテンツから抽出されたキーワード候補を収集するようにしてもよい。
キーワード候補記憶部12は、キーワード候補収集部11が収集したキーワード候補を記憶する。具体的には、キーワード候補記憶部12は、キーワード候補収集部11が収集したすべてのキーワード候補について、各キーワード候補を表すキーワード情報を保持する。
図3は、キーワード記憶部12が保持するキーワード情報の一例を示す図である。図3に示すキーワード情報100は、XMLで記述されたキーワード情報の例である。ただし、キーワード情報は、XML形式以外の形式、例えば、テーブル構造や、区切り文字を挿入した平文テキスト形式などで、キーワード記憶部12に格納されていてもよい。ここでは、検索対象の文書に対して、形態素解析、固有表現抽出、複合語抽出、および構造情報に基づいた特定箇所抽出の4つの方法をそれぞれ実行し、それぞれの結果から特定の品詞や意味属性を持つ語句をキーワード候補として抽出した場合を想定する。
キーワード情報100は、例えば、キーワード候補を識別するための「キーワードID」101と、キーワード候補の「表記」102と、キーワード候補の「読み」103と、キーワード候補の文法上の種別など、意味上の種別以外のキーワード候補を特定する種別を示す「語句種別」104と、キーワード候補の意味上の種別を示す「意味種別」105と、キーワード候補の検索キーワードとしての優先度を示す「スコア情報」106と、を有する。図3のキーワード情報100は、「キーワードID」101が“1000”であり、「表記」102が“日本動物園”であり、「読み」103が“にほんどうぶつえん”であり、「語句種別」104が“固有名詞”であり、「意味種別」105が“観光施設”であり、「スコア情報」106が“30.52”であるキーワード候補を示している。
なお、キーワード情報100の「読み」103は、例えば、キーワード候補収集部11が収集したキーワード候補に対して、キーワードに形態素解析を施し、形態素解析辞書に登録しておいた形態素単位の読みをつなげ合わせることで付与する。また、「語句種別」104は、例えば、キーワード候補が文書に対して形態素解析を施した際に得られたものであればその品詞名を記述し、その他の抽出方法で取得されたものであれば、その抽出方法名を記述する。また、「意味種別」105は、文書に対して固有表現抽出を適用した結果から、もしくは外部の辞書や事典が保持する知識から取得することができる。また、「スコア情報」106は、キーワード候補を取得した文書集合におけるTF(Term Frequency、キーワードの出現回数)やDF(Document Frequency、キーワードが出現した文書数)をそのまま用いてもよいし、それらを組み合わせたtf・idf(term frequency・inverse document frequency)法などによって算出してもよい。また、「スコア情報」106は、語句種別104や意味種別105の値による固定の値をさらに組み合わせて算出してもよい。
なお、異なる抽出方法によって同一の「表記」102を持つキーワード候補が複数抽出された場合には、これら複数のキーワード候補を、キーワード情報100が1つになるように集約する。この場合、「語句種別」104と「意味種別」105のみ抽出方法によって内容が異なる可能性があるが、キーワード情報100にはそのすべてを併記する。
キーワードグループ生成部13は、キーワード候補収集部11によって収集され、キーワード候補記憶部12に格納されたキーワード候補をグループ化することでキーワードグループを生成し、生成したキーワードグループをキーワードグループ記憶部14に格納する。キーワードグループ生成部13によるキーワード候補のグループ化には、キーワードグループ生成ルール記憶部15に予め記憶されたキーワードグループ生成ルールが用いられる。なお、キーワードグループ生成部13は、キーワード候補収集部11によって収集されたキーワード候補のほかに、例えば概念辞書など、語句を語句間の関係とともに保持した外部知識に含まれるキーワード候補や、WWW上のWebページなどの外部文書を解析して得られたキーワード候補などを併せてグループ化して、キーワードグループを生成してもよい。
キーワードグループ記憶部14は、キーワードグループ生成部13により生成されたキーワードグループを記憶する。具体的には、キーワードグループ記憶部14は、キーワードグループ生成部13により生成されたキーワードグループごとに、各キーワードグループを表すグループ情報を保持する。
図4は、キーワードグループ記憶部14が保持するグループ情報の一例を示す図である。図4に示すグループ情報は、個々のキーワードグループに関する第1情報200と、個々のキーワード候補が所属するキーワードグループに関する第2情報300の2つのXML形式の組み合わせで記述されている。
第1情報200は、例えば、キーワードグループを識別するための「グループID」201と、当該キーワードグループに属するキーワード候補を示す「所属キーワード」202として、各キーワード候補を識別するための「キーワードID」203を有する。図4の例では、「グループID」201が“12”であるキーワードグループには、「所属キーワード」202として、「キーワードID」203が“184”であるキーワード候補と、「キーワードID」203が“982”であるキーワード候補と、「キーワードID」203が“1000”であるキーワード候補と、「キーワードID」203が“20765”であるキーワード候補と、が属していることを示している。なお、「キーワードID」203は、図3のキーワード情報100における「キーワードID」101と対応し、同じ値を示すときは同じキーワード候補であることを示している。
第2情報300は、キーワード候補を識別するための「キーワードID」301と、当該キーワード候補が属するキーワードグループを示す「所属グループID」302を有する。図4の例では、「キーワードID」301が“1000”であるキーワード候補が、「所属グループID」302が“3”であるキーワードグループと、「所属グループID」302が“12”であるキーワードグループと、「所属グループID」302が“14”であるキーワードグループと、「所属グループID」302が“76”であるキーワードグループと、に属していることを示している。なお、「キーワードID」301は、図3のキーワード情報100における「キーワードID」101および第1情報200における「キーワードID」203と対応し、「所属グループID」302は、第1情報200における「グループID」201と対応し、それぞれ、同じ値を示すときは同じキーワード候補およびキーワードグループであることを示している。
キーワードグループ生成ルール記憶部15は、キーワードグループ生成部13がキーワードグループを生成する際に用いるキーワードグループ生成ルールを保持する。
図5は、キーワードグループ生成ルール記憶部15が保持するキーワードグループ生成ルールの一例を示す図である。図5に示すキーワードグループ生成ルール400は、XMLで記述されたキーワードグループ生成ルールの例である。ただし、キーワードグループ生成ルールは、XML形式以外の形式、例えば、テーブル構造や、論理式を記述したテキスト形式などで、キーワードグループ生成ルール記憶部15に格納されていてもよい。ここでは、生成されるキーワードグループごとに、当該キーワードグループの生成に用いるキーワードグループ生成ルールが定められている場合を想定する。
キーワードグループ生成ルール400は、当該ルールによって生成されるキーワードグループを識別するための「グループID」401と、当該ルールを構成する「サブルール」402と、「サブルール」402を構成する「条件」403と、「条件」403を構成する「値」404とを有する。図5の例では、「グループID」401が“12”であるキーワードグループを生成するルールが、2つの「サブルール」402で構成され、サブルール1は2つの「条件」403で構成され、サブルール2は1つの「条件」403で構成されることを示している。そして、サブルール1の条件1は、キー属性に“意味種別”を持ち、値に“観光施設”と“テーマパーク”を持つとの条件であり、サブルール1の条件2は、キー属性に“語句種別”を持ち、値に“固有名詞”を持つとの条件であることを示している。また、サブルール2の条件1は、キー属性に“意味種別”を持ち、値に“名所”を持つとの条件であることを示している。なお、「グループID」401は、図4の第1情報200における「グループID」201と対応し、それぞれ、同じ値を示すときは同じキーワードグループであることを示している。
図5に示すキーワードグループ生成ルール400を適用すると、図3に例示したキーワード情報100において、意味種別が“観光施設”または“テーマパーク”であり、かつ語句種別が“固有名詞”であるキーワード候補と、意味種別が“名所”であるキーワード候補とがグループ化され、グループID“12”を持つキーワードグループが生成される。キーワードグループ生成部13は、キーワード候補収集部11によって収集され、キーワード情報がキーワード記憶部12に格納されたすべてのキーワード候補に対し、キーワードグループ生成ルール記憶部15が保持するキーワードグループ生成ルールを総当たり的に適用することで、各キーワード候補がそれぞれ属するキーワードグループを判定することができ、キーワードグループの生成が終了する。
入力部16は、ユーザ端末2のWebブラウザとの間でWebベースでの情報のやり取りを行うWebサーバの一機能として実現される。入力部16は、ユーザがユーザ端末2のキーボードやポインティングデバイス、タッチセンサなどの各種入力デバイスを利用して行う各種の入力操作を受け付ける。例えば、ユーザがユーザ端末2の表示装置に表示される後述の検索画面から、キーボードを用いて文字列の入力を行うと、入力部16は、この入力文字列の入力操作を受け付けて、入力文字列を第1推奨キーワード取得部17に渡す。このとき、入力部16は、入力文字列の文字の追加や削除などの操作に応じて入力文字列が変化するたびに、変化した入力文字列を第1推奨キーワード取得部17に渡す。なお、ここで入力文字列とは、2以上の文字を含むものに限らず、ユーザが所定の入力フォームに1文字のみを入力した場合も、入力文字列として扱う。また、ユーザがユーザ端末2の表示装置に表示される後述の検索画面から、ポインティングデバイスやタッチセンサを用いて第1推奨キーワードと第2推奨キーワードのいずれかを選択する操作を行うと、入力部16は、この推奨キーワードの選択操作を受け付けて、選択された推奨キーワードを検索キーワードとして確定し、検索要求とともに検索部20に渡す。そのほか、入力部16は、ユーザがユーザ端末2の入力デバイスを利用して行う各種の入力操作を受け付けて、検索装置1Aにおける各種処理に反映させる。例えば、ユーザが入力文字列を確定して検索を指示する操作を行うと、入力部16は、その時点の入力文字列を検索キーワードとして確定し、検索要求とともに検索部20に渡す。
第1推奨キーワード取得部17は、キーワード候補記憶部12を参照し、入力部16から受け取った入力文字列を部分的に含むキーワード候補である第1推奨キーワードを取得する。例えば、第1推奨キーワード取得部17は、入力部16から受け取った入力文字列と、キーワード候補記憶部12が保持するキーワード情報とを照合する。そして、第1推奨キーワード取得部17は、キーワード候補記憶部12に格納されたキーワード候補のうち、後述の出力条件を満たすキーワード候補を第1推奨キーワードとして取得し、第2推奨キーワード取得部18および出力部19に渡す。なお、第1推奨キーワード取得部17による処理の具体例については、詳細を後述する。
第2推奨キーワード取得部18は、キーワードグループ記憶部14を参照し、第1推奨キーワード取得部17から受け取った第1推奨キーワードが属するキーワードグループに含まれる、第1推奨キーワード以外の他のキーワード候補である第2推奨キーワードを取得する。例えば、第2推奨キーワード取得部18は、第1推奨キーワード取得部17から受け取った第1推奨キーワードと、キーワードグループ記憶部14が保持するグループ情報とを照合する。そして、第2推奨キーワード取得部18は、第1推奨キーワードが属するキーワードグループのうち、後述の出力条件を満たすキーワードグループに含まれる、第1推奨キーワード以外の他のキーワード候補を第2推奨キーワードとして取得し、出力部19に渡す。なお、第2推奨キーワード取得部18による処理の具体例については、詳細を後述する。
出力部19は、入力部16と同様に、ユーザ端末2のWebブラウザとの間でWebベースでの情報のやり取りを行うWebサーバの一機能として実現される。出力部19は、ユーザが検索サービスを受けるために必要な検索画面を出力し、この検索画面をユーザ端末2の表示装置に表示させる。ここで、出力部19がユーザ端末2に供給する検索画面は、第1推奨キーワード取得部17が第1推奨キーワードを取得し、第2推奨キーワード取得部18が第2推奨キーワードを取得した場合は、これら第1推奨キーワードおよび第2推奨キーワードを、検索キーワードとして選択可能に表示したものである。また、後述の検索部20により検索が実行された場合は、その検索結果も検索画面に表示される。
図6は、ユーザ端末2の表示装置に表示される検索画面の一例を示す図である。図6に示す検索画面500は、ユーザが文字列を入力するための入力フォーム501と、第1推奨キーワード取得部17により取得された第1推奨キーワードを、検索キーワードとして選択可能に表示する第1表示領域502と、第2推奨キーワード取得部18により取得された第2推奨キーワードを、検索キーワードとして選択可能に表示する第2表示領域503と、検索部20による検索結果を表示する第3表示領域504とを有する。なお、第1表示領域502は、検索画面500の中で固定の領域として設けられていてもよいが、第1推奨キーワード取得部17により1以上の第1推奨キーワードが取得されたときのみ表示され、第1推奨キーワード取得部17により取得された第1推奨キーワードの長さと個数によって大きさが変化するような、動的な領域として設けられていてもよい。同様に、第2表示領域503は、検索画面500の中で固定の領域として設けられていてもよいが、第2推奨キーワード取得部18により1以上の第2推奨キーワードが取得されたときのみ表示され、第2推奨キーワード取得部18により取得された第2推奨キーワードの長さと個数によって大きさが変化するような、動的な領域として設けられていてもよい。同様に、第3表示領域504は、検索画面500の中で固定の領域として設けられていてもよいが、検索部20による検索が行われたときのみ表示され、検索結果であるコンテンツのタイトル一覧に含まれるタイトルの長さと個数によって大きさが変化するような、動的な領域として設けられていてもよい。
検索部20は、ユーザによる入力文字列を確定する操作、あるいは、検索画面上で表示されている第1推奨キーワードまたは第2推奨キーワードを選択する操作により、検索キーワードが確定すると、その検索キーワードを検索クエリとする検索を実行する。そして、検索部20は、検索キーワードに合致するコンテンツのタイトル一覧を、検索結果として出力部19に渡す。この検索結果は、例えば、図6の検索画面500における第3表示領域504に表示されることによって、ユーザに提示される。
なお、本実施形態の検索装置1Aにおいて、キーワード候補記憶部12、キーワードグループ記憶部14、およびキーワードグループ生成ルール記憶部15は、同一の記憶装置を用いて実現されていてもよいし、複数の記憶装置を用いて実現されていてもよい。記憶装置は、例えば、ハードディスクやフラッシュメモリなどである。
また、本実施形態の検索装置1Aは、キーワード候補収集部11、キーワードグループ生成部13、およびキーワードグループ生成ルール記憶部15を備えない構成とすることもできる。この場合、予め、使用環境に応じて想定されるキーワード候補を表すキーワード情報をキーワード候補記憶部12に格納しておくとともに、予め任意のキーワードグループ生成ルールに従ってキーワード候補をグループ化して生成したキーワードグループを表すグループ情報を、キーワードグループ記憶部14に格納しておけばよい。さらに、外部の辞書や事典が保持する知識をキーワード候補記憶部12として利用するようにすれば、検索装置1Aは、さらにキーワード候補記憶部12を備えない構成とすることもできる。
次に、図7乃至図11を用いて、本実施形態の検索装置1Aによる処理の具体例について説明する。以下では、WWW上のWebページのテキストデータに対して、ユーザからの検索要求に基づいて検索を実行する場合を例に挙げて説明する。なお、ユーザ端末2の表示装置には、図6に示す形式の検索画面500が表示されるものとする。
図7は、本実施形態の検索装置1Aにおいて、入力文字列に応じた第1推奨キーワードおよび第2推奨キーワードを検索画面500上で選択可能に表示する一連の処理の流れを示すフローチャートである。この図7のフローチャートで示す一連の処理は、入力文字列が変化するたびに繰り返し実行される。
まず、入力部16が、ユーザによって入力された入力文字列を取得する(ステップS101)。具体的には、ユーザがユーザ端末2のキーボードなどの入力デバイスを用いて、検索画面500の入力フォーム501に文字列を入力すると、入力フォーム501に表示されている入力文字列が第1推奨キーワード取得部17に送られる。例えば、ユーザが「ど」という入力文字列を入力すると、「ど」が入力フォーム501に表示されると同時に第1推奨キーワード取得部17に送られる。
次に、第1推奨キーワード取得部17は、入力部16から入力文字列を受け取ると、キーワード候補記憶部12が保持するキーワード情報と入力文字列との照合を行い(ステップS102)、キーワード候補記憶部12に格納されたキーワード候補の中に、出力条件を満たすものが存在するか否かを判定する(ステップS103)。なお、第1推奨キーワード取得部17による処理の具体例については、詳細を後述する。
ステップS103の判定の結果、出力条件を満たすキーワード候補が存在しない場合は(ステップS103:No)、そのまま処理を終了する。一方、出力条件を満たすキーワード候補が存在する場合は(ステップS103:Yes)、第1推奨キーワード取得部17は、出力条件を満たすキーワード候補を第1推奨キーワードとして、第2推奨キーワード取得部18と出力部19に送る(ステップS104)。
次に、第2推奨キーワード取得部18は、第1推奨キーワード取得部17から第1推奨キーワードを受け取ると、キーワードグループ記憶部14が保持するグループ情報と第1推奨キーワードとの照合を行い(ステップS105)、第1推奨キーワードが属するキーワードグループを特定する。そして、第2推奨キーワード取得部18は、第1推奨キーワードが属するキーワードグループのうち、出力条件を満たすキーワードグループ内の第1推奨キーワードを除くキーワード候補を第2推奨キーワードとして、出力部19に送る(ステップS106)。なお、第2推奨キーワード取得部18による処理の具体例については、詳細を後述する。
次に、出力部19は、第1推奨キーワード取得部17から受け取った第1推奨キーワードを第1表示領域502で表示し、第2推奨キーワード取得部18から受け取った第2推奨キーワードを第2表示領域503で表示する検索画面500をユーザ端末2に出力し(ステップS107)、処理を終了する。
なお、ここでは、キーワード候補記憶部12に格納されたすべてのキーワード候補が少なくとも1つのキーワードグループに属することを前提に説明したが、キーワードグループ生成ルール記憶部15が保持するキーワードグループ生成ルールの記述によっては、いずれのキーワードグループに属さないキーワード候補が存在することもあり得る。この場合は、第2推奨キーワード取得部18が、上記ステップS106の前に、第1推奨キーワードとして取得されたキーワード候補が属するキーワードグループが存在するか否かを判定し、第1推奨キーワードとして取得されたキーワード候補が属するキーワードグループが存在する場合にのみ、ステップS106の処理を行うようにすればよい。
次に、第1推奨キーワード取得部17による処理の具体例について説明する。図8は、第1推奨キーワード取得部17による処理の一例を示すフローチャートである。この図8のフローチャートで示す一連の処理は、入力文字列が変化するたびに繰り返し実行される。
第1推奨キーワード取得部17は、まず、第1推奨キーワードの数の上限値N(例えば、N=4)を設定する(ステップS201)。次に、第1推奨キーワード取得部17は、入力部16から入力文字列を受け取る(ステップS202)。さらに、第1推奨キーワード取得部17は、キーワード候補記憶部12に保持されているキーワード情報を取得する(ステップS203)。また、第1推奨キーワード取得部17は、キーワード候補を一時的に保持するために、空の配列Xを用意する(ステップS204)。
第1推奨キーワード取得部17は、ステップS203で取得したキーワード情報で表されるすべてのキーワード候補(以下、キーワード群という。)に対し、異なる条件で4回の探索を行う。すなわち、第1推奨キーワード取得部17は、まず、ステップS202で受け取った入力文字列が、図3に示すキーワード情報100の「表記」102に前方一致するキーワード候補を探索し、得られたキーワード候補を配列Xに格納する(ステップS205)。次に、第1推奨キーワード取得部17は、ステップS202で受け取った入力文字列が、図3に示すキーワード情報100の「読み」103に前方一致するキーワード候補を探索し、得られたキーワード候補を、配列XのステップS205で得られたキーワード候補の後ろに格納する(ステップS206)。さらに、第1推奨キーワード取得部17は、ステップS202で受け取った入力文字列が、図3に示すキーワード情報100の「表記」102に部分一致するキーワード候補を探索し、得られたキーワード候補を、配列XのステップS206で得られたキーワード候補の後ろに格納する(ステップS207)。最後に、第1推奨キーワード取得部17は、ステップS202で受け取った入力文字列が、図3に示すキーワード情報100の「読み」103に部分一致するキーワード候補を探索し、得られたキーワード候補を、配列XのステップS207で得られたキーワード候補の後ろに格納する(ステップS208)。
次に、第1推奨キーワード取得部17は、配列Xに格納されたキーワード候補について、「表記」102が重複している複数のキーワードが存在する場合に、2つ目以降のキーワード候補を削除する(ステップS209)。その後、第1推奨キーワード取得部17は、配列Xのキーワード候補を、図3に示すキーワード情報100の「スコア情報」106の値に従って降順ソートする(ステップS210)。そして、第1推奨キーワード取得部17は、ステップS201で設定した上限値Nに対し、配列X内の先頭から最大N件のキーワード候補を第1推奨キーワードと判定し(ステップS211)、第1推奨キーワードを第2推奨キーワード取得部18および出力部19に渡して、一連の処理を終了する。
次に、第2推奨キーワード取得部18による処理の具体例について説明する。図9は、第2推奨キーワード取得部18による処理の一例を示すフローチャートである。この図9のフローチャートで示す一連の処理は、第1推奨キーワードが変化するたびに繰り返し実行される。
第2推奨キーワード取得部18は、まず、キーワードグループ数の上限値T(例えば、T=3)を設定する(ステップS301)。次に、第2推奨キーワード取得部18は、第1推奨キーワード取得部17から第1推奨キーワードを受け取る(ステップS302)。さらに、第2推奨キーワード取得部18は、キーワードグループ記憶部14に保持されているグループ情報を取得する(ステップS303)。また、第2推奨キーワード取得部18は、キーワードグループを一時的に保持するために、空の配列Yを用意する(ステップS304)。
次に、第2推奨キーワード取得部18は、ステップS303で取得したグループ情報を用い、ステップS302で受け取った第1推奨キーワードが属するキーワードグループを探索し、得られたキーワードグループを配列Yに格納する(ステップS305)。そして、すべてのキーワードグループについて探索が終了したら、第2推奨キーワード取得部18は、配列Yに格納されたキーワードグループを、キーワードグループに属する第1推奨キーワードの数が多い順に降順ソートする(ステップS306)。このとき、第1推奨キーワードの数が同数のキーワードグループ同士の場合は、順位の高い第1推奨キーワード(つまり、配列Xの並び順が上位の第1推奨キーワード)が属するキーワードグループを上位とする。例えば、配列Xの並び順が第1位の第1推奨キーワードおよび第5位の第1推奨キーワードが属するキーワードグループと、配列Xの並び順が第2位の第1推奨キーワードおよび第3位の第1推奨キーワードが属するキーワードグループの場合、第1位の第1推奨キーワードが属するキーワードグループを上位とする。
最後に、第2推奨キーワード取得部18は、ステップS301で設定した上限値Tに対し、配列Y内の先頭から最大T件のキーワードグループを取り出し、これらのキーワードグループに含まれる第1推奨キーワード以外のキーワード候補を第2推奨キーワードと判定し(ステップS307)、第2推奨キーワードを出力部19に渡して、一連の処理を終了する。
次に、検索画面500上で表示される第1推奨キーワードおよび第2推奨キーワードの具体例について、図10の画面例を用いて説明する。図10は、「ど」という入力文字列が入力された場合にユーザ端末2の表示装置に表示される検索画面500の一例を示す図である。
入力部16から第1推奨キーワード取得部17に入力文字列「ど」が送られると、第1推奨キーワード取得部17は、図8のフローチャートで示す一連の処理を実行し、第1推奨キーワードとして、例えば「道内牧場」、「ドイツビール」、「日本動物園」、および「日本ドームシティ」の各キーワード候補を取得し、出力部19に渡す。その結果、検索画面500の第1表示領域502には、「道内牧場」、「ドイツビール」、「日本動物園」、および「日本ドームシティ」が、検索キーワードとして選択可能に表示される。
第1表示領域502に表示されている第1推奨キーワードのうち、「道内牧場」と「ドイツビール」の2つの第1推奨キーワードは、図3に示したキーワード情報100の「読み」103が、それぞれ「どうないぼくじょう」と「どいつびーる」であり、図8のフローチャートのステップS206の処理によって、入力文字列「ど」が「読み」103に前方一致するために出力されている。また、「日本動物園」と「日本ドームシティ」の2つの第1推奨キーワードは、図3に示したキーワード情報100の「読み」103が、それぞれ「にほんどうぶつえん」と「にほんどーむしてぃ」であり、図8のフローチャートのステップS208の処理によって、入力文字列「ど」が「読み」103に部分一致するために出力されている。
また、第1推奨キーワード取得部17から第2推奨キーワード取得部18に「道内牧場」、「ドイツビール」、「日本動物園」、および「日本ドームシティ」が送られると、第2推奨キーワード取得部18は、図9のフローチャートで示す一連の処理を実行し、例えば、第1推奨キーワードである「日本動物園」と「日本ドームシティ」とが属する観光名所に関するキーワードグループの中で、「日本動物園」と「日本ドームシティ」とを除いた「日本タワー」、「日本公園」、「東京美術館」、「東京博物館」、および「東京城跡」の5つのキーワード候補を第2推奨キーワードとして取得し、出力部19に渡す。また、第2推奨キーワード取得部18は、例えば、第1推奨キーワードである「日本動物園」が属する動物園に関するキーワードグループの中で、「日本動物園」を除いた「埼玉動物園」、「動物ふれあいの里」、「神奈川動物園」、および「千葉動物公園」の4つのキーワード候補を第2推奨キーワードとして取得し、出力部19に渡す。その結果、検索画面500の第2表示領域503には、「日本タワー」、「日本公園」、「東京美術館」、「東京博物館」、「東京城跡」、「埼玉動物園」、「動物ふれあいの里」、「神奈川動物園」、および「千葉動物公園」が、検索キーワードとして選択可能に表示される。
次に、検索画面500上で表示される第1推奨キーワードと第2推奨キーワードのいずれかをユーザが選択したときの画面遷移について、図11の画面例を用いて説明する。図11は、図10の検索画面500上で、第1推奨キーワードである「日本動物園」が選択された場合の画面例を示している。なお、第1推奨キーワードや第2推奨キーワードを選択するための操作方法としては様々な方法が考えられるが、ここでは、選択領域を移動させて第1推奨キーワードや第2推奨キーワードを選択する方法を例に挙げて説明する。
図11の画面例で示すように、第1表示領域502に第1推奨キーワードが表示され、第2表示領域503に第2推奨キーワードが表示されると、検索画面500には、第1表示領域502から第2表示領域503に亘って移動可能な選択領域505が表示される。ユーザは、例えばマウスのドラッグアンドドロップ操作などにより、検索画面500上の選択領域505を、表示されている第1推奨キーワードと第2推奨キーワードの中で所望のキーワード候補が表示されている位置に移動させることで、そのキーワード候補を検索キーワードとして選択することができる。
図11の画面例では、選択領域505を第1推奨キーワードである「日本動物園」の位置に移動させ、「日本動物園」を検索キーワードとして選択している。この時点で、「日本動物園」が検索キーワードとして検索部20に送られ、検索部20によって「日本動物園」を検索クエリとする検索が実行されて、その検索結果が第3表示領域504に表示される。ここでは、検索キーワード「日本動物園」に適合するWebページのタイトル一覧が、検索結果として第3表示領域504に表示されている。ユーザは、この第3表示領域504に表示されたタイトル一覧のうち一つを選択することで、選択したタイトルのWebページを閲覧することができる。なお、ここで選択したタイトルのWebページは、例えば、ユーザ端末2が搭載するWebブラウザが一般的なタブブラウザの場合、検索画面500を表示するタブとは別のタブでユーザに閲覧させることができる。また、例えば、検索画面500上にポップアップ形式でWebページを表示して、ユーザに閲覧させることもできる。
なお、検索部20による検索が行われ、その検索結果が第3表示領域504に表示された場合でも、入力文字列が変化しない間は、検索画面500における第1推奨キーワードおよび第2推奨キーワードの表示はそのまま継続される。そして、ユーザが検索画面500上の選択領域505を移動させて、別のキーワード候補を検索キーワードとして選択すれば、その時点で、選択されたキーワード候補が新たな検索キーワードとして検索部20に送られ、検索部20によって新たな検索キーワードを検索クエリとする検索が実行されて、その検索結果が第3表示領域504に表示される。つまり、検索画面500では、入力文字列が変化しない限り、その入力文字列に対応する第1推奨キーワードおよび第2推奨キーワードの表示が継続され、これら第1推奨キーワードおよび第2推奨キーワードのうち、選択領域505の移動により選択されたキーワード候補を検索キーワードとした検索結果が、第3表示領域504に随時表示される。
本実施形態の検索装置1Aは、以上のような検索画面500をユーザ端末2の表示装置に表示させることにより、例えば、休日に動物園に行くことを検討しているユーザに対して、入力文字列として「ど」という1文字が入力された時点で、「道内牧場」、「ドイツビール」、「日本動物園」、「日本ドームシティ」、「日本タワー」、「日本公園」、「東京美術館」、「東京博物館」、「東京城跡」、「埼玉動物園」、「動物ふれあいの里」、「神奈川動物園」、および「千葉動物公園」の13個の観光スポット名や動物園名のキーワード候補を提示することができるため、ユーザは興味を持ったキーワード候補を選択するだけで第3表示領域504の検索結果から所望のWebサイトにアクセスし、必要な情報を取得することが可能となる。また、ユーザは、提示される複数のキーワード候補を順次選択して検索を行うことにより、例えば、どの動物園に行くかを決定するための比較検討を容易に行うことができる。なお、ユーザによる比較検討をより効果的にするため、検索結果の個別のWebページを並列に開き、閲覧できるようにしてもよい。
また、本実施形態の検索装置1Aでは、図9のフローチャートのステップS306で示したように、第2推奨キーワードを取り出すキーワードグループの順位を、そのキーワードグループに属する第1推奨キーワードの数によって入れ替える。このため、例えば「ど」から「どうぶつ」のように、ユーザが入力文字列の入力を進めていくにつれて、第1推奨キーワードが「動物」という文字列を含むものに絞られるのと同時に、第2推奨キーワードを取り出すキーワードグループについても、「動物」に関連するキーワードグループが上位となり、「動物」に関連するキーワードグループに含まれる第2推奨キーワードが、第2表示領域503の上側に表示されやすくなる。このように、本実施形態の検索装置1Aは、一度の入力で2つの出力情報に対する絞り込みを効率よく行うことを可能とする。
以上、具体的な例を挙げながら詳細に説明したように、本実施形態の検索装置1Aは、ユーザが入力した入力文字列に対して、その入力文字列を部分的に含むキーワード候補である第1推奨キーワードだけでなく、第1推奨キーワードと同じキーワードグループに属する他のキーワード候補、つまり第1推奨キーワードに関連するキーワード候補である第2推奨キーワードを同時に、検索キーワードとして選択可能にユーザに提示する。したがって、ユーザは、提示された第1推奨キーワードや第2推奨キーワードを検索キーワードとして順次選択することで、文字列の入力を繰り返し行うことなく、連続した複数回の検索を一度の入力で実行することができるので、作業効率が大幅に向上する。このように、本実施形態の検索装置1Aによれば、検索にかかるユーザの作業効率を大幅に向上させることができる。
また、本実施形態の検索装置1Aは、入力文字列の変化に応じて、第1推奨キーワードおよび第2推奨キーワードを動的に変化させながらユーザに提示するので、検索キーワードの候補を効率よく絞り込むことができ、検索にかかるユーザの作業効率を大幅に向上させることができる。
(第2実施形態)
次に、第2実施形態の検索装置1Bについて説明する。本実施形態の検索装置1Bは、過去の検索に用いた検索キーワードの履歴(検索キーワード履歴情報)を利用して、検索画面上で表示させる第2推奨キーワードおよびその並び順を決定する。なお、本実施形態の検索装置1Bにおいて、上記の特徴部分を除く基本的な構成や動作の概要は第1実施形態と同様である。このため、以下では、第1実施形態と同一の構成には同一の符号を付して重複した説明を省略し、本実施形態に特徴的な部分を中心に説明する。
図12は、第2実施形態の検索装置1Bの機能的な構成を示すブロック図である。本実施形態の検索装置1Bは、図12に示すように、図2に示した第1実施形態の検索装置1Aの構成に加え、検索キーワード記憶部21をさらに備える。また、本実施形態の検索装置1Bは、第1実施形態の検索装置1Aが備える第2推奨キーワード取得部18に代えて、第2推奨キーワード取得部18Bを備える。
検索キーワード記憶部21は、検索部20による過去の検索処理で用いた検索キーワードの履歴を表す検索キーワード履歴情報を保持する。
図13は、検索キーワード記憶部21が保持する検索キーワード履歴情報の一例を示す図である。図13に示す検索キーワード履歴情報600は、検索処理を識別するための「検索ID」601と、検索を要求したユーザを識別するための「ユーザID」602と、検索処理が行われた時刻を表す「検索実行時刻」603と、検索に使用した「検索キーワード」604と、その検索キーワードを識別するための「キーワードID」605を有する。なお、検索キーワード履歴情報600は、1回の検索処理における1つの検索キーワードに対する情報を1行に持つ。1回の検索処理に1つの「検索ID」601が割り当てられ、同じ「検索ID」601を持つ履歴は、1度の検索で入力された複数の検索キーワードを検索キーワードごとに分けて保持したものである。
なお、検索キーワード記憶部21は、キーワード候補記憶部12、キーワードグループ記憶部14、およびキーワードグループ生成ルール記憶部15と同一の記憶装置を用いて実現されていてもよいし、個別の記憶装置を用いて実現されていてもよい。記憶装置は、例えば、ハードディスクやフラッシュメモリなどである。
第2推奨キーワード取得部18Bは、第1実施形態の第2推奨キーワード取得部18と同様に、第1推奨キーワード取得部17が取得した第1推奨キーワードが属するキーワードグループのうち、所定の出力条件を満たすキーワードグループに含まれる、第1推奨キーワード以外の他のキーワード候補を第2推奨キーワードとして取得して、出力部19に渡す。ただし、本実施形態では、キーワードグループの出力条件に、過去の検索処理で用いた検索キーワードの履歴が反映される。すなわち、本実施形態の第2推奨キーワード取得部18Bは、検索画面上で表示させる第2検索キーワードおよびその並び順を決定するに際し、検索キーワード記憶部21が保持する検索キーワード履歴情報を参照し、直前の検索処理で用いた検索キーワードを含むキーワードグループに含まれるキーワード候補や、過去の検索処理で用いた検索キーワードをより多く含むキーワードグループに含まれるキーワード候補が第2推奨キーワードとして選ばれやすく、また、表示の並び順が上位になるように、検索画面上で表示させる第2推奨キーワードおよびその並び順を決定する。
ここで、本実施形態の第2推奨キーワード取得部18Bによる処理の具体例について、図14を用いて説明する。図14は、第2推奨キーワード取得部18Bによる処理の一例を示すフローチャートである。この図14のフローチャートで示す一連の処理は、第1推奨キーワードが変化するたびに繰り返し実行される。なお、図14のフローチャートにおけるステップS401〜ステップS406の処理は、図9のフローチャートにおけるステップS301〜ステップS306の処理と同じであるため、説明を省略する。
第2推奨キーワード取得部18Bは、ステップS406で、第1推奨キーワードが属するキーワードグループを降順ソートしたら、次に、検索キーワード記憶部21から、文字列を入力しているユーザと同じユーザIDを持つ検索キーワード履歴情報を取得する(ステップS407)。取得する検索キーワード履歴情報の範囲は、同じユーザIDを持つ検索キーワード履歴情報のすべてでもよいし、「検索実行時刻」603に基づいて一定期間に絞ってもよい。なお、文字列を入力しているユーザのユーザIDは、例えば、検索装置1Bへのアクセス時に公知のユーザ認証処理を行い、このユーザ認証処理においてユーザにユーザIDを入力させることにより取得できる。
次に、第2推奨キーワード取得部18Bは、ステップS407で取得した検索キーワード履歴情報のうち、最新の検索キーワード履歴情報の検索キーワードを含むキーワードグループ、すなわち、ユーザが直前の検索処理で指定した検索キーワードを含むキーワードグループが配列Y中にあれば、それを配列Yの先頭に移動する(ステップS408)。このとき、直前の検索キーワードを含むキーワードグループが複数存在する場合には、そのすべてを配列Yの先頭に順次移動する。また、第2推奨キーワード取得部18Bは、ステップS408で移動しなかったすべてのキーワードグループについて、ステップS407で取得した検索キーワード履歴情報に含まれる検索キーワードをいくつ含むか、つまり、キーワードグループに含まれる、過去の検索処理で用いた検索キーワードの数を確認し、それらのキーワードグループを、検索キーワードの数が多い順に降順ソートする(ステップS409)。上記のステップS408とステップS409の処理により、配列Y中のキーワードグループは、1)ユーザが直前の検索処理で指定した検索キーワードを含むキーワードグループ、2)ユーザが過去の検索処理で指定した検索キーワードをより多く含むキーワードグループ、の順に並び替えられる。
次に、第2推奨キーワード取得部18Bは、ステップS401で設定した上限値Tに対し、配列Y内の先頭から最大T件のキーワードグループを取り出し、これらのキーワードグループに含まれる第1推奨キーワード以外のキーワード候補を第2推奨キーワードと判定する(ステップS410)。このとき、第2推奨キーワード取得部18Bは、T件のキーワードグループに含まれるキーワード候補について、ユーザのユーザIDを持つ検索キーワード履歴情報に含まれる検索キーワードと合致するものがあれば、それをキーワードグループ内のキーワード候補の集合の末尾に移動する(ステップS411)。このステップS411の処理により、ユーザが過去の検索処理で検索キーワードに指定していないキーワード候補が、より上位に表示されることになる。
以上のように、本実施形態の検索装置1Bによれば、ユーザが過去の検索処理において指定した検索キーワードの履歴を用いて、第2推奨キーワードとして提示するキーワード候補やその並び順を決定するようにしているので、ユーザの一連の検索意図に沿ったキーワード候補を第2推奨キーワードとして効率よく提示することができる。このように、本実施形態の検索装置1Bによれば、検索にかかるユーザの作業効率を大幅に向上させることができる。
(第3実施形態)
次に、第3実施形態の検索装置1Cについて説明する。本実施形態の検索装置1Cは、ユーザが直前の検索処理で指定した検索キーワードが属するキーワードグループに含まれる他のキーワード候補を優先的に、第1推奨キーワードとして検索画面上で表示させる。なお、本実施形態の検索装置1Cにおいて、上記の特徴部分を除く基本的な構成や動作の概要は第1実施形態および第2実施形態と同様である。このため、以下では、第1実施形態および第2実施形態と同一の構成には同一の符号を付して重複した説明を省略し、本実施形態に特徴的な部分を中心に説明する。
図15は、第3実施形態の検索装置1Cの機能的な構成を示すブロック図である。本実施形態の検索装置1Cは、第2実施形態の検索装置1Bと同様に、検索キーワード履歴情報を保持する検索キーワード記憶部21を備える。また、本実施形態の検索装置1Cは、第1実施形態の検索装置1Aが備える第1推奨キーワード取得部17および第2推奨キーワード取得部18に代えて、第1推奨キーワード取得部17Cおよび第2推奨キーワード取得部18Cを備える。
第2推奨キーワード取得部18Cは、第1実施形態の第2推奨キーワード取得部18、あるいは第2実施形態の第2推奨キーワード取得部18Bの機能に加えて、さらに、検索キーワード記憶部21が保持する検索キーワード履歴情報とキーワードグループ記憶部14が保持するグループ情報を参照し、ユーザが直前の検索処理で指定した検索キーワードが属するキーワードグループを特定して、そのキーワードグループのグループ情報を第1推奨キーワード取得部17Cに渡す機能を有している。
第1推奨キーワード取得部17Cは、ユーザが直前の検索処理で指定した検索キーワードが属するキーワードグループのグループ情報を、第2推奨キーワード取得部18Cから受け取る。そして、第1推奨キーワード取得部17Cは、検索画面の入力フォームに入力文字列が入力されていない状態では、直前の検索に用いた検索キーワードが属するキーワードグループに含まれる、直前の検索に用いた検索キーワード以外の他のキーワード候補を、第1推奨キーワードとして取得する。すなわち、第1推奨キーワード取得部17Cは、入力文字列が変化するごとに入力部16から入力文字列を受け取るが、この入力部16から受け取った入力文字列がブランク(空白)を示すものである場合、第2推奨キーワード取得部18Cから受け取ったグループ情報を参照し、当該グループ情報で示されるキーワードグループに含まれるキーワード候補のうち、直前の検索に用いた検索キーワード以外のキーワード候補を、第1推奨キーワードとして出力部19に渡す。
また、第1推奨キーワード取得部17Cは、検索画面の入力フォームに入力文字列が入力されると、第1実施形態の第1推奨キーワード取得部17と同様に、入力部16から受け取った入力文字列と、キーワード候補記憶部12が保持するキーワード情報とを照合し、キーワード候補記憶部12に格納されたキーワード候補のうち、所定の出力条件を満たすキーワード候補を第1推奨キーワードとして取得する。ただし、本実施形態では、第1推奨キーワードの出力条件に、直前の検索処理で用いた検索キーワードが属するキーワードグループのグループ情報が反映される。すなわち、本実施形態の第1推奨キーワード取得部17Cは、入力文字列を部分的に含むキーワード候補のうち、直前の検索処理で用いた検索キーワードが属するキーワードグループに含まれるキーワード候補を優先的に、第1推奨キーワードとして取得する。
ここで、本実施形態の第1推奨キーワード取得部17Cによる処理の具体例について、図16を用いて説明する。図16は、第1推奨キーワード取得部17Cによる処理の一例を示すフローチャートである。この図16のフローチャートで示す一連の処理は、入力文字列が変化するたびに繰り返し実行される。
第1推奨キーワード取得部17Cは、まず、第1推奨キーワードの数の上限値N(例えば、N=4)を設定する(ステップS501)。次に、第1推奨キーワード取得部17Cは、第2推奨キーワード取得部18Cから、直前の検索キーワードが属するキーワードグループを示すグループ情報を受け取る(ステップS502)。また、第1推奨キーワード取得部17Cは、入力部16から入力文字列を受け取る(ステップS503)。
次に、第1推奨キーワード取得部17Cは、ステップS503で受け取った入力文字列がブランク(空白)であるか否かを判定する(ステップS504)。そして、入力文字列がブランクであれば(ステップS504:Yes)、第1推奨キーワード取得部17Cは、ステップS502で受け取ったグループ情報が示すキーワードグループに含まれるキーワード候補のうち、直前の検索キーワードに用いたキーワード候補を除く上位N件のキーワード候補を第1推奨キーワードと判定し(ステップS505)、第1推奨キーワードを第2推奨キーワード取得部18Cおよび出力部19に渡して、一連の処理を終了する。なお、キーワード候補の順位は、例えば、図3に示すキーワード情報100の「スコア情報」106の値が大きいほど上位となるように定めることができる。
ステップS504の判定の結果、入力文字列がブランクでなければ(ステップS504:No)、第1推奨キーワード取得部17Cは、キーワード候補を一時的に保持するために、空の配列X1,X2を用意する(ステップS506)。そして、第1推奨キーワード取得部17Cは、ステップS502で受け取ったグループ情報が示すキーワードグループに対して、第1実施形態で説明した4つの条件による探索(図8のステップS205〜ステップS208)を行い、ステップS503で取得した入力文字列を部分的に含むキーワード候補を、配列X1に順次格納する(ステップS507)。
次に、第1推奨キーワード取得部17Cは、配列X1の要素数がステップS501で設定した上限値N未満であるか否かを判定する(ステップS508)。このステップS508の判定の結果、配列X1の要素数がN以上であれば(ステップS508:No)、ステップS514に処理を移行する。一方、配列X1の要素数がN未満であれば(ステップS508:Yes)、第1推奨キーワード取得部17Cは、キーワード候補記憶部12に保持されているキーワード情報を取得して(ステップS509)、取得したキーワード情報で表されるキーワード群に対して、第1実施形態で説明した4つの条件による探索(図8のステップS205〜ステップS208)を行って、ステップS503で取得した入力文字列を部分的に含むキーワード候補を、配列X2に順次格納する(ステップS510)。
次に、第1推奨キーワード取得部17Cは、配列X2に格納されたキーワード候補について、図3に示すキーワード情報100の「表記」102が重複している複数のキーワードが存在する場合に、2つ目以降のキーワード候補を削除する(ステップS511)。そして、第1推奨キーワード取得部17Cは、配列X2のキーワード候補を、図3に示すキーワード情報100の「スコア情報」106の値に従って降順ソートする(ステップS512)。
その後、第1推奨キーワード取得部17Cは、配列X1の末尾に配列X2の要素を、重複を除いて追加する(ステップS513)。そして、第1推奨キーワード取得部17Cは、ステップS201で設定した上限値Nに対し、配列X1内の先頭から最大N件のキーワード候補を第1推奨キーワードと判定し(ステップS514)、第1推奨キーワードを第2推奨キーワード取得部18Cおよび出力部19に渡して、一連の処理を終了する。
次に、本実施形態の検索装置1Cによる動作の具体例について、図17の画面例を用いて説明する。図17(a)に示す検索画面510は、図11に示した検索画面500において、ユーザが、第2表示領域503に表示された第2推奨キーワードである「埼玉動物園」を検索キーワードとして選択して検索要求を行った後、入力フォーム501の入力文字列を削除した時点での画面例である。また、図17(b)に示す検索画面520は、図17(a)に示す検索画面510の入力フォーム501に、ユーザが「さ」という文字列を入力した時点での画面例である。
「埼玉動物園」を検索キーワードとする検索が行われた後、入力フォーム501の入力文字列が削除されると、第1推奨キーワード取得部17Cは、直前の検索キーワードである「埼玉動物園」が属するキーワードグループに含まれる「埼玉動物園」以外の上位4件のキーワード候補、具体的には「日本動物園」、「動物ふれあいの里」、「神奈川動物園」、および「佐渡動物公園」の4つのキーワード候補を、第1推奨キーワードとして取得し、出力部19に渡す。その結果、図17(a)に示すように、検索画面510の第1表示領域502には、「日本動物園」、「動物ふれあいの里」、「神奈川動物園」、および「佐渡動物公園」が、次の検索キーワードとして選択可能に表示される。
この状態で、ユーザが入力フォーム501に「さ」という入力文字列を入力すると、第1推奨キーワード取得部17Cが、「埼玉動物園」が属するキーワードグループに含まれるキーワード候補を優先して、入力文字列である「さ」を部分的に含むキーワード候補である第1推奨キーワードを取得する処理を行う。ここでは、第1推奨キーワード取得部17Cは、まず「埼玉動物園」が属するキーワードグループに含まれる「佐渡動物公園」、「名古屋サファリパーク」、および「富士見サファリパーク」の3つのキーワード候補を第1推奨キーワードとして取得し、さらに、「埼玉動物園」が属するキーワードグループに含まれないキーワード候補であって、入力文字列「さ」と「表記」102が前方一致するキーワード候補のうち、「スコア情報」106の値が大きい「サッカー」を第1推奨キーワードとして取得して、これらの第1推奨キーワードを出力部19に渡す。その結果、図17(b)に示すように、検索画面520の第1表示領域502には、「佐渡動物公園」、「名古屋サファリパーク」、「富士見サファリパーク」、および「サッカー」が、次の検索キーワードとして選択可能に表示される。
本実施形態の検索装置1Cでは、以上のように直前の検索キーワードが属するキーワードグループに含まれるキーワード候補を第1推奨キーワードとして優先的に取得することで、特に、所属するキーワード候補の数が多いキーワードグループから検索キーワードの候補を絞り込む操作を簡便にすることができる。例えば、「動物園」に関するキーワードグループは、所属するキーワード候補の数が多いため、検索画面上ですべてのキーワード候補を同時に表示すると視認性が著しく低下し、また、検索画面上で所望のキーワード候補を選択する操作が煩雑になる。そのような場合に、本実施形態の検索装置1Cでは、例えば「動物園」に関するキーワードグループのように、所属するキーワード候補の数が多いキーワードグループについて、入力文字列の入力に応じてキーワード候補を絞り込んで第1推奨キーワードとしてユーザに提示することができ、ユーザの作業効率をさらに向上させることができる。
以上のように、本実施形態の検索装置1Cによれば、ユーザの直前の検索行動を考慮し、直前の検索キーワードが属するキーワードグループに含まれるキーワード候補を優先的に、第1推奨キーワードとして検索画面上で表示させるようにしているので、連続した検索行動において適切なキーワード候補を入力文字列と対応させながら、ユーザに提示することができる。また、所属するキーワード候補の数が多いキーワードグループについて、入力文字列の入力に応じてキーワード候補を絞り込んでユーザに提示することができる。したがって、本実施形態の検索装置1Cによれば、検索にかかるユーザの作業効率を大幅に向上させることができる。
(第4実施形態)
次に、第4実施形態の検索装置1Dについて説明する。本実施形態の検索装置1Dは、入力文字列の入力が進んで第1推奨キーワードの数が絞り込まれた段階で、第2推奨キーワードの取得および表示を行う。なお、本実施形態の検索装置1Dにおいて、上記の特徴部分を除く基本的な構成や動作の概要は第1実施形態と同様である。このため、以下では、第1実施形態と同一の構成には同一の符号を付して重複した説明を省略し、本実施形態に特徴的な部分を中心に説明する。
図18は、第4実施形態の検索装置1Dの機能的な構成を示すブロック図である。本実施形態の検索装置1Dは、図18に示すように、第1実施形態の検索装置1Aが備える第2推奨キーワード取得部18に代えて、第2推奨キーワード取得部18Dを備える。
第2推奨キーワード取得部18Dは、第1推奨キーワード取得部17から第1推奨キーワードを受け取ると、受け取った第1推奨キーワードの数を予め定めた所定値と比較する。そして、第1推奨キーワードの数が所定値以下の場合に、これら第1推奨キーワードが属するキーワードグループに含まれる、第1推奨キーワード以外の他のキーワード候補である第2推奨キーワードを取得する。
図19は、第2推奨キーワード取得部18Bによる処理の一例を示すフローチャートである。この図19のフローチャートで示す一連の処理は、第1推奨キーワードが変化するたびに繰り返し実行される。
第2推奨キーワード取得部18Dは、まず、キーワードグループ数の上限値T(例えば、T=3)を設定するとともに、第2推奨キーワード取得のタイミングを規定する所定値M(例えば、M=3)を設定する(ステップS601)。次に、第2推奨キーワード取得部18Dは、第1推奨キーワード取得部17から第1推奨キーワードを受け取る(ステップS602)。さらに、第2推奨キーワード取得部18Dは、キーワードグループ記憶部14に保持されているグループ情報を取得する(ステップS603)。また、第2推奨キーワード取得部18Dは、キーワードグループを一時的に保持するために、空の配列Yを用意する(ステップS604)。
次に、第2推奨キーワード取得部18Dは、ステップS602で取得した第1推奨キーワードの数を、ステップS601で設定した所定値Mと比較して、第1推奨キーワードの数が所定値M以下となっているか否かを判定する(ステップS605)。そして、第1推奨キーワードの数が所定値Mを超えている場合は(ステップS605:No)、そのまま処理を終了する。
一方、第1推奨キーワードの数が所定値M以下であれば(ステップS605:Yes)、第2推奨キーワード取得部18Dは、第1実施形態の第2推奨キーワード取得部18と同様に、第2推奨キーワードの取得を行う。すなわち、第2推奨キーワード取得部18Dは、ステップS603で取得したグループ情報を用い、ステップS602で受け取った第1推奨キーワードが属するキーワードグループを探索し、得られたキーワードグループを配列Yに格納する(ステップS606)。そして、すべてのキーワードグループについて探索が終了したら、第2推奨キーワード取得部18Dは、配列Yに格納されたキーワードグループを、キーワードグループに属する第1推奨キーワードの数が多い順に降順ソートする(ステップS607)。最後に、第2推奨キーワード取得部18Dは、ステップS601で設定した上限値Tに対し、配列Y内の先頭から最大T件のキーワードグループを取り出し、これらのキーワードグループに含まれる第1推奨キーワード以外のキーワード候補を第2推奨キーワードと判定し(ステップS608)、第2推奨キーワードを出力部19に渡して、一連の処理を終了する。
次に、本実施形態の検索装置1Dによる動作の具体例について、図20の画面例を用いて説明する。図20(a)に示す検索画面530は、ユーザが、入力フォーム501に「ど」という文字列を入力した時点での画面例である。また、図20(b)に示す検索画面540は、ユーザが文字列の入力を進めて、入力フォーム501に「どうぶつ」という入力文字列を入力した時点での画面例である。なお、本実施形態の検索装置1Dでは、上述したように、第2推奨キーワード取得部18Dが、第1推奨キーワードの数に対する閾値となる所定値Mを予め設定する。ここでは、所定値Mが“3”に設定されているものとして説明を行う。
ユーザが入力フォーム501に「ど」という文字列を入力すると、入力部16から第1推奨キーワード取得部17に入力文字列「ど」が送られる。第1推奨キーワード取得部17は、入力文字列「ど」を受け取ると、入力文字列「ど」に対応する第1推奨キーワードとして、例えば「道内牧場」、「ドイツビール」、「日本動物園」、および「日本ドームシティ」の各キーワード候補を取得し、出力部19および第2推奨キーワード取得部18Dに渡す。その結果、図20(a)に示すように、検索画面530の第1表示領域502には、「道内牧場」、「ドイツビール」、「日本動物園」、および「日本ドームシティ」が選択可能に表示される。ただし、この時点では、第1推奨キーワードの数が所定値M=3よりも大きいため、第2推奨キーワード取得部18Dは、第2推奨キーワードの取得を行わない。このため、第2表示領域503に第2推奨キーワードは表示されない。
その後、ユーザによる文字列の入力が進み、入力フォーム51に「どうぶつ」という文字列が入力されると、入力部16から第1推奨キーワード取得部17に入力文字列「どうぶつ」が送られる。第1推奨キーワード取得部17は、入力文字列「どうぶつ」を受け取ると、入力文字列「どうぶつ」に対応する第1推奨キーワードとして、例えば「日本動物園」と「北海道動物園」の2つのキーワード候補を取得し、出力部19および第2推奨キーワード取得部18Dに渡す。その結果、図20(b)に示すように、検索画面540の第1表示領域502には、「日本動物園」および「北海道動物園」が選択可能に表示される。
また、この時点では、第1推奨キーワードの数が所定値M=3以下となったため、第2推奨キーワード取得部18Dは、第2推奨キーワードの取得を行い、例えば、「動物園」に関するキーワードグループのうち、第1推奨キーワードである「日本動物園」および「北海道動物園」を除いた「埼玉動物園」、「動物ふれあいの里」、「神奈川動物園」、および「千葉動物公園」の各キーワード候補を第2推奨キーワードとして取得し、出力部19に渡す。その結果、図20(b)に示すように、検索画面540の第2表示領域503には、「埼玉動物園」、「動物ふれあいの里」、「神奈川動物園」、および「千葉動物公園」が選択可能に表示される。
本実施形態の検索装置1Dでは、以上のように、入力文字列の入力が進んで第1推奨キーワードが絞り込まれた段階ではじめて第2推奨キーワードを表示するようにしているので、ユーザの意図により近い第2推奨キーワードのみを表示して、検索画面上で検索キーワードを選択する操作を簡便にすることができる。例えば、ユーザが動物園に関する情報を得ようとして入力フォーム501に「ど」という文字列を入力した場合、図9に示した第1実施形態における検索画面500では、キーワード「日本動物園」と「日本ドームシティ」が属する観光名所に関するキーワードグループ内のキーワード候補が第2推奨キーワードとして第2表示領域502の上位に表示され、表示が煩雑になる。これに対して、本実施形態の検索装置1Dでは、入力文字列の入力が進んで、ユーザの意図が「動物」に関連するということが判明した段階で、動物園に関するキーワードグループ内のキーワード候補を優先して第2表示領域502に表示することが可能になる。このように、ユーザの意図により近い第2推奨キーワードのみを表示するため、検索画面上で検索キーワードを選択する操作を簡便にすることができる。
以上のように、本実施形態の検索装置1Dによれば、入力文字列の入力が進んで第1推奨キーワードが絞り込まれた段階ではじめて第2推奨キーワードを表示するようにしているので、検索画面上で検索キーワードを選択する操作を簡便にすることができる。したがって、本実施形態の検索装置1Dによれば、検索にかかるユーザの作業効率を大幅に向上させることができる。
(第5の実施形態)
次に、第5実施形態の検索装置1Eについて説明する。本実施形態の検索装置1Eは、第1推奨キーワードが属するキーワードグループだけでなく、第1推奨キーワードと関連性のあるキーワードグループとして予め定められたキーワードグループも対象として、第2推奨キーワードの取得を行う。なお、なお、本実施形態の検索装置1Eにおいて、上記の特徴部分を除く基本的な構成や動作の概要は第1実施形態と同様である。このため、以下では、第1実施形態と同一の構成には同一の符号を付して重複した説明を省略し、本実施形態に特徴的な部分を中心に説明する。
図21は、第5実施形態の検索装置1Eの機能的な構成を示すブロック図である。本実施形態の検索装置1Eは、図21に示すように、図2に示した第1実施形態の検索装置1Aの構成に加え、キーワードグループ出力判定ルール記憶部22をさらに備える。また、本実施形態の検索装置1Eは、第1実施形態の検索装置1Aが備える第2推奨キーワード取得部18に代えて、第2推奨キーワード取得部18Eを備える。
キーワードグループ出力判定ルール記憶部22は、所定のキーワード候補と、該キーワード候補が属さないキーワードグループであって、該キーワード候補と関連性のあるキーワードグループとの対応関係を示すキーワードグループ出力判定ルールを保持する。
図22は、キーワードグループ出力判定ルール記憶部22が保持するキーワードグループ出力判定ルールの一例を示す図である。図22に示すキーワードグループ出力判定ルール700は、対象となるキーワード候補の表記を示す「キーワード表記」701と、このキーワード候補と関連性のあるキーワードグループを識別するための「グループID」702と、このキーワードグループを特徴付ける名称である「グループ名」703とを有する。「グループ名」703は、対象となるキーワードグループに対して人手で付与してもよいし、特定の文書や辞書データからキーワードグループと組にして取得してもよい。
なお、キーワードグループ出力判定ルール記憶部22は、キーワード候補記憶部12、キーワードグループ記憶部14、およびキーワードグループ生成ルール記憶部15と同一の記憶装置を用いて実現されていてもよいし、個別の記憶装置を用いて実現されていてもよい。記憶装置は、例えば、ハードディスクやフラッシュメモリなどである。
第2推奨キーワード取得部18Eは、第1推奨キーワード取得部17が取得した第1推奨キーワードが属するキーワードグループだけでなく、第1推奨キーワード取得部17が取得した第1推奨キーワードと関連性のあるキーワードグループとしてキーワードグループ出力判定ルールが示すキーワードグループから、第2推奨キーワードを取得する。
図23は、第2推奨キーワード取得部18Eによる処理の一例を示すフローチャートである。この図23のフローチャートで示す一連の処理は、第1推奨キーワードが変化するたびに繰り返し実行される。なお、図23のフローチャートにおけるステップS701〜ステップS704の処理は、図9のフローチャートにおけるステップS301〜ステップS304の処理と同じであるため、説明を省略する。
第2推奨キーワード取得部18Eは、ステップS704で空の配列Yを用意したら、次に、キーワードグループ出力判定ルール記憶部22を探索し、ステップS702で受け取った第1推奨キーワードに対応するキーワードグループ出力判定ルール、つまり、第1推奨キーワードの表記と一致する「キーワード表記」を持つキーワードグループ出力判定ルールが存在するか否かを判定する(ステップS705)。そして、第1推奨キーワードに対応するキーワードグループ出力判定ルールが存在する場合には(ステップS705:Yes)、そのキーワードグループ出力判定ルールで示されるキーワードグループを配列Yの先頭に格納して(ステップS706)、ステップS707に進む。一方、第1推奨キーワードに対応するキーワードグループ出力判定ルールが存在しない場合には(ステップS705:No)、そのままステップS707に進む。
その後、第2推奨キーワード取得部18Eは、第1実施形態の第2推奨キーワード取得部18と同様に、第1推奨キーワードが属するキーワードグループを配列Yに格納し(S707)、ステップS707で配列Yに格納したキーワードグループを所属する第1推奨キーワードの数が多い順に降順ソートし(ステップS708)する。そして、第2推奨キーワード取得部18Eは、配列Y内の先頭から最大T件のキーワードグループを取り出して、これらのキーワードグループに含まれる第1推奨キーワード以外のキーワード候補を第2推奨キーワードと判定し(ステップS709)、第2推奨キーワードを出力部19に渡して、一連の処理を終了する。
以上のように、本実施形態の検索装置1Eによれば、第1推奨キーワードが属するキーワードグループだけでなく、第1推奨キーワードと関連性のあるキーワードグループとしてキーワードグループ出力判定ルールで示されたキーワードグループも対象として第2推奨キーワードの取得を行うようにしているので、入力文字列に対応する多様な種類のキーワード候補をユーザに提示することができる。したがって、本実施形態の検索装置1Eによれば、検索にかかるユーザの作業効率を大幅に向上させることができる。
(検索画面の変形例)
ここで、上述した各実施形態の検索装置1A〜1Eがクライアント端末2の表示装置に表示させる検索画面の変形例について、図24の画面例を用いて説明する。図24(a)および図24(b)は、いずれも、ユーザが入力フォーム501に「にほん」という文字列を入力した結果、「日本動物園」と「日本ドームシティ」の2つのキーワード候補が、第1推奨キーワードとして第1表示領域502に表示された状態の画面例を示している。本変形例では、この状態で、第1推奨キーワードが属するキーワードグループ、あるいは第1推奨キーワードに関連性のあるキーワードグループを指定する文字情報を、第1推奨キーワードとともに選択肢の1つとして第1表示領域501に表示させる。
図24(a)の検索画面550では、キーワードグループを指定する文字情報として、対象となるキーワードグループによらず、一律に“グループを表示する”という文字情報を表示させている。また、図24(b)の検索画面560では、キーワードグループを指定する文字情報として、対象となるキーワードグループに与えられたグループ名を表示させており、ここでは「日本動物園」が属するキーワードグループのグループ名である“東京の観光名所”、「日本ドームシティ」に関連性のあるキーワードグループのグループ名である“日本ドームで行われるイベント一覧”をそれぞれ表示させている。なお、キーワードグループのグループ名は、対象となるキーワードグループに対して人手で付与してもよいし、特定の文書や辞書データからキーワードグループと組にして取得してもよい。
これらの文字情報は、第1推奨キーワードとともにユーザが選択可能な選択肢の1つとされ、例えば選択領域505をこれらの文字情報の位置に移動させると、その文字情報が指定するキーワードグループに含まれる第2推奨キーワードが第2表示領域503に表示される。
このように、本変形例では、第1推奨キーワードとともに第1表示領域502に表示される文字情報が選択されたときに、選択された文字情報が指定するキーワードグループに含まれる第2推奨キーワードが第2表示領域503に表示されるので、検索画面の表示が煩雑になることを有効に抑制しながら、ユーザの意図に応じて適切なキーワード候補を第2推奨キーワードとして提示することができる。さらに、図24(b)に示した例のように、キーワードグループを指定する文字情報としてそのキーワードグループのグループ名を表示するようにすれば、その文字情報を選択したときに第2推奨キーワードとして提示されるキーワード候補の概要をユーザに把握させることができ、ユーザの操作がより簡便になる。
以上説明した各実施形態の検索装置1A〜1Eにおける各機能構成は、例えば、検索装置1A〜1Eのハードウェア構成としてコンピュータを用いる場合、このコンピュータで所定のプログラムを実行することにより実現できる。検索装置1A〜1Eとして用いるコンピュータで実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録されてコンピュータプログラムプロダクトとして提供される。
また、検索装置1A〜1Eとして用いるコンピュータで実行されるプログラムを、インターネット等のネットワークに接続された他のコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、検索装置1A〜1Eとして用いるコンピュータで実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、検索装置1A〜1Eとして用いるコンピュータで実行されるプログラムを、コンピュータ内部のROM等に予め組み込んで提供するように構成してもよい。
検索装置1A〜1Eとして用いるコンピュータで実行されるプログラムは、検索装置1A〜1Eの主要な構成要素(第1推奨キーワード取得部17,17C、第2推奨キーワード取得部18,18B,18C,18D,18E、出力部19、および検索部20)を含むモジュール構成となっており、実際のハードウェアとしては、例えば、CPU(プロセッサ)が記憶媒体からプログラムを読み出して実行することにより、上記の各構成要素が主記憶装置上にロードされ、上記の各構成要素が主記憶装置上に生成されるようになっている。なお、実施形態の検索装置1A〜1Eの主要な構成要素は、その一部または全部を、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)などの専用のハードウェアを用いて実現することも可能である。
以上述べた少なくとも一つの実施形態の検索装置によれば、キーワード候補を予め定めた規則に従ってグループ化することにより生成されたキーワードグループを記憶するキーワードグループ記憶部14と、確定前の入力文字列を部分的に含むキーワード候補である第1推奨キーワードを取得する第1推奨キーワード取得部17,17Cと、第1推奨キーワードが属するキーワードグループに含まれる、第1推奨キーワード以外の他のキーワード候補である第2推奨キーワードを取得する第2推奨キーワード取得部18,18B,18C,18D,18Eと、第1推奨キーワードおよび第2推奨キーワードを選択可能に表示する検索画面を出力する出力部19と、検索画面から選択された第1推奨キーワードまたは第2推奨キーワードを検索キーワードとした検索を行う検索部19と、を備えることにより、検索にかかるユーザの作業効率を大幅に向上させることができる。
以上、本発明のいくつかの実施形態を説明したが、これら実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。