こにしき(言葉・日本社会・教育)

関西学院大学(2016.04~)の寺沢拓敬のブログです(専門:言語社会学)。

『英語教育』のタイトルの変遷 ---計量的テキスト分析

昨日のつづきで、KH Coder の練習をしようと思ったんですが、原因不明の不具合があり、形態素解析をすると落ちてしまいました。データ準備から分析結果出力までかなり早いステップで終わるので、かなり便利なソフトですが、今回はあきらめて、RMeCabという統計ソフトRのテキストマイニングパッケージを利用しました。

雑誌『英語教育』

『英語教育』という雑誌がありまして、現在刊行されている英語教育雑誌のなかではもっとも歴史が古いものです。直接の起源は、1952年(当時は研究社刊、後大修館書店に移行)で、戦後をだいたいカバーしています。(ただし、系統関係も含めればルーツは戦前までさかのぼれる)


この雑誌に関する細々したこと、とくに通時的なトレンドは次の記事に書いてあります。


この雑誌の「記事タイトル」のデータを用いて計量テキスト分析(テキストマイニング)してみようというのが、今回の記事。ツイッターのように最近の話だけでなくて、「時代」という変数が新たに投入できるのがこの分析の強みです。


そんなわけで、「歴史的計量テキスト分析」などという言葉を思いつきました。ご自由にお使い下さい。私は使いません。

年代によってよく用いられる語は変わるか?

どれが特定の時代を表す語で、どれがそうでないか(つまりいつの時代もそれなりに使われる語)というのを対応分析でチェックしてみましょう。なお、連載物はがっつり省いて、特集・単発とカテゴライズされている記事のみを扱います。


この図は、年代別に頻出語を再集計したものです。赤い時の年代に、近くプロットされていればされているほど、その年代に特徴的な語だということがわかります。逆に、原点(0,0)真ん中にあるものは、大した特徴はなく、いろんな年代に見られる語ということになります。


ちなみに「頻出語」は、名詞・動詞に限定し、また、たとえば「性」「化」のようなイメージ困難な語は削除しています。また、「一覧」や「座談」のような、雑誌の編集方針と深く関係がありそうな語もがっつり削除しています。この作業は、恣意的に思えるかも知れませんが、これはあくまでアイディアを得るための探索的な分析であり、「科学的/中立的/記述的」な作業をとくに目指していないので、むしろよいと考えます。もちろん、探索的分析で得たアイディアは、後にきちんと実証する必要があります。


全体の構図を見ると、左側が古いキーワード、右に行くほど新しいキーワードということが言えそうです。上下の軸の意味はちょっとよくわかりません。


まず、2000年代(00s)のすぐそばに、「コミュニケーション」が位置しているのはよくわかります。学習指導要領にとりあげられたり、応用言語学でもコミュニケーション関連の研究が盛んになるのが80年代〜90年代以降だからです。そのそばに、「理解」「国際」という語もありますが、これも80年代以降の「国際理解」「異文化理解」というスローガンの流行の反映でしょう。


一方で、古い時代、60年代のプロットのそばに「文学」があります。近年「英語教育研究の文学離れ」が指摘されることがありますが、いちぶ裏付けていると言えるでしょう。


以下、実際のデータを再チェックしていない、単なる邪推

  • 70s・80sの周辺に「日本人」がある。「ジャパンアズナンバーワン」のころの「国家主義的な英語論」が多かった?
  • 「中学校」がけっこう古めのキーワードになっている。なぜかちょっとよくわからない
  • 「能力」が90sのすぐ左側にプロットされている。ここで新自由主義的能力感の影響か!?などというのはご愛敬(笑) 実際はおそらく、「コミュニケーション能力」というキーワードがブームになったのと、昔は「英語能力」のことを「英語学力」と呼ぶことが比較的多かったせいだと思う。

何かの足しになればとスクリプトを公開しておきます

#RMeCabによる形態素解析
 library(RMeCab) # パッケージの読み込み

# データフレーム(x)の一行目に、記事タイトルが入っているとして、それを形態素解析
res <- RMeCabDF(x,1,1) 


#高頻度語のチェック
res0 <- unlist(res)
res1 <- res0[names(res0)=="名詞"|names(res0)=="動詞"] # 名詞と動詞のみ抽出
(tb1 <- table(res1)[rev(order(table(res1)))])

# 頻出語リスト作成
# 上記の出力結果を確認しながら、イメージ困難な語はがっつり削除
word <- c("英語","教育","指導","授業","問題","研究","表現","学習","教師"
  ,"英","言語","生徒","文法","外国","教材","高校","教科書","大学"
  ,"関係","入試","アメリカ","English","学校","文化","力","私"
  ,"テスト","中学校","日本","英文","評価","活動","比較","作文"
  ,"文学","国際","工夫","意味","能力","コミュニケーション","時間","考える"
  ,"教授","化","利用","米","教える","中学","読む","学力","論文","語法"
  ,"Teaching","実践","方法","学ぶ","理解","日本人","音声"
  ,"発音","日本語","辞書")


# 対応分析 下準備 #
# 年代ごとに、上記の頻出語リスト内の語がいくつあるか集計
 tb <- table(unlist(res[x$years=="1950s"]))
  tb50 <- replace(tb[word], which(is.na(tb[word])), 0)  # word該当のもの、NAは0を代入
 tb <- table(unlist(res[x$years=="1960s"]))
  tb60 <- replace(tb[word], which(is.na(tb[word])), 0)  # word該当のもの、NAは0を代入
 tb <- table(unlist(res[x$years=="1970s"]))
  tb70 <- replace(tb[word], which(is.na(tb[word])), 0)  # word該当のもの、NAは0を代入
 tb <- table(unlist(res[x$years=="1980s"]))
  tb80 <- replace(tb[word], which(is.na(tb[word])), 0)  # word該当のもの、NAは0を代入
 tb <- table(unlist(res[x$years=="1990s"]))
  tb90 <- replace(tb[word], which(is.na(tb[word])), 0)  # word該当のもの、NAは0を代入
 tb <- table(unlist(res[x$years=="2000s"]))
  tb00 <- replace(tb[word], which(is.na(tb[word])), 0)  # word該当のもの、NAは0を代入
#各年度を統合
TB <- rbind(tb50,tb60,tb70,tb80,tb90,tb00)
rownames(TB) <- c("50s","60s","70s","80s","90s","00s")
colnames(TB) <- word


# 対応分析
library(MASS) #パッケージの読み込み
res.ca <-  corresp(TB[,],nf=2)
 biplot(res.ca,col=2:1,cex=c(1.5,1))