(57)【特許請求の範囲】
【請求項１】
ある単語列と他の単語列とを含む単語列対と、当該単語列対が一定の構文構造を有する１つの文内で共起する頻度である共起頻度とを多数記憶する共起データベースと、
自然言語のテキストが入力されたことに応答して、入力されるテキストから１または複数の単語列を抽出するための単語列抽出手段と、
前記単語列抽出手段から出力される１または複数の単語列の各々について、前記共起データベースを参照して、当該単語列を起点とする共起チェーン内の単語列であって、構文構造に関する所定の条件を満たす単語列を抽出するための共起データ抽出手段と、
ネットワークを介して提供されるサービスのサービス名と、当該サービスにアクセスするためのクエリのテンプレートとを互いに関連付けて複数個記憶するためのサービス名データベースと、
前記共起データ抽出手段により抽出された単語列を含むサービス名と関連付けられたクエリのテンプレートを前記サービス名データベースから読出し、当該単語列の属する共起チェーンに基づいて当該サービスを利用するためのクエリを作成するためのクエリ作成手段と含む、情報検索装置。
【請求項２】
請求項１に記載の情報検索装置であって、
前記共起データ抽出手段は、
前記単語列抽出手段から出力される１または複数の単語列の各々について、前記共起データベースを参照して、当該単語列を含む第１の単語列対を検索するための第１の検索手段と、
前記第１の検索手段により検索された１または複数個の前記第１の単語列対において、前記単語列抽出手段から出力された単語列と対になっている単語列を抽出し、当該抽出された単語列を含む第２の単語列対を前記共起データベースから検索するための第２の検索手段と、
前記第２の検索手段により検索された前記第２の単語列対において、前記第２の検索手段による検索で用いられた単語列と対を成す、特定の構文構造を形成する単語列を特定し、当該単語列内の名詞または名詞句を前記クエリ作成手段に前記単語列として与えるための単語列特定手段とを含む、情報検索装置。
【請求項３】
請求項２に記載の情報検索装置であって、
前記単語列特定手段は、前記第２の検索手段により検索された前記第２の単語列対において、前記第２の検索手段による検索で用いられた単語列と対を成す単語列に含まれる、所定の単語列を伴う名詞または名詞句であって、前記特定の構文構造を形成し、かつ前記サービス名データベースに含まれるサービス名と一致するものを特定し、当該名詞または名詞句を前記クエリ作成手段に前記単語列として与えるための手段を含む、情報検索装置。
【請求項４】
請求項１に記載の情報検索装置であって、
前記クエリのテンプレートの各々は、検索のための情報が入力される入力フィールドを持ち、
前記サービス名データベースは、ネットワークを介して提供されるサービスのサービス名と、当該サービスにアクセスするためのクエリのテンプレートと、当該テンプレートに対応する自然言語の文であって、前記テンプレートの入力フィールドにマッピングされる、変数フィールドを含むマッピング文とを互いに関連付けて複数個記憶するためのマッピング文コーパスデータベースを含み、
前記クエリ作成手段は、
前記共起データ抽出手段により抽出された単語列を含むサービス名をキーにしてマッピング文及びクエリテンプレートを前記マッピング文コーパスデータベースから読出すための読出手段と、
前記共起チェーンに含まれる単語列と、前記テンプレート読出手段により読出されたマッピング文との比較により、前記共起チェーンに含まれる単語のうち、マッピング文に含まれる変数フィールドに対応する単語列を特定し、さらに当該変数フィールドがマッピングされた入力フィールドに当該単語列を代入することにより、前記読出手段により読出されたサービス名によるサービスを利用するためのクエリを作成するための手段とを含む、情報検索装置。
【請求項５】
請求項１に記載の情報検索装置であって、
前記共起データベースに含まれる単語列内の単語には、それぞれ単語クラスを表す単語クラス情報が付されており、
前記共起データ抽出手段は、
各単語の単語クラスを特定するための単語クラス辞書と、
前記単語列抽出手段から出力される１または複数の単語列の各々について、前記共起データベース及び前記単語クラス辞書を参照して、当該単語列を起点とする共起チェーン内の単語列であって、前記単語列に含まれる単語の単語クラスと共通する単語クラスの単語を含む単語列を抽出するための手段とを含む、情報検索装置。
【請求項６】
コンピュータを、
ある単語列と他の単語列とを含む単語列対と、当該単語列対が一定の構文構造を有する１つの文内で共起する頻度である共起頻度とを多数記憶する共起データベースと、
自然言語のテキストが入力されたことに応答して、入力されるテキストから１または複数の単語列を抽出するための単語列抽出手段と、
前記単語列抽出手段から出力される１または複数の単語列の各々について、前記共起データベースを参照して、当該単語列を起点とする共起チェーン内の単語列であって、構文構造に関する所定の条件を満たす単語列を抽出するための共起データ抽出手段と、
ネットワークを介して提供されるサービスのサービス名と、当該サービスにアクセスするためのＵＲＬとを互いに関連付けて複数個記憶するためのサービス名データベースと、
前記共起データ抽出手段により抽出された単語列を含むサービス名と関連付けられたＵＲＬを前記サービス名データベースから読出し、当該単語列の属する共起チェーンに基づいて当該ＵＲＬで提供されるサービスを利用するためのクエリを作成するためのクエリ作成手段として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、自然言語文の発話から利用者の必要とする情報を検索するための情報検索装置に関し、特に、情報検索の技術を特に持たない利用者でも的確な情報を容易に検索できる情報検索装置に関する。
【背景技術】
【０００２】
いわゆるインターネットには、多くの情報があふれている。しかもその量は日々増え続けている。しかし、いかに有用な情報がインターネット上に存在していても、その情報を的確に見出すことができなければ何の意味もない。そうしたネットワーク利用者の要求に応じる形で登場したのがいわゆる検索サイトである。
【０００３】
検索サイトには大きく分けて２種類がある。第１は、検索サイトの管理者が手作業または自動的にＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を収集し、各ＵＲＬをその内容にしたがって分類したサイトである。利用者は、自分が利用するサイトを検索サイトの分類にしたがって探していくことになる。こうしたサイトでは、分類範囲を限定し、その中で所望の単語または単語列を検索する仕組みが用意されていることが多い。第２は、予め単語または単語列に応じたサイトのインデックスを作成しておき、単語または単語列を指定した検索要求を受けると、インデックスを使用して検索し返すものである。この場合、検索結果にスコアをつけ、スコアの高いサイトから順番に利用者に提示することが一般的である。したがってこの場合には、スコアの付け方が問題となる。スコアの付け方により、検索目的に応じた的確なウェブサイトが提示される可能性が高くなる。
【０００４】
第１の種類の検索サイトでは、自分が探そうとする情報について、少なくともその分類を知っておく必要がある。しかもその分類方式は、検索サイトで利用されたものと一致していなければならない。なおかつ、こうした検索サイトでは、あまり多くのウェブサイトを登録するのは難しいという問題がある。数が増えると、同じ分類したに非常に多数のウェブサイトがリストされることになり、所望のウェブサイトまでたどり着くことが極めて困難となってしまう。こうした検索サイトで、単語または単語列によりウェブサイトを検索する場合でも、的確な単語の組合せが分からなければ所望の情報が得られない確率が高い。
【０００５】
第２の種類の検索サイトでは、単語または単語列を検索語として入力するだけで結果が表示されるため、第１の種類の検索サイトに比べると操作が簡単である。しかしこの種の検索サイトでも、自分の所望の情報を的確に得るためには、どの様な単語または単語列であれば、的確な結果が得られるかという知識が重要になる。さもなければ、自分が必要とするものと異なるウェブサイトばかりが表示されることになる。
【０００６】
ところで最近では、特定の分野に特化した検索サイトも増えている。例えば旅行先のホテルを検索するサイト、特定の地域に存在する飲食店を検索するサイト、出発地と到着地、及び出発時刻または到着時刻を指定して鉄道の時刻表を検索するサイト等、多くのサイトがある。こうしたサイトでも、基本はキーワード入力である。地図を用いて目的地等を入力する場合もあるが、その場合でも結局は地名が分からなければならない。
【０００７】
こうした検索を容易にするための技術が、例えば特許文献１に開示されている。特許文献１に開示された検索システムでは、予め複数のウェブサイトについて、単語との関連付けをしておく。利用者から単語または単語列を指定した検索要求があると、この検索システムは、まずその単語または単語列と関連の深いウェブサイトを定め、そのウェブサイトで検索した結果を利用者に提示する。ウェブサイトと単語との関連付けは、例えばある単語について各ウェブサイトへのリンクがクリックされた回数を用いて行なったり、各単語について予め各サイトに含まれている回数を計数しておき、その結果によりウェブサイトをランク付けしておいたりすることが提案されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−１８６４５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記特許文献１に開示の検索システムによれば、入力された単語と最も関連の深いと思われるウェブサイトが決定され、そのウェブサイトにおいてその単語を用いた検索が行なわれる。したがって、入力された単語と関連の深い情報が得られる可能性が高くなるという効果が得られる。
【００１０】
しかしこの特許文献１に開示された検索システムでも、利用者は、自分の探したい情報と関連の深い単語をあらかじめ知っておかなければならないという問題がある。単語さえ分かればその単語に関連のあるウェブサイトを検索システムで特定できるが、検索にふさわしい単語が分からなければ、この検索システムでも的確なウェブサイトを見つけることはできないという問題がある。
【００１１】
こうした問題を避けるために、典型的には、最初に自分が利用したいサービスに関する単語を使用してサービスそのものをどこかの検索サイトで検索し、検索されたサービスサイトでさらに自分の必要な情報を検索する、という２段の作業が必要となる。しかもこの作業が１度で済むとは限らない。したがって、インターネット上に存在するサービスに関する知識、及びそれらサービスの利用法に関する知識が乏しい利用者は、仮に自分の要求に合致したサービスがあったとしてもそれを利用することができず、必要な情報を適時に入手することが難しいという問題がある。
【００１２】
それゆえに本発明の目的は、インターネット上のサービスに関する知識も、検索語に関する知識も乏しい利用者が、簡単に自分が必要とする情報を入手できるような情報検索装置を提供することである。
【課題を解決するための手段】
【００１３】
本発明の第１の局面に係る情報検索装置は、ある単語列と他の単語列とを含む単語列対と、当該単語列対の共起頻度とを多数記憶する共起データベースと、自然言語のテキストが入力されたことに応答して、入力されるテキストから１または複数の単語列を抽出するための単語列抽出手段と、単語列抽出手段から出力される１または複数の単語列の各々について、共起データベースを参照して、当該単語列を起点とする共起チェーン内の単語列であって、所定の条件を満たす単語列を抽出するための共起データ抽出手段と、ネットワークを介して提供されるサービスのサービス名と、当該サービスにアクセスするためのクエリのテンプレートとを互いに関連付けて複数個記憶するためのサービス名データベースと、共起データ抽出手段により抽出された単語列を含むサービス名と関連付けられたクエリのテンプレートをサービス名データベースから読出し、当該単語列の属する共起チェーンに基づいて当該サービスを利用するためのクエリを作成するためのクエリ作成手段とを含む。
【００１４】
好ましくは、共起データ抽出手段は、単語列抽出手段から出力される１または複数の単語列の各々について、共起データベースを参照して、当該単語列を含む第１の単語列対を検索するための第１の検索手段と、第１の検索手段により検索された１または複数個の第１の単語列対において、単語列抽出手段から出力された単語列と対になっている単語列を抽出し、当該抽出された単語列を含む第２の単語列対を共起データベースから検索するための第２の検索手段と、第２の検索手段により検索された第２の単語列対において、第２の検索手段による検索で用いられた単語列と対を成す、予め定められる形式の単語列を特定し、当該単語列内の名詞または名詞句をクエリ作成手段に単語列として与えるための表現特定手段とを含む。
【００１５】
より好ましくは、表現特定手段は、第２の検索手段により検索された第２の単語列対において、第２の検索手段による検索で用いられた単語列と対を成す単語列に含まれる、所定の単語列を伴う名詞または名詞句であって、かつサービス名データベースに含まれるサービス名と一致するものを特定し、当該名詞または名詞句をクエリ作成手段に表現として与えるための手段を含む。
【００１６】
さらに好ましくは、クエリのテンプレートの各々は、検索のための情報が入力される入力フィールドを持つ。サービス名データベースは、ネットワークを介して提供されるサービスのサービス名と、当該サービスにアクセスするためのクエリのテンプレートと、当該テンプレートに対応する自然言語の文であって、テンプレートの入力フィールドにマッピングされる、変数フィールドを含むマッピング文とを互いに関連付けて複数個記憶するためのマッピング文コーパスデータベースを含む。クエリ作成手段は、共起データ抽出手段により抽出された単語列を含むサービス名をキーにしてマッピング文及びクエリテンプレートをマッピング文コーパスデータベースから読出すための読出手段と、共起チェーンに含まれる単語列と、テンプレート読出手段により読出されたマッピング文との比較により、共起チェーンに含まれる単語のうち、マッピング文に含まれる変数フィールドに対応する単語列を特定し、さらに当該変数フィールドがマッピングされた入力フィールドに当該単語列を代入することにより、読出手段により読出されたサービス名によるサービスを利用するためのクエリを作成するための手段とを含む。
【００１７】
共起データベースに含まれる表現内の単語には、それぞれ単語クラスを表す単語クラス情報が付されている。共起データ抽出手段は、各単語の単語クラスを特定するための単語クラス辞書と、単語列抽出手段から出力される１または複数の単語列の各々について、共起データベース及び単語クラス辞書を参照して、当該単語列を起点とする共起チェーン内の表現であって、単語列に含まれる単語の単語クラスと共通する単語クラスの単語を含む表現を抽出するための手段とを含む。
【００１８】
本発明の第２の局面に係るコンピュータプログラムは、コンピュータを、ある単語列と他の単語列とを含む単語列対と、当該単語列対の共起頻度とを多数記憶する共起データベースと、自然言語のテキストが入力されたことに応答して、入力されるテキストから１または複数の単語列を抽出するための単語列抽出手段と、単語列抽出手段から出力される１または複数の単語列の各々について、共起データベースを参照して、当該単語列を起点とする共起チェーン内の表現であって、所定の条件を満たす表現を抽出するための共起データ抽出手段と、ネットワークを介して提供されるサービスのサービス名と、当該サービスにアクセスするためのＵＲＬとを互いに関連付けて複数個記憶するためのサービス名データベースと、共起データ抽出手段により抽出された表現を含むサービス名と関連付けられたＵＲＬをサービス名データベースから読出し、当該表現の属する共起チェーンに基づいて当該ＵＲＬで提供されるサービスを利用するためのクエリを作成するためのクエリ作成手段として機能させる。
【図面の簡単な説明】
【００１９】
【図１】本発明の１実施の形態に係る情報検索装置のブロック図である。
【図２】図１に示す情報検索装置が保持する、共起データベース（以下「データベース」を単に「ＤＢ」と呼ぶ。）の内容を模式的に示す図である。
【図３】図１に示す情報検索装置が保持する、サービス／ＵＲＬ対照ＤＢの内容を模式的に示す図である。
【図４】図１に示す情報検索装置が保持する、クエリのための注釈付きテンプレートの内容を模式的に示す図である。
【図５】図１に示す情報検索装置において、入力された自然言語文からなる対象文に基づき、共起ＤＢから共起データを抽出する処理を実現するプログラムの制御構造を示すフローチャートである。
【図６】図１に示す情報検索装置において、図５に制御構造を示すプログラムにより抽出された共起データに基づき、さらに共起ＤＢを検索して共起チェーンを作成する処理を実現するプログラムの制御構造を示すフローチャートである。
【図７】図１に示す情報検索装置において、共起チェーンから得られたサービス名をキーに、サービス／ＵＲＬ対照ＤＢを検索し、ＵＲＬを抽出する処理を実現するプログラムの制御構造を示すフローチャートである。
【図８】図１に示す情報検索装置において、共起チェーンから得られた単語または単語列を用いた検索を行なうため、図１に示すマッピングコーパスと共起チェーン内の表現とを用いてクエリを作成する処理を実現するためのプログラムの制御構造を示すフローチャートである。
【図９】図８に示す処理により作成されたクエリを用いてブラウザを起動する処理を実現するプログラムの制御構造を示すフローチャートである。
【図１０】携帯電話と図１に示す情報検索装置とを連携させた検索システムの構成を示すブロック図である。
【図１１】図１０に示すコンピュータのハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００２０】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
【００２１】
［構成］
図１を参照して、本発明の１実施の形態に係る情報検索装置システム２０は、インターネット上のＷｅｂサイトから多数の文を収集することにより構築されたＷｅｂコーパス３２と、装置の設置されている位置の位置情報を出力するＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）装置３８と、Ｗｅｂコーパス３２及びＧＰＳ装置３８に接続され、利用者により入力される自然言語文のテキストから、その利用者が必要としている情報を的確に検索し、ブラウザ４０にその検索結果を表示させる処理を行なう情報検索装置３０とを含む。情報検索装置３０に入力される自然言語文は、本実施の形態では、利用者の音声による発話３４を、音声認識装置３６が認識し自然言語の文字列として出力したテキストデータである。
【００２２】
なお、本実施の形態では、Ｗｅｂコーパス３２としてインターネット上のＷｅｂサイトから収集した文からなるものを用いている。しかし、当業者であれば、このコーパスがインターネット上から収集した文からなるものに限定されないことは容易に理解できるであろう。
【００２３】
情報検索装置３０は、音声認識装置３６から出力されるテキスト列を受け、このテキストを形態素解析及び構文解析し、テキストに含まれる言語表現として、単語または単語列（以下単に「単語列」と呼ぶ。）を出力するための対象文フィルタ５６と、予め準備された、多数の単語をそれらの意味にしたがって分類したシソーラス５４とを含む。本実施の形態では、シソーラス５４は、例えば単語をリーフとするツリー状の構造を持つ。ツリーの各ノードは、そのノードより下位のリーフの単語が共通に属する、より抽象的な単語クラスを表す。ある単語と別の単語との間の意味的距離は、例えば上記ツリー上で一方の単語から他方の単語まで到達するために必要なエッジ数またはノード数により表すことができる。本実施の形態において、対象文フィルタ５６が出力する単語列は、構文解析により得られた構文解析情報、典型的には構造解析木、を伴うものである。このように構文解析情報を含む単語列を本明細書では「単語列パターン」と呼ぶ
【００２４】
情報検索装置３０はさらに、Ｗｅｂコーパス３２に含まれる各文について、シソーラス５４を参照して、各文に含まれる各単語に単語クラスを示すタグを付与する作業と、各文に含まれる単語列の対の共起頻度をその構文情報を考慮して算出して出力するための共起データ作成装置５０と、共起データ作成装置５０により出力される単語列の対を、その共起頻度とともに記憶する共起ＤＢ５２とを含む。この実施の形態では、第１の単語列及び第２の単語列が共起するとは、Ｗｅｂコーパス３２内のある１文内に両者が存在することを言う。この実施の形態では、文と文とは句点（「。」）により区分される。共起頻度の算出においては、単語列が出現する構造まで考慮する。すなわち、ある単語列とある単語列とが、ある単語列パターンの中で出現するときの共起頻度と、別の単語列パターンの中で出現するときの共起頻度とは別々に計算される。なお、単純に１次元的に配列された単語列も、１次元的配列という単純な構造を持つものとして処理してもよい。その場合、構文解析を行なう必要はない。
【００２５】
情報検索装置３０はさらに、対象文フィルタ５６から与えられる単語列の各々について、シソーラス５４を参照した単語クラスのタグ付け及び構文解析をしながら、共起ＤＢ５２内でその単語列とあるしきい値以上の頻度で共起する単語列を検索する処理を行なう共起データ検索部５８と、共起データ検索部５８により検索された共起データの中で、検索の元になった単語列（これらを以下「第１の単語列」と呼ぶ。）とは異なる（共起ＤＢ５２内において、第１の単語列と対をなしている）単語列（これらを以下、「第２の単語列」と呼ぶ。）と連鎖的に共起する単語列（これらをまとめて以下「第３の単語列」と呼ぶ。）であって、特定の形式に合致するものを検索するための関連共起データ検索部６０とを含む。
【００２６】
関連共起データ検索部６０による検索で使用される特定の形式とは、主として「○○で××を検索」、「○○で××をチェック」、「○○で××をサーチ」、「○○で××を探す」等、助詞の「で」を伴う語句と、それらの構文解析木とである。すなわち関連共起データ検索部６０により、単語列パターンが抽出される。この例で「××」が、共起データ検索部５８により共起ＤＢ５２から検索された共起データから抽出された単語列に相当する。本実施の形態では、構文解析木を使用することにより、構文解析木の一部のノードを省略した単語列パターンも生成し、比較対象とする。この結果、例えば「○○で××を検索」という単語列だけでなく、「○○で簡単に××を検索」という単語列からも「○○で××を検索」という単語列が共起データとして検索できる。
【００２７】
本実施の形態では、共起データ検索部５８及び関連共起データ検索部６０による共起データの検索のように、１つの単語列パターンを起点として、連鎖的に共起データを検索することにより得られる一連の単語列パターンの集合を「共起チェーン」と呼ぶ。共起データを互いに連関させるという操作自体も「共起チェーン」と呼ぶ。共起データ検索部５８及び関連共起データ検索部６０は、この共起データの検索の際、入力された単語列パターンと完全に一致する共起データだけでなく、単語クラスに基づいて、入力された単語と意味的に近い単語列を含む共起データも検索する。
【００２８】
情報検索装置３０はさらに、予め作成された、インターネット上の種々のサービスのサービス名と、それらサービスを利用するためのＵＲＬとを対にして複数個記憶するサービス名／ＵＲＬ対照ＤＢ６２と、対象文フィルタ５６から出力されたある単語列パターンに対して共起データ検索部５８及び関連共起データ検索部６０により得られた共起チェーン内の単語列パターンから、入力された自然言語文に対する的確な情報を与えると思われるサービスのサービス名を、サービス名／ＵＲＬ対照ＤＢ６２に存在するサービス名から推定し、対応するＵＲＬとともに出力するためのサービス名推定部６４と、各サービスを利用するクエリを作成するために予め準備されている、単語列内の変数とクエリ内の入力フィールドとのマッピングを記述した注釈付きのマッピング文及びクエリテンプレートを含むマッピング文対からなるマッピングコーパスをサービス名と関連付けて記憶するためのマッピングコーパス記憶部６６とを含む。
【００２９】
情報検索装置３０はさらに、サービス名推定部６４から出力されたサービス名及びＵＲＬに基づき、マッピングコーパス記憶部６６から読み出されたクエリテンプレート内の注釈と、シソーラス５４と、共起チェーン内の単語列パターンに付された単語クラスに関する情報と、文の構造の類似度と、単語列パターン内の変数に相当する単語の文脈情報とを用い、クエリテンプレート内で検索のための単語列を入力すべき位置として指定されている入力フィールドに、共起チェーンに含まれるいずれかの単語列を挿入することにより、クエリ文を生成して出力するためのクエリ作成部６８とを含む。クエリテンプレートの中には、後述するようにＧＰＳの出力を入力するように指定された注釈を含むものがある。そうした場合、クエリ作成部６８は、ＧＰＳ装置３８の出力、またはＧＰＳ装置３８の出力から得られる地名若しくは駅名等を当該注釈部分に挿入する。
【００３０】
情報検索装置３０はさらに、ブラウザを起動し、クエリ作成部６８から出力されたＵＲＬに対してクエリ作成部６８から出力されたクエリを発行させるためのブラウザ起動処理部７０を含む。
【００３１】
図２を参照して、共起ＤＢ５２に記憶される共起データの各々は、第１の単語列と、第２の単語列と、これら第１及び第２の単語列が一定の構文構造を有する１つの文内で共起する頻度（共起頻度）とを含む。すなわち、共起頻度の計算において、第１の単語列と第２の単語列とが表面的には同じ順序で出現する文であっても、その構文構造が異なる場合、これらは別々の共起データとして扱われる。第１及び第２の単語列のうち、主要な単語には、その単語が属する単語クラスを示すタグが付されている。これら共起データは、Ｗｅｂコーパス３２から得られるものである。Ｗｅｂコーパス３２には、例えばいわゆるブログに記載されたテキストが多数含まれているであろう。したがって例えば、「飲食店Ｊでラーメンを食べた」、「レストランＫでラーメンを食べた」、「レストランＸで食事をした」、「電車で東京に行く」等という表現が多数存在しているであろう。これらはいずれも、具体的な店名、地名、交通機関名等をあげ、それらに関して具体的に何をしたかを記述している。ここでは、便宜上これらを「具体的記述」と呼ぶ。さらに、ブログの中には、それらの具体的な店名、知名、交通機関名等をどの検索サイトで検索したかに関する記載も多数存在するものと思われる。例えば「サイトＳでラーメン屋を検索」、「サイトＭで電車をチェック」、「サイトＬでラーメン屋をサーチ」等という表現である。これらは、具体的な名称を検索した手段に関する記述である。ここでは、便宜上これらの記述を「検索手段に関する記述」と呼ぶ。
【００３２】
図２に示す共起データから、例えばある具体的な行動と、その行動が行なわれた具体的な店名、地名、交通機関名等とが対となっている例（具体的記述）と、具体的な店名、地名、交通機関名等と、それらを検索した手段を特定する記載とが対となっている例（検索手段に関する記述）との間には、具体的な店名、地名、交通機関名等を仲介とする関係があることが分かる。すなわち、ある具体的な行動を示す表現と共起する具体的な店名、地名、交通機関名等を特定すると、共起データの連鎖から、その店名、地名、交通機関名等と共起する検索手段に関する記述を抽出できる。この連鎖は、特定の段階までに制限することもできるし、例えば互いに異なる共起データが得られなくなるまで続けることもできる。その結果、具体的な行動を示す単語列パターンが与えられると、その単語列パターンに相当するものを検索するための検索手段に関する記述を抽出できる。
【００３３】
本実施形態では、この共起チェーンを利用することにより、利用者から与えられる検索のための自然言語文から、利用者が求める情報を得るための検索サービスのようなサービスを提供するサイトを特定する。
【００３４】
図３を参照して、サービス名／ＵＲＬ対照ＤＢ６２は、検索等のサービスを提供するサイトの名称（サービス名）と、そのサービスを利用するためのＵＲＬとからなるサービス情報が複数個記憶されている。これらの情報は、手作業で登録してもよいが、インターネット上で自動的に収集してもよい。または、サービス提供事業者にこの内容を登録させるようにしてもよい。本実施の形態は、サービス名／ＵＲＬ対照ＤＢ６２が既に準備されていることを前提とする。なお、ここに示すＵＲＬ情報は、サービスにアクセスするためのＵＲＬとともに、そのサービスを利用するためのクエリのテンプレートもかねる。したがって、このＵＲＬ情報には、発話からサービスに対するクエリを作成するために必要な情報の入力位置、たとえば検索サービスにおける検索語を挿入するフィールドの位置に関する情報などが含まれている。この情報は、マッピングコーパスにもコピーされ記憶される。したがってその詳細はマッピングコーパスの説明において行なう。
【００３５】
図４を参照して、マッピングコーパス記憶部６６は、複数のマッピング対を含む。各マッピング対は、サービスを利用するための、入力データを特定する情報（入力フィールド）を持つクエリのテンプレートと、共起データ内の特定位置（変数フィールド）に存在する単語を、クエリのテンプレート内の入力フィールドにマッピングするためのマッピング文とを含む。
【００３６】
各テンプレートは、サービスを利用する際のＵＲＬの記述であって、クエリのための変数が挿入されるべき１または複数の入力フィールドを含む。各入力フィールドには、フィールド名が与えられている。これら入力フィールドに、共起データ中で、マッピング文中の変数フィールドにより特定される単語を挿入することにより、クエリが作成される。
【００３７】
マッピング文は、共起データに含まれるどの単語をテンプレートのどの位置にマッピングするかを定めるためのものである。
【００３８】
例えば図４に示すマッピング文のうち、１番目のものは以下のような意味を持つ。このマッピング文は、「電車時刻表サービスの名称１」という名称を持つサービスを利用するためのクエリを作成するためのものである。このマッピング文には、クエリのテンプレートに挿入されるべき変数位置（変数フィールド）を示すタグが２箇所ある。１番目のタグは、「入力１」という名称の変数を示す。タグには「駅名」という属性が付されているので、ここに入るべき単語も「駅名」という属性を満たす必要がある。マッピング文のこの変数フィールドには、「京都」という単語が挿入されている。２番目の変数の名称は「入力２」であり、ここに入るべき単語は「駅名」という属性を満たす必要がある。ただし、この入力２の属性として「ＧＰＳ」が付されているので、この入力２については、ＧＰＳの出力を利用して特定することができる。例えばＧＰＳの出力を利用すると、ＧＰＳの出力によって特定される位置に最も近い駅名が、クエリのテンプレートのうち、「入力２」という名称の変数フィールドに挿入される。なお、図４に示す例では、変数フィールド位置には既に京都、名古屋等の地名が入力されている。これは、Ｗｅｂコーパス３２から抽出された文をそのまま使用しているためである。「京都」「名古屋」等の地名は、単語が挿入される位置を示しているが、後述するようにどのマッピング対を使用するかを決定する際のスコア計算において、挿入すべき単語と、マッピング文に挿入されている単語との間の意味的な関連（単語クラス）を示すものとして、スコアの計算に関連する。このスコア計算では、単語クラスだけではなく、文の類似度及び単語の文脈情報（「に」、「へ」、「から」のような助詞など、単語の前後の語）も使用される。
【００３９】
図５を参照して、情報検索装置３０において、入力された自然言語文に基づき、共起ＤＢ５２から共起データを抽出する処理（共起データ検索部５８の機能）を実現するプログラムは、以下のような制御構造を持つ。すなわち、このプログラムは、対象文フィルタ５６から与えられる単語列パターンの各々に対し、以下のステップ１０２の処理を実行するステップ１００と、ステップ１００で検索された全ての単語列パターンのうち、処理対象となるフレーズとの共起頻度が上位の所定個数のみを出力するステップ１０４とを含む。
【００４０】
ステップ１０２は、処理対象のフレーズに含まれる単語に対し、シソーラス５４を用いて単語クラスを示す意味タグを付与するステップ１１０と、ステップ１１０の処理がされたフレーズをキーとして、共起ＤＢ５２を検索し、当該フレーズと共起する単語列パターンを検索するステップ１１２とを含む。
【００４１】
図６を参照して、図５に制御構造を示すプログラムにより抽出された共起データに基づき、さらに共起ＤＢを検索して共起チェーンを作成する処理を実現するプログラムは、以下のような制御構造を持つ。すなわち、このプログラムは、図５のプログラムで抽出された共起データの単語列パターンの全てに対して、以下のステップ１３２を実行するステップ１３０を含む。
【００４２】
ステップ１３２は、処理対象となる単語列パターンをキーとし、「○○で＜キーとなる単語列＞を検索」、「××で＜キーとなる単語列＞をチェック」、「△△で＜キーとなる単語列＞をサーチ」等の形の共起データを構文解析情報まで含めて共起ＤＢ５２内で検索して出力するステップ１４０と、ステップ１４０で検索された共起データの共起頻度に、キーとなる単語列が検索されたときの共起頻度を乗じることにより、ステップ１４０で検索された全ての共起データの共起頻度を計算するステップ１４２と、ステップ１４２で計算された共起頻度の降順に、ステップ１４０で検索された共起データをソートするステップ１４４と、ステップ１４４でソートされた共起データのうち上位所定個数の中に、新規な共起データがあるか否かを判定し、その結果により制御の流れを分岐させるステップ１４５とを含む。ステップ１４５の判定が否定であればこｎプログラムは実行を終了し、親プログラムに制御を戻す。
【００４３】
以下に説明するように、図６に制御構造を示すプログラムは再帰的に実行され、処理を終了するとその処理の中で検索された共起データの集合（またはそれらの記憶されたロケーションへのポインタ）を戻り値として返す。ステップ１４５の判定は、そのように再帰的に検索された共起データの集合と、ステップ１４０で検索されステップ１４２及び１４４の処理で共起頻度によりソートされたものの内の上位の所定個数とを比較することにより行なわれる。
【００４４】
このプログラムはさらに、ステップ１４５の判定が肯定のときに実行され、ステップ１４４でソートされた共起データのうちの上位の所定個数のうち、新規なもののみを選択して戻り値の集合に格納するステップ１４６と、ステップ１４６で新たに格納された共起データを引数として自己（図６に制御構造を示すプログラム）を先的に呼び出し、その戻り値を戻り値に追加するステップ１４８とを含む。こうして一連の再帰的な処理により得られた一群の共起データが、最初に処理対象として選択された単語列パターンの共起チェーンをなす。
【００４５】
図７を参照して、サービス／ＵＲＬ対照ＤＢを検索し、ＵＲＬを抽出する処理を実現するプログラムは以下の制御構造を持つ。すなわち、このプログラムは、図６に示す処理で抽出された共起データ（以下これを「関連共起データ」と呼ぶ。）の各々対し、以下のステップ１６２の処理を実行するステップ１６０を含む。
【００４６】
ステップ１６２は、関連共起データ内の単語列パターンに含まれる単語列をキーにして、サービス名／ＵＲＬ対照ＤＢ６２を検索し、当該単語列と一致するサービス名を抽出するステップ１７０と、ステップ１７０での検索の結果、条件を満たすようなサービス名がサービス名／ＵＲＬ対照ＤＢ６２に存在するか否かを判定するステップ１７２と、ステップ１７２の判定が肯定のときに、サービス名／ＵＲＬ対照ＤＢ６２で検索されたサービス名に対応するＵＲＬを、この共起チェーンとともに出力するステップ１７４とを含む。ステップ１７２の判定が否定の場合、処理対象となっている単語列パターンに対しては何も処理をしない。
【００４７】
図８を参照して、マッピングコーパス記憶部６６に記憶されたマッピングコーパスと、図７に示すプログラムにより抽出された共起チェーン内の単語列パターンとを用いてクエリを作成するプログラムは、以下のような制御構造を持つ。すなわちこのプログラムは、共起チェーンに含まれる各共起データについて、以下のステップ１９２を実行することにより１または複数のクエリ文を生成するステップ１９０と、ステップ１９０の処理の完了後、ステップ１９０で得られたクエリの中で最も高い確率（スコア）が割当てられたクエリを選択して出力し、処理を終了するステップ１９４とを含む。
【００４８】
ステップ１９２は、マッピングコーパス記憶部６６に含まれるマッピング文対の各々に対して、以下のステップ２０２を実行するステップ２００を含む。
【００４９】
ステップ２０２は、マッピング文対のサービス名が、処理対象の共起チェーンに付されたサービス名と一致するか否かを判定するステップ２０８を含む。ステップ２０８の判定が否定のときには、制御は次のマッピング文の処理に進む。判定が肯定のときには以下に述べる処理を実行する。
【００５０】
すなわち、ステップ２０２はさらに、処理対象のマッピング対内のマッピング文の変数フィールドと、共起データに含まれる単語または単語列とで、属性（単語クラス）がマッチするものが存在するか否かを判定するステップ２１０と、ステップ２１０の判定が肯定のときに、マッピング対内のクエリテンプレートの入力フィールドのうち、そのような変数フィールドがマッピングされたもののすべてに、属性がマッチする単語または単語列を挿入するステップ２１２と、共起データ内でマッチした単語または単語列と、対応する変数フィールドに挿入されていた単語または単語列との間の意味的距離、それぞれの単語または単語列の文脈情報、及びそれら単語または単語列の単語クラスとにしたがってスコアを算出し、スコアに基づいて確率を調整するステップ２１４と、マッピング文に「ＧＰＳ」タグが付された入力フィールドがあるか否かを判定するステップ２１６と、ステップ２１６の判定が肯定のときに、その入力フィールドにＧＰＳ装置３８の出力と変数フィールドの属性とを用いて決定した単語を挿入して、得られたクエリを出力するステップ２１８とを含む。ステップ２１０の判定では、例えば入力フィールドの属性である単語クラスと、共起データ中の単語の単語クラスとの意味的距離が所定のしきい値以下であれば、両者がマッチするものと判定する。ステップ２１４では、マッチ時の単語の間の意味的距離が大きければスコアが相対的に小さく、意味的距離が小さければスコアが相対的に大きくなるように、文脈の一致が大きければスコアが相対的に大きく、文脈の一致が小さければスコアが相対的に小さくなるように、クエリにスコアを付与し、そのスコアの値にしたがって確率を調整する。
【００５１】
ステップ２０２はさらに、ステップ２１０の判定が否定のときに、クエリに割当てられる確率を、予め定められた最小の確率に設定するステップ２２０と、最小の確率が割当てられたＮＵＬＬのクエリを出力するステップ２２２とを含む。
【００５２】
なお、ステップ２１６の判定が否定の時には、ステップ２１８の処理をすることなく、作成済みのクエリがクエリとして出力される。
【００５３】
図９を参照して、図８に示す処理により生成されたクエリを用いてブラウザを起動する処理を実現するプログラムは、以下のような制御構造を持つ。すなわち、このプログラムは、与えられたクエリがヌルか否かを判定するステップ２６０と、ステップ２６０の判定が否定のとき（すなわちクエリがヌルでないとき）に、クエリに付されているサイトＵＲＬに、クエリを送信する指示とともにブラウザを起動して処理を終了するステップ２６４と、ステップ２６０の判定が肯定のときに、クエリに付されているサイトＵＲＬにアクセスする指示と共にブラウザを起動し処理を終了するステップ２６２とを含む。ステップ２６４の処理が実行されると、ブラウザは起動とともに、指定されたＵＲＬに指定されたクエリを発行する。その結果、ブラウザには、そのクエリに対する結果が表示される。一方、ステップ２６２の処理が実行された場合、ブラウザは単に指定されたＵＲＬのサイトを開くだけである。利用者が手操作で検索キーワードを入力することになる。
【００５４】
［動作］
以上、構成について詳細に説明した情報検索装置システム２０は以下のように動作する。なお、この処理に先立ち、Ｗｅｂコーパス３２にはＷｅｂから収集した大量の機械可読な文章が蓄積されているものとする。
【００５５】
図１を参照して、最初に、共起データ作成装置５０が、Ｗｅｂコーパス３２を処理して共起ＤＢ５２を生成する。このとき共起データ作成装置５０は、Ｗｅｂコーパス３２中の各文を形態素解析して各単語に品詞等の属性情報を付与するとともに、シソーラス５４を参照して各単語の単語クラスの情報も属性情報として付与する。
【００５６】
発話者が何か情報を入手しようとする場合を考える。例えば何かを食べたいときには、利用者は「☆☆が食べたい」等という発話を発すればよい。図１を参照して、発話者が何か発話すると、音声認識装置３６がその発話を音声認識し、テキスト（文字列）として対象文フィルタ５６に与える。対象文フィルタ５６は、入力されたテキストに対し、形態素解析及び構文解析を行ない、処理の対象となる単語列パターンを１または複数個、共起データ検索部５８に与える。共起データ検索部５８は、与えられた単語列パターンの各々についてシソーラス５４を参照して単語クラスを示すタグを付与する（図５、ステップ１１０）。共起データ検索部５８はさらに、共起ＤＢ５２を参照して、与えられた単語列パターンと共起する単語列パターンであって、共起頻度がしきい値以上のものを検索する（ステップ１１２）。この際、対象文フィルタ５６は、入力された単語列パターンと完全に一致するものを含む共起データだけではなく、入力された単語列パターンの単語クラスに基づき、意味的な距離がしきい値以下のものを含む共起データも検索する。ただしこの場合、共起頻度はその分だけ低く調整される。検索された共起データには、このようにして調整された共起頻度が確率として付与される。対象文フィルタ５６は、検索された共起データのうち、共起頻度（確率）が上位の所定個数のみを関連共起データ検索部６０に出力する（ステップ１０４）。
【００５７】
関連共起データ検索部６０は、対象文フィルタ５６により検索された共起データのうち、対象文フィルタ５６から出力された単語列パターンとは異なる単語列パターンを抽出し、その単語列を含み、かつ特定の形態の共起データを共起ＤＢ５２内で再帰的に検索する（図６、ステップ１４０からステップ１４８）。特定の形態とは、主に、「○○で××を検索」、「○○で××をチェック」、「○○で××をサーチ」、「○○で××を探す」等、助詞の「で」を伴う語句である。なおこの例で「××」が、共起データ検索部５８により共起ＤＢ５２から検索された共起データから抽出された単語列パターン内の単語に相当する。以上のような処理により対象文フィルタ５６から出力された単語列パターンの共起チェーンが作成される。この場合にも各単語列パターンには、確率が付与される。この場合の確率は、共起データ検索部５８から出力される単語列パターンに付与されていた確率と、関連共起データ検索部６０により検索された共起データに付与されていた共起頻度との積である（ステップ１４２）。
【００５８】
関連共起データ検索部６０はさらに、このようにして検索された共起データの中で、確率が上位の所定個数のみを、確率を付してサービス名推定部６４に与える（ステップ１４４及びステップ１４６）。
【００５９】
サービス名推定部６４は、関連共起データ検索部６０により検索された共起データの中の「○○で」に相当する部分の単語列と合致するサービス名がサービス名／ＵＲＬ対照ＤＢ６２に存在するか否かを判定する（図７、ステップ１７０）。そうしたサービス名が存在すると（ステップ１７２の判定が肯定）、サービス名推定部６４は、そのサービス名と、そのサービス名に対応するＵＲＬとを、共起チェーンを構成する単語列パターンとともにクエリ作成部６８に与える（ステップ１７４）。
【００６０】
クエリ作成部６８は、マッピングコーパス記憶部６６を参照して、サービス名推定部６４から出力されたサービス名と、マッピングコーパス記憶部６６から読み出したマッピング文対とを比較し（図８、ステップ２０８）、サービス名が一致するものがあれば（ステップ２０８の判定が肯定）、そのマッピング文対のうち、マッピング文の変数フィールドに指定された属性と共起チェーン内の単語列パターン内の単語列の属性とを比較する（ステップ２１０）。一致するものがあれば（ステップ２１０の判定が肯定）、その単語列をそのテンプレートの、その変数フィールドがマッピングされた入力フィールドに代入する（ステップ２１２）。クエリ作成部６８は、このようにして作成されたクエリの確率を、マッチした単語とマッピング文のその変数の位置に挿入されていた単語との単語クラスの距離、単語の類似度、およびそれら単語の周囲の文脈情報により計算されるスコアで調整する（ステップ２１４）。クエリ作成部６８はさらに、変数フィールドに、「ＧＰＳ」という属性が指定されたものがあるか否か判定し（ステップ２１６）、あれば、ＧＰＳ装置３８の出力とその変数フィールドに付された属性とを用いて定めた値（例えばＧＰＳで得られた位置に最も近い駅名など）をその入力フィールドに代入し出力する（ステップ２１８）。
【００６１】
マッピング文の変数フィールドの中に、処理対象の共起データに含まれる単語列パターンとマッチするものがなければ（図８、ステップ２１０でＮＯ）、クエリの確率を予め定めた最小値に設定し（ステップ２２０）、その確率が割当てられたＮＵＬＬのクエリを出力する（ステップ２２２）。
【００６２】
クエリ作成部６８は、このようにして共起チェーン内の全共起データと全マッピング文対とについて、可能であればクエリを作成し蓄積する。クエリ作成部６８は最後に、蓄積されたテンプレートのうちで最も確率の高いものをクエリとして選択し、そのＵＲＬとともにブラウザ起動処理部７０に与える（ステップ１９４）。
【００６３】
ブラウザ起動処理部７０は、クエリ作成部６８から与えられたクエリを、指定されたＵＲＬに送信する指示とともにブラウザ４０に送信し、ブラウザ４０を起動する。ブラウザ４０は、起動するとともにそのクエリがＮＵＬＬか否かを判定する（図９、ステップ２６０）。クエリがＮＵＬＬでなければ（ステップ２６０の判定が否定）ならブラウザ起動処理部７０は、与えられたクエリを指定されたＵＲＬに送信し、その結果を表示する。したがってブラウザ４０には、発話３４に含まれる単語列に基づき、Ｗｅｂコーパス３２から得られた共起データを使用することにより推定されたサービス提供サイトから得られた情報が表示される。クエリがＮＵＬＬであれば（ステップ２６０の判定が肯定）、ブラウザ起動処理部７０は。与えられたクエリに付されていたＵＲＬにアクセスし、そのページを開く。利用者はそのページに検索のためのキーワードを入力する。
【００６４】
以上のように本実施の形態によれば、利用者は、単に自分が知りたい情報について発話３４を発するだけでよく、そうした情報を提供するサービスサイト名を知る必要もないし、そのＵＲＬを知る必要もない。その結果、本実施の形態に係る情報検索装置システム２０によれば、インターネット上のサービスに関する知識も、検索語に関する知識も乏しい利用者が、簡単に自分が必要とする情報を入手できる。
【００６５】
なお上記した実施の形態では、サービス名を推定するための共起データを検索する際、助詞「で」を含むものを検索する。しかし本発明はそのような実施の形態には限定されない。助詞「で」だけでなく、「を使って」、「において」等、他の表現を加えることもできる。また、上記例では「○○で××を検索」のような語順のものを挙げたが、これに限らず「××を○○で検索」という語順のものの検索対象となる。これらの他にも、インターネット上のサービス名を含む表現は、インターネット上には他にも多数ある物と考えられる。それらが見出されるたびに関連共起データ検索部６０での検索において、検索対象に加えればよい。
【００６６】
上記した実施の形態は、図１に示すように単独の装置上に構築することを前提としている。しかし、図１を当業者が見れば容易に分かるように、このシステムはいくつかの部分に分割することができる。例えば図１において、発話３４の入力を受ける部分とそれ以外の部分とは別にすることができる。さらに、音声認識装置３６と対象文フィルタ５６との間でも装置を分割することができる。
【００６７】
図１０にそのような例を示す。図１０に示すシステムは、音声信号をデジタル化して所定のＵＲＬに送信する機能を持つ携帯電話３００と、携帯電話３００から送信された音声信号に対し、図１に示す音声認識装置３６以下の処理を実行し、その結果、ブラウザ起動処理部７０から得られる出力をブラウザ起動命令として携帯電話３００に返信する情報検索サーバコンピュータ３３０とを含む。情報検索サーバコンピュータ３３０からのブラウザ起動命令を受信した携帯電話３００がブラウザを起動し、指定されたＵＲＬに指定されたクエリを送信することで、そのＵＲＬにより指定されたサーバサイトからの情報が携帯電話３００のブラウザ画面に表示される。ただし、図１のクエリ作成部６８において、携帯電話３００に設けられているＧＰＳ装置の出力を使用してクエリを作成する必要がある。そのため、情報検索サーバコンピュータ３３０に仮にＧＰＳ装置が設けられていても、その出力をクエリに挿入することはできない。この問題は種々の方法で回避できる。
【００６８】
第１の方法は、携帯電話３００から情報検索サーバコンピュータ３３０に音声信号を送信するときに、携帯電話３００に備えられたＧＰＳ装置の出力も情報検索サーバコンピュータ３３０に送信する、というものである。この場合、クエリ作成部６８は、クエリテンプレートに「ＧＰＳ」というタグが付された入力フィールドがある場合、携帯電話３００から送信された位置情報をその入力フィールドに代入する。
【００６９】
第２の方法は、クエリ作成部６８ではクエリテンプレートに「ＧＰＳ」というタグが付されている入力フィールドがあるときには、その部分をそのまま残しておく、という方法である。この場合、ブラウザ起動処理部７０からブラウザ起動命令を受けた携帯電話３００が、クエリ中の「ＧＰＳ」というタグが付された入力フィールドに、自分の持つＧＰＳ装置の出力を挿入してから、指定されたＵＲＬにそのクエリを送信すればよい。
【００７０】
このほかにも種々の方法が可能であるが、上記した２つが代表的な方法である。
【００７１】
なお、図１に示す例では、情報検索装置３０は共起データ作成装置５０を含んでいる。しかし、情報検索装置３０が動作するためには、共起ＤＢ５２が存在していればよく、共起データ作成装置５０は必ずしも必要ではない。共起ＤＢ５２は、例えばネットワーク上の別のサーバで作成され、情報検索装置３０がその共起ＤＢ５２を受信して記憶装置に保存するようにしてもよい。
【００７２】
図１０に示す例では、携帯電話３００は音声信号をデジタル化して情報検索サーバコンピュータ３３０に送信している。これは、携帯電話３００の利用できるハードウェアリソースに限りがあるためである。携帯電話３００がより高機能な端末であれば、例えば発話３４を音声認識する音声認識装置３６を携帯電話３００内のソフトウェアにより実現し、認識結果のテキストを情報検索サーバコンピュータ３３０に送信するようにしてもよい。
【００７３】
［コンピュータによる実現］
図１０に示す情報検索サーバコンピュータ３３０は、図１に示す情報検索装置システム２０のうち、音声認識装置３６を除いた構成を持つ。ハードウェア的には、情報検索サーバコンピュータ３３０は、コンピュータハードウェアと、そのコンピュータハードウェアにより実行されるプログラムと、コンピュータハードウェアに格納されるデータとにより実現できる。プログラムの主要な部分の制御構造については図５〜図９に示し、データの例は図２〜図４に示した。
【００７４】
図１０を参照して、この情報検索サーバコンピュータ３３０は、ＦＤ（フレキシブルディスク）ドライブ３５２およびＣＤ−ＲＯＭ（コンパクトディスク読出専用メモリ）ドライブ３５０を有するコンピュータ３４０と、キーボード３４６と、マウス３４８と、モニタ３４２とを含む。
【００７５】
図９を参照して、コンピュータ３４０は、ＦＤドライブ３５２およびＣＤ−ＲＯＭドライブ３５０に加えて、ＣＰＵ（中央処理装置）３５６と、ＣＰＵ３５６、ＦＤドライブ３５２およびＣＤ−ＲＯＭドライブ３５０に接続されたバス３６６と、ブートアッププログラム等を記憶する読出専用メモリ（ＲＯＭ）３５８と、バス３６６に接続され、プログラム命令、システムプログラム、および作業データ等を記憶するランダムアクセスメモリ（ＲＡＭ）３６０とを含む。情報検索サーバコンピュータ３３０はさらに、インターネットへの接続を提供するネットワークインターフェイス（Ｉ／Ｆ）３４４を含む。図示しないが、コンピュータ３４０はネットワークＩ／Ｆ３４４を介して携帯電話ネットワークと接続されており、携帯電話３００とデータ通信を行なうことができる。
【００７６】
情報検索サーバコンピュータ３３０に情報検索装置３０としての動作を行なわせるためのコンピュータプログラムは、ＣＤ−ＲＯＭドライブ３５０またはＦＤドライブ３５２に挿入されるＣＤ−ＲＯＭ３６２またはＦＤ３６４に記憶され、さらにハードディスク３５４に転送される。または、プログラムは図示しないネットワークを通じてコンピュータ３４０に送信されハードディスク３５４に記憶されてもよい。プログラムは実行の際にＲＡＭ３６０にロードされる。ＣＤ−ＲＯＭ３６２から、ＦＤ３６４から、またはネットワークを介して、直接にＲＡＭ３６０にプログラムをロードしてもよい。
【００７７】
このプログラムは、コンピュータ３４０にこの実施の形態の情報検索装置３０として動作を行なわせる複数の命令を含む。この動作を行なわせるのに必要な基本的機能のいくつかはコンピュータ３４０上で動作するオペレーティングシステム（ＯＳ）もしくはサードパーティのプログラム、またはコンピュータ３４０にインストールされる各種ツールキットのモジュールにより提供される。従って、このプログラムはこの実施の形態のシステムおよび方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能または「ツール」を呼出すことにより、上記した情報検索装置システム２０としての動作を実行する命令のみを含んでいればよい。
【００７８】
なお、図１に示すＷｅｂコーパス３２、シソーラス５４、共起ＤＢ５２、サービス名／ＵＲＬ対照ＤＢ６２、及びマッピングコーパス記憶部６６等は、いずれも図９に示すハードディスク３５４またはＲＡＭ３６０により実現される。特に、例えばＷｅｂコーパス３２、共起ＤＢ５２、シソーラス５４、サービス名／ＵＲＬ対照ＤＢ６２及びマッピングコーパス記憶部６６等は通常はハードディスク３５４に記憶されており、プログラムの実行時、必要に応じてＲＡＭ３６０にロードされる。
【００７９】
情報検索サーバコンピュータ３３０は一般的なコンピュータにより実現される。コンピュータ一般の動作は周知であるので、ここではその詳細は繰返さない。
【００８０】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【００８１】
２０  情報検索装置システム
３０  情報検索装置
３２  Ｗｅｂコーパス
３４  発話
３６  音声認識装置
３８  ＧＰＳ装置
４０  ブラウザ
５０  共起データ作成装置
５２  共起ＤＢ
５４  シソーラス
５６  対象文フィルタ
５８  共起データ検索部
６０  関連共起データ検索部
６２  サービス名／ＵＲＬ対照ＤＢ
６４  サービス名推定部
６６  マッピングコーパス記憶部
６８  クエリ作成部
７０  ブラウザ起動処理部
【図１】
0005688754.tif 000002
【図２】
0005688754.tif 000003
【図３】
0005688754.tif 000004
【図４】
0005688754.tif 000005
【図５】
0005688754.tif 000006
【図６】
0005688754.tif 000007
【図７】
0005688754.tif 000008
【図８】
0005688754.tif 000009
【図９】
0005688754.tif 000010
【図１０】
0005688754.tif 000011
【図１１】
0005688754.tif 000012