JP2020087386A - 情報処理装置、情報処理システム、情報処理方法及び情報処理プログラム - Google Patents

情報処理装置、情報処理システム、情報処理方法及び情報処理プログラム Download PDF

Info

Publication number
JP2020087386A
JP2020087386A JP2018226151A JP2018226151A JP2020087386A JP 2020087386 A JP2020087386 A JP 2020087386A JP 2018226151 A JP2018226151 A JP 2018226151A JP 2018226151 A JP2018226151 A JP 2018226151A JP 2020087386 A JP2020087386 A JP 2020087386A
Authority
JP
Japan
Prior art keywords
voice
unit
information
user
mfp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018226151A
Other languages
English (en)
Other versions
JP7326731B2 (ja
Inventor
中村 裕
Yutaka Nakamura
裕 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2018226151A priority Critical patent/JP7326731B2/ja
Priority to US16/676,589 priority patent/US11159339B2/en
Publication of JP2020087386A publication Critical patent/JP2020087386A/ja
Application granted granted Critical
Publication of JP7326731B2 publication Critical patent/JP7326731B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/282Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00352Input means
    • H04N1/00403Voice input means, e.g. voice commands
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00488Output means providing an audible output to the user

Abstract

【課題】操作を指示する音声入力機器と、制御対象となる機器とを、1:1で関連付けて管理可能とする。【解決手段】仮コード発行部が、音声入出力装置を介してセットアップ要求を取得した際に、仮コードを発行し、仮コード処理部が、発行された仮コードと音声入出力装置を特定するための特定情報とを関連づけて記憶部に記憶する。また、フィードバック制御部は、発行された仮コードの音声出力を得るための音声フィードバック情報を、音声入出力装置に送信する。また、関連付け処理部が、音声出力された仮コードを、音声入出力装置で音声操作する操作対象機器に入力することで、操作対象機器から送信される仮コード及び操作対象機器を特定するための機器特定情報を取得する。そして、操作対象機器から取得した仮コードが記憶制御部に記憶されていた際に、音声入出力装置の特定情報と、操作対象機器の機器特定情報とを関連付けて記憶部に記憶する。【選択図】図36

Description

本発明は、情報処理装置、情報処理システム、情報処理方法及び情報処理プログラムに関する。
今日において、音声により機器操作を行うAI音声アシスタント(AI:Artificial Intelligence)が知られている。また、音声によって操作可能なスマート家電も知られており、音声操作の分野は今後も更なる成長が見込まれている。
また、特許文献1(特表2018−524645号公報)には、スマートデバイスでログインしているアカウントと、制御対象となる機器のアカウント情報を関連付けすることで、スマートデバイスから制御対象となる機器を特定する技術が開示されている。
しかし、特許文献1の技術の場合、1つのアカウントによって複数台のスマートスピーカを管理するという状況が発生する。その場合、複数台のスマートスピーカから1台の特定の機器を制御することとなり、スマートスピーカと制御対象となる機器を1:1で関連付けることが困難となる問題を生ずる。
本発明は、上述の課題に鑑みてなされたものであり、操作を指示する音声入力機器と、制御対象となる機器とを、1:1で関連付けて管理可能な情報処理装置、情報処理システム、情報処理方法及び情報処理プログラムの提供を目的とする。
上述した課題を解決し、目的を達成するために、本発明は、音声入出力装置を介してセットアップ要求を取得した際に、仮コードを発行する仮コード発行部と、発行された仮コードと音声入出力装置を特定するための特定情報とを関連づけて記憶部に記憶する仮コード処理部と、発行された仮コードの音声出力を得るための音声フィードバック情報を、音声入出力装置に送信するフィードバック制御部と、音声出力された仮コードを、音声入出力装置で音声操作する操作対象機器に入力することで、操作対象機器から送信される仮コード及び操作対象機器を特定するための機器特定情報を取得し、操作対象機器から取得した仮コードが記憶制御部に記憶されていた際に、音声入出力装置の特定情報と、操作対象機器の機器特定情報とを関連付けて記憶部に記憶する関連付け処理部とを有する。
本発明によれば、操作を指示する音声入力機器と、操作対象機器とを、1:1で関連付けて管理することができるという効果を奏する。
図1は、第1の実施の形態の音声操作システムのシステム構成図である。 図2は、第1の実施の形態の音声操作システムに設けられているMFPのハードウェア構成図である。 図3は、第1の実施の形態の音声操作システムに設けられている携帯端末のハードウェア構成図である。 図4は、第1の実施の形態の音声操作システムに設けられている音声認識サーバ装置のハードウェア構成図である。 図5は、第1の実施の形態の音声操作システムに設けられているAIアシスタントサーバ装置のハードウェア構成図である。 図6は、第1の実施の形態の音声操作システムに設けられている携帯端末の機能ブロック図である。 図7は、第1の実施の形態の音声操作システムに設けられている音声認識サーバ装置の機能ブロック図である。 図8は、第1の実施の形態の音声操作システムに設けられているAIアシスタントサーバ装置の機能ブロック図である。 図9は、第1の実施の形態の音声操作システムにおける音声操作の全体的な動作の流れを示すシーケンス図である。 図10は、第1の実施の形態の音声操作システムにおいて、ユーザの入力音声の解釈に用いられるエンティティ情報の一例を示す図である。 図11は、第1の実施の形態の音声操作システムにおいて、発話フレーズに基づいて登録されるエンティティ情報を示す図である。 図12は、第1の実施の形態の音声操作システムにおいて、対話式の入力操作の流れを示す図である。 図13は、第1の実施の形態の音声操作システムにおいて、対話式の入力操作の前半の流れを示すシーケンス図である。 図14は、第1の実施の形態の音声操作システムにおいて、対話式の入力操作の後半の流れを示すシーケンス図である。 図15は、第1の実施の形態の音声操作システムの、エラー発生時における対話式の入力操作の流れを示す図である。 図16は、第1の実施の形態の音声操作システムにおける、エラー発生時の対話式の入力操作の流れを示すシーケンス図である。 図17は、第1の実施の形態の音声操作システムにおいて、対話式の入力操作により、MFPの機器能力に応じたスキャンを実行させる動作の前半の流れを示すシーケンス図である。 図18は、第1の実施の形態の音声操作システムにおいて、対話式の入力操作により、MFPの機器能力に応じたスキャンを実行させる動作の後半の流れを示すシーケンス図である。 図19は、第1の実施の形態の音声操作システムにおいて、対話式の入力操作により、アドレス帳から指定したユーザに対してスキャンした画像を送信する動作の前半の流れを示すシーケンス図である。 図20は、第1の実施の形態の音声操作システムにおいて、対話式の入力操作により、アドレス帳から指定したユーザに対してスキャンした画像を送信する動作の後半の流れを示すシーケンス図である。 図21は、第1の実施の形態の音声操作システムにおいて、対話式の入力操作により、メモリから指定したファイルを印刷する動作の前半の流れを示すシーケンス図である。 図22は、第1の実施の形態の音声操作システムにおいて、対話式の入力操作により、メモリから指定したファイルを印刷する動作の後半の流れを示すシーケンス図である。 図23は、第2の実施の形態の音声操作システムのシステム構成図である。 図24は、スマートスピーカのCPUが操作音声処理プログラムを実行することで実現される各機能を示す図である。 図25は、第2の実施の形態の音声操作システムにおける音声入力操作の全体的な動作を説明するための図である。 図26は、音声アシスタントプログラムの起動動作の流れを示すシーケンス図である。 図27は、コピー機能を指示した際の動作の流れを示すシーケンス図である。 図28は、部数設定動作の流れを示すシーケンス図である。 図29は、MFPに対するジョブの実行指示動作の流れを示すシーケンス図である。 図30は、このようなジョブの実行動作及びエラー発生時の対話動作の流れを示すシーケンス図である。 図31は、ユーザから指示されたジョブに必要な機器能力を、MFPが有しているか否かの判定を行うまでの動作の流れを示すシーケンス図である。 図32は、MFPの機器能力で、ジョブの実行が可能である場合、及び、ジョブの実行が困難である場合の動作の流れを示すシーケンス図である。 図33は、ユーザにより指定されたファイルを検索するまでの動作を示すシーケンス図である。 図34は、ユーザにより指定されたファイルを印刷するまでの動作を示すシーケンス図である。 図35は、第3の実施の形態の音声操作システムのシステム構成図である。 図36は、第3の実施の形態の音声操作システムの、より具体的なシステム構成図である。 図37は、第3の実施の形態の音声操作システムのアカウントリンキング動作の流れを示すシーケンス図である。 図38は、第3の実施の形態の音声操作システムにおける、スマートスピーカとMFPとの関連付け動作の前半の流れを示すシーケンス図である。 図39は、第3の実施の形態の音声操作システムにおける、スマートスピーカとMFPとの関連付け動作の後半の流れを示すシーケンス図である。
以下、情報処理システム、情報処理装置、情報処理方法及び情報処理プログラムの適用例となる音声操作システムの説明をする。
(第1の実施の形態)
(システム構成)
図1は、第1の実施の形態の音声操作システムのシステム構成図である。この図1に示すように、第1の実施の形態の音声操作システムは、外部装置の一例である複合機(MFP:Multifunction Peripheral)1、スマートホン又はタブレット端末等の携帯端末2(情報処理装置の一例)、音声認識サーバ装置3及びAIアシスタントサーバ装置4を、例えばLAN(Local Area Network)等の所定のネットワーク5を介して相互に接続することで形成されている。ただし、外部装置は複合機には限定されず、電子黒板やプロジェクタなどのオフィス機器を含む、種々の電子機器であっても良い。
携帯端末2は、MFP1を音声操作するための、ユーザからの音声入力を受け付ける。また、受け付けた操作を、ユーザへ音声でフィードバックする。また、携帯端末2は、音声認識サーバ装置3及びAIアシスタントサーバ装置4の間のデータ通信(後述するテキストデータの通信)を中継する。音声認識サーバ装置3は、携帯端末2から受信した音声データを分析し、テキストデータに変換する。なお、音声認識サーバ装置3は、第1サーバ装置に相当する。AIアシスタントサーバ装置4は、テキストデータを分析し、事前登録されているユーザの意図(MFP1のジョブ実行命令)に変換して携帯端末2に送信する。
なお、AIアシスタントサーバ装置4は、第2サーバ装置に相当する。MFP1は、携帯端末2から送信されるジョブ実行命令を実行する。なお、携帯端末2とMFP1との通信は、無線通信であっても有線通信であっても良い。つまり、携帯端末2は、MFP1に固定的に接続される操作端末であっても良い。
また、この例では、音声認識サーバ装置3及びAIアシスタントサーバ装置4の、2つのサーバ装置が設けられていることとしたが、各サーバ装置3、4を物理的に一つのサーバ装置としてもよい。または、各サーバ装置3、4を、さらに複数のサーバ装置で実現してもよい。
(MFPのハードウェア構成)
MFP1は、例えばプリンタ機能及びスキャナ機能等の複数の機能を備えている。すなわち、MFP1は、図2に示すように、コントローラ7、通信部15、操作部16、スキャナエンジン17及びプリンタエンジン18を有している。
コントローラ7は、CPU10、ASIC(Application Specific Integrated Circuit)11、メモリ12、HDD(Hard Disk Drive)13及びタイマ14を有する。CPU10〜タイマ14は、それぞれバスラインを介して通信可能なように相互に接続されている。
通信部15は、ネットワーク5に接続されており、後述するように、例えばスキャン指示又は印刷指示等の、携帯端末2を用いて音声入力されたジョブ実行命令を取得する。
操作部16は、液晶表示部(LCD:Liquid Crystal Display)とタッチセンサとが一体的に形成された、いわゆるタッチパネルとなっている。操作者は、操作部16を用いて所望の動作の実行命令を行う場合、操作部16に表示された操作ボタン(ソフトウェアキー)を接触操作することで、所望の動作を指定する。
スキャナエンジン17は、スキャナユニットを制御して、光学的に原稿の読み取りを行う。プリンタエンジン18は、画像書き込みユニットを制御して、例えば転写紙等に画像を印刷する。CPU10は、画像形成装置を統括的に制御する。ASIC11は、いわゆる大規模集積回路(LSI:Large-Scale Integration)となっており、スキャナエンジン17及びプリンタエンジン18で処理する画像に必要な各種の画像処理等を行う。携帯端末装置2から取得したジョブ実行命令を実行する手段であるスキャナエンジン17及びプリンタエンジン18は、機能部に相当する。
メモリ12は、CPU10が実行する各種アプリケーション及びアプリケーションを実行する際に用いられる種々のデータが記憶されている。HDD13は、画像データ、各種のプログラム、フォントデータ、及び、各種のファイル等を記憶する。なお、HDD13の代わり又はHDD13と共に、SSD(Solid State Drive)を設けてもよい。
(携帯端末のハードウェア構成)
携帯端末2は、図3に示すようにCPU21、RAM22、ROM23、インタフェース部(I/F部)24及び通信部25を、バスライン26を介して相互に接続して形成されている。RAM22には、電子メール、スキャンした画像等の宛先となるユーザの電子メールアドレス等が記憶されたアドレス帳が記憶されている。また、RAM22には、印刷を行う画像データであるファイル等が記憶されている。
ROM23には、操作音声処理プログラムが記憶されている。CPU21は、この操作音声処理プログラムを実行することで、MFP1の音声入力操作を可能とする。
I/F部24には、タッチパネル27、スピーカ部28及びマイクロホン部29が接続されている。マイクロホン部29は、通話音声の他、MFP1に対するジョブの実行命令の入力音声を集音(取得)する。入力音声は、通信部25を介して音声認識サーバ装置3に送信され、テキストデータに変換される。
(音声認識サーバ装置のハードウェア構成)
音声認識サーバ装置3は、図4に示すように、CPU31、RAM32、ROM33、HDD(Hard Disk Drive)34、インタフェース部(I/F部)35及び通信部36を、バスライン37を介して相互に接続して形成されている。I/F部35には、表示部38及び操作部39が接続されている。HDD34には、音声データをテキストデータに変換するための操作音声変換プログラムが記憶されている。CPU31は、操作音声変換プログラムを実行することで、携帯端末2から送信された音声データをテキストデータに変換して、携帯端末2に返信する。
(AIアシスタントサーバ装置のハードウェア構成)
AIアシスタントサーバ装置4は、図5に示すように、CPU41、RAM42、ROM43、HDD44、インタフェース部(I/F部)45及び通信部46を、バスライン47を介して相互に接続して形成されている。I/F部45には、表示部48及び操作部49が接続されている。HDD44には、ユーザから指示されたジョブを解釈するための操作解釈プログラムが記憶されている。CPU41は、この操作解釈プログラムを実行することで、音声認識サーバ装置3で生成(変換)されたテキストデータから、ユーザから指示されたジョブを解釈する。この解釈結果は、携帯端末2に送信される。携帯端末は、解釈結果をジョブ命令に変換してMFP1に供給する。これにより、携帯端末2を介して入力した音声により、MFP1を操作できる。
(携帯端末の機能)
次に、携帯端末2のCPU21は、ROM23に記憶されている操作音声処理プログラムを実行することで、図6に示すように取得部51、通信制御部52、フィードバック部55、処理能力取得部56、実行判定部57及び検索部58として機能する。
取得部51は、取得部及び第1取得部の一例であり、マイクロホン部29を介して集音された、MFP1を音声操作するためのユーザの指示音声を取得する。通信制御部52は、出力部、第1出力部、第2出力部、第3出力部、第2取得部及び第3取得部の一例であり、携帯端末2とMFP1との間、携帯端末2と音声認識サーバ装置3との間、及び、携帯端末2とAIアシスタントサーバ装置4との間の通信をそれぞれ制御する。解釈結果変換部53は、変換部の一例であり、AIアシスタントサーバ装置4でユーザの指示音声のテキストデータの解釈結果を、MFP1に対するジョブの実行命令に変換する。実行指示部54は、ジョブの実行命令をMFP1に送信して、ジョブの実行を指示する。
フィードバック部55は、修正部の一例であり、対話型の音声入力操作を実現すべく、例えば不足するデータを補う入力を促す音声をフィードバックし、又は、入力を確認する音声のフィードバック等を行う。処理能力取得部56は、処理能力検出部の一例であり、MFP1から、例えば処理可能な最大画素数等の処理能力を取得する。実行判定部57は、MFP1の能力と、ユーザから指定されたジョブとを比較することで、ユーザから指定されたジョブをMFP1で実行可能か否か判定する。検索部58は、印刷情報検出部及びアドレス検出部の一例であり、ユーザから音声指示された宛先又はファイル等をRAM22等のメモリから検索する。
なお、この例では、取得部51〜検索部58をソフトウェアで実現することとしたが、これらのうち、一部又は全部を、IC(Integrated Circuit)等のハードウェアで実現してもよい。また、取得部51〜検索部58が実現する機能は、操作音声処理プログラム単体で実現しても良いし、他のプログラムに処理の一部を実行させる、又は他のプログラムを用いて間接的に処理を実行させても良い。例えば、MFP1の処理能力などの情報の取得は他のプログラムが実行し、処理能力取得部56は他のプログラムが取得した情報を取得することで、間接的にMFP1が有する情報を取得することができる。
(音声認識サーバ装置の機能)
次に、音声認識サーバ装置3のCPU31は、HDD34に記憶されている操作音声変換プログラムを実行することで、図7に示すように取得部61、テキスト変換部62及び通信制御部63として機能する。取得部61は、携帯端末2から送信される、ユーザにより入力された音声データを取得する。テキスト変換部62は、音声認識部の一例であり、ユーザにより入力された音声データをテキストデータに変換する。通信制御部63は、ユーザにより入力された音声データの受信、及び、携帯端末2に対するテキストデータの送信等を行うように、通信部36を通信制御する。
なお、この例では、取得部61〜通信制御部63をソフトウェアで実現することとしたが、これらのうち、一部又は全部を、IC(Integrated Circuit)等のハードウェアで実現してもよい。また、取得部61〜通信制御部63が実現する機能は、操作音声変換プログラム単体で実現しても良いし、他のプログラムに処理の一部を実行させる、又は他のプログラムを用いて間接的に処理を実行させても良い。
(AIアシスタントサーバ装置の機能)
次に、AIアシスタントサーバ装置4のCPU41は、HDD44に記憶されている操作解釈プログラムを実行することで、図8に示すように取得部71、解釈部72及び通信制御部73として機能する。取得部71は、携帯端末2から送信される、ユーザにより入力された音声データのテキストデータを取得する。解釈部72は、抽出部の一例であり、テキストデータに基づいて、ユーザからの操作指示を解釈する。通信制御部73は、ユーザの携帯端末2に対する解釈結果の送信、及び、ユーザにより入力された音声データのテキストデータの受信等を行うように通信部46を通信制御する。
なお、この例では、取得部71〜通信制御部73をソフトウェアで実現することとしたが、これらのうち、一部又は全部を、IC(Integrated Circuit)等のハードウェアで実現してもよい。また、取得部71〜通信制御部73が実現する機能は、操作解釈プログラム単体で実現しても良いし、他のプログラムに処理の一部を実行させる、又は他のプログラムを用いて間接的に処理を実行させても良い。
また、操作音声処理プログラム、操作音声変換プログラム及び操作解釈プログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)などのコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。また、CD−R、DVD(Digital Versatile Disk)、ブルーレイディスク(登録商標)、半導体メモリなどのコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。また、インターネット等のネットワーク経由でインストールするかたちで提供してもよいし、機器内のROM等に予め組み込んで提供してもよい。
(音声入力操作の全体的な動作)
図9に、第1の実施の形態の音声操作システムにおける音声入力操作の全体的な動作を説明する。この図9の例は、MFP1の両面コピー機能を、携帯端末2を介して音声入力操作する例である。この場合、ユーザは、携帯端末の操作音声処理プログラムを起動し、例えば「両面でコピー」と発声する。このユーザの音声は、携帯端末2のマイクロホン部29で集音され、取得部51により取得される(ステップS1)。携帯端末2の通信制御部52は、この「両面でコピー」との音声データを音声認識サーバ装置3に送信し、テキスト変換要求を行うように通信部25を制御する(ステップS2)。
音声認識サーバ装置3のテキスト変換部62は、「両面でコピー」との音声データをテキストデータに変換処理する。そして、通信制御部63は、変換処理されたテキストデータを、携帯端末2に送信するように通信部36を制御する(ステップS3)。携帯端末2の通信制御部52は、「両面でコピー」とのテキストデータを、AIアシスタントサーバ装置4に送信する(ステップS4)。
この例の場合、AIアシスタントサーバ装置4の解釈部72は、MFP1に実行を要求する動作は「コピーである(Action:Copy_Execcute)」と解釈し、「印刷面は両面である(印刷面=両面)」と解釈する(ステップS5)。このように、解釈部72は、テキストデータに基づいて、ユーザから指定されたジョブの種別(アクション)及び内容(パラメータ)を示す解釈結果を生成する。この解釈結果は、AIアシスタントサーバ装置4の通信制御部63により、通信部46を介して携帯端末2に送信される(ステップS6)。
携帯端末2の解釈結果変換部53は、AIアシスタントサーバ装置4から受信した解釈結果を、MFP1のジョブ命令に変換処理する(ステップS7)。以下の表1に、解釈結果と、解釈結果から変換処理されたジョブ命令の一例を示す。なお、解釈結果変換部53は、解釈結果をジョブ命令に変換するために、表1に相当する情報を携帯端末装置2の記憶部に記憶し、参照できる構成としても良い。
Figure 2020087386
この表1の例の場合、「COPY_EXECUTE」、「SCAN_EXECUTE」、「PRINT_EXECUTE」及び「FAX_EXECUTE」が、アクション(Action)の一例として示されている。また、「印刷面」及び「部数」等がパラメータ(Parameter)の一例として示されている。なお、パラメータとしては、ジョブの設定値として指定可能な全てのパラメータが含まれる。
携帯端末2の解釈結果変換部53は、「COPY_EXECUTE」の解釈結果を、「コピージョブの実行」との、MFP1のジョブ命令に変換処理する。同様に、解釈結果変換部53は、「SCAN_EXECUTE」の解釈結果を、「スキャンジョブの実行」との、MFP1のジョブ命令に変換処理する。同様に、解釈結果変換部53は、「PRINT_EXECUTE」の解釈結果を、「印刷ジョブの実行」との、MFP1のジョブ命令に変換処理する。同様に、解釈結果変換部53は、「FAX_EXECUTE」の解釈結果を、「FAXジョブの実行」との、MFP1のジョブ命令に変換処理する。
また、携帯端末2の解釈結果変換部53は、解釈結果に「印刷面」のパラメータが含まれている場合、「印刷面の設定値の変更」を行うMFP1のジョブ命令を形成する。同様に、解釈結果変換部53は、解釈結果に「部数」のパラメータが含まれている場合、「部数の設定値の変更」を行うMFP1のジョブ命令を形成する。
すなわち、携帯端末2の解釈結果変換部53は、解釈結果の「Action」に含まれる情報で、MFP1に実行させるジョブの種類を判断し、「Parameter」に含まれる値を、ジョブの設定値と判断して、解釈結果をジョブ命令に変換処理する。
携帯端末2の通信制御部52は、このようにして形成されたジョブ命令を、MFP1に送信するように通信部25を制御する(ステップS8)。この例の場合、「コピージョブ実行(印刷面=両面)」のジョブ命令がMFP1に送信される。これにより、MFP1で両面印刷が実行される。
(AIアシスタントサーバ装置における解釈動作の詳細)
AIアシスタントサーバ装置4のHDD44のAI記憶部40には、ユーザが音声入力により指示しているジョブを解釈するためAIアシスタントサービス情報が記憶されている。このAIアシスタントサービス情報は、エンティティ(Entity)情報、アクション(Action)情報及びインテント(Intent)情報を含んで構成されている。エンティティ情報は、ジョブのパラメータと自然言語を関連付ける情報である。1つのパラメータに複数の類義語が登録可能となっている。アクション情報は、ジョブの種類を示す情報である。インテント情報は、ユーザの発話フレーズ(自然言語)とエンティティ情報、及び、ユーザの発話フレーズ(自然言語)とアクション情報を、それぞれ関連付ける情報である。インテント情報により、パラメータの発話順序又はニュアンスが多少変わっても、正しい解釈が可能となっている。また、インテント情報により、入力された内容に基づいてレスポンスのテキスト(解釈結果)を生成可能となっている。
図10に、エンティティ情報の一例を示す。この図10は、印刷色(Print Color)に対応するエンティティ情報である。この図10において、「Print Color」の文字は、エンティティ名を示している。また、図10において、左の列の「auto_color」、「monochrome」、「color」・・・等の文字は、パラメータ名を示している。また、図10において、右の列の「auto_color」、「monochrome,black and white」、「color,full color」・・・等の文字は、類義語を示している。
この図10からわかるように、エンティティ情報としては、パラメータ及び類義語が関連付けられて記憶されている。パラメータと共に、類義語を登録することで、例えばモノクロでのコピーを指示する場合に、「Please copy by black and white」と発話しても、「Please copy by monochrome」と発話しても、パラメータの設定を可能とすることができる。
図11(a)は、ユーザの発話フレーズの例、図11(b)は、アクション名、図11(c)は、エンティティ情報を示している。この図11(a)〜図11(c)に示すように、AIアシスタントサーバ装置4が備える表示部48に表示される画面上において、操作部49を操作することで、ユーザの発話をドラッグする。または、ネットワークを介してAIアシスタントサーバ装置4にアクセスした装置の表示部に表示される画面上において、この装置の操作部を操作することで、ユーザの発話をドラッグする。
これにより、関連付け対象となるエンティティ情報を選択できるようになっている。また、選択したエンティティ情報でバリュー(VALUE)を設定すると、応答で入るパラメータが変更される。例えば、「Please copy by black and white」と発話した場合、バリューを「SprintColor」とすると、戻り値として「printColor=monochrome」が返る。これに対して、バリューを「SprintColor.original」とすると、戻り値として「printColor=black and white」が返る。ここで、バリューを「SprintColor.original」とすると、ユーザの発話内容がそのまま応答のパラメータとして返すことができる。
(対話型動作)
次に、第1の実施の形態の音声操作システムでは、ユーザからの入力内容に基づいて、システムが応答する対話型システムを実現している。第1の実施の形態の音声操作システムでは、対話に必要な定型文を応答する以外に、MFP1の操作特有の応答として、「入力不足フィードバック」及び「入力確認フィードバック」の、2種類の応答を行うことで、対話型MFP操作システムを実現している。
「入力不足フィードバック」は、ジョブを実行するために必要な情報が揃っていない場合に出力される応答である。ユーザの入力結果を聞き取れなかった場合、又は、必須パラメータが不足している場合に出力される。つまり、必須パラメータ以外のパラメータについては、指示されていない場合であっても入力不足フィードバックを行う必要はない。また、パラメータ以外にも、コピー機能又はスキャン機能等のうち、利用する機能を確認する処理を含んでも良い。
例えば、携帯端末装置2が通信接続中の外部装置の種類に応じて、ユーザに確認する機能、及びパラメータを変更しても良い。この場合、処理能力取得部56が外部装置との通信が確立した後の所定のタイミングで外部装置の種類や機能を示す情報を取得し、取得した情報に基づいてユーザに確認する機能及びパラメータを例えばフィードバック部55が決定してもよい。例えば、外部装置の種類がMFP1である場合には、コピー、プリント、スキャン、FAXなどのMPF1が有する機能をユーザに確認でき、更に、コピー、プリント、スキャン、FAXのうちMFP1が有している機能についてのみ、いずれの機能を使用するかをユーザに確認しても良い。
「入力確認フィードバック」は、ジョブを実行するために必要な情報が揃った場合に出力される応答である。つまり、入力確認フィードバックは、全ての必須パラメータについて指示された場合に行われる。また、入力確認フィードバックは、現在の設定値でジョブを実行するか、又は、設定値を変更するかの選択をユーザに促すために行う。なお、現在の設定値でジョブを実行するか否かを確認するために、ユーザにより指示された全てのパラメータ(必須パラメータか必須パラメータ以外のパラメータかに関わらず)を音声出力することで、ユーザに確認することができる。
このような各フィードバックを含めた、システムとユーザの対話型操作の例が図12である。この図12の例は、モノクロ画像を両面で2部のコピーを行うようにMFP1を操作する例である。また、この例の場合、部数(=2部)が必須パラメータとなっている。なお、必須パラメータは部数に限定されず、モノクロ、カラー、又は、用紙サイズ等、複数のパラメータを含めても良い。
なお、パラメータのうち、いずれのパラメータが必須パラメータであるかは、AIアシスタントサーバ装置4が有する記憶部に予め記憶しておくことがでる。また、ユーザが操作部49を操作によって、又はネットワークを介してAIアシスタントサーバ装置4に対してアクセスすることで、いずれのパラメータが必須パラメータであるかは適宜変更することができても良い。
図12の例は、斜線で示す発話がユーザの発話であり、斜線の無い発話がシステムの発話である。まず、システムが、「コピーしますか?スキャンしますか?」との音声出力を行うと、ユーザは、「コピー」と発音してコピー機能の利用を指示する。システム側では、ユーザから指定された「コピー」の設定値の入力を求めるべく、「設定値を入力してください」との音声出力を行う。
これに対して、ユーザは、「モノクロ」と発話したとする。この例の場合、上述のようにコピー部数が必須のパラメータとなっている。このため、システム側では、「部数を指定してください」とのように、コピー部数の入力を求める。これが「入力不足フィードバック」の例である。このような「入力不足フィードバック」に対して、ユーザは、「2部」等のように、コピー部数を指定する。これにより、入力不足が解消するため、システム側は、「モノクロ、2部でコピーします。よろしいですか?」との応答を行い、コピー開始の指示を促す。これが、ジョブを実行するために必要な情報が揃った場合に出力される「入力確認フィードバック」である。
なお、システム側は、「設定値を入力してください」との音声出力に対して、ユーザから「モノクロ、2部で」との応答があった場合、ジョブを実行するために必要な情報が揃っているため、上述の「モノクロ、2部でコピーします。よろしいですか?」との「入力確認フィードバック」を行う。
次に、片面コピーから両面コピーにコピー形態を変更する場合、ユーザは、「両面に変更して」との音声入力を行う。この場合、ジョブを実行するために必要な情報は揃っているため、システム側は、「モノクロ、2部、両面でコピーします。よろしいですか?」との「入力確認フィードバック」を行う。
そして、「モノクロ、2部でコピーします。よろしいですか?」又は「モノクロ、2部、両面でコピーします。よろしいですか?」との「入力確認フィードバック」に対して、ユーザが「はい」と応答すると、システム側は、「ジョブを実行します」との応答を行い、ユーザから指示されたジョブを実行する。
(対話型動作の流れ)
図13及び図14は、このような対話型動作の流れを示すシーケンス図である。図13のシーケンス図は、対話型動作の前半の動作の流れを示しており、図14のシーケンス図は、対話型動作の後半の動作の流れを示している。
まず、ユーザにより携帯端末2の操作音声処理プログラムが起動操作されると(ステップS11)、フィードバック部55は、「コピーしますか?スキャンしますか?」との音声フィードバックを行う(ステップS12)。ユーザが、「コピー」と発音すると(ステップS13)、携帯端末2の通信制御部52は、音声認識サーバ装置3に対して、「コピー」との音声データを送信し、テキスト変換要求を行う(ステップS14)。音声認識サーバ装置3のテキスト変換部62は、「コピー」との音声データをテキストデータに変換処理し、携帯端末2に送信する(ステップS15)。
携帯端末2の取得部51は、このテキストデータを取得する。また、携帯端末2の通信制御部52は、取得したテキストデータをAIアシスタントサーバ装置4に送信する(ステップS16)。AIアシスタントサーバ装置4の解釈部72は、図10及び図11を用いて説明したように、受信したテキストデータで示されるユーザの発話フレーズに基づいて、アクション及びパラメータを解釈する。この例の場合、ユーザは、「コピー」としか発音していないため、コピー部数等が不明となる(入力不足)。
このため、解釈部72は、「Copy_Parameter_Setting」としたアクションに、「設定値を入力してください」とのレスポンス(Response)を付加した解釈結果を形成する(ステップS17)。AIアシスタントサーバ装置4の通信制御部73、この解釈結果を携帯端末2に送信する(ステップS18)。携帯端末2のフィードバック部55は、スピーカ部29を介して「設定値を入力してください」との音声出力を行うと共に、タッチパネル27に対して「設定値を入力してください」とのテキスト表示を行う(ステップS19:入力不足フィードバック)。
次に、入力不足フィードバックがあったため、ユーザは、例えば「両面で」と発話する(ステップS20)。携帯端末2の通信制御部52は、音声認識サーバ装置3に対して、「両面で」との音声データを送信し、テキスト変換要求を行う(ステップS21)。音声認識サーバ装置3のテキスト変換部62は、「両面で」との音声データをテキストデータに変換処理し、携帯端末2に送信する(ステップS22)。
携帯端末2の取得部51は、このテキストデータを取得する。また、携帯端末2の通信制御部52は、取得したテキストデータをAIアシスタントサーバ装置4に送信する(ステップS23)。AIアシスタントサーバ装置4の解釈部72は、受信したテキストデータで示されるユーザの発話フレーズに基づいて、アクション及びパラメータを解釈する。この例の場合、ユーザは、「コピー」及び「両面で」としか発音していないため、コピー部数等が不明となる(必須パラメータ不足)。
複数のパラメータのうち、いずれのパラメータが必須パラメータであるかは、AIアシストサーバ装置4の記憶部に予め記憶しておくことができる。この場合、解釈部72は、記憶部に記憶された必須パラメータの情報に基づいて、携帯端末装置2から取得したパラメータが全ての必須パラメータの設定を行っているか否かを判断し、必須パラメータについて設定が行われていない場合は、必須パラメータの設定を行うように、携帯端末装置2を介してユーザへ促すことができる。
このため、解釈部72は、「Copy_Parameter_Setting」としたアクションと、「印刷面=両面」とのパラメータに、「何部印刷しますか?」とのレスポンス(Response)を付加した解釈結果を形成する(ステップS24)。AIアシスタントサーバ装置4の通信制御部73、この解釈結果を携帯端末2に送信する(ステップS25)。携帯端末2のフィードバック部55は、スピーカ部29を介して「何部印刷しますか?」との音声出力を行うと共に、タッチパネル27に対して「何部印刷しますか?」とのテキスト表示を行う(ステップS26:入力不足フィードバック)。
次に、再度、入力不足フィードバックがあったため、ユーザは、例えば「2部」と発話する(ステップS27)。携帯端末2の通信制御部52は、音声認識サーバ装置3に対して、「2部」との音声データを送信し、テキスト変換要求を行う(ステップS28)。音声認識サーバ装置3のテキスト変換部62は、「2部」との音声データをテキストデータに変換処理し、携帯端末2に送信する(ステップS29)。
携帯端末2の取得部51は、このテキストデータを取得する。また、携帯端末2の通信制御部52は、取得したテキストデータをAIアシスタントサーバ装置4に送信する(ステップS30)。AIアシスタントサーバ装置4の解釈部72は、受信したテキストデータで示されるユーザの発話フレーズに基づいて、アクション及びパラメータを解釈する。この例の場合、ユーザが「2部」との音声データを送信することで、コピーのジョブに対する必須パラメータ不足が解消する。このため、解釈部72は、「Copy_Confirm」としたアクションに、「印刷面=両面」及び「部数=2部」とのパラメータを付加した解釈結果を形成する(ステップS31)。AIアシスタントサーバ装置4の通信制御部73、この解釈結果を携帯端末2に送信する(ステップS32)。
携帯端末2のフィードバック部55は、必須パラメータ不足が解消し、コピーを開始する準備が整ったため、例えば「両面で2部コピーします。よろしいですか?」とのフィードバックのテキストを、解釈結果に含まれるResponseに基づいて生成する(ステップS33)。ここで、テキストの生成は、携帯端末2の記憶部に記憶されたテキストデータの中から全て、又は一部を読み出し、組み合わせることで生成してもよい。
なお、フィードバック部55は、ステップS33に限らず、AIアシスタントサーバ装置4から解釈結果を取得した場合であれば、他のステップでも同様にフィードバックのテキストを生成しても良いが、フィードバックするテキスト情報が解釈結果のレスポンスに含まれている場合は、フィードバックのテキストを生成する必要はない。次に、上述の入力確認フィードバックを行う(ステップS34)。この入力確認フィードバックに対して、ユーザは、設定値の変更又はコピーの開始を指示する音声入力を行う。
図14のシーケンス図のステップS35〜ステップS42が、設定値の変更を音声指示した場合の動作の流れを示すシーケンス図である。この図14において、ユーザが設定値を変更する発話を行うと(ステップS35)、音声認識サーバ装置3のテキスト変換部62が、変更された設定値のテキストデータに生成し、携帯端末2を介してAIアシスタントサーバ装置4に送信する(ステップS36〜ステップS38)。AIアシスタントサーバ装置4は、受信したテキストデータで示されるユーザの発話フレーズに基づいて、変更された設定値を示す解釈結果を生成し(ステップS39)、携帯端末2に送信する(ステップS40)。
携帯端末2のフィードバック部55は、解釈結果に含まれるResponseに基づいてフィードバックのテキストを生成し(ステップS41)、例えば「○○設定でコピーします。よろしいですか?」等の、上述の入力確認フィードバックを行うことで、変更された設定値でコピーを開始してよいか否かの確認を行う(ステップS42)。
図14のシーケンス図のステップS43〜ステップS50が、コピーの開始を指示した際の各部の動作の流れである。すなわち、上述の入力確認フィードバックにより、ユーザが「はい」と応答すると(ステップS43)、テキスト化され、携帯端末2を介してAIアシスタントサーバ装置4に送信される(ステップS44〜ステップS46)。AIアシスタントサーバ装置4は、受信したテキストデータに基づいてコピー開始指示を認識すると、「Copy_Execute」としたアクションに、「印刷面=両面」及び「部数=2部」とのパラメータを付加した解釈結果を形成し、これを携帯端末2に送信する(ステップS47〜ステップS48)。
携帯端末2の解釈結果変換部53は、解釈結果をMFP1のジョブ命令に変換処理し(ステップS49)、MFP1に送信する(ステップS50)。これにより、音声入力操作により、MFP1をコピー制御することができる。
(AIアシスタントサーバ装置4からフィードバックされる情報の例)
以下の表2に、AIアシスタントサーバ装置4から携帯端末2にフィードバックされる解釈結果の一例を示す。
Figure 2020087386
この表2に示すように、例えばジョブの設定値の入力促すための「Copy_Parameter_Setting」、ジョブの設定値の確認を促すための「Copy_Confirm」、ジョブの実行開始を伝えるための「Copy_Execute」等のアクションが、解釈結果に含められて携帯端末2にフィードバックされる。
フィードバック部55は、解釈結果に含まれるアクション、パラメータ、レスポンスに応じて、ユーザに対するフィードバックを判断することができる。フィードバック部55は、フィードバックする内容を決定するために、表2に相当する情報を携帯端末装置2の記憶部に記憶し、参照できる構成としても良い。なお、表2では、コピーの場合を例に説明したが、プリント、スキャン、FAXも表2と同様にアクションとして、ジョブの設定値の入力促すための「Parameter_Setting」、ジョブの設定値の確認を促すための「Confirm」が用いられても良い。
また、例えば両面又は片面等の印刷面の設定値、又は、コピー部数等のパラメータが、解釈結果に含められて携帯端末2にフィードバックされる。さらに、必須パラメータが不足している場合、不足するパラメータの入力を促すメッセージが、レスポンスとして解釈結果に含められて携帯端末2にフィードバックされる。
(ジョブの実行動作及びエラー発生時の対話)
次に、図15は、例えば「ジョブを実行します。よろしいですか?」等の、上述の入力確認フィードバックにより、ユーザが「はい」と応答することで、ジョブが実行され、又は、エラーが発生した場合の対話の一例を示す。
まず、「ジョブを実行します。よろしいですか?」等の、上述の入力確認フィードバックにより、ユーザが「はい」と応答することで、MFP1においてジョブが実行される。何事もなくジョブが完了すれば、例えば「ジョブが完了しました。原稿の取り忘れに注意してください。」等の完了メッセージ(音声及びテキスト)が、携帯端末2を介して出力される。
これに対して、例えば用紙不足のエラーが発生した場合、携帯端末2を介して「用紙がありません。用紙を補充して継続するか、ジョブをキャンセルしてください」等のジョブの確認フィードバックが行われる。この確認フィードバックに対して、ユーザがMFP1に用紙を補充し、「継続」との発話により応答した場合、MFP1に対してジョブの継続が指示され、MFP1においてジョブが再開される。これに対して、確認フィードバックにより、ユーザが「キャンセル」との発話することで、ジョブのキャンセルを指示した場合、MFP1に対してジョブのキャンセルが通知され、エラー発生以降のジョブがキャンセルされる。そして、携帯端末2を介して、例えば「ジョブをキャンセルしました」等の音声及びテキストを出力する確認フィードバックが行われる。
(ジョブの実行動作及びエラー発生時の対話動作の流れ)
図16は、このようなジョブの実行動作及びエラー発生時の対話動作の流れを示すシーケンス図である。MFP1は、指示されたジョブを実行することで、正常にジョブが完了した旨の実行結果、又は、エラーが発生したことを示す実行結果を携帯端末2に送信する(ステップS51)。正常にジョブが完了した旨の実行結果を受信した場合、携帯端末2のフィードバック部55は、例えば「ジョブが完了しました」等の音声メッセージを出力する(ステップS52)。これに対して、エラーが発生した旨の実行結果を受信した場合、携帯端末2のフィードバック部55は、例えば「エラーが発生しました。ジョブを継続しますか、キャンセルしますか?」等の、ジョブの継続の是非を問う音声メッセージを出力する(ステップS53)。
図16のステップS54〜ステップS61が、ユーザが、継続を指定した場合の各部の動作の流れである。すなわち、「エラーが発生しました。ジョブを継続しますか、キャンセルしますか?」との問い合わせに対し、ユーザがエラーの発生要因を除去したうえで、「継続」と応答した場合(ステップS54)、テキスト化されてAIアシスタントサーバ装置4に送信される(ステップS55〜ステップS57)。
AIアシスタントサーバ装置4は、アクションを「Copy_Job_Continue」とし、レスポンスを「ジョブを継続します」とした解釈結果を生成し、これを携帯端末2に送信する(ステップS58〜ステップS59)。携帯端末2の実行指示部54は、MFP1に対してジョブの継続を指示する(ステップS60)。また、携帯端末2のフィードバック部55は、「ジョブを継続します」との入力確認フィードバックを行う(ステップS61)。
これに対して、図16のステップS62〜ステップS69が、ユーザが、ジョブのキャンセルを指定した場合の各部の動作の流れである。すなわち、「エラーが発生しました。ジョブを継続しますか、キャンセルしますか?」との問い合わせに対し、ユーザが、「キャンセル」と応答した場合(ステップS62)、テキスト化されてAIアシスタントサーバ装置4に送信される(ステップS63〜ステップS65)。
AIアシスタントサーバ装置4は、アクションを「Copy_Job_Cancel」とし、レスポンスを「ジョブをキャンセルします」とした解釈結果を生成し、これを携帯端末2に送信する(ステップS66〜ステップS67)。携帯端末2の実行指示部54は、MFP1に対してジョブのキャンセルを指示する(ステップS68)。また、携帯端末2のフィードバック部55は、「ジョブをキャンセルします」との入力確認フィードバックを行う(ステップS69)。
(対話によるMFPの機器能力に応じたパラメータの調整動作)
次に、第1の実施の形態の音声操作システムは、MFP1の機器能力に対応したジョブの実行を、対話型操作により実現している。図17は、ユーザから指示されたジョブに必要な機器能力を、MFP1が有しているか否かの判定を行うまでの動作の流れを示すシーケンス図である。図18は、MFP1の機器能力で、ジョブの実行が可能である場合、及び、ジョブの実行が困難である場合の動作の流れを示すシーケンス図である。
まず、図17のシーケンス図において、携帯端末2の携帯音声処理プログラムを起動すると(ステップS71)、処理能力取得部56が、MFP1に対して、例えば処理可能な解像度の問い合わせを行う(Capabilityの取得:ステップS72)。この問い合わせに対して、MFP1は、「200dpi〜600dpi」等のように、処理可能な解像度を携帯端末2に回答する(ステップS73)。これにより、携帯端末2において、MFP1の処理可能な解像度が認識される。
なお、処理能力取得部56は携帯端末装置2とMFP1との通信が確立した後の所定のタイミングで、予め処理能力の情報を取得しておいても良い。また、処理能力の取得は他のプログラムが実行し、処理能力取得部56は他のプログラムが取得した情報を取得することで、間接的にMFP1が有する情報を取得しても良い。
次に、携帯端末2のフィードバック部55は、例えば「コピーしますか?スキャンしますか?」等のジョブの指示を促す音声フィードバックを行う(ステップS74)。ユーザが「スキャン」と発話すると(ステップS75)、テキスト化されてAIアシスタントサーバ装置4に送信される(ステップS76〜ステップS78)。スキャンの指示だけでは、必須パラメータが不足しているため、解釈部72は、アクションを「Scan_Parameter_Setting」、レスポンスを「設定値を入力してください」とした解釈結果を携帯端末2に送信する(ステップS79〜ステップS80)。これにより、携帯端末2のフィードバック部55は、「設定値を入力してください」との入力不足フィードバックを行う(ステップS81)。
次に、このような入力不足フィードバックに対して、ユーザが「1000dpiで田中さん宛て」と発話すると、テキスト化されてAIアシスタントサーバ装置4に送信される(ステップS82〜ステップS85)。AIアシスタントサーバ装置4の解釈部72は、アクションを「Scan_Confirm」、パラメータを「解像度=1000dpi、宛先=田中」とした解釈結果を携帯端末2に送信する(ステップS86〜ステップS87)。携帯端末2の実行判定部57は、解釈結果に含まれるパラメータに基づいて、ユーザにより指定されたジョブは、MFP1で実行可能か否かを判定する(ステップS88)。
MFP1が、1000dpiの解像度で画像処理が可能であれば、図18のステップS89に示すように、携帯端末2のフィードバック部55が、「1000dpiでスキャンし、田中さん宛てに送信します。よろしいですか?」との入力確認フィードバックを行う。
この入力確認フィードバックに対してユーザが「はい」と応答すると(ステップS91)、テキスト化されてAIアシスタントサーバ装置4に送信される(ステップS92〜ステップS94)。AIアシスタントサーバ装置4は、アクションを「Scan_Execute」とし、「解像度=1000、宛先=田中」とした解釈結果を携帯端末2に送信する(ステップS95〜ステップS96)。
携帯端末2の解釈結果変換部53は、解釈結果をジョブ命令に変換する(ステップS97)。携帯端末2の通信制御部52は、ジョブ命令をMFP1に送信する(ステップS98)。
これに対して、600dpiがMFP1の処理能力の限界である場合、ユーザから指定された1000dpiの画像処理は、MFP1では困難となる。この場合、携帯端末2は、ステップS90において、「1000dpiは指定できません。600dpiでスキャンし、田中さん宛てに送信します。よろしいですか?」との確認フィードバックを行う。
なお、実行判定部57は、MFP1の処理能力の範囲内で、ユーザが指示した機能又は処理能力値に最も近い機能又は値を選択することができる。例えば、MFP1の処理可能な解像度が200−600dpiの範囲である場合、ユーザが指示した1000dpiに最も近い600dpiが選択される。そして、実行判定部57が選択した能力又は値を、フィードバック部が確認フィードバックとして出力する。
このような確認フィードバックに対してユーザが「はい」と発話すると(ステップS91)、テキスト化されてAIアシスタントサーバ装置4に送信される(ステップS92〜ステップS94)。AIアシスタントサーバ装置4は、アクションを「Scan_Execute」とし、「解像度=600、宛先=田中」とした解釈結果を携帯端末2に送信する(ステップS95〜ステップS96)。
携帯端末2の解釈結果変換部53は、解釈結果をジョブ命令に変換する(ステップS97)。携帯端末2の通信制御部52は、ジョブ命令をMFP1に送信する(ステップS98)。これにより、音声入力操作により、処理能力内でジョブが実行されるように、MFP1を操作できる。
(携帯端末のアドレス帳から検索した送信先にスキャン画像を送信する動作)
次に、携帯端末2のアドレス帳から検索した送信先にスキャン画像を送信する動作を説明する。図19のシーケンス図が前半の動作の流れを、図20のシーケンス図が後半の動作の流れを示している。
まず、図19のシーケンス図において、携帯端末2の携帯音声処理プログラムを起動すると(ステップS101)、フィードバック部55が、例えば「コピーしますか?スキャンしますか?」等のジョブの指示を促す音声フィードバックを行う(ステップS102)。ユーザが「スキャン」と発話すると(ステップS103)、テキスト化されてAIアシスタントサーバ装置4に送信される(ステップS104〜ステップS106)。スキャンの指示だけでは、必須パラメータが不足しているため、解釈部72は、アクションを「Scan_Parameter_Setting」、レスポンスを「設定値を入力してください」とした解釈結果を携帯端末2に送信する(ステップS107〜ステップS108)。これにより、携帯端末2のフィードバック部55は、「設定値を入力してください」との入力不足フィードバックを行う(ステップS109)。
次に、このような入力不足フィードバックに対して、ユーザが「田中さん宛て」と発話すると(ステップS110)、テキスト化されてAIアシスタントサーバ装置4に送信される(ステップS111〜ステップS113)。AIアシスタントサーバ装置4の解釈部72は、アクションを「Scan_Confirm」、パラメータを「宛先=田中」とした解釈結果を携帯端末2に送信する(ステップS114〜ステップS115)。携帯端末2の検索部58は、解釈結果に含まれるパラメータに基づいてRAM22に記憶されているアドレス帳の記憶領域から、田中さんの電子メールアドレスを検索する(ステップS116)。
なお、検索する対象はRAM22に限らず携帯端末装置とネットワークを介して接続されたサーバであっても良いし、MFP1に対して該当する電子メールアドレスが存在するか否かを問い合わせても良い。
アドレス帳の記憶領域に、田中さんが一人だけ記録されている場合、図20のステップS117において、携帯端末2の通信制御部52は、アドレス帳の記憶領域に記憶されている田中さんの電子メールアドレスを送信先に設定した電子メールを作成する。この電子メールには、スキャン画像が添付されて送信される。これにより、田中さん宛てにスキャン画像が送信される。
アドレス帳の記憶領域に、田中さんが複数人記録されている場合、つまり、宛先を識別する情報である「田中」を含む宛先が複数存在する場合、携帯端末2のフィードバック部55は、「田中さんが複数登録されています。送信先を選択してください」との入力不足フィードバックを行う(ステップS118)。そして、携帯端末2の検索部58は、アドレス帳の記憶領域から検索した複数の田中さんの氏名及び電子メールアドレス等を、タッチパネル27に一覧表示する(ステップS119)。
ユーザは、この一覧の中から所望の田中さんを選択する。携帯端末2の通信制御部52は、ユーザにより選択された田中さんの電子メールアドレスを送信先に設定した電子メールを作成する。この電子メールには、スキャン画像が添付されて送信される。これにより、ユーザが希望する宛先に相当する田中さん宛てにスキャン画像が送信される。
アドレス帳の記憶領域に、田中さんが記録されていない場合、携帯端末2のフィードバック部55は、「田中さんが登録されていません。宛先を指定してください」との入力不足フィードバックを行う(ステップS120)。そして、携帯端末2の検索部58は、アドレス帳の記憶領域から検索した各ユーザの田中さんの氏名及び電子メールアドレス等を、例えば五十音順に、タッチパネル27に一覧表示する(ステップS121)。
また、タッチパネル27にキーボードを表示させることで、ユーザに宛先となる電子メールアドレスを手動で入力させることで、氏名及び電子メールアドレスを取得することができる。なお、取得した氏名及び電子メールアドレスをアドレス帳に登録しても良い。
ユーザは、この一覧の中から所望の宛先を選択する。携帯端末2の通信制御部52は、ユーザにより選択された宛先の電子メールアドレスを作成する。この電子メールには、スキャン画像が添付されて送信される。これにより、ユーザが希望する宛先にスキャン画像が送信される。
すなわち、スキャン画像の送信先とする田中さん又は他のユーザが選択されると、携帯端末2のフィードバック部55は、例えば「スキャンして田中○○さん宛てに送信します。よろしいでしょうか」との確認フィードバックを行う(ステップS122)。
この確認フィードバックに対して、ユーザが「はい」と応答すると(ステップS123)、テキスト化されてAIアシスタントサーバ装置4に送信される(ステップS124〜ステップS126)。AIアシスタントサーバ装置4は、アクションを「Scan_Execute」とし、「解像度=600、宛先=田中」とした解釈結果を携帯端末2に送信する(ステップS127〜ステップS128)。
携帯端末2の解釈結果変換部53は、解釈結果をジョブ命令に変換する(ステップS129)。携帯端末2の通信制御部52は、宛先となる氏名及び電子メールアドレスなどの宛先情報と共に、ジョブ命令をMFP1に送信する(ステップS130)。これにより、ユーザが希望する宛先にスキャン画像が添付された電子メールが送信される。
(携帯端末のメモリから印刷対象を検索して印刷する動作)
次に、携帯端末2のRAM22等のメモリから検索したファイルを印刷する動作を説明する。図21のシーケンス図が前半の動作の流れを、図22のシーケンス図が後半の動作の流れを示している。
まず、図21のシーケンス図において、携帯端末2の携帯音声処理プログラムを起動すると(ステップS141)、フィードバック部55が、例えば「コピーしますか?スキャンしますか?プリントしますか?」等のジョブの指示を促す音声フィードバックを行う(ステップS142)。ユーザが「プリント」と発話すると(ステップS143)、テキスト化されてAIアシスタントサーバ装置4に送信される(ステップS144〜ステップS146)。「プリント」との指示だけでは、必須パラメータが不足しているため、解釈部72は、アクションを「Print_Parameter_Setting」、レスポンスを「設定値を入力してください」とした解釈結果を携帯端末2に送信する(ステップS147〜ステップS148)。これにより、携帯端末2のフィードバック部55は、「設定値を入力してください」との入力不足フィードバックを行う(ステップS149)。
次に、このような入力不足フィードバックに対して、ユーザが「ファイルAをプリント」と発話すると(ステップS150)、テキスト化されてAIアシスタントサーバ装置4に送信される(ステップS151〜ステップS153)。AIアシスタントサーバ装置4の解釈部72は、アクションを「Print_Confirm」、パラメータを「印刷対象=ファイルA」とした解釈結果を携帯端末2に送信する(ステップS154〜ステップS155)。携帯端末2の検索部58は、解釈結果に含まれるパラメータに基づいてRAM22等のメモリからファイルAを検索する(ステップS156)。
なお、検索する対象はRAM22に限らず携帯端末装置とネットワークを介して接続されたサーバであっても良いし、MFP1に対して該当する電子メールアドレスが存在するか否かを問い合わせても良い。
メモリに、一つだけファイルAが記録されている場合、図22のステップS157において、携帯端末2の通信制御部52は、このファイルAを印刷データとして設定する。このファイルAの印刷データは、MFP1に送信され印刷される。
メモリに2つ以上のファイルAが存在する場合、携帯端末2のフィードバック部55は、「複数のファイルAが登録されています。印刷するファイルを選択してください」との入力不足フィードバックを行う(ステップS158)。そして、携帯端末2の検索部58は、メモリから検索した、ファイル名に「ファイルA」を含むファイル一覧をタッチパネル27に一覧表示する(ステップS159)。ユーザは、この一覧の中から所望のファイルAを選択する。携帯端末2の通信制御部52は、後述するように、ユーザにより選択されたファイルAをMFP1に送信し印刷要求を行う。
メモリにファイルAが記録されていない場合、携帯端末2のフィードバック部55は、「メモリ内にファイルAが登録されていません。印刷するファイルを指定してください」との入力不足フィードバックを行う(ステップS160)。そして、携帯端末2の検索部58は、メモリから検索した各ファイルを、タッチパネル27に一覧表示する(ステップS161)。ユーザは、この一覧の中から所望のファイルを選択する。携帯端末2の通信制御部52は、ユーザにより選択されたファイルをMFP1に送信し印刷要求を行う。
すなわち、印刷を希望するファイルA又は他のファイルが選択されると、携帯端末2のフィードバック部55は、例えば「ファイルAの印刷を開始します。よろしいでしょうか」との確認フィードバックを行う(ステップS162)。
この確認フィードバックに対して、ユーザが「はい」と応答すると(ステップS163)、テキスト化されてAIアシスタントサーバ装置4に送信される(ステップS164〜ステップS166)。AIアシスタントサーバ装置4は、アクションを「Print_Execute」とし、「印刷対象=ファイルA」とした解釈結果を携帯端末2に送信する(ステップS167〜ステップS168)。
携帯端末2の解釈結果変換部53は、解釈結果をジョブ命令に変換する(ステップS169)。携帯端末2の通信制御部52は、ジョブ命令を、ユーザより選択されたファイルと共にMFP1に送信する(ステップS170)。これにより、MFP1において、ユーザが希望するファイルが印刷される。
(第1の実施の形態の効果)
以上の説明から明らかなように、第1の実施の形態の音声操作システムは、携帯端末2に、プラットフォームアプリケーションプログラムとなる操作音声処理プログラムをインストールし、このアプリがMFP1、音声認識サーバ装置3及びAIアシスタントサーバ装置4の間の通信を中継する。ユーザが携帯端末2に設けられているマイクロホン部29に向かって発話すると、ユーザの発話内容を分析し、ユーザから指示された動作を行うようにMFP1を操作する(音声入力操作)。
これにより、複雑な操作を音声で命令することで、タッチパネル27等のGUI(Graphical User Interface)による操作を不要とすることができるため、操作に慣れているユーザであっても、さらに迅速かつ簡単な入力操作を可能とすることができる。また、高齢者又は操作に不慣れなユーザであっても、対話による操作サポートにより、例えば複雑なネットワーク設定、高度なジョブの設定又は新規アプリの導入等の、ユーザが希望する操作を迅速かつ簡単に実行可能とすることができる。
また、ユーザが発話した内容のテキストに基づいて、ユーザの意図を解析しているため、ユーザの発話に基づいた処理内容をAIアシスタントサーバ装置4側が判断できる。
(第2の実施の形態)
次に、第2の実施の形態の音声操作システムの説明をする。
(システム構成)
図23は、第2の実施の形態の音声操作システムのシステム構成図である。この図23に示すように、第2の実施の形態の音声操作システムは、1以上の複合機(MFP)1、1以上のスマートスピーカ100(又は、スマートホン、タブレット端末等でもよい)、1以上の音声認識サーバ装置3、及び、1以上のAIアシスタントサーバ装置4を有している。MFP1、スマートスピーカ100、音声認識サーバ装置3、及び、AIアシスタントサーバ装置4は、例えばLAN等のネットワーク5を介して相互に接続されている。これにより、音声認識サーバ装置3及びAIアシスタントサーバ装置4でクラウドサービスの提供が可能となっている。
なお、外部装置としては、MFP1の他、例えば電子黒板又はプロジェクタ装置等の他の電子機器を設けてもよい。
AIアシスタントサーバ装置4は、管理データベース(管理DB)101及び紐づけ用データベース102を有している。管理DB101には、テキストデータ、画像データ、音声データ等、AIアシスタントサーバ装置4がクラウドサービスとして提供するコンテンツ(データ)を記憶するデータベースである。また、紐づけ用DB102には、例えば各スマートスピーカ100を特定する各デバイスIDと、各スマートスピーカ100に関連付けられたMFP1の機器IDとが関連付けられて記憶されている。すなわち、紐づけ用DBには、各スマートスピーカ100で音声操作可能なMFP1が特定できるように、各スマートスピーカ100のデバイスIDとMFP1の機器IDとが関連付けられて記憶されている
なお、管理DB101及び紐づけ用DB102としては、クラウドサービスがネットワーク5上に有するHDD等の記憶部を用いることができる。この他、管理DB101及び紐づけ用DB102のうち、一方又は両方を、ネットワーク5を介してクラウドサービスでアクセス可能な別のサーバ装置に記憶してもよい。
スマートスピーカ100は、MFP1を音声操作するための、ユーザからの音声入力を受け付ける。なお、スマートスピーカ100は、受け付けた操作を、ユーザへ音声でフィードバック可能となっている。また、スマートスピーカ100は、クラウドサービスを提供する音声認識サーバ装置3及びAIアシスタントサーバ装置4の間での、例えば音声データ、テキストデータ、画像データ等のデータ通信を行う。音声認識サーバ装置3は、スマートスピーカ100から受信した音声データを分析し、テキストデータへ変換する。また、テキストデータと事前登録されている辞書情報とに基づいてユーザの意図を解釈し、解釈結果をAIアシスタントサーバ装置4に送信する。
AIアシスタントサーバ装置4は、音声認識サーバ装置3から受信した解釈結果を、MFP1で解釈可能な形式であるジョブ実行命令に変換してMFP1に送信する。MFP1は、このようなクラウドサービスから送信されるジョブ実行命令を実行する。
(MFPのハードウェア構成)
MFP1は、例えばプリンタ機能及びスキャナ機能等の複数の画像処理機能を備えている。すなわち、MFP1は、図2を用いて説明したように、コントローラ7、通信部15、操作部16、スキャナエンジン17及びプリンタエンジン18を有している。
コントローラ7は、CPU10、ASIC11、メモリ12、HDD(Hard Disk Drive)13及びタイマ14を有する。CPU10〜タイマ14は、それぞれバスラインを介して通信可能なように相互に接続されている。
通信部15は、ネットワーク5に接続されており、後述するように、例えばスキャン指示又は印刷指示等の、携帯端末2を用いて音声入力されたジョブ実行命令を取得する。
操作部16は、液晶表示部(LCD)とタッチセンサとが一体的に形成された、いわゆるタッチパネルとなっている。操作者は、操作部16を用いて所望の動作の実行命令を行う場合、操作部16に表示された操作ボタン(ソフトウェアキー)を接触操作することで、所望の動作を指定する。
スキャナエンジン17は、スキャナユニットを制御して、光学的に原稿の読み取りを行う。プリンタエンジン18は、画像書き込みユニットを制御して、例えば転写紙等に画像を印刷する。CPU10は、画像形成装置を統括的に制御する。ASIC11は、いわゆる大規模集積回路(LSI:Large-Scale Integration)となっており、スキャナエンジン17及びプリンタエンジン18で処理する画像に必要な各種の画像処理等を行う。携帯端末装置2から取得したジョブ実行命令を実行する手段であるスキャナエンジン17及びプリンタエンジン18は、機能部に相当する。
メモリ12は、CPU10が実行する各種アプリケーション及びアプリケーションを実行する際に用いられる種々のデータが記憶されている。HDD13は、画像データ、各種のプログラム、フォントデータ、及び、各種のファイル等を記憶する。なお、HDD13の代わり又はHDD13と共に、SSD(Solid State Drive)を設けてもよい。
(端末のハードウェア構成)
スマートスピーカ100は、図3に示した携帯端末2と同様に、CPU21、RAM22、ROM23、インタフェース部(I/F部)24及び通信部25を、バスライン26を介して相互に接続して形成されている。
ROM23には、操作音声処理プログラムが記憶されている。CPU21は、この操作音声処理プログラムを実行することで、マイクロホン部29から音声情報を取得してクラウドサービスへ送信する。また、CPU21は、クラウドサービスから取得したデータ(音声データ、テキストデータ、画像データ等)をタッチパネル27に表示制御し、又は、スピーカ部28を介して音声出力制御する。
I/F部24には、タッチパネル27、スピーカ部28及びマイクロホン部29が接続されている。マイクロホン部29は、通話音声の他、MFP1に対するジョブの実行命令となるユーザからの入力音声を集音(取得)する。入力音声は、通信部25を介してクラウドサービスに送信される。
(クラウドサービスのハードウェア構成)
クラウドサービスを構成する音声認識サーバ装置3及びAIアシスタントサーバ装置4は、図4に示すように、CPU31、RAM32、ROM33、HDD34、インタフェース部(I/F部)35及び通信部36を、バスライン37を介して相互に接続して形成されている。
I/F部35には、表示部38及び操作部39が接続されている。HDD34には、音声データをテキストデータに変換し、更にテキストデータを予め定義された辞書情報と一致するか否かを判断してマッチした場合にはテキストデータをユーザの意図を示すインテント及びジョブ条件などの変数を示すパラメータに変換するための操作音声変換プログラムが記憶されている。また、HDD34には、辞書情報を保持する音声アシスタントプログラム、インテントとパラメータに基づいてMFPが解釈可能な形式であるジョブ実行指示に変換した上で登録されたMFPへ送信する管理プログラムが記憶されている。
CPU31は、これらのプログラムを実行する。なお、操作音声変換プログラム、音声アシスタントプログラム及び管理プログラムは、1つのサーバ装置で実行されても良いし、それぞれ異なるサーバ装置で実行されても良い。さらに、複数のサーバ装置が連携することで、これらのプログラムを実行しても良い。
(各プログラムに基づく各機能)
図24は、スマートスピーカ100のCPU21が操作音声処理プログラムを実行することで実現される各機能を示す図である。また、図24は、音声認識サーバ装置3のCPU31が操作音声変換プログラム及び音声アシスタントプログラムを実行することで実現される各機能を示す図である。さらに、図24は、AIアシスタントサーバ装置4のCPU31が、管理プログラムを実行することで実現される各機能を示す図である。
(操作音声処理プログラムの機能)
スマートスピーカ100のCPU21は、ROM23等の記憶部に記憶されている操作音声処理プログラムを実行することで、取得部151、通信制御部152及びフィードバック部153として機能する。
取得部51は、マイクロホン部29を介して集音された、MFP1を音声操作するためのユーザの指示音声を取得する。なお、取得部151は、タッチパネル又は物理スイッチなどを介してユーザの操作及び指示を取得しても良い。通信制御部152は、スマートスピーカ100とクラウドサービスとの間の通信を制御する。通信制御部152は、取得部151が取得した情報をクラウドサービスへ送信すると共に、クラウドサービスからテキストデータ、画像データ、音声データを取得する。また、通信制御部152は、取得部151で取得された情報を、クラウドサービスへ送信する場合、スマートスピーカ100を特定するデバイスIDを送信する。
フィードバック部153は、対話型の音声入力操作を実現すべく、例えば不足するデータを補うための入力操作を促す音声をフィードバックし、又は、入力操作の確認となる音声をフィードバックする。なお、フィードバック部153は、タッチパネル27のディスプレイ表示により、フィードバックとなるテキスト又は画像をユーザに提供してもよい。
なお、この例では、取得部151〜フィードバック部153は、ソフトウェアで実現されることとしたが、これらのうち、一部又は全部を、IC(Integrated Circuit)等のハードウェアで実現してもよい。また、取得部151〜フィードバック部153は、操作音声処理プログラム単体で実現しても良いし、他のプログラムに処理の一部を実行させ、又は他のプログラムを用いて間接的に処理を実行させても良い。
(操作音声処理プログラムの機能)
次に、音声認識サーバ装置3のCPU31は、HDD34に記憶されている操作音声変換プログラムを実行することで、取得部155、テキスト変換部156、解析部157及び出力部158として機能する。取得部155は、スマートスピーカ100から送信される、ユーザにより入力された音声データを取得する。また、取得部155は、スマートスピーカ100のタッチパネル、ボタン又はスイッチ等のユーザ操作を取得しても良い。
テキスト変換部156は、ユーザにより入力された音声データをテキストデータに変換する。解釈部157は、テキストデータに基づいて、ユーザからの指示を解釈する。具体的には、解釈部157は、音声アシスタントプログラムから提供された辞書情報に基づいて、テキストデータに含まれる単語などが辞書情報にマッチしているか否かを確認する。そして、マッチしている場合には、ユーザの意図を示すインテントとジョブ条件などの変数を示すパラメータに変換する。解釈部157は、インテント及びパラメータを管理プログラムに対して送信するが、このとき、音声データを取得するスマートスピーカ100を特定するための、スマートスピーカ100のデバイスIDも共に送信する。出力部158は、スマートスピーカ100に対するテキストデータ、音声データ、画像データなどのデータの送信等を行うように、通信部36を通信制御する。
なお、この例では、取得部155〜出力部158をソフトウェアで実現することとしたが、これらのうち、一部又は全部を、IC(Integrated Circuit)等のハードウェアで実現してもよい。また、取得部155〜出力部158の各機能は、操作音声変換プログラム単体で実現しても良いし、他のプログラムに処理の一部を実行させてもよいし、又は他のプログラムを用いて間接的に実行させても良い。例えば、操作音声変換プログラムの解釈部157の機能の一部又は全てを音声アシスタントプログラムに実行させても良い。この場合、例えばテキストデータに含まれる単語などが辞書情報にマッチしているか否かの確認、マッチしている場合にユーザの意図を示すインテントとジョブ条件などの変数を示すパラメータへの変換は、音声アシスタントアプリに実行させ、解釈部157はインテント及びパラメータを音声アシスタントプログラムから取得するものとしても良い。
(音声アシスタントプログラムの機能)
次に、音声認識サーバ装置3のCPU31は、HDD34に記憶されている音声アシスタントプログラムを実行することで、提供部159として機能する。提供部159は、HDD34に記憶されている、テキストデータ、インテント及びパラメータの関係を予め定義した辞書情報を管理し、操作音声変換プログラムに対して提供する。また、テキストデータに基づいて、ユーザからの操作指示を解釈しても良い。具体的には、操作音声変換プログラムからテキストデータを取得し、テキストデータに含まれる単語などが辞書情報にマッチしているか否かを確認して、マッチしている場合にはテキストデータをインテントとパラメータに変換する。その後、インテント及びパラメータを操作音声変換プログラムに対して提供する。
なお、この例では、提供部159をソフトウェアで実現することとしたが、これらのうち、一部又は全部を、IC(Integrated Circuit)等のハードウェアで実現してもよいこと等は、上述の他のプログラムと同様である。
(管理プログラムの機能)
AIアシスタントサーバ装置4のCPU31は、HDD34に記憶されている管理プログラムを実行することで、取得部160、解釈結果変換部161、実行指示部162、機器情報取得部163、実行判定部164、通知部165、管理部166及び検索部167として機能する。
取得部160は、音声認識サーバ装置3から送信されるインテント、パラメータ及びスマートスピーカ100のデバイスID等を取得する。解釈結果変換部161は、操作音声変換プログラムで変換されたインテント及びパラメータなどの解釈結果を、MFP1が解釈可能なジョブの実行命令に変換する。実行指示部162は、ジョブの実行命令をMFP1に送信して、ジョブの実行を指示する。
なお、実行指示部162は、紐づけ用DB102を参照し、スマートスピーカ100に関連付けられているMFP1に対してジョブ実行命令を送信する。つまり、実行指示部162は、インテント及びパラメータと共にユーザが使用したスマートスピーカ100を特定するデバイスIDを取得し、取得したデバイスIDに関連付けられているMFP1を紐づけ用DB102から検索し、検索したMFP1に対してジョブ実行命令を送信する。
機器情報取得部163は、MFP1から、MFP1の例えば処理可能な最大画素数等の処理能力を示す機器情報を取得する。なお、機器情報取得部163は、MFP1等の複数の外部装置から取得した機器情報を、各外部装置を特定するデバイスID等の特定情報と関連付けてHDD等の記憶部に記憶して管理する。
また、機器情報取得部163は、MFP1との通信接続が確立されているか否かを示す接続状態、MPF1の電源のON/OFF又はスリープモード等の電力状態、エラーの有無とエラーの種類、用紙及びトナー等の消耗品の残余状況、ユーザのログイン状態、ログインユーザに使用が許可された機能を示す権限情報、などを含む機器状態を取得する。
実行判定部57は、機器情報で示されるMFP1の処理能力と、ユーザから指定されたジョブ(即ち、操作音声変換プログラムで生成されたインテント及びパラメータ)とを比較することで、ユーザから指定されたジョブをMFP1で実行可能か否かを判定する。ユーザから指定されたジョブ実行が実行可能と判断した場合、MFPに対してジョブ実行命令を送信する。また、実行不可能と判断した場合、操作音声変換プログラムを介してスマートスピーカ100に対してエラーメッセージ等のレスポンス情報をフィードバックする。
通知部165は、ユーザのジョブ実行指示への応答としてテキストデータ、音声データ、画像データなどを操作音声変換プログラムへ通知する。また、ジョブの実行するためのジョブ条件を示すパラメータが不足している場合には、操作音声変換プログラムを介して端末対してフィードバックを行うことでユーザにパラメータの入力を促す。ここで、不足しているパラメータを確認するために必要な情報として、パラメータ情報を送信しても良いし、ユーザにパラメータの指定を促すために必要な情報としてテキストデータ、音声データ、画像データを送信しても良い。
管理部166は、MFP1、スマートスピーカ100又はネットワークを介してクラウドサービスに接続したクライアントデバイスに入力された情報及び指示に基づいて、スマートスピーカ100のデバイスIDとMFP1の機器IDとを関連付けて紐づけ用DB102に登録する。なお、紐づけ用DB102は、スマートスピーカ100のデバイスIDとMFPの機器IDとを関連付けた情報を、例えば管理テーブル等に保持している。
なお、この例では、取得部160〜検索部167をソフトウェアで実現することとしたが、これらのうち、一部又は全部を、IC(Integrated Circuit)等のハードウェアで実現してもよいこと等は、上述の他のプログラムと同様である。
また、上述の操作音声処理プログラム、操作音声変換プログラム、音声アシスタントプログラム及び管理プログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)などのコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。また、CD−R、DVD(Digital Versatile Disk)、ブルーレイディスク(登録商標)、半導体メモリなどのコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。また、インターネット等のネットワーク経由でインストールするかたちで提供してもよいし、機器内のROM等に予め組み込んで提供してもよい。
(音声入力操作の全体的な動作)
図25は、第2の実施の形態の音声操作システムにおける音声入力操作の全体的な動作を説明するための図である。この図25の例は、MFP1の両面コピー機能を、スマートスピーカ100を介して音声入力操作する例である。この場合、ユーザは、スマートスピーカ100の操作音声処理プログラムを起動し、例えば「両面でコピー」と発声する(ステップS181)。このユーザの音声は、スマートスピーカ100のマイクロホン部29で集音され、取得部151により取得される。なお、操作音声処理プログラムは、スマートスピーカ100の起動と同時に起動しても良いし、スマートスピーカ100に対して所定の操作又は所定の音声が行われた際に起動しても良い。
スマートスピーカ100の通信制御部152は、この「両面でコピー」との音声データをクラウドサービスの音声認識サーバ装置3に送信する(ステップS182)。このとき、通信制御部152は、スマートスピーカ100を特定するための、スマートスピーカ100のデバイスIDを音声認識サーバ装置3に送信する。音声認識サーバ装置3の操作音声変換プログラムによるテキスト変換部156は、「両面でコピー」との音声データをテキストデータに変換処理する(ステップS183)。
解釈部157は、音声アシスタントプログラムから取得した辞書情報に基づいて(ステップS184、ステップS185)、テキストデータに含まれる単語などが辞書情報にマッチしているか否かを確認する(ステップS186)。そして、マッチしている場合には、ユーザから指示された操作を示すインテントとジョブ条件などの変数を示すパラメータに変換し、音声データを取得するスマートスピーカ100を特定するためのデバイスIDと共にAIアシスタントサーバ装置4に送信する(ステップS187)。
具体的には、この例の場合、解釈部157は、MFP1に実行を要求する動作は「コピーである(インテント:Copy_Execcute)」と解釈し、「印刷面は両面である(印刷面=両面)」と解釈する(ステップS186)。このように、解釈部157は、テキストデータに基づいて、ユーザから指定されたジョブの種別(インテント)及び内容(パラメータ)を示す解釈結果を生成する。この解釈結果は、管理プログラムに送信される(ステップS187)。このとき、解釈部157は、解釈結果と対応させて音声データの送信元となるスマートスピーカ100を特定するデバイスIDをAIアシスタントサーバ装置4に送信しても良い。
AIアシスタントサーバ装置4の管理プログラムの解釈結果変換部161は、スマートスピーカ100から取得した解釈結果を、MFP1のジョブ命令に変換処理する(ステップS188)。この解釈結果、及び、解釈結果から変換処理されたジョブ命令の一例は、上述の表1を用いて説明したとおりである。なお、解釈結果変換部161は、解釈結果をジョブ命令に変換するために、表1に相当する情報をAIアシスタントサーバ装置4のHDD34等の記憶部に記憶し、参照できる構成としても良い。
上述の表1の例の場合、「COPY_EXECUTE」、「SCAN_EXECUTE」、「PRINT_EXECUTE」及び「FAX_EXECUTE」が、インテント(Intent)の一例である。また、「印刷面」及び「部数」等がパラメータ(Parameter)の一例である。なお、パラメータとしては、ジョブの設定値として指定可能な全てのパラメータが含まれる。
AIアシスタントサーバ装置4の解釈結果変換部161は、「COPY_EXECUTE」の解釈結果を、「コピージョブの実行」との、MFP1のジョブ命令に変換処理する。同様に、解釈結果変換部161は、「SCAN_EXECUTE」の解釈結果を、「スキャンジョブの実行」との、MFP1のジョブ命令に変換処理する。同様に、解釈結果変換部161は、「PRINT_EXECUTE」の解釈結果を、「印刷ジョブの実行」との、MFP1のジョブ命令に変換処理する。同様に、解釈結果変換部161は、「FAX_EXECUTE」の解釈結果を、「FAXジョブの実行」との、MFP1のジョブ命令に変換処理する。
なお、以上の説明は、MFP1で実行される基本的なジョブの例であるが、クラウドサービスで解釈可能なジョブは、このような基本的なジョブに限定されない。例えば、通信対象に対して機器情報を収集させてクラウドサービスへ送信させるジョブ、通信対象が有する記憶部に記憶された所定の情報を通信対象の表示部に表示させるジョブ等も指示可能である。
また、解釈結果変換部161は、解釈結果に「印刷面」のパラメータが含まれている場合、「印刷面の設定値の変更」を行うMFP1のジョブ命令を形成する。同様に、解釈結果変換部161は、解釈結果に「部数」のパラメータが含まれている場合、「部数の設定値の変更」を行うMFP1のジョブ命令を形成する。
すなわち、解釈結果変換部161は、解釈結果の「Intent」に含まれる情報で、ユーザの意図、例えばMFP1に実行させるジョブの種類を判断し、「Parameter」に含まれる値を、ジョブの設定値と判断して、解釈結果をジョブ命令に変換処理する。
AIアシスタントサーバ装置4の解釈結果変換部161は、このようにして形成されたジョブ命令を、通信部36を介してMFP1に送信する(ステップS189)。この例の場合、「コピージョブ実行(印刷面=両面)」のジョブ命令がMFP1に送信される。なお、通信制御部52は、管理部によって特定されたMFPに対してジョブ命令を送信する。つまり、音声データの送信元の端末を特定するバイスIDと紐づいたIDで特定されるMFPに対してジョブの実行を指示することができる。これにより、MFP1で両面印刷が実行される。
(クラウドサービス装置における解釈動作の詳細)
音声認識サーバ装置3のHDD34には、辞書情報が記憶されている。操作音声変換プログラムは、この辞書情報に基づいてインテント及びパラメータを生成する。より具体的には、操作音声変換プログラムは、音声データから変換したテキストデータに含まれる単語などが辞書情報とマッチするか否かを判断し、マッチする場合は辞書情報に定義されているインテント及びパラメータを含む解釈結果を生成する。
辞書情報は、インテント及びパラメータを生成することができればどのような形態であっても良い。一例として、この例の場合、辞書情報は、エンティティ(Entity)情報、インテント(Intent)情報及び関連付け情報を含んで構成されている。エンティティ情報は、ジョブのパラメータと自然言語を関連付ける情報である。1つのパラメータに複数の類義語が登録可能となっている。インテント情報は、ジョブの種類を示す情報である。関連付け情報は、ユーザの発話フレーズ(自然言語)とエンティティ情報、及び、ユーザの発話フレーズ(自然言語)とインテント情報を、それぞれ関連付ける情報である。関連付け情報により、パラメータの発話順序又はニュアンスが多少変わっても、正しい解釈が可能となっている。また、関連付け情報により、入力された内容に基づいてレスポンスのテキスト(解釈結果)を生成しても良い。
上述の図10は、エンティティ情報の一例を示している。この図10の例は、印刷色(Print Color)に対応するエンティティ情報である。この図10において、「Print Color」の文字は、エンティティ名を示している。また、図10において、左の列の「auto_color」、「monochrome」、「color」・・・等の文字は、パラメータ名を示している。また、図10において、右の列の「auto_color」、「monochrome,black and white」、「color,full color」・・・等の文字は、類義語を示している。
この図10からわかるように、エンティティ情報としては、パラメータ及び類義語が関連付けられて記憶されている。パラメータと共に、類義語を登録することで、例えばモノクロでのコピーを指示する場合に、「Please copy by black and white」と発話しても、「Please copy by monochrome」と発話しても、パラメータの設定を可能とすることができる。
図11(a)は、ユーザの発話フレーズの例、図11(b)は、インテント名、図11(c)は、エンティティ情報を示している。この図11(a)〜図11(c)に示すように、クラウドサービス4が備える表示部38に表示される画面上において、操作部39を操作することで、ユーザの発話をドラッグする。または、ネットワークを介してクラウドサービスにアクセスした装置の表示部に表示される画面上において、この装置の操作部を操作することで、ユーザの発話をドラッグする。
これにより、関連付け対象となるエンティティ情報を選択できるようになっている。また、選択したエンティティ情報でバリュー(VALUE)を設定すると、応答で入るパラメータが変更される。例えば、「Please copy by black and white」と発話した場合、バリューを「SprintColor」とすると、戻り値として「printColor=monochrome」が返る。これに対して、バリューを「SprintColor.original」とすると、戻り値として「printColor=black and white」が返る。ここで、バリューを「SprintColor.original」とすると、ユーザの発話内容をそのまま応答のパラメータとして返すことができる。
(対話型動作)
次に、実施の形態の音声操作システムでは、ユーザからの入力内容に基づいて、システムが応答する対話型システムを実現している。実施の形態の音声操作システムでは、対話に必要な定型文を応答する以外に、MFP1の操作特有の応答として、「入力不足フィードバック」及び「入力確認フィードバック」の、2種類の応答を行うことで、対話によるMFP操作を可能とする対話型MFP操作システムを実現している。
「入力不足フィードバック」は、ジョブを実行するために必要な情報が揃っていない場合に出力される応答である。ユーザの入力結果を聞き取れなかった場合、又は、必須パラメータが不足している場合に出力される。つまり、必須パラメータ以外のパラメータについては、指示されていない場合であっても入力不足フィードバックを行う必要はない。また、パラメータ以外にも、コピー機能又はスキャン機能等のうち、利用する機能を確認する処理を含んでも良い。
例えば、クラウドサービス装置が通信接続中の外部装置の種類に応じて、ユーザに確認する機能、及びパラメータを変更しても良い。この場合、機器情報取得部163が外部装置との通信が確立した後の所定のタイミングで外部装置の種類及び機能を示す情報を取得し、取得した情報に基づいてユーザに確認する機能及びパラメータを例えばフィードバック部153が決定してもよい。
例えば、外部装置の種類がMFP1である場合、コピー、プリント、スキャン、FAXなどのMPF1が有する機能をユーザに確認でき、更に、コピー、プリント、スキャン、FAXのうちMFP1が有している機能についてのみ、いずれの機能を使用するかをユーザに確認しても良い。また、ユーザから指定された設定条件に応じて必須パラメータを変更しても良い。つまり、ユーザが指定した印刷条件が変倍印刷の場合は印刷する用紙サイズを必須パラメータとして、両面印刷の場合は原稿が片面か両面かを示す設定を必須パラメータとして、週刊誌綴じ印刷の場合は仕上がりサイズ及び1ページに含めるページ数などの設定を必須パラメータとして設定する。
「入力確認フィードバック」は、ジョブを実行するために必要な情報が揃った場合に出力される応答である。つまり、入力確認フィードバックは、全ての必須パラメータについて指示された場合に行われる。また、入力確認フィードバックは、現在の設定値でジョブを実行するか、又は、設定値を変更するかの選択をユーザに促すために行う。なお、現在の設定値でジョブを実行するか否かを確認するために、ユーザにより指示された全てのパラメータ(必須パラメータか必須パラメータ以外のパラメータかに関わらず)を音声出力することで、ユーザに確認することができる。
(両面で2部のコピーを行うようにMFPを対話型操作する例)
図26〜図34は、このような対話型動作の流れを示すシーケンス図である。
(音声アシスタントプログラムの起動動作の流れ)
まず、図26のシーケンス図は、音声アシスタントプログラムの起動動作の流れを示している。この図26において、まず、ユーザは、スマートスピーカ100の操作音声処理プログラムを起動操作した後、例えば音声入力によって音声アシスタントプログラムの起動を指示する。一例ではあるが、ユーザが音声アシスタントプログラムを起動するための起動ワードを発話することで、音声認識サーバ装置3の音声アシスタントプログラムを起動させることができる(ステップS191)。
スマートスピーカ100の通信制御部152は、音声認識サーバ装置3に対して起動ワードの音声データを送信する(ステップS192)。音声認識サーバ装置3のテキスト変換部156は、起動ワードの音声データをテキストデータに変換する(ステップS193)。また、音声認識サーバ装置3の解釈部157は、音声アシスタントプログラムから提供される辞書情報(HDD34に記憶されている辞書情報)に基づいて(ステップS194、ステップS195)、起動ワードのテキストデータを、インテント及びパラメータに変換し(テキスト解釈)(ステップS196)、スマートスピーカ100のデバイスIDと共にAIアシスタントサーバ装置4に送信する(ステップS197)。
AIアシスタントサーバ装置4の実行判定部164は、インテント及びパラメータに基づいて、ジョブ実行に必要な条件が全て揃っているか否かを判断する(ステップS198〜ステップS202)。例えば、実行判定部164は、必須パラメータを満たしているか否かを判断し(ステップS202)、必須パラメータを満たしていない場合には、音声認識サーバ装置3の操作音声変換プログラムを介して、スマートスピーカ100にレスポンス情報を送信する(ステップS203、ステップS204)。
レスポンス情報には、例えばテキストデータ、音声データ、画像データ等が含まれる。ここでは、一例として、「コピーしますか?スキャンしますか?」のテキストデータをスマートスピーカ100に送信する。なお、ユーザに対してジョブの種類又はジョブの設定条件の入力を促すメッセージであれば内容はこれに限定されない。また、スマートスピーカ100でテキストデータを音声データに変換できない場合、音声データの情報形態で送信しても良い。更に、ユーザに対するフィードバックは、音声出力だけでなく、タッチパネル27にテキスト又は画像を表示することで行っても良い。これにより、スマートスピーカ100のフィードバック部153は、「コピーしますか?スキャンしますか?」との音声フィードバックを行う(ステップS205)。
なお、音声認識サーバ装置3の音声アシスタントプログラムの起動を指示する際に、ジョブの種類及び設定条件を指定していた場合、上述のステップは省略しても良い。また、AIアシスタントサーバ装置4の実行判定部164は、レスポンス情報の送信に先立ち、取得したスマートスピーカ100のデバイスIDに対応するMFP1を紐づけ用DB102から検索しても良い。
このとき、スマートスピーカ100のデバイスIDと紐づくMFP1が紐づけ用DB102に記憶されていない場合、実行判定部164は、スマートスピーカ100が通信対象と紐づけられていないことをユーザに通知する。例えば、実行判定部164は、「このデバイスは機器と紐づけられていません」とのレスポンスを含むレスポンス情報を形成する。ここで、実行判定部164は、デバイスと通信対象を紐づけする方法をレスポンスに含めても良い。なお、紐づけ用DB102からのMFP1の検索及びレスポンス情報の形成は、スマートスピーカ100のデバイスIDを取得した他の任意のタイミングで行っても良い。
また、実行判定部164は、レスポンス情報の送信に先立ち、通信対象の機器状態を確認しても良い。実行判定部164は、機器情報取得部163によって機器情報を取得することで、又は、機器情報取得部163が予め取得した機器情報を参照することで、通信対象と通信可能か否か、及び、通信対象が使用可能か否かを判断する。このとき、スマートスピーカ100のデバイスIDと紐づくMFP1との接続が確立していない場合、又はMFPが起動中などで使用できない場合、実行判定部164は、ユーザに対して通知を行う。
例えば、実行判定部164は、「機器がオフラインです」又は「機器が準備中です」とのレスポンスを含むレスポンス情報を形成する。ここで、実行判定部164は、対策方法をレスポンスに含めても良い。なお、機器状態の確認は、音声認識サーバ装置3の操作音声変換プログラムからインテント及びパラメータ、デバイスIDを取得した他の任意のタイミングで行っても良い。
また、実行判定部164は、レスポンス情報の送信に先立ち、通信対象にユーザから指定された機能を実行するアプリケーションの状態を確認しても良い。実行判定部164は、機器情報取得部163によって機器情報を取得することで又は機器情報取得部163が予め取得した機器情報を参照することで、アプリケーションがインストールされているか否か、アプリケーションが実行可能な状態であるか否かを判断する。
例えば、実行が指示されたコピー機能に関するアプリケーションがスマートスピーカ100のデバイスIDと紐づくMFP1にインストールされていない場合、又はコピー機能に関するアプリケーションが起動中などで使用できない場合、実行判定部164はユーザに対して通知を行う。例えば、実行判定部164は、「アプリケーションがインストールされていません」又は「アプリケーションは現在利用できません」とのレスポンスを含むレスポンス情報を形成する。ここで、実行判定部164は、対策方法をレスポンスに含めても良い。
なお、アプリケーションの状態の確認は、操作音声変換プログラムからインテント及びパラメータ、デバイスIDを取得した他の任意のタイミングで行っても良い。また、実行判定部164は、レスポンス情報の送信に先立ち、機器情報取得部によって機器情報を取得することで又は機器情報取得部が予め取得した機器情報を読み出することで機器情報を取得しても良い。取得した機器情報は、例えばユーザが指示したジョブ種類及びジョブ条件が通信対象で実行可能か否かを判断する際に利用される。
(音声アシスタントプログラムの起動動作の流れ)
次に、図27のシーケンス図は、コピー機能を指示した際の動作の流れを示す図である。上述のステップS205において、「コピーしますか?スキャンしますか?」との音声フィードバックに対して、ユーザが、「コピー」と発音した場合(ステップS211)、又は音声アシスタントプログラムの起動指示の際に「コピー」と発話していた場合、スマートスピーカ100の通信制御部152は、音声認識サーバ装置3に対して、「コピー」との音声データを送信する。(ステップS212)。音声認識サーバ装置3の操作音声変換プログラムのテキスト変換部156は、「コピー」との音声データをテキストデータに変換処理する(ステップS213)。
音声認識サーバ装置3の解釈部157は、図10及び図11を用いて説明したように、テキストデータで示されるユーザの発話フレーズを解釈し(ステップS214〜ステップS216)、解釈結果となるインテント及びパラメータを、スマートスピーカ100のデバイスIDと共に、AIアシスタントサーバ装置4に送信する。ここでは、「Copy_Execute」としたインテントを解釈結果として生成し、管理プログラムへ送信する(ステップS217)。
次に、この例の場合、ユーザは、「コピー」としか発音していないため、コピー部数及び片面又は両面等のコピー形態等の不明となる(入力不足)。このため、AIアシスタントサーバ装置4の管理プログラムの実行判定部164は、必須パラメータを満たしていないと判断する(ステップS218)。これにより、AIアシスタントサーバ装置4は、スマートスピーカ100に対して、不足しているパラメータの問い合わせを行う(ステップS219、ステップS220)。
具体的には、AIアシスタントサーバ装置4の実行判定部164は、例えば「設定値を入力してください」とのレスポンス情報(Response)を形成する。AIアシスタントサーバ装置4の管理プログラムの通知部165は、このレスポンス情報を、音声認識サーバ装置3の音声変換プログラムを介してスマートスピーカ100に送信する(ステップS220)。スマートスピーカ100のフィードバック部153は、スマートスピーカ100を介して「設定値を入力してください」との音声出力を行うと共に、タッチパネル27に対して「設定値を入力してください」とのテキスト表示を行う(ステップS221:入力不足フィードバック)。ただし、音声出力又はタッチパネルのテキスト表示の一方を省略しても良い。
また、AIアシスタントサーバ装置4の管理プログラムの通知部165は、操作音声変換プログラムに対してレスポンス情報を送信するとき、セッションが継続していることを示す状態情報を送信しても良い。状態情報は、セッションの状況を示す情報であり、例えば、MFP1等の外部装置に対するジョブ実行命令の送信がまだ行われておらず、ユーザによるジョブの設定処理が継続中である場合には、セッションが継続していることを示す状態情報が送信される。また、外部装置に対するジョブ実行命令の送信が完了した場合には、セッションが終了したことを示す状態情報が送信される。
ただし、状態情報はこれに限定されず、より詳細にセッションの状況を示す情報形態としてもよい。音声認識サーバ装置3の操作音声変換プログラムの解釈部157は、状態情報に応じて、セッションを継続するか終了するかを判断する。つまり、操作音声変換プログラムの解釈部157は、セッションが継続中である場合には、ユーザが複数回の発話に分けてジョブ設定条件を指定した場合であっても、一つのジョブに属するものであると判断し、セッションが終了した場合には、ユーザの発話に含まれるジョブ設定条件は新規のジョブに属するものであると判断することができる。これにより、音声認識サーバ装置3の操作音声変換プログラムは、ジョブの種類及びジョブ設定条件の指示が複数回の発話に跨るような場合であったとしても、同一のジョブに属するものか、別の新規なジョブに属するものかを判断することができる。
なお、音声認識サーバ装置3の操作音声変換プログラムは、スマートスピーカ100から信号を受信しない状況が所定時間以上継続した場合は、セッション終了と判断しても良い。音声認識サーバ装置3がセッションを管理する場合であっても、通信対象(MFP1)は、セッションに関わらずジョブ実行を行っても良い。この場合、通信対象のMFP1は、ジョブ実行命令を取得すると、現在、MFP1が保持しているジョブ条件に対して、取得したジョブ実行命令に含まれるジョブ条件を上書きして設定する。このとき、通信対象で保持するジョブ条件を全て削除又はデフォルト条件に戻して、ジョブ実行命令に含まれるジョブ条件を設定しても良い。
また、通信対象で保持するジョブ条件と矛盾するジョブ条件についてはジョブ実行命令に含まれるジョブ条件を優先して上書き設定し、矛盾しないジョブ条件は通信対象が予め保持していたジョブ条件を維持しても良い。なお、通信対象は、ジョブを実行した場合はジョブ実行命令に含まれるジョブ条件を削除して、通信対象に予め登録されたデフォルト状態にすることができる。
次に、入力不足フィードバックがあったため、ユーザは、例えば「両面で」とのコピー形態を指示する発話を行う(ステップS222)。スマートスピーカ100の通信制御部152は、音声認識サーバ装置3に対して、「両面で」との音声データを送信し、テキスト変換要求を行う(ステップS223)。音声認識サーバ装置3の操作音声変換プログラムのテキスト変換部156は、「両面で」との音声データをテキストデータに変換処理する(ステップS224)。
音声認識サーバ装置3の解釈部157は、テキストデータで示されるユーザの発話フレーズを解釈し(ステップS225〜ステップS227)、解釈結果となるインテント及びパラメータを、スマートスピーカ100のデバイスIDと共に、AIアシスタントサーバ装置4に送信する(ステップS228)。
この例においては、「印刷面=両面」としたパラメータを解釈結果として生成する。これによって解釈部157は、前回の発話に含まれるインテント及びパラメータと合わせて、「Copy_Execute」としたインテント、及び「印刷面=両面」としたパラメータを含む解釈結果をAIアシスタントサーバ装置4に送信する。
次に、この例の場合、ユーザは、「コピー」及び「両面で」としか発音していないため、コピー部数等が不明となる(再度の必須パラメータ不足)。なお、以上の説明は、音声認識サーバ装置3の操作音声変換プログラムが、前回の発話の解釈結果と今回の発話の解釈結果とを統合してインテント及びパラメータを生成する場合について説明したが、これに限定されない。即ち、AIアシスタントサーバ装置4の管理プログラムは、前回の発話の解釈結果を記憶しておき、管理プログラムによって前回の発話の解釈結果と今回の発話の解釈結果とを統合してインテント及びパラメータを生成しても良い。この場合、音声認識サーバ装置3の解釈部157は、今回の発話によって新たに取得した、「印刷面=両面」としたパラメータのみをAIアシスタントサーバ装置4の管理プログラムへ送信しても良い。
複数のパラメータのうち、いずれのパラメータが必須パラメータであるかは、AIアシスタントサーバ装置4のHDD24等の記憶部に予め記憶しておくことができる。この場合、AIアシスタントサーバ装置4の実行判定部164は、記憶部に記憶された必須パラメータの情報に基づいて、スマートスピーカ100から取得したパラメータにより、全ての必須パラメータの設定が完了しているか否かを判断し、必須パラメータの設定が完了していない場合は、必須パラメータの設定を行うように、スマートスピーカ100を介してユーザへ促すことができる。
このため、AIアシスタントサーバ装置4の管理プログラムの実行判定部164は、「何部印刷しますか?」とのレスポンス情報(Response)を形成する(ステップS229)。AIアシスタントサーバ装置4の通知部165は、このレスポンス情報を、音声認識サーバ装置3の操作音声変換プログラムを介してスマートスピーカ100に送信する(ステップS230、ステップS231)。スマートスピーカ100のフィードバック部153は、スピーカ部28を介して「何部印刷しますか?」との音声出力を行うと共に、タッチパネル27に対して「何部印刷しますか?」とのテキスト表示を行う(ステップS232:入力不足フィードバック)。
(部数設定動作)
次に、図28は、部数設定動作の流れを示すシーケンス図である。図27のシーケンス図のステップS232において、スマートスピーカ100を介して「何部印刷しますか?」との、再度、入力不足フィードバックがあったため、ユーザは、例えば「2部」と発話する(ステップS241)。スマートスピーカ100の通信制御部152は、音声認識サーバ装置3に対して、「2部」との音声データを送信し、テキスト変換要求を行う(ステップS242)。音声認識サーバ装置3の操作音声変換プログラムのテキスト変換部156は、「2部」との音声データをテキストデータに変換する(ステップS243)。
操作音声変換プログラムの解釈部72は、テキストデータで示されるユーザの発話フレーズを辞書情報に基づいて解釈する(ステップS244〜ステップS246)。この例では、解釈部72は、「部数=2部」としたパラメータを解釈結果として生成する。解釈部72は、以前の発話に含まれるインテント及びパラメータと合わせて、「Copy_Execute」としたインテント、及び「印刷面=両面、部数=2部」としたパラメータを含む解釈結果をAIアシスタントサーバ装置4へ送信する(ステップS247)。
AIアシスタントサーバ装置4の実行判定部164は、「印刷面=両面、部数=2部」としたパラメータを受信することで、ステップS248の必須パラメータ充足判断において、コピーのジョブに対する必須パラメータ不足が解消したものと判断する。このため、実行判定部164は、「両面で2部コピーします。よろしいですか?」とのレスポンス情報を形成する。このレスポンス情報は、通知部165及び音声認識サーバ装置3を介してスマートスピーカ100に送信される(ステップS249、ステップS250)。
スマートスピーカ100のフィードバック部55は、レスポンス情報に含まれるResponseに基づいて、必須パラメータ不足が解消し、コピーを開始する準備が整ったことを示す、例えば「両面で2部コピーします。よろしいですか?」との入力確認フィードバックの音声及びテキストを出力する(ステップS251)。
ここで、レスポンス情報に含まれるテキストデータ及び音声データを出力することに代えて、レスポンス情報に含まれる情報に基づいてスマートスピーカ100の記憶部に記憶されたテキストデータに基づいて生成したテキストデータを出力(音声出力又は表示)してもよい。この入力確認フィードバックに対して、ユーザは、設定値の変更の指示、又はコピーの開始指示を行う。
(設定値の変更動作)
設定値の変更指示を行う場合、ユーザは、スマートスピーカ100に対して変更する設定値の音声入力を行う(ステップS252)。例えば、印刷部数を2部から3部に変更する場合、ユーザは「3部」と音声入力を行う。また、印刷面を両面から片面に変更する場合、ユーザは、「片面」との音声入力を行う。この音声入力に基づいて、AIアシスタントサーバ装置4で必須パラメータの充足判断が行われ、レスポンス情報に基づいて、スマートスピーカ100から例えば「(変更された内容)でコピーします。よろしいですか?」との入力確認フィードバックが行われる(ステップS253〜ステップS262)。
このような設定値の変更動作(ステップS252〜ステップS262)は、ユーザが入力確認フィードバックされた設定値を許容する音声入力(テキスト入力、ボタン入力等でもよい)が行われるまで、繰り返し行われる。すなわち、このような設定値の変更動作は、ユーザが入力確認フィードバックされた設定値を許容する、「はい」との音声入力が行われるまで、繰り返し行われる。
(MFPに対するジョブの実行指示動作)
次に、図29は、MFP1に対するジョブの実行指示動作の流れを示すシーケンス図である。上述の入力確認フィードバックにより、ユーザが「はい」との応答の音声入力を行うと(ステップS271)、音声認識サーバ装置3の操作音声変換プログラムでテキスト化される(ステップS272)。音声認識サーバ装置3の操作音声変換プログラムの解釈部157は、テキストデータに基づいてコピー開始指示を認識すると、「Copy_Execute」としたインテントに、「印刷面=両面」及び「部数=2部」とのパラメータを付加した解釈結果を形成し、これを管理プログラムに送信する(ステップS274〜ステップS277)。
AIアシスタントサーバ装置4の管理プログラムの実行判定部164によって解釈結果が必須パラメータを満たしていると判断された場合(ステップS278)、解釈結果変換部161は、解釈結果をMFP1のジョブ命令に変換処理し(ステップS279)する。そして、実行指示部162が、変換処理した実行指示情報をMFP1に送信する(ステップS280)。これにより、MFP1のコピー、スキャン等の機能、1部、2部等の実行部数、及び、片面、両面等の実行形態等を音声入力により設定して、MFP1の動作を制御することができる。
MFP1に対してジョブの実行を指示すると、AIアシスタントサーバ装置4の実行指示部162は、MFP1に対してジョブの実行を指示した旨の情報、及び、現在のジョブの実行状態(MFP1の現在の状態)を含むレスポンス情報を形成する。AIアシスタントサーバ装置4の通知部165は、このレスポンス情報を、音声認識サーバ装置3を介してスマートスピーカ100に送信する(ステップS281、282)。スマートスピーカ100のフィードバック部153は、レスポンス情報からジョブの実行を指示した旨の情報を検出すると、例えば「(指示されたジョブを)スタートします」等の音声フィードバック及びテキストフィードバックを行う(ステップS283)。これにより、ユーザは、MFP1において、指示したジョブの実行が開始されたことを認識することができる。
なお、AIアシスタントサーバ装置4の管理プログラムの実行判定部164によって解釈結果が必須パラメータを満たしていると判断された場合(ステップS278)、スマートスピーカ100に対するフィードバック動作は省略しても良い。
(AIアシスタントサーバ装置からフィードバックされる情報の例)
次に、上述の説明では、スマートスピーカ100のフィードバック部153はレスポンス情報に含まれるテキストデータ及び音声データを出力することとして説明した。しかし、フィードバック部153は、スマートスピーカ100の記憶部に記憶されているテキストデータに基づいて、レスポンス情報に対応するテキストデータを形成し、フィードバック出力(音声出力及びテキスト出力)を行ってもよい。
具体的には、表2を用いて上述したように、例えばジョブの設定値の入力促すための「Copy_Parameter_Setting」、ジョブの設定値の確認を促すための「Copy_Confirm」等のインテントが、レスポンス情報に含められて、AIアシスタントサーバ装置4からスマートスピーカ100にフィードバックされる。
フィードバック部153は、レスポンス情報に含まれるインテント、パラメータ、レスポンスに応じて、ユーザに対するフィードバックを判断する。フィードバック部153は、フィードバックする内容を決定するために、表2に相当する情報をスマートスピーカ100の記憶部に記憶し、参照できる構成としても良い。
なお、表2では、コピーの場合を例に説明したが、プリント、スキャン、FAXも表2と同様にアクションとして、ジョブの設定値の入力促すための「Parameter_Setting」、ジョブの設定値の確認を促すための「Confirm」が用いられても良い。レスポンス情報には、インテント及びパラメータ又はレスポンスの少なくとも一方が含まれていれば良い。
また、例えば両面又は片面等の印刷面の設定値、又は、コピー部数等のパラメータが、レスポンス情報に含められて端末2にフィードバックされる。さらに、必須パラメータが不足している場合、不足するパラメータの入力を促すメッセージが、レスポンスとして信号に含められてスマートスピーカ100にフィードバックされる。
(MFPでエラーが発生した場合の動作)
次に、MFP1でジョブが実行され、又は、エラーが発生した場合の動作を説明する。MFP1がジョブを実行することで、何事もなくジョブが完了すれば、例えば「ジョブが完了しました。原稿の取り忘れに注意してください。」等の完了メッセージ(音声及びテキスト)が、スマートスピーカ100を介して出力される。
これに対して、例えば用紙不足のエラーが発生した場合、AIアシスタントサーバ装置4は、スマートスピーカ100に対して、例えば「用紙がありません。用紙を補充して継続するか、ジョブをキャンセルしてください」等のジョブの確認フィードバックを行う。この確認フィードバックに対して、ユーザがMFP1に用紙を補充し、「継続」との発話により応答した場合、音声認識サーバ装置3の実行指示部162により、MFP1に対してジョブの継続が指示され、MFP1でジョブが再開される。
これに対して、確認フィードバックにより、ユーザが「キャンセル」との発話することで、ジョブのキャンセルが指示された場合、AIアシスタントサーバ装置4の実行指示部162は、MFP1に対してジョブのキャンセルを指示し、MFP1において、エラー発生以降のジョブの実行がキャンセルされる。この場合、スマートスピーカ100を介して、例えば「ジョブをキャンセルしました」等の音声及びテキストを出力する確認フィードバックが行われる。
図30は、このようなジョブの実行動作及びエラー発生時の対話動作の流れを示すシーケンス図である。スマートスピーカ100は、MFP1から通知されたジョブ実行結果を(ステップS350)、AIアシスタントサーバ装置4を介して取得すると(ステップS351)、ユーザに対して正常にジョブが完了した旨のフィードバック(ステップS352)、又は、エラーが発生したことを示すフィードバックを行う(ステップS353)。
正常にジョブが完了した旨の実行結果を受信した場合、スマートスピーカ100のフィードバック部153は、例えば「ジョブが完了しました」等の音声メッセージを出力する(ステップS352)。これに対して、エラーが発生した旨の実行結果を受信した場合、スマートスピーカ100のフィードバック部153は、例えば「エラーが発生しました。ジョブを継続しますか、キャンセルしますか?」等の、ジョブの継続の是非を問う音声メッセージを出力する(ステップS353)。
具体的には、MFP1は、ジョブが完了すると、完了通知をAIアシスタントサーバ装置4の管理プログラムに対して送信する。また、MFP1は、エラーが発生した場合には、エラー内容等のエラーに関するエラー情報をAIアシスタントサーバ装置4へ送信する。また、AIアシスタントサーバ装置4の管理プログラムは、MFP1から取得した情報に対応して、例えば「ジョブが完了しました」又は「エラーが発生しました。ジョブを継続しますか、キャンセルしますか?」等の応答情報を含むレスポンス情報を形成し、音声認識サーバ装置3を介してスマートスピーカ100へ送信する。
図30のステップS354〜ステップS361は、ユーザが、継続を指定した場合の各部の動作の流れである。すなわち、「エラーが発生しました。ジョブを継続しますか、キャンセルしますか?」との問い合わせに対し、ユーザがエラーの発生要因を除去したうえで、「継続」と応答した場合(ステップS354)、上述のように「継続」の音声が、スマートスピーカ100の操作音声変換プログラムによりテキスト化され、解釈される(ステップS355、ステップS356)。
スマートスピーカ100操作音声変換プログラムは、インテントを「Copy_Job_Continue」とした解釈結果を生成して、AIアシスタントサーバ装置4の管理プログラムへ送信する(ステップS357)。AIアシスタントサーバ装置4の管理プログラムの通知部165は、「ジョブを継続します」としたレスポンス情報を生成し(ステップS358)、音声認識サーバ装置3を介してスマートスピーカ100に送信する(ステップS359)。さらに、AIアシスタントサーバ装置4の管理プログラムの実行指示部162は、MFP1に対してジョブの継続を指示する(ステップS361)。また、スマートスピーカ100のフィードバック部153は、「ジョブを継続します」との入力確認フィードバックを行う(ステップS360)。
これに対して、図30のステップS362〜ステップS368は、ユーザが、ジョブのキャンセルを指定した場合の各部の動作の流れである。すなわち、「エラーが発生しました。ジョブを継続しますか、キャンセルしますか?」との問い合わせに対し、ユーザが、「キャンセル」と応答すると(ステップS362)、この「キャンセル」の音声データが音声認識サーバ装置3に送信される(ステップS363)。音声認識サーバ装置3の操作音声変換プログラムの解釈部157は、この音声データをテキスト化して解釈する(ステップS364)。
解釈部157は、インテントを「Copy_Job_Cancel」とした解釈結果を生成して、AIアシスタントサーバ装置4の管理プログラムへ送信する(ステップS365)。AIアシスタントサーバ装置4の管理プログラムの実行判定部164は、「ジョブをキャンセルします」とのレスポンス情報を生成する。通知部165は、このレスポンス情報をスマートスピーカ100に送信する(ステップS366)。これにより、スマートスピーカ100のフィードバック部153は、「ジョブをキャンセルします」との入力確認フィードバックを行う(ステップS368)。また、AIアシスタントサーバ装置4の管理プログラムの実行指示部54は、MFP1に対してジョブのキャンセルを指示する(ステップS367)。
(MFPの機器能力に応じたパラメータの調整動作)
次に、MFP1の機器能力に対応したジョブの実行を、対話型操作により実現する例を、図31及び図32のシーケンス図を用いて説明する。図31は、ユーザから指示されたジョブに必要な機器能力を、MFP1が有しているか否かの判定を行うまでの動作の流れを示すシーケンス図である。図32は、MFP1の機器能力で、ジョブの実行が可能である場合、及び、ジョブの実行が困難である場合の動作の流れを示すシーケンス図である。
まず、図31のシーケンス図において、ユーザより「起動」が指示されると(ステップS371)、AIアシスタントサーバ装置4の管理プログラムの機器情報取得部163が、MFP1に対して、例えば処理可能な解像度の問い合わせを行う(Capabilityの取得:ステップS372)。この問い合わせに対して、MFP1は、例えば「200dpi〜600dpi」等のように、処理可能な解像度をAIアシスタントサーバ装置4に回答する(ステップS373)。AIアシスタントサーバ装置4は、MFP1の処理可能な解像度を示す情報をスマートスピーカ100に送信する。これにより、スマートスピーカ100において、MFP1の処理可能な解像度が認識される。
なお、AIアシスタントサーバ装置4の機器情報取得部163は、MFP1との通信回線が確立した後の所定のタイミングで、MFP1から処理能力の情報を取得しても良い。また、紐づけ用DB102の管理テーブルにスマートスピーカ100とMFP1とを関連付けて登録する際に、MFP1の処理能力の情報を取得して登録してもよい。また、AIアシスタントサーバ装置4の機器情報取得部163が、MFP1から定期的に処理能力の情報を取得してもよい。また、機器情報取得部163は、音声認識サーバ装置3がスマートスピーカ100から音声アシスタントプログラムの起動を受け付けたタイミング、又は、スマートスピーカ100からジョブの実行指示を受け付けたタイミングで、MFP1から処理能力の情報を取得しても良い。
取得した処理能力の情報は、AIアシスタントサーバ装置4のHDD44等の記憶部に記憶してもよいし、紐づけ用DB102の管理テーブルに、MFP1と紐づけて記憶してもよい。また、処理能力の情報の取得は、他のプログラムが実行し、機器情報取得部163は、他のプログラムが取得した情報を取得することで、間接的にMFP1が有する情報を取得しても良い。また、機器情報取得部163が、MFP1から取得する情報は、処理能力の情報に限定されず、例えばMFPにインストールされたアプリケーションの種類及びバージョン、印刷速度、処理可能なファイル形式、フィニッシャを含むオプション機器の接続状況など、MFP1で実行可能なジョブの種類又はジョブの設定条件に関する情報を取得してもよい。
次に、ユーザによりスマートスピーカ100の操作音声処理プログラムが起動操作された後、例えば音声入力で「起動」を指示すると、スマートスピーカ100の通信制御部152は、音声認識サーバ装置3に対して、この「起動」の音声データを送信する。これにより、「起動」の音声データがテキスト変換されて解釈され、解釈結果がAIアシスタントサーバ装置4に通知される。AIアシスタントサーバ装置4の実行判定部164は、必須パラメータを満たしているか否かを判断する。
この時点では、ジョブの種類も指定されておらず、必須パラメータを満たしていない状態であるため、AIアシスタントサーバ装置4は、スマートスピーカ100に対して、「コピーしますか?スキャンしますか?」等のジョブの種類の入力を促すレスポンス情報を送信する。これのより、スマートスピーカ100のフィードバック部153は、例えば「コピーしますか?スキャンしますか?」等のジョブの指示を促す音声フィードバックを行う(ステップS374)。
次に、ユーザが「スキャン」と発話すると(ステップS375)、音声認識サーバ装置3の操作音声変換プログラムによりテキスト化され解釈される(ステップS376、ステップS377)。また、音声認識サーバ装置3の解釈部377は、インテントを「Scan_Execute」とした解釈結果を生成し、AIアシスタントサーバ装置4の管理プログラムへ送信する(ステップS378)。
AIアシスタントサーバ装置4の実行判定部164は、受信した解釈結果に基づいて必須パラメータの充足判断を行うが(ステップS379)、スキャンの指示だけでは、必須パラメータが不足している。このため、実行判定部164は、「設定値を入力してください」とのレスポンス情報を形成し、これをスマートスピーカ100に送信する(ステップS380)。スマートスピーカ100のフィードバック部153は、このレスポンス情報に基づいて、「設定値を入力してください」との入力不足フィードバックを行う(ステップS381)。
次に、このような入力不足フィードバックに対して、ユーザが「1000dpiで田中さん宛て」と発話すると(ステップS382)、この音声データは、音声認識サーバ装置3によりテキスト化され解釈される(ステップS383、ステップS384)。解釈部157は、インテントを「Scan_Execute」、パラメータを「解像度=1000dpi、宛先=田中」とした解釈結果を形成し、AIアシスタントサーバ装置4の管理プログラムに送信する(ステップS385)。
AIアシスタントサーバ装置4の管理プログラムの実行判定部57は、解釈結果に含まれるパラメータ、及び、機器情報取得部161により予め取得されているMFP1の処理能力を示す情報を参照することで、通信対象にユーザから指定された設定でジョブの実行が可能か否かを判定する(ステップS386)。そして、実行判定部164は、判定結果に対応するレスポンス情報を形成し、通知部165がスマートスピーカ100に通知する(ステップS387)。これにより、スマートスピーカ100を介して、判定結果に対応したフィードバックが行われる(ステップS388)。
具体的には、図32のシーケンス図において、MFP1が、1000dpiの解像度の処理能力を有していれば、実行判定部164は、「1000dpiでスキャンし、田中さん宛てに送信します。よろしいですか?」とのレスポンス情報を形成する。そして、通知部165が、このレスポンス情報をスマートスピーカ100へ送信する。これにより、スマートスピーカ100フィードバック部153により、「1000dpiでスキャンし、田中さん宛てに送信します。よろしいですか?」との入力確認フィードバックが行われる(ステップS389)。
この入力確認フィードバックに対してユーザが「はい」と応答すると(ステップS391)、音声認識サーバ装置3の解釈部157は、この音声データをテキスト化して解釈し(ステップS392、ステップS393)する。そして、解釈部157は、インテントを「Scan_Execute」とし、パラメータを「解像度=1000、宛先=田中」とした解釈結果を、AIアシスタントサーバ装置4の管理プログラムに送信する(ステップS394)。
AIアシスタントサーバ装置4の管理プログラムの解釈結果変換部161は、解釈結果をジョブ命令に変換する(ステップS395)。そして、管理プログラムの実行指示部162が、「1000dpiでスキャンした画像を田中さん宛てに送信する」とのジョブ命令をMFP1に送信する(ステップS396)。これにより、指定したジョブがMFP1で実行される。AIアシスタントサーバ装置4の実行判定部164は、指示されたジョブの実行が開始されたことを示す「スタートします」とのレスポンス情報を形成し、通知部165が、このレスポンス情報をスマートスピーカ100に送信する(ステップS397)。スマートスピーカ100のフィードバック部153は、ユーザに対して、「スタートします」との入力確認フィードバックを行う。
これに対して、600dpiがMFP1の処理能力の限界である場合、ユーザから指定された1000dpiの画像処理は、MFP1では実行困難となる。AIアシスタントサーバ装置4の実行判定部164は、機器情報取得部161により予め取得されているMFP1の処理能力を示す情報に基づいて、MFP1ではユーザから指定された画像処理は困難であることを判定する。この場合、実行判定部164は、「1000dpiは指定できません。600dpiでスキャンし、田中さん宛てに送信します。よろしいですか?」とのレスポンス情報を形成する。通知部165は、このレスポンス情報を、スマートスピーカ100に送信する。これにより、スマートスピーカ100からユーザに対して、「1000dpiは指定できません。600dpiでスキャンし、田中さん宛てに送信します。よろしいですか?」との確認フィードバックが行われる。
さらに具体的に説明すると、AIアシスタントサーバ装置4の実行判定部164は、MFP1の処理能力の範囲内で、ユーザが指示した機能又は処理能力値に最も近い機能又は値を選択する。例えば、MFP1の処理可能な解像度が200−600dpiの範囲である場合、実行判定部164は、ユーザが指示した1000dpiに最も近い600dpiを選択する。そして、実行判定部57が選択した能力又は値を、スマートスピーカ100のフィードバック部153が、確認フィードバックとして出力する。
つまり、実行判定部164は、ユーザの指示の解釈結果に含まれるインテント及びパラメータで示されるジョブの実行が困難と判断した場合、MFP1の処理能力を示す情報に基づいて、MFP1が実行可能な設定条件を選択する。そして、選択した設定条件に基づいてレスポンス情報を生成する。
なお、AIアシスタントサーバ装置4の管理プログラムは、音声認識サーバ装置3の操作音声変換プログラムの解釈部157から解釈結果に加えて、音声入力元であるスマートスピーカ100を特定するデバイスID(音声入力元デバイスID)を取得している。このため、実行判定部164は、紐づけ用DB102を参照し、音声入力元デバイスIDに関連付けされているMFP1を特定し、特定したMFPの処理能力を参照することで、ジョブ実行の可否を判断してもよい。また、MFP1が備えていない機能の実行を、ユーザが指示した場合、実行判定部164は、ジョブを実行できないことを示すレスポンス情報をスマートスピーカ100に送信しても良い。なお、実行判定部164は、選択した設定条件に関する情報を、音声認識サーバ装置3の操作音声変換プログラムに送信しても良い。
このような確認フィードバックに対してユーザが「はい」と発話すると(ステップS391)、音声認識サーバ装置3のテキスト変換部156によりテキスト化され解釈される(ステップS392、ステップS393)。音声認識サーバ装置3の解釈部157は、テキストデータに基づいて、インテントを「Scan_Execute」とし、パラメータを「解像度=600、宛先=田中」とした解釈結果を形成し、AIアシスタントサーバ装置4の管理プログラムに送信する(ステップS394)。
AIアシスタントサーバ装置4の管理プログラムの解釈結果変換部161は、解釈結果をMFP1のジョブの実行指示に変換する(ステップS395)。AIアシスタントサーバ装置4の管理プログラムの実行指示部162は、ジョブの実行指示をMFP1に送信する(ステップS396〜ステップS398)。これにより、ユーザの指示がMFP1の処理能力以上の指示で実行困難な場合でも、自動的に指示の内容をMFP1の処理能力で実行可能な指示に変更して、ユーザの指示となるジョブを実行することができる。
ここで、MFP1では、MFP1内のHDD13などの記憶部に保存されたアドレス帳を参照することで、「田中」に該当する宛先情報を検索する。宛先情報とは、メールアドレスやFAX番号などの情報である。「田中」に該当する宛先情報がアドレス帳に存在する場合、その宛先に対してMFP1でスキャンした画像データを送信する。
なお、MFP1の操作部16に宛先情報を表示し、宛先に誤りがないかの確認をユーザに促し、ユーザがOKボタンを操作した場合に、宛先に対してスキャンした画像データを送信してもよい。また、「田中」に該当する宛先がアドレス帳に複数存在する場合は、該当する全ての宛先情報を、MFP1の操作部16に表示して、ユーザに選択させてもよい。
(印刷対象を検索して印刷する動作)
次に、図33及び図34のシーケンス図を用いて、ユーザにより指定されたファイルを印刷する動作を説明する。図33は、ユーザにより指定されたファイルを検索するまでの動作を示すシーケンス図である。また、図34は、ユーザにより指定されたファイルを印刷するまでの動作を示すシーケンス図である。
まず、図33において、ユーザは、スマートスピーカ100の操作音声処理プログラムが起動操作された後、例えば音声入力によって音声アシスタントプログラムの起動を指示する。これにより、スマートスピーカ100の通信制御部152は、音声認識サーバ装置3に対して、「起動」との音声データを送信する(ステップS441)。音声認識サーバ装置3のテキスト変換部156は、「起動」の音声データをテキストデータに変換し、インテント及びパラメータに変換してAIアシスタントサーバ装置4の管理プログラムへ送信する。
AIアシスタントサーバ装置4の管理プログラムの実行判定部164は、必須パラメータを満たしているか否かを判断する。この「起動」の音声が入力された時点では、例えばジョブの種類等の必須パラメータが満たされていないため、実行判定部164は、「コピーしますか?スキャンしますか?プリントしますか?」との、ジョブの指示を促すレスポンス情報を形成する。通知部165は、このレスポンス情報をスマートスピーカ100に送信する。これにより、スマートスピーカ100のフィードバック部153により、「コピーしますか?スキャンしますか?プリントしますか?プリントしますか?」とのジョブの指示を促す音声フィードバックが行われる(ステップS442)。
次に、ユーザが「プリント」と発話すると(ステップS443)、この音声が音声認識サーバ装置3の操作音声変換プログラムのテキスト変換部156によりテキスト化され、解釈部157により解釈される(ステップS444、ステップS445)。この場合、解釈部157は、インテントを「Print_Execute」とした解釈結果を形成し、AIアシスタントサーバ装置4の管理プログラムへ送信する(ステップS446)。
AIアシスタントサーバ装置4の管理プログラムの実行判定部は、受信した解釈結果に基づいて必須パラメータの充足判断を行う(ステップS447)。この場合、「プリント」との指示だけでは必須パラメータが不足しているため、実行判定部164は、「設定値を入力してください」としたレスポンス情報を形成し、通知部165を介してスマートスピーカ100に送信する(ステップS448)。スマートスピーカ100のフィードバック部153は、このレスポンス情報に基づいて、「設定値を入力してください」との入力不足フィードバックを行う(ステップS449)。
次に、このような入力不足フィードバックに対して、ユーザが「ファイルAをプリント」と発話すると(ステップS450)、この音声データが音声認識サーバ装置3に送信される(ステップS451)。音声認識サーバ装置3は、この音声データをテキスト化して解釈し(ステップS452)、インテントを「Print_Exetute」、パラメータを「印刷対象=ファイルA」とした解釈結果を形成し、AIアシスタントサーバ装置4に送信する(ステップS453)。
AIアシスタントサーバ装置4の管理プログラムの検索部167は、解釈結果に含まれるパラメータに基づいて、管理DB101からファイルAを検索する(ステップS454)。
なお、検索する対象は管理DB101に限らず、音声認識サーバ装置3又はAIアシスタントサーバ装置4のクラウドサービス装置とネットワークを介して接続されたデータベースであっても良い。また、検索部167は、パラメータに含まれる文字列を含むファイル名を検索するだけでなく、パラメータに含まれる文字列をファイルデータ中に含むファイルを検索しても良い。また、検索部167は、ファイルの作成日時及びファイル作成者等のファイルの属性に基づいて検索を行っても良い。
(一つだけファイルAが記録されている場合)
このような検索を行うことで、管理DB101に、一つだけファイルAが記録されている場合、図34のシーケンス図において、AIアシスタントサーバ装置4の検索部167は、ファイルAを印刷データとして設定する(ステップS455)。そして、AIアシスタントサーバ装置4の実行指示部162が、ファイルAの印刷データをMFP1に送信し(ステップS456)、印刷を指示する(ステップS457)。これにより、MFP1において、ファイルAの印刷データの印刷が実行される。
(2つ以上のファイルAが存在する場合)
これに対して、管理DB101から2つ以上のファイルAが検索された場合、即ち検索部167が検索した結果として複数のファイル検索された場合、AIアシスタントサーバ装置4の実行判定部164は、「複数のファイルAが登録されています 印刷するファイルを選択してください」のレスポンス情報を形成する。通知部165は、このレスポンス情報をスマートスピーカ100へ送信する(ステップS458)。このとき、それぞれのファイルを特定するための情報として、ファイルの作成日時、作成者、サムネイル画像等をレスポンス情報に含めても良い。
スマートスピーカ100のフィードバック部153は、レスポンス情報に基づいて、検索された各ファイルの一覧をタッチパネル27に表示する(ステップS459)。また、フィードバック部153は、「複数のファイルAが登録されています。印刷するファイルを選択してください」との入力不足フィードバックを行う(ステップS460)。
なお、ファイルの一覧を表示する際に、検索された各ファイルから所望のファイルの選択を容易化するために、ファイルの作成日時及び作成者を音声フィードバックしても良いし、タッチパネル27に表示しても良い。また、ファイル一覧としてサムネイル画像を表示してユーザに選択を促しても良い。
また、ファイルAを選択する場合、ファイルの作成日時又は作成者等のファイルに関する情報を発話することで、ファイルを選択しても良いし、タッチパネル27に表示されたファイル一覧から所望のファイルをタッチ操作で選択しても良い。
(ファイルAが記録されていない場合)
次に、管理DB101に、ユーザから指定されたファイルAが記録されていない場合(検索部167がファイルAを検索できない場合)、AIアシスタントサーバ装置4の実行判定部164は、「メモリ内にファイルAが登録されていません」とのレスポンス情報を生成する。また、実行判定部164は、管理DB101に記憶されているファイルの一覧情報を、管理DB101から取得し、レスポンス情報に含める。通知部165は、このようなレスポンス情報を、スマートスピーカ100に送信する(ステップS461)。
スマートスピーカ100のフィードバック部153は、このレスポンス情報に基づいて、「ファイルAが登録されていません 印刷するファイルを指定してください」とのフィードバックを行う(ステップS462)。また、これと共に、フィードバック部153は、レスポンス情報に付加されたファイルの一覧情報に基づいて、管理DB101に記憶されているファイルの一覧をタッチパネル27に表示する(ステップS463)。ユーザは、このファイルの一覧に基づいて、印刷を行うファイルを選択して、再度指定することとなる。
(選択されたファイルの印刷動作)
次に、管理DB101に1つだけファイルAが存在する場合において、ユーザからファイルAの印刷が指示された場合、実行判定部164は、「ファイルAの印刷を開始します。よろしいでしょうか」のレスポンス情報を生成して、スマートスピーカ100へ送信する(ステップS464)。スマートスピーカ100のフィードバック部153は、例えば「ファイルAの印刷を開始します。よろしいでしょうか」との確認フィードバックを行う(ステップS465)。
この確認フィードバックに対して、ユーザが「はい」と応答すると(ステップS466)、この応答音声データがスマートスピーカ100から音声認識サーバ装置3に送信される(ステップS467)。音声認識サーバ装置3のテキスト変換部156は、音声データをテキスト化し、解釈部157はテキスト化された音声データの解釈を行う(ステップS468)。解釈部157は、インテントを「Print_Execute」とし、パラメータを「印刷対象=ファイルA、ファイル特定情報X」とした解釈結果を形成し、AIアシスタントサーバ装置4の管理プログラムに送信する(ステップS469)。なお、ファイル特定情報Xとは、管理DB101に2つ以上のファイルAが存在した場合に、ユーザが選択したファイルAを特定するために付加される情報であり、例えばファイルの作成日時又は作成者等の情報である。
AIアシスタントサーバ装置4の管理プログラムの実行判定部164は、解釈結果に基づいて、必須パラメータの充足判断を行う(ステップS470)。この場合、必須パラメータは揃っているため、解釈結果変換部161は、解釈結果をMFP1のジョブ命令に変換する(ステップS471)。実行指示部162は、ユーザより選択されたファイルAをMFP1に送信し、印刷の実行指示を行う(ステップS472)。これにより、MFP1において、ユーザが希望するファイルAの印刷が実行される。MFP1に対して印刷の実行指示が行われると、AIアシスタントサーバ装置4の通知部は、印刷が開始されたことを示す「スタートします」とのレスポンス情報をスマートスピーカ100に送信する(ステップS473)。これにより、スマートスピーカ100のフィードバック部153により、「スタートします」とのフィードバックが行われ、ユーザに対して印刷が開始されたことが通知される(ステップS474)。
なお、上述の説明では、印刷対象をAIアシスタントサーバ装置4の検索部167が検索し、検索したファイルをMFP1へ送信する場合を例に説明した。しかし、例えばMFP1に対しては「印刷対象=ファイルA」としたジョブ命令を送信し、MFP1側でファイルAを、HDD13又は管理DB101等から検索して印刷を実行しても良い。また、検索したファイルが2つ以上存在する場合、MFP1の表示部上にファイル一覧を表示させ、ユーザに選択させてもよい。
(第2の実施の形態の効果)
以上の説明から明らかなように、第2の実施の形態の音声操作システムは、スマートスピーカ100に、プラットフォームアプリケーションプログラムとなる操作音声処理プログラムをインストールし、このアプリがクラウドサービス装置との通信を行う。ユーザがスマートスピーカ100に設けられているマイクロホン部29に向かって発話すると、クラウドサービス装置がユーザの発話内容を分析し、ユーザから指示された動作を行うようにMFP1を操作する(音声入力操作)。
これにより、複雑な操作を音声で命令することができ、タッチパネル27等のGUI(Graphical User Interface)による操作を不要とすることができる。このため、操作に慣れているユーザであっても、さらに迅速かつ簡単な入力操作を可能とすることができる。また、高齢者又は操作に不慣れなユーザであっても、対話による操作サポートにより、例えば複雑なネットワーク設定、高度なジョブの設定又は新規アプリの導入等の、ユーザが希望する操作を迅速かつ簡単に実行可能とすることができる。
また、ユーザが発話した内容のテキストに基づいて、ユーザの意図を解析しているため、ユーザの発話に基づいた処理内容をAIアシスタントサーバ装置4側で判断して処理することができる。
(第3の実施の形態)
次に、第3の実施の形態の音声操作システムの説明をする。この第3の実施の形態は、上述の紐づけ用DB102に対してスマートスピーカ100とMFP1とを関連付けて登録する動作の、より具体的な説明となっている。まず、図35は、第3の実施の形態の音声操作システムのシステム構成図である。この図35に示すように、第3の実施の形態の音声操作システムは、MFP1、音声認識サーバ装置3、AIアシスタントサーバ装置4、スマートスピーカ100、管理DB101、紐づけ用DB102、及び、音声操作API500を有している。
紐づけ用DB102は、本コード紐づけ用DB及び仮コード紐づけ用DBを有している。また、MFP1には、スマートスピーカ100との関連付けの際に動作する通信制御プログラム及び処理実行プログラムがインストールされている。
図36は、このような第3の実施の形態の音声操作システムの、より具体的なシステム構成図である。この図36は、一例として、第3の実施の形態の音声操作システムの一部を、アマゾンウェブサービス(登録商標)のクラウドサービスを用いて形成した例である。なお、この図36は、あくまでも一例であり、他のクラウドサービス等を用いて、第3の実施の形態の音声操作システムを構成してもよい。
この図36において、音声認識サーバ装置3の音声アシスタントプログラムは、MFP1及びスマートスピーカ100を提供しているメーカのスキルプログラムに相当する。また、音声認識サーバ装置3の操作音声変換プログラムは、サービスプログラムに相当する。また、AIアシスタントサーバ装置4は、アマゾンウェブサービス(登録商標)のクラウド上でアプリケーションを実行するプラットフォームである「ラムダ(Lambda)」で実現される。また、紐づけ用DB102は、アマゾンウェブサービス(登録商標)のクラウド上のデータベースである「ダイナモDB(Dynamo DB)」で実現される。
また、音声操作API500は、アマゾンウェブサービス(登録商標)のIoT(Internet of Things)で実現される。このアマゾンウェブサービス(登録商標)のIoTにより、インターネットに接続されたスマートスピーカ100及びMFP1と、アマゾンウェブサービス(登録商標)とのセキュアな双方向通信が可能となる。
また、このアマゾンウェブサービス(登録商標)は、アマゾンウェブサービス(登録商標)と、アマゾンウェブサービス(登録商標)で実行されているアプリケーションをリアルタイムでモニタリングするクラウドウォッチ(CloudWatch)501を有している。また、このアマゾンウェブサービス(登録商標)は、モバイルアプリケーション又はウェブアプリケーションにユーザのサインアップと認証機能を追加可能として管理するコグニート(Cognito)502を有している。
(スマートスピーカとMFPとの関連付け動作の概要)
次に、図36を用いてスマートスピーカとMFPとの関連付け動作の概要を説明する。まず、ユーザがスマートスピーカ100に向かって「セットアップして」と発話すると、この音声データが音声認識サーバ装置3に送信される。音声認識サーバ装置3のサービスプログラム(操作音声変換プログラム)は、音声データをテキスト化して解釈し、インテント、スロット、及びスマートスピーカ100のデバイスIDを、アマゾンウェブサービス(登録商標)のプラットフォームであるラムダ(Lambda:AIアシスタントサーバ装置4)に送信する。
ラムダは、スマートスピーカ100のデバイスIDに基づいて、ダイナモDB(紐づけ用DB102)に問い合わせを行う。スマートスピーカ100のデバイスIDが、ダイナモDB(紐づけ用DB102)に未登録の場合、ラムダは、MFP1に入力するための仮コード(乱数)を生成する。そして、ラムダは、生成した仮コード、ユーザのアカウント情報及びスマートスピーカ100のデバイスIDを関連付け、有効期限情報を付加してダイナモDB(紐づけ用DB102の仮コード紐づけ用DB)に記憶する。
次に、ラムダは、上述の管理プログラムの通知部165により、例えば「MFPの設定ツールに仮コードを入力してください」との音声フィードバック用のデータを生成し、音声認識サーバ装置3を介してスマートスピーカ100に送信する。これにより、スマートスピーカ100を介して、「MFPの設定ツールに仮コードを入力してください」との音声フィードバックが行われる。ユーザは、この音声フィードバックが行われると、MFP1に対して、ユーザのアカウント情報、及び、フィードバックされた仮コードを入力する。
MFP1は、ユーザから入力されたアカウント情報及び仮コードに、MFP1の機器IDを付して、アマゾンウェブサービス(登録商標)のIoT(音声操作API500)に送信し、MFP情報の登録要求を行う。アマゾンウェブサービス(登録商標)のIoTは、MFP情報の登録要求を受信すると、ダイナモDB(紐づけ用DB102の仮コード紐づけ用DB)に関連付けされて記憶されているユーザのアカウント情報、仮コード及びスマートスピーカ100のデバイスIDを取得する。
アマゾンウェブサービス(登録商標)のIoT(音声操作API500)は、MFP1から受信した「ユーザのアカウント情報及びユーザにより入力された仮コード」と、ダイナモDB(紐づけ用DB102の仮コード紐づけ用DB)から取得した「ユーザのアカウント情報及び仮コード」とを比較する。そして、両者が一致した場合に、ダイナモDB(紐づけ用DB102の本コード紐づけ用DB)に、ユーザのアカウント情報、ユーザが使用しているスマートスピーカ100のデバイスID及びスマートスピーカ100で操作するMFP1の機器IDを関連付けて記憶させる。これにより、ユーザが使用しているスマートスピーカ100と、スマートスピーカ100で音声操作するMFP1とを、1:1に関連付けて管理可能とすることができる。
次に、このような関連付け動作を、図35のシステム構成図、及び、図37〜図39のシーケンス図を用いて、さらに詳細に説明する。
(アカウントリンキング動作)
図37は、アカウントリンキング動作を説明するためのシーケンス図である。この図37に示すアカウントリンキングを行うことで、例えばMFP1等の通信対象機器のログインに必要なアカウントをクラウドサービス(音声認識サーバ装置3、AIアシスタントサーバ装置4)が提供するサービスと関連付けることができる。なお、この図37に示すアカウントリンキングは、アカウントリンキングを行わない場合には省略しても良い。
この図37のシーケンス図において、まず、ユーザは、パーソナルコンピュータ装置(ユーザPC510)又は携帯端末装置等にインストールされている操作音声処理プログラムを起動して、音声認識サーバ装置3の音声アシスタントプログラム(スキルプログラム)を有効化する操作を行う(ステップS501〜ステップS503)。これにより、音声認識サーバ装置3の音声アシスタントプログラムが有効化される。
次に、音声認識サーバ装置3のCPU31は、有効化された音声アシスタントプログラムに基づいて、音声操作API500からアカウントリンキング用ログイン画面を取得する(ステップS504、ステップS505)。音声操作API500は、図36に示したように、音声操作機能に関するサーバ側のAPI群である。操作音声変換プログラムに対するアカウントリンキング機能の提供、及び、スマートスピーカ100とMFP1を関連付けるためのAPIを提供している。
なお、MFP1等の通信対象機器のメーカ等が提供するサービスを利用するために、ユーザは予めアカウントを有しているものとする。このアカウントは、ユーザを特定するためのユーザ識別IDとパスワードとが関連付けされた情報であり、メーカ等のサービス提供元のサーバ装置で管理される。
次に、取得されたアカウントリンキング用ログイン画面は、音声操作API500から音声認識サーバ装置3の音声アシスタントプログラムを介して、ユーザPC510の表示部に表示される。ユーザは、ユーザPC510に表示されたアカウントリンキング用ログイン画面に、ユーザ識別ID及びパスワードを入力操作し(ステップS506)、音声変換プログラム登録ボタンを操作する(ステップS507)。これにより、ユーザPC510から音声認識サーバ装置3に対してユーザ識別ID及びパスワードが送信される(ステップS508)。
音声認識サーバ装置3は、音声アシスタントプログラムがアクセス可能なHDD34等の記憶部に、入力されたユーザ識別ID及びパスワードを記憶する。音声認識サーバ装置3及びAIアシスタントサーバ装置4であるクラウドサービス装置は、クラウドサービス装置で提供しているサービスのアカウントと、メーカ等が提供しているサービスのアカウントとを関連付けて管理することができる。このため、音声認識サーバ装置3でユーザ識別ID及びパスワードを記憶することで、音声認識サーバ装置3は、音声アシスタントプログラムを介して、メーカ等で提供されるサービスの利用が可能となる。
次に、音声認識サーバ装置3は、ユーザ識別ID及びパスワードを音声操作API500に送信する(ステップS509)。音声操作API500は、ユーザ識別IDに基づいてアカウントリンキングを行い、例えばユーザ識別IDをハッシュ化したアクセストークンを、結果画面と共に、音声認識サーバ装置3を介してユーザPC510に返信する(ステップS510、ステップS511)。
なお、このようなアカウントリンキングは実行しない場合に、セキュリティを確保するために、ユーザ識別IDを入力してアクセストークンを取得する構成としても良い。この場合、スキルを有効化すると、音声操作API500からユーザ識別IDを入力する画面がユーザPC510に送信されて表示される。入力されたユーザ識別IDは、音声操作API500に送信され、アクセストークンに変換され、ユーザPC510へ送信される。このとき、ユーザ識別IDは、メーカなどが提供するサービスのアカウントのIDではなく、任意の文字列である。
(スマートスピーカとMFPとの関連付け動作の前半の流れ)
次に、図38のシーケンス図を用いて、スマートスピーカ100とMFP1との関連付け動作の前半の流れを説明する。まず、ユーザはスマートスピーカ100に対してセットアップ要求を行う(ステップS601)。ユーザは、音声アシスタントプログラムに応じた呼び出し名を発話する。この発話による音声データは、スマートスピーカ100から音声認識サーバ装置3に送信される(ステップS602)。音声認識サーバ装置3のCPU31は、音声アシスタントプログラム(図36のスキルプログラム)で提供されている辞書情報を参照し、音声データを解釈する(ステップS603、ステップS604)。これにより、音声認識サーバ装置3のCPU31は、操作音声変換プログラムに基づいて、どの音声アシスタントプログラムに対する要求であるのかを判断することができる。
次に、音声認識サーバ装置3のCPU31は、操作音声変換プログラムを介して、音声操作API500に対してアクセストークンを送信することで、アクセストークンを更新する(ステップS605、ステップS606)。つまり、アクセストークンの期限が切れていた場合、音声操作API500は、受信したアクセストークンと同じ値のアクセストークンを生成して返信する。
次に、音声認識サーバ装置3のCPU31は、操作音声変換プログラムに基づいて、インテント(intent)、パラメータ(slot)、音声信号の入力元であるスマートスピーカ100のデバイスID及びユーザ情報を、AIアシスタントサーバ装置4の管理プログラムに送信する(ステップS607)。
なお、インテントはセットアップ要求であることを示す情報であり、セットアップ要求の場合、パラメータは含まれなくても良い。また、ユーザ情報は、スマートスピーカ100の使用者を特定するためのユーザID、及び上述のように取得したアクセストークンを含む。
また、アクセストークンが存在しない場合、AIアシスタントサーバ装置4のCPU31は、管理プログラムに基づいて、例えば「確認できません。アカウントリンキングの設定を確認してください」とのフィードバック音声を、音声認識サーバ装置3を介して、ユーザのスマートスピーカ100に送信する(ステップS608、ステップS609)。これにより、スマートスピーカ100から「確認できません。アカウントリンキングの設定を確認してください」との音声フィードバックが行われる(ステップS610)。
次に、AIアシスタントサーバ装置4のCPU31は、管理プログラムに基づいて、スマートスピーカ100のデバイスID又はユーザ情報に関連付けられている、例えばMFP1等の制御対象機器が、紐づけ用DB102の仮コード紐づけ用DBに登録済みであるか否かを確認する(ステップS611、ステップS612)。また、AIアシスタントサーバ装置4のCPU31は、仮コード紐づけ用DBから仮コードの一覧を取得する(ステップS613、ステップS614)。なお、仮コード紐づけ用DBは、管理プログラムがアクセス可能な記憶部、例えばクラウドサービス装置のHDDに記憶されている。AIアシスタントサーバ装置4のCPU31は、取得した仮コードの一覧中に、スマートスピーカ100のデバイスID又はユーザ情報に関連付けられた仮コードが含まれているか否かを判断する。
仮コードの一覧中に、スマートスピーカ100のデバイスID又はユーザ情報が含まれている場合は、改めて仮コードを生成する必要はないため、AIアシスタントサーバ装置4のCPU31は、例えば「仮コードは登録済みです 仮コードを入力してください」とのフィードバック音声を生成し、音声認識サーバ装置3を介して、ユーザのスマートスピーカ100に送信する(ステップS615、ステップS616)。これにより、スマートスピーカ100から「仮コードは登録済みです 仮コードを入力してください」との音声フィードバックが行われる(ステップS617)。
これに対して、仮コードの一覧中に、スマートスピーカ100のデバイスID又はユーザ情報が含まれていない場合は、仮コードを生成する必要がある。このため、AIアシスタントサーバ装置4のCPU31は、仮コード紐づけ用DBに問い合わせを行うことで、発行済みの仮コードが上限数に達しているか否かを判別する。
(発行済みの仮コードが上限数に達している場合)
発行済みの仮コードが上限数に達している場合、AIアシスタントサーバ装置4のCPU31は、例えば「仮コードを発行できません 30分以上おいてから再度申請してください」とのフィードバック音声を生成し、音声認識サーバ装置3を介して、ユーザのスマートスピーカ100に送信する(ステップS626、ステップS627)。これにより、スマートスピーカ100から「仮コードを発行できません 30分以上おいてから再度申請してください」との音声フィードバックが行われる(ステップS628)。
この実施の形態の場合、AIアシスタントサーバ装置4の管理プログラム(図36のラムダ(Lambda))が発行可能な仮コードの数には上限がある。ただし、仮コードは、発行から例えば30分等の所定時間経過後に削除される。このため、少なくとも30分後であれば、発行済み仮コードが削除されることで、新たに仮コードが発行可能になる。このため、音声フィードバックには、どのタイミングであれば仮コードの発行が可能になるのかを示す情報を含めている。なお、仮コードの発行のタイミングは、TTLの設定によって変わる。このため、管理プログラムは、TTLの設定に合わせてレスポンスメッセージを生成している。
(発行済みの仮コードが上限数に達している場合)
発行済みの仮コードが上限数に達していない場合、AIアシスタントサーバ装置4のCPU31は、仮コードを生成し(ステップS618)、生成した仮コードを、コード紐づけ用DB102の仮コード紐づけ用DBに登録する。具体的には、AIアシスタントサーバ装置4のCPU31は、管理プログラムに基づいて、ID種別、デバイスID、アクセストークン、仮コード、仮コード生成日時、仮コードを保持する期間を示す情報(TTL)を仮コード紐づけ用DBに送信する(ステップS619)。
ID種別は、送信したID情報の種類を示す情報であり、この場合はデバイスIDであることを示す情報である。ID種別としては、デバイスIDの他にも、ユーザID、ルームID(スマートスピーカ及び対象機器が設置された部屋や建物などの場所を特定する情報)があっても良い。なお、管理プログラムは、ID種別がユーザIDの場合はユーザIDを、ID種別がルームIDの場合はルームIDを、それぞれ仮コード紐づけ用DBに対して送信する。ユーザID及びルームIDは、例えば上述のセットアップ要求に含まれていても良いし、セットアップ要求に含まれているデバイスIDに関連付けされて登録されているユーザID又はルームIDを操作音声変換プログラムが特定しても良い。この場合、デバイスIDとユーザID、又はデバイスIDとルームIDに関連付けられたテーブルを、AIアシスタントサーバ装置4のHDD34等の記憶部に記憶しておく。
(スマートスピーカのデバイスIDに関連付けされているMFPが存在する場合)
次に、AIアシスタントサーバ装置4のCPU31は、紐づけ用DB102を参照することで、スマートスピーカ100のデバイスIDに、既に関連付けされているMFPが存在するか否かを判別する。既に関連付けされているMFPが存在する場合、AIアシスタントサーバ装置4のCPU31は、例えば「このデバイスは、既にMFPと関連付けされています 再設定する場合は、仮コードを入力してください」とのフィードバック音声を生成し、音声認識サーバ装置3を介して、ユーザのスマートスピーカ100に送信する(ステップS620、ステップS621)。これにより、スマートスピーカ100から「このデバイスは、既にMFPと関連付けされています 再設定する場合は、仮コードを入力してください」との音声フィードバックが行われる(ステップS622)。
(スマートスピーカのデバイスIDに関連付けされているMFPが存在しない場合)
これに対して、既に関連付けされているMFPが存在しない場合、AIアシスタントサーバ装置4のCPU31は、例えば「仮コードを入力してください」とのフィードバック音声を生成し、音声認識サーバ装置3を介して、ユーザのスマートスピーカ100に送信する(ステップS623、ステップS624)。これにより、スマートスピーカ100から「仮コードを入力してください」との音声フィードバックが行われる(ステップS625)、ユーザは、仮コードの入力を行うこととなる。
(スマートスピーカとMFPとの関連付け動作の後半の流れ)
次に、図39のシーケンス図を用いて、スマートスピーカ100とMFP1との関連付け動作の後半の流れを説明する。仮コードが発行されると、ユーザは、MFP1の操作部16を操作することで、スマートスピーカ100を介して取得した仮コードと、ステップS506で入力したユーザ識別ID(及びパスワード)を、紐づけ画面を介して入力する(ステップS701、ステップS702)。
これにより、MFP1にインストールされた処理実行プログラム(Voice Control Service)は、ユーザIDと仮コードを取得する。なお、MFP1に表示される画面には、MFP1とスマートスピーカ100との関連付け処理の実行を指示するための「紐づけボタン」を表示し、この紐づけボタンの操作に応じて関連付け処理を実行しても良い(ステップS703)。
次に、MFP1の通信制御プログラム(MultiDeviceHub)は、実行処理プログラムからユーザIDと仮コードを取得し(ステップS704)、音声操作API500に送信する(ステップS705)。なお、通信制御プログラムは、音声認識サーバ装置3及びAIアシスタントサーバ装置4等のクラウドサービス装置との通信を制御するプログラムである。
音声操作API500は、リージョン管理DBからリージョン一覧を取得する(ステップS706、ステップS707)。リージョン管理DBは、例えばAIアシスタントサーバ装置4等のクラウドサービス装置のHDD34等の記憶部に設けられている。リージョン情報とは、クラウドサービス装置を構成するサーバ装置が設置されている国及び地域等、サーバ装置の所在地を示す情報である。クラウドサービス装置は、複数のサーバ装置によって構成されており、例えば操作音声変換プログラムを実行する音声認識サーバ装置3と、管理プログラムを実行するAIアシスタントサーバ装置4は、それぞれ異なるサーバ装置であり、各サーバ装置がそれぞれ異なる地域に設置されている場合がある。また、操作音声変換プログラムや管理プログラムなど、同一のプログラムを実行するサーバ装置を地域毎に設置している場合がある。
なお、MFP1は、複数の地域に設置されたサーバ装置のうち、いずれのサーバ装置にアクセスするのかを予め設定しておく。この設定は、ユーザが任意の地域に設定することができる。この設定は、任意のタイミングで行うことができるが、例えば、ステップS501以前に、ユーザは操作部を操作することで設定可能である。このとき、ユーザは、MFP1における音声操作機能の有効/無効の設定と共に、リージョン情報の設定を行うことができる。MFP1は、リージョン情報に対応する音声操作API500に対してアクセスする。
次に、音声操作API500は、仮コード紐づけ用DBを検索することで(ステップS708)、ユーザから入力された仮コードと一致する仮コードに対応する情報が、仮コード紐づけ用DBに記憶されているか否かを確認する。記憶されている場合には、仮コード紐づけ用DBからアクセストークン、デバイスID、コード生成日時を取得する(ステップS709)。
ここで、クラウドサービス装置は複数の地域に設置されており、地域のクラウドサービス装置毎に仮コード紐づけ用DBを記憶している。このため、ステップS619で仮コードを登録したサーバ装置の設置地域とMFP1がアクセスしたサーバ装置の設置地域(つまり、ステップS705でMFP1からアクセスを受けた音声操作API500を実行するサーバ装置の設置地域)とは異なる場合がある。この場合、MFP1がアクセスしたサーバ装置に記憶された仮コード紐づけ用DBを検索したとしても、この仮コード紐づけ用DB内には、ステップS619で登録した仮コードは、記憶されていない。そこで、音声操作API500は、まず、MFP1がアクセスしたサーバ装置内に仮コードが存在するか否かを確認し、存在しない場合にはステップS706で取得したリージョン一覧に含まれる全てのリージョン、つまり複数地域のサーバ装置を対象として、仮コード紐づけ用DBの検索を行うことができる(ステップS710、ステップS711)。
(デバイスIDを取得でき、かつ、コードの生成日時から30分未満の場合)
次に、デバイスIDを取得でき、かつ、コードの生成日時から30分未満の場合、音声操作API500は、MFP1から取得したMFP1の機器ID(機番)を用いて紐づけ用DB102を検索する。つまり、音声操作API500は、MFP1の機器IDと関連付けされて紐づけ用DB102に登録されているスマートスピーカ100の有無を判断する(ステップS712、ステップS713)。
(機器IDと関連付けされているスマートスピーカが存在し、かつ、ID種別がデバイスIDの場合)
ステップS712及びステップS713の判断の結果、機器IDと関連付けされているスマートスピーカ100が存在し、かつ、ID種別がデバイスIDの場合、音声操作API500は、紐づけ用DB102に関連付けされて登録されているデバイスIDを削除する(ステップS714、ステップS715)。ID種別がデバイスIDの場合は、スマートスピーカ100とMFPは1対1で対応しているため、過去に関連付けが行われているスマートスピーカ100が存在する場合は、関連付け情報を削除する。これにより、新たにスマートスピーカ100とMFP1との関連付けが可能となる。
一方、ID種別がユーザID又はルームIDの場合は、ユーザID又はルームIDに対して複数の対象機器が紐づけて登録される場合が考えられる。このため、ID種別がユーザID又はルームIDの場合は、過去の関連付け情報を削除せずに、スマートスピーカと紐づくMFP1を追加するように過去の関連付け情報を更新する。なお、ステップS716で後述するように、紐づけ用DB102には、機器IDとスマートスピーカ100を示す情報を紐づけて記憶しているが、スマートスピーカ100を示す情報としては、デバイスID、ユーザID、ルームIDがあり得る。このため、スマートスピーカ100を示す情報がいずれの種類であるかを示すID種別と共にIDを記憶しても良い。なお、IDからID種別が特定できる場合にはID種別と共にIDを記憶しなくても良い。
次に、音声操作API500は、紐づけ用DB102に対してMFP1の機器IDとスマートスピーカ100を示す情報とを関連付けて記憶させる(ステップS716)。ここで、スマートスピーカ100を示す情報としては、デバイスID、ユーザID、ルームIDがあり得るため、音声操作API500は、スマートスピーカを示す情報の種類を示すID種別とともに紐づけ用DB102に記憶しても良い。また、紐づけ要求には、MFP1がアクセスしたサーバの所在地(つまり、音声操作API500を実行するサーバの所在地)を示すリージョン情報が含まれる。
これにより、複数の地域に設置されたサーバ装置の内、S601〜ステップS625までの処理時を実行したサーバ装置が有する紐づけ用DB102に対して、ステップS705でMFP1がアクセスしたサーバ装置のリージョン情報を登録することができる。
なお、音声操作API500は、音声操作API500を実行するサーバ装置に対応するリージョン情報を保持しているか、リージョン情報をサーバ装置内の記憶部から取得可能である。このため、音声操作API500は、自身のサーバ装置のリージョン情報を紐づけ用DB102に対して送信する。ただし、これに限定されず、ステップS705においてMFP1からリージョン情報を取得して、該リージョン情報を紐づけ用DB102に対して送信しても良い。
また、上述したようにID種別がユーザID又はルームIDである場合であって、既に紐づけ用DB102に関連付け情報が登録されている場合には、スマートスピーカ100と関連付けるMFP1を追加するように過去の関連付け情報を更新する。
次に、音声操作API500には、このような紐づけ処理が成功したか否かを示す紐づけ結果が紐づけ用DB102から送信される(ステップS717)。この紐づけ結果は、MFP1に送信される(ステップS718〜720)。
(デバイスIDは取得できたが、コード生成日時から30分以上経過している場合)
次に、デバイスIDは取得できたが、コード生成日時から30分以上経過している場合、タイムアウトを示す紐づけ結果が音声操作API500からMFP1に送信される(ステップS721、ステップS722)。そして、MFP1において、エラー表示が行われる(ステップS723)。
(全リージョンでデバイスIDが見つからなかった場合)
次に、全リージョンでデバイスIDが見つからなかった場合、エラーを示す紐づけ結果が音声操作API500からMFP1に送信される(ステップS724、ステップS725)。そして、MFP1において、エラー表示が行われる(ステップS726)。
(アクセストークンの検証結果がNGの場合)
次に、アクセストークンを検証した結果、アクセストークンに誤りがある場合(NG)を説明する。ここでは、ステップS709で仮コード紐づけ用DBから取得したアクセストークン(ステップS510で生成)と、ステップS702で取得したユーザ識別IDに基づいて、音声操作API500が生成したアクセストークンとを比較する。両者が一致しない場合には、アクセストークン(つまり、ステップS702で取得したユーザ識別ID)に誤りがあると判断する。音声操作API500は、ユーザ識別IDをハッシュ化することでアクセストークンを生成するため、同一のユーザ識別IDであれば同一のアクセストークンを生成する。このため、アクセストークンに誤りがある場合とは、ステップS506でスマートスピーカ100に対して入力したユーザ識別IDと、ステップS702でMFP1の操作部16に対して入力したユーザ識別IDとが一致しないことを意味している。この場合、MFP1の画面上にエラー表示が行われる(ステップS727〜ステップS729)。
(第3の実施の形態の効果)
以上の説明から明らかなように、第3の実施の形態の音声操作システムは、スマートスピーカ100とMFP1とを関連付けて紐づけ用DB102に記憶する。そして、ユーザの発話をスマートスピーカ100で集音した際に、紐づけ用DB102を参照し、スマートスピーカ100に関連付けされているとMFP1を検索してジョブを依頼する。これにより、スマートスピーカ100とMFP1とを1:1に関連付けした状態で管理することができる。
また、ユーザのアカウント情報を、仮コード及びスマートスピーカ100のデバイスIDに関連付けして仮コード紐づけ用DBに記憶する。そして、MFP1から取得したユーザのアカウント情報及び仮コードが、仮コード紐づけ用DBに記憶されていた場合に、ユーザのアカウント情報、スマートスピーカ100のデバイスID及びMFP1の機器IDを関連付けて本コード紐づけ用DBに記憶する。これにより、ユーザのアカウント情報に基づくユーザ認証が加わることとなり、音声操作システムのセキュリティ強化を図ることができる。
最後に、上述の各実施の形態は、一例として提示したものであり、本発明の範囲を限定することは意図していない。この新規な各実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことも可能である。
例えば、上述の第1の実施の形態の説明では、音声認識サーバ装置3でユーザの発話に対応するテキストデータを生成し、AIアシスタントサーバ装置4でテキストデータに基づいて、ユーザの意図している操作を解釈した。しかし、携帯端末2側に、このような音声認識機能及び解釈機能を設け、携帯端末2で、ユーザの発話から意図する操作を解釈してもよい。これにより、音声認識サーバ装置3及びAIアシスタントサーバ装置4を不要とすることができ、システム構成を簡素化できる。
このような各実施の形態及び各実施の形態の変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1 複合機(MFP)
2 携帯端末
3 音声認識サーバ装置
4 AIアシスタントサーバ装置
5 ネットワーク
51 取得部
52 通信制御部
53 解釈結果変換部
54 実行指示部
55 フィードバック部
56 処理能力取得部
57 実行判定部
58 検索部
61 取得部
62 テキスト変換部
63 通信制御部
71 取得部
72 解釈部
73 通信制御部
100 スマートスピーカ
101 管理DB
102 紐づけ用DB
500 音声API
特表2018−524645号公報

Claims (7)

  1. 音声入出力装置を介してセットアップ要求を取得した際に、仮コードを発行する仮コード発行部と、
    発行された前記仮コードと前記音声入出力装置を特定するための特定情報とを関連づけて記憶部に記憶する仮コード処理部と、
    発行された前記仮コードの音声出力を得るための音声フィードバック情報を、前記音声入出力装置に送信するフィードバック制御部と、
    前記音声出力された前記仮コードを、前記音声入出力装置で音声操作する操作対象機器に入力することで、前記操作対象機器から送信される前記仮コード及び前記操作対象機器を特定するための機器特定情報を取得し、前記操作対象機器から取得した前記仮コードが前記記憶部に記憶されていた際に、前記音声入出力装置の前記特定情報と、前記操作対象機器の前記機器特定情報とを関連付けて前記記憶部に記憶する関連付け処理部と
    を有する情報処理装置。
  2. 音声入出力装置を介して音声が取得された際に、前記記憶部を参照することで、前記音声入出力装置の前記特定情報に関連付けされている前記機器特定情報に対応する前記操作対象機器を検出する検出部と、
    検出された前記操作対象機器に対して、前記音声入出力装置を介して取得された音声に対応する処理の実行指示を行う実行指示部と、をさらに有すること
    を特徴とする請求項1に記載の情報処理装置。
  3. 前記仮コード処理部及び前記関連付け処理部は、ユーザのアカウント情報を、前記仮コード及び前記音声入出力装置の特定情報に関連付けして前記記憶部に記憶し、
    前記関連付け処理部は、前記操作対象機器から取得したユーザのアカウント情報及び前記仮コードが前記記憶部に記憶されていた際に、前記ユーザのアカウント情報、前記音声入出力装置の前記特定情報及び前記操作対象機器の前記機器特定情報を関連付けて前記記憶部に記憶すること
    と特徴とする請求項1又は請求項2に記載の情報処理装置。
  4. 前記フィードバック制御部は、前記音声入出力装置と前記操作対象機器との関連付けが行われていない場合、前記音声入出力装置に対して、セットアップを促す音声出力を得るための音声フィードバック情報を、前記音声入出力装置に送信すること
    を特徴とする請求項1から請求項3のうち、いずれか一項に記載の情報処理装置。
  5. 音声入力を行うための音声入出力装置と、
    前記音声入出力装置からの音声入力により操作される操作対象機器と、
    請求項1から請求項4のうち、いずれか一項に記載の情報処理装置と
    を有する情報処理システム。
  6. 仮コード発行部が、音声入出力装置を介してセットアップ要求を取得した際に、仮コードを発行する仮コード発行ステップと、
    仮コード処理部が、発行された前記仮コードと前記音声入出力装置を特定するための特定情報とを関連づけて記憶部に記憶する仮コード処理ステップと、
    フィードバック制御部が、発行された前記仮コードの音声出力を得るための音声フィードバック情報を、前記音声入出力装置に送信するフィードバック制御ステップと、
    関連付け処理部が、前記音声出力された前記仮コードを、前記音声入出力装置で音声操作する操作対象機器に入力することで、前記操作対象機器から送信される前記仮コード及び前記操作対象機器を特定するための機器特定情報を取得し、前記操作対象機器から取得した前記仮コードが前記記憶部に記憶されていた際に、前記音声入出力装置の前記特定情報と、前記操作対象機器の前記機器特定情報とを関連付けて前記記憶部に記憶する関連付け処理ステップと
    を有する情報処理方法。
  7. コンピュータを、
    音声入出力装置を介してセットアップ要求を取得した際に、仮コードを発行する仮コード発行部と、
    発行された前記仮コードと前記音声入出力装置を特定するための特定情報とを関連づけて記憶部に記憶する仮コード処理部と、
    発行された前記仮コードの音声出力を得るための音声フィードバック情報を、前記音声入出力装置に送信するフィードバック制御部と、
    前記音声出力された前記仮コードを、前記音声入出力装置で音声操作する操作対象機器に入力することで、前記操作対象機器から送信される前記仮コード及び前記操作対象機器を特定するための機器特定情報を取得し、前記操作対象機器から取得した前記仮コードが前記記憶部に記憶されていた際に、前記音声入出力装置の前記特定情報と、前記操作対象機器の前記機器特定情報とを関連付けて前記記憶部に記憶する関連付け処理部として機能させること
    を特徴とする情報処理プログラム。
JP2018226151A 2018-11-30 2018-11-30 情報処理装置、情報処理システム、情報処理方法及び情報処理プログラム Active JP7326731B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018226151A JP7326731B2 (ja) 2018-11-30 2018-11-30 情報処理装置、情報処理システム、情報処理方法及び情報処理プログラム
US16/676,589 US11159339B2 (en) 2018-11-30 2019-11-07 Information processing apparatus, method of processing information and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018226151A JP7326731B2 (ja) 2018-11-30 2018-11-30 情報処理装置、情報処理システム、情報処理方法及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2020087386A true JP2020087386A (ja) 2020-06-04
JP7326731B2 JP7326731B2 (ja) 2023-08-16

Family

ID=70849424

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018226151A Active JP7326731B2 (ja) 2018-11-30 2018-11-30 情報処理装置、情報処理システム、情報処理方法及び情報処理プログラム

Country Status (2)

Country Link
US (1) US11159339B2 (ja)
JP (1) JP7326731B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6657025B2 (ja) * 2016-06-17 2020-03-04 シャープ株式会社 操作者推定システム
JP7115931B2 (ja) * 2018-08-08 2022-08-09 シャープ株式会社 画像形成装置、情報処理システムおよび情報処理方法
JP7331355B2 (ja) * 2018-12-12 2023-08-23 コニカミノルタ株式会社 画像処理システム、クラウドサーバおよびプログラム
JP7472461B2 (ja) 2019-10-08 2024-04-23 株式会社リコー 情報処理システム及び情報処理方法
JP2021081875A (ja) 2019-11-15 2021-05-27 株式会社リコー 情報処理システム、情報処理方法、情報処理装置及び出力装置
JP2021086445A (ja) 2019-11-28 2021-06-03 株式会社リコー 情報処理システム、情報処理方法及び情報処理装置
US11438239B2 (en) * 2020-06-22 2022-09-06 New Relic, Inc. Tail-based span data sampling
CN113064561A (zh) 2021-03-26 2021-07-02 珠海奔图电子有限公司 语音打印控制方法、装置及系统
JP2023003642A (ja) * 2021-06-24 2023-01-17 キヤノン株式会社 制御システム、サーバシステム、制御方法、及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012080482A (ja) * 2010-10-06 2012-04-19 Panasonic Corp サーバ、端末、機器およびそれらの紐付け方法、紐付けプログラム
JP2015039136A (ja) * 2013-08-19 2015-02-26 キヤノン株式会社 通信装置、通信方法、及びプログラム
JP2018049586A (ja) * 2016-09-16 2018-03-29 株式会社東芝 通信装置、通信方法、機器およびコンピュータプログラム
JP2018182692A (ja) * 2017-04-21 2018-11-15 ソニー株式会社 情報処理装置、受信装置、及び情報処理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5375063A (en) * 1991-09-20 1994-12-20 Clemson University Apparatus and method for voice controlled apparel machine
US6253184B1 (en) * 1998-12-14 2001-06-26 Jon Ruppert Interactive voice controlled copier apparatus
JP6379513B2 (ja) 2013-03-15 2018-08-29 株式会社リコー 情報処理システム、情報処理システムの制御方法、情報処理装置、情報処理装置の制御方法及びプログラム
CN105871671B (zh) 2016-05-31 2020-03-03 北京小米移动软件有限公司 控制、获取智能家居设备上传数据的方法及装置
US11355106B2 (en) 2018-03-30 2022-06-07 Ricoh Company, Ltd. Information processing apparatus, method of processing information and storage medium comprising dot per inch resolution for scan or copy

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012080482A (ja) * 2010-10-06 2012-04-19 Panasonic Corp サーバ、端末、機器およびそれらの紐付け方法、紐付けプログラム
JP2015039136A (ja) * 2013-08-19 2015-02-26 キヤノン株式会社 通信装置、通信方法、及びプログラム
JP2018049586A (ja) * 2016-09-16 2018-03-29 株式会社東芝 通信装置、通信方法、機器およびコンピュータプログラム
JP2018182692A (ja) * 2017-04-21 2018-11-15 ソニー株式会社 情報処理装置、受信装置、及び情報処理方法

Also Published As

Publication number Publication date
JP7326731B2 (ja) 2023-08-16
US11159339B2 (en) 2021-10-26
US20200177407A1 (en) 2020-06-04

Similar Documents

Publication Publication Date Title
JP7326731B2 (ja) 情報処理装置、情報処理システム、情報処理方法及び情報処理プログラム
JP7230506B2 (ja) 情報処理システム、情報処理装置、情報処理方法及び情報処理プログラム
JP2023063318A (ja) 情報処理システム、情報処理装置、情報処理方法及び情報処理プログラム
JP7234612B2 (ja) 情報処理システム及び情報処理方法
US10893157B2 (en) Information processing system and information processing apparatus
US11302321B2 (en) Audio-based operation system, method of processing information using audio-based operation and storage medium
JP7173761B2 (ja) 印刷システム、制御方法、サーバシステム
JP2020086412A (ja) 情報処理システム、プログラムおよび情報処理方法
US10868929B2 (en) Information processing apparatus, information processing system, and information processing method
US11006007B2 (en) Control system, server system, and control method
JP2020087376A (ja) 情報処理装置、情報処理システム、および方法
EP3720108A1 (en) Server apparatus, voice operation system, voice operation method, and carrier means
JP7472461B2 (ja) 情報処理システム及び情報処理方法
US11825042B2 (en) Peripheral device management system, peripheral device management method, and printing apparatus control system
US11647130B2 (en) Information processing system capable of connecting a plurality of voice control devices, method of controlling information processing system, and storage medium
JP2020087382A (ja) 情報処理システム、プログラムおよび情報処理方法
JP2020088830A (ja) 情報処理システム、プログラムおよび情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210915

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230320

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230704

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230717

R151 Written notification of patent or utility model registration

Ref document number: 7326731

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151