音声認識は人間が発した音声を計算機により単語列(テキスト)に変換する技術である。音声認識の精度は正解単語列と認識結果単語列のアライメントをDPマッチングにより取ることで計算できる(例えば非特許文献1参照)。図1にDPマッチングによる正解単語列と認識結果単語列のアライメント結果の例を示す。単語列のアライメントとは、二つの単語列が与えられたときに、それらが最も適合(一致、マッチ)するように照合を行った結果のことを言う。この図に示されるように、認識結果単語は以下の4種類に分類される。1.正解C(Correct)、2.置換誤りS(正解単語を他の単語に置き換えて誤る間違い;Substitution_error)、3.挿入誤りI(本来単語がない箇所に単語が挿入される誤り;Insertion_error)、4.削除誤りD(本来単語がある箇所に単語がない誤り;Deletion_error)。ここで、正解単語列中の単語数を#N、認識結果単語列中の正解単語数を#C、置換誤り単語数を#S、挿入誤り単語数を#I、削除誤り単語数を#Dとすると、音声認識精度は以下のように2種類の尺度で表わされる。
ここで、#N=#C+#S+#Dである。式(1)の単語正解率と式(2)の単語正解精度の違いは、挿入誤りを考慮するか否かであり、挿入誤りを考慮する分だけ、単語正解率よりも単語正解精度の方が厳しい尺度である。図1の例では、#N=13、#C=10、#S=2、#I=1、#D=1であるので、
となる。単語正解率と単語正解精度のどちらを使用するべきかは、どのような音声認識応用システムを構築するかによるが、通常は単語正解精度が使用されることが多い。また音声認識精度は、上記したように、一つの発声に対する一つの認識結果単語列に対して計算することもできるが、複数発声に対する複数の認識結果単語列に対して、#N、#C、#S、#I、#Dをまとめて数え上げて計算することも多い(一つ一つの認識結果単語列に対して単語正解率/単語正解精度を求めてそれらを平均するのではなく、一つ一つの認識結果単語列に対して#N、#C、#S、#I、#Dを数え上げて、それらそれぞれを全認識結果単語列に渡り加算して、最後に単語正解率/単語正解精度を計算する)。
以上で音声認識精度の計算方法について述べたが、音声認識応用システムの実使用場面では入力音声に対する正解単語列は準備されていない。よって音声認識応用システムの実使用場面で認識結果単語列の精度を計算することはできない。ところが音声認識において正解単語列を使わずに認識精度を推定することは重要である。例えばユーザが音声ワープロを用いて文書を作成する場面を想定する。このときユーザのある発声の認識結果の精度が低いと推定される場合は、その認識結果をそのまま表示するより、ユーザに同じ内容を再度発声するように促した方が、ユーザにとっては親切である。また音声認識精度そのものを向上させる技術として、教師なし適応技術があるが、この技術では精度が比較的高いと推定される認識結果を用いて、後述する音響モデルや言語モデルの適応を行う。
音声認識精度を推定する装置としては、特許文献1に開示されている装置が知られている。この文献では、音声認識精度推定装置は音声認識装置、音声認識精度は信頼度と表現されている。以下、図2、図3を参照して、特許文献1の音声認識装置900の機能構成を示して動作を簡単に説明する。図2は特許文献1の音声認識装置900の構成を示すブロック図である。図3は特許文献1の音声認識装置900の動作を示すフローチャートである。図2に示すとおり、音声認識装置900は、記憶部4、発話分割部5、音声認識部6、音響モデル格納部10、辞書・言語モデル格納部12、情報変換部20、信頼度付与部22、識別モデル格納部29、出力部26を備える。音声認識部6は、音響分析手段8と認識探索手段7とから構成される。
記憶部4は、入力端子2に入力される音声信号を離散値化したディジタル音声信号として記憶する(S4)。発話分割部5は、所定値以上継続する無音区間に挟まれたディジタル音声信号を一発話(いちはつわ)として分割する(S5)。音響分析手段8は、分割されたディジタル音声信号を特徴量ベクトルの時系列に変換する(SS8)。認識探索手段7は、音響モデル格納部10と辞書・言語モデル格納部12に格納された音響モデルと言語モデルを用いて、辞書・言語モデル格納部12に登録されている単語列と特徴量ベクトルの時系列との照合を行い、照合尤度が最も高い単語列を認識結果として出力する(SS7)。
音響分析手段8における音声分析方法としてよく用いられるのは、ケプストラム分析であり、特徴量としてはMFCC(Mel_Frequency_Cepstral_Coefficient)、ΔMFCC、ΔΔMFCC、対数パワー、Δ対数パワー、ΔΔ対数パワー等があり、これらが10〜100次元程度の特徴量ベクトルを構成する。分析フレーム幅は30ms程度、分析フレームシフト幅は10ms程度で分析が実行される。
音響モデルは、上記 MFCC等の音声の特徴量を音素等の適切なカテゴリでモデル化したものである。この音響モデルを用いて入力音声のフレーム毎の特徴量と各カテゴリのモデルとの音響的な近さが音響尤度として計算される。現在のモデル化の手法としては、確率・統計理論によるHMM(Hidden_Markov_Model)に基づくものが主流となっている。言語モデルの形式は、単語リスト、定型文法、N−gramモデルの三つに大別される。孤立単語発声を認識対象とする音声認識装置においては、認識対象の単語を列挙した単語リストが用いられる(単語リストは辞書・言語モデル格納部12に格納されている辞書と等価である)。定型的な文章発声を認識対象とする音声認識装置においては、辞書・言語モデル格納部12に登録されている単語を連結して、装置で受理する発話内容(文章)を記述した定型文法が用いられる。自由な連続発話を認識対象とする音声認識装置においては、辞書・言語モデル格納部12に登録されている単語のN連鎖確率を保持しているN−gramモデルが用いられ、これによりN連鎖以下の単語のつながり易さが言語尤度として計算される。
情報変換部20は、単語列を構成する各単語について、例えば図4に示す様な発話特徴量ベクトルに変換する(S20)。発話特徴量ベクトルの各単語の品詞情報は、この例では37種類に分類される。品詞情報に付随する音響尤度スコアと言語尤度スコアと音素継続時間長は、この例ではそれぞれの平均値、分散値、最大値、最小値が計算される。
信頼度付与部22は、発話特徴量ベクトルを評価して信頼度を付与する(S22)。信頼度の付与は、識別モデル格納部29に格納されている予め学習した発話特徴量ベクトルと音声認識率とを関連付けた値と、情報変換部20が出力する発話特徴量ベクトルとを対比することで行う。例えば、10%間隔の音声認識率に対応させた発話特徴量ベクトルを用意して置くことで、音声認識結果が100%信頼できるものか、或いは全く信頼できない信頼度の音声認識結果であるのかを、10%の間隔で信頼度を付与することができる。出力部26は、各発話単位毎に、単語系列と、各単語の発話特徴量ベクトルと、信頼度とを出力する(S26)。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
以下図5、図6、図7、図8を参照して実施例1の音声認識精度推定装置について説明する。図5は本実施例の音声認識精度推定装置400の構成を示すブロック図である。図6は本実施例の単語アライメントネットワーク取得部40の構成を示すブロック図である。図7は本実施例の音声認識精度推定装置400の動作を示すフローチャートである。図8は本実施例の音声認識部30が生成する単語コンフュージョンネットワークを例示する図である。
図5に示すとおり、本実施例の音声認識精度推定装置400は、音声認識部30、単語アライメントネットワーク取得部40、確率的認識精度計算部50を備える。図6に示すとおり、単語アライメントネットワーク取得部40は1−best認識結果単語列取得手段41、正解確率計算手段42、置換誤り確率計算手段43、挿入誤り確率計算手段44、削除誤り確率計算手段45を備える。本実施例および以下の実施例における音声認識精度推定装置、識別的音声認識精度推定装置は、例えばROM、RAM、CPU等で構成されるコンピュータに所定のプログラムが読み込まれて、CPUがそのプログラムを実行することで実現されるものである。
音声認識部30は、入力端子2に入力される音声を音声認識し、当該音声認識結果を、例えば図8に示す単語コンフュージョンネットワークと呼ばれる複数の認識結果単語列をコンパクトに確率的に表現した形式で得る(S30)。単語コンフュージョンネットワークの取得方法は、例えば、参考非特許文献1に詳述されている。上記に加え、音声認識部30は、音声認識の過程において、特許文献1の音声認識装置900の音声認識部6と同様に、ディジタル音声信号の特徴量ベクトルの時系列への変換や、音響モデルと言語モデルを用いた尤度計算などを行う。これらの処理は従来の音声認識と同様であるため詳細は割愛する。
単語コンフュージョンネットワークは、セグメント毎に何れかの認識結果単語が存在する確率、および何れの認識結果単語も存在しない確率(以下、εの存在確率という)を表す。例えば図8の単語コンフュージョンネットワークは、八つのセグメント(区間)で構成されている。各セグメントにはそのセグメントに認識結果として存在し得る複数の単語がアーク(弧)として記述されている。セグメント境界では各アークはノード(節)で束ねられている。例えば図8では、三番目のセグメントには、定額/大学/対外/εという四つの単語が認識結果として存在し得る(競合、対立している)ことを示している。ただしεはこのセグメントには認識結果単語は存在しないということを示すため、正味では三つの認識結果単語が存在し得ることになる。一番目のセグメントから八番目のセグメントまで、εも含めて、存在し得る単語の数を乗算していくと、2×3×4×2×2×3×2×1=576となり、これが図8の単語コンフュージョンネットワークが表現し得る認識結果単語列の種類数となる。各セグメント中の各単語には確率値が付与されており、これらの値は各単語がそのセグメント中に存在し得る確率を表している。これらは加算すると1となる。例えば、三番目のセグメントでは、p(定額)+p(大学)+p(対外)+p(ε)=0.4+0.3+0.2+0.1=1となる。ここで、ある入力音声を音声認識して得られる単語コンフュージョンネットワーク中のセグメント数をJ、j番目のセグメントをQj(j=1,2,…,J)、Qj中に存在し得る単語をWj,k(k=1,2,…,Kj)、それらの存在確率をp(Wj,k)とする。すると、この単語コンフュージョンネットワークで表わされる認識結果単語列の種類数は、
となる。また、以下が成り立つ。
次に、単語アライメントネットワーク取得部40は音声認識部30から出力された単語コンフュージョンネットワークを単語アライメントネットワークに変換する(S40)。
単語アライメントネットワークは、何れかのセグメントにおいてεが最大存在確率とならない場合に、最大存在確率を有する単語の存在確率を当該セグメントにおける正解確率とし、当該セグメントにおける最大存在確率を有しないε以外の単語の存在確率の合計を当該セグメントにおける置換誤り確率とし、当該セグメントにおけるεの存在確率を当該セグメントにおける挿入誤り確率とし、何れかのセグメントにおいてεが最大存在確率となる場合に、当該セグメントにおける最大存在確率を有しない単語の存在確率の合計を当該セグメントにおける削除誤り確率として、セグメント毎に、正解/置換誤り/挿入誤り/削除誤り確率を示したものである。
上記したように、音声認識精度は正解単語列と認識結果単語列のアライメントをDPマッチングにより取ることで計算できるが、単語アライメントネットワークとはこのアライメント結果を表現するものであり、基になる単語コンフュージョンネットワークが複数の認識結果単語列を確率的に表現するものであることから、単語アライメントネットワークは複数のアライメント結果を確率的に表現するものである。
ここで、単語アライメントネットワーク取得部40の処理の詳細を図6に示した各構成手段の動作に細分化して説明すると、まず、1−best認識結果単語列取得部41は、単語コンフュージョンネットワークから1−best認識結果単語列を取得する(SS41)。
ここで、一つの単語コンフュージョンネットワーク中の各セグメントで最大の存在確率を持つ単語を連結したものを1−best認識結果単語列という。通常の場合、1−best認識結果単語列は最終的な音声認識結果単語列である(単語コンフュージョンネットワークを介さずに最終的な認識結果単語列を得る方法もある)。例えば図8の単語コンフュージョンネットワークの場合、太いアークで示されている各セグメントで最高の存在確率を持つ単語を連結していくと、“私_ε_定額_に_行く_ε_ε_た”、という1−best認識結果単語列を得ることができる。
以下、得られた1−best認識結果単語が正味の単語であるか、εであるかによって処理が分岐する。1−best認識結果単語がεでない正味の単語である場合、正解確率計算手段42は、当該εでない1−best認識結果単語を、セグメントjにおける正解単語を表す単語アライメント結果シンボルCj(jはセグメント番号、以降も同じ)に変え、当該1−best認識結果単語の存在確率を正解確率であるp(Cj)として付与する(SS42)。ここで、εでない1−best認識結果単語が実は正解単語ではなく、これに競合、対立する認識結果単語(εでない)が正解単語であるとすると、前述の1−best認識結果単語は置換誤り(Substitution_error)となる。よって、置換誤り確率計算手段43は、対立する認識結果単語(εでない)を一つに束ねて置換誤りを表す単語アライメント結果シンボルSjとし、置換誤り確率p(Sj)を、εでない対立候補の存在確率の和として付与する(SS43)。最後に、前述のεでない1−best認識結果単語が、実は正解単語ではなく、ε(単語なし)が正しいとすると、前述のεでない1−best認識結果単語は挿入誤り(Insertion_error)となる。よってこのεを挿入誤りを表す単語アライメント結果シンボルIjに変え、挿入誤り確率p(Ij)をp(ε)として付与する(SS44)。
一方、1−best認識結果単語がεである場合、このεと競合(対立)する認識結果単語が存在する場合には、εすなわち「単語なし」が実は正しくなく、このセグメントに他のεでない対立候補が存在するのが正しいとすると、このεは削除誤り(Deletion_error)となる。よって他のεでない対立候補を一つに束ねて削除誤りを表す単語アライメント結果シンボルDjとし、削除誤り確率p(Dj)を、εでない対立候補の存在確率の和として付与する(SS45)。
これら単語アライメントネットワーク取得部40で実行される単語コンフュージョンネットワークから単語アライメントネットワークへの変換手順について、図8、9を参照してさらに具体的に説明する。図9は単語コンフュージョンネットワークから単語アライメントネットワークへの変換例を示す図である。前述したように、変換手順は、セグメントにおける最高の存在確率を持つ単語(1−best認識結果単語)がεでない正味の単語であるか(図8、9ではセグメント1、3、4、5、8)、εであるか(図8、9ではセグメント2、6、7)で、大きく二つに分かれる。
まず、セグメントにおける最高の存在確率を持つ単語(1−best認識結果単語)がεでない正味の単語である場合について変換手順を説明する。ここでは、セグメント3を例に説明する。セグメント3では、4つの単語、定額/大学/対外/ε、が、それぞれ存在確率、p(定額)=0.4、p(大学)=0.3、p(対外)=0.2、p(ε)=0.1で競合している。最高の存在確率を付与されている正味の単語は「定額」であり、これがこのセグメントにおける正しい(Correct)と思われる1−best認識結果単語である。よって、まず正解確率計算手段42は、「定額」を正解単語を表す単語アライメント結果シンボルC3(3はセグメント番号、以降も同じ)に変え、その確率p(C3)=0.4を付与する(SS42)。次に「定額」と競合するεでない正味の単語を見ると「大学」と「対外」の2単語である。ここで「定額」が実は正解単語ではなく、「大学」あるいは「対外」が正解単語であるとすると、「定額」は置換誤り(Substitution_error)となる。よって置換誤り確率計算手段43は、「大学」と「対外」を一つに束ねて置換誤りを表す単語アライメント結果シンボルS3とし、その確率をp(S3)=p(大学)+p(対外)=0.3+0.2=0.5とする(SS43)。すなわち、正解と思われる単語「定額」が実は置換誤りである確率はp(S3)=0.5である。最後にεがp(ε)=0.1で残る。上記したように、εはそのセグメントには単語がないことを表す。よって「定額」が実は正解単語ではなく、ε(単語なし)が正しいとすると、「定額」は挿入誤り(Insertion_error)となる。よって挿入誤り確率計算手段44は、このεを挿入誤りを表す単語アライメント結果シンボルI3に変え、その確率はp(I3)=p(ε)=0.1とする(SS44)。すなわち、正解と思われる単語「定額」が実は挿入誤りである確率はp(I3)=0.1である。以上のような変換処理を行った結果をまとめると、セグメント3の1−best認識結果単語「定額」が正解である確率はp(C3)=0.4、置換誤りである確率はp(S3)=0.5、挿入誤りである確率はp(I3)=0.1となる。
次に、セグメントにおける最高の存在確率を持つ単語がεである場合について変換手順を説明する。ここでは、セグメント2を例に説明する。セグメント2では、ε/は/が、が、それぞれ存在確率、p(ε)=0.4、p(は)=0.3、p(が)=0.3で競合している。最高の存在確率を付与されている単語はε(単語なし)であり、これがこのセグメントにおける1−best認識結果単語である。εについては変換処理は行わない。次に、このεと競合する単語をみると「は」と「が」の2単語である。ここでεすなわち「単語なし」が実は正しくなく、このセグメントに「は」あるいは「が」が存在するのが正しいとすると、このεは削除誤り(Deletion_error)となる。よって削除誤り確率計算手段45は、「は」と「が」を一つに束ねて削除誤りを表す単語アライメント結果シンボルD2(2はセグメント番号、以降も同じ)とし、その確率をp(D2)=p(は)+p(が)=0.3+0.3=0.6とする(SS45)。すなわち、ε(単語なし)が正しいと思われるセグメント2が実は削除誤りである確率はp(D2)=0.6である。単語アライメントネットワーク取得部40では、上記のような処理により、音声認識部30から出力された単語コンフュージョンネットワークを単語アライメントネットワークに変換する。
確率的認識精度計算部50は、単語アライメントネットワーク取得部40から出力された単語アライメントネットワークを入力として音声認識精度を計算しそれを出力する(S50)。通常、認識精度は、上記したように、正解単語列中の単語数#N、正解単語数#C、置換誤り単語数#S、挿入誤り単語数#I、削除誤り単語数#Dを、0以上の整数として数え上げて、式(1)または式(2)により計算するが、確率的認識精度計算部50では、単語アライメントネットワーク上の各セグメント中の各単語アライメント結果シンボルの確率値を加算することで計算する。ここで、ある単語アライメントネットワーク中のセグメント数をJ、j番目のセグメントをQj(j=1,2,…,J)、Qj中に存在し得る単語アライメント結果シンボルをAj(A=C/S/I/D)、その存在確率をp(Aj)とする。このとき、正解単語数の推定値E(#C)、置換誤り単語数の推定値E(#S)、挿入誤り単語数の推定値E(#I)、削除誤り単語数の推定値E(#D)、正解単語列中の単語数の推定値E(#N)は、それぞれ以下のように求めることができる。
0以上の整数である#C、#S、#D、#Iとは異なり、これらE(#C)、E(#S)、E(#I)、E(#D)、E(#N)は、小数点以下の数値を取りうる。これらを用いて単語正解率と単語正解精度は以下のように求められる。
例えば、図9の単語アライメントネットワークの場合、
であるので、
と推定される。
以上のように、本実施例の音声認識精度推定装置400によれば、従来の音声認識精度推定装置(特許文献1)では得られなかった、認識結果単語列中の各単語の分類(正解/置換誤り/挿入誤り/削除誤り)を確率的に推定でき、更にそれらを基に認識結果単語列中の正解単語数、置換誤り単語数、挿入誤り単語数、削除誤り単語数、正解単語列中の単語数の推定値が得られ、かつ、音声認識精度も本来の細かな数値で得ることができる。
次に、図10、図11、図12を参照して、実施例1の音声認識精度推定装置400の変形例である実施例2に係る音声認識精度推定装置について詳細に説明する。図10は本実施例の音声認識精度推定装置500の構成を示すブロック図である。図11は本実施例の音声認識精度推定装置500の動作を示すフローチャートである。図12は本実施例の1−best単語アライメント結果シンボル列取得部60が行う単語アライメントネットワークを1−best単語アライメント結果シンボル列に変換する処理について示す図である。図10に示すとおり、本実施例の音声認識精度推定装置500は、音声認識部30、単語アライメントネットワーク取得部40、1−best単語アライメント結果シンボル列取得部60、認識精度計算部70を備える。本実施例の音声認識精度推定装置500が備える音声認識部30、単語アライメントネットワーク取得部40は、実施例1の音声認識精度推定装置400が備える同一番号の各構成部と同じ動作をする。従って、単語アライメントネットワーク取得部40にて単語アライメントネットワークを取得するまでの処理は実施例1と同じであるため、説明を割愛する。本実施例においては、1−best単語アライメント結果シンボル列取得部60が、単語アライメントネットワークを1−best単語アライメント結果シンボル列に変換する(S60)。
1−best単語アライメント結果シンボル列とは、単語アライメントネットワークにおいて、何れかのセグメントにおける最大確率が正解確率である場合にシンボルC、何れかのセグメントにおける最大確率が置換誤り確率である場合にシンボルSを、何れかのセグメントにおける最大確率が挿入誤り確率である場合にシンボルIを、何れかのセグメントにおける最大確率が削除誤り確率である場合にシンボルDを、セグメント毎に付与して連結したものである。
図12に1−best単語アライメント結果シンボル列への変換処理を示す。この変換処理は、上記した単語コンフュージョンネットワークから1−best認識結果単語列を得る処理と同じで、単語アライメントネットワーク上の各セグメント中で最高の存在確率を持つ単語アライメント結果シンボル(太いアークで示されている)を連結していく。図12の場合、この変換処理により、“CDSCCDεC”という1−best単語アライメント結果シンボル列を得ることができる。ここで、1−best単語アライメント結果シンボルCの個数を正解単語数の推定値E(#C)、1−best単語アライメント結果シンボルSの個数を置換誤り単語数の推定値E(#S)、1−best単語アライメント結果シンボルDの個数を削除誤り単語数の推定値E(#D)、1−best単語アライメント結果シンボルC、S、Dの個数の和を認識結果単語数の推定値E(#N)と書くことができる。従って、E(#C)、E(#S)、E(#D)、E(#N)は、0以上の整数として数え上げることができ、E(#C)=4、E(#S)=1、E(#D)=2、E(#N)=E(#C)+E(#S)+E(#D)=4+1+2=7となる。ただし、1−best単語アライメント結果シンボル列には挿入誤りを表す単語アライメント結果シンボルIが含まれないため、認識結果単語列中の挿入誤り単語数の推定値E(#I)は得られない。しかし、ここで、音声認識においては挿入誤り数と脱落(削除)誤り数が同じような値になることが多いという参考非特許文献2の知見に基づけば、E(#I)=E(#D)と推定することは可能である。よって、認識精度計算部70において、
に従い、単語正解率=((7−1−2)/7)×100=(4/7)×100≒57.14[%]、単語正解精度=((7−1−2−2)/7)×100=(4−2/6)×100≒33.33[%]と計算できる。
以上のように、本実施例の音声認識精度推定装置500によれば、従来の音声認識精度推定装置(特許文献1)では得られなかった、認識結果単語列中の各単語の分類(正解/置換誤り/削除誤り)を推定でき、更にそれらを基に認識結果単語列中の正解単語数、置換誤り単語数、挿入誤り単語数、削除誤り単語数、正解単語列中の単語数の推定値を整数値で得ることができ、かつ、音声認識精度も本来の細かな数値で得ることができる。
以下、図13、図14、図15、図16を参照して、実施例3に係る識別的音声認識精度推定装置について詳細に説明する。図13は本実施例の識別的音声認識精度推定装置600の構成を示すブロック図である。図14は本実施例の音声認識部630の構成を示すブロック図である。図15は本実施例の識別的音声認識精度推定装置600の動作を示すフローチャートである。図16は1−best認識結果単語列中の各単語に対して確率的単語分類結果を付与する処理について示す図である。
図13に示すとおり、本実施例の識別的音声認識精度推定装置600は、音声認識部630、単語アライメントネットワーク取得部40、1−best単語アライメント結果シンボル列取得部60、1−best認識結果単語列取得部80、単語特徴量ベクトル作成部90、単語関連情報記憶部100、認識結果単語確率的分類モデル記憶部110、認識結果単語確率的分類部120、確率的認識精度計算部130を備える。図14に示すとおり、音声認識部630は、単語ラティス生成手段631、単語コンフュージョンネットワーク生成手段32、対立候補情報生成手段632を備える。本実施例の識別的音声認識精度推定装置600が備える単語アライメントネットワーク取得部40、1−best単語アライメント結果シンボル列取得部60は、実施例2の音声認識精度推定装置500が備える同一番号の各構成部と同じ動作をする。従って、単語アライメントネットワーク取得部40、1−best単語アライメント結果シンボル列取得部60における処理は実施例2と同じであるため、説明を割愛する。
まず音声認識部630は、入力端子2に入力される音声を音声認識し、当該音声認識結果を単語ラティス、および単語コンフュージョンネットワークの形式で生成する。音声認識部630は、これらに加えて後述する対立候補情報を生成し、生成した単語ラティスと、単語コンフュージョンネットワークと、対立候補情報とを出力する(S630)。上記に加え、音声認識部630は、音声認識の過程において、特許文献1の音声認識装置900の音声認識部6と同様に、ディジタル音声信号の特徴量ベクトルの時系列への変換や、音響モデルと言語モデルを用いた尤度計算などを行う。これらの処理は従来の音声認識と同様であるため詳細は割愛する。
より詳細には、単語ラティス生成手段631は、単語ラティスを生成する(SS631)。単語コンフュージョンネットワーク生成手段32は、生成された単語ラティスから単語コンフュージョンネットワークを生成する(SS32)。この処理は、実施例1における単語コンフュージョンネットワーク生成手段32の処理と同じである。次に、対立候補情報生成手段632は、単語ラティス及び単語コンフュージョンネットワークから対立候補情報を生成する(SS632)。
単語ラティスは複数の認識結果単語列の表現形式であり、これを変換して単語コンフュージョンネットワークが生成される。単語ラティスを単語コンフュージョンネットワークに変換する手順は、例えば、参考非特許文献1に詳述されている。単語コンフュージョンネットワークの方が単語ラティスよりも効率よくコンパクトに複数の認識結果単語列を表現するが、単語ラティスには単語コンフュージョンネットワークには保存されていない情報、例えば、認識結果単語の音響尤度や言語尤度などが記録されている。対立候補情報とは、ある認識結果単語を認識中(探索処理実行中)に、対立候補の単語はいくつあったかを示す情報のことである。
次に、実施例2同様にステップS40、S60が実行されてそれぞれ単語アライメントネットワーク、1−best単語アライメント結果シンボル列を生成する(S40、S60)。次に、音声認識部630から出力された単語コンフュージョンネットワークを入力として、1−best認識結果単語列取得部80は、1−best認識結果単語列を取得する(S80)。1−best認識結果単語列を取得する処理については図8において説明したとおりであり、例えば、図8の単語コンフュージョンネットワークからは、“私ε定額に行くεεた”、という1−best認識結果単語列を得ることができる。単語特徴量ベクトル作成部90は、1−best認識結果単語列中の各単語(εも含む)に対して、単語コンフュージョンネットワークから得られる情報(存在確率、競合単語の数)、単語ラティスから得られる情報(音響尤度、言語尤度)、対立候補情報、単語アライメントネットワークから得られる情報(単語アライメント結果シンボルAj(A=C/S/I/D)の存在確率p(Aj))、1−best単語アライメント結果シンボル列から得られる情報(単語アライメント結果シンボル)を取得する。また同時に単語関連情報記憶部100から、認識結果単語に対する情報(単語関連情報)を取得する。単語関連情報は認識結果単語の品詞情報などを表す。これらの情報は単語関連情報記憶部100から抽出する。単語特徴量ベクトル作成部90は、これらの入力情報を並べて、単語特徴量ベクトルを作成する(S90)。単語特徴量ベクトルの作成に際し、入力情報はどんな順序で並べても構わないが、一度順序を決めた後はそれを変えないようにする。認識結果単語確率的分類部120は、単語特徴量ベクトル作成部90で作成された1−best認識結果単語列中の各単語(εも含む)の単語特徴量ベクトルを入力として、認識結果単語確率的分類モデル記憶部110に記憶された認識結果単語確率的分類モデル(モデルパラメータ)を用いて、1−best認識結果単語列中の各単語(εも含む)を確率的に単語アライメント結果シンボルに分類し、各シンボルに対し確率を付与する(S120)。このように、セグメント毎に単語アライメント結果シンボルと各シンボルの確率とを対にして表記した結果を確率的単語分類結果と呼ぶ。
別の表現をすれば、1−best認識結果単語列中の各単語(εも含む)の単語特徴量ベクトルと、予め学習された認識結果単語確率的分類モデル(モデルパラメータ)とを用いて付与した、1−best認識結果単語列中の各単語が正解である確率、置換誤りである確率、挿入誤りである確率、削除誤りである確率、ε(認識結果単語なし)である確率をセグメント毎に表記した結果を確率的単語分類結果ということができる。
すなわち、例えば1−best認識結果単語列中のj番目の1−best認識結果単語に対して、それが正解である確率p(Cj)、置換誤りである確率p(Sj)、挿入誤りである確率p(Ij)、削除誤りである確率p(Dj)、εである確率p(εj)を付与する。ここで、p(Cj)+p(Sj)+p(Ij)+p(Dj)+p(εj)=1である。この処理の様子を図16に示す。認識結果単語確率的分類モデルは、例えば、参考非特許文献3に詳述されている条件付確率場(Conditional_Random_Fields:CRF)などであり、学習データを用いて1−best認識結果単語列中の各単語の単語特徴量ベクトル(当該単語の単語特徴量ベクトルだけでなく当該単語の前後数単語の単語特徴量ベクトルが用いられることもある。これは以下の実施例でも同じである)と、当該単語が正解である確率、置換誤りである確率、挿入誤りである確率、削除誤りである確率、εである確率の関係を予め学習しておく。続く確率的認識精度計算部130では、実施例1の確率的認識精度計算部50と同様に、確率的単語分類結果を用いて音声認識精度を計算し、計算した音声認識精度を出力する(S130)。
1−best認識結果単語列中の正解単語数の推定値E(#C)、置換誤り単語数の推定値E(#S)、挿入誤り単語数の推定値E(#I)、削除誤り単語数の推定値E(#D)は、それぞれ、式(5)、式(6)、式(7)、式(8)で計算できる。図16の例の場合、E(#C)=3.4、E(#S)=0.9、E(#I)=0.8、E(#D)=1.4となる(E(ε)=1.5と計算できるがこれは以降の認識精度推定には用いない)。また、式(9)より正解単語列中の単語数の推定値はE(#N)=3.4+0.9+1.4=5.7となる。単語正解率及び単語正解精度は式(10)及び式(11)で計算できる。図16の例の場合、単語正解率=(3.4/5.7)×100=59.65[%]、単語正解精度=((3.4−0.8)/5.7)×100=45.61[%]となる。
なお、本実施例においては、単語特徴量ベクトル作成部90において、単語コンフュージョンネットワークから得られる情報、単語ラティスから得られる情報、対立候補情報、単語アライメントネットワークから得られる情報、1−best単語アライメント結果シンボル列から得られる情報、及び単語関連情報を入力情報として、これらを並べることにより単語特徴量ベクトルを生成することとしたが、これに限られず、単語特徴量ベクトル作成部90において、音声認識部630から取得する何れの情報を用いて単語特徴量ベクトルを生成しても良い。この場合、認識結果単語確率的分類モデル記憶部110には、上記入力情報のバリエーションに合わせて予め学習した認識結果単語確率的分類モデルを記憶しておく。そして、認識結果単語確率的分類部120は、単語特徴量ベクトル作成部90で作成された1−best認識結果単語列中の各単語(εも含む)の単語特徴量ベクトルを入力として、認識結果単語確率的分類モデル記憶部110に記憶された認識結果単語確率的分類モデルを用いて、1−best認識結果単語列中の各単語(εも含む)を確率的に単語アライメント結果シンボルに分類し、各シンボルに対し確率を付与することとすればよい。
以上のように、本実施例の識別的音声認識精度推定装置600によれば、従来の音声認識精度推定装置(特許文献1)では得られなかった、認識結果単語列中の各単語の分類(正解/置換誤り/挿入誤り/削除誤り)を確率的に推定でき、更にそれらを基に認識結果単語列中の正解単語数、置換誤り単語数、挿入誤り単語数、削除誤り単語数、正解単語列中の単語数の推定値が得られ、かつ、音声認識精度も本来の細かな数値で得ることができる。また、本識別的音声認識精度推定装置600では、従来の音声認識精度推定装置(特許文献1)で使用されていた発話特徴量ベクトルよりもより詳細な単語単位の特徴量ベクトルを用いるので、より高精度な認識精度推定が可能になる。
次に、図17、図18、図19を参照して、実施例3の識別的音声認識精度推定装置600の変形例である実施例4に係る識別的音声認識精度推定装置について詳細に説明する。図17は本実施例の識別的音声認識精度推定装置700の構成を示すブロック図である。図18は本実施例の識別的音声認識精度推定装置700の動作を示すフローチャートである。図19は本実施例の認識結果単語分類確定部140が行う認識結果単語の分類を確定する処理を例示する図である。
実施例4の識別的音声認識精度推定装置700は、音声認識部630、単語アライメントネットワーク取得部40、1−best単語アライメント結果シンボル列取得部60、1−best認識結果単語列取得部80、単語特徴量ベクトル作成部90、単語関連情報記憶部100、認識結果単語確率的分類モデル記憶部110、認識結果単語確率的分類部120、認識結果単語分類確定部140、認識精度計算部150を備える。本実施例の識別的音声認識精度推定装置700が備える音声認識部630、単語アライメントネットワーク取得部40、1−best単語アライメント結果シンボル列取得部60、1−best認識結果単語列取得部80、単語特徴量ベクトル作成部90、単語関連情報記憶部100、認識結果単語確率的分類モデル記憶部110、認識結果単語確率的分類部120は、実施例3の識別的音声認識精度推定装置600が備える同一番号の各構成部と同じ動作をする。従って、認識結果単語確率的分類部120にて認識結果単語を単語アライメント結果シンボルに分類して確率を付与するまでの処理(ステップS120まで)は、実施例3と同じである。
認識結果単語分類確定部140では認識結果単語の確率的分類を基に認識結果単語の単語アライメント結果シンボルを確定する(S140)。すなわち、認識結果単語に付与されている、正解である確率p(Cj)、置換誤りである確率p(Sj)、挿入誤りである確率p(Ij)、削除誤りである確率p(Dj)、ε(認識結果単語なし)である確率p(εj)を比較し、最高の確率を与える単語アライメント結果シンボルに認識結果単語の分類を確定する。この処理の様子を図19に示す。図19の例では、1−best認識結果単語列の確定した単語アライメント結果シンボル列は、“CεSICDεC”となる。これより1−best認識結果単語列中の正解単語数の推定値E(#C)、置換誤り単語数の推定値E(#S)、挿入誤り単語数の推定値E(#I)、削除誤り単語数の推定値E(#D)は、0以上の整数として数え上げることができる。図19の例では、E(#C)=3、E(#S)=1、E(#I)=1、E(#D)=1となる。また正解単語列中の単語数の推定値E(#N)も0以上の整数として数え上げることができ、E(#N)=E(#C)+E(#S)+E(#D)=3+1+1=5となる。単語正解率及び単語正解精度は式(10)及び式(11)で計算でき、単語正解率(3/5)×100=60.00[%]、単語正解精度=((3−1)/5)×100=40.00[%]となる。
以上のように、本実施例の識別的音声認識精度推定装置700によれば、従来の音声認識精度推定装置(特許文献1)では得られなかった、認識結果単語列中の各単語の分類(正解/置換誤り/挿入誤り)を推定でき、更にそれらを基に認識結果単語列中の正解単語数、置換誤り単語数、挿入誤り単語数、削除誤り単語数、正解単語列中の単語数の推定値を整数値として得ることができ、かつ、音声認識精度も本来の細かな数値で得ることができる。また、本識別的音声認識精度推定装置700では、従来の音声認識精度推定装置(特許文献1)で使用されていた発話特徴量ベクトルよりもより詳細な単語単位の特徴量ベクトルを用いるので、より高精度な認識精度推定が可能になる。
以下、図20、図21、図22を参照して、実施例3の変形例である実施例5に係る識別的音声認識精度推定装置について詳細に説明する。図20は本実施例の識別的音声認識精度推定装置800の構成を示すブロック図である。図21は本実施例の識別的音声認識精度推定装置800の動作を示すフローチャートである。図22は1−best認識結果単語列中の各単語に対してCSI単語分類結果及び確率的削除誤り検出結果を付与する処理について示す図である。
図20に示すとおり、本実施例の識別的音声認識精度推定装置800は、音声認識部630、単語アライメントネットワーク取得部40、1−best単語アライメント結果シンボル列取得部60、1−best認識結果単語列取得部80、単語特徴量ベクトル作成部90、単語関連情報記憶部100、認識結果単語確率的分類モデル記憶部110、CSI分類部160、削除誤り確率的検出部170、削除誤り確率的検出モデル記憶部180、確率的認識精度計算部130を備える。本実施例の識別的音声認識精度推定装置800は、実施例3の識別的音声認識精度推定装置600の構成に加えて、削除誤り確率的検出部170、削除誤り確率的検出モデル記憶部180を備える。また、実施例3の識別的音声認識精度推定装置600の認識結果単語確率的分類部120は、本実施例の識別的音声認識精度推定装置800においてCSI分類部160及び削除誤り確率的検出部170に変更されている。単語特徴量ベクトル作成部90にて1−best認識結果単語列中の各単語(εも含む)に対して単語特徴量ベクトルを付与するまでの処理(S630、S40、S60、S80、S90)は実施例3と同じであるので説明を割愛する。
実施例3では、1−best認識結果単語列中の正味の単語及びε(認識結果単語なし)に対して、同一内容の単語特徴量ベクトルを付与している。しかし実際にはε以外の正味の単語とεに同一内容の単語特徴量ベクトルを付与することは難しい。例えば、ε以外の正味の単語に対しては言語確率を特徴量ベクトルの一次元として付与することが可能であるが、εに対しては付与することはできない(例えば付与できないことをマイナスの確率として表現するようなことしかできない)。また実施例3では1−best認識結果単語列中の各単語(εも含む)を、ひとつの認識結果単語確率的分類部120で、正解(C)、置換誤り(S)、挿入誤り(I)、削除誤り(D)、ε(認識結果単語なし)という5シンボルに分類しているが、分類器の数(ひとつ)に対してシンボル数(5)が多く、高い分類精度を得ることは困難である。
そこで、実施例5では、単語アライメントネットワーク(例えば図9)による分類結果(正解(C)、置換誤り(S)、挿入誤り(I)、削除誤り(D)、ε(認識結果単語なし)、すなわち実施例1の結果)をある程度正しいものとして考える。すなわち、1−best認識結果単語列中のε以外の正味の単語(図9ではセグメント1、3、4、5、8)は、正解(C)、置換誤り(S)、挿入誤り(I)のいずれかに分類され、εの区間(図9ではセグメント2、6、7)は削除誤り(D)かεのまま(すなわち削除誤りなし(No−D))に分類されるものとする。このような考えの下で、1−best認識結果単語列中のε以外の正味の単語とεに、それぞれ別の内容の単語特徴量ベクトルを付与し、それぞれ別の分類部で分類を実行することにする。従って、CSI分類部160は、1−best認識結果単語列中のε以外の正味の単語を、認識結果単語確率的分類モデルを用いて正解(C)、置換誤り(S)、挿入誤り(I)の3シンボルのいずれかに分類し、各シンボルに対し確率を付与して、CSI単語分類結果として出力する(S160)。削除誤り確率的検出部170は、1−best認識結果単語列中のεを、削除誤り確率的検出モデルを用いて削除誤り(D)、削除誤りなし(No−D、ε)の2シンボルのいずれかに分類し、各シンボルに対し確率を付与して、確率的削除誤り検出結果として出力する(S170)。
別の表現では、CSI分類部160は、1−best認識結果単語列中のε以外の各単語の単語特徴量ベクトルと、予め学習された認識結果単語確率的分類モデルとを用いて、1−best認識結果単語列中のε以外の各単語が正解である確率、置換誤りである確率、挿入誤りである確率をセグメント毎に表記したCSI単語分類結果を生成する(S160)。削除誤り確率的検出部170は、1−best認識結果単語列中のεの単語特徴量ベクトルと、予め学習された削除誤り確率的検出モデルとを用いて、1−best認識結果単語列中のεが削除誤りである確率、εである確率をセグメント毎に表記した確率的削除誤り検出結果を生成する(S170)。
この処理手順の具体例を図22に示す。以下、CSI単語分類結果と確率的削除誤り検出結果とを併せて確率的単語分類結果として扱う。実施例3と同様に、確率的認識精度計算部130は、これらの確率的単語分類結果を用いて音声認識精度を計算し、計算した音声認識精度を出力する(S130)。
実施例5の識別的音声認識精度推定装置800によれば、実施例3との比較において、分類器の数に対してシンボル数が少なくなっており、より高精度の分類結果を取得することが可能となる。結果的に確率的認識精度計算部130においてより高精度に認識精度推定を行うことが可能となる。
以下、図23、24、25を参照して、実施例5の変形例である実施例6に係る識別的音声認識精度推定装置について詳細に説明する。図23は本実施例の識別的音声認識精度推定装置1000の構成を示すブロック図である。図24は本実施例の識別的音声認識精度推定装置1000の動作を示すフローチャートである。図25はCSI単語分類結果及び削除誤り数毎の削除誤り確率を付与する処理について示す図である。
図23に示すとおり、本実施例の識別的音声認識精度推定装置1000は、音声認識部630、単語アライメントネットワーク取得部40、1−best単語アライメント結果シンボル列取得部60、1−best認識結果単語列取得部80、連結単語特徴量ベクトル作成部190、単語関連情報記憶部100、認識結果単語確率的分類モデル記憶部110、CSI分類部160、削除誤り確率的検出モデル記憶部180、削除誤り数検出部200、確率的認識精度計算部130を備える。実施例5の識別的音声認識精度推定装置800の単語特徴量ベクトル作成部90は、本実施例の識別的音声認識精度推定装置1000において連結単語特徴量ベクトル作成部190に変更されている。また、実施例5の識別的音声認識精度推定装置800の削除誤り確率的検出部170は、本実施例の識別的音声認識精度推定装置1000において削除誤り数検出部200に変更されている。1−best認識結果単語列取得部80にて1−best認識結果単語列を取得するまでの処理(S630、S40、S60、S80)は実施例5と同じであるので説明を割愛する。
実施例5では、単語アライメントネットワーク(例えば図9)による分類結果(正解(C)、置換誤り(S)、挿入誤り(I)、削除誤り(D)、ε(認識結果単語なし)、すなわち実施例1の結果)をある程度正しいものとして考えたため、削除誤りが生じる可能性のある箇所は、元の単語アライメントネットワークのεの区間(図9ではセグメント2、6、7)に限られていた。しかし、実際には削除誤りは、単語アライメントネットワークのεの区間だけでなく、文頭(図9ではセグメント1の前)及び文末(図9ではセグメント8の後)も含めた任意の単語間に複数個出現する可能性がある。
そこで本実施例では、1−best認識結果単語列中の各正味の単語を実施例5と同様にCSI分類部160により正解(C)、置換誤り(S)、挿入誤り(I)の3シンボルに分類するとともに、各正味の単語を基準として、その前の(先行する)正味の単語との間に削除誤りが何個あるかを示す削除誤り確率を、実施例5と同様に削除誤り数検出部200により検出する。
詳細には、ステップS80の後、連結単語特徴量ベクトル作成部190は、正味の単語(ε以外の単語)に対して単語特徴量ベクトルを生成し、当該正味の単語に先行する正味の単語との間に存在するεの単語特徴量ベクトルを生成して、これらの単語特徴量ベクトルを連結して連結単語特徴量ベクトルを取得する(S190)。例えば図25において、「定額」という正味の単語に注目する(図9ではセグメント3)。まず、連結単語特徴量ベクトル作成部190は、この単語に対して、単語特徴量ベクトル(図中白色の矩形)を付与する。次に、連結単語特徴量ベクトル作成部190は、「定額」に先行するε(図9ではセグメント2)の単語特徴量ベクトル(図中黒色の矩形)を連結して、「定額」の連結単語特徴量ベクトルを生成する。連結単語特徴量ベクトル作成部190は、このような処理を全ての正味の単語について行い、連結単語特徴量ベクトルを取得する(S190)。この連結単語特徴量ベクトルを用いて、実施例5と同様に、CSI分類部160が、1−best認識結果単語列中の正味の単語を正解(C)、置換誤り(S)、挿入誤り(I)の3シンボルに分類して確率を付与する(S160)。次に、削除誤り数検出部200は、各正味の単語と先行する正味の単語の間に何個の削除誤りがあるかを示す確率(削除誤り数毎の削除誤り確率)を検出する(S200)。図25の正味の単語「定額」における削除誤り確率的検出結果を見ると、「No−D(ε) 0.1 D1 0.7 D2 0.2 D3...」となっている。これは、「削除誤りなし(No−D、ε)の確率が0.1、削除誤りがひとつある(D1)確率が0.7、削除誤りが二つある(D2)確率が0.2、削除誤りが三つある確率(D3)が…」という意味である。上述したようにDxを削除誤りがx個あることを表すシンボルとし、p(Dx)を削除誤りがx個ある確率、p(ε)をεである確率とすれば、以下の等式が成り立つ。
しかしながら、ひとつの単語間における削除誤りの数を無限まで考慮することは現実的ではない。そのため、例えばxの最大値をy−1として、D’yの意味を削除誤りがy個以上あることを表すシンボルとし、p(D’y)を削除誤りがy個以上ある確率として、無限までをカバーするのが現実的である。この場合、以下の等式が成り立つ。
y=1の場合は、
となり、削除誤りの数を数えることをあきらめ、単語間に削除誤りがあるかないかのみを検出する。本実施例では、CSI単語分類結果と削除誤り数毎の削除誤り確率とを併せて確率的単語分類結果として扱う。
確率的認識精度計算部130は、実施例3、5と同様に、これらの確率的単語分類結果を用いて音声認識精度を計算し、計算した音声認識精度を出力する(S130)。
ただし、この際、削除誤り数E(#D)の計算(式(8))については、少し変更を加える。上記したように、削除誤りに関しては、その数(特に数が多い場合)まで正確に推定することは実際には困難である。このため、現実的には、上記式(13)で表現されるように、ある単語間に「削除誤りがない(ε)」か、「削除誤りが一つある(D1)」か、「削除誤りが二つある(D2)」か,...,「削除誤りがy個以上ある(D’y)」か、というような分類を行う。そしてこの分類結果から削除誤り数を計算する際には、「削除誤りがy個以上ある(D’y)」を「削除誤りがy個ある(Dy)」として、以下の式により、削除誤り数E(#D)の計算を行う。
ここで、nは正味の単語間のID、Dn,xは単語間nの削除誤り数がx個であること、p(Dn,x)はDn,xの確率を表す。
また、上記では各正味の単語を基準として、その前の(先行する)正味の単語との間に削除誤りが何個あるかを検出するものとしたが、各正味の単語を基準として、その後ろの(後続する)正味の単語との間に削除誤りが何個あるかを検出するものとしてもよい。あるいはこれらを両方行って、得られた検出結果確率を平均してもよい。
本実施例の識別的音声認識精度推定装置1000によれば実施例5では不可能であった任意の単語間に複数個出現する可能性のある削除誤りの検出が可能となる。
(参考非特許文献1)L. Mangu, E. Brill and A. Stolcke, “Finding consensus in speech recognition: word error minimization and other applications of confusion networks,” Computer Speech and Language, vol. 14, pp. 373-400, 2000.
(参考非特許文献2)L. Zhou, Y. Shi, D. Zhang and A. Sears, "Discovering cues to error detection in speech recognition output: a user-centered approach,"Journal of Management Information Systems," Spring 2006, vol. 22, no. 4, pp. 237-270.
(参考非特許文献3)J. Lafferty, A. McCallum and F. Pereira, “Conditional random fields: probabilistic models for segmenting and labeling sequence data,”Proc. ICML, pp. 282-289, 2001.
なお、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。
なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。