カテゴリー別アーカイブ: 研究

母語話者との差は埋めるべき?

昨日(日付変わったので一昨日),私の博論の内容について発表する機会をいただきました。発表の時間は短かったのでかいつまんで結果と解釈を提示する程度でしたが,その中でいただいたコメントに対して,一晩考えて私なりに少し丁寧にここに答えを書いておこうと思うに至りました。

私の博論では,母語話者と学習者のある課題についての結果を比較して,母語話者と学習者で意味と形式のマッピングが異なるところに焦点をあてています。

そこで,母語話者とは異なる点について,「どうやったらその差を埋めることができるか」,「教え方の工夫などで解決可能か」という点について,ご質問をいただきました。おそらく,背景には「母語話者に少しでも近づくこと」が英語指導の目標になっているのだという価値観があるのかと想像しますが,私が取り組んでいる言語習得や言語処理に関わる研究については,そうした母語話者としての差を「埋める必要があるもの」であるとはまったく捉えていません。これは,(a) 費用対効果と対象としている言語現象,という話と,(b) native-normという価値観,という話の2つが絡み合った問題なのかなと思っています。

(a)の費用対効果については,私の対象としている言語現象が,「誰もが英語学習を通して明示的な指導を受けたことがあると言い切ってもよい」ものであるか,逆に「習ったことも,あるいは聞いたことすらもないようなもの」を扱っているからです。博士論文は1点目で,複数形の形態素です。「名詞に-sがつけば複数」という至極シンプルな規則は,英語学習者なら初級者でも「知っている」はずです。しかし,それがどういった「意味」と関連付けられているのか,博論ではどのように「数(number)」と関連付けられているかを問題にしています。そして,それはとても根本的な現象を扱っているように思えて,実は英語学習の目標を考えれば取るに足らない些細なことで,「名詞に-sがつけば複数」とだけ知っていればそこまで問題にならないことだと思っていますし,言語使用場面で,その使用目的に照らして,目的を達成するために私の行った課題で明らかになるようなものが問題になるとも正直あまり思っていません。実際,複数形の形態素のせいで英語使用に苦労するということはあまりないでしょう。

また,「習ったことも聞いたこともない」ようなことについては,「習ったことがないからできない」という考えもあるかもしれませんが(後述しますが実際はそうではないことも有りえます),その前に「なぜ教えられていないのか」を考える必要があるのではないかと思っています。つまり,学習英文法として取り上げられていないのは,そこに含める必要性がないことが含意されているように思うのです。そのレベルの現象について,例えば特別な指導を施すことで母語話者との差を埋めることができても,リソースの制約がある中で何を取り上げ,何を取り上げないのかという意思決定をしなければならないときに,他に指導すべき事項を差し置いて「言語のある特定的な側面について母語話者との差を埋める」ことを選択することは妥当でしょうか。

例えば,Tamura et al. (2016)で扱ったtough構文で(1a)は適格文であるのに対して,(1b)が非適格文であることやその背後に働く原理を「説明する」ことは,「一般的な」英語指導の文脈で必要なことでしょうか。

(1a)  He said that his wife was difficult to please.

(1b) * My younger sister was difficult to be an actress.

 

ちなみに,このような非文に対して,日本語を第一言語とする英語学習者は主観的には規則を説明できなくとも,「なんとなく」(1b)が非文であるというようなことを偶然確率よりも高い確率で判断することができることがわかっています(ただし,その判断に要する時間は長いです)。

2点目,(b)native-normという価値観については,なんで母語話者との差を「埋める必要があるものである」と考えているのだろうと思ってしまいます。もちろん,自分の信念としてそのように思うことを否定したりはしませんが,学習者にそれを課すことには疑問があります。この観点はなんら新しいことでもありませんし,multicompetenceという言葉とともに語られたりもしています。「英語教師の仕事は学習者の英語力を伸ばすことだ」ということに対しても,私はそこまで否定的に捉えているわけではありませんが(注1),「英語教師の仕事は学習者の英語力を限りなく母語話者のそれと差異のないものにすることだ」と言われるとそれは賛同しかねます。これは,

明示・暗示の測定と指導法効果研究

というエントリーで書いたこととも関係あるかと思います。私が博論でやった研究は,ミリ秒レベルの反応時間の差で,さらにこれは非常に特殊な実験環境による言語の処理で,その意味ではいわゆる生態学的妥当性は低いでしょう。ただ,そうでもしなければtapできない側面なのです。そこまでしないと見えないレベルの差の有無には教育的示唆などありませんし,そのレベルの差を「埋めるべきもの」であるというようにも考えていません。もちろん,差が生まれる要因には興味がありますし,それを探求することについて意義があることだと思っているのでそういう研究をしています。つまり,「埋められない差があること」を私は問題だとはまったく思っていませんし,それが仮に存在することが明らかになったとしても,それはむしろ「教育的示唆」という意味ではプラスに働くことすらあると思っています。ここが費用対効果の話とも絡んでくるのですが,

3単現の-(e)sは口をついて出るくらいまで練習 

と似たような問題で,母語話者との埋められない微細な痕跡が残るような文法項目について,熱心に誤りを訂正したり明示的な説明をしたりすることはリソースの無駄遣いと言ってもよいでしょう。そういうことに時間を使うくらいなら,もっとやるべきことはたくさんあるはずです。これは,「教えなくても勝手に学習させればよい」という議論を展開したいというわけではありません。限られたリソースの中では「教える」時間は限られているので,「引き算の思考」をしたほうが有益ではないかと思っているのです。つまり,「教えても教えても難しい」あるいは「どう頑張っても母語話者のような正確性を身につけることは難しい」というものが明らかになれば,それについては,リソースの配分をやや減らして,「-sがついたら複数だよ」って知っていれば良いという程度にするということができるのではないでしょうか。あるいは,「教えなくてもある程度はできそうだ」ということがわかれば,その部分についてもリソースを減らして良いという判断ができるはずです。ただし,「教えないとできない」,「どのように教えたらできるのか」,という見方をしていると,それが仮に余分なリソースを必要とするものであるとすれば,そうした結果が明らかになればなるほど「やらないといけないこと」が増えてしまい,結局その負担を被るのは英語教師自身になります(注2)。もちろん,「リソースが有効に活用されているのか」を精査することは必要でしょう。それじゃあ効率が悪いから,別の方法を使いましょうという提案については,リソースを増やすことにはつながっていませんし,それでむしろ効率化して余剰が生まれるかもしれません。

そうした現状で「工夫を凝らした特殊な指導を与えたらテストの点数が有意に向上した」みたいなことをやったりするのにそこまで躍起になるのは,どうしてなのだろう,と不思議に思うこともあります。また,ある1つの文法項目が何らかの方法で測定された際に,その数値が「統計的に有意に向上した」や「効果量◯◯だった」というような事実の積み重ねで,私が見ていたような「差」を埋めることができるとも思っていません。

実験研究における母語話者との比較は,母語話者が常に「正しい」とも限りません。むしろ「母語話者だからこそ」学習者とは違う結果になったということも有りえます。学習者に実施する課題とまったく同じ課題を母語話者にも課せば,概してそれらは母語話者にとっては「簡単」な課題となりがちですし,そのときに予想とは違う(こちらが想定していないストラテジーを使って文や語を処理する)ことが起こることは十分にありえる話です。そうした意味でも,nativeが正しく,もし仮にL2と何らかの差異が見られたときにそれが必ずしもL2が何か欠陥があるということ示していないかもしれないということです。

指導の文脈における母語話者との比較については,結局は,目的論・目標論の話とも関わってくる問題ですし,仮に英語能力の伸長が目標であるという合意形成ができたとしても,それが「母語話者レベルではなくてもよい」となったときにどのような目標を設定するのかという話にはなってきます。そのあたりについては,私個人としては「タスク・ベースの指導」という考え方を採用したい問題であると思っています。つまり,学習者が教室の外でも「それなりに」機能すること(彼ら・彼女らが直面した問題を自律的に解決すること)ができるかどうかを判断の規準にするということです。これを導入するには色々クリアすべきハードルがあることは事実ですが。

ということで,集合写真に僕が写っていなかった(早めにお暇したのでそもそも写真が撮られたことすら知らなかった)ことで仲間はずれにされたのではないか,いじめられてやしないか,と福田さんにご心配いただけたりもしましたが,個人的には発表してコメントをいただけたことで,私の考えを整理することにもなりましたので,収穫はあったと感じています。今日は午後からだと勘違いしていて午前中の発表を3つとも聞き逃してしまうという失態を犯してしまい(悠長に俺の空でラーメン食べている場合ではありませんでした),申し訳ありませんでした。

午後の最後の2つの発表(新谷先生と鈴木渉先生)については,「習得」・「学習」といったときに習得・学習されたものはいったいなんだったのだろうというのが気になったりしていました(おそらく須田先生が「それってuseじゃないの?」とご質問なさったのも近いと思います)(注3)。1日目については,comprehensibilityってなんなんだろうと思ったので,その話はまたいつか。

ではまた。

なにをゆう たむらゆう。

おしまい。


注1. これについてさえ,「英語教育の目標は英語力を伸ばすことである」と言い換えたとき,その主張が英語教師の大多数に受け入れられているというようには思っていません。

注2. その「教える」が明示的文法指導といわれるようなものであったときの別の問題としては「文法の明示的指導研究について思うこと」を参照。

注3. 瞬発力が足りなくて,その場でうまく言葉にすることができなかったのですが,あとから考えて整理して自分で理解できたのでここに書きました。

広告

CAFの(相関と)発達の順序

いま,とある実践報告論文を書いていて(共著),頭の中がこんがらがってきたので整理するために書いておきます。

CAFの相関と発達順序の話。こういう論文があります。

Koizumi, R., & In’nami, Y. (2014). Modeling complexity, accuracy, and fluency of Japanese learners of English: A structural equation modeling approach. JALT Journal, 36, 25–46.

5つの異なるスピーキングタスクでSyntactic Complexity, Accuracy, Speed Fluency, Repair Fluencyの指標をそれぞれ1つずつで共分散構造分析をしましたよという論文ですざっくりいうと。もともとはSyntactic Complexityだけ2つの指標だったり,CAF因子の上にspeaking proficiencyを置くモデルだったりspeaking proficiencyにすべての指標がloadしているモデルだったりも比較したけどCAF因子仮定したモデルが一番良かったという話ですざっくりいうと。それで,

「CAFはあります!」

「ねーよ」

っていう話は後輩のCAF警察に任せるとして,結果の解釈の話です。4つの因子間の相関をもとに色々議論している箇所があって(How Are CAF Interrelated?の節),流暢に話す(単位時間あたりの発話語数が多い)学習者は修正回数も多く(Repair Fluencyも高い),なおかつ正確さも高くて統語的に複雑な文(AS Unitあたりの節の数が多い文)を産出するそうです。で,その直後に,

Further, the results also indicate that as learners progress from beginning to lower intermediate levels, they develop the ability to produce such speech, thereby gradually improving SC, accuracy, and speed fluency (although not necessarily synchronously).

と書いてあります。熟達度があがると,徐々に複雑さも正確さも発話スピードもあがるよと。うんうん。まぁ相関あるってことはある数値が高くなると他の数値も高くなるということだからそういうことって素直に解釈して…いいのかな?ちなみに,「結果」とは,統語的複雑さと正確さの相関は= .88,統語的複雑さと発話スピードは= .63で,正確さと発話スピードの因子間相関はそれほど高くなく,= .35である,ということを指していると考えられます。その直後,

It is speculated that improvement in fluency may lead to enhanced SC, which may result in heightened accuracy; that is, when learners learn to speak faster, they may gradually come to use a greater number of clauses and longer units (sentences) and subsequently may produce more accurate utterances.

むむむ??

いや,言っていることがもっともらしいので,きっとそうなんだろうなとは思いつつ,この因子間相関から流暢さが先に発達してその後に文が複雑になって最終的には正確さもあがってくるって言えるかなぁって考えてしまいます。いや,きっとそうなんだろうと思いますし,すごくしっくりくる説明なんですよ。ただ,このspeculationと因子間相関の間に見えないギャップみたいなものを感じてしまっていて,そのギャップを自分の中の「そうなんだろうな」っていうやつで勝手に埋めてしまっている感じです。なんなんでしょうねこのもやっと感。

流暢さというのは単位時間あたりの語数なので,統語的複雑さがあがると(節の数が増えると)必然的に語数も増えるという傾向はあるでしょう。ただし,「単位時間あたりの」というのがポイントで,すごーくゆっくり,だけど節の数が多い発話をすることは論理的には可能なんですよね。

1分間で,1文が(話を簡単にするためにAS Unitではなく文にします)5語からなる文(I like soccer very much)みたいなものを5つ発話したとすると,合計は25語で,60で割ると0.416という発話スピード。一方で,1文の中に節が3つあるような文(I think that she likes playing soccer)を2文しか発話できなかったとすると合計は14語で60で割ると0.23…で流暢さは落ちる。一方で,後者の文は1文あたり節が3つで,前者の文は節が1つなので,統語的複雑さは後者のほうが上。という感じ。

ただし,統語的複雑さと発話スピードの相関は.63なので,そういうパターンはほとんどなかったということになります。対象が中高生の初級者だということを考えても,節の埋め込みがそんなに多い文を頭ひねって作り出せるかっていうとそんなに現実的ではない気ももちろんします。

正確さとスピードに相関があまりない(ないわけじゃない)というのはまぁうなずけて,スピードが早くても正確じゃない人もいれば,逆にスピードが遅くても正確というパターンもあるからですよね。ただしスピードが遅ければ遅いほど正確さがあがるという関係が見られるわけでもないので,多少は流暢ならまぁまぁ正確さもあるかもね,くらいの感じなのでしょう。

よくわからなくなってきました。最初に疑問に思っていたのは,流暢さがある程度発達すると複雑さが上がり,そして複雑さがあがってくると正確さもあがるというような発達を仮定したとき,それがデータによって示されるというのはどういうことなのだろうということでした。

多分,

  1. 流暢さの値が高くとも複雑さや正確さの値は高くない(そこに相関がない)という状態があり,
  2. 次に同じ学習者群(または最初の学習者集団よりも熟達度が高い学習者)が時間を経たとき(発達したとき)に,流暢さと複雑さの値には相関があるが,流暢さと正確さに,複雑さと正確さにも相関がないということが観察され,
  3. その後,またそれよりも時間を経たときに,複雑さと正確さの相関が高くなり,流暢さと正確さの相関もちょっと高くなる,ただし正確さと流暢さの間には高い相関はない

みたいなデータが得られたとしたら,「なるほど。流暢さ,複雑さ,正確さ」という順番で発達していくのかなぁ,ということが頭に浮かびます。ただ,横断的でもなく,縦断的でもない1つの集団のデータの因子間相関からはいまいち「発達」ということをストレートに解釈しにくいよなぁと私には思えます(あるいは私の頭が悪いからかもしれません)。

先ほどの因子間相関だと,まずは正確に話そう。正確に話せるようになると,複雑さもあがってくるだろう(正確さと複雑さの相関が高くなる),複雑さがあがると節の数も増えるので流暢さもあがってくるだろう(複雑さと流暢さの相関が高くなる),というところまでは(他のことを色々無視していれば)いけそうな気もしてきます。ただ,最終的には正確さと流暢さの相関がなくなっていくことにならなければいけないので,ある程度複雑さがあがって流暢さもあがると,実は正確さは落ちていくのだーとか言わなくてはいけなくなります。なので,この説明はやや「きれいさ」が落ちるかなとは思います。

やっぱり,語数がのび,節の数が増え,そして正確になる,という仮説のほうが正しそうです。いや,そうなんです,正しそうなんですけど,でも「実際にそういう仕組みになっている」といえるためにはどういうデータが得られないといけないのかな,ということを考えた時,そのときに浮かぶイメージと因子間相関の間のギャップにもやもやしたのでした(たぶん頭が悪い)。

なにをゆう たむらゆう。

おしまい。

 

 

Visual World Paradigmの分析

だいぶ前に書きかけで放置していた記事の更新です。

7月1日,2日で言語科学会に行ってきました。心理言語系の発表が多く,講演やシンポジウムでの発表も含めて,Visual World Paradigm(以下,VWP)という手法を用いた研究が結構ありました。このVWPは,ざっくりいうと主に音声で言語刺激を与え,それを処理している最中の実験参与者の視線を計測するという手法です。このとき,参与者は主に視覚提示されたいくつかの絵や写真を見ています。そこで,どこをどれくらい見ているか,あるいはどのタイミングでどこに目線がいきやすくなるのかを観察することで,人間の言語処理の仕組みを明らかにしようとするわけです。

で,そこですごく気になったのが分析方法。普通の文処理中の視線計測実験では,文のどこ(どの単語,句)をどれくらい見ているかなどを分析しますが,VWPでは音声データが流れていく時間の経過とともに変化する視線の動きを追っているわけで,時系列データになります。文であれば,画面上に1行で提示できるほどの長さが限界ですので,多くとも10-15語程度,その中で,分析の対象となる区域は2-3程度だと思います(注1 )。

ところが,VWPの人たちってまずこの区切り方がめちゃっくちゃ恣意的だったりします。それでもって,25msとか50msごとにグラフに点を売ったりしているわけです(eg., Ito et al., 2017, BLC)。え?待って?てことは50msごとにモデル作ってそれぞれで「検定」っぽいことしているわけ?LME(GLMM)使ってるからどうのこうのとか言う問題じゃなく,その分析の仕方っておかしくないですか?要するにt検定を数十回繰り返しているのと同じわけで,そんなことしたら第1種の過誤が飛躍的に上昇してしまうはずですよね(注2)?

たまたまBLCで見つけたので他意はまったくないのですが,Ito et al. (2017)ではその部分に対して以下のような記述があります。

This way of analysing the time-course increases the likelihood of Type I errors, but we note that the differences reported below show consistently reliable effects over multiple bins.

確かに論文中の図をみると,条件ごとの傾向がかなりはっきり出ているわけですが,だからといってそんな50msごとに「有意!有意!」みたいなことやるのは正当化されないでしょう。だって,繰り返しが多いので有意水準をめちゃくちゃ保守的にしますなんてことはやってなくて,t値が2超えたら有意ってことでいくんでよろしくとかやってるのですから。

VWPは手法としてはすごく面白いのだけれど,分析の手法が全然追いついていないのではないかというような印象です。このパラダイムで分析をしていくためにはもともとの注視時間のデータを割合にする(つまりある単位で区切ったときに,その単位時間のなかでどの領域をどれほどの割合で注視しているかというデータにしている)ということがおそらく不可欠だからかもしれません。そうではないと,視線計測の時系列データから興味関心のあるデータをうまく取り出すことができないからです。もっといい方法ないのかなと思うのですが…

もし仮に単位時間を恣意的に設定して「観測点」のように捉えることは出発点としてOKだとしても,それはやっぱり時系列データ分析の手法を持ってくるほうがいいように思います。以下の記事のような考え方です。

二つの時系列データの間に「差」があるか判断するには

自分でこの時系列のデータ分析を実装する技術を持ち合わせているわけではないのですが(そもそも視線計測のデータセットを見たことがないのであまりイメージも浮かばない),誤差による上下動があるなかでの特定の条件での「変化点」を検知したり,あるいは区域ごとではなく「全体として」プロセスが異なることを分析するような考え方ができたらいいのではと思います。区域ごとに区切って分析するとはいえ,前の状態の影響を一切受けずに次の状態が決まるわけではなく,前の状態があるから次の状態に移行するわけで。たぶんこれって視線計測装置とか文処理にかぎらず,時系列になっている(観測点が時系列上に複数並ぶ)データに対してはすべて当てはまると思うんですよね。longitudinal studyとかも含めて。

私も結局はエンドユーザーなので,自分がそういうデータセットを前にしたときにうまく分析して解釈できる自信があるというわけではないのですが,なんかもやもやするなぁと思いながらずっと発表を聞いていたのでした。

なにをゆう たむらゆう。

おしまい。

 

注1. もっと解像度の低い視線計測装置だとヒートマップみたいなもので視覚的にどの辺を多く見ていたかとかやることもあるかと思います。パッセージ読んでるときの視線とか。

注2. これはもちろん自己ペース読み課題の分析にも当てはまるのでブーメランです。

CELES2017英語教育実践セミナー

以前このブログでも紹介させて頂きましたが(https://tam07pb915.wordpress.com/2017/03/28/seminar-celes2017-nagano/),明日6月24日に信州大学で行われる第47回中部地区英語教育学会の英語教育実践セミナー1で,「タスクを用いたスピーキングの指導と評価」と題した発表をさせていただきます。

投影資料についてはまだ細かいところで修正をするかもしれませんが,配布資料を印刷し終えたので,配布資料をGithubページにアップロードしました。

https://github.com/tam07pb915/CELES2017-Seminar

Githubでスライドを公開する方法がいまいちよくわからず,何度か調べたりしながらトライしたのですが結局うまくいかなかったです(github.ioを作ればよいことまではわかったのですが,HTMLファイルはそこで公開できても,Rmarkdownからreveal.jsを経由して作ったHTMLファイルをスライドとして公開するやり方がわかりませんでした…

配布資料は,pdfのものについてはRmdファイルからMS-Wordに出力したあとにPDFにしたものです。Wordファイルにした後で,フォーマットをいじったり一部穴抜きにしたりしてあります。Rmdファイルのものは穴抜きになっていません。

また,当日は私が担当したクラスの学生の発話を音声で流しますが,その部分については公開した資料からは削除してあります。

基本的には,『タスク・ベースの言語指導ーTBLTの理解と実践』で私が担当した部分で書いたタスク・ベースの指導における評価の考え方のような話をする予定です。先月に広島で私が話したこととも一部重複する話も少しだけあります。

この本のこともブログできちんと紹介しなければいけないので(順番が前後してしまいました),書きかけの記事をなるべく早く公開できるようにしたいと思います。

それでは,みなさん,長野でお会いしましょう!

なにをゆう たむらゆう

おしまい。

 

 

「コーパスやりたいです」の意味わからなさ

主にMの学生向けです。新入生も入ってきたりする時期で,どんな研究をしたいかという話をする機会が最近多いですが,なんかそれよくわからないなと思うので少しだけ。

タイトルだけだとコーパスに関わる研究をしている人を批判しているように誤解されてしまうかもしれないのですが,「コーパス」の部分には他にも色々入ります。それは後ほど。

「コーパスやりたいです」が意味わからないと思うのは,コーパスは,少なくとも私の中では道具や手段だからです。もちろん,コーパスが研究の対象となることも当然あって,「コーパス言語学」という分野もあるにはあるのでそれはもちろんいいです(「んなもんはない」という人もいるかもしれないですがその戦いにはコミットしませんとりあえず)。ただ,コーパスを研究対象にするにしても,一体なんのためにコーパスを研究の対象にしていて,そのゴールは何なのかということだけは考えてほしいなと思うのです。

何か見たいものがあって,それを見るためにコーパスを用いるのがベストな選択肢であるならば,コーパスを使うべきであると思います。ただ,研究課題に対して必ずしもコーパスを用いることが適切でない場合もたくさんあります。先にコーパスから入ってしまえば,コーパスを使って研究できることしかできないわけで,最初に決めるべきは研究の対象であって使う道具ではないでしょう。これは,第二言語習得研究で使われる測定具を「◯◯やりたいです」に当てはめて考えてみればわかります。

  • 文法性判断課題をやりたいです
  • 視線計測をやりたいです
  • 自己ペース読みをやりたいです
  • 語彙性判断課題をやりたいです
  • ERPをやりたいです

もちろん,測定具の妥当性を検証することという意味では,上記のやりたいことも研究になりえます。文法性判断ていうけど,一体それは何を測っているのか,測りたいものを測れるようにするためにはどんな工夫が必要なのかということは,それこそ第二言語習得研究の最初の頃から今まで続けられていますよね。これはいわゆる「テスト」も同じです。

  • スピーキングテストやりたいです
  • 語彙テストやりたいです
  • リーディングテストやりたいです

テスト自体も研究の対象になります。スピーキングテストっていうけどそれは一体何を測定しているのか,測定しようとしているものが測れているのか,そういったことを研究課題にするのがテスティング研究者なわけです。

ですから,「測定」に興味があるのはとても良いことですし,ぜひそういう研究やってほしいなと思うのですが,「コーパスやりたいです」と言われると,「コーパス使って何をやりたいの?」と聞いてしまいます。言語教育にコーパスを応用したいということなのか(だとすればどんなことに応用したくて,それがなぜコーパスという手段なのか),言語発達をコーパスで調べたいということなのか,言語使用の特徴をコーパスで調べたいということなのか。コーパス自体が研究の目的になることって,少なくとも言語学の講座ではない場合にはそんなに多くないのではと思います。

ですから,道具立てそれ自体にこだわるよりも大事なのは,研究したいこと,明らかにしたいことを明確にすることと,それに応じて適切な道具を使いこなせるようになることです。

私は文法の習得や文処理に関心があり,そうした研究をこれまで多くやってきましたが,例えば「どんな研究をされていますか?」というような質問を受けたときに「自己ペース読み課題です」と答えることはありません。「第二言語の文法習得や文処理を心理言語学的なアプローチで研究しています。例えば,自己ペース読みなどです」と答えるでしょうおそらく。

ただし,それだけが手法ではありません。常に自分の見たいものを一番見れる方法を考えていますし,新しい実験の手法があればそれを取り入れて研究をやっていきます。興味があることもたくさんありますから,自分の興味があることに合わせて手法も選択することになります。手法が先に来てしまうと,その手法で見れることしか見ないことになり,視野が狭まってしまいます。「コーパス」という手法にとらわれて,実は自分が見ようとしていたものがコーパス以外の方法でより確実に見れることに気づくことができないかもしれません。

その意味で,道具立ての妥当性や信頼性を検証するという目的があり,そしてそれが分野にどういった貢献をするのかを理解していて,なおかつそれが自分の本当にやりたいことなのだと思えるようでなければ,手法よりも先に「見たいもの」について考え抜いて悩み抜いたほうがいいのではないのかというのが結論です。

久しぶりの更新でした。

なにをゆう たむらゆう

おしまい。

英語教育実践セミナー@CELES2017長野大会

2017年6月24-25日に長野県の信州大学で開催される第47回中部地区英語教育学会長野大会の,英語教育実践セミナーでお話させていただく機会をいただきました。この企画は,中部地区英語教育学会長野支部の特別企画だそうで,なんと私の出るセミナーのタイトルは,「スピーキングの指導と評価」です。

ファッ!?いやいやスピーキングの研究とかメインでやってないし評価の研究もメインでやってないよ!?なぜこの話が僕のところに!?

というのがこのお話をいただいた際に思ったことですが,「はい」か「YES」しか選択肢がないのでお引き受けしました。原稿はとっくにあがってるのになかなか校正に入っていない「タスク本」(出版社がとてもお忙しいようです)に書いた内容とも関連させて,タスクを用いたスピーキングの指導と評価についてをお話しようかなと考えているところです。

時間は大会初日24日の10時からということで,ここ数年の中部地区英語教育学会では「恒例」というほどになってきた「英語教育研究法セミナー」の「裏番組」です。参加者として毎年英語教育研究法セミナーに出るのを楽しみにしていたので,そちらに出られないのは残念ですし,昨年度はかなりオーディエンスも多かったセミナーと同じ時間帯ということで,参加いただける方がどれだけいるのかとか不安はあります。そこは実践セミナーの司会を務められる浦野研先生(北海学園大学)にお力添えをいただこうと思います。

私がお話する内容は,「これがいい!」とか「この方法でやればスピーキング力が伸びる!」とかそういったことではなく,「こんな感じでスピーキングの評価を考えてみるってどうですかね?」というような「提案」になると思います(「提案者」としてお話するので)。フロアの皆さんとのやりとりを通して,スピーキングの指導と評価について考えを深められればと思いますので,ぜひ,CELES長野大会にお越しいただければと思います。

なにをゆう たむらゆう。

おしまい。

 

[R] データフレームの中の英文の語数を数える

以前,エクセルで英文の中の特定の単語までの語数を数えるという記事を書きました。今回はそれよりもっと単純で,Rのデータフレームの中の1部に英文が入っていて,その英文の語数を数えてデータフレームに付け足したいなっていう作業です。

%e3%83%96%e3%83%ad%e3%82%b0%e8%a8%98%e4%ba%8b%e7%94%a8_20170218

こんな感じでロング型のデータがdatという変数にあるとします。このデータフレームのなかの,sentenceという列には英文が入っていますが,それぞれ長さが違います。文が長いほうが反応時間も長くなっちゃいますから,そのために英文に含まれる語数を数えてそれも分析に使いましょうということです。僕がやっているような反応時間を扱う実験ではよくありがちな手続きです。本来なら刺激文作るときにそれもちゃんと数えておいて(エクセルで語数数えるのは簡単です。前掲の記事の一部がそれです),結果が出力される際にちゃんと語数の情報も含めておけばいいんですけど,まぁ今回はそれ忘れちゃったんでRの中でやってしまおうという事後的な対処法です。

さてさて前置きが長くなりました。Rでの文字列処理の基本は「分ける」・「数える」だと思います。僕はそんなにRで文字列処理しないんですが,今回の場合で言うと,データフレームの要素に含まれる英文をスペースで区切り,区切ったときにいくつかに分けられた要素の数を数えることで語数をカウントするという手続きになります。

今回使う関数は次の4つです。

  • (as.character関数)
  • strsplit関数
  • length関数
  • sapply関数

順番に説明していきます。strsplit関数は

strsplit(分けたいもの,区切り文字)

という感じで使います。今回の場合,分けたいのはdatの中のsentenceという列(dat$sentence)で,スペースで区切りますから,

strsplit(dat$sentence, ” “)

とすれば,

%e3%83%96%e3%83%ad%e3%82%b0%e8%a8%98%e4%ba%8b%e7%94%a8_20170218_2

こんな感じで単語ごとに区切ってくれます。この出力は1文ずつのリスト形式になっていて,そのリストの要素が英文を構成する単語になっています。もしも,このstrsplit関数がうまくいかなければ,

is.character(dat$sentence)

として,データフレーム中の英文が文字列形式で格納されているかどうか確かめてみてください。因子型(factorial)になっていると,strsplit関数は適用されません。これを変えるのが,as.character関数です。

strsplit(as.character(dat$sentence))

または,

dat$sentence<-as.character(dat$sentence)
strsplit(dat$sentence, ” “)

としてみてください。

さて,これでひとまず「区切る」作業はできましたが,まだ「数える」にはいたっていませんよね。数えるためによく使われるのが要素の数を数えるlength関数です。ただし,例えば

length(strsplit(as.character(dat$sentence)))

としてもうまくいきません。これでは出力されたリストの要素を数えるので,元のデータフレームの行数が表示されるはずです。ここでは,「リストのそれぞれの要素に対してlength関数を適用したい」わけなので,もうひと工夫必要です。そこで使うのがapply系列のsapply関数です。この関数は,

sapply(リスト,関数)

という形で引数を与えてあげると,リストの各要素に関数を適用してくれます。これと同じことができるのがlapply関数です。lapply関数を使うと,結果の出力もリスト形式で返されます。ただ,ここでは語数が並んだベクトル形式のものを手に入れて,それをもとのデータフレーム(dat)に追加したいわけなので,sapply関数のほうがベターです。lapply関数にすると,そのあとリストをベクトルに直すunlist関数を使う必要があって二度手間になってしまうので。というわけで,

sapply(strsplit(as.character(dat$sentence), ” “), length)

こうしてあげれば「スペースで区切る-> 語数を数える -> ベクトル形式で結果をゲット」という作業が完了します。あとは,

dat$num.words<-sapply(strsplit(as.character(dat$sentence), ” “), length)

としてあげれば,datに新しくnum.wordsという列が追加され,そこにはsentenceの列に入っている英文の語数が格納されることになります。めでたしめでたし。といきたいところなのですが,最後におまけでもうひとつ。

上の書き方だと,いくつもの関数が入れ子状態になっていて,一見して作業がわかりにくいですよね?そこでパイプ演算子を使って同じことをもう少しわかりやすく書き直してあげます。

dat$sentence%>% #datの中のsentenceという列を取ってくる
as.character%>% #文字列型に変換
strsplit(. , ” “)%>% #スペースで区切る
sapply(., length) -> dat$num.words #リストの要素ごとに語数を数えてdatというデータフレームのnum.wordsという列にいれる

こうやって書くと,作業の過程が見えてわかりやすいですよね。ちなみにこのパイプ演算子はパッケージ依存です。dplyrやtidyrを使うときに使うやつですね。たぶんこれらのパッケージを読み込んでいればパイプ演算子も使えるようになっているはずです。もともとはmagrittrというパッケージに入っているのがパイプ演算子が%>%なんですよね(たしか)?

というわけでlapplyの出力をunlistしてできたできたと思っていたらsapply関数の存在に気づいてなんだよ二度手間じゃんかよって思ったのでブログ記事にしました。

なにをゆう たむらゆう。

おしまい。