JP2020194225A - 情報処理装置、情報処理方法、および、情報処理プログラム - Google Patents

情報処理装置、情報処理方法、および、情報処理プログラム Download PDF

Info

Publication number
JP2020194225A
JP2020194225A JP2019097906A JP2019097906A JP2020194225A JP 2020194225 A JP2020194225 A JP 2020194225A JP 2019097906 A JP2019097906 A JP 2019097906A JP 2019097906 A JP2019097906 A JP 2019097906A JP 2020194225 A JP2020194225 A JP 2020194225A
Authority
JP
Japan
Prior art keywords
api
processing
program
data
parameter
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
JP2019097906A
Other languages
English (en)
Other versions
JP7310303B2 (ja
Inventor
圭造 加藤
Keizo Kato
圭造 加藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019097906A priority Critical patent/JP7310303B2/ja
Publication of JP2020194225A publication Critical patent/JP2020194225A/ja
Application granted granted Critical
Publication of JP7310303B2 publication Critical patent/JP7310303B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】パラメータの設定処理を効率化する。【解決手段】情報処理装置は、取得部、決定部、および、処理部を備える。取得部は、データの処理のために組み合わせて使用されている複数のプログラムのうちで使用が停止される第1のプログラムの情報と、第1のプログラムで行われる処理を代替する第2のプログラムの情報を取得する。決定部は、第1のプログラムを用いて入力データを処理した場合に得られる処理結果と相対的に近いデータを入力データから算出するために第2のプログラムに設定する設定パラメータを決定する。処理部は、処理結果を処理している第3のプログラムに、設定パラメータを用いた第2のプログラムでの処理により得られた出力データを出力する。【選択図】図8

Description

本発明は、情報処理装置、情報処理方法、および、情報処理プログラムに関する。
画像処理や音声認識などの様々な処理を行うプログラムと、それらのプログラムでの処理を行うためのAPI(Application Programming Interface)が提供されている。このため、ユーザは、APIを用いることで、プラットフォームで提供されているプログラムによるデータの処理を行うことができる。なお、ユーザは、プラットフォーム上の複数のプログラムを組み合わせてデータを処理することもできる。プラットフォーム上のプログラムを呼び出してデータを処理する場合、ユーザは、適宜、処理に使用されるパラメータを調整し、調整したパラメータをAPIに設定しておくことができる。プラットフォーム上の複数のプログラムを組み合わせてデータを処理する場合、あるプログラムによる処理後のデータに対して、他のAPIで呼び出したプログラムによる処理が行われる。このため、各プログラムで用いられるパラメータは、そのプログラムの前にデータを処理するプログラムでの処理や種類に応じて変動し得る。従って、複数のプログラムを用いる場合、ユーザは、各プログラムでの処理によってデータが適切に処理されるように複数のプログラムでの入出力を考慮して、それぞれのプログラムを呼び出すAPIの各々にパラメータを設定する。
関連する技術として、入力された設定値の群に基づいて計算した設定値の群を適用して入力データを処理した結果を評価することにより、組み合わせて使用され得る処理フローを取捨選択する処理フロー生成装置が提案されている(例えば、特許文献1)。
特開2015−230702号公報
データを処理するために使用する複数のAPIの各々に適切なパラメータを設定した後で、一部のAPIを変更する場合があり得る。この場合、APIの変更により、APIが呼び出すプログラムでの処理等も変更されるので、変更されるAPI以外のAPIでもパラメータの再設定を行わないと、データが適切に処理されないおそれがある。そこで、ユーザはデータの処理に使用する複数のAPIのうちの一部を変更する際にも、全てのAPIでのパラメータを設定し直すことになる。しかし、一部のAPIを入れ替えたことにより、使用するすべてのAPIについてパラメータを再設定するのは、煩雑であり、効率が悪い。また、関連する技術として述べた技術を用いても、この問題は解決されない。
本発明は、1つの側面として、パラメータの設定処理を効率化することを目的とする。
ある1つの態様にかかる情報処理装置は、取得部、決定部、および、処理部を備える。取得部は、データの処理のために組み合わせて使用されている複数のプログラムのうちで使用が停止される第1のプログラムの情報と、前記第1のプログラムで行われる処理を代替する第2のプログラムの情報を取得する。決定部は、前記第1のプログラムを用いて入力データを処理した場合に得られる処理結果と相対的に近いデータを前記入力データから算出するために前記第2のプログラムに設定する設定パラメータを決定する。処理部は、前記処理結果を処理している第3のプログラムに、前記設定パラメータを用いた前記第2のプログラムでの処理により得られた出力データを出力する。
パラメータの設定処理が効率化される。
情報処理装置で行われる処理の例を説明する図である。 情報処理装置の構成の例を説明する図である。 情報処理装置のハードウェア構成の例を説明する図である。 第1の実施形態にかかる学習処理の例を説明する図である。 第1の実施形態にかかる学習処理の例を説明するフローチャートである。 第1の実施形態にかかるデータ処理の例を説明する図である。 第1の実施形態にかかるデータ処理の例を説明するフローチャートである。 情報処理装置で行われる処理の例を説明する図である。 第2の実施形態で使用されるパラメータの例を説明する図である。 第2の実施形態にかかる学習処理の例を説明するフローチャートである。 設定パラメータの計算の例を説明する図である。 第2の実施形態でのデータ処理の例を説明するフローチャートである。
図1は、情報処理装置で行われる処理の例を説明する図である。ケースC1に示すように、API(Application Programming Interface)40a、API40b、および、API40cの順に3つのAPI40を用いて処理対象データ2が処理されているとする。このため、API40aには、処理対象データ2を処理するための適切なパラメータが設定されている。API40bはAPI40aからの出力データを処理するので、API40aからの出力データの処理に適したパラメータがAPI40bに設定されている。さらに、API40cはAPI40bからの出力データを処理するので、API40bからの出力データの処理に適したパラメータがAPI40cに設定されている。API40cでの処理後のデータは、処理済みデータ12aとして得られている。例えば、ケースC1に示すシステムでAPI40aが音声認識API、API40bが対話API、API40cが音声合成APIであり、API40a〜40cを組み合わせたチャットボットが提供されているとする。
ケースC1でのシステムの設定後に、ケースC2に示すように、音声認識APIをAPI40aからAPI40xに変更することになったとする。この場合、処理対象データ2がAPI40xで処理され、その後、API40b、API40cで処理される。このため、API40bはAPI40xからの出力データを処理することになる。ケースC2の場合にAPI40cの処理によって得られるデータを処理済みデータ12bとする。以下の説明では、変更前に使用されているAPI40を「現用のAPI40」、代替により変更後に使用を開始するAPI40のことを「代替のAPI40」と記載することがある。同様に、現用のAPI40で使用されているパラメータを「現用パラメータ」と記載することがある。
情報処理装置は、現用のAPI40と代替のAPI40を特定する。図1の例では、情報処理装置は、音声認識APIがAPI40aからAPI40xに変更されることを認識する。情報処理装置は、現用のAPI40aと代替のAPI40xの両方に同じ入力データ5を入力して、それぞれのAPI40からの出力データ15を比較する(ケースC3)。情報処理装置は、API40xに入力データ5を入力することにより得られる出力データ15xを、API40aに入力データ5を入力することにより得られる出力データ15aに近づけるように、API40xに設定するパラメータを調整する。すなわち、出力データ15aと出力データ15xの差がなるべく小さくなるように、代替のAPI40xのパラメータが調整される。このため、API40bは、現用のAPI40aからの出力データ15aと同じパラメータを用いて代替のAPI40xからの出力データ15xを処理しても、適切にデータを処理できる。従って、情報処理装置は、API40xの後続の処理を行うAPI40bとAPI40cについてはパラメータを変更しない。また、API40xの後続の処理を行うAPI40bとAPI40cでのパラメータが変更されなくても、ケースC2で得られる処理済みデータ12bと、ケースC1で得られる処理済みデータ12aの間の差は、ユーザが使用する際に許容できる程度に小さい。
このように、実施形態にかかる情報処理装置では、現用のAPI40と代替のAPI40とに同じデータを入力し、両方のAPI40からの出力データ15の差が小さくなるように、代替のAPI40のパラメータを設定する。このため、変更されるAPI40の後続の処理を行うAPI40ではパラメータの再設定を行わなくても、適切なデータ処理を行うことができる。このため、変更の対象となっているAPI40以外でのパラメータの設定を省略でき、パラメータの設定処理が効率化される。
ここで、実施形態にかかる情報処理装置では、パラメータの設定を行うAPI40の数を減らしているだけでなく、現用のAPI40と代替のAPI40の出力を直接比較することによっても、パラメータの設定を効率化している。例えば、実施形態にかかる情報処理装置10を用いていない場合、全てのAPI40に設定される全てのパラメータが再設定の対象となる上、各API40で得られる出力の調整に使用可能な目安もない。このため、処理後の処理済みデータ12が変更前と同様になるまで、全てのパラメータをやみくもに変動させながら調整を行うことになる。一方、実施形態にかかる情報処理装置では、代替のAPI40の出力として望ましい値の目安として現用のAPI40からの出力が用いられるので、全てのAPIを変動させるよりも効率的に代替のAPI40へのパラメータの設定が行われ得る。
なお、ケースC3では、API40aとAPI40xに入力データ5が入力されているが、入力データ5は任意のデータである。例えば、入力データ5は、テストデータまたは処理対象データ2であり得る。また、図1は、一例であり、変更されるAPI40は、最初の処理を行うAPI40以外であってもよい。例えば、API40bがAPI40bと同じ種類の処理を行うAPI40y(図示せず)に変更されても良い。この場合、API40bとAPI40yの両者に入力する入力データ5は、API40aからの出力データであっても良い。また、複数のAPIの組み合わせで実現される処理も任意である。例えば、複数のAPIによって行われる処理は画像処理であっても良く、また、音声データの処理であっても良い。
<装置構成>
図2は、情報処理装置10の構成の例を説明する図である。情報処理装置10は、入出力処理部20、データ処理部30、および、学習部50を備える。入出力処理部20は、入力部21と出力部22を有する。入力部21は、他の装置や情報処理装置10が備える入力装置などからの入力データを受け付ける。出力部22は、他の装置や情報処理装置10が備える出力装置などへデータを出力する。
データ処理部30は、API40(40a〜40c)を有する。図2の例では、3つのAPI40が図示されているが、データ処理部30に含まれるAPI40の数は任意である。各API40は、対応付けられたプログラムの呼び出しが可能なプログラムとして実現され得る。各API40は、処理部41と記憶部42を有する。処理部41は、API40に入力されたデータを、予め記憶部42に保持しているパラメータを用いて処理する。処理部41は、適宜、API40が呼び出すプログラムにデータを処理させるための通信処理なども行う。処理部41は、そのAPI40で処理したデータの出力先を記憶しており、処理済みのデータを出力先に出力する。例えば、処理対象のデータがAPI40aで処理された後にAPI40bで処理されるように設定されているとする。この場合、処理部41aは、入力部21から入力されたデータを処理し、処理後のデータをAPI40bの処理部41bに出力する。処理部41bは、処理部41aから入力されたデータを処理すると、処理後のデータを出力部22に出力する。
記憶部42は、API40で使用するパラメータを記憶する。API40が他のAPI40の代替として使用を開始する場合、記憶部42は、現用のAPI40で使用されているパラメータと、現用のAPI40で使用されているパラメータを変換するための変換関数を記憶できる。変換関数と現用のAPI40で使用されているパラメータを用いると、代替として動作する際に設定される設定パラメータが求められる。なお、記憶部42は、設定パラメータ自体を記憶していても良い。
学習部50は、取得部51、比較部52、および、決定部53を備える。取得部51は、変更対象となっている現用のAPI40の情報と代替のAPI40の情報を取得する。比較部52は、現用のAPI40と代替のAPI40の両方に同じデータを入力し、各API40からの出力を比較する。比較部52は、代替のAPI40からの出力が現用のAPI40からの出力に近づくように、代替のAPI40のパラメータを変更しながら、2つのAPI40からの出力の差を比較する。決定部53は、2つのAPI40からの出力の差が相対的に小さくなったときに代替のAPI40で使用したパラメータを、設定パラメータとして決定する。例えば、決定部53は、2つのAPI40からの出力の差の2乗誤差が最小化されたときの代替のAPI40のパラメータを、設定パラメータに決定できる。決定部53は、現用のAPI40で使用されているパラメータを設定パラメータに変換するための変換関数を求め、得られた変換関数を代替のAPI40の記憶部42に格納できる。
図3は、情報処理装置10のハードウェア構成の例を説明する図である。情報処理装置10は、プロセッサ101、メモリ102、入力装置103、バス105、ネットワークインタフェース109を備える。さらに、情報処理装置10は、出力装置104、記憶装置106、可搬記憶媒体駆動装置107の1つ以上を有していても良い。情報処理装置10は、例えば、コンピュータ、サーバ装置などによって実現され得る。
プロセッサ101は、任意の処理回路であり、例えば、Central Processing Unit(CPU)とすることができる。プロセッサ101は、例えば、メモリ102や記憶装置106に記憶されたプログラムを実行することができる。メモリ102は、プロセッサ101の動作により得られたデータや、プロセッサ101の処理に用いられるデータを、適宜、記憶する。記憶装置106は、プログラムやデータなどを格納し、格納している情報を、適宜、プロセッサ101などに提供する。ネットワークインタフェース109は、情報処理装置10が他の装置と通信するための処理を行う。
バス105は、プロセッサ101、メモリ102、入力装置103、出力装置104、記憶装置106、可搬記憶媒体駆動装置107、ネットワークインタフェース109を、相互にデータの送受信が可能になるように接続する。入力装置103は、キーボード、マウス、マイク、カメラなど、情報の入力に使用される任意の装置であり、出力装置104は、ディスプレイなど、データの出力に使用される任意の装置である。可搬記憶媒体駆動装置107は、メモリ102や記憶装置106のデータを可搬記憶媒体108に出力することができ、また、可搬記憶媒体108からプログラムやデータ等を読み出すことができる。ここで、可搬記憶媒体108は、Compact Disc Recordable(CD−R)やDigital Versatile Disk Recordable(DVD−R)を含む、持ち運びが可能な任意の記憶媒体とすることができる。
情報処理装置10において、プロセッサ101は、処理部41および学習部50として動作する。メモリ102および記憶装置106は、記憶部42として動作する。入出力処理部20は、プロセッサ101、メモリ102、記憶装置106によって実現され得る。なお、各API40の処理部41や入出力処理部20での、プログラムの呼び出しやデータの入出力などの処理のための他の装置との通信は、適宜、ネットワークインタフェース109によって実現される。情報処理装置10に入力されるデータが入力装置103から入力される場合、入出力処理部20は、入力装置103からの入力も受け付ける。さらに、入出力処理部20は、処理結果などのデータを出力装置104に出力できる。
<第1の実施形態>
図4は、第1の実施形態にかかる学習処理の例を説明する図である。図4の例では、処理対象データ2がAPI40a、API40bの順に各API40で処理されて、処理済みデータ12cが得られているとする。情報処理装置10を操作するユーザは、現用のAPI40aを代替のAPI40xで置き換えることを決定すると、変更対象がAPI40aであり代替のAPI40がAPI40xであることを示す情報を、情報処理装置10に入力する。取得部51は、入力装置103からの入力や情報処理装置10が受信した制御メッセージ等をモニタすることにより、API40の置き換えに関する情報を取得する。取得部51は、現用のAPI40aと代替のAPI40xを特定すると、比較部52に通知する。
比較部52は、図4に示すように、現用のAPI40aと代替のAPI40xに処理対象データ2を入力する。API40aの処理部41aは、記憶部42aに記憶している現用パラメータ44aを用いて、処理対象データ2を処理し、得られたデータ(出力データ15a)を比較部52に出力する。API40xの処理部41xも処理対象データ2を処理し、得られたデータ(出力データ15x)を比較部52に出力する。比較部52は、処理部41aから得られた出力データ15aと、処理部41xから得られた出力データ15xを比較する。以下、入出力の二乗誤差を最小化できるパラメータを設定パラメータとして決定する際に比較部52と決定部53で行う学習処理の例と、代替のAPI40への設定処理の例を説明する。
(1)設定パラメータの決定例
(1a)入出力が一次元波形データの場合
例えば、API40への入力データとAPI40からの出力データのいずれもが音声データであり、パラメータの決定に用いるサンプルの音声波形データがN個あるとする。また、n番目の音声波形データについての時刻tにおける入力値をIn,tと表記する。入力値In,tを現用のAPI40aの処理部41aで処理した結果得られる出力をyn,tとする。代替のAPI40xに設定するパラメータをθとする。さらに、代替のAPI40xの処理部41xがパラメータθを用いて入力値In,tを処理した結果の出力データ15xの値をf(In,t,θ)とする。すると、比較部52は、処理部41aから得られる出力yn,tと処理部41xから得られる出力f(In,t,θ)を用いて、式(1)の計算を行う。
Figure 2020194225
比較部52は、パラメータθの値を変更しながら式(1)の計算を行い、得られた結果を決定部53に出力する。なお、比較部52は決定部53からの指定に応じてパラメータθを変更しても良い。
決定部53は、l(θ)が最小となるときのθの値(argminl(θ))を探索する。決定部53は、argminl(θ)を探索する際に、任意の既知のアルゴリズムを使用できる。例えば、グリッドサーチ、ランダムサーチ、ベイズ最適化(Bayesian Optimization)、TPE(Tree-structured Parzen Estimator Approach)が使用され得る。決定部53は、式(1)を用いて求めたargminl(θ)の値を代替のAPI40xに設定するパラメータとする。API40への入出力データが音声波形データ以外であっても、API40への入力データと出力データのいずれもが一次波形データである場合、比較部52と決定部53は同様の処理により、代替のAPI40xに設定するパラメータを決定できる。
(1b)入出力が二次元波形データの場合
例えば、API40への入力データとAPI40からの出力データのいずれもが画像データであり、パラメータの決定に用いるサンプルの画像データがN個あるとする。また、n番目の画像の座標(x,y)における入力画素値をIn,x、yと表記する。この場合に、入力値In,x、yを現用のAPI40aの処理部41aで処理した結果として得られる出力をyn,x、yとする。代替のAPI40xに設定するパラメータをθとする。さらに、代替のAPI40xの処理部41xがパラメータθを用いて入力値In,x、yを処理した結果の出力データ15xの値をf(In,x、y,θ)とする。すると、比較部52は、処理部41aから得られる出力yn,x、yと処理部41xから得られる出力f(In,x、y,θ)を用いて、式(2)の計算を行う。
Figure 2020194225
比較部52は、パラメータθの値を変更しながら式(2)の計算を行い、得られた結果を決定部53に出力する。この場合も、比較部52は決定部53からの指定に応じてパラメータθを変更しても良い。
決定部53は、式(2)のl(θ)が最小となるときのθの値(argminl(θ))を探索する。探索処理の際に決定部53が使用可能な探索アルゴリズムは、入出力が一次元波形データの場合と同様である。決定部53は、式(2)を用いて求めたargminl(θ)の値を代替のAPI40xに設定するパラメータとする。API40への入出力データが画像データ以外であっても、API40への入力データと出力データのいずれもが二次波形データである場合、比較部52と決定部53は同様の処理により、代替のAPI40xに設定するパラメータを決定できる。
(1c)入力データが音声データであり、出力データが文字列である場合
例えば、API40が音声認識APIであるとする。この場合、API40への入力データは音声データであるが、出力データは音声データ中の言語を書き起こすことによって得られる文字列となる。パラメータの決定に用いるサンプルの音声データがN個あるとする。また、n番目の入力音声データの入力値をIと表記する。入力値Iを現用のAPI40aの処理部41aで処理した結果として得られる出力をWとする。代替のAPI40xに設定するパラメータをθとする。さらに、代替のAPI40xの処理部41xがパラメータθを用いて入力値Wを処理した結果の出力データ15xの値をf(θ,I)とする。さらに、現用の処理部41aから得られた出力Wと、代替の処理部41xから得られた出力f(θ,I)の間における単語誤り率(Word Error Rate)をWERとする。すると、比較部52は、単語誤り率WERを用いて、式(3)の計算を行う。
Figure 2020194225
比較部52は、パラメータθの値を変更しながら式(3)の計算を行う。この場合も、比較部52は決定部53からの指定に応じてパラメータθを変更しても良い。決定部53は、式(3)のl(θ)が最小となるときのθの値を代替のAPI40xに設定するパラメータとする。なお、式(3)のl(θ)が最小となるときのθの値の探索の際に決定部53が使用可能なアルゴリズムも、入出力が一次元波形データの場合と同様である。
(2)代替のAPI40への設定処理の例
決定部53は、設定パラメータを決定すると、現用のAPI40aで使用されている現用パラメータ44を設定パラメータに変換するための変換関数を求める。変換関数は、現用のAPI40で使用されている現用パラメータ44を設定パラメータに変換可能な任意の関数で表され得る。例えば、式(1)を用いて求めたargminl(θ)の値をQ、現用のAPI40に設定されているパラメータをPとする。この場合、決定部53は、F(Q)=Pを満たす関数Fを変換関数とする。式(2)、式(3)を用いてパラメータを求めた場合にも、同様に、決定部53は変換関数Fを決定する。
なお、変換関数の形式や各API40に設定されるパラメータの数は、実装に応じて任意に変更され得る。例えば、現用のAPI40と代替のAPI40のいずれにおいても複数のパラメータが設定される場合もあり得る。この場合、変換関数は行列式として表されても良い。例えば、現用のAPI40で設定されているパラメータがP1、P2、P3の3つであり、代替のAPI40に設定するために求められたパラメータがQ1、Q2、Q3であるとする。この場合、F(Q1,Q2,Q3)=(P1,P2,P3)を満たす行列Fが変換関数として求められる。
決定部53は、求めた変換関数と現用のAPI40aで使用されている現用パラメータを代替のAPI40xの記憶部42xに書き込む。なお、決定部53は。さらに、設定パラメータとして求めた値自体も記憶部42xに書き込んでもよい。
なお、図4の例では、学習部50が代替のAPI40xに設定するパラメータを決定するための処理を行っている間も、現用のAPI40aの処理部41aは、出力データを後続のAPI40bの処理部41bに出力する。このため、代替のAPI40xに設定するパラメータの決定のための処理が行われている間に処理されたサンプルデータについても、処理部41bが処理を行うことにより、処理済みデータ12cを生成することができる。処理済みデータ12cは、出力部22に出力される。出力部22は、処理済みデータ12cを、適宜、出力装置104などに出力してもよい。
図5は、第1の実施形態にかかる学習処理の例を説明するフローチャートである。図5では、現用のAPI(使用中のAPI)をAPI1、代替のAPIをAPI2と表記している。なお、図5は処理の一例であり、実装に応じて手順が変更され得る。例えば、ステップS3の処理はステップS4の前の任意のタイミングで行われるように手順が変更され得る。
使用中のAPI(API1)の処理部41は、記憶部42に記憶している情報を用いてパラメータを設定する(ステップS1)。比較部52は、API1にデータを入力する(ステップS2)。
比較部52は、使用を開始する代替のAPI(API2)のパラメータを設定する(ステップS3)。比較部52は、ステップS2でAPI1に入力したデータと同じデータをAPI2に入力する(ステップS4)。比較部52は、API1の出力データとAPI2の出力データを比較する(ステップS5)。ステップS5の処理において、比較部52は、適宜、データの種類に応じて入出力の二乗誤差を求めることができる。決定部53は、これまでに計算された二乗誤差の値を用いて、API1の出力データとAPI2の出力データの間の誤差が収束したかを判定する(ステップS6)。すなわち、ステップS6において、決定部53は、誤差が最小となるようなAPI2での設定パラメータが求まったかを判定している。誤差が最小となるようなAPI2での設定パラメータが求まっていない場合、決定部53は、誤差が収束していないと判定する(ステップS6でNo)。比較部52は、API2のパラメータを変更する(ステップS7)。その後、ステップS4以降の処理が繰り返される。すなわち、ステップS4〜S7の処理によって、API1の出力データとAPI2の出力データの間の誤差の最小値が得られるまで、API2のパラメータを変動させつつ、API2に設定するパラメータの探索が行われる。
誤差が最小となるようなAPI2での設定パラメータが求まった場合、決定部53は、誤差が収束したと判定する(ステップS6でYes)。すると、決定部53は、誤差が収束したときのAPI2のパラメータにAPI1のパラメータを変換するための変換関数を求める(ステップS8)。決定部53は、API2の記憶部42に、変換関数とAPI1の現用のパラメータを記憶させる(ステップS9)。なお、ステップS9において、決定部53は、API2に設定するパラメータとして求めた値もAPI2の記憶部42に記憶させても良い。
図6は、第1の実施形態にかかるデータ処理の例を説明する図である。図6を参照しながら、現用のAPI40aが代替のAPI40xに切り替えられた後で行われるデータ処理の例を説明する。切り替えが行われる前に、図4、図5を参照しながら説明した学習処理が行われているので、図6の段階では、API40xは、変換関数43xおよび現用パラメータ44xを記憶している。ここで、現用パラメータ44は、現用のAPI40aに設定されているパラメータである。また、変換関数43xは、API40aに設定されている現用パラメータ44aをAPI40xに設定する設定パラメータ45へ変換するために使用される関数である。
API40xとAPI40aには、切り替えのタイミングが取得部51から通知されるものとする。また、API40xの処理部41xには、切り替え後に処理したデータの出力先も通知される。例えば、図6の例では、切り替え後のデータの出力先がAPI40bになることが処理部41xに通知されている。このため、取得部51からの通知に応じて、処理部41xは、処理したデータの出力先を比較部52からAPI40bの処理部41bに切り替えている。
処理部41xは、API40の切り替えのために、現用パラメータ44xと変換関数43xを用いてAPI40xでの処理に使用するパラメータを求める。処理部41xは、求めたパラメータを設定パラメータ45xとして記憶部42xに格納する。
処理対象データ2がAPI40xに入力されると、処理部41xは、設定パラメータ45xを用いて処理対象データ2を処理する。なお、処理部41xは、処理対象データ2の処理に際し、適宜、他のプログラムを呼び出すことができる。呼び出しの対象のプログラムが情報処理装置10以外の装置に格納されている場合には、処理部41xは、適宜、プログラムの格納先との間の通信処理も行う。処理部41xは、処理対象データ2の処理により得られたデータを、API40bの処理部41bに出力する。
処理部41bは、入力されたデータを記憶部42bに保持しているパラメータを用いて処理し、処理済みデータ12dとして出力する。ここで、API40bでは、API40の切り替えの前後でパラメータの設定値は変更されない。すなわち、処理部41bは、図6に示す段階でも、図4での処理の際に使用したパラメータと同じパラメータを用いて、データを処理する。図6の段階では、API40xでのパラメータの調整により、データを処理したときに得られるAPI40xからの出力とAPI40aからの出力との差が小さくなっている。このため、API40xからの出力を処理することによって得られる処理済みデータ12dと、API40aからの出力を処理することによって得られる処理済みデータ12cの間の差は、処理済みデータ12dの使用の際に許容され得る程度に抑えられている。
図7は、第1の実施形態にかかるデータ処理の例を説明するフローチャートである。図7のフローチャートは、各API40で行われる処理の例を示す。処理部41は、入力データを取得したかを判定する(ステップS21)。ステップS21において、入力データは、そのAPI40に入力されるデータである。例えば、図4のAPI40aや図6のAPI40xのように処理対象データ2が入力されるAPI40では、入力データは処理対象データ2である。一方、API40bでは、API40xやAPI40aなどの他のAPI40での処理結果が入力データになる。処理部41は、入力データを取得するまで待機する(ステップS21でNo)。
処理部41は、入力データを取得すると、処理部41自身が含まれるAPI40は代替処理により使用を開始したAPI40であるかを判定する(ステップS21でYes、ステップS22)。代替処理により使用を開始したAPI40ではない場合、処理部41は、設定済みのパラメータを用いて入力データを処理する(ステップS22でNo、ステップS23)。すなわち、ステップS23での処理では、パラメータの再設定は行われず、現在使用中のパラメータを用いた処理が継続される。処理部41は、入力データを処理することにより得られた出力データを出力する(ステップS26)。なお、出力先は、予め処理部41に設定されている。出力先は他のAPI40であっても良く、情報処理装置10が保持する出力装置104や情報処理装置10以外の装置などであっても良い。
一方、代替処理により使用を開始したAPI40である場合、処理部41は、変換関数43と現用のAPI40に設定されている現用パラメータ44を用いて、設定パラメータ45を決定する(ステップS22でYes、ステップS24)。処理部41は、設定パラメータを用いて、入力データを処理する(ステップS25)。すなわち、ステップS25での処理では、処理結果が現用API40からの出力に近づくように求められた設定パラメータが設定される。処理部41は、入力データを処理することにより得られた出力データを出力する(ステップS26)。
図8は、情報処理装置10で行われる処理の例を説明する図である。ケースC11は、現用のAPI40が用いられている際の処理の様子を、各API40で用いられるパラメータとともに示している。ケースC11では、処理対象データ2がAPI40a、API40b、および、API40cで処理されることにより、処理済みデータ12aが得られている。API40aで使用されるパラメータはP1、P2、P3である。また、API40bで使用されるパラメータはP11、P12、P13であり、API40cで使用されるパラメータはP21、P22、P23である。
ケースC12は、代替のAPI40が用いられている際の処理の様子を示している。ケースC12では、API40aがAPI40xで置き換えられるので、処理対象データ2がAPI40x、API40b、および、API40cで処理される。また、API40x、API40b、および、API40cでの処理によって得られる最終的なデータは、処理済みデータ12bである。
ここで、API40xでの処理に用いられるパラメータは、API40aでの処理に使用されているパラメータP1、P2、P3と変換関数Fから計算された設定パラメータ45(Q1、Q2、Q3)である。API40aとAPI40xは、異なるAPIであり、処理のために呼び出すプログラム等も異なるが、設定パラメータ45を用いた場合のAPI40xからの出力は、API40aからの出力に近似できる値である。このため、API40bでは、処理対象データ2を処理するAPI40の変更に応じて使用するパラメータを変更しなくても、API40xからの出力を適切に処理できる。さらに、API40bからAPI40cに入力されるデータは、API40bの前に処理を行うAPI40がAPI40aからAPI40xに変更されても、API40の変更前と同様に処理されたデータである。このため、API40cにおいても、処理対象データ2を処理するAPI40の変更に応じて使用するパラメータを変更しなくても、API40bからの出力を適切に処理できる。従って、API40aからAPI40xへの切り替えが行われても、API40bで使用されるパラメータはP11、P12、P13であり、API40cで使用されるパラメータはP21、P22、P23である。
このように、第1の実施形態によると、変更されるAPI40の後続の処理を行うAPI40ではパラメータの再設定を行わなくても、適切なデータ処理を行うことができる。このため、第1の実施形態によると、変更の対象となっているAPI40以外でのパラメータの再設定を省略でき、パラメータの設定処理を効率化できる。
第1の実施形態にかかる情報処理装置10を用いない場合、APIに設定するパラメータが適切であるかは処理によって得られた最終データを用いて判定される。そこで、APIを組み合わせて処理したデータの使用方法によっては、代替のAPIのパラメータや既存のAPIに再設定したパラメータが適切であるかを判定するために、ユーザに対する主観調査を行う場合もある。主観調査を行う際には複数のユーザに対して、APIの変更の前後の処理データを提示して各ユーザの主観を聞き取り調査し、得られた結果をまとめて、最終的に、APIの変更後のパラメータが妥当であるかを判定する。従って、主観調査は時間的にも作業工数的にも煩雑な処理であるといえる。情報処理装置10を用いない場合、主観調査を行う代わりにデータの使用環境を模した実験を行うこともある。例えば、ノイズ環境下でのノイズのカットの状況を確認するために、テストデータを用意して、APIの変更の前後の処理データを比較することにより、変更後のAPIのパラメータが妥当であるかを判定することもある。このため、実験についても、主観調査ほどではないとしても、時間的にも作業工数的にも煩雑な処理であるといえる。
一方、情報処理装置10では、現用のAPI40と代替のAPI40の間での出力の差を小さくするように、代替のAPI40に設定するパラメータを調整する。このため、情報処理装置10を用いていないときのように、主観調査や実験を行わなくても、代替のAPI40に適切なパラメータを設定できる。従って、情報処理装置10を用いると、効率的にパラメータの設定が行われ得る。
さらに、情報処理装置10の学習部50は、現用のAPI40と代替のAPI40の出力を直接比較して、代替のAPI40からの出力を現用のAPI40からの出力に近づけるように、パラメータの変換関数を求める。このため、API40の変更の前後での出力の差が小さくなるように複数のAPIの組み合わせの全体で使用されるパラメータを同時に変更する場合に比べて、効率的にパラメータを求めることができる。
<第2の実施形態>
第2の実施形態では、入力データの範囲に応じて現用のAPI40において使用するパラメータを変動させる場合について、API40の切り替えの際に行われる処理の例を説明する。
図9は、第2の実施形態で使用されるパラメータの例を説明する図である。以下の説明では、現用のAPI40では、入力データ(f)の範囲がf<F1の場合にパラメータP1、P2、P3が使用されるとする。さらに、現用のAPI40では、入力データの範囲がF1≦f<F2の場合はパラメータP41、P42、P43が使用され、入力データの範囲がF2≦fの場合はパラメータP51、P52、P53が使用されるとする。
図9に示すように、入力データに応じてパラメータが変更される場合の例として、例えば、音声のノイズ成分に応じて音声認識APIのパラメータが変動する場合が考えられる。この場合、音声認識APIの前に処理を行うAPIにおいてノイズ成分が推定されても良い。例えば、バンドパスフィルタの周波数などに応じた条件に沿ってパラメータが変動し得る。なお、処理されるデータが画像データの場合でも、画像のノイズ成分に応じて、画像認識APIのパラメータが変動し得る。
図10は、第2の実施形態にかかる学習処理の例を説明するフローチャートである。図10では、現用のAPI(使用中のAPI)をAPI1、代替のAPIをAPI2と表記している。図10では、変数nと定数Nが使用される。定数Nは現用のAPI1においてパラメータに対応付けられている条件の総数である。例えば、図9に示すように、入力データがF1未満、F1以上F2未満、F2以上の3通りに分けられてパラメータが設定されている場合、定数Nは3となる。変数nは、設定パラメータを求める処理の対象とした条件の数である。なお、図10は処理の一例であり、処理の手順は実装に応じて変更され得る。例えば、ステップS33とステップS34の順序は任意に変更され得る。
比較部52は、変数nを1に設定する(ステップS31)。使用中のAPI(API1)の処理部41は、記憶部42に記憶している情報を用いて、n番目の条件に対応するパラメータを設定する(ステップS32)。比較部52は、n番目の条件に当てはまるデータをAPI1に入力する(ステップS33)。従って、ステップS33において、現用のAPI1でのn番目の条件に当てはまるデータについての処理が行われる。
比較部52は、使用を開始する代替のAPI(API2)のパラメータを設定する(ステップS34)。比較部52は、ステップS33でAPI1に入力したデータと同じデータをAPI2に入力する(ステップS35)。比較部52は、API1の出力データとAPI2の出力データを比較する(ステップS36)。決定部53は、API1の出力データとAPI2の出力データの間の誤差が収束したかを判定する(ステップS37)。ステップS36、S37での処理は図5のステップS5、S6などを参照しながら説明した処理と同様である。すなわち、比較部52や決定部53は、適宜、入出力の二乗誤差などを用いて出力データの比較処理や誤差が収束したかの判定を行うことができる。比較部52は、誤差が収束していない場合、API2のパラメータを変更し、ステップS35以降の処理を繰り返す(ステップS37でNo、ステップS38)。すなわち、ステップS35〜S37の処理によって、n番目の条件下で、API2のパラメータを変動させつつ、API2に設定するパラメータの探索が行われる。
誤差が最小となるようなAPI2での設定パラメータが求まった場合、決定部53は、誤差が収束したと判定する(ステップS37でYes)。すると、決定部53は、誤差が収束したときのAPI2のパラメータを、n番目の条件での設定パラメータとする(ステップS39)。決定部53は、変数nを1つインクリメントして、定数Nと比較する(ステップS40、S41)。変数nが定数N以下の場合、まだ処理されていない条件があるので、ステップS32以降の処理が繰り返される(ステップS41でNo)。
一方、変数nが定数Nを超えた場合、全ての条件に付いて設定パラメータが求められている(ステップS41でYes)。そこで、決定部53は、n=1〜Nの全ての条件について、現用パラメータを設定パラメータに変換する変換関数を求める(ステップS42)。その後、決定部53は、API2の記憶部42に、変換関数とAPI1の現用のパラメータを記憶させる。なお、ステップS42において、決定部53は、API2に設定するパラメータとして求めた値もAPI2の記憶部42に記憶させても良い。
図9、図10を参照しながら説明したような学習処理が行われる間、API1とAPI2の両方からの出力が比較部52に出力されるので、図4に示すようにデータの入出力が行われる。
次に、API40の切り替え処理後に行われる処理について説明する。学習部50での処理が終わり、代替のAPI40への切り替えが行われたとする。第2の実施形態でも図6や図8を参照しながら説明したように、代替のAPI40の記憶部42には、変換関数43と現用パラメータ44が記憶されている。そこで、処理部41は、データの処理に使用するパラメータを計算できる。例えば、変換関数Fとともに、現用パラメータ44の情報として図9に示す情報が、代替のAPI40に通知されたとする。
図11は、設定パラメータの計算の例を説明する図である。処理部41は、入力データであるfがF1未満の場合について、F(Q1,Q2,Q3)=(P1,P2,P3)であることから、fがF1未満の場合の設定パラメータをQ1、Q2、Q3とする。なお、設定パラメータは、変換関数によって現用パラメータを変換したときの変換後のパラメータである。
同様に、処理部41は、入力データfがF1以上でF2未満の場合について、F(Q41,Q42,Q43)=(P41,P42,P43)であることから、fがF1以上でF2未満の場合の設定パラメータをQ41、Q42、Q43とする。さらに、処理部41は、入力データfがF2以上の場合について、F(Q51,Q52,Q53)=(P51,P52,P53)であることから、fがF2以上の場合の設定パラメータをQ51、Q52、Q53とする。処理部41は、このようにして求めた設定パラメータを用いて入力データを処理する。
図12は、第2の実施形態において、各API40で行われるデータ処理の例を説明するフローチャートである。処理部41は、入力データを取得するまで待機する(ステップS51でNo)。処理部41は、入力データを取得すると、処理部41自身が含まれるAPI40は代替処理により使用を開始したAPI40であるかを判定する(ステップS51でYes、ステップS52)。代替処理により使用を開始したAPI40ではない場合、処理部41は、入力データの範囲に対応付けられた設定済みのパラメータを用いて入力データを処理する(ステップS52でNo、ステップS53)。すなわち、ステップS53において、現在使用中のパラメータを用いた処理が継続される。処理部41は、入力データを処理することにより得られた出力データを出力する(ステップS56)。
一方、代替処理により使用を開始したAPI40である場合、処理部41は、入力データに対応付けられた現用パラメータ44を特定する(ステップS52でYes、ステップS54)。例えば、図11の例では、入力データfがF1未満の場合、処理部41は、現用パラメータ44として(P1,P2,P3)を特定する。また、入力データfがF1以上F2未満の場合、処理部41は、現用パラメータ44として(P41,P42,P43)を特定する。さらに、入力データfがF2以上の場合、処理部41は、現用パラメータ44として(P51,P52,P53)を特定する。
処理部41は、特定した現用パラメータ44と変換関数43を用いて、入力データの処理に使用する設定パラメータ45を決定する(ステップS55)。設定パラメータの決定のために行われる計算処理は図11を参照しながら説明したとおりである。その後、処理部41は、設定パラメータを用いて、入力データを処理する(ステップS56)。すなわち、ステップS56の処理では、入力データの値に応じて選択された現用パラメータ44を用いた現用API40からの出力に近づくように求められた設定パラメータを用いて、入力データが処理される。処理部41は、入力データを処理することにより得られた出力データを出力する(ステップS57)。なお、第2の実施形態においても、出力先は他のAPI40であっても良く、情報処理装置10が保持する出力装置104や情報処理装置10以外の装置などであっても良い。
このように、第2の実施形態によると、入力データに応じてパラメータが変動する場合においても、代替のAPI40に対して効率的にパラメータの設定が行われる。また、第2の実施形態によっても、変更されるAPI40の後続の処理を行うAPI40ではパラメータの再設定を行わなくても、適切なデータ処理を行うことができる。このため、変更の対象となっているAPI40以外でのパラメータの設定を省略でき、パラメータの設定処理が効率化される。
<その他>
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
処理対象データ2の処理に用いられているAPI40は、同じ種類の処理や機能を提供する他のAPI40に変更され得る。例えば、音声認識APIは他の音声認識APIで代替され得る。同様に、フィルタリング、画像認識、音声合成などの他の処理についても、その処理を提供する複数のAPI間での変更が行われ得る。また、1つのAPI40が複数のAPI40で代替されてもよい。例えば、音声認識APIにノイズ減算機能が含まれている場合、現用の音声認識APIを、ノイズ除去APIと他の音声認識APIの組み合わせに置き換えても良い。この場合、比較部52や決定部53は、代替として使用するノイズ除去APIと他の音声認識APIの組み合わせからの出力を、現用の音声認識APIからの出力に近づけるように、ノイズ除去APIと他の音声認識APIのパラメータを設定する。さらに、2以上の現用のAPI40が任意の数の代替のAPIで置き換えられても良い。
図4などを参照しながら設定パラメータを求める際の学習処理の例を説明したが、入出力の二乗誤差以外の指標を用いて設定パラメータが求められても良い。また、現用のAPI40と代替のAPI40での処理結果の差分の計算方法も、実装に応じて任意に変更され得る。例えば、出力データが文字列である場合には、現用のAPI40からの出力データと代替のAPI40からの出力データのコサイン類似度を用いても良い。
以上の説明で図示したテーブル等は一例であり、テーブルに含まれる情報要素は実装に応じて変更され得る。
2 処理対象データ
5 入力データ
10 情報処理装置
12 処理済みデータ
15 出力データ
20 入出力処理部
21 入力部
22 出力部
30 データ処理部
40 API
41 処理部
42 記憶部
50 学習部
51 取得部
52 比較部
53 決定部
101 プロセッサ
102 メモリ
103 入力装置
104 出力装置
105 バス
106 記憶装置
107 可搬記憶媒体駆動装置
108 可搬記憶媒体
109 ネットワークインタフェース

Claims (6)

  1. データの処理のために組み合わせて使用されている複数のプログラムのうちで使用が停止される第1のプログラムの情報と、前記第1のプログラムで行われる処理を代替する第2のプログラムの情報を取得する取得部と、
    前記第1のプログラムを用いて入力データを処理した場合に得られる処理結果と相対的に近いデータを前記入力データから算出するために前記第2のプログラムに設定する設定パラメータを決定する決定部と、
    前記処理結果を処理している第3のプログラムに、前記設定パラメータを用いた前記第2のプログラムでの処理により得られた出力データを出力する処理部
    を備えることを特徴とする情報処理装置。
  2. 前記決定部は、
    前記入力データを前記第1のプログラムで処理して得られる第1の出力データと、前記入力データを前記第2のプログラムで処理して得られる第2の出力データの差分の大きさを、前記第2のプログラムに設定するパラメータの関数として求め、
    前記差分が相対的に小さいときに前記第2のプログラムが使用したパラメータを前記設定パラメータに決定する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記決定部は、
    前記第1のプログラムで前記入力データの処理のために使用している現用パラメータを前記設定パラメータに変換するための変換関数を求め、
    前記処理部に前記変換関数と前記現用パラメータを通知し、
    前記処理部は、前記現用パラメータと前記変換関数を用いることにより前記設定パラメータを求める
    ことを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記入力データが第1の範囲に含まれる場合、前記第1のプログラムで第1のパラメータを使用した処理が行われ、前記入力データが第2の範囲に含まれる場合、前記第1のプログラムで第2のパラメータを使用した処理が行われる場合、前記決定部は、
    前記第1の範囲に含まれる前記入力データを前記第1のプログラムで処理した場合に得られる第1の処理結果と相対的に近いデータを、前記第1の範囲に含まれる前記入力データから算出するために前記第2のプログラムに設定する第1の設定パラメータを決定し、
    前記第2の範囲に含まれる前記入力データを前記第1のプログラムで処理した場合に得られる第2の処理結果と相対的に近いデータを、前記第2の範囲に含まれる前記入力データから算出するために前記第2のプログラムに設定する第2の設定パラメータを決定し、
    前記第1のパラメータを前記第1の設定パラメータに変換するとともに、前記第2のパラメータを第2の設定パラメータに変換する関数を、前記変換関数として求める
    ことを特徴とする請求項3に記載の情報処理装置。
  5. データの処理のために組み合わせて使用されている複数のプログラムのうちで使用が停止される第1のプログラムの情報と、前記第1のプログラムで行われる処理を代替する第2のプログラムの情報を取得し、
    前記第1のプログラムを用いて入力データを処理した場合に得られる処理結果と相対的に近いデータを前記入力データから算出するために前記第2のプログラムに設定する設定パラメータを決定し、
    前記処理結果を処理している第3のプログラムに、前記設定パラメータを用いた前記第2のプログラムでの処理により得られた出力データを出力する
    処理を情報処理装置が行うことを特徴とする情報処理方法。
  6. データの処理のために組み合わせて使用されている複数のプログラムのうちで使用が停止される第1のプログラムの情報と、前記第1のプログラムで行われる処理を代替する第2のプログラムの情報を取得し、
    前記第1のプログラムを用いて入力データを処理した場合に得られる処理結果と相対的に近いデータを前記入力データから算出するために前記第2のプログラムに設定する設定パラメータを決定し、
    前記処理結果を処理している第3のプログラムに、前記設定パラメータを用いた前記第2のプログラムでの処理により得られた出力データを出力する
    処理を情報処理装置に行わせることを特徴とする情報処理プログラム。
JP2019097906A 2019-05-24 2019-05-24 情報処理装置、情報処理方法、および、情報処理プログラム Active JP7310303B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019097906A JP7310303B2 (ja) 2019-05-24 2019-05-24 情報処理装置、情報処理方法、および、情報処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019097906A JP7310303B2 (ja) 2019-05-24 2019-05-24 情報処理装置、情報処理方法、および、情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2020194225A true JP2020194225A (ja) 2020-12-03
JP7310303B2 JP7310303B2 (ja) 2023-07-19

Family

ID=73547533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019097906A Active JP7310303B2 (ja) 2019-05-24 2019-05-24 情報処理装置、情報処理方法、および、情報処理プログラム

Country Status (1)

Country Link
JP (1) JP7310303B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282523A (ja) * 2000-03-30 2001-10-12 Hitachi Software Eng Co Ltd プログラム移植支援装置および記録媒体
JP2011060052A (ja) * 2009-09-11 2011-03-24 Mitsubishi Electric Corp ソフトウェア試験実行方法
WO2013072986A1 (ja) * 2011-11-14 2013-05-23 トヨタ自動車株式会社 パラメータ探索方法およびパラメータ探索システム
JP2018197977A (ja) * 2017-05-24 2018-12-13 トヨタ自動車株式会社 車両システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282523A (ja) * 2000-03-30 2001-10-12 Hitachi Software Eng Co Ltd プログラム移植支援装置および記録媒体
JP2011060052A (ja) * 2009-09-11 2011-03-24 Mitsubishi Electric Corp ソフトウェア試験実行方法
WO2013072986A1 (ja) * 2011-11-14 2013-05-23 トヨタ自動車株式会社 パラメータ探索方法およびパラメータ探索システム
JP2018197977A (ja) * 2017-05-24 2018-12-13 トヨタ自動車株式会社 車両システム

Also Published As

Publication number Publication date
JP7310303B2 (ja) 2023-07-19

Similar Documents

Publication Publication Date Title
JP5755823B1 (ja) 類似度算出システム、類似度算出方法およびプログラム
WO2018170454A2 (en) Using different data sources for a predictive model
CN109313540B (zh) 口语对话系统的两阶段训练
JP2020042784A (ja) インテリジェント端末操作用の方法及び装置
US11522938B2 (en) Feature generation for online/offline machine learning
US11575502B2 (en) Homomorphic encryption processing device, system including the same and method of performing homomorphic encryption processing
US20220164666A1 (en) Efficient mixed-precision search for quantizers in artificial neural networks
JP5795743B2 (ja) 適応的重み付けを用いた様々な文書間類似度計算方法に基づいた文書比較方法および文書比較システム
CN109992699B (zh) 用户群的优化方法及装置、存储介质、计算机设备
CN113808610A (zh) 从多个说话者中分离目标语音的方法和装置
WO2021024513A1 (ja) 最適化エンジン、最適化方法、及びプログラム
KR20230087316A (ko) 인공지능 기반 클라우드 서비스 서버 결정 장치 및 방법
JP7290608B2 (ja) 機械学習装置、機械学習方法及び機械学習プログラム
US9600772B1 (en) Infrastructure enabling information systems to be aware and self-aware
JP7310303B2 (ja) 情報処理装置、情報処理方法、および、情報処理プログラム
CN110442786A (zh) 一种提示信息推送的方法、装置、设备及存储介质
JP4643586B2 (ja) 最適設計管理装置、最適設計計算システム、最適設計管理方法、最適設計管理プログラム
CN107766944B (zh) 一种利用api分析进行系统功能流优化的系统和方法
JP2012173795A (ja) クラス分類装置、クラス分類方法、及びクラス分類プログラム
CN116561735B (zh) 一种基于多认证源的互信认证方法、系统及电子设备
WO2022044336A1 (ja) データ生成プログラム、方法及び装置
JP7218856B2 (ja) 学習器生成装置、学習器の生産方法、およびプログラム
WO2024053018A1 (ja) 畳み込みニューラルネットワーク高速化装置、畳み込みニューラルネットワーク高速化方法、および畳み込みニューラルネットワーク高速化プログラム
US11847565B1 (en) Automatic refinement of intent classification for virtual assistant applications
KR102289411B1 (ko) 가중치 기반의 피처 벡터 생성 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230220

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: 20230606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230619

R150 Certificate of patent or registration of utility model

Ref document number: 7310303

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150