(57)【特許請求の範囲】
【請求項１】
コンピュータを、
音声シナリオの各実行ステップの内容をシナリオマスタから取得し、取得した該実行ステップの内容に応じて、所定の記述言語で記述した音声シナリオを自動生成するシナリオ自動生成処理手段、
出力項目と１つ以上の検索項目との対応をグラマーマスタから取得し、音声入力された内容を、前記音声入力された内容と一致した前記検索項目に対応する出力項目に変換するために利用する音声グラマーを自動生成するグラマー自動生成処理手段
として機能させる為の音声シナリオ生成プログラム。
【請求項２】
前記シナリオ自動生成処理手段は、音声シナリオの実行ステップ毎に、該実行ステップの内容及び処理区分を登録しているテーブルのレコードを取得し、該レコードに登録されている処理区分に応じて、音声シナリオの記述パターンを変化させて、該レコードに登録されている前記実行ステップの内容から所定の記述言語で記述した音声シナリオを自動生成する請求項１記載の音声シナリオ生成プログラム。
【請求項３】
前記シナリオ自動生成処理手段は、前記レコードに登録されている処理区分が入出力であるとき、前記実行ステップの内容から音声出力する内容を定義し、音声入力された内容を認識するための前記音声グラマーを前記実行ステップの内容から定義し、認識された内容に応じたシナリオ遷移先を前記実行ステップの内容から定義する請求項２記載の音声シナリオ生成プログラム。
【請求項４】
前記シナリオ自動生成処理手段は、前記レコードに登録されている処理区分が処理であるとき、前記実行ステップの内容から実行する処理名及び実行する処理へ引き渡す内容を定義し、処理の結果のセット先を定義する請求項３記載の音声シナリオ生成プログラム。
【請求項５】
音声シナリオを自動生成する音声シナリオ生成装置であって、
音声シナリオの各実行ステップの内容をシナリオマスタから取得し、取得した該実行ステップの内容に応じて、所定の記述言語で記述した音声シナリオを自動生成するシナリオ自動生成処理手段と、
出力項目と１つ以上の検索項目との対応をグラマーマスタから取得し、音声入力された内容を、前記音声入力された内容と一致した前記検索項目に対応する出力項目に変換するために利用する音声グラマーを自動生成するグラマー自動生成処理手段と
を有する音声シナリオ生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声シナリオ生成プログラム及び音声シナリオ生成装置に係り、特に音声システムで利用する音声シナリオを生成する音声シナリオ生成プログラム及び音声シナリオ生成装置に関する。
【背景技術】
【０００２】
近年、工場や物流現場等の一部では、作業を効率化するため、音声認識技術を活用してデータ入力を行うようになった。音声認識技術を活用した音声システムでは例えばヘッドセットと呼ばれるイヤホンとマイクとを一体化した通話装置が利用されている。音声認識技術を活用した音声システム（以下、音声システムと呼ぶ）では、作業者への音声による指示（音声出力）と作業者からの音声による入力（音声入力）とで作業を進めることができる。
【０００３】
音声システムでは、作業者との会話の手順が示された音声シナリオと、音声を認識するための音声グラマー（変換グラマー）とを利用して、作業者への音声出力と作業者からの音声入力とを行う。具体的に、音声グラマーは音声データをテキストデータに変換する為の音声辞書として利用される。従来、音声システムでは音声シナリオをＶｏｉｃｅＸＭＬ等でプログラム開発することにより実現していた（例えば特許文献１参照）。
【０００４】
ＶｏｉｃｅＸＭＬとはコンピュータを音声による指示で操作するユーザインタフェースを構築する為のＸＭＬベースの言語である。また、音声システムでは音声グラマーについてもＶｏｉｃｅＸＭＬ等でプログラム内に固定記述したものを個別に用意しておく必要があった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−３２１７３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来、音声システムはプログラム開発することにより実現するものであり、開発側で構築するものであった。従って、音声システムの音声シナリオや音声グラマーを運用側で変更することは技術的に難しかった。また、運用側は音声システムの音声シナリオや音声グラマーを変更するため、個別に音声システムの開発を開発側に依頼する場合、多大なコスト及び期間を必要としていた。
【０００７】
本発明の一実施形態は、上記の点に鑑みなされたもので、音声システムの開発における開発コストの削減と開発期間の短縮とが可能な音声シナリオ生成プログラム及び音声シナリオ生成装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明の一実施形態は、コンピュータを、音声シナリオの各実行ステップの内容をシナリオマスタから取得し、取得した該実行ステップの内容に応じて、所定の記述言語で記述した音声シナリオを自動生成するシナリオ自動生成処理手段、出力項目と１つ以上の検索項目との対応をグラマーマスタから取得し、音声入力された内容を、前記音声入力された内容と一致した前記検索項目に対応する出力項目に変換するために利用する音声グラマーを自動生成するグラマー自動生成処理手段として機能させる為の音声シナリオ生成プログラムである。
【０００９】
なお、本発明の一実施形態の構成要素、表現又は構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１０】
上述の如く、本発明の一実施形態によれば、音声システムの開発における開発コストの削減と開発期間の短縮とが可能である。
【図面の簡単な説明】
【００１１】
【図１】本実施例の音声シナリオ生成装置の一例のハードウェア構成図である。
【図２】音声シナリオ生成装置の一例のブロック図である。
【図３】在庫確認シナリオの一例のイメージ図である。
【図４】シナリオマスタの一例の構成図である。
【図５】シナリオ自動生成処理部の処理手順を表した一例のフローチャートである。
【図６】入出力シナリオ記述処理の一例のフローチャートである。
【図７】処理シナリオ記述処理の一例のフローチャートである。
【図８】分岐シナリオ記述処理の一例のフローチャートである。
【図９】終了シナリオ記述処理の一例のフローチャートである。
【図１０】３桁コードマスタテーブルの一例の構成図である。
【図１１】３桁コードマスタテーブルから音声グラマーを生成する手順を表したイメージ図である。
【図１２】シナリオマスタの具体例を表した構成図（１／６）である。
【図１３】シナリオマスタの具体例を表した構成図（２／６）である。
【図１４】シナリオマスタの具体例を表した構成図（３／６）である。
【図１５】シナリオマスタの具体例を表した構成図（４／６）である。
【図１６】シナリオマスタの具体例を表した構成図（５／６）である。
【図１７】シナリオマスタの具体例を表した構成図（６／６）である。
【図１８】生成されたシナリオファイルのファイル名を表示した一例の画面イメージである。
【図１９】生成されたシナリオファイルの内容を表す一例の構成図である。
【図２０】生成されたシナリオファイルの内容を表す一例の構成図である。
【図２１】生成されたシナリオファイルの内容を表す一例の構成図である。
【図２２】生成されたシナリオファイルの内容を表す一例の構成図である。
【図２３】生成されたシナリオファイルの内容を表す一例の構成図である。
【図２４】生成されたシナリオファイルの内容を表す一例の構成図である。
【図２５】生成されたシナリオファイルの内容を表す一例の構成図である。
【図２６】生成されたシナリオファイルの内容を表す一例の構成図である。
【図２７】生成されたシナリオファイルの内容を表す一例の構成図である。
【発明を実施するための形態】
【００１２】
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明していく。
【００１３】
図１は本実施例の音声シナリオ生成装置の一例のハードウェア構成図である。音声シナリオ生成装置１は、スタンドアローンの形態でも良いし、インターネットやＬＡＮなどのネットワーク経由でユーザ端末にデータ通信可能に接続された形態でもよい。
【００１４】
音声シナリオ生成装置１は、それぞれバスＢで相互に接続されている入力装置１１，出力装置１２，ドライブ装置１３，補助記憶装置１４，主記憶装置１５，演算処理装置１６及びインターフェース装置１７を有する。
【００１５】
入力装置１１はキーボードやマウス等である。入力装置１１は、各種信号を入力するために用いられる。出力装置１２はディスプレイ装置等である。出力装置１２は、各種ウインドウやデータ等を表示するために用いられる。インターフェース装置１７は、モデム又はＬＡＮカード等である。インターフェース装置１７は、ネットワークに接続する為に用いられる。
【００１６】
本実施例の音声シナリオ生成プログラムは、音声シナリオ生成装置１を制御する各種プログラムの少なくとも一部である。音声シナリオ生成プログラムは例えば記録媒体１８の配布やネットワークからのダウンロードなどによって提供される。音声シナリオ生成プログラムを記録した記録媒体１８はＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００１７】
音声シナリオ生成プログラムを記録した記録媒体１８がドライブ装置１３にセットされると、音声シナリオ生成プログラムは記録媒体１８からドライブ装置１３を介して補助記憶装置１４にインストールされる。なお、ネットワークからダウンロードされた音声シナリオ生成プログラムは、インターフェース装置１７を介して、補助記憶装置１４にインストールされる。補助記憶装置１４はインストールされた音声シナリオ生成プログラムを格納すると共に、必要なファイル，データ等を格納する。
【００１８】
主記憶装置１５は、音声シナリオ生成プログラムの起動時に補助記憶装置１４から音声シナリオ生成プログラムを読み出して格納する。そして、演算処理装置１６は主記憶装置１５に格納された音声シナリオ生成プログラムに従って、後述するような各種処理を実現している。
【００１９】
図２は音声シナリオ生成装置の一例のブロック図である。音声シナリオ生成装置１はシナリオマスタ２１，グラマーマスタ２２，シナリオ自動生成処理部２３，グラマー自動生成処理部２４，グラマー条件指定受付部２５を有する。なお、図２では音声シナリオ生成装置１内にシナリオマスタ２１，グラマーマスタ２２を有しているが、音声シナリオ生成装置１外（例えばＤＢサーバなど）に設けてもよい。
【００２０】
シナリオマスタ２１には、生成する音声シナリオ２６の実行ステップが例えばテーブル形式で登録されている。シナリオ自動生成処理部２３はシナリオマスタ２１から音声シナリオの実行ステップを表すレコードを順次読み出し、読み出したレコードから音声シナリオ２６を自動生成する。シナリオ自動生成処理部２３は読み出したレコード毎にシナリオファイルを生成し、１つ以上のシナリオファイルにより音声シナリオ２６を生成する。複数の音声シナリオ２６を生成する場合、シナリオマスタ２１には複数の音声シナリオ２６毎に、音声シナリオ２６の実行ステップがテーブル形式で登録されている。なお、シナリオ自動生成処理部２３，シナリオマスタ２１及び音声シナリオ２６の詳細は後述する。
【００２１】
グラマー条件指定受付部２５は、例えば音声シナリオ生成装置１を操作する管理者からの音声グラマー２７の生成条件の指定を受け付ける。グラマーマスタ２２には、音声入力される音声ワードを出力項目（変換語）に変換する為の１つ以上のテーブルが登録されている。なお、出力項目は音声システムで行うシナリオ制御処理において利用される。
【００２２】
そして、グラマー自動生成処理部２４はグラマー条件指定受付部２５が受け付けた音声グラマー２７の生成条件に従い、グラマーマスタ２２に登録されているレコードを読み出し、読み出したレコードから音声グラマー２７を自動生成する。なお、グラマー条件指定受付部２５，グラマー自動生成処理部２４，グラマーマスタ２２及び音声グラマー２７の詳細は後述する。
【００２３】
以下では、自動生成する音声シナリオ２６の一例として、図３に示す在庫確認シナリオを例に説明する。図３の在庫確認シナリオは、在庫確認に関係するステップと、終了確認に関係するステップとを含む。また、図３の在庫確認シナリオは音声システムからの音声指示３１〜３５と、データ処理３６と、作業者の発話４１〜４３とを含む。
【００２４】
図３の在庫確認シナリオの場合、管理者は例えば図４に示すようなシナリオマスタ２１を登録する。図４はシナリオマスタの一例の構成図である。図４に示したシナリオマスタ２１は、項目として「Ｎｏ．」，「出力メッセージ」，「処理区分」，「入力格納変数」，「分岐Ｎｏ．１〜ｎ」，「辞書名」，「データ処理名」，「指示パラメータ」，「戻り値」を有する。
【００２５】
項目「Ｎｏ．」は、シナリオの実行ステップを表している。実行ステップは、シナリオが分岐する場合、「分岐Ｎｏ．１〜ｎ」に登録されている「Ｎｏ．」の実行ステップへ遷移する。例えば図４の例では「Ｎｏ．０１」の実行ステップからシナリオを開始し、作業者が「はい」を入力した場合に「Ｎｏ．０２」の実行ステップに遷移し、「いいえ」を入力した場合に「Ｎｏ．９１」の実行ステップに遷移することを表している。
【００２６】
項目「出力メッセージ」は音声システムから作業者へ音声出力するメッセージを表している。例えば図４の例では「Ｎｏ．０１」の実行ステップが、音声システムから作業者に対し、「作業を開始しますか？」というメッセージを音声出力することを表している。
【００２７】
項目「処理区分」は、実行ステップの区分「入出力」，「処理」，「分岐」又は「終了」を表している。「入出力」は、音声入力又は音声出力を実行する実行ステップであることを表している。「処理」は、データベース操作処理を実行する実行ステップであることを表している。「分岐」は、処理結果により分岐判別を行う実行ステップであることを表している。「終了」は、音声シナリオ２６を終了する実行ステップであることを表している。
【００２８】
例えば図４の例では、「Ｎｏ．０１」の実行ステップが、音声システムから作業者へ音声出力し、その音声出力に対して作業者から音声システムへ音声入力を行うことを表している。
【００２９】
「Ｎｏ．０３」の実行ステップは、「ZaikoSearch.sql」のデータベース操作処理を実行することを表している。「Ｎｏ．０４」の実行ステップは、「Ｎｏ．０３」の実行ステップの結果、存在するアドレスの場合に「Ｎｏ．０５」の実行ステップへ遷移し、存在しないアドレスの場合に「Ｎｏ．０２」の実行ステップへ遷移することを表している。「Ｎｏ．９３」の実行ステップは、実行中の音声シナリオ２６を終了することを表している。
【００３０】
項目「入力格納変数」は、作業者から音声入力された音声ワードを格納する入力格納変数の名称を表している。例えば図４の例では、「Ｎｏ．０１」の出力メッセージに対して作業者から入力された音声ワード（入力値）を入力格納変数「Outou01」に格納することを表している。
【００３１】
項目「分岐Ｎｏ．１〜ｎ」は音声シナリオの分岐条件及び分岐先を表している。例えば図４の例では、「Ｎｏ．０１」の実行ステップが、作業者の音声入力の内容によって「Ｎｏ．０２」又は「Ｎｏ．９１」の実行ステップに遷移することを表している。また、「Ｎｏ．０４」の実行ステップは、「Ｎｏ．０３」の実行ステップの結果によって、「Ｎｏ．０５」又は「Ｎｏ．０２」の実行ステップに遷移することを表している。
【００３２】
項目「辞書名」は作業者が入力した音声ワードをテキスト変換するために使用する音声グラマー２７のファイル名を表している。例えば図４の例では、「Ｎｏ．０１」の実行ステップが、作業者により入力された音声ワードの内容を「共通ワード辞書」という音声グラマー２７により認識することを表している。
【００３３】
項目「データ処理名」はデータの検索・更新を必要とする場合に実行するデータ処理名を表している。例えば図４の例では、「Ｎｏ．０３」の実行ステップが、データ処理名「ZaikoSearch.sql」のデータベース操作処理を実行することを表している。
【００３４】
項目「指示パラメータ」はデータベース操作処理を実行する際、データベース操作処理へ引き渡すパラメータを表している。例えば図４の例では、「Ｎｏ．０３」の実行ステップが、「ZaikoSearch.sql」のデータベース操作処理へ入力格納変数「Outou02」に格納されている格納値をパラメータとして引き渡すことを表している。
【００３５】
また、項目「戻り値」はデータベース操作処理の処理結果を格納する入力格納変数の名称を表している。例えば図４の例では、「Ｎｏ．０３」の実行ステップが、「ZaikoSearch.sql」のデータベース操作処理の処理結果を入力格納変数「kekka03」に格納することを表している。
【００３６】
（シナリオ自動生成処理部２３）
図５はシナリオ自動生成処理部の処理手順を表した一例のフローチャートである。例えば音声シナリオ生成装置１を操作する管理者から音声シナリオ２６の一例としての在庫確認シナリオの生成要求を受けると、ステップＳ１に進み、シナリオ自動生成処理部２３はシナリオマスタ２１から在庫確認シナリオに該当する図４のテーブルの最初のレコードを取得する。なお、図４のテーブルの最初のレコードは、在庫確認シナリオの最初の実行ステップに対応する。
【００３７】
ステップＳ２に進み、シナリオ自動生成処理部２３はステップＳ１で取得したレコードの項目「処理区分」を確認する。ステップＳ３に進み、シナリオ自動生成処理部２３はステップＳ２で確認した項目「処理区分」が「入出力」であるか否かを判定する。ステップＳ２で確認した項目「処理区分」が「入出力」であれば、シナリオ自動生成処理部２３はステップＳ４に進み、後述の入出力シナリオ記述処理を行う。なお、入出力シナリオ記述処理では、取得したレコードに応じて、最初の実行ステップに対応するシナリオファイルをＶｏｉｃｅＸＭＬで記述する。図４のテーブルでは、ステップＳ１で取得したレコードの項目「処理区分」が「入出力」であるため、ステップＳ４に進み、後述の入出力シナリオ記述処理を行ったあと、ステップＳ９に進む。
【００３８】
ステップＳ９では、シナリオ自動生成処理部２３が、シナリオマスタ２１から在庫確認シナリオに該当する図４のテーブルの次のレコードを取得したあと、ステップＳ２の処理に戻る。図４のテーブルでは、ステップＳ９で取得した２番目のレコードの項目「処理区分」が「入出力」であるため、ステップＳ４に進み、入出力シナリオ記述処理を行ったあと、ステップＳ９に進む。
【００３９】
ステップＳ９では、シナリオ自動生成処理部２３が、シナリオマスタ２１から在庫確認シナリオに該当する図４のテーブルの次のレコードを取得したあと、ステップＳ２の処理に戻る。図４のテーブルでは、ステップＳ９で取得した３番目のレコードの項目「処理区分」が「処理」である。
【００４０】
ステップＳ２で確認した項目「処理区分」が「入出力」でない為、シナリオ自動生成処理部２３はステップＳ５に進み、ステップＳ２で確認した項目「処理区分」が「処理」であるか否かを判定する。
【００４１】
ステップＳ２で確認した項目「処理区分」が「処理」であれば、シナリオ自動生成処理部２３はステップＳ６に進み、後述の処理シナリオ記述処理を行う。なお、処理シナリオ記述処理では、取得したレコードに応じて、３番目の実行ステップに対応するシナリオファイルをＶｏｉｃｅＸＭＬで記述する。図４のテーブルでは、ステップＳ９で取得したレコードの項目「処理区分」が「処理」であるため、ステップＳ６に進み、後述の処理シナリオ記述処理を行ったあと、ステップＳ９に進む。
【００４２】
ステップＳ９では、シナリオ自動生成処理部２３が、シナリオマスタ２１から在庫確認シナリオに該当する図４のテーブルの次のレコードを取得したあと、ステップＳ２の処理に戻る。図４のテーブルでは、ステップＳ９で取得した４番目のレコードの項目「処理区分」が「分岐」である。
【００４３】
ステップＳ２で確認した項目「処理区分」が「入出力」でない為、シナリオ自動生成処理部２３はステップＳ５に進む。また、ステップＳ２で確認した項目「処理区分」が「処理」でない為、シナリオ自動生成処理部２３はステップＳ７に進み、ステップＳ２で確認した項目「処理区分」が「分岐」であるか否かを判定する。
【００４４】
ステップＳ２で確認した項目「処理区分」が「分岐」であれば、シナリオ自動生成処理部２３はステップＳ８に進み、後述の分岐シナリオ記述処理を行う。なお、分岐シナリオ記述処理では、取得したレコードに応じて、４番目の実行ステップに対応するシナリオファイルをＶｏｉｃｅＸＭＬで記述する。図４のテーブルでは、ステップＳ９で取得したレコードの項目「処理区分」が「分岐」であるため、ステップＳ８に進み、後述の分岐シナリオ記述処理を行ったあと、ステップＳ９に進む。
【００４５】
ステップＳ９では、シナリオ自動生成処理部２３が、シナリオマスタ２１から在庫確認シナリオに該当する図４のテーブルの次のレコードを取得したあと、ステップＳ２の処理に戻る。図４のテーブルでは、ステップＳ９で５，６及び７番目に取得したレコードの項目「処理区分」が「入出力」である。なお、ステップＳ９で取得したレコードの項目「処理区分」が「入出力」であるときの処理は前述した為、説明を省略する。
【００４６】
ステップＳ９では、シナリオ自動生成処理部２３が、シナリオマスタ２１から在庫確認シナリオに該当する図４のテーブルの８番目のレコードを取得したあと、ステップＳ２の処理に戻る。図４のテーブルでは、ステップＳ９で取得した８番目のレコードの項目「処理区分」が「終了」である。
【００４７】
ステップＳ２で確認した項目「処理区分」が「入出力」でない為、シナリオ自動生成処理部２３はステップＳ５に進む。また、ステップＳ２で確認した項目「処理区分」が「処理」でない為、シナリオ自動生成処理部２３はステップＳ７に進む。ステップＳ２で確認した項目「処理区分」が「分岐」でない為、シナリオ自動生成処理部２３はステップＳ２で確認した項目「処理区分」が「終了」であると判定する。
【００４８】
ステップＳ１０に進み、シナリオ自動生成処理部２３はステップＳ１０に進み、後述の終了シナリオ記述処理を行う。なお、終了シナリオ記述処理では、取得したレコードに応じて、８番目の実行ステップに対応するシナリオファイルを生成し、在庫確認シナリオの生成を終了するようにＶｏｉｃｅＸＭＬで記述する。
【００４９】
（入出力シナリオ記述処理）
図６は入出力シナリオ記述処理の一例のフローチャートである。シナリオ自動生成処理部２３はステップＳ２１に進み、取得したレコードの項目「出力メッセージ」に登録されているメッセージを音声出力ワードとしてＶｏｉｃｅＸＭＬで定義する。なお、音声出力ワードは音声システムから作業者へ音声出力されるメッセージである。
【００５０】
ステップＳ２２に進み、シナリオ自動生成処理部２３は、作業者から音声入力があった場合、発話された音声ワードを、取得したレコードの項目「入力格納変数」に登録されている名称の入力格納変数へセットするようＶｏｉｃｅＸＭＬで定義する。
【００５１】
ステップＳ２３に進み、シナリオ自動生成処理部２３は入力格納変数へセットされた音声ワードを、取得したレコードの項目「辞書名」で表される音声グラマー２７を使用してテキスト変換するようＶｏｉｃｅＸＭＬで定義する。
【００５２】
ステップＳ２４に進み、シナリオ自動生成処理部２３はテキスト変換された音声入力の内容によって、取得したレコードの項目「分岐Ｎｏ．１〜ｎ」で表される音声シナリオの分岐条件及び分岐先からシナリオ遷移先を決定するようＶｏｉｃｅＸＭＬで定義する。
【００５３】
例えば図４に示す「Ｎｏ．０１」の実行ステップでは、分岐条件「はい」に対する分岐先として「Ｎｏ．０２」の実行ステップが登録され、分岐条件「いいえ」に対する分岐先として「Ｎｏ．９１」の実行ステップが登録されている。したがって、シナリオ自動生成処理部２３は、テキスト変換された音声入力の内容が「はい」であれば「Ｎｏ．０２」の実行ステップをシナリオ遷移先として決定する。
【００５４】
（処理シナリオ記述処理）
図７は処理シナリオ記述処理の一例のフローチャートである。シナリオ自動生成処理部２３はステップＳ３１に進み、取得したレコードの項目「データ処理名」にセットされたデータベース操作処理へ、取得したレコードの項目「指示パラメータ」にセットされたパラメータを引き渡して実行するようＶｏｉｃｅＸＭＬで定義する。
【００５５】
また、ステップＳ３２に進み、シナリオ自動生成処理部２３はデータベース操作処理の結果を、取得したレコードの項目「戻り値」にセットされた入力格納変数へセットするようＶｏｉｃｅＸＭＬで定義する。
【００５６】
（分岐シナリオ記述処理）
図８は分岐シナリオ記述処理の一例のフローチャートである。シナリオ自動生成処理部２３はステップＳ３５に進み、取得したレコードの項目「分岐Ｎｏ．１〜ｎ」にセットされた分岐条件及び分岐先と、取得したレコードの項目「戻り値」の入力格納変数にセットされたデータベース操作処理の結果とに応じて、シナリオ遷移先を決定するようＶｏｉｃｅＸＭＬで定義する。
【００５７】
（終了シナリオ記述処理）
図９は終了シナリオ記述処理の一例のフローチャートである。シナリオ自動生成処理部２３はステップＳ４１に進み、実行中の音声シナリオ２６を終了するようＶｏｉｃｅＸＭＬで定義する。
【００５８】
（グラマー自動生成処理部２４）
ここでは、グラマー自動生成処理部２４の処理の一例として、操作者が在庫アドレスを音声入力する際に使用する音声グラマー２７の生成処理について説明する。グラマー条件指定受付部２５は、例えば音声シナリオ生成装置１を操作する管理者から音声グラマー２７の生成条件として、使用するテーブルのテーブル名，出力項目，検索項目及び出力する音声グラマー２７のファイル名の指定を受け付ける。使用するテーブルはグラマーマスタ２２に登録されているテーブルである。
【００５９】
操作者は図１０に示すような３桁コードマスタテーブルのテーブル名「３桁コードマスタ」，出力項目「読上げ３桁コード」，検索項目「検索３桁コード」を生成条件として指定したとする。図１０は３桁コードマスタテーブルの一例の構成図である。図１０に示す３桁コードマスタテーブルは、正式３桁コード，読上げ３桁コード，３つの検索３桁コードを項目として有する。
【００６０】
そして、グラマー自動生成処理部２４はグラマー条件指定受付部２５が受け付けた音声グラマー２７の生成条件に従い、グラマーマスタ２２に登録されている図１０に示すような３桁コードマスタテーブルを読み出す。そして、グラマー自動生成処理部２４は読み出した３桁コードマスタテーブルから図１１に示すような手順で音声グラマー２７を自動生成する。
【００６１】
図１１は３桁コードマスタテーブルから音声グラマーを生成する手順を表したイメージ図である。グラマー自動生成処理部２４は３桁コードマスタテーブルからレコードを順次読み出す。グラマー自動生成処理部２４は読み出したレコードに基づき、項目「読上げ３桁コード」に対応する３つの「検索３桁コード」を取得する。
【００６２】
グラマー自動生成処理部２４は項目「読上げ３桁コード」を出力項目とし、項目「検索３桁コード」を検索項目とした上、出力項目と検索項目とを対応付ける３つのレコードを生成する。具体的に、グラマー自動生成処理部２４は項目「読上げ３桁コード」に対応する３つの「検索３桁コード」から、出力項目「イチゼロイチ」及び検索項目「イチゼロイチ」を対応付けるレコード、出力項目「イチゼロイチ」及び検索項目「ワンゼロワン」を対応付けるレコード、出力項目「イチゼロイチ」及び検索項目「イチレイイチ」を対応付けるレコードを生成する。
【００６３】
結果として、グラマー自動生成処理部２４は図１１に示すような音声グラマー２７を自動生成できる。なお、音声グラマー２７における検索項目は音声入力された音声ワードを検索キーとして音声グラマー２７を検索するときに利用される。検索キーに一致する検索項目が存在すれば、音声システムは音声入力された音声ワードを、検索キーに一致した検索項目に対応する出力項目（変換語）に変換できる。
【００６４】
なお、グラマー自動生成処理部２４は、グラマーマスタ２２に登録されている複数種類のマスタテーブルを組み合わせて、１つの音声グラマー２７を生成してもよい。例えばグラマー自動生成処理部２４は苗字マスタテーブル及び名前マスタテーブルがグラマーマスタ２２に登録されている場合、苗字マスタテーブル及び名前マスタテーブルから苗字名前に対応する（フルネームに対応する）音声グラマー２７を生成してもよい。
【００６５】
（シナリオマスタ２１及び音声シナリオ２６の具体例）
図１２〜図１７はシナリオマスタの具体例を表した構成図である。シナリオ自動生成処理部２３は図１２〜図１７に示すシナリオマスタ２１から音声シナリオの実行ステップを表すレコードを順次読み出し、読み出したレコード毎にシナリオファイルを生成し、１つ以上のシナリオファイルにより音声シナリオ２６を生成する。なお、図１２〜図１７に示したシナリオマスタ２１は項目が多いため、図１２〜図１７に分割して記載している。
【００６６】
図１８は、生成されたシナリオファイルのファイル名を表示した一例の画面イメージである。例えばシナリオ自動生成処理部２３は生成したシナリオファイルのファイル名を出力装置１２等に表示して管理者に確認させる。生成されたシナリオファイルの内容は例えば図１９〜図２７のようになる。図１９〜図２７のシナリオファイルはＶｏｉｃｅＸＭＬで記述されている。
【００６７】
（まとめ）
以上、本実施例の音声シナリオ生成装置１によれば、管理者がシナリオマスタ２１及びグラマーマスタ２２を登録することで、音声シナリオを自動生成できるので、音声システムの構築が容易になり、音声システムの開発における開発コストの削減と、開発期間の短縮とを実現できる。結果、本実施例の音声シナリオ生成装置１によれば、音声システムの実運用開始までの対応時間を短縮することが可能である。
【００６８】
本発明は、以下に記載する付記のような構成が考えられる。
（付記１）
コンピュータを、
音声シナリオの各実行ステップの内容をシナリオマスタから取得し、取得した該実行ステップの内容に応じて、所定の記述言語で記述した音声シナリオを自動生成するシナリオ自動生成処理手段
として機能させる為の音声シナリオ生成プログラム。
（付記２）
前記シナリオ自動生成処理手段は、音声シナリオの実行ステップ毎に、該実行ステップの内容及び処理区分を登録しているテーブルのレコードを取得し、該レコードに登録されている処理区分に応じて、音声シナリオの記述パターンを変化させて、該レコードに登録されている前記実行ステップの内容から所定の記述言語で記述した音声シナリオを自動生成する付記１記載の音声シナリオ生成プログラム。
（付記３）
前記シナリオ自動生成処理手段は、前記レコードに登録されている処理区分が入出力であるとき、前記実行ステップの内容から音声出力する内容を定義し、音声入力された内容を認識するための音声グラマーを前記実行ステップの内容から定義し、認識された内容に応じたシナリオ遷移先を前記実行ステップの内容から定義する付記２記載の音声シナリオ生成プログラム。
（付記４）
前記シナリオ自動生成処理手段は、前記レコードに登録されている処理区分が処理であるとき、前記実行ステップの内容から実行する処理名及び実行する処理へ引き渡す内容を定義し、処理の結果のセット先を定義する付記３記載の音声シナリオ生成プログラム。
（付記５）
前記シナリオ自動生成処理手段は、前記レコードに登録されている処理区分が分岐であるとき、前記実行ステップの内容から分岐条件及び分岐先と、前記セット先にセットされた処理の結果とに応じて、シナリオ遷移先を決定するよう定義する付記４記載の音声シナリオ生成プログラム。
（付記６）
前記シナリオ自動生成処理手段は、前記レコードに登録されている処理区分が終了であるとき、実行中の音声シナリオを終了するよう定義する付記２乃至５何れか一項記載の音声シナリオ生成プログラム。
（付記７）
音声シナリオを自動生成する音声シナリオ生成装置であって、
音声シナリオの各実行ステップの内容をシナリオマスタから取得し、取得した該実行ステップの内容に応じて、所定の記述言語で記述した音声シナリオを自動生成するシナリオ自動生成処理手段
を有する音声シナリオ生成装置。
【００６９】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【００７０】
１    音声シナリオ生成装置
１１    入力装置
１２    出力装置
１３    ドライブ装置
１４    補助記憶装置
１５    主記憶装置
１６    演算処理装置
１７    インターフェース装置
１８    記録媒体
２１    シナリオマスタ
２２    グラマーマスタ
２３    シナリオ自動生成処理部
２４    グラマー自動生成処理部
２５    グラマー条件指定受付部
２６    音声シナリオ
２７    音声グラマー
３１〜３５    音声指示
３６    データ処理
４１〜４３    発話
Ｂ    バス
【図１】
0005461967.tif 000002
【図２】
0005461967.tif 000003
【図３】
0005461967.tif 000004
【図４】
0005461967.tif 000005
【図５】
0005461967.tif 000006
【図６】
0005461967.tif 000007
【図７】
0005461967.tif 000008
【図８】
0005461967.tif 000009
【図９】
0005461967.tif 000010
【図１０】
0005461967.tif 000011
【図１１】
0005461967.tif 000012
【図１２】
0005461967.tif 000013
【図１３】
0005461967.tif 000014
【図１４】
0005461967.tif 000015
【図１５】
0005461967.tif 000016
【図１６】
0005461967.tif 000017
【図１７】
0005461967.tif 000018
【図１８】
0005461967.tif 000019
【図１９】
0005461967.tif 000020
【図２０】
0005461967.tif 000021
【図２１】
0005461967.tif 000022
【図２２】
0005461967.tif 000023
【図２３】
0005461967.tif 000024
【図２４】
0005461967.tif 000025
【図２５】
0005461967.tif 000026
【図２６】
0005461967.tif 000027
【図２７】
0005461967.tif 000028