特許第6886196号(P6886196)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 学校法人甲南学園の特許一覧

<>
  • 特許6886196-語学の学習支援装置 図000004
  • 特許6886196-語学の学習支援装置 図000005
  • 特許6886196-語学の学習支援装置 図000006
  • 特許6886196-語学の学習支援装置 図000007
  • 特許6886196-語学の学習支援装置 図000008
  • 特許6886196-語学の学習支援装置 図000009
  • 特許6886196-語学の学習支援装置 図000010
  • 特許6886196-語学の学習支援装置 図000011
  • 特許6886196-語学の学習支援装置 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6886196
(24)【登録日】2021年5月18日
(45)【発行日】2021年6月16日
(54)【発明の名称】語学の学習支援装置
(51)【国際特許分類】
   G09B 7/02 20060101AFI20210603BHJP
   G09B 19/06 20060101ALI20210603BHJP
   G09B 19/00 20060101ALI20210603BHJP
   G06F 16/30 20190101ALI20210603BHJP
   G06F 16/383 20190101ALI20210603BHJP
   G06N 3/02 20060101ALI20210603BHJP
   G06Q 50/20 20120101ALI20210603BHJP
【FI】
   G09B7/02
   G09B19/06
   G09B19/00 H
   G06F16/30
   G06F16/383
   G06N3/02
   G06Q50/20
【請求項の数】7
【全頁数】19
(21)【出願番号】特願2019-38097(P2019-38097)
(22)【出願日】2019年3月3日
(65)【公開番号】特開2020-140183(P2020-140183A)
(43)【公開日】2020年9月3日
【審査請求日】2020年5月19日
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成29年度、国立研究開発法人科学技術振興機構、戦略的創造研究推進事業個人型研究(さきがけ)「新しい学びの形態を実現するための問題自動解説技術の開発」委託研究、産業技術力強化法第19条の適用を受ける特許出願
(73)【特許権者】
【識別番号】397022911
【氏名又は名称】学校法人甲南学園
(74)【代理人】
【識別番号】100124039
【弁理士】
【氏名又は名称】立花 顕治
(74)【代理人】
【識別番号】100179213
【弁理士】
【氏名又は名称】山下 未知子
(74)【代理人】
【識別番号】100170542
【弁理士】
【氏名又は名称】桝田 剛
(72)【発明者】
【氏名】永田 亮
【審査官】 西村 民男
(56)【参考文献】
【文献】 特開2014−209317(JP,A)
【文献】 特開平8−30598(JP,A)
【文献】 国際公開第2019/024050(WO,A1)
【文献】 韓国登録特許第10−1482430(KR,B1)
【文献】 米国特許出願公開第2004/0219497(US,A1)
【文献】 鈴井 克徳,ニューラルネットワークを用いた日本語学習者の文章における不自然箇所検知,第10回データ工学と情報マネジメントに関するフォーラム (第16回日本データベース学会年次大会)[Online],日本,電子情報通信学会データ工学研究専門委員会 日本データベース学会 情報処理学会データベースシステム研究会,2018年 3月 6日
(58)【調査した分野】(Int.Cl.,DB名)
G09B 1/00− 9/56,
17/00−19/26,
G06F16/00,17/00,
G06N 3/00− 3/12,
G06Q50/20
(57)【特許請求の範囲】
【請求項1】
語学の学習者のライティング技術の向上を支援する学習支援装置であって、
文に対する多数の解説文と、前記多数の解説文にそれぞれ関連付けられており、前記多数の解説文の意味をそれぞれ表す多数の解説文ベクトルを格納する解説文データベースと、
前記学習者が記述した文である対象文を第1ニューラルネットワークに入力することにより、前記対象文に含まれる解説すべき箇所を検出するとともに、前記第1ニューラルネットワークの出力として、前記解説すべき箇所の文脈を表す文脈ベクトルを生成する文脈ベクトル生成部と、
前記文脈ベクトルを前記解説文データベースと照合して、前記文脈ベクトルと類似する前記解説文ベクトルを検索し、前記検索された解説文ベクトルに関連付けられた前記解説文を、前記対象文の前記解説すべき箇所に付与される解説文として導出する解説文生成部と
を備える、
学習支援装置。
【請求項2】
前記文脈ベクトル生成部は、前記文脈ベクトルを第2ニューラルネットワークに入力することにより、前記第2ニューラルネットワークの出力として、前記解説文ベクトルが属する空間にマッピングされた前記文脈ベクトルである変換文脈ベクトルを生成し、
前記解説文生成部は、前記変換文脈ベクトルを前記解説文データベースと照合して、前記変換文脈ベクトルと類似する前記解説文ベクトルを検索する、
請求項1に記載の学習支援装置。
【請求項3】
語学の学習者のライティング技術の向上を支援する学習支援装置であって、
前記学習者が記述した文である対象文を第1ニューラルネットワークに入力することにより、前記対象文に含まれる解説すべき箇所を検出するとともに、前記第1ニューラルネットワークの出力として、前記解説すべき箇所の文脈を表す文脈ベクトルを生成する文脈ベクトル生成部と、
前記文脈ベクトルを第2ニューラルネットワークに入力することにより、前記第2ニューラルネットワークの出力として、前記対象文の前記解説すべき箇所に付与される解説文を生成する解説文生成部と
を備える、
学習支援装置。
【請求項4】
前記解説文生成部は、前記対象文に複数の解説すべき箇所が含まれる場合には、前記複数の解説すべき箇所の各々に対し、前記解説文を生成する、
請求項1から3のいずれかに記載の学習支援装置。
【請求項5】
前記文脈ベクトルは、前記第1ニューラルネットワークの隠れ層から出力される、
請求項1から4のいずれかに記載の学習支援装置。
【請求項6】
語学の学習者のライティング技術の向上を支援する学習支援プログラムであって、
文に対する多数の解説文と、前記多数の解説文にそれぞれ関連付けられており、前記多数の解説文の意味をそれぞれ表す多数の解説文ベクトルを格納する解説文データベースに接続されたコンピュータに、
前記学習者が記述した文である対象文を第1ニューラルネットワークに入力することにより、前記対象文に含まれる解説すべき箇所を検出するとともに、前記第1ニューラルネットワークの出力として、前記解説すべき箇所の文脈を表す文脈ベクトルを生成することと、
前記文脈ベクトルを前記解説文データベースと照合して、前記文脈ベクトルと類似する前記解説文ベクトルを検索し、前記検索された解説文ベクトルに関連付けられた前記解説文を、前記対象文の前記解説すべき箇所に付与される解説文として導出することと
を実行させる、
学習支援プログラム。
【請求項7】
語学の学習者のライティング技術の向上を支援する学習支援プログラムであって、
前記学習者が記述した文である対象文を第1ニューラルネットワークに入力することにより、前記対象文に含まれる解説すべき箇所を検出するとともに、前記第1ニューラルネットワークの出力として、前記解説すべき箇所の文脈を表す文脈ベクトルを生成することと、
前記文脈ベクトルを第2ニューラルネットワークに入力することにより、前記第2ニューラルネットワークの出力として、前記対象文の前記解説すべき箇所に付与される解説文を生成することと
をコンピュータに実行させる、
学習支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、語学の学習者のライティング技術の向上を支援する学習支援装置及びプログラムに関する。
【背景技術】
【0002】
特許文献1は、英文における前置詞の正誤をコンピュータにより自動解析する技術を開示している。特許文献1では、格フレームに基づいて前置詞の誤りが検出されるが、この格フレームには、前置詞の誤りに関する説明であるフィードバックメッセージが関連付けられている。よって、特許文献1では、英語の学習者に対し、前置詞の誤りを示すとともに、フィードバックメッセージを提供することができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2014−209317号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
以上の技術によれば、学習者は、自身が作成した文の誤りを単に知ることができるだけでなく、これに関するフィードバックメッセージを受け取ることができる点で、語学の学習を効果的に進めることができる。しかし、この方法では、格フレームで表現されるような限られた種類の誤りしか検出することができず、そのような誤りに対してのみフィードバックメッセージが提供されるため、学習の幅が制限されてしまう。よって、語学の学習者のライティング技術の向上を支援するには、さらなる創意工夫が求められる。また、格フレームに基づくアルゴリズムは、自動生成した格フレームの解釈、競合する格フレームの調整等、人手の介入が多分に求められるという課題もある。これらの作業は、特に格フレームの数が増えると、極めて困難になる。
【0005】
本発明は、語学の学習者のライティング技術の向上を効果的に支援することができる学習支援装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
第1観点に係る学習支援装置は、語学の学習者のライティング技術の向上を支援する学習支援装置であって、文に対する多数の解説文と、前記多数の解説文にそれぞれ関連付けられており、前記多数の解説文の意味をそれぞれ表す多数の解説文ベクトルを格納する解説文データベースと、前記学習者が記述した文である対象文を第1ニューラルネットワークに入力することにより、前記対象文に含まれる解説すべき箇所を検出するとともに、前記第1ニューラルネットワークの出力として、前記解説すべき箇所の文脈を表す文脈ベクトルを生成する文脈ベクトル生成部と、前記文脈ベクトルを前記解説文データベースと照合して、前記文脈ベクトルと類似する前記解説文ベクトルを検索し、前記検索された解説文ベクトルに関連付けられた前記解説文を、前記対象文の前記解説すべき箇所に付与される解説文として導出する解説文生成部とを備える。
【0007】
第2観点に係る学習支援装置は、第1観点に係る学習支援装置であって、前記文脈ベクトル生成部は、前記文脈ベクトルを第2ニューラルネットワークに入力することにより、前記第2ニューラルネットワークの出力として、前記解説文ベクトルが属する空間にマッピングされた前記文脈ベクトルである変換文脈ベクトルを生成する。前記解説文生成部は、前記変換文脈ベクトルを前記解説文データベースと照合して、前記変換文脈ベクトルと類似する前記解説文ベクトルを検索する。
【0008】
第3観点に係る学習支援装置は、語学の学習者のライティング技術の向上を支援する学習支援装置であって、前記学習者が記述した文である対象文を第1ニューラルネットワークに入力することにより、前記対象文に含まれる解説すべき箇所を検出するとともに、前記第1ニューラルネットワークの出力として、前記解説すべき箇所の文脈を表す文脈ベクトルを生成する文脈ベクトル生成部と、前記文脈ベクトルを第2ニューラルネットワークに入力することにより、前記第2ニューラルネットワークの出力として、前記対象文の前記解説すべき箇所に付与される解説文を生成する解説文生成部とを備える。
【0009】
第4観点に係る学習支援装置は、第1観点から第3観点のいずれかに係る学習支援装置であって、前記解説文生成部は、前記対象文に複数の解説すべき箇所が含まれる場合には、前記複数の解説すべき箇所の各々に対し、前記解説文を生成する。
【0010】
第5観点に係る学習支援装置は、第1観点から第4観点のいずれかに係る学習支援装置であって、前記文脈ベクトルは、前記第1ニューラルネットワークの隠れ層から出力される。
【0011】
第6観点に係る学習支援プログラムは、語学の学習者のライティング技術の向上を支援する学習支援プログラムであって、解説文データベースに接続されたコンピュータに以下のことを実行させる。前記解説文データベースは、文に対する多数の解説文と、前記多数の解説文にそれぞれ関連付けられており、前記多数の解説文の意味をそれぞれ表す多数の解説文ベクトルを格納する。
・前記学習者が記述した文である対象文を第1ニューラルネットワークに入力することにより、前記対象文に含まれる解説すべき箇所を検出するとともに、前記第1ニューラルネットワークの出力として、前記解説すべき箇所の文脈を表す文脈ベクトルを生成すること
・前記文脈ベクトルを前記解説文データベースと照合して、前記文脈ベクトルと類似する前記解説文ベクトルを検索し、前記検索された解説文ベクトルに関連付けられた前記解説文を、前記対象文の前記解説すべき箇所に付与される解説文として導出すること
【0012】
第7観点に係る学習支援プログラムは、語学の学習者のライティング技術の向上を支援する学習支援プログラムであって、コンピュータに以下のことを実行させる。
・前記学習者が記述した文である対象文を第1ニューラルネットワークに入力することにより、前記対象文に含まれる解説すべき箇所を検出するとともに、前記第1ニューラルネットワークの出力として、前記解説すべき箇所の文脈を表す文脈ベクトルを生成すること
・前記文脈ベクトルを第2ニューラルネットワークに入力することにより、前記第2ニューラルネットワークの出力として、前記対象文の前記解説すべき箇所に付与される解説文を生成すること
【発明の効果】
【0013】
本発明によれば、語学の学習者のライティング技術の向上を効果的に支援することができる。
【図面の簡単な説明】
【0014】
図1】第1実施形態に係る学習支援装置の機能ブロック図。
図2】第1実施形態に係る添削処理で使用される第1及び第2ニューラルネットワークを含む解析モデルの構成を示す図。
図3】第1実施形態に係る第3ニューラルネットワークの構成を示す図。
図4】第1実施形態に係る添削処理の流れを示すフローチャート。
図5】第1実施形態に係る添削結果を表示する表示画面の例を示す図。
図6】第2実施形態に係る学習支援装置の機能ブロック図。
図7】第2実施形態に係る添削処理で使用される第1及び第2ニューラルネットワークを含む解析モデルの構成を示す図。
図8】第2実施形態の変形例に係る添削処理で使用される第1及び第2ニューラルネットワークを含む解析モデルの構成を示す図。
図9】第2実施形態に係る添削処理の流れを示すフローチャート。
【発明を実施するための形態】
【0015】
以下、図面を参照しつつ、本発明の幾つかの実施形態に係る学習支援装置及びプログラムについて説明する。
【0016】
<1.第1実施形態>
<1−1.概要>
図1に、第1実施形態に係る学習支援装置1の全体構成図を示す。学習支援装置1は、語学の学習者のライティング技術の向上を支援するための装置であり、語学の学習者が記述した文(以下、対象文ということがある)L1の添削処理を実行する。この添削処理においては、対象文L1に含まれる解説すべき箇所が検出されるとともに、当該解説すべき箇所に付与される解説文L2が生成され、当該解説文L2はユーザーに提供される。解説文L2は、学習者のライティング能力の向上に寄与し得る内容を記述した文字列である。解説文L2は、典型的には、文法誤りや不自然な表現等に対するコメントであるが、より良くするためのアドバイスや学習者の意欲を向上させるための励まし等も含み得る。なお、語学の学習の場面では、誤った箇所だけでなく、たとえ正しい箇所についても解説することで、学習の効果を促進することも可能である。よって、ここでいう解説すべき箇所とは、典型的には、対象文L1において文の誤りが発見された位置であるが、文として何ら誤りのない正しい位置であってもよい。また、ここでいうユーザーとは、典型的には、対象文L1を記述した学習者であるが、これに限られず、例えば、添削者であってもよい。添削処理は、ニューラルネットワークモデル2(図2参照)に基づいて行われる。ニューラルネットワークモデル2は、事前学習により構築される。
【0017】
以下、学習支援装置1の構成について述べた後、添削処理で使用されるニューラルネットワークモデル2を含む解析モデルの構成、添削処理の流れ、及びニューラルネットワークモデル2の学習処理の流れについて順に説明する。
【0018】
<1−2.学習支援装置の構成>
図1を参照しつつ、学習支援装置1の構成について説明する。学習支援装置1は、ハードウェアとしては汎用のコンピュータであり、例えば、デスクトップ型コンピュータ、ノート型コンピュータ、タブレットコンピュータ、スマートフォンとして実現される。学習支援装置1は、CD−ROM、USBメモリ等のコンピュータで読み取り可能な記録媒体30から、或いはインターネット等のネットワークを介して、学習支援プログラム3を汎用のコンピュータにインストールすることにより製造される。学習支援プログラム3は、ユーザーにより入力された対象文L1を添削するためのソフトウェアであり、学習支援装置1に後述する動作を実行させる。
【0019】
学習支援装置1は、表示部11、入力部12、記憶部13、制御部14及び通信部15を備える。これらの部11〜15は、互いにバス線16を介して接続されており、相互に通信可能である。表示部11は、液晶ディスプレイ等で構成することができ、対象文L1の添削結果をユーザーに対し表示する。入力部12は、マウス、キーボード、タッチパネル等で構成することができ、学習支援装置1に対するユーザーからの操作を受け付ける。
【0020】
記憶部13は、ハードディスクやフラッシュメモリ等の不揮発性の記録装置で構成することができる。記憶部13内には、学習支援プログラム3が格納されている他、後述する学習処理で学習され、後述する添削処理で使用されるニューラルネットワークモデル2を定義する情報が格納される。また、記憶部13内には、添削処理において対象文L1の解説すべき箇所に付与される多数の解説文L2を格納した解説文データベース4も格納される。
【0021】
制御部14は、CPU、ROMおよびRAM等から構成することができる。制御部14は、記憶部13内の学習支援プログラム3を読み出して実行することにより、仮想的に文脈ベクトル生成部14a、解説文生成部14b、及び表示制御部14cとして動作する。各部14a〜14cの動作の詳細については、後述する。通信部15は、LANやインターネット等のネットワーク上に存在する外部機器との通信を可能にする通信インターフェースとして機能する。
【0022】
<1−3.解析モデルの構成>
次に、図2を参照しつつ、添削処理で使用される解析モデルの構成について説明する。同モデルに含まれるニューラルネットワークモデル2は、第1ニューラルネットワーク21と、第2ニューラルネットワーク22とを含む。
【0023】
これに限定されないが、第1ニューラルネットワーク21は、再帰型ニューラルネットワーク(RNN)であり、例えば、LSTM(Long short-term memory)やGRU(Gated Recurrent Unit)等とすることができる。本実施形態の第1ニューラルネットワーク21は、双方向型であり、特にBiLSTM(Bidirectional Long short-term memory)である。また、第1ニューラルネットワーク21の表現力を高めるため、注意機構(Attention Mechanism)を追加することもできる。また、LSTMを多層に重ねてもよい(Stacked LSTM)。
【0024】
第1ニューラルネットワーク21は、対象文L1を入力とし、対象文L1中の解説すべき箇所を示すデータ列L3を作成するためのデータを出力するニューラルネットワークである。第1ニューラルネットワーク21は、入力層211、隠れ層212、及び出力層213を含む。対象文L1は、入力層211に入力される。本実施形態では、入力層211を構成する複数のノードに対し、対象文L1に含まれるトークン(単語、記号等)が、文中での順番に沿って順次入力される。ただし、入力層211のノードには、文字を1文字ずつ入力することもできる。なお、トークンは、第1ニューラルネットワーク21内では分散表現に変換されて処理される。
【0025】
出力層213を構成する各ノードからは、当該ノードに対応する、入力層211のノードに入力されたトークンに対し、解説文L2を付与すべきか否かを表す値が出力される。本実施形態では、出力層213は、softmax層であり、出力層213の各ノードは、「0」に該当する確率と「1」に該当する確率を出力する。「0」は解説文L2が不要であることを意味し、「1」は解説文L2が必要であることを意味する。そして、出力層213の各ノードから出力された「0」に該当する確率と「1」に該当する確率とが比較され、当該ノードに対し、前者の方が大きい場合には「0」のラベルが付与され、後者の方が大きい場合には「1」のラベルが付与される。データ列L3は、出力層213の配列に合わせてこれらのラベルを順番に並べたデータ列であり、よって、第1ニューラルネットワーク21は、2値の系列ラベリングのモデルとなる。よって、例えば、データ列L3において、2番目と4番目に「1」が含まれる場合には、対象文L1において2番目と4番目のトークンが解説をすべき箇所として検出される。なお、典型的には、「0」は対象文L1における誤り箇所に、「1」は正しい箇所に付与されるが、これは学習時の教師信号に依存する。
【0026】
隠れ層212の隠れ状態ベクトルは、対象文L1中の前後のトークンの情報を記憶している。従って、隠れ層212の隠れ状態ベクトルは、対象文L1の対応箇所での文脈を抽象的に表現することができる。本実施形態では、データ列L3に基づき、解説すべき箇所が検出される。そして、解説すべき箇所に対応する隠れ層212の隠れ状態ベクトルが、当該解説すべき箇所の文脈を表す文脈ベクトルV1として、第2ニューラルネットワーク22に入力される。
【0027】
次に、これに限定されないが、本実施形態の第2ニューラルネットワーク22は、順伝播型ニューラルネットワーク(FFNN)であり、特に1層のFFNNである。第2ニューラルネットワーク22には、第1ニューラルネットワーク21から出力される文脈ベクトルV1が入力される。第2ニューラルネットワーク22は、この文脈ベクトルV1を解説文ベクトルV2が属する空間にマッピングする。解説文ベクトルV2とは、解説文データベース4に格納されている解説文L2の意味を抽象的に表現するベクトルである。つまり、第2ニューラルネットワーク22内では、文脈ベクトルV1が解説文ベクトルV2と次元が一致するように変換され、変換後の文脈ベクトルV1(以下、変換文脈ベクトルV3という)が、第2ニューラルネットワーク22から出力される。
【0028】
第2ニューラルネットワーク22から出力される変換文脈ベクトルV3は、解説文データベース4内の解説文ベクトルV2と照合される。以上のマッピングは、対象文L1の文脈を表す文脈ベクトルV1と、解説文L2の意味を表す解説文ベクトルV2とを比較できるようするために行われる。解説文データベース4内には、多数の解説文L2と、これらの解説文L2の意味をそれぞれ表す多数の解説文ベクトルV2とが格納されている。解説文データベース4内では、解説文L2と解説文ベクトルV2とは互いに関連付けられている。
【0029】
解説文ベクトルV2は、図3に示す第3ニューラルネットワーク23に解説文L2を入力することにより作成される。これに限定されないが、第3ニューラルネットワーク23は、再帰型ニューラルネットワーク(RNN)であり、例えば、LSTM(Long short-term memory)やGRU(Gated Recurrent Unit)等とすることができる。本実施形態の第3ニューラルネットワーク23は、LSTMベースの言語モデル(Long short-term memory language model;LSTMLM)である。また、LSTMを多層に重ねてもよい(Stacked LSTM)。
【0030】
第3ニューラルネットワーク23は、解説文L2を入力とするニューラルネットワークである。第3ニューラルネットワーク23は、入力層231、隠れ層232、及び出力層233を含む。本実施形態では、入力層231を構成する複数のノードに対し、解説文L2に含まれるトークンが、文中での順番に沿って順次入力される。ただし、入力層231のノードには、文字を1文字ずつ入力することもできる。なお、トークンは、第3ニューラルネットワーク23内では分散表現に変換されて処理される。
【0031】
第3ニューラルネットワーク23は、入力されるトークンから次のトークンを予測するように訓練される。この場合、隠れ層232の隠れ状態ベクトルは、第3ニューラルネットワーク23に入力された解説文L2の意味を抽象的に表現することができ、これが解説文ベクトルV2に設定される。図3には明確に表れていないが、本実施形態では、解説文ベクトルV2の表現力を高めるため、第3ニューラルネットワーク23として、解説文L2に含まれるトークンを順方向に入力するLSTMLMと、これらを逆方向に入力するLSTMLMとが用意される。そして、両LSTMLMの隠れ層232の最後の隠れ状態ベクトルを連結したものが、解説文ベクトルV2に設定される。
【0032】
<1−4.添削処理の流れ>
次に、図4を参照しつつ、添削処理の流れについて説明する。添削処理は、第1及び第2ニューラルネットワーク21及び22の学習が完了しており、さらに解説文データベース4も完成している状態で実行される。
【0033】
最初のステップS1では、文脈ベクトル生成部14aが、添削の対象となる対象文L1を取得する。対象文L1は、学習者が記述した文であり、学習者が入力部12を介して入力してもよいし、通信部15を介して外部から受信してもよい。
【0034】
続くステップS2では、文脈ベクトル生成部14aが、対象文L1に前処理を施す。例えば、ステップS1で複数の文からなる文章が取得された場合には、これを複数の対象文L1に分割する。なお、ここでは簡単のため、主としてステップS1で1つの文が取得された場合を例に説明するが、文章が取得されていた場合には、これに含まれる各対象文L1に対し、以下の処理が同様に繰り返される。
【0035】
その他、前処理としては、トークン分割や、英語であれば小文字化、言語によっては形態素解析等の処理が実行される。また、解析精度を向上させるために、対象文L1に含まれる閾値未満の頻度の単語については、低頻度語であることを示す記号(例えば、<unk>)に置換してもよい。ただし、言語によらず、トークン分割や形態素解析等の処理は行わず一文字ずつ入力してもよい。
【0036】
続くステップS3では、文脈ベクトル生成部14aが、前処理後の対象文L1を第1ニューラルネットワーク21に入力する。これにより、対象文L1に含まれる解説すべき箇所が検出される。解説すべき箇所は0個の場合もある。一方、対象文L1に1つ以上の解説すべき箇所が含まれる場合には、第1ニューラルネットワーク21の出力として、文脈ベクトルV1が生成される。
【0037】
より具体的には、文脈ベクトル生成部14aは、第1ニューラルネットワーク21から得られるデータ列L3に基づいて、対象文L1において解説すべき箇所を検出する。すなわち、データ列L3中で、解説すべきであることを示すフラグ(本実施形態では、「1」)が立っている位置を検出する。そして、出力層213を構成する複数のノードのうち、当該フラグに対応するノードに対応する隠れ状態ベクトルを、文脈ベクトルV1として抽出する。データ列L3の中に複数のフラグ「1」が含まれる場合、言い換えると、対象文L1に複数の解説すべき箇所が含まれる場合は、各解説すべき箇所に対し、文脈ベクトルV1を抽出する。
【0038】
続くステップS4では、ステップS3において解説すべき箇所が1つ以上検出されたか否かが判定される。解説すべき箇所が0個の場合には、処理はステップS7に進められ、1個以上の場合には、ステップS5に進められる。
【0039】
ステップS5及びこれに続くステップS6は、ステップS3で検出された各解説すべき箇所、言い換えると、ステップS3で抽出された各文脈ベクトルV1に対し実行される。すなわち、ステップS5の前に、ステップS3で導出された解説すべき箇所及び文脈ベクトルV1のセットが1つずつ選択され、現在選択されているセットに対し、ステップS5及びS6が実行される。
【0040】
ステップS5では、文脈ベクトル生成部14aが、現在選択されている文脈ベクトルV1を解説文ベクトルV2が属する空間へマッピングする。より具体的には、文脈ベクトルV1を第2ニューラルネットワーク22に入力することより、第2ニューラルネットワーク22の出力として、変換文脈ベクトルV3を生成する。このとき、ベクトル空間内では、変換文脈ベクトルV3は、これに対応する解説すべき箇所の解説として適切な解説文L2を表す解説文ベクトルV2の近くに位置するようにマッピングされる。
【0041】
続くステップS6では、解説文生成部14bが、変換文脈ベクトルV3をキーとして、解説文データベース4内に格納されている多数の解説文L2の中から、現在選択されている解説すべき箇所に付与されるべき解説文L2を導出する。より具体的には、解説文生成部14bは、変換文脈ベクトルV3を解説文データベース4と照合して、変換文脈ベクトルV3と類似する解説文ベクトルV2を検索する。言い換えると、ベクトル空間内において、変換文脈ベクトルV3に近い解説文ベクトルV2が検索される。
【0042】
本実施形態では、解説文データベース4内に格納されている解説文ベクトルV2に総当たりの態様で、変換文脈ベクトルV3と解説文ベクトルV2との余弦類似度が算出される。そして、これらの余弦類似度に応じて、解説文ベクトルV2が検索される。より具体的には、変換文脈ベクトルV3との間で余弦類似度が最も大きい解説文ベクトルV2が検索される。そして、解説文データベース4内で当該解説文ベクトルV2に関連付けられている解説文L2が、現在選択されている解説すべき箇所に付与されるべき解説文L2として導出される。なお、余弦類似度が閾値以上のもの全てや、余弦類似度が上位所定数のもの等、複数の解説文L2を導出することもできる。一方で、余弦類似度が閾値未満となる解説文ベクトルV2しか存在しない場合には、解説文L2を導出しなくてもよい。また、現在選択されている解説すべき箇所のトークン(例えば、前置詞「at」)が、解説文L2に含まれるトークン(例えば、前置詞「in」)に一致しない場合には、余弦類似度の値に関わらず、そのような解説文L2は検索対象から除外してもよい。なお、ここでの類似度は、余弦類似度に限定されず、ベクトル間の類似度を算出することが可能な様々な類似度を使用することができる。
【0043】
ステップS3で抽出された全ての解説すべき箇所に対するステップS5及びS6が終了すると、処理はステップS7に進められる。ステップS7では、表示制御部14cが、対象文L1の添削結果を表示する表示画面W1を作成し、これを表示部11上に表示させる。例えば、図5に示すような表示画面W1が表示される。図5の例は、与えられたトピックに対し、学習者が文章を自由記述した場合である。この例では、表示画面W1上には、トピック毎に、学習者が記述した複数の対象文L1を含む文章が表示される。また、これまでの処理により、対象文L1中において解説すべき箇所(トークン)が特定されているため、当該トークンがハイライト表示される。そして、ステップS6で生成された解説文L2が、これに対応する解説すべき箇所(トークン)に関連付けて表示される。図5の例では、トークンから解説文L2を結ぶ引き出し線が引かれている。なお、これまでの処理により、文単位又は文章単位で、或いは全ての文章に対し、解説すべき箇所(トークン)が検出されていない場合には、解説文L2に代えて、「誤りはありません」「特にコメントはありません」等のコメントが表示されてもよい。
【0044】
以上の表示画面W1は、語学の学習者にライティングに関するヒントや説明等を与えることができ、どこが悪いのか、どのように改善したらよいのか等を理解する助けになる。よって、以上の表示画面W1は、語学の学習者のライティング技術の向上を効果的に支援することができる。表示画面W1の表示後、添削処理は終了する。
【0045】
<1−5.ニューラルネットワークモデルの学習処理の流れ>
次に、ニューラルネットワークモデル2の学習処理の流れについて説明する。学習処理は、学習支援装置1で実行することもできるが、学習支援装置1が、別のコンピュータで学習されたニューラルネットワークモデル2を取得し、これを添削処理に使用してもよい。なお、解説文データベース4の作成処理、及びこれを作成するための第3ニューラルネットワーク23の学習処理についても、同様である。
【0046】
まず、学習のための教師データとして、語学の学習者が記述した多数の対象文L1を用意し、語学の教師等の手で、これに多数の解説文L2を付与していく。このとき、対象文L1において解説文L2を付与すべき箇所も設定する。なお、当然ながら、対象文L1及び解説文L2を用意するに当たっては、既存のコーパスを利用してもよい。本実施形態では、解説文L2が単語の抜けの誤りに関する場合、これが付与されるべき解説すべき箇所は、左隣りのトークンの位置に設定するが、右隣りとすることもできる。これにより、単語の抜けに対する解説か、その単語自身に対する解説かの間で曖昧性が生じるが、大抵の場合、解説文L2の内容からどちらのケースにあたるか判断できるため、問題となることは少ない。以下、以上のとおり用意された対象文L1と、対象文L1中の解説すべき箇所と、解説すべき箇所に関連付けられた解説文L2とを含むコーパスを、教師コーパスと呼ぶ。
【0047】
次に、第3ニューラルネットワーク23の学習を行う。このとき、教師コーパスから多数の解説文L2を抽出し、これを第3ニューラルネットワーク23に順次入力する。そして、第3ニューラルネットワーク23を、入力されるトークンから次のトークンを予測するように訓練する。次に、学習済の第3ニューラルネットワーク23に、教師コーパスから抽出される多数の解説文L2を入力し、多数の解説文ベクトルV2を生成する。これにより、解説文データベース4が作成される。そして、ここで作成された解説文ベクトルV2を含むように、教師コーパスを更新する。このとき、教師コーパスに含まれる解説文L2と、解説文ベクトルV2とを関連付ける。
【0048】
次に、更新された教師コーパスに基づいて、ニューラルネットワークモデル2の学習を行う。本実施形態では、第1ニューラルネットワーク21及び第2ニューラルネットワーク22は、同時に学習される。すなわち、解説すべき箇所の検出及び文脈ベクトルV1のマッピングからなるマルチタスク学習を行う。これに限定されないが、本実施形態では、第1ニューラルネットワーク21の学習時の損失関数は、交差エントロピー損失関数であり、第2ニューラルネットワーク22の損失関数は、二乗誤差関数である。また、これに限定されないが、本実施形態では、第2ニューラルネットワーク22の学習は、第1ニューラルネットワーク21で解説すべき箇所が検出された場合のみ行う。また、これに限定されないが、本実施形態では、ニューラルネットワークモデル2全体の損失関数は、(1−β)ls+βlmである。ls、lm、βは、それぞれ、系列ラベリングの損失関数、マッピングの損失関数、両者のバランスを調整するハイパパラメタである。以上により、学習処理が終了する。
【0049】
<2.第2実施形態>
次に、第2実施形態に係る学習支援装置101について説明する。図6は、学習支援装置101の機能ブロック図であり、図7は、第2実施形態に係る添削処理で使用されるニューラルネットワークモデル102の構成を示す図である。第2実施形態と第1実施形態との主たる相違点は、第2実施形態では、対象文L1に付与される解説文L2が、予め用意された解説文L2の中から選択されるのではなく、自動生成される点である。そのため、第2実施形態に係る学習支援装置101では、解説文データベース4が省略される。また、第2実施形態に係るニューラルネットワークモデル102では、解説文データベース4を作成するための第3ニューラルネットワーク23も、マッピングのための第2ニューラルネットワーク22も省略される。そして、これらに代えて、第2実施形態に係るニューラルネットワークモデル102は、第1実施形態と同様の第1ニューラルネットワーク21に加え、第2ニューラルネットワーク24を含む。以下、第1実施形態との相違点を中心に、第2実施形態について説明する。第1及び第2実施形態で共通する要素には、同じ参照符号を付して説明を省略する。
【0050】
これに限定されないが、第2ニューラルネットワーク24は、再帰型ニューラルネットワーク(RNN)であり、例えば、LSTM(Long short-term memory)やGRU(Gated Recurrent Unit)等とすることができる。本実施形態の第2ニューラルネットワーク24は、LSTMベースの言語モデル(Long short-term memory language model;LSTMLM)である。また、LSTMを多層に重ねてもよい(Stacked LSTM)。
【0051】
図7に示すように、第2ニューラルネットワーク24には、第1ニューラルネットワーク21から出力される文脈ベクトルV1が入力される。なお、第2ニューラルネットワーク24は、図8に示すように、第1ニューラルネットワーク21から出力される文脈ベクトルV1が各ノードに入力されるように構成してもよい。また、表現力を高めるために第1ニューラルネットワーク21に注意機構を導入し、注意機構の出力を文脈ベクトルV1と合わせて第2ニューラルネットワーク24に入力してもよい。第2ニューラルネットワーク24は、文脈ベクトルV1が入力されたときに、これに付与されるべき解説文L2が生成されるように訓練される。なお、第2ニューラルネットワーク24には、文脈ベクトルV1だけでなく、第1ニューラルネットワーク21において当該文脈ベクトルV1が出力された位置(解説すべき箇所)を示す情報が入力されてもよい。
【0052】
本実施形態では、第2ニューラルネットワーク24の出力層の各ノードからは、解説文L2を構成するトークンが順次出力される。ただし、出力層のノードから、解説文L2を構成する文字が1文字ずつ出力されるようにしてもよい。なお、トークンは、第2ニューラルネットワーク24内では分散表現に変換されて処理される。第2ニューラルネットワーク24の学習も、第1実施形態と同様の教師トークンに基づいて行うことができる。ただし、解説文ベクトルV2の情報は、不要である。
【0053】
図9は、第2実施形態に係る添削処理の流れを示すフローチャートである。同図に示すとおり、第2実施形態では、第1実施形態のステップS5及びS6の代わりに、ステップS11が挿入される。ステップS11も、ステップS3で検出された各解説すべき箇所、言い換えると、ステップS3で抽出された各文脈ベクトルV1に対し実行される。すなわち、ステップS11の前に、ステップS3で導出された解説すべき箇所及び文脈ベクトルV1のセットが1つずつ選択され、現在選択されているセットに対し、ステップS11が実行される。
【0054】
ステップS11では、解説文生成部14bが、現在選択されている文脈ベクトルV1を第2ニューラルネットワーク24に入力する。これにより、第2ニューラルネットワーク24の出力として、現在選択されている解説すべき箇所に付与されるべき解説文L2が生成される。その余の処理は、第1実施形態と同様である。
【0055】
<3.変形例>
以上、本発明の幾つかの実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて、種々の変更が可能である。例えば、以下の変更が可能である。また、以下の変形例の要旨は、適宜組み合わせることができる。
【0056】
<3−1>
第1ニューラルネットワーク21により作成されるデータ列L3を、0か1かの2値のラベルのデータ列ではなく、3つ以上の値をとり得るラベルのデータ列としてもよい。例えば、正解を表す0、誤り(その単語を削除)を表す1、誤り(その単語を別の単語に置換)を表す2、又は誤り(単語の抜け)を表す3の4つの値をとり得るラベルのデータ列としてもよい。この場合、単なる正誤ではなく、誤りの種類も判別可能になる。あるいは、第1ニューラルネットワーク21を、対象文L1に含まれる誤りを訂正する正解を出力するように構成してもよい。また、第2ニューラルネットワーク22及び24に、文脈ベクトルV1だけでなく、第1ニューラルネットワーク21から得られるその他の様々な値(例えば、データ列L3に含まれる対応箇所のラベルの値や、誤りを訂正する正解等)も入力するようにしてもよい。
【0057】
<3−2>
第1ニューラルネットワーク21、第3ニューラルネットワーク23及び第2ニューラルネットワーク24内で処理される分散表現は、これらのニューラルネットワークの学習の前に、事前訓練してもよい。
【0058】
<3−3>
学習の対象となる言語は、任意に選択され得る。英語であってもよいし、日本語であってもよいし、その他の言語であってもよい。また、解説文L2は、対象文L1と異なる言語であってもよいし、同じ言語であってもよい。
【0059】
<3−4>
第1ニューラルネットワーク21に入力される対象文L1は、1文でなく、複数の文からなる文章であってもよい。
【0060】
<3−5>
上記実施形態に係る解説文L2の付与のアルゴリズムは、前置詞誤りや文法誤り等の上述した例だけでなく、語彙選択、綴りの誤り、メカニクス(句読点の用法等)、文章構成等の様々な項目に対し解説文L2を付与することに適用することができる。
【0061】
<3−6>
第1ニューラルネットワーク21の他、第2ニューラルネットワーク22、第3ニューラルネットワーク23及び第2ニューラルネットワーク24にも、注意機構(attention mechanism)を適用してもよい。
【0062】
<3−7>
図5等にも示されているが、解説文L2に、<>やこれの二重括弧のような特殊記号を用いてもよい。この場合、このような特殊記号に基づいて、便利な機能を付与することができる。例えば、動詞、名詞、前置詞、完了形等の文法用語を<>で挟むようにする。そして、表示画面W1上においてこのような文法用語が表示されている部分をクリックすると、当該文法用語の意味を説明する情報にアクセスできるようにしてもよい。別の例では、対象文L1中に含まれることが想定されている用語については、<>の二重括弧で挟むようにする。そして、解説文L2中のそのような用語については、類似度の互い別の用語に置換することを許容する。これにより、解説文データベース4内に付与すべき解説文L2が存在しないトークンに対しても、解説文L2を付与することが可能になる。例えば、英単語のagreeは英単語のdisagreeと類似の解説文L2を付与し得る。このような場合に、解説文L2中の<>の二重括弧で挟まれているagreeをdisagreeに置換することで、予めagree用に用意されている解説文L2を、disagreeに付与することが可能になる。
【実施例】
【0063】
以下、本発明の実施例について説明する。ただし、本発明は、以下の実施例に限定されない。
【0064】
まず、評価実験のために上記実施形態で説明した教師コーパスと同様のコーパスを作成した。このとき、前置詞に関する解説文を人手で付与した(ウェイブサイトhttp://nlp.ii.konan-u.ac.jp/fc_corpus.html上で公開中)。また、ICNALE(Ishikawa, The ICNALE and Sophisticated Contrastive Interlanguage Analysis of Asian learners of English, pp.91-118, Kobe University, Kobe, 2013)のwritten essay を使用して、対象文を用意した。ICNALEでは、ライティングのトピックが「大学生のアルバイト」及び「レストランでの喫煙」の2種類に統制されている(以後、それぞれ、「アルバイト」「喫煙」と呼ぶ)。ICNALEから1040個の文章をサンプリングし、2名のプロのアノテータにより、日本語で解説文を付与した。いずれか1名のアノテータが1つの文章を担当した。解説の対象は、全ての前置詞誤りと、解説を加えたい箇所(例えば、より良くするための助言や意欲を向上させる励まし等)とした。前処理として、Stanford Statistical Natural Language Parser (ver.2.0.3)を使用して、文分割とトークン分割を行った。このデータの統計量を表1に示す。
【表1】
【0065】
以上のとおり構築したコーパスを使用して、第1実施形態と同じ添削処理を実装した(実施例)。英単語の分散表現は、事前訓練により、以下の1)〜5)の学習者コーパスと6)の母語話者コーパスから取得した。
1)CEEJUS[http://language.sakura.ne.jp/icnale/modules.html]
2)ETS [Blanchardら, "ETS corpus of non-native written English, LDC2014T06. web download", 2014]
3)ICLE [Granger, "The international corpus of learner English" in English language corpora: Design, analysis and exploitation, pp.57-69, Rodopi, 1993]
4)CLC FCE [Yannakoudakisら, "A new dataset and method for automatically grading ESOL texts", Proc. of 49th ACL, pp.180-189, 2011]
5)NICE[Sugiuraら, "A discriminant analysis of non-native speakers and native speakers of English", Proc. of CL2007, pp.84-89, 2007]
6)EWT [Biesら, "English Web Treebank LDC2012T13. Web Download", 2012]
【0066】
また、この分散表現を、解説文中に出現する英単語の分散表現としても使用した。その他の日本語単語については、ランダムな値で初期化した。日本語の形態素解析器として、MeCab(http://taku910.github.io/mecab/)を使用した。評価実験用に、以上のとおり構築したデータを、8:1:1の比率で訓練、開発、評価データに文章単位で割り当てた。訓練は、「アルバイト」と「喫煙」とで別々に行い、二種類の訓練結果を得た。ハイパパラメタは、開発データに基づいて決定した。具体的には、第3ニューラルネットワークのLSTMLMsは、LSTMの層数を2とし、隠れ状態の次元を600とした。第1ニューラルネットワークのBiLSTMは、LSTMの層数を1とし、隠れ状態の次元を1200とした。第2ニューラルネットワークのFFNNは、層数を1とし、次元を1200とした。共通ハイパパラメタは、未知語(<unk>)の頻度閾値を、英単語で5未満とし、日本語単語で2未満とした。バッチサイズは64とし、early stoppingは、エポック数を200とし、patience10とした。ドロップアウトレートは0.5とし、最適化アルゴリズムを、Adam(step size: 0.01、first/second moment: 0.9/0.999)とした。余弦類似度の閾値を0.971(アルバイト)と0.976(喫煙)とした。損失関数の重みβ=0.9とした。
【0067】
以上の結果を対応する評価データで評価した。訓練を5回行い,各生成結果の和集合を最終的な生成結果とした(同じ個所に複数の解説文が生成された場合、余弦類似度が最も高いものを選択した)。
【0068】
比較例は,格フレームに基づいた手法(Nagataら, "Correcting preposition errors in learner English using error case frames and feedback messages", Proc. of 52nd ACL, pp.754-764, 2014)とした。
【0069】
訓練データとして、次の1)及び2)の母語話者コーパスと、構築した訓練データと開発データ(学習者コーパス)を使用した。なお、この手法は開発データを必要としないため,開発データも訓練データとして使用した。
1)BNC [Burnard, Users Reference Guide for the British National Corpus. version 1.0, Oxford University Computing Services, Oxford, 1995]
2)EDR コーパス[Japan electronic dictionary research institute Ltd, "EDR electronic dictionary specifcations guide", 1993]
【0070】
解説文の付与に携わった一人が、生成結果を主観評価した。各生成結果を、適切、部分的に適切、不適切の3種類に分類した。部分的に適切とは、生成結果の一部を修正することで適切な解説となる場合を指す。評価尺度として、recall(再現率)、precision(適合率)、F値を使用した。「適切」のみを正しい生成とみなした厳密評価と「部分的に適切」も正しい生成とみなした緩和評価の2種類を用いた。このときの評価結果を、表2に示す。表2中、括弧内が緩和評価を示す。
【表2】
【0071】
表2からは、実施例に係る手法は、比較例に係る手法の性能を大きく改善していることが分かる。比較例に係る手法は、そのrecallは非常に低い。また、実施例に係る手法は,同程度のprecisionを達成しつつ、recallを2〜5倍も改善している。この結果は、解説対象の英文と解説文とをベクトルとして抽象的に表現し、検索問題として解説文の生成を解く実施例に係る手法の有効性を示している。
【0072】
次に、実施例に係る手法で、どのような問題が解けるのか(すなわち,どのような誤りに対して解説文が生成できるのか)を考察した。実施例に係る手法の生成結果を人手で分析したところ、典型的な誤りに対して適切な解説文が生成できることを確認した。具体的には、トピックに典型的な解説(図5のレストランの"smoke")やエッセイライティングに典型的な解説(図5のアルバイトの"agree")等である。なお、図5に示す「アルバイト」「レストラン」の結果は、全て本実施例に係る手法で実際に抽出した結果である。これらの典型的な誤りに対し、人手で作成した規則で対応しようとすると、英語の専門家と言語処理の専門家が必要となる。このとき、英語の専門家は、各トピックにおいて典型的な誤りとは何かを考慮しながら、誤り検出と解説文生成の基盤となる規則を考えなければならない。その後、言語処理の専門家が、その規則を計算機で扱える形で実装しなければならない。一方、実施例に係る手法では、何が典型的かということを特に意識する必要はなく、英語の専門家は、与えられたデータに解説文を付与するだけでよく、より効率的かつ効果的である。
【0073】
更に、典型的な誤りではあるが、従来、対処が困難であった言語現象に対しても解説文が生成できることを確認した。具体例として、図5のレストランの"include"を挙げることができる。この誤り対して適切な解説文を生成するためには、"smoke"と"include"が、それぞれ動詞と前置詞として使用されていることを認識しなければならない。通常、単語の関係の認識には構文解析が用いられるが、見た目上、両単語とも動詞の形をしているため、解析に失敗する可能性が高く、解説文の生成に失敗し易い。構文解析に成功するためには、"include"が前置詞誤りであることを認識しなければならない。このように、構文解析が先か誤りの認識が先かというジレンマに陥る。実際、比較例に係る手法では、この例に対して解説文を生成できなかった。一方、本実施形態に係る手法では、類似した誤りから適切な解説文を選択していた。同様に、構文解析のミスを引き起こしそうな誤りに対して適切な解説文を生成できた例は、少なくとも5例あることを分析により確認した。以上の分析により、実施例に係る手法は、比較例に係る手法より柔軟かつ幅広い解説文の生成が可能であることが分かった。特に、典型的な誤りに対して適切な解説文を生成できることは学習支援としては有益である。学習支援の場面では、学習者が頻繁に間違える典型例から、まず解説すべきだからである。
【符号の説明】
【0074】
1、101 学習支援装置
14a 文脈ベクトル生成部
14b 解説文生成部
3 学習支援プログラム
4 解説文データベース
21 第1ニューラルネットワーク
22 第2ニューラルネットワーク
23 第3ニューラルネットワーク
24 第2ニューラルネットワーク
L1 対象文
L2 解説文
V1 文脈ベクトル
V2 解説文ベクトル
V3 変換文脈ベクトル
図1
図2
図3
図4
図5
図6
図7
図8
図9