(57)【要約】【課題】単語とともにジャンルをＲＮＮの出力として学習するマルチタスク学習によって、言語モデルを学習する言語モデル学習装置を提供する。【解決手段】言語モデル学習装置１は、テキストデータを構成する文に含まれる単語をクラスタリングし、ジャンル分けされた各単語に、ジャンルごとに固有のジャンルＩＤを付与するジャンル分類手段１０と、テキストデータとして、単語と当該単語に付与されているジャンルＩＤとを順次入力し、ＲＮＮにより、単語から次単語および当該次単語に付与されているジャンルＩＤを推定し、順次入力される正解データである次単語およびジャンルＩＤとの誤差により、ＲＮＮを言語モデルとして更新して学習するマルチタスク言語モデル学習手段２０と、を備える。【選択図】図１
2018084627.tif 000002
【特許請求の範囲】
【請求項１】
文により構成されるテキストデータから言語モデルを学習する言語モデル学習装置であって、
前記テキストデータを構成する前記文に含まれる単語をクラスタリングしてジャンル分けし、ジャンル分けされた各単語に、ジャンルごとに固有のジャンルＩＤを付与する分類手段と、
前記テキストデータとして、前記単語と当該単語に付与されているジャンルＩＤとを再帰型ニューラルネットワークに順次入力し、当該再帰型ニューラルネットワークにより、前記単語から当該単語の次単語および当該次単語に付与されているジャンルＩＤを推定し、前記再帰型ニューラルネットワークに順次入力される正解データである次単語およびジャンルＩＤとの誤差を用いた誤差逆伝搬法により、前記再帰型ニューラルネットワークを前記言語モデルとして更新する学習手段と、
を備えることを特徴とする言語モデル学習装置。
【請求項２】
前記分類手段は、
前記テキストデータの文から、順次、所定品詞の単語のみを抽出した複数の単語ブロックを生成する単語ブロック生成手段と、
前記複数の単語ブロックをクラスタリングするクラスタリング手段と、
このクラスタリング手段でジャンル分けされたジャンルごとに、単語ブロックの単語の抽出元である文の全単語に当該ジャンルを示すジャンルＩＤを付与するジャンルＩＤ付与手段と、
を備えることを特徴とする請求項１に記載の言語モデル学習装置。
【請求項３】
前記学習手段は、
順次入力される単語から、前記再帰型ニューラルネットワークにより、次単語および当該次単語に付与されているジャンルＩＤを推定する推定手段と、
この推定手段で推定された次単語およびジャンルＩＤと、順次入力される正解データである次単語およびジャンルＩＤとの誤差を算出する誤差算出手段と、
この誤差算出手段で算出された誤差を用いた誤差逆伝搬法により、前記再帰型ニューラルネットワークの各階層のパラメータを更新する更新手段と、
を備えることを特徴とする請求項１または請求項２に記載の言語モデル学習装置。
【請求項４】
前記学習手段は、順次入力される単語に加え、当該単語に予め対応付けた既知情報を入力し、当該単語および前記既知情報から、前記再帰型ニューラルネットワークにより、前記次単語と当該次単語に付与されているジャンルＩＤとを推定することを特徴とする請求項１に記載の言語モデル学習装置。
【請求項５】
前記学習手段は、
順次入力される単語と当該単語に対応付けられた既知情報とから、前記再帰型ニューラルネットワークにより、次単語および当該次単語に付与されているジャンルＩＤを推定する推定手段と、
この推定手段で推定された次単語およびジャンルＩＤと、順次入力される正解データである次単語およびジャンルＩＤとの誤差を算出する誤差算出手段と、
この誤差算出手段で算出された誤差を用いた誤差逆伝搬法により、前記再帰型ニューラルネットワークの各階層のパラメータを更新する更新手段と、
を備えることを特徴とする請求項４に記載の言語モデル学習装置。
【請求項６】
コンピュータを、請求項１から請求項５のいずれか一項に記載の言語モデル学習装置の各手段として機能させるための言語モデル学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、言語モデルを学習するための言語モデル学習装置およびそのプログラムに関する。
【背景技術】
【０００２】
字幕放送は、テレビ番組の音声を文字で伝える方法であり、テレビの音が聞き取りにくい高齢者や聴覚障害者のための重要な情報保障手段となっている。このため、従来から、生放送番組にリアルタイムに字幕を付与する方法の１つとして、音声認識を用いたシステムの開発が進められている。また、放送現場では、事前に収録された番組の発言内容などを、ニュースの原稿作成のために書き起こす作業を行っている。そこで、放送現場等では、このような作業を音声認識で自動化するシステムの開発が望まれていた。これらの期待に応えるためには、様々な話題に自動的に適応できる精度の高い言語モデルの構築が必要となる。言語モデルとは、ある単語の次に続く単語の確率を出力するものをいう。
【０００３】
話題に適応できる言語モデルの学習方法として、単語以外の情報を付加する手法がある。例えば、非特許文献１では、学習データに含まれる番組のジャンルを推定し、その情報を既知情報として与えながら、言語モデルを再帰型ニューラルネットワーク（Recurrent Neural Network：以下、ＲＮＮと略す場合がある）で学習する方法が提案されている。
【０００４】
ジャンル分類に関しては、自然言語処理の分野では「トピック推定」として幅広く研究されており、大きくはハードクラスタリングとソフトクラスタリングとに分けられる。ハードクラスタリングでは、ある文書が属するトピックを一つに定める。それに対して、ソフトクラスタリングは、その文書が各トピックに属する可能性を出力する。例えば、「トピック１」「トピック２」「トピック３」と３つに分けるとき、ハードクラスタリングではある文書を「トピック２」と特定するが、ソフトクラスタリングでは「トピック１：２０％」「トピック２：７０％」「トピック３：１０％」と確率を示す。
【０００５】
非特許文献１の手法では、学習データに対してまずＬＤＡ（Latent Dirichlet Allocation）という手法により１０２４次元のベクトルを生成している。この１０２４次元のベクトルは、「トピック１」…「トピック１０２４」に対応し、それぞれが値を持つため、１０２４トピックへのソフトクラスタリングによりジャンルを推定している。
【０００６】
また、他の言語モデルの学習方法として、対話システムへの活用のため、言語モデルを学習するタスクに、対話破綻を検出するという異なるタスクを加えて、１つのＲＮＮで２つ以上の目的の学習（マルチタスク学習）を行う手法が提案されている（非特許文献２）。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Salil Deena, Madina Hasan, Mortaza Doulaty, Oscar Saz, and Thomas Hain,”Combining Feature and Model-Based Adaptation of RNNLMs for Multi-Genre Broadcast Speech Recognition”, INTERSPEECH2016, pp,2343-2347, September 8-12, 2016, San Francisco, USA
【非特許文献２】小林颯介，海野裕也，福田昌昭，“再帰型ニューラルネットワークを用いた対話破綻検出と言語モデルのマルチタスク学習”，言語・音声理解と対話処理研究会，Vol.75，pp.41-46，2015-10-29
【発明の概要】
【発明が解決しようとする課題】
【０００８】
非特許文献１の手法は、番組のジャンルを推定し、その情報を既知情報として、単語とともにＲＮＮの入力とセットで与え、言語モデルの精度向上を行っている。
しかし、この手法は、単語に対応付けたジャンルを正解データとするため、精度の高いジャンル推定を事前に行っておく必要があるが、必ずしも、推定したジャンルが正解データであるとは限らない。そのため、この手法は、未知の学習データに対して、高速に学習を行うことができないとともに、学習精度を落とす要因を含んでいる。
また、非特許文献２の手法は、対話システムへの活用に限定した学習手法であって、一般的なテレビ番組等の字幕から、言語モデルを学習することができないという問題がある。
【０００９】
そこで、本発明は、単語の正解データとしてジャンルをＲＮＮの入力に使用するのではなく、単語とともにジャンルをＲＮＮの出力として学習するマルチタスク学習によって、言語モデルを学習する言語モデル学習装置およびそのプログラムを提供することを課題とする。
【課題を解決するための手段】
【００１０】
前記課題を解決するため、本発明に係る言語モデル学習装置は、文により構成されるテキストデータから言語モデルを学習する言語モデル学習装置であって、分類手段と、学習手段と、を備える。
【００１１】
かかる構成において、言語モデル学習装置は、分類手段によって、テキストデータを構成する文に含まれる単語をクラスタリングしてジャンル分けし、ジャンル分けされた各単語に、ジャンルごとに固有のジャンルＩＤを付与する。
これによって、テキストデータを構成する文のそれぞれの単語に、ジャンルＩＤが対応付けられることになる。
【００１２】
そして、言語モデル学習装置は、学習手段によって、テキストデータとして、単語と当該単語に付与されているジャンルＩＤとを再帰型ニューラルネットワークに順次入力し、当該再帰型ニューラルネットワークにより、単語から当該単語の次単語および当該次単語に付与されているジャンルＩＤを推定し、前記再帰型ニューラルネットワークに順次入力される正解データである次単語およびジャンルＩＤとの誤差を用いた誤差逆伝搬法により、再帰型ニューラルネットワークを言語モデルとして更新する。
【００１３】
このように、言語モデル学習装置は、学習手段によって、テキストデータとして、単語と当該単語に付与されているジャンルＩＤとを入力することで、再帰型ニューラルネットワークにより、次単語やジャンルＩＤを推定する際に、次のデータとして存在する正解データとの間で誤差を算出することができる。これによって、学習手段は、その誤差から、誤差逆伝搬法により、再帰型ニューラルネットワークを更新することが可能になる。
また、言語モデル学習装置は、学習手段において、単語を推定するのみならず、単語に対応するジャンルＩＤを推定することで、算出される誤差は、単語にジャンルＩＤを加味したものとなり、再帰型ニューラルネットワークの更新の精度を高めることができる。
【００１４】
なお、言語モデル学習装置は、コンピュータを、前記した分類手段、学習手段として機能させるための言語モデル学習プログラムで動作させることができる。
【発明の効果】
【００１５】
本発明は、以下に示す優れた効果を奏するものである。
本発明によれば、単語とともにジャンルをＲＮＮの出力として学習するマルチタスク学習を行うことができる。
これによって、本発明は、単語にジャンルの条件を付加して、ＲＮＮを学習することができるため、単語のみの学習に比べて、精度の高い言語モデルを生成することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態に係る言語モデル学習装置の構成を示すブロック構成図である。
【図２】マルチタスクＲＮＮ言語モデルの入出力構造を説明するための説明図である。
【図３】マルチタスクＲＮＮ言語モデルの入出力例を説明するための説明図である。
【図４】放送番組に含まれるジャンルの構成例を説明するための説明図である。
【図５】本発明の実施形態に係る言語モデル学習装置のジャンル分類手段の処理内容を説明するための説明図である。
【図６】本発明の実施形態に係る言語モデル学習装置のマルチタスク言語モデル学習手段の処理内容を説明するための説明図である。
【図７】単語ベクトルと既知情報ベクトルとの足し合わせの概念を説明するため説明図である。
【図８】正解次単語ベクトルと正解ジャンルベクトルの誤差の足し合わせの概念を説明するため説明図である。
【図９】本発明の実施形態に係る言語モデル学習装置の全体動作を示すフローチャートである。
【図１０】本発明の実施形態に係る言語モデル学習装置のジャンル分類動作を示すフローチャートである。
【図１１】本発明の実施形態に係る言語モデル学習装置のＲＮＮ学習モデル学習動作を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態について図面を参照して説明する。
［言語モデル学習装置の構成］
まず、図１を参照して、本発明の実施形態に係る言語モデル学習装置１の構成について説明する。
【００１８】
言語モデル学習装置１は、テキストデータと当該テキストデータに対応する既知情報とから、言語モデルを学習するものである。言語モデルは、ある単語の次に続く単語の出現確率を出力するものである。言語モデル学習装置１は、言語モデルとして、再帰型ニューラルネットワーク（ＲＮＮ）の言語モデルを生成する。
【００１９】
テキストデータは、言語モデルを学習するための学習データ（コーパスデータ）である。例えば、テキストデータは、テレビ番組の字幕テキストまたは書き起こし、会議音声、取材音声等の書き起こし等の音声認識の対象となる分野に関連する文の単語列である。ここでは、テキストデータとして、テレビ番組の字幕テキストを例に説明を行う。
【００２０】
既知情報は、テキストデータの単語に対応する予め定めた情報である。例えば、既知情報は、テキストデータが字幕テキストであれば、番組名、放送日（放送時間）、出演者、番組紹介文、番組内コーナー名等、番組表情報の種々の情報とすることができる。ここでは、既知情報として番組名を例に説明を行う。
【００２１】
次に、図２，図３を参照して、言語モデル学習装置１が学習するＲＮＮ言語モデルの概要について説明する。
図２に示すように、言語モデル学習装置１が学習するＲＮＮ言語モデルは、単語（テキストデータ）と既知情報とを入力し、次単語と、その単語が属する分類種別（ジャンル）とを出力するネットワークである。このＲＮＮは、履歴情報を内部に保存し、順次入力される単語および既知情報から、順次次単語およびジャンルを予測し出力する。
【００２２】
例えば、図３に示すように、最初の状態１において、単語「今日」および番組名「番組Ａ」とから、次単語「の」およびジャンル「気象」を予測し出力する。ここで、ＲＮＮは、履歴情報を内部に保存するため、この状態遷移を続けることで、状態４において、履歴情報「今日＋番組Ａ、の＋番組Ａ、天気＋番組Ａ」と直近の単語「は」および番組名「番組Ａ」とから、次単語「晴れ」およびジャンル「気象」を予測し出力する。
【００２３】
このように、ＲＮＮ言語モデルは、履歴情報を保存することができるため、前の文脈を元に次の単語を予測することができる。また、このＲＮＮ言語モデルは、次単語だけでなく、ジャンルを出力する構造としたことで、前の文脈を考慮してジャンルを予測することができる。これによって、言語モデル学習装置１は、予測する単語とジャンルとを合わせて予測誤差を求めてＲＮＮを学習し、更新することができる。このＲＮＮの学習と更新については、後で詳細に説明する。
【００２４】
図１に戻って、言語モデル学習装置１の構成について説明を続ける。
図１に示すように、言語モデル学習装置１は、ジャンル分類手段１０と、マルチタスク言語モデル学習手段２０と、を備える。
【００２５】
ジャンル分類手段（分類手段）１０は、テキストデータの単語列をクラスタリングし、単語に、その単語が属するクラス（ジャンル）の識別子（ジャンルＩＤ）を対応付けるものである。
【００２６】
一般に、テレビ番組において、１つの番組内に、複数のジャンルが含まれることが多い。具体的には、図４に示すように、番組Ａ〜Ｃごとに、複数のジャンルで番組が進行する。例えば、ある番組Ａは、番組内で「ニュース」、「天気予報」、「スポーツ」、「生活」といったジャンルで番組が進行する。
このジャンル分類手段１０は、テキストデータを１つの番組の字幕テキストとしたとき、字幕テキストを複数のジャンル（ジャンルの内容は未知）に分類する。
ここでは、ジャンル分類手段１０は、形態素解析手段１１と、単語ブロック生成手段１２と、クラスタリング手段１３と、ジャンルＩＤ付与手段１４と、を備える。
【００２７】
形態素解析手段１１は、テキストデータを構成する各文（各発話）を、形態素解析して単語に分割し、その単語に品詞を割り当てるものである。この形態素解析は、ＭｅＣａｂ等の一般的な形態素解析エンジンを用いることができる。ここでは、形態素解析手段１１は、単語ブロック生成手段１２から、一発話の文を入力し、その文を構成する単語および品詞を単語ブロック生成手段１２に出力する。
【００２８】
単語ブロック生成手段１２は、テキストデータから所定の品詞の単語を抽出し、複数の単語ブロックを生成するものである。
一般にジャンルを分類する際に、分類に有効な単語とあまり有効ではない単語があることが知られている。例えば、「では玉ねぎをみじん切りにしましょう」という発話の中で、「玉ねぎ／みじん切り」等の名詞からは、「料理」といったジャンルを特定しやすいが、「では／を／に／しましょう」といった他の品詞からはジャンルを特定しにくい。
ここでは、単語ブロック生成手段１２は、所定の品詞として、名詞、動詞および形容詞の単語から単語ブロックを生成することとする。もちろん、名詞のみ等で単語ブロックを生成することとしてもよい。
【００２９】
この単語ブロック生成手段１２は、形態素解析手段１１によってテキストデータを一文（一発話）ごとに形態素解析し、名詞、動詞および形容詞の品詞の単語を、順次、単語ブロックに挿入する。なお、単語ブロックに挿入する単語数の閾値は予め定めた所定数とする。これによって、単語ブロック生成手段１２は、テキストデータから、名詞、動詞および形容詞の単語からなる複数の単語ブロックを生成する。この単語ブロックに挿入する単語数の閾値は、例えば、４０個とする。これによって、一文から抽出される単語数が短い場合でも、分類に必要なある程度の長さの単語列を確保することができる。
【００３０】
例えば、図５に示すように、単語ブロック生成手段１２は、番組Ａ〜Ｃのテキストデータを入力し、番組Ａの第１文（Ａ−１）から「雲」、「広がる」等を抽出し、単語ブロックＢＬ１に挿入する。また、単語ブロック生成手段１２は、番組Ａの第２文（Ａ−２）から「大気」、「不安定」等を抽出し、単語ブロックＢＬ２に挿入する。また、単語ブロック生成手段１２は、番組Ａの第３文（Ａ−３）から「玉ねぎ」、「火」等を抽出し、単語ブロックＢＬ３に挿入する。また、単語ブロック生成手段１２は、番組Ｂの第１文（Ｂ−１）から「混ぜ」、「ください」等を抽出し、単語ブロックＢＬ４に挿入する。
この単語ブロック生成手段１２は、生成した単語ブロックの個々の単語に、抽出元の発話を対応付けて、クラスタリング手段１３に出力する。
【００３１】
クラスタリング手段１３は、単語ブロック生成手段１２で生成された複数の単語ブロッを、クラスタリング（分類）するものである。
このクラスタリング手段１３における単語ブロックのクラスタリングには、一般的な手法を用いればよい。例えば、クラスタリング手段１３は、クラスタリングツールｂａｙｏｎで用いられているRepeated Bisection法等を用いて、予め定めたジャンル数に単語ブロックを分類する。
そして、クラスタリング手段１３は、クラスタリングしたジャンルごとの単語ブロックに、個別のＩＤ（ジャンルＩＤ）を付与する
【００３２】
ジャンルＩＤ付与手段１４は、クラスタリング手段１３でクラスタリングされた単語ブロックを構成している各単語に対応する発話の全単語に対し、単語ブロックと同じジャンルＩＤを付与するものである。
例えば、図５に示すように、単語ブロック生成手段１２で生成された単語ブロックＢＬ１，ＢＬ２，…を、クラスタリング手段１３によってクラスタリングする。そして、ジャンルＩＤ付与手段１４は、クラスタリングされたジャンルＩＤ＝１に対応する単語ブロックＢＬ１，ＢＬ２の抽出元の発話の全単語ＳＴ１にジャンルＩＤ＝１を付与し、ジャンルＩＤ＝２に対応する単語ブロックＢＬ３，ＢＬ４の抽出元の発話の全単語ＳＴ２にジャンルＩＤ＝２を付与する。
このように、ジャンル分類手段１０は、テキストデータの発話を構成する文の単語ごとに、ジャンルＩＤを対応付けて、マルチタスク言語モデル学習手段２０に出力する。
【００３３】
マルチタスク言語モデル学習手段（学習手段）２０は、単語にジャンルＩＤが対応付けられたテキストデータと既知情報とを順次単語単位で入力し、次単語と当該次単語のジャンルとの２つを推定しつつ、ＲＮＮ言語モデルを学習するものである。
ここでは、マルチタスク言語モデル学習手段２０は、推定手段２１と、誤差算出手段２２と、更新手段２３と、を備える。
【００３４】
推定手段２１は、入力される単語と、当該単語に対応するジャンルＩＤおよび既知情報とから、ＲＮＮにより、次単語およびジャンルを推定するものである。ここでは、推定手段２１は、予め定めた閾値の単語数を入力して、次単語およびジャンルを推定する。なお、この閾値は、多くするほど、前の文脈を長く考慮して推定を行うことができるが、メモリを多く使用することになるため、ＣＰＵパワー等に応じて予め設定しておく。
【００３５】
ここで、図６を参照（適宜図１参照）して、推定手段２１における次単語およびジャンルを推定する処理について説明する。
図６に示すように、ＲＮＮ言語モデルは、入力層３０と、隠れ層３１と、出力層３２との各階層を有する再帰型ニューラルネットワークである。
【００３６】
入力層３０は、ｔ時点において、単語および既知情報を入力する階層である。ここで、単語は、ｔ時点におけるベクトル（単語ベクトル）ｗ（ｔ）とする。なお、ｗ（ｔ）は、次元数を全単語数とし、ｗ（ｔ）が表現する単語の成分のみを“１”、他を“０”とする。既知情報は、ｔ時点におけるベクトル（既知情報ベクトル）ｐ（ｔ）とする。例えば、ｐ（ｔ）は、番組ごとに予め定めた成分のみを“１”、他を“０”とする。
【００３７】
隠れ層３１は、入力層３０で入力されるベクトル（ｗ（ｔ），ｐ（ｔ））を、それぞれ写像Ｕ，Ｕ′により、隠れ層３１のベクトル（潜在ベクトル）ｓ（ｔ）と同じ次元のベクトルに写像し、予め定めた重みαに応じて足し合わせたベクトルと、隠れ層３１の１時点前のベクトルｓ（ｔ−１）に重みベクトルＷを乗じたベクトルとを加算し、シグモイド関数ｆにより変換したベクトル（潜在ベクトル）ｓ（ｔ）により順次更新される階層である。なお、ｓ（ｔ）における（ｔ−１），（ｔ−２）…の状態は、スタックに保持される。
すなわち、推定手段２１は、図７に示すように、単語ベクトルｗ（ｔ）に既知情報ベクトルｐ（ｔ）を、重みに応じて同じ空間に写像することで、単語推定を行う際に既知情報を推定材料とすることができる。
【００３８】
出力層３２は、推定した次単語およびジャンルを出力する階層である。この出力層３２は、隠れ層３１の潜在ベクトルｓ（ｔ）に、単語推定とジャンル推定とのそれぞれの重みベクトルＶ，Ｖ′を乗算し、ソフトマックス関数により、ｔ時点における単語の推定結果ｙ（ｔ）と、ジャンルの推定結果ｊ（ｔ）とを出力する。このとき、単語の推定結果ｙ（ｔ）は、重みベクトルＶにより、単語のベクトルｗ（ｔ）と同じ次元に変換され、ジャンルの推定結果ｊ（ｔ）は、重みベクトルＶ′により、予め定めたジャンルの数の次元に変換される。
【００３９】
すなわち、推定手段２１は、ｔ時点における単語ベクトルｗ（ｔ）と、既知情報ベクトルｐ（ｔ）と、１時点前の潜在ベクトルｓ（ｔ−１）と、予め定めた重みα（０≦α≦１）と、各階層のパラメータである写像Ｕ，Ｕ′および重みベクトルＷとから、以下の式（１）により、隠れ層３１の潜在ベクトルｓ（ｔ）を算出する。ただし、ｆ（・）は、以下の式（２）のシグモイド関数である。
【００４０】
【数１】
2018084627.tif 000003
【００４１】
そして、推定手段２１は、ｔ時点における潜在ベクトルｓ（ｔ）と、単語推定とジャンル推定とのそれぞれの重みベクトルＶ，Ｖ′とから、以下の式（３）、式（４）により、ｔ時点における単語の推定結果ｙ（ｔ）と、ジャンルの推定結果ｊ（ｔ）とを算出する。ただし、ｇ（・）は、以下の式（５）のソフトマックス関数で、ｋは単語ベクトルｗ（ｔ）の次数である。
【００４２】
【数２】
2018084627.tif 000004
【００４３】
これによって、単語の推定結果ｙ（ｔ）およびジャンルの推定結果ｊ（ｔ）は、それぞれベクトルの各要素が“０”〜“１”の値となる。
このように、推定手段２１は、ｔ時点における単語およびジャンル（ジャンルＩＤ）をベクトルの値によって算出する。
この推定手段２１は、算出した単語の推定結果ｙ（ｔ）およびジャンルの推定結果ｊ（ｔ）を、誤差算出手段２２に出力する。
【００４４】
誤差算出手段２２は、推定手段２１で推定した単語およびジャンル（ジャンルＩＤ）と、正解データとの誤差を算出するものである。
すなわち、誤差算出手段２２は、ｔ時点の単語ベクトルｗ（ｔ）および既知情報ベクトルｐ（ｔ）から推定した次単語の推定結果ｙ（ｔ）と、（ｔ＋１）時点で入力される正解データである単語ベクトルｗ（ｔ＋１）との誤差ｕ（ｔ）、ならびに、ｔ時点のジャンルの推定結果ｊ（ｔ）と、（ｔ＋１）時点で入力される正解データであるジャンルベクトルｑ（ｔ＋１）との誤差ｖ（ｔ）を、それぞれ以下の式（６），式（７）により算出する。
そして、誤差算出手段２２は、算出した誤差ｕ（ｔ），ｖ（ｔ）を、更新手段２３に出力する。
【００４５】
【数３】
2018084627.tif 000005
【００４６】
更新手段２３は、誤差算出手段２２で算出された誤差ｕ（ｔ），ｖ（ｔ）に基づいて、推定手段２１で使用したパラメータである写像Ｕ，Ｕ′、重みベクトルＷ、重みベクトルＶ，Ｖ′を更新するものである。
なお、誤差算出手段２２で算出された誤差ｕ（ｔ），ｖ（ｔ）は、予め定めた重みβ（０≦β≦１）、ベクトルＸ，Ｘ′を用いて、以下の式（８）により、重み付けを行い統合した誤差ｅ（ｔ）とする。なお、ベクトルＸ，Ｘ′は、誤差ｕ（ｔ），ｖ（ｔ）をそれぞれ、潜在ベクトルｓ（ｔ）と同じ次元の誤差ｅ（ｔ）に変換する重みベクトルである。
【００４７】
【数４】
2018084627.tif 000006
【００４８】
そして、更新手段２３は、時刻（単語の入力系列）を考慮した誤差逆伝搬法（ＢＰＴＴ：Back Propagation Through Time、バックプロパゲーションスルータイム）により、写像Ｕ，Ｕ′、重みベクトルＷ、重みベクトルＶ，Ｖ′を更新し、新たなＲＮＮを構築する。なお、誤差逆伝搬法は、再帰型ニューラルネットワークの学習を行う処理に用いる一般的な手法であり、入力と出力との間の誤差を計算し、その誤差を用いて出力から逆向きに順次に計算して学習を行う手法である。ここでは、詳細な説明を省略する。
これによって、更新手段２３は、図８に示すように、２種類の誤差を重みにより統合して、誤差逆伝搬することになり、単語に加えて、対応するジャンルの誤差を補正することで、より精度の高いＲＮＮを学習することができる。
そして、更新手段２３は、次の単語が入力された場合、制御を推定手段２１に移し、単語の入力が終了した段階で、学習済みのＲＮＮ言語モデルを出力し、言語モデル記憶装置２に書き込む。
【００４９】
以上説明したように言語モデル学習装置１を構成することで、言語モデル学習装置１は、ＲＮＮを学習する際に、単語の推定に加え、ジャンルの推定を行って正解データとの誤差を求めることで、より精度を高めて次単語を推定する言語モデルを生成することができる。
なお、言語モデル学習装置１は、コンピュータを、前記した各手段として機能させるためのプログラム（言語モデル学習プログラム）で動作させることができる。
【００５０】
［言語モデル学習装置の動作］
次に、図９〜図１１を参照（適宜図１参照）して、本発明の実施形態に係る言語モデル学習装置１の動作について説明する。
図９に示すように、言語モデル学習装置１は、ジャンル分類を行う動作（ステップＳ１）と、マルチタスク言語モデル学習を行う動作（ステップＳ２）とを行う。
【００５１】
ステップＳ１において、言語モデル学習装置１は、テキストデータを入力し、テキストデータの単語をジャンルごとに分類し、単語にジャンルＩＤを付与する。このステップＳ１の動作は、言語モデル学習装置１のジャンル分類手段１０で行われる動作であって、詳細な動作については、あとで図１０を参照して説明を行う。
【００５２】
また、ステップＳ２において、言語モデル学習装置１は、ステップＳ１でジャンルＩＤが付与された単語と既知情報とから、次の単語とそのジャンルを推定し、推定誤差を算出ことで、ＲＮＮ言語モデルを学習する。このステップＳ２の動作は、言語モデル学習装置１のマルチタスク言語モデル学習手段２０で行われる動作であって、詳細な動作については、あとで図１１を参照して説明を行う。
【００５３】
（ジャンル分類）
まず、図１０を参照（適宜図１参照）して、図９のステップＳ１の動作について詳細に説明する。
【００５４】
言語モデル学習装置１は、単語ブロック生成手段１２によって、空の単語ブロックを生成する（ステップＳ１０）。すなわち、単語ブロック生成手段１２は、メモリ領域に予め定めたバッファサイズの領域を確保し、バッファ内部を初期化する。
そして、単語ブロック生成手段１２は、テキストデータから一発話分のデータ（一文）を読み込む（ステップＳ１１）。
【００５５】
ここで、すでに全発話のデータの入力が完了している場合、すなわち、ステップＳ１１で一発話のデータを読み込めなかった場合（ステップＳ１２でＹｅｓ）、言語モデル学習装置１は、ステップＳ１７に動作を進める。一方、全発話のデータ入力が完了していない場合、すなわち、ステップＳ１１で一発話のデータを読み込んだ場合（ステップＳ１２でＮｏ）、言語モデル学習装置１は、ステップＳ１３に動作を進める。
【００５６】
そして、ステップＳ１３において、単語ブロック生成手段１２は、単語ブロック内に挿入されている単語数が閾値以上か否かを判定する。ここで、単語ブロック内に挿入されている単語数が閾値以上であれば（ステップＳ１３でＹｅｓ）、単語ブロック生成手段１２は、新たに空の単語ブロックを生成する（ステップＳ１４）。そして、言語モデル学習装置１は、ステップＳ１５に動作を進める。
一方、単語ブロック内に挿入されている単語数が閾値未満であれば（ステップＳ１３でＮｏ）、言語モデル学習装置１は、ステップＳ１５に動作を進める。
【００５７】
そして、ステップＳ１５において、単語ブロック生成手段１２は、ステップＳ１１で読み込んだ一発話分のデータを、形態素解析手段１１により形態素解析させる。
そして、単語ブロック生成手段１２は、ステップＳ１５での形態素解析の結果、所定の品詞（名詞、動詞、形容詞）のみの単語を単語ブロックに挿入する（ステップＳ１６）。このとき、単語ブロック生成手段１２は、所定の品詞を含んでいないテキストは削除する。また、単語ブロック生成手段１２は、生成した単語ブロックの個々の単語に、抽出元の発話を対応付けておく。
その後、言語モデル学習装置１は、ステップＳ１１に戻って、テキストデータの読み込みが完了するまで、順次、単語ブロックを生成する動作を繰り返す。
【００５８】
また、言語モデル学習装置１は、ステップＳ１２で、全発話のデータの入力が完了した場合、すなわち、テキストデータから単語ブロックの生成が完了した時点で、クラスタリング手段１３によって、単語ブロックをクラスタリングする（ステップＳ１７）。このとき、クラスタリング手段１３は、予め定めたジャンル数（例えば、９）に単語ブロックを分類し、個別のＩＤ（ジャンルＩＤ）を付与する。これによって、単語ブロックが、複数のジャンルに分類されることになる。
【００５９】
そして、言語モデル学習装置１は、ジャンルＩＤ付与手段１４によって、ステップＳ１７でクラスタリングされた単語ブロックを構成している各単語に対応する発話の全単語に対し、単語ブロックと同じジャンルＩＤを付与する（ステップＳ１８）。
以上の動作によって、言語モデル学習装置１は、ジャンル分類手段１０によって、所定の品詞を含んだ発話を構成するすべての単語に、ジャンルＩＤを付与することができる。
【００６０】
（マルチタスク言語モデル学習）
次に、図１１を参照（適宜図１参照）して、図９のステップＳ２の動作について詳細に説明する。
【００６１】
言語モデル学習装置１は、マルチタスク言語モデル学習手段２０によって、初期段階として、再帰型ニューラルネットワーク（ＲＮＮ）の構造を持ったモデルを作成する（ステップＳ２０）。そして、マルチタスク言語モデル学習手段２０は、ＲＮＮモデルの内部変数、例えば、スタックを指し示すポインタ等をリセットする（ステップＳ２１）。
【００６２】
その後、言語モデル学習装置１は、マルチタスク言語モデル学習手段２０の推定手段２１によって、単語と既知情報とを入力し、スタック（ｗ（ｔ），ｐ（ｔ））に保存する（ステップＳ２２）。そして、推定手段２１は、前記式（１）により、潜在ベクトルを算出し、スタック（ｓ（ｔ））に保存する（ステップＳ２３）。
【００６３】
そして、推定手段２１は、ステップＳ２２で入力した単語数が閾値となったか否かを判定する（ステップＳ２４）。ここで、単語数が閾値に達していない場合（ステップＳ２４でＮｏ）、言語モデル学習装置１は、ステップＳ２２に動作を戻す。
一方、単語数が閾値に達した場合（ステップＳ２４でＹｅｓ）、推定手段２１は、前記式（３），式（４）により、次単語およびジャンルＩＤを算出する（ステップＳ２５）。
【００６４】
そして、言語モデル学習装置１は、誤差算出手段２２によって、ステップＳ２５で算出された次単語およびジャンルＩＤと、正解データである次単語およびジャンルＩＤとの誤差を算出する（ステップＳ２６）。
その後、言語モデル学習装置１は、更新手段２３によって、ステップＳ２６で算出された誤差に基づいて、誤差逆伝搬法により、ＲＮＮモデルを学習し、更新する（ステップＳ２７）。
【００６５】
ここで、テキストデータのすべてで学習が完了していない場合（ステップＳ２８でＮｏ）、言語モデル学習装置１は、ステップＳ２１に戻って動作を継続する。
一方、テキストデータのすべてで学習が完了した場合（ステップＳ２８でＹｅｓ）、言語モデル学習装置１は、学習済みのＲＮＮモデルをＲＮＮ言語モデルとして出力し、言語モデル記憶装置２に書き込む（ステップＳ２９）。
【００６６】
以上の動作によって、言語モデル学習装置１は、マルチタスク言語モデル学習手段２０によって、単語とジャンルとを推定し、誤差に応じてＲＮＮモデルを更新することで、精度の高いＲＮＮモデルをＲＮＮ言語モデルとして生成することができる。
【００６７】
以上、本発明の実施形態に係る言語モデル学習装置１の構成および動作について説明したが、本発明は、この実施形態に限定されるものではない。
ここでは、ジャンル分類手段１０は、テキストデータの単語に対して、１つのジャンルＩＤを付与するハードクラスタリングを行った。しかし、ジャンル分類手段１０は、ソフトクラスタリングを行ってもよい。その場合、各単語には、ジャンルＩＤのベクトル（ジャンルベクトル）の要素に“０．２”等の確率値を設定することとすればよい。
【００６８】
また、ここでは、言語モデル学習装置１は、ＲＮＮ言語モデルを学習する際に、入力値として、既知情報を入力したが、これを省略してもよい。その場合、言語モデル学習装置１は、前記式（１）のαの値を“１”として動作させればよい。
【００６９】
［評価結果］
次に、本発明の実施形態に係る言語モデル学習装置１を評価した結果について説明する。ここでは、入力するテキストデータとして、ＮＨＫの放送番組の字幕テキストである「ひるまえほっと」１１万行、「情報まるごと」８万行を用いた。また、既知情報として、「ひるまえほっと」または「情報まるごと」の番組名を用いた。また、単語ブロック生成手段１２で生成する単語ブロック内の単語数の閾値を４０個とした。また、クラスタリング手段１３で行うクラスリングのジャンル数を“９”とした。また、潜在ベクトルｓ（ｔ）の要素（ユニット）数を“３００”とした。また、推定手段２１において、連続して入力する単語の閾値を“２０”とした。
【００７０】
また、ここでは、前記式（１）のαや前記式（８）のβの値を変えて、評価を行った。このαおよびβは、その値によって、言語モデル学習装置１の入力や、学習（推定）を行う機能が制限される。以下、〔表１〕にその対応を示す。
【００７１】
【表１】
2018084627.tif 000007
【００７２】
以下、αおよびβを特定の値に設定して動作させた言語モデル学習装置１の評価結果を、〔表２〕に示す。なお、ここでは、評価結果として言語モデルの複雑さを示すＰＰＬ（パープレキシティ）を用いた。このＰＰＬは、値が小さいほど言語モデルが複雑でなく優れていることを示す指標である。
【００７３】
【表２】
2018084627.tif 000008
【００７４】
このように、言語モデル学習装置１は、単純な単語のみのモデルに比べて、ＰＰＬの値が小さくなり、複雑性が低く、予測精度が高いＲＮＮ言語モデルとなっている。
【符号の説明】
【００７５】
１      言語モデル学習装置
１０    ジャンル分類手段（分類手段）
１１    形態素解析手段
１２    単語ブロック生成手段
１３    クラスタリング手段
１４    ジャンルＩＤ付与手段
２０    マルチタスク言語モデル学習手段（学習手段）
２１    推定手段
２２    誤差算出手段
２３    更新手段
２      言語モデル記憶手段
【図１】
2018084627.tif 000009
【図２】
2018084627.tif 000010
【図３】
2018084627.tif 000011
【図４】
2018084627.tif 000012
【図５】
2018084627.tif 000013
【図６】
2018084627.tif 000014
【図７】
2018084627.tif 000015
【図８】
2018084627.tif 000016
【図９】
2018084627.tif 000017
【図１０】
2018084627.tif 000018
【図１１】
2018084627.tif 000019