IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ ソウル ナショナル ユニヴァーシティ アール アンド ディービー ファウンデーションの特許一覧 ▶ ネイバー コーポレーションの特許一覧 ▶ LINE株式会社の特許一覧

特許7190146テキスト基盤の事前学習モデルを活用した縦断型音声言語理解知識を蒸留するための方法、システム、およびコンピュータ読み取り可能な記録媒体
<>
  • 特許-テキスト基盤の事前学習モデルを活用した縦断型音声言語理解知識を蒸留するための方法、システム、およびコンピュータ読み取り可能な記録媒体 図1
  • 特許-テキスト基盤の事前学習モデルを活用した縦断型音声言語理解知識を蒸留するための方法、システム、およびコンピュータ読み取り可能な記録媒体 図2
  • 特許-テキスト基盤の事前学習モデルを活用した縦断型音声言語理解知識を蒸留するための方法、システム、およびコンピュータ読み取り可能な記録媒体 図3
  • 特許-テキスト基盤の事前学習モデルを活用した縦断型音声言語理解知識を蒸留するための方法、システム、およびコンピュータ読み取り可能な記録媒体 図4
  • 特許-テキスト基盤の事前学習モデルを活用した縦断型音声言語理解知識を蒸留するための方法、システム、およびコンピュータ読み取り可能な記録媒体 図5
  • 特許-テキスト基盤の事前学習モデルを活用した縦断型音声言語理解知識を蒸留するための方法、システム、およびコンピュータ読み取り可能な記録媒体 図6
  • 特許-テキスト基盤の事前学習モデルを活用した縦断型音声言語理解知識を蒸留するための方法、システム、およびコンピュータ読み取り可能な記録媒体 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-07
(45)【発行日】2022-12-15
(54)【発明の名称】テキスト基盤の事前学習モデルを活用した縦断型音声言語理解知識を蒸留するための方法、システム、およびコンピュータ読み取り可能な記録媒体
(51)【国際特許分類】
   G10L 15/06 20130101AFI20221208BHJP
   G10L 15/16 20060101ALI20221208BHJP
   G10L 15/10 20060101ALI20221208BHJP
【FI】
G10L15/06 300Z
G10L15/16
G10L15/10 500T
【請求項の数】 13
(21)【出願番号】P 2021028194
(22)【出願日】2021-02-25
(65)【公開番号】P2022037862
(43)【公開日】2022-03-09
【審査請求日】2021-02-25
(31)【優先権主張番号】10-2020-0106719
(32)【優先日】2020-08-25
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】521081975
【氏名又は名称】ソウル ナショナル ユニヴァーシティ アール アンド ディービー ファウンデーション
(73)【特許権者】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(73)【特許権者】
【識別番号】321003371
【氏名又は名称】LINE株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】金 南秀
(72)【発明者】
【氏名】趙 元翼
(72)【発明者】
【氏名】郭 東賢
【審査官】菊池 智紀
(56)【参考文献】
【文献】特開2017-040919(JP,A)
【文献】米国特許出願公開第2019/0333500(US,A1)
【文献】増村亮 他,"音声言語処理における深層学習",日本音響学会誌,2016年12月25日,Vol.73, No.1,pp.39-46
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00-15/34
(57)【特許請求の範囲】
【請求項1】
コンピュータシステムが実行する方法であって、
前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
前記方法は、
前記少なくとも1つのプロセッサにより、音声を入力として受け取り、音声認識結果の確率値を出力するように予め学習された音声認識モデルと、前記音声認識モデルが出力した前記音声認識結果の確率値を入力として受け取り、前記音声の意図を推測する自然言語理解モデルを連結して学習することによって、入力される音声に対してその意図をすぐ推測するように構成される縦断型(end-to-end)音声言語理解(spoken language understanding)モデルを生成する段階
を含み、
前記音声言語理解モデルは、
テキストの入力に対してその意図を推測するように構成される予め学習された言語モデルを利用するクロスモーダル知識蒸留(cross-modal knowledge distillation)方法によって学習され、前記言語モデルによって出力される確率と、前記音声言語理解モデルによって出力される確率との差が減少するように学習されることを特徴とする、方法。
【請求項2】
前記生成する段階は、
前記音声言語理解モデルの学習に使用される損失関数に、前記音声言語理解モデル出力した意図の確率と前記言語モデル出力した意図の確率の平均二乗誤差(MSE)または平均絶対誤差(MAE)を反映する段階
を含む、請求項に記載の方法。
【請求項3】
前記音声言語理解モデルは、
前記音声言語理解モデルによる予測の結果値と応答ラベルの間のクロスエントロピーを示す第1損失関数、および前記音声言語理解モデルによる予測の結果値と前記言語モデルによる予測の結果との間の損失を示す第2損失関数に基づいて学されること
を特徴とする、請求項1~のうちのいずれか一項に記載の方法。
【請求項4】
前記音声言語理解モデルは、
前記言語モデルとして教師モデルである第1モデル、および第1モデルに比べて相対的により正確な予測の結果を出力する教授モデルである第2モデルのうちの少なくとも1つを利用して学されること
を特徴とする、請求項1~のうちのいずれか一項に記載の方法。
【請求項5】
前記音声言語理解モデルは、
前記第1モデルと前記第2モデルの損失を混合するハイブリッド構造を利用して学習され、前記第1モデルと前記第2モデルの損失の割合スケジューリングされること
特徴とする、請求項に記載の方法。
【請求項6】
前記スケジューリングは
記第1モデルと前記第2モデルの損失の割合を動的に調節し、学習される前記音声言語理解モデルの予測の精度が高くなるほど、前記第2モデルの加重値が大きくなるものであること
を特徴とする、請求項に記載の方法。
【請求項7】
請求項1~のうちのいずれか一項に記載の方法をコンピュータに実行させるためのプログラムが記録されている、コンピュータ読み取り可能な記録媒体。
【請求項8】
コンピュータシステムであって、
メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサは、
音声を入力として受け取り、音声認識結果の確率値を出力するように予め学習された音声認識モデルと、前記音声認識モデルが出力した前記音声認識結果の確率値を入力として受け取り、前記音声の意図を推測する自然言語理解モデルを連結して学習することによって、入力される音声に対してその意図をすぐ推測するように構成される縦断型(end-to-end)音声言語理解モデルを生成するものであって、
前記音声言語理解モデルは、テキストの入力に対してその意図を推測するように構成される予め学習された言語モデルを利用するクロスモーダル知識蒸留方法によって学習され、前記言語モデルによって出力される確率と、前記音声言語理解モデルによって出力される確率との差が減少するように学習されること
を特徴とする、コンピュータシステム。
【請求項9】
前記少なくとも1つのプロセッサは、
前記音声言語理解モデルの学習に使用される損失関数に、前記音声言語理解モデル出力した意図の確率と前記言語モデル出力した意図の確率の平均二乗誤差(MSE)または平均絶対誤差(MAE)を反映すること
を特徴とする、請求項に記載のコンピュータシステム。
【請求項10】
前記音声言語理解モデルは、
前記音声言語理解モデルによる予測の結果値と応答ラベルの間のクロスエントロピーを示す第1損失関数、および前記音声言語理解モデルによる予測の結果値と前記言語モデルによる予測の結果との間の損失を示す第2損失関数に基づいて学されること
を特徴とする、請求項のうちのいずれか一項に記載のコンピュータシステム。
【請求項11】
前記音声言語理解モデルは、
前記言語モデルとして教師モデルである第1モデル、および第1モデルに比べて相対的により正確な予測の結果を出力する教授モデルである第2モデルのうちの少なくとも1つを利用して学されること
を特徴とする、請求項10のうちのいずれか一項に記載のコンピュータシステム。
【請求項12】
前記音声言語理解モデルは、
前記第1モデルと前記第2モデルの損失を混合するハイブリッド構造を利用して学習され、前記第1モデルと前記第2モデルの損失の割合スケジューリングされること
を特徴とする、請求項11に記載のコンピュータシステム。
【請求項13】
前記スケジューリングは、
記第1モデルと前記第2モデルの損失の割合を動的に調節し、学習される前記音声言語理解モデルの予測の精度が高くなるほど、前記第2モデルの加重値が大きくなるものであること
を特徴とする、請求項12に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
以下の説明は、音声言語理解(SLU:Spoken Language Understanding)技術に関する。
【背景技術】
【0002】
音声言語理解(SLU)は、典型的に、音声認識(ASR:Automatic Speech Recognition)と自然言語理解(NLU:Natural Language Understanding)のパイプライン構造で実現される。音声認識(ASR)は、音声をテキストに転写する技術であり、自然言語理解(NLU)は、転写されたテキストから意図(intent)を抽出し、実行する行動を正確に認識する技術である。
【0003】
一例として、特許文献1(公開日2017年9月22日)には、音声転写のための転写モデルを学習する技術が開示されている。
【0004】
しかし、パイプライン構造の場合は、音声認識(ASR)のエラーが自然言語理解(NLU)にまで否定的な影響を及ぼすことがあり、構造自体で発生するディレイも存在する。
【0005】
したがって、近年は、音声データを入力して意図把握やスロット埋込み(slot filling)のようなタスクを直接実行するシステムを一度に学習する縦断型方式が研究されている。
【先行技術文献】
【特許文献】
【0006】
【文献】韓国公開特許第10-2017-0107015号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
意図把握やスロット埋込みなどのための縦断型音声言語理解(SLU)において、テキスト基盤の教師なし事前学習された言語モデル(LM:language model)をファインチューニングして活用することができる技術を提供する。
【0008】
ファインチューニングされた言語モデルの予測値を蒸留することができ、言語モデルの予測端情報を一種の思考過程として蒸留することができる技術を提供する。
【課題を解決するための手段】
【0009】
コンピュータシステムが実行する方法であって、前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記方法は、前記少なくとも1つのプロセッサにより、音声認識モデルと自然言語理解モデルが連結された縦断型構造の音声言語理解(spoken language understanding)モデルを学習する段階を含み、前記学習する段階は、テキスト基盤の事前学習された言語モデルを利用したクロスモーダル知識蒸留(cross-modal knowledge distillation)によって前記音声言語理解モデルを学習することを特徴とする方法を提供する。
【0010】
一側面によると、前記学習する段階は、前記音声言語理解モデルの出力確率を前記言語モデルの出力確率と合わせる方式により、前記言語モデルの知識を前記音声言語理解モデルに蒸留してよい。
【0011】
他の側面によると、前記音声認識モデルは、与えられた音声の特定の単語の連続する確率を出力し、前記自然言語理解モデルは、前記確率を入力として前記音声に対する意図を抽出し、前記音声言語理解モデルは、前記音声を入力として前記音声に対する意図を抽出してよい。
【0012】
また他の側面によると、前記学習する段階は、前記音声言語理解モデルの学習に使用される損失関数に、前記音声言語理解モデルの出力確率と前記言語モデルの出力確率の間の平均二乗誤差(MSE)または平均絶対誤差(MAE)を反映する段階を含んでよい。
【0013】
また他の側面によると、前記学習する段階は、前記音声言語理解モデルの予測値と応答ラベルの間の第1損失関数、および前記音声言語理解モデルの予測値と前記言語モデルの間の第2損失関数に基づいて前記音声言語理解モデルを学習してよい。
【0014】
また他の側面によると、前記学習する段階は、前記言語モデルとして全体文章に対する共通トークンを使用する第1モデル、および前記共通トークンとともに各ワード別に個別トークンを使用する第2モデルのうちの少なくとも1つを利用して前記音声言語理解モデルを学習してよい。
【0015】
また他の側面によると、前記学習する段階は、前記第1モデルと前記第2モデルの損失を混合するハイブリッド構造の場合、前記第1モデルと前記第2モデルの損失の割合をスケジューリングする段階を含んでよい。
【0016】
また他の側面によると、前記スケジューリングする段階は、バッチ(batch)あたりの学習意図エラー率にしたがい、前記第1モデルと前記第2モデルの損失の割合を調節してよい。
【0017】
また他の側面によると、前記スケジューリングする段階は、指数関数的減衰(exponential decay)によるエポック(epoch)にしたがい、前記第1モデルと前記第2モデルの損失の割合を調節してよい。
【0018】
さらに他の側面によると、前記スケジューリングする段階は、トライアングルスケジューリング(triangular scheduling)により、前記第1モデルと前記第2モデルの損失の割合を調節してよい。
【0019】
前記方法をコンピュータに実行させるためのプログラムが記録されている、コンピュータ読み取り可能な記録媒体を提供する。
【0020】
コンピュータシステムであって、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、音声認識モデルと自然言語理解モデルが連結された縦断型構造の音声言語理解モデルを学習するものであって、テキスト基盤の事前学習された言語モデルを利用したクロスモーダル知識蒸留によって前記音声言語理解モデルを学習することを特徴とする、コンピュータシステムを提供する。
【図面の簡単な説明】
【0021】
図1】本発明の一実施形態における、コンピュータシステムの内部構成の一例を説明するためのブロック図である。
図2】本発明の一実施形態における、コンピュータシステムのプロセッサが含むことのできる構成要素の例を示したブロック図である。
図3】本発明の一実施形態における、クロスモーダル知識蒸留によって縦断型音声言語理解(SLU)モデルを学習するプロセスを説明するための例示図である。
図4】本発明の一実施形態における、知識蒸留方法論を説明するための例示図である。
図5】本発明に対する実験結果として、教師モデルと教授モデルの性能を示した実験結果テーブルである。
図6】本発明に対する実験結果として、全体データシナリオで知識蒸留の影響に対する実験結果を示した図である。
図7】本発明に対する実験結果として、データ不足シナリオで知識蒸留の影響に対する実験結果を示した図である。
【発明を実施するための形態】
【0022】
以下、本発明の実施形態について、添付の図面を参照しながら詳しく説明する。
【0023】
本発明の実施形態は、音声言語理解(SLU)技術に関する。
【0024】
本明細書で具体的に開示される事項を含む実施形態は、クロスモーダル知識蒸留(cross-modal knowledge distillation)方法論に基づき、テキスト基盤の事前学習された言語モデルでデータの不足に直面し得る縦断型音声言語理解(SLU)モジュールに知識を伝達することができる。
【0025】
本明細書で具体的に開示される事項を含む実施形態によると、パイプライン構造に比べて縦断型音声言語理解(SLU)がもつ長所を維持しながら、テキスト基盤の自然言語理解(NLU)モジュールがもつ正確性およびデータ柔軟性を保障することができる。
【0026】
本明細書で具体的に開示される事項を含む実施形態によると、少量の加工された音声データがある状況であっても、テキストデータによって学習された高性能のモジュールを音声基盤のシステムに知識蒸留(knowledge distillation)することにより、表現の共有とリソースの効率的な活用を可能にする。
【0027】
本明細書で具体的に開示される事項を含む実施形態によると、加工あるいはラベルされた音声データが足りなくても、同じタスクを他の入力形態として活用して実行する自然言語データを十分に確保することができる状況で、有用な使用環境を提供することができる。
【0028】
図1は、本発明の一実施形態における、コンピュータシステムの例を示したブロック図である。例えば、本発明の実施形態に係る縦断型音声言語理解学習システムは、図1に示したコンピュータシステム100によって実現されてよい。
【0029】
図1に示すように、コンピュータシステム100は、本発明の実施形態に係る縦断型音声言語理解学習方法を実行するための構成要素として、メモリ110、プロセッサ120、通信インタフェース130、および入力/出力インタフェース140を含んでよい。
【0030】
メモリ110は、コンピュータ読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永続的大容量記録装置を含んでよい。ここで、ROMやディスクドライブのような永続的大容量記録装置は、メモリ110とは区分される別の永続的記録装置としてコンピュータシステム100に含まれてもよい。また、メモリ110には、オペレーティングシステムと、少なくとも1つのプログラムコードが記録されてよい。このようなソフトウェア構成要素は、メモリ110とは別のコンピュータ読み取り可能な記録媒体からメモリ110にロードされてよい。このような別のコンピュータ読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータ読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能な記録媒体ではない通信インタフェース130を通じてメモリ110にロードされてもよい。例えば、ソフトウェア構成要素は、ネットワーク160を介して受信されるファイルによってインストールされるコンピュータプログラムに基づいてコンピュータシステム100のメモリ110にロードされてよい。
【0031】
プロセッサ120は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ110または通信インタフェース130によって、プロセッサ120に提供されてよい。例えば、プロセッサ120は、メモリ110のような記録装置に記録されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【0032】
通信インタフェース130は、ネットワーク160を介してコンピュータシステム100が他の装置と互いに通信するための機能を提供してよい。一例として、コンピュータシステム100のプロセッサ120がメモリ110のような記録装置に記録されたプログラムコードにしたがって生成した要求や命令、データ、ファイルなどが、通信インタフェース130の制御にしたがってネットワーク160を介して他の装置に伝達されてよい。これとは逆に、他の装置からの信号や命令、データ、ファイルなどが、ネットワーク160を経てコンピュータシステム100の通信インタフェース130を通じてコンピュータシステム100に受信されてよい。通信インタフェース130を通じて受信された信号や命令、データ、ファイルなどは、プロセッサ120やメモリ110に伝達されてよく、ファイルなどは、コンピュータシステム100がさらに含むことのできる記録媒体(上述した永続的記録装置)に記録されてよい。
【0033】
通信方式が限定されることはなく、ネットワーク160が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網)を利用する通信方式だけではなく、機器間の近距離有線/無線通信が含まれてもよい。例えば、ネットワーク160は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでよい。さらに、ネットワーク160は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター-バスネットワーク、ツリーまたはレイヤ的ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これらに限定されることはない。
【0034】
入力/出力インタフェース140は、入力/出力装置150とのインタフェースのための手段であってよい。例えば、入力装置は、マイク、キーボード、カメラ、またはマウスなどの装置を、出力装置は、ディスプレイ、スピーカなどのような装置を含んでよい。他の例として、入力/出力インタフェース140は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置150は、コンピュータシステム100と1つの装置で構成されてもよい。
【0035】
また、他の実施形態において、コンピュータシステム100は、図1の構成要素よりも少ないか多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、コンピュータシステム100は、上述した入力/出力装置150のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。
【0036】
音声言語理解(SLU)に使用される音声認識(ASR)-自然言語理解(NLU)のパイプライン構造は、各モジュールを順に改善する方式によってシステム全体の正確度を上げることができるという側面において有用されている。
【0037】
しかし、音声認識(ASR)と自然言語理解(NLU)は、その入力の性質がそれぞれ音声とテキストとして異なるため、音声認識過程でエラーが生じ、テキスト端で他の発話によって離散化されて伝達されれば、従来のファインチューニング過程で学習した内容が音声認識エラーを相殺することができず、性能の低下に繋がる恐れがある。また、音声認識(ASR)と自然言語理解(NLU)を個別に高度化すれば、2つのモジュールを連結するのにディレイが発生することがあり、音声がテキストに転写される過程でプロソディーやトーンのような非言語的情報が看過されるなどの問題が発生することもある。
【0038】
このような背景から、近年では、音声言語理解(SLU)として、音声認識(ASR)と自然言語理解(NLU)を連結させた縦断型学習方式が多く使用されるようになった。縦断型音声言語理解(SLU)は、ラベルされた音声資源の不足を扱うために、単語事後レベル(word posterior level)または音素事後レベル(phoneme posterior level)の事前学習されたモジュールを使用する。
【0039】
また、近年は、回帰型ニューラルネットワーク(RNN)やトランスフォーマ(transformer)基盤の事前学習された言語モデル(LM)が各種タスクで力強い性能を発揮しており、事前学習されたモジュール上に学習可能なレイヤを追加してファインチューニングを実行すれば、タスク上の学習が可能となる。
【0040】
本実施形態では、従来のパイプライン構造に比べて縦断型学習方式がもつ長所(エラー拡散防止、ディレイ除去、非言語的情報の格納)を維持しながらも、事前学習された言語モデル(LM)がもつ正確性およびデータ柔軟性を保障することが可能な音声言語理解(SLU)技術を提供する。
【0041】
本発明の核心内容は、クロスモデルファインチューニングによって事前学習された言語モデル(LM)を音声言語理解(SLU)に活用(leveraging)することにあるが、ここで、チューニングは、蒸留形態を含んでもよい。
【0042】
図2は、本発明の一実施形態における、コンピュータシステムのプロセッサが含むことのできる構成要素の例を示したブロック図である。
【0043】
図2を参照すると、プロセッサ120は、音声認識モジュール210、意図学習モジュール220、縦断型モジュール230、および自然言語処理モジュール240を含んでよい。
【0044】
このようなプロセッサ120の構成要素は、少なくとも1つのプログラムコードによって提供される制御命令にしたがってプロセッサ120によって実行される、互いに異なる機能(different functions)の表現であってよい。
【0045】
プロセッサ120およびプロセッサ120の構成要素は、縦断型の音声言語理解学習方法が含む段階を実行してよい。例えば、プロセッサ120およびプロセッサ120の構成要素は、メモリ110が含むオペレーティングシステムのコードと、上述した少なくとも1つのプログラムコードとによる命令(instruction)を実行するように実現されてよい。ここで、少なくとも1つのプログラムコードは、縦断型の音声言語理解学習方法を処理するために実現されたプログラムのコードに対応してよい。
【0046】
プロセッサ120は、縦断型の音声言語理解学習方法のためのプログラムファイルに記録されたプログラムコードをメモリ110にロードしてよい。例えば、縦断型の音声言語理解学習方法のためのプログラムファイルは、メモリ110とは区分される永続的記録装置に記録されていてよく、プロセッサ120は、バスを介して永続的記録装置に記録されたプログラムファイルからプログラムコードがメモリ110にロードされるようにコンピュータシステム100を制御してよい。このとき、プロセッサ120およびプロセッサ120が含む音声認識モジュール210、意図学習モジュール220、縦断型モジュール230、および自然言語処理モジュール240それぞれは、メモリ110にロードされたプログラムコードのうちの対応する部分の命令を実行して以下の段階を実行するためのプロセッサ120の互いに異なる機能的表現であってよい。縦断型の音声言語理解学習方法に含まれた段階の実行のために、プロセッサ120およびプロセッサ120の構成要素は、制御命令による演算を直接処理するか、またはコンピュータシステム100を制御してよい。
【0047】
音声認識モジュール210は、事前に学習された音声認識(ASR)モデルを含むものであって、音声認識の結果としてテキストを直接使用するよりは、特定の単語の連続する確率値を表現するレイヤを抽出して使用する。これによって情報が明確に離散化され、曖昧さを補完する不確実性がなくなることを防ぐことができる。音声認識モジュール210としては、音響処理モジュール(例えば、sincNetなど)や、音素列/単語列推論モジュール(例えば、RNNなど)が活用されてよい。
【0048】
意図学習モジュール220は、自然言語理解(NLU)モデルを含むものであって、音声認識モジュール210の出力である確率値を入力として意図を学習する役割をする。意図学習モジュール220は、音声認識モジュール210の確率出力を入力にするという点において、テキスト基盤の自然言語理解(NLU)モジュールとは差があるが、結果的に実行するタスクは同じである。意図学習モジュール220としては、RNNやトランスフォーマなどのseq2seqモデルが活用されてよい。
【0049】
音声認識モジュール210と意図学習モジュール220は、音声言語理解(SLU)システムを構成するものであり、音声認識モジュール210が事前学習されたモデルであるという仮定の元、互いに連結して学習可能である。音声認識モジュール210と意図学習モジュール220が連結された音声言語理解(SLU)モジュールとして縦断型モジュール230を構成してよく、このとき、縦断型モジュール230は、テキスト基盤の自然言語理解(NLU)モジュールとは異なり、音声を入力として受けて意図を推測する役割をする。
【0050】
自然言語処理モジュール240は、教師なし事前学習された言語モデル(LM)に縦断型モジュール230の意図推測結果(テキスト)をファインチューニングした高性能の自然言語処理モジュールに該当する。自然言語処理モジュール240は、音声や音声認識モジュール210の確率出力ではなく、テキストを入力として受けるという点において意図学習モジュール220や縦断型モジュール230とは差があるが、意図把握という自然言語処理タスクを実行するという点においては、その目的が同じである。自然言語処理モジュール240としては、BERT(bidirectional encoder representation from Transformers)などのように、大容量コーパスによって事前学習されたRNNおよびTransformer基盤のオープンソースモジュールが活用されてよい。
【0051】
本実施形態では、縦断型モジュール230を学習する過程において、自然言語処理モジュール240の出力確率を縦断型モジュール230の出力確率部分と合わせる方式である知識蒸留方式を適用する。より詳しく説明すると、学習過程で使用される損失関数(loss function)に両側の出力確率部分の平均二乗誤差(mean square error)を測定して加えることにより、縦断型モジュール230と自然言語処理モジュール240との差が学習過程に反映され、学習によって減少していくようにする。自然言語処理モジュール240は、同じタスクを実行し、より性能が良く、事前学習およびファインチューニングを既に終えた状態であるためさらなる学習を経る必要がない。このように、少ない音声データを学習するにあたり、多くのテキストデータによって事前学習されたモジュールの正確な正解予測の過程を教師することにより、データ不足の問題を相殺すると同時に、互いに異なるモダリティー(modality)間の知識共有を確認することができる。
【0052】
事前学習された言語モデル(LM)を利用した蒸留方式の縦断型音声言語理解(SLU)学習過程については、以下のように詳しく説明する。
【0053】
本実施形態の縦断型音声言語理解(SLU)学習は、互いに異なるモダリティーの統合が音声基盤の分析に肯定的な影響を及ぼすという点と、知識共有が可能な形態で音声処理が自然言語理解(NLU)によって促進されるという点を考慮したものであり、STT(speech to text)変換過程がなくても言語モデル(LM)の暗黙的言語処理を音声言語理解(SLU)モジュールに送信することを目標とする。
【0054】
本実施形態では、音声言語理解(SLU)に対する2つの処理方式、すなわち、音声認識(ASR)-自然言語理解(NLU)のパイプライン構造と縦断型学習方式をクロスモーダルの観点で結合することができる。
【0055】
図3を参照すると、本発明に係る縦断型音声言語理解(SLU)学習プロセス300は、原本音声(original audio)、実測資料(ground truth)スクリプト、目的意図(target intent)が与えられれば、事前学習された言語モデル(LM)301の推論過程で、縦断型音声言語理解(SLU)モデル302によって知識を伝達する。ここで、核心は、音響データとデジタル化されたテキスト、すなわち、音声および語彙データが意味論的側面で一致する表現のための地点を設定することにある。
【0056】
音声とテキストは互いに異なるモダリティーとして見なされるが、タスクとしては音声とテキストは両者ともに同じ類型の推論を導き出すという点において、生徒音声翻訳モデル(student speech translation model)を教師機械翻訳モジュール(teacher machine translation module)の予測から学習する場合、本発明の縦断型音声言語理解(SLU)モデル302は、ファインチューニングされたトランスフォーマ基盤の言語モデル(LM)301のロジック(logit)推論に有利である。
【0057】
本プロセスでは、モデルアキテクチャと損失関数に関してトランスフォーマ言語モデル(LM)の詳細な圧縮手順を適用する。最初の段階では、トランスフォーマ(BERT)の双方向エンコーダ表現のような事前学習された言語モデル(LM)301がスクリプトとファインチューニングされ、最終的には教師モデルを構成する。結果的に、縦断型音声言語理解(SLU)モデル302を学習する過程において、損失関数は、教師から蒸留された知識にアップデートされてよい。ここで、知識とは、ロジックレイヤに関する2つのモジュールの差を示す損失を意味する。最後に、事前学習された言語モデル(LM)301を縦断型音声言語理解(SLU)に活用することは、事前学習された言語モデル(LM)301のファインチューニングと事前学習された言語モデル(LM)301で縦断型音声言語理解(SLU)モデル302に蒸留することを含む。
【0058】
縦断型音声言語理解(SLU)学習のための知識蒸留の具体的な構造については、次のように説明する。
【0059】
教師モデルは、事前学習された言語モデル(LM)をテキスト入力として活用する。生徒モデルは、音声インスタンスを採択する反面、教師モデルと類型の予測を共有する。
【0060】
このような過程で与えられた構造と学習資源を最大限効率的に活用するために、次のような経験法則(rules of thumb)を定める。1)バックボーン生徒モデルは、音声認識(ASR)事前学習モジュールとRNN基盤の意図分類器を採択し、それぞれ単語事後シーケンスおよびスロットのような予測を算出する。2)教師モデルの場合は、事前学習されたBERTを追加の修正なく活用し、ファインチューニングは、自由に利用することのできるベンチマークを活用する。3)縦断型音声言語理解(SLU)モジュールの損失として使用されるクロスエントロピー関数の他にも、知識蒸留の損失が全体の損失に拡がり、生徒モデルの学習段階で教師モデルの影響力を移転する。
【0061】
上述したように、知識を共有するにあたり、学習指導(guidance)は、生徒モデルがテキスト入力から出る表現と一致するようにファインチューニングされたBERTロジックレイヤの上位構成要素から伝達される。言語モデル(LM)のテキストに友好的な入力レイヤ(raw-text-friendly input layers)とは異なり、上位レイヤは、抽象化されたテキスト情報が音声特性に最も適する部分に該当してよい。
【0062】
具体的には、共有知識を学習段階で教師モデルが生徒モデルに与える規定(損失関数)に基づいて示してよく、生徒モデルを好ましい方向に導く。
【0063】
図4を参照すると、知識の蒸留は、予め学習された大きいネットワーク、すなわち、教師モデル41の知識を実際に使用しようとする小さいネットワーク、すなわち、生徒モデル42に伝達することにある。言い換えれば、生徒モデル42でも教師モデル41の性能を発揮することができるように、学習過程で教師モデル41の知識を生徒モデル42に伝達して生徒モデル42の性能を高めようとする方法論である。
【0064】
生徒モデル42の分類性能に対する損失により、生徒モデル42の分類結果と実測資料(スクリプト)の差からクロスエントロピー損失関数を計算してよい。また、教師モデル41の分類結果と生徒モデル42の分類結果の差を含んでよく、言い換えれば、教師モデル41と生徒モデル42の出力ロジックをソフトマックスに変換した値の差をクロスエントロピー損失によって計算してよい。
【0065】
教師モデル41と生徒モデル42の分類結果を比較するためにソフトレベルを適用することにより、情報の損失なく教師モデル41の分類結果を生徒モデル42の分類結果と比較し、生徒モデル42が教師モデル41を模倣するように学習させることができる。
【0066】
したがって、知識の蒸留は、教師モデル41の出力を生徒モデル42が模倣して学習することにより、生徒モデル42が相対的に少ないパラメータしか持っていなくても、モデルの性能を高めることができる。
【0067】
全体損失関数(L)の表記法は、数式(1)のとおりとなる。
【0068】
L=α×Lce+β×Lkd・・・(1)
【0069】
ここで、tはスケジューリング因子であり、αとβは知識蒸留加重値を意味し、αとβの和は1である。αとβはそれぞれ、固定または動的にアップデートされるLceとLkdの影響を決定するハイパーパラメータに該当する。
【0070】
ceは、数式(2)のように、音声言語理解(SLU)構成要素の応答ラベルと予測ロジックとのCE(クロスエントロピ)であるが、ここで、f(・)はロジック表現であり、Yは目的ラベルを意味する。
【0071】
ce=CE(fSLU,Y)・・・(2)
【0072】
kdは、数式(3)のように、音声言語理解(SLU)構成要素の予測ロジックとファインチューニングされたBERTとの平均二乗誤差(MSE)または平滑化されたL1損失(MAE)である。ここで、Dは距離類型を決定する。
【0073】
kd=D(fSLU,fBERT)・・・(3)
【0074】
kdは、最上位端にあるSLUモデルとBERT最上位レイヤの隠し(hidden)が等しくなるようにする関数である。
【0075】
BERTファインチューニングでは、多様なパフォーマンスの教師モデルを調査するために2種類の方式を採択する。1つは、BERTモデルの[CLS]表現上端にFC(fully connected)レイヤを構築し、他の1つは、BERTモデルのすべての出力表現に対してFCレイヤを設定した後、プーリングを適用する。両方の学習の正確度の差を考慮した上で、前者は教師モデルと称し、後者のモデルは教授モデルと称する。
【0076】
他の例として、教師モデルと教授モデルの同時的な利益を得るために、数式(4)のように、各ネットワークからくる損失を混合してハイブリッド構造を構成してよい。
【0077】
kd=(1-γ)×D(fSLU,fteacher)+γ×D(fSLU,fprofessor)・・・(4)
【0078】
ここで、γ=0は教師モデルだけを示したものであり、γ=1は教授モデルだけを示したものである。0<γ<1の場合は、ハイブリッドモデルを示したものであり、バッチごとの意図エラー率(batch-wise intent error rate)(=err)を適用する。これは、教授モデルが、挑戦的サンプルに対して教師モデル以上に教えることを意味する。
【0079】
教師モデルは、文章全体を要約した共通トークンを使用して学習するモデルであり、教授モデルは、もう少し多くの情報を予測するモデルであって、共通トークンと各ワードに対する個別のトークンをともに使用して学習するモデルであると言える。
【0080】
本実施形態に対する実験のために、1)FSC(Fluent Speech Command)データセットを利用する完全な縦断型音声言語理解(SLU)モジュール、2)事前学習されたBERTモデル、3)タスクごとにBERTをBiLSTMに蒸留するプロセスを実現する。1)をバックボーンとし、学習段階で1)のRNNエンコーダ-デコーダに2)の知識を蒸留することにより、全体的に3)のようにBERTとBiLSTMの蒸留を実行する。
【0081】
このとき、3つの類型のシステムが考慮されるが、最初の類型は、実測資料スクリプトによってファインチューニングされた事前学習された言語モデル(LM)(BERT)であって、正確なスクリプトが入力として必要な教師モデルである。教師モデル学習は、全体のFSCスクリプトを含み、ワードピース(word piece)モデルトークン化によってトークン化される。すべての教師モデルに対して50エポック(epoch)以前に収斂がなされる。次の類型は、音声認識(ASR)の出力記録が入力となる教師モデルであって、言い換えれば、共通ベースラインである音声認識(ASR)-自然言語理解(NLU)パイプラインである。音声認識(ASR)は、FSCの代わりにここ最近に配布されたJasperモデルを使用することで、システムが単語エラーにどのように敏感に反応するかを点検する。最後の類型のモデルは、音声基盤モデルである。すなわち、単語レベル事後を利用するRNN基盤の縦断型モデルと順列言語モデルを有する音素事後基盤のモデルである。このようなモデルの試験には、音声発言だけが使用される。
【0082】
上述した類型のシステムを本発明に係るシステムと比べると、次のようになる。誰が教えて、損失はどのくらいで、学習指導がどれほど影響を及ぼすかなどの3つの要素がLkdを決定する。最初は、蒸留ソース、すなわち、教師モデルと教授モデルに対するものである。次は、MSEやMAEのうちのDに関するものである。最後は、αとβのスケジュールを示す。
【0083】
α/βが知識蒸留(KD)加重値を設定し、時間要因と関連して3つの知識蒸留加重戦略を実行する。
【0084】
(a)β=errt,batch(=1-acct,batch
(b)β=exp(1-t)
(c)β=0.1×max(0,|t-μ|/(0.5×μ)+1)・・・(5)
【0085】
言い換えれば、教師モデルと教授モデルの割合を動的に調節するスケジューリング方式を適用する。1つ目は、正確度(accuracy)を利用したスケジューリング方式であって、学習しようとする音声言語理解(SLU)モデルの性能が良くなるほど、加重値が教師モデルから教授モデルに移行する方式である。すなわち、数式(5)の(a)のように、バッチごとの学習意図エラー率によって異なる。2つ目は、漸進的に一貫するように教師モデルと教授モデルの割合を調節する方式であって、数式(5)の(b)のように、指数関数的減衰(exponential decay)(exp.)でエポック(epoch)によって教師モデルの影響力が指数的に低下する。3つ目は、トライアングルスケジューリング方式(Tri.)であって、最大エポック数μ=T/2およびTに対して数式(5)の(c)のように定義される。教師モデルは、初期の段階で変数をウォームアップ(warm up)するexpスケジューリングとは異なり、トライアングルスケジューリングでは、最初は生徒モデルが自ら学習し、途中から教師モデルが介入する。
【0086】
図5は、教師モデルと教授モデルの性能を示したものであって、Jasperは、高性能(low word error rate)の音声認識(ASR)モデルである。全体的に、BERTモデルが実測資料(GT)テキストとともに重要性を示すものと確認される。BERTモデルを活用したモデル性能はもちろん、教授モデルが学習正確度の側面において教師モデルよりも高い性能を示すことを確認することができる。
【0087】
図6は、全体データシナリオの実験結果を示した図である。教師モデルとハイブリッドモデルにおいて、従来のモデルの性能を超える水準を示していることが分かる。
【0088】
図7は、多様なスケジューリング方式により、データ不足シナリオで知識蒸留が影響を受ける結果を示した図である。学習段階において、音声テキストペアの使用を10%と1%に制限することにより、テキストデータの量が音声を支配する場合であっても、本発明に係る学習方法が効果的であることを確認することができる。すべてのシナリオに対して等しいテスト集合を考慮するとき、データの減少によってエラー減少量がさらに可視化されることが分かる。さらに、スケジューリングがデータシナリオ全体の場合よりも多くの影響を及ぼすことが分かり、特に、expスケジューリングが、他のシナリオと比べたときに成果を示している。これは、expスケジューリング方式が、資源が十分でない場合に、早期影響力と消滅が生徒モデルをより良い方向に導くということを意味する。
【0089】
したがって、本実施形態では、テキスト基盤のファインチューニングされた言語モデル(LM)の高性能推論を、クロスモーダル知識蒸留によって縦断型音声言語理解(SLU)に活用することができる。
【0090】
本実施形態に係る縦断型音声言語理解学習方法は、意図把握およびスロット埋込みタスクはもちろん、話行(言語行為)把握や感情認識などのように音声で表現することのできる自然言語を活用した多様なタスクに適用することができ、さらにはイメージを含んだマルチモーダルタスクにも適用することが可能である。
【0091】
このように、本発明の実施形態によると、パイプライン構造に比べて縦断型音声言語理解(SLU)がもつ長所を維持しながらも、テキスト基盤の自然言語理解(NLU)モジュールがもつ正確性およびデータ柔軟性を保障することができる。特に、少量の加工された音声データがある状況でも、テキストデータによって学習された高性能のモジュールを音声基盤のシステムに知識蒸留することにより、表現の共有とリソースの効率的な活用を可能にする。加工あるいはラベルされた音声データが足りなくても、同じタスクを他の入力形態で活用して実行する自然言語データを十分に確保することができる状況において、有用な使用環境を提供することができる。
【0092】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0093】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【0094】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。ここで、媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD-ROMおよびDVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。
【0095】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0096】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【0097】
120:プロセッサ
210:音声認識モジュール
220:意図学習モジュール
230:縦断型モジュール
240:自然言語処理モジュール
図1
図2
図3
図4
図5
図6
図7