(57)【特許請求の範囲】
【請求項１】
学習対象のニューラルネットワークの入力層に入力される入力文字列を、複数の入力単語に分割する分割部と、
前記複数の入力単語のそれぞれを、前記入力単語に関連付けられた第１の確率で、前記入力単語の語彙素性に変換することにより、前記入力単語又は前記入力単語の語彙素性を示す入力学習単語を取得し、複数の前記入力学習単語を含む入力学習単語列が前記入力層に入力された場合に、前記ニューラルネットワークの出力層から出力されることが予想される出力単語を、前記出力単語に関連付けられた第２の確率で、前記出力単語の語彙素性に変換することにより、前記出力単語又は前記出力単語の語彙素性を示す出力学習単語を取得する変換部と、
前記ニューラルネットワークの入力層に前記入力学習単語列を入力することにより、前記ニューラルネットワークの出力層のユニットから出力されるスコアを取得する計算部と、
前記出力学習単語に対応するユニットから出力されることが予想される予め定められた予想スコアと、前記出力学習単語に対応するユニットのスコアと、の差に基づいて前記ニューラルネットワークの学習を行う学習部と、
を備える学習装置。
【請求項２】
前記語彙素性は、単語の品詞である、
請求項１に記載の学習装置。
【請求項３】
前記学習部は、バックプロパゲーションにより前記ニューラルネットワークの学習を行う、
請求項１に記載の学習装置。
【請求項４】
前記分割部は、前記ニューラルネットワークの学習に使用される文字列を分割することにより、前記入力文字列と前記出力単語とを取得する、
請求項１に記載の学習装置。
【請求項５】
前記ニューラルネットワークの入力層に、前記入力単語を入力するユニットがなく、かつ、前記語彙素性を入力するユニットがある場合、
前記変換部は、前記第１の確率を１にする、
請求項１に記載の学習装置。
【請求項６】
前記ニューラルネットワークの入力層に、前記入力単語を入力するユニットがあり、かつ、前記語彙素性を入力するユニットがない場合、
前記変換部は、前記第１の確率を０にする、
請求項１に記載の学習装置。
【請求項７】
前記ニューラルネットワークの出力層に、前記出力単語のスコアを出力するユニットがなく、かつ、前記語彙素性のスコアを出力するユニットがある場合、
前記変換部は、前記第２の確率を１にする、
請求項１に記載の学習装置。
【請求項８】
前記ニューラルネットワークの出力層に、前記出力単語のスコアを出力するユニットがあり、かつ、前記語彙素性のスコアを出力するユニットがない場合、
前記変換部は、前記第２の確率を０にする、
請求項１に記載の学習装置。
【請求項９】
学習対象のニューラルネットワークの入力層に入力される入力文字列を、複数の入力単語に分割するステップと、
前記複数の入力単語のそれぞれを、前記入力単語に関連付けられた第１の確率で、前記入力単語の語彙素性に変換することにより、前記入力単語又は前記入力単語の語彙素性を示す入力学習単語を取得するステップと、
複数の前記入力学習単語を含む入力学習単語列が前記入力層に入力された場合に、前記ニューラルネットワークの出力層から出力されることが予想される出力単語を、前記出力単語に関連付けられた第２の確率で、前記出力単語の語彙素性に変換することにより、前記出力単語又は前記出力単語の語彙素性を示す出力学習単語を取得するステップと、
前記ニューラルネットワークの入力層に前記入力学習単語列を入力することにより、前記ニューラルネットワークの出力層のユニットから出力されるスコアを取得するステップと、
前記出力学習単語に対応するユニットから出力されることが予想される予め定められた予想スコアと、前記出力学習単語に対応するユニットのスコアと、の差に基づいて前記ニューラルネットワークの学習を行うステップ、
を含む学習方法。
【請求項１０】
コンピュータを、
学習対象のニューラルネットワークの入力層に入力される入力文字列を、複数の入力単語に分割する分割部と、
前記複数の入力単語のそれぞれを、前記入力単語に関連付けられた第１の確率で、前記入力単語の語彙素性に変換することにより、前記入力単語又は前記入力単語の語彙素性を示す入力学習単語を取得し、複数の前記入力学習単語を含む入力学習単語列が前記入力層に入力された場合に、前記ニューラルネットワークの出力層から出力されることが予想される出力単語を、前記出力単語に関連付けられた第２の確率で、前記出力単語の語彙素性に変換することにより、前記出力単語又は前記出力単語の語彙素性を示す出力学習単語を取得する変換部と、
前記ニューラルネットワークの入力層に前記入力学習単語列を入力することにより、前記ニューラルネットワークの出力層のユニットから出力されるスコアを取得する計算部と、
前記出力学習単語に対応するユニットから出力されることが予想される予め定められた予想スコアと、前記出力学習単語に対応するユニットのスコアと、の差に基づいて前記ニューラルネットワークの学習を行う学習部、
として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は学習装置、学習方法及びプログラムに関する。
【背景技術】
【０００２】
単語列が与えられた際に、その単語列中の特定の位置の単語の単語スコアを計算する技術が従来から知られている。近年では、単語スコアの計算をニューラルネットワークによって行う技術が開発されている。
【０００３】
また、単語スコアの計算を行えるニューラルネットワークの学習方法が従来から知られている。従来の学習方法では、例えば、まず学習装置が、学習テキストコーパス中の一部又は全てのテキストに対して形態素解析を行うことにより、当該テキストを複数の単語を含む単語列に変換する。次に、学習装置が、この単語列からニューラルネットワークの入力となる単語の入力例と、入力例と対応する単語の出力例とを選択する。次に、学習装置が、ニューラルネットワークに実際に入力例を入力し、当該ニューラルネットワークの出力結果を得る。そして学習装置が、選択された出力例と、ニューラルネットワークの実際の出力結果との差異に基づいて、ニューラルネットワークのパラメータを更新する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４２４５５３０号公報
【特許文献２】特許第４５４３２９４号公報
【非特許文献】
【０００５】
【非特許文献１】“Ｎｅｕｒａｌ  ｐｒｏｂａｂｉｌｉｓｔｉｃ  ｌａｎｇｕａｇｅ  ｍｏｄｅｌｓ”  Ｙｏｓｈｕａ  Ｂｅｎ−ｇｉｏ，  Ｈｏｌｇｅｒ  Ｓｃｈｗｅｎｋ，  Ｊｅａｎ−Ｓｅｂａｓｔｉｅｎ  Ｓｅｎｅｃａｌ，  Ｆｒｅｄｅｒｉｃ  Ｍｏｒｉｎ，  Ｊｅａｎ−Ｌｕｃ  Ｇａｕｖａｉｎ
【非特許文献２】“Ｒｅｃｕｒｒｅｎｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ  ｂａｓｅｄ  ｌａｎｇｕａｇｅ  ｍｏｄｅｌ”  Ｔｏｍａｓ  Ｍｉｋｏｌｏｖ，  Ｍａｒｔｉｎ  Ｋａｒａｆｉａｔ，  Ｌｕｋａｓ  Ｂｕｒｇｅｔ，  Ｊａｎ  Ｃｅｒ−ｎｏｃｋｙ，  Ｓａｎｊｅｅｖ  Ｋｈｕｄａｎｐｕｒ
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の技術では、まだ知られていない新語の単語スコアを計算可能なニューラルネットワークの学習ができなかった。
【課題を解決するための手段】
【０００７】
実施形態の学習装置は、分割部と変換部と計算部と学習部とを備える。分割部は、学習対象のニューラルネットワークの入力層に入力される入力文字列を、複数の入力単語に分割する。変換部は、前記複数の入力単語のそれぞれを、前記入力単語に関連付けられた第１の確率で、前記入力単語の語彙素性に変換することにより、前記入力単語又は前記入力単語の語彙素性を示す入力学習単語を取得し、複数の前記入力学習単語を含む入力学習単語列が前記入力層に入力された場合に、前記ニューラルネットワークの出力層から出力されることが予想される出力単語を、前記出力単語に関連付けられた第２の確率で、前記出力単語の語彙素性に変換することにより、前記出力単語又は前記出力単語の語彙素性を示す出力学習単語を取得する。計算部４は、前記ニューラルネットワークの入力層に前記入力学習単語列を入力することにより、前記ニューラルネットワークの出力層のユニットから出力されるスコアを取得する。学習部は、前記出力学習単語に対応するユニットから出力されることが予想される予め定められた予想スコアと、前記出力学習単語に対応するユニットのスコアと、の差に基づいて前記ニューラルネットワークの学習を行う。
【図面の簡単な説明】
【０００８】
【図１】実施形態の学習装置の機能構成の例を示す図。
【図２】単語スコアの計算例について説明するための図。
【図３】実施形態のニューラルネットワークの例を示す図。
【図４】実施形態の分割部及び変換部の処理例を示す図。
【図５】実施形態の学習方法の例を示すフローチャート。
【図６】実施形態の変形例１のニューラルネットワークの例を示す図。
【図７】実施形態の変形例２の第１のニューラルネットワークの例を示す図。
【図８】実施形態の変形例２の第２のニューラルネットワークの例を示す図。
【図９】実施形態の変形例３のニューラルネットワークの例を示す図。
【図１０】実施形態の学習装置のハードウェア構成の例を示す図。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、学習装置、学習方法及びプログラムの実施形態を詳細に説明する。
【００１０】
［学習装置の機能構成］
はじめに、実施形態の学習装置の機能構成の例について説明する。
【００１１】
図１は実施形態の学習装置１００の機能構成の例を示す図である。実施形態の学習装置１００は、記憶部１、分割部２、変換部３、計算部４及び学習部５を備える。
【００１２】
記憶部１は情報を記憶する。記憶部１は、例えば単語リスト、既知語辞書、新語辞書、学習テキストコーパス、後述のニューラルネットワーク（図３参照）、及び、後述の変換確率情報（図４参照）等を記憶する。
【００１３】
単語リストは、単語のリストである。以下、単語リストを語彙という。また語彙に含まれる単語を既知語という。また語彙に含まれない単語を新語という。
【００１４】
既知語辞書は、既に知られている既知語と、当該既知語の語彙素性と、を関連付けて記憶する。既知語は、例えば国語辞書等に既に登録されている一般的によく知られている単語である。語彙素性は、単語をある基準で幾つかの集合に分類した際の集合の種類である。語彙素性は、例えば単語の品詞である。また例えば語彙素性は、単語の類似度により分類された集合の名称等である。なお単語は、自然言語に限らず、記号等を含む。
【００１５】
新語辞書は、新語と、当該新語の語彙素性とを関連付けて記憶する。学習装置１００は、新語辞書により、未知語を新語として扱うことができる。新語辞書には、例えばユーザにより随時、新しい未知語が新語として追加される。
【００１６】
以下、実施形態の説明では、単語の語彙素性が品詞である場合を例にして説明する。
【００１７】
学習テキストコーパスは、単語スコアの計算に使用されるニューラルネットワークの学習に使用される単語列を記憶する。
【００１８】
＜単語スコアの例＞
はじめに、簡単な例により単語スコアの例について説明する。単語スコアは、文字列に含まれるターゲット単語に対して計算される。具体的には、ターゲット単語の単語スコアは、ターゲット単語以外の単語が、単語列中に与えられた条件での条件付き確率により計算される。
【００１９】
図２は単語スコアの計算例について説明するための図である。図２の例では、単語列１０１〜１０３に含まれるターゲット単語ｗ３を計算する場合を示す。単語列１０１のターゲット単語ｗ３は「雨」である。単語列１０２のターゲット単語ｗ３は「カブトムシ」である。単語列１０３のターゲット単語ｗ３は「食べる」である。
【００２０】
ターゲット単語以外の単語は、単語ｗ１「明日」、及び、単語ｗ２「は」である。このとき、単語列１０１の単語スコアＰ１、単語列１０２の単語スコアＰ２、及び、単語列１０３の単語スコアＰ３は、下記式（１）〜（３）により計算される。
【００２１】
Ｐ１（ｗ３＝雨｜ｗ１＝明日，ｗ２＝は）＝０．３  ・・・（１）
Ｐ２（ｗ３＝カブトムシ｜ｗ１＝明日，ｗ２＝は）＝０．１  ・・・（２）
Ｐ３（ｗ３＝食べる｜ｗ１＝明日，ｗ２＝は）＝０．２  ・・・（３）
【００２２】
式（１）〜（３）の例では、単語列１０１の単語スコアが最も高い。そのため、例えば音声認識システムの認識結果として、単語列１０１〜１０３が得られた場合には、言語的な観点からは、認識結果は単語列１０１である可能性が最も高いことがわかる。
【００２３】
＜ニューラルネットワークの構造＞
具体的には、計算部４は、単語列に含まれるターゲット単語の単語スコアを、ニューラルネットワークを用いて計算する。
【００２４】
次に学習対象のニューラルネットワークの構造について説明する。
【００２５】
図３は実施形態のニューラルネットワーク２００の例を示す図である。図３の例は、簡単のため、ターゲット単語の３つ前までの単語に基づいて、当該ターゲット単語の単語スコアを計算する場合の構造を例示している。なおターゲット単語の単語スコアの計算に使用される単語の数は任意でよい。例えばターゲット単語の単語スコアは、ターゲット単語の５つ前までの単語に基づいて計算されてもよい。
【００２６】
実施形態のニューラルネットワーク２００は、入力層１０、中間層２０ａ〜２０ｃ、中間層３０及び出力層４０を有する。以下、中間層２０ａ〜２０ｃを区別しない場合、単に中間層２０という。なお図３の例では、ニューラルネットワーク２００は、中間層２０及び中間層３０の２層構成になっているが、中間層の層数は任意でよい。
【００２７】
入力層１０は、単語ユニット群１１ａ〜１１ｃ、及び、品詞ユニット群１２ａ〜１２ｃを有する。以下、単語ユニット群１１ａ〜１１ｃを区別しない場合、単に単語ユニット群１１という。同様に、品詞ユニット群１２ａ〜１２ｃを区別しない場合、単に品詞ユニット群１２という。単語ユニット群１１は、１以上の単語ユニットを含む。同様に、品詞ユニット群１２は、１以上の品詞ユニットを含む。
【００２８】
はじめに、計算部４は、ターゲット単語の３つ前までの入力情報を、入力層１０に入力する。
【００２９】
具体的には、計算部４は、ターゲット単語の１つ前の入力情報が単語である場合、当該単語を単語ユニット群１１ａに入力する。一方、計算部４は、ターゲット単語の１つ前の入力情報が品詞である場合、当該品詞を品詞ユニット群１２ａに入力する。
【００３０】
また計算部４は、ターゲット単語の２つ前の入力情報が単語である場合、当該単語を単語ユニット群１１ｂに入力する。一方、計算部４は、ターゲット単語の２つ前の入力情報が品詞である場合、当該品詞を品詞ユニット群１２ｂに入力する。
【００３１】
また計算部４は、ターゲット単語の３つ前の入力情報が単語である場合、当該単語を単語ユニット群１１ｃに入力する。一方、計算部４は、ターゲット単語の３つ前の入力情報が品詞である場合、当該品詞を品詞ユニット群１２ｃに入力する。
【００３２】
なお計算部４が、単語ユニット群１１に単語を入力する方法は任意でよい。計算部４は、例えば各々の単語に対して、予め定められた当該単語を識別するベクトルを単語ユニット群１１に入力する。なお単語を識別するベクトルは任意に定めてよい。単語を識別するベクトルは、例えば（０，０，０，・・・，０，１，０，・・・，０，０，０）等の１つの該当成分が１であり、他の成分は全て０であるベクトルである。この場合、ベクトルの各成分が、単語ユニット群１１に含まれる各ユニットに対応する。１が入力されたユニットは、活性化されたユニットと呼ばれる。
【００３３】
同様に、計算部４が、品詞ユニット群１２に品詞を入力する方法は任意でよい。計算部４は、例えば各々の品詞に対して、予め定められた当該品詞を識別するベクトルを品詞ユニット群１２に入力する。
【００３４】
以下、入力層１０の単語ユニット群１１に入力されたベクトルと、品詞ユニット群１２に入力されたベクトルと、を縦に連結することにより得られる列ベクトルを、単語ベクトルｖｋ（ｋ＝１，２，３）という。
【００３５】
次に、計算部４は、入力層１０の単語ベクトルｖｋ（ｋ＝１，２，３）に、下記式（４）による線形演算を行うことにより得られたベクトルｗｋ（ｋ＝１，２，３）を、中間層２０に入力する。
【００３６】
ｗｋ＝Ｗｖｋ  ・・・（４）
【００３７】
ここでＷは、単語ベクトルｖｋの結合重みを示すパラメータを表す行列である。
【００３８】
次に、計算部４は、中間層２０のベクトルｗｋ（ｋ＝１，２，３）に、下記式（５）による演算を行うことにより得られたベクトルｈを、中間層３０に入力する。
【００３９】
ｈｉ＝ｔａｎｈ［（Ｓｗ＋ｕ）ｉ］  ・・・（５）
【００４０】
ここでｉは、ベクトルｈのｉ番目の成分を示す。またｗは、中間層２０のベクトルｗｋ（ｋ＝１，２，３）を縦に連結することにより得られる列ベクトルを示す。またＳはベクトルｗの結合重みを示すパラメータを表す行列である。またｕは中間層３０の閾値パラメータを示す。またｔａｎｈはハイパボリックタンジェント関数を示す。
【００４１】
すなわちベクトルｈは、ベクトルｗに線形演算を行った後に、ハイパボリックタンジェント関数を適用することにより得られる。
【００４２】
次に、計算部４は、中間層３０のベクトルｈに、下記式（６）による線形演算を行うことにより得られたベクトルａに、下記式（７）によるソフトマックス演算を行う。そして計算部４は、ベクトルｙを出力層４０に入力する。
【００４３】
ａ＝Ｔｈ＋ｒ  ・・・（６）
ｙｉ＝ｅｘｐ（ａｉ）／Σｊｅｘｐ（ａｊ）  ・・・（７）
【００４４】
ここでＴはベクトルｈの結合重みを示すパラメータを表す行列である。またｒは出力層４０の閾値パラメータを示す。またｉは、ベクトルｙ及びベクトルａのｉ番目の成分を示す。またｊは、ベクトルａのｊ番目の成分を示す。またｅｘｐは指数関数を示す。
【００４５】
出力層４０は、単語スコアユニット群４１及び品詞スコアユニット群４２を有する。単語スコアユニット群４１は、１以上の単語スコアユニットを含む。単語スコアユニットの各々は、既に知られている単語（既知語）のスコアを示す。品詞スコアユニット群４２は、１以上の品詞スコアユニットを含む。品詞スコアユニットの各々は、一の品詞のスコアを示す。品詞は、例えば動詞、名詞及び形容詞等である。
【００４６】
計算部４は、上述の構造のニューラルネットワーク２００を用いることにより、単語と品詞とを含む単語列が入力層１０に与えられた場合でも、ターゲット単語の単語スコアを計算することができる。
【００４７】
具体的には、ターゲット単語ｓｉに対応する出力層４０の値ｙｉが、ターゲット単語ｓｉの単語スコアＰ（ｓｉ｜ｖ１，ｖ２，ｖ３）を表す。計算部４は、ターゲット単語ｓｉが品詞の場合でも、出力層４０に品詞スコアユニット群４２が存在するので、品詞のスコアを計算することができる。
【００４８】
なお上述の図３のニューラルネットワーク２００は、フィードフォワード型ニューラルネットワークであるが、他の構造のニューラルネットワークでもよい。ニューラルネットワーク２００は、例えばリカレント型ニューラルネットワークでもよい。
【００４９】
＜ニューラルネットワークの使用例＞
計算部４は、上述のニューラルネットワーク２００を使用することにより、単語列に新語が含まれる場合でも、ターゲット単語の単語スコアを計算することができる。具体的には、計算部４は、単語が既知語である場合、当該既知語を単語ユニット群１１に入力する。一方、計算部４は、単語が新語である場合、当該新語の品詞を品詞ユニット群１２に入力する。そして計算部４は、ターゲット単語ｓｉが新語である場合、当該新語の品詞に一致する品詞のスコアを、当該新語の単語スコアとして計算する。
【００５０】
＜ニューラルネットワークの学習＞
次にニューラルネットワーク２００の学習処理について説明する。
【００５１】
図１に戻り、分割部２は、学習対象のニューラルネットワーク２００の入力層１０に入力される入力文字列を形態素解析することにより、複数の入力単語に分割する。例えば学習テキストコーパスに単語列１０１（図２参照）が記憶されている場合、入力単語は、単語ｗ１「明日」、及び、単語ｗ２「は」である。
【００５２】
変換部３は、複数の入力単語のそれぞれを、入力単語に関連付けられた確率で、入力単語の品詞に変換することにより、入力単語又は入力単語の品詞を示す入力学習単語を取得する。
【００５３】
また変換部３は、複数の入力学習単語を含む入力学習単語列が入力層１０に入力された場合に、ニューラルネットワーク２００の出力層４０から出力されることが予想される出力単語を、出力単語に関連付けられた確率で、出力単語の品詞に変換することにより、出力単語又は出力単語の品詞を示す出力学習単語を取得する。
【００５４】
図４は実施形態の分割部２及び変換部３の処理例を示す図である。図４の例は、分割部２が、記憶部１に記憶された学習テキストコーパスから文字列１１１を取得した場合を示す。分割部２は、文字列１１１を、入力単語１１２〜１１５、及び、出力単語１１６に分割する。
【００５５】
次に、変換部３は、入力単語１１２〜１１５を、変換確率情報１１０に基づいて、入力単語１１２〜１１５の品詞に変換する。同様に、変換部３は、出力単語１１６を、変換確率情報１１０に基づいて、出力単語１１６の品詞に変換する。これにより変換部３は、文字列１１１を、入力単語又は入力単語の品詞を示す入力学習単語を含む入力学習単語列１１７と、出力単語又は出力単語の品詞を示す出力学習単語と、に変換する。図４の入力学習単語列１１７の例では、入力単語１１４が品詞「名詞」に変換されている。
【００５６】
変換確率情報１１０は、単語、品詞及び確率を関連付けて記憶する。図４の変換確率情報１１０の例では、例えば「天気」が、品詞「名詞」に変換される確率は１％である。
【００５７】
計算部４は、ニューラルネットワーク２００の入力層１０に入力学習単語列１１７を入力することにより、ニューラルネット１１８ワーク２００の出力層４０のユニットから出力されるスコアを取得する。図４の例では、計算部４は、出力学習単語１１８に対応するユニットのスコアを取得する。
【００５８】
学習部５は、出力学習単語１１８の予想スコアと、出力学習単語１１８に対応するユニットのスコアと、の差に基づいてニューラルネットワーク２００の学習を行う。なおニューラルネットワーク２００の学習方法は任意でよい。学習部５は、例えばバックプロパゲーションによりニューラルネットワーク２００の学習を行う。
【００５９】
［学習方法］
次に実施形態の学習方法の例について説明する。
【００６０】
図５は実施形態の学習方法の例を示すフローチャートである。はじめに、分割部２は、学習対象のニューラルネットワーク２００の入力層１０に入力される入力文字列を形態素解析することにより、複数の入力単語に分割する（ステップＳ１）。具体的には、分割部２は、ニューラルネットワーク２００の学習に使用される文字列を、学習テキストコーパスから取得する。そして分割部２は、学習テキストコーパスから取得された文字列を形態素解析することにより、当該文字列を入力文字列（複数の入力単語）と、出力単語と、に分割する。なお出力単語は、ステップＳ３の処理で使用される。
【００６１】
次に、変換部３が、複数の入力単語のそれぞれを、入力単語に関連付けられた確率で、入力単語の品詞に変換することにより、入力単語又は入力単語の品詞を示す入力学習単語を取得する（ステップＳ２）。
【００６２】
次に、変換部３は、複数の入力学習単語を含む入力学習単語列が入力層１０に入力された場合に、ニューラルネットワーク２００の出力層４０から出力されることが予想される出力単語を、出力単語に関連付けられた確率で、出力単語の品詞に変換することにより、出力単語又は出力単語の品詞を示す出力学習単語を取得する（ステップＳ３）。
【００６３】
次に、計算部４が、ニューラルネットワーク２００の入力層１０に入力学習単語列を入力することにより、ニューラルネットワーク２００の出力層４０のユニットから出力されるスコアを取得する（ステップＳ４）。
【００６４】
次に、学習部５が、出力学習単語の予想スコアと、出力学習単語に対応するユニットのスコアと、を比較する（ステップＳ５）。次に、学習部５が、ステップＳ５の処理による比較結果に基づいて、ニューラルネットワーク２００を表すパラメータを更新する（ステップＳ６）。
【００６５】
学習装置１００は、上述のステップＳ１〜ステップＳ６の処理を繰り返すことにより、ニューラルネットワーク２００の学習を行う。
【００６６】
以上説明したように、実施形態の学習装置１００では、分割部２が、学習対象のニューラルネットワーク２００の入力層１０に入力される入力文字列を、複数の入力単語に分割する。変換部３が、複数の入力単語のそれぞれを、入力単語に関連付けられた確率で、入力単語の品詞に変換することにより、入力単語又は入力単語の品詞を示す入力学習単語を取得する。また変換部３は、複数の入力学習単語を含む入力学習単語列が入力層１０に入力された場合に、ニューラルネットワーク２００の出力層４０から出力されることが予想される出力単語を、出力単語に関連付けられた確率で、出力単語の品詞に変換することにより、出力単語又は出力単語の品詞を示す出力学習単語を取得する。計算部４が、ニューラルネットワーク２００の入力層１０に入力学習単語列を入力することにより、ニューラルネットワーク２００の出力層４０のユニットから出力されるスコアを取得する。そして学習部５が、出力学習単語の予想スコアと、出力学習単語に対応するユニットのスコアと、の差に基づいてニューラルネットワーク２００の学習を行う。
【００６７】
これにより実施形態の学習装置１００によれば、まだ知られていない新語の単語スコアを計算するニューラルネットワーク２００の学習を行うことができる。例えば実施形態の学習装置１００によれば、ニューラルネットワーク２００を、既知語辞書を用いて学習した後でも、随時、当該既知語辞書に登録されていない新語のスコアを計算する当該ニューラルネットワーク２００の学習を行うことができる。
【００６８】
（実施形態の変形例１）
次に実施形態の変形例１について説明する。実施形態の変形例１の説明では、上述の実施形態と同様の説明については省略し、上述の実施形態と異なる箇所について説明する。
【００６９】
実施形態の変形例１の学習装置１００の機能構成の説明は、実施形態の学習装置１００の機能構成の例の説明（図１参照）と同じなので省略する。実施形態の変形例１の説明では、語彙素性が品詞である場合を例にして説明する。
【００７０】
実施形態の変形例１では、学習対象のニューラルネットワーク２００の構造が、上述の実施形態のニューラルネットワーク２００の構造（図３参照）と異なる。具体的には、実施形態の変形例１では、ニューラルネットワーク２００の出力層４０が、品詞スコアユニット群４２を有さない点が、上述の実施形態の場合と異なる。
【００７１】
＜ニューラルネットワークの構造＞
図６は実施形態の変形例１のニューラルネットワーク２００の例を示す図である。図６の例は、出力層４０に、出力単語のスコアを出力するユニットがあり、かつ、品詞のスコアを出力するユニットがない場合を示す。
【００７２】
実施形態の変形例１のニューラルネットワーク２００は、入力層１０、中間層２０ａ〜２０ｃ、中間層３０及び出力層４０を有する。実施形態の変形例１の入力層１０、中間層２０ａ〜２０ｃ及び中間層３０の説明は、上述の実施形態の場合と同じなので省略する。
【００７３】
出力層４０は、単語スコアユニット群４１を有する。単語スコアユニット群４１は、単語のスコアを示す。単語スコアユニット群４１は、１以上の単語スコアユニットを含む。単語スコアユニットの各々は、既に知られている単語（既知語）のスコアを示す。
【００７４】
実施形態の変形例１のニューラルネットワーク２００は、出力層４０に品詞スコアユニット群４２がないので、上述の実施形態に比べて、ニューラルネットワーク２００のパラメータを減らすことができる。すなわち実施形態の変形例１では、記憶部１に記憶されるニューラルネットワーク２００の記憶容量を削減することができる。
【００７５】
＜ニューラルネットワークの使用例＞
計算部４は、上述のニューラルネットワーク２００を使用することにより、単語列に新語が含まれる場合でも、ターゲット単語の単語スコアを計算することができる。具体的には、計算部４は、ターゲット単語が新語である場合、単語スコアユニット群４１に含まれる既知語のスコアの全て又は一部のうち、既知語の品詞が、ターゲット単語の新語の品詞と一致する既知語のスコアに基づいて、新語の単語スコアを計算する。計算部４は、例えばターゲット単語が新語である場合、単語スコアユニット群４１に含まれる既知語のスコアの全て又は一部のうち、既知語の品詞が、ターゲット単語の新語の品詞と一致する既知語のスコアの和を、新語の単語スコアとして計算する。
【００７６】
図６の例は、ベクトルｙの成分ｙ２、ｙｉ、ｙｊ及びｙｋが示す既知語のスコアに対応する既知語の品詞が、ターゲット単語である新語の品詞と一致する場合を示す。この場合、計算部４は、ターゲット単語が新語である場合、ｙ２、ｙｉ、ｙｊ及びｙｋが示す既知語のスコアの和を、新語の単語スコアとして計算する。
【００７７】
＜ニューラルネットワークの学習＞
実施形態の変形例１では、ニューラルネットワーク２００の出力層４０に、品詞スコアユニット群４２を有さない。そのため実施形態の変形例１のニューラルネットワーク２００は、品詞のスコアを出力するユニットを表すパラメータがない。
【００７８】
そのため実施形態の変形例１の変換部３は、ニューラルネットワーク２００の出力層４０から出力されることが予想される出力単語を、当該出力単語の品詞に変換する確率を０にする。これにより実施形態の変形例１では、出力単語を当該出力単語の品詞にする変換が行われないので、上述の出力学習単語は、常に上述の出力単語に一致する。
【００７９】
実施形態の変形例１の学習装置１００によれば、出力層４０に、出力単語のスコアを出力するユニットがあり、かつ、品詞のスコアを出力するユニットがない場合にも、上述の実施形態と同様の効果が得られる。
【００８０】
（実施形態の変形例２）
次に実施形態の変形例２について説明する。実施形態の変形例２の説明では、上述の実施形態と同様の説明については省略し、上述の実施形態と異なる箇所について説明する。
【００８１】
実施形態の変形例２の学習装置１００の機能構成の説明は、実施形態の学習装置１００の機能構成の例の説明（図１参照）と同じなので省略する。実施形態の変形例２の説明では、語彙素性が品詞である場合を例にして説明する。
【００８２】
実施形態の変形例２では、学習対象のニューラルネットワーク２００の構造が、上述の実施形態のニューラルネットワーク２００の構造（図３参照）と異なる。具体的には、実施形態の変形例２のニューラルネットワーク２００は、構造的に２つに分離された第１のニューラルネットワーク及び第２のニューラルネットワークを含む。
【００８３】
＜ニューラルネットワークの構造＞
図７は実施形態の変形例２の第１のニューラルネットワーク２００ａの例を示す図である。図７の例は、出力層４０に、出力単語のスコアを出力するユニットがあり、かつ、品詞のスコアを出力するユニットがない場合を示す。
【００８４】
実施形態の変形例２の第１のニューラルネットワーク２００ａは、入力層１０、中間層２０ａ〜２０ｃ、中間層３０及び出力層４０を有する。実施形態の変形例２の第１のニューラルネットワーク２００ａの入力層１０、中間層２０ａ〜２０ｃ及び中間層３０の説明は、実施形態のニューラルネットワーク２００と同じなので省略する。
【００８５】
出力層４０は、単語スコアユニット群４１を有する。単語スコアユニット群４１は、１以上の単語スコアユニットを含む。単語スコアユニットの各々は、既に知られている単語（既知語）のスコアを示す。
【００８６】
図８は実施形態の変形例２の第２のニューラルネットワーク２００ｂの例を示す図である。図８の例は、出力層４０に、出力単語のスコアを出力するユニットがなく、かつ、品詞のスコアを出力するユニットがある場合を示す。
【００８７】
実施形態の変形例２の第２のニューラルネットワーク２００ｂは、入力層１０、中間層２０ａ〜２０ｃ、中間層３０及び出力層４０を有する。実施形態の変形例２の第２のニューラルネットワーク２００ｂの入力層１０、中間層２０ａ〜２０ｃ及び中間層３０の説明は、実施形態のニューラルネットワーク２００と同じなので省略する。
【００８８】
出力層４０は、品詞スコアユニット群４２を有する。品詞スコアユニット群４２は、１以上の品詞スコアユニットを含む。品詞スコアユニットの各々は、一の品詞のスコアを示す。品詞は、例えば動詞、名詞及び形容詞等である。
【００８９】
すなわち実施形態の変形例２では、単語のスコアを計算する第１のニューラルネットワーク２００ａの構造、及び、品詞のスコアを計算する第２のニューラルネットワーク２００ｂの構造を、それぞれのスコア計算に適した構造にすることができる。
【００９０】
＜ニューラルネットワークの使用例＞
計算部４は、上述の第１のニューラルネットワーク２００ａ、及び、第２のニューラルネットワーク２００ｂを使用することにより、単語列に新語が含まれる場合でも、ターゲット単語の単語スコアを計算することができる。具体的には、計算部４は、ターゲット単語が新語である場合、第２のニューラルネットワーク２００ｂの品詞スコアユニット群４２のスコアを、ターゲット単語の単語スコアとして計算する。一方、計算部４は、ターゲット単語が新語でない場合、第１のニューラルネットワーク２００ａの単語スコアユニット群４１のスコアを、ターゲット単語の単語スコアとして計算する。
【００９１】
＜第１のニューラルネットワークの学習＞
実施形態の変形例２の第１のニューラルネットワーク２００ａでは、出力層４０に、品詞スコアユニット群４２を有さない。そのため実施形態の変形例２の第１のニューラルネットワーク２００ａは、上述の実施形態の変形例１の場合と同様に、品詞のスコアを出力するユニットを表すパラメータがない。第１のニューラルネットワーク２００ａの学習方法の説明は、上述の実施形態の変形例１の場合と同じなので省略する。
【００９２】
実施形態の変形例２の第１のニューラルネットワーク２００ａの学習では、出力単語を当該出力単語の品詞にする変換が行われないので、上述の出力学習単語は、常に上述の出力単語に一致する。
【００９３】
＜第２のニューラルネットワークの学習＞
実施形態の変形例２の第２のニューラルネットワーク２００ｂでは、出力層４０に、単語スコアユニット群４１を有さない。そのため実施形態の変形例２の第２のニューラルネットワーク２００ｂは、既に知られている単語（既知語）のスコアを出力するユニットを表すパラメータがない。
【００９４】
そのため実施形態の変形例２の変換部３は、第２のニューラルネットワーク２００ｂの出力層４０から出力されることが予想される出力単語を、当該出力単語の品詞に変換する確率を１にする。これにより実施形態の変形例２の第２のニューラルネットワーク２００ｂの学習では、出力単語を当該出力単語の品詞にする変換が常に行われるので、上述の出力学習単語は、常に上述の出力単語の品詞に一致する。
【００９５】
実施形態の変形例２の学習装置１００によれば、出力層４０に、出力単語のスコアを出力するユニットがあり、かつ、品詞のスコアを出力するユニットがない場合（図７参照）にも、上述の実施形態と同様の効果が得られる。また、実施形態の変形例２の学習装置１００によれば、出力層４０に、出力単語のスコアを出力するユニットがなく、かつ、品詞のスコアを出力するユニットがある場合（図８参照）にも、上述の実施形態と同様の効果が得られる。
【００９６】
（実施形態の変形例３）
次に実施形態の変形例３について説明する。実施形態の変形例３の説明では、上述の実施形態と同様の説明については省略し、上述の実施形態と異なる箇所について説明する。
【００９７】
実施形態の変形例３の学習装置１００の機能構成の説明は、実施形態の学習装置１００の機能構成の例の説明（図１参照）と同じなので省略する。実施形態の変形例３の説明では、語彙素性が品詞である場合を例にして説明する。
【００９８】
実施形態の変形例３では、学習対象のニューラルネットワーク２００の構造が、上述の実施形態のニューラルネットワーク２００の構造（図３参照）と異なる。具体的には、ニューラルネットワーク２００の入力層１０に単語ユニット群１１がなく、ニューラルネットワーク２００の出力層４０に単語スコアユニット群４１がない点が、上述の実施形態の場合と異なる。
【００９９】
＜ニューラルネットワークの構造＞
図９は実施形態の変形例３のニューラルネットワーク２００の例を示す図である。実施形態の変形例３のニューラルネットワーク２００は、入力層１０、中間層２０ａ〜２０ｃ、中間層３０及び出力層４０を有する。
【０１００】
入力層１０は、品詞ユニット群１２ａ〜１２ｃを有する。品詞ユニット群１２は、１以上の品詞ユニットを含む。
【０１０１】
実施形態の変形例３の中間層２０ａ〜２０ｃ及び中間層３０の説明は、実施形態の中間層２０ａ〜２０ｃ及び中間層３０の説明と同じなので省略する。
【０１０２】
出力層４０は、品詞スコアユニット群４２を有する。品詞スコアユニット群４２は、１以上の品詞スコアユニットを含む。品詞スコアユニットの各々は、一の品詞のスコアを示す。品詞は、例えば動詞、名詞及び形容詞等である。
【０１０３】
実施形態の変形例３では、ニューラルネットワーク２００の入力層１０に単語ユニット群１１がなく、ニューラルネットワーク２００の出力層４０に単語スコアユニット群４１がない。そのため実施形態の変形例３では、上述の実施形態に比べて、ニューラルネットワーク２００のパラメータを減らすことができる。すなわち実施形態の変形例３では、記憶部１に記憶されるニューラルネットワーク２００の記憶容量を削減することができる。
【０１０４】
また、実施形態の変形例３では、入力層１０に入力される情報が品詞であり、出力層４０から出力される情報が品詞スコアであるので、ニューラルネットワーク２００で扱われる情報を品詞に特化させることができる。そのため実施形態の変形例３の学習装置１００は、ニューラルネットワーク２００の統計学習を有利に行うことができる。
【０１０５】
＜ニューラルネットワークの使用例＞
計算部４は、上述のニューラルネットワーク２００を使用することにより、単語列に新語が含まれる場合でも、ターゲット単語の単語スコアを計算することができる。具体的には、計算部４は、ターゲット単語の３つ前までの単語に基づいて、入力層１０に情報の入力を行う。計算部４は、ターゲット単語の１つ前の単語の品詞を品詞ユニット群１２ａに入力する。計算部４は、ターゲット単語の２つ前の単語の品詞を品詞ユニット群１２ｂに入力する。計算部４は、ターゲット単語の３つ前の単語の品詞を品詞ユニット群１２ｃに入力する。そして計算部４は、出力層４０の品詞スコアユニット群４２のスコアを、ターゲット単語の単語スコアとして計算する。
【０１０６】
＜ニューラルネットワークの学習＞
実施形態の変形例３では、ニューラルネットワーク２００の入力層１０に、単語ユニット群１１を有さない。そのため実施形態の変形例３のニューラルネットワーク２００は、単語を入力するユニットを表すパラメータがない。
【０１０７】
そのため実施形態の変形例３の変換部３は、ニューラルネットワーク２００の入力層１０に入力する入力単語を、当該入力単語の品詞に変換する確率を１にする。これにより実施形態の変形例３のニューラルネットワーク２００の学習では、入力単語を当該入力単語の品詞にする変換が常に行われるので、上述の入力学習単語は、常に上述の入力単語の品詞に一致する。
【０１０８】
また実施形態の変形例３では、ニューラルネットワーク２００の出力層４０に、単語スコアユニット群４１を有さない。そのため実施形態の変形例３のニューラルネットワーク２００は、上述の実施形態の変形例２の第２のニューラルネットワーク２００ｂの場合と同様に、既に知られている単語（既知語）のスコアを出力するユニットを表すパラメータがない。ニューラルネットワーク２００の学習方法の説明は、上述の実施形態の変形例２の第２のニューラルネットワーク２００ｂの場合と同じなので省略する。
【０１０９】
実施形態の変形例３のニューラルネットワーク２００の学習では、出力単語を当該出力単語の品詞にする変換が常に行われるので、上述の出力学習単語は、常に上述の出力単語の品詞に一致する。
【０１１０】
実施形態の変形例３の学習装置１００によれば、入力層１０に、入力単語を入力するユニットがなく、かつ、品詞を入力するユニットがない場合、かつ、出力層４０に、出力単語のスコアを出力するユニットがなく、かつ、品詞のスコアを出力するユニットがある場合にも、上述の実施形態と同様の効果が得られる。
【０１１１】
以上説明したように、実施形態の学習装置１００は、様々な構造のニューラルネットワーク２００の学習に適用することができる。学習対象のニューラルネットワーク２００として、いくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。上述のニューラルネットワーク２００は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。
【０１１２】
ニューラルネットワーク２００の入力層１０又は出力層４０の構造が簡略化されている場合に、変換部３が使用する上述の確率をまとめると、以下のようになる。
【０１１３】
（１）ニューラルネットワーク２００の入力層１０に、入力単語を入力するユニットがなく、かつ、語彙素性（例えば品詞）を入力するユニットがある場合、変換部３は、入力層１０に入力する入力単語を、当該入力単語の語彙素性に変換する確率を１にする。
【０１１４】
（２）ニューラルネットワーク２００の入力層１０に、入力単語を入力するユニットがあり、かつ、語彙素性を入力するユニットがない場合、変換部３は、入力層１０に入力する入力単語を、当該入力単語の語彙素性に変換する確率を０にする。
【０１１５】
（３）ニューラルネットワーク２００の出力層４０に、出力単語のスコアを出力するユニットがなく、かつ、語彙素性のスコアを出力するユニットがある場合、変換部３は、出力層４０から出力されることが予想される出力単語を、当該出力単語の品詞に変換する確率を１にする。
【０１１６】
（４）ニューラルネットワーク２００の出力層４０に、出力単語のスコアを出力するユニットがあり、かつ、語彙素性のスコアを出力するユニットがない場合、変換部３は、出力層４０から出力されることが予想される出力単語を、当該出力単語の品詞に変換する確率を０にする。
【０１１７】
［学習装置のハードウェア構成］
最後に、実施形態の学習装置１００のハードウェア構成の例について説明する。
【０１１８】
図１３は実施形態の学習装置１００のハードウェア構成の例を示す図である。実施形態の学習装置１００は、制御装置３０１、主記憶装置３０２、補助記憶装置３０３、表示装置３０４、入力装置３０５及び通信装置３０６を備える。制御装置３０１、主記憶装置３０２、補助記憶装置３０３、表示装置３０４、入力装置３０５及び通信装置３０６は、バス３１０を介して接続されている。
【０１１９】
制御装置３０１は補助記憶装置３０３から主記憶装置３０２に読み出されたプログラムを実行する。主記憶装置３０２はＲＯＭ及びＲＡＭ等のメモリである。補助記憶装置３０３はメモリカード及びＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等である。
【０１２０】
表示装置３０４は情報を表示する。表示装置３０４は、例えば液晶ディスプレイである。入力装置３０５は、情報の入力を受け付ける。入力装置３０５は、例えばキーボード及びマウス等である。なお表示装置３０４及び入力装置３０５は、表示機能と入力機能とを兼ねる液晶タッチパネル等でもよい。通信装置３０６は他の装置と情報を送受信する。
【０１２１】
実施形態の学習装置１００で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、メモリカード、ＣＤ−Ｒ及びＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータ・プログラム・プロダクトとして提供される。
【０１２２】
また実施形態の学習装置１００で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また実施形態の学習装置１００が実行するプログラムを、ダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
【０１２３】
また実施形態の学習装置１００で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１２４】
実施形態の学習装置１００で実行されるプログラムは、上述の実施形態の学習装置１００の機能構成のうち、プログラムにより実現可能な機能を含むモジュール構成となっている。
【０１２５】
プログラムにより実現される機能は、制御装置３０１が補助記憶装置３０３等の記憶媒体からプログラムを読み出して実行することにより、プログラムにより実現される機能が主記憶装置３０２にロードされる。すなわちプログラムにより実現される機能は、主記憶装置３０２上に生成される。
【０１２６】
なお実施形態の学習装置１００の機能の一部又は全部を、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のハードウェアにより実現してもよい。
【０１２７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１２８】
１  記憶部
２  分割部
３  変換部
４  計算部
５  学習部
１００  学習装置
２００  ニューラルネットワーク
３０１  制御装置
３０２  主記憶装置
３０３  補助記憶装置
３０４  表示装置
３０５  入力装置
３０６  通信装置
【図１】
0006605997.tif 000002
【図２】
0006605997.tif 000003
【図３】
0006605997.tif 000004
【図４】
0006605997.tif 000005
【図５】
0006605997.tif 000006
【図６】
0006605997.tif 000007
【図７】
0006605997.tif 000008
【図８】
0006605997.tif 000009
【図９】
0006605997.tif 000010
【図１０】
0006605997.tif 000011