Excelを使った平均情報量の計算
目的と例文 目的 例文:日本国憲法(英文)の前文の一部 Excelを使って英文の平均情報量を求める 文字はアルファベット26種類(大文字小文字を区別しない)とする アルファベット以外(空白,ピリオド等)は無視する Excelのグラフ作成と並べ替え機能を使ってみる ZIP形式で英文を圧縮し,圧縮率を求める 例文:日本国憲法(英文)の前文の一部 constitution.txt リンクを右クリックして「リンク先のファイルをダウンロード」 を選ぶ
DockにあるExcelのアイコン をクリック 起動すると下のような画面が表示される Dockにない場合は,Finderで「アプリケーション」 → 「Microsoft Office 2008」 → 「Microsoft Excel」 の順にクリック
ツールバー(標準,書式設定) と数式バーを表示させておく Excelの画面 メニューバー 数式バー タイトルバー ツールバー ツールバー(標準,書式設定) と数式バーを表示させておく メニューバーの「表示」→目的のバー名をクリック
基本的な用語(セル関係) セル:入力の基本単位となるマス目 列:セルを縦に並べたもの 行:セルを横に並べたもの 列と行の組合せで位置を指定する 図の赤いセルはB3 列:セルを縦に並べたもの 左からA列, B列, … と呼ぶ 行:セルを横に並べたもの 上から1行, 2行, … と呼ぶ アクティブなセル:入力などの操作の対象となるセル セルポインタ(太枠)で囲まれている 図ではC3がアクティブ マウスやカーソルキーで選択する
基本的な用語(ファイル関係) ワークシート ブック ひとまとまりの作業スペース ウィンドウ下部のタブで選択する 複数のワークシートをまとめて扱うもの Excelでは1つのブックが1つのファイルとなる
ファイル名設定ウィンドウの表示 ツールバーの (保存アイコン)をクリック 「ファイル」→「保存」でも同じ ツールバーの (保存アイコン)をクリック 「ファイル」→「保存」でも同じ 拡張子は互換性重視でxls (説明は後で)
「書類」フォルダ内に”entropy”フォルダを作成 作業用フォルダの作成 「書類」フォルダ内に”entropy”フォルダを作成 「場所」欄が「書類」になっていることを確認 違う場合は右の をクリックして「書類」を選ぶ 「名前」欄右の をクリック 保存先フォルダ設定 ウィンドウが表示される 左下の「新規フォルダ」を クリック ”entropy”と入力して 「作成」をクリック ” ”は入力しない 画面下にはみでている場合はタイトルバーをクリックして上にドラッグする
保存先が”entropy”フォルダであることを確認 名前欄に”constitution.xls”と入力して「保存」をクリック ファイル名の設定 保存先が”entropy”フォルダであることを確認 名前欄に”constitution.xls”と入力して「保存」をクリック “xls”は拡張子 以後は をクリックすると上書きされる
ファイル名の設定(2) xlsx : 新しいフォーマット xls : 古いExcel とも互換性がある 古いExcel もアップデートすればxlsx を読める
表の骨格の作成 右のような表を作成する
いちばん左上のセル(A1)をクリックし,表題”日本国憲法前文”を入力 文字の入力 (1) いちばん左上のセル(A1)をクリックし,表題”日本国憲法前文”を入力 セルから文字がはみ出しても問題ない Enterキーを押すと入力が確定し,下のセル(A2)がアクティブになる 操作を間違えた場合はツールバーの (元に戻す)をクリックして取り消す 「編集」→「元に戻す」でも同じ 入力の間違いはクリックし直して再度入力しても良い
Tabキーを押すと入力が確定し,右のセル(B2)がアクティブになる B2~E2に各列の見出しを入力 文字の入力 (2) A2にA列の見出し”文字”を入力 Tabキーを押すと入力が確定し,右のセル(B2)がアクティブになる B2~E2に各列の見出しを入力 B2: ”出現回数”, C2: ”出現確率p”, D2: ”情報量I”, E2: ”p * I” A3~A29に各行の見出しを入力 A3: ”A”, A4: ”B”, …, A28: ”Z” A29: ”計”
罫線の入力 A2からE29までをドラッグして選択 ツールバーの (罫線)の右三角をクリック (格子)をクリック 選択した範囲が反転する ツールバーの (罫線)の右三角をクリック 罫線の一覧が表示される (格子)をクリック 格子状に罫線が引かれる
数値の入力 「文字の出現回数の計測」で各文字の出現回数を計測 出現回数をExcelに入力 文章全体をドラッグして右クリックし「コピー」を選ぶ 「計測対象の英文」の下の入力欄をクリックしてから「編集」→「ぺ−スト」 ”Count”ボタンをクリック 「計測結果」以下に各文字の出現回数が表示される 出現回数をExcelに入力 数字は英字モード(無変換キーを押した後)で入力 自動的に右詰めになる Aの出現回数をAの右のセル(B2)に入力 同様に各文字の数を該当する文字の右のセル(B列)に入力
B29に”=SUM(B3:B28)”と表示されているのを確認して確定 数式の入力中に間違えたら Escキーを押して取り消す 全文字数の計算 (1) B29に総和を求める数式を入力 ”=SUM(”と入力 B3からB28まで ドラッグ ”)”を入力 B29に”=SUM(B3:B28)”と表示されているのを確認して確定 数式の入力中に間違えたら Escキーを押して取り消す
全文字数の計算 (2) 結果の確認 数式の意味 B29にB3からB28までの総和(=全文字数)が計算されて表示される 右下図のようなウィンドウが表示されたら「いいえ」をクリック 数式の意味 SUMは関数名 総和を求める B3:B28は引数 指定した位置のセルの内容を参照する 連続したセルはコロンを用いてひとまとまりにできる セルの内容が変わると自動的に再計算される 総和は713になる ウィンドウは出なかったのでどうしたものか
出現確率の計算 C3に”=B3/B$29”と入力 C3の数式をC4にコピー Aの出現確率は(Aの出現回数/全文字数)で求められる Escキーを押して点滅を止める コピー先が書いてある場合はペーストを含む 点滅は止めなくても問題ない
相対参照と絶対参照 コピーによる数式の変化 3は相対参照 $29は絶対参照 1つ下のセルにコピーした ”=B3/B$29”が”=B4/B$29”に変わった 3は相対参照 コピー先や移動先に合わせて変化する $29は絶対参照 コピーや移動をしても変化しない 行や列の番号の前に$をつけて指定する
オートフィルの利用 C4をC5にオートフィルを使ってコピー 同様にしてC5をC6~C28にコピー B29をC29にコピー 一度の操作で複数のセルにコピーできる B29をC29にコピー 横方向でもオートフィルの手順は同様 C29の計算結果は確率の合計なので1になる
情報量の計算 D3に”=-LOG(C3,2)”と入力 D3をD4~D28にコピー ”#NUM!”と表示されたセルを0で上書き 情報量は出現確率pに対して -log2p で求められる LOGは対数を求める関数で,真数と底を引数にとる D3をD4~D28にコピー ”#NUM!”と表示されたセルを0で上書き ”#NUM!”は引数が不適切な場合(ここでは真数が0のとき)に表示される 該当するセルをクリック して0を入力 C3はセルをクリックしてもよい pが0のとき情報量は定義されないが,0としても平均情報量には影響しない
平均情報量の計算 E3に”=C3*D3”と入力 E3をE4~E28にコピー E3~E28の総和(=平均情報量)を求める 出現確率と情報量の積が求まる E3をE4~E28にコピー E3~E28の総和(=平均情報量)を求める E29をアクティブにし,ツールバーの (オートSUM)をクリック 自動的に”=SUM(E3:E28)”が入力される 違っている場合はE3~E28をドラッグする これで平均情報量の計算は終了
グラフの作成(1) グラフを作成したい範囲 (ここではA2からB28まで) を選択 シート上部の「グラフ」をクリック 「挿入」→「グラフ」でも同じ 「縦棒」の「集合縦棒」を選び、グラフをクリック
グラフタイトル「出現回数」をクリックして「日本語憲法前文」へ変更 グラフの端をドラッグしてサイズを変える グラフの作成(2) グラフタイトル「出現回数」をクリックして「日本語憲法前文」へ変更 グラフの端をドラッグしてサイズを変える typo s/全/前
最優先されるキーは「出現回数」,昇順と降順の選択は「降順」を選んで「OK」をクリック データが出現回数の多い順に並べ替えられる データの並べ替え A2からE28までを選択 「データ」→「並べ替え」 最優先されるキーは「出現回数」,昇順と降順の選択は「降順」を選んで「OK」をクリック データが出現回数の多い順に並べ替えられる グラフ内の順序も連動して変わる 以上でExcelの操作は終了
ZIP形式の圧縮 (1) ZIP形式とは… ここでは… ファイルの圧縮形式の一種 複数のファイルも1つのファイルにまとめられる 可逆圧縮であり,もとの情報に戻せる 情報量は維持したまま,符号化を工夫して小さくする ここでは… 元ファイルの平均情報量と圧縮率とを比較してみる 圧縮率: どのくらい圧縮できるか(小さくなるか)
ZIP形式の圧縮 (2) 元ファイルのサイズ 「constitution.txt」を右クリックし,「情報を見る」を選ぶ ファイルサイズを確認する 4KB なのは最小サイズが4KB なのでしょう
ZIP形式の圧縮 (3) ファイルの圧縮 圧縮率を求める 「constitution.txt」を右クリックし,「” constitution.txt”を圧縮」を選ぶ 「constitution.txt.zip」ができる 「constitution.txt.zip」のファイルサイズを確認する 圧縮率を求める 圧縮後のサイズ/元のサイズ
3種類の英文(例文または各自で探した・作った文)の平均情報量と圧縮率を求める 課題 3種類の英文(例文または各自で探した・作った文)の平均情報量と圧縮率を求める 普通の文 偏りの大きい文字列(例:aaaabbc.txt) ランダムな文字列(例:random.txt) 結果を比較して平均情報量と圧縮率の関係を考察 ランダムな文字列はランダム文字列生成プログラム (http://www.bielic.co.jp/simple-o.htm) を使って生成