+++ textlint = "" title = "『語学学習支援のための言語処理』を読みました。" date = "2017-11-22" slug = "bookreview-nlp-for-language-learning" tags = ["book", "nlp", "review"] categories = ["Research", "Book"] aliases = ["/bookreview-nlp-for-language-learning/"] draft = true +++
『語学学習支援のための言語処理』を読者モニタとして献本していただきました 🎉1
奥村 学(監修),永田 亮: 語学学習支援のための言語処理(自然言語処理シリーズ 11),コロナ社(2017),URL: http://www.coronasha.co.jp/np/isbn/9784339027617
※以下の内容は、初版第1刷を対象としています。
自然言語処理を用いた語学学習支援に関しては、今のところ唯一の書籍だと思います。 また、既存の類書(英書)やサーベイ論文と比べても、取り扱う範囲が幅広く、最近の手法がまとまっている点でよかったです。
まず、本書は、自然言語処理の側から語学学習支援に関わる方にとっては、心強いサーベイ資料となるはずです。 各種の語学学習支援タスクの取り扱いや、基礎解析技術(品詞タグ付けや依存構造解析など)を学習者コーパスに適用した場合の性能や、 評価尺度についての解説は、特に有益だと思います。
特徴的なのは、論文にはあまり書かれないような話題が、丁寧に説明されている点です。 この分野特有の難しさを強調するだけではなく、どうやってその難しさに向き合うかについての知見が書かれています。
たとえば、学習者コーパス構築のためのガイドラインや、どのような前処理や解析を適用すればよいか、 といった内容が詳しく説明されています。 KJコーパス構築の事例をはじめ、永田先生自身の経験や知見が反映されている点で、本書のハイライトかもしれません。 実用的な知識であるというだけでなく、研究の指針としても教わることが多いと感じました。
一方、本書ではあまり触れられていない事項もあります。 本書では、基礎となる構文解析や機械学習アルゴリズムの解説は少なめです。 今すぐ手法を実装したい、という場合には他の文献にあたる必要がありそうです。
他の分野から語学教育に関わる方と、自然言語処理の側との橋渡しになる点でも、意義があると感じます。 これを契機に、教育効果の測定や、より良いフィードバック提供の方法などの面で、さらに交流が進むことを期待します。
内容の整理も兼ねて、全体の内容を紹介します。
**「イントロダクション」**では、語学学習2支援の目的が示されています。 語学学習の学習効果を最大化する、という目的のためには、学習者自身への支援と、教師への支援の大きく2つがあります。 本書では、主に日本語と英語を対象としています。 特に、「日本語を母語とする人が英語を学習する場合」を想定した事例や手法の説明に重点が置かれています。
**「処理の対象となるデータ」**では、学習者コーパス3の特徴やその重要性が強調されています。
学習者の言語機能や学習の過程を言語現象として捉えられる点で、学習者コーパスは重要な情報源となります。 自然言語処理においては、辞書の構築や、機械学習モデルの訓練データ、そして性能評価にも使われます。
歴史的経緯として、最初期の学習者コーパス ICLE (International Corpus of Learner English) から、最近の言語資源整備の取り組みまで、丁寧に紹介されています。 公開済みコーパスの一覧にとどまらず、自力でのコーパス構築についても解説されています。 計画から始まり、言語データの収集・各種のアノテーション(誤り情報など)・評価、そして公開までの一連の流れが示されます。
章の後半では、学習者コーパスの特徴を概観します。 綴りや文法の誤りだけではなく、句読点抜け落ちなど、その傾向は学習者の属性によって様々であることが言及されます。 学習者コーパスを注意深く観察しないと、なかなか気付けない問題もあるようです4。
**「語学学習支援のための言語処理を支える要素技術」**では、自然言語処理における基礎解析が概説されています。 特に、文分割から構文解析までがここでの対象となっています。 手法自体に深入りはしませんが、学習者の文章に対して基礎解析技術がどの程度機能するか、という情報がまとめられているのが特徴です。 こうした解析自体を詳しく知りたい場合は、同シリーズの『構文解析』などがおすすめです。
問題設定と対象とする言語データ、そして自然言語処理の要素技術に対する知識がそろったところで、いよいよ語学学習支援のタスクが紹介されます。
ここからはそれぞれのタスクが、以下のような構成で説明されます。
- タスク概要
- 性能と実例
- 理論と技術
- 実際的な情報
- 発展的内容と残された問題
語学学習を行う学習者本人への支援としては、「ライティング支援」と「リーディング支援」が紹介されています。
本記事では(自由作文に対する)文法誤り検出・訂正を取り上げます。 よく研究されているテーマであり、ACL5 などの自然言語処理の国際会議で、ワークショップや関連するセッションが設けられています。 そして、一番身近な語学学習支援の実例かもしれません。 たとえば、Grammarly のように、英語の文法誤り検出・訂正サービスは、すでに実用段階にあるといえそうです。
ひとことでライティング支援といっても、学習者にとって難しい文法事項は異なります。 たとえば英語の場合、「主語と動詞の一致」、「前置詞の選択」、「冠詞の選択・有無」など様々なものが挙げられます。
このように対象となる誤りの種類は多様である一方、自然言語処理の問題としての取り扱いとしては共通する部分も多いです。 ここでは代表的な手法として、(人手による)規則を用いた手法、言語モデルを用いた手法、SVMや最大エントロピー法などの機械学習を用いた手法が概説されています。
手法の種類も、そこで用いられるモデルも多様ですが、本書では次のことが強調されています6:
語学学習支援を目的とした文法誤り検出/訂正では、検出/訂正性能だけではなく、つねに、より高い学習効果のことを意識するべきであろう。
これを反映して、この章では評価の際の注意事項や、学習者への適切なフィードバックの重要性についても大きく紙面が割かれています。
文章中の難解な語の検出や、より平易な表現への言い換えが含まれます。
イメージを示すために、言い換えタスクの例を以下に引用します7:
入力文: The Association for Natural Language Processing was established in 1994.
出力文: The Association for Natural Language Processing was started in 1994.
英英辞書を使って、英文を英語のまま、難しい単語の指す概念を理解しようとしたり、 自分が知っているより簡単な単語と結びつけて学習する、という場面のような学習効果を狙っています。
「難解語の同定」では、文中の語が難解であるかどうかを判定します。 あらかじめ定めておいた難解語の辞書を使うこともできますが、文脈によって難解かどうかが変わる場合には対応できません。 辞書に加え、言語モデルの確率値や品詞列などの周辺文脈の特徴を利用した分類モデルを用いることが、ひとつの改善策となります。
「難解語の言い換え」のためには、さらに言い換え規則の獲得と、その適用が必要になります。 規則の獲得のためには、類義語辞書を使うこともできますが、より広範囲な規則を得るための手法も提案されています。 対応関係のある2つのコーパス(パラレルコーパス)8を用いる手法です。 たとえば、すべての単語の分散表現を計算してから、何らかの類似度尺度を求めれば、類似した分散表現を持つような単語同士の対応が得られます。 また、パラレルコーパスではなく、単一のコーパスからこうした規則を獲得する手法も提案されているようです。
評価方法としては、人手で作成した言い換え結果との自動評価だけでなく、「平易性」、「文法性」、「意味の保持」という3つの観点からの主観評価も用いられるようです。
タスク自体の主な課題は、どこまでを難解語とするか、どこまで言い換えればよいか、というものです。 そもそも、同じような属性の学習者であっても、個人ごとに習熟度は異なります。 これに対応するため、学習者の語彙知識を問う質問などにより語彙力を推定し、個人差に対応する手法が提案されているようです。
最後の2つの章では、「教材作成支援」と「学習者の能力/特徴の分析」という、教育者の側への支援について書かれています。 これらに共通する目的は、教育者の負担軽減です。 後者は、学習者コーパスの分析や、言語現象への仮説を立てるための補助的な情報にもなり得ます。
「教材作成支援」の中でも「語彙問題生成」は、学習者が受験する語学試験にも関連する点で、特色のあるタスクです。 このタスクでは、類義語選択問題や穴埋め形式の問題を生成します。 イメージとしては、TOEFL® Test のリーディングセクションに含まれる類義語選択問題9です。
先の教材作成支援では、試験問題の作成に利用できるタスクが紹介されました。 この章のはじめの「言語能力の自動評価」では、主に作文(エッセイ)の自動採点が紹介されます。
言語能力の測定はそもそも難しいものなので、ここでは、人間による採点を再現することをひとまずの目標としています。 取り扱いとしては、何段階かの評価や点数への回帰問題とすることが多いようです。
続く「学習者コーパスからの特徴表現抽出」と「母語干渉の分析」から得られる結果は、それ自体が知識源となるだけではなく、 他のタスクにおける特徴(素性)としても重要です。 たとえば、学習者の母語によって前置詞誤りの傾向が異なるという知識を利用して、それを事前分布として利用する手法が提案されています。
ここからはきわめて個人的な感想となるので、常体に戻す。
僕は英語学習者支援の研究をしていたことがある、というだけの者なのだが、 たまたま縁があって、 自分自身が関わっていた分野の知識が集約された本をじっくりと読む機会に恵まれた。
全体を通して、語学学習支援の目的を見失わないように、という課題意識が表明されていたように思う。 個人的には、それがハイライトだと解釈した。 学習者支援の思想的なところの重要性や、自然言語処理だけでは済まないタスクだと認識する必要がありそうだ10。
記事を書いている間、『ベンチマークの功罪』(Google 賀沢さんのブログ) で指摘されていたようなことを考えていた。 語学学習支援での状況はどうなのだろうか、と思ったが、本書や他の論文でも課題意識を表明している方は多い様子なので、大丈夫なのかもしれない。
そもそも、タスクの提案と、それに適した学習者コーパスの構築・公開、評価指標を整備すること自体、この分野ではかなり苦労するものだと思っている。 しかし、本書でも触れられていた Learner Corpus Association の発足など、状況は着実に良くなっている気がした。 最近のACLでの関連論文をちらっと眺めてみると、評価手法そのものに関する論文11 があったので、ポジティブな印象は強まった。 今後は、実運用(教育現場)での効果測定のような問題と向き合うことになるんだろうか。
<script type="text/javascript" src="https://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script>
Footnotes
-
コロナ社様より。この度はありがとうございました。 ↩
-
本書では、第二言語習得と語学学習とを、「対象言語が日常的に使用されている環境下であるか」という基準で区別しています。この区別において、語学学習という用語は「対象言語が日常的に使用されていない環境下での学習」を指します。たとえば「英語が母語ではない人が日本の学校で英語を学習する」という状況です。 ↩
-
コーパスとは、言語データを集約し、計算機で扱えるようにしたものを指します。 ↩
-
p.12 では、中学生の書いた英文の観察から「文末のピリオド脱落」という問題を初めて認識した、という永田先生の経験談が書かれています。 ↩
-
自然言語処理のトップカンファレンスのひとつ。首都大学東京の小町先生による関連学会の紹介が参考になります。 ↩
-
p.88 より。 ↩
-
p.108 より。 ↩
-
Simple English Wikipedia がよく利用される印象があります。ただし、言い換えタスクのための言語資源として最適かどうかには議論があるようです。(Xu, W., Callison-Burch, C., & Napoles, C. (2015). Problems in Current Text Simplification Research: New Data Can Help. TACL. など。) ↩
-
ETSが公開しているサンプルの The word "..." on line N is closest in meaning to: という問題。 ↩
-
自分自身が英語学習者支援のテーマで研究していたときにも、意識していたはずだが……。 ↩
-
文法誤り訂正における評価手法の再考。Sakaguchi, K., Napoles, C., Post, M., & Tetreault, J. (2016). Reassessing the Goals of Grammatical Error Correction: Fluency Instead of Grammaticality. Transactions of the Association of Computational Linguistics, 4, 169–182. ↩