[PukiWiki]

全文検索システム『ひまわり』/利用者マニュアル/1_7/5.検索結果を集計する の変更点

Top/全文検索システム『ひまわり』/利用者マニュアル/1_7/5.検索結果を集計する

  • 追加された行はこの色です。
  • 削除された行はこの色です。
  • 全文検索システム『ひまわり』/利用者マニュアル/1_7/5.検索結果を集計する へ行く。
  • 全文検索システム『ひまわり』/利用者マニュアル/1_7/5.検索結果を集計する の差分を削除

#author("2021-10-30T20:51:13+09:00","default:rd","rd")

#author("2021-10-31T11:04:30+09:00","default:rd","rd")
#navi(../)

//&color(red){&size(20){本ページは作成中です。};};

*5.検索結果を集計する [#y80e5ead]
** 5.1 頻度を計測する [#n15c7ad2]
 次の図は,『青空文庫』サンプルから「これ」を検索した結果です。ここでは,作品別の出現頻度を求めてみます。

 頻度の計測は,列を指定して行います。作品別の頻度を計測する場合,「タイトル」列のいずれかのセルを選択し,右クリック⇒「統計」を実行します。

#ref(./himawari_stat_freq1a.png,80%)
#ref(../../1_6/5.検索結果を集計する/himawari_stat_freq1a.png,80%)

 計測結果は,次のようになります。

#ref(./himawari_stat_freq2a.png,80%)
#ref(../../1_6/5.検索結果を集計する/himawari_stat_freq2a.png,80%)

 複数のセルを選択すると,選択した列の値を組にして頻度を計測することができます。次の例は,タイトルと作品を組にした場合の結果です。

#ref(./himawari_stat_freq3.png,80%)
#ref(../../1_6/5.検索結果を集計する/himawari_stat_freq3.png,80%)


** 5.2 検索結果・集計結果を編集する [#bf567862]
 正規表現置換により,検索結果,集計結果を編集します。

 ここでは,年月日表示から年表示にする例を示します。使用した資料は,国会会議録パッケージです。例えば,この処理により,年ごとの集計が容易になります。

 まず,「開催年月日」列のセルを右クリックし,「置換」を実行します。

#ref(./himawari_stat_replace1.png,80%)
#ref(../../1_6/5.検索結果を集計する/himawari_stat_replace1.png,80%)

 置換の設定は,置換元(正規表現,「-.*」),置換先を指定します。この場合,「-」以降の文字列を削除することにより,年表示にしています。なお,置換の処理は,Javaの[[String#replaceAll>https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#replaceAll-java.lang.String-java.lang.String-]]で行っています。後方参照についても利用可能です。

#ref(./himawari_stat_replace2.png,100%)
#ref(../../1_6/5.検索結果を集計する/himawari_stat_replace2.png,100%)

 結果は次のとおりです。新しいウィンドウが生成されて,置換結果が表示されます。

#ref(./himawari_stat_replace3.png,80%)
#ref(../../1_6/5.検索結果を集計する/himawari_stat_replace3.png,80%)

 

** 5.3 集計結果を合算する [#v2b5ad87]
 セルの値が数値の場合,それらを合算する機能です。名大会話コーパスパッケージを使って,話者ごとの発話文字数を計測してみます。

 まず,各発話の文字数を「アノテーション内容の集計」機能([ツール]⇒[一覧]⇒[ユーザ入力])で求めます。一つの発話は,uタグでマークアップされています。さらに,発話者の名前を表示するため,「話者」の属性をチェックします。また,発話の文字数とその頻度も表示するように,「頻度」「長さ」もチェックします。頻度を表示するのは,同じ文字数の発話が複数存在する可能性があるからです。

#ref(./himawari_stat_accumulate1.png,80%)
#ref(../../1_6/5.検索結果を集計する/himawari_stat_accumulate1.png,80%)

 集計結果は,結果は,次のとおりです。例えば,先頭行は,話者「F001」の発話のうち,文字数が13だったものが,107回あったことを表します。

#ref(./himawari_stat_accumulate2.png,80%)
#ref(../../1_6/5.検索結果を集計する/himawari_stat_accumulate2.png,80%)
 
 最後に,合算したい列のセル(「合算:u%文字数」)を選び,[編集]⇒[合算]を実行します。

#ref(./himawari_stat_accumulate3a.png,80%)
#ref(../../1_6/5.検索結果を集計する/himawari_stat_accumulate3a.png,80%)

 合算では,合算する列と「頻度」列を除くすべての列の値が同じ行の値が合算されます。上の例の場合は,「話者」列の値が同じ場合,「合算:u%文字数」列の値を合算します。合算する際は,「頻度」列の値を考慮し,先ほど例示した先頭行の場合,13×107文字として,計算されます。

** 5.4 集計結果を結合する [#v30ec872]
 この機能は,二つの集計結果を結合する機能です。

 5.1では,『青空文庫』サンプルを例として,「これ」の出現頻度を作品別に集計しましたが,作品ごとに総文字数が異なっているため,直接比較することはできません。ここでは,「結合」機能を使って,出現頻度の集計結果(表a)に,作品ごとの総文字数を追加してみます。

#ref(./himawari_stat_freq2a.png,80%)
#ref(../../1_6/5.検索結果を集計する/himawari_stat_freq2a.png,80%)
 
 作品ごとの総文字数を求めるには,次のように,「アノテーション内容の集計」機能([ツール]⇒[一覧]⇒[ユーザ入力])で求めます。

#ref(./himawari_stat_merge1.png,80%)
#ref(../../1_6/5.検索結果を集計する/himawari_stat_merge1.png,80%)

 結果は,次のとおりです(表b)。

#ref(./himawari_stat_merge2.png,80%)
#ref(../../1_6/5.検索結果を集計する/himawari_stat_merge2.png,80%)

 表aに表bの頻度列(総単語数)を結合します。結合には,まず,表bから結合したい列とキーとなる列を指定します。

 キーとなる列とは,二つの表の値を結合する時,基準となる列です。ここでは,作品名がキーとなるので,「記事/@タイトル」列がキーとなります。結合したい列は「記事%文字数」列なので,「記事/@タイトル」「記事%文字数」列のセル(どれでもよい)を選択して,[編集]⇒[コピー(列名を含む)]を実行します。

#ref(./himawari_stat_merge3.png,80%)
#ref(../../1_6/5.検索結果を集計する/himawari_stat_merge3.png,80%)

 次に,結合先の表aからキーとなる列のセルを選択します。この場合は「タイトル」列なので,表aで「タイトル」列のセルを一つ選択した後,[編集]⇒[結合]を実行して下さい。結果は,次のようになります。

#ref(./himawari_stat_merge4.png,80%)
#ref(../../1_6/5.検索結果を集計する/himawari_stat_merge4.png,80%)



#navi(../)

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS