特許第6819383号(P6819383)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤマハ株式会社の特許一覧

<>
  • 特許6819383-制御方法及び制御装置 図000002
  • 特許6819383-制御方法及び制御装置 図000003
  • 特許6819383-制御方法及び制御装置 図000004
  • 特許6819383-制御方法及び制御装置 図000005
  • 特許6819383-制御方法及び制御装置 図000006
  • 特許6819383-制御方法及び制御装置 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6819383
(24)【登録日】2021年1月6日
(45)【発行日】2021年1月27日
(54)【発明の名称】制御方法及び制御装置
(51)【国際特許分類】
   G10L 15/22 20060101AFI20210114BHJP
   G10L 13/08 20130101ALI20210114BHJP
【FI】
   G10L15/22 300Z
   G10L13/08 122
【請求項の数】6
【全頁数】10
(21)【出願番号】特願2017-52316(P2017-52316)
(22)【出願日】2017年3月17日
(65)【公開番号】特開2018-155896(P2018-155896A)
(43)【公開日】2018年10月4日
【審査請求日】2020年1月24日
(73)【特許権者】
【識別番号】000004075
【氏名又は名称】ヤマハ株式会社
(74)【代理人】
【識別番号】110000752
【氏名又は名称】特許業務法人朝日特許事務所
(72)【発明者】
【氏名】前澤 陽
(72)【発明者】
【氏名】田邑 元一
【審査官】 山下 剛史
(56)【参考文献】
【文献】 特開2002−287793(JP,A)
【文献】 特開2001−209820(JP,A)
【文献】 特開2010−102163(JP,A)
【文献】 特開2016−114395(JP,A)
【文献】 中川滋雄他,対話型アニメーションのシナリオデータモデル,情報処理学会第49回(平成6年後期)全国大会講演論文集(2),1994年 9月,p.371-372
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/00−15/34
(57)【特許請求の範囲】
【請求項1】
外部から取得した入力データと、省略部分が有るデータと当該省略部分が無いデータとで少なくとも分岐する分岐構造を持つシーケンスデータとを比較して、当該入力データにおける省略状態を検出する検出ステップと、
検出された省略状態に応じて、前記シーケンスデータにおいて分岐したデータ群のうちのいずれかのデータを選択する選択ステップと
を備えることを特徴とする制御方法。
【請求項2】
前記検出ステップにおいて、前記入力データにおける省略部分の位置を検出し、
前記選択ステップにおいて、検出された省略部分の位置に応じて前記データを選択する
ことを特徴とする請求項1に記載の制御方法。
【請求項3】
前記検出ステップにおいて、前記入力データにおける省略部分の量を検出し、
前記選択ステップにおいて、検出された省略部分の量に応じて前記データを選択する
ことを特徴とする請求項1又は2に記載の制御方法。
【請求項4】
前記シーケンスデータは、人間の動作に相当するデータ及び装置の動作に相当するデータを含む
ことを特徴とする請求項1〜3のいずれか1項に記載の制御方法。
【請求項5】
前記選択ステップにおいて、検出された省略状態に応じて、前記装置の動作に相当するデータを選択し、
さらに、選択されたデータに応じた動作を前記装置に行わせるよう制御する制御ステップを備えることを特徴とする請求項4に記載の制御方法。
【請求項6】
外部から取得した入力データと、省略部分が有るデータと当該省略部分が無いデータとで少なくとも分岐する分岐構造を持つシーケンスデータとを比較して、当該入力データにおける省略状態を検出する検出部と、
検出された省略状態に応じて、前記シーケンスデータにおいて分岐したデータ群のうちのいずれかのデータを選択する選択部と
を備えることを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シーケンスデータに沿った実施を制御するための制御方法及び制御装置に関する。
【背景技術】
【0002】
音声対話装置が人間と音声対話する方式として、予め定められたシナリオに従って音声対話装置が順次発話することにより対話を進める方式がある。例えば音声対話装置がユーザに質問し、これに対するユーザの返答に応じて音声対話装置がさらに応答するという処理を繰り返すことにより、両者の対話が進められる。例えば特許文献1には、ユーザの発話を音声認識した結果に基づき、予め与えられたシナリオに従ってユーザとの対話を制御すると共に、必要に応じてユーザの発話内容に応じた応答文を生成し、再生したシナリオの一文又は生成した応答文を音声合成処理するようにした仕組みが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−287016号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、人間同士の対話においては、例えば主語や目的語或いは文末等が適宜省略される場合がある。このような省略部分を含む発話に対して、全く省略部分が無い応答を返すという対話は、特別な場合を除き、違和感があり不自然である。
【0005】
そこで、本発明は、例えば発話内容が時系列で連なっているようなシーケンスデータに沿った実施がなされる場合において省略があったときに、その省略に応じてシーケンスデータの実施を変更することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明は、外部から取得した入力データと、省略部分が有るデータと当該省略部分が無いデータとで少なくとも分岐する分岐構造を持つシーケンスデータとを比較して、当該入力データにおける省略状態を検出する検出ステップと、検出された省略状態に応じて、前記シーケンスデータにおいて分岐したデータ群のうちのいずれかのデータを選択する選択ステップとを備えることを特徴とする制御方法を提供する。
【0007】
前記検出ステップにおいて、前記入力データにおける省略部分の位置を検出し、前記選択ステップにおいて、検出された省略部分の位置に応じて前記データを選択するようにしてもよい。
【0008】
前記検出ステップにおいて、前記入力データにおける省略部分の量を検出し、前記選択ステップにおいて、検出された省略部分の量に応じて前記データを選択するようにしてもよい。
【0009】
前記シーケンスデータは、人間の動作に相当するデータ及び装置の動作に相当するデータを含むようにしてもよい。
【0010】
前記選択ステップにおいて、検出された省略状態に応じて、前記装置の動作に相当するデータを選択し、さらに、選択されたデータに応じた動作を前記装置に行わせるよう制御する制御ステップを備えるようにしてもよい。
【0011】
また、本発明は、外部から取得した入力データと、省略部分が有るデータと当該省略部分が無いデータとで少なくとも分岐する分岐構造を持つシーケンスデータとを比較して、当該入力データにおける省略状態を検出する検出部と、検出された省略状態に応じて、前記シーケンスデータにおいて分岐したデータ群のうちのいずれかのデータを選択する選択部とを備えることを特徴とする制御装置を提供する。
【0012】
また、本発明は、コンピュータが、外部から取得した入力データと、省略部分が有るデータと当該省略部分が無いデータとで少なくとも分岐する分岐構造を持つシーケンスデータとを比較して、当該入力データにおける省略状態を検出する検出部と、検出された省略状態に応じて、前記シーケンスデータにおいて分岐したデータ群のうちのいずれかのデータを選択する選択部として機能するためのプログラムを提供する。
【発明の効果】
【0013】
本発明によれば、シーケンスデータに沿った実施がなされる場合において省略があったときに、その省略に応じてシーケンスデータの実施を変更することができる。
【図面の簡単な説明】
【0014】
図1】本発明の一実施形態に係る対話制御システムの全体構成を示すブロック図である。
図2】音声対話ロボットの電気的なハードウェア構成を示すブロック図である。
図3】制御装置の電気的なハードウェア構成を示すブロック図である。
図4】制御装置が記憶しているシーケンスデータの一例を示す図である。
図5】制御装置の機能構成を示すブロック図である。
図6】制御装置の動作を示すフローチャートである。
【発明を実施するための形態】
【0015】
[構成]
図1は、本発明の一実施形態に係る対話制御システムの全体構成を示すブロック図である。対話制御システム1は、制御装置10と、音声対話ロボット20と、制御装置10及び音声対話ロボット20を通信可能に接続する通信網90とを備えている。通信網90は、無線通信規格に従う無線通信区間又は有線通信規格に従う有線通信区間の少なくともいずれか一方を含むネットワークである。音声対話ロボット20は、例えば人間や動物の姿を模した外観を有しており、制御装置10による制御に従って人間と対話を行う音声対話装置である。
【0016】
図2は、音声対話ロボット20のハードウェア構成を例示した図である。音声対話ロボット20は、CPU201(Central Processing Unit)、ROM(Read Only Memory)202、RAM(Random Access Memory)203、補助記憶装置204、通信IF205、スピーカ206及びマイク207を有するコンピュータ装置である。CPU201は、各種の演算を行うプロセッサである。RAM203は、CPU201がプログラムを実行する際のワークエリアとして機能する揮発性メモリである。ROM202は、例えば音声対話ロボット20aの起動に用いられるプログラム及びデータを記憶した不揮発性メモリである。補助記憶装置204は、例えばHDD(Hard Disk Drive)又はSSD(Solid State Drive)等の不揮発性の記憶装置であり、音声対話ロボット20において用いられるプログラム及びデータを記憶する。CPU201がこのプログラムを実行することにより、音声対話ロボット20の動作を制御する。通信IF205は、通信網90を介して制御装置10と通信を行う。スピーカ206は、制御装置10から送信されてくる制御データに従って、人間に対して放音する発話手段である。マイク207は、音声対話ロボット20と対話する人間の音声を収音する収音手段である。
【0017】
図3は、制御装置10のハードウェア構成を例示する図である。制御装置10は、CPU101、ROM102、RAM103、補助記憶装置104、及び通信IF105を有するコンピュータ装置である。CPU101は、各種の演算を行うプロセッサである。RAM103は、CPU101がプログラムを実行する際のワークエリアとして機能する揮発性メモリある。ROM102は、例えば制御装置10の起動に用いられるプログラム及びデータを記憶した不揮発性メモリである。補助記憶装置104は、例えばHDD又はSSD等の不揮発性の記憶装置であり、制御装置10において用いられるプログラム及びデータを記憶する。CPU101がこのプログラムを実行することにより、後述する図5に示される機能が実現される。通信IF105は、通信網90を介して音声対話ロボット20と通信を行う。
【0018】
本実施形態においては、予め定められたシナリオに従って音声対話ロボット20が順次発話することにより人間との対話を進める、という対話方式を採用している。例えば音声対話ロボット20が人間に質問し、これに対する人間の返答に応じて音声対話ロボット20がさらに応答する処理を繰り返すことにより、両者の対話が進められる。
【0019】
人間の発話は、予め作成されたシナリオにおいて想定される発話に比べると、その一部が省略されることが考えられる。このように人間の発話の一部が省略されたときに、音声対話ロボットだけがシナリオどおりに省略が無い発話を行うと、人間と音声対話ロボットとの対話に違和感や不自然さが生じてしまう。そこで、本実施形態では、シナリオで規定されている人間の発話部分において省略状態が記述されている。具体的には、隠れマルコフモデルを用いて、人間と音声対話ロボットとの間で連続する発話を確率的に状態遷移する有限状態オートマトンと想定し、人間の発話の省略状態に応じて音声対話ロボットの発話が複数とおりに分岐するような状態遷移を考える。
【0020】
以上のことを前提として、補助記憶装置104は、音声対話ロボット20の発話と人間の発話とが時系列に交互に繰り返されるように連ねたシーケンスデータを記憶している。このシーケンスデータは、人間の発話に応じて音声対話ロボットの発話が複数とおりに分岐する分岐構造を有する。この分岐構造は、省略部分が有るデータと省略部分が無いデータとで少なくとも分岐している。
【0021】
図4は、制御装置10の補助記憶装置104が記憶しているシーケンスデータの一例を示す図である。このシーケンスデータは、人間及び音声対話ロボットの発話データの集合である。このシーケンスデータにおいては、人間の発話データと音声対話ロボットの発話データとが時系列に交互に関連付けられた、いわゆるリンク構造となっており、このリンクの順序に従って発話の制御が進行する。図4では、例えば音声対話ロボット20による「こんにちは」という発話から右側に進む方向で人間との対話が始まる例を想定している。さらに、図4の例では、まず最初に人間及び音声対話ロボット間での挨拶に関する対話のシナリオがあり、次にお互いの趣味についての対話のシナリオがあり、というように、話題として一定のまとまりのある複数のシナリオが時系列に遷移していくようなケースを想定している。例えばシナリオAがシナリオBとシナリオCに分岐したあとにシナリオDに戻る、というように、各シナリオが時系列にどのように遷移していくかということは、シーケンスデータの設計者が任意に設計可能である。
【0022】
図4の例においては、最初の「こんにちは」という音声対話ロボット20の発話に対して、「こんにちは」「こんちは」「ちは」・・・「おう!」・・・「あれ?久しぶり」・・・というような、複数とおりの人間の発話が規定されている。ここで、「こんにちは」「こんちは」「ちは」という発話群において、「こんにちは」という発話においては省略が無く、「こんちは」「ちは」という発話においては省略が有る。また、「ちは」における省略の量は「こんちは」における省略の量よりも多い。そして、「こんにちは」という省略が無い人間の発話に対しては、「お元気ですか?」という省略の無い音声対話ロボット20の発話が関連付けられており、「こんちは」という省略が少ない人間の発話に対しては、「元気か?」という省略の少ない音声対話ロボット20の発話が関連付けられており、「ちは!」という省略が多い人間の発話に対しては、「元気?」という省略の多い音声対話ロボット20の発話が関連付けられている。
【0023】
このように、シーケンスデータにおいては、人間の発話の省略状態に応じて、音声対話ロボット20の省略状態の異なる発話が複数とおりに分岐している。この省略状態という用語の意味には、省略された部分が有るか否かということに加え、省略された部分が有る場合にその省略された部分の量という意味が含まれており、人間の発話において検出された省略部分の量に応じて、音声対話ロボット20の発話における省略部分の量が規定される。例えば人間の発話において省略量が多い場合には、音声対話ロボット20の発話においても省略量が多い発話が規定され、人間の発話において省略量が少ない場合には、音声対話ロボット20の発話においても省略量が少ない発話が規定されている。
【0024】
ここで、最初の「こんにちは」という音声対話ロボット20の発話に対して、人間が「こんにちは」という発話を行った場合に、この人間の発話においては省略が無いので、音声対話ロボット20の発話においても「お元気ですか?」という省略が無い発話が関連付けられている。そして、この「お元気ですか?」という音声対話ロボット20の発話に対して、さらに「元気です」「元気だ」「元気!」というような複数とおりの人間の発話が規定されている。これらの「元気です」「元気だ」「元気!」という発話群において、「元気です」という発話においては省略が無く、「元気だ」「元気!」という発話においては省略が有る。さらに、「元気!」における省略の量は「元気だ」における省略の量よりも多い。
【0025】
また、最初の「こんにちは」という音声対話ロボット20の発話に対して、人間が「こんちは」という発話を行った場合に、この人間の発話においては省略が有るので、音声対話ロボット20の発話においても「元気か?」という省略が有る発話が関連付けられている。そして、この「元気か?」という音声対話ロボット20の発話に対して、「元気です」「元気だ」「元気!」というような複数とおりの人間の発話が規定されている。これら「元気です」「元気だ」「元気!」という発話群において、「元気です」という発話においては省略が無く、「元気だ」「元気!」という発話においては省略が有る。
【0026】
このように、シーケンスデータは、人間の発話において省略部分が有る場合と省略部分が無い場合とで分岐する分岐構造を持っている。よって、このようなシーケンスデータに従って音声対話ロボット20の発話を制御することで、人間の発話における省略状態に応じて異なるシーケンスデータが実施されることになる。
【0027】
図5は、制御装置10の機能構成を示すブロック図である。制御装置10は、取得部11、検出部12、選択部13、記憶部14及び制御部15という各機能を実現する。取得部11は制御装置10の通信IF105によって実現され、検出部12は制御装置10のCPU101によって実現され、選択部13は制御装置10のCPU101によって実現され、記憶部14は制御装置10の補助記憶装置104によって実現され、制御部15は制御装置10のCPU101及び通信IF105によって実現される。
【0028】
取得部11は、外部(ここでは音声対話ロボット20)から送信されてくる人間の音声データを、入力データとして取得する。記憶部14は、図4に例示したような省略部分が有るデータと当該省略部分が無いデータとで少なくとも分岐する分岐構造を持つシーケンスデータを記憶する。検出部12は、記憶部14に記憶されたシーケンスデータと外部から取得された入力データとを比較して、入力データにおける省略状態を検出する。選択部13は、記憶部14の記憶内容を参照し、検出された省略状態に応じて、シーケンスデータにおいて分岐した発話データ群のうちのいずれかの発話データを選択する。制御部15は、選択されたデータに応じた発話動作を音声対話ロボット20に行わせるよう制御する。
【0029】
[動作]
図6は制御装置10の動作を示すフローチャートである。図6の処理は、音声対話ロボット20がシーケンスデータで規定された最初の発話を行うことで開始される。つまり、シーケンスデータで規定された最初の発話データが制御装置10から音声対話ロボット20に送信され、音声対話ロボット20がこの発話データに従ってスピーカ206から放音を行うことで発話する。この音声対話ロボット20の発話に対して人間が応答する発話を行うと、音声対話ロボット20のマイク207がこれを収音して、音声データとして制御装置10に送信する。
【0030】
制御装置10の通信IF105(取得部11)は、音声対話ロボット20から送信されてくる音声データを入力データとして取得する(ステップS11)。
【0031】
制御装置10のCPU101(検出部12)は、外部から取得した入力データを所定の音声認識アルゴリズムによって音声認識し、その音声認識結果と、補助記憶装置104(記憶部14)に記憶されたシーケンスデータとを比較して、入力データにおける省略状態を検出する(ステップS12)。例えば図4の例において、人間の発話が「こんちは」であった場合、制御装置10のCPU101(検出部12)は、シーケンスデータにおける人間の発話である「こんにちは」に対して「に」が省略された「こんちは」が人間の発話であることを特定する。
【0032】
制御装置10のCPU101(選択部13)は、補助記憶装置104(記憶部14)の記憶内容を参照し、検出された省略状態に応じて、シーケンスデータにおいて分岐した音声対話ロボット20の発話データ群のうちのいずれかの発話データを選択する(ステップS13)。例えば図4の例示において、人間の発話が「こんちは」であった場合、「こんにちは」に対して「に」という文字の省略が有るから、その「に」が省略された「こんちは」に応じた発話である「元気か?」という発話データを選択する。
【0033】
制御装置10のCPU101及び通信ID105(制御部15)は、選択された発話データに応じた動作を音声対話ロボット20に行わせるよう制御する(ステップS14)。つまり、制御装置10のCPU101及び通信IF105(制御部15)は、選択した発話データを音声対話ロボット20に送信し、音声対話ロボット20がこの発話データに従ってスピーカ206から放音を行うことで発話する。さらに、この音声対話ロボット20の発話に対して人間が応答する発話を行うと、音声対話ロボット20のマイク207がこれを収音して、音声データとして制御装置10に送信する。以降、再びステップS11の処理に戻り、上記のステップS12〜ステップS14の処理が繰り返される。
【0034】
以上説明した実施形態においては、人間の発話とシーケンスデータにおいて規定されている発話とが比較され、その比較結果に応じて音声対話ロボット20の発話が選択される。より具体的には、人間の発話においてシーケンスデータに規定されている発話のどこがどれだけ省略されているかが解析され、その省略状態に応じた発話が選択されて音声対話ロボット20から出力される。これにより、音声対話ロボット20の発話を人間の発話の省略状態に応じて変更することができ、両者において自然な対話が実現されることになる。
【0035】
[変形例]
上述した実施形態は次のような変形が可能である。また、以下の変形例を互いに組み合わせて実施してもよい。
[変形例1]
本発明におけるシーケンスデータは、省略部分が有るデータと当該省略部分が無いデータとが論理的に分岐するような分岐構造を含むものであればよい。例えば、制御装置10に記憶されているシーケンスデータは省略部分が無いシーケンスデータであり、制御装置10がこのシーケンスデータに基づいて省略部分が有るデータと当該省略部分が無いデータとで論理的に分岐する分岐構造を都度生成するようにしてもよい。この場合、制御装置10は、省略部分が無いシーケンスデータ、及び、このシーケンスデータに基づいて省略部分が有るデータと当該省略部分が無いデータとで論理的に分岐する分岐構造を都度生成するアルゴリズムデータを記憶しているから、これら記憶されているデータは、省略部分が有るデータと当該省略部分が無いデータとで論理的に分岐する分岐構造を含むデータと言える。制御装置10は、入力データと、省略部分が有るデータと当該省略部分が無いデータとで少なくとも分岐する分岐構造を持つシーケンスデータとを比較して、入力データにおける省略状態を検出し、検出された省略状態に応じて、前記シーケンスデータにおいて分岐したデータ群のうちのいずれかのデータを選択する。
【0036】
[変形例2]
本発明におけるシーケンスデータは、実施形態で例示したような人間及び音声対話ロボット20の発話内容を示すデータに限らず、人間の動作に相当するデータ及び装置の動作に相当するデータであってもよい。例えば人間とロボットが舞台上で共演して演技や演劇を行うような場合に、人間及びロボットの舞台における動きや姿勢、表情或いは位置など、それぞれの動作を示す動作データをシーケンスデータとしてもよい。この場合、シーケンスデータは、人間の動作として省略部分が有る動作データと、人間の動作においてそのような省略部分が無い動作データとで少なくとも分岐する分岐構造を持っており、人間の動作の省略状態に応じて、このシーケンスデータにおいて分岐したデータ群のうちのいずれかの動作データが選択される。この場合において、装置は、実施形態のスピーカ206に代えて、装置自身を駆動する動作駆動装置を備え、実施形態のマイク207に代えて、人間の動作を撮像して認識するためのカメラを備える。
【0037】
[変形例3]
省略状態という用語の意味には入力データにおける省略部分の位置が含まれており、人間の発話において検出された省略部分の位置に応じて、音声対話ロボット20の発話が選択されてもよい。例えば人間の発話における省略位置と属性が同じ位置において音声対話ロボット20の発話が省略される。例えば主語に相当する位置が省略された人間の発話に対しては、主語に相当する位置が省略された音声対話ロボットの発話で返答する。また、例えば目的語に相当する位置が省略された人間の発話に対しては、目的語に相当する位置が省略された音声対話ロボットの発話で返答する。また、例えば文末に相当する位置が省略された人間の発話に対しては、文末に相当する位置が省略された音声対話ロボットの発話で返答する。
【0038】
[変形例4]
上記実施形態の説明に用いた図5のブロック図は機能単位のブロックを示している。これらの各機能ブロックは、ハードウェア及び/又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び/又は論理的に結合した1つの装置により実現されてもよいし、物理的及び/又は論理的に分離した2つ以上の装置を直接的及び/又は間接的に(例えば、有線及び/又は無線)で接続し、これら複数の装置により実現されてもよい。従って、本発明に係る制御装置は、実施形態で説明したようにそれぞれの機能の全てを一体に備えた装置によっても実現可能であるし、各機能を複数の装置に分散して実装したシステムであってもよい。また、上記実施形態で説明した処理の手順は、矛盾の無い限り、順序を入れ替えてもよい。実施形態で説明した方法については、例示的な順序で各ステップの要素を提示しており、提示した特定の順序に限定されない。
【0039】
本発明は、制御装置が行う制御方法、或いは、制御装置としてコンピュータを機能させるためのプログラムといった形態でも実施が可能である。かかるプログラムは、光ディスク等の記録媒体に記録した形態で提供されたり、インターネット等の通信網を介して、コンピュータにダウンロードさせ、これをインストールして利用可能にするなどの形態で提供されたりすることが可能である。
【符号の説明】
【0040】
1…対話制御システム、10…制御装置、11…取得部、12…検出部、13…選択部、14…記憶部、15…制御部、20…音声対話ロボット、90…通信網、101…CPU、102…RAM、103…ROM、104…補助記憶装置、105…通信IF、201…CPU、202…RAM、203…ROM、204…補助記憶装置、205…通信IF、206…スピーカ、207…マイク。
図1
図2
図3
図4
図5
図6