(57)【要約】【課題】ユーザの入力に対する応答内容を、所定の応答条件に基づいて切り替えることができ、さらに、ユーザの入力に対して応答内容を出力する場合に、ユーザ端末に所定の挙動（アクション）を行わせることができる情報提供システムを提供することである。【解決手段】情報提供サーバ２００は、ユーザからの入力文に最も意味が近い比較対象文字列を知識データ３１０のなかから選択し、当該比較対象文字列に対応する応答文字列を決定する。当該比較対象文字列に対応する応答文字列が複数ある場合は、応答条件に応じて応答内容を決定する。また、情報提供サーバ２００は、比較対象文字列が決定された場合に、これに対応付けて登録されている応答時挙動に基づいて、ユーザ端末１００に所定の挙動を行わせるよう制御する。【選択図】図８
2018129086.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが操作するユーザ端末から入力された入力文字列に対応する応答内容を決定する応答内容決定手段を備える情報提供システムで用いられ、前記情報提供システムの記憶手段に記憶される知識データのデータ構造であって、
前記入力文字列の比較対象である比較対象文字列と、
前記比較対象文字列に対応付けられた応答文字列と、を含むユニットからなり、
前記比較対象文字列に付加情報が対応付けられ、
前記付加情報は応答条件を含み、
前記情報提供システムの前記応答内容決定手段が、
前記入力文字列と前記比較対象文字列とを比較して、前記入力文字列と最も意味が近く、かつその意味の近さが一定程度以上であると判定された比較対象文字列と、当該比較対象文字列に対応付けられた付加情報に含まれる前記応答条件に基づいて、前記ユーザ端末に送信される応答データに含まれるデータを決定する処理に用いられる、知識データのデータ構造。
【請求項２】
前記付加情報はさらに、応答時挙動指定情報を含み、
前記ユニットの少なくとも１つにおいて、
前記比較対象文字列が、同義となる文字列である他の比較対象文字列を含み、
前記応答文字列が複数の応答文字列を含み、前記複数の応答文字列の少なくとも１つが前記応答条件に対応付けられ、
前記比較対象文字列に対応付けられた前記応答時挙動指定情報を含み、
前記応答条件は、前記ユーザ端末に送信される応答文字列を前記複数の応答文字列のなかから選択するための条件であり、
前記応答時挙動指定情報は、前記選択された応答文字列が前記ユーザ端末に送信される場合に、前記ユーザ端末における挙動を定義する情報であることを特徴とする、請求項１に記載の知識データのデータ構造。
【請求項３】
前記応答条件は、前記ユーザ端末から入力された情報であって前記入力文字列以外の情報に関する条件を含むことを特徴とする、請求項１または２に記載の知識データのデータ構造。
【請求項４】
前記応答条件は、事前登録をすることができ、
前記事前登録において、前記応答条件が前記ユニット内で複数存在する場合に、前記応答条件の評価順序を調整することができることを特徴とする、請求項１ないし３のいずれかに記載の知識データのデータ構造。
【請求項５】
前記応答時挙動指定情報は、事前登録をすることができ、
前記事前登録において、所定の情報を、前記応答内容が表示される前記ユーザ端末の第１表示エリアとは異なる第２表示エリアに表示させる挙動を前記応答時挙動指定情報として定義することができることを特徴とする、請求項２に記載の知識データのデータ構造。
【請求項６】
前記応答時挙動指定情報は、事前登録をすることができ、
前記事前登録において、所定のプログラムを動作させる挙動を前記応答時挙動指定情報として定義することができることを特徴とする、請求項２に記載の知識データのデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
ユーザの入力に応答して情報を提供する情報提供システムに関する。
【背景技術】
【０００２】
近年、ユーザからの質問に対して最適な解を検索し応答するシステムに関する研究が盛んに行われている。さらに、このようなシステムの開発に関連して、ユーザから入力された質問の構文や意味を解析したり、質問に対する解を検索したりするための、自然言語処理技術や人工知能技術についての研究も進められている。
【０００３】
例えば、質問に応答して、最適なものとして評価された回答候補を出力する質問応答システムが提案されている（特許文献１参照）。この質問応答システムでは、質問に対する回答候補を検索し、質問と回答候補の組合せのそれぞれについて、各回答候補が当該質問に対する正しい回答である度合いを示すスコアを、学習機能を用いて算出し、算出されたスコアに基づいて、質問に対する正しい回答である可能性が最も高い回答候補を出力するように構成される。
【０００４】
また、ユーザからの要求を自然言語で記述した入力文を解析し、当該入力文の要求内容が、事前に定義されている要求内容に該当するかどうかを判別し、これによって、入力文の要求内容を識別・出力する要求内容識別システムが開示されている（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１７１５５０号公報
【特許文献２】特許第５０９９３６７号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、このようなシステムにおいて、ユーザからの質問や要求内容に対する回答を出力する際に、その回答の提示方法について、所定の条件に応じたバリエーションを設けようといった発想はない。
【０００７】
したがって、本発明の目的は、ユーザの入力に対する応答内容を、所定の応答条件に応じたバリエーションのあるものとすることができるような、情報提供システムで用いられる知識データのデータ構造を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の第１実施態様は、
ユーザが操作するユーザ端末から入力された入力文字列に対応する応答内容を決定する応答内容決定手段を備える情報提供システムで用いられ、前記情報提供システムの記憶手段に記憶される知識データのデータ構造であって、
前記入力文字列の比較対象である比較対象文字列と、
前記比較対象文字列に対応付けられた応答文字列と、を含むユニットからなり、
前記比較対象文字列に付加情報が対応付けられ、
前記付加情報は応答条件を含み、
前記情報提供システムの前記応答内容決定手段が、
前記入力文字列と前記比較対象文字列とを比較して、前記入力文字列と最も意味が近く、かつその意味の近さが一定程度以上であると判定された比較対象文字列と、当該比較対象文字列に対応付けられた付加情報に含まれる前記応答条件に基づいて、前記ユーザ端末に送信される応答データに含まれるデータを決定する処理に用いられるように構成される。
【０００９】
本発明のこのような構成によって、ユーザの入力に対する応答内容を、所定の条件に応じたバリエーションのあるものとすることができる。このため、ユーザから入力文字列が入力された場合に、ユーザ端末に対して様々な態様の応答を返すことができるようになり、ユーザの入力に対して、より柔軟で洗練された応答が可能となる。また、ユーザの入力が事前に用意した比較対象文字列にヒットした場合（意味が近いと判定された場合）に、その入力に対する応答データを、応答条件に応じて決定することができる。
【００１０】
本発明の第２実施態様は、第１実施態様において、
前記付加情報はさらに、応答時挙動指定情報を含み、
前記ユニットの少なくとも１つにおいて、
前記比較対象文字列が、同義となる文字列である他の比較対象文字列を含み、
前記応答文字列が複数の応答文字列を含み、前記複数の応答文字列の少なくとも１つが前記応答条件に対応付けられ、
前記比較対象文字列に対応付けられた前記応答時挙動指定情報を含み、
前記応答条件は、前記ユーザ端末に送信される応答文字列を前記複数の応答文字列のなかから選択するための条件であり、
前記応答時挙動指定情報は、前記選択された応答文字列が前記ユーザ端末に送信される場合に、前記ユーザ端末における挙動を定義する情報であるように構成される。
【００１１】
本発明のこのような構成によって、ユーザの入力が事前に用意した比較対象文字列にヒットした場合（意味が近いと判定された場合）に、その入力に対する応答として送信する応答文字列を定義し、当該応答文字列が選択されるための条件を定義し、さらに、応答文字列を送信する際の応答時挙動指定情報を定義することができる。このため、ユーザの入力に対して、より柔軟で洗練された応答を行うことができるとともに、ユーザに効果的な回答を提供することができる。
【００１２】
本発明の第３実施態様は、第１実施態様または第２実施態様において、
前記応答条件は、前記ユーザ端末から入力された情報であって前記入力文字列以外の情報に関する条件を含むように構成される。
【００１３】
本発明のこのような構成によって、ユーザの入力に対する応答内容を、ユーザ端末から得られた入力文字列以外の情報に基づいて、切り替えることができる。このため、ユーザから同じ入力文字列が入力された場合であっても、例えば、ユーザ端末のデバイスタイプ等によって、異なる応答内容が表示されるようになり、ユーザの入力に対して、より柔軟で洗練された応答を行うことができる。
【００１４】
本発明の第４実施態様は、第１実施態様ないし第３実施態様のいずれかにおいて、
前記応答条件は、事前登録をすることができ、
前記事前登録において、前記応答条件が前記ユニット内で複数存在する場合に、前記応答条件の評価順序を調整することができるように構成される。
【００１５】
本発明のこのような構成によって、ユーザの入力に対する応答内容を、所定の応答条件に基づいて切り替えることができ、システム管理者は、このような応答条件を事前に設定可能であり、さらに、応答内容に対応付けて個別に設定することができる。このため、ユーザから同じ入力文字列が入力された場合であっても、システム管理者において、ユーザ端末にどのような応答内容を表示するかを制御・管理することができる。
【００１６】
本発明の第５実施態様は、第２実施態様において、
前記応答時挙動指定情報は、事前登録をすることができ、
前記事前登録において、所定の情報を、前記応答内容が表示される前記ユーザ端末の第１表示エリアとは異なる第２表示エリアに表示させる挙動を前記応答時挙動指定情報として定義することができるように構成される。
【００１７】
本発明のこのような構成によって、応答時挙動指定情報に基づいた所定の情報を、ユーザ端末の回答エリアとは異なる表示エリアに表示させることができ、システム管理者は、このような応答時挙動指定情報を事前に設定可能であり、さらに、比較対象文字列（または、比較対象文字列と応答文字列のセット）に対応付けて個別に設定することができる。このため、ユーザと情報提供システムの間における入力と応答のやりとりを、所定のシナリオに沿って展開することができ、ユーザに効果的な回答を提供することができる。
【００１８】
本発明の第６実施態様は、第２実施態様において、
前記応答時挙動指定情報は、事前登録をすることができ、
前記事前登録において、所定のプログラムを動作させる挙動を前記応答時挙動指定情報として定義することができるように構成される。
【００１９】
本発明のこのような構成によって、システム管理者が、ユーザの入力に応じて応答時挙動指定情報を設定することができる。このため、ユーザと情報提供システムの間における入力と応答のやりとりを、システム管理者が柔軟に制御・管理することができる。
【００２０】
さらに、本発明の第７実施態様は、
ユーザ（例えば、ユーザ１０）が操作するユーザ端末（例えば、ユーザ端末１００）から入力された入力文字列（例えば、ユーザ１０が入力する質問）を受信する入力受信手段（例えば、情報提供サーバ２００の入力受信部２１１）と、
知識データ（例えば、知識データ３１０）に基づいて、前記入力文字列に対応する応答内容（例えば、ユーザ１０の質問に対する回答）を決定する応答内容決定手段（例えば、情報提供サーバ２００の応答内容決定部２１２）と、
前記応答内容決定手段によって決定された応答内容を含む応答データを生成し、前記ユーザ端末に送信する応答データ生成手段（例えば、情報提供サーバ２００の応答データ生成部２１３、ＷＥＢアクセス制御部２５０）と、を備える情報提供システム（例えば、情報提供システム１）であって、
前記知識データは、前記入力文字列の比較対象である比較対象文字列（例えば、知識データ３１０に記憶されたＱ）と、前記比較対象文字列に対応付けられた応答文字列（例えば、知識データ３１０に記憶されたＡ）と、を含むユニットからなり、
前記比較対象文字列に付加情報（例えば、図８に示すような、応答条件、応答時挙動指定情報、対象有無情報等を含む情報）が対応付けられ、
前記応答内容決定手段は、前記入力文字列と前記比較対象文字列を比較して、前記入力文字列と最も意味が近く、かつその意味の近さが一定程度以上であると判定され（例えば、ヒットレベルがヒット（高）またはヒット（低）と判定され）た比較対象文字列に対応付けられた付加情報に基づいて前記応答データに含まれるデータを決定するように構成される。
【００２１】
本発明のこのような構成によって、ユーザの入力に対する応答内容を、所定の条件に応じたバリエーションのあるものとすることができる。このため、ユーザから入力文字列が入力された場合に、ユーザ端末に対して様々な態様の応答を返すことができるようになり、ユーザの入力に対して、より柔軟で洗練された応答が可能となる。
【００２２】
本発明の第８実施態様は、第７実施態様において、
前記付加情報は応答条件（例えば、図８、図１７、図２０に示すような条件）を含み、
前記知識データは、前記ユニットのそれぞれにおいて、必要に応じて、前記応答文字列が複数の応答文字列を含み（例えば、図８、図１６等に示すようなＡが複数登録されている状態）、前記複数の応答文字列の少なくとも１つが前記応答条件に対応付けられ、
前記応答内容決定手段は、前記入力文字列と前記比較対象文字列を比較して、前記入力文字列と最も意味が近く、かつその意味の近さが一定程度以上であると判定され（例えば、ヒットレベルがヒット（高）またはヒット（低）と判定され）た比較対象文字列が、前記複数の応答文字列に対応する場合に、前記応答条件に基づいて、前記複数の応答文字列のなかから１つの応答文字列を前記応答内容として決定するように構成される。
【００２３】
本発明のこのような構成によって、ユーザの入力に対する応答内容を、所定の応答条件に基づいて、切り替えることができる。このため、ユーザから同じ入力文字列が入力された場合であっても、ユーザ端末において、異なる応答内容が表示されるようになり、ユーザの入力に対して、より柔軟で洗練された応答を行うことができる。
【００２４】
本発明の第９実施態様は、第８実施態様において、
前記応答条件は、前記ユーザ端末から入力された情報であって前記入力文字列以外の情報（例えば、図２０に示すような、「ｄｅｖｉｃｅ」や「ｖｅｒｓｉｏｎ」等に関する情報）に関する条件を含むように構成される。
【００２５】
本発明のこのような構成によって、ユーザの入力に対する応答内容を、ユーザ端末から得られた入力文字列以外の情報に基づいて、切り替えることができる。このため、ユーザから同じ入力文字列が入力された場合であっても、例えば、ユーザ端末のデバイスタイプ等によって、異なる応答内容が表示されるようになり、ユーザの入力に対して、より柔軟で洗練された応答を行うことができる。
【００２６】
本発明の第１０実施態様は、第８実施態様または第９実施態様において、
前記応答条件は、システム管理者（例えば、システム管理者２０）によって事前登録をすることができ、
前記事前登録において、前記応答条件が前記ユニット内で複数存在する場合に、前記応答条件の評価順序（例えば、図１９に示す「並び替え」の矢印ボタンの操作）を調整することができるように構成される。
【００２７】
本発明のこのような構成によって、ユーザの入力に対する応答内容を、所定の応答条件に基づいて切り替えることができ、システム管理者は、このような応答条件を事前に設定可能であり、さらに、応答内容に対応付けて個別に設定することができる。このため、ユーザから同じ入力文字列が入力された場合であっても、システム管理者において、ユーザ端末にどのような応答内容を表示するかを制御・管理することができる。
【００２８】
本発明の第１１実施態様は、第７実施態様において、
前記付加情報は応答時挙動指定情報（例えば、図８、図２２、図２３に示すような応答時挙動（応答時アクション）を指定する情報）を含み、
前記知識データは、前記ユニットのそれぞれにおいて、必要に応じて、前記比較対象文字列に対応付けられた前記応答時挙動指定情報を含み、
前記応答内容決定手段は、前記入力文字列と前記比較対象文字列を比較して、前記入力文字列と最も意味が近く、かつその意味の近さが一定程度以上であると判定された比較対象文字列が、前記応答時挙動指定情報に対応付けられている場合に、前記ユーザ端末が当該応答時挙動指定情報に応じた挙動を行うためのデータ（例えば、図２２に示すようなキャラクタ画像を切り替えるための指定データ）を前記応答データに含めるように構成される。
【００２９】
本発明のこのような構成によって、ユーザの入力に対して応答内容を出力する場合に、ユーザ端末に所定の挙動（アクション）を行わせることができる。なお、前述の挙動には、例えば、ＷＥＢページ等の表示、アニメーション等の動画の表示、入力文字列に関連するテキストの表示を含む様々なものがある。このため、ユーザと情報提供システムの間における入力と応答のやりとりを、所定のシナリオに沿って展開することができ、ユーザに効果的な回答を提供することができる。
【００３０】
本発明の第１２実施態様は、第１１実施態様において、
前記応答時挙動指定情報は、システム管理者によって事前登録をすることができ、
前記事前登録において、所定の情報（例えば、図２３に示す関連テキストや自動候補Ｑ）を、前記応答内容が表示される前記ユーザ端末の第１表示エリア（例えば、入力応答画面１１０の応答表示エリア１１２）とは異なる第２表示エリア（例えば、入力応答画面１１０のインフォメーション表示エリア１１６）に表示させる挙動を前記応答時挙動指定情報として定義することができるように構成される。
【００３１】
本発明のこのような構成によって、応答時挙動指定情報に基づいた所定の情報を、ユーザ端末の回答エリアとは異なる表示エリアに表示させることができ、システム管理者は、このような応答時挙動指定情報を事前に設定可能であり、さらに、比較対象文字列（または、比較対象文字列と応答文字列のセット）に対応付けて個別に設定することができる。このため、ユーザと情報提供システムの間における入力と応答のやりとりを、所定のシナリオに沿って展開することができ、ユーザに効果的な回答を提供することができる。
【００３２】
本発明の第１３実施態様は、第１２実施態様において、
前記所定の情報は、前記第２表示エリアに、前記ユーザが選択可能な状態で表示され、
前記ユーザが前記所定の情報を選択した場合に、前記所定の情報に関連する情報が入力文字列として前記ユーザ端末から送信され、前記入力受信手段によって前記入力文字列として受信されるように構成される。
【００３３】
本発明のこのような構成によって、応答時挙動指定情報に基づいた所定の情報を、ユーザ端末の表示エリアでユーザが選択することができ、その選択された情報が再び入力文字列として情報提供システムに提供される。このため、ユーザと情報提供システムの間における入力と応答のやりとりを、所定のシナリオに沿って展開することができ、ユーザに効果的な回答を提供することができる。
【００３４】
本発明の第１４実施態様は、第１３実施態様において、
前記所定の情報は、過去に入力された前記入力文字列に関連する文字列（例えば、サジェストサーバ４００により求められた、図２３に示す自動候補Ｑ）であるように構成される。
【００３５】
本発明のこのような構成によって、応答時挙動指定情報に基づいて過去の入力文字列に関連する文字列を、ユーザ端末の表示エリアでユーザが選択することができ、その選択された文字列が再び入力文字列として情報提供システムに提供される。このため、ユーザと情報提供システムの間における入力と応答のやりとりを、所定のシナリオに沿って展開することができ、ユーザに効果的な回答を提供することができる。
【００３６】
本発明の第１５実施態様は、第１１実施態様において、
前記応答時挙動指定情報は、システム管理者によって事前登録をすることができ、
前記事前登録において、所定のプログラムを動作させる挙動（例えば、図２３に示すＡＰＩ）を前記応答時挙動指定情報として定義することができるように構成される。
【００３７】
本発明のこのような構成によって、システム管理者が、ユーザの入力に応じて応答時挙動指定情報を設定することができる。このため、ユーザと情報提供システムの間における入力と応答のやりとりを、システム管理者が柔軟に制御・管理することができる。
【００３８】
本発明の第１６実施態様は、
情報提供システムで実行される情報提供方法であって、
ユーザが操作するユーザ端末から入力された入力文字列を受信する入力受信ステップと、
知識データに基づいて、前記入力文字列に対応する応答内容を決定する応答内容決定ステップと、
前記応答内容決定ステップによって決定された応答内容を含む応答データを生成し、前記ユーザ端末に送信する応答データ生成ステップと、を備え、
前記知識データは、前記入力文字列の比較対象である比較対象文字列と、前記比較対象文字列に対応付けられた応答文字列と、を含むユニットからなり、
前記比較対象文字列に付加情報が対応付けられ、
前記応答内容決定ステップは、前記入力文字列と前記比較対象文字列を比較して、前記入力文字列と最も意味が近く、かつその意味の近さが一定程度以上であると判定された比較対象文字列に対応付けられた付加情報に基づいて前記応答データに含まれるデータを決定するように構成される。
【００３９】
本発明のこのような構成によって、ユーザの入力に対する応答内容を、所定の条件に応じたバリエーションのあるものとすることができる。このため、ユーザから入力文字列が入力された場合に、ユーザ端末に対して様々な態様の応答を返すことができるようになり、ユーザの入力に対して、より柔軟で洗練された応答が可能となる。
【００４０】
本発明の第１７実施態様は、第１６実施態様において、
前記付加情報は応答条件を含み、
前記知識データは、前記ユニットのそれぞれにおいて、必要に応じて、前記応答文字列が複数の応答文字列を含み、前記複数の応答文字列の少なくとも１つが前記応答条件に対応付けられ、
前記応答内容決定ステップは、
前記入力文字列と前記比較対象文字列を比較して、前記入力文字列と最も意味が近く、かつその意味の近さが一定程度以上であると判定された比較対象文字列が、前記複数の応答文字列に対応する場合に、前記応答条件に基づいて、前記複数の応答文字列のなかから１つの応答文字列を前記応答内容として決定するように構成される。
【００４１】
本発明のこのような構成によって、ユーザの入力に対する応答内容を、所定の応答条件に基づいて、切り替えることができる。このため、ユーザから同じ入力文字列が入力された場合であっても、ユーザ端末において、異なる応答内容が表示されるようになり、ユーザの入力に対して、より柔軟で洗練された応答を行うことができる。
【００４２】
本発明の第１８実施態様は、第１６実施態様において、
前記付加情報は応答時挙動指定情報を含み、
前記知識データは、前記ユニットのそれぞれにおいて、必要に応じて、前記比較対象文字列に対応付けられた前記応答時挙動指定情報を含み、
前記応答内容決定ステップは、
前記入力文字列と前記比較対象文字列を比較して、前記入力文字列と最も意味が近く、かつその意味の近さが一定程度以上であると判定された比較対象文字列が、前記応答時挙動指定情報に対応付けられている場合に、前記ユーザ端末が当該応答時挙動指定情報に応じた挙動を行うためのデータを前記応答データに含めるように構成される。
【００４３】
本発明のこのような構成によって、ユーザの入力に対して応答内容を出力する場合に、ユーザ端末に所定の挙動を行わせることができる。このため、ユーザと情報提供システムの間における入力と応答のやりとりを、所定のシナリオに沿って展開することができ、ユーザに効果的な回答を提供することができる。
【００４４】
本発明の第１９実施態様は、
コンピュータ（例えば、図３８に示す情報提供サーバ２００）に、
ユーザが操作するユーザ端末から入力された入力文字列を受信する入力受信手段、
知識データに基づいて、前記入力文字列に対応する応答内容を決定する応答内容決定手段、及び、
前記応答内容決定手段によって決定された応答内容を含む応答データを生成し、前記ユーザ端末に送信する応答データ生成手段として機能させるプログラムであって、
前記知識データは、前記入力文字列の比較対象である比較対象文字列と、前記比較対象文字列に対応付けられた応答文字列と、を含むユニットからなり、
前記比較対象文字列に付加情報が対応付けられ、
前記応答内容決定手段は、前記入力文字列と前記比較対象文字列を比較して、前記入力文字列と最も意味が近く、かつその意味の近さが一定程度以上であると判定された比較対象文字列に対応付けられた付加情報に基づいて前記応答データに含まれるデータを決定するように構成される。
【００４５】
本発明のこのような構成によって、ユーザの入力に対する応答内容を、所定の条件に応じたバリエーションのあるものとすることができる。このため、ユーザから入力文字列が入力された場合に、ユーザ端末に対して様々な態様の応答を返すことができるようになり、ユーザの入力に対して、より柔軟で洗練された応答が可能となる。
【００４６】
本発明の第２０実施態様は、第１９実施態様において、
前記付加情報は応答条件を含み、
前記知識データは、前記ユニットのそれぞれにおいて、必要に応じて、前記応答文字列が複数の応答文字列を含み、前記複数の応答文字列の少なくとも１つが前記応答条件に対応付けられ、
前記応答内容決定手段は、前記入力文字列と前記比較対象文字列を比較して、前記入力文字列と最も意味が近く、かつその意味の近さが一定程度以上であると判定された比較対象文字列が、前記複数の応答文字列に対応する場合に、前記応答条件に基づいて、前記複数の応答文字列のなかから１つの応答文字列を前記応答内容として決定するように構成される。
【００４７】
本発明のこのような構成によって、ユーザの入力に対する応答内容を、所定の応答条件に基づいて、切り替えることができる。このため、ユーザから同じ入力文字列が入力された場合であっても、ユーザ端末において、異なる応答内容が表示されるようになり、ユーザの入力に対して、より柔軟で洗練された応答を行うことができる。
【００４８】
本発明の第２１実施態様は、第１９実施態様において、
前記付加情報は応答時挙動指定情報を含み、
前記知識データは、前記ユニットのそれぞれにおいて、必要に応じて、前記比較対象文字列に対応付けられた前記応答時挙動指定情報を含み、
前記応答内容決定手段は、前記入力文字列と前記比較対象文字列を比較して、前記入力文字列と最も意味が近く、かつその意味の近さが一定程度以上であると判定された比較対象文字列が、前記応答時挙動指定情報に対応付けられている場合に、前記ユーザ端末が当該応答時挙動指定情報に応じた挙動を行うためのデータを前記応答データに含めるように構成される。
【００４９】
本発明のこのような構成によって、ユーザの入力に対して応答内容を出力する場合に、ユーザ端末に所定の挙動を行わせることができる。このため、ユーザと情報提供システムの間における入力と応答のやりとりを、所定のシナリオに沿って展開することができ、ユーザに効果的な回答を提供することができる。
【００５０】
本発明の第２２実施態様は、
ユーザが操作するユーザ端末から入力された入力文字列の比較対象である比較対象文字列と、前記比較対象文字列に対応付けられた応答文字列と、を含むユニットからなるデータ構造（例えば、知識データ３１０のデータ構造）であって、
前記比較対象文字列に付加情報が対応付けられ、
前記入力文字列と前記比較対象文字列との比較結果、及び前記付加情報に応じて、前記ユーザ端末に送信される応答データに含まれるデータが決定されるように構成される。
【００５１】
本発明のこのような構成によって、ユーザの入力に対する応答内容を、所定の条件に応じたバリエーションのあるものとすることができる。このため、ユーザから入力文字列が入力された場合に、ユーザ端末に対して様々な態様の応答を返すことができるようになり、ユーザの入力に対して、より柔軟で洗練された応答が可能となる。
【００５２】
本発明の第２３実施態様は、第２２実施態様において、
前記付加情報は、応答条件、及び応答時挙動指定情報を含み、
前記ユニットのそれぞれにおいて、
必要に応じて、前記比較対象文字列が、同義となる文字列である他の比較対象文字列を含み、
必要に応じて、前記応答文字列が複数の応答文字列を含み、前記複数の応答文字列の少なくとも１つが前記応答条件に対応付けられ、
必要に応じて、前記比較対象文字列に対応付けられた前記応答時挙動指定情報を含み、
前記応答条件は、前記ユーザ端末に送信される応答文字列を前記複数の応答文字列のなかから選択するための条件であり、
前記応答時挙動指定情報は、前記選択された応答文字列が前記ユーザ端末に送信される場合に、前記ユーザ端末における挙動を定義する情報であるように構成される。
【００５３】
本発明のこのような構成によって、ユーザの入力が事前に用意した比較対象文字列にヒットした場合（意味が近いと判定された場合）に、その入力に対する応答として送信する応答文字列を定義し、当該応答文字列が選択されるための条件を定義し、さらに、応答文字列を送信する際の応答時挙動指定情報を定義することができる。このため、ユーザの入力に対して、より柔軟で洗練された応答を行うことができるとともに、ユーザに効果的な回答を提供することができる。
【発明の効果】
【００５４】
本発明に係る知識データのデータ構造によって、ユーザの入力に対する応答内容を、所定の応答条件に応じたバリエーションのあるものとすることができる。このように、応答内容を応答条件に基づいて切り替えることによって、ユーザから同じ入力文字列が入力された場合であっても、ユーザ端末において、異なる応答内容が表示されるようになり、ユーザの入力に対して、より柔軟で洗練された応答を行うことができる。
【００５５】
また、本発明に係る知識データのデータ構造によって、ユーザの入力に対して応答内容を出力する場合に、ユーザ端末に所定の挙動（アクション）を行わせることができる。このように、ユーザの入力に応じて、例えば、ユーザ端末に所定の情報を表示等することが可能となり、ユーザと情報提供システムの間における入力と応答のやりとりを、所定のシナリオに沿って展開することができ、ユーザに効果的な回答を提供することができる。
【図面の簡単な説明】
【００５６】
【図１】情報提供システムの概要を示す図である。
【図２】情報提供システムにおける入力応答のやりとりの形態を示す図である。
【図３】複数の知識データを用いた入力応答サービスが個別に提供される状況を例示した図である。
【図４】ユーザ端末の機能ブロック図である。
【図５】情報提供サーバの機能ブロック図である。
【図６】サジェストサーバの機能ブロック図である。
【図７】ユーザ端末１００と情報提供サーバ２００との間のＡＰＩについて示す図である。
【図８】情報提供システムで利用される知識データの内容を例示する図である。
【図９】入力文に対する応答の決定方法を概略的に示した図である。
【図１０】複数のユニットを含む知識データに対して、応答内容がどのように決定されるかを概略的に示す図である。
【図１１】応答内容決定部により実施される応答内容決定処理を示すフローチャートである。
【図１２】情報提供システムのテスト、メンテナンス、運用のサイクルを概念的に示す図である。
【図１３】導入・メンテナンスフェーズと運用フェーズにおける知識データ等の取り扱いを説明するための図である。
【図１４】情報提供システムの機能について説明するための図である。
【図１５】ＱＡ設定画面を説明するための図である。
【図１６】ＱＡ新規追加画面を示す図である。
【図１７】かんたん設定画面を示す図である。
【図１８】ＱＡ新規追加画面を示す図である。
【図１９】ＱＡ新規追加画面を示す図である。
【図２０】カスタマイズ設定画面を示す図である。
【図２１】ＱＡ新規追加画面を示す図である。
【図２２】ＱＡ新規追加画面を示す図である。
【図２３】ＱＡ新規追加画面を示す図である。
【図２４】ＱＡ新規追加画面を示す図である。
【図２５】サジェスト対象のチェックをしない場合とした場合で、入力文サジェストの挙動がどのように変化するかを表した図である。
【図２６】関連テキスト新規追加画面を示す図である。
【図２７】特定時発話設定画面を示す図である。
【図２８】特定時発話設定画面を示す図である。
【図２９】テスト画面を示す図である。
【図３０】知識メンテナンス画面を示す図である。
【図３１】新規ＱＡクイック追加画面を示す図である。
【図３２】知識メンテナンスによって、入力応答がどのように変化するかを示した図である。
【図３３】知識メンテナンス画面を示す図である。
【図３４】候補Ｑ詳細情報画面を示す図である。
【図３５】同義文クイック追加画面を示す図である。
【図３６】知識メンテナンスによって、入力応答がどのように変化するかを示した図である。
【図３７】知識メンテナンス画面を示す図である。
【図３８】本発明の情報提供システムに含まれる情報提供サーバを構成するコンピュータのハードウェア構成の例を示す図である。
【発明を実施するための形態】
【００５７】
以下に、本発明の一実施形態に係る情報提供システム１について、図面を参照して説明する。
【００５８】
図１は、入力に対して応答を行うことで知識データを提供する情報提供システム１を含むシステムの概要を示す図である。
【００５９】
ユーザ１０は、ユーザ端末１００（図１の上部参照）において実行されるＷＥＢブラウザにより表示されている所定のＷＥＢページの入力エリアに、（例えば、キーボードやタッチパネルを用いて）文字列を入力する。ここでユーザにより入力される文字列は、一般的には文章（入力文）の形態であり、例えば、そのＷＥＢページに係るＷＥＢサイトを提供している会社の製品に関する質問等を含み、自然言語によって表現される。以降、ユーザからの入力は便宜上、「入力文」と表現するが、文章の形態でなくてもよく、単語や文章の一部などを包含する、様々な入力文字列を意味する。
【００６０】
ユーザにより入力された文字列は、ユーザ端末１００のＷＥＢブラウザによりネットワーク７００を介して情報提供システム１に提供される。ここで、ネットワーク７００は、例えば、インターネットを含むネットワークである。
【００６１】
情報提供システム１は、ユーザ端末１００から文字列を受信すると、この文字列に対応する応答となる文字列（一般的には、応答文）を決定し、それを、ネットワーク７００を介してユーザ端末１００に送信する。このように、ユーザ１０が、文字列をＷＥＢページの入力エリアに入力すると、これに対応した応答（文字列）がＷＥＢページの応答表示エリアに表示される。例えば、ユーザ１０が、商品に関する質問をＷＥＢページの入力エリアに入力すると、その質問に対する回答がＷＥＢページの応答表示エリアに表示される。
【００６２】
情報提供システム１は、情報提供サーバ２００とサジェストサーバ４００を含むように構成される。情報提供サーバ２００は、知識データを含む入力応答管理ＤＢ３００を備え、ユーザ端末１００から受信した入力に対応する応答として適した内容の文字列を、この入力応答管理ＤＢ３００を用いて決定し、応答表示エリア（ユーザ端末１００で実行されるＷＥＢブラウザにより表示されるＷＥＢページの応答表示エリア）に当該応答の文字列を表示するよう、ユーザ端末１００に応答データを送信する。情報提供サーバ２００の機能、及び入力応答管理ＤＢ３００の内容については、後で詳細に説明する。
【００６３】
また、サジェストサーバ４００は、サジェストＤＢ５００を備え、ユーザ１０がユーザ端末１００において文字列を入力する際に、このサジェストＤＢ５００を参照して、これまでに様々なユーザ１０が入力した文字列に基づいて、ユーザ１０が入力する文字列を予測し、入力エリア（ユーザ端末１００で実行されるＷＥＢブラウザにより表示されるＷＥＢページの入力エリア）の下側に文字列の候補を表示するよう、ユーザ端末１００にデータを送信する。この他、指定された条件に基づいて、これまでにユーザ１０から入力された文字列を選択し、ＷＥＢページに表示する。サジェストサーバ４００の機能、及びサジェストＤＢ５００の内容については、後で詳細に説明する。
【００６４】
システム管理者２０（２０−１、２０−２）は、システム管理端末６００（図１の下部参照）を介して、情報提供システム１のメンテナンスとテストを行う。例えば、システム管理者２０−１は、システム管理端末６００−１において実行されるＷＥＢブラウザにより表示されるメンテナンス用のＷＥＢページで所定の操作を行うことにより、情報提供システム１に関するメンテナンス（知識の新規設定、追加設定、及び修正を含む）を行う。また、システム管理者２０−２は、システム管理端末６００−２において実行されるＷＥＢブラウザにより表示されるテスト用のＷＥＢページで所定の操作を行うことにより、システム管理者２０−１により実施された知識の設定やその他のメンテナンスの結果、入力に対して適切な応答が行われるか否かをテストする（すなわち、あたかもユーザ１０がユーザ端末１００を用いて入力を行い、その入力に対する応答がユーザ端末１００に表示される動作をシミュレートする）ことができる。
【００６５】
なお、図１では、メンテナンスをシステム管理者２０−１が、テストをシステム管理者２０−２がそれぞれのシステム管理端末（６００−１、６００−２）を用いて行うように表現しているが、これらの操作を、同じシステム管理者が同じシステム管理端末を用いて行うようにしてもよい。また、メンテナンスとテストの操作をさらに細分化するとともに、それらのそれぞれに部署や担当者を割り当て、より多くのシステム管理者によって当該操作を分担して行うようにすることもできる。なお、知識データをメンテナンスし、テストするシステム管理者２０は、知識データを扱うスキルを有する知識設定者であることが望ましい。
【００６６】
ここで、情報提供システム１が不特定のユーザに利用可能なものとして提供される場合、ユーザ１０としては、ＷＥＢサイトを提供する企業や組織（の商品やサービス等）に対して質問等を行う一般ユーザが想定され、ユーザ端末１００は、通常、インターネット等に接続可能なユーザ１０が所有するＰＣ（パーソナルコンピュータ）等である。また、情報提供システム１を、限定的な範囲で利用されるシステム（例えば、企業内ナレッジ共有システム）として利用することもでき、この場合、ユーザ１０は、情報提供システム１に対する正当なアクセス権限を有する特定のユーザとなる。
【００６７】
また、システム管理者２０は、情報提供システム１で取り扱う知識データを管理する者であり、情報提供システム１が、企業や組織の商品やサービス等に関する質問を受け付けるシステムとして利用される場合は、通常、その企業や組織の担当者がシステム管理者となる。また、代理店や受託会社が、その企業や組織に代わってシステム管理者となることもある。
【００６８】
図１では、ユーザ１０が、ＷＥＢサイトの入力エリアに、キーボード等で文字列を入力することで、質問等を情報提供システム１に提供する構成となっているが、情報提供システム１としては、どのような方法・ルートで文字列が入力されてきてもよい。例えば、ユーザ１０が音声によって質問を発した場合に、この音声に対して音声認識処理を施して文字列に変換し、当該変換された文字列を情報提供システム１に提供することができる。また、印字された質問事項等をＯＣＲ（Optical  Character  Recognition）によって文字列に変換し、当該変換された文字列を情報提供システム１に提供することもできる。
【００６９】
なお、本実施形態の情報提供サーバ２００は、ユーザ端末１００やシステム管理端末６００において実行されるＷＥＢブラウザとｈｔｔｐ等のプロトコルによってデータ送受信を行い、当該ＷＥＢブラウザに所定のＷＥＢページを表示させるように動作するＷＥＢサーバの機能も有している。
【００７０】
また、情報提供サーバ２００は、ここでは１つのコンピュータとして示されているが、複数のコンピュータによって同様の機能を分散して実行するよう構成することもできる。また、入力応答管理ＤＢ３００についても、記憶しているデータを様々な単位で分割し、複数のサイトやコンピュータに分散させることができる。
【００７１】
図２は、本実施形態に係る情報提供システム１により実現される、ユーザ１０との間の入力応答のやりとりの形態を例示した図である。
【００７２】
図２（Ａ）に示された入力応答画面１１０は、ユーザ端末１００で実行されるＷＥＢブラウザに表示されたＷＥＢページ（または、ＷＥＢページの一部）である。入力応答画面１１０は、独立した１つのウインドウページとして表示されてもよいし、ＷＥＢページの一部分として表示されてもよい。
【００７３】
入力応答画面１１０は、キャラクタ画像表示エリア１１１、応答表示エリア１１２、入力エリア１１３、送信ボタン１１４、ページ遷移ボタン１１５、及びインフォメーション表示エリア１１６を含んでいる。
【００７４】
キャラクタ画像表示エリア１１１は、キャラクタ画像を表示する部分であり、入力内容や応答内容等に応じて、キャラクタを変更することができる。例えば、応答内容に応じて、同じキャラクタでも表情を変えて表示するように制御することができる。応答表示エリア１１２には、情報提供システム１により出力される応答内容が表示される。
【００７５】
入力エリア１１３は、ユーザ１０が質問等の文字列を入力する部分である。送信ボタン１１４は、ユーザ１０が、入力エリア１１３に文字列を入力した後にこれをマウス等で押下する（本実施形態では、ボタンやリンクをマウス等により押下（クリック）するものとする。以下同じ）。送信ボタン１１４が押下されると、入力した文字列がｈｔｔｐといったプロトコルにより、ネットワーク７００を介して情報提供システム１に送信される。
【００７６】
ページ遷移ボタン１１５は、後述する応答時アクションにおいてページ遷移（ページを移動する／開く）が設定されている場合に表示され、このページ遷移ボタン１１５を押下することによって、設定されているＷＥＢページに遷移する。
【００７７】
インフォメーション表示エリア１１６は、情報提供システム１により出力される応答内容に付加された追加情報を表示するエリアである。
【００７８】
図２（Ａ）において、ユーザ１０は、最初に、この入力応答画面１１０のＷＥＢページにアクセスする。そうすると、情報提供システム１の情報提供サーバ２００は、初期表示として、入力応答画面１１０の応答表示エリア１１２に、「いらっしゃいませ。」等の文字列を表示し、インフォメーション表示エリア１１６に、「商品の特徴は？」や「商品の料金は？」といった文字列をリンク表示するようＨＴＭＬデータをユーザ端末１００に送信する。
【００７９】
ここで、「商品の特徴は？」や「商品の料金は？」は、情報提供システム１のサジェストサーバ４００によって提供されたものである。これらの文字列は、過去に多くの入力があって、その入力に対する応答が成功した（ヒットした）もの（後述の「人気Ｑ」）である。ユーザ１０が、インフォメーション表示エリア１１６に表示された文字列（図２（Ａ）の例では、「商品の特徴は？」、「商品の料金は？」のどちらか）をマウス等によって選択すると、選択された文字列が自動的に入力として情報提供システム１に送信され、その文字列の応答が、応答表示エリア１１２に表示されることになる。
【００８０】
図２（Ａ）に示すような入力応答画面１１０が表示された後、図２（Ｂ）において、ユーザ１０が、入力エリア１１３に、「どの商品がお薦めですか？」という質問を入力し、送信ボタン１１４を押下する（なお、以降、図２においては、入力応答画面１１０のエリアについて、説明に関連するもののみを表示する）。
【００８１】
そうすると、情報提供システム１の情報提供サーバ２００は、「本日の売れ筋商品はこちらです。」という回答を、応答表示エリア１１２に表示する。
【００８２】
次に、図２（Ｃ）に示すように、ユーザ１０が、入力エリア１１３に、「商品の到着はいつごろになりますか？」という質問を入力し、送信ボタン１１４を押下する。そうすると、情報提供システム１の情報提供サーバ２００は、「お届けまでの日数ですが、商品詳細に記載してある「配送区分」によって異なります。以下から記載されている内容をお選び下さい。」という回答を、応答表示エリア１１２に表示する。さらに、インフォメーション表示エリア１１６に、「区分１」、「区分２」というリンク表示を行う。
【００８３】
ユーザ１０は、インフォメーション表示エリア１１６に表示された文字列（図２（Ｃ）の例では、「区分１」、「区分２」のどちらか）を選択すると、選択された文字列が自動的に入力エリア１１３に入力され、その後、送信ボタン１１４を押下することによって、この文字列が入力として情報提供システム１に提供され、「区分１」や「区分２」に関する詳細な情報が、情報提供システム１からの応答として応答表示エリア１１２に表示されることになる。
【００８４】
このようにして、ユーザ１０は、ユーザ端末１００のＷＥＢブラウザに表示される入力応答画面１１０を介して、情報提供システム１（の情報提供サーバ２００）と「会話」をすることができ、必要な情報を取得するように方向付けることができる。
【００８５】
また、システム管理者２０は、情報提供システム１の知識データを洗練させていくことにより、応答表示エリア１１２やインフォメーション表示エリア１１６に表示させる情報を好適に選択し、このような段階的な情報の提示によってユーザ１０を所定のシナリオに沿って導き、ユーザ１０が望む情報を取得できるようにする。
【００８６】
図３は、複数の知識データを用いた入力応答サービスが個別に提供される状況を例示した図である。
【００８７】
ここで、企業Ａと企業Ｂがそれぞれ情報提供システム１による知識データの提供を行っているものとする。企業Ａは、ＷＥＢサイトＡ−１において、商品Ａ−１に関するＱ＆Ａコーナーを設け、ＷＥＢサイトＡ−２において、サービスＡ−２に関するサポートコーナーを設けている。
【００８８】
ユーザ１０が、ＷＥＢサイトＡ−１にアクセスして商品Ａ−１に関するＱ＆ＡコーナーのＷＥＢページを表示し、そこで質問等を入力して送信すると、ｈｔｔｐリクエストは情報提供サーバ２００に送信される。情報提供サーバ２００は、入力した文字列に基づいて、入力応答管理ＤＢ３００Ａ−１等を用いて応答データを生成し、それを、ユーザ１０のユーザ端末１００に送信し、ＷＥＢページに応答内容を表示する。ここで、ｈｔｔｐリクエストの宛先として＜ｈｏｓｔ−ｎａｍｅ１＞が用いられ、商品Ａ−１に関するＱ＆Ａコーナーにおける質問であることは、＜ＳｅｒｖｉｅＩＤ１＞により識別される。
【００８９】
同様に、ユーザ１０が、ＷＥＢサイトＡ−２にアクセスしてサービスＡ−２に関するサポートコーナーのＷＥＢページを表示し、そこで質問等を入力して送信すると、ｈｔｔｐリクエストは情報提供サーバ２００に送信される。情報提供サーバ２００は、入力した文字列に基づいて、入力応答管理ＤＢ３００Ａ−２等を用いて応答データを生成し、それを、ユーザ１０のユーザ端末１００に送信し、ＷＥＢページに応答内容を表示する。ここで、ｈｔｔｐリクエストの宛先として＜ｈｏｓｔ−ｎａｍｅ１＞が用いられ、サービスＡ−２に関するサポートコーナーにおける質問であることは、＜ＳｅｒｖｉｅＩＤ２＞により識別される。
【００９０】
さらに、企業Ｂは、ＷＥＢサイトＢ−１において、商品Ｂ−１に関するＱ＆Ａコーナーを設けている。
【００９１】
ユーザ１０が、ＷＥＢサイトＢ−１にアクセスして商品Ｂ−１に関するＱ＆ＡコーナーのＷＥＢページを表示し、そこで質問等を入力して送信すると、ｈｔｔｐリクエストは情報提供サーバ２００に送信される。情報提供サーバ２００は、入力した文字列に基づいて、入力応答管理ＤＢ３００Ｂ−１等を用いて応答データを生成し、それを、ユーザ１０のユーザ端末１００に送信し、ＷＥＢページに応答内容を表示する。ここで、ｈｔｔｐリクエストの宛先としてホストＩＤ＜ｈｏｓｔ−ｎａｍｅ１＞が用いられ、商品Ｂ−１に関するＱ＆Ａコーナーにおける質問であることは、サービスＩＤ＜ＳｅｒｖｉｅＩＤ３＞により識別される。
【００９２】
このように、図３の例では、２つの企業（Ａ、Ｂ）の知識データを用いた入力応答サービスが、１つの情報提供サーバ２００によって運用されており、ＷＥＢサイトによって（すなわち、質問の対象によって）異なる知識データ（入力応答管理ＤＢ）が用いられる。ユーザ１０は、インターネットを検索して上記ＷＥＢサイトのそれぞれにアクセスし、そのＷＥＢサイトで、質問等の入力を行えば、その入力に応じた応答が得られる。ユーザ１０は、ｈｔｔｐリクエストがどのホストに送信され、どの知識データを利用するのかを意識することはない。
【００９３】
例えば、ユーザ１０−６が、ＷＥＢサイトＡ−２においてサービスＡ−２の質問を入力すると、その入力に関する回答は、入力応答管理ＤＢ３００Ａ−２を用いて求められ、一方、ＷＥＢサイトＢ−１において商品Ｂ−１の質問を入力すると、その入力に関する回答は、入力応答管理ＤＢ３００Ｂ−１を用いて求められる。
【００９４】
なお、ここでは、１つの情報提供サーバ２００が使用されているが、複数の情報提供サーバ２００を用いるように構成することもできる。その場合は、ＷＥＢサイト毎に、対応するホストＩＤを切り換えるように設定する。また、異なるＷＥＢサイトや、異なる商品・サービスに関する質問に対し、共通のサービスＩＤを設定することによって共通の入力応答管理ＤＢ３００を用いて応答するようにすることもできる。
【００９５】
図３の例では、ＷＥＢサイトＡ−１、ＷＥＢサイトＡ−２、入力応答管理ＤＢ３００Ａ−１（サジェストＤＢ５００Ａ−１）、及び入力応答管理ＤＢ３００Ａ−２（サジェストＤＢ５００Ａ−２）は、企業Ａの管理下にあり、メンテナンスやテストは、企業Ａのシステム管理者２０−Ａが担当する。他方、ＷＥＢサイトＢ−１、及び入力応答管理ＤＢ３００Ｂ−１（サジェストＤＢ５００Ｂ−１）は、企業Ｂの管理下にあり、メンテナンスやテストは、企業Ｂのシステム管理者２０−Ｂが担当する。情報提供サーバ２００は、ＷＥＢサーバ機能や人工知能エンジンを備えており、これらの内容や設定を管理するのは、当該システムの開発・提供を行う企業である。
【００９６】
次に、図４ないし図６を参照して、ユーザ端末１００、及び情報提供システム１の各装置の構成について説明する。図４は、ユーザ端末１００の機能ブロック図である。
【００９７】
図４に示すユーザ端末１００は、入力制御部１０１、ＷＥＢブラウザ１０２、及びネットワークＩ／Ｆ（インタフェース）部１０３を備える。
【００９８】
入力制御部１０１は、ユーザ端末１００に接続されたマウス、キーボード、タッチパネル等の入力装置をユーザ１０が操作した場合に、当該操作による信号を入力情報として受信する。ＷＥＢブラウザ１０２は、指定されたＷＥＢページを表示し、入力制御部１０１により受信された入力情報を、ＷＥＢページの入力エリアに送信する。また、ユーザ１０の操作（送信ボタンの押下）に応じて、ｈｔｔｐリクエストを、ネットワークＩ／Ｆ部１０３を介してＷＥＢサーバに送信する。
【００９９】
さらに、ネットワークＩ／Ｆ部１０３を介して、情報提供システム１の情報提供サーバ２００等から、応答データを含んだＨＴＭＬデータ等を受信すると、それらのデータに基づいてＷＥＢページを表示する（ＷＥＢブラウザの表示を更新する）。
【０１００】
ネットワークＩ／Ｆ部１０３は、ネットワーク７００に接続し、情報提供システム１の情報提供サーバ２００等との間のデータ送受信を制御する。
【０１０１】
図５は、情報提供システム１の情報提供サーバ２００の機能ブロック図である。
【０１０２】
図５に示す情報提供サーバ２００は、入力応答制御部２１０、知識データ管理部２２０、設定制御部２３０、ログ管理部２４０、ＷＥＢアクセス制御部２５０、及びネットワークＩ／Ｆ（インタフェース）部２６０を備える。
【０１０３】
入力応答制御部２１０はさらに、入力受信部２１１、応答内容決定部２１２、及び応答データ生成部２１３を含み、知識データ管理部２２０はさらに、知識設定制御部２２１、知識メンテナンス制御部２２２、及びテスト制御部２２３を含む。
【０１０４】
また、情報提供サーバ２００は、入力応答管理ＤＢ３００を備える。入力応答管理ＤＢ３００は、知識データ３１０、テスト用データ３２０、ログデータ３３０、設定データ３４０、辞書データ３５０、ＨＴＭＬデータ３６０、及びイメージデータ３７０を含む。
【０１０５】
入力応答制御部２１０の入力受信部２１１は、ユーザ１０によってユーザ端末１００に入力された文字列をネットワーク７００、及びネットワークＩ／Ｆ部２６０を介して、例えば、ｈｔｔｐといったプロトコルにより受信する。
【０１０６】
入力応答制御部２１０の応答内容決定部２１２は、入力受信部２１１で受信した文字列に基づいて、入力応答管理ＤＢ３００の知識データ３１０、辞書データ３５０等を参照し、対応する応答内容を決定する。
【０１０７】
入力応答制御部２１０の応答データ生成部２１３は、応答内容決定部２１２により決定された応答内容を、ユーザ端末１００のＷＥＢブラウザで表示されたＷＥＢページに表示するよう応答データを生成し、ＷＥＢアクセス制御部２５０、ネットワークＩ／Ｆ部２６０、及びネットワーク７００を介してユーザ端末１００に送信する。
【０１０８】
知識データ管理部２２０の知識設定制御部２２１は、システム管理者の操作に応じて、知識データの設定を行う。知識データは、基本的には、ユーザによって入力される蓋然性の高い文字列（入力文）と、これに対応する応答の文字列をセットで指定したデータである。設定された知識データは、入力応答管理ＤＢ３００の知識データ３１０に格納される。
【０１０９】
知識データ管理部２２０の知識メンテナンス制御部２２２は、システム管理者の操作に応じて、知識データのメンテナンスを行う。当該メンテナンスでは、入力応答管理ＤＢ３００のログデータ３３０を用いて、効果的かつ容易に知識データの修正や追加が行われる。
【０１１０】
知識データ管理部２２０のテスト制御部２２３は、システム管理者が知識データのメンテナンスを行った後に、メンテナンス後の知識データによって、入力に対して適切な応答が出力されるか否かを、ユーザ端末１００での動作をシミュレーションすることによりテストする。当該テストにおける知識データは、入力応答管理ＤＢ３００のテスト用データ３２０に格納され、その状態でテストが行われる。知識データに問題がなければ、コンパイルが行われて知識データ３１０が再作成され、公開される。
【０１１１】
設定制御部２３０は、システム管理者の操作に応じて、図２に示した入力応答画面１１０の設定や、特定時における応答内容の設定を行う。
【０１１２】
ログ管理部２４０は、ユーザ１０のユーザ端末１００への入力に対して情報提供サーバ２００がどのように応答したかをログとして記録するとともに、システム管理者の操作に応じて、ログを解析して所定のレポートをシステム管理端末６００に表示する。ログは、入力応答管理ＤＢ３００のログデータ３３０に記憶される。
【０１１３】
ＷＥＢアクセス制御部２５０は、ユーザ１０の操作に応じてユーザ端末１００のＷＥＢブラウザからｈｔｔｐリクエストが送信されてきた場合に、これを受信・解析して、これに対応するデータを用意し、ｈｔｔｐレスポンスとしてユーザ端末１００のＷＥＢブラウザに返信する。ｈｔｔｐレスポンスとして返信されるデータには、入力応答制御部２１０の応答データ生成部２１３で生成された応答データが含まれるほか、入力応答管理ＤＢ３００のＨＴＭＬデータ３６０、イメージデータ３７０のデータが含まれる。ＨＴＭＬデータ３６０は、ＷＥＢページを表示するためのＨＴＭＬデータであり、イメージデータ３７０は、ＷＥＢページで表示される画像データや動画データである。
【０１１４】
ネットワークＩ／Ｆ（インタフェース）部２６０は、ネットワーク７００に接続し、ユーザ端末１００等との間のデータ送受信を制御する。
【０１１５】
図６は、情報提供システム１のサジェストサーバ４００の機能ブロック図である。
【０１１６】
図６に示すサジェストサーバ４００は、入力受信部４１０、サジェスト制御部４２０、ＷＥＢアクセス制御部４３０、及びネットワークＩ／Ｆ（インタフェース）部４４０を備える。
【０１１７】
サジェスト制御部４２０はさらに、入力文サジェスト部４２１、人気Ｑ検索制御部４２２、及び自動候補Ｑ提供部４２３を含む。
【０１１８】
また、サジェストサーバ４００は、サジェストＤＢ５００を備える。サジェストＤＢ５００は、サジェスト対象データ５１０、及びヒット数管理データ５２０を含む。
【０１１９】
入力受信部４１０は、ユーザ１０によってユーザ端末１００に入力された文字列をネットワーク７００、及びネットワークＩ／Ｆ部２６０を介して、例えば、ｈｔｔｐといったプロトコルにより受信する。
【０１２０】
サジェスト制御部４２０の入力文サジェスト部４２１は、ユーザ１０がユーザ端末１００に文字を入力するたびに、入力受信部４１０によってその文字を取得する。その後、その文字を含む入力文のリストを、サジェストＤＢ５００のサジェスト対象データ５１０から取得し、ＷＥＢアクセス制御部４３０、ネットワークＩ／Ｆ部４４０、及びネットワーク７００を介してユーザ端末１００に送信する。サジェスト対象データ５１０には、入力応答管理ＤＢ３００の知識データ３１０に含まれる入力文のうち、サジェスト対象として指定された入力文が含まれている。
【０１２１】
これによって、ユーザ端末１００では、入力エリアにユーザが文字を入力するたびに、その文字を含む入力文が入力エリアの下側に一覧表示される。一覧表示される入力文は、様々なユーザ１０が過去に入力した入力文やシステム管理者２０が設定した入力文である。
【０１２２】
サジェスト制御部４２０の人気Ｑ検索制御部４２２は、過去にヒットが多かった入力文のリストを、サジェストＤＢ５００のサジェスト対象データ５１０、ヒット数管理データ５２０を参照して取得する。ヒット数管理データ５２０は、サジェスト対象データ５１０に含まれる入力文がそれぞれ何回ヒットしたか（ユーザ１０からの入力に対する応答として採用されたか）を記憶する。
【０１２３】
人気Ｑ検索制御部４２２は、例えば、情報提供サーバ２００の応答内容決定部２１２によって応答内容を決定する際に呼び出され、人気Ｑ検索制御部４２２により取得された入力文のリストが応答データの一部として挿入される。
【０１２４】
サジェスト制御部４２０の自動候補Ｑ提供部４２３は、ユーザ１０から入力された入力文と、意味的に近い入力文のリストを、サジェストＤＢ５００のサジェスト対象データ５１０を参照して取得する。
【０１２５】
自動候補Ｑ提供部４２３は、例えば、情報提供サーバ２００の応答内容決定部２１２によって応答内容を決定する際に呼び出され、自動候補Ｑ提供部４２３により取得された入力文のリストが応答データの一部として挿入される。
【０１２６】
ＷＥＢアクセス制御部４３０は、ユーザ１０の操作に応じてユーザ端末１００のＷＥＢブラウザからｈｔｔｐリクエストが送信されてきた場合に、これを受信・解析して、これに対応するデータを用意し、ｈｔｔｐレスポンスとしてユーザ端末１００のＷＥＢブラウザに返信する。ｈｔｔｐレスポンスとして返信されるデータには、入力文サジェスト部４２１により取得される入力文のリストが含まれる。
【０１２７】
ネットワークＩ／Ｆ（インタフェース）部４４０は、ネットワーク７００に接続し、ユーザ端末１００等との間のデータ送受信を制御する。
【０１２８】
図７は、ユーザ端末１００と情報提供サーバ２００との間のＡＰＩについて示す図である。
【０１２９】
ユーザ端末１００では、ユーザ１０から入力が行われると、これが入力制御部１０１を経由してＷＥＢブラウザ１０２に提供され、そこでユーザ１０の入力を含むデータをＵＲＩ（Uniform  Resource  Identifier）が生成され、ｈｔｔｐにより送出される。
【０１３０】
ＵＲＩには、図７に示すように、「http://」の後に＜ｈｏｓｔ−ｎａｍｅ＞が記述される。これは、図３に示すように、会話エンジンを備えた情報提供サーバ２００のホスト名またはＩＰアドレスである。その後に続く＜ＳｅｒｖｉｃｅＩＤ＞は、情報提供システム１が提供するサービスを識別するためのＩＤであり、例えば、図３に示すように、入力応答の対象となる商品やサービスを識別する（すなわち、利用する知識データを選択する）ためのＩＤである。
【０１３１】
また、サジェストサーバ４００で提供されるサジェスト機能を利用する場合は、サジェストサーバ４００に対応する＜ｈｏｓｔ−ｎａｍｅ＞を指定するとともに、サジェスト機能（入力文サジェスト部４２１が提供する機能、人気Ｑ検索制御部４２２が提供する機能、自動候補Ｑ提供部４２３が提供する機能のいずれか）に対応する＜ＳｅｒｖｉｃｅＩＤ＞を指定する。
【０１３２】
＜ＳｅｒｖｉｃｅＩＤ＞の後には、「？」で接続されたリクエストパラメータが記述される。個々のリクエストパラメータは、「＆」で区切られている。ここで、例えば、「ｆｏｒｍａｔ＝」の後には、戻り値のフォーマットを指定する。「ｊｓｏｎ」と指定すると、ｊｓｏｎフォーマットになり、「ｘｍｌ」と指定すると、ｘｍｌフォーマットになる。
【０１３３】
「ｃｈａｒｓｅｔ＝」の後には、戻り値のエンコードのフォーマットを指定する。例えば、「ＵＴＦ−８」、「ＥＵＣ−ＪＰ」、「Ｓｈｉｆｔ−ＪＩＳ」といった指定が可能である。「ｔａｌｋ＿ｔｙｐｅ＝」の後には、入力文を情報提供システム１に送信する際の入力文タイプを指定する。例えば、通常入力には「０」を、スタート時には「３」を指定する。また、「ｔａｌｋ＝」の後には、ユーザ１０により入力エリア１１３に入力された入力文そのものを指定する。
【０１３４】
また、「ｔａｌｋ＿ｏｐｔｉｏｎ＝」の後には、応答条件の判定で用いられる所定の情報を指定する。例えば、使用しているユーザ端末１００の機器に応じて、「ｄｅｖｉｃｅ＝Ｄ０００１」や「ｄｅｖｉｃｅ＝Ｅ０００１」などである。応答条件の判定で用いるキーワードを一致させれば、どのようなキーワードをどのような用途に用いてもよい。入力文になんらかのメモを付与する場合には、「ｍｅｍｏ＝」の後に、文字列を指定する。このような文字列を使用することによって、例えば、ログデータに、必要な情報を記憶しておくようにすることができる。
【０１３５】
また、通常、セッションはユーザ端末１００のクッキー情報を利用して保持されるが、クッキーを使用しないよう設定された機器や、クッキーによってセッションを管理しない携帯電話等の場合、ＵＲＩにセッションの情報を含めるように構成することもできる。
【０１３６】
ｈｔｔｐリクエストにより、ＵＲＩに指定された＜ｈｏｓｔ−ｎａｍｅ＞にしたがって、ＵＲＩに含まれるデータが情報提供サーバ２００に送信され、入力受信部２１１はこのデータを受信する。次に、応答内容決定部２１２が、当該データに基づいて応答内容を決定する。決定された応答内容は、応答データ生成部２１３によってｘｍｌデータとして生成される（戻り値の指定において「ｆｏｒｍａｔ＝ｘｍｌ」の指定がされている場合）。
【０１３７】
図７に示すｘｍｌデータにおいては、タグ＜ｖａｌｕｅ＞によって応答データが定義されている。
【０１３８】
このｘｍｌデータは、情報提供サーバ２００のＷＥＢアクセス制御部２５０によって、ｈｔｔｐレスポンスとしてユーザ端末１００のＷＥＢブラウザ１０２に送信され、ＷＥＢブラウザ１０２において、応答データが表示される。例えば、図２に示すように、入力応答画面１１０の応答表示エリア１１２に、タグ＜ｖａｌｕｅ＞によって定義された応答データが挿入され、表示される。
【０１３９】
なお、図２に示す入力応答画面１１０のインフォメーション表示エリア１１６に情報を表示する場合は、インフォメーション表示エリア１１６に表示する情報を所定のタグで定義しＷＥＢブラウザ１０２に送信した後、ＷＥＢブラウザ１０２の方で、このタグの内容を解釈し、インフォメーション表示エリア１１６に表示するよう制御する。同様に、キャラクタ表示エリアのキャラクタを変更する場合も、所定のタグによって、キャラクタ表示に用いられるイメージデータ等を定義する。
【０１４０】
図７には、情報提供サーバ２００のホスト名の指定、情報提供システム１が提供するサービスの指定、リクエストパラメータの指定をＵＲＩに含めて、ユーザ端末１００からのリクエストを情報提供サーバ２００に送信する構成が記載されているが、このような構成は一例にすぎない。このほかに、ＪａｖａＳｃｒｉｐｔ（登録商標）を用いるなど、様々な方法を用いて同様の処理を行うことが可能である。
【０１４１】
図８は、本実施形態に係る情報提供システム１で利用される入力応答管理ＤＢ３００の知識データ３１０の内容を例示する図である。
【０１４２】
ユーザ１０がユーザ端末１００を介して入力する文字列に対して有効な応答を行うために、情報提供システム１の情報提供サーバ２００は、知識データ３１０に蓄積されているデータを用いる。知識データ３１０には、複数のユニットが含まれる（図８では、ユニット１のみが詳細に記載されている）。各ユニットには、少なくとも１つの比較対象文字列と、少なくとも１つの応答文字列が含まれ、この比較対象文字列と応答文字列は互いに関連づけられているセットである。
【０１４３】
比較対象文字列とは、ユーザ１０がユーザ端末１００から入力してくる入力文と比較される文字列であり、図８には、比較対象文字列Ｑが３つ（Ｑ１−１、Ｑ１−２、Ｑ１−３）示されている。ここで、「Ｑ」は、質問（Ｑｕｅｓｔｉｏｎ）の頭文字に対応するように見えるが、これは便宜上の表現であって、比較対象文字列が質問文（疑問文）の形式である必要はない。例えば、単なる単語、肯定文、否定文、挨拶文、その他の様々な形式の文字列であってもよい。
【０１４４】
また、比較対象文字列が複数ある場合、１つの比較対象文字列が代表の比較対象文字列（代表Ｑ）となり、残りの比較対象文字列が同義文となる。図８では、Ｑ１−１が代表Ｑであり、Ｑ１−２、Ｑ１−３が、Ｑ１−１の同義文となる。すなわち、１つのユニットには、同じ意味（同義といえる程度の、きわめて近い意味）の比較対象文がまとめられていることになる。
【０１４５】
応答文字列とは、比較対象文字列に（その応答として）対応づけられた文字列であり、図８には、応答文字列Ａが２つ（Ａ１−１、Ａ１−２）示されている。ここで、「Ａ」は、答え（Ａｎｓｗｅｒ）の頭文字に対応するように見えるが、これは便宜上の表現であって、応答文字列が、必ずしも、何かの質問に答えるような形式の文でなくてもよい。単なる単語、疑問文、肯定文、否定文、挨拶文、その他の様々な形式の文字列であってもよい。
【０１４６】
比較対象文字列と応答文字列はそれぞれ、１または複数存在し、関連づけられるので、それらの関係は、１対１、１対ｎ、ｎ対１、または、ｎ対ｎの関係となりうる。
【０１４７】
さらに、それぞれの応答文字列に関連づけられる属性（Ａの属性）が存在する。Ａの属性は、それぞれの応答文字列の属性を表すものであり、図８では、Ａの属性として、応答条件が設定されている。応答条件は、どのような条件の場合に、対応する応答文字列が応答として適切かを示すものであり、応答文字列が複数ない場合、応答は一意に決定されるため、必要ない。
【０１４８】
比較対象文字列と、これに対応する応答文字列とのセット、及び各応答文字列の属性をまとめたものを「ＱＡ」とすると、これに対する属性（ＱＡの属性）が存在する。ＱＡの属性は、例えば、応答時挙動指定情報（Ｂ１）と対象有無指定情報（Ｆ１）を含む情報により表される。応答時挙動指定情報は、ユーザ１０の入力文と比較対象文字列の意味が最も近いものと判断された（ヒットした）場合に、ユーザ１０のユーザ端末１００に対して、なんらかの挙動（アクション）を設定するものである。対象有無指定情報は、対応する比較対象文字列Ｑをサジェストの対象とするか否かや、このＱＡに関するログを取得するか否か等を規定する。また、上述したＱＡの属性は、比較対象文字列（同義文がある場合は、代表Ｑと同義文を含むひとまとまりの比較対象文字列）に対応付けられるものであると言うこともできる。
【０１４９】
なお、図８では、知識データ３１０を一体化したデータとして管理するように示したが、少なくとも一部のデータを、その関連性を維持したまま、別のデータとして管理することもできる。例えば、ＱＡを第１のデータとしてまとめて記憶し、それぞれのＱＡの識別子とともにＱＡの属性を第２のデータとしてまとめて記憶することができる。
【０１５０】
図９は、知識データ３１０を用いて、入力文に対する応答がどのように決定されるかについて概略的に示した図である。ただし、ここでは、知識データ３１０内の各ユニットに関し、図８で説明したＱＡの属性（応答時挙動指定情報と対象有無指定情報）については、表示を省略する。
【０１５１】
最初に、図９（Ａ）のケースについて説明する。知識データ３１０としてユニット１（ユニット１は、図８に示したユニット１と同じ）が与えられている場合に、ユーザ１０によって入力文１、入力文２が入力され、入力文１についてＱ１−１が最も意味の近い文字列としてヒットし、入力文２についてＱ１−３が最も意味の近い文字列としてヒットしたとする（他のユニットは存在しないものとする）。このとき、入力文１に対する応答としてＡ１−２が表示され、入力文２に対する応答としてもＡ１−２が表示される。これは、Ａの属性である応答条件に関して、入力文１の場合も、入力文２の場合も、Ａ１−２の応答条件を満たしていたことによる。
【０１５２】
次に、図９（Ｂ）のケースについて説明する。知識データ３１０としてユニット２（ユニット２は、１つの比較対象文字列（Ｑ２−１）に対して、２つの応答文字列（Ａ２−１、Ａ２−２）が対応している）が与えられている場合に、ユーザ１０によって入力文３、入力文４が入力され、入力文３についてＱ２−１が最も意味の近い文字列としてヒットし、入力文４についてもＱ２−１が最も意味の近い文字列としてヒットしたとする（他のユニットは存在しないものとする）。このとき、入力文３に対する応答としてＡ２−１が表示され、入力文４に対する応答としてＡ２−２が表示される。これは、Ａの属性である応答条件に関して、入力文３の場合は、Ａ２−１の応答条件を満たし、入力文４の場合は、Ａ２−２の応答条件を満たしていたことによる。
【０１５３】
このように、複数の入力文が、同じ比較対象文字列にヒットした場合であっても、応答条件の設定により、それぞれ異なる応答内容が表示される場合がある。
【０１５４】
次に、図９（Ｃ）のケースについて説明する。知識データ３１０としてユニット３（ユニット３は、３つの比較対象文字列（Ｑ３−１、Ｑ３−２、Ｑ３−３）に対して、１つの応答文字列（Ａ３）が対応している）が与えられている場合に、ユーザ１０によって入力文５が入力され、入力文５についてＱ３−２が最も意味の近い文字列としてヒットしたとする（他のユニットは存在しないものとする）。このとき、入力文５に対する応答としてＡ３が表示される。
【０１５５】
図９（Ｄ）は最もシンプルなケースである。知識データ３１０としてユニット４（ユニット４は、１つの比較対象文字列（Ｑ４）に対して、１つの応答文字列（Ａ４）が対応している）が与えられている場合に、ユーザ１０によって入力文６が入力され、入力文６についてＱ４が最も意味の近い文字列としてヒットしたとする（他のユニットは存在しないものとする）。このとき、入力文６に対する応答としてＡ４が表示される。
【０１５６】
図１０は、知識データ３１０の複数のユニットに８つのユニットが存在すると仮定した場合に、どのようにして応答内容が決定されるかを概略的に示す図である。
【０１５７】
なお、この例では、７つのユニットの比較対象文字列のそれぞれに、１つの応答文字列が対応づけられている。また、比較対象文字列にＱ１〜Ｑ７の文字が含まれているが、これらは参照のための符号である。同様に、応答文字列にも、便宜上Ａ１〜Ａ７の符号が含まれている。
【０１５８】
図１０の例では、ユーザ１０から入力文として「音が聞こえない」という文が入力されている。情報提供システム１の情報提供サーバ２００は、入力受信部２１１でこれを受信すると、応答内容決定部２１２において、受信した入力文と、知識データ３１０に記憶される７つの比較対象文字列（Ｑ１〜Ｑ７）のそれぞれとを比較し、両者の意味の近さを判定する。
【０１５９】
ここで、意味の近さとは、文字列や文章間における類似度を表しており、例えば、形態素解析やベクトル空間法を含む様々な既知の方法を用いて２つの文章等の意味的な距離をスコアによって表してきた。本実施形態の情報提供システム１では、このような意味の近さを判定するために、様々な方法を用いることができる。
【０１６０】
上記のように、意味の近さを判定した結果、７つの比較対象文字列（Ｑ１〜Ｑ７）について、スコアが決定される。スコアは、例えば、入力文との意味が近いほど高い値が与えられるようになっている。このスコアに応じて、複数のヒットレベルのグループに分類される。例えば、スコアが所定の値の範囲にある場合に、「ヒット（高）」として判定し、それより低いスコアの範囲である場合に「ヒット（低）」、さらに、それより低いスコアの範囲である場合に「無ヒット」と判定される。また、部分ヒットＱにヒットした場合には「部分ヒット」に分類され、ＮＧワードを含むものは、スコアに関係なく、「ＮＧ」のグループに分類される。
【０１６１】
図１０では、意味の近さが判定された結果、Ｑ１とＱ４については、「ヒット（低）」と分類され、Ｑ２、Ｑ３については、Ｑ１、Ｑ４よりスコアの高い「ヒット（高）」と分類され、Ｑ５〜Ｑ７については、Ｑ１、Ｑ４よりスコアが低く、「無ヒット」として分類される。
【０１６２】
そして、このなかで最もスコアの高い（すなわち、入力文に対して最も意味が近い）Ｑ２が最終的に「ヒットした」と判定され、このＱ２に対応づけられたＡ２が応答内容として選択される。すなわち、入力文「音が聞こえない」と比較対象文字列「Ｑ２：音が聞こえないことがある」とが意味として最も近いと判定され、Ｑ２に対応づけられている応答文字列「Ａ２：販売店に相談して下さい」が応答内容として選択される。
【０１６３】
Ｑ１〜Ｑ７の比較対象文字列がすべて「無ヒット」と判定された場合、応答内容決定部２１２は、あらかじめ設定してある、無ヒット時の応答内容が選択される。
【０１６４】
この例では、１つの入力文が７つの比較対象文字列と比較されるだけであったが、実際の情報提供システム１では、知識データ３１０に含まれる数千または数万といったオーダーの比較文字列と比較が行われうる。
【０１６５】
図１１は、応答内容決定部２１２により実施される応答内容決定処理を示すフローチャートである。
【０１６６】
応答内容決定部２１２は、入力受信部２１１からユーザ１０により入力された入力文を受け取ると、最初に、ステップＳ１１において、知識データ３１０から比較対象文字列（Ｑ）を１つ取得する。なお、この例では、受け取った入力文を、知識データ３１０に記憶されている比較対象文字列のすべてと比較するようにしているが、事前処理や、各比較対象文字列に関係づけられた分類、インデックス、その他の指標等により、処理対象となる比較対象文字列を事前に絞り込むこともできる。
【０１６７】
次に、応答内容決定部２１２は、ステップＳ１２において、入力文と、取得した比較対象文字列（Ｑ）との間の意味の近さを表すスコアを計算する。その後、ステップＳ１３において、計算されたスコアが所定の値以上であるか判定する。
【０１６８】
スコアが所定の値以上である場合（ステップＳ１３のＹＥＳ）、当該スコアとその比較対象文字列（Ｑ）を対応づけて、候補リストに記憶する（ステップＳ１４）。スコアが所定の値以上でない場合（ステップＳ１３のＮＯ）、なにもせずにステップＳ１５に進む。
【０１６９】
ステップＳ１５において、応答内容決定部２１２は、知識データ３１０に残りの比較対象文字列（Ｑ）があるか否かを判定し、ある場合は（ステップＳ１５のＹＥＳ）、ステップＳ１１に戻って、ステップＳ１１〜ステップＳ１４の処理を繰り返し、ない場合は（ステップＳ１５のＮＯ）、ステップＳ１６に進む。
【０１７０】
ステップＳ１６において、応答内容決定部２１２は、候補リストに比較対象文字列（Ｑ）があるか否かを判定し、候補リストに比較対象文字列（Ｑ）がある場合（ステップＳ１６のＹＥＳ）、候補リストのなかで最もスコアの高い（すなわち、入力文と最も意味が近いと判定された）比較対象文字列（Ｑ）を判定し、この比較対象文字列（Ｑ）に対応する応答文字列（Ａ）を、知識データ３１０から取得し、これを応答内容として決定する（ステップＳ１７）。
【０１７１】
なお、この例では、単純な例を用いて説明したが、応答文字列（Ａ）が複数あって、Ａの属性として応答条件が設定されている場合は、その応答条件を満たしたＡを応答内容として決定することになる。また、ＱＡの属性として、応答時挙動指定情報や対象有無指定情報等が設定されている場合は、これらも（必要に応じて）応答内容に含めるようにすることができる。
【０１７２】
候補リストに比較対象文字列（Ｑ）がない場合（ステップＳ１６のＮＯ）、無ヒット時の設定で指定された発話内容から１つを選択し、これを応答内容として決定する（ステップＳ１８）。
【０１７３】
図１２は、情報提供システム１のテスト、メンテナンス、運用のサイクルを概念的に示す図である。
【０１７４】
図１２において、情報提供システム１のシステムを開発・提供する者（システム提供者）が、最初に、情報提供サーバ２００やサジェストサーバ４００を含むサーバのサーバ環境等を設定したうえで提供する（ステップＳ３１）。
【０１７５】
次に、情報提供システム１を利用してユーザ１０に何らかの知識を提供しようとする企業や組織等（システム管理者２０）は、最初に、知識の作成を行って、知識データ３１０に複数のユニットを構築する（ステップＳ３２）。その後、システム管理者２０は、作成された知識データ３１０を用いて、テストを行う（ステップＳ３３）。このテストは、ユーザ１０がユーザ端末１００を用いて、あたかも実際に、情報提供システム１との間で入力応答を行うように、システム管理者自身がシミュレーションを行うものである。
【０１７６】
テストの結果、所定の入力に対して想定した応答が出力されることが検証できると、システム管理者２０は、知識データ３１０を公開し、実際にユーザ１０が利用できるようにする（ステップＳ３４）。
【０１７７】
知識データ３１０が公開されると、実際の運用が開始され、ユーザ１０によって、情報提供システム１を用いた入力応答（ユーザ１０の入力に対して、情報提供システム１が応答を行うといった会話）が行われる（ステップＳ３５）。また、このように運用がされている間、入力応答の内容はログに記憶される（ステップＳ３６）。
【０１７８】
運用後、所定の期間が経過した後で、システム管理者２０は、再び知識の作成を行う（ステップＳ３７）。ここでの知識の作成は、ステップＳ３２における、導入時の知識の作成とは異なり、実際の運用結果を受けて、入力応答をより適切なものとするためのメンテナンスの意味合いを含んでいる。したがって、今回の知識の作成では、ステップＳ３６により収集されたログの情報が利用される。
【０１７９】
知識の作成を行って、知識データ３１０にあるユニットの修正や、新たなユニットの追加を行った後、システム管理者２０は、修正された知識データ３１０を用いて、テストを行う（ステップＳ３８）。このテストはステップＳ３３のテストと同様に、ユーザ１０がユーザ端末１００を用いて、あたかも実際に、情報提供システム１との間で入力応答を行うように、システム管理者２０自身がシミュレーションを行うものである。
【０１８０】
テストの結果、所定の入力に対して想定した応答が出力されることが検証できると、システム管理者２０は、知識データ３１０を公開し、実際にユーザ１０が利用できるようにする（ステップＳ３９）。その後、所定期間経過後、または所定のタイミングで、再度、ステップＳ３７〜ステップＳ３９のメンテナンスが行われ、以降、このサイクルが繰り返される。
【０１８１】
次に、図１３を参照して、導入・メンテナンスフェーズと運用フェーズにおける知識データ３１０等の取り扱いについて説明する。
【０１８２】
図１３は、導入・メンテナンスフェーズと運用フェーズにおける処理を概念的に表した図である。
【０１８３】
図１３の上段は、導入・メンテナンスフェーズにおける情報提供システム１に関連した構成を示している。システム管理者２０は、システム管理端末６００を用いて情報提供システム１の情報提供サーバ２００にアクセスし、知識の設定（導入時・メンテナンス時）とテストを行う。知識の設定については、通常、知識設定者といった、特定の者が行う。
【０１８４】
メンテナンス時の知識の作成については、上述したように、ログデータ３３０が用いられる。導入時、及びメンテナンス時に行われる知識の作成により、知識が更新され、それらがテスト用データ３２０に記憶される。テスト用データ３２０は、例えば、比較対象文字列と応答文字列のセットを含むユニットを、テキスト形式で記憶する。
【０１８５】
導入時における知識の作成、またはメンテナンス時における知識の作成が終わると、テスト用データ３２０を用いてテストが行われ、テスト結果が良好であれば、システム管理者２０は、システム管理端末６００を用いて、知識の公開を行う（図１３の中段参照）。システム管理端末６００において公開の指示があると、情報提供サーバ２００が、テスト用データ３２０をコンパイルして知識データ３１０を作成し、ユーザ１０が一般的に利用できるようにアップロード（例えば、インターネット環境（本番環境）にアップロード）する。このとき、知識データ３１０は、変更分だけが部分的に更新されマージされるようにしてもよいし、すべてを置き換えるように更新されてもよい。
【０１８６】
また、知識の公開は、タイマー等を用いて所定の時間に自動的に行うようにしてもよい。所定の時間になると、自動的にテスト用データ３２０を用いたコンパイルが行われて新たな知識データ３１０が生成され、その知識データ３１０をインターネット環境等にアップロードする。
【０１８７】
図１３の下段は、ユーザ１０が実際に情報提供システム１を利用する運用フェーズにおける情報提供システム１に関連した構成を示している。
【０１８８】
ユーザ１０は、ユーザ端末１００を介して、情報提供サーバ２００にアクセスし、入力応答による会話を行う。このとき、情報提供システム１が提供する応答内容には、更新された知識データ３１０が利用される。また、ユーザ１０と情報提供システム１の間で入力応答が行われる際、上述のように、入力応答に関する情報が、ログデータ３３０に記憶される。
【０１８９】
また、運用フェーズにおいては、知識データ３１０が利用可能な時間を指定することができ、指定時間外の場合に、ユーザ１０はその知識データ３１０に基づく応答の表示を受けられない。また、複数のバージョンの知識データ３１０を、利用時間帯ごとに使い分けたり、統合して利用したりするよう制御することもできる。
【０１９０】
次に、図１４を参照して、より具体的な情報提供システム１の機能について説明する。これらの機能は、システム管理者２０や代理店等がシステム管理端末６００において利用可能な機能である。また、これらの設定やテスト等は、サービスを提供する企業や組織毎、またはその企業・組織内のロボット毎（ＱＡサービス毎）に行うことが可能である。
【０１９１】
図１４に示すように、情報提供システム１は主たる５つの機能、ＵＩ設定、知識設定、テスト、知識メンテナンス、及びレポートを備える。
【０１９２】
ＵＩ設定は、図２に示したようなユーザーインタエース画面（入力応答画面１１０）に関する設定を行う機能である。入力応答画面１１０は、ＰＣ（パーソナルコンピュータ）で使用する場合は、サービスを提供するＷＥＢサイトに埋め込んで利用するページ常駐型と、「開く」ボタン等でポップアップさせて利用する別ウインドウ型があり、スマートフォンやタブレットで使用する場合は、その画面サイズに自動的に調整されるようになっている。
【０１９３】
システム管理者２０により設定可能なＵＩ設定としては、例えば、全体サイズ（ＰＣで使用する場合のみ）、全体カラー、キャラクタ画像表示エリア１１１に表示するキャラクタ画像、応答表示エリア１１２のカラー（枠、背景、文字）、入力エリア１１３のカラー（枠、背景、文字）、送信ボタンのカラー（枠、背景、文字）、及びインフォメーション表示エリア１１６のカラー（枠、背景、文字）等がある。この他、ロゴ表示エリアやコピーライト表示エリアを設けることもできる。
【０１９４】
知識設定はさらに、ＱＡ設定、特定時発話設定、マスター管理、ユーザ辞書設定、及びＮＧワード設定を備える。ＱＡ設定は、例えば、後述する図１５のＱＡ設定画面８００等により実施され、より具体的には、ＱＡ表示／検索、ＱＡ新規追加、部分ヒットＱＡ表示、部分ヒットＱＡ新規追加の各機能を含む。なお「部分ヒットＱＡ」は、部分ヒットＱとＡ（応答文字列）のセットであり、部分ヒットＱとして定義されたＱは、入力文がそのＱのなかの自立語（単語のうち、それ単体で意味を持つもの。主に名詞、動詞、形容詞など）を含んでいればヒットと判定されるＱである。
【０１９５】
特定時発話設定は、例えば、後述する図２７の特定時発話設定画面８６０等により実施され、より具体的には、無ヒット時発話設定、空入力時発話設定、スタート時発話設定、ＮＧワード入力時発話設定の各機能を含む。
【０１９６】
マスター管理は、応答時アクションの設定や応答条件のうち、事前に登録しておいて使い回すことができるデータ（マスターデータ）の作成・編集、及び閲覧が可能な機能である。データとしては、例えば、応答時アクションで指定するデータ（具体的には、「キャラクタ画像を切り換える」で使用するキャラクタ画像、「ページを移動する／開く」で使用するＷＥＢページのＵＲＬ、「動画や画像を表示する」で使用する動画や画像、「インフォメーション表示エリアに情報を表示する」で使用する関連テキストやＡＰＩ）である。
【０１９７】
ユーザ辞書設定は、ユーザ辞書に単語の登録等を行う。ユーザ辞書には、ある単語の同義語や未知後の登録を行う。また、内部辞書で「関係がある」とされた単語の関係を削除する。
【０１９８】
ＮＧワード設定は、入力文として適切でない言葉を判定するために、問題となるワードを登録する。前もって登録されているワードもある。問題となるワードは、大きく「卑猥」、「罵倒」、「差別」に分類される。
【０１９９】
テストは、例えば、後述する図２９のテスト画面８８０等により実施され、より具体的には、ＱＡテストと内部辞書テストの各機能を含む。
【０２００】
知識メンテナンスは、例えば、後述する図３０の知識メンテナンス画面８９０等により実施される。
【０２０１】
レポートは、ログデータ等を取得・解析して、サマリー、接続数、入力発話数、入力文ランキング等をレポートする。
【０２０２】
次に、図１５〜図２６を参照して、具体的なＱＡ設定について説明する。ＱＡ設定は、図８に示すような構成の知識データ３１０の各ユニットを作成することで、知識の作成を行うことである。これ以降、知識データ３１０に記憶されている比較対象文字列（Ｑ）は「Ｑ」、応答文字列（Ａ）は「Ａ」、比較対象文字列（Ｑ）と応答文字列（Ａ）のセットは「ＱＡ」と、適宜省略して表記する。なお、比較対象文字列は、「Ｑ」と表記されるが、質問文であるとは限らないこと、及び、応答文字列は、「Ａ」と表示されるが、回答文であるとは限らないことは、上述した通りである。
【０２０３】
図１５には、ＱＡ設定画面８００が示されている。この画面は、システム管理者２０が、システム管理端末６００に表示された知識設定の画面から、「ＱＡ設定」を選択することにより表示される。
【０２０４】
ＱＡ設定画面８００には、知識データ３１０に記憶されているＱ、Ａ、及び応答条件の検索を指示する検索指示エリア８０１、検索結果リストのページ位置を表示し、検索結果リストの移動を指示する検索結果リスト移動指示エリア８０２、ＱＡを追加するためのＱＡ新規追加画面８１０を表示するＱＡ新規追加ボタン８０３、及びＱＡの検索結果を表示するＱＡ表示エリア８０４が含まれている。
【０２０５】
また、検索指示エリア８０１には、どの部分を検索対象とするかを指定する検索オプションが表示されており、Ｑ、Ａ、応答条件のそれぞれについて指定を行うチェックボックスが設けられている。
【０２０６】
図１５に示すＱＡ設定画面８００には、所定の検索が行われた結果、ＱＡ表示エリア８０４に、１件のＱＡが表示されている。このＱＡは、Ｑが「こんにちは」で、このＱに対応するＡが「ご機嫌いかが！」である。この例では、知識データ３１０に記憶されているユニットのうち、ＱとＡが示され、さらに、ＱＡの属性である対象有無として、当該Ｑがサジェスト対象であるか否かを示すサジェスト有無、及び当該ＱＡに関するログ記録を行うか否かを示すログ記録有無が、それぞれチェックボックスで示されている。
【０２０７】
Ｑが複数ある場合、ＱＡ表示エリア８０４では、その複数のＱがスペースを挟んで隣接して表示される。なお、この場合、最も左に配置されるＱが代表Ｑである。同様に、Ａが複数ある場合、その複数のＡがスペースを挟んで隣接して表示される。
【０２０８】
ＱＡ表示エリア８０４に示されたＱＡについて編集を行う場合は、対応するＱＡ表示エリア８０４に配置されている編集ボタン８０５を押下する。また、ＱＡ表示エリア８０４に示されたＱＡについて削除を行う場合は、対応するＱＡ表示エリア８０４に配置されている削除ボタン８０６を押下する。
【０２０９】
図１６は、知識データ３１０に対してＱＡを新規に追加するための、ＱＡ新規追加画面８１０を示す図である。ＱＡ新規追加画面８１０は、図１５に示したＱＡ設定画面８００において、ＱＡ新規追加ボタン８０３を押下した場合に表示される画面である。また、既存のＱＡを編集するために、編集ボタン８０５を押下した場合も、これと同様の画面が表示される。
【０２１０】
ＱＡ新規追加画面８１０には、Ｑ表示エリア８１１、同義文追加ボタン８１２、Ａ表示エリア８１３、応答文追加ボタン８１４、応答時アクション指定ボタン８１５、対象有無指定ボタン８１６、及び登録ボタン８１７が含まれている。
【０２１１】
Ｑ表示エリア８１１には、Ｑを入力するための入力エリアがあり、システム管理者２０は、ユーザ１０からの入力が期待できる質問や他の文をこの入力エリアに入力し、ユーザ１０の入力文と比較した場合に、意味が近いとしてヒットするようにする。また、Ｑとして、似たような意味の文や他の言い回しを、同義文としてまとめて登録することができる。そのために、同義文追加ボタン８１２を押下すると、入力エリアが１つ追加され、システム管理者２０は、その追加された入力エリアに同義文を入力する。図１６の例では、Ｑ表示エリア８１１にある２段目の入力エリアが、同義文を入力するためのエリアである（「心理学の本を探しています」の文字列が入力されている）。これに対し、１段目の入力エリアに入力されているＱ（「心理学の本が欲しい」）は、必須のものであり、代表Ｑと呼ばれる。
【０２１２】
同義文は、代表Ｑに関連付けて、いくつでも追加することができる。このような構成によって、ユーザ１０の表現上のゆらぎを吸収することができる。すなわち、ユーザ１０から入力される様々な表現の入力に対して、代表Ｑと同義文を含むＱのどれかをヒットさせることができ、設定したＡを効果的に出力することができる。同義文を入力するための入力エリアの右横に配置されている「×」ボタンを押下すると、その同義文を削除することができる。
【０２１３】
Ｑ表示エリア８１１の下側には、Ａ表示エリア８１３が配置される。Ａは、ユーザ１０の入力文に上記で設定したＱの何れかがヒットした場合に、ユーザ端末１００のＷＥＢブラウザに送信される応答文字列であり、システム管理者２０は、Ｑに対応する応答として適したＡをＡ表示エリア８１３のなかの１段目の入力エリアに入力する。
【０２１４】
この例では、第１のＡとして「３Ｆになります。」との応答を入力している。これは、ユーザ１０が、（例えば、書店において）上記Ｑのように「心理学の本が欲しい」や「心理学の本を探しています」、あるいは、これと近い意味の文などを入力してきた場合に、「３Ｆになります。」と案内するためである。
【０２１５】
Ａ表示エリア８１３の１段目の入力エリアには、応答条件を設定するための簡単設定ボタンとカスタマイズ設定ボタンが表示されているが、１件目のＡについては応答条件を設定することはできない。なお、Ａを複数設定しない場合は、１段目の入力エリアにＡを入力した段階で登録ボタン８１７を押下し、ＱＡ新規追加は完了する。
【０２１６】
Ａ表示エリア８１３に１件目のＡを入力した段階で、応答文追加ボタン８１４を押下すると、Ａ表示エリア８１３に２段目の入力エリアが表示され、システム管理者２０は、そのエリアに２件目のＡを入力する。このような構成により、ユーザ１０による同じ趣旨の入力文に対して、異なる応答文字列を所定の条件に応じて切り分けて出力することができる。
【０２１７】
Ａ表示エリア８１３に設定される２件目以降のＡに対しては、応答条件を設定するために、簡単設定ボタンとカスタマイズ設定ボタンが表示され、いずれかを押下することができる。この例では、最初のＡの応答条件から評価され、応答条件を満たした場合に、そのＡが応答内容として決定され、ユーザ端末１００に送信されるので、評価の優先順位を調整するため、２件目以降のＡについては、Ａの間で並び替えを行うことができる。また、２件目以降では、Ａを入力するための入力エリアの右横に配置されている「×」ボタンを押下すると、そのＡを、応答条件とともに削除することができる。
【０２１８】
Ａ表示エリア８１３の下側には、応答時アクション指定ボタン８１５が配置される。これを押下すると、応答時のアクションを指定するための入力エリアが表示される。詳細については、後で説明する。
【０２１９】
応答時アクション指定ボタン８１５の下側には、対象有無指定ボタン８１６が配置される。これを押下すると、当該ＱＡをサジェスト等の対象にするか否かを指定するための入力エリアが表示される。詳細については、後で説明する。
【０２２０】
ＱＡ新規追加画面８１０の最下段には、登録ボタン８１７が配置される。これを押下すると、Ｑ表示エリア８１１やＡ表示エリア８１３で設定したＱ、Ａ、応答条件等に関する情報が知識データ３１０に記憶される。
【０２２１】
なお、上述したＱＡ設定画面８００やＱＡ新規追加画面８１０の例では、検索の対象や更新の対象を、知識データ３１０としたが、これを、テスト用に知識データを保持するテスト用データ３２０とすることもできる。テスト用データ３２０をコンパイル、アップロードすることにより、本番環境で使用される知識データ３１０の内容が更新される。
【０２２２】
図１７は、Ａに関する応答条件を設定するための、かんたん設定画面８３０を示す図である。かんたん設定画面８３０は、図１６に示したＱＡ新規追加画面８１０において、Ａ表示エリア８１３に配置されるかんたん設定ボタンを押下した場合に表示される画面である。応答条件のかんたん設定は、２件目以降のＡについて有効である。
【０２２３】
かんたん設定画面８３０には、Ａ表示エリア８３１、応答条件間関係設定エリア８３２、応答条件設定エリア８３３、及び設定ボタン８３４が含まれている。
【０２２４】
Ａ表示エリア８３１には、このかんたん設定画面８３０において応答条件を設定する対象となるＡが表示される。例えば、図１６に示すように、２件目のＡについて応答条件設定を行うためにかんたん設定ボタンを押下すると、その２件目のＡ（すなわち、「エスカレータで３Ｆへお進みください。火曜日はお得です！」）がそのまま引き継がれて、Ａ表示エリア８３１に表示される。
【０２２５】
応答条件間関係設定エリア８３２には、応答条件の間の関係を選択するためのプルダウンリストが表示される。複数の応答条件を設定した場合、それらの応答条件がすべて満たされた場合に応答条件が満たされたとする（ＡＮＤ条件）のか、いずれかの条件が満たされた場合に応答条件が満たされたとする（ＯＲ条件）のかを指定する。
【０２２６】
応答条件設定エリア８３３には、それぞれの応答条件を設定するエリアが表示されている。図１７の例では、日付（１日、または期間）、曜日、時間（１時点、または期間）、及び再訪問について設定が可能となっている。例えば、日付による期間が応答条件として設定された場合、ユーザ１０による入力文の入力が、設定された期間内であれば、応答条件を満たすこととなり、対応するＡが出力される。
【０２２７】
また、再訪問のチェックボックスにチェックがされている場合は、ユーザ１０による入力文が再度このＱにヒットしたときに、応答条件を満たすことになる。ただし、この再訪問は、ｈｔｔｐの同一セッションにおける再訪問を意味しており、ユーザ１０が一旦ＷＥＢサイトを離れた後、再度このＷＥＢサイトで同じ入力文を入力しても、この応答条件は満たさない。
【０２２８】
図１７の例では、曜日の応答条件において、火曜日のチェックボックスにチェックがされており、ユーザ１０が火曜日に入力文を入力した場合に、対応するＡ「エスカレータで３Ｆへお進みください。火曜日はお得です！」が表示される。このように、本発明に係る情報提供システム１では、同じ意味の入力文に対して一律の応答を行うのではなく、応答条件に合わせて柔軟に応答内容を変化させることができる。
【０２２９】
なお、図１７で設定できる例は、一例に過ぎず、他の様々な条件を応答条件として容易に設定することが可能である。また、応答条件間関係設定エリア８３２で指定したＡＮＤ条件やＯＲ条件を、より複雑に（例えば、ＡＮＤ条件とＯＲ条件を混在させて）指定するように構成することもできる。
【０２３０】
システム管理者２０は、応答条件の設定を行った後、設定ボタン８３４を押下すると、これらの応答条件がＡに対応付けられて知識データ３１０等に保存される。
【０２３１】
図１８は、図１７に示すように、かんたん設定画面８３０で２件目のＡについて応答条件を設定し、設定ボタン８３４を押下した後に表示されるＱＡ新規追加画面８１０である。
【０２３２】
図１６に示すＱＡ新規追加画面８１０と異なり、Ａ表示エリア８１３の２段目の入力エリアの下側に、応答条件として、火曜日を表す「□火」を内容とする応答条件表示８１８が示されており、その右横には、この応答条件をリセットする場合に押下するリセットボタン８１９が示されている。
【０２３３】
さらに、Ａ表示エリア８１３の２段目の入力エリアの下側には、かんたん設定ボタンが選択可能であるのに対し、カスタマイズ設定ボタンが選択不可となって表示されている。これは、一旦、かんたん設定によって設定を行ったため、再編集をする場合は、かんたん設定ボタンを押下する以外にないためである。リセットボタン８１９を押下すれば、応答条件はクリアされ、かんたん設定ボタン、カスタマイズ設定ボタンの両方を選択可能となる。
【０２３４】
図１９に示すＱＡ新規追加画面８１０では、図１８のＱＡ新規追加画面８１０において、応答文追加ボタン８１４を押下してさらにＡを１件追加した状況を示している。Ａ表示エリア８１３の３段目の入力エリアには、３件目のＡとして「３Ｆにお越し下さい。キャンペーン実施中」という応答文字列が入力されている。
【０２３５】
ここで、３件目のＡについて、応答条件を設定するために、カスタマイズ設定ボタンを押下すると、画面は、図２０に示すカスタマイズ設定画面８４０に遷移する。
【０２３６】
図２０に示すカスタマイズ設定画面８４０には、Ａ表示エリア８４１、一括操作指定エリア８４２、条件式設定エリア８４３、新規追加ボタン８４４、及び設定ボタン８４５が含まれている。
【０２３７】
Ａ表示エリア８４１には、このカスタマイズ設定画面８４０において応答条件を設定する対象となるＡが表示される。ここでは、図１９に示す、３件目のＡについて応答条件設定を行うためにカスタマイズ設定ボタンを押下しているので、その３件目のＡ（すなわち、「３Ｆにお越し下さい。キャンペーン実施中！」）がＡ表示エリア８４１に表示される。
【０２３８】
一括操作指定エリア８４２には、条件式の一括操作について指定を行うためのプルダウンリストが表示される。「編集」を選択すると、チェックボックスにチェックをした条件式を一括で編集することができ、「削除」を選択すると、チェックボックスにチェックをした条件式を一括で削除することができる。
【０２３９】
条件式設定エリア８４３には、３件目のＡに対応する応答条件を、条件式という形式で入力できる入力エリアが配置される。図２０の例では、２つの条件式が指定されている（この例では、２つの条件はＡＮＤ条件で接続されており、両方の応答条件を満たした場合に、全体の応答条件が満たされたことになる）。また、各条件式において、ＡＮＤ条件やＯＲ条件を用いることができる。
【０２４０】
例えば、１件目の条件式は「ｄｅｖｉｃｅ＝Ｄ０００１」となっており、これは、例えば、ユーザ端末１００から送信されるＵＲＩのリクエストパラメータに含まれる「ｔａｌｋ＿ｏｐｔｉｏｎ＝」の後に指定されるデータと比較され、当該データと条件式が一致すれば、応答条件を満たすことになる。
【０２４１】
また、２件目の条件式は「ｖｅｒｓｉｏｎ＞２．４１」となっており、この条件式が、ユーザ端末１００から送信されるＵＲＩのリクエストパラメータに含まれる「ｔａｌｋ＿ｏｐｔｉｏｎ＝」の後に指定されるデータと比較され、当該データが条件式を満たせば、応答条件を満たすことになる。
【０２４２】
条件式設定エリア８４３に表示された２つの条件式は、その右横にそれぞれ配置されている適用ボタンを押下することによって、それぞれ３件目のＡに対応付けて知識データ３１０等に記憶される。
【０２４３】
新規追加ボタン８４４を押下すると、条件式設定エリア８４３にさらに、条件式の入力エリアが付加され、そこで新しい条件式を設定することができる。設定ボタン８４５を押下すると、条件式設定エリア８４３に表示されている各入力エリアの条件式の内容が保存される。
【０２４４】
このように、カスタマイズ設定画面８４０で設定する条件式は、ユーザ１０が入力文を入力する際に、ユーザ端末１００のＷＥＢブラウザ等によって付加されるパラメータと比較され、その比較結果に応じて応答条件が満たされたかどうかが判断される。したがって、ユーザ端末１００側で様々なパラメータをセットすることで、応答内容について多くのバリエーションを作り出すことができる。
【０２４５】
例えば、ユーザ端末１００側で把握可能な情報を、情報提供サーバ２００に送信することで、これらの情報に応じて、応答内容を切り換えることができるように構成できる。例えば、ユーザ端末１００のＯＳやＷＥＢブラウザのバージョン、機種の情報を送信して、応答内容を切り換えることができる。また、ユーザ１０の入力態様（入力回数、入力時間など）を撮像装置により取得できれば、これらの情報によって応答内容を切り換えることも可能である。
【０２４６】
条件式設定エリア８４３に表示されたそれぞれの条件式について適用ボタンを押下して、Ａとの関連付けを完了し、ＱＡ新規追加画面８１０に戻ると、図２１に示すようになる。ここでは、カスタマイズ設定画面８４０から戻った後、並び替えボタンを押下して、図１９では３件目だったＡを２件目に変更したため、このＡは、Ａ表示エリア８１３の２段目の入力エリアに表示され、その結果２件目であったＡは３件目となり、Ａ表示エリア８１３の３段目の入力エリアに表示されている。
【０２４７】
Ａ表示エリア８１３の２段目の入力エリアの下側には、図２０のカスタマイズ設定画面８４０によって設定された応答条件、すなわち、「Ｄｅｖｉｃｅ＝Ｄ０００１，Ｖｅｒｓｉｏｎ＞２．４１」を内容とする応答条件表示８２０が示されており、その右横には、この応答条件をリセットする場合に押下するリセットボタン８２１が示されている。
【０２４８】
さらに、Ａ表示エリア８１３の２段目の入力エリアの下側には、かんたん設定ボタンが選択不可であるのに対し、カスタマイズ設定ボタンが選択可能となって表示されている。これは、一旦、カスタマイズ設定によって設定を行ったため、再編集をする場合は、カスタマイズ設定ボタンを押下する以外にないためである。リセットボタン８２１を押下すれば、応答条件はクリアされ、かんたん設定ボタン、カスタマイズ設定ボタンの両方を選択可能となる。
【０２４９】
図２１に示すＱＡ新規追加画面８１０の状況では、最初に、Ａ表示エリア８１３の２段目の入力エリアに表示された応答条件「Ｄｅｖｉｃｅ＝Ｄ０００１，Ｖｅｒｓｉｏｎ＞２．４１」が評価され、ここで応答条件を満たすと、応答内容「３Ｆにお越し下さい。キャンペーン実施中！」が出力される。
【０２５０】
上記応答内容を満たさない場合、Ａ表示エリア８１３の３段目の入力エリアに表示された応答条件「□火」が評価され、ここで応答条件を満たすと、応答内容「エスカレータで３Ｆへお進みください。火曜日はお得です！」が出力される。どちらの条件も満たさない場合、Ａ表示エリア８１３の３段目の入力エリアに表示された応答内容「３Ｆになります」が出力される。
【０２５１】
図２２に示すＱＡ新規追加画面８１０では、応答時アクション指定ボタン８１５が押下され、キャラクタ画像切換指定エリア８２２、ページ移動・オープン指定エリア８２３、及び動画・画像表示指定エリア８２４が表示されている。
【０２５２】
ここでは、応答内容を出力する場合に、ユーザ端末１００のＷＥＢブラウザ等で実行させる応答時挙動（アクション）を設定する。
【０２５３】
キャラクタ画像切換指定エリア８２２は、応答時にキャラクタ画像表示エリア１１１に表示されるキャラクタ画像を変化させる。例えば、図２２のキャラクタ画像切換指定エリア８２２に示すように、デフォルトで表示される左端のキャラクタ画像（実線で囲まれた画像）から、右端のキャラクタ画像（点線で囲まれた画像）を選択し、登録ボタン８１７を押下する。そうすると、入力時には、キャラクタ画像表示エリア１１１に上述のデフォルトのキャラクタ画像が表示されていたが、応答時には、キャラクタ画像切換指定エリア８２２で選択したキャラクタ画像（点線で囲まれた画像）に表示が切り替えられる。
【０２５４】
また、キャラクタ画像切換指定エリア８２２の設定ボタンを押下すると、子画面が開き、出力したい画像の登録が可能となる。リセットボタンを押下すると、選択したキャラクタ画像（点線で囲まれた画像）が解除される。
【０２５５】
この例では、キャラクタ画像は静止画像をデフォルトから指定したものに切り換えて、応答時に変化をつけるものであるが、静止画像から動画に切り換えたり、動画から異なる動きの動画に切り換えるたりするように制御することも可能である。
【０２５６】
このような、キャラクタ画像の切換によって、応答内容の表示にインパクトを与えることができるとともに、応答内容に沿ってキャラクタ画像に変化をつけることによって、豊かな表現力を有するようになる。例えば、ユーザが応答内容を賞賛したり感謝したりするような入力をした場合に、笑顔のキャラクタ画像に切り換えて表示を行ったり、ＮＧワードが入力された場合に、そっぽを向くようなキャラクタ画像に切り換えるよう表示を行うことができる。
【０２５７】
ページ移動・オープン指定エリア８２３には、応答内容の一部として、ユーザ１０にＷＥＢページを見せたいときに、当該エリアに移動、または表示させるＷＥＢページのアドレスを指定する。新規ウインドウのチェックボックスにチェックすると、指定されたＷＥＢページを開くときに、新規ウインドウでＷＥＢページが表示される。設定ボタンを押下することにより、子画面が開き、そこで、ＷＥＢページのアドレスを指定する。リセットボタンを押下すると、当該指定が解除される。登録ボタン８１７を押下すると、指定した内容が、知識データ３１０等に記憶される。
【０２５８】
動画・画像表示指定エリア８２４には、応答内容の一部として、ユーザ１０に動画や画像（静止画）を見せたいときに、当該エリアに表示させる動画や画像、ＷＥＢページのアドレス等を指定する。設定ボタンを押下することにより、子画面が開き、そこで、動画や画像、ＷＥＢページのアドレス等を指定する。リセットボタンを押下すると、当該指定が解除される。登録ボタン８１７を押下すると、指定した内容が、知識データ３１０等に記憶される。
【０２５９】
図２３に示すＱＡ新規追加画面８１０は、図２２に示すＱＡ新規追加画面８１０の続きである。ここでは、応答内容を出力する場合に、ユーザ端末１００のＷＥＢブラウザ等で実行させる応答時挙動（アクション）の１つとして、インフォメーション表示エリア１１６に表示する内容を設定する。
【０２６０】
図２３に示すＱＡ新規追加画面８１０では、応答時アクション指定ボタン８１５が押下され、図２２に示した動画・画像表示指定エリア８２４の下部に、インフォメーション表示指定エリア８２５が表示されている。インフォメーション表示指定エリア８２５には、応答表示指定エリア８２６と表示内容指定エリア８２７が表示されている。
【０２６１】
応答表示指定エリア８２６では、何秒経過した後にインフォメーション表示エリア１１６に指定した内容を表示させるかを指定することができる。また、この場合に、応答表示エリア１１２にどのようなコメントを表示させるかを指定することができる。
【０２６２】
表示内容指定エリア８２７では、インフォメーション表示エリア１１６に表示する内容を具体的に指定することができる。この例では、関連テキスト、自動候補Ｑ、ＡＰＩ、「何も表示しない」のいずれかを、ラジオボタンにより選択することができる。
【０２６３】
関連テキストは、システム管理者２０が、出力された応答内容の後に、導きたい話題を設定するために使用する。設定ボタンを押下することにより、これらの関連テキストを入力することができる。関連テキストは、インフォメーション表示エリア１１６に表示され、ユーザ１０がそれをマウス等で選択すると、その関連テキスト（または、その関連テキストに対応付けられた文字列）が情報提供サーバ２００に送信される。このように、情報提供システム１では、入力させたい文字列をユーザ１０に表示させ、それを選択させることによって、一定のシナリオに沿った情報提供の道筋を作りだすよう意図することができる。
【０２６４】
自動候補Ｑは、直前に行った入力に対する候補文を自動的に取得し、インフォメーション表示エリア１１６に表示する。これも、上述した関連テキストと同様に、ユーザ１０がそれをマウス等で選択すると、その関連テキスト等が情報提供サーバ２００に送信される。
【０２６５】
インフォメーション表示エリア１１６に表示する候補文は複数表示することができ、その表示順は、例えば、（直前の入力に対して）意味の近い順、または人気順等を選択することができる。
【０２６６】
ＡＰＩは、システム管理者２０が、外部ＡＰＩを使用したい場合に指定する。例えば、「東京の明日の天気は？」といった入力があった場合に、このＡＰＩの指定で、東京の明日の天気を取得するＡＰＩを指定すると、その結果を利用した応答内容を返すことが可能となる。
【０２６７】
「何も表示しない」は、応答内容の出力後、インフォメーション表示エリア１１６に何も表示しないで処理を終了する。
【０２６８】
図２４に示すＱＡ新規追加画面８１０は、図２２及び図２３に示すＱＡ新規追加画面８１０の続きである（図２２、図２３で示すＱＡとは異なるＱＡについて示している）。ここでは、ＱＡの関連付けられるＱＡの属性として、対象有無を指定する。
【０２６９】
図２４に示すＱＡ新規追加画面８１０では、Ａ表示エリア８１３と、応答時アクション指定ボタン８１５の下に配置される対象有無指定ボタン８１６、及び対象有無指定エリア８２８が表示されている。対象有無指定エリア８２８は、対象有無指定ボタン８１６を押下することによって、対象有無指定ボタン８１６の下に展開される。
【０２７０】
対象有無指定エリア８２８には、この例では、このＱが、サジェストの対象になるか否かを指定するチェックボックスと、このＱがヒットした場合にログに記録されるか否かを指定するチェックボックスルが表示される。
【０２７１】
例えば、このＱが、サジェストの対象になるか否かを指定するチェックボックスをチェックすると、Ｑ「こんにちは」が、サジェストの対象外となる。
【０２７２】
図２５は、サジェスト対象のチェックをしない場合とした場合で、入力文サジェストの挙動がどのように変化するかを表したものである。
【０２７３】
図２５（Ａ）は、Ｑ「こんにちは」がサジェストの対象となるよう、チェックボックスのチェックを外した場合の挙動である。入力応答画面１１０において、ユーザ１０が入力エリア１１３に「こん」と入力すると、情報提供システム１の入力文サジェストの機能が働いて、入力エリア１１３の下側に、「こんにちは」の文字列が入力文サジェストとしてガイドエリア１１７に表示される。このように、過去に入力として受け付けられたＱ「こんにちは」が、入力文サジェストに利用されていることがわかる。
【０２７４】
図２５（Ｂ）は、Ｑ「こんにちは」がサジェストの対象とならないよう、チェックボックスにチェックをした場合の挙動である。入力応答画面１１０において、ユーザ１０が入力エリア１１３に「こん」と入力すると、情報提供システム１の入力文サジェストの機能が働いているものの、入力エリア１１３の下側には、「こんにちは」の文字列は表示されない。このように、過去に入力として受け付けられたＱ「こんにちは」は、入力文サジェストに利用されていないことがわかる。
【０２７５】
図２６は、図２３に示すＱＡ新規追加画面８１０の表示内容指定エリア８２７に表示されている関連テキストに関する設定ボタンを押下したときに表示される関連テキスト新規追加画面８５０である。
【０２７６】
システム管理者２０は、関連テキスト新規追加画面８５０を用いて、所定のＱに対する応答時アクションとして、ユーザ１０が選択した場合に、情報提供サーバ２００に送信されることになる文字列を指定することができる。
【０２７７】
関連テキスト新規追加画面８５０には、一括操作指定エリア８５１、関連テキスト指定エリア８５２、新規追加ボタン８５３、及び保存ボタン８５４が表示されている。
【０２７８】
一括操作指定エリア８５１には、関連テキストの一括操作について指定を行うためのプルダウンリストが表示される。「編集」を選択すると、チェックボックスにチェックをした関連テキストを一括で編集することができ、「削除」を選択すると、チェックボックスにチェックをした関連テキストを一括で削除することができる。
【０２７９】
関連テキスト指定エリア８５２には、インフォメーション表示エリア１１６に表示される関連テキストを指定するが、この例では、インフォメーション表示エリア１１６に表示される表示内容と、それをユーザ１０が選択した場合に、情報提供サーバ２００に実際に送信される文字列とを別個に定義することができる。
【０２８０】
例えば、表示内容を「商品Ａのサイズ」と設定する一方で、（情報提供サーバ２００への）送信内容を「商品Ａのサイズを知りたい」と設定することができる。このような設定ができるために、ユーザ１０に表示させたい内容と、知識データ３１０にヒットさせるための文字列とを一致させなくてもよくなり、より柔軟な設定が可能となる。
【０２８１】
新規追加ボタン８５３を押下すると、新たな関連テキストを入力する入力エリアが表示される。保存ボタン８５４を押下すると、関連テキスト指定エリア８５２において設定した内容が保存される。
【０２８２】
次に、図２７、及び図２８を参照して、特定時発話設定画面について説明する。特定時発話設定画面は、特定時発話設定（図１４参照）を行うために用いられる画面である。特定時発話設定画面により、無ヒット時発話設定、空入力時発話設定、スタート時発話設定、ＮＧワード入力時発話設定を行うことができる。
【０２８３】
図２７に示す特定時発話設定画面８６０には、無ヒット時発話内容表示エリア８６１、発話編集ボタン８６３、発話追加ボタン８６４、応答時アクション指定ボタン８６５、対象有無指定ボタン８６６、及び登録ボタン８６７が含まれている。
【０２８４】
図２７に示す特定時発話設定画面８６０では、無ヒット時に応答表示エリア１１２に出力する応答内容を設定する。無ヒット時発話内容表示エリア８６１には、既に設定がされている２つの発話内容が示されている。１段目の発話は、応答表示エリア１１２に「もう少し詳しくお聞かせ願えますか。」の文字列を表示する設定となっている。２段目の発話は、応答表示エリア１１２に「よくわかりませんでした。他の表現で質問してください。」の文字列を表示する設定となっており、応答条件として、「ｗｏｒｄ＿ｃｏｕｎｔ＞５００（入力文の長さが５００文字より多い）」が設定されている。
【０２８５】
したがって、ユーザ１０が５００文字より多くの文字で入力文を送ってきた場合には、２段目の発話となり、それ以外は、１段目の発話となる。このような発話内容と応答条件の設定は、ＱＡ新規追加画面８１０で設定したＡとその応答条件と同様のものである。応答条件の設定についても、図１７に示したかんたん設定画面８３０、図２０に示したカスタマイズ設定画面８４０と同様の画面が用いられ、同様の設定が行われる。
【０２８６】
発話編集ボタン８６３を押下すると、発話内容（応答内容）の編集を行うことができ、発話追加ボタン８６４を押下すると、（別の応答条件による）発話を追加することができる。
【０２８７】
応答時アクション指定ボタン８６５、及び対象有無指定ボタン８６６は、ＱＡ新規追加画面８１０の応答時アクション指定ボタン８１５、対象有無指定ボタン８１６に対応するものである。登録ボタン８６７を押下することによって、設定した発話内容等が知識データ３１０等に登録される。
【０２８８】
図２８は、無ヒット時に、直前に行った入力に対する候補Ｑを表示してサジェストするように設定した特定時発話設定画面８６０の例である。
【０２８９】
無ヒット時発話内容表示エリア８６１には、１つの発話内容が設定されており、（発話内容が１つであるため）応答条件は設定されていない。無ヒット時に、「もしかして、あなたの言いたかったことはコレ？」との発話内容を応答表示エリア１１２に表示する。
【０２９０】
この発話内容に対応する応答時アクションとして、応答表示指定エリア８２６で、ラジオボタンにより自動候補Ｑが選択されている。この指定によって、無ヒットとなった直前の入力文に対して、意味的に近いＱ（または、ヒット数が多い（人気のある）Ｑ）を自動候補Ｑとして、複数、インフォメーション表示エリア１１６に表示する。
【０２９１】
無ヒット時の発話内容をこのように設定することで、ユーザ１０の入力した入力文が、知識データ３１０のなかのどのＱに対してもヒットしなかった場合であっても、その入力文に意味的に近い候補Ｑ等をユーザ１０に提示することによって、ユーザ１０と情報提供システム１との効果的な会話を継続させることができ、ユーザ１０の疑問等を解決することができるようになる。
【０２９２】
特定時発話設定画面８６０は、無ヒット時のほか、空入力時、スタート時、ＮＧワード入力時に対応してそれぞれ設定をすることができるが、無ヒット時の場合と同様の方法により、設定を行うことができる。
【０２９３】
次に、図２９を参照して、本実施形態に係る情報提供システム１のテスト機能について説明する。図２９は、テスト用データを用いてテストを行うためのテスト画面８８０を示している。図２９に示すテスト画面８８０は、ＱＡフリーテストエリア８８１とＱＡファイルテストエリア８８２を含んでいる。
【０２９４】
ＱＡフリーテストエリア８８１で実行されるテストは、導入時やメンテナンス時において知識の作成や知識の修正を行った場合に、あたかもユーザ１０がユーザ端末１００で入力を行うような環境をシミュレーションする。
【０２９５】
ここでは、図１０に示すような知識データ３１０と実質的に同じデータがテスト用データ３２０に記憶されている場合に、文字列を入力した場合の状況を示している。入力エリアに「音が聞こえない」を入力し、送信ボタンを押下すると、テスト結果として、入力文の欄に「音が聞こえない」、Ａの欄に「接続を確認して下さい」、ヒットの欄に「ヒット（高）」、ヒットＱの欄に「音が聞こえないことがある」が表示される。これは、図１０に示した入力応答の状況と同じである。すなわち、入力文「音が聞こえない」が、「Ｑ２：音が聞こえないことがある」に、最も高いスコアでヒットし、そのＱ２に対応する「Ａ２：販売店に相談して下さい」がＡとして決定される。
【０２９６】
この他、ＱＡフリーテストエリア８８１には、テスト結果として、候補Ｑの欄に、「聞こえない」、「画面が見えない」、「通話中に相手の声が聞こえません」が表示される。候補Ｑは、図１０に示したＱのうち、ヒットＱ以外のものであって、比較的意味が近いものであり、無ヒットとなっているＱであっても、候補Ｑとして選択される可能性がある。この例では、Ｑ２の次に、この入力文に高いスコアでヒットした「Ｑ３：聞こえない」、ヒットレベル＝ヒット（低）でヒットした「Ｑ４：画面が見えない」と「Ｑ１：通話中に相手の声が聞こえません」が表示されている。
【０２９７】
システム管理者２０は、このようなテスト結果を参照して、入力文が想定どおりのＱにヒットしているか、候補Ｑ等との関係はどうか、ヒットＱや候補Ｑを同義文として整理する必要はあるかなどを判断することができる。
【０２９８】
テスト用データ３２０の知識データを変更して再テストボタンを押下すると、再度テストが行われる。公開ボタンを押下すると、テスト用データ３２０の知識データがコンパイルされた後にアップロードされ、知識データ３１０が更新される。
【０２９９】
ＱＡファイルテストエリア８８２で実行されるテストは、導入時やメンテナンス時において知識の作成や知識の修正を行った場合に、あたかもユーザ１０がユーザ端末１００で入力を行うような環境をシミュレーションする。ここでは、ＱＡフリーテストと異なり、ユーザ１０が入力すると想定した入力文をテキストファイル等にまとめて作成し、それを送信することで一気に多数の入力文を同時にテストできる。
【０３００】
ＱＡファイルテストエリア８８２には、ＱＡフリーテストエリア８８１に示されたのと同様のテスト結果が、複数の入力文に関して示されている。最初の入力文は、ＱＡフリーテストエリア８８１のテスト結果に表示されていた入力文と同じであり、同じテスト結果が示されている。２件目の入力文は、「今日は寒いね」であり、ヒットの欄は「×」であり、Ａの欄は「もう少し詳しくお聞かせ願えますか」が示され、これは、無ヒット時の応答内容となっている。無ヒットなので、ヒットＱの欄は空白となっている。候補Ｑの欄もこの例では空白となっているが、意味の近い（ただし、ヒットのレベルのスコアまでは達していない）比較対象文字列が表示されることもある。３件目の入力文は、「元気ですか？」であり、ヒットの欄は「×」であり、Ａの欄は「もう少し詳しくお聞かせ願えますか」が示され、これは、無ヒット時の応答内容となっている。無ヒットなので、ヒットＱの欄は空白となっている。候補Ｑの欄もこの例では空白となっているが、意味の近い（ただし、ヒットのレベルのスコアまでは達していない）比較対象文字列が表示されることもある。
【０３０１】
テスト用データ３２０の知識データを変更して再テストボタンを押下すると、再度テストが行われる。公開ボタンを押下すると、テスト用データ３２０の知識データがコンパイルされた後にアップロードされ、知識データ３１０が更新される。
【０３０２】
次に、図３０〜図３８を参照して、本実施形態に係る情報提供システム１の知識メンテナンス機能について説明する。図３０は、ログデータを検索して、その結果に基づいてテスト用データ３２０のメンテナンスを行うための知識メンテナンス画面８９０を示している。図３０に示す知識メンテナンス画面８９０は、ログ検索エリア８９１とログデータ表示エリア８９２を含んでいる。
【０３０３】
ログ検索エリア８９１では、ログ期間、ヒットレベル、候補Ｑ、状態のいずれかを指定し、検索を行って、上記条件を満たすログデータをログデータ表示エリア８９２させる。ここで、「ヒットレベル」は、例えば、（入力文とＱとの意味の近さを表す）スコアの高いヒットである「ヒット（高）」、これよりスコアの低い「ヒット（低）」、所定の値以下のスコアである「無ヒット」、部分ヒットＱにヒットした「部分ヒット」、ＮＧワードとして判定された「ＮＧワード」を含む。また、入力文とＱが完全に一致する「ヒット（完全一致）」を含むように構成してもよい。
【０３０４】
また、「候補Ｑ」は候補Ｑがあるか否かを判定する。候補Ｑは、所定の値以上のスコアを有するＱのうち、ヒットＱ以外のＱを指す。「状態」は、例えば、メンテナンス機能を用いたそれぞれの入力の状態を指し、選択肢としては、「全て表示」、「編集済み」、「未編集」、「メンテ対象外」がある。
【０３０５】
ログデータ表示エリア８９２には、上記のログ検索エリア８９１で指定した検索条件にしたがって検索されたログデータが表示される。この例では、４件のログデータが検索結果として得られている。また、ここでは、図１０に示すような知識データ３１０が用いられた場合に、文字列を入力したときのログデータが利用されている。
【０３０６】
ログデータ表示エリア８９２の１件目には、入力文の欄に「音が聞こえない」、ヒットの欄に「ヒット（高）」、ヒットＱの欄に「音が聞こえないことがある」が表示される。これは、図１０に示した入力応答の状況と同じである。すなわち、入力文「音が聞こえない」が、「Ｑ２：音が聞こえないことがある」に、最も高いスコアでヒットし、そのＱ２に対応する「Ａ２：販売店に相談して下さい」がＡとして決定される。さらに、候補Ｑの欄に、「聞こえない」、「画面が見えない」、「通話中に相手の声が聞こえません」が表示される。これは、図１０に示したヒットのうち、ヒットＱ以外のものが示されているのである。すなわち、Ｑ２の次に、この入力文に高いスコアでヒットした「Ｑ３：聞こえない」、ヒットレベル＝ヒット（低）でヒットした「Ｑ４：画面が見えない」と「Ｑ１：通話中に相手の声が聞こえません」が表示されている。
【０３０７】
ログデータ表示エリア８９２の２件目には、入力文の欄に「先方の話が聞き取れない」、ヒットの欄に「×」（すなわち、無ヒット）、ヒットＱの欄は空白が表示される。これは、入力文「先方の話が聞き取れない」が、図１０に示した知識データ３１０のどのＱにもヒットしなかったことを表している。また、比較的意味が近いものが候補Ｑとして選択され、表示されている。ここでは、図１０に示した知識データ３１０のうち、Ｑ１とＱ８が表示されている。
【０３０８】
ログデータ表示エリア８９２の３件目には、入力文の欄に「画面が見えない」、ヒットの欄に「ヒット（高）」、ヒットＱの欄に「画面が見えない」が表示される。これは、図１０に示した知識データ３１０のＱ４に対応する。
【０３０９】
ログデータ表示エリア８９２の４件目には、入力文の欄に「通話できない」、ヒットの欄に「×」（すなわち、無ヒット）、ヒットＱの欄は空白が表示される。これは、入力文「通話できない」が、図１０に示した知識データ３１０のどのＱにもヒットしなかったことを表している。また、比較的意味が近いものが候補Ｑとして選択され、表示されている。ここでは、図１０に示した知識データ３１０のうち、Ｑ１とＱ８が表示されている。
【０３１０】
ログデータ表示エリア８９２の入力文の欄に示された歯車を押下すると、その入力文の詳細情報（例えば、その入力文に対する応答内容（Ａ）等）表示される。
【０３１１】
また、ログデータ表示エリア８９２の入力文の欄で入力文を押下すると（各入力文はリンクになっている）、その入力文全体がＱとして新規追加されるように、図３１に示すような新規ＱＡクイック追加画面９００が表示される。
【０３１２】
図３１に示す新規ＱＡクイック追加画面９００は、ＱＡ編集エリア９０１を含む。例えば、図３０に示す知識メンテナンス画面８９０のログデータ表示エリア８９２の入力文の欄に示された入力文のうち、２件目の「先方の話が聞き取れない」のリンクを押下すると、図３１のＱＡ編集エリア９０１のＱの欄に、押下した入力文「先方の話が聞き取れない」の文字列そのものが設定される。この状態で、システム管理者２０は、これをＱとした場合に、適切な文字列をＡの欄に入力する。この例では、「他のアプリで音声が出ているか確認してください」といった文字列が入力される。
【０３１３】
ＱＡ編集エリア９０１において詳細設定ボタンを押下すれば、図１６に示すようなＱＡ新規追加画面８１０となり、その画面によって当該ＱＡを登録することができる。登録ボタン９０２を押下すると、テスト用データ３２０の知識データが更新される。図３０に示す知識メンテナンス画面８９０に戻って、ログデータ表示エリア８９２の公開ボタンを押下すると、テスト用データ３２０の知識データがコンパイルされた後にアップロードされ、知識データ３１０が更新される。
【０３１４】
本願発明に係る情報提供システム１のこのような構成によって、システム管理者２０は、例えば、無ヒットとなっているＱ（対応するＱＡが見つからない入力文）に対して、容易に適切な応答内容（Ａ）を付加することができる。
【０３１５】
図３２は、図３０、及び図３１に関連して説明した知識メンテナンス（新規ＱＡクイック追加）によって、入力応答がどのように変化するかを示した図である。テスト環境では、知識データが実質的に格納されるテスト用データ３２０が用いられるが、ここでは、便宜上、知識データ３１０の内容が更新されたものとして説明する。
【０３１６】
図３２（Ａ）は、知識メンテナンスを行う前の状態を表している。入力文「先方の話が聞き取れない」が入力されると、図１０に示す内容の知識データ３１０では、どのＱもヒットせず、この入力文に対しては、無ヒット時発話設定で設定された応答内容が出力されることになる。
【０３１７】
図３２（Ｂ）は、知識メンテナンスを行った後の状態を表している。入力文「先方の話が聞き取れない」が入力されると、図１０に示す内容の知識データ３１０に、図３１に示す新規ＱＡクイック追加画面９００で追加されたＱＡが含まれるので、この入力文に対し、「Ｑ９：先方の話が聞き取れない」がヒット（ヒット（高））し、これに対応する応答内容「Ａ９：他のアプリで音声が出ているか確認してください」が出力される。
【０３１８】
図３３に示す知識メンテナンス画面８９０は、図３０に示す知識メンテナンス画面８９０と同じものであるが、このとき、候補Ｑの欄に示された歯車の上にマウスカーソルを置くと、その候補Ｑの詳細情報へのリンクである詳細情報リンクと、他の候補を探すためのリンクである他候補リンクを含んだポップアップウインドウ８９３が表示され、それらのリンクを押下すると、それぞれの画面が表示される。
【０３１９】
ここで、詳細情報リンクを押下すると、図３４に示すような候補Ｑ詳細情報画面９１０が表示される。図３４の候補Ｑ詳細情報画面９１０は、候補Ｑ詳細情報表示エリア９１１を含む。候補Ｑ詳細情報表示エリア９１１には、候補Ｑ、その候補Ｑに対応する応答内容（Ａ）、入力文と候補Ｑとの比較結果を表すスコアが表示されている。
【０３２０】
ここで、候補Ｑの「通話中に相手の声が聞こえません」については、スコアが４７％であるのに対し、候補Ｑの「通話中に電話が切れます」については、スコアが４５％であり、上段の候補Ｑのほうが、入力文に若干意味が近いと評価されているということがわかる。
【０３２１】
システム管理者２０は、候補Ｑに関するこのような情報を見ることによって、応答内容（Ａ）は、入力文の応答内容としても妥当かどうかや、入力文と候補Ｑが意味的にどれだけ近いと評価されているかを把握することができる。
【０３２２】
ここで、ログデータ表示エリア８９２の４件目の入力文に関し、１つ目の候補Ｑを押下すると（各候補Ｑはリンクになっている）、その候補Ｑ全体が追加先候補Ｑとして設定され、入力文の文字列が、その候補Ｑの同義文として新規追加されるように、図３５に示すような同義文クイック追加画面９３０が表示される。
【０３２３】
図３５に示す同義文クイック追加画面９３０は、同義文追加指定エリア９３１を含む。例えば、図３３に示す知識メンテナンス画面８９０のログデータ表示エリア８９２の４件目の入力文に対応する候補Ｑの欄の１つ目の候補Ｑ「通話中に相手の声が聞こえません」のリンクを押下すると、図３５の同義文追加指定エリア９３１の追加先候補Ｑの欄に、押下した候補Ｑ「通話中に相手の声が聞こえません」の文字列そのものが設定される（この文字列は既にＱＡを構成しているため、編集できない）。
【０３２４】
さらに、押下した候補Ｑに対応する入力文の文字列そのものが、同義文追加指定エリア９３１の同義文の欄に設定される（これは、後で編集可能である）。
【０３２５】
また、同義文追加指定エリア９３１において詳細設定ボタンを押下すれば、図１６に示すようなＱＡ新規追加画面８１０となり、その画面によって当該ＱＡを登録することができる。登録ボタン９３２を押下すると、テスト用データ３２０の知識データが更新される。図３３に示す知識メンテナンス画面８９０に戻って、ログデータ表示エリア８９２の公開ボタンを押下すると、テスト用データ３２０の知識データがコンパイルされた後にアップロードされ、知識データ３１０が更新される。
【０３２６】
本願発明に係る情報提供システム１のこのような構成によって、システム管理者２０は、意味的に近く、応答内容も同様のものである入力文とＱを容易に見つけることができ、このような入力文をＱの同義文として簡単に登録することができる。
【０３２７】
図３６は、図３３ないし図３５に関連して説明した知識メンテナンス（同義文クイック追加）によって、入力応答がどのように変化するかを示した図である。テスト環境では、知識データが実質的に格納されるテスト用データ３２０が用いられるが、ここでは、便宜上、知識データ３１０の内容が更新されたものとして説明する。
【０３２８】
図３６（Ａ）は、知識メンテナンスを行う前の状態を表している。入力文「通話できない」が入力されると、図１０に示す内容の知識データ３１０では、どのＱもヒットせず、この入力文に対しては、無ヒット時発話設定で設定された応答内容が出力されることになる。
【０３２９】
図３６（Ｂ）は、知識メンテナンスを行った後の状態を表している。入力文「通話できない」が入力されると、図１０に示す内容の知識データ３１０に、図３５に示す同義文クイック追加画面９３０で追加された同義文が指定されたＱＡに追加されるので、この入力文に対し、「Ｑ１−２：通話できない」がヒット（ヒット（高））し、これに対応する応答内容「Ａ１：詳細な状況をお知らせ下さい」が出力される。
【０３３０】
図３１に示す新規ＱＡクイック追加画面９００によってＱＡを追加し、図３５に示す同義文クイック追加画面９３０によって同義文を追加した後、図３３の知識メンテナンス画面８９０に戻って、ログデータ表示エリア８９２の入力文テストボタンを押下すると、図３７に示す知識メンテナンス画面８９０のようになる。
【０３３１】
すなわち、図３３の知識メンテナンス画面８９０と比べると、ログデータ表示エリア８９２の２件目の入力文に関して、ヒットの欄が「×」から「ヒット（高）」に変化し、ヒットＱの欄が空白から「他のアプリで音声が出ているか確認して下さい」に変化した。これは、図３１に示す新規ＱＡクイック追加画面９００によってＱＡを追加し、知識データ３１０に、「Ｑ９：先方の話が聞き取れない」が追加され、入力文がヒットするようになったためである（図３２参照）。
【０３３２】
また、ログデータ表示エリア８９２の４件目の入力文に関して、ヒットの欄が「×」から「ヒット（高）」に変化し、ヒットＱの欄が空白から「通話中に相手の声が聞こえません」に変化した。これは、図３５に示す同義文クイック追加画面９３０によって同義文を追加し、知識データ３１０に、「Ｑ１−２：通話できない」が追加され、入力文がヒットするようになったためである（図３６参照）。なお、候補Ｑの欄の「通話中の相手の声が聞こえません」は、ヒットＱとなったため、候補Ｑからは除外される。
【０３３３】
次に、図３８を参照して、本発明の一実施形態に係る情報提供システム１の情報提供サーバ２００を構成するコンピュータのハードウェア構成の例について説明する。ただし、図３８に示す情報提供サーバ２００の構成は、その代表的な構成を例示したにすぎない。
【０３３４】
情報提供サーバ２００は、ＣＰＵ（Central  Processing  Unit）１００１、ＲＡＭ（Random  Access  Memory）１００２、ＲＯＭ（Read  Only  Memory）１００３、ネットワークインタフェース１００４、オーディオ制御部１００５、マイクロフォン１００６、スピーカ１００７、ディスプレイコントローラ１００８、ディスプレイ１００９、入力機器インタフェース１０１０、キーボード１０１１、マウス１０１２、外部記憶装置１０１３、外部記録媒体インタフェース１０１４、及びこれらの構成要素を互いに接続するバス１０１５を含んでいる。
【０３３５】
ＣＰＵ１００１は、情報提供サーバ２００の各構成要素の動作を制御し、ＯＳの制御下で、本発明に係る入力応答制御部２１０や知識データ管理部２２０等の実行を制御する。
【０３３６】
ＲＡＭ１００２には、ＣＰＵ１００１で実行される各処理を実行するためのプログラムや、それらのプログラムが実行中に使用するデータが一時的に格納される。ＲＯＭ１００３には、情報提供サーバ２００の起動時に実行されるプログラム等が格納される。
【０３３７】
ネットワークインタフェース１００４は、ネットワーク１０２０に接続するためのインタフェースである。ネットワーク１０２０は、例えば、情報提供サーバ２００とユーザ端末１００やシステム管理端末６００との間のネットワークであり、図１に示すネットワーク７００に対応する。
【０３３８】
オーディオ制御部１００５は、マイクロフォン１００６とスピーカ１００７を制御して音声の入出力を制御する。ディスプレイコントローラ１００８は、ＣＰＵ１００１が発行する描画命令を実際に処理するための専用コントローラである。ディスプレイ１００９は、例えば、ＬＣＤ（Liquid  Crystal  Display）やＣＲＴ（Cathode  Ray  Tube）で構成される表示装置である。
【０３３９】
入力機器インタフェース１０１０は、キーボード１０１１やマウス１０１２から入力された信号を受信して、その信号パターンに応じて所定の指令をＣＰＵ１００１に送信する。
【０３４０】
外部記憶装置１０１３は、例えば、ハードディスクや半導体メモリのような記憶装置であり、この装置内には上述したプログラムやデータが記録され、実行時に、必要に応じてそこからＲＡＭ１００２にロードされる。例えば、図１に示す入力応答管理ＤＢ等も、このような外部記憶装置１０１３に記憶されうる。
【０３４１】
外部記録媒体インタフェース１０１４は、外部記録媒体１０３０にアクセスして、そこに記録されているデータを読み取る。外部記録媒体１０３０は、例えば、可搬型のフラッシュメモリ、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disc）などである。ＣＰＵ１００１で実行され、本発明の各機能を実現するためのプログラムは、この外部記録媒体インタフェース１０１４を介して外部記録媒体１０３０から提供されうる。また、本発明の各機能を実現するためのプログラムの他の流通形態としては、ネットワーク上の所定のサーバから、ネットワーク１０２０及びネットワークインタフェース１００４を介して外部記憶装置１０１３やＲＡＭ１００２に格納されるというルート等も考えられる。
【０３４２】
本発明の一実施形態に係る情報提供システム１の情報提供サーバ２００のハードウェア構成について、一例を説明したが、本発明のサジェストサーバ４００、ユーザ端末１００、システム管理端末６００も基本的にこれと同様の構成を有するコンピュータである。ただし、ここで、サーバについては、オーディオ制御部１００５、マイクロフォン１００６、スピーカ１００７、ディスプレイコントローラ１００８、ディスプレイ１００９、入力機器インタフェース１０１０、キーボード１０１１、及びマウス１０１２は必須の構成要素ではない。
【０３４３】
なお、ここまで、本発明の一実施形態に係る情報提供システム１について、本発明を実施することができる具体例を示しながら説明してきたが、これらの具体例は本発明を説明するための一例に過ぎず、本発明の権利範囲はこれらの具体例に限定されることはない。これら以外の様々な方法や構成によって、本発明の技術的思想を実現することができる。
【符号の説明】
【０３４４】
１  情報提供システム
１０  ユーザ
２０  システム管理者
１００  ユーザ端末
２００  情報提供サーバ
３００  入力応答管理ＤＢ
４００  サジェストサーバ
５００  サジェストＤＢ
６００  システム管理端末
７００  ネットワーク
【図１】
2018129086.tif 000003
【図２】
2018129086.tif 000004
【図３】
2018129086.tif 000005
【図４】
2018129086.tif 000006
【図５】
2018129086.tif 000007
【図６】
2018129086.tif 000008
【図７】
2018129086.tif 000009
【図８】
2018129086.tif 000010
【図９】
2018129086.tif 000011
【図１０】
2018129086.tif 000012
【図１１】
2018129086.tif 000013
【図１２】
2018129086.tif 000014
【図１３】
2018129086.tif 000015
【図１４】
2018129086.tif 000016
【図１５】
2018129086.tif 000017
【図１６】
2018129086.tif 000018
【図１７】
2018129086.tif 000019
【図１８】
2018129086.tif 000020
【図１９】
2018129086.tif 000021
【図２０】
2018129086.tif 000022
【図２１】
2018129086.tif 000023
【図２２】
2018129086.tif 000024
【図２３】
2018129086.tif 000025
【図２４】
2018129086.tif 000026
【図２５】
2018129086.tif 000027
【図２６】
2018129086.tif 000028
【図２７】
2018129086.tif 000029
【図２８】
2018129086.tif 000030
【図２９】
2018129086.tif 000031
【図３０】
2018129086.tif 000032
【図３１】
2018129086.tif 000033
【図３２】
2018129086.tif 000034
【図３３】
2018129086.tif 000035
【図３４】
2018129086.tif 000036
【図３５】
2018129086.tif 000037
【図３６】
2018129086.tif 000038
【図３７】
2018129086.tif 000039
【図３８】
2018129086.tif 000040