(57)【要約】      （修正有）【課題】機械学習の計算負荷を適切に小さくする機械学習システム、識別システム、学習済モデル及び入出力値データを提供する。【解決手段】機械翻訳システム１００に含まれる機械学習システム１１０は、機械学習を行ってニューラルネットワークを生成するシステムである。機械学習システム１１０は、機械学習に用いる学習データである入力情報及び出力情報として翻訳前後の文章を取得する学習データ取得部１１１と、入力情報及び出力情報のそれぞれを２進数のビット系列に変換する学習用変換部１１２と、出力情報のビット系列から、誤り訂正符号によって冗長ビット系列を生成する誤り訂正符号生成部１１３と、入力情報のビット系列をニューラルネットワークへの入力値とし、冗長ビット系列を当該ニューラルネットワークへの出力値として機械学習を行って、ニューラルネットワークを生成するニューラルネットワーク生成部１１４とを備える。【選択図】図１
2019021183.tif 000002
【特許請求の範囲】
【請求項１】
機械学習を行ってニューラルネットワークを生成する機械学習システムであって、
機械学習に用いる学習データである入力情報及び出力情報を取得する学習データ取得部と、
前記学習データ取得部によって取得された入力情報及び出力情報を示す数値のそれぞれを２進数のビット系列に変換する学習用変換部と、
前記学習用変換部によって変換された出力情報のビット系列から、誤り訂正符号によって冗長ビット系列を生成する誤り訂正符号生成部と、
前記学習用変換部によって変換された入力情報のビット系列をニューラルネットワークへの入力値とし、前記誤り訂正符号生成部によって生成された冗長ビット系列を当該ニューラルネットワークへの出力値として機械学習を行って、ニューラルネットワークを生成するニューラルネットワーク生成部と、
を備える機械学習システム。
【請求項２】
前記誤り訂正符号生成部は、畳み込み符号によって冗長ビット系列を生成する請求項１に記載の機械学習システム。
【請求項３】
前記ニューラルネットワークは、機械翻訳に用いられ、
前記学習データ取得部は、入力情報及び出力情報として、翻訳前の文章及び翻訳後の文章をそれぞれ取得する、請求項１又は２に記載の機械学習システム。
【請求項４】
請求項１〜３の何れか一項に記載の機械学習システムによって生成されたニューラルネットワークを用いて識別を行う識別システムであって、
識別対象である識別対象情報を取得する識別対象情報取得部と、
前記識別対象情報取得部によって取得された識別対象情報を示す数値を２進数のビット系列に変換する識別用変換部と、
前記識別用変換部によって変換された識別対象情報のビット系列を前記ニューラルネットワークへの入力値とし、当該ニューラルネットワークの出力値に基づく符号化系列を取得する符号化系列取得部と、
前記符号化系列取得部によって取得された符号化系列を復号してビット系列を取得する復号部と、
前記復号部によって取得されたビット系列から識別後の情報を示す数値を特定して識別後の情報を取得する識別部と、
を備える識別システム。
【請求項５】
前記復号部は、前記符号化系列取得部によって取得された符号化系列を軟判定復号する請求項４に記載の識別システム。
【請求項６】
前記復号部は、前記符号化系列取得部によって取得された１つの符号化系列から、複数の復号後のビット系列の候補と各候補の尤度とを取得する請求項４又は５に記載の識別システム。
【請求項７】
機械学習によって生成されるニューラルネットワークを含む学習済モデルであって、
前記ニューラルネットワークが、識別対象である識別対象情報を示す数値が変換された２進数のビット系列を入力値として、識別後の情報を示す数値に対応するビット系列に復号することができる符号化系列に対応する出力値を出力する学習済モデル。
【請求項８】
ニューラルネットワークを生成するための機械学習に用いる学習データである入力情報及び出力情報に基づく入出力値データであって、
前記入力情報を示す数値が変換された２進数のビット系列であって、前記ニューラルネットワークへの入力値とされるビット系列と、
前記出力情報を示す数値が変換された２進数のビット系列から、誤り訂正符号によって生成された冗長ビット系列であって、前記ニューラルネットワークへの出力値とされる冗長ビット系列と、
を含む入出力値データ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習システム、識別システム、学習済モデル及び入出力値データに関する。
【背景技術】
【０００２】
例えば特許文献１に示されるように、従来から、機械学習を用いた機械翻訳が提案されている。近年、ニューラルネットワークを用いたニューラル機械翻訳が注目されつつある。従来の統計ベースの機械翻訳に比べて、より自然な翻訳が可能なため、ニューラルネットワークを用いた機械学習による翻訳システムが開発されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−５８８６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ニューラルネットワークを用いた翻訳システムの課題として、学習データとして膨大な対訳コーパスが必要になり、機械学習のための計算時間である学習時間が長くなるというという点がある。通常、この翻訳システムでは、膨大な語彙データの一つ一つの単語等にＩＤを割り当て、ＩＤの数を次元数とする入力ベクトルと出力ベクトルとをニューラルネットワークの学習に用いる。例えば、入力ベクトルには、翻訳前の単語等のＩＤに対応する要素の値が１で、他の要素の値が０であるone-hotなベクトルを用いる。出力では、softmax関数を用いて最も尤度が高い要素の値が１、他の要素の値が０となる出力ベクトルに変換し、これをＩＤに変換して翻訳後の単語等を特定する。そのため、入力ベクトルと出力ベクトルとのサイズが大きくなり、その結果、ニューラルネットワークのサイズも大きくなってしまう。ニューラルネットワークのサイズが大きくなると、それに応じて学習時間が長くなってしまう。翻訳システムに限らず、分類問題を扱うニューラルネットワークでも同様の課題がある。
【０００５】
本発明は、上記に鑑みてなされたものであり、機械学習の計算負荷を適切に小さくすることができる機械学習システム、識別システム、学習済モデル及び入出力値データを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するために、本発明に係る機械学習システムは、機械学習を行ってニューラルネットワークを生成する機械学習システムであって、機械学習に用いる学習データである入力情報及び出力情報を取得する学習データ取得部と、学習データ取得部によって取得された入力情報及び出力情報を示す数値のそれぞれを２進数のビット系列に変換する学習用変換部と、学習用変換部によって変換された出力情報のビット系列から、誤り訂正符号によって冗長ビット系列を生成する誤り訂正符号生成部と、学習用変換部によって変換された入力情報のビット系列をニューラルネットワークへの入力値とし、誤り訂正符号生成部によって生成された冗長ビット系列を当該ニューラルネットワークへの出力値として機械学習を行って、ニューラルネットワークを生成するニューラルネットワーク生成部と、を備える。
【０００７】
本発明に係る機械学習システムでは、入力情報及び出力情報が変換されたビット系列が機械学習に用いられる。機械学習に用いられる互いに異なる情報の数（例えば、機械翻訳に用いられる単語の種類の数）が多い場合、当該情報を示す数値のビット系列のサイズは、one-hotなベクトルと比べて非常に小さくなる。従って、ニューラルネットワークのサイズを圧縮することができ、機械学習の計算負荷を小さくすることができる。
【０００８】
一方でビット系列を用いたことで、ニューラルネットワークからの出力に１つでも（１ビットでも）間違っていると適切な識別を行うことができない。本発明に係る機械学習システムでは、出力情報に対応するビット系列から誤り訂正符号によって生成される冗長ビット系列が機械学習に用いられる。従って、入力情報及び出力情報をビット系列に変換した場合であっても識別の誤りが生じることを防止することができる。即ち、本発明に係る機械学習システムによれば、機械学習の計算負荷を適切に小さくすることができる。
【０００９】
また、以下の識別システム、学習済モデル及び入出力値データも、本発明に係る機械学習システムに対応する新規な構成を有しており、発明に相当する。
【００１０】
即ち、本発明に係る識別システムは、上記の機械学習システムによって生成されたニューラルネットワークを用いて識別を行う識別システムであって、識別対象である識別対象情報を取得する識別対象情報取得部と、識別対象情報取得部によって取得された識別対象情報を示す数値を２進数のビット系列に変換する識別用変換部と、識別用変換部によって変換された識別対象情報のビット系列をニューラルネットワークへの入力値とし、当該ニューラルネットワークの出力値に基づく符号化系列を取得する符号化系列取得部と、符号化系列取得部によって取得された符号化系列を復号してビット系列を取得する復号部と、復号部によって取得されたビット系列から識別後の情報を示す数値を特定して識別後の情報を取得する識別部と、を備える。
【００１１】
また、本発明に係る学習済モデルは、機械学習によって生成されるニューラルネットワークを含む学習済モデルであって、ニューラルネットワークが、識別対象である識別対象情報を示す数値が変換された２進数のビット系列を入力値として、識別後の情報を示す数値に対応するビット系列に復号することができる符号化系列に対応する出力値を出力する。
【００１２】
また、本発明に係る入出力値データは、ニューラルネットワークを生成するための機械学習に用いる学習データである入力情報及び出力情報に基づく入出力値データであって、入力情報を示す数値が変換された２進数のビット系列であって、ニューラルネットワークへの入力値とされるビット系列と、出力情報を示す数値が変換された２進数のビット系列から、誤り訂正符号によって生成された冗長ビット系列であって、ニューラルネットワークへの出力値とされる冗長ビット系列と、を含む。
【発明の効果】
【００１３】
本発明によれば、ニューラルネットワークのサイズを圧縮することができ、機械学習の計算負荷を小さくすることができると共に識別の誤りが生じることを防止することができる。即ち、本発明によれば、機械学習の計算負荷を適切に小さくすることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係る機械学習システム及び識別システムである機械翻訳システムの構成を示す図である。
【図２】実施形態おける畳み込み符号器を示す図である。
【図３】実施形態おけるニューラルネットワークを模式的に示す図である。
【図４】本発明の実施形態に係る機械翻訳システムにおいて、機械学習を行う際に実行される処理を示すフローチャートである。
【図５】本発明の実施形態に係る機械翻訳システムにおいて、機械翻訳を行う際に実行される処理を示すフローチャートである。
【図６】本発明の実施形態に係る機械学習システム及び識別システムである機械翻訳システムのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面と共に本発明に係る機械学習システム、識別システム、学習済モデル及び入出力値データの実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００１６】
図１に本実施形態に係る機械学習システム及び識別システムである機械翻訳システム１００を示す。機械翻訳システム１００は、予め設定された言語の文章を入力（取得）して、予め設定された別の言語に機械翻訳するシステム（装置）である。例えば、機械翻訳システム１００は、日本語の文章を英語に、あるいは英語の文章を日本語に翻訳する。
【００１７】
機械翻訳システム１００は、機械学習を行ってニューラルネットワークを生成し、生成したニューラルネットワークを用いて機械翻訳を行う。機械翻訳システム１００は、機械学習を行う構成として機械学習システム１１０と、機械翻訳、即ち、機械学習に基づく識別を行う構成として識別システム１２０とを含む。
【００１８】
引き続いて、本実施形態に係る機械翻訳システム１００に含まれる機械学習システム１１０と、識別システム１２０とのそれぞれの機能を説明する。図１に示すように、機械学習システム１１０は、学習データ取得部１１１と、学習用変換部１１２と、誤り訂正符号生成部１１３と、ニューラルネットワーク生成部１１４とを備えて構成される。
【００１９】
学習データ取得部１１１は、機械学習に用いる学習データ（教師データ）である入力情報及び出力情報を取得する機能部である。学習データ取得部１１１は、入力情報及び出力情報として、翻訳前の文章及び翻訳後の文章をそれぞれ取得する。
【００２０】
学習データである互いに対応付けられた翻訳前後の文章、即ち、対訳コーパスは、機械翻訳システム１００の管理者等によって用意される。翻訳前の文章は、機械翻訳システム１００による機械翻訳の翻訳前の言語の文章であり、翻訳後の文章は、機械翻訳システム１００による機械翻訳の翻訳後の言語の文章である。学習データ取得部１１１は、用意された翻訳前後の文章を取得する。機械翻訳に用いるニューラルネットワークを適切なものとするため、即ち、機械翻訳を適切に行うため、翻訳前後の文章は、なるべく多くあることが望ましい。学習データ取得部１１１は、取得した翻訳前後の文章を学習用変換部１１２に出力する。
【００２１】
学習用変換部１１２は、学習データ取得部１１１によって取得された入力情報及び出力情報を示す数値のそれぞれを２進数のビット系列に変換する機能部である。具体的には、学習用変換部１１２は、以下のようにビット系列に変換する。
【００２２】
学習用変換部１１２は、学習データ取得部１１１から翻訳前後の文章を入力する。学習用変換部１１２は、入力した翻訳前後の文章を単語に分割する。なお、文章の分割は、単語単位以外の翻訳の単位で行われてもよい。日本語の文章等の単語単位で区切られていない文章については、学習用変換部１１２は、形態素解析等の従来の技術によって単語に分割する。
【００２３】
翻訳前後の言語の各単語については、予め各単語を識別するための数値であるＩＤが付与されており、機械翻訳システム１００には、単語とＩＤとの対応付けを示す情報が予め記憶されている。機械翻訳システム１００に予め記憶される情報は、機械翻訳システム１００の管理者等によって予め機械翻訳システム１００に入力されている。ＩＤは、例えば、０以上の整数である。
【００２４】
学習用変換部１１２は、分割した各単語について、記憶されている上記の情報に基づいてＩＤを特定する。学習用変換部１１２は、各単語について、特定したＩＤの数値を２進数のビット系列（ベクトル）に変換する。ビット系列の次元数（桁数）は、翻訳前後の文章の言語に応じて予め設定されている。変換された２進数が、当該次元数に満たない場合には、満たない分の上位の桁の値は０とされる。当該次元数は、当該言語の全てのＩＤを表現可能な桁数とされる。例えば、単語数（語彙数）がＶである場合、ｌｏｇ２（Ｖ）を整数に繰り上げた次元数とする。具体的には、ＩＤが０〜６５５３５である場合、即ち、単語数（語彙数）が６５５３６である場合、１６ビットのビット系列とされる。通常、機械翻訳を行う場合の単語数（語彙数）は、５万〜１０万程度とされる。
【００２５】
学習用変換部１１２は、上記の変換によって、翻訳前後の文章に単語が出現する順序で並んだ、当該単語に対応するビット系列を得る。学習用変換部１１２は、翻訳前の文章から得られたビット系列をニューラルネットワーク生成部１１４に出力する。学習用変換部１１２は、翻訳後の文章から得られたビット系列を誤り訂正符号生成部１１３に出力する。
【００２６】
誤り訂正符号生成部１１３は、学習用変換部１１２によって変換された出力情報のビット系列から、誤り訂正符号によって冗長ビット系列を生成する機能部である。誤り訂正符号生成部１１３は、畳み込み符号によって冗長ビット系列を生成する。
【００２７】
本実施形態における機械翻訳は、ニューラルネットワークによって翻訳後の文章の単語のビット系列を判別（識別、予測、二値分類）するものである。即ち、ビット系列の一つ一つのビットを独立に判別する必要がある。ビット系列の各ビットのうち、一つでも判別に誤りが生じた場合、正しい翻訳後の単語を得ることができず、正しい機械翻訳を行うことができない。しかしながら、ニューラルネットワークによる判別では、確率的に各ビットについて判定を誤る可能性がある。そこで、本発明では、翻訳後の単語のビット系列について、全体としていくつかのビットが誤って判定されても訂正できるように誤り訂正符号で符号化したビット系列である冗長ビット系列を用いる。これによって、いくつかのビットが誤って判定されても、正しいビット系列に戻すことができ、正しいＩＤ、即ち、正しい翻訳後の単語を識別できるようになる。即ち、冗長ビット系列の生成は、翻訳後の文章の単語のビット系列についてエラー耐性を付けるためのものである。
【００２８】
具体的には、誤り訂正符号生成部１１３は、以下のように冗長ビット系列を生成する。誤り訂正符号生成部１１３は、学習用変換部１１２から、翻訳後の文章から得られたビット系列を入力する。誤り訂正符号生成部１１３は、畳み込み符号によって冗長ビット系列を生成するために畳み込み符号器Ｃを記憶している。畳み込み符号器Ｃは、図２に示すように入力信号（ビット系列）に対して遅延器Ｄを使い、生成多項式に基づいてＸＯＲ演算して出力信号（ビット系列）を出力するものである。例えば、図２に示すように符号化率１／２、拘束長３の畳み込み符号器Ｃを用いる。
【００２９】
誤り訂正符号生成部１１３は、翻訳後の文章から得られたビット系列に畳み込み符号の終端符号を付加する。例えば、拘束長３の畳み込み符号器Ｃである場合には、終端符号は２ビット（０，０）である。翻訳後の文章から得られたビット系列が１６ビットであれば、終端符号が付加されたビット系列は１８ビットとなる。
【００３０】
誤り訂正符号生成部１１３は、終端符号を付加したビット系列の各ビットを順番に入力信号として、畳み込み符号器Ｃに入力し、１ビットあたり畳み込み符号器Ｃから２ビットの出力信号を得る。誤り訂正符号生成部１１３は、ビット系列が畳み込み符号器Ｃに入力される時点で遅延器Ｄには０を入力しておく。入力された１ビットあたりの出力信号のビットは、入力されたビット及び２つ前のビットをＸＯＲ演算したもの（１＋Ｄ２の生成多項式で符号化したもの）（出力信号１）と、入力されたビット、１つ前のビット及び２つ前のビットをＸＯＲ演算したもの（１＋Ｄ１＋Ｄ２の生成多項式で符号化したもの）（出力信号２）とである。誤り訂正符号生成部１１３は、ビット系列のビットの順番に出力信号のビット（符号化したビット）を１ビットずつ交互に並べて出力ビット系列である冗長ビット系列を生成する。従って、終端符号が付加されたビット系列が１８ビットであれば、畳み込み符号器Ｃからの出力信号である冗長ビット系列は３６ビットとなる。誤り訂正符号生成部１１３は、翻訳後の各単語のビット系列毎に、冗長ビット系列を生成する。
【００３１】
誤り訂正符号生成部１１３は、上記によって、翻訳後の文章に単語が出現する順序で並んだ、当該単語に対応する冗長ビット系列を得る。誤り訂正符号生成部１１３は、得られた冗長ビット系列をニューラルネットワーク生成部１１４に出力する。
【００３２】
ニューラルネットワーク生成部１１４は、学習用変換部１１２によって変換された入力情報のビット系列をニューラルネットワークへの入力値とし、誤り訂正符号生成部１１３によって生成された冗長ビット系列を当該ニューラルネットワークへの出力値として機械学習を行って、ニューラルネットワークを生成する機能部である。
【００３３】
図３に、ニューラルネットワーク生成部１１４によって生成されるニューラルネットワークＮを模式的に示す。ニューラルネットワークＮは、翻訳前の文章に含まれる単語を示す情報を入力して、翻訳前の文章に含まれる単語を示す情報を出力するものである。ニューラルネットワークＮへの入力は、文章に単語が出現する順序で並んだ、当該単語に対応するビット系列の値である。ニューラルネットワークＮへの入力層には、当該ビット系列の数のニューロン（セル）が設けられる。上記の例では、１つの単語のビット系列は１６ビットであるため、入力層には１６個のニューロンが設けられる。各ニューロンには、ビット系列の各ビットの値が入力される。
【００３４】
ニューラルネットワークＮからの出力は、翻訳後の文章に単語が出現する順序で並んだ、当該単語に対応する冗長ビット系列に応じた値である。ニューラルネットワークＮへの出力層には、当該冗長ビット系列の数のニューロンが設けられている。上記の例では、１つの単語の冗長ビット系列は３６ビットであるため、出力層には３６個のニューロンが設けられる。各ニューロンから、冗長ビット系列の各ビットに応じた値が出力される。
【００３５】
具体的には、ニューラルネットワーク生成部１１４は、以下のようにニューラルネットワークＮを生成する。ニューラルネットワーク生成部１１４は、学習用変換部１１２から、翻訳前の文章の単語に対応するビット系列を入力する。ニューラルネットワーク生成部１１４は、誤り訂正符号生成部１１３から、翻訳後の文章の単語に対応する冗長ビット系列を入力する。ニューラルネットワーク生成部１１４は、学習用変換部１１２から入力したビット系列をニューラルネットワークＮへの入力値とし、誤り訂正符号生成部１１３から入力した冗長ビット系列をニューラルネットワークＮからの出力値として機械学習を行って、ニューラルネットワークＮを生成する。ビット系列をニューラルネットワークＮの入力値及び出力値とする際には、ビット系列の各ビットの値を、各ビットに対応付いた各ニューロンの入力値及び出力値とする。また、この際、ビット系列及び冗長ビット系列は、翻訳前後の文章に対応するように機械学習に用いられる。また、ニューラルネットワーク生成部１１４は、ビット系列及び冗長ビット系列をニューラルネットワークＮの入力値及び出力値とする際には、翻訳前後の文章に単語が出現する順序でのシーケンシャルな入力値及び出力値となるようにする。上記の機械学習、即ち、ニューラルネットワークＮの生成自体は、従来と同様におこなうことができる。
【００３６】
上記の通り、機械学習の際の入出力値とされる入出力値データは、ニューラルネットワークＮを生成するための機械学習に用いる学習データである入力情報及び出力情報に基づくものである。入出力値データは、入力情報を示す数値が変換された２進数のビット系列であって、ニューラルネットワークＮへの入力値とされるビット系列と、出力情報を示す数値が変換された２進数のビット系列から、誤り訂正符号によって生成された冗長ビット系列であって、ニューラルネットワークＮへの出力値とされる冗長ビット系列と、を含む。
【００３７】
ニューラルネットワーク生成部１１４は、生成したニューラルネットワークＮを示す識別用データ、即ち、ニューラルネットワークを含む学習済モデルを識別システム１２０に出力する。以上が、本実施形態に係る機械学習システム１１０の機能である。
【００３８】
引き続いて、本実施形態に係る識別システム１２０の機能を説明する。図１に示すように、識別システム１２０は、識別対象情報取得部１２１と、識別用変換部１２２と、符号化系列取得部１２３と、復号部１２４と、識別部１２５とを備えて構成される。
【００３９】
識別対象情報取得部１２１は、識別対象である識別対象情報を取得する機能部である。識別対象情報取得部１２１は、識別対象情報として、翻訳対象の文章を取得する。翻訳対象の文章は、機械翻訳システム１００による機械翻訳の翻訳前の言語の文章である。識別対象情報取得部１２１は、例えば、機械翻訳システム１００のユーザの端末から送信される翻訳対象の文章を受信して取得する。識別対象情報取得部１２１は、取得した翻訳対象の文章を識別用変換部１２２に出力する。
【００４０】
識別用変換部１２２は、識別対象情報取得部１２１によって取得された識別対象情報を示す数値を２進数のビット系列に変換する機能部である。識別用変換部１２２は、識別対象情報取得部１２１から翻訳対象の文章を入力する。識別用変換部１２２は、学習用変換部１１２による翻訳前の文章のビット系列への変換と同様に、翻訳対象の文章をビット系列に変換する。識別用変換部１２２は、上記の変換によって、翻訳対象の文章に単語が出現する順序で並んだ、当該単語に対応するビット系列を得る。識別用変換部１２２は、翻訳対象の文章から得られたビット系列を符号化系列取得部１２３に出力する。
【００４１】
符号化系列取得部１２３は、識別用変換部１２２によって変換された識別対象情報のビット系列をニューラルネットワークＮへの入力値とし、当該ニューラルネットワークＮの出力値に基づく符号化系列を取得する機能部である。符号化系列取得部１２３は、機械学習システム１１０によって生成されたニューラルネットワークＮを示す学習済モデルを入力して記憶しておき、符号化系列の取得に用いる。符号化系列は、上述した誤り訂正符号の復号の対象となる系列である。
【００４２】
当該ニューラルネットワークＮは、識別対象である識別対象情報を示す数値が変換された２進数のビット系列を入力値として、識別後の情報を示す数値に対応するビット系列に復号することができる符号化系列に対応する出力値を出力するものである。
【００４３】
具体的には、符号化系列取得部１２３は、以下のように符号化系列を取得する。符号化系列取得部１２３は、識別用変換部１２２から、翻訳対象の文章の単語に対応するビット系列を入力する。符号化系列取得部１２３は、入力したビット系列をニューラルネットワークＮへの入力値とし、ニューラルネットワークの出力値を得る。ビット系列をニューラルネットワークＮの入力値とする際には、ビット系列の各ビットの値を、各ビットに対応付いた各ニューロンの入力値とする。また、符号化系列取得部１２３は、ビット系列をニューラルネットワークＮの入力値とする際には、翻訳対象の文章に単語が出現する順序でのシーケンシャルな入力値となるようにする。ここで得られる出力値には、出力層のニューロンの数の値の系列が、翻訳後の文章に含まれる単語の数の分だけ、当該単語が出現する順序で含まれている。
【００４４】
符号化系列取得部１２３は、例えば、得られた出力値のそれぞれを予め記憶した活性化関数に入力して正規化した符号化系列を取得する。活性化関数としては、例えば、標準シグモイド関数（標準sigmoid関数）が用いられる。シグモイド関数は、出力値ｙとしたとき、１／（１＋ｅ−ｙ）である。活性化関数の出力値は、図３に示すように出力値に対応するビットの尤度を示す０〜１の値である。符号化系列は、ニューラルネットワークＮの出力値の次元の値である。当該符号化系列には、それらの値の組が、翻訳後の文章に含まれる単語の数の分だけ含まれている。符号化系列取得部１２３は、取得した符号化系列を復号部１２４に出力する。なお、正規化した符号化系列の取得には、標準シグモイド関数以外の関数、例えば、パラメータを変更したシグモイド関数又はその他の活性化関数が用いられてもよい。
【００４５】
復号部１２４は、符号化系列取得部１２３によって取得された符号化系列を復号してビット系列を取得する機能部である。復号部１２４は、当該符号化系列を軟判定復号する。
【００４６】
具体的には、復号部１２４は、以下のように復号を行う。復号部１２４は、符号化系列取得部１２３から、符号化系列を入力する。復号部１２４は、翻訳後の文章に含まれる単語単位で復号を行って、単語単位のビット系列を取得する。復号部１２４は、符号化系列に含まれる、当該単位の標準シグモイド関数の出力値の組に対して上述した誤り訂正符号の復号を行う。復号部１２４は、軟判定復号によって復号を行う。
【００４７】
軟判定復号は、各ビットの値の相関を考慮して、各ビットが０であるか、１であるかを判定して復号するものである。一方で、硬判定復号は、各ビットの値のみから、各ビットが０であるか、１であるかを判定して復号するものである。例えば、各ビットの値が予め設定した閾値（例えば、０．５）以上であれば１として復号し、閾値未満であれば０として復号する。
【００４８】
例えば、硬判定復号では、０．６でも０．９でも同じ１として復号するものに対して、軟判定復号では、０．６と０．９とでは、０．９の方が１に近いということを考慮しながら復号する。上述したように標準シグモイド関数の出力値は、ビットの尤度を示す０〜１の値であるため、軟判定復号を行うことができる。復号部１２４は、当該値を軟判定復号の軟値として利用して、軟判定復号であるビタビ復号を行って、尤もらしいビット系列を推定する。ビタビ復号自体は、従来のビタビ復号と同様に行うことができる。
【００４９】
復号部１２４は、当該復号によって、翻訳後の文章に含まれる単語の数の分だけ、当該単語が出現する順序でビット系列を得る。得られる単語毎のビット系列は、機械学習の際の誤り訂正符号による冗長ビット系列の生成の対象となったビット系列と同じサイズである。上述した例では、単語毎のビット系列は、１８ビットである。復号部１２４は、取得したビット系列を識別部１２５に出力する。
【００５０】
識別部１２５は、復号部１２４によって取得されたビット系列から識別後の情報を示す数値を特定して識別後の情報を取得する機能部である。本実施形態では、識別後の情報は、入力された翻訳対象の文章に対応する翻訳後の文章である。
【００５１】
具体的には、識別部１２５は、以下のように識別、即ち、翻訳後の文章を取得する。識別部１２５は、復号部１２４からビット系列を入力する。識別部１２５は、翻訳後の文章に含まれる単語毎のビット系列から終端符号を除き、終端符号を除いたビット系列から、ＩＤの数値を特定する。識別部１２５は、予め記憶された翻訳後の言語の単語とＩＤとの対応付けを示す情報から、特定したＩＤに対する単語を特定する。識別部１２５は、復号部１２４から入力したビット系列に対して順番に単語を特定し、当該単語を順番に並べて翻訳後の文章とする。識別部１２５は、取得した翻訳後の文章を、機械翻訳の結果として出力する。識別部１２５は、例えば、機械翻訳システム１００のユーザの端末に翻訳後の文章を送信する。以上が、本実施形態に係る識別システム１２０の機能である。
【００５２】
引き続いて、図４及び図５のフローチャートを用いて、本実施形態に係る機械翻訳システム１００で実行される処理（機械翻訳システム１００が行う動作方法）を説明する。まず、図４のフローチャートを用いて、機械学習を行う際に実行される処理、即ち、本実施形態に係る機械学習システム１１０で実行される処理を説明する。
【００５３】
本処理では、まず、学習データ取得部１１１によって、機械学習に用いる学習データである翻訳前後の文章が取得される（Ｓ０１）。続いて、学習用変換部１１２によって、翻訳前後の文章が単語に分割されて、単語のＩＤがビット系列に変換される（Ｓ０２）。続いて、誤り訂正符号生成部１１３によって、翻訳後の文章のビット系列から、誤り訂正符号によって冗長ビット系列が生成される（Ｓ０３）。続いて、ニューラルネットワーク生成部１１４によって、翻訳前の文章のビット系列を入力値とし、翻訳後の文章の冗長ビット系列を出力値として機械学習が行われ、ニューラルネットワークＮが生成される（Ｓ０４）。以上が、機械学習を行う際に実行される処理である。
【００５４】
引き続いて、図５のフローチャートを用いて、機械翻訳を行う際に実行される処理、即ち、本実施形態に係る識別システム１２０で実行される処理を説明する。本処理では、まず、識別対象情報取得部１２１によって、翻訳対象の文章が取得される（Ｓ１１）。続いて、識別用変換部１２２によって、翻訳対象の文章が単語に分割されて、単語のＩＤがビット系列に変換される（Ｓ１２）。続いて、符号化系列取得部１２３によって、翻訳対象の文章のビット系列をニューラルネットワークＮへの入力値とし、当該ニューラルネットワークＮの出力値に基づく符号化系列が取得される（Ｓ１３）。符号化系列は、例えば、ニューラルネットワークＮの出力値が標準シグモイド関数に入力されて取得される。続いて、復号部１２４によって、符号化系列が復号されビット系列が取得される（Ｓ１４）。続いて、識別部１２５によって、ビット系列から、翻訳後の単語が特定され、翻訳後の文章が識別される（Ｓ１５）。以上が、機械翻訳を行う際に実行される処理である。
【００５５】
本実施形態では、入力情報及び出力情報である翻訳前後の文章が変換されたビット系列が機械学習に用いられる。機械学習に用いられる互いに異なる情報の数、即ち、機械翻訳に用いられる単語の種類の数が多い場合、当該情報を示す数値のビット系列のサイズは、one-hotなベクトルと比べて非常に小さくなる。例えば、単語数（語彙数）が６５５３６である場合、one-hotなベクトルでは６５５３６次元が必要であるが、本実施形態では上述したように入力では１６次元のベクトル、出力では３６次元のベクトルで済む。このように、本実施形態では、単語を示すビット系列を、バイナリ圧縮によって大幅に圧縮することができる。従って、ニューラルネットワークＮのサイズを圧縮することができ、機械学習の計算負荷を小さくすることができる。機械学習の計算負荷の軽減によって、学習時間を短くすることができる。
【００５６】
一方でビット系列を用いたことで、ニューラルネットワークＮからの出力に１つでも（１ビットでも）間違っていると適切な識別を行うことができない。本実施形態では、出力情報である翻訳後の文章に対応するビット系列から誤り訂正符号によって生成される冗長ビット系列が機械学習に用いられる。従って、翻訳前後の文章をビット系列に変換した場合であっても識別の誤り、即ち、誤訳が生じることを防止することができる。即ち、本実施形態によれば、機械翻訳のための機械学習の計算負荷を適切に小さくすることができる。
【００５７】
また、本実施形態のように畳み込み符号によって冗長ビット系列を生成し、符号化系列を軟判定復号、例えば、ビタビ復号することとしてもよい。軟判定復号をすることで、復号の際の誤りを少なくすることができ、また、硬判定復号に比べて符号化利得を向上させることができる。但し、必ずしも、畳み込み符号によって冗長ビット系列を生成する必要はなく、ニューラルネットワークＮからの出力値のエラー耐性を高めるものであれば、どのような方法によって冗長ビット系列を生成してもよい。また、符号化系列を軟判定復号以外の方法で復号してもよい。例えば、硬判定復号によって復号を行ってもよい。
【００５８】
softmax関数では、one-hotなベクトルに変換する際に各々の尤度も出力することができる。従来のニューラルネットワークを用いた機械翻訳では、softmax関数を用いて、複数の翻訳後の単語候補及び尤度を導出して、それらに基づいて全体の文章として尤もらしい文章を選択するビームサーチという手法が取られる。
【００５９】
上述した復号部１２４による復号では、１つの符号化系列から、１つの復号後のビット系列が得られていた。しかしながら、復号部１２４は、符号化系列取得部１２３によって取得された１つの符号化系列から、複数の復号後のビット系列の候補、即ち、翻訳後の単語の候補と各候補の尤度とを取得することとしてもよい。このように複数の候補を用いて機械翻訳を行うことで、単語毎の一意の復号が難しい場合であっても、適切な機械翻訳を行うことができる。例えば、以下のように、複数の復号後のビット系列の候補と各候補の尤度とを算出する。
【００６０】
復号部１２４には、予め上記の候補の数（例えば、３）が記憶されている。復号部１２４は、ビタビ復号をする際に、最も誤りの少ないビット系列だけでなく、上記の候補の数までの誤りの少ないビット系列を、復号後のビット系列の候補として復号する。ビタビ復号では、各ビットの遅延器の状態（例えば、拘束長３の場合、当該ビットの２つ前までのビットの状態Ｓ００，Ｓ１０，Ｓ０１，Ｓ１１）毎に、ステートとして、ビット系列のパス及びビット誤りの程度を記憶（保存）しておく。ビット誤りの程度は、例えば、硬判定復号では、当該ビットまでの誤りビット数（当該値が大きいほど、ビット誤りの程度が大きい）であり、軟判定復号では、当該ビットまでのビット系列の確からしさ（当該値が小さいほど、ビット誤りの程度が大きい）である。通常のビタビ復号では、最も誤りの少ないビット系列のパス及びビット誤りの程度のみが導出されて、各ステートとして記憶される。そのため、１つの符号化系列から、１つの復号後のビット系列しか取得することができない。
【００６１】
復号部１２４は、上記の通常のビタビ復号とは異なり、各ビットについて、前のビットのステートから、上記の候補の数までの誤りの少ないビット系列のパス及びビット誤りの程度を算出して記憶する。即ち、例えば、候補の数を３とすれば、復号部１２４は、各ビットについて、３番目までの誤りの少ないビット系列のパス及びビット誤りの程度をステートとして記憶しておき、それらに基づいて次のビットのビット系列のパス及びビット誤りの程度を算出する。復号部１２４は、算出したビット系列及びビット誤りの程度のうち、３番目までに誤りの少ないビット系列のパス及びビット誤りの程度をステートとして記憶する（それ以外は、記憶せずに破棄する）。復号部１２４は、上記を繰り返し、最終的に上記の候補の数までの誤りの少ないビット系列のパス及びビット誤りの程度を取得する。
【００６２】
復号部１２４は、上記のパスに対応する３つのビット系列を、複数の復号後のビット系列の候補とする。また、復号部１２４は、ビット誤りの程度に基づいて、復号後のビット系列の候補それぞれについて尤度を算出する。例えば、候補の数を３であり、硬判定復号を行い、最後のビットでの各候補の誤りビット数がｎ１＜ｎ２＜ｎ３であった場合には、１番目の候補の尤度Ｐ（１）＝１−（ｎ１／（ｎ３＋１））、２番目の候補の尤度Ｐ（２）＝１−（ｎ２／（ｎ３＋１））、３番目の候補の尤度Ｐ（３）＝１−（ｎ３／（ｎ３＋１））とする。また、軟判定復号を行った場合には、最後のビットでのビット系列の確からしさの値そのものを、各候補の尤度としてもよい。また、各尤度を合計して１になるように正規化してもよい。
【００６３】
復号部１２４は、算出した複数の復号後のビット系列の候補と各候補の尤度とを識別部１２５に出力する。識別部１２５は、例えば、ビームサーチによって、複数の復号後のビット系列の候補と各候補の尤度とから、尤もらしい文章を選択する。
【００６４】
なお、本実施形態では、機械翻訳システム１００は、機械学習システム１１０と、識別システム１２０とを含むこととしたが、本発明としては、機械学習システム１１０と、識別システム１２０とが独立して実施されてもよい。
【００６５】
また、本実施形態では、機械翻訳を対象としたが、本発明は、機械翻訳以外を対象としてもよく、機械学習によって識別（予測）を行うものであれば、任意のものを対象にすることができる。例えば、言語処理を利用した自動応答、画像認識等を含むニューラルネットワークを使った分類問題を対象とすることができる。
【００６６】
なお、上記実施の形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック（構成部）は、ハードウェア及び／又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び／又は論理的に結合した１つの装置により実現されてもよいし、物理的及び／又は論理的に分離した２つ以上の装置を直接的及び／又は間接的に(例えば、有線及び／又は無線)で接続し、これら複数の装置により実現されてもよい。
【００６７】
例えば、本発明の一実施の形態における機械翻訳システム１００は、本実施形態の機械翻訳システム１００の処理を行うコンピュータとして機能してもよい。図６は、本実施形態に係る機械翻訳システム１００を構成する装置（例えば、サーバ装置）のハードウェア構成の一例を示す図である。上述の機械翻訳システム１００は、物理的には、プロセッサ１００１、メモリ１００２、ストレージ１００３、通信装置１００４、入力装置１００５、出力装置１００６、バス１００７などを含むコンピュータ装置として構成されてもよい。
【００６８】
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。機械翻訳システム１００のハードウェア構成は、図に示した各装置を１つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
【００６９】
機械翻訳システム１００における各機能は、プロセッサ１００１、メモリ１００２などのハードウェア上に所定のソフトウェア（プログラム）を読み込ませることで、プロセッサ１００１が演算を行い、通信装置１００４による通信や、メモリ１００２及びストレージ１００３におけるデータの読み出し及び／又は書き込みを制御することで実現される。
【００７０】
プロセッサ１００１は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ１００１は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置（ＣＰＵ：Central  Processing  Unit）で構成されてもよい。例えば、機械翻訳システム１００の各機能は、プロセッサ１００１で実現されてもよい。
【００７１】
また、プロセッサ１００１は、プログラム（プログラムコード）、ソフトウェアモジュールやデータを、ストレージ１００３及び／又は通信装置１００４からメモリ１００２に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、機械翻訳システム１００の各機能は、メモリ１００２に格納され、プロセッサ１００１で動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、１つのプロセッサ１００１で実行される旨を説明してきたが、２以上のプロセッサ１００１により同時又は逐次に実行されてもよい。プロセッサ１００１は、１以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
【００７２】
メモリ１００２は、コンピュータ読み取り可能な記録媒体であり、例えば、ＲＯＭ（Read  Only  Memory）、ＥＰＲＯＭ（Erasable  Programmable  ＲＯＭ）、ＥＥＰＲＯＭ（Electrically Erasable Programmable ＲＯＭ）、ＲＡＭ（Random  Access  Memory）などの少なくとも１つで構成されてもよい。メモリ１００２は、レジスタ、キャッシュ、メインメモリ（主記憶装置）などと呼ばれてもよい。メモリ１００２は、本発明の一実施の形態に係る方法を実施するために実行可能なプログラム（プログラムコード）、ソフトウェアモジュールなどを保存することができる。
【００７３】
ストレージ１００３は、コンピュータ読み取り可能な記録媒体であり、例えば、ＣＤ−ＲＯＭ（Compact  Disc  ＲＯＭ）などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Ｂｌｕ−ｒａｙ（登録商標）ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー（登録商標）ディスク、磁気ストリップなどの少なくとも１つで構成されてもよい。ストレージ１００３は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ１００２及び／又はストレージ１００３を含むデータベース、サーバその他の適切な媒体であってもよい。
【００７４】
通信装置１００４は、有線及び／又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア（送受信デバイス）であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。例えば、上述の機械翻訳システム１００の各機能は、通信装置１００４で実現されてもよい。
【００７５】
入力装置１００５は、外部からの入力を受け付ける入力デバイス（例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど）である。出力装置１００６は、外部への出力を実施する出力デバイス（例えば、ディスプレイ、スピーカー、LEDランプなど）である。なお、入力装置１００５及び出力装置１００６は、一体となった構成（例えば、タッチパネル）であってもよい。
【００７６】
また、プロセッサ１００１やメモリ１００２などの各装置は、情報を通信するためのバス１００７で接続される。バス１００７は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
【００７７】
また、機械翻訳システム１００は、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ：Digital  Signal  Processor）、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＰＬＤ（Programmable  Logic  Device）、ＦＰＧＡ（Field  Programmable  Gate  Array）などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ１００１は、これらのハードウェアの少なくとも１つで実装されてもよい。
【００７８】
以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。
【００７９】
情報の通知は、本明細書で説明した態様／実施形態に限られず、他の方法で行われてもよい。例えば、情報の通知は、物理レイヤシグナリング（例えば、ＤＣＩ（Downlink  Control  Information）、ＵＣＩ（Uplink  Control  Information））、上位レイヤシグナリング（例えば、ＲＲＣ（Radio  Resource  Control）シグナリング、ＭＡＣ（Medium  Access  Control）シグナリング、報知情報（ＭＩＢ（Master  Information  Block）、ＳＩＢ（System  Information  Block）））、その他の信号又はこれらの組み合わせによって実施されてもよい。また、ＲＲＣシグナリングは、ＲＲＣメッセージと呼ばれてもよく、例えば、ＲＲＣ接続セットアップ（RRC Connection Setup）メッセージ、ＲＲＣ接続再構成（RRC ConnectionReconfiguration）メッセージなどであってもよい。
【００８０】
本明細書で説明した各態様／実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【００８１】
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【００８２】
判定は、１ビットで表される値（０か１か）によって行われてもよいし、真偽値（Boolean：trueまたはfalse）によって行われてもよいし、数値の比較（例えば、所定の値との比較）によって行われてもよい。
【００８３】
本明細書で説明した各態様／実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知（例えば、「Ｘであること」の通知）は、明示的に行うものに限られず、暗黙的（例えば、当該所定の情報の通知を行わない）ことによって行われてもよい。
【００８４】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
【００８５】
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線（ＤＳＬ）などの有線技術及び／又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び／又は無線技術は、伝送媒体の定義内に含まれる。
【００８６】
本明細書で説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
【００８７】
なお、本明細書で説明した用語及び／又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。例えば、チャネル及び／又はシンボルは信号（シグナル）であってもよい。また、信号はメッセージであってもよい。また、コンポーネントキャリア（ＣＣ）は、キャリア周波数、セルなどと呼ばれてもよい。
【００８８】
本明細書で使用する「システム」および「ネットワーク」という用語は、互換的に使用される。
【００８９】
また、本明細書で説明した情報、パラメータなどは、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。例えば、無線リソースはインデックスで指示されるものであってもよい。
【００９０】
上述したパラメータに使用する名称はいかなる点においても限定的なものではない。さらに、これらのパラメータを使用する数式等は、本明細書で明示的に開示したものと異なる場合もある。様々なチャネル（例えば、ＰＵＣＣＨ、ＰＤＣＣＨなど）及び情報要素（例えば、ＴＰＣなど）は、あらゆる好適な名称によって識別できるので、これらの様々なチャネル及び情報要素に割り当てている様々な名称は、いかなる点においても限定的なものではない。
【００９１】
本明細書で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up)（例えば、テーブル、データベースまたは別のデータ構造での探索）、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)（例えば、情報を受信すること）、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)（例えば、メモリ中のデータにアクセスすること）した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。
【００９２】
「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、２又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された２つの要素間に１又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。本明細書で使用する場合、２つの要素は、１又はそれ以上の電線、ケーブル及び／又はプリント電気接続を使用することにより、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光（可視及び不可視の両方）領域の波長を有する電磁エネルギーなどの電磁エネルギーを使用することにより、互いに「接続」又は「結合」されると考えることができる。
【００９３】
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【００９４】
本明細書で「第１の」、「第２の」などの呼称を使用した場合においては、その要素へのいかなる参照も、それらの要素の量または順序を全般的に限定するものではない。これらの呼称は、２つ以上の要素間を区別する便利な方法として本明細書で使用され得る。したがって、第１および第２の要素への参照は、２つの要素のみがそこで採用され得ること、または何らかの形で第１の要素が第２の要素に先行しなければならないことを意味しない。
【００９５】
「含む（include）」、「含んでいる（including）」、およびそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「または（or）」は、排他的論理和ではないことが意図される。
【００９６】
本明細書において、文脈または技術的に明らかに1つのみしか存在しない装置である場合以外は、複数の装置をも含むものとする。本開示の全体において、文脈から明らかに単数を示したものではなければ、複数のものを含むものとする。
【符号の説明】
【００９７】
１００…機械翻訳システム、１１０…機械学習システム、１１１…学習データ取得部、１１２…学習用変換部、１１３…誤り訂正符号生成部、１１４…ニューラルネットワーク生成部、１２０…識別システム、１２１…識別対象情報取得部、１２２…識別用変換部、１２３…符号化系列取得部、１２４…復号部、１２５…識別部、１００１…プロセッサ、１００２…メモリ、１００３…ストレージ、１００４…通信装置、１００５…入力装置、１００６…出力装置、１００７…バス。
【図１】
2019021183.tif 000003
【図２】
2019021183.tif 000004
【図３】
2019021183.tif 000005
【図４】
2019021183.tif 000006
【図５】
2019021183.tif 000007
【図６】
2019021183.tif 000008
【手続補正書】
【提出日】平成29年10月12日(2017.10.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
機械学習を行ってニューラルネットワークを生成する機械学習システムであって、
機械学習に用いる学習データである入力情報及び出力情報を取得する学習データ取得部と、
前記学習データ取得部によって取得された入力情報及び出力情報を示す数値のそれぞれを２進数のビット系列に変換する学習用変換部と、
前記学習用変換部によって変換された出力情報のビット系列から、誤り訂正符号によって冗長ビット系列を生成する誤り訂正符号生成部と、
前記学習用変換部によって変換された入力情報のビット系列をニューラルネットワークへの入力値とし、前記誤り訂正符号生成部によって生成された冗長ビット系列を当該ニューラルネットワークの出力値として機械学習を行って、ニューラルネットワークを生成するニューラルネットワーク生成部と、
を備える機械学習システム。
【請求項２】
前記誤り訂正符号生成部は、畳み込み符号によって冗長ビット系列を生成する請求項１に記載の機械学習システム。
【請求項３】
前記ニューラルネットワークは、機械翻訳に用いられ、
前記学習データ取得部は、入力情報及び出力情報として、翻訳前の文章及び翻訳後の文章をそれぞれ取得する、請求項１又は２に記載の機械学習システム。
【請求項４】
請求項１〜３の何れか一項に記載の機械学習システムによって生成されたニューラルネットワークを用いて識別を行う識別システムであって、
識別対象である識別対象情報を取得する識別対象情報取得部と、
前記識別対象情報取得部によって取得された識別対象情報を示す数値を２進数のビット系列に変換する識別用変換部と、
前記識別用変換部によって変換された識別対象情報のビット系列を前記ニューラルネットワークへの入力値とし、当該ニューラルネットワークの出力値に基づく符号化系列を取得する符号化系列取得部と、
前記符号化系列取得部によって取得された符号化系列を復号してビット系列を取得する復号部と、
前記復号部によって取得されたビット系列から識別後の情報を示す数値を特定して識別後の情報を取得する識別部と、
を備える識別システム。
【請求項５】
前記復号部は、前記符号化系列取得部によって取得された符号化系列を軟判定復号する請求項４に記載の識別システム。
【請求項６】
前記復号部は、前記符号化系列取得部によって取得された１つの符号化系列から、複数の復号後のビット系列の候補と各候補の尤度とを取得する請求項４又は５に記載の識別システム。
【請求項７】
機械学習によって生成されるニューラルネットワークを含むプログラムであって、
前記ニューラルネットワークが、識別対象である識別対象情報を示す数値が変換された２進数のビット系列を入力値として、識別後の情報を示す数値に対応するビット系列に復号することができる符号化系列に対応する出力値を出力するようコンピュータを機能させるためのプログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、機械学習システム、識別システム及びプログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
本発明は、上記に鑑みてなされたものであり、機械学習の計算負荷を適切に小さくすることができる機械学習システム、識別システム及びプログラムを提供することを目的とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
上記の目的を達成するために、本発明に係る機械学習システムは、機械学習を行ってニューラルネットワークを生成する機械学習システムであって、機械学習に用いる学習データである入力情報及び出力情報を取得する学習データ取得部と、学習データ取得部によって取得された入力情報及び出力情報を示す数値のそれぞれを２進数のビット系列に変換する学習用変換部と、学習用変換部によって変換された出力情報のビット系列から、誤り訂正符号によって冗長ビット系列を生成する誤り訂正符号生成部と、学習用変換部によって変換された入力情報のビット系列をニューラルネットワークへの入力値とし、誤り訂正符号生成部によって生成された冗長ビット系列を当該ニューラルネットワークの出力値として機械学習を行って、ニューラルネットワークを生成するニューラルネットワーク生成部と、を備える。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
また、本発明に係るプログラムは、機械学習によって生成されるニューラルネットワークを含むプログラムであって、ニューラルネットワークが、識別対象である識別対象情報を示す数値が変換された２進数のビット系列を入力値として、識別後の情報を示す数値に対応するビット系列に復号することができる符号化系列に対応する出力値を出力するようコンピュータを機能させるためのものである。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】削除
【補正の内容】