- 追加された行はこの色です。
- 削除された行はこの色です。
[[最近の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 にインポートして、平均文長などを計算できる。
***Lexical diversity measure を一括で計算する R パッケージ [#k763247e]
-いろいろなやり方があるが、R の package "koRpus" (Meik Michalke 氏作)の使い方を紹介しておく。
--Webpage: https://reaktanz.de/?c=hacking&s=koRpus
--Shiny app: https://ripley.psycho.hhu.de/R/koRpus/
---Descriptive statistics/Lexical diversity/Readability/Language detection
-具体的な使用方法はこちらを参照:
--私が NICE3.3 のデータで練習した R markdown ファイルのPDF [[表示>http://www.tufs.ac.jp/ts/personal/corpuskun/pdf/2020/koRpus.pdf]]
--TreeTagger のインストールが前提
--multiple files の扱いは tm という別モジュールを使いこなさないといけないので、基本的には1ファイルずつ分析するツールだと思った方がよい。
***諸注意 [#p3e0823e]
-Mac の場合は .sh ファイルとしたら、terminal で実行
-または .command ファイルにして実行権限を付与すれば Finder から実行可能
chmod u+x filename.command