Contenu connexe
Plus de SAKAUE, Tatsuya (19)
「R による英語コーパスの処理入門―接続詞 and/but の使用実態調査を例に―」Computing Language and Culture with R 2012
- 1. による
英語コーパスの処理入門
―接続詞 and/but の使用実態調査を例に―
阪上 辰也
2012-04-07
Computing Language and Culture with R 2012@Osaka Univ.
Saturday, April 7, 12 1
- 3. 0. 自己紹介
• 阪上 辰也 (SAKAUE, Tatsuya)
• 所属: ... 特任講師
• 専門: 第二言語習得
• HiRoshima.R 主催/Nagoya.R 初代主催
• ID: sakaue にて
• 詳しくは...
Saturday, April 7, 12 3
- 5. 本日の目標
言語データ分析の基本を“知る”
Saturday, April 7, 12 5
- 6. Agenda
1. R の基本
2. 言語データ処理入門
3. R による and/but の検索
4. R のススメ
Saturday, April 7, 12 6
- 7. Agenda
1. R の基本
2. 言語データ処理入門
3. R による and/but の検索
4. R のススメ
Saturday, April 7, 12 7
- 8. 1. R の基本
• R は「関数」と「変数」が命
• 関数を使ってデータを処理
• 関数を使ってサクっと検定・作図
• 変数を使って値をまとめておく
Saturday, April 7, 12 8
- 9. 1. R の基本
> numbers <- c(1, 2, 3, 4, 5)
# c関数で数値をまとめて変数へ代入
> sum(numbers)
# sum関数で変数を処理し合計値を算出
[1] 15
Saturday, April 7, 12 9
- 10. Agenda
1. R の基本
2. 言語データ処理入門
3. R による and/but の検索
4. R のススメ
Saturday, April 7, 12 10
- 11. Agenda
1. R の基本
2. 言語データ処理入門
3. R による and/but の検索
4. R のススメ
Saturday, April 7, 12 11
- 12. 2. 言語データ処理入門
1) データを読み込む
2) データを分解する
3) データを える
4) 数値を求める
5) データを保存する
Saturday, April 7, 12 12
- 13. 1) データを読み込む
> nns <- scan("nns_raw.txt",
what="character")
Read 62959 items
Saturday, April 7, 12 13
- 14. 2) データを分解する
> nns_list <- strsplit(nns, " ")
# スペースでデータをリスト化
# 干し柿状態(?)
> nns_unlist <- unlist(ns_list)
# リストされたデータをバラバラに分解
Saturday, April 7, 12 14
- 15. 3) データを える
> sort_nns <- sort(nns_unlist)
# データの並び替え
> uniq_nns <- unique(sort_nns)
# 並び替えたデータをまとめる
Saturday, April 7, 12 15
- 16. 4) 数値を求める
> length(nns_unlist)
[1] 70220 # Token
> nns_all <- table(nns_unlist)
# 単語一覧表の作成
> nns_type <- length(uniq_nns)
> nns_type
[1] 7579 # Type
Saturday, April 7, 12 16
- 17. 5) データを保存する
> write.table(nns_all,
file="freq.txt" sep="¥t")
# freq.txt という名で列をタブ区切りにして保存
Saturday, April 7, 12 17
- 18. Agenda
1. R の基本
2. 言語データ処理入門
3. R による and/but の検索
4. R のススメ
Saturday, April 7, 12 18
- 19. Agenda
1. R の基本
2. 言語データ処理入門
3. R による and/but の検索
4. R のススメ
Saturday, April 7, 12 19
- 20. 3. R による and/but の検索
•grep 関数・length 関数
• grep() : 文字列マッチング
• length(): 要素数のカウント
Saturday, April 7, 12 20
- 21. 3. R による and/but の検索
> grep("^And,?", nns_unlist, fixed = FALSE, value=TRUE)
> grep("^But,?", nns_unlist, fixed = FALSE, value=TRUE)
# ヒットした要素を表示
# 正規表現の ^ をつけておき,3文字を含む文字列(underst”and”)を除外
# fixed=FALSE で拡張正規表現を利用,value=TRUE で要素表示
> length(grep("^And,?", nns_unlist, fixed = FALSE, value=TRUE))
> length(grep("^But,?", nns_unlist, fixed = FALSE, value=TRUE))
# ヒット数だけを表示
Saturday, April 7, 12 21
- 22. 3. R による and/but の検索
> length(grep("^And,?", nns_unlist, fixed = FALSE, value=TRUE))
[1] 175
> length(grep("^But,?", nns_unlist, fixed = FALSE, value=TRUE))
[1] 178
> length(grep("^and,?", nns_unlist, fixed = FALSE, value=TRUE))
[1] 1479
> length(grep("^but,?", nns_unlist, fixed = FALSE, value=TRUE))
[1] 260
Saturday, April 7, 12 22
- 23. 3. R による and/but の検索
> barplot(freq, names=c("And", "and", "But", "but"), horiz=T, las=1)
Saturday, April 7, 12 23
- 24. 3. R による and/but の検索
• R で基本的な検索・分析ならば...
1) データを strsplit() + unlist() して
2) grep() と length() でカウント
3) barplot() などで視覚化
4) chisq.test() などで検定
Saturday, April 7, 12 24
- 25. Agenda
1. R の基本
2. 言語データ処理入門
3. R による and/but の検索
4. R のススメ
Saturday, April 7, 12 25
- 26. Agenda
1. R の基本
2. 言語データ処理入門
3. R による and/but の検索
4. R のススメ
Saturday, April 7, 12 26
- 27. 4. R のススメ
• すべての処理・分析が R のみで完結
• <-> Concordancer + Editor + Excel (+ UNIX) + R
• プログラミングの基礎養成に有効
• --> Python, Perl, Ruby ...
• 作図が美しい(+Macならフォントも)
• Excel の作図はオモチャ
Saturday, April 7, 12 27
- 31. Packageとは?
• ある処理・機能に特化したプログラム
• base(基本パッケージ)だけでも 1,000 以上
• 特殊な処理を行う際は,別の package を追加
• 言語処理に特化したものもある(ex. RMeCab)
Saturday, April 7, 12 31
- 32. 言語処理に特化した packages
i) tm: Text Mining Package
• http://tm.r-forge.r-project.org/
• http://cran.r-project.org/web/packages/tm/tm.pdf
ii) corpora
• http://cogsci.uni-osnabrueck.de/~severt/SIGIL/sigil_R/
• http://cran.r-project.org/web/packages/corpora/corpora.pdf
iii) LanguageR
• http://www.ualberta.ca/~baayen/software.html
• http://cran.r-project.org/web/packages/languageR/languageR.pdf
Saturday, April 7, 12 32
- 33. ご意見・ご感想お待ちしております
twitter: @sakaue
e-mail: tsakaue@hiroshima-u.ac.jp
Saturday, April 7, 12 33
Notes de l'éditeur
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n
- \n