[IoT用デバイス仲介システム]
先ず、図1〜図8に基づいてIoT用デバイス仲介システムを説明する。IoTとは、Internet of Thingsの略で、モノがインターネットプロトコルでネットワークされており、モノが自ら信号をインターネット上に発信するものである。IoT用デバイス仲介システムとは、インターネットに接続して通信するための機能を備えていないIoT用デバイス(IoT用の各種センサやアクチュエータ等)群2に対しユーザのモバイル通信装置3が通信を仲介し、IoT用デバイス群2をモバイル通信装置3経由でインターネット1に接続して通信可能にするためのシステムである。
図1の全体システムを参照し、インターネット1に、ユーザのウェアラブルコンピュータ等で代表されるモバイル通信装置3と、ユーザ宅のロボット6と、ユーザ宅のパーソナルコンピュータ(以下「PC」と言う)7と、IoTサーバ8と、人工知能サーバ9と、各種専門業者のPC10と、SNSサーバ11とが接続されて、互いに通信可能に構成されている。モバイル通信装置3は、IoT用デバイス群2とワイヤレスセンサネットワーク4とデジタルメニューボード等のディスプレー群5と通信するための機能を備えている。通信方式としては、例えば、Wi-FiやBluetooth、Wi-Fi Direct、Zigbee(登録商標)、Zwave、Ant+などを想定している。また、OSとしてはiOSやAndroid、Linux(登録商標)、Tizen、およびその他のリアルタイムOSへ対応する。送受信用の無線規格としてIEEE802.15.4を採用する。また、Internet ProtocolとしてIPv6(Internet Protocol Version 6)を採用する。
ワイヤレスセンサネットワーク4とは、複数のセンサ付無線端末を空間に散在させ、それらが協調して環境や物理的状況を採取することを可能とする無線ネットワークのことである。例えばエネルギーハーベスティングかM2Mあるいは電池などでセンサ装置を作り、例えば金属疲労の劣化等を圧力センサやゲージセンサで常時モニターしておき、その変化があると知らせる。主に橋梁やトンネル等の建造物に設置される。一般的に、複数のセンサノードとゲートウェイセンサノードとを含む。それらノードは、通常1個以上のセンサ、無線チップ、マイクロプロセッサ、電源(電池など)により構成される。ノードの制御回路のハードウェア構成は、図2(a)に示すものと同じである。ワイヤレスセンサネットワークは、通常、アドホック(ad hoc)機能と、各ノードから中枢ノードへデータを送るためのルーティング機能(routing algorithm)を持つ。つまり、ノード間の通信に障害がでると別の通信経路を自律的に再構築する機能がある。ノードがグループとして連携するため分散処理の要素もある。加えて、外部から電力供給を受けずに長期間動作する機能もあり、そのために省電力機能または自己発電機能を持つ。本実施の形態では、ワイヤレスセンサネットワーク4は、IoT用デバイス群2の一種である。
IoTサーバ8は、IoT用デバイスのデータベース(以下「DB」と言う)であるIoT用デバイスDB15に対してデータの書込みおよび読出しが可能である。人工知能サーバ9は、人工知能DB17とユーザDB12と学習DB60とに対してデータの書込みおよび読出しが可能である。SNSサーバはSNSDB13に対してデータの書込みおよび読出しが可能である。
次に、図2(a)を参照して、IoT用デバイス2の制御回路のハードウェア構成を説明する。IoT用デバイス群2は、地球上に隈なく設置されたセンサやアクチュエータであり、全体をコントロールするためのCPU(Central Processing Unit)18と、各種機能を実行するためのプログラムを保存したROM(Read Only Member)20と、CPU18のワークエリアであるRAM(Random Access Memory)19と、例えばWi-FiやBluetooth(登録商標)、Wi-Fi Direct、Zigbee、Zwave、Ant+などを用いた無線通信インタフェース部22とを含む。IoT用デバイス2がセンサの場合にはセンサ部14を含む。一方、IoT用デバイス2がアクチュエータの場合には、上記センサブ14の代わりにまたはそれに加えて、アクチュエータ部21が設けられる。CPU18とRAM19、ROM20、無線通信インタフェース部22、センサ部14、アクチュエータ部21は、信号のやり取りが可能に接続されている。
次に、図2(b)を参照して、モバイル通信装置3の一例のウェアラブルコンピュータの制御回路のハードウェア構成を説明する。このウェアラブルコンピュータ3はスマートグラス等で代表されるものであり、CPU23、RAM24およびROM25、EEPROM(Electronically Erasable and Programmable Read Only Memory)26がバス27により接続されている。CPU23、RAM24およびROM25の働きは、IoT用デバイス2における上述した説明と基本的に同じである。EEPROM26には、インターネット1を通じてダウンロードしたアプリケーションプログラム等が記憶されている。
バス27は、インタフェース部28を介して種々のデバイスが接続されている。例えば、ユーザの周辺の映像(ユーザの視線方向の映像等)を撮影するデジタルビデオカメラ入力部29、スマートグラスのレンズ部に情報等をオーバーレイ表示する表示部30、基地局と無線通信してインターネット1を介してサーバ等とデータ通信する無線通信処理部31、ユーザがウェアラブルコンピュータ3のCPU23に希望する機能を実行させるための入力操作部32、ユーザが音声により通話をするための音声出力部33と音声入力部34、衛星からのGPS情報と基地局からの電波と無線LANアクセスポイントからの無線電波とに基づいて、現在位置を取得するための位置情報取得部35、Wi-FiやBluetooth、Wi-Fi Direct、Zigbee、Zwave、Ant+などを用いてIoT用デバイス群2と通信する無線通信インタフェース部36、ユーザの視線位置を検出して、デジタルビデオカメラ入力部29で撮影した映像でのユーザ視線の位置を特定するための視線位置検出部37、各種センサ38などが、インタフェース部28に接続されている。
入力操作部32は、ユーザによる手動操作を受付けるものばかりでなく、ユーザのジェスチャや特定のウインク等による指示も受付ける。なお、ユーザの音声による指示は音声入力部34により受付ける。各種センサ38は、ウェアラブルコンピュータ3に取り付けられた気温や湿度や照度や紫外線等のセンサである。なお、この図2(a)に示したハードウェア構成に対し、各種センサ38を削除してムーブメント用駆動回路を追加したものが、ロボットの制御回路のハードウェア構成となる。
次に、図3に基づいて、PCや各種サーバ7〜11の制御回路のハードウェア構成を説明する。前述と同様に、CPU40、RAM41およびROM42がバス43により接続されている。そのバス43が接続されているインタフェース部44には、インターネット1等との通信部45、オペレータに映像や情報を表示する表示部46、オペレータからの操作を受付ける入力操作部47が接続されている。
次に、図4に基づいて、モバイル通信装置3のCPU23と人工知能サーバ9のCPU40とが実行する制御処理のメインプログラムのフローチャートを説明する。モバイル通信装置3はS1によりIoT用処理を行なう。これは、IoT用デバイス群2とインターネット1とをモバイル通信装置3が仲介して接続し、IoT用デバイス(センサ)2の検出データをIoTサーバ8へ送信し、IoTサーバ8からの指令信号(アクチュエータ制御信号)をIoT用デバイス(アクチュエータ)2へ送信するための処理である。
次に、モバイル通信装置3はS2により外部ディスプレー処理を行なうと共に人工知能サーバ9はS3によりディスプレー処理を行なう。これは、ユーザがインターネット上にアップロードしている動画や静止画等をデジタルメニューボード等のディスプレー5に表示させるための処理である。次に、モバイル通信装置3はS4によりアラウンドデータ端末処理を行なうと共に人工知能サーバ9はS5によりアラウンドデータサーバ処理を行なう。これは、ウェアラブルコンピュータ等のモバイル通信装置3によりユーザ周りの映像や音声を人工知能サーバ9で収集して機械学習用の情報として利用するための処理である。
次に、モバイル通信装置3はS7によりパーソナルサービス端末処理を行なうと共に人工知能サーバ9はS8によりパーソナルサービスサーバ処理を行なう。これは、人工知能による機械学習の結果を利用してパーソナライズされたサービスをユーザに提供するための処理である。次に、モバイル通信装置3はS9により対話端末処理を行なうと共に人工知能サーバ9はS10により対話サーバ処理を行なう。これは、ユーザと人工知能とが各種の対話を行なうための処理である。次に、モバイル通信装置3はS11によりタスク端末処理を行なうと共に人工知能サーバ9はS12によりタスクサーバ処理を行なう。これは、ユーザの仕事上の質問や相談に機械学習を終えた人工知能が応答するための処理である。
次に、図5〜図8に基づいて、上記S1に示したIoT用処理のサブルーチンプログラムのフローチャートを説明する。先ず図5を参照して、IoT用デバイス(センサ)2とモバイル通信装置3とIoTサーバ8とで行われる処理を説明する。
IoT用デバイス(センサ)2のCPU18は、S20によりセンサ部14による検出データをRAM19に記憶する処理を行ない、S21により送信指令信号を受信したか否かの判定を行ない、受信していない場合にはS20に戻り、S20→21→S20のループを繰り返し巡回する。
一方、モバイル通信装置3のCPU23は、S22で、GPS情報と基地局からの電波と無線LANアクセスポイントからの無線電波等に基づいた位置情報をIoTサーバ8へ送信する。それをS24により受信したIoTサーバ8は、S25によりIoT用デバイスDB15を検索し、位置情報を送信してきたモバイル通信装置3の近辺に受信したいIoT用デバイス2が存在するか否かを、S26により判定する。IoTサーバ8は、IoT用デバイス(センサ)2の検出データを定期的に収集するのが理想であり、IoT用デバイスDB15を検索して定期受信時期が来たIoT用デバイス(センサ)2を割出す。受信したいIoT用デバイス2が存在する場合には、S26によりYESの判定がなされて制御がS27へ進み、受信用の指令信号をモバイル通信装置3へ送信する。
一方、受信したいIoT用デバイス2が存在しない場合には、S26によりNOの判定がなされて制御がS38へ進み、近辺に指令信号(アクチュエータ制御信号)を送信したいIoT用デバイス(アクチュエータ)2が存在するか否か判定する。存在する場合には制御がS39に進み、送信用の指令信号と送信情報(アクチュエータ部21を制御するための情報)とをモバイル通信装置3へ送信する。S27またはS39による指令信号を受信したモバイル通信装置3は、S23によりYESの判定を行なって制御がS28へ進み、その受信した指令信号が受信用であるか否か判定する。S38により送信されてきた送信用の指令信号の場合には制御がS47に移行するが、S27により送信されてきた受信用の指令信号の場合には制御がS29に進み、送信指令信号を近辺のIoT用デバイス(センサ)2へ送信する。
それをS21で受信したモバイル通信装置3は、S30により、RAMに記憶されている検出データとデバイスIDとをモバイル通信装置3へ送信して、S20に戻る。それをS31で受信したモバイル通信装置3は、その受信データをS32によりIoTサーバ8へ送信する。それをS33で受信したモバイル通信装置3は、S34により、IoT用デバイスDB15の記憶データの内、受信したデバイスIDに対応するIoT用デバイスの記憶データを受信したデータに更新する。
次にIoTサーバ8は、S35により特典の一例のポイントをモバイル通信装置3へ送信した後制御がS61へ移行する。それをS36で受信したモバイル通信装置3は、EEPROM26に記憶されているポイントを加算更新した後(S37)、制御がS60へ移行する。このEEPROM26に記憶されているポイントは、IoTサーバ8を運営している業者から種々のサービスを受けるために使用可能である。例えば、ポイントを使って、高速道路の料金を支払ったり、JRや私鉄の乗車券や定期券を購入したりできる。また、ポイントを換金できるようにしてもよい。これにより、ユーザにIoT用デバイスの仲介に対するインセンティブを与えることができる。
一方、S38によりNOと判定された場合には制御がS40へ進み、受信したいモバイル通信装置3の各種センサ38があるか否か判断する。つまり、S24で受信した位置情報に位置するモバイル通信装置3に設けられている各種センサ38の内、当該地理的位置での検出データを送信してもらいたいものがあるか否か判定する。ない場合には制御がS24へ移行するが、ある場合には制御がS62へ移行する。
次に、図6を参照して、IoT用デバイス(アクチュエータ)2に対する処理を説明する。IoT用デバイス(アクチュエータ)2は、IoTサーバ8から送信されてきてRAM19に記憶している送信情報に基づいた動作制御処理を行なう(S45)。次に、S46により、モバイル通信装置3からの受信指令信号を受信したか否かの判定を行なう。受信していない場合には制御がS45の戻り、S45→S46→S45のループを繰り返し巡回する。この状態で、送信用の指令信号と送信情報とを受信したモバイル通信装置3は、S47により、受信指令信と送信情報とをIoT用デバイス(アクチュエータ)2へ送信する。それを受信したIoT用デバイス(アクチュエータ)2は、S46によりYESの判定を行ない、制御がS48に進み、その受信した送信情報(アクチュエータ部21を制御するための情報)をRAM19に記憶し、S49により、受信完了信号とデバイスIDとをモバイル通信装置3へ送信する。
それをS50により受信したモバイル通信装置3は、S51により、完了信号をIoTサーバ8に送信する。それをS52で受信したIoTサーバ8は、S53により、デバイスIDに基づいてIoT用デバイスDBを検索し、デバイスIDに対応するデータを更新する。例えば、「○時○分△×送信情報を送信済み」等のように更新する。そして、S54によりポイントをモバイル通信装置3へ送信した後、制御がS61へ移行する。それをS55で受信したモバイル通信装置3は、EEPROM26に記憶されているポイントを加算更新する(S56)。その後、制御がS60へ移行する。
S60では、IoTサーバ8から、モバイル受信用の指令信号とデータ特定信号とを受信したか否か判定され、受信していない場合には、制御がS84へ移行する。一方、IoTサーバ8は、S24により受信した位置において受信したいモバイル通信装置3の各種センサ38があると判断した場合には、S40によりYESと判断し、S62により、モバイル受信用の指令信号とデータ特定信号とを送信する。それを受信したモバイル通信装置3は、S60によりYESと判定して制御がS63へ進み、データ特定信号で特定されたデータ(温度や湿度や照度や紫外線等)は検出所要時間を要するか否かの判断を行なう。照度や紫外線の場合には、一瞬で検出でき検出所要時間を要しないため、S63によりNOと判断されて制御がS64に進み、特定されたデータを対応するセンサ38で検出する処理を行ない、その検出データをIoTサーバ8へ送信する(S65)。
それをS66で受信したIoTサーバ8は、S67により、IoT用デバイスDB15を検索して受信した新たな検出データに更新する。そして、S68によりポイントをモバイル通信装置3へ送信する。それをS69で受信したモバイル通信装置3は、EEPROM26に記憶されているポイントを加算更新する(S70)。その後、制御がS84へ移行する。
一方、温度や湿度のように、データ特定信号で特定されたデータが検出所要時間を要する場合には、S63でYESの判定がなされ、制御がS71へ進み、表示部30により検出所要時間(例えば30秒等)をユーザに報知する。それを見たユーザは、センサ検出データの送信に協力する場合には、現在位置で30秒間とどまり検出が完了するのを待つが、協力する気がない場合には、とどまることなく移動する。S71による報知後S72により、特定されたデータを対応するセンサ38で検出処理を行ない、S73で検出が完了したか否か判定し、未だ完了していない場合には、S74により検出エリア内にとどまっているか否か判定し、とどまっている場合にはS72へ戻るループを繰り返し実行する。検出が完了する前にユーザのモバイル通信装置3が検出エリア外に移動した場合には、制御がS84へ移行するが、検出が完了するまでユーザのモバイル通信装置3が検出エリア内にとどまっていた場合には、制御がS75に進み、検出データをIoTサーバ8へ送信した後、制御がS69へ移行する。
それをS66で受信したIoTサーバ8は、S67により、IoT用デバイスDB15を検索して受信した新たな検出データに更新する。そしてS68によりポイントをモバイル通信装置3へ送信する。それをS69で受信したモバイル通信装置3は、EEPROM26に記憶されているポイントを加算更新する(S70)。その後、制御がS84へ移行する。
なお、図5〜図7に示した制御では、IoT用デバイス群2とIoTサーバ8との間で情報のやり取りの必要があるIoT用デバイスが存在するか否かを判定するための判定手段(例えばS26、S38、S49等)をIoTサーバ8側に設けたものを示したが、この判定手段をIoT用デバイス群2側に設けてもよい。これにより、IoTサーバ8側の制御負担を軽減できる。
次に、図8を参照してワイヤレスセンサネットワーク4に対する処理を説明する。ワイヤレスセンサネットワーク4は、S80により、各センサの検出データを収集しセンサID毎に対応付けて記憶する。次に、S81により、その各検出データ中に緊急送信すべきものがあるか否か判定する。緊急送信すべきものがないときには、制御がS82に進み、定期送信時(例えば24時間毎)になったか否か判定する。定期送信時になっていない場合には制御がS80に戻り、S80→S81→S82のループを繰り返し巡回する。
このループの巡回途中で、ワイヤレスセンサネットワーク4側で判断することのできる明らかな異常が各検出データ中から見つかり、緊急送信すべきものがあるとS81により判断された場合には、制御がS83に進む。またS82により定期送信時期になったと判定された場合にも制御がS83に進む。
S83では、送信信号を発信する処理がなされる。次にS86により、モバイル通信装置3からの応答信号を受信したか否かの判定を行ない、受信していない場合はS80に戻り、S80〜S83→S86→S80のループを繰り返し巡回する。
この状態で、モバイル通信装置3を持ったユーザがワイヤレスセンサネットワーク4の近くを通りかかった時に、S83による送信信号を受信し、S84によりYESの判定を行ない、制御がS85に進む。モバイル通信装置3は、S85により応答信号をワイヤレスセンサネットワーク4へ送信し、それを受信したワイヤレスセンサネットワーク4はS86によりYESの判定を行ない、制御がS87へ進む。ワイヤレスセンサネットワーク4は、S80により収集した検出データをセンサID毎にモバイル通信装置3へ送信する(S87)。それをS89により受信したモバイル通信装置3は、S90により、その受信した検出データとセンサIDとを送信信号と共にIoTサーバ8へ送信する。
すると、IoTサーバ8は、S61によりYESの判定を行ない、制御がS91に進み、受信した検出データ中に緊急検出データがあればそれをセンサIDと共に異常報知した後、S92により、検出データのセンサIDに基づいてワイヤレスセンサDB16を検索して検出データを受信した新たなものに更新する。次にS93により、ポイントをモバイル通信装置3へ送信した後制御がS24へ戻る。それをS94で受信したモバイル通信装置3は、EEPROM26に記憶されているポイントを加算更新した後(S95)、リターンして制御がS2へ移行する。
なお、図8に示した制御では、ワイヤレスセンサネットワーク4とIoTサーバ8との間で情報のやり取りの必要があるIoT用デバイスが存在するか否かを判定するための判定手段(例えばS82)をワイヤレスセンサネットワーク4側に設けたものを示したが、この判定手段をIoTサーバ8側に設けてもよい。
以上説明したIoTデバイス仲介システムでは、ユーザのモバイル通信装置(例えば、スマートグラス等のウェアラブルコンピュータ、スマートフォン、通信機能を備えた自動車等の車両等)が、IoT用デバイス群2とインターネット1とを仲介して接続するために、IoT用デバイス群2側にインターネット接続機能が必ずしも必要ではなく、その分コストを安価に抑えることが可能となる。しかも、ユーザがモバイル通信装置による上記仲介を行なうことにより、当該ユーザに特典(例えばポイント等)が付与されるため、ユーザの上記仲介に対するインセンティブを持たせることができ、ユーザの仲介行為を促進させることが可能となる。
さらに、IoT用デバイス群2に対してウェアラブルコンピュータ3が仲介する仲介先コンピュータ(例えば、IoTサーバ8やネットワーククラウド等)側に、情報のやり取りの必要があるIoT用デバイス(モバイル通信装置3の各種センサ38を含む)が存在するか否かを判定するための判定手段(例えば、S26、S38、S49等)を設けたために、IoT用デバイス群2側で上記の判定をする必要がなく、IoT用デバイス群2側の処理負担を軽減でき、より一層コストを抑えることができる。しかも、判定手段を有するIoTサーバ8により、情報のやり取りの必要があるIoT用デバイス群2を割出して(例えば、S26、S38、S49等)、割出されたIoT用デバイス2の位置情報をウェアラブルコンピュータ3に通知してユーザに報知すれば、ユーザに上記仲介行為を促すことができる利点がある。
また、ウェアラブルコンピュータ3に設けられた各種センサ38を利用して、所望の位置での各種センサ38による検出データをインターネット上に収集する際に、検出するのに或る程度の所要時間を要する場合にその検出所要時間をウェアラブルコンピュータ3によりユーザに報知(例えばS71)しているため、所用時間を要する検出データの収集に対する協力をユーザに促すことができる。
[機械学習を利用したサービス提供システム]
次に、図9〜図23に基づいて機械学習を利用したサービス提供システムを説明する。
機械学習を実用化するにおいて現在大きな課題となっていることは、いかにして大量の学習データを安価に収集するかである。本システムは、機械学習の結果を利用したサービスをユーザに提供することにより、多数のユーザが自ら率先して学習データをシステム側に提供する仕組みを構築するものである。特に、図9に示すように、各ユーザがシステム側に提供する学習データ(身の回りのデータ等)をパーソナライズ化にも利用し、機械学習の結果得た一般的なモデルを各ユーザに最適化(パーソナライズ化)したものにした上で、各ユーザにパーソナライズ化されたサービスを提供する。これにより、各ユーザが学習データの提供を他人任せにしてサービスだけ享受するという不都合を防止する。
先ず、図9を参照してシステムの概略を説明する。
各ユーザ70は、例えばウェアラブルコンピュータ等のモバイル通信装置3により収集したアラウンドデータ(ユーザ70が見ている映像や視線の位置、音声、GPSなどの位置データ等)を機械学習72に送信して機械学習72の学習データとして用いられるとともに、それらデータがパーソナライズ化74にも用いられる。
例えば、各ユーザ70が学校や自宅等で学習している状態をシステム側に送信して、機械学習(強化学習や回帰)72によりモデル化し、人間が反復して行なう復習のトータル時間が最少になる一般的なモデルを作成する。その際、ユーザ毎に差異のある要素(暗記力等)を定数として一般的なモデルを生成する。また、各ユーザ70からシステム側に送信されたデータはパーソナライズ化74にも用いられ、ユーザ毎に差異のある要素(暗記力等)をユーザ毎に算出し、一般的なモデルの定数部分に代入することにより、ユーザ毎にパーソナライズ化されたモデルを生成する。そのパーソナライズ化モデルを用いて各ユーザにパーソナライズ化されたサービス、例えば、次回の復習時期を提示して復習のトータル時間が最少になる復習計画に従った指導を行なう。
なお、学習データは、ユーザ以外にも各種専門業者71からも提供される。例えば、スポーツジムの専門業者71から、多数の会員の筋肉トレーニング(以下「筋トレ」と記載する)の集計結果をシステム側に送信する。この集計結果の学習データに基づいて機械学習(強化学習や回帰)72によりモデル化し、人間が反復して行なう筋トレによる効果が最大になる一般的なモデルを作成する。その際、ユーザ毎に差異のある要素(バーベルなどの初期負荷や負荷増加係数等)を定数として一般的なモデルを生成する。また、各ユーザ70から筋トレの集計結果がシステム側に送信されてパーソナライズ化74にも用いられ、ユーザ毎に差異のある要素(初期負荷や負荷増加係数等)をユーザ毎に算出し、一般的なモデルの定数部分に代入することにより、ユーザ毎にパーソナライズ化されたモデルを生成する。
そのパーソナライズ化モデルを用いて各ユーザにパーソナライズ化されたサービス、例えば、次回の筋トレ時期と負荷を提示して筋トレによる効果が最大になる筋トレ計画に従った指導を行なう。その際、筋トレの集計結果からなる学習データを提供した専門業者(スポーツジム等)71の広告を筋トレスケジュールとともに提示する。これにより、学習データの提供に対するモチベションを各種専門業者に持たせることができる。
以上説明した図9の全体システムをもう少し詳しく表したものが図10である。
図10を参照して、各種専門業者のPC10から専門データが人工知能サーバ9へ提供される。また、多数のユーザのウェアラブルコンピュータ等のモバイル通信装置3により収集したデータ(ユーザ70が見ている映像や視線の位置、音声、GPSなどの位置データ等のアラウンドデータ)が人工知能サーバ9へ提供される。人工知能サーバ9では、それら提供されたデータを数値・ラベル集合へのデータ化51を行ない、学習データを生成する。この学習データの生成は、生データを数値・ラベル集合にするため、深層学習(ディープラーニング)を用いる。また、複数の規則性が混在した生データを扱うため、「異種混合学習」を用いる。これは収集したデータの中に複数の規則性が存在する場合に、それぞれのパターンごとに適したモデルを生成する手法である。
例えば、ビルの電力消費に関する時系列のデータを収集して、電力消費を予測するモデルを作る場合、ビルの電力消費は、曜日や時間帯ごとにパターンが変化する。従来においては、どのようなタイミングでパターンが切り替わるか、人間が専門知識を動員して場合分けを行ない、それぞれの場合に適したモデルを作っていた。この「異種混合学習」では、パターンの切り替わり自体を機械学習によって見つけ出し、パターンごとにモデルを生成する。新たにデータが発生した際には、生成したモデルとの適合を確認し、うまくモデルが適合しなかった場合はパターンの切り替わりの判定からやり直す。つまり「パターンの場合分け」と「モデルの作成」を機械が繰り返すことで、パターンごとの最適モデルを作る。
なお、深層学習を用いても数値・ラベル集合へのデータ化を行なうことができないデータの場合には、人工知能業者が人為的に数値・ラベル集合へのデータ化を行なう。
この人工知能サーバ9は、ノイマン型の一般的なコンピュータを用いているが、ニューラル・ネット・プロセッサー(NNP)を用いてもよい。NNPのチップ上には本物のニューロンをモデルにした「人工ニューロン」が多数搭載されており、各ニューロンはネットワークでそれぞれ連携し合う。
また、「量子アニーリング方式」を採用した量子コンピュータを用いてもよい。これにより、機械学習における最適化計算の所要時間を大幅に短縮できる。なお、「人工知能」とは、ソフトウェアエージェントを含む広い概念である。
数値・ラベル集合にデータ化された学習データは学習アルゴリズム52に送られてモデル化53される。学習アルゴリズム52としては、例えば、教師あり学習としての回帰や識別、教師なし学習としてのモデル推定やデータマイニング、中間的手法としての強化学習や深層学習等、種々のものが用意されている。学習アルゴリズム52を用いたモデル化は、例えば、ユーザ毎に差異のある要素(個人の能力差や嗜好等)を定数として一般的なモデルを生成する。その生成された一般的モデルが人工知能DB17に記憶される。図10では、記憶されている一般的モデルの具体例として、例えば、建造物の保守点検モデル、暗記学習モデル、筋トレモデル、対話モデル、タスク処理モデル等が示されている。前述の学習データは学習DB60にも記憶される。
暗記学習モデルとしてのTi=T0・iは、人間が反復して行なう復習のトータル時間が最少になる一般的モデルであり、iは何回目の反復かを示す反復回数、T0は初学習から忘れる直前までの期間(具体的には初学習から記憶保持率が70%になるまでの時間)、Tiは反復回数が(i−1)からiまでの時間を表している。この一般的モデル中のT0が、ユーザ毎に差異のある要素(記憶力等の個人の能力差)であり、定数として表されている。この暗記学習モデルとしてのTi=T0・iの生成方法は、後に詳しく説明する。
筋トレモデルとしてのFi=F0+(i-1)/aは、人間が反復して行なう筋トレによる効果が最大になる一般的モデルであり、iは何回目の反復かを示す反復回数、F0は初回の筋トレでの負荷(バーベルの重量等)、aは筋トレの反復に伴って増加する負荷増加係数である。
対話モデルは、ユーザが人工知能と対話するときに用いられる一般的モデルであり、男性知的系や女性萌え系や有名タレントなどの初期対象の対話テンプレート等、喜怒哀楽の変化関数等からなる。これについては図19に基づいて詳細に説明する。
タスク処理モデルは、ユーザが仕事等のタスクを処理するときに用いる一般的モデルであり、弁理士や弁護士や有名科学者などの初期対象の知識活用関数等からなる。これについては図21に基づいて詳細に説明する。
ユーザのモバイル通信装置3から送られてくるアラウンドデータは人工知能サーバ9において各種モデル用に分類され54、各種モデル用のパーソナライズデータが作成される55。そのパーソナライズデータがユーザDB12に記憶される。図10では、各種モデル用の具体例として、暗記学習用、筋トレ用、対話用、タスク処理用等が示されている。
ユーザDB12には、ユーザID毎にパーソナライズデータとアラウンドデータとが対応付けられて記憶される。暗記学習用のパーソナライズデータとしては、初学習から忘れる直前までの期間(具体的には初学習から記憶保持率が70%になるまでの時間)TKである。人間の記憶情報は、心理学者ヘルマン・エビングハウスの忘却曲線に従って減少する。この忘却曲線に従って記憶保持率が70%になるまでの時間をTKとしている。このTKは、ユーザIDが「1」の実際のユーザが記憶保持率が70%になるまでの時間であり、実際の数値で表される。
筋トレ用のパーソナライズデータとしては、初回の筋トレでのバーベルの重量等の初期負荷FK、筋トレの反復に伴って増加する負荷増加係数az、超回復時間CT等である。これらは、ユーザIDが「1」の実際のユーザについて実際の数値で表されたものである。なお、「超回復」とは、トレーニング後、48時間〜72時間の休息を取ることで筋力水準がトレーニング前よりも上昇する現象のことを言う。その超回復に要する時間が「超回復時間」である。
対話用のパーソナライズデータとしては、男性知的系や女性萌え系や有名タレントなどの初期対象の中からユーザが選択した初期対象と、喜怒哀楽のパーソナル重み等からなる。一般的モデルでは、各初期対象の喜怒哀楽の初期重みが決まっており、ユーザが選択した初期対象と対話している最中にユーザからの要求等に応じて喜怒哀楽の初期重みを徐々に改変し、最終的に当該ユーザに最適なパーソナル重みにしてユーザの好みにマッチする喜怒哀楽を表す対話を可能にする。これについては後に詳しく説明する。
タスク処理用のパーソナライズデータとしては、弁理士や弁護士や有名科学者などの初期対象の中からユーザが選択した初期対象と、各知識のパーソナライズ重み等からなる。一般的モデルでは、各初期対象の知識の初期重みが決まっており、ユーザが選択した初期対象と仕事の対話をしている最中にユーザからの質問や要求等に応じて活用する知識の初期重みを徐々に改変し、最終的に当該ユーザに最適なパーソナル重みにして、ユーザが仕事上要求する知識にマッチする回答やアドバイスを可能にする。これについては後に詳しく説明する。
人工知能サーバ9は、以上のようなパーソナライズデータを用いて各ユーザにパーソナライズされた指導(サービス)を行なう。具体的には、暗記学習用パーソナライズデータを用いてユーザの復習のトータル時間が最少になる復習計画(復習スケジュール)に従った指導を行ない、筋トレ用パーソナライズデータを用いて反復して行なう筋トレによる効果が最大になる筋トレスケジュールに従った指導を行ない、対話用パーソナライズデータを用いてユーザの好みにマッチする喜怒哀楽を表す対話を行ない、タスク処理用パーソナライズデータを用いてユーザが仕事上要求する知識にマッチする回答やアドバイスを行なう。
次に、図11を参照し、図4の外部ディスプレー処理(S2)とディスプレー処理(S3)とSNSサーバ11によるイイネ処理とのサブルーチンプログラムのフローチャートを説明する。
図11では、ディスプレー5の一例のデジタルメニューボードについての処理を示している。デジタルメニューボードとは、飲食店等に設置されるメニュー表示用のディスプレーであり、メニューをデジタル表示にすることで、売り切れの即時表示、メニュー変更など、店側の時間とコストが大幅に削減できる。本実施の形態では、図1に示したようにデジタルメニューボード5がインターネット1に接続されて人工知能サーバ9やSNSサーバ11と通信可能に構成されている。この図11のフローチャートでは、ユーザがウェアラブルコンピュータ3等で撮影してSNSDB13やユーザDB12等にアップされている画像や動画をデジタルメニューボード5に表示させて一緒に来店した仲間同士で閲覧い合って楽しみながら飲食できるようにしたものである。
先ず、S100によりメニューの更新があったか否か判断する。店側が本日のメニューを更新する操作をすれば制御がS101へ進みメニューの更新処理がなされる。次に制御がS102へ進み、メニューの表示がなされる。
次に、ユーザがウェアラブルコンピュータ3等で撮影してSNSDB13やユーザDB12等にアップされている画像や動画をデジタルメニューボード5に表示させたい場合には、先ず人工知能サーバ9にアクセスする操作を行なう。すると、S104によりYESの判断がなされて制御がS105へ進み、ユーザIDとアクセス要求等を人工知能サーバ9へ送信してアクセス処理がなされる。アクセス要求を受けた人工知能サーバ9は、S106でYESの判断を行なう。モバイル通信装置3では、S107とS108とにより人工知能サーバ9と交信してユーザがデジタルメニューボード5に表示させたい画像や動画を選択指定する。人工知能サーバ9は、S108によりユーザDB12を検索してその選択指定された画像や動画を特定する。
表示させたい画像が特定できた段階でユーザ(来店客)はデジタルメニューボード5のタッチ画面をタップして交信操作を行なう。すると、S103によりYESの判断が行われ、S109によりウェアラブルコンピュータ3との交信開始処理がなされる。また、ユーザ(来店客)は自分のウェアラブルコンピュータ3の交信操作を行なう。すると、S108でYESと判断され制御がS110へ進み、交信開始処理がなされ、ウェアラブルコンピュータ3とデジタルメニューボード5との間で通信のための接続が確立される。
次にデジタルメニューボード5は、当該デジタルメニューボード5に割り振られているディスプレーIDをウェアラブルコンピュータ3へ送信する(S111)。それをS112により受信したウェアラブルコンピュータ3は、そのディスプレーIDを人工知能サーバ9へ送信する(S113)。それをS114で受信した人工知能サーバ9は、前述のS108で特定したデータを受信したIDのディスプレー5へ送信する(S105)。それを受信したデジタルメニューボード5は、S116でYESの判断を行なって受信したデータを表示する(S117)。これにより、ユーザ(来店客)が指定した画像や動画がデジタルメニューボード5に表示される。その結果、デジタルメニューボード5という比較的大きな表示画面により画像や動画を閲覧することができる。
以上説明した制御で注目すべき点は、ユーザがネット上にアップロードしているデータを選択指定する際に、ディスプレー5を経由することなく自己のモバイル通信端末3で直接人工知能サーバ9にアクセスして特定している点である。ディスプレー5自体がネットに接続されており且つそのディスプレー5に表示させるデータを特定するのであれば、その表示先のディスプレー5経由でネット上のデータにアクセスしてそのデータをディスプレー5で表示させた方が手っ取り早い。しかし、ユーザがネット上にアップロードしているデータはユーザのプライバシーに関わる個人情報であり、その個人情報にアクセスするためにユーザのID等をディスプレー5経由で送信した場合には、ユーザのIDや個人情報が漏洩する虞が生じる。故に、本実施の形態では、ユーザがネット上にアップロードしているデータを選択指定する際に、ディスプレー5を経由することなく自己のモバイル通信端末3で直接人工知能サーバ9にアクセスして指定しているのである
次に、デジタルメニューボード5ではS118によりデータ表示が終了したか否かの判断がなされ、終了すれば制御がS119に進み、ユーザ(来店客)を店のホームページにアクセスさせる処理がなされる。具体的には、店のホームページのURLをモバイル通信端末3に送信する。それを受けたモバイル通信端末3は、S120によりそのURLのページへのアクセス要求をSNSサーバ11へ送信する。S121によりそれを受けたSNSサーバ11は、S122により店のホームページをモバイル通信装置3へ送信する。
それを受けたモバイル通信装置3は、S123により店のホームページを表示する。一方、デジタルメニューボード5ではS124により「当店ホームページのイイネにタップしてください」のメッセージ表示がなされる。それを見たユーザ(来店客)がイイネをタップすれば、S125でYESの判断がなされて制御がS126へ進み、イイネ信号がSNSサーバ11へ送信される。それをS127により受付けたSNSサーバ11は、S128によりイイネの登録処理を行なう。その結果、店からユーザ(来店客)への情報提供がSNSを通じて可能となる。例えば、季節限定の新メニューの紹介やクーポンの配信やイベント開催の通知等を行なうことが可能となり、再来店につなげることができる。
なお、外部ディスプレー処理においてリターンすればS4へ進み、ディスプレー処理においてリターンすればS5へ進む。
次に図12(a)を参照して、図4のS6に示した専門家データ処理のサブルーチンプログラムのフローチャートを説明する。S135によりメンテナンスデータ処理が行われ、S136により筋トレデータ処理が行われ、S137によりその他の処理が行われ、リターンしてS8へ進む。メンテナンスデータ処理は、各種専門業者の一例のメンテナンス専門業者から送られてくる建造物の保守点検結果のデータを受付けて処理するものである。筋トレデータ処理は、各種専門業者の一例のスポーツジムから送られてくる多数の会員の筋トレ結果の集計データを受付けて処理するものである。
次に図12(b)を参照して、前述のメンテナンスデータ処理のサブルーチンプログラムのフローチャートを説明する。メンテナンス専門業者は、図8に示したワイヤレスセンサネットワーク4から送信されてワイヤレスセンサDB16に記憶されている検出データに基づいて建造物の保守点を行ない、その結果(KO,NG等)をセンサID毎にPC10に入力する(S140)。
すると、メンテナンス専門業者のPC10は、S141によりその入力された点検結果をセンサID毎に人工知能サーバ9へ送信する。人工知能サーバ9は、S145により点検結果を受信したか否か判断し、受信していない場合には制御がS151へ移行する。一方、点検結果を受信した場合には制御がS146へ進み、学習DB60に点検結果データをセンサID毎に追加記憶する。次にS147により、ワイヤレスセンサDB16からワイヤレスセンサデータを読出して点検結果データを付した上でデータマイニングを行ない、NG時のパターンNGP1を見つけ出す処理が行われる。例えば、歪と振動周期とが所定の関係になれば異常(NG)の点検結果となる確率が高い等のパターンNGP1を見つけ出す。
次にS148により、NGP1は今まで見つけ出したものと異なる新たなものか否か判定される。今まで見つけ出したNG時のパターンは全て人工知能DB17の「建造物の保守点検モデル」の記憶エリアに記憶されており、今回見つけ出されたNGP1が既に人工知能DB17に記憶されているか否か判定する。同じものが既に記憶されていると判定された場合には制御がS151へ移行するが、未だ記憶されていないと判定された場合には制御がS149へ進み、NG時のパターンとしてNGP1を人工知能DB17の「建造物の保守点検モデル」の記憶エリアに追加記憶する。
次にS150により、ワイヤレスセンサDB16を検索してワイヤレスセンサで定期チェック済の中からNGP1のパターンを有するセンサIDを抽出して報知する。ワイヤレスセンサは一定時間毎(例えば24時間毎)に定期チェックが行われており(S151、S152)、既に定期チェックを行なった過去のセンサデータについて新たに見つかったNGP1を適用して再チェックを行なうのである。
次に、S151により定期チェックの時期が来たか否か判定され、定期チェックの時期が来ればS152により、ワイヤレスセンサDB16を検索することにより、前回の定期チェック後に追加記憶されたワイヤレスセンサデータの中からNG時パターンを有するセンサIDを抽出してNG報知する処理がなされる。前述してように、ワイヤレスセンサDB16には随時新たなセンサデータが追加記憶されており、未だ定期チェックされていない新たなセンサデータについて、人工知能DBに記憶されている全てのNG時パターンを適用してチェックするのである。S152の処理の後リターンし、制御がS136へ移行する。
次に、図13(a)を参照して、図4のS4に示されたアラウンドデータ端末処理とS5に示されたアラウンドデータサーバ処理とのサブルーチンプログラムのフローチャートを説明する。
S160によりユーザ用学習端末処理が実行され、S161によりユーザ用学習サーバ処理が実行され、S162により筋トレ端末処理が実行され、S163により筋トレサーバ処理が実行され、S164とS165によりその他の処理が実行される。
ユーザ用学習端末処理およびユーザ用学習サーバ処理は、学習中の各ユーザからアラウンドデータを収集してユーザ用の一般的暗記学習モデルを作成するとともに、ユーザ毎の学習用のパーソナライズデータを生成するための処理である。筋トレ端末処理および筋トレサーバ処理は、筋トレ中の各ユーザからアラウンドデータを収集して、ユーザ毎の筋トレ用のパーソナライズデータを生成するための処理である。
次に、図13(b)を参照して、図4のS7に示されたパーソナルサービス端末処理とS8に示されたパーソナルサービスサーバ処理とのサブルーチンプログラムのフローチャートを説明する。
S170により学習サービス端末処理が実行され、S171により学習サービスサーバ処理が実行され、S172により筋トレサービス端末処理が実行され、S173により筋トレサービスサーバ処理が実行される。
学習サービス端末処理は、ユーザ用の一般的暗記学習モデルと学習用のパーソナライズデータとに基づいてユーザに最も効率的な復習計画に従った指導を行なうものである。筋トレサービス端末処理と筋トレサービスサーバ処理とは、ユーザ用の一般的筋トレモデルと筋トレ用のパーソナライズデータとに基づいてユーザに最も効率的な筋トレ計画に従った指導を行なうものである。
次に、図14を参照して、ユーザ用学習端末処理とユーザ用学習サーバ処理とのサブルーチンプログラムのフローチャートを説明する。
S180によりユーザが学習中であるか否か判断される。この判断は、ユーザの明示的な意思表示を受付けて判断してもよいが、ユーザの音声を自然言語処理により処理したりユーザの視線方向の映像を解析したりして人工知能サーバ9が自律的に判断してもよい。ユーザが学習中でないと判断した場合にはリターンして制御がS162移行するが、学習中であると判断すれば制御がS181へ進み、ユーザの視線方向の映像と視線位置と音声等のアラウンドデータを人工知能サーバ9へ送信する。それをS182により受信した人工知能サーバ9は、S183により、受信したアラウンドデータから現在学習している事項に関する過去の入試出題頻度および出題校等の有用情報を所定のDBから検索してユーザ(ウェアラブルコンピュータ等のモバイル通信装置3)へ送信する。
それをS184により受信したユーザのモバイル通信装置3は、S185により、受信した有用データをAR(Augmented Reality)を用いてオーバーレイ表示する。ユーザは、学習中のアラウンドデータを人工知能サーバ9へ送信することにより最も効率的な復習計画に従った指導を受けることができるため、自ら率先してアラウンドデータを人工知能サーバ9へ送信することになるが、上記入試出題頻度等の有用情報の表示により益々インセンティブが向上してアラウンドデータを人工知能サーバ9へ送信することになる。
次に、人工知能サーバ9は、S186により、受信データを各種モデル用に分類してユーザDB12と学習DB60とに記憶する処理を行なう。次にS187により、暗記学習モデルが完成済であるか否か判定する。未だ完成していない場合には、制御がS188へ進み、受信データを数値やラベルにして機械学習用のデータを作成し、S189により、学習アルゴリズム(強化学習や回帰等)を用いてモデル化する。このモデル化の一例を説明する。
ユーザ毎に収集された過去の膨大な学習中アラウンドデータを学習データとして利用し、ユーザ毎に入試試験日等の所定の終点における記憶保持率が一定値(例えば90%)を維持できるという条件の下で、初学習から上記終点までに反復する復習のトータル時間が最少となる復習計画を、強化学習で見つけ出す。例えば、i回目の復習から次に復習するまでの期間をTi、i回目の復習に要した時間をTHiとした場合に、復習のトータル時間T=ΣTHi となる。終点記憶保持率≧90% を満たす条件下で上記Tが最小となるTiを強化学習する。
強化学習において、状態stで行為atを行なうときの価値をQ(st,at)とした場合のQ値を推定する方法として、環境をモデル化する知識、すなわち、状態遷移確率と報酬の確率分布が与えられている場合はモデルベースの手法を用いればよいが、環境モデルが未知の場合、TD(Temporal Difference)学習を用いる。先ず、環境の探索が必要なため、ε-greedy法を用いる。探索の初期はいろいろな行為を試し、落ち着いてくると最適な行為を多く選ぶように、温度の概念を導入する。温度をTとして、次の式で表される確率に従って行為を選ぶ。
P(a|s)={exp(Q(s,a)/T)}/{Σexp(Q(s,b)/T} (なおΣの下にb∈Aが記載されており、上記式ではその記載を省略している)
ここに、aは行為、Q(s,a)は状態sで行為aを行なうときの価値、
Tをアニーリング(焼き鈍し)における温度とよび、高ければ行為を等確率に近い確率で選択し、低ければ最適なものに偏らせる。学習が進むにつれて、Tの値を小さくすることで、学習結果が安定する。このようにして選んだ行為をユーザに指示して実際に実行してもらい、積極的に学習データを収集するようにしてもよい。
その強化学習の結果の一例を図15に示す。図15を参照して、グラフの縦軸がTi(復習インターバル)、横軸がi(何回目の復習かを示す復習回数)である。○で示したものがユーザID:1のユーザにおける強化学習の結果をプロットしたものである。×で示したものがユーザID:2のユーザにおける強化学習の結果をプロットしたものである。△で示したものがユーザID:3のユーザにおける強化学習の結果をプロットしたものである。
次に、「回帰」のアルゴリズムを用いて、これらの複数のユーザの機械学習結果のデータを入力データとし、これらの入力データが或る関数に基づいてターゲットを出力していると考え、その関数を求める。その求められた関数が、
Ti=T0・i
の直線の一次関数である。係数T0がユーザ毎に差異のある要素(暗記力等)である。具体的には、各ユーザにおける初学習から忘れる直前までの期間(具体的には初学習から記憶保持率が70%になるまでの時間)である。このように、ユーザ毎に差異のある要素(暗記力等)を定数T0として一般的なモデルで表したものが、
Ti=T0・i
である。
図14に戻り、S190により、人工知能DB17に暗記学習モデル(Ti=T0・i)を記憶させる。既に古くて不完全な暗記学習モデルが記憶されている場合には、より新しい完全な暗記学習モデル(Ti=T0・i)に更新する。
一方、S187により暗記学習モデルが完成されていると判断された場合は、制御がS191に進み、分類された受信データに基づいてパーソナライズデータを作成してユーザDB12に記憶する処理がなされる。この場合の「パーソナライズデータ」は、上記ユーザ毎に差異のある要素(暗記力等)T0、つまり、初学習から記憶保持率が70%になるまでの時間である。これは、ユーザDB12に記憶されているユーザの学習中のアラウンドデータから容易に導き出せる。
次に、図16を参照して、図13(b)のS170で示した学習サービス端末処理およびS171で示した学習サービスサーバ処理のサブルーチンプログラムのフローチャートを説明する。
ウェアラブルコンピュータ等のモバイル通信装置3は、S200により、ユーザからの復習要求があったか否かの判断を行なう。復習要求がなかった場合にはリターンして制御がS172へ移行するが、復習要求があった場合にはS201により復習要求を人工知能サーバ9へ送信する。それをS202で受信した人工知能サーバ9は、S203により、暗記学習モデルが完成しているか否か判定する。完成していない場合には制御がS205へ移行するが、既に完成している場合には制御がS204に進み、一般的な暗記学習モデルTi=T0・i に、T0=TK を代入して、反復復習の時期が近い学習事項をユーザDB12のアラウンドデータから抽出する。なお、上記TKとは、当該ユーザの初学習から忘れる直前までの期間(具体的には初学習から記憶保持率が70%になるまでの時間)のことである。
次に、S205により、ユーザが授業中等においてよそ見中の学習事項をユーザDB12のアラウンドデータから抽出する。これは、学習中のユーザの視線位置がアラウンドデータとして人工知能サーバ9へ送信されて(S181)ユーザDB12に記憶されるため、ユーザがよそ見中であるか否かの判断が可能となる。次にS206により、S204とS205とで抽出された学習事項をモバイル通信装置3へ送信する。それをS207で受信したモバイル通信装置3は、S208により、受信した学習事項をユーザに復習させる処理を行なう。
また、よそ見中であることに代えてまたはそれに加えて、ユーザが授業中等において無駄話をしている最中の学習事項をユーザに復習させる制御を行なってもよい。つまり、学習中のユーザの態度を特定できる情報を収集するための収集手段と、当該ユーザが受けている学習内容を記録するための記録手段と、前記収集手段で収集された情報から学習に不適切なユーザの態度部分を判別するための判別手段と、該判別手段で判別された部分に相当する学習内容を前記記録手段から抽出するための抽出手段と、該抽出手段により抽出された学習内容をユーザ端末へ送信するための送信手段とを備えている。尚、上記S205は必ずしも行わなくてもよい。S206の処理の後はリターンして制御がS173へ移行する。
なお、上記の制御では、一般的モデルに当該ユーザのパーソナライズデータを代入して当該ユーザ専用のパーソナライズモデルにした上で、そのパーソナライズモデルを利用してパーソナライズサービスを当該ユーザに提供しているが、当該ユーザのための手作りのパーソナライズモデルを生成し、それを利用してパーソナライズサービスを当該ユーザに提供してもよい。例えば、図14のS187でYESの判断がなされた時点で、その一般的学習モデルの作成に寄与した複数のユーザ(被験者)各々の機械学習の結果が出ている(図15参照)。故に、それら被験者のユーザ各々は、自分の学習について行われたその機械学習の結果が手作りのパーソナライズモデルになり得るのであり、そのパーソナライズモデルを利用してパーソナライズサービスを当該ユーザに提供するように制御してもよい。さらに、上記被験者以外のユーザであっても、あえて自分のための手作りのパーソナライズモデルの生成を希望する場合には、自己の学習データ(復習データ)を大量に人工知能サーバ9に提供して手作りのパーソナライズモデルを作成してもらうように制御してもよい。
次に、図17を参照して、図12(a)のS136で示した筋トレデータ処理のサブルーチンプログラムのフローチャートを説明する。
専門業者の一例のスポーツジムのPC10は、S210により、多数の会員(被験者)の筋トレデータを集計して人工知能サーバ9へ送信する。筋トレデータは、例えば、被験者の初期負荷、筋トレ時間や回数、前回の筋トレから今回の筋トレまでの筋トレインターバル、負荷増加係数、筋肉の太さの計測値データ等である。その筋トレデータをS211で受信して人工知能サーバ9は、S212により、受信データを各種モデル用に分類して学習DB60に記憶する。次に、S213により、受信データを数値やラベル集合のデータにして学習データを作成する。
次に、S214により、その学習データに基づいて、強化学習や回帰等の学習アルゴリズムを用いてモデル化する。このモデル化の手法は、図15に基づいて説明したものと同様のやり方である。筋トレの一般的なモデルは、
Fi=F0+(i−1)/a
である。ここに、iは何回目の反復筋トレかを示す反復回数、Fiはi回目の筋トレでの負荷(バーベルの重量等)、F0は初回の筋トレでの負荷(バーベルの重量等)、aは筋トレの反復に伴って増加する負荷増加係数である。これらF0とaは、ユーザ毎に差異のある要素(筋力の個人差等)である。
次に、S215により、上記一般的モデル(Fi=F0+(i−1)/a)を人工知能DB17の筋トレ学習モデルの記憶エリアに記憶する。既に古くて不完全な筋トレ学習モデルが記憶されている場合には、より新しい完全な暗記学習モデル(Fi=F0+(i−1)/a)に更新する。
次に、図18(a)を参照して、図13(a)のS162で示した筋トレ端末処理およびS163で示した筋トレサーバ処理のサブルーチンプログラムのフローチャートを説明する。
ユーザのモバイル通信装置3は、S220により、ユーザが筋トレ中か否か判断する。筋トレ中でなければリターンして制御がS164へ移行する。筋トレ中の場合には、制御がS221に進み、ユーザの筋トレデータを集計して人工知能サーバ9へ送信する。それをS222により受信いた人工知能サーバ9は、S113により、受信データを学習DB60に記憶するとともに、ユーザの初期負荷FK、負荷増加係数az、超回復時間CTを算出してユーザDB12に記憶する。S113の後リターンして制御がS165へ移行する。
次に、図18(b)を参照して、図13(b)のS172で示した筋トレサービス端末処理およびS173で示した筋トレサービスサーバ処理のサブルーチンプログラムのフローチャートを説明する。
ユーザのモバイル通信装置3は、S226により、ユーザの筋トレメニューの要求に応じて筋トレメニュー要求信号を人工知能サーバ9へ送信する。それをS227で受信した人工知能サーバ9は、S228により、ユーザの初期負荷FK、負荷増加係数az、超回復時間CTをユーザDB12から読出し、一般的筋トレモデル(Fi=F0+(i−1)/a)に代入し、今回の筋トレメニューを作成する。そして、S229により、その筋トレメニューと、筋トレデータを提供してくれた筋トレ専門業者(S210参照)の広告とを、ユーザのモバイル通信装置3へ送信する。それをS230で受信したモバイル通信装置3は、S231により、受信した筋トレメニューと筋トレ専門業者の広告とをユーザに報知する。S231の後リターンして制御がS9へ移行し、S229の後リターンして制御がS10へ移行する。
図19(a)は、図10の人工知能DB17中の対話モデルの記憶エリアに記憶されているデータの詳細(具体例)を示したものである。対話モデルの記憶エリアには、初期対象、対話テンプレート、喜怒哀楽初期重み、喜怒哀楽変化関数の各データが記憶されている。初期対象には、男性知的系、女性知的系、男性ワイルド系、女性萌え系、タレントA、タレントB、タレントC等の各種選択対象が記憶されている。対話テンプレート、喜怒哀楽初期重み、喜怒哀楽変化関数の各データは、各初期対象の種類毎に異なり、それぞれのデータが各初期対象の種類毎に対応付けられて記憶されている。対話テンプレートは、ユーザの対話に対する応答をテンプレートマッチングで見つけ出すために大量に集められた対話テンプレートである。例えば男性知的系の場合、知的な対話テンプレートの割合が多くなっている。
喜怒哀楽初期重みと喜怒哀楽変化関数とは、対話に応じて喜怒哀楽の感情の変化を制御するためのものである。ユーザが褒めれば「喜」の感情に変化するように制御し、ユーザが貶せば「怒」の感情に変化するように制御し、ユーザが悲しめば「哀」の感情に変化するように制御し、ユーザが楽しめば「楽」の感情に変化するように制御する。
但し、初期対象の種類によって喜怒哀楽の重みが異なり変化の態様もことなるため、それぞれの初期対象の種類によって異なる喜怒哀楽初期重みと喜怒哀楽変化関数とにしている。喜怒哀楽初期重みと喜怒哀楽変化関数とは、多数のユーザとの対話で収集された多数の対話内容を学習データにして機械学習により見つけ出す。多数のユーザを男性知的系、女性知的系、男性ワイルド系、女性萌え系に分類し、それぞれの系毎の平均を算出して各初期対象に見合った喜怒哀楽初期重みと喜怒哀楽変化関数とを作成する。なお、タレントA、タレントB、タレントC等については、実際の或るタレント(例えばタレントA)の対話で収集された多数の対話データを学習データにして機械学習により喜怒哀楽初期重みと喜怒哀楽変化関数とを見つけ出す。なお、喜怒哀楽変化関数は全ての人間で共通の統一的な関数にして、各人の差異(ばらつき)を喜怒哀楽初期重みで調整するように制御してもよい。
喜怒哀楽変化関数F(x)の一例としては、例えば次のようなものが考えられる。喜怒哀楽をそれぞれK、D、I、Rと表し、無感情な状態をMと表し、ユーザによる、褒めた回数をx1、貶した回数をx2、悲しんだ回数をx3、楽しんだ回数をx4とし、喜怒哀楽初期重みをそれぞれK、D、I、Rとする。また、シグモイド関数1/(1+e-x)を便宜上S(x)と表現すと、
F(x)=KS(x1−K)+DS(x2−D)+IS(x3−I)+RS(x4−R)+M(1−S(x1−K)−S(2x−D)−S(x3−I)−S(x4−R))
となる。つまり、x1、x2、x3、x4のいずれかが各々の閾値(初期重み)K、D、I、Rを越えればその越えた感情(喜K怒D哀I楽Rのいずれか)に変化するが、いずれも上記閾値を越えなければ無感情Mとなる。
図19(b)は、図10のユーザDB12中の対話用のパーソナライズデータの記憶エリアに記憶されているデータの詳細を示したものである。図19(b)では、ユーザID:1のユーザが対話モデルの初期対象として「タレントA」を選択指定した場合が示されている。そして、喜怒哀楽のパーソナル重みとして「0.7AK,1.5AD,1.3AI,0.5AR」が記憶されている。
「タレントA」の喜怒哀楽初期重みは、図19(a)に記載されているように「AK,AD,AI,AR」であるが、ユーザがこの喜怒哀楽初期重みに基づいた対話を行なっている最中に当該ユーザの要請に従って喜怒哀楽初期重み「AK,AD,AI,AR」が徐々に改変され、現時点で「0.7AK,1.5AD,1.3AI,0.5AR」となっている。その結果、このユーザの喜怒哀楽のパーソナル重み「0.7AK,1.5AD,1.3AI,0.5AR」での喜怒哀楽変化関数は次のようになる。
F(x)=KS(x1−0.7AK)+DS(x2−1.5AD)+IS(x3−1.3AI)+RS(x4−0.5AR)+M(1−S(x1−0.7AK)−S(2x−1.5AD)−S(x3−1.3AI)−S(x4−0.5AR))
その結果、実際のタレントAに比べて、喜Kと楽Rとが現れやすく、怒Dと哀Iとが現れにくくなっている。
このように、ユーザの好みに合った初期対象を選択指定できる上に、さらに対話を重ねるうちに当該ユーザの好みがより反映された喜怒哀楽のパーソナル重みに改変することができる。つまり、人間相手の場合には、相手を自分の理想の人間に変えることなどほとんど不可能であるが、人工知能の場合には相手(人工知能)を自分の理想の相方に作り上げる(育て上げる)ことができる。今までは、理想の恋人、理想の親友、理想の相棒を探し求めて巡り合う時代であったが、今後の未来世界では、ネットワーク上(クラウド上)に自分の理想の恋人、理想の親友、理想の相棒を作り上げる時代となる。
次に、図20を参照して、図4のS9に示された対話端末処理とS10に示された対話サーバ処理とのサブルーチンプログラムのフローチャートを説明する。
ウェアラブルコンピュータ等のモバイル通信装置3は、S235により、ユーザ側が対話を開始したか否か判断し、開始していない場合にはリターンして制御がS11へ移行する。ユーザ側が対話を開始した場合には制御がS236へ進み、ユーザIDと対話開始信号とを人工知能サーバ9へ送信する。それを受信した人工知能サーバ9はS241によりYESの判断を行ない、S242により初期対象を受信したか否かの判定を行ない、受信していない場合には制御がS244へ移行する。
一方、モバイル通信装置3では、S237により、初期対象の選択指定があったか否かの判断を行なう。選択指定がされていない場合には制御がS239へ移行するが、選択指定された場合には、S238により、その指定された初期対象を人工知能サーバ9へ送信する。それを受信した人工知能サーバ9は、S242によりYESの判断を行なってS243により、ユーザDB12中のユーザIDに対応する対話用初期対象を指定されたものに更新する処理を行なう。
次に、モバイル通信装置3はS239により、人工知能サーバ9はS244により、互いに対話を行なう。その際、人工知能サーバ9では、ユーザDB12中のユーザIDに対応する対話用初期対象と喜怒哀楽のパーソナル重みと人工知能DB17中の対応する喜怒哀楽変化関数とに従って対話する。人工知能サーバ9は自然言語処理エンジンを備えており、「形態素解析」および「構文解析(文節と文節の係り受け関係を判定する処理)」というテキストマイニング時の処理に加え、文章の構造を把握するのに必要な「文脈解析」と文章の意図を理解するのに必要な「意味解析」の2つの技術が組み込まれている。これにより、ユーザの声を「より速く」「より精緻」に解析することが可能となる。
人工知能サーバ9では、上記対話中に、喜怒哀楽のパーソナル重みを変更する必要が生じたか否か判断する(S245)し、必要が生じればS246により、喜怒哀楽のパーソナル重みを更新する。例えば、「怒の重みをもう少し軽減してくれ」等の予め定められた決まり文句をユーザが発したことを人工知能サーバ9が認識して、喜怒哀楽のパーソナル重みを更新する制御を行なう。なお、上記決まり文句に代えてまたは決まり文句に加えて、「君起こりすぎだよ」等のユーザの発言に応じて、怒哀楽のパーソナル重みを更新する制御を行なってもよい。
次に人工知能サーバ9では、S247により、対話内容が仕事に関するものか否か判断する。仕事に関するものでない場合には、S249へ進み、対話が終了したか否か判断するが、仕事に関するものの場合には、S248に進み、タスクサーバ処理が行われる。
人工知能サーバ9では、S249により対話が終了していないと判断された場合には制御がS244へ移行し、S244〜S249のステップを繰り返し実行し、対話が終了した時点でリターンして制御がS12へ移行する。一方、モバイル通信装置3では、S240により対話が終了していないと判断された場合には制御がS237へ移行し、S237〜S240のステップを繰り返し実行し、対話が終了した時点でリターンして制御がS11へ移行する。
図21(a)は、図10の人工知能DB17中のタスク処理モデルの記憶エリアに記憶されているデータの詳細(具体例)を示したものである。タスク処理モデルの記憶エリアには、初期対象、各知識の初期重み、知識活用関数の各データが記憶されている。初期対象には、弁理士、弁護士、物理学者、化学者、科学者A、科学者B、科学者C等の各種選択対象が記憶されている。各知識の初期重み、知識活用関数の各データは、各初期対象の種類毎に異なり、それぞれのデータが各初期対象の種類毎に対応付けられて記憶されている。
各知識の初期重みと知識活用関数とは、仕事等のタスク処理を行なう際にそれぞれの初期対象がその専門分野にマッチした知識を利用しやすくするためのものである。各知識の初期重みと知識活用関数とは、多数のユーザとの仕事上の対話で収集された多数の対話内容を学習データにして機械学習により見つけ出す。多数のユーザを弁理士、弁護士、物理学者、化学者等の専門職毎に分類し、それぞれの専門職の平均を算出して各初期対象に見合った各知識の初期重みと知識活用関数とを作成する。
例えば、弁理士のユーザが人工知能サーバ9に対し仕事上で多数の質問や相談を行ない、人工知能サーバ9からの応答に対し「満足した」とか「満足しない」等の反応等からなる大量のデータを学習データとして、強化学習や回帰等のアルゴリズムにより、モデル化する。なお、科学者A、科学者B、科学者C等については、実際の或る科学者の対話で収集された多数の対話データを学習データにして機械学習により知識の初期重みと知識活用関数とを見つけ出す。なお、知識活用関数は全ての人間で共通の統一的な関数にして、各人の差異(ばらつき)を知識の初期重みで調整するように制御してもよい。
知識活用関数G(x)の一例としては、例えば次のようなものが考えられる。各知識をそれぞれn1、n2、n3、・・・と表し、各知識に対してのユーザによる、「満足した」等の肯定的反応の回数をx1k、x2k、x3k、・・・「満足しない」等の否定的反応の回数をx1h、x2h、x3h、・・・とし、各知識の初期重みをそれぞれw1、w2、w3、・・・とする。また、シグモイド関数1/(1+e-x)を便宜上S(x)と表現すと、
G(x)=w1n1S(x1k−x1h)+w2n2S(x2k−x2h)+w3n3S(x3k−x3h)+・・・
となる。つまり、否定的反応の回数よりも肯定的反応の回数が上回った知識が利用するのに有効な知識とされ、かつ、各知識n1、n2、n3、・・・の係数(重みw1、w2、w3、・・・)が大きな値の知識から優先的に利用されるように制御可能となる。
図21(b)は、図10のユーザDB12中のタスク処理用のパーソナライズデータの記憶エリアに記憶されているデータの詳細を示したものである。図21(b)では、ユーザID:1のユーザが対話モデルの初期対象として「弁理士」を選択指定した場合が示されている。そして、各知識nのパーソナル重みwとして「1.2・1w11n1,0.8・1w21n2,0.7・1w31n3,1.3・1w41n4」が記憶されている。
「弁理士」の各知識の初期重みは、図21(a)に記載されているように「1w11n1,1w21n2,1w31n3,1w41n4」であるが、ユーザがこの各知識の初期重みに基づいた仕事上の対話を行なっている最中に当該ユーザの要請に従って各知識の初期重み「1w11n1,1w21n2,1w31n3,1w41n4」が徐々に改変され、現時点で「1.2・1w11n1,0.8・1w21n2,0.7・1w31n3,1.3・1w41n4」となっている。このように、ユーザの専門職に合った初期対象を選択指定できる上に、さらに仕事上の対話を重ねるうちに当該ユーザの質問や相談内容がより反映された各知識のパーソナル重みに改変することができる。つまり、今後の未来世界では、ネットワーク上(クラウド上)に自分の理想の仕事上のパートナ(相棒)を作り上げる時代となる。
次に、図22を参照して、図4のS11に示すタスク端末処理およびS12と図20のS248に示すタスクサーバ処理のサブルーチンプログラムのフローチャートを説明する。
ユーザのモバイル通信装置3は、S255により、自分(ユーザ)のパーソナル重みを初期対象として人工知能DB17に登録する旨の要請がユーザからあったか否か判定する。なければ制御がS259に移行し、初期対象の更新要求があったか否か判定され、なければ制御がS265に移行する。
一方、S255により自分(ユーザ)のパーソナル重みを初期対象として人工知能DB17に登録する旨の要請があった場合にはS255によりYESと判定され、制御がS256に進み、ユーザIDと初期対象登録要求を人工知能サーバ9へ送信する処理がなされる。
人工知能サーバ9では、S257により、初期対象登録要求を受信したか否か判断され、受信していない場合には制御がS261へ移行し、要求初期対象を受信したか否か判断され、受信していない場合には制御がS267へ移行する。
S256の処理に従ってモバイル通信装置3からユーザIDと初期対象登録要求とが送信されてくれば、S257によりYESの判断がなされ、制御がS258へ進み、ユーザIDに対応する各知識のパーソナライズ重みをユーザDB12から読み出してユーザ名とともに人工知能DB17に登録する処理がなされる。このように、本実施の形態では、ユーザが自己の各知識のパーソナライズ重みを人工知能DB17に登録して広く一般に流通させることができる。例えば、自分の仕事上の部下を効率的に教育して一人前の専門家に仕立て上げる際に、上司である自分の今までに培ってきた仕事上の各知識のパーソナライズ重みをその部下に譲渡すれば、自分に代って人工知能サーバ9が部下の質問や相談に応答してくれ、部下の教育を人工知能サーバ9が肩代わりしてくれる。ユーザが自己の各知識のパーソナライズ重みを他人に譲渡する際に、譲受人との間で決済する決済手段を設けて有償で譲渡するようにしてもよい。
ユーザがモバイル通信装置3に対して初期対象を更新する要求を行なって新たな初期対象(要求初期対象)を指定すれば、S259によりYESの判断がなされて制御がS260へ進み、ユーザIDと要求初期対象とが人工知能サーバ9へ送信される。それを受信した人工知能サーバ9は、S261によりYESの判断を行なって制御がS262へ進み、受信した要求初期対象が当該ユーザによって以前使用されたものであるか否か判定する。未だ使用されたことのないものの場合には、S264により、要求された初期対象を人工知能DB17から読み出してユーザDB12のユーザIDに対応して記憶する処理を行ない、制御がS267へ進む。
受信した要求初期対象が当該ユーザによって以前使用されたものである場合には、当該初期対象が既にユーザDB12に記憶されており、その初期対象の使用に伴ってパーソナル重みが更新されている場合がある(S271参照)。よって、受信した要求初期対象が当該ユーザによって以前使用されたものである場合には、制御がS263へ進み、ユーザDB12に記憶されている以前使用した知識のパーソナル重みを使用することとなる。
次に図23を参照して、人工知能サーバ9は、S267により、ユーザDB12のユーザIDに対応する初期対象と各知識のパーソナル重みとを読み出し、S268により、その読み出した初期対象に対応する知識活用関数を人工知能DB17より読み出す。そして、ユーザがモバイル通信装置3を用いて仕事上の対話を行なえば、モバイル通信装置3側のS265と人工知能サーバ9側のS269とで対話を行なう。S269では、読み出した知識活用関数とパーソナル重みとを用いて仕事上の対話を行なうように処理する。モバイル通信装置3側では、S266により仕事上の対話が終了したと判断されるまでS265による仕事上の対話制御が継続される。人工知能サーバ9側では、S274により仕事上の対話が終了したと判断されるまでS267〜S274の制御が繰り返し行われてS269による仕事上の対話制御が継続される。
S267〜S274の制御が繰り返し行われている最中にS270によりパーソナル重みの変更の必要が生じたと判断された場合には制御がS271へ進み、ユーザDB12のパーソナル重みを更新する。そのパーソナル重みが当該ユーザによって人工知能DB17にも登録されている場合には(S255〜S258参照)、S272によりYESの判断がなされ、S273により人工知能DB17の重みも更新する。このS270による判断は、例えば、人工知能サーバ9からの応答に対し「満足した」とか「満足しない」等の予め定められた決まり文句をユーザが言うことにより、人工知能サーバ9側において使用している知識の重みの変更の必要性を判断する。なお、上記決まり文句に代えてまたはそれに加えて、「素晴らしい回答ありがとう」等のユーザの通常の会話に基づいて判断してもよい。
そして、モバイル通信装置3側のS266により仕事上の対話が終了したと判断された場合には、S273により、仕事上の対話終了指示が人工知能サーバ9へ送信されて、リターンし制御がS1へ移行する。それを受信した人工知能サーバ9は、S274でYESの判断を行ない、リターンし制御がS3へ移行する。
以上説明した実施の形態の変形例や特徴点を以下に記載する。
(1) IoTサーバ9およびIoT用デバイスDB15、人工知能サーバ9、人工知能DB17、ユーザDB12および学習DB60、ならびに、SNSサーバ11およびSNSDB13の、少なくとも1つまたは全てを、ネットワーククラウドで構成してもよい。また、以上説明して実施の形態では、ユーザ側の端末として主にモバイル通信装置3を例に挙げて説明したが、ユーザ側の端末としては、ユーザPC7やロボット6でもよい。また、モバイル通信装置3の具体例として、スマートグラス等で代表されるウェアラブルコンピュータを示したが、それに限定されるものではなく、例えば、携帯電話、スマートフォン、通信機能を有する自動車等の車両など、種々のものが考えられる。
(2) IoTサーバ8に、情報のやり取りの必要があるIoT用デバイスを割出すための割出し手段(S24〜S26、S38、S40)が設けられている。そして、その割出し手段により割出されたIoT用デバイスの地理的位置をウェアラブルコンピュータに送信してユーザに報知するように制御し、ユーザに仲介行為を促すようにしてもよい。その際、特に仲介の必要性の高いIoT用デバイスについて高い得点(ポイント等)を付与する旨をユーザに報知するように制御してもよい。
(3) 限られた数のIoT用デバイスのみに対して高額の特典(ポイント等)を付与するように制御し、宝くじと同様の心理を利用して仲介行為を促進させるようにしてもよい。また、地理的位置に敷設されたIoT用デバイスの仲介行為を位置ゲーを利用して行わせるように制御してもよい。
(4) 以上説明した実施の形態には以下の発明が開示されている。
この発明は、例えば、地球上に隈なく敷設されるIoT用デバイス(センサやアクチュエータ等)のコストを抑え、IoTを安価に実現するシステムに関する。
IoTを安価に実現するシステムに関する背景技術として、例えば次のものがあった。IoT用のセンサとインターネット上のサーバとの間にボーダルータ(ゲートウェイ装置)を導入し、センサにはサーバのアドレスを設定せず、自身のアドレスが確定した後にセンサデータ情報をボーダルータに対して送信する。ボーダルータはセンサ情報をセンサデータ管理サーバまで中継してデータ収集を実施する。これによりサーバ側はセンサのアドレスを検出し、センサアドレス宛のPull型データ収集も実施できる(特開2014−78773号公報)。
しかし、この背景技術の場合、サーバ側からセンサアドレス宛のPull型データ収集が可能であるが、各センサにネットワークI/F等のインターネット接続機能を設けるか、あるいはネットワークに接続するための独自規格のアダプタを用意する必要があり、これがIoTを実現する上でのコストアップの原因となるという欠点があった。
一方、地球上に隈なく敷設されるIoT用デバイスの中には必ずしもサーバ側からセンサアドレス宛のPull型データ収集を行なう必要のないものもある。例えば、年間を通じての照度を集計するために設置された照度センサの場合は、定期的な照度検出結果をメモリに記憶しておき、サーバ側において年に一回行われる年間を通じての照度の集計時期までにその記憶した照度検出結果をサーバへ送信すれば事足りる。また、人間の往来が多い場所に設置されたIoT用デバイスの場合には、その人間を利用した人為的な手法により、IoT用デバイスのデータをサーバへ送信する方法も考えられる。
この発明は、かかる実情に鑑み考え出されたものであり、その目的は、IoTを実現する上でのコストを抑えることのできるシステムを提供することである。
この発明は、ユーザが所持するウェアラブルコンピュータと、
該ウェアラブルコンピュータとインターネットを介して通信するサーバと、
IoT用デバイス群とを備え、
前記IoT用デバイス群は、前記ウェアラブルコンピュータと通信するための通信手段を含み、
前記ウェアラブルコンピュータは、
前記IoT用デバイス群と通信するための対デバイス通信手段と、
前記サーバとインターネットを介して通信するための対サーバ通信手段と、
前記対デバイス通信手段による通信相手のIoT用デバイスと前記対サーバ通信手段による通信相手のサーバとを仲介して両者間で情報のやり取りを可能にする仲介手段と、を含む、IoTシステム。
このような構成によれば、IoT用デバイス群側に必ずしもインターネット接続機能が必要ではなく、その分コストを抑えることができ、安価にIoTを実現できる。
好ましくは、前記サーバは、前記仲介手段による仲介を行なった前記ウェアラブルコンピュータに対して所定の特典を付与するための特典付与手段をさらに含む。
このような構成によれば、ユーザに仲介に対するインセンティブを与えることができ、ユーザの仲介行為を促進させることが可能となる。
より好ましくは、前記サーバは、情報のやり取りの必要があるIoT用デバイスが存在するか否かを判定するための判定手段をさらに含む。
このような構成によれば、IoT用デバイス群側で情報のやり取りの必要が生じたか否かの判断機能を有する必要がなく、IoT用デバイス群側の処理負担を軽減でき、より一層コストを抑えることができる。
より好ましくは、前記ウェアラブルコンピュータは、現在位置を特定可能な情報を前記サーバに送信する位置情報送信手段をさらに含み、
前記サーバは、
前記位置情報送信手段により送信されてきた情報により位置が特定された前記ウェアラブルコンピュータの近辺に、前記割出し手段により割出された前記IoT用デバイスが存在するか否か判定する位置判定手段と、
該位置判定手段により存在すると判定された場合に、当該IoT用デバイスに対し前記仲介手段による仲介を行なうための指令信号を前記ウェアラブルコンピュータへ送信する仲介指令送信手段と、をさらに含み、
前記仲介手段は、前記介指令送信手段よる前記指令信号に従って仲介を行なう。
このような構成によれば、ウェアラブルコンピュータ側から仲介が必要なIoT用デバイスに対し仲介を働きかけるため、IoT用デバイス群側から仲介の要求信号を発信する必要がない。
より好ましくは、前記ウェアラブルコンピュータは、
検出するのに所定の時間を要するセンサと、
所望の地理的位置で前記センサを利用しての検出を行なう際に、当該センサによる検出所要時間をユーザに報知する報知手段(例えばS71)と、さらに含み、
前記所望の地理的位置の検出エリア内で前記センサが前記検出所要時間検出を行なうことができた場合に、該検出データを前記仲介手段により仲介して前記サーバへ送信する。
このような構成によれば、検出するのに或る程度の所要時間を要する場合にその検出所要時間をウェアラブルコンピュータによりユーザに報知しているため、所用時間を要する検出データの収集に対する協力をユーザに促すことができる。
(5) 以上説明した実施の形態では、機械学習の具体例として、建造物の保守点検モデル、暗記学習モデル、筋トレモデル、対話モデル、およびタスク処理モデルの作成を示したが、これらに限定されるものではなく、例えば、幼児用学習モデル、人工秘書用モデル、人工家庭教師用モデル等、種々のものが考えられる。また、パーソナライズデータも、暗記学習用、筋トレ用、対話用、タスク処理用に限定されず、例えば、幼児用学習用、人工秘書用、人工家庭教師用等、種々のものが考えられる。これらの一般的モデルおよびパーソナライズデータを、ユーザの状況に応じて切換えて使い分けるように制御する。その結果、人間は、生まれて間もなく、自分専用のパーソナライズデータを使用しての人工知能に基づいたパーソナライズサービスを受けながら成長し、人工知能と共に生涯を全うするようになる。つまり、今後の未来世界では、人間と人工知能とがワンペア化された世界になる。それは、人間と人工知能とがワンペア化されて1つの人格が構成された世界である。
また、一般的モデルおよびパーソナライズデータの使い分けに際して、本実施の形態では、対話用のパーソナライズデータはユーザの切換え意思表示がない限り従前のものを使用したが、一般的モデルおよびパーソナライズデータの切換え時に対話用のパーソナライズデータも他の相応しいものに自動的に切換えるように制御してもよい。例えば、一般的な日常会話のときには対話用の初期対象としてタレントAを用い、仕事上の対話時には女性知的系(図19参照)に自動的に切換えるように制御する。
(6) モバイル通信装置3等によりユーザから収集されたアラウンドデータ等に基づいて、当該ユーザにマッチすると思われる人工知能や一般的モデルを推薦するレコメンド制御を行なってもよい。また、ユーザが人工知能や一般的モデルを検索した際にリスト表示される検索結果を、上記ユーザから収集されたアラウンドデータ等に基づいて、当該ユーザにマッチすると思われるものから優先的に表示するように制御してもよい。さらに、人工知能や一般的モデルに対するユーザからの口コミを収取して表示するように制御してもよい。その際、前述したように、人間と人工知能とがワンペア化されて1つの人格が構成されるため、そのワンペア化された人間と人工知能とを一組としてそれに対しての口コミを収取して表示するように制御してもよい。
(7) 上記幼児用学習用の般的モデルおよびパーソナライズデータを用いて学習された幼児について、その提供された学習材料(学習情報)と学習結果とからなる膨大なデータを収集し、それを機械学習のための学習データにして人間の知的成長を機械学習(教師あり学習等)するようにしてもよい。上記幼児に提供された学習材料(学習情報)と同じものを人工知能にも提供し、その結果知的成長を遂げた人工知能と実際の幼児との学習結果とを比較し、相違点が最少になるような強化学習や回帰を行なってもよく、人間に近い学習を可能にするための人工知能用学習モデルを作成する。特に、人工知能が苦手としている分野(例えば、常識、感情、創造性等)において、両者の学習結果の比較により、人工知能にとって有益な機械学習(教師あり学習等)になると考えられる。
(8) 本実施の形態では、ユーザから送られてくる情報に基づいて前記一般的なモデルを当該ユーザに適したモデルにパーソナライズ化するためのパーソナライズ化手段(例えば、S191、S223、S246、S271)を、人工知能サーバ9に設けたが、それに代えてまたはそれに加えて、ユーザ側の端末(例えば、ウェアラブルコンピュータ等のモバイル通信装置3、ユーザPC、ロボット等)に設けてもよい。
以上説明した実施の形態には以下の発明が開示されている。
本開示発明は、たとえば、人工知能による機械学習を利用したサービス提供システムおよびプログラムに関する。詳しくは、人工知能による機械学習を利用したサービスを提供するサービス提供システム、および、人工知能による機械学習を利用したサービスをユーザが受けるためにコンピュータにより実行されるプログラムに関する。
人工知能による機械学習を行なうために複数の情報源のそれぞれから学習データを作成するものがあった(例えば、特開2011−232997号公報)。
しかし、機械学習のための学習データは膨大な量必要であり、この膨大な学習データを作成するためには、情報源から必要な情報を大量に収集しなければならず、機械学習を実用化するためには、この情報収集に要する労力とコストを抑えることが必要不可欠である。
また、例えば、不特定多数の大衆から大量の情報を収集して膨大な学習データにより機械学習を行なってモデル化された一般的なモデルは、不特定多数の大衆全体についての平均的なモデルとなってしまう傾向があり、その一般的モデルを用いて各々個人差のある各ユーザにサービスを提供した場合には、その平均から外れているユーザにはマッチしないサービスとなってしまう虞が生じる。
本開示発明は、かかる実情に鑑み考え出されたものであり、その目的は、学習データを作成するために必要な膨大な量の情報収集に要する労力とコストを抑えることである。さらなる目的は、機械学習の結果の一般的なモデルを用いたサービスがユーザにマッチしない場合が生じる不都合を解決することである。
次に、課題を解決するための各種手段と実施の形態との対応関係の一例を以下に括弧書で示す。
本開示発明は、人工知能による機械学習を利用したサービスを提供するサービス提供システム(例えば、図9と図10等)であって、
ユーザから送られてくる情報(例えば、ユーザ70が見ている映像や視線の位置、音声、GPS位置データなどのアラウンドデータ等)を基にした学習データを入力して機械学習によりモデル化した一般的なモデル(例えば、暗記学習モデルTi=T0・I、筋トレモデルFi=F0+(i-1)/a等)を生成するための機械学習手段(例えば、S189、S214、図15等)と、
ユーザから送られてくる情報に基づいて前記一般的なモデルを当該ユーザに適したモデルにパーソナライズ化するためのパーソナライズ化手段(例えば、S191とS204、S223とS228等)と、
前記パーソナライズ化されたモデルを用いて当該ユーザにパーソナライズ化されたサービス(例えば、最も効率的な復習計画に基づいた学習事項の提供、最も効率的な筋トレ計画に基づいた筋トレメニューの提供等)を提供するサービス提供手段(例えば、S206、S229等)と、を備え、
前記ユーザから送られてくる情報を前記機械学習と前記パーソナライズ化との両方に利用する。
このような構成によれば、機械学習の結果を利用したサービスをユーザに提供することにより、多数のユーザが自ら率先して学習データのための情報提供を行なうようになる。しかも、ユーザから提供された情報が、一般的なモデルを当該ユーザに適したモデルにパーソナライズ化するためのも用いられるために、各ユーザが学習データのための情報提供を他人任せにしてサービスだけ享受するという不都合を極力防止できる。
好ましくは、前記機械学習手段は、ユーザ毎に差異のある要素(例えば、暗記力や筋トレ用の初期負荷や負荷増加係数などの個人の能力差、嗜好等)を定数(例えばT0,F0,a等)として前記一般的なモデルを生成し(例えば、S189、S214、図15等)、
前記パーソナライズ化手段は、
ユーザから送られてくる情報に基づいて、前記一般的なモデル中の定数部分に当てはまる当該ユーザの実際の値(例えばTK,FK,az,CT等)を導出するための値導出手段(例えば、S191、S223等)と、
該値導出手段により導出された実際の値を前記一般的なモデル中の定数部分に代入して当該ユーザに適したモデルにパーソナライズ化するための代入手段(例えば、S204、228等)と、を含む。
より好ましくは、前記機械学習手段は、専門業者(例えば、筋トレ専門業者等)から送られてくる情報を基にした学習データも入力して機械学習によりモデル化した一般的なモデルを生成する(例えば、S214等)。
本発明の他の局面は、人工知能による機械学習を利用したサービスを提供するサービス提供システムであって、
機械学習を用いたモデル化により生成された一般的なモデル(例えば、図19(a)の対話モデル、図21(a)のタスク処理モデル等)を複数種類格納するための格納手段(例えば、人工知能DB17等)と、
該格納手段に格納されている複数種類の一般的なモデルの中からユーザにより選択された一般的なモデルを利用してユーザにサービス(例えば、対話サービス、仕事上の質問や相談への応答等)を提供するためのサービス提供手段(例えば、S241〜S244、S247、S248、S261〜S263、S267〜S269等)と、
該サービス提供手段により提供されたサービスに対するユーザの反応に応じて前記一般的なモデルを当該ユーザに適したモデルにパーソナライズ化するためのパーソナライズ化手段(例えば、S246、S271等)と、を備え、
前記サービス提供手段は、前記パーソナライズ化手段によりパーソナライズ化されたモデルを用いて当該ユーザにサービスを提供するためのパーソナルサービス提供手段(例えば、更新されたパーソナル重みに従ってS244、S269等を実行する)を含む。
このような構成によれば、機械学習を用いたモデル化により生成された複数種類の一般的なモデルの中から、ユーザが希望する一般的モデルを選択してその一般的モデルを利用してサービスがユーザに提供されるため、ユーザの希望を反映した一般的モデルによるサービスを享受できる。しかも、サービスを受けたユーザの反応により一般的モデルが当該ユーザに適したモデルにパーソナライズ化されるため、提供されるサービスのパーソナライズ化によりユーザにマッチするサービスの提供が可能となる。
好ましくは、前記パーソナルサービス提供手段は、前記ユーザにより選択された一般的なモデルが以前当該ユーザへのサービスの提供に利用されていた場合に(例えば、S262でYES)、当該利用当時のパーソナライズ化されたモデルを用いてユーザにサービスを提供するための手段(例えば、S263等)を有する。
より好ましくは、前記パーソナライズ化手段によりパーソナライズ化されたモデルを他人に使用させるためのモデル使用手段(例えば、S257、S258等)をさらに備える。
本開示発明の他の局面は、人工知能による機械学習を利用したサービスをユーザが受けるためにコンピュータにより実行されるプログラムであって、
人工知能による機械学習を用いたモデル化により生成された複数種類の一般的なモデル(例えば、図19(a)の対話モデル、図21(a)のタスク処理モデル等)の中からユーザが希望するものを選択指定するステップ(例えば、S237とS238、S259とS260等)と、
該選択指定するステップにより選択指定された一般的なモデルを利用したサービスをユーザが受けるための処理ステップ(例えば、S236〜S239、S260、S265等)と、
該処理ステップによりサービスを受けたユーザの反応に応じて前記一般的なモデルを当該ユーザに適したモデルにパーソナライズ化するために前記ユーザの反応を前記人工知能に提供するステップ(例えば、S239、S265等)とを、
前記コンピュータに実行させ、
前記処理ステップは、前記人工知能によりパーソナライズ化されたモデルを用いてパーソナライズ化されたサービスを当該ユーザが受けるためのパーソナルサービス享受ステップ(例えば、更新されたパーソナル重みに従った応答をS239、S265などで受ける等)を含む。
このような構成によれば、機械学習を用いたモデル化により生成された複数種類の一般的なモデルの中から、ユーザが希望する一般的モデルを選択してその一般的モデルを利用してサービスがユーザに提供されるため、ユーザの希望を反映した一般的モデルによるサービスを享受できる。しかも、サービスを受けたユーザの反応により一般的モデルが当該ユーザに適したモデルにパーソナライズ化されるため、提供されるサービスのパーソナライズ化によりユーザにマッチするサービスの提供が可能となる。
以上のように本発明の実施の形態について説明を行なったが、今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。この発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味、および範囲内でのすべての変更が含まれることが意図される。