[1]実施例
図1は実施例に係る対話型ユーザ支援システム1の全体構成を表す。対話型ユーザ支援システム1は、対話型のユーザインターフェース(UI:User Interface)によりユーザを支援するためのシステムである。対話型のUIとは、人又は動物等を模したふるまいをする装置がユーザに対して問い掛け及び返答等のコミュニケーションを取りながら(対話しながら)必要な情報及び機能等を提示するUIのことである。対話型ユーザ支援システム1は、例えば、ユーザが得たい情報を提示したり、ユーザが希望する処理を行うことが可能なサイトに誘導したりすることでユーザを支援する。
対話型ユーザ支援システム1は、ネットワーク2と、サーバ装置10と、ユーザ端末20とを備える。ネットワーク2は、移動体通信網及びインターネット等を含む通信システムであり、自システムにアクセスする装置同士のデータのやり取りを中継する。ネットワーク2には、サーバ装置10が有線通信でアクセスしており、ユーザ端末20が無線通信でアクセスしている。なお、ネットワーク2とのアクセスは有線通信及び無線通信のどちらでもよい。
サーバ装置10は、対話型UIにおいて表示される画面の情報を処理する情報処理装置である。サーバ装置10は、対話の進め方を表した対話用シナリオ等のデータを記憶しており、それらのデータを用いて対話型UIにおける表示を制御する。ユーザ端末20は、表示面に画像を表示する表示機能を有するスマートフォン等の表示装置であり、ユーザによって利用される。
ユーザ端末20は、サーバ装置10から送信されてきたデータが示す画像を表示することで、対話型UIを表示するとともに、ユーザによる入力を受け付けて対話型UIの画面を遷移させる。ここでいう入力とは、文字等の入力の他、ユーザの操作を受け付ける操作子画像を選択する入力、表示された選択肢のいずれかを選択する入力及び画面をスクロールさせるための入力等が含まれ、また、手入力だけでなく、他の身体の部分(足等)による入力、タッチペンによる入力、音声入力及びジェスチャ入力等も含まれる。
図2はサーバ装置10及びユーザ端末20のハードウェア構成を表す。サーバ装置10及びユーザ端末20は、いずれも、プロセッサ11と、メモリ12と、ストレージ13と、通信装置14と、入力装置15と、出力装置16と、バス17という各装置を備えるコンピュータである。なお、ここでいう「装置」という文言は、回路、デバイス及びユニット等に読み替えることができる。また、各装置は、1つ又は複数含まれていてもよいし、一部の装置が含まれていなくてもよい。
プロセッサ11は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ11は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。また、プロセッサ11は、プログラム(プログラムコード)、ソフトウェアモジュール及びデータ等を、ストレージ13及び/又は通信装置14からメモリ12に読み出し、これらに従って各種の処理を実行する。
各種処理を実行するプロセッサ11は1つでもよいし、2以上であってもよく、2以上のプロセッサ11は、同時又は逐次に各種処理を実行してもよい。また、プロセッサ11は、1以上のチップで実装されてもよい。プログラムは、電気通信回線を介してネットワークから送信されてもよい。
メモリ12は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)及びRAM(Random Access Memory)等の少なくとも1つで構成されてもよい。メモリ12は、レジスタ、キャッシュ及びメインメモリ(主記憶装置)等と呼ばれてもよい。メモリ12は、前述したプログラム(プログラムコード)、ソフトウェアモジュール及びデータ等を保存することができる。
ストレージ13は、コンピュータが読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つで構成されてもよい。
ストレージ13は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ12及び/又はストレージ13を含むデータベース、サーバその他の適切な媒体であってもよい。通信装置14は、有線及び/又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
入力装置15は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置16は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカ、LEDランプなど)である。ユーザ端末20においては、入力装置15及び出力装置16が一体となった構成(タッチスクリーン)になっている。
プロセッサ11及びメモリ12等の各装置は、情報を通信するためのバス17を介して互いにアクセス可能となっている。バス17は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。また、サーバ装置10等は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、及び、FPGA(Field Programmable Gate Array)等のハードウェアを含んで構成されてもよい。
また、サーバ装置10等は、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ11は、これらのハードウェアの少なくとも1つで実装されてもよい。サーバ装置10及びユーザ端末20には、本システムで提供されるプログラムが記憶されており、各装置のプロセッサがプログラムを実行して各部を制御することで以下に述べる機能群が実現される。
図3は対話型ユーザ支援システム1が実現する機能構成を表す。ユーザ端末20は、対話画像表示部201と、メッセージ入力受付部202とを備える。サーバ装置10は、データ記憶部101と、対話データ生成部102と、入力メッセージ取得部103と、対話特定部104と、キーワード取得部105とを備える。対話特定部104は、シナリオ特定部106と、分岐特定部107とを備える。
サーバ装置10のデータ記憶部101は、対話型UIを実現するためのデータとして、複数の対話用シナリオを示すシナリオデータを記憶する。対話用シナリオとは、ユーザにより入力されたメッセージに対してどのような返答、問い掛け及び情報の提示等を行うかという分岐を対話の流れに沿って連続的に定めたものである。ここでいうメッセージとは、文字、記号、符号、番号及び図形等によって相手に伝えたい事項が表された情報である。
対話型ユーザ支援システム1においては、本システムの提供者が作成した総合シナリオと、システム提供者又はシステム提供者と協業する事業者が作成した個別シナリオとが対話用シナリオとして用意されている。データ記憶部101は、総合シナリオを示す総合シナリオデータと、各々が個別シナリオを示す複数の個別シナリオデータとを、各々を識別するシナリオIDに対応付けて記憶している。
図4は対話用シナリオの例を表す。図4(a)では総合シナリオA1が、図4(b)では個別シナリオA2が表されている。総合シナリオA1では、総合シナリオトップB1という最上層の分岐(トップ分岐)が、天気B11、ニュースB12、シナリオ提示B13を含む次の層の複数の分岐に繋がっている。これらの「総合シナリオトップ」、「天気」、「ニュース」及び「シナリオ検索」等の文言は、各分岐に付けられた分岐の特徴を表すタイトルである。
これらの分岐は、いずれもさらに次の分岐に繋がっており、分岐を進むに連れて様々な情報を提供したり処理を実行したりするようになっている。例えば天気B11の分岐を辿れば天気に関する情報が提供され、ニュースB12の分岐を辿ればニュースが提供される。また、シナリオ提示B13の分岐はユーザが利用したい別の対話用シナリオを提示させるための分岐である。
このように、総合シナリオは、ユーザが要求する情報の提供、ユーザが要求する処理の実行又はユーザが利用したい他のシナリオの提示がなされるようにユーザを導くシナリオである。総合シナリオは、天気及びニュース等の汎用的な情報提供は行うが、例えば店舗情報、チケット情報及び宿泊情報等のように商品購入及びサービス利用に結び付く情報提供及び処理の実行は主として個別シナリオで行われる。
個別シナリオA2も、総合シナリオA1と同様に、個別シナリオトップB2というトップ分岐が、分岐B21、分岐B22、分岐B23を含む複数の次の分岐に繋がっている。各分岐の内容は、シナリオ毎に異なっている。対話用シナリオの各分岐には、ユーザに分岐を選択させるための情報(これを「分岐情報」という)が対応付けられている。対話データ生成部102は、それらの分岐情報を用いて対話用シナリオをユーザに提示するための処理を行う。対話データ生成部102は本発明の「処理部」の一例である。
対話データ生成部102は、データ記憶部101からシナリオデータを読み出して、読み出したシナリオデータが示す分岐情報を用いて対話用の画像を示す対話データを生成する。対話データ生成部102は、生成した対話データをユーザ端末20に送信する。ユーザ端末20の対話画像表示部201は、送信されてきた対話データを受け取り、その対話データが示す対話用の画像(対話画像)を表示する。
図5は表示された対話画像の例を表す。図5(a)では、対話画像表示部201が、総合画面にアバターC1と、吹き出し画像D1と、対話入力欄E1と、ソフトウェアキーボードF1とを表示している。このうちのアバターC1、吹き出し画像D1及び対話入力欄E1は、対話データが示す対話画像である。アバターC1は、対話型のUIにおいてユーザの対話の相手である装置を擬人化して表したアバターを示す画像である。
吹き出し画像D1は、アバターC1からユーザに向けてのメッセージ(この例では「何かご用はありませんか?」というメッセージ)を表す画像である。上述したシナリオデータは、これらのユーザ向けメッセージ及び対話画像を分岐情報として含んでいる。対話画像表示部201は、表示している対話画像の位置を示す表示位置情報をメッセージ入力受付部202に供給する。
メッセージ入力受付部202は、対話画像表示部201により対話画像が表示されている状態でユーザが行うメッセージの入力を受け付ける。図5(a)の例では、ソフトウェアキーボードF1を操作して文章を入力することで、ユーザによるメッセージ入力が行われる。メッセージ入力受付部202は、供給された表示位置情報に基づいてソフトウェアキーボードF1に対するユーザの操作内容(入力されたメッセージ)を判断する。なお、メッセージ入力受付部202は、周知の音声認識技術を用いて、ユーザが音声で行ったメッセージ入力を受け付けてもよい。
メッセージ入力受付部202は、ユーザによるメッセージ入力を受け付けると、入力メッセージ(入力されたメッセージ)を示す入力メッセージデータをサーバ装置10に送信する。サーバ装置10の入力メッセージ取得部103は、送信されてきた入力メッセージデータを受け取ると、その入力メッセージデータが示す入力メッセージを取得する。入力メッセージ取得部103は本発明の「メッセージ取得部」の一例である。入力メッセージ取得部103は、取得した入力メッセージを対話データ生成部102に供給する。
対話データ生成部102は、供給された入力メッセージから次の分岐を特定し、特定した分岐と供給された入力メッセージとを含む新たな対話用の画像を示す対話データを生成する。図5(b)はそうして生成された対話データが示す対話用の画像を表す。図5(b)では、対話画像表示部201が、総合画面に、ユーザの入力メッセージ(「天気を教えて」というメッセージ)を示す吹き出し画像G2と、新たな分岐情報に含まれるアバターC1のユーザ向けメッセージ(「東と西のどちらにしますか?」というメッセージ)を示す吹き出し画像D2とを表示している。
この例では、対話データ生成部102は、入力メッセージに「天気」が含まれているので、タイトルに「天気」が含まれる天気B11を次の分岐と判断している。図5(b)に表すユーザ向けメッセージは天気B11の分岐情報に含まれる情報である。また、対話画像表示部201は、図4(a)に表す天気B11の次の分岐である東日本B111及び西日本B112を選択するための選択肢画像H1及びH2を表示している。
これらの選択肢画像も天気B11の分岐情報に含まれている。これらの選択肢を表す文字列(「東日本」及び「西日本」)は、アバターC1のユーザ向けメッセージの一部である。この場合、メッセージ入力受付部202は、選択肢画像H1をタップする操作を東日本B111の分岐を選択するメッセージ入力として受け付け、選択肢画像H2をタップする操作を西日本B112の分岐を選択するメッセージ入力として受け付ける。
東日本B111の分岐が選択されると、対話データ生成部102は、東日本B111の分岐情報を用いて対話データを生成する。図5(c)はそうして生成された対話データが示す対話用の画像を表す。図5(c)では、対話画像表示部201が、総合画面に、ユーザの入力メッセージ(「東日本で。」というメッセージ)を示す吹き出し画像G3と、新たな分岐情報に含まれるアバターC1のユーザ向けメッセージ(「東日本の天気は以下のとおりです。」というメッセージ)を示す吹き出し画像D3とを表示している。
このように、対話用シナリオは、ユーザ向けメッセージ(ユーザに向けたメッセージ)により分岐が表されたシナリオである。シナリオデータには、各分岐の繋がり及び前後関係等を示す繋がり情報と、これらのユーザ向けメッセージ、アバター及び吹き出し画像等を示す分岐情報とが含まれている。また、対話データ生成部102は、予めシナリオデータに含まれている分岐情報だけでなく、外部装置から取得した情報(例えば天気予報サイトから取得した天気情報)を天気情報画像J1として示す対話データを生成している。
なお、天気情報画像J1が表示されている領域はスクロール可能であり、スクロールすると次の分岐を選択するための選択肢画像が表示されるものとする。続いて、図4(a)に表すシナリオ提示B13の分岐が選択された場合の対話画像について説明する。シナリオ提示B13の分岐が選択されるケースは主に2通りある。1つ目は、ユーザの入力メッセージからユーザが求める対話用シナリオが1つに特定可能な場合である。その場合は、特定された対話用シナリオが提示され、その対話用シナリオへの切り替えを促すユーザ向けメッセージが表示される。
図6は表示された対話画像の別の例を表す。図6(a)では、対話画像表示部201が、総合画面に、「αを呼んで。」という入力メッセージを示す吹き出し画像G4と、アバターC1と、「αエージェントですね。画面を切り替えますか?」というユーザ向けメッセージを示す吹き出し画像D4と、「はい」を示す選択肢画像H3と、「いいえ」を示す選択肢画像H4とを表示している。
ここで、「エージェント」とは、対話用シナリオを提供する事業者等を指す言葉であり、また、対話用シナリオにおいて対話相手となるアバターの通称としても用いられる。「α」は例えば対話用シナリオを提供する事業者の名称である。対話データ生成部102は、「αエージェント」等のエージェントの名称と対話用シナリオとを対応付けたシナリオテーブルを記憶している。
図7はシナリオテーブルの一例を表す。図7の例では、図4(b)の個別シナリオA2が「αエージェント」に対応付けられている。また、「βエージェント」及び「γエージェント」等に個別シナリオA3及びA4等がそれぞれ対応付けられている。対話データ生成部102は、総合シナリオトップB1において取得された入力メッセージに「α」等のエージェントの名称が含まれている場合、そのエージェントの対話用シナリオへの切り替えを促すためシナリオ提示B13の分岐を次の分岐として特定する。
対話データ生成部102は、特定したシナリオ提示B13の分岐情報と取得された入力メッセージとを用いて、図6(a)の吹き出し画像G4及びD4等を示す対話データを生成する。対話データ生成部102は、図6(a)の画面で「いいえ」が選択された場合は例えば総合シナリオトップB1の対話データを再び生成する(「いいえ」の場合に進む分岐が定められていればその分岐に進む対話データを生成してもよい)。
また、対話データ生成部102は、「はい」が選択された場合は、提示された対話用シナリオへの切り替えを行う切替B131を次の分岐として特定する。切替B131は、便宜上総合シナリオA1に含まれているが、選択された対話用シナリオのトップ分岐に切り替えることを表す分岐である。図6の例では、対話データ生成部102は、個別シナリオA2の個別シナリオトップB2の分岐情報を用いて図6(b)に表す画像を示す対話データを生成する。
図6(b)では、対話画像表示部201が、「αエージェント画面」(αエージェントが提供する個別シナリオにおいて表示される画面)に、αエージェントのアバターC2と、アバターC2の「何かご用でしょうか?」というユーザ向けメッセージを示す吹き出し画像D5と、対話入力欄E5と、ソフトウェアキーボードF5とを表示している。このように、ユーザが対話用シナリオ(エージェント)を直接指定した場合は、その指定された個別シナリオのトップ分岐から対話が開始される。
続いて、シナリオ提示B13の分岐が選択される2つ目のケースとして、対話用シナリオが直接的に指定されないがシナリオ提示がされる場合について説明する。例えば図5(a)の画面でユーザが「飛行機を予約したい」というメッセージを入力したとする。入力メッセージ取得部103は、取得した入力メッセージを対話データ生成部102だけでなく対話特定部104にも供給する(この供給は入力メッセージに関係なく常に行われる)。
対話特定部104は、供給されたメッセージを入力したユーザとの対話に関する決定を行う。対話特定部104は、例えばそのユーザに提示するシナリオを特定し、可能な場合にはそのシナリオの中の分岐のうちユーザに提示する分岐をさらに特定する。対話特定部104が備えるシナリオ特定部106は、供給された入力メッセージに基づいてユーザに提示する対話用シナリオを特定する。シナリオ特定部106は本発明の「シナリオ特定部」の一例である。
シナリオ特定部106は、対話用シナリオに含まれるキーワードに基づいて対話用シナリオを特定する。キーワード取得部105は、複数の対話用シナリオの各々のユーザ向けメッセージに含まれるキーワードを取得する。キーワード取得部105は本発明の「キーワード取得部」の一例である。ここでいうキーワードとは、単語でもよいし、複数の単語からなる句でもよく、いわゆる語句であればよい。
キーワード取得部105は、上述した各分岐情報に含まれているユーザ向けメッセージを、そのユーザ向けメッセージが含まれている対話用シナリオのシナリオIDに対応付けてデータ記憶部101から読み出す。キーワード取得部105は、例えば多数の語句が登録された辞書データを記憶しておき、読み出したユーザ向けメッセージに含まれる語句を切り出してキーワードとして取得する。
キーワード取得部105は、例えばデータ記憶部101に新たなシナリオデータが記憶されたとき、シナリオデータが更新されたとき又は一定の頻度でキーワードを取得する。いずれの場合も、キーワード取得部105は、なるべく最新のシナリオデータに含まれるキーワード(つまり最新のキーワード)を取得しておくことが望ましい。キーワード取得部105は、取得したキーワードをシナリオIDに対応付けて記憶しておく。
シナリオ特定部106は、入力メッセージ取得部103から入力メッセージが供給されると、キーワード取得部105が記憶しているキーワードを読み出す。シナリオ特定部106は、供給された入力メッセージ、すなわち入力メッセージ取得部103により取得された入力メッセージに関連するキーワード(以下「関連キーワード」という)が第1所定量以上(キーワード取得部105により)取得される対話用シナリオを、ユーザに提示する対話用シナリオとして特定する。
第1所定量は、例えば予め定められたキーワードの個数である。その場合、例えば第1所定量が50個であれば、シナリオ特定部106は、関連キーワードが50個以上取得された対話用シナリオを提示シナリオ(ユーザに提示する対話用シナリオ)として特定する。また、第1所定量は、予め定められた文字数であってもよい。その場合、例えば第1所定量が300文字であれば、シナリオ特定部106は、取得された関連キーワードを合わせた文字数が300文字以上であった対話用シナリオを提示シナリオとして特定する。
また、第1所定量は、全キーワード数のうちの予め定められた割合の個数であってもよい。その場合、例えば第1所定量が全キーワード数の50%の個数であれば、シナリオ特定部106は、取得された全キーワード数の50%の個数(全キーワード数が200個なら100個)以上の関連キーワードが取得された対話用シナリオを提示シナリオとして特定する。なお、キーワード数の代わりに文字数を用いた場合の同様の割合で第1所定量が定められてもよい。
シナリオ特定部106は、例えば次のように関連キーワードを判断する。シナリオ特定部106は、辞書データに含まれている各語句に対して各々が関係するジャンル(属性又は分野等でもよい)を対応付けたジャンルデータを記憶しておく。シナリオ特定部106は、取得された入力メッセージに含まれるキーワードを抽出し、例えば抽出したキーワードと全く同じキーワード及び抽出したキーワードとジャンルが同じキーワードを関連キーワードと判断する。
なお、関連キーワードの判断方法はこれに限らず、例えば検索サイトが入力されたキーワードに関連するウェブページを検索する際に用いている周知の技術が用いられてもよい。シナリオ特定部106は、各対話用シナリオについて関連キーワードの個数を算出し(上記割合を用いる場合は全キーワードの個数も算出し)、第1所定量以上であるか否かを判断する。
シナリオ特定部106は、関連キーワードが第1所定量以上であった対話用シナリオを提示シナリオとして特定し、特定した提示シナリオのシナリオIDを対話データ生成部102に供給する。対話データ生成部102は、シナリオ特定部106により特定された対話用シナリオをユーザに提示するための処理を行う。対話データ生成部102は、例えば、シナリオ提示B13の分岐情報と供給されたシナリオIDを用いて図8に表すような画像を示す対話データを生成する。
図8は表示された対話画像の例を表す。図8(a)では、対話画像表示部201が、総合画面に、ユーザによる「夏休みの飛行機を予約したい。」という入力メッセージを示す吹き出し画像G6と、アバターC1と、「対話するエージェントを選んでください。」というユーザ向けメッセージを示す吹き出し画像D6と、「βエージェント」、「γエージェント」、「Δエージェント」、「εエージェント」を示すアバターC3~C6と、各エージェントを選択する選択肢画像H3~H6とを表示している。
これらのエージェントは、いずれも、「夏休み」、「飛行機」及び「予約」という語句を含む入力メッセージと関連すると判断された関連キーワードを第1所定量以上含む個別シナリオを提供しているエージェントである。対話データ生成部102は、供給された入力メッセージから吹き出し画像G6を生成し、シナリオ提示B13の分岐情報からアバターC1及び吹き出し画像D6を生成する。
また、対話データ生成部102は、供給されたシナリオIDが示す個別シナリオデータを読み出して、アバターC3~C6及び選択肢画像H3~H6を生成する。ユーザがいずれかの選択肢画像を選択すると、対話データ生成部102は、選択されたエージェントの個別シナリオへの切り替えを行う切替B131を次の分岐として特定する。また、図8の例では、入力メッセージがエージェント名以外のキーワード(図8の例だと「夏休み」、「飛行機」、「予約」)を含んでいる。
この場合、対話特定部104が備える分岐特定部107が、シナリオ特定部106により特定された対話用シナリオが有する複数の分岐から、ユーザに提示する分岐を特定する。分岐特定部107は本発明の「分岐特定部」の一例である。具体的には、分岐特定部107は、上記の関連キーワード(入力メッセージ取得部103により取得された入力メッセージに関連するキーワード)が第2所定量以上取得される分岐を特定する。
分岐特定部107は、特定された提示シナリオの各分岐情報に含まれるキーワードから、シナリオ特定部106と同様に関連キーワードを判断し、分岐情報に含まれる関連キーワードの量が第2所定量以上であるか否かを各分岐について判断する。第2所定量は、第1所定量よりも少ない量が定められるだけで、第2所定量を用いた判断方法は第1所定量を用いた上記方法と同じ(キーワード数、文字数又はそれらの割合に基づく判断)である。
分岐特定部107は、関連キーワードの量が第2所定量以上であった分岐を、提示分岐(ユーザに提示する分岐)として特定する。分岐特定部107は、特定した分岐を識別する分岐IDを対話データ生成部102に供給する。対話データ生成部102は、分岐特定部107により特定された分岐をユーザに提示するための処理を行う。対話データ生成部102は、例えば、供給された分岐IDが示す分岐の分岐情報を用いて図8(b)に表すような画像を示す対話データを生成する。
図8(b)の例では、対話画像表示部201が、図8(a)の画面で選択されたγエージェントの画面として、アバターC4と、「飛行機予約ですね。出発日はいつですか?」というユーザ向けメッセージを含む吹き出し画像D7と、出発日の入力欄E71と、到着日の入力欄E72と、出発地の入力欄E73(一部だけ画面に含まれている)と、日付入力用の操作画像F7とを表示している。
なお、これ以外にも、到着地、人数、座席クラスを入力する入力欄もあるが、1画面に収まらないので、スクロールさせて表示されるようになっている。それらの入力欄及び操作画像F7は、特定された分岐の分岐情報に含まれる画像である。γエージェントは、飛行機に関する各種の情報(座席の空き、提携ホテルの空き部屋及び運行状況等)を提供し、飛行機に関する各種の処理(航空券予約、宿泊予約及びツアー予約等)を行うことができる個別シナリオを提供している。
図8(b)は航空券予約を行うための分岐であり、個別シナリオのトップ分岐から分岐を辿ると到達する分岐である。このように、対話データ生成部102は、図8(b)に表す画像を示す対話データを生成する処理を行うことで、シナリオ特定部106により特定された対話用シナリオをユーザに提示する際に、最上層の分岐(トップ分岐)ではなく最初から下層の分岐(分岐特定部107により特定された分岐)を提示する処理を行っている。
また、対話データ生成部102は、特定された分岐をユーザに提示するとともに、その分岐で入力可能なメッセージの候補を、入力メッセージ取得部103により取得された入力メッセージと関連する度合いが高いほど優先して提示する処理を行う。例えば図8の例では「夏休み」という時期を表す語句が入力メッセージに含まれているので、時期に関する「出発日」及び「到着日」の入力欄が優先して提示されている。
より詳細に言うと、「夏休み」、「出発日」及び「到着日」はいずれも「時期」という属性を有する語句なので関連する度合いが高く、他の入力欄はいずれも「夏休み」と共通する属性を有しない語句なので関連する度合いが低いと判断されている。これらの語句の属性(ジャンル、分野でもよい)は例えば辞書データに登録されていればよい。対話データ生成部102は、図8の例では、優先度が高い入力欄ほど画面の上側に配置することで優先提示(優先度が高いものを優先して提示すること)を行っている。
また、対話データ生成部102は、「出発日はいつですか?」という出発日の入力欄E71への入力を促すメッセージを含む吹き出し画像D7を提示することでも優先提示を行っている。なお、入力欄を横に並べる場合には優先度が高いほど左側(横書きの文字を読み始める方)に配置することで優先提示が行われてもよい。他にも、例えば優先度が高い入力欄を1画面目に提示し、優先度が低い入力欄を2画面目以降で提示することで優先提示を行ってもよい。
また、優先度が高い入力欄をハイライトして提示したり枠線を太くして提示したりしてもよい。また、優先度が高い入力欄ほどサイズを大きくして優先提示を行ってもよい。要するに、優先度が高い入力欄ほどユーザが入力しやすい又はユーザの目につきやすいように提示されていればよい。
図9は表示された対話画像の別の例を表す。図9(a)では、図8(a)の対話画像と比べて吹き出し画像G8に「沖縄行の飛行機を予約したい。」というユーザの入力メッセージが示されている点だけが異なっている。
この場合は「沖縄」という場所を表す語句が入力メッセージに含まれているので、図9(b)に表すように、場所に関する「出発地」の入力欄E91及び「到着地」の入力欄E92が優先して提示されている。また、対話データ生成部102は、「出発地はどこですか?」という出発地の入力欄E91への入力を促すユーザ向けメッセージを含む吹き出し画像D9を提示することでも優先提示を行っている。
対話型ユーザ支援システム1が備える各装置は、上記の構成に基づいて対話型UIでユーザを支援する支援処理を行う。
図10は支援処理における各装置の動作手順の一例を表す。この動作手順は、例えば、ユーザにより総合シナリオのトップ分岐を表示させる操作が行われることを契機に開始される。まず、ユーザ端末20は、この操作を受け付けると(ステップS11)、総合シナリオのトップ分岐の表示を要求する要求データをサーバ装置10に送信する(ステップS12)。
サーバ装置10(対話データ生成部102)は、送信されてきた要求データが示す総合シナリオのシナリオデータを読み出して(ステップS13)、読み出したシナリオデータが示すトップ分岐の分岐情報を用いて対話データを生成する(ステップS14)。次に、対話データ生成部102は、生成した対話データをユーザ端末20に送信する(ステップS15)。ユーザ端末20(対話画像表示部201)は、送信されてきた対話データが示す対話用の画像(トップ分岐の画像)を表示する(ステップS16)。
続いて、対話画像が表示されている状態でユーザによるメッセージ入力が行われると、ユーザ端末20(メッセージ入力受付部202)は、そのメッセージ入力を受け付けて(ステップS21)、入力されたメッセージを示す入力メッセージデータをサーバ装置10に送信する(ステップS22)。サーバ装置10(入力メッセージ取得部103)は、送信されてきた入力メッセージデータが示す入力メッセージを取得する(ステップS23)。
次に、サーバ装置10(対話特定部104)は、自装置に記憶されているキーワード(対話用シナリオのユーザ向けメッセージに含まれるキーワード)を読み出す(ステップS24)。そして、サーバ装置10(シナリオ特定部106)は、読み出したキーワードを用いて、取得された入力メッセージに関連するキーワード(関連キーワード)が第1所定量以上の対話用シナリオを提示シナリオとして特定する(ステップS25)。
また、サーバ装置10(分岐特定部107)は、特定された対話用シナリオが有する複数の分岐から、関連キーワードが第2所定量以上取得される分岐を特定する(ステップS26)。次に、サーバ装置10(対話データ生成部102)は、特定された対話用シナリオのシナリオデータを読み出して(ステップS27)、特定された分岐の分岐情報を用いて対話データを生成し(ステップS28)、生成した対話データをユーザ端末20に送信する(ステップS29)。ユーザ端末20(対話画像表示部201)は、送信されてきた対話データが示す対話用の画像を表示する(ステップS30)。
本実施例では、上記のとおりユーザの入力メッセージに関連する関連キーワードを多く含む(第1所定量以上含む)対話用シナリオがそのユーザに提示される。こうして提示された対話用シナリオは、関連キーワードが少ない対話用シナリオに比べてユーザがやり取りしたい内容に近いものになりやすい。このように、本実施例によれば、関連キーワードを考慮しない場合に比べて、ユーザがやり取りしたい内容に近い対話用のシナリオをそのユーザに提示することができる。
また、本実施例では、さらに、関連キーワードを多く含む(第2所定量以上含む)分岐がユーザに提示される。これにより、常に対話用シナリオを最初から(トップ分岐から)提示する場合に比べて、ユーザがやり取りしたい対話を最初から行わせることができる。また、本実施例では、入力可能なメッセージの候補(図8(b)の例では出発地、到着地、出発日、到着日)のうち、先に入力されたメッセージに関連する候補(図8(b)の例では出発日、到着日)が識別可能に提示される。
ユーザの入力メッセージには、ユーザが関心を持つ語句が含まれていることが多い(図8の例なら「夏休み」の予定に関心があり、図9の例なら「沖縄」に関心がある)。上記提示により、その関心がある語句に関連する入力を先に行うことができるので、どの候補も一様に提示される場合に比べて、次の分岐に進んだときに、ユーザの関心が高い内容をすぐに入力させることができる。
[2]変形例
上述した実施例は本発明の実施の一例に過ぎず、以下のように変形させてもよい。
[2-1]登録されたキーワード
キーワード取得部105は、実施例では対話用シナリオの分岐を表す応答文に含まれるキーワードを取得したが、これに限らない。例えば対話用シナリオの提供者がその対話用シナリオの特徴等を表す文章を登録する場合がある。キーワード取得部105は、そのような文章に含まれているキーワード、すなわち複数の対話用シナリオの各々に対応付けて登録されたキーワードをさらに取得してもよい。
本変形例では、データ記憶部101が、登録されたそれらの文章を示すシナリオデータ(総合シナリオデータ及び個別シナリオデータ)を記憶する。キーワード取得部105は、シナリオデータからそれらの文章に含まれる語句を切り出してキーワードとして取得する。シナリオ特定部106は、そうして取得されたキーワードも含めて関連キーワードを判断し、関連キーワードの量に基づいて実施例と同様にして提示シナリオを特定する。
本変形例では、対話用シナリオの提供者は、提供する対話用シナリオを利用してほしいユーザがメッセージとして入力しそうな語句を含む文章を登録しておくことで、提示シナリオとして特定されやすいようにすることができる。また、ユーザ向けメッセージにそのような語句を含めすぎると不自然な文章になるが、上記の登録された文章は対話の際に提示されることはないので、ユーザに不自然な印象を与えることなく提示シナリオとして特定されやすいようにすることができる。
なお、ユーザ向けメッセージに含まれるキーワードと登録されたキーワードとで重み付けを異ならせてもよい。例えば、シナリオ特定部106は、登録されたキーワードは個数を多くする補正をして(例えば5倍にして)キーワードの個数を算出し、関連キーワードの量が第1所定量以上であるか否かを判断してもよい。この場合は、重み付けをしない場合に比べて、提供者の意向をより強く反映した提示シナリオの特定を行うことができる。
また、反対に、ユーザ向けメッセージに含まれるキーワードの個数を多くする補正をしてもよい。この場合は、重み付けをしない場合に比べて、提供者の意向により(例えば対話用シナリオとは関係のない語句を多く含む文章を登録することで)適当でない提示シナリオが特定されることを抑制することができる。なお、以下の説明では、キーワード取得部105により取得されたキーワードと言った場合には、ユーザ向けメッセージに含まれるキーワードだけの場合も、ユーザ向けメッセージに含まれるキーワード及び登録されたキーワードの両方である場合も、どちらも含まれるものとする。
[2-2]シナリオの利用履歴
ユーザがよく利用する対話用シナリオが分かっている場合には、その対話用シナリオが特定されやすいようにしてもよい。
図11は本変形例で実現される機能構成の一例を表す。図11では、図3に表す各部に加えて第1利用履歴取得部111を備えるサーバ装置10aが表されている。
第1利用履歴取得部111は、ユーザが対話用シナリオを利用した履歴を取得する。第1利用履歴取得部111は本発明の「第1履歴取得部」の一例である。本変形例では、対話データ生成部102が、対話データに用いる対話用シナリオを特定する度に、特定した対話用シナリオのシナリオIDを、対話データの送信先のユーザ端末20を利用するユーザID(予め記憶しておく)に対応付けて第1利用履歴取得部111に供給する。
第1利用履歴取得部111は、供給されたシナリオIDを、ともに供給されたユーザIDのユーザの対話用シナリオの利用履歴として取得する。第1利用履歴取得部111は、取得した利用履歴(シナリオID及びユーザID)を、取得した日時(使用日時とする)に対応付けて記憶しておく。シナリオ特定部106は、関連キーワードの量が第1所定量以上であるか否かを判断する際に、第1利用履歴取得部111により取得された履歴が示す利用実績が多い対話用シナリオのキーワードの量ほど大きな重みを付ける。
シナリオ特定部106は、例えば、対話用シナリオの利用実績と補正係数とを対応付けた補正テーブルを用いてこの重み付けを行う。
図12は本変形例の補正テーブルの一例を表す。図12の例では、「N11未満」、「N11以上N12未満」、「N12以上」(N11、N12はそれぞれ自然数)という利用実績に「1.0」、「1.2」、「1.4」という補正係数が対応付けられている。
利用実績は、例えば過去の通算の利用回数でもよいし、過去の所定の期間の利用回数(利用頻度に相当)でもよい。シナリオ特定部106は、対話用シナリオを提示するユーザのユーザIDに対応付けて記憶されている利用履歴を第1利用履歴取得部111から読み出して利用実績を算出する。シナリオ特定部106は、算出した利用実績に補正テーブルで対応付けられている補正係数を読み出す。
シナリオ特定部106は、各対話用シナリオについて関連キーワードの量を算出する際に、その対話用シナリオについて読み出した補正係数を乗じて関連キーワードの量を算出する。その結果、例えば利用実績がN12以上の対話用シナリオであれば、関連キーワードの量が1.4倍されるので、第1所定量以上と判断されやすくなり、提示シナリオとして特定されやすくなる。
本変形例によれば、上記重み付けをしない場合に比べて、ユーザがよく利用する対話用シナリオがそのユーザに提示されやすくなる。なお、シナリオ特定部106と同様に、分岐特定部107が、関連キーワードの量が第2所定量以上であるか否かを判断する際に、第1利用履歴取得部111により取得された履歴が示す利用実績が多い対話用シナリオのキーワードの量ほど大きな重みを付けてもよい。その場合、この重み付けをしない場合に比べて、ユーザがよく利用する分岐がそのユーザに提示されやすくなる。
[2-3]複数ユーザの利用履歴
複数のユーザがよく利用する対話用シナリオが分かっている場合には、その対話用シナリオが特定されやすいようにしてもよい。
図13は本変形例で実現される機能構成の一例を表す。図13では、図3に表す各部に加えて第2利用履歴取得部112を備えるサーバ装置10bが表されている。
第2利用履歴取得部112は、複数のユーザが対話用シナリオを利用した履歴を取得する。第2利用履歴取得部112は本発明の「第2履歴取得部」の一例である。ここでいう複数のユーザには、対話用シナリオを提示する対象ユーザを含んでいてもよいし、含んでいなくてもよい。本変形例では、対話データ生成部102が、対話データに用いる対話用シナリオを特定する度に、特定した対話用シナリオのシナリオIDを第2利用履歴取得部112に供給する(ユーザIDへの対応付けは不要)。
第2利用履歴取得部112は、供給されたシナリオIDを複数のユーザの対話用シナリオの利用履歴として取得する。第2利用履歴取得部112は、取得した利用履歴(シナリオID)を、取得した日時(使用日時とする)に対応付けて記憶しておく。シナリオ特定部106は、関連キーワードの量が第1所定量以上であるか否かを判断する際に、第2利用履歴取得部112により取得された履歴が示す複数のユーザの利用実績が多い対話用シナリオのキーワードの量ほど大きな重みを付ける。
シナリオ特定部106は、例えば図12に表す補正テーブルを用いて、上記変形例と同様の方法でこの重み付けを行う。上記変形例と比べると、複数ユーザの利用実績のため件数が多くなるから、補正テーブルのN11及びN12の値を大きくして用いるとよい。本変形例によれば、上記重み付けをしない場合に比べて、複数のユーザがよく利用する対話用シナリオがどのユーザにも提示されやすくなるし、ユーザ自身は利用したことがない対話用シナリオであっても、他のユーザがよく利用しているものであれば提示されやすくなる。
なお、シナリオ特定部106と同様に、分岐特定部107が、関連キーワードの量が第2所定量以上であるか否かを判断する際に、第2利用履歴取得部112により取得された履歴が示す複数のユーザの利用実績が多い対話用シナリオのキーワードの量ほど大きな重みを付けてもよい。その場合、この重み付けをしない場合に比べて、複数のユーザがよく利用する分岐がそのユーザに提示されやすくなるし、ユーザ自身は利用したことがない分岐であっても、他のユーザがよく利用しているものであれば提示されやすくなる。
[2-4]入力メッセージの履歴
実施例では、ユーザがメッセージを入力した際にその入力メッセージだけに関係が深い対話用シナリオが特定されたが、過去も含めた入力メッセージに関係が深い対話用シナリオが特定されてもよい。
図14は本変形例で実現される機能構成の一例を表す。図14では、図3に表す各部に加えてメッセージ履歴取得部113を備えるサーバ装置10cが表されている。
メッセージ履歴取得部113は、ユーザの入力メッセージの履歴を取得する。メッセージ履歴取得部113は本発明の「第3履歴取得部」の一例である。本変形例では、入力メッセージ取得部103が、取得した入力メッセージを、入力メッセージデータの送信元のユーザ端末20を利用するユーザIDに対応付けてメッセージ履歴取得部113に供給する。メッセージ履歴取得部113は、供給された入力メッセージ及びユーザIDをそのユーザIDのユーザの入力メッセージの履歴として取得する。
メッセージ履歴取得部113は、取得した入力メッセージの履歴を、取得した日時(入力日時とする)に対応付けて記憶しておく。シナリオ特定部106は、関連キーワードの量が第1所定量以上であるか否かを判断する際に、メッセージ履歴取得部113により取得された入力メッセージの履歴に関連する語句が多く含まれる関連キーワードの量ほど大きな重みを付ける。関連する語句とは、例えば関連キーワードと同一の語句又は関連キーワードとジャンル(属性又は分野等でもよい)が同じ語句である。
シナリオ特定部106は、例えば、関連キーワードに関連する語句の量と補正係数とを対応付けた補正テーブルを用いてこの重み付けを行う。
図15は本変形例の補正テーブルの一例を表す。図15の例では、「N21未満」、「N21以上N22未満」、「N22以上」という関連する語句の量に「1.0」、「1.2」、「1.4」という補正係数が対応付けられている。
シナリオ特定部106は、関連キーワードの量を算出する際に、その関連キーワードに関連する語句をユーザの入力メッセージの履歴から抽出し、抽出した語句の量に補正テーブルで対応付けられている補正係数を乗じてその関連キーワードの量を算出する。ここでいう語句の量とは、抽出した語句の個数、抽出した全語句の文字数又はそれらの履歴全体における割合で表される。本変形例によれば、上記重み付けをしない場合に比べて、ユーザがよくメッセージとして入力する語句、すなわち普段から関心が高い事柄内容に関係が深い対話用シナリオがユーザにも提示されやすくなる。
なお、シナリオ特定部106と同様に、分岐特定部107が、関連キーワードの量が第2所定量以上であるか否かを判断する際に、メッセージ履歴取得部113により取得された履歴に関連する語句が多く含まれる関連キーワードの量ほど大きな重みを付けてもよい。その場合、この重み付けをしない場合に比べて、ユーザがよくメッセージとして入力する語句、すなわち普段から関心が高い事柄に関係が深い分岐がそのユーザに提示されやすくなる。
[2-5]提供者の特定
実施例では、対話用シナリオ及び分岐が特定されたが、1以上の対話用シナリオを提供する提供者(例えば上述したエージェント)が複数存在する場合に、それらのうちのいずれかの提供者が特定されてもよい。このように提供者を特定することで、特定された提供者が例えば複数の対話用シナリオを提供していれば、それら複数の対話用シナリオがまとめて特定されることになる。
図16は本変形例で実現される機能構成の一例を表す。図16では、図3に表す各部に加えてシナリオ提供者特定部114を備えるサーバ装置10dが表されている。シナリオ提供者特定部114は、複数の提供者のうち、自身の提供する対話用シナリオから上記の関連キーワードが第3所定量以上(キーワード取得部105により)取得される提供者を特定する。シナリオ提供者特定部114は本発明の「提供者特定部」の一例である。
シナリオ提供者特定部114は、シナリオ特定部106と同じ方法で関連キーワードを判断し、関連キーワードの量を提供者毎に算出する。シナリオ提供者特定部114は、算出した関連キーワードの量が第3所定量以上であるか否かを判断する。この判断方法は、シナリオ特定部106が実施例で行った方法と同じである。シナリオ提供者特定部114は、特定した提供者が提供する全ての対話用シナリオのシナリオIDを対話データ生成部102に供給する。
対話データ生成部102は、シナリオ提供者特定部114により特定された提供者及びその提供者が提供する対話用シナリオをユーザに提示するための処理を行う。
図17は本変形例で表示された対話画像の例を表す。図17では、対話画像表示部201が、総合画面に、ユーザの「夏休みの飛行機を予約したい。」という入力メッセージを示す吹き出し画像G10と、アバターC1と、「あなた向けのエージェントが見つかりました。」というユーザ向けメッセージを示す吹き出し画像D10と、「Δエージェント」を示すアバターC5とを表示している。
また、対話画像表示部201が、Δエージェントを選択する選択肢画像H101と、Δエージェントが提供する対話用シナリオ(「飛行機予約」、「レンタカー予約」及び「キッズイベント検索」)を選択する選択肢画像H102、H103、H104とを表示している。Δエージェントは、各予約と検索を行うための個別シナリオと、それらの個別シナリオに導くための総合シナリオとを提供している。
選択肢画像H101はその総合シナリオのトップ分岐に進むための選択肢画像であり、選択肢画像H102、H103、H104は各個別シナリオのトップ分岐に進むための選択肢画像である。吹き出し画像G10が示す入力メッセージでは「夏休み」「飛行機」「予約」という語句しか含まれていないが、このユーザの過去の入力メッセージには車を借りることに関する語句(「レンタカー」及び「カーチェア」等)及び子供に関する語句(「ランドセル」及び「通学路」等)が含まれていたとする。
そのため、シナリオ提供者特定部114は、それらに関係が深い対話用シナリオ(「レンタカー予約」及び「キッズイベント検索」)を提供するΔエージェントを特定されている。なお、図17の例では、提供者及びその提供者が提供する対話用シナリオの両方が提示されたが、提供者だけが提示されてもよい。その場合でも、Δエージェントのように提供者による総合シナリオが提供されていれば、その総合シナリオから各個別シナリオを利用することができる。
本変形例では、ユーザが現在関心を持ちそうな(取得された入力メッセージと関係が深い)個々の対話用シナリオだけでなく、ユーザが今後関心を持つ可能性が高い対話用シナリオを多く提供する提供者をそのユーザに知ってもらうことができる。その結果、提供者の特定及びその提供者の提示処理を行わない場合に比べて、ユーザにより多くの対話用シナリオを利用してもらうことができる。
[2-6]各部を実現する装置
図3等に表す各機能を実現する装置は、それらの図に表された装置に限らない。例えばサーバ装置10が備える機能をユーザ端末が実現してもよい。その場合、ユーザ端末が本発明の「情報処理装置」の一例となる。また、各機能が行う動作を他の機能が行ってもよいし、新たな機能に行わせてもよい。
例えばキーワード取得部105が行う動作(キーワードの取得動作及び記憶動作)を対話特定部104が行ってもよい。また、キーワード取得部105が行うキーワードの記憶動作を例えば新たに設けたキーワード記憶部が行ってもよい。また、サーバ装置10が備える各機能を2以上の装置が分担してそれぞれ実現してもよい。要するに、対話型ユーザ支援システム全体としてこれらの機能が実現されていれば、対話型ユーザ支援システムが何台の装置を備えていてもよい。
[2-7]発明のカテゴリ
本発明は、ユーザ端末及びサーバ装置のような情報処理装置の他、それらの装置を備える対話型ユーザ支援システムのような情報処理システムとしても捉えられる。また、本発明は、各装置が実施する処理を実現するための情報処理方法としても捉えられるし、各装置を制御するコンピュータを機能させるためのプログラムとしても捉えられる。このプログラムは、それを記憶させた光ディスク等の記録媒体の形態で提供されてもよいし、インターネット等のネットワークを介してコンピュータにダウンロードさせ、それをインストールして利用可能にするなどの形態で提供されてもよい。
[2-8]処理手順等
本明細書で説明した各実施例の処理手順、シーケンス、フローチャートなどは、矛盾がない限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
[2-9]入出力された情報等の扱い
入出力された情報等は特定の場所(例えばメモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
[2-10]ソフトウェア
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)などの有線技術及び/又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
[2-11]情報、信号
本明細書で説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
[2-12]システム、ネットワーク
本明細書で使用する「システム」及び「ネットワーク」という用語は、互換的に使用される。
[2-13]「に基づいて」の意味
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
[2-14]「及び」、「又は」
本明細書において、「A及びB」でも「A又はB」でも実施可能な構成については、一方の表現で記載された構成を、他方の表現で記載された構成として用いてもよい。例えば「A及びB」と記載されている場合、他の記載との不整合が生じず実施可能であれば、「A又はB」として用いてもよい。
[2-15]態様のバリエーション等
本明細書で説明した各実施例は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
以上、本発明について詳細に説明したが、当業者にとっては、本発明が本明細書中に説明した実施例に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。従って、本明細書の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。