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