3.7 基盤となる応用技術

 ここまではコンピュータ・システムの基礎となる仕組みを述べてきたが、この節では、その他の情報科学技術の基盤となる応用技術について紹介する。情報科学技術ロールケーキ(巻頭の図)のスポンジ部分に記載されている各要素技術の簡単な解説である。

 

3.7.1 データベース

情報化の進展と記録技術の進歩に伴い、社会の各所で大量のデータが蓄積されるようになっている。これらを有効に効率よく活用するためには、組織的にデータを管理する必要がある。ある目的のもとで収集したデータを容易に活用できるように定型化・組織化し、データの追加、更新、削除、検索などデータの操作に関わる処理を行う仕組みがデータベースである。データ操作を効率的に行うために、データの論理的な格納方法を定めたものがデータモデルである。

代表的なデータモデルのひとつに、関係モデルがある。直感的には、表形式でデータを整理するようなモデルである。表の各行が、1件のひとまとまりのデータに対応する。表の各列は、ひとまとまりのデータに含まれる項目に対応し、属性とよばれる。関係モデルに基づいて作られるデータベースが関係データベースである。関係データべースでは、格納している表から特定の行(たとえば、ある特定の郵便番号の人だけ) や特定の列(たとえば、氏名と電話番号だけ)を抽出して新しい表を作成したり、他の表と組み合わせて、両方に格納されている行(たとえば、他のグループの住所録とつき合わせて、両方に属す人だけ)や、いずれか一方に格納されている行からなる新しい表(たとえば、ふたつのグループの住所録を統合したものになる)を作成したりすることにより、必要なデータを抽出できるようになっている。

20  住所録を例にした関係データベースの概念図

 

3.7.2 データマイニング

情報技術の進歩により、インターネットなどからのデータ収集が容易になり、収集したデータの保存に要するコストも低下したことによって、大量のデータを取り扱える環境が整ってきた。また、処理速度の高速化やアルゴリズムの改良などにより、大量のデータを事前に選別することなく分析できるようになった。これらを背景として、無意味に思えるデータの組み合わせなどに対しても分析を行い、未知の関係や法則を導き出そうとする手法がデータマイニングである。

理論的な基盤は統計的な分析手法であるが、対象固有の現象や特徴を反映した処理を加えるなどの工夫により、処理結果の選別を行う場合がある。分析結果には、既知の法則や関係も多く見出される。また、新しい法則や関係が発見されたとしても、それが本当に意味のあるものかどうかや、役に立つものであるかどうかは、別に検証されなければならない。

3.7.3 文書処理

インターネット上には、人間の処理能力を超える大量の文書が蓄積されている。それらの中から、利用者が必要とする情報を掲載した文書を効率よく検索するときには、適切な検索語を指定し、対象とする文書のなかから、その検索語を含む文書を抽出する処理が行われる。対象となる文書の内容を示すようなキーワードを見出しとしてあらかじめ設定しておき、その箇所のみを対象として検索語との照合を行う方法や、文書に含まれているすべての語を対象として検索語との照合を行う方法などがある。

既存文書を処理するこのような技術に対し、新たに作られる文書については、検索や要約の対象となることを前提として、それらの処理が効率よく効果的に行われるようにするために、文書を作成することも行われている。そのように作成された文書では、語句、文、段落などに、その意味・内容や、文書中での役割などを示すためにあらかじめ定められたタグが付与される。タグが付された部分をどのように処理するかを定めたプログラムを用いることにより、文書の閲覧、印刷物の生成、管理などが行える。

 

3.7.4 検索技術

文書データを対象とする場合、指定された検索語とデータに現れる語を逐次照合し、一致する部分を探し出すことが最も簡単な検索手法である。データ全体に現れる語の索引を別に生成して付与したり、データの内容を示すキーワードなどをメタデータとして付与し、それを手がかりとして目的とする文書を検索することが行われる。文書データ以外にも、画像データや音声データに対して、その内容に関するメタデータを付与することにより、キーワードを用いた検索が可能である。

二種類のデータが同一のものであるかどうかを判定するために、それぞれのデータを数値化し、その数値による比較を行うことがある。このアイディアを応用し、メタデータを使用せずに、画像データや音声データの検索を行うこともできつつある。キーワードのかわりに、検索したい画像データや音声データと特徴が類似しているデータを指定し、それらを数値化して得られる値と、検索対象となるデータの値とを比較することによって、目的とするデータを探し出そうとするものである。二つのデータの類似性をうまく反映する数値化の手法を構成することが必要である。

 

3.7.5 信号処理

外界の状況を観測する装置として、様々なセンサがある。センサからの信号を変換、加工する技術を信号処理という。アナログ信号をデジタル信号に変換する処理は、信号処理のひとつのアプリケーションである。これ以外にも、ノイズの除去、特徴の抽出、数学的な変換など、様々な応用がある。

信号処理では、処理対象となる信号を入力し、目的とする変換が行われる電子回路を用いることがある。コンピュータで行う信号処理は、入力信号をデジタルデータに変換し、プログラムによって変換が行われる。出力信号は、変換後のデジタルデータから再構成される。

コンピュータで行われる画像処理では、入力画像として撮像系からの信号をデジタルデータに変換してコンピュータに入力し、(そのままデジタルデータとして記録することも含め)数学的な変換を施したのち、再び画像に変換して(すなわち、デジタルアナログ変換が行われ)その結果を表示する。音声処理も同様に、音質、速度、音程の変更など、デジタル化された音声データに対して変換を施し、アナログ変換を行ったのち、再び音声として出力する。

 

3.7.6 可視化

信号処理においては、対象となる信号を人間の視覚や聴覚によって知覚されるものに限定していない。つまり、人間が直接、見たり聞いたりできない信号も対象となる。それらを人間が知覚できる信号に変換し、表示する技術が可視化である。処理対象となるもとの信号がアナログ信号、デジタル信号のいずれであっても、入力信号や処理結果となる信号をデジタルデータに変換することができれば、人間が知覚しうる色や書に対応付けることが可能である。これがコンピュータによる可視化である。そこでは、データを画像情報として表現するコンピュータグラフィックスや、データを音声情報として表現する音声合成などの技術を利用することができる。信号処理と関係のない対象であっても、それをデジタルデータで記述することが可能であれば、表現形式を適切に定めることにより可視化することは可能である。

 

3.7.7 シミュレーション

自然現象や社会現象などの構成要素をモデル化し、ある状況設定のもとで生じる現象の予測・分析などを行うことをシミュレーションという。特に、コンピュータ上でモデル化し、数値解析的な手法により現象を予測・分析することをコンピュータシミュレーションという。解析的には解けない現象、実験することができない現象、状況を変更して繰り返し実験することが困難な現象などは、コンピュータシミュレーションが有効である。実行状況や結果を可視化技術により提示することも可能である。

シミュレーションに人間から割り込みを認め、状況設定の変更を動的に受け付ける仕組みをシミュレーターという。フライトシミュレータなど、実際の機器操作により状況設定の変更を受け付けるような場合には、その操作によりもたらされる結果を機器の振る舞いへとフィードバックし、現実感のあるシミュレーションが行える。実機の操作と変わらない操作感覚を実現するために、現実感のあるグラフィックスを生成する技術や、実機との時間遅れなどが生じないように高速に演算、制御する技術が必要である。

 

3.7.8 パターン認識

信号から信号へ変換・加工する技術が信号処理であることに対し、入力信号のクラスタリングや、記号記述への変換を行う処理は、特にパターン認識とよばれる。たとえば、画像中で意味のある特定の領域を抽出する処理や、画像中の被写体が何であるかを特定するような処理などは、画像認識という。画像中から人物を同定したり、文字が書かれた印刷物などの画像から、文字情報を抽出したりする処理などがある。また、音声を対象にして話者を特定したり、発話内容を文字列に変換したりする処理は音声認識という。これにより、声によって機器を制御することなどが可能である。

 

3.7.9 人工知能

人間が行っている知的な活動や知能の働きをコンピュータ上で実現しようとする試みが人工知能である。顔画像による認証などは、人間の持つ視覚情報処理能力の一部を画像認識技術として実現したものである。機械翻訳などは、人間の持つ言語活用能力の一部を模倣しようとしたものである。これらの他には、知識に基づいて判断・推論し、思考を支援するための情報を提供するシステムや、統計的な分析手法に基づいて、知識や判断規則などを抽出する手法がある。

 

3.7.10 マルチメディア

文字、音声、画像(動画像を含む)などは、情報を表現するメディアであり、それぞれ表現できる情報の種類が異なっている。いずれのメディアで表現される情報もデジタル化されることにより、プログラムという統一的な方法で取り扱うことが可能である。このように、様々な種類の情報をデジタルデータで記述し、プログラムによって処理する仕組みをマルチメディアという。

マルチメディアデータの処理には、通信プロトコルに類似した階層構造がある。下位層では、メディアごとの処理は不要であり、データ全体を誤りなく処理する機能が必要である。中間層では、各メディアの内容を取り出すために、データのどの部分がどのメディアに対応しているかを区別する処理が必要である。そのために、そのような区別をするためのデータが埋め込まれており、プログラムによって読み取られるようになっている。上位層では、メディアを特定されたデータに対し、それぞれ固有の処理が行われ、内容が取り出される。たとえば、マルチメディアデータのうち、文字情報として区分された部分は、文字コードとして解釈され、文章が取り出されることになる。

 

3.7.11 HCI (Human Computer Interaction)

コンピュータの使いやすさを提供する仕組みのひとつがユーザインタフェースである。なかでもグラフィカルユーザインタフェース(GUI)は、メニュー、アイコン、ボタンなどの部品を用いて、利用できる機能や現在の状態などを視覚情報として提示するものである。キーボードやマウスなどを通して、それらの部品を操作することが、実際のコンピュータ操作につながっている。

ネットワーク環境においては、ネットワークを通じて様々なサービスが提供される。サービスへのアクセスには、GUIを持つウェブブラウザが用いられる。サービスの窓口となるのは、ウェブページであることが多く、その場合には、ウェブページがユーザインタフェースの役割を果たす。

キーボードやマウス以外からコンピュータを操作するユーザインタフェースもある。たとえば、音声認識技術を応用することにより、音声でコンピュータを制御することや、音声合成技術により、文書の内容を読み上げることが可能である。また、画像処理、画像認識技術を用いることにより、コンピュータの画面に向けられた利用者の視線に基づいて、次に行われる操作を予測することも可能である。このような機器と人間との間のやり取りを様々な角度から分析し、ユーザインタフェースの設計や実装に活かす取り組みがHCIである。

 

3.7.12 組み込み技術

情報機器や家電製品にとどまらず、電子制御を行う製品の多くには、部品のひとつとしてCPUが搭載されている。このCPUで、その製品に必要となる特定の機能を実現するプログラムの開発技術が組み込み技術である。

CPUはプログラムによってその動作を自由に定められることから、機器本体の回路などを変更することなく、プログラムの変更・修正により機能を追加したり、不具合を修正したりすることが可能となる。基本的には、特定の機能を実現するものであるから、多機能な製品は、複数の組み込みシステムの集合体となることがある。

組み込みシステムのCPUやメモリには、製造コストや製品の大きさなどの面から、一般のコンピュータに搭載されているようなCPUやメモリと同程度の性能・容量は望めない。そのため、プログラムの開発にあたっては、動作速度や使用可能なメモリ容量などの制約が多くなる。そのような制約があるなかで、高機能の組み込みシステムを開発するには、効率のよいアルゴリズムの設計など理論的なアプローチが必要になる。

 

3.7.13 ユビキタスコンピューティング

CPUの小型・低価格化と、組み込み技術の進展により、人間の生活空間のあらゆる場所にコンピュータを埋め込むことが可能になっている。人間がそのようなコンピュータの存在や、働きを意識することなく、そこからサービスを受けて、便利で豊かな生活がおくれるようにするコンピュータの活用形態をユビキタスコンピューティングと呼んでいる。

  CPUを搭載し演算能力を有するチップや、メモリ機能のみを有するチップなどが埋め込まれたICカードに代表されるように、携帯できる様々なツールにコンピュータを埋め込むことで、サービスを受けられる。どのようなツールにどのようなサービスを受けられるチップを埋め込むのか、あるいは、どのようなサービスがこのような形態に適しているのか、HCIの観点から検討することも必要である。