(57)【要約】【課題】  文字列の探索範囲を効率よく拡張し、ソース文章の文脈上、重要なワードを正確に翻訳することににより、文章を生成すること。【解決手段】  ソース文章に基づいて生成されたソースワード集合の対応ワード集合を生成し、ソース文章の符号化により生成された特徴ベクトルに基づいて復号化を行ってワードを生成し、ソースワード集合及び対応ワード集合のいずれか１つ又は両方に基づいて、生成されたワードのうち１つ以上のワードが先行するワードに続く確率を調整し、調整された確率及び調整されていない確率に基づいて前記生成されたワードそれぞれを含む互いに異なる文字列のうち何れかの文字列を選択するステップを含む。【選択図】      図１
2019061655.tif 000002
【特許請求の範囲】
【請求項１】
ソース文章に基づいて生成されたソースワード集合の対応ワード集合を生成するステップと、
前記ソース文章の符号化により生成された特徴ベクトルに基づいて復号化を行ってワードを生成するステップと、
前記ソースワード集合及び前記対応ワード集合のいずれか１つ又は両方に基づいて、前記生成されたワードのうち少なくとも１つのワードが先行するワードに続く確率を調整する確率調整ステップと、
前記調整された確率及び調整されていない確率に基づいて、前記生成されたワードそれぞれを含む互いに異なる文字列のうち何れかの文字列を選択するステップと、
を含む、文章生成方法。
【請求項２】
前記確率調整ステップは、前記生成されたワードのうち識別されたワードが前記対応ワード集合に含まれている場合に、前記識別されたワードの確率を調整するステップを含む、請求項１に記載の文章生成方法。
【請求項３】
前記確率調整ステップは、
前記生成されたワードのうち識別されたワードが前記対応ワード集合に含まれていない場合、前記識別されたワードが属するグループ内の他のワードと前記対応ワード集合内のワード間に共通するワードの有無を確認するステップと、
前記確認の結果、前記共通するワードが存在し、前記共通するワードが前記生成されたワードのうちの１つである場合、前記共通するワードの確率を調整するステップと、
を含む、請求項１に記載の文章生成方法。
【請求項４】
前記確率調整ステップは、
前記生成されたワードそれぞれの確率に基づいて前記生成されたワードのうち一部のワードを識別するステップと、
前記識別されたワードが前記対応ワード集合に含まれている場合、前記識別されたワードの確率を調整するステップと、
を含む、請求項１に記載の文章生成方法。
【請求項５】
前記復号化を行うステップは、
前記特徴ベクトルと加重値を用いてコンテキストベクトルを算出するステップと、
前記コンテキストベクトル及び以前の復号化結果に基づいて前記ワードを生成するステップと、
を含む、請求項１ないし４のうち何れか一項に記載の文章生成方法。
【請求項６】
前記確率調整ステップは、
前記復号化に使用された加重値のうち最大値を用いて、前記生成されたワードのうち最大確率を有するワードに対応するソースワードを識別するステップであって、前記識別されたソースワードは、前記ソース文章内のワードのうちの１つである、ステップと、
前記識別されたソースワードが前記ソースワード集合に含まれている場合、前記対応ワード集合から前記識別されたソースワードの対応ワードを検索するステップと、
前記検索された対応ワードが前記生成されたワードのうちの１つである場合、前記検索された対応ワードの確率を調整するステップと、
を含む、請求項１に記載の文章生成方法。
【請求項７】
前記確率調整ステップは、
前記検索された対応ワードの確率が調整された場合、前記生成されたワードのうち前記検索された対応ワードを除いた残りの確率と前記調整された確率とに基づいて前記検索された対応ワード及び前記残りのうち一部のワードを識別するステップと、
前記識別された一部のワードが前記対応ワード集合にある場合、前記識別された一部のワードの確率を調整するステップと、
を含む、請求項６に記載の文章生成方法。
【請求項８】
前記選択された文字列が前記ソース文章の翻訳文に対する候補である場合、
前記選択された文字列それぞれのスコアを算出するステップと、
前記選択された文字列それぞれのスコアを、前記選択された文字列それぞれのカバレッジに基づいて調整するステップと、
前記調整されたスコアに基づいて前記選択された文字列のいずれか１つを前記翻訳文として決定するステップと、
をさらに含み、
前記選択された文字列それぞれのカバレッジは、前記選択された文字列それぞれが前記対応ワード集合内のワードをどれ程含んでいるかを示す、請求項１ないし７のうち何れか一項に記載の文章生成方法。
【請求項９】
前記ソースワード集合は、前記ソース文章から抽出されたワード、前記抽出されたワードの類義語、前記抽出されたワードの基本形のいずれか１つ又は２以上の組み合せを含み、
前記対応ワード集合は、前記ソースワード集合内のワードを他の言語に表現した翻訳ワード、前記翻訳ワードの類義語、及び前記翻訳ワードの基本形のいずれか１つ又は２以上の組み合せを含む、請求項１ないし８のうち何れか一項に記載の文章生成方法。
【請求項１０】
前記ソース文章及び前記ソースワード集合は第１言語であり、前記生成されたワード及び前記対応ワード集合は前記第１言語とは異なる第２言語である、請求項１ないし９のうち何れか一項に記載の文章生成方法。
【請求項１１】
前記対応ワード集合は、第１言語−第２言語の辞書を参考して生成される、請求項１ないし１０のうち何れか一項に記載の文章生成方法。
【請求項１２】
請求項１〜１１のうち何れか一項に記載の文章生成方法を文章生成装置のコンピュータに実行させるコンピュータプログラム。
【請求項１３】
ソース文章に基づいて生成されたソースワード集合の対応ワード集合を生成し、前記ソース文章の符号化により生成された特徴ベクトルに基づいて復号化を行ってワードを生成し、前記ソースワード集合及び前記対応ワード集合のいずれか１つ又は両方に基づいて前記生成されたワードのうち少なくとも１つのワードが先行するワードに続く確率を調整し、前記調整された確率及び調整されていない確率に基づいて前記生成されたワードそれぞれを含む互いに異なる文字列のうち何れかの文字列を選択するコントローラと、
を含む、文章生成装置。
【請求項１４】
前記コントローラは、前記生成されたワードのうち識別されたワードが前記対応ワード集合に含まれている場合に、前記識別されたワードの確率を調整する、請求項１３に記載の文章生成装置。
【請求項１５】
前記コントローラは、
前記生成されたワードのうち識別されたワードが前記対応ワード集合に含まれてない場合、前記識別されたワードが属するグループ内の他のワードと前記対応ワード集合内のワード間に共通するワードの有無を確認し、
前記確認の結果、前記共通するワードが存在し、前記共通するワードが前記生成されたワードのうちの１つである場合、前記共通するワードの確率を調整する、請求項１３に記載の文章生成装置。
【請求項１６】
前記コントローラは、前記生成されたワードそれぞれの確率に基づいて前記生成されたワードのうちの一部のワードを識別し、前記識別されたワードが前記対応ワード集合に含まれている場合、前記識別されたワードの確率を調整する、請求項１３に記載の文章生成装置。
【請求項１７】
前記コントローラは、前記特徴ベクトルと加重値を用いてコンテキストベクトルを算出し、前記コンテキストベクトル及び以前の復号化結果に基づいて前記ワードを生成する、請求項１３ないし１６のうち何れか一項に記載の文章生成装置。
【請求項１８】
前記コントローラは、前記復号化に使用された加重値のうち最大値を用いて、前記生成されたワードのうち最大確率を有するワードに対応するソースワードを識別し、前記識別されたソースワードは、前記ソース文章内のワードのうちの１つであり、
前記コントローラは、
前記識別されたソースワードが前記ソースワード集合にある場合、前記対応ワード集合から前記識別されたソースワードの対応ワードを検索し、
前記検索された対応ワードが前記生成されたワードのうちの１つである場合、前記検索された対応ワードの確率を調整する、請求項１３に記載の文章生成装置。
【請求項１９】
前記コントローラは、
前記検索された対応ワードの確率が調整された場合、前記生成されたワードのうち前記検索された対応ワードを除いた残りの確率と前記調整された確率に基づいて、前記検索された対応ワード及び前記残りのうち一部のワードを識別し、
前記識別された一部のワードが前記対応ワード集合に含まれている場合、前記識別された一部のワードの確率を調整する、請求項１８に記載の文章生成装置。
【請求項２０】
前記選択された文字列が前記ソース文章の翻訳文に対する候補である場合、前記コントローラは、
前記選択された文字列それぞれのスコアを算出し、
前記選択された文字列それぞれのスコアを、前記選択された文字列それぞれのカバレッジに基づいて調整し、
前記調整されたスコアに基づいて前記選択された文字列のいずれか１つを前記翻訳文として決定し、
前記選択された文字列それぞれのカバレッジは、前記選択された文字列それぞれが前記対応ワード集合内のワードをどれ程含んでいるかを示す、請求項１３ないし１９のうち何れか一項に記載の文章生成装置。
【請求項２１】
前記ソースワード集合は、前記ソース文章から抽出されたワード、前記抽出されたワードの類義語、前記抽出されたワードの基本形のいずれか１つ又は２以上の組み合せを含み、
前記対応ワード集合は、前記ソースワード集合内のワードを他の言語に表現した翻訳ワード、前記翻訳ワードの類義語、及び前記翻訳ワードの基本形のいずれか１つ又は２以上の組み合せを含む、請求項１３ないし２０のうち何れか一項に記載の文章生成装置。
【請求項２２】
前記ソース文章及び前記ソースワード集合は第１言語であり、前記生成されたワード及び前記対応ワード集合は前記第１言語とは異なる第２言語である、請求項１３ないし２１のうち何れか一項に記載の文章生成装置。
【請求項２３】
前記対応ワード集合は、第１言語−第２言語の辞書を参考して生成される、請求項１３ないし２２のうち何れか一項に記載の文章生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は文章生成方法及び装置に関する。
【背景技術】
【０００２】
ユーザは、母国語ではない他の言語の文章、節、句、又は、ワードを機械翻訳を用いて翻訳し得る。機械翻訳の結果は、ユーザの理解に直接的な影響を及ぼすことから、その正確度を高めるための研究が行われている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
一実施形態の目的は、文字列の探索範囲を効率よく拡張し、ソース文章の文脈上、重要なワードを正確に翻訳することにある。
【課題を解決するための手段】
【０００４】
一側面に係る文章生成方法は、ソース文章に基づいて生成されたソースワード集合の対応ワード集合を生成するステップと、前記ソース文章の符号化により生成された特徴ベクトルに基づいて復号化を行ってワードを生成するステップと、前記ソースワード集合及び前記対応ワード集合のいずれか１つ又は両方に基づいて、前記生成されたワードのうち少なくとも１つのワードが先行するワードに続く確率を調整する確率調整ステップと、前記調整された確率及び調整されていない確率に基づいて、前記生成されたワードそれぞれを含む互いに異なる文字列のうち何れかの文字列を選択するステップとを含む。
【０００５】
前記確率調整は、前記生成されたワードのうち識別されたワードが前記対応ワード集合に含まれている場合に、前記識別されたワードの確率を調整するステップを含み得る。
【０００６】
前記確率調整ステップは、前記生成されたワードのうち識別されたワードが前記対応ワード集合に含まれていない場合、前記識別されたワードが属するグループ内の他のワードと前記対応ワード集合内のワード間に共通するワードの有無を確認するステップと、前記確認の結果、前記共通するワードがあり、前記共通するワードが前記生成されたワードのうちの１つである場合、前記共通するワードの確率を調整するステップとを含み得る。
【０００７】
前記確率調整ステップは、前記生成されたワードそれぞれの確率に基づいて前記生成されたワードのうち一部のワードを識別するステップと、前記識別されたワードが前記対応ワード集合に含まれている場合、前記識別されたワードの確率を調整するステップとを含み得る。
【０００８】
前記復号化を行うステップは、前記特徴ベクトルと加重値を用いてコンテキストベクトルを算出するステップと、前記コンテキストベクトル及び以前の復号化結果に基づいて前記ワードを生成するステップとを含み得る。
【０００９】
前記確率調整ステップは、前記復号化に使用された加重値のうち最大値を用いて、前記生成されたワードのうち最大確率を有するワードに対応するソースワードを識別するステップであって、前記識別されたソースワードは、前記ソース文章内のワードのうちの１つである、ステップと、前記識別されたソースワードが前記ソースワード集合にある場合、前記対応ワード集合から前記識別されたソースワードの対応ワードを検索するステップと、前記検索された対応ワードが前記生成されたワードのうちの１つである場合、前記検索された対応ワードの確率を調整するステップとを含み得る。
【００１０】
前記生成されたワードのうち１つ以上の確率を調整するステップは、前記検索された対応ワードの確率が調整された場合、前記生成されたワードのうち前記検索された対応ワードを除いた残りの確率と前記調整された確率とに基づいて前記検索された対応ワード及び前記残りのうち一部のワードを識別するステップと、前記識別された一部のワードが前記対応ワード集合にある場合、前記識別された一部のワードの確率を調整するステップとを含み得る。
【００１１】
前記選択された文字列が前記ソース文章の翻訳文に対する候補である場合、前記選択された文字列それぞれのスコアを算出するステップと、前記選択された文字列それぞれのスコアを、前記選択された文字列それぞれのカバレッジに基づいて調整するステップと、前記調整されたスコアに基づいて前記選択された文字列のいずれか１つを前記翻訳文として決定するステップとをさらに含み得る。
【００１２】
前記選択された文字列それぞれのカバレッジは、前記選択された文字列それぞれが前記対応ワード集合内のワードをどれ程含んでいるかを示し得る。
【００１３】
前記ソースワード集合は、前記ソース文章から抽出されたワード、前記抽出されたワードの類義語、前記抽出されたワードの基本形のいずれか１つ又は２以上の組み合せを含み得る。
【００１４】
前記対応ワード集合は、前記ソースワード集合内のワードを他の言語に表現した翻訳ワード、前記翻訳ワードの類義語、及び前記翻訳ワードの基本形のいずれか１つ又は２以上の組み合せを含み得る。
【００１５】
前記ソース文章及び前記ソースワード集合は第１言語であり、前記生成されたワード及び前記対応ワード集合は前記第１言語とは異なる第２言語であり得る。
【００１６】
前記対応ワード集合は、第１言語−第２言語の辞書を参考して生成され得る。
【００１７】
一実施形態に係る文章生成装置は、ソース文章に基づいて生成されたソースワード集合の対応ワード集合を生成し、前記ソース文章の符号化により生成された特徴ベクトルに基づいて復号化を行ってワードを生成し、前記ソースワード集合及び前記対応ワード集合のいずれか１つ又は両方に基づいて前記生成されたワードのうち少なくとも１つのワードが先行するワードに続く確率を調整し、前記調整された確率及び調整されていない確率に基づいて前記生成されたワードそれぞれを含む互いに異なる文字列のうち何れかの文字列を選択するコントローラとを含む。
【００１８】
前記コントローラは、前記生成されたワードのうち識別されたワードが前記対応ワード集合に含まれている場合に、前記識別されたワードの確率を調整し得る。
【００１９】
前記コントローラは、前記生成されたワードのうち識別されたワードが前記対応ワード集合に含まれていない場合、前記識別されたワードが属するグループ内の他のワードと前記対応ワード集合内のワード間に共通するワードの有無を確認し、前記確認の結果、前記共通するワードが存在し、前記共通するワードが前記生成されたワードのうちの１つである場合、前記共通するワードの確率を調整し得る。
【００２０】
前記コントローラは、前記生成されたワードそれぞれの確率に基づいて前記生成されたワードのうちの一部を識別し、前記識別されたワードが前記対応ワード集合に含まれている場合、前記識別されたワードの確率を調整し得る。
【００２１】
前記コントローラは、前記特徴ベクトルと加重値を用いてコンテキストベクトルを算出し、前記コンテキストベクトル及び以前の復号化結果に基づいて前記ワードを生成し得る。
【００２２】
前記コントローラは、前記復号化に使用された加重値のうち最大値を用いて、前記生成されたワードのうち最大確率を有するワードに対応するソースワードを識別し、前記識別されたソースワードは、前記ソース文章内のワードのうちの１つであり、前記コントローラは、前記識別されたソースワードが前記ソースワード集合にある場合、前記対応ワード集合から前記識別されたソースワードの対応ワードを検索し、前記検索された対応ワードが前記生成されたワードのうちの１つである場合、前記検索された対応ワードの確率を調整し得る。
【００２３】
前記コントローラは、前記検索された対応ワードの確率が調整された場合、前記生成されたワードのうち前記検索された対応ワードを除いた残りの確率と前記調整された確率に基づいて、前記検索された対応ワード及び前記残りのうち一部のワードを識別し、前記識別された一部のワードが前記対応ワード集合に含まれている場合、前記識別された一部のワードの確率を調整し得る。
【００２４】
前記選択された文字列が前記ソース文章の翻訳文に対する候補である場合、前記コントローラは、前記選択された文字列それぞれのスコアを算出し、前記選択された文字列それぞれのスコアを、前記選択された文字列それぞれのカバレッジに基づいて調整し、前記調整されたスコアに基づいて前記選択された文字列のいずれか１つを前記翻訳文として決定し得る。
【００２５】
前記選択された文字列それぞれのカバレッジは、前記選択された文字列それぞれが前記対応ワード集合内のワードをどれ程含んでいるかを示し得る。
【００２６】
前記ソースワード集合は、前記ソース文章から抽出されたワード、前記抽出されたワードの類義語、前記抽出されたワードの基本形のいずれか１つ又は２以上の組み合せを含み得る。
【００２７】
前記対応ワード集合は、前記ソースワード集合内のワードを他の言語に表現した翻訳ワード、前記翻訳ワードの類義語、及び前記翻訳ワードの基本形のいずれか１つ又は２以上の組み合せを含み得る。
【００２８】
前記ソース文章及び前記ソースワード集合は第１言語であり、前記生成されたワード及び前記対応ワード集合は前記第１言語とは異なる第２言語であり得る。
【００２９】
前記対応ワード集合は、第１言語−第２言語の辞書を参考して生成され得る。
【発明の効果】
【００３０】
本発明によると、文字列の探索範囲を効率よく拡張させることができ、ソース文章の文脈上重要なワードを正確に翻訳することができる。そのため、翻訳の正確度が向上し得る。
【図面の簡単な説明】
【００３１】
【図１】一実施形態に係る文章生成装置を説明するための図である。
【図２】一実施形態に係るワード集合生成器の動作を説明するための図である。
【図３】一実施形態に係る翻訳機の動作を説明するための図である。
【図４】一実施形態に係る翻訳機の動作を説明するための図である。
【図５】一実施形態に係る翻訳機の動作を説明するための図である。
【図６】一実施形態に係る翻訳機の動作を説明するための図である。
【図７】一実施形態に係る翻訳機が翻訳文に対する候補文字列を選択したときの動作を説明するための図である。
【図８】一実施形態に係る文章生成方法を説明するためのフローチャートである。
【図９】一実施形態に係る文章生成装置を説明するためのブロック図である。
【発明を実施するための形態】
【００３２】
実施形態に対する特定な構造的又は機能的な説明は単なる例示のための目的として開示されたものとして、様々な形態に変更され得る。したがって、実施形態は特定な開示形態に限定されるものではなく、本明細書の範囲は技術的な思想に含まれる変更、均等物ないし代替物を含む。
【００３３】
単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを示すものであって、１つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【００３４】
異なるように定義さがれない限り、技術的であるか又は科学的な用語を含むここで用いる全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【００３５】
以下、実施形態を添付する図面を参照しながら詳細に説明する。各図面に提示された同一の参照符号は同一の部材を示す。
【００３６】
下記の説明において用語「ワード」が用いられる。用語「ワード」は単一ワード又はともにグルーピングされた様々なワードを含むワードの組み合せを示す。
【００３７】
図１は、一実施形態に係る文章生成装置を説明するための図である。
【００３８】
図１を参照すれば、文章生成装置１００は、ワード集合生成器１１０及び翻訳機１２０を含む。
【００３９】
ワード集合生成器１１０は、ソース文章に基づいてソースワード集合を生成し、ソースワード集合の対応ワード集合を生成する。ソースワード集合は、例えば、ソース文章から抽出されたワード、抽出されたワードの類義語、及び／又は抽出されたワードの基本形を含む。対応ワード集合は、ソース文章からソースワード集合内のワードを他の言語に表現した翻訳ワード、該当の翻訳ワードの類義語、及び／又は該当の翻訳ワードの基本形を含む。ワード集合生成器１１０について図２を参照して説明する。
【００４０】
翻訳機１２０は、ソース文章を符号化して特徴ベクトルを生成し、特徴ベクトルに基づいて復号化を行ってワードを生成する。翻訳機１２０は、ソースワード集合及び対応ワード集合のうち少なくとも１つに基づいて、生成されたワードのうち１つ以上のワードの確率（そのワードが次に来る確率）を増加させる。そのため、該当のワードが文字列に示される確率が増加する。翻訳機１２０は、ＳＭＴ（Ｓｔａｔｉｓｔｉｃａｌ  Ｍａｃｈｉｎｅ  Ｔｒａｎｓｌａｔｉｏｎ）又はＮＭＴ（Ｎｅｕｒａｌ  Ｍａｃｈｉｎｅ  Ｔｒａｎｓｌａｔｉｏｎ）に基づくものであってもよい。翻訳機１２０については図３〜図６を参照して説明する。
【００４１】
図２は、一実施形態に係るワード集合生成器の動作を説明するための図である。
【００４２】
図２を参照すれば、ワード集合生成器１１０は、ソースワード集合生成器２１０及び対応ワード集合生成器２２０を含む。
【００４３】
ソースワード集合生成器２１０は、ソース文章から１つ以上のワードを抽出し、抽出されたワードを含むソースワード集合を生成する。一例として、ソースワード集合生成器２１０は、第１言語（例えば、韓国語）からなるソース文章にキーワードスポッティング（ｋｅｙｗｏｒｄ  ｓｐｏｔｔｉｎｇ）又は固有表現抽出（ｎａｍｅ−ｅｎｔｉｔｙ  ｒｅｃｏｇｎｉｔｉｏｎ）を適用してキーワードを抽出する。実現例では、ソースワード集合生成器２１０は、抽出されたワードの類義語及び／又は基本形を第１言語の辞書を参考してソースワード集合に追加する。
【００４４】
対応ワード集合生成器２２０は、ソースワード集合内のワードの対応ワードを決定し、該当の対応ワードを含む対応ワード集合を生成する。ここで、対応ワードは、例えば、ソースワード集合内のワードを第１言語とは異なる第２言語（例えば、英語）に表現した翻訳ワードであってもよく、翻訳ワードは、第１言語−第２言語の辞書（例えば、韓英辞典）を参考して生成されてもよい。実現例では、対応ワード集合生成器２２０は、該当の対応ワードの類義語及び／又は該当の対応ワードの基本形を第２言語の辞書を参考して対応ワード集合に追加し得る。
【００４５】
図２に示された例を参照すれば、ソースワード集合生成器２１０は、ソース文章「貴下の職務発明が出願されたことをお知らせします」において、「貴下の」、「職務発明が」、「出願されたことを」、及び「お知らせします」のワードを抽出し、抽出されたワードを含むソースワード集合を生成する。ここで、ソースワード集合生成器２１０は、「貴下の」の類義語に該当する「君の」及び「あなたの」をソースワード集合に追加してもよい。また、ソースワード集合生成器２１０は、「出願されたことを」の基本形に該当する「出願された」をソースワード集合に追加し、「お知らせします」の基本形に該当する「知らせる」をソースワード集合に追加してもよい。このようなソースワード集合の一例２１１が図２に示されている。
【００４６】
対応ワード集合生成器２２０は、ソースワード集合２１１内のワード「貴下の」、「君の」、及び「あなたの」の対応ワードを「ｙｏｕｒ」に決定し、ソースワード集合２１１内のワード「職務発明」の対応ワードを「ｉｎｖｅｎｔｉｏｎ  ｒｅｌａｔｅｄ  ｔｏ  ｔｈｅ  ｄｕｔｉｅｓ」に決定する。また、対応ワード集合生成器２２０は、ソースワード集合２１１内の「出願されたことを」及び「出願された」の対応ワードを「ｗａｓ  ｆｉｌｅｄ」に決定し、ソースワード集合２１１内の「お知らせします」及び「知らせる」の対応ワードを「ｌｅｔ  ｙｏｕ  ｋｎｏｗ」に決定する。対応ワード集合生成器２２０は、「ｙｏｕｒ」、「ｉｎｖｅｎｔｉｏｎ  ｒｅｌａｔｅｄ  ｔｏ  ｔｈｅ  ｄｕｔｉｅｓ」、「ｗａｓ  ｆｉｌｅｄ」、及び「ｌｅｔ  ｙｏｕ  ｋｎｏｗ」を含む対応ワード集合を生成する。ここで、対応ワード集合生成器２２０は、「ｗａｓ  ｆｉｌｅｄ」の類義語に該当する「ｈａｖｅ  ｂｅｅｎ  ａｐｐｌｉｅｄ」及び／又は「ｗａｓ  ａｐｐｌｉｅｄ」を対応ワード集合に追加し、「ｌｅｔ  ｙｏｕ  ｋｎｏｗ」の類義語に該当する「ｉｎｆｏｒｍ  ｙｏｕ」及び／又は「ｎｏｔｉｆｙ  ｙｏｕ」を対応ワード集合に追加してもよい。このような対応ワード集合の一例２２１が図２に示される。
【００４７】
状況によっては、ソースワード集合２１１内のワードが曖昧性（ａｍｂｉｇｕｉｔｙ）を有するため、対応ワード集合生成器２２０は、該当のワードの対応ワードを決定し難い場合がある。曖昧性は、例えば、ワードが別個の意味を有するワードに翻訳されていしまうことを引き起こすかもしれない。このような懸念に対処するため、対応ワード集合生成器２２０は、該当のワードの周辺ワードを参照して該当のワードの対応ワードを決定してもよい。
【００４８】
例えば、ソース文章が「ＤＨＬ特別配達便を送ります」である場合、ソースワード集合生成器２１０は「ＤＨＬ」、「特別配達便」、及び「送ります」を抽出してソースワード集合を生成する。ここで、「特別配達便」は別個の意味を有する「ｓｐｅｃｉａｌ  ｐｒａｉｓｅ」又は「ｓｐｅｃｉａｌ  ｄｅｌｉｖｅｒｙ」のように翻訳され、対応ワード集合生成器２２０は、「特別配達便」の対応ワードを決定することが困難である場合もある。この場合、対応ワード集合生成器２２０は、「特別配達便」の周辺ワードである「ＤＨＬ」を参照して「特別配達便」の対応ワードを「ｓｐｅｃｉａｌ  ｄｅｌｉｖｅｒｙ」として決定してもよい。
【００４９】
図３〜図６は、一実施形態に係る翻訳機を説明するための図である。
【００５０】
図３を参照すれば、翻訳機１２０は、エンコーダ３１０及びデコーダ３２０を含む。
【００５１】
エンコーダ３１０は、ソース文章を符号化して特徴ベクトルを生成する。例えば、エンコーダ３１０は、ソース文章内のワードそれぞれを符号化してソース文章内のワードそれぞれに対する特徴ベクトルを生成する。生成された特徴ベクトルは、実数ベクトルである。実施形態によって、エンコーダ３１０は、ニューラルネットワーク（一例として、再帰的ニューラルネットワーク（Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ：ＲＮＮ））に基づく。
【００５２】
デコーダ３２０は、復号化を繰り返し行うが、復号化時点ごとに特徴ベクトル及び以前の復号化結果を用いて復号化を行う。このような復号化により、デコーダ３２０はソース文章の翻訳文を完成する。実施形態に係るデコーダ３２０は、ニューラルネットワーク（一例として、ＲＮＮ）に基づく。以下、図４を参照しながらデコーダ３２０が復号化時点でどのように動作するかについて説明する。
【００５３】
図４を参照すれば、復号化時点ｔで、デコーダ３２０は、特徴ベクトル及び以前の復号化結果を用いて復号化を行う。デコーダ３２０は、復号化によりワード「ｌｅｔ」、「ｉｎｆｏｒｍ」、．．．、「ｎｏｔｉｆｙ」を生成する。ここで、生成されたワード「ｌｅｔ」、「ｉｎｆｏｒｍ」、．．．、「ｎｏｔｉｆｙ」のそれぞれは確率を有する。「ｌｅｔ」の確率Ｐｌｅｔは「ｔｏ」の次に「ｌｅｔ」が示される確率であり、「ｉｎｆｏｒｍ」の確率Ｐｉｎｆｏｒｍは「ｔｏ」の次に「ｉｎｆｏｒｍ」が示される確率であり、「ｎｏｔｉｆｙ」の確率Ｐｎｏｔｉｆｙは「ｔｏ」の次に「ｎｏｔｉｆｙ」が示される確率である。ＰｌｅｔがＰｉｎｆｏｒｍよりも大きいということは、「ｔｏ」の次に「ｉｎｆｏｒｍ」よりも「ｌｅｔ」が出てくる確率が大きいことを意味する。
【００５４】
デコーダ３２０は、生成されたワードのうち予め決定した基準を満足するワードを識別する。図４に示された例において、デコーダ３２０は、生成されたワードのうち確率の高い順に上位Ｋ個のワード、例えば、上位２個のワード「ｌｅｔ」及び「ｉｎｆｏｒｍ」を識別する。
【００５５】
デコーダ３２０は、識別されたワードが対応ワード集合２２１に属するかを確認し、識別されたワードが対応ワード集合２２１に属する場合、識別されたワードの確率を調整する。例えば、デコーダ３２０は、識別されたワード「ｌｅｔ」及び「ｉｎｆｏｒｍ」それぞれが対応ワード集合２２１に属するか否かを確認する。図４に示された例の場合、識別されたワード「ｌｅｔ」及び「ｉｎｆｏｒｍ」のそれぞれは対応ワード集合２２１に属する。この場合、デコーダ３２０は、識別されたワード「ｌｅｔ」の確率Ｐｌｅｔ及び「ｉｎｆｏｒｍ」の確率Ｐｉｎｆｏｒｍを調整する。一例として、デコーダ３２０は、Ｐｌｅｔに一定の値β１を加えてＰｌｅｔを調整し、Ｐｉｎｆｏｒｍに一定の値β２を加えてＰｉｎｆｏｒｍを調整する。ここで、β１及びβ２は正の実数として、互いに同一であるか異なってもよい。
【００５６】
デコーダ３２０は、調整された確率と調整されていない確率に基づいて、生成されたワードそれぞれを含む互いに異なる文字列のうち一部の文字列を選択する。確率が高く調整されたワードがあるため、該当のワードを含む文字列が確率の調整されていないワードを含む文字列よりも選択される可能性が高くなる。図４に示された例において、デコーダ３２０は、生成されたワード「ｌｅｔ」、「ｉｎｆｏｒｍ」、．．．、及び「ｎｏｔｉｆｙ」のそれぞれを含む互いに異なる文字列「Ｉ’ｄ  ｌｉｋｅ  ｔｏ  ｌｅｔ」、「Ｉ’ｄ  ｌｉｋｅ  ｔｏ  ｉｎｆｏｒｍ」、．．．、及び「Ｉ’ｄ  ｌｉｋｅ  ｔｏ  ｎｏｔｉｆｙ」にビーム探索（ｂｅａｍ  ｓｅａｒｃｈ）を行うことで一部の文字列を選択する。言い換えれば、デコーダ３２０は、文字列「Ｉ’ｄ  ｌｉｋｅ  ｔｏ  ｌｅｔ」、「Ｉ’ｄ  ｌｉｋｅ  ｔｏ  ｉｎｆｏｒｍ」、．．．、及び「Ｉ’ｄ  ｌｉｋｅ  ｔｏ  ｎｏｔｉｆｙ」のそれぞれのスコアを算出し、スコアの高い文字列を選択する。数個の文字列が選択されるかは、ビーム探索の大きさに応じる。一例として、ビーム探索の大きさが３であれば、デコーダ３２０はスコアの高い順に３個の文字列を選択する。各文字列のスコアは、各文字列に含まれたワードそれぞれの確率を加えた値であるため、確率が高く調整されたワード「ｌｅｔ」を含む「Ｉ’ｄ  ｌｉｋｅ  ｔｏ  ｌｅｔ」のスコアと、確率が高く調整された「ｉｎｆｏｒｍ」を含む「Ｉ’ｄ  ｌｉｋｅ  ｔｏ  ｉｎｆｏｒｍ」のスコアが増加し、「Ｉ’ｄ  ｌｉｋｅ  ｔｏ  ｌｅｔ」及び「Ｉ’ｄ  ｌｉｋｅ  ｔｏ  ｉｎｆｏｒｍ」が選択される可能性がより高くなる。図４に示された例として、デコーダ３２０は、スコアの高い３個の文字列「Ｉ’ｄ  ｌｉｋｅ  ｔｏ  ｌｅｔ」、「Ｉ’ｄ  ｌｉｋｅ  ｔｏ  ｉｎｆｏｒｍ」、及び「Ｉ’ｄ  ｌｉｋｅ  ｔｏ  △△△」を選択してもよい。
【００５７】
文字列が選択されれば、デコーダ３２０は、復号化時点ｔ＋１で「ｌｅｔ」の次のワードを生成し、「ｉｎｆｏｒｍ」の次のワードを生成し、「△△△」の次のワードを生成する。ここで、デコーダ３２０は、「ｌｅｔ」の次に「ｙｏｕ  ｋｎｏｗ」が示されるようにし、「ｉｎｆｏｒｍ」の次に「ｙｏｕ」が示されるようにする。これについてはより詳しい説明する。
【００５８】
「ｌｅｔ」は対応ワード集合２２１の「ｌｅｔ  ｙｏｕ  ｋｎｏｗ」の一部であり、「ｉｎｆｏｒｍ」は対応ワード集合２２１の「ｉｎｆｏｒｍ  ｙｏｕ」の一部である。言い換えれば、復号化時点ｔで選択されたワード「ｌｅｔ」及び「ｉｎｆｏｒｍ」は、対応ワード集合２２１内で句の一部である。この場合、デコーダ３２０は、復号化時点ｔ＋１で対応ワード集合２２１内の句（ｐｈｒａｓｅ）「ｌｅｔ  ｙｏｕ  ｋｎｏｗ」を参照して「ｌｅｔ」の次のワードを「ｙｏｕ」に選択し、復号化時点ｔ＋２で「ｙｏｕ」の次のワードを「ｋｎｏｗ」に選択する。このような選択方式は、「ｙｏｕ」の確率Ｐｙｏｕと「ｋｎｏｗ」の確率Ｐｋｎｏｗを増加させることなく、復号化時点ｔ＋１で「ｙｏｕ」を強制的に選択し、復号化時点ｔ＋２で「ｋｎｏｗ」を強制的に選択する。実現例では、デコーダ３２０は、復号化時点ｔ＋１で「ｙｏｕ」を選択するよう「ｙｏｕ」の確率Ｐｙｏｕを増加させ、復号化時点ｔ＋２で「ｋｎｏｗ」を選択するよう「ｋｎｏｗ」の確率Ｐｋｎｏｗを増加させる。同様に、デコーダ３２０は、復号化時点ｔ＋１で「ｉｎｆｏｒｍ」の次のワードを「ｙｏｕ」に選択する。そのため、対応ワード集合２２１内の句が文字列「Ｉ’ｄ  ｌｉｋｅ  ｔｏ  ｌｅｔ  ｙｏｕ  ｋｎｏｗ」及び「Ｉ’ｄ  ｌｉｋｅ  ｔｏ  ｉｎｆｏｒｍ  ｙｏｕ」に示される。
【００５９】
上記で参照して説明したように、デコーダ３２０は、復号化時点で生成したワードのうち確率の高い順に上位Ｋ個に属するワードを識別し、識別されたワードが対応ワード集合２２１に属すれば、識別されたワードの確率を調整する。しかし、識別されたワードが対応ワード集合２２１に属しないことがある。この場合、デコーダ３２０は、識別されたワードが属するグループと対応ワード集合２１１の間に共通するワードの有無を確認し、確認結果共通するワードがあって、共通するワードが該当の復号化時点で生成されたワードのうちの１つであれば、共通するワードの確率を調整できる。これについては、図４に示す復号化時点ｎを参照しながら説明する。
【００６０】
復号化時点ｎで、デコーダ３２０は、特徴ベクトル及び以前の復号化結果に基づいて復号化を行い、ワード「ｗｏｒｋ」、「ｏｏｏ」、．．．、及び「ｉｎｖｅｎｔｉｏｎ」を生成する。デコーダ３２０は、「ｗｏｒｋ」、「ｏｏｏ」、．．．、及び「ｉｎｖｅｎｔｉｏｎ」のうち確率の高い順に上位Ｋ個に該当するワード「ｗｏｒｋ」及び「○○○」を識別する。デコーダ３２０は、識別されたワード「ｗｏｒｋ」及び「○○○」が対応ワード集合２２１に属するかを確認する。識別されたワード「ｗｏｒｋ」及び「○○○」は対応ワード集合２２１に属しないため、デコーダ３２０は、識別されたワード「ｗｏｒｋ」及び「○○○」のそれぞれが属するグループ内の他のワードと対応ワード集合２２１内のワードとの間に共通するワードがあるか否かを確認する。ここで、グループは、同一又は類似な意味や属性を有するワードの集合（ｓｅｔ）を示す。図４に示された例において、デコーダ３２０は、「ｗｏｒｋ」が属するグループ３３０内の他のワードと対応ワード集合２２１内のワード間に「ｉｎｖｅｎｔｉｏｎ」が共通することを確認し、「ｏｏｏ」が属するグループ３４０内の他のワードと対応ワード集合２２１内のワードとの間に共通するワードがないことを確認する。
【００６１】
デコーダ３２０は、共通するワード「ｉｎｖｅｎｔｉｏｎ」が復号化時点ｎで生成されたワードのうちの１つであるかをチェックし、チェックの結果に基づいて共通するワード「ｉｎｖｅｎｔｉｏｎ」の確率を調整する。図４に示された例において、共通するワード「ｉｎｖｅｎｔｉｏｎ」は、復号化時点ｎで生成されたワードのうちの１つであるため、デコーダ３２０は「ｉｎｖｅｎｔｉｏｎ」の確率Ｐｉｎｖｅｎｔｉｏｎに一定の値を加えてＰｉｎｖｅｎｔｉｏｎを調整する。そのため、「ｉｎｖｅｎｔｉｏｎ」を含んでいる文字列が選択される可能性が増加する。
【００６２】
実現例では、翻訳機１２０は、復号化時点で生成されたワードに対応するソースワードを類推する。この場合、翻訳機１２０は、該当のソースワードがソースワード集合２１１にあるかを確認し、該当のソースワードがソースワード集合２１１にあれば、対応ワード集合２２１から該当のソースワードの対応ワードを検索し、検索された対応ワードの確率を調整する。これについては図５を参照しながら具体的に説明する。
【００６３】
図５を参照すれば、翻訳機１２０は、エンコーダ３１０、加重値算出器５１０、及びデコーダ３２０を含む。図５を参照して説明する翻訳機１２０は、アテンション（ａｔｔｅｎｔｉｏｎ）に基づくものであり得る。
【００６４】
エンコーダ３１０は、ソース文章を符号化して特徴ベクトルを生成する。例えば、エンコーダ３１０は、ソース文章を符号化してワード「貴下の」に対する特徴ベクトルｈ１、ワード「職務発明が」に対する特徴ベクトルｈ２、ワード「出願されたことを」に対する特徴ベクトルｈ３、及びワード「お知らせします」に対する特徴ベクトルｈ４を生成する。
【００６５】
加重値算出器５１０は復号化時点ごとに加重値を算出し、デコーダ３２０は復号化時点ごとに復号化を行う。例えば、加重値算出器５１０は、特徴ベクトルｈ１、ｈ２、ｈ３、及びｈ４と以前の復号化時点のワード「ｙｏｕｒ」に対する隠れ状態情報に基づいて、復号化時点ｎにおける加重値αｎ、１、αｎ、２、αｎ、３、及びαｎ、４を算出する。加重値算出器５１０は、特徴ベクトルｈ１、ｈ２、ｈ３、及びｈ４と加重値αｎ、１、αｎ、２、αｎ、３、及びαｎ、４に基づいてコンテキストベクトルｃｎを算出する。デコーダ３２０は、コンテキストベクトルｃｎに基づいて復号化を行って、ワード「ｗｏｒｋ」、．．．、「ｉｎｖｅｎｔｉｏｎ」などを生成する。
【００６６】
ワード「ｗｏｒｋ」、．．．、「ｉｎｖｅｎｔｉｏｎ」が生成されれば、デコーダ３２０は、最大確率を有するワードに対応するソースワードを最大加重値を用いて識別する。相異る表現に関し、デコーダ３２０は加重値のうち最大値を利用し、最大確率を有するワードを生成するために最も大きく寄与したソースワードを識別する。ここで、ソースワードは、ソース文章内のワードのいずれか１つを示す。図５に示された例において、αｎ、１、αｎ、２、αｎ、３、及びαｎ、４のうちαｎ、２が最大とするとき、デコーダ３２０は、αｎ、２が特徴ベクトルｈ２と関わっていることを把握し、特徴ベクトルｈ２に対する「職務発明」を「ｗｏｒｋ」に対応するソースワードとして識別する。
【００６７】
デコーダ３２０は、識別されたソースワードがソースワード集合２１１に属するかを確認し、識別されたソースワードがソースワード集合２１１に属すれば、識別されたソースワードの対応ワードを対応ワード集合２２１から検索する。デコーダ３２０は、検索された対応ワードが復号化時点ｎで生成された場合、検索された対応ワードの確率を調整する。実現例では、対応ワード集合２２１から句が検索されてもよい。この場合、デコーダ３２０は、該当の句の一部のワードを生成した場合、該当の句の一部のワードの確率を調整する。図５に示された例として、デコーダ３２０は、識別された「職務発明」がソースワード集合２１１に属するかを確認する。識別された「職務発明」がソースワード集合２１１に属するため、デコーダ３２０は、対応ワード集合２２１から「職務発明」の対応ワードである「ｉｎｖｅｎｔｉｏｎ  ｒｅｌａｔｅｄ  ｔｏ  ｔｈｅ  ｄｕｔｉｅｓ」を検索する。検索された「ｉｎｖｅｎｔｉｏｎ  ｒｅｌａｔｅｄ  ｔｏ  ｔｈｅ  ｄｕｔｉｅｓ」は句である。デコーダ３２０は、検索された「ｉｎｖｅｎｔｉｏｎ  ｒｅｌａｔｅｄ  ｔｏ  ｔｈｅ  ｄｕｔｉｅｓ」の最初のワードである「ｉｎｖｅｎｔｉｏｎ」を復号化時点ｎで生成したかを確認する。デコーダ３２０は、復号化時点ｎで「ｉｎｖｅｎｔｉｏｎ」を生成したため、「ｉｎｖｅｎｔｉｏｎ」の確率Ｐｉｎｖｅｎｔｉｏｎにｗ１を加えてＰｉｎｖｅｎｔｉｏｎを調整する。ここで、ｗ１は正の実数である。もし、デコーダ３２０が復号化時点ｎで「ｉｎｖｅｎｔｉｏｎ」を生成しなかった場合、デコーダ３２０は、最大確率を有する「ｗｏｒｋ」の確率を調整する。
【００６８】
デコーダ３２０は、調整された確率と調整されていない確率に基づいて、生成されたワードそれぞれを含む互いに異なる文字列のうち一部の文字列を選択する。デコーダ３２０は、例えば、ビーム探索を行って一部の文字列を選択してもよい。一部の文字列選択については図４を参照して説明したため、詳しい説明を省略する
【００６９】
一実施形態によれば、デコーダ３２０は、「ｉｎｖｅｎｔｉｏｎ」の確率ＰｉｎｖｅｎｔｉｏｎをＰｉｎｖｅｎｔｉｏｎ＋ｗ１に調整した後、一部の文字列を選択する前に図４を参照して説明した確率調整動作を行う。これについては図６を参照して説明する。
【００７０】
図６を参照すれば、ＰｉｎｖｅｎｔｉｏｎがＰｉｎｖｅｎｔｉｏｎ＋ｗ１に調整され、「ｉｎｖｅｎｔｉｏｎ」は確率の高い順に上位Ｋ個に属する。デコーダ３２０は、上位Ｋ個に該当するワード「ｉｎｖｅｎｔｉｏｎ」と「ｗｏｒｋ」を識別する。
【００７１】
デコーダ３２０は、識別されたワード「ｉｎｖｅｎｔｉｏｎ」と「ｗｏｒｋ」それぞれが対応ワード集合２２１に属するかを確認する。図６に示された例の場合、識別されたワード「ｉｎｖｅｎｔｉｏｎ」は対応ワード集合２２１に属し、識別されたワード「ｗｏｒｋ」は対応ワード集合２２１に属しない。この場合、デコーダ３２０は、識別されたワード「ｉｎｖｅｎｔｉｏｎ」の確率Ｐｉｎｖｅｎｔｉｏｎ＋ｗ１にβ１を加える。「ｉｎｖｅｎｔｉｏｎ」の確率Ｐｉｎｖｅｎｔｉｏｎは復号化により算出された時よりもｗ１＋β１だけ増加する。これにより、ｉｎｖｅｎｔｉｏｎを含む文字列が選択される可能性がより増加する。
【００７２】
図７は、一実施形態に係る翻訳機が翻訳文に対する候補文字列を選択したときの動作を説明するための図である。
【００７３】
図７を参照すれば、翻訳機１２０は、下記の表１の文字列をソース文章「貴下の職務発明が出願されたことをお知らせします」の翻訳文に対する候補文字列に選択する。
【００７４】
第１候補文字列：I’d  like  to  let  you  know  that  your  invention  related  to  the  duties  was  filed.
第２候補文字列：I’d  like  to  inform  you  that  your  work  have  been  applied.
第３候補文字列：I’d  like  to  let  you  know  that  your  work  has  been  set  out.
【００７５】
翻訳機１２０は、候補文字列それぞれのスコアを算出する。例えば、翻訳機１２０は第１候補文字列の場合、「Ｉ’ｄ」の確率、「ｌｉｋｅ」の確率、「ｌｅｔ」の確率（又は「ｌｅｔ  ｙｏｕ  ｋｎｏｗ」の確率）、．．．、「ｗａｓ  ｆｉｌｅｄ」の確率を加えて、第１候補文字列のスコアＳ１を算出する。同様に、翻訳機１２０は、第２候補文字列及び第３候補文字列それぞれのスコアＳ２及びＳ３を算出する。
【００７６】
翻訳機１２０は、算出されたスコアのうち最も高いスコアに該当する候補文字列を最終文章として選択する。例えば、Ｓ１＝０．７、Ｓ２＝０．６、及びＳ３＝０．５５とすれば、Ｓ１が最も高いため、翻訳機１２０は第１候補文字列を最終文章として選択する。
【００７７】
一実施形態において、翻訳機１２０は、候補文字列それぞれのスコアに候補文字列それぞれに対するカバレッジを適用し、適用結果に基づいて候補文字列のいずれか１つをソース文章の翻訳文として選択する。ここで、カバレッジは、各候補文字列が対応ワード集合２２１内のワードをどれ程カバー又は含んでいるかの有無を示す。ここで、該当のワードの類義語又は基本形は１つのカバー対象に該当する。
【００７８】
図７に示された例を参照すれば、第１候補文字列は、対応ワード集合２２１のワードのうちカバー対象７１０の「ｙｏｕｒ」、カバー対象７２０の「ｉｎｖｅｎｔｉｏｎ  ｒｅｌａｔｅｄ  ｔｏ  ｔｈｅ  ｄｕｔｉｅｓ」、カバー対象７３０の「ｗａｓ  ｆｉｅｌｄ」、及びカバー対象７４０の「ｌｅｔ  ｙｏｕ  ｋｎｏｗ」を含んでいる。この場合、翻訳機１２０は、第１候補文字列が４個のカバー対象７１０〜７４０のうち４個全てをカバーしていると記録する。
【００７９】
第２候補文字列は、対応ワード集合２２１内のワードのうち、カバー対象７１０の「ｙｏｕｒ」、カバー対象７３０の「ｈａｖｅ  ｂｅｅｎ  ａｐｐｌｉｅｄ」、及びカバー対象７４０の「ｉｎｆｏｒｍ  ｙｏｕ」を含んでいる。この場合、翻訳機１２０は、第２候補文字列が４個のカバー対象７１０〜７４０のうち３個をカバーしていると記録する。
【００８０】
第３候補文字列は、対応ワード集合２２１内のワードのうち、カバー対象７１０の「ｙｏｕｒ」及びカバー対象７４０の「ｌｅｔ  ｙｏｕ  ｋｎｏｗ」を含んでいる。この場合、翻訳機１２０は、第３候補文字列が４個のカバー対象７１０〜７４０のうち２個をカバーしていると記録する。
【００８１】
翻訳機１２０は、候補文字列それぞれに対するカバレッジを候補文字列それぞれのスコアに適用する。例えば、第１候補文字列は、４個のカバー対象７１０〜７４０のうち４個をカバーしているため、翻訳機１２０は、Ｓ１にＣ１＝４／４＝１を適用する。第２候補文字列は、４個のカバー対象７１０〜７４０のうち３個をカバーしているため、翻訳機１２０はＳ２にＣ２＝３／４を適用し、第３候補文字列は、４個のカバー対象６１０〜６４０のうち２個をカバーしているため、翻訳機１２０はＳ３にＣ３＝２／４を適用する。
【００８２】
翻訳機１２０は、各スコアに各カバレッジを適用した結果に基づいて、候補文字列のいずれか１つを翻訳文として選択する。例えば、各スコアに各カバレッジを適用した結果がＳ１Ｃ１＝０．７、Ｓ２Ｃ２＝０．６×３／４＝０．４５、及びＳ３Ｃ３＝０．５５×２／４＝０．２７５である場合、そのうちＳ１Ｃ１が最大であるため、翻訳機１２０は、Ｓ１Ｃ１に該当する第１候補文字列を翻訳文として選択する。そのため、対応ワード集合２２１のカバレッジが高い候補文字列が翻訳文として選択され、主なキーワードが翻訳文から脱落しにくくなる。そのため、翻訳性能の向上を期待することができる。
【００８３】
一実施形態によれば、翻訳機１２０は、他のソース文章を処理するとき、以前に記録されたカバレッジを考慮し、予めカバーされたワードが異なるソース文章の翻訳文に重複して示されないようにする。例えば、翻訳機１２０は、ソース文章「貴下の職務発明が出願されたことをお知らせします」を「Ｉ’ｄ  ｌｉｋｅ  ｔｏ  ｌｅｔ  ｙｏｕ  ｋｎｏｗ  ｔｈａｔ  ｙｏｕｒ  ｉｎｖｅｎｔｉｏｎ  ｒｅｌａｔｅｄ  ｔｏ  ｔｈｅ  ｄｕｔｉｅｓ  ｗａｓ  ｆｉｌｅｄ」に翻訳した場合、該当の翻訳文は「ｌｅｔ  ｙｏｕ  ｋｎｏｗ」をカバーしている。ここで、翻訳機１２０は、他のソース文章「〜をお知らせします」を機械翻訳する間に「ｌｅｔ  ｙｏｕ  ｋｎｏｗ」を生成すれば、「ｌｅｔ  ｙｏｕ  ｋｎｏｗ」の確率を減少させる。そのため、他のソース文章の翻訳結果に「ｌｅｔ  ｙｏｕ  ｋｎｏｗ」が含まれないことがあり、「ｌｅｔ  ｙｏｕ  ｋｎｏｗ」が重複して示されないようにする。
【００８４】
図８は、一実施形態に係る文章生成方法を説明するためのフローチャートである。
【００８５】
図８に示された方法は文章生成装置１００によって実行される。
【００８６】
図８を参照すれば、文章生成装置１００は、ソース文章に基づいて生成されたソースワード集合の対応ワード集合を生成する（Ｓ８１０）。
【００８７】
文章生成装置１００は、ソース文章の符号化により生成された特徴ベクトルに基づいて復号化を行ってワードを生成する（Ｓ８２０）。
【００８８】
文章生成装置１００は、ソースワード集合及び対応ワード集合のいずれか１つ又は両方に基づいて生成されたワードのうち１つ以上の確率を調整する（Ｓ８３０）。
【００８９】
文章生成装置１００は、調整された確率及び調整されていない確率に基づいて、生成されたワードそれぞれを含む互いに異なる文字列のうち一部の文字列を選択する（Ｓ８４０）。
【００９０】
図１〜図７に基づいて説明された事項は図８に基づいて説明された事項に適用され得るため、詳細な説明は省略する。
【００９１】
図９は、一実施形態に係る文章生成装置を説明するためのブロック図である。
【００９２】
図９を参照すれば、文章生成装置１００は、メモリ９１０及びコントローラ９２０を含む。
【００９３】
メモリ９１０は、ソース文章を格納し、コントローラ９２０の演算結果を格納する。
【００９４】
コントローラ９２０は、ワード集合生成器１１０及び翻訳機１２０を実現する。
【００９５】
一例として、コントローラ９２０は、ソース文章に基づいて生成されたソースワード集合の対応ワード集合を生成する。コントローラ９２０は、ソース文章の符号化により生成された特徴ベクトルに基づいて復号化を行ってワードを生成する。コントローラ９２０は、ソースワード集合及び対応ワード集合のうち少なくとも１つに基づいて、生成されたワードのうち１つ以上の確率を調整する。コントローラ９２０は、調整された確率及び調整されていない確率に基づいて、生成されたワードそれぞれを含む互いに異なる文字列のうち一部の文字列を選択する。
【００９６】
一実施形態によれば、文章生成装置１００は、ソースワード集合及び／又は対応ワード集合を考慮して復号化でき、復号化で探索される文字列の範囲を効率よく拡張することができる。
【００９７】
図１〜図７に基づいて説明された事項は図９に基づいて説明された事項に適用され得るため、詳細な説明は省略する。
【００９８】
以上述した実施形態は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組合せで具現される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、マイクロコンピュータ、ＦＰＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサー、又は命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行して応答する異なる装置のように、１つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現される。処理装置は、オペレーティングシステム（ＯＳ）及びオペレーティングシステム上で実行される１つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成する。理解の便宜のために、処理装置は１つが使用されるものとして説明する場合もあるが、当該技術分野で通常の知識を有する者は、処理装置が複数の処理要素（ｐｒｏｃｅｓｓｉｎｇ  ｅｌｅｍｅｎｔ）及び／又は複数類型の処理要素を含むことが分かる。例えば、処理装置は、複数のプロセッサ又は１つのプロセッサ及び１つのコントローラを含む。また、並列プロセッサ（ｐａｒａｌｌｅｌ  ｐｒｏｃｅｓｓｏｒ）のような、他の処理構成も可能である。
【００９９】
ソフトウェアは、コンピュータプログラム、コード、命令、又はこのうちの１つ以上の組合せを含み、希望通りに動作するように処理装置を構成し、独立的又は結合的に処理装置に命令する。ソフトウェア及び／又はデータは、処理装置によって解釈され、処理装置に命令又はデータを提供するためのあらゆる類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、或いは送信される信号波を介して永久的又は一時的に具現化される。ソフトウェアは、ネットワークに連結されたコンピュータシステム上に分散され、分散された方法で格納されるか又は実行される。ソフトウェア及びデータは１つ以上のコンピュータ読み取り可能な記録媒体に格納される。
【０１００】
本実施形態による方法は、多様なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明に示す動作を実行するために１つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【０１０１】
上述したように実施形態をたとえ限定された図面によって説明したが、当該技術分野で通常の知識を有する者であれば、前記に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順序で実行されたり、及び／又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組合わせられたり、他の構成要素又は均等物によって置き換えたり置換されても適切な結果を達成することができる。したがって、本発明の範囲は、開示された実施形態に限定されて定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。
【図１】
2019061655.tif 000003
【図２】
2019061655.tif 000004
【図３】
2019061655.tif 000005
【図４】
2019061655.tif 000006
【図５】
2019061655.tif 000007
【図６】
2019061655.tif 000008
【図７】
2019061655.tif 000009
【図８】
2019061655.tif 000010
【図９】
2019061655.tif 000011