本発明の実施形態に係るサーバ管理システムの一実施形態を示す概略構成図(システム構成図)である。
本発明の実施形態に係るサーバ管理装置の一実施形態を示す機能的構成を示すブロック図である。
本発明の実施形態に係るサーバ情報の一例を示す図である。
本発明の実施形態に係る音声情報及び文字列情報を示す図である。 図4(a)は、サーバ管理装置が保持する音声情報及び文字列情報の一例を示した図である。図4(b)は、音声認識処理サーバが保持する音声情報及び文字列情報の一例を示した図である。図4(c)は、言語処理サーバが保持する文字列情報の一例を示した図である。図4(d)は、音声合成処理サーバが保持する音声情報及び文字列情報の一例を示した図である。
本発明の実施形態に係る音声認識処理サーバの一実施形態を示す機能的構成を示すブロック図である。
本発明の実施形態に係る言語処理サーバの一実施形態を示す機能的構成を示すブロック図である。
本発明の実施形態に係る音声合成処理サーバの一実施形態を示す機能的構成を示すブロック図である。
本発明の実施形態に係る対話型FAQ(Frequently Asked Questions)システムにおける音声認識処理、言語処理、及び音声合成処理のフローの一例を示すフローチャートである。
本発明の実施形態に係るサーバ管理システムの一実施形態を示す概略構成図(システム構成図)に、ユーザ端末装置、サーバ管理装置、音声認識処理サーバ、言語処理サーバ、及び音声合成処理サーバが保持するデータを示した図である。
本発明の実施形態に係る辞書DB管理システムの一実施形態を示す概略構成図(システム構成図)である。
本発明の実施形態に係る辞書DB管理装置の一実施形態を示す機能的構成を示すブロック図である。
本発明の実施形態に係る言語情報を音声認識処理サーバ、言語処理サーバ、及び音声合成処理サーバのうち少なくとも一つに登録するための処理の一例を示すフローチャートである。
以下、添付図面を参照しながら本発明の実施の形態について説明する。以下の実施の形態は、本発明を説明するための例示であり、本発明をその実施の形態のみに限定する趣旨ではない。また、本発明は、その要旨を逸脱しない限り、様々な変形が可能である。さらに、各図面において同一の構成要素に対しては可能な限り同一の符号を付し、重複する説明は省略する。
<第1実施形態>
図1は、本発明の実施形態に係るサーバ管理システム1の一実施形態を示す概略構成図(システム構成図)である。図1に示すように、本発明の実施の形態に係るサーバ管理システム1は、例示的に、ユーザ端末装置2、サーバ管理装置3、音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9を備えて構成されている。
サーバ管理装置3、音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9は、所定のネットワークに接続されたサーバ用コンピュータであり、そのサーバ用コンピュータにおいて所定のサーバ用プログラムが動作することにより、サーバ機能を発現するものである。
ユーザ端末装置2は、所定のネットワークに接続されたスマートフォンなどの携帯電話、タブレット端末、ラップトップ又はノートブック型コンピュータ等を含む、少なくともユーザ情報、音声情報、及び文字列情報を送受信する送受信機能を有する装置で構成されている。
所定のネットワークは、例えばインターネット等を含む情報処理に係る通信回線又は通信網であり、その具体的な構成は、ユーザ端末装置2とサーバ管理装置3との間、サーバ管理装置3と音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9のそれぞれとの間で少なくともユーザ情報、サーバ情報、音声情報、及び文字列情報の送受信が可能なように構成されていれば特に制限されない。
このように、ユーザ端末装置2とサーバ管理装置3との間、サーバ管理装置3と音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9のそれぞれとの間において、互いに通信可能に設定されることにより、サーバ管理システム1が構成される。
サーバ管理システム1は、例示的に、ユーザ端末装置2、サーバ管理装置3、音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9を一台ずつ備えて構成されているが、必ずしも一台である必要はなく、装置及びサーバをそれぞれ複数台備えて構成されていてもよい。具体的には、サーバ管理装置3は、複数のユーザ端末装置2と通信可能に構成されていてもよく、また、ネットワーク内に分散された複数のサーバにより、1つのサーバ管理装置として機能するように構成されていてもよい。
図2は、本発明のサーバ管理装置3の一実施形態を示す機能的構成を示すブロック図である。図2に示すように、サーバ管理装置3は、機能的に、送受信部10、サーバ管理部12、サーバ情報DB(データベース)14、音声/文字列情報DB(データベース)16、及びユーザ情報DB(データベース)18を含んで構成されている。
サーバ管理装置3の上記構成のうち、データベースは、例えば、メモリやハードディスク等のハードウェアとしての記憶領域を分割して用いることができる。またサーバ管理装置3のサーバ管理部12は、記憶領域に格納されているソフトウェアプログラムを図示しないプロセッサが実行することにより機能的に実現することができる。なお、サーバ管理装置3は、上記機能を持つものであれば、特に制限はなく、クラウド・コンピューティングなどで実現される場合も含む。
送受信部10は、ユーザ端末装置2とサーバ管理装置3との間、サーバ管理装置3と音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9のそれぞれとの間でデータの送受信を行うための機能ブロックである。送受信部10は、機能的に、送信部20及び受信部22を含んで構成されている。送受信部10の送信部20は、例えば、所定のネットワークを介して音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9に音声情報や文字列情報を送信することができる。例えば、送受信部10の受信部22は、音声認識処理サーバ5から送信される文字列情報、言語処理サーバ7から送信される文字列情報、及び音声合成処理サーバ9から送信される音声情報を受信することができる。
サーバ情報DB14は、例えば、音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9を管理するために、音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9それぞれのサーバに関する情報を、短期的に又は長期的に管理・保持するデータベースである。
図3は、本発明の実施形態に係るサーバ情報DB14に保持されているサーバ情報の一例を示す図である。図3に示すように、サーバ管理DB14は、サーバ識別情報として、サーバID、会社ID、サーバ名、会社名、アドレス、ポート番号、サーバ処理内容、通信状況情報、及び処理状況情報等を格納して構成されている。「サーバ処理内容」は、管理対象となるサーバが処理可能な処理内容を示す情報であり、サーバの処理内容を識別する文字列や符号である。また、「通信状況情報」は、そのサーバの最新の通信状況を示す情報である。「処理状況情報」は、そのサーバが実行している処理の進捗状況を示す情報である。サーバ管理DB14は、これら各種の情報を保持・管理できるように、そして容易に検索・抽出などの再利用をできるように構成されている。
例えば、サーバ管理DB14は、管理対象となるサーバが、音声認識処理サーバ5である場合、サーバ情報として「サーバ処理内容」については、「音声認識処理」が可能なことを示す情報が保持する。また管理対象となるサーバが、音声認識処理及び音声合成処理の双方を実行することができるサーバである場合、サーバ情報として「サーバ処理内容」については、「音声認識処理及び音声合成処理」が可能なことを示す情報が保持される。
なお、サーバ情報DB14は、音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9のような他のサーバのサーバ情報を保持するだけなく、サーバ管理装置3自身の情報を保持するように構成されていてもよい。
図1に戻り、音声/文字列情報DB16は、サーバ管理装置3の受信部22が、ユーザ端末装置2、音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9の少なくとも一つから受信した音声または文字列情報を短期的に又は長期的に保持・管理できるように、そして容易に検索・抽出などの再利用をできるように構成されている。
図4は、本発明の実施形態に係る音声情報及び文字列情報を示す図である。図4(a)は、サーバ管理装置3が保持する音声情報及び文字列情報の一例を示した図である。図4(b)は、音声認識処理サーバ5が保持する音声情報及び文字列情報の一例を示した図である。図4(c)は、言語処理サーバ7が保持する文字列情報の一例を示した図である。図4(d)は、音声合成処理サーバ9が保持する音声情報及び文字列情報の一例を示した図である。
図4(a)に示すように、サーバ管理装置3の音声/文字列情報DB16は、サーバ管理装置3が受信した、又は、送信(転送)する音声情報及び文字列情報を保持している。なお、図4(b)〜図4(d)については、後述する。
図1に戻り、ユーザ情報DB18は、サーバ管理装置3の受信部22が、ユーザ端末装置2を管理するためのユーザ情報を短期的に又は長期的に保持するDBである。ユーザ情報としては、例えば、ユーザIDや初期パスワード、ユーザが設定したパスワードなどのログイン情報、ユーザの氏名、名称、住所、居所、性別、国籍などのユーザ属性情報である。ユーザ端末装置2が、サーバ管理装置3においてログイン処理を行う場合、ユーザ情報DB18に保持されているユーザ情報が参照される。
サーバ管理部12は、ユーザ端末装置2、音声認識処理サーバ5、言語処理サーバ7、又は音声合成処理サーバ9からの音声情報又は文字列情報に対する処理を行う各サーバを一元的に管理する機能ブロックである。サーバ管理部12は、機能的に、情報取得部30、情報認識/解析部32、処理状況判断部34、通信状況判断部36、音声認識処理管理部38、言語処理管理部40、音声合成処理管理部42、情報出力部44、及びエラー処理部46を含んで構成されている。
情報取得部30は、受信部22がユーザ端末装置2、音声認識処理サーバ5、言語処理サーバ7、又は音声合成処理サーバ9からの音声情報及び文字列情報を受信した場合に、受信した情報を取得する機能ブロックである。また、情報取得部30は、音声/文字列情報DB16に保持されている音声情報及び文字列情報、又はユーザ情報DB18に保持されているユーザ情報を取得する機能ブロックである。
また、情報取得部30は、受信部22が音声認識処理サーバ5、言語処理サーバ7、又は音声合成処理サーバ9からのサーバ情報を受信した場合に、受信したサーバ情報を取得する機能ブロックである。また、情報取得部30は、サーバ情報DB14に保持されているサーバ情報を取得する機能ブロックである。
情報認識/解析部32は、情報取得部30が取得した音声情報、文字列情報、及びユーザ情報を認識・解析する機能ブロックである。具体的には、情報認識/解析部32は、サーバ管理装置3において取得された情報が、音声情報であるか、文字列情報であるか、またはユーザ情報であるかを判定するように構成されている。
処理状況判断部34は、音声認識処理サーバ5の音声認識処理、言語処理サーバ7の言語処理、及び音声合成処理サーバ9の音声合成処理の状況を判断する機能ブロックである。具体的には、情報取得部30が取得した音声認識処理サーバ5、言語処理サーバ7、音声合成処理サーバ9のサーバ情報に含まれる処理状況情報に基づいて、各サーバの処理状況を判断する。
通信状況判断部36は、音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9の通信状況を判断する機能ブロックである。具体的には、情報取得部30が取得した音声認識処理サーバ5、言語処理サーバ7、音声合成処理サーバ9のサーバ情報に含まれる通信状況情報に基づいて、各サーバの通信状況を判断する。
音声認識処理管理部38は、後で詳述する音声認識処理サーバ5を管理する機能ブロックである。音声認識処理管理部38は、例えば、音声認識処理サーバ5を識別するサーバ識別情報に基づいて特定された音声認識処理サーバ5に、受信部22がユーザ端末装置2から受信した音声情報(第1音声情報)を転送し、転送した音声情報に対応して音声認識処理サーバ5が処理し、返信する文字列情報(第1文字列情報)を受信する。
なお、音声認識処理管理部38は、受信部22がユーザ端末装置2から受信した音声情報を、音声/文字列情報DB16に一旦記憶した後、任意のタイミングで音声認識処理サーバ5に転送するように構成されていてもよい。
また、音声認識処理管理部38は、例えば、音声認識処理サーバ5が複数存在する場合、処理状況判断部34による、各々の音声認識処理サーバ5の音声認識処理状況の判断結果に基づいて、より最適な処理を実行可能な音声認識処理サーバ5を選択し、音声情報の音声認識処理を実行させるように制御してもよい。さらに、音声認識処理管理部38は、例えば、音声認識処理サーバ5が複数存在する場合、通信状況判断部36による、各々の音声認識処理サーバ5の通信処理状況の判断結果に基づいて、より最適な通信を実行可能な音声認識処理サーバ5を選択し、音声情報の音声認識処理を実行させるように制御してもよい。
言語処理管理部40は、後で詳述する言語処理サーバ7を管理する機能ブロックである。言語処理管理部40は、例えば、言語処理サーバ7を識別するサーバ識別情報に基づいて特定された言語処理サーバ7に、受信部22が音声認識処理サーバ5から受信した文字列情報(第1文字列情報)を転送し、転送した文字列情報に対応して言語処理サーバ7が処理し、返信する文字列情報(中間情報)を受信する。
なお、言語処理管理部40は、受信部22が音声認識処理サーバ5から受信した文字列情報を、音声/文字列情報DB16に一旦記憶した後、任意のタイミングで言語処理サーバ7に転送するように構成されていてもよい。
また、言語処理管理部40は、言語処理サーバ7が複数存在する場合、処理状況判断部34による、各々の言語処理サーバ7の言語処理状況の判断結果に基づいて、より最適な処理を実行可能な言語処理サーバ7を選択し、文字列情報の言語処理を実行させるように制御してもよい。さらに、言語処理管理部40は、言語処理サーバ7が複数存在する場合、通信状況判断部36による、各々の言語処理サーバ7の通信処理状況の判断結果に基づいて、より最適な通信を実行可能な言語処理サーバ7を選択し、文字列情報の言語処理を実行させるように制御してもよい。
音声合成処理管理部42は、後で詳述する音声合成処理サーバ9を管理する機能ブロックである。音声合成処理管理部42は、例えば、音声合成処理サーバ9を識別するサーバ識別情報に基づいて特定された音声合成処理サーバ9に、受信部22が言語処理サーバ7から受信した文字列情報を転送し、転送した文字列情報に対応して音声合成処理サーバ9が処理し、返信する音声情報(第2音声情報)を受信する。
なお、音声合成処理管理部42は、受信部22が言語処理サーバ7から受信した文字列情報を、音声/文字列情報DB16に一旦記憶した後、任意のタイミングで音声合成処理サーバ7に転送するように構成されていてもよい。
また、音声合成処理管理部42は、音声合成処理サーバ9が複数存在する場合、処理状況判断部34による、各々の音声合成処理サーバ9の音声合成処理状況の判断結果に基づいて、より最適な処理を実行可能な音声合成処理サーバ9を選択し、音声合成処理を実行させるように制御してもよい。さらに、音声合成処理管理部42は、言語処理サーバ7が複数存在する場合、通信状況判断部36による、各々の音声合成処理サーバ9の通信処理状況の判断結果に基づいて、より最適な通信を実行可能な音声合成処理サーバ9を選択し、音声合成処理を実行させるように制御してもよい。
情報出力部44は、受信部22が受信し、情報取得部30が取得した、サーバ情報をサーバ情報DB14に出力し、音声情報及び文字列情報を音声/文字列情報DB16に出力し、ユーザ情報をユーザ情報DB18に出力する機能ブロックである。また、音声/文字列情報DB16からの音声情報及び文字列情報を出力する機能ブロックである。
エラー処理部46は、サーバ管理装置3がユーザ端末装置2、音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9からの各種情報を所定時間以内に受信又は取得することができなかった場合、エラー処理を行う機能ブロックである。例えば、サーバ管理装置3が、ユーザ端末装置2からの音声情報を所定時間以内に受信することができなかった場合、エラー処理部46は、音声情報を受信することができなかったことを示す音声情報、文字列情報、その他の映像情報などを、ユーザ端末装置2に提供する。
図5は、本発明の実施形態に係る音声認識処理サーバ5の一実施形態を示す機能的構成を示すブロック図である。
図5に示すように、音声認識処理サーバ5は、機能的に、送受信部50、音声認識処理部52、サーバ情報DB54、及び辞書DB56を含んで構成されている。
音声認識処理サーバ5の上記各部は、例えば、メモリやハードディスク等の記憶領域を用いたり、記憶領域に格納されているプログラムをプロセッサが実行したりすることにより実現することができる。また、音声認識処理サーバ5の上記DBは、プロセッサが実行することにより実現することができる。なお、音声認識処理サーバ5は、上記機能を持つものであれば、特に制限はなく、クラウド・コンピューティングなどで実現される場合も含む。
送受信部50は、サーバ管理装置3との情報の送受信を行うための機能ブロックである。送受信部50は、機能的に、送信部60及び受信部62を含んで構成されている。送受信部50の送信部60は、例えば、所定のネットワークを介してサーバ管理装置3に、音声認識処理サーバ5のサーバ情報、及び音声認識処理後の文字列情報(第1文字列情報)を送信することができる。送受信部50の受信部62は、例えば、サーバ管理装置3から転送されてきた音声情報(第1音声情報)を受信することができる。
サーバ情報DB54は、音声認識処理サーバ5のサーバ情報を、短期的に又は長期的に保持・管理するDBである。サーバ情報DB54は、サーバ管理装置3のサーバ情報DB14と同様に、図3に示すサーバ情報の各項目、即ち、音声認識処理サーバ5のサーバ識別情報、通信状況情報、及び処理状況情報などを保持・管理し、容易に検索・抽出などの再利用をできるように構成されている。
辞書DB56は、音声認識処理サーバ5が音声認識処理を行う際に参照するための音声情報、文字列情報などが短期的に又は長期的に保持されているDBである。また、辞書DB56は、図4(b)に示すように、サーバ管理装置3からの音声情報を短期的に又は長期的に保持するように、又は、音声認識処理後に生成された文字列情報を短期的に又は長期的に保持するように構成されていてもよい。
音声認識処理部52は、機能的に、情報取得部70、音声情報認識/解析部72、文字列情報生成部74、及び情報出力部76を含んで構成されている。
情報取得部70は、受信部62がサーバ管理装置3からの音声情報を受信した場合に、受信した音声情報を取得する機能ブロックである。また、情報取得部70は、サーバ情報DB54に保持されている音声認識処理サーバ5のサーバ情報を取得する機能ブロックである。さらに、情報取得部70は、辞書DB56に保持されている文字列情報を取得する機能ブロックである。
音声情報認識/解析部72は、情報取得部70が取得した音声情報を、辞書DB56に含まれている情報を参照することにより、認識及び解析する機能ブロックである。
文字列情報生成部74は、音声情報認識/解析部72が認識、解析した音声情報に対応した文字列情報(第1文字列情報)を生成する機能ブロックである。
情報出力部76は、文字列情報生成部74に生成された文字列情報を送信部60に出力する機能ブロックである。また、情報出力部76は、文字列情報生成部74に生成された文字列情報が一旦辞書DB56で保持された場合には、辞書DB56で保持された文字列情報を、任意のタイミングで送信部60に出力する機能ブロックである。
図6は、本発明の実施形態に係る言語処理サーバ7の一実施形態を示す機能的構成を示すブロック図である。
図6に示すように、言語処理サーバ7は、機能的に、送受信部80、言語処理部82、サーバ情報DB84、及び辞書DB86を含んで構成されている。
言語処理サーバ7の上記各部は、例えば、メモリやハードディスク等の記憶領域を用いたり、記憶領域に格納されているプログラムをプロセッサが実行したりすることにより実現することができる。また、言語処理サーバ7の上記DBは、プロセッサが実行することにより実現することができる。なお、言語処理サーバ7は、上記機能を持つものであれば、特に制限はなく、クラウド・コンピューティングなどで実現される場合も含む。
送受信部80は、サーバ管理装置3との情報の送受信を行うための機能ブロックである。送受信部80は、機能的に、送信部90及び受信部92を含んで構成されている。送受信部80の送信部90は、例えば、所定のネットワークを介してサーバ管理装置3に、言語処理サーバ7のサーバ情報、言語処理後の文字列情報(中間情報)を送信することができる。送受信部80の受信部92は、例えば、サーバ管理装置3から転送されてきた文字列情報(第1文字列情報)を受信することができる。
サーバ情報DB84は、言語処理サーバ7のサーバ情報を、短期的に又は長期的に保持・管理するDBである。サーバ情報DB84は、サーバ管理装置3のサーバ情報DB14と同様に、図3に示すサーバ情報の各項目、即ち、言語処理サーバ7のサーバ識別情報、通信状況情報、及び処理状況情報などを保持・管理できるように、そして容易に検索・抽出などの再利用をできるように構成されている。
辞書DB86は、言語処理サーバ7が言語処理を行う際に参照するための文字列情報が短期的に又は長期的に保持されているDBである。また、辞書DB86は、図4(c)に示すように、サーバ管理装置3からの文字列情報(第1文字列情報)を短期的に又は長期的に保持するように、又は、言語処理後に生成された文字列情報(中間情報)を短期的に又は長期的に保持するように構成されていてもよい。
言語処理部82は、機能的に、情報取得部100、文字列情報認識/解析部102、文字列情報処理部104、及び情報出力部106を含んで構成されている。
情報取得部100は、受信部92がサーバ管理装置3からの文字列情報を受信した場合に、受信した文字列情報を取得する機能ブロックである。また、情報取得部100は、サーバ情報DB84に保持されている言語処理サーバ7のサーバ情報を取得する機能ブロックである。さらに、情報取得部70は、辞書DB86に保持されている文字列情報を取得する機能ブロックである。
文字列情報認識/解析部102は、情報取得部100が取得した文字列情報を、辞書DB86に含まれている文字列情報を参照することにより、認識及び解析する機能ブロックである。
文字列情報処理部104は、文字列情報認識/解析部102が認識、解析した文字列情報に対応した文字列情報(中間情報)を生成するために言語処理を実行する機能ブロックである。文字列情報処理部104は、例えば、情報取得部100が取得した文字列情報が質問に関するものであった場合は、その質問に関する文字列情報に対応した回答に関する文字列情報を生成する。また、文字列情報処理部104は、情報取得部100が取得した文字列情報が質問に関するものであった場合は、その質問に対するさらなる質問をするための文字列情報を生成する。
情報出力部106は、文字列情報処理部104により処理された文字列情報を送信部90に出力する機能ブロックである。また、情報出力部106は、文字列情報処理部104により処理された文字列情報が一旦辞書DB86で保持された場合には、辞書DB86で保持された文字列情報を、任意のタイミングで送信部90に出力する機能ブロックである。
図7は、本発明の実施形態に係る音声合成処理サーバ9の一実施形態を示す機能的構成を示すブロック図である。
図7に示すように、音声合成処理サーバ9は、機能的に、送受信部110、音声合成処理部112、サーバ情報DB114、及び辞書DB116を含んで構成されている。
音声合成処理サーバ9の上記各部は、例えば、メモリやハードディスク等の記憶領域を用いたり、記憶領域に格納されているプログラムをプロセッサが実行したりすることにより実現することができる。また、音声合成処理サーバ9の上記DBは、プロセッサが実行することにより実現することができる。なお、音声合成処理サーバ9は、上記機能を持つものであれば、特に制限はなく、クラウド・コンピューティングなどで実現される場合も含む。
送受信部110は、サーバ管理装置3との情報の送受信を行うための機能ブロックである。送受信部110は、機能的に、送信部120及び受信部122を含んで構成されている。送受信部110の送信部120は、例えば、所定のネットワークを介してサーバ管理装置3に、音声合成処理サーバ9のサーバ情報、音声合成処理後の音声情報(第2音声情報)を送信することができる。送受信部110の受信部122は、例えば、サーバ管理装置3から転送されてきた文字列情報(中間情報)を受信することができる。
サーバ情報DB114は、音声合成処理サーバ9のサーバ情報を、短期的に又は長期的に保持・管理するDBである。サーバ情報DB114は、サーバ管理装置3のサーバ情報DB14と同様に、図3に示すサーバ情報の各項目、即ち、音声合成処理サーバ9のサーバ識別情報、通信状況情報、及び処理状況情報などを保持・管理できるように、容易に検索・抽出などの再利用をできるように構成されている。
辞書DB116は、音声合成処理サーバ9が音声合成処理を行う際に参照するための音声情報、文字列情報などが短期的に又は長期的に保持されているDBである。また、辞書DB116は、図4(d)に示すように、サーバ管理装置3からの文字列情報(中間情報)を短期的に又は長期的に保持するように、又は、音声合成処理後に生成された音声情報(第2音声情報)を短期的に又は長期的に保持するように構成されていてもよい。
音声合成処理部112は、機能的に、情報取得部130、文字列情報認識/解析部132、音声情報生成部134、及び情報出力部136を含んで構成されている。
情報取得部130は、受信部122がサーバ管理装置3からの文字列情報を受信した場合に、受信した文字列情報を取得する機能ブロックである。また、情報取得部130は、サーバ情報DB114に保持されている音声合成処理サーバ9のサーバ情報を取得する機能ブロックである。さらに、情報取得部130は、辞書DB116に保持されている音声情報、文字列情報を取得する機能ブロックである。
文字列情報認識/解析部132は、情報取得部130が取得した文字列情報を、辞書DB116に含まれている文字列情報を参照することにより、認識及び解析する機能ブロックである。
音声情報生成部134は、文字列情報認識/解析部132が認識、解析した文字列情報に対応した音声情報(第2音声情報)を生成・合成するための音声合成処理を実行する機能ブロックである。
情報出力部136は、音声情報生成部134により生成・合成された音声情報を送信部120に出力する機能ブロックである。また、情報出力部136は、音声情報生成部134により生成・合成された音声情報が一旦辞書DB116で保持された場合には、辞書DB116で保持された音声情報を、任意のタイミングで送信部120に出力する機能ブロックである。
図8は、本発明の実施形態に係る対話型FAQ(Frequently Asked Questions)システムの動作を説明するシーケンス図である。本実施形態に係るサーバ管理装置3は、上述した音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9を管理して、対話型FAQシステムを実現するように機能する。
前提として、サーバ管理装置3は、例えば契約などに基づいて、音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9を登録・管理する。その際、サーバ管理装置3は、音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9のサーバ情報を受信する。
図9は、本発明の実施形態に係るサーバ管理システム1の一実施形態を示す概略構成図(システム構成図)に、ユーザ端末装置2、サーバ管理装置3、音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9が保持するデータの一例を示した図である。
ユーザ端末装置2は、図9に示す、ユーザ端末装置2のA.音声情報「けいたいでんわについておしえてください」をサーバ管理装置3に送信する(図8のステップS01)。
次に、サーバ管理装置3は、図9に示す、ユーザ端末装置2が送信したA.音声情報「けいたいでんわについておしえてください」を受信し、受信したA.音声情報(第1音声情報)を、音声認識処理サーバ5を識別するサーバ識別情報に基づいて特定された音声認識処理サーバ5に、転送する(図8のステップS02)。
次に、音声認識処理サーバ5は、サーバ管理装置3が転送したA.音声情報を、当該A.音声情報に応じて処理し、図9に示す、A.文字列情報「けいたいでんわについておしえてください」(第1文字列情報を)生成し、当該文字列情報を、サーバ管理装置3に返信する(図8のステップ03)。
次に、サーバ管理装置3は、図9に示す、音声認識処理サーバ5が送信したA.文字列情報「けいたいでんわについておしえてください」を受信し、受信したA.文字列情報(第1文字列情報)を、言語処理サーバ7を識別するサーバ識別情報に基づいて特定された言語処理サーバ7に、転送する(図8のステップS04)。
次に、言語処理サーバ7は、サーバ管理装置3が転送したA.文字列情報を、当該A.文字列情報に応じて処理する。言語処理サーバ7は、例えば、図9に示す、A.文字列情報「携帯電話について教えてください」を生成し、A.文字列情報「携帯電話について教えてください」に応じて、B.文字列情報「どのメーカーの携帯電話についてですか」(中間情報)を生成し、当該B.文字列情報を、サーバ管理装置3に返信する(図8のステップ05)。
次に、サーバ管理装置3は、図9に示す、言語処理サーバ7が送信したB.文字列情報「どのメーカーの携帯電話についてですか」を受信し、受信したB.文字列情報(中間情報)を、音声合成処理サーバ9を識別するサーバ識別情報に基づいて特定された音声合成処理サーバ9に、転送する(図8のステップ06)。
次に、音声合成処理サーバ9は、サーバ管理装置3が転送したB.文字列情報を、当該B.文字列情報に応じて処理する。音声合成処理サーバ9は、当該B.文字列情報に応じて、図9に示すB.音声情報「どのメーカーのけいたいでんわについてですか」(第2音声情報)を生成・合成し、当該B.音声情報を、サーバ管理装置3に返信する(図8のステップ07)。
次に、サーバ管理装置3は、図9に示す、音声合成処理サーバ9が送信したB.音声情報「どのメーカーのけいたいでんわについてですか」(第2音声情報)を受信し、受信したB.音声情報を、ユーザ端末装置2に送信する(図8のステップ08)。
上記により、ユーザがそれぞれ異なる処理を実行する各サーバを使用する場合において、各サーバを一元的に管理することによって、ユーザが各サーバに個別にアクセスする必要がなくなるため、ユーザの利便性を高めることができる。
なお、本実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するものではない。本発明はその趣旨を逸脱することなく、変更/改良され得るとともに、本発明にはその等価物も含まれる。
また、サーバ管理システム1は、図1に示した構成要素を全て含むものではなく、その一部の構成要素により構成されるものであってもよい。例えば、サーバ管理システム1は、音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9の3つのサーバを備えているが、必ずしも3つのサーバを備えている必要はなく、サーバの数、サーバの種類などに制限はない。サーバ管理システム1は、例えば、2つのサーバを備えていてもよく、第1サーバが、音声認識処理サーバである場合は、第2サーバは、言語処理サーバ又は音声合成処理サーバであってもよく、第1サーバが言語処理サーバである場合は、第2サーバは、音声合成処理サーバであってもよい。
さらに、図8に示すステップS01〜S16は必ずしもこのステップ通りに実行されなくてもよく、適宜変更されてよい。例えば、S03及びS04が実行される前に、S05及びS06が実行されていてもよい。
なお、サーバ管理装置3は、図示しないが、さらに処理実行部を備えるように構成し、当該処理実行部において、音声認識処理サーバ5が実行する音声認識処理、言語処理サーバ7が実行する言語処理、及び音声合成処理サーバ9が実行する音声合成処理のうち少なくとも一つを実行するように構成されていてもよい。具体的には、サーバ管理装置3の受信部22は、第1音声情報を受信する。次いで、処理実行部は、1)受信した第1音声情報に対応して第1文字列情報を出力する音声認識処理、2)第1文字列情報に対応して第2文字列情報を出力する言語処理、および、3)第2文字列情報に対応して第2音声情報を出力する音声合成処理、のうち少なくとも1つを実行する。また、サーバ管理DB14は、a)前記音声認識処理を実行する音声認識処理サーバ、b)前記言語処理を実行する言語処理サーバ、及びc)前記音声合成処理を実行する音声合成処理サーバのうち少なくとも一つを識別するサーバ識別情報を含む。処理実行部は、上記音声認識処理、上記言語処理、および上記音声合成処理のうち1つ以上の処理を実行し、それ以外の処理をサーバ管理DB14により識別された、音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9のうち、当該処理実行部が実行した処理以外の処理を担う1以上のサーバに転送して実行させる。送信部20は、当該処理実行部または上記音声合成処理サーバ9のいずれかが出力した上記第2音声情報をユーザ端末装置2に送信する。
<第2実施形態>
第2実施形態は、第1実施形態の音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9に、言語情報を辞書登録する際の実施形態である。すなわち、第2実施形態では、言語処理の対象となる、少なくとも韻律関連情報、形態素関連情報、又は読み表記関連情報を含む言語情報を一括して取得する。そして、この言語情報が韻律関連情報であるか、形態素関連情報であるか、読み表記関連情報であるか、に応じてそれぞれの情報に対応する処理を実行する、各サーバ5,7,9のユーザ辞書DB(データベース)152,172,192に各情報が登録される。以下では、第1実施形態と異なる点について特に説明し、他の点については説明を省略する。
図10は、本発明の実施形態に係る辞書DB管理システム1Aの一実施形態を示す概略構成図(システム構成図)である。図10に示すように、本発明の実施の形態に係る辞書DB管理システム1Aは、例示的に、入力装置200、辞書DB管理装置3A、APIサーバ4、音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9を備えて構成されている。
入力装置200は、所定のネットワークに接続されたスマートフォンなどの携帯電話、タブレット端末、ラップトップ又はノートブック型コンピュータ等を含む、韻律関連情報、形態素関連情報、及び読み表記関連情報のうち少なくとも一つを含む言語情報を送受信する送受信機能を有する装置で構成されている。
APIサーバ4は、入力装置200と辞書DB管理装置3Aとの間、辞書DB管理装置3Aと音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9のそれぞれとの間で少なくとも、後述するサーバ識別情報、韻律関連情報、形態素関連情報、及び読み表記関連情報などの送受信が可能なように構成されているサーバである。
音声認識処理サーバ5は、例示的に、基本辞書DB150及びユーザ辞書DB152をさらに備えて構成されている。また、言語処理サーバ7は、例示的に、基本辞書DB170及びユーザ辞書DB172をさらに備えて構成されている。さらに、音声合成処理サーバ9は、例示的に、基本辞書DB190及びユーザ辞書DB192をさらに備えて構成されている。
基本辞書DB150,170,190は、あらかじめ標準的な言語情報を記憶している辞書データベースである。基本辞書DB150,170,190は、標準的な言語対応が継続的に可能となるように、任意のタイミングで更新される(書き換えられる)。
ユーザ辞書DB152,172,192は、標準的な言語情報以外の情報、たとえば、人物名、業界用語、業界で多用される固有名詞、サービス名などの情報が登録される辞書データベースである。ユーザ辞書DB152,172,192には、後述する辞書DB管理装置3Aにより、新規の言語情報が登録されていく。
辞書DB管理装置3Aは、言語情報を取得し、この言語情報が韻律関連情報であるか、形態素関連情報であるか、読み表記関連情報であるか、に応じてそれぞれの情報に対応する処理を実行する、各サーバ、すなわち、音声認識処理サーバ5のユーザ辞書DB152(第3辞書データベース)、言語処理サーバ7のユーザ辞書DB172(第2辞書データベース)、及び音声合成処理サーバ9のユーザ辞書DB192(第1辞書データベース)のうち少なくとも一つに上記情報を登録する機能を持つ装置である。
図11は、本発明の実施形態に係る辞書DB管理装置3Aの一実施形態を示す機能的構成を示すブロック図である。図11に示すように、辞書DB管理装置3Aは、機能的に、言語情報取得部300、識別情報取得部302、言語情報補完部304、及び言語情報登録部306を含んで構成されている。
言語情報取得部300は、言語処理の対象となる、少なくとも韻律関連情報、形態素関連情報、又は読み表記関連情報を含む言語情報を一括して取得する機能ブロックである。例えば、図10に示すように、言語情報取得部300は、漢字「町」、読み「まち」、およびアクセント情報を取得する。なお、言語情報取得部300は、漢字「町」、読み「まち」、およびアクセント情報を自己が備える記憶部(不図示)に記憶するように構成されていてもよい。なお、言語情報は、日本語に関するものだけではなく、英語などの外国語に関するものを含んでいてもよい。
識別情報取得部302は、音声合成処理サーバ9、言語処理サーバ7、および音声認識処理サーバ5を識別する識別情報を取得する機能ブロックである。
言語情報補完部304は、言語情報取得部300が取得する言語情報のうち、一部が欠けていた場合において、その欠けている情報を補完する機能ブロックである。具体的には、言語情報補完部304は、言語情報取得部300が取得する言語情報のうち、韻律関連情報が欠けている場合は、当該韻律関連情報を補完する。例えば、言語情報補完部304は、言語情報取得部300が取得する言語情報のうち、アクセント情報が欠けていた場合は、当該アクセント情報を補完する。言語情報補完部304は、読み表記関連情報を参照することによって、当該読み表記関連情報に対応するアクセント情報を補完するように構成されていてもよい。
言語情報登録部306は、取得した言語情報が韻律関連情報を含む場合には当該韻律関連情報を蓄積して音声合成処理を実施する音声合成処理サーバ9のユーザ辞書DB192(第1辞書データベース)に登録し、上記言語情報が形態素関連情報を含む場合には当該形態素関連情報を蓄積して自然言語処理を実施する言語処理サーバ7のユーザ辞書DB172(第2辞書データベース)に登録し、上記言語情報が読み表記関連情報を含む場合には当該読み表記関連情報を蓄積して音声認識処理を実施する音声認識処理サーバ5のユーザ辞書DB152(第3辞書データベース)に登録する機能ブロックである。
例えば、図10に示すように、言語情報登録部306は、音声合成処理サーバ9のユーザ辞書DB192(第1辞書データベース)に、漢字「町」およびアクセント情報(韻律関連情報)を登録する。そして、音声合成処理サーバ9は、漢字「町」及びアクセント情報(韻律関連情報)を蓄積し、音声合成処理を実施する。また、言語情報登録部306は、言語処理サーバ7のユーザ辞書DB172(第2辞書データベース)に、漢字「町」および、よみ「まち」(形態素関連情報)を登録する。そして、言語処理サーバ7は、漢字「町」および、よみ「まち」(形態素関連情報)を蓄積し、自然言語処理を実施する。さらに、言語情報登録部306は、音声認識処理サーバ5のユーザ辞書DB152(第3辞書データベース)に、よみ「まち」(読み表記関連情報)及び漢字「町」(読み表記関連情報)を登録する。そして、音声認識処理サーバ5は、よみ「まち」及び漢字「町」を蓄積し、音声認識処理を実施する。
また、オプションであるが、言語情報登録部306は、識別情報取得部302により取得された音声合成処理サーバ9、言語処理サーバ7、および音声認識処理サーバ5を識別する識別情報に基づいて、言語情報が韻律関連情報であるか、形態素関連情報であるか、読み表記関連情報であるか、に応じてそれぞれの情報に対応する処理を実行する音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9のうち少なくとも一つを特定し、特定したサーバのユーザ辞書DB152(第3辞書データベース),ユーザ辞書DB172(第2辞書データベース),及びユーザ辞書DB192(第1辞書データベース)の少なくとも一つに上記情報を登録する。
このように、言語情報登録部306は、取得した言語情報を登録すべき各サーバのアドレスを認識し、言語情報の種別に対応するサーバに正しく言語情報を登録することが可能となる。
なお、辞書DB管理装置3Aは、音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9から、各サーバ5,7,9の各基本辞書DB150,170,190に記憶又は登録されている言語情報をあらかじめ取得し、把握しておくことで、言語情報取得部300が取得する言語情報のうち、各サーバ5,7,9の各ユーザ辞書DB152,172,192に登録すべき当該言語情報を選別するように構成されていてもよい。例えば、辞書DB管理装置3Aは、あらかじめ、言語処理サーバ7及び/又は音声合成処理サーバ9が既に、漢字「町」、よみ「ちょう」を記録・登録していることを把握することで、漢字「町」について、よみ「まち」を言語処理サーバ7及び/又は音声合成処理サーバ9に登録するように構成されていてもよい。
図12は、本発明の実施形態に係る言語情報を音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9のうち少なくとも一つに登録するための処理の一例を示すフローチャートである。
図12に示すように、まず、言語情報取得部300は、言語処理の対象となる、少なくとも韻律関連情報、形態素関連情報、又は読み表記関連情報を含む言語情報を一括して取得する(ステップS11)。
次に、言語情報登録部306は、取得した言語情報が韻律関連情報を含む場合には音声合成処理サーバ9のユーザ辞書DB192に登録し、上記言語情報が形態素関連情報を含む場合には当該形態素関連情報を言語処理サーバ7のユーザ辞書DB172に登録し、上記言語情報が読み表記関連情報を含む場合には当該読み表記関連情報を音声認識処理サーバ5のユーザ辞書DB152に登録する(ステップS12)。
各サーバ、すなわち、辞書DB管理装置3A、APIサーバ4、音声認識処理サーバ5、言語処理サーバ7、及び音声合成処理サーバ9の上記各部は、例えば、メモリやハードディスク等の記憶領域を用いたり、記憶領域に格納されているプログラムをプロセッサが実行したりすることにより実現することができる。また、各サーバの上記DBは、プロセッサが実行することにより実現することができる。なお、各サーバは、上記機能を持つものであれば、特に制限はなく、クラウド・コンピューティングなどで実現される場合も含む。
上記辞書DB管理装置3Aによれば、言語情報の登録を希望するユーザ、例えば所定の音声ガイドサービスの提供主体となるユーザは、入力装置200を用いて、辞書DB管理装置3Aにアクセスし、辞書DB管理装置3Aの指示に従って言語情報を一括登録することができる。具体的には、上記実施形態のシステムであれば、ユーザから提供された言語情報が、辞書DB管理装置3Aの登録管理処理により、音声認識処理サーバ5、言語処理サーバ7、および音声合成処理サーバ9のいずれかに、言語情報の種類に応じて正しく登録されることになる。このような言語情報を登録するユーザにとっては、音声認識処理サーバ5、言語処理サーバ7、および音声合成処理サーバ9のそれぞれに個別に対応する言語情報を登録するといった手間を省くことができ、音声ガイドサービスを開始するために必要な膨大な量の登録作業を簡単に済ませることができる。
そしてある程度の言語情報を各処理サーバに登録したあとは、上記実施形態で説明したように、辞書DB管理装置3Aの制御によって、ユーザの音声による問い合わせに対応する回答を提供できるようになる。
また、辞書DB管理装置3Aが各サーバのデータベースを一括して管理することで、異なる機能のサーバのユーザ辞書DBを更新する負担を軽減することができる。
なお、本実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するものではない。本発明はその趣旨を逸脱することなく、変更/改良され得るとともに、本発明にはその等価物も含まれる。また、本発明は、その趣旨を逸脱しない範囲で種々変形(各実施形態を組み合わせる等)して実施することができる。
本実施形態の一部又は全部は、以下の態様のようにも記載されうるが、以下には限られない。
(態様1)
第1音声情報を受信する受信部と、
1)前記受信した第1音声情報に対応して第1文字列情報を出力する音声認識処理、
2)前記第1文字列情報に対応して第2文字列情報を出力する言語処理、および、
3)前記第2文字列情報に対応して第2音声情報を出力する音声合成処理、
のうち少なくとも1つを実行する処理実行部と、
a)前記音声認識処理を実行する音声認識処理サーバ、
b)前記言語処理を実行する言語処理サーバ、及び
c)前記音声合成処理を実行する音声合成処理サーバ
のうち少なくとも一つを識別するサーバ識別情報を含むサーバ識別情報データベースと、
前記第2音声情報を送信する送信部と、
を備え、
前記音声認識処理、前記言語処理、および前記音声合成処理のうち1つ以上の処理を実行し、それ以外の処理を前記サーバ識別情報データベースにより識別されたサーバに転送して実行させる、サーバ管理装置。
(態様2)
言語情報を登録するAPIサーバであって、
前記言語情報を取得する言語情報取得部と、
取得した前記言語情報が韻律関連情報である場合には当該韻律関連情報を蓄積して音声合成処理を実施する音声合成処理サーバに登録し、前記言語情報が形態素関連情報である場合には当該形態素関連情報を蓄積して自然言語処理を実施する自然言語処理サーバに登録し、前記言語情報が読み表記関連情報である場合には当該読み表記関連情報を蓄積して音声認識処理を実施する音声認識処理サーバに登録する言語情報登録部と、を備えるAPIサーバ。
上記APIサーバによれば、言語処理の対象となる言語情報を一括して取得する。そしのこの言語情報が韻律関連情報であるか、形態素関連情報であるか、読み表記関連情報であるか、に応じてそれぞれの情報に対応する処理を実行するサーバに各情報が登録される。例えば言語情報が、韻律関連情報、すなわち、言語を構成する音声の長短、母音・子音、およびアクセントの配列、音数等に関する情報であれば、当該情報を蓄積して前記言語に対応する音声を合成する処理を実行する音声合成処理サーバに登録される。例えば言語情報が形態素関連情報、すなわち、意味を持つ最小の言語単位(morpheme)を定義する情報であれば、当該情報を蓄積して自然言語解析を実施する自然言語処理サーバに登録される。例えば言語情報が読み表記関連情報、すなわち、言語の読みや漢字や仮名等の標記に関する情報であれば、当該情報を蓄積して音声認識を実施する音声認識処理サーバに登録される。
上記APIサーバによれば、言語情報の登録を希望するユーザ、例えば所定の音声ガイドサービスの提供主体となるユーザは、コンピュータ装置を用いて、APIサーバにアクセスし、APIサーバの指示に従って言語情報を一括登録することができる。具体的には、上記実施形態のシステムであれば、ユーザから提供された言語情報が、APIサーバの登録管理処理により、音声認識処理サーバ5、言語処理サーバ7、および音声合成処理サーバ9のいずれかに、言語情報の種類に応じて正しく登録されることになる。このような言語情報を登録するユーザにとっては、音声認識処理サーバ5、言語処理サーバ7、および音声合成処理サーバ9のそれぞれに個別に対応する言語情報を登録するといった手間を省くことができ、音声ガイドサービスを開始するために必要な膨大な量の登録作業を簡単に済ませることができる。
そしてある程度の言語情報を各処理サーバに登録したあとは、上記実施形態で説明したように、サーバ管理装置3の制御によって、ユーザの音声による問い合わせに対応する回答を提供できるようになる。
(態様3)
前記音声合成サーバ、前記自然言語サーバ、および前記音声認識サーバを識別する識別情報を管理する管理サーバと通信可能に構成されており、
前記管理サーバとの通信により取得した前記識別情報に基づいて前記言語情報を登録する、上記態様2に記載のAPIサーバ。
上記APIサーバによれば、上記した音声合成処理サーバ、自然言語処理サーバ、および音声認識処理サーバを識別するための識別情報を管理する管理サーバに問い合わせることで、取得した言語情報を登録すべきサーバのアドレスを認識し、言語情報の種別に対応するサーバに正しく言語情報を登録することが可能である。