[[最近のRのメモ]]

*Shell script [#x5932abf]

**NICE から学習者データのみを抽出する for 文を用いたシェルスクリプト [#ub5a16be]
-『英語学習者コーパス活用ハンドブック』 授業用の付属メモ(2020/11)
-Linux, Mac の terminal  標準
-Windows 10 で動かすには Windows Subsystem for Linux(WSL)を使おう:
--[[こちらを参照>https://www.atmarkit.co.jp/ait/articles/1809/14/news015.html]]

-bash の場合には以下を冒頭で宣言する必要あり。zsh の場合は不要
--#!/bin/sh 

-スクリプト例:
**NICEのデータ処理(第5章) [#of5e4cb1]

***学習者データのみのファイルを自動作成 [#je5658e4]

 #!/bin/sh    # これは bash のみ。zsh などでは不要
 cd `dirname $0`   # どこに移しても実行可能
 for file_name in `ls *.txt`   #ディレクトリ内のすべての text ファイルを file_nameに格納
 do
 # *JPN(日本人学習者)の行を取り出して、*JPNを削除した行だけを .out ファイルに出力
 grep \*JPN $file_name | perl -pe 's/^\*JPN[0-9]+:\t//g;' > $file_name.out
 done
 killall Terminal     # 終了したらターミナルを閉じる

***学習者の各テキストの発話文数と単語数を一括集計 [#re0e73ad]

 for file_name in `ls *.out`
 do
 wc -lw $file_name >> count.list.text
 done

-学習者データだけを *.outファイルで抜き出したディレクトリで実行する
-wc コマンドでファイルの行数と単語数をカウントしたら、count.list.txt に append する
--出力はこんな感じ:

      30     319 JPN501.txt.out
      29     365 JPN502.txt.out
      13     201 JPN503.txt.out
      27     260 JPN504.txt.out
      25     418 JPN505.txt.out
      20     260 JPN506.txt.out
      26     355 JPN507.txt.out
      20     195 JPN508.txt.out
      19     260 JPN509.txt.out
      14     183 JPN510.txt.out

-第1コラムが行数、第2コラムが単語数なので、こちらを Excel にインポートして、平均文長などを計算できる。

***TTRを求めてみる [#xca9c0f9]

-TTRを求めるためには異なり語(type)と総語数(token)を求めないといけない。
-異なり語はいくつかの方法で求められる
--[[WordSmith 4(Win, free)>https://www.lexically.net/wordsmith/version4/]], [[CasualConc (Mac, free)>https://sites.google.com/site/casualconcj/]] などのファイル別に異なり語数、総語数を出力してくれるツールを使う
---AntConc ではファイル別の集計はできないので注意
--品詞タグ付与プログラムを用いてテキストに品詞と lemma を付与してテキスト集計する
---[[TagAnt>https://www.laurenceanthony.net/software/tagant/]] ※最近あまりうまく動かないので避けた方がよい
---TreeTagger のセットアップ:かなり知識が必要
---[[Online TreeTagger>https://cental.uclouvain.be/treetagger/]]







***諸注意 [#p3e0823e]

-Mac の場合は .sh ファイルとしたら、terminal で実行
-または .command ファイルにして実行権限を付与すれば Finder から実行可能
 
 chmod u+x filename.command



トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS