以下、図面を参照しながら本発明の実施形態を詳細に説明する。
一般的に、人間は発話を開始する直前に、発話を行うために、安静時の吸気よりもより大きく吸気を行うことが知られている(例えば、参考文献1参照)。そこで、本実施形態の会話支援システムは、会話の各参加者が適切なタイミングで発話ができるように、発話の直前に行うべき呼吸を、次話者に対しては誘発し、次話者以外に対しては抑制するよう制御する。この呼吸の制御は、会話の参加者の胸部又は腹部を圧迫又は解放することにより行う。胸部又は腹部を圧迫又は解放するデバイスとして、例えば、ベルトタイプのバンドを用いる。
(参考文献1):石井 亮,外3名,「複数人対話での話者交替に関する呼吸動作の分析〜次話者と発話開始タイミングの予測モデルの構築に向けて〜」,社団法人 電子情報通信学会,信学技報,vol. 114,no. 189,HCS2014-49,p.35-40,2014年8月
なお、本実施形態で取り扱う会話は、参加者が対面して行う会話でもよく、テレビ電話やビデオチャットなど映像を用いた会話でもよい。また、対面で会話する参加者と映像を用いて会話する参加者とが存在してもよい。
図1は、本発明の一実施形態による会話支援システム1の構成を示す機能ブロック図であり、本実施形態と関係する機能ブロックのみを抽出して示してある。
同図に示すように、会話支援システム1は、音声入力装置2、計測装置3、呼吸補助装置4、及び、会話支援装置5を備えて構成される。
音声入力装置2は、例えばマイクロホンであり、各参加者の音声を入力する。計測装置3は、各参加者の非言語行動を計測する。計測する非言語行動は、視線、頭部の動き、及び、呼吸のうち1以上を含む。音声入力装置2及び計測装置3はそれぞれ、複数台であってもよい。例えば、各参加者に音声入力装置2及び計測装置3が装着され得る。
呼吸補助装置4は、測定者の呼吸の誘発及び抑制を行うデバイスである。呼吸補助装置4は、例えば、測定者の胸部又は腹部、あるいは、その両方など、参加者の体幹の一部に装着されるベルトである。呼吸補助装置4には、気体などにより膨らむ圧迫帯と、圧迫帯の制御装置が取り付けられている。圧迫帯に対して気体を送気又は排気することにより、圧迫量を調節することができる。呼吸補助装置4の制御装置は、会話支援装置5から指示された圧迫量となるように、圧迫帯に気体の送気又は排気を行う。あるいは、呼吸補助装置4には、ベルト状の圧迫帯と、圧迫帯の巻きとり量を調整する制御装置とが取り付けられてもよい。制御部が圧迫帯を巻き取る量を調節することで圧迫帯の長さを調整し、これにより圧迫量を調節することができる。なお、呼吸補助装置4には、測定者の胸部や腹部の圧迫の程度を調節できれば、任意のデバイスを使用することが可能である。以下では、会話の参加者の数をm人(mは2以上の整数)、i番目の参加者(iは1以上m以下の整数)を参加者Uiとするとき、参加者Uiの呼吸補助装置4を、呼吸補助装置4−iとも記載する。
会話支援装置5は、受信部51、記憶部52、次話者推定部53、及び、呼吸制御部54を備える。
受信部51は、音声入力装置2から会話中の参加者の音声データを受信し、参加者の識別情報と、その参加者の音声データとを対応付けた音声情報を記憶部52に書き込む。音声データには、音声が得られた時刻の情報が含まれる。また、受信部51は、計測装置3から会話中の各参加者の非言語行動に関する計測結果を示すデータを受信し、参加者の識別情報と、その参加者の時系列の非言語行動の計測結果のデータとを対応付けた計測情報を記憶部52に書き込む。
次話者推定部53は、既存の任意の技術により、会話中の各参加者の非言語行動の計測値に基づいて、次に発話を行うべき次話者を推定する。本実施形態では、次話者推定部53は、記憶部52に記憶された音声情報に基づき発話末を検出すると、発話末において、記憶部52に記憶された計測情報を用いて、各参加者が次話者となる確率及び発話開始タイミングを予測する。会話におけるn回目の発話をIPUn、発話IPUnの発話末において参加者Uiが時刻tにおいて次話者となる確率をPi (n+1)(t)とする。次話者推定部53は、推定結果を示す情報を呼吸制御部54に出力する。
呼吸制御部54は、次話者推定部53による推定結果に基づいて、各参加者が装着している呼吸補助装置4を制御する。呼吸制御部54は、平常状態において、ある程度、参加者の胸部・腹部を圧迫するよう呼吸補助装置4を制御する。以下では、平常状態における圧迫量を定常圧迫量とする。定常圧迫量の上限Cmaxは、人が息苦しさを感じることがない程度の圧迫量とする。呼吸制御部54は、次話者推定部53から発話IPUnの発話末における推定結果を示す情報を入力すると、次話者となる確率Pi (n+1)(t)が最も高い参加者を予測次話者として選択し、予測次話者以外の参加者を予測非次話者とする。呼吸制御部54は、選択した予測次話者の確率Pi (n+1)(t)が最も高い時刻を予測発話開始時刻tdusとする。呼吸制御部54は、予測発話開始時刻tdusから所定時間aだけ遡った時刻を吸気開始時刻tinsとし、吸気開始時刻tinsから所定時間b(a>b)だけ経過した時刻を吸気終了時刻tineとして算出する。なお、所定時間a及びbは、予め一般的に求めた平均値を利用してもよく、予め参加者ごとに求めた平均値を利用してもよい。呼吸制御部54は、予測次話者に発話前に吸気をさせるように、吸気開始時刻tinsから吸気終了時刻tineにかけて、徐々に呼吸補助装置4の圧迫量を減少させ、締め付けを緩める。そして、呼吸制御部54は、予測発話開始時刻tdusに予測次話者の発話開始を誘発するために、予測発話開始時刻tdus経過後、予測次話者の呼吸補助装置4の圧迫量を徐々に増加させ、締め付けを開始する。呼吸制御部54は、予測非次話者の呼吸補助装置4に対しては、定常圧迫量による圧迫を継続する。
なお、会話支援装置5は、1台のコンピュータ装置により実現してもよく、ネットワークにより接続される複数のコンピュータ装置により実現してもよい。会話支援装置5を複数のコンピュータ装置により実現する場合、いずれの機能部をいずれのコンピュータ装置により実現するかは任意とすることができる。また、1つの機能部を、複数台のコンピュータ装置により実現してもよい。
図2は、会話支援システム1の動作を示すフロー図である。
音声入力装置2は、会話中の各参加者の音声データをリアルタイムで送信している。同様に、計測装置3は、会話中に計測した各参加者の非言語行動の情報をリアルタイムで送信している。受信部51は、音声入力装置2から受信した参加者の音声のデータに基づいて音声情報を記憶部52に書き込む。さらに、受信部51は、計測装置3から受信した各参加者の非言語行動を示すデータに基づいて非言語行動情報を記憶部52に書き込む。
次話者推定部53は、nに初期値1を設定する(ステップS105)。記憶部52に記憶された音声情報に基づき、発話IPUnの発話末を検出したか否かを判断する(ステップS105)。次話者推定部53は、1つの発話の区間を、2つの所定時間連続した無音区間で囲まれた、同一の参加者の発話成分が存在する少なくとも1つの区間を含む時間区間とする。すなわち、いずれの話者も発話していない無音区間が所定時間経過した場合に、その無音区間の開始を発話末と判断する。次話者推定部53は、発話末ではないと判断した場合(ステップS110:NO)、ステップS110の処理を繰り返す。
次話者推定部53は、発話IPUnの発話末を検出したと判断すると(ステップS110:YES)、記憶部52に記憶された非言語行動情報に基づいて、各参加者Ui(iは1以上m以下の整数)が時刻tにおいて次話者となる確率をPi (n+1)(t)を算出する(ステップS115)。次話者推定部53は、算出結果を呼吸制御部54に出力する。
呼吸制御部54は、次話者推定部53が算出した各参加者Uiが時刻tにおいて次話者となる確率Pi (n+1)(t)に基づき予測次話者を選択する(ステップS120)。例えば、呼吸制御部54は、確率Pi (n+1)(t)が高い順にQ人(Qは1以上m以下の整数)の参加者Uiを予測次話者として選択する。また、例えば、呼吸制御部54は、確率Pi (n+1)(t)が所定の閾値よりも高い参加者Uiを全て予測次話者に選択する。またあるいはそれらを組み合わせ、呼吸制御部54は、確率Pi (n+1)(t)が所定の閾値よりも高い参加者Uiを全て予測次話者に選択し、選択された参加者がいない場合は、確率Pi (n+1)(t)が高い順にQ人の参加者Uiを予測次話者として選択してもよい。このように、呼吸制御部54は、確率Pi (n+1)(t)が予測次話者となる条件を満たしている場合、参加者Uiを予測次話者として選択する。ここでは、呼吸制御部54は、確率Pi (n+1)(t)が最も高い参加者Uiを予測次話者として選択する。
呼吸制御部54は、予測次話者の確率Pi (n+1)(t)が最も高い時刻を予測発話開始時刻tdusとする。呼吸制御部54は、予測発話開始時刻tdusから所定時間aだけ遡った時刻を吸気開始時刻tinsとし、吸気開始時刻tinsから所定時間b(a>b)だけ経過した時刻を吸気終了時刻tineとして算出する(ステップS125)。なお、所定時間a及びbは、予め一般的に求めた平均値を利用してもよく、予め参加者ごとに求めた平均値を利用してもよい。
呼吸制御部54は、算出結果に基づいて、各参加者の呼吸補助装置4を制御する(ステップS130)。呼吸制御部54は、予測次話者に発話前に吸気をさせるように、吸気開始時刻tinsから吸気終了時刻tineにかけて、予測次話者が装着している呼吸補助装置4の圧迫量を徐々に減少させ、締め付けを緩める。呼吸制御部54は、吸気終了時刻tineになると、予測次話者が装着している呼吸補助装置4の圧迫量をそのまま維持し、締め付けを緩めたままとする。一方、呼吸制御部54は、予測非次話者の呼吸補助装置4に対しては、定常圧迫量による圧迫を継続する。
呼吸制御部54は、予測発話開始時刻tdusになったか、又は、次話者推定部53が記憶部52に記憶された音声情報に基づき次の発話の開始を検出したか否かを判断する(ステップS135)。次話者推定部53は、予測発話開始時刻tdusになっておらず、次の発話の開始も検出されていないと判断した場合(ステップS135:NO)、ステップS125の制御を継続する。次話者推定部53は、予測発話開始時刻tdusになった、又は、次の発話の開始を検出したと判断した場合(ステップS135:YES)、予測次話者の呼吸補助装置4の圧迫量を、定常圧迫量まで徐々に増加させる(ステップS140)。次話者推定部53は、予測非次話者の呼吸補助装置4に対しては、定常圧迫量による圧迫を継続する。次話者推定部53は、nに1を加算し(ステップS145)、ステップS110からの処理を繰り返す。
なお、上記においては、ステップS115において、次話者推定部53が、各参加者Uiが時刻tにおいて次話者となる確率Pi (n+1)(t)を推定しているが、次話者、及び、次話者の発話開始タイミングを推定し、呼吸制御部54に出力してもよい。この場合、呼吸制御部54は、ステップS120の処理を省略することができる。呼吸制御部54は、次話者推定部53により推定された発話開始タイミングを、予測発話開始時刻tdusとする。
図3は、会話支援システム1による呼吸制御の例を示す図である。同図においては、参加者が、参加者U1〜U4の4人である場合の例を示している。
発話IPUnの発話者は、参加者U1である。呼吸制御部54は、発話IPUnの間、参加者U1の呼吸補助装置4−1の圧迫量を、定常圧迫量Cmaxまで徐々に増加させ、参加者U2〜U4の呼吸補助装置4−2〜4−4の圧迫量を、一定の定常圧迫量Cmaxとするよう制御する。
発話IPUnが発話終了時刻tbueにおいて終了すると、次話者推定部53は、各参加者U1〜U4が時刻tにおいて次話者となる確率をPi (n+1)(t)を算出する。
呼吸制御部54は、次話者推定部53による算出結果から、参加者U2が予測次話者であり、予測発話開始時刻がtdusであると判断する。呼吸制御部54は、予測発話開始時刻tdusに基づいて吸気開始時刻tins及び吸気終了時刻tineを算出する。
呼吸制御部54は、吸気開始時刻tinsから吸気終了時刻tineにかけて、吸気を促すため、参加者U2の呼吸補助装置4−2の圧迫量を定常圧迫量Cmaxから徐々に減少させ、締め付けを緩める。呼吸制御部54は、吸気終了時刻tineから予測発話開始時刻tdusまでは、参加者U2の呼吸補助装置4−2の圧迫量を減らしたままとする。呼吸制御部54は、予測発話開始時刻tdusになったところで、参加者U2の発話開始を誘発するために、呼吸補助装置4−2の圧迫量を定常圧迫量Cmaxまで徐々に増加させ、発話IPUn+1の終了を検出するまで、定常圧迫量Cmaxによる圧迫を継続する。一方、呼吸制御部54は、参加者U1、U3、U4の呼吸補助装置4−2に対しては、発話終了時刻tbue以降、発話IPUn+1の終了を検出するまで、定常圧迫量Cmaxによる圧迫を継続する。
以上説明したように、本実施形態の会話支援システムは、会話中の各参加者の非言語行動の計測結果に基づいて、次に発話を行うべき参加者である次話者及び次の発話の開始のタイミングを推定する。会話の参加者にはそれぞれ、体幹の一部の圧迫の程度を変えて呼吸を誘発又は抑制する呼吸補助装置が装着されており、会話支援システムは、推定された次話者が装着している呼吸補助装置に対して、推定された発話開始のタイミングより前に圧迫を緩めるよう制御する。
以上説明した実施形態によれば、会話中に、適切なタイミングで適切な参加者が発話するよう支援することができる。この支援により、スムーズに会話が進行する。
会話支援システム1の音声入力装置2、計測装置3、受信部51、記憶部52、及び、次話者推定部53には、従来技術による次話者推定装置を適用することができる。例えば、参加者の発話及び視線の計測データに基づいて、発話終了時点において次話者及び発話開始タイミングを推定する技術として、以下の参考文献2、3の技術などを適用することができる。参考文献2、3では、発話者と非発話者の注視行動の遷移パターンを用いて、次発話者(次話者)および発話のタイミングを予測している。
(参考文献2)特開2014−238525公報
(参考文献3)石井亮,外4名,“複数人対話における注視遷移パターンに基づく次話者と発話タイミングの予測”,人工知能学会研究会資料,SIG-SLUD-B301-06, pp.27-34, 2013.
以下に、本実施形態に適用可能な参考文献2,3以外の次話者推定技術の例を示す。
(第1の次話者推定技術の例)
この次話者推定技術では、複数の参加者間で行われる会話を含むコミュニケーションにおいて、発話終了前後の参加者の視線行動と次に話し始める参加者や話し始めるタイミングに強い関連性があることを利用する。参加者の音声情報から発話単位を自動的に生成し、参加者全員ないしは複数の参加者の発話単位付きの視線行動を入力とし、発話区間の終了時点に対応する時間区間におけるコミュニケーション参加者の注視対象を表す注視対象ラベルから、注視対象の移り変わり(遷移)を表す注視対象遷移パターンと、視線行動の時間的な関係を表す時間構造情報とを生成する。その注視対象遷移パターンと時間構造情報とを用いて次に発話を開始する参加者およびタイミングの少なくとも一方を推定する。
この次話者推定技術では、参加者の視線行動の情報として、(1)参加者の注視対象の移り変わりを表す遷移パターン、(2)視線行動と前の発話者との時間的な関係や、視線行動の持続時間、複数人の視線行動の時間的な関係、などに着目する。以下では、上記(2)の情報を視線行動のタイミング構造情報もしくは時間構造情報と呼ぶ。例えば、タイミング構造情報のうち、ある視線行動の組でどちらが先に行動を開始もしくは終了したかという情報は、次発話者を決めるうえで非常に有用な情報となる。具体的には、ある参加者が話者と視線交差をしたときに、その参加者が先に話者から視線を外した場合、その参加者が次発話者となる確率が非常に高くなる。逆に、その参加者よりも先に話者が視線を外した場合は、その参加者が次発話者となる確率は低くなる。このように、視線行動および視線行動の移り変わり(遷移)だけでなく、視線行動の時間的な関係は次発話者や次発話開始のタイミングを予測する上で有用な情報である。
以下では、会話の参加者がU1〜UNのN人(N≧2)である場合について説明する。
図4は、本実施形態に適用可能な次話者推定システムの構成を示す図である。
注視対象検出装置911−j(ただし、j=1,…,N)は、参加者Ujが誰を注視しているか(注視対象)を検出し、参加者Ujおよび注視対象Gj(t)を表す情報を推定装置90に送る。ただし、tは離散時間を表す。例えば、注視対象検出装置911−jは、公知の視線計測装置などを用い、参加者Ujが誰を注視しているかを検出する。
音声情報取得装置912−s(ただし、s=1,…,N)は、例えば、マイクロホンを使用して、参加者Us(ただし、s=1,…,N)の音声情報を取得し、取得した音声情報Xs(t)を表す情報を推定装置90に送る。ただし、tは離散時間を表す。
発話単位抽出部91は、音声情報Xsから雑音成分を除去して発話成分のみを抽出し、それから発話区間Tsを取得する。本次話者推定技術では、1つの発話区間Tsを、2つのTdミリ秒連続した無音区間で囲まれた、発話成分が存在する少なくとも1つの区間を含む時間区間と定義する。本次話者推定技術では、この発話区間Tsを参加者Usの発話の1つの単位と規定し、ある発話区間Tsの終了時に、同じ参加者Usが続けて発話をするか(すなわち継続するか)、あるいは他の参加者の誰が発話をするのか(すなわち発話交替するか)を判定する。
また、発話単位抽出部91は、抽出した発話区間Tsに対して誰が発話者であるのかを示す話者情報Usを取得する。話者情報は、複数のマイクロホンを用いて、マイクロホンごとに収音される音声の時間差や、音の大きさ、音声的特徴などを使って抽出可能であり、一般的に考えられるあらゆる手段を用いてよい。発話単位抽出部91は、発話区間Tsとそれに対応する参加者Usを表す情報(誰が発話したかを表す話者情報)を注視対象ラベル生成部92へ出力する。
注視対象ラベル生成部92は、注視対象情報G1(t),…,GN(t)、発話区間Ts、および話者情報Usを入力とし、発話区間終了前後における注視対象ラベル情報θk(ただし、k=1,…,K、Kは注視対象ラベルの総数)を生成して出力する。注視対象ラベル情報は、発話区間Tsの終了時点Tseに対応する時間区間における参加者の注視対象を表す情報である。本次話者推定技術では、終了時点Tseを含む有限の時間区間における参加者Ujの注視対象をラベル付けした注視対象ラベル情報θkを例示する。例えば、発話区間Tsの終了時点Tseよりも前の時点Tse−Tbから終了時点Tseよりも後の時点Tse+Taまでの区間に出現した注視行動を扱う。Tb,Taは0以上の任意の値でよいが、目安として、Tbは0秒〜2.0秒、Taは0秒〜3.0秒程度にするのが適当である。
注視対象ラベル生成部92は、注視対象の参加者を以下のような種別に分類し、注視対象のラベリングを行う。
・ラベルS:話者(すなわち、話者である参加者Usを表す)
・ラベルLξ:非話者(ただし、ξは互いに異なる非話者である参加者を識別し、ξ=1,…,N−1である。例えば、ある参加者が、非話者U2、非話者U3、の順に注視をしていたとき、非話者U2にL1というラベル、非話者U3にL2というラベルが割り当てられる。)
・ラベルX:誰も見ていない
ラベルがSまたはLξのときには、相互注視(視線交差)が起きたか否かという情報を付与する。本次話者推定技術では、相互注視が起きた際には、SM,LξM(下付き添え字の「ξM」はξMを表す)のように、ラベルS,Lξの末尾にMラベルを付与する。
図5に注視対象ラベルの具体例を示す。図5はN=4の例であり、発話区間Ts,Ts+1と各参加者の注視対象が時系列に示されている。図5の例では、参加者U1が発話した後、発話交替が起き、新たに参加者U2が発話をした際の様子を示している。ここでは、話者である参加者U1が参加者U4を注視した後、参加者U2を注視している。Tse−Tbの時点からTse+Taの時点までの区間では、参加者U1が参加者U2を見ていたとき、参加者U2は参加者U1を見ている。これは、参加者U1と参加者U2とで相互注視が起きていることを表す。この場合、参加者U1の注視対象情報G1(t)から生成される注視対象ラベルはL1とL2Mの2つとなる。上述の区間では、参加者U2は参加者U4を注視した後、話者である参加者U1を注視している。この場合、参加者U2の注視対象ラベルはL1とSMの2つとなる。また、上述の区間では、参加者U3は話者である参加者U1を注視している。この場合、参加者U3の注視対象ラベルはSとなる。また、上述の区間では、参加者U4は誰も見ていない。この場合、参加者U4の注視対象ラベルはXとなる。したがって、図5の例では、K=6である。
注視対象ラベル生成部92は、注視対象ラベルごとの開始時刻、終了時刻も取得する。ここで、誰(R∈{S,L})のどの注視対象ラベル(GL∈{S,SM,L1,L1M,L2,L2M,…})であるかを示す記号としてRGL、その開始時刻をST_RGL、終了時刻をET_RGLと定義する。ただし、Rは参加者の発話状態(話者か非話者か)を表し、Sは話者、Lは非話者である。例えば、図5の例において、参加者U1の最初の注視対象ラベルはSL1であり、その開始時刻はST_SL1、終了時刻はET_SL1である。注視対象ラベル情報θkは注視対象ラベルRGL、開始時刻ST_RGL、および終了時刻ET_RGLを含む情報である。
注視対象ラベル生成部92は、以上のように得た注視対象ラベル情報θkを注視対象遷移パターン生成部93および時間構造情報生成部94へ出力する。
注視対象遷移パターン生成部93は、注視対象ラベル情報θkを入力とし、各参加者Ujの注視対象遷移パターンfjを生成する。注視対象遷移パターンの生成は、注視対象ラベルRGLを構成要素として、時間的な順序を考慮した遷移n−gramを生成して行う。ここで、nは正の整数である。例えば、図5の例を考えると、参加者U1の注視対象ラベルL1とL2Mとから生成される注視対象遷移パターンf1はL1−L2Mである。同様にして、参加者U2の注視対象遷移パターンf2はL1−SM、参加者U3の注視対象遷移パターンf3はS、参加者U4の注視対象遷移パターンf4はXとなる。
注視対象遷移パターン生成部93は、以上のように得た注視対象遷移パターンfjを推定部95へ出力する。注視対象遷移パターンfjを、例えば発話区間Ts+1が開始された後に、発話区間Tsおよびその発話者Us、発話区間Ts+1に該当する発話を行う次発話者Us+1、および次発話開始タイミングTubを表す情報とともに学習データ記憶部951に送られる。
時間構造情報生成部94は、注視対象ラベル情報θkを入力とし、注視対象ラベルごとの時間構造情報Θkを生成する。時間構造情報は参加者の視線行動の時間的な関係を表す情報であり、(1)注視対象ラベルの時間長、(2)注視対象ラベルと発話区間の開始時刻または終了時刻との間隔、(3)注視対象ラベルの開始時刻または終了時刻と他の注視対象ラベルの開始時刻または終了時刻との間隔、をパラメータとして持つ。
時間構造情報の具体的なパラメータを以下に示す。以下では、発話区間の開始時刻をST_U、発話区間の終了時刻をET_Uと定義する。
・INT1(=ET_RGL−ST_RGL):注視対象ラベルRGLの開始時刻ST_RGLと終了時刻ET_RGLの間隔
・INT2(=ST_U−ST_RGL):注視対象ラベルRGLの開始時刻ST_RGLが発話区間の開始時刻ST_Uよりもどれくらい前であったか
・INT3(=ET_U−ST_RGL):注視対象ラベルRGLの開始時刻ST_RGLが発話区間の終了時刻ET_Uよりもどれくらい前であったか
・INT4(=ET_RGL−ST_U):注視対象ラベルRGLの終了時刻ET_RGLが発話区間の開始時刻ST_Uよりもどれくらい後であったか
・INT5(=ET_U−ET_RGL):注視対象ラベルRGLの終了時刻ET_RGLが発話区間の終了時刻ET_Uよりもどれくらい前であったか
・INT6(=ST_RGL−ST_RGL’):注視対象ラベルRGLの開始時刻ST_RGLが他の注視対象ラベルRGL’の開始時刻ST_RGL’よりもどれくらい後であったか
・INT7(=ET_RGL’−ST_RGL):注視対象ラベルRGLの開始時刻ST_RGLが他の注視対象ラベルRGL’の終了時刻ET_RGL’よりもどれくらい前であったか
・INT8(=ET_RGL−ST_RGL’):注視対象ラベルRGLの終了時刻ET_RGLが注視対象ラベルRGL’の開始時刻ST_RGL’よりもどれくらい後であったか
・INT9(=ET_RGL−ET_RGL’):注視対象ラベルRGLの終了時刻ET_RGLが注視対象ラベルRGL’の終了時刻ET_RGL’よりもどれくらい後であったか
なお、INT6〜INT9については、すべての参加者の注視対象ラベルとの組み合わせに対して取得する。図5の例では、注視対象ラベル情報は全部で6つ(L1,L2M,L1,SM,S,X)あるため、INT6〜INT9は、それぞれ6×5=30個のデータが生成される。
時間構造情報Θkは注視対象ラベル情報θkについてのパラメータINT1〜INT9からなる情報である。図6を用いて時間構造情報Θkを構成する上記の各パラメータを具体的に示す。図6は、話者である参加者U1(R=S)の注視対象ラベルL1についての時間構造情報を示したものである。すなわち、RGL=SL1における時間構造情報である。なお、INT6〜INT9については、図示を簡略化するために、参加者U2の注視対象ラベルL1、すなわちRGL=LL1との関係のみを示す。図6の例では、INT1〜INT9は以下のように求められることがわかる。
・INT1=ET_SL1−ST_SL1
・INT2=ST_U−ST_SL1
・INT3=ET_U−ST_SL1
・INT4=ET_SL1−ST_U
・INT5=ET_U−ET_SL1
・INT6=ST_SL1−ST_LL1
・INT7=ET_LL1−ST_SL1
・INT8=ET_SL1−ST_LL1
・INT9=ET_SL1−ET_LL1
時間構造情報生成部94は、以上のように時間構造情報Θkを推定部95へ出力する。時間構造情報Θkは、例えば次の発話区間Ts+1が開始された後に、発話区間Tsおよびその発話者Us、発話区間Ts+1に該当する発話を行う次発話者Us+1、および次発話開始タイミングTubを表す情報とともに学習データ記憶部951に送られる。学習データ記憶部951では、注視対象遷移パターン生成部93から送られた注視対象遷移パターンfjと併合され、Θk,fj,Ts,Us,Us+1,Tubを表す情報の一部またはすべてが学習データ記憶部951に保持される。また、次発話者算出部952、次発話開始タイミング算出部953には、発話区間Tsの終了時点Tseよりも後の時点Tse+Taで、θk,fj,Ts,Usが送られる。
学習データ記憶部951には、発話者Us、注視対象遷移パターンfj、時間構造情報Θk、次発話者Us+1、および次発話開始タイミングTubがセットとなったデータセットが複数保持されている。これらの情報は、事前に複数の参加者間で行われるコミュニケーションを収録したものを収集して、上述の方法により生成したものである。あるいは、注視対象遷移パターン生成部93から送られてきた注視対象遷移パターンfj,時間構造情報生成部94から送られてきた時間構造情報Θk,発話区間Ts,発話者Us,次発話者Us+1,および次発話タイミングTubを表す情報の一部またはすべてが逐次記憶される。
次発話者算出部952は、発話単位抽出部91で得られた話者情報Us、注視対象遷移パターン生成部93で得られた注視対象遷移パターンfj、時間構造情報生成部94で得られた時間構造情報Θkを入力とし、これらを用いて次発話者となる参加者Us+1を算出する。
次発話者の算出方法としては、例えば、(1)注視対象遷移パターンfjと、時間構造情報ΘkのパラメータINT1〜INT9のうち少なくとも一つとを用いて、ある注視対象遷移パターンfjが出現した際にあらかじめ定められた次発話者Us+1を決定するような条件判定、(2)時間構造情報ΘkのパラメータINT1〜INT9のいずれかがあらかじめ定めた閾値を超えた際に次発話者Us+1を決定するなどの閾値判定、または、(3)サポートベクターマシンに代表されるような機械学習の一般的な手法により次発話者Us+1を予測する判定手法、などを用いることができる。
(2)閾値判定を用いる手法の具体例としては、以下のとおりである。ここでは、話者である参加者U1の注視対象ラベルがL1M(非話者と相互注視)であり、非話者である参加者U2の注視対象ラベルがSM(話者と相互注視)であるときを考える。このとき、話者の注視対象ラベルSL1M(下付き添え字の「L1M」はL1Mを表し、下付き添え字の「1M」は1Mを表す)の終了時刻ET_SL1Mが非話者の注視対象ラベルLSM(下付き添え字の「SM」はSMを表す)の終了時刻ET_LSMよりもどれくらい後であったかを示すパラメータINT9は、次発話者が非話者である参加者U2になるとき(すなわち発話交替が起きるとき)は正の値を取り、次発話者が話者である参加者U1であるとき(すなわち発話継続するとき)は負の値を取る傾向にある。この性質を利用して、INT9<α(αは任意の閾値)が成り立つときに、次発話者は現在の話者である参加者U1と判定する。
(3)機械学習を用いる判定手法の具体例を図5の注視対象データを用いて以下に示す。次発話者算出部952は、学習データ記憶部951に記憶されたデータセットから以下の特徴量を読み込み、これらを学習データとして、次発話者の予測モデルを学習する。
・話者情報Us
・各参加者U1,…,U4の注視対象遷移パターンf1,…,f4
・各注視対象ラベル情報θ1,…,θ6の時間構造情報Θ1,…,Θ6
このとき、目的変数は、
・次発話者となる参加者Us+1(U1,…,U4のいずれか)
である。
機械学習手法はどのようなものを利用してもよい。例えば、SVM(Support Vector Machine)、GMM(Gaussian Mixture Model)、HMM(Hidden Markov Model)等の一般的な手法を用いればよい。
次発話者算出部952は、話者情報Us、注視対象遷移パターンfj、および時間構造情報Θkを、上記のように学習した予測モデルに入力して次発話者Us+1を得、その次発話者Us+1を表す推定情報を予測結果として出力する。
次発話開始タイミング算出部953は、次発話者算出部952で得られた次発話者Us+1、発話単位抽出部91で得られた話者情報Us、注視対象遷移パターン生成部93で得られた注視対象遷移パターンfj、時間構造情報生成部94で得られた時間構造情報Θkを入力とし、これらを用いて次発話の開始するタイミングTubを算出する。話者情報Usは注視対象遷移パターン生成部93もしくは時間構造情報生成部94のいずれから受け取ってもよい。次発話の開始するタイミングTubは、ある時点を起点とした次の発話の開始時刻ST_Uまでの時間間隔である。例えば、ある時点の絶対時点(実時刻)をαとし、次の発話開始時点の絶対時点をβとすると、次発話開始タイミングTubはβ−αである。
次発話開始タイミングの算出方法としては、例えば、(1)注視対象遷移パターンfjと、時間構造情報ΘkのパラメータINT1〜INT9のうち少なくとも一つとを用いて、ある注視対象遷移パターンfjが出現した際にあらかじめ定められた発話開始タイミングTubを決定するような条件判定、(2)時間構造情報ΘkのパラメータINT1〜INT9に対応した、次発話開始タイミングの関数式(例えば、INT1を引数としてタイミングTを出力するT=F(INT1)などの関数)を、あらかじめ一般的な会話データを利用して作成しておき利用する算出手法、または、(3)サポートベクターマシンに代表されるような機械学習の一般的な手法により次発話開始タイミングTubを予測する算出手法、などを用いることができる。
(3)機械学習を用いる算出手法の具体例を図5の注視対象データを用いて以下に示す。次発話開始タイミング算出部953は、学習データ記憶部951に記憶されたデータセットから以下の特徴量を読み込み、これらを学習データとして、次発話開始タイミングの予測モデルを学習する。
・話者情報Us
・次発話者情報Us+1
・各参加者U1,…,U4の注視対象遷移パターンf1,…,f4
・各注視対象ラベル情報θ1,…,θ6の時間構造情報Θ1,…,Θ6
このとき、目的変数は、
・次発話者情報Us+1が発話を開始するタイミングTub(次の発話の開始時刻ST_Uを任意の時刻を基点とした時間間隔)
である。
機械学習手はどのようなものを利用してもよい。例えば、SVM、GMM、HMM等の一般的な手法を用いればよい。
次発話開始タイミング算出部953は、話者情報Us、注視対象遷移パターンfj、および時間構造情報Θkを、上記のように学習した予測モデルに入力して次発話開始タイミングTubを得、その次発話開始タイミングTubを表す推定情報を予測結果として出力する。また、次発話開始タイミング算出部953は、発話者Us、注視対象遷移パターンfj、時間構造情報Θk、次発話者Us+1、および次発話開始タイミングTubをセットにして学習データ記憶部951に記憶し、以降に行われる予測モデルの学習に利用できるようにする。
(第2の次話者推定技術の例)
会話の参加者の呼吸動作は次発話者と発話のタイミングに深い関連性がある。このことを利用して、会話の参加者の呼吸動作をリアルタイムに計測し、計測された呼吸動作から発話の開始直前に行われる特徴的な呼吸動作を検出し、この呼吸動作を基に次発話者とその発話タイミングを高精度に算出する。具体的には、発話開始直前におこなわれる呼吸動作の特徴として、発話を行っている発話者は、継続して発話する際(発話者継続時)には、発話終了直後にすぐに急激に息を吸い込む。逆に発話者が次に発話を行わない際(発話者交替時)には、発話者継続時に比べて、発話終了時から間を空けて、ゆっくりと息を吸い込む。また、発話者交替時に、次に発話をおこなう次発話者は、発話を行わない非発話者に比べて大きく息を吸い込む。このような発話の前におこなわれる呼吸は、発話開始に対しておおよそ決められたタイミングで行われる。このように、発話の直前に次発話者は特徴的な息の吸い込みを行うため、このような息の吸い込みの情報は、次発話者とその発話タイミングを予測するのに有用である。本次話者推定技術では、人物の息の吸い込みに着目し、息の吸い込み量や吸い込み区間の長さ、タイミングなどの情報を用いて、次発話者と発話タイミングを予測する。
以下では、A人の参加者P1,…,PAが対面コミュニケーションを行う状況を想定する。参加者Pa(ただし、a=1,…,A、A≧2)には呼吸動作計測装置および音声情報取得装置が装着される。呼吸動作計測装置は、参加者Paの呼吸動作を計測し、各離散時刻tでの計測結果を表す呼吸情報Ba,tを得て、推定装置に出力する。バンド式の呼吸装置では、バンドの伸縮の強さによって呼吸の深さの度合いを示す値を出力する。息の吸い込みが大きいほどバンドの伸びが大きくなり、逆に息の吐き出しが大きいほどバンドの縮みが大きくなる(バンドの伸びが小さくなる)。以降、この値をRSP値と呼ぶ。なお、RSP値は、バンドの伸縮の強さに応じて参加者Paごとに異なる大きさを取る。そこで、これに起因するPaごとのRSP値の相違を排除するために、各参加者PaのRSP値の平均値μaと標準偏差値δaを用いて、μa+δaが1、μa−δaが−1になるように参加者PaごとにRSP値を正規化する。これによって、すべての参加者Paの呼吸動作データを同一に分析することが可能となる。各呼吸動作計測装置は、正規化されたRSP値を呼吸情報Ba,tとして推定装置に送る。
さらに、音声情報取得装置は、参加者Paの音声を取得し、各離散時刻tでの参加者Paの音声を表す音声情報Va,tを得て、推定装置に出力する。推定装置は、入力された音声情報Va,t(ただし、a=1,…,A)から雑音を除去し、さらに発話区間Uk(ただし、kは発話区間Ukの識別子)とその発話者Pukとを抽出する。ただし、「Puk」の下付き添え字はuk=1,…,Aを表す。本次話者推定技術では、1つの発話区間UkをTd[ms]連続した無音区間で囲まれた区間と定義し、この発話区間Ukを発話の一つの単位と規定する。これにより、推定装置は、各発話区間Ukを表す発話区間情報、およびその発話者Pukを表す発話者情報(参加者P1,…,PAのうち何れが発話区間Ukでの発話者Pukであるかを表す発話者情報)を得る。
推定装置は、各参加者Paの呼吸情報Ba,tを用いて、各参加者Paの息の吸い込み区間Ia,kを抽出し、さらに息の吸い込みに関するパラメータλa,kを取得する。息の吸い込み区間とは、息を吐いている状態から、息を吸い込みだす開始位置と、息を吸い込み終わる終了位置との間の区間を示す。
図7は、息の吸い込み区間の例を示す図である。図7を用いて、息の吸い込み区間Ia,kの算出方法を例示する。ここで参加者Paの離散時刻tでのRSP値をRa,tと表記する。RSP値Ra,tは呼吸情報Ba,tに相当する。図7に例示するように、例えば、
が成り立つとき、離散時刻t=ts(k)の前2フレームでRSP値Ra,tが連続して減少し、その後2フレームでRSP値Ra,tが連続して上昇しているから、離散時刻ts(k)を息の吸い込みの開始位置とする。さらに
が成り立つとき、離散時刻t=te(k)の前2フレームのRSP値Ra,tが連続して上昇し、その後2フレームのRSP値Ra,tが連続して減少しているから、離散時刻te(k)を息の吸い込みの終了位置とする。このとき、参加者Paの息の吸い込み区間Ia,kはts(k)からte(k)までの区間となり、息の吸い込み区間の長さはte(k)−ts(k)となる。
推定装置は、息の吸い込み区間Ia,kが抽出されると、息の吸い込み区間Ia,k、呼吸情報Ba,t、および発話区間Ukの少なくとも一部を用い、息の吸い込みに関するパラメータλ’a,kを抽出する。パラメータλ’a,kは、参加者Paの吸い込み区間Ia,kでの息の吸い込みの量、吸い込み区間Ia,kの長さ、吸い込み区間Ia,kでの息の吸い込み量の時間変化、および発話区間Ukと吸い込み区間Ia,kとの時間関係の少なくとも一部を表す。パラメータλ’a,kは、これらの一つのみを表してもよいし、これらのうち複数を表してもよいし、これらすべてを表してもよい。パラメータλ’a,kは、例えば以下のパラメータMINa,k,MAXa,k,AMPa,k,DURa,k,SLOa,k,INT1a,kの少なくとも一部を含む。パラメータλ’a,kは、これらの1つのみを含んでいてもよいし、これらのうち複数を含んでいてもよいし、これらのすべてを含んでいてもよい。
・MINa,k:参加者Paの息の吸い込み開始時のRSP値Ra,t、すなわち、息の吸い込み区間Ia,kのRSP値Ra,tの最小値。
・MAXa,k:参加者Paの息の吸い込み終了時のRSP値Ra,t、すなわち、息の吸い込み区間Ia,kのRSP値Ra,tの最大値。
・AMPa,k:参加者Paの息の吸い込み区間Ia,kのRSP値Ra,tの振幅、すなわち、MAXa,k−MINa,kで算出される値。吸い込み区間Ia,kでの息の吸い込み量を表す。
・DURa,k:参加者Paの息の吸い込み区間Ia,kの長さ、すなわち、息の吸い込み区間Ia,kの終了位置の離散時刻te(k)から開始位置の離散時刻ts(k)を減じて得られる値te(k)−ts(k)。
・SLOa,k:参加者Paの息の吸い込み区間Ia,kにおけるRSP値Ra,tの単位時間当たりの傾きの平均値、すなわち、AMPa,k/DURa,kで算出される値。吸い込み区間Ia,kでの息の吸い込み量の時間変化を表す。
・INT1a,k:手前の発話区間Ukの終了時刻tue(k)(発話区間末)から参加者Paの息の吸い込みが開始されるまでの間隔、すなわち、息の吸い込み区間Ia,kの開始位置の離散時刻ts(k)から発話区間Ukの終了時刻tue(k)を減じて得られる値ts(k)−tue(k)。発話区間Ukと吸い込み区間Ia,kとの時間関係を表す。
推定装置は、さらに以下のパラメータINT2a,kを生成してもよい。
・INT2a,k:参加者Paの息の吸い込み終了時から次発話者の発話区間Uk+1が開始されるまでの間隔、すなわち、次発話者の発話区間Uk+1の開始時刻tus(k+1)から息の吸い込み区間Ia,kの終了位置の離散時刻te(k)を減じて得られる値tus(k+1)−te(k)。発話区間Uk+1と吸い込み区間Ia,kとの時間関係を表す。パラメータλ’a,kにINT2a,kを加えたものをパラメータλa,kと表記する。
推定装置は、例えば発話区間Uk+1を表す情報が得られ、さらに、パラメータλa,kが得られた以降(発話区間Uk+1が開始された後)に、発話区間Ukおよびその発話者Puk、発話区間Uk+1およびその発話者Puk+1とその発話開始タイミングTuk+1を表す情報とともにデータベースに記録する。次発話者Puk+1の発話タイミングとは、発話区間Uk+1の何れかの時点またはそれに対応する時点であればよい。発話タイミングTuk+1は、発話区間Uk+1の開始時刻tus(k+1)であってもよいし、時刻tus(k+1)+γ(ただし、γは正または負の定数)であってもよいし、発話区間Uk+1の終了時刻tue(k+1)であってもよいし、時刻tue(k+1)+γであってもよいし、発話区間Uk+1の中心時刻tus(k+1)+(tue(k+1)−tus(k+1))/2であってもよい。λa,k,Uk,Puk,Puk+1,Tuk+1を表す情報の一部またはすべてがデータベースに保持され、推定装置が発話区間Uk+1よりも後の次発話者とその発話タイミングを予測するために使用される。
推定装置は、発話者情報Puk、発話区間Uk、参加者Paの吸い込み区間Ia,kでの息の吸い込み量、吸い込み区間Ia,kの長さ、吸い込み区間Ia,kでの息の吸い込み量の時間変化、および発話区間Ukと吸い込み区間Ia,kとの時間関係の少なくとも一部に基づき、参加者P1,…,PAのうち何れが次発話者Puk+1であるか、および次発話者Puk+1の発話タイミングの少なくとも一方を表す推定情報を得る。ただし、「Puk+1」の下付き添え字「uk+1」はuk+1を表す。発話区間Ukの発話者Pukが発話区間Uk+1でも発話を行う場合(発話継続する場合)、次発話者は発話区間Ukの発話者Pukと同一である。一方、発話区間Ukの発話者Puk以外の参加者が発話区間Uk+1でも発話を行う場合(すなわち発話交替する場合)、次発話者は発話区間Ukの発話者Puk以外の参加者である。
推定装置は、発話者情報Puk、発話区間Uk、参加者Paの吸い込み区間Ia,kでの息の吸い込み量、吸い込み区間Ia,kの長さ、吸い込み区間Ia,kでの息の吸い込み量の時間変化、および発話区間Ukと吸い込み区間Ia,kとの時間関係の少なくとも一部に対応する特徴量fa,kに対する推定情報を得るためのモデルを機械学習し、このモデルを用いて特徴量に対する推定情報を得る。特徴量fa,kは、発話者情報Puk、発話区間Uk、参加者Paの吸い込み区間Ia,kでの息の吸い込み量、吸い込み区間Ia,kの長さ、吸い込み区間Ia,kでの息の吸い込み量の時間変化、および発話区間Ukと吸い込み区間Ia,kとの時間関係の1つのみに対応してもよいし、これらのうち複数に対応してもよいし、すべてに対応してもよい。モデルの機械学習には、例えば、過去の吸い込み区間Ia,i(ただし、i<k)での息の吸い込み量、吸い込み区間Ia,iの長さ、吸い込み区間Ia,iでの息の吸い込み量の時間変化、および発話区間Uiと吸い込み区間Ia,iとの時間関係の少なくとも一部に対応する特徴量fa,k、ならびに発話区間Ui,Ui+1およびそれらの発話者Puk,Puk+1の情報が学習データとして用いられる。
推定装置による次発話者/発話タイミング推定処理を例示する。この例では、次発話者Puk+1を推定するモデルである次発話者推定モデルと、次発話者Puk+1の発話タイミングを推定するモデルである発話タイミング推定モデルとが生成され、それぞれのモデルを用いて次発話者Puk+1とその発話タイミングが推定される。
次発話者推定モデルを学習する場合、推定装置は、学習データとして、データベースから過去のパラメータλa,i(ただし、a=1,…,Aであり、i<kである)の少なくとも一部、および発話区間Ui,Ui+1およびそれらの発話者Pui,Pui+1を表す情報を読み出す。推定装置は、パラメータλa,iの少なくとも一部に対応する特徴量F1a,iおよびUi,Ui+1,Pui,Pui+1を学習データとして、次発話者推定モデルを機械学習する。次発話者推定モデルには、例えば、SVM、GMM、HMM等を用いることができる。
推定装置は、パラメータλ’a,kの少なくとも一部に対応する特徴量F1a,kを次発話者推定モデルに適用し、それによって推定された次発話Puk+1を表す情報を「推定情報」の一部とする。なお、次発話Puk+1を表す情報は、何れかの参加者Paを確定的に表すものであってもよいし、確率的に表すものであってもよい。参加者Paが次話者になる確率を、P1aとする。
発話タイミング推定モデルを学習する場合、推定装置は、学習データとして、データベースから過去のパラメータλa,i(ただし、a=1,…,Aであり、i<kである)の少なくとも一部、発話区間Ui,Ui+1およびそれらの発話者Pui,Pui+1、および発話区間Ui+1の発話開始タイミングTui+1を表す情報を読み出す。推定装置は、パラメータλa,iの少なくとも一部に対応する特徴量F2a,iおよびUi,Ui+1,Pui,Pui+1,Tui+1を学習データとして、発話タイミング推定モデルを機械学習する。次発話者推定モデルには、例えば、SVM、GMM、HMM等を用いることができる。
推定装置は、発話者Puk、パラメータλ’a,kの少なくとも一部、および次発話者推定モデルにより推定された次発話者Puk+1が得られると、パラメータλ’a,kの少なくとも一部に対応する特徴量F2a,kを発話タイミング推定モデルに適用する。推定装置は、特徴量F2a,kを発話タイミング推定モデルに適用して推定された次の発話区間Uk+1の発話タイミングTuk+1(例えば、発話区間Uk+1の開始時刻)を表す情報を「推定情報」の一部として出力する。なお、発話タイミングを表す情報は、何れかの発話タイミングを確定的に表すものであってもよいし、確率的に表すものであってもよい。参加者Paが時刻tに発話を開始する確率(時刻tが参加者Paの発話タイミングである確率)を、P2a(t)とする。
上述した実施形態の会話支援装置5の次話者推定部53により推定される参加者Uiが時刻tにおいて次話者となる確率をPi (n+1)(t)は、参加者Uiが本次話者推定技術における参加者Paである場合、確率P1a×確率P2a(t)により算出される。
本次話者推定技術の推定装置は、呼吸動作の観測値に基づいて次に発話を開始する参加者およびタイミングを推定しているが、さらに、視線の観測値を用いてもよい。視線行動をさらに利用する場合、各参加者Pa(ただし、a=1,…,A)には注視対象検出装置がさらに装着される。注視対象検出装置は、参加者Paが誰を注視しているか(注視対象)を検出し、参加者Paおよび各離散時刻tでの注視対象Ga,tを表す情報を推定装置に送る。推定装置は、上述した第1の次話者推定技術の例における次話者推定システムと同様の処理により、参加者Paの発話区間Ukにおける注視対象遷移パターンEa,k及び時間構造情報Θv,kを算出し、データベースに保持する。
推定装置は、注視対象遷移パターンEa,k、時間構造情報Θv,k、発話者情報Puk、発話区間Uk、参加者Paの吸い込み区間Ia,kでの息の吸い込み量、吸い込み区間Ia,kの長さ、吸い込み区間Ia,kでの息の吸い込み量の時間変化、および発話区間Ukと吸い込み区間Ia,kとの時間関係の少なくとも一部に対応する特徴量fa,kに対する推定情報を得るためのモデルを機械学習し、この学習したモデルを用いて特徴量に対する推定情報を得て出力する。
なお、この例では、発話終了後の呼吸動作を用いてモデルを機械学習し、推定情報を得ているが、発話終了前の呼吸動作をさらに用いてもよい。
以上、本発明の実施形態を説明したが、上述した会話支援装置5の機能をコンピュータで実現するようにしてもよい。その場合、会話支援装置5の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。