(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-18
(45)【発行日】2022-04-26
(54)【発明の名称】外国語学習装置、外国語学習サービス提供方法、およびコンピュータプログラム
(51)【国際特許分類】
G09B 19/06 20060101AFI20220419BHJP
G09B 7/02 20060101ALI20220419BHJP
G09B 19/00 20060101ALI20220419BHJP
G10L 15/00 20130101ALI20220419BHJP
G10L 13/00 20060101ALI20220419BHJP
G10L 15/22 20060101ALI20220419BHJP
G06Q 50/20 20120101ALI20220419BHJP
【FI】
G09B19/06
G09B7/02
G09B19/00 H
G10L15/00 200E
G10L13/00 100M
G10L15/22 300U
G06Q50/20
(21)【出願番号】P 2020179148
(22)【出願日】2020-10-26
【審査請求日】2020-10-26
(31)【優先権主張番号】10-2019-0137882
(32)【優先日】2019-10-31
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】520104503
【氏名又は名称】エルジー シーエヌエス カンパニー リミテッド
(74)【代理人】
【識別番号】100079049
【氏名又は名称】中島 淳
(74)【代理人】
【識別番号】100084995
【氏名又は名称】加藤 和詳
(72)【発明者】
【氏名】チュルスン パク
(72)【発明者】
【氏名】ミョンソ カン
(72)【発明者】
【氏名】ソクテ カン
(72)【発明者】
【氏名】チャン ウン キム
(72)【発明者】
【氏名】チュン シク イ
【審査官】石原 豊
(56)【参考文献】
【文献】特開2017-201342(JP,A)
【文献】国際公開第2018/230345(WO,A1)
【文献】特開2017-188039(JP,A)
【文献】特開2012-215645(JP,A)
【文献】特表2013-512461(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G09B 1/00- 9/56
G09B 17/00-19/26
G10L 13/00-13/10
G10L 15/00-17/26
G10L 19/00-99/00
G06Q 10/00-10/10
G06Q 30/00-30/08
G06Q 50/00-50/20
G06Q 50/26-99/00
(57)【特許請求の範囲】
【請求項1】
学習者に仮想話者との対話を通じて外国語学習サービスを提供する外国語学習装置であって、
前記学習者から受信した発話音声に対して音声認識を行う音声AI装置から前記学習者の発話音声情報を受信し、それに対応する前記仮想話者の発話音声情報を前記音声AI装置を介して音声合成して送信するインターフェースモジュール、
前記学習者の発話音声情報と関わる発話履歴のログを格納し分析する学習者発話分析モジュール、
前記学習者の発話音声情報
を、
複数の会話レベル算出アルゴリズム
に適用して各評価指標
点数を演算し
、前記評価指標点数を用いて前記学習者の会話レベルを評価する評価モジュール、および
学習対話流れのためのシナリオモデルを格納し、前記学習者と前記仮想話者の学習対話時、前記シナリオモデルに基づいて、前記学習者の発話文章の意図と
、前記学習者の
会話レベルに応じて、前記仮想話者の回答発話文章を決定して対話流れを進行する学習対話モジュール
を含
み、
前記会話レベル算出アルゴリズムは、
前記学習者の発話音声情報と前記格納されたシナリオモデルの各々のスクリプト文章に対応する回答セットとの間の文章類似度を評価する文章類似度アルゴリズム、
前記学習者の発話音声情報と、前記学習者と前記仮想話者との間の前後質問および回答との間の対話コンテキスト類似度を評価するコンテキスト類似度アルゴリズム、および
前記学習者の発話音声情報の発話流暢性を発音正確性および発話速度を含む指標の点数として算出して判断する発話流暢性アルゴリズムを含み、
前記評価モジュールは、
前記文章類似度アルゴリズム、コンテキスト類似度アルゴリズムおよび発話流暢性アルゴリズムによって算出された各評価指標点数を入力して教師あり学習技法を基盤に評価モデルを生成し、前記評価モデルに前記学習者の発話音声情報を入力して前記学習者の会話レベル点数を算出し、
前記シナリオモデルは、
対話類型またはトピック別単位で各々のスクリプト文章と前記スクリプト文章に対応する回答セットとを含み、前記学習者の発話文章の意図に応じて当該対話類型またはトピックに対応する各ノード別に複数の進行経路に分岐するように構成される、
外国語学習装置。
【請求項2】
学習対話流れ中または学習対話流れ終了後に、前記評価モジュールで評価された前記学習者の会話レベルに応じて、前記学習者に必要な単語、文章、表現および発音のうち少なくともいずれか一つを含む学習コンテンツを、復習または追加学習させるように構成された学習機能モジュールをさらに含む、請求項1に記載の外国語学習装置。
【請求項3】
対話類型または対話機能ノードを用いて前記学習者と前記仮想話者との間の対話流れに適合
したシナリオモデルを設計できるシナリオ設計モジュールをさらに含
む、
請求項1に記載の外国語学習装置。
【請求項4】
前記インターフェースモジュールは、
AIサーバ、コンテンツ提供サーバおよびOpen API支援サーバのうち少なくともいずれか一つとの連携を支援する、請求項3に記載の外国語学習装置。
【請求項5】
前記インターフェースモジュールは、前記コンテンツ提供サーバから外国語学習サービスに結合して提供される回答セット、状況対話コンテンツを含む追加学習コンテンツを受信するように構成され、前記シナリオ設計モジュールは、前記追加学習コンテンツを前記対話類型または対話機能ノードに適用して新しいシナリオモデルを設計するように構成される、請求項4に記載の外国語学習装置。
【請求項6】
前記文章類似度アルゴリズムは、
前記シナリオモデルの各々のスクリプト文章に対応する回答セットに含まれた単語間の意味類似性をベクトル値に換算して数値化する技法で学習して類似度判別モデルを生成し、前記学習者の発話音声情報を前記類似度判別モデルに適用して、前記学習者の発話音声情報と前記回答セットとの間の文章類似度ベクトル距離値を通じて前記学習者の発話音声情報の文章類似度点数を算出する、請求項
1に記載の外国語学習装置。
【請求項7】
前記コンテキスト類似度アルゴリズムは、
前記シナリオモデル内で、状況またはトピックを説明するスクリプトまたは対話文内の単語、前記学習者にガイドを提供する以前スクリプトまたは対話文に用いられる単語、およびそれに対応してなされた前記学習者の発話文章内の単語を連携して、前記単語間の意味類似性をベクトル値に換算して数値化する技法で学習して前記学習者の発話文章の対話コンテキスト類似度点数を算出し、算出された前記対話コンテキスト類似度点数が前記対話流れのコンテキストと関わる予め設定された値の範囲内にあるかを判別する、請求項
1に記載の外国語学習装置。
【請求項8】
前記発話流暢性アルゴリズムは、
予め設定された基準発話音声の発音情報および発話速度を学習し、前記学習者の発話音声情報から抽出された発音情報および発話速度を前記学習者の発話文章に対応する基準発話音声の発音情報および発話速度と比較して発音正確性および発話速度に関する指標値を算出する、請求項
1に記載の外国語学習装置。
【請求項9】
学習者に仮想話者との対話を通じて外国語学習サービスを提供する外国語学習装置であって、
前記学習者から受信した発話音声に対して音声認識を行う音声AI装置から前記学習者の発話音声情報を受信し、それに対応する前記仮想話者の発話音声情報を前記音声AI装置を介して音声合成して送信するインターフェースモジュール、
前記学習者の発話音声情報と関わる発話履歴のログを格納し分析する学習者発話分析モジュール、
前記学習者の発話音声情報に対して、会話レベル算出アルゴリズムを通じて少なくとも一つ以上の評価指標別の点数を演算して会話レベルを評価する評価モジュール、および
学習対話流れのためのシナリオモデルを格納し、前記学習者と前記仮想話者の学習対話時、前記シナリオモデルに基づいて、前記学習者の発話文章の意図と前記評価モジュールで評価された前記学習者の発話音声情報の会話レベルに応じて、前記仮想話者の回答発話文章を決定して対話流れを進行する学習対話モジュールを含み、
前記会話レベル算出アルゴリズムは、
前記学習者の発話音声情報と前記格納されたシナリオモデルの各々のスクリプト文章に対応する回答セットとの間の文章類似度を評価する文章類似度アルゴリズム、
前記学習者の発話音声情報と、前記学習者と前記仮想話者との間の前後質問および回答との間の対話コンテキスト類似度を評価するコンテキスト類似度アルゴリズム、および
前記学習者の発話音声情報の発話流暢性を発音正確性および発話速度を含む指標の点数として算出して判断する発話流暢性アルゴリズム
のうち少なくとも一つを含み、
前記評価モジュールは、
前記学習者発話分析モジュールに格納された複数の学習者の学習履歴から予め設定された点数以上を獲得した優秀学習者を選別し、前記優秀学習者の履歴に格納された発話文章を前記シナリオモデルの各スクリプト文章に対応する追加の推奨文章に選定して、前記シナリオモデルの各々のスクリプト文章に対応する回答セットに含ませるように構成される、
外国語学習装置。
【請求項10】
外国語学習装置が学習者に仮想話者との対話を通じて外国語学習サービスを提供する方法であって、
学習者端末を介して、前記学習者から予め設定された複数の外国語学習トピックのうちいずれか一つに対する選択入力を受信するステップ、
前記学習者端末を介して、前記選択入力されたトピックに対応する少なくとも一つのシナリオモデルに含まれたスクリプト文章を画面上に表示するか、または前記仮想話者の発話音声の形態で前記学習者に提供するステップ、
前記スクリプト文章に対応して発話した前記学習者の発話音声情報を受信するステップ、
前記学習者の発話音声情報を前記シナリオモデルに対応して予め設定された回答セットと比較し、
複数の会話レベル算出アルゴリズム
に適用して各評価指標
点数を演算して前記学習者の発話音声情報に対する会話レベル点数を算出するステップ、および
前記シナリオモデルに基づいて
、前記学習者の
発話文章の意図と
、前記
会話レベル点数に応じて
、前記仮想話者の回答発話文章を決定して前記学習者に提供するステップ
を含
み、
前記会話レベル算出アルゴリズムは、
前記学習者の発話音声情報と前記シナリオモデルの各々のスクリプト文章に対応する回答セットとの間の文章類似度を評価する文章類似度アルゴリズム、
前記学習者の発話音声情報と、前記学習者と前記仮想話者との間の前後質問および回答との間の対話コンテキスト類似度を評価するコンテキスト類似度アルゴリズム、および
前記学習者の発話音声情報の発話流暢性を発音正確性および発話速度を含む指標の点数として算出して判断する発話流暢性アルゴリズムを含み、
前記会話レベル点数を算出するステップは、
前記文章類似度アルゴリズム、コンテキスト類似度アルゴリズムおよび発話流暢性アルゴリズムによって算出された各評価指標点数を入力して教師あり学習技法を基盤に評価モデルを生成し、前記評価モデルに前記学習者の発話音声情報を入力して前記学習者の会話レベル点数を算出し、
前記シナリオモデルは、対話類型またはトピック別単位で各々のスクリプト文章と前記スクリプト文章に対応する回答セットとを含み、前記学習者の発話文章の意図に応じて当該対話類型またはトピックに対応する各ノード別に複数の進行経路に分岐するように構成される、
外国語学習サービス提供方法。
【請求項11】
対話類型または対話機能別ノードを用いて前記学習者と前記仮想話者との間の対話流れに適合
したシナリオモデルを設計するステップをさらに含む
、
請求項
10に記載の外国語学習サービス提供方法。
【請求項12】
前記学習者と前記仮想話者の対話終了後、前記学習者の発話音声情報の会話レベル点数に応じて前記学習者に適合
した難易度およびトピックの学習コンテンツを推薦するステップをさらに含む、請求項
10に記載の外国語学習サービス提供方法。
【請求項13】
前記文章類似度アルゴリズムは、
前記シナリオモデルの各々のスクリプト文章に対応する回答セットに含まれた単語間の意味類似性をベクトル値に換算して数値化する技法で学習して類似度判別モデルを生成し、前記学習者の発話音声情報を前記類似度判別モデルに適用して、前記学習者の発話音声情報と前記回答セットとの間の文章類似度ベクトル距離値を通じて前記学習者の発話音声情報の文章類似度点数を算出する、請求項
10に記載の外国語学習サービス提供方法。
【請求項14】
前記コンテキスト類似度アルゴリズムは、
前記シナリオモデル内で、状況またはトピックを説明するスクリプトまたは対話文内の単語、前記学習者にガイドを提供する以前スクリプトまたは対話文に用いられる単語、およびそれに対応してなされた前記学習者の発話文章内の単語を連携して、前記単語間の意味類似性をベクトル値に換算して数値化する技法で学習して前記学習者の発話文章の対話コンテキスト類似度点数を算出し、算出された前記対話コンテキスト類似度点数が前記学習者と前記仮想話者との間の対話流れのコンテキストと関わる予め設定された値の範囲内にあるかを判別する、請求項
10に記載の外国語学習サービス提供方法。
【請求項15】
前記発話流暢性アルゴリズムは、
基準発話音声の発音情報および発話速度を学習し、前記学習者の発話音声情報から抽出された前記学習者の発音情報および発話速度を前記学習者の発話文章に対応する基準発話音声の発音情報および発話速度と比較して発音正確性および発話速度に関する指標点数を算出する、請求項
10に記載の外国語学習サービス提供方法。
【請求項16】
外国語学習装置が学習者に仮想話者との対話を通じて外国語学習サービスを提供する方法であって、
学習者端末を介して、前記学習者から予め設定された複数の外国語学習トピックのうちいずれか一つに対する選択入力を受信するステップ、
前記学習者端末を介して、前記選択入力されたトピックに対応する少なくとも一つのシナリオモデルに含まれたスクリプト文章を画面上に表示するか、または前記仮想話者の発話音声の形態で前記学習者に提供するステップ、
前記スクリプト文章に対応して発話した前記学習者の発話音声情報を受信するステップ、
前記学習者の発話音声情報を前記シナリオモデルに対応して予め設定された回答セットと比較し、会話レベル算出アルゴリズムを通じて少なくとも一つ以上の評価指標別の点数を演算して前記学習者の発話音声情報に対する会話レベル点数を算出するステップ、および
前記シナリオモデルに基づいて前記学習者の発話音声情報に対応する発話文章の意図と前記学習者の発話音声情報の前記算出された会話レベル点数に応じて前記仮想話者の回答発話文章を決定して前記学習者に提供するステップを含み、
前記会話レベル算出アルゴリズムは、
前記学習者の発話音声情報と前記シナリオモデルの各々のスクリプト文章に対応する回答セットとの間の文章類似度を評価する文章類似度アルゴリズム、
前記学習者の発話音声情報と、前記学習者と前記仮想話者との間の前後質問および回答との間の対話コンテキスト類似度を評価するコンテキスト類似度アルゴリズム、および
前記学習者の発話音声情報の発話流暢性を発音正確性および発話速度を含む指標の点数として算出して判断する発話流暢性アルゴリズム
のうち少なくとも一つを含み、
前記会話レベル点数を算出するステップは、
学習者発話分析モジュールに格納された複数の学習者の学習履歴から予め設定された点数以上を獲得した優秀学習者を選別し、前記優秀学習者の履歴に格納された発話文章を前記シナリオモデルの各スクリプト文章に対応する追加の推奨文章に選定して、前記シナリオモデルの各々のスクリプト文章に対応する回答セットに含ませる、
外国語学習サービス提供方法。
【請求項17】
前記回答発話文章を決定して前記学習者に提供するステップは、
前記会話レベル点数が基準値以上であれば、前記シナリオモデルに応じて次のスクリプト文章を抽出して前記仮想話者との対話を持続するステップ、および
前記会話レベル点数が基準値未満であれば、前記仮想話者が応答文章に基づいて前記学習者に
問い直し対話を通じて話すことを誘導するステップ
をさらに含む、請求項10に記載の外国語学習サービス提供方法。
【請求項18】
前記話すことを誘導するステップは、
前記会話レベル点数が限界値以上基準値未満であれば、前記応答文章に基づいて音声合成を行って、前記回答セット内で前記学習者の発話文章と最も類似した推奨文章を探して前記学習者に意味を問い直すステップ、および
前記会話レベル点数が前記限界値未満であれば、前記スクリプト文章に対する設定答案を学習させるステップ
をさらに含む、請求項
17に記載の外国語学習サービス提供方法。
【請求項19】
前記対話を持続するステップは、
前記学習者の発話音声情報に対応する発話文章の意図に応じて前記シナリオモデル内の対話類型または対話機能別ノードから分岐した進行経路を決定する、請求項
17に記載の外国語学習サービス提供方法。
【請求項20】
前記対話を持続するステップは、
前記学習者の発話文章を前記シナリオモデル内の前記対話類型または対話機能別ノードから分岐する進行経路に対して予め設定された回答セットと比較し、前記進行経路別の回答セットのうち前記学習者の発話文章に対応すると判別された回答セットに応じた進行経路に進行する、請求項
19に記載の外国語学習サービス提供方法。
【請求項21】
前記シナリオモデルは、
前記外国語学習装置が提供するシナリオ設計モジュールを用いて、各々のスクリプト文章と前記スクリプト文章に対応する回答セットとを含むように生成され、前記スクリプト文章に対応して入力される前記学習者の発話文章の意図に応じて複数の進行経路に分岐する、請求項
10に記載の外国語学習サービス提供方法。
【請求項22】
前記シナリオ設計モジュールは、
コンテンツ提供サーバとの連携を支援し、前記コンテンツ提供サーバから外国語学習サービスに結合して提供される回答セット、状況対話コンテンツを含む追加学習コンテンツを受信するように構成され、前記シナリオ設計モジュールは、前記追加学習コンテンツを
前記シナリオモデルに含まれている対話類型または対話機能別ノードに適用して新しいシナリオモデルを設計するように構成される、請求項
21に記載の外国語学習サービス提供方法。
【請求項23】
請求項
10に記載の外国語学習サービス提供方法を実行させるために記録媒体に格納されたコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、仮想話者との対話を通じて外国語会話学習を行うことができる外国語学習装置、外国語学習サービス提供方法、およびコンピュータプログラムに関する。
【背景技術】
【0002】
国際化時代に向けて英語をはじめとする様々な外国語教育に対する需要および供給は持続的に増えており、教育方式に対する研究および開発もより活性化している。特に、早期留学者および外国居住者が増加し、国内に居住する外国人の数も増加するにつれて、言語能力、特に会話能力の重要性がより大きくなりつつある。このような言語能力は従来の詰め込み教育では向上し難く、実際に対話できる能力を育てるために効率的な教育方式が求められてきた。
【0003】
最近、コンピュータ技術の発達と共に、コンピュータおよびネットワークを用いた言語教育方法が多数開発されているが、対話練習については、コンピュータを相手に一人で学習をすることが難しいため、効果的な学習になりにくい。また、一部の語学教育サービス企業などが、AIが適用されたアプリケーション基盤の会話学習サービスを提供しているが、これはアプリケーションに格納された単語、短文の文章または単一方向の短い対話文を学習するかあるいはそれに対する発音を模倣学習するレベルに留まり、技術的な実現レベルの限界により、人間との対話と類似した、自由な対話を通じた会話学習が不可能であった。したがって、現在のところ、自由な対話を通じた会話授業を望む場合には、オフライン授業やネイティブスピーカーとのチュータリング、電話/画像による英語授業などに依存することが多い実情である。しかし、このような形態の会話授業は、該当の時間の間だけ学習をするので十分な対話練習が不可能であり、十分な対話練習をするためには費用が高くて経済的に負担になるという限界がある。また、講師の資質問題と離職問題が頻繁に発生して持続的な学習品質の管理が難しいという問題があった。
【先行技術文献】
【特許文献】
【0004】
【文献】韓国特許出願公開第10-2015-0114323号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
本出願は、仮想話者との自由な対話を通じて外国語会話学習を行うことができる外国語学習装置およびこれを用いる外国語学習サービス提供方法を提供しようとする。
【0006】
本出願は、学習者が発話した発話文章の意図、会話レベル、当該対話類型、対話機能などに応じて複数の対話流れが分岐して自然な対話を行うことができる外国語学習装置およびこれを用いる外国語学習サービス提供方法を提供しようとする。
【0007】
本出願は、学習者の会話レベルに対する数値的な分析を提供して、学習者の会話レベルを正確に診断し、その会話レベルに応じて適切な対話流れを生成するか、または不足した表現の復習または追加学習が可能となるようにできる外国語学習装置、外国語学習サービス提供方法、およびコンピュータプログラムを提供しようとする。
【課題を解決するための手段】
【0008】
本発明の一実施形態による外国語学習装置は、学習者に仮想話者との対話を通じて外国語学習サービスを提供する外国語学習装置に関し、学習者から受信した発話音声に対して音声認識(STT:Speech to Text)を行う音声AI(Aritificial Intelligence)装置から学習者の発話音声情報を受信し、それに対応する前記仮想話者の発話音声情報を前記音声AI装置を介して音声合成(TTS:Text to Speech)して送信するインターフェースモジュール、前記学習者の発話音声情報と関わる発話履歴のログを格納し分析する学習者発話分析モジュール、前記学習者の発話音声情報に対して、会話レベル算出アルゴリズムを通じて少なくとも一つ以上の評価指標別の点数を演算して会話レベルを評価する評価モジュール、および学習対話流れのためのシナリオ(chatflow)モデルを格納し、前記学習者と前記仮想話者の学習対話時、前記シナリオモデルに基づいて、前記学習者の発話文章の意図と前記会話レベル判断モジュールで評価された前記学習者の発話音声情報の会話レベルに応じて、前記仮想話者の回答発話文章を決定して対話流れを進行する学習対話モジュールを含む。
【0009】
本発明の一実施形態による外国語学習サービス提供方法は、外国語学習装置が学習者に仮想話者との対話を通じて外国語学習サービスを提供する方法に関し、学習者端末を介して、前記学習者から予め設定された複数の外国語学習トピックのうちいずれか一つに対する選択入力を受信するステップ、前記学習者端末を介して、前記選択されたトピックに対応する少なくとも一つのシナリオモデルに含まれたスクリプト(script)文章を画面上に表示するか、または前記仮想話者の発話音声の形態で前記学習者に提供するステップ、前記スクリプト文章に対応して発話した前記学習者の発話音声情報を受信するステップ、前記学習者の発話音声情報を前記シナリオモデルに対応して予め設定された回答セットと比較し、会話レベル算出アルゴリズムを通じて少なくとも一つ以上の評価指標別の点数を演算して前記学習者の発話音声情報に対する会話レベル点数を算出するステップ、および前記シナリオモデルに基づいて前記学習者の発話音声情報に対応する文章の意図と前記学習者の発話音声情報の会話レベル点数に応じて前記仮想話者の回答発話文章を決定して前記学習者に提供するステップを含む。
【0010】
なお、前記課題を解決するための手段は、本発明の特徴を全て列挙したものではない。本発明の様々な特徴とそれに応じた長所および効果は下記の具体的な実施形態を参照してより詳細に理解できるものである。
【発明の効果】
【0011】
本発明の一実施形態による外国語学習装置およびこれを用いる外国語学習サービス提供方法によれば、仮想話者との自由な対話を通じて外国語会話学習を行うことができるため、時間的、空間的な制限無しに効率的に外国語会話学習を行うことができる。
【0012】
本発明の一実施形態による外国語学習装置およびこれを用いる外国語学習サービス提供方法によれば、学習者の発話文章の意図および会話レベルに基づいて当該対話類型、対話機能またはトピックに応じて複数の対話流れが分岐するため、仮想話者と自然に対話を行うことができる。したがって、学習者はあたかも実際のネイティブスピーカーと対話するかのように対話を進行することができるため、会話学習の効果を高めることができる。
【0013】
本発明の一実施形態による外国語学習装置およびこれを用いる外国語学習サービス提供方法によれば、人工知能を用いて学習者の会話レベルに対する数値的な分析および診断を行うことができる。したがって、学習者のレベルに応じた自由な対話や会話学習またはカスタマイズされた学習コンテンツの推薦などを行うことができる。
【図面の簡単な説明】
【0014】
【
図1】本発明の一実施形態による外国語学習システムを示す概略図である。
【
図2】本発明の一実施形態による外国語学習装置を示すブロック図である。
【
図3】本発明の一実施形態による外国語学習装置の文章類似度アルゴリズムを示す概略図である。
【
図4】本発明の一実施形態による外国語学習装置において、優秀学習者の学習対話から追加の推奨文章の選定を示す概略図である。
【
図5】本発明の一実施形態による外国語学習装置の発話文章の意図に応じたシナリオモデルの進行経路の決定を示す概略図である。
【
図6】本発明の一実施形態による外国語学習装置のシナリオ設計モジュールを用いたシナリオモデル設計方法を示す概略図である。
【
図7】(a)は、本発明の一実施形態による外国語学習装置のシナリオ設計モジュールを用いて、対話流れの設計に必要な各機能ノードを配置して設計されたシナリオモデルを示す概略図である。(b)は、(a)のシナリオモデルに外部コンテンツサーバからのコンテンツを連携して新規シナリオモデルを構成する一実施形態を示す概略図である
【
図8】本発明の一実施形態による外国語学習方法を示すフローチャートである。
【
図9】本発明の一実施形態による外国語学習方法を示すフローチャートである。
【発明を実施するための形態】
【0015】
以下では、添付図面を参照して、本発明が属する技術分野における通常の知識を有した者が本発明を容易に実施できるように好ましい実施形態について詳しく説明する。但し、本発明の好ましい実施形態を詳しく説明するにおいて、関連した公知の機能または構成に関する具体的な説明が本発明の要旨を不要に濁す恐れがあると判断される場合には、その詳細な説明は省略する。また、図面の全体にわたって、類似した機能および作用をする部分に対しては同じ符号を付することにする。
【0016】
さらに、明細書の全体にわたって、ある部分が他の部分と「連結」されているとする時、これは、「直接的に連結」されている場合だけでなく、その間に他の素子を介在させて「間接的に連結」されている場合も含む。また、ある構成要素を「含む」とは、特に反する記載がない限り、他の構成要素を除くものではなく、他の構成要素をさらに含んでもよいことを意味する。また、明細書に記載された「…部」、「モジュール」などの用語は少なくとも一つの機能や動作を処理する単位を意味し、これはハードウェアまたはソフトウェアにより実現されるかまたはハードウェアとソフトウェアの結合により実現されてもよい。
【0017】
図1は、本発明の一実施形態による外国語学習システムを示す概略図である。
図1を参照すれば、本発明の一実施形態による外国語学習システムは、学習者端末1、音声AI装置10および外国語学習装置100を含むことができる。
【0018】
以下では、
図1を参照して、本発明の一実施形態による外国語学習システムについて説明する。
【0019】
学習者端末1は、外国語学習アプリケーションをはじめとし、種々のアプリケーションなどを実行し、実行中のアプリケーションを視覚や聴覚などで表示してユーザに提供することができる。学習者端末1は、外国語学習アプリケーションなどを視覚的に表示するためのディスプレイ部を含むことができ、ユーザの入力を受信する入力部、サーバまたは他の端末とネットワークを介して通信する通信部、少なくとも一つのプログラムおよび関連データが格納されたメモリ、およびプログラムを実行するプロセッサを含むことができる。また、ユーザが発話する音声を認識するマイク部、および外国語学習アプリケーションなどが提供する音響を出力するためのスピーカーなどの構成をさらに含むことができる。
【0020】
学習者端末1は、図示したように、スマートフォン、タブレットPCなどの移動端末であってもよく、実施形態によっては、デスクトップ型コンピュータなどの固定型装置を含むことができる。具体的には、学習者端末1には、携帯電話、スマートフォン(Smart phone)、音声認識スピーカー、ラップトップ型コンピュータ(laptop computer)、デジタル放送用端末、PDA(personal digital assistants)、PMP(portable multimedia player)、スレートPC(slate PC)、タブレットPC(tablet PC)、ウルトラブック(ultrabook)、ウェアラブルデバイス(wearable device、例えば、ウォッチ型端末(smart watch)、メガネ型端末(smart glass)、HMD(head mounted display))などが含まれることができる。実施形態によっては、学習者端末1を外国語学習のために専用の端末装置で実現することもできる。
【0021】
一方、学習者端末1は、通信ネットワークを介して外国語学習装置100と連結されることができる。ここで、通信ネットワークは、有線ネットワークと無線ネットワークを含み、具体的には、ローカル・エリア・ネットワーク(LAN:Local Area Network)、メトロポリタン・エリア・ネットワーク(MAN:Metropolitan Area Network)、広域ネットワーク(WAN:Wide Area Network)などのような様々なネットワークを含むことができる。また、通信ネットワークは、公知のワールド・ワイド・ウェブ(WWW:World Wide Web)を含むこともできる。但し、本発明に係る通信ネットワークは、上記で列挙されたネットワークに限定されず、公知の無線データネットワーク、公知の電話ネットワーク、公知の有線または無線テレビネットワークなどを含むことができる。
【0022】
外国語学習装置100は、単一または複数のサービス提供サーバ(またはサービス提供者(Service Provider))であってもよく、実施形態によっては、学習者端末1に設置可能な外国語学習アプリケーションを通じて学習者端末1と連結されることができる。外国語学習装置100は、学習者端末1の要請に対応して外国語学習サービスを提供することができ、仮想話者と対話する形式の外国語学習サービスを提供して、学習者が自然に外国語の会話能力を向上させるようにすることができる。ここで、外国語学習装置100が提供する外国語は、英語、日本語、中国語など、実施形態により多様に選択できる。
【0023】
外国語学習装置100は、学習者が仮想話者と対話する形式で外国語学習サービスを提供するために、学習者端末1から提供を受けた学習者の音声を音声認識(STT:Speech to Text)して文字に変換することができる。その後、変換された文字から学習者の意図を分析し、仮想話者が学習者に発話すべきスクリプトを音声合成(TTS:Text to Speech)して学習者端末1に提供することができる。
【0024】
外国語学習装置100または学習者端末1は、このような音声認識および音声合成を行う音声AIモジュールを直接含むことができる。但し、実施形態によっては、音声認識および音声合成を別途の音声AI装置10が行うように実現することもできる。ここで、音声AI装置10は、音声AI分析/処理機能を提供する外部のサーバであってもよい。
【0025】
音声AI装置10は、音声認識および音声合成のためのAPI(Application Program Interface)を支援することができる。したがって、学習者が発話すれば、学習者端末1は、学習者の音声を音声AI装置10に提供して、学習者の音声をテキストに変換することを要請することができる。その後、音声AI装置10は、学習者の音声に対応する発話音声情報を外国語学習装置100に提供することができる。
【0026】
外国語学習装置100は、学習者の発話音声情報に対応して、回答すべき仮想話者の回答発話文章を決定することができる。その後、回答発話文章を音声AI装置10に提供して、回答発話文章を音声に合成することを要請することができる。この場合、音声AI装置10は、回答発話文章に対応する音声を合成して学習者端末1に提供することができる。
【0027】
音声AI装置10は、声優が録音したコーパス(corpus)を合成するなどの方式でテキストに対応する音声データを生成することができる。但し、実施形態によっては、マシンラーニング(machine learning)またはディープラーニング(deep learning)などの人工知能を活用することもできる。すなわち、テキストとそれに対応する音声データをマシンラーニングまたはディープラーニングして音素に対するデータ重みを計算し、データ重みを活用して音声合成を行うことができる。実施形態によっては、音声AI装置10にキャッシュ(cache)などをさらに含ませて音声合成要請を最小化するように実現することもできる。
【0028】
図2は、本発明の一実施形態による外国語学習装置100を示すブロック図である。
図2を参照すれば、本発明の一実施形態による外国語学習装置100は、インターフェースモジュール110、学習者発話分析モジュール120、評価モジュール130、学習対話モジュール140、学習機能モジュール150およびシナリオ設計モジュール160を含むことができる。
【0029】
以下では、
図2を参照して、本発明の一実施形態による外国語学習装置100について説明する。
【0030】
インターフェースモジュール110は、外国語学習装置100を学習者端末1、音声AI装置10に連動するように構成されることができる。インターフェースモジュール110は、学習者端末1において学習者が発話した音声や、仮想話者が発話する回答音声を音声AI装置10に入力することができる。それにより、音声AI装置10が外国語学習サービスを提供するための音声認識や音声合成、意図分析などを行うように制御することができる。
【0031】
具体的には、学習者が発話すれば、インターフェースモジュール110は、外国語学習装置100の内部または外部の音声AI装置10から、学習者の発話音声を音声認識(STT)して変換したテキストを含む発話音声情報を受信することができる。また、外国語学習装置100が仮想話者の行う回答発話文章を選択して学習者に提供しようとする場合、インターフェースモジュール110は、テキスト形態の回答発話文章を音声AI装置10に送信することができる。この場合、音声AI装置10は、回答発話文章を音声合成(TTS)して学習者端末1に音声として送信することができる。
【0032】
一方、インターフェースモジュール110は、音声AI装置10の他に様々な装置などと連動するように実現されることができる。例えば、インターフェースモジュール110は、コンテンツ提供サーバ(図示せず)と連動するように構成されることができる。この場合、インターフェースモジュール110は、コンテンツ提供サーバから、シナリオモデルと結合して提供される状況対話コンテンツと、それに対する回答セットなど、様々な追加学習コンテンツを受信することができる。また、インターフェースモジュール110は、他のAIサーバ、Open API(Application Program Interface)サーバと連動するように構成されることもできる。
【0033】
学習者発話分析モジュール120は、インターフェースモジュール110を介して入力される学習者の発話音声情報を格納し、発話音声情報と関わる発話履歴のログなどを生成して格納し分析することができる。ここで、学習者発話分析モジュール120は、各々の学習者と、各々の学習者が実行したシナリオモデル別に区別して、発話音声情報と発話履歴を生成することができる。
【0034】
評価モジュール130は、会話レベル算出アルゴリズムを用いて学習者の会話レベルを評価することができる。すなわち、評価モジュール130は、学習者の発話音声情報に会話レベル算出アルゴリズムを適用し、会話レベル算出アルゴリズムに含まれた各々の評価指標別に点数を算出することができる。その後、評価指標別の点数を用いて会話レベル点数を算出することができる。ここで、評価モジュール130は、学習者が発話する文章各々の発話音声情報に対して会話レベルを評価したり、学習者の対話文全体に対する会話レベルを評価したりすることができる。
【0035】
具体的には、評価モジュール130において活用する会話レベル算出アルゴリズムには、文章類似度アルゴリズム、コンテキスト類似度アルゴリズム、発話流暢性アルゴリズムなどが含まれる。
【0036】
先ず、文章類似度アルゴリズムは、学習者の発話音声情報と、格納されたシナリオモデルの各々のスクリプト文章に対応する回答セットとの間の文章類似度を評価することができる。回答セットは、各スクリプト文章に対する回答になる代表文章と、代案的な回答として適切な複数の推奨文章とを含むことができる。したがって、文章類似度アルゴリズムは、学習者の発話音声情報がシナリオモデルにおいて予め設定された回答セットとどれほど類似した回答をするかを判別して、学習者の会話レベルを評価することができる。
【0037】
一実施形態によれば、文章類似度アルゴリズムを適用するために、先ず、シナリオモデルの各々のスクリプト文章に対応する回答セットに含まれた単語間の意味類似性をベクトル値に換算して数値化する技法で学習した、類似度判別モデルを生成することができる。
図3に示すように、一実施形態においては、回答セットにword2vec技法を適用し学習して類似度判別モデルを生成することができる。類似度判別モデルを適用すれば、学習者の発話音声情報が予め設定された回答セットとどれほど類似するかを数値的に表現することができる。したがって、学習者の発話音声情報を類似度判別モデルに適用して、学習者の発話音声情報と回答セットとの間の文章類似度ベクトル距離値を通じて学習者の発話音声情報の文章類似度点数として算出することができる。一実施形態において、文章類似度点数基準値を予め設定した後、文章類似度点数が基準値以上であれば適合であると判断し、基準値未満の場合には適合ではないと判断することもできる。一実施形態において、複数の文章類似度レベル区間基準値を予め設定した後、文章類似度点数がどのレベル区間に対応するかを確認して、文章類似度評価指標に対するレベルを算出することもできる。
【0038】
コンテキスト類似度アルゴリズムは、学習者の発話音声情報と、学習者と仮想話者との間の前後質問および回答との間の対話コンテキスト類似度を評価することができる。すなわち、仮想話者と学習者との間に対話をする場合、学習者は、シナリオモデルにおいて予め設定された回答セットを知らないため、回答セットに含まれていない任意の回答をしうる。この時、学習者の発話内容が、回答セットに含まれていないものの、対話の前後コンテキスト上、適切な内容でありうる。したがって、学習者の会話レベルを正確に評価するためには、コンテキスト類似度を判別する必要がある。
【0039】
コンテキスト類似度アルゴリズムにおいては、シナリオモデル内で状況またはトピックを説明するスクリプトまたは対話文内の単語、学習者にガイドを提供する以前スクリプトまたは対話文に用いられる単語、およびそれに対応してなされた学習者の発話文章内の単語を連携して、単語間の意味類似性をベクトル値に換算して数値化する技法で学習してコンテキスト判別モデルを生成することができる。その後、学習者の発話音声情報をコンテキスト判別モデルに適用してコンテキスト類似度点数を算出することができる。一実施形態において、コンテキスト類似度点数基準値を予め設定した後、コンテキスト類似度点数が基準値以上であれば対話コンテキストが維持されたと判断し、基準値未満の場合には対話コンテキストに適合ではないと判断する。また、複数のコンテキスト類似度レベル区間基準値を予め設定した後、コンテキスト類似度点数がどのレベル区間に対応するかを確認して、コンテキスト類似度評価指標に対するレベルを算出する実施形態も可能である。
【0040】
発話流暢性アルゴリズムは、学習者の発話音声情報の発話流暢性を発音正確性および発話速度などを含む指標の点数として算出して判断することができる。
【0041】
すなわち、発話流暢性アルゴリズムは、単一または複数のネイティブスピーカーの基準発話音声の発音情報および発話速度情報などを学習して発話流暢性モデルを生成することができる。その後、学習者の発話音声情報から抽出された学習者の発音情報および発話速度などの情報を発話流暢性モデルに適用することができる。この時、学習者の発音情報および発話速度などの情報を、基準発話音声の発音情報および発話速度などと比較し、それに対する指標値を算出することができる。それにより、学習者の発話流暢性点数を算出することができる。一実施形態において、学習者の発音音声波形と基準発話音声の発音音声波形とを比較して発話流暢性点数を算出することができる。
【0042】
文章類似度アルゴリズム、コンテキスト類似度アルゴリズム、発話流暢性アルゴリズムの他に、学習者の会話レベルを評価するための他の評価指標アルゴリズムが評価モジュール130に含まれてもよい。
【0043】
一方、評価モジュール130は、文章類似度アルゴリズム、コンテキスト類似度アルゴリズム、発話流暢性アルゴリズムなどを通じて算出された評価指標点数を入力して、教師あり学習技法をベースに評価モデルを生成することができる。その後、評価モデルに学習者の発話音声情報を入力して学習者の会話レベル点数を算出することができる。すなわち、マシンラーニングまたはディープラーニング技法を活用して、各々の評価指標点数に基づいて、対応の会話レベル点数を算出することができる。ここで、評価モデルを生成するために教師あり学習の実行時、英語講師の各々の評価指標点数から評価した既存の評価データを活用することができる。評価モジュール130で算出された点数は、学習者が直ちに確認できるように会話学習アプリケーション画面上に百分率で表示することができる。但し、学習者の学習への集中を邪魔する場合には別に表示しなくてもよい。
【0044】
さらに、実施形態によっては、
図4に示すように、評価モジュール130は、シナリオモデルにおいて予め設定された回答セットの他に、学習者の回答に基づいて各々のスクリプト文章に対応する推奨文章を当該回答セットに追加設定することもできる。すなわち、学習者発話分析モジュール120に格納された複数の学習者の学習履歴から、予め定められた点数以上を獲得した優秀学習者を選別することができる。その後、優秀学習者の履歴に格納された発話音声情報を、シナリオモデルの各スクリプト文章に対応する推奨文章に選定することができる。ここで選定された推奨文章は、シナリオモデルの各々のスクリプト文章に対応する回答セットにさらに含ませることができる。それにより、回答セットのデータを拡張させることができ、教科書的な回答以外に、実際にその時代によく使われる、口語体として使われる回答なども十分に反映することができる。すなわち、学習者に対してより正確に会話レベルを評価することができる。
【0045】
学習対話モジュール140は、外国語学習対話流れのために予め設定されたシナリオモデルを格納することができる。また、学習者と仮想話者が学習対話時に、シナリオモデルに基づいて対話流れを進行することができる。従来の会話学習アプリケーションには短文の文章や単一方向の短い対話流れだけができるように予め設定された複数のシナリオ(例えば、
図5(a)において、A1-B1、A2-B2、A3-B3、またはA1-B1-A2、A2-B2-A3など)を格納し、それを用いて学習するため、自然な学習対話を実現することが難しかった。
【0046】
しかし、学習対話モジュール140に格納されたシナリオモデルは対話類型、対話機能、トピックまたは課題などの単位で構成され、学習者の選択に応じてこれらが互いに連結されて様々な方向に対話が拡張または変更されて対話流れが進行するように構成されている。したがって、ネイティブスピーカーによる会話授業と同様に、学習者が仮想話者とより自然な対話学習が可能となる。
【0047】
図5(b)は、このように拡張されるシナリオモデルの一実施形態を示す。本実施形態においては、シナリオモデルを対話類型、トピック単位で構成しているが、この他にも、シナリオモデルを必要な他の基準単位で構成してもよい。また、シナリオモデルは、予め設定し格納されたものの他に、学習装置100内に含まれたシナリオ設計モジュール160によって設計されることができる。
【0048】
シナリオモデルに基づいて対話流れを進行する過程で、学習対話モジュール140は、学習者の発話文章の意図と、評価モジュール130で評価された学習者の発話音声情報の会話レベルに応じて、仮想話者の回答発話文章と対話流れの方向を決定して対話流れを進行することができる。例えば、一実施形態において、学習者の会話レベルが75%である場合には、シナリオモデル内の次の状況に該当する仮想話者の回答発話文章を決定して対話流れを続いて進行するようにすることができる。その反面、50~75%区間内である場合には、推奨文章と学習者発話文章中のキーワードを抽出して、学習者に回答セットと類似した適切な回答を誘導できるように、他の形態に変更された再質問を仮想話者の回答発話文章に決定することができる。また、学習者の会話レベルが50%未満である場合には、現在の対話状況に適切な推奨文章を学習者が習うように仮想話者の回答発話文章を決定することができる。例えば、ヒントを提示すること、推奨文章の全体文章を提示すること、音声で聴かせた後に学習者が繰り返してまねできるようにガイドを提示すること、文章パターン/表現学習を提示することなどの形態で仮想話者の回答発話文章を決定することができる。それにより、当該トピックに対する対話進行が難しい学習者に、先に適切な文章を熟知できるように誘導することができる。
【0049】
学習機能モジュール150は、学習者のレベルに応じて学習者端末1に学習コンテンツを提供することができる。すなわち、学習機能モジュール150は、学習対話流れ中または学習対話流れ終了後に、評価モジュール130で評価された学習者の各発話文章または全体対話文の会話レベルに応じて、学習者の外国語学習に必要な単語、文章、表現、発音などを含む学習コンテンツを復習または追加学習させるように構成されることができる。
【0050】
一実施形態において、学習機能モジュール150は、学習者の会話レベル点数が予め設定された値より低いと判別された各々のスクリプト文章とそれに対する回答セットに関連した単語、文章、発音または表現などを、学習者が熟知するように実現されることができる。例えば、学習機能モジュール150は、仮想話者を通して当該学習コンテンツに対する発音を聴かせ、学習者に繰り返してまねするように要請することができる。または、学習機能モジュール150は、学習者本人の発話音声を聴かせ、学習者が再び発話するように要請することができる。学習機能モジュール150は、この他にも様々な方式で学習者のための復習または追加学習機能を実行することができる。
【0051】
シナリオ設計モジュール160は、対話類型または対話機能ノードを用いて、学習者と仮想話者との間の対話流れに適合なシナリオモデルを設計、結合、変更および管理することができる。シナリオモデルは、学習者と仮想話者が発話できる対話類型、トピック、課題またはその他の分類の単位で、各々のスクリプト文章とそのスクリプト文章に対応できる予め設定された回答セットとを含むことができる。回答セットは、各スクリプト文章に対する回答になる代表文章と、代案的な回答として適切な複数の推奨文章とを含むことができる。また、シナリオモデルは、学習者の発話文章の意図に応じて、当該対話類型、対話機能またはその他の分類に対応するノード別に各々複数の進行経路に分岐するように構成されることができる。
【0052】
一実施形態において、シナリオ設計モジュール160は、新規シナリオモデルを設計するためのチャット・ボット対話設計用UI(User Interface)またはUX(User Experience)を提供することもできる。一実施形態において、チャット・ボット対話設計用UIは、ノーコーディング(No-coding)基盤にウェブキャンバス(Web Canvas)上でドラッグアンドドロップ(Drag & Drop)方式で必要な複数の機能ノードを適切に配置してシナリオモデルの対話流れを可視的に構成してシナリオモデルを設計し、学習サービスに直ちに反映することができる。また、対話流れ、すなわち、シナリオモデル間を連結させて自然で豊かな対話素材を作り出すことができる。
【0053】
図6は、9個の対話機能ノードタイプを持ってシナリオモデルのためのチャット・ボット対話設計ができるように構成されたシナリオ設計モジュール160の一実施形態の構成を示す。
【0054】
一実施形態において、9個の対話機能ノードは、リッスンノード(Listen node)161、スピークノード(Speak node)162、スロットノード(Slot node)163、カルーセルノード(Carousel node)164、ジャンプノード(Jump node)165、スプリットノード(Split node)166、機能ノード(Function node)167、APIノード(Application program interface node)168およびテンプレートノード(Template node)169を含むことができる。また、他の実施形態において、シナリオ設計モジュール160は、9個より多いかまたは少ない対話機能ノードタイプを含むように構成されることもできる。
【0055】
リッスンノード(Listen node)161は、音声AI装置10において学習者の発話文章の意図分析を実行して得た学習者の発話音声情報から学習者の対話意図を理解するように構成する機能を有することができる。スピークノード(Speak node)162は、学習者の発話文章に対応して発話するように決定された所望の回答をするように構成されることができる。スロットノード(Slot node)163は、学習者に追加の情報を求めるかまたは正確な回答を誘導するために再質問できるように構成し、カルーセルノード(Carousel node)164は、学習者に選択ビュー(selection view)機能を提供して、学習者が複数の選択事項の中から選択できるように構成することができる。ジャンプノード(Jump node)165は、互いに異なるシナリオモデル間に連結して対話流れを変更/移動できるように構成し、スプリットノード(Split node)166は、条件に応じて対話流れを分岐できるように構成することができる。
【0056】
機能ノード(Function node)167は、データを加工処理できるように構成し、コーディング(coding)により必要な機能を実現することもできる。APIノード(API node)167は、外部APIとの連携を支援しデータパース(parsing)と連携マッピング(mapping)を実行することができ、このような構成は、シナリオモデルに外部学習コンテンツとの連携作業を容易にすることができる。
【0057】
一実施形態において、APIノード168は、URLパラメータを設定すれば、ツリー形態で情報を見せるように構成することができる。APIノード168は、Restful APIを通じて基幹系データの送受信を受けることができ、業務時にシステムとの連携を簡単なセッティングだけで連結可能にすることができる。テンプレートノード(Template node)169は、学習者との対話時、音声認識、音声合成、意図分析を行う別途の音声AI装置10と連携して、学習者と仮想話者との間に円滑な学習対話を行うために音声AI装置10ごとに互いに異なるテンプレートを支援しなければならないということを解決するための機能ノードである。テンプレートノードは、互いに異なる音声AI装置10に応じて、それに対応するテンプレートを活用して対話学習ができるように構成することができる。したがって、外国語学習装置100が互いに異なる音声AI装置に応じて影響を受けることなく同一チャット・ボット対話流れを進行できるようにシナリオモデルを設計できるようにする。このような一実施形態のシナリオ設計モジュール160においては、シナリオの設計時、対話流れに合わせて必要な機能を有したノードをドラッグアンドドロップ方式でウェブキャンバスに配置させ、該当のコンテンツを入力して各ノードを連結させることによってシナリオモデルを設計することができる。
【0058】
シナリオ設計モジュール160は、追加学習コンテンツをシナリオモデルの各ノードに適用して新しいシナリオモデルを設計するように構成されることができる。シナリオ設計モジュール160は、インターフェースモジュール110および/またはAPIノードを通じてその他のAIサーバ、コンテンツ提供サーバ、Open API支援サーバなどとの連携が支援されることもできる。一実施形態において、シナリオ設計モジュール160は、外部のコンテンツ提供サーバまたはコンテンツマーケットプラットフォームが提供する様々なコンテンツを連携してシナリオモデルを設計するようにすることができる。例えば、気象庁サーバが提供する天気情報や道路公団サーバが提供する交通情報などと連携して対話流れを行うようにシナリオモデルを設計することもできる。
【0059】
図7(a)は、本発明の一実施形態による外国語学習装置のシナリオ設計モジュールを用いて、対話流れの設計に必要な各機能ノードを配置して設計されたシナリオモデルを示す概略図である。具体的には、
図7(a)は、シナリオ設計モジュール160のウェブキャンバス上で挨拶(greeting)のための対話流れの設計に必要な各機能ノードをドラッグアンドドロップ形態で設計し連結して配置したシナリオモデルの一実施形態を示す。
図7(a)および
図7(b)において、同一のノードタイプは9個の機能ノードタイプのうち同一の機能をするノードであることを示し、T1はリッスンノード、T2はスプリットノード、T3はスピークノード、T4は機能ノード、T5はジャンプノード、T6はAPIノード、T7はスロットノード、T8はカルーセルノード、T9はテンプレートノードを示す。
【0060】
図7(b)は、
図7(a)において設計されたシナリオモデルに外部コンテンツサーバからのコンテンツを連携して新規シナリオモデルを構成する一実施形態を示す概略図である。
図7(b)は、気象庁サーバから受信した天気コンテンツを、予め格納された挨拶対話流れのためのシナリオモデル中の天気挨拶に結合して、ウェブキャンバス上で天気挨拶に関する新規シナリオモデルを構成する一実施形態を示すものである。
図7(b)のように、
図7(a)の挨拶(greeting)対話流れのためのシナリオモデルに気象庁サーバから受信した天気コンテンツを結合することができる。その後、ウェブキャンバス上で天気挨拶シナリオモデルを構成してミッション推薦まで連携することができる。
【0061】
図8および
図9は、本発明の一実施形態による外国語学習装置を用いた外国語学習サービス提供方法を示すフローチャートである。
【0062】
図8を参照すれば、外国語学習装置は、対話類型または対話機能別ノードを用いて、学習者と仮想話者との間の対話流れに適合なシナリオモデルを設計することができる(S10)。外国語学習装置100は、シナリオモデル設計のためのシナリオ設計モジュール160を提供し、シナリオ設計モジュール160を用いて、シナリオモデルが、学習者と仮想話者が発話できる対話類型、対話機能またはその他の分類の単位のノードにおいて各々のスクリプト文章とそのスクリプト文章に対応できる予め設定された回答セットとを含むように設計することができる。一実施形態において、シナリオモデルは、スクリプト文章に対応して入力される学習者の発話文章の意図に応じて当該対話類型、対話機能に応じたノード別に各々複数の進行経路に分岐するように設計することができる。回答セットは、各スクリプト文章に対する回答になる代表文章と代案的な回答として適切な複数の推奨文章とを含むことができる。
【0063】
一実施形態において、シナリオ設計モジュール160は、新規シナリオモデルを設計するためのチャット・ボット対話設計用UIまたはUXを提供することができる。ここで、チャット・ボット対話設計用UIは、ノーコーディング(No-coding)基盤にウェブキャンバス(Web Canvas)上でドラッグアンドドロップ(Drag & Drop)方式で必要な複数の機能ノードを適切に配置してシナリオモデルの対話流れを可視的に構成してシナリオモデルを設計し、学習サービスに直ちに反映できるインターフェースを提供することができる。また、このようなチャット・ボット対話設計用UIを用いれば、対話流れ、すなわち、シナリオモデル間を連結させて自然で豊かな対話素材を作り出すことができる。シナリオ設計モジュール160を用いてシナリオモデルを生成する具体的な例は、先立って
図6および
図7を参照して説明したため、ここでは具体的な説明は省略する。
【0064】
一方、シナリオ設計モジュール160は、その他のAIサーバ、コンテンツ提供サーバ、Open API支援サーバなどとの連携を支援することができる。一実施形態において、シナリオ設計モジュール160は、外部のコンテンツ提供サーバまたはコンテンツマーケットプラットフォームが提供する様々なコンテンツを連携してシナリオモデルを設計することができる。例えば、気象庁サーバが提供する天気情報や道路公団サーバが提供する交通情報などと連携して対話流れを行うようにシナリオモデルを設計することもできる。また、実施形態によっては、シナリオモデルを外部のコンテンツ提供サーバまたはコンテンツマーケットプラットフォームなどから提供を受けることもでき、その場合、シナリオモデルを設計するステップ(S10)は省略できる。
【0065】
外国語学習装置100は、学習者端末1を介して、学習者から予め設定された複数の外国語学習トピックのうちいずれか一つに対する選択入力を受信することができる(S20)。一実施形態において、学習者は自身が所望する外国語学習トピックの他に対話類型または他の基準の複数のメニューのうち一つを選択することができ、外国語学習装置100は学習者の選択入力に対応する外国語学習を提供することができる。
【0066】
具体的には、外国語学習装置100は、学習者端末1を介して、選択されたトピックに対応する少なくとも一つのシナリオモデルに含まれたスクリプト(script)文章を画面上に表示するか、または仮想話者の発話音声の形態で学習者に提供することができる(S30)。外国語学習装置100は、学習者に学習者が選択したトピックに対応するシナリオモデルでの状況を説明し、状況に合った対話を仮想話者と行うように要請することができる。シナリオモデルは、学習者と仮想話者が発話できる対話類型、トピック、課題またはその他の分類の単位で各々のスクリプト文章とそのスクリプト文章に対応できる予め設定された回答セットとを含むことができる。また、シナリオモデルは、学習者の発話文章の意図に応じて当該対話類型、対話機能またはその他の分類に対応するノード別に各々複数の進行経路に分岐するように構成されることができる。回答セットは、各スクリプト文章に対する回答になる代表文章と代表文章の代わりに代案的な回答として適切な複数の推奨文章とを含むことができる、
【0067】
学習者は、選択したトピックに対応する少なくとも一つのシナリオモデルに対して画面上に表示されるかまたは仮想話者を通して与えられたスクリプト文章に対応して発話することができ、外国語学習装置100は、スクリプト文章に対応して発話した学習者の発話音声情報を受信することができる(S40)。実施形態によっては、音声AI装置10を介して、学習者が発話した音声に対応するテキストである発話音声情報を受信することができる。すなわち、音声AI装置10は、外国語学習装置100と学習者端末1との間で連動するように設定されていてもよく、学習者が発話した音声または仮想話者が発話する回答音声は、音声AI装置10において各々音声認識または音声合成されて、外国語学習装置100または学習者端末1に送信される。一実施形態において、学習者が発話すれば、外国語学習装置100は、外国語学習装置100の内部または外部の音声AI装置10から、学習者の発話音声を音声認識(STT)して変換したテキストを含む発話音声情報を受信することができる。また、外国語学習装置100が、仮想話者が行う回答発話文章を選択して学習者に提供しようとする場合、テキスト形態の回答発話文章を音声AI装置10に送信し、音声AI装置10は回答発話文章を音声合成(TTS)して学習者端末1に音声として送信することができる。
【0068】
ここで、外国語学習装置100は、入力される学習者の発話音声情報を格納し、発話音声情報と関わる発話履歴のログなどを生成し格納し分析することができる。この時、外国語学習装置100は、各々の学習者と、各々の学習者が実行したシナリオモデル別に区別して、発話音声情報と発話履歴を生成することができる。
【0069】
その後、外国語学習装置100は、学習者の発話音声情報をシナリオモデルに対応して予め設定された回答セットと比較し、会話レベル算出アルゴリズムを通じて評価指標別の点数を演算することができる。すなわち、学習者の発話音声情報に会話レベル算出アルゴリズムを適用し、会話レベル算出アルゴリズムに含まれた各々の評価指標別に点数を算出することができる。さらに、外国語学習装置100は、評価指標別の点数から学習者の発話音声情報に対する会話レベルを評価して会話レベル点数を算出し(S50)、外国語学習装置100は、学習者が発話する文章各々の発話音声情報を評価したり、学習者の対話文全体に対する会話レベルを評価したりすることができる。
【0070】
会話レベル算出アルゴリズムには、文章類似度アルゴリズム、コンテキスト類似度アルゴリズム、発話流暢性アルゴリズムなどの評価指標アルゴリズムが含まれる。但し、各々の評価指標アルゴリズムに対しては前述したため、ここでは具体的な説明は省略する。
【0071】
一方、会話レベル点数算出ステップ(S50)においては、文章類似度アルゴリズム、コンテキスト類似度アルゴリズムおよび発話流暢性アルゴリズムなどを通じて算出された評価指標点数を入力して、教師あり学習技法を基盤に評価モデルを生成し、その後、評価モデルに学習者の発話音声情報を入力して学習者の会話レベル点数を算出することができる。実施形態によっては、文章類似度アルゴリズム、コンテキスト類似度アルゴリズム、発話流暢性アルゴリズムの他にも、学習者の会話レベルを評価するための他の評価指標アルゴリズムを含ませて、学習者の会話レベル点数を算出することもできる。
【0072】
また、会話レベル点数算出ステップ(S50)においては、文章類似度アルゴリズム、コンテキスト類似度アルゴリズム、発話流暢性アルゴリズムなどを通じて算出された評価指標点数を入力して教師あり学習技法を基盤に生成した評価モデルを活用し、評価モデルに学習者の発話音声情報を入力して学習者の会話レベル点数を算出することができる。すなわち、マシンラーニングまたはディープラーニング技法を活用して、各々の評価指標点数に基づいて、対応の会話レベル点数を算出することができる。ここで、評価モデルを生成するために教師あり学習の実行時、英語講師の各々の評価指標点数から評価した既存の評価データを活用することができる。外国語学習装置100が算出した点数は、学習者が直ちに確認できるように会話学習アプリケーション画面上に百分率で表示することができ、学習者の学習への集中を邪魔する場合には別途に表示しなくてもよい。
【0073】
さらに、実施形態によっては、複数の学習者の学習履歴から予め設定された点数以上を獲得した優秀学習者を選別し、優秀学習者の履歴に格納された発話文章をシナリオモデルの各スクリプト文章に対応する推奨文章に追加選定して、シナリオモデルの各々のスクリプト文章に対応する回答セットに含ませることができる。すなわち、優秀学習者の回答に基づいて教科書的な回答以外に実際の口語体として使われる回答なども反映できるように回答セットのデータプール(pool)を拡張させることができ、このような構成を通じて人々間の現実の対話に類似した自然な対話学習が可能となるようにすることができる。
【0074】
その後、シナリオモデルに基づいて学習者の発話音声情報に対応する発話文章の意図と、学習者の発話音声情報に対して評価された会話レベル点数に応じて、仮想話者の回答発話文章を決定して学習者に提供することができる(S60)。ここで、外国語学習装置100は外国語学習対話流れのために予め設定されたシナリオモデルを格納し、学習者と仮想話者が学習対話時にシナリオモデルに基づいて対話流れを進行することができる。従来の会話学習アプリケーションには短文の文章や単一方向の短い対話流れだけができるように予め設定された複数のシナリオ(例えば、
図5(a)において、A1-B1、A2-B2、A3-B3、またはA1-B1-A2、A2-B2-A3など)を格納し、それを用いて学習するため、自然な学習対話を実現することが難しかった。しかし、外国語学習装置100に格納されたシナリオモデルは対話類型、トピックまたは課題などの単位で構成され、学習者の選択に応じてこれらが互いに連結されて様々な方向に対話が拡張または変更されて対話流れが進行するように構成されている。したがって、ネイティブスピーカーによる会話授業と同様に、学習者が仮想話者とより自然な対話学習が可能となる。
図5(b)は、このように拡張されるシナリオモデルの一実施形態を示す。本実施形態においては、シナリオモデルを対話類型、対話機能単位で構成しているが、この他にもシナリオモデルを必要な他の基準単位で構成してもよい。
【0075】
シナリオモデルに基づいて対話流れを進行する過程で、外国語学習装置100は、学習者の発話文章の意図と、学習者の発話音声情報の会話レベルに応じて、仮想話者の回答発話文章と対話流れの方向を決定して対話流れを進行することができる。例えば、一実施形態において、学習者の会話レベルが75%である場合には、シナリオモデル内の次の状況に該当する仮想話者の回答発話文章を決定して対話流れを続いて進行し、50~75%区間内である場合には、学習者に推奨文章と学習者発話文章中のキーワードを抽出して、学習者に回答セットと類似した適切な回答を誘導できるように、他の形態に変更された再質問を仮想話者の回答発話文章に決定することができる。また、学習者の会話レベルが50%未満である場合には、現在の対話状況に学習者が発話するのに適切な推奨文章を習うように、ヒントを提示すること、推奨文章の全体文章を提示すること、音声で聴かせた後に学習者が繰り返してまねできるようにガイドを提示すること、または文章パターン/表現学習を提示することなどの形態で仮想話者の回答発話文章を決定して、そのトピックに対して対話進行が難しい学習者に、先に実質的に文章を熟知できるようにすることができる。
【0076】
実施形態によっては、外国語学習装置100は、学習対話流れ中または学習対話流れ終了後に、評価された学習者の会話レベルに応じて、外国語学習に必要な単語、文章、表現、発音などを含む学習コンテンツを復習または追加学習させることができる。一実施形態において、外国語学習装置100は、学習者の会話レベル点数が予め設定された値より低いと判別されたスクリプト文章とそれに対する回答セットに関連した単語、文章、発音または表現などを、学習者が熟知するように実現することができる。一実施形態において、外国語学習装置100は、仮想話者を通して当該学習コンテンツに対する発音を聴かせ、学習者に繰り返してまねするように要請することができる。また、学習者本人がした発話音声を聴かせて再び発話するように要請することができ、この他にも様々な方式で学習者のための復習または追加学習機能を実行することができる。
【0077】
具体的には、
図9を参照すれば、外国語学習装置100は、評価モジュール130から会話レベル点数が入力されれば(S61)、会話レベル点数と基準値とを比較することができる(S62)。ここで、会話レベル点数が基準値以上であれば、シナリオモデルに応じて次のスクリプト文章を抽出して仮想話者との対話を続けて進行することができる(S63)。この時、学習者の発話音声情報に対応する発話文章の意図に応じてシナリオモデルの進行経路を決定することができる。すなわち、学習者の発話文章をシナリオモデル内に予め設定された各々の進行経路別の回答セットと比較し、進行経路別の回答セットのうち学習者の発話文章に対応すると判別された回答セットに応じた進行経路に進行することができる。
【0078】
その反面、点数が基準値未満であれば、仮想話者が応答文章に基づいて学習者に核心単語ヒントの提示、文章を聴いてまねすることなどを含む問い直し対話を通じて話すことを誘導することができる。
【0079】
具体的には、会話レベル点数が限界値以上基準値未満であれば(S64)、応答文章に基づいて音声合成を行って、回答セット内で学習者の発話文章と最も類似した推奨文章を探して学習者に意味を問い直すことができる(S65)。すなわち、学習者の発話内容に対する音声認識が誤った場合でありうるため、学習者に再び正確な意味を確認することができる。
【0080】
その反面、会話レベル点数が限界値未満である場合には、スクリプト文章に対する設定答案の学習を行うことができる(S66)。すなわち、学習者の会話レベルが低い状態であるため、当該スクリプト文章とそれに対応する設定答案に対して学習者が熟知するように学習させることができる。
【0081】
実施形態によっては、
図8に示すように、学習者と仮想話者の対話終了後、学習者の発話音声情報の会話レベル点数に応じて、学習者に適合な難易度およびトピックの学習コンテンツを推薦するようにすることもできる(S70)。
【0082】
前述した本発明は、プログラムが記録された媒体にコンピュータ読み取り可能なコードとして実現することができる。コンピュータ読み取り可能な媒体は、コンピュータで実行可能なプログラムを続けて格納するか、または実行またはダウンロードのために臨時格納するものであってもよい。また、媒体は単一または数個のハードウェアが結合された形態の様々な記録手段または格納手段であってもよく、或るコンピュータ・システムに直接接続される媒体に限定されず、ネットワーク上に分散存在するものであってもよい。媒体の例示としては、ハードディスク、フロッピー(登録商標)ディスクおよび磁気テープのような磁気媒体、CD-ROMおよびDVDのような光気録媒体、フロプティカルディスク(floptical disk)のような磁気-光媒体(magneto-optical medium)、およびROM、RAM、フラッシュメモリなどを含めてプログラム命令語が格納されるように構成されたものがある。また、他の媒体の例示として、アプリケーションを流通するアプリストアやその他の様々なソフトウェアを供給乃至流通するサイト、サーバなどが管理する記録媒体乃至ストレージ媒体も挙げられる。したがって、上記の詳細な説明は、全ての面で制限的に解釈されてはならず、例示的なものに考慮されなければならない。本発明の範囲は添付された請求項の合理的な解釈によって決定されなければならず、本発明の等価的な範囲内の全ての変更は本発明の範囲に含まれる。
【0083】
本発明は、前述した実施形態および添付された図面によって限定されるものではない。本発明が属する技術分野における通常の知識を有した者であれば、本発明の技術的思想を逸脱しない範囲内で本発明に係る構成要素を置換、変形および変更できることは明らかである。
【符号の説明】
【0084】
1 ・・・学習者端末
10 ・・・音声AI装置
100 ・・・外国語学習装置
110 ・・・インターフェースモジュール
120 ・・・学習者発話分析モジュール
130 ・・・評価モジュール
140 ・・・学習対話モジュール
150 ・・・学習機能モジュール
160 ・・・シナリオ設計モジュール