(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-21
(45)【発行日】2022-07-29
(54)【発明の名称】文章生成モデルのアップデート方法及び文章生成装置
(51)【国際特許分類】
G06F 40/44 20200101AFI20220722BHJP
G06N 3/04 20060101ALI20220722BHJP
G06N 3/08 20060101ALI20220722BHJP
【FI】
G06F40/44
G06N3/04
G06N3/08
(21)【出願番号】P 2018148375
(22)【出願日】2018-08-07
【審査請求日】2021-04-12
(31)【優先権主張番号】10-2017-0133971
(32)【優先日】2017-10-16
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】390019839
【氏名又は名称】三星電子株式会社
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung-ro,Yeongtong-gu,Suwon-si,Gyeonggi-do,Republic of Korea
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】李 鎬 式
(72)【発明者】
【氏名】羅 輝 棟
【審査官】長 由紀子
(56)【参考文献】
【文献】中国特許出願公開第107122416(CN,A)
【文献】LIU, Lemao 外3名,Agreement on Target-bidirectional Neural Machine Translation,Proceedings of NAACL-HLT 2016,Association for Computational Linguistics,2016年06月17日,pp.411-416,https://aclanthology.org/N16-1046,DOI: 10.18653/v1/N16-1046
【文献】佐藤 挙斗 外4名,文字レベル深層学習によるテキスト分類と転移学習,第102回 人工知能基本問題研究会資料 (SIG-FPAI-B505) ,日本,一般社団法人人工知能学会,2016年12月08日,pp.13-19
【文献】SENNRICH, Rico 外2名,Edinbrugh Neural Machine Translation Systems for WMT 16,Proceedings of the First Conference on Machine translation, Volume 2: Shared Task Papers,Association for Computational Linguistics,2016年08月12日,pp.371-376,https://aclanthology.org/W16-2323,DOI: 10.18653/v1/W16-2323
【文献】Cong Duy Vu Hoang 外2名,Towards Decoding as Continuous Optimisation in Neural Machine Translation,インターネット,2017年07月22日,pp.146-156,https:// aclanthology.org/D17-1014,DOI: 10.18653/v1/D17-1014
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-58
G06N 3/04
G06N 3/08
(57)【特許請求の範囲】
【請求項1】
プロセッサで実現される方法であって、
第1復号化モデルを用いてソース文章に対するターゲット文章を
n個の単語の配列として生成するステップと、
前記第1復号化モデルと異なる順に文章を生成する第2復号化モデルを用いて、
前記ソース文章に対するn個の単語の配列を生成し、前記ターゲット文章に対する補償情報を算出するステップ
であって、前記補償情報は、前記ターゲット文章を反転させたn個の単語の配列が前記第2復号化モデルから出力される確率を表す、ステップと、
前記算出された補償情報に基づいて、前記第1復号化モデル内のノードそれぞれの加重値を
、目的関数の極値に近づくように再設定することで
、アップデートされた文章生成モデルを生成するステップと、
を含む文章生成モデルのアップデート方法。
【請求項2】
前記補償情報を算出するステップは、前記ソース文章及び前記第2復号化モデルから以前時間に出力された第1単語を用いて、前記第2復号化モデルに基づいて現在時間に第2単語が生成される確率を算出するステップをさらに含む、請求項
1に記載の文章生成モデルのアップデート方法。
【請求項3】
前記第1復号化モデルは、リカレントニューラルネットワークを含む順方向復号化モデルであり、前記第2復号化モデルは、リカレントニューラルネットワークを含む逆方向復号化モデルである、請求項1
又は2に記載の文章生成モデルのアップデート方法。
【請求項4】
前記アップデートされた文章生成モデルを生成するステップは、
前記第1復号化モデルを用いて前記ターゲット文章に対するポリシー情報を算出するステップと、
前記算出されたポリシー情報及び前記算出された補償情報を用いて指定された条件に対応する前記それぞれの加重値を再設定するステップと、
を含
み、前記ポリシー情報は、前記ターゲット文章に含まれる複数の単語それぞれが、前記第1復号化モデルから生成される確率を示す、請求項1ないし
3のうち何れか一項に記載の文章生成モデルのアップデート方法。
【請求項5】
前記ポリシー情報を算出するステップは、前記ソース文章及び前記第1復号化モデルから以前時間に出力された第1単語に基づいて、前記第1復号化モデルから現在時間に第2単語が生成される確率を算出するステップをさらに含む、請求項
4に記載の文章生成モデルのアップデート方法。
【請求項6】
前記アップデートされた文章生成モデルを生成するステップは、複数のターゲット文章それぞれの補償情報及びポリシー情報
に基づいて定義される目的関数を最大化する前記加重値を再設定するステップを含み、
前記複数のターゲット文章は、前記第1復号化モデルを用いて前記ソース文章から生成される、請求項
4に記載の文章生成モデルのアップデート方法。
【請求項7】
前記アップデートされた文章生成モデルを生成するステップは、目的関数及び前記ソース文章に対して予め指定された正解文章が前記第1復号化モデルから生成される確率
に基づいて定義される損失関数を最小化する前記加重値を再設定するステップを含み、
前記複数のターゲット文章は、前記第1復号化モデルを用いて前記ソース文章から生成され、前記目的関数は複数のターゲット文章それぞれの補償情報及びポリシー情報
に基づいて定義される、請求項
4に記載の文章生成モデルのアップデート方法。
【請求項8】
前記ターゲット文章を生成するステップは、前記ソース文章に対応して前記第1復号化モデルが出力する最終の結果値のうち、予め設定された範囲内に存在する最終の結果値に応答して設定された範囲内で複数のターゲット文章を生成するステップを含む、請求項1ないし
7のうち何れか一項に記載の文章生成モデルのアップデート方法。
【請求項9】
前記ターゲット文章を生成するステップは、前記ソース文章内の単語に対応して前記第1復号化モデルが第1時点に出力する出力値に応じて複数のターゲット文章を生成するステップを含み、
前記補償情報を算出するステップは、前記第2復号化モデルを用いて前記第1時点に生成された複数のターゲット文章に対する補償情報を算出するステップを含む、請求項1ないし7のうち何れか一項に記載の文章生成モデルのアップデート方法。
【請求項10】
前記ターゲット文章を生成するステップは、前記ソース文章内の単語に対応して前記第1復号化モデルが第1時点に出力する出力値をサンプリングして予め指定された個数のターゲット文章を生成するステップを含み、
前記補償情報を算出するステップは、前記第2復号化モデルを用いて前記予め指定された個数のターゲット文章に対する補償情報を算出するステップを含む、請求項1ないし
7のうち何れか一項に記載の文章生成モデルのアップデート方法。
【請求項11】
前記ターゲット文章を生成するステップは、
前記ソース文章に含まれるそれぞれの単語に対応して、前記第1復号化モデルが出力する出力値に応じて複数の第1ターゲット文章を生成するステップと、
前記ソース文章の全体に対応して、前記第1復号化モデルが出力する最終の結果値のうち予め設定された範囲内に存在する最終の結果値に応答して複数の第2ターゲット文章を生成するステップと、
を含む、請求項1ないし
7のうち何れか一項に記載の文章生成モデルのアップデート方法。
【請求項12】
前記補償情報を算出するステップは、
前記第2復号化モデルを用いて前記複数の第1ターゲット文章に対する第1補償情報を算出するステップと、
前記第2復号化モデルを用いて前記複数の第2ターゲット文章に対する第2補償情報を算出するステップと、
を含む、請求項
11に記載の文章生成モデルのアップデート方法。
【請求項13】
前記第2復号化モデルを用いて前記ソース文章に対する新しいターゲット文章を生成するステップと、
前記第1復号化モデルを用いて前記新しいターゲット文章に対する補償情報を算出するステップと、
前記算出された補償情報に基づいて前記第2復号化モデル内のノードの加重値を再設定するステップと、
をさらに含む、請求項1ないし
12のうち何れか一項に記載の文章生成モデルのアップデート方法。
【請求項14】
請求項1に記載のアップデート方法を文
章生成装置のプロセッサに実行させるコンピュータプログラム。
【請求項15】
第1復号化モデルを用いてソース文章に対するターゲット文章を
n個の単語の配列として生成する生成部と、
前記第1復号化モデルと異なる順に文章を生成する第2復号化モデルを用いて
、前記ソース文章に対するn個の単語の配列を生成し、前記ターゲット文章に対する補償情報を算出する算出部
であって、前記補償情報は、前記ターゲット文章を反転させたn個の単語の配列が前記第2復号化モデルから出力される確率を表す、算出部と、
前記算出された補償情報に基づいて
、前記第1復号化モデル内のノード
それぞれの加重値を
、目的関数の極値に近づくように再設定することで、アップデートされた文章生成モデルを生成するアップデート部と、
を含む文章生成装置。
【請求項16】
前記算出部は、前記ソース文章及び前記第2復号化モデルから以前時間に出力された第1単語に基づいて、前記第2復号化モデルから現在時間に第2単語が生成される確率を算出して前記補償情報を算出する、請求項
15に記載の文章生成装置。
【請求項17】
前記算出部は、前記ターゲット文章に含まれる複数の単語をそれぞれの文字に分離した単語シーケンスを前記第2復号化モデルに入力して前記補償情報を算出する、請求項
15又は16に記載の文章生成装置。
【請求項18】
前記算出部は、前記ソース文章及び前記第2復号化モデルから以前時間に出力された第1文字に基づいて、前記第2復号化モデルから現在時間に第2文字が生成される確率を算出して前記補償情報を算出する、請求項
17に記載の文章生成装置。
【請求項19】
前記生成部は、前記ソース文章に対応して前記第1復号化モデルが出力する最終の結果値のうち、予め設定された範囲内に存在する最終の結果値に応じて複数のターゲット文章を生成する、請求項
17に記載の文章生成装置。
【請求項20】
前記生成部は、前記ソース文章内の単語に対応して前記第1復号化モデルが第1時点に出力する出力値に応じて複数のターゲット文章を生成し、前記算出部は、前記第2復号化モデルを用いて前記第1時点に生成された複数のターゲット文章に対する補償情報を算出する、請求項
17に記載の文章生成装置。
【請求項21】
前記生成部は、前記ソース文章に含まれるそれぞれの単語に対応して前記第1復号化モデルが出力する出力値に応じて複数の第1ターゲット文章を生成し、前記ソース文章に対応して前記第1復号化モデルが出力する最終の結果値のうち、予め設定された範囲内に存在する最終の結果値に応答して複数の第2ターゲット文章を生成する、請求項
17に記載の文章生成装置。
【請求項22】
前記算出部は、前記第2復号化モデルを用いて前記複数の第1ターゲット文章に対する第1補償情報を算出し、前記第2復号化モデルを用いて前記複数の第2ターゲット文章に対する第2補償情報を算出する、請求項
21に記載の文章生成装置。
【請求項23】
前記生成部は、前記第2復号化モデルを用いて前記ソース文章に対する新しいターゲット文章を生成し、前記算出部は、前記第1復号化モデルを用いて前記新しいターゲット文章に対する補償情報を算出し、前記アップデート部は、前記算出された補償情報に基づいて前記第2復号化モデル内のノードそれぞれの加重値を再設定する、請求項
17に記載の文章生成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の説明は、文章生成に用いられる文章生成モデルをアップデートする方法及び文章生成モデルを用いて文章を生成する方法に関する。
【背景技術】
【0002】
ニューラルネットワークにおいて、トレーニング過程は、発話認識や認識された発話、又は利用可能なテキストの翻訳のように、入力パターン及び出力パターン間の直観的なマッピングを提供する。その結果、コンピュータアーキテクチャのようなニューラルネットワークモデルとして具現されたプロセッサを用いて、発話認識及び翻訳の技術的な自動化が実現されている。このようなマッピングを生成するための訓練される能力(又はトレーニング能力)は、ニューラルネットワークの学習能力と呼ばれている。加えて、特化したトレーニングのために、特別に訓練されたニューラルネットワークは、以前にトレーニングされていない入力パターンについても正確な出力を生成する一般化された能力を有する。
【0003】
例えば、原文に対する翻訳文章を生成する自動翻訳機やユーザとコミュニケーションを続ける自動コミュニケーションエージェントのような様々なアプリケーションに、このような自動文章生成技術が適用されている。しかし、このような動作やアプリケーションは、特化したコンピュータアーキテクチャにより実行されるため、コンピュータアーキテクチャや自動化の試みを行わない他の自動化方法については、解決方案を提供することが難しい。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の目的は、文章生成モデルのアップデート方法及び文章生成装置を提供することにある。
【課題を解決するための手段】
【0005】
一側に係るプロセッサで実現される方法において、文章生成モデルのアップデート方法は、第1復号化モデルを用いてソース文章に対するターゲット文章を生成するステップと、前記第1復号化モデルと異なる順に文章を生成する第2復号化モデルを用いて、前記ターゲット文章に対する補償情報を算出するステップと、前記算出された補償情報に基づいて、前記第1復号化モデル内のノードそれぞれの加重値を再設定することでアップデートされた文章生成モデルを生成するステップとを含む。
【0006】
一実施形態によれば、前記補償情報を算出するステップは、前記ターゲット文章に含まれる複数の単語それぞれが前記第2復号化モデルから生成される確率に基づいて前記補償情報を算出するステップを含み得る。
【0007】
他の一実施形態によれば、前記補償情報を算出するステップは、前記ソース文章及び前記第2復号化モデルから以前時間に出力された第1単語を用いて、前記第2復号化モデルに基づいて現在時間に第2単語が生成される確率を算出するステップをさらに含み得る。
【0008】
更なる一実施形態によれば、前記補償情報を算出するステップは、前記ターゲット文章に含まれる複数の単語が前記ターゲット文章と異なる順に配列された単語シーケンスに基づいて前記補償情報を算出するステップをさらに含み得る。
【0009】
更なる一実施形態によれば、前記第1復号化モデルはリカレントニューラルネットワークを含む順方向復号化モデルであり、前記第2復号化モデルはリカレントニューラルネットワークを含む逆方向復号化モデルであり得る。
【0010】
更なる一実施形態によれば、前記それぞれの加重値を再設定するステップは、前記第1復号化モデルを用いて前記ターゲット文章に対するポリシー情報を算出するステップと、前記算出されたポリシー情報及び前記算出された補償情報を用いて指定された条件に対応する前記それぞれの加重値を再設定するステップとを含み得る。
【0011】
更なる一実施形態によれば、前記ポリシー情報を算出するステップは、前記ターゲット文章に含まれる複数の単語それぞれが前記第1復号化モデルから生成される確率に基づいて前記ポリシー情報を算出するステップを含み得る。
【0012】
前記ポリシー情報を算出するステップは、前記ソース文章及び前記第1復号化モデルから以前時間に出力された第1単語に基づいて、前記第1復号化モデルから現在時間に第2単語が生成される確率を算出するステップをさらに含み得る。
【0013】
更なる一実施形態によれば、前記それぞれの加重値を再設定するステップは、複数のターゲット文章それぞれの補償情報及びポリシー情報として定義される目的関数を最大化する前記加重値を再設定するステップを含み、前記複数のターゲット文章は、前記第1復号化モデルを用いて前記ソース文章から生成され得る。
【0014】
更なる一実施形態によれば、前記それぞれの加重値を再設定するステップは、目的関数及び前記ソース文章に対して予め指定された正解文章が前記第1復号化モデルから生成される確率として定義される損失関数を最小化する前記加重値を再設定するステップを含み、前記複数のターゲット文章は前記第1復号化モデルを用いて前記ソース文章から生成され、前記目的関数は複数のターゲット文章それぞれの補償情報及びポリシー情報として定義され得る。
【0015】
更なる一実施形態によれば、前記ターゲット文章を生成するステップは、前記ソース文章に対応して前記第1復号化モデルが出力する最終の結果値のうち、予め設定された範囲内に存在する最終の結果値に応答して設定された範囲内で複数のターゲット文章を生成するステップを含み得る。
【0016】
更なる一実施形態によれば、前記ターゲット文章を生成するステップは、前記ソース文章内の単語に対応して前記第1復号化モデルが第1時点に出力する出力値に応じて複数のターゲット文章を生成するステップを含み、前記補償情報を算出するステップは、前記第2復号化モデルを用いて前記第1時点に生成された複数のターゲット文章に対する補償情報を算出するステップを含み得る。
【0017】
更なる一実施形態によれば、前記ターゲット文章を生成するステップは、前記ソース文章内の単語に対応して前記第1復号化モデルが第1時点に出力する出力値をサンプリングして予め指定された個数のターゲット文章を生成するステップを含み、前記補償情報を算出するステップは、前記第2復号化モデルを用いて前記予め指定された個数のターゲット文章に対する補償情報を算出するステップを含み得る。
【0018】
更なる一実施形態によれば、前記ターゲット文章を生成するステップは、前記ソース文章に含まれるそれぞれの単語に対応して、前記第1復号化モデルが出力する出力値に応じて複数の第1ターゲット文章を生成するステップと、前記ソース文章の全体に対応して、前記第1復号化モデルが出力する最終の結果値のうち予め設定された範囲内に存在する最終の結果値に応答して複数の第2ターゲット文章を生成するステップとを含み得る。
【0019】
更なる一実施形態によれば、前記補償情報を算出するステップは、前記第2復号化モデルを用いて前記複数の第1ターゲット文章に対する第1補償情報を算出するステップと、前記第2復号化モデルを用いて前記複数の第2ターゲット文章に対する第2補償情報を算出するステップとを含み得る。
【0020】
更なる一実施形態によれば、前記アップデート方法は、前記第2復号化モデルを用いて前記ソース文章に対する新しいターゲット文章を生成するステップと、前記第1復号化モデルを用いて前記新しいターゲット文章に対する補償情報を算出するステップと、前記算出された補償情報に基づいて前記第2復号化モデル内のノードの加重値を再設定するステップとをさらに含み得る。
【0021】
更なる一実施形態によれば、第1復号化モデルを用いてソース文章に対するターゲット文章を生成するステップと、前記第1復号化モデルと異なる順に文章を生成する第2復号化モデルを用いて、前記ターゲット文章に対する補償情報を算出するステップと、前記算出された補償情報に基づいて、前記第1復号化モデル内のノードの加重値を再設定することでアップデートされた文章生成モデルを生成するステップとを含む方法がプロセッサによって実行されるようにする指示を格納するコンピュータで読み出し可能な記録媒体が提供される。
【0022】
他の一実施形態によれば、文章生成装置が提供される。前記文章生成装置は、第1復号化モデルを用いてソース文章に対するターゲット文章を生成する生成部と、第2復号化モデルを用いて前記ターゲット文章に対する補償情報を算出する算出部と、前記算出された補償情報に基づいて前記第1復号化モデル内のノードの加重値を再設定することで、アップデートされた文章生成モデルを生成するアップデート部とを含む。
【0023】
一実施形態によれば、前記算出部は、前記ターゲット文章に含まれる前記複数の単語が前記ターゲット文章と異なる順に配列された単語シーケンスに基づいて前記補償情報を算出し得る。より具体的に、前記算出部は、前記ソース文章及び前記第2復号化モデルから以前時間に出力された第1単語に基づいて、前記第2復号化モデルから現在時間に第2単語が生成される確率を算出して前記補償情報を算出し得る。
【0024】
他の一実施形態によれば、前記算出部は、前記ターゲット文章に含まれる複数の単語をそれぞれの文字に分離した単語シーケンスを前記第2復号化モデルに入力して前記補償情報を算出し得る。より具体的に、前記算出部は、前記ソース文章及び前記第2復号化モデルから以前時間に出力された第1文字に基づいて、前記第2復号化モデルから現在時間に第2文字が生成される確率を算出して前記補償情報を算出し得る。
【0025】
更なる一実施形態によれば、前記生成部は、前記ソース文章に対応して前記第1復号化モデルが出力する最終の結果値のうち、予め設定された範囲内に存在する最終の結果値に応じて複数のターゲット文章を生成し得る。
【0026】
更なる一実施形態によれば、前記生成部は、前記ソース文章内の単語に対応して前記第1復号化モデルが第1時点に出力する出力値に応じて複数のターゲット文章を生成し、前記算出部は、前記第2復号化モデルを用いて前記第1時点に生成された複数のターゲット文章に対する補償情報を算出し得る。
【0027】
更なる一実施形態によれば、前記生成部は、前記ソース文章に含まれるそれぞれの単語に対応して前記第1復号化モデルが出力する出力値に応じて複数の第1ターゲット文章を生成し、前記ソース文章に対応して前記第1復号化モデルが出力する最終の結果値のうち、予め設定された範囲内に存在する最終の結果値に応答して複数の第2ターゲット文章を生成し得る。より具体的に、前記算出部は、前記第2復号化モデルを用いて前記複数の第1ターゲット文章に対する第1補償情報を算出し、前記第2復号化モデルを用いて前記複数の第2ターゲット文章に対する第2補償情報を算出し得る。
【0028】
更なる一実施形態によれば、前記生成部は、前記第2復号化モデルを用いて前記ソース文章に対する新しいターゲット文章を生成し、前記算出部は、前記第1復号化モデルを用いて前記新しいターゲット文章に対する補償情報を算出し、前記アップデート部は、前記算出された補償情報に基づいて前記第2復号化モデル内のノードそれぞれの加重値を再設定し得る。
【発明の効果】
【0029】
本発明によると、文章生成モデルのアップデート方法及び文章生成装置を提供することができる。
【図面の簡単な説明】
【0030】
【
図1】一実施形態に係る文章生成モデルのアップデート装置を示すブロック図である。
【
図2】一実施形態によりターゲット文章を生成して補償情報を算出する方法を示す例示図である。
【
図3A】一実施形態によりターゲット文章に対する補償情報が算出される過程を具体的に説明するフローチャートである。
【
図3B】一実施形態によりターゲット文章に対するポリシー情報が算出される過程を具体的に説明するフローチャートである。
【
図4A】一実施形態により目的関数を用いて第1復号化モデルの加重値が再設定される過程を具体的に説明するフローチャートである。
【
図4B】他の一実施形態により損失関数を用いて第1復号化モデルの加重値が再設定される過程を具体的に説明するフローチャートである。
【
図5】一実施形態により文章生成モデルと評価モデルの役割を連続的な動作周期内で互いに交換する方法を説明する例示図である。
【
図6】一実施形態によりN-bestアルゴリズムでターゲット文章を生成するアップデート装置を示すブロック図である。
【
図7】他の一実施形態によりモンテカルロサーチアルゴリズムでターゲット文章を生成するアップデート装置を示すブロック図である。
【
図8A】更なる一実施形態によりN-bestアルゴリズム及びモンテカルロサーチアルゴリズムを共に用いてターゲット文章を生成するアップデート装置を示すブロック図である。
【
図8B】更なる一実施形態によりN-bestアルゴリズム及びモンテカルロサーチアルゴリズムを共に用いてターゲット文章を生成する過程を説明する例示図である。
【
図9】他の一実施形態によりターゲット文章に対する補償情報を算出する方法を示す例示図である。
【
図10】一実施形態に係る文章生成装置を示すブロック図である。
【
図11】本実施形態に係る電子装置を示すブロック図である。
【発明を実施するための形態】
【0031】
以下、添付する図面を参照しながら実施形態を詳細に説明する。しかし、特許出願の範囲がこのような実施形態によって制限及び限定されることはない。各図面に提示された同一の参照符号は同一の部材を示す。
【0032】
本明細書で開示されている特定の構造的又は機能的な説明は単に実施形態を説明するための目的として例示されたものであり、実施形態は様々な異なる形態で実施され、本明細書に説明された実施形態に限定されることはない。
【0033】
本明細書で用いた用語は、単に特定の実施形態を説明するために用いられるものであって、本発明を限定しようとする意図はない。単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを示すものであって、1つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【0034】
異なる定義がされない限り、技術的であるか又は科学的な用語を含むここで用いる全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【0035】
また、添付図面を参照して説明することにおいて、図面符号に関係なく同一の構成要素は同一の参照符号を付与し、これに対する重複する説明は省略する。実施形態の説明において関連する公知技術に対する具体的な説明が実施形態の要旨を不要に曖昧にすると判断される場合、その詳細な説明は省略する。
【0036】
図1は、一実施形態に係る文章生成モデルのアップデート装置を示すブロック図である。以下で記載される文章生成モデルは、入力されるソース文章に基づいて次に出てくるターゲット文章を予測する言語モデルを示す。例えば、文章生成モデルは、原文が入力されて原文に対応する翻訳文章を生成する翻訳モデルであり得る。他の一実施形態として、文章生成モデルは、ソース文章が入力され、それに対応するコミュニケーション文を生成するコミュニケーションエージェントモデルであり得る。上記で記載された翻訳モデル及びコミュニケーションエージェントモデルなどは、文章生成モデルに対する理解を助けるための例示的な記載に過ぎず、他の実施形態の範囲を制限及び限定するものと解釈されるべきではない。以下にて説明する文章生成モデルは、指定された条件に応じて、ソース文章に対応するターゲット文章を出力する様々な形態の言語モデルを示す。他の一実施形態として、それぞれの文章生成モデルは、それぞれのニューラルネットワーク又はニューラルネットワークの一部分を含む。
【0037】
例えば、各ニューラルネットワークは、1つの隠しレイヤを有するニューラルネットワーク(NN)又はディープニューラルネットワーク(DNN)であり得る。一実施形態として、ニューラルネットワーク又はディープニューラルネットワークは、1つ又はそれ以上の全て接続されたネットワーク、畳み込みニューラルネットワーク、リカレントニューラルネットワーク、又は双方向性ニューラルネットワーク、又は上記で記載したニューラルネットワークの多重接続ニューラルネットワークとして実現される。ニューラルネットワークは、ディープランニングのような学習に基づいた非線形な関係内で入力データ及び出力データを互いにマッピングすることで、発話認識、翻訳及び/又はコミュニケーションエージェント又はインタラクションを行うことができる。このような学習又はディープラーニングステップは、ビッグデータ集合からのインタラクション、自動化された発話認識、翻訳及び/又はコミュニケーションエージェントに関するイシューを解決するプロセッサで具現された機械学習ステップであり得る。学習は、入力データと出力データを教師(supervised)又は非教師(unsupervised)学習、又は訓練を介してマッピングさせることで実現される。これによって、訓練された機械学習モデル、エンジン、又は例示的なニューラルネットワークは、直観的に知らされていない入力データを所望する正確性又は信頼性を有する出力データにマッピングさせることができる。
【0038】
一実施形態として、ニューラルネットワークは、1つ以上の入力レイヤ、1つ以上の隠しレイヤ及び1つ以上の出力レイヤを含む。入力レイヤ及び出力レイヤのそれぞれは1つ以上のノードを含み、隠しレイヤそれぞれは複数のノードを含む。全体的なニューラルネットワークが互いに異なる目的に応じて訓練された多重部分から構成される場合、多重部分の間には、入力レイヤ又は出力レイヤがそれぞれ存在する。
【0039】
また、他の一実施形態として、データは、様々な形態及び様々な次元形態内で入力レイヤから入力される。具体的に、データは、ニューラルネットワーク内の入力レイヤのそれぞれのノードから入力される。ニューラルネットワーク内で、出力レイヤではないレイヤは、現在レイヤから次のレイヤに出力信号又は情報を送信するリンクを介して、次のレイヤのノードに接続される。リンクの個数は、次のレイヤ内に含まれるノードの個数に対応する。例えば、隣接して完全接続されたレイヤ内で現在レイヤのそれぞれのノードは、次のレイヤのそれぞれのノードに接続されるリンクを含む。例示的に、しかし限定されないように、後ほど訓練や最適化の過程によりそれぞれの接続は簡素化されたり最小化され得る。反復構造の内で、レイヤのノードは、次の時間に同じノード又はレイヤに再び入力され、双方向性の構造内で、フォワード及びバックワード接続が提供される。リンクは、接続又は接続加重値と呼ばれ、ハードウェアで具現された接続又はニューラルネットワークの接続によって提供される接続加重値として呼ばれる。訓練及び実現過程内でそのような接続及び接続加重値は、訓練された目的に応じて具現されたニューラルネットワークが生成又は取得されるために実現されたり、除去されたり、変化される。
【0040】
隣接ノード間及び接続加重値に対応する構造及び選択的な接続は、訓練の過程内で変化し得る。ニューラルネットワークの接続加重値は、ニューラルネットワークのパラメータと呼ばれられる。例えば、制限されない教師学習の例示内で、ニューラルネットワークは、ラベリングされた入力イメージ情報又は決定された出力認識又は分類及び逆伝播を用いて訓練される。訓練過程内で、互いに異なる隠しレイヤのノード間の接続加重値は、例えば、逆伝播過程などによって所望する正確度になるまで、又は最大エラー率以下になるまで調整される。それぞれの訓練されたニューラルネットワークは、訓練、認識、翻訳及び/又はコミュニケーションエージェント又はインタラクション装置のメモリ内に格納される。例えば、訓練されたニューラルネットワークは、訓練されたベクトル又は行列、他の形態で格納され、行列の要素は、対応するニューラルネットワークの構造内の訓練された接続加重値を示す。格納されたニューラルネットワークは、訓練されたパラメータに対応するニューラルネットワークの特別な構造を定義するハイパーパラメータ情報をさらに含む。例示的に、ハイパーパラメータは、隠しレイヤの個数及びそれぞれのレイヤが反復されるか、畳み込みであるか双方向性であるか、完全接続された隠しレイヤであるか、などのようなレイヤの構造を定義する。一実施形態として、構造は、畳み込み接続を示す。また、ハイパーパラメータは、ニューラルネットワーク内のバイアス値及び/又はノードの活性化関数、ロングショート・タームメモリノードのようなノードタイプのような例示的なコンセプチュアルノードに関する情報を含む。例示的に、それぞれのレイヤの入力は、一次元、2次元、3次元、又はそれ以上の次元情報、例えば、多重次元ベクトルのような情報を含み、ニューラルネットワークの出力についても一次元又は多重次元情報としてニューラルネットワークの設定パラメータ及び構造に依存する。ニューラルネットワークの出力は確率的な情報を示し得る。
図1を参照すれば、文章生成モデルのアップデート装置100は、生成部110、算出部120、及びアップデート部130を含む。
図1に図示していないが、アップデート装置100は、少なくとも1つのプロセッサを示し、少なくとも1つのプロセッサによって生成部110、算出部120、及びアップデート部130が実現される。
【0041】
アップデート装置100は、ソース文章が入力されて第1復号化モデル141に関するアップデートされた接続加重値を出力する。アップデートされた接続加重値は、第1復号化モデル141に含まれるノードの接続加重値を示す。より具体的に、アップデート装置100は、入力されたソース文章に対するターゲット文章を生成し、生成されたターゲット文章に対する補償情報に基づいて、第1復号化モデル141の接続加重値を再設定する。他の一実施形態として、アップデート装置100は、ソース文章が入力されて第1復号化モデル141内のノードそれぞれに適用される活性化関数の閾値をアップデートして出力してもよい。本実施形態において、1つの接続加重値に対して出力とアップデートが行われる反復過程は、記載される装置及び方法内で多重接続加重値がアップデートされて出力される過程についても適用可能である。
【0042】
生成部110は、ソース文章が入力されてターゲット文章を生成する。より具体的に、生成部110は、第1復号化モデル141を用いて入力されたソース文章に対するターゲット文章を生成する。一実施形態として、生成部110は、予め指定された規則によってソース文章に対する複数のターゲット文章を生成する。生成部110から複数のターゲット文章が生成される過程については、以下で追加される他の図面と共に具体的に説明される。
【0043】
算出部120は、生成部110から伝達されるターゲット文章に対する補償情報を算出する。より具体的に、算出部120は、第2復号化モデル142を用いてターゲット文章に対する補償情報を算出する。一実施形態として、算出部120は、ソース文章及び第2復号化モデル142から以前時間に出力された第1単語を用いて、第2復号化モデル142から現在時間に第2単語が生成される確率を算出して補償情報を算出する。算出部120は、算出された補償情報をアップデート部130に出力する。
【0044】
アップデート部130は、算出された補償情報に基づいて第1復号化モデル141内のノードの接続加重値を再設定する。一実施形態として、アップデート部130は、第1復号化モデル141を用いてターゲット文章に対するポリシー情報を算出する。また、アップデート部130は、算出されたポリシー情報及び算出された補償情報を用いて、指定された条件に対応する接続加重値を再設定する。
【0045】
アップデート装置100は、指定されたリザーバ内にターゲット文章を生成するための第1復号化モデル141、及び補償情報を算出するための第2復号化モデル142を格納して保管する。例示的に、指定されたリザーバには、アップデート装置100内に存在するメモリ領域が用いられてもよく、アップデート装置100とインタフェースを介して接続される外部メモリ装置が用いられてもよい。
【0046】
一実施形態として、第1復号化モデル141及び第2復号化モデル142としてニューラルネットワークを用いてもよい。具体的に、以前時間の隠しレイヤの出力値が現在時間の隠しレイヤに再び入力されるリカレントニューラルネットワーク(RNN:recurrent neural network)、又は反復接続を有するニューラルネットワークが第1復号化モデル141及び第2復号化モデル142として用いられてもよい。ただし、上記で記載された第1復号化モデル141及び第2復号化モデル142に関する説明は、理解を助けるための例示に過ぎず、他の実施形態の範囲を制限したり限定するものと解釈されることはない。例えば、第1復号化モデル141及び第2復号化モデル142のそれぞれが深層神経網(DNN:deep neural network)であるか、畳み込み神経網(CNN:convolutional neural network)のような様々な形態のニューラルネットワークに実現される実施形態も実現可能であろう。
【0047】
以下では、追加される図面と共にソース文章を用いてターゲット文章が生成され、補償情報が算出される過程をより詳しく記載する。
【0048】
図2は、一実施形態によりターゲット文章を生成し、補償情報を算出する方法を示す例示図である。
図2を参照すれば、第1ターゲット文章231を生成するための第1復号化モデル230には、時間段階ごとにソース文章210の特徴値が入力される。例示的に、ソース文章210は、複数の単語x
1、x
2、…、x
nが指定された順に羅列した文章を示す。この場合に、ソース文章210を構成しているそれぞれの単語x
1、x
2、…、x
nは、予め指定された符号化モデル220に入力されて特徴値として抽出される。例示的に、ソース文章210から抽出された特徴値は、コンテキスト情報及び第1アテンション情報を含む。コンテキスト情報は、ソース文章210の意味情報を表現する圧縮された情報である。また、第1アテンション情報は、現在時点でターゲット文章231を生成するためにソース文章210のいずれかの情報を確認しなければならないかを示す情報である。
【0049】
ソース文章210に関するコンテキスト情報及び第1アテンション情報が第1復号化モデル230内のノードに入力される。例示的に、しかし限定されないように、第1復号化モデル230は、以前時間の隠しレイヤの出力値が現在時間の隠しレイヤに再び入力されるリカレントニューラルネットワークとして実現される。例えば、ターゲット文章231内の第2単語y2が決定される過程で、コンテキスト情報及び第1アテンション情報と共に以前時間の隠しレイヤの第1出力値及び以前時間に出力された第1単語y1を用いてもよい。また、第1復号化モデル230は、ターゲット文章の開始からターゲット文章の終わりに順次復号化を行う順方向復号化モデルを示す。この場合、アップデート装置100は、第1復号化モデル230を用いて第1単語y1を開始とし、第n単語ynを最後とする順に第1ターゲット文章231を生成する。
【0050】
同様に、ソース文章210に関するコンテキスト情報及び第2アテンション情報が第2復号化モデル240内のノードから入力される。例示的に、しかし限定されないように、第2復号化モデル240もリカレントニューラルネットワークとして実現されてもよい。一実施形態として、第2復号化モデル240は、ターゲット文章の終わりからターゲット文章の開始まで順次復号化を行う逆方向復号化モデル(backward decoding model)を示す。第2復号化モデル240は、第1復号化モデル230と反対となる順に第2ターゲット文章241を用いる。より具体的に、第2ターゲット文章241は、第1ターゲット文章231に含まれる複数の単語が反対の順に配列されたシーケンスを示し得る。例えば、第2ターゲット文章241は、第n単語ynを開始とし、第1単語y1を最後とする順にそれぞれの単語が配列された単語シーケンスを示すことができる。
【0051】
アップデート装置100は、第2ターゲット文章241に含まれる複数の単語それぞれが第2復号化モデル240から生成される確率に基づいて補償情報を算出する。より具体的に、アップデート装置100は、ソース文章210の特徴値及び第2復号化モデル240から以前時間に出力された第1単語を用いて、現在時間に第2復号化モデル240から第2単語が生成される確率を算出し、算出された確率を用いて補償情報を算出する。
【0052】
図2では、説明の便宜のために符号化モデル220、第1復号化モデル230、及び第2復号化モデル240それぞれが1つのレイヤで具現された実施形態を示しているが、これは他の実施形態の範囲を制限したり限定するものと解釈されることはない。例えば、符号化モデル220、第1復号化モデル230、及び第2復号化モデル240のそれぞれが入力レイヤ、隠しレイヤ、及び出力レイヤを含むマルチレイヤ構造を有する実施形態についても実現可能であろう。
【0053】
本実施形態に係るアップデート装置100は、ターゲット文章を生成するための第1復号化モデル230として、リカレントニューラルネットワークを含む順方向復号化モデルを用いて、補償情報を算出するための第2復号化モデル240としてリカレントニューラルネットワークを含む逆方向復号化モデルを用いることができる。これによって、アップデート装置100は、逆方向復号化モデルから算出された補償情報に基づいて順方向復号化モデルノードの加重値を再設定し、文章を生成するとき一方向にのみ復号化される傾向を減らし、様々な表現の文章を提供する文章生成モデルを生成することができる。
【0054】
図3Aは、一実施形態によりターゲット文章に対する補償情報が算出される過程を具体的に説明するフローチャートである。
図3Aを参照すれば、ターゲット文章に対する補償情報を算出する方法は、ターゲット文章に含まれるそれぞれの単語が第2復号化モデルから生成される確率を指定された順に応じて算出するステップS310、及びそれぞれの単語に対応する確率を用いてターゲット文章に対する補償情報を算出するステップS320を含む。
【0055】
ステップS310において、ターゲット文章に含まれるそれぞれの単語が第2復号化モデルから生成される確率が算出される。ターゲット文章は、第2復号化モデルと異なる第1復号化モデルから生成された文章を示す。例えば、ターゲット文章は、順方向復号化モデルを用いてソース文章から生成された複数のターゲット文章を示し得る。この場合に、ステップS310では、複数のターゲット文章のうち、第1ターゲット文章に含まれるそれぞれの単語が第2復号化モデルから生成される確率が算出される。
【0056】
第1単語y1→第2単語y2→(省略)→第T単語yTのような順に単語を含む第nターゲット文章Tnが第1復号化モデルから生成される場合が存在する。第nターゲット文章Tnは、文章に含まれる単語の配列順を用いてy1:Tのように表現される。具体的に、第nターゲット文章Tnに含まれる単語は、次の表1のような順に整理される。
【0057】
【表1】
この場合、ステップS310において、第nターゲット文章T
nに含まれるそれぞれの単語が第2復号化モデルから生成される確率が算出される。より具体的に、第nターゲット文章T
nに含まれる単語が逆転した順に配列された単語シーケンス~T
nを用いて、それぞれの単語が第2復号化モデルから生成される確率が算出される。単語シーケンス~T
nは第nターゲット文章T
n内の単語を逆順に逆転した単語シーケンスとして、第T単語y
T→第T-1単語y
T-1→(省略)→第2単語y
2→第1単語y
1のような順に単語を含む。同様に、単語シーケンス~T
nは、単語シーケンスに含まれる単語の配列順序を用いてy
T:1のように表現される。具体的に、単語シーケンス~T
nに含まれる単語は、次の表2のような順に整理される。
【0058】
【表2】
例えば、ステップS310において、第T-t+1単語y
tが第2復号化モデルから生成される確率が算出され得る。より具体的に、ソース文章及び第2復号化モデルから以前時間に出力された単語を用いて、第2復号化モデルから現在時間に第T-t+1単語y
tが生成される確率が、下記の数式(1)のように算出される。第T-t+1単語y
tは、単語シーケンス~T
nの開始点(左側方向)からT-t+1番目に配置された単語である。
【0059】
【数1】
数式(1)において、Sは第1復号化モデル及び第2復号化モデルに入力されるソース文章を示し、y
T+1:t+1は、以前時間の段階で第2復号化モデルから出力される単語に関する出力値を示す。より具体的に、y
T+1:t+1において、y
T+1は第nターゲット文章T
nの終了点を示す情報である。また、y
T+1:t+1において、y
Tからy
t+1までは全体単語シーケンス~T
nのうち第1番目の単語からT-t番目の単語までの出力値を示す。また、数式(1)において、Φは、第2復号化モデル内のノードの接続関係を定義する加重値パラメータを示す。
【0060】
ステップS310において、第nターゲット文章Tnに含まれるそれぞれの単語が単語シーケンス~Tn に配列された順に応じて、第2復号化モデルから生成される確率が算出される。具体的に、単語のシーケンス~Tnに含まれる第1番目の単語yTが第2復号化モデルから生成される確率P(yT|yT+1,S;Φ)が優先的に算出され、2番目の単語yT-1が第2復号化モデルから生成される確率P(yT-1|yT+1:yT,S;Φ)が算出され、最後の単語y1が生成される確率P(y1|yT+1:2、S;Φ)まで順次算出される。説明の便宜を考慮して、第nターゲット文章Tnに含まれる単語が生成される確率が算出される過程を説明するが、同じ原理により、アップデートデバイスが生成される複数のターゲット文章それぞれに含まれる単語が生成される確率も算出され得ることは、技術分野の専門家にとって自明なものである。
【0061】
ステップS320において、それぞれの単語に対応する確率を用いてターゲット文章に対する補償情報が算出される。より具体的に、第nターゲット文章Tnに対する補償情報rnは下記の数式(2)のように算出される。
【0062】
【数2】
数式(2)において、P(~T
n|S;Φ)は、第nターゲット文章T
nの単語の順序を反転した単語シーケンス~T
nが第2復号化モデルから生成される確率を示す。より具体的に、P(~T
n|S; Φ)は次の数式(3)のように算出される。
【0063】
【数3】
単語シーケンス~T
nが第2復号化モデルから生成される確率は、単語のシーケンス~T
n内に含まれるそれぞれの単語が順次生成される確率の積に算出される。より具体的に、単語シーケンス~T
nが第2復号化モデルから生成される確率は、単語シーケンス~T
nの1番目の単語y
Tから最後の単語y
1までそれぞれの単語が第2復号化モデルから順次生成される確率の積として算出される。
【0064】
上記で説明された補償情報が算出される過程については、文章生成モデルのアップデート装置100によって実行される。より具体的に、アップデート装置100に含まれる算出部により各ステップS310、S320が実行される。
【0065】
図3Bは、一実施形態によりターゲット文章に対するポリシー情報が算出される過程を具体的に説明するフローチャートである。
図3Bを参照すれば、ターゲット文章に対するポリシー情報を算出する方法は、ターゲット文章に含まれるそれぞれの単語が第1復号化モデルから生成される確率を指定された順に応じて算出するステップS330、及びそれぞれの単語に対応する確率を用いてターゲット文章に対するポリシー情報を算出するステップS340を含む。
【0066】
ステップS330において、ターゲット文章に含まれるそれぞれの単語が第1復号化モデルから生成される確率が算出される。ターゲット文章は、第1復号化モデルから生成された文章を示す。例えば、第1復号化モデルが順方向復号化モデルである場合、ターゲット文章は、順方向復号化モデルを用いてソース文章から生成された複数のターゲット文章を示す。
【0067】
例示的に、ステップS330では、複数のターゲット文章のうち、第1ターゲット文章に含まれるそれぞれの単語が第1復号化モデルから生成される確率が算出される。以下では、説明の便宜を考慮して、第nターゲット文章Tnに含まれるそれぞれの単語が第1復号化モデルから生成される確率が算出される過程を説明するが、同じ原理によって、複数のターゲット文章それぞれに含まれる単語が生成される確率も算出され得ることは。技術分野の専門家にとって自明なものである。
【0068】
例えば、第1単語y1→第2単語y2→(省略)→第T単語yTのような順に単語を含む第nターゲット文章Tnが第1復号化モデルから生成される場合が存在する。第nターゲット文章Tnは、文章に含まれる単語の配列順序を用いてy1:Tのように表現される。この場合に、ステップS330では、第nターゲット文章Tnに含まれるそれぞれの単語が第1復号化モデルから生成される確率が算出される。より具体的に、第nターゲット文章Tnに含まれる第t単語ytが第1復号化モデルから生成される確率が下記の数式(4)のように算出される。第t単語ytは、第nターゲット文章Tnの開始点(左側方向)からt番目に配置された単語を示す。
【0069】
【数4】
数式(4)において、Sは第1復号化モデルに入力されるソース文章を示し、y
0:t-1は、以前時間段階で第1復号化モデルから出力される単語に関する出力値を示す。より具体的に、y
0:t-1において、y
0は第nターゲット文章T
nの開始点を示す情報である。また、y
0:t-1において、y
0からy
t-1までは、第nターゲット文章T
nのうち1番目の単語からt-1番目の単語までの出力値を示す。また、数式(4)において、θは、第1復号化モデル内のノードの接続関係を定義する加重値パラメータを示す。
【0070】
ステップS330において、第nターゲット文章Tnに含まれるそれぞれの単語が第nターゲット文章Tn内に配列された順に応じて、第1復号化モデルから生成される確率が算出される。具体的に、第nターゲット文章Tnに含まれる1番目の単語y1が第1復号化モデルから生成される確率P(y1|y0:0,S;θ)が優先的に算出され、2番目の単語y2が第1復号化モデルから生成される確率P(y2|y0:1,S;θ)が次に算出され、上記のような順に最後のT番目yTが生成される確率P(yT|y0:T-1,S;θ)まで順次算出される。
【0071】
ステップS340において、それぞれの単語に対応する確率を用いてターゲット文章に対するポリシー情報が算出される。例えば、第nターゲット文章Tnに対するポリシー情報pnは下記の数式(5)のように算出される。
【0072】
【数5】
数式(5)において、P(T
n|S;θ)は第nターゲット文章T
n内の単語が第1復号化モデルから順次生成される確率を示す。より具体的に、P(T
n|S;θ)は下記の数式(6)のように算出される。
【0073】
【数6】
数式(6)において、P(T
n|S;θ)は、第nターゲット文章T
nの1番目の単語y
1から最後の単語y
Tまでそれぞれの単語が第1復号化モデルから順次生成される確率の積に算出される。
【0074】
上記で説明されたターゲット文章に対するポリシー情報が算出される過程は、文章生成モデルのアップデート装置100によって実行される。より具体的に、アップデート装置に含まれるアップデート部130により各ステップS330、S340が実行される。
【0075】
本実施形態に係るアップデート装置100は、ターゲット文章を生成した第1復号化モデルを用いてポリシー情報を算出し、第1復号化モデルと異なる第2復号化モデルを用いて補償情報を算出する。また、アップデート装置100は、算出されたポリシー情報及び算出された補償情報を用いて第1復号化モデルに関する加重値を再設定する。それにより、アップデート装置100は、いずれか一方向に偏らないで順方向及び逆方向の加重値が全て反映された文章生成モデルをアップデートし、反対方向に実行される2つの復号化モデルの利点を提供することができる。以下、追加される図面と共に、第1復号化モデルの加重値が再設定される過程をより詳しく説明する。
【0076】
図4Aは、一実施形態により目的関数を用いて第1復号化モデルの加重値が再設定される過程を具体的に説明するフローチャートである。
図4Aを参照すれば、目的関数を用いて第1復号化モデルの接続加重値を再設定する方法は、複数のターゲット文章それぞれの補償情報及びポリシー情報として定義される目的関数を算出するステップS410、及び算出された目的関数を最大化する第1復号化モデルの接続加重値を再設定するステップS420を含む。
【0077】
ステップS410において、複数のターゲット文章それぞれの補償情報及びポリシー情報として定義される目的関数が算出される。例示的に、目的関数は、強化学習のポリシー勾配(policy gradients)方式により定義される。ポリシー勾配方式は、技術分野の専門家にとって簡単な内容であるため、詳しい説明は省略する。
【0078】
アップデート装置からソース文章に対して複数のターゲット文章が生成される場合が存在する。この場合に、ステップS410では、下記の数式(7)のようにそれぞれのターゲット文章の補償情報及びポリシー情報を用いて目的関数J(θ)が算出される。
【0079】
【数7】
アップデート装置からN個のターゲット文章が生成された場合、第1ターゲット文章T
1に対応する第1補償情報r
1と第1ポリシー情報のログ値logP(T
1|S;θ)の積から第Nターゲット文章T
Nに対応する第N補償情報r
Nと第Nポリシー情報のログ値logP(T
N|S;θ)までの積を加え、加えられた結果値をターゲット文章の個数Nに割って目的関数J(θ)が算出される。
【0080】
ステップS420において、算出された目的関数J(θ)を最大化するθが算出される。θは、第1復号化モデル内のノードの接続加重値パラメータを示す。
【0081】
図4Aに示していないが、ステップS420では目的関数から定義される損失関数を最小化する方法に基づいて、第1復号化モデルの接続加重値を算出してもよい。より具体的に、損失関数L(θ)は、下記の数式(8)のように定義される。
【0082】
【数8】
一実施形態として、損失関数L(θ)に勾配下降(gradient descent)方式を適用して第1復号化モデルの接続加重値θが算出される。勾配下降は、算出された勾配の反対方向に加重値θを少しずつ移動させることで極小点(local minimum)を探す方式である。具体的に、下記の数式(9)のように第1復号化モデルの接続加重値θが再設定される。
【0083】
【数9】
数式(9)において、再設定された加重値θは、本来の加重値θで勾配
【0084】
【数10】
の反対方向に学習比率αだけ移動するよう再設定される。
【0085】
図4Bは、他の一実施形態により損失関数を用いて第1復号化モデルの加重値が再設定される過程を具体的に説明するフローチャートである。
図4Bを参照すれば、損失関数を用いて第1復号化モデルの接続加重値を再設定する方法については、複数のターゲット文章それぞれの補償情報及びポリシー情報として定義される目的関数を算出するステップS430、及び算出された目的関数及びソース文章に対する正解文章が第1復号化モデルから生成される確率として定義される損失関数を最小化する第1復号化モデルの接続加重値を再設定するステップS440を含む。
【0086】
ステップS430において、複数のターゲット文章それぞれの補償情報及びポリシー情報として定義される目的関数が算出される。目的関数が算出される過程に対する説明は、上記で記載された
図4AのステップS410及び数式(7)に関する説明がそのまま適用され得るため、重複する説明は省略する。
【0087】
ステップS440において、算出された目的関数及び正解文章が第1復号化モデルから生成される確率として定義される損失関数が算出される。具体的に、下記の数式(10)のように損失関数L(θ)が算出される。
【0088】
【数11】
数式(10)において、Y
1:Tはソース文章Sに対して予め指定された正解文章を示す。一実施形態として、ソース文章Sが原文である場合にY
1:Tは、予め指定された正解翻訳文のシーケンスを示す。数式(10)のように損失関数L(θ)は最大可能度ロス(maximum likelihood loss)と加重和に定義される。数式(10)において、λは目的関数に対して指定された加重値パラメータを示す。ステップS420と同様に、ステップS440においても、損失関数L(θ)を最小化する第1復号化モデルの接続加重値が算出される。例示的に、損失関数L(θ)は、勾配下降の方式により第1復号化モデルの接続加重値θが算出され得る。
【0089】
図4A及び
図4Bを参照して説明された接続加重値が再設定される過程については、文章生成モデルのアップデート装置によって実行される。より具体的に、アップデート装置に含まれるアップデート部により各ステップS410、S420、S430、S440が実行される。
【0090】
図5は、一実施形態により文章生成モデルと評価モデルの役割を連続的な動作周期内で互いに交換する方法を説明する例示図である。
図5を参照すれば、文章生成モデルと生成されたターゲット文章に対する補償情報を生成する評価モデルが示されている。
図5には、文章生成モデルが翻訳モデルとして具現された場合について説明されているが、上記のような記載が他の実施形態の範囲を制限したり限定するものと解釈されることはない。文章生成モデルは、ソース文章に対応して指定されたターゲット文章を生成する様々な形態の言語モデルとして実現され得る。
【0091】
アップデート装置の第1動作周期で第1復号化モデル531を文章生成モデルとして用いてもよい。例示的に、第1復号化モデル531は、ターゲット文章の開始からターゲット文章の最後まで順次に復号化を行う順方向復号化モデルとして実現される。ターゲット文章である「I love you」を生成するために、第1復号化モデル531にはソース文章510の「私は貴方を愛している」の特徴値が入力される。ソース文章510を構成するそれぞれの単語(私は、貴方を、愛している)は、予め指定された符号化モデル520に入力されて特徴値が抽出される。例えば、ソース文章510から抽出された特徴値は、コンテキスト情報及び第1アテンション情報を含む。コンテキスト情報は、ソース文章510の意味情報を表現する圧縮された情報である。また、第1アテンション情報は、現在時点でターゲット文章を生成するためにソース文章510のどのような情報を確認すべきであるかを示す情報である。
【0092】
第1動作周期で、ソース文章510に関するコンテキスト情報及び第1アテンション情報が第1復号化モデル531内のノードから入力される。第1復号化モデル531内のノードは、予め指定された加重値θ1、θ2、θ3により接続される。第1復号化モデル531は、入力される特徴値に基づいてターゲット文章を生成して出力する。
【0093】
第1動作周期で、第2復号化モデル532は、生成されたターゲット文章に対する評価モデルとして用いる。例示的に、第2復号化モデル532は、ターゲット文章の終わりからターゲット文章の開始まで順次復号化を行う逆方向復号化モデルとして実現される。同様に、第2復号化モデル532にもソース文章510の「私は貴方を愛している」の特徴値が入力される。ソース文章510から抽出された特徴値は、コンテキスト情報及び第2アテンション情報を含む。
【0094】
第2復号化モデル532は、ソース文章510の特徴値及びターゲット文章が逆順に配列されたシーケンスを用いて補償情報を生成する。第1動作周期で第2復号化モデル532内のノードは、予め指定された加重値Φ1、Φ2、Φ3により接続される。第2復号化モデル532が出力する補償情報を用いて第1復号化モデル531内のノードの加重値が新しい加重値θ1’、θ2’、θ3’に再設定される。
【0095】
アップデート装置の第2動作周期では、第2復号化モデル532が文章生成モデルとして用いられ、アップデートされた第1復号化モデル533が評価モデルとして用いられる。
【0096】
本実施形態のアップデート装置は、動作周期に応じて文章生成モデルと評価モデルが互いに役割を変えながら加重値を再設定する。これによって、アップデート装置は、復号化方向(順方向又は逆方向)により良い候補単語が捨てられることを防止し、一方向に偏らない、改善された品質の文章を生成するよう文章生成モデルをアップデートすることができる。
【0097】
第2動作周期で、第2復号化モデル532は、入力されるソース文章510の特徴値に基づいてターゲット文章を生成して出力する。一方、アップデートされた第1復号化モデル533は、ソース文章510の特徴値及びターゲット文章が逆順に配列されたシーケンスを用いて補償情報を生成する。アップデートされた第1復号化モデル533は、新しく再設定された加重値θ1’、θ2’、θ3’を用いて第2復号化モデル532により新しく生成されたターゲット文章に対する補償情報を生成し得る。第1動作周期と同様に、アップデートされた第1復号化モデル533が出力する補償情報を用いて、第2復号化モデル532内のノードの加重値も新しい加重値Φ1’、Φ2’、Φ3’に再設定され得る。
【0098】
図6は、一実施形態によりN-bestアルゴリズムでターゲット文章を生成するアップデート装置を示すブロック図である。
図6を参照すれば、アップデート装置600は、N-best文章生成部610、算出部620、及びアップデート部630を含む。アップデート装置600は、N-best文章生成部610を含み、文章生成モデルをアップデートする。
【0099】
アップデート装置600は、ソース文章が入力されて第1復号化モデル641に関するアップデートされた加重値を出力する。加重値は、第1復号化モデル641に含まれるノードの接続加重値を示す。
【0100】
N-best文章生成部610は、ソース文章が入力されて複数のターゲット文章を生成する。より具体的に、N-best文章生成部610は、第1復号化モデル641が出力する最終の結果値のうち、予め設定された範囲内に存在する最終の結果値に応じて複数のターゲット文章を生成する。
【0101】
第1復号化モデル641がリカレントニューラルネットワークに具現された場合、第1復号化モデル641は、それぞれの時間段階でビームの幅内に含まれる単語の確率分布を出力する。この場合に、N-best文章生成部610は、第1復号化モデル641が出力する最終の結果値に応じてビーム幅内の単語を組み合わせ、最も高い確率順にN個のターゲット文章を生成する。算出部620は、N-best文章生成部610から伝えられる複数のターゲット文章それぞれに対する補償情報を算出する。
【0102】
また、アップデート部630は、算出された補償情報に基づいて第1復号化モデル641内のノードの加重値を再設定し、アップデートされた加重値を第1復号化モデル641に出力する。算出部620及びアップデート部630の具体的動作については、
図1、
図3A、
図3B、
図4A及び
図4Bを参照して記載された説明がそのまま適用され得るため、重複する説明は省略する。
【0103】
図7は、他の一実施形態に係るモンテカルロサーチアルゴリズムによりターゲット文章を生成するアップデート装置を示すブロック図である。
図7を参照すれば、アップデート装置700は、モンテカルロサーチ文章生成部710、算出部720、及びアップデート部730を含む。
【0104】
アップデート装置700は、それぞれの時間段階で第1復号化モデル741から出力される出力値に応じて複数のターゲット文章を生成する。より具体的に、モンテカルロサーチ文章生成部710は、第1復号化モデル741からそれぞれの時間段階から出力される出力値に対してモンテカルロサーチを適用して予め指定されたN個のターゲット文章を生成する。モンテカルロサーチは、意思決定のための体験的な探索アルゴリズムであり、検索空間内でランダム抽出に基づいた木探索を行う方式を示す。本実施形態の場合に、モンテカルロサーチ文章生成部710は、現在時間段階で第1復号化モデル741が提供する出力値に基づいて生成可能なターゲット文章を探索し、探索されたターゲット文章のうち確率の高い順にN個のターゲット文章を生成する。上記のような方式により、モンテカルロサーチ文章生成部710は、第1復号化モデル741が最終の結果値を出力する前である任意の第1時点にも複数のターゲット文章を生成することができる。
【0105】
一実施形態によれば、モンテカルロサーチ文章生成部710は、ソース文章内の単語に対応して第1復号化モデル741がそれぞれの時間段階に出力する出力値をサンプリングして予め指定された個数のターゲット文章を生成する。モンテカルロサーチ文章生成部710は、第1復号化モデル741の出力値を用いてビームの幅内の単語をサンプリングする。また、モンテカルロサーチ文章生成部710は、サンプリングされた単語を組み合わせて予め指定された個数のターゲット文章を生成する。
【0106】
また、算出部720は、第2復号化モデル742を用いて第1時点に生成された複数のターゲット文章に対する補償情報を算出する。算出部720は、複数のターゲット文章に対してリアルタイムに補償情報を算出する。また、アップデート部730は、算出された補償情報に基づいて第1復号化モデル741内のノードの加重値を再設定し、アップデートされた加重値を第1復号化モデル741に出力する。算出部720及びアップデート部730の具体的動作については、
図1、
図3A、
図3B、
図4A及び
図4Bを参照して記載された説明がそのまま適用され得るため、重複する説明は省略する。
【0107】
本実施形態に係るアップデート装置700は、第1復号化モデル741がそれぞれの時間段階で出力する出力値を用いてリアルタイムに複数のターゲット文章を生成する。それにより、アップデート装置700は、それぞれの時間段階でリアルタイムに第1復号化モデル741の加重値を再設定することができ、並列化が容易に実現され得る。
【0108】
図8Aは、更なる一実施形態によりN-bestアルゴリズム及びモンテカルロサーチアルゴリズムを共に用いてターゲット文章を生成するアップデート装置を示すブロック図である。
図8Aを参照すれば、モンテカルロサーチ文章生成部810及びN-best文章生成部820を含む文章生成モデルのアップデート装置800が示されている。アップデート装置800は、モンテカルロサーチ文章生成部810、N-best文章生成部820、算出部830、及びアップデート部840を含む。
【0109】
アップデート装置800は、第1復号化モデル851がそれぞれの時間段階で出力する出力値に応じて複数の第1ターゲット文章を生成する。複数の第1ターゲット文章は、ソース文章に含まれるそれぞれの単語に対する出力値に応じて生成された文章を示す。より具体的に、モンテカルロサーチ文章生成部810は、第1復号化モデル851からそれぞれの時間段階に出力される出力値にモンテカルロサーチを適用し、予め指定されたN個の第1ターゲット文章を生成する。モンテカルロサーチ文章生成部810がそれぞれの時間段階で第1ターゲット文章を生成する過程については、
図7を参照して記載された説明がそのまま適用され得るため、重複する説明は省略する。
【0110】
算出部830は、第2復号化モデル852を用いて第1復号化モデル851のリアルタイム出力値に対応する第1補償情報を算出する。また、アップデート部840は、算出された第1補償情報に基づいて第1復号化モデル851内の加重値を再設定し、アップデートされた加重値を第1復号化モデル851に出力する。算出部830及びアップデート部840の具体的動作については、
図1、
図3A、
図3B、
図4A及び
図4Bを参照して記載された説明がそのまま適用され得るため、重複する説明は省略する。
【0111】
本実施形態に係るアップデート装置800は、第1復号化モデル851から最終の結果値が出力されていない場合にもモンテカルロサーチを適用して第1ターゲット文章を生成し得る。それにより、アップデート装置800は、リアルタイムに第1復号化モデル851の加重値をアップデートできる。
【0112】
また、アップデート装置800は、ソース文章の全体に対応して第1復号化モデル851が出力する最終の結果値に応じて複数の第2ターゲット文章を生成する。より具体的に、N-best文章生成部820は、第1復号化モデル851が出力する最終の結果値のうち、予め設定された範囲に存在する最終の結果値に応じて複数の第2ターゲット文章を生成する。N-best文章生成部820は、第1復号化モデル851が出力する最終の結果値のうち、ビーム幅内に存在する単語を組み合わせて最も高い確率順にN個のターゲット文章を出力し得る。
【0113】
算出部830は、第2復号化モデル852を用いて第1復号化モデル851の最終の結果値による第2補償情報を算出する。また、アップデート部840は、算出された第2補償情報に基づいて第1復号化モデル851内の接続加重値を再設定し、アップデートされた接続加重値を第1復号化モデル851に出力する。本実施形態に係るアップデート装置800は、第1復号化モデル851から最終の結果値が出力された場合には、N-best文章生成部820が出力する第2ターゲット文章を用いて第1復号化モデル851の接続加重値をアップデートする。それにより、アップデート装置800は、実際の文章を生成する文章生成モデルと同じ方式による学習結果を第1復号化モデル851に接続加重値として反映し、改善された品質の文章を提供する文章生成モデルをアップデートすることができる。
【0114】
図8Bは、
図8Aを参照して説明されたアップデート装置がN-bestアルゴリズム及びモンテカルロサーチアルゴリズムを共に用いてターゲット文章を生成する過程を具体的に説明するフローチャートである。
図8Bを参照すれば、N-bestアルゴリズム及びモンテカルロサーチアルゴリズムを共に用いてターゲット文章を生成する方法は、ソース文章の一部に対応して第1復号化モデルが出力する出力値に応じて複数の第1ターゲット文章を生成するステップS861、第2復号化モデルを用いて複数の第1ターゲット文章に対する第1補償情報を算出して第1復号化モデルの加重値をアップデートするステップS862、ソース文章の全体に対応する第1復号化モデルの最終の結果値が出力されたかを確認するステップS863、ソース文章の全体に対応して第1復号化モデルが出力する最終の結果値に応じて複数の第2ターゲット文章を生成するステップS864、及び第2復号化モデルを用いて複数の第2ターゲット文章に対する第2補償情報を算出して第1復号化モデルの加重値をアップデートするステップS865を含む。
【0115】
ステップS861において、ソース文章の一部に対応して第1復号化モデルが出力する中間出力値に応じて複数の第1ターゲット文章が生成される。例示的に、ステップS861では、モンテカルロサーチ文章生成部によって複数の第1ターゲット文章が生成される。
【0116】
ステップS862において、第2復号化モデルを用いて複数の第1ターゲット文章に対する第1補償情報が算出される。また、算出された第1補償情報に基づいて第1復号化モデルの加重値がアップデートされる。
【0117】
ステップS863において、ソース文章の全体に対応する第1復号化モデルの最終の結果値が出力されたかを確認する。ソース文章の全体に対応する第1復号化モデルの最終の結果値が出力された場合にステップS864が実行される。一方、ソース文章の全体に対応する第1復号化モデルの最終の結果値がまだ出力されていなければ、ステップS861が反復される。ステップS861からステップS863までは、ソース文章の全体に対応する第1復号化モデルの最終の結果値が出力されるまで反復される。
【0118】
ステップS864において、ソース文章の全体に対応して第1復号化モデルが出力する最終の結果値に応じて複数の第2ターゲット文章が生成される。例示的に、ステップS864では、N-best文章生成部によって複数の第2ターゲット文章が生成される。
【0119】
ステップS865において、第2復号化モデルを用いて複数の第2ターゲット文章に対する第2補償情報が算出される。また、第2補償情報に基づいて第2復号化モデルの接続加重値がアップデートされる。本実施形態に係る文章生成モデルのアップデート方法は、第1復号化モデルの最終の結果値が出力される前にはモンテカルロサーチ文章生成部に基づいて接続加重値をアップデートし、最終の結果値が生成されれば、N-best文章生成部に基づいて接続加重値をアップデートする。それにより、アップデート方法は、リアルタイムに第1復号化モデルの接続加重値をアップデートし、それと共に最終的には学習方法と復号化方法とを一致させてターゲット文章が生成される正確度を高めることも可能である。
【0120】
図9は、他の一実施形態によりターゲット文章に対する補償情報を算出する方法を示す例示図である。
図9を参照すれば、他の一実施形態に係る評価モデルが示されている。より具体的に、
図9には文章生成モデルと生成されたターゲット文章に対する補償情報を生成する評価モデルが示されている。
図9では、説明の便宜のために文章生成モデルが翻訳モデルである場合について説明されたが、上記のような記載が他の実施形態の範囲を制限したり限定するものと解釈されることはない。文章生成モデルは、与えられたソース文章に対応して指定されたターゲット文章を生成する様々な形態の言語モデルとして実現され得る。
【0121】
アップデート装置は、第1復号化モデル931を文章生成モデルとして用いる。例示的に、第1復号化モデル931は、ターゲット文章の開始からターゲット文章の最後まで順次復号化を行う順方向復号化モデルとして実現される。より具体的に、ターゲット文章である「I love you」を生成するために第1復号化モデル931には、ソース文章910の「私は貴方を愛している」の特徴値が入力される。ソース文章910を構成するそれぞれの単語(私は、貴方を、愛している)は、予め指定された符号化モデル920に入力されて特徴値が抽出される。例えば、ソース文章910から抽出された特徴値は、コンテキスト情報及び第1アテンション情報を含む。コンテキスト情報及び第1アテンション情報については、
図5を参照して記載された説明がそのまま適用され得るため、重複する説明は省略する。
【0122】
ソース文章910に関するコンテキスト情報及び第1アテンション情報が第1復号化モデル931内のノードから入力される。第1復号化モデル931内のノードは、予め指定された接続加重値θ1、θ2、θ3により接続される。第1復号化モデル931は、入力されるソース文章910に関する特徴値に基づいてターゲット文章を生成して出力する。
【0123】
第2復号化モデル932は、生成されたターゲット文章に対する評価モデルとして用いられる。例示的に、第2復号化モデル932は、ターゲット文章の開始文字からターゲット文章の最後文字までそれぞれの文字を予測し、順に復号化を行う文字基盤の復号化モデルとして実現される。同様に、第2復号化モデル932にもソース文章910の「私は貴方を愛している」の特徴値が入力される。ソース文章910から抽出された特徴値は、コンテキスト情報及び第2アテンション情報を含む。第2復号化モデル932内のノードは、予め指定された加重値Φ1ないしΦ8により接続される。第2復号化モデル932は、ソース文章510の特徴値及びターゲット文章に含まれるそれぞれの文字が生成される確率に基づいて補償情報を生成する。第2復号化モデル932が出力する補償情報を用いて第1復号化モデル931内のノードの接続加重値が新しく再設定される。
【0124】
本実施形態に係るアップデート装置は、文章生成モデルを評価する評価モデルから様々な形態の復号化モデルを用いることができる。それにより、アップデート装置は、文章生成モデルがいずれか一方向に偏って学習されることが防止される。
【0125】
図10は、一実施形態に係る文章生成装置を示すブロック図である。
図10を参照すれば、文章生成装置1000は、生成部1010、算出部1020、及びアップデート部1030を含む。本実施形態に係る文章生成装置1000は、ユーザが入力するソース文章に対応してターゲット文章を出力する装置を示す。文章生成装置1000は、モバイルフォン、セルラーフォン、スマートフォン、パーソナルコンピュータ、ラップトップ、ノート型パソコン、ネットブック又はタブレット、携帯情報端末(personal digital assistant;PDA)、デジタルカメラ、ゲームコンソール、MP3プレーヤー、パーソナルマルチメディアプレーヤー(personal multimedia player;PMP)、電子ブック(E-Book)、ナビゲーション、ディスクプレーヤー、セットトップボックス、家庭用電子機器、通信装置、ディスプレイ装置、又は、他の電子機器に内蔵されたり又はこれに相互動作する。また、文章生成装置1000は、スマート家電機器、知能型車両、自律走行装置、スマートホーム環境、スマートビルディング環境、スマートオフィス環境、スマート電子セキュリティーシステムなどに内蔵されたり、又はこれに相互動作する。また、文章生成装置1000は、ユーザの体に着用されるウェアラブル機器に含まれて動作したり、これと相互動作する。ウェアラブル機器は、例えば、指輪、時計、メガネ、腕輪、ベルト、バンド、ネックレス、イヤリング、ヘルメット又は服の形態を有する。
【0126】
生成部1010は、第1復号化モデルを用いてソース文章に対するターゲット文章を生成する。第1復号化モデルは、予め指定されたリザーバ1050に格納された言語モデルを示す。一実施形態として、予め指定されたリザーバ1050には、文章生成装置1000内に存在するメモリ領域を用いてもよい。他の一実施形態として、予め指定されたリザーバ1050には、文章生成装置1000とインタフェースを介して接続される外部メモリ装置を用いてもよい。予め指定されたリザーバ1050には複数の復号化モデルが格納され、複数の復号化モデルは、リカレントニューラルネットワークを含む順方向復号化モデル、逆方向復号化モデル、文字基盤の復号化モデルなどのような様々な形態の言語モデルを含む。それぞれの復号化モデルは、リカレントニューラルネットワーク又は他のタイプのニューラルネットワークを含む。生成部1010は、予め指定されたリザーバで1050から第1復号化モデルを選択し、選択された第1復号化モデルを用いてソース文章に対するターゲット文章を生成する。
【0127】
一実施形態として、生成部1010は、ソース文章に対応して第1復号化モデルが出力する最終の結果値のうち、予め設定された範囲内に存在する最終の結果値に応じて複数のターゲット文章を生成する。
【0128】
算出部1020は、第2復号化モデルを用いてターゲット文章に対する補償情報を算出する。同様に、算出部1020も予め指定されたリザーバ1050から第2復号化モデルを選択し、選択された第2復号化モデルを用いてターゲット文章に対する補償情報を算出する。
【0129】
一実施形態として、算出部1020によって逆方向復号化モデルが選択された場合、算出部1020は、ターゲット文章に含まれる複数の単語がターゲット文章と異なる順に配列された単語シーケンスを用いて補償情報を算出する。算出部1020は、ソース文章及び逆方向復号化モデルから以前時間に出力された第1単語を用いて、逆方向復号化モデルから現在時間に第2単語が生成される確率を算出して補償情報を算出し得る。
【0130】
他の一実施形態として、算出部1020によって文字基盤復号化モデルが選択された場合、算出部1020は、ターゲット文章に含まれる複数の単語をそれぞれの文字に分離した単語シーケンスを用いて補償情報を算出する。算出部1020は、ソース文章及び文字基盤復号化モデルから以前時間に出力された第1文字を用いて、文字基盤復号化モデルから現在時間に第2文字が生成される確率を算出して補償情報を算出する。
【0131】
他の一実施形態として、生成部1010は、ソース文章内の単語に対応して第1復号化モデルから第1時点に出力される出力値に応じて複数のターゲット文章を生成する。この場合に、算出部1020は、第2復号化モデルを用いて第1時点に生成された複数のターゲット文章に対する補償情報を算出する。
【0132】
更なる一実施形態として、生成部1010は、ソース文章に含まれるそれぞれの単語に対応して第1復号化モデルが出力する出力値に応じて複数の第1ターゲット文章を生成し、ソース文章の全体に対応して第1復号化モデルが出力する最終の結果値のうち、予め設定された範囲内に存在する最終の結果値に応じて複数の第2ターゲット文章を生成する。この場合に、算出部1020は、第2復号化モデルを用いて複数の第1ターゲット文章に対する第1補償情報及び複数の第2ターゲット文章に対する第2補償情報を算出する。アップデート部1030は、算出された補償情報に基づいて第1復号化モデル内のノードの接続加重値を再設定する。
【0133】
更なる一実施形態として、生成部1010は、第2復号化モデルを用いてソース文章に対する新しいターゲット文章を生成し、算出部1020は、第1復号化モデルを用いて新しいターゲット文章に対する補償情報を算出し、アップデート部1030は、算出された補償情報に基づいて第2復号化モデル内のノードの接続加重値を再設定する。
【0134】
本実施形態に係る文章生成装置1000は、予め格納された複数の復号化モデルを評価モデルとして用いて文章生成モデルを自らアップデートし得る。文章生成装置1000は、予め指定された周期に応じて自分が保有している復号化モデルの性能を評価し、周期的に復号化モデルの接続加重値を再設定してより正確な文章が生成されるよう性能を維持することができる。
【0135】
図11は、本実施形態に係る電子装置を示すブロック図である。
図11を参照すれば、電子装置1100は、発話入力部1110、発話認識部1120、及び翻訳部1130を含む。例えば、発話入力部1110はマイクを含んだり、ユーザインタフェース1140のマイクに応答して、又は接続されて動作したり、又は、ユーザインタフェース1140の一部として実現される。発話入力部1110は、追加的又は代替的にカメラ又はテキスト情報のキャプチャーされたイメージデータを格納するメモリを含み得る。一実施形態によれば、発話認識部1120は、少なくとも1つのプロセッサを含む。発話認識部1120に対する具体的な説明は、当業者に自明な事項であるから省略する。
【0136】
発話入力部1110は、マイクを介して入力されるユーザの音声信号を受信する。一実施形態によれば、ユーザの音声信号はテレビセットを制御したり、自動車を運行したり、知能型機器とコミュニケーションするための命令や他の言語に翻訳されるための文章に関する。
【0137】
したがって、発話認識部1120の少なくとも1つの音声及び/又は言語モデルは、互いに異なる言語に対して訓練されて用いられる。例えば、発話認識部1120は、ユーザから発話入力部1110に入力された音声信号をアナログ音声信号からデジタル信号に変換させてもよい。また、発話認識部1120は、1つの信号を複数の音声フレームに分離させてもよい。発話認識部1120は、ユーザの発話を認識することで、文字に形成された発話認識の結果を出力し得る。
【0138】
翻訳部1130は、
図1に示すアップデート装置100、
図6に示すアップデート装置600、
図7に示すアップデート装置700、
図8に示すアップデート装置800、又は
図10に示す文章生成装置1000に対応する。翻訳部1130は、文章生成モデルをアップデートする過程で先に説明したステップを行ってもよい。さらに、翻訳部1130は、
図3Aを参照して説明された補償情報算出動作、
図3Bを参照して説明されたポリシー情報算出動作、
図4A及び
図4Bを参照して説明された接続加重値再設定動作、及び
図8Bを参照して説明されたターゲット文章生成及び復号化モデルアップデート動作を行ってもよい。
【0139】
また、翻訳部1130は、ソース文章の翻訳文章を生成し、翻訳文章を出力したり翻訳結果に応答してユーザの所望する動作やクエリに対する返答を直接的又は間接的に出力することで翻訳結果を表示する。例えば、翻訳部1130は、ユーザインタフェース1140のスピーカを介してユーザの発話入力に対する認識結果を出力する。また、翻訳部1130は、ユーザインタフェース1140のディスプレイに出力される文字状態に認識結果を出力してもよい。加えて、翻訳部1130は、電子装置1100に関して関連命令(ex.電源オン/オフ、ボリューム調整など)を行ってもよい。さらに、翻訳部1130は、電子装置1110にインストールされたアプリケーションを実行し、ユーザの所望するウェブサイトでウェブブラウザを動作させ、翻訳されたクエリの結果を提供してもよい。したがって、翻訳部1130は、発話認識の結果を他の言語に翻訳し、音声又は文章形態に翻訳された結果を出力する。上記で記載された翻訳部1130に対する説明は、理解を助けるための例示的な記載に過ぎず、他の実施形態を制限したり限定するものと解釈されることはない。
【0140】
電子装置1100は、モバイル端末及び/又はウェアラブル機器であり得る。上記のようなモバイル端末又はウェアラブル機器は、マイク、ディスプレイ、タッチスクリーン、ボタン、スピーカ、振動モータ、カメラのようにユーザインタフェース1140内にユーザの入出力ハードウェアを含み、電子装置1100内の少なくとも1つのプロセッサに接続される通信バス、メモリ1160のようなメモリを含む。
図1~10を参照して記載された例示及び過程は、キーボードやテキスト/命令が入力されるディスプレイ領域を含まないウェアラブル装置にも適用され得る。
【0141】
加えて、メモリ1160は、発話認識部1120で用いられる少なくとも1つの音声及び/又は言語モデル、翻訳部1130によって利用され、アップデートされる少なくとも1つの復号化モデルを格納するよう用いてもよい。また、音声及び/又は言語モデルと復号化モデルは遠隔に格納され、翻訳部1140は、このようなモデルの情報を送信し、通信部1150を介してこのようなモデルの情報を受信してもよい。
【0142】
したがって、制限しない例示として、上記で説明された電子装置1100は、携帯電話、スマートフォンのようなモバイル機器、ウェアラブルスマート機器(ex.リング、時計、メガネ、ヘルスケア機器、腕輪、アンクレット、ベルト、ネックレス、イヤリング、ヘアーバンド、ヘルメット、又は服に埋め込まれた機器など)、移動式パーソナルコンピュータ(PC)(ex.ラップトップコンピュータ、ノート型パソコン、サブノート型パソコン、ネットブック、又は、ウルトラ-モバイルPC(UMPC)、タブレットPC、ファブレット(phablet)など)のように無線ネットワーク又は有線ネットワークに接続される移動式又は固定型機器として実現される。他の一実施形態として、ウェアラブル機器は、ユーザの体に直接取付けたり、付着型装置を介してマウントされる機器として実現され得る。
【0143】
以上述した実施形態は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組合せで具現される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPA(field programmable array)、PLU(programmable logic unit)、マイクロプロセッサー、又は命令(instruction)を実行して応答する異なる装置のように、1つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現される。処理装置は、オペレーティングシステム(OS)及びオペレーティングシステム上で実行される1つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成する。理解の便宜のために、処理装置は1つが使用されるものとして説明する場合もあるが、当技術分野で通常の知識を有する者は、処理装置が複数の処理要素(processing element)及び/又は複数類型の処理要素を含むことが分かる。例えば、処理装置は、複数のプロセッサ又は1つのプロセッサ及び1つのコントローラを含む。また、並列プロセッサ(parallel processor)のような、他の処理構成も可能である。
【0144】
ソフトウェアは、コンピュータプログラム、コード、命令、又はこのうちの1つ以上の組合せを含み、希望通りに動作するように処理装置を構成し、独立的又は結合的に処理装置に命令する。ソフトウェア及び/又はデータは、処理装置によって解釈され、処理装置に命令又はデータを提供するためのあらゆる類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、或いは送信される信号波を介して永久的又は一時的に具現化される。ソフトウェアは、ネットワークに連結されたコンピュータシステム上に分散され、分散された方法で格納されるか又は実行される。ソフトウェア及びデータは1つ以上のコンピュータ読み取り可能な記録媒体に格納される。
【0145】
本実施形態による方法は、様々なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD-ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気-光媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明に示す動作を実行するために1つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【0146】
上述したように実施形態をたとえ限定された図面によって説明したが、当技術分野で通常の知識を有する者であれば、に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順序で実行されたり、及び/又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組み合わせられたり、他の構成要素又は均等物によって置き換えたり置換されても適切な結果を達成することができる。