高等学校情報/情報の科学/構造化

データの構造化の例を示します。下記の表が、構造化されたデータの例です(「構造化データ」という)。

あるいは、テキスト文字だけで表すなら
みたいになるでしょうか。
このように、2次元の数表は、構造化データです。
データを集めた際、構造化データにすると、コンピュータでデータベースとして処理しやすくなります。

いっぽう、構造化されてないデータの例を示します。
つまり、一般に単なる日常語の文章は、非構造化データです。
そのほか、上記の「水素の原子番号が1です。(以下略)」を、音声で読み上げた音声データや、動画にした動画データも、非構造化データです。
非構造化データに分類されるデータには、単なる文章のテキストデータのほか、画像データや音声データもあります。
構造化されているデータのほうも、構造化されてないデータのほうも、どちらでも酸素の原子番号も記号も分かります。しかし、明らかに、構造化されているほうが、酸素のデータを探しやすいです。
つまり、データを紹介する際、マス目のある表にすることで、自然と、データが構造化されて、分かりやすくなります。
人間にとって分かりやすいだけでなく、コンピュータにとっても構造化されたデータのほうが、余計な情報が無いので、プログラムで処理しやすくなります。
たとえば、上述のテキスト文字で構造化された表では、タテ棒|を区切り文字にすれば、あとは番号・名称・元素記号 が順番通りに出現するだけですので、プログラムで処理しやすいです。
データを構造化することで、いちいち、日本語の「です」とか「どちらも」とか言った語句の意味をコンピュータで分析する必要が無くなります。
というか、コンピュータは基本的に、意味を理解するのが苦手です。

なので、上記のように、何かの数値や名称などのデータは、データを提示する際は、どうせ手を動かすなら、どんどんとマス目の表などを使って構造化して、データを提示しましょう。
マス目の表で構造化するのは、構造化をする方法としては基本テクニックです。
文字だけで表現できるデータなら、Microsoft Excel や Google スプレッドシートのようなマス目のある表計算ソフトでデータを保管すると、自然とデータが構造化されます。
なので、Excel や Google スプレッドシートなどを活用すると良いでしょう。また、これらのソフトウェアの使い方にも、慣れておく必要があります。
「データサイエンス」だの「データ解析」だのといった仕事も、上記のようにデータを構造化するのが前提です。



なお、Google スプレッドシートには、テーブルの機能はありません。
マイクロソフトの Word およびPowerPoint の表には、Excel テーブルの機能はありません。便宜上、PowerPointの表でも「テーブルデザイン」などの用語で「テーブル」などの語句を使いますが、しかしPowerPointの表にはExcelテーブルの機能は無く、PowerPointのテーブルデザインで作成した表をExcelにコピーペーストしても、そのままではExcelテーブルの機能は使えません。
一応、Excelテーブルを使わなくても 「ホーム」>「並べ替えとフィルター」 で昇順または降順の並び替えを出来ますが、できればExcelテーブルで並び替えるほうが安全だと思います(データテーブル範囲の誤判定とか無いので)。
情報の構造化は、例えば、今あなたが読んでるwikiも、章や節などの見出しがついていますが、こういうのも「構造化」の一種です。
文書を構造化することによって、目次などを使って、読みたい部分を探しやすくなります。
なにも、文書や文章でなくても、情報は構造化できます。
文章を構造化したい場合、Microsoft Word や Google ドキュメントなどの文書ソフトを使うことで、構造化しやすくなります。
一方、Windowsの『メモ帳』は、構造化のためのアプリではありません。メモ帳は、用途の一つとしては、プログラミングのコードなどを書くするためのアプリです。目的が違います。
Word は、構造化文書を作成するためのアプリです。Googleドキュメントも同様、構造化文書を作成するためのアプリです。
もし構造化しないと、目次を手動でつくる羽目になり、本文の訂正のたびに目次を作り直す羽目になるので、ほぼ本を作るのが不可能です。なので、目次のある書籍を作りたい場合、ページ数の多めの書類を作りたい場合は、ぜひ構造化すべきです。
見出しを付けると、構造化をしやすくなります。
Wordには、「見出し」というボタンがあって、見出しにしたい部分の文字列を選択して「見出し」ボタンを使うことで、その部分の文字列を見出しに設定できます。
画面上部の「ホーム」タブを押すと、上部のリボン一覧のどこかに「見出し」ボタンが現れますので、その「見出し」ボタンを使ってください。

さて実際に試すと、「見出し」にされた文字列が、結果的にその文字列の表示サイズが大きくなったり、あるいは小さい四角「■」または丸点「〇」のような記号が戦闘に追加されたりするかもしれませんが、しかし、決してそういう飾りが目的の機能ではありません。
その部分の文字列を「見出し」として認識させるのが目的です。表示サイズの調節や記号の種類などといったスタイルは、あとから一括で変更・調整できます。と言うか、Wordの機能にある「スタイル」とは、そういう意味です。
会社などで仕事をする場合なら、自分でスタイルを調整せずとも、あらかじめ前任者や社内の管理者などにより、フォントサイズなどスタイルが既に設定されている ひな型 のword文書がサーバーなどに用意されているでしょうから、そのひな型を(上書きせずにコピーで)使い回します。
というか、一括でスタイルを操作するので、よほどの初心者以外は、いちいち一つずつフォントサイズとかを別々に設定しようとしないでください。
なお、この小さい四角「■」などは編集記号であり、印刷には出ません。
なのでともかく、構造化をしていく場合は、細かい表示の差は気にせずに、少しは自分の好みと表示が違っていても気にせずに、まずは「見出し」ボタンなどを使って文書の構造化をどんどん進めていくのが、デジタル的な現代における書類作成のテクニックです。
また、いちいち下書きの段階で、フォントのサイズとかを設定する必要はありません。後回しにしてください。Wordを作っている人がきちんと、初期設定などで見出しのフォントのサイズをいい具合にしてくれているはずです。それが気づかないほどにはWindowsの会社の人は馬鹿ではありません。
一方、「メモ帳」アプリなどでどんなに「■」とか「〇」とか行の戦闘に書いても、見出しとしてはコンピュータは認識してくれません(2023年の現状では)。「メモ帳」はそういう目的のアプリではありません。Wordがあるので、構造化にはWordを使ってください。
もし Word 購入のお金が掛かるのがイヤなら、Googleドキュメントとか LibreOffice Writer とか、構造化文書を作成できる無料ソフトがあるので、(『メモ帳』ではなく)それを使ってください。
Word および Google ドキュメントなどには、HTML出力の機能などもあるので、ジャンルの種類は気にせずにどんどんと構造化していきましょう。
YouTubeで文部省の動画教材で Word を用いた構造化文書の作り方の例を説明しているので、見てください。
文部科学省/mextchannel『【情報I】コミュニケーションと情報デザイン(1)「情報デザインの要!情報の構造化」』
Wordの「アウトライン」機能を使うと、文書を構造化していけます。
Excelでば構造化を(ほぼ)できません。(仮にExcelで構造化できるとしても、かなりの技術力が必要になってしまう可能性がある。)なので、長めの文書を作る場合は、なるべくWordを使ってください。
情報を構造化する際、
内容の近さ、または発生時点での近さに注目してグループ分けすると、構造化しやすくなる場合もあります。
文科省の教材でも、順序に注目して、矢印などを使って、情報の要素を発生順に並べるなどして、情報を並べています。
たとえば、ある料理の作り方についての情報なら、作るときの順序どおりに並べるのが、分かりやすいでしょう。
実際に料理を作る際の知識と、料理の歴史などの補足的な知識とは、別々の場所に分けて少し離すほうが、分かりやすいでしょう。
こういった情報を図示する際、なんでも文章で書くのではなく、必要に応じて図を使いましょう。
Wordのオートシェイプとか、何でもいいですが、そういう機能を活用しましょう。
さて、会社などで報告する際、「結論から話せ」とか言われる事もあるので、情報の内容や用途によっては、必ずしも発生の順序通りに話す必要は無いです。しかし、できれば発生時点の近い複数情報は、まとめて話したほうが、聞き手にとって聞きやすいでしょう。

ほか、読み手・観客にあわせてページなどを分けるというのも、方法のひとつです。たとえば、大人向けの情報と子供向けの情報が混在している情報源なら、それを整理して、大人向けの情報だけをまとめたページと、子ども向けの情報だけをまとめたページに分ける、というような整理法もあります(開隆堂『情報I』)。
たとえば私立高校のホームページなんかも、
など対象者ごとにページが分かれていたりします。(※ 「一般向け」については、特に明示していない高校も多い。メインページが一般向けに分類)
なお、こういった客層などで分類するときによくあるミスとして、分類漏れのミスがあります(日本文教出版 I)。たとえば下記
と言う分類は、小学生以下は不明です。
また、
と言う分類は、お年寄りと大人に、内容の重複があります。(お年寄りも大人なので)
こういう分類モレや重複を防ぐため、
A / B /それ以外
みたいに「~以外」的な選択肢を使って分類すると、分類ミスを防ぎやすいでしょう。
さきほどの高校のホームページの、
の分類でも、「一般向け」が「~以外」の役割を果たしています。
プログラムを作る場合、まず、どんな機能を実現したいのか、仕様を明確にしましょう。箇条書きなどでメモ程度でいいので、テキストファイルなどに列記しましょう。(※ 日本文教出版の教科書の見解)
そのほか、中学でも習ったフローチャートや、中学では習ってないですが状態遷移図や状態遷移表などを使って、言葉だけでなく図でも説明すると、管理しやすくなります。
※ 高校生向けに分かりやすい状態遷移図の画像がwiki内に見つからなかったので、検定教科書などで状態遷移図の例を確認してください。

(※ 検定教科書で扱っている範囲。)
文書も、構造化を可能である。
たとえばWebページを記述するためのHTML(エイチティーエムエル)では、
のように、記述するが、これも構造化の例である。(なおHTMLについての解説は『高等学校情報/社会と情報/ウェブページの仕組み』の単元にある。)
このように構造化することで、webブラウザが、何がタイトルで何が中身の文章なのかとかを把握しやすくなるし、検索エンジンも同様にタイトルや中身を把握しやすくなる。

HTMLでも「見出し」を作ることができます。 それは、<h2>...</h2> とか <h3>...</h3> のようにh〇タグを使うことです。(〇にはレベルが入る。)
これを実行すると、下記のようになります
※ 本文テスト

wikiが反応して、wikiのこのページの目次に「見出しテスト」の節が表示されていると思います(ユーザー側で目次を非表示にしない限りは)。このようにwiki は hタグ に反応します。つまり、wikiの編集画面にある「見出し」ボタンの正体は、じつは hタグ です。
この例のように、 h〇 タグは、決して単に文字を大きくするタグではありません。そうではなく、見出しを作るためのタグが hタグ です。webブラウザで見た場合に見出し部分の文字が大きくなったりしますが、それは単にwebブラウザが気を利かして文字拡大をしてくれているだけです。
なので、HTMlで長い文章を作る場合は、h〇タグ あるいは 「見出し」ボタン を使って、どんどん文書を構造化しましょう。
もし、見出しとしてではなく単に文字サイスの拡大だけをしたい場合は、下記のように span タグを使います。
とか
などを使うことになるでしょう。
Googleサイトやgooブログなどを使う場合も、なるべくその業者の提供する構造化のためのボタンを活用化したほうが良いと思います。
そのサービスの編集画面などに直接HTMLを書いても、うまく動かなかったり、あるいは最悪、セキュリティに対する攻撃行為とみなされて、サイト削除などをされる可能性すら、ありえます。
Google サイトでwebサイトを作る場合、見出しを作りたい場合は、画面右側の「テキストボックス」ボタンを押して現れるバーにある「標準テキスト」を、クリックして現れるメニューで変更して「題名」や「見出し」「小見出し」などに変更できます。「箇条書き」とか、「番号付きリスト」とかもテキストボックスボタンを押して現れるバーのなかの右のほうにあります。
なお、Google サイトで作ったサイトのソースコードをwebブラウザで見ても、一般的な入門書にあるコードとは、全くコードが違います。Googleサイトで見出しを作れば、一応は語句検索「<h2」などで見つかりますが、しかしGoogle側が様々な設定を付け足しています。箇条書きを作った場合も同様、<liで見つかりますが、しかし設定がいくつも加わっています。
Googleサイトの場合、このようにコード中のタグが一般的な入門書のものとは違うので、HTML入門書にあるようなコードを「埋め込み」ボタンで出てくるウィンドウに手動で書いても、うまく動かないかもしれません。
なお、「埋め込み」ボタンを使わずにテキストに直接HTMLタグで <h2>あああ</h2> とか書いても、Googleサイトでは無効化されます。
なるべく、サービス業者の提供する構造化ツールを使用するほうが確実に動作します。
見出しタグだけの問題ではなく、他のタグも無効化されます。たとえばリスト系のタグ
なども無効化されます。
なお、Gooブログの編集画面の上部にあるメニューバーを確認してみたら、「見出し」ボタンがありませんでした。箇条書きとかはGooブログの編集画面にもあります。Gooブログでも、テキスト中に <h2>あああ</h2> とか書いても無効化されてしまいます。wikiと違って、テキスト側からタグを書かせるのを規制しています。やはり他のタグをテキスト欄に記入しても無効化されます。
ただし、gooブログの編集画面には HTML 入力モードがあります。編集画面のメニューバーに「HTML」というポタンがあるので、それです。ただし、ブログ中に埋め込んでいるため、純粋なHTMLとは少し違います。なので、まずはツールで作成して、それをHTMLモードで閲覧して、仕組みを把握するのが良いでしょう。
一方、Googleサイトには、HTML入力モードが見つかりません。Google は、HTMLタグをユーザーが埋め込むのを、あまり好んでないようです。このため、特に Googleサイトでは、HTMLタグを無理やり書いて入力しても、セキュリティに対する攻撃とみなされてサイト削除される可能性が高いと思います。
あまりGoogleサイトではHTMLコードを埋め込みしないほうが良いでしょう。

HTML文書の表示において、「背景を○○色にしたい」とか、「余白をもっと増やしたい」などのレイアウト(見え方)を、通常状態から変更したい場合は、CSS(シーエスエス)と呼ばれる方法で記述します。(Cascading Style Sheet の略。カスケーディング スタイル シート)
CSSは、HTMLとは、別の言語です。ですが、HTMLファイルの中に、CSSタグも記述する事ができます。(検定教科書によっては、CSSをHTMLの機能の一部として扱っている教科書もある。)
CSSのことを単に「スタイルシート」という場合もあります。
とにかく、CSSをどう使用するかというと、まず、
のようなタグを、HTML中に追加します。そして、このタグ <style> </style> 中に、レイアウトの仕様を記述します。
たとえば、余白を調整したい場合、次のように body {margin: 25%;} </style>を、タグ <style type="text/css"> </style> 中に追加します。
ファイル例
さらに背景色を変更したい場合は、たとえば背景色をピンクにしたい場合は、 body {margin: 25%; background-color: pink;} </style> というふうに記述します。
つまり、
このように、CSSを用いることにより、レイアウトと文章内容を別々のタグで記述することで、他のプログラマーや技術者がHTML文書の構造を把握しやすくなります。
タグが増えてきて、みづらくなってきました。次のように、各行の始めの位置を、字下げ(じさげ)しましょう。
OSの文字入力モードを、直接入力モードにして、スペースボタンでスペース(空白のこと)を入れて、字下げをしてください。スペースボタンの場所は、普通は、キーボードの下のほうにあるはずです。
上記htmlのように、字下げをすると、htmlファイルの構造が、見やすくなります。
表をもちいて機械にだけ読み取りやすくする構造化だけで満足するのではなく、加えて、さらにグラフや図解などで人間にも分かりやすい情報を追加すると良い場合も多くあります。
数量に関してはグラフ化が分かりやすいでしょう。
学校の生徒の成績の、各教科の得点のようなものをグラフ化する場合は、棒グラフなどでもいいですが、「レーダーチャート」というグラフ形式「が分かりやすいです。
各要素の数量のバランスが取れているかどうかを見たい場合、レーダーチャートだと見やすくなります。
ただし、数量以外の関係を扱う場合もあります。
分類関係についてはツリー図、包含関係についてはベン図など、いろいろと使い分けましょう。


表計算ソフトで枠線などが無いと、他の作業者には読みづらいです。表計算ソフトで枠線をつけたい場合は、「罫線」(けいさん)などと表示されるアイコンをクリックすれば、可能です。
また、折れ線グラフなどを描く際、どの線や点が何に対応しているかといった情報が必要です。表計算ソフトでは、グラフ作成機能などの「凡例」(はんれい)を操作することで、そのような情報を追加できます。
右のグラフでは、「砂糖」とか「塩化ナトリウム」とか書かれた大きな四角の枠の中の情報が、凡例です。
加えて、座標軸が何を意味しているかの説明が必要であり、右図の温度とか溶解度とかのような軸の説明のための語句を「ラベル」と言います。表計算ソフトでも「ラベル」を操作することで、そのような情報を追加できます。