(57)【要約】  情報処理装置（１００）は、第１のテキスト情報、第２識別情報を解析し、第１、２のテキスト情報に含まれる単語について、単語および単語の語義の組を識別する第１単語情報および第２単語情報を取得する。情報処理装置（１００）は、第１単語情報を第１語義ベクトルに変換し、第２単語情報を第２語義ベクトルに変換する。情報処理装置（１００）は、第１語義ベクトルと第２語義ベクトルとを用いて、変換モデルのパラメータを学習する。
2020017006.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
第１のテキスト情報と、第２のテキスト情報とを受け付け、
受け付けた前記第１のテキスト情報を解析して、前記第１のテキスト情報に含まれる何れかの単語及び該何れかの単語の語義の組みを識別する第１単語情報を取得し、
受け付けた前記第２のテキスト情報を解析して、前記第２のテキスト情報に含まれる単語及び該単語の語義の組みを識別する第２単語情報を取得し、
単語の語義に応じた語義ベクトルを、該単語及び該単語の語義の組みを識別する単語情報に対応付けて記憶する記憶部を参照して、前記第１単語情報に対応する第１語義ベクトルと、前記第２単語情報に対応する第２語義ベクトルとを特定し、
前記第１のテキスト情報に含まれる第１単語の第１単語情報から特定される第１語義ベクトルを、変換モデルに入力した際に出力される語義ベクトルが、前記第１単語に対応する単語であって、前記第２のテキスト情報の単語を示す第２単語から特定される第２語義ベクトルに近づくように、前記変換モデルのパラメータを学習する
処理を実行することを特徴とする学習方法。
【請求項２】
前記第１単語情報を取得する処理は、前記第１のテキスト情報を解析して、前記第１のテキスト情報に含まれる単語のうち、複数の語義を有する単語に関して、前記第１のテキスト情報での語義と、前記単語との組を識別する符号を、前記第１単語情報として取得することを特徴とする請求項１に記載の学習方法。
【請求項３】
前記第２単語情報を取得する処理は、前記第２のテキスト情報を解析して、前記第２のテキスト情報に含まれる単語のうち、複数の語義を有する単語に関して、前記第２のテキスト情報での語義と、前記単語との組を識別する符号を、前記第２単語情報として取得することを特徴とする請求項２に記載の学習方法。
【請求項４】
前記第１のテキスト情報は、第１の言語で記載されたテキスト情報であり、前記第２のテキスト情報は、前記第１の言語とは異なる第２の言語で記載されたテキスト情報であることを特徴とする請求項１、２または３に記載の学習方法。
【請求項５】
前記第１単語情報を取得する処理は、前記第１のテキスト情報での語義と、前記単語との組を識別する符号を、静的符号に変換し、前記第２単語情報を取得する処理は、前記第２のテキスト情報での語義と、前記単語との組を識別する符号を、静的符号に変換することを特徴とする請求項３に記載の学習方法。
【請求項６】
コンピュータが、
第１のテキスト情報を受け付け、
受け付けた前記第１のテキスト情報を解析して、前記第１のテキスト情報に含まれる何れかの単語及び該何れかの単語の語義の組みを識別する第１単語情報を取得し、
単語の語義に応じた語義ベクトルを、該単語及び該単語の語義の組みを識別する単語情報に対応付けて記憶する記憶部を参照して、前記第１単語情報に対応する第１語義ベクトルを特定し、
請求項１の学習方法によって学習されたパラメータを有する変換モデルに、前記第１語義ベクトルを入力することで、前記第１語義ベクトルを第２語義ベクトルに変換し、
前記記憶部を参照して、前記第２語義ベクトルに対応する第２単語情報を取得し、
前記第２単語情報を基にして、第２のテキスト情報を生成する
処理を実行することを特徴とする翻訳方法。
【請求項７】
第１のテキスト情報と、第２のテキスト情報とを受け付け、
受け付けた前記第１のテキスト情報を解析して、前記第１のテキスト情報に含まれる何れかの単語及び該何れかの単語の語義の組みを識別する第１単語情報を取得し、
受け付けた前記第２のテキスト情報を解析して、前記第２のテキスト情報に含まれる単語及び該単語の語義の組みを識別する第２単語情報を取得し、
単語の語義に応じた語義ベクトルを、該単語及び該単語の語義の組みを識別する単語情報に対応付けて記憶する記憶部を参照して、前記第１単語情報に対応する第１語義ベクトルと、前記第２単語情報に対応する第２語義ベクトルとを特定し、
前記第１のテキスト情報に含まれる第１単語の第１単語情報から特定される第１語義ベクトルを、変換モデルに入力した際に出力される語義ベクトルが、前記第１単語に対応する単語であって、前記第２のテキスト情報の単語を示す第２単語から特定される第２語義ベクトルに近づくように、前記変換モデルのパラメータを学習する
処理をコンピュータに実行させることを特徴とする学習プログラム。
【請求項８】
前記第１単語情報を取得する処理は、前記第１のテキスト情報を解析して、前記第１のテキスト情報に含まれる単語のうち、複数の語義を有する単語に関して、前記第１のテキスト情報での語義と、前記単語との組を識別する符号を、前記第１単語情報として取得することを特徴とする請求項７に記載の学習プログラム。
【請求項９】
前記第２単語情報を取得する処理は、前記第２のテキスト情報を解析して、前記第２のテキスト情報に含まれる単語のうち、複数の語義を有する単語に関して、前記第２のテキスト情報での語義と、前記単語との組を識別する符号を、前記第２単語情報として取得することを特徴とする請求項８に記載の学習プログラム。
【請求項１０】
前記第１のテキスト情報は、第１の言語で記載されたテキスト情報であり、前記第２のテキスト情報は、前記第１の言語とは異なる第２の言語で記載されたテキスト情報であることを特徴とする請求項７、８または９に記載の学習プログラム。
【請求項１１】
前記第１単語情報を取得する処理は、前記第１のテキスト情報での語義と、前記単語との組を識別する符号を、静的符号に変換し、前記第２単語情報を取得する処理は、前記第２のテキスト情報での語義と、前記単語との組を識別する符号を、静的符号に変換することを特徴とする請求項９に記載の学習プログラム。
【請求項１２】
第１のテキスト情報を受け付け、
受け付けた前記第１のテキスト情報を解析して、前記第１のテキスト情報に含まれる何れかの単語及び該何れかの単語の語義の組みを識別する第１単語情報を取得し、
単語の語義に応じた語義ベクトルを、該単語及び該単語の語義の組みを識別する単語情報に対応付けて記憶する記憶部を参照して、前記第１単語情報に対応する第１語義ベクトルを特定し、
請求項１の学習方法によって学習されたパラメータを有する変換モデルに、前記第１語義ベクトルを入力することで、前記第１語義ベクトルを第２語義ベクトルに変換し、
前記記憶部を参照して、前記第２語義ベクトルに対応する第２単語情報を取得し、
前記第２単語情報を基にして、第２のテキスト情報を生成する
処理をコンピュータに実行させることを特徴とする翻訳プログラム。
【請求項１３】
第１のテキスト情報と、第２のテキスト情報とを受け付ける受付部と、
受け付けた前記第１のテキスト情報を解析して、前記第１のテキスト情報に含まれる何れかの単語及び該何れかの単語の語義の組みを識別する第１単語情報を取得する第１取得部と、
受け付けた前記第２のテキスト情報を解析して、前記第２のテキスト情報に含まれる単語及び該単語の語義の組みを識別する第２単語情報を取得する第２取得部と、
単語の語義に応じた語義ベクトルを、該単語及び該単語の語義の組みを識別する単語情報に対応付けて記憶する記憶部を参照して、前記第１単語情報に対応する第１語義ベクトルと、前記第２単語情報に対応する第２語義ベクトルとを特定する特定部と、
前記第１のテキスト情報に含まれる第１単語の第１単語情報から特定される第１語義ベクトルを、変換モデルに入力した際に出力される語義ベクトルが、前記第１単語に対応する単語であって、前記第２のテキスト情報の単語を示す第２単語から特定される第２語義ベクトルに近づくように、前記変換モデルのパラメータを学習する学習部と
を有することを特徴とする情報処理装置。
【請求項１４】
前記第１取得部は、前記第１のテキスト情報を解析して、前記第１のテキスト情報に含まれる単語のうち、複数の語義を有する単語に関して、前記第１のテキスト情報での語義と、前記単語との組を識別する符号を、前記第１単語情報として取得することを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
前記第２取得部は、前記第２のテキスト情報を解析して、前記第２のテキスト情報に含まれる単語のうち、複数の語義を有する単語に関して、前記第２のテキスト情報での語義と、前記単語との組を識別する符号を、前記第２単語情報として取得することを特徴とする請求項１４に記載の情報処理装置。
【請求項１６】
前記第１のテキスト情報は、第１の言語で記載されたテキスト情報であり、前記第２のテキスト情報は、前記第１の言語とは異なる第２の言語で記載されたテキスト情報であることを特徴とする請求項１３、１４または１５に記載の情報処理装置。
【請求項１７】
前記第１取得部は、前記第１のテキスト情報での語義と、前記単語との組を識別する符号を、静的符号に変換し、前記第２取得部は、前記第２のテキスト情報での語義と、前記単語との組を識別する符号を、静的符号に変換することを特徴とする請求項１５に記載の情報処理装置。
【請求項１８】
第１のテキスト情報を受け付ける受付部と、
受け付けた前記第１のテキスト情報を解析して、前記第１のテキスト情報に含まれる何れかの単語及び該何れかの単語の語義の組みを識別する第１単語情報を取得する取得部と、
単語の語義に応じた語義ベクトルを、該単語及び該単語の語義の組みを識別する単語情報に対応付けて記憶する記憶部を参照して、前記第１単語情報に対応する第１語義ベクトルを特定する特定部と、
請求項１の学習方法によって学習されたパラメータを有する変換モデルに、前記第１語義ベクトルを入力することで、前記第１語義ベクトルを第２語義ベクトルに変換する変換部と、
前記記憶部を参照して、前記第２語義ベクトルに対応する第２単語情報を取得し、前記第２単語情報を基にして、第２のテキスト情報を生成する生成部と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習方法等に関する。
【背景技術】
【０００２】
近年、第１言語を、第１言語とは異なる他の第２言語を翻訳する場合に、ニューラル機械翻訳（NMT：Neural  Machine  Translation）が用いられている。ニューラル機械翻訳には様々なモデルが存在するが、たとえば、エンコーダ（encoder）、リカレントネットワーク（RNN：Recurrent  Neural  Network）、デコーダ（decoder）から構成されるモデルがある。【０００３】
エンコーダは、入力文の文字列を単語に符号化し、その単語にベクトルを割り当てる処理部である。ＲＮＮは、エンコーダから入力される単語とそのベクトルを、自身のパラメータに基づいて変換し、変換したベクトルとその単語を出力するものである。デコーダは、ＲＮＮから出力されるベクトルと単語を基にして、出力文を復号化する処理部である。【０００４】
従来技術では、教師データを用いて、第１言語の入力文から適切な第２言語の出力文が出力されるように、ＲＮＮのパラメータを学習する。ＲＮＮのパラメータには、活性化関数のバイアス値や、重みが含まれる。たとえば、従来技術では、学習データとして、第１言語の入力文「リンゴは甘い。」と第２言語の出力文「The  Apple  is  sweet.」との組を与え、ＲＮＮのパラメータを学習する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−０２０４３１号公報
【特許文献２】特開２０１８−０２６０９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来技術では、複数の語義を含む単語の翻訳精度が低いという問題がある。【０００７】
ニューラル機械翻訳のエンコーダでは、入力文に含まれる各単語を、分散表現と呼ばれる数百次元からなるベクトルに変換する作業が行われる。この作業は、英語や日本語などの言語への依存を軽減するため、「embedding」と呼ばれる。従来技術では、embeddingを行う場合に、単語の語義を区別しない。たとえば、「リンゴは甘い」の「甘い（１）」と、「君の考えは甘い」の「甘い（２）」とは語義が異なっているが、従来技術のembeddingでは、「甘い（１）」および「甘い（２）」を、Word2Vecで一つの同じベクトルに変換している。このため、従来技術では、「甘い（１）」および「甘い（２）」の語義の違いを区別せずに、ＲＮＮの機械学習を実行するため、複数の語義を含む単語に対し、適切にパラメータを学習することが難しい。このため、入力文に複数の語義を含む単語が存在すると、適切な出力文に翻訳されず、翻訳精度が低下する。【０００８】
１つの側面では、本発明は、複数の語義を含む単語の翻訳精度を向上することができる、学習方法、翻訳方法、学習プログラム、翻訳プログラムおよび情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
第１の案では、コンピュータが、次の処理を実行する。コンピュータは、第１のテキスト情報と、第２のテキスト情報とを受け付ける。コンピュータは、受け付けた第１のテキスト情報を解析して、第１のテキスト情報に含まれる何れかの単語及び該何れかの単語の語義の組みを識別する第１単語情報を取得する。コンピュータは、受け付けた第２のテキスト情報を解析して、第２のテキスト情報に含まれる単語及び該単語の語義の組みを識別する第２単語情報を取得する。コンピュータは、単語の語義に応じた語義ベクトルを、該単語及び該単語の語義の組みを識別する単語情報に対応付けて記憶する記憶部を参照して、第１単語情報に対応する第１語義ベクトルと、第２単語情報に対応する第２語義ベクトルとを特定する。コンピュータは、第１のテキスト情報に含まれる第１単語の第１単語情報から特定される第１語義ベクトルを、変換モデルに入力した際に出力される語義ベクトルが、第１単語に対応する単語であって、第２のテキスト情報の単語を示す第２単語から特定される第２語義ベクトルに近づくように、変換モデルのパラメータを学習する。
【発明の効果】
【００１０】
複数の語義を含む単語の翻訳精度を向上することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本実施例１に係る情報処理装置の処理を説明するための図である。
【図２】図２は、本実施例１に係る情報処理装置がＲＮＮのパラメータを学習する際の処理を説明するための図である。
【図３】図３は、本実施例１に係る情報処理装置の構成を示す機能ブロック図である。
【図４】図４は、本実施例１に係る第１ベクトルテーブルのデータ構造の一例を示す図である。
【図５】図５は、本実施例１に係る第２ベクトルテーブルのデータ構造の一例を示す図である。
【図６】図６は、本実施例１に係る教師データテーブルのデータ構造の一例を示す図である。
【図７】図７は、本実施例１に係るコード変換テーブルのデータ構造の一例を示す図である。
【図８】図８は、本実施例１に係る辞書情報のデータ構造の一例を示す図である。
【図９】図９は、本実施例１に係るＲＮＮデータのデータ構造の一例を示す図である。
【図１０】図１０は、中間層のパラメータを補足説明するための図である。
【図１１】図１１は、本実施例１に係る情報処理装置の処理手順を示すフローチャートである。
【図１２】図１２は、本実施例２に係る情報処理装置の構成を示す機能ブロック図である。
【図１３】図１３は、本実施例２に係る情報処理装置の処理手順を示すフローチャートである。
【図１４】図１４は、本実施例１に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【図１５】図１５は、本実施例２に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下に、本発明にかかる学習方法、翻訳方法、学習プログラム、翻訳プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１３】
図１は、本実施例１に係る情報処理装置の処理を説明するための図である。本実施例１に係る情報処理装置は、エンコーダ５０と、リカレントニューラルネットワーク（ＲＮＮ）６０と、デコーダ７０とを有する。エンコーダ５０に、第１言語の入力文を入力すると、ＲＮＮ６０を介して、デコーダ７０から第２言語の出力文が出力される。本実施例１では、第１言語を日本語とし、第２言語を英語として説明を行うが、これに限定されるものではない。【００１４】
エンコーダ５０は、入力文を構成する単語に分割し、第１ベクトルにそれぞれ変換する処理部である。ＲＮＮ６０は、複数の第１ベクトルが入力されると、自身に設定されたパラメータを用いて、複数の第１ベクトルを第２ベクトルに変換する処理部である。ＲＮＮ６０のパラメータには、活性化関数のバイアス値や、重みが含まれる。デコーダ７０は、ＲＮＮ６０から出力される第２ベクトルと対応する各単語を基にして、出力文を復号化する処理部である。【００１５】
エンコーダ５０は、第１言語のコード変換テーブル（図示略）を用いて、入力文５１に含まれる複数の単語を、単語および単語の語義を一意に識別可能な圧縮コードに変換する。たとえば、入力文５１に含まれる各単語は、圧縮コード５１−１〜５１−ｎに変換される。ここで、「リンゴは甘い。」の「甘い（１）」と、「君の考えは甘い。」の「甘い（２）」とは、語義が異なるので、「甘い（１）」、「甘い（２）」は、それぞれ異なる圧縮コードに変換される。【００１６】
エンコーダ５０は、第１言語の辞書情報（図示略）を基にして、圧縮コード５１−１〜５１−ｎにつき、複数の語義を含む単語は高頻度であり、静的符号５３−１〜５３−ｎに変換する。なお、低頻度な単語は、動的符号（図示略）に変換される。辞書情報は、圧縮コードと、第１言語の静的符号、または動的符号とを対応付けた情報である。【００１７】
ここで、エンコーダ５０が生成した静的符号５３−１〜５３−ｎは、局所表現（local  representation）に対応する情報である。エンコーダ５０は、第１ベクトルテーブル１５０ａを参照して、各静的符号を対応する各第１ベクトルに変換する。第１ベクトルテーブル１５０ａは、静的符号と第１ベクトルとを対応付けるテーブルである。第１ベクトルは、分散表現（distributed  representation）に対応する情報である。エンコーダ５０は、変換した各第１ベクトルを、ＲＮＮ６０に出力する。【００１８】
ＲＮＮ６０は、中間層（隠れ層）６１−１〜６１−ｎ，６３−１〜６３−ｎと、変換機構６２とを有する。中間層６１−１〜６１−ｎ，６３−１〜６３−ｎは、自身に設定されたパラメータと、入力されたベクトルとを基にして値を算出し、算出した値を出力するものである。【００１９】
中間層６１−１は、静的符号５３−１の第１ベクトルの入力を受け付け、受け付けたベクトルと、自身に設定されたパラメータとを基にして、値を算出し、算出した値を、変換機構６２に出力する。中間層６１−２〜６１−ｎも同様にして、対応する静的符号の第１ベクトルの入力を受け付け、受け付けたベクトルと、自身に設定されたパラメータとを基にして、値を算出し、算出した値を、変換機構６２に出力する。【００２０】
変換機構６２は、中間層６１−１〜６１−ｎから入力される各値と、デコーダ７０等の内部状態を判断材料として、次の単語を訳出する際に注目すべき箇所を判断する役割を担う。たとえば、中間層６１−１の値に着目する確率が０．２、中間層６１−２に着目する確率が０．３等となり、各確率を全て足すと１に成るように正規化されている。【００２１】
変換機構６２は、中間層６１−１〜６１−ｎから出力される値と、各アテンション（確率）とを乗算した値を、足し合わせることで、分散表現の重み付き和を計算する。これを、コンテキストベクトル（context  vector）と呼ぶ。変換機構６３は、コンテキストベクトルを、中間層６３−１〜６３−ｎに入力する。中間層６３−１〜６３−ｎに入力される各コンテキストベクトルを算出する際に用いられる確率はそれぞれ再計算され、注目すべき箇所が毎回変化する。【００２２】
中間層６３−１は、変換機構６２からコンテキストベクトルを受け付け、受け付けたコンテキストベクトルと、自身に設定されたパラメータとを基にして、値を算出し、算出した値を、デコーダ７０に出力する。中間層６３−２〜６３−ｎも同様にして、対応するコンテキストベクトルを受け付け、受け付けたベクトルと、自身に設定されたパラメータとを基にして、値を算出し、算出した値を、デコーダ７０に出力する。【００２３】
デコーダ７０は、中間層６３−１〜６３−ｎから出力される値（第２ベクトル）につき、第２ベクトルテーブル１５０ｂを参照して、第２ベクトルを静的符号７１−１〜７１−ｎに変換する。第２ベクトルテーブル１５０ｂは、静的符号と第２ベクトルとを対応付けるテーブルである。第２ベクトルは、分散表現に対応する情報である。【００２４】
デコーダ７０は、第２言語の辞書情報（図示略）を基にして、静的符号７１−１〜７１−ｎを、圧縮コード７２−１〜７２−ｎに変換する。第２言語の辞書情報は、圧縮コードと、第２言語の静的符号とを対応付けた情報である。【００２５】
デコーダ７０は、第２言語のコード変換テーブル（図示略）を用いて、圧縮コード７２−１〜７２−ｎを第２言語の単語に変換することで、出力文７３を生成する。【００２６】
ここで、本実施例１に係る情報処理装置は、ＲＮＮ６０をパラメータを学習する場合に、教師データとなる第１言語の入力文と、第２言語の出力文との組を受け付ける。情報処理装置は、教師データの入力文をエンコーダ５０に入力した場合に、教師データの出力文がデコーダ７０から出力されるように、ＲＮＮ６０のパラメータを学習する。【００２７】
図２は、本実施例１に係る情報処理装置がＲＮＮのパラメータを学習する際の処理を説明するための図である。図２に示す例では、教師データとして、入力文「リンゴが甘い。」、出力文「The  apple  is  sweet．」を用いる。【００２８】
情報処理装置は、教師データの入力文「リンゴが甘い。」を基にして、下記の様な処理を行い、ＲＮＮ６０の各中間層６１−１〜６１−ｎに入力する各第１ベクトルを算出する。【００２９】
情報処理装置は、入力文５１ａの単語「リンゴ」を圧縮コード５２−１に変換し、圧縮コード５２−１を静的符号５３−１に変換する。情報処理装置は、「リンゴ」の静的符号５３−１と、第１ベクトルテーブル１５０ａとを基にして、「リンゴ」の第１ベクトルを特定し、中間層６１−１に入力する第１ベクトルとする。【００３０】
情報処理装置は、入力文５１ａの単語「が」を、圧縮コード５２−２に変換し、圧縮コード５２−２を静的符号５３−２に変換する。情報処理装置は、「が」の静的符号５３−２と、第１ベクトルテーブル１５０ａとを基にして、「が」の第１ベクトルを特定し、中間層６１−２に入力する第１ベクトルとする。【００３１】
情報処理装置は、入力文５１ａの単語「甘い（１）」を、圧縮コード５２−３に変換する。「甘い（１）」は、語義「砂糖や蜜のような味である」の単語「甘い」を便宜的に示すものである。情報処理装置により変換される圧縮コード５２−３は、単語「甘い」と、この単語「甘い」の意味との組を一意に識別する圧縮コードとなる。情報処理装置は、圧縮コード５２−３を、静的符号５３−３に変換する。情報処理装置は、「甘い（１）」の静的符号５３−２と、第１ベクトルテーブル１５０ａとを基にして、「甘い（１）」の第１ベクトルを特定し、中間層６１−３に入力する第１入力ベクトルとする。【００３２】
続いて、情報処理装置は、教師データの出力文「The  apple  is  sweet．」を基にして、下記のような処理を行い、ＲＮＮ６０の各中間層６３−１〜６３−ｎから出力される、「最適な第２ベクトル」を算出する。【００３３】
情報処理装置は、出力文７３ａの単語「The」を、圧縮コード７２−１に変換し、圧縮コード７２−１を静的符号７１−１に変換する。情報処理装置は、「The」の静的符号７１−１と、第２ベクトルテーブル１５０ｂとを基にして、「The」の第２ベクトルを特定し、特定した第２ベクトルを、中間層６３−１から出力される理想的な第２ベクトルの値とする。【００３４】
情報処理装置は、出力文７３ａの単語「apple」を、圧縮コード７２−２に変換し、圧縮コード７２−２を静的符号７１−２に変換する。情報処理装置は、「apple」の静的符号７１−２と、第２ベクトルテーブル１５０ｂとを基にして、「apple」の第２ベクトルを特定し、特定した第２ベクトルを、中間層６３−２から出力される理想的な第２ベクトルの値とする。【００３５】
情報処理装置は、出力文７３ａの単語「is」を、圧縮コード７２−３に変換し、圧縮コード７２−３を静的符号７１−３に変換する。情報処理装置は、「is」の静的符号７１−３と、第２ベクトルテーブル１５０ｂとを基にして、「is」の第２ベクトルを特定し、特定した第２ベクトルを、中間層６３−３から出力される理想的な第２ベクトルの値とする。【００３６】
情報処理装置は、出力文７３ａの単語「sweet」を、圧縮コード７２−４に変換し、圧縮コード７２−４を静的符号７１−４に変換する。情報処理装置は、「sweet」の静的符号７１−４と、第２ベクトルテーブル１５０ｂとを基にして、「sweet」の第２ベクトルを特定し、特定した第２ベクトルを、中間層６３−４から出力される理想的な第２ベクトルの値とする。【００３７】
上記のように、情報処理装置は、教師データを用いて、ＲＮＮ６０の各中間層６１−１〜６１−ｎに入力する各第１ベクトルと、ＲＮＮ６０の各中間層６３−１〜６３−ｎから出力される理想的な第２ベクトルを特定する。情報処理装置は、特定した各第１ベクトルを、ＲＮＮ６０の各中間層６１−１〜６１−ｎに入力したことにより、各中間層６３−１〜６３−ｎから出力される第２ベクトルが、理想的な第２ベクトルに近づくように、ＲＮＮ６０のパラメータを調整する処理を実行する。【００３８】
ここで、本実施例１に係る情報処理装置は、教師データを用いて、ＲＮＮ６０のパラメータを学習する場合に、教師データに含まれる単語について、単語と単語の語義との組を一意に識別する圧縮コード、静的符号を用いて学習を行う。このため、ＲＮＮ６０に入力する第１ベクトル（分散表現）が、単語の語義を区別可能な状態で学習が行われるため、このような学習を行ったＲＮＮ６０を用いることで、複数の語義を含む単語の翻訳精度を向上することができる。【００３９】
次に、本実施例１に係る情報処理装置の構成について説明する。図３は、本実施例１に係る情報処理装置の構成を示す機能ブロック図である。図３に示すように、この情報処理装置１００は、通信部１１０と、入力部１２０と、表示部１３０と、記憶部１５０と、制御部１６０とを有する。【００４０】
通信部１１０は、ネットワークを介して外部装置とデータ通信を実行する処理部である。通信部１１０は、通信装置の一例である。たとえば、情報処理装置１００は、ネットワークを介して、外部装置に接続し、外部装置から、教師データテーブル１５０ｃ等を受信してもよい。【００４１】
入力部１２０は、情報処理装置１００に各種の情報を入力するための入力装置である。たとえば、入力部１２０は、キーボードやマウス、タッチパネル等に対応する。【００４２】
表示部１３０は、制御部１６０から出力される各種の情報を表示するための表示装置である。たとえば、表示部１３０は、液晶ディスプレイやタッチパネル等に対応する。【００４３】
記憶部１５０は、第１ベクトルテーブル１５０ａ、第２ベクトルテーブル１５０ｂ、教師データテーブル１５０ｃ、コード変換テーブル１５０ｄ、辞書情報１５０ｅ、ＲＮＮデータ１５０ｆを有する。記憶部１５０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。【００４４】
第１ベクトルテーブル１５０ａは、第１言語の静的符号と、第１ベクトルとを対応付けるテーブルである。第１ベクトルは語義ベクトルの一例である。図４は、本実施例１に係る第１ベクトルテーブルのデータ構造の一例を示す図である。図４に示すように、この第１ベクトルテーブル１５０ａは、第１言語の静的符号と、第１ベクトルとを対応付ける。たとえば、第１言語の単語「甘い（１）」に対応する静的符号「６００２ｈ」は、第１ベクトル「Ｖｅ１−１」に対応付けられる。「ｈ」は１６進数を示すものである。第１ベクトルは、分散表現に対応する情報である。【００４５】
第２ベクトルテーブル１５０ｂは、第２言語の静的符号と、第２ベクトルを対応付けるテーブルである。第２ベクトルは語義ベクトルの一例である。図５は、本実施例１に係る第２ベクトルテーブルのデータ構造の一例を示す図である。図５に示すように、この第２ベクトルテーブル１５０ｂは、第２言語の静的符号と、第２ベクトルとを対応付ける。たとえば、第２言語の単語「sweet」に対応する静的符号「６０７３ｈ」は、第２ベクトル「Ｖｅ２−１」に対応付けられる。第２ベクトルは、分散表現に対応する情報である。【００４６】
教師データテーブル１５０ｃは、教師データとなる、入力文と出力文との組を保持するテーブルである。図６は、本実施例１に係る教師データテーブルのデータ構造の一例を示す図である。図６に示すように、この教師データテーブル１５０ｃは、入力文と、出力文とを対応付ける。たとえば、第１言語で記載された入力文「リンゴは甘い。」を第２言語に翻訳した場合の適切な出力文は「The  apple  is  sweet．」であることが、教師データにより示される。【００４７】
図６では図示を省略するが、入力文に含まれる各単語に、多義語が含まれている場合には、多義語に対応する単語と、単語の語義を示す情報が、教師データテーブル１５０ｃに設定されているものとする。たとえば、入力文「リンゴは甘い。」のうち、「甘い」に多義語を示すフラグが立ち、語義「砂糖や蜜のような味である」が添付されているものとする。また、入力文「君の考えは甘い。」のうち、「甘い」に多義語を示すフラグが立ち、語義「しっかりとした心構えができていない」が添付されているものとする。なお、多義語に添付される語義は、語義を一意に識別する情報であってもよい。【００４８】
コード変換テーブル１５０ｄは、単語と単語の語彙との組と、圧縮コードとを対応付けるテーブルである。図７は、本実施例１に係るコード変換テーブルのデータ構造の一例を示す図である。図７に示すように、このコード変換テーブル１５０ｄは、テーブル１５１ａと、テーブル１５１ｂとを有する。【００４９】
テーブル１５１ａは、第１言語の単語と圧縮コードとを対応付ける。たとえば、単語「甘い（１）」は、圧縮コード「Ｃ１０１」に対応付けられる。圧縮コード「Ｃ１０１」により、単語「甘い」と、語義「砂糖や蜜のような味である」との組を一意に識別できる。単語「甘い（２）」は、圧縮コード「Ｃ１０２」に対応付けられる。圧縮コード「Ｃ１０２」により、単語「甘い」と、語義「しっかりした心構えができていない」との組を一意に識別できる。なお、多義語ではない単語については、一つの単語に対して、一つの圧縮コードが割り当てられる。【００５０】
テーブル１５１ｂは、第２言語の単語と圧縮コードとを対応付ける。たとえば、単語「Sweet」は、圧縮コード「Ｃ２０１」に対応付けられる。単語「shallow」は、圧縮コード「Ｃ２０２」に対応付けられる。ここでは説明を省略するが、テーブル１５１ｂの圧縮コードも、テーブル１５１ａの圧縮コードと同様にして、単語と語義との組を一意に識別する圧縮コードであってもよい。【００５１】
辞書情報１５０ｅは、圧縮コードと、静的符号とを対応付けるテーブルである。図８は、本実施例１に係る辞書情報のデータ構造の一例を示す図である。図８に示すように、この辞書情報１５０ｅは、テーブル１５２ａと、テーブル１５２ｂとを有する。【００５２】
テーブル１５２ａは、第１言語の単語の圧縮コードと、静的符号とを対応付けるテーブルである。たとえば、圧縮コード「Ｃ１０１（甘い（１）の圧縮コード）」は、静的符号「６００２ｈ」に対応付けられる。圧縮コード「Ｃ１０１（甘い（２）の圧縮コード）」は、静的符号「６００３ｈ」に対応付けられる。【００５３】
テーブル１５２ｂは、第２言語の単語の圧縮コードと、静的符号とを対応付けるテーブルである。たとえば、圧縮コード「Ｃ２０１（sweetの圧縮コード）」は、静的符号「６０７３ｈ」に対応付けられる。圧縮コード「Ｃ２０２（shallowの圧縮コード）」は、静的符号「６０７７ｈ」に対応付けられる。【００５４】
ＲＮＮデータ１５０ｆは、図１、２で説明したＲＮＮ６０の各中間層に設定されるパラメータ等を保持するテーブルである。図９は、本実施例１に係るＲＮＮデータのデータ構造の一例を示す図である。図９に示すように、このＲＮＮデータ１５０ｆは、ＲＮＮ識別情報と、パラメータとを対応付ける。ＲＮＮ識別情報は、ＲＮＮ６０の中間層を一意に識別する情報である。パラメータは、該当する中間層に設定されるパラメータを示すものである。パラメータは、中間層に設定される活性化関数のバイアス値や、重み等に対応する。【００５５】
図１０は、中間層のパラメータを補足説明するための図である。図１０には、入力層「ｘ」と、中間層（隠れ層）「ｈ」と、出力層「ｙ」とを有する。中間層「ｈ」は、図１に示した中間層６１−１〜６１−ｎ、６３−１〜６３−ｎに対応するものである。【００５６】
中間層「ｈ」と入力層「ｘ」との関係は、活性化関数ｆを用いて、式（１）により定義される。式（１）のＷ１、Ｗ３は、教師データによる学習により、最適な値に調整される重みである。ｔは時刻（何単語読んだか）を示す。【００５７】
【数１】
2020017006.tif 000003
【００５８】
中間層「ｈ」と出力層「ｙ」との関係は、活性化関数ｇを用いて、式（２）により定義される。式（２）のＷ２は、教師データによる学習により、最適な値に調整される重みである。なお、活性化関数ｇとして、softmax関数を用いてもよい。【００５９】
【数２】
2020017006.tif 000004
【００６０】
図３の説明に戻る。制御部１６０は、受付部１６０ａ、第１取得部１６０ｂ、第２取得部１６０ｃ、特定部１６０ｄ、学習部１６０ｅを有する。制御部１６０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などによって実現できる。また、制御部１６０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。なお、エンコーダ５０、ＲＮＮ６０、デコーダ７０の処理は、制御部１６０により実現されるものとする。【００６１】
受付部１６０ａは、外部装置からネットワークを介して、教師データテーブル１５０ｃを受け付ける処理部である。受付部１６０ａは、受け付けた教師データテーブル１５０ｃを、記憶部１５０に格納する。受付部１６０ａは、入力部１２０から、教師データテーブル１５０ｃを受け付けてもよい。【００６２】
第１取得部１６０ｂは、教師データテーブル１５０ｃの入力文を解析し、入力文の単語に対する静的符号を取得する処理部である。以下において、第１取得部１６０ｂの処理の一例について説明する。【００６３】
第１取得部１６０ｂは、教師データテーブル１５０ｃから、入力文を取得し、入力文に対して字句解析を実行し、複数の単語に分割する。第１取得部１６０ｂは、分割した単語を選択し、選択した単語と、コード変換テーブル１５０ｄのテーブル１５１ａとを比較して、圧縮コードに変換する。【００６４】
ここで、第１取得部１６０ｂは、選択した単語が多義語である場合には、選択した単語と、語義との組に対応する圧縮コードを、テーブル１５１ａから特定し、特定した圧縮コードに変換する。第１取得部１６０ｂは、選択した単語が多義語でない場合には、選択した単語に対応する圧縮コードを、テーブル１５１ａから特定し、特定した圧縮コードに変換する。【００６５】
第１取得部１６０ｂは、入力文の単語を圧縮コードに変換すると、変換した圧縮コードと、辞書情報１５０ｅのテーブル１５２ａとを比較して、圧縮コードに対応する静的符号を特定する。第１取得部１６０ｂは、圧縮コードを、静的符号に変換し、変換した静的符号を、特定部１６０ｄに出力する。第１取得部１６０ｂが、特定部１６０ｄに出力する静的符号を「第１静的符号」と表記する。第１静的符号は、第１単語情報に対応する。【００６６】
第１取得部１６０ｂは、入力文を教師データテーブル１５０ｃから取得した場合に、取得した入力文が何行目の入力文であるかを、第２取得部１６０ｃに通知する。【００６７】
第２取得部１６０ｃは、教師データテーブル１５０ｃから、出力文を取得する。第２取得部１６０ｃは、第１取得部１６０ｂから通知された行の出力文を、教師データテーブル１５０ｃから取得するものとする。第２取得部１６０ｃは、出力文に対して字句解析を実行し、複数の単語に分割する。第２取得部１６０ｃは、分割した単語を選択し、選択した単語と、コード変換テーブル１５０ｄのテーブル１５１ｂとを比較して、圧縮コードに変換する。【００６８】
第２取得部１６０ｃは、選択した単語が多義語である場合には、選択した単語と、語義との組に対応する圧縮コードを、テーブル１５１ｂから特定し、特定した圧縮コードに変換する。第２取得部１６０ｃは、選択した単語が多義語でない場合には、選択した単語に対応する圧縮コードを、テーブル１５１ｂから特定し、特定した圧縮コードに変換する。【００６９】
第２取得部１６０ｃは、出力文の単語を圧縮コードに変換すると、変換した圧縮コードと、辞書情報１５０ｅのテーブル１５２ｂとを比較して、圧縮コードに対応する静的符号を特定する。第２取得部１６０ｃは、圧縮コードを、静的符号に変換し、変換した静的符号を、特定部１６０ｄに出力する。第２取得部１６０ｃが、特定部１６０ｄに出力する静的符号を「第２静的符号」と表記する。第２静的符号は、第２単語情報に対応する。【００７０】
特定部１６０ｄは、第１静的符号と、第１ベクトルテーブル１５０ａとを比較して、第１静的符号に対応する第１ベクトルを特定する。第１ベクトルは第１語義ベクトルの一例である。特定部１６０ｄは、入力文に含まれる各単語に対応する各第１ベクトルの組を、学習部１６０ｅに出力する。【００７１】
特定部１６０ｄは、第２静的符号と、第２ベクトルテーブル１５０ｂとを比較して、第２静的符号に対応する第２ベクトルを特定する。第２ベクトルは、第２語義ベクトルの一例である。特定部１６０ｄは、出力文に含まれる各単語に対応する各第２ベクトルの組を、学習部１６０ｅに出力する。【００７２】
学習部１６０ｅは、ＲＮＮデータ１５０ｆに登録された各中間層のパラメータを用いて、ＲＮＮ６０の中間層６１−１〜６１−ｎに各第１ベクトルを入力し、中間層６３−１〜６３−ｎから出力される各ベクトルを算出する。学習部１６０ｅは、ＲＮＮ６０の中間層６３−１〜６３−ｎから出力される各ベクトルが、各第２ベクトルに近づくように、ＲＮＮデータ１５０ｆに登録された各中間層のパラメータを学習する。【００７３】
たとえば、学習部１６０ｅは、中間層６３−１〜６３−ｎから出力される各ベクトルと、第２ベクトルとの差分を定義したコスト関数を用いて、差分が最小となるように、各中間層のパラメータを調整することで、学習を行ってもよい。【００７４】
第１取得部１６０ｂ、第２取得部１６０ｃ、特定部１６０ｄ、学習部１６０ｅは、教師データを変更しつつ、上記処理を繰り返し実行することで、ＲＮＮデータ１５０ｆのパラメータを学習する。【００７５】
次に、本実施例１に係る情報処理装置１００の処理手順の一例について説明する。図１１は、本実施例１に係る情報処理装置の処理手順を示すフローチャートである。図１１に示すように、情報処理装置１００の受付部１６０ａは、教師データテーブル１５０ｃを受け付ける（ステップＳ１０１）。【００７６】
情報処理装置１００の第１取得部１６０ｂおよび第２取得部１６０ｃは、教師データテーブル１５０ｃから、教師データを取得する（ステップＳ１０２）。第１取得部１６０ｂは、入力文に含まれる各単語に対して、圧縮コードを割り当てる（ステップＳ１０３）。第１取得部１６０ｂは、各圧縮コードに静的符号を割り当てる（ステップＳ１０４）。【００７７】
情報処理装置１００の特定部１６０ｄは、第１ベクトルテーブル１５０ａを基にして、各静的符号に対する各第１ベクトルを特定する（ステップＳ１０５）。第２取得部１６０ｃは、出力文に含まれる各単語に対して、圧縮コードを割り当てる（ステップＳ１０６）。第２取得部１６０ｃは、各圧縮コードに静的符号を割り当てる（ステップＳ１０７）。特定部１６０ｄは、第２ベクトルテーブル１５０ｂを基にして、各静的符号に対する各第２ベクトルを特定する（ステップＳ１０８）。【００７８】
情報処理装置１００の学習部１６０ｅは、各第１ベクトルをＲＮＮ６０の各中間層に入力し、ＲＮＮ６０の各中間層から出力される各ベクトルが、各第２ベクトルに近づくように、パラメータを調整する（ステップＳ１０９）。【００７９】
情報処理装置１００は、学習を継続するか否かを判定する（ステップＳ１１０）。情報処理装置１００は、学習を継続しない場合には（ステップＳ１１０，Ｎｏ）、学習を終了する。情報処理装置１００は、学習を継続する場合には（ステップＳ１１０，Ｙｅｓ）、ステップＳ１１１に移行する。第１取得部１６０ｂおよび第２取得部１６０ｃは、教師データテーブル１５０ｃから、新たな教師データを取得し（ステップＳ１１１）、ステップＳ１０３に移行する。【００８０】
次に、本実施例１に係る情報処理装置１００の効果について説明する。情報処理装置１００は、教師データを用いて、ＲＮＮ６０のパラメータを学習する場合に、教師データに含まれる単語について、単語と単語の語義との組を一意に識別する圧縮コード、静的符号を用いて学習を行う。このため、第１ベクトルを入力することでＲＮＮ６０から出力されるベクトルを、理想的な第２ベクトルに合わせる学習が、単語の語義を区別した状態で学習することができ、このような学習を行ったＲＮＮ６０を用いることで、複数の語義を含む単語の翻訳精度を向上することができる。【００８１】
本実施例１に係る情報処理装置１００は、教師データに含まれる単語について、単語と単語の語義との組を一意に示す圧縮コードに変換する。たとえば、制御部１６０（ＣＰＵ）におけるデータの受け渡しを、圧縮コードで行うことで、単語と単語の語義との情報をそのまま取り扱う場合と比較して、記憶部１５０（メモリ）に対する読み出し、書き込みに関するデータ処理を高速化することができる。【００８２】
本実施例１に係る情報処理装置１００は、教師データに含まれる単語を、単語と語義とを一意に識別可能な静的符号に変換する。これにより、単語と語義とを、一つのベクトルに容易に対応付けることができる。
【実施例２】
【００８３】
本実施例２に係る情報処理装置について説明する。本実施例２に係る情報処理装置は、図１で説明したエンコーダ５０、ＲＮＮ６０、デコーダ７０により、入力文を出力文に翻訳する処理を行う。ここで、ＲＮＮ６０の各中間層６１−１〜６１−ｎ、６３−１〜６３−ｎに設定されるパラメータは、実施例１の情報処理装置１００により学習されたパラメータを用いる。【００８４】
図１２は、本実施例２に係る情報処理装置の構成を示す機能ブロック図である。図１２に示すように、この情報処理装置２００は、通信部２１０と、入力部２２０と、表示部２３０と、記憶部２５０と、制御部２６０とを有する。【００８５】
通信部２１０は、ネットワークを介して外部装置や、実施例１で説明した情報処理装置１００とデータ通信を実行する処理部である。通信部２１０は、通信装置の一例である。たとえば、通信部２１０は、ネットワークを介して、学習済みのＲＮＮデータ１５０ｆを受信してもよい。また、通信部２１０は、ネットワークを介して、翻訳対象となる入力文データ２５０ａを受信してもよい。【００８６】
入力部２２０は、情報処理装置２００に各種の情報を入力するための入力装置である。たとえば、入力部２２０は、キーボードやマウス、タッチパネル等に対応する。【００８７】
表示部２３０は、制御部２６０から出力される各種の情報を表示するための表示装置である。たとえば、表示部２３０は、液晶ディスプレイやタッチパネル等に対応する。【００８８】
記憶部２５０は、第１ベクトルテーブル１５０ａ、第２ベクトルテーブル１５０ｂ、コード変換テーブル１５０ｄ、辞書情報１５０ｅ、ＲＮＮデータ１５０ｆ、入力文データ２５０ａ、出力文データ２５０ｂを有する。記憶部２５０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。【００８９】
第１ベクトルテーブル１５０ａは、第１言語の静的符号と、第１ベクトルとを対応付けるテーブルである。第１ベクトルテーブル１５０ａのデータ構造は、図４に示した第１ベクトルテーブル１５０ａのデータ構造の説明と同様である。【００９０】
第２ベクトルテーブル１５０ｂは、第２言語の静的符号と、第２ベクトルとを対応付けたテーブルである。第２ベクトルテーブル１５０ｂのデータ構造は、図５に示した第２ベクトルテーブル１５０ｂのデータ構造の説明と同様である。【００９１】
コード変換テーブル１５０ｄは、単語と単語の語彙との組と、圧縮コードとを対応付けるテーブルである。コード変換テーブル１５０ｄのデータ構造は、図７に示したコード変換テーブル１５０ｄのデータ構造の説明と同様である。【００９２】
辞書情報１５０ｅは、圧縮コードと、静的符号とを対応付けるテーブルである。辞書情報１５０ｅのデータ構造は、図８に示した辞書情報１５０ｅのデータ構造の説明と同様である。【００９３】
ＲＮＮデータ１５０ｆは、図１、２で説明したＲＮＮ６０の各中間層に設定されるパラメータ等を保持するテーブルである。ＲＮＮデータ１５０ｆのデータ構造の説明は、図９で説明した、ＲＮＮデータ１５０ｆのデータ構造の説明と同様である。なお、ＲＮＮデータ１５０ｆのパラメータは、実施例１の情報処理装置１００により、学習されたパラメータとなる。【００９４】
入力文データ２５０ａは、翻訳対象となる入力文のデータである。たとえば、入力文データ２５０ａは、第１言語で記載された「リンゴは甘い。」等とする。【００９５】
出力文データ２５０ｂは、入力文データ２５０ａを翻訳することにより得られるデータである。たとえば、入力文データが「リンゴは甘い。」であって、ＲＮＮデータ１５０ｆのパラメータが適切に学習されている場合には、出力文データは「The  apple  is  sweet．」となる。【００９６】
制御部２６０は、受付部２６０ａ、取得部２６０ｂ、特定部２６０ｃ、変換部２６０ｄ、生成部２６０ｅ、通知部２６０ｆを有する。制御部２６０は、ＣＰＵやＭＰＵなどによって実現できる。また、制御部２６０は、ＡＳＩＣやＦＰＧＡなどのハードワイヤードロジックによっても実現できる。なお、エンコーダ５０、ＲＮＮ６０、デコーダ７０の処理は、制御部２６０により実現されるものとする。【００９７】
受付部２６０ａは、情報処理装置１００から、ネットワークを介して、ＲＮＮデータ１５０ｆを受け付けた場合に、受け付けたＲＮＮデータ１５０ｆを、記憶部２５０に格納する処理部である。なお、既にＲＮＮデータ１５０ｆが、記憶部２５０に格納されている場合には、最新のＲＮＮデータ１５０ｆにより、ＲＮＮデータ１５０ｆを更新してもよい。【００９８】
受付部２６０ａは、外部装置からネットワークを介して、入力文データ２５０ａを受け付けた場合に、受け付けた入力文データ２５０ａを、記憶部２５０に格納する。【００９９】
取得部２６０ｂは、入力文データ２５０ａの入力文を解析し、入力文の単語に対応する静的符号を取得する処理部である。以下において、取得部２６０ｂの処理の一例について説明する。【０１００】
取得部２６０ｂは、入力文データ２５０ａから、入力文を取得し、入力文に対して字句解析を実行し、複数の単語に分割する。取得部２６０ｂは、分割した単語を選択し、選択した単語と、コード変換テーブル１５０ｄのテーブル１５１ａとを比較して、圧縮コードに変換する。【０１０１】
ここで、取得部２６０ｂは、選択した単語が多義語である場合には、選択した単語と、語義との組に対応する圧縮コードを、テーブル１５１ａから特定し、特定した圧縮コードに変換する。取得部２６０ｂは、選択した単語が多義語でない場合には、選択した単語に対応する圧縮コードを、テーブル１５１ａから特定し、特定した圧縮コードに変換する。【０１０２】
取得部２６０ｂは、入力文の単語を圧縮コードに変換すると、変換した圧縮コードと、辞書情報１５０ｅのテーブル１５２ａとを比較して、圧縮コードに対応する静的符号を特定する。取得部２６０ｂは、圧縮コードを、静的符号に変換し、変換した静的符号を、特定部２６０ｃに出力する。取得部２６０ｂが、特定部２６０ｃに出力する静的符号を「第１静的符号」と表記する。【０１０３】
特定部２６０ｃは、第１静的符号と、第１ベクトルテーブル１５０ａとを比較して、第１静的符号に対応する第１ベクトルを特定する。特定部２６０ｃは、入力文に含まれる各単語に対応する各第１ベクトルの組を、変換部２６０ｄに出力する。【０１０４】
変換部２６０ｄは、ＲＮＮデータ１５０ｆに登録された各中間層６１−１〜６３−ｎパラメータを用いて、ＲＮＮ６０の各中間層６１−１〜６１−ｎに各第１ベクトルを入力する。変換部２６０ｄは、ＲＮＮ６０の中間層６３−１〜６３−ｎから出力される各第２ベクトルを取得することで、各第１ベクトルを各第２ベクトルに変換する。変換部２６０ｄは、変換した各第２ベクトルを、生成部２６０ｅに出力する。【０１０５】
生成部２６０ｅは、変換部２６０ｄから取得する各第２ベクトルを用いて、出力文データ２５０ｂを生成する処理部である。以下において、生成部２６０ｅの処理の一例について説明する。【０１０６】
生成部２６０ｅは、各第２ベクトルと、第２ベクトルテーブル１５０ｂとを比較して、各第２ベクトルに対応する第２静的符号をそれぞれ特定する。生成部２６０ｅは、各第２静的符号と、辞書情報１５０ｅのテーブル１５２ｂとを比較して、各第２静的符号に対応する圧縮コードをそれぞれ特定する。【０１０７】
生成部２６０ｅは、圧縮コードをそれぞれ特定すると、特定した圧縮コードと、コード変換テーブル１５０ｄのテーブル１５１ｂとを比較して、各圧縮コードに対応する第２言語の単語を特定する。生成部２６０ｅは、特定した単語を並べることで、出力文データ２５０ｂを生成する。生成部２６０ｅは、生成した出力文データ２５０ｂを、記憶部２５０に格納する。【０１０８】
通知部２６０ｆは、記憶部２５０に格納された出力文データ２５０ｂを、入力文データ２５０ａの送信元となる外部装置に通知する処理部である。【０１０９】
次に、本実施例２に係る情報処理装置２００の処理手順の一例について説明する。図１３は、本実施例２に係る情報処理装置の処理手順を示すフローチャートである。図１３に示すように、情報処理装置２００の受付部２６０ａは、入力文データ２５０ａを受け付ける（ステップＳ２０１）。【０１１０】
情報処理装置２００の取得部２６０ｂは、入力文データ２５０ａに含まれる各単語に対して、圧縮コードを割り当てる（ステップＳ２０２）。取得部２６０ｂは、辞書情報１５０ｅを基にして、各圧縮コードに静的符号を割り当てる（ステップＳ２０３）。【０１１１】
情報処理装置２００の特定部２６０ｃは、第１ベクトルテーブル１５０ａを参照して、各静的符号に対応する各第１ベクトルを特定する（ステップＳ２０４）。情報処理装置２００の変換部２６０ｄは、各第１ベクトルをＲＮＮ６０の各中間層に入力し、ＲＮＮ６０の各中間層から出力される第２ベクトルを取得する（ステップＳ２０５）。【０１１２】
情報処理装置２００の生成部２６０ｅは、第２ベクトルテーブル１５０ｂを参照して、各第２ベクトルを静的符号に変換する（ステップＳ２０６）。生成部２６０ｅは、静的符号を圧縮コードに変換する（ステップＳ２０７）。【０１１３】
生成部２６０ｅは、圧縮コードを単語に変換して、出力文データ２５０ｂを生成する（ステップＳ２０８）。情報処理装置２００の通知部２６０ｆは、出力文データ２５０ｂを外部装置に通知する（ステップＳ２０９）。【０１１４】
次に、本実施例２に係る情報処理装置２００の効果について説明する。情報処理装置２００は、入力文データ２５０ａに含まれる単語について、単語と単語の語義との組を一意に識別する圧縮コード、静的符号を用いて、第１ベクトルに変換する。情報処理装置２００は、この第１ベクトルを、ＲＮＮ６０に入力して、出力文データ２５０ｂを生成することで、入力文データ２５０ａに多義語が含まれている場合でも、精度よく翻訳文となる出力文データ２５０ｂを生成することができる。【０１１５】
ところで、上述した実施例１、２の説明では、第１言語を日本語、第２言語を英語として説明を行ったがこれに限定されるものではない。たとえば、中国語、韓国語、フランス語、ヒンディー語、スペイン語、アラビア語、ベンガル語、ポルトガル語等の他の言語であってもよい。また、第１言語と第２言語との関係は、日本語の標準語と方言との関係であってもよい。【０１１６】
次に、実施例１に示した情報処理装置１００と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図１４は、本実施例１に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。【０１１７】
図１４に示すように、コンピュータ３００は、各種演算処理を実行するＣＰＵ３０１と、ユーザからのデータの入力を受け付ける入力装置３０２と、ディスプレイ３０３とを有する。また、コンピュータ３００は、記憶媒体からプログラム等を読み取る読み取り装置３０４と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置３０５とを有する。コンピュータ３００は、各種情報を一時記憶するＲＡＭ３０６と、ハードディスク装置３０７とを有する。そして、各装置３０１〜３０７は、バス３０８に接続される。【０１１８】
ハードディスク装置３０７は、受付プログラム３０７ａ、第１取得プログラム３０７ｂ、第２取得プログラム３０７ｃ、特定プログラム３０７ｄ、学習プログラム３０７ｅを有する。ＣＰＵ３０１は、受付プログラム３０７ａ、第１取得プログラム３０７ｂ、第２取得プログラム３０７ｃ、特定プログラム３０７ｄ、学習プログラム３０７ｅを読み出してＲＡＭ３０６に展開する。【０１１９】
受付プログラム３０７ａは、受付プロセス３０６ａとして機能する。第１取得プログラム３０７ｂは、第１取得プロセス３０６ｂとして機能する。第２取得プログラム３０７ｃは、第２取得プロセス３０６ｃとして機能する。特定プログラム３０７ｄは、特定プロセス３０６ｄとして機能する。学習プログラム３０７ｅは、学習プロセス３０６ｅとして機能する。【０１２０】
受付プロセス３０６ａの処理は、受付部１６０ａの処理に対応する。第１取得プロセス３０６ｂの処理は、第１取得部１６０ｂの処理に対応する。第２取得プロセス３０６ｃの処理は、第２取得部１６０ｃの処理に対応する。特定プロセス３０６ｄの処理は、特定部１６０ｄの処理に対応する。学習プロセス３０６ｅの処理は、学習部１６０ｅの処理に対応する。【０１２１】
なお、各プログラム３０７ａ〜３０７ｅについては、必ずしも最初からハードディスク装置３０７に記憶させておかなくてもよい。例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ３００が各プログラム３０７ａ〜３０７ｅを読み出して実行するようにしてもよい。【０１２２】
続いて、上記実施例２に示した情報処理装置２００と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図１５は、本実施例２に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。【０１２３】
図１５に示すように、コンピュータ４００は、各種演算処理を実行するＣＰＵ４０１と、ユーザからのデータの入力を受け付ける入力装置４０２と、ディスプレイ４０３とを有する。また、コンピュータ４００は、記憶媒体からプログラム等を読み取る読み取り装置４０４と、有線または無線ネットワークを介して、外部装置、情報処理装置１００等との間でデータの授受を行うインタフェース装置４０５とを有する。コンピュータ４００は、各種情報を一時記憶するＲＡＭ４０６と、ハードディスク装置４０７とを有する。そして、各装置４０１〜４０７は、バス４０８に接続される。【０１２４】
ハードディスク装置４０７は、受付プログラム４０７ａ、取得プログラム４０７ｂ、特定プログラム４０７ｃ、変換プログラム４０７ｄ、生成プログラム４０７ｅ、通知プログラム４０７ｆを有する。ＣＰＵ４０１は、受付プログラム４０７ａ、取得プログラム４０７ｂ、特定プログラム４０７ｃ、変換プログラム４０７ｄ、生成プログラム４０７ｅ、通知プログラム４０７ｆを読み出してＲＡＭ４０６に展開する。【０１２５】
受付プログラム４０７ａは、受付プロセス４０６ａとして機能する。取得プログラム４０７ｂは、取得プロセス４０６ｂとして機能する。特定プログラム４０７ｃは、特定プロセス４０６ｃとして機能する。変換プログラム４０７ｄは、変換プロセス４０６ｄとして機能する。生成プログラム４０７ｅは、生成プロセス４０６ｅとして機能する。通知プログラム４０７ｆは、通知プロセス４０６ｆとして機能する。【０１２６】
受付プロセス４０６ａの処理は、受付部２６０ａの処理に対応する。取得プロセス４０６ｂの処理は、取得部２６０ｂの処理に対応する。特定プロセス４０６ｃの処理は、特定部２６０ｃの処理に対応する。変換プロセス４０６ｄの処理は、変換部２６０ｄの処理に対応する。生成プロセス４０６ｅの処理は、生成部２６０ｅの処理に対応する。通知プロセス４０６ｆの処理は、通知部２６０ｆの処理に対応する。【０１２７】
なお、各プログラム４０７ａ〜４０７ｆについては、必ずしも最初からハードディスク装置３０７に記憶させておかなくてもよい。例えば、コンピュータ４００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ３００が各プログラム４０７ａ〜４０７ｆを読み出して実行するようにしてもよい。
【符号の説明】
【０１２８】
１００，２００    情報処理装置
１１０，２１０    通信部
１２０，２２０    入力部
１３０，２３０    表示部
１５０、２５０    記憶部
１５０ａ  第１ベクトルテーブル
１５０ｂ  第２ベクトルテーブル
１５０ｃ  教師データテーブル
１５０ｄ  コード変換テーブル
１５０ｅ  辞書情報
１５０ｆ  ＲＮＮデータ
１６０，２６０    制御部
１６０ａ，２６０ａ  受付部
１６０ｂ  第１取得部
１６０ｃ  第２取得部
１６０ｄ，２６０ｃ  特定部
１６０ｅ  学習部
２６０ｂ  取得部
２６０ｄ  変換部
２６０ｆ  通知部
【図１】
2020017006.tif 000005
【図２】
2020017006.tif 000006
【図３】
2020017006.tif 000007
【図４】
2020017006.tif 000008
【図５】
2020017006.tif 000009
【図６】
2020017006.tif 000010
【図７】
2020017006.tif 000011
【図８】
2020017006.tif 000012
【図９】
2020017006.tif 000013
【図１０】
2020017006.tif 000014
【図１１】
2020017006.tif 000015
【図１２】
2020017006.tif 000016
【図１３】
2020017006.tif 000017
【図１４】
2020017006.tif 000018
【図１５】
2020017006.tif 000019
【手続補正書】
【提出日】令和3年1月27日(2021.1.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータが、
第１のテキスト情報と、第２のテキスト情報とを受け付け、
受け付けた前記第１のテキスト情報を解析して、前記第１のテキスト情報に含まれる何れかの単語及び該何れかの単語の語義の組みを識別する第１単語情報を取得し、
受け付けた前記第２のテキスト情報を解析して、前記第２のテキスト情報に含まれる単語及び該単語の語義の組みを識別する第２単語情報を取得し、
単語の語義に応じた語義ベクトルを、該単語及び該単語の語義の組みを識別する単語情報に対応付けて記憶する記憶部を参照して、前記第１単語情報に対応する第１語義ベクトルと、前記第２単語情報に対応する第２語義ベクトルとを特定し、
前記第１のテキスト情報に含まれる第１単語の第１単語情報から特定される第１語義ベクトルを、変換モデルに入力した際に出力される語義ベクトルが、前記第１単語に対応する単語であって、前記第２のテキスト情報の単語を示す第２単語から特定される第２語義ベクトルに近づくように、前記変換モデルのパラメータを学習する
処理を実行することを特徴とする学習方法。
【請求項２】
前記第１単語情報を取得する処理は、前記第１のテキスト情報を解析して、前記第１のテキスト情報に含まれる単語のうち、複数の語義を有する単語に関して、前記第１のテキスト情報での語義と、前記単語との組を識別する符号を、前記第１単語情報として取得することを特徴とする請求項１に記載の学習方法。
【請求項３】
前記第２単語情報を取得する処理は、前記第２のテキスト情報を解析して、前記第２のテキスト情報に含まれる単語のうち、複数の語義を有する単語に関して、前記第２のテキスト情報での語義と、前記単語との組を識別する符号を、前記第２単語情報として取得することを特徴とする請求項２に記載の学習方法。
【請求項４】
前記第１のテキスト情報は、第１の言語で記載されたテキスト情報であり、前記第２のテキスト情報は、前記第１の言語とは異なる第２の言語で記載されたテキスト情報であることを特徴とする請求項１、２または３に記載の学習方法。
【請求項５】
前記第１単語情報を取得する処理は、前記第１のテキスト情報での語義と、前記単語との組を識別する符号を、静的符号に変換し、前記第２単語情報を取得する処理は、前記第２のテキスト情報での語義と、前記単語との組を識別する符号を、静的符号に変換することを特徴とする請求項３に記載の学習方法。
【請求項６】
コンピュータが、
第１のテキスト情報を受け付け、
受け付けた前記第１のテキスト情報を解析して、前記第１のテキスト情報に含まれる何れかの単語及び該何れかの単語の語義の組みを識別する第１単語情報を取得し、
単語の語義に応じた語義ベクトルを、該単語及び該単語の語義の組みを識別する単語情報に対応付けて記憶する記憶部を参照して、前記第１単語情報に対応する第１語義ベクトルを特定し、
請求項１の学習方法によって学習されたパラメータを有する変換モデルに、前記第１語義ベクトルを入力することで、前記第１語義ベクトルを第２語義ベクトルに変換し、
前記記憶部を参照して、前記第２語義ベクトルに対応する第２単語情報を取得し、
前記第２単語情報を基にして、第２のテキスト情報を生成する
処理を実行することを特徴とする翻訳方法。
【請求項７】
第１のテキスト情報と、第２のテキスト情報とを受け付け、
受け付けた前記第１のテキスト情報を解析して、前記第１のテキスト情報に含まれる何れかの単語及び該何れかの単語の語義の組みを識別する第１単語情報を取得し、
受け付けた前記第２のテキスト情報を解析して、前記第２のテキスト情報に含まれる単語及び該単語の語義の組みを識別する第２単語情報を取得し、
単語の語義に応じた語義ベクトルを、該単語及び該単語の語義の組みを識別する単語情報に対応付けて記憶する記憶部を参照して、前記第１単語情報に対応する第１語義ベクトルと、前記第２単語情報に対応する第２語義ベクトルとを特定し、
前記第１のテキスト情報に含まれる第１単語の第１単語情報から特定される第１語義ベクトルを、変換モデルに入力した際に出力される語義ベクトルが、前記第１単語に対応する単語であって、前記第２のテキスト情報の単語を示す第２単語から特定される第２語義ベクトルに近づくように、前記変換モデルのパラメータを学習する
処理をコンピュータに実行させることを特徴とする学習プログラム。
【請求項８】
第１のテキスト情報を受け付け、
受け付けた前記第１のテキスト情報を解析して、前記第１のテキスト情報に含まれる何れかの単語及び該何れかの単語の語義の組みを識別する第１単語情報を取得し、
単語の語義に応じた語義ベクトルを、該単語及び該単語の語義の組みを識別する単語情報に対応付けて記憶する記憶部を参照して、前記第１単語情報に対応する第１語義ベクトルを特定し、
請求項１の学習方法によって学習されたパラメータを有する変換モデルに、前記第１語義ベクトルを入力することで、前記第１語義ベクトルを第２語義ベクトルに変換し、
前記記憶部を参照して、前記第２語義ベクトルに対応する第２単語情報を取得し、
前記第２単語情報を基にして、第２のテキスト情報を生成する
処理をコンピュータに実行させることを特徴とする翻訳プログラム。
【請求項９】
第１のテキスト情報と、第２のテキスト情報とを受け付ける受付部と、
受け付けた前記第１のテキスト情報を解析して、前記第１のテキスト情報に含まれる何れかの単語及び該何れかの単語の語義の組みを識別する第１単語情報を取得する第１取得部と、
受け付けた前記第２のテキスト情報を解析して、前記第２のテキスト情報に含まれる単語及び該単語の語義の組みを識別する第２単語情報を取得する第２取得部と、
単語の語義に応じた語義ベクトルを、該単語及び該単語の語義の組みを識別する単語情報に対応付けて記憶する記憶部を参照して、前記第１単語情報に対応する第１語義ベクトルと、前記第２単語情報に対応する第２語義ベクトルとを特定する特定部と、
前記第１のテキスト情報に含まれる第１単語の第１単語情報から特定される第１語義ベクトルを、変換モデルに入力した際に出力される語義ベクトルが、前記第１単語に対応する単語であって、前記第２のテキスト情報の単語を示す第２単語から特定される第２語義ベクトルに近づくように、前記変換モデルのパラメータを学習する学習部と
を有することを特徴とする情報処理装置。
【請求項１０】
第１のテキスト情報を受け付ける受付部と、
受け付けた前記第１のテキスト情報を解析して、前記第１のテキスト情報に含まれる何れかの単語及び該何れかの単語の語義の組みを識別する第１単語情報を取得する取得部と、
単語の語義に応じた語義ベクトルを、該単語及び該単語の語義の組みを識別する単語情報に対応付けて記憶する記憶部を参照して、前記第１単語情報に対応する第１語義ベクトルを特定する特定部と、
請求項１の学習方法によって学習されたパラメータを有する変換モデルに、前記第１語義ベクトルを入力することで、前記第１語義ベクトルを第２語義ベクトルに変換する変換部と、
前記記憶部を参照して、前記第２語義ベクトルに対応する第２単語情報を取得し、前記第２単語情報を基にして、第２のテキスト情報を生成する生成部と、
を有することを特徴とする情報処理装置。
【国際調査報告】
2020017006.tif 000020
2020017006.tif 000021