hiroshima.r #1 1-3 lt
DESCRIPTION
TRANSCRIPT
![Page 1: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/1.jpg)
を言語・言語教育研究でどう活用できるか
@sakaue
2011-06-17 HiRoshima.R #1@
1Saturday, June 18, 2011
![Page 2: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/2.jpg)
Agenda
1. R で検定 ―カイ二乗検定―
2. R で英語データを処理
3. R で日本語データを解析
2Saturday, June 18, 2011
![Page 3: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/3.jpg)
Agenda
1. R で検定 ―カイ二乗検定―
2. R で英語データを処理
3. R で日本語データを解析
3Saturday, June 18, 2011
![Page 4: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/4.jpg)
言語現象を数値データ+検定から捉えてみたい
を使う経緯言語研究で
4Saturday, June 18, 2011
![Page 5: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/5.jpg)
t 検定
カイ二乗検定パワーアナリシス
分散分析
共分散分析
判別分析
主成分分析
クラスカル・ウォリス検定
符号検定
マクマネー検定
因子分析
5Saturday, June 18, 2011
![Page 6: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/6.jpg)
で「カイ二乗検定」
6Saturday, June 18, 2011
![Page 7: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/7.jpg)
カイ二乗検定• 独立性の検定のために使う(連関の有無)• (例)数学が好き嫌いと統計の好き嫌いの間に有意な連関があるか
• (例)あるコーパス中の表現Aと表現Bの頻度の差
• ざっくり言えば,期待度数と観測度数のズレが偶然出ちゃったかどうかを調べる
7Saturday, June 18, 2011
![Page 8: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/8.jpg)
事例: 接続詞 “however” の生起位置の比較
文頭 文中 文末 合計頻度 109 347 8 493
[文頭] However, ....
[文中] ..., however, ....
[文末] ..., however.
8Saturday, June 18, 2011
![Page 9: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/9.jpg)
> freq <- c(109,347,8)> chisq.test(freq,correct=FALSE)
Chi-squared test for given probabilities
data: freq X-squared = 391.7371, df = 2, p-value < 2.2e-16
# 手作業なら,カイ二乗分布表の自由度2のところを確認する# http://homepage2.nifty.com/nandemoarchive/toukei_kiso/t_F_chi.htm
生起位置の比較のためにカイ二乗検定を実行
9Saturday, June 18, 2011
![Page 10: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/10.jpg)
言語現象を数値データ+検定から捉えてみよう!
を使って
10Saturday, June 18, 2011
![Page 11: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/11.jpg)
Agenda
1. R で検定 ―カイ二乗検定―
2. R で英語データを処理
3. R で日本語データを解析
11Saturday, June 18, 2011
![Page 12: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/12.jpg)
Agenda
1. R で検定 ―カイ二乗検定―
2. R で英語データを処理
3. R で日本語データを解析
12Saturday, June 18, 2011
![Page 13: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/13.jpg)
大規模コーパスを効率よく処理せねば!
を使う経緯言語データ処理で
13Saturday, June 18, 2011
![Page 14: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/14.jpg)
主なデータ処理手順1. データを読み込む2. データを切り出す3. データを分解する4. データを揃える5. 数値を求める6. データを書き出す
14Saturday, June 18, 2011
![Page 15: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/15.jpg)
1. データを読み込む• その1• ns <- scan("ns_raw.txt", what="character")
• その2• ns <- scan(choose.files(), what="char")
• ファイルのパスに注意(トラブル多発地域)• getwd() による作業ディレクトリの確認を!
15Saturday, June 18, 2011
![Page 16: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/16.jpg)
2. データを切り出す
•head(変数名, 要素数)
•tail(変数名, 要素数)
•先頭/末尾部分を指定した要素分の表示
16Saturday, June 18, 2011
![Page 17: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/17.jpg)
2. データを切り出す•grep (“文字列”, 変数名)
• 要素の番号のみを返す。> grep("school", ns)
•変数 ns から、要素のみ取り出し。> ns[grep("school", ns)]
17Saturday, June 18, 2011
![Page 18: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/18.jpg)
• 変数名[要素番号]
• > ns[100]
• 100 番目の要素のみ取り出し
• > ns[c(98,99,100)]
• 98, 99, 100 番目の要素のみ取り出し• c 関数に注意
2. データを切り出す
18Saturday, June 18, 2011
![Page 19: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/19.jpg)
3. データを分解する• 単語をバラバラにする•strsplit (変数名, “セパレータ”)
> strsplit (ns, " ")
•ns の要素をスペースで分割する•要素ごとに処理される•つまり、list になっている状態
19Saturday, June 18, 2011
![Page 20: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/20.jpg)
3. データを分解する•リストの要素をバラバラにする
> ns_list <- strsplit (ns, " ")
•分割した結果を ns_list という変数に代入
> unlist (ns_list)
• ns_list のリストの要素をバラバラにする。• unlist(strsplit(ns, " "))でも同じ結果。
20Saturday, June 18, 2011
![Page 21: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/21.jpg)
4. データを揃える
ばらばらにした単語をソートするsort (変数名)
> ns2 <- sort(unlist(ns_list))
21Saturday, June 18, 2011
![Page 22: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/22.jpg)
4. データを揃える
unique (変数名)
> ns3 <- unique (sort(unlist(ns_list)))#ソートした単語をタイプ(異なり語)にまとめる。
# sort(unique(unlist(ns_list)))でも結果は同じ。
22Saturday, June 18, 2011
![Page 23: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/23.jpg)
5. 数値を求めるtable (変数名)
> ns4 <- table(unlist(strsplit (ns, " ")))
#単語をバラバラにした後で table を使用。# 総語数を求めることになる
23Saturday, June 18, 2011
![Page 24: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/24.jpg)
5. 数値を求める
> ns5 <- length(unlist(strsplit (ns, " ")))
# これでも総語数を求めることになる
24Saturday, June 18, 2011
![Page 25: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/25.jpg)
5. 数値を求める
> ns6 <- length(unique(sort(unlist(strsplit (ns, " ")))))
# これで異なり語数を求めることになる# ここまで来ると間違えるので変数利用が不可欠
> ns7 <- unique(sort(unlist (ns_list)))> length(ns7)
25Saturday, June 18, 2011
![Page 26: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/26.jpg)
6. データを書き出す> write.table(ns4, file=“freq1.txt”)> write.table(ns5, file=“freq2.txt”)> write.table(ns6, file=“freq3.txt”)
# getwd() で表示されるディレクトリに保存# Excel 等で読み込んで,再処理・再加工
26Saturday, June 18, 2011
![Page 27: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/27.jpg)
言語データを効率よく処理してしまおう!
を使って
27Saturday, June 18, 2011
![Page 28: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/28.jpg)
Agenda
1. R で検定 ―カイ二乗検定―
2. R で英語データを処理
3. R で日本語データを解析
28Saturday, June 18, 2011
![Page 29: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/29.jpg)
Agenda
1. R で検定 ―カイ二乗検定―
2. R で英語データを処理
3. R で日本語データを解析
29Saturday, June 18, 2011
![Page 30: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/30.jpg)
テキストマイニングが流行り?
•テキストに含まれる特徴を見つけ出す•ユーザーの趣向・動向調査
•文章を書いた人の推定・分類
•自由記述 アンケート
•授業アンケート... orz
30Saturday, June 18, 2011
![Page 31: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/31.jpg)
日本語データの分析を助けてくれる
RMeCab を紹介
31Saturday, June 18, 2011
![Page 32: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/32.jpg)
RMeCabとは•石田 基広氏が開発したパッケージ
•R から MeCab を呼び出して日本語のテキストを解析させる
•解析結果をも R で出力してくれる素晴らしいプログラム
32Saturday, June 18, 2011
![Page 33: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/33.jpg)
デモ一覧•RMeCabText() : ファイル解析
•RMeCabFreq() : 頻度集計
•Ngram() : N-gram 解析
•collocate() : 共起関係の分析
33Saturday, June 18, 2011
![Page 34: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/34.jpg)
参考文献紹介
34Saturday, June 18, 2011
![Page 35: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/35.jpg)
参考文献紹介
1,785円 3,780円2,940円
35Saturday, June 18, 2011
![Page 36: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/36.jpg)
言語データを効率よく処理してしまおう!
を使って
36Saturday, June 18, 2011
![Page 37: HiRoshima.R #1 1-3 LT](https://reader034.vdocuments.net/reader034/viewer/2022051818/54b4a9f64a7959f5348b458f/html5/thumbnails/37.jpg)
ご静聴ありがとうございました
twitter: @sakaue
e-mail: tsakaue<AT>hiroshima-u.ac.jp
37Saturday, June 18, 2011