(57)【要約】【課題】シーケンスデータに沿った実施がなされる場合において省略があったときに、その省略に応じてシーケンスデータの実施を変更する。【解決手段】取得部１１は外部から入力データを取得する。記憶部１４は、省略部分が有るデータと当該省略部分が無いデータとで少なくとも分岐する分岐構造を持つシーケンスデータを記憶する。検出部１２は、記憶部１４に記憶されたシーケンスデータと取得された入力データとを比較して、当該入力データにおける省略状態を検出する。選択部１３は、記憶部１４の記憶内容を参照し、検出された省略状態に応じて、シーケンスデータにおいて分岐したデータ群のうちのいずれかのデータを選択する。制御部１５は、選択されたデータに応じた動作を音声対話ロボット２０に行わせるよう制御する。【選択図】図５
2018155896.tif 000002
【特許請求の範囲】
【請求項１】
外部から取得した入力データと、省略部分が有るデータと当該省略部分が無いデータとで少なくとも分岐する分岐構造を持つシーケンスデータとを比較して、当該入力データにおける省略状態を検出する検出ステップと、
検出された省略状態に応じて、前記シーケンスデータにおいて分岐したデータ群のうちのいずれかのデータを選択する選択ステップと
を備えることを特徴とする制御方法。
【請求項２】
前記検出ステップにおいて、前記入力データにおける省略部分の位置を検出し、
前記選択ステップにおいて、検出された省略部分の位置に応じて前記データを選択する
ことを特徴とする請求項１に記載の制御方法。
【請求項３】
前記検出ステップにおいて、前記入力データにおける省略部分の量を検出し、
前記選択ステップにおいて、検出された省略部分の量に応じて前記データを選択する
ことを特徴とする請求項１又は２に記載の制御方法。
【請求項４】
前記シーケンスデータは、人間の動作に相当するデータ及び装置の動作に相当するデータを含む
ことを特徴とする請求項１〜３のいずれか１項に記載の制御方法。
【請求項５】
前記選択ステップにおいて、検出された省略状態に応じて、前記装置の動作に相当するデータを選択し、
さらに、選択されたデータに応じた動作を前記装置に行わせるよう制御する制御ステップを備えることを特徴とする請求項４に記載の制御方法。
【請求項６】
外部から取得した入力データと、省略部分が有るデータと当該省略部分が無いデータとで少なくとも分岐する分岐構造を持つシーケンスデータとを比較して、当該入力データにおける省略状態を検出する検出部と、
検出された省略状態に応じて、前記シーケンスデータにおいて分岐したデータ群のうちのいずれかのデータを選択する選択部と
を備えることを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シーケンスデータに沿った実施を制御するための制御方法及び制御装置に関する。
【背景技術】
【０００２】
音声対話装置が人間と音声対話する方式として、予め定められたシナリオに従って音声対話装置が順次発話することにより対話を進める方式がある。例えば音声対話装置がユーザに質問し、これに対するユーザの返答に応じて音声対話装置がさらに応答するという処理を繰り返すことにより、両者の対話が進められる。例えば特許文献１には、ユーザの発話を音声認識した結果に基づき、予め与えられたシナリオに従ってユーザとの対話を制御すると共に、必要に応じてユーザの発話内容に応じた応答文を生成し、再生したシナリオの一文又は生成した応答文を音声合成処理するようにした仕組みが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２８７０１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、人間同士の対話においては、例えば主語や目的語或いは文末等が適宜省略される場合がある。このような省略部分を含む発話に対して、全く省略部分が無い応答を返すという対話は、特別な場合を除き、違和感があり不自然である。
【０００５】
そこで、本発明は、例えば発話内容が時系列で連なっているようなシーケンスデータに沿った実施がなされる場合において省略があったときに、その省略に応じてシーケンスデータの実施を変更することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明は、外部から取得した入力データと、省略部分が有るデータと当該省略部分が無いデータとで少なくとも分岐する分岐構造を持つシーケンスデータとを比較して、当該入力データにおける省略状態を検出する検出ステップと、検出された省略状態に応じて、前記シーケンスデータにおいて分岐したデータ群のうちのいずれかのデータを選択する選択ステップとを備えることを特徴とする制御方法を提供する。
【０００７】
前記検出ステップにおいて、前記入力データにおける省略部分の位置を検出し、前記選択ステップにおいて、検出された省略部分の位置に応じて前記データを選択するようにしてもよい。
【０００８】
前記検出ステップにおいて、前記入力データにおける省略部分の量を検出し、前記選択ステップにおいて、検出された省略部分の量に応じて前記データを選択するようにしてもよい。
【０００９】
前記シーケンスデータは、人間の動作に相当するデータ及び装置の動作に相当するデータを含むようにしてもよい。
【００１０】
前記選択ステップにおいて、検出された省略状態に応じて、前記装置の動作に相当するデータを選択し、さらに、選択されたデータに応じた動作を前記装置に行わせるよう制御する制御ステップを備えるようにしてもよい。
【００１１】
また、本発明は、外部から取得した入力データと、省略部分が有るデータと当該省略部分が無いデータとで少なくとも分岐する分岐構造を持つシーケンスデータとを比較して、当該入力データにおける省略状態を検出する検出部と、検出された省略状態に応じて、前記シーケンスデータにおいて分岐したデータ群のうちのいずれかのデータを選択する選択部とを備えることを特徴とする制御装置を提供する。
【００１２】
また、本発明は、コンピュータが、外部から取得した入力データと、省略部分が有るデータと当該省略部分が無いデータとで少なくとも分岐する分岐構造を持つシーケンスデータとを比較して、当該入力データにおける省略状態を検出する検出部と、検出された省略状態に応じて、前記シーケンスデータにおいて分岐したデータ群のうちのいずれかのデータを選択する選択部として機能するためのプログラムを提供する。
【発明の効果】
【００１３】
本発明によれば、シーケンスデータに沿った実施がなされる場合において省略があったときに、その省略に応じてシーケンスデータの実施を変更することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係る対話制御システムの全体構成を示すブロック図である。
【図２】音声対話ロボットの電気的なハードウェア構成を示すブロック図である。
【図３】制御装置の電気的なハードウェア構成を示すブロック図である。
【図４】制御装置が記憶しているシーケンスデータの一例を示す図である。
【図５】制御装置の機能構成を示すブロック図である。
【図６】制御装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１５】
［構成］
図１は、本発明の一実施形態に係る対話制御システムの全体構成を示すブロック図である。対話制御システム１は、制御装置１０と、音声対話ロボット２０と、制御装置１０及び音声対話ロボット２０を通信可能に接続する通信網９０とを備えている。通信網９０は、無線通信規格に従う無線通信区間又は有線通信規格に従う有線通信区間の少なくともいずれか一方を含むネットワークである。音声対話ロボット２０は、例えば人間や動物の姿を模した外観を有しており、制御装置１０による制御に従って人間と対話を行う音声対話装置である。
【００１６】
図２は、音声対話ロボット２０のハードウェア構成を例示した図である。音声対話ロボット２０は、ＣＰＵ２０１（Central Processing Unit）、ＲＯＭ（Read Only Memory）２０２、ＲＡＭ（Random Access Memory）２０３、補助記憶装置２０４、通信ＩＦ２０５、スピーカ２０６及びマイク２０７を有するコンピュータ装置である。ＣＰＵ２０１は、各種の演算を行うプロセッサである。ＲＡＭ２０３は、ＣＰＵ２０１がプログラムを実行する際のワークエリアとして機能する揮発性メモリである。ＲＯＭ２０２は、例えば音声対話ロボット２０ａの起動に用いられるプログラム及びデータを記憶した不揮発性メモリである。補助記憶装置２０４は、例えばＨＤＤ（Hard Disk Drive）又はＳＳＤ（Solid State Drive）等の不揮発性の記憶装置であり、音声対話ロボット２０において用いられるプログラム及びデータを記憶する。ＣＰＵ２０１がこのプログラムを実行することにより、音声対話ロボット２０の動作を制御する。通信ＩＦ２０５は、通信網９０を介して制御装置１０と通信を行う。スピーカ２０６は、制御装置１０から送信されてくる制御データに従って、人間に対して放音する発話手段である。マイク２０７は、音声対話ロボット２０と対話する人間の音声を収音する収音手段である。
【００１７】
図３は、制御装置１０のハードウェア構成を例示する図である。制御装置１０は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、補助記憶装置１０４、及び通信ＩＦ１０５を有するコンピュータ装置である。ＣＰＵ１０１は、各種の演算を行うプロセッサである。ＲＡＭ１０３は、ＣＰＵ１０１がプログラムを実行する際のワークエリアとして機能する揮発性メモリある。ＲＯＭ１０２は、例えば制御装置１０の起動に用いられるプログラム及びデータを記憶した不揮発性メモリである。補助記憶装置１０４は、例えばＨＤＤ又はＳＳＤ等の不揮発性の記憶装置であり、制御装置１０において用いられるプログラム及びデータを記憶する。ＣＰＵ１０１がこのプログラムを実行することにより、後述する図５に示される機能が実現される。通信ＩＦ１０５は、通信網９０を介して音声対話ロボット２０と通信を行う。
【００１８】
本実施形態においては、予め定められたシナリオに従って音声対話ロボット２０が順次発話することにより人間との対話を進める、という対話方式を採用している。例えば音声対話ロボット２０が人間に質問し、これに対する人間の返答に応じて音声対話ロボット２０がさらに応答する処理を繰り返すことにより、両者の対話が進められる。
【００１９】
人間の発話は、予め作成されたシナリオにおいて想定される発話に比べると、その一部が省略されることが考えられる。このように人間の発話の一部が省略されたときに、音声対話ロボットだけがシナリオどおりに省略が無い発話を行うと、人間と音声対話ロボットとの対話に違和感や不自然さが生じてしまう。そこで、本実施形態では、シナリオで規定されている人間の発話部分において省略状態が記述されている。具体的には、隠れマルコフモデルを用いて、人間と音声対話ロボットとの間で連続する発話を確率的に状態遷移する有限状態オートマトンと想定し、人間の発話の省略状態に応じて音声対話ロボットの発話が複数とおりに分岐するような状態遷移を考える。
【００２０】
以上のことを前提として、補助記憶装置１０４は、音声対話ロボット２０の発話と人間の発話とが時系列に交互に繰り返されるように連ねたシーケンスデータを記憶している。このシーケンスデータは、人間の発話に応じて音声対話ロボットの発話が複数とおりに分岐する分岐構造を有する。この分岐構造は、省略部分が有るデータと省略部分が無いデータとで少なくとも分岐している。
【００２１】
図４は、制御装置１０の補助記憶装置１０４が記憶しているシーケンスデータの一例を示す図である。このシーケンスデータは、人間及び音声対話ロボットの発話データの集合である。このシーケンスデータにおいては、人間の発話データと音声対話ロボットの発話データとが時系列に交互に関連付けられた、いわゆるリンク構造となっており、このリンクの順序に従って発話の制御が進行する。図４では、例えば音声対話ロボット２０による「こんにちは」という発話から右側に進む方向で人間との対話が始まる例を想定している。さらに、図４の例では、まず最初に人間及び音声対話ロボット間での挨拶に関する対話のシナリオがあり、次にお互いの趣味についての対話のシナリオがあり、というように、話題として一定のまとまりのある複数のシナリオが時系列に遷移していくようなケースを想定している。例えばシナリオＡがシナリオＢとシナリオＣに分岐したあとにシナリオＤに戻る、というように、各シナリオが時系列にどのように遷移していくかということは、シーケンスデータの設計者が任意に設計可能である。
【００２２】
図４の例においては、最初の「こんにちは」という音声対話ロボット２０の発話に対して、「こんにちは」「こんちは」「ちは」・・・「おう！」・・・「あれ？久しぶり」・・・というような、複数とおりの人間の発話が規定されている。ここで、「こんにちは」「こんちは」「ちは」という発話群において、「こんにちは」という発話においては省略が無く、「こんちは」「ちは」という発話においては省略が有る。また、「ちは」における省略の量は「こんちは」における省略の量よりも多い。そして、「こんにちは」という省略が無い人間の発話に対しては、「お元気ですか？」という省略の無い音声対話ロボット２０の発話が関連付けられており、「こんちは」という省略が少ない人間の発話に対しては、「元気か？」という省略の少ない音声対話ロボット２０の発話が関連付けられており、「ちは！」という省略が多い人間の発話に対しては、「元気？」という省略の多い音声対話ロボット２０の発話が関連付けられている。
【００２３】
このように、シーケンスデータにおいては、人間の発話の省略状態に応じて、音声対話ロボット２０の省略状態の異なる発話が複数とおりに分岐している。この省略状態という用語の意味には、省略された部分が有るか否かということに加え、省略された部分が有る場合にその省略された部分の量という意味が含まれており、人間の発話において検出された省略部分の量に応じて、音声対話ロボット２０の発話における省略部分の量が規定される。例えば人間の発話において省略量が多い場合には、音声対話ロボット２０の発話においても省略量が多い発話が規定され、人間の発話において省略量が少ない場合には、音声対話ロボット２０の発話においても省略量が少ない発話が規定されている。
【００２４】
ここで、最初の「こんにちは」という音声対話ロボット２０の発話に対して、人間が「こんにちは」という発話を行った場合に、この人間の発話においては省略が無いので、音声対話ロボット２０の発話においても「お元気ですか？」という省略が無い発話が関連付けられている。そして、この「お元気ですか？」という音声対話ロボット２０の発話に対して、さらに「元気です」「元気だ」「元気！」というような複数とおりの人間の発話が規定されている。これらの「元気です」「元気だ」「元気！」という発話群において、「元気です」という発話においては省略が無く、「元気だ」「元気！」という発話においては省略が有る。さらに、「元気！」における省略の量は「元気だ」における省略の量よりも多い。
【００２５】
また、最初の「こんにちは」という音声対話ロボット２０の発話に対して、人間が「こんちは」という発話を行った場合に、この人間の発話においては省略が有るので、音声対話ロボット２０の発話においても「元気か？」という省略が有る発話が関連付けられている。そして、この「元気か？」という音声対話ロボット２０の発話に対して、「元気です」「元気だ」「元気！」というような複数とおりの人間の発話が規定されている。これら「元気です」「元気だ」「元気！」という発話群において、「元気です」という発話においては省略が無く、「元気だ」「元気！」という発話においては省略が有る。
【００２６】
このように、シーケンスデータは、人間の発話において省略部分が有る場合と省略部分が無い場合とで分岐する分岐構造を持っている。よって、このようなシーケンスデータに従って音声対話ロボット２０の発話を制御することで、人間の発話における省略状態に応じて異なるシーケンスデータが実施されることになる。
【００２７】
図５は、制御装置１０の機能構成を示すブロック図である。制御装置１０は、取得部１１、検出部１２、選択部１３、記憶部１４及び制御部１５という各機能を実現する。取得部１１は制御装置１０の通信ＩＦ１０５によって実現され、検出部１２は制御装置１０のＣＰＵ１０１によって実現され、選択部１３は制御装置１０のＣＰＵ１０１によって実現され、記憶部１４は制御装置１０の補助記憶装置１０４によって実現され、制御部１５は制御装置１０のＣＰＵ１０１及び通信ＩＦ１０５によって実現される。
【００２８】
取得部１１は、外部（ここでは音声対話ロボット２０）から送信されてくる人間の音声データを、入力データとして取得する。記憶部１４は、図４に例示したような省略部分が有るデータと当該省略部分が無いデータとで少なくとも分岐する分岐構造を持つシーケンスデータを記憶する。検出部１２は、記憶部１４に記憶されたシーケンスデータと外部から取得された入力データとを比較して、入力データにおける省略状態を検出する。選択部１３は、記憶部１４の記憶内容を参照し、検出された省略状態に応じて、シーケンスデータにおいて分岐した発話データ群のうちのいずれかの発話データを選択する。制御部１５は、選択されたデータに応じた発話動作を音声対話ロボット２０に行わせるよう制御する。
【００２９】
［動作］
図６は制御装置１０の動作を示すフローチャートである。図６の処理は、音声対話ロボット２０がシーケンスデータで規定された最初の発話を行うことで開始される。つまり、シーケンスデータで規定された最初の発話データが制御装置１０から音声対話ロボット２０に送信され、音声対話ロボット２０がこの発話データに従ってスピーカ２０６から放音を行うことで発話する。この音声対話ロボット２０の発話に対して人間が応答する発話を行うと、音声対話ロボット２０のマイク２０７がこれを収音して、音声データとして制御装置１０に送信する。
【００３０】
制御装置１０の通信ＩＦ１０５（取得部１１）は、音声対話ロボット２０から送信されてくる音声データを入力データとして取得する（ステップＳ１１）。
【００３１】
制御装置１０のＣＰＵ１０１（検出部１２）は、外部から取得した入力データを所定の音声認識アルゴリズムによって音声認識し、その音声認識結果と、補助記憶装置１０４（記憶部１４）に記憶されたシーケンスデータとを比較して、入力データにおける省略状態を検出する（ステップＳ１２）。例えば図４の例において、人間の発話が「こんちは」であった場合、制御装置１０のＣＰＵ１０１（検出部１２）は、シーケンスデータにおける人間の発話である「こんにちは」に対して「に」が省略された「こんちは」が人間の発話であることを特定する。
【００３２】
制御装置１０のＣＰＵ１０１（選択部１３）は、補助記憶装置１０４（記憶部１４）の記憶内容を参照し、検出された省略状態に応じて、シーケンスデータにおいて分岐した音声対話ロボット２０の発話データ群のうちのいずれかの発話データを選択する（ステップＳ１３）。例えば図４の例示において、人間の発話が「こんちは」であった場合、「こんにちは」に対して「に」という文字の省略が有るから、その「に」が省略された「こんちは」に応じた発話である「元気か？」という発話データを選択する。
【００３３】
制御装置１０のＣＰＵ１０１及び通信ＩＤ１０５（制御部１５）は、選択された発話データに応じた動作を音声対話ロボット２０に行わせるよう制御する（ステップＳ１４）。つまり、制御装置１０のＣＰＵ１０１及び通信ＩＦ１０５（制御部１５）は、選択した発話データを音声対話ロボット２０に送信し、音声対話ロボット２０がこの発話データに従ってスピーカ２０６から放音を行うことで発話する。さらに、この音声対話ロボット２０の発話に対して人間が応答する発話を行うと、音声対話ロボット２０のマイク２０７がこれを収音して、音声データとして制御装置１０に送信する。以降、再びステップＳ１１の処理に戻り、上記のステップＳ１２〜ステップＳ１４の処理が繰り返される。
【００３４】
以上説明した実施形態においては、人間の発話とシーケンスデータにおいて規定されている発話とが比較され、その比較結果に応じて音声対話ロボット２０の発話が選択される。より具体的には、人間の発話においてシーケンスデータに規定されている発話のどこがどれだけ省略されているかが解析され、その省略状態に応じた発話が選択されて音声対話ロボット２０から出力される。これにより、音声対話ロボット２０の発話を人間の発話の省略状態に応じて変更することができ、両者において自然な対話が実現されることになる。
【００３５】
［変形例］
上述した実施形態は次のような変形が可能である。また、以下の変形例を互いに組み合わせて実施してもよい。
［変形例１］
本発明におけるシーケンスデータは、省略部分が有るデータと当該省略部分が無いデータとが論理的に分岐するような分岐構造を含むものであればよい。例えば、制御装置１０に記憶されているシーケンスデータは省略部分が無いシーケンスデータであり、制御装置１０がこのシーケンスデータに基づいて省略部分が有るデータと当該省略部分が無いデータとで論理的に分岐する分岐構造を都度生成するようにしてもよい。この場合、制御装置１０は、省略部分が無いシーケンスデータ、及び、このシーケンスデータに基づいて省略部分が有るデータと当該省略部分が無いデータとで論理的に分岐する分岐構造を都度生成するアルゴリズムデータを記憶しているから、これら記憶されているデータは、省略部分が有るデータと当該省略部分が無いデータとで論理的に分岐する分岐構造を含むデータと言える。制御装置１０は、入力データと、省略部分が有るデータと当該省略部分が無いデータとで少なくとも分岐する分岐構造を持つシーケンスデータとを比較して、入力データにおける省略状態を検出し、検出された省略状態に応じて、前記シーケンスデータにおいて分岐したデータ群のうちのいずれかのデータを選択する。
【００３６】
［変形例２］
本発明におけるシーケンスデータは、実施形態で例示したような人間及び音声対話ロボット２０の発話内容を示すデータに限らず、人間の動作に相当するデータ及び装置の動作に相当するデータであってもよい。例えば人間とロボットが舞台上で共演して演技や演劇を行うような場合に、人間及びロボットの舞台における動きや姿勢、表情或いは位置など、それぞれの動作を示す動作データをシーケンスデータとしてもよい。この場合、シーケンスデータは、人間の動作として省略部分が有る動作データと、人間の動作においてそのような省略部分が無い動作データとで少なくとも分岐する分岐構造を持っており、人間の動作の省略状態に応じて、このシーケンスデータにおいて分岐したデータ群のうちのいずれかの動作データが選択される。この場合において、装置は、実施形態のスピーカ２０６に代えて、装置自身を駆動する動作駆動装置を備え、実施形態のマイク２０７に代えて、人間の動作を撮像して認識するためのカメラを備える。
【００３７】
［変形例３］
省略状態という用語の意味には入力データにおける省略部分の位置が含まれており、人間の発話において検出された省略部分の位置に応じて、音声対話ロボット２０の発話が選択されてもよい。例えば人間の発話における省略位置と属性が同じ位置において音声対話ロボット２０の発話が省略される。例えば主語に相当する位置が省略された人間の発話に対しては、主語に相当する位置が省略された音声対話ロボットの発話で返答する。また、例えば目的語に相当する位置が省略された人間の発話に対しては、目的語に相当する位置が省略された音声対話ロボットの発話で返答する。また、例えば文末に相当する位置が省略された人間の発話に対しては、文末に相当する位置が省略された音声対話ロボットの発話で返答する。
【００３８】
［変形例４］
上記実施形態の説明に用いた図５のブロック図は機能単位のブロックを示している。これらの各機能ブロックは、ハードウェア及び／又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び／又は論理的に結合した１つの装置により実現されてもよいし、物理的及び／又は論理的に分離した２つ以上の装置を直接的及び／又は間接的に（例えば、有線及び／又は無線）で接続し、これら複数の装置により実現されてもよい。従って、本発明に係る制御装置は、実施形態で説明したようにそれぞれの機能の全てを一体に備えた装置によっても実現可能であるし、各機能を複数の装置に分散して実装したシステムであってもよい。また、上記実施形態で説明した処理の手順は、矛盾の無い限り、順序を入れ替えてもよい。実施形態で説明した方法については、例示的な順序で各ステップの要素を提示しており、提示した特定の順序に限定されない。
【００３９】
本発明は、制御装置が行う制御方法、或いは、制御装置としてコンピュータを機能させるためのプログラムといった形態でも実施が可能である。かかるプログラムは、光ディスク等の記録媒体に記録した形態で提供されたり、インターネット等の通信網を介して、コンピュータにダウンロードさせ、これをインストールして利用可能にするなどの形態で提供されたりすることが可能である。
【符号の説明】
【００４０】
１…対話制御システム、１０…制御装置、１１…取得部、１２…検出部、１３…選択部、１４…記憶部、１５…制御部、２０…音声対話ロボット、９０…通信網、１０１…ＣＰＵ、１０２…ＲＡＭ、１０３…ＲＯＭ、１０４…補助記憶装置、１０５…通信ＩＦ、２０１…ＣＰＵ、２０２…ＲＡＭ、２０３…ＲＯＭ、２０４…補助記憶装置、２０５…通信ＩＦ、２０６…スピーカ、２０７…マイク。
【図１】
2018155896.tif 000003
【図２】
2018155896.tif 000004
【図３】
2018155896.tif 000005
【図４】
2018155896.tif 000006
【図５】
2018155896.tif 000007
【図６】
2018155896.tif 000008