次の図は,『青空文庫』サンプルから「これ」を検索した結果です。ここでは,作品別の出現頻度を求めてみます。
頻度の計測は,列を指定して行います。作品別の頻度を計測する場合,「タイトル」列のいずれかのセルを選択し,右クリック⇒「統計」を実行します。
計測結果は,次のようになります。
複数のセルを選択すると,選択した列の値を組にして頻度を計測することができます。次の例は,タイトルと作品を組にした場合の結果です。
正規表現置換により,検索結果,集計結果を編集します。
ここでは,年月日表示から年表示にする例を示します。使用した資料は,国会会議録パッケージです。例えば,この処理により,年ごとの集計が容易になります。
まず,「開催年月日」列のセルを右クリックし,「置換」を実行します。
置換の設定は,置換元(正規表現,「-.*」),置換先を指定します。この場合,「-」以降の文字列を削除することにより,年表示にしています。なお,置換の処理は,JavaのString#replaceAllで行っています。後方参照についても利用可能です。
結果は次のとおりです。新しいウィンドウが生成されて,置換結果が表示されます。
セルの値が数値の場合,それらを合算する機能です。名大会話コーパスパッケージを使って,話者ごとの発話文字数を計測してみます。
まず,各発話の文字数を「アノテーション内容の集計」機能([ツール]⇒[一覧]⇒[ユーザ入力])で求めます。一つの発話は,uタグでマークアップされています。さらに,発話者の名前を表示するため,「話者」の属性をチェックします。また,発話の文字数とその頻度も表示するように,「頻度」「長さ」もチェックします。頻度を表示するのは,同じ文字数の発話が複数存在する可能性があるからです。
集計結果は,結果は,次のとおりです。例えば,先頭行は,話者「F001」の発話のうち,文字数が13だったものが,107回あったことを表します。
最後に,合算したい列のセル(「合算:u%文字数」)を選び,[編集]⇒[合算]を実行します。
合算では,合算する列と「頻度」列を除くすべての列の値が同じ行の値が合算されます。上の例の場合は,「話者」列の値が同じ場合,「合算:u%文字数」列の値を合算します。合算する際は,「頻度」列の値を考慮し,先ほど例示した先頭行の場合,13×107文字として,計算されます。
この機能は,二つの集計結果を結合する機能です。
5.1では,『青空文庫』サンプルを例として,「これ」の出現頻度を作品別に集計しましたが,作品ごとに総文字数が異なっているため,直接比較することはできません。ここでは,「結合」機能を使って,出現頻度の集計結果(表a)に,作品ごとの総文字数を追加してみます。
作品ごとの総文字数を求めるには,次のように,「アノテーション内容の集計」機能([ツール]⇒[一覧]⇒[ユーザ入力])で求めます。
結果は,次のとおりです(表b)。
表aに表bの頻度列(総単語数)を結合します。結合には,まず,表bから結合したい列とキーとなる列を指定します。
キーとなる列とは,二つの表の値を結合する時,基準となる列です。ここでは,作品名がキーとなるので,「記事/@タイトル」列がキーとなります。結合したい列は「記事%文字数」列なので,「記事/@タイトル」「記事%文字数」列のセル(どれでもよい)を選択して,[編集]⇒[コピー(列名を含む)]を実行します。
次に,結合先の表aからキーとなる列のセルを選択します。この場合は「タイトル」列なので,表aで「タイトル」列のセルを一つ選択した後,[編集]⇒[結合]を実行して下さい。結果は,次のようになります。