【国等の委託研究の成果に係る記載事項】(出願人による申告)平成25年度、独立行政法人科学技術振興機構の研究成果展開事業 戦略的イノベーション創出推進プログラムにおける研究課題「高齢者の経験・知識・技能を社会の推進力とするためのICT基盤「高齢者クラウド」の研究開発」委託事業につき、産業技術力強化法第19条の適用を受ける特許出願
【課題】複数の作業者により字幕の修正を繰り返す場合、字幕の修正をどのタイミングで終了するか適切に判断することができなかった。また、字幕の修正のみを繰り返すと局所最適に陥ってしまい字幕の品質を十分に向上させることができなかった。
【解決手段】複数のユーザによる表現情報の作成を支援する支援装置であって、表現対象を表現した第1表現情報を複数のユーザのうちいずれか一のユーザに編集させて、第2表現情報として取得する編集部と、表現対象を表現する新たな第3表現情報を複数のユーザのうちいずれか一のユーザから入力する入力部と、第2表現情報及び第3表現情報を統合して統合表現情報を生成する第1統合部とを備える支援装置、当該支援装置を用いた情報処理方法、及び、当該支援装置を動作させるプログラムを提供する。
前記判断部が前記第1表現情報と前記第2表現情報とが相違しないと判断したことに応じて、前記編集部は、再度、当該第1表現情報を前記複数のユーザのうちいずれか一のユーザに提示して編集させる、
請求項4又は5に記載の支援装置。
前記判断部は、予め定められた第2基準回数連続した回数の編集において前記第1表現情報と前記第2表現情報とが一致したと判断されたことに応じて、前記編集部による編集を中止させる、
請求項4から6のいずれか1項に記載の支援装置。
【発明を実施するための形態】
【0007】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0008】
図1は、本実施形態の支援装置10の構成を示す。支援装置10は、複数のユーザにより表現対象から表現情報を作成する作業を支援する。例えば、支援装置10は、オーディオ又はビデオ等の音声を含む表現対象のコンテンツから音声の内容を表す字幕等のテキストである表現情報を作成する作業を支援する。一例として、支援装置10は、音声の内容を表すテキストとして、人物の話した内容をそのまま表す字幕のテキスト、又は、人物の話した内容を翻訳したテキストを生成する作業を支援してよい。支援装置10は、分割部102、自動認識部104、編集部106、判断部108、入力部110、第1統合部112、制御部114、及び、第2統合部120を備える。
【0009】
分割部102は、表現対象のコンテンツを分割して、作業の対象となる複数の表現対象を生成する。例えば、分割部102は、ビデオ等の音声を含む表現対象のコンテンツを入力し、コンテンツを文単位、パラグラフ単位、又はコンテキスト単位等のまとまりごとに分割して、複数の表現対象を生成する。分割部102は、音声の切れ目及び/又は発声者の変化等を検出することにより、表現対象のコンテンツを分割してよい。分割部102は、生成した表現対象を自動認識部104に供給する。
【0010】
自動認識部104は、分割部102から受け取った表現対象から、当該表現対象を表現した第1表現情報を自動的に生成する。例えば、自動認識部104は、従来技術である自動音声認識(ASR)により、表現対象の音声から音声の内容を表すテキストを生成する。自動認識部104は、生成したテキストを第1表現情報として編集部106に供給する。
【0011】
編集部106は、第1表現情報を複数のユーザのうちいずれか一のユーザに編集させて、編集した結果を第2表現情報として取得する。ここで、第1表現情報を編集する一のユーザを第1ユーザとする。編集部106は、編集前の第1表現情報及び編集後の第2表現情報を判断部108に供給し、第2表現情報を第1統合部112及び第2統合部120に供給する。
【0012】
判断部108は、編集部106の編集において、第1表現情報と当該第1表現情報を編集した第2表現情報とが相違するか否か判断する。判断部108は、第1表現情報と第2表現情報とが相違しないと判断したことに応じて、編集部106に再度当該第1表現情報を第1ユーザに提示させて編集させる。
【0013】
この再編集において、判断部108は、予め定められた基準回数連続した回数の編集において、第1表現情報と第2表現情報とが一致したか否か判断する。判断部108は、予め定められた基準回数連続した回数の編集において第1表現情報と第2表現情報とが一致したと判断したことに応じて、編集部106による編集を中止させ、第2統合部120にその旨を通知する。
【0014】
入力部110は、判断部108が第1表現情報と第2表現情報とが相違すると判断したことに応じて、表現対象を表現する新たな第3表現情報を複数のユーザのうちいずれか一のユーザから入力する。ここで、第3表現情報を入力する一のユーザを第2ユーザとする。入力部110は、入力した第3表現情報を第1統合部112及び第2統合部120に供給する。
【0015】
第1統合部112は、第3表現情報を受け取ったことに応じて、第2表現情報及び第3表現情報を統合して統合表現情報を生成する。第1統合部112は、統合表現情報を制御部114に供給する。
【0016】
制御部114は、統合表現情報を新たな第1表現情報として編集部106に供給し、編集部106に新たな第1表現情報を第1ユーザに提示して編集させて、第1ユーザから別の第2表現情報を取得させる。これにより、制御部114は、編集部106による表現情報の編集処理を繰り返させる。
【0017】
第2統合部120は、判断部108の判断により、編集処理の繰り返しが終了したことに応じて、入力済の1以上の第1表現情報、1以上の第2表現情報、及び、1以上の第3表現情報を統合して、統合された表現情報を生成する。例えば、第2統合部120は、判断部108が編集部106の編集を中止させたことに応じて、統合した表現情報を作成済の表現情報として出力する。
【0018】
このように、支援装置10は、編集部106による編集された第2表現情報の取得、入力部110による新たな第3表現情報の入力、及び、第1統合部による第2表現情報と第3表現情報との統合の処理を繰り返す。そして、支援装置10は、予め定められた基準回数連続した回数の編集で修正がないと判断した場合に繰り返しの処理を終了し、それまでに生成された第1表現情報、第2表現情報、及び、第3表現情報を統合して出力する。
【0019】
これにより、支援装置10は、表現情報の品質が向上して修正が生じなくなったタイミングを字幕等の修正を終了する基準のタイミングとして判断することができる。また、支援装置10によれば、表現情報が修正された場合、すなわち表現情報に修正の余地があると判断された場合にユーザに表現情報を新規に入力させるので、局所最適化を防ぐことができる。
【0020】
図2は、本実施形態の支援装置10の処理フローを示す。本実施形態において、支援装置10は、S100〜S170の処理を実行することにより、複数のユーザによる表現情報の作成を支援する。支援装置10は、分割部102がコンテンツを分割して生成した複数の表現情報のそれぞれについて処理フローを実行してよい。
【0021】
まず、S110において、自動認識部104は、ASRにより、表現対象から第1表現情報となるテキストを自動的に生成する(ASR)。自動認識部104は、生成した第1表現情報を編集部106に供給する。
【0022】
次に、支援装置10は、
図2において点線で示すS120〜S160に係る繰り返し処理を1回以上実行する。
【0023】
S120において、第1表現情報となるテキストを第1ユーザに編集させて、第2表現情報として取得する(FIX)。例えば、編集部106は、第1ユーザに表現対象の音声を提供し、第1ユーザに第1表現情報のテキストを編集可能な状態で提示して、第1ユーザに第1表現情報を直接修正させて、第2表現情報となるテキストを取得する。一例として、編集部106は、ネットワーク経由で、第1ユーザの情報端末に表現対象及び第1表現情報のテキストのデータを供給し、第1ユーザの情報端末から第2表現情報のテキストを取得してよい。
【0024】
1回目の繰り返し処理において、編集部106は、自動認識部104が生成した第1表現情報を第1ユーザに提示して第2表現情報を取得する。2回目以降の繰り返し処理において、編集部106は、第1統合部112が生成した統合表現情報を第1表現情報として第1ユーザに提示し、前回入力された第2表現情報と異なってよい別の第2表現情報を取得する。編集部106は、編集前の第1表現情報及び編集後の第2表現情報を判断部108に供給し、第2表現情報を第1統合部112及び第2統合部120に供給する。
【0025】
次に、S130において、判断部108は、直前のS120の編集において、第1表現情報と当該第1表現情報を編集した第2表現情報とが相違するか否か判断する。即ち、判断部108は、直前のS120において第1表現情報が編集により修正されたか否か判断する。判断部108は、判断部108が第1表現情報と第2表現情報とが相違すると判断した場合は処理をS140に進め、第1表現情報と第2表現情報とが相違しないと判断した場合は処理をS160に進める。
【0026】
S140において、表現対象を表現する新たな第3表現情報を第2ユーザから入力する(TYPE)。例えば、入力部110は、第2ユーザに表現対象の音声を提供して、第2ユーザに表現対象に対応する第3表現情報となるテキストを入力させる。一例として、入力部110は、ネットワーク経由で、第2ユーザの情報端末に表現対象のデータを供給し、第2ユーザの情報端末から第3表現情報のテキストを取得してよい。
【0027】
複数回の繰り返し処理において、入力部110は、前回入力された第3表現情報と異なってよい別の第3表現情報を第2ユーザから入力する。入力部110は、入力した第3表現情報を第1統合部112及び第2統合部120に供給する。
【0028】
S150において、第1統合部112は、第2表現情報及び第3表現情報を統合して統合表現情報を生成する(MERGE)。例えば、まず、第1統合部112は、第2表現情報のテキスト及び第3表現情報のテキストを複数の単語の要素に分割する。
【0029】
第1統合部112は、要素のうち第2表現情報のテキスト及び第3表現情報の対応する位置に共通して含まれる同一の単語、及び、類似する単語(例えば、既存の単語のミススペル、及び/又は、異形同音異義語等)を対応付ける。例えば、第1統合部112は、Levenshtein Distanceが予め定められた閾値以内の単語を類似する単語として検出し、単語同士を対応付けてよい。第1統合部112は、対応付けられた単語を基準として対応付けられていない単語を含む全ての単語を配置する。
【0030】
第1統合部112は、第2表現情報のテキスト及び第3表現情報のテキストにおいて互いに対応する2つの要素が存在した場合はより正しいと推定されるものを選択し、対応する要素が存在しない場合は当該要素を含めるように新しく統合されたテキストを統合表現情報として生成してよい。
【0031】
第1統合部112は、繰り返し処理ごとに統合表現情報を生成する。例えば、複数の繰り返し処理のそれぞれにおいて、第1統合部112は、前回取得したものと異なってよい別の第2表現情報と、前回取得したものと異なってよい別の第3表現情報を統合して新しい統合表現情報を生成する。
【0032】
第1統合部112は、生成した統合表現情報を制御部114に供給する。制御部114は、統合表現情報を新たな第1表現情報として編集部106に供給し、処理をS120に戻す。これにより、2回目以降のS120の処理において、制御部114は、編集部106に新たな第1表現情報を第1ユーザに提示させ、別の第2表現情報を取得させる。
【0033】
S160において、判断部108は、予め定められた基準回数連続した回数の編集において、第1表現情報と第2表現情報とが一致したか否か判断する。例えば、判断部108は、予め定められた基準回数(n回:例えば2回)連続してS120→S130→S160となる処理が基準回数連続して繰り返されたか否か判断する。
【0034】
判断部108は、予め定められた基準回数連続した回数の編集において、第1表現情報と第2表現情報とが一致したと判断する場合は処理をS170に進め、そうでない場合は処理をS120に戻す。
【0035】
S170において、第2統合部120は、編集部106及び入力部110に入力済みの1以上の第1表現情報、1以上の第2表現情報、及び、1以上の第3表現情報を統合して、統合された表現情報を生成する。例えば、第2統合部120は、入力済みの全ての第1表現情報、第2表現情報、及び、第3表現情報を統合してよい。
【0036】
まず、第2統合部120は、統合の対象となる複数の表現情報のそれぞれを複数の文節、単語、及び/又は、文字等の要素に分割し、複数の表現情報の対応する位置に共通して含まれる同一の要素、及び、類似する要素を対応付けてよい。ここで、第2統合部120は、Levenshtein Distanceが予め定められた閾値以内の要素を類似する要素として検出し、要素同士を対応付けてよい。更に、第2統合部120は、Multiple Sequence Alignment(MSA)を利用して、対応付けられた要素のアライメントを実行してよい。更に、第2統合部120は、A*アルゴリズムを利用してアライメント処理の計算量を低減してもよい。
【0037】
次に、第2統合部120は、Majority Vote等により、最終的な表現情報に採用すべき要素を決定してよい。ここで、第2統合部120は、第2表現情報を第1表現情報及び第3表現情報よりも大きく重みづけを付与してよい。これにより、支援装置10は、修正の結果をより重く反映することができる。支援装置10は、第2統合部120により統合された表現情報を作成済の表現情報として出力する。
【0038】
このように、支援装置10は、繰り返しの初回において、編集部106に自動認識部104が生成した第1表現情報を第1ユーザに編集させ、編集において修正があれば入力部110に新しく第3表現情報を入力させ、修正がなければ編集部106に再度編集処理をさせる。支援装置10は、編集において修正がないことが基準回数連続して発生するまで、編集部106による編集と入力部110による入力を繰り返す。
【0039】
ここで、支援装置10は、複数の繰り返し処理において、第1ユーザ及び第2ユーザを、それぞれ同一のユーザ及び/又は異なるユーザとしてよい。異なる第1ユーザ及び/又は異なる第2ユーザから第2表現情報及び/又は第3表現情報を入力する場合、支援装置10は、多様性のある表現情報を取得することが期待できる。また、同一の第1ユーザ及び/又は同一の第2ユーザから第2表現情報及び/又は第3表現情報を入力する場合、支援装置10は、繰り返しが進むごとに改善された表現情報を取得することが期待できる。また、第1ユーザとなるユーザは、第2ユーザとなるユーザと共通してもよく、異なっていてもよい。
【0040】
また、支援装置10は、S170の処理を省略してもよい。この場合、支援装置10は、最後のS120の処理で編集された第2表現情報を作成済の表現情報として出力してよい。
【0041】
また、支援装置10は、S120→S130→S140→S150→S120の繰り返し処理が、合計又は連続で、予め定められた基準回数(例えば、2回)以上行われたことに応じて、処理をS170に進めてよい。これにより、支援装置10は、編集の繰り返し処理が必要以上に行われて表現情報の生成が長引くことを防ぐことができる。
【0042】
図3は、本実施形態のS140における第3表現情報の入力画面の一例を示す。図示するように、第2ユーザは、情報端末等で表現対象の音声を動画等と共に再生し、表現対象に対応する第3表現情報となるテキストを入力して、入力部110に取得させる。
【0043】
図4は、本実施形態のS120における第1表現情報の編集画面の一例を示す。図示するように、第1ユーザは、情報端末等で表現対象の音声を動画等と共に再生し、予め表示された第1表現情報を編集して第2表現情報を作成し、編集部106に取得させる。
【0044】
図5は、本実施形態のS150における表現情報の統合方法の一例を示す。FIXの行は、第1統合部112が編集部106から受け取った第2表現情報に対応するテキストを示す。TYPEの行は、第1統合部112が入力部110から受け取った第3表現情報に対応するテキストを示す。MERGEの行は、第1統合部112が第2表現情報及び第3表現情報を統合して生成した統合表現情報に対応するテキストを示す。
【0045】
図示するように、第1統合部112は、第2表現情報及び第3表現情報のテキストを複数の要素に分割して、これらの要素をアライメントした後に統合する。例えば、第1統合部112は、第2表現情報及び第3表現情報に共通して含まれる単語「It」、「must」、及び、「supplying」を対応付けて同じ位置(1番目、2番目、及び6番目)に配置する。
【0046】
第1統合部112は、Levenshtein Distanceにより単語等の要素を対応付けることに加えて/代えて、異形同音異義語及び/又はスペルミスに対応する複数の単語を対応付けてよい。例えば、第1統合部112は、第2表現情報及び第3表現情報に含まれる異形同音異義語でないスペルミスの関係にある単語「consider」と「consder」及び異形同音異義語の単語「disc」と「disk」を対応付けて同じ位置(5番目及び7番目)に配置してよい。第1統合部112は、対応付けられた単語を基準として対応付けられない単語「now」及び「not」を異なる位置(3番目及び4番目)に配置する。
【0047】
ここで、第1統合部112は、配置した単語から統合表現情報を生成する。例えば、第1統合部112は、対応する複数の単語が存在しない単語(例えば「not」及び「now」)は、そのまま統合表現情報に採用する。また、第1統合部112は、対応する複数の単語が存在する場合は、1個の単語を選択して統合表現情報に採用する。
【0048】
例えば、対応する複数の単語が異形同音異義語である場合、第1統合部112は、第3表現情報(TYPE)に係る単語を選択する。これは、第2表現情報(FIX)に係る単語は、自動音声認識(ASR)に由来する単語が含まれている可能性があり、異形同音異義語について文脈的に正しくない可能性が高いためである。一例として、第1統合部112は、7番目に異形同音異義語として配置された「disc」及び「disk」から第3表現情報(TYPE)に係る「disk」を採用する。
【0049】
また、対応する複数の単語が異形同音異義語でない場合、第1統合部112は、第2表現情報(FIX)に係る単語を選択する。このような場合、第3表現情報(TYPE)に係る単語は、単なる誤入力である可能性が高いためである。一例として、第1統合部112は、5番目に配置された異形同音異義語でない「consider」及び「consder」から第2表現情報(FIX)に係る「consider」を採用する。
【0050】
この結果、第1統合部112は、第2表現情報(FIX)及び第3表現情報(TYPE)から統合表現情報として「It must not now consider supplying disk」を生成する。この統合表現情報においては「not」及び「now」が重複して含まれるが、支援装置10は、この後の繰り返しの処理及び第2統合部120による統合処理により当該重複を解消することができる。このように、支援装置10は、異形同音異義語の場合に自動音声認識(ASR)に基づかない第3表現情報(TYPE)に係る単語を採用し、そうでない場合は第2表現情報(FIX)に係る単語を採用することにより、支援装置10はより高い精度で統合表現情報を生成することができる。
【0051】
図6は、本実施形態における支援装置10の効果の一例を示す箱ひげ図である。
図6は、4種類の異なる方法で字幕を生成した場合の単語誤り率(Word Error Rate:WER)を示す。
【0052】
図中の最も左の列(ASR)は、自動音声認識(ASR)のみを用いて音声から字幕を生成した場合の単語誤り率を示す。左から2番目の列(CapCap)は、本実施形態の支援装置10を用いて音声から字幕を生成した場合の単語誤り率を示す。左から3番目の列(Type)は、ユーザに字幕を新規に入力させて字幕を生成した場合(すなわち入力部110が生成した第3表現情報単独)の単語誤り率を示す。左から4番目の列(FIX)は、ASRから生成した字幕を1回ユーザが修正した場合(すなわち、自動認識部104が生成した第1表現情報が編集部106により1回編集された第2表現情報)の単語誤り率を示す。
【0053】
単語誤り率は、WER=(I+D+S)/Nにより計算される。ここで、Iは正しい字幕に至るまでに必要な挿入文字数を示し、Dは正しい字幕に至るまでに必要な削除文字数を示し、Sは正しい字幕に至るまでに必要な置換文字数を示し、Nは正しい字幕の文字数を示す。
【0054】
図中の大きさの異なる箱は、各方法のWERのうち第1四分位点から第3四分位点までの範囲に含まれるサンプルのWERの分布を示す。矩形内の中央線は、矩形に含まれるサンプルのWERの中央値を示す。−(ひげ)及び+のプロットは、第1四分位点から第3四分位点までの範囲の1.5倍の範囲に含まれるサンプル、及び、当該1.5倍の範囲に含まれずデータ範囲全体に含まれるサンプルのWERを示す。
【0055】
図示するように、本実施形態の支援装置10による結果(CapCap)は、矩形が約0%のWERと一致し、最もWERが低い結果となった。これにより、本実施形態の支援装置10によると、他の方法よりも優れた字幕の生成を支援できることは明らかである。
【0056】
図7は、本実施形態における支援装置10の効果の一例を示す箱ひげ図である。
図7は、本実施形態の支援装置10を用いた場合に、S110のASR段階のみにより生成された字幕(左側の列)、及び、S110のASR段階→S120のFIX→S130のTYPE→S150のMERGEを経て生成された字幕(右側の列)を示す。図示するように、ASRにより生成された字幕より、FIX、TYPE、及びMERGEを経て生成された字幕の方が低いWERを有する。
【0057】
図8は、本実施形態における支援装置10の効果の別の一例を示す箱ひげ図である。
図8は、本実施形態の支援装置10を用いた場合に、S110のASR段階→S120のFIX→S130のTYPE→S150のMERGEを経て生成された字幕(左側の列)、及び、S110のASR段階→S120のFIX→S130のTYPE→S150のMERGE→S120のFIX→S130のTYPE→S150のMERGEを経て生成された字幕(右側の列)を示す。
【0058】
図8に示すように、FIX、TYPE、及びMERGEの繰り返しを1回のみ経て生成された字幕より、繰り返しを2回経て生成された字幕の方が低いWERを有する。従って、本実施形態の支援装置10により、FIX、TYPE、及びMERGEの繰り返しを少なくとも2回実行することにより、十分に正確性の高い字幕の生成を支援できることが明らかである。例えば、支援装置10は、S120→S130→S140→S150の繰り返し処理を予め定められた回数(例えば、2回)経た場合には、繰り返し処理を終了してS170に処理を進めてもよい。
【0059】
図9は、本実施形態の変形例における支援装置10の処理フローを示す。本変形例において、編集部106は、入力された第1表現情報を順次第1ユーザにより編集させていき、基準回数の編集後の第2表現情報を取得し、予め定められた基準回数の編集において第1表現情報と第2表現情報とが相違すると判断部108が判断した場合に、入力部110は第3表現情報を入力する。
【0060】
以下、本変形例において、
図2において説明した実施形態と同様の部分については説明を省略することがある。例えば、本変形例の支援装置10は、S210、S220、S240、及び、S270の処理を、それぞれ
図2のS110、S120、S140、及び、S170の処理と同様に実行してよい。
【0061】
本変形例のS230において、判断部108は、直前のS220の編集において、第1表現情報と当該第1表現情報を編集した第2表現情報とが相違するか否か判断する。判断部108は、判断部108が第1表現情報と第2表現情報とが相違すると判断した場合は処理をS232に進め、第1表現情報と第2表現情報とが相違しないと判断した場合は処理をS260に進める。
【0062】
S232において、判断部108は、S120において、予め定められた基準回数(m回)の連続した編集において第1表現情報と第2表現情報とが相違するか否か判断する。例えば、判断部108は、予め定められた基準回数連続してS220→S230→S232と進む処理が基準回数連続して繰り返されたか否か判断する。判断の結果が肯定的である場合、判断部108は、処理をS240に進め、そうでない場合には処理をS220に戻す。
【0063】
S260において、判断部108は、S220の複数回の編集において、予め定められた基準回数(n回)の連続した編集において、第1表現情報と第2表現情報とが一致したか否か判断する。例えば、判断部108は、予め定められた基準回数連続してS220→S230→S260と進む処理が基準回数連続して繰り返されたか否か判断する。なお、n及びmは、同一又は異なる自然数であってよい。例えば、n=2、m=2であってよい。
【0064】
判断部108は、予め定められた基準回数連続した回数の編集において、第1表現情報と第2表現情報とが一致したと判断する場合は処理をS270に進め、そうでない場合は処理をS220に戻す。
【0065】
このように、本変形例の支援装置10は、編集において修正がないことが基準回数連続して発生するまで、編集部106による編集と入力部110による入力を繰り返すことに加え、編集における修正が基準回数連続して発生するまで編集部106による編集を繰り返す。これにより、本変形例の支援装置10によれば、複数回の連続する編集を経て品質がより向上した第2表現情報と第3表現情報とを統合するので、最終的に生成する表現情報の品質を更に向上することができる。
【0066】
ここまで説明した本実施形態及び変形例の支援装置10は、表現対象として音声を含む情報を用い、第1表現情報、第2表現情報、及び、第3表現情報として音声の内容を表す字幕等のテキストを生成することを支援したが、これに限られない。例えば、支援装置10は、表現対象として音声に代えて/加えて、写真、イラスト、テキスト及び/又は符号等を含む静止画、及び/又は、動画等を用いてよく、表現情報は表現対象に対応する字幕、翻訳、及び/又は、音符等でもよい。
【0067】
図10は、支援装置10として機能するコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD−ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部を備える。
【0068】
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【0069】
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェイス2030は、有線又は無線によりネットワークを介して他の装置と通信する。また、通信インターフェイスは、通信を行うハードウェアとして機能する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
【0070】
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続するとともに、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
【0071】
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
【0072】
コンピュータ1900にインストールされ、コンピュータ1900を支援装置10として機能させるプログラムは、分割モジュールと、自動認識モジュールと、編集モジュールと、判断モジュールと、入力モジュールと、第1統合モジュールと、制御モジュールと、第2統合モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、分割部102と、自動認識部104と、編集部106と、判断部108と、入力部110と、第1統合部112と、制御部114と、第2統合部120としてそれぞれ機能させてよい。
【0073】
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である分割部102と、自動認識部104と、編集部106と、判断部108と、入力部110と、第1統合部112と、制御部114と、第2統合部120として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の支援装置10が構築される。
【0074】
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はCD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【0075】
また、CPU2000は、ハードディスクドライブ2040、CD−ROMドライブ2060(CD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020及び外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。
【0076】
本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
【0077】
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすか否かを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【0078】
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
【0079】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、CD−ROM2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
【0080】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0081】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。