(57)【要約】      （修正有）【課題】エンドユーザが直接、知能ロボットのアプリケーションを編集し易くし、ロボットの適用範囲を広げることができる知能ロボットシステム及びプログラムを提供する。【解決手段】知能ロボットシステムは、少なくとも音声対話モジュールを含み、ロボットの知的振る舞いの手順を示すワークフローを格納する格納領域と、ワークフローの編集を可能にするワークフローエディタシステムと、当該ワークフローエディタシステムの処理内容をユーザに表示するモニタと、を備える。ワークフローエディタシステムの作動時にモニタには、ワークフローを構成する各プロセスが互いに関連付けられて表示され、音声対話に関連するプロセスを示す領域には、当該音声対話プロセス実行時におけるロボットの発話内容が表示用文字列として表示される。【選択図】図３
2019036029.tif 000002
【特許請求の範囲】
【請求項１】
ＲＯＳを用いた知能ロボットシステムであって、
少なくとも音声対話モジュールを含み、ロボットの知的振る舞いの手順を示すワークフローを格納するワークフロー格納部と、
当該ワークフロー格納部に格納された前記ワークフローの編集を可能にするワークフローエディタシステムと、
当該ワークフローエディタシステムの処理内容をユーザに表示するディスプレイ部と、を備え、
前記ワークフローエディタシステムの作動時に前記ディスプレイ部には、前記ワークフローを構成する各プロセスが互いに関連付けられて表示され、
音声対話に関連するプロセスを示す領域には、当該音声対話プロセス実行時におけるロボットの発話内容が表示用文字列として表示されることを特徴とする、ＲＯＳを用いた知能ロボットシステム。
【請求項２】
前記ワークフローエディタシステムの作動時に前記ディスプレイ部には、
前記音声対話に関連するプロセスと関連付けられ、ロボットの発話内容を示す定数文字列モジュールが表示され、当該定数文字列モジュールには、当該定数文字列モジュールに関連付けられたプロセスの表示用文字列の宛先が表示されている、
請求項１に記載のＲＯＳを用いた知能ロボットシステム。
【請求項３】
前記ワークフローエディタシステムの作動時に前記ディスプレイには、前記ワークフローに関連する複数のアクターに応じて分割されたアクター領域が表示され、
前記ワークフローを構成する各プロセスを示す領域は、当該プロセスを担当するアクターに応じたアクター領域内に表示されている、請求項１又は２に記載のＲＯＳを用いた知能ロボットシステム。
【請求項４】
前記プロセスを示す領域は、プロセスが実行される順に前記アクター領域内に表示される、請求項３に記載のＲＯＳを用いた知能ロボットシステム。
【請求項５】
前記ワークフローのうち、少なくとも一部のプロセスに状況に応じたルールが設定されているビジネスルールを格納するビジネスルール格納部と、
周辺の人物の属性を検出する画像センシング部と、を備え、
状況に応じたルールが設定されている前記プロセスは、前記画像センシング部で検出された前記人物の属性に関連するルールを条件部に含んで構成されている、請求項１乃至４の何れか１項に記載のＲＯＳを用いた知能ロボットシステム。
【請求項６】
ＲＯＳを用いた知能ロボットシステムに用いられるプログラムであって、
前記知能ロボットシステムは、
少なくとも音声対話モジュールを含み、ロボットの知的振る舞いの手順を示すワークフローを格納するワークフロー格納部と、
当該ワークフロー格納部に格納された前記ワークフローの編集を可能にするワークフローエディタシステムと、
当該ワークフローエディタシステムの処理内容をユーザに表示するディスプレイ部と、を備えるものであり、
前記プログラムは、
ＣＰＵにより実行され前記ワークフローエディタシステムを制御するためのエディタドライバを備え、
当該エディタドライバは、前記ＣＰＵに、前記ワークフロー格納部に格納された前記ワークフローを読み出させ、前記ディスプレイ部に前記ワークフローエディターシステムによる前記ワークフローの編集画面を表示させるように構成されており、
前記ワークフローエディタシステムの作動時に前記ディスプレイ部には、前記ワークフローを構成する各プロセスが互いに関連付けられて表示され、
音声対話に関連するプロセスを示す領域には、当該音声対話プロセス実行時におけるロボットの発話内容が表示用文字列として表示される、ＲＯＳを用いた知能ロボットシステムに用いられるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、知能ロボットシステム及びこのようなシステムにおいて用いられるプログラムに関する。
【背景技術】
【０００２】
従来から、ＲＯＳ（Ｒｏｂｏｔ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）及び人工知能・知能ロボットアプリケーションを利用してロボットに対して所望の会話、動作等を行わせる研究開発が行われている（例えば、非特許文献１）。近年では、人工知能・ロボットアプリケーションを用いて自動車の自動運転技術やクイズ人工知能が開発されている。しかしながら、これらの技術はいずれもロボットの自律的動作である動作知能又は特定知能を対象とするものであり、その応用範囲はアプリケーションの開発段階で開発者が意図した範囲内に限られており、かつ、その開発はAI技術者に委ねられている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Tenorth,M. et al., “KnowRob: A knowl-edge processing infrastructure for cognition-enabled robots”, International Journal of Robotics Research, Vol. 32, No. 5, pp. 566{590 (2013)
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、上述した従来技術の課題を解決するためになされたものであり、エンドユーザが直接、知能ロボットのアプリケーションを編集し易くし、ロボットの適用範囲を広げることができる知能知能ロボットシステム及びこのシステムにおいて用いられるプログラムを自動生成することを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決するために、本発明は、ＲＯＳを用いた知能ロボットシステムであって、少なくとも音声対話モジュールを含み、ロボットの知的振る舞いの手順を示すワークフローを格納するワークフロー格納部と、当該ワークフロー格納部に格納されたワークフローの編集を可能にするワークフローエディタシステムと、当該ワークフローエディタシステムの処理内容をユーザに表示するディスプレイ部と、を備え、ワークフローエディタシステムの作動時にディスプレイ部には、ワークフローを構成する各プロセスが互いに関連付けられて表示され、音声対話に関連するプロセスを示す領域には、当該音声対話に関連するプロセスの内容と、当該音声対話プロセス実行時におけるロボットの発話内容とが表示用文字列として表示されることを特徴とする。
【０００６】
このように構成された本発明によれば、音声対話に関連するプロセスを示す領域に、音声対話に関連するプロセスの内容に加えて、音声対話プロセス実行時のロボットの発話内容を同時に表示することができる。これにより、ワークフローの編集時に、プロセス実行時の発話内容を参照することができ、編集時にワークフローを見易くすることができる。
【０００７】
また、本発明において好ましくは、ワークフローエディタシステムの作動時にディスプレイ部には、音声対話に関連するプロセスと関連付けられ、ロボットの発話内容を示す定数文字列モジュールが表示され、当該定数文字列モジュールには、当該定数文字列モジュールに関連付けられたプロセスの表示用文字列の宛先が表示されている。
【０００８】
このように構成された本発明によれば、ワークフローを見易くしたまま、ロボットの発話内容を容易に確認しにいくことができる。
【０００９】
また、本発明において好ましくは、ワークフローエディタシステムの作動時にディスプレイには、ワークフローに関連する複数のアクターに応じて分割されたアクター領域が表示され、ワークフローを構成する各プロセスを示す領域は、当該プロセスを担当するアクターに応じたアクター領域内に表示されている。
【００１０】
このように構成された本発明によれば、プロセスを示す領域を、アクターに対応するアクター領域内に表示することができる。これにより、各アクターに関連するプロセスを容易に判別することができ、ワークフローの編集時に各アクターに割り振られたプロセスを容易に把握することができる。またこのようにアクター毎にプロセスを分類して表示することにより、例えば人間のアクターに関連するプロセスをも表示することができ、これによりワークフローの編集時に、プロセス全体を把握しながら編集を行うことができる。
【００１１】
この場合において、プロセスを示す領域は、プロセスが実行される順にアクター領域内に表示されることが好ましい。
【００１２】
また、本発明において好ましくは、ワークフローのうち、少なくとも一部のプロセスに状況に応じたルールが設定されているビジネスルールを格納するビジネスルール格納部と、周辺の人物の属性を検出する画像センシング部と、を備え、状況に応じたルールが設定されているプロセスは、画像センシング部で検出された人物の属性に関連するルールを条件部に含んで構成されている。
【００１３】
このように構成された本発明によれば、ビジネスルールに、画像センシング部で検出された人物の属性に関するルールを含ませることができる。これにより、ワークフロー中に、人物の属性に関する判断を含ませることができる。
【００１４】
また、上述した課題を解決するために、本発明は、ＲＯＳを用いた知能ロボットシステムに用いられるプログラムであって、知能ロボットシステムは、少なくとも音声対話モジュールを含み、ロボットの知的振る舞いの手順を示すワークフローを格納するワークフロー格納部と、当該ワークフロー格納部に格納されたワークフローの編集を可能にするワークフローエディタシステムと、当該ワークフローエディタシステムの処理内容をユーザに表示するディスプレイ部と、を備えるものであり、プログラムは、ＣＰＵにより実行されワークフローエディタシステムを制御するためのエディタドライバを備え、当該エディタドライバは、ＣＰＵに、ワークフロー格納部に格納されたワークフローを読み出させ、ディスプレイ部にワークフローエディターシステムによるワークフローの編集画面を表示させるように構成されており、ワークフローエディタシステムの作動時にディスプレイ部には、ワークフローを構成する各プロセスが互いに関連付けられて表示され、音声対話に関連するプロセスを示す領域には、当該音声対話に関連するプロセスの内容と、当該音声対話プロセス実行時におけるロボットの発話内容とが表示用文字列として表示されることを特徴としている。
【００１５】
このように構成された本発明によれば、音声対話に関連するプロセスを示す領域に、音声対話プロセス実行時のロボットの発話内容を表示することができる。これにより、ワークフローの編集時に、プロセス実行時の発話内容を参照することができ、編集時にワークフローを見易くすることができる。
【発明の効果】
【００１６】
以上のように本発明によれば、エンドユーザが直接、知能ロボットのアプリケーションを編集し易くし、ロボットの適用範囲を広げることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態による知能ロボットシステムのハードウェア構成を示すブロック図である。
【図２】本発明の実施形態による知能ロボットシステムのシステム構造を示すブロック図である。
【図３】本発明の実施形態による知能ロボットシステムのワークフローを示すフロー図である。
【図４】本発明の実施形態による知能ロボットシステムのワークフローの一部のプロセスを示すフロー図である。
【図５】本発明の実施形態によるシナリオエディタの操作画面の一例を示す図である。
【図６】本発明の実施例１によるクイズモジュール作成時のワークフローエディタの編集画面を示す図である。
【図７】本発明の実施例１によるクイズモジュール作成時のワークフローエディタの編集画面を示す図である。
【図８】図７に示すワークフローをシナリオエディタで表示した画面を示す図である。
【図９】本発明の実施例１によるアクター及び道具クラスの階層構造を示す図である。
【図１０】実施例１における、オントロジーとルールベースに基づくタブレットクイズシステムの構成図である。
【図１１】実施例１において使用したインスタンスのクラス階層を示す。
【図１２】実施例１において使用したインスタンスネットワークのブロック図である。
【図１３】実施例１において使用したインスタンスネットワークのブロック図である。
【図１４】本発明の実施例２によるロボット喫茶店のシステム構成図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態について詳述する。以下の実施形態は、いわゆるＰＲＩＮＴＥＰＳ（Ｐｒａｃｔｉｃａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ  Ａｐｐｌｉｃａｔｉｏｎｓ）を用いた例に関するものである。ＰＲＩＮＴＥＰＳとは、知識推論、音声対話、人と物体の画像センシング、動作、機械学習を要素技術として、アプリケーションの開発者ではなく、実際にロボットを使用するエンドユーザがその用途・目的に応じて直接知能アプリケーションを開発するための総合知能アプリケーションプラットフォームをいう。図１は、本発明の実施形態による知能ロボットシステムのハードウェア構成を示すブロック図である。
【００１９】
図１に示すように、知能ロボットシステムは、モニター１等の情報表示手段及びキーボードとマウス３等の情報入力手段に接続された情報処理装置５を備えている。
【００２０】
情報処理装置５は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１５と、入出力インターフェース１７と、記憶部１９とを備えている。
【００２１】
ＣＰＵ１１は、記憶部１９からＲＡＭ１３にロードされたプログラムに従って各種の処理を実行する。ＲＡＭ１３には、ＣＰＵ１１が各種の処理を実行する上において必要なデータ等も適宜記憶される。ＣＰＵ１１、ＲＡＭ１５は、バスを介して相互に接続されている。このバスにはまた、入出力インターフェース１７も接続されている。入出力インターフェース１７には、記憶部１９、及びドライブ２１が接続されている。記憶部１９は、ハードディスク或いはＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、各種画像のデータを記憶する。そして一つの実施形態にかかるプログラムは、ＲＡＭ１５上のメモリ領域を使用しながら、例えばキーボードとマウス３から入力された情報を利用してＣＰＵ１１に各種演算処理を実行させ、オペレータに必要な情報をモニター１に表示させるように構成されている。なお、以下の実施形態では、プログラムやプログラムの実行に必要なデータが記憶部１９に格納されているものとするが、プログラムやデータは情報処理装置５とは別体のサーバー上、クラウド上に格納されたものであってもよい。
【００２２】
図２は、知能ロボットシステムのシステム構造を示すブロック図である。知能ロボットシステムのシステム構造は、いわゆるＳＯＡ（サービス指向アーキテクチャ）を有しており、ロボットに知識推論、音声対話処理、及び言語理解の必要な動作を行わせるためのルール、並びに画像センシングとロボットの動作に関するワークフロー、ロボットによる判断ルールに関するビジネスルール、及び各種情報に関するオントロジーを格納している格納領域２１を備えている。また、知能ロボットシステム内では、ＲＯＳ上で作動するように構成された知識推論システム、音声対話システム、画像センシングシステム、動作計画システム、及び機械学習システムを利用して、知識、対話、画像センシング、動作、機械学習の各種モジュールを組み合わせてワークフローを構成している。そしてこのワークフローは、ＲＯＳ上で作動するワークフローエディタを用いることによって、開発者ではなく、ロボットのエンドユーザがワークフローを適宜編集できるように構成されている。そして編集されたワークフローは、格納領域２１内で管理される。
【００２３】
ワークフローは、特定のサービスを実行するために知識推論モジュールと、音声対話モジュールと、画像センシングモジュールと、動作計画モジュールと、機械学習モジュールとを組み合わせたビジネスプロセスとして構築されている。そして構築されたビジネスプロセスは、ベストプラクティスとして、オントロジーとの組み合わせでベストプラクティス共有システムにおいてユーザ間で共有できるようになっている。
【００２４】
ワークフローエディタ
以下、本実施形態に関連したワークフローエディタについて詳述する。
図３は、本実施形態による知能ロボットシステムのワークフローを示すフロー図である。このフロー図は、ユーザが実際にワークフローエディタを実行している際に、モニター１に表示されるものである。
【００２５】
ワークフローエディタの実行時には、ユーザがキーボードとマウス３を操作して、例えば所定のオントロジーが付与されたワークフローを読み出す操作を実行する。これにより、ＣＰＵ７によって情報格納部１１内に格納されたワークフローが読み出され、ＲＡＭ９上で展開される。ワークフローは、知識推論モジュールと、音声対話モジュールと、画像センシングモジュールと、動作計画モジュールと、機械学習モジュールとを含む複数のプロセス及びモジュールを組み合わせて構成されている。そしてワークフローエディタの実行時には、ロボットの知的振る舞いの手順であるプロセスを示す領域には、各モジュールに関連させたロボットが行うべき発話と動作を示す文字列が表示される。図３に示す例では、上流側から下流側に向けてプロセスＰ１〜Ｐ５を組み合わせたワークフローが表示されている。そして各プロセスを示す領域には、ロボットの動作を示す文字列が表示されている。また、５つのプロセスのうち、ロボットの音声対話に関連するプロセスＰ３及びＰ５には、ロボットの動作を示す文字列に加えて、音声対話を実行する際にロボットが発話する発話内容が表示用文字列として表示されている。
【００２６】
ロボットの発話内容に関するデータとロボットの動作内容に関するデータは、格納領域２１の別領域に格納されているため、通常、ワークフローエディタでは、音声対話プロセスにおけるロボットの発話内容は、音声対話プロセスに関連付けられた別領域に表示されていた。従って、ワークフロー中のプロセスの数が多い場合には、ロボットのプロセスを示す領域に加えて、音声対話プロセスにおける発話内容を示す領域が混在して表示されてしまい、編集画面が非常に煩雑なものであった。これに対して本実施形態では、音声対話プロセスにおけるロボットの発話内容を、当該プロセスを示す領域内に表示用文字列として、ロボットの動作内容を示す文字列と一緒に表示できるようになっている。これにより、ワークフローの編集時に、プロセス実行時の発話内容を参照することができ、編集時にワークフローを見易くすることができる。
【００２７】
図４は、知能ロボットシステムのワークフローの発話プロセスを示すフロー図であり、図３に示す発話プロセスの変形例を示すものである。図４に示すように、変形例にかかるワークフローは、発話プロセスに関するプロセスＰ３を例示的に抜き出して拡大したものである。そしてプロセスＰ３は、上述したようにロボットの動作内容を示す文字列と、音声対話プロセスを実行する際のロボットの発話内容を示す表示用文字列とが同じ領域内に示されている。変形例では、これに加えて、ロボットの発話内容を示す定数文字列モジュールが、プロセスＰ３の領域に関連付けられて表示されている。そしてこの定数文字列モジュール内には、ロボットの発話内容を示す表示用文字列の宛先となる${display}が表示されている。これにより、ワークフローの編集時に、ロボットの発話内容がプロセスＰ３を示す領域内に表示用文字列として表示されていることを理解し易くすることができる。
【００２８】
シナリオエディタ
図５は、上述したワークフローエディタの追加機能としてのシナリオエディタの操作画面の一例を示す図である。シナリオエディタの起動時には、ディスプレイ１の画面には、シナリオエディタ用の画面が表示される。シナリオエディタ用の画面は、ワークフローを実行する際に登場する複数のアクターに対応させた複数のアクター領域Ａ１〜Ａ４が示されている。アクター領域には、ワークフローを実行する際に登場する複数のアクター（本実施形態では、アクターとしてＷ、Ｘ、Ｙ及びＺが表示されている）毎に、当該アクターが担当するプロセスが表示されている。そして通常のワークフローエディタと同様に、ワークフローを構成する各プロセスは、時系列に沿って上流側から下流側に向けて互いに接続されて表示されている。
【００２９】
具体的には、図５に示すように、ワークフローエディタの画面には、アクターＷに関連するプロセスを表示するためのアクター領域Ａ１、アクターＸに関連するプロセスを表示するためのアクター領域Ａ２、アクターＹに関連するプロセスを表示するためのアクター領域Ａ３、及びアクターＺに関連するプロセスを表示するためのアクター領域Ａ４とが表示されている。
【００３０】
そして、アクター領域Ａ２にはアクターＸに関連するプロセスＰ５１とＰ５２とＰ５３とＰ５４が、アクター領域Ａ３にはアクターＹに関連するモジュールＭ５１とプロセスＰ５５が、アクター領域Ａ１にはアクターＷに関連するモジュールＭ５２が表示されている。そしてこの例では、プロセスが画面の上から下に向けて、時系列的に表示されるようになっている。このように各アクター毎にアクター領域Ａ１〜Ａ４を割り当て、各領域に対応するアクターに関連するプロセスを時系列に沿って表示することにより、ワークフローの編集時に、各アクターが担当するプロセスが把握し易くなる。
【００３１】
上述したシナリオエディタとワークフローエディタとは互換性を有していることが好ましく、ワークフローの別の表現形式と見なすことが可能である。ユーザは、ワークフローの編集時に、ワークフローエディタとシナリオエディタのいずれかをプロセスごとに選択することができる。
【００３２】
ビジネスルール
上述した例では、ワークフローエディタ及びシナリオエディタを用いてワークフローを編集し易くできることについて詳述した。そして、上記ワークフローエディタ及びシナリオエディタは、ビジネスルール管理システム（ＢＲＭＳ）と連携させることも可能である。また、ビジネスルールの結論部において、ＰＲＩＮＴＥＰＳにおけるモジュールやプロセスを実行することが可能である。これにより、例えば画像センサによって検出された人の性別や年齢等の属性に関する情報を、ビジネスルールにおける条件部に利用することができる。
【００３３】
以上のように本発明の実施形態によれば、音声対話に関連するプロセスＰ３、Ｐ５を示す領域に、音声対話プロセス実行時のロボットの発話内容を表示することができる。これにより、ワークフローの編集時に、プロセス実行時の発話内容を参照することができ、編集時にワークフローを見易くすることができる。
【００３４】
以下、本発明の実施例について説明する。
【００３５】
実施例１
以下の実施例１では、ＰＲＩＮＴＥＰＳにおけるワークフローエディタを用いて学校の授業のワークフローを作成した。このワークフローは、ＲＯＳを用いたロボットや各種センサーの実行プログラムを含むものである。
【００３６】
実施例１では、ロボットによる授業進行に関連するワークフローを上述したシナリオエディタ等を用いて教師自身が直接編集できるようにした。さらに、児童の授業理解度を把握できるように、オントロジーとルールベースに基づくタブレットクイズシステムを開発した。以下では、実施例１に関連したワークフローエディタとタブレットクイズシステムについて説明する。
【００３７】
クイズモジュールは、ワークフローエディタを使用して教師自身が２択または３択クイズを設計したものである。このようなクイズモジュールを用いることにより、授業進行中に、教師が生徒の理解度をロボットやセンサーを用いたクイズにより確認することが可能となる。図６は、クイズモジュール作成時のワークフローエディタの編集画面を示す。図６の３択クイズ入力画面には、クイズのＩＤ、問題文、選択肢、正解の選択肢番号を入力できるようになっている。
【００３８】
図７は、クイズモジュール作成時のワークフローエディタの編集画面を示す図であり、図８は、ロボットに身振り付き発話をさせるモジュールとして、図４で示した「ランダム動作付き発話」モジュールを用いている場合を示す。このモジュールは引数として発話内容を表す定数文字列型として"${display}"の値を有している。
【００３９】
図８は、図７に示すワークフローをシナリオエディタで表現した画面である。この例では、アクターおよび道具毎にアクター領域を設定している。図９は、アクター及び道具クラスの階層構造を示すものである。そして本実施例１では、図９に示すように、小学校の理科の授業におけるアクタークラスとして、人間の教師、生徒、各種ロボット、キャラクターエージェントを設定した。また、道具クラスとして、黒板、紙、ディスプレイを含む電子デバイスを設定した。ここで用いられているプロセス及びモジュールには、メタデータとしてアクター領域が割り当てたアクターまたは道具クラスのインスタンスが割り当てられている。アクターまたは道具クラスのインスタンスを割り当てることにより、該当プロセスまたはモジュールが、割り当てたインスタンスに対応するアクター領域のみに表示されるように制限をかけることができる。このようなシナリオエディタでは、教師や生徒のように人間が行うプロセスも表現可能であり、これにより、授業進行における教師の発言をシナリオエディタ上で表現することができ、教師はロボットを用いた授業進行において、どの場面でどのような発言をすべきかを把握しやすくなる。
【００４０】
次に、オントロジーとルールベースに基づくタブレットクイズシステムについて詳述する。図１０は、オントロジーとルールベースに基づくタブレットクイズシステムの構成図を示す。タブレットクイズシステムは、クイズサーバ１０１とタブレット端末１０３から構成される。クイズサーバでは、ルールエンジンとしてＤｒｏｏｌｓを用い、ルールベースによりタブレット端末１０３に提示するクイズやメディア(動画または画像)の状態を管理する。クイズやそれに関連するメディアなどは、クイズ構造オントロジーおよびクイズ
ドメインオントロジーを用いて定義し、ルールの結論部よりＳＰＡＲＱＬクエリにより関連するコンテンツを取得できるようにした。
【００４１】
タブレットクイズにおける状態遷移ルールは以下の通りとした。
（１）  クイズ出題
（２）  生徒の回答
（３）  正誤の表示
（４）  解説用メディアと共に解説文を表示
（５）  解説文を見終わったら次の問題に進む
【００４２】
タブレット端末１０３のアプリケーションは、Ａｎｄｒｏｉｄアプリとして実装され、
クイズサーバより取得したクイズやメディアの提示を行う。クイズサーバと個々のタブレット端末アプリは、ｒｏｓｊａｖａにより実装されたＲＯＳのノードとして動作し、ＲＯＳＴｏｐｉｃ通信を行う。タブレット端末１０３のアプリは始めに、ＲＯＳＭａｓｔｅｒノードに接続した後、端末ＩＤと紐付いたサブスクライバとパブリッシャがクイズサーバ上で生成される。
【００４３】
最初に第1問目のクイズ情報がクイズサーバ１０１からタブレット端末１０３にパブリッシュされ、タブレット端末１０３のアプリはその情報をサブスクライブし、クイズの選択肢と次へボタンと共にタブレット端末１０３の画面上に表示する。タブレット端末１０３上で押された選択肢や次へボタンの情報は、クイズサーバ１０１上のサブスクライバによりサブスクライブされ、次に実行するルールの条件として利用される。実行したルールの結論部では、次にタブレット端末１０３に提示すべきクイズまたはメディアのデータがパブリッシュされ、タブレット端末１０３のアプリによりサブスクライブされる。以上を繰り返すことにより、タブレットクイズシステムは、生徒の回答状況に応じたクイズ、回答、メディアなどをタブレット上に提示することができる。
【００４４】
さらに具体的には、タブレット端末１０３のアプリからパブリッシュされるのは、クイズの各選択肢を押下した情報と、メディアを見終わった際に表示されるボタンを押下した情報との２種類の情報である。クイズサーバからパブリッシュされるのは、特定のクイズを表示する命令、特定のメディアを表示する命令、文字列を表示する命令の３種類の情報である。
【００４５】
次に、クイズ構造オントロジーについて詳述する。クイズ構造オントロジーとは、タブレットクイズシステムにおけるクイズの設問、選択肢、正解などを構造化するために定義されたオントロジーである。クイズインスタンスは、問題文および選択肢の構造により以下の３種類に分類される。
（１）WhatQuestion  少なくとも１つの選択肢がオブジェクト(ここではクラスまた
はインスタンスとする)を表している。
（２）HowQuestion  少なくとも１つの選択肢がＲＤＦ（Resource Description Frame-
work）トリプルに相当する概念を表している。
（３）WhyQuestion  設問の問題文がＲＤＦトリプルに相当する概念を表し、少なく
とも１つの選択肢が理由クラスのインスタンスと同じ概念である。
【００４６】
各クイズインスタンスの問題文および選択肢には、ドメインオントロジー内で同等の概念を持つインスタンスおよびトリプルと、rdfs:seeAlsoの関係が定義されている。クイズに関連するメディアやテキストを検索するために、このrdfs:seeAlsoの関係を利用する。これにより、クイズに関連するメディアをクイズインスタンス自体に直接付与しなくても参照できる。
【００４７】
上記の理論のもと、以下の授業においてワークフローを作成した。某小学校の６年生を対象として、理科における「人の体のつくりと働き」という単元において、カエルの解剖実験を行った後に、知識の定着をはかるために座学で振り返る授業のワークフローを作成し、ロボットや各種センサーが教師と連携しながら進行する授業を行った。
【００４８】
授業設計
授業を進行するロボットはＰｅｐｐｅｒ又はＳｏｃｉＢｏｔの２台を準備し、Ｐｅｐｐｅｒ用のワークフローとＳｏｃｉＢｏｔ用のワークフローをそれぞれ用意した。２つのワークフローはいずれも、以下の流れを有する、カエルの解剖を振り返る授業に関するものである。
・授業導入
・ロボットとＫｉｎｅｃｔを用いた振り返りクイズ
・ＡＲ技術を用いた臓器を重畳するコンテンツの提示
・ロボットとＫｉｎｅｃｔを用いた振り返りクイズ(続き)
・クイズの結果発表
・まとめ
・タブレット端末を用いた復習クイズ
【００４９】
授業導入
授業導入では、教師が生徒にロボットの紹介をしたあと、ロボットが自己紹介を行う。その後、授業でクイズを行うことをロボットに説明させ、ディスプレイには解剖で使ったカエルの画像を映し、解剖実験を行ったことを思い出してもらう。ロボットの発話についてはところどころで区切り、教師がその場の状況に応じて合いの手を入れられるようにした。ここでは、図５に示したようなシナリオエディタの画面上で、教師がロボットの発話内容や合いの手の内容を記述した。
【００５０】
ロボットとＫｉｎｅｃｔを用いたクイズ
ロボットとＫｉｎｅｃｔを用いたクイズでは、設計段階ではワークフローエディタにおけるクイズモジュールを用いて、教師がクイズの内容を入力した。授業の流れの中では、クイズモジュールよりクイズの問題文と選択肢（例題：カエルの皮膚を触って感じられた体温は温かかった？、選択肢：マルまたはバツ）を取得し、ロボットとディスプレイを用いてクイズの出題を行った。その後、生徒たちに考えてもらう時間を設けるため一旦フローを止め、各テーブルに置かれているクイズ回答札を生徒たちに立ててもらった。フローを進めるとＫｉｎｅｃｔの画像認識プログラムが動き、各テーブルの回答を取得した。回答が出揃うとロボットが正解発表をし、その後ロボット、又はフローを一旦止めた教師が補足説明を行った。
【００５１】
クイズの結果発表
クイズの結果発表では、あらかじめ保存しておいた各班のクイズ回答結果を全て取得し、各班の正解数をディスプレイに表示し、最上位の班をロボットが発表した。
【００５２】
タブレット端末を用いた復習クイズ
授業の最後では、タブレット端末を生徒全員に配布し、クイズアプリを操作してもらい、再度クイズを実施した。ロボットを用いたクイズの際はグループ単位で行っていたが、このクイズアプリは個人で操作してもらった。タブレット端末は全部で３６台準備し、同じプログラムが動作するクイズサーバは全部で４台用意した。通信面では、教室内にＷｉＦｉルータを５台準備し、タブレット端末とクイズサーバが互いに通信できる環境を整えた。
【００５３】
オントロジー
クイズのドメインオントロジーとして、カエル解剖オントロジーを構築した。以下では、カエル解剖オントロジーの詳細について述べる。カエル解剖オントロジーの規模は、クラス数１３５、インスタンス数２２３、プロパティ数６２、トリプル数２６７０であった。カエル解剖オントロジーは、主に「カエルの身体部位および包含関係」、「解剖手順」、「理由」、「関連メディア」から構成される。
【００５４】
クラス階層としては、図１１に示すようなカエルの各身体部位のカテゴリと、「カエルの身体部位」クラスを準備した。その後、図１２に示すような「カエルの肺胞」をインスタンスとして定義し、「カエルの身体部位」クラスおよび「肺胞」クラスを継承させた。
【００５５】
授業で生徒に解剖を思い出してもらう際、教師は実際に行った解剖手順に沿って授業を進行する。そのため、解剖手順や順序の知識表現も必要となる。そこで、解剖手順を表す「process」クラスを作り、解剖の各手順をインスタンスとして扱い、順序関係を定義した。
また、各手順で扱う道具や、対象とする身体部位などは図１３のように、「関連部位」や「使う」などを意味するプロパティを定義し、身体部位や各手順のインスタンスと関連付けた。
【００５６】
実施例２
実施例２は、本発明をロボット喫茶店に適用したものに関する。図１４に、ロボット喫茶店のシステム構成図を示す。図１４に示すように、ロボット喫茶店は、喫茶店の入口、４人掛けのテーブル、２人掛けのテーブル、調理場、食器棚によって構成されている。Ｋｉｎｅｃｔ  ｖ２を、入口に１台、各テーブルに２台ずつ配置し、人と物の画像センシングを行えるようにした。また、各テーブルには１台ずつたまご型マイクアレイを配置し、注文時における音声認識や発話した客の位置の推定を行えるようにした。調理場には、３台のペットボトルディスペンサーを配置し、コーヒー、ミルク、オレンジジュース、カフェオレを用意することができるようにした。また、トレイを配置し、最大５つのカップを置くことができるようにした。食器棚には、Ｓサイズ、Ｍサイズ、Ｌサイズのカップを２セット配置した。
【００５７】
接客用ロボットとしてＰｅｐｐｅｒとＨＳＲを準備した。Ｐｅｐｐｅｒには測域センサを搭載し、走行時に自己位置を推定できるようにした。ＨＳＲはカップなどの運搬に用いた。調理用ロボットとしてはＪａｃｏ２を用いた。
【００５８】
入口及びテーブル上のＫｉｎｅｃｔ  ｖ２は、Ｗｉｎｄｏｗｓ（登録商標）  ＯＳが搭載されたノートＰＣに接続されており、たまご型マイクアレイはＬｉｎｕｘ（登録商標）  ＯＳが搭載されたノートＰＣに接続されている。Ｐｅｐｐｅｒ、Ｊａｃｏ２、及びＨＳＲもそれぞれ１台ずつＬｉｎｕｘ（登録商標）  ＯＳが搭載されたＰＣに接続されている。
その他に、ＲＯＳのマスター兼ＩＳ(Information State)を管理するＬｉｎｕｘ（登録商標）  ＯＳが搭載されたノートＰＣ、知識処理（ＢＲＭＳとＲＤＦストア)と人属性認識を行うためのＬｉｎｕｘ（登録商標）  ＯＳが搭載されたサーバを用意し、12台のＰＣ、5台のKinectV2、Ｐｅｐｐｅｒ、ＨＳＲ、JACO2をＲＯＳの分散ネットワーク環境上に接続した。
【００５９】
ロボット喫茶店のサービスは、入店時挨拶、座席案内、注文、飲み物の用意と運搬、会計、見送りのサービス群から構成される。そして各サービスは、知識推論、音声対話、画像センシング、及び動作計画を組み合わせて実行される。
【００６０】
知識推論
知識推論では、ワークフロー、ビジネスルール、オントロジーを用いて、ロボット喫茶店における状態の管理やロボットの振舞いの制御を行う。入店時挨拶と座席案内は、画像センシングにより得られた客の人数や各客の属性情報からグループ推定を行ったり、Ｋｉｎｅｃｔのセンシング結果とストリーム推論を用いて入店・退店・退席・空席の検知などを行う。さらに、ビジネスルールを用いて、喫茶店オーナーの要望を反映したグループごとの接客を行うことを可能としている。注文時においては、ロボット喫茶店におけるメニュー情報(材料、カロリー、金額など)をオントロジーとそのインスタンスとして定義し、音声対話モジュールにその情報を提供したり、注文されたメニューから必要な食器や調理手順を生成し、動作計画モジュールを呼び出すなどの処理を行うようにした。
【００６１】
音声対話
音声対話では、主にＰｅｐｐｅｒとたまご型マイクアレイを用いて注文対応の制御を行う。メニューとして、Ｓ，Ｍ、Ｌサイズのコーヒー、ミルク、オレンジジュース、カフェオレを用意しており、客が様々な表現方法により、これらのメニューを注文した際に、適切に、メニュー名、サイズ、個数を取得し、ＲＯＳのメッセージ型に変換し、ＩＳに保存することを実現した。また、知識推論モジュールと連携し、客のグループや属性に応じたメニューの推薦なども可能としている
【００６２】
画像センシング
画像センシングでは、主に入口とテーブルのセンシング制御をＫｉｎｅｃｔ  ｖ２を用いて行った。ＯＫＡＯ  Ｖｉｓｉｏｎ（登録商標）を用いて人の年齢、性別、表情を推定したり、入店してくる客とＫｉｎｅｃｔ  ｖ２までの距離データを取得し、知識推論モジュールと連携して入店検知などを行ったり、テーブル上にある物や飲食行動の認識を行った。
【００６３】
動作計画
動作計画では、環境地図を用いたＰｅｐｐｅｒやＨＳＲのロボット喫茶店環境内での移動、Ｊａｃｏ２を用いた飲料準備、ＨＳＲを用いた飲料の配膳などの制御を行った。入口、２人掛けテーブル、４人掛けテーブル、調理場、待機場所など、環境地図上の場所概念をオントロジーとそのインスタンスとして定義し、マルチ知識ベースエディタ上で、指定の場所に移動できるようにした。また、Ｊａｃｏ２は、食器棚の中から指定されたサイズの
カップを取得し、注文されたメニューに応じて、ペットボトルディスペンサーの前にカップを置き、ディスペンサーのレバーをサイズに応じた時間分操作して、トレー上の指定の場所にカップを配置するようにした。
【００６４】
以上の各要素知能について、ＲＯＳのサービス、パブリッシャ、サブスクライバとしてモジュールが実装され、マルチ知識ベースエディタ上でワークフローを構築し、ワークフローから自動生成されたプログラムをＲＯＳ環境上で実行した。
【符号の説明】
【００６５】
５    情報処理装置
２１    格納領域
【図１】
2019036029.tif 000003
【図２】
2019036029.tif 000004
【図３】
2019036029.tif 000005
【図４】
2019036029.tif 000006
【図５】
2019036029.tif 000007
【図６】
2019036029.tif 000008
【図７】
2019036029.tif 000009
【図８】
2019036029.tif 000010
【図９】
2019036029.tif 000011
【図１０】
2019036029.tif 000012
【図１１】
2019036029.tif 000013
【図１２】
2019036029.tif 000014
【図１３】
2019036029.tif 000015
【図１４】
2019036029.tif 000016