- 追加された行はこの色です。
- 削除された行はこの色です。
[[最近の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