(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-11-28
(45)【発行日】2024-12-06
(54)【発明の名称】制御システム、制御方法、および制御プログラム
(51)【国際特許分類】
G06N 3/0475 20230101AFI20241129BHJP
【FI】
G06N3/0475
(21)【出願番号】P 2024544530
(86)(22)【出願日】2023-11-30
(86)【国際出願番号】 JP2023042874
【審査請求日】2024-07-25
(31)【優先権主張番号】P 2023191481
(32)【優先日】2023-11-09
(33)【優先権主張国・地域又は機関】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】110002491
【氏名又は名称】弁理士法人クロスボーダー特許事務所
(72)【発明者】
【氏名】三輪 祥太郎
(72)【発明者】
【氏名】乙村 浩太郎
(72)【発明者】
【氏名】洲鎌 康
(72)【発明者】
【氏名】前川 清石
(72)【発明者】
【氏名】南本 高志
【審査官】児玉 崇晶
(56)【参考文献】
【文献】特開2021-179655(JP,A)
【文献】特開平6-266403(JP,A)
【文献】特開2021-74528(JP,A)
【文献】国際公開第2022/269869(WO,A1)
【文献】特開2007-276052(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/0475
(57)【特許請求の範囲】
【請求項1】
ユーザによる対象機器に対する命令であって前記対象機器に対する複数の操作から構成される命令を示す第1の情報の入力を受け付ける入力インタフェースと、
前記第1の情報を学習モデルに入力し、前記複数の操作を実現するための前記対象機器における一連の制御である順次制御を示す第2の情報を出力する学習モデル部と
、
前記対象機器に対する命令と前記対象機器の制御コードとを対応付けた命令ルールを用いて、前記第1の情報により示される命令が前記命令ルールに含まれる命令に合致するか否かを判定する入力判断部とを備え、
前記入力判断部は、
前記第1の情報により示される命令が前記命令ルールに含まれる命令に合致しなければ、前記第1の情報を前記学習モデル部に出力する制御システム。
【請求項2】
前記入力判断部は、
前記第1の情報により示される命令が前記命令ルールに含まれる命令に合致すれば、前記第1の情報により示される命令に対応する制御コードを前記対象機器に出力する請求項1に記載の制御システム。
【請求項3】
ユーザによる対象機器に対する命令であって前記対象機器に対する複数の操作から構成される命令を示す第1の情報の入力を受け付ける入力インタフェースと、
前記第1の情報を学習モデルに入力し、前記複数の操作を実現するための前記対象機器における一連の制御である順次制御を示す第2の情報を出力する学習モデル部と、
前記対象機器に対する命令が前記対象機器の制御コードに対応するか否かを機械学習により判定する入力判断部とを備え、
前記入力判断部は、
前記第1の情報により示される命令が前記対象機器の制御コードに対応しないと判定されると、前記第1の情報を前記学習モデル部に出力する制御システム。
【請求項4】
前記入力判断部は、
前記第1の情報により示される命令が前記対象機器の制御コードに対応すると判定されると、前記第1の情報により示される命令に対応する前記対象機器の制御コードを前記対象機器に出力する請求項3に記載の制御システム。
【請求項5】
前記学習モデル部は、
前記第2の情報として、前記順次制御が前記対象機器の制御コードによって示されている情報を前記対象機器に出力する請求項1
から請求項4のいずれか1項に記載の制御システム。
【請求項6】
前記入力インタフェースは、互いに異なるユーザからの複数の命令を複数の第1の情報として受け付け、
前記学習モデル部は、
前記複数の第1の情報により示される前記複数の命令を調停し、前記複数の命令を実現する一つの順次制御を示す情報を、前記第2の情報として出力する請求項1
から請求項4のいずれか1項に記載の制御システム。
【請求項7】
前記制御システムは、
前記対象機器を操作する操作画面ユーザインタフェースである機器操作装置を備え、
前記学習モデル部は、
前記順次制御を示す操作画面を前記第2の情報として生成し、前記機器操作装置に前記操作画面を表示し、前記操作画面を介して前記ユーザに前記順次制御を承認するか否かを選択させ、
前記機器操作装置は、
前記ユーザにより前記順次制御が承認されると、前記ユーザにより承認された順次制御を示す前記対象機器の制御コードを前記対象機器に送信する請求項1
から請求項4のいずれか1項に記載の制御システム。
【請求項8】
前記学習モデル部は、
前記順次制御の候補一覧を示す前記操作画面を前記第2の情報として生成し、前記機器操作装置に前記操作画面を表示し、前記操作画面を介して前記ユーザに前記候補一覧から順次制御を選択させ、
前記機器操作装置は、
前記ユーザにより選択された順次制御を前記ユーザにより承認された順次制御として、前記対象機器の制御コードを前記対象機器に送信する請求項
7に記載の制御システム。
【請求項9】
前記機器操作装置は、
前記対象機器と前記対象機器とは異なる他の機器とを操作可能な汎用操作装置であり、
前記学習モデル部は、
前記機器操作装置に表示する表示形式が格納された表示形式情報を用いて、前記順次制御を示す表示を前記第2の情報として前記機器操作装置の表示画面に表示する請求項
7に記載の制御システム。
【請求項10】
前記機器操作装置は、
前記ユーザが利用する種類の異なる複数の機器を操作可能である請求項
9に記載の制御システム。
【請求項11】
前記機器操作装置は、
前記入力インタフェースを備え、前記ユーザにより承認された順次制御を表示画面に表示することにより、前記ユーザによる前記対象機器に対する命令の入力を支援する請求項
7に記載の制御システム。
【請求項12】
前記学習モデル部は、
前記対象機器の環境を表す環境情報に基づいて、特定の環境に対応する前記第2の情報を出力する請求項1
から請求項4のいずれか1項に記載の制御システム。
【請求項13】
前記環境情報は、前記対象機器の状態、前記対象機器の周囲の状態、および前記ユーザのバイタルデータを含む前記ユーザの状態の少なくともいずれかを前記環境として含む請求項1
2に記載の制御システム。
【請求項14】
前記学習モデル部は、
前記ユーザにおける前記対象機器に対する命令の履歴を含むユーザ履歴情報に基づいて、前記ユーザに応じた前記第2の情報を出力する請求項1
2に記載の制御システム。
【請求項15】
前記ユーザ履歴情報は、前記ユーザが入力した命令、前記ユーザおよび前記対象機器の状態、出力された前記対象機器の制御コード、および前記環境の変化を含み、
前記学習モデル部は、
前記ユーザ履歴情報に基づいて、前記ユーザおよび前記対象機器の状態に応じた前記第2の情報を出力する請求項1
4に記載の制御システム。
【請求項16】
前記学習モデル部は、
前記第1の情報を第1の学習モデルに入力し、前記環境情報に基づいて特定の環境に応じた前記順次制御を示す操作情報を出力する第1の学習モデル部と、
前記操作情報を第2の学習モデルに入力し、前記操作情報を実現するための前記対象機器の制御コードを前記第2の情報として前記対象機器に出力する第2の学習モデル部と
を備える請求項1
4に記載の制御システム。
【請求項17】
前記第1の学習モデル部は、
前記第1の情報を第1の学習モデルに入力し、前記環境情報と前記ユーザ履歴情報とに基づいて前記ユーザおよび前記対象機器の状態に応じた前記順次制御を示す前記操作情報を出力する請求項1
6に記載の制御システム。
【請求項18】
前記学習モデルは、LLM(Large Language Model)またはVLM(Vision-Language Model)である請求項1
から請求項4のいずれか1項に記載の制御システム。
【請求項19】
前記入力インタフェースは、
前記第1の情報として、信号コード、自然言語、および画像の少なくともいずれかまたは組み合わせの入力を受け付ける請求項1
から請求項4のいずれか1項に記載の制御システム。
【請求項20】
コンピュータが、ユーザによる対象機器に対する命令であって前記対象機器に対する複数の操作から構成される命令を示す第1の情報の入力を受け付け、
コンピュータが、前記第1の情報を学習モデルに入力し、前記複数の操作を実現するための前記対象機器における一連の制御である順次制御を示す第2の情報を出力
する学習モデル処理を実行し、
コンピュータが、前記対象機器に対する命令と前記対象機器の制御コードとを対応付けた命令ルールを用いて、前記第1の情報により示される命令が前記命令ルールに含まれる命令に合致するか否かを判定し、
コンピュータが、前記第1の情報により示される命令が前記命令ルールに含まれる命令に合致しなければ、前記第1の情報を前記学習モデル処理に出力する制御方法。
【請求項21】
ユーザによる対象機器に対する命令であって前記対象機器に対する複数の操作から構成される命令を示す第1の情報の入力を受け付ける入力インタフェース処理と、
前記第1の情報を学習モデルに入力し、前記複数の操作を実現するための前記対象機器における一連の制御である順次制御を示す第2の情報を出力する学習モデル処理と
、
前記対象機器に対する命令と前記対象機器の制御コードとを対応付けた命令ルールを用いて、前記第1の情報により示される命令が前記命令ルールに含まれる命令に合致するか否かを判定する入力判断処理と
をコンピュータに実行させる制御プログラムであって、
前記入力判断処理は、
前記第1の情報により示される命令が前記命令ルールに含まれる命令に合致しなければ、前記第1の情報を前記学習モデル処理に出力する制御プログラム。
【請求項22】
コンピュータが、ユーザによる対象機器に対する命令であって前記対象機器に対する複数の操作から構成される命令を示す第1の情報の入力を受け付け、
コンピュータが、前記第1の情報を学習モデルに入力し、前記複数の操作を実現するための前記対象機器における一連の制御である順次制御を示す第2の情報を出力する学習モデル処理を実行し、
コンピュータが、前記対象機器に対する命令が前記対象機器の制御コードに対応するか否かを機械学習により判定し、
コンピュータが、前記第1の情報により示される命令が前記対象機器の制御コードに対応しないと判定されると、前記第1の情報を前記学習モデル処理に出力する制御方法。
【請求項23】
ユーザによる対象機器に対する命令であって前記対象機器に対する複数の操作から構成される命令を示す第1の情報の入力を受け付ける入力インタフェース処理と、
前記第1の情報を学習モデルに入力し、前記複数の操作を実現するための前記対象機器における一連の制御である順次制御を示す第2の情報を出力する学習モデル処理と、
前記対象機器に対する命令が前記対象機器の制御コードに対応するか否かを機械学習により判定する入力判断処理と
をコンピュータに実行させる制御プログラムであって、
前記入力判断処理は、
前記第1の情報により示される命令が前記対象機器の制御コードに対応しないと判定されると、前記第1の情報を前記学習モデル処理に出力する制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、制御システム、制御方法、および制御プログラムに関するものである。
【背景技術】
【0002】
近年、AI(artificial intelligence)の活用が進んでいる。特に、生成AI(generative artificial intelligence)と呼ばれる、多様なコンテンツを生成できるAIも普及しはじめており、AIの活用先が広がることが予想される。AIの活用先は、家庭内における作業に留まらず、ビル、工場、駅、学校、病院または商業施設などの各種施設内、および道路、野外施設、上空または海上などの屋外など種々な場所・場面における作業が考えられている。
【0003】
例えば、特許文献1には、大規模言語モデルを利用して機械を制御するプログラムを生成する加工プログラム生成装置が記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
人または物による作業を支援するために、機器の制御プログラムの生成に限らず、該作業に含まれるタスクの一部またはすべてを学習モデルが担うことを考える。なお、「人または物による作業」には、人または機械によって行われる実空間上の作業だけでなく、CPU(central processing unit)などのプロセッサが行う情報処理のようなデータ空間上の作業を含む。
【0006】
物による作業の例としては、例えば、以下が挙げられる。
・ロボット、機械、装置、センサなどの各種機器による作業
・車、電車、バス、飛行体、船などの各種モビリティによる作業
当該作業には、例えば、制御、処理、加工、指示、計算、入力、出力、表示、通信、試験、製造、変換、生成、計測、照射、放出、吸入、放熱、加熱、冷却、記録、読出、成形、駆動、移動、運搬、飛行、調査、監視、計測、抽出などと呼ばれる作業が含まれうる。
【0007】
また、人による作業の例としては、例えば、以下が挙げられる。
・人が人または他の生き物を相手に行う作業
・人が各種機器に対して行う作業
当該作業には、例えば、会話、視聴、確認、操作、監視、指示、調停、解釈などと呼ばれる作業が含まれうる。
【0008】
なお、上述した例は一例であり、本開示の支援対象とされる作業は、これらに限定されない。
【0009】
何らかの学習モデルを利用して、人または物による作業に含まれるタスクの一部またはすべてを情報処理装置に実行させる場合、モデルの出力の妥当性が問題となる場合がある。また、モデルの出力に影響を与えるモデルの入力の妥当性が問題となる場合がある。
【0010】
また、対象の機器によっては、現在の状況を把握した上でないと適切な制御ができない場合がある。そのような場合には、状況認識をいかに行うかが問題となりうる。このとき、現在の状況だけでなく過去の状況を含めた連続性をもった状況の認識が必要となる場合も考えられる。例えば、過去に行った制御の内容を元に次の制御を決定する場合などにおいて、制御の連続性を担保するために、状況認識の精度が問題となる場合がある。
【0011】
また、機器の制御に即時性が求められる場合などには、学習モデルに指示を与えてから結果を得るまでの応答時間が問題となる場合がある。
【0012】
また、機器の変更または追加の度にモデルを学習しなおす必要があるなど、モデルの保守性が問題となる場合がある。
【0013】
このように、学習モデルの利用には依然、種々の問題が散在している。問題の大小によっては、せっかく学習モデルを利用して作業の効率化または高性能化を図ろうとしても、逆に作業の効率または性能を落とすことになりかねない。
【0014】
学習モデルを利用した際のこれらの問題は、特に、支援対象とする作業が複雑であればあるほど、また支援対象とする作業が高度であればあるほど顕著になるであろう。
【0015】
そこで、本開示は、学習モデルを利用して、人または物による作業の効率化もしくは高性能化をより図ることを目的とする。
【課題を解決するための手段】
【0016】
本開示にかかる制御システムは、
ユーザによる対象機器に対する命令であって前記対象機器に対する複数の操作から構成される命令を示す第1の情報の入力を受け付ける入力インタフェースと、
前記第1の情報を学習モデルに入力し、前記複数の操作を実現するための前記対象機器における一連の制御である順次制御を示す第2の情報を出力する学習モデル部と
を備える。
【発明の効果】
【0017】
本開示では、学習モデルを利用して、複数の操作を要する複雑な命令に対して、対象機器における順次制御を示す情報を出力することができる。よって、本開示によれば、ユーザによる作業の効率化もしくは高性能化をより図ることができる。
【図面の簡単な説明】
【0018】
【
図1】実施の形態1にかかる制御システムの例を示す構成図である。
【
図3】学習モデル部の他の構成例を示す説明図である。
【
図4】学習モデル部の他の構成例を示す説明図である。
【
図5】学習モデル部を含む制御部の動作環境である情報処理装置の例を示す構成図である。
【
図6】モデル生成部におけるモデル学習の例を示す説明図である。
【
図7】実施の形態1にかかる制御システムの動作例を示すフローチャートである。
【
図8】実施の形態1にかかる制御システムの他の例を示す構成図である。
【
図9】実施の形態1にかかる制御システムの他の例を示す構成図である。
【
図10】実施の形態1にかかる制御システムの他の例を示す構成図である。
【
図11】実施の形態2にかかる制御システムの例を示す構成図である。
【
図12】実施の形態2にかかる制御システムの他の例を示す構成図である。
【
図13】実施の形態2にかかる制御システムの動作例を示すフローチャートである。
【
図14】実施の形態3にかかる制御システムの例を示す構成図である。
【
図15】実施の形態3にかかる制御システムの動作例を示すフローチャートである。
【
図16】実施の形態3にかかる制御システムの他の例を示す構成図である。
【
図17】実施の形態3にかかる変形例の動作例を示すフローチャートである。
【
図18】実施の形態3にかかる制御システムの他の例を示す構成図である。
【
図19】実施の形態3にかかる制御システムの他の例を示す構成図である。
【
図20】実施の形態3にかかる制御システムの他の例を示す構成図である。
【
図21】実施の形態3にかかる制御システムの他の例を示す構成図である。
【
図22】実施の形態3にかかる変形例の動作例を示すフローチャートである。
【
図23】実施の形態4にかかる制御システムの例を示す構成図である。
【
図24】実施の形態4にかかる制御システムの動作例を示すフローチャートである。
【
図25】実施の形態4にかかる制御システムの他の例を示す構成図である。
【
図26】実施の形態4にかかる変形例の動作例を示すフローチャートである。
【
図27】実施の形態5にかかる制御システムの例を示す構成図である。
【
図28】実施の形態5にかかる制御システムの動作例を示すフローチャートである。
【
図29】実施の形態5にかかる制御システムの他の例を示す構成図である。
【
図30】実施の形態5にかかる制御システムの他の例を示す構成図である。
【
図31】実施の形態5にかかる制御システムの他の例を示す構成図である。
【
図32】実施の形態5にかかる制御システムの他の例を示す構成図である。
【
図33】実施の形態3にかかる変形例の動作例を示すフローチャートである。
【
図34】実施の形態3にかかる変形例の動作例を示すフローチャートである。
【
図35】実施の形態3にかかる変形例の動作の別例を示すフローチャートである。
【
図36】実施の形態3にかかる制御システムの他の例を示す構成図である。
【
図37】実施の形態3にかかる制御システムの他の例を示す構成図である。
【
図38】実施の形態3にかかる変形例の動作例を示すフローチャートである。
【
図39】実施の形態3にかかる制御システムの他の例を示す構成図である。
【
図40】実施の形態3にかかる変形例の動作例を示すフローチャートである。
【発明を実施するための形態】
【0019】
以下、本開示をより詳細に説明するために、本開示を実施するための形態について、添付の図面を参照して説明する。以下では、同一の要素については同じ符号を付し、説明を省略する。
【0020】
実施の形態1.
本実施の形態では、学習モデルを利用して、対象機器のコード生成にかかる作業を支援する例について説明する。
【0021】
図1は、実施の形態1にかかる制御システム1000の例を示す構成図である。
図1に示す制御システム1000は、学習モデルを利用して機器を制御するための制御システムであって、学習モデル部100と、機器情報記憶部110(図中では機器情報DBと記す)と、実行コード生成部120とを備える。
【0022】
なお、
図1には、ユーザ1および対象機器2が示されているが、これらを含めて制御システム1000としてもよい。その場合において、「ユーザ1」を「ユーザ端末1」と読み替えてもよい。この点について、他の実施の形態においても同様である。
【0023】
学習モデル部100は、入力情報D11が入力されると、制御記述D12を出力する。学習モデル部100は、入力情報D11が入力されると、後述するモデル情報D102に基づいて、制御記述D12を出力する。
【0024】
本実施の形態において、学習モデル部100は、入力情報D11が入力されると、入力情報D11に対応する制御記述D12を出力するように構成されたモデルおよびその動作環境である。また、学習モデル部100は、入力情報D11が入力されると、入力情報D11、機器情報D13および/または学習モデル部100において他に参照可能な情報(後述のモデル参照情報D104等)に基づいて、制御記述D12を生成して出力するように構成されたモデルおよびその動作環境であってもよい。
【0025】
本実施の形態において、入力情報D11は、対象機器2に対して要求される制御内容を示す情報を含む。入力情報D11は、例えば、対象機器2に対する制御内容を示すテキスト、画像、音声またはそれらの組み合わせ等であってもよい。入力情報D11は、例えば、対象機器2に対する複数の制御内容を示すテキスト、画像、音声またはそれらの組み合わせ等であってもよい。また、入力情報D11は、時間的に連続して行われる制御の内容を示す情報を含んでいてもよく、その場合、上述したような制御内容を示すテキスト、画像、音声またはそれらの組み合わせ等を含む所定のデータ構造の時系列データであってもよい。制御内容の示し方は、学習モデル部100が用いるモデルの入力形式に合致していることを前提とするが、学習モデル部100の前段にエラー処理、補正処理または変換処理が含まれる場合等はこの限りではない。
【0026】
入力情報D11における制御内容の示し方の例示としては、対象機器2に対して行う制御を特定した上で、その制御を行うためのパラメータの値や、制御後の状態を指定する方法が挙げられる。その場合、入力情報D11は、例えば、制御を特定する情報と、その制御を行うためのパラメータの値または制御後の状態を示す情報とを含んでもよい。制御を行うためのパラメータの値には、例えば、制御の種別(ON/OFFなど)、向き、量、時間に関する値が含まれうる。制御内容の例としては、PLC(programmable logic controller)に対して「機能XをONにする」、ロボットアームに対して「先端をA地点に移動する」、空気調和器に対して「設定温度を1度下げる」などが挙げられる。また、入力情報D11における制御内容の示し方の例示として、関数などの仕様を説明したドキュメント文字列(docstring)、仕様書、または他機種等の他の機器に適用されている仕様書、設計書、操作命令、制御コード、ソースコード等の各種の情報を用いる方法が挙げられる。
【0027】
なお、入力情報D11における制御内容の示し方として、上述したような明示的に示す方法だけなく、例えば、ある操作によって実施される制御がある場合にその操作内容を示すことで、対応する制御内容を示す方法も挙げられる。また、例えば、特定の制御に紐づくユーザ1の言動、対象機器2の動作結果または他の機種等への同様の制御指令等をもって暗黙的に示す方法も挙げられる。換言すると、入力情報D11には、対象機器2に対する制御内容を直接示す情報だけでなく、その制御内容に対応する操作内容またはユーザ1の言動や対象機器2の画像等を用いて間接的に示す情報も含まれうる。一例として、空気調和器の温度制御に関する制御内容を示すものとして、ユーザ1の「暑い」といった言葉や、汗を拭く、袖をまくる、手で仰ぐといったユーザ1の暑がる素振りを用いることができる。この場合、入力情報D11として、ユーザ1の発言を示すテキスト、音声または画像等の情報や、ユーザ1の素振りを示す画像(動画)等の情報を用いることができる。他の例として、ロボット機器のアーム制御に関する制御内容を示すものとして、ロボット機器の制御後の姿勢や、所定の部位の移動先地点を指定する情報や、人または他の物(当該ロボットの疑似的な動きをするシミュレータ。画面上の物も含む)によるロボット動作の模倣動作またはロボットに対する指示動作(指さし等のジェスチャによる動作指示)を示す情報を用いることができる。
【0028】
ここで、入力情報D11の形式は特に限定されない。例えば、該情報は、テキスト、画像、音声、所定の設計言語で記述されたデータ、制御記述(ソースコードおよび所定のプログラミングプラットフォーム言語で記述された情報を含む)、その他のプラットフォーム言語で記述された情報、制御指令(制御命令、制御信号、制御コードおよびコントローラコマンドを含む)または実行コードであってもよい。なお、これらの情報は適宜組み合わせられる。なお、本開示において、特に区別なく「テキスト」といった場合には、自然言語をテキストで表現したもの以外に、人が判別できないような所定の設計言語で記述されたデータ、制御記述(ソースコードおよび所定のプログラミングプラットフォーム言語で記述された情報を含む)、その他のプラットフォーム言語で記述された情報、制御指令(制御命令、制御信号、制御コードおよびコントローラコマンドを含む)および実行コード等の機械が判別するデータをテキストで表現したものが含まれうる。
【0029】
制御記述D12は、後段の実行コード生成部120が判別可能な所定の形式で記述された制御に関する情報を含む。制御記述D12は、例えば、所定のプログラミング言語で記述されたソースコードである。また、制御記述D12は、例えば、所定のプログラミングプラットフォームが扱う形式(プラットフォーム言語)で記述されたコマンド群であってもよい。ここで、所定のプログラミングプラットフォームには、ノーコードプログラミングプラットフォームおよびローコードプログラミングプラットフォームが含まれうる。
【0030】
機器情報記憶部110は、対象機器2に関する情報である機器情報D13を記憶する。機器情報D13には、例えば、対象機器2の機能、性能、構造、寸法、動作および/または制御方法を示す情報が含まれうる。また、機器情報D13には、例えば、対象機器2の制御に用いられるプログラムに関する情報が含まれていてもよい。機器情報D13は、例えば、対象機器2のマニュアルまたは取扱い説明書をデータ化したものであってもよい。ここでのデータ化はテキスト化、画像データ化、読み上げ音声によるデータ化、それらの組み合わせも含まれる。機器情報D13は、例えば、学習モデル部100が制御記述D12を出力する際の追加情報として用いられる。
【0031】
また、機器情報D13には、対象機器2の状態を示す情報が含まれていてもよい。対象機器2の状態を示す情報には、対象機器2の現在の状態だけでなく、過去の状態を示す情報も含まれうる。例えば、機器情報D13は、対象機器2の状態を示す所定のデータ構造の時系列データを含んでいてもよい。対象機器2の状態を示す情報は、例えば、対象機器2から出力される情報であってもよいし、ユーザ1または他の機器が入力した情報であってもよい。対象機器2の状態を示す情報には、対象機器2から出力される各種の情報(例えば、エラー情報、ログ情報、通知情報など)が含まれうる。以下、本実施の形態において、特に対象機器2の状態を示す情報を、状態情報D15という場合がある。
【0032】
実行コード生成部120は、制御記述D12が入力されると、制御記述D12に基づいて、対象機器2が実行可能なコードである実行コードD14を生成して出力する。実行コードD14は、例えば、機械語で記述されたコード群であってもよい。実行コードD14は、例えば、対象機器2が実際に制御する際に用いられる情報を含む。実行コードD14は、例えば、対象機器2が判別可能な形式で記述された制御に関する情報であればよい。実行コード生成部120は、例えば、制御記述D12を実行コードD14に変換するコンパイラであってもよい。
【0033】
実行コード生成部120から出力された実行コードD14は、対象機器2に入力される。これにより、対象機器2が、実行コード生成部120から出力された実行コードD14に従って動作する。対象機器2への実行コードD14の入力は、実行コード生成部120から直接入力されてもよいし、通信ネットワークや他の機器(サーバ、各種の変換装置等)や人の手を介してなど間接的に入力されてもよい。
【0034】
対象機器2は、特に限定されない。なお、対象機器2は、実行コードD14を受け取って実際に実行可能な機器であることを前提としているが、対象機器2との間に、書込装置などの対象機器2に実行コードを読み込ませるインタフェースを含む場合は、この限りではない。
【0035】
対象機器2は、例えば、PLC、加工機、ロボット、レーダー、センサ、カメラ、プロジェクタ、通信機器である。また、対象機器2は、例えば、空気調和機、冷蔵庫、テレビ、照明、洗濯機であってもよい。また、対象機器2は、例えば、エレベータ、モビリティ、搬送装置、その他の機械、またはそのような機械を制御する制御装置であってもよい。また、対象機器2は、発電・変電・蓄電プラント、水処理プラントなどにおいて稼働する機器、その他の機器を制御する制御装置であってもよい。また、学習モデル部100が実行コードD14を生成してもよい。例えば、制御記述D12がインタプリタ言語であって対象機器2が制御記述D12を受け取ってそのまま実行可能な機器である場合、制御記述D12は実行コードD14と見なすことができる。この場合、実行コード生成部120は省略することができる。なお、制御記述D12は、コンパイルまたは最適化処理により、対象機器2の処理により適した実行コードD14に変換されてもよい。
【0036】
図2は、学習モデル部100の構成例を示す説明図である。
図2に示すように、学習モデル部100は、情報処理装置10上で動作するモデル制御部101と、モデル情報D102を記憶するモデル情報記憶部11(図中では、モデル情報DBと記す)とを備えていてもよい。ここで、モデル情報記憶部11は、ネットワークを介して接続される複数のデータベースにより構成されていてもよい。
【0037】
モデル情報D102は、モデルの情報を含む。モデル情報D102は、モデルの情報として、例えば、モデル入力データD101とモデル出力データD103との間の相関関係を示す情報を含んでいてもよい。また、モデル情報D102は、モデルの情報として、例えば、モデル出力データD103の候補を示す情報を含んでいてもよい。また、モデル情報D102は、モデルの情報として、さらにモデル出力データD103の候補を示す情報と、それら候補同士の関係を示す情報とを含んでいてもよい。また、モデル情報D102は、例えば、制約条件、重みづけ変数および評価関数など、学習モデルの挙動を規定する情報であるモデルパラメータを含んでいてもよい。
【0038】
モデルは、例えば、教師あり学習、強化学習または教師なし学習によって機械学習されたモデルであってもよい。該モデルは、例えば、深層学習、遺伝的プログラム、機能論理プログラムその他の公知のアルゴリズム・方法に従って学習を実行して得られたモデルであってもよい。また、モデルは、例えば、NN(Neural Network)モデル、CNN(Convolutional Neural Network)モデル、RNN(Recurrent Neural Network)、VAE(Variational Autoencoder)、GAN(Generative Adversarial Networks)、拡散モデル(Diffusion model)、Transformerモデル、LLM(Large Language Model)、VLM(Visual Language Model)、BERT(Bidirectional Encoder Representations from Transformers)、GPT(Generative Pre-trained Transformer)、CLIP(Contrastive Language Image Pre-training)と呼ばれるモデルであってもよい。また、モデルは、予め決められたテーブルを参照したり、予め決められた条件に基づいて判定を行ったりすることにより出力結果を得るルールベースで記述されるモデルであってもよい。なお、上述したモデルは排他的な物ではなく、例えば、LLM、VLM、BERT、GPTは、Transformerモデルに含まれる。また、例えば、Transformerモデルは、NNモデルに含まれる。また、学習アルゴリズムおよびモデルは複数の種類を組み合わせたものであってもよい。モデルには、複数の異なる種類のデータを組み合わせて学習したマルチモーダルモデルと呼ばれるものも含まれる。
【0039】
モデル制御部101は、モデル入力データD101を受け付けると、モデル入力データD101およびモデル情報D102に基づいて、モデル入力データD101に対応するモデル出力データD103を出力する。モデル制御部101は、モデル入力データD101を受け付けると、例えば、モデル情報D102で示されるモデルを用いて、モデル入力データD101に対応するモデル出力データD103を出力する。
【0040】
モデル制御部101は、例えば、情報処理装置10が備えるプログラムに従って動作するCPUなどによって実現される。以下では、学習モデル部100を人工知能部と呼ぶ場合がある。ここで、人工知能部は、推論、判断などの知的な機能を備えたAIおよびその動作環境をいう。したがって、モデル制御部101は、推論、判断などの知的な機能を備えたAIおよびその動作環境を含んでいてもよい。モデル制御部101は、例えば、上述したような学習モデルを備えたAIおよびその動作環境であってもよい。モデル制御部101は、情報処理装置10が備える制御部104の一要素(モジュール)であってもよい。
【0041】
また、学習モデル部100は、
図3に示すように、さらにモデル参照情報D104を記憶する参照情報記憶部12(図中では、参照情報DB12と記す)を備えていてもよい。ここで、参照情報記憶部12は、ネットワークを介して接続される複数のデータベースにより構成されていてもよい。後述するその他の記憶部(例えば、機器情報記憶部等)についても同様である。
【0042】
モデル参照情報D104は、モデル制御部101がモデル出力データを出力するために参照する情報である。モデル参照情報D104には、過去に入力されたモデル入力データの履歴および/または過去に出力したモデル出力データの履歴が含まれうる。また、モデル参照情報D104には、過去の入力に含まれる特徴量と、その入力に対して行った出力に含まれる特徴量とを対応づけた情報が含まれうる。また、モデル参照情報D104には、過去の入力に対して出力した結果に対する評価の情報が含まれうる。
【0043】
また、モデル参照情報D104は、モデル入力データD101に含まれる表現または概念に関連する情報を含んでいてもよい。モデル参照情報D104は、例えば、モデル入力データD101に含まれうる特定の表現または概念と、その表現または概念に関連する他の表現または概念とを対応づけた情報を含んでいてもよい。ここで、ある表現または概念に関連する他の表現または概念には、ある表現または概念をより具体化した表現または概念や、ある表現または概念に基づいて想起される他の表現または概念が含まれる。モデル参照情報D104は、例えば、モデル入力データD101に含まれうる特定の表現または概念と、その表現または概念に関連する表現または概念とを対応づけた情報を含んでいてもよい。一例として、モデル参照情報D104は、例えば、モデル入力データD101に含まれうる特定の表現または概念と、その表現または概念に関連する情報とを対応づけた情報を含んでいてもよい。モデル参照情報D104は、例えば、モデル入力データD101に含まれうる表現または概念から抽出される探索用のキーと値とを対応づけた情報を含んでいてもよい。モデル参照情報D104は、いわゆるグラウンディングのための情報を含んでいてもよい。また、モデル参照情報D104は、実世界のエンティティとその間の関係を記述した、いわゆる知識グラフを含んでいてもよい。知識グラフでは、さまざまな情報を体系的に連結してグラフ構造で表現される。
【0044】
また、モデル参照情報D104は、いわゆるアテンションのための情報を含んでいてもよい。例えば、モデル参照情報D104は、モデル入力データD101に含まれうる表現または概念と、他の表現または概念との相関関係を示す情報を含んでいてもよい。また、モデル参照情報D104は、モデル入力データD101に含まれうる表現または概念と紐づけられたモデル出力データD103に含まれうる表現または概念から抽出されるキー情報を特徴量とする特徴量マップを含んでいてもよい。また、モデル参照情報D104は、モデル入力データD101に含まれうる表現または概念から抽出されるクエリとそのクエリに対応する探索用のキー情報とを対応づけた情報を含んでいてもよい。
【0045】
図3に示す例では、モデル制御部101は、モデル入力データD101を受け付けると、モデル入力データD101、モデル情報D102およびモデル参照情報D104に基づいて、モデル出力データD103を出力する。
【0046】
なお、学習モデル部100は、参照情報記憶部12に代えて、モデル参照情報D104を検索する検索エンジンもしくは該検索エンジンとのインタフェースを含むこともできる。そのような場合において、該検索エンジンの検索範囲は、外部のネットワークでもよいし、特定のネットワークでもよい。ここで、外部のネットワークまたは特定のネットワークの1つとして、本開示の制御システムが備えるデータベース(例えば、機器情報DBなど)を用いることができる。
【0047】
「学習モデル」といった場合、入力された情報に対して、学習された情報に基づいて何らかの出力を行うコンピュータアルゴリズムもしくは学習された情報そのものを指す場合がある。しかし、動作環境下で「学習モデル」といった場合には、そのようなコンピュータアルゴリズムを動作させる実際のプログラムおよびその動作環境を指す場合が多い。本開示では、後者を採用し、単なるアルゴリズムまたは学習された情報群を示すものと区別するために、モデル情報D102に記憶された情報等に基づき、実際に動作するモデルを「学習モデル」と呼ぶ。本開示にかかる制御システムでは、そのような学習モデルに相当するものとして、学習モデル部(特にモデル制御部101)を備えている。したがって、以下、制御システムの説明において「学習モデル」といった場合には、学習モデル部またはそのうちの特にモデル制御部101を指すものとする。
【0048】
図4は、学習モデル部100の他の構成例を示す説明図である。
図4に示すように、学習モデル部100は、入力部102と、出力部103と、制御部104とを備えていてもよい。
【0049】
入力部102は、モデル入力データD101を受け付ける。入力部102は、ユーザ1等によって入力されたモデル入力データD101を受け付けてもよい。入力部102は、時系列データを構成するモデル入力データD101を受け付けてもよい。このとき、入力部102は、時系列データを構成するモデル入力データD101を逐次受け付けてもよいし、ある程度バッファリングされたモデル入力データD101を受け付けてもよい。また、入力部102は、複数の入力元から入力されたモデル入力データD101を受け付けてよい。その際、入力部102は、入力元の情報(例えば、ユーザ識別子、ユーザの属性情報等)が付されたモデル入力データD101を受け付けてもよいし、入力部102が入力元を判別してモデル入力データD101に入力元の情報を付した上で受け付けてもよいし、特に何もせず受け付けてもよい。入力部102は、例えば、情報処理装置10が備える各種の入力装置(例えば、ポインティングデバイス、キーボード、音声入力装置、画像入力装置、データ読取装置、各種通信インタフェースに対応したデータ入力装置等)により実現される。なお、入力部102は、情報処理装置10の外部機器によって実現されてもよい。その場合、情報処理装置10は、当該入力部102とのインタフェースを含んでいればよい。
【0050】
出力部103は、制御部104で生成された対象物を出力する。ここで、対象物には、モデル出力データD103または該モデル出力データD103から生成されるデータが含まれる。また、出力部103は、制御部104で生成された対象物に複数の出力先への情報が含まれている場合、複数の出力先に対象物を出力してもよい。その際、出力部103は、複数の出力先に同じデータを出力してもよいし、出力先ごとに異なるデータを出力してもよい。出力部103は、例えば、情報処理装置10が備える各種の出力装置(例えば、表示装置、音声出力装置、画像出力装置、データ書込装置、各種の通信インタフェースに対応したデータ出力装置等)により実現される。なお、出力部103は、情報処理装置10の外部機器によって実現されてもよい。その場合、情報処理装置10は、当該出力部103とのインタフェースを含んでいればよい。
【0051】
制御部104は、情報処理装置10上で動作し、上述のモデル制御部101に加えて、前処理部105と、後処理部106とを含む。
【0052】
前処理部105は、制御部104で生成される対象物の精度を上げるための処理を行う。前処理部105は、例えば、モデル入力データD101に対し、要素の追加、変更または削除、もしくはデータの変換(加工を含む)を行ってもよい。
【0053】
前処理部105は、例えば、入力部102がモデル入力データD101を受け付けると、モデル入力データD101に対し、要素の変更(追加および削除を含む)もしくはデータの変換(加工を含む)を行ってもよい。要素の変更もしくはデータの変換(加工を含む)には、データ形式の変更だけでなく、データが表す表現または概念の変更も含まれる。後段のモデル制御部101には、モデル入力データD101として、前処理部105による変更後のデータが入力される。前処理部105が行う処理は、いわゆるモデル制御部101へのプロンプト整形を含む。
【0054】
前処理部105は、例えば、モデル入力データD101を所定の単位データに分解する処理を行ってもよい。また、前処理部105は、例えば、複数のモデル入力データD101を統合する処理を行ってもよい。さらに、前処理部105は、モデル入力データD101を所定の単位データに分解したうえで要素の変更もしくはデータの変換をしてもよいし、複数のモデル入力データD101を統合したうえで、要素の変更もしくはデータの変換をしてもよい。
【0055】
後処理部106は、例えば、制御部104(特にモデル制御部101)で生成された対象物に問題があった場合に、対象物を修正する。後処理部106は、例えば、上述した知識グラフを用いて、対象物に問題があるか否かを判断してもよい。例えば、知識グラフによって示される関係と、モデル入力データに含まれる表現または概念とモデル出力データに含まれる表現または概念との関係、および/またはモデル出力データに含まれる表現または概念同士の関係との間の類似性を比較して、知識グラフによって示される関係から所定の距離以上離れている場合に、対象物に問題があると判断してもよい。
【0056】
なお、上述した構成要素のうちモデル制御部101以外の構成要素は必須ではなく、適宜実装の有無を選択できる。
【0057】
また、モデル情報D102および学習モデルが用いるその他の情報は、予め用意されたものであってもよいし、必要に応じて、通信ネットワークを介して取得されるものであってもよい。
【0058】
図5は、学習モデル部100を含む制御部104等の動作環境としての情報処理装置10の他の例を示す構成図である。
図5に示す情報処理装置10は、学習モデル部100(特にモデル制御部101)と、入力処理部201と、出力確認部202と、修正確認部203とを含む制御部104aを備えていてもよい。
【0059】
入力処理部201は、ユーザ1などの入力元1aから入力情報D11を受け付ける。また、入力処理部201は、学習モデル部100に、受け付けた入力情報D11をモデル入力データD101として出力する。
【0060】
その際、入力処理部201は、例えば、入力情報D11に対して、要素の変更もしくはデータの変換をしたものを、モデル入力データD101として出力してもよい。入力処理部201は、例えば、入力情報D11からノイズを除去してもよい。また、入力処理部201は、例えば、入力情報D11に定性的な情報が含まれている場合に、該情報を定量的な情報に変換してもよい。また、入力処理部201は、例えば、入力情報D11に定量的な情報が含まれている場合に、該量を入力情報D11の要求の対象とされる機器やその動作環境に応じて補正してもよい。また、入力処理部201は、例えば、いわゆるグラウンディング処理、すなわち入力情報D11で示される表現または概念を、より具体化した表現または概念に変更してもよい。
【0061】
また、入力処理部201は、入力情報D11に不明確または不確定な情報が含まれている場合に、入力元に問合せを返してもよい。入力処理部201は、問合せとして、例えば、入力内容を確認するメッセージ、入力情報D11の修正案を提案するメッセージ、状態もしくは表現の異なる入力情報D11の再入力などを依頼するメッセージを出力してもよい。また、入力情報D11の修正案は、後述する修正確認部203によって生成されたものであってもよい。以下では、入出力後の学習モデルの入出力データに対して内容の修正、追加、取消を示す情報を、補足情報D18と呼ぶ場合がある。修正案は補足情報D18の一例である。
【0062】
出力確認部202は、学習モデル部100から出力されるモデル出力データD103に基づいて、対象機器2の制御および状態を模擬したシミュレーションを実施する。出力確認部202は、モデル出力データD103を、対象機器2の制御および状態を模擬することができる所定のシミュレータ(不図示)に合致する制御情報に変換した上で、シミュレーションを実施してもよい。出力確認部202がシミュレータの機能を有していてもよい。出力確認部202は、シミュレーションを実施する際、モデル出力データD103の出力先2aから取得される情報を利用してもよい。ここで、出力先2aには、モデル出力データD103から生成される情報の出力先が含まれる。出力先2aから取得される情報には、例えば、後述する状態情報D15および/またはフィードバック情報D16が含まれていてもよい。
【0063】
出力確認部202は、例えば、対象機器2の状態、対象機器2を含むシステムの状態、および/または対象機器2が有するワークの状態を確認してもよい。また、出力確認部202は、動作確認をする前に、モデル出力データD103またはそれをもとに生成される情報に対して、人が理解できる中間生成物を生成して、表示してもよい。中間生成物の例としては、制御プログラムに対してソースコードや、対象機器2への操作指令に対して対象機器2のコントローラの操作画像が挙げられる。また、出力確認部202は、シミュレーションの結果を、学習モデルの信頼性指標とともに表示してもよい。
【0064】
以下は、学習モデルの信頼性指標の例である。例えば、事前学習時等に、学習モデルへの入力があるごとにその結果を人が評価した結果を蓄積し、入力と評価結果を学習した評価ネットワークを備え、学習モデル使用時に、学習モデルの入力を上述した評価ネットワークにも入力して、その出力結果を信頼性指標としてもよい。
【0065】
また、例えば、事前学習時等に、学習モデルの出力をクラスタリングする学習器を備え、学習モデル使用時に、学習モデルの出力を上述した学習器にも入力して、そのクラスタリングの結果を信頼性指標としてもよい。
【0066】
また、例えば、事前学習時等に、学習モデルへの入力があるごとにその結果を人が評価した結果を蓄積し、評価結果が高い入力の特徴量を学習した評価ネットワークを備え、学習モデル使用時に、学習モデルの入力を上述した評価ネットワークにも入力して、その出力結果である特徴量と学習結果の特徴量との類似度を信頼性指標としてもよい。
【0067】
また、例えば、事前学習時等に、学習モデルへの入力があるごとにその結果を人が評価した結果を蓄積し、評価結果が高い学習モデルの入力をクラスタリングする学習器を備え、学習モデル使用時に、学習モデルの入力を上述した学習器にも入力して、そのクラスタリングの結果を信頼性指標としてもよい。
【0068】
修正確認部203は、出力確認部202によって実施されたシミュレーションの結果を用いて、モデル出力データD103および/またはモデル入力データD101の正当性を判断する。修正確認部203は、例えば、シミュレーション結果で示される対象機器2の状態と、入力情報D11、モデル出力データD103および/またはモデル入力データD101により特定される対象機器2の状態とを比較して、正しい制御が行われているかどうかを判断することにより、モデル出力データD103および/またはモデル入力データD101の正当性を判断してもよい。修正確認部203は、シミュレーション結果で示される対象機器2の状態と、モデル出力データD103および/またはモデル入力データD101により特定される対象機器2の状態とが一致した場合に、正しい制御が行われていると判断してもよい。ここで比較する対象機器2の状態は1つに限られない。
【0069】
また、修正確認部203は、例えば、シミュレーション結果で示される対象機器2の状態または制御の軌跡が、入力情報D11で示される制御と一致しているかどうか、または予め禁止されている内容を含んでいないかどうか等を確認することにより、モデル出力データD103および/またはモデル入力データD101の正当性を判断してもよい。
【0070】
また、修正確認部203は、シミュレーション結果を、入力情報D11の入力元1aに提示して、所望の制御が行われているかどうかを回答してもらうことにより、モデル出力データD103および/またはモデル入力データD101の正当性を判断してもよい。
【0071】
修正確認部203は、モデル出力データD103および/またはモデル入力データD101が正しくないと判断した場合、モデル入力データD101を修正してもよい。また、修正確認部203は、モデル入力データD101の修正に代えて、入力情報D11に対する補足情報D18を生成し、入力元1aに出力してもよい。
【0072】
制御システム1000は、例えば、学習モデル部100の動作環境として、
図1~
図5のいずれかに示す構成を備えていてもよい。学習モデル部100と同様、その場合においても、当該構成の一部またはすべては、制御システム1000の内部構成であってもよいし、外部構成であってもよい。
【0073】
なお、上述した学習モデル部100およびその周辺の構成はあくまで例示であって、すべての構成要素が必須の構成ではなく、所望の機能に応じて適宜実装の有無を選択すればよい。
【0074】
図6は、モデル学習の例を示す説明図である。
図6に示すように、モデル情報D102は、例えば、モデル生成部107が、モデル学習データD105を用いて機械学習することによって生成されたものであってもよい。
【0075】
モデル生成部107は、所定のアルゴリズムに従い、入力されたモデル学習データD105に基づいて、モデル情報D102を生成もしくは更新する処理部である。モデル生成部107は、例えば、情報処理装置20が備えるプログラムに従って動作するCPUなどによって実現される。ここで、モデル生成部107が従うアルゴリズムは、学習モデルに対応する機械学習のアルゴリズム、例えば教師あり学習、強化学習または教師なし学習であってもよいし、深層学習、遺伝的プログラム、機能論理プログラムその他の公知のアルゴリズムであってもよい。
【0076】
また、モデル生成部107は、入力されたモデル学習データD105に対して、さらにモデル参照情報D104に基づいてモデル情報D102を生成もしくは更新してもよい。また、モデル生成部107は、入力されたモデル学習データD105に対して、さらにモデル制御部101からのモデル出力データD103に基づいてモデル情報D102を生成、更新してもよい。
【0077】
モデル学習データD105は、特に限定されない。モデル学習データD105は、例えば、学習アルゴリズムとして教師あり学習を用いる場合には、入力されうるモデル入力データD101の候補と、それに対応するモデル出力データD103の候補とを含んでいてもよい。また、モデル学習データD105には、実際に入力されたモデル入力データD101および/または実際に出力されたモデル出力データD103が含まれていてもよい。実際のモデル入力データD101および/またはモデル出力データD103を適宜用いることにより、フィードバック制御を行うことができる。また、モデル学習データD105には、学習モデルが実際に動作するシステムが備える機器もしくは処理部より取得される情報が含まれていてもよい。
【0078】
モデル生成部107によって生成もしくは更新されたモデル情報D102は、モデル情報記憶部11に記憶されることにより、モデル制御部101に提供される。または、モデル生成部107は、モデル情報D102を直接モデル制御部101に出力することも可能である。
【0079】
モデル生成部107は、例えば、事前学習により、モデル制御部101がモデル情報D102を使用する前に、入力されたモデル学習データD105を用いてモデル情報D102を生成し、モデル情報記憶部11に記憶してもよい。
【0080】
モデル生成部107によるモデル情報D102の更新は、いわゆるFineTuneと呼ばれる処理であってもよい。
【0081】
なお、モデル生成部107は、制御システム1000に含まれていてもよいし、制御システム1000とは別のシステムに含まれていてもよい。
【0082】
また、
図1では、学習モデル部100と、機器情報記憶部110および機器情報D13とを分けて示しているが、機器情報記憶部110および機器情報D13は学習モデル部100の一部であってもよい。すなわち、学習モデル部100が機器情報記憶部110および機器情報D13を含んでいてもよい。例えば、学習モデル部100が、後述する参照情報記憶部12の1つとして機器情報記憶部110を備えていてもよい。また、学習モデル部100が用いるモデルを学習するモデル学習フェーズにおいて機器情報D13を用いることで、該モデルに機器情報D13が予め組み込まれている状態としてもよい。その場合、機器情報記憶部110は省略されてもよい。
【0083】
また、学習モデル部100の一部またはすべては、制御システム1000の内部構成であってもよいし、制御システム1000の外部構成であってもよい。制御システム1000の外部構成とした場合、制御システム1000は、学習モデル部100の一部またはすべてに代えて、該一部またはすべてを備える外部のシステムとの間で情報をやり取りできるインタフェースを備えていればよい。例えば、制御システム1000は、学習モデルのコアと呼ばれるモデル情報記憶部11を外部構成としてもよい。また、例えば、制御システム1000は、学習モデルのコアと呼ばれるモデル情報記憶部11およびモデルのアルゴリズムを担うモデル制御部101を外部構成としてもよい。
【0084】
以下、制御システム1000において、学習モデルのアルゴリズムを担うモデル制御部101と、そのようなモデル制御部101に要求を投げて応答を得る処理を行う部分とを区別するために、後者の処理を行う部分を「モデル処理部」と呼ぶ場合がある。モデル処理部は、より具体的には、上述した情報処理装置10、制御部104または制御部104aのうちモデル制御部101以外の部分に相当する。なお、モデル処理部は、例えば、モデル制御部101が内部環境に存在する場合は、情報処理装置10上で動作する、学習モデルアプリケーションを呼び出す、OS(Operating System)、プロンプトアプリケーション(とその動作環境とされる制御部)によって実現されてもよい。なお、モデル処理部は、例えば、モデル制御部101が外部環境に存在する場合は、情報処理装置10上で動作するブラウザ、クライアントアプリケーション(とその動作環境とされる制御部)によって実現されてもよい。
【0085】
なお、上述した学習モデルおよびその動作環境としての情報処理装置の構成、並びに学習モデルとそれを備える制御システムとの関係については、他の実施の形態においても同様である。
【0086】
本実施の形態において、入力情報D11がモデル入力データD101に相当する。また、制御記述D12がモデル出力データD103に相当する。学習モデル部100(特に、モデル制御部101)は、例えば、入力情報D11を受け付けると、モデル情報D102および必要に応じてモデル参照情報D104に基づいて、入力情報D11に対応する制御記述D12を出力するよう構成されてもよい。
【0087】
また、そのような場合において、学習モデル部100に対応して備えられるモデル生成部107は、例えば、モデル制御部101に入力されうる入力情報D11の候補を含むモデル学習データD105を用いて機械学習を行って、モデル情報D102を生成または更新してもよい。また、モデル生成部107は、例えば、モデル制御部101に入力されうる入力情報D11の候補と、それに対応する制御記述D12の候補とを含むモデル学習データD105を用いて機械学習を行って、モデル情報D102を生成または更新してもよい。
【0088】
本実施の形態において、学習モデル部100は、例えば、自然言語を入力して出力結果を得るLLMなどの言語学習モデルおよびその動作環境であってもよい。また、学習モデル部100は、例えば、画像を入力して出力結果を得るVLMなどの画像学習モデルおよびその動作環境であってもよい。また、学習モデル部100は、例えば、自然言語と画像を入力して出力結果を得るマルチモーダルモデルおよびその動作環境であってもよい。その場合において、入力情報D11は、テキストデータ、画像データ、テキストデータと画像データの組み合わせ、またはそれらに変換可能なデータ形式(音声データ、音声データと画像データの組み合わせである動画など)で入力されてもよい。なお、本実施の形態で用いる学習モデルは上述したモデルに限定されない。
【0089】
本実施の形態において、制御システム1000が受け付ける入力情報D11は、作業環境、ここでは対象機器2が動作する環境における要望(ここでは、対象機器2に対して要求される制御内容)に関する情報ということができる。したがって、制御システム1000が受け付ける入力情報D11は、作業環境における要望を示す第1の情報の一例ということができる。また、制御記述D12および実行コードD14は、そのような入力情報D11に対応して、当該作業(対象機器2への制御にかかる作業)に用いられる情報ということができる。以下では、入力情報D11に基づくモデル入力データが入力される学習モデルの動作環境より所定の出力先に出力される制御記述D12を、第2の情報と呼ぶ場合がある。
【0090】
ここで、入力情報D11とモデル入力データとの関係において、入力情報D11に基づくモデル入力データといった場合には、入力情報D11そのもの、入力情報D11を学習モデルの入力に合致する形式に変換したもの、入力情報D11を補足したものが含まれうる。また、モデル出力データと第2の情報との関係において、モデル出力データに基づく第2の情報といった場合には、モデル出力データそのものの、モデル出力データを出力先の入力に合致する形式に変換したもの、モデル出力データを補足したものが含まれうる。他の実施の形態における入出力情報とモデル入出力データとの関係についても同様である。
【0091】
次に、本実施の形態の制御システム1000の動作を説明する。
図7は、制御システム1000の動作例を示すフローチャートである。
【0092】
図7に示す例では、まず、制御システム1000が、入力情報D11を受け付ける(ステップS110)。例えば、上述した入力部102または入力処理部201が、入力情報D11を受け付けてもよい。受け付けた入力情報D11は、モデル入力データD101として、学習モデル部100に入力される。
【0093】
ステップS110において、制御システム1000は、複数の入力情報D11を受け付けてもよい。また、制御システム1000は、ユーザ1と対話的に、すなわちユーザ1との間で入力情報D11に関連する情報の入出力を繰り返しながら、よりユーザ1の要望に合致する入力情報D11を受け付けてもよい。
【0094】
次いで、制御システム1000は、学習モデル部100を用いた制御記述D12の生成処理を行う(ステップS111)。ステップS111では、学習モデル部100が、入力された入力情報D11に対応する制御記述D12を生成して出力する。例えば、学習モデル部100(より具体的には、モデル制御部101)が、モデル情報D102および入力された入力情報D11、並びに必要に応じて機器情報D13を含むモデル参照情報D104に基づいて、入力情報D11に対応する制御記述D12を出力する。学習モデル部100は、例えば、テキストデータを生成可能な学習モデルを用いて、入力された入力情報D11からテキストデータの制御記述D12を生成してもよい。
【0095】
ステップS111において、さらに学習モデル部100(より具体的には、前処理部105または入力処理部201)が、モデル制御部101の処理の前に、制御記述D12の精度を上げるために、入力された入力情報D11に対し、要素の追加、変更または削除、もしくはデータの変換(加工を含む)を行ってもよい。また、ステップS111において、さらに学習モデル部100(より具体的には、後処理部106)が、モデル制御部101の処理の後に、制御記述D12に問題があるか否かを判断して、問題があると判断した場合に制御記述D12を修正する処理を行ってもよい。
【0096】
学習モデル部100から出力された制御記述D12は、実行コード生成部120に入力される。制御記述D12が入力されると、実行コード生成部120が、入力された制御記述D12に基づいて実行コードD14を生成する(ステップS112)。
【0097】
次いで、実行コード生成部120によって生成された実行コードD14が、対象機器2に入力される(ステップS113)。既に説明したように、対象機器2への実行コードD14の入力は、制御システム1000(より具体的に実行コード生成部120)から直接入力されてもよいし、通信ネットワークや他の機器(サーバ、各種の変換装置等)や人の手を介して間接的に入力されてもよい。
【0098】
これにより、対象機器2が、入力された実行コードD14に従って動作する。
【0099】
制御システム1000は、実行コードD14を出力した結果、対象機器2が制御されるなどして対象機器2の状態に変化があれば、状態情報D15を取得してもよい(ステップS114)。取得した状態情報D15は、例えば、機器情報D13の一部として機器情報記憶部110に記憶される。制御システム1000は、例えば、取得した状態情報D15を用いて、機器情報記憶部110に記憶されている機器情報D13を更新してもよい。また、制御システム1000は、例えば、取得した状態情報D15を、制御結果を示す情報としてユーザ1、学習モデル部100または図示しない他の装置に出力してもよい。なお、制御システム1000が状態情報D15を用いない場合には、ステップS114の処理は省略されうる。
【0100】
制御システム1000は、ステップS110~ステップS114の処理を、複数回(例えば、対象機器2に対して所望の制御が完了するまで)繰り返してもよい。
【0101】
なお、制御システム1000は、制御記述D12をユーザ1の操作端末等に出力して、ユーザ1が内容を確認した上で、ユーザ1の操作によってその後の処理(実行コード生成部120でのコード生成等)が実行されるようにしてもよい。
【0102】
学習モデル部100に入力された状態情報D15は、例えば、学習モデル部100の追加学習に利用される。学習モデル部100は、例えば、入力された状態情報D15に基づいて、モデル情報D102および/またはモデル参照情報D104を更新してもよい。
【0103】
以上のように、本実施の形態によれば、ユーザ1が制御記述D12を作成することなく、ユーザ1から入力される入力情報D11から実行コードD14を生成できるので、対象機器2を制御する作業の効率化を図ることができる。
【0104】
また、本実施の形態において、入力情報D11は、対象機器2に対する制御内容を明示的または暗黙的に示すテキスト、画像、音声またはそれらの組み合わせであってもよいため、さらに入力情報D11の入力の手間を抑制しつつ、対象機器2を制御する作業の効率化を図ることができる。
【0105】
また、本実施の形態によれば、入力情報D11から学習モデルを利用して制御記述D12を生成できるので、ユーザ1が対象機器2の細かな仕様や制御記述D12の仕様など対象機器2を制御するための情報等を知らなくても、入力情報D11に対応する制御記述D12を生成できるので、対象機器2を制御する作業の高性能化を図ることができる。ここで、対象機器2を制御する作業の高性能化には、対象機器2の制御の高精度も含まれる。
【0106】
また、本実施の形態では、入力情報D11に基づいて対象機器2を制御した後に取得される状態情報D15を、次の制御記述D12の生成等に利用することができるので、対象機器2を制御する作業の高性能化をより図ることができる。
【0107】
なお、上述した例では、対象機器2は1つしか示していないが、制御システム1000が制御対象とする対象機器2は複数であってもよい。そのような場合、例えば、入力情報D11に対象機器2を判別可能な情報を含ませてもよいし、学習モデル部100への入力側(入力部102、前処理部105、入力処理部201)が入力情報D11に基づいて対象機器2を判別する処理を行ってもよいし、学習モデル部100が、学習の結果として対象機器2が判別された制御内容を出力してもよい。
【0108】
変形例1-1.
次に、制御システム1000の変形例を説明する。
図8は、本実施の形態にかかる制御システム1000の変形例である制御システム1000aの例を示す構成図である。なお、制御システム1000と同じ要素については、同じ符号を付し説明を省略する。
【0109】
図8に示す制御システム1000aでは、学習モデル部100からの出力を、ユーザ1が確認した上で、後段の実行コード生成部120に入力する。
【0110】
本実施の形態において、ユーザ1は、学習モデル部100から出力された制御記述D12を確認し、確認結果をもとに、入力情報D11を入力することができる。また、ユーザ1は、学習モデル部100から出力された制御記述D12に加えて、実行コード生成部120および/または対象機器2からのフィードバック情報D16を確認し、それらの確認結果をもとに、入力情報D11を入力してもよい。この際、ユーザ1は、新たな内容の入力情報D11を入力するほか、すでに入力した内容の修正、追加、取消を示す入力情報D11を入力してもよい。このとき、入力情報D11に、学習モデル部100に対する指令を含ませることができる。例えば、ユーザ1は、フィードバック情報D16とともに、入力情報D11に含まれる不具合、または出力された制御記述D12に含まれる不具合を取り除くための指令を、入力情報D11として入力してもよい。ここで、不具合を取り除くための指令には、不具合の原因や不具合の解決方法を探すための入力も含まれる。
【0111】
フィードバック情報D16は、学習モデル部100より後段の処理部に制御を要求した際に、該処理部から返される該要求に対する応答を含んでいてもよい。また、フィードバック情報D16は、学習モデル部100より後段の処理部に制御を要求した後に該処理部から得られる情報を含んでいてもよい。フィードバック情報D16は、例えば、実行コード生成部120に対して、制御記述D12を入力して制御記述D12の生成を要求した際に、実行コード生成部120から返される該要求に対する応答を含んでもよい。また、フィードバック情報D16は、対象機器2に対して、実行コードD14を入力してコードの実行を要求した際に、対象機器2から返される該要求に対する応答を含んでもよい。フィードバック情報D16には、状態情報D15が含まれうる。フィードバック情報D16は、直接ユーザ1に向けて出力されてもよいし、実行コード生成部120または制御システム1000が備える出力装置(不図示)を介してユーザ1に出力されてもよい。
【0112】
また、フィードバック情報D16は、学習モデル部100より後段の処理部に対して要求する制御が該処理部において正しく実行されるかどうかを判断するための情報を含むことができる。当該情報は、該処理部から直接得られる情報に限定されない。例えば、別の人、機器、ネットワークまたはAI(いずれも不図示)から得られる情報であってもよい。フィードバック情報D16は、例えば、実行時間または制御の軌跡情報など、実行コードD14が目的の制御を正しく実行できるかどうかを判断するための解析情報を含むことができる。ユーザ1は、例えば、フィードバック情報D16に含まれるそのような情報に基づいて、制御記述D12におけるフローのタイミングの制御またはリードタイムの調整等を、学習モデル部100に指示することも可能である。
【0113】
また、ユーザ1は、例えば、フィードバック情報D16を利用して学習モデル部100と複数回のやりとりを行って、その都度、出力された制御記述D12の正当性(問題の有無)を判断するようにしてもよい。ユーザ1は、制御記述D12に問題がないと判断した場合に、該制御記述D12を実行コード生成部120に出力するようにしてもよい。
【0114】
フィードバック情報D16の取得は、例えば、上述したステップS114において行うことができる。
【0115】
なお、
図8では、ユーザ1が実行コード生成部120に制御記述D12を入力する例が示されているが、実行コード生成部120への制御記述D12の入力は、ユーザ1からの指示を受けた学習モデル部100が行うことも可能である。
【0116】
本例において、制御記述D12は、例えば、ローコードまたはノーコードに対応した記述を含んでいてもよい。
【0117】
本例におけるユーザ1と学習モデル部100との間の情報のやりとりは、例えば、ユーザ1が備える端末を介して行われてもよいし、学習モデル部100が動作する情報処理装置10が備えるユーザインタフェース(例えば、入力部102)を介して行われてもよい。
【0118】
また、本例における入力情報D11の更新を、ユーザ1ではなく、制御システム1000側(例えば、修正確認部203等)で行うように構成されてもよい。
【0119】
また、フィードバック情報D16は学習モデル部100に入力されてもよい。学習モデル部100に入力されたフィードバック情報D16は、例えば、学習モデル部100の追加学習に利用される。学習モデル部100は、入力されたフィードバック情報16に基づいて、モデル情報D102および/またはモデル参照情報D104を更新してもよい。
【0120】
他の点に関しては、本実施の形態にかかる他の制御システムと同様でよい。
【0121】
以上のように、本変形例では、ユーザ1は、学習モデル部100から出力される制御記述D12を確認して学習モデル部100との間で追加の指示やバグ相談等のやり取りを行いながら、入力情報D11を修正することができるので、出力される制御記述D12の高精度化を図ることができる。その結果、対象機器2を制御する作業の効率化および高性能化を図ることができる。
【0122】
変形例1-2.
次に、制御システム1000の第2の変形例を説明する。
図9は、制御システム1000の変形例である制御システム1000bの例を示す構成図である。なお、制御システム1000および制御システム1000aと同じ要素については、同じ符号を付して説明を省略する。
【0123】
図9に示す制御システム1000bでは、学習モデル部100が、ユーザ1に、問合せD17を返す点が異なる。問合せD17の例としては、例えば、不明確または不確定な入力情報D11を問い直すもの、解を問うもの、状態または表現を変えたものへの再入力を依頼するものが挙げられる。学習モデル部100は、不明確または不確定な入力情報D11の問い直しとして、参照箇所の提示とともに、より具体的な情報の入力を求める問合せD17を、ユーザ1に向けて出力してもよい。また、学習モデル部100は、解を問うものとして、参照箇所の提示とともに、解の候補を選択肢として与える問合せD17を、ユーザ1に向けて出力してもよい。また、学習モデル部100は、解を問うものとして、参照箇所の提示とともに、最も可能性が高いと思われる解の情報とともにその正否を問う問合せD17を、ユーザ1に向けて出力してもよい。また、学習モデル部100は、一旦人の理解が容易な中間的な制御記述である中間制御記述を生成し、生成された中間制御記述とともに、その正否を問う問合せD17を、ユーザ1に向けて出力してもよい。
【0124】
問合せD17の出力は、例えば、上述したステップS110の後において行われてもよい。
【0125】
学習モデル部100は、問合せD17に対するユーザ1からの回答を受け付けると、入力情報D11を更新するまたは入力情報D11の解釈(意味づけ)を確定してもよい。
【0126】
本例における上述した学習モデル部100の処理は、例えば、学習モデル部100の入力部102もしくは前処理部105、または情報処理装置10が備える入力処理部201(不図示)の一部の機能として実装することも可能である。
【0127】
以上のように、本変形例では、入力された入力情報D11に対して、ユーザ1に問合せD17を出力してその回答をもとに入力情報D11の更新または解釈の確定を行うので、入力情報D11の不確定さを解消できる。その結果、出力される制御記述D12の高精度化、ひいては対象機器2を制御する作業の効率化および高性能化を図ることができる。
【0128】
変形例1-3.
次に、制御システム1000の第3の変形例を説明する。
図10は、制御システム1000の変形例である制御システム1000cの例を示す構成図である。なお、制御システム1000,1000a,1000bと同じ要素については、同じ符号を付して説明を省略する。
【0129】
図10に示す制御システム1000cは、さらに状態取得部130を備えている。状態取得部130は、学習モデル部100から出力される制御記述D12およびそれから生成される実行コードD14の処理先から、処理結果を示すフィードバック情報D16もしくは処理後の機器の状態を示す状態情報D15を取得する。ここで、フィードバック情報D16または状態情報D15は、実行時間または制御の軌跡情報など、実行コードD14が目的の制御を正しく実行できたかどうかを判断するための情報を含むことができる。
【0130】
状態取得部130は、例えば、取得したそれらの情報を学習モデル部100に入力してもよい。また、状態取得部130は、例えば、取得したそれらの情報に基づいて、機器情報D13を更新してもよい。また、状態取得部130は、例えば、取得したそれらの情報に基づいて、入力情報D11を補足(追加、修正、取消を含む)する情報を生成し、補足情報D18として学習モデル部100に入力してもよい。また、状態取得部130は、例えば、取得したそれらの情報に基づいて、制御記述D12を補足(追加、修正、取消を含む)する情報を生成し、補足情報D18として学習モデル部100に入力してもよい。
【0131】
状態取得部130は、例えば、新たな内容の制御指令、もしくはすでに入力した入力情報D11で示された内容の追加、修正、取消を示す指令を、補足情報D18として生成して、学習モデル部100に入力してもよい。また、状態取得部130は、例えば、取得した情報とともに、入力情報D11に含まれる不具合、または出力された制御記述D12に含まれる不具合を取り除くための指令を、補足情報D18として学習モデル部100に入力してもよい。
【0132】
状態取得部130は、例えば、取得した情報が、処理先における正常処理または正常状態を示す情報であるか否かを判断し、そうでない場合に、取得した情報とともに、すでに入力した入力情報D11で示された内容の修正、追加、取消を示す補足情報D18を、学習モデル部100に入力してもよい。
【0133】
学習モデル部100は、例えば、入力された情報(状態情報D15、フィードバック情報D16、補足情報D18等)に基づいて、モデル情報D102および/またはモデル参照情報D104を更新してもよい。
【0134】
補足情報D18の生成は、例えば、上述したステップS115において行われてもよい。また、補足情報D18の出力先には、学習モデル部100以外も含まれうる。制御システム1000は、例えば、状態取得部130により生成された補足情報D18を、ユーザ1または図示しない他の装置に出力してもよい。
【0135】
また、状態取得部130は、対象機器2を実際には動作させずに、対象機器2のシミュレータ(不図示)による動作結果または対象機器2のデバッグモードでの動作結果を取得するようにしてもよい。対象機器2のデバッグモードとは、対象機器2の制御基板上で実行コードを実行するが、実際の機器制御は行わず、内部状態のみを更新するモードをいい、空運転モードとも呼ばれる。デバッグモードを利用することで、安全に、対象機器2上で実際の制御に近い状態にて実行コードD14を試すことができる。
【0136】
本変形例に限らず、対象機器2を実際には動作させずに、学習モデル部100から出力される制御記述D12および制御記述D12から生成される実行コードD14の正当性を判断する方法として、実行コード生成部120は、実行コードD14の出力先として、対象機器2とシミュレータとを切替可能なように接続されていてもよい。シミュレータには、拡張現実空間にて対象機器2のアイコンを動作させるものを含む。また、実行コード生成部120は、実行コードD14を対象機器2に出力する際に、通常モードでの実行かデバッグモードでの実行かを指示する情報を付与してもよい。
【0137】
本例における状態取得部130の処理は、例えば、学習モデル部100の入力部102、前処理部105および後処理部106、または情報処理装置10が備える入力処理部201、出力確認部202および修正確認部203(いずれも不図示)の一部の機能として実装することも可能である。
【0138】
他の点に関しては、本実施の形態にかかる他の制御システムと同様でよい。
【0139】
以上のように、本変形例では、入力された入力情報D11に対して、状態取得部130が、モデル出力データD103および/またはそれを元に生成される情報の出力先とされる対象機器2または実行コード生成部120から、処理結果を示すフィードバック情報D16もしく処理後の機器の状態を示す状態情報D15を取得し、取得した情報に基づいて、学習モデル部100に対して適宜補足情報D18を発行する。これにより、制御記述D12の高精度化、ひいては対象機器2を制御する作業の効率化および高性能化を図ることができる。
【0140】
また、本変形例では、例えば、人とマシン(状態取得部130)とが協調して、学習モデル部100への入力の精度を向上させることができるので、ユーザ1の作業負荷の軽減にも貢献できる。
【0141】
実施の形態2.
次に、本実施の形態2について説明する。本実施の形態では、学習モデルを利用して、対象機器の制御にかかる作業を支援する例について説明する。
【0142】
以下では、例えば工場内において、PLC、加工機、ロボット、センサ、搬送装置その他の機械の制御装置などの各種の制御機器を制御することを考える。熟練の作業者であれば、多種多様な制御機器や複雑な制御機器の制御方法を熟知しているかもしれないが、配置換えなどによってそうでない作業者が制御機器に対して制御を行う必要が生じる場合がある。また、新たな制御機器(バージョンアップを含む)の導入があると、新たな制御機器に対応した制御方法を作業者全員に周知させる必要があり、周知が十分でないとミスにつながるおそれがある。
【0143】
そのような場合に、具体的な制御方法、例えば制御機器に対して行う制御命令、制御信号、制御コードもしくは制御機器に対応するコントローラへのコマンド等を知らなくても、確実に所望の制御が行えると作業の効率化および高性能化につながるため好ましい。
【0144】
なお、機器を制御する場面は工場内に限られず、本実施の形態の活用場面も工場内に限定されない。
【0145】
図11は、実施の形態2にかかる制御システム2000の例を示す構成図である。
図11に示す制御システム2000は、学習モデルを利用して機器を制御するための制御システムであって、学習モデル部200と、機器情報記憶部210(図中では機器情報DBと記す)とを備える。
【0146】
学習モデル部200は、入力情報D21が入力されると、制御指令D22を出力する。学習モデル部200は、例えば、入力情報D21が入力されると、モデル情報D102に基づいて制御指令D22を出力する。学習モデル部200の構成は、実施の形態1における学習モデル部100と基本的に同様でよい。
【0147】
本実施の形態において、学習モデル部200は、入力情報D21が入力されると、入力情報D21に対応する制御指令D22を出力するように構成されたモデルおよびその動作環境である。また、学習モデル部200は、入力情報D21が入力されると、入力情報D21、機器情報D23および学習モデル部200において他に参照可能な情報に基づいて、制御指令D22を生成して出力するように構成されたモデルおよびその動作環境であってもよい。
【0148】
本実施の形態において、入力情報D21は、対象機器2に対する制御内容を示す情報を含む。入力情報D21は、例えば、対象機器2に対する制御内容を示すテキスト、画像、音声またはそれらの組み合わせであってもよい。入力情報D21は、例えば、対象機器2に対する複数の制御内容を示すテキスト、画像、音声またはそれらの組み合わせであってもよい。また、入力情報D21は、時間的に連続して行われる制御内容を示す情報を含んでいてもよく、その場合、上述したような制御内容を示すテキスト、画像、音声またはそれらの組み合わせを含む所定のデータ構造の時系列データであってもよい。制御内容の示し方は、学習モデル部200が用いるモデルの入力形式に合致していることを前提とするが、学習モデル部200の前段にエラー処理、補正処理または変換処理が含まれる場合等はこの限りではない。
【0149】
入力情報D21における制御内容の示し方は、例えば、実施の形態1と同様でよい。例えば、対象機器2に対して行う制御を特定した上で、その制御を行うためのパラメータの値や、制御後の状態を指定してもよい。その場合、入力情報D21は、例えば、制御を特定する情報と、その制御を行うためのパラメータの値または制御後の状態を示す情報とを含んでもよい。また、入力情報D21には、対象機器2に対する制御内容を直接示す情報だけでなく、その制御内容に対応する操作内容、ユーザ1の言動、対象機器2の画像または他の機種等における同様の制御指令等を用いて間接的に示す情報も含まれうる。
【0150】
制御指令D22は、対象機器2または対象機器2に制御を要求するインタフェースが判別可能な所定の形式で示される対象機器2の制御に関する情報を含む。制御指令D22は、対象機器2への制御要求を示す情報を含んでいてもよい。制御指令D22は、例えば、対象機器2に対する制御命令、制御信号、制御コードである。また、制御指令D22は、例えば、対象機器2に対応した所定のコントローラが扱う形式で記述されたコマンドであってもよい。
【0151】
機器情報記憶部210は、対象機器2に関する情報である機器情報D23を記憶する。機器情報記憶部210および機器情報D23の取り扱いは、実施の形態1における機器情報記憶部110および機器情報D13と基本的に同様である。なお、本実施の形態における機器情報D23には、例えば、対象機器2の制御に用いられる情報が含まれていてもよい。機器情報D23は、例えば、学習モデル部200が制御指令D22を出力する際の追加情報として用いられる。以下、本実施の形態において、特に対象機器2の状態を示す情報を、状態情報D25という場合がある。
【0152】
本実施の形態において、学習モデル部200は、例えば、自然言語を入力して出力結果を得るLLMなどの言語学習モデルおよびその動作環境であってもよい。また、学習モデル部200は、例えば、画像を入力して出力結果を得るVLMなどの画像学習モデルおよびその動作環境であってもよい。また、学習モデル部200は、例えば、自然言語と画像を入力して出力結果を得るマルチモーダルモデルおよびその動作環境であってもよい。その場合において、入力情報D21は、テキストデータ、画像データ、テキストデータと画像データの組み合わせ、またはそれらに変換可能なデータ形式(音声データ、音声データと画像データの組み合わせである動画など)で入力されてもよい。なお、本実施の形態で用いる学習モデルは上述したモデルに限定されない。
【0153】
本実施の形態では、説明を簡略にするために、学習モデル部100に対応して備えられる構成要素の符号をそのまま用いて、学習モデル部200に対応して備えられる構成要素を説明する場合があるが、それらは、あくまで学習モデル部200に対応して備えられている点に留意されたい。なお、他の実施の形態においても同様である。
【0154】
本実施の形態において、入力情報D21がモデル入力データD101に相当する。また、制御指令D22がモデル出力データD103に相当する。学習モデル部200(特に、モデル制御部101)は、例えば、入力情報D21を受け付けると、モデル情報D102および必要に応じてモデル参照情報D104に基づいて、入力情報D21に対応する制御指令D22を出力するよう構成されてもよい。
【0155】
また、そのような場合において、学習モデル部200に対応して備えられるモデル生成部107は、例えば、モデル制御部101に入力されうる入力情報D21の候補を含むモデル学習データD105を用いて機械学習を行って、モデル情報D102を生成または更新してもよい。また、モデル生成部107は、例えば、モデル制御部101に入力されうる入力情報D21の候補と、それに対応する制御指令D22の候補とを含むモデル学習データD105を用いて機械学習を行って、モデル情報D102を生成または更新してもよい。
【0156】
符号D26は、対象機器2における制御結果を示すフィードバック情報である。本実施の形態においても、モデル出力データD103および/またはそれを元に生成される情報の出力先から、状態情報D25および/またはフィードバック情報D26を取得してもよい。制御システム2000は、例えば、取得した状態情報D25および/またはフィードバック情報D26を、制御結果を示す情報としてユーザ1、学習モデル部200または図示しない他の装置に出力してもよい。また、制御システム2000は、取得した状態情報D25および/またはフィードバック情報D26に基づいて、学習モデル部200の入出力データに対する補足情報D28を生成して、ユーザ1、学習モデル部200または図示しない他の装置に発行することも可能である。また、制御システム2000は、入力情報D21に不明確または不確定な情報が含まれる場合に、ユーザ1に問合せD27を返すように構成されてもよい。問合せD27の取り扱いは、実施の形態1の問合せD17と同様である。
【0157】
図12は、制御システム2000の他の例を示す構成図である。
図12に示すように、制御システム2000は、状態情報D25および/またはフィードバック情報D26の取得および補足情報D28の発行を行う状態取得部230をさらに備えてもよい。状態取得部230は、実施の形態1の状態取得部130と同様である。
【0158】
本実施の形態においても、対象機器2は特に限定されない。なお、対象機器2は、制御指令D22を受け取って実際に制御可能な機器であることを前提としているが、対象機器2との間にコントローラまたはコンバータなどの各種信号を変換する変換装置を含む場合は、この限りではない。その場合、変換装置が制御指令D22を受け取って対象機器2を制御すればよい。
【0159】
本実施の形態において、制御システム2000が受け付ける入力情報D21は、作業環境、ここでは対象機器2が動作する環境における要望(ここでは、対象機器2に対して要求される制御内容)に関する情報ということができる。したがって、制御システム2000が受け付ける入力情報D21は、作業環境における要望を示す第1の情報の一例ということができる。また、制御指令D22は、そのような入力情報D21に対応して、当該作業(対象機器2への制御にかかる作業)に用いられる情報ということができる。以下では、入力情報D21に基づくモデル入力データが入力される学習モデルの動作環境より所定の出力先に出力される制御指令D22を、第2の情報と呼ぶ場合がある。
【0160】
次に、本実施の形態の制御システム2000の動作を説明する。
図13は、制御システム2000の動作例を示すフローチャートである。
【0161】
図13に示す例では、まず、制御システム2000が、入力情報D21を受け付ける(ステップS210)。例えば、上述した入力部102または入力処理部201が、入力情報D21を受け付けてもよい。受け付けた入力情報D21は、モデル入力データD101として、学習モデル部200に入力される。
【0162】
次いで、制御システム2000は、学習モデル部200を用いた制御指令D22の生成処理を行う(ステップS211)。ステップS211では、学習モデル部200(より具体的には、モデル制御部101)が、モデル情報D102および入力された入力情報D21、並びに必要に応じて機器情報D23を含むモデル参照情報D104に基づいて、入力情報D21に対応する制御指令D22を出力する。
【0163】
ステップS211において、学習モデル部200は、例えば、バイナリデータを生成可能な学習モデルを用いて、入力された入力情報D21からバイナリデータの制御指令D22を生成してもよい。また、学習モデル部200は、例えば、テキストデータを生成可能な学習モデルを用いて、入力された入力情報D21からテキストデータの制御指令D22を生成してもよい。また、学習モデル部200は、例えば、画像データを生成可能な学習モデルを用いて、入力された入力情報D21から画像データの制御指令D22を生成してもよい。また、学習モデル部200は、例えば、音声データを生成可能な学習モデルを用いて、入力された入力情報D21から音声データの制御指令D22を生成してもよい。
【0164】
ステップS211において、さらに学習モデル部200の前処理部105および/または後処理部106が、上述した処理を行ってもよい。
【0165】
学習モデル部200から出力された制御指令D22は、例えば、対象機器2に入力される(ステップS212)。対象機器2への制御指令D22の入力は、制御システム2000(より具体的に学習モデル部200またはその動作環境である情報処理装置10)から直接入力されてもよいし、通信ネットワークや他の機器(サーバ、各種の変換装置等)を介して間接的に入力されてもよい。
【0166】
これにより、対象機器2が、入力された制御指令D22に従って動作する。
【0167】
制御システム2000は、制御指令D22を出力した結果、対象機器2が制御されるなどして対象機器2の状態に変化がある、対象機器2からフィードバックがある場合、状態情報D25およびフィードバック情報D26を取得してもよい(ステップS213)。なお、ステップS213の処理は必須ではなく、適宜省略されうる。
【0168】
制御システム2000は、ステップS210~ステップS213の処理を、複数回(例えば、対象機器2に対して所望の制御が完了するまで)繰り返してもよい。
【0169】
以上のように、本実施の形態によれば、ユーザ1が対象機器2に対する具体的な制御方法を知らなくても、ユーザ1から入力される入力情報D21から制御指令D22を生成し、生成された制御指令D22に基づいて対象機器2を制御できるので、対象機器2の制御にかかる作業の効率化および高度化を図ることができる。
【0170】
また、本実施の形態によれば、あいまいな情報からでも、適切な状態に機器を制御することができる。
【0171】
実施の形態3.
次に、本実施の形態3について説明する。本実施の形態では、学習モデルを利用して、対象機器の操作にかかる作業を支援する例について説明する。
【0172】
以下では、例えば家庭やビル内において、空気調和機、冷蔵庫、テレビ、照明、洗濯機、プロジェクタ、各種のセンサ、通信機器などの各種機器を操作することを考える。近年、これらコンシューマ向けの機器であっても提供される機能が高度化しており、制御が複雑化している。複雑な制御を簡単に行えるように操作画面やリモートコントローラなどのコントローラに工夫を施しているが、それでもすべての操作を覚えるのは難しく、所望の機能が提供されているにもかかわらず、その機能に容易にたどり着けないことがある。
【0173】
また、同種の機能にもかかわらず、機種によって提供される機能名が異なっていたり、細かな機能に違いがあったり、制御方法が異なっていることも多く、買い替えなどによって異なる機種を導入する場面では、それらの違いを一から覚えなければならず煩雑であった。
【0174】
また、機器によっては過去の操作履歴を覚えておく、動作環境を把握するなどして、適切な状態に自動で制御するものもあるが、人によって適切な状態が異なる場合に複数人が集まる場面または一人であっても体調などの変化によって適切な状態が異なるような場面では、的確な制御が困難な場合があった。
【0175】
そのような場合に、具体的な操作方法を知らなくても、また操作者が適切とされる状態を把握していなくても、所望の状態にするための操作が簡単に行えると作業の効率化および高性能化につながるため好ましい。
【0176】
なお、機器を操作する場面は家庭内またはビル内に限られず、本実施の形態の活用場面も家庭内またはビル内に限定されない。
【0177】
図14は、実施の形態3にかかる制御システム3000の例を示す構成図である。
図14に示す制御システム3000は、学習モデルを利用して機器を操作するための制御システムであって、学習モデル部300と、機器情報記憶部310(図中では機器情報DBと記す)と、入力インタフェース311(図中では入力IFと記す)と、出力インタフェース312(図中では出力IFと記す)とを備える。
【0178】
学習モデル部300は、入力情報D31が入力されると、操作指令D32を出力する。学習モデル部300は、例えば、入力情報D31が入力されると、モデル情報D102に基づいて操作指令D32を出力する。学習モデル部300の構成は、実施の形態1における学習モデル部100と基本的に同様でよい。
【0179】
本実施の形態において、学習モデル部300は、入力情報D31が入力されると、入力情報D31に対応する操作指令D32を出力するように構成されたモデルおよびその動作環境である。また、学習モデル部300は、入力情報D31が入力されると、入力情報D31、機器情報D33および学習モデル部300において他に参照可能な情報に基づいて、操作指令D32を生成して出力するように構成されたモデルおよびその動作環境であってもよい。
【0180】
本実施の形態において、入力情報D31は、対象機器2に対して要求される操作内容を示す情報を含む。入力情報D31は、例えば、対象機器2に対する操作内容を示すテキスト、画像、音声またはそれらの組み合わせであってもよい。入力情報D31は、例えば、対象機器2に対する複数の操作内容を示すテキスト、画像、音声またはそれらの組み合わせであってもよい。また、入力情報D31は、時間的に連続して行われる操作内容を示す情報を含んでいてもよく、その場合、上述したような操作内容を示すテキスト、画像、音声またはそれらの組み合わせを含む所定のデータ構造の時系列データであってもよい。操作内容の示し方は、学習モデル部300が用いるモデルの入力形式に合致していることを前提とするが、学習モデル部300の前段にエラー処理、補正処理または変換処理が含まれる場合等はこの限りではない。
【0181】
入力情報D31における操作内容の示し方の例示としては、対象機器2に対して行う操作を特定した上で、その操作を行うためのパラメータの値や、操作後の状態を指定してもよい。その場合、入力情報D31は、例えば、操作を特定する情報と、その操作を行うためのパラメータの値または操作後の状態を示す情報とを含んでもよい。操作を行うためのパラメータの値には、例えば、操作の種別(ON/OFFなど)、向き、量、時間に関する値が含まれうる。また、入力情報D31には、対象機器2に対する操作内容を直接示す情報だけでなく、その操作内容に対応する制御内容、ユーザ1の言動、対象機器2の画像または他の機種における同様の操作指令等を用いて間接的に示す情報も含まれうる。
【0182】
操作指令D32は、対象機器2または対象機器2に制御を要求するインタフェース(人を含む)が判別可能な所定の形式で示される対象機器2の操作に関する情報を含む。操作指令D32は、対象機器2への操作要求または制御要求を示す情報を含んでいてもよい。操作指令D32は、例えば、対象機器2に対する操作命令、操作信号、操作コード、制御命令、制御信号、制御コードである。また、操作指令D32は、例えば、対象機器2に対応した所定のコントローラが扱う形式で記述されたコマンドであってもよい。操作指令D32は、上述した制御指令D22に、操作に関する情報を加えた概念といえる。また、操作指令D32は、例えば、該インタフェースが人である場合、すなわち人を介して対象機器2に制御が要求される場合、人が判別可能な形式で示される対象機器2の操作方法を示す情報であってもよい。
【0183】
機器情報記憶部310は、対象機器2に関する情報である機器情報D33を記憶する。機器情報記憶部310および機器情報D33の取り扱いは、実施の形態1における機器情報記憶部110および機器情報D13と基本的に同様である。なお、本実施の形態における機器情報D33には、例えば、対象機器2の操作に用いられる情報が含まれていてもよい。機器情報D33には、例えば、操作内容に対して実際に対象機器2に行われる操作の手順を示す情報が含まれうる。また、機器情報D33には、例えば、対象機器2に発行される命令、信号、コード等が含まれうる。機器情報D33は、例えば、学習モデル部300が操作指令D32を出力する際の追加情報として用いられる。以下、本実施の形態において、特に対象機器2の状態を示す情報を、状態情報D35という場合がある。
例えば、機器情報D33には、対象機器2のマニュアルといった機械情報と、対象機器2を操作するリモートコントローラの通信仕様といった制御コードの情報とが含まれる。マニュアルには、画像が含まれていてもよい。
【0184】
入力インタフェース311は、ユーザ1からの入力情報D31を受け付けて、学習モデル部300に入力するインタフェースである。入力インタフェース311は、例えば、ユーザ1から入力される入力情報D31を、学習モデル部300の入力に合致したデータに変換して出力するインタフェースであってもよい。なお、入力インタフェース311は、例えば、上述した入力部102の一例として備えられてもよい。
【0185】
出力インタフェース312は、学習モデル部300からの操作指令D32を受け付けて、所定の出力先に出力するインタフェースである。なお、出力インタフェース312は、例えば、上述した出力部103の一例として備えられてもよい。出力インタフェース312は、例えば、学習モデル部300から出力される操作指令D32を、所定の出力先に合致したデータに変換して出力するインタフェースであってもよい。本実施の形態では、出力インタフェース312の出力先として、対象機器2、コントローラ4(不図示)、所定の表示器7(不図示)、ユーザ1の操作端末(不図示)、および物理的なものではなく、ホログラムやプロジェクション等空間プロジェクション表示器が含まれうる。
【0186】
本実施の形態において、学習モデル部300は、例えば、自然言語を入力して出力結果を得るLLMなどの言語学習モデルおよびその動作環境であってもよい。また、学習モデル部300は、例えば、画像を入力して出力結果を得るVLMなどの画像学習モデルおよびその動作環境であってもよい。また、学習モデル部300は、例えば、自然言語と画像を入力して出力結果を得るマルチモーダルモデルおよびその動作環境であってもよい。その場合において、入力情報D31は、テキストデータ、画像データ、テキストデータと画像データの組み合わせ、またはそれらに変換可能なデータ形式(音声データ、音声データと画像データの組み合わせである動画など)で入力されてもよい。なお、本実施の形態で用いる学習モデルは上述したモデルに限定されない。
【0187】
本実施の形態において、入力情報D31がモデル入力データD101に相当する。また、操作指令D32がモデル出力データD103に相当する。学習モデル部300(特に、モデル制御部101)は、例えば、入力情報D31を受け付けると、モデル情報D102および必要に応じてモデル参照情報D104に基づいて、入力情報D31に対応する操作指令D32を出力するよう構成されてもよい。
【0188】
また、そのような場合において、学習モデル部300に対応して備えられるモデル生成部107は、例えば、モデル制御部101に入力されうる入力情報D31の候補を含むモデル学習データD105を用いて機械学習を行って、モデル情報D102を生成または更新してもよい。また、モデル生成部107は、例えば、モデル制御部101に入力されうる入力情報D31の候補と、それに対応する操作指令D32の候補とを含むモデル学習データD105を用いて機械学習を行って、モデル情報D102を生成または更新してもよい。
【0189】
図示省略しているが、本実施の形態においても、学習モデル部300のモデル出力データD103および/またはそれを元に生成される情報の出力先から、状態情報D35および/またはフィードバック情報D36を取得してもよい。制御システム3000は、例えば、取得した状態情報D35および/またはフィードバック情報D36を、応答結果を示す情報としてユーザ1、学習モデル部300または図示しない他の装置に出力してもよい。また、制御システム3000は、入力情報D31に不明確または不確定な情報が含まれる場合に、ユーザ1に問合せD37を返すように構成されてもよい。また、制御システム3000は、取得した状態情報D35および/またはフィードバック情報D36に基づいて、学習モデル部300の入出力データに対する補足情報D38を生成して、ユーザ1、学習モデル部300または図示しない他の装置に発行することも可能である。状態情報D35、フィードバック情報D36、問合せD37および補足情報D38の取り扱いは、実施の形態1と基本的に同様でよい。
【0190】
また、制御システム3000は、状態情報D35および/またはフィードバック情報D36を取得し、必要に応じて補足情報D38を発行する状態取得部330(不図示)をさらに備えてもよい。状態取得部330は、実施の形態1の状態取得部130と同様である。
【0191】
本実施の形態においても、対象機器2は特に限定されない。なお、対象機器2は、操作指令D32を受け取って操作指令D32で示される操作内容に対応した制御が可能な機器であることを前提としているが、対象機器2との間にコントローラ4またはコンバータなどの各種信号を変換する変換装置または操作者を含む場合は、この限りではない。その場合、変換装置または操作者が操作指令D32を受け取って対象機器2を操作すればよい。
【0192】
本実施の形態において、制御システム3000が受け付ける入力情報D31は、作業環境、ここでは対象機器2が動作する環境における要望(ここでは、対象機器に対して要求される操作内容)に関する情報ということができる。あるいは、入力情報D31は、作業環境、ここでは対象機器2が動作する環境における要望(ここでは、対象機器に対して要求される操作内容)に関する命令といってもよい。したがって、制御システム3000が受け付ける入力情報D31は、作業環境における要望あるいは命令を示す第1の情報の一例ということができる。また、操作指令D32は、そのような入力情報D31に対応して、当該作業(対象機器2への操作にかかる作業)に用いられる情報ということができる。以下では、入力情報D31に基づくモデル入力データが入力される学習モデルの動作環境より所定の出力先に出力される操作指令D32を、第2の情報と呼ぶ場合がある。
【0193】
次に、本実施の形態の制御システム3000の動作を説明する。
図15は、制御システム3000の動作例を示すフローチャートである。
【0194】
図15に示す例では、まず、制御システム3000の入力インタフェース311が、入力情報D31を受け付ける(ステップS310)。受け付けた入力情報D31は、モデル入力データD101として、学習モデル部300に入力される。
入力情報D31は、ユーザ1による対象機器2に対する命令である。また、命令は、対象機器2に対する複数の操作から構成される命令であってもよい。すなわち、命令は、「1℃温度を上げる」のような単純な操作から構成されるものであってもよいし、対象機器2に対して複数の操作を要する複雑な命令であってもよい。
【0195】
次いで、制御システム3000は、学習モデル部300を用いた操作指令D32の生成処理を行う(ステップS311)。
ステップS311において、学習モデル部300は、入力情報D31(第1の情報)を学習モデルに入力し、対象機器2における一連の制御である順次制御を示す操作指令D32(第2の情報)を出力する。順次制御とは、入力情報D31として入力された命令の実現に要する複数の操作を実現するための、対象機器2における一連の制御である。例えば、学習モデル部300は、操作指令D32(第2の情報)として、順次制御が対象機器2の制御コードによって示されている情報を、出力インタフェース312を介して対象機器2に出力してもよい。
具体的には、以下の通りである。
【0196】
ステップS311では、学習モデル部300(より具体的には、モデル制御部101)が、モデル情報D102および入力された入力情報D31、並びに必要に応じて機器情報D33を含むモデル参照情報D104に基づいて、入力情報D31に対応する操作指令D32を生成して出力する。
【0197】
ステップS311において、学習モデル部300は、例えば、バイナリデータを生成可能な学習モデルを用いて、入力された入力情報D31からバイナリデータの操作指令D32を生成してもよい。また、学習モデル部300は、例えば、テキストデータを生成可能な学習モデルを用いて、入力された入力情報D31からテキストデータの操作指令D32を生成してもよい。また、学習モデル部300は、例えば、画像データを生成可能な学習モデルを用いて、入力された入力情報D31から画像データの操作指令D32を生成してもよい。また、学習モデル部300は、例えば、音声データを生成可能な学習モデルを用いて、入力された入力情報D31から音声データの操作指令D32を生成してもよい。
【0198】
ステップS311において、さらに学習モデル部300の前処理部105および/または後処理部106が、上述した処理を行ってもよい。
【0199】
学習モデル部300から出力された操作指令D32は、例えば、出力インタフェース312を介して所定の出力先に出力される。ここで、所定の出力先は、対象機器2、コントローラ4、所定の表示器7(不図示)、ユーザ1の操作端末(不図示)、または物理的なものではなく、ホログラムやプロジェクション等空間プロジェクション表示器であってもよい。所定の出力先に操作指令D32が入力されると、入力された操作指令D32に従って対象機器2が操作される(ステップS312)。
【0200】
例えば、出力インタフェース312は、操作指令D32を対象機器2に向けて出力してもよい。この場合、操作指令D32(例えば、操作命令、操作信号、操作コード、制御命令、制御信号または制御コードなど)を受け付けた対象機器2が、操作指令D32に従って実際の制御を実行してもよい。また、出力インタフェース312は、操作指令D32を対象機器2に対応するコントローラ4に向けて出力してもよい。この場合、操作指令D32(例えば、コントローラ4に対するコマンド、操作命令、操作信号、操作コード等の、対象機器2にとって間接的な制御情報)を受け付けたコントローラ4が、操作指令D32に従って対象機器2を操作してもよい。コントローラ4は、受け付けた操作指令D32で示される制御情報に基づき、制御コード等の直接的な制御情報を対象機器2に出力することで対象機器2を操作してもよい。ここで、コントローラ4は、例えば、対象機器2に備え付けられた操作盤であってもよいし、ユーザが直接操作する対象機器2に対応するリモートコントローラであってもよい。コントローラ4には、対象機器2固有のものと、汎用のものとが含まれる。また、出力インタフェース312は、操作指令D32をユーザ1の操作端末または所定の表示器に向けて出力してもよい。この場合、操作指令D32(例えば、操作方法を示す情報等)を受け付けたユーザ1の操作端末または表示器が操作指令D32を表示する。そして、ユーザ1が表示された操作指令D32を参照して、対象機器2またはコントローラ4を操作してもよい。
【0201】
出力先への操作指令D32の入力は、制御システム3000(より具体的に学習モデル部300またはその動作環境である情報処理装置10)から直接入力されてもよいし、通信ネットワークや他の機器(サーバ、各種の変換装置等)を介して間接的に入力されてもよい。
【0202】
これにより、対象機器2が、操作指令D32に従って動作する。
【0203】
制御システム3000は、操作指令D32を出力した結果、対象機器2が操作されるなどして対象機器2の状態に変化がある。状態が変化した対象機器2からフィードバックがある場合には、制御システム3000は、状態情報D35およびフィードバック情報D36を取得してもよい(ステップS313)。なお、ステップS313の処理は必須ではなく、適宜省略されうる。
【0204】
制御システム3000は、ステップS310~ステップS313の処理を、複数回(例えば、対象機器2に対して所望の操作が完了するまで)繰り返してもよい。
【0205】
以上のように、本実施の形態によれば、ユーザ1が対象機器2に対する具体的な操作方法を知らなくても、ユーザ1から入力される入力情報D31から操作指令D32を生成し、生成された操作指令D32に基づいて対象機器2を操作できるので、対象機器2の操作にかかる作業の効率化および高度化を図ることができる。
【0206】
また、本実施の形態によれば、あいまいな情報からでも、適切な状態に機器を操作することができる。また、本実施の形態によれば、機器に依存せず、その機器の操作方法を学習しなくても、適切な状態に機器を操作することができる。
【0207】
また、ユーザにとっては簡単な操作であっても、複数の操作を要する複雑な命令が入力される場合がある。このような命令の入力の例として、例えば、「午前中は湿気の少ない自然の状態で午後から涼しくする」といった自然言語での命令の入力があげられる。また、「希望する部屋の温度および湿度の変化をグラフで表した画像」といった画像による命令の入力があげられる。このように複数の操作を要する複雑な命令が入力された場合でも、学習モデル部によれば、命令を実現するための対象機器における一連の制御である順次制御を示す情報を出力することができる。よって、本実施の形態によれば、ユーザによる作業の効率化もしくは高性能化をより図ることができる。
【0208】
変形例3-1.
次に、制御システム3000の変形例を説明する。
図16は、本実施の形態にかかる制御システム3000の変形例である制御システム3000aの例を示す構成図である。なお、制御システム3000と同じ要素については、同じ符号を付し説明を省略する。
【0209】
図16に示す制御システム3000aは、さらに入力判断部31を備えている。入力判断部31は、入力情報D31を受け付けると、入力情報D31を解析して、入力情報D31に対する制御先を切り替える手段である。本変形例において、入力判断部31は、入力情報D31に対する制御先を、学習モデル部300と、出力インタフェース312あるいは出力インタフェースを介した対象機器2との間で切り替える。
【0210】
入力判断部31は、命令ルールを用いて、入力情報D31(第1の情報)により示される命令が命令ルールに含まれる命令に合致するか否かを判定する。
命令ルールとは、機器に対する命令と、その命令を実現するためにその機器に送信する制御コードとを対応付けた情報である。命令ルールには、例えば、対象機器2に対する命令と、対象機器2の制御コードとが対応付けられている。なお、命令ルールにおいて、対象機器2に対する命令には、入力情報D31として入力される形式の情報が設定される。また、命令ルールにおいて、対象機器2に対する命令に対応付けられる情報、すなわち対象機器2の制御コードは、操作指令D32として出力される形式の情報であればよい。例えば、命令ルールにおいて、対象機器2に対する命令に対応付けられる情報は、制御信号やパラメータなどでもよい。
【0211】
入力判断部31は、入力情報D31により示される命令が命令ルールに含まれる命令に合致すれば、入力情報D31により示される命令に対応する制御コードを、出力インタフェース312を介して対象機器2に出力する。また、入力判断部31は、入力情報D31により示される命令が命令ルールに含まれる命令に合致しなければ、入力情報D31を学習モデル部300に出力する。
【0212】
あるいは、入力判断部31は、対象機器2に対する命令が対象機器2の制御コードに対応するか否かを機械学習により判定してもよい。
そして、入力判断部31は、入力情報D31により示される命令が対象機器2の制御コードに対応すると判定されると、入力情報D31により示される命令に対応する制御コードを、出力インタフェース312を介して対象機器2に出力する。また、入力判断部31は、入力情報D31により示される命令が対象機器2の制御コードに対応しないと判定されると、入力情報D31を学習モデル部300に出力する。
さらに、以下に説明する。
【0213】
入力判断部31は、例えば、入力情報D31が対象機器2に対する操作の命令ルールに合致しているか否かによって、入力情報D31に対する制御先を切り替えてもよい。入力判断部31は、入力情報D31が対象機器2に対する操作の命令ルールに合致している場合には、入力情報D31をそのまま出力インタフェース312に入力してもよい。一方、入力判断部31は、入力情報D31が対象機器2に対する操作の命令ルールに合致していない場合には、入力情報D31を学習モデル部300に入力してもよい。
【0214】
操作の命令ルールに合致しているか否かは、例えば、ルールベースで記述されるモデルを用いて判断してもよい。ここで、入力判断部31は、学習モデル部300に対して相対的に軽量な学習モデルであってもよい。すなわち、学習モデル部300で用いられるモデルを上位AIとすると、入力判断部31にて用いられるモデルはより軽量で処理能力が低い下位AIであってもよい。このように、制御システム3000aでは、下位AIと上位AIが協働して処理を行ってもよい。
【0215】
出力インタフェース312には、操作指令D32として考えられる複数の出力をその妥当性で順位付けし、妥当性の高いものから低いものへ並べたり、妥当性の高いものを妥当性の低いものより、大きな文字や面積で表示してもよい。
【0216】
以下、出力インタフェース312において入力される情報を区別するために、学習モデル部300から出力される操作指令D32を操作指令D32aと呼び、出力インタフェース312に出力される入力情報D31を操作指令D32bと呼ぶ場合がある。
【0217】
本例において、出力インタフェース312は、操作指令D32aまたは操作指令D32bを受け付けて、所定の出力先に出力するインタフェースであればよい。
【0218】
次に、本変形例の制御システム3000aの動作を説明する。
図17は、制御システム3000aの動作例を示すフローチャートである。
【0219】
図17に示す例では、まず、制御システム3000aの入力インタフェース311が、入力情報D31を受け付ける(ステップS310)。受け付けた入力情報D31は、入力判断部31に入力される。
【0220】
次いで、入力判断部31が、入力情報D31が対象機器2に対する操作の命令ルールに合致しているか否かを判断する(ステップS321)。ここで、入力情報D31が対象機器2に対する操作の命令ルールに合致していると判断された場合(ステップS321のYes)、入力情報D31を出力インタフェース312に入力する(ステップS322に進む)。一方、入力情報D31が対象機器2に対する操作の命令ルールに合致していないと判断された場合(ステップS321のNo)、入力情報D31を学習モデル部300に入力する(ステップS311に進む)。
【0221】
ステップS311~ステップS313の処理は
図15に示す例と同様である。
【0222】
ステップS322では、出力インタフェース312が、命令ルールにおいて、入力された入力情報D31に対応する制御コードといった情報を操作指令D32bとして所定の出力先に出力する。これにより、対象機器2が、操作指令D32bに従って動作する。
【0223】
他の点に関しては、本実施の形態にかかる他の制御システムと同様でよい。
【0224】
以上のように、本変形例によれば、ユーザ1からの入力が対象機器2に対する操作の命令ルールに合致している場合には、その入力に従って対象機器2を操作させることができる。一方で、合致していない場合には学習モデルを利用して対象機器2を操作させることができる。このため、対象機器2の操作にかかる作業の効率化および費用の低減化をより図ることができる。
【0225】
変形例3-2.
次に、制御システム3000の他の変形例を説明する。本変形例では、学習モデルを用いて複数入力の調停を含んだ操作指令を生成する。
【0226】
図18は、本実施の形態にかかる制御システム3000の変形例である制御システム3000bの例を示す構成図である。なお、制御システム3000と同じ要素については、同じ符号を付し説明を省略する。
【0227】
図18に示す制御システム3000bでは、入力インタフェース311が、複数のユーザ1から入力情報D31を受け付ける。
例えば、入力インタフェース311は、互いに異なるユーザ1-1,1-2,・・・,1-n(nは、2以上の自然数)からの複数の命令を複数の入力情報D31(第1の情報)として受け付ける。
そして、学習モデル部300は、複数の入力情報D31により示される複数の命令を調停する。学習モデル部300は、調停の結果、複数の命令を実現する一つの順次制御を示す情報を、操作指令D32(第2の情報)として出力する。
【0228】
入力インタフェース311は、複数のユーザ1から入力情報D31を受け付けて、学習モデル部300に入力する。このとき、入力インタフェース311は、入力元のユーザ1の情報が付された入力情報D31を受け付けてもよいし、入力インタフェース311が入力元のユーザ1を判別して入力元の情報を付した上で入力情報D31を受け付けてもよいし、特に何もせず受け付けてもよい。
【0229】
学習モデル部300は、入力インタフェース311が受け付けた入力情報D31群が入力されると、入力情報D31群に対応する操作指令D32を出力するように構成されたモデルおよびその動作環境であればよい。入力情報D31群に対応する操作指令D32は、複数の入力情報D31により示される複数の命令を実現する一つの順次制御を示す情報である。学習モデル部300は、入力情報D31群が入力されると、入力情報D31群、機器情報D33および学習モデル部300において他に参照可能な情報に基づいて、操作指令D32を生成して出力するように構成されたモデルおよびその動作環境であってもよい。
【0230】
次に、本変形例の制御システム3000bの動作を説明する。
図33は、制御システム3000bの動作例を示すフローチャートである。
【0231】
入力インタフェース311は、複数のユーザ1から、複数の入力情報D31を受け付けて、学習モデル部300に入力する(ステップS330)。
学習モデル部300は、複数の入力情報D31により示される複数の命令を調停し、複数の命令を実現する一つの順次制御を示す情報を、操作指令D32として出力する(ステップS331)。
ステップS312~ステップS313の処理は
図15に示す例と同様である。
【0232】
例えば、学習モデル部300は、自然言語を入力して出力結果を得るLLMなどの言語学習モデルを用いて、言語空間上(より具体的には、言語空間の情報を有する特徴ベクトル空間上)で好適解を抽出する処理を行うことで、入力情報D31群によって示される異なる操作内容に対して折衷案となる操作指令D32を生成して出力してもよい。このとき、学習モデル部300は、入力元のユーザ1ごとの入力情報D31の履歴および/または入力元のユーザ1ごとの操作指令D32の履歴を参照してもよい。
【0233】
他の点に関しては、本実施の形態にかかる他の制御システムと同様でよい。
【0234】
以上のように、本変形例によれば、複数のユーザから異なる操作内容に関する情報が入力された場合であっても、学習モデル部300を用いてそれらの内容が調停されたより適切な操作指令D32を生成することができるので、対象機器2の操作にかかる作業の高機能化をより図ることができる。
【0235】
本変形例によれば、例えば、熱環境に対する嗜好性が異なる複数のユーザの要望を調停し、複数の要望に対してベストあるいはベターとなるような好適な機器の制御コードやパラメータを出力することができる。学習モデル部では、相反する単語が出てきた場合に、一種の平均化したような出力をするので、相反する単語を両方生かしたような命令を出すことが可能となる。
このように、本変形例にかかる制御システムによれば、調停の結果、より複雑な順次制御を出力することができる。具体的には、「暑いと言っている人(例えば右側)にのみ風をあて、左側は風向を真下に向けて人に当たらないようにし、室温はむしろ0.5℃上げる」といった複雑な順次制御を出力することができる。
【0236】
変形例3-3.
次に、制御システム3000の他の変形例を説明する。本変形例では、学習モデルを用いて操作画面ユーザインタフェースを生成する。
【0237】
図19は、本実施の形態にかかる制御システム3000の変形例である制御システム3000cの例を示す構成図である。なお、制御システム3000と同じ要素については、同じ符号を付し説明を省略する。
【0238】
図19に示す制御システム3000cは、操作画面ユーザインタフェース3(図中では、操作画面UIと記す)をさらに備えている。また、学習モデル部300が、操作指令D32として、入力情報D31に対応した操作内容の操作を対象機器2に対して実際に行う操作画面を生成する。
【0239】
学習モデル部300が生成する操作画面は、例えば、操作内容の説明とともに、ユーザからの操作入力を受け付けて、受け付けた操作入力に応じた制御コード等の制御指令D34を出力する機能が備えられた画面APIであってもよい。APIは、Application Programming interfaceの略語である。ここで、操作入力に応じた制御コード等の出力には、1つの操作入力に応じて複数の制御指令D34がシーケンシャルに出力される態様も含まれる。また、該操作画面は、2以上の異なる操作内容に対応した操作説明、操作入力受付および制御指令出力を備えた画面APIであってもよい。学習モデル部300は、例えば、入力情報D31に対応する操作指令D32として2以上の異なる操作内容を示す操作情報を抽出し、それぞれの操作情報に対応する、操作入力受付および制御指令出力を備えた画面APIを生成してもよい。
【0240】
また、学習モデル部300が生成する操作画面は、対応する操作内容に応じた操作箇所が強調して表示される、操作機能が制限されて表示される、画面上のUI部品の位置、形態(形、大きさ、色等)が変更されて表示されるように既存の操作画面の表示態様が変更されたものであってもよい。
【0241】
操作画面ユーザインタフェース3は、対象機器2に対する操作画面を表示し、また当該操作画面上にユーザ操作にかかる入力を受け付けるインタフェースである。操作画面ユーザインタフェース3は、例えば、タッチパネルディスプレイ、操作ボタンと表示部とを備えたコントローラによって実現されてもよい。また、操作画面ユーザインタフェース3は、マウスなどの操作入力装置と連携するディスプレイなどの表示装置によって実現されてもよい。
【0242】
操作画面ユーザインタフェース3は、対象機器2を操作する機器操作装置に備えられていてもよい。操作画面ユーザインタフェース3は、対象機器2を操作する機器操作装置の例であってもよい。また、機器操作装置は、入力インタフェース311を備えていてもよい。すなわち、機器操作装置は、ユーザ1による対象機器2への命令を入力するリモートコントローラであってもよい。
また、機器操作装置は、ユーザ1により承認された順次制御を表示画面に表示することにより、ユーザ1による対象機器2に対する命令の入力を支援する機能を有していてもよい。
【0243】
また、本変形例における出力インタフェース312は、学習モデル部300から出力される操作指令D32(操作画面)を、操作画面ユーザインタフェース3に出力する。
【0244】
また、本変形例において、学習モデル部300は、ユーザ1の期待する操作を対話的に確認する機能を有していてもよい。そのような場合において、学習モデル部300は、例えば、操作指令D32としての操作画面を提示した後で、操作指令D32の再取得を依頼する旨の情報を受け取ると、入力情報の一部、モデルパラメータの一部もしくは参照情報の参照先の変更等をしたうえで、操作指令D32の再取得を行ってもよい。
【0245】
次に、本変形例の制御システム3000cの動作を説明する。
図34は、制御システム3000cの動作例を示すフローチャートである。
【0246】
ステップS310の処理は、
図15のステップS310と同様である。
なお、上述したように、機器操作装置は、過去にユーザ1により承認された順次制御を表示画面に表示することにより、ユーザ1による対象機器2に対する命令の入力を支援してもよい。
【0247】
ステップS341において、学習モデル部300は、順次制御を示す操作指令D32(第2の情報)として順次制御を示す操作画面を生成する。順次制御を示す操作画面とは、順次制御が表示された操作画面である。具体例として、入力情報D31「午前中は湿気の少ない自然の状態とし、午後から涼しくする」に対して、次のような順次制御が操作指令D32として出力されるものとする。順次制御の例としては、「8:00AMから12:00AMまでドライの自動運転、0:00PMから5:00PMまで現状より-2℃の自動運転」などがあげられる。学習モデル部300は、このような順次制御をユーザ1に提示するための操作画面を生成する。
【0248】
ステップS342において、学習モデル部300は、操作画面ユーザインタフェース3(機器操作装置)に操作画面を表示する。学習モデル部300は、操作画面を介してユーザ1に順次制御を承認するか否かを選択させる。
【0249】
ステップS343において、操作画面ユーザインタフェース3(機器操作装置)において、ユーザ1により順次制御が承認されたか否かが判定される。例えば、操作画面に承認ボタンなどを表示し、承認ボタンが押下された場合に順次制御が承認されたと判定してもよい。
順次制御が承認された場合、処理はステップS344に進む。
順次制御が承認されない場合、処理はステップS310に戻る。
【0250】
ステップS344において、操作画面ユーザインタフェース3(機器操作装置)は、ユーザ1により承認された順次制御を示す対象機器2の制御コードを、対象機器2に送信する。これにより、対象機器2が操作される。
【0251】
ステップS313の処理は、
図15のステップS313と同様である。
なお、ステップS310において、機器操作装置は、ユーザ1により承認された順次制御の情報がフィードバック情報D36として取得してもよい。ユーザ1による命令の入力時に、フィードバック情報D36を表示画面に表示することにより、ユーザ1による対象機器2に対する命令の入力を支援することができる。
【0252】
次に、本変形例の制御システム3000cの動作の別例を説明する。
図35は、制御システム3000cの動作の別例を示すフローチャートである。
ステップS310の処理は、
図15のステップS310と同様である。
【0253】
ステップS351において、学習モデル部300は、順次制御の候補一覧を示す操作指令D32(操作画面)を第2の情報として生成する。
ステップS52において、学習モデル部300は、操作画面ユーザインタフェース3(機器操作装置)に操作画面を表示する。学習モデル部300は、操作画面を介してユーザ1に候補一覧から順次制御を選択させる。
【0254】
ステップS353において、操作画面ユーザインタフェース3(機器操作装置)において、ユーザ1により候補一覧から順次制御が選択されたか否かが判定される。例えば、候補一覧の各候補に選択ボタンを表示し、選択ボタンが押下された場合に、対応する順次制御が選択されたと判定してもよい。また、何も選択されずに「次へ」ボタンが押下された場合などは、ユーザ1が候補一覧の順次制御をすべて承認しないものと判断してもよい。
順次制御が選択された場合、処理はステップS354に進む。
順次制御から選択されない場合、処理はステップS310に戻る。
【0255】
ステップS354において、操作画面ユーザインタフェース3(機器操作装置)は、ユーザ1により選択された順次制御を示す対象機器2の制御コードを、対象機器2に送信する。これにより、対象機器2が操作される。
【0256】
ステップS313の処理は、
図15のステップS313と同様である。
【0257】
以上のように、本変形例では、所望の操作を簡単にもしくはわかりやすく行うことができるよう処置(画面APIの構築または表示態様の変更等)が施された操作画面を、学習モデル部300を用いて生成することができるので、対象機器2の操作にかかる作業の効率化をより図ることができる。また、本変形例によれば、学習モデル部300が生成した操作指令の説明等をユーザ1が確認しながら実際の操作を行うことができるので、ミスなく操作を実施することができる。
また、本変形例によれば、学習モデル部300が生成した順次制御の操作指令で、本当に良いかどうかをユーザ1に確認させることができる。よって、対象機器2の状態を、ユーザ1の所望の状態により近付けることができる。
【0258】
例えば、様々な機能をリモートコントローラの画面に配置してしまうと、リモートコントローラの画面が非常に煩雑になるケースがある。本変形例によれば、リモートコントローラの操作画面を、ユーザ1が所望の機能に絞ってシンプルにすることができる。
また、本変形例によれば、ユーザ1がやりたい機能を音声またはテキストで入力すると、該当する制御メニュー、もしくは近い制御メニューの候補を操作画面に表示することができる。これにより、ユーザ1が適切な操作を選べるという効果がある。
【0259】
また、本変形例において、操作画面にいくつか出てくる候補の中から確率の高いものを一番大きく表示し、順に小さく表示するなど、よりユーザ1に適した表示にしてもよい。
順次制御としては、複数操作を一度にまとめたものを表示することが好ましい。順次制御は、例えば、「入りタイマー2時間後に冷房・室温28℃で運転し、かつ5時間後に電源をOFFする」、「最初冷房運転で強風とするが、1時間後にドライで弱風にきりかえる」といった複数操作を一度にまとめたものとなる。
【0260】
また、本変形例において、入力情報に対応して出力された操作画面に、過去の操作履歴や操作の頻度などから、入力頻度の高い操作指令を候補として操作画面に追加してもよい。なお、機器操作装置(リモートコントローラ)側で操作内容を記憶している場合は、過去の操作履歴を学習モデル部に問い合わせることなく、追加の操作指令を表示することが可能となる。
【0261】
変形例3-4.
次に、制御システム3000の他の変形例を説明する。本変形例では、学習モデルが環境情報をさらに用いて操作指令を生成する。
【0262】
図20は、本実施の形態にかかる制御システム3000の変形例である制御システム3000dの例を示す構成図である。なお、制御システム3000と同じ要素については、同じ符号を付し説明を省略する。
【0263】
図20に示す制御システム3000dは、環境情報記憶部313(図中では、環境情報DBと記す)をさらに備えている。
【0264】
学習モデル部300は、対象機器2の環境を表す環境情報D33aに基づいて、特定の環境に対応する順次制御を示す操作指令D32(第2の情報)を出力する。
環境情報D33aは、対象機器2の状態、対象機器2の周囲の状態、およびユーザ1のバイタルデータを含むユーザ1の状態の少なくともいずれかを環境として含むものとする。環境情報D33aは、対象機器2の状態、対象機器2の周囲の状態、およびユーザ1のバイタルデータを含むユーザ1の状態の全てを含むものであってもよい。
以下にさらに説明する。
【0265】
環境情報記憶部313は、対象機器2の稼働先の環境の情報である環境情報D33aを記憶する。環境情報D33aは、対象機器2が稼働している空間に関する情報を含んでいてもよい。本変形例では、対象機器2が稼働している空間に存在している物または人に関する情報および対象機器2の操作者であるユーザ1も、環境の一部とする。したがって、環境情報D33aは、該物または人もしくはユーザ1に関する情報を含んでいてもよい。
【0266】
環境情報D33aは、例えば、人の属性、温度、位置、姿勢、心拍などの情報を、その人に関する情報として含んでもよい。また、環境情報D33aは、例えば、その空間の所在、温度、湿度、明るさなどの情報を、その空間に関する情報として含んでいてもよい。また、環境情報D33aは、そのような空間または人に関する情報が変化した場合に、その推移を示す情報を保持してもよい。ここで、推移を示す情報は時系列データ、履歴情報とも呼ばれる。環境情報D33aは、例えば、学習モデルのモデル参照情報D104の一部として構成されてもよい。
【0267】
環境情報D33aは、例えば、図示しないセンサ等によって取得されてもよい。
【0268】
学習モデル部300は、例えば、入力情報D31が入力されると、入力情報D31、機器情報D33、環境情報D33aおよび学習モデル部300において他に参照可能な情報に基づいて、操作指令D32を生成して出力するように構成されたモデルおよびその動作環境である。
【0269】
以上のように、本変形例によれば、学習モデルが、対象機器2が稼働している空間に関する環境情報D33aをも用いて操作指令D32を生成することができるので、対象機器2の操作にかかる作業の高機能化をより図ることができる。
【0270】
変形例3-5.
次に、制御システム3000の他の変形例を説明する。本変形例では、2つの学習モデルを組み合わせて操作指令を生成する。
図21は、本実施の形態にかかる制御システム3000の変形例である制御システム3000eの例を示す構成図である。なお、制御システム3000と同じ要素については、同じ符号を付し説明を省略する。
【0271】
図21に示す制御システム3000eでは、
図20に示した学習モデル部300に代えて、第1の学習モデル部300としての学習モデル部300aと、第2の学習モデル部300としての学習モデル部300bとを備える。
【0272】
学習モデル部300aは、入力情報D31が入力されると、操作情報D320を出力する。学習モデル部300aは、入力情報D31が入力されると、入力情報D31および環境情報D33aに少なくとも基づいて、操作情報D320を生成して出力するように構成されたモデルおよびその動作環境であってもよい。
【0273】
ここで、操作情報D320は、後段の学習モデル部330bが判別可能な所定の形式で示される対象機器2の操作に関する情報を含む。ここで、操作情報D320は、入力情報D31で示される操作内容を、環境情報D33aに応じて補足(追加、修正、取消を含む)した情報であってもよい。操作情報D320は、対象機器2が駆動される空間の状況に合わせて、入力情報D31で示される操作内容またはその表現を変化させた情報であってもよい。学習モデル部300aは、主に、入力情報D31に対してグラウンディングを行うモデルであってもよい。
【0274】
例えば、所望の操作が同じであっても、対象機器2が駆動している環境によって言語表現に差が生じる、事象に対する認識の仕方に差が生じることが考えられる。例えば、方言や言い回しの癖、社内用語や家庭内用語の使用、暑さ/寒さといった知覚の違いなどによって、入力情報D31が意味する操作内容が異なる場合がある。
【0275】
学習モデル部300aは、例えば、そのような言語表現の違いおよび/または事象に対する認識の違いを吸収してより一般的化または具体化された内容に修正する役目を果たす。学習モデル部300aは、参照先のデータベースが制限されるなどローカルな情報をもとに出力結果を得るローカルな学習モデルであってもよい。
【0276】
学習モデル部300aによって生成された操作情報D320は、学習モデル部300bに入力される。
【0277】
学習モデル部300bは、基本的には、上述した学習モデル部300と同様でよい。ただし、入力情報D31に代えて、学習モデル部300aによって生成された操作情報D320が入力される。
【0278】
学習モデル部300bは、操作情報D320が入力されると、操作指令D32を出力する。学習モデル部300bは、操作情報D320が入力されると、操作情報D320、機器情報D33および学習モデル部300bにおいて他に参照可能な情報に基づいて、操作指令D32を生成して出力するように構成されたモデルおよびその動作環境であってもよい。学習モデル部300bは、外部ネットワークに自由にアクセス可能であるなどグローバルな情報をもとに出力結果を得るグローバルな学習モデルであってもよい。
【0279】
図22は、本変形例の動作例を示すフローチャートである。
図22に示す例では、制御システム3000eの入力インタフェース311が、ステップS310で入力情報D31を受け付けると、入力情報D31は、学習モデル部300aに入力される。
【0280】
次いで、制御システム3000eは、学習モデル部300aを用いた操作情報D320の生成処理を行う(ステップS331)。ステップS331では、学習モデル部300a(より具体的には、モデル制御部101)が、モデル情報D102および入力された入力情報D31、並びに必要に応じて環境情報D33aを含むモデル参照情報D104に基づいて、入力情報D31に対応する操作情報D320を生成して出力する。学習モデル部300aから出力された操作情報D320は、学習モデル部300bに入力される。
【0281】
次いで、制御システム3000eは、学習モデル部300bを用いた操作指令D32の生成処理を行う(ステップS332)。ステップS332では、学習モデル部300b(より具体的には、モデル制御部101)が、モデル情報D102および入力された操作情報D320、並びに必要に応じて機器情報D33を含むモデル参照情報D104に基づいて、操作情報D320に対応する操作指令D32を生成して出力する。
【0282】
以降の処理は、本実施の形態にかかる他の制御システムと同様でよい。
【0283】
以上のように、学習モデル部300は、第1の学習モデル部300aと第2の学習モデル部300bとを備える。第1の学習モデル部300aは、入力情報D31(第1の情報)を第1の学習モデルに入力し、環境情報D33aに基づいて特定の環境に応じた順次制御を示す操作情報D320を出力する。第2の学習モデル部300aは、操作情報D320を第2の学習モデルに入力し、操作情報D320を実現するための対象機器2の制御コードを第2の情報として出力インタフェース312を介して対象機器2に出力する。
【0284】
以上のように、本変形例によれば、ユーザ1から入力される入力情報D31に対して、言語表現の違いおよび/または事象に対する認識の違いを吸収してより一般的化または具体化された内容に変更した上で、操作指令D32を生成することができるので、対象機器2の操作にかかる作業の高機能化をより図ることができる。
【0285】
なお、変形例3-4に示した構成でも、学習モデル部300が、環境情報D33a、機器情報D33および過去の操作履歴を含むモデル参照情報D104等に基づいて、言語表現の違いおよび/または事象に対する認識の違いを平準化した操作指令D32を生成することは可能である。しかし、本変形例によれば、学習モデルの役割を、表現の差の吸収と、操作指令への変換といったように明確に分けることができるので、学習モデルをそれに特化して学習させることができ、学習の規模を抑えるなどコンパクトな設計にできる。
【0286】
変形例3-6.
次に、制御システム3000の他の変形例を説明する。
図36は、本実施の形態にかかる制御システム3000の変形例である制御システム3000fの例を示す構成図である。なお、制御システム3000と同じ要素については、同じ符号を付し説明を省略する。
制御システム3000fでは、制御システム3000の構成に加え、汎用操作装置4aと表示形式情報350とが備えられている。
【0287】
汎用操作装置4aは、対象機器2と、対象機器2とは異なる他の機器とを操作可能な汎用の操作装置である。汎用操作装置4aは、ユーザ1が利用する種類の異なる複数の機器を操作可能であるものとする。例えば、ユーザ1が利用する空気調和機全般、あるいはキッチン家電全般のように、汎用操作装置4aは、機器の種別ごとに操作することができる操作装置であってもよい。また、ユーザ1が利用する空気調和機、空気清浄機、照明、サーキュレータ、テレビ、およびオーディオ機器といったリビングルームに設置された機器全般を操作することができるといった、エリアごとの操作装置であってもよい。
表示形式情報350は、汎用操作装置4aに表示する表示形式、すなわちフォーマットが格納された情報である。
【0288】
学習モデル部300は、表示形式情報350を用いて、順次制御を示す表示を第2の情報として汎用操作装置4aの表示画面に表示する。学習モデル部300は、汎用操作装置4aの表示画面を介して、変形例3-3の
図19にて説明したようなユーザ1による順次制御の承認あるいは選択を取得し、対象機器2を制御してもよい。
本変形例における汎用操作装置4aは、変形例3-3にて説明した機器操作装置と同様の機能を有していてもよい。例えば、入力インタフェース311と汎用操作装置4aは、同一機器でもよい。汎用操作装置4aとして、例えば、マイクと、学習モデル部300(LLM・VLM)に問い合わせる通信手段とがあれば、リモートコントローラデバイスとして構成することは可能である。
【0289】
以上のように、本変形例によれば、ユーザ1が慣れ親しんだデバイスにより機器を操作することができ、対象機器の操作にかかる作業の効率化をより図ることができる。
【0290】
変形例3-7.
次に、制御システム3000の他の変形例を説明する。本変形例では、学習モデルがユーザ履歴情報をさらに用いて操作指令を生成する。
【0291】
図37は、本実施の形態の変形例3-4にかかる制御システム3000dにおけるさらなる変形例である制御システム3000gの例を示す構成図である。なお、変形例3-4にかかる制御システム3000d(
図20)と同じ要素については、同じ符号を付し説明を省略する。
【0292】
図37に示す制御システム3000gは、ユーザ履歴情報記憶部360(図中では、ユーザ履歴情報DBと記す)をさらに備えている。
【0293】
学習モデル部300は、ユーザ1における対象機器2に対する命令の履歴を含むユーザ履歴情報D361に基づいて、ユーザ1に応じた順次制御を示す操作指令D32(第2の情報)を出力する。
【0294】
ユーザ履歴情報D361は、例えば、ユーザ1が入力した命令、その際のユーザ1および対象機器2の状態、出力された対象機器2の制御コード、および環境の変化が対応付けられた情報である。
学習モデル部300は、さらにユーザ履歴情報D361に基づいて、ユーザ1および対象機器2の状態に応じた順次制御を示す操作指令D32(第2の情報)を出力する。すなわち、学習モデル部300は、環境情報D33aおよびユーザ履歴情報D361に基づいて、ユーザ1の状態および嗜好、ならびに対象機器2の状態に応じた順次制御を示す操作指令D32(第2の情報)を出力する。
【0295】
学習モデル部300は、例えば以下のようにユーザ履歴情報D361をユーザ履歴情報記憶部360に蓄積する。
(1)入力情報D31が入力されると、環境情報D33aに基づいて、その時のユーザ1および対象機器2の状態を取得する。入力情報D31と、その時のユーザ1および対象機器2の状態を対応付けてユーザ履歴情報記憶部360に格納する。
(2)入力情報D31に対して学習モデルから出力された操作指令D32を、上記入力情報D31等に対応付けてユーザ履歴情報記憶部360に格納する。
(3)操作指令D32により対象機器2が操作された後のユーザ1および対象機器2の状態を取得して、上記入力情報D31等に対応付けてユーザ履歴情報記憶部360に格納する。対象機器2が操作された後のユーザ1および対象機器2の状態は、対象機器2のセンサなどにより取得してもよい。
なお、上記(1)から(3)はユーザ履歴情報D361の生成の一例であり、他の方法によりユーザ履歴情報D361を生成してもよい。
【0296】
次に、本実施の形態の制御システム3000gの動作を説明する。
図38は、制御システム3000gの動作例を示すフローチャートである。
ステップS310,およびステップS312~ステップS313の処理は
図15に示す例と同様である。
【0297】
ステップS361において、学習モデル部300は、環境情報D33aおよびユーザ履歴情報D361に基づいて、ユーザ1の状態および嗜好、ならびに対象機器2の状態および周囲の状態に応じた順次制御を示す操作指令D32(第2の情報)を出力する。
【0298】
学習モデル部300は、例えば、入力情報D31が入力されると、入力情報D31、機器情報D33、環境情報D33a、およびユーザ履歴情報D361に基づいて、順次制御を示す操作指令D32を生成して出力する。これにより、操作指令D32は、対象機器2の状態および周囲の状態、ならびにユーザ1の状態および嗜好に応じた適切なものとなる。
【0299】
また、学習モデル部300は、他に参照可能な情報に基づいて、操作指令D32を生成して出力してもよい。例えば、天候や天気に関する外部情報を参照してもよい。
【0300】
以上のように、本変形例によれば、学習モデルが、環境情報D33aおよびユーザ履歴情報D361をも用いて操作指令D32を生成することができる。よって、本変形例によれば、対象機器2の状態および周囲の状態、ユーザ1の状態および嗜好に応じた適切な操作指令D32を出力することができる。よって、対象機器2の操作にかかる作業の高精度化および高機能化をより図ることができる。
【0301】
また、本変形例によれば、学習モデルが環境情報およびユーザ履歴情報を用いて、環境ごとのユーザの嗜好を学習することができる。よって、本変形例によれば、ユーザ1にとってより快適な状況を提供することができる。
【0302】
変形例3-8.
次に、制御システム3000の他の変形例を説明する。本変形例では、2つの学習モデルを組み合わせて操作指令を生成する。
図39にかかる制御システム3000hは、変形例3-5および変形例3-7にかかる制御システム3000e(
図21)および制御システム3000g(
図37)の変形例である。なお、制御システム3000eおよび制御システム3000gと同じ要素については、同じ符号を付し説明を省略する。
【0303】
本変形例では、第1の学習モデル部300aは、入力情報D31を第1の学習モデルに入力し、環境情報D33aとユーザ履歴情報D361とに基づいて、ユーザ1および対象機器2の状態に応じた順次制御を示す操作情報D320を出力する。
第1の学習モデル部300bについては、変形例3-5と同様である。
【0304】
図40は、本変形例の動作例を示すフローチャートである。
ステップS310,ステップS312~ステップS313の処理は
図22に示す例と同様である。
【0305】
ステップS371において、制御システム3000hは、第1の学習モデル部300aを用いた操作情報D320の生成処理を行う。第1の学習モデル部300aが、第1の学習モデルに入力情報D31を入力し、入力情報D31に対応する操作情報D320を生成して出力する。第1の学習モデルは、環境情報D33a、ユーザ履歴情報D361、および必要に応じて他の外部情報に基づいて、入力情報D31に対応する操作情報D320を出力するモデルである。すなわち、第1の学習モデル部300aは、対象機器2の状態および周囲の状態、ユーザ1の状態および嗜好に応じた操作情報D320を出力するように構成されたモデルおよびその動作環境である。第1の学習モデル部300aから出力された操作情報D320は、第2の学習モデル部300bに入力される。
【0306】
ステップS372において、制御システム3000hは、第2の学習モデル部300bを用いた操作指令D32の生成処理を行う。第2の学習モデル部300bが、第2の学習モデルに操作情報D320を入力し、操作情報D320に対応する操作指令D32を生成して出力する。第2の学習モデルは、機器情報D33に基づいて、操作情報D320に対応する操作指令D32を出力するモデルである。すなわち、第2の学習モデル部300bは、機器情報D33に基づいて、対象機器2の制御コードといった操作指令D32を出力するように構成されたモデルおよびその動作環境である。第2の学習モデル部300bから出力された操作指令D32は、出力インタフェース312に出力される。
【0307】
以上のように、本変形例によれば、ユーザ1および対象機器2における状態や周囲の環境といったユーザ固有の情報を考慮する第1の学習モデルと、対象機器2について汎用の情報を考慮する第2の学習モデルとを切り分けることができる。ここで、第2の学習モデルは、対象機器2について汎用の情報から生成するため、例えば、対象機器2の工場にて搭載することが可能である。一方、ユーザ固有の第1の学習モデルは、ユーザの環境に応じてアップデートされていくモデルである。
ユーザ固有のモデルはユーザに特化したコンパクトなもので実現できるため、カスタマイズし易い。一方、機器汎用のモデルは、全ユーザに対して汎用であるため、大規模となる。
本変形例によれば、ユーザ固有のモデルと、機器汎用のモデルとを別の構成としてるので、メーカにとってはユーザ環境ごとにモデルを用意する必要が無いという効果がある。また、ユーザ固有のモデルのみをアップデートし易くなるため、ユーザにとっては自分専用の信頼感がある制御システムが提供されるという効果がある。
【0308】
以上の実施の形態3,および変形例3-1から3-8において、複数の部分を組み合わせて実施しても構わない。あるいは、これらの実施の形態3,および変形例3-1から3-8のうち、1つの部分を実施しても構わない。その他、これらの実施の形態3,および変形例3-1から3-8を、全体としてあるいは部分的に、どのように組み合わせて実施しても構わない。
すなわち、実施の形態3,および変形例3-1から3-8の自由な組み合わせ、あるいは実施の形態3,および変形例3-1から3-8の任意の構成要素の変形、もしくは実施の形態3,および変形例3-1から3-8において任意の構成要素の省略が可能である。
【0309】
実施の形態4.
次に、本実施の形態4について説明する。本実施の形態では、学習モデルを利用して、ある作業状況の監視にかかる作業を支援する例について説明する。
【0310】
例えば、工場内において、ロボットやPLCなどの制御機器を含むFA(Factory Automation)システムの異常を監視することを考える。例えば、制御機器の対象ワークにおいて明らかな設置ミスがあった場合、ルールベース等よる既存の監視アルゴリズムでも対応可能であるが、わずかな設置ミスが引き金となって後工程で異常が発見されるような場合も考えられる。そのような場合に、例えば異常検知をトリガにして解析等を行ったとしても、状況の把握および改善方法の取得を的確に行うことが困難であった。
【0311】
本実施の形態では、比較的小さな不具合が波及して大きな異常となるなど、発生状況が既存のルールに合致せず原因の究明が難しいケースが想定しうる作業環境の監視にかかる作業を支援することで、監視作業の効率化および高性能化を図る。
【0312】
図23は、実施の形態4にかかる制御システム4000の例を示す構成図である。
図23に示す制御システム4000は、学習モデルを利用して、特定の作業状況を監視するための制御システムであって、センサ5と、学習モデル部400aと、学習モデル部400bと、機器情報記憶部410(図中では機器情報DBと記す)と、モデルインタフェース6(図中ではモデルIFと記す)と、表示器7とを備える。
【0313】
センサ5は、監視対象とされる作業の状況を示すデータを取得する。以下、センサ5が取得するデータを、センサデータという。センサデータは、例えば、監視対象とされる作業の様子を撮影した画像データであってもよい。また、センサデータは、例えば、監視対象とされる作業の様子を録音した音声データであってもよい。また、センサデータは、例えば、監視対象とされる作業を行う人または物の位置などの状態を計測した計測データであってもよい。
【0314】
センサ5によるセンサデータの取得は、常に行われることを前提としているが、例えば、人または他の監視システムによって与えられるトリガに基づいて行われてもよい。センサ5によって取得されたセンサデータは、入力情報D41として学習モデル部400aに入力される。また、入力情報D41とされるセンサデータ自体が、人または他の監視システムから与えられてもよい。そのような場合には、センサ5は省略可能である。
【0315】
学習モデル部400aは、入力情報D41が入力されると、解析結果D42aを出力する。学習モデル部400aは、例えば、入力情報D41が入力されると、モデル情報D102に基づいて解析結果D42aを出力する。学習モデル部400aの構成は、実施の形態1における学習モデル部100と基本的に同様でよい。
【0316】
本実施の形態において、学習モデル部400aは、入力情報D41が入力されると、入力情報D41に対応する解析結果D42aを出力するように構成されたモデルおよびその動作環境である。また、学習モデル部400aは、例えば、入力情報D41が入力されると、入力情報D41、機器情報D43および学習モデル部400aにおいて他に参照可能な情報(モデル参照情報D104等)に基づいて、解析結果D42aを生成して出力するように構成されたモデルおよびその動作環境であってもよい。ここで、学習モデル部400aは、モデル参照情報D104として、監視対象の作業に関する情報を参照、利用してもよい。監視対象の作業に関する情報は、例えば、当該作業を行う位置、人、物、手順、条件等を示す情報であってもよい。学習モデル部400aは、例えば、モデル参照情報D104として、作業に利用される機器の条件、設置環境、操作手順などが記載されたマニュアルをデータ化したものを用いてもよい。
【0317】
本実施の形態において、入力情報D41は、監視対象とされる作業の状況を示す情報を含む。ここで、監視対象とされる作業には、人または機器による1以上の作業が含まれる。入力情報D41は、例えば、監視対象とされる作業の状況を示す計測値、画像、音声またはそれらの組み合わせであってもよい。入力情報D41は、例えば、監視対象とされる複数の作業の状況を示す計測値、画像、音声またはそれらの組み合わせであってもよい。また、入力情報D41は、時間的に連続して行われる作業の状況を示す情報を含んでいてもよく、その場合、上述したような状況を示す計測値、画像、音声またはそれらの組み合わせを含む所定のデータ構造の時系列データであってもよい。作業状況の示し方は、学習モデル部400aが用いるモデルの入力形式に合致していることを前提とするが、学習モデル部400aの前段にエラー処理、補正処理または変換処理が含まれる場合等はこの限りではない。
【0318】
解析結果D42aは、入力情報D41で示される作業状況を解析した状況解析結果を示す情報を含む。状況解析結果を示す情報は、入力情報D41で示される作業状況において存在している物体(環境)および/または起きている事象を示す情報であってもよい。状況解析結果を示す情報は、入力情報D41で示される作業状況の解釈を示す情報ということができる。解析結果D42aは、例えば、入力情報D41で示される作業状況の解釈を示すテキストであってもよい。また、解析結果D42aは、例えば、入力情報D41で示される作業状況において正常時の状況とは異なる部分に着目して、該部分の解釈を示すテキストであってもよい。なお、解析結果D42aの形式はテキスト以外であってもよい。解析結果D42aは、後段の学習モデル部400bが判別可能な所定の形式で記述されていれば、特に形式は限定されず、例えばテキスト、画像、音声またはそれらを組み合わせた形式であってもよい。
【0319】
作業状況の解釈例としては、該作業状況に存在している物体をその属性を用いて表現する、該作業状況において生じた事象を、5W1Hまたは7W1Hなどの所定の構文形式で表現する、もしくはそのような具体化表現にしたうえでさらに要約する、などが挙げられる。そのほかにも、該作業状況において行われている作業を複数の視点に分解して解釈して、視点ごとに表現する、該作業状況において行われている作業が複数の小作業またはステップを含む場合に、対象作業を小作業単位またはステップ単位に分解して小作業ごともしくはステップごとに説明する、などが挙げられる。解析結果D42aは、このような、入力情報D11で示される作業状況に対して具体化、細分化および/または特異点抽出に、さらに所定の形式での表現化が加わったものといえる。このように解析結果D42aでは、作業状況が分かりやすく、整理された状態で表現される。
【0320】
学習モデル部400bは、解析結果D42aが入力されると、解析結果D42bを出力する。学習モデル部400bは、例えば、解析結果D42aが入力されると、モデル情報D102に基づいて解析結果D42bを出力する。学習モデル部400bの構成は、実施の形態1における学習モデル部100と基本的に同様でよい。
【0321】
本実施の形態において、学習モデル部400bは、解析結果D42aが入力されると、解析結果D42aに対応する解析結果D42bを出力するように構成されたモデルおよびその動作環境である。また、学習モデル部400bは、例えば、解析結果D42aが入力されると、解析結果D42a、機器情報D43および/または当該学習モデル部において参照可能な情報(モデル参照情報D104等)に基づいて、解析結果D42bを生成して出力するように構成されたモデルおよびその動作環境であってもよい。
【0322】
解析結果D42bは、学習モデル部400aによる作業状況の解析結果から導き出される作業状況の改善方法を示す情報を含む。作業状況の改善方法を示す情報は、正常でない状態を正常に回復させるための回復方法を示す情報であってもよいし、人が困っている、機器が止まっているなど、監視対象とされる作業が行われている環境(作業環境)において何らかの問題が発生している場合にその問題の解決方法を示す情報であってもよい。
【0323】
改善方法を示す情報は、例えば、該方法を示すテキスト、画像または音声であってもよいし、該方法の実施先とされる機器(対象機器2)に対する制御指令(例えば、命令、制御信号、制御コードなど)、該方法を記述した手順書、シーケンス図、ソースコード、実行コードまたは該方法をコントローラに実行させるためのコントローラコマンドであってもよい。改善方法を示す情報は、該方法を示すテキスト、画像、音声、所定の設計言語で記述されたデータ、制御記述(ソースコードおよび所定のプログラミングプラットフォーム言語で記述された情報を含む)、その他のプラットフォーム言語で記述された情報、制御指令(制御命令、制御信号、制御コードおよびコントローラコマンドを含む)、実行コードおよびそれらのうちの2以上の要素の組み合わせであってもよい。所定の設計言語としては、例えば、UML(Unified Modeling Language)が挙げられるが、この限りではない。
【0324】
以下では、学習モデル部400aを第1の学習モデル部400と呼び、解析結果D42aを第1の解析結果D42と呼ぶ場合がある。また、学習モデル部400bを第2の学習モデル部400と呼び、解析結果D42bを第2の解析結果D42と呼ぶ場合がある。
【0325】
既に説明したように、解析結果D42aは、入力情報D41で示される作業状況の状況解析結果を示す情報を含む。したがって、学習モデル部400bは、解析結果D42aで示される状況解析結果に対応する解析結果D42bを出力するように構成されたモデル、およびその動作環境であってもよい。ここで、状況解析結果を示す情報が、入力情報D41で示される作業状況を解説したテキストである場合、学習モデル部400bは、作業状況を解説したテキストに対応する解析結果D42bを出力するように構成されたモデル、およびその動作環境であってもよい。
【0326】
機器情報記憶部410および機器情報D43の取り扱いは、実施の形態1における機器情報記憶部110および機器情報D13と基本的に同様である。なお、本実施の形態では、機器情報記憶部410は、対象機器2として、監視対象とされる作業に関係する機器に関する情報である機器情報D43を記憶する。ここで、作業に関係する機器には、広く上述した状況解析および改善方法の導出に必要とされる機器が含まれる。より具体的に、該作業に用いられる機器だけでなく、該作業を行う人または機器に影響を与える機器が含まれる。作業を行う人または機器に影響を与える機器は、より具体的には、作業を行う人または機器に直接または間接的に変化をもたらす機器であってもよい。一例として、該作業に直接用いられる機器(加工機、搬送機などの各種機械および作業台、工具などの道具類も含む)、該該作業に直接用いられる機器を制御する機器(電源、リレー、スイッチ、コントローラなど)、作業環境に変化をもたらす機器(照明機器、空調機器、掃除機、清浄器など)が挙げられる。
【0327】
機器情報D43は、例えば、学習モデル部400aおよび/または学習モデル部400bがモデル出力データD103(解析結果D42a,解析結果D42b)を出力する際の追加情報として用いられる。以下、本実施の形態において、特に対象機器2の状態を示す情報を、状態情報D45という場合がある。
【0328】
本実施の形態において、学習モデル部400aは、画像を入力して出力結果を得るVLMなどの画像学習モデルおよびその動作環境であってもよい。また、学習モデル部400aは、例えば、自然言語と画像を入力して出力結果を得るマルチモーダルモデルおよびその動作環境であってもよい。また、学習モデル部400bは、例えば、自然言語を入力して出力結果を得るLLMなどの言語学習モデルおよびその動作環境であってもよい。その場合において、入力情報D41は、テキストデータ、画像データ、テキストデータと画像データの組み合わせ、またはそれらに変換可能なデータ形式(音声データ、音声データと画像データの組み合わせである動画など)で入力されてもよい。なお、本実施の形態で用いる学習モデルは上述したモデルに限定されない。
【0329】
モデルインタフェース6は、学習モデル部400aおよび学習モデル部400bからモデル出力データ(解析結果D42aおよび解析結果D42b)を受け付けると、所定の出力先に出力するインタフェースである。モデルインタフェース6は、例えば、学習モデル部400aおよび学習モデル部400bから出力されるモデル出力データを所定の出力先に合致したデータに変換して出力するインタフェースであってもよい。モデルインタフェース6は、例えば、上述した出力部103の一例として備えられてもよい。本実施の形態では、モデルインタフェース6の出力先として、対象機器2および表示器7を含む。
【0330】
モデルインタフェース6は、例えば、解析結果D42aに含まれる状況解析結果と、解析結果D42bに含まれる改善方法とを示す結果情報D44aを表示器7に出力するとともに、解析結果D42bに含まれる改善方法を示す結果情報D44bを対象機器2に出力してもよい。このとき、モデルインタフェース6は、解析結果D42aおよび/または解析結果D42bから一部のデータを取り出して、出力先に合致したデータ形式に変換した上で結果情報D44aおよび結果情報D44bとして出力してもよい。
【0331】
なお、
図23に示す例では、モデルインタフェース6の出力先として、対象機器2と表示器7とを示しているが、モデル出力データの出力先は上記に限られない。例えば、出力対象とされるモデル出力データが示す状況の改善方法に、対象機器2に対する制御を示す情報が含まれる場合、モデルインタフェース6は、例えば、該方法の実施先としての対象機器2に直接、モデル出力データまたは該方法を示す情報を出力する以外に、対象機器2が受け付け可能な情報に変換する変換装置(不図示)にモデル出力データまたは該方法を示す情報を出力することも可能である。該変換装置は、例えば、入力された情報を対象機器2が判別可能な制御記述または実行コードに変換する実施の形態1の制御システム1000であってもよい。
【0332】
また、モデルインタフェース6自体が、変換装置の機能を有していてもよい。例えば、モデルインタフェース6は、モデル出力データの出力コントロールだけでなく、学習モデル部400bが出力した改善方法をインタプリタで実行可能なコードに変換し、変換したコードを出力またはコードに基づいて機器を制御する機能を有していてもよい。また、モデルインタフェース6は、改善方法の中で緊急度が高い処理が含まれている場合に、直ちに該処理を実行するなど処理フローを制御する機能を有していてもよい。また、モデルインタフェース6は、表示器7で表示した方法の提案に対する回答など、表示器7の表示を経て入力されるプロンプトを、学習モデル部400bに伝達する機能を有していてもよい。
【0333】
また、モデルインタフェース6は、上述した出力確認部202および修正確認部203の機能を有していてもよい。例えば、モデルインタフェース6は、解析された状況の緊急度を判断し、緊急度が高くないと判断した場合に、改善方法の妥当性を監視者への問い合わせもしくはシミュレータ等を用いて確認し、改善方法が妥当でなければその旨を学習モデル部400bに伝達して再度改善方法の出力を促してもよい。その際、モデルインタフェース6は、対象の学習モデル部のモデル入力データに対して補足情報D48を発行してもよい。
【0334】
本実施の形態において、入力情報D41が学習モデル部400aのモデル入力データD101に相当する。また、解析結果D42aが学習モデル部400aのモデル出力データD103に相当する。また、解析結果D42aが学習モデル部400bのモデル入力データD101に相当する。また、解析結果D42bが学習モデル部400bのモデル出力データD103に相当する。学習モデル部400a(特に、モデル制御部101)は、例えば、入力情報D41を受け付けると、モデル情報D102および必要に応じてモデル参照情報D104に基づいて、入力情報D41に対応する解析結果D42aを出力するよう構成されてもよい。また、学習モデル部400b(特に、モデル制御部101)は、例えば、解析結果D42aを受け付けると、モデル情報D102および必要に応じてモデル参照情報D104に基づいて、解析結果D42aに対応する解析結果D42bを出力するよう構成されてもよい。
【0335】
また、そのような場合において、学習モデル部400aに対応して備えられるモデル生成部107は、例えば、モデル制御部101に入力されうる入力情報D41の候補を含むモデル学習データD105を用いて機械学習を行って、モデル情報D102を生成または更新してもよいし、モデル制御部101に入力されうる入力情報D41の候補と、それに対応する解析結果D42aの候補とを含むモデル学習データD105を用いて機械学習を行って、モデル情報D102を生成または更新してもよい。また、学習モデル部400bに対応して備えられるモデル生成部107は、例えば、モデル制御部101に入力されうる解析結果D42aの候補を含むモデル学習データD105を用いて機械学習を行って、モデル情報D102を生成または更新してもよいし、モデル制御部101に入力されうる解析結果D42aの候補と、それに対応する解析結果D42bの候補とを含むモデル学習データD105を用いて機械学習を行って、モデル情報D102を生成または更新してもよい。
【0336】
図示省略しているが、本実施の形態においても、学習モデル部400aおよび学習モデル部400bのモデル出力データD103および/またはそれを元に生成される情報の出力先から、状態情報D45および/またはフィードバック情報D46を取得してもよい。制御システム4000は、例えば、取得した状態情報D45および/またはフィードバック情報D46を、制御結果を示す情報としてユーザ、学習モデル部400a、学習モデル部400bまたは図示しない他の装置に出力してもよい。また、制御システム4000は、入力情報D41に不明確または不確定な情報が含まれる場合に、ユーザに問合せD47を返すように構成されてもよい。また、制御システム4000は、取得した状態情報D45および/またはフィードバック情報D46に基づいて、学習モデル部400aおよび学習モデル部400bの入出力データに対する補足情報D48を生成して、ユーザ、学習モデル部400a、学習モデル部400bまたは図示しない他の装置に発行することも可能である。状態情報D45、フィードバック情報D46、問合せD47および補足情報D48の取り扱いは、実施の形態1と基本的に同様でよい。ここで、ユーザへの情報の出力は、例えば、表示器7または図示しない情報処理装置10が備える入出力インタフェースを介して行ってもよい。
【0337】
また、制御システム4000は、状態情報D45および/またはフィードバック情報D46を取得し、必要に応じて補足情報D48を発行する状態取得部430(不図示)をさらに備えてもよい。状態取得部430は、実施の形態1の状態取得部130と同様である。
【0338】
本実施の形態においても、対象機器2は特に限定されない。なお、対象機器2は、解析結果D42bを受け取って実際に制御可能な機器であることを前提としているが、対象機器2との間に上述した変換装置を含む場合は、この限りではない。
【0339】
本実施の形態において、制御システム4000が受け付ける入力情報D41は、作業環境における状況(ここでは、監視作業が行われる環境における状況)に関する情報ということができる。したがって、制御システム4000が受け付ける入力情報D41は、作業環境における状況を示す第1の情報の一例ということができる。また、解析結果D42aおよび解析結果D42bは、そのような入力情報D41に対応して、当該作業(監視作業)に用いられる情報ということができる。以下では、入力情報D41に基づくモデル入力データが入力される学習モデルの動作環境より所定の出力先に出力される解析結果D42aおよび/または解析結果D42bを、第2の情報と呼ぶ場合がある。
【0340】
次に、本実施の形態の制御システム4000の動作を説明する。
図24は、制御システム4000の動作例を示すフローチャートである。
【0341】
図24に示す例では、まず、制御システム4000が、入力情報D41を受け付ける(ステップS410)。例えば、上述した入力部102または入力処理部201が、入力情報D41を受け付けてもよい。受け付けた入力情報D41は、モデル入力データD101として、学習モデル部400aに入力される。
【0342】
次いで、制御システム4000は、学習モデル部400aを用いた解析結果D42aの生成処理を行う(ステップS411)。ステップS411では、学習モデル部400a(より具体的には、モデル制御部101)が、モデル情報D102および入力された入力情報D41、並びに必要に応じて機器情報D43を含むモデル参照情報D104に基づいて、入力情報D41に対応する解析結果D42aを出力する。学習モデル部400aは、例えば、テキストデータを生成可能な学習モデルを用いて、入力された入力情報D41からテキストデータの解析結果D42aを生成してもよい。
【0343】
ステップS411において、さらに学習モデル部400aの前処理部105および/または後処理部106が、上述した処理を行ってもよい。
【0344】
学習モデル部400aから出力された解析結果D42aは、学習モデル部400bに入力される。また、学習モデル部400aから出力された解析結果D42aは、学習モデル部400bおよびモデルインタフェース6に入力される。学習モデル部400aから出力された解析結果D42aは、学習モデル部400bを経由してモデルインタフェース6に入力されてもよい。その場合、学習モデル部400bは、解析結果D42aと解析結果D42bとを含むモデル出力データD103を出力してもよい。
【0345】
次いで、制御システム4000は、学習モデル部400bを用いた解析結果D42bの生成処理を行う(ステップS412)。ステップS412では、学習モデル部400b(より具体的には、モデル制御部101)が、モデル情報D102および入力された解析結果D42a、並びに必要に応じて機器情報D43を含むモデル参照情報D104に基づいて、解析結果D42aに対応する解析結果D42bを出力する。学習モデル部400bは、例えば、テキストデータを生成可能な学習モデルを用いて、入力された解析結果D42aからバイナリデータの解析結果D42bを生成してもよい。また、学習モデル部400bは、例えば、テキストデータとバイナリデータとを生成可能な学習モデルを用いて、入力された解析結果D42aからテキストデータとバイナリデータの解析結果D42bを生成してもよい。
【0346】
ステップS412において、さらに学習モデル部400bの前処理部105および/または後処理部106が、上述した処理を行ってもよい。
【0347】
学習モデル部400bから出力された解析結果D42bは、例えば、モデルインタフェース6に入力される。
【0348】
モデルインタフェース6は、学習モデル部400aおよび学習モデル部400bによる解析結果に基づき、対象機器2を制御および/または表示器7に情報を表示させる(ステップS413)。ステップS413では、例えば、モデルインタフェース6は、所定の出力先に、解析結果D42aと解析結果D42bとに基づく情報を出力する。モデルインタフェース6は、例えば、解析結果D42aと解析結果D42bとに基づいて、状況解析結果および改善方法を示す結果情報D44aを表示器7に出力するとともに、解析結果D42bに基づく改善方法を示す結果情報D44bを対象機器2に出力する。
【0349】
結果情報D44aは、例えば、文字および音声で、作業環境において発生した状況と改善方法を示すものであってもよい。また、結果情報D44bは、例えば、文字または制御信号で、改善方法を示すものであってもよい。
【0350】
これにより、表示器7が、結果情報D44aに基づいて、解析結果D42aで示される状況解析結果と、解析結果D42bで示される改善方法とを表示するとともに、対象機器2が、結果情報D44bに基づいて、解析結果D42bで示される改善方法を実施する。表示器7および対象機器2への情報入力は、制御システム4000(より具体的にモデルインタフェース6)から直接入力されてもよいし、通信ネットワークや他の機器(サーバ、各種の変換装置等)や人の手を介して間接的に入力されてもよい。
【0351】
制御システム4000は、対象機器2が制御されるなどして対象機器2の状態に変化がある、出力先からフィードバックがある場合、状態情報D45およびフィードバック情報D46を取得してもよい(ステップS414)。なお、ステップS414の処理は必須ではなく、適宜省略されうる。
【0352】
制御システム4000は、ステップS410~ステップS414の処理を、複数回(例えば、対象の作業環境において所望の状態になるまで)繰り返してもよい。
【0353】
以上のように、本実施の形態によれば、状況の把握と改善方法の取得とを、異なる学習モデルを用いて2段階で行っているので、最終的な生成物の精度を向上させることができ、その結果、作業状況の監視にかかる作業の効率化を図ることができる。
【0354】
例えば、状況把握を行う場面では、「何かおかしなことが発生した」といった、作業環境において正常でない状態を広く検知することが重要となる。一方で、改善方法を取得する場面では、「この機械を止めて、ワークの位置をA地点に移動させ、機械の状態を状態Bに戻した上で再稼働させる」といった具体的な情報が重要となる。
【0355】
このような抽出したい情報すなわち目的とされる情報の抽象度が異なる場合に、1つの学習モデルで一緒に学習・抽出しようとすると、出力結果の精度が落ちることが懸念される。特に、改善方法の取得においては、作業環境の知識・情報をもとに具体的な方法の提示が求められる。そのような場合、学習モデルを分けて適切なドメイン知識(環境情報)を与えてあげることで、出力精度をより確実に向上させることができる。
【0356】
また、状況の把握と改善方法の取得という異なるタスクに対する解を1つの学習モデルで得ようとした場合、ハルシネーションの問題が顕著になることが考えられる。これは、一方のタスク(改善方法の取得)の解が尤もらしく見えるように他方のタスク(状況の把握)の解を調整する機能が、モデルアルゴリズムの中で暗黙に働く可能性があるからである。本実施の形態によれば、このようなハルシネーションの問題に対しても効果を生じる。すなわち、状況の把握と改善方法の取得という2つのタスクに対応して、学習モデルを分けることで、それぞれの学習モデルに入るモーダルを抑え、その結果ハルシネーションの大きさを抑えることができるので、最終的な生成物の精度を向上させることができる。
【0357】
さらに、本実施の形態では、学習モデル部400aおよび学習モデル部400bの出力結果である解析結果D42aおよび解析結果D42bを言語化して表示器7に表示させることができるので、人がその内容を確認することで、ハルシネーションを抑制して、より確実に状況改善のための方法を実現させることができる。
【0358】
なお、本実施の形態の制御システム4000は、上述した工場内における機器の制御システムの監視だけでなく、例えば、物流システムにおける物流対象の監視にも適用できる。
【0359】
変形例4-1.
次に、制御システム4000の変形例を説明する。
図25は、本実施の形態にかかる制御システム4000の変形例である制御システム4000aの例を示す構成図である。なお、制御システム4000と同じ要素については、同じ符号を付し説明を省略する。
【0360】
図25に示す制御システム4000aでは、異なる方法で状況の解析および改善を行う2つの解析手段を備え、発生した状況に応じて、適宜用いる解析手段を切り替える点が制御システム4000と異なる。
【0361】
図25に示す制御システム4000aは、上述した学習モデル部400aおよび学習モデル部400bを用いて状況の解析と改善方法の取得を行う部分を、第1の解析部41-1として、さらに、第2の解析部41-2と、切替部42と、出力切替スイッチ43とを備えている。
【0362】
第2の解析部41-2は、第1の解析部41-1とは異なる方法で、入力情報D41に対して状況の解析および改善方法の取得を行う手段であれば特に問わない。一例として、第2の解析部41-2は、ルールベースで状況の解析および改善方法の取得を行う手段であってもよい。第2の解析部41-2は、例えば、入力情報D41が入力されると、入力情報D41が予め定められた異常のパターンに合致するか否かを判定し、いずれかの異常のパターンと合致した場合に、その異常のパターンに応じた改善方法を取得してもよい。第2の解析部41-2は、少なくとも状況の改善方法を含む解析結果D42cを出力する。
【0363】
解析結果D42cは、例えば、上述の結果情報D44aに相当する情報と、結果情報D44bに相当する情報とを含んでいてもよい。本変形例では、解析結果D42cは、少なくとも第2の解析部41-2によって得られた改善方法を示す結果情報D44bを含む。
【0364】
本変形例において、第2の解析部41-2は、例えば、作業環境内に配されているPLC、情報処理装置等に実装されるなどにより、内部の実行モジュールとして実現されてもよい。
【0365】
切替部42は、所定の条件に従い、入力情報D41に対する制御先を切り替える手段である。本変形例において、切替部42は、入力情報D41に対する制御先を、第1の解析部41-1と、第2の解析部41-2との間で切り替える。切替部42は、例えば、入力情報D41が既存のルールに合致しているか否かによって、入力情報D41に対する制御先を切り替えてもよい。このとき、切替部42は、入力情報D41が既存のルールに合致している場合に入力情報D41の出力先を第2の解析部41-2に切り替え、合致していない場合に入力情報D41の出力先を第1の解析部41-1に切り替えることで、制御先を切り替えてもよい。
【0366】
切替部42は、例えば、監視者からの指示に従い、入力情報D41に対する制御先を切り替えてもよい。また、切替部42は、例えば、時間、作業内容または監視者の有無などによって入力情報D41に対する制御先を切り替えてもよい。また、切替部42は、例えば、作業環境において異常が発生しているか否かによって入力情報D41に対する制御先を切り替えてもよい。ここで、作業環境における異常の発生の有無は、例えば、異常信号が発生しているか否かによって判断してもよい。例えば、切替部42は、異常時に、入力情報D41に対する制御先を第1の解析部41-1に切り替えてもよい。また、切替部42は、例えば、作業環境において発生している異常の度合いまたは緊急度によって、入力情報D41に対する制御先を切り替えてもよい。
【0367】
また、切替部42は、入力情報D41に対する制御先の切替に伴って、第1の解析部41-1の出力または第2の解析部41-2の出力と、解析結果の出力先とされる対象機器2および表示器7とを接続する接続路(回路または通信路など)を切り替える出力切替スイッチ43を制御してもよい。
【0368】
切替部42は、例えば、入力情報D41に対する制御先を第1の解析部41-1に切り替えた際に、出力切替スイッチ43を制御して、第1の解析部41-1の出力と対象機器2および表示器7とを接続する接続路をオンにして、第2の解析部41-2の出力と対象機器2および表示器7とを接続する接続路をオフにしてもよい。同様に、切替部42は、例えば、入力情報D41に対する制御先を第2の解析部41-2に切り替えた際に、出力切替スイッチ43を制御して、第2の解析部41-2の出力と対象機器2および表示器7とを接続する接続路をオンにして、第1の解析部41-1の出力と対象機器2および表示器7とを接続する接続路をオフにしてもよい。
【0369】
図26は、本変形例の動作例を示すフローチャートである。
図26に示す例では、制御システム4000aがステップS410で入力情報D41を受け付けると、切替部42が、所定の条件に従い、入力情報D41に対する制御先を切り替える(ステップS421)。
図26に示す例では、切替部42は、入力情報D41が既存のルールに合致しているか否かを判断し、合致していないと判断した場合には(ステップS421のNo)、第1の解析処理に進む(ステップS422)。一方、入力情報D41が既存のルールに合致していると判断した場合には、(ステップS421のYes)、第2の解析処理に進む(ステップS423)。
【0370】
ステップS422の第1の解析処理では、第1の解析部41-1としての学習モデル部400aおよび学習モデル部400bが、状況の解析および改善方法の取得を行う。学習モデル部400aおよび学習モデル部400bは、第1の解析処理の結果として、状況の解析結果を含む解析結果D42aおよび該状況の改善方法を含む解析結果D42bを出力する。
【0371】
ステップS423の第2の解析処理では、第2の解析部41-2が、既存のルールに従い、状況の解析および改善方法の取得を行う。第2の解析部41-2は、例えば、第1の解析処理の結果として、少なくとも状況の改善方法を含む解析結果D42cを出力する。
【0372】
第1の解析部41-1または第2の解析部41-2による解析処理の結果が出力されると、出力切替スイッチ43の状態に応じて、いずれかの解析処理の結果に基づき、対象機器2を制御および/または表示器7に情報を表示させる(ステップS424)。
【0373】
本例では、第1の解析部41-1が解析処理を行う状況では、第1の解析部41-1の出力と対象機器2および表示器7とを接続する接続路がオンになっている。その場合、モデルインタフェース6が、例えば、解析結果D42aと解析結果D42bとに基づいて、状況解析結果および改善方法を示す結果情報D44aを表示器7に出力するとともに、解析結果D42bに基づく改善方法を示す結果情報D44bを対象機器2に出力してもよい。一方、第2の解析部41-2が解析処理を行う状況では、第2の解析部41-2の出力と対象機器2および表示器7とを接続する接続路がオンになっている。その場合、第2の解析部41-2から出力される解析結果D42cに基づいて、状況解析結果および改善方法を示す結果情報D44aが表示器7に出力され、および/または改善方法を示す結果情報D44bが対象機器2に出力されてもよい。
【0374】
表示器7には、例えば、作業員が確認可能な態様で結果情報D44bが表示されてもよい。その場合、作業員は表示器7に表示された結果情報D44bを参照して、結果情報D44bが示す改善方法を確認して、該方法にかかる作業を実施してもよい。また、作業員は、結果情報D44bが示す改善方法を確認して、その妥当性を判断してもよい。このとき、作業員は、結果情報D44bが示す改善方法が妥当でない場合には、学習モデル部400bに別の改善方法の取得(モデル出力データの再取得)を促してもよい。学習モデル部400bは、例えば、モデル出力データの再取得を依頼する旨の情報を受け取ると、入力情報の一部、モデルパラメータの一部もしくは参照情報の参照先の変更等をしたうえで、モデル出力データの再取得を行ってもよい。
【0375】
以降の処理は、本実施の形態にかかる他の制御システムと同様でよい。
【0376】
以上のように、本変形例では、異なる方法で状況の解析および改善方法の取得を行う複数の解析部を備え、状況に応じてそれらを切り替えるように構成されている。このため、より状況に合った制御を可能にすることができる。例えば、原因が明確な問題に対しては処理負荷の高い第2の解析部が即座に状況を解析して改善方法を提示・実行させ、原因が明確でない問題に対しては学習モデルを用いた第1の解析部が複雑な状況を解析してより良い改善方法を提示・実行させるといったことが可能となる。
【0377】
なお、上述した例では、第1の解析部41-1が2つの学習モデルを用いて状況の解析と改善方法の取得を行う例を示したが、第1の解析部41-1の構成は上述した例に限定されない。例えば、状況の解析が不要な場合には、学習モデル部400aを省略することも可能である。また、改善方法の取得が不要な場合には、学習モデル部400bを省略することも可能である。また、状況の解析と改善方法の取得を1つの学習モデル部で行うことも可能である。
【0378】
例えば、第1の解析部41-1が、入力情報D41に基づき、状況の改善方法の取得を行う学習モデル部400bを含む場合において、切替部42が、異常時に入力情報D41に対する制御先を第1の解析部41-1に切り替えてもよい。その場合、第1の解析部41-1の学習モデル部400bは、入力情報D41が入力されると、入力情報D41によって示される異常の発生状況に対応した改善方法を示す情報を出力するよう構成されていればよい。このとき、学習モデル部400bは、当該制御システムがアクセス可能な機器情報記憶部410を参照して、該状況に対応した改善方法を示す情報を出力してもよい。
【0379】
実施の形態5.
次に、本実施の形態5について説明する。本実施の形態では、学習モデルを利用して、コールセンタや製品サイトなどにおける、ユーザからの情報発信に対して反応を返す応答作業を支援する例について説明する。ここで、ユーザからの情報発信には、あるサービス、情報、事象または物に関する問い合わせや意見が含まれうる。
【0380】
図27は、実施の形態5にかかる制御システム5000の例を示す構成図である。
図27に示す制御システム5000は、学習モデル部500と、参照情報記憶部12と、データベース検索部511(図中ではDB検索部と記す)と、コントロール生成部512と、音声認識部513vと、音声合成部514vとを備える。ここで、参照情報記憶部12、データベース検索部511およびコントロール生成部512は、学習モデル部500の一部として備えられていてもよい。
【0381】
学習モデル部500は、入力情報D51が入力されると、応答内容を示す応答情報D52を出力する。学習モデル部500は、例えば、入力情報D51が入力されると、モデル情報D102に基づいて応答情報D52を出力する。学習モデル部500の構成は、実施の形態1における学習モデル部100と基本的に同様でよい。
【0382】
本実施の形態において、学習モデル部500は、入力情報D51が入力されると、入力情報D51に対応する応答情報D52を出力するように構成されたモデルおよびその動作環境である。また、学習モデル部500は、入力情報D51が入力されると、入力情報D51および学習モデル部500において他に参照可能な情報に基づいて、応答情報D52を生成して出力するように構成されたモデルおよびその動作環境であってもよい。
【0383】
本実施の形態において、入力情報D51は、ユーザ1等から発信された内容を示す情報を含む。入力情報D51は、作業環境において反応が要求される内容を示す情報を含んでいてもよい。入力情報D51は、例えば、あるサービス、情報、事象、物に関する問い合わせまたは意見を示すテキスト、画像、音声またはそれらの組み合わせであってもよい。入力情報D51は、例えば、あるサービス、情報、事象、物に関する複数の問い合わせまたは意見を示すテキスト、画像、音声またはそれらの組み合わせであってもよい。また、入力情報D51は、時間的に連続する発信内容を示す情報を含んでいてもよく、その場合、上述したような発信内容を示すテキスト、画像、音声またはそれらの組み合わせを含む所定のデータ構造の時系列データであってもよい。発信内容の示し方は、学習モデル部500が用いるモデルの入力形式に合致していることを前提とするが、学習モデル部500の前段に、エラー処理、補正処理または変換処理が備えられる場合等はこの限りではない。
【0384】
応答情報D52は、入力情報D51に含まれる発信内容に対する応答を示す情報を含む。応答情報D52は、例えば、入力情報D51に含まれる発信内容が示すサービス、情報、事象または物に関する問い合わせまたは意見に対する応答を示す情報であってもよい。
【0385】
参照情報記憶部12は、学習モデル部500のモデル制御部101が応答情報D52を出力するために参照するモデル参照情報D104を記憶する。モデル参照情報D104は、例えば、入力情報D51に含まれうるサービス、情報、事象または物にかかわる情報を含む。ここで、参照情報記憶部12は、特定のサービス、情報、事象または物に関する情報を、モデル参照情報D104として特に記憶してもよい。モデル参照情報D104は、例えば、応答マニュアルをデータ化したものを含んでいてもよい。また、モデル参照情報D104は、例えば、過去に入力された入力情報D51またはそれに含まれる発信内容の履歴を含んでいてもよい。このとき、参照情報記憶部12は、発信元のユーザ1の情報(例えば、ユーザ識別子、ユーザの属性情報等)ととともに、過去に入力された入力情報D51またはそれに含まれる発信内容を示す履歴情報を、モデル参照情報D104として記憶してもよい。以下、本実施の形態において、特に発信元のユーザ1の状態を示す情報を、状態情報D55という場合がある。
【0386】
データベース検索部511は、参照情報記憶部12およびその他のデータベースの検索エンジンである。データベース検索部511は、学習モデル部500のモデル制御部101からの要求に応じて、データベース検索部511がアクセス可能に接続されているデータベースを検索して検索結果を出力する。このとき、データベース検索部511は、アクセス先のデータベースが制限されていてもよい。
【0387】
コントロール生成部512は、学習モデル部500(特に、モデル制御部101)がモデル出力データを生成する際の前提条件を設定するためのインタフェースである。コントロール生成部512は、例えば、学習モデル部500が制御対象とする情報を認識する、および/または出力の傾向を設定するために使用されるインタフェースであってもよい。ここで、制御対象情報は、モデル制御部101における制御の焦点を当てる対象を示す情報である。モデル制御部101は、例えば、コントロール生成部512によって示される制御対象情報に基づいて、モデル入力データD101からモデル出力データD103を生成するように構成されてもよい。コントロール生成部512は、例えば、ユーザが入力したモデル入力データの一部を、制御対象情報として認識させる、モデル制御部101が生成した情報を制御対象情報として認識させる、またはモデル制御部101が生成して他の制御部が修正した情報を制御対象情報として認識させてもよい。制御対象情報および/または出力の傾向設定は、ユーザが指定してもよいし、外部の処理部が指定してもよいし、予め定められたアルゴリズムに従いコントロール生成部512が指定してもよい。
【0388】
音声認識部513vは、ユーザ1からの入力に音声形式の入力情報D51vが含まれている場合に、入力情報D51vで示される音声を認識して、学習モデル部500のデータ形式に合致する形式に変換して出力する。音声認識部513vは、例えば、音声形式の入力情報D51vをテキスト形式の入力情報D51に変換するものであってもよい。
【0389】
音声合成部514vは、応答情報D52で示される内容を音声形式に変換して出力する。音声合成部514vは、例えば、学習モデル部500からの出力である応答情報D52に音声以外のデータ形式が含まれる場合に、応答情報D52で示される該部分の内容を音声形式に変換して出力する。音声合成部514vは、例えば、応答情報D52がデータ形式の指定を含むデータ構造である場合に、該指定において音声形式が指定されているデータ要素を、音声形式に変換して出力するものであってもよい。音声合成部514vは、例えば、テキスト形式の応答情報D52を音声形式の応答情報D52vに変換するものであってもよい。
【0390】
なお、上述した例では、ユーザ1との入出力に音声形式のデータが用いられる例を示しているが、ユーザ1との入出力に用いられるデータ形式は音声形式に限定されない。その場合、音声認識部513vおよび音声合成部514vに代えて、ユーザ1からの入力に用いられるデータ形式を学習モデル部500の入力に用いられるデータ形式に変換する処理部および学習モデル部500からの出力に用いられるデータ形式をユーザ1の入力に用いられるデータ形式に変換する処理部を備えればよい。
【0391】
また、学習モデル部500がユーザ1からの入力に用いられるデータ形式を受付可能な場合は、音声認識部513vは省略可能である。また、ユーザ1が学習モデル部500からの出力に用いられるデータ形式を受付可能な場合は、音声合成部514vは省略可能である。
【0392】
本実施の形態において、入力情報D51がモデル入力データD101に相当する。また、応答情報D52がモデル出力データD103に相当する。学習モデル部500(特に、モデル制御部101)は、例えば、入力情報D51を受け付けると、モデル情報D102および必要に応じてモデル参照情報D104に基づいて、入力情報D51に対応する応答情報D52を出力するよう構成されてもよい。
【0393】
また、そのような場合において、学習モデル部500に対応して備えられるモデル生成部107は、例えば、モデル制御部101に入力されうる入力情報D51の候補を含むモデル学習データD105を用いて機械学習を行って、モデル情報D102を生成または更新してもよい。また、モデル生成部107は、例えば、モデル制御部101に入力されうる入力情報D51の候補と、それに対応する応答情報D52の候補とを含むモデル学習データD105を用いて機械学習を行って、モデル情報D102を生成または更新してもよい。
【0394】
図示省略しているが、本実施の形態においても、学習モデル部500のモデル出力データD103および/またはそれを元に生成される情報の出力先から、状態情報D55および/またはフィードバック情報D56を取得してもよい。制御システム5000は、例えば、取得した状態情報D55および/またはフィードバック情報D56を、応答結果を示す情報として所定の監督者、学習モデル部500または図示しない他の装置に出力してもよい。また、制御システム5000は、入力情報D51に不明確または不確定な情報が含まれる場合に、ユーザ1に問合せD57を返すように構成されてもよい。また、制御システム5000は、取得した状態情報D55および/またはフィードバック情報D56に基づいて、学習モデル部500の入出力データに対する補足情報D58を生成して、ユーザ1、所定の監督者、学習モデル部500または図示しない他の装置に発行することも可能である。状態情報D55、フィードバック情報D56、問合せD57および補足情報D58の取り扱いは、実施の形態1と基本的に同様でよい。
【0395】
また、制御システム5000は、状態情報D55および/またはフィードバック情報D56を取得し、必要に応じて補足情報D58を発行する状態取得部530(不図示)をさらに備えてもよい。状態取得部530は、実施の形態1の状態取得部130と同様である。
【0396】
本実施の形態において、制御システム5000が受け付ける入力情報D51は、作業環境における要求(ここでは、問合せに対して応答作業が行われる環境において応答という反応を要求する発信内容)に関する情報ということができる。したがって、制御システム5000が受け付ける入力情報D51は、作業環境における要求を示す第1の情報の一例ということができる。また、応答情報D52は、そのような入力情報D51に対応して、当該作業(応答作業)に用いられる情報ということができる。以下では、入力情報D51に基づくモデル入力データが入力される学習モデルの動作環境より所定の出力先に出力される応答情報D52を、第2の情報と呼ぶ場合がある。
【0397】
次に、本実施の形態の制御システム5000の動作を説明する。
図28は、制御システム5000の動作例を示すフローチャートである。
【0398】
図28に示す例では、まず、制御システム5000が、入力情報D51vを受け付ける(ステップS510)。例えば、上述した入力部102または入力処理部201が、入力情報D51vを受け付けてもよい。受け付けた入力情報D51vは、音声認識部513vに入力される。
【0399】
音声認識部513vは、入力情報D51vを受け付けると、入力情報D51vに含まれる音声を認識して、学習モデル部500の入力のデータ形式に合致した入力情報D51に変換する(ステップS511)。変換された入力情報D51は、モデル入力データD101として、学習モデル部500に入力される。
【0400】
なお、音声認識部513vが省略される場合、受け付けた入力情報D51vをモデル入力データD101として学習モデル部500に入力してもよい。
【0401】
次いで、制御システム5000は、学習モデル部500を用いた応答情報D52の生成処理を行う(ステップS512)。ステップS512では、学習モデル部500(より具体的には、モデル制御部101)が、モデル情報D102および入力された入力情報D51、並びに必要に応じてモデル参照情報D104に基づいて、入力情報D51に対応する応答情報D52を出力する。
【0402】
ステップS512において、さらに学習モデル部500の前処理部105および/または後処理部106が、上述した処理を行ってもよい。
【0403】
学習モデル部500から出力された応答情報D52は、例えば、音声合成部514vに入力される(ステップS513)。音声合成部514vへの応答情報D52の入力は、制御システム5000(より具体的に学習モデル部500またはその動作環境としての情報処理装置10等)から直接入力されてもよいし、通信ネットワークや他の機器(サーバ、各種の変換装置等)や人の手を介して間接的に入力されてもよい。
【0404】
次いで、音声合成部514vは、入力された応答情報D52を音声形式の応答情報D52vに変換して出力する(ステップS514)。音声合成部514vは、例えば、音声以外のデータ形式である応答情報D52で示される応答内容を発話する音声を合成することにより、応答情報D52vを生成してもよい。応答情報D52vは、入力情報D51vの発信元であるユーザ1に向けて出力される(ステップS515)。
【0405】
なお、音声合成部514vが省略される場合、学習モデル部500から出力された応答情報D52が、入力情報D51vの発信元であるユーザ1に向けて出力されてもよい。
【0406】
以上のように、本実施の形態では、ユーザ1からの発信情報に対して、オペレータや予め応答する内容が埋め込まれたサイト等を用意しなくても、学習モデル部500を用いて動的に応答情報D52を生成して発信元のユーザに返信できるので、応答作業の効率化および高性能化を図ることができる。
【0407】
変形例5-1.
次に、制御システム5000の変形例を説明する。
図29は、本実施の形態にかかる制御システム5000の変形例である制御システム5000aの例を示す構成図である。なお、制御システム5000と同じ要素については、同じ符号を付し説明を省略する。
【0408】
図29に示す制御システム5000aでは、正誤判断部515を備える点が、制御システム5000と異なる。
【0409】
正誤判断部515は、学習モデル部500からの出力である応答情報D52が示す内容が正しい内容であるか否かを判定する。正誤判断部515は、例えば、応答情報D52が示す内容が正しい内容であると判断した場合にのみ、該応答情報D52をユーザ1に向けて出力したり、参照情報記憶部12の内容を更新したりするようにしてもよい。
【0410】
また、正誤判断部515は、例えば、応答情報D52が示す内容が正しい内容でないと判断した場合には、学習モデル部500に別の応答情報D52の取得(モデル出力データの再取得)を促してもよい。正誤判断部515は、例えば、上述した後処理部106の一例として備えられてもよい。
【0411】
他の点に関しては、本実施の形態にかかる他の制御システムと同様でよい。
【0412】
以上のように、本変形例によれば、学習モデル部500からの出力である応答情報が示す内容が正しい内容であるか否かを判定し、その結果に基づいて、ユーザへの出力の有無、応答情報の再取得、参照情報の更新を行うので、応答作業の高性能化をより図ることができる。
【0413】
変形例5-2.
次に、制御システム5000の第2の変形例を説明する。
図30は、本実施の形態にかかる制御システム5000の変形例である制御システム5000bの例を示す構成図である。なお、制御システム5000および制御システム5000aと同じ要素については、同じ符号を付して説明を省略する。
【0414】
図30に示すように、制御システム5000bは、さらに感情判定部516を備えていてもよい。
【0415】
感情判定部516は、入力情報D51その他の情報を用いて、発信元のユーザ1の感情を判定する。また、感情判定部516は、学習モデル部500からの応答情報D52をユーザ1に向けて出力した後のユーザ1の感情を判定してもよい。
【0416】
感情判定部516によって判定されたユーザ1の感情は、モデル参照情報D104に含まれる状態情報D55として学習モデル部500に入力されてもよいし、参照情報記憶部12にモデルの入出力のデータとともに履歴として記録されてもよい。
【0417】
参照情報記憶部12に記録する方法として、例えば、制御システム5000bが、さらに登録判定部518を備え、登録判定部518が、感情判定部516によるユーザ1の感情の判定結果に基づいて、参照情報記憶部12に記録させるか否かを判定してもよい。
【0418】
登録判定部518は、例えば、判定されたユーザ1の感情がポジティブなものであれば、良好事例として、参照情報記憶部12に、モデルの入出力のデータを履歴情報として記録させてもよい。このとき、登録判定部518は、学習モデル部500からの応答情報D52の出力前のユーザ1の感情の判定結果がある場合には、参照情報記憶部12に、応答前後の感情情報を含むモデルの入出力のデータを履歴情報として記録させてもよい。
【0419】
また、登録判定部518は、例えば、判定されたユーザ1の感情がネガティブなものであれば、不良事例として、参照情報記憶部12にモデルの入出力のデータを履歴情報として記録させてもよい。このとき、登録判定部518は、学習モデル部500からの応答情報D52の出力前のユーザ1の感情の判定結果がある場合には、参照情報記憶部12に、応答前後の感情情報を含むモデルの入出力のデータを履歴情報として記録させてもよい。
【0420】
また、制御システム5000bは、さらに追加学習部519を備え、参照情報記憶部12の内容を更新する際に、更新情報に基づいて、参照情報記憶部12が記憶するモデル参照情報D104およびその他のモデル制御部101が参照する情報を再構築(追加学習)してもよい。
【0421】
また、制御システム5000bは、感情判定部516に代えてまたは感情判定部516に加えて、評価取得部517を備えていてもよい。
【0422】
評価取得部517は、ユーザ1に応答情報D52の評価を問い合わせ、その回答として評価情報D59を取得する。評価情報D59は、例えば、上述したユーザ1の感情と同様に、モデルが参照する情報の更新、追加学習等に用いることができる。
【0423】
また、制御システム5000bは、さらにコントロール決定部520を備えていてもよい。
【0424】
コントロール決定部520は、ユーザ1からの入力情報に対する音声認識結果、感情判定結果および/または応答情報D52の評価結果、オペレータ(不図示)からの指示等に基づいて、コントロール生成部512に対して制御対象情報の指定および/または出力の傾向設定の指定を行う。ここで、ユーザ1からの入力情報に対する音声認識結果には、ユーザ1の属性、感情、地域、言語、過去の利用の有無、利用頻度などの情報が含まれうる。また、コントロール決定部520は、ユーザ1からの入力情報に対する音声認識結果、感情判定結果および/または応答情報D52の評価結果、オペレータ(不図示)からの指示等に基づいて、音声合成部514vに対して合成音声の設定を行ってもよい。
【0425】
コントロール決定部520は、例えば、出力の傾向設定の一例として、応答における説明の難易度、話し方(口調やトーン)、言語、文法のレベル、丁寧さ、話し手の立ち位置、話の帰着先などを指定することができる。合成音声の性別、口調、トーンなどを指定することができる。また、コントロール決定部520は、例えば、合成音声の設定の一例として、合成音声の性別、話し方、言語、文法のレベル、丁寧さなどを指定することができる。コントロール決定部520は、例えば、予め定められた設定ルールに基づいて、これらの設定を行ってもよい。
【0426】
なお、
図30で示した制御システム5000bの要素は、所望の機能に応じて適宜選択可能である。
【0427】
他の点に関しては、本実施の形態にかかる他の制御システムと同様でよい。
【0428】
以上のように、本変形例によれば、コントロール決定部520が、制御システム5000bから取得可能な情報等に基づいて、制御対象情報の指定および/または出力の傾向設定の指定を行うので、発信元の要求に合致しやすい応答情報を生成することができる。このため、ユーザへの応答作業の高性能化をより図ることができる。
【0429】
変形例5-3.
次に、制御システム5000の第3の変形例を説明する。
図31は、本実施の形態にかかる制御システム5000の変形例である制御システム5000cの例を示す構成図である。なお、制御システム5000、制御システム5000aおよび制御システム5000bと同じ要素については、同じ符号を付して説明を省略する。
【0430】
図31に示すように、制御システム5000cは、さらに画像解析部513i、画像生成部514i、プログラム生成部514pを備えていてもよい。
【0431】
画像解析部513iは、ユーザ1からの入力に画像形式の入力情報D51iが含まれている場合に、入力情報D51iで示される画像を解析して、学習モデル部500のデータ形式に合致する形式に変換して出力する。画像解析部513iは、例えば、画像形式の入力情報D51iをテキスト形式の入力情報D51に変換するものであってもよい。
【0432】
画像解析部513iは、例えば、ユーザ1からの入力に、ユーザ1が所持している製品の操作画面をキャプチャした画像が含まれている場合に、該画像を解析して、どの製品のどの操作画面であるか、どういった操作状態にあるかを特定し、それを説明するテキストに変換して出力してもよい。また、画像解析部513iは、例えば、ユーザ1からの入力に、ユーザ1が閲覧しているある購入サイトをキャプチャした画像が含まれている場合に、該画像を解析して、どのサイトのどの操作画面であるか、どういった操作状態にあるかを特定し、それを説明するテキストに変換して出力してもよい。
【0433】
画像生成部514iは、応答情報D52に基づいて画像を生成して出力する。画像生成部514iは、例えば、学習モデル部500からの出力である応答情報D52に画像以外のデータ形式が含まれる場合に、応答情報D52で示される該部分の内容を示す画像を生成して出力してもよい。画像生成部514iは、例えば、応答情報D52がデータ形式の指定を含むデータ構造である場合に、該指定において画像形式が指定されているデータ要素を、画像形式に変換して出力するものであってもよい。画像生成部514iは、例えば、テキスト形式の応答情報D52に基づいて、画像形式の応答情報D52vを生成するものであってもよい。例えば、画像生成部514iは、入力情報D51に含まれる画像に、テキスト形式の応答情報D52が示す内容を注釈として付け加える合成処理を行ってもよい。また、テキスト形式の応答情報D52に基づいて、画像生成部514iは、入力情報D51に含まれる画像の一部分を強調表示する処理を行ってもよい。画像生成部514iは、学習モデルを用いて入力情報(応答情報D52および必要に応じて入力情報D51)から画像を生成するものであってもよい。
【0434】
プログラム生成部514pは、応答情報D52で示される内容を所定のプログラムのデータ形式に変換して出力する。プログラム生成部514pは、例えば、学習モデル部500からの出力である応答情報D52に所定のプログラムのデータ形式以外のデータ形式が含まれる場合に、応答情報D52で示される該部分の内容を所定のプログラムのデータ形式に変換して出力する。プログラム生成部514pは、例えば、応答情報D52がデータ形式の指定を含むデータ構造である場合に、該指定において所定のプログラムのデータ形式が指定されているデータ要素を、所定のプログラムのデータ形式に変換して出力するものであってもよい。プログラム生成部514pは、例えば、テキスト形式の応答情報D52を所定のプログラムのデータ形式の応答情報D52pに変換するものであってもよい。プログラム生成部514pは、学習モデルを用いて入力情報から所定のプログラムを生成するものであってもよい。
【0435】
画像解析部513iによる画像解析処理は、例えば、上述したステップS511において行われる。また、画像生成部514iによる画像生成処理およびプログラム生成部514pによるプログラム生成処理は、例えば、上述したステップS514において行われる。
【0436】
他の点に関しては、本実施の形態にかかる他の制御システムと同様でよい。
【0437】
以上のように、本変形例によれば、音声だけでなく、音声と画像とによって問い合わせおよび応答を行うことができるので、例えば、操作画面に対する問合せなどに対して、より効果的に応答をすることができる。また、本変形例によれば、音声と画像に加えてプログラムも応答情報として発信元に提供できるので、不具合対応などの問合せに対してより効果的に応答をすることができる。
【0438】
変形例5-4.
次に、制御システム5000の第4の変形例を説明する。
図32は、本実施の形態にかかる制御システム5000の変形例である制御システム5000dの例を示す構成図である。なお、制御システム5000~制御システム5000cと同じ要素については、同じ符号を付して説明を省略する。
【0439】
本変形例では、ユーザ1からの問合せ内容および/または学習モデルからの出力結果をもとに、オペレータ8による応答または別の学習モデルによる応答に切り替える機能を有する。
【0440】
図32に示すように、制御システム5000dは、呼出確認部531と、出力選択部532とをさらに備えることができる。
【0441】
ここで、制御システム5000dは、第1の応答機能として学習モデル部500aを備えるとともに、第2の応答機能としてオペレータ8およびオペレータ8との通信チャネルを備えているものとする。また、制御システム5000dは、さらに第3の応答機能として学習モデル部500aとはアルゴリズムまたは用いるデータが異なる別の学習モデル部500bを備えていてもよい。なお、第2の応答機能として、学習モデル部500aとはアルゴリズムまたは用いるデータが異なる別の学習モデル部500bを備えてもよい。その場合、第3の応答機能として、さらに、オペレータ8およびオペレータ8との通信チャネルを備えていてもよい。なお、応答機能の種類および数は特に限定されない。例えば、切り替え先の応答機能は、学習モデルを用いない応答システムであってもよい。
【0442】
本例では、第1の応答機能とされる学習モデル部500aが、上述した学習モデル部500であって、第2の応答機能がオペレータ8およびオペレータ8との通信チャネルであって、第3の応答機能が学習モデル部500aとはアルゴリズムまたは用いるデータが異なる別の学習モデル部500bである場合を例に説明する。
【0443】
ここで、学習モデル部500aは、参照先のデータベースが制限されるなどローカルな情報をもとに出力結果を得るローカルな学習モデルであってもよく、学習モデル部500bは、外部ネットワークに自由にアクセス可能であるなどグローバルな情報をもとに出力結果を得るグローバルな学習モデルであってもよい。
【0444】
呼出確認部531は、ユーザ1からの問合せ内容および/または学習モデルからの出力結果に基づいて、応答処理を行う処理先を切り替える。
【0445】
呼出確認部531は、ユーザ1からの問合せ内容および/または学習モデルからの出力結果に基づいて、例えば、第1の応答機能による出力の精度が見込めないと判断された場合に、第2の応答機能としてオペレータ8を呼び出してもよい。呼出確認部531は、例えば、オペレータ8との通信チャネルを用いて、オペレータ8を呼び出すとともに、入力情報D51をそのオペレータ8の操作機器に入力してもよい。また、呼出確認部531は、オペレータ8との通信チャネルを用いて、オペレータ8を呼び出すとともに、入力情報D51をそのオペレータ8の操作端末(不図示)に入力してもよい。
【0446】
また、呼出確認部531は、さらに第2の応答機能への呼び出しが不能である、または出力の精度が見込めないと判断された場合に、第3の応答機能として、学習モデル部500bを呼び出してもよい。呼出確認部531は、例えば、学習モデル部500bとのインタフェースを用いて学習モデル部500bに入力情報D51を入力することで、学習モデル部500bを呼び出してもよい。
【0447】
ここで、出力精度の判断は、例えば、応答機能自身が出力する評価値や尤度などを用いて判断してもよいし、上述した信頼性評価を用いて判断してもよい。また、応答機能自身が、分からない旨や他の機能の呼び出しを依頼する旨のメッセージを出力する場合には、そのようなメッセージの有無により判断することも可能である。
【0448】
出力選択部532は、呼出確認部531による応答処理の切替結果に基づいて、ユーザ1に向けて出力する応答情報D52を選択する。出力選択部532は、呼出確認部531による応答処理の切替結果、応答処理の実行主体が第1の応答機能とされた場合は、第1の応答機能からの出力とされる応答情報D52aを、ユーザ1に向けて出力する。また、出力選択部532は、呼出確認部531による応答処理の切替結果、応答処理の実行主体が第2の応答機能とされた場合は、第2の応答機能からの出力とされる応答情報D52bを、ユーザ1に向けて出力する。また、出力選択部532は、呼出確認部531による応答処理の切替結果、応答処理の実行主体が第3の応答機能とされた場合は、第3の応答機能からの出力とされる応答情報D52cを、ユーザ1に向けて出力する。
【0449】
出力選択部532は、実行主体とされた応答機能と、出力先とされるユーザ1とを接続する接続路(回路または通信路など)を切り替える出力切替スイッチ(不図示)を制御することにより、選択された応答機能からの出力をユーザ1に向けて出力してもよい。
【0450】
ここで、応答機能とユーザ1との接続路には、必要に応じて上述した音声合成部、画像生成部、プログラム生成部などの各種変換装置や所定のインタフェースが含まれうる。
【0451】
例えば、オペレータ8が操作端末を用いて文字入力したものが応答情報D52bとして出力される場合、応答機能とユーザ1との接続路には、テキストを音声に変換する音声合成部が含まれていてもよい。また、出力選択部532は、第2の応答機能等の出力として、第1の応答機能により出力された応答情報D52aを修正したものを受け付けることも可能である。この場合において、オペレータ8の操作端末はテキスト表示部およびテキスト入力部を含み、制御システム5000dは、例えば、オペレータ8の操作端末から出力される応答情報D52bの一部を修正した応答情報D52bを受け付けてもよい。
【0452】
他の点に関しては、本実施の形態にかかる他の制御システムと同様でよい。
【0453】
以上のように、本変形例によれば、上述した学習モデル部500を用いて応答を生成する以外にも、例えば、オペレータによる応答生成や、他の学習モデル(例えば、複数のモデルを接続したタンデム構造モデルや、マルチモーダルモデルや、所定の機器またはサービスに特化して学習されたモデルを含む)を用いて応答を生成させることができるので、ユーザへの応答作業の高性能化をより図ることができる。
【0454】
ロボットへの操作指示や人とロボットとの協調作業などのロボット制御では、その複雑性や高度性は人と機械の相対的関係にも依存する。上述した各実施の形態の構成ならびに各変形例の構成を為すことで、該ロボット制御の複雑性や高度性が改善もしくは軽減されるので、人による機械に対する相対的な操作能力のばらつきを改善、もしくは人による機械に対する操作嗜好性の違いへの反映をより図ることができる。
【0455】
なお、上述した各実施の形態では、着目する作業に応じたシステム構成の一例を例示して説明したが、本開示にかかる制御システムは上述した例に限定されない。例えば、本開示にかかる制御システムは、上述した各実施の形態のうちの1つまたは複数を適宜組み合わせることも可能である。
【0456】
一例として、本開示にかかる制御システムは、実施の形態1の構成と実施の形態4の構成とを組み合わせて、実施の形態4の機能を利用してセンサデータから得られた解決方法を示す情報を、実施の形態1の制御システムに入力してプログラムに変換して対象機器2を直接制御することも可能である。
【0457】
また、各実施の形態および変形例は、上述した例に限定されず、開示の範囲内で適宜変更可能である。
【0458】
また、本開示にかかる制御システムおよび制御方法には、以下の付記に記載の制御システムおよび制御方法が含まれる。
【0459】
(付記1)
機器を用いた人または物による作業を支援するための制御システムであって、
前記作業が行われる環境である作業環境における状況または要望を示す第1の情報の入力を受け付ける入力インタフェースと、
所定の学習モデルに対してアクセス可能に備えられるモデル処理部と、
前記学習モデルからの出力に基づいて、前記作業を支援するための第2の情報を出力する出力インタフェースと、を備え、
前記モデル処理部は、前記第1の情報に基づくモデル入力データを前記学習モデルに入力して、前記学習モデルから前記モデル入力データに対応するモデル出力データを受け付け、
前記モデル出力データは、前記作業に用いられる情報を含み、
前記出力インタフェースは、前記モデル出力データに基づく前記第2の情報を出力する
ことを特徴とする制御システム。
(付記2)
前記第1の情報は、前記機器に対して要求される制御内容または操作内容を示す情報を含み、
前記モデル入力データは、前記第1の情報で示される制御内容または操作内容が前記学習モデルの入力に合致する形式で示されたデータであり、
前記モデル出力データは、前記モデル入力データで示される制御内容または操作内容に対応する、前記機器の制御または操作に用いられる情報を含み、
前記第2の情報は、前記モデル出力データに含まれる前記機器の制御または操作に用いられる情報が、前記出力インタフェースの出力先において判別可能な所定の形式で記述された情報を含む
付記1に記載の制御システム。
(付記3)
前記出力インタフェースの出力先が、前記機器または前記機器に制御を要求するインタフェースであり、
前記機器または前記機器に制御を要求するインタフェースに前記第2の情報が出力された結果、前記機器が制御される
付記2に記載の制御システム。
(付記4)
前記機器が実行可能なコードである実行コードを生成して出力する実行コード生成部をさらに備え、
前記出力インタフェースの出力先が、前記実行コード生成部であり、
前記実行コード生成部に前記第2の情報が出力された結果、生成される実行コードにより、前記機器が制御される
付記2に記載の制御システム。
(付記5)
前記出力インタフェースの出力先が、ユーザが操作する端末であり、
前記端末に前記第2の情報が出力された結果、前記機器が制御される
付記2に記載の制御システム。
(付記6)
前記第1の情報は、前記作業環境における状況を示す情報を含み、
前記モデル入力データは、前記第1の情報で示される前記作業環境の状況が前記学習モデルの入力に合致する形式で示されたデータであり、
前記モデル出力データは、前記モデル入力データで示される前記作業環境の状況の分析結果および/または該状況の改善方法に関する情報を含み、
前記第2の情報は、前記前記作業環境における状況の分析結果および/または該状況の改善方法に関する情報が、前記出力インタフェースの出力先において判別可能な所定の形式で記述された情報を含む
付記1に記載の制御システム。
(付記7)
前記モデル処理部は、第1の学習モデルおよび第2の学習モデルに対してアクセス可能に備えられ、
前記モデル処理部は、前記第1の情報に基づく第1のモデル入力データを、前記第1の学習モデルに入力して、前記第1の学習モデルから前記第1のモデル入力データに対応する第1のモデル出力データを受け付け、
前記モデル処理部は、前記第1のモデル出力データに基づく第2のモデル入力データを前記第2の学習モデルに入力して、前記第2の学習モデルから前記第2のモデル入力データに対応する第2のモデル出力データを受け付け、
前記出力インタフェースは、前記第2のモデル出力データに基づく前記第2の情報を出力する
付記1に記載の制御システム。
(付記8)
前記第1の情報は、前記機器に対して要求される制御内容または操作内容を示す情報を含み、
前記第1のモデル入力データは、前記第1の情報で示される制御内容または操作内容が前記第1の学習モデルの入力に合致する形式で示されたデータであり、
前記第1のモデル出力データは、前記第1のモデル入力データで示される制御内容または操作内容が、より一般的化または具体化されて示される情報を含み、
前記第2のモデル入力データは、前記第1のモデル出力データで示される制御内容または操作内容が前記第2の学習モデルの入力に合致する形式で示されたデータであり、
前記第2のモデル出力データは、前記第2のモデル入力データで示される制御内容または操作内容に対応する、前記機器の制御または操作に用いられる情報を含み、
前記第2の情報は、前記第2のモデル出力データに含まれる前記機器の制御または操作に用いられる情報が、前記出力インタフェースの出力先において判別可能な所定の形式で記述された情報を含む
付記7に記載の制御システム。
(付記9)
前記第1の情報は、前記作業環境における状況を示す情報を含み、
前記第1のモデル入力データは、前記第1の情報で示される前記作業環境の状況が前記第1の学習モデルの入力に合致する形式で示されたデータであり、
前記第1のモデル出力データは、前記モデル入力データで示される前記作業環境の状況の分析結果を含み、
前記第2のモデル入力データは、前記第1のモデル出力データで示される前記作業環境の状況の分析結果が前記第2の学習モデルの入力に合致する形式で示されたデータであり、
前記第2のモデル出力データは、前記第2のモデル入力データで示される前記作業環境の分析結果に対応する、前記作業環境における状況の改善方法に関する情報を含み、
前記第2の情報は、前記第2のモデル出力データに含まれる、少なくとも前記作業環境における状況の改善方法に関する情報が、前記出力インタフェースの出力先において判別可能な所定の形式で記述された情報を含む
付記7に記載の制御システム。
(付記10)
前記作業は、機器を用いた人または物による応答であり、
前記第1の情報は、前記作業環境において反応が要求される内容である反応要求内容を示す情報を含み、
前記モデル入力データは、前記第1の情報で示される反応要求内容が前記学習モデルの入力に合致する形式で示されたデータであり、
前記モデル出力データは、前記モデル入力データで示される反応要求内容に対応する、前記応答に用いられる情報を含み、
前記第2の情報は、前記モデル出力データに含まれる前記応答に用いられる情報が、前記出力インタフェースの出力先において判別可能な所定の形式で記述された情報を含む
付記1に記載の制御システム。
(付記11)
前記出力インタフェースの出力先が、操作画面を介して前記機器に制御を要求する画面操作インタフェースであり、
前記モデル出力データは、前記モデル入力データで示される制御内容または操作内容に対応する操作を前記機器に対して実際に行うための操作画面であって、前記出力インタフェースの出力先において判別可能な所定の形式で記述された操作画面の情報を含む
付記3に記載の制御システム。
(付記12)
前記入力インタフェースは、複数のユーザから、前記作業環境における要望を示す前記第1の情報の入力を受け付け、
前記モデル処理部は、前記複数のユーザから入力された前記第1の情報を含む前記モデル入力データを前記学習モデルに入力して、前記学習モデルから前記モデル入力データに対応する前記モデル出力データを受け付ける
付記1から付記11のいずれかに記載の制御システム。
(付記13)
前記学習モデルは、自然言語を入力して出力結果を得る言語学習モデル、画像を入力して出力結果を得る画像学習モデル、および自然言語と画像とを入力して出力結果を得るマルチモーダルモデルである
付記1から付記12のいずれかに記載の制御システム。
(付記14)
前記モデル処理部は、第1の学習モデルおよび第2の学習モデルに対してアクセス可能に備えられ、
前記第1の学習モデルおよび前記第2の学習モデルの一方は、参照先のデータベースが内部の情報に制限されるローカルな学習モデルであり、
前記第1の学習モデルおよび前記第2の学習モデルの他方は、参照先のデータベースが内部の情報に制限されないグローバルな学習モデルである
付記1から付記13のいずれかに記載の制御システム。
(付記15)
前記モデル処理部は、第1の学習モデルおよび第2の学習モデルに対してアクセス可能に備えられ、
前記第1の学習モデルおよび前記第2の学習モデルの一方は、前記作業環境において特に定めた情報が参照可能な学習モデルであり、
前記第1の学習モデルおよび前記第2の学習モデルの他方は、前記作業環境において特に定めた情報が参照不可能な学習モデルである
付記1から付記13のいずれかに記載の制御システム。
(付記16)
前記学習モデルから出力されるモデル出力データに基づいて、前記機器の制御および状態を模擬したシミュレーションを実施する出力確認部を備える
付記1から付記15のいずれかに記載の制御システム。
(付記17)
前記出力インタフェースの出力先から収集される情報に基づいて、前記学習モデルの追加学習、または出力した情報の正誤判定、出力する情報のフロー制御が行われる
付記1から付記16のいずれかに記載の制御システム。
(付記18)
第の1情報に不明確または不確定な情報が含まれている場合に、入力元に問合せを行う入力処理部を備える
付記1から付記17のいずれかに記載の制御システム。
(付記19)
前記問合せには、前記学習モデルの入出力データに対して内容の修正、追加、取消を示す情報が含まれる
付記1から付記18のいずれかに記載の制御システム。
(付記20)
前記第1の情報は、前記作業が行われる環境である作業環境における状況または要望を時間の情報とともに示す時系列データである
付記1から付記19のいずれかに記載の制御システム。
(付記21)
前記学習モデルの実行環境として、モデルの情報を記憶するモデル情報記憶部と、前記モデル入力データを受け付けて、前記モデル入力データおよび前記モデル情報記憶に記憶されている情報に基づいて、前記モデル出力データを出力するモデル制御部、とを備える
付記1から付記19のいずれかに記載の制御システム。
(付記22)
機器を用いた人または物による作業を支援するための制御方法であって、
入力インタフェースが、前記作業が行われる環境である作業環境における状況または要望を示す第1の情報の入力を受け付け、
所定の学習モデルに対してアクセス可能に備えられるモデル処理部が、前記第1の情報に基づくモデル入力データを前記学習モデルに入力して、前記学習モデルから前記モデル入力データに対応するモデル出力データであって、前記作業に用いられる情報を含むモデル出力データを受け付け、
出力インタフェースが、前記学習モデルからの出力に基づき、前記モデル出力データに基づく第2の情報であって前記作業を支援するための第2の情報を出力する
ことを特徴とする制御方法。
【産業上の利用可能性】
【0460】
本開示にかかる制御システムは、人または物による作業を支援する作業支援システムの一部として好適に適用可能である。また、本開示にかかる制御システムは、機器を用いて何らかの制御または作業を行う場合の該機器を制御する制御システムとして好適に適用可能である。ここで、制御システムは、FA機器を制御する制御システム、家庭やビル内における制御システム、ネットワーク上で情報処理を行うサーバ装置等の情報処理装置を制御する制御システムとしても好適に適用可能である。
【符号の説明】
【0461】
1000,1000a,1000b,1000c,2000,3000,3000a,3000b,3000c,3000d,3000e,4000,4000a,5000,5000a,5000b,5000d 制御システム、100,200,300,300a,300b,400,400a,400b,500,500a,500b 学習モデル部、10,20 情報処理装置、11 モデル情報記憶部、12 参照情報記憶部、101 モデル制御部、102 入力部、103 出力部、105 前処理部、106 後処理部、107 モデル生成部、104,104a 制御部、201 入力処理部、202 出力確認部、203 修正確認部、1 ユーザ、1a 入力元、2 対象機器、2a 出力先、3 操作画面ユーザインタフェース、4 コントローラ、4a 汎用操作装置、41-1,41-2 解析部、42 切替部、43 出力切替スイッチ、5 センサ、6 モデルインタフェース、7 表示器、8 オペレータ、110,210,310,410 機器情報記憶部、120 実行コード生成部、230 状態取得部、311 入力インタフェース、312 出力インタフェース、313 環境情報記憶部、350 表示形式情報、360 ユーザ履歴情報記憶部、511 データベース検索部、512 コントロール生成部、513v 音声認識部、513i 画像解析部、514v 画像合成部、514p プログラム生成部、515 正誤判断部、516 感情判定部、517 評価取得部、518 登録判定部、519 追加学習部、531 呼出確認部、532 出力選択部、533 出力切替部、D101 モデル入力データ、D102 モデル情報、D103 モデル出力データ、D104 モデル参照情報、D11,D21,D31,D41,D51,D51v,D51i 入力情報、D12 制御記述、D22,D34 制御指令、D42a,D42b 解析結果、D52,D52v,D52i,D52p,D52a,D52b,D52c 応答情報、D32,D32a,D32b 操作指令、D320 操作情報、D13,D23,D33,D43 機器情報、D33a 環境情報、D14 実行コード、D44a,D44b 結果情報、D15,D25,D35,D45 状態情報、D16,D26,D36,D46 フィードバック情報、D17,D27,D37,D47,D57 問合せ、D18,D28,D38,D48 補足情報、D59 評価情報、D361 ユーザ履歴情報。
【要約】
制御システム(3000)は、ユーザ(1)による対象機器(2)に対する命令である入力情報(D31)の入力を受け付ける入力インタフェース(311)を備える。入力情報(D31)は、対象機器(2)に対する複数の操作から構成される命令を示す情報である。学習モデル部(300)は、入力情報(D31)を学習モデルに入力し、複数の操作を実現するための対象機器(2)における一連の制御である順次制御を示す操作指令(D32)を出力する。