以下、本開示実施例における図面を参照して、本開示実施例の技術案について明確に、かつ全面的に説明する。記載される実施例が本開示の一部の実施例において、全部の実施例ではないことは明らかである。本開示における実施例に基づいて、当業者が創造的な労働をせずに取得したすべての他の実施例は、本開示の保護範囲に含まれる。
特に定義されない限り、ここで使用される技術的用語又は科学的用語は当業者が理解する通常の意味である。本願で使用される「第一」、「第二」及びそれに類似する単語は何らかの順序、数又は重要性を示すわけではなく、単に異なる構成部分を区別するためのものである。同様に、「含む」や「含まれる」等、それに類似する単語は、当該単語の前に現れる部品或いはものは、当該単語の後に挙げられる部品或いはもの、及びその均等物を含むことを指し、他の部品或いはものを排除しない。「接続する」や「互いに接続する」等、それに類似する単語は、物理的或いは機械的な接続に限定されず、直接的か間接的かを問わず、電気的接続をも含む。「上」、「下」、「左」、「右」等は、単に相対的な位置関係を示すために用いられ、説明対象の絶対的な位置が変わった後、当該相対的な位置もそれに応じて変更される可能性がある。
以下、テキスト要約の生成を例として本開示の原理について説明する。しかしながら、本開示の原理から逸脱しない限り、本開示によって提供される方法は、例えば、テキスト変換プロセス、機械翻訳プロセス等、他のテキスト処理プロセスに適用されてもよいことは、当業者が理解しうる。
図1は、本開示にかかるテキスト処理装置の概略的なブロック図を示している。図1に示すように、テキスト処理装置100は、符号化部110と、復号化部120と、アテンション生成部130と、出力部140と、を含んでもよい。テキスト処理装置100は、ソーステキストIに対してテキスト処理を行って、対応するテキスト処理結果を生成することができる。例えば、テキスト処理装置100を利用してソーステキストI用の要約を生成してもよい。ソーステキストIは、少なくとも1つの文を含んでもよく、各文は少なくとも1つの単語を含む。
本開示によって提供されるテキスト処理装置100は、外部情報を受信し、外部情報に基づいてソーステキストに対するテキスト処理プロセスを実行することができる。一部の実施例において、外部情報とは、予め定義された、ソーステキストの処理結果として期待されるテキスト情報を指す。一部の例において、外部情報は、ソーステキストにおける少なくとも1つの単語又は文である。他の一部の例において、外部情報は、ソーステキストにおける、所定位置の単語又は文であり、例えば、ソーステキストの先頭の文、最後の文、又は任意の他の指定位置のテキスト情報である。また他の一部の例において、外部情報はソーステキストに関連付けられる追加テキストである。例えば、ソーステキストのタイトルである。ある実現形態において、外部情報は、ユーザの入力に基づいて決定される追加テキストであってもよい。本願はここで外部情報の決定方法について限定しない。実際には、テキスト処理プロセスに使用する外部情報をいかなる可能な方法で決定してもよい。
テキスト処理装置100を利用してソーステキストを処理する場合、テキスト処理の各段階で外部情報を考慮することで、外部情報がテキスト処理結果に表れる確率を高めることができる。例えば、ソーステキストにおける文章のタイトルが外部情報として決定された場合、本願によって提供されるテキスト処理装置100から出力されるソーステキストの要約に、文章タイトルにおける単語及び/又は文が必ず現れるか又は現れる可能性が極めて高い。
コンピュータでテキスト処理方法を実行する場合、コンピュータは、往々にしてテキストデータを直接に処理できないため、ソーステキスト及び/又は外部情報を処理するとき、まずソーステキストを数値データに変換する必要がある。
一部の実施例において、ソーステキストIは自然言語の形で実装される。この場合、テキスト処理装置100は、前処理部(図示せず)をさらに含んでもよい。前処理部は、ソーステキストが符号化部に入力される前にソーステキストを数値データに変換するために用いられてもよい。例えば、ソーステキストIにおける各文に対して単語分割処理を実行することで、各文を複数の単語に分割してもよい。その後、例えば、単語埋め込み(word embedding)の方法で単語分割処理によって得られた複数の単語をそれぞれ特定次元の単語ベクトルに変換してもよい。
同様に、外部情報に対応する少なくとも1つの単語ベクトルを取得してその後のテキスト処理に用いるために、外部情報を変換してもよい。
一部の実施例において、本開示にかかるソーステキストIは、数値データの形で実現されてもよく、例えば、少なくとも1つの単語ベクトルでソーステキストIを示してもよい。この場合、符号化部110でソーステキストIを直接処理してもよい。テキスト処理装置100から独立して設けられる前処理装置で自然言語に対して前処理を行ってもよい。
以下は、外部情報とソーステキストとが自然言語の形であるか、又は数値データの形であるかを区別せず、コンピュータを利用して自然言語の形の外部情報及び/又はソーステキストを処理する必要がある場合、当業者は、必要に応じて自然言語の形の外部情報及び/又はソーステキストを数値データに変換してもよい。
符号化部110は、ソーステキスト符号化非表示状態hを取得するために、処理対象であるソーステキストIを符号化するように構成されてもよい。
一部の実施例において、符号化部110は符号化ネットワークとして実装されてもよい。例示的な符号化ネットワークは、長・短期記憶(LSTM)ネットワークを含み、LSTMネットワークシステムは、例えば、機械翻訳、テキスト要約生成等のタスクに適用されてもよい。なお、符号化ネットワークは、単語ベクトルを符号化可能ないかなる機械学習モデルとして実装されてもよい。
例えば、ソーステキストIに対応する少なくとも1つの単語ベクトルを入力とする場合、符号化部は、各単語ベクトルx1、x2、x3…にそれぞれ対応するソーステキスト符号化非表示状態h1、h2、h3…を出力してもよい。ソーステキスト符号化非表示状態の数とソーステキストの単語ベクトルの数は同じであってもよいし、異なってもよい。例えば、ソーステキストIに基づいてk個の単語ベクトルを生成する場合、符号化部は、k個の対応するソーステキスト符号化非表示状態を生成するために、これらk個の単語ベクトルを処理してもよい。kは1より大きい整数である。
復号化部120は、復号化非表示状態sを決定するために用いられてもよい。一部の実施例において、復号化部120は、現在タイムステップの復号化非表示状態stを取得するために、直前のタイムステップt−1の復号化非表示状態st−1、及び直前のタイムステップでテキスト処理装置が取得した出力単語xtを受信し、st−1とxtとを処理してもよい。先頭のタイムステップの処理において、s0及びx1がデフォルトの初期値として決定されてもよい。復号化非表示状態sはソーステキストIに対応する複数の復号化非表示状態s1、s2、s3…を含んでもよい。
一部の実施例において、復号化部120は、復号化ネットワークとして実装されてもよい。例示的な復号化ネットワークは長・短期記憶ネットワークを含む。なお、復号化ネットワークは、符号化ネットワークの出力を復号化可能ないかなる機械学習モデルとして実装されてもよい。
一部の実施例において、前期符号化ネットワーク及び復号化ネットワークは、シーケンス・ツー・シーケンスモデル(Sequence to Sequence, Seq2Seq)で示すことができ、1つの入力系列、(例えば、入力テキストとしての)例えば「WXYZ」をもう1つの出力系列、(例えば、テキスト要約としての)例えば「AXY」に変換することを実現するために用いられてもよい。
アテンション生成部130は、前記ソーステキスト符号化非表示状態hと前記復号化非表示状態sとに基づいてアテンション分布Aを決定し、現在タイムステップの後続のテキスト処理プロセスのためのアテンション分布Aを出力するように構成されてもよい。
一部の実施例において、現在タイムステップtのアテンション分布Atは、ソーステキストの符号化アテンション分布であってもよい。
一部の実装形態において、各タイムステップ(time step)tで現在タイムステップのソーステキスト符号化非表示状態h
tと復号化非表示状態s
tとを利用して現在タイムステップのソーステキストの符号化アテンション分布a
tを決定してよい。例えば、式(1)、(2)を利用してソーステキストの符号化アテンション分布a
tを決定してもよい。
tは現在タイムステップを示し、softmaxは正規化指数関数を示し、e
tは式(2)によって下記のように決定される。
iは単語ベクトルのインデクス番号であり、h
iは第i個の単語ベクトルに対応するソーステキスト符号化非表示状態であり、v
T、W
h、W
S、b
attnはトレーニング対象である学習パラメータであり、hは現在タイムステップのソーステキスト符号化非表示状態であり、s
tは現在タイムステップの復号化非表示状態である。
他の一部の実施例において、アテンション生成部130は、外部情報及び式(1)によって決定されるソーステキストのアテンション分布atに基づいて、外部情報を含む現在タイムステップのアテンション分布Atを決定し、後続の各部の処理プロセスのための、外部情報を含むアテンション分布Atを出力してもよい。
一部の実装形態において、外部情報を含む現在タイムステップのアテンション分布Atは、外部情報を利用してソーステキストのアテンション分布atを調整した後に決定されるものであってもよい。
他の一部の実施方法において、外部情報を含む現在タイムステップのアテンション分布Atは、ソーステキストのアテンション分布atと外部情報のアテンション分布a’tの双方を含んでもよい。
以下、図3A、図3B及び図4を参照して外部情報を含むアテンション分布Atの決定プロセスについて説明するため、ここでは詳しく説明しない。
出力部140は、現在タイムステップの出力単語Oを決定するために、前記アテンション分布A、前記ソーステキスト符号化非表示状態h、前記復号化非表示状態sに基づいて出力単語確率分布を決定するように構成されてもよい。
出力単語確率分布は、生成確率分布P
vocabを含んでもよい。式(3)及び式(4)によって生成確率分布P
vocabを決定してもよい。
V’、V、b、b’は、出力部におけるトレーニング対象である学習パラメータであり、h
t *はアテンション分布a
tに基づいて決定したコンテキストベクトルである。例えば、式(4)によってh
t *を決定してもよい。
A
i tはアテンション生成部から出力されるアテンション分布Atにおける第i個要素であり、h
iは第i個の単語ベクトルのソーステキスト符号化非表示状態である。
一部の実施例において、出力単語確率分布はアテンション生成部130から出力されるアテンション分布Atを含んでもよい。
例えば、前記生成確率分布と前記アテンション分布Aとを重み付け加算することで出力単語確率分布を決定してもよい。
一部の実装形態において、現在タイムステップのソーステキスト符号化非表示状態、復号化非表示状態、アテンション分布及び現在タイムステップの復号化部の入力xtに基づいて生成確率分布及びアテンション分布用の重み係数Pgenを決定してもよい。
例えば、前記生成確率分布及び前記アテンション分布に対して重み付け加算を行うための重み係数P
genは、式(5)によって示されてもよい。
σは、例えばsigmoid関数のような活性化関数を示し、w
h T、w
s T、w
x T及びb
ptrは、トレーニングパラメータであり、h
t *はタイムステップtで式(4)によって決定されるパラメータであり、s
tはタイムステップtの復号化非表示状態であり、x
tはタイムステップtの復号化部の入力であり、即ち直前のタイムステップt−1の出力部の出力である。式(5)によって決定される重み係数P
genは、スカラーの形によって実装されてもよい。重み係数P
genを利用して生成確率分布P
vocabとアテンション分布A
tとに対して加重平均を行うことで出力単語確率分布を取得することができる。
アテンション分布Atにソーステキストのアテンション分布atと外部情報のアテンション分布a’tの双方が含まれる場合、ソーステキストのアテンション分布atと外部情報のアテンション分布a’tとの重み係数パラメータは同じであってもよく、異なってもよい。以下、図4を参照して、生成確率分布Pvocab、ソーステキストのアテンション分布at及び外部情報のアテンション分布a’tの重み係数パラメータをそれぞれ決定する方法について説明するため、ここでは詳しく説明しない。
一部の実施例において、出力部140は、出力単語確率分布における確率の最も高い単語を現在タイムステップの出力単語に決定してもよい。
他の一部の実施例において、出力部140は、外部情報に基づいて単語確率分布を決定して出力し、現在タイムステップの出力単語を決定してもよい。
一部の実装形態において、出力部140は、前記外部情報に基づいて、前記候補出力単語のうち、確率が出力確率閾値以上でありかつ前記外部情報に属する単語を現在タイムステップの候補出力単語として決定する。一部の例において、出力部140は、ビームサーチの原則を利用して前記候補出力単語を決定してもよい。
例えば、出力部140は、各タイムステップで少なくとも2つの単語を現在タイムステップの候補出力単語として決定し、その後、候補出力単語を次のタイムステップのテキスト処理プロセスにおいて使用するようにしてもよい。同様に、次のタイムステップにおいても出力部140は少なくとも2つの候補出力単語を決定してもよい。
具体的には、候補出力単語の数が2であることを例として、タイムステップtで2つの候補出力単語a、bを出力することができる。その後、候補出力単語a、bを次のタイムステップのテキスト処理プロセスに使用し、タイムステップt+1の候補出力単語c、dを決定することができる。
図2A及び図2Bでは、本願の実施例にかかる出力確率分布に基づいて候補出力単語を決定する例示的な実施例を示している。
一部の実施例において、各タイムステップの候補出力単語を決定する場合、出力確率分布における出力確率の最も高い所定数のM個(上記の例では、Mは2である)の単語を候補出力単語として決定する。Mは2以上の整数である。
図2Aに示している出力単語確率分布で出力確率の最も高い2つの単語はw3とw11であり、そのためw3とw11を候補出力単語として決定する。
他の一部の実施例において、各タイムステップの候補出力単語を決定する場合、事前定義の方法で出力確率分布における出力確率の最も高いN個の単語を選出して決定し、これらN個の単語のうちM個の単語を候補出力単語として決定する。NはMより大きい整数である。一部の実装形態において、事前にNの数値を特定してもよい。
他の一部の実施方法において、事前に出力確率閾値を決定し、かつ出力確率が前記出力確率閾値より大きいN個の単語のうちM個の単語を候補出力単語として決定してもよい。
出力確率の最も高いN個の単語のうち外部情報に属する単語が存在しない場合、これらのN個の単語のうち出力確率の最も高いM個の単語を候補出力単語として決定してもよい。
出力確率の最も高いN個の単語のうち外部情報に属する単語が存在する場合、これらのN個の単語に存在する、外部情報に属する単語数nがM以上であれば、これらのN個の単語のうち出力確率の最も高くかつ外部情報に属するM個の単語を候補出力単語として決定し、N個の単語に存在する、外部情報に属する単語数nが所定数Mより小さいであれば、N個の単語のうち外部情報に属する単語、及び残りのN−n個の単語のうち出力確率の最も高いM−n個の単語を候補出力単語として決定する。
図2Bに示すように、出力単語確率分布における最も高い2個の単語はw3とw11であり、出力確率が予め設定した出力確率閾値より大きい単語にはw3、w7及びw11が含まれ、w2とw7は、外部情報に属する。
この場合、w7が外部情報に属しかつw7の出力確率が出力確率閾値より大きいため、出力確率がより高いw3を選択するのではなく、w7とw11を候補出力単語として選択する。
このような方法で外部情報における単語が出力単語として決定される確率を高めることができる。
タイムステップtに出力した候補出力単語a、bとタイムステップt+1の候補出力単語c、dとを利用して少なくとも4個の出力候補系列ac、ad、bc、bdを決定でき、同時確率の方法で各出力候補系列の出力確率を決定し、4個の出力系列ac、ad、bc、bd候補のうち出力確率の最も高い2つをタイムステップt+1の後の候補テキストとして決定する。
例えば、候補出力単語a、b、c、dの出力確率はそれぞれPa、Pb、Pc及びPdで示すことができる。出力候補系列ac、ad、bc、bdはそれぞれPac=Pa*Pc、Pad=Pa*Pd、Pbc=Pb*Pc、及びPbd=Pb*Pdで示すことができる。Pac>Pad>Pbc>Pbdである場合、タイムステップt+1で出力系列ac、adを後続のテキスト処理に使用する。
一部の実施例において、さらに外部情報に基づいて出力候補系列を決定してもよい。例えば、式(6)を利用して出力候補系列のペナルティ値を決定できる。式(6)によって決定されるペナルティ値は、出力候補系列の同時出力確率を調整することができる。
一実装形態において、いかなる可能なテキスト類似度アルゴリズムでタイムステップtの前に生成した候補テキスト系列と外部情報との間の類似度を決定してもよい。例えば、コサイン類似度の方法を使用してタイムステップtの前に生成した候補テキスト系列と外部情報との間の類似度を決定することができる。
上記式(6)を利用して、タイムステップtの前に生成された候補テキスト系列と外部情報との間の類似度が高いほど、ペナルティ値は、出力候補系列の出力確率を増やすために用いられる。一部の実装形態において、ペナルティ値s(x,y)と出力候補系列における出力確率とを乗算又は加算し、タイムステップtの前に生成された候補テキスト系列と外部情報との間の類似度に基づいて出力候補系列を決定する効果を実現することができる。
即ち、外部情報に基づいて上記出力候補系列に使用されるペナルティ値を決定することにより、外部情報が候補テキスト系列に現れる確率を高めることができる。それによって、外部情報が最終的に出力されるテキスト処理結果に表れる確率を高めることができる。
他の実装形態において、前記出力部は、さらに外部情報と前記ソーステキスト符号化非表示状態との間の類似度を決定し、外部情報と前記ソーステキスト符号化非表示状態との間の類似度に基づいて現在タイムステップで出力しようとする単語を決定するように構成されてもよい。
例えば、符号化部110を利用して前記外部情報を符号化して、外部情報符号化非表示状態を取得するようにしてもよい。
出力部140は、前記外部情報符号化非表示状態と前記復号化非表示状態の類似度を決定するように構成されてもよい。外部情報符号化非表示状態と前記復号化非表示状態の類似度が事前定義された類似度閾値以上である場合、前記出力部は、前記外部情報を出力して現在タイムステップの出力とする。
前記外部情報が単語である場合、前記外部情報を現在タイムステップの単語として出力してもよい。前記外部情報が文である場合、前記外部情報を直接現在タイムステップtの前に生成されたテキスト系列の後に挿入してもよい。
なお、現在タイムステップtの前に既に生成されたテキスト系列は、前記出力確率分布における確率の最も高い単語に基づいて生成されてもよく、出力確率分布における確率の最も高いいくつかの候補出力単語に基づいて生成されてもよい。前記実装方法で説明したプロセスを採用して候補出力単語を決定してもよく、ここでは、詳しく説明しない。
外部情報符号化非表示状態と前記復号化非表示状態との類似度が事前定義の類似度閾値より小さい場合、前記出力部は復号化部及びアテンション生成部から出力される結果に基づいて現在タイムステップの出力単語確率分布を決定し、現在タイムステップの出力単語確率分布に基づいて現在タイムステップの出力単語を決定する。
上記方法を利用して、復号化部から出力される結果と外部情報との間の類似度が比較的高い場合、直接外部情報で復号化部から出力される結果を置き換えてもよい。即ち、この場合、現在タイムステップの出力後に決定したテキスト系列の結果は直前のタイムステップの出力後に決定したテキスト系列の後に外部情報を挿入して得られた結果である。
その後、次のタイムステップの処理を行う場合、復号化部を利用して外部情報を符号化して次のタイムステップの復号化非表示状態を得て、後続の復号化プロセスが外部情報の結果を利用できるようにすることで、後の復号化で得られた結果と挿入した外部情報との間のセマンティック一貫性を保証することができる。
外部情報が単語である場合、直前のタイムステップの復号化非表示状態と外部情報を利用して復号化部の入力として処理を行い、現在タイムステップの復号化非表示状態を取得することができる。
外部情報に複数の単語を含む場合、復号化部で数回のループ処理を行う。第1個目のループにおける復号化部の入力は直前のタイムステップの復号化非表示状態と外部情報の第1個目の単語であり、その後のループにおける復号化部の入力は前回ループで得られた復号化非表示状態と外部情報の次の単語である。数回のループにより外部情報における単語毎に処理することができ、全ての外部情報を含む復号化非表示状態を取得して現在タイムステップの復号化非表示状態とする。
一部の実装形態において、既に外部情報で復号化部から出力される結果を置き換えてテキスト処理結果に挿入した後は、上記外部情報符号化非表示状態と前記復号化非表示状態との類似度比較を実行しない。
一部の例において、上記類似度閾値は所定のタイムステップtに関する関数によって実装されてもよい。
前述したように、外部情報符号化非表示状態と前記復号化非表示状態の類似度が事前定義された類似度閾値より小さい場合、上記外部情報で復号化部出力を置き換えて出力にする動作を実行せず、出力単語確率分布に基づいて出力結果を決定する。この場合、外部情報が最終のテキスト処理結果に表れる確率を高めるために、前記現在タイムステップの類似度閾値を調整することで調整後の類似度閾値を決定し、前記調整後の類似度閾値は、前記現在タイムステップの類似度閾値より小さく、かつ前記調整後の類似度閾値は次のタイムステップの類似度閾値として使用される。
例えば、式(7)を利用して類似度閾値を調整する。
tは現在タイムステップであり、kは、ソーステキストの長さであり、eは自然対数である。一部の変更例において、kは、ソーステキスト長さに関する関数で表示されてもよい。例えば、kをβとソーステキスト長さの積で表示されてもよく、βは0より大きく1より小さい事前定義されたパラメータである。
上記方法を利用して、タイムステップ毎に類似度閾値について単調減少の調整を実行することで、外部情報と復号化部の出力結果間の類似度がテキスト処理プロセスにて類似度閾値がより低いレベルまで低減されるため、外部情報と復号化部の出力結果間の類似度が現在タイムステップの類似度閾値より大きくなる確率が増えるようになる。即ち、外部情報が最終のテキスト処理結果に現れる確率が増えるようになる。
本願によって提供されるテキスト処理装置100はテキスト要約の生成プロセスにおいて、外部情報を利用して現在タイムステップのアテンション分布を決定すると同時に/又は、外部情報に基づいて現在タイムステップの出力単語を決定することで、テキスト処理のプロセス有効に外部情報の内容を考慮することができ、テキスト生成のプロセスにおいて外部情報を生成する確率を高め、外部情報を考慮する場合のテキスト生成の効果が改善できるようになる。
本願によって提供されるテキスト処理装置100を実装する場合、当業者は上記技術案に対して任意の組み合わせをしてもよい。例えば、テキスト処理装置100でソーステキストについてテキスト処理を行うプロセスにおいて、アテンション生成部だけを利用して外部情報に基づいて外部情報を含むアテンション分布を生成し後続のテキスト処理で使用するようにし、かつ後続のテキスト処理プロセスにおいては、外部情報を考慮しないようにしてもよい。例えば、出力部だけを利用して外部情報に基づいて現在タイムステップで出力しようとする単語を決定し、その前の符号化、復号化とアテンション生成プロセスにおいては、外部情報を考慮しないようにしてもよい。さらに、アテンション生成部で現在タイムステップのアテンション分布を生成する及び出力部で現在タイムステップで出力しようとする単語を決定するプロセスにおいて外部情報を考慮することで、テキスト処理結果に外部情報を含む可能性をさらに増やすようにしてもよい。
図3Aで本開示の実施例にかかるアテンション生成部の概略的なブロック図を示している。図3Aに示すアテンション生成部300を利用して、外部情報に基づいてソーステキストのアテンション分布atを調整し、かつ外部情報を含むアテンション分布A’を決定することができる。
図3Aに示すように、アテンション生成部300には、ソーステキストアテンション決定部310、コンテンツ選択部320が含まれる。
ソーステキストアテンション決定部310は、前記ソーステキスト符号化非表示状態と前記復号化非表示状態に基づいて前記ソーステキストの符号化アテンション分布atを決定するために用いられる。一部の実施例において、前記式(1)を利用してソーステキストの符号化アテンション分布atを決定することができる。
コンテンツ選択部320は、ソーステキストにおける単語毎の選択確率を決定するのに使用されてもよい。一部の実施例において、コンテンツ選択部320は、外部情報に基づいて前記ソーステキストに対する選択確率分布を決定するのに使用されてもよく、前記選択確率分布には、前記ソーステキストに対する単語毎の選択確率が含まれる。
一部の実施例において、コンテンツ選択部220コンテンツ選択ネットワーク(例えばLSTMネットワーク)を利用してソーステキストIを処理し前記ソーステキストにおける単語毎の第一選択確率を決定するようにしてもよい。
参考となるテキスト処理結果ref(即ち予め決定されるトレーニングデータのテキスト処理結果)を利用して使用するコンテンツ選択ネットワークに対してトレーニングを行う。コンテンツ選択ネットワークのトレーニングプロセスにおいて、ソーステキストIと参考となるテキスト処理結果refとに基づいて生成したタグ付け系列をコンテンツ選択ネットワークに入力して処理を行う。タグ付け系列とソーステキストIの単語系列の長さは同じであり、タグ付け系列の第i個要素の値は、ソーステキストIの第i個の単語が参考となるテキスト処理結果refに属しているか否かを識別する内容である。上記方法を利用してコンテンツ選択ネットワークについてトレーニングすることでコンテンツ選択ネットワークは、ソーステキストIを処理しかつ前記ソーステキストにおける単語毎の第一選択確率の結果を出力することができ、第一選択確率はコンテンツ選択ネットワークに基づいてソーステキストIにおけるこの単語が選択され最終のテキスト処理結果に表れる確率を示している。
一部の実施例において、前記ソーステキストにおける外部情報に属する少なくとも1つの単語に対して、当該少なくとも1つの単語の選択確率を少なくとも事前定義された確率値λに決定してもよい。例えば、ソーステキストにおける各外部情報に属する単語の第二選択確率を事前定義された確率値λに決定し、外部情報に属してない他の単語の第二選択確率を0に決定する。
上記第一選択確率と第二選択確率に基づいてソーステキストにおける単語毎の選択確率を決定してもよい。例えば、ソーステキストにおける単語毎の選択確率を第一選択確率と第二選択確率の和に決定してもよい。上記からわかるように、外部情報に属する単語に対してその選択確率は事前定義された確率値λ以上である。
前記選択確率分布に基づいて、コンテンツ選択部220は、前記ソーステキストにおける単語毎に対して、当該単語の選択確率によって当該単語のアテンションが決定できアテンション分布Aが得られるために用いられる。一部の実施例において、コンテンツ選択部220は当該単語の選択確率が所定の選択確率閾値εより低い場合、現在タイムステップのアテンション分布において当該単語に使用されるアテンションをゼロとして決定するように構成されてもよい。また、コンテンツ選択部220は当該単語の選択確率が所定の選択確率閾値ε以上である場合、現在タイムステップのアテンション分布において当該単語に使用されるアテンションをソーステキストの符号化アテンション分布atにおける当該単語のアテンションとして決定するように構成されてもよい。
上記アテンション生成部を利用することで、ソーステキストにおける単語毎に選択確率が生成でき、即ち、単語毎のアテンションを決定する時、少なくとも式(1)を利用して計算したアテンションの大きさと当該単語の選択確率との双方を考慮すべきである。当該単語の選択確率が所定の選択閾値より低い場合は、当該単語が現在タイムステップに現れる確率が低いと見なしてよく、そのため、後続のテキスト処理プロセスにおいては当該単語のアテンションを考慮しなくてもよい。
式(9)でコンテンツ選択部を利用して決定したアテンション分布の結果を示してもよい。
外部情報に含まれた単語の選択確率を少なくとも事前定義された確率値λに設定することで、事前定義された確率値が所定の選択確率閾値εより大きいと、外部情報における単語がコンテンツ選択のステップにフィルタリングされるのを防止でき、外部情報における単語が後続のテキスト処理プロセスに入ることを保証し、これによって外部情報における単語がテキスト処理結果に現れる確率を高めることができる。なお、一部の実装形態において、事前定義された確率値λは所定の選択確率閾値ε以下に設定してもよい。この場合では、単語毎の選択確率を上記第一選択確率と第二選択確率の和に決定することで、外部情報における単語の選択確率を高めることができ、かつ外部情報における単語がテキスト処理結果に現れる確率を高める効果が実装できる。
図3Bで図3Aに示すアテンション生成部を利用して現在タイムステップのアテンション分布を決定する例示的プロセスを示している。
図3Bに示すように、ソーステキストにおける四つの単語を例とし、コンテンツ選択ネットワークを利用して第一、三項目の単語のアテンションを選択し、後続のテキスト処理プロセスにおいて使用する。
図4では本願の実施例のアテンション生成部を利用する他の概略的なブロック図を示している。図4に示すように、アテンション生成部400は、ソーステキストアテンション決定部410と外部情報アテンション決定部420を含んでもよい。図4に示しているアテンション生成部を利用して決定したアテンション分布Aは、ソーステキストのアテンション分布atと外部情報のアテンション分布a’tとの双方を含む。
一部の実施例において、ソーステキストアテンション決定部410は式(2)を利用して現在タイムステップのソーステキスト符号化非表示状態と現在タイムステップの復号化非表示状態とに基づいてソーステキストにおける単語毎の符号化アテンションパラメータei tを決定する。
外部情報アテンション決定部420は、前記ソーステキストにおける単語毎の外部アテンションパラメータを決定するのに使用され、外部情報に属する単語の外部アテンションパラメータは所定の第一外部アテンションパラメータに決定され、外部情報に属してない単語の外部アテンションパラメータは所定の第二外部アテンションパラメータに決定される。一部の実装形態において、第一外部アテンションパラメータはλ’として設置され、第二外部アテンションパラメータは0に設置されてもよく、λ’は0より大きい値である。
前記符号化アテンションパラメータと外部アテンションパラメータとに基づいて前記ソーステキストに使用される単語毎のアテンションパラメータを決定する。例えば、単語毎の符号化アテンションパラメータと外部アテンションパラメータとの和を計算すること当該単語のアテンションパラメータe’i tを求めることができる。
その後、アテンションパラメータe’i tに基づいてソーステキストの現在タイムステップのアテンション分布を決定する。例えば、アテンションパラメータe’i tに対してsoftmax関数を運用することで、ソーステキストに使用される単語毎の現在タイムステップのアテンションを取得することができる。
上記方法を利用して、事前定義された外部アテンションパラメータで、ソーステキストにおける外部情報に属する単語のアテンションパラメータを調整でき、外部情報に属する単語アテンションに対する調整を実装することができる。なお、第一外部アテンションパラメータが0より大きいハイパーパラメータλ’で、第二外部アテンションパラメータが0に設置された場合、外部情報に基づいてソーステキストの単語毎のアテンション分布を調整することで、外部情報に属する単語のアテンションがさらに重要になるようにすることができる。
上記の例では、第一外部アテンションパラメータをλ’に、第二外部アテンションパラメータを0の場合を例として本願の原理を説明したが、本願の範囲がそれに限られるわけではない。当業者は実際状況に基づいてソーステキストに使用される単語毎の外部アテンションのパラメータを設置してよく、最終的に外部情報に属する単語のアテンションがさらに重要になる効果だけを実装できればよい。例えば、第一外部アテンションwpパラメータλ1’と設置し、第二外部アテンションをパラメータλ2’と設置し、λ1’、λ2’はいかなる実数であり、λ1’>λ2’だけ満足すればよい。
一部の実施例において、ソーステキストアテンション決定部410は、前記式(1)、(2)を利用してソーステキストの符号化アテンション分布atを決定するのに使用されてもよい。外部情報アテンション決定部420は、前記外部情報の符号化アテンション分布a’tを決定するのに使用されてもよい。
この場合、図1で示している符号化部110を利用して前記外部情報を符号化して外部情報符号化非表示状態h’を取得する。外部情報アテンション部420は、外部情報符号化非表示状態h’と復号化非表示状態sとに基づいて外部情報の符号化アテンション分布を決定する。
例えば、上記式(1)、(2)を利用して外部情報の符号化アテンション分布a’tを決定し、式(1)、(2)におけるソーステキスト符号化非表示状態hは、外部情報符号化非表示状態h’に置き換えられるべきである。
一部の実装形態において、それぞれ外部情報の符号化アテンション分布a’tとソーステキストの符号化アテンション分布atを計算する時、シェアパラメータの式(1)、(2)で計算し、即ち、外部情報の符号化アテンション分布a’tとソーステキストの符号化アテンション分布atを計算する時に使用するパラメータvT、Wh、WS、battnは同じであってもよい。他の一部の実施方法において、外部情報の符号化アテンション分布a’tとソーステキストの符号化アテンション分布atとを計算するために用いられるトレーニングパラメータに対してそれぞれトレーニングしてもよく、即ち、外部情報の符号化アテンション分布a’tとソーステキストの符号化アテンション分布atを計算する時に使用するパラメータvT、Wh、WS、battnは異なってもよい。
図4で示しているアテンション生成部400で外部情報の符号化アテンション分布a’tとソーステキストの符号化アテンション分布atを生成し、図1で示している出力部で外部情報の符号化アテンション分布a’tとソーステキストの符号化アテンション分布atに対して更なる処理を行い、現在タイムステップの出力単語確率分布を決定する。
アテンション分布Atにソーステキストのアテンション分布atと外部情報のアテンション分布a’tとの双方を含む場合、出力単語確率分布は、生成確率分布、ソーステキストのアテンション分布atと外部情報のアテンション分布a’tの加重平均で示されてもよい。
一部の実施例において、式(10)で出力単語確率分布を決定してもよい。
一部の実装形態において、現在タイムステップtのソーステキスト符号化非表示状態、復号化非表示状態、外部情報の符号化アテンション分布及び直前のタイムステップt−1の出力部の出力に基づいてPgenerator、Ppointer、及びPTを決定してもよい。
例えば、式(11)に基づいてP
generator、P
pointer、及びP
Tを決定できる。
一部の実施例において、出力部が出力単語確率分布を決定する時、他の方法で決定される確率分布結果を考慮してもよい。例えば、ソーステキストIにおける単語ベクトルの形成した複数の文ベクトル間の相関性を考慮してソーステキストIにおける各単語のソーステキストにおける重要度を決定してもよい。出力単語確率分布は、さらに上記重要度によって形成した単語確率分布を含んでもよい。当業者にとって、出力単語確率分布の生成方式はこれに限られなく、本開示原理を逸脱しない状況で、出力単語確率分布は各種形の単語確率分布を含んでもよい。
上記方式を利用して、アテンション生成部400で外部情報の現在タイムステップでのアテンション分布a’tを決定し、かつ外部情報の現在タイムステップでのアテンション分布a’tを現在タイムステップの出力確率分布を決定してもよい。本開示によって提供される実施例において、外部情報の特徴ではなく外部情報のアテンション分布を利用して現在タイムステップの出力確率分布を決定することで、外部情報の特徴における無効情報が現在タイムステップの出力確率分布に与える影響を避けることができる。
図5は本願の実施例にかかるテキスト処理装置の他の例示的な一実施例を示している。
図5に示すように、テキスト処理装置500は符号化部510、復号化部520、アテンション生成部530、出力部540及び後処理部550を含んでもよい。符号化部510、復号化部520、アテンション生成部530、出力部540は、図1〜図3で説明している符号化部110、復号化部120、アテンション生成部130と出力部140で実装すればよく、ここでは、詳しく説明しない。
後処理部550は、外部情報に基づいて前記候補テキストに対して後処理を行うことで、外部情報を含む出力テキストを決定するように構成されてもよい。
前述のように、符号化部510、復号化部520、アテンション生成部530、出力部540が図1〜図3で説明している符号化部110、復号化部120、アテンション生成部130と出力部140に合わせて実装できるので、出力部540は、外部情報を含むテキスト処理結果を出力できる。
出力部540から出力される結果に既に外部情報を含む場合は、出力部540から出力される結果を直接テキスト処理の結果としてもよい。
出力部540から出力される結果に外部情報を含まない場合は、出力部540から出力される結果を候補テキストとし、後処理部550により外部情報に基づいて前記候補テキストについて後処理を行い、外部情報を含む出力テキストを決定するようにする。
一部の実施例において、外部情報は予め指定された情報を含んでもよい。例えば、外部情報は予め指定された文であり、又は予め指定された単語を含むソーステキストにおける文であってもよい。
前記予め指定された外部情報が文である場合、後処理部550は、前記候補テキストにおける文と前記外部情報の類似度を決定するように構成されてもよい。前記類似度が所定の候補類似度閾値より大きい場合、前記候補テキストにおける前記文を前記外部情報に置き換えてもよい。
事前決定される外部情報が単語である場合、後処理部550は、前記候補テキストにおける文と前記外部情報の類似度を決定し、前記類似度が所定の候補類似度閾値より大きい場合、前記候補テキストにおける前記文を前記外部情報に置き換えるように構成されてもよい。
一部の実装形態において、前記類似度が所定の候補類似度閾値より大きい場合、後処理部550は、前記候補テキストにおける前記文を削除し、外部情報としての文又は、外部情報としての単語を含む文で削除された候補テキストにおける文に置き換えるように構成されてもよい。
一部の例において、ソーステキストにおける外部情報と候補テキストにおける余剰情報のソーステキストにおける相関性に基づいて前記残りの情報に外部情報を挿入する。例えば、外部情報と候補テキストにおける余剰情報がソーステキストに現れる順番に基づいて外部情報を候補テキストの余剰情報に挿入する。
他の一部の実施方法において、前記類似度が所定の候補類似度閾値より小さい場合、後処理部550は、前記外部情報と前記候補テキストにおける文の前記ソーステキストにおける相関性に基づいて、前記候補テキストに外部情報を挿入する。
前記外部情報と前記候補テキストにおける各文の間の類似度を比較してもよい。前記外部情報と前記候補テキストにおける各文の類似度とも所定の候補類似度閾値より小さい場合、生成したテキスト処理結果に外部情報に類似する情報が含まれてないことを意味する。この場合、外部情報と候補テキストについて直接つづり合いを行い、最終のテキスト処理結果を決定してもよい。
例えば、外部情報と候補テキストにおける文がソーステキストに現れる順番に従って、外部情報を候補テキストに挿入することで、最終のテキスト処理結果を決定してもよい。
本願にかかる上記テキスト処理装置を利用して、効果的にテキスト処理結果に外部情報の内容を追加することができ、テキスト処理結果に期待する外部情報の内容を追加することが保証できる。
前記に示すように、図1〜図3を参照して示しているテキスト処理装置における符号化部110、復号化部120、アテンション生成部130にはすべてトレーニングする必要のあるパラメータを含んでいる。そのため、機械学習を利用して符号化部110、復号化部120、アテンション生成部130における少なくとも1つに対してトレーニングを行う必要がある。
一部の実施例において、所定のソーステキストトレーニングセットを利用して前記符号化部、前記アテンション生成部、前記復号化部に対してトレーニングを行う。前記ソーステキストトレーニングセットは複数のトレーニングソーステキストを含む。
図1で示しているテキスト処理装置を利用してトレーニングソーステキストについて処理を行い、トレーニングソーステキストに対するトレーニングテキスト処理結果を取得することができる。例えば、符号化部を利用してトレーニングソーステキストを符号化してトレーニングソーステキスト符号化非表示状態を取得することができる。その後、復号化部を利用してトレーニング復号化非表示状態を決定することができる。またその後、アテンション生成部を利用して前記外部情報、前記トレーニングソーステキスト符号化非表示状態と前記トレーニング復号化非表示状態に基づいて現在タイムステップのトレーニングアテンション分布を決定することができる。出力部を利用して、前記トレーニングアテンション分布、前記トレーニングソーステキスト符号化非表示状態、前記トレーニング復号化非表示状態に基づいてトレーニング出力単語確率分布を決定することで、トレーニング出力単語を決定することができる。
前記符号化部、前記アテンション生成部、前記復号化部におけるパラメータを調整することで、トレーニングプロセスにおいて使用する損失関数を最小化し、前記符号化部、前記アテンション生成部、前記復号化部に対するトレーニングを実装するようにする。
一部の例において、トレーニングプロセスにおいて使用する損失関数lossは下記の式(12)として実装されてもよい。
他の例において、トレーニングプロセスにおいて使用する損失関数lossは下記式(13)、(14)によって実装することができる。
図6は本願のテキスト処理方法による例示的フローチャートを示している。図6に示すように、ステップS602において、前記ソーステキストに対して符号化を行い、ソーステキスト符号化非表示状態を取得することができる。一部の実施例において、符号化ネットワークを利用してソーステキストについて符号化を行ってもよい。例示的符号化ネットワークには長・短期記憶(LSTM)ネットワークを含み、LSTMネットワークベースのシステムは例えば機械翻訳、テキスト要約生成等のタスクに適用される。ここからわかるように、符号化ネットワークは単語ベクトルに対して符号化を行ういかなる機械学習モデルとして実装されてもよい。
例えば、ソーステキストIに対応する少なくとも1つの単語ベクトルを入力とする場合、符号化ネットワークは各単語ベクトルx1、x2、x3…にそれぞれ対応するソーステキスト符号化非表示状態h1、h2、h3…を出力する。ソーステキスト符号化非表示状態の数とソーステキストの単語ベクトルの数は同じでもよいし、異なってもよい。例えば、ソーステキストIに基づいてk個の単語ベクトルを生成する場合、符号化ネットワークはこのk個の単語ベクトルを処理してk個の対応するソーステキスト符号化非表示状態を生成する。Kは1より大きい整数である。
ステップS604において、復号化非表示状態を決定できる。一部の実施例において、復号化部120は直前のタイムステップt−1の復号化非表示状態st−1及び直前のタイムステップテキスト処理装置で得られた出力単語xtを受信し、かつst−1とxtとを処理することで現在タイムステップの復号化非表示状態stを取得する。最初のタイムステップの処理でs0とx1はデフォルトの初期値として決定される。復号化非表示状態sは、ソーステキストSに対応する複数の復号化非表示状態s1、s2、s3…を含んでもよい。例示的な復号化ネットワークは長・短期記憶ネットワークを含む。なお、復号化ネットワークは符号化ネットワークの出力に対して復号化を行ういかなる機械学習モデルによって実装されてもよい。
ステップS606において、外部情報、前記ソーステキスト符号化非表示状態と前記復号化非表示状態に基づいて現在タイムステップのアテンション分布を決定してもよい。
一部の実施例において、現在タイムステップtのアテンション分布Atは、ソーステキストの符号化アテンション分布である。例えば、式(1)、(2)を利用してソーステキストの符号化アテンション分布atを決定することができる。
他の一部の実施例において、外部情報及び式(1)に基づいて決定したソーステキストのアテンション分布atに基づいて外部情報を含む現在タイムステップのアテンション分布Atを決定し、かつ外部情報を含むアテンション分布Atを出力し、後続のテキスト処理プロセスにおいて使用する。
図7で本願の実施例にかかる外部情報に基づいて現在タイムステップのアテンション分布を決定する例示的フローチャートを示している。
ステップS702において、前記ソーステキスト符号化非表示状態と前記復号化非表示状態に基づいて前記ソーステキストの符号化アテンション分布を決定する。一部の実施例において、前記式(1)を利用してソーステキストの符号化アテンション分布atを決定することができる。
ステップS704において、外部情報に基づいて前記ソーステキストに対する選択確率分布を決定し、前記選択確率分布は、前記ソーステキストにおける単語毎に使用される選択確率を含む。
一部の実施例において、コンテンツ選択ネットワーク(例えば、LSTMネットワーク)を利用してソーステキストIについて処理を行うことで、前記ソーステキストにおける単語毎の第一選択確率を決定する。
コンテンツ選択ネットワークは、ソーステキストIについて処理を行い前記ソーステキストにおける単語毎の第一選択確率の結果を出力し、第一選択確率はコンテンツ選択ネットワークに基づいてソーステキストIにおけるこの単語が選択され最終のテキスト処理結果に現れる確率を表示する。
一部の実施例において、前記ソーステキストにおける外部情報に属する少なくとも1つの単語について、当該少なくとも1つの単語の選択確率を少なくとも事前定義した確率値λに決定する。例えば、ソーステキストにおける各外部情報に属する単語の第二選択確率を事前定義した確率値λに決定し、外部情報に属する他の単語の第二選択確率を0に決定する。
上記第一選択確率と第二選択確率に基づいてソーステキストにおける単語毎の選択確率を決定する。例えば、ソーステキストにおける単語毎の選択確率を第一選択確率と第二選択確率の合計に決定することができる。わかるように、外部情報に属する単語に対して、その選択確率は事前定義した確率値λ以上である。
ステップS706において、前記ソーステキストにおける各単語に対して当該単語の選択確率に基づいて当該単語のアテンションを決定することで前記アテンション分布を取得することができる。
前記選択確率分布に基づいて、ステップS706は、前記ソーステキストにおける各単語に対して当該単語の選択確率に基づいて当該単語のアテンションを決定しアテンション分布Aを取得することを含んでもよい。一部の実施例において、ステップS706は当該単語の選択確率が所定の選択確率閾値εより小さい時、現在タイムステップのアテンション分布における当該単語に使用されるアテンションを0と決定することを含んでもよい。また、ステップS706は当該単語の選択確率が所定の選択確率閾値ε以上である時、現在タイムステップのアテンション分布における当該単語に使用されるアテンションをソーステキストの符号化アテンション分布atにおける当該単語のアテンションに決定することを含んでもよい。
上記アテンション生成の方法を利用して、ソーステキストにおける単語毎に選択確率を生成することができ、即ち、単語毎のアテンションを決定する時、少なくとも式(1)を利用して計算したアテンションの大きさ及び当該単語の選択確率の双方を考慮するべきである。当該単語の選択確率が所定の選択閾値より低い時、当該単語が現在タイムステップに現れる確率が非常に低いと判断できるため、後続のテキスト処理プロセスにおいて当該単語のアテンションを考慮しなくてもよい。
外部情報に含まれた単語の選択確率を少なくとも事前定義された確率値λに設置し、事前定義された確率値が所定の選択確率閾値εより大きい場合は、外部情報における単語がコンテンツ選択のステップでフィルタリングされないように保証することで、外部情報における単語が後続のテキスト処理プロセスにおいて処理されることを保証し、それによって外部情報における単語がテキスト処理結果に現れる確率を高めることができる。なお、一部の実装形態において、事前定義された確率値λを所定の選択確率閾値ε以下に設置してもよい。この場合、単語毎の選択確率を上記第一選択確率と第二選択確率との合計に決定することで、外部情報における単語の選択確率を増やすことが実装でき、外部情報における単語がテキスト処理結果に現れる確率を高める効果が実装できる。
図8では、本願の実施例にかかる外部情報に基づいて現在タイムステップのアテンション分布を決定するステップの他の一例示的なフローチャートを示している。
ステップS802において、現在タイムステップのソーステキストの符号化アテンションを決定できる。
一部の実施例において、式(2)を利用して現在タイムステップのソーステキスト符号化非表示状態と現在タイムステップの復号化非表示状態に基づいてソーステキストにおける単語毎の符号化アテンションパラメータei tを決定することができる。その後、前記式(1)、(2)を利用してソーステキストの符号化アテンション分布atを決定する。
ステップS804において、現在タイムステップの外部情報符号化アテンションを決定できる。
一部の実施例において、前記ソーステキストにおける単語毎の外部アテンションパラメータが決定でき、外部情報に属する単語の外部アテンションパラメータは所定の第一外部アテンションパラメータに決定され、外部情報に属しない単語の外部アテンションパラメータは所定の第二外部アテンションパラメータに決定される。一部の実装形態において、第一外部アテンションパラメータはλ’に設置され、第二外部アテンションパラメータは0に設置され、λ’は0より大きい値である。
ステップS802で決定される前記符号化アテンションパラメータと上記外部アテンションパラメータに基づいて前記ソーステキストにおける単語毎に使用されるアテンションパラメータを決定できる。例えば、単語毎の符号化アテンションパラメータと外部アテンションパラメータの合計を求めることで当該単語のアテンションパラメータe’i tを決定してもよい。
その後、アテンションパラメータe’i tに基づいてソーステキストの現在タイムステップのアテンション分布を決定してもよい。例えば、アテンションパラメータe’i tにsoftmax関数を適用することで、ソーステキストの単語毎に使用される現在タイムステップのアテンションを決定することができる。
上記方法を利用して、事前定義された外部アテンションパラメータを利用してソーステキストにおける外部情報に属する単語のアテンションパラメータを調整することができ、外部情報に属する単語アテンションの調整を実装することができる。なお、第一外部アテンションパラメータは0より大きいハイパーパラメータλ’に設置され、第二外部アテンションパラメータは0に設置された場合、外部情報に基づいてソーステキストの単語毎のアテンション分布を調整し、外部情報に属する単語のアテンションがさらに重要になるようにできる。
一部の実施例において、前記外部情報を符号化することで外部情報符号化非表示状態h’を取得することができる。また上記式(1)、(2)を利用して外部情報の符号化アテンション分布a’tを決定することができ、式(1)、(2)におけるソーステキスト符号化非表示状態hは、外部情報符号化非表示状態h’に置き換えられるべきである。
一部の実装形態において、外部情報の符号化アテンション分布a’tとソーステキストの符号化アテンション分布atとをそれぞれ計算する時、シェアパラメータを利用して式(1)、(2)の計算を行い、即ち外部情報の符号化アテンション分布a’tとソーステキストの符号化アテンション分布atを計算する時に使用するパラメータvT、Wh、WS、battnは同じであってもよい。他の一部の実施方法において、外部情報の符号化アテンション分布a’tとソーステキスト的符号化アテンション分布atとを計算するためのトレーニングパラメータをそれぞれトレーニングし、即ち、外部情報の符号化アテンション分布a’tとソーステキストの符号化アテンション分布atを計算する時に使用するパラメータvT、Wh、WS、battnは異なってもよい。
図6に戻り参照すると、ステップS608において前記アテンション分布、前記ソーステキスト符号化非表示状態、前記復号化非表示状態に基づいて出力単語確率分布を決定してもよい。
出力単語確率分布は、生成確率分布Pvocabを含んでもよい。式(3)と式(4)を利用して生成確率分布Pvocabを決定できる。
一部の実施例において、出力単語確率分布は現在タイムステップのアテンション分布Atを含んでもよい。
例えば、前記生成確率分布と前記アテンション分布Aについて重み付け加算を行うことで、出力単語確率分布を決定できる。
一部の実装形態において、現在タイムステップのソーステキスト符号化非表示状態、ソーステキスト復号化非表示状態、アテンション分布及び直前のタイムステップ復号化ネットワークの出力に基づいて生成確率分布とアテンション分布用の重み係数Pgenを決定する。
例えば、前記生成確率分布及び前記アテンション分布について重み付け加算を行う重み係数Pgenは式(5)のように示すことができる。
アテンション分布Atにソーステキストのアテンション分布atと外部情報のアテンション分布a’tの双方を含む場合、ソーステキストのアテンション分布atと外部情報のアテンション分布a’tの重み係数パラメータは同じであってもよく、異なってもよい。
アテンション分布Atにソーステキストのアテンション分布atと外部情報のアテンション分布a’tとの双方を含む場合、出力単語確率分布は、生成確率分布、ソーステキストのアテンション分布atと外部情報のアテンション分布a’tとの加重平均で示すことができる。
一部の実施例において、式(10)を利用して出力単語確率分布を決定してもよい。
一部の実装形態において、現在タイムステップtのソーステキスト符号化非表示状態、ソーステキストの復号化非表示状態、外部情報の符号化アテンション分布及び直前のタイムステップt−1の復号化ネットワークの出力に基づいてPgenerator、Ppointer、及びPTを決定してもよい。例えば、式(11)を利用してPgenerator、Ppointer、及びPTを決定する。
一部の実施例において、ステップS608は、出力単語確率分布における確率の最も高い単語を現在タイムステップの出力単語に決定することを含んでもよい。
図9は本願の実施例にかかるあるテキスト処理方法の例示的フローチャートを示している。
図9に示すように、ステップS902において、前記ソーステキストについて符号化を行うことでソーステキスト符号化非表示状態を取得することができる。
ステップS904において、復号化非表示状態を決定することができる。一部の実施例において、図6に示すステップS604を利用して復号化非表示状態を決定することができ、繰り返して説明しない。
ステップS906において、外部情報、前記ソーステキスト符号化非表示状態、前記復号化非表示状態に基づいて出力単語確率分布を決定し、出力単語を決定する。
他の一部の実施例において、ステップS906は、さらに外部情報に基づいて単語確率分布を決定かつ出力することで現在タイムステップの出力単語を決定してもよい。
一実装形態において、ステップS906は、前記外部情報に基づいて、前記候補出力単語において確率が出力確率閾値以上でありかつ前記外部情報に属する単語を現在タイムステップの候補出力単語に決定することを含んでもよい。
例えば、各タイムステップ毎に少なくとも2つの単語を現在タイムステップの候補出力単語と決定し、その後、候補出力単語は次のタイムステップのテキスト処理プロセスにおいて使用される。同様に、次のタイムステップにおいても、少なくとも2つの候補出力単語を決定してもよい。
具体的に候補出力単語の数が2の場合を例として、タイムステップtにおいて2つの候補出力単語a、bを決定することができる。その後、候補出力単語a、bは次のタイムステップのテキスト処理プロセスに利用され、タイムステップt+1の候補出力単語c、dを決定することができる。
一部の実施例において、各タイムステップ毎の候補出力単語を決定する時、出力確率分布における出力確率が最も高い所定数のM個(上記の例では、Mは2である)の単語を候補出力単語として決定する。Mは2以上の整数である。
他の一部の実施例において、各タイムステップ毎の候補出力単語を決定する時、事前定義された方法に基づいて出力確率分布における選択出力確率が最も高いN個の単語を決定し、かつこれらのN個の単語のうちM個の単語を候補出力単語として決定してもよい。NはMより大きい整数である。一部の実装形態において、予めNの数値を指定してもよい。
他の一部の実施方法において、出力確率閾値を事前に決定し、出力確率が前記出力確率閾値より大きいN個の単語の中からM個の単語を候補出力単語として決定してもよい。
出力確率の最も高いN個の単語のうち外部情報に属する単語が存在しない場合、これらのN個の単語のうち出力確率の最も高いM個の単語を候補出力単語として決定する。
出力確率の最も高いN個の単語のうち外部情報に属する単語が存在する場合、これらのN個の単語に存在する、外部情報に属する単語の数nがM以上であるとこれらのN個の単語における出力確率の最も高いかつ外部情報に属するM個の単語を候補出力単語として決定する。これらのN個の単語に存在する、外部情報に属する単語数nが所定数Mより小さいと、これらのN個の単語における外部情報に属する単語と残りのN−n個の単語における出力確率の最も高いM−n個の単語を候補出力単語として決定する。
タイムステップtに出力した候補出力単語a、bとタイムステップt+1の候補出力単語c、dとを利用して少なくとも4個の出力候補系列ac、ad、bc、bdが決定でき、同時確率の方法で各出力候補系列の出力確率を決定し、4個の出力系列ac、ad、bc、bd候補のうち出力確率の最も高い2つをタイムステップt+1後の候補テキストとして決定する。
例えば、候補出力単語a、b、c、dの出力確率はそれぞれPa、Pb、Pc及びPdで示すことができる。出力候補系列ac、ad、bc、bdはそれぞれPac=Pa*Pc、Pad=Pa*Pd、Pbc=Pb*Pc、及びPbd=Pb*Pdで示すことができる。Pac>Pad>Pbc>Pbdである場合、タイムステップt+1で出力系列ac、adを後続のテキスト処理に使用する。
一部の実施例において、また外部情報に基づいて出力候補系列を決定してもよい。例えば、式(6)を利用して出力候補系列のペナルティ値を決定できる。
一実装形態において、いかなる可能なテキスト類似度アルゴリズムでタイムステップtの前に生成した候補テキスト系列と外部情報との間の類似度を決定してもよい。例えば、コサイン類似度の方法を使用してタイムステップtの前に生成した候補テキスト系列と外部情報との間の類似度を決定することができる。
上記式(6)を利用して、タイムステップtの前に生成された候補テキスト系列と外部情報との間の類似度が高いほど、ペナルティ値は、出力候補系列の出力確率を増やすために用いられる。一部の実装形態において、ペナルティ値s(x,y)と出力候補系列における出力確率とを乗算又は加算し、タイムステップtの前に生成された候補テキスト系列と外部情報との間の類似度に基づいて出力候補系列を決定する効果を実現することができる。
即ち、外部情報に基づいて上記出力候補系列に使用されるペナルティ値を決定することにより、外部情報が候補テキスト系列に現れる確率を高めることができる。それによって、外部情報が最終的に出力されるテキスト処理結果に表れる確率を高めることができる。
他の実装形態において、ステップS906は部情報と前記ソーステキスト符号化非表示状態との間の類似度を決定し、外部情報と前記ソーステキスト符号化非表示状態との間の類似度に基づいて現在タイムステップで出力しようとする単語を決定することを含んでもよい。
例えば、符号化ネットワークを利用して前記外部情報を符号化して外部情報符号化非表示状態を得てもよい。
ステップS906は、前記外部情報符号化非表示状態と前記復号化非表示状態の類似度を決定することを含んでもよい。外部情報符号化非表示状態と前記復号化非表示状態との類似度が事前定義された類似度閾値以上である場合、前記外部情報を出力して現在タイムステップの出力としてもよい。
前記外部情報が単語である場合、前記外部情報を現在タイムステップの単語として出力してもよい。前記外部情報が文である場合、前記外部情報を直接現在タイムステップtの前に生成されたテキスト系列の後に挿入してもよい。
なお、現在タイムステップtの前に既に生成されたテキスト系列は、前記出力確率分布における確率の最も高い単語に基づいて生成されたのであってもよく、出力確率分布における確率の最も高いいくつかの候補出力単語に基づいて生成されてもよい。前記実装方法にで説明したプロセスを採用候補出力単語を決定すればよく、ここでは、詳しく説明しない。
外部情報符号化非表示状態と前記復号化非表示状態との類似度が事前定義の類似度閾値より小さい場合、前記復号化ネットワークから出力される結果に基づいて現在タイムステップの出力単語確率分布を決定し、現在タイムステップの出力単語確率分布に基づいて現在タイムステップの出力単語を決定する。
上記方法を利用して、復号化ネットワークから出力される結果と外部情報との間の類似度がより高い時、直接外部情報で復号化ネットワークから出力される結果を置き換えてもよい。即ち、この場合、現在タイムステップの出力後に決定したテキスト系列の結果は直前のタイムステップの出力後に決定したテキスト系列の後に外部情報を挿入して得られた結果である。
その後、次のタイムステップの処理を行う時、復号化ネットワークを利用して外部情報を符号化して次のタイムステップの復号化非表示状態を得て、後の復号化プロセスが外部情報の結果を利用できるようにすることで、後の復号化で得られた結果と挿入した外部情報との間のセマンティック一貫性を保証することができる。
外部情報が単語である場合、直前のタイムステップの復号化非表示状態と外部情報を利用して復号化ネットワークの入力として処理を行い、現在タイムステップの復号化非表示状態を取得することができる。
外部情報に複数の単語を含む場合、復号化ネットワークで数回のループ処理を行う。第1個目のループにおける復号化ネットワークの入力は直前のタイムステップの復号化非表示状態と外部情報の第1個目の単語であり、その後のループにおける復号化ネットワークの入力は前回ループで得られた復号化非表示状態と外部情報の次の単語である。数回のループにより外部情報における単語毎に処理することができ、全ての外部情報を含む復号化非表示状態を取得して現在タイムステップの復号化非表示状態とする。
一部の実装形態において、既に外部情報で復号化ネットワークから出力される結果に置き換えテキスト処理結果に挿入した後は、上記外部情報符号化非表示状態と前記復号化非表示状態との類似度比較を実行しない。
一部の例において、上記類似度閾値は所定のタイムステップtに関する関数によって実装されてもよい。
前述したように、外部情報符号化非表示状態と前記復号化非表示状態の類似度が事前定義された類似度閾値より小さい場合、上記外部情報で復号化ネットワークの出力を置き換えて出力にする動作を実行せず、出力単語確率分布に基づいて出力結果を決定する。この場合、外部情報が最終のテキスト処理結果に表れる確率を高めるために、前記現在タイムステップの類似度閾値を調整することで調整後の類似度閾値を決定し、前記調整後の類似度閾値は、前記現在タイムステップの類似度閾値より小さく、かつ前記調整後の類似度閾値は次のタイムステップの類似度閾値として使用される。
例えば、式(7)を利用して類似度閾値を調整する。
各タイムステップ毎に類似度閾値について単調減少の調整を実行することで、外部情報と復号化部の出力結果間の類似度がテキスト処理プロセスにて類似度閾値がより低いレベルまで低減されるため、外部情報と復号化ネットワークの出力結果間の類似度が現在タイムステップの類似度閾値より大きくなる確率が増えるようになる。即ち、外部情報が最終のテキスト処理結果に現れる確率が増えるようになる。
図10で本願の実施例にかかるあるテキスト処理方法の例示的フローチャートを示している。
ステップS1002において、前記ソーステキスト符号化非表示状態を取得するためにソーステキストを符号化する。
ステップS1004において、復号化非表示状態を決定する。
ステップS1006において、前記ソーステキスト符号化非表示状態と前記復号化非表示状態とに基づいて各タイムステップ毎の出力単語を決定し、候補テキストを決定する。
ステップS1008において、外部情報に基づいて前記候補テキストに対して後処理を行い、外部情報を含む出力テキストを決定する。
ステップS1006から出力される結果に外部情報を含まない場合、ステップS1006から出力される結果を候補テキストとし、外部情報に基づいて前記候補テキストに対して後処理を行い、外部情報を含む出力テキストを決定する。
一部の実施例において、外部情報は予め指定された情報を含んでもよい。例えば、外部情報は予め指定された文であってもよく、予め指定された単語を含むソーステキストにおける文であってもよい。
前記予め指定された外部情報が文である場合、前記候補テキストにおける文と前記外部情報の類似度を決定してもよい。前記類似度が所定の候補類似度閾値より大きい場合、前記候補テキストにおける前記文を前記外部情報に置き換えてもよい。
事前決定される外部情報が単語である場合、前記候補テキストにおける文と前記外部情報の類似度を決定し、前記類似度が所定の候補類似度閾値より大きい場合、前記候補テキストにおける前記文を前記外部情報に置き換えてもよい。
一部の実装形態において、前記類似度が所定の候補類似度閾値より大きい場合、前記候補テキストにおける前記文を削除し、外部情報としての文又は、外部情報としての単語を含む文で削除された候補テキストにおける文に置き換えてもよい。
一部の例において、ソーステキストにおける外部情報と候補テキストにおける余剰情報のソーステキストにおける相関性に基づいて前記残りの情報に外部情報を挿入する。例えば、外部情報と候補テキストにおける余剰情報がソーステキストに現れる順番に基づいて外部情報を候補テキストの余剰情報に挿入する。
他の一部の実施方法において、前記類似度が所定の候補類似度閾値より小さい場合、前記外部情報と前記候補テキストにおける文の前記ソーステキストにおける相関性に基づいて、前記候補テキストに外部情報を挿入する。
前記外部情報と前記候補テキストにおける各文の間の類似度を比較してもよい。前記外部情報と前記候補テキストにおける各文の類似度とも所定の候補類似度閾値より小さい場合、生成したテキスト処理結果に外部情報に類似する情報が含まれてないことを意味する。この場合、外部情報と候補テキストについて直接つづり合いを行い、最終のテキスト処理結果を決定してもよい。
例えば、外部情報と候補テキストにおける文がソーステキストに現れる順番に従って、外部情報を候補テキストに挿入することで、最終のテキスト処理結果を決定してもよい。
本願にかかる上記テキスト処理方法を利用して、効果的にテキスト処理結果に外部情報の内容を追加することができ、テキスト処理結果に期待する外部情報の内容を追加することが保証できる。
本願にかかるテキスト処理方法を利用して、テキストの生成プロセスにおいて、外部情報を利用して現在タイムステップのアテンション分布を決定すること及び/又は、外部情報に基づいて現在タイムステップの出力単語を決定することで、テキスト処理のプロセスにおいて外部情報の内容を有効に考慮でき、テキスト生成のプロセスにおいて外部情報を生成する確率を高め、外部情報を考慮する場合にテキストを生成する效果を改善することができる。
また、本願の実施例にかかる方法又は装置は、図11に示す計算デバイスの構造によって実装されてもよい。図11で当該計算デバイスの構造を示している。図11に示すように、計算デバイス1100はバス1110、1つ又は少なくとも2つのCPU1120、読み取り専用メモリ(ROM)1130、ランダムアクセスメモリ(RAM)1140、ネットワークに接続された通信ポート1150、入力/出力部品1160、ハードディスク1170等を含んでもよい。計算デバイス1100におけるメモリデバイス、例えばROM1130又はハードディスク1170は本願によって提供されるビデオにおいて目標を検出ための方法の処理及び/又は通信で使用する各種データ又はファイル及びCPUの実行するプログラミングコマンドを記録してもよい。計算デバイス1100はユーザインタフェース1180を含んでもよい。当然のことながら、図11に示す構造は例示的なものであって、異なるデバイスを実装する場合、実際のニーズに応じて図11に示す計算デバイスにおける1つ以上の部品を省略してもよい。
本願の実施例は、さらにコンピュータ読み取り可能な記録媒体によって実装されてもよい。本願の実施例のコンピュータ読み取り可能な記録媒体にコンピュータ読み取り可能なコマンドが記録されている。前記コンピュータ読み取り可能なコマンドはプロセッサによって実行される場合、上記図面で説明している本願の実施例の方法を参照して実行してよい。前記コンピュータ読み取り可能な記録媒体は例えば揮発性メモリ及び/又は非揮発性メモリを含んでもよいがこれに限られない。前記揮発性メモリは例えばランダムアクセスメモリ(RAM)及び/又はキャッシュ(cache)等を含んでもよい。前記非発揮性メモリは例えば読み取り専用メモリ(ROM)、ハードディスク、フラッシュメモリ等を含んでもよい。
当業者が理解できるように、本願に記載される内容は各種の変形及び改善ができる。例えば、上記で説明した各種デバイス又は部品はハードウェアによって実装されてもよく、ソフトウェア、ファームウェア、又はそれらのうち、一部又は全部の組み合わせで実装されもよい。
また、本願及び特許請求の範囲に示すように、文脈で例外のケースが明確に示される場合以外、「一」、「一個」、「一種」及び/又は「当該」等単語は単数形を指すわけではなく、複数形を含んでもよい。一般的には、「含む」や「含まれる」は、単に既に明確に符合をつけたステップ及び要素を含むことを示すだけで、これらのステップ及び要素は、網羅的なものではなく、方法又はデバイスは、他のステップ又は要素を含む可能性もある。
また、本願では、本願の実施例にかかるシステムにおける一部のユニットに対して各種の援用をしているが、任意の数の異なるユニットは、ユーザ側及び/又はサーバ側に使用され、実行されうる。前記ユニットは説明的なものであって、前記システムと方法の異なる態様は異なるユニットを使用してもよい。
なお、本願では、フローチャートで本願の実施例にかかるシステムが実行する動作について説明している。なお、前の、又は後の動作は順番で実行されなくてもよい。逆に、逆の順序で、又は同時に各ステップを処理してもよい。それとともに、ほかの動作をこれらのプロセスに追加してもよく、又はこれらのプロセスから、あるステップ又は複数のステップを省略してもよい。
特に定義されない限り、ここで使用される全ての用語(技術及び科学的用語を含む)は、当業者が一般的に理解する意味と同じ意味を有している。なお、特に定義されない限り、例えば、通常辞書によって定義される用語は、それらの関連技術の文脈での意味と一致する意味を有し、理想化又は形式上の意味で解釈するものではない。
以上は本発明についての説明であり、本発明を制限するものではない。本発明の複数の例示的な実施例について説明したが、本発明の斬新の教示及び利点から背離しない限り、上記例示的な実施例に対して各種の修正を行ってもよいことは、当業者が理解しうる。したがって、これらの修正意図は請求項で限定する本発明の範囲に含まれるものである。なお、上記は本発明についての説明であり、開示された特定の実施例に限られるものではなく、開示された実施例及び他の実施例に対する修正意図も添付の特許請求の範囲に含まれる。本発明は特許請求の範囲及びその均等物に限定されるものである。